JP2005277758A - Image decoding apparatus - Google Patents

Image decoding apparatus Download PDF

Info

Publication number
JP2005277758A
JP2005277758A JP2004087720A JP2004087720A JP2005277758A JP 2005277758 A JP2005277758 A JP 2005277758A JP 2004087720 A JP2004087720 A JP 2004087720A JP 2004087720 A JP2004087720 A JP 2004087720A JP 2005277758 A JP2005277758 A JP 2005277758A
Authority
JP
Japan
Prior art keywords
decoding
unit
pass
path
decoding unit
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
JP2004087720A
Other languages
Japanese (ja)
Inventor
Takeshi Watanabe
剛 渡邉
Shigeyuki Okada
茂之 岡田
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 JP2004087720A priority Critical patent/JP2005277758A/en
Priority to US11/054,537 priority patent/US7418146B2/en
Publication of JP2005277758A publication Critical patent/JP2005277758A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image decoding technology capable of decoding at high speed and to provide an image decoding technology that has high versatility of uses. <P>SOLUTION: S, R, C pass decoding unit 12S can decode data of all passes included in coded image data. An R pass decoding unit 12R and a C pass decoding unit 12C can respectively decode data of R and C passes. A header information analyzing unit 104 interprets a header of the coded image data to analyze the data as to whether or not the data can be decoded in parallel. When the header information analyzing unit 104 discriminates that the parallel decoding is possible, the three decoding units, that is, the S, R, C pass decoding unit 12S, the R pass decoding unit 12R and the C pass decoding unit 12C decode data of the respective passes in parallel. The S, R, C pass decoding unit 12S decodes exclusively the data of the S pass. When it is discriminated that the parallel decoding is impossible, the S, R, C pass decoding unit 12S sequentially decode the data of all the passes. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は画像復号装置に関する。とくに複数の性質のデータ群が含まれる符号化画像データを復号する画像復号装置に関する。   The present invention relates to an image decoding apparatus. In particular, the present invention relates to an image decoding apparatus that decodes encoded image data including a data group having a plurality of properties.

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値シンボルとコンテクストを生成する。算術符号化処理は、生成されたシンボルとコンテクストをもとにシンボル系列の出現確率に基づくエントロピー符号化を行う。その際、ビットプレーンをパス単位に分割して符号化する。
特開2003−32496号公報
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. At this time, the bit plane is divided into passes and encoded.
JP 2003-32496 A

パス毎の算術符号化の計算方法は、パス毎に独立して行う方法と、パスをまたいで行う方法がある。前者により符号化されたデータに対しては、パス毎に独立して復号することができる。これに対して、後者により符号化されたデータに対しては、独立して復号することができない。また、復号処理を高速に実行するためには、復号処理の並列化が必要である。   The calculation method of arithmetic coding for each pass includes a method of performing independently for each pass and a method of performing across the passes. The data encoded by the former can be decoded independently for each pass. On the other hand, the data encoded by the latter cannot be decoded independently. Further, in order to execute the decoding process at high speed, it is necessary to parallelize the decoding process.

本発明はこうした課題に鑑みてなされたものであり、その目的は、高速に復号を行うことのできる画像復号技術を提供することにある。別の目的は、汎用性が高い画像復号技術を提供することにある。   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 a highly versatile image decoding technique.

本発明のある態様は画像復号装置に関する。この装置は、符号化画像データのうち、復号可能な性質のデータについて仕様が異なる第1復号部および1以上の第2復号部と、符号化画像データを並列に復号できるか否かを解析する解析部と、を有し、解析部は、解析結果に応じて、第1復号部が符号化画像データを単独で復号するか、第1復号部および第2復号部のうちの複数の復号部が符号化画像データを並列に復号するか、を選択する。第1および第2復号部は、一例として、画素を算術復号するものであってもよい。   One embodiment of the present invention relates to an image decoding apparatus. This apparatus analyzes, in encoded image data, whether or not encoded image data can be decoded in parallel with a first decoding unit and one or more second decoding units having different specifications for data having a decodable property. An analyzing unit, wherein the analyzing unit decodes the encoded image data independently according to the analysis result, or a plurality of decoding units of the first decoding unit and the second decoding unit Selects whether to decode the encoded image data in parallel. As an example, the first and second decoding units may arithmetically decode pixels.

本態様によれば、符号化画像データの並列処理が可能なときは、複数の復号部で並列に復号化するため、復号処理を高速化することができる。並列処理が不可能なときでも、仕様が高い第1復号部が単独で復号処理するため、汎用性が高い。   According to this aspect, when the encoded image data can be processed in parallel, decoding is performed in parallel by the plurality of decoding units, so that the decoding process can be speeded up. Even when parallel processing is impossible, the first decoding unit with high specifications performs decoding processing alone, so that versatility is high.

本発明の別の態様も画像復号装置に関する。この装置は、符号化画像をエントロピー復号するエントロピー復号ブロックと、エントロピー復号されたデータを逆量子化する逆量子化部と、逆量子化されたデータに空間周波数逆変換を施す逆変換部と、を備え、エントロピー復号ブロックは、符号化画像データのうち、復号可能な性質のデータについて仕様が異なる第1復号部および1以上の第2復号部と、符号化画像データを並列に復号できるか否かを解析する解析部と、を有し、解析部は、解析結果に応じて、第1復号部が符号化画像データを単独で復号するか、第1復号部および第2復号部のうちの複数の復号部が符号化画像データを並列に復号するか、を選択する。   Another aspect of the present invention also relates to an image decoding apparatus. The apparatus includes an entropy decoding block that entropy-decodes an encoded image, an inverse quantization unit that inversely quantizes entropy-decoded data, an inverse transform unit that performs spatial frequency inverse transform on the dequantized data, And the entropy decoding block is capable of decoding the encoded image data in parallel with the first decoding unit and the one or more second decoding units having different specifications with respect to the decodable data among the encoded image data. And an analysis unit that analyzes whether the first decoding unit decodes the encoded image data independently according to the analysis result, or of the first decoding unit and the second decoding unit. A plurality of decoding units select whether to decode the encoded image data in parallel.

第1復号部および第2復号部からなる復号部を複数備えてもよい。これによれば、さらなる復号処理の高速化を実現することができる。   A plurality of decoding units including the first decoding unit and the second decoding unit may be provided. According to this, it is possible to further speed up the decoding process.

第1復号部は、並列に復号処理される場合、ある性質のデータを専用に復号してもよい。第1復号部は、並列処理できない場合に単独で符号化画像データを復号するモードと、並列処理する場合にある性質のデータを専用で復号するモードとを持つ。これによれば、並列処理する場合に、第1復号部がある性質のデータを復号する専用の第2復号部の機能を提供することから、第2復号部の数を1つ減らすことができる。よって、高速化と省回路面積化の両立に資する。   When the first decoding unit performs decoding processing in parallel, the first decoding unit may exclusively decode data having a certain property. The first decoding unit has a mode for decoding encoded image data independently when parallel processing cannot be performed, and a mode for exclusively decoding data having a certain property when performing parallel processing. According to this, in the case of performing parallel processing, the first decoding unit provides the function of the second decoding unit dedicated for decoding certain data, so the number of second decoding units can be reduced by one. . Therefore, it contributes to both speeding up and circuit saving.

解析部は、符号化画像データのヘッダに記述されている性質ごとに分類された複数のデータ群がそれぞれ独立して符号化されたか否かを解析してもよい。また、解析部は、符号化画像データのヘッダに、性質ごとに分類された複数のデータ群のそれぞれの符号量が記述されているか否かを解析してもよい。このように、符号化画像データのヘッダに記述されている情報を解析することにより、当該符号化画像データが並列処理可能か否かを判別することができる。上記データ群が独立して符号化されていない場合、並列処理ができない。また、上記データ群の符号量が記述されていない場合も、並列処理ができない。   The analysis unit may analyze whether or not each of the plurality of data groups classified for each property described in the header of the encoded image data is independently encoded. Further, the analysis unit may analyze whether or not each code amount of a plurality of data groups classified according to properties is described in the header of the encoded image data. Thus, by analyzing the information described in the header of the encoded image data, it is possible to determine whether or not the encoded image data can be processed in parallel. If the data groups are not independently encoded, parallel processing cannot be performed. Further, parallel processing cannot be performed even when the code amount of the data group is not described.

性質は、符号化画像データの符号化パスの種類であってもよい。「符号化パス」は、JPEG2000の仕様に準拠したパスを含む。   The property may be the type of encoding pass of the encoded image data. The “encoding pass” includes a pass conforming to the specification of JPEG2000.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。   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.

実施の形態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 includes 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に係る画像復号装置におけるストリーム解析部10およびエントロピー復号部40の構成図である。本実施の形態の画像復号装置は、実施の形態1の画像復号装置100とストリーム解析部10およびエントロピー復号部12の構成が異なり、他の構成は同じである。
Embodiment 6
FIG. 18 is a configuration diagram of the stream analysis unit 10 and the entropy decoding unit 40 in the image decoding device according to the sixth embodiment. The image decoding apparatus according to the present embodiment is different from the image decoding apparatus 100 according to the first embodiment in the configurations of the stream analysis unit 10 and the entropy decoding unit 12, and the other configurations are the same.

本実施の形態のエントロピー復号部12は、処理パス単位の並列化を行うものであり、Sパス、Rパス、Cパスの各処理パス単位の並列化のために、S、R、Cパス復号部12S、Rパス復号部12R、およびCパス復号部12Cが含まれる。   The entropy decoding unit 12 according to the present embodiment performs parallel processing in units of processing paths, and performs S, R, and C path decoding for parallel processing in units of processing paths of S path, R path, and C path. A unit 12S, an R path decoding unit 12R, and a C path decoding unit 12C are included.

ストリーム解析部10は、符号化画像バッファ102、ヘッダ情報解析部104、アドレス計算部106、および符号化画像データ入力I/F108を含む。符号化画像バッファ102は、入力される符号化画像データを一時記憶する。SDRAM等で構成される。JPEG2000の符号化画像データは、パケット単位で入力される。   The stream analysis unit 10 includes an encoded image buffer 102, a header information analysis unit 104, an address calculation unit 106, and an encoded image data input I / F 108. The encoded image buffer 102 temporarily stores input encoded image data. It is composed of SDRAM or the like. JPEG2000 encoded image data is input in packet units.

