JP4745445B2 - 変換係数ブロックを符号化するための装置と方法 - Google Patents

変換係数ブロックを符号化するための装置と方法 Download PDF

Info

Publication number
JP4745445B2
JP4745445B2 JP2009543355A JP2009543355A JP4745445B2 JP 4745445 B2 JP4745445 B2 JP 4745445B2 JP 2009543355 A JP2009543355 A JP 2009543355A JP 2009543355 A JP2009543355 A JP 2009543355A JP 4745445 B2 JP4745445 B2 JP 4745445B2
Authority
JP
Japan
Prior art keywords
bit
magnitude
bits
predetermined
data word
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
Application number
JP2009543355A
Other languages
English (en)
Other versions
JP2010515317A (ja
Inventor
ヨルグ モーア
Original Assignee
フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE200610061648 external-priority patent/DE102006061648B4/de
Priority claimed from DE200610061651 external-priority patent/DE102006061651B4/de
Priority claimed from DE200610061647 external-priority patent/DE102006061647B3/de
Application filed by フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ filed Critical フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
Publication of JP2010515317A publication Critical patent/JP2010515317A/ja
Application granted granted Critical
Publication of JP4745445B2 publication Critical patent/JP4745445B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、例えば、JPEG2000規格に従ったデジタル画像圧縮技術の課程において発生する画像のような変換係数ブロックを符号化することに関する。
に関する。
JPEG2000符号化処理のステップは、いわゆる「タイル」、すなわち、長方形の画像領域への画像の任意の副分割、DC信号部分レベルシフト、色成分の任意の変換、離散的ウェーブレット変換の実行、ウェーブレット係数のスカラー量子化、2次元アレイ、いわゆる「符号ブロック」の量子化されたウェーブレット係数の配列、いわゆる「係数ビットモデル化処理」を含むブロック符号化、および符号化された符号ブロックデータを、規格に従う符号化ストリームの中に配列することと同様の算術符号化処理を含む。例えば、ステップは、クリストポーラス他:JPEG2000静止画像符号化システム:概要、IEEE消費者エレクトロニクスの処理、Vol.46、No.4、1103頁〜1127頁、2000年11月(Christopoulos et al.:The JPEG2000 Still Image Coding System:An Overview,IEEE Transaction on Consumer Electronics,Vol.46,pp1103−1127,November 2000)に記載されている。
前記ステップの中で、計算上最も集中的な部分は、係数ビットモデル化である。このステップでは、符号ブロックはいわゆる「マグニチュードビット面」に分解される。マグニチュードビット面は、MSBs(最も重要なビット)〜LSBs(最も重要でないビット)、および関連したサインビットで始まる数列で、配列または生産される。そして、マグニチュードビット面は別々に扱われたり、または熟考されたりする。それぞれのマグニチュードビット面は、1つの符号化パスだけでモデル化される第1のビット面を除いて、連続した3つの符号化パスでモデル化される。前記符号化パスは、特定の数列のマグニチュードビット面のビットを縦断する。左上位置におけるビットは、スタートのビットである。それから、1行だけ右にジャンプする前に、下部に置かれた3つのビットが来る。これは、符号ブロックの幅と4つの係数の高さとを持つ、いわゆる「縞(stripe)」をもたらす。符号ブロックが水平方向でいったん処理されると、次の縞は下の4つの係数位置などを処理する。
ISO/IEC15444−1は、符号体系が、そして、仮にそうだとすれば、どの符号体系が、符号化パスの間、適用されるか否かをさらに詳細に説明する。特に、この決定は係数ごとに行われる。言い換えれば、特定の係数だけが第1の符号化パスでモデル化される。また、第2の符号化パスは、残りの係数のいくつかを符号化する。 残りは第3の符号化パスによってモデル化される。どの係数がどの符号化パスに属するかは、特に、それぞれの係数が重要であるか否かに依存する、または、すぐ隣の係数の重要性に依存する。ISO/IEC15444−1(以下、略して規格と称する)は、符号ブロックの中の各係数のために2進の状態変数、いわゆる「重要性状態」を定義する。始めは「非重要」に初期化される前記状態変数は、係数のセットビットが初めてモデル化されるべきそのマグニチュードビット面で、「重要」に変わる。その結果、それは、前記符号ブロックのモデル化の終わりまで設定され続ける。
データビットは、各場合において、係数のビットために、1つのコンテキストインデックスと共に発生する。係数のビットは、符号化パスの間、特定のビット面の中で、符号体系によってモデル化される。前記コンテキストインデックスは、主として係数およびその隣の係数の重要状態変数から生じる。特定の符号化パスのために、すなわち、第1および第3の符号化パスのために、現在の係数のサインビットもまた、コンテキストインデックスと共にモデル化されるということが起きる。コンテキストインデックスは、再び重要状態変数およびその隣のサインに依存する。いわゆる「マグニチュード改良(MR)」符号体系、または第2の符号化パスは、この体系が前のビット面の中でモデル化された係数に既に適用されたか否か、または、この体系が初めて適用されるか否かを、最初に評価する。川下に接続された算術符号器は、上で説明したように、設定された数列でビットコンテキストペアを予測する。
仮に、ビットコンテキストペアが、規格に従って算術符号器によって符号化される数列に従うならば、これは、上で説明したように、そして、従うように、特に、ソフトウェアの実行によって、符号化パスに関して連続した継承をもたらす。ハードウェアの中での実行によって、より高い符号化速度が達成される。例えば、数個の符号ブロックは、数個のブロック符号器を並列に配置することにより、互いに独立して同時に符号化される。しかしながら、これは、例えば集積回路に必要なトランジスタに関して、または、FPGA(電界プログラマブルゲートアレイ)のゲート同等物に関して、資源の大規模な消費を構成する。
ライアン他:JPEG2000のEBCOTのためのブロック符号化エンジンの分析と構成設計、IEEE画像技術のための回路とシステムの処理、Vol.13、No.3、2003年3月、219頁〜230頁、(Lian et al.:Analysis and Architecture Design of Block−Coding Engine for EBCOT in JPEG 2000,IEEE Tranactions on Circuits and System for Video Technology,Vol.13,No.3,March 2003,pp219−230)には、例えば、JPEG2000のブロック符号器のハードウェア設計が記述されている。そこでは、それぞれのパスの間、それぞれの係数がそれぞれのパスに属するか否かに関して、係数ごとに要求された検証によって、省資源化が達成されている。その中では、メンバー資格検証が並行して行われ、それぞれのパスに属するビットがないか、または、一つあるか、または、数個あるか否かによって、1パス当たり4つの行または4つの行のグループが飛び越される。ガンガダハーとブハティア:FPEG2000のためのEBCOT構成に基づいたFPGA、フィールドプログラマブルの技術(FPT)、2003、会報2003、IEEの国際コンファレンス、228頁〜233頁(Gangadhar and Bhatia:FPGA based EBCOT Architecture for FPEG2000,Field−Programmable Tecnology(FPT),2003,Proceedings 2003,IEE International Conference,pp228−233)に提示されたJPEG2000ブロック符号器のハードウェア解決策は、さらに一歩進めて、パスを並列して行うことを提示する。その結果、より少ないクロックサイクルが符号ブロックを符号化するために要求される。マグニチュードビットとサインビットを格納するためのメモリに加えて、更新された重要状態変数を一時的に格納するためのバッファが、第1の符号化パスの世話をする処理装置と、符号化パス2と3に責務がある第2の処理装置との間に設けられている。
クリストポーラス他:JPEG2000静止画像符号化システム:概要、IEEE消費者エレクトロニクスの処理、Vol.46、No.4、1103頁〜1127頁、2000年11月(Christopoulos et al.:The JPEG2000 Still Image Coding System:An Overview,IEEE Transaction on Consumer Electronics,Vol.46,pp1103−1127,November 2000) ライアン他:JPEG2000のEBCOTのためのブロック符号化エンジンの分析と構成設計、IEEE画像技術のための回路とシステムの処理、Vol.13、No.3、2003年3月、219頁〜230頁、(Lian et al.:Analysis and Architecture Design of Block−Coding Engine for EBCOT in JPEG 2000,IEEE Tranactions on Circuits and System for Video Technology,Vol.13,No.3,March 2003,pp219−230) ガンガダハーとブハティア:FPEG2000のためのEBCOT構成に基づいたFPGA、フィールドプログラマブルの技術(FPT)、2003、会報2003、IEEの国際コンファレンス、228頁〜233頁(Gangadhar and Bhatia:FPGA based EBCOT Architecture for FPEG2000,Field−Programmable Tecnology(FPT),2003,Proceedings 2003,IEE International Conference,pp228−233)
しかしながら、変換係数ブロックの符号化は、例えば、JPEG2000符号化の中で起きるので、ハードウェアの中で効果的に構成される、解決策を見つけることが望ましい。
本発明の目的は、より効率的なハードウェアの中での実行を供給する変換係数(例えば画像の変換係数)のブロックを符号化するための方法と装置を提供することである。
本目的は、請求項1、5または12に記載の装置、請求項33または4に記載の方法によって達成される。
第1の態様によれば、変換係数のブロックを符号化するための装置であって、変換係数のそれぞれは、マグニチュードビットがマグニチュードビット面の数列を定義するように、数個のマグニチュードビットによって表され、各場合において多数の隣接マグニチュードビットの組の中のマグニチュードビット面のうちの事前決定マグニチュードビット面のマグニチュードビットを縦断するための、そして、事前決定マグニチュードビットが、データワードのうちの1つの中に、関連サインビットと共に符号化され、もしくは、事前決定マグニチュードビットが、データワードのうちの1つの中に、同じ組の他の事前決定マグニチュードビットと共に符号化されるように、組のマグニチュードビットのうちの事前決定マグニチュードビットをデータワードの中に符号化するための前置符号器と、データワードを一時的に格納するためのデータワードバッファと、データワードバッファからのデータワードを符号化データストリームの中に符号化するためのエントロピー符号器と、を含むことを特徴とする、装置である。
第1の態様の中心となる着想は、より速い完了または符号化が、前置符号器を利用することによって達成される。前置符号器は、多くの隣接マグニチュードビットの組の中の事前決定マグニチュードビット面のマグニチュードビットを縦断するとき、組のマグニチュードビットのうちの事前決定マグニチュードビットを、データワードに符号化する。しかし、各場合において、サインビット、またはそれらの数個のグループと共に、一方の側の前置符号器と他方の側のエントロピー符号器との間に接続される、データワードのためのバッファを利用する。エントロピー符号器動作の符号器動作の独立性は、前置符号器が既に次のマグニチュードビット面を縦断する間、エントロピー符号器は、例えば、他の事前決定マグニチュードビットに対して責務がある、他の前置符号器のデータワードを符号化することを可能にする。
本実施形態によれば、前置符号器は、事前決定マグニチュードビットと共に、関連サインビットをデータワードの中に符号化する。その結果、データワードは、例えば、マグニチュードビットのためのパートデータワードと、関連サインビットのためのパートデータワードを含む。従って、両方の処理は、クロックサイクルの中で並列して前符号化される。エントロピー符号器は、バッファの中のデータワードからビットマグニチュードを再構築して、エントロピー符号化する。そして、その後、エントロピー符号器は、ちょうど符号化されたマグニチュードビットの重要性によって、サインビットのエントロピー符号化を実行し、または、実行しない。
さらなる実施形態によれば、前置符号器は、事前決定マグニチュードビットを縦断している間、符号化を実行する。従って、組の中の少なくとも2つの事前決定マグニチュードビットは、データワードに符号化される。このために、前置符号器は、例えば組の中の各マグニチュードのために、それぞれのマグニチュードビットをパートデータワードに符号化するための前符号化ユニットを含む。それらは、組のためのデータワードの中に含まれている。その結果、再び、処理動作が並行して実行される。さらに、エントロピー符号化のためのそれぞれのマグニチュードビットと関連コンテキストとが専用状態を持つために採用されるパートデータワードが供給される。専用状態は、それぞれの組のそれぞれのマグニチュードビットが、事前決定マグニチュードビットに属さないことを示す。その結果、エントロピー符号器は、データストリームの中に符号化されるべきマグニチュードビットと、データストリームの中に符号化されるべきでないマグニチュードビットとを区別する。
第2の態様によれば、変換係数のブロックを符号化するための装置であって、変換係数のそれぞれは、マグニチュードビットがマグニチュードビット面の数列を定義するように、数個のマグニチュードビットによって表され、マグニチュードビット面のうちの事前決定マグニチュードビット面のマグニチュードビットを縦断するための、および、組のマグニチュードビットのうちの事前決定マグニチュードビットを符号化データストリームの中に符号化するための符号化手段を含み、符号器は、バッファ106と、マグニチュードビットを縦断する間、事前決定マグニチュードビット面に関連して、パス数列に従って最も早く次に処理されるべき、事前決定マグニチュードビット面のマグニチュードビットによって表される変換係数のために、最も早く次に処理されるべきであるが、しかし、前者より重要なビット面内に位置しているマグニチュードビットと同じ変換係数を表すマグニチュードビットから、重要性を示す第1の状態ビットを決定するための、そして、決定された第1の状態ビットでバッファを満たすためのビット抽出器104と、バッファ内の第1の状態ビットを使用する間、事前決定マグニチュードビットを符号化データストリームの中に符号化するための符号器と、を含むことを特徴とする、装置。
第2の態様の1つの発見は、符号器が、ビット抽出器によって満たされたバッファの中の状態ビットを利用する間、最も早く次に処理されるべきであるが、しかし、前者より重要なビット面の中に位置しているマグニチュードビットと同じ変換係数を表すマグニチュードビットを含む情報に基づいて、事前決定マグニチュードビットを符号化データストリームの中に符号化するとき、変換係数ブロック符号器の、より効果的、またはより効率的な装置を作製することができることである。
このように、マグニチュードビットが縦断されている間、現在処理されているマグニチュードビットの近傍に、一時的に、および/または、局所的に、重要情報を格納することが可能である。重要情報は、事前決定マグニチュードビット面のマグニチュードビットが、そして、仮にそうだとすれば、事前決定マグニチュードビット面のどのマグニチュードビットが、事前決定マグニチュードビットに属するか否かを決定するために、符号化手段によって要求される。それは、重要情報を格納するための比較的大きいメモリが不要になるという結果を生じる。同様に、これは、必要なメモリが小さく保たれるという結果を生じる。この結果、逆により複雑な、しかし、逆により速いメモリ技術が、これらの状態ビットを格納するために使用される。状態情報が一時的にバッファに格納されるだけであっても、符号化処理の間、バッファが満たされる内容は、前記更新された内容を使用するために更新される。すべてのビット面に渡って、格納と回復の代わりに絶えず状態情報を抽出する論理のための追加費用は、メモリ費用によって達成される省資源化と比べて、比較的わずかである。また、抽出は実際の符号化処理と並列して実行されるので、抽出は少しのロスタイムも構成しない。
第3の態様によれば、変換係数のブロックを符号化するための装置であって、変換係数のそれぞれは、マグニチュードビットがマグニチュードビット面の数列を定義するように、数個のマグニチュードビットによって表され、各場合において、多数の隣接マグニチュードビットの組の中のマグニチュードビット面のうちの事前決定マグニチュードビット面のマグニチュードビットを縦断するための、そして、組のマグニチュードビットのうちの事前決定マグニチュードビットを、符号化データストリームの中に符号化するための符号化手段と、パス数列に従って最も早く次に処理されるべき、組の事前決定マグニチュードビット面の隣接マグニチュードビットの中のマグニチュードビットが、そして、仮にそうだとすれば、隣接マグニチュードビットの中のどのマグニチュードビットが、事前決定マグニチュードビットに属するか否かを予測するための予測手段と、を含み、符号化ユニットは、予測によって符号化を実行するように構成されていること、を特徴とする、装置である。
第3の態様の中心となる着想は、例えば、ハードウェアにおいて、そうだとすれば、パス数列に従って最も早く次に処理されるべき組の事前決定マグニチュードビット面の隣接マグニチュードビットの中のマグニチュードビットが、そして、仮にそうだとすれば、隣接マグニチュードビットの中のどのマグニチュードビットが、事前決定マグニチュードビットに属するか否かを予測する予測手段が提供されるとき、変換係数ブロック符号化の、より効果的、またはより効率的な装置が達成される。
本実施形態によれば、予測は、パス数列に従って、処理されるべき最新の組であった組に続く組の中の現在のマグニチュードビット面のマグニチュードビットに基づいている。例えば、これらのマグニチュードビットは、処理されるべき最新の組であった組に続く組のマグニチュードビットのために、現在のマグニチュードビット面に関して、マグニチュードビットによって表される変換係数の重要性を指示する、そのような重要情報を変更または更新するために使用される。その結果、仮想数列が維持されるならば、仮想数列に従って、後で処理されるべきどんなパスも、他の重要性を持つことを考慮に入れる間、パスの中の現在のマグニチュードビット面のマグニチュードビットのうちの異なるマグニチュードビットのために、組の中の現在のマグニチュードビット面のマグニチュードビットのパスの、仮想期間の中で要求される連続した実行を終了することは、可能である。また、仮に、パスの仮想数列の完成が一度で実行されるならば、その結果、前記重要情報に依存する予測が可能である。
しかしながら、これは仮想数列の方法で実行されるパスの並列完成の場合に適用されるだけではない。仮に、組のマグニチュードビットの中で、パスが仮想的に行われるべきパスの仮想数列が指定されるならば、および/または、仮に、特定のマグニチュードビットのメンバー資格が隣のマグニチュードビットの重要性に依存するならば、パス数列に従って、処理されるべき最新の組であったその組に続く組の中の現在のマグニチュードビット面のマグニチュードビットの利用は、仮に、それぞれの仮想のインター組数列、および/または、インナー組数列が維持されるならば、異なるメンバー資格は、仮想のインター組数列、および/または、インナー組数列に従って、後で処理されるべきどんなマグニチュードビットに対しても本当であるということを考慮に入れることを許容する。
一般に、予測は、符号化手段が現在の組の中の事前決定マグニチュードを直ぐに処理し始めることを可能にする。または、符号化手段は、事前決定マグニチュードビットに属する組の中のマグニチュードビットを処理するために処理サイクルだけを必要とすると予測される。従って、符号化手段は、それぞれの組の中の事前決定マグニチュードビットを連続して符号化するように構成される。そして、この目的のために、それは処理サイクルの最低限の数だけを要求する。しかしながら、並列に組の中の全てのマグニチュードビットを処理することに適した符号化手段は可能であるが、しかし、予測の結果として、全く同じ処理サイクルの中で、マグニチュードビット値だけでなく、それぞれのマグニチュードビットが事前決定マグニチュードビットに属するか否かも、考慮に入れることができる。その結果、後者の場合において、同じ処理サイクル中で、それぞれのマグニチュードビットをデータ値と関連符号化コンテキストの1ペアに変換する。前記ペアは、承認できない符号化コンテキストを調整するなどして、事前決定マグニチュードビットに属さないマグニチュードビットに対して生じない状態を示す。その結果、予測手段は、より少ない処理サイクルを要求する符号化の高速装置を可能にする。
本発明によれば、より効率的なハードウェア装置を供給する変換係数(例えば画像の変換係数)のブロックを符号化することができる。
本発明のさらなる実施例は、図面を参照して以下においてさらに詳細に説明される。
本発明に係る変換係数ブロック符号化が適用される画像圧縮器を示すブロック図である。 マグニチュードビットおよびサインビットへの変換係数の副分割を示す概略図である。 本発明の一実施形態に係るブロック符号器を示すブロック図である。 本発明の一実施形態に係る図3の符号化パス1のビットモデル化ユニットを示すブロック図である。 本発明の一実施形態に係る図3の符号化パス2のビットモデル化ユニットを示すブロック図である。 本発明の一実施形態に係る図3の符号化パス3のビットモデル化ユニットを示すブロック図である。 本発明の一実施形態に係る図3のパス決定器を示すブロック図である。 図3のシフトレジスタユニットのサイズと時間内にそれぞれのポイントに収納された内容のサイズとを例証するための概略図である。 本発明の別の実施形態に係るブロック符号器を示すブロック図である。 本発明の別の実施形態に係るブロック符号器を示すブロック図である。 本発明の別の実施形態に係るブロック符号器を示すブロック図である。
図1は、以下で説明される実施形態が有利に使用される応用ケースの例として、画像圧縮器10を示す。図1の画像圧縮器10は、例えば、列と行に配置したサンプルまたは画素値からなる元の画像12を、符号化データストリームまたは符号ストリーム14の中に圧縮するように構成されている。この目的のため、図1の画像圧縮器10は、例えば任意のタイル副分割器16、DC信号レベルシフタ18、任意のカラー変換器20、空間スペクトル分解のための変換器22、任意の量子化器24、ブロック符号器26、およびデータ配列器28の直列接続を含む。タイル副分割器16は、画像12を例えば長方形の画像領域に、いわゆるタイルに副分割する。さらに、処理がタイルごとに実行され、その結果、個々のタイル内で更なる圧縮が個別に行われる。DC信号レベルシフタ18は、各タイル内で、それぞれのタイルのすべての画素にわたって一定である直流信号シフトを実行する。その結果、例えば、輝度値などの画素値の平均が、その後、ゼロに達する。カラー変換器20は任意に画素値をカラー変換させる。カラー変換は任意であり、当然にカラー画像12の場合にだけ行われる。次に、変換器22が、1タイル当たり1つの空間スペクトル分解を実行する。JPEG2000符号ストリーム14が発生する場合、変換はウェーブレット変換であり、例えば、より明確には、個別に各タイルに適用される離散的ウェーブレット変換である。このように、各タイルは、それぞれのタイルのローカル領域の周波数特性を説明する変換係数の副帯域からなる、異なる溶解レベルまたは分解レベルに分解される。変換係数は既に整数である。任意に、量子化器24が変換係数をスカラー量子化させて、それを符号ブロックに、すなわち、例えば、変換係数の矩形配列に結合する。ブロック符号器26は、符号ブロック内の変換係数を、ビット面ごとにデータストリームにエントロピー符号化する。データ配列器28は、算術的に符号化された符号ブロックデータストリームを適当に配列する。その結果、JPEG2000に従う符号ストリームのような符号ストリーム14が、形成される。
特に、図1に示されているように、ブロック符号器26は、下流に接続された算術符号器32を有する係数ビットモデラー30を含む。係数ビットモデラー30は、算術符号化のために算術符号器32によって使用されるコンテキストを、係数のマグニチュードビットと関連づける。特に、算術符号器32は、コンテキストによって動作し、かつ現在の間隔を副分割するように構成されている、2進の算術符号器である。2進の算術符号器は、算術符号器の瞬時の状態を、符号化されるべき次のビットのためにそれぞれのビット値の発生に関して推定確率によって二つの半分の中に表す。前記半分のうち、符号化されるべき現在のビットの実際のビット値によっている現在の間隔をこの間隔に制限するために、一つの半分が選択される。前記推定確率は、それぞれのコンテキストに対して異なる。そして、コンテキストは、隣接重要性、および/または、マグニチュードビット値および多数の可能なコンテキストによって、係数ビットモデラー30によって決定される。さらに、算術符号器32は、符号化処理の間、予め初期化した推定確率を、コンテキストごとに実際の確率に適応させるように、適応的に作動する。
本発明の実施形態の以下の説明は、初めは、JPEG2000に従う圧縮に焦点を合わせる。それは、ブロック符号器26の仕事が、この従来技術に対抗して、以下でさらに詳細に説明される理由である。特に、ブロックの中の変換係数の個々のマグニチュードビットは、ブロック符号器26によって、事前決定または事前定義された数列における算術符号器32の算術で符号化されたデータストリームに符号化される。すなわち、特に、初めは、ビット面ごとに、最高重要ビット面から最低重要ビット面まで、そして、前記ビット面の中で、事前定義されたスキャン数列の中の3つのパスの中の係数マグニチュードビットをスキャンすることによって、そのようなマグニチュードビットだけが、特定の評価基準を満たす各パスで符号化される。その結果、前記三つのパスとともに、マグニチュードビット全てが、算術的符号化データストリームから再構築される。ビット面への副分割および前記ビット面の中のスキャン数列を図示するために、一例として図2は3×8のサイズの符号ブロックを示す。
特に、図2の符号34において、一例として、3×8の変換係数のaからxを持つ3×8符号ブロックを示す。矢印36によって示されるように、aからxの各係数は、n個のマグニチュードビットa2…an,…,x1…xnとそれぞれのサインビットavz…xvzとで表される。マグニチュードビットとサインビットへの分離化36は、離散的ウェーブレット変換22または量子化24(図1)から本質的に生じる。MSBs(最も重要なマグニチュードビット)が、例えば、ビットa1…x1であり、第1のマグニチュードビット面381を形成する。同様に、他のマグニチュードビットはそれぞれのビット面382…38nに結合される。その結果、サインビット40と同様にそれぞれのビット面381…38nはそれぞれ3×8ビットアレイを形成する。
前記のスキャン数列は、ビット面381…38nのビットがスキャンされることを提供する。四つの行において、または、各場合において、行方向に互いに隣接する四つのマグニチュードビットの組において、一つの列から別の列に終わる、すなわちストライプ(縞)ごとに、次の列の中の次の縞がスキャンされる。そして、マグニチュードビットは4つの行の各ベクトル内で、または、各組の中で、上から下までスキャンされる。その結果、ビット面381…38nに対して、スキャンパターンが、以下のように表される。
i,bi,ci,di,ii,ji,ki,li,qi,ri,si,ti,ei,fi,gi,hi,mi,ni,oi,pi,ui,vi,wi,xi
i=1...n
ここで、前記スキャンパターンは、一例として、4つの6行、または、組、および二つの縞を含む。
個々のビット面のマグニチュードビットの三重スキャンは、ブロック符号器26について以下に説明した実施形態に従って、避けられる。この場合、それぞれのパスに関連したマグニチュードビットが、スキャンによって認識され、そして、ビット値と関連コンテキストが結果として生じるデータワードに符号化される。それらはバッファの中に一時的に格納された後、適した数列で算術的符号化データストリームの中に符号化される。このコンテキストにおいては、マグニチュードビットとサインビットが一時的に格納されるメモリを常に調べることが避けられる。
図3は、本発明の実施形態に係るブロック符号器100を示す。それはメモリユニット102、ビット抽出器104、シフトレジスタユニット106、係数ビットモデル化ステージ108、バッファ110、および算術符号化手段112を含む。メモリユニット102は、例えばRAMのようなランダムアクセスメモリーであり、符号化するための符号ブロック、例えば図2の符号ブロック34の量子化され、符号化された変換係数を得るためのインタフェースとして機能する。ビット抽出器104は、メモリユニット102と結合してメモリユニット102の記憶内容へのアクセス114を実行し、メモリユニット102からマグニチュードビットとサインビットとを読み取る。以下のことは、ビット抽出器104が、マグニチュードビット、および/または、サインビットにアクセスする時の、より詳細な記述である。いずれにせよ、ビット抽出器104はシフトレジスタユニット106をビットでいっぱいにする責務がある、そのビットは、メモリユニット102から読み出された情報に基づいて、必要なコンテキスト発生動作、または必要な事前の符号化を実行するために係数ビットモデラーステージ108によって要求される。より具体的には、ビット抽出器104は、以下により詳細に提示されるように、スキャンされる。現在のマグニチュードビット面のマグニチュードビットは、マグニチュードビット面ごとに、指定された縞に沿って永久に、スキャンの間、情報でシフトレジスタユニット106を満たす。そして、シフトレジスタユニット106は、シフトレジスタ長のために、縞に沿って現在のマグニチュードビット面の現在のセクションに関する情報ビットを含む。縞は、現在、そのコンテキスト発生または前符号化のために、係数ビットモデル化ステージ108によって要求される。後で提示されるより詳細な記述を予測して、ビット抽出器104は、単なる接収によって、新たに受け入れられるべき、現在のビット面のマグニチュードビット108を形成する。例えば、係数マグニチュードビットおよびサインビットから、単なる接収によって、新たに受け入れるべきサインビット118を形成し、そして、適当に結合することによって、関連状態ビット120を形成する。それらは、シフトレジスタユニット106に送られ、さらに詳細に以下で説明されるように、それぞれの適当な数のシフトステージまたはランクの深さの中に、個々のビット108、110、112を持つように次元化される。従って、符号ブロックの縁に位置するどんな隣接ビットも、図3に一例として示すように、上側の隣接ビットユニットに対して、ゼロで満たされる。
図3は、シフトレジスタ106が、14個の隣接レジスタと共に、特に係数ビット108、サインビット118、および状態ビット120のための4つのレジスタ(斜線で示されている)をそれぞれ供給することを簡素な方法で示す。従って、シフトレジスタユニット106は、マグニチュードビット、サインビットおよび2つの異なる状態ビット(さらに詳細に以下で説明される)のためのそれぞれの数個のシフトレジスタ1061,2,3,4を含むと考えられる。前記個々のシフトレジスタ10614は互いに同期している。その結果、レジスタ内容のすべてが、1シフトパルス当たり、水平方向の1つの位置だけ、または1つのシフトレジスタランクだけ、すなわち、図3の6のベクトルだけ、同時に進められる。
本質的に、係数ビットモデル化ステージ108は、数個のビットモデル化ユニット1081、1082、および1083に副分割される。以下でさらに詳細に説明されるが、第1のビットモデル化ユニットはパス1に対応し、第2のビットモデル化ユニットはパス2に対応し、第3のビットモデル化ユニットはパス3に対応する。個々のユニット1081〜1083はそれぞれ、それぞれのレジスタ内容を分析し、シフトレジスタ1061〜1064のそれぞれのビットレジスタに結合される。従って、ユニット1081〜1083は、図3の中で斜線で示したレジスタに対応するマグニチュードビットの現在の組の中でモデル化されるべきそれぞれのビットに対して、それぞれのパスに従って、モデル化されるべきか否かを確立する。そして、仮に、これがそうであるならば、どちらかの結果となる。ビットモデル化ユニット1081〜1083は、特に、それぞれのパスに属する組ごとに、またはマグニチュードビットごとに、それに従って前符号化されるデータワードを、さらに詳細に以下で説明される制御ビットを包んで、発生させるように、そして、バッファステージ110のそれぞれのバッファ1101、1102および1103の中にそれを格納するように構成される。それぞれのパスに属するマグニチュードビットを全く含まない組に属するデータワードは、以下で説明されるように、ちょうどそれぞれのパスに属さないマグニチュードビットのためのデータワードのように捨てられる。
特に、ビットモデル化ユニット1081〜1083は、以下により詳細に説明するように、適当な数列の中で、そして、正しいコンテキストを使用する間、または、クリアテキストモードのような異なったモードの中の算術的符号化を中断する間、バッファ1101〜1103の中に格納されるデータワード、または、バッファ1101〜1103で符号化されたマグニチュードビットを、データストリームの中に挿入するため、データワードの中で、後続算術符号化手段112によって使用される制御ビットを調整するように構成される。このために、算術符号化手段112は特に、下流に接続された算術符号器124を持つパス決定器122を含む。パス決定器122は、バッファ1101〜1103の中の前符号化データワードの符号器として機能し、この端はバッファ1101〜1103に結合される。前記データワードから、パス決定器122は、パス1、2、および3の中のコンテキストに従ってモデル化されるビットを、関連コンテキストと共に再構築する。そして、これらのペアを適当な数列で算術符号器124に転送する。すなわち、パス1は、パス3によって支えられたパス2によって支えられる。また、送られた情報は、ビット値と関連コンテキストインデックスに加えて、算術符号器124によって使用されるべき符号化モードの情報、または同様のものを含むことが可能である。決定器122から算術符号器124までの制御信号は、一般に図3の符号126によって指定される。言い換えれば、パス決定器122は、バッファ110の中の読み出したデータワードを符号化して、ビット/コンテキストペア126に戻して、指定された方法と適当な表現で、下流の算術符号器124にビット/コンテキストペア126を供給する。
前記では、図3のブロック符号器100の構造の大まかな記述が与えられた。そして、個々のユニットの任務と機能性について概説した。ビットモデル化ユニット1081〜1083とパス決定器122とその上に基づいた詳しい記述の前に、ブロック符号器100の動作モードの詳しい記述が与えられ、図3のユニットの相互作用の一般的な目標が、もう一度簡潔に概説される。その結果、以下の詳細な記述の理解に役立つ概観が提供される。既に言及されているように、ビット抽出器104は、シフトレジスタユニット106を満たすように世話をする。このような関係において、ビット抽出器104は、縞毎に現在のマグニチュードビット面をスキャンする。したがって、まず得られた近似の結果が、サインビット面40(図2)の対応する窓の同期運動を伴って、そして、前記窓の内容のための関連状態ビットを一時的に格納している間、スキャン数列に沿って現在のマグニチュードビット面を縦断して動く窓として、シフトレジスタユニット106を考える。それらの仕事のために、ビットモデル化ユニット1081〜1083は、シフトレジスタユニット106内に含まれた情報より多い情報を必要としない。なぜなら、メモリユニット102へのつまらないメモリアクセス114は要求されないからである。さらに、現在のマグニチュードビット面を通る1つのパスだけが要求される。そうであっても、上で既に議論したように、3つのパスが、マグニチュードビットがデータストリームの中に符号化される数列を定義するための規格によって特定される。後者を達成するために、それぞれのビットモデル化ユニット1081〜1083だけが、それら自身のそれぞれのパスに属する4つの組において、それらのマグニチュードビットの世話をする。一般に、パス1は、まだ重要でなく、すなわち、より重要なマグニチュードビット面の中のマグニチュードビットがゼロ(非重要)であるが、しかし、重要である変換係数に隣接している、変換係数のマグニチュードビットの世話をすると主張する。混乱を排除するために、仮に、より重要なマグニチュードビット面の中のマグニチュードビットの少なくとも一つが1であるならば、特定のマグニチュードビット面の中の変換係数が重要であると述べられ、そして、仮に、より重要なマグニチュードビット面の中のマグニチュードビットのいずれもが1でないならば、特定のマグニチュードビット面の中の変換係数が「重要になる」と称される。しかし、1のマグニチュードビットによって、現在のビット面の符号化の間、まだ前記面の中で、重要になる。マグニチュードビットは、それが1であれば重要であると称される。パス2は現在のマグニチュードビット面の中に既に重要である変換係数の世話をする。最終的に、パス3は、残っているマグニチュードビット、すなわち、非重要であり、パス1に該当しなかった変換係数のマグニチュードビットをアドレス化する。
現在符号化されるべきマグニチュードビット面内の変換係数の重要性は、ビットモデル化ユニット1081〜1083によって実行されたモデルまたはコンテキスト形式において、重要な役割を演じる。なぜなら、コンテキストが自身に基づいて決定され、そして、この情報が、解読の間、デコーダに既に存在し、それ故、前記デコーダがコンテキストモデル化を再生させるからである。このポイントにおいて、特定のマグニチュードビットがパス3に属するかどうかに関する決定に依存していることは、特に既に注意するべきである。中でも、隣接マグニチュードビットの1つが実際に、パス1の前の論理的数列において、非重要な変換係数に属するが、しかし、パス1に属して、それ故、パス1の端の前でさえ重要になるかどうかに関する決定に依存していることは、特に既に注意するべきである。おそらく、仮想の方法で、または、規格において特定された数列に従って、パスが次々と実行される。その場合、それぞれのマグニチュードビットは、実際にパス3に属するのではなく、パス1に属する。しかしながら、当然に重要になる隣接マグニチュードビットの問題は、マグニチュードビットスキャン数列に従って、現在熟考されているマグニチュードビットの前に位置している隣接マグニチュードビットに関連するだけである。
ビットモデル化ユニット1081〜1083は、パス決定器122によって次々と読み出される連続したデータワードで、それらのそれぞれのバッファ1101〜1103を満たす。特に、マグニチュードビット面ごとの方法で、すなわち、バッファ1101で始まり、現在のマグニチュードビット面の最後のデータワードが読み出されるまでの時間中続く。次に、バッファ1102で、最後のデータワードが、現在のマグニチュードビット面から読み出されるまでの時間中続く。そして、最後のデータワードが読み出されるまでの時間中、バッファ1103よって再び後に続く。例外として、スタートが、直接に、第1の、または、最も重要なマグニチュードビット面の中においてバッファ1103で成される。なぜなら、前記マグニチュードビット面の中において、どんな変換係数もまだ重要でなく、また、それ故、この面のどんなマグニチュードビットも、パス3より他のパスに属さないからである。パス決定器122の中では、データワードが解読されて、算術符号器124のためのそれぞれの制御信号に変換される。算術符号器124は、それから符号ブロックのための符号化データストリームを形成する。
ビットモデル化ユニット1081〜1083および図3のパス決定器122の内部構造は、以下でさらに詳細に説明される。図4は、ビットモデル化ユニット1081の構造を示す。それはパス1、すなわち第1の符号化パス(また「重要伝播パス」と称す)に対応する。なぜなら、それは、既に重要な変換係数の近傍に位置し、かつ、既に重要な変換係数から大きく離れて位置している変換係数よりもっと重要になりそうである変換係数のマグニチュードビットに関連するからでる。上に言及したように、それぞれのマグニチュードビットが、符号化パス1においてモデル化されるかどうかに関する決定は、それぞれの係数がまだ現在のビット面に非重要であるかどうかに基づき、かつ、直接隣接係数の少なくとも1つが、重要であるか、または、第1のパスの過程の間に重要になるかどうかに基づく。
ビットモデル化ユニット1081は、分析/予測ユニット200、マグニチュードビット前符号化ユニット202、マグニチュードビット前符号化ユニット202の入力側から上流へ接続されるマルチプレクサ204、206、サインビット前符号化ユニット208、サインビット前符号化ユニット208の入力側から上流へ接続されるマルチプレクサ210、212、更新デマルチプレクサ214、正当性ビットマルチプレクサ216、4ビットレジスタ218、クロックカウンタ220、係数セレクタ222、および制御ビットコントローラ224を含む。また、バッファ1101が、理解の容易さのために、シフトレジスタユニット106と同様に、図4に表現されている。
分析/予測ユニット200は、予め、すなわち、ビットモデル化ユニット1081が処理されるべき組(図4で位置が斜線で表現されている)を予想する、シフトレジスタ106のその部分の中に、処理されるべき次の組をシフトさせることを予測して、これらのマグニチュードビットのどれがパス1に属するかを確立するために考えられる。分析/予測ユニット200は、例えば、ビット抽出器104(図3)によってシフトレジスタユニット106が詰め替えられるときはいつも、すなわち、各シフトパルスで、この決定をする。例えば、図4で、分析/予測ユニット200が、4つのベクトルqm、rm、sm、tmのマグニチュードビットのメンバー資格または非メンバー資格を決定する。4つのベクトルqm、rm、sm、tmは、レジスタユニット106における次のシフト動作の間に現在の組になるか、または、マグニチュードビットim、jm、km、およびlmが現在位置している、斜線がなされたレジスタ領域に移動する。予測ができるように、分析/予測ユニット200は、レジスタユニット106のレジスタセルに結合される。特に、矢印226によって示されるように、マグニチュードビットに関連するパート1062、および、矢印228によって示されるように、第1の状態ビットに関連するパート1063に結合される。第1の状態ビットは、以下でさらに詳細に議論するように、現在のビット面に関してそれぞれの係数の重要性を示す。
分析/予測ユニット200の出力は、4ビットのベクトルの形式で予測の結果を分析/予測ユニット200から得るために、レジスタ218によって支持される。4ビットのベクトルは、現在となるべき次の組である組のマグニチュードビットごとに、それぞれのビットiae、jae、kae、およびlaeによって構成される。ビットiae、jae、kae、およびlaeは、それぞれのマグニチュードビットqm、rm、sm、またはtmが、その後のシフトサイクルの間、ビットモデル化ユニット1081によって処理されなければならないか否かを示す。
マルチプレクサ216の入力と係数セレクタ222の入力の両方は、レジスタ218に結合される。係数セレクタ222は、レジスタ218のレジスタ内容に基づいて、モデル化されるべき、および/または、前符号化されるべき、パス1のマグニチュードビットを選択するように、そして、この選択をマルチプレクサ制御信号の形で、マルチプレクサ210、212、204、206、216、および/または、デマルチプレクサ214に伝えるように構成される。分析/予測ユニット200は、更に、次に処理されるべき組の中のパス1に属するマグニチュードビットの数に関する予測を、特にクロックカウンタ220に出力する。クロックカウンタ220は、シフトレジスタ106の中のそれぞれのシフトサイクルの開始、または、シフト動作の後において、パス1に属する現在のマグニチュードビット組の中のマグニチュードビットの数に対応する値に予め初期化される。次に、クロックカウンタ220は、例えば、係数セレクタ222から得られる処理時間に基づいて、カウンタ内容を減少させる。クロックカウンタ220は、レジスタ218で示されるように、処理時間内に、マルチプレクサ信号を、パス1に属しているマグニチュードビットに対して上手く調節する。
マルチプレクサ216は、係数セレクタ222からのマルチプレクサ信号によって、レジスタ218からの正当性ビットとして、マルチプレクサ信号によって示されたビットを、バッファ1101に出力するように構成されている。マルチプレクサ204は、入力側では、マグニチュードビットのためのパート1062のシフトレジスタユニットの特定のレジスタセルまたはレジスタ位置に結合され、そして、係数セレクタ222からのマルチプレクサ制御信号によって、マルチプレクサ信号によって示されたビットを格納するマグニチュードビットレジスタセルの1つを、マグニチュードビット前符号化ユニット202の入力に、そして、任意にサインビット前符号化ユニット208の入力に結合するように構成されている。従って、マルチプレクサ204の入力のそれぞれの1つがマルチプレクサ204のそれぞれの出力に誘導される。同じことはマルチプレクサ210、212、および206にも適用される。例えば、マルチプレクサ210は、入力側で、シフトレジスタユニット106のパート1061の特定のサインビットセルに結合され、そして、マルチプレクサ信号によって、マルチプレクサ210の出力を介して、前記レジスタ内容またはサインビットのそれぞれの副セットを、サインビット前符号化ユニット208の別の入力に出力するように構成されている。同様に、マルチプレクサ212は、シフトレジスタユニット106の第1の状態ビットのためのパート1063の特定のレジスタセルと、サインビット前符号化ユニット208の別の入力との間に接続されている。そして、マルチプレクサ206は、シフトレジスタユニット106のパート1063の特定のレジスタセルと、マグニチュードビット前符号化ユニット202の別の入力との間に接続されている。従って、マルチプレクサ212は、マルチプレクサ信号によって、前記特定のレジスタセルの第1の状態ビットのいくつかを、それぞれのユニットに出力する。
このようにして入る信号は、それぞれデータビット230、232および2ビットからなるコンテキストインデックス234、236の1組を出力するために、前符号化ユニット208と202によって使用される。データビットは、マルチプレクサ信号によって示され、現在処理されるべき変換係数のサインビットまたはマグニチュードビットのビット値を示す。一方、コンテキストインデックスはそれぞれの場合ごとに使用されるべき関連コンテキストを示す。
図4において矢印238によって示されているように、その符号化またはコンテキスト形式において、バイパスモードビット240をさらに使用するために、サインビット前符号化ユニット208が供給される。バイパスモードビット240は、エンドオブパスビット242とともに、制御ビットコントローラ224によって出力される。前記制御ビット240と242の意味は、以下でさらに詳細に説明される。ビット230、242は共に、バッファ1101の中に入力される12ビットワード244を形成する。バッファ1101は、データワード244だけをバッファリングするように構成される。そのため、同時に入って、マルチプレクサ216によって出力される正当性ビット246は、現在のマルチプレクサ信号がパス1に属するマグニチュードビットを指示することを示す。
また、図4で見られるように、マグニチュードビット前符号化ユニット202によって出力されたデータビット232は、デマルチプレクサ214の入力にフィードバックされる。デマルチプレクサ214は、出力側で領域1063のレジスタセルに結合される。すなわち、それらは、現在のマグニチュードビット(斜線で示されている)ための第1の状態ビットを含む。そのために、マルチプレクサ信号によって、マグニチュードビット前符号化ユニット202によってちょうどモデル化されたマグニチュードビットに関連している第1の状態ビットを更新するためにデータビット232を使う。このようにして、対応する係数の重要性が更新される。
前の記述はビットモデル化ユニット1081の個々の部品の構造と動作モードを荒く記述しただけである。これは、以下に、図8と図3を参照しながら、ビットモデル化ユニット1081の個々の部品の相互作用が、シフトレジスタユニット106、バッファ1101、およびビット抽出器104との相互作用に関して、さらに詳細に説明される理由である。図8は、メモリユニット102(図3)のセクション、明確には、現在、符号化されるべき符号ブロックの変換係数のマグニチュードビットとサインビットのセクションを表す。特に、個々のサインビットとマグニチュードビットは、立方体250と252によってそれぞれ表されている。特に、サインビット250は、符号化されるべき符号ブロックのそれぞれの変換係数に対応して、列と行で隣接して配列されるように表現される。サインビット250の1つのセクションだけが、現在の縞254に加えてその縞の上下に隣接する列256と258のサインビット250のセクションを明確に示している。また、現在のビット面のマグニチュードビット252は、列と行において互いに隣接するように表現されている。また、現在のビット面の単にパートまたはセクションが表されている。前記パートまたはセクションは、サインビット面のパートに、すなわち、上下に位置している列262と264のマグニチュードビット252を有するそれぞれの縞260のパートに対応している。単に、完全性の目的によって、互いに図8における列254−264に対応して、互いに垂直方向に並べられた、マグニチュードビットとサインビットが、恒等変換係数に属することに気づく。
現在のビット面より重要でないビット面のマグニチュードビットは、図8に表現されない。より重要で、その結果、既に符号化された、より重要なビット面の、そのようなマグニチュードビットは、図8の中に認識されるが、しかし、現在のビット面の後ろに次々と位置する。
上で既に説明したように、図3において、シフトレジスタユニット106のそれぞれのシフト動作において、ビット抽出器104は、メモリアクセス114によって、メモリユニット102からのサインビット250またはマグニチュードビット252で、シフトレジスタユニット106を詰め替える。その結果、サインビット面または現在のマグニチュードビット面のセクションが、いつでもシフトレジスタ106に位置している。これらのセクションは、図8の266と268で強調された方法で表現されている。熟考された時間内のあるポイントで見られるように、5つの連続した行と6つの重ねられた列のサインビットアレイのセクション、すなわち、現在の縞254の4つの列と隣接列256と258は、シフトレジスタユニット106のパート1061に位置している。従って、それぞれ6つの列260〜264を含む4つの行の長さの現在のマグニチュードビット面のセクションは、シフトレジスタユニット106のパート1062の中に位置している。
図8で見られるように、シフトレジスタユニット106の列1061と1062に格納されたサインビット250またはマグニチュードビット252のセクション266と268は、互いに配列される。従って、変換係数に対して、瞬時のマグニチュードビット252が、パート1062の中に一時的に格納される。また、それぞれの変換係数のそれぞれのサインビット250が、パート1061の中に一時的に格納される。特に、レジスタセルは、格納されるべきそれぞれのビットのために、シフトレジスタユニットの中に供給される。また、レジスタセルは、図8において、それぞれのパート266と268の立方体で表されると考えられる。パート1061と1062のレジスタセルは、相互接続されている。その結果、図8のレジスタ内容は、右から左にシフトされる。そのため、それぞれのシフト動作で、サインビット250またはマグニチュードビット252の行が、シフトレジスタユニット106の一方の側、特に図8の左側に残る。そして、シフトレジスタの他方の端では、対応するパート1061と1062が、サインビット250またはマグニチュードビット252の次の行270または272で満たされる。図8では、これは実際には、サインビット面またはマグニチュードビット面の中に一時的に格納された部分266または268を、1シフト動作ごとに1行だけ右にシフトさせることに対応している。ビット抽出器104は、変換係数の互いに関係した行に関連するサインビット250またはマグニチュードビット252で、パート1061と1062を満たすことを実行するように構成されている。その結果、シフトレジスタユニット106のサインビットの内容(パート)1061とマグニチュードビットの瞬時の内容(パート)1062との間のオフセットが、リアシフトレジスタエンドでもたらされる。そこでは、サインビットはパート1061に一時的に格納され、次のシフト動作のときに前記パート1061を出る。そして、もはやマグニチュードビットはパート1062の中に一時的に格納されない。
また、既に上に述べたように、ビットモデル化ユニット1081と1082は、それらの処理のために状態ビット、明確には第1のおよび第2の状態ビットを必要とする。第1の状態ビットは、変換係数のために各場合において、現在のマグニチュードビット面に関してそれが重要であるか否かを示す。変換係数のための現在のマグニチュードビット面の需要な状態が、仮想の第1のパス1の後または間に変化するということにもう一度注意する。シフトレジスタユニット106のパート1063は次元化され、その結果、立方体として図8に記載される列260〜264に対応する列において、変換係数の6つの連続した行のために1つの状態ビット274を格納する。特に、時間内はいつでも、シフトレジスタユニット106は、パート1063の中で、各場合において6つの列を含む6つの隣接する行の変換係数のための第1の状態ビット274を格納する。5つの行は、サインビット250がパート1061のセクション266に含まれる変換係数のための第1の状態ビットを含む。さらに、変換係数のための第1の状態ビットは、変換係数の6つの行に含まれる。現在のビット面のサインビット250またはマグニチュードビットで、シフトレジスタユニット106のパート1061と1062は次のシフト動作まで満たされない。
また、図8の表現において、立方体274は、同時に、相互接続された対応するレジスタセルであると考えられる。従って、それらは図8において、自己の内容を行ごとに基づいて、また、右から左へ、そして、他のパート1061と1062と同じ時刻に、明確に移動する。また、満たす動作はビット抽出器104によって、明確には、重要な方向に一列に配置されているビットの間の論理ORなどのビット結合手段によって実行される。斜線で目立たせたマグニチュードビット276に基づいて、行272の位置に位置している変換係数のための現在のマグニチュードビット面より重要なマグニチュードビット面の中に、レジスタセルは、次のシフトパルスの前でなく、シフトレジスタユニット106のパート1062のフロントエンドにて、現在のビット面のマグニチュードビットで満たされる。第1の状態ビットパート1063の中の最新の入口に導かれる満たす動作は、図8の矢印278によって示される。
最終的に、シフトレジスタ106もパート1064を持つ。パート1064は、そこに第2の状態ビットが格納され、その重要性と関連性が以下の記述から明らかになる。いずれにせよ、パート1064は1行だけの、明確には、縞260または254の列に対応する4列だけの変換係数のための第2の状態ビットを格納する。また、第2の状態ビットは、参照符号280で指定される立方体として表される。シフトレジスタユニット106の中のそれぞれのシフト動作の間、第2の状態ビット280は、更新される。従って、それらは、マグニチュードビットが縞260の中の出力側の行の中に格納される変換係数のために常に定義される。そのため、次のシフト動作の間、シフトレジスタユニット106のパート1062から置き換えられる。ビット抽出器104は、シフトレジスタ106のそれぞれのシフト動作で、縞260の中でちょうど言及された変換係数のために、斜線によって目立たされ、現在のマグニチュードビット面より重要なマグニチュードビット面の中のマグニチュードビット282から、第2の状態ビット280を更新する。ビット抽出器104は、各変換係数に対して、少なくとも前記マグニチュードビットの少なくとも2つが1(重要)であるか否かに関して、それぞれのマグニチュードビットを確かめる。
図4に戻って、分析/予測ユニット200は、シフトレジスタユニット106のパート1062と1063に結合される。従って、分析/予測ユニット200は、それぞれ点線によって示され、参照符号282と284によって指定されるシフトレジスタユニット106のパート1063のそれらのレジスタセルの中の第1の状態ビットと同様に、モデル化されるべき次のマグニチュードビット組のマグニチュードビットメンバー資格を予測するために、パート1062からレジスタセルの内容を得る。もう少し詳細にこれを説明するために、パート1061〜1064の中の明確にアドレス化されたレジスタセルまたはビットが、それぞれ以下のインデックスペア#,#を備えている。インデックスペア#,#は、左上隅から、行数と列数に関して、符号化される方法で、レジスタセル位置またはビット位置を示す。例えば、領域282は、マグニチュードビット2523,2〜2524,5の領域に広がる。そして、領域284は、ビット2744,1〜2746,6の領域に広がる。分析/予測ユニット200は、第1のパスの位置2524,2〜2524,5にてマグニチュードビットのメンバー資格を予測するために、それに供給された情報を使用する。そして、マグニチュードビットは、次に処理されるべき組を形成する。それは、少なくともマグニチュードビットが、パス1に属しているマグニチュードビットを含む場合には、前符号化ユニット202、208によって処理される。
領域282のマグニチュードビットは、分析/予測ユニット200によって使用される。そして、パス1の解読の間、それらが同じ位置のデコーダの中で解読されている場合と同様の方法で、第2の領域284の状態ビットの全てが更新されないということを考慮に入れることができる。その予測に加えて、分析/予測ユニット200は、それによってレジスタ218に出力される、最新の予測結果を使用する。図8のシフトレジスタメモリ状態は、パート1063の二点鎖線286によってマークされた変換係数位置に関連する。また同時に、現在モデル化されるべき組に対応する変換係数位置をマークする。例えば、分析/予測ユニット200は、マグニチュードビット2523,2と共に、最新の予測結果のビットiaeのAND演算の機能として、まだ更新されていない第1の状態ビット2744,2の状態を考慮に入れる。その場合、分析/予測ユニット200は、このAND演算と第1の状態ビット2744,2との結果に基づいてOR演算を実行する。
第1の状態ビット2745,2に対して、分析/予測ユニット200は、まだ更新されていない状態をアドレス化する。その場合、分析/予測ユニット200は、マグニチュードビット2524,2と共に、状態ビット2744,2および2744,3の特定の更新補償で、8つの直接隣接ビット274のOR演算の結果に基づいて、AND演算を実行する。実際にそのような方法で更新された第1の制御ビットと共に、分析/予測ユニット200は、例えば、マグニチュードビット2524,3のメンバー資格を、次に、状態ビット2745,3の逆(否定)でAND演算を実行する間、8つの直接隣接係数の第1の8つの制御ビットのOR演算を実行することによって決定する。このように、分析/予測ユニット200は、結果的に、モデル化されるべきそれぞれのマグニチュードビット2524,2〜2524,5に対して、それらが表すそれぞれの変換係数がまだ非重要であるか否か、そして、直接隣接係数が既に重要である、または、仮に少なくとも直接隣接係数の1つが既に、明確には、現在モデル化されるべき行2523,2〜2523,5の前の行と同じくらい早く、そして、2523,2〜2523,5のそれぞれのマグニチュードビットに引き上げるパス1の適切な縦断の場合の中でもたらされるとして、重要性のレベルを考慮に入れる間、重要であるか否かを確かめる。
次に、分析結果は、ユニット200によって、既に説明したように4ビットのベクトルとしてレジスタ218に出力され、シフトレジスタユニット106への次のシフト動作の後に、マルチプレクサ216の入力または係数セレクタ222の入力に提供される。1つの追加算術付加動作だけで、ビット値がユニット200によってレジスタ218に出力され、また、分析/予測ユニット200は予測結果を提供して、それをシフトレジスタユニット106への次のシフト動作の開始の前に、ビットカウンタ220に出力する。予測結果は、パス1に属する次にモデル化されるべき組の中のマグニチュードビットの数を示す。仮に、レジスタ218が、現在の組2523,2〜2523,5のマグニチュードビットのいずれもパス1に属さないということを示すならば、係数セレクタ222は、無作為にマルチプレクサ信号を、例えば、レジスタ218のレジスタ内容に依存しない事前決定値に調整する。その結果、マルチプレクサ216は、レジスタ218の非セットビットの1つを、正当性ビット246としてバッファ2101に出力する。したがって、前符号化ユニット202、208とコントロールビットコントローラ224が共に、12ビットワード244を形成して、それをバッファ1101に出力したとしても、バッファ1101は、例えば、前記データワード244の一時的な格納を実行しない。正当性ビット246が設定されていないからである。しかしながら、電力を節約するために、例えば、前符号化ユニット202、208の動作が、一例として、図4の矢印288によって示されるような場合に抑制されるということが提供される。もちろん、バッファ1101が、12ビットワードと共に正当性ビットを、単に一時的にバッファリングする場合において、正当性ビット246が設定されるか否かにかかわらず、バッファ1101がデータワード244の格納を実行することは可能である。しかしながら、このアプローチは、バッファ1101の中により大きなメモリスペースを必要とする。
さもなければ、しかしながら、すなわち、少なくとも1ビットがレジスタ218の中に設定される場合には、現在モデル化されるべきマグニチュードビット2523,2〜2523,5の中で、対応するマグニチュードビットがパス1に属することを示す。係数セレクタ222は、連続した動作サイクルの中で、マルチプレクサ信号を、レジスタ218のセットビットに従って、パス1に属する係数に連続して調整する。処理時刻において、制御ビットコントローラ224と前符号化ユニット202と208は、パス1に属するこれらのマグニチュードビットのそれぞれのために、12ビットデータワード244を発生する。12ビットデータワード244は、セット正当性ビット246と共にバッファ110へ出力される。バッファ110は、セット正当性ビット246に基づいて、それらの到着の順に前記データワードを格納する。特に、係数セレクタ222は、スキャン数列に従ってデコーダによって予想されるように、行2523,2〜2523,5の中で上から下まで、パス1に属するマグニチュードビットを通す。
それぞれの処理サイクルにおいて、前符号化ユニット202と208は、それぞれの符号体系に従って、それらに利用可能な情報を処理して、それぞれデータビット230と232、並びに、関連コンテキストインデックス234と236を決定する。前符号化ユニット202は、いわゆる重要性伝播(SP)符号体系を実行する。前記体系によると、コンテキストインデックス236は、隣接係数の重要性の論理演算を実行する手段によって形成される。すなわち、例えば、仮に、現在のマルチプレクサ信号がマグニチュードビット2523,3を示すならば、マルチプレクサ206は第1の状態ビット2743,2〜2745,2、2743,4〜2745,4、2743,3、および2745,3を転送する。全体的に見て、その結果、マルチプレクサ206は、入力側で、図8の点線290によって囲まれるレジスタセルに結合される。入力側では、マルチプレクサ204は、現在モデル化されるべき組に対応し、かつ、点線292によってマークされる領域1062のレジスタ位置に結合される。マルチプレクサ204は、マルチプレクサ信号によって示されるマグニチュードビット値を前符号化ユニット202に出力する。その結果、前符号化ユニット202が、それに従って、データビット232を調整する。
図4で点接続線294によって示されているように、また、サインビット前符号化ユニット208は、マルチプレクサ信号によって示されたマグニチュードビットのマグニチュードビット値を得る。そうして、それによって処理を抑制または実行する。デコーダ側では、初めて重要になるときだけ、すなわち、このマグニチュード係数の対応するデータビットを得た後すぐに、デコーダが変換係数のサインビットの符号化を予想する。この場合、データワード244の中のそれぞれのビット230と234は重要でない。言い換えれば、マグニチュード前符号化ユニット202によって出力されるデータビット232が重要である、またはセットされるときだけ、ユニット208によって出力されるデータビットとコンテキストインデックス230、234は関連している。また、マルチプレクサ204の出力と前符号化ユニット208との間の接続294もなくなる。しかしながら、その場合、データビット230、および/または、コンテキストインデックス234によって引き受けられた値は、その後の改正のためには非重要である。
いずれにせよ、サインビット前符号化ユニット208は、いわゆるサイン符号化(SC)体系を実行する。サイン符号化体系に従って、データビット230は、マルチプレクサ信号によって示される変換係数のサインの値に調整される。そして、関連コンテキストインデックス234は、隣接係数、明確には、ここに一例としてアドレス化されるJPEG2000規格に従って、行と列の方向の隣接係数だけの重要性とサインの論理的な相互接続に依存するコンテキストに調整される。例えば、仮に、マルチプレクサ信号がマグニチュードビット2523,3を示すならば、前符号化ユニット208は、サインビット2504,3から、そして、それに隣接するサインビット2503,3、2505,3、2504,2、および2504,4から、データビット230を決定する。一方、まだサインビットのすべてがデコーダに知られていないことを考慮に入れる。ここで、隣接ビットの第1の制御ビットつまり2743,3、および2744,2が評価されることを考慮に入れる。従って、マルチプレクサ210は、入力側で、点線294によってマークされた領域の中のレジスタセルに結合される。マルチプレクサ212は、入力側で、領域290の中のいくつかのレジスタセルに結合される。そうして、少なくともいくつかの前記レジスタセルを、係数セレクタ222からのマルチプレクサ信号によって、各場合においてサインビット前符号化ユニット208に結合する。
前符号化ユニット202と208のそれぞれの処理サイクルにおいて、制御ビットコントローラ224は、制御ビット240と242をセットする。それは、例えば、データワード244のそれぞれの変換係数のためのバイパスモードがアクティブであるか否か、ならびに、現在の符号化パスが完成しているか否かについて、後続算術符号化手段112(図3)を知らせるためである。より明確には、制御ビットコントローラ224は、現在モデル化されるべき組が、現在のマグニチュードビット面の中の最後のマグニチュードビット、例えば、図2の例で、現在のビット面iの中のマグニチュードビットui、vi、wi、およびxiを、取り囲む場合において、エンドオブパスビット242をセットする。制御ビットコントローラ224は例えば、現在のマグニチュードビット面の深さによって、バイパスモードビット240を調整する。その結果、例えば、第4の符号化ビット面の後に、ビット240がバイパスモードを示す。バイパスモードは、この瞬間からパス1データが、算術符号化手段112の出力にて、データストリームの中に、そのままの状態で(非圧縮の状態で)導入されることを示す。
また、最終的に、バッファ1101は、特に、それが正当性ビット246に依存したデータワード244を、一時的に格納するように、または捨てるように構成されることに注意する。その結果、仮に対応する正当性ビット246が設定されなくても、バッファ1101は、エンドオブパスビット242が設定される場合、一時的にデータワード244を格納する。この場合、様々な尺度が、データワード244の残りを、エンドオブパスビットを除いて、そうでなければ無効の状態に符号化するように、データワードが実際の非設定正当性ビット246を反映するために提供される。それは、パス1に属するマグニチュードビットと共に来ないからである。
既に言及したように、クロックカウンタ220は、それぞれのシフト動作の後に、行の中のいくつの係数がモデル化され、またはモデル化されるかに関する予測のために、プレ初期化される。この予測は、現在モデル化されるべき行の一つ前の行に既に実行されるので、結果は、シフト動作自体と同様に早く、既にクロックカウンタ220に利用可能である。仮に、結果またはプレ初期化が、0または1であれば、シフトレジスタユニット106の次のシフト動作はすぐに、次のクロックで開始される。クロックカウンタ220はそれに従って促す。より大きいプレ初期化値で、クロックカウンタ220は遅延し、従って、シフトパルス296はシフトレジスタユニット106に出力される。また、以下に言及するように、この関係において、クロックカウンタ220は、それぞれビットモデル化ユニット108と108による並列処理が十分進んでいるか否かを考慮に入れる。関連マグニチュードビットの数に関する予測結果は、上で言及したように、レジスタ218のための4ビットのベクトルおよび重要状態変数から、論理的相互接続によって形成される。
これは上で既に言及したが、デマルチプレクサ214による第1の状態ビットの更新はどのように作用するかを、もう一度強調する。既に言及したように、第1の状態ビット274は、現在のビット面と関連して、問題の変換係数が既に重要であるか否かを示す。したがって、また、更新は非重要から重要への転移を意味する。データビット232をデマルチプレクサ214を介して、シフトレジスタユニット106のパート1063の領域286の中のそれぞれのレジスタセルに結合することは、それ故、望ましく構成される。そのため、フィードバックは、データビット232に対応する第1の状態ビットの瞬時のレジスタセル状態を、データビット232と現在の状態との論理的OR相互接続に対応する値で、更新することをもたらす。さらに、対応する尺度は、仮に正当性ビット246が設定されないならば、データビット232が0になるように、採用されるべきである。言い換えれば、デマルチプレクサ214は、出力側で、領域286の中のレジスタセルに結合され、そして、係数セレクタ222からのマルチプレクサ信号によって、前符号化ユニット102のデータビット出力を、以前に説明したOR演算の方法で、マルチプレクサ信号によって示された変換係数のそれぞれの第1の状態ビットレジスタセルに結合するように構成される。
さて、第1の符号化パスに責務があるビットモデル化ユニット1081の動作モードが説明された。以下に、第2の符号化パスに責務があるビットモデル化ユニット1082の動作モードについての記述を提供する。その目的のため、図5を参照する。第1の符号化パス1と異なって、第2の符号化パス2は、既に重要な変換係数に属するマグニチュードビットに責務がある。また、JPEG2000符号化体系によると、第2の符号化パスはマグニチュード改良パスと称されて、現在のマグニチュードビット面の符号化パスの前に既に重要である係数に属するマグニチュードビットに関連している。しかし、第2の符号化パスは、正確には第1のパスのためだけで重要にならない。これは、第2の符号化パスのマグニチュードビットのメンバー資格の決定が、デマルチプレクサ214を介して、メモリ286の中に、すなわち、図8の観点から見られるように、第1の状態ビットに基づいて、メモリ286の右手側のレジスタセルの中に、フィードバックすることによってまだ更新されていない、シフトレジスタユニット106のパート1063の中の状態ビット基づいてなされることを意味する。しかしながら、逆に、第2のパスに属するマグニチュードビットのコンテキストが、以下でさらに詳細に説明されるように、第1の更新された状態ビットに基づいて決定される。それは、ビットモデル化ユニット1082とビットモデル化ユニット1083(次に、同様に記載される)が、十分な距離で、時間的な期間内に、シフトレジスタランクのユニットの中の、現在モデル化されているビットモデル化ユニット1081のマグニチュードビットの後に来るそのようなマグニチュードビットに関してモデル化を実行する理由である。いま説明した模範的な場合において、2つのシフトパルスの固定オフセットが、一例として、このオフセットが、最小距離に保たれている間、2つのシフトレジスタランクのように可変であっても、想定される。
図5は、本発明の実施形態に係るビットモデル化ユニット1082の構造を示す。図4との類似で、それは再びシフトレジスタユニット106と関連バッファ1102とを共に示している。ビットモデル化ユニット1082は、アプリケーション決定器300、前置符号器302、制御ビットコントローラ304、4ビットレジスタ306、および合計閾値決定器308を含む。アプリケーション決定器300は、入力側で、シフトレジスタユニット106のパート1063に結合され、出力側で、4ビットレジスタ306に結合される。前置符号器302の入力と合計閾値決定器308の入力の両方は、レジスタ306に結合される。また、前置符号器302は、入力側で、シフトレジスタユニット106のパート1062、1063、および1064に結合される。本質的に、前置符号器302は、現在の組のそれぞれのマグニチュードビットの1つに、互いに対応するように設計されている、4つのマグニチュードビット前符号化ユニット3021〜3024を含む。前記ユニットは、図5の中で斜線で表されている。前符号化ユニット3021〜3024のそれぞれは、データビットのための出力310とコンテキストインデックスのための2ビット出力312を含む。制御ビットコントローラ304は、エンドオブパスビットのための出力314とバイパスモードビットのための出力316を含む。出力310〜316は共に、14ビットワード318のための14ビット出力を定義する。前記出力はバッファ1102の入力に結合される。また、合計閾値決定器308の出力は、バッファ1102の別の入力に結合されて、正当性ビット320をバッファ1102に出力する。
さて、ビットモデル化ユニット1082の構造を説明したので、その動作モードを以下で説明する。アプリケーション決定器300は、レジスタ306の中の入力情報に基づいて、現在、モデル化されるべき各マグニチュードビットのための情報ビットiae、jae、kae、およびlaeを形成するように構成される。前記情報ビットiae、jae、kae、およびlaeは、それぞれのマグニチュードビットがパス2に属するか否かを示す。そのため、シフトレジスタユニットの適当な数のシフトパルスによって遅延される方法で、レジスタ306の中に情報ビットiae、jae、kae、およびlaeを書く。遅延は、前置符号器302が、入力側で、アプリケーション決定器300が現在第1の制御ビットを評価するためのマグニチュードビットのレジスタ位置から下流に接続されているシフトレジスタユニット106のマグニチュードビットパート1062のレジスタセルに結合されているという事実のためである。パート1062の中の前記レジスタ位置は、一点鎖線322によってマークされる。特に、前符号化ユニット3021は、入力側で、レジスタセル2521,2およびレジスタ306の中のエントリービットiaeに結合される。前符号化ユニット3022は、レジスタセル2521,3およびレジスタ306の中のビットjaeに結合される。したがって、前符号化ユニット3021〜3024のそれぞれは、現在モデル化されるべき4つの行322のマグニチュードビットの異なる1つに対して責務がある。
前符号化ユニット3021〜3024のそれぞれは、セル322のマグニチュードビットに従って、データビットを調整する。それらは、隣接係数の更新された重要性によってコンテキストインデックスを決定する。その目的のために、前置符号器302は、図8の中で一点鎖線324でマークされた、シフトレジスタユニット106のパート1063のレジスタセルに結合する。特に、例えば、前符号化ユニット3021は、マグニチュードビット2521,2の1つを囲む係数に関連する、レジスタセル2741,1〜2743,1、2741,3〜2743,3、2741,2、および2743,2に結合される。特に、各符号化ユニット3021〜3024は、これらの隣接係数の第1の制御ビット274の論理的相互接続からの形式によって、そのコンテキストインデックス312を指定する。しかしながら、仮に、それぞれの前符号化ユニット3021〜3024のレジスタ306の中の関連エントリーが、それぞれのマグニチュードビットが全くパス2に属さないことを示すならば、前記前符号化ユニット3021〜3024は、コンテキストインデックスビット312をビット結合に設定する。ビット結合は、どんな意味のあるコンテキストインデックスにも対応しない、そして、その結果、それに従って関連しているデータビット310が無効であることを、独りでに明らかにする。
さらに、前置符号器302は、シフトレジスタユニットのパート1064のレジスタセル280に結合する。特に、各前符号化ユニット3021〜3024は、それぞれのマグニチュードビットに関連している第2の状態ビットのためのそれぞれのレジスタセルに結合する。この関係において、前符号化ユニット3021〜3024は、それらによって出力された自分達のコンテキストインデックス312が、ちょうど説明された論理的相互接続に依存するだけではなく、それぞれの第2の状態ビットにも依存するように、すなわち、問題の変換係数が、マグニチュードビットが第2の符号化パス2を縦断する、前の、より重要なマグニチュードビット面の中のマグニチュードビットを既に有しているか否かに依存するように構成される。前置符号器302をパート1064のレジスタセルに結合することは、図8で一点鎖線326によって示される。
例えば、制御ビットコントローラ304は、上でコントローラ224を参照して説明したのと同様の方法で、バイパスモードビット316を調整する。同じ方法は、エンドオブパスビット314に適用される。また、制御ビットコントローラ304も、その結果、制御ビット314と316を設定して、後置算術符号化手段に、いわゆるバイパスモードがアクティブであるか否か、または現在の符号化パスが完成されているか否かを示す情報を提供する。
既に言及したように、ビット310〜316は、データワード318を形成する。例えば、バッファ3102は、エンドオブパスビット314が設定される場合を除いて、正当性ビット320が設定されるときだけ、14ビットワード318をバッファの中に受け取るように構成される。その場合、14ビットワード318が、いずれにせよバッファ3102の中に格納される。もちろん、代替手段として、既に図4を参照して説明したように、格納を含むより大きいデータワードの中に、正当性ビットおよび14ビットワード318を結合することも、いずれにせよ可能である。
合計閾値決定器308は、レジスタ306のビットをまとめて、合計が1以上であるか否かを確かめる。検証結果に応じて正当性ビット320を調整して、その結果、仮に少なくとも現在変更されるべき現在の組の中のマグニチュードビットの1つがパス2に属するならば、正当性ビットを設定する。
その結果、ビットモデル化ユニット1082は、1処理サイクルの間に、パス2に属する現在の組322の中のそれらのマグニチュードビットを、データワード318の中に前符号化できる。前記組自体が、14ビットデータワード318の中の実際に正当である、および/または、算術符号器124(図3)の出力にて符号化されるべきデータストリームの中に導入されるべき、データビットとコンテキストインデックスのペアの数を明らかにする。前記ペアは、否定的な場合において、データビットとコンテキストインデックスの正当な結合でない、または、正当なコンテキストでない、特定のビット結合を有する。その観点から、ビットモデル化ユニット1082は、シフトパルス出力能力を全く必要としない。ビットモデル化ユニット1082は、パス1に属する1マグニチュード当たり少なくとも1処理サイクルを必要とする、説明されたビットモデル化ユニット1081と少なくとも同じくらい速いからである。
以下は、第3の符号化パスのためのビットモデル化ユニット1083の構造と動作モードの記述である。この関係については図6を参照してなされる。ブロックとそれらの相互結合に関して、構造は図4のビットモデル化ユニット1081の場合と同様である。不要な反復を避けるために、図6において、基本的に図4の要素と同じ仕事を持つ要素は、最初の桁(百の位)だけが図4のそれらと異なる、明確には、2の代わりに4を有する参照符号を付けて提供される。特に、図4の要素のすべてが図6に表現されている。ただし、図6に示されたバッファは当然バッファ1103であることを除き、エンドオブパスビット442と、エンドオブバイパスビットよりむしろ、エンドオブブロックビット440とを加えた、制御ビットコントローラ出力を除き、サインビット前符号化ユニット408が、制御ビットコントローラ424に結合しないことを除く。図4と6の互いに対応する要素のシフトレジスタユニット106の機能性と正確な配線の違いは、以下の記述から集められる。従って、以下で説明される機能性の記述は、図4を参照して、対応する要素に関連する機能性のそれぞれの記述を置き換えることである。さらに、機能性と配線に関する限り、図4の記述を参照する。
上で述べた要素に加えて、ビットモデル化ユニット1083は、レジスタ418に結合される入力を持つランレングス符号化ユニット500を含む。そして、レジスタ418の入力は、分析/予測ユニット400の別の出力に結合される。ランレングス符号化ユニット500の出力は、3ビットを持つランレングスシンボル502を出力するために供給される。その結果、他の出力ビット430〜436、および440、442と共に、15ビットのデータワード444である、バッファ1103に入るデータワード444を形成する。
モデル化されるべき係数が、まだ現在のビット面に対して非重要で、第1のパスによってまだ得られていないとき、ビットモデル化ユニット108が対応する第3の符号化パスが重要になる。したがって、それは「クリーンアップパス」とも称される。コンテキスト形式と前符号化に関して、第3の符号化パスの動作モードは、第1のパスと同様であるが、しかし、いわゆるランレングス(RL)によって原始的に広げられる。言い換えれば、第3の符号化パスは、第1のまたは第2の符号化パスのどちらにも属さない、残っているマグニチュードビットに対応する。パス3のマグニチュードビットの符号化は、4つの現在の行の中で、ちょうどパス1の場合のように、4つの現在の行の中のマグニチュードビットの全てが、まだ重要でなく、そして、非重要隣接係数だけを含む変換係数に関連している場合を除いて、実行される。ランレングスモードが、上から下まで、非重要の状態で残っている現在の組の中のそのようなマグニチュードビットの稼動を示し、この結果、中断されるように設定する。仮に、現在のビット面の中の4つの現在の行のマグニチュードビットの1つが、重要になる、または1のマグニチュードビット値を示す場合にだけ、この4つの行の中のその後のマグニチュードビットは、パス1の場合のように、さらに符号化される。そして、原始的にラングレス(RL)を中断する係数のサインが符号化される。
パス3のこの簡潔な概観に従って、ユニット108の動作モードが、もう一度図6と8を結合することによって説明される。定義上、パス3は連続したパスの中の最後のものであるので、重要性検証はそれぞれ、ビットモデル化ユニット108によって既に更新されたそれらの第1の状態ビット、すなわち、図8の領域286の左側の第1の状態ビットを参照する。隣接係数重要性の検証を考慮に入れる間、4つの現在の行の領域は、ビットモデル化ユニット108の現在の領域282の後ろの少なくとも2つのシフトレジスタランクに位置している。図6の実施形態によると、現在の領域は、前記領域の後ろの2つのシフトレジスタランクに正確に位置している。しかしながら、上でパス2に関して説明したように、可変オフセットを可能にするために、図8と比べて、変更されるべきシフトレジスタユニットの構造が準備される。その結果、2つのユニット108と108の処理速度は切り離される。
ビットモデル化ユニット1083の作動モードを例証するために、以下に図6と8を組み合わせて参照する。再び、分析/予測ユニット400が、ユニット1083の中で次にモデル化されるために供給される、4つのマグニチュードビット2522,2〜2522,5の組を予め確かめる。その組は、パス3に属し、すなわち、パス1または2に属さない。そして、このエンドは、カップリング428を介して、シフトレジスタユニット106のパート1063のレジスタセルに結合される。前記シフトレジスタセルは、図8の3点鎖線504によって囲まれる。領域504の中のこれらの第1の状態ビットの中で、領域286の中に位置した状態ビットは、更新される必要がある。または、状態ビットが、ことによると第1のパスの間、重要になるという事実の考慮が必要である。この目的のために、分析/予測ユニットは、関連領域292のマグニチュードビットと同様に、ビットモデル化ユニット1081の分析/予測ユニット200の前の予測結果(前のシフトサイクルに関して得られた予測結果)を使用する。この目的のために、分析/予測ユニット400は、カップリング446を介して、領域292のレジスタセルに結合される。さらに、分析/予測ユニット400は、図4の場合との類似で、現在の予測のために、現在モデル化されるべき領域の中のマグニチュードビットに明らかに関連する、予測のための最新の予測結果を使用する。そのため、明確に、専用符号化パス、すなわち、シフトサイクルの稼動の前に生じない符号化パス3のために位置2742,2〜2742,5の中の重要性の更新を考慮に入れる。それは、分析/予測ユニット400が、シフトレジスタ106の領域1062の中の別のマグニチュードビットレジスタセルに、すなわち、三点鎖線506でマークされた領域の中の現在の4つの行のそれらに結合される理由である。ちょうど、図4の場合と同じように、分析/予測ユニット400は、次のシフトサイクルのために、レジスタ418に予測結果を出力する。
シフトサイクルの始めにおいて、すなわち、パス3のそれらのメンバー資格に関して予測されたシフトレジスタユニット106のパート1062の中のマグニチュードビットが、前に進んで、レジスタ418の中の予測が参照されて、それが図6の例に応じて分析/予測ユニット400から得られる現在のマグニチュードビットと共に、現在のマグニチュードビット組を表すときに、ランレングス符号化ユニット500は、レジスタ418の中の4ビットのベクトルを評価する。従って、一つには、ランレングス原始が適用されるか否か、すなわち、現在の組の4つのマグニチュードビットの全てが第3の符号化パスに関連しているか否か、そして、仮にそうであるならば、それらの中で重要になるビットマグニチュードのために、それがどんな場所でも中断されるか否か、を確立する。そして、この評価によってランレングスシンボル502を調整する。それから、重要になるマグニチュードビット、すなわち、底の端まで下がって、重要になるものを含む、重要になるものを支持するマグニチュードビットは、係数セレクタ422によって対応するマルチプレクサ信号に変換される。後者のために、サインは符号化データストリームの中に符号化されるためにまだ残っているからである。その結果、符号化ユニット402と408は、上で説明された方法で、データビットとコンテキストビット430〜436のそれぞれのペアを前記マグニチュードビットのために発生させる。既に上に言及したように、前符号化ユニット402と408は、この終わりに、マグニチュードビットごとに1つの処理サイクルを必要とする。したがって、重要になる4つの現在のマグニチュードビットのうち1つより多いマグニチュードビットが存在しない限り、4つの行のための1つのデータワード444だけが、ランレングス符号化の場合に、ビットモデル化ユニット1083によって発生する。さもなければ、数個の15ビットのデータワード444が発生し、ランレングスシンボル502はランレングス原始が適用された第1のデータワード444の中にだけ示され、そして、さもなければ、ランレングスシンボル502はそれが非重要であることを示す。
パス3は最後のパスですが、前符号化ユニット402の出力におけるマグニチュードデータビット432は、デマルチプレクサ414を介して、シフトレジスタユニット106のパート1063に、フィードバックされる。明確には、係数セレクタ422からのマルチプレクサ信号によって、レジスタセル2742,2〜2742,5の4行の中のそれぞれのレジスタセルに、フィードバックされる。この理由は、次のシフト動作において、図8の中のこの4行が1つの位置だけ左に移動し、重要性に関して更新するつもりであるからである。デマルチプレクサ414は、出力側で、レジスタセル2742,2〜2742,5に結合される。マルチプレクサ404は、入力側で、領域506の中のレジスタセルに結合される。マルチプレクサ406は、入力側で、領域508の中のレジスタセルに結合される。領域508は、隣りの係数を含むマグニチュードビット506の現在の4行によって囲まれた領域のために第1の状態ビットを含む。マルチプレクサ410は、シフトレジスタユニット106の領域1061の中のレジスタセルのそれぞれの領域に結合される。領域1061は図8の510で強調される。マルチプレクサ412は、入力側で、領域508の中のレジスタセルに、明確には、例えば、レジスタセル2741,2〜2741,5、および2742,1〜2742,4に結合される。
明確な方法で、ビットモデル化ユニット1083は、結果的に、モデル化されるべき係数が、それらがまだ非重要であるか否かに関して分析され、そして、直接隣接係数が、それらが既に重要であるか否かに関して分析されるように見える。そのような方法で、分析が、現在モデル化されるべき行の前の1つの行について既に行われる。分析の結果は、再び4ビットのベクトルとして、特にレジスタ418に出力される。4ビットのベクトルは、ラングレス原始が4つの現在の係数に適用されるか否かを決めるための基礎として使用される。また、仮に、ランレングス符号化ユニット500によって確かめられる条件が満たされるならば、レジスタ418の各ビットが設定されるので、正当性ビットはマルチプレクサ516によって当然に設定される。そして、符号化ユニット500が、ラングレス原始が適用されるか否かを表すシンボル502を指定しながら取り囲む、ランレングス符号体系を実行する。そして、多分、その位置で、係数は重要になる。仮に、現在の組の中の少なくとも1つの係数が重要になるならば、関連サインビットはさらに、前符号化ユニット408によって符号化される。そのため、マグニチュードビットは、稼動を中断する(ビット432と436は、この処理サイクルの中で非重要である)。ラングレス原始を中断するマグニチュードビットを支持するビット位置のために、前符号化ユニット402は、現在の行のそれぞれの次の係数のために、上で既に説明したSP符号化体系を実行する。それは、データビットとマッチングコンテキストインデックスを指定しながら取り囲む。それは、隣接係数の重要性を論理的に相互接続することによって形成される。それぞれのビット位置に設定されるSP符号体系のデータビット、またはそれぞれのマグニチュードビットが、接続494を介して確かめられるとき、SC体系は前符号化ユニット408によってと合うコンテキストインデックスによって前記その後のビット位置のために実行される。それはデータビットとマッチングコンテキストインデックスを指定しながら取り囲む。それは、隣接係数の重要性とサインを論理的に相互接続することによって形成される。制御ビット440と442は、制御ビットコントローラ424によって設定される。制御ビットコントローラ424は、現在の符号化パスまたは現在の符号ブロックが完成したか否かを、後置算術符号化手段に通信する。後者は、図2の例で例えば、組un、vn、wn、xnに適用される。シンボル502と制御ビット440と424と同様に、SP体系とSC体系のデータビットとコンテキストインデックスは、15ビットのデータワード444に結合される。仮に、正当性ビットが設定されるならば、そして、どのような場合でも、エンドオブパスビット442が設定されるならば、データワード444は、バッファ1103の中に格納される。
また、当然、分析/予測ユニット400は、いくつの係数が1つの行の中でモデル化されるかを予測する。前記予測は、現在モデル化されるべき行の前の行に既になされる。そのため結果は、シフト動作の中に既に存在している。結果が「0」または「1」であれば、次のシフト動作はすぐに、次のクロックで続く。クロックカウンタ426はシフトレジスタユニット106にそれを伝える。予測結果は4ビットのベクトルと重要性状態変数からの論理的な相互接続によって形成される、上で説明されたように、両方のユニット1081と1083がそれらのシフトパルスをシフトレジスタユニット106に送ったときだけ、シフト動作が実際に実行されるという効果に対応する尺度が、シフトレジスタユニット106の中に採用される。従って、シフト動作があまりに早く始められないことを確実にする。
さて、3つのビットモデル化ユニット1081〜1083を説明したので、本発明の実施形態に係るパス決定器122の内部構造の詳細な記述の前に、再び簡潔に図3を参照する。上で説明したように、3つのビットモデル化ユニット1081〜1083は、互いの如何にかかわらず、できるだけ、そして、何よりも互いに並列して、わずかな互いのオフセットによる一般的なスキャンで、現在のマグニチュードビット面のマグニチュードビットを処理する。データワードは、各々の場合に相次いで、バッファ1101〜1103のひたむきな1つに格納される。バッファ1101〜1103は、格納されたそれぞれのデータワードの数列が、読み取られる間、維持されるように設計されている。このため、バッファ1101〜1103は例えば、FIFO(先入れ先出し)記憶法として構成される。もちろん、リング記憶法などのようなほかの方法も可能である。また、適当な読み取り数列に採用される対応する尺度の場合には、直接アドレス可能な、または内容アドレス可能な記憶法も可能である。記憶法は、それぞれのモデル化ユニットごとに別々に提供される必要はない。
パス決定器122は、適当な数列の中のデータワードを解読して、それらを算術符号器124のために対応する制御信号に変換する。特に、パス決定器122は初め、前記パスが完成するまで第1のパスのデータワードを読み出す。それは、エンドオブパスビットによって指示される。そして、パス決定器122は、エンドオブパスビットがそこで設定されるまでのそのような時間中、バッファ1102から第2の符号化パスのデータワードを読む。次に、パス決定器122は、バッファ1103からデータワードを読む。このようにして、実際にデコーダによって予想される符号配列が保たれる。
図7は、本発明の実施形態に係るパス決定器122の内部構造を示す。パス決定器122は、一端側で算術符号器124に結合され、他端側でバッファ1101〜1103に結合される。特に、図7のパス決定器122は、3つのデータワードデコーダ6001、6002、および6003を含む。データワードデコーダ6001〜6003は、一端側でバッファ1101〜1103のそれぞれの1つに結合され、他端側でマルチプレクサ602の対応する入力に結合される。さらに、パス決定器122はコントローラ604を含む。
それぞれのデータワードライン6061、6062、および6063は、バッファ1101〜1103とデータワードデコーダ6001〜6003のそれぞれのペアの間に設けられる。そして、次のデータワードをそれぞれのバッファから読み出す。また、要求および確認信号ライン6081、6082および6083が、前記組の間に設けられる。そして、ハンドシェイク処理の中でデータワードを読み出す。それぞれのデータワードデコーダ6001〜6003は、出力側で、マルチプレクサ602のそれぞれの入力との5つの信号接続6101、6102および6103を含む。信号接続6101〜6103はそれぞれデータビット、コンテキストインデックス、正当性ビット、バイパスモードビット、およびエンドオブパスビット接続を含む。データワードデコーダ6003の場合において、バイパスモードビット接続だけが、エンドオブブロックビット接続によって取り換えられる。コントローラ604は、入力側で、それぞれデータワードデコーダ6001〜6003のエンドオブパスビット出力およびにデータワードデコーダ6003のエンドオブブロックビット出力に結合される。コントローラ604は、さらにマルチプレクサ602の制御入力に結合された出力を含む。さらに、データワードデコーダ6001〜6003は、コントローラ604と制御信号を交換する。例えば、制御信号は、ハンドシェイク処理を実現するために役立つ。マルチプレクサ602は、出力側で、算術符号器124との6つの信号接続612、すなわち、データビット、コンテキストインデックス、正当性ビット、バイパスモードビット、エンドオブパスビット、およびエンドオブブロックビットのための前に言及した信号接続を含む。さらに、算術符号器124は、フィードバックパス614を介してコントローラ604に結合される。従って、それが信号接続612の別のデータを処理するために再び受容的であるか否かコントローラ604に伝えることができる。
動作の間、データワードデコーダ6001〜6003は、相次ぐ3つのバッファ1101〜1103のそれぞれの1つからデータワードを読み出して、データワードを解読する。データワードデコーダ6001は、各場合において、12ビットのデータワードを、1つまたは2つのデータバーストに符号化する。そして、1つまたは2つの連続したクロック内に、それらを信号接続6101でマルチプレクサ602に転送する。つまり、マグニチュードデータビットが設定されたとき、別の信号バーストと同様に、係数ビットのためのマグニチュードデータビットと関連コンテキストインデックスと共に信号バーストがモデル化される。次に、データビットで、サイン、および関連コンテキストインデックスを指示する。仮にデータビットが正当であるならば、デコーダ6001は正当性ビットを設定する。デコーダ6001は、直接に12ビットデータワードから、信号ライン6101上のバイパスモードビットとエンドオブパスビットとを引き出す。
デコーダ6002は同様に振舞う。デコーダ6002も、最大4つの係数をモデル化するために、バッファ1102からのデータワードを、データビットとコンテキストインデックスに戻して解読する。そのため、信号ライン6102上の最大4つの連続した信号バーストの形式で、それぞれの14ビットデータワードを、マルチプレクサ602に転送する。データワードコーダ6003は同様に振舞う。デコーダ6003は、係数モデル化のために、バッファ1103からのインカム15ビットデータワードを、ランレングスシンボル、データビット、およびコンテキストインデックスに戻して変換する。そして、仮にデータビットが、サインビットモデル化のために設定されるならば、信号ライン6103上の1つまたは2つの連続した信号バーストの形式で、インカム15ビットデータワードを、マルチプレクサ602に転送する。しかしながら、仮にラングレスシンボルから集められるラングレス原始が重要であれば、組の中で先端から第2の位置で、パス3ビットだけの中のランレングス全体が重要になる(またはマグニチュードビットが重要にならない)場合には、データワードデコーダ6003が1つの信号バーストへの変換を実行する。また、パス3だけの中のマグニチュードビットが重要になる場合には、データワードデコーダ6003が最大4つの信号バーストへの変換を実行する。コントローラ604は、エンドオブパスビットを評価する。そのために、先ず、信号ライン6101を、信号ライン612のそれぞれの信号ラインに連続して接続する。次に、信号ライン6102を、次に信号ライン6103を連続して接続する。このようにして、算術符号器124は、バイパスモードがそれぞれの係数のために使用されるべきであるか否か、および、現在の符号化パスまたは符号ブロックが完成しているか否かに関して、それぞれのデータビットとコンテキストインデックスの情報を得る。1番目に言及した場合において、算術符号器124は、算術間隔の副分割を中断して、対応するデータビットを、バイパスモードビットが設定されている状態で、クリアテキストの中の算術データストリームの中に挿入する。そして、2番目の場合において、算術符号器124は、現在の間隔を、ちょうど個々のコンテキストの確率推定値のような事前決定値に戻してリセットする。この場合、算術符号器は適応型になるように構成される。上で説明したハンドシェイク接続によって、パス決定器122の中の情報の流れは、バッファ1101〜1103がデータを含むか否か、および/または、算術符号器がデータを受け入れる準備ができているか否かによって、制御される。
上で説明した図3〜図8のブロック符号器はハードウェアで実現される。その場合、それはハードウェアベースのJPEG2000ブロック符号器を表す。そこでは、コンテキストモデル化の中で要求される処理ステップの数が、上に図示した並列処理とパスメンバー資格予測のため減少する。符号化パスによって、係数ビットはサインビットと共に同時にワンステップでモデル化されるか、または、最大4係数ビットの行が同時にワンステップでモデル化されるか、または、最大4係数ビットの行がいわゆるランレングス原始に、ワンステップでモデル化される。前記同じステップは、サインビットと共にモデル化することを含む。その係数は重要になる。
さらに、いくつの係数がワンステップで1行の中でモデル化されるかの予測を提供した。時間の過程で、これらは、同じクロック周波数で、より短い時間量で符号化パスを符号化するという効果を測定する。レジスタセット処理のための待ち期間が省略されるからである。最大4つの係数が同時にモデル化されるからである。最大4つのモデル化動作がワンステップで行われるからである。それは、1行のモデル化動作の始めに、いくつの係数がワンステップでモデル化されるかが既に知られているからである。その結果として、モデル化の間の時間がかかる検証機能が省略される。
さらに、ビット抽出は離散的な状態変数の減少を可能にした。離散的な状態変数は、符号ブロックの各係数に対して登録され、更新される。その結果として、追加の読み書き動作が省略されるので、一方では、必要メモリ量が減少し、他方では、符号化パスの符号化が加速される。
図3〜8のブロック符号器の利点は、特に、符号化パスによって、縞の中の別の下に置かれた最大4つの係数ビットが、同時にモデル化されることにある。そのため、最大4つのビット/コンテキストペアに対して圧縮された情報を含むことさえできる情報ワードを発生する。前記情報ワードは、一時的に格納され、デコーダでの適当な評価によって、適当な表現と上で説明した方法の正しい数列とで、下流の算術符号器に提供される。上の尺度によって、係数ビットモデル化が改良され、それは簡素なハードウェア装置を可能にする。
上で説明したように、ビット抽出器は、メモリユニットから係数のベクトルを得て、符号化されるべきビット面mのためのベクトルの各係数kから、マグニチュードビットk、サインビットkvz、および状態ビットkstを含む情報を得る。状態ビットは、ビット面mの中の係数が既に重要であるか否かを示すビットから順番に成る。その目的のため、ビットが設定されているか否かの検証が、現在の面の前記マグニチュードビットのすべてに対して実行される。仮に少なくとも1つのビットが設定されたならば、前記ビット面の係数は重要であり、MR符号体系が初めてこの係数に適用されるか、または以前に既に適用されたかのいずれかを示すビットから成る。それは、現在のビット面の前記マグニチュードビットのすべてに対して、前記ビットの1つが設定されているか否かの検証が、実行される理由である。そして、仮に少なくとも2つのビットが設定されるならば、MR符号体系が一度既に係数に適用されている。前述の抽出によって、符号化ブロックの各係数のための離散的な状態変数は、上に言及したように、省略される。前記情報は、各縞に対して新たに決定するために必要であり、符号化の持続時間だけ維持するために必要であるからである。その結果、追加の読み書き動作が省略されるので、一方では、必要メモリ量が減少し、他方では、符号化パスの符号化が加速される。
したがって、図3〜図8に従ったハードウェア装置は、同じクロック周波数における時間過程において、符号化パスの符号化は、実質的により速く実行されるという期待をもたらす。なぜなら、上に言及したように、レジスタセット動作待機期間が省略され、最大4つの係数が同時にモデル化され、最大5つのモデル化動作がワンステップで行われ、1行のモデル化動作の始めに、いくつの係数がワンステップでモデル化されるかが既に知られているからである。その結果、モデル化の間の時間がかかる検証機能は省略される。そして、状態変数のための追加の読み書き動作が省略される。これらの利点は、図1に示されているコンプレッサーに対して、非常に貴重である。そこでは、図3の符号器が使われる。いくつかの研究で、ブロック符号器と上のすべての係数ビットモデル化がJPEG2000符号化の過程の中で最も高価な動作を表すことが既に認められる。本出願の記述の序論で既に言及したライアン他による非特許文献2の中に、研究の結果が示されている。たとえば、それによれば、コンピュータの演算処理パワーの約52%が、3つの符号化パスのすべての合計のために要求される。その結果、係数ビットモデル化動作の加速は、全体の符号化の過程において重要な効果をもつ。より高い符号化速度がブロック符号器の複数の実施形態によって達成される装置では、資源が節約される。その結果、図3〜図8の実施形態では、より少ない符号化ユニットが、同じ符号化速度を達成するために要求される。
ちょうど言及した装置は、例えば、FPGAs(電界プログラマブル論理アレイ)で実現される。しかし、集積回路またはASIC(特定用途向IC)でも実現される。FPGAに関して、ハードウェア装置は既に実行に移されている。このため、それぞれの機能的なユニットは、VHDLによって説明され、適当なツールを使用することで翻訳され、目標プラットホームに統合される。
様々な変更は、図3〜図8の実施形態に実行される。例えば、シフトレジスタ106は異なった構成でもよい。特に、それはより多くのシフトレジスタランクを含んでもよい。例えば、すなわち、それは図8の左側に向かって広げてもよい。さらに、現在の4つのベクトルの間のオフセット292、322、および506は、図8に示されているように、2つのシフトレジスタランクより大きくてもよい。また、オフセットが可変であることも可能である。このために、例えば、図8に示されているように、シフトレジスタユニットは、一定の方法ではなく、2つのシフトレジスタとして構成される。一つはビットモデル化ユニット1081のために、別の一つはビットモデル化ユニット1082と1083のためである。FIFO(先入れ先出し)メモリは、それらの間に配置され、シフトレジスタの間の変数バッファとして機能する。
サインビット前符号化ユニットは、隣接係数のそれぞれのサインビットがデコーダ側で知られているか否かを、第1の制御ビットに基づいて確立することは、前記した。通常、問題の現在の係数に先端で隣接する変換係数の第1の制御ビットは、デマルチプレクサ214または414を介して更新されると見做される。しかしながら、これは、信号ランタイムを考慮するため、処理サイクルが遅延になるという結果をもたらす。また、サインビット前符号化ユニットは、前記隣接係数の対応するマグニチュードビットによって、次の隣接係数の第1の制御ビット(まだ更新されていない)を実際に更新することも可能である。
また、表現を簡単にするために、ビット面の縁や、縞の始めや終わりなどの縁に関連した問題は、不必要に前の記述を複雑にしないように、上で詳細に議論していない。デコーダに存在していない、または利用できないどんなデータも、望ましくは、デコーダ側で知られている方法で、同意される限りにおいて、事前決定値に調整される。さらに、図3のブロック符号器の中で、縞のマグニチュードビットを符号化するとき、隣接縞のそれぞれの隣接列は、無視される。この場合、例えば、シフトレジスタも、より小さくなり、従って、それぞれのパート1061〜1063の中において、縞の4つの列だけを含む。
図9はブロック符号器の少し一般的な例を示す。一般に700によって指定された図9のブロック符号器は、前置符号器702、バッファ704、およびエントロピー符号器706を含む。符号化されるべき変換係数ブロックは、図9の708で例証される。ちょうど上に記載されたビットモデル化ユニットは、前置符号器702が、組712の中の、列と行に配列された変換係数710を縦断するように構成される。4つの変換係数710に属する組712は、ここで一例として、行方向に隣接する。特に、前置符号器702は、ビット面ごとに、変換係数710がいくつかのビット面を定義するために表される数個のマグニチュードビットを縦断するように構成される。そのため、特に、それぞれの面の中の組712の中のマグニチュードビットを縦断する。この関係においては、前置符号器702は、ビットモデル化ユニット1082でそうであったように、重要な変換係数のマグニチュードビットのみなどのマグニチュードビットの事前決定の1つを前符号化する。または、前置符号器702は、ビットモデル化ユニット1081と1083でそうであったように、非重要な変換係数のマグニチュードビットだけを前符号化する。この関係においては、前置符号器702は、前記の符号化と同様に、組ごとに、事前決定マグニチュードビットを、データワード714に、すなわち、図9の事例では最4つに前符号化する。または、マグニチュードビットごとの方法で前符号化する。しかし、この場合、関連サインが、マグニチュードビットと共にデータワード714に符号化される方法で、前符号化する。
したがって、バッファ704は、非常に圧縮された形式で、事前決定マグニチュードビットの符号化を、多分関連サインと共に収容する。逆に、前置符号器702は、1データワード当たり1動作クロック、または1動作サイクルだけを要求する。その結果、縦断動作が速い。
エントロピー符号器706は、データワードが格納された順にバッファ704からデータワードを得て、データワードをエントロピー符号化するように構成される。バッファ704のサイズが十分である限り、処理速度は、バッファ704の中の一時的な格納量において前置符号器702の処理速度から独立することが可能である。
当然、組のサイズは、4マグニチュードビットに制限されない。また、組712の中で隣接しているマグニチュードビットの行配列にも制限されない。図9の実施形態においてさえ、マグニチュードビットのうちの事前決定マグニチュードビットだけが、前置符号器702よって得られる、そして、したがって、変換係数データの損失性圧縮は作用しているけれども、前置符号器とバッファの別のペアは、前の実施形態との類似で、前置符号器702とバッファ704のペアに並列に接続される。したがって、さらに、他の事前決定マグニチュードビットを、エントロピー符号化手段112と同様に、データワードの中の前符号化されるマグニチュードビットを符号化するために、適当な数列の中のエントロピー符号器の出力にてデータストリームの中に、サインビットによって、符号化する。その場合、決定器が、エントロピー符号器706の中に提供される。別の変更によると、図3の実施形態と同様に、前置符号器702は、付加的に、または、択一的に、それから上流に接続したビット抽出器とシフトレジスタユニットを持つ。その結果、前置符号器が、このシフトレジスタユニットの中に含まれた情報に基づいて、例えば並列に接続された前置符号器と共に作動する。
図10は、ブロック符号器の別の少し一般的な例を示す。一般に800によって指定された図10のブロック符号器は、ちょうど前の実施形態のように、変換係数のブロックを符号化するために提供される。変換係数のそれぞれは、マグニチュードビット面の数列を定義する数個のマグニチュードビットによって表される。図10では、これらのマグニチュードビット252は、同じ参照数字、同じ形および配列、すなわち、立方体として配列された列、行、および深さで、マグニチュードビット面で例証される。マグニチュードビット252の結果としての3次元のブロック801は、断面図で見られる。従って、現在のマグニチュードビット面804は可視できる。既に符号化された、それほど重要でないマグニチュードビット面は、さらに後に位置し、より重要なビット面は可視できない。ブロック符号器800は、マグニチュードビット252を、マグニチュードビット面ごとに、特に、それぞれの現在のマグニチュードビット面802を個別に、事前決定数列の中で、または、前の実施形態との類似で一例として図10に表現されるように、隣接マグニチュードビット252の組の中で縦断することによって、縦断するために提供された符号化手段802を含む。現在のマグニチュードビット面802の中で、符号化手段は、縦断の数列の中で、事前決定マグニチュードビットを、符号化データストリーム806の中に符号化する。従って、現在のマグニチュードビット面804のマグニチュードビット252の縦断が、個別にまたは組ごとに、前の実施形態の場合と同様に、実行される。特に、現在符号化されるべき組は、図10の808で斜線によって強調される。
符号化手段802は、バッファ810、ビット抽出器812、および符号器814を含む。ビット抽出器812は、マグニチュードビット252の縦断の間、変換係数のために第1の状態ビット816を決定する。変換係数は、パス数列に従って、最も早く次に処理されるべき現在のマグニチュードビット面802のマグニチュードビットによって表される。そして、そのため、表現方法によって、可能性のあるマグニチュードビットが、図10で矩形818によって強調される。第1の状態ビット816は、現在のマグニチュードビット面804に関連した重要性を示す。特に、ビット抽出器812は、マグニチュードビット818と同じ変換係数を表すが、しかし、前者より重要なビット面の中に位置しているマグニチュードビットから、これらの状態ビットを決定する。これらの第1の状態ビット816で、ビット抽出器812は、主に第1の状態ビットが符号器814によって要求される限り、前記第1の状態ビットを一時的に格納する記憶装置810を絶え間なく満たす。すなわち、アクセスしやすくて、更新可能でなければならない。例えば、バッファ810は、先入れ先出しメモリとして構成される。符号器814は、バッファ810の中の第1の状態ビットを使用している間、マグニチュードビット252のうちの事前決定マグニチュードビットを、符号化データストリーム806の中に符号化する。
マグニチュードビット面は、マグニチュードのビット面ごとに縦断される。全ての変換係数のために、従って、個々のマグニチュードビット面の全体の符号化にわたって、第1の状態ビットが格納されなければならないことは、結果的に必要ない。
図10の実施形態では、現在のマグニチュードビット面104のマグニチュードビットの縦断は、組的な縦断のアプローチに制限されない。むしろ、マグニチュードビット252は1つごとに、または2つごとなどで縦断される。バッファ810は、前の実施形態のように、第1の状態ビットに加えて別の情報を格納するために提供される。例は、マグニチュードビット252、および/または、関連サインビット、および、多分、第2の状態ビットの一時的な格納である。図10の実施形態でさえ、マグニチュードビットのうち事前決定マグニチュードビットだけが、符号器814によって得られる。したがって、変換係数の非可逆圧縮は実行される。また、別の符号器は、前の実施形態との類似で、符号器814に並列に接続される。従って、さらに他の事前決定マグニチュードビットを符号化する。この場合、適当なエントロピー符号化手段はマルチプレクサを含む。または、マルチプレクサ/決定器だけが、前記2つの符号器から下流に配置される。従って、様々な異なった事前決定マグニチュードビットが符号化データストリーム806に統合される数列を決定する。付加的に、または、択一的に、予測手段が、バッファと符号器814の間に接続される。前記予測手段は、前の実施形態の中の予測ユニットと同様に、まだ処理されていないマグニチュードビットが、事前決定マグニチュードビットに属するか否かを予測する。
図11はブロック符号器の、別のわずかに一般的な例を示す。一般に900によって示される図11のブロック符号器は、符号化手段902と予測手段904を含む。両方の手段902と904は、符号化されるべき変換係数ブロック906にアクセスする。この関係において、符号化手段902は、ちょうど上で議論したビットモデル化ユニットのように、シフトレジスタユニット106、ビット抽出器104および隣接算術符号化手段112とそれらとの相互作用で、変換係数910を縦断するように構成される。変換係数910は、それぞれ、4つの変換係数910に属する組912の中の行と列に配列される。変換係数910は、ここに、一例として、行方向に隣接する。特に、符号化手段902は、数個のマグニチュードビットをビット面ごとに縦断するように構成される。数個のマグニチュードビットは、変換係数910によって表され、数個のビット面を定義する。従って、特に、それぞれのビット面の中で、組902の中のマグニチュードビットを縦断する。 この関係において、符号化手段902は、ビットモデル化ユニット1082に関する場合は、重要な変換係数のマグニチュードビットだけのように、または、ビットモデル化ユニット1081と1083に関する場合は、非重要な変換係数のマグニチュードビットだけのように、マグニチュードビットのうちの事前決定マグニチュードビットを前符号化する。事前決定マグニチュードビットは、例えば、符号化手段902によって符号化データストリーム914の中に符号化される。その結果、事前決定マグニチュードビットが符号化データストリーム914の中に符号化される順序が、一例として、前の実施形態の場合のように、例えば上から下までの各組912の中の内部マグニチュードビット数列で、組912の中のマグニチュード係数を縦断する順序に対応する。符号化は、そうする必要はないが、上の場合のように算術符号化でもよい。しかしながら、また、例えば、フフマ(Huffma)符号化やランレングス符号化などのような異なるエントロピー符号化も可能である。
予測手段904は、パス数列に従って、最も早く次に処理されるべき組の事前決定マグニチュードビット面の隣接マグニチュードビットのうちのマグニチュードビットが、そして、仮にそうだとすれば、どのマグニチュードビットが、事前決定マグニチュードビットに属するか否かを予測するように構成される。符号化手段902は、この予測結果916を使用して、予測によって事前決定マグニチュードビットを符号化データストリームの中に符号化する。
この関係においては、符号化手段902は、特に、例えば、図4のマグニチュードビット前符号化ユニット202と同様に、ユニット、例えばハードワイヤユニットを含む。このユニットによって、符号化手段902は、前に言及した、指定された数列の中の現在の組912の中のマグニチュードビットのうちから選択されたマグニチュードビットを連続して符号化できる。予測手段904は、処理サイクルの間に符号化手段によって、現在処理されるべき前記組の前の組に対して、既に予測結果916を提供するので、符号化手段902は、符号化回路が連続して動作し、クロック遅延なしで、現在の組912の中の事前決定マグニチュードビットを連続して処理する。 これはビットモデル化ユニット1081と1083の場合であった。
他方、符号化手段902は、図5のマグニチュードビット前符号化ユニット30214と同様に、並列に動作する数個の符号化ユニットを含む。従って、符号化手段902は、処理サイクルの間に並列して、現在の組912の中の数個のマグニチュードビットを処理できる。しかしながら、この場合、符号化手段902は、予測結果916のために、この非常に処理するクロックまたは処理サイクルにおいて、現在の組のマグニチュードビットの全てが、要求した数列の中の符号化データストリーム914に入ることを防ぐ。しかし、むしろ、並列処理で、符号化手段902は、現在の組の個々のマグニチュードビットのメンバー資格を考慮に入れることができる。この結果、事前決定マグニチュードビットだけが、符号化データストリームの中に符号化される。この目的のために、符号化手段902は、ビットモデル化ユニット1082の前の実施形態に従って、前置符号器として、バッファから上流に接続される。個々の符号化ユニットまたはマグニチュードビット前符号化ユニットは、それぞれの前置符号器のデータワードを共に形成するパートデータワードを、バッファの中に書く。そして、後続のエントロピー符号化ユニットが、それ自体として、個別のパートデータワードから、それぞれのパートデータワードが事前決定マグニチュードビットに属するか否かを個別に認識する。
もちろん、組のサイズは、4つのマグニチュードビットに制限されないで、また組912の中で隣接しているマグニチュードビットの行状配列に制限されない。図11の実施形態では、マグニチュードビットのうちの事前決定マグニチュードビットだけが、符号化手段902によって得られ、そして、したがって、変換係数データの非可逆圧縮が実行されるけれども、別の符号化手段が、さらに他の事前決定マグニチュードビットを符号化するために、符号化手段902の前の実施形態との類似で、並列に接続される。仮に、例えば、規格または同様のものは、他の符号化手段の事前決定マグニチュードビットが、初めは符号化データストリーム914の中に、その後は、符号化手段902の事前決定マグニチュードビットだけが、符号化データストリーム914の中に、符号化されるということを明らかにする。決定器は、2つの符号化手段から下流に接続されたデータストリーム914へのそれぞれの統合を実行する。さらに、符号化手段902は、前の実施形態と同様に、付加的にまたは択一的に、それから上流に接続したビット抽出器またはシフトレジスタユニットをもつ。従って、符号化手段902は、このシフトレジスタユニットの中に含まれた情報に基づいて、例えば並列に接続されたデータストリーム914の中の指定された符号化手段と共に作動する。
予測手段904は、例えば、組の中のマグニチュードビットを縦断する方向において、最も早く、現在処理されるマグニチュードビットに基づいて予測を実行する。このように、予測手段904は、予測手段904の予測のために決定的である重要性が、例えば、符号化手段902による符号化のために、まだ変化するということを考慮に入れることができる。すなわち、その場合、符号化手段902は、上のビットモデル化ユニットのように、重要性を更新するように構成される。その場合、符号化手段902は、現在の組の中の事前決定マグニチュードビットを符号化する。マグニチュードビットは明らかに非重要な変換係数を表すが、しかし、現在のマグニチュードビット面内は1である。しかしながら、予測手段904は、対応するマグニチュードビットを評価することによって、重要になる変換係数がまだ現れていないどんな場合も考慮に入れる。しかしながら、その場合は、現在の重要性を変更することによって、予測に関連している。同様に、予測手段904は、対応するマグニチュードビットを評価することによって、並列に接続される符号化手段が、まだ重要になる場合の引き金となり、どの場合が符号化手段902の予測結果に影響を及ぼすかを考慮に入れる。
条件によって、変換係数ブロック符号化に関連して説明されたどんな処理も、ハードウェアで構成されるだけではなく、当然、ソフトウェアでも構成される。プログラマブルコンピュータシステムと協力して、電子的に読み込み可能な制御信号で、デジタル格納媒体、例えば、ディスク、CDまたはDVD上に実現される。その結果、対応する方法が実行される。一般に、本発明は、コンピュータプログラム製品がコンピュータで動くとき、上の方法のどれかを実行するための機械読み取り可能なキャリアに格納されたプログラム符号を持つコンピュータプログラム製品の中で成る。言い換えれば、本発明は、コンピュータプログラムがコンピュータで動くとき、上の方法のどれかを実行するためのプログラム符号を持つコンピュータプログラムとして実現される。この関係において、コンピュータは、プログラムまたはプログラム符号を実行するように構成されたプロセッサ、すなわち、特にマイクロコントローラまたは同様のもののどんな形式を意味することが理解される。

Claims (35)

  1. 変換係数(710)のブロック(34、708)を符号化するための装置であって、前記変換係数のそれぞれは、マグニチュードビット(252)がマグニチュードビット面(38…38)の数列を定義するように、数個のマグニチュードビット(252)によって表され、
    各場合において多数の隣接マグニチュードビットの組(292、322、506、712)の中の前記マグニチュードビット面(38…38)のうちの事前決定マグニチュードビット面のマグニチュードビットを縦断するための、そして、事前決定マグニチュードビットが、データワード(244、444、714)のうちの1つの中に、関連サインビットと共に符号化され、もしくは、事前決定マグニチュードビットが、データワード(318、444、714)のうちの1つの中に、同じ組の他の事前決定マグニチュードビットと共に符号化されるように、前記組の前記マグニチュードビットのうちの事前決定マグニチュードビットをデータワードの中に符号化するための、そして、他のマグニチュードビットのうちの1つが、関連サインビットと共に、別のデータワード(244、444、714)のうちの1つに符号化される、もしくは、前記他のマグニチュードビットのうちの1つが、同じ組の前記他のマグニチュードビットのうちの別のマグニチュードビットと共に、前記別のデータワード(318、444、714)のうちの1つに符号化されるように、前記事前決定マグニチュードビットと異なる前記組の他のマグニチュードビットを、他のデータワードの中に符号化する、前置符号器(108、108、108、702)と、
    データワード(244、318、444、714)を一時的に格納するためのデータワードバッファ(110)と、
    別のデータワードを一時的に格納するための別のデータワードバッファ(110 )と、
    前記データワードバッファおよび別のデータワードバッファからの前記データワードおよび別のデータワード(244、318、444、714)を符号化データストリームの中に、特に、初めに前記データワードを前記バッファに符号化し、次に前記別のデータワードを前記別のバッファに符号化することによって、符号化するためのエントロピー符号器(112、706)と、
    を含むことを特徴とする、装置。
  2. 前記変換係数はそれぞれ、前記数個のマグニチュードビット(252)およびそれに属するサインビット(250)によって表され、前記事前決定マグニチュードビットの符号化は、この事前決定マグニチュードビットに属するサインビットに依存するように、前記前置符号器(108、108、702)が構成されていることを特徴とする、請求項1に記載の装置。
  3. 前記前置符号器(108、108、702)は、前記事前決定マグニチュードビットの符号化が、前記事前決定マグニチュードビットに隣接しているマグニチュードビットに属するサインビットに依存するように構成されていることを特徴とする、請求項2に記載の装置。
  4. 前記前置符号器(108、108、702)は、前記事前決定マグニチュードビットの符号化が、前記事前決定マグニチュードビット面に関連して、前記事前決定マグニチュードビットおよび前記事前決定マグニチュードビットに隣接しているマグニチュードビットによって表される変換係数のために、重要性を示す第1の状態ビット(274)に依存するように構成されていることを特徴とする、請求項3に記載の装置。
  5. 変換係数のブロック(34)を符号化するための装置であって、前記変換係数のそれぞれは、マグニチュードビット(252)がマグニチュードビット面(38…38)の数列を定義するように、数個のマグニチュードビット(252)によって表され、
    前記マグニチュードビット面(38…38)のうちの事前決定マグニチュードビット面のマグニチュードビットを縦断するための、および、前記マグニチュードビットのうちの事前決定マグニチュードビットを符号化データストリームの中に符号化するための符号化手段を含み、前記符号器は、
    バッファ(106、810)と、
    マグニチュードビットを縦断する間、前記事前決定マグニチュードビット面に関連して、パス数列に従って最も早く次に処理されるべき、前記事前決定マグニチュードビット面のマグニチュードビットによって表される変換係数のために、最も早く次に処理されるべきであるが、しかし、前者より重要なビット面内に位置している前記マグニチュードビットと同じ変換係数を表すマグニチュードビットから、重要性を示す第1の状態ビットを決定するための、そして、決定された前記第1の状態ビットで前記バッファを満たすためのビット抽出器(104、812)と、
    前記バッファ(106)内の前記第1の状態ビットを使用する間、前記事前決定マグニチュードビットを前記符号化データストリームの中に符号化するための符号器(112、108、108、108、814)と、を含み、
    前記バッファは、バッファがいつも前記変換係数のセクションのみのために第1の状態ビットを格納するように構成され、前記符号化手段は、前記事前決定マグニチュードビット面を縦断する際に、それほど重要でないマグニチュードビット面を縦断するように、そして、特に、前記第1の状態ビットを決定して前記ビット抽出器によって前記バッファを満たす間、前記それほど重要でないマグニチュードビット面の事前決定マグニチュードビットを、データストリームの中に符号化するように構成されること、
    を特徴とする、装置。
  6. 前記ビット抽出器と前記符号器は、前記第1の状態ビットが前記変換係数のための重要性を示すように構成され、前記ビット抽出器は前記第1の状態ビットで前記バッファを満たし、前記変換係数は現在のマグニチュードビット面のマグニチュードビットによって表され、前記マグニチュードビットは前記パス数列に従って一定のオフセットで前記符号器によって処理され、その結果、前記現在のマグニチュードビット面の前記マグニチュードビットの中で前記事前決定マグニチュードビットを符号化することを特徴とする、請求項5に記載の装置。
  7. 前記バッファはシフトレジスタとして構成され、前記ビット抽出器は、前記シフトレジスタのフロントエンドで前記シフトレジスタを満たすように構成され、そして、前記符号器は、前記シフトレジスタのレジスタ内容を使用する間は少なくとも、前記事前決定マグニチュードビットを前記符号化データストリームに符号化することを実行するように構成され、前記レジスタ内容は前記シフトレジスタのフロントエンドの後ろの少なくとも1つのシフトランクに位置し、そして、また、前記符号化の工程の間、前記シフトレジスタのレジスタ内容の更新を実行するように構成され、前記レジスタ内容は符号化のために使用される前記レジスタ内容の前の少なくとも1つのシフトランクに位置していることを特徴とする、請求項5または請求項6に記載の装置。
  8. 前記符号化手段は、各場合において多数の隣接マグニチュードビットの組(292、322、506)の中の前記事前決定マグニチュードビット面(38…38)のマグニチュードビットを縦断するように構成され、前記符号器は、
    前記マグニチュードビットを縦断する間、事前決定マグニチュードビットが、関連サインビットと共に、データワード(244、444)のうちの1つの中に符号化されるように、もしくは、事前決定マグニチュードビットが、同じ組の別の事前決定マグニチュードビットと共に、データワード(318、444)のうちの1つの中に符号化されるように、前記組の前記マグニチュードビットのうちの事前決定マグニチュードビットをデータワードの中に符号化するための前置符号器と、
    前記データワード(244、318、444)を一時的に格納するためのデータワードバッファ(110、110、110)と、
    前記データワードバッファからの前記データワード(244、318、444)を前記符号化データストリームの中に符号化するためのエントロピー符号器(112)と、
    を含むことを特徴とする、請求項7に記載の装置。
  9. 前記変換係数はそれぞれ、数個の前記マグニチュードビット(252)および関連サインビット(250)によって表され、前記前置符号器(108、108)は、前記事前決定マグニチュードビットの符号化が、前記事前決定マグニチュードビットに属する前記サインビットに依存するように構成されていることを特徴とする、請求項8に記載の装置。
  10. 前記前置符号器(108、108)は、前記事前決定マグニチュードビットの符号化が、前記事前決定マグニチュードビットに隣接しているマグニチュードビットに属するサインビットに依存するように構成されていることを特徴とする、請求項9に記載の装置。
  11. 前記前置符号器(108、108)は、前記事前決定マグニチュードビットの符号化が、前記事前決定マグニチュードビットおよび前記事前決定マグニチュードビットに隣接しているマグニチュードビットによって表される前記変換係数のために、前記事前決定マグニチュードビット面に関連して、重要性を示す第1の状態ビット(274)に依存するように構成されていることを特徴とする、請求項10に記載の装置。
  12. 前記前置符号器(108、108、702)は、バッファ(106)、および、組の中の前記マグニチュードビットが縦断される間、前記バッファ(106)を満たすためのビット抽出器(104)を持ち、
    組がパス数列に従って最も早く次に処理されるべき、前記事前決定マグニチュードビット面の多数の隣接マグニチュードビットの組と、
    最も早く次に処理されるべき前記組の前記マグニチュードビットに属するサインビットと、
    パス数列に従って最も早く次の組の後に処理されるべき組の前記事前決定マグニチュードビット面の多数の隣接マグニチュードビットによって表される前記変換係数のために、前記事前決定マグニチュードビット面に関連して、重要性を示す第1の状態ビットと、を含み、
    前記バッファは前記前置符号器から上流に接続され、前記前置符号器は前記バッファの内容に基づいて符号化を実行するように構成されていること、
    を特徴とする、請求項1ないし請求項4、および請求項9ないし請求項11のいずれかに記載の装置。
  13. 前記ビット抽出器(104)は、バッファ(106)を満たすために、最も早く次の組の後に処理されるべき前記組の前記マグニチュードビットと同じ変換係数を表すが、しかし、前者より重要なマグニチュードビット面の中に位置しているマグニチュードビット(276)から、第1の状態ビット(274)を決定するように構成されていることを特徴とする、請求項12に記載の装置。
  14. 前記ビット抽出器(104)は、バッファ(106)を満たすために、マグニチュードビットおよびサインビットを格納するメモリ(102)へのメモリアクセス(114)によって、最も早く次に符号化されるべき前記組の多数の隣接マグニチュードビット、および、前記多数の隣接マグニチュードビットに属する前記サインビットを得るように構成されていることを特徴とする、請求項12または請求項13に記載の装置。
  15. 前記バッファは、5回以内のシフト動作で、前記バッファ(106)が満たされる第1の状態ビット(274)を失い、そして/または、3回以内のシフト動作で、前記バッファ(106)が満たされるマグニチュードビット(252)を失い、そして/または、4回以内のシフト動作で、前記バッファ(106)が満たされるサインビット(250)を失うシフトレジスタ(106)を含むことを特徴とする、請求項13または請求項14に記載の装置。
  16. 前記前置符号器(108)は、マグニチュードビット前符号化ユニット(202)およびサインビット前符号化ユニット(208)を含み、
    前記マグニチュードビット前符号化ユニット(202)は、パス数列に従って、現在処理されている組(282)の前記隣接マグニチュードビットの中の供給マグニチュードビット、および、前記供給マグニチュードビットに隣接している、前記事前決定マグニチュードビット面の第1の多数のマグニチュードビットによって表される前記変換係数のための第1の状態ビット(290)に基づいて、前記供給マグニチュードビット(232)および関連マグニチュードビットコンテキスト(236)が決定される第1のパートデータワードを発生するように構成され、
    前記サインビット前符号化ユニット(208)は、前記供給マグニチュードビットに属する前記サインビット(250)、供給された前記マグニチュードビットに隣接している前記事前決定マグニチュードビット面の第2の多数のマグニチュードビットに属するサインビット(294)、および、前記事前決定マグニチュードビット面の前記第2の多数のマグニチュードビットによって表される前記変換係数のための前記第1の状態ビット(290)に基づいて、前記供給マグニチュードビットに属する前記サインビット(234)および関連サインビットコンテキスト(236)が決定される第2のパートデータワードを発生するように構成され、
    前記前置符号器(108)は、前記供給マグニチュードビットの前記データワード(244)が、前記第1のパートデータワードおよび前記第2のパートデータワードを含むように構成され、
    前記エントロピー符号器(112)は、前記第1のパートデータワードから、前記供給マグニチュードビットおよび前記関連マグニチュードビットコンテキストを決定するように、そして、コンテキストに依存する方法で、前記供給マグニチュードビットコンテキストを使用する間、前記供給マグニチュードビットを前記データストリームの中に算術的に符号化するように構成され、そして、仮に、供給された前記マグニチュードビットが重要であるならば、前記第2のパートデータワードから、前記供給マグニチュードビットに属するサインビットおよび同じ前記供給マグニチュードビットに属する前記サインビットコンテキストを決定するように、そして、コンテキストに依存する方法で、前記関連サインビットコンテキストを使用する間、前記供給マグニチュードビットに属する前記サインビットを、前記データストリームの中に算術的に符号化するように構成されていること、
    を特徴とする、請求項4、請求項11、および請求項12ないし請求項15のいずれかに記載の装置。
  17. 前記前置符号器(108)は多重化回路を含み、前記多重化回路は、
    現在処理されている前記組(282)の前記マグニチュードビットのいずれかが制御信号によって示され、前記供給マグニチュードビットとして、マグニチュードビット前符号化ユニット(202)に指示された前記マグニチュードビットを供給するように構成された第1のマルチプレクサ回路(204)と、
    前記制御信号によって、前記指示マグニチュードビットに隣接している前記事前決定マグニチュードビット面の第3の多数のマグニチュードビットによって表される変換係数のための前記第1の状態ビット(290)を、前記第1の多数のマグニチュードビットによって表される前記変換係数のための前記第1の制御ビットとして、前記マグニチュードビット前符号化ユニット(202)に供給するように制御され、そして、前記指示されたマグニチュードに隣接している前記事前決定マグニチュードビット面の第4の多数のマグニチュードビットによって表される変換係数のための第1の状態ビット(290)を、前記第2の多数のマグニチュードビットによって表される前記変換係数のための前記第1の制御ビットとして、前記サインビット前符号化ユニット(208)に供給するように制御された第2のマルチプレクサ回路(206、212)と、
    前記制御信号によって、前記指示マグニチュードおよび前記事前決定マグニチュードビット面の前記第4の多数のマグニチュードビットに属する前記サインビット(294)を、前記事前決定マグニチュードビットに属するサインビットおよび前記第2の多数のマグニチュードビットに属するサインビットとして、前記サインビット前符号化ユニット(208)に供給するように制御された第3のマルチプレクサユニット(210)と、
    を含むことを特徴とする、請求項16に記載の装置。
  18. 前記前置符号器(108、108)は、
    前記パス数列に従って次に処理されるべき組(2745,2〜2745,5、2743,2〜2743,5)の前記事前決定マグニチュードビット面の前記隣接マグニチュードビットの中のマグニチュードビットが、そして、仮にそうだとすれば、隣接マグニチュードビットの中のどのマグニチュードビットが、前記事前決定マグニチュードビットに属するか否かを予測するための予測手段(200、400)を含み、
    前記予測手段(200、400)は、次に処理されるべき前記組および現在処理されている前記組の前記事前決定マグニチュードビット面の前記マグニチュードビット(282)に基づいて、および、次に処理されるべき組、現在処理される組、および次に処理される組の後に処理されるべき前記組の前記事前決定マグニチュードビット面のマグニチュードビットによって表される前記変換係数のための前記第1の状態ビット(284、504)に基づいて前記予測をするように構成されていること、
    を特徴とする、請求項4、請求項11、および請求項12ないし請求項17のいずれかに記載の装置。
  19. 前記予測手段(200)は、前記パス数列に従って、次に処理されるべき組の前記事前決定マグニチュードビット面の前記隣接マグニチュードビットの中のマグニチュードビットが、そして、仮にそうだとすれば、隣接マグニチュードビットの中のどのマグニチュードビットが前記事前決定マグニチュードビットに属するか否かの前記予測が、前記パス数列に従って、現在処理されている組の前記事前決定マグニチュードビット面の前記隣接マグニチュードビットの中のマグニチュードビットが、そして、仮にそうだとすれば、隣接マグニチュードビットの中のどのマグニチュードビットが前記事前決定マグニチュードビットに属するか否かに関する前記予測手段による前の予測(218)に依存するように構成されていることを特徴とする、請求項18に記載の装置。
  20. 前記予測手段(200)は、前記パス数列に従って、次に処理されるべき組の前記事前決定マグニチュードビット面の前記隣接マグニチュードビットの中のマグニチュードビットが、そして、仮にそうだとすれば、隣接マグニチュードビットの中のどのマグニチュードビットが前記事前決定マグニチュードビットに属するか否かの前記予測が、前記パス数列に従って、処理されるべき前記最新の組であった前記組の前記事前決定マグニチュードビット面の前記マグニチュードビットよって表される前記変換係数のための第1状態ビット(2743,2〜2743,5)に依存するように構成されていることを特徴とする、請求項18に記載の装置。
  21. 前記予測手段(200)は、次に処理されるべき前記組のマグニチュードビット当たり1ベクトルビット(iae、jae、kae、lae)を含むビットベクトル(218)の形式で、前記予測の結果を出力するように構成され、前記ベクトルビットは、次に処理されるべき前記組のそれぞれのマグニチュードビットのメンバー資格もしくは非メンバー資格を指示することを特徴とする、請求項18ないし請求項20のいずれかに記載の装置。
  22. 前記前置符号器(108)はさらにシフトパルス発生器(200、220)を含み、前記シフトパルス発生器(200、220)は、次に処理されるべき前記組および現在処理されている前記組の前記事前決定マグニチュードビット面の前記マグニチュードビットに基づいて、そして、次に処理されるべき前記組、現在処理されている前記組、および、次に処理されるべき組の後に処理されるべき前記組の前記事前決定マグニチュードビット面のマグニチュードビットによって表される変換係数のための前記第1の制御ビットに基づいて、次に処理されるべき前記組の前記事前決定マグニチュードビット面の前記隣接マグニチュードビットの中のいくつのマグニチュードビットが、前記事前決定マグニチュードビットに属するかを予測するように構成され、そして、データワードへの前記事前決定マグニチュードビットの前記符号化が実行されるユニット内で、予測された数と処理クロックに基づいて、遅延することなく、または、前記処理クロックの1クロックサイクルもしくは数クロックサイクル遅延させて、シフトレジスタ(106)にシフトパルスを出力するように構成されていることを特徴とする、請求項18ないし請求項21のいずれかに記載の装置。
  23. 前記前置符号器(108、108)はさらにマルチプレクサコントローラ(422、222)を含み、前記マルチプレクサコントローラ(422、222)は、前記事前決定マグニチュードビットに属する、現在処理されている組の前記隣接マグニチュードビットの中の前記マグニチュードビットを、事前決定の順序で、連続して指示する制御信号を、マルチプレクサ回路(204、206、210、212)に出力するように構成されていることを特徴とする、請求項4、請求項11、および請求項12ないし請求項22のいずれかに記載の装置。
  24. 前記前置符号器(108、108、108)は、パスの間、前記隣接マグニチュードビットのいずれも前記事前決定マグニチュードビットに属さない組のために、1つのデータワードをそれぞれ発生させるように構成され、そして、前記パス数列に従って、現在処理されている組の中の前記マグニチュードビットが、事前決定マグニチュードビットを含むか否かによって、正当性ビット(246、320、446)を設定するように構成され、そして、前記データワードバッファ(110、110、110)は、正当性ビットが設定された場合のみに、もしくは、前記事前決定マグニチュードビット面の中の最後の前記組のためのそれぞれのデータワード(244、318、444)が発生したときのみ、一時的にそれぞれの前記データワード(244、318、444)を格納するように構成されることを特徴とする、請求項1ないし請求項4および請求項8ないし請求項23のいずれかに記載の装置。
  25. 前記前置符号器(108、108、108)は、前記事前決定マグニチュードビット面の前記マグニチュードビットが縞ごとに縦断され、それぞれの組の前記隣接ビットが前記ブロックの行の中に位置し、そして、直接に連続した組が、前記ブロックの行同士、もしくは直接に隣接した縞、もしくは列の中で互いに隣接して、すぐ隣の縞の一方の端に、前記2つの組のうちの一方の組と共に、および、すぐ隣の縞の他方の反対の端に、前記2つの組のうちの他方の組と共に、位置していることを特徴とする、請求項1ないし請求項4および請求項9ないし請求項24のいずれかに記載の装置。
  26. 前記前置符号器(108、108、108)は、前記事前決定マグニチュードビット面を縦断している、それほど重要でないマグニチュードビット面を縦断するように、そして、前記それほど重要でないマグニチュードビット面の前記事前決定マグニチュードビットをデータワードの中に符号化するように構成されていることを特徴とする、請求項1ないし請求項4および請求項9ないし請求項25のいずれかに記載の装置。
  27. 前記前置符号器(108、108)は、それぞれの事前決定マグニチュードビットのために、前記事前決定マグニチュードビット面に関連したビット深さによって、それぞれの前記データワードのバイパスモードビット(240、440)を調節するように構成されていることを特徴とする、請求項1ないし請求項4および請求項9ないし請求項26のいずれかに記載の装置。
  28. 前記前置符号器は、多数の隣接マグニチュードビットのそれぞれの組の符号化が、第1の状態ビット(274)と第2の状態ビット(280)に依存するように構成され、前記第1の状態ビット(274)は、前記事前決定マグニチュードビットおよび前記事前決定マグニチュードビットに隣接しているマグニチュードビットによって表される前記変換係数のために、前記事前決定マグニチュードビット面に関連して重要性を指示し、前記第2の状態ビット(280)は、事前決定マグニチュードビットによって表される前記変換係数のために、それぞれの前記変換係数を表し、前記事前決定マグニチュードビット面より重要なマグニチュードビット面の中に位置している前記マグニチュードビットの中に、それぞれの前記変換係数のための2つ以上の重要なマグニチュードビットが、存在しているか否かを指示することを特徴とする、請求項4、請求項11、および請求項12のいずれかに記載の装置。
  29. 前記前置符号器(108)は、前記組の前記多数の隣接マグニチュードビットのマグニチュードビットごとに、マグニチュードビット前符号化ユニット(302)を含み、
    前記マグニチュードビット前符号化ユニット(302)は、パス数列に従って、現在処理されている組(322)の隣接マグニチュードビットの中のそれぞれのマグニチュードビット、それぞれの前記マグニチュードに隣接している前記事前決定マグニチュードビット面の第7の多数のマグニチュードビットによって表される前記変換係数のための前記第1の状態ビット(324)、および、それぞれの前記マグニチュードによって表される前記変換係数のための前記第2の状態ビット(280)に基づいて、それぞれの前記マグニチュードビット(310)および関連マグニチュードビットコンテキスト(312)が決定されるそれぞれのパートデータワードを発生するように構成されていること、
    前記前置符号器(108)は、前記パートデータワードが、現在処理されている前記組の前記事前決定データビットの前記データワード(318)を共同してもたらすように、そして、前記データワード(318)は、どのパートデータワードが、前記事前決定マグニチュードビットに属するマグニチュードビットのために発生されるかが、前記データワードによって排他的に決定されるように構成され、
    前記エントロピー符号器は、どのパートデータワードが前記事前決定マグニチュードビットに属するマグニチュードビットのために発生されるかが、前記パートデータワードから決定されるように、そして、前記パートデータワードから、それぞれのマグニチュードビットおよび前記関連マグニチュードビットコンテキストを決定するように、そして、前記関連マグニチュードビットコンテキストを使用している間、それぞれの前記マグニチュードビットを、コンテキストに依存する方法で、前記データストリームの中に算術的に符号化するように構成されていること、
    を特徴とする、請求項28に記載の装置。
  30. 前記前置符号器は、前記パス数列に従って最も早く次の組の後に処理されるべき組の前記事前決定マグニチュードビット面の前記隣接マグニチュードビットの中のマグニチュードビットが、そして、仮にそうだとすれば、隣接マグニチュードビットの中のどのマグニチュードビットが、前記事前決定マグニチュードビットに属するか否かを予測するための予測手段(300)を含み、前記予測手段は、最も早く次の組の後に処理されるべき組の前記事前決定マグニチュードビット面の前記マグニチュードビットによって表される前記変換係数のための前記第1の状態ビットに基づいて予測するように構成されていることを特徴とする、請求項29に記載の装置。
  31. 前記前置符号器(108)は、ランレングス符号化ユニット(500)、係数セレクタユニット(422)、マグニチュードビット前符号化ユニット(402)およびサインビット前符号化ユニット(408)を含み、
    前記ランレングス符号化ユニット(500)は、次に処理されるべき前記組が処理され始めている状態の前記予測手段(400)の予測結果(418)に基づいて、ランレングスパートデータワード(446)を発生させ、前記ランレングスパートデータワード(446)から事前決定マグニチュードビット数列の中で処理され始めている前記組の前記マグニチュードビットのいくつが、前記マグニチュードビットの中で、絶えず非重要であるかを決定し、そして、仮に、処理され始める前記組の前記マグニチュードビットの1つが存在しているならば、それは重要であり、前記マグニチュードビット数列の中の、この組の中の前記第1のマグニチュードビットではなく、前記マグニチュードビット数列の中の前記第1の重要なマグニチュードビットはその位置に位置し、
    前記係数セレクタユニット(422)は、次に処理されるべき前記組が処理され始めている状態の前記予測手段(400)の予測結果(418)に基づいて、前記マグニチュードビット数列の中で、前記マグニチュードビット数列の中の前記第1の重要なマグニチュードビット、および、処理され始める前記組の前記マグニチュードビット数列の中の前記第1の重要なマグニチュードビットに続く前記マグニチュードビットを連続して特定する制御信号を出力するように構成され、
    前記マグニチュードビット前符号化ユニット(402)は、前記制御信号によって、処理され始める前記組の前記隣接マグニチュードビットの中のそれぞれの事前決定マグニチュードビット、および、前記それぞれ事前決定マグニチュードビットに隣接している前記事前決定マグニチュードビット面の第1の多数のマグニチュードビットによって表される前記変換係数のための第1の状態ビット(510)に基づいた各場合において、それぞれ事前決定マグニチュードビット(432)および関連マグニチュードビットコンテキスト(436)がそれから決定される第1のパートデータワードを発生するように構成され、
    前記サインビット前符号化ユニット(408)は、前記制御信号によって、それぞれ前記事前決定マグニチュードビットに属する前記サインビット、それぞれ前記事前決定マグニチュードビットに隣接している事前決定マグニチュードビット面の第2の多数のマグニチュードビットに属するサインビット(510)、および、前記事前決定マグニチュードビット面の前記第2の多数のマグニチュードビットによって表される前記変換係数のための前記第1の状態ビット(508)に基づいて、それぞれ前記事前決定マグニチュードビットに属する前記サインビット(434)および関連サインビットコンテキスト(436)がそれから決定される第2のパートデータワードを発生するように構成され、
    前記前置符号器(108)は、前記データワード(444)の1つが、前記第1のパートデータワード、前記第2のパートデータワード、および前記ランレングスデータワードを含むように構成され、そして、前記エントロピー符号器(112)は、前記ランレングスデータワード(446)から、前記事前決定マグニチュードビット数列の中で、常に非重要な前記マグニチュードビットについての情報を決定するように、そして、それらを算術的に前記データストリームの中に符号化して、前記マグニチュードビット数列の中の前記第1の重要なマグニチュードビットの場合を除いて、前記第1のパートデータワードから、各場合において事前決定される前記マグニチュードビットおよび前記関連マグニチュードビットコンテキストを決定するように、そして、前記供給マグニチュードビットコンテキストを使用している間、コンテキスト依存する方法で、それぞれ前記事前決定マグニチュードを前記データストリームの中に算術的に符号化するように、そして、仮に、それぞれ前記事前決定マグニチュードビットが重要であるならば、前記マグニチュードビット数列の中の前記第1の重要なマグニチュードビットの場合においてさえ、前記第2のパートデータワードから、それぞれ前記事前決定マグニチュードビットに属する前記サインビットおよびそれぞれ前記事前決定マグニチュードビットに属するサインビットコンテキストとを決定するように、そして、前記関連サインビットコンテキストを使用している間、コンテキスト依存する方法で、それぞれ前記事前決定マグニチュードに属する前記サインビットを前記データストリームの中に算術的に符号化するように構成されていること、
    を特徴とする、請求項18に記載の装置。
  32. 前記前置符号器はさらに、パスの間、前記事前決定マグニチュードビットと異なる前記組の他のマグニチュードビットを、別のデータワードの中に符号化するように構成され、その結果、前記他のマグニチュードビットのうちの1つが、関連サインビットと共に、前記データワード(244、444、714)のうちの1つに符号化される、もしくは、前記他のマグニチュードビットのうちの1つが、同じ組の前記他のマグニチュードビットのうちの別の関連サインビットと共に、前記データワード(318、444、714)のうちの1つに符号化され、
    さらに、一時的に前記別のデータワードを格納するための別のバッファと、初め、前記バッファの中の前記データワードを符号化し、次に、前記別のバッファの中の前記別のデータワードを前記符号化データストリームの中に符号化するように構成されている前記エントロピー符号器とを備えたこと、
    を特徴とする、請求項9ないし請求項31のいずれかに記載の装置。
  33. 変換係数(710)のブロック(34、708)を符号化する方法であって、それぞれの前記変換係数は数個のマグニチュードビット(252)によって表され、前記マグニチュードビット(252)はマグニチュードビット面(38…38)の数列を定義し、
    各場合において、多数の隣接マグニチュードビットの組(292、322、506,712)の中のマグニチュードビット面(38…38)のうちの事前決定マグニチュードビット面の前記マグニチュードビットを縦断し、前記組の前記マグニチュードビットのうちの事前決定マグニチュードビットをデータワードに符号化し、従って、事前決定マグニチュードビットは、関連サインビットと共に、データワード(244、444、714)のうちの1つに符号化され、もしくは、事前決定マグニチュードは、同じ組の他の事前決定マグニチュードビットのいくつかと共に、データワード(318、444、714)のうちの1つに符号化され、
    そして、他のマグニチュードビットのうちの1つが、関連サインビットと共に、別のデータワード(244、444、714)のうちの1つに符号化される、もしくは、前記他のマグニチュードビットのうちの1つが、同じ組の前記他のマグニチュードビットのうちの別のマグニチュードビットと共に、前記別のデータワード(318、444、714)のうちの1つに符号化されるように、前記事前決定マグニチュードビットと異なる前記組の他のマグニチュードビットを、他のデータワードの中に符号化し
    データワードバッファの中に一時的に前記データワード(244、318、444、714)を格納し、
    別のデータワードバッファの中に別のデータワード(244、318、444、714)を一時的に格納し、
    前記データワードバッファおよび別のデータワードバッファからの前記一時的に格納されたデータワードおよび別のデータワード(244、318、444、714)を、符号化データストリームの中に、特に、初めに前記データワードを前記バッファに符号化し、次に前記別のデータワードを前記別のバッファに符号化することによって、符号化すること、
    を含むこと特徴とする、方法。
  34. 変換係数のブロック(34)を符号化する方法であって、それぞれの前記変換係数は数個のマグニチュードビット(252)によって表され、前記マグニチュードビット(252)はマグニチュードビット面(38…38)の数列を定義し、
    前記マグニチュードビット面(38…38)のうちの事前決定マグニチュードビット面の前記マグニチュードビットを縦断し、そして、以下のステップ、すなわち、
    前記マグニチュードビットを縦断している間、パス数列に従って最も早く次に処理されるべき前記事前決定マグニチュードビット面のマグニチュードビットによって表される前記変換係数のために、前記事前決定マグニチュードビット面に関連して、次に最も早く処理されるべき、しかし、前者より重要なビット面の中に位置している前記マグニチュードビットと同じ変換係数を表すマグニチュードビットから、重要性を指示する第1の状態ビットを決定するステップと、
    決定された前記第1の状態ビットでバッファを満たすステップと、
    前記バッファ(106)の中の前記第1の状態ビットを使用している間、前記事前決定マグニチュードビットを前記符号化データストリームの中に符号化するステップと、
    を実行している間、前記マグニチュードビットの事前決定マグニチュードビットをデータワードの中に符号化し、
    前記バッファは、バッファがいつも前記変換係数のセクションのみのために第1の状態ビットを格納するように構成され、前記事前決定マグニチュードビット面を縦断する際に、それほど重要でないマグニチュードビット面が、特に、前記それほど重要でないマグニチュードビット面の事前決定マグニチュードビットを、データストリームの中に符号化する間、前記第1の状態ビットを再決定する間、および前記バッファを満たす間に、縦断されること、
    を特徴とする、方法。
  35. プログラムがプロセッサで動くとき、請求項33または請求項34の方法を実行するためのプログラム符号を含むことを特徴とするプログラム。
JP2009543355A 2006-12-27 2007-12-10 変換係数ブロックを符号化するための装置と方法 Expired - Fee Related JP4745445B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE200610061648 DE102006061648B4 (de) 2006-12-27 2006-12-27 Transformationskoeffizientenblockkodierung
DE102006061648.0 2006-12-27
DE102006061651.0 2006-12-27
DE200610061651 DE102006061651B4 (de) 2006-12-27 2006-12-27 Kodierung eines Transformationskoeffizientenblockes
DE200610061647 DE102006061647B3 (de) 2006-12-27 2006-12-27 Vorrichtung und Verfahren zum Kodieren eines Transformationskoeffizientenblockes
DE102006061647.2 2006-12-27
PCT/EP2007/010756 WO2008080516A1 (de) 2006-12-27 2007-12-10 Vorrichtung und verfahren zum kodieren eines transformationskoeffizientenblockes

Publications (2)

Publication Number Publication Date
JP2010515317A JP2010515317A (ja) 2010-05-06
JP4745445B2 true JP4745445B2 (ja) 2011-08-10

Family

ID=39322683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543355A Expired - Fee Related JP4745445B2 (ja) 2006-12-27 2007-12-10 変換係数ブロックを符号化するための装置と方法

Country Status (4)

Country Link
US (1) US20100111432A1 (ja)
EP (2) EP2109993B1 (ja)
JP (1) JP4745445B2 (ja)
WO (1) WO2008080516A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101783271B1 (ko) * 2009-12-10 2017-10-23 삼성전자주식회사 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더
JP2012060261A (ja) 2010-09-06 2012-03-22 Sony Corp 画像処理装置および方法
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
CN107852509A (zh) * 2015-07-17 2018-03-27 诺基亚技术有限公司 用于编码和解码图像的方法和装置
GB2557737B (en) 2015-07-28 2021-05-12 Halliburton Energy Services Inc Sensor data compression for downhole telemetry applications
US10506242B2 (en) * 2018-01-30 2019-12-10 Google Llc Efficient context model computation design in transform coefficient coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ982400A0 (en) * 2000-09-01 2000-09-28 Canon Kabushiki Kaisha Entropy encoding and decoding
JP2003032496A (ja) * 2001-07-12 2003-01-31 Sanyo Electric Co Ltd 画像符号化装置および方法
JP2004080273A (ja) * 2002-08-14 2004-03-11 Sony Corp 画像符号化装置及び方法、並びにプログラム及び記録媒体
JP4182426B2 (ja) * 2003-10-10 2008-11-19 ソニー株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP2005184511A (ja) * 2003-12-19 2005-07-07 Nec Access Technica Ltd デジタル画像符号化装置及びその方法並びにデジタル画像復号化装置及びその方法

Also Published As

Publication number Publication date
EP2131596A3 (de) 2010-11-17
EP2109993B1 (de) 2012-08-01
JP2010515317A (ja) 2010-05-06
EP2131596A2 (de) 2009-12-09
WO2008080516A1 (de) 2008-07-10
EP2109993A1 (de) 2009-10-21
US20100111432A1 (en) 2010-05-06
EP2131596B1 (de) 2012-08-01

Similar Documents

Publication Publication Date Title
JP4745445B2 (ja) 変換係数ブロックを符号化するための装置と方法
CN104735454B (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
KR101684207B1 (ko) 동화상 복호 장치, 동화상 부호화 장치, 동화상 복호 방법, 및 동화상 부호화 방법
US20200137384A1 (en) Generative adversarial network based intra prediction for video coding
KR102185377B1 (ko) 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
CN103416057B (zh) 图像编码设备和方法以及图像解码设备和方法
CN103918273B (zh) 确定用于变换系数的二进制码字的方法
JP4442891B2 (ja) 可変長符号化装置及び可変長符号化方法
TW201342919A (zh) 資料編碼及解碼
CN107071419A (zh) 图像编码设备和方法以及图像解码设备和方法
KR100944928B1 (ko) 버터플라이 프로세서를 이용하여 이산 코사인 변환을인코딩하고 계산하는 장치 및 방법
CN101192303B (zh) 适用于Jpeg2000标准的高速比特平面解码方法及电路
CN101848311B (zh) 基于Avalon总线JPEG2000的EBCOT编码器
JP2011091575A (ja) 符号化装置および方法
CN102223534A (zh) 用于图像压缩的全并行位平面编码方法
JP5966347B2 (ja) 画像処理装置および方法
US6538583B1 (en) Method and apparatus for context modeling
CN111815502B (zh) 基于WebP压缩算法的多图处理的FPGA加速方法
JP5105191B2 (ja) 画像処理装置
JP5362099B2 (ja) 符号化装置
JPS6360952B2 (ja)
Chang et al. A color image progressive transmission method by common bit map block truncation coding approach
JP2010034802A (ja) 動画像符号化装置およびその制御方法
JP4115142B2 (ja) 画像処理装置及び画像処理方法
JP4234018B2 (ja) デジタル映像音声信号可逆符号化復号方法、装置およびこの方法を実行するためのコンピュータプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110426

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: 20110511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees