Document Rendering Tile Segmentation for Parallel Processing Bottlenecks
Solution Overview
Problem
Printing systems face performance issues due to the need to process large amounts of pixel data, particularly when dealing with complex pages and large image data, which can lead to bottlenecks in processing and rendering, especially in parallel processing environments where some parts of the pipeline are difficult to parallelize.
Innovation Solution
The method involves forming an intermediate graphical representation of a document in a page description language into subdivided tiles, identifying and marking tiles for rendering based on image metadata, and prioritizing rendering tasks to overcome processing bottlenecks by allowing parallel processing of tiles that do not require image data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the printing system processes all image data before rendering, then the rendering accuracy is ensured, but the processing time increases significantly
Solution Approach 1:
The patent divides the page into multiple tiles and further segments the image processing into individual image tasks that can be processed independently. This allows the rendering system to process tiles that do not depend on image data while image processing is ongoing for other tiles, thereby reducing overall processing time while maintaining rendering accuracy through proper dependency tracking.
Solution Approach 2:
The patent performs preliminary actions by processing tiles that do not require image data as soon as possible, before image processing completes. The system also pre-processes image metadata to determine dependencies beforehand, enabling optimal scheduling of rendering tasks based on which tiles can be rendered immediately versus which require waiting for image data processing.
2Productivity
If the printing system uses parallel processing, then the processing speed increases, but the system complexity increases
Solution Approach 1:
The patent segments the rendering pipeline into independent tile processing units that can be executed in parallel. Each tile is processed independently once its dependencies are satisfied, allowing the system to scale productivity by adding more parallel processing units without proportionally increasing overall system complexity.
Solution Approach 2:
The patent introduces an intermediary dependency tracking mechanism that manages the complexity of parallel processing by tracking which tiles depend on which image data. This intermediary layer abstracts the complexity of coordination between parallel tasks, allowing the system to achieve high productivity while keeping the control logic manageable through structured dependency management.
3Manufacturing precision
If the printing system processes large image data, then the image quality is maintained, but the processing throughput decreases
Solution Approach 1:
The patent segments large image data processing into individual image tasks that can be handled independently and in parallel. By dividing the workload into smaller, manageable image processing units that can proceed concurrently, the system maintains image quality through proper processing of each segment while improving overall throughput by processing multiple segments simultaneously.
Solution Approach 2:
The patent performs preliminary processing of image metadata and dependency analysis before actual image data processing begins. This allows the system to optimize the processing sequence and identify which tiles can be rendered without waiting for large image data, thereby maintaining image quality for critical tiles while improving throughput by parallel processing of independent tiles.
Data Source
AI summary
A method of rendering a document described in a page description language, is disclosed. The document comprising a plurality of images is received. An intermediate graphical representation of the document is formed based on image metadata for the images, the intermediate graphical representation being subdivided into a plurality of tiles. Image data of one of the images is received to render the intermediate graphical representation. A tile of the intermediate graphical representation touched by the received image is identified, in response to receiving the image data. The identified tile is marked for rendering based on a number of the received images for the identified tile compared to a determined number of images contributing to the identified tile, the number of images contributing to the tile being determined using image metadata of the images. The document is rendered using the marked tile.