図19(a)、(b)は、JPEG2000のファイル構造の例を示す図である。各ファイル構造には、画像サイズを指定したり量子化の単位を指定したりするマーカが付される。図19(a)は、マーカにPPM(Packet packet header,main header)が付された構造であり、図19(b)は、PPMが付されない構造である。図19(a)は、PPMの後に、全パケットのヘッダが記述され、その後に全パケットのデータが記述される。図19(b)は、マーカの後に、第1パケットのヘッダおよびデータ、第2パケットのヘッダおよびデータというように記述されていく。後ろにいくにしたがって、解像度が上がっていく。パケットのヘッダには、少なくとも符号化パスの数、符号化画像データの長さ、即ち符号終端処理がされるまでの長さを記述することができる。   FIGS. 19A and 19B are diagrams illustrating an example of a JPEG2000 file structure. Each file structure is provided with a marker that designates an image size or a unit of quantization. FIG. 19A shows a structure in which PPM (Packet packet header, main header) is attached to the marker, and FIG. 19B shows a structure in which no PPM is attached. In FIG. 19A, the headers of all packets are described after PPM, and the data of all packets are described thereafter. In FIG. 19B, the header and data of the first packet and the header and data of the second packet are described after the marker. The resolution goes up as you go back. In the header of the packet, at least the number of encoding passes, the length of encoded image data, that is, the length until the code termination process is performed can be described.

ここで、COD(Coding style default)マーカには、各符号化パスごとに独立して符号化されたか否かが記述されている。即ち、画像符号装置の算術符号化器で算術符号化を行う際、パス境界のコンテクストリセットが行われたか否か、換言すれば、当該算術符号化器のインデックス、シンボルが初期化されたか否かが記述されている。このように、JPEG2000では、各符号化パスの算術符号化が終わると、算術符号化のデータをフラッシュして、次の符号化に備えてパラメータをリセットする計算方法と、各符号化パスの算術符号化データをフラッシュせずに、次の符号化にパラメータを引き継ぐ計算方法とがあり、いずれかを選択可能である。   Here, a COD (Coding style default) marker describes whether or not each coding pass has been independently coded. That is, when performing arithmetic encoding with the arithmetic encoder of the image encoder, whether or not the context reset of the path boundary has been performed, in other words, whether or not the index and symbol of the arithmetic encoder have been initialized. Is described. As described above, in JPEG2000, after the arithmetic coding of each coding pass is finished, the arithmetic coding data is flushed and the parameter is reset in preparation for the next coding, and the arithmetic of each coding pass. There is a calculation method in which parameters are transferred to the next encoding without flushing the encoded data, and either one can be selected.

また、CODマーカには、各パスにおいて、終端処理がなされた否かも記述されている。終端処理がなされると、各パスごとにバイトスタッフィングされるため、各パスの符号化ストームの先頭を容易に見つけることができる。また、パケットのヘッダに各パスの符号バイト数を記載することができる。   The COD marker also describes whether or not termination processing has been performed in each path. When termination processing is performed, byte stuffing is performed for each path, so that the head of the encoding storm of each path can be easily found. In addition, the number of code bytes of each path can be described in the packet header.

図20は、ヘッダ情報解析部104の動作を示すフローチャートである。まず、ヘッダ情報解析部104は、符号化画像バッファ102に一時記憶されている符号化画像データのCODマーカを読み出して、解読する(S10)。そして、CODマーカに記述されている各符号化パスの独立性の可否を判断する(S12)。各符号化パスが独立に符号化されていない場合(S12のN)、各符号化パスごとに並列して処理することができないので、逐次的復号化処理を選択する(S18)。   FIG. 20 is a flowchart showing the operation of the header information analysis unit 104. First, the header information analysis unit 104 reads and decodes the COD marker of the encoded image data temporarily stored in the encoded image buffer 102 (S10). Then, it is determined whether or not each coding pass described in the COD marker is independent (S12). When each coding pass is not independently coded (N of S12), since it cannot process in parallel for every coding pass, a sequential decoding process is selected (S18).

各符号化パスが独立に符号化されている場合(S12のY)、各符号化パスごとに終端処理がなされており、各符号化パスの符号化ストリームの符号量が判別するか否かを判断する(S14)。各符号化パスの符号化ストリームの符号量が判別しない場合(S14のN)、2個目以降の符号化パスの符号化ストリームの先頭にアクセスすることができないので、逐次的復号化処理を選択する(S18)。各符号化パスの符号化ストリームの符号量が判別する場合(S14のY)、2個目以降の符号化パスの符号化ストリームの先頭にアクセスすることができるので、3パス並列復号化処理を選択する(S16)。   When each coding pass is coded independently (Y in S12), termination processing is performed for each coding pass, and it is determined whether or not the code amount of the coded stream of each coding pass is determined. Judgment is made (S14). When the code amount of the encoded stream of each encoding pass is not discriminated (N in S14), the head of the encoded stream of the second and subsequent encoding passes cannot be accessed, so the sequential decoding process is selected. (S18). When the code amount of the encoded stream of each encoding pass is determined (Y in S14), since the head of the encoded stream of the second and subsequent encoding passes can be accessed, the 3-pass parallel decoding process is performed. Select (S16).

再び、図18に戻り、ヘッダ情報解析部104は、CODマーカの解読の結果、3パス並列復号化処理を選択した場合、パケットヘッダを解読して、パケットデータの先頭アドレスおよび各符号化パスの符号化ストリームの符号量を取得する。そして、パケットデータの先頭アドレス、各符号化パスの符号化ストリームの符号量、即ちSパスの符号化ストリームの符号量Ln、Rパスの符号化ストリームの符号量LnおよびCパスの符号化ストリームの符号量Lnを各ビットプレーンごとにアドレス計算部106に渡していく。これと共に、ヘッダ情報解析部104は、符号化画像データ入力I/F108、S、R、Cパス復号部12S、Rパス復号部12R、Cパス復号部12C、および符号化画像データ出力I/F122に、3パス並列復号化処理モードを選択することを伝える制御信号を送る。   Returning to FIG. 18 again, if the header information analysis unit 104 selects the 3-pass parallel decoding process as a result of decoding the COD marker, the header information analysis unit 104 decodes the packet header, The code amount of the encoded stream is acquired. Then, the start address of the packet data, the code amount of the encoded stream of each encoding pass, that is, the code amount Ln of the encoded stream of the S pass, the code amount Ln of the encoded stream of the R pass, and the encoded stream of the C pass The code amount Ln is transferred to the address calculation unit 106 for each bit plane. At the same time, the header information analysis unit 104 includes an encoded image data input I / F 108, an S, R, C path decoding unit 12S, an R path decoding unit 12R, a C path decoding unit 12C, and an encoded image data output I / F 122. The control signal is transmitted to inform the selection of the 3-pass parallel decoding processing mode.

