JP4081758B2 - 処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置 - Google Patents
処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置 Download PDFInfo
- Publication number
- JP4081758B2 JP4081758B2 JP2003130793A JP2003130793A JP4081758B2 JP 4081758 B2 JP4081758 B2 JP 4081758B2 JP 2003130793 A JP2003130793 A JP 2003130793A JP 2003130793 A JP2003130793 A JP 2003130793A JP 4081758 B2 JP4081758 B2 JP 4081758B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- processing
- plane
- sig
- modeled
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/647—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、符号化装置及び方法、復号化装置及び方法並びに画像情報処理システム及び方法に関し、例えばJPEG(Joint Photographic Experts Group)2000規格に準拠した符号化装置及び復号化装置並びにこれら符号化装置及び復号化装置から構成される画像情報処理システムに適用して好適なものである。
【0002】
【従来の技術】
近年、新しいデータ圧縮方式として、JPEG2000規格と呼ばれる圧縮方式が規格化されている。
【0003】
図38は、かかるJPEG2000規格に準拠した符号化装置1の構成を示すものであり、供給される画像データD1に対して入力画像処理部2においてDCレベルシフト処理及び色変換処理等の所定の入力画像処理を施した後、得られた信号処理画像データD2をDWT(Discrete Wavelet Transform)部3に送出する。
【0004】
DWT部3は、供給される信号処理画像データD2に対してウェーブレット変換処理を施す。具体的には、図39に示すように、信号処理画像データD2を低域周波数通過型及び高域周波数通過型の2分割フィルタを通すことにより、当該信号処理画像データD2に基づく画像を例えばこの図39のように水平方向と垂直方向とに帯域(サブバンド)分割する。
【0005】
なおこの図39は、分割数が3レベルのものを示したものであり、図中『LL』は信号処理画像データD2における水平方向及び垂直方向が共に低域周波数側の成分、『LH』は信号処理画像データD2における水平方向が低域周波数側で垂直方向が高域周波数側の成分、『HL』は信号処理画像データD2における水平方向が高域周波数側で垂直方向が低域周波数側の成分、『HH』は信号処理画像データD2における水平方向及び垂直方向が共に高域周波数側の成分をそれぞれ示す。
【0006】
そしてDWT部3は、このようなウェーブレット変換処理により得られたウェーブレット係数をDWTデータD3として量子化部4に送出する。
【0007】
量子化部4は、供給されるDWTデータD3を順次量子化し、得られた量子化係数を、所定サイズのコードブロックに切り分けて、当該コードブロック単位のコードブロックデータD4として、EBCOT(Embedded Block Coding with Optimized Truncation)ブロック5のビットモデル部6に送出する。
【0008】
ビットモデル部6は、供給されるコードブロックデータD4を、ビットプレーンごとにデータをスキャンしながらCBM(Coefficient Bit Modeling)処理により係数ビットモデル化し、かくして得られたシンボル(Symbol)及びコンテクスト(Context)の各データD5、D6を算術符号化(Arithmatic Coder)部7に送出する。
【0009】
算術符号化部7は、供給されるシンボルデータD5及びコンテクストデータD6を入力として所定の算術符号化演算処理を実行することにより符号化列を生成し、これを符号化データD7としてパケタイズストリーム生成部8に送出する。
【0010】
パケタイズストリーム生成部8は、供給される符号化データD7をJPEG2000規格に応じたパケットフォーマットにパケット化する。これによりJPEG2000規格のシンタクスに合った符号化パケットデータD8を得ることができる。
【0011】
一方、図40は、JPEG2000規格に準拠した復号化装置10の構成を示すものである。
【0012】
この復号化装置10においては、上述のようにして生成されたJPEG2000規格のシンタクスに合った符号化パケットデータD10から画像情報部分である符号化データD11を抽出し、これをEBCOTブロック12の算術復号化部13に送出する。
【0013】
算術復号化部13は、符号化データD11及び後段のビットデモデル部14から与えられるコンテクストデータD12を入力とした所定の算術復号化演算処理を実行し、かくして得られたシンボルデータD13をビットデモデル部14に送出する。
【0014】
ビットデモデル部14は、供給されるシンボルデータD13をCBM処理により係数ビットモデル化し、かくして得られた復号されたコードブロックデータD14を逆量子化部15に送出すると共に、このとき得られたコンタクスをコンタクスデータD12として算術復号化部13に送出する。
【0015】
逆量子化部15は、供給される復号量子化データD14に対して逆量子化処理を施すことによりウェーブレット係数を得、これを復号DWTデータD16としてIDWT部16に送出する。
【0016】
IDWT部16は、供給される復号DWTデータD16に対してウェーブレット逆変換処理を施し、かくして得られたウェーブレット逆変換画像データD16を入力画像処理部17に送出する。
【0017】
そして入力画像処理部17は、このウェーブレット逆変換画像データD16に対して所定の信号処理を施す。これにより符号化装置1(図38)において符号化された画像データD1(図38)を復号した画像データD17を得ることができる。
【0018】
なお、JPEG2000規格に準拠した符号化装置及び復号化装置に関する先行技術文献としては、以下のものがある(特許文献1参照)。
【0019】
【特許文献1】
特開2002−159009公報
【0020】
【発明が解決しようとする課題】
ところが、かかるJPEG2000規格による符号化処理及び復号化処理は、処理内容が煩雑で、高速化を図り難い問題があった。
【0021】
本発明は以上の点を考慮してなされたもので、符号化処理及び又は復号化処理を高速化させ得る符号化装置及び方法、復号化装置及び方法並びに画像情報処理システム及び方法を提案しようとするものである。
【0022】
【課題を解決するための手段】
かかる課題を解決するため本発明の処理ビットモデルブロックにおいては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の桁のビットプレーンから順に当該ビットプレーン上のビットを任意の数でなるストライプに区切り、一のストライプに属するビットを読み出した後に次のストライプに属するビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち処理ビットに対応するコンテクストにモデル化して出力するビットモデルブロックにおいて、処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、処理ビットに対応するSIGビットが有意でなく、処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である処理ビットである第1の処理対象ビットに対して、SIGプレーンを参照してモデル化する第1の処理を実行すると共に、処理ビットの値をSIGプレーンに反映させる第1の処理部と、有意であるSIGビットに対応する処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第2の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第3の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部とを設け、第2の処理部及び第3の処理部のうち少なくとも一方は、処理ビットが既にモデル化されたか否かを表すDONEプレーンから、ストライプごとに処理ビットに対応するDONEビットを読み出し、ストライプごとに処理ビットが未だモデル化されていないか否かを判別するようにした。
【0023】
この結果処理ビットモデルブロックでは、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができる。
【0024】
また本発明の処理ビットモデル化方法においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の桁のビットプレーンから順に当該ビットプレーン上のビットを任意の数でなるストライプに区切り、一のストライプに属するビットを読み出した後に次のストライプに属するビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち処理ビットに対応するコンテクストにモデル化して出力するビットモデル化方法において、第1の処理部により処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、処理ビットに対応するSIGビットが有意でなく、処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である処理ビットである第1の処理対象ビットに対して、SIGプレーンを参照してモデル化する第1の処理を実行すると共に、処理ビットの値をSIGプレーンに反映させる第1の処理ステップと、第2の処理部により有意であるSIGビットに対応する処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第2の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第2の処理を実行する第2の処理ステップと、第3の処理部により処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第3の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第3の処理を実行する第3の処理ステップとを具え、第2の処理ステップ及び第3の処理ステップのうち少なくとも一方において、処理ビットが既にモデル化されたか否かを表すDONEプレーンから、ストライプごとに処理ビットに対応するDONEビットを読み出し、ストライプごとに処理ビットが未だモデル化されていないか否かを判別するようにした。
【0025】
この結果処理ビットモデル化方法では、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができる。
【0026】
さらに本発明の符号化装置においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の桁のビットプレーンから順に当該ビットプレーン上のビットを任意の数でなるストライプに区切り、一のストライプに属するビットを読み出した後に次のストライプに属するビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち処理ビットに対応するコンテクストにモデル化し、当該コンテクスト及び処理ビットの値を用いて符号化する符号化装置において、処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、処理ビットに対応するSIGビットが有意でなく、処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である処理ビットである第1の処理対象ビットに対して、SIGプレーンを参照してモデル化する第1の処理を実行すると共に、処理ビットの値をSIGプレーンに反映させる第1の処理部と、有意であるSIGビットに対応する処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第2の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第3の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部と、コンテクスト及び処理ビットの値を取得して算術符号化処理を実行する算術符合化部とを設け、第2の処理部及び第3の処理部のうち少なくとも一方は、処理ビットが既にモデル化されたか否かを表すDONEプレーンから、ストライプごとに処理ビットに対応するDONEビットを読み出し、ストライプごとに処理ビットが未だモデル化されていないか否かを判別するようにした。
【0027】
この結果符号化装置では、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができる。
【0028】
さらに本発明のシンボルモデルブロックにおいては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成するために、ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、予め規定された複数のコンテクストのうち対応するコンテクストにモデル化して出力するビットモデルブロックにおいて、処理ビットを平面化したときに処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、処理ビットに対応するSIGビットが有意でなく、処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である処理ビットである第1の処理対象ビットに対して、SIGプレーンを参照してモデル化する第1の処理を実行すると共に、処理ビットの値をSIGプレーンに反映させる第1の処理部と、有意であるSIGビットに対応する処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第2の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第3の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部とを設け、第2の処理部及び第3の処理部のうち少なくとも一方は、処理ビットが既にモデル化されたか否かを表すDONEプレーンから、ストライプごとに処理ビットに対応するDONEビットを読み出し、ストライプごとに処理ビットが未だモデル化されていないか否かを判別するようにした。
【0029】
この結果シンボルモデルブロックでは、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができる。
【0030】
さらに本発明のシンボルモデル化方法においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成するために、ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、予め規定された複数のコンテクストのうち対応するコンテクストにモデル化するシンボルモデル化方法において、第1の処理部により処理ビットを平面化したときに処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、処理ビットに対応するSIGビットが有意でなく、処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である処理ビットである第1の処理対象ビットに対して、SIGプレーンを参照してモデル化する第1の処理を実行すると共に、処理ビットの値をSIGプレーンに反映させる第1の処理ステップと、第2の処理部により有意であるSIGビットに対応する処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第2の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第2の処理を実行する第2の処理ステップと、第3の処理部により処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第3の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第3の処理を実行する第3の処理ステップとを設け、第2の処理部及び第3の処理部のうち少なくとも一方は、処理ビットが既にモデル化されたか否かを表すDONEプレーンから、ストライプごとに処理ビットに対応するDONEビットを読み出し、ストライプごとに処理ビットが未だモデル化されていないか否かを判別するようにした。
【0031】
この結果シンボルモデル化方法では、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができる。
【0032】
さらに本発明の復号化装置においては、ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、予め規定された複数のコンテクストのうち対応するコンテクストにモデル化し、当該コンテクスト及び処理ビットの値を用いて復号化することにより、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成する復号化装置において、処理ビットを平面化したときに処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、処理ビットに対応するSIGビットが有意でなく、処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である処理ビットである第1の処理対象ビットに対して、SIGプレーンを参照してモデル化する第1の処理を実行すると共に、処理ビットの値をSIGプレーンに反映させる第1の処理部と、有意であるSIGビットに対応する処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第2の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第3の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部と、コンテクスト及び処理ビットの値を取得して算術復号化処理を実行する算術符合化部とを設け、第2の処理部及び第3の処理部のうち少なくとも一方は、処理ビットが既にモデル化されたか否かを表すDONEプレーンから、ストライプごとに処理ビットに対応するDONEビットを読み出し、ストライプごとに処理ビットが未だモデル化されていないか否かを判別するようにした。
【0033】
この結果復号化装置では、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができる。
【0034】
さらに本発明の画像処理装置においては、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の桁のビットプレーンから順に当該ビットプレーン上のビットを任意の数でなるストライプに区切り、一のストライプに属するビットを読み出した後に次のストライプに属するビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち処理ビットに対応するコンテクストにモデル化し、当該コンテクスト及び処理ビットの値を用いて符号化する符号化装置と、ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、対応するコンテクストにモデル化し、当該コンテクスト及び処理ビットの値を用いて復号化することにより、ビットプレーンを生成する復号化装置とを有する画像処理装置において、処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1であるビットが存在する場合が有意であり、1であるビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、処理ビットに対応するSIGビットが有意でなく、処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である処理ビットである第1の処理対象ビットに対して、SIGプレーンを参照してモデル化する第1の処理を実行すると共に、処理ビットの値をSIGプレーンに反映させる第1の処理部と、有意であるSIGビットに対応する処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第2の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない処理ビットである第3の処理対象ビットを、処理ビットの値が反映されたSIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部とを設け、第2の処理部及び第3の処理部のうち少なくとも一方は、処理ビットが既にモデル化されたか否かを表すDONEプレーンから、ストライプごとに処理ビットに対応するDONEビットを読み出し、ストライプごとに処理ビットが未だモデル化されていないか否かを判別するようにした。
【0035】
この結果画像処理装置では、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができる。
【0038】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【0039】
(1)CBM処理の内容
本願発明は上述したJPEG2000規格に準拠した符号化装置1のビットモデル部6(図38)や復号化装置10のビットデモデル部13(図40)において行われるCBM処理に関するものである。そこで、まずCBM処理の具体的処理内容について詳説する。
【0040】
(1−1)1コードブロックとコードブロックサイズ
図38について上述したように、例えばJPEG2000規格に準拠した符号化装置1の量子化部4では、ウェーブレット係数を量子化したものをコードブロックと呼ばれる単位で切り出してビットモデル部6に与える。そしてビットモデル部6では、図1に示すように、このコードブロック20を単位としてCBM処理を行い、シンボルとコンテクストを生成することになる。
【0041】
ここでコードブロック20のサイズは、図2に示すように、大枠が定められている。従って、コードブロック20のサイズは、エンコード時にこのルールに従って選択することになる。
【0042】
この場合、コードブロック20は基本的にはサブバンドの左上境界から始まって位置付けられるので、図3に示すように、画像サイズとコードブロックサイズとの関係によっては不整合を生じる。このようにエンコード時に決定したものを通常サイズと呼び、不整合が生じたものを例外サイズと呼ぶ。
【0043】
例外サイズは必ず通常サイズよりも小さいものであり、基本的に格納しているデータの量が異なるだけであるので、例外サイズについて触れるのはここだけに留め、以下においては通常サイズのコードブロック20を取り上げて説明する。
【0044】
(1−2)ビットプレーン
上述のように、CBM処理ではコードブロック20を単位として処理(モデル化、シンボル・コンテクスト出力)を行うわけであるが、この処理はコードブロック20のデータをビットプレーンに分けて順に行われる。ビットプレーンはその名のとおり、『bit(0/1)』を表現するものが集まった平面である。
【0045】
図4に示すように、コードブロック20に分割されてきたデータは『Sign-Magnitude表現』、すなわち正負符号と絶対値による数値表現により表されている。最上位のビットプレーン22に各画素の正負符号が格納され、これを正負符号ビットプレーン22Sと呼ぶ。そしてこれよりも下位のビットプレーン22に各画素の絶対値データがビットごとに順に格納される。
【0046】
ここで仮に各画素のデータが16ビットで表現されているとすると、コードブロックデータ20は、各画素の最上位ビット(bit15)が集まって構成するプレーンから最下位ビット(bit0)が集まって構成するプレーンまでの16枚のビットプレーン22に分割されることになる。
【0047】
上位のビットプレーン22から順に眺めていくと、上述のように最上位ビットが集まって構成するビットプレーン22が正負符号ビットプレーン22Sであり、各画素の正負符号が格納される。
【0048】
各画素のその次のビットが集まって構成するビットプレーン22から最下位ビットが集まって構成するビットプレーン22までの合計15枚の各ビットプレーン22に、各画素のデータの絶対値がビットごとに分割されて格納されていることになる。この場合、統計的に上位のいくつかのビットプレーン22では全てのビット値が0であるということが多い。このようなものをゼロビットプレーン220と呼ぶ。
【0049】
かかる15枚のビットプレーン22を上から順に見ていくと、やがて初めてゼロビットプレーン220ではないビットプレーン22にたどりつく。それをトップビットプレーン22Tと呼び、ここではそれが各画素の最下位ビット(bit0)から数えて10番目のビット(bit9)が集まって構成しているビットプレーン22だったとする。これよりも下位のビットプレーン22(それぞれ各画素の9番目以下のビットが集まって構成される各ビットプレーン22)は、データがあったり無かったりしてもここでは特に分類はしない。
【0050】
ここまでの話しをまとめると、この例では、各画素の最上位ビット(bit15)が集まって構成しているものが正負符号ビットプレーン22S、各画素の次のビット(bit14)が集まって構成しているビットプレーン22から11番目のビット(bit10)が集まって構成しているビットプレーン22がゼロビットプレーン220(10枚)、10番目のビット(bit9)が集まって構成しているビットプレーン22がトップビットプレーン22T、9番目(bit8)のビットが集まって構成しているビットプレーン22から最下位ビットが集まって構成しているビットプレーン22までが残りの処理すべきビットプレーン22(9枚)というビットプレーン構成となっている。
【0051】
このようなビットプレーン構成のコードブロック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ごとにそれぞれ行う。
【0052】
なお、SPパス、MRパス及びCUパスの詳細については後述する。
【0053】
(1−3)ビットプレーン内スキャン順序
コードブロック20内の各ビットプレーン22に対するアクセス順序はこれまでに説明した通りであるが、ビットプレーン22内において、各画素のデータにどういう順序でアクセスするかを示したのが図5である。この図5では、8画素×8画素のビットプレーン22を例に示すものである。
【0054】
ビットプレーン22は、縦4画素ずつ横方向に区切った場合の各行であるストライプ23に分けられる。ストライプ23中の縦1列をストライプカラム23Aと呼ぶ。ビットプレーン22の最上段のストライプ23における左端のストライプカラム23Aから処理を始め、1つのストライプカラム23Aを処理したら隣のストライプカラム23Aに移り、それをそのストライプ23中繰り返す。1ストライプ23の処理が完了したら下段のストライプ23に移動し、ビットプレーン22内のすべての画素が処理されるまでこれを繰り返すというのがビットプレーン22内でのスキャン順序(以下、これをビットプレーン内スキャン順序と呼ぶ)である。
【0055】
さらに、ビットプレーン22内におけるスキャンと3つのパス(SPパス、MRパス及びCUパス)との関係について以下に説明する。
【0056】
上述のようにトップビットプレーン22Tに対してCUパスのみを行い、それよりも下位のビットプレーン22に対しては、SPパス、MRパス及びCUパスの3つのパスを処理する。これとビットプレーン22内におけるスキャンとの関係を図6〜図9に示す。
【0057】
まず新たにビットプレーン22をCBM処理しようという場合において、まだひとつのデータも処理されておらずこれから処理を開始しようとしている状態が図6である。SPパスの処理が必要な画素に対して行われ、このSPパス処理の終了した状態が図7となる。SPパスはビットプレーン内スキャン順序を守って行われる。
【0058】
次のMRパスは、SPパスで処理した画素は避け、該当する画素に対してのみ処理を行う。このMRパスの終了した状態が図8である。このMRパスにおいてもビットプレーン内スキャン順序は守る。
【0059】
さらに未処理で残った画素に対してもやはりビットプレーン内スキャン順序を守りながらCUパスで処理を行う。このCUパスの完了した状態が図9である。この結果、すべての画素が処理済みになったので、このビットプレーン22のビットモデル化は完了したことになる。
【0060】
なお『トップビットプレーン22T』については、CUパスの処理のみをすべての画素に対して行う。
【0061】
(1−4)“Significance”について
次に各コーディング・パス(SPパス、MRパス及びCUパス)の説明に入る前に、“Significance”という状態量について説明する。“Significance”とは該当画素が『有意である(Significant)/有意でない(Insignificant)』ということを表す。
【0062】
『有意である(Significant)』とは、「これまでのCBM処理によって注目係数が0ではないとわかっている状態」のことをいい、換言すれば「値が『1』である画素(ビット)をすでにモデル化(符号化)し終えた」ということを意味する。
【0063】
また『有意でない(Insignificant)』とは、「係数値が0であるか、又は0の可能性がある状態」のことをいい、換言すれば「(今のところ)値が『1』である画素(ビット)を未だモデル化(符号化)し終えていない」ということを意味する。
【0064】
さらに『該当画素』とは、ビットプレーン22上のある着目している画素のことをいう。
【0065】
なお、“Significance”はコードブロック20(図1)に渡って更新されながら記憶保持される。従ってこれまで例示した8画素×8画素のビットプレーン22が16枚からなるコードブロック20においていえば、64画素(8画素×8画素)分の“Significance”状態量をコードブロック20に渡って記憶保持することになる。
【0066】
CBM処理では、時間的にトップビットプレーン22Tから順に、ビットプレーン22内ではビットプレーン内スキャン順序に従って3つのコーディング・パス(トップビットプレーン22TではCUパスのみ)を処理(モデル化、シンボル・コンテクスト出力)するが、ある画素の係数(正確にはウェーブレット変換係数を量子化したもの)の状態をこの“Significance”で表していることになる。
【0067】
因みに、CBM処理が行われていないコードブロック20においては、すべてのSIGプレーン上の値が“Insignificant”で始まり、各ビットプレーン22を処理していく過程において該当するものが“Significant”に転じていく。一度“Significant”になったものがCBM処理の途中で“Insignificant”に戻ることはない。
【0068】
(1−5)3つのコーディング・パス
次に、SLパス(Significance Propagation Pass)、MRパス(Magnitude Refinement Pass )、CUパス(Clean−up Pass)について説明する。
【0069】
この3つのコーディング・パスに従ってビットモデル化の処理を行う場合には、図10に示すように、これから処理しようとするビットプレーン22(以下、これを処理ビットプレーン22と呼ぶ)以外に、正負符号ビットプレーン22S(図4)のデータを記憶保持するプレーン(以下、これを正負符号プレーンと呼ぶ)30と、“Significance”を記録するプレーン(以下、これをSIGプレーンと呼ぶ31)と、最初の“Refinement pass”であるか否か示すプレーン(以下、これをREFプレーンと呼ぶ)32と、処理ビットプレーン中で着目ビットが処理済みであるか否かを表すプレーン(以下、これをDONEプレーンと呼ぶ)33とを状態量の記録用RAMとして用意するのが一般的である。
【0070】
これら正負符号プレーン30、SIGプレーン31、REFプレーン32及びDONEプレーン33は、処理ビットプレーン22と同じ大きさを持つ(これまでの例では8画素×8画素)プレーンである。
【0071】
この場合、正負符号プレーン30は、コードブロック22を処理している間はその値が変化せず記憶保持される。SIGプレーン31は、SPパス、CUパスで値を変化させられる可能性がある。REFプレーン32は、MRパスで値を変化させられる可能性がある。DONEプレーン33は、各コーディング・パスの処理が完了した画素に対応させて処理済のフラグを立てる状態量で、その処理ビットプレーン22に対する処理が完了した段階でリセットされる。
【0072】
(1−5−1)SPパスの処理
SPパスは、トップビットプレーン22T(図4)を除く処理ビットプレーン22において、最初に実施されるコーディング・パスである。このSPパスは、処理ビットプレーン22上の該当画素と同じ座標位置にあるSIGプレーン31上のデータを参照しながら処理が進められる。
【0073】
すなわち図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”とされる。
【0074】
SPパスの処理を行うに際しては、上述したビットプレーン内スキャン順序に従って、処理ビットプレーン22の左上を起点に、当該処理ビットプレーン22上の画素ごとに当該処理を行うことができるかどうかを調べる。具体的には、「『該当画素が“Significant”ではない(Insignificant)』かつ『該当画素の8近傍に“Significant”である画素が少なくともひとつ存在する』」という条件を満たすか否かを調査する。
【0075】
そしてこの条件を満たすときにその該当画素に対してSPパス の処理を行い、満たさないときにはSPパスの処理を行わずにビットプレーン内スキャン順序に従って次の画素を評価する。
【0076】
次に、SPパスの処理に入った場合の流れを説明する。
【0077】
SPパスに入った場合、シンボルとして図12(A)に示す処理ビットプレーン22の該当画素の値(0/1)を出力する。同時に、処理ビットプレーン22上の該当画素と対応する図12(B)に示すSIGプレーン31上のビットを囲む8近傍のビットのうち、“Significant”であるビットの数を数え、図13に示すルールに従ってコンテクストを出力する。
【0078】
なおこの図13において、『ΣH』、『ΣV』、『ΣD』及び『ΣH+ΣV』は、それぞれ処理ビットプレーン22上の該当画素と対応するSIGプレーン31上のビットの8近傍における左右2つのビット、上下2つのビット、斜め4つのビット、又は上下左右4つのビットうちの“Significant”であるビットの合計値を表す。
【0079】
また『CX』は、そのような状態のときのコンテクストを表す。例えば、その処理ビットプレーン22を含むコードブロック20(図1)が画像のLL成分(図39)であり、このとき『ΣH』、『ΣV』及び『ΣD』がそれぞれ0、0及び1であった場合のコンテクストは1となり、『ΣH』、『ΣV』及び『ΣD』がそれぞれ1、0及び0であった場合のコンテクストは5となる。
【0080】
シンボルの値が0である場合は、その該当画素に対するSPパスの処理がこれで完了し、この該当画素とDONEプレーン33(図10)上の同じ座標位置にビットモデル化が完了した旨のフラグを立てる。
【0081】
これに対してシンボルの値が1(すなわち該当画素の値が1)だった場合は、この該当画素は初めて1が現れた画素であることになり、いままで“Insignificant”であったが、ここで初めて“Significant”に転じ、SIGプレーン31上の同じ座標位置にフラグを立てる。このときREFプレーン32(図10)上の同座標位置にもフラグを立てる。これは次のMRパスのための処理である。
【0082】
さらに、その該当画素と同じ座標位置にある正負符号プレーン30上のビット(すなわち該当画素に対応する正負符号)の上下左右4近傍のビットを参照し、図14に示すルールに従ってコンテクストを出力する。
【0083】
またこれと同時にXOR信号も出力され、これと当該コンテクストのXORを取ったものを、正負符号のシンボルとして出力することにより該当画素に対応する正負符号のビットモデル化を完了し、この段階でこの該当画素についてのSPパスの処理も完了となる。このときDONEプレーン33(図10)上の該当画素と同じ座標位置にビットモデル化が完了したことを表すフラグを立てる。
【0084】
なお、上述のことからも明らかなように、スキャン順序によっては、SPパスによって“Significant”に新たに転じたものが他の(近傍)画素のSIGプレーン31上の8近傍参照時に影響を与えることがある。
【0085】
(1−5−2)MRパスの処理
MRパスは、トップビットプレーン22T(図4)を除く処理ビットプレーン22について、SPパスに続いて実施されるコーディング・パスである。図15に処理の概略を示す。
【0086】
このMRパスの処理を行うに際しては、上述したビットプレーン内スキャン順序に従って、処理ビットプレーン22の左上を起点に、当該処理を行うことができるかどうかを各画素について調べる。具体的には、「『未処理(DONEプレーン33上の該当画素と同じ座標位置にフラグが立っていない)の処理ビットプレーン22上の該当画素』であって『その該当画素が“Significant”である』」という条件を満たすか否かを調査する。
【0087】
そしてこの条件を満たすときにその該当画素に対してMRパスの処理を行い、満たさないときにはMRパスの処理を行わずに上述のビットプレーン内スキャン順序に従って処理ビットプレーン22上の次の画素を評価する。
【0088】
そしてMRパスの処理に入った場合、該当画素とSIGプレーン31上の同じ座標位置にあるビットの8近傍のビットを参照し、図16に示すルールに従ってコンテクストを出力し、同時に該当画素の値(0/1)をシンボル(図16において『X』)として出力する。
【0089】
図16において、『該当画素を最初に本パス(MRパス)で符号化』しているのかどうかという状態は、REFプレーン32(図10)の該当画素と同じ座標位置のフラグを参照する。このフラグが立っていれば、その該当画素が、SP パスで処理が行われた直後の処理ビットプレーン22上の画素であるということがわかる。ただし、これ以降の下位のビットプレーン22の処理時に誤って参照しないように、参照後にこのフラグをクリアする。
【0090】
(1−5−3)CUパスの処理
トップビットプレーン22Tに対しては唯一これのみ、トップビットプレーン22Tを除く他の処理対象のビットプレーン22に対しては最後に実施されコーディング・パスである。
【0091】
CUパスでは、上述したビットプレーン内スキャン順序に従って、処理ビットプレーン22の左上を起点に、CUパスの処理を行うことができるかどうかを各画素について調べるが、この段階で「未処理(DONEプレーン33上で該当画素と同じ座標位置にフラグが立っていない)の処理ビットプレーン22上の画素」、すなわち処理ビットプレーン22上のSP パス及びMRパスの処理対象とならない残りの画素がすべてCUパスの処理対象となる。
【0092】
CUパスでは、図17に示すように、上述したSPパスやMRパスのように該当画素と同じ座標位置にあるSIGプレーン31上のビットの8近傍の値を参照するものに加えて、もう少し大きいランレングス符号化を行う。
【0093】
CUパスの処理は、まず処理ビットプレーン22の左上を起点に、ランレングス処理を行うことができるかどうかを調べる。具体的には、ストライプカラム23A単位で、「『当該ストライプカラム23A内の4画素すべてがCUパスで処理すべき画素である』かつ『当該ストライプカラム23A内の4画素すべてが“Insignificant”である』かつ『当該ストライプカラム23A内の4画素とそれぞれ同じ座標位置にあるSIGプレーン31上の4つのビットの各8近傍に“Significance”が存在しない』」という条件を満たすか否かを調査する。
【0094】
そしてこの条件を満たすときにランレングス処理に入り、コンテクストとして“run”を出力する。その上で、『当該ストライプカラム23A内の4画素の値がすべて0である』ときにはシンボルとして0を出力し、これに対して『当該ストライプカラム23Aの4画素の値がすべて0ではない』とき、すなわち4画素の中にひとつでも1が存在する場合には、(“run”を出力した上で)シンボルとして1を出力し、それに引き続いて2回“uniform”というコンテクストと対応するシンボルを出力する。
【0095】
この際“uniform”コンテクストに対応するシンボルは、図18に示すようなルールでエンコードを行う。この図18で説明すると、ストライプカラム23A内の4画素が上から順に0、0、1、0で、初めて1が出てきたその位置を表現する『1、0』なる列がその順でシンボルとなる。“Insignificant”な画素において初めて1が現れたことになるので、その座標は“Significant”に転じ、図17(B)に示すように、かかる値が1の画素と同じSIGプレーン31上の座標位置にフラグを立てる。同時にREFプレーン32(図10)の同じ座標位置にもフラグを立てておくことはいうまでもない。
【0096】
続いてその該当画素の正負符号をモデル化するが、そのやり方は図14について上述したSP パスにおける正負符号のモデル化のそれと同じものである。さらにこの例ではストライプカラム23A内の4番目の画素がモデル化されずに残っているが、この画素についてはSP パスと同様のモデル化を行うことになる。
【0097】
(1−6)3つのコーディング・パスの依存関係
CBM処理では3つのコーディング・パスを処理する。一度あるコーディング・パスでモデル化を行った処理ビットプレーン22上の画素がその処理ビットプレーン22中の他のコーディング・パスで再評価されることはない。DONEプレーン33を用いて処理済・未処理を管理しているためである。
【0098】
しかしながら、上述のように“Significance”は8近傍から影響を受けるため、一般的に “Significance”の依存関係がある。すなわち “Significance”に転じた画素があれば、近傍の画素がモデル化される際にその影響を受ける。
【0099】
(1−7)従来のCBM処理の問題
これまでCBM処理の概略を示してきたが、ポイントは、
▲1▼ ひとつのビットプレーン22について3つのコーディング・パスを処理しなければならない
▲2▼ 3つのコーディング・パスにはビットプレーン22内で依存関係がある
▲3▼ 上位のビットプレーン22で生成されたSIGプレーン31の値を評価しながら下位のビットプレーン22のビットモデル化が行われる
ということである。
【0100】
そのような制約のもと、上述した従来手法による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▼ …
といった形でのシーケンシャルな処理となっていた。
【0101】
また従来手法におけるビットプレーン22(例えば8画素×8画素)についてのCBM処理では、各コーディング・パスごとにビットプレーン内スキャン順序に従って、1画素ずつ順に評価している。
【0102】
しかしながら、3つのコーディング・パスを処理するビットプレーン22(主にこれが支配的である)では、64画素を評価するのに少なくともSPパス処理時に64回、MR パス処理時に64回の合わせて192回の係数参照を要する。また実際上は、これに加えて正負符号を評価する分も必要となる。
【0103】
ところがさらに同時にアクセスするSIGプレーン31に至っては、該当画素と同座標のビット及びその8近傍のビットの値を参照する必要があり、192回×(8+1)=1728回、すなわち処理すべき64画素の27倍のデータアクセスが必要となり、それが回路の動作速度に限界を与えている。
【0104】
一方、これまでビットプレーン22が8画素×8画素である場合のCBM処理について説明してきたが、ウェーブレット変換して量子化された係数に対してコードブロックを切り出す際に、実際には32画素×32画素や64画素×64画素といったコードブロックサイズが使われることが多い。
【0105】
この場合、例えば32画素×32画素×16ビットのコードブロックサイズでは、32×32×16=16384〔bit〕=16〔Kbit〕というデータ量となり、64画素×64画素×16ビットのコードブロックサイズでは64×64×16=65536〔bit〕=64〔Kbit〕というデータ量となる。
【0106】
従って、例えは図38に示すJPEG2000規格に準拠した符号化装置1や図40に示す復号化装置10をIC(Integrated Circuit)化しようと考えた場合、実際上用いられることが多い32画素×32画素×16ビットや64画素×64画素×16ビットのコードブロックサイズは、IC内部のSRAM(StaticRAM)に記憶保持するには大きいと言わざるを得ない。
【0107】
そこで、本実施の形態においては、
▲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パスの分だけ並列に用意して、位相差をつけて動作させる
といった構成上の工夫を加えたものである。この構成によれば、従来の処理方法で存在した符号出力に貢献しない無駄時間を大幅に短縮し、処理時間の低減をもたらす。以下、本発明を適用した符号化装置及び復号化装置について説明する。
【0108】
(2)第1の実施の形態
(2−1)第1の実施の形態による符号化装置40の構成
(2−1−1)符号化装置40の全体構成
図38との対応部分に同一符号を付して示す図19は、JPEG2000規格に準拠した本実施の形態による符号化装置40を示し、全体として一体にIC化(集積回路化)されて構成されている点と、ICの外部に量子化部4から出力されるコードブロックデータD4を記憶保持するDRAM41が設けられている点と、EBCOTブロック42の構成が異なる点とを除いて図38に示す符号化装置1と同様に構成されている。
【0109】
実際上、EBCOTブロック42においては、図20に示すように、それぞれSRAMからなる正負符号プレーンバッファ50及び処理ビットプレーンバッファ51A、51Bが入力段に設けられており、DRAM41(図19)に記憶保持されたコードブロックデータD4のうち、正負符号ビットプレーン22Sのデータ(以下、これを単に正負符号プレーンデータと呼ぶ)D20と、必要な処理ビットプレーン22のデータ(以下、これを単に処理ビットプレーンデータと呼ぶ)D21とを読み出し、これらをそれぞれSRAMでなる正負符号バッファ50又はビットプレーンバッファ51A、51Bに記憶保持し得るようになされている。
【0110】
この場合処理ビットプレーンバッファ51A、51Bは2つ設けられており、これにより一方の処理ビットプレーンバッファ51A、51Bに記憶保持した処理ビットプレーンデータD21をCBM処理しながら、他方の処理ビットプレーンバッファ51B、51Aに次の処理ビットプレーンデータD21を書き込み得るようになされている。
【0111】
またEBCOTブロック42には、それぞれ少なくとも1ビットプレーン分のデータ及び2ビットプレーン分のデータの記憶容量を有するSRAM52A、52Bが設けられており、これによりCBM処理時に利用するSIGプレーン31(図10)のデータ(以下、これをSIGプレーンデータと呼ぶ)D22をSRAM52Aに記憶保持し、REFプレーン32(図10)のデータ(以下、これをREFプレーンデータと呼ぶ)D23及びDONEプレーン33(図10)のデータ(以下、これをDONEプレーンデータと呼ぶ)D24をSRAM52Bに記憶保持することができるようになされている。
【0112】
一方、処理ビットプレーンバッファ51A、51Bに記憶保持された処理ビットプレーンデータD21は、スイッチャ53を介してビットモデル部54により所定単位で順次読み出される。そしてビットモデル部54は、この読み出した処理ビットプレーンデータD21を、正負符号プレーンバッファ50に記憶保持された正負符号プレーンデータD20と、SRAM52A、52Bに記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを利用しながらCBM処理し、かくして得られたシンボルSB及びコンテクストCXを算術符号化部55に送出する。
【0113】
算術符号化部55は、供給されるシンボルSB及びコンテクストCXを入力として算術符号化処理を行いながら符号化列を生成し、かくして得られた符号化データD25をコードブロック20ごとに第1又は第2のビットストリームバッファ56A、56Bに順次交互に格納する。
【0114】
そしてこの第1又は第2のビットストリームバッファ56A、56Bに格納された符号化データD25は、この後スイッチャ57を介して後段のパケッタイズ・ストリーム生成部8(図19)に送出される。
【0115】
このようにしてこの符号化装置40においては、DRAM41に格納されたコードブロックデータD4から必要な処理ビットプレーンデータD21のみを読み出してビットプレーンバッファ51A、51Bに記憶保持しながら、当該記憶保持した処理ビットプレーンデータD21に対して順次CBM処理を施し得るようになされている。
【0116】
(2−1−2)ビットモデル部54の構成
ここでビットモデル部54は、図21に示すように、シグナルスイッチャ60、SPパス符号化処理部61、MRパス符号化処理部62、CUパス符号化処理部63、出力スイッチャ64及び制御部65から構成されている。
【0117】
この場合シグナルスイッチャ60は、トップビットプレーン22T以外の処理ビットプレーン22に対するCBM処理時、シーケンサ及びタイミングジェネレータとしての機能を有する制御部65の制御のもとに、処理ビットプレーンデータD21を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従って処理ビットプレーンバッファ51A、51Bから1サンプルずつ順次読み出し、これをまずSPパス符号化処理部61に送出する。
【0118】
またシグナルスイッチャ60は、これと同期して、処理ビットプレーンバッファ51A、51Bから読み出された4画素分の処理ビットプレーンデータD21に対してSPパスによる符号化処理(以下、これをSPパス符号化処理と呼ぶ)をする際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の正負符号プレーンデータD20を正負符号プレーンバッファ50から順次読み出し、これをSPパス符号化処理部61に送出する。
【0119】
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をSPパス符号化処理する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD22をSRAM52Aから順次読み出し、これをSPパス符号化処理部61に送出する。
【0120】
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をSPパス符号化処理する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD23と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD24とをSRAM52Bから順次読み出し、これをSPパス符号化処理部61に送出する。
【0121】
このときSPパス符号化処理部61は、シグナルスイッチャ60から順次供給される4画素分の処理ビットプレーンデータD21と、これと対応する正負符号プレーンデータD20、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
【0122】
そしてSPパス符号化処理部61は、シグナルスイッチャ60から次のサンプルの処理ビットプレーンデータD21等が与えられると、図22(A)において太枠で囲んだその1つ前のサンプルの処理ビットプレーンデータD21(4画素分)について、そのとき記憶保持している図22(B)〜(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD22、正負符号プレーンデータD20、REFプレーンデータD23及びDONEプレーンデータD24を利用して、SPパス符号化処理できるか否かの検出と、できる場合のSPパス符号化処理とを実行する。
【0123】
そしてSPパス符号化処理部61は、SPパス符号化処理を行った場合、これにより得られたその画素についてのシンボルSB及び正負符号についての各シンボルSBをシンボルデータD26Sとして出力スイッチャ64に送出すると共に、その画素についてのコンテクストCX及び正負符号についてのコンテクストCXをコンテクストデータD27Sとして出力スイッチャ64に送出する。
【0124】
またSPパス符号化処理部61は、SPパス符号化処理を行ったときは、かかるSIGプレーンデータD22、REFプレーンデータD23及び又はDONEプレーンデータD24をこれに応じて更新し、その後これらをシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれSRAM52A、52Bにおけるもとのアドレス位置に書き戻させる(Read-Modify-Write)。
【0125】
一方、シグナルスイッチャ60は、このようにして処理ビットプレーンバッファ51A、51Bに格納された1ビットプレーン分のデータ(処理ビットプレーンデータD21)に対するSPパス符号化処理を終了すると、この後これと同様にして、制御部65の制御のもとに、同じ処理ビットプレーンデータD21を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従って処理ビットプレーンバッファ51A、51Bから1サンプルずつ順次読み出し、これをMRパス符号化処理部62に送出する。
【0126】
またシグナルスイッチャ60は、これと同期して、処理ビットプレーンバッファ51A、51Bから読み出された4画素分の処理ビットプレーンデータD21に対してMRパスによる符号化処理(以下、これをMRパス符号化処理と呼ぶ)をする際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)分のSIGプレーンデータD22をSRAM52Aから順次読み出し、これをMRパス符号化処理部62に送出する。
【0127】
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をMRパス符号化処理する際に必要となる、当該4画素と同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD23と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD24とをSRAM52Bから順次読み出し、これをMRパス符号化処理部61に送出する。
【0128】
このときMRパス符号化処理部62は、シグナルスイッチャ60から順次供給される4画素分の処理ビットプレーンデータD21と、これと対応するSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
【0129】
そしてMRパス符号化処理部62は、シグナルスイッチャ60から次のサンプルの処理ビットプレーンデータD21等が与えられると、図22(A)において太枠で囲んだその1つ前のサンプルの処理ビットプレーンデータD21(4画素分)について、そのとき記憶保持している図22(B)、(D)及び(E)においてそれぞれ太枠で囲まれた必要なSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を利用して、MRパス符号化処理できるか否かの検出と、できる場合のMRパス符号化処理とを実行する。
【0130】
そしてMRパス符号化処理部62は、MRパス符号化処理を行った場合、これにより得られたその画素についてのシンボルSB及び正負符号についてのシンボルSBをシンボルデータD26Rとして出力スイッチャ64に送出すると共に、その画素についてのコンテクストCX及び正負符号についてのコンテクストCXをコンテクストデータD27Rとして出力スイッチャ64に送出する。
【0131】
またMRパス符号化処理部62は、MRパス符号化処理を行ったときは、SIGプレーンデータD22、REFプレーンデータD23及び又はDONEプレーンデータD24をこれに応じて更新し、その後これらをシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれSRAM52A、52Bにおけるもとのアドレス位置に書き戻させる(Read-Modify-Write)。
【0132】
さらにシグナルスイッチャ60は、このようにして処理ビットプレーンバッファ51A、51Bに格納された1ビットプレーン分のデータ(処理ビットプレーンデータD21)に対するMRパス符号化処理を終了すると、この後これと同様にして、制御部65の制御のもとに、同じ処理ビットプレーンデータD21を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従って処理ビットプレーンバッファ51A、51Bから1サンプルずつ順次読み出し、これをCUパス符号化処理部63に送出する。
【0133】
またシグナルスイッチャ60は、これと同期して、処理ビットプレーンバッファ51A、51Bから読み出された4画素分の処理ビットプレーンデータD21に対してCUパスによる符号化処理(以下、これをCUパス符号化処理と呼ぶ)をする際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の正負符号プレーンデータD20を正負符号プレーンバッファ50から順次読み出し、これをCUパス符号化処理部63に送出する。
【0134】
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をCUパス符号化処理する際に必要となる、当該4画素と同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD22をSRAM52Aから順次読み出し、これをCUパス符号化処理部63に送出する。
【0135】
さらにシグナルスイッチャ60は、これと同期して、かかる4画素分の処理ビットプレーンデータD21をCUパス符号化処理する際に必要となる、当該4画素と同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD23と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD24とをSRAM52Bから読み出し、これをCUパス符号化処理部63に送出する。
【0136】
このときCUパス符号化処理部63は、シグナルスイッチャ60から順次供給される4画素分の処理ビットプレーンデータD21と、これと対応する正負符号プレーンデータD20、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
【0137】
そしてCUパス符号化処理部63は、シグナルスイッチャ60から次のサンプルの処理ビットプレーンデータD21等が与えられると、図22(A)において太枠で囲んだその1つ前のサンプルの処理ビットプレーンデータD21(4画素分)について、そのとき記憶保持している図22(B)〜(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD22、正負符号プレーンデータD20、REFプレーンデータD23及びDONEプレーンデータD24を利用して、CUパス符号化処理できるか否かの検出と、できる場合のCUパス符号化処理とを実行する。
【0138】
そしてCUパス符号化処理部63は、CUパス符号化処理を行った場合、これにより得られたその画素についてのシンボルSB及び正負符号についてのシンボルSBをシンボルデータD26Cとして出力スイッチャ64に送出すると共に、その画素についてのコンテクストCX及び正負符号についてのコンテクストCXをコンテクストデータD27Cとして出力スイッチャ64に送出する。
【0139】
またCUパス符号化処理部63は、CUパス符号化処理を行ったときは、かかるSIGプレーンデータD22、REFプレーンデータD23及び又はDONEプレーンデータD24をこれに応じて更新し、その後これらをシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれSRAM52A、52Bにおけるもとのアドレス位置に書き戻させる(Read-Modify-Write)。
【0140】
一方、出力スイッチャ64においては、制御部65の制御のもとに、SPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63のそれぞれから与えられるシンボルデータD26S、D26R、D26Cと、コンテクストデータD27S、D27R、D27CとをそれぞれシンボルデータD26及びコンテクストデータD27として算術符号化部55に送出する。
【0141】
このようにしてこのビットモデル部54においては、処理ビットプレーン22上の4画素を単位としてSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を行い得るようになされ、これによりCBM処理を高速に行い得るようになされている。
【0142】
(2−1−3)各コーディング・パス処理部の具体的構成
次に、SPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63の各構成についてそれぞれ順番に説明する。
【0143】
(2−1−3−1)SPパス符号化処理部61の構成
SPパス符号化処理部61は、図23に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部70、正符号シフトレジスタ部71、SIGシフトレジスタ部72、REFシフトレジスタ部73、DONEシフトレジスタ部74及びセレクタ75と、後述のようなセレクタ75に対する出力切替え制御等を行う制御部76とから構成されている。
【0144】
また処理ビットシフトレジスタ部70には3段のシフトレジスタ70Aが設けられると共に、正符号シフトレジスタ部71、SIGシフトレジスタ部72、REFシフトレジスタ部73及びDONEシフトレジスタ部74には、それぞれ4段のシフトレジスタ71A〜74Aが設けられている。
【0145】
これにより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サンプル分ずつ記憶保持し得るようになされている。
【0146】
そして処理ビットシフトレジスタ部70は、シグナルスイッチャ60から1サンプル分の処理ビットプレーンデータD21が与えられると、このとき自己のシフトレジスタ70Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21をセレクタ75に出力する。
【0147】
またこのときSIGシフトレジスタ部72は、これと同期して、自己のシフトレジスタ72Aに記憶保持したSIGプレーンデータD22を用いて、このとき処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた4画素について、それぞれ上述のSPパス符号化処理を行うための条件を満たしているか否かの検出処理を画素ごとに並行して行い、検出結果をセレクタ75に出力する。
【0148】
さらにSIGシフトレジスタ部72は、これと同期して、当該処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた4画素について、図13について上述したルールに従って、当該4画素ごとのコンテクストCXをそれぞれ演算し、演算結果をセレクタ75に出力する。
【0149】
そして、このときSIGシフトレジスタ部72により検出された、処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた4画素についてのSPパス符号化処理を行うための条件を満たしているか否かの検出結果が全て否定的であった場合には、セレクタ75からは何も出力されず、処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD21に対する処理が終了する。
【0150】
これに対して、処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目にシフトされた1サンプルのうちのいずれかの画素(以下、これをSPパス符号化処理対象画素と呼ぶ)についての検出結果が肯定的であった場合には、処理ビットシフトレジスタ部70から出力された当該SPパス符号化処理対象画素のデータ値(0/1)と、これに同期してSIGシフトレジスタ部72から出力された当該SPパス符号化処理対象画素についてのコンテクストCXの演算結果とが、それぞれそのSPパス符号化処理対象画素のシンボルSB及びコンテクストCXとしてセレクタ75から出力される。
【0151】
また、このシンボルSBの値が『0』であった場合、この後セレクタ75からDONEシフトレジスタ部74に与えられる更新情報に基づいて、当該DONEシフトレジスタ部74のシフトレジスタ74Aに記憶保持されたDONEプレーンデータD24のうち、SPパス符号化処理対象画素と同座標のビットの値が、ビットモデル化が完了したことを表す『1』に更新されて、このSPパス符号化処理対象画素に対するSPパス符号化処理が完了する。
【0152】
これに対して、このシンボルSBの値が『1』であった場合には、その情報がSIGシフトレジスタ部72、REFシフトレジスタ部73及び正負符号シフトレジスタ部71にそれぞれ与えられる。
【0153】
このときSIGシフトレジスタ部72では、自己のシフトレジスタ72Aに記憶保持されたSIGプレーンデータD22におけるSPパス符号化処理対象画素と同座標のビットの値が “Significant”であることを表す『1』に更新される。またREFシフトレジスタ部73では、自己のシフトレジスタ73Aに記憶保持されたREFプレーンデータD23におけるSPパス符号化処理対象画素と同座標のビットの値が、“Significant”となったことを表す『1』に更新される。
【0154】
さらにこのとき正負符号シフトレジスタ部71は、このSPパス符号化処理対象画素の正負符号のシンボルSB及びコンテクストCXを図14について上述したルールに従って演算し、その演算結果をセレクタ75に送出する。かくしてこのシンボルSB及びコンテクストCXがセレクタ75を介して出力される。
【0155】
そして、この後セレクタ75からDONEシフトレジスタ部74に更新情報与えられ、当該更新情報に基づき、DONEシフトレジスタ部74のシフトレジスタ74Aに記憶保持されたDONEプレーンデータD24におけるSPパス符号化処理対象画素と同座標のビットの値が『1』に更新されて、当該SPパス符号化処理対象画素に対するSPパス符号化処理が完了する。
【0156】
またSPパス符号化処理部61は、この後同じサンプル(このとき処理ビットシフトレジスタ部70のシフトレジスタ70Aの2段目に記憶保持された1サンプル)内の当該SPパス符号化処理対象画素よりもビットプレーン内スキャン順序が後の各画素について、SPパス符号化処理を行うための条件を満たしていない場合にはスキップし、SPパス符号化処理を行うための条件を満たしている場合には上述のSPパス符号化処理対象画素と同様にしてSPパス符号化処理を行う。そしてSPパス符号化処理部61は、このような処理を当該サンプル内の全ての画素に対して行い終えると、当該サンプルに対する処理を終了する。
【0157】
そして、SPパス符号化処理部61は、この後制御部76から制御部65(図21)に与えられる次の1サンプル分の処理ビットプレーンデータD21等の転送要求に応じて、シグナルスイッチャ60から当該次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに同様の処理を順次繰り返す。
【0158】
またこの際SPパス符号化処理部61は、次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに、SIGシフトレジスタ部72、REFシフトレジスタ部73及びDONEシフトレジスタ部74の各シフトレジスタ72A〜74Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらをSRAM52A、52Bのもとの位置に書き戻させる。
【0159】
このようにしてSPパス符号化処理部61においては、ビットプレーンバッファ51A、51Bに格納された処理ビットプレーンデータD21に対するSPパス符号化処理を行い得るようになされている。
【0160】
(2−1−3−2)MRパス符号化処理部62の構成
一方、MRパス符号化処理部62は、図24に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部80、SIGシフトレジスタ部82、REFシフトレジスタ部83、DONEシフトレジスタ部84及びセレクタ85と、後述のようなセレクタ85に対する出力切替え制御等を行う制御部86とから構成されている。
【0161】
また処理ビットシフトレジスタ部80には3段のシフトレジスタ80Aが設けられると共に、SIGシフトレジスタ部82、REFシフトレジスタ部83及びDONEシフトレジスタ部84には、それぞれ4段のシフトレジスタ82A〜84Aが設けられている。
【0162】
これによりMRパス符号化処理部62は、上述のようにシグナルスイッチャ60(図21)から順次与えられる各1サンプル分の処理ビットプレーンデータD21、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を、それぞれ処理ビットシフトレジスタ部80、SIGシフトレジスタ部82、REFシフトレジスタ部83及びDONEシフトレジスタ部84のシフトレジスタ80A、82A〜84Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
【0163】
そして処理ビットシフトレジスタ部80は、シグナルスイッチャ60から1サンプル分の処理ビットプレーンデータD21が与えられると、このとき自己のシフトレジスタ80Aの2段目にシフトした1サンプル分の処理ビットプレーンデータD21をセレクタ85に出力する。
【0164】
またこのときREFシフトレジスタ部83及びDONEシフトレジスタ部84は、これに同期して、自己のシフトレジスタ83A、84Aの2段目にシフトされた1サンプル分のREFプレーンデータD23又はDONEプレーンデータD24をセレクタ85に出力する。
【0165】
そしてSIGシフトレジスタ部82は、自己のシフトレジスタ82Aに記憶保持したSIGプレーンデータD22を用いて、処理ビットシフトレジスタ部80の2段目にシフトした4画素について、REFシフトレジスタ部83の出力を参照しながら図16について上述したルールに従ってコンテクストCXを演算し、演算結果をセレクタ85に出力する。
【0166】
そして、このときDONEプレーンデータD24の値が全て『1』(すなわち処理済)であった場合には、セレクタ85からは何も出力されずに、当該処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21に対する処理が終了する。
【0167】
またかかる1サンプル分のDONEプレーンデータD24のうち、いずれかのデータ値が『0』(すなわち未処理)であり、かつそのDONEプレーンデータD24と対応する処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた画素が“Significant”でなかった場合にも、セレクタ85からは何も出力されずに、当該処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21に対する処理が終了する。
【0168】
これに対して、かかる1サンプル分のDONEプレーンデータD24のうち、いずれかのデータ値が『0』であり、かつそのDONEプレーンデータD24と対応する処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた画素が“Significant”であった場合には、当該画素(以下、これをMRパス符号化処理対象画素と呼ぶ)がMRパス符号化処理すべき画素であることを意味する。
【0169】
かくして、このときセレクタ85は、処理ビットシフトレジスタ部80から出力されたこのMRパス符号化処理対象画素のデータ値(0/1)をシンボルSBとして出力する共に、これと併せてSIGシフトレジスタ部82から出力された、このMRパス符号化処理対象画素のコンテクストCXを出力する。
【0170】
またこのときREFシフトレジスタ部83では、そのMRパス符号化処理対象画素と同座標のビットが『1』である場合(すなわちフラグが立っている場合)にはこれがクリアされ、またDONEシフトレジスタ部84では、そのMRパス符号化処理対象画素と同座標のビットが、当該MRパス符号化処理対象画素が処理済みとなったことを意味する『1』に更新される。
【0171】
そして、MRパス符号化処理部62は、この後そのとき処理ビットシフトレジスタ部80のシフトレジスタ80Aの2段目にシフトされた残りの画素についても、当該画素がMRパス符号化処理すべき画素であった場合には、上述と同様にMRパス符号化処理する。
【0172】
さらにMRパス符号化処理部62は、この後制御部86から制御部65(図21)に与えられる次の1サンプル分の処理ビットプレーンデータD21等の転送要求に応じて、シグナルスイッチャ60から当該次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに同様の処理を順次繰り返す。
【0173】
またこの際MRパス符号化処理部62は、次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに、SIGシフトレジスタ部82、REFシフトレジスタ部83及びDONEシフトレジスタ部84の各シフトレジスタ82A〜84Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、それぞれSRAM52A、52Bのもとの位置に書き戻させる。
【0174】
このようにしてMRパス符号化処理部62においては、ビットプレーンバッファ51A、51Bに格納された処理ビットプレーンデータD21に対するMRパス符号化処理を行い得るようになされている。
【0175】
(2−1−3−3)CUパス符号化処理部63の構成
CUパス符号化処理部63は、図25に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部90、正符号シフトレジスタ部91、SIGシフトレジスタ部92、REFシフトレジスタ部93、DONEシフトレジスタ部94及びセレクタ95と、後述のようなセレクタ95に対する出力切替え制御等を行う制御部96とから構成されている。
から構成されている。
【0176】
また処理ビットシフトレジスタ部90には3段のシフトレジスタ90Aが設けられると共に、正符号シフトレジスタ部91、SIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94には、それぞれ4段のシフトレジスタ91A〜94Aが設けられている。
【0177】
これによりCUパス符号化処理部63は、上述のようにシグナルスイッチャ60から順次与えられる各1サンプル分の処理ビットプレーンデータD21、正負符号プレーンデータD20、SIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を、それぞれ処理ビットシフトレジスタ部90、正符号シフトレジスタ部91、SIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94の各シフトレジスタ90A〜94Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
【0178】
そして処理ビットシフトレジスタ部90は、シグナルスイッチャ60(図21)から1サンプル分の処理ビットプレーンデータD21が与えられると、このとき自己のシフトレジスタ90Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD21をセレクタ95に出力する。
【0179】
またこのときSIGシフトレジスタ部92は、これと同期して、自己のシフトレジスタ92Aに記憶保持したSIGプレーンデータD22を用い、DONEシフトレジスタ部94のシフトレジスタ94Aに記憶保持されたDONEプレーンデータD24を参照しながら、処理ビットシフトレジスタ部90のシフトレジスタ90Aの2段目にシフトされた4画素についてランレングス処理を行い得るか否かを検出する。
【0180】
そしてランレングス処理できない場合には、これら4画素について、それぞれ上述したSPパス符号化処理が順次行われることとなる。
【0181】
これに対してランレングス処理できる場合、SIGシフトレジスタ部92は、図17及び図18について上述したルールに従って、まずコンテクストとして“run”を出力する。その上でSIGシフトレジスタ部92は、そのサンプル内の4画素の値が全て『0』であるときにはシンボルSBとして0を出力する。かくしてこれらコンテクストCX及びシンボルSBがセレクタ95を介して出力スイッチャ64(図21)に送出される。
【0182】
またSIGシフトレジスタ部92は、当該サンプル内の4画素の値が全て0ではないとき、すなわち4画素の中にひとつでも値が1の画素が存在する場合には、シンボルSBとして1を出力し、それに引き続いて図18について上述したルールに従って2回“uniform”というコンテクストCXと対応するシンボルSBを出力する。かくしてこれらコンテクストCX及びシンボルSBがセレクタ95を介して出力スイッチャ64(図21)に送出される。
【0183】
このときSIGシフトレジスタ部92では、自己のシフトレジスタ92Aに記憶保持されたSIGプレーンデータD22における当該値が1の画素と同座標のビットの値が “Significant”であることを表す『1』に更新される。またREFシフトレジスタ部93では、自己のシフトレジスタ93Aに記憶保持されたREFプレーンデータD23における当該画素と同座標のビットの値が“Significant”となったことを表す『1』に更新される。
【0184】
さらにこの後正負符号シフトレジスタ部91は、当該画素の正負符号のシンボルSB及びコンテクストCXを図14について上述したルールに従って演算し、その演算結果をセレクタ95に送出する。かくしてこのシンボルSB及びコンテクストCXが上述の“uniform”というコンテクストCX及び当該画素に対応するシンボルSBに続けてセレクタ95を介して出力スイッチャ64(図21)に送出される。
【0185】
そして、この後セレクタ95からDONEシフトレジスタ部94に更新情報与えられ、当該更新情報に基づき、DONEシフトレジスタ部94のシフトレジスタ94Aに記憶保持されたDONEプレーンデータD24における当該画素と同座標のビットの値が『1』に更新されて、当該画素に対するCUパス符号化処理が完了する。
【0186】
さらにCUパス符号化処理部63は、この後同じサンプル(このとき処理ビットシフトレジスタ部90のシフトレジスタ90Aの2段目に記憶保持された1サンプル)内の当該画素よりもビットプレーン内スキャン順序が遅い各画素について、それぞれSIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94の各シフトレジスタ90A〜94Aに記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24を必要に応じて順次更新しながら上述したSPパス符号化処理を施す。そしてCUパス符号化処理部63は、このような処理を当該サンプル内の全ての画素に対して行い終えると、当該サンプルに対する処理を終了する。
【0187】
そして、CUパス符号化処理部63は、この後制御部96から制御部65(図21)に与えられる次の1サンプル分の処理ビットプレーンデータD21等の転送要求に応じて、シグナルスイッチャ60から当該次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに同様の処理を順次繰り返す。
【0188】
またこの際CUパス符号化処理部63は、次の1サンプル分の処理ビットプレーンデータD21等が与えられるごとに、SIGシフトレジスタ部92、REFシフトレジスタ部93及びDONEシフトレジスタ部94の各シフトレジスタ92A〜94Aの4段目にそれぞれ記憶保持されたSIGプレーンデータD22、REFプレーンデータD23及びDONEプレーンデータD24をそれぞれシグナルスイッチ60を介して対応するSRAM52A、52Bに与えることにより、これらをSRAM52A、52Bのもとの位置に書き戻させる。
【0189】
このようにしてCUパス符号化処理部63においては、ビットプレーンバッファ51A、51Bに格納された処理ビットプレーンデータD21に対するCUパス符号化処理を行い得るようになされている。
【0190】
(2−2)第1の実施の形態による復号化装置100の構成
(2−2−1)復号化装置100の全体構成
図40との対応部分に同一符号を付して示す図26は、JPEG2000規格に準拠した本実施の形態による復号化装置100を示し、全体として一体にIC化(集積回路化)されて構成されている点と、EBCOTブロック101の構成が異なる点と、ICの外部に当該EBCOTブロック101から出力されるコードブロックデータD14を記憶保持するDRAM102が設けられている点とを除いて図40に示す復号化装置10と同様に構成されている。
【0191】
実際上、EBCOTブロック101においては、図27に示すように、それぞれSRAMからなるストリームバッファ110A、110Bが入力段に設けられており、パケタイズストリーム分解部11から与えられる符号化データD11をこのストリームバッファ110A、110Bに記憶保持し得るようになされている。
【0192】
この場合ストリームバッファ110A、110Bは2つ設けられており、これにより一方のストリームバッファ110A、110Bに記憶保持したビットプレーン22の1枚分の符号化データD11をCBM処理しながら、他方のストリームバッファ110B、110Aに次のビットプレーン22の1枚分の符号化データD11を書き込み得るようになされている。
【0193】
またEBCOTブロック101には、それぞれ少なくとも1ビットプレーン分のデータ記憶容量を有するSRAM111Aと、2ビットプレーン分のデータ記憶容量を有するSRAM111Bとが設けられており、これによりCBM処理時に利用するSIGプレーンデータD30をSRAM52Aに記憶保持し、REFプレーンデータD31及びDONEプレーンデータD32をSRAM52Bに記憶保持することができるようになされている。
【0194】
一方、ストリームバッファ110A、110Bに記憶保持された符号化データD11は、スイッチャ112を介して算術復号化部113により所定単位で順次読み出される。そして算術復号化部113は、この読み出した符号化データD11及び後段のビットデモデル部114から与えられるコンテクストデータD33を入力とした所定の算術復号化演算処理を実行し、かくして得られたシンボルデータD34をビットデモデル部114に送出する。
【0195】
ビットデモデル部114は、供給されるシンボルデータD34をCBM処理により係数ビットデモデル化する。この際ビットモデル部114は、SPパスによる復号化処理(以下、これをSPパス復号化処理と呼ぶ)、MRパスによる復号化処理(以下、これをMRパス復号化処理と呼ぶ)及びCUパスによる復号化処理(以下、これをCUパス復号化処理と呼ぶ)により順次復号されていく処理ビットプレーンデータD35及び正負符号プレーンデータD36をそれぞれ後段のそれぞれSRAMでなるビットプレーンバッファ116A、116B又は正負符号プレーンバッファ115における対応する位置に順次格納する。
【0196】
またビットデモデル部114は、これと併せてSRAM111A、111Bに記憶保持されたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を必要に応じて順次更新しつつ、さらにこれら一部が復号等された処理ビットプレーンデータD35、正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を利用しながらCBM処理を進める。さらにこのときビットデモデル部114は、かかる処理ビットプレーンデータD35と併せて得られたコンテクストデータD33を上述のように順次算術復号化部113に送出する。
【0197】
そしてこのようなCBM処理により最終的に復号された処理ビットプレーンデータD35が第1又は第2のビットプレーンバッファ116A、116Bに記憶保持されると共に、最終的に復号された正負符号プレーンデータD36が正負符号プレーンバッファ115に記憶保持され、これらがその後所定のタイミングで読み出されて、スイッチャ117を介してコードブロックデータD14として上述のDRAM102(図26)に与えられて記憶保持される。
【0198】
さらにこのDRAM102に記憶保持されたコードブロックデータD14は、この後逆量子化部14(図26)に読み出されて所定の逆量子化処理が施される。
【0199】
このようにしてこの復号化装置100においては、パケタイズストリーム分解部11から与えられる符号化データD11を順次CBM処理することによりコードブロックデータD35を復号し、これをICの外部に設けられたDRAM41に記憶保持しながら、後段の処理を行い得るようになされている。
【0200】
(2−2−2)ビットデモデル部114の構成
ここでビットデモデル114部は、図28に示すように、シグナルスイッチャ120、SPパス復号化処理部121、MRパス復号化処理部122、CUパス復号化処理部123、出力スイッチャ124及び制御部125から構成されている。
【0201】
この場合上述の算術復号化部113(図27)は、ストリームバッファ110A、110Bから読み出した符号化データD11と、SPパス復号化処理部121、MRパス復号化処理部122又はCUパス復号化処理部123から与えられるコンテクストデータD33とに基づいて所定の算術復号化演算処理を実行する。そして算術復号化部113は、この結果として得られたシンボルデータD34のうち、符号化装置42(図20)においてSPパス符号化処理することにより得られた符号化データD11に対して上述のような算術復号化処理を施すことにより得られたものについてはSPパス復号化処理部121に送出する。
【0202】
このときシグナルスイッチャ120は、シーケンサ及びタイミングジェネレータとしての機能を有する制御部125の制御のもとに、ビットプレーンバッファ116A、116Bに記憶保持されている復号前又は一部が復号された処理ビットプレーンデータD35を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従ってビットプレーンバッファ116A、116Bから1サンプル分ずつ順次読み出し、これをSPパス復号化処理部121に送出する。
【0203】
またシグナルスイッチャ120は、これと同期して、ビットプレーンバッファ116A、116Bから読み出された4画素分の処理ビットプレーンデータD35をSPパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の復号前又は一部が復号された正負符号プレーンデータD36を正負符号プレーンバッファ115から順次読み出し、これをSPパス復号化処理部121に送出する。
【0204】
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をSPパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD30をSRAM111Aから順次読み出し、これをSPパス復号化処理部121に送出する。
【0205】
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をSPパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD31と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD32とをSRAM111Bから順次読み出し、これをSPパス復号化処理部121に送出する。
【0206】
このときSPパス復号化処理部121は、シグナルスイッチャ120から順次供給される4画素分の処理ビットプレーンデータD35と、これと対応する正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
【0207】
そしてSPパス復号化処理部121は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、図22(A)において太枠で囲んだそのとき記憶保持している1サンプル分のシンボルデータD34(4画素分)について、そのとき記憶保持している図22(B)〜(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD30、正負符号プレーンデータD36、REFプレーンデータD31及びDONEプレーンデータD32とを利用して、SPパス復号化処理できるか否かの検出と、できる場合のSPパス復号化処理とを実行する。
【0208】
またSPパス復号化処理部121は、SPパス復号化処理を行ったときは、この際に得られたコンテクストCXを上述のように出力スイッチャ124を介してコンテクストデータD33として算術復号化部113(図27)に送出する一方、これと併せて得られた復号された処理ビットプレーンデータD35及び復号された正負符号プレーンデータD36をそれぞれビットプレーンバッファ116A、116B又は正負符号バッファ115の対応する位置に格納する。
【0209】
さらにSPパス復号化処理部121は、SPパス復号化処理を行ったときには、これに応じてSIGプレーンデータD30、REFプレーンデータD31及び又はDONEプレーンデータD32を更新し、その後これらをシグナルスイッチ120を介して対応するSRAM111A、111Bに与えることにより、これらSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32をそれぞれSRAM111A、111Bのもとの位置に書き戻させる(Read-Modify-Write)。
【0210】
一方、算術復号化部113(図27)は、ストリームバッファ110A、110Bから読み出した符号化データD11のうち、符号化装置42(図20)においてMRパス符号化処理することにより得られた符号化データD11に対して上述のような算術復号化演算処理を施すことにより得られたシンボルデータD34についてはMRパス復号化処理部122に送出する。
【0211】
このときシグナルスイッチャ120は、制御部125の制御のもとに、ビットプレーンバッファ116A、116Bに記憶保持されている先行するSPパス復号化処理により一部が復号された処理ビットプレーンデータD35を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従ってビットプレーンバッファ116A、116Bから1サンプル分ずつ順次読み出し、これをMRパス復号化処理部122に送出する。
【0212】
またシグナルスイッチャ120は、これと同期して、ビットプレーンバッファ116A、116Bから読み出された4画素分の処理ビットプレーンデータD35をMRパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD30をSRAM111Aから順次読み出し、これをMRパス復号化処理部122に送出する。
【0213】
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をMRパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD31と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD32とをSRAM111Bから順次読み出し、これをMRパス復号化処理部122に送出する。
【0214】
このときMRパス復号化処理部122は、シグナルスイッチャ120から順次供給される4画素分の処理ビットプレーンデータD35と、これと対応するSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
【0215】
そしてMRパス復号化処理部122は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、図22(A)において太枠で囲んだそのとき記憶保持している1サンプル分のシンボルデータD34(4画素分)について、そのとき記憶保持している図22(B)、(D)及び(E)においてそれぞれ太枠で囲まれたSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32と、そのとき算術復号化部113から与えられたシンボルデータD34とを利用して、MRパス復号化処理できるか否かの検出と、できる場合のMRパス復号化処理とを実行する。
【0216】
またMRパス復号化処理部122は、MRパス復号化処理を行ったときは、この際に得られたコンテクストCXを上述のように出力スイッチャ124を介してコンテクストデータD33として算術復号化部113(図27)に送出する一方、これと併せて得られた復号された処理ビットプレーンデータD35をビットプレーンバッファ116A、116Bの対応する位置に格納する。
【0217】
さらにMRパス復号化処理部122は、MRパス復号化処理を行ったときには、これに応じてSIGプレーンデータD30、REFプレーンデータD31及び又はDONEプレーンデータD32を更新し、その後これらをシグナルスイッチ120を介して対応するSRAM111A、111Bに与えることにより、これらSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32をそれぞれSRAM111A、111Bのもとの位置に書き戻させる(Read-Modify-Write)。
【0218】
これと同様にして、算術復号化部113(図27)は、ストリームバッファ110A、110Bから読み出した符号化データD11のうち、符号化装置42(図20)においてCUパス符号化処理することにより得られた符号化データD11に対して所定の算術復号化演算処理を施すことにより得られたシンボルデータD34についてはCUパス復号化処理部123に送出する。
【0219】
このときシグナルスイッチャ120は、制御部125の制御のもとに、ビットプレーンバッファ116A、116Bに記憶保持されている先行するSPパス復号化処理及びMRパス復号化処理(トップビットプレーン22Tに対する復号化処理の場合を除く)により一部が復号された処理ビットプレーンデータD35を、図22(A)に示す1ストライプカラム23Aを構成する4画素分を1サンプルとして、ビットプレーン内スキャン順序に従ってビットプレーンバッファ116A、116Bから1サンプル分ずつ順次読み出し、これをCUパス復号化処理部123に送出する。
【0220】
またシグナルスイッチャ120は、これと同期して、ビットプレーンバッファ116A、116Bから読み出された4画素分の処理ビットプレーンデータD35をCUパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にある正負符号プレーン30上の4ビット及びその上下の各ビット(合わせて6ビット、図22(C)参照)分の復号前又は一部が復号された正負符号プレーンデータD36を正負符号プレーンバッファ115から順次読み出し、これをCUパス復号化処理部123に送出する。
【0221】
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をCUパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるSIGプレーン31上の4ビット及その上下のビット(合わせて6ビット、図22(B)参照)のSIGプレーンデータD30をSRAM111Aから順次読み出し、これをCUパス復号化処理部123に送出する。
【0222】
さらにシグナルスイッチャ120は、これと同期して、かかる4画素分の処理ビットプレーンデータD35をCUパス復号化処理により復号する際に必要となる、当該4画素とそれぞれ同座標にあるREFプレーン32上の4ビット(図22(E)参照)分のREFプレーンデータD31と、当該4画素と同座標にあるDONEプレーン33上の4ビット(図22(D)参照)分のDONEプレーンデータD32とをSRAM111Bから順次読み出し、これをCUパス復号化処理部123に送出する。
【0223】
このときCUパス復号化処理部123は、シグナルスイッチャ120から順次供給される4画素分の処理ビットプレーンデータD35と、これと対応する正負符号プレーンデータD36、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32とを、それぞれ少なくとも過去3サンプル分だけ記憶保持し得るようになされている。
【0224】
そして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パス復号化処理とを実行する。
【0225】
またCUパス復号化処理部123は、CUパス復号化処理又はSPパス復号化処理を行ったときは、この際に得られたコンテクストCXを上述のように出力スイッチャ124を介してコンテクストデータD33として算術復号化部113(図27)に送出する一方、これと併せて得られた復号された処理ビットプレーンデータD35及び復号された正負符号プレーンデータD36をそれぞれビットプレーンバッファ116A、116B又は正負符号バッファ115の対応する位置に格納する。
【0226】
さらにCUパス復号化処理部123は、CUパス復号化処理又はSPパス復号化処理を行ったときには、これに応じてSIGプレーンデータD30、REFプレーンデータD31及び又はDONEプレーンデータD32を更新し、その後これらをシグナルスイッチ120を介して対応するSRAM111A、111Bに与えることにより、これらSIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32をそれぞれSRAM111A、111Bのもとの位置に書き戻させる(Read-Modify-Write)。
【0227】
このようにしてこのビットデモデル部114においては、復号対象のビットプレーン22上の4画素を単位としてSPパス復号化処理、MRパス復号化処理及びCUパス復号化処理を行い得るようになされ、これによりCBM処理を高速に行い得るようになされている。
【0228】
(2−2−3)各コーディング・パス処理部の具体的構成
次に、SPパス復号化処理部121、MRパス復号化処理部122及びCUパス復号化処理部123の各構成についてそれぞれ順番に説明する。
【0229】
(2−2−3−1)SPパス復号化処理部121の構成
SPパス復号化処理部121は、図29に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部130、正符号シフトレジスタ部131、SIGシフトレジスタ部132、REFシフトレジスタ部133、DONEシフトレジスタ部134及びセレクタ135と、後述のようなセレクタ135に対する出力切替え制御等を行う制御部136とから構成されている。
【0230】
また処理ビットシフトレジスタ部130には3段のシフトレジスタ130Aが設けられると共に、正符号シフトレジスタ部131、SIGシフトレジスタ部132、REFシフトレジスタ部133及びDONEシフトレジスタ部134には、それぞれ4段のシフトレジスタ131A〜134Aが設けられている。
【0231】
これにより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サンプル分ずつ記憶保持し得るようになされている。
【0232】
そしてSIGシフトレジスタ部132は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、そのとき自己のシフトレジスタ132Aに記憶保持したSIGプレーンデータD30を用いて、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素について、それぞれ上述のSPパス復号化処理を行うための条件を満たしているか否かの検出処理を画素ごとに並行して行い、検出結果をセレクタ135に出力する。
【0233】
またSIGシフトレジスタ部132は、これと同期して、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素について、図13について上述したルールに従って、当該4画素ごとのコンテクストCXをそれぞれ演算し、演算結果をセレクタ135に出力する。
【0234】
そして、このときSIGシフトレジスタ部132により検出された、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素についてのSPパス復号化処理を行うための条件を満たしているか否かの検出結果が全て否定的であった場合には、セレクタ135からは何も出力されず、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD35に対する処理が完了する。
【0235】
そして、この後制御部136からビットデモデル部114全体の制御部125(図28)に与えられる転送要求に応じて、当該制御部125の制御のもとに、シグナルスイッチャ120(図28)から次の1サンプル分の処理ビットプレーンデータD35等がSPパス復号化処理部121に与えられる。かくしてSPパス復号化処理部121は、これにより新たに処理ビットシフトレジスタ部130の2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD35について、同様の処理を開始する。
【0236】
これに対して、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた1サンプルのうちのいずれかの画素(以下、これをSPパス復号化処理対象画素と呼ぶ)についての検出結果が肯定的であった場合には、このとき算術復号化部113から与えられたシンボルデータD34のデータ値(0/1)が処理ビットシフトレジスタ部130のシフトジレスタ130Aにおける当該SPパス復号化処理対象画素と対応するビットに格納される。またこれと併せて、SIGシフトレジスタ部132から出力された当該SPパス復号化処理対象画素についてのコンテクストCXの演算結果がセレクタ135から出力されて算術復号化部113に与えられる。
【0237】
さらに、このときのシンボルデータD34のデータ値(SPパス復号化処理対象画素の復号値)が『0』であった場合、この後セレクタ135からDONEシフトレジスタ部134に与えられる更新情報に基づいて、当該DONEシフトレジスタ部134のシフトレジスタ134Aに記憶保持されたDONEプレーンデータD32のうち、SPパス復号化処理対象画素と同座標のビットの値が、ビットデモデル化が完了したことを表す『1』に更新されて、このSPパス復号化処理対象画素に対するSPパス復号化処理が完了する。
【0238】
これに対して、このシンボルデータD34のデータ値が『1』であった場合、その情報がSIGシフトレジスタ部132、REFシフトレジスタ部133及び正負符号シフトレジスタ部131にそれぞれ与えられる一方、これに続けて算術復号化部113(図28)から与えられる1シンボル分のシンボルデータD34が正負符号シフトレジスタ部131Aに与えられる。
【0239】
このときSIGシフトレジスタ部132では、自己のシフトレジスタ132Aに記憶保持されたSIGプレーンデータD30におけるSPパス復号化処理対象画素と同座標のビットの値が “Significant”であることを表す『1』に更新される。またREFシフトレジスタ部133では、自己のシフトレジスタ133Aに記憶保持されたREFプレーンデータD31におけるSPパス復号化処理対象画素と同座標のビットの値が、 “Significant”となったことを表す『1』に更新される。
【0240】
さらにこのとき正負符号シフトレジスタ部131は、供給されるシンボルデータD34のデータ値(0/1)に基づいてSPパス復号化処理対象画素の正負符号を復号化し、得られた正負符号ビットを自己のシフトレジスタ131AにおけるSPパス復号化処理対象画素と対応する位置に格納する一方、当該SPパス復号化処理対象画素の正負符号ビットのコンテクストCXを図14について上述したルールに従って演算し、その演算結果をセレクタ135に送出する。かくしてこのコンテクストCXがセレクタ135を介して算術復号化部113に与えられる。
【0241】
そして、この後セレクタ135からDONEシフトレジスタ部134に更新情報が与えられ、当該更新情報に基づき、DONEシフトレジスタ部134のシフトレジスタ134Aに記憶保持されたDONEプレーンデータD32におけるSPパス復号化処理対象画素と同座標のビットの値が『1』に更新されて、当該SPパス復号化処理対象画素に対するSPパス復号化処理が完了する。
【0242】
そして、SPパス復号化処理部121は、この後算術復号化部113から1シンボル分のシンボルデータD34が与えられるごとに同様の処理を順次繰り返す。
【0243】
またこの際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に与えてもとのアドレス位置に書き戻させる。
【0244】
このようにしてSPパス復号化処理部121においては、算術復号化部113から順次与えられるシンボルデータD34に基づいて、SPパス復号化処理を行い得るようになされている。
【0245】
(2−2−3−2)MRパス復号化処理部122の構成
一方、MRパス復号化処理部122は、図30に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部140、SIGシフトレジスタ部142、REFシフトレジスタ部143、DONEシフトレジスタ部144及びセレクタ145と、後述のようなセレクタ145に対する出力切替え制御等を行う制御部146とから構成されている。
【0246】
また処理ビットシフトレジスタ部140には3段のシフトレジスタ140Aが設けられると共に、SIGシフトレジスタ部142、REFシフトレジスタ部143及びDONEシフトレジスタ部144には、それぞれ4段のシフトレジスタ142A〜144Aが設けられている。
【0247】
これによりMRパス復号化処理部122は、上述のようにシグナルスイッチャ120(図28)から順次与えられる各1サンプル分の処理ビットプレーンデータD35、SIGプレーンデータD30、REFプレーンデータD31及びDONEプレーンデータD32を、それぞれ処理ビットシフトレジスタ部140、SIGシフトレジスタ部142、REFシフトレジスタ部143及びDONEシフトレジスタ部144のシフトレジスタ140A、142A〜144Aにおいて順次シフトさせながら3サンプル分又は4サンプル分ずつ記憶保持し得るようになされている。
【0248】
そしてREFシフトレジスタ部143及びDONEシフトレジスタ部144は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、そのとき自己のシフトレジスタ143A、144Aの2段目にシフトされた1サンプル分のREFプレーンデータD31又はDONEプレーンデータD32をセレクタ145に出力する。
【0249】
またこのときSIGシフトレジスタ部142は、自己のシフトレジスタ142Aに記憶保持したSIGプレーンデータD30を用いて、処理ビットシフトレジスタ部140の2段目にシフトした4画素について、REFシフトレジスタ部143の出力を参照しながら図16について上述したルールに従ってコンテクストCXを演算し、演算結果をセレクタ145に出力する。
【0250】
そして、このときDONEプレーンデータD32の値が全て『1』(すなわち処理済)であった場合には、セレクタ145からは何も出力されずに、当該処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD35に対する処理が終了する。
【0251】
またかかる1サンプル分のDONEプレーンデータD32のうち、いずれかのデータ値が『0』(すなわち未処理)であり、かつそのDONEプレーンデータD32と対応する処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた画素が“Significant”でなかった場合にも、セレクタ145からは何も出力されずに、当該処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた1サンプル分の処理ビットプレーンデータD35に対する処理が終了する。
【0252】
そしてこれらの場合には、この後制御部146からビットデモデル部114全体の制御部125(図28)に与えられる転送要求に応じて、当該制御部125の制御のもとに、シグナルスイッチャ120(図28)から次の1サンプル分の処理ビットプレーンデータD35等がMRパス復号化処理部122に与えられる。かくしてMRパス復号化処理部121は、これにより新たに処理ビットシフトレジスタ部130の2段目にシフトされた1サンプル(4画素)分の処理ビットプレーンデータD35について、同様の処理を開始する。
【0253】
これに対して、かかる1サンプル分のDONEプレーンデータD32のうち、いずれかのデータ値が『0』であり、かつそのDONEプレーンデータD32と対応する処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた画素が“Significant”であった場合には、当該画素(以下、これをMRパス復号化処理対象画素と呼ぶ)がMRパス復号化処理すべき画素であることを意味する。
【0254】
かくして、このとき算術復号化部113(図28)から与えられたシンボルデータD34のデータ値(0/1)が処理ビットシフトレジスタ部140のシフトジレスタ140AにおけるMRパス復号化処理対象画素と対応するビットに格納される一方、SIGシフトレジスタ部142から出力された当該MRパス復号化処理対象画素についてのコンテクストCXの演算結果がセレクタ145から出力されて算術復号化部113に与えられる。
【0255】
またこのときREFシフトレジスタ部143では、そのMRパス復号化処理対象画素と同座標のビットが『1』である場合(すなわちフラグが立っている場合)にはこれがクリアされ、またDONEシフトレジスタ部144では、そのMRパス復号化処理対象画素と同座標のビットが、当該MRパス復号化処理対象画素が処理済みとなったことを意味する『1』に更新されて、このMRパス復号化処理対象画素に対するMRパス復号化処理が完了する。
【0256】
そして、MRパス復号化処理部122は、この後そのとき処理ビットシフトレジスタ部140のシフトレジスタ140Aの2段目にシフトされた残りの画素についても、当該画素がMRパス復号化処理すべき画素であった場合には、上述と同様にMRパス復号化処理を実行する。
【0257】
そして、MRパス復号化処理部122は、この後算術復号化部113から1シンボル分のシンボルデータD34が与えられるごとに同様の処理を順次繰り返す。
【0258】
またこの際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に与えてもとのアドレス位置に書き戻させる。
【0259】
このようにしてMRパス復号化処理部122においては、算術復号化部113から与えられるシンボルデータD34に基づいてMRパス復号化処理を行い得るようになされている。
【0260】
(2−2−3−3)CUパス復号化処理部123の構成
CUパス復号化処理部123は、図31に示すように、いずれもハードウェア構成の処理ビットシフトレジスタ部150、正符号シフトレジスタ部151、SIGシフトレジスタ部152、REFシフトレジスタ部153、DONEシフトレジスタ部154及びセレクタ155と、後述のようなセレクタ155に対する出力切替え制御等を行う制御部156とから構成されている。
【0261】
また処理ビットシフトレジスタ部150には3段のシフトレジスタ150Aが設けられると共に、正符号シフトレジスタ部151、SIGシフトレジスタ部152、REFシフトレジスタ部153及びDONEシフトレジスタ部154には、それぞれ4段のシフトレジスタ151A〜154Aが設けられている。
【0262】
これにより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サンプル分ずつ記憶保持し得るようになされている。
【0263】
そしてSIGシフトレジスタ部152は、算術復号化部113から1シンボル分のシンボルデータD34が与えられると、そのとき自己のシフトレジスタ152Aに記憶保持したSIGプレーンデータD30と、DONEシフトレジスタ部154のシフトレジスタ154Aに記憶保持されたDONEプレーンデータD32を用いて、処理ビットシフトレジスタ部130のシフトレジスタ130Aの2段目にシフトされた4画素が上述したランレングス処理を行うための条件を満たしているか否かを検出する。
【0264】
そしてかかる4画素がランレングス処理を行うための条件を満たしていない場合には、これら4画素のそれぞれについて、上述したSPパス復号化処理が順次行われる。
【0265】
これに対してかかる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に対する処理が完了する。
【0266】
またかかる4画素がランレングス処理を行うための条件を満たしている場合であって、このとき算術復号化部113から与えられた1シンボル分のシンボルデータD34のデータ値が『1』であったときには、その後算術復号化部113から与えられる2シンボル分のシンボルデータD34のデータ値に応じて、図18について上述した処理と逆の処理が行われる。
【0267】
具体的には、算術復号化部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に与えられる。
【0268】
さらにこのときSIGシフトレジスタ部152では、自己のシフトレジスタ152Aの2段目における、このとき処理ビットシフトレジスタ部150のシフトレジスタ150Aの『1』が格納された画素(以下、これをCUパス復号化処理対象画素と呼ぶ)と同座標のビットの値が“Significant”であることを表す『1』に更新される。またREFシフトレジスタ部153では、自己のシフトレジスタ153Aに記憶保持されたREFプレーンデータD31における当該CUパス復号化処理対象画素と同座標のビットの値が“Significant”となったことを表す『1』に更新される。
【0269】
さらにこの後、算術復号化部113から与えられる1シンボル分のシンボルデータD34が正負符号シフトレジスタ部151に与えられる。そして正負符号シフトレジスタ部151では、かかるCUパス復号化処理対象画素の正負符号がこのシンボルデータD34に基づいて演算されると共に当該CUパス復号化処理対象画素のコンテクストCXが図14について上述したルールに従って演算され、算出された正負符号が当該正負符号シフトレジスタ部151のシフトレジスタ151AにおけるCUパス復号化処理対象画素と同座標のビットに格納され、コンテクストCXがセレクタ155を介して算術復号化部113に出力される。
【0270】
そして、この後セレクタ155からDONEシフトレジスタ部154に更新情報与えられ、当該更新情報に基づき、DONEシフトレジスタ部154のシフトレジスタ154Aに記憶保持されたDONEプレーンデータD32における当該CUパス復号化処理対象画素と同座標のビットの値が『1』に更新されて、当該CUパス復号化処理対象画素に対するCUパス復号化処理が完了する。
【0271】
さらに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パス復号化処理を完了する。
【0272】
そして、CUパス復号化処理部123は、この後算術復号化部113から1シンボル分のシンボルデータD34が与えられるごとに同様の処理を順次繰り返す。
【0273】
またこの際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に与えてもとのアドレス位置に書き戻させる。
【0274】
このようにしてCUパス復号化処理部123においては、算術復号化部113から順次与えられるシンボルデータD34に基づいて、CUパス復号化処理を行い得るようになされている。
【0275】
(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に書き戻すようにして符号化処理及び復号化処理を行う。
【0276】
従って、この符号化装置42及び復号化装置100では、処理ビットプレーンデータD21の符号化又は符号化データd11を符号化処理又は復号化処理する際のSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32に対するアクセス性を向上させることができ、またこのようなパイプライン処理により処理の高速化を図ることができる。
【0277】
この場合において、この符号化装置40及び復号化装置100では、SPパス符号化処理等の符号化処理時や、SPパス復号化処理等の復号化処理時に処理ビットプレーン22の1ストライプカムラを構成する4画素を1サンプルとして当該サンプル単位で処理を行うようにしているため、これら符号化処理又は復号化処理を1画素単位で行う場合に比して格段的に処理を高速化することができる。実際上、データに依存性があるが、1画素単位で処理を行う場合に比べて楽観的には4倍、悲観的でも1倍の速度を確保することができる。
【0278】
またこの場合において、この符号化装置40及び復号化装置101では、符号化対象のコードブロックデータD4や一部が復号化されたコードブロックデータD14を記憶保持するDRAM41、102をその外部に設け、符号化又は復号化に必要な一部のみをその内部のSRAM(ビットプレーンバッファ51A,51B、116A、116B)に記憶保持するようにしているため、これら符号化対象のコードブロックデータD4や一部が復号化されたコードブロックデータD14に対するアクセス性も向上させることができ、また符号化装置40や復号化装置101のIC化にも実用上十分に対応することができる。
【0279】
以上の構成によれば、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に対するアクセス性を向上させることができ、またこのようなパイプライン処理により処理の高速化を図ることができ、かくして符号化処理及び復号化処理を高速化させ得る符号化装置及び復号化装置を実現できる。
【0280】
(3)第2の実施の形態
(3−1)第2の実施の形態による符号化装置の構成
図20との対応部分に同一符号を付して示す図32は、第2の実施の形態によるEBCOTブロック160を示す。このEBCOTブロック160は、図19について上述した第1の実施の形態による符号化装置40のEBCOTブロック42に代えて適用されるものであり、ビットモデル部161の構成が異なる点を除いて第1の実施の形態によるEBCOTブロック42と同様に構成されている。
【0281】
実際上、ビットモデル部161においては、図21に示す第1の実施の形態によるEBCOTブロック42のビットモデル部54と同じハードウェア構成を有する1ストライプ用ビットモデル部162と、バッファ163とから構成されている。そして1ストライプ用ビットモデル部162は、予め定められたコードブロックサイズに対応させて、処理ビットプレーン22(図10)のストライプ数と同じ数だけ設けられている。
【0282】
このときこれら1ストライプ用ビットモデル部162には、それぞれ処理ビットプレーン22における互いに異なるストライプ23(図33)が割り当てられている。そして、これら1ストライプ用ビットモデル部162は、図33に示すように、それぞれ割り当てられたストライプ23について、その内部のSPパス符号化処理部61(図21)、MRパス符号化処理部62(図21)及びCUパス符号化処理部63(図21)によってSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理をそれぞれ一定の位相差を保ちながら並行して1ストライプ分だけ行うようになされている。
【0283】
具体的には、各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パス処理を開始)する。
【0284】
なお、このようなSPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63によるSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理の位相差は、各1ストライプ用ビットモデル部162内の制御部165(図21)により制御される。
【0285】
さらにビットモデル部161においては、当該ビットモデル部161全体の動作制御を司る図示しない制御部により、各1ストライプ用ビットモデル部163によるCBM処理の開始タイミングが制御される。
【0286】
具体的には、この図33に示すように、上段のストライプ23が割り当てられた1ストライプ用ビットモデル部162がそのストライプ23の4番目のストライプカムラ23Aに対するSPパス符号化処理を開始するタイミングで、次段のストライプ23が割り当てられた1ストライプ用ビットモデル部162が当該ストライプ23に対するSPパス符号化処理を開始するように、各1ストライプ用ビットモデル部162のCBM処理(SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理)の開始タイミングが制御される。
【0287】
一方、これら1ストライプ用ビットモデル部162からそれぞれ出力されるCBM処理により得られた各シンボルSBからなるシンボルデータD40及び各コンテクストCXからなるコンテクストデータD41は、それぞれ後段のバッファ163に与えられる。このとき各1ストライプ用ビットモデル部162は、それぞれSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理により得られた処理ビットプレーンデータD42及びコンテクストデータD40を、それぞれバッファ163内のSPパス符号化処理用、MRパス符号化処理用又はCUパス符号化処理用の記憶領域に格納する。
【0288】
この結果、これら1ストライプ用ビットモデル部163からそれぞれ出力されたシンボルデータD40及びコンテクストデータD41が、SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとにその順番で、かつ同じSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理内では処理ビットプレーン22におけるストライプ23の順番でまとめられてバッファ163に保持される。そしてこのバッファ163に記憶保持されたシンボルデータD40及びコンテクストデータD41は、この後その順番で算術符号化部55により順次読み出される。
【0289】
このようにしてこのEBCOTブロック160においては、CBM処理をSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとに並行して、かつSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理についてもストライプ23ごとに並行して行い得るようになされている。
【0290】
(3−2)第2の実施の形態の動作及び効果
以上の構成において、この第2の実施の形態によるEBCOTブロック160では、CBM処理をSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとに並行して、かつSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理についてもストライプ23ごとに並行して行う。
【0291】
従って、この第2の実施の形態によるEBCOTブロック160では、第1の実施の形態による符号化装置40(図19)に搭載されたEBCOTブロック42に比べてより一層と高速にCBM処理を行うことができる。
【0292】
実際上、例えばビットプレーンサイズが32画素×32画素の場合は、第1の実施の形態による符号化装置40に搭載されたEBCOTブロック42と比べても、約2/24(=(1+1)/8×3)にまで処理速度を低減することができる。
【0293】
以上の構成によれば、CBM処理をSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理ごとに並行して、かつSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理についてもストライプ23ごとに並行して行うようにしたことにより、より一層と高速にCBM処理を行い得る符号化装置を実現できる。
【0294】
(4)他の実施の形態
なお上述の第1及び第2の実施の形態においては、本発明をJPEG2000規格に準拠した符号化装置40(図19)又は復号化装置100(図27)に適用するようにした場合について述べたが、本発明はこれに限らず、他の画像フォーマットに準拠した符号化装置や復号化装置にも適用でき、要は、画像情報を取り扱うこの他種々の符号化装置、復号化装置及び画像情報処理システム等に広く適用することができる。
【0295】
また上述の第1及び第2の実施の形態においては、符号化又は復号化対象の画像情報である処理ビットプレーンデータD21又は符号化データD11を記憶する記憶手段としてSRAM(ビットプレーンバッファ51A、51B(図20)、又はストリームバッファ110A、110B(図27)及びビットプレーンバッファ116A、116B(図27))を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の記憶媒体を広く適用することができる。
【0296】
同様に、上述の第1及び第2の実施の形態においては、ビットモデル部54、161やビットデモデル部114が処理ビットプレーンデータD21や符号化データD11に対して符号化又は復号化処理を施す際に当該符号化又は復号化処理の処理状況に応じて順次更新しながら用いる所定の状態量を表す状態量情報であるSIGプレーンデータD22、D30、REFプレーンデータD23、D31、DONEプレーンデータD24、D32を記憶する記憶手段としてSRAM52A、52B、111A、111Bを適用するようにした場合について述べたが、本発明はこれに限らず、SRAM以外のメモリや、メモリ以外のハードディスク等のディスク状記憶媒体など、この他種々の記憶媒体を広く適用することができる。
【0297】
さらに上述の第1及び第2の実施の形態においては、ビットプレーンバッファ51A、51Bに記憶された処理ビットプレーンデータD21に対して符号化処理を施す符号化手段としてのビットモデル部54(図20)、161(図32)を図21のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【0298】
この場合において、上述の第1の実施の形態においては、SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理にそれぞれ対応させてビットモデル部54にSPパス符号化処理部61、MRパス符号化処理部62及びCUパス符号化処理部63を設けるようにした場合について述べたが、本発明はこれに限らず、これらSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を行い得る1つのコーディングパス処理部によりビットモデル部54を構成するようにしても良い。
【0299】
同様に、上述の第2の実施の形態においては、入力する符号化された画像情報でなる符号化画像情報としての符号化データD11に対して復号化処理を施す復号化手段としてのビットデモデル部114(図27)を図28のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【0300】
この場合において、上述の第1の実施の形態においては、SPパス復号化処理、MRパス復号化処理及びCUパス復号化処理にそれぞれ対応させてビットデモデル部114にSPパス復号化処理部121、MRパス復号化処理部122及びCUパス復号化処理部123を設けるようにした場合について述べたが、本発明はこれに限らず、これらSPパス復号化処理、MRパス復号化処理及びCUパス復号化処理を行い得る1つのコーディングパス処理部によりビットデモデル部114を構成するようにしても良い。
【0301】
さらに上述の第1及び第2の実施の形態においては、ビットモデル部54(図21)のSPパス符号化処理部61等や、ビットデモデル部114(図28)のSPパス復号化処理部121等及びビットモデル部161(図32)の各1ストライプ用ビットモデル部162が1ストライプカムラを構成する4画素を単位としてSPパス符号化処理等やSPパス復号化処理等を行うようにした場合について述べたが、本発明はこれに限らず、かかるSPパス符号化処理等やSPパス復号化処理等を、1ストライプカムラを構成する4画素以外の複数画素を単位として行うようにしても良い。
【0302】
さらに上述の第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により構成するようにした場合について述べたが、本発明はこれに限らず、この他種々のタイプの記憶媒体を広く適用することができる。
【0303】
さらに上述の第1及び第2の実施の形態においては、全体としてIC化された符号化装置40や復号化装置100の当該ICの外部に外部記憶手段としてのDRAM41(図19)、102(図26)を設け、IC内部の信号処理部である量子化部4(図19)やEBCOTブロック101(図26)から出力されるコードブロックデータD4(図19)、D14(図26)を当該DRAM41、102に格納するようにするようにした場合について述べたが、本発明はこれに限らず、外部記憶手段としてはDRAM以外のメモリやメモリ以外の他の外部記憶媒体を広く適用することができる。
【0304】
さらに上述の第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パス符号化処理を並行して行うようにしても良い。
【0305】
この場合において、SPパス符号化処理時における各SPパス符号化処理部61によるSPパス符号化処理の位相差、MRパス符号化処理時における各MRパス符号化処理部62によるMRパス符号化処理の位相差、CUパス符号化処理時における各CUパス符号化処理部63によるCUパス符号化処理の位相差としては、例えば図36に示すように、処理ビットプレーン22における上段のストライプ23についてSPパス符号化処理等を行うSPパス符号化処理部61等に対して、その次の段のストライプ22についてSPパス符号化処理等を行うSPパス符号化処理部61等が少なくとも2ストライプカムラ分だけ遅れた位相をもってSPパス符号化処理等を行うようにすれば良い。
【0306】
またSIGプレーンデータD22(図21)等のSRAM52A、52B(図21)からの読み書きを考慮した場合には、例えば図37に示すように、処理ビットプレーン22における上段のストライプ23についてSPパス符号化処理等を行うSPパス符号化処理部61等に対して、その次の段のストライプ22についてSPパス符号化処理等を行うSPパス符号化処理部61等が5ストライプカムラ分だけ遅れた位相をもってSPパス符号化処理等を行うようにすれば良く、このようにSPパス符号化処理等を並行して行う場合における各SPパス符号化処理部61等の処理タイミング(各SPパス符号化処理部61等がそれぞれSPパス符号化処理等を行う際の位相差)としては、この他種々の処理タイミングを広く適用することができる。
【0307】
さらに上述の第2の実施の形態においては、ビットモデル部161(図32)におけるSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理の位相差を図33のようにする場合について述べたが、本発明はこれに限らず、例えば図34に示すように、SPパス符号化処理に対してMRパス符号化処理を1ストライプと4ストライプカムラ分だけ遅延させると共に、当該MRパス符号化処理に対してCUパス符号化処理を4ストライプカムラ分だけ遅延させるようにしても良い。
【0308】
またこれ以外であっても、例えば図35に示すように、SPパス符号化処理に対してMRパス符号化処理を1ストライプと2ストライプカムラ分だけ遅延させると共に、当該MRパス符号化処理に対してCUパス符号化処理を1ストライプカムラ分だけ遅延させるようにしても良く、これらSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を並行して行う場合におけるこれらSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理の位相差としては、この他の位相差を広く適用することができる。
【0309】
さらに上述の第2の実施の形態においては、1ストライプ用ビットモデル部162(図32)を処理ビットプレーン22(図10)のストライプ数と同じ数だけ設けるようにした場合について述べたが、本発明はこれに限らず、要は、SPパス符号化処理、MRパス符号化処理及びCUパス符号化処理を並行して行い得るようにするのであれば、処理ビットプレーン22のストライプ23以外の数と異なる数の1ストライプ用ビットモデル部162を設けるようにしても良い。
【0310】
【発明の効果】
以上のように本発明によれば、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができ、かくして符号化処理を高速化させ得る処理ビットモデルブロック、処理ビットモデル化方法、符号化装置を実現できる。
【0311】
また本発明によれば、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができ、かくして復号化処理を高速化させ得るシンボルモデルブロック、シンボルモデル化方法及び復号化装置を実現できる。
【0312】
さらに本発明によれば、1ストライプを単位として処理を行うようにしているため、1画素単位で行う場合に比して格段的に処理を高速化することができ、かくして復号化処理を高速化させ得る画像処理装置を実現できる。
【図面の簡単な説明】
【図1】コードブロックとビットプレーンの説明に供する概念図である。
【図2】コードブロックサイズの説明に供する概念図である。
【図3】コードブロックサイズの説明に供する概念図である。
【図4】コードブロック内のビットプレーンの説明に供する概念図である。
【図5】ビットプレーン内スキャン順序の説明に供する概念図である。
【図6】ビットプレーン内スキャン順序の説明に供する概念図である。
【図7】ビットプレーン内スキャン順序の説明に供する概念図である。
【図8】ビットプレーン内スキャン順序の説明に供する概念図である。
【図9】ビットプレーン内スキャン順序の説明に供する概念図である。
【図10】各種状態量記録用プレーンの説明に供する概念図である。
【図11】SPパスの説明に供する概念図である。
【図12】SPパスの説明に供する概念図である。
【図13】SPパスにおけるコンテクストエンコーディングルールの説明に供する概念図である。
【図14】SPパスにおける正負符号のコンテクストエンコーディングルールの説明に供する概念図である。
【図15】MRパスの説明に供する概念図である。
【図16】MRパスにおけるコンテクストエンコーディングルールの説明に供する概念図である。
【図17】CUパスの説明に供する概念図である。
【図18】 uniformのコンテクストエンコーディングルールの説明に供する概念図である。
【図19】第1の実施の形態によるJPEG2000符号化装置の構成を示すブロック図である。
【図20】図19に示す符号化装置におけるEBCOTブロックの構成を示すブロック図である。
【図21】図20に示すEBCOTブロックにおけるビットモデル部の構成を示すブロック図である。
【図22】本実施の形態によるビットプレーンアクセスの説明に供する概念図である。
【図23】符号化装置におけるSPパス符号化処理部の概略構成を示すブロック図である。
【図24】符号化装置におけるMRパス符号化処理部の概略構成を示すブロック図である。
【図25】符号化装置におけるCUパス符号化処理部の概略構成を示すブロック図である。
【図26】第1の実施の形態によるJPEG2000復号化装置の構成を示すブロック図である。
【図27】図26に示す復号化装置におけるEBCOTブロックの構成を示すブロック図である。
【図28】図27に示すEBCOTブロックにおけるビットデモデル部の構成を示すブロック図である。
【図29】復号化装置におけるSPパス復号化処理部の概略構成を示すブロック図である。
【図30】復号化装置におけるMRパス復号化処理部の概略構成を示すブロック図である。
【図31】復号化装置におけるCUパス復号化処理部の概略構成を示すブロック図である。
【図32】第2の実施の形態による符号化装置のEBCOTブロックの構成を示すブロック図である。
【図33】第2の実施の形態におけるSPパス符号化処理、MRパス符号化処理及びCUパス符号化処理の位相差の説明に供する概念図である。
【図34】他の実施の形態の説明に供する概念図である。
【図35】他の実施の形態の説明に供する概念図である。
【図36】他の実施の形態の説明に供する概念図である。
【図37】他の実施の形態の説明に供する概念図である。
【図38】従来のJPEG2000符号化装置の構成を示すブロック図である。
【図39】ウェーブレット変換の説明に供する概念図である。
【図40】従来のJPEG2000復号化装置の構成を示すブロック図である。
【符号の説明】
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……コンテクストデータ。
Claims (17)
- 所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の上記桁の上記ビットプレーンから順に当該ビットプレーン上の上記ビットを任意の数でなるストライプに区切り、一のストライプに属する上記ビットを読み出した後に次のストライプに属する上記ビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち上記処理ビットに対応するコンテクストにモデル化して出力するビットモデルブロックにおいて、
上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、上記処理ビットに対応するSIGビットが有意でなく、上記処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である上記処理ビットである第1の処理対象ビットに対して、上記SIGプレーンを参照してモデル化する第1の処理を実行すると共に、上記処理ビットの値を上記SIGプレーンに反映させる第1の処理部と、
有意である上記SIGビットに対応する上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第2の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、
上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第3の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部と
を具え、
上記第2の処理部及び上記第3の処理部のうち少なくとも一方は、
上記処理ビットが既にモデル化されたか否かを表すDONEプレーンから、上記ストライプごとに上記処理ビットに対応するDONEビットを読み出し、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する
ことを特徴とする処理ビットモデルブロック。 - 上記第3の処理部は、
上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別し、上記ストライプを構成する上記処理ビットの値の全てが0であった場合には、ランレングス符号化処理を実行する
ことを特徴とする請求項1に記載の処理ビットモデルブロック。 - 上記第1の処理部は、
上記SIGプレーンから、上記ストライプに当該ストライプを挟む2ビットを加えた所定の単位ごとにSIGビットを読み出し、上記所定の単位ごとに上記SIGビットの近傍に存在するSIG近傍ビットが有意であるか否かを判別する
を具えることを特徴とする請求項1に記載の処理ビットモデルブロック。 - 上記第1の処理部は、
上記DONEプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別し、上記第1の処理対象ビットに対応する上記DONEビットにフラグを立てる第1のレジスタと、
上記SIGプレーンから上記所定の単位ごとに読み出した上記ビットを保持すると共に、上記SIGビットの近傍に存在するSIG近傍ビットが有意であるか否かを判別し、一 の上記ビットでなる上記処理ビットごとに上記第1の処理を実行する第2のレジスタと、
上記処理ビットプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記第1の処理対象ビットの値を出力し、上記処理ビットの値をSIGプレーンに反映させる第3のレジスタと、
並列に設けられることにより構成されている
ことを特徴とする請求項1に記載の処理ビットモデルブロック。 - 上記第1、第2及び第3のレジスタは、
上記ストライプごと又は上記所定の単位ごとを1組とする上記ビットを、少なくとも3組以上保持するシフトレジスタでなる
ことを特徴とする請求項4に記載の処理ビットモデルブロック。 - 上記第1の処理部は、
上記第1、第2及び第3のレジスタに加え、
上記SIGプレーンにおいて有意であり、かつ一度も上記第2の処理が実行されていないビットに対してフラグが立てられるREFプレーンから上記ストライプごとに読み出した上記ビットを保持し、上記第1の処理対象ビットの値が1であった場合に上記REFプレーンにおける上記処理ビットと対応するREFビットにフラグを立てる第4のレジスタと、
上記コードブロックデータのうち、正負符号を表す符合プレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、保持された当該ビットを参照することにより、上記第1の処理対象ビットに対応する上記コンテクストを出力する第5のレジスタと
が並列に設けられている
を具えることを特徴とする請求項5に記載の処理ビットモデルブロック。 - 上記第2の処理部は、
上記DONEプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別し、上記第2の処理対象ビットに対応する上記DONEビットにフラグを立てる第6のレジスタと、
上記SIGプレーンから上記所定の単位ごとに読み出した上記ビットを保持すると共に、一の上記ビットでなる上記処理ビットごとに上記第2の処理を実行する第7のレジスタと、
上記処理ビットプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記第2の処理対象ビットの値を出力する第8のレジスタと
を具えることを特徴とする請求項6に記載の処理ビットモデルブロック。 - 上記第2の処理部は、
上記DONEプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別し、上記第2の処理対象ビットに対応する上記DONEビットにフラグを立てる第6のレジスタと、
上記SIGプレーンから上記所定の単位ごとに読み出した上記ビットを保持すると共に、上記SIGビットが有意であるか否かを判別し、一の上記ビットでなる上記処理ビットごとに上記第2の処理を実行する第7のレジスタと、
上記処理ビットプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記第2の処理対象ビットの値を出力する第8のレジスタと
が並列に設けられていることにより構成されている
を具えることを特徴とする請求項7に記載の処理ビットモデルブロック。 - 上記第3の処理部は、
上記DONEプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する第9のレジスタと、
上記SIGプレーンから上記所定の単位ごとに読み出した上記ビットを保持すると共に、一の上記ビットでなる上記処理ビットごとに上記第3の処理を実行する第10のレジスタと、
上記処理ビットプレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、上記第3の処理対象ビットの値を出力し、上記処理ビットの値をSIGプレーンに反映させる第11のレジスタと、
上記コードブロックデータのうち、正負符号を表す符合プレーンから上記ストライプごとに読み出した上記ビットを保持すると共に、保持された当該ビットを参照することにより、上記第3の処理対象ビットに対応する上記コンテクストを出力する第12のレジスタと
が並列に設けられていることにより構成されている
ことを特徴とする請求項8に記載の処理ビットモデルブロック。 - 上記第1の処理部は、
上記第1の処理対象ビットの値を反映して上記SIGプレーン及び上記REFプレーンを書き戻すと共に、上記DONEプレーンにおける上記処理ビットと対応するDONEビットにフラグを立てた状態にして上記DONEプレーンを書き戻し、
上記第2の処理部は、
上記第2の処理対象ビットと対応する上記SIGビットをSIGプレーンに書き戻し、フラグが立てられていない状態にして上記REFビットをREFプレーンに書き戻すと共に、フラグを立てた状態にして上記DONEプレーンを書き戻し、
上記第3の処理部は、
上記第3の処理対象ビットと対応する上記DONEビットにフラグが立てられていない場合には、上記SIG近傍ビットに基づいて上記コンテクストを選択し、上記第3の処理対象ビットの値を反映して上記SIGプレーンを書き戻し、
を具え、
上記第2の処理部は、
上記第1の処理部が一の上記処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第1の位相差時間だけ上記第1の処理部から遅れて上記処理ビットに対する処理を実行する
ことを特徴とする請求項1に記載の処理ビットモデルブロック。 - 上記第3の処理部は、
上記第2の処理部が一の上記処理ビットプレーンを処理するのに要するプレーン処理時間よりも短い第2の位相差時間だけ上記第2の処理部から遅れて上記処理ビットに対する処理を実行すると共に、上記第1の処理部が上記一の処理ビットプレーンの次の上記ビットプレーンおける上記処理ビットに対応するビットに対する処理を開始する前に、上記処理ビットに対する処理を終了する
ことを特徴とする請求項1に記載の処理ビットモデルブロック。 - 所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の上記桁の上記ビットプレーンから順に当該ビットプレーン上の上記ビットを任意の数でなるストライプに区切り、一のストライプに属する上記ビットを読み出した後に次のストライプに属する上記ビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち上記処理ビットに対応 するコンテクストにモデル化して出力するビットモデル化方法において、
第1の処理部により上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、上記処理ビットに対応するSIGビットが有意でなく、上記処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である上記処理ビットである第1の処理対象ビットに対して、上記SIGプレーンを参照してモデル化する第1の処理を実行すると共に、上記処理ビットの値を上記SIGプレーンに反映させる第1の処理ステップと、
第2の処理部により有意である上記SIGビットに対応する上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第2の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第2の処理を実行する第2の処理ステップと、
上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第3の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第3の処理を実行する第3の処理ステップと
を具え、
上記第2の処理ステップ及び上記第3の処理ステップのうち少なくとも一方において、
上記処理ビットが既にモデル化されたか否かを表すDONEプレーンから、上記ストライプごとに上記処理ビットに対応するDONEビットを読み出し、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する
ことを特徴とする処理ビットモデル化方法。 - 所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の上記桁の上記ビットプレーンから順に当該ビットプレーン上の上記ビットを任意の数でなるストライプに区切り、一のストライプに属する上記ビットを読み出した後に次のストライプに属する上記ビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち上記処理ビットに対応するコンテクストにモデル化し、当該コンテクスト及び上記処理ビットの値を用いて符号化する符号化装置において、
上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、上記処理ビットに対応するSIGビットが有意でなく、上記処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である上記処理ビットである第1の処理対象ビットに対して、上記SIGプレーンを参照してモデル化する第1の処理を実行すると共に、上記処理ビットの値を上記SIGプレーンに反映させる第1の処理部と、
有意である上記SIGビットに対応する上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第2の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、
上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第3の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部と、
上記コンテクスト及び上記処理ビットの値を取得して算術符号化処理を実行する算術符合化部と
を具え、
上記第2の処理部及び上記第3の処理部のうち少なくとも一方は、
上記処理ビットが既にモデル化されたか否かを表すDONEプレーンから、上記ストライプごとに上記処理ビットに対応するDONEビットを読み出し、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する
ことを特徴とする符号化装置。 - 所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成するために、ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、予め規定された複数のコンテクストのうち対応するコンテクストにモデル化して出力するシンボルモデルブロックにおいて、
上記処理ビットを平面化したときに上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、上記処理ビットに対応するSIGビットが有意でなく、上記処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である上記処理ビットである第1の処理対象ビットに対して、上記SIGプレーンを参照してモデル化する第1の処理を実行すると共に、上記処理ビットの値を上記SIGプレーンに反映させる第1の処理部と、
有意である上記SIGビットに対応する上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第2の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、
上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第3の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部と
を具え、
上記第2の処理部及び上記第3の処理部のうち少なくとも一方は、
上記処理ビットが既にモデル化されたか否かを表すDONEプレーンから、上記ストライプごとに上記処理ビットに対応するDONEビットを読み出し、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する
を具えることを特徴とするシンボルモデルブロック。 - 所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成するために、ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、予め規定された複数のコンテクストのうち対応するコンテクストにモデル化するシンボルモデル化方法において、
第1の処理部により上記処理ビットを平面化したときに上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、上記処理ビットに対応するSIGビットが有意でなく、上記処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である上記処理ビットである第1の処理対象ビットに対して、上記SIGプレーンを参照してモデル化する第1の処理を実行すると共に、上記処理ビットの値を上記SIGプレーンに反映させる第1の処理ステップと、
第2の処理部により有意である上記SIGビットに対応する上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第2の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第2の処理を実行する第2の処理ステップと、
第3の処理部により上記処理ビットが未だモデル化されていないか否かを判別し、未だ モデル化されていない上記処理ビットである第3の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第3の処理を実行する第3の処理ステップと
を具え、
上記第2の処理部及び上記第3の処理部のうち少なくとも一方は、
上記処理ビットが既にモデル化されたか否かを表すDONEプレーンから、上記ストライプごとに上記処理ビットに対応するDONEビットを読み出し、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する
ことを特徴とするシンボルモデル化方法。 - ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、予め規定された複数のコンテクストのうち対応するコンテクストにモデル化し、当該コンテクスト及び上記処理ビットの値を用いて復号化することにより、所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンを生成する復号化装置において、
上記処理ビットを平面化したときに上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、上記処理ビットに対応するSIGビットが有意でなく、上記処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である上記処理ビットである第1の処理対象ビットに対して、上記SIGプレーンを参照してモデル化する第1の処理を実行すると共に、上記処理ビットの値を上記SIGプレーンに反映させる第1の処理部と、
有意である上記SIGビットに対応する上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第2の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、
上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第3の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部と、
上記コンテクスト及び上記処理ビットの値を取得して算術復号化処理を実行する算術符合化部と
を具え、
上記第2の処理部及び上記第3の処理部のうち少なくとも一方は、
上記処理ビットが既にモデル化されたか否かを表すDONEプレーンから、上記ストライプごとに上記処理ビットに対応するDONEビットを読み出し、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する
ことを特徴とする復号化装置 - 所定の画素数でなる画像データにおける各画素を所定の桁数のビットで表すことにより形成されたコードブロックデータから桁ごとに平面化されてなるビットプレーンのうち、上位の上記桁の上記ビットプレーンから順に当該ビットプレーン上の上記ビットを任意の数でなるストライプに区切り、一のストライプに属する上記ビットを読み出した後に次のストライプに属する上記ビットを読み出すことにより処理対象となる処理ビットを所定の順序で読み出すと共に、予め規定された複数のコンテクストのうち上記処理ビットに対応するコンテクストにモデル化し、当該コンテクスト及び上記処理ビットの値を用いて符号化する符号化装置と、ビットとして供給されるシンボルデータのうち処理対象となる処理ビットを、対応する上記コンテクストにモデル化し、当該コンテクスト及び上記処理ビットの値を用いて復号化することにより、上記ビットプレーンを生成する復号化装置とを有する画像処理装置において、
上記処理ビットの存在する処理ビットプレーンよりも上位となる上位プレーンにおいて1である上記ビットが存在する場合が有意であり、1である上記ビットが存在しない場合を有意でないとしたとき、当該上位プレーンにおける各ビットの有意性を表すSIGプレーンにおいて、上記処理ビットに対応するSIGビットが有意でなく、上記処理ビットに対応するSIGビットの近傍に存在するSIG近傍ビットが有意である上記処理ビットである第1の処理対象ビットに対して、上記SIGプレーンを参照してモデル化する第1の処理を実行すると共に、上記処理ビットの値を上記SIGプレーンに反映させる第1の処理部と、
有意である上記SIGビットに対応する上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第2の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第2の処理を実行する第2の処理部と、
上記処理ビットが未だモデル化されていないか否かを判別し、未だモデル化されていない上記処理ビットである第3の処理対象ビットを、上記処理ビットの値が反映された上記SIGプレーンを参照してモデル化する第3の処理を実行する第3の処理部と
を具え、
上記第2の処理部及び上記第3の処理部のうち少なくとも一方は、
上記処理ビットが既にモデル化されたか否かを表すDONEプレーンから、上記ストライプごとに上記処理ビットに対応するDONEビットを読み出し、上記ストライプごとに上記処理ビットが未だモデル化されていないか否かを判別する
ことを特徴とする画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003130793A JP4081758B2 (ja) | 2003-05-08 | 2003-05-08 | 処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置 |
US10/840,128 US7418143B2 (en) | 2003-05-08 | 2004-05-06 | Encoding device and method, decoding device and method, and image information processing system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003130793A JP4081758B2 (ja) | 2003-05-08 | 2003-05-08 | 処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007326597A Division JP4337066B2 (ja) | 2007-12-18 | 2007-12-18 | 画像処理装置及びビットモデル化方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004336494A JP2004336494A (ja) | 2004-11-25 |
JP2004336494A5 JP2004336494A5 (ja) | 2006-06-22 |
JP4081758B2 true JP4081758B2 (ja) | 2008-04-30 |
Family
ID=33506190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003130793A Expired - Fee Related JP4081758B2 (ja) | 2003-05-08 | 2003-05-08 | 処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7418143B2 (ja) |
JP (1) | JP4081758B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4182426B2 (ja) * | 2003-10-10 | 2008-11-19 | ソニー株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
US8457425B2 (en) * | 2009-06-09 | 2013-06-04 | Sony Corporation | Embedded graphics coding for images with sparse histograms |
US8964851B2 (en) * | 2009-06-09 | 2015-02-24 | Sony Corporation | Dual-mode compression of images and videos for reliable real-time transmission |
US8285062B2 (en) * | 2009-08-05 | 2012-10-09 | Sony Corporation | Method for improving the performance of embedded graphics coding |
KR101445939B1 (ko) * | 2012-12-27 | 2014-09-30 | 조선대학교산학협력단 | Jpeg 2000의 ebcot 장치 및 방법 |
WO2015138737A1 (en) * | 2014-03-12 | 2015-09-17 | Brass Roots Technologies, LLC | Bit plane memory system |
EP3326368A4 (en) * | 2015-07-17 | 2019-04-03 | Nokia Technologies Oy | METHOD AND APPARATUS FOR ENCODING AND DECODING IMAGES |
CN112422969A (zh) * | 2020-10-20 | 2021-02-26 | 西安万像电子科技有限公司 | 一种图像编解码方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3260910B2 (ja) | 1993-05-19 | 2002-02-25 | 株式会社リコー | 符号化方法 |
JP3651941B2 (ja) * | 1994-11-28 | 2005-05-25 | キヤノン株式会社 | 画像再生装置 |
JP3322233B2 (ja) | 1999-03-19 | 2002-09-09 | 日本電気株式会社 | 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体 |
AUPQ982400A0 (en) | 2000-09-01 | 2000-09-28 | Canon Kabushiki Kaisha | Entropy encoding and decoding |
JP2002204356A (ja) | 2000-10-27 | 2002-07-19 | Canon Inc | データ処理装置、プロセッサ、及びその制御方法 |
JP3702778B2 (ja) | 2000-11-27 | 2005-10-05 | ソニー株式会社 | 画像符号化装置及び方法 |
US6898323B2 (en) | 2001-02-15 | 2005-05-24 | Ricoh Company, Ltd. | Memory usage scheme for performing wavelet processing |
US6961475B2 (en) | 2001-03-30 | 2005-11-01 | Ricoh Co., Ltd. | Context model access to memory based on run and skip counts and context model skipping |
JP2003008906A (ja) | 2001-06-26 | 2003-01-10 | Mitsubishi Electric Corp | ビットモデリングの処理方法及びそれを用いる処理回路 |
-
2003
- 2003-05-08 JP JP2003130793A patent/JP4081758B2/ja not_active Expired - Fee Related
-
2004
- 2004-05-06 US US10/840,128 patent/US7418143B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004336494A (ja) | 2004-11-25 |
US20050001928A1 (en) | 2005-01-06 |
US7418143B2 (en) | 2008-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7418146B2 (en) | Image decoding apparatus | |
US6031940A (en) | System and method for efficiently encoding video frame sequences | |
US6735342B2 (en) | Video encoding method using a wavelet transform | |
GB2303031A (en) | Reversible wavelet transform and embedded codestream manipulation | |
JP3104868B2 (ja) | 画像処理装置 | |
US20010041015A1 (en) | System and method for encoding a video sequence using spatial and temporal transforms | |
JP2009506606A (ja) | 画像データ処理方法 | |
US20040013312A1 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
JPH10501107A (ja) | ビデオ映像復号化装置及び方法 | |
JP4081758B2 (ja) | 処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置 | |
KR20070023695A (ko) | 값들의 블록들을 인코딩하는 방법 및 디바이스 | |
JP2004505520A (ja) | ウェーブレット分解を用いたビデオ符号化方法 | |
JP4182426B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2000341689A (ja) | ウェーブレット逆変換装置及び方法、並びにウェーブレット復号装置及び方法 | |
US6940909B2 (en) | Video decoding during I-frame decode at resolution change | |
JP4337066B2 (ja) | 画像処理装置及びビットモデル化方法 | |
US6938105B2 (en) | Data apparatus and method having DMA circuitry to efficiently transfer multivalued bit-plane data | |
Chen et al. | Analysis of EBCOT decoding algorithm and its VLSI implementation for JPEG 2000 | |
US6538583B1 (en) | Method and apparatus for context modeling | |
Jilani et al. | JPEG image compression using FPGA with Artificial Neural Networks | |
US20060056514A1 (en) | Techniques for minimizing memory bandwidth used for motion compensation | |
JP4109151B2 (ja) | 画像処理装置 | |
JP2006067485A (ja) | 画像情報処理方法及び装置並びにプログラム | |
US20180316920A1 (en) | Video image encoding device, video image encoding method and program recording medium | |
JP2005277758A (ja) | 画像復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060502 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071019 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071218 |
|
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: 20080118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080131 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130222 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |