Pixel Sequential Renderer Edge Sorting for Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional pixel sequential rasterizers are inefficient in rendering graphical objects on a page due to sequential processing, which limits their ability to handle the state of objects on the page effectively, requiring significant storage and maintenance of data for parallel processing opportunities.
Innovation Solution
The method involves tracking edges of graphical objects and sorting them into multiple streams based on X-axis position, with separate activation information tables for each stream, allowing for parallel processing and synchronization of activation states to maintain correct rendering order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential processing is used in conventional pixel sequential rasterizers, then the system is simple to implement, but rendering efficiency is poor and productivity is low
Solution Approach 1:
The patent divides the scanline into multiple swathes (first swathe, second swathe, etc.) and processes each swathe independently using separate activation information tables. This segmentation enables parallel processing of different portions of the same scanline, significantly improving rendering efficiency while maintaining manageable system complexity through modular organization.
Solution Approach 2:
The patent introduces a new dimension of parallelism by creating multiple activation information tables (first activation information table, second activation information table) that can be accessed simultaneously. This multi-table approach allows parallel processing operations without requiring complex interdependencies, resolving the contradiction between productivity improvement and system complexity.
2Productivity
If parallel processing is implemented without proper synchronization, then productivity improves, but rendering accuracy and reliability deteriorate due to incorrect object state
Solution Approach 1:
The patent pre-organizes edges into multiple sorted lists (first sorted list, second sorted list) corresponding to different swathes before processing. This preliminary organization ensures that when parallel processing occurs, each processor has access to pre-sorted data in the correct order, eliminating the need for complex synchronization while maintaining rendering accuracy.
Solution Approach 2:
The patent uses activation information tables as intermediary structures that mediate between edge data and rendering operations. These tables store object state information that can be independently accessed by multiple processors, ensuring that parallel operations maintain correct object states without requiring direct communication or synchronization between processors.
3Productivity
If extensive data is stored for parallel processing opportunities, then productivity improves, but storage requirements and device complexity increase
Solution Approach 1:
The patent extracts only the essential information needed for parallel processing into separate activation information tables. Instead of storing complete object data structures, it stores specifically the activation state and edge position information required for parallel swathe processing, reducing overall storage requirements while enabling parallel operations.
Solution Approach 2:
The patent creates specialized data structures (first activation information table, second activation information table) with specific properties optimized for their respective swathes. Each table contains only the data relevant to its associated swathe, avoiding redundant storage and reducing total memory requirements while maintaining parallel processing capability.
Data Source
AI summary
A method of rendering a graphical object on a page in a pixel sequential renderer (1100) processing a page having a plurality of scanlines, is disclosed. Each of the scanlines is divided into at least a first swathe and a second swathe. The method tracks a plurality of edges of the graphical object and sorts a first portion of the tracked edges on a first swathe of one or the plurality of scanlines using a first sorter to control first activation information. A second portion of the tracked edges on a second swathe of said one of the plurality of scanlines is sorted using a second sorter to control second activation information and the second activation information is synchronized with the first activation information. The graphical object is rendered on the page in the pixel sequential renderer (1100) using the first and the synchronized second activation information.


