Quadtree-structured coding of color images and intra-coded images
First Claim
1. A method for encoding an image formed by an array of pixels, wherein for each pixel, a combination including a first component and a second component indicates a color for the pixel, the method comprising:
- determining a first quadtree structure for a first array which contains the first components of pixels in the image;
generating first code vectors, each first code vector indicating first components within a block in a partition of the first array associated with the first quadtree structure;
partitioning a second array which contains the second components into a second partition associated with the first quadtree structure;
merging blocks of the second partition to determine a third partition, the third partition being associated with a second quadtree structure that is a sub-tree of the first quadtree structure and is formed by removing branches from the first quadtree structure; and
generating second code vectors, each second code vector indicating the second components within a block in the third partition.
1 Assignment
0 Petitions
Accused Products
Abstract
An encoding process is configurable to trade calculational complexity for bit rate while maintaining code format and image quality. A software encoder which implements the encoding process monitors bandwidth and processor utilization and when either is overtaxed, adjusts complexity to compensate. If further adjustment is required, encoded image quality is changed. Changing the search process or search window size used during searches for predictive blocks or changing a threshold which is compared to inter-code length before determining whether to calculate an intra-code changes complexity. An intra-coding method subtracts a base which depends on codes representing neighboring blocks from coefficients for a current block to determine a difference which is often small and easily compressed. Additionally, restricting a quadtree structure for one color component to a sub-tree of a quadtree structure for another other color component improves compression efficiency and reduces coding complexity.
124 Citations
13 Claims
-
1. A method for encoding an image formed by an array of pixels, wherein for each pixel, a combination including a first component and a second component indicates a color for the pixel, the method comprising:
-
determining a first quadtree structure for a first array which contains the first components of pixels in the image; generating first code vectors, each first code vector indicating first components within a block in a partition of the first array associated with the first quadtree structure; partitioning a second array which contains the second components into a second partition associated with the first quadtree structure; merging blocks of the second partition to determine a third partition, the third partition being associated with a second quadtree structure that is a sub-tree of the first quadtree structure and is formed by removing branches from the first quadtree structure; and generating second code vectors, each second code vector indicating the second components within a block in the third partition. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for intra-coding an image, comprising:
-
partitioning the image into root blocks; forming a quadtree partition of each root block, each quadtree partition including blocks of different sizes, wherein forming the quadtree partition of each root block, comprises; determining a first quadtree partition for a first array representing the root block, wherein the first array contains first color components of pixels in the root block, the first quadtree partition being associated with a first quadtree structure; partitioning a second array into a second partition associated with the first quadtree structure, wherein the second array contains second color components of pixels in the root block; and merging blocks of the second partition to determine a third partition, the third partition being associated with a second quadtree structure that is a sub-tree of the first quadtree structure and is formed by removing branches from the first quadtree structure; and encoding the blocks, wherein for each block in each quadtree partition, encoding comprises; determining a vector indicating image content within the block; selecting a base vector for the block, wherein if the block is encoded after at least one other block in the quadtree partition, the base vector depends upon vectors for one or more previously encoded blocks in the quadtree partition; determining a difference between the vector and the base vector; and encoding the difference.
-
-
9. A method for encoding an image, the method comprising:
-
applying a first merging procedure to a uniform partition of a first array to determine a first quadtree structure, wherein the first array contains first color components of pixels in the image; partitioning a second array into a first partition associated with the first quadtree structure, wherein the second array contains second color components of the pixels in the image; applying a second merging procedure to blocks that are in the first partition of the second array to determine a second partition of the second array, the second partition being associated with a second quadtree structure that is a sub-tree of the first quadtree structure and results from removing branches from the first quadtree structure; and generating a code that indicates; the second quadtree structure; second color components for each block in the second partition of the second array; the branches removed from the first quadtree structure to provide the second quadtree structure; and first color components for each block in a partition associated with the first quadtree structure. - View Dependent Claims (10, 11, 12, 13)
-
Specification