[go: up one dir, main page]

JP2005229218A - Image decoding apparatus - Google Patents

Image decoding apparatus Download PDF

Info

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
Application number
JP2004034081A
Other languages
Japanese (ja)
Inventor
Takeshi Watanabe
剛 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2004034081A priority Critical patent/JP2005229218A/en
Priority to US11/054,537 priority patent/US7418146B2/en
Publication of JP2005229218A publication Critical patent/JP2005229218A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem of a conventional arithmetic decode processing that takes much time for the decode processing since a context is presumed while updating peripheral information on the basis of a decoding result. <P>SOLUTION: A stream analysis section 10 inputs coded data CD to an entropy decoding section 12. A peripheral information register group 20 stores the peripheral information with respect to a target pixel for presuming the context used for arithmetic decoding of the coded data CD. A context presuming section 22 presumes the context on the basis of the peripheral information stored in the peripheral information register group 20 and gives a context label CX to an arithmetic decoding section 24. The arithmetic decoding section 24 decodes the coded data CD on the basis of the context label CX to obtain a decision D and gives it to an inverse quantization section 14. The peripheral information stored in the peripheral information register group 20 is updated by the same cycle as that required for decoding depending on a decoding result by the arithmetic decoding section 24. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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には、とりうるコンテクストの候補を複数用意して算術符号化の演算結果によりセレクタで切り替える構成の算術符号化装置および算術復号装置が開示されている。
特許3406550号公報
As described above, in the arithmetic encoding process, it is necessary to input a context in addition to the data to be encoded. Patent Document 1 discloses an arithmetic encoding device and an arithmetic decoding device configured to prepare a plurality of possible context candidates and switch them by a selector according to the arithmetic encoding operation result.
Japanese Patent No. 3406550

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 Patent Literature 1, context candidates are prepared in advance, but the control for switching the context candidates is complicated. In addition, when processing is performed in parallel with this apparatus, the number of context candidates increases exponentially, resulting in an increase in circuit scale and complicated control.

本発明はこうした課題に鑑みてなされたものであり、その目的は、高速に復号を行うことのできる画像復号技術を提供することにある。別の目的は、並列化が容易な画像復号技術を提供することにある。   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で実現でき、ソフトウエア的にはメモリのロードされた復号機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
Embodiment 1
FIG. 1 is a configuration diagram of an image decoding apparatus 100 according to the first embodiment. The configuration of the image decoding apparatus 100 can be realized in hardware by a CPU, memory, or other LSI of an arbitrary computer, and is realized in software by a program having a decoding function loaded in the memory. Here, the functional blocks realized by the cooperation are depicted. Accordingly, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.

画像復号装置100は、圧縮符号化された画像の入力を受け、入力された符号化画像を復号して出力する。符号化画像は、原画像が4つの周波数サブバンドへ再帰的に分割されてウェーブレット変換され、量子化の後、算術符号化された画像であり、一例としてJPEG2000の規格にしたがうものである。   The image decoding apparatus 100 receives an input of a compression encoded image, decodes the input encoded image, and outputs the decoded image. An encoded image is an image obtained by recursively dividing an original image into four frequency subbands, wavelet transforming, and quantizing and then arithmetically encoding. The encoded image conforms to the JPEG2000 standard as an example.

画像復号装置100に入力される符号化画像は、動画像の符号化フレームであってもよい。画像復号装置100は、符号化ストリームとして入力される動画像の各符号化フレームを連続的に復号することにより動画を再生することができる。   The encoded image input to the image decoding device 100 may be an encoded frame of a moving image. The image decoding apparatus 100 can reproduce a moving image by continuously decoding each encoded frame of a moving image input as an encoded stream.

ストリーム解析部10は、入力された符号化画像のストリームを解析して符号化データを抽出し、エントロピー復号部12に与える。エントロピー復号部12は、符号化データをビットプレーン毎にエントロピー復号し、復号の結果得られる量子化されたウェーブレット変換係数を逆量子化部14に与える。   The stream analysis unit 10 analyzes the input encoded image stream, extracts the encoded data, and provides the extracted data to the entropy decoding unit 12. The entropy decoding unit 12 entropy-decodes the encoded data for each bit plane, and gives the quantized wavelet transform coefficient obtained as a result of the decoding to the inverse quantization unit 14.

逆量子化部14は、ウェーブレット変換係数の量子化値を逆量子化してウェーブレット逆変換部16に与える。ウェーブレット逆変換部16は逆量子化されたウェーブレット変換係数を逆変換し、得られた復号画像を出力する。   The inverse quantization unit 14 inversely quantizes the quantized value of the wavelet transform coefficient and provides the quantized value to the wavelet inverse transform unit 16. The wavelet inverse transform unit 16 inversely transforms the inversely quantized wavelet transform coefficients and outputs the obtained decoded image.

図2は、エントロピー復号部12の構成図である。ストリーム解析部10からエントロピー復号部12に符号化データCDが入力される。周辺情報レジスタ群20は、符号化データCDの算術復号に使用するコンテクストを推定するための着目画素に対する周辺情報を保持するレジスタである。コンテクスト推定部22は、周辺情報レジスタ群20に保持された周辺情報をもとに、符号化データCDの復号結果を予測するためのコンテクストを推定し、コンテクストラベルCXを算術復号部24に与える。   FIG. 2 is a configuration diagram of the entropy decoding unit 12. The encoded data CD is input from the stream analysis unit 10 to the entropy decoding unit 12. The peripheral information register group 20 is a register that holds peripheral information for a pixel of interest for estimating a context used for arithmetic decoding of the encoded data CD. The context estimation unit 22 estimates the context for predicting the decoding result of the encoded data CD based on the peripheral information held in the peripheral information register group 20 and provides the context label CX to the arithmetic decoding unit 24.

算術復号部24は、ストリーム解析部10からは符号化データCD、コンテクスト推定部22からはコンテクストラベルCXを入力として受け取り、算術復号演算により2値の判定値であるデシジョンDを求めて、逆量子化部14に与える。算術復号部24から出力されるデシジョンDは、単位復号期間の終了時に、すなわち復号と同一サイクルで、周辺情報レジスタ群20に入力され、周辺情報レジスタ群20に保持されている周辺情報が算術復号部24による演算結果により更新される。   The arithmetic decoding unit 24 receives the encoded data CD from the stream analysis unit 10 and the context label CX from the context estimation unit 22 as input, obtains a decision D that is a binary decision value by arithmetic decoding, and performs inverse quantum To the conversion unit 14. The decision D output from the arithmetic decoding unit 24 is input to the peripheral information register group 20 at the end of the unit decoding period, that is, in the same cycle as the decoding, and the peripheral information held in the peripheral information register group 20 is arithmetic decoded. Updated by the calculation result by the unit 24.

コンテクスト推定部22は、JPEG2000における復号時の係数ビットモデリング処理を行うものである。復号時の係数ビットモデリング処理は、算術復号部24による復号結果を利用して周辺情報を更新しながら、算術復号の際に必要となるコンテクストを決定する処理である。以下、図3〜図10を参照して、復号時の係数ビットモデリング処理を説明する。   The context estimation unit 22 performs a coefficient bit modeling process at the time of decoding in JPEG2000. The coefficient bit modeling process at the time of decoding is a process of determining the context required for the arithmetic decoding while updating the peripheral information using the decoding result by the arithmetic decoding unit 24. Hereinafter, the coefficient bit modeling process at the time of decoding will be described with reference to FIGS.

ストリーム解析部10により符号化ストリームから抽出されたサブバンド画像はコードブロックと呼ばれる小領域に分割され、コードブロックが復号処理単位となる。サブバンド画像は、原画像のx、yの両方向において低周波成分を有するLLサブバンド、x、yのいずれかひとつの方向において低周波成分を有し、かつもう一方の方向において高周波成分を有するHLおよびLHサブバンド、x、yの両方向において高周波成分を有するHHサブバンドのいずれかである。   The subband image extracted from the encoded stream by the stream analysis unit 10 is divided into small regions called code blocks, and the code block is a decoding processing unit. The subband image has an LL subband having a low frequency component in both the x and y directions of the original image, a low frequency component in one of the x and y directions, and a high frequency component in the other direction. The HL and LH subbands are either HH subbands having high frequency components in both the x and y directions.

コードブロックのサイズは、高さと幅が2〜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 entropy decoding unit 12 selects bit planes in order from the higher order bits, and performs decoding processing of each coefficient on the bit plane in units of bit planes.

図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 context estimation unit 22 Σhi (= h0 + h1) that gives the number of significant coefficients among the two neighboring coefficients h0 and h1 in the horizontal direction, and the two neighboring coefficients v0, Σvi (= v1 + v2) that gives the number of significant coefficients in v1, and Σdi (= d1 + d2 + d3 + d4) that gives the number of significant coefficients among the four neighboring coefficients d0, d1, d2, and d3 in the diagonal direction Ask for.

図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 labels 0 to 8 are associated with each other. The context estimation unit 22 refers to the context classification table, and determines nine types of coefficients to be processed in the S path according to the combination of the directionality of subband frequency components and the number of neighboring coefficients Σhi, Σvi, Σdi that are significant. And the corresponding context label CX is output.

また、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 context estimation unit 22 first determines whether each of the two vertical neighborhood coefficients v0 and v1 is a positive significant coefficient, a negative significant coefficient, or a nonsignificant coefficient. Referring to the table of FIG. 7, any value of “0”, “1”, “−1” is assigned to the vertical index v. Similarly, any one of “0”, “1”, and “−1” is assigned to the horizontal index h with reference to the table of FIG. 7 for the horizontal neighborhood coefficients h0 and h1.

図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 context estimation unit 22 refers to the table of FIG. 8 and classifies the polarity bits into one of five types of contexts according to the combination of the obtained horizontal index h and vertical index v values, and outputs the corresponding context label CX. To do.

次に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 context estimation unit 22 obtains a value of Σhi + Σvi + Σdi indicating the number of significant coefficients among the eight neighboring coefficients for the current coefficient X, and further, the current coefficient X is significantly higher in the bit plane one level higher. In other words, it is determined whether or not the current R path is the first path after the current coefficient X has changed from a non-significant state to a significant state. As shown, it is classified into three types of contexts identified by labels 14 to 16, and the corresponding context label CX is output.

最後に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 context estimation unit 22, the context label CX of each coefficient on the bit plane is determined using any one of the three processing paths.

周辺情報レジスタ群20は、コードブロックの1枚のビットプレーン分の大きさに対応っして縦横32ビットのレジスタを5種類設けたものであり、コードブロック全体の周辺情報を保持する。周辺情報レジスタ群20を構成する第1から第5レジスタは、コンテクスト推定部22がビットプレーンにおける各処理パスでコンテクストラベルCXを求めるために必要な情報を格納する。   The peripheral information register group 20 is provided with five types of 32-bit vertical and horizontal registers corresponding to the size of one bit plane of the code block, and holds peripheral information of the entire code block. The first to fifth registers constituting the peripheral information register group 20 store information necessary for the context estimation unit 22 to obtain the context label CX in each processing path in the bit plane.

周辺情報レジスタ群20の第1レジスタは、各係数が有意であるか、有意でないかを示す情報を格納する。第2レジスタは、各係数が一つ上のビットプレーンで有意になったかどうかを示す情報を格納し、Rパスの処理で使用される。第3レジスタは、各係数が現在のビットプレーンで有意になったかどうかを示す情報を格納する。これは第2レジスタの情報を生成するために必要となる。第4レジスタは、各係数は既に復号済みかどうかを示す情報を格納し、Cパスの処理で使用される。第4レジスタの情報は、第1レジスタと第3レジスタの情報から算出できるが、処理の便宜のために別途情報を保持しておく。第5レジスタは、各係数の正負の符号を示す極性の情報を格納する。   The first register of the peripheral information register group 20 stores information indicating whether each coefficient is significant or not significant. The second register stores information indicating whether each coefficient has become significant in the bit plane one level above, and is used in the R path processing. The third register stores information indicating whether each coefficient has become significant in the current bit plane. This is necessary to generate the information in the second register. The fourth register stores information indicating whether or not each coefficient has already been decoded, and is used in the C pass process. The information in the fourth register can be calculated from the information in the first register and the third register, but the information is held separately for convenience of processing. The fifth register stores polarity information indicating the sign of each coefficient.

第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 information register group 20. Each of the five types of registers included in the peripheral information register group 20 has a configuration in which registers corresponding to the stripe size are arranged by the number of stripes in accordance with the code block being scanned and decoded in units of stripes. Take. Each register row has 4 bits in length corresponding to 4 pixels in the vertical direction of the stripe, and 32 bits in width corresponding to 32 pixels in the width of the code block.

各レジスタ列は、高速化と小型化のために、横方向に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 stripe 0 as an example, which is divided into register blocks R00 to R07 by 4 bits, and can be read from and written to the leftmost register block R00. This register functions like a ring buffer or barrel shifter. As shown in FIG. 12B, the R00 at the left end is moved to the right end, and the remaining R01 to R07 are sequentially shifted to the left by 4 bits. Thus, the register location that can be read and written can be shifted by 4 bits.

本実施の形態では、各プレーンについて、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 information register group 20 is determined in the decoding cycle every time the arithmetic decoding unit 24 decodes one bit plane coefficient and determines the decision D. Updated.

以上説明したように、本実施の形態によれば、各係数のコンテクストの推定に必要な周辺情報をレジスタで保持しているため、周辺情報を高速に読み出して、コンテクストを推定し、算術復号部に与えることができる。また、算術復号による演算結果を利用して、算術復号と同一サイクルでレジスタに保持された周辺情報を更新することができる。周辺情報を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の構成だけが異なり、他の構成は同じである。
Embodiment 2
FIG. 13 is a configuration diagram of the entropy decoding unit 12 in the image decoding apparatus according to Embodiment 2. The image decoding apparatus according to the present embodiment is different from the image decoding apparatus 100 according to the first embodiment only in the configuration of the entropy decoding unit 12, and the other configurations are the same.

本実施の形態のエントロピー復号部12では、コンテクスト推定部22によりあらかじめ計算されたコンテクストラベルCXを保持するためのコンテクストレジスタ23がコンテクスト推定部22の後段に設けられる。   In the entropy decoding unit 12 of the present embodiment, a context register 23 for holding the context label CX calculated in advance by the context estimation unit 22 is provided in the subsequent stage of the context estimation unit 22.

周辺情報レジスタ群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 arithmetic decoding unit 24 is fed back to the peripheral information register group 20, and the contents held in each register are updated as appropriate. In order to estimate the context, the updated peripheral information register group 20 is referred to. In the present embodiment, the context estimation unit 22 further receives the value of the decision D from the arithmetic decoding unit 24 directly without passing through the peripheral information register group 20, thereby requiring a context label required in the next cycle. CX is obtained first, and the context register 23 latches the context label CX. The arithmetic decoding unit 24 receives the context label CX latched in the context register 23 and advances decoding of the encoded data CD.

本実施の形態によれば、周辺情報レジスタ群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 information register group 20, the context label CX can be calculated by bypassing the peripheral information register group 20, and the arithmetic decoding unit By using the context label CX in which 24 is latched, the speed of the decoding process can be further increased.

実施の形態3
図14は、実施の形態3に係る画像復号装置におけるエントロピー復号部12の構成図である。本実施の形態の画像復号装置も、実施の形態1の画像復号装置100とエントロピー復号部12の構成だけが異なり、他の構成は同じである。
Embodiment 3
FIG. 14 is a configuration diagram of the entropy decoding unit 12 in the image decoding device according to Embodiment 3. The image decoding apparatus according to the present embodiment also differs from the image decoding apparatus 100 according to the first embodiment only in the configuration of the entropy decoding unit 12, and the other configurations are the same.

本実施の形態のエントロピー復号部12は、ビットプレーンのストライプを走査しながら復号する際、すべての係数を走査するのではなく、復号すべき係数の箇所を特定しながら、復号処理を進める。   The entropy decoding unit 12 according to the present embodiment proceeds the decoding process while specifying the location of the coefficient to be decoded instead of scanning all the coefficients when decoding while scanning the stripe of the bit plane.

復号位置算出部27は、周辺情報レジスタ群20に保持された周辺情報を参照して、各処理パスにおいて復号すべき係数の位置を算出する。   The decoding position calculation unit 27 refers to the peripheral information held in the peripheral information register group 20 and calculates the position of the coefficient to be decoded in each processing pass.

図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 position calculation unit 27. FIG. FIG. 15 (a) shows the order of decoding by scanning the minimum processing unit 60 of 4 pixels vertically and horizontally by 4 pixels in the vertical direction, and usually the peripheral information is displayed pixel by pixel in this scanning order. Inspect and decrypt.

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 reference numeral 51 is significant among the neighboring coefficients 52 surrounded by eight dotted lines with respect to the coefficient 50 indicated by the diagonal line at the upper left corner. At this time, for example, it can be seen that at least one of the eight neighboring coefficients 54 is significant with respect to the second coefficient 53 indicated by hatching, so that the second coefficient 53 is determined as a coefficient to be decoded. can do. FIG. 15 (c) shows a state in which the coefficients 50, 53, 55 determined to be decoded in this way are sequentially traced.

周辺情報読取部28は、復号位置算出部27で指定された位置に対する周辺情報を周辺情報レジスタ群20から読み取り、コンテクスト推定部22に与える。算術復号部24によるデシジョンDは、復号位置算出部27により決められた位置Lにもとづいて、画像バッファ26に格納される。画像バッファ26に書き出された復号後のウェーブレット変換係数は逆量子化部14に出力される。画像バッファ26は、コードブロック単位もしくはストライプ単位などの所定の単位の復号が終わると、次の復号単位の結果を格納する前にリセットされる。   The peripheral information reading unit 28 reads the peripheral information for the position specified by the decoding position calculation unit 27 from the peripheral information register group 20 and supplies the information to the context estimation unit 22. The decision D by the arithmetic decoding unit 24 is stored in the image buffer 26 based on the position L determined by the decoding position calculation unit 27. The decoded wavelet transform coefficients written in the image buffer 26 are output to the inverse quantization unit 14. When the decoding of a predetermined unit such as a code block unit or a stripe unit is completed, the image buffer 26 is reset before storing the result of the next decoding unit.

本実施の形態によれば、周辺情報レジスタ群20の内容を参照することで、各処理パスにおいて次に復号すべき係数を特定し、復号の必要のない係数の処理をスキップすることができるため、復号処理のさらなる高速化を図ることができる。   According to the present embodiment, by referring to the contents of the peripheral information register group 20, it is possible to specify a coefficient to be decoded next in each processing pass and skip processing of a coefficient that does not need to be decoded. Further, it is possible to further speed up the decoding process.

実施の形態4
図16は、実施の形態4に係る画像復号装置におけるエントロピー復号部12の構成図である。本実施の形態の画像復号装置も、実施の形態1の画像復号装置100とエントロピー復号部12の構成だけが異なり、他の構成は同じである。
Embodiment 4
FIG. 16 is a configuration diagram of the entropy decoding unit 12 in the image decoding apparatus according to the fourth embodiment. The image decoding apparatus according to the present embodiment also differs from the image decoding apparatus 100 according to the first embodiment only in the configuration of the entropy decoding unit 12, and the other configurations are the same.

本実施の形態では、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 context estimation units 22a and 22b and two arithmetic decoding units 24a and 24b are provided to decode two pixels in parallel. The first context estimation unit 22a estimates the context label CX1 for the first pixel, and based on the context label CX1, the first arithmetic decoding unit 24a performs the decoding process for the first pixel, and the first decision D1 is output. On the other hand, the second context estimation unit 22b estimates the context label CX2 for the second pixel, and based on the context label CX2, the second arithmetic decoding unit 24b performs the decoding process for the second pixel, and the second The decision D2 is output.

更新判定部25は、第1の算術復号部24aの第1のデシジョンD1の値により、第1の算術復号部24aによる復号結果によって第2の算術復号部24bに入力された情報を更新する必要があるかどうかを判定し、その必要があれば、第1の算術復号部24aによる復号結果を第2の算術復号部24bに与える。また、第1、第2の算術復号部24a、bは互いに確率推定値を交換し、算術復号の精度を向上させる。   The update determination unit 25 needs to update the information input to the second arithmetic decoding unit 24b by the decoding result of the first arithmetic decoding unit 24a with the value of the first decision D1 of the first arithmetic decoding unit 24a. If it is necessary, the result of decoding by the first arithmetic decoding unit 24a is given to the second arithmetic decoding unit 24b. The first and second arithmetic decoding units 24a and 24b exchange probability estimates with each other to improve the accuracy of arithmetic decoding.

第1、第2の算術復号部24a、24bによる第1、第2のデシジョンD1、D2はともに周辺情報レジスタ群20にフィードバックされて、各レジスタの保持された情報が更新される。   Both the first and second decisions D1 and D2 by the first and second arithmetic decoding units 24a and 24b are fed back to the peripheral information register group 20, and the information held in each register is updated.

なお、本実施の形態において、第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 context estimation units 22a and 22b, as in the second embodiment, and the context labels CX1 and CX2 are latched. You may comprise.

実施の形態5
図17は、実施の形態5に係る画像復号装置におけるエントロピー復号部12の構成図である。本実施の形態の画像復号装置も、実施の形態1の画像復号装置100とエントロピー復号部12の構成だけが異なり、他の構成は同じである。
Embodiment 5
FIG. 17 is a configuration diagram of the entropy decoding unit 12 in the image decoding apparatus according to Embodiment 5. The image decoding apparatus according to the present embodiment also differs from the image decoding apparatus 100 according to the first embodiment only in the configuration of the entropy decoding unit 12, and the other configurations are the same.

本実施の形態は、図14で示した第3の実施の形態のエントロピー復号部12において、2画素の並列復号が可能なように構成を変更したものであり、2つの周辺情報読取部28a、28bと、2つのコンテクスト推定部22a、22bと、2つの算術復号部24a、24bとが設けられる。   In the present embodiment, the entropy decoding unit 12 of the third embodiment shown in FIG. 14 has a configuration changed so that parallel decoding of two pixels is possible. Two peripheral information reading units 28a, 28b, two context estimation units 22a and 22b, and two arithmetic decoding units 24a and 24b are provided.

復号位置算出部27は、実施の形態3で説明した方法で、周辺情報レジスタ群20に保持された周辺情報を参照して、各処理パスにおいて復号すべき係数の位置を算出するが、本実施の形態では、並列化のために、復号すべき係数を2箇所求め、その位置L1、L2をそれぞれ、第1、第2の周辺情報読取部28a、28bに与える。第1、第2の周辺情報読取部28a、28bは、それぞれ復号位置算出部27で指定された位置L1、L2に対する周辺情報を周辺情報レジスタ群20から読み取り、第1、第2のコンテクスト推定部22a、22bに与える。   The decoding position calculation unit 27 refers to the peripheral information held in the peripheral information register group 20 by the method described in the third embodiment, and calculates the position of the coefficient to be decoded in each processing path. In the embodiment, for parallelization, two coefficients to be decoded are obtained, and the positions L1 and L2 are given to the first and second peripheral information reading units 28a and 28b, respectively. The first and second peripheral information reading units 28a and 28b respectively read the peripheral information for the positions L1 and L2 designated by the decoding position calculation unit 27 from the peripheral information register group 20, and the first and second context estimation units 22a and 22b.

以降、第1、第2のコンテクスト推定部22a、22b、第1、第2の算術復号部24a、24b、および更新判定部25による2画素の並列復号動作については、実施の形態4と同じである。   Thereafter, the parallel decoding operation of two pixels by the first and second context estimation units 22a and 22b, the first and second arithmetic decoding units 24a and 24b, and the update determination unit 25 is the same as in the fourth embodiment. is there.

画像バッファ26には、復号位置算出部27から与えられる位置L1、L2にもとづいて第1、第2の算術復号部24a、24bから出力される第1、第2のデシジョンD1、D2が格納される。   The image buffer 26 stores the first and second decisions D1 and D2 output from the first and second arithmetic decoding units 24a and 24b based on the positions L1 and L2 given from the decoding position calculation unit 27. 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 context estimation units 22a and 22b, as in the second embodiment, and the context label CX is latched. May be.

