JP4337066B2 - Image processing apparatus and bit modeling method - Google Patents
Image processing apparatus and bit modeling method Download PDFInfo
- Publication number
- JP4337066B2 JP4337066B2 JP2007326597A JP2007326597A JP4337066B2 JP 4337066 B2 JP4337066 B2 JP 4337066B2 JP 2007326597 A JP2007326597 A JP 2007326597A JP 2007326597 A JP2007326597 A JP 2007326597A JP 4337066 B2 JP4337066 B2 JP 4337066B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- plane
- processing
- sig
- done
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、画像処理装置及びビットモデル化方法に関し、例えばJPEG(Joint Photographic Experts Group)2000規格に準拠した符号化装置及び復号化装置並びにこれら符号化装置及び復号化装置から構成される画像情報処理システムに適用して好適なものである。 The present invention relates to an image processing apparatus and a bit modeling method, and relates to, for example, an encoding apparatus and a decoding apparatus compliant with JPEG (Joint Photographic Experts Group) 2000 standard, and an image information processing composed of these encoding apparatus and decoding apparatus. It is suitable for application to a system.
近年、新しいデータ圧縮方式として、JPEG2000規格と呼ばれる圧縮方式が規格化されている。 In recent years, a compression method called a JPEG2000 standard has been standardized as a new data compression method.
図38は、かかるJPEG2000規格に準拠した符号化装置1の構成を示すものであり、供給される画像データD1に対して入力画像処理部2においてDCレベルシフト処理及び色変換処理等の所定の入力画像処理を施した後、得られた信号処理画像データD2をDWT(Discrete Wavelet Transform)部3に送出する。
FIG. 38 shows the configuration of the
DWT部3は、供給される信号処理画像データD2に対してウェーブレット変換処理を施す。具体的には、図39に示すように、信号処理画像データD2を低域周波数通過型及び高域周波数通過型の2分割フィルタを通すことにより、当該信号処理画像データD2に基づく画像を例えばこの図39のように水平方向と垂直方向とに帯域(サブバンド)分割する。
The
なおこの図39は、分割数が3レベルのものを示したものであり、図中『LL』は信号処理画像データD2における水平方向及び垂直方向が共に低域周波数側の成分、『LH』は信号処理画像データD2における水平方向が低域周波数側で垂直方向が高域周波数側の成分、『HL』は信号処理画像データD2における水平方向が高域周波数側で垂直方向が低域周波数側の成分、『HH』は信号処理画像データD2における水平方向及び垂直方向が共に高域周波数側の成分をそれぞれ示す。 FIG. 39 shows a case where the number of divisions is three. In FIG. 39, “LL” is a component on the low frequency side in the horizontal direction and the vertical direction in the signal processed image data D2, and “LH” is In the signal processing image data D2, the horizontal direction is the low frequency side and the vertical direction is the high frequency side component, and “HL” is the horizontal direction in the signal processing image data D2 is the high frequency side and the vertical direction is the low frequency side. The component “HH” indicates a component on the high frequency side in both the horizontal direction and the vertical direction in the signal processed image data D2.
そしてDWT部3は、このようなウェーブレット変換処理により得られたウェーブレット係数をDWTデータD3として量子化部4に送出する。
Then, the
量子化部4は、供給されるDWTデータD3を順次量子化し、得られた量子化係数を、所定サイズのコードブロックに切り分けて、当該コードブロック単位のコードブロックデータD4として、EBCOT(Embedded Block Coding with Optimized Truncation)ブロック5のビットモデル部6に送出する。
The
ビットモデル部6は、供給されるコードブロックデータD4を、ビットプレーンごとにデータをスキャンしながらCBM(Coefficient Bit Modeling)処理により係数ビットモデル化し、かくして得られたシンボル(Symbol)及びコンテクスト(Context)の各データD5、D6を算術符号化(Arithmatic Coder)部7に送出する。
The
算術符号化部7は、供給されるシンボルデータD5及びコンテクストデータD6を入力として所定の算術符号化演算処理を実行することにより符号化列を生成し、これを符号化データD7としてパケタイズストリーム生成部8に送出する。
The
パケタイズストリーム生成部8は、供給される符号化データD7をJPEG2000規格に応じたパケットフォーマットにパケット化する。これによりJPEG2000規格のシンタクスに合った符号化パケットデータD8を得ることができる。
The packetized
一方、図40は、JPEG2000規格に準拠した復号化装置10の構成を示すものである。
On the other hand, FIG. 40 shows a configuration of the
この復号化装置10においては、上述のようにして生成されたJPEG2000規格のシンタクスに合った符号化パケットデータD10から画像情報部分である符号化データD11を抽出し、これをEBCOTブロック12の算術復号化部13に送出する。
In this
算術復号化部13は、符号化データD11及び後段のビットデモデル部14から与えられるコンテクストデータD12を入力とした所定の算術復号化演算処理を実行し、かくして得られたシンボルデータD13をビットデモデル部14に送出する。
The
ビットデモデル部14は、供給されるシンボルデータD13をCBM処理により係数ビットモデル化し、かくして得られた復号されたコードブロックデータD14を逆量子化部15に送出すると共に、このとき得られたコンタクスをコンタクスデータD12として算術復号化部13に送出する。
The
逆量子化部15は、供給される復号量子化データD14に対して逆量子化処理を施すことによりウェーブレット係数を得、これを復号DWTデータD16としてIDWT部16に送出する。
The
IDWT部16は、供給される復号DWTデータD16に対してウェーブレット逆変換処理を施し、かくして得られたウェーブレット逆変換画像データD16を入力画像処理部17に送出する。
The IDWT
そして入力画像処理部17は、このウェーブレット逆変換画像データD16に対して所定の信号処理を施す。これにより符号化装置1(図38)において符号化された画像データD1(図38)を復号した画像データD17を得ることができる。
The input
なお、JPEG2000規格に準拠した符号化装置及び復号化装置に関する先行技術文献としては、以下のものがある(特許文献1参照)。
ところが、かかるJPEG2000規格による符号化処理及び復号化処理は、処理内容が煩雑で、高速化を図り難い問題があった。 However, the encoding process and the decoding process according to the JPEG2000 standard have a problem that the processing contents are complicated and it is difficult to increase the speed.
本発明は以上の点を考慮してなされたもので、符号化処理及び又は復号化処理を高速化させ得る画像処理装置及びビットモデル化方法を提案しようとするものである。 The present invention has been made in consideration of the above points, and an object of the present invention is to propose an image processing apparatus and a bit modeling method capable of speeding up the encoding process and / or the decoding process.
かかる課題を解決するため本発明においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化して形成されたビットプレーンのうち、上位の桁のビットプレーンから順に処理対象となる処理ビットを所定の順序で読み出すと共に、処理ビットを予め規定された複数のコンテクストのうち対応するコンテクストを選択して出力する画像処理装置において、処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンを記憶する第1のSRAMと、SIGプレーンにおいて有意とされた直後のビットに対してフラグが立てられるREFプレーンを記憶する第2のSRAMと、コンテクストが既に選択されたビットに対してフラグが立てられるDONEプレーンを記憶する第3のSRAMと、SIGプレーン、REFプレーン及びDONEプレーンを読み出し、SIGプレーンにおいて処理ビットに対応するSIGビットが有意でなく、SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、SIG近傍ビットに基づいてコンテクストを選択し、処理ビットの値を反映してSIGプレーン及びREFプレーンを書き戻すと共に、DONEプレーンにおける処理ビットと対応するDONEビットにフラグを立てた状態にしてDONEプレーンを書き戻す第1の処理部と、第1の処理部によって書き戻されたSIGプレーン、REFプレーン及びDONEプレーンを読み出し、SIGビットが有意でありかつDONEビットにフラグが立てられていない場合には、REFプレーンにおいて処理ビットに対応するREFビット及びSIG近傍ビットに基づいてコンテクストを選択すると共に、SIGビットをSIGプレーンに書き戻し、フラグが立てられていない状態にしてREFビットをREFプレーンに書き戻すと共に、フラグを立てた状態にしてDONEプレーンを書き戻す第2の処理部と、第2の処理部によって書き戻されたSIGプレーン及びDONEプレーンを読み出し、DONEビットにフラグが立てられていない場合には、SIG近傍ビットに基づいてコンテクストを選択し、処理ビットの値を反映してSIGプレーンを書き戻す第3の処理部とを具え、第2の処理部は、第1の処理部が一の処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ第1の処理部から遅れて処理ビットに対する処理を実行するようにした。 In order to solve such a problem, in the present invention, a bit formed by flattening each digit from code block data formed by representing each pixel in image data having a predetermined number of pixels by a predetermined number of bits. An image processing device that reads out processing bits to be processed in order from a higher-order bit plane of a plane in a predetermined order, and selects and outputs a corresponding context from a plurality of predetermined contexts In this case, it is significant that there is a bit that is 1 in the upper plane that is higher than the processing bit plane in which the processing bit exists, and when there is no bit that is 1 insignificant, A first SRAM that stores an SIG plane representing the significance of each bit, and an SIG A second SRAM that stores a REF plane that is flagged for the bit immediately after it is significant in the screen, and a third SRAM that stores a DONE plane that is flagged for a bit whose context has already been selected. When the SRAM, SIG plane, REF plane, and DONE plane are read and the SIG bit corresponding to the processing bit is not significant in the SIG plane, and any of the SIG neighboring bits existing in the vicinity of the SIG bit is significant, Select the context based on the SIG neighborhood bits, write back the SIG plane and the REF plane to reflect the value of the processing bit, and set the DONE plane in a state in which the DONE bit corresponding to the processing bit in the DONE plane is flagged. A first processing unit to be written back; When the SIG plane, the REF plane, and the DONE plane written back by the processing unit are read and the SIG bit is significant and the DONE bit is not flagged, the REF bit corresponding to the processing bit in the REF plane and Selects the context based on the SIG neighborhood bits, writes the SIG bit back to the SIG plane, writes the REF bit back to the REF plane with the flag not set, and sets the DONE plane with the flag set The second processing unit to be written back and the SIG plane and the DONE plane written back by the second processing unit are read, and if the DONE bit is not flagged, the context is selected based on the SIG neighboring bits. Reflects the value of the processing bit And a third processing unit for writing back the SIG plane, and the second processing unit has a first phase difference shorter than a plane processing time required for the first processing unit to process one processing bit plane. The processing on the processing bits is executed with a delay from the first processing unit by time.
この結果この画像処理装置では、符号出力に貢献しない無駄時間を大幅に短縮し、処理時間の低減をもたらすことができる。 As a result, in this image processing apparatus, the dead time that does not contribute to the code output can be greatly shortened, and the processing time can be reduced.
また本発明においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化して形成されたビットプレーンのうち、上位の桁のビットプレーンから順に処理対象となる処理ビットを所定の順序で読み出すと共に、処理ビットを予め規定された複数のコンテクストのうち対応するコンテクストを選択して出力するビットモデル化方法において、第1の処理部によって処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンSIGプレーン、SIGプレーンにおいて有意とされた直後のビットに対してフラグが立てられるREFプレーン、及びコンテクストが既に選択されたビットに対してフラグが立てられるDONEプレーンを読み出し、SIGプレーンにおいて処理ビットに対応するSIGビットが有意でなく、SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、SIG近傍ビットに基づいて予め規定された複数のコンテクストのうち対応するコンテクストを選択し、処理ビットの値を反映してSIGプレーン及びREFプレーンを書き戻すと共に、DONEプレーンにおける処理ビットと対応するDONEビットにフラグを立てた状態にしてDONEプレーンを書き戻す第1の処理ステップと、第2の処理部により第1の処理ステップにおいて書き戻されたSIGプレーン、REFプレーン及びDONEプレーンを読み出し、SIGビットが有意でありかつDONEビットにフラグが立てられていない場合には、REFプレーンにおいて処理ビットに対応するREFビット及びSIG近傍ビットに基づいてコンテクストを選択すると共に、SIGビットをSIGプレーンに書き戻し、フラグが立てられていない状態にしてREFビットをREFプレーンに書き戻すと共に、フラグを立てた状態にしてDONEプレーンを書き戻す第2の処理ステップと、第3の処理部により第2の処理ステップにおいて書き戻されたSIGプレーン及びDONEプレーンを読み出し、DONEビットにフラグが立てられていない場合には、SIG近傍ビットに基づいてコンテクストを選択し、処理ビットの値を反映してSIGプレーンを書き戻す第3の処理ステップとを設け、第2の処理ステップでは、第1の処理部が一の処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ第1の処理部から遅れて処理ビットに対する処理を実行するようにした。 Further, in the present invention, among the bit planes formed by flattening each pixel from code block data formed by representing each pixel in the image data having a predetermined number of pixels by a predetermined number of bits, In a bit modeling method for reading out processing bits to be processed in order from a bit plane of a number of digits in a predetermined order, and selecting and outputting the corresponding contexts from a plurality of predetermined contexts, When a bit that is 1 is significant in an upper plane that is higher than a processing bit plane in which a processing bit exists by the processing unit, and when a bit that is 1 does not exist, SIG plane and SIG plane representing significance of each bit in the plane In the SIG plane, the REF plane that is flagged for the bit immediately after being significant and the DONE plane that is flagged for the bit for which the context has already been selected are read out, and the SIG bit corresponding to the processing bit in the SIG plane If any of the SIG neighboring bits existing in the vicinity of the SIG bit is not significant, the corresponding context is selected from a plurality of contexts defined in advance based on the SIG neighboring bits, and the processing bit A first processing step for writing back the SIG plane and the REF plane reflecting the values, and writing back the DONE plane with a flag set in the DONE bit corresponding to the processing bit in the DONE plane; and a second processing unit Was written back in the first processing step by Read the IG plane, REF plane, and DONE plane, and if the SIG bit is significant and the DONE bit is not flagged, the context is based on the REF bit and the SIG neighborhood bit corresponding to the processing bit in the REF plane. Selecting, writing back the SIG bit back to the SIG plane, writing the REF bit back to the REF plane with the flag not set, and writing back the DONE plane with the flag set up; The SIG plane and DONE plane written back in the second processing step by the third processing unit are read, and when the DONE bit is not flagged, the context is selected based on the SIG neighboring bits, and the processing is performed. Reflects the value of the bit And a third processing step for writing back the SIG plane, and in the second processing step, the first phase difference is shorter than the plane processing time required for the first processing unit to process one processing bit plane. The processing on the processing bits is executed with a delay from the first processing unit by time.
この結果このビットモデル化方法では、符号出力に貢献しない無駄時間を大幅に短縮し、処理時間の低減をもたらすことができる。 As a result, in this bit modeling method, the dead time that does not contribute to the code output can be greatly shortened, and the processing time can be reduced.
さらに本発明においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成するために、処理対象となる処理ビットに対応するシンボルから予め規定された複数のコンテクストのうち処理ビットに対応するコンテクストを選択して出力する画像処理装置において、処理ビットを平面化したときに処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンを記憶する第1のSRAMと、SIGプレーンにおいて有意とされた直後のビットに対してフラグが立てられるREFプレーンを記憶する第2のSRAMと、コンテクストが既に選択されたビットに対してフラグが立てられるDONEプレーンを記憶する第3のSRAMと、SIGプレーン、REFプレーン及びDONEプレーンを読み出し、SIGプレーンにおいて処理ビットに対応するSIGビットが有意でなく、SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、SIG近傍ビットに基づいてコンテクストを選択し、処理ビットの値を反映してSIGプレーン及びREFプレーンを書き戻すと共に、DONEプレーンにおける処理ビットと対応するDONEビットにフラグを立てた状態にしてDONEプレーンを書き戻す第1の処理部と、第1の処理部によって書き戻されたSIGプレーン、REFプレーン及びDONEプレーンを読み出し、SIGビットが有意でありかつDONEビットにフラグが立てられていない場合には、REFプレーンにおいて処理ビットに対応するREFビット及びSIG近傍ビットに基づいてコンテクストを選択すると共に、SIGビットをSIGプレーンに書き戻し、フラグが立てられていない状態にしてREFビットをREFプレーンに書き戻すと共に、フラグを立てた状態にしてDONEプレーンを書き戻す第2の処理部と、第2の処理部によって書き戻されたSIGプレーン及びDONEプレーンを読み出し、DONEビットにフラグが立てられていない場合には、SIG近傍ビットに基づいてコンテクストを選択し、処理ビットの値を反映してSIGプレーンを書き戻す第3の処理部とを設け、第2の処理部は、第1の処理部が一の処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ第1の処理部から遅れて処理ビットに対する処理を実行するようにした。 Furthermore, in the present invention, in order to generate a bit plane that is planarized for each digit from the code block data formed by representing each pixel in the image data having a predetermined number of pixels by a predetermined number of bits. In an image processing apparatus that selects and outputs a context corresponding to a processing bit from a plurality of predetermined contexts from symbols corresponding to the processing bit to be processed, the processing bit exists when the processing bit is planarized If a bit that is 1 is significant in the upper plane that is higher than the processing bit plane to be processed, and if the bit that is 1 is not significant, the significance of each bit in the higher plane is determined. A first SRAM that stores the SIG plane to represent, and significant in the SIG plane A second SRAM that stores a REF plane that is flagged for the immediately following bit, a third SRAM that stores a DONE plane that is flagged for a bit whose context has already been selected, a SIG plane, REF When the plane and the DONE plane are read and the SIG bit corresponding to the processing bit in the SIG plane is not significant, and any of the SIG neighboring bits existing in the vicinity of the SIG bit is significant, the context is determined based on the SIG neighboring bits. The first processing unit that writes back the SONE plane and the REF plane reflecting the value of the processing bit, and writes back the DONE plane with the flag set in the DONE bit corresponding to the processing bit in the DONE plane And write back by the first processing unit If the SIG bit is significant and the DONE bit is not flagged, based on the REF bit and the SIG neighborhood bit corresponding to the processing bit in the REF plane The second process of selecting the context, writing the SIG bit back to the SIG plane, writing the REF bit back to the REF plane with the flag not set, and writing back the DONE plane with the flag set And the SIG plane and DONE plane written back by the second processing unit, and if the DONE bit is not flagged, the context is selected based on the SIG neighboring bits, and the value of the processing bit is set Reflect and write back the SIG plane A third processing unit, and the second processing unit has a first phase difference time shorter than a plane processing time required for the first processing unit to process one processing bit plane. The processing for the processing bits was executed after the processing unit.
この結果この画像処理装置では、符号出力に貢献しない無駄時間を大幅に短縮し、処理時間の低減をもたらすことができる。 As a result, in this image processing apparatus, the dead time that does not contribute to the code output can be greatly shortened, and the processing time can be reduced.
さらに本発明においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成するために、処理対象となる処理ビットに対応するシンボルから予め規定された複数のコンテクストのうち処理ビットに対応するコンテクストを選択するビットモデル化方法において、処理ビットを平面化したときに処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンを記憶する第1のSRAMと、SIGプレーンにおいて有意とされた直後のビットに対してフラグが立てられるREFプレーンを記憶する第2のSRAMと、コンテクストが既に選択されたビットに対してフラグが立てられるDONEプレーンを記憶する第3のSRAMと、第1の処理部によりSIGプレーン、REFプレーン及びDONEプレーンを読み出し、SIGプレーンにおいて処理ビットに対応するSIGビットが有意でなく、SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、SIG近傍ビットに基づいてコンテクストを選択し、処理ビットの値を反映してSIGプレーン及びREFプレーンを書き戻すと共に、DONEプレーンにおける処理ビットと対応するDONEビットにフラグを立てた状態にしてDONEプレーンを書き戻す第1の処理ステップと、第2の処理部により第1のステップにおいて書き戻されたSIGプレーン、REFプレーン及びDONEプレーンを読み出し、SIGビットが有意でありかつDONEビットにフラグが立てられていない場合には、REFプレーンにおいて処理ビットに対応するREFビット及びSIG近傍ビットに基づいてコンテクストを選択すると共に、SIGビットをSIGプレーンに書き戻し、フラグが立てられていない状態にしてREFビットをREFプレーンに書き戻すと共に、フラグを立てた状態にしてDONEプレーンを書き戻す第2の処理ステップと、第3の処理部により第2の処理ステップにおいて書き戻されたSIGプレーン及びDONEプレーンを読み出し、DONEビットにフラグが立てられていない場合には、SIG近傍ビットに基づいてコンテクストを選択し、処理ビットの値を反映してSIGプレーンを書き戻す第3の処理ステップとを設け、第2の処理ステップでは、第1の処理部が一の処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ第1の処理部から遅れて処理ビットに対する処理を実行するようにした。 Furthermore, in the present invention, in order to generate a bit plane that is planarized for each digit from the code block data formed by representing each pixel in the image data having a predetermined number of pixels by a predetermined number of bits. In a bit modeling method for selecting a context corresponding to a processing bit from a plurality of predefined contexts from a symbol corresponding to the processing bit to be processed, a process in which the processing bit exists when the processing bit is planarized SIG representing the significance of each bit in the upper plane is significant when a bit that is 1 is significant in the upper plane that is higher than the bit plane and is not significant when there is no bit that is 1 The first SRAM that stores the plane and made significant in the SIG plane A second SRAM that stores a REF plane that is flagged for a later bit, a third SRAM that stores a DONE plane that is flagged for a bit whose context has already been selected, and a first process When the SIG plane, the REF plane, and the DONE plane are read by the SIG plane, and the SIG bit corresponding to the processing bit is not significant in the SIG plane, and any of the SIG neighboring bits existing in the vicinity of the SIG bit is significant, the SIG Select the context based on the neighboring bits, write back the SIG plane and REF plane reflecting the value of the processing bit, and write the DONE plane with the DONE bit corresponding to the processing bit in the DONE plane being flagged A first processing step to return and a second Read the SIG plane, REF plane, and DONE plane written back in the first step by the processing unit. If the SIG bit is significant and the DONE bit is not flagged, it corresponds to the processing bit in the REF plane. The context is selected based on the REF bit and the SIG neighboring bit to be written, the SIG bit is written back to the SIG plane, the flag is not set, the REF bit is written back to the REF plane, and the flag is set. When the second processing step of writing back the DONE plane and the SIG plane and DONE plane written back by the third processing unit in the second processing step are read and the flag is not set in the DONE bit, Based on SIG neighborhood bits And a third processing step for rewriting the SIG plane by reflecting the value of the processing bit, and in the second processing step, the first processing unit processes one processing bit plane. The processing on the processing bits is executed with a delay from the first processing unit by the first phase difference time shorter than the plane processing time required for the processing.
この結果このビットモデル化方法では、符号出力に貢献しない無駄時間を大幅に短縮し、処理時間の低減をもたらすことができる。 As a result, in this bit modeling method, the dead time that does not contribute to the code output can be greatly shortened, and the processing time can be reduced.
本発明によれば、符号出力に貢献しない無駄時間を大幅に短縮し、処理時間の低減をもたらすことができ、かくして符号化処理及び又は復号化処理を高速化させ得る画像処理装置及びビットモデル化方法を実現できる。 According to the present invention, it is possible to significantly reduce the dead time that does not contribute to the code output and to reduce the processing time, and thus to increase the speed of the encoding process and / or the decoding process, and the bit modeling. The method can be realized.
以下図面について、本発明の一実施の形態を詳述する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
(1)CBM処理の内容
本願発明は上述したJPEG2000規格に準拠した符号化装置1のビットモデル部6(図38)や復号化装置10のビットデモデル部13(図40)において行われるCBM処理に関するものである。そこで、まずCBM処理の具体的処理内容について詳説する。
(1) Contents of CBM processing The present invention relates to CBM processing performed in the bit model unit 6 (FIG. 38) of the
(1−1)1コードブロックとコードブロックサイズ
図38について上述したように、例えばJPEG2000規格に準拠した符号化装置1の量子化部4では、ウェーブレット係数を量子化したものをコードブロックと呼ばれる単位で切り出してビットモデル部6に与える。そしてビットモデル部6では、図1に示すように、このコードブロック20を単位としてCBM処理を行い、シンボルとコンテクストを生成することになる。
(1-1) 1 Code Block and Code Block Size As described above with reference to FIG. 38, for example, in the
ここでコードブロック20のサイズは、図2に示すように、大枠が定められている。従って、コードブロック20のサイズは、エンコード時にこのルールに従って選択することになる。
Here, the size of the
この場合、コードブロック20は基本的にはサブバンドの左上境界から始まって位置付けられるので、図3に示すように、画像サイズとコードブロックサイズとの関係によっては不整合を生じる。このようにエンコード時に決定したものを通常サイズと呼び、不整合が生じたものを例外サイズと呼ぶ。
In this case, since the
例外サイズは必ず通常サイズよりも小さいものであり、基本的に格納しているデータの量が異なるだけであるので、例外サイズについて触れるのはここだけに留め、以下においては通常サイズのコードブロック20を取り上げて説明する。
Since the exception size is always smaller than the normal size and basically the amount of data stored is different, only the exception size is mentioned here, and in the following, the normal
(1−2)ビットプレーン
上述のように、CBM処理ではコードブロック20を単位として処理(モデル化、シンボル・コンテクスト出力)を行うわけであるが、この処理はコードブロック20のデータをビットプレーンに分けて順に行われる。ビットプレーンはその名のとおり、『bit(0/1)』を表現するものが集まった平面である。
(1-2) Bit Plane As described above, in the CBM processing, processing (modeling, symbol context output) is performed in units of the
図4に示すように、コードブロック20に分割されてきたデータは『Sign-Magnitude表現』、すなわち正負符号と絶対値による数値表現により表されている。最上位のビットプレーン22に各画素の正負符号が格納され、これを正負符号ビットプレーン22Sと呼ぶ。そしてこれよりも下位のビットプレーン22に各画素の絶対値データがビットごとに順に格納される。
As shown in FIG. 4, the data divided into the code blocks 20 is represented by “Sign-Magnitude expression”, that is, numerical expression by a positive / negative sign and an absolute value. Sign of each pixel in the
ここで仮に各画素のデータが16ビットで表現されているとすると、コードブロックデータ20は、各画素の最上位ビット(bit15)が集まって構成するプレーンから最下位ビット(bit0)が集まって構成するプレーンまでの16枚のビットプレーン22に分割されることになる。
Assuming that the data of each pixel is expressed by 16 bits, the
上位のビットプレーン22から順に眺めていくと、上述のように最上位ビットが集まって構成するビットプレーン22が正負符号ビットプレーン22Sであり、各画素の正負符号が格納される。
When viewed from the
各画素のその次のビットが集まって構成するビットプレーン22から最下位ビットが集まって構成するビットプレーン22までの合計15枚の各ビットプレーン22に、各画素のデータの絶対値がビットごとに分割されて格納されていることになる。この場合、統計的に上位のいくつかのビットプレーン22では全てのビット値が0であるということが多い。このようなものをゼロビットプレーン220と呼ぶ。
The absolute value of the data of each pixel is set for each bit in a total of 15
かかる15枚のビットプレーン22を上から順に見ていくと、やがて初めてゼロビットプレーン220ではないビットプレーン22にたどりつく。それをトップビットプレーン22Tと呼び、ここではそれが各画素の最下位ビット(bit0)から数えて10番目のビット(bit9)が集まって構成しているビットプレーン22だったとする。これよりも下位のビットプレーン22(それぞれ各画素の9番目以下のビットが集まって構成される各ビットプレーン22)は、データがあったり無かったりしてもここでは特に分類はしない。
When such a 15
ここまでの話しをまとめると、この例では、各画素の最上位ビット(bit15)が集まって構成しているものが正負符号ビットプレーン22S、各画素の次のビット(bit14)が集まって構成しているビットプレーン22から11番目のビット(bit10)が集まって構成しているビットプレーン22がゼロビットプレーン220(10枚)、10番目のビット(bit9)が集まって構成しているビットプレーン22がトップビットプレーン22T、9番目(bit8)のビットが集まって構成しているビットプレーン22から最下位ビットが集まって構成しているビットプレーン22までが残りの処理すべきビットプレーン22(9枚)というビットプレーン構成となっている。
To sum up the discussion so far, in this example, the most significant bit (bit 15) of each pixel is assembled and the
このようなビットプレーン構成のコードブロック20に対し、上述のビットモデル部6(図38)やビットデモデル部13(図40)では次のようにCBM処理を行う。
1) 符号ビットプレーン22Sに対する処理は、後回しにする。
2) ゼロビットプレーン220に対してはCBM処理を行わない。
3) トップビットプレーン22Tで初めてCBM処理を行う。このCBM処理は“Clean-up Pass”(以下、これをCUパスと呼ぶ )と呼ばれる。
4) 残りの処理すべきビットプレーン22に対し、上位のビットプレーン22から順に、“Significance Propagation Pass”(以下、これをSPパスと呼ぶ)、“Magnitude Refinement Pass”(以下、これをMRパスと呼ぶ)及びCUパスをビットプレーン22ごとにそれぞれ行う。
The bit model unit 6 (FIG. 38) and the bit demodel unit 13 (FIG. 40) perform CBM processing on the
1) The process for the
2) it does not perform the CBM processing for zero
3) for the first time CBM processing in the
4) With respect to the remaining
なお、SPパス、MRパス及びCUパスの詳細については後述する。 Details of the SP path, MR path, and CU path will be described later.
(1−3)ビットプレーン内スキャン順序
コードブロック20内の各ビットプレーン22に対するアクセス順序はこれまでに説明した通りであるが、ビットプレーン22内において、各画素のデータにどういう順序でアクセスするかを示したのが図5である。この図5では、8画素×8画素のビットプレーン22を例に示すものである。
(1-3) Scan Order within Bit Plane The access order for each
ビットプレーン22は、縦4画素ずつ横方向に区切った場合の各行であるストライプ23に分けられる。ストライプ23中の縦1列をストライプカラム23Aと呼ぶ。ビットプレーン22の最上段のストライプ23における左端のストライプカラム23Aから処理を始め、1つのストライプカラム23Aを処理したら隣のストライプカラム23Aに移り、それをそのストライプ23中繰り返す。1ストライプ23の処理が完了したら下段のストライプ23に移動し、ビットプレーン22内のすべての画素が処理されるまでこれを繰り返すというのがビットプレーン22内でのスキャン順序(以下、これをビットプレーン内スキャン順序と呼ぶ)である。
The
さらに、ビットプレーン22内におけるスキャンと3つのパス(SPパス、MRパス及びCUパス)との関係について以下に説明する。
Further, the relationship between the scan in the
上述のようにトップビットプレーン22Tに対してCUパスのみを行い、それよりも下位のビットプレーン22に対しては、SPパス、MRパス及びCUパスの3つのパスを処理する。これとビットプレーン22内におけるスキャンとの関係を図6〜図9に示す。
As described above, only the CU pass is performed on the top bit plane 22T, and the lower-
まず新たにビットプレーン22をCBM処理しようという場合において、まだひとつのデータも処理されておらずこれから処理を開始しようとしている状態が図6である。SPパスの処理が必要な画素に対して行われ、このSPパス処理の終了した状態が図7となる。SPパスはビットプレーン内スキャン順序を守って行われる。
First, when a
次のMRパスは、SPパスで処理した画素は避け、該当する画素に対してのみ処理を行う。このMRパスの終了した状態が図8である。このMRパスにおいてもビットプレーン内スキャン順序は守る。 The next MR pass avoids the pixels processed in the SP pass and performs the processing only on the corresponding pixels. FIG. 8 shows a state in which this MR pass is completed. Even in this MR pass, the scan order in the bit plane is maintained.
さらに未処理で残った画素に対してもやはりビットプレーン内スキャン順序を守りながらCUパスで処理を行う。このCUパスの完了した状態が図9である。この結果、すべての画素が処理済みになったので、このビットプレーン22のビットモデル化は完了したことになる。
Further, the remaining pixels that have not been processed are also processed by the CU pass while keeping the scan order in the bit plane. FIG. 9 shows the completed state of this CU pass. As a result, since all the pixels have been processed, the bit modeling of the
なお『トップビットプレーン22T』については、CUパスの処理のみをすべての画素に対して行う。
For “
(1−4)“Significance”について
次に各コーディング・パス(SPパス、MRパス及びCUパス)の説明に入る前に、“Significance”という状態量について説明する。“Significance”とは該当画素が『有意である(Significant)/有意でない(Insignificant)』ということを表す。
(1-4) About “Significance” Next, before describing each coding pass (SP pass, MR pass, and CU pass), a state quantity “Significance” will be explained. “Significance” indicates that the corresponding pixel is “significant / insignificant”.
『有意である(Significant)』とは、「これまでのCBM処理によって注目係数が0ではないとわかっている状態」のことをいい、換言すれば「値が『1』である画素(ビット)をすでにモデル化(符号化)し終えた」ということを意味する。 “Significant” means “a state where the attention coefficient is known not to be 0 by the CBM processing so far”, in other words, “a pixel (bit) whose value is“ 1 ””. Has already been modeled (encoded).
また『有意でない(Insignificant)』とは、「係数値が0であるか、又は0の可能性がある状態」のことをいい、換言すれば「(今のところ)値が『1』である画素(ビット)を未だモデル化(符号化)し終えていない」ということを意味する。 “Insignificant” means “the coefficient value is 0, or a state where there is a possibility of 0”, in other words, “(currently) the value is“ 1 ”. This means that the pixel (bit) has not yet been modeled (encoded).
さらに『該当画素』とは、ビットプレーン22上のある着目している画素のことをいう。
Further, “corresponding pixel” refers to a pixel of interest on the
なお、“Significance”はコードブロック20(図1)に渡って更新されながら記憶保持される。従ってこれまで例示した8画素×8画素のビットプレーン22が16枚からなるコードブロック20においていえば、64画素(8画素×8画素)分の“Significance”状態量をコードブロック20に渡って記憶保持することになる。
“Significance” is stored and held while being updated over the code block 20 (FIG. 1). Accordingly, in the
CBM処理では、時間的にトップビットプレーン22Tから順に、ビットプレーン22内ではビットプレーン内スキャン順序に従って3つのコーディング・パス(トップビットプレーン22TではCUパスのみ)を処理(モデル化、シンボル・コンテクスト出力)するが、ある画素の係数(正確にはウェーブレット変換係数を量子化したもの)の状態をこの“Significance”で表していることになる。
In CBM process, in order from temporally
因みに、CBM処理が行われていないコードブロック20においては、すべてのSIGプレーン上の値が“Insignificant”で始まり、各ビットプレーン22を処理していく過程において該当するものが“Significant”に転じていく。一度“Significant”になったものがCBM処理の途中で“Insignificant”に戻ることはない。
Incidentally, in the
(1−5)3つのコーディング・パス
次に、SLパス(Significance Propagation Pass)、MRパス(Magnitude Refinement Pass )、CUパス(Clean−up Pass)について説明する。
(1-5) Three Coding Passes Next, an SL pass (Significance Propagation Pass), an MR pass (Magnitude Refinement Pass), and a CU pass (Clean-up Pass) will be described.
この3つのコーディング・パスに従ってビットモデル化の処理を行う場合には、図10に示すように、これから処理しようとするビットプレーン22(以下、これを処理ビットプレーン22と呼ぶ)以外に、正負符号ビットプレーン22S(図4)のデータを記憶保持するプレーン(以下、これを正負符号プレーンと呼ぶ)30と、“Significance”を記録するプレーン(以下、これをSIGプレーンと呼ぶ31)と、最初の“Refinement pass”であるか否か示すプレーン(以下、これをREFプレーンと呼ぶ)32と、処理ビットプレーン中で着目ビットが処理済みであるか否かを表すプレーン(以下、これをDONEプレーンと呼ぶ)33とを状態量の記録用RAMとして用意するのが一般的である。
When performing the bit modeling process according to these three coding passes, as shown in FIG. 10, in addition to the
これら正負符号プレーン30、SIGプレーン31、REFプレーン32及びDONEプレーン33は、処理ビットプレーン22と同じ大きさを持つ(これまでの例では8画素×8画素)プレーンである。
The positive /
この場合、正負符号プレーン30は、コードブロック22を処理している間はその値が変化せず記憶保持される。SIGプレーン31は、SPパス、CUパスで値を変化させられる可能性がある。REFプレーン32は、MRパスで値を変化させられる可能性がある。DONEプレーン33は、各コーディング・パスの処理が完了した画素に対応させて処理済のフラグを立てる状態量で、その処理ビットプレーン22に対する処理が完了した段階でリセットされる。
In this case, the value of the positive /
(1−5−1)SPパスの処理
SPパスは、トップビットプレーン22T(図4)を除く処理ビットプレーン22において、最初に実施されるコーディング・パスである。このSPパスは、処理ビットプレーン22上の該当画素と同じ座標位置にあるSIGプレーン31上のデータを参照しながら処理が進められる。
(1-5-1) SP Path Processing The SP path is a coding path that is first performed in the
すなわち図11に示すように、例えば処理ビットプレーン22上における該当画素の座標が(2,1)であったとき(図11(B))、SIGプレーン31上のこの該当画素に対応するビット(図11(C)における座標(2,1)のビット)と、その8近傍のビットとを合わせた(1,0)、(2,0)、(3,0)、(1,1)、(2,1)、(3,1)、(1,2)、(2,2)、(3,2)の各座標位置のデータを参照することになる。なお参照する8近傍のビットうち、処理ビットプレーン22の外側に位置してしまったビットはすべて“Insignificant”とされる。
That is, as shown in FIG. 11, for example, when the coordinates of the corresponding pixel on the
SPパスの処理を行うに際しては、上述したビットプレーン内スキャン順序に従って、処理ビットプレーン22の左上を起点に、当該処理ビットプレーン22上の画素ごとに当該処理を行うことができるかどうかを調べる。具体的には、「『該当画素が“Significant”ではない(Insignificant)』かつ『該当画素の8近傍に“Significant”である画素が少なくともひとつ存在する』」という条件を満たすか否かを調査する。
When performing the SP pass processing, it is checked whether the processing can be performed for each pixel on the
そしてこの条件を満たすときにその該当画素に対してSPパス の処理を行い、満たさないときにはSPパスの処理を行わずにビットプレーン内スキャン順序に従って次の画素を評価する。 When this condition is satisfied, the SP pass process is performed on the corresponding pixel. When the condition is not satisfied, the next pixel is evaluated according to the intra-bit-plane scan order without performing the SP pass process.
次に、SPパスの処理に入った場合の流れを説明する。 Next, the flow when entering the SP pass process will be described.
SPパスに入った場合、シンボルとして図12(A)に示す処理ビットプレーン22の該当画素の値(0/1)を出力する。同時に、処理ビットプレーン22上の該当画素と対応する図12(B)に示すSIGプレーン31上のビットを囲む8近傍のビットのうち、“Significant”であるビットの数を数え、図13に示すルールに従ってコンテクストを出力する。
When the SP pass is entered, the value (0/1) of the corresponding pixel of the
なおこの図13において、『ΣH』、『ΣV』、『ΣD』及び『ΣH+ΣV』は、それぞれ処理ビットプレーン22上の該当画素と対応するSIGプレーン31上のビットの8近傍における左右2つのビット、上下2つのビット、斜め4つのビット、又は上下左右4つのビットうちの“Significant”であるビットの合計値を表す。
In FIG. 13, “ΣH”, “ΣV”, “ΣD”, and “ΣH + ΣV” are two left and right bits in the vicinity of 8 bits on the
また『CX』は、そのような状態のときのコンテクストを表す。例えば、その処理ビットプレーン22を含むコードブロック20(図1)が画像のLL成分(図39)であり、このとき『ΣH』、『ΣV』及び『ΣD』がそれぞれ0、0及び1であった場合のコンテクストは1となり、『ΣH』、『ΣV』及び『ΣD』がそれぞれ1、0及び0であった場合のコンテクストは5となる。
“CX” represents the context in such a state. For example, the code block 20 (FIG. 1) including the
シンボルの値が0である場合は、その該当画素に対するSPパスの処理がこれで完了し、この該当画素とDONEプレーン33(図10)上の同じ座標位置にビットモデル化が完了した旨のフラグを立てる。 When the value of the symbol is 0, the SP pass processing for the corresponding pixel is completed, and a flag indicating that bit modeling is completed at the same coordinate position on the corresponding pixel and the DONE plane 33 (FIG. 10). Stand up.
これに対してシンボルの値が1(すなわち該当画素の値が1)だった場合は、この該当画素は初めて1が現れた画素であることになり、いままで“Insignificant”であったが、ここで初めて“Significant”に転じ、SIGプレーン31上の同じ座標位置にフラグを立てる。このときREFプレーン32(図10)上の同座標位置にもフラグを立てる。これは次のMRパスのための処理である。
On the other hand, if the value of the symbol is 1 (that is, the value of the corresponding pixel is 1), this corresponding pixel is the pixel in which 1 appears for the first time, and it has been “Insignificant” until now. Then, for the first time, “Significant” is set and a flag is set at the same coordinate position on the
さらに、その該当画素と同じ座標位置にある正負符号プレーン30上のビット(すなわち該当画素に対応する正負符号)の上下左右4近傍のビットを参照し、図14に示すルールに従ってコンテクストを出力する。
Furthermore, referring to the bits near the top, bottom, left, and right of the bit on the positive /
またこれと同時にXOR信号も出力され、これと当該コンテクストのXORを取ったものを、正負符号のシンボルとして出力することにより該当画素に対応する正負符号のビットモデル化を完了し、この段階でこの該当画素についてのSPパスの処理も完了となる。このときDONEプレーン33(図10)上の該当画素と同じ座標位置にビットモデル化が完了したことを表すフラグを立てる。 At the same time, an XOR signal is also output, and the XOR of this and the context is output as a symbol of the positive / negative sign, thereby completing the bit modeling of the positive / negative sign corresponding to the corresponding pixel. The SP pass processing for the corresponding pixel is also completed. At this time, a flag indicating that the bit modeling is completed is set at the same coordinate position as the corresponding pixel on the DONE plane 33 (FIG. 10).
なお、上述のことからも明らかなように、スキャン順序によっては、SPパスによって“Significant”に新たに転じたものが他の(近傍)画素のSIGプレーン31上の8近傍参照時に影響を与えることがある。
As is clear from the above, depending on the scan order, what is newly changed to “Significant” by the SP pass may affect the reference of 8 neighbors on the
(1−5−2)MRパスの処理
MRパスは、トップビットプレーン22T(図4)を除く処理ビットプレーン22について、SPパスに続いて実施されるコーディング・パスである。図15に処理の概略を示す。
(1-5-2) MR Pass Processing The MR pass is a coding pass that is performed following the SP pass for the
このMRパスの処理を行うに際しては、上述したビットプレーン内スキャン順序に従って、処理ビットプレーン22の左上を起点に、当該処理を行うことができるかどうかを各画素について調べる。具体的には、「『未処理(DONEプレーン33上の該当画素と同じ座標位置にフラグが立っていない)の処理ビットプレーン22上の該当画素』であって『その該当画素が“Significant”である』」という条件を満たすか否かを調査する。
When performing this MR pass processing, each pixel is examined to determine whether or not the processing can be performed starting from the upper left of the
そしてこの条件を満たすときにその該当画素に対してMRパスの処理を行い、満たさないときにはMRパスの処理を行わずに上述のビットプレーン内スキャン順序に従って処理ビットプレーン22上の次の画素を評価する。
When this condition is satisfied, MR pass processing is performed on the corresponding pixel, and when not satisfied, MR pass processing is not performed, and the next pixel on the
そしてMRパスの処理に入った場合、該当画素とSIGプレーン31上の同じ座標位置にあるビットの8近傍のビットを参照し、図16に示すルールに従ってコンテクストを出力し、同時に該当画素の値(0/1)をシンボル(図16において『X』)として出力する。
Then, when the MR pass processing is started, the corresponding pixel and 8 bits near the bit at the same coordinate position on the
図16において、『該当画素を最初に本パス(MRパス)で符号化』しているのかどうかという状態は、REFプレーン32(図10)の該当画素と同じ座標位置のフラグを参照する。このフラグが立っていれば、その該当画素が、SP
パスで処理が行われた直後の処理ビットプレーン22上の画素であるということがわかる。ただし、これ以降の下位のビットプレーン22の処理時に誤って参照しないように、参照後にこのフラグをクリアする。
In FIG. 16, the state of whether or not “the relevant pixel is first encoded in this pass (MR pass)” refers to the flag at the same coordinate position as the relevant pixel of the REF plane 32 (FIG. 10). If this flag is set, the corresponding pixel is SP.
It can be seen that this is a pixel on the
(1−5−3)CUパスの処理
トップビットプレーン22Tに対しては唯一これのみ、トップビットプレーン22Tを除く他の処理対象のビットプレーン22に対しては最後に実施されコーディング・パスである。
(1-5-3) Processing of CU path This is the only one for the
CUパスでは、上述したビットプレーン内スキャン順序に従って、処理ビットプレーン22の左上を起点に、CUパスの処理を行うことができるかどうかを各画素について調べるが、この段階で「未処理(DONEプレーン33上で該当画素と同じ座標位置にフラグが立っていない)の処理ビットプレーン22上の画素」、すなわち処理ビットプレーン22上のSP
パス及びMRパスの処理対象とならない残りの画素がすべてCUパスの処理対象となる。
In the CU pass, each pixel is examined to determine whether or not the CU pass process can be performed starting from the upper left of the
All remaining pixels that are not to be processed by the pass and MR pass are processed by the CU pass.
CUパスでは、図17に示すように、上述したSPパスやMRパスのように該当画素と同じ座標位置にあるSIGプレーン31上のビットの8近傍の値を参照するものに加えて、もう少し大きいランレングス符号化を行う。
In the CU pass, as shown in FIG. 17, in addition to the above-mentioned SP pass and MR pass, in addition to the reference to the value in the vicinity of 8 bits on the
CUパスの処理は、まず処理ビットプレーン22の左上を起点に、ランレングス処理を行うことができるかどうかを調べる。具体的には、ストライプカラム23A単位で、「『当該ストライプカラム23A内の4画素すべてがCUパスで処理すべき画素である』かつ『当該ストライプカラム23A内の4画素すべてが“Insignificant”である』かつ『当該ストライプカラム23A内の4画素とそれぞれ同じ座標位置にあるSIGプレーン31上の4つのビットの各8近傍に“Significance”が存在しない』」という条件を満たすか否かを調査する。
In the processing of the CU path, first, it is checked whether or not run length processing can be performed starting from the upper left of the
そしてこの条件を満たすときにランレングス処理に入り、コンテクストとして“run”を出力する。その上で、『当該ストライプカラム23A内の4画素の値がすべて0である』ときにはシンボルとして0を出力し、これに対して『当該ストライプカラム23Aの4画素の値がすべて0ではない』とき、すなわち4画素の中にひとつでも1が存在する場合には、(“run”を出力した上で)シンボルとして1を出力し、それに引き続いて2回“uniform”というコンテクストと対応するシンボルを出力する。
Then, when this condition is satisfied, the run length processing is entered and “run” is output as the context. In addition, when “the values of the four pixels in the
この際“uniform”コンテクストに対応するシンボルは、図18に示すようなルールでエンコードを行う。この図18で説明すると、ストライプカラム23A内の4画素が上から順に0、0、1、0で、初めて1が出てきたその位置を表現する『1、0』なる列がその順でシンボルとなる。“Insignificant”な画素において初めて1が現れたことになるので、その座標は“Significant”に転じ、図17(B)に示すように、かかる値が1の画素と同じSIGプレーン31上の座標位置にフラグを立てる。同時にREFプレーン32(図10)の同じ座標位置にもフラグを立てておくことはいうまでもない。
At this time, the symbols corresponding to the “uniform” context are encoded according to the rules shown in FIG. Referring to FIG. 18, the four pixels in the
続いてその該当画素の正負符号をモデル化するが、そのやり方は図14について上述したSP パスにおける正負符号のモデル化のそれと同じものである。さらにこの例ではストライプカラム23A内の4番目の画素がモデル化されずに残っているが、この画素についてはSP パスと同様のモデル化を行うことになる。
Subsequently, the sign of the corresponding pixel is modeled, and the method is the same as that of the modeling of the sign in the SP path described above with reference to FIG. Furthermore, in this example, the fourth pixel in the
(1−6)3つのコーディング・パスの依存関係
CBM処理では3つのコーディング・パスを処理する。一度あるコーディング・パスでモデル化を行った処理ビットプレーン22上の画素がその処理ビットプレーン22中の他のコーディング・パスで再評価されることはない。DONEプレーン33を用いて処理済・未処理を管理しているためである。
(1-6) Three Coding Pass Dependencies In the CBM process, three coding passes are processed. A pixel on a
しかしながら、上述のように“Significance”は8近傍から影響を受けるため、一般的に “Significance”の依存関係がある。すなわち “Significance”に転じた画素があれば、近傍の画素がモデル化される際にその影響を受ける。 However, as described above, “Significance” is influenced from the vicinity of 8 and thus generally has a dependency relationship of “Significance”. That is, if there is a pixel turned to “Significance”, it is affected when neighboring pixels are modeled.
(1−7)従来のCBM処理の問題
これまでCBM処理の概略を示してきたが、ポイントは、
1) ひとつのビットプレーン22について3つのコーディング・パスを処理しなければならない
2) 3つのコーディング・パスにはビットプレーン22内で依存関係がある
3) 上位のビットプレーン22で生成されたSIGプレーン31の値を評価しながら下位のビットプレーン22のビットモデル化が行われる
ということである。
(1-7) Problems of conventional CBM processing So far, the outline of CBM processing has been shown.
1) Three coding paths must be processed for one
そのような制約のもと、上述した従来手法によるCBM処理では、
1) 上位のビットプレーン22から順番に処理を行う
2) トップビットプレーン22TではCUパスの処理を行う。このときSIGプレーン31が生成される。
3) トップビットプレーン22Tに対する処理の完了後、ひとつ下のビットプレーン22に移り、SPパスの処理を行いつつSIGプレーン31をアップデートする。
4) SP パスの処理を完了後、MRパスの処理を行う。処理に際してSIGプレーン31を参照する。
5) MRパスの処理を完了後、CUパスの処理を行う。SIGプレーン31を参照しつつ、あらたにモデル化されたビットを取り込みつつSIGプレーン31をアップデートする。これでひとつのビットプレーン22の処理を完了する。
6) 次のビットプレーン22に移る。
7) …
といった形でのシーケンシャルな処理となっていた。
Under such restrictions, in the CBM processing by the conventional method described above,
1) Processing is performed in order from the
3) After the processing for the
4) After completing the SP path processing, the MR path processing is performed. The
5) After completing the MR path processing, perform the CU path processing. While referring to the
6) Move to the
7)…
It was a sequential process.
また従来手法におけるビットプレーン22(例えば8画素×8画素)についてのCBM処理では、各コーディング・パスごとにビットプレーン内スキャン順序に従って、1画素ずつ順に評価している。 In the CBM processing for the bit plane 22 (for example, 8 pixels × 8 pixels) according to the conventional method, evaluation is performed pixel by pixel in accordance with the scan order within the bit plane for each coding pass.
しかしながら、3つのコーディング・パスを処理するビットプレーン22(主にこれが支配的である)では、64画素を評価するのに少なくともSPパス処理時に64回、MR
パス処理時に64回の合わせて192回の係数参照を要する。また実際上は、これに加えて正負符号を評価する分も必要となる。
However, in the bit plane 22 (mainly dominant) that processes three coding passes, MR is evaluated at least 64 times during SP pass processing to evaluate 64 pixels.
A total of 192 coefficient references are required during pass processing. In practice, in addition to this, it is necessary to evaluate the sign.
ところがさらに同時にアクセスするSIGプレーン31に至っては、該当画素と同座標のビット及びその8近傍のビットの値を参照する必要があり、192回×(8+1)=1728回、すなわち処理すべき64画素の27倍のデータアクセスが必要となり、それが回路の動作速度に限界を与えている。
However, to reach the
一方、これまでビットプレーン22が8画素×8画素である場合のCBM処理について説明してきたが、ウェーブレット変換して量子化された係数に対してコードブロックを切り出す際に、実際には32画素×32画素や64画素×64画素といったコードブロックサイズが使われることが多い。
On the other hand, the CBM processing in the case where the
この場合、例えば32画素×32画素×16ビットのコードブロックサイズでは、32×32×16=16384〔bit〕=16〔Kbit〕というデータ量となり、64画素×64画素×16ビットのコードブロックサイズでは64×64×16=65536〔bit〕=64〔Kbit〕というデータ量となる。 In this case, for example, a code block size of 32 pixels × 32 pixels × 16 bits has a data amount of 32 × 32 × 16 = 16384 [bit] = 16 [Kbit], and a code block size of 64 pixels × 64 pixels × 16 bits. Then, the data amount is 64 × 64 × 16 = 65536 [bit] = 64 [Kbit].
従って、例えは図38に示すJPEG2000規格に準拠した符号化装置1や図40に示す復号化装置10をIC(Integrated Circuit)化しようと考えた場合、実際上用いられることが多い32画素×32画素×16ビットや64画素×64画素×16ビットのコードブロックサイズは、IC内部のSRAM(Static RAM)に記憶保持するには大きいと言わざるを得ない。
Therefore, for example, when considering that the
そこで、本実施の形態においては、
1) IC化した符号化装置及び復号化装置の外部にコードブロックデータを記憶保持するDRAM(Dynamic RAM)を設ける一方、係数ビットモデリングに必要な処理ビットプレーンデータを記憶保持するSRAMをIC内部に設け、さらに処理に必要なデータ部分のみを順次切り取りながらSRAMからビットモデル部に読み込んで、CBM処理をした後にSRAMに書き戻すRead−Modify−Write形態をとる
2) 従来1画素ずつ処理していたCBM処理を、処理ビットプレーン22内のストライプカラム23Aの大きさにあたる4画素まとめて演算子として構成し、処理を行う
3) 4画素拡張した演算子をすべてシフトレジスタを用いた演算子として構成することにより、処理ビットプレーンデータ、SIGプレーンデータ、REFプレーンデータ、正負符号プレーンデータ及びDONEプレーンデータの5つの情報が同期したパイプライン処理を行う
4) かかるシフトレジスタ化された演算子をSP パス、MRパス、CUパスの分だけ並列に用意して、位相差をつけて動作させる
といった構成上の工夫を加えたものである。この構成によれば、従来の処理方法で存在した符号出力に貢献しない無駄時間を大幅に短縮し、処理時間の低減をもたらす。以下、本発明を適用した符号化装置及び復号化装置について説明する。
Therefore, in this embodiment,
1) A DRAM (Dynamic RAM) for storing and holding code block data is provided outside the IC encoding and decoding devices, and an SRAM for storing processing bit plane data necessary for coefficient bit modeling is provided inside the IC. In addition, a read-modify-write configuration is adopted in which only the data portion necessary for processing is sequentially cut out, read from the SRAM into the bit model portion, and written to the SRAM after being subjected to CBM processing. 2) Conventionally, one pixel is processed at a time. The CBM processing is configured as an operator that collectively processes four pixels corresponding to the size of the
(2)第1の実施の形態
(2−1)第1の実施の形態による符号化装置40の構成
(2−1−1)符号化装置40の全体構成
図38との対応部分に同一符号を付して示す図19は、JPEG2000規格に準拠した本実施の形態による符号化装置40を示し、全体として一体にIC化(集積回路化)されて構成されている点と、ICの外部に量子化部4から出力されるコードブロックデータD4を記憶保持するDRAM41が設けられている点と、EBCOTブロック42の構成が異なる点とを除いて図38に示す符号化装置1と同様に構成されている。
(2) First Embodiment (2-1) Configuration of
実際上、EBCOTブロック42においては、図20に示すように、それぞれSRAMからなる正負符号プレーンバッファ50及び処理ビットプレーンバッファ51A、51Bが入力段に設けられており、DRAM41(図19)に記憶保持されたコードブロックデータD4のうち、正負符号ビットプレーン22Sのデータ(以下、これを単に正負符号プレーンデータと呼ぶ)D20と、必要な処理ビットプレーン22のデータ(以下、これを単に処理ビットプレーンデータと呼ぶ)D21とを読み出し、これらをそれぞれSRAMでなる正負符号バッファ50又はビットプレーンバッファ51A、51Bに記憶保持し得るようになされている。
In practice, in the
この場合処理ビットプレーンバッファ51A、51Bは2つ設けられており、これにより一方の処理ビットプレーンバッファ51A、51Bに記憶保持した処理ビットプレーンデータD21をCBM処理しながら、他方の処理ビットプレーンバッファ51B、51Aに次の処理ビットプレーンデータD21を書き込み得るようになされている。
In this case, two processing
またEBCOTブロック42には、それぞれ少なくとも1ビットプレーン分のデータ及び2ビットプレーン分のデータの記憶容量を有するSRAM52A、52Bが設けられており、これによりCBM処理時に利用するSIGプレーン31(図10)のデータ(以下、これをSIGプレーンデータと呼ぶ)D22をSRAM52Aに記憶保持し、REFプレーン32(図10)のデータ(以下、これをREFプレーンデータと呼ぶ)D23及びDONEプレーン33(図10)のデータ(以下、これをDONEプレーンデータと呼ぶ)D24をSRAM52Bに記憶保持することができるようになされている。
In addition, the
一方、処理ビットプレーンバッファ51A、51Bに記憶保持された処理ビットプレーンデータD21は、スイッチャ53を介してビットモデル部54により所定単位で順次読み出される。そしてビットモデル部54は、この読み出した処理ビットプレーンデータD21を、正負符号プレーンバッファ50に記憶保持された正負符号プレーンデータD20と、SRAM52A、52Bに記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを利用しながらCBM処理し、かくして得られたシンボルSB及びコンテクストCXを算術符号化部55に送出する。
On the other hand, the processing bit plane data D21 stored and held in the processing
算術符号化部55は、供給されるシンボルSB及びコンテクストCXを入力として算術符号化処理を行いながら符号化列を生成し、かくして得られた符号化データD25をコードブロック20ごとに第1又は第2のビットストリームバッファ56A、56Bに順次交互に格納する。
The
そしてこの第1又は第2のビットストリームバッファ56A、56Bに格納された符号化データD25は、この後スイッチャ57を介して後段のパケッタイズ・ストリーム生成部8(図19)に送出される。
The encoded data D25 stored in the first or second
このようにしてこの符号化装置40においては、DRAM41に格納されたコードブロックデータD4から必要な処理ビットプレーンデータD21のみを読み出してビットプレーンバッファ51A、51Bに記憶保持しながら、当該記憶保持した処理ビットプレーンデータD21に対して順次CBM処理を施し得るようになされている。
In this way, in the
(2−1−2)ビットモデル部54の構成
ここでビットモデル部54は、図21に示すように、シグナルスイッチャ60、SPパス符号化処理部61、MRパス符号化処理部62、CUパス符号化処理部63、出力スイッチャ64及び制御部65から構成されている。
(2-1-2) Configuration of
この場合シグナルスイッチャ60は、トップビットプレーン22T以外の処理ビットプレーン22に対するCBM処理時、シーケンサ及びタイミングジェネレータとしての機能を有する制御部65の制御のもとに、処理ビットプレーンデータD21を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従って処理ビットプレーンバッファ51A、51Bから1サンプルずつ順次読み出し、これをまずSPパス符号化処理部61に送出する。
In this case the
またシグナルスイッチャ60は、これと同期して、処理ビットプレーンバッファ51A、51Bから読み出された4画素分の処理ビットプレーンデータD21に対してSPパスによる符号化処理(以下、これをSPパス符号化処理と呼ぶ)をする際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の正負符号プレーンデータD20を正負符号プレーンバッファ50から順次読み出し、これをSPパス符号化処理部61に送出する。
Further, in synchronization with this, the
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をSPパス符号化処理する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD22をSRAM52Aから順次読み出し、これをSPパス符号化処理部61に送出する。
Furthermore, in synchronization with this, the
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をSPパス符号化処理する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD23と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD24とをSRAM52Bから順次読み出し、これをSPパス符号化処理部61に送出する。
Further, the
このときSPパス符号化処理部61は、シグナルスイッチャ60から順次供給される4画素分の処理ビットプレーンデータD21と、これと対応する正負符号プレーンデータD20、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
At this time, the SP pass
そしてSPパス符号化処理部61は、シグナルスイッチャ60から次のサンプルの処理ビットプレーンデータD21等が与えられると、図22(A)において太枠で囲んだその1つ前のサンプルの処理ビットプレーンデータD21(4画素分)について、そのとき記憶保持している図22(B)〜(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD22、正負符号プレーンデータD20、REFプレーンデータD23及びDONEプレーンデータD24を利用して、SPパス符号化処理できるか否かの検出と、できる場合のSPパス符号化処理とを実行する。
Then, when the processing bit plane data D21 of the next sample is given from the
そしてSPパス符号化処理部61は、SPパス符号化処理を行った場合、これにより得られたその画素についてのシンボルSB及び正負符号についての各シンボルSBをシンボルデータD26Sとして出力スイッチャ64に送出すると共に、その画素についてのコンテクストCX及び正負符号についてのコンテクストCXをコンテクストデータD27Sとして出力スイッチャ64に送出する。
When performing the SP pass encoding process, the SP pass
またSPパス符号化処理部61は、SPパス符号化処理を行ったときは、かかるSIGプレーンデータD22、REFプレーンデータD23及び又はDONEプレーンデータD24をこれに応じて更新し、その後これらをシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれSRAM52A、52Bにおけるもとのアドレス位置に書き戻させる(Read-Modify-Write)。
Further, when the SP path encoding processing
一方、シグナルスイッチャ60は、このようにして処理ビットプレーンバッファ51A、51Bに格納された1ビットプレーン分のデータ(処理ビットプレーンデータD21)に対するSPパス符号化処理を終了すると、この後これと同様にして、制御部65の制御のもとに、同じ処理ビットプレーンデータD21を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従って処理ビットプレーンバッファ51A、51Bから1サンプルずつ順次読み出し、これをMRパス符号化処理部62に送出する。
On the other hand, when the
またシグナルスイッチャ60は、これと同期して、処理ビットプレーンバッファ51A、51Bから読み出された4画素分の処理ビットプレーンデータD21に対してMRパスによる符号化処理(以下、これをMRパス符号化処理と呼ぶ)をする際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)分のSIGプレーンデータD22をSRAM52Aから順次読み出し、これをMRパス符号化処理部62に送出する。
Further, in synchronization with this, the
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をMRパス符号化処理する際に必要となる、当該4画素と同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD23と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD24とをSRAM52Bから順次読み出し、これをMRパス符号化処理部61に送出する。
Further, the
このときMRパス符号化処理部62は、シグナルスイッチャ60から順次供給される4画素分の処理ビットプレーンデータD21と、これと対応するSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
At this time, the MR pass
そしてMRパス符号化処理部62は、シグナルスイッチャ60から次のサンプルの処理ビットプレーンデータD21等が与えられると、図22(A)において太枠で囲んだその1つ前のサンプルの処理ビットプレーンデータD21(4画素分)について、そのとき記憶保持している図22(B)、(D)及び(E)においてそれぞれ太枠で囲まれた必要なSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を利用して、MRパス符号化処理できるか否かの検出と、できる場合のMRパス符号化処理とを実行する。
Then, when the processing bit plane data D21 of the next sample is given from the
そしてMRパス符号化処理部62は、MRパス符号化処理を行った場合、これにより得られたその画素についてのシンボルSB及び正負符号についてのシンボルSBをシンボルデータD26Rとして出力スイッチャ64に送出すると共に、その画素についてのコンテクストCX及び正負符号についてのコンテクストCXをコンテクストデータD27Rとして出力スイッチャ64に送出する。
When the MR pass encoding processing is performed, the MR pass
またMRパス符号化処理部62は、MRパス符号化処理を行ったときは、SIGプレーンデータD22、REFプレーンデータD23及び又はDONEプレーンデータD24をこれに応じて更新し、その後これらをシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれSRAM52A、52Bにおけるもとのアドレス位置に書き戻させる(Read-Modify-Write)。
Further, when the MR path encoding process is performed, the MR path encoding processing
さらにシグナルスイッチャ60は、このようにして処理ビットプレーンバッファ51A、51Bに格納された1ビットプレーン分のデータ(処理ビットプレーンデータD21)に対するMRパス符号化処理を終了すると、この後これと同様にして、制御部65の制御のもとに、同じ処理ビットプレーンデータD21を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従って処理ビットプレーンバッファ51A、51Bから1サンプルずつ順次読み出し、これをCUパス符号化処理部63に送出する。
Further, when the
またシグナルスイッチャ60は、これと同期して、処理ビットプレーンバッファ51A、51Bから読み出された4画素分の処理ビットプレーンデータD21に対してCUパスによる符号化処理(以下、これをCUパス符号化処理と呼ぶ)をする際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の正負符号プレーンデータD20を正負符号プレーンバッファ50から順次読み出し、これをCUパス符号化処理部63に送出する。
In synchronization with this, the
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をCUパス符号化処理する際に必要となる、当該4画素と同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD22をSRAM52Aから順次読み出し、これをCUパス符号化処理部63に送出する。
Further, the
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をCUパス符号化処理する際に必要となる、当該4画素と同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD23と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD24とをSRAM52Bから読み出し、これをCUパス符号化処理部63に送出する。
Further, the
このときCUパス符号化処理部63は、シグナルスイッチャ60から順次供給される4画素分の処理ビットプレーンデータD21と、これと対応する正負符号プレーンデータD20、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
At this time, the CU pass
そしてCUパス符号化処理部63は、シグナルスイッチャ60から次のサンプルの処理ビットプレーンデータD21等が与えられると、図22(A)において太枠で囲んだその1つ前のサンプルの処理ビットプレーンデータD21(4画素分)について、そのとき記憶保持している図22(B)〜(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD22、正負符号プレーンデータD20、REFプレーンデータD23及びDONEプレーンデータD24を利用して、CUパス符号化処理できるか否かの検出と、できる場合のCUパス符号化処理とを実行する。
Then, when the processing bit plane data D21 of the next sample is given from the
そしてCUパス符号化処理部63は、CUパス符号化処理を行った場合、これにより得られたその画素についてのシンボルSB及び正負符号についてのシンボルSBをシンボルデータD26Cとして出力スイッチャ64に送出すると共に、その画素についてのコンテクストCX及び正負符号についてのコンテクストCXをコンテクストデータD27Cとして出力スイッチャ64に送出する。
When the CU pass encoding processing is performed, the CU pass
またCUパス符号化処理部63は、CUパス符号化処理を行ったときは、かかるSIGプレーンデータD22、REFプレーンデータD23及び又はDONEプレーンデータD24をこれに応じて更新し、その後これらをシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれSRAM52A、52Bにおけるもとのアドレス位置に書き戻させる(Read-Modify-Write)。
In addition, when the CU path encoding processing
一方、出力スイッチャ64においては、制御部65の制御のもとに、SPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63のそれぞれから与えられるシンボルデータD26S、D26R、D26Cと、コンテクストデータD27S、D27R、D27CとをそれぞれシンボルデータD26及びコンテクストデータD27として算術符号化部55に送出する。
On the other hand, in the
このようにしてこのビットモデル部54においては、処理ビットプレーン22上の4画素を単位としてSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を行い得るようになされ、これによりCBM処理を高速に行い得るようになされている。
In this manner, the
(2−1−3)各コーディング・パス処理部の具体的構成
次に、SPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63の各構成についてそれぞれ順番に説明する。
(2-1-3) Specific Configuration of Each Coding / Pass Processing Unit Next, each configuration of the SP path encoding processing
(2−1−3−1)SPパス符号化処理部61の構成
SPパス符号化処理部61は、図23に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部70、正符号シフトレジスタ部71、SIGシフトレジスタ部72、REFシフトレジスタ部73、DONEシフトレジスタ部74及びセレクタ75と、後述のようなセレクタ75に対する出力切替え制御等を行う制御部76とから構成されている。
(2-1-3-1) Configuration of SP Path
また処理ビットシフトレジスタ部70には3段のシフトレジスタ70Aが設けられると共に、正符号シフトレジスタ部71、SIGシフトレジスタ部72、REFシフトレジスタ部73及びDONEシフトレジスタ部74には、それぞれ4段のシフトレジスタ71A〜74Aが設けられている。
The processing bit
これによりSPパス符号化処理部61は、上述のようにシグナルスイッチャ60(図21)から順次与えられる各1サンプル分の処理ビットプレーンデータD21、正負符号プレーンデータD20、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を、それぞれ処理ビットシフトレジスタ部70、正符号シフトレジスタ部71、SIGシフトレジスタ部72、REFシフトレジスタ部73及びDONEシフトレジスタ部74の各シフトレジスタ70A〜74Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
As a result, the SP pass
そして処理ビットシフトレジスタ部70は、シグナルスイッチャ60から1サンプル分の処理ビットプレーンデータD21が与えられると、このとき自己のシフトレジスタ70Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21をセレクタ75に出力する。
The processing
またこのときSIGシフトレジスタ部72は、これと同期して、自己のシフトレジスタ72Aに記憶保持したSIGプレーンデータD22を用いて、このとき処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた4画素について、それぞれ上述のSPパス符号化処理を行うための条件を満たしているか否かの検出処理を画素ごとに並行して行い、検出結果をセレクタ75に出力する。
At this time, the SIG
さらにSIGシフトレジスタ部72は、これと同期して、当該処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた4画素について、図13について上述したルールに従って、当該4画素ごとのコンテクストCXをそれぞれ演算し、演算結果をセレクタ75に出力する。
Further, in synchronization with this, the SIG
そして、このときSIGシフトレジスタ部72により検出された、処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた4画素についてのSPパス符号化処理を行うための条件を満たしているか否かの検出結果が全て否定的であった場合には、セレクタ75からは何も出力されず、処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD21に対する処理が終了する。
Whether the conditions for performing the SP pass encoding processing for the four pixels shifted to the second stage of the
これに対して、処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた1サンプルのうちのいずれかの画素(以下、これをSPパス符号化処理対象画素と呼ぶ)についての検出結果が肯定的であった場合には、処理ビットシフトレジスタ部70から出力された当該SPパス符号化処理対象画素のデータ値(0/1)と、これに同期してSIGシフトレジスタ部72から出力された当該SPパス符号化処理対象画素についてのコンテクストCXの演算結果とが、それぞれそのSPパス符号化処理対象画素のシンボルSB及びコンテクストCXとしてセレクタ75から出力される。
On the other hand, detection of any pixel (hereinafter referred to as an SP pass encoding target pixel) of one sample shifted to the second stage of the
また、このシンボルSBの値が『0』であった場合、この後セレクタ75からDONEシフトレジスタ部74に与えられる更新情報に基づいて、当該DONEシフトレジスタ部74のシフトレジスタ74Aに記憶保持されたDONEプレーンデータD24のうち、SPパス符号化処理対象画素と同座標のビットの値が、ビットモデル化が完了したことを表す『1』に更新されて、このSPパス符号化処理対象画素に対するSPパス符号化処理が完了する。
When the value of the symbol SB is “0”, the symbol SB is stored and held in the
これに対して、このシンボルSBの値が『1』であった場合には、その情報がSIGシフトレジスタ部72、REFシフトレジスタ部73及び正負符号シフトレジスタ部71にそれぞれ与えられる。
On the other hand, when the value of the symbol SB is “1”, the information is given to the SIG
このときSIGシフトレジスタ部72では、自己のシフトレジスタ72Aに記憶保持されたSIGプレーンデータD22におけるSPパス符号化処理対象画素と同座標のビットの値が “Significant”であることを表す『1』に更新される。またREFシフトレジスタ部73では、自己のシフトレジスタ73Aに記憶保持されたREFプレーンデータD23におけるSPパス符号化処理対象画素と同座標のビットの値が、“Significant”となったことを表す『1』に更新される。
At this time, the SIG
さらにこのとき正負符号シフトレジスタ部71は、このSPパス符号化処理対象画素の正負符号のシンボルSB及びコンテクストCXを図14について上述したルールに従って演算し、その演算結果をセレクタ75に送出する。かくしてこのシンボルSB及びコンテクストCXがセレクタ75を介して出力される。
Further, at this time, the positive / negative code
そして、この後セレクタ75からDONEシフトレジスタ部74に更新情報与えられ、当該更新情報に基づき、DONEシフトレジスタ部74のシフトレジスタ74Aに記憶保持されたDONEプレーンデータD24におけるSPパス符号化処理対象画素と同座標のビットの値が『1』に更新されて、当該SPパス符号化処理対象画素に対するSPパス符号化処理が完了する。
Thereafter, update information is given to the DONE
またSPパス符号化処理部61は、この後同じサンプル(このとき処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目に記憶保持された1サンプル)内の当該SPパス符号化処理対象画素よりもビットプレーン内スキャン順序が後の各画素について、SPパス符号化処理を行うための条件を満たしていない場合にはスキップし、SPパス符号化処理を行うための条件を満たしている場合には上述のSPパス符号化処理対象画素と同様にしてSPパス符号化処理を行う。そしてSPパス符号化処理部61は、このような処理を当該サンプル内の全ての画素に対して行い終えると、当該サンプルに対する処理を終了する。
Further, the SP pass
そして、SPパス符号化処理部61は、この後制御部76から制御部65(図21)に与えられる次の1サンプル分の処理ビットプレーンデータD21等の転送要求に応じて、シグナルスイッチャ60から当該次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに同様の処理を順次繰り返す。
Then, in response to a transfer request for the processing bit plane data D21 for the next one sample given from the
またこの際SPパス符号化処理部61は、次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに、SIGシフトレジスタ部72、REFシフトレジスタ部73及びDONEシフトレジスタ部74の各シフトレジスタ72A〜74Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらをSRAM52A、52Bのもとの位置に書き戻させる。
At this time, the SP pass
このようにしてSPパス符号化処理部61においては、ビットプレーンバッファ51A、51Bに格納された処理ビットプレーンデータD21に対するSPパス符号化処理を行い得るようになされている。
In this way, the SP pass
(2−1−3−2)MRパス符号化処理部62の構成
一方、MRパス符号化処理部62は、図24に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部80、SIGシフトレジスタ部82、REFシフトレジスタ部83、DONEシフトレジスタ部84及びセレクタ85と、後述のようなセレクタ85に対する出力切替え制御等を行う制御部86とから構成されている。
(2-1-3-2) Configuration of MR Path
また処理ビットシフトレジスタ部80には3段のシフトレジスタ80Aが設けられると共に、SIGシフトレジスタ部82、REFシフトレジスタ部83及びDONEシフトレジスタ部84には、それぞれ4段のシフトレジスタ82A〜84Aが設けられている。
The processing bit
これによりMRパス符号化処理部62は、上述のようにシグナルスイッチャ60(図21)から順次与えられる各1サンプル分の処理ビットプレーンデータD21、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を、それぞれ処理ビットシフトレジスタ部80、SIGシフトレジスタ部82、REFシフトレジスタ部83及びDONEシフトレジスタ部84のシフトレジスタ80A、82A〜84Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
As a result, the MR path encoding processing
そして処理ビットシフトレジスタ部80は、シグナルスイッチャ60から1サンプル分の処理ビットプレーンデータD21が与えられると、このとき自己のシフトレジスタ80Aの2段目にシフトした1サンプル分の処理ビットプレーンデータD21をセレクタ85に出力する。
The processing bit
またこのときREFシフトレジスタ部83及びDONEシフトレジスタ部84は、これに同期して、自己のシフトレジスタ83A、84Aの2段目にシフトされた1サンプル分のREFプレーンデータD23又はDONEプレーンデータD24をセレクタ85に出力する。
At this time, the REF
そしてSIGシフトレジスタ部82は、自己のシフトレジスタ82Aに記憶保持したSIGプレーンデータD22を用いて、処理ビットシフトレジスタ部80の2段目にシフトした4画素について、REFシフトレジスタ部83の出力を参照しながら図16について上述したルールに従ってコンテクストCXを演算し、演算結果をセレクタ85に出力する。
Then, the SIG
そして、このときDONEプレーンデータD24の値が全て『1』(すなわち処理済)であった場合には、セレクタ85からは何も出力されずに、当該処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21に対する処理が終了する。
At this time, if the values of the DONE plane data D24 are all “1” (that is, processed), nothing is output from the
またかかる1サンプル分のDONEプレーンデータD24のうち、いずれかのデータ値が『0』(すなわち未処理)であり、かつそのDONEプレーンデータD24と対応する処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた画素が“Significant”でなかった場合にも、セレクタ85からは何も出力されずに、当該処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21に対する処理が終了する。
In addition, one of the DONE plane data D24 for one sample is “0” (that is, unprocessed), and the
これに対して、かかる1サンプル分のDONEプレーンデータD24のうち、いずれかのデータ値が『0』であり、かつそのDONEプレーンデータD24と対応する処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた画素が“Significant”であった場合には、当該画素(以下、これをMRパス符号化処理対象画素と呼ぶ)がMRパス符号化処理すべき画素であることを意味する。
On the other hand, any one of the DONE plane data D24 for one sample has a data value of “0”, and 2 of the
かくして、このときセレクタ85は、処理ビットシフトレジスタ部80から出力されたこのMRパス符号化処理対象画素のデータ値(0/1)をシンボルSBとして出力する共に、これと併せてSIGシフトレジスタ部82から出力された、このMRパス符号化処理対象画素のコンテクストCXを出力する。
Thus, at this time, the
またこのときREFシフトレジスタ部83では、そのMRパス符号化処理対象画素と同座標のビットが『1』である場合(すなわちフラグが立っている場合)にはこれがクリアされ、またDONEシフトレジスタ部84では、そのMRパス符号化処理対象画素と同座標のビットが、当該MRパス符号化処理対象画素が処理済みとなったことを意味する『1』に更新される。
At this time, in the REF
そして、MRパス符号化処理部62は、この後そのとき処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた残りの画素についても、当該画素がMRパス符号化処理すべき画素であった場合には、上述と同様にMRパス符号化処理する。
Then, the MR pass
さらにMRパス符号化処理部62は、この後制御部86から制御部65(図21)に与えられる次の1サンプル分の処理ビットプレーンデータD21等の転送要求に応じて、シグナルスイッチャ60から当該次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに同様の処理を順次繰り返す。
Further, the MR path encoding processing
またこの際MRパス符号化処理部62は、次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに、SIGシフトレジスタ部82、REFシフトレジスタ部83及びDONEシフトレジスタ部84の各シフトレジスタ82A〜84Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、それぞれSRAM52A、52Bのもとの位置に書き戻させる。
Further, at this time, the MR pass
このようにしてMRパス符号化処理部62においては、ビットプレーンバッファ51A、51Bに格納された処理ビットプレーンデータD21に対するMRパス符号化処理を行い得るようになされている。
In this way, the MR pass
(2−1−3−3)CUパス符号化処理部63の構成
CUパス符号化処理部63は、図25に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部90、正符号シフトレジスタ部91、SIGシフトレジスタ部92、REFシフトレジスタ部93、DONEシフトレジスタ部94及びセレクタ95と、後述のようなセレクタ95に対する出力切替え制御等を行う制御部96とから構成されている。
(2-1-3-3) Configuration of CU Path
また処理ビットシフトレジスタ部90には3段のシフトレジスタ90Aが設けられると共に、正符号シフトレジスタ部91、SIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94には、それぞれ4段のシフトレジスタ91A〜94Aが設けられている。
The processing bit
これによりCUパス符号化処理部63は、上述のようにシグナルスイッチャ60から順次与えられる各1サンプル分の処理ビットプレーンデータD21、正負符号プレーンデータD20、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を、それぞれ処理ビットシフトレジスタ部90、正符号シフトレジスタ部91、SIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94の各シフトレジスタ90A〜94Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
As a result, the CU path encoding processing
そして処理ビットシフトレジスタ部90は、シグナルスイッチャ60(図21)から1サンプル分の処理ビットプレーンデータD21が与えられると、このとき自己のシフトレジスタ90Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21をセレクタ95に出力する。
Then, when the processing bit plane data D21 for one sample is given from the signal switcher 60 (FIG. 21), the processing bit
またこのときSIGシフトレジスタ部92は、これと同期して、自己のシフトレジスタ92Aに記憶保持したSIGプレーンデータD22を用い、DONEシフトレジスタ部94のシフトレジスタ94Aに記憶保持されたDONEプレーンデータD24を参照しながら、処理ビットシフトレジスタ部90のシフトレジスタ90Aの2段目にシフトされた4画素についてランレングス処理を行い得るか否かを検出する。
At this time, the SIG
そしてランレングス処理できない場合には、これら4画素について、それぞれ上述したSPパス符号化処理が順次行われることとなる。 If run length processing cannot be performed, the above-described SP pass encoding processing is sequentially performed on these four pixels.
これに対してランレングス処理できる場合、SIGシフトレジスタ部92は、図17及び図18について上述したルールに従って、まずコンテクストとして“run”を出力する。その上でSIGシフトレジスタ部92は、そのサンプル内の4画素の値が全て『0』であるときにはシンボルSBとして0を出力する。かくしてこれらコンテクストCX及びシンボルSBがセレクタ95を介して出力スイッチャ64(図21)に送出される。
On the other hand, when the run length process can be performed, the SIG
またSIGシフトレジスタ部92は、当該サンプル内の4画素の値が全て0ではないとき、すなわち4画素の中にひとつでも値が1の画素が存在する場合には、シンボルSBとして1を出力し、それに引き続いて図18について上述したルールに従って2回“uniform”というコンテクストCXと対応するシンボルSBを出力する。かくしてこれらコンテクストCX及びシンボルSBがセレクタ95を介して出力スイッチャ64(図21)に送出される。
Further, the SIG
このときSIGシフトレジスタ部92では、自己のシフトレジスタ92Aに記憶保持されたSIGプレーンデータD22における当該値が1の画素と同座標のビットの値が “Significant”であることを表す『1』に更新される。またREFシフトレジスタ部93では、自己のシフトレジスタ93Aに記憶保持されたREFプレーンデータD23における当該画素と同座標のビットの値が“Significant”となったことを表す『1』に更新される。
At this time, the SIG
さらにこの後正負符号シフトレジスタ部91は、当該画素の正負符号のシンボルSB及びコンテクストCXを図14について上述したルールに従って演算し、その演算結果をセレクタ95に送出する。かくしてこのシンボルSB及びコンテクストCXが上述の“uniform”というコンテクストCX及び当該画素に対応するシンボルSBに続けてセレクタ95を介して出力スイッチャ64(図21)に送出される。
Further, the plus / minus sign
そして、この後セレクタ95からDONEシフトレジスタ部94に更新情報与えられ、当該更新情報に基づき、DONEシフトレジスタ部94のシフトレジスタ94Aに記憶保持されたDONEプレーンデータD24における当該画素と同座標のビットの値が『1』に更新されて、当該画素に対するCUパス符号化処理が完了する。
After that, update information is given from the
さらにCUパス符号化処理部63は、この後同じサンプル(このとき処理ビットシフトレジスタ部90のシフトレジスタ90Aの2段目に記憶保持された1サンプル)内の当該画素よりもビットプレーン内スキャン順序が遅い各画素について、それぞれSIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94の各シフトレジスタ90A〜94Aに記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を必要に応じて順次更新しながら上述したSPパス符号化処理を施す。そしてCUパス符号化処理部63は、このような処理を当該サンプル内の全ての画素に対して行い終えると、当該サンプルに対する処理を終了する。
Further, the CU pass
そして、CUパス符号化処理部63は、この後制御部96から制御部65(図21)に与えられる次の1サンプル分の処理ビットプレーンデータD21等の転送要求に応じて、シグナルスイッチャ60から当該次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに同様の処理を順次繰り返す。
Then, the CU path encoding processing
またこの際CUパス符号化処理部63は、次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに、SIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94の各シフトレジスタ92A〜94Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらをSRAM52A、52Bのもとの位置に書き戻させる。
At this time, the CU pass
このようにしてCUパス符号化処理部63においては、ビットプレーンバッファ51A、51Bに格納された処理ビットプレーンデータD21に対するCUパス符号化処理を行い得るようになされている。
In this way, the CU pass
(2−2)第1の実施の形態による復号化装置100の構成
(2−2−1)復号化装置100の全体構成
図40との対応部分に同一符号を付して示す図26は、JPEG2000規格に準拠した本実施の形態による復号化装置100を示し、全体として一体にIC化(集積回路化)されて構成されている点と、EBCOTブロック101の構成が異なる点と、ICの外部に当該EBCOTブロック101から出力されるコードブロックデータD14を記憶保持するDRAM102が設けられている点とを除いて図40に示す復号化装置10と同様に構成されている。
(2-2) Configuration of
実際上、EBCOTブロック101においては、図27に示すように、それぞれSRAMからなるストリームバッファ110A、110Bが入力段に設けられており、パケタイズストリーム分解部11から与えられる符号化データD11をこのストリームバッファ110A、110Bに記憶保持し得るようになされている。
Actually, in the
この場合ストリームバッファ110A、110Bは2つ設けられており、これにより一方のストリームバッファ110A、110Bに記憶保持したビットプレーン22の1枚分の符号化データD11をCBM処理しながら、他方のストリームバッファ110B、110Aに次のビットプレーン22の1枚分の符号化データD11を書き込み得るようになされている。
In this case, two
またEBCOTブロック101には、それぞれ少なくとも1ビットプレーン分のデータ記憶容量を有するSRAM111Aと、2ビットプレーン分のデータ記憶容量を有するSRAM111Bとが設けられており、これによりCBM処理時に利用するSIGプレーンデータD30をSRAM52Aに記憶保持し、REFプレーンデータD31及びDONEプレーンデータD32をSRAM52Bに記憶保持することができるようになされている。
Further, the
一方、ストリームバッファ110A、110Bに記憶保持された符号化データD11は、スイッチャ112を介して算術復号化部113により所定単位で順次読み出される。そして算術復号化部113は、この読み出した符号化データD11及び後段のビットデモデル部114から与えられるコンテクストデータD33を入力とした所定の算術復号化演算処理を実行し、かくして得られたシンボルデータD34をビットデモデル部114に送出する。
On the other hand, the encoded data D11 stored and held in the stream buffers 110A and 110B is sequentially read out in predetermined units by the
ビットデモデル部114は、供給されるシンボルデータD34をCBM処理により係数ビットデモデル化する。この際ビットモデル部114は、SPパスによる復号化処理(以下、これをSPパス復号化処理と呼ぶ)、MRパスによる復号化処理(以下、これをMRパス復号化処理と呼ぶ)及びCUパスによる復号化処理(以下、これをCUパス復号化処理と呼ぶ)により順次復号されていく処理ビットプレーンデータD35及び正負符号プレーンデータD36をそれぞれ後段のそれぞれSRAMでなるビットプレーンバッファ116A、116B又は正負符号プレーンバッファ115における対応する位置に順次格納する。
The bit
またビットデモデル部114は、これと併せてSRAM111A、111Bに記憶保持されたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を必要に応じて順次更新しつつ、さらにこれら一部が復号等された処理ビットプレーンデータD35、正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を利用しながらCBM処理を進める。さらにこのときビットデモデル部114は、かかる処理ビットプレーンデータD35と併せて得られたコンテクストデータD33を上述のように順次算術復号化部113に送出する。
In addition to this, the bit
そしてこのようなCBM処理により最終的に復号された処理ビットプレーンデータD35が第1又は第2のビットプレーンバッファ116A、116Bに記憶保持されると共に、最終的に復号された正負符号プレーンデータD36が正負符号プレーンバッファ115に記憶保持され、これらがその後所定のタイミングで読み出されて、スイッチャ117を介してコードブロックデータD14として上述のDRAM102(図26)に与えられて記憶保持される。
The processed bit plane data D35 finally decoded by such CBM processing is stored and held in the first or second
さらにこのDRAM102に記憶保持されたコードブロックデータD14は、この後逆量子化部14(図26)に読み出されて所定の逆量子化処理が施される。
Further, the code block data D14 stored and held in the
このようにしてこの復号化装置100においては、パケタイズストリーム分解部11から与えられる符号化データD11を順次CBM処理することによりコードブロックデータD35を復号し、これをICの外部に設けられたDRAM41に記憶保持しながら、後段の処理を行い得るようになされている。
In this way, in the
(2−2−2)ビットデモデル部114の構成
ここでビットデモデル114部は、図28に示すように、シグナルスイッチャ120、SPパス復号化処理部121、MRパス復号化処理部122、CUパス復号化処理部123、出力スイッチャ124及び制御部125から構成されている。
(2-2-2) Configuration of
この場合上述の算術復号化部113(図27)は、ストリームバッファ110A、110Bから読み出した符号化データD11と、SPパス復号化処理部121、MRパス復号化処理部122又はCUパス復号化処理部123から与えられるコンテクストデータD33とに基づいて所定の算術復号化演算処理を実行する。そして算術復号化部113は、この結果として得られたシンボルデータD34のうち、符号化装置42(図20)においてSPパス符号化処理することにより得られた符号化データD11に対して上述のような算術復号化処理を施すことにより得られたものについてはSPパス復号化処理部121に送出する。
In this case, the arithmetic decoding unit 113 (FIG. 27) described above encodes the encoded data D11 read from the stream buffers 110A and 110B, the SP path
このときシグナルスイッチャ120は、シーケンサ及びタイミングジェネレータとしての機能を有する制御部125の制御のもとに、ビットプレーンバッファ116A、116Bに記憶保持されている復号前又は一部が復号された処理ビットプレーンデータD35を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従ってビットプレーンバッファ116A、116Bから1サンプル分ずつ順次読み出し、これをSPパス復号化処理部121に送出する。
At this time, the
またシグナルスイッチャ120は、これと同期して、ビットプレーンバッファ116A、116Bから読み出された4画素分の処理ビットプレーンデータD35をSPパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の復号前又は一部が復号された正負符号プレーンデータD36を正負符号プレーンバッファ115から順次読み出し、これをSPパス復号化処理部121に送出する。
Further, in synchronization with this, the
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をSPパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD30をSRAM111Aから順次読み出し、これをSPパス復号化処理部121に送出する。
Further, in synchronization with this, the
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をSPパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD31と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD32とをSRAM111Bから順次読み出し、これをSPパス復号化処理部121に送出する。
Further, in synchronization with this, the
このときSPパス復号化処理部121は、シグナルスイッチャ120から順次供給される4画素分の処理ビットプレーンデータD35と、これと対応する正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
At this time, the SP path
そしてSPパス復号化処理部121は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、図22(A)において太枠で囲んだそのとき記憶保持している1サンプル分のシンボルデータD34(4画素分)について、そのとき記憶保持している図22(B)〜(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD30、正負符号プレーンデータD36、REFプレーンデータD31及びDONEプレーンデータD32とを利用して、SPパス復号化処理できるか否かの検出と、できる場合のSPパス復号化処理とを実行する。
Then, when the symbol data D34 for one symbol is given from the
またSPパス復号化処理部121は、SPパス復号化処理を行ったときは、この際に得られたコンテクストCXを上述のように出力スイッチャ124を介してコンテクストデータD33として算術復号化部113(図27)に送出する一方、これと併せて得られた復号された処理ビットプレーンデータD35及び復号された正負符号プレーンデータD36をそれぞれビットプレーンバッファ116A、116B又は正負符号バッファ115の対応する位置に格納する。
When the SP path decoding process is performed, the SP path
さらにSPパス復号化処理部121は、SPパス復号化処理を行ったときには、これに応じてSIGプレーンデータD30、REFプレーンデータD31及び又はDONEプレーンデータD32を更新し、その後これらをシグナルスイッチ120を介して対応するSRAM111A、111Bに与えることにより、これらSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32をそれぞれSRAM111A、111Bのもとの位置に書き戻させる(Read-Modify-Write)。
Further, when performing the SP path decoding process, the SP path
一方、算術復号化部113(図27)は、ストリームバッファ110A、110Bから読み出した符号化データD11のうち、符号化装置42(図20)においてMRパス符号化処理することにより得られた符号化データD11に対して上述のような算術復号化演算処理を施すことにより得られたシンボルデータD34についてはMRパス復号化処理部122に送出する。
On the other hand, the arithmetic decoding unit 113 (FIG. 27) encodes the encoded data D11 read from the stream buffers 110A and 110B by performing MR path encoding processing in the encoding device 42 (FIG. 20). The symbol data D34 obtained by performing the arithmetic decoding processing as described above on the data D11 is sent to the MR path
このときシグナルスイッチャ120は、制御部125の制御のもとに、ビットプレーンバッファ116A、116Bに記憶保持されている先行するSPパス復号化処理により一部が復号された処理ビットプレーンデータD35を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従ってビットプレーンバッファ116A、116Bから1サンプル分ずつ順次読み出し、これをMRパス復号化処理部122に送出する。
At this time, the
またシグナルスイッチャ120は、これと同期して、ビットプレーンバッファ116A、116Bから読み出された4画素分の処理ビットプレーンデータD35をMRパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD30をSRAM111Aから順次読み出し、これをMRパス復号化処理部122に送出する。
In addition, the
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をMRパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD31と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD32とをSRAM111Bから順次読み出し、これをMRパス復号化処理部122に送出する。
Further, in synchronization with this, the
このときMRパス復号化処理部122は、シグナルスイッチャ120から順次供給される4画素分の処理ビットプレーンデータD35と、これと対応するSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
At this time, the MR path
そしてMRパス復号化処理部122は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、図22(A)において太枠で囲んだそのとき記憶保持している1サンプル分のシンボルデータD34(4画素分)について、そのとき記憶保持している図22(B)、(D)及び(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32と、そのとき算術復号化部113から与えられたシンボルデータD34とを利用して、MRパス復号化処理できるか否かの検出と、できる場合のMRパス復号化処理とを実行する。
Then, when the symbol data D34 for one symbol is given from the
またMRパス復号化処理部122は、MRパス復号化処理を行ったときは、この際に得られたコンテクストCXを上述のように出力スイッチャ124を介してコンテクストデータD33として算術復号化部113(図27)に送出する一方、これと併せて得られた復号された処理ビットプレーンデータD35をビットプレーンバッファ116A、116Bの対応する位置に格納する。
In addition, when the MR path decoding processing is performed, the MR path
さらにMRパス復号化処理部122は、MRパス復号化処理を行ったときには、これに応じてSIGプレーンデータD30、REFプレーンデータD31及び又はDONEプレーンデータD32を更新し、その後これらをシグナルスイッチ120を介して対応するSRAM111A、111Bに与えることにより、これらSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32をそれぞれSRAM111A、111Bのもとの位置に書き戻させる(Read-Modify-Write)。
Further, when the MR path
これと同様にして、算術復号化部113(図27)は、ストリームバッファ110A、110Bから読み出した符号化データD11のうち、符号化装置42(図20)においてCUパス符号化処理することにより得られた符号化データD11に対して所定の算術復号化演算処理を施すことにより得られたシンボルデータD34についてはCUパス復号化処理部123に送出する。
Similarly, the arithmetic decoding unit 113 (FIG. 27) obtains the encoded data D11 read from the stream buffers 110A and 110B by performing the CU pass encoding process in the encoding device 42 (FIG. 20). The symbol data D34 obtained by performing predetermined arithmetic decoding operation processing on the encoded data D11 is sent to the CU path
このときシグナルスイッチャ120は、制御部125の制御のもとに、ビットプレーンバッファ116A、116Bに記憶保持されている先行するSPパス復号化処理及びMRパス復号化処理(トップビットプレーン22Tに対する復号化処理の場合を除く)により一部が復号された処理ビットプレーンデータD35を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従ってビットプレーンバッファ116A、116Bから1サンプル分ずつ順次読み出し、これをCUパス復号化処理部123に送出する。
In this case the
またシグナルスイッチャ120は、これと同期して、ビットプレーンバッファ116A、116Bから読み出された4画素分の処理ビットプレーンデータD35をCUパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の復号前又は一部が復号された正負符号プレーンデータD36を正負符号プレーンバッファ115から順次読み出し、これをCUパス復号化処理部123に送出する。
Further, in synchronization with this, the
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をCUパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD30をSRAM111Aから順次読み出し、これをCUパス復号化処理部123に送出する。
Further, in synchronization with this, the
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をCUパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD31と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD32とをSRAM111Bから順次読み出し、これをCUパス復号化処理部123に送出する。
Further, in synchronization with this, the
このときCUパス復号化処理部123は、シグナルスイッチャ120から順次供給される4画素分の処理ビットプレーンデータD35と、これと対応する正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
At this time, the CU path
そしてCUパス復号化処理部123は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、図22(A)において太枠で囲んだそのとき記憶保持している1サンプル分のシンボルデータD34(4画素分)について、そのとき記憶保持している図22(B)〜(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD30、正負符号プレーンデータD36、REFプレーンデータD31及びDONEプレーンデータD32と、そのとき算術復号化部113からシンボルデータD34が与えられるとを利用して、CUパス復号化処理できるか否かの検出と、できる場合のCUパス復号化処理及びできない場合のSPパス復号化処理とを実行する。
When the symbol data D34 for one symbol is given from the
またCUパス復号化処理部123は、CUパス復号化処理又はSPパス復号化処理を行ったときは、この際に得られたコンテクストCXを上述のように出力スイッチャ124を介してコンテクストデータD33として算術復号化部113(図27)に送出する一方、これと併せて得られた復号された処理ビットプレーンデータD35及び復号された正負符号プレーンデータD36をそれぞれビットプレーンバッファ116A、116B又は正負符号バッファ115の対応する位置に格納する。
Further, when the CU path
さらにCUパス復号化処理部123は、CUパス復号化処理又はSPパス復号化処理を行ったときには、これに応じてSIGプレーンデータD30、REFプレーンデータD31及び又はDONEプレーンデータD32を更新し、その後これらをシグナルスイッチ120を介して対応するSRAM111A、111Bに与えることにより、これらSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32をそれぞれSRAM111A、111Bのもとの位置に書き戻させる(Read-Modify-Write)。
Further, when performing the CU path decoding process or the SP path decoding process, the CU path
このようにしてこのビットデモデル部114においては、復号対象のビットプレーン22上の4画素を単位としてSPパス復号化処理、MRパス復号化処理及びCUパス復号化処理を行い得るようになされ、これによりCBM処理を高速に行い得るようになされている。
In this manner, the bit
(2−2−3)各コーディング・パス処理部の具体的構成
次に、SPパス復号化処理部121、MRパス復号化処理部122及びCUパス復号化処理部123の各構成についてそれぞれ順番に説明する。
(2-2-3) Specific Configuration of Each Coding / Pass Processing Unit Next, each configuration of the SP path
(2−2−3−1)SPパス復号化処理部121の構成
SPパス復号化処理部121は、図29に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部130、正符号シフトレジスタ部131、SIGシフトレジスタ部132、REFシフトレジスタ部133、DONEシフトレジスタ部134及びセレクタ135と、後述のようなセレクタ135に対する出力切替え制御等を行う制御部136とから構成されている。
(2-2-3-1) Configuration of SP Path
また処理ビットシフトレジスタ部130には3段のシフトレジスタ130Aが設けられると共に、正符号シフトレジスタ部131、SIGシフトレジスタ部132、REFシフトレジスタ部133及びDONEシフトレジスタ部134には、それぞれ4段のシフトレジスタ131A〜134Aが設けられている。
The processing bit
これによりSPパス復号化処理部131は、上述のようにシグナルスイッチャ120(図28)から順次与えられる各1サンプル分の処理ビットプレーンデータD35、正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を、それぞれビットシフトレジスタ部130、正負符号シフトレジスタ部131、SIGシフトレジスタ部132、REFシフトレジスタ部133及びDONEシフトレジスタ部134の各シフトレジスタ130A〜134Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
As a result, the SP path
そしてSIGシフトレジスタ部132は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、そのとき自己のシフトレジスタ132Aに記憶保持したSIGプレーンデータD30を用いて、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素について、それぞれ上述のSPパス復号化処理を行うための条件を満たしているか否かの検出処理を画素ごとに並行して行い、検出結果をセレクタ135に出力する。
Then, when the symbol data D34 for one symbol is given from the
またSIGシフトレジスタ部132は、これと同期して、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素について、図13について上述したルールに従って、当該4画素ごとのコンテクストCXをそれぞれ演算し、演算結果をセレクタ135に出力する。
In addition, the SIG
そして、このときSIGシフトレジスタ部132により検出された、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素についてのSPパス復号化処理を行うための条件を満たしているか否かの検出結果が全て否定的であった場合には、セレクタ135からは何も出力されず、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD35に対する処理が完了する。
Whether the conditions for performing the SP pass decoding process for the four pixels shifted by the second stage of the
そして、この後制御部136からビットデモデル部114全体の制御部125(図28)に与えられる転送要求に応じて、当該制御部125の制御のもとに、シグナルスイッチャ120(図28)から次の1サンプル分の処理ビットプレーンデータD35等がSPパス復号化処理部121に与えられる。かくしてSPパス復号化処理部121は、これにより新たに処理ビットシフトレジスタ部130の2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD35について、同様の処理を開始する。
Then, in response to a transfer request given from the
これに対して、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた1サンプルのうちのいずれかの画素(以下、これをSPパス復号化処理対象画素と呼ぶ)についての検出結果が肯定的であった場合には、このとき算術復号化部113から与えられたシンボルデータD34のデータ値(0/1)が処理ビットシフトレジスタ部130のシフトジレスタ130Aにおける当該SPパス復号化処理対象画素と対応するビットに格納される。またこれと併せて、SIGシフトレジスタ部132から出力された当該SPパス復号化処理対象画素についてのコンテクストCXの演算結果がセレクタ135から出力されて算術復号化部113に与えられる。
On the other hand, detection of any pixel (hereinafter referred to as an SP pass decoding target pixel) of one sample shifted to the second stage of the
さらに、このときのシンボルデータD34のデータ値(SPパス復号化処理対象画素の復号値)が『0』であった場合、この後セレクタ135からDONEシフトレジスタ部134に与えられる更新情報に基づいて、当該DONEシフトレジスタ部134のシフトレジスタ134Aに記憶保持されたDONEプレーンデータD32のうち、SPパス復号化処理対象画素と同座標のビットの値が、ビットデモデル化が完了したことを表す『1』に更新されて、このSPパス復号化処理対象画素に対するSPパス復号化処理が完了する。
Furthermore, when the data value of the symbol data D34 at this time (decoded value of the SP pass decoding target pixel) is “0”, based on the update information given to the DONE
これに対して、このシンボルデータD34のデータ値が『1』であった場合、その情報がSIGシフトレジスタ部132、REFシフトレジスタ部133及び正負符号シフトレジスタ部131にそれぞれ与えられる一方、これに続けて算術復号化部113(図28)から与えられる1シンボル分のシンボルデータD34が正負符号シフトレジスタ部131Aに与えられる。
On the other hand, when the data value of the symbol data D34 is “1”, the information is given to the SIG
このときSIGシフトレジスタ部132では、自己のシフトレジスタ132Aに記憶保持されたSIGプレーンデータD30におけるSPパス復号化処理対象画素と同座標のビットの値が “Significant”であることを表す『1』に更新される。またREFシフトレジスタ部133では、自己のシフトレジスタ133Aに記憶保持されたREFプレーンデータD31におけるSPパス復号化処理対象画素と同座標のビットの値が、 “Significant”となったことを表す『1』に更新される。
At this time, the SIG
さらにこのとき正負符号シフトレジスタ部131は、供給されるシンボルデータD34のデータ値(0/1)に基づいてSPパス復号化処理対象画素の正負符号を復号化し、得られた正負符号ビットを自己のシフトレジスタ131AにおけるSPパス復号化処理対象画素と対応する位置に格納する一方、当該SPパス復号化処理対象画素の正負符号ビットのコンテクストCXを図14について上述したルールに従って演算し、その演算結果をセレクタ135に送出する。かくしてこのコンテクストCXがセレクタ135を介して算術復号化部113に与えられる。
Further, at this time, the positive / negative sign
そして、この後セレクタ135からDONEシフトレジスタ部134に更新情報が与えられ、当該更新情報に基づき、DONEシフトレジスタ部134のシフトレジスタ134Aに記憶保持されたDONEプレーンデータD32におけるSPパス復号化処理対象画素と同座標のビットの値が『1』に更新されて、当該SPパス復号化処理対象画素に対するSPパス復号化処理が完了する。
Thereafter, update information is given from the
そして、SPパス復号化処理部121は、この後算術復号化部113から1シンボル分のシンボルデータD34が与えられるごとに同様の処理を順次繰り返す。
The SP path
またこの際SPパス復号化処理部121は、シグナルスイッチャ120から1サンプル分の処理ビットプレーンデータD35等が与えられるごとに、処理ビットシフトレジスタ部130のシフトレジスタ130Aの3段目に記憶保持されていた処理ビットプレーンデータD35と、正負符号シフトレジスタ部131のシフトレジスタ131Aの4段目に記憶保持されていた正負符号プレーンデータD36とを、それぞれシグナルスイッチャ120を介して対応するビットプレーンバッファ116A、116B又は正負符号バッファ115に与えてもとのアドレス位置に書き戻させる一方、SIGシフトレジスタ部132、REFシフトレジスタ部133及びDONEシフトレジスタ部134の各シフトレジスタ132A〜134Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を、それぞれシグナルスイッチ120を介して対応するSRAM111A、111Bに与えてもとのアドレス位置に書き戻させる。
At this time, the SP path
このようにしてSPパス復号化処理部121においては、算術復号化部113から順次与えられるシンボルデータD34に基づいて、SPパス復号化処理を行い得るようになされている。
In this way, the SP path
(2−2−3−2)MRパス復号化処理部122の構成
一方、MRパス復号化処理部122は、図30に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部140、SIGシフトレジスタ部142、REFシフトレジスタ部143、DONEシフトレジスタ部144及びセレクタ145と、後述のようなセレクタ145に対する出力切替え制御等を行う制御部146とから構成されている。
(2-2-3-2) Configuration of MR Path
また処理ビットシフトレジスタ部140には3段のシフトレジスタ140Aが設けられると共に、SIGシフトレジスタ部142、REFシフトレジスタ部143及びDONEシフトレジスタ部144には、それぞれ4段のシフトレジスタ142A〜144Aが設けられている。
The processing bit
これによりMRパス復号化処理部122は、上述のようにシグナルスイッチャ120(図28)から順次与えられる各1サンプル分の処理ビットプレーンデータD35、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を、それぞれ処理ビットシフトレジスタ部140、SIGシフトレジスタ部142、REFシフトレジスタ部143及びDONEシフトレジスタ部144のシフトレジスタ140A、142A〜144Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
As a result, the MR path
そしてREFシフトレジスタ部143及びDONEシフトレジスタ部144は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、そのとき自己のシフトレジスタ143A、144Aの2段目にシフトされた1サンプル分のREFプレーンデータD31又はDONEプレーンデータD32をセレクタ145に出力する。
The REF
またこのときSIGシフトレジスタ部142は、自己のシフトレジスタ142Aに記憶保持したSIGプレーンデータD30を用いて、処理ビットシフトレジスタ部140の2段目にシフトした4画素について、REFシフトレジスタ部143の出力を参照しながら図16について上述したルールに従ってコンテクストCXを演算し、演算結果をセレクタ145に出力する。
At this time, the SIG
そして、このときDONEプレーンデータD32の値が全て『1』(すなわち処理済)であった場合には、セレクタ145からは何も出力されずに、当該処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD35に対する処理が終了する。
At this time, if all the values of the DONE plane data D32 are “1” (that is, processed), nothing is output from the
またかかる1サンプル分のDONEプレーンデータD32のうち、いずれかのデータ値が『0』(すなわち未処理)であり、かつそのDONEプレーンデータD32と対応する処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた画素が“Significant”でなかった場合にも、セレクタ145からは何も出力されずに、当該処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD35に対する処理が終了する。
Of the DONE plane data D32 for one sample, one of the data values is “0” (that is, unprocessed), and the
そしてこれらの場合には、この後制御部146からビットデモデル部114全体の制御部125(図28)に与えられる転送要求に応じて、当該制御部125の制御のもとに、シグナルスイッチャ120(図28)から次の1サンプル分の処理ビットプレーンデータD35等がMRパス復号化処理部122に与えられる。かくしてMRパス復号化処理部121は、これにより新たに処理ビットシフトレジスタ部130の2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD35について、同様の処理を開始する。
In these cases, the
これに対して、かかる1サンプル分のDONEプレーンデータD32のうち、いずれかのデータ値が『0』であり、かつそのDONEプレーンデータD32と対応する処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた画素が“Significant”であった場合には、当該画素(以下、これをMRパス復号化処理対象画素と呼ぶ)がMRパス復号化処理すべき画素であることを意味する。
On the other hand, one of the DONE plane data D32 for one sample has a data value of “0”, and 2 of the
かくして、このとき算術復号化部113(図28)から与えられたシンボルデータD34のデータ値(0/1)が処理ビットシフトレジスタ部140のシフトジレスタ140AにおけるMRパス復号化処理対象画素と対応するビットに格納される一方、SIGシフトレジスタ部142から出力された当該MRパス復号化処理対象画素についてのコンテクストCXの演算結果がセレクタ145から出力されて算術復号化部113に与えられる。
Thus, at this time, the data value (0/1) of the symbol data D34 given from the arithmetic decoding unit 113 (FIG. 28) corresponds to the bit corresponding to the MR pass decoding target pixel in the
またこのときREFシフトレジスタ部143では、そのMRパス復号化処理対象画素と同座標のビットが『1』である場合(すなわちフラグが立っている場合)にはこれがクリアされ、またDONEシフトレジスタ部144では、そのMRパス復号化処理対象画素と同座標のビットが、当該MRパス復号化処理対象画素が処理済みとなったことを意味する『1』に更新されて、このMRパス復号化処理対象画素に対するMRパス復号化処理が完了する。
At this time, in the REF
そして、MRパス復号化処理部122は、この後そのとき処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた残りの画素についても、当該画素がMRパス復号化処理すべき画素であった場合には、上述と同様にMRパス復号化処理を実行する。
Then, the MR pass
そして、MRパス復号化処理部122は、この後算術復号化部113から1シンボル分のシンボルデータD34が与えられるごとに同様の処理を順次繰り返す。
The MR path
またこの際MRパス復号化処理部122は、処理ビットシフトレジスタ部140のシフトレジスタ140Aに新たな4画素分の処理ビットプレーンデータD35が与えられるごとに、処理ビットシフトレジスタ部140のシフトレジスタ140Aの3段目に記憶保持されていた処理ビットプレーンデータD35をシグナルスイッチャ120を介して対応するビットプレーンバッファ116A、116Bに与えてもとのアドレス位置に書き戻させる一方、SIGシフトレジスタ部142、REFシフトレジスタ部143及びDONEシフトレジスタ部144の各シフトレジスタ142A〜144Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を、それぞれシグナルスイッチ120を介して対応するSRAM111A、111Bに与えてもとのアドレス位置に書き戻させる。
At this time, the MR path
このようにしてMRパス復号化処理部122においては、算術復号化部113から与えられるシンボルデータD34に基づいてMRパス復号化処理を行い得るようになされている。
In this way, MR path
(2−2−3−3)CUパス復号化処理部123の構成
CUパス復号化処理部123は、図31に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部150、正符号シフトレジスタ部151、SIGシフトレジスタ部152、REFシフトレジスタ部153、DONEシフトレジスタ部154及びセレクタ155と、後述のようなセレクタ155に対する出力切替え制御等を行う制御部156とから構成されている。
(2-2-3-3) Configuration of CU Path
また処理ビットシフトレジスタ部150には3段のシフトレジスタ150Aが設けられると共に、正符号シフトレジスタ部151、SIGシフトレジスタ部152、REFシフトレジスタ部153及びDONEシフトレジスタ部154には、それぞれ4段のシフトレジスタ151A〜154Aが設けられている。
The processing bit
これによりCUパス復号化処理部123は、上述のようにシグナルスイッチャ120(図28)から順次与えられる各1サンプル分の処理ビットプレーンデータD35、正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を、それぞれ処理ビットシフトレジスタ部150、正符号シフトレジスタ部151、SIGシフトレジスタ部152、REFシフトレジスタ部153及びDONEシフトレジスタ部154の各シフトレジスタ150A〜154Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
As a result, the CU path
そしてSIGシフトレジスタ部152は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、そのとき自己のシフトレジスタ152Aに記憶保持したSIGプレーンデータD30と、DONEシフトレジスタ部154のシフトレジスタ154Aに記憶保持されたDONEプレーンデータD32を用いて、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素が上述したランレングス処理を行うための条件を満たしているか否かを検出する。
When the symbol data D34 for one symbol is given from the
そしてかかる4画素がランレングス処理を行うための条件を満たしていない場合には、これら4画素のそれぞれについて、上述したSPパス復号化処理が順次行われる。 When the four pixels do not satisfy the conditions for performing the run length process, the SP path decoding process described above is sequentially performed for each of the four pixels.
これに対してかかる4画素がランレングス処理を行うための条件を満たしている場合であって、このとき算術復号化部113(図28)から与えられた1シンボル分のシンボルデータD34のデータ値が『0』であったときには、処理ビットシフトレジスタ150のシフトレジスタ150Aにおける2段目の1番目〜4番目の各ビットにそれぞれ『0』が格納される。またこれと併せてSIGシフトレジスタ部152からこれに応じたコンテクストCX(“run”)が出力され、このコンテクストCXがセレクタ155を介して算術復号化部113(図28)に与えられて、この処理ビットシフトレジスタ部150のシフトレジスタ150Aの2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD35に対する処理が完了する。
On the other hand, when the four pixels satisfy the condition for performing the run length process, the data value of the symbol data D34 for one symbol given from the arithmetic decoding unit 113 (FIG. 28) at this time Is “0”, “0” is stored in the first to fourth bits of the second stage in the
またかかる4画素がランレングス処理を行うための条件を満たしている場合であって、このとき算術復号化部113から与えられた1シンボル分のシンボルデータD34のデータ値が『1』であったときには、その後算術復号化部113から与えられる2シンボル分のシンボルデータD34のデータ値に応じて、図18について上述した処理と逆の処理が行われる。
Further, when the four pixels satisfy the condition for performing the run length process, the data value of the symbol data D34 for one symbol given from the
具体的には、算術復号化部113から与えられた2シンボル分のシンボルデータD34のデータ値が『0、0』であった場合には、処理ビットシフトレジスタ部150のシフトレジスタ150Aにおける2段目の一番上のビットに『0』が格納され、当該データ値が『0、1』であった場合には、処理ビットシフトレジスタ部150のシフトレジスタ150Aにおける2段目の1番目及び2番目のビットにそれぞれ『0』又は『1』が格納される。また、算術復号化部113から与えられた2シンボル分のシンボルデータD34のデータ値が『1、0』であった場合には、処理ビットシフトレジスタ部150のシフトレジスタ150Aにおける2段目の1番目〜3番目のビットにそれぞれ『0』、『0』又は『1』が格納され、当該データ値が『1、1』であった場合には、処理ビットシフトレジスタ部150のシフトレジスタ150Aにおける2段目の1番目〜4番目のビットにそれぞれ『0』、『0』、『0』又は『1』が格納される。さらに、これと併せてSIGシフトレジスタ部152から2回“uniform”というコンテクストCXが出力され、これがセレクタ155を介して算術復号化部113に与えられる。
Specifically, when the data value of the symbol data D34 for two symbols given from the
さらにこのときSIGシフトレジスタ部152では、自己のシフトレジスタ152Aの2段目における、このとき処理ビットシフトレジスタ部150のシフトレジスタ150Aの『1』が格納された画素(以下、これをCUパス復号化処理対象画素と呼ぶ)と同座標のビットの値が“Significant”であることを表す『1』に更新される。またREFシフトレジスタ部153では、自己のシフトレジスタ153Aに記憶保持されたREFプレーンデータD31における当該CUパス復号化処理対象画素と同座標のビットの値が“Significant”となったことを表す『1』に更新される。
Further, at this time, the SIG
さらにこの後、算術復号化部113から与えられる1シンボル分のシンボルデータD34が正負符号シフトレジスタ部151に与えられる。そして正負符号シフトレジスタ部151では、かかるCUパス復号化処理対象画素の正負符号がこのシンボルデータD34に基づいて演算されると共に当該CUパス復号化処理対象画素のコンテクストCXが図14について上述したルールに従って演算され、算出された正負符号が当該正負符号シフトレジスタ部151のシフトレジスタ151AにおけるCUパス復号化処理対象画素と同座標のビットに格納され、コンテクストCXがセレクタ155を介して算術復号化部113に出力される。
Thereafter, the symbol data D34 for one symbol provided from the
そして、この後セレクタ155からDONEシフトレジスタ部154に更新情報与えられ、当該更新情報に基づき、DONEシフトレジスタ部154のシフトレジスタ154Aに記憶保持されたDONEプレーンデータD32における当該CUパス復号化処理対象画素と同座標のビットの値が『1』に更新されて、当該CUパス復号化処理対象画素に対するCUパス復号化処理が完了する。
Thereafter, update information is given from the
さらにCUパス復号化処理部123は、この後同じサンプル(このとき処理ビットシフトレジスタ部150のシフトレジスタ150Aの2段目に記憶保持された1サンプル)内の当該CUパス復号化処理対象画素よりもビットプレーン内スキャン順序が後の各画素について、それぞれSIGシフトレジスタ部152、REFシフトレジスタ部153及びDONEシフトレジスタ部154の各シフトレジスタ150A〜154Aに記憶保持されたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を必要に応じて順次更新しながら上述したCUパス復号化処理を実行する。そしてCUパス復号化処理部123は、このような処理を当該サンプル内の全ての画素に対して行い終えると、当該サンプルに対するCUパス復号化処理を完了する。
Further, the CU path
そして、CUパス復号化処理部123は、この後算術復号化部113から1シンボル分のシンボルデータD34が与えられるごとに同様の処理を順次繰り返す。
The CU path
またこの際CUパス復号化処理部123は、シグナルスイッチャ120から1サンプル分の処理ビットプレーンデータD35等が与えられるごとに、処理ビットシフトレジスタ部150のシフトレジスタ150Aの3段目に記憶保持されていた処理ビットプレーンデータD35と、正負符号シフトレジスタ部151のシフトレジスタ151Aの4段目に記憶保持されていた正負符号プレーンデータD36とを、それぞれシグナルスイッチャ120を介して対応するビットプレーンバッファ116A、116B又は正負符号バッファ115に与えてもとのアドレス位置に書き戻させる一方、SIGシフトレジスタ部152、REFシフトレジスタ部153及びDONEシフトレジスタ部154の各シフトレジスタ152A〜154Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を、それぞれシグナルスイッチ120を介して対応するSRAM111A、111Bに与えてもとのアドレス位置に書き戻させる。
At this time, the CU path
このようにしてCUパス復号化処理部123においては、算術復号化部113から順次与えられるシンボルデータD34に基づいて、CUパス復号化処理を行い得るようになされている。
In this way, the CU path
(2−3)第1の実施の形態の動作及び効果
以上の構成において、本実施の形態による符号化装置42及び復号化装置100では、SRAM52A、52B、111A、111Bに記憶保持されたSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32の中から必要な部分のみを順次SPパス符号化処理部61、MRパス符号化処理部62、CUパス符号化処理部63、SPパス復号化処理部121、MRパス復号化処理部122、CUパス復号化処理部123に順次読み込み、処理ビットプレーンデータD21の符号化又は符号化データD11の復号化処理を行いながら当該符号化処理又は復号化処理の処理状況に応じてSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32を更新した後、SRAM52A、52B、111A、111Bに書き戻すようにして符号化処理及び復号化処理を行う。
(2-3) Operation and Effect of First Embodiment In the above configuration, in the
従って、この符号化装置42及び復号化装置100では、処理ビットプレーンデータD21の符号化又は符号化データd11を符号化処理又は復号化処理する際のSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32に対するアクセス性を向上させることができ、またこのようなパイプライン処理により処理の高速化を図ることができる。
Therefore, in the
この場合において、この符号化装置40及び復号化装置100では、SPパス符号化処理等の符号化処理時や、SPパス復号化処理等の復号化処理時に処理ビットプレーン22の1ストライプカムラを構成する4画素を1サンプルとして当該サンプル単位で処理を行うようにしているため、これら符号化処理又は復号化処理を1画素単位で行う場合に比して格段的に処理を高速化することができる。実際上、データに依存性があるが、1画素単位で処理を行う場合に比べて楽観的には4倍、悲観的でも1倍の速度を確保することができる。
In this case, the
またこの場合において、この符号化装置40及び復号化装置101では、符号化対象のコードブロックデータD4や一部が復号化されたコードブロックデータD14を記憶保持するDRAM41、102をその外部に設け、符号化又は復号化に必要な一部のみをその内部のSRAM(ビットプレーンバッファ51A,51B、116A、116B)に記憶保持するようにしているため、これら符号化対象のコードブロックデータD4や一部が復号化されたコードブロックデータD14に対するアクセス性も向上させることができ、また符号化装置40や復号化装置101のIC化にも実用上十分に対応することができる。
In this case, the
以上の構成によれば、SRAM52A、52B、111A、111Bに記憶保持されたSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32の中から必要な部分のみを順次SPパス符号化処理部61、MRパス符号化処理部62、CUパス符号化処理部63、SPパス復号化処理部121、MRパス復号化処理部122、CUパス復号化処理部123に順次読み込み、処理ビットプレーンデータD21の符号化又は符号化データD11の復号化処理を行いながら当該符号化処理又は復号化処理の処理状況に応じてSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32を更新した後、SRAM52A、52B、111A、111Bに書き戻すようにして符号化処理及び復号化処理を行うようにしたことにより、処理ビットプレーンデータD21の符号化又は符号化データd11を符号化処理又は復号化処理する際のSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32に対するアクセス性を向上させることができ、またこのようなパイプライン処理により処理の高速化を図ることができ、かくして符号化処理及び復号化処理を高速化させ得る符号化装置及び復号化装置を実現できる。
According to the above configuration, only the necessary portions of the SIG plane data D22, D30, REF plane data D23, D31, DONE plane data D24, D32 stored in the
(3)第2の実施の形態
(3−1)第2の実施の形態による符号化装置の構成
図20との対応部分に同一符号を付して示す図32は、第2の実施の形態によるEBCOTブロック160を示す。このEBCOTブロック160は、図19について上述した第1の実施の形態による符号化装置40のEBCOTブロック42に代えて適用されるものであり、ビットモデル部161の構成が異なる点を除いて第1の実施の形態によるEBCOTブロック42と同様に構成されている。
(3) Second Embodiment (3-1) Configuration of Encoding Device According to Second Embodiment FIG. 32, in which the same reference numerals are assigned to the parts corresponding to those in FIG. 20, shows the second embodiment. EBCOT block 160 according to FIG. The
実際上、ビットモデル部161においては、図21に示す第1の実施の形態によるEBCOTブロック42のビットモデル部54と同じハードウェア構成を有する1ストライプ用ビットモデル部162と、バッファ163とから構成されている。そして1ストライプ用ビットモデル部162は、予め定められたコードブロックサイズに対応させて、処理ビットプレーン22(図10)のストライプ数と同じ数だけ設けられている。
In practice, the
このときこれら1ストライプ用ビットモデル部162には、それぞれ処理ビットプレーン22における互いに異なるストライプ23(図33)が割り当てられている。そして、これら1ストライプ用ビットモデル部162は、図33に示すように、それぞれ割り当てられたストライプ23について、その内部のSPパス符号化処理部61(図21)、MRパス符号化処理部62(図21)及びCUパス符号化処理部63(図21)によってSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理をそれぞれ一定の位相差を保ちながら並行して1ストライプ分だけ行うようになされている。
At this time, different stripes 23 (FIG. 33) in the
具体的には、各1ストライプ用ビットモデル部162は、図34からも明らかなように、それぞれSPパス符号化処理部61によるSPパス符号化処理から始めて、そのストライプ23における8番目のストライプカムラ23AについてSPパス符号化処理部61がSPパス符号化処理を開始するタイミングで同じストライプ23についてMRパス符号化処理部62によるMRパス処理を開始(すなわちSPパス符号化処理から8ストライプカムラ分だけ位相を遅らせてMRパス処理を開始)し、さらにそのストライプ23における4番目のストライプカムラ23AについてMRパス符号化処理部62がMRパス符号化処理を開始するタイミングで同じストライプ23についてCUパス符号化処理部63によるCUパス処理を開始(すなわちMRパス処理から4ストライプカムラ分だけ位相を遅らせてCUパス処理を開始)する。
Specifically, as is apparent from FIG. 34, each 1-stripe
なお、このようなSPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63によるSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理の位相差は、各1ストライプ用ビットモデル部162内の制御部165(図21)により制御される。
The phase difference between the SP path encoding process, the MR path encoding process, and the CU path encoding process by the SP path encoding processing
さらにビットモデル部161においては、当該ビットモデル部161全体の動作制御を司る図示しない制御部により、各1ストライプ用ビットモデル部163によるCBM処理の開始タイミングが制御される。
Furthermore, in the
具体的には、この図33に示すように、上段のストライプ23が割り当てられた1ストライプ用ビットモデル部162がそのストライプ23の4番目のストライプカムラ23Aに対するSPパス符号化処理を開始するタイミングで、次段のストライプ23が割り当てられた1ストライプ用ビットモデル部162が当該ストライプ23に対するSPパス符号化処理を開始するように、各1ストライプ用ビットモデル部162のCBM処理(SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理)の開始タイミングが制御される。
Specifically, as shown in FIG. 33, at the timing when the 1-strip
一方、これら1ストライプ用ビットモデル部162からそれぞれ出力されるCBM処理により得られた各シンボルSBからなるシンボルデータD40及び各コンテクストCXからなるコンテクストデータD41は、それぞれ後段のバッファ163に与えられる。このとき各1ストライプ用ビットモデル部162は、それぞれSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理により得られた処理ビットプレーンデータD42及びコンテクストデータD40を、それぞれバッファ163内のSPパス符号化処理用、MRパス符号化処理用又はCUパス符号化処理用の記憶領域に格納する。
On the other hand, the symbol data D40 composed of each symbol SB and the context data D41 composed of each context CX obtained by the CBM processing respectively output from the one-strip
この結果、これら1ストライプ用ビットモデル部163からそれぞれ出力されたシンボルデータD40及びコンテクストデータD41が、SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとにその順番で、かつ同じSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理内では処理ビットプレーン22におけるストライプ23の順番でまとめられてバッファ163に保持される。そしてこのバッファ163に記憶保持されたシンボルデータD40及びコンテクストデータD41は、この後その順番で算術符号化部55により順次読み出される。
As a result, the symbol data D40 and the context data D41 respectively output from the one-strip
このようにしてこのEBCOTブロック160においては、CBM処理をSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとに並行して、かつSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理についてもストライプ23ごとに並行して行い得るようになされている。
In this manner, in the
(3−2)第2の実施の形態の動作及び効果
以上の構成において、この第2の実施の形態によるEBCOTブロック160では、CBM処理をSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとに並行して、かつSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理についてもストライプ23ごとに並行して行う。
(3-2) Operation and Effect of Second Embodiment In the above configuration, in the EBCOT block 160 according to the second embodiment, the CBM processing is performed by SP path encoding processing, MR path encoding processing, and CU path. In parallel with each encoding process, the SP path encoding process, the MR path encoding process, and the CU path encoding process are also performed in parallel for each
従って、この第2の実施の形態によるEBCOTブロック160では、第1の実施の形態による符号化装置40(図19)に搭載されたEBCOTブロック42に比べてより一層と高速にCBM処理を行うことができる。
Therefore, the EBCOT block 160 according to the second embodiment performs CBM processing at a higher speed than the
実際上、例えばビットプレーンサイズが32画素×32画素の場合は、第1の実施の形態による符号化装置40に搭載されたEBCOTブロック42と比べても、約2/24(=(1+1)/8×3)にまで処理速度を低減することができる。
Actually, for example, when the bit plane size is 32 pixels × 32 pixels, the bit plane size is about 2/24 (= (1 + 1) /) compared to the
以上の構成によれば、CBM処理をSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとに並行して、かつSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理についてもストライプ23ごとに並行して行うようにしたことにより、より一層と高速にCBM処理を行い得る符号化装置を実現できる。
According to the above configuration, the CBM process is performed in parallel for each of the SP path encoding process, the MR path encoding process, and the CU path encoding process, and the SP path encoding process, the MR path encoding process, and the CU path encoding. Since the processing is also performed in parallel for each
(4)他の実施の形態
なお上述の第1及び第2の実施の形態においては、本発明をJPEG2000規格に準拠した符号化装置40(図19)又は復号化装置100(図27)に適用するようにした場合について述べたが、本発明はこれに限らず、他の画像フォーマットに準拠した符号化装置や復号化装置にも適用でき、要は、画像情報を取り扱うこの他種々の符号化装置、復号化装置及び画像情報処理システム等に広く適用することができる。
(4) Other Embodiments In the first and second embodiments described above, the present invention is applied to the encoding device 40 (FIG. 19) or the decoding device 100 (FIG. 27) compliant with the JPEG2000 standard. However, the present invention is not limited to this, but can be applied to an encoding device and a decoding device compliant with other image formats. The present invention can be widely applied to a device, a decoding device, an image information processing system, and the like.
また上述の第1及び第2の実施の形態においては、符号化又は復号化対象の画像情報である処理ビットプレーンデータD21又は符号化データD11を記憶する記憶手段としてSRAM(ビットプレーンバッファ51A、51B(図20)、又はストリームバッファ110A、110B(図27)及びビットプレーンバッファ116A、116B(図27))を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の記憶媒体を広く適用することができる。
In the first and second embodiments described above, SRAM (
同様に、上述の第1及び第2の実施の形態においては、ビットモデル部54、161やビットデモデル部114が処理ビットプレーンデータD21や符号化データD11に対して符号化又は復号化処理を施す際に当該符号化又は復号化処理の処理状況に応じて順次更新しながら用いる所定の状態量を表す状態量情報であるSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32を記憶する記憶手段としてSRAM52A、52B、111A、111Bを適用するようにした場合について述べたが、本発明はこれに限らず、SRAM以外のメモリや、メモリ以外のハードディスク等のディスク状記憶媒体など、この他種々の記憶媒体を広く適用することができる。
Similarly, in the above-described first and second embodiments, the
さらに上述の第1及び第2の実施の形態においては、ビットプレーンバッファ51A、51Bに記憶された処理ビットプレーンデータD21に対して符号化処理を施す符号化手段としてのビットモデル部54(図20)、161(図32)を図21のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
Further, in the first and second embodiments described above, the bit model unit 54 (FIG. 20) as an encoding unit that performs an encoding process on the processed bit plane data D21 stored in the
この場合において、上述の第1の実施の形態においては、SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理にそれぞれ対応させてビットモデル部54にSPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63を設けるようにした場合について述べたが、本発明はこれに限らず、これらSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を行い得る1つのコーディングパス処理部によりビットモデル部54を構成するようにしても良い。
In this case, in the above-described first embodiment, the SP
同様に、上述の第2の実施の形態においては、入力する符号化された画像情報でなる符号化画像情報としての符号化データD11に対して復号化処理を施す復号化手段としてのビットデモデル部114(図27)を図28のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。 Similarly, in the above-described second embodiment, bit demodeling as decoding means for performing decoding processing on encoded data D11 as encoded image information consisting of input encoded image information. Although the case where the unit 114 (FIG. 27) is configured as shown in FIG. 28 has been described, the present invention is not limited to this, and various other configurations can be widely applied.
この場合において、上述の第1の実施の形態においては、SPパス復号化処理、MRパス復号化処理及びCUパス復号化処理にそれぞれ対応させてビットデモデル部114にSPパス復号化処理部121、MRパス復号化処理部122及びCUパス復号化処理部123を設けるようにした場合について述べたが、本発明はこれに限らず、これらSPパス復号化処理、MRパス復号化処理及びCUパス復号化処理を行い得る1つのコーディングパス処理部によりビットデモデル部114を構成するようにしても良い。
In this case, in the first embodiment described above, the bit
さらに上述の第1及び第2の実施の形態においては、ビットモデル部54(図21)のSPパス符号化処理部61等や、ビットデモデル部114(図28)のSPパス復号化処理部121等及びビットモデル部161(図32)の各1ストライプ用ビットモデル部162が1ストライプカムラを構成する4画素を単位としてSPパス符号化処理等やSPパス復号化処理等を行うようにした場合について述べたが、本発明はこれに限らず、かかるSPパス符号化処理等やSPパス復号化処理等を、1ストライプカムラを構成する4画素以外の複数画素を単位として行うようにしても良い。
Furthermore, in the first and second embodiments described above, the SP path encoding processing
さらに上述の第1及び第2の実施の形態においては、ビットモデル部54、161又はビットデモデル部114において、ビットプレーンバッファ51A、51B又はビットプレーンバッファ116A、116Bから読み出した処理ビットプレーンデータD21、D35を一時記憶する一時記憶手段と、SRAM52A、52B、111A、111Bから読み出したSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32とを一時記憶する一時記憶手段とを、それぞれシフトレジスタ70A〜74A、80A〜84A、90A〜94A、130A〜134A、140A〜144A、150A〜154Aにより構成するようにした場合について述べたが、本発明はこれに限らず、この他種々のタイプの記憶媒体を広く適用することができる。
Further, in the first and second embodiments described above, the processed bit plane data D21 read from the
さらに上述の第1及び第2の実施の形態においては、全体としてIC化された符号化装置40や復号化装置100の当該ICの外部に外部記憶手段としてのDRAM41(図19)、102(図26)を設け、IC内部の信号処理部である量子化部4(図19)やEBCOTブロック101(図26)から出力されるコードブロックデータD4(図19)、D14(図26)を当該DRAM41、102に格納するようにするようにした場合について述べたが、本発明はこれに限らず、外部記憶手段としてはDRAM以外のメモリやメモリ以外の他の外部記憶媒体を広く適用することができる。
Furthermore, in the first and second embodiments described above, DRAMs 41 (FIG. 19) and 102 (FIG. 19) as external storage means are provided outside the ICs of the
さらに上述の第1実施の形態においては、ビットモデル部54(図21)内部にSPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63をそれぞれ1つずつ設けるようにした場合について述べたが、本発明はこれに限らず、ビットモデル部54内部にSPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63をそれぞれ複数個ずつ設け、SPパス符号化処理時にはこれら複数個のSPパス符号化処理部61によりSPパス符号化処理を並行して行い、MRパス符号化処理時にはこれら複数個のMRパス符号化処理部62によりMRパス符号化処理を並行して行い、CUパス符号化処理時にはこれら複数個のCUパス符号化処理部63によりCUパス符号化処理を並行して行うようにしても良い。
Furthermore, in the first embodiment described above, one SP path encoding processing
この場合において、SPパス符号化処理時における各SPパス符号化処理部61によるSPパス符号化処理の位相差、MRパス符号化処理時における各MRパス符号化処理部62によるMRパス符号化処理の位相差、CUパス符号化処理時における各CUパス符号化処理部63によるCUパス符号化処理の位相差としては、例えば図36に示すように、処理ビットプレーン22における上段のストライプ23についてSPパス符号化処理等を行うSPパス符号化処理部61等に対して、その次の段のストライプ22についてSPパス符号化処理等を行うSPパス符号化処理部61等が少なくとも2ストライプカムラ分だけ遅れた位相をもってSPパス符号化処理等を行うようにすれば良い。
In this case, the phase difference of SP path encoding processing by each SP path encoding processing
またSIGプレーンデータD22(図21)等のSRAM52A、52B(図21)からの読み書きを考慮した場合には、例えば図37に示すように、処理ビットプレーン22における上段のストライプ23についてSPパス符号化処理等を行うSPパス符号化処理部61等に対して、その次の段のストライプ22についてSPパス符号化処理等を行うSPパス符号化処理部61等が5ストライプカムラ分だけ遅れた位相をもってSPパス符号化処理等を行うようにすれば良く、このようにSPパス符号化処理等を並行して行う場合における各SPパス符号化処理部61等の処理タイミング(各SPパス符号化処理部61等がそれぞれSPパス符号化処理等を行う際の位相差)としては、この他種々の処理タイミングを広く適用することができる。
In addition, when considering reading / writing from the
さらに上述の第2の実施の形態においては、ビットモデル部161(図32)におけるSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理の位相差を図33のようにする場合について述べたが、本発明はこれに限らず、例えば図34に示すように、SPパス符号化処理に対してMRパス符号化処理を1ストライプと4ストライプカムラ分だけ遅延させると共に、当該MRパス符号化処理に対してCUパス符号化処理を4ストライプカムラ分だけ遅延させるようにしても良い。 Furthermore, in the second embodiment described above, the phase difference between the SP path encoding process, MR path encoding process, and CU path encoding process in the bit model unit 161 (FIG. 32) is as shown in FIG. As described above, the present invention is not limited to this. For example, as shown in FIG. 34, the MR path encoding process is delayed by one stripe and four stripes Kamra with respect to the SP path encoding process, and the MR path code The CU pass encoding process may be delayed by 4 stripe camulas with respect to the encoding process.
またこれ以外であっても、例えば図35に示すように、SPパス符号化処理に対してMRパス符号化処理を1ストライプと2ストライプカムラ分だけ遅延させると共に、当該MRパス符号化処理に対してCUパス符号化処理を1ストライプカムラ分だけ遅延させるようにしても良く、これらSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を並行して行う場合におけるこれらSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理の位相差としては、この他の位相差を広く適用することができる。 In addition to this, as shown in FIG. 35, for example, as shown in FIG. 35, the MR path encoding process is delayed by one stripe and two stripes Kamra with respect to the SP path encoding process. The CU pass encoding process may be delayed by one stripe camula, and the SP pass encoding process when the SP pass encoding process, the MR pass encoding process and the CU pass encoding process are performed in parallel. Other phase differences can be widely applied as the phase difference between the processing, the MR pass encoding process, and the CU pass encoding process.
さらに上述の第2の実施の形態においては、1ストライプ用ビットモデル部162(図32)を処理ビットプレーン22(図10)のストライプ数と同じ数だけ設けるようにした場合について述べたが、本発明はこれに限らず、要は、SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を並行して行い得るようにするのであれば、処理ビットプレーン22のストライプ23以外の数と異なる数の1ストライプ用ビットモデル部162を設けるようにしても良い。
Furthermore, in the second embodiment described above, the case where the number of bit models for one stripe 162 (FIG. 32) is the same as the number of stripes of the processing bit plane 22 (FIG. 10) has been described. The invention is not limited to this, and the point is that the number other than the
22……ビットプレーン、23……ストライプ、23A……ストライプカムラ、30……正負符号プレーン、31……SIGプレーン、32……REFプレーン、33……DONEプレーン、40……符号化装置、41、102……DRAM、42、101、160、170……EBCOTブロック、50、115……正負符号プレーンバッファ、51A、51B、116A、116B……ビットプレーンバッファ、52A、52B、111A、111B……SRAM、54、161……ビットモデル部、55……算術符号化部、61……SPパス符号化処理部、62……MRパス符号化処理部、63……CUパス符号化処理部、65、76、86、96、125、136、146、156、164……制御部、70A〜74A、80A〜85A、90A〜95A、130A〜135A、140A〜145A、150A〜155A……レジスタ、100……復号化装置、113……算術復号化部、114……ビットデモデル部、121……SPパス復号化処理部、122……MRパス復号化処理部、123……CUパス復号化処理部、162……1ストライプ用ビットモデル部、163……バッファ、D4……コードブロックデータ、D11……符号化データ、D20、D36……正負符号プレーンデータ、D21、D35……処理ビットプレーンデータ、D22、D30……SIGプレーンデータ、D23、D31……REFプレーンデータ、D24、D32……DONEプレーンデータ、D26、D34、D40……シンボルデータ、D27、D33、D41……コンテクストデータ。 22... Bit plane, 23... Stripe, 23 A... Stripe camula, 30... Positive and negative sign plane, 31... SIG plane, 32 ... REF plane, 33 ... DONE plane, 40. 102, DRAM, 42, 101, 160, 170 ... EBCOT block, 50, 115 ... Positive / negative sign plane buffer, 51A, 51B, 116A, 116B ... Bit plane buffer, 52A, 52B, 111A, 111B ... SRAM, 54, 161... Bit model section, 55... Arithmetic coding section, 61... SP path coding processing section, 62... MR path coding processing section, 63. 76, 86, 96, 125, 136, 146, 156, 164... Control unit, 70A to 74A, 80A to 8 A, 90A to 95A, 130A to 135A, 140A to 145A, 150A to 155A ... Register, 100 ... Decoding device, 113 ... Arithmetic decoding unit, 114 ... Bit demodeling unit, 121 ... SP path decoding Processing unit, 122... MR path decoding processing unit, 123... CU path decoding processing unit, 162... 1 stripe bit model unit, 163... Buffer, D4. D20, D36... Sign plane data, D21, D35... Processing bit plane data, D22, D30... SIG plane data, D23, D31... REF plane data, D24, D32. D26, D34, D40 ... symbol data, D27, D33, D41 ... context Over data.
Claims (9)
上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンを記憶する第1のSRAMと、
上記SIGプレーンにおいて有意とされた直後の上記ビットに対してフラグが立てられるREFプレーンを記憶する第2のSRAMと、
上記コンテクストが既に選択された上記ビットに対してフラグが立てられるDONEプレーンを記憶する第3のSRAMと、
上記SIGプレーン、上記REFプレーン及び上記DONEプレーンを読み出し、上記SIGプレーンにおいて上記処理ビットに対応するSIGビットが有意でなく、上記SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーン及び上記REFプレーンを書き戻すと共に、上記DONEプレーンにおける上記処理ビットと対応するDONEビットに上記フラグを立てた状態にして上記DONEプレーンを書き戻す第1の処理部と、
上記第1の処理部によって書き戻された上記SIGプレーン、上記REFプレーン及び上記DONEプレーンを読み出し、上記SIGビットが有意でありかつ上記DONEビットにフラグが立てられていない場合には、上記REFプレーンにおいて上記処理ビットに対応するREFビット及び上記SIG近傍ビットに基づいて上記コンテクストを選択すると共に、上記SIGビットをSIGプレーンに書き戻し、上記フラグが立てられていない状態にして上記REFビットをREFプレーンに書き戻すと共に、上記フラグを立てた状態にして上記DONEプレーンを書き戻す第2の処理部と、
上記第2の処理部によって書き戻された上記SIGプレーン及び上記DONEプレーンを読み出し、上記DONEビットに上記フラグが立てられていない場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーンを書き戻す第3の処理部と
を具え、
上記第2の処理部は、
上記第1の処理部が一の上記処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ上記第1の処理部から遅れて上記処理ビットに対する処理を実行する
ことを特徴とする画像処理装置。 Among the bit planes formed by flattening each digit from the code block data formed by representing each pixel in the image data having a predetermined number of pixels by a predetermined number of bits, the above bits in the upper digit In an image processing apparatus that reads out processing bits to be processed in order from a plane in a predetermined order, and selects and outputs a corresponding context among a plurality of predetermined contexts.
When the bit that is 1 is significant in the upper plane that is higher than the processing bit plane in which the processing bit exists, and when the bit that is 1 is not significant, the higher plane A first SRAM storing a SIG plane representing the significance of each bit in
A second SRAM for storing a REF plane in which a flag is set for the bit immediately after being significant in the SIG plane;
A third SRAM that stores a DONE plane that is flagged for the bit for which the context has already been selected;
When the SIG plane, the REF plane, and the DONE plane are read and the SIG bit corresponding to the processing bit is not significant in the SIG plane, and any of the SIG neighboring bits existing in the vicinity of the SIG bit is significant Selects the context based on the SIG neighboring bits, writes back the SIG plane and the REF plane reflecting the value of the processing bit, and sets the DONE bit corresponding to the processing bit in the DONE plane. A first processing unit that writes the DONE plane back with the flag set;
Read the SIG plane, the REF plane, and the DONE plane written back by the first processing unit, and if the SIG bit is significant and the DONE bit is not flagged, the REF plane And selecting the context based on the REF bit corresponding to the processing bit and the SIG neighboring bit and writing the SIG bit back to the SIG plane so that the flag is not set and the REF bit is changed to the REF plane. And a second processing unit for writing back the DONE plane with the flag raised,
The SIG plane and the DONE plane written back by the second processing unit are read, and when the flag is not set in the DONE bit, the context is selected based on the SIG neighboring bits, and the A third processing unit that reflects the value of the processing bit and writes back the SIG plane.
The second processing unit includes:
Executing the processing on the processing bits with a delay from the first processing unit by a first phase difference time shorter than a plane processing time required for the first processing unit to process one processing bit plane. An image processing apparatus.
上記第2の処理部が一の上記処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第2の位相差時間だけ上記第2の処理部から遅れて上記処理ビットに対する処理を実行すると共に、上記第1の処理部が上記一の処理ビットプレーンの次の上記ビットプレーンおける上記処理ビットに対応するビットに対する処理を開始する前に、上記処理ビットに対する処理を終了する
ことを特徴とする請求項1に記載の画像処理装置。 The third processing unit is
The second processing unit executes processing on the processing bits with a delay from the second processing unit by a second phase difference time shorter than a plane processing time required for processing one processing bit plane. The first processing unit ends the processing for the processing bit before starting the processing for the bit corresponding to the processing bit in the bit plane next to the one processing bit plane. Item 8. The image processing apparatus according to Item 1.
上記第2の位相差時間よりも長い
ことを特徴とする請求項1に記載の画像処理装置。 The first phase difference time is
The image processing apparatus according to claim 1, wherein the image processing apparatus is longer than the second phase difference time.
上記第1の処理部が4ビット分の上記処理ビットを処理するカラム処理時間よりも長く設定されている
ことを特徴とする請求項1に記載の画像処理装置。 The first phase difference time is
The image processing apparatus according to claim 1, wherein the first processing unit is set to be longer than a column processing time for processing the processing bits for 4 bits.
を具えることを特徴とする請求項4に記載の画像処理装置。 A fourth SRAM for storing the processing bit plane supplied from an externally provided DRAM
The image processing apparatus according to claim 4, further comprising:
を具えることを特徴とする画像処理装置。 5th SRAM which memorize | stores the code plane in which the positive / negative code in the said code block data supplied from DRAM provided outside was represented
An image processing apparatus comprising:
第1の処理部によって上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンSIGプレーン、上記SIGプレーンにおいて有意とされた直後の上記ビットに対してフラグが立てられるREFプレーン、及び上記コンテクストが既に選択された上記ビットに対してフラグが立てられるDONEプレーンを読み出し、上記SIGプレーンにおいて上記処理ビットに対応するSIGビットが有意でなく、上記SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、上記SIG近傍ビットに基づいて予め規定された複数のコンテクストのうち対応するコンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーン及び上記REFプレーンを書き戻すと共に、上記DONEプレーンにおける上記処理ビットと対応するDONEビットに上記フラグを立てた状態にして上記DONEプレーンを書き戻す第1の処理ステップと、
第2の処理部により上記第1の処理ステップにおいて書き戻された上記SIGプレーン、上記REFプレーン及び上記DONEプレーンを読み出し、上記SIGビットが有意でありかつ上記DONEビットにフラグが立てられていない場合には、上記REFプレーンにおいて上記処理ビットに対応するREFビット及び上記SIG近傍ビットに基づいて上記コンテクストを選択すると共に、上記SIGビットをSIGプレーンに書き戻し、上記フラグが立てられていない状態にして上記REFビットをREFプレーンに書き戻すと共に、上記フラグを立てた状態にして上記DONEプレーンを書き戻す第2の処理ステップと、
第3の処理部により上記第2の処理ステップにおいて書き戻された上記SIGプレーン及び上記DONEプレーンを読み出し、上記DONEビットに上記フラグが立てられていない場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーンを書き戻す第3の処理ステップと
を具え、
上記第2の処理ステップでは、
上記第1の処理部が一の上記処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ上記第1の処理部から遅れて上記処理ビットに対する処理を実行する
ことを特徴とするビットモデル化方法。 Among the bit planes formed by flattening each digit from the code block data formed by representing each pixel in the image data having a predetermined number of pixels by a predetermined number of bits, the above bits in the upper digit In the bit modeling method for reading out the processing bits to be processed in order from the plane in a predetermined order, and selecting and outputting the corresponding context from a plurality of predetermined contexts,
The first processing unit is significant when the bit that is 1 exists in the upper plane that is higher than the processing bit plane where the processing bit exists, and the case that the bit that is 1 does not exist is not significant. The SIG plane representing the significance of each bit in the upper plane, the REF plane flagged for the bit immediately after being significant in the SIG plane, and the context in which the context has already been selected When a DONE plane that is flagged for a bit is read and the SIG bit corresponding to the processing bit is not significant in the SIG plane, and any of the SIG neighboring bits existing in the vicinity of the SIG bit is significant Based on the SIG neighborhood bit in advance. The corresponding context is selected from the plurality of contexts that have been processed, the SIG plane and the REF plane are written back to reflect the value of the processing bit, and the flag is set in the DONE bit corresponding to the processing bit in the DONE plane. A first processing step to write back the DONE plane in a standing state;
When the SIG plane, the REF plane, and the DONE plane read back by the second processing unit in the first processing step are read, and the SIG bit is significant and the DONE bit is not flagged In the REF plane, the context is selected based on the REF bit corresponding to the processing bit and the SIG neighboring bit, and the SIG bit is written back to the SIG plane so that the flag is not set. A second processing step of writing back the REF bit to the REF plane and writing back the DONE plane with the flag set;
The SIG plane and the DONE plane written back in the second processing step by the third processing unit are read, and when the flag is not set in the DONE bit, the SIG plane is based on the SIG neighboring bits. Selecting a context and reflecting the value of the processing bit to write back the SIG plane;
In the second processing step,
Executing the processing on the processing bits with a delay from the first processing unit by a first phase difference time shorter than a plane processing time required for the first processing unit to process one processing bit plane. A bit modeling method characterized by
上記処理ビットを平面化したときに上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンを記憶する第1のSRAMと、
上記SIGプレーンにおいて有意とされた直後の上記ビットに対してフラグが立てられるREFプレーンを記憶する第2のSRAMと、
上記コンテクストが既に選択された上記ビットに対してフラグが立てられるDONEプレーンを記憶する第3のSRAMと、
上記SIGプレーン、上記REFプレーン及び上記DONEプレーンを読み出し、上記SIGプレーンにおいて上記処理ビットに対応するSIGビットが有意でなく、上記SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーン及び上記REFプレーンを書き戻すと共に、上記DONEプレーンにおける上記処理ビットと対応するDONEビットに上記フラグを立てた状態にして上記DONEプレーンを書き戻す第1の処理部と、
上記第1の処理部によって書き戻された上記SIGプレーン、上記REFプレーン及び上記DONEプレーンを読み出し、上記SIGビットが有意でありかつ上記DONEビットにフラグが立てられていない場合には、上記REFプレーンにおいて上記処理ビットに対応するREFビット及び上記SIG近傍ビットに基づいて上記コンテクストを選択すると共に、上記SIGビットをSIGプレーンに書き戻し、上記フラグが立てられていない状態にして上記REFビットをREFプレーンに書き戻すと共に、上記フラグを立てた状態にして上記DONEプレーンを書き戻す第2の処理部と、
上記第2の処理部によって書き戻された上記SIGプレーン及び上記DONEプレーンを読み出し、上記DONEビットに上記フラグが立てられていない場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーンを書き戻す第3の処理部と
を具え、
上記第2の処理部は、
上記第1の処理部が一の上記処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ上記第1の処理部から遅れて上記処理ビットに対する処理を実行する
ことを特徴とする画像処理装置。 Processing to be processed in order to generate a bit plane that is planarized for each digit from code block data formed by representing each pixel in a predetermined number of bits in image data having a predetermined number of pixels In an image processing apparatus that selects and outputs a context corresponding to the processing bit among a plurality of predetermined contexts from a symbol corresponding to a bit,
When the processing bit is planarized, it is significant that the bit which is 1 exists in the upper plane which is higher than the processing bit plane where the processing bit exists, and the case where the bit which is 1 does not exist. A first SRAM that stores a SIG plane representing the significance of each bit in the upper plane when it is not significant;
A second SRAM for storing a REF plane in which a flag is set for the bit immediately after being significant in the SIG plane;
A third SRAM that stores a DONE plane that is flagged for the bit for which the context has already been selected;
When the SIG plane, the REF plane, and the DONE plane are read and the SIG bit corresponding to the processing bit is not significant in the SIG plane, and any of the SIG neighboring bits existing in the vicinity of the SIG bit is significant Selects the context based on the SIG neighboring bits, writes back the SIG plane and the REF plane reflecting the value of the processing bit, and sets the DONE bit corresponding to the processing bit in the DONE plane. A first processing unit that writes the DONE plane back with the flag set;
Read the SIG plane, the REF plane, and the DONE plane written back by the first processing unit, and if the SIG bit is significant and the DONE bit is not flagged, the REF plane And selecting the context based on the REF bit corresponding to the processing bit and the SIG neighboring bit and writing the SIG bit back to the SIG plane so that the flag is not set and the REF bit is changed to the REF plane. And a second processing unit for writing back the DONE plane with the flag raised,
The SIG plane and the DONE plane written back by the second processing unit are read, and when the flag is not set in the DONE bit, the context is selected based on the SIG neighboring bits, and the A third processing unit that reflects the value of the processing bit and writes back the SIG plane.
The second processing unit includes:
Executing the processing on the processing bits with a delay from the first processing unit by a first phase difference time shorter than a plane processing time required for the first processing unit to process one processing bit plane. An image processing apparatus.
上記処理ビットを平面化したときに上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンを記憶する第1のSRAMと、
上記SIGプレーンにおいて有意とされた直後の上記ビットに対してフラグが立てられるREFプレーンを記憶する第2のSRAMと、
上記コンテクストが既に選択された上記ビットに対してフラグが立てられるDONEプレーンを記憶する第3のSRAMと、
第1の処理部により上記SIGプレーン、上記REFプレーン及び上記DONEプレーンを読み出し、上記SIGプレーンにおいて上記処理ビットに対応するSIGビットが有意でなく、上記SIGビットの近傍に存在するSIG近傍ビットのいずれかが有意である場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーン及び上記REFプレーンを書き戻すと共に、上記DONEプレーンにおける上記処理ビットと対応するDONEビットに上記フラグを立てた状態にして上記DONEプレーンを書き戻す第1の処理ステップと、
第2の処理部により上記第1のステップにおいて書き戻された上記SIGプレーン、上記REFプレーン及び上記DONEプレーンを読み出し、上記SIGビットが有意でありかつ上記DONEビットにフラグが立てられていない場合には、上記REFプレーンにおいて上記処理ビットに対応するREFビット及び上記SIG近傍ビットに基づいて上記コンテクストを選択すると共に、上記SIGビットをSIGプレーンに書き戻し、上記フラグが立てられていない状態にして上記REFビットをREFプレーンに書き戻すと共に、上記フラグを立てた状態にして上記DONEプレーンを書き戻す第2の処理ステップと、
第3の処理部により上記第2の処理ステップにおいて書き戻された上記SIGプレーン及び上記DONEプレーンを読み出し、上記DONEビットに上記フラグが立てられていない場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記処理ビットの値を反映して上記SIGプレーンを書き戻す第3の処理ステップと
を具え、
上記第2の処理ステップでは、
上記第1の処理部が一の上記処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ上記第1の処理部から遅れて上記処理ビットに対する処理を実行する
ことを特徴とするビットモデル化方法。 Processing to be processed in order to generate a bit plane that is planarized for each digit from code block data formed by representing each pixel in a predetermined number of bits in image data having a predetermined number of pixels In a bit modeling method for selecting a context corresponding to the processing bit from a plurality of predetermined contexts from a symbol corresponding to a bit,
When the processing bit is planarized, it is significant that the bit which is 1 exists in the upper plane which is higher than the processing bit plane where the processing bit exists, and the case where the bit which is 1 does not exist. A first SRAM that stores a SIG plane representing the significance of each bit in the upper plane when it is not significant;
A second SRAM for storing a REF plane in which a flag is set for the bit immediately after being significant in the SIG plane;
A third SRAM that stores a DONE plane that is flagged for the bit for which the context has already been selected;
The SIG plane, the REF plane, and the DONE plane are read out by the first processing unit, and the SIG bit corresponding to the processing bit is not significant in the SIG plane, and any of the SIG neighboring bits existing in the vicinity of the SIG bit Is significant, the context is selected based on the SIG neighboring bits, the SIG plane and the REF plane are written back to reflect the values of the processing bits, and the processing bits in the DONE plane are written back. A first processing step of writing back the DONE plane with the flag set in the corresponding DONE bit;
When the SIG plane, the REF plane, and the DONE plane written back in the first step by the second processing unit are read, and the SIG bit is significant and the DONE bit is not flagged Selects the context based on the REF bit corresponding to the processing bit and the SIG neighboring bit in the REF plane, writes the SIG bit back to the SIG plane, and sets the flag to be off. A second processing step of writing back the REF bit to the REF plane and writing back the DONE plane with the flag set;
The SIG plane and the DONE plane written back in the second processing step by the third processing unit are read, and when the flag is not set in the DONE bit, the SIG plane is based on the SIG neighboring bits. Selecting a context and reflecting the value of the processing bit to write back the SIG plane;
In the second processing step,
Executing the processing on the processing bits with a delay from the first processing unit by a first phase difference time shorter than a plane processing time required for the first processing unit to process one processing bit plane. A bit modeling method characterized by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007326597A JP4337066B2 (en) | 2007-12-18 | 2007-12-18 | Image processing apparatus and bit modeling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007326597A JP4337066B2 (en) | 2007-12-18 | 2007-12-18 | Image processing apparatus and bit modeling method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003130793A Division JP4081758B2 (en) | 2003-05-08 | 2003-05-08 | Processing bit model block, processing bit modeling method, encoding device, symbol model block, symbol modeling method, decoding device, and image processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008148332A JP2008148332A (en) | 2008-06-26 |
JP4337066B2 true JP4337066B2 (en) | 2009-09-30 |
Family
ID=39607923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007326597A Expired - Fee Related JP4337066B2 (en) | 2007-12-18 | 2007-12-18 | Image processing apparatus and bit modeling method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4337066B2 (en) |
-
2007
- 2007-12-18 JP JP2007326597A patent/JP4337066B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008148332A (en) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7418146B2 (en) | Image decoding apparatus | |
KR101695681B1 (en) | Context-based adaptive binary arithmetic coding (cabac) video stream compliance | |
GB2303031A (en) | Reversible wavelet transform and embedded codestream manipulation | |
JP2003530036A (en) | Video coding method using wavelet transform | |
JP3984886B2 (en) | Data conversion apparatus, data conversion method, computer program, and storage medium | |
JP2009506606A (en) | Image data processing method | |
US20240121447A1 (en) | Systems, apparatus, and methods for bit level representation for data processing and analytics | |
EP2061256A1 (en) | Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device | |
US20040013312A1 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
JP4081758B2 (en) | Processing bit model block, processing bit modeling method, encoding device, symbol model block, symbol modeling method, decoding device, and image processing device | |
JP4182426B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2004505520A (en) | Video coding method using wavelet decomposition | |
JP4514169B2 (en) | Digital signal conversion apparatus and method | |
JP4337066B2 (en) | Image processing apparatus and bit modeling method | |
JP4097108B2 (en) | Wavelet transform device and encoding / decoding device | |
US6538583B1 (en) | Method and apparatus for context modeling | |
US20020057276A1 (en) | Data processing apparatus, processor and control method | |
JP2006067485A (en) | Image information processing method, apparatus and program | |
JP4109151B2 (en) | Image processing device | |
US20180316920A1 (en) | Video image encoding device, video image encoding method and program recording medium | |
JP4194472B2 (en) | Image processing method and apparatus | |
US20040213465A1 (en) | Multi-level encoding/decoding apparatus | |
JP4111761B2 (en) | Image processing device | |
JP2005277758A (en) | Image decoding apparatus | |
JPH1098620A (en) | Picture processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090604 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090617 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120710 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130710 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |