JP2005229218A - Image decoding apparatus - Google Patents
Image decoding apparatus Download PDFInfo
- Publication number
- JP2005229218A JP2005229218A JP2004034081A JP2004034081A JP2005229218A JP 2005229218 A JP2005229218 A JP 2005229218A JP 2004034081 A JP2004034081 A JP 2004034081A JP 2004034081 A JP2004034081 A JP 2004034081A JP 2005229218 A JP2005229218 A JP 2005229218A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- peripheral information
- unit
- context
- pixel
- 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
- 230000002093 peripheral effect Effects 0.000 claims abstract description 141
- 238000013139 quantization Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 92
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 29
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000012447 hatching Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Abstract
Description
この発明は画像復号装置に関する。 The present invention relates to an image decoding apparatus.
ISO/ITU−Tにおいて、静止画像の圧縮符号化の標準技術であるJPEG(Joint Photographic Expert Group)の後継として、離散ウェーブレット変換(DWT)を用いたJPEG2000の標準化が行われている。JPEG2000では、低ビットレート符号化からロスレス圧縮まで広範囲の画質を高性能で符号化することができ、画質を徐々に高めるスケーラビリティ機能も実現が容易である。 In ISO / ITU-T, standardization of JPEG2000 using discrete wavelet transform (DWT) is performed as a successor of JPEG (Joint Photographic Expert Group), which is a standard technology for compression coding of still images. JPEG2000 can encode a wide range of image quality from low bit rate encoding to lossless compression with high performance, and it is easy to realize a scalability function that gradually increases image quality.
JPEG2000における符号化処理では、ブロック分割処理と、係数ビットモデリング処理と、算術符号化処理とが行われる。ブロック分割処理は、原画像を離散ウェーブレット変換することにより生成された各サブバンドをコードブロックと呼ばれる小領域に分割する。係数ビットモデリング処理は、ウェーブレット変換係数の量子化値を最上位ビット(Most Significant Bit;MSB)から最下位ビット(Least Significant Bit;LSB)までのビットプレーンに分解して、算術符号化用の2値シンボルとコンテクストを生成する。算術符号化処理は、生成されたシンボルとコンテクストをもとにシンボル系列の出現確率に基づくエントロピー符号化を行う。 In the encoding process in JPEG2000, a block division process, a coefficient bit modeling process, and an arithmetic encoding process are performed. In the block division process, each subband generated by subjecting the original image to discrete wavelet transform is divided into small regions called code blocks. In the coefficient bit modeling process, the quantized value of the wavelet transform coefficient is decomposed into bit planes from the most significant bit (MSB) to the least significant bit (LSB), and 2 for arithmetic coding. Generate value symbols and contexts. The arithmetic encoding process performs entropy encoding based on the appearance probability of a symbol sequence based on the generated symbol and context.
このように算術符号化処理では、符号化対象のデータ以外にコンテクストの入力が必要となる。特許文献1には、とりうるコンテクストの候補を複数用意して算術符号化の演算結果によりセレクタで切り替える構成の算術符号化装置および算術復号装置が開示されている。
JPEG2000における符号化および復号を高速に実行するために、処理の並列化が必要である。JPEG2000における算術符号化では、コンテクストを決定するために、画素の周辺情報が必要となる。符号化においては、あらかじめすべての画素のデータが既知であるから、必要な周辺情報を揃えることができ、並列化、高速化が容易である。しかし、復号においては、実際に復号しなければ画素の周辺情報が分からないため、並列化は困難で逐次的な処理とならざるを得ない。 In order to execute encoding and decoding in JPEG2000 at high speed, parallel processing is required. In arithmetic coding in JPEG2000, pixel peripheral information is required to determine the context. In encoding, since data of all pixels is known in advance, necessary peripheral information can be prepared, and parallelization and high-speed processing are easy. However, in decoding, since pixel peripheral information is not known unless it is actually decoded, parallelization is difficult and must be a sequential process.
特許文献1に開示された算術復号装置では、あらかじめコンテクストの候補が用意されているが、コンテクストの候補を切り替えるための制御が複雑である。また、この装置で処理の並列化を行うと、コンテクストの候補が指数関数的に増え、回路規模の増大、制御の複雑化を招く。
In the arithmetic decoding device disclosed in
本発明はこうした課題に鑑みてなされたものであり、その目的は、高速に復号を行うことのできる画像復号技術を提供することにある。別の目的は、並列化が容易な画像復号技術を提供することにある。 The present invention has been made in view of these problems, and an object thereof is to provide an image decoding technique capable of performing decoding at high speed. Another object is to provide an image decoding technique that can be easily parallelized.
本発明のある態様は画像復号装置に関する。この装置は、画素を復号する際、その画素の周辺情報を保持する周辺情報レジスタと、前記周辺情報レジスタから前記周辺情報を読み出して画素の復号結果を予測するためのコンテクスト情報を生成するコンテクスト推定部と、生成されたコンテクスト情報および画素の符号化データからその画素を復号する復号部とを有し、当該復号部は、単位復号期間ごとに一画素を復号するとともに、各単位復号期間の終了時に、その単位復号期間において復号された画素の復号結果によって前記周辺情報を更新して前記周辺情報レジスタに書き戻す。復号部は、一例として、画素を算術復号するものであってもよい。 One embodiment of the present invention relates to an image decoding apparatus. This apparatus, when decoding a pixel, a peripheral information register that holds peripheral information of the pixel, and context estimation that generates the context information for reading the peripheral information from the peripheral information register and predicting the decoding result of the pixel And a decoding unit that decodes the pixel from the generated context information and the encoded data of the pixel, and the decoding unit decodes one pixel for each unit decoding period and ends each unit decoding period. Sometimes, the peripheral information is updated with the decoding result of the pixels decoded in the unit decoding period and written back to the peripheral information register. For example, the decoding unit may perform arithmetic decoding on the pixels.
本発明の別の態様も画像復号装置に関する。この装置は、符号化画像をエントロピー復号するエントロピー復号ブロックと、エントロピー復号されたデータを逆量子化する逆量子化部と、逆量子化されたデータに空間周波数逆変換を施す逆変換部とを備える。前記エントロピー復号ブロックは、画素を復号する際、その画素の周辺情報を保持する周辺情報レジスタと、前記周辺情報レジスタから前記周辺情報を読み出して画素の復号結果を予測するためのコンテクスト情報を生成するコンテクスト推定部と、生成されたコンテクスト情報および画素の符号化データからその画素を復号する復号部とを有し、当該復号部は、単位復号期間ごとに一画素を復号するとともに、各単位復号期間の終了時に、その単位復号期間において復号された画素の復号結果によって前記周辺情報を更新して前記周辺情報レジスタに書き戻す。 Another aspect of the present invention also relates to an image decoding apparatus. This apparatus includes an entropy decoding block that entropy-decodes an encoded image, an inverse quantization unit that inversely quantizes entropy-decoded data, and an inverse conversion unit that performs spatial frequency inverse transformation on the inversely quantized data. Prepare. The entropy decoding block generates a context information for predicting a decoding result of a pixel by reading the peripheral information from the peripheral information register and a peripheral information register that holds the peripheral information of the pixel when decoding the pixel A context estimation unit, and a decoding unit that decodes the pixel from the generated context information and encoded data of the pixel. The decoding unit decodes one pixel for each unit decoding period, and each unit decoding period At the end, the peripheral information is updated with the decoding result of the pixels decoded in the unit decoding period and written back to the peripheral information register.
前記周辺情報レジスタは、処理対象の画素ブロック全体の周辺情報を保持するものであり、保持する周辺情報のビット数よりも少ない出力バス幅を有し、必要な周辺情報の読み出しが順次なされるようリングバッファ方式で周辺情報を保持してもよい。 The peripheral information register holds peripheral information of the entire pixel block to be processed, has an output bus width smaller than the number of bits of the peripheral information to be stored, and reads out necessary peripheral information sequentially. The peripheral information may be held by a ring buffer method.
前記コンテクスト生成部は、ある単位復号期間において、その次の単位復号期間で必要になるコンテクスト情報を予め生成して保持してもよい。前記周辺情報をもとに、復号すべき画素を特定する復号位置算出部をさらに備え、復号が必要でない画素の復号処理をスキップしてもよい。 The context generation unit may generate and retain in advance a piece of context information necessary for the next unit decoding period in a certain unit decoding period. A decoding position calculation unit for specifying a pixel to be decoded may be further provided based on the peripheral information, and a decoding process for a pixel that does not need to be decoded may be skipped.
前記コンテクスト推定部および前記復号部は並列処理のためにそれぞれ複数設けられ、前記周辺情報レジスタは、複数の前記コンテクスト推定部により共有され、保持された前記周辺情報は、複数の前記復号部の復号結果によりそれぞれの単位復号期間において更新されてもよい。 A plurality of the context estimation units and the decoding units are provided for parallel processing, the peripheral information register is shared by a plurality of the context estimation units, and the held peripheral information is decoded by a plurality of the decoding units. It may be updated in each unit decoding period according to the result.
前記周辺情報レジスタには、リングバッファ方式で読み出される位置以外の格納位置に保持された一部の周辺情報を保持するシフタが設けられ、前記コンテクスト推定部は、前記シフタにシフト量の指示を与えることで、前記一部の周辺情報を読み出してもよい。 The peripheral information register is provided with a shifter that holds a part of peripheral information held at a storage position other than a position read by a ring buffer method, and the context estimation unit gives an instruction of a shift amount to the shifter Thus, the partial peripheral information may be read out.
複数の前記コンテクスト推定部および前記復号部の各々は、符号化画像の複数の符号化パスに対応したパス単位の復号処理を実行し、各パスによる復号処理で参照する前記周辺情報レジスタの位置が所定の画素数だけ離れるように、各パスの復号処理の動作タイミングを制御する制御部をさらに含んでもよい。 Each of the plurality of context estimation units and the decoding unit executes a decoding process in units of paths corresponding to a plurality of encoding passes of the encoded image, and the position of the peripheral information register referred to in the decoding process by each pass is A control unit that controls the operation timing of the decoding process of each pass may be further included so as to be separated by a predetermined number of pixels.
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a computer program, a recording medium, and the like are also effective as an aspect of the present invention.
本発明によれば、高速に符号化画像の復号を行うことができる。また、符号化画像の復号を並列に実行することができる。 According to the present invention, it is possible to decode an encoded image at high speed. Also, decoding of the encoded image can be executed in parallel.
実施の形態1
図1は、実施の形態1に係る画像復号装置100の構成図である。画像復号装置100の構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリのロードされた復号機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
FIG. 1 is a configuration diagram of an
画像復号装置100は、圧縮符号化された画像の入力を受け、入力された符号化画像を復号して出力する。符号化画像は、原画像が4つの周波数サブバンドへ再帰的に分割されてウェーブレット変換され、量子化の後、算術符号化された画像であり、一例としてJPEG2000の規格にしたがうものである。
The
画像復号装置100に入力される符号化画像は、動画像の符号化フレームであってもよい。画像復号装置100は、符号化ストリームとして入力される動画像の各符号化フレームを連続的に復号することにより動画を再生することができる。
The encoded image input to the
ストリーム解析部10は、入力された符号化画像のストリームを解析して符号化データを抽出し、エントロピー復号部12に与える。エントロピー復号部12は、符号化データをビットプレーン毎にエントロピー復号し、復号の結果得られる量子化されたウェーブレット変換係数を逆量子化部14に与える。
The
逆量子化部14は、ウェーブレット変換係数の量子化値を逆量子化してウェーブレット逆変換部16に与える。ウェーブレット逆変換部16は逆量子化されたウェーブレット変換係数を逆変換し、得られた復号画像を出力する。
The
図2は、エントロピー復号部12の構成図である。ストリーム解析部10からエントロピー復号部12に符号化データCDが入力される。周辺情報レジスタ群20は、符号化データCDの算術復号に使用するコンテクストを推定するための着目画素に対する周辺情報を保持するレジスタである。コンテクスト推定部22は、周辺情報レジスタ群20に保持された周辺情報をもとに、符号化データCDの復号結果を予測するためのコンテクストを推定し、コンテクストラベルCXを算術復号部24に与える。
FIG. 2 is a configuration diagram of the
算術復号部24は、ストリーム解析部10からは符号化データCD、コンテクスト推定部22からはコンテクストラベルCXを入力として受け取り、算術復号演算により2値の判定値であるデシジョンDを求めて、逆量子化部14に与える。算術復号部24から出力されるデシジョンDは、単位復号期間の終了時に、すなわち復号と同一サイクルで、周辺情報レジスタ群20に入力され、周辺情報レジスタ群20に保持されている周辺情報が算術復号部24による演算結果により更新される。
The
コンテクスト推定部22は、JPEG2000における復号時の係数ビットモデリング処理を行うものである。復号時の係数ビットモデリング処理は、算術復号部24による復号結果を利用して周辺情報を更新しながら、算術復号の際に必要となるコンテクストを決定する処理である。以下、図3〜図10を参照して、復号時の係数ビットモデリング処理を説明する。
The
ストリーム解析部10により符号化ストリームから抽出されたサブバンド画像はコードブロックと呼ばれる小領域に分割され、コードブロックが復号処理単位となる。サブバンド画像は、原画像のx、yの両方向において低周波成分を有するLLサブバンド、x、yのいずれかひとつの方向において低周波成分を有し、かつもう一方の方向において高周波成分を有するHLおよびLHサブバンド、x、yの両方向において高周波成分を有するHHサブバンドのいずれかである。
The subband image extracted from the encoded stream by the
コードブロックのサイズは、高さと幅が22〜210の範囲にある2のべき乗の整数値であり、高さと幅の指数の和は12以下であることが規格において定められている。本実施の形態では、コードブロックは縦横32ピクセルとして説明する。 The size of the code block is an integer value of a power of 2 in which the height and width are in the range of 2 2 to 2 10 , and the standard defines that the sum of the height and width indices is 12 or less. In the present embodiment, the code block is described as 32 pixels in length and width.
図3は、コードブロックをビット毎にスライスして形成されたビットプレーンを説明する図である。コードブロックのビットプレーンは、ウェーブレット変換係数の量子化値の正負の符号を格納したSignプレーンと、ウェーブレット変換係数の量子化値の絶対値を与えるMSBからLSBまでの複数のプレーンとから構成される。エントロピー復号部12は、上位ビットから順にビットプレーンを選択し、ビットプレーン単位でビットプレーン上で各係数の復号処理を行う。
FIG. 3 is a diagram for explaining a bit plane formed by slicing a code block for each bit. The bit plane of the code block is composed of a Sign plane that stores the sign of the quantized value of the wavelet transform coefficient, and a plurality of planes from MSB to LSB that give the absolute value of the quantized value of the wavelet transform coefficient. . The
図4は、ビットプレーン上の係数を復号する際の走査順序を説明する図である。ビットプレーンは、縦4ピクセルのストライプに分割され、ストライプ単位で走査されて復号される。各ストライプの横幅はコードブロックの横幅であり、本例では32ピクセルである。ストライプの本数は、合計で8本となる。 FIG. 4 is a diagram for explaining the scanning order when the coefficients on the bit plane are decoded. The bit plane is divided into stripes of 4 pixels in length, and is scanned and decoded in units of stripes. The width of each stripe is the width of the code block, which is 32 pixels in this example. The total number of stripes is 8.
各ストライプにおいて、矢印で示すように最初の列の縦4ピクセルを上から順に走査して1ピクセルずつ復号処理を進め、次に2番目の列の縦4ピクセルを同じ向きに走査し、これを最後の列まで繰り返す。ストライプの終端まで復号処理が終わると、次のストライプの先頭の係数から同じように走査して復号処理を進め、コードブロックの最後の行まで繰り返す。なお、係数の正負の符号を格納したSignプレーンの復号は、係数の絶対値部分に相当するプレーンを復号する際に適宜行われる。 In each stripe, as indicated by the arrows, the vertical four pixels in the first column are scanned in order from the top, and the decoding process proceeds one pixel at a time, and then the vertical four pixels in the second column are scanned in the same direction. Repeat until the last column. When the decoding process is completed up to the end of the stripe, scanning is performed in the same manner from the leading coefficient of the next stripe, the decoding process is performed, and the process is repeated until the last line of the code block. Note that the decoding of the Sign plane storing the positive and negative signs of the coefficients is appropriately performed when decoding the plane corresponding to the absolute value portion of the coefficients.
コードブロック内の各係数は、有意であるか、有意でないかの2つの状態で識別される。有意である場合は1、有意でない場合は0を割り当て、各係数の有意性状態を2値で識別する。復号開始時は、コードブロック内のすべての係数は有意でない。 Each coefficient in the code block is identified in two states: significant or insignificant. 1 is assigned if significant, 0 is assigned if not significant, and the significance state of each coefficient is identified by a binary value. At the start of decoding, all coefficients in the code block are not significant.
ここで、係数が有意であるとは、着目しているウェーブレット変換係数の量子化値が、これまでの復号処理の結果から‘0’ではないとわかっている状態をいう。言い換えれば、上位ビットプレーンから順次ストライプ単位で走査しながら復号していく中で、‘1’であるビットが発見されているウェーブレット変換係数の状態をいう。また、係数が有意でないとは、着目しているウェーブレット変換係数の量子化値が‘0’であるか、あるいは‘0’である可能性が残っている状態をいう。言い換えれば、上位ビットプレーンから順次復号していく中で、‘1’であるビットが未だ発見されていないウェーブレット変換係数の状態をいう。 Here, the coefficient is significant means a state in which the quantized value of the focused wavelet transform coefficient is known to be not “0” from the results of the decoding processing so far. In other words, it means the state of the wavelet transform coefficient in which a bit of “1” is found while decoding while scanning in units of stripes sequentially from the upper bit plane. Also, the coefficient is not significant means a state where the quantized value of the focused wavelet transform coefficient is “0” or remains “0”. In other words, it means the state of the wavelet transform coefficient in which the bit of “1” has not yet been found during the sequential decoding from the upper bit plane.
係数ビットモデリング処理では、ビットプレーン上の係数の周囲にある係数の有意性状態にもとづいて各係数ビット毎にコンテクストが決定される。図5は、ビットプレーン上の復号対象の係数X(以下、現係数Xという)の周囲に隣接する8個の近傍係数を説明する図である。8個の近傍係数は、現係数Xに対して水平方向に隣接する2つの係数h0、h1と、垂直方向に隣接する2つの係数v0、v1と、斜め方向に隣接する4つの係数d0〜d3とからなる。 In the coefficient bit modeling process, the context is determined for each coefficient bit based on the significance state of the coefficients around the coefficients on the bit plane. FIG. 5 is a diagram illustrating eight neighboring coefficients adjacent to the periphery of the coefficient X to be decoded on the bit plane (hereinafter referred to as the current coefficient X). The eight neighboring coefficients are two coefficients h0 and h1 adjacent to the current coefficient X in the horizontal direction, two coefficients v0 and v1 adjacent in the vertical direction, and four coefficients d0 to d3 adjacent in the oblique direction. It consists of.
図5の8個の近傍係数はそれぞれ有意であるか、有意でないかの2つの状態をとりうるため、現係数Xに対して、組み合わせとしては256個のコンテクストがありうるが、JPEG2000では、対称性などを利用して、19種類のコンテクストに集約されており、これらのコンテクストは0〜18のラベルをつけて識別される。なお、いずれかの近傍係数が処理中のコードブロックの外部に位置する場合は、その近傍係数は有意でないとみなして処理する。 Since each of the eight neighboring coefficients in FIG. 5 can take two states, which are significant or not significant, there can be 256 contexts as a combination with respect to the current coefficient X. It is collected into 19 kinds of contexts using the sex etc., and these contexts are identified with labels of 0-18. If any neighborhood coefficient is located outside the code block being processed, the neighborhood coefficient is regarded as insignificant and processed.
ビットプレーン内の各係数ビットは、Sパス(significance propagation pass)、Rパス(magnitude refinement pass)、Cパス(cleanup pass)の3種類の処理パスのうちのいずれかにもとづいて復号される。Sパスでは、有意である係数が周囲に存在する有意でない係数の復号が行われ、Rパスでは、有意である係数の復号が行われ、Cパスでは、残りの係数の復号が行われる。 Each coefficient bit in the bit plane is decoded based on one of three types of processing paths, that is, an S pass (significance propagation pass), an R pass (magnitude refinement pass), and a C pass (cleanup pass). In the S pass, a non-significant coefficient around which a significant coefficient exists is decoded, in the R pass, a significant coefficient is decoded, and in the C pass, the remaining coefficients are decoded.
Sパス、Rパス、Cパスの各処理パスはこの順に画像の画質への寄与度が大きい。各処理パスはこの順に実行され、各係数のコンテクストが近傍係数の情報を考慮して決定される。以下、各処理パスにおける具体的な処理手順を説明する。最初にSパス処理を説明する。 Each processing pass of the S pass, R pass, and C pass has a large contribution to the image quality in this order. Each processing pass is executed in this order, and the context of each coefficient is determined in consideration of information on neighboring coefficients. Hereinafter, a specific processing procedure in each processing path will be described. First, the S pass process will be described.
ビットプレーンの各ストライプにおける走査において、現係数Xが有意でない状態であり、かつその現係数Xに隣接する8個の近傍係数の内、少なくとも1つの近傍係数が有意である場合、現係数XはSパスの処理対象として選ばれる。それ以外の場合は、Sパスの処理対象とはならない。Sパスで復号対象となる係数は、そのビットプレーンにおいて最も有意になる可能性が高い係数である。 When the current coefficient X is insignificant in scanning in each stripe of the bit plane, and at least one of the eight neighboring coefficients adjacent to the current coefficient X is significant, the current coefficient X is It is selected as an S pass processing target. In other cases, it is not an S pass processing target. A coefficient to be decoded in the S pass is a coefficient that is most likely to be significant in the bit plane.
コンテクスト推定部22は、現係数Xに対して、水平方向の2つの近傍係数h0,h1の内、有意である係数の数を与えるΣhi(=h0+h1)と、垂直方向の2つの近傍係数v0,v1の内、有意である係数の数を与えるΣvi(=v1+v2)と、斜め方向の4つの近傍係数d0,d1,d2,d3の内、有意である係数の数を与えるΣdi(=d1+d2+d3+d4)とを求める。
The
図6は、Sパスにおけるコンテクストの分類テーブルを説明する図である。このコンテクストテーブルは、処理中のコードブロックが、LH/LLサブバンド、HLサブバンド、HHサブバンドのいずれに属しているかによって、水平、垂直、斜め方向の有意である近傍係数の数Σhi,Σvi,Σdiの組み合わせと、0〜8のラベルで識別される9種類のコンテクストラベルCXとを対応づけたものである。コンテクスト推定部22は、このコンテクストの分類テーブルを参照し、サブバンドの周波数成分の方向性と有意である近傍係数の数Σhi,Σvi,Σdiの組み合わせにしたがって、Sパスで処理する係数を9種類のコンテクストのいずれかに分類し、該当するコンテクストラベルCXを出力する。
FIG. 6 is a diagram for explaining a context classification table in the S pass. This context table shows the number of neighborhood coefficients Σhi, Σvi that are significant in the horizontal, vertical, and diagonal directions depending on whether the code block being processed belongs to the LH / LL subband, HL subband, or HH subband. , Σdi and nine kinds of context labels CX identified by
また、Sパスでは、現係数Xのビットの値が‘1’であった場合、現係数Xの有意性状態を「有意でない」から「有意である」に変更する。現係数Xが有意になった場合、引き続き、その現係数Xの正負を示す極性ビットを復号する。 In the S pass, when the value of the bit of the current coefficient X is “1”, the significance state of the current coefficient X is changed from “not significant” to “significant”. When the current coefficient X becomes significant, the polarity bit indicating the sign of the current coefficient X is subsequently decoded.
極性ビットに対するコンテクストは、垂直方向の2つの近傍係数v0,v1および水平方向の2つの近傍係数h0,h1の有意性状態および正負の極性値にもとづいて次の2段階で決定される。 The context for the polarity bit is determined in the following two steps based on the significance state and the positive and negative polarity values of the two neighboring coefficients v0, v1 in the vertical direction and the two neighboring coefficients h0, h1 in the horizontal direction.
図7は、極性ビットのコンテクスト決定のための垂直指標および水平指標テーブルを説明する図である。コンテクスト推定部22は、まず、2つの垂直方向の近傍係数v0、v1のそれぞれが正の有意である係数であるか、負の有意である係数であるか、有意でない係数であるかを判定し、図7のテーブルを参照して、垂直指標vに‘0’、‘1’、‘−1’のいずれかの値を割り当てる。同様にして、水平方向の近傍係数h0、h1に対しても図7のテーブルを参照して、水平指標hに‘0’、‘1’、‘−1’のいずれかの値を割り当てる。
FIG. 7 is a diagram for explaining a vertical index and a horizontal index table for determining the context of the polarity bit. The
図8は、水平指標hと垂直指標vの組み合わせと、9〜13のラベルで識別される5種類の極性ビットに対するコンテクストラベルCXとを対応づけたテーブルである。コンテクスト推定部22は、図8のテーブルを参照して、求めた水平指標hと垂直指標vの値の組み合わせによって極性ビットを5種類のコンテクストのいずれかに分類し、該当するコンテクストラベルCXを出力する。
FIG. 8 is a table in which combinations of horizontal indices h and vertical indices v are associated with context labels CX for five types of polarity bits identified by labels 9 to 13. The
次にRパス処理を説明する。現係数Xがすでに有意であると判定されている場合、現係数Xは処理中のビットプレーンにおいてRパスの処理対象となる。ただし、そのビットプレーンにおいて、直前のSパスで有意である状態に変化した係数は処理対象としない。Rパスの復号処理は、Sパスで復号された係数の精度を上げる役割をもつ。 Next, R path processing will be described. When it is determined that the current coefficient X is already significant, the current coefficient X becomes an R path processing target in the bit plane being processed. However, a coefficient that has changed to a significant state in the immediately preceding S pass in the bit plane is not processed. The R-pass decoding process has a role of increasing the accuracy of the coefficients decoded in the S-pass.
図9は、Rパスにおけるコンテクストの分類テーブルを示す図である。Rパスでは、コンテクスト推定部22は、現係数Xに対する8つの近傍係数に内、有意である係数の数を示すΣhi+Σvi+Σdiの値を求め、さらに、現係数Xが1つ上のビットプレーンで有意になったかどうか、言い換えれば、当該Rパスは、現係数Xが有意でない状態から有意である状態に変化した後の最初のパスであるかどうかを判定し、これらの結果にもとづいて、同図に示すように、14〜16のラベルで識別される3種類のコンテクストに分類し、該当するコンテクストラベルCXを出力する。
FIG. 9 is a diagram showing a context classification table in the R path. In the R path, the
最後にCパス処理を説明する。Cパスは、現係数XがSパス、Rパスのいずれの処理対象にも該当しない場合に用いられる。Cパスでは、ランレングス復号か、Sパスのように8つの近傍係数の値を参照した復号処理を行う。Cパスでは、ランレングス復号を行うかどうかを判断しながら処理を進める。 Finally, the C pass process will be described. The C path is used when the current coefficient X does not correspond to either the S path or the R path. In the C pass, run length decoding or decoding processing referring to the values of eight neighboring coefficients as in the S pass is performed. In the C pass, the process proceeds while determining whether to perform run-length decoding.
図10は、Cパスにおけるコンテクストの分類テーブルを示す図である。Cパスでは、垂直方向に連続する4つの係数が全て有意でない、すなわちストライプ内の縦1列がすべてCパスに属しており、かつ、その4つのすべての係数に対する8個の近傍係数にも有意である係数が存在しないという条件の成否を判断する。この条件に該当する場合、ランレングスモードで復号処理を行い、コンテクストラベルCXは17である。この条件に該当しない場合、垂直方向に連続する4つの係数値の中に少なくとも1つの有意である係数が存在するため、最初に有意になる係数の位置はUNIFORMコンテクストを用い、このときのコンテクストラベルCXは18である。残りのすべての係数に対してはSパスと同様の処理を行う。 FIG. 10 is a diagram illustrating a context classification table in the C path. In the C path, all four consecutive coefficients in the vertical direction are not significant, that is, all the vertical columns in the stripe belong to the C path, and the eight neighboring coefficients for all the four coefficients are also significant. It is determined whether or not the condition that there is no coefficient is. When this condition is satisfied, the decoding process is performed in the run length mode, and the context label CX is 17. If this condition is not met, there is at least one significant coefficient among the four consecutive coefficient values in the vertical direction. Therefore, the position of the first significant coefficient is determined using the UNIFORM context, and the context label at this time CX is 18. The same processing as in the S pass is performed for all remaining coefficients.
以上述べたように、コンテクスト推定部22による係数ビットモデリング処理において、3つのいずれかの処理パスを用いて、ビットプレーン上の各係数のコンテクストラベルCXが決定される。
As described above, in the coefficient bit modeling process by the
周辺情報レジスタ群20は、コードブロックの1枚のビットプレーン分の大きさに対応っして縦横32ビットのレジスタを5種類設けたものであり、コードブロック全体の周辺情報を保持する。周辺情報レジスタ群20を構成する第1から第5レジスタは、コンテクスト推定部22がビットプレーンにおける各処理パスでコンテクストラベルCXを求めるために必要な情報を格納する。
The peripheral
周辺情報レジスタ群20の第1レジスタは、各係数が有意であるか、有意でないかを示す情報を格納する。第2レジスタは、各係数が一つ上のビットプレーンで有意になったかどうかを示す情報を格納し、Rパスの処理で使用される。第3レジスタは、各係数が現在のビットプレーンで有意になったかどうかを示す情報を格納する。これは第2レジスタの情報を生成するために必要となる。第4レジスタは、各係数は既に復号済みかどうかを示す情報を格納し、Cパスの処理で使用される。第4レジスタの情報は、第1レジスタと第3レジスタの情報から算出できるが、処理の便宜のために別途情報を保持しておく。第5レジスタは、各係数の正負の符号を示す極性の情報を格納する。
The first register of the peripheral
第1、第5レジスタの内容はコードブロックの処理開始時もしくは処理終了時に零にリセットされる。第2レジスタの内容は、ビットプレーンの処理開始時もしくは処理終了時に第3レジスタの内容をコピーすることにより初期化される。第3、第4のレジスタの内容は、ビットプレーンの処理開始時もしくは処理終了時に零にリセットされる。 The contents of the first and fifth registers are reset to zero when the code block processing starts or ends. The contents of the second register are initialized by copying the contents of the third register at the start or end of processing of the bit plane. The contents of the third and fourth registers are reset to zero when the bit plane processing starts or ends.
図11は、周辺情報レジスタ群20の各レジスタの構成を説明する図である。周辺情報レジスタ群20に含まれる5種類のレジスタの各々は、コードブロックがストライプ単位で走査されて復号処理されることに合わせて、ストライプの大きさのレジスタがストライプの本数分だけ並んだ構成をとる。各レジスタ列は、ストライプの縦方向4ピクセルに対応して縦4ビットで、コードブロックの横幅32ピクセルに対応して横32ビットである。
FIG. 11 is a diagram for explaining the configuration of each register of the peripheral
各レジスタ列は、高速化と小型化のために、横方向に4ビットずつ、R00〜R07、R10〜R17、…、R70〜R77のように区切られ、左端の斜線を付したR00、R10、…、R70の4ビットに対してのみ読み出し、書き込みが可能なシフトレジスタである。以下、4ビットずつの区切りをレジスタブロックと呼ぶ。 Each register row is divided into four bits in the horizontal direction, such as R00 to R07, R10 to R17,..., R70 to R77, and R00, R10, and R00, R10, which are hatched at the left end for speeding up and downsizing ..., a shift register that can read and write only to the four bits of R70. Hereinafter, a 4-bit segment is called a register block.
なお、第1、第5レジスタの場合だけ、Sパス処理において近傍係数の参照が必要となるため、左端のレジスタブロックの左右の1ピクセル分の読み出しが可能である。すなわち、左端の各レジスタブロックR00、R10、…、R70の4ビットとともに、右隣の各レジスタブロックR01、R11、…、R71の左側1ビットと、論理的に左隣(実際には右端)の各レジスタブロックR07、R17、…、R77の右側1ビットも合わせて読み出し可能な構成とする。 Note that only in the case of the first and fifth registers, it is necessary to refer to the neighborhood coefficient in the S pass process, and therefore it is possible to read one pixel on the left and right of the leftmost register block. That is, the leftmost register blocks R01, R11,..., R71 and the left one bit of each register block R00, R10,. It is assumed that the right one bit of each register block R07, R17,.
図12(a)、(b)は、図11の各レジスタ列の動作を説明する図である。図12(a)は、一例としてストライプ0のレジスタ列を示しており、4ビットずつ、レジスタブロックR00〜R07に区切られ、左端のレジスタブロックR00に対して読み書きが可能である。このレジスタは、リングバッファないしはバレルシフタのように機能し、図12(b)に示すように、左端にあったR00を右端に移動させ、残りのR01〜R07を順に左に4ビットずつシフトさせることで、読み書きできるレジスタの箇所を4ビットずつずらすことができる。
12A and 12B are diagrams for explaining the operation of each register row in FIG. FIG. 12A shows a register string of
本実施の形態では、各プレーンについて、Sパス、Rパス、Cパスの順に逐次的に処理パスを実行するため、復号動作は次のようになる。まず、MSBプレーンの各ストライプに対して、Cパスの処理を実行し、各レジスタ列を4ビットずつ7回シフトすることで、各ストライプが終端まで処理され、8回目のシフトで最初にもどる。次に、MSBより一つ下のプレーンの各ストライプに対して、Sパスの処理を実行し、4ビットずつ7回シフトすることで、各ストライプが終端まで処理され、8回目のシフトで最初にもどる。この状態で、同一プレーンの各ストライプについてRパスの処理を実行し、同様に、4ビットずつ7回シフトすることで、各ストライプが終端まで処理され、8回目のシフトで最初にもどる。以降、Cパスの処理を同様に実行する。これをLSBプレーンまで繰り返すことで、当該コードブロックについての復号処理が終了する。 In this embodiment, for each plane, the processing path is sequentially executed in the order of the S path, the R path, and the C path, so the decoding operation is as follows. First, the C pass process is executed for each stripe of the MSB plane, and each register string is shifted 7 times by 4 bits, whereby each stripe is processed to the end, and returns to the beginning by the eighth shift. Next, the S pass processing is executed for each stripe in the plane immediately below the MSB, and each stripe is processed 7 times by shifting 4 bits by 7 times. Return. In this state, the R pass processing is executed for each stripe of the same plane, and similarly, by shifting 7 times by 4 bits, each stripe is processed to the end, and the first shift returns. Thereafter, the C pass process is similarly executed. By repeating this up to the LSB plane, the decoding process for the code block ends.
コードブロックの復号処理の過程で、周辺情報レジスタ群20に保持されている周辺情報の内容は、算術復号部24がビットプレーンの係数を一つ復号してデシジョンDを決定するたびにその復号サイクルにおいて更新される。
During the decoding process of the code block, the content of the peripheral information held in the peripheral
以上説明したように、本実施の形態によれば、各係数のコンテクストの推定に必要な周辺情報をレジスタで保持しているため、周辺情報を高速に読み出して、コンテクストを推定し、算術復号部に与えることができる。また、算術復号による演算結果を利用して、算術復号と同一サイクルでレジスタに保持された周辺情報を更新することができる。周辺情報をSRAMなどのメモリに保持した場合、アドレッシングが必要となり、読み出し、書き込みに数サイクルかかってしまい、処理が遅くなるが、周辺情報をレジスタに保持することにより、復号時に必要な一連の処理、すなわち、周辺情報の読み出し、コンテクストの推定、算術符号の復号、周辺情報の更新を同一サイクルで行うことができ、1画素の復号を1サイクルで処理することが可能となり、復号処理の高速化を図ることができる。 As described above, according to the present embodiment, since the peripheral information necessary for estimating the context of each coefficient is held in the register, the peripheral information is read at high speed, the context is estimated, and the arithmetic decoding unit Can be given to. Further, the peripheral information held in the register can be updated in the same cycle as the arithmetic decoding by using the calculation result by the arithmetic decoding. When peripheral information is held in a memory such as SRAM, addressing is required, and it takes several cycles to read and write, which slows down processing. However, by holding peripheral information in a register, a series of processes necessary for decoding is performed. That is, reading of peripheral information, estimation of context, decoding of arithmetic code, and updating of peripheral information can be performed in the same cycle, and decoding of one pixel can be processed in one cycle, thereby speeding up decoding processing. Can be achieved.
実施の形態2
図13は、実施の形態2に係る画像復号装置におけるエントロピー復号部12の構成図である。本実施の形態の画像復号装置は、実施の形態1の画像復号装置100とエントロピー復号部12の構成だけが異なり、他の構成は同じである。
FIG. 13 is a configuration diagram of the
本実施の形態のエントロピー復号部12では、コンテクスト推定部22によりあらかじめ計算されたコンテクストラベルCXを保持するためのコンテクストレジスタ23がコンテクスト推定部22の後段に設けられる。
In the
周辺情報レジスタ群20には、算術復号部24による符号化データCDを復号した結果得られたデシジョンDがフィードバックされて、各レジスタに保持される内容が適宜更新され、コンテクスト推定部22は、次のコンテクストの推定のために、更新された周辺情報レジスタ群20を参照する。本実施の形態では、コンテクスト推定部22は、さらに、周辺情報レジスタ群20を介さずに、直接、算術復号部24からのデシジョンDの値を受け取ることで、次のサイクルで必要になるコンテクストラベルCXを先に求め、コンテクストレジスタ23がそのコンテクストラベルCXをラッチする。算術復号部24は、コンテクストレジスタ23にラッチされたコンテクストラベルCXを受け取り、符号化データCDの復号を進める。
A decision D obtained as a result of decoding the encoded data CD by the
本実施の形態によれば、周辺情報レジスタ群20を利用した通常のコンテクストラベルCXの計算と並行して、周辺情報レジスタ群20をバイパスしてコンテクストラベルCXの計算が可能であり、算術復号部24がラッチされたコンテクストラベルCXを利用することにより、さらなる復号処理の高速化を図ることができる。
According to the present embodiment, in parallel with the calculation of the normal context label CX using the peripheral
実施の形態3
図14は、実施の形態3に係る画像復号装置におけるエントロピー復号部12の構成図である。本実施の形態の画像復号装置も、実施の形態1の画像復号装置100とエントロピー復号部12の構成だけが異なり、他の構成は同じである。
FIG. 14 is a configuration diagram of the
本実施の形態のエントロピー復号部12は、ビットプレーンのストライプを走査しながら復号する際、すべての係数を走査するのではなく、復号すべき係数の箇所を特定しながら、復号処理を進める。
The
復号位置算出部27は、周辺情報レジスタ群20に保持された周辺情報を参照して、各処理パスにおいて復号すべき係数の位置を算出する。
The decoding
図15(a)〜(c)は、復号位置算出部27による復号位置の算出手順を説明する図である。図15(a)は、縦横4ピクセルの最小処理単位60を縦方向に4画素ずつ走査して復号する順序を矢印で示したものであり、通常は、この走査順に1ピクセルずつ、周辺情報を調べて復号する。
FIGS. 15A to 15C are diagrams illustrating the decoding position calculation procedure by the decoding
Sパスでは、有意でない係数の周囲に1つでも有意である係数が存在すれば、復号を行う。ある係数に対する8個の近傍係数の情報は、他の係数の周辺情報としても一部利用できるため、すべての画素に対して、周辺情報を調べなくても、これまで得られた周辺情報から次の復号すべき係数を特定することができる。たとえば、図15(b)に示すように、左上端の斜線で示す係数50に対する8個の点線で囲んだ近傍係数52の内、符号51で示した係数が有意であったとする。このとき、たとえば斜線で示す第2の係数53に対しても8個の近傍係数54の内、少なくとも1つの係数が有意であることがわかるので、第2の係数53を復号すべき係数と判定することができる。図15(c)に、こうして復号すべきと判定された係数50、53、55を順にたどって復号する様子を示す。
In the S pass, if any significant coefficient exists around a non-significant coefficient, decoding is performed. Information on eight neighboring coefficients for a certain coefficient can be used in part as peripheral information for other coefficients. Therefore, the next information can be obtained from the peripheral information obtained so far without checking the peripheral information for all pixels. The coefficient to be decoded can be specified. For example, as shown in FIG. 15B, it is assumed that the coefficient indicated by
周辺情報読取部28は、復号位置算出部27で指定された位置に対する周辺情報を周辺情報レジスタ群20から読み取り、コンテクスト推定部22に与える。算術復号部24によるデシジョンDは、復号位置算出部27により決められた位置Lにもとづいて、画像バッファ26に格納される。画像バッファ26に書き出された復号後のウェーブレット変換係数は逆量子化部14に出力される。画像バッファ26は、コードブロック単位もしくはストライプ単位などの所定の単位の復号が終わると、次の復号単位の結果を格納する前にリセットされる。
The peripheral
本実施の形態によれば、周辺情報レジスタ群20の内容を参照することで、各処理パスにおいて次に復号すべき係数を特定し、復号の必要のない係数の処理をスキップすることができるため、復号処理のさらなる高速化を図ることができる。
According to the present embodiment, by referring to the contents of the peripheral
実施の形態4
図16は、実施の形態4に係る画像復号装置におけるエントロピー復号部12の構成図である。本実施の形態の画像復号装置も、実施の形態1の画像復号装置100とエントロピー復号部12の構成だけが異なり、他の構成は同じである。
FIG. 16 is a configuration diagram of the
本実施の形態では、2つのコンテクスト推定部22a、22bと、2つの算術復号部24a、24bとを設け、2画素を並列に復号する。第1のコンテクスト推定部22aが第1画素についてのコンテクストラベルCX1を推定し、そのコンテクストラベルCX1にもとづいて、第1の算術復号部24aが第1画素についての復号処理を行い、第1のデシジョンD1を出力する。一方、第2のコンテクスト推定部22bが第2画素についてのコンテクストラベルCX2を推定し、そのコンテクストラベルCX2にもとづいて、第2の算術復号部24bが第2画素についての復号処理を行い、第2のデシジョンD2を出力する。
In the present embodiment, two
更新判定部25は、第1の算術復号部24aの第1のデシジョンD1の値により、第1の算術復号部24aによる復号結果によって第2の算術復号部24bに入力された情報を更新する必要があるかどうかを判定し、その必要があれば、第1の算術復号部24aによる復号結果を第2の算術復号部24bに与える。また、第1、第2の算術復号部24a、bは互いに確率推定値を交換し、算術復号の精度を向上させる。
The
第1、第2の算術復号部24a、24bによる第1、第2のデシジョンD1、D2はともに周辺情報レジスタ群20にフィードバックされて、各レジスタの保持された情報が更新される。
Both the first and second decisions D1 and D2 by the first and second
なお、本実施の形態において、第1、第2のコンテクスト推定部22a、22bの後段に第2の実施の形態と同様にコンテクストレジスタ23a、23bをさらに設け、コンテクストラベルCX1、CX2をラッチするように構成してもよい。
In the present embodiment, context registers 23a and 23b are further provided in the subsequent stage of the first and second
実施の形態5
図17は、実施の形態5に係る画像復号装置におけるエントロピー復号部12の構成図である。本実施の形態の画像復号装置も、実施の形態1の画像復号装置100とエントロピー復号部12の構成だけが異なり、他の構成は同じである。
FIG. 17 is a configuration diagram of the
本実施の形態は、図14で示した第3の実施の形態のエントロピー復号部12において、2画素の並列復号が可能なように構成を変更したものであり、2つの周辺情報読取部28a、28bと、2つのコンテクスト推定部22a、22bと、2つの算術復号部24a、24bとが設けられる。
In the present embodiment, the
復号位置算出部27は、実施の形態3で説明した方法で、周辺情報レジスタ群20に保持された周辺情報を参照して、各処理パスにおいて復号すべき係数の位置を算出するが、本実施の形態では、並列化のために、復号すべき係数を2箇所求め、その位置L1、L2をそれぞれ、第1、第2の周辺情報読取部28a、28bに与える。第1、第2の周辺情報読取部28a、28bは、それぞれ復号位置算出部27で指定された位置L1、L2に対する周辺情報を周辺情報レジスタ群20から読み取り、第1、第2のコンテクスト推定部22a、22bに与える。
The decoding
以降、第1、第2のコンテクスト推定部22a、22b、第1、第2の算術復号部24a、24b、および更新判定部25による2画素の並列復号動作については、実施の形態4と同じである。
Thereafter, the parallel decoding operation of two pixels by the first and second
画像バッファ26には、復号位置算出部27から与えられる位置L1、L2にもとづいて第1、第2の算術復号部24a、24bから出力される第1、第2のデシジョンD1、D2が格納される。
The
なお、本実施の形態において、第1、第2のコンテクスト推定部22a、22bの後段に第2の実施の形態と同様にコンテクストレジスタ23a、23bをさらに設け、コンテクストラベルCXをラッチするように構成してもよい。
Note that, in the present embodiment, context registers 23a and 23b are further provided in the subsequent stage of the first and second
実施の形態6
図18は、実施の形態6に係る画像復号装置におけるエントロピー復号部40の構成図である。本実施の形態の画像復号装置は、実施の形態1の画像復号装置100のエントロピー復号部12の構成を同図のエントロピー復号部40に置き換えたものであり、他の構成は実施の形態1の画像復号装置100と同じである。
FIG. 18 is a configuration diagram of the
本実施の形態のエントロピー復号部40は、ビットプレーン単位および処理パス単位の並列化を行うものであり、ビットプレーン単位の並列化のために、第1ビットプレーン復号部30aと第2ビットプレーン復号部30bが設けられる。また、Sパス、Rパス、Cパスの各処理パス単位の並列化のために、第1ビットプレーン復号部30a、第2ビットプレーン復号部30bの内部には、S、R、Cパス復号部12S、Rパス復号部12R、およびCパス復号部12Cが含まれる。
The
入力された符号化画像が、各パスの符号化ストリームのバイト数をヘッダに指定したフォーマットである場合、ストリーム解析部10が、各パス毎に符号化ストリームを抽出して、パス単位の並列処理が可能である。この場合、ストリーム解析部10から、Sパス、Rパス、Cパスの符号化ストリームがそれぞれ、S、R、Cパス復号部12S、Rパス復号部12R、Cパス復号部12Cに与えられて復号処理される。S、R、Cパス復号部12Sは、Sパスを専用に復号処理し、それと並行して、Rパス復号部12RがRパス、Cパス復号部12CがCパスを専用に復号処理することで各パスが並列に復号処理される。
When the input encoded image has a format in which the number of bytes of the encoded stream of each pass is specified in the header, the
符号化画像のヘッダに各パスの符号化ストリームのバイト数が指定されていない場合は、各パスの区切りがわからないため、パス単位の並列処理を行うことはできない。パス単位の並列処理ができない場合、ストリーム解析部10は、Sパス、Rパス、Cパスの各符号化ストリームを順次S、R、Cパス復号部12Sに与え、S、R、Cパス復号部12Sは、Sパス、Rパス、Cパスの順に各パスを順次復号処理する。このとき、Rパス復号部12RおよびCパス復号部12Cは動作しない。
If the number of bytes of the encoded stream of each pass is not specified in the header of the encoded image, the path delimiter cannot be known, so that parallel processing in units of passes cannot be performed. When parallel processing in units of paths cannot be performed, the
これらの各パス用の復号部12S、12R、12Cは、それぞれ実施の形態1〜5のいずれのエントロピー復号部12の構成であってもよいが、ここでは、説明の簡単のため、実施の形態1のエントロピー復号部12の構成を複数含む形態を説明する。
Each of the
第1ビットプレーン復号部30aの各パス用の復号部12S、12R、12Cは、それぞれコンテクスト推定部22と算術復号部24を含み、コンテクスト推定部22は、周辺情報レジスタ群20から周辺情報を読み出し、コンテクストラベルを計算して、算術復号部24に与える。算術復号部24はコンテクストラベルにもとづいて、各パスの符号化データを復号して、第1のデータレジスタ32aに書き込む。
The
第2ビットプレーン復号部30bについても同様であり、同一の周辺情報レジスタ群20を共用して、第2ビットプレーンの各パスの復号を並列に行い、第2のデータレジスタ32bに結果を出力する。なお、第1ビットプレーン復号部30aについては実線でデータの流れを図示し、第2ビットプレーン復号部30bについては点線でデータの流れを図示している。
The same applies to the second bit plane decoding unit 30b. The same peripheral
周辺情報レジスタ群20の5種類のレジスタの内、第5レジスタはコードブロック内の係数の正負の符号を示すSignプレーンである。データ出力部34は、第1ビットプレーン復号部30aによる第1ビットプレーンの復号結果を第1のデータレジスタ32aから読み取り、第2ビットプレーン復号部30bによる第2ビットプレーンの復号結果を第2のデータレジスタ32bから読み取り、さらに、周辺情報レジスタ群20のSignプレーンから係数の正負の符号を示す極性データを読み取り、最終的にSignプレーンと、MSBからLSBまでのプレーンからなる復号されたコードブロック36の形で復号結果を出力する。
Of the five types of registers in the peripheral
本実施の形態では、周辺情報レジスタ群20が2枚のビットプレーンで共有され、さらに各ビットプレーン内の各処理パスによっても共有される。そのため、周辺情報レジスタ群20の構成が、実施の形態1〜5とは一部異なる。以下、周辺情報レジスタ群20の構成と並列動作について詳しく説明する。
In this embodiment, the peripheral
図19は、ビットプレーンの各ストライプにおける縦横4ピクセル、合計16ピクセルの最小処理単位60とその周囲の隣接ピクセル群を示す図である。この最小処理単位60は、周辺情報レジスタ群20の各レジスタから周辺情報を読み出す単位であり、各レジスタ列のレジスタブロックに相当する。実施の形態1で既に説明したように、Sパスでは、処理対象の係数に対して周囲の8個の近傍係数の有意性状態の情報が必要である。そのため、縦横4ピクセルの領域について1ピクセル毎に復号処理を行う際、斜線で示した隣接ピクセルについて周辺情報が必要となる。
FIG. 19 is a diagram showing a
上下の6ピクセルずつの隣接ピクセル群62、64は、当該ストライプにはなく、上下のストライプに位置する。また、左右に4ピクセルずつの隣接ピクセル群61、63は、同一のストライプにおいて隣のレジスタブロックの位置にある。
The
図20は、図19の最小処理単位60の周囲の隣接ピクセル群61〜64のレジスタ上の対応する位置を説明する図である。ある時刻において、ストライプ2がRパスの処理対象、ストライプ3がSパスの処理対象、ストライプ4が前のビットプレーンのCパスの処理対象であるとする。
FIG. 20 is a diagram illustrating the corresponding positions on the register of the
Rパスでは、ストライプ2について、現在、左端に位置するレジスタブロックR22から周辺情報を読み出して復号処理を行っている。Sパスでは、ストライプ3について、現在、左端に位置するレジスタブロックR34から周辺情報を読み出して復号処理を行っている。Cパスでは、ストライプ4について、現在、左端に位置するレジスタブロックR46から周辺情報を読み出して復号処理を行っている。このように、処理パス単位の並列処理では、各処理パスの復号箇所は、周辺情報の更新の影響を避ける目的で、水平方向に最低2ブロックずれるように制御される。
In the R path, the peripheral information is read from the register block R22 currently located at the left end and the decoding process is performed on the
いま、Sパスがストライプ3の復号処理において参照しているレジスタブロックR34に注目すると、最小処理単位60は、このレジスタブロックR34の位置にある。一方、上下の6ピクセルずつの隣接ピクセル群62、64は、それぞれストライプ2のレジスタブロックR24、ストライプ4のレジスタブロックR44の位置にある。また、左右の4ピクセルずつの隣接ピクセル群61、63は、それぞれストライプ3のレジスタブロックR33、R35の位置にある。Sパスの処理を行うためには、これらの隣接ピクセル群61〜64の周辺情報をそれぞれの位置のレジスタブロックから取り出す必要がある。
When attention is paid to the register block R34 that the S path refers to in the decoding process of the
図21は、周辺情報レジスタ群20の第1、第5レジスタの構成を説明する図である。実施の形態1の周辺情報レジスタ群20の各レジスタと同様に、ビットプレーンのストライプに対応したレジスタ列が並んでおり、各レジスタ列は、リングバッファのように4ビットずつ独立にリング上にシフトして左端から読み出しと書き込みが可能である。本実施の形態では、第1、第5レジスタに限り、左端の各レジスタブロックR00、R10、…、R70の4ビット、右隣のレジスタブロックR01、R11、…、R71の左側1ビット、および論理的に左隣(実際には右端)の各レジスタブロックR07、R17、…、R77の右側1ビットの合計6ビットが出力される。
FIG. 21 is a diagram for explaining the configuration of the first and fifth registers of the peripheral
さらに、第1、第5レジスタに限り、ストライプ1〜7に対応する各レジスタ列内の全レジスタブロックを横断する上端1ビット列は、それぞれシフタ71〜77に入力されて保持される。ストライプ0〜6に対応する各レジスタ列内の全レジスタブロックを横断する下端1ビット列は、それぞれシフタ80〜86に入力されて保持される。各シフタ71〜77、80〜86は、入力が32ビットで、出力が6ビットであり、シフト量の指示を与えることで、図20で説明した上下の6ピクセルずつの隣接ピクセルが出力される。このように第1、第5レジスタでは、上下の隣接ピクセルの読み出しのために、合計14個のシフタ71〜77、80〜86が設けられる。
Further, only in the first and fifth registers, the upper-
なお、周辺情報レジスタ群20の内、第2、3、4のレジスタについては、隣接ピクセルの情報の読み出しを必要としないので、実施の形態1のレジスタと同じ構成でよい。また、実施の形態1では、パス単位の並列化を行っていないので、各ストライプでパス処理をずらす必要がないため、実施の形態1では、第1、第5のレジスタについても、シフタの構成が不要であった点に留意する。
Note that the second, third, and fourth registers in the peripheral
再び、図20を参照して、上下の隣接ピクセルをシフタで取り出すためにシフタに与えるシフト量を説明する。下側の隣接ピクセル44を取り出すためのシフト量は、Cパスで現在参照しているレジスタブロックR46の水平位置すなわち6から、Sパスが現在参照しているレジスタブロックR34の水平位置すなわち4を引くことにより求められ、シフト量は2である。コンテクスト推定部22は、図21のストライプ4に対応するレジスタ列の上側のシフタ74に対してシフト量2を与えることで、シフタの保持する32ビットの情報を右へ2ブロック分だけシフトさせて、この隣接ピクセル44の周辺情報を取り出すことができる。
Referring to FIG. 20 again, the shift amount given to the shifter in order to extract the upper and lower adjacent pixels with the shifter will be described. The shift amount for extracting the lower
同様に、上側の隣接ピクセル42を取り出すためのシフト量は、Rパスで現在参照しているレジスタブロックR22の水平位置すなわち2から、Sパスが現在参照しているレジスタブロックR34の水平位置すなわち4を引くことにより求められ、シフト量は−2である。コンテクスト推定部22は、図21のストライプ2の下側のシフタ82に対してシフト量−2を与えることで、シフタの保持する32ビットの情報を左へ2ブロック分だけシフトさせて、この隣接ピクセル42の周辺情報を取り出すことができる。
Similarly, the shift amount for extracting the upper
図22は、周辺情報レジスタ群20を共有してビットプレーン単位およびパス単位で並列処理を行う様子を説明する図である。同図は、ある時刻において、ストライプ7では、前のビットプレーンのCパスが処理され、ストライプ6、5、4では、それぞれ現ビットプレーンのSパス、Rパス、Cパスがそれぞれ処理され、ストライプ3、2、1では、それぞれ次のビットプレーン(ここでは、最下位のビットプレーン)のSパス、Rパス、Cパスがそれぞれ処理され、ストライプ0では、次のコードブロックの最初のCパスが処理されている状態を示している。それぞれの処理パスで参照されているレジスタブロックを斜線で示している。実際には、斜線を付したレジスタブロックが左端に位置しているが、ここでは説明の便宜上、各レジスタ列のレジスタブロックをシフトさせないで、参照されるレジスタブロックの位置の方をずらして図示している。
FIG. 22 is a diagram illustrating a state in which the peripheral
パス単位の並列化を行う際、第1、第5レジスタでは隣接ピクセルが重なり合う可能性があり、隣接ピクセルが重なった場合、周辺情報の更新により影響を及ぼし合う。そこで、隣接ピクセルが重ならないように、上下のストライプで、各処理パスが参照するレジスタブロックが水平方向に2だけずれるように制御する。 When parallelization is performed in units of paths, adjacent pixels may overlap in the first and fifth registers. If adjacent pixels overlap, there is an influence by updating peripheral information. Therefore, control is performed so that the register block referred to by each processing path is shifted by 2 in the horizontal direction in the upper and lower stripes so that adjacent pixels do not overlap.
たとえば、ストライプ6でSパスが参照するレジスタブロックR66の水平位置と、ストライプ5でRパスが参照するレジスタブロックR54の水平位置は、2ブロック分ずれている。このように2ブロックだけずらしておけば、上下の隣接ピクセルは重なりをもたないため、周辺情報が更新されても影響を及ぼし合うことがない。
For example, the horizontal position of the register block R66 referenced by the S path in the
パス単位の並列化では、自分の処理パスの復号位置が前のパスの復号位置と水平方向に少なくとも2ブロック分ずれるように制御する。このため、上下のストライプで復号位置の差が2ブロックよりも小さくなる場合は、当該処理パスを停止し、少なくとも2ブロックだけずれたタイミングで動作を再開するように制御するタイミング制御部が設けられる。 In parallel processing in units of paths, control is performed so that the decoding position of its own processing path is shifted by at least two blocks in the horizontal direction from the decoding position of the previous path. For this reason, when the difference between the decoding positions in the upper and lower stripes is smaller than two blocks, a timing control unit is provided for controlling the processing path to stop and restart the operation at a timing shifted by at least two blocks. .
図23は、各処理パスの復号開始タイミング制御を説明するタイミングチャートである。第1ビットプレーン復号部30a(以下、BP0と略す)による各処理パスのストライプの処理タイミングと、第2ビットプレーン復号部30b(以下、BP1と略す)による各処理パスのストライプの処理タイミングとが示されている。 FIG. 23 is a timing chart illustrating decoding start timing control for each processing path. The stripe processing timing of each processing path by the first bit plane decoding unit 30a (hereinafter abbreviated as BP0) and the stripe processing timing of each processing path by the second bit plane decoding unit 30b (hereinafter abbreviated as BP1). It is shown.
時刻t1において、MSBブレーンに対してBP0によるCパスの処理が開始される。st0〜st7はそれぞれストライプ0〜7の処理タイミングを図示したものである。時刻t2において、2番目のプレーンにおいてBP1によるSパスの処理が開始される。ここで、BP1によるSパス処理がストライプ0の復号を開始する時刻t2は、BP0によるCパス処理がストライプ1に進み、参照するレジスタブロックの位置が2ブロックだけ離れたときである。このタイミング制御を図24を用いて説明する。
At time t1, C path processing by BP0 is started for the MSB brain. st0 to st7 illustrate the processing timing of the
図24は、図23の復号開始タイミング制御を詳しく説明するタイミングチャートである。上段には、BP0によるCパスのストライプ0、ストライプ1の復号処理のタイミングがレジスタブロックR00〜R07、R10〜R17の処理単位で図示されている。下段には、BP1によるSパスのストライプ0の復号処理のタイミングがレジスタブロックR00〜R07の処理単位で図示されている。
FIG. 24 is a timing chart for explaining in detail the decoding start timing control of FIG. In the upper part, the timing of decoding processing of
BP0によるCパス処理がストライプ1の3番目のレジスタブロックR12の位置まで進んだ時点t2において、BP1によるSパス処理がストライプ0の最初のレジスタブロックR00の位置で開始する。このとき、ストライプ1とストライプ0で各パスの復号位置が2ブロック分ずれているため、隣接ピクセルの重なりは生じない。以降、2ブロック分だけずれた状態で、ストライプ1についてはBP0によるCパス処理、ストライプ0についてはBP1によるSパス処理が進む。
At the time point t2 when the C pass processing by BP0 has advanced to the position of the third register block R12 of the
時刻t7において、BP1によるSパス処理では、ストライプ0の2番目のレジスタブロックR01の位置の復号処理が終了するが、BP0によるCパス処理では、ストライプ1の4番目のレジスタブロックR13の位置の復号処理に時間がかかり、まだ終了していない。このとき、BP1によるストライプ0のSパス処理は一旦停止する。
At time t7, the decoding process of the position of the second register block R01 in
時刻t8において、BP0によるCパス処理でストライプ1の4番目のレジスタブロックR13の位置の復号処理が終了すると、BP1によるストライプ0のSパス処理が再開し、3番目のレジスタブロックR02の位置の復号処理を開始する。このとき、BP0によるストライプ1のCパス処理は5番目のレジスタブロックR14の位置の復号処理を始める。この動作タイミング制御により、ストライプ1についてのCパス処理、ストライプ0についてのSパス処理は2ブロック分だけずれた状態が保持される。
At time t8, when the decoding process of the position of the fourth register block R13 of
再び、図23に戻り、時刻t3において、BP1によるRパスが2番目のプレーンのストライプ0の復号を開始する。ここで、BP1によるRパス処理がストライプ0の復号を開始する時刻t3は、BP1によるSパス処理がストライプ1に進み、参照するレジスタブロックの位置が2ブロックだけ離れたときである。このタイミング制御は図24と同じである。以下、同様にして、時刻t4において、BP1によるCパス処理がストライプ0の復号を開始する。
Returning to FIG. 23 again, at time t3, the R path by BP1 starts decoding the
さらに、BP1によるCパス処理がストライプ1に進み、参照するレジスタブロックの位置が2ブロックだけ進んだ時点t5において、BP0によるSパス処理が3番目のプレーンのストライプ0の復号を開始する。同様にして、時刻t6では、BP0によるRパス処理がストライプ0の復号を開始する。
Further, at time t5 when the C path processing by BP1 advances to
このようにして、周辺情報レジスタ群20を共有しながら、2つのビットプレーンの各パスの処理が並列に実行される。
In this way, processing of each path of the two bit planes is executed in parallel while sharing the peripheral
図25は、コードブロックの復号開始タイミング制御を説明するタイミングチャートである。上段には、BP0によるSパス、Rパス、Cパスにおける各ストライプの復号タイミングが図示されている。下段には、BP1によるSパス、Rパス、Cパスにおける各ストライプの復号タイミングが図示されている。現在のコードブロックの処理については、斜線が付されており、次のコードブロックの処理については、斜線が付されていない。 FIG. 25 is a timing chart illustrating code block decoding start timing control. The upper part shows the decoding timing of each stripe in the S pass, R pass, and C pass by BP0. The lower part shows the decoding timing of each stripe in the S pass, R pass, and C pass by BP1. The process of the current code block is hatched, and the process of the next code block is not hatched.
BP0では、現在のコードブロックのLSBプレーンについて、Sパス、Rパス、Cパスの順に処理が進み、時刻t11で当該コードブロックの最後のCパスの処理が終了している。一方、BP1では、現在のコードブロックのLSBより一つ上のプレーンについて、Sパス、Rパス、Cパスの順に処理が進み、BP0のコードブロックの復号終了時刻t11よりも早い時刻t10において当該プレーンのCパスの処理が終了している。そこで、BP0によりコードブロックの最後のパスが終了する時刻t11を待たずに、BP1によりLSBより一つ前のプレーンのCパスが終了した時点t10において、BP1によって次のコードブロックの最初のCパス処理を開始する。この動作制御により、次のコードブロックのMSBプレーンのCパス処理を早期に連続して実行することができる。 In BP0, the LSB plane of the current code block is processed in the order of the S pass, the R pass, and the C pass, and the process of the last C pass of the code block is completed at time t11. On the other hand, in BP1, processing proceeds in the order of the S pass, R pass, and C pass for the plane immediately above the LSB of the current code block, and the plane at time t10 earlier than the decoding end time t11 of the code block of BP0. The C path processing has been completed. Therefore, without waiting for the time t11 when the last pass of the code block is finished by BP0, at the time t10 when the C pass of the plane immediately before LSB is finished by BP1, the first C pass of the next code block by BP1. Start processing. By this operation control, the C path processing of the MSB plane of the next code block can be executed continuously at an early stage.
以降、BP1によるCパス処理がMSBプレーンのストライプ1まで進んでから、BP0によるSパス処理が次のプレーンのストライプ0から始まる。以降、順にBP0によるRパス処理、Cパス処理、さらに、BP1によるSパス処理、Rパス処理が始まる。各パスの処理開始タイミング制御は図23、24で既に説明した通りである。
Thereafter, after the C path processing by BP1 proceeds to
以上説明したように、本実施の形態によれば、各パスの復号部12S、12R、12Cが周辺情報レジスタ群20を共有して、1サイクルで一連の復号処理を完結できることを利用して、ビットプレーン単位およびパス単位で算術復号を並列して行うことができる。算術復号は周辺情報の更新をしながら行うため、一般には復号処理の並列化は困難であるが、本実施の形態では、周辺情報レジスタ群20の更新が算術復号と同一サイクルで行えるため、ビットプレーン単位の並列化だけでなく、パス単位の細かい並列化もできる。また、符号化画像のヘッダに各パスのバイト数の情報が含まれていない場合は、少なくともビットプレーン単位の並列化ができる。
As described above, according to the present embodiment, using the fact that the
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を以下に示す。 The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. . Such a modification is shown below.
上記のいずれの実施の形態の画像復号装置も、入力された原画像をJPEG2000方式により圧縮符号化する画像符号化装置と一体化されてもよく、その場合、画像復号装置と画像符号化装置の間で、周辺情報レジスタを共用し、画像符号化装置においても復号の際と同様の周辺情報レジスタを利用する算術符号化部の構成を設けてもよい。ただし、符号化の場合は、周辺情報レジスタの内容は、原画像データからあらかじめ作成することができるため、復号時のように周辺情報レジスタの内容を演算結果によって更新する必要はない。 The image decoding apparatus according to any of the above embodiments may be integrated with an image encoding apparatus that compresses and encodes an input original image by the JPEG2000 method. In this case, the image decoding apparatus and the image encoding apparatus The peripheral information register may be shared, and the image encoding apparatus may be provided with an arithmetic encoding unit that uses the same peripheral information register as that used for decoding. However, in the case of encoding, since the contents of the peripheral information register can be created in advance from the original image data, it is not necessary to update the contents of the peripheral information register with the calculation results as in decoding.
上記の実施の形態の画像復号装置は、画像撮像ブロックと撮影した画像を算術符号化する画像符号化部を含むデジタルカメラに組み込まれ、算術符号化された画像を復号し再生するために用いられてもよい。また、上記の実施の形態の画像復号装置は監視カメラの信号処理部に組み込まれ、JPEG2000方式で符号化された監視画像の復号再生に利用されてもよい。監視カメラで撮影され、符号化された画像データがネットワーク経由で送信され、ネットワークに接続した画像復号装置が、ネットワークから受信した符号化画像データを復号して再生する構成でもよい。 The image decoding apparatus according to the above embodiment is incorporated in a digital camera including an image capturing block and an image encoding unit that arithmetically encodes a captured image, and is used to decode and reproduce the arithmetically encoded image. May be. Further, the image decoding apparatus according to the above-described embodiment may be incorporated in a signal processing unit of a surveillance camera and used for decoding and reproduction of a surveillance image encoded by the JPEG2000 system. The image data captured and encoded by the surveillance camera may be transmitted via the network, and the image decoding apparatus connected to the network may decode and reproduce the encoded image data received from the network.
10 ストリーム解析部、 12 エントロピー復号部、 14 逆量子化部、 16 ウェーブレット逆変換部、 20 周辺情報レジスタ群、 22 コンテクスト推定部、 23 コンテクストレジスタ、 24 算術復号部、 25 更新判定部、 26 画像バッファ、 27 復号位置算出部、 28 周辺情報読取部、 30a 第1ビットプレーン復号部、 30b 第2ビットプレーン復号部、 12S S、R、Cパス復号部、 12R Rパス復号部、 12C Cパス復号部、 40 エントロピー復号部、 100 画像復号装置。
10 stream analysis unit, 12 entropy decoding unit, 14 inverse quantization unit, 16 wavelet inverse transformation unit, 20 peripheral information register group, 22 context estimation unit, 23 context register, 24 arithmetic decoding unit, 25 update determination unit, 26
Claims (8)
前記周辺情報レジスタから前記周辺情報を読み出して画素の復号結果を予測するためのコンテクスト情報を生成するコンテクスト推定部と、
生成されたコンテクスト情報および画素の符号化データからその画素を復号する復号部とを有し、
当該復号部は、単位復号期間ごとに一画素を復号するとともに、各単位復号期間の終了時に、その単位復号期間において復号された画素の復号結果によって前記周辺情報を更新して前記周辺情報レジスタに書き戻すことを特徴とする画像復号装置。 When decoding a pixel, a peripheral information register that holds peripheral information of the pixel;
A context estimation unit that reads out the peripheral information from the peripheral information register and generates context information for predicting a pixel decoding result;
A decoding unit for decoding the pixel from the generated context information and the encoded data of the pixel,
The decoding unit decodes one pixel every unit decoding period, and at the end of each unit decoding period, updates the peripheral information with the decoding result of the pixels decoded in the unit decoding period, and stores it in the peripheral information register. An image decoding apparatus characterized by writing back.
エントロピー復号されたデータを逆量子化する逆量子化部と、
逆量子化されたデータに空間周波数逆変換を施す逆変換部とを備え、
前記エントロピー復号ブロックは、
画素を復号する際、その画素の周辺情報を保持する周辺情報レジスタと、
前記周辺情報レジスタから前記周辺情報を読み出して画素の復号結果を予測するためのコンテクスト情報を生成するコンテクスト推定部と、
生成されたコンテクスト情報および画素の符号化データからその画素を復号する復号部とを有し、
当該復号部は、単位復号期間ごとに一画素を復号するとともに、各単位復号期間の終了時に、その単位復号期間において復号された画素の復号結果によって前記周辺情報を更新して前記周辺情報レジスタに書き戻すことを特徴とする画像復号装置。 An entropy decoding block for entropy decoding the encoded image;
An inverse quantization unit for inversely quantizing the entropy decoded data;
An inverse transform unit that performs inverse spatial frequency transform on the inversely quantized data;
The entropy decoding block is:
When decoding a pixel, a peripheral information register that holds peripheral information of the pixel;
A context estimation unit that reads out the peripheral information from the peripheral information register and generates context information for predicting a pixel decoding result;
A decoding unit for decoding the pixel from the generated context information and the encoded data of the pixel,
The decoding unit decodes one pixel every unit decoding period, and at the end of each unit decoding period, updates the peripheral information with the decoding result of the pixels decoded in the unit decoding period, and stores it in the peripheral information register. An image decoding apparatus characterized by writing back.
前記周辺情報レジスタは、複数の前記コンテクスト推定部により共有され、保持された前記周辺情報は、複数の前記復号部の復号結果によりそれぞれの単位復号期間において更新されることを特徴とする請求項1から5のいずれかに記載の画像復号装置。 A plurality of the context estimation unit and the decoding unit are provided for parallel processing,
2. The peripheral information register is shared by a plurality of the context estimation units, and the held peripheral information is updated in each unit decoding period by a decoding result of the plurality of decoding units. 6. The image decoding device according to any one of 1 to 5.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004034081A JP2005229218A (en) | 2004-02-10 | 2004-02-10 | Image decoding apparatus |
| US11/054,537 US7418146B2 (en) | 2004-02-10 | 2005-02-10 | Image decoding apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004034081A JP2005229218A (en) | 2004-02-10 | 2004-02-10 | Image decoding apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005229218A true JP2005229218A (en) | 2005-08-25 |
Family
ID=35003607
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004034081A Withdrawn JP2005229218A (en) | 2004-02-10 | 2004-02-10 | Image decoding apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2005229218A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007074648A (en) * | 2005-09-09 | 2007-03-22 | Matsushita Electric Ind Co Ltd | CABAC decoding device |
| JP2018527835A (en) * | 2015-09-18 | 2018-09-20 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Method and apparatus for fast and efficient image compression and decompression |
-
2004
- 2004-02-10 JP JP2004034081A patent/JP2005229218A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007074648A (en) * | 2005-09-09 | 2007-03-22 | Matsushita Electric Ind Co Ltd | CABAC decoding device |
| JP2018527835A (en) * | 2015-09-18 | 2018-09-20 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Method and apparatus for fast and efficient image compression and decompression |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7418146B2 (en) | Image decoding apparatus | |
| JP4878262B2 (en) | Entropy encoding device | |
| US8018996B2 (en) | Arithmetic decoding apparatus and method | |
| US9451291B1 (en) | Fast DWT-based intermediate video codec optimized for massively parallel architecture | |
| JP2006191628A (en) | Adaptive coefficient scan ordering | |
| CN104581177B (en) | Image compression method and device combining block matching and string matching | |
| US7129862B1 (en) | Decoding bit streams encoded according to variable length codes | |
| JP4785706B2 (en) | Decoding device and decoding method | |
| US20110091123A1 (en) | Coding apparatus and coding method | |
| CN101707716A (en) | Video coder and coding method | |
| JP4547503B2 (en) | Arithmetic coding apparatus, arithmetic coding method, arithmetic coding program, and computer-readable recording medium storing the program | |
| KR20240137005A (en) | Data processing methods, devices and media | |
| JP4061104B2 (en) | Memory access and skipping based on run / skip count by context model | |
| CN117351101A (en) | Neural processing unit and device for decoding/encoding video | |
| US20030039400A1 (en) | Hardware context vector generator for JPEG2000 block-coding | |
| JP5842357B2 (en) | Image processing apparatus and image processing program | |
| JP2005229218A (en) | Image decoding apparatus | |
| JP7064644B2 (en) | Video encoding device | |
| JP2005277758A (en) | Image decoding apparatus | |
| JP2001025018A (en) | Wavelet transform device, encoding / decoding device, wavelet transform processing method, and recording medium | |
| Jilani et al. | JPEG Image compression using FPGA with artificial neural networks | |
| WO2025200931A1 (en) | Method, apparatus, and medium for visual data processing | |
| WO2025157163A1 (en) | Method, apparatus, and medium for visual data processing | |
| US20040179592A1 (en) | Image coding apparatus | |
| WO2025149063A1 (en) | Method, apparatus, and medium for visual data processing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061012 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080711 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080717 |