アドレス計算部106は、最初のビットプレーンがCパスのみであるから、まずC0パスの符号化ストリームの符号化画像バッファ102内における先頭アドレスAD(C0)を特定する。これは、パケットデータの先頭アドレスであり、ヘッダ情報解析部104から渡されたものである。次に、S1パスの符号化ストリームの先頭アドレスAD(S1)は、C0パスの符号化ストリームの先頭アドレスAD(C0)にこのC0パスの符号化ストリームの符号量Lnを足したアドレスとなる。この符号量Lnはヘッダ情報解析部104から渡されたものである。次に、R1パスの符号化ストリームの先頭アドレスAD(R1)は、S1パスの符号化ストリームの先頭アドレスAD(S1)にこのR1パスの符号化ストリームの符号量Lnを足したアドレスとなる。このように、各符号化パスの符号化ストリームの先頭アドレスは、その前の符号化パスの符号化ストリームの先頭アドレスにこの符号化パスの符号化ストリームの符号量Lnを足してやれば、算出することができる。   Since the first bit plane is only the C path, the address calculation unit 106 first specifies the head address AD (C0) in the encoded image buffer 102 of the encoded stream of the C0 path. This is the head address of the packet data and is passed from the header information analysis unit 104. Next, the head address AD (S1) of the S1 pass encoded stream is an address obtained by adding the code amount Ln of the C0 pass encoded stream to the head address AD (C0) of the C0 pass encoded stream. This code amount Ln is passed from the header information analysis unit 104. Next, the head address AD (R1) of the encoded stream of the R1 pass is an address obtained by adding the code amount Ln of the encoded stream of the R1 pass to the start address AD (S1) of the encoded stream of the S1 pass. Thus, the start address of the encoded stream of each encoding pass is calculated by adding the code amount Ln of the encoded stream of this encoding pass to the start address of the encoded stream of the previous encoding pass. be able to.

符号化画像データ入力I/F108は、アドレス計算部106から指定された各符号化パスの符号化ストリームの先頭アドレスをもとに、符号化画像バッファ102から各符号化パスの符号化ストリームを取り出し、対応するS、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cに出力する。S、R、Cパス復号部12Sは、Sパスを専用に復号処理し、それと並行して、Rパス復号部12RがRパス、Cパス復号部12CがCパスを専用に復号処理することで各パスが並列に復号処理される。符号化画像データ出力I/F122は、S、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cから各々出力されるデシジョンDの値を組み立てて、逆量子化部14に出力する。   The encoded image data input I / F 108 extracts the encoded stream of each encoding pass from the encoded image buffer 102 based on the start address of the encoded stream of each encoding pass designated by the address calculation unit 106. To the corresponding S, R, C path decoding unit 12S, R path decoding unit 12R and C path decoding unit 12C. 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. The encoded image data output I / F 122 assembles the values of the decision D output from the S, R, and C pass decoding units 12S, the R pass decoding unit 12R, and the C pass decoding unit 12C, and sends them to the inverse quantization unit 14. Output.

次に、ヘッダ情報解析部104は、CODマーカの解読の結果、逐次復号化処理を選択した場合、パケットデータの先頭アドレスを取得し、アドレス計算部106に渡す。これと共に、ヘッダ情報解析部104は、符号化画像データ入力I/F108、S、R、Cパス復号部12S、Rパス復号部12R、Cパス復号部12C、および符号化画像データ出力I/F122に、逐次復号化処理モードを選択することを伝える制御信号を送る。Rパス復号部12RおよびCパス復号部12Cは、この制御信号を受けると、動作を停止する。これにより、省電力化を図ることができる。   Next, when the sequential decoding process is selected as a result of decoding the COD marker, the header information analysis unit 104 acquires the leading address of the packet data and passes it to the address calculation unit 106. At the same time, the header information analysis unit 104 includes an encoded image data input I / F 108, an S, R, C path decoding unit 12S, an R path decoding unit 12R, a C path decoding unit 12C, and an encoded image data output I / F 122. In addition, a control signal is sent to inform the selection of the sequential decoding processing mode. The R path decoding unit 12R and the C path decoding unit 12C stop operating when receiving this control signal. Thereby, power saving can be achieved.

