JP2006019814A - エントロピ復号器 - Google Patents

エントロピ復号器 Download PDF

Info

Publication number
JP2006019814A
JP2006019814A JP2004193000A JP2004193000A JP2006019814A JP 2006019814 A JP2006019814 A JP 2006019814A JP 2004193000 A JP2004193000 A JP 2004193000A JP 2004193000 A JP2004193000 A JP 2004193000A JP 2006019814 A JP2006019814 A JP 2006019814A
Authority
JP
Japan
Prior art keywords
context
bit
path
output
symbol
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.)
Pending
Application number
JP2004193000A
Other languages
English (en)
Inventor
Taro Hagitani
太郎 萩谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004193000A priority Critical patent/JP2006019814A/ja
Publication of JP2006019814A publication Critical patent/JP2006019814A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】JPEG2000方式の画像復号装置を構成する場合等に用いるエントロピ復号器に関し、エントロピ復号演算の高速化を図ることができ、しかも、回路規模の増大を確率生成部を設ける場合よりも小さく抑えるようにする。
【解決手段】SPパス処理時に、注目ビットの上のビットのシンボルが確定する前に、注目ビットの上のビットのシンボルを“0”と仮定して予測したコンテクストを演算し、MQ−CODER復号演算時に、コンテクスト変換テーブルを用いて予測したコンテクストを正しいコンテクストに変換してシンボルを演算し、「前のシンボルが確定してから、注目ビットのコンテクストを求め、その後に注目ビットのシンボルを求める」という手順を踏む必要を無くし、「前のシンボルが確定したら、注目ビットのシンボルを求める」ことを可能とする。
【選択図】 図6

Description

本発明は、JPEG2000方式の画像復号装置を構成する場合等に用いるエントロピ復号器に関する。より具体的には、エントロピ復号器の高速化技術に関する。
エントロピ復号方式は、JPEG2000の算術復号方式として用いられている。JPEG2000の規格は、「ISO/IEC15444-1,“JPEG2000 image coding system Part1:Core coding system,”15 Dec.2000」や「野水泰之,“次世代画像符号化方式:JPEG2000,”トリケップス,Feb.2001」に詳細に記載されている。
図40はJPEG2000方式の画像復号装置の一例の構成図である。この画像復号装置は、ストリーム解析器1と、エントロピ復号器2と、逆ウエーブレット変換器3を備え、エントロピ復号器2は、ビットモデリング演算器4と、算術復号器(MQ−CODER復号器)5を備えている。
図41において、7はM×N画素の大きさのコードブロックを示しており、エントロピ復号器2では、コードブロックを単位として処理が行われる。コードブロック7は、M×Nビットのビットプレーン8−1〜8−6に分けられ、更に、ビットプレーン8−jは、Significance propagation pass、Magnitude refinement pass、Cleanup pass(以下、それぞれ、SPパス、MRパス、Cパスという)に分類され、1パスずつ、かつ、1ビットずつ順にコンテクスト演算と算術復号演算が行われる。
各パスについてのコンテクスト演算は、図42に示すように、まず、パスの左上からストライプと呼ばれる縦方向4ビットのコンテクスト演算を上から順に行い、次に右隣のストライプの4ビットのコンテクスト演算を上から順に行い、これを繰り返して右端に達すると、縦方向に1ストライプ分シフトし、同様のコンテクスト演算を左端から右方向にシフトしながら行い、以下、同様にして右下まで繰り返すことにより行われる。
図43において、b0は注目ビットを示しており、ビットモデリング演算器4は、注目ビットb0が現在処理中のパスに属するか否かを判断し、属するのであれば、注目ビットのコンテクストを算出する。その際、注目ビットb0の周辺の8ビットb1〜b8の情報が参照される。そして、注目ビットb0のコンテクストが決定すると、MQ−CODER復号器5での算術復号演算が可能となり、算術復号演算の結果として、注目ビットb0のシンボルが“0”であるか、“1”であるかが決定される。
特公昭61−14532号公報 特開平11−103257号公報 特開2001−230935号公報
エントロピ復号器2では、図44に示すように、注目ビットb0の周囲の8ビット情報から注目ビットb0のコンテクストを求め、そのコンテクスト情報を用いてMQ−CODER復号演算によりシンボルが決まり、注目ビットのシンボルが決まると、ようやく次のビットのコンテクストが決まる、といったように、直前のMQ−CODER復号結果が次のビットの処理に影響を及ぼすため、1ビットずつの処理しか行うことができない。
ここで、ビットモデリング演算器4でのコンテクスト演算で1サイクルを費やし、MQ−CODER復号器5での復号演算で1サイクルを費やすとすると、1ビットの処理を行うのに、最低2サイクル、更に、パスが3つに分かれていることを考慮すると、処理を行わないビットも存在し、処理できるビット数は、2サイクル当たり1ビットよりも少なくなってしまう。このため、図40に示す画像復号装置では、エントロピ復号に多くの時間を費やしてしまうという問題点があった。
また、従来のMQ−CODER復号器5では、1ビットの演算を行う度にオージェンド(A)や符号(C)が変化し、その変化した値を次のビットの演算に使用するため、先行して次のビットの演算を行うことができない。よって、最速でも1回の演算で1ビットしか処理することができず、少なくとも、[処理するデータの数]×[データのビット数]の処理時間が必要となるという問題点もあった。
前述の問題点により制限を受けているエントロピ復号速度は、近年、動画像処理分野で必要性が高まっているMotion-JPEG2000に要求されるエントロピ復号速度を満たすことができない。また、静止画分野においても、エントロピ復号処理の高速化が求められる中、必要とされるエントロピ復号速度とは大きくかけ離れたものとなっている。
なお、特許文献1には、1ビットを復号演算した結果が“0”か“1”のいずれかであることから、次に処理するビットのコンテクストを、現在処理しているビットの復号結果が“0”であった場合と、“1”であった場合の両方について演算し、どちらかを使用するという手法が記載されている。しかし、この手法では、確率生成部が2つ必要となり、回路規模が必要以上に大きくなってしまうという問題点がある。
本発明は、かかる点に鑑み、エントロピ復号演算の高速化を図ることができ、しかも、回路規模の増大を確率生成部を設ける場合よりも小さく抑えることができるようにしたエントロピ復号器を提供することを目的とする。
本発明のエントロピ復号器は、SPパス処理時又はCパス処理時に、注目ビットの上のビットのシンボルが確定する前に、前記注目ビットの上のビットのシンボルを所定値と仮定して予測したコンテクストを演算するビットモデリング演算器と、前記仮定が外れた場合には、所定のコンテクスト変換テーブルを用いて前記予測したコンテクストを正しいコンテクストに変換する算術復号器を有するものである。
本発明によれば、「前のシンボルが確定してから、注目ビットのコンテクストを求め、その後に注目ビットのシンボルを求める」という手順を踏む必要が無く、「前のシンボルが確定したら、注目ビットのシンボルを求める」ことが可能となり、エントロピ復号演算を高速化することができる。また、コンテクスト変換テーブルを用いるとしているので、回路規模の増大を確率生成部を設ける場合よりも小さく抑えることができる。
なお、ビットモデリング演算器において、複数ビット同時にコンテクスト演算を行い、MQ−CODER復号器において、MQ−CODER復号演算を複数ビット並列して行うようにする場合には、1回の演算で複数ビットを処理することができ、エントロピ復号演算の更なる高速化を図ることができる。
(第1実施形態)
図1は本発明の第1実施形態の概略的構成図である。図1中、10はビットモデリング演算器、11は算術復号器をなす4段MQ−CODER復号器11である。ビットモデリング演算器10は、4段MQ−CODER復号器11が出力するシンボル(D)を入力し、コンテクスト(CX)演算を1ストライプの4ビットについて同時に行うものである。4段MQ−CODER復号器11は、ビットモデリング演算器10が出力するコンテクスト等のデータと、ストリーム解析器(図示せず)が出力するバイトデータ(B)を入力し、MQ−CODER復号演算を行うものである。
図2はビットモデリング演算器10の概略的構成図である。図2中、13は4段MQ−CODER復号器11から与えられるビットプレーンの各ビットの有意ビット情報を記憶する有意ビット記憶装置、14は第1コンテクスト演算器であり、15はSPパス用コンテクスト演算器、16はCパス用コンテクスト演算器である。17は第2コンテクスト演算器であり、18はMRパス用コンテクスト演算器である。19はMRパス用コンテクスト記憶装置、20は4段MQ−CODER復号器11に与えるコンテクスト等のデータを格納するコンテクスト・レジスタ(CXreg)部である。
図3はSPパス用コンスタント演算器15におけるSPパスの各ビットのパス及びコンテクスト演算処理順序を示す図である。図3中、21はビットプレーンから分けられたSPパスを示しており、本実施形態では、SPパスの各ビットのパス及びコンテクスト演算は、まず、SPパスの左上からストライプと呼ばれる縦方向4ビットのパス及びコンテクスト演算を同時に行い、次に右隣のストライプの4ビットのパス及びコンテクスト演算を同時に行い、これを繰り返して右端に達すると、縦方向に1ストライプ分シフトし、同様のパス及びコンテクスト演算を左端から右方向にシフトしながら行い、以下、同様にして右下まで繰り返すことにより行われる。Cパスについても同様である。
図4はSPパス用コンテクスト演算器15の概略的構成図である。SPパス用コンテクスト演算器15は、SPパスの処理時に、パス及びコンテクスト演算を1ストライプの4ビット同時に行うものであり、23−1はストライプの1番上のビットのパス及びコンテクストを演算するSPパス用コンテクスト演算器、23−2はストライプの上から2番目のビットのパス及びコンテクストを演算するSPパス用コンテクスト演算器、23−3はストライプの上から3番目のビットのパス及びコンテクストを演算するSPパス用コンテクスト演算器、23−4はストライプの上から4番目のビットのパス及びコンテクストを演算するSPパス用コンテクスト演算器である。なお、ストライプの1番上のビットのシンボル・コンテクストは必ず確定している。
24−1はSPパス用コンテクスト演算器23−1が備えるコンテクスト・テーブル、24−2はSPパス用コンテクスト演算器23−2が備えるコンテクスト・テーブル、24−3はSPパス用コンテクスト演算器23−3が備えるコンテクスト・テーブル、24−4はSPパス用コンテクスト演算器23−4が備えるコンテクスト・テーブルであり、これらコンテクスト・テーブルは、JPEG2000規格によるものである。
図5はSPパス用コンテクスト演算器15で行われるパス及びコンテクスト演算手順の一部を示すフローチャートである。即ち、SPパス用コンテクスト演算器においてSPパスが処理されるときには、図5に示すフローチャートに従って、注目ビットのパス、そのパスが確定しているか、及び、出力されるコンテクストは確定しているコンテクストか後述する予想コンテクストかの判定が行われる。
具体的には、まず、注目ビットが前のビットプレーンまでに有意になっているか否かを判断する(ステップS1)。そして、注目ビットが前のビットプレーンまでに有意になっている場合(ステップS1でYESの場合)には、MRパスであることが確定される(ステップS2)。これに対して、注目ビットが前のビットプレーンまでに有意になっていない場合(ステップS1でNOの場合)には、現在処理中のストライプは全て0と仮定してコンテクストを求める(ステップS3)。
次に、求めたコンテクストが0であるか否かが判断される(ステップS4)。そして、求めたコンテクストが0である場合(ステップS4でYESの場合)には、注目ビットが注目ストライプの一番上のビットであるか否かを判断する(ステップS5)。注目ビットが注目ストライプの一番上のビットである場合(ステップS5でYESの場合)には、Cパスであることが確定され、コンテクストも確定される(ステップS6)。
これに対して、注目ビットが注目ストライプの一番上のビットでない場合(ステップS5でNOの場合)には、注目ビットの上のビットがCパスであると確定しているか否かが判断される(ステップS7)。そして、注目ビットの上のビットがCパスであると確定している場合(ステップS7でYESの場合)には、注目ビットはCパスであると確定され、コンテクストは未定(indef)とされる(ステップS8)。これに対して、注目ビットの上のビットがCパスであると確定していない場合(ステップS7でNOの場合)には、SPp状態(SPパスであるかCパスであるか未定の状態)で、コンテクストも未定(indef)とされる(ステップS9)。
また、ステップS4で、コンテクストは0でないと判断された場合には、注目ストライプの一番上もしくは注目ビットの上のビットがMRパスもしくはCパスに確定しているか否かが判断される(ステップS10)。そして、注目ストライプの一番上もしくは注目ビットの上のビットがMRパスもしくはCパスに確定している場合(ステップS10でYESの場合)には、SPパスであると確定され、コンテクストも確定(fix)される(ステップS11)。これに対して、注目ストライプの一番上及び注目ビットの上のビットがMRパスもしくはCパスに確定していない場合(ステップS10でNOの場合)には、SPパスであると確定され、コンテクストは未定(indef)とされる(ステップS12)。
図6はSPパス用コンテクスト演算器15で行われるシンボルのコンテクスト演算(図5に示すステップS3で行われるシンボルのコンテクスト演算)を説明するための図であり、図6(A)は注目ストライプの一番上のビットのシンボルのコンテクストを演算する場合、図6(B)は注目ストライプの上から2番目以下のビットのシンボルのコンテクストを演算する場合を示している。
注目ストライプの一番上のビットのシンボルのコンテクスト演算は、SPパス用コンテクスト演算器15内のSPパス用コンテクスト演算器23−1で行われるが、この場合には、通常のコンテクスト演算装置と同じように、注目ビット26−1について、処理パスにおける8近傍の有意情報に基づいて、コンテクスト・テーブル24−1を参照してコンテクストが決定される。
注目ストライプの上から2番目以下のビットのシンボルのコンテクスト演算は、SPパス用コンテクスト演算器15内のSPパス用コンテクスト演算器23−k(但し、k=2、3、4)で行われるが、この場合には、注目ビット26−kの上のビットのシンボルの復号結果が“0” であると仮定した8近傍有意情報に基づいて、コンテクスト・テーブル24−kを参照してコンテクストが決定される。
このように、注目ビットの上のビットは“0”であると仮定してコンテクストを求め、図5に示す処理フローで“コンテクスト未定”と判定された場合、このコンテクストを予想コンテクスト(pCX)と呼ぶ。即ち、SPパスの処理では、注目ビットの上のビットが同じSPパスで処理されるビットであり、シンボルが未だ出力されていない場合には、注目ビットのコンテクストを求めることかできない。そこで、注目ビットの上のビットのシンボルの信号結果は“0”であると仮定して予想コンテクストを演算する。予想コンテクストは、仮定が間違っていた場合には、4段MQ−CODER復号器11において、後述するコンテクスト変換テーブルを用いて正しいコンテクストに変換される。
また、SPパスの処理においては、注目ビットの上のビットの値が確定しないと、SPパスに属するか、Cパスに属するか、確定しない場合がある(図5のステップS9)。この場合には、とりあえず、4段MQ−CODER復号器11にはSPパスとしてコンテクストを送る。そして、注目ビットの上のビットのシンボルの信号結果が“0”であった場合には、注目ビットはCパスであり、注目ビットはSPパスではないことが確定するので、SPパスとしてのMQ−CODER復号処理を行わないようにする。逆に、注目ビットの上のシンボルが“1”であった場合には、注目ビットはSPパスであることが確定するので、SPパスとしてMQ−CODER復号処理を行う。
図7はSPパス用コンテクスト演算器15で行われる正負符号のコンテクスト演算を説明するための図であり、図7(A)は図5に示す処理で注目ビットのコンテクストが確定していると判定された場合、図7(B)は図5に示す処理フローで注目ビットのコンテクストが確定していないと判定された場合を示している。
即ち、図5に示す処理フローで注目ビット26−kのコンテクストが確定していると判定された場合には、垂直方向コンテクストモデル判定器28による垂直方向コンテストモデル判定値と、水平方向コンテクストモデル判定器29による水平コンテクストモデル判定値から、正負符号コンテクストモデル・XORビット演算器30による正負符号のコンテクストモデルが演算され、コンテクスト及びXORビットが出力される。
これに対して、図5に示す処理で注目ビットのコンテクストが確定していないと判定された場合には、注目ビット26−kの上のビットは「有意でない係数」として垂直方向コンテクストモデル判定器28による垂直方向コンテストモデル判定値SinVと、水平方向コンテクストモデル判定器29による水平コンテクストモデル判定値SinHが演算され、これら垂直方向コンテストモデル判定値SinV及び水平コンテクストモデル判定値SinHが出力され、正負符号コンテクストモデル・XORビット演算器30による演算は行われない。
図8はSPパス用コンテクスト演算器15からのコンテクスト(予想コンテクストを含む)の出力例を示す図である。図8(A)は1ストライプの4ビットが全てSPパスに属する場合の例である。ストライプの一番上のビットはコンテクストが確定しているが、上から2番目以下のビットのコンテクストは確定しない例である。
図8(B)は1ストライプの4ビットのうち、上から3番目のビットがMRパスに属することがわかっている場合の例である。この場合、一番上のビットのコンテクストは確定しており、上から2番目のビットのコンテクストは予想コンテクストになる。しかし、4番目のビットは、上のビットがSPパス処理時に処理が行われないため、上のビットの復号結果には依存されない。したがって、4番目のビットのコンテクストは確定する。
図9はCパス用コンテクスト演算器16で行われるコンテクスト演算手順の一部を示すフローチャートである。即ち、Cパスを処理するときは、まず、現在処理中のストライプの復号結果が全て0であると仮定してコンテクストを求め(ステップP1)、ストライプのデータが全てCパスで、かつ、全てのビットのコンテクスト=0であるか否かを判断する(ステップP2)。
そして、ストライプのデータが全てCパスで、かつ、全てのビットのコンテクスト=0である場合(ステップP2でYESの場合)には、このストライプはランレンクス処理を行う(ステップP3)。これに対して、ストライプのデータが全てCパスで、かつ、全てのビットのコンテクスト=0でない場合(ステップP2でNOの場合)には、注目ビットがストライプの一番上のビットであるか否かを判断する(ステップP4)。
そして、注目ビットがストライプの一番上のビットである場合(ステップP4でYESの場合)には、注目ビットのコンテクストは確定(fix)される(ステップP5)。これに対して、注目ビットがストライプの一番上のビットでない場合(ステップP4でNOの場合)には、注目ビットの上のビットがCパスであるか否かを判断する(ステップP6)。
そして、注目ビットの上のビットがCパスでない場合(ステップP6でNOの場合)には、注目ビットのコンテクストは確定(fix)される(ステップP7)。これに対して、注目ビットの上のビットがCパスである場合(ステップP6でYESの場合)には、注目ビットのコンテクストは未定(indef)とされる(ステップP8)。
Cパスの処理も、注目ビットの上のビットが同じCパスで処理されるビットであり、シンボルが未だ出力されていない場合は、注目ビットのコンテクストを求めることかできない。そこで、この場合も、注目ビットの上のビットのシンボルの復号結果が“0”であると仮定して予想コンテクストを演算する。予想コンテクストは、仮定が間違っていた場合には、4段MQ−CODER復号器11において、後述するコンテクスト変換テーブルを用いて正しいコンテクストに変換される。
なお、SPパスの処理においては、パスが確定しない場合があったが、Cパスで処理されることになっているビットは、必ずCパスで処理されるので、4段MQ−CODER復号器11でコンテクストそのものの処理を除外することはない。
図10は第2コンテクスト演算器17の概略的構成図である。図10中、32−1〜32−4はOR回路であり、OR回路32−1は、4段MQ−CODER復号器11から出力されるSPパスのストライプの一番上のビットのシンボルの復号結果と、同一ビットについての前のビットプレーンまでの有意情報とをOR処理するものである。OR回路32−2は、4段MQ−CODER復号器11から出力されるSPパスのストライプの上から2番目のビットのシンボルの復号結果と、同一ビットについての前のビットプレーンまでの有意情報とをOR処理するものである。
また、OR回路32−3は、4段MQ−CODER復号器11から出力されるSPパスのストライプの上から3番目のビットのシンボルの復号結果と、同一ビットについての前のビットプレーンまでの有意情報とをOR処理するものである。OR回路32−4は、4段MQ−CODER復号器11から出力されるSPパスのストライプの上から4番目のビットのシンボルの復号結果と、同一ビットについての前のビットプレーンまでの有意情報とをOR処理するものである。
33は記憶装置からなる遅延回路であり、出力端33−1〜33−4に、OR回路32−1〜32−4から出力される有意情報を処理パスの横方向のライン分のコンテクスト演算処理時間だけ遅延したものを出力すると共に、出力端33−0に、出力端33−4に得られる有意情報を処理パスの横方向のライン分のコンテクスト演算処理時間だけ遅延させたものを出力するものである。
したがって、MRパス用コンテクスト演算器18の入力端34−0には、注目ストライプの上のビットの有意情報が入力され、入力端34−1〜34−4には、注目ストライプの各ビットの有意情報が入力され、入力端34−5には、注目ストライプの下のビットの有意情報が入力される。そして、MRパス用コンテクスト演算器18から出力されるMRパスのコンテクストは、MRパス用コンテクスト記憶装置19に記憶される。
このように、本実施形態では、第2コンテクスト演算器17を設け、SPパス用コンテクスト演算器15でのSPパスの処理中に同時にMRパスのコンテクストを確定し、これをMRパス用コンテクスト記憶装置19に記憶し、SPパスの処理後、4段MQ−CODER演算器11において、直ちにMRパスのシンボルを演算できるようにしている。
即ち、MRパスのコンテクストは、同じビットプレーンにおけるMRパスの復号結果には依存せず、注目ビットの8近傍のSPパスの復号結果が出力された時点でコンテクストが確定するので、この確定したコンテクストをMRパス用コンテクスト記憶装置19に記憶しておき、SPパスの処理後、直ちにMRパス用コンテクスト記憶装置19から読み出して、4段MQ−CODER演算器11において、MRパスのシンボルを演算できるようにしている。
なお、MRパス用コンテクスト記憶装置19にMRパスのコンテクストを詰めて記憶する場合には、MRパスのビットプレーン内の実際の位置に拘わらず連続して処理を行うことができ、高速化を図ることができる。しかし、MRパスのビットプレーンの位置を意識しないで復号した際には、MRパスにおいて復号されたシンボルのビットモデリング演算器10への配置をMRパスの復号と同時に行うことが困難である。従って、MRパスのシンボルを配置するための時間が必要である。この配置を次の処理であるCパスの復号時間、あるいは、更にそれ以降のSPパス又はCパスの処理時間に行うことにより、MRパスのシンボル配置の時間を短縮することができる。
図11はコンテクスト・レジスタ部20の概略的構成図である。図11中、CXreg(0)〜CXreg(3)はコンテクスト・レジスタである。CXreg(0)において、36−1はCX0EN領域、36−2はDataCX0領域、36−3はSinCX0領域である。CXreg(1)において、37−1はCX1EN領域、37−2はfix1領域、37−3はDataCX1領域、37−4はSinCX1領域である。CXreg(2)において、38−1はCX2EN領域、38−2はfix2領域、38−3はDataCX2領域、38−4はSinCX2領域である。CXreg(3)において、39−1はCX3EN領域、39−2はfix3領域、39−3はDataCX3領域、39−4はSinCX3領域である。40はコンテクスト変換回路である。
CX0EN、CX1EN、CX2EN、CX3ENは、それぞれ、コンテクストCX0、CX1、CX2、CX3が有効な値であるかどうかを示すデータである。fixnはシンボル・コンテクストdataCXn及び正負符号sinCXnが確定しているかどうかを表すデータであり、fixn=“1”の場合は確定、fixn=“0”の場合は未定を示す。なお、コンテクスト・レジスタCXreg(0)〜CXreg(3)には、コンテクスト演算器13から出力されたデータのうち、現在処理を行っているパスのデータが格納され、必要量のデータが次のステップである4段MQ−CODER復号器11に送られる。また、SinCX領域には、中間値SinV、SinHが記憶される場合もある。
また、コンテクスト変換回路40は、後述するSPパス用4段MQ−CODER復号器が備えるコンテクスト変換テーブル及び正負符号コンテクスト・XORビット演算器と同様の機能を有するものである。
なお、第1コンテクスト演算器14の演算速度(本実施形態では、1サイクル1ストライプ)と多段MQ−CODER復号器の演算速度が同じであれば、コンテクスト・レジスタ部20は不要である。しかし、第1コンテクスト演算器14で1ストライプを処理した場合に出力されるコンテクストは最大で10個であり、10個のコンテクストを同時に処理する多段MQ−CODER復号器を構成することは非常に難しい。1サイクルの時間が非常に長ければ(クロック周波数が非常に低ければ)可能であるが、一般的に使用されるクロックサイクルでは不可能であると考えられるので、コンテクスト・レジスタ部20が必要となる。
図12は4段MQ−CODER復号器11の概略的構成図である。4段MQ−CODER復号器11は、MRパス用4段MQ−CODER復号器41と、SPパス用4段MQ−CODER復号器42と、Cパス用4段MQ−CODER復号器43を有している。
図13はMRパス用4段MQ−CODER復号器41の概略的構成図である。図13中、44はオージェンドA及び符号Cを更新的に記憶するA・Cレジスタ、45は1段目のMQ−CODER復号器、46は2段目のMQ−CODER復号器、47は3段目のMQ−CODER復号器、48は4段目のMQ−CODER復号器である。
49はスキップするかのデータSkip1を選択制御データとし、MQ−CODER復号器45の出力又はMQ−CODER復号器46の出力を選択するセレクタ、50はスキップするかのデータSkip2を選択制御データとし、セレクタ49出力又はMQ−CODER復号器47の出力を選択するセレクタである。
51はスキップするかのデータSkip3を選択制御データとし、セレクタ50の出力又はMQ−CODER復号器48の出力を選択するセレクタ、52は復号処理をスキップするかのデータSkip MQ-decを選択制御データとし、セレクタ51の出力又はA・Cレジスタ44の出力を選択するセレクタである。
CX1ENが無効であるときには、Skip1=T(真)となり、2段目の復号は無効になる。以下、Skip2、Skip3も同様である。また、全てのコンテクストCX0〜CX3が無効なときは、Skip MQ-dec=Tとなり、オージェンドAと符号Cの値は変化しない。
図14は1段目のMQ−CODER復号器45の回路図である。図14中、54はCX0を入力してI(CX0)(=インデックス)を出力するインデックス・メモリ、55はI(CX0)を入力してQe0=Qe(I(CX0))(=劣性シンボル確率)を出力するQeテーブル回路、56はオージェンドA0からQeテーブル回路45の出力Qe0を減算する減算器、57は符号C0からQeテーブル回路55の出力Qe0を減算する減算器である。
58は「C0high<Qe0であるか」のデータHLCF0を選択制御データとし、Qeテーブル回路55の出力Qe0又は減算器56の出力AMSB0を選択するセレクタ、59は「C0high<Qe0であるか」のデータHLCF0を選択制御データとし、減算器57の出力又は符号C0を選択するセレクタ、60はセレクタ58の出力を入力してオージェンドA1を出力するREMORME(符号化時再正規化)回路、61はセレクタ59の出力をRENORME回路60でシフトした量と同じビット数でシフトするシフタ、62はシフタ61の出力とバイト入力が発生した際には、バイトを加算して符号C1を出力する加算器である。
63は「C0high<Qe0であるか」のデータHLCF0と「A0<(Qe0<<1)(=Qeを左に1ビットシフトしたもの)であるか」のデータをExOR処理し、符号化がMPS符号化であるかLPS符号化であるかを示すデータIsLPS0を出力するExOR回路である。64はCX0を入力してMPS(CX0)(=優勢シンボル)を出力するMPSメモリ、65はExOR回路63の出力IsLPS0とMPSメモリ64の出力MPS(CX0)をExOR処理して信号結果のシンボルD0を出力するExOR回路である。
66はExOR回路63の出力IsLPS0とSWITCH(CX0)(=シンボル逆転スイッチ)をAND処理するAND回路、67はMPSメモリ64の出力MPS(CX0)とAND回路66の出力をExOR処理し、後段のビット処理に必要なNxtMPS(CX0)を出力するExOR回路、68はインデックス・メモリ54の出力I(CX0)と減算器56の出力AMSB0を入力してネクスト・インデックスNxtI(CX0)を出力するネクスト・インデックス回路である。
図15は2段目のMQ−CODER復号器46の回路図である。図15中、70はCX1を入力してPreI(CX1)を出力するインデックス・メモリ、71は「CX0=CX1であるか」のデータを選択制御データとし、NxtI(CX0)又はインデックス・メモリ70の出力PreI(CX1)を選択するセレクタ、72はセレクタ71の出力I(CX1)を入力してQe1=Qe(I(CX1))を出力するQeテーブル回路である。
73はオージェンドA1からQeテーブル回路72の出力Qe1を減算する減算器、74は符号C1からQeテーブル回路72の出力Qe1を減算する減算器、75は「C1high<Qe1であるか」のデータHLCF1を選択制御データとし、Qeテーブル回路72の出力Qe1又は減算器73の出力AMSB1を選択するセレクタ、76は「C1high<Qe1であるか」のデータHLCF1を選択制御データとし、減算器74の出力又は符号C1を選択するセレクタである。
77はセレクタ75の出力を入力してオージェンドA2を出力するRENORME回路、78はセレクタ76の出力をRENORME回路77でシフトした量と同じビット数シフトするシフタ、79はシフタ78の出力とバイト入力が発生した際にはバイトを加算して符号C2を出力する加算器である。
80は「C1high<Qe1であるか」のデータHLCF1と「A1<(Qe1<<1)であるか」のデータをExOR処理してIsLPS1を出力するExOR回路、81はCX1を入力してPreMPS(CX1)を出力するMPSメモリ、82は「CX0=CX1であるか」のデータを選択制御データとし、MPSメモリ81の出力PreMPS(CX1)又はNxtMPS(CX0)を選択するセレクタである。
83はExOR回路80の出力IsLPS1とセレクタ82の出力MPS(CX1)をExOR処理して信号結果のシンボルD1を出力するExOR回路、84はExOR回路80の出力IsLPS1とSWITCH(CX1)をAND処理するAND回路、85はセレクタ82の出力MPS(CX1)とAND回路84の出力をExOR処理してNxtMPS(CX1)を出力するExOR回路、86はセレクタ71の出力I(CX1)と減算器73の出力AMSB1と「C1high<Qe1であるか」のデータHLCF1を入力してネクスト・インデックスNxtI(CX1)を出力するネクスト・インデックス回路である。
図16は3段目のMQ−CODER復号器47の回路図である。図16中、88はCX2を入力してPreI(CX2)を出力するインデックス・メモリ、89は「CX0=CX2であるか」のデータを選択制御データとし、インデックス・メモリ88の出力PreI(CX2)又はNxtI(CX0)を選択するセレクタ、90は「CX1=CX2であるか」のデータを選択制御データとし、セレクタ89の出力又はNxtI(CX1)を選択するセレクタ、91はI(CX2)を入力してQe2=Qe(I(CX2))を出力するQeテーブル回路である。
92はオージェンドA2からQeテーブル回路91の出力Qe2を減算する減算器、93は符号C2からQeテーブル回路91の出力Qe2を減算する減算器、94は「C2high<Qe2であるか」のデータHLCF2を選択制御データとし、Qeテーブル回路91の出力Qe2又は減算器92の出力AMSB2を選択するセレクタ、95は「C2high<Qe2であるか」のデータHLCF2を選択制御データとし、減算器93の出力又は符号C2を選択するセレクタである。
96はセレクタ94の出力を入力してオージェンドA3を出力するRENORME回路、97はセレクタ95の出力をRENORME回路でシフトした量と同じビット数シフトするシフタ、98はシフタ97の出力とバイト入力が発生した際には、バイトを加算して符号C3を出力する加算器である。
99は「C2high<Qe2であるか」のデータHLCF2と「A2<(Qe2<<1)であるか」のデータをExOR処理してIsLPS2を出力するExOR回路、100はCX2を入力してPreMPS(CX2)を出力するMPSメモリ、101は「CX0=CX2であるか」のデータを選択制御データとし、MPSメモリ100の出力PreMPS(CX2)又はNxtMPS(CX0)を選択するセレクタ、102は「CX1=CX2であるか」のデータを選択制御データとし、セレクタ101の出力又はNxtMPS(CX1)を選択するセレクタである。
103はExOR回路99の出力IsLPS2とセレクタ102の出力MPS(CX2)をExOR処理して信号結果のシンボルD2を出力するExOR回路、104はExOR回路99の出力IsLPS2とSWITCH(CX2)をAND処理するAND回路、105はセレクタ102の出力MPS(CX2)とAND回路104の出力をExOR処理してNxtMPS(CX2)を出力するExOR回路、106はセレクタ90の出力I(CX2)と減算器92の出力AMSB2と「C2high<Qe2であるか」のデータHLCF2を入力してネクスト・インデックスNxtI(CX2)を出力するネクスト・インデックス回路である。
図17は4段目のMQ−CODER復号器48の回路図である。図17中、108はCX3を入力してPreI(CX3)を出力するインデックス・メモリ、109は「CX0=CX3であるか」のデータを選択制御データとし、インデックス・メモリ108の出力PreI(CX3)又はNxtI(CX0)を選択するセレクタ、110は「CX1=CX3であるか」のデータを選択制御データとし、セレクタ109の出力又はNxtI(CX1)を選択するセレクタ、111は「CX2=CX3であるか」のデータを選択制御データとし、セレクタ110の出力又はNxtI(CX2)を選択するセレクタ、112はセレクタ111の出力I(CX3)を入力してQe3=Qe(I(CX3))を出力するQeテーブル回路である。
113はオージェンドA3からQeテーブル回路112の出力Qe3を減算する減算器、114は符号C3からQeテーブル回路112の出力Qe3を減算する減算器、115は「C3high<Qe3であるか」のデータHLCF3を選択制御データとし、Qeテーブル回路112の出力Qe3又は減算器113の出力AMSB3を選択するセレクタ、116は「C3high<Qe3であるか」のデータHLCF3を選択制御データとし、減算器114の出力又は符号C3を選択するセレクタである。
117はセレクタ115の出力を入力してオージェンドA4を出力するRENORME回路、118はセレクタ116の出力をRENORME回路117でシフトした量と同じビット数シフトするシフタ、119はシフタ118の出力とバイト入力が発生した際にはバイトを加算して符号C4を出力する加算器である。
120は「C3high<Qe3であるか」のデータHLCF3と「A3<(Qe3<<1)であるか」のデータをExOR処理してIsLPS3を出力するExOR回路、121はCX3を入力してPreMPS(CX3)を出力するMPSメモリである。122は「CX0=CX3であるか」のデータを選択制御データとし、MPSメモリ121の出力PreMPS(CX3)又はNxtMPS(CX0)を選択するセレクタ、123は「CX1=CX3であるか」のデータを選択制御データとし、セレクタ122の出力又はNxtMPS(CX1)を選択するセレクタ、124は「CX2=CX3であるか」のデータを選択制御データとし、セレクタ123の出力又はNxtMPS(CX2)を選択するセレクタである。
125はExOR回路120の出力IsLPS3とセレクタ124の出力MPS(CX3)をExOR処理して信号結果のシンボルD3を出力するExOR回路、126はExOR回路120の出力IsLPS3とSWITCH(CX3)をAND処理するAND回路、127はセレクタ124の出力MPS(CX3)とAND回路126の出力をExOR処理してNxtMPS(CX3)を出力するExOR回路、128はセレクタ111の出力I(CX3)と減算器113の出力AMSB3と「C3high<Qe3であるか」のデータHLCF3を入力してネクスト・インデックスNxtI(CX3)を出力するネクスト・インデックス回路である。
なお、4段MQ−CODER復号器11の代わりに、1段MQ−CODER復号器を設けるようにする場合には、図14に示す1段目のMQ−CODER復号器のみを設けるようにする。2段MQ−CODER復号器を設けるようにする場合には、図14に示す1段目のMQ−CODER復号器と、図15に示す2段目のMQ−CODER復号器を設けるようにする。3段MQ−CODER復号器を設けるようにする場合には、図14に示す1段目のMQ−CODER復号器と、図15に示す2段目のMQ−CODER復号器と、図16に示す3段目のMQ−CODER復号器を設けるようにする。なお、同様に5段以上のMQ−CODER復号器を設けることもできる。
図18はインデックス・メモリ54、70、88、108の第1構成例を示す回路図である。本実施形態では、イネデックス・メモリ54、70、88、108は一体として構成される。図18中、130−i(但し、i=0、1、・・・、18)、131−i、132−i、133−iはセレクタ、134−iはインデックス・レジスタ、135〜138はセレクタである。
セレクタ130-iは、「CX0=iであるか」のデータを選択制御データとし、インデックス・レジスタ134−iの出力又はNxtI(CX0)を選択するものである。セレクタ131-iは、「CX1=iであるか」のデータを選択制御データとし、セレクタ130−iの出力又はNxtI(CX1)を選択するものである。
セレクタ132-iは、「CX2=iであるか」のデータを選択制御データとし、セレクタ131−iの出力又はNxtI(CX2)を選択するものである。セレクタ133-iは、「CX3=iであるか」のデータを選択制御データとし、セレクタ132−iの出力又はNxtI(CX3)を選択するものである。インデックス・レジスタ134−iはセレクタ133−iの出力を記憶するものである。
セレクタ135は、CX0を選択制御データとし、CX0=iの場合には、インデックス・レジスタ134−iの出力を選択するものである。セレクタ136は、CX1を選択制御データとし、CX1=iの場合には、インデックス・レジスタ134−iの出力を選択するものである。
セレクタ137は、CX2を選択制御データとし、CX2=iの場合には、インデックス・レジスタ134−iの出力を選択するものである。セレクタ138は、CX3を選択制御データとし、CX3=iの場合には、インデックス・レジスタ134−iの出力を選択するものである。
なお、4段MQ−CODER復号器11の代わりに3段MQ−CODER復号器を設けるようにする場合には、セレクタ133−0〜133−18、138を設けないようにする。2段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ132−0〜132−18、137を設けないようにする。1段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ131−0〜131−18、136を設けないようにする。
図19はインデックス・メモリ54、70、88、108の第2構成例を示す回路図である。第2構成例は、セレクタ130−18、131−18、132−18、133−18及びインデックス・メモリ134−18(UNIFORMに対するインデックス)の代わりに、固定値「46」を出力する回路140を設け、その他については、第1構成例と同様に構成したものである。
なお、4段MQ−CODER復号器11の代わりに3段MQ−CODER復号器を設けるようにする場合には、セレクタ133−0〜133−17、138を設けないようにする。2段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ132−0〜132−17、137を設けないようにする。1段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ131−0〜131−17、136を設けないようにする。
図20はMPSメモリ64、81、100、121の第1構成例を示す回路図である。本実施形態では、MPSメモリ64、81、100、121は一体として構成される。図20中、142−i、143−i、144−i、145−iはセレクタ、146−iはMPSレジスタ、147〜150はセレクタである。
セレクタ142-iは、「CX0=iであるか」のデータを選択制御データとし、MPSレジスタ146−iの出力又はNxtMPS(CX0)を選択するものである。セレクタ143-iは、「CX1=iであるか」のデータを選択制御データとし、セレクタ142−iの出力又はNxtMPS(CX1)を選択するものである。
セレクタ144-iは、「CX2=iであるか」のデータを選択制御データとし、セレクタ143−iの出力又はNxtMPS(CX2)を選択するものである。セレクタ145-iは、「CX3=iであるか」のデータを選択制御データとし、セレクタ144−iの出力又はNxtMPS(CX3)を選択するものである。MPSレジスタ146−iはセレクタ145−iの出力を記憶するものである。
セレクタ147は、CX0を選択制御データとし、CX0=iの場合には、MPSレジスタ146-iの出力を選択するものである。セレクタ148は、CX1を選択制御データとし、CX1=iの場合には、MPSレジスタ146-iの出力を選択するものである。セレクタ149は、CX2を選択制御データとし、CX2=iの場合には、MPSレジスタ146-iの出力を選択するものである。セレクタ150は、CX3を選択制御データとし、CX3=iの場合には、MPSレジスタ146-iの出力を選択するものである。
なお、4段MQ−CODER復号器11の代わりに3段MQ−CODER復号器を設けるようにする場合には、セレクタ145−0〜145−18、150を設けないようにする。2段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ144−0〜144−18、149を設けないようにする。1段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ143−0〜143−18、148を設けないようにする。
図21はMPSメモリ64、81、100、121の第2構成例を示す回路図である。第2構成例は、セレクタ142−18、143−18、144−18、145−18及びMPSレジスタ146−18(UNIFORMに対するMPS)の代わりに、固定値「0」を出力する回路152を設け、その他については、第1構成例と同様に構成したものである。
なお、4段MQ−CODER復号器11の代わりに3段MQ−CODER復号器を設けるようにする場合には、セレクタ145−0〜145−17、150を設けないようにする。2段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ144−0〜144−17、149を設けないようにする。1段MQ−CODER復号器を設けるようにする場合には、更に、セレクタ143−0〜143−17、148を設けないようにする。
図22はネクスト・インデックス回路68、86、106、128の回路図である。図22中、m=0とする場合には、ネクスト・インデックス回路68を示し、m=1とする場合には、ネクスト・インデックス回路86を示し、m=2とする場合には、ネクスト・インデックス回路106を示し、m=3とする場合には、ネクスト・インデックス回路128を示す。
154はセレクタであり、IsLPSmを選択制御データとし、IsLPSm=“0”の場合には、NMPS(I(Cxm))(=MPS符号化後の更新インデックス)を選択し、IsLPSm=“1”の場合には、NLPS(I(CXm))(=LPS符号化後の更新インデックス)を選択するものである。155はAMSBm[15](AMSBmの16ビット目)と、HLCFmのNOT論理をとったものとをAND処理するAND回路である。156はセレクタであり、AND回路155の出力を選択制御データとし、AND回路155の出力が“0”の場合には、セレクタ154の出力をそのまま出力し、AND回路155の出力が“1”の場合には、I(CXm)を出力する。
図23はSPパス用4段MQ−CODER復号器42の構成図である。1画素のデータでシンボルの復号と正負符号の復号が発生する可能性があるため、1画素あたり2段のMQ−CODER復号器を用意する。図23中、158はオージェンドA及び符号Cを更新的に記憶するA・Cレジスタ、159は1段目のMQ−CODER復号器(図14に示すMQ−CODER復号器と同一構成のもの)、160は2段目のMQ−CODER復号器(図15に示すMQ−CODER復号器と同一構成のもの)、161は3段目のMQ−CODER復号器(図16に示すMQ−CODER復号器と同一構成のもの)、162は4段目のMQ−CODER復号器(図17に示すMQ−CODER復号器と同一構成のもの)である。
163はスキップするかのデータSkip1を選択制御データとし、MQ−CODER復号器159の出力又はMQ−CODER復号器160の出力を選択するセレクタ、164はスキップするかのデータSkip2を選択制御データとし、セレクタ163の出力又はMQ−CODER復号器161の出力を選択するセレクタ、165はスキップするかのデータSkip3を選択制御データとし、セレクタ164の出力又はMQ−CODER復号器162の出力を選択するセレクタ、166は復号処理をスキップするかのデータSkip MQ-decを選択制御データとし、セレクタ165の出力又はA・Cレジスタ158の出力を選択するセレクタである。
167はシンボル用のコンテクスト変換テーブル、168は正負符号コンテクストモデル・XORビット演算器(図7に示す正負符号コンテクストモデル・XORビット演算器30と同一構成のもの)であり、169はMQ−CODER復号器159から出力されるD0とfix1のNOT論理をとったものとをAND処理するAND回路、170はAND回路169の出力を選択制御データとするセレクタ、171はfix1を選択制御データとするセレクタである。CX1ENが無効である場合には、Skip2、3=Tとなり、3、4段目の復号は無効になる。また、1段目の復号結果、シンボルD0が0になったときには2段目である正負符号は復号されないため、Skip=1となり、2段目の結果が無視される。
また、dataCX1のデータがSPpの場合(つまり、dataCX1=0の場合)は、1段目の復号結果シンボルが“0”になったときには、このデータはCパスのデータであることが確定する。したがって、Skip2、3=Tとし、3、4段目の復号処理を無視する必要がある。また、MQ−CODER復号器が2段以下の場合には、コンテクスト変換テーブル167の機能は不要になる。この機能は、コンテクスト・レジスタ部20にあるためである。
図24はSPパス用4段MQ−CODER復号器42が備えるSPパス用のコンテクスト変換テーブル167の内容を示す図である。コンテクスト変換テーブル167において、173はLL及びLHサブバンド用コンテクスト変換テーブル、174はHLサブバンド用コンテクスト変換テーブル、175はHHサブバンド用コンテクスト変換テーブルであり、pCXと記載されている欄の値が予想コンテクストの値である。このコンテクスト変換テーブル167の内容は、JPEG2000に従って作成されたものである。
なお、LL及びLHサブバンド用コンテクスト変換テーブル173のpCX欄に「4」と記載され、HL用サブバンド用コンテクスト変換テーブル174のpCX欄に「8」と記載されているが、これらは便宜上記載したものであり、実際のコンテクスト変換テーブルには不要である。
ここに、注目ビットの上のビットを復号した結果、シンボルが“0”であった場合には、pCXの値をそのままコンテクストとして利用し、逆に、注目ビットの上のビットを復号した結果、シンボルが“1”であった場合にはCXの欄の値を利用する。したがって、コンテクストを再度計算するような複雑な演算は必要としない。正負符号のコンテクスト変換回路も、シンボル用のコンテクスト変換回路と同様な単純なコンテクスト変換回路によって実現が可能である。
図25はコンテクスト変換テーブル167、AND回路169及びセレクタ170からなるシンボル用のコンテクスト変換回路の動作を説明するための回路図である。セレクタ170は、注目ビットの上のビットのシンボルが“0”であった場合、又は、注目ビットの上のビットのシンボルが“1”で、かつ、fix1=“1”の場合にも、入力されるコンテクストを正しいコンテクストとして、そのまま出力する。これに対して、注目ビットの上のビットのシンボルが“1”で、かつ、fix1=“0”の場合には、ビットモデリング演算器10での注目ビットの上のビットのシンボルの復号結果を“0”と仮定したことは間違いであったとして、セレクタ170は、入力される予想コンテクストをコンテクスト変換テーブル167で変換した値を正しいコンテクストとして出力する。
図26は正負符号コンテクストモデル・XORビット演算器168とセレクタ171からなる正負符号用のコンテクスト変換回路の動作を説明するための図である。セレクタ171は、fix1=“1”の場合、即ち、確定したコンテクストとXORビットを持っている場合は、そのまま出力する。これに対して、fix1=“0”の場合、即ち、中間値SinH、SinVを持っている場合には、これらをD1と合わせて、正負符号コンテクストモデル・XORビット演算器168で演算を行い、セレクタ171は、この結果を出力する。
図27はCパス用4段MQ−CODER復号器43の構成図である。図27中、177はオージェンドA及び符号Cを更新的に記憶するA・Cレジスタ、178は1段目のMQ−CODER復号器(図14に示すMQ−CODER復号器と同一構成のもの)、179は2段目のMQ−CODER復号器(図15に示すMQ−CODER復号器と同一構成のもの)、180は3段目のMQ−CODER復号器(図16に示すMQ−CODER復号器と同一構成のもの)、181は4段目のMQ−CODER復号器(図17に示すMQ−CODER復号器と同一構成のもの)である。
182はスキップするかのデータSkip1を選択制御データとし、MQ−CODER復号器178の出力又はMQ−CODER復号器179の出力を選択するセレクタ、183はスキップするかのデータSkip2を選択制御データとし、セレクタ182の出力又はMQ−CODER復号器180の出力を選択するセレクタ、184はスキップするかのデータSkip3を選択制御データとし、セレクタ183の出力又はMQ−CODER復号器181の出力を選択するセレクタ、185は復号処理をスキップするかのデータSkip MQ-decを選択制御データとし、セレクタ184の出力又はA・Cレジスタ177の出力を選択するセレクタである。
186はシンボル用のコンテクスト変換テーブルであり、図24に示すコンテクスト変換テーブル167と同様のものである。187は正負符号コンテクストモデル・XORビット演算器(図7に示す正負符号コンテクストモデル・XORビット演算器30と同一構成のもの)、188はMQ−CODER復号器178から出力されるD0とfix1のNOT論理をとったものとをAND処理するAND回路、189はAND回路188の出力を選択制御データとするセレクタ、190はfix1を選択制御データとするセレクタである。
なお、Cパスの演算は、SPパスの演算に近い。異なる点は、SPpに対する処理がないことと、後述するようなランレンクスに対する処理が入ることである。ランレンクスの処理のために、コンテクスト・レジスタ部20にランレンクス用のコンテクストを入力する装置191、192を加える必要がある。
図28は本実施形態における最初のCパスの処理時のデータの流れを示す図である。図28中、194は接続回路部である。最初のCパスでは、全てのデータがCパスとして処理され、処理と同時に最終的な復号結果であるコードブロックのデータがコードブロックデータ記憶装置195に書き込まれる。
図29はSPパスの処理時のデータの流れを示す図である。SPパスの処理時は、同時にMRパスのコンテクストを演算し、演算結果をMRパス用コンテクスト記憶装置19に記憶する。同じビットプレーンにおけるCパスの位置をCパスの位置記憶装置197に記憶して行く。SPパスの復号結果であるコードブロックデータもコードブロックデータ記憶装置195に書き込む。このように、SPパスの処理時に同時にMRパスのコンテクストを確定することにより、SPパスの処理後、MRパスのシンボル演算を高速に行うことができる。
図30はCXreg(0)〜CXreg(3)及びコンテクスト変換回路40のSPパス処理時の接続関係を示す図である。この場合には、注目ビットの上のビットのMQ−CODER復号演算の結果を反映し、コンテクスト・レジスタCXreg(0)、CXreg(1)に入っているデータを変換する。そして、コンテクスト・レジスタCXreg(2)、CXreg(3)のデータをコンテクスト・レジスタCXreg(0)、CXreg(1)に移す。
この場合、2段目のMQ−CODER復号器160には1段目のMQ−CODER復号器159の演算結果が必要である。それ以外に、2段目のMQ−CODER復号器160の演算結果を反映して、2段目のコンテクストをコンテクスト変換回路40で正しいコンテクストに変換し、コンテクスト・レジスタCXReg (2)のデータをコンテクスト・レジスタCXReg(0)に入力する。なお、図31はSPパス用4段MQ−CODER復号器42がSPパスの処理を2ビットずつ連続して行う場合の動作例を示す図である。
図32はSPパス処理時のエントロピ復号演算例の流れを示すタイムチャートである。SPパス時には、まず、入力データに対して1ストライプ同時にコンテクストを演算し、各ビットの属するパスと、シンボルに対するコンテクスト(予想コンテクストを含む)と、正負符号に対するコンテクスト(もしくはSinH, SinV)をSPパス用コンテクスト演算器15を使用して演算する。ただし、処理中のストライプの演算結果は未定なので、信号結果は全て0であると仮定してパス・コンテクストを求める。
SPパス処理時には、SPパス用コンテクスト演算器23−1からは、パスのタイプ/fix/シンボル・コンテクスト/正負符号コンテクスト/XORビットが出力され、SPパス用コンテクスト演算器23−2〜23−4からは、パスのタイプ/fix/シンボル・コンテクスト/正負符号コンテクスト/XORビット、又は、パスのタイプ/indef/シンボル予想コンテクスト/SinH/SinVが出力される。
ここで、図5に示すフローに従ってパスとコンテクスト(予想コンテクストを含む)を出力するが、この場合、通常のSPパス、MRパス、Cパス以外にSPp(SPパスに属するかCパスに属するか未定)というものが存在すると考えられる。SPpの場合、予想コンテクストは必ず“0”になり、通常のSPパスの場合、コンテクスト(予想コンテクストを含む)は必ず“0”以外になる。図32の例では、一番下のビットがSPpとなっている。SPpの場合には、SPパスと仮定して演算を続け、上のビットのシンボルの復号結果が“1”であれば(図32ではD1=1)、SPパスであり、そのまま演算を行い、上のビットのシンボルが“0”であれば(図32ではD1=0)、Cパスであり、SPパスの処理中には処理を行わない。
図33はMRパスの処理時のデータの流れを示す図である。図33中、203はMRパス用シンボル記憶装置である。MRパス処理時は、SPパス処理時に算出されたコンテクストデータをMRパス用4段MQ−CODER復号器41で復号する。復号結果は、MRシンボル記憶装置203に書き込む。処理を行っているデータCXのコードブロックにおける位置がバラバラであるために、SPパス、Cパスのように処理を行いながらコードブロックデータ記憶装置195に復号データを書き込むことができない。したがって、次のCパスの処理時、またはSPパスの処理時にコードブロックデータ記憶装置195に配置する必要がある。
図34は最初のCパス以外のCパス(通常のCパス)の処理時のデータの流れを示す図である。同じビットプレーンのSPパス処理時に記憶されたCパスの位置のデータを使用しながら、Cパスのデータを復号する。このとき、Cパスの復号結果であるシンボルをコードブロックデータ記憶装置195に配置するのと同じストライプにMRパスの復号結果を配置する。
図35はMRパスのデータ配置があるSPパス処理時のデータの流れを示す図である。Cパスのデータが無い時には、処理時間の短縮のため、Cパスをとばすことが可能である。この場合には、MRパスの復号結果の配置は次のコードブロックのSPパスの処理時に行うことができる。図36はMRパスのシンボルを配置する場合のデータの流れを示す図である。MRパスの処理がそのコードブロックにおける最後の処理となったときには、シンボルを配置するための処理が必要である。
なお、表1はMRパス処理時のコンテクスト・レジスタCXreg(0)〜CXreg(3)へのデータの配置例を示している。この場合、fixとSinCXの領域は使用しない。コンテクストは確定しているので、コンテクスト変換テーブルは必要ない。つまり、SPパス、Cパスと4段MQ−CODER復号器を共有するときには、fix=1とし、コンテクスト変換テーブルを無視する。
Figure 2006019814
また、表2〜表7はランレンクス処理時のコンテクスト・レジスタCXreg(0)〜CXreg(3)へのデータの配置例を示している。表2は1回目のデータの配置例を示しているが、「*1」はrunlengthに対するCX(17という数字は便宜上の値)、「*2」はUNIFORMに対するCX(18という数字は便宜上の値)である。SinCX1は必ず9になる。なぜならば、周囲に有意なビットが存在しないからである。
Figure 2006019814
入力したCX=17(runlength)に対する復号結果が0の場合、表3に示すように、以下の復号結果を無視し(skip1〜skip3=T)、このストライプの処理を終了する。
Figure 2006019814
runlengthの復号結果が1の場合には、UNIFORMの復号結果(CX=18の2つ)によって処理が異なる。UNIFORM=3の場合には、最初の処理の4段目に入力された正負符号に対するCX(=9)のみを処理し、このストライプの処理を終了する。
Figure 2006019814
UNIFORM=2の場合には、最初の処理の4段目に入力された正負符号に対するCX(=9)を処理し、さらに次のサイクルで8近傍CXと正負符号CXを通常の処理(runlength以外の処理)と同様に処理を行う。正負符号CXは上のビットが有効になったので10、XORビットは上のビットの結果(1回目のD3)と同じ値になる。
Figure 2006019814
UNIFORM=1のときは、最初の処理の4段目に入力された正負符号に対するCX(=9)を処理し、さらに次のサイクルで2ビット分の8近傍CXと正負符号CXを通常の処理と同様に処理を行う。CX1の結果はコンテクスト変換テーブルよって変換する必要がある(fix1=0となっているので、新しい機能を付加しなくとも自動的に変換される)。
Figure 2006019814
UNIFORM=0のときは、最初の処理の4段目に入力された正負符号に対するCX(=9)を処理し、さらに次のサイクルで2ビット分の8近傍CXと正負符号CXを通常の処理と同様に処理を行う。CX1、CX2の結果はコンテクスト変換テーブルよって変換する必要がある。CX2はシフト時に変換することになる。(これも、いままでに書いたシフト機能に含まれる)。
Figure 2006019814
(第2のコンテクスト演算手法)
図37は本発明の第1実施形態で実行できる第2のコンテクスト演算手法を説明するための図である。第2のコンテクスト演算例は、注目ストライプの前のストライプの各ビットのシンボルが出力する前に、注目ストライプの前のストライプの各ビットのシンボルの値を“0”(又は“1”)と仮定してSPパス及びCパスのコンテクスト演算を行うというものである。
通常、注目ストライプの前のストライプの各ビットのシンボルが決定しないと、注目ストライプのコンテクストを演算することはできない。例えば、MQ−CODER復号演算に1サイクル以上の処理時間が掛かるときには、従来の演算手法では、その間にコンテクスト演算回路は処理を行わない。しかしながら、シンボルが決定してからコンテクストを演算すると、コンテクストを演算している間、MQ−CODER復号器は、データが出力するのを待つ時間が生じ処理が遅くなる。
そこで、シンボルが出力する前に、例えば、ストライプ単位でコンテクストを計算するコンテクスト演算器であれば、前のストライプのデータを全て“0”(又は”1”)に仮定してコンテクストを演算する。この仮定が正しくなければ、再度コンテクストの演算を行う。仮定が正しくないときは、従来と変わらない処理時間がかかるが、正しければ、そのコンテクストをそのままMQ−CODERの復号処理に採用することができ、MQ−CODER復号器はコンテクスト演算を待たされること無く、連続してMQ−CODER復号演算を行うことが可能になり、処理時間を短縮することができる。
(第3のコンテクスト演算手法)
図38は本発明の第1実施形態で実行できる第3のコンテクスト演算手法を説明するための図である。第3のコンテクスト演算例は、注目ビットの前のストライプの一番上及び上から2番目のビットについては、出力されるシンボルを使用し、注目ストライプの前のストライプの上から3番目及び4番目のビットについては、シンボルが出力される前に、0と仮定し、SPパス及びCパスのコンテクスト演算を行うというものであり、MQ−CODER復号器が1ストライプ分のデータを複数サイクルかけて演算を行う場合には有効な手法である。
図37に示す第2のコンテクスト演算手法では、仮定が正しい確率が低いが、MQ−CODER復号器が1ストライプ分のデータを複数サイクルかけて演算を行う場合に、第3のコンテクスト演算手法を用いる場合には、仮定が正しい確率が上がる。図37に示す第2のコンテクスト演算手法の場合と同様、仮定が正しくなかったときは、従来と演算速度は変わらないが、仮定が正しかったときには、再度コンテクスト演算を行う必要が無くなり、処理時間を短縮できる。更に、図37に示すコンテクスト演算手法の場合に比べ、処理する時点で確定しているシンボルをコンテクストを演算に反映させるため、より仮定が正しい可能性が高くなり、処理時間の短縮量が多くなる。
以上のように、本発明の第1実施形態によれば、SPパス処理時及びCパス処理時に、注目ビットの上のビットのシンボルが確定する前に、注目ビットの上のビットのシンボルを“0”と仮定して予測したコンテクストを演算するビットモデリング演算器10を備えているので、「前のシンボルが確定してから、注目ビットのコンテクストを求め、その後に注目ビットのシンボルを求める」という手順を踏む必要が無く、「前のシンボルが確定したら、注目ビットのシンボルを求める」ことが可能となり、エントロピ復号演算を高速化することができる。
また、コンテクスト変換テーブル167、186を用いるとしているので、回路規模の増大を確率生成部を設ける場合よりも小さく抑えることができる。なお、SPパス又はCパスのいずれか一方についてのみ、注目ビットの上のビットのシンボルを“0”と仮定して予測したコンテクストを演算するようにしても良い。
また、SPパス処理時及びCパス処理時に、1ストライプの4ビットについて同時にコンテクストを演算することができるビットモデリング演算器を設けると共に、MRパス用4段MQ−CODER復号器41、SPパス用4段MQ−CODER復号器42、Cパス用4段MQ−CODER復号器43を設けているので、エントロピ復号演算の更なる高速化を図ることができる。
また、第2コンテクスト演算器17を設け、SPパスの処理中に同時にMRパスのコンテクストを確定することができるようにされているので、SPパスの処理後、MRパスのシンボル演算を高速に演算することができる。
また、MRパスの演算結果であるシンボルを次以降のCパスまたはSPパスの処理中にコードブロックデータ記憶装置195に書き込むようにしているので、MRパスの出力のための時間を必要としない。
また、SPパス用コンテクスト演算器15とCパス用コンテクスト演算器16においては、同じ処理を行う回路の共有化を図ることができ、このようにする場合には、演算性能を保ったまま、回路規模の縮小化を図ることができる。
また、MRパス用4段MQ−CODER復号器41、SPパス用4段MQ−CODER復号器42、Cパス用4段MQ−CODER復号器43においては、同じ処理を行う回路の共有化を図ることができ、このようにする場合には、演算性能を保ったまま、回路規模の縮小化を図ることができる。
(第2実施形態)
図39は本発明の第2実施形態を説明するための図である。本発明の第2実施形態は、図2に示す第1コンテクスト演算器14と同様の4個のコンテクスト演算器210〜213を設け、各コンテクスト演算器210〜213に本発明の第1実施形態における第3のコンテクスト演算手法を実行させ(但し、仮定シンボルの値は、各コンテクスト演算器210〜213で異なるものとし)、正しいコンテクストのみを採用するというものである。
ここで、未定部分として考えられるシンボルの全て(もしくは、1つ以上の一部)に対してコンテクスト演算をあらかじめ行い、シンボルが確定した時点で、正しいシンボルで演算したコンテクストのみをデータとして採用する方法が考えられる。前のストライプにおける未確定シンボルから算出しうるコンテクスト・予想コンテクストのセットを全て(もしくは一部)算出する。例えば、前のストライプにおける未確定シンボルが2つあったとするのであれば、最多で4つのコンテクスト・予想コンテクストのセットを出力する必要がある。
公知の似た技術として、特許文献1に記載の技術がある。これは、まだ出力されていないデータ(本実施形態におけるシンボルに相当)として考えられるもの全てのコンテクストを算出しておき、前のデータが確定した時点で必要なコンテクストのみ使用するというものである。この手法で、4つのコンテクストを同時に出力するときに、注目している4ビットの前の1ビットが確定していないのであれば、最初の注目ビットに対して2通りのコンテクストが考えられ、次のビットに対して4通り、3ビット目に対して8通り、4ビット目に対して16通りのコンテクストが考えられる。さらに、前2ビットが確定していないのであれば、最初の注目ビットに対して4通り、2ビット目に対して8通り、3ビット目に対して16通り、4ビット目に対して32通りのコンテクストが考えられる。これらを全て演算し、出力することは、回路規模の大幅な増大につながる。
本発明の第2実施形態によれば、1ストライプ上の4つのコンテクストを同時に出力するときに、前のストライプの1ビットが確定していないのであれば、各ビットのコンテクストとして考えられるのは2通りずつ、前のストライプの2ビットが確定していないのであれば、各ビットのコンテクストとして考えられるのは4通りずつであり、従来手法より回路規模を小規模に抑えることか可能である。
なお、特許文献2には、予想状態(index)を記憶するのでなく、確率(Qe)を記憶し、更に、特許文献1の技術を使用して算術符号化演算器を止めることのない演算回路が記載されている。本発明では、算術復号回路を更に多段化することにより高速化している。更に、コンテクスト変換テーブルを利用し、確率推定記憶装置を複数持つような、余計なメモリは必要としない。
また、特許文献3には、複数のビットプレーンにまたがるようにコンテクスト演算する技術が記載されている。本発明では、コンテクストが確定するのは、コンテクスト変換テーブルを通った後、算術復号化の直前である。このため、より少ないメモリ構成で演算が可能である。
ここで、本発明のエントロピ復号器を整理すると、本発明のエントロピ復号器では、少なくとも、以下のエントロピ復号器が含まれる。
(付記1)SPパス処理時に、注目ビットの上のビットのシンボルが確定する前に、前記注目ビットの上のビットのシンボルを所定値(例えば、“0”)と仮定して予測したコンテクストを演算するビットモデリング演算器と、前記仮定が外れた場合には、所定のコンテクスト変換テーブルを用いて、前記予測したコンテクストを正しいコンテクストに変換する算術復号器を有することを特徴とするエントロピ復号器。
(付記2)Cパス処理時に、注目ビットの上のビットのシンボルが確定する前に、前記注目ビットの上のビットのシンボルを所定値(例えば、“0”)と仮定して予測したコンテクストを演算するビットモデリング演算器と、前記仮定が外れた場合には、所定のコンテクスト変換テーブルを用いて前記予測したコンテクストを正しいコンテクストに変換する算術復号器を有することを特徴とするエントロピ復号器。
(付記3)前記ビットモデリング演算器は、複数ビットのコンテクスト演算を同時に行うことを特徴とする付記1又は2記載のエントロピ復号器。
(付記4)前記ビットモデリング演算器は、SPパスの処理中に同時にMRパスのコンテクストを確定することを特徴とする付記1、2又は3記載のエントロピ復号器。
(付記5)前記ビットモデリング演算器は、MRパスの演算結果であるシンボルを次以降のCパスまたはSPパスの処理中にコードブロックデータ記憶装置に書き込むことを特徴とする付記1、2、3又は4記載のエントロピ復号器。
(付記6)前記ビットモデリング演算器は、SPパス用のコンテクスト演算器とCパス用のコンテクスト演算器は、同じ処理を行う回路を共有していることを特徴とする付記1〜5のいずれか一に記載のエントロピ復号器。
(付記7)前記算術復号器は、多段構成とされていることを特徴とする付記1〜6のいずれか一に記載のエントロピ復号器。
(付記8)前記算術復号器は、確定していないコンテクストを正しいコンテクストに変換し、SPパスに属する可能性があったが、実際にはSPパスには属さないコンテクスを除外する機能を持ち、コンテクストを並列に入力して同時にシンボルを求めるように構成されていることを特徴とする付記1〜7のいずれか一に記載のエントロピ復号器。
(付記9)前記算術復号器は、確定していないコンテクストを正しいコンテクストに変換し、コンテクストを並列に入力して同時にシンボルを求めるように構成されていることを特徴とする付記1〜7のいずれか一に記載のエントロピ復号器。
(付記10)前記算術復号器は、多段構成とされ、複数の算術復号器は、同じ処理を行う回路を共有化していることを特徴とする付記1〜7のいずれか一に記載のエントロピ復号器。
(付記11)前記ビットモデリング演算器は、前のストライプの復号結果のシンボルが所定値であると仮定し、注目ストライプのコンテクスト演算を行い、仮定が正しかった場合には、コンテクスト演算結果を用いて算術復号演算を行い、仮定が外れた場合には、シンボル確定後に再度コンテクスト演算を行うことを特徴とする付記1〜11のいずれか一に記載のエントロピ復号器。
(付記12)前記ビットモデリング演算器は、前のストライプのシンボルが複数回にわたり出力されるような場合、既に出力されたシンボルに関しては次のストライプのコンテクスト演算に反映し、未だ出力されていないシンボルのみ所定値と仮定してコンテクストを演算することを特徴する付記1〜11のいずれか一に記載のエントロピ復号器。
(付記13)前記ビットモデリング演算器は、複数のコンテクスト演算器を有し、前のストライプのシンボルが複数回にわたり出力されるような場合、前記複数のコンテクスト演算器の各々に、既に出力されたシンボルに関しては次のストライプのコンテクスト演算に反映し、未だ出力されていないシンボルについては、前記複数のコンテクスト演算器の各々に異なる値を仮定し、コンテクストを演算し、前のストライプにおけるシンボルが確定した後に、前記複数のコンテクスト演算器の出力のうち、有効なものを採用することを特徴とする付記1〜11のいずれか一に記載のエントロピ復号器
本発明の第1実施形態の概略的構成図である。 本発明の第1実施形態が備えるビットモデリング演算器の概略的構成図である。 本発明の第1実施形態が備えるSPパス用コンスタント演算器におけるSPパスの各ビットのパス及びコンテクスト演算処理順序を示す図である。 本発明の第1実施形態が備えるSPパス用コンテクスト演算器の概略的構成図である。 本発明の第1実施形態が備えるSPパス用コンテクスト演算器で行われるパス及びコンテクスト演算手順の一部を示すフローチャートである。 本発明の第1実施形態が備えるSPパス用コンテクスト演算器で行われるシンボルのコンテクスト演算を説明するための図である。 本発明の第1実施形態が備えるSPパス用コンテクスト演算器で行われる正負符号のコンテクスト演算を説明するための図である。 本発明の第1実施形態が備えるSPパス用コンテクスト演算器からのコンテクスト(予想コンテクストを含む)の出力例を示す図である。 本発明の第1実施形態が備えるCパス用コンテクスト演算器で行われるコンテクスト演算手順の一部を示すフローチャートである。 本発明の第1実施形態が備える第2コンテクスト演算器の概略的構成図である。 本発明の第1実施形態が備えるコンテクスト・レジスタ部の概略的構成図である。 本発明の第1実施形態が備える4段MQ−CODER復号器の概略的構成図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器の概略的構成図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器の1段目のMQ−CODER復号器の回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器の2段目のMQ−CODER復号器の回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器の3段目のMQ−CODER復号器の回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器の4段目のMQ−CODER復号器の回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器に設けられるインデックス・メモリの第1構成例を示す回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器に設けられるインデックス・メモリの第2構成例を示す回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器に設けられるMPSメモリの第1構成例を示す回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器に設けられるMPSメモリの第2構成例を示す回路図である。 本発明の第1実施形態が備えるMRパス用4段MQ−CODER復号器に設けられるネクスト・インデックス回路の回路図である。 本発明の第1実施形態が備えるSPパス用4段MQ−CODER復号器の構成図である。 本発明の第1実施形態が備えるSPパス用4段MQ−CODER復号器に設けられるコンテクスト変換テーブルの内容を示す図である。 本発明の第1実施形態が備えるSPパス用4段MQ−CODER復号器に設けられるシンボル用のコンテクスト変換回路の動作を説明するための回路図である。 本発明の第1実施形態が備えるSPパス用4段MQ−CODER復号器に設けられる正負符号用のコンテクスト変換回路の動作を説明するための図である。 本発明の第1実施形態が備えるCパス用4段MQ−CODER復号器の構成図である。 本発明の第1実施形態における最初のCパスの処理時のデータの流れを示す図である。 本発明の一実施形態におけるSPパスの処理時のデータの流れを示す図である。 本発明の第1実施形態が備えるコンテクスト・レジスタ及びコンテクスト変換回路のSPパス処理時の接続関係を示す図である。 本発明の第1実施形態が備えるSPパス用4段MQ−CODER復号器がSPパスの処理を2ビットずつ連続して行う場合の動作例を示す図である。 本発明の第1実施形態におけるSPパス処理時のエントロピ復号演算例の流れを示すタイムチャートである。 本発明の第1実施形態におけるMRパスの処理時のデータの流れを示す図である。 本発明の第1実施形態における最初のCパス以外のCパスの処理時のデータの流れを示す図である。 本発明の第1実施形態におけるMRパスのデータ配置があるSPパス処理時のデータの流れを示す図である。 本発明の第1実施形態におけるMRパスのシンボルを配置する場合のデータの流れを示す図である。 本発明の第1実施形態で実行できる第2のコンテクスト演算手法を説明するための図である。 本発明の第1実施形態で実行できる第3のコンテクスト演算手法を説明するための図である。 本発明の第2実施形態を説明するための図である。 JPEG2000方式の画像復号装置の一例の構成図である。 図40に示す画像復号装置が備えるエントロピ復号器での処理の流れを示す図である。 図40に示す画像復号装置が備えるビットモデリング演算器が各パスについてコンテクスト決定処理を行う場合の処理順序を示す図である。 図40に示す画像復号装置が備えるビットモデリング演算器が注目ビットのコンテクストを決定する際に参照するビットを示す図である。 図40に示す画像復号装置が備えるエントロピ復号器が有する問題点を説明するための図である。
符号の説明
10…ビットモデリング演算器
11…4段MQ−CODER復号器
13…有意ビット記憶装置
14…第1コンテクスト演算器
15…SPパス用コンテクスト演算器
16…Cパス用コンテクスト演算器
17…第2コンテクスト演算器
18…MRパス用コンテクスト演算器
19…MRパス用コンテクスト記憶装置
20…コンテクスト・レジスタ部

Claims (5)

  1. SPパス処理時又はCパス処理時に、注目ビットの上のビットのシンボルが確定する前に、前記注目ビットの上のビットのシンボルを所定値と仮定して予測したコンテクストを演算するビットモデリング演算器と、
    前記仮定が外れた場合には、所定のコンテクスト変換テーブルを用いて前記予測したコンテクストを正しいコンテクストに変換する算術復号器を有することを特徴とするエントロピ復号器。
  2. 前記ビットモデリング演算器は、複数ビットのコンテクスト演算を同時に行うことを特徴とする請求項1記載のエントロピ復号器。
  3. 前記ビットモデリング演算器は、SPパスの処理中に同時にMRパスのコンテクストを確定することを特徴とする請求項1又は2記載のエントロピ復号器。
  4. 前記算術復号器は、多段構成とされていることを特徴とする請求項1、2又は3記載のエントロピ復号器。
  5. 前記ビットモデリング演算器は、前のストライプのシンボルが複数回にわたり出力されるような場合、既に出力されたシンボルに関しては次のストライプのコンテクスト演算に反映し、未だ出力されていないシンボルのみ所定値と仮定してコンテクストを演算することを特徴する請求項2、3又は4記載のエントロピ復号器。
JP2004193000A 2004-06-30 2004-06-30 エントロピ復号器 Pending JP2006019814A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004193000A JP2006019814A (ja) 2004-06-30 2004-06-30 エントロピ復号器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004193000A JP2006019814A (ja) 2004-06-30 2004-06-30 エントロピ復号器

