(57)【要約】【課題】複数種類の可変長復号を容易に行う。【解決手段】所定ビット数の入力ビットをビット区分け装置Ａによって、複数に分割する。分割したビットをそれぞれ記録装置Ｂ０〜Ｂｎに入力し、アドレス情報に変換する。記録装置Ｂ０〜Ｂｎの出力に応じて、記録装置Ｄより可変長復号したデータおよびそのビット数を出力する。記録装置Ｂ０〜Ｂｎ，Ｄのテーブルを書き換えることによって、複数種類の可変長復号を行う。【選択図】図２
2008141278.tif 000002
【特許請求の範囲】
【請求項１】
可変長符号化されたデータストリームについて、復号する復号回路であって、
データストリームの中のあらかじめ定められたビット数のデータを上位ビットから所定ビットずつの複数のデータに分割する分割手段と、
分割手段で分割された複数の分割データについて、テーブルを参照して、対応する値を出力する複数の第１段比較手段と、
複数の第１比較手段の結果に基づいて、テーブルを参照して、復号データおよびそのビット数を出力する第２段比較手段と、
請求項１に記載の復号回路において、
第２段比較手段で得られたビット数に応じて分割手段で分割する対象となるデータストリームをシフトするシフト手段と、
を含み、
第２段比較手段から復号データを出力することを特徴とする復号回路。
【請求項２】
請求項１に記載の復号回路において、
前記第１段比較手段および第２段比較手段において使用するテーブルが書き換え可能であることを特徴とする復号回路。
【請求項３】
請求項１または２に記載の復号回路において、
前記第１段比較手段および第２段比較手段は、入力データをデコードしてアドレスを得、テーブルの対応するアドレスにかかれているデータを出力することを特徴とする復号回路。
【請求項４】
請求項１〜３のいずれか１つに記載の復号回路において、
複数の第１段比較手段は、それぞれアドレスを出力し、これらの加算結果に基づき第２段比較手段におけるテーブルアドレスが決定され、決定されたアドレスから復号データおよびビット数が出力されることを特徴とする復号回路。
【請求項５】
請求項１〜４のいずれか１つに記載の復号回路において、
前記可変長符号化は、ハフマン符号化であることを特徴とする復号回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変長符号化されたデータストリームについて、復号する復号回路に関する。
【背景技術】
【０００２】
映像、音声の圧縮方式の多くで、ＤＣＴ（離散コサイン変換）処理された信号を可変長符号化する方式が取られており、その代表的なものがハフマン符号化である。このようにハフマン符号化された信号を送信した場合、受信側でソフトウェアまたはハードウェアによるハフマン復号が行われるが、画像サイズが大きくなると処理時間がかかることから、ハードウェアで実現する場合が多い。
【０００３】
ここで、圧縮方式には、複数の方式があり、１つの受信機で複数の圧縮方式をサポートするものが増えてきている。例えば、ＨＤ−ＤＶＤやブルーレイ−ＤＩＳＣなど次世代ＤＶＤのデコーダーでは、ＭＰＥＧ−２，Ｈ．２６４，ＶＣ−１の全ての圧縮信号を伸張できなければならない。なお、ハフマン復号については、特許文献１などに記載がある。
【０００４】
【特許文献１】特開２００２−３３００７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ＭＰＥＧ−２，ＭＰＥＧ−４  ｐａｒｔ２，Ｈ．２６４，ＶＣ−１といった符号化方式で使用されるハフマン符号は、各符号化形式で独自の符号を割り当てている。それらの複数のハフマン復号器を搭載すると、各符号化方式で符号化テーブルが異なるために、おのおのに対応した復号テーブルをもたなくてはならず、回路規模の増大を招いてしまうという問題があった。
【課題を解決するための手段】
【０００６】
本発明は、可変長符号化されたデータストリームについて、復号する復号回路であって、データストリームの中のあらかじめ定められたビット数のデータを上位ビットから所定ビットずつの複数のデータに分割する分割手段と、分割手段で分割された複数の分割データについて、テーブルを参照して、対応する値を出力する複数の第１段比較手段と、複数の第１比較手段の結果に基づいて、テーブルを参照して、復号データおよびそのビット数を出力する第２段比較手段と、請求項１に記載の復号回路において、第２段比較手段で得られたビット数に応じて分割手段で分割する対象となるデータストリームをシフトするシフト手段と、を含み、第２段比較手段から復号データを出力することを特徴とする。
【０００７】
また、前記第１段比較手段および第２段比較手段において使用するテーブルが書き換え可能であることが好適である。
【０００８】
また、前記第１段比較手段および第２段比較手段は、入力データをデコードしてアドレスを得、テーブルの対応するアドレスにかかれているデータを出力することが好適である。
【０００９】
また、複数の第１段比較手段は、それぞれアドレスを出力し、これらの加算結果に基づき第２段比較手段におけるテーブルアドレスが決定され、決定されたアドレスから復号データおよびビット数が出力されることが好適である。
【００１０】
また、前記可変長符号化は、ハフマン符号化であることが好適である。
【発明の効果】
【００１１】
本発明によれば、１つのハードウェアで複数の可変長符号化に対応することが可能になる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について、図面に基づいて説明する。
【００１３】
図１は、復号化装置の全体構成の概略を示す図である。符号化データのビットストリームは、まずストリームバッファ１０に一旦格納され、ここからハフマン復号部１２に供給される。ハフマン復号部１２にハフマン復号されたデータは、ストリーム解析部１４によって、符号化方式に応じた復号処理がなされ、映像再合成部１６により、フレーム内予測、フレーム間予測、動き補償などの処理が施されて、デジタルビデオ信号に復調されて出力される。
【００１４】
図２は、ハフマン復号部１２の構成例を示す図である。Ｎ＋１ビット［Ｎ：０］の入力ビットは、ビット区分け装置Ａに供給される。このビット区分け装置は、ハフマン符号化された１つのデータについて、ｎ個に区分け（分割）する。そして、区分けされたｎ個のデータをそれぞれ記録装置Ｂ０〜Ｂｎに供給する。
【００１５】
この例では、最上位ビットＮからＭビットまでの入力ビット［Ｎ：Ｍ］が記録装置Ｂ０に、Ａビットから最下位ビット０までの入力ビット［Ａ：０］が記録装置Ｂｎに供給される。なお、ビット区分け装置に入力する入力ビット数は、ハフマン符号化された際のデータの最大ビット数以上、例えば最大ビット数にすること好適である。これによって、確実に全ての符号化方法に対応して、復号化が可能になる。
【００１６】
記録装置Ｂは、内部にアドレスデコーダおよびテーブルを有しており、供給される分割入力ビットをデコードしてアドレスを決定し、テーブル内の決定されたアドレスのデータ（記録情報Ｂ０，・・・，Ｂｎ）を出力する。
【００１７】
例えば、記録装置Ｂに対する入力ビット数が４あれば、その組み合わせは１６通りであり、記録装置Ｂ０〜Ｂｎにおいて、入力ビット対応する記録情報Ｂ０，・・・，Ｂｎを出力する。この記録情報Ｂ０，・・・，Ｂｎは、符号化方法によって、一義的に決定でき、符号化方法が異なった場合には、テーブルを書き換える。
【００１８】
記録情報Ｂ０，・・・，Ｂｎは、アドレス変換回路Ｃに供給される。アドレス変換回路Ｃは、記録情報記録情報Ｂ０，・・・，Ｂｎを加算し、ハフマンテーブルアドレスを得る。
【００１９】
得られたハフマンテーブルアドレスは、記録装置Ｄに供給される。記録装置Ｄも内部にアドレスデコーダと、テーブルを有しており、供給されるハフマンテーブルアドレスに応じてそのアドレスに書き込まれているデコードデータおよび復号データのビット長を出力する。なお、デコードデータは、一例として離散コサイン符号化された輝度データ（ｄｃｔ＿ｄｃ＿ｓｉｚｅ＿ｌｕｍｉｎａｎｃｅ）が考えられる。
【００２０】
次に、具体的な例について説明する。例えば、ある規格で採用する可変長符号化においては、図３に示すように、離散コサイン符号化輝度ＤＣデータ（ｄｃｔ＿ｄｃ＿ｓｉｚｅ＿ｌｕｍｉｎａｎｃｅ）０〜１２に対し、可変長符号（Ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｅ）（最大ビット数１１）を割り当てている。また、他の１つの規格で採用する可変長符号化においては、図４に示すように、離散コサイン符号化輝度データに対し、可変長符号（Ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｅ）（最大ビット数１２）を割り当てている。
【００２１】
この２つの可変長符号に対応する場合を考えると、両者の可変長符号に対応するように、ビット区分け装置Ａの入力ビット数は、１２ビットとする。そして、このビット区分け装置Ａは、４ビットずつ、３つに区分けし、ビット１１〜ビット８を記録装置Ｂ０、ビット７〜ビット４を記録装置Ｂ１、ビット３〜ビット０を記録装置Ｂ２に供給する。記録装置Ｂ０，Ｂ１，Ｂ２は、４ビットの入力に対し、一致するものがあるか（Ｍａｔｃｈ）、下位ビットについて該当するものがあるか（Ｎｅｘｔ  Ｕｓｅ）、記録装置Ｄにおけるアドレスデータ（Ａｄｄｒｅｓｓ０）について出力する。
【００２２】
図３に示す可変長符号を用いる場合について説明する。この場合には、記録装置Ｂ０のテーブルには、図５に示すデータを記憶する。このように、記録装置Ｂ０は、全ての入力に対し一致するものあり（Ｍａｔｃｈ＝１）、００００に対してのみ下位ビットについて該当あり（Ｎｅｘｔ  Ｕｓｅ＝１）、それ以外の入力に対しては、記録装置Ｄのアドレスデータとして、０〜５のデータを出力する。
【００２３】
すなわち、図３において、輝度データ０〜５が４ビット以下のデータであり、これらの値については、記録装置Ｂ０において、図３の可変長符号の値と左詰で一致する入力に対し、対応する輝度データがａｄｄｒｅｓｓとして出力される。
【００２４】
また、記録装置Ｂ１のテーブルには、図６に示すデータを記憶する。このように、記録装置Ｂ０は、全ての入力に対し一致するものあり（Ｍａｔｃｈ＝１）、００００に対してのみ下位ビットについて該当あり（Ｎｅｘｔ  Ｕｓｅ＝１）、それ以外の入力に対しては、記録装置Ｄのアドレスデータとして、６〜９のデータを出力する。
【００２５】
すなわち、図３において、輝度データ６〜９が５〜８ビットのデータであり、これらの値については、記録装置Ｂ１において、図３の可変長符号の５〜８ビットと左詰で一致する入力に対し、対応する輝度データがａｄｄｒｅｓｓとして出力される。
【００２６】
記録装置Ｂ２のテーブルには、図７に示すデータを記憶する。このように、記録装置Ｂ０は、最下位ビットまで含むものであり、それ以下のビットはなくＮｅｘｔ  Ｕｓｅについては、元々データが不要である。また、００００，０００１の入力に対し一致するものなく（Ｍａｔｃｈ＝０）あり、その他の入力に対し（Ｍａｔｃｈ＝１）、それ以外の入力に対しては、記録装置Ｄのアドレスデータとして、１０〜１２のデータを出力する。
【００２７】
すなわち、図３において、輝度データ１０〜１２が９〜１１ビットのデータであり、これらの値については、記録装置Ｂ１において、図３の可変長符号の９〜１１ビットと左詰で一致する入力に対し、対応する輝度データがａｄｄｒｅｓｓとして出力される。
【００２８】
そして、アドレス変換回路Ｃにおいては、記録装置Ｂ０〜Ｂ２の出力において、Ｎｅｘｔ  Ｕｓｅの値から、必要な出力を採用し、採用したものについて、全てＭａｔｃｈ＝１を判定する。そして、全てＭａｔｃｈ＝１であった場合には、ａｄｄｒｅｓｓの値を加算し、記録装置Ｄに入力するａｄｄｒｅｓｓを決定する。
【００２９】
そして、アドレス変換回路Ｃにおいて、決定されたａｄｄｒｅｓｓを記録装置Ｄに入力して、図８に示すように、該当する離散コサイン変換輝度データを出力する。この例では、ａｄｄｒｅｓｓと出力する離散コサイン変換輝度データは同一である。また、図３において、それぞれの離散コサイン変換輝度データについてのビット長が決定されており、出力には、そのビット長も含まれる。
【００３０】
そして、得られたビット長分だけ、ビット区分け装置Ａへの入力がシフトされる。すなわち、前の入力において、実際のデータだったビットだけが上位ビットから捨てられ、その下の１２ビットのデータが新しい入力ビットとしてビット区分け装置Ａに入力される。
【００３１】
図４に示す可変長符号を利用する場合には、図９〜１１のようなテーブルを記録装置Ｂ０〜Ｂ２が備える。図４の場合、可変長符号の最大ビット長が１２ビットであるため、１２ビット全て０であったときのみがＭａｔｃｈ＝０となる。そして、離散コサイン変換輝度データ０〜４について、記録装置Ｂ０のみの出力でａｄｄｒｅｓｓが決定され、離散コサイン変換輝度データ５〜８について、記録装置Ｂ０，Ｂ１の出力でａｄｄｒｅｓｓが決定され、離散コサイン変換輝度データ９〜１２について、記録装置Ｂ０，Ｂ１，Ｂ２の出力でａｄｄｒｅｓｓが決定される。
【００３２】
このように、本実施形態によれば、記録装置Ｂには、入力されたビット列に応じたマッチング情報等（アドレス変換回路Ｃの出力決定に使われる情報）が格納されている。入力ビットをそのまま記録装置Ｂにつなげても良いが、ハフマン符号は出現頻度が高いものから順に短いコードを割り当てるのが普通なため、その様な構成だと記録装置Ｂの容量が冗長になってしまう。そこで、ビット区分け装置Ａにより適当なビット幅に分解することで、記録装置Ｂの容量を最適化することが可能となる。次に、記録装置Ｂの出力結果を用いてアドレス変換回路Ｃがハフマン復号テーブル（記録装置Ｄ）のアドレスを計算する。そして、記録装置Ｄはアドレスに対応したデータを出力し、ハフマンデコードが完了する。
【００３３】
このような回路構成にすることで、記録装置Ｂ０、Ｂ１、・・・、Ｂｎと記録装置Ｄのテーブルを外部（例えばＳＤＲＡＭ等）からデータをダウンロードして書き換えることで複数のハフマン符号をデコードすることが可能となる。
【００３４】
［その他］
アドレス変換回路Ｃに書き換え可能なアドレス調整装置Ｅを加える事で、パラメータによって同じコードでも結果が変わる場合に、Ｅだけを書き換えればすむために書き換え時間の短縮ができる。すなわち、記録装置Ｂにおけるテーブルを書き換えるのではなく、アドレス変換回路Ｃにおいて、出力するＡｄｄｒｅｓｓを変更する。例えば、記憶装置Ｂからの出力で決定されたａｄｄｒｅｓｓと記録装置Ｄに入力するａｄｄｒｅｓｓの対応テーブルをアドレス調整装置Ｅに用意しておき、使用する可変長符号に変更がない場合には、このアドレス調整装置Ｅにおけるテーブルのみを書き換えればよい。
【００３５】
可変長符号の最大ビット長がビット区分け装置Ａに入力するビット数に比べ小さい場合には、不要なビットについては、対象となるテーブルに同じ値をコピーして入れておく必要がある。可変長符号の種類が決定され、最大ビット長が決定された段階で、記録装置Ｂにおける使用ビット範囲を指定しておき、不要範囲は入出力を禁止してもよい。これによって、不要なビットのテーブルの書き換えが不要となり、また処理も簡単にできる。
【図面の簡単な説明】
【００３６】
【図１】復号装置の全体構成を示す図である。
【図２】可変長復号のための構成を示す図である
【図３】可変長符号の一例を示す図である。
【図４】可変長符号の他の例を示す図である。
【図５】図３の可変長符号の場合の記録装置Ｂ０のテーブル内容を示す図である。
【図６】図３の可変長符号の場合の記録装置Ｂ１のテーブル内容を示す図である。
【図７】図３の可変長符号の場合の記録装置Ｂ２のテーブル内容を示す図である。
【図８】図３の可変長符号の場合の記録装置Ｄのテーブル内容を示す図である。
【図９】図４の可変長符号の場合の記録装置Ｂ０のテーブル内容を示す図である。
【図１０】図４の可変長符号の場合の記録装置Ｂ１のテーブル内容を示す図である。
【図１１】図４の可変長符号の場合の記録装置Ｂ２のテーブル内容を示す図である。
【図１２】図４の可変長符号の場合の記録装置Ｄのテーブル内容を示す図である。
【符号の説明】
【００３７】
１０  ストリームバッファ、１２  ハフマン復号部、１４  ストリーム解析部、１６  映像再合成部、Ａ  区分け装置、Ｂ，Ｄ  記憶装置、Ｃ  アドレス変換回路。
【図１】
2008141278.tif 000003
【図２】
2008141278.tif 000004
【図３】
2008141278.tif 000005
【図４】
2008141278.tif 000006
【図５】
2008141278.tif 000007
【図６】
2008141278.tif 000008
【図７】
2008141278.tif 000009
【図８】
2008141278.tif 000010
【図９】
2008141278.tif 000011
【図１０】
2008141278.tif 000012
【図１１】
2008141278.tif 000013
【図１２】
2008141278.tif 000014