実施の形態6
図18は、実施の形態6に係る画像復号装置におけるエントロピー復号部40の構成図である。本実施の形態の画像復号装置は、実施の形態1の画像復号装置100のエントロピー復号部12の構成を同図のエントロピー復号部40に置き換えたものであり、他の構成は実施の形態1の画像復号装置100と同じである。
Embodiment 6
FIG. 18 is a configuration diagram of the entropy decoding unit 40 in the image decoding apparatus according to the sixth embodiment. The image decoding apparatus according to the present embodiment is obtained by replacing the configuration of the entropy decoding unit 12 of the image decoding apparatus 100 according to the first embodiment with the entropy decoding unit 40 shown in FIG. This is the same as the image decoding device 100.

本実施の形態のエントロピー復号部40は、ビットプレーン単位および処理パス単位の並列化を行うものであり、ビットプレーン単位の並列化のために、第1ビットプレーン復号部30aと第2ビットプレーン復号部30bが設けられる。また、Sパス、Rパス、Cパスの各処理パス単位の並列化のために、第1ビットプレーン復号部30a、第2ビットプレーン復号部30bの内部には、S、R、Cパス復号部12S、Rパス復号部12R、およびCパス復号部12Cが含まれる。   The entropy decoding unit 40 according to the present embodiment performs parallel processing in units of bit planes and processing paths. For the parallel processing in units of bit planes, the first bit plane decoding unit 30a and the second bit plane decoding are performed. A portion 30b is provided. Further, in order to parallelize each processing path unit of the S path, the R path, and the C path, the first bit plane decoding unit 30a and the second bit plane decoding unit 30b include an S, R, and C path decoding unit. 12S, R path decoding unit 12R, and C path decoding unit 12C are included.

入力された符号化画像が、各パスの符号化ストリームのバイト数をヘッダに指定したフォーマットである場合、ストリーム解析部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 stream analysis unit 10 extracts the encoded stream for each pass and performs parallel processing in units of passes. Is possible. In this case, the encoded streams of the S pass, the R pass, and the C pass are provided from the stream analysis unit 10 to the S, R, C pass decoding unit 12S, the R pass decoding unit 12R, and the C pass decoding unit 12C, respectively, and decoded. It is processed. The S, R, and C path decoding unit 12S performs a dedicated decoding process on the S path, and in parallel, the R path decoding unit 12R performs a dedicated decoding process on the R path and the C path decoding unit 12C. Each path is decoded in parallel.

符号化画像のヘッダに各パスの符号化ストリームのバイト数が指定されていない場合は、各パスの区切りがわからないため、パス単位の並列処理を行うことはできない。パス単位の並列処理ができない場合、ストリーム解析部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 stream analysis unit 10 sequentially provides each of the S-pass, R-pass, and C-pass encoded streams to the S, R, and C-pass decoding units 12S, and the S, R, and C-pass decoding units 12S sequentially decodes each path in the order of S path, R path, and C path. At this time, the R path decoding unit 12R and the C path decoding unit 12C do not operate.

これらの各パス用の復号部12S、12R、12Cは、それぞれ実施の形態1〜5のいずれのエントロピー復号部12の構成であってもよいが、ここでは、説明の簡単のため、実施の形態1のエントロピー復号部12の構成を複数含む形態を説明する。   Each of the decoding units 12S, 12R, and 12C for each path may have the configuration of any of the entropy decoding units 12 of the first to fifth embodiments. A mode including a plurality of configurations of one entropy decoding unit 12 will be described.

第1ビットプレーン復号部30aの各パス用の復号部12S、12R、12Cは、それぞれコンテクスト推定部22と算術復号部24を含み、コンテクスト推定部22は、周辺情報レジスタ群20から周辺情報を読み出し、コンテクストラベルを計算して、算術復号部24に与える。算術復号部24はコンテクストラベルにもとづいて、各パスの符号化データを復号して、第1のデータレジスタ32aに書き込む。   The decoding units 12S, 12R, and 12C for each path of the first bit plane decoding unit 30a include a context estimation unit 22 and an arithmetic decoding unit 24, respectively, and the context estimation unit 22 reads peripheral information from the peripheral information register group 20 The context label is calculated and given to the arithmetic decoding unit 24. The arithmetic decoding unit 24 decodes the encoded data of each pass based on the context label and writes the decoded data to the first data register 32a.

第2ビットプレーン復号部30bについても同様であり、同一の周辺情報レジスタ群20を共用して、第2ビットプレーンの各パスの復号を並列に行い、第2のデータレジスタ32bに結果を出力する。なお、第1ビットプレーン復号部30aについては実線でデータの流れを図示し、第2ビットプレーン復号部30bについては点線でデータの流れを図示している。   The same applies to the second bit plane decoding unit 30b. The same peripheral information register group 20 is shared, the paths of the second bit plane are decoded in parallel, and the result is output to the second data register 32b. . For the first bit plane decoding unit 30a, the data flow is illustrated by a solid line, and for the second bit plane decoding unit 30b, the data flow is illustrated by a dotted line.

周辺情報レジスタ群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 information register group 20, the fifth register is a Sign plane indicating the sign of the coefficient in the code block. The data output unit 34 reads the decoding result of the first bit plane by the first bit plane decoding unit 30a from the first data register 32a, and the decoding result of the second bit plane by the second bit plane decoding unit 30b is the second Read from the data register 32b, and further read polarity data indicating the sign of the coefficient from the Sign plane of the peripheral information register group 20, and finally a decoded code block 36 consisting of the Sign plane and the plane from the MSB to the LSB. The decryption result is output in the form of

本実施の形態では、周辺情報レジスタ群20が2枚のビットプレーンで共有され、さらに各ビットプレーン内の各処理パスによっても共有される。そのため、周辺情報レジスタ群20の構成が、実施の形態1〜5とは一部異なる。以下、周辺情報レジスタ群20の構成と並列動作について詳しく説明する。   In this embodiment, the peripheral information register group 20 is shared by two bit planes, and further shared by each processing path in each bit plane. Therefore, the configuration of the peripheral information register group 20 is partially different from that of the first to fifth embodiments. Hereinafter, the configuration and parallel operation of the peripheral information register group 20 will be described in detail.

図19は、ビットプレーンの各ストライプにおける縦横4ピクセル、合計16ピクセルの最小処理単位60とその周囲の隣接ピクセル群を示す図である。この最小処理単位60は、周辺情報レジスタ群20の各レジスタから周辺情報を読み出す単位であり、各レジスタ列のレジスタブロックに相当する。実施の形態1で既に説明したように、Sパスでは、処理対象の係数に対して周囲の8個の近傍係数の有意性状態の情報が必要である。そのため、縦横4ピクセルの領域について1ピクセル毎に復号処理を行う際、斜線で示した隣接ピクセルについて周辺情報が必要となる。   FIG. 19 is a diagram showing a minimum processing unit 60 of 4 pixels in the vertical and horizontal directions in each stripe of the bit plane, a total of 16 pixels, and a neighboring pixel group in the vicinity thereof. The minimum processing unit 60 is a unit for reading peripheral information from each register of the peripheral information register group 20, and corresponds to a register block of each register row. As already described in the first embodiment, in the S pass, information on the significance state of eight neighboring coefficients is necessary for the coefficient to be processed. For this reason, when decoding processing is performed for each pixel in an area of 4 pixels in the vertical and horizontal directions, peripheral information is necessary for adjacent pixels indicated by hatching.

上下の6ピクセルずつの隣接ピクセル群62、64は、当該ストライプにはなく、上下のストライプに位置する。また、左右に4ピクセルずつの隣接ピクセル群61、63は、同一のストライプにおいて隣のレジスタブロックの位置にある。   The adjacent pixel groups 62 and 64 each having 6 pixels on the upper and lower sides are not located on the stripe, but are located on the upper and lower stripes. Further, the adjacent pixel groups 61 and 63 each having four pixels on the left and right are located at the position of the adjacent register block in the same stripe.

図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 adjacent pixel groups 61 to 64 around the minimum processing unit 60 of FIG. It is assumed that at a certain time, the stripe 2 is an R path processing target, the stripe 3 is an S path processing target, and the stripe 4 is a C path processing target of the previous bit plane.

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 stripe 2. In the S pass, the peripheral information is read from the register block R34 currently positioned at the left end and the decoding process is performed on the stripe 3. In the C path, the peripheral information is read from the register block R46 currently located at the left end and the decoding process is performed on the stripe 4. As described above, in parallel processing in units of processing paths, the decoding location of each processing path is controlled so as to be shifted by at least two blocks in the horizontal direction in order to avoid the influence of the update of the peripheral information.

いま、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 stripe 3, the minimum processing unit 60 is at the position of the register block R34. On the other hand, the adjacent pixel groups 62 and 64 of the upper and lower 6 pixels are at the positions of the register block R24 of the stripe 2 and the register block R44 of the stripe 4, respectively. Further, the adjacent pixel groups 61 and 63 of the four pixels on the left and right are respectively at the positions of the register blocks R33 and R35 of the stripe 3. In order to perform the S pass process, it is necessary to extract the peripheral information of these adjacent pixel groups 61 to 64 from the register blocks at the respective positions.

図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 information register group 20. Similar to each register of the peripheral information register group 20 of the first embodiment, register strings corresponding to the stripes of the bit plane are arranged, and each register string is shifted on the ring independently by 4 bits each like a ring buffer. Thus, reading and writing are possible from the left end. In the present embodiment, the leftmost register blocks R00, R10,..., R70, the right adjacent register blocks R01, R11,. Thus, a total of 6 bits are output, including 1 bit on the right side of each register block R07, R17,.

さらに、第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-end 1 bit string traversing all the register blocks in each register string corresponding to the stripes 1 to 7 is input to and held in the shifters 71 to 77, respectively. The lower end 1-bit string traversing all the register blocks in each register string corresponding to the stripes 0 to 6 is input to and held in the shifters 80 to 86, respectively. Each of the shifters 71 to 77 and 80 to 86 has an input of 32 bits and an output of 6 bits. By giving a shift amount instruction, the adjacent pixels of the upper and lower 6 pixels described in FIG. 20 are output. . As described above, in the first and fifth registers, a total of 14 shifters 71 to 77 and 80 to 86 are provided for reading upper and lower adjacent pixels.

なお、周辺情報レジスタ群20の内、第2、3、4のレジスタについては、隣接ピクセルの情報の読み出しを必要としないので、実施の形態1のレジスタと同じ構成でよい。また、実施の形態1では、パス単位の並列化を行っていないので、各ストライプでパス処理をずらす必要がないため、実施の形態1では、第1、第5のレジスタについても、シフタの構成が不要であった点に留意する。   Note that the second, third, and fourth registers in the peripheral information register group 20 do not need to read information on adjacent pixels, and therefore may have the same configuration as the register of the first embodiment. In the first embodiment, since the path unit is not parallelized, it is not necessary to shift the path processing in each stripe. In the first embodiment, the first and fifth registers are also configured as shifters. Note that was not required.

再び、図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 adjacent pixel 44 is obtained by subtracting the horizontal position of the register block R34 currently referenced by the S path, that is, 4 from the horizontal position of the register block R46 currently referenced by the C path, that is, 6. The shift amount is 2. The context estimation unit 22 shifts the 32-bit information held by the shifter to the right by two blocks by giving a shift amount 2 to the upper shifter 74 of the register row corresponding to the stripe 4 in FIG. The peripheral information of the adjacent pixel 44 can be extracted.

同様に、上側の隣接ピクセル42を取り出すためのシフト量は、Rパスで現在参照しているレジスタブロックR22の水平位置すなわち2から、Sパスが現在参照しているレジスタブロックR34の水平位置すなわち4を引くことにより求められ、シフト量は−2である。コンテクスト推定部22は、図21のストライプ2の下側のシフタ82に対してシフト量−2を与えることで、シフタの保持する32ビットの情報を左へ2ブロック分だけシフトさせて、この隣接ピクセル42の周辺情報を取り出すことができる。   Similarly, the shift amount for extracting the upper adjacent pixel 42 is changed from the horizontal position of the register block R22 currently referred to by the R path, that is, 2 to the horizontal position of the register block R34 currently referred to by the S path, that is, 4. The shift amount is -2. The context estimation unit 22 shifts the 32-bit information held by the shifter by two blocks to the left by giving a shift amount −2 to the lower shifter 82 of the stripe 2 in FIG. The peripheral information of the pixel 42 can be taken out.

図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 information register group 20 is shared and parallel processing is performed in units of bit planes and paths. In the figure, at a certain time, the stripe 7 processes the C path of the previous bit plane, and the stripes 6, 5, and 4 process the S path, R path, and C path of the current bit plane, respectively. In 3, 2, and 1, the S path, R path, and C path of the next bit plane (here, the least significant bit plane) are respectively processed, and in stripe 0, the first C path of the next code block is processed. Indicates the state being processed. The register blocks referred to in the respective processing paths are indicated by hatching. Actually, the hatched register block is located at the left end, but here, for convenience of explanation, the register block of each register column is not shifted, and the position of the referenced register block is shifted for illustration. ing.

パス単位の並列化を行う際、第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 stripe 6 and the horizontal position of the register block R54 referenced by the R path in the stripe 5 are shifted by two blocks. If the two blocks are shifted in this way, the adjacent pixels on the upper and lower sides do not overlap, so that even if the peripheral information is updated, there is no influence.

パス単位の並列化では、自分の処理パスの復号位置が前のパスの復号位置と水平方向に少なくとも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 stripes 0 to 7, respectively. At time t2, S path processing by BP1 is started in the second plane. Here, the time t2 when the S pass process by the BP1 starts to decode the stripe 0 is when the C pass process by the BP0 proceeds to the stripe 1 and the position of the register block to be referenced is separated by 2 blocks. This timing control will be described with reference to FIG.

図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 stripe 0 and stripe 1 of the C path by BP0 is shown in units of processing of register blocks R00 to R07 and R10 to R17. In the lower part, the timing of decoding processing of S-path stripe 0 by BP1 is shown in units of processing of register blocks R00 to R07.

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 stripe 1, the S pass processing by BP1 starts at the position of the first register block R00 of the stripe 0. At this time, since the decoding position of each pass is shifted by 2 blocks between the stripe 1 and the stripe 0, the overlapping of adjacent pixels does not occur. Thereafter, the C-pass process using BP0 is performed for the stripe 1 and the S-pass process using BP1 is performed for the stripe 0 with a shift of 2 blocks.

時刻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 stripe 0 is completed in the S pass process by BP1, but the decoding of the position of the fourth register block R13 in stripe 1 is completed in the C pass process by BP0. Processing takes time and is not finished yet. At this time, the S pass processing of stripe 0 by BP1 is temporarily stopped.

時刻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 stripe 1 is completed by the C path process of BP0, the S path process of stripe 0 by BP1 is resumed and the decoding of the position of the third register block R02 is resumed. Start processing. At this time, the C-pass process of stripe 1 by BP0 starts the decoding process of the position of the fifth register block R14. By this operation timing control, the C path process for stripe 1 and the S path process for stripe 0 are held in a state shifted by two blocks.

再び、図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 stripe 0 of the second plane. Here, the time t3 when the R-pass processing by BP1 starts to decode the stripe 0 is when the S-pass processing by BP1 proceeds to the stripe 1 and the position of the register block to be referenced is separated by 2 blocks. This timing control is the same as in FIG. Thereafter, similarly, at time t4, the C-pass process by BP1 starts decoding stripe 0.

さらに、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 stripe 1 and the position of the register block to be referred advances by two blocks, the S pass processing by BP0 starts decoding stripe 0 of the third plane. Similarly, at time t6, the R path processing by BP0 starts to decode stripe 0.

このようにして、周辺情報レジスタ群20を共有しながら、2つのビットプレーンの各パスの処理が並列に実行される。   In this way, processing of each path of the two bit planes is executed in parallel while sharing the peripheral information register group 20.

図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 stripe 1 of the MSB plane, the S path processing by BP0 starts from stripe 0 of the next plane. Thereafter, an R path process and a C path process by BP0, and an S path process and an R path process by BP1 are started in order. The processing start timing control of each path is as already described with reference to FIGS.

以上説明したように、本実施の形態によれば、各パスの復号部12S、12R、12Cが周辺情報レジスタ群20を共有して、1サイクルで一連の復号処理を完結できることを利用して、ビットプレーン単位およびパス単位で算術復号を並列して行うことができる。算術復号は周辺情報の更新をしながら行うため、一般には復号処理の並列化は困難であるが、本実施の形態では、周辺情報レジスタ群20の更新が算術復号と同一サイクルで行えるため、ビットプレーン単位の並列化だけでなく、パス単位の細かい並列化もできる。また、符号化画像のヘッダに各パスのバイト数の情報が含まれていない場合は、少なくともビットプレーン単位の並列化ができる。   As described above, according to the present embodiment, using the fact that the decoding units 12S, 12R, and 12C of each path share the peripheral information register group 20 and can complete a series of decoding processes in one cycle, Arithmetic decoding can be performed in parallel in bit plane units and path units. Since arithmetic decoding is performed while updating peripheral information, it is generally difficult to parallelize decoding processing. However, in this embodiment, the peripheral information register group 20 can be updated in the same cycle as arithmetic decoding. In addition to parallelization in units of planes, fine parallelization in units of paths is also possible. Further, if the header of the encoded image does not include information on the number of bytes of each pass, parallelization can be performed at least in bit plane units.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を以下に示す。   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.