Publications (1)

Publication Number Publication Date
JP2006019814A true JP2006019814A (ja) 2006-01-19

Family

ID=35793692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004193000A Pending JP2006019814A (ja) 2004-06-30 2004-06-30 エントロピ復号器

Country Status (1)

Country Link
JP (1) JP2006019814A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049630A (ja) * 2007-08-17 2009-03-05 Fujitsu Electronics Inc 算術復号器およびエントロピ復号器
WO2012096185A1 (ja) * 2011-01-14 2012-07-19 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および画像符号化復号装置
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049630A (ja) * 2007-08-17 2009-03-05 Fujitsu Electronics Inc 算術復号器およびエントロピ復号器
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US9258558B2 (en) 2011-01-12 2016-02-09 Panasonic Intellectual Property Corporation Of America Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US9681137B2 (en) 2011-01-12 2017-06-13 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US10015494B2 (en) 2011-01-12 2018-07-03 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US10638134B2 (en) 2011-01-12 2020-04-28 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US11350096B2 (en) 2011-01-12 2022-05-31 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US11770536B2 (en) 2011-01-12 2023-09-26 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
WO2012096185A1 (ja) * 2011-01-14 2012-07-19 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および画像符号化復号装置
US8687904B2 (en) 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding

Similar Documents

Publication Publication Date Title
JP3227292B2 (ja) 符号化装置、符号化方法、復号化装置、復号化方法、符号化復号化装置及び符号化復号化方法
JP3220598B2 (ja) 可変長符号テーブルおよび可変長符号化装置
US6677869B2 (en) Arithmetic coding apparatus and image processing apparatus
JP4717780B2 (ja) 符号化装置及びその制御方法
GB2530312A (en) Data compression
JP2006054877A (ja) 適応算術復号化方法及び適応算術復号化装置
KR20050067349A (ko) 가변길이 부호화 장치 및 가변길이 부호화 방법
KR100604364B1 (ko) 정보신호의 연산 인코딩 및 디코딩
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
US6094151A (en) Apparatus and method for finite state machine coding of information selecting most probable state subintervals
JPH03503707A (ja) 統計的にコード化されたデジタル・データを復号するシステム
JPH0258813B2 (ja)
JP3230933B2 (ja) データ伸長装置、データ伸長方法、デコーディング装置、デコーディング方法、エンコーディング装置、及びエントロピー・デコーダ
US5835033A (en) Decoding apparatus and method for coded data
JP2006019814A (ja) エントロピ復号器
JP2008199100A (ja) 可変長符号復号装置
JP4537089B2 (ja) 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JPH06121172A (ja) 画像符号化装置
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
JP3224127B2 (ja) 画像データ変換処理装置
JP4825755B2 (ja) 算術復号器およびエントロピ復号器
JP4936574B2 (ja) 符号化装置及びその制御方法
JP3225763B2 (ja) 符号化装置および復号化装置
JPH0936749A (ja) 符号化復号化装置およびこれに用いられる符号化方法
JPH11205154A (ja) 可変長コードの整列化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090707