アドレス計算部106は、取得したパケットデータの先頭アドレスを特定し、符号化画像データ入力I/F108に渡す。符号化画像データ入力I/F108は、アドレス計算部106から指定されたパケットデータの先頭アドレスをもとに、符号化画像バッファ102から最初の符号化パスの符号化ストリームを取り出し、Sパス、Rパス、Cパスの各符号化ストリームを順次、S、R、Cパス復号部12Sに出力する。S、R、Cパス復号部12Sは、入力されてくるパスの順に各パスを順次復号処理する。符号化画像データ出力I/F122は、S、R、Cパス復号部12Sから出力されるデシジョンDを逆量子化部14に出力する。   The address calculation unit 106 identifies the start address of the acquired packet data and passes it to the encoded image data input I / F 108. The encoded image data input I / F 108 extracts the encoded stream of the first encoding pass from the encoded image buffer 102 based on the head address of the packet data designated by the address calculator 106, and performs the S pass, R The pass and C pass encoded streams are sequentially output to the S, R, and C pass decoding unit 12S. The S, R, C path decoding unit 12S sequentially decodes each path in the order of the input paths. The encoded image data output I / F 122 outputs the decision D output from the S, R, C path decoding unit 12S to the inverse quantization unit 14.

図21(a)、(b)は、各パスの符号化ストリームの復号タイミングを示すタイミングチャートである。図21(a)は、逐次復号化処理モードの復号タイミングを示す。S、R、Cパス復号部12Sは、最初のビットプレーンのC0パスの符号化ストリームを復号化した後、その下のビットプレーンの符号化ストリームをSパス、Rパス、Cパスの順で復号化していく。   FIGS. 21A and 21B are timing charts showing the decoding timing of the encoded stream of each pass. FIG. 21A shows the decoding timing in the sequential decoding processing mode. The S, R, C path decoding unit 12S decodes the C0 pass encoded stream of the first bit plane, and then decodes the lower bit plane encoded stream in the order of the S pass, R pass, and C pass. It will become.

図21(b)は、3パス並列復号化処理モードの復号タイミングを示す。まず、Cパス復号部12Cが最初のビットプレーンのCパスの符号化ストリームを復号化する。以後、S、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cは、その下のビットプレーンのSパス、Rパス、Cパスの符号化ストリームを並列して、復号化していく。図21(b)は、ビットプレーン7枚の例を示しており、7枚目ビットプレーンのCパスの符号化ストリームを復号化すると、1つのコードブロックの復号化処理が終了し、次のコードブロックのビットプレーンの復号化を開始する。このように、図21(a),(b)を参照すると、3パス並列復号化処理モードは、逐次復号化処理モードより、復号化処理を高速に行うことができる。   FIG. 21B shows the decoding timing in the 3-pass parallel decoding processing mode. First, the C pass decoding unit 12C decodes the C pass encoded stream of the first bit plane. Thereafter, the S, R, C path decoding unit 12S, the R path decoding unit 12R, and the C path decoding unit 12C decode the S-path, R-pass, and C-pass encoded streams of the bit planes below them in parallel. To go. FIG. 21B shows an example of seven bit planes. When the C-pass encoded stream of the seventh bit plane is decoded, the decoding process for one code block is completed, and the next code Start decoding the bit plane of the block. As described above, referring to FIGS. 21A and 21B, the 3-pass parallel decoding processing mode can perform decoding processing faster than the sequential decoding processing mode.

図22は、実施の形態5に示した2つのビットプレーンの並列復号が可能な構成にした場合の各パスの符号化ストリームの復号タイミングを示すタイミングチャートである。当該構成は、図18のS、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cを2個ずつ設ける。符号化画像データ入力I/F108は、各組のS、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cに、対応するパスの符号化ストリームをビットプレーン1枚おきに渡す。この構成の詳細は、後述する。   FIG. 22 is a timing chart showing the decoding timing of the encoded stream of each pass in the case where the configuration capable of parallel decoding of the two bit planes shown in the fifth embodiment is adopted. In this configuration, two S, R, and C path decoding units 12S, two R path decoding units 12R, and two C path decoding units 12C in FIG. 18 are provided. The encoded image data input I / F 108 transmits the encoded stream of the corresponding path to every pair of S, R, C path decoding unit 12S, R path decoding unit 12R, and C path decoding unit 12C. hand over. Details of this configuration will be described later.

図22において、1つの組のS、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cが上3つのS、R、Cパスの符号化ストリームを復号化し、もう1つの組のS、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cが下3つのS、R、Cパスの符号化ストリームを復号化する。このように、図21(b)と図22とを参照すると、同じ3パス並列復号化処理モードでも、2組のS、R、Cパス復号部12S、Rパス復号部12RおよびCパス復号部12Cで処理するほうが、高速化することが分かる。   In FIG. 22, one set of S, R, C path decoding unit 12S, R path decoding unit 12R and C path decoding unit 12C decodes the upper three S, R, C path encoded streams, The pair of S, R, C path decoding unit 12S, R path decoding unit 12R and C path decoding unit 12C decodes the lower three S, R, C path encoded streams. Thus, referring to FIG. 21 (b) and FIG. 22, even in the same 3-pass parallel decoding processing mode, two sets of S, R, C-pass decoding unit 12S, R-pass decoding unit 12R and C-pass decoding unit It can be seen that processing at 12C is faster.

以上説明したように、本実施の形態によれば、各パスが独立して符号化された符号化画像ストリームを復号化する際に、各パスの復号部12S、12R、12Cが並列して復号化することにより、復号化処理を高速化することができる。また、すべてのパスの符号化ストリームを復号化することができるS、R、Cパス復号部12Sを備えることにより、各パスが独立して符号化されていない符号化画像ストリームにも対応することができ、汎用性が高い。   As described above, according to the present embodiment, when the encoded image stream in which each path is independently encoded is decoded, the decoding units 12S, 12R, and 12C of each path decode in parallel. Therefore, the decoding process can be speeded up. Also, by providing an S, R, C path decoding unit 12S that can decode the encoded streams of all passes, it is possible to cope with an encoded image stream in which each pass is not encoded independently. Can be used and is highly versatile.