実施の形態1に係る画像復号装置の構成図である。1 is a configuration diagram of an image decoding device according to Embodiment 1. FIG. 図1のエントロピー復号部の構成図である。It is a block diagram of the entropy decoding part of FIG. 図2のエントロピー復号部で復号処理されるコードブロックのビットプレーンを説明する図である。FIG. 3 is a diagram illustrating a bit plane of a code block that is decoded by an entropy decoding unit in FIG. 2. ビットプレーン上の係数を復号する際の走査順序を説明する図である。It is a figure explaining the scanning order at the time of decoding the coefficient on a bit plane. ビットプレーン上の復号対象の係数の周囲に隣接する近傍係数を説明する図である。It is a figure explaining the neighborhood coefficient adjacent to the circumference | surroundings of the coefficient of the decoding object on a bit plane. Sパス処理におけるコンテクストの分類テーブルを説明する図である。It is a figure explaining the context classification table in S pass processing. 極性ビットのコンテクスト決定のための垂直指標および水平指標テーブルを説明する図である。It is a figure explaining the vertical parameter | index for determining the context of a polarity bit, and a horizontal parameter | index table. 極性ビットに対するコンテクストの分類テーブルを示す図である。It is a figure which shows the classification table of the context with respect to a polarity bit. Rパス処理におけるコンテクストの分類テーブルを示す図である。It is a figure which shows the classification table of the context in R path | pass process. Cパス処理におけるコンテクストの分類テーブルを示す図である。It is a figure which shows the classification table of the context in C path | pass processing. 周辺情報レジスタ群の各レジスタの構成を説明する図である。It is a figure explaining the structure of each register | resistor of a peripheral information register group. 図11の各レジスタ列の動作を説明する図である。It is a figure explaining operation | movement of each register row | line | column of FIG. 実施の形態2に係る画像復号装置におけるエントロピー復号部の構成図である。6 is a configuration diagram of an entropy decoding unit in an image decoding apparatus according to Embodiment 2. FIG. 実施の形態3に係る画像復号装置におけるエントロピー復号部の構成図である。FIG. 10 is a configuration diagram of an entropy decoding unit in an image decoding device according to Embodiment 3. 図14の復号位置算出部による復号位置の算出手順を説明する図である。It is a figure explaining the calculation procedure of the decoding position by the decoding position calculation part of FIG. 実施の形態4に係る画像復号装置におけるエントロピー復号部の構成図である。FIG. 10 is a configuration diagram of an entropy decoding unit in an image decoding device according to Embodiment 4. 実施の形態5に係る画像復号装置におけるエントロピー復号部の構成図である。FIG. 10 is a configuration diagram of an entropy decoding unit in an image decoding device according to Embodiment 5. 実施の形態6に係る画像復号装置におけるエントロピー復号部の構成図である。FIG. 10 is a configuration diagram of an entropy decoding unit in an image decoding device according to a sixth embodiment. ビットプレーンの各ストライプにおける最小処理単位とその周囲の隣接ピクセル群を示す図である。It is a figure which shows the minimum process unit in each stripe of a bit plane, and the adjacent pixel group of the circumference | surroundings. 図19の最小処理単位の周囲の隣接ピクセル群のレジスタ上の対応する位置を説明する図である。It is a figure explaining the corresponding position on the register | resistor of the adjacent pixel group around the minimum processing unit of FIG. 周辺情報レジスタ群の第1、第5レジスタの構成を説明する図である。It is a figure explaining the structure of the 1st, 5th register of a peripheral information register group. 周辺情報レジスタ群を共有してビットプレーン単位およびパス単位で並列処理を行う様子を説明する図である。It is a figure explaining a mode that a peripheral information register group is shared and parallel processing is performed per bit plane and path. 各処理パスの復号開始タイミング制御を説明する図である。It is a figure explaining the decoding start timing control of each process path. 図23の復号開始タイミング制御を詳しく説明する図である。It is a figure explaining the decoding start timing control of FIG. 23 in detail. コードブロックの復号開始タイミング制御を説明する図である。It is a figure explaining the decoding start timing control of a code block.

符号の説明Explanation of symbols

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 image buffer 27 decoding position calculation unit, 28 peripheral information reading unit, 30a first bit plane decoding unit, 30b second bit plane decoding unit, 12S S, R, C path decoding unit, 12R R path decoding unit, 12C C path decoding unit 40 Entropy decoding unit, 100 Image decoding device.

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または2に記載の画像復号装置。   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 necessary peripheral information sequentially. The image decoding apparatus according to claim 1 or 2, wherein the peripheral information is held by a ring buffer method. 前記コンテクスト生成部は、ある単位復号期間において、その次の単位復号期間で必要になるコンテクスト情報を予め生成して保持することを特徴とする請求項1から3のいずれかに記載の画像復号装置。   4. The image decoding device according to claim 1, wherein the context generation unit previously generates and holds context information required in a next unit decoding period in a certain unit decoding period. 5. . 前記周辺情報をもとに、復号すべき画素を特定する復号位置算出部をさらに備え、復号の必要がない画素の復号処理をスキップすることを特徴とする請求項1から4のいずれかに記載の画像復号装置。   5. The method according to claim 1, further comprising a decoding position calculation unit that specifies a pixel to be decoded based on the peripheral information, and skipping a decoding process of a pixel that does not need to be decoded. Image decoding apparatus. 前記コンテクスト推定部および前記復号部は並列処理のためにそれぞれ複数設けられ、
前記周辺情報レジスタは、複数の前記コンテクスト推定部により共有され、保持された前記周辺情報は、複数の前記復号部の復号結果によりそれぞれの単位復号期間において更新されることを特徴とする請求項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.
前記周辺情報レジスタには、リングバッファ方式で読み出される位置以外の格納位置に保持された一部の周辺情報を保持するシフタが設けられ、前記コンテクスト推定部は、前記シフタにシフト量の指示を与えることで、前記一部の周辺情報を読み出すことを特徴とする請求項6に記載の画像復号装置。   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 The image decoding apparatus according to claim 6, wherein the partial peripheral information is read out. 複数の前記コンテクスト推定部および前記復号部の各々は、符号化画像の複数の符号化パスに対応したパス単位の復号処理を実行し、各パスによる復号処理で参照する前記周辺情報レジスタの位置が所定の画素数だけ離れるように、各パスの復号処理の動作タイミングを制御する制御部をさらに含むことを特徴とする請求項6または7に記載の画像復号装置。   Each of the plurality of context estimation units and the decoding unit performs 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 The image decoding apparatus according to claim 6, further comprising a control unit that controls an operation timing of decoding processing of each pass so as to be separated by a predetermined number of pixels.
JP2004034081A 2004-02-10 2004-02-10 Image decoding apparatus Withdrawn JP2005229218A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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