Adaptive transform coding using variable block size
First Claim
Patent Images
1. A method for processing a signal corresponding to a still image so that said still image can be transmitted to a remote location via a channel, said method comprising the steps ofproviding a signal comprising a two-dimensional array of pixels which is representative of a still image,dividing said signal into blocks of pixels of size M×
- M, each of said M×
M blocks of pixels having a content,splitting each of said M×
M blocks to produce a hierarchy of sub-blocks including the levels designated i-0,1,2, . . . ,K-1, so that at each level of the hierarchy, there are 4i sub-blocks of size M/2i ×
M/2i, i=0,1, . . . ,K-1, where K is an integer,starting with the K-1 level in said hierarchy and proceeding to successive levels in said hierarchy, merging adjacent of said sub-blocks when the differences in the mean pixel value of said sub-blocks is below a predetermined threshold,applying an orthogonal transform individually to each of said sub-blocks comprising said M×
M blocks of pixels to form transform coefficients for each of said sub-blocks,utilizing an encoder to convert the transform coefficients for each sub-block into a signal in the form of a stream of bits, andtransmitting said signal in the form of a stream of bits for each of said sub-blocks via a channel to a receiver at a remote location.
9 Assignments
0 Petitions
Accused Products
Abstract
An adaptive transform coding algorithm for a still image utilizes a quadtree based variable block size discrete cosine transform to achieve a better tradeoff between bit rate and image quality. The choice of appropriate block size is made according to a mean based decision rule which can discriminate various image contents for better visual quality.
-
Citations
16 Claims
-
1. A method for processing a signal corresponding to a still image so that said still image can be transmitted to a remote location via a channel, said method comprising the steps of
providing a signal comprising a two-dimensional array of pixels which is representative of a still image, dividing said signal into blocks of pixels of size M× - M, each of said M×
M blocks of pixels having a content,splitting each of said M×
M blocks to produce a hierarchy of sub-blocks including the levels designated i-0,1,2, . . . ,K-1, so that at each level of the hierarchy, there are 4i sub-blocks of size M/2i ×
M/2i, i=0,1, . . . ,K-1, where K is an integer,starting with the K-1 level in said hierarchy and proceeding to successive levels in said hierarchy, merging adjacent of said sub-blocks when the differences in the mean pixel value of said sub-blocks is below a predetermined threshold, applying an orthogonal transform individually to each of said sub-blocks comprising said M×
M blocks of pixels to form transform coefficients for each of said sub-blocks,utilizing an encoder to convert the transform coefficients for each sub-block into a signal in the form of a stream of bits, and transmitting said signal in the form of a stream of bits for each of said sub-blocks via a channel to a receiver at a remote location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- M, each of said M×
-
9. A method for processing a signal corresponding to a still image so that said still image can be transmitted to a remote location via a channel, said method comprising the steps of
providing a signal comprising a two-dimensional array of pixels which is representative of a still image, dividing said signal into blocks of pixels of size M× - M, each of said M×
M blocks of pixels having a content,depending on the content of each of said M×
M blocks of pixels, selectively decomposing each of said M×
M blocks of pixels into one or more sub-blocks of pixels, each of said sub-blocks being of a size given by M/2i ×
M/2i, where i=0,1,2, . . . ,K-1 and where K is an integer,said decomposing step comprising splitting each of said M×
M blocks to produce a hierarchy of sub-blocks including the levels designated i=0,1, . . . K-1, so that at each level of the hierarchy, there are 4i sub-blocks of size M/2i ×
M/2i, i=0,1, . . . K-1, andstarting at the level of K-1 in said hierarchy and proceeding to successive levels in said hierarchy, testing each set of four childless brother/sister sub-blocks and merging each set of four childless brother/sister sub-blocks in which the difference of mean pixel value of any two sub-blocks is smaller than a predetermined value until a level in the hierarchy is reached wherein there are no sets of childless brother/sister sub-blocks to be tested, applying an orthogonal transform individually to each of said sub-blocks comprising said M×
M blocks of pixels to form transform coefficients for each of said sub-blocks,utilizing an encoder to convert the transform coefficients for each sub-block into a signal in the form of a stream of bits, and transmitting said signal in the form of a stream of bits for each of said sub-blocks via a channel to a receiver at a remote location.
- M, each of said M×
-
10. A method for processing a signal corresponding to a still image so that said still image can be transmitted to a remote location via a channel, said method comprising the steps of
providing a signal comprising a two-dimensional array of pixels which is representative of a still image, dividing said signal into blocks of pixels of size M× - M, each of said M×
M blocks of pixels having a content,depending on the content of each of said M×
M blocks of pixels, selectively decomposing each of said M×
M blocks of pixels into one or more sub-blocks of pixels, each of said sub-blocks being of a size given by M/2i ×
M/2i, where i=0,1,2, . . . , K-1 and where K is an integer,said decomposing step comprising splitting each of said M×
M blocks to produce a hierarchy of sub-blocks including the levels designated i=0,1, . . . K-1, so that at each level of the hierarchy, there are 4i sub-blocks of size M/2i ×
M/2i, i=0,1, . . . K-1, andstarting at the level of K-1 in said hierarchy and proceeding to successive levels in said hierarchy, testing each set of four childless brother/sister sub-blocks and merging each set of four childless brother/sister sub-blocks in which the difference of mean pixel value of any two sub-blocks is smaller than a predetermined value, chosen individually for each level in said hierarchy, until a level in the hierarchy is reached wherein there are no sets of childless brother/sister sub-blocks to be tested, applying an orthogonal transform individually to each of said sub-blocks comprising said M×
M blocks of pixels to form transform coefficients for each of said sub-blocks,utilizing an encoder to convert the transform coefficients for each sub-block into a signal in the form of a stream of bits, and transmitting said signal in the form of a stream of bits for each of said sub-blocks via a channel to a receiver at a remote location.
- M, each of said M×
-
11. A method for processing a signal corresponding to a still image comprising the steps of
providing a signal comprising a two dimensional array of pixels which is representative of a still image, dividing said signal comprising said two-dimensional array of pixels into blocks of pixels of varying sizes such that smooth areas of said image are smaller sized blocks and busy areas of said image are larger sized blocks, said dividing step comprises dividing said image into M× - M blocks of pixels,
splitting said M×
M blocks to produce a hierarchy of sub-blocks including the levels designated 1=0,1, . . . K-1, where K is an integer, so that at each level of the hierarchy there are 4i sub-blocks of size M/2i ×
M/2i, andstarting with the K-1 in the hierarchy and proceeding to successive levels in the hierarchy, testing each set of four childless brother/sister sub-blocks and merging each set of four childless brother/sister sub-blocks and merging each set of four childless brother/sister sub-blocks in which the difference of mean pixel value of any two sub-blocks is smaller than a predetermined value until a level in the hierarchy is reached in which there are no sets of four childless brother/sister sub-blocks to be tested, applying the orthogonal transform to each of said blocks of pixels to form a two-dimensional array of transform coefficients for each of said blocks of pixels, compressing the transform coefficients obtained for each block of pixels to form a two-dimensional array of compressed transform coefficients for each of said blocks of pixels, scanning the two-dimensional array of compressed transform coefficients to form a signal comprising a one-dimensional sequence of transform coefficients for each block of pixels, utilizing an encoder to encode the signal comprising a one-dimensional sequence of transform coefficients for each block to form a bit stream representative of a still image, and transmitting said bit stream via a channel to a receiver at a remote location.
- M blocks of pixels,
-
12. A method for processing a signal corresponding to a still image comprising the steps of
providing a signal comprising a two dimensional array of pixels which is representative of a still image, dividing said signal comprising said two-dimensional array of pixels into blocks of pixels of varying sizes such that smooth areas of said image are smaller sized blocks and busy areas of said image are larger sized blocks, said dividing step comprising dividing said image into M× - M blocks of pixels,
splitting said M×
M blocks to produce a hierarchy of sub-blocks including the levels designated 1=0,1, . . . K-1, where K is an integer, so that at each level of the hierarchy there are 4i sub-blocks of size M/2i ×
M/2i, andstarting with the K-1 in the hierarchy and proceeding to successive levels in the hierarchy, testing each set of four childless brother/sister sub-blocks and merging each set of four childless brother/sister sub-blocks and merging each set of four childless brother/sister sub-blocks in which the difference of mean pixel value of any two sub-blocks is smaller than a predetermined value, determined individually for each level in the hierarchy, until a level in the hierarchy is reached in which there are no sets of four childless brother/sister sub-blocks to be tested, applying the orthogonal transform to each of said blocks of pixels to form a two-dimensional array of transform coefficients for each of said blocks of pixels, compressing the transform coefficients obtained for each block of pixels to form a two-dimensional array of compressed transform coefficients for each of said blocks of pixels, scanning the two-dimensional array of compressed transform coefficients to form a signal comprising a one-dimensional sequence of transform coefficients for each block of pixels, utilizing an encoder to encode the signal comprising a one-dimensional sequence of transform coefficients for each block to form a bit stream representative of a still image, and transmitting said bit stream via a channel to a receiver at a remote location.
- M blocks of pixels,
-
13. A method for processing a signal corresponding to a still image comprising the steps of
providing a signal comprising of two dimensional array of pixels which is representative of a still image, dividing said signal comprising said two-dimensional array of pixels into blocks of pixels of varying sizes such that the size of said blocks is determined by finding boundaries where the abutting edges of said varying sized blocks are high contrast edges, applying the orthogonal transform to each of said blocks of pixels to form a two-dimensional array of transform coefficients for each of said blocks of pixels, compressing the transform coefficients obtained for each block of pixels to form a two-dimensional array of compressed transform coefficients for each block of pixels, scanning the two-dimensional array of compressed transform coefficients to form a signal comprising one-dimensional sequence of transform coefficients for each block of pixels, utilizing an encoder to encode the signal comprising a one-dimensional sequence of transform coefficients for each block to form a bit stream representative of a still image, and transmitting said bit stream via a channel to a receiver at a remote location.
-
14. A method for processing a signal comprising the steps of
providing a signal comprising a two-dimensional array of pixels which is representative of a still image, dividing said signal comprising a two-dimensional array of pixels into blocks of pixels of size M× - M, each of said M×
M blocks of pixels having a content,selectively decomposing each of said M×
M blocks into one or more sub-blocks,comparing adjacent sub-blocks and merging said adjacent sub-blocks when the edges of said adjacent sub-blocks are not in high-contrast, applying the discrete cosine transform to each of said sub-blocks to form transform coefficients, compressing the transform coefficients formed for each of said sub-blocks to form compressed transform coefficients, utilizing an encoder to form a bit stream corresponding to the compressed transform coefficients, and passing the bit stream to a channel coder for transmission via a channel to a receiver at a remote location. - View Dependent Claims (15)
- M, each of said M×
-
16. A method for processing a signal comprising the steps of
providing a signal comprising a two-dimensional array of pixels which is representative of a still image, dividing said signal comprising a two-dimensional array of pixels into blocks of pixels of size M× - M, each of said M×
M blocks of pixels having a content,decomposing each of said M×
M blocks into one or more sub-blocks,comparing adjacent sub-blocks and merging said adjacent sub-blocks when the edges of said adjacent sub-blocks are not in high contrast, applying an orthogonal transform to each of said sub-blocks to form transform coefficients, compressing the transform coefficients formed for each of said sub-blocks to form compressed transform coefficients, utilizing an encoder to form a bit stream corresponding to the compressed transform coefficients, and storing the bit stream in a memory.
- M, each of said M×
Specification