実施の形態7
図23は、実施の形態7に係る画像復号装置におけるエントロピー復号部40の構成図である。本実施の形態の画像復号装置は、実施の形態1の画像復号装置100のエントロピー復号部12の構成を同図のエントロピー復号部40に置き換えたものであり、他の構成は実施の形態1の画像復号装置100と同じである。
Embodiment 7
FIG. 23 is a configuration diagram of the entropy decoding unit 40 in the image decoding device according to the seventh 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は動作しない。この動作の詳細は、実施の形態6で既に説明した。   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. Details of this operation have already been described in the sixth embodiment.

これらの各パス用の復号部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.

図24は、ビットプレーンの各ストライプにおける縦横4ピクセル、合計16ピクセルの最小処理単位60とその周囲の隣接ピクセル群を示す図である。この最小処理単位60は、周辺情報レジスタ群20の各レジスタから周辺情報を読み出す単位であり、各レジスタ列のレジスタブロックに相当する。実施の形態1で既に説明したように、Sパスでは、処理対象の係数に対して周囲の8個の近傍係数の有意性状態の情報が必要である。そのため、縦横4ピクセルの領域について1ピクセル毎に復号処理を行う際、斜線で示した隣接ピクセルについて周辺情報が必要となる。   FIG. 24 is a diagram illustrating 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 around the minimum processing unit 60. 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.

図25は、図24の最小処理単位60の周囲の隣接ピクセル群61〜64のレジスタ上の対応する位置を説明する図である。ある時刻において、ストライプ2がRパスの処理対象、ストライプ3がSパスの処理対象、ストライプ4が前のビットプレーンのCパスの処理対象であるとする。   FIG. 25 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.

図26は、周辺情報レジスタ群20の第1、第5レジスタの構成を説明する図である。実施の形態1の周辺情報レジスタ群20の各レジスタと同様に、ビットプレーンのストライプに対応したレジスタ列が並んでおり、各レジスタ列は、リングバッファのように4ビットずつ独立にリング上にシフトして左端から読み出しと書き込みが可能である。本実施の形態では、第1、第5レジスタに限り、左端の各レジスタブロックR00、R10、…、R70の4ビット、右隣のレジスタブロックR01、R11、…、R71の左側1ビット、および論理的に左隣(実際には右端)の各レジスタブロックR07、R17、…、R77の右側1ビットの合計6ビットが出力される。   FIG. 26 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ビットであり、シフト量の指示を与えることで、図25で説明した上下の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. 25 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.

再び、図25を参照して、上下の隣接ピクセルをシフタで取り出すためにシフタに与えるシフト量を説明する。下側の隣接ピクセル44を取り出すためのシフト量は、Cパスで現在参照しているレジスタブロックR46の水平位置すなわち6から、Sパスが現在参照しているレジスタブロックR34の水平位置すなわち4を引くことにより求められ、シフト量は2である。コンテクスト推定部22は、図21のストライプ4に対応するレジスタ列の上側のシフタ74に対してシフト量2を与えることで、シフタの保持する32ビットの情報を右へ2ブロック分だけシフトさせて、この隣接ピクセル44の周辺情報を取り出すことができる。   Again, referring to FIG. 25, the shift amount given to the shifter in order to extract the upper and lower adjacent pixels by 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.

図27は、周辺情報レジスタ群20を共有してビットプレーン単位およびパス単位で並列処理を行う様子を説明する図である。同図は、ある時刻において、ストライプ7では、前のビットプレーンのCパスが処理され、ストライプ6、5、4では、それぞれ現ビットプレーンのSパス、Rパス、Cパスがそれぞれ処理され、ストライプ3、2、1では、それぞれ次のビットプレーン(ここでは、最下位のビットプレーン)のSパス、Rパス、Cパスがそれぞれ処理され、ストライプ0では、次のコードブロックの最初のCパスが処理されている状態を示している。それぞれの処理パスで参照されているレジスタブロックを斜線で示している。実際には、斜線を付したレジスタブロックが左端に位置しているが、ここでは説明の便宜上、各レジスタ列のレジスタブロックをシフトさせないで、参照されるレジスタブロックの位置の方をずらして図示している。   FIG. 27 is a diagram illustrating a state in which the peripheral information register group 20 is shared and parallel processing is performed in bit plane units and path units. 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. .

図28は、各処理パスの復号開始タイミング制御を説明するタイミングチャートである。第1ビットプレーン復号部30a(以下、BP0と略す)による各処理パスのストライプの処理タイミングと、第2ビットプレーン復号部30b(以下、BP1と略す)による各処理パスのストライプの処理タイミングとが示されている。   FIG. 28 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ブロックだけ離れたときである。このタイミング制御を図29を用いて説明する。   At time t1, C path processing by BP0 is started for the MSB plane. 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.

図29は、図28の復号開始タイミング制御を詳しく説明するタイミングチャートである。上段には、BP0によるCパスのストライプ0、ストライプ1の復号処理のタイミングがレジスタブロックR00〜R07、R10〜R17の処理単位で図示されている。下段には、BP1によるSパスのストライプ0の復号処理のタイミングがレジスタブロックR00〜R07の処理単位で図示されている。   FIG. 29 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.

再び、図28に戻り、時刻t3において、BP1によるRパスが2番目のプレーンのストライプ0の復号を開始する。ここで、BP1によるRパス処理がストライプ0の復号を開始する時刻t3は、BP1によるSパス処理がストライプ1に進み、参照するレジスタブロックの位置が2ブロックだけ離れたときである。このタイミング制御は図29と同じである。以下、同様にして、時刻t4において、BP1によるCパス処理がストライプ0の復号を開始する。   Returning to FIG. 28 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.

図30は、コードブロックの復号開始タイミング制御を説明するタイミングチャートである。上段には、BP0によるSパス、Rパス、Cパスにおける各ストライプの復号タイミングが図示されている。下段には、BP1によるSパス、Rパス、Cパスにおける各ストライプの復号タイミングが図示されている。現在のコードブロックの処理については、斜線が付されており、次のコードブロックの処理については、斜線が付されていない。   FIG. 30 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パス処理が始まる。各パスの処理開始タイミング制御は図28、29で既に説明した通りである。   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 for 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.

実施の形態6の画像復号装置は、S、R、Cパス復号部12S、Rパス復号部12R、およびCパス復号部12Cの3つの復号部を設けていた。この点、S、R、Cパス復号部12S、Sパス復号部、Rパス復号部12R、およびCパス復号部12Cの4つの復号部を設けてもよい。このSパス復号部はSパス専用である。S、R、Cパス復号部12Sは逐次復号処理専用となる。この場合、3パス並列復号化処理が選択された場合、当該Sパス復号部、Rパス復号部12R、およびCパス復号部12Cで復号処理を行う。また、逐次的復号化処理が選択された場合、S、R、Cパス復号部12Sが単独で復号処理を行う。これによれば、3パス並列復号化処理と逐次的復号化処理との切替が容易になる。   The image decoding apparatus according to the sixth embodiment includes three decoding units, that is, an S, R, and C path decoding unit 12S, an R path decoding unit 12R, and a C path decoding unit 12C. In this regard, four decoding units, that is, an S, R, and C path decoding unit 12S, an S path decoding unit, an R path decoding unit 12R, and a C path decoding unit 12C may be provided. This S path decoding unit is dedicated to the S path. The S, R, C path decoding unit 12S is dedicated to the sequential decoding process. In this case, when the 3-pass parallel decoding process is selected, the S-pass decoding unit, the R-pass decoding unit 12R, and the C-pass decoding unit 12C perform the decoding process. When the sequential decoding process is selected, the S, R, C path decoding unit 12S performs the decoding process independently. This facilitates switching between the 3-pass parallel decoding process and the sequential decoding process.

実施の形態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 a stream analysis unit and an entropy decoding unit in an image decoding device according to a sixth embodiment. JPEG2000のファイル構造の例を示す図である。It is a figure which shows the example of the file structure of JPEG2000. ヘッダ情報解析部の動作を説明する図である。It is a figure explaining operation | movement of a header information analysis part. 各パスの符号化ストリームの復号タイミングを説明する図である。It is a figure explaining the decoding timing of the encoding stream of each pass. 実施の形態5に示した2つのビットプレーンの並列復号が可能な構成にした場合の各パスの符号化ストリームの復号タイミングを説明する図である。[Fig. 25] Fig. 25 is a diagram for explaining the decoding timing of the encoded stream of each path in the case where the configuration capable of parallel decoding of two bit planes shown in the fifth embodiment is used. 実施の形態7に係る画像復号装置におけるエントロピー復号部の構成図である。FIG. 10 is a configuration diagram of an entropy decoding unit in an image decoding device according to Embodiment 7. ビットプレーンの各ストライプにおける最小処理単位とその周囲の隣接ピクセル群を示す図である。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. 図24の最小処理単位の周囲の隣接ピクセル群のレジスタ上の対応する位置を説明する図である。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. 図28の復号開始タイミング制御を詳しく説明する図である。It is a figure explaining in detail the decoding start timing control of FIG. コードブロックの復号開始タイミング制御を説明する図である。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 画像復号装置、 102 符号化画像バッファ、 104 ヘッダ情報解析部、 106 アドレス計算部、 108 符号化画像データ入力I/F、 122 符号化画像データ出力I/F。   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, 102 Encoded image buffer, 104 Header information analyzing unit, 106 Address calculating unit, 108 Encoded image data input I / F, 122 Encoded image data output I / F

Claims (7)

