EP1639828A1 - Verfaren zur umkodierung eines jpeg2000 komprimiertes bild - Google Patents
Verfaren zur umkodierung eines jpeg2000 komprimiertes bildInfo
- Publication number
- EP1639828A1 EP1639828A1 EP04777399A EP04777399A EP1639828A1 EP 1639828 A1 EP1639828 A1 EP 1639828A1 EP 04777399 A EP04777399 A EP 04777399A EP 04777399 A EP04777399 A EP 04777399A EP 1639828 A1 EP1639828 A1 EP 1639828A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- bit
- codeblock
- rate
- stream
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Definitions
- the JPEG2000 standard is based on the EBCOT algorithm as described by Taubman (David Taubman, "High performance scalable compression with EBCOT," IEEE Transactions on Image Processing, 9(7), pp. 1158-1170, July 2000).
- the JPEG2000 standard represents a paradigm shift from the old JPEG standard. With the explosion of devices such as PDAs and cellphones, it is anticipated that a high-resolution JPEG2000 compressed image stored at an image server may be accessed by a variety of clients with differing needs for resolution and image quality.
- JPEG2000 standard One of the key properties of the JPEG2000 standard is that it is possible to parse a JPEG2000 bit-stream to extract a lower resolution and/or quality image without having to perform dequantization and requantization. In some cases, even arithmetic decoding may not be required.
- Transcoding refers to converting a JPEG2000 compressed image to another JPEG2000 compressed image, typically at a lower bit-rate and/or resolution.
- the commercially available "Kakadu software” developed by David Taubman and published at Internet: URL: http://www.kakadusoftware.com, provides rudimentary transcoding capability.
- the JPEG2000 bit-stream can be configured to have multiple quality layers, where each additional layer improves the quality of the compressed image.
- the invention resides in a method for transcoding a JPEG2000 compressed image comprised of a collection of sub-bands encoded in one or more coding passes into a compressed bit-stream of quantized sub-band coefficients partitioned into codeblocks of each sub-band and aggregated into layers.
- the method comprises the steps of: (a) parsing a JPEG2000 compressed image to extract header information and packets; (b) calculating the number of bytes associated with each layer at a desired resolution to produce a layer byte-count table; (c) estimating the number of layers of the JPEG2000 compressed image that should be decoded up to the desired resolution for transcoding to a desired bit-rate; (d) extracting packets belonging to resolutions up to the desired resolution from the layers to be decoded as determined in step (c), and extracting compressed data corresponding to each codeblock that contributed to the packets; (e) concatenating the compressed data corresponding to each codeblock, extracted in step (d), to produce a compressed codeblock bit-stream for each codeblock; (f) arithmetically decoding the compressed codeblock bit- stream corresponding to each codeblock to produce a quantizer index for each subband coefficient and a coding pass length table, which contains an estimate of the length of the compressed data corresponding to each decoded coding pass; (
- a rate-control function uses the desired bit-rate from step (c) and the coding pass length tables produced in step (f) to produce coding pass inclusion information, which represents the coding passes that should be included in the transcoded bit-stream, for each codeblock. Then, a transcoded JPEG2000 bit-stream is produced from the compressed codeblock bit-streams produced in step (e), header information extracted in step (a) and the coding pass inclusion information produced above.
- the decision whether to include a coding pass in the transcoded bit-stream is independent of distortion, and therefore it is unnecessary to produce an operational rate-distortion table.
- the present invention provides a method for transcoding a JPEG2000 compressed image to a lower bit-rate or lower resolution or both.
- the advantage of this method is that it is not necessary to decompress the initial JPEG2000 image and then recompress it to a lower bit-rate and/or resolution. It is necessary to perform arithmetic decoding only to the nearest higher bit-rate layer, up to the desired resolution, before performing rate-distortion optimization to produce a transcoded image.
- Another advantage of the present invention is that the quality of the transcoded image is very close to the quality of the image obtained by direct JPEG200 compression to the lower bit-rate and/or resolution.
- FIG. 1 shows a simplified block diagram of a JPEG2000 encoder and decoder.
- FIG. 2 shows a 3 -level 2-D DWT.
- FIG. 3 shows a uniform dead-zone quantizer with a step-size of ⁇ .
- FIG. 4 shows a precinct partition for a 3 -level decomposition of a 768 x 512 image.
- FIG. 5 shows a flow chart of an embodiment of the transcoder.
- FIG. 6 shows an illustrative example of a layer byte-count table.
- FIG. 7 shows an alternative embodiment of the transcoder.
- FIG. 8 shows a flow chart of the rate-control unit. DETAILED DESCRIPTION OF THE INVENTION
- the present invention relates to the compression of a digital image.
- the program may be stored in conventional computer readable storage medium, which may comprise, for example; magnetic storage media such as a magnetic disk (such as a floppy disk or a hard drive) or magnetic tape; optical storage media such as an optical disc, optical tape, or machine readable bar code; solid state electronic storage devices such as random access memory (RAM), or read only memory (ROM); or any other physical device or medium employed to store a computer program.
- magnetic storage media such as a magnetic disk (such as a floppy disk or a hard drive) or magnetic tape
- optical storage media such as an optical disc, optical tape, or machine readable bar code
- solid state electronic storage devices such as random access memory (RAM), or read only memory (ROM); or any other physical device or medium employed to store a computer program.
- FIG. 1 shows a simplified block diagram of a JPEG2000 encoder (10) and decoder (12).
- the discrete wavelet transform (DWT) unit (14) decomposes the input image into subbands.
- JPEG2000 also allows tiling of the image into a number of rectangular tiles. If tiling is used, the DWT is applied independently to each image tile. The resulting subband or wavelet coefficients undergo quantization with a uniform dead-zone quantizer (16). The quantized coefficients are grouped into precincts and codeblocks. Each codeblock is encoded independently by an entropy coder (18) to produce a compressed bit-stream corresponding to that codeblock.
- the packet formation and bit-stream organization unit (20) divides the compressed codeblock bit-stream into layers and aggregates the appropriate layer from different codeblocks into packets. It also decides the order in which the packets should appear in the compressed bit-stream.
- the bit- stream parser unit (22) reads the header information and extracts the packets. It also decodes the packet headers and concatenates all the compressed data corresponding to each codeblock.
- the entropy decoder (24) decodes the compressed data to obtain quantizer indices corresponding to each wavelet coefficient.
- the dequantization unit (26) reconstructs wavelet coefficients from the respective quantizer indices.
- the reconstructed wavelet coefficients undergo inverse DWT in the inverse DWT unit (28) to produce the reconstructed image.
- JPEG2000 uses a two-dimensional (2-D) discrete wavelet transform (DWT) to transform the input image into a collection of subbands.
- DWT discrete wavelet transform
- the subband label /cHL indicates that a horizontal high- pass (H) filter has been applied to the rows, followed by a vertical low-pass (L) filter applied to the columns during the k th level of the DWT decomposition.
- the subband 0LL refers to the original image (or image tile).
- the DWT decomposition provides a natural multi-resolution representation. The lowest resolution at which the image can be reconstructed is referred to as resolution zero.
- the 3LL subband would correspond to resolution zero for a 3 -level decomposition.
- the image can be reconstructed at N_+l resolutions.
- N_+l resolutions For a NHevel DWT decomposition, the image can be reconstructed at N_+l resolutions.
- subbands N ⁇ -r+l)HL, (Nz,-r+l)LH and (N -r+l)HH need to be combined with the image at resolution (r-1). These subbands are referred to as belonging to resolution r. Resolution zero consists of only the N.LL band. If the subbands are encoded independently, the image can be reconstructed at any resolution level by simply decoding those portions of the codestream that contain the subbands corresponding to that resolution and all the lower resolutions. For example, referring to FIG.
- the image can be reconstructed at resolution 2 by combining the resolution 1 image and the three subbands labeled 2HL, 2LH, and 2HH.
- Each wavelet coefficient is quantized with the uniform dead-zone scalar quantizer (16) to produce a sign-magnitude representation of the indices of quantized coefficients.
- the decision thresholds (30) and reconstruction levels (32) for this quantizer are shown in FIG. 3, for a quantizer step-size of ⁇ .
- the JPEG2000 standard mandates the use of a single quantizer step-size for all the coefficients in a given subband. But the step-size can vary from subband to subband. Let the step-size for subband b be A b .
- the dead-zone refers to the quantizer bin centered around zero, which is bigger than other quantizer bins.
- Part 1 of the JPEG2000 standard has adopted a dead-zone equal to twice the step-size due to its optimal embedded structure. Briefly, this means that if a .Mi-bit quantizer index resulting from a step-size of ⁇ is transmitted progressively starting with the most significant bit (MSB) and proceeding to the least significant bit (LSB), the resulting index after decoding only N b bits is identical to that obtained by using a similar quantizer with a step-size of ⁇ & 2 M b 'N
- SNR scalability which in its optimal sense means that the decoder can cease decoding at any truncation point in the codestream and still produce exactly the same image that would have been encoded at the bit-rate corresponding to the truncated codestream.
- the quantized subband coefficients are partitioned into codeblocks.
- a codeblock can be considered to be tiling of wavelet coefficients.
- Quantized wavelet coefficients from each codeblock are independently encoded by the entropy coder (18).
- the MQ arithmetic coder is used as the entropy coder.
- the entropy coder encodes the sign-magnitude representation of the codeblock coefficients as bit-planes.
- the codeblock being processed is from subband b.
- the samples from the codeblock are quantized with a uniform dead-zone scalar quantizer with step-size A b as described above.
- the magnitude of the indices of quantized coefficients in subband b is represented by a fixed precision of M b bits.
- the bits be indexed as 1,2,..., M b , where index 1 corresponds to the most significant bit (MSB) and M b corresponds to the least significant bit (LSB).
- the /c th bit-plane for the codeblock consists of the /c th bit from the magnitude representation of all the indices of quantized coefficients from that codeblock.
- a bit-plane for a codeblock is said to be significant if any of the previous bit-planes were significant or the bit-plane has at least one non-zero bit.
- the MQ coder encodes the most significant bit-plane of a codeblock using a single coding pass, known as the cleanup pass.
- the remaining bit-planes are MQ encoded using 3 coding passes, namely, significance pass, refinement pass, and cleanup pass. If the magnitude representation of quantized codeblock coefficients has M b significant bit-planes, the total number of coding passes necessary to encode all the bit-planes is (3*( /> -1) + 1). JPEG2000 offers significant flexibility in the organization of the compressed bit-stream.
- JPEG2000 also provides an intermediate space-frequency structure known as a precinct.
- a precinct is a collection of spatially contiguous codeblocks from all subbands at a particular resolution level.
- JPEG2000 organizes the compressed data from the codeblocks into units known as packets and layers. For each precinct, the compressed data for the codeblocks in the precinct is first organized into one or more packets.
- a packet is simply a continuous segment in the compressed codestream that consists of a number of bit-plane coding passes for each codeblock in the precinct.
- the number of coding passes can vary from codeblock to codeblock (including zero coding passes).
- Packets from precincts at all resolution levels in a tile are then combined to form layers.
- FIG. 4 shows the precinct partition for a 3 -level decomposition of a 768 x 512 image, where codeblock boundaries (40) identify the code blocks and precinct boundaries (42) identify the precincts.
- the highlighted precincts in resolutions 0-3 correspond roughly to the same 256 x 256 region in the original image.
- the compressed bit-stream for each codeblock is distributed across one or more layers in the compressed bit-stream. All of the codeblocks from all subbands and components of a tile contribute compressed data to each layer. For each codeblock, a number of consecutive coding passes (including zero) is included in a layer. Each layer represents a quality increment. The number of coding passes included in a specific layer can vary from one codeblock to another, and is typically determined by the encoder as a result of post-compression rate- distortion optimization as explained later on.
- the compressed data belonging to a specific tile, component, resolution, layer and precinct is aggregated into a packet. The compressed data in a packet needs to be contiguous in the codestream.
- FIG. 4 shows an example of codeblocks belonging to a precinct.
- the numbering of the codeblocks represents the order in which the coded data from the codeblocks will appear in a packet.
- Each packet starts with a packet header.
- the packet header contains information about the number of coding passes for each codeblock in the packet. It also contains the length of the compressed data for each codeblock.
- the first bit of a packet header indicates whether the packet contains data or is empty. If the packet is non-empty, codeblock inclusion information is signaled for each codeblock in the packet.
- This information indicates whether any compressed data from a codeblock is included in the packet. If codeblock data is being included for the first time, the number of most significant bit-planes that are entirely zero is also signaled. After this, the number of coding passes for the codeblock and the length of the corresponding compressed data are signaled.
- the arithmetic encoding of the bit-planes is referred to as tier-1 coding, whereas the packetization of the compressed data and encoding of the packet header information is known as tier-2 coding.
- the general organization of a JPEG2000 bit-stream is as follows. The JPEG2000 bit-stream consists of a main header followed by a sequence of tile-streams.
- the main header consists of global information necessary for decompression of the entire bit-stream, such as, the image size, tile size, information about the number of components, decomposition levels, layers, quantizer step-sizes, etc.
- Each tile-stream contains a tile header and packets belonging to that tile.
- each packet consists of packet header and compressed codeblock data.
- Rate-control refers to the process of generating an optimal image for a target file size (bit-rate).
- the criterion for optimality can be based on mean squared error (MSE) between the original and the reconstructed image, visual distortion, or any other metric.
- MSE mean squared error
- the embedded block coding scheme of the JPEG2000 and its flexible codestream syntax allow for the generation of a rate- distortion (R-D) optimized codestream for a given file size.
- R-D rate- distortion
- each subband is first quantized using a very fine step-size, and the bit-planes of the resulting codeblocks are entropy coded. This typically generates more coding passes for each codeblock than will be eventually included in the final bit-stream. If the quantizer step-size is chosen to be small enough, the R-D performance of the algorithm is independent of the initial choice of the step-size.
- a Lagrangian R-D optimization is performed to determine the number of coding passes from each codeblock that should be included in the final compressed bit-stream to achieve the desired bit-rate. If more than a single layer is desired, this process can be repeated at the end of each layer to determine the additional number of coding passes from each codeblock that need to be included in the next layer.
- the Lagrangian R-D optimization works in the following manner.
- the compressed bit-stream from each codeblock contains a large number of potential truncation points that can occur at the end of each coding pass.
- the wavelet coefficients contained in a codeblock of subband b are initially quantized with a step-size of A b , resulting in an M b - it quantizer index for each coefficient.
- the effective quantizer step-size for the coefficients is A b 2 b ⁇ Nb .
- the inclusion of each additional bit-plane in the compressed bit- stream will decrease the effective quantizer step-size by a factor of two.
- the increase in bit-rate and the reduction in distortion resulting from the inclusion of that coding pass in the bit- stream are calculated and stored in a table known as the operational rate- distortion table.
- the distortion measure selected is usually MSE or visually weighted MSE, although any general distortion measure that is additive across codeblocks can be used.
- [u,v] is a weighting factor for coefficient x . [u,v]; and a b is the L -norm of the synthesis basis functions corresponding to subband b.
- this distortion is additive across codeblocks.
- the size of the associated compressed bit-stream (i.e., the rate) for the codeblock Bi is determined and denoted by R .
- the EBCOT rate-control algorithm finds the truncation point for each codeblock that minimizes the total distortion D. This is equivalent to finding the optimal bit allocation for all of the codeblocks, R . , l ⁇ i ⁇ P, such that:
- this rate-control algorithm is also referred to as post- compression R-D optimization. If the weighting factor W,-[M,V] is set to unity for all subband coefficients, the distortion metric reduces to the mean-squared error.
- Our objective is to transcode an existing JPEG2000 image to another JPEG2000 image at a lower bit-rate and/or resolution. As discussed previously, in order to perform optimal rate-control, knowledge of the operational rate-distortion table for each codeblock is necessary. But the distortion information is lost forever because we no longer have access to the original image. The rate information is available, but it is necessary to decode the packets and perform MQ decoding of the compressed codeblock coding passes. Our invention overcomes these problems.
- FIG. 5 A flow chart of an image transcoder according to the present invention is shown in FIG. 5.
- a JPEG2000 compressed image (101) is parsed by a JPEG2000 bit-stream parsing unit (102).
- the JPEG2000 bit-stream parsing unit (102) extracts header information (103) contained in various JPEG2000 marker segments and separates packets (104) corresponding to different resolutions.
- a resolution-layer byte counter (105) produces a layer byte-count table (108) for a desired resolution (106).
- the layer byte-count table (108) entry corresponding to layer x signifies the cumulative size of packets belonging to layers 0, 1 , ..., x and to resolutions 0, ⁇ ,..., u.
- a desired bit-rate (107) for the transcoded image is input to a layer estimator unit or layer estimation unit (109).
- the desired bit-rate is specified in terms of the size of the transcoded image in bytes.
- the layer estimation unit (109) determines the number of layers that need to be decoded (110) up to the desired resolution to achieve the desired bit-rate (107) by using the layer byte-count table (108).
- FIG. 6 shows an illustrative example of a layer byte-count table for each resolution of a JP ⁇ G2000 compressed image having 4 resolutions and 3 layers. Thus, if the desired resolution is 2 and the desired bit-rate is 16384 bytes, layers 0 and 1 would need to be decoded up to resolution 2. Referring back to FIG.
- a packet decoder decodes the packets corresponding to the layers that are to be decoded as determined by the layer estimation unit, up to the desired resolution.
- the packet decoder also extracts the compressed codeblock bit-stream corresponding to each codeblock that contributed to the packet.
- a concatenation unit (112) concatenates the compressed data for each codeblock to produce a compressed codeblock bit- stream (113) for each codeblock.
- An arithmetic decoder (114) performs arithmetic decoding on each compressed codeblock bit-stream (113) to produce quantized subband coefficient indices (115) and a coding pass length table (116).
- a rate-distortion table estimation unit (117) produces an operational rate- distortion table (118) from the quantized coefficient indices (115) and the coding pass length table (116), which contains an estimate of the length of the compressed data corresponding to each decoded coding pass.
- An R-D optimization unit (119) performs post-compression R-D optimization to produce coding pass inclusion information (120), which represents the coding passes that should be included in the transcoded bit-stream, using the operational rate- distortion table (118), the desired bit-rate (107) and a plurality of desired visual weights (121).
- the post-compression R-D optimization is the same as that performed by a JPEG2000 encoder as described earlier.
- the desired visual weights (121) provide the values for w,-[u .
- a JPEG2000 bit-stream formation unit (122) uses the coding passes inclusion information (120), the compressed codeblock bit- streams (113) and header information (103) to produce a transcoded JPEG2000 bit-stream (123).
- the arithmetic decoder unit (114) produces quantized subband coefficient indices (115). It is not necessary to explicitly reconstruct the subband coefficient, and perform inverse DWT for the purpose of determining the operational rate-distortion table (118). This is because the transcoding process uses the same basic quantizer step-sizes for quantization.
- the operational rate-distortion table (118) for the re-encoded codeblock data directly from the quantized coefficient indices (115) after appending a 1 to the binary representation after the least significant bit that was decoded, for each quantized coefficient.
- the R-D optimization step (119) can be performed multiple times, once for each desired layer.
- each visual weight can be set to 1.
- the desired bit-rate (107), desired resolution (106), and desired visual weights (121) may be specified by a user who uses a graphical user interface and a pointing device, such as a mouse, to interact with the transcoder.
- the transcoder may determine the desired bit-rate, resolution, and visual weights on its own based on some other information.
- the desired bit-rate, resolution, and visual weights may be communicated to the transcoder over a network such as Internet or Ethernet.
- a network such as Internet or Ethernet.
- a client When a client requests a specific image from the server, it may specify a desired rate and a desired resolution using the JPIP protocol (ISO/IEC FCD 15444-9.2: Information technology - JPEG 2000 image coding system - Part 9: Interactivity tools, APIs and protocols,
- the client may also communicate the desired visual weights to the server using the client capability and preference request fields in JPIP such as "vc” or "Contrast Sensitivity (csf)".
- the sever may determine the desired bit-rate, resolution, and visual weights through the knowledge of client capabilities and network conditions. Consider a cellphone equipped with a color display as the client.
- the cellphone may pre-store the desired resolution, visual weights and bit-rate as follows.
- the resolution of the display is pre-stored and communicated to the server using the 'fsiz' field in JPIP.
- the desired bit-rate can be determined and pre-stored based on prior simulations to determine the average filesize needed to achieve good visual quality of a representative set of images at display resolution. This can be communicated to the server using the "len" field in JPIP.
- the visual weights for displaying images at the display resolution can be determined from the display resolution, display dpi, and viewing conditions based on the two-dimensional contrast sensitivity function model of the human visual system proposed by Jones et al (P. W. Jones, S. Daly, R. S. Gaborski, and M.
- Rabbani "Comparative study of wavelet and DCT decomposition with equivalent quantization and encoding strategies for medical images," Proc. SPIE Medical Imaging'95, vol. 2431, pp. 571-582).
- servers and clients as separate entities.
- some network devices may perfomi functions of a client as well as a server.
- several clients may be connected to a single network device, which would convey the client requests to the JPEG2000 server and serve the compressed data that it receives from the JPEG2000 server to the appropriate client.
- the above transcoding method works very well when the the proper visual weights that should be applied at the time of transcoding are known or when no visual weights are to be used.
- JPEG2000 encoder may include 12 coding passes from the first codeblock but only 4 coding passes from the second codeblock in layer 0. This implies that the JPEG2000 encoder assigned a higher visual weight to the first codeblock. But this visual weight can not be recovered by the transcoder.
- FIG. 7 shows another embodiment of the invention that achieves this goal.
- a JPEG2000 compressed image (201) is parsed by a JPEG2000 bit-stream parsing unit (202).
- the JPEG2000 bit-stream parsing unit (202) extracts header information (203) contained in various JPEG2000 marker segments and separates packets (204) corresponding to different resolutions.
- a resolution-layer byte counter (205) produces a layer byte-count table (208) for a desired resolution (206).
- the information' contained in the layer byte-count table (208) is the same as that in the layer byte-count table (108) from the preferred embodiment.
- a desired bit-rate (207) for the transcoded image is input to a layer estimation unit (209).
- the layer estimation unit (209) determines the number of layers that need to be decoded (210) up to the desired resolution to achieve the desired bit-rate (207) by using the layer byte-count table (208).
- a packet decoder (211) decodes the packets corresponding to the layers that are to be decoded as determined by the layer estimation unit, up to the desired resolution.
- the packet decoder also extracts the compressed codeblock bit-stream corresponding to each codeblock that contributed to the packet.
- a concatenation unit (212) concatenates the compressed data for each codeblock to produce a compressed codeblock bit- stream (213) for each codeblock.
- An arithmetic decoder (214) performs arithmetic decoding on each compressed codeblock bit-stream (213) to produce a coding pass length table (215).
- a rate-control unit (216) produces coding pass inclusion information (217) based on the coding pass length table (215) and the desired bit-rate (207).
- a JPEG2000 bit-stream formation unit (218) uses the coding passes inclusion information (217), the compressed codeblock bit-streams (213) and header information (203) to produce a transcoded JPEG2000 bit-stream (219).
- the decision whether to include a coding pass in the transcoded bit-stream is independent of distortion. Hence no operational rate-distortion table is generated. Instead the following principle is used by the rate-control unit. Let the number of layers to be decoded, as determined by the layer estimator unit (209) be w. Then, layers 0,1,...,(w-2) are included in their entirety in the transcoded bit-stream. No coding passes from layers w or higher are included in the transcoded bit-stream, whereas only some coding passes from layer (w-1) are included in the transcoded bit-stream.
- FIG. 8 shows a flow diagram of the rate-control unit (216).
- R (w-2 ) and R( W -i) respectively.
- Rdesired- In the initialization step (301), R m j n and R max are set to R (W - 2) and R( w _i), respectively. Similarly nin and ⁇ x are set to 0 and 1, respectively. Then, in the comparison step (302), (f m - f min ) is compared against a 'threshold'.
- the coding pass inclusion determination step (303) for each codeblock, the number of coding passes from layer (w-1) to be included in the transcoded bit-stream, n ⁇ , is calculated as [N ⁇ ___ xf ___ ⁇ __ ⁇ This information is output as the coding pass inclusion information (217). If
- the rate determination step (305) determines the overall rate R(f), if for each codeblock B, [N, _, x/J coding passes from layer (w-1) are included in the compressed bit-stream. Then, in another comparison step (306), the overall rate R(f) is compared with R des i red - If R(/) is less than or equal to Rdesired, Rmin is set to R(f) and/TM is set to /in another update step (307).
- R max is set to R(f) and/ mx is set to (308), and the flow control returns to step (302).
- the threshold in step (302) was chosen to be 0.01, but those skilled in the art will realize that any other small value may be chosen.
- the coding pass inclusion information generated in this manner may lead to an overall bit-rate that is less than the desired bit-rate. In that case, it is possible to start adding one coding pass from each codeblock up to the point where inclusion of another coding pass would result in the desired bit-rate being exceeded.
- the codeblock order for inclusion of additional coding passes is from lower resolution to higher resolution. Within a resolution, the precincts are traversed in a raster scan.
- the codeblocks are traversed in the order shown in FIG. 4.
- the arithmetic decoding step (214) may not be necessary to produce the coding pass length table (215).
- the MQ encoder is restarted after each coding pass, the information about the size of the compressed data corresponding to each coding pass is available in the packet headers in the JPEG2000 compressed bit-stream. In that case, it is not necessary to perform arithmetic decoding (214) of the coding passes. It is sufficient to read the packet headers to produce the coding pass length table (215).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/611,026 US7200277B2 (en) | 2003-07-01 | 2003-07-01 | Method for transcoding a JPEG2000 compressed image |
US10/881,107 US7382926B2 (en) | 2003-07-01 | 2004-06-30 | Transcoding a JPEG2000 compressed image |
PCT/US2004/021236 WO2005006765A1 (en) | 2003-07-01 | 2004-07-01 | Method for transcoding a jpeg2000 compressed image |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1639828A1 true EP1639828A1 (de) | 2006-03-29 |
Family
ID=34068500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04777399A Withdrawn EP1639828A1 (de) | 2003-07-01 | 2004-07-01 | Verfaren zur umkodierung eines jpeg2000 komprimiertes bild |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1639828A1 (de) |
JP (1) | JP2007527651A (de) |
WO (1) | WO2005006765A1 (de) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7581027B2 (en) * | 2001-06-27 | 2009-08-25 | Ricoh Co., Ltd. | JPEG 2000 for efficent imaging in a client/server environment |
US7110608B2 (en) | 2001-07-02 | 2006-09-19 | Canon Kabushiki Kaisha | Digital image compression |
US10815102B2 (en) | 2017-10-05 | 2020-10-27 | Mark C. Dodd | Moisture proof sleeve block |
-
2004
- 2004-07-01 EP EP04777399A patent/EP1639828A1/de not_active Withdrawn
- 2004-07-01 JP JP2006518774A patent/JP2007527651A/ja active Pending
- 2004-07-01 WO PCT/US2004/021236 patent/WO2005006765A1/en active Application Filing
Non-Patent Citations (1)
Title |
---|
See references of WO2005006765A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2005006765A1 (en) | 2005-01-20 |
JP2007527651A (ja) | 2007-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7382926B2 (en) | Transcoding a JPEG2000 compressed image | |
US10205951B2 (en) | Method of signalling motion information for efficient scalable video compression | |
Rabbani et al. | An overview of the JPEG 2000 still image compression standard | |
Skodras et al. | The JPEG 2000 still image compression standard | |
US6987890B2 (en) | Producing and encoding rate-distortion information allowing optimal transcoding of compressed digital image | |
US20050166245A1 (en) | Method and device for transmitting scalable video bitstream | |
US20050226323A1 (en) | Direction-adaptive scalable motion parameter coding for scalable video coding | |
US20050018911A1 (en) | Foveated video coding system and method | |
CA2573843A1 (en) | Scalable video coding method and apparatus using base-layer | |
US20050163217A1 (en) | Method and apparatus for coding and decoding video bitstream | |
Danyali et al. | Highly scalable image compression based on SPIHT for network applications | |
EP1538567A2 (de) | Verfahren und Vorrichtung zur skalierbaren Videokodierung und -dekodierung | |
Zandi et al. | CREW lossless/lossy medical image compression | |
Yeung et al. | An efficient optimal rate control scheme for JPEG2000 image coding | |
EP1639828A1 (de) | Verfaren zur umkodierung eines jpeg2000 komprimiertes bild | |
Auli-Llinas et al. | Enhanced JPEG2000 quality scalability through block-wise layer truncation | |
Orbaek | A real-time software video codec based on wavelets | |
Joshi et al. | Efficient transcoding of JPEG2000 images | |
Skodras | The JPEG2000 image compression standard in mobile health | |
Zandi et al. | Compression with reversible embedded wavelets with an enhanced binary mode | |
AU2003260192B2 (en) | Method of signalling motion information for efficient scalable video compression | |
Yoon et al. | A scalable wavelet video coder for hybrid communication channels | |
Christopoulou et al. | JPEG 2000 implementation on different computer platforms | |
Furht | Hong Man 2, Alen Docef 3 and Faouzi Kossentini 4 | |
Choraś | JPEG 2000 Image Coding Standard-A Review and Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20051216 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE FR GB |
|
17Q | First examination report despatched |
Effective date: 20060707 |
|
DAX | Request for extension of the european patent (deleted) | ||
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: INTELLECTUAL VENTURES FUND 83 LLC |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20140201 |