Scan-based Edge Conversion for Vector-to-Raster Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for transforming vector graphics into raster images require significant memory and often result in quality degradation due to the need for lossy compression, especially when dealing with high-resolution outputs, leading to undesirable visual artifacts.
Innovation Solution
The Scan-based Edge Conversion (SBEC) method converts vector input edges into non-overlapping pixel-aligned output edges, optimizing memory usage and reducing the need for compression by processing edges in a way that allows for efficient rendering without intermediate pixel runs, thereby maintaining image quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the page is rendered to pixels at the output device resolution, then the image quality is maintained, but the memory requirements increase significantly
Solution Approach 1:
The patent segments the rendering process into two distinct phases: an edge extraction phase that operates at vector resolution to identify boundary edges, and a subsequent rendering phase that operates at pixel resolution only where needed. This segmentation allows the system to maintain image quality by preserving vector edge information while reducing memory requirements by not converting the entire page to pixels at high resolution simultaneously.
Solution Approach 2:
The patent performs preliminary edge extraction and identification before the final rendering process. By pre-identifying which edges are boundaries and which are internal to filled regions, the system can optimize the subsequent pixel conversion process to only process necessary areas at full resolution, thereby reducing overall memory requirements while maintaining quality.
2Quantity of substance
If a lossy image compression algorithm such as JPEG is applied to reduce memory requirements, then the memory usage decreases, but the quality of the rendered output degrades
Solution Approach 1:
The patent extracts and preserves critical edge information in vector format separately from the filled regions. By taking out the boundary edges and maintaining them as precise vector data rather than converting them to compressed pixel data, the system avoids the quality degradation associated with lossy compression while still achieving memory reduction through selective processing.
Solution Approach 2:
The patent applies different data representations to different regions: vector edge representation for boundaries requiring precision, and pixel representation for filled regions where compression is acceptable. This local quality approach ensures that areas requiring high fidelity (edges) maintain quality while other areas can use compressed formats, optimizing the balance between memory usage and output quality.
3Manufacturing precision
If the output image resolution is doubled, then the image quality is improved, but the amount of memory required to store pixel data increases by a factor of four
Solution Approach 1:
The patent segments the image data into vector edge definitions and pixel fill regions. When resolution needs to be doubled, only the pixel fill regions require quadrupled memory, while the vector edge definitions remain compact regardless of resolution. This segmentation reduces the overall memory impact of resolution increases compared to storing complete high-resolution pixel data for the entire image.
Solution Approach 2:
The patent employs a dynamic rendering approach where vector edges are converted to pixels only at the required output resolution during the final rendering phase. This allows the system to adapt to different resolution requirements without permanently storing multiple resolution versions, dynamically allocating memory only when and where high-resolution pixel data is needed.
Data Source
AI summary
Disclosed is a process (1500) for converting an image, comprising a set of vector input edges, to a set of corresponding pixel-aligned non-overlapping output edges. The process (1500) traverses (1502) a first scanline to detect the intersection of a first active vector input edge with the first scanline. The process then identifies (1503) a fill compositing sequence referenced by the detected first input edge, and then creates (1504) a first pixel aligned output edge associated with the first input edge. The process then traverses (1505) a second scanline to detect the intersection of a second active vector input edge with the second scanline, after it determines (1506) whether the detected second input edge can be associated with the first output edge on the first scanline. If so then the process extends (1507) extends the first output edge from the first scanline to a pixel boundary in the vicinity of the intersection of the second input edge with the second scanline.