符号化画像データのうち、復号可能な性質のデータについて仕様が異なる第1復号部および1以上の第2復号部と、
前記符号化画像データを並列に復号できるか否かを解析する解析部と、を有し、
前記解析部は、解析結果に応じて、前記第1復号部が前記符号化画像データを単独で復号するか、前記第1復号部および前記第2復号部のうちの複数の復号部が前記符号化画像データを並列に復号するか、を選択することを特徴とする画像復号装置。
Among encoded image data, a first decoding unit and one or more second decoding units having different specifications for data having a decodable property;
An analysis unit that analyzes whether the encoded image data can be decoded in parallel,
The analysis unit may be configured such that the first decoding unit independently decodes the encoded image data according to an analysis result, or a plurality of decoding units among the first decoding unit and the second decoding unit An image decoding device that selects whether to decode parallel image data in parallel.
符号化画像をエントロピー復号するエントロピー復号ブロックと、
エントロピー復号されたデータを逆量子化する逆量子化部と、
逆量子化されたデータに空間周波数逆変換を施す逆変換部と、を備え、
前記エントロピー復号ブロックは、
符号化画像データのうち、復号可能な性質のデータについて仕様が異なる第1復号部および1以上の第2復号部と、
前記符号化画像データを並列に復号できるか否かを解析する解析部と、を有し、
前記解析部は、解析結果に応じて、前記第1復号部が前記符号化画像データを単独で復号するか、前記第1復号部および前記第2復号部のうちの複数の復号部が前記符号化画像データを並列に復号するか、を選択することを特徴とする画像復号装置。
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:
Among encoded image data, a first decoding unit and one or more second decoding units having different specifications for data having a decodable property;
An analysis unit that analyzes whether the encoded image data can be decoded in parallel,
The analysis unit may be configured such that the first decoding unit independently decodes the encoded image data according to an analysis result, or a plurality of decoding units among the first decoding unit and the second decoding unit An image decoding device that selects whether to decode parallel image data in parallel.
前記第1復号部および第2復号部からなる復号部を複数備えることを特徴とする請求項1または2に記載の画像復号装置。   The image decoding apparatus according to claim 1, further comprising a plurality of decoding units including the first decoding unit and the second decoding unit. 前記第1復号部は、並列に復号処理される場合、ある性質のデータを専用に復号することを特徴とする請求項1から3のいずれかに記載の画像復号装置。   4. The image decoding device according to claim 1, wherein the first decoding unit exclusively decodes data having a certain property when decoding is performed in parallel. 5. 前記解析部は、前記符号化画像データのヘッダに記述されている前記性質ごとに分類された複数のデータ群がそれぞれ独立して符号化されたか否かを解析することを特徴とする請求項1から4のいずれかに記載の画像復号装置。   The analysis unit analyzes whether or not each of a plurality of data groups classified according to the properties described in a header of the encoded image data is independently encoded. 5. The image decoding device according to any one of 4 to 4. 前記解析部は、前記符号化画像データのヘッダに、前記性質ごとに分類された複数のデータ群のそれぞれの符号量が記述されているか否かを解析することを特徴とする請求項1から5のいずれかに記載の画像復号装置。   The analysis unit analyzes whether or not each code amount of a plurality of data groups classified according to the property is described in a header of the encoded image data. The image decoding device according to any one of the above. 前記性質は、前記符号化画像データの符号化パスの種類であることを特徴とする請求項1から6のいずれかに記載の画像復号装置。   The image decoding apparatus according to claim 1, wherein the property is a type of an encoding pass of the encoded image data.
JP2004087720A 2004-02-10 2004-03-24 Image decoding apparatus Withdrawn JP2005277758A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004087720A JP2005277758A (en) 2004-03-24 2004-03-24 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
JP2004087720A JP2005277758A (en) 2004-03-24 2004-03-24 Image decoding apparatus

Publications (1)

Publication Number Publication Date
JP2005277758A true JP2005277758A (en) 2005-10-06

Family

ID=35176959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004087720A Withdrawn JP2005277758A (en) 2004-02-10 2004-03-24 Image decoding apparatus

Country Status (1)

Country Link
JP (1) JP2005277758A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049630A (en) * 2007-08-17 2009-03-05 Fujitsu Electronics Inc Arithmetic decoder and entropy decoder
WO2009031519A1 (en) * 2007-09-07 2009-03-12 Kanazawa University Entropy encoding/decoding method and entropy encoding/decoding device
JP2009518917A (en) * 2005-12-07 2009-05-07 イマジネイション テクノロジーズ リミテッド Data decoding

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009518917A (en) * 2005-12-07 2009-05-07 イマジネイション テクノロジーズ リミテッド Data decoding
JP2009049630A (en) * 2007-08-17 2009-03-05 Fujitsu Electronics Inc Arithmetic decoder and entropy decoder
WO2009031519A1 (en) * 2007-09-07 2009-03-12 Kanazawa University Entropy encoding/decoding method and entropy encoding/decoding device
JP4771263B2 (en) * 2007-09-07 2011-09-14 国立大学法人金沢大学 Entropy encoding / decoding method and entropy encoding / decoding device

Similar Documents

Publication Publication Date Title
US7418146B2 (en) Image decoding apparatus
JP4878262B2 (en) Entropy encoding device
US6031940A (en) System and method for efficiently encoding video frame sequences
JP5606591B2 (en) Video compression method
TWI436286B (en) Method and apparatus for decoding image
CN111901596B (en) Video hybrid coding and decoding method, device and medium based on deep learning
US20040013312A1 (en) Moving image coding apparatus, moving image decoding apparatus, and methods therefor
US20110091123A1 (en) Coding apparatus and coding method
WO2021056214A1 (en) Encoding method, decoding method, encoder, decoder and storage medium
JP4061104B2 (en) Memory access and skipping based on run / skip count by context model
US7123656B1 (en) Systems and methods for video compression
Jilani et al. JPEG image compression using FPGA with Artificial Neural Networks
JP2005277758A (en) Image decoding apparatus
JP5842357B2 (en) Image processing apparatus and image processing program
JP2001025018A (en) Wavelet transformer, encoding/decoding device, wavelet transformation processing method and recording medium
US20030039400A1 (en) Hardware context vector generator for JPEG2000 block-coding
JP2005229218A (en) Image decoding apparatus
TWI552573B (en) Coding of video and audio with initialization fragments
JP2020156106A (en) Video encoding device and video encoding method
US20040179592A1 (en) Image coding apparatus
CN102547275A (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
JP2004253889A (en) Image processing apparatus and method
WO2022067806A1 (en) Video encoding and decoding methods, encoder, decoder, and storage medium
JP3193285B2 (en) Coding noise reduction filter circuit
JP3990949B2 (en) Image coding apparatus and image coding method

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