(57)【要約】      （修正有）【課題】画像表示におけるリアルタイム性を充足しつつ、設計が容易となるクロックスピードにより算術復号演算と多値化演算を行う復号処理装置を提供する。【解決手段】入力ビットストリームに含まれるシンボルの発生確率を算出するコンテキスト演算部２と、コンテキスト演算部２で用いられるパラメータを生成するパラメータ生成部３と、発生確率を用いて入力ビットストリームを復号して復号データを得る算術復号演算部４と、復号データを中間ビットストリームに変換するストリーム変換部５と、中間ビットストリームを記憶する記憶部６と、記憶部６から出力される中間ビットストリームから演算開始タイミングを検出する同期検出部７と、同期検出部７で検出された演算開始タイミングに同期して、記憶部６から出力される中間ビットストリームを多値化する多値化演算部８を備える復号処理装置１である。【選択図】図１
2008182700.tif 000002
【特許請求の範囲】
【請求項１】
コンテキスト適応型二値算術符号化方式（Ｃｏｎｔｅｘｔ  ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｒｉｃ  Ｃｏｄｉｎｇ）で符号化された入力ビットストリームに含まれるシンタックスエレメント値を復号する復号処理装置であって、
前記入力ビットストリームを算術復号して復号データを得る算術復号部と、
前記復号データを含む中間ビットストリームを生成するストリーム変換部と、
前記ストリーム変換部が生成した前記中間ビットストリームを記憶する中間バッファと、
前記中間バッファから前記中間ビットストリームを読み出し、読み出された中間ビットストリームに対して多値化処理を行う多値化処理手段とを備え、
前記ストリーム変換部は、前記中間ビットストリームに含まれるシンタックスエレメント当たりのビット長が、前記入力ビットストリームに含まれるシンタックスエレメント当たりのビット長よりも短くなるように前記中間ビットストリームを生成することを特徴とする復号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＶＴ（ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９６−１０  ＡＶＣ）のような画像圧縮において、算術符号化方式で符号化されたビットストリームの復号処理に関する。
【背景技術】
【０００２】
近年、画像データの圧縮において、より高い圧縮の実現のために、Ｈ．２６４やＭＰＥＧ４、ＪＶＴなどの規格が整備されつつある。
【０００３】
ＪＶＴの規格においては、ビットストリームの符号化において、算術符号化方式が用いられる。算術符号においては、多値の信号が２値の信号に変換される。このため、ビットストリームの復号においては、２値の信号が多値の信号に変換される。このとき、コンテキスト適応型２値算術符号化方式（以下、「ＣＡＢＡＣ」という）が、２値信号から多値信号への変換に用いられる。
【０００４】
ＣＡＢＡＣにおいては、シンボルの発生確率を計算するコンテキスト演算部が備えられ、このコンテキスト演算部で計算された発生確率に基づいて、算術復号演算が行われる。算術復号演算が行われたビットストリームは、２値信号から多値信号に変換される。
【０００５】
このとき、算術復号演算とコンテキスト演算は、入力するビットストリームをシリアル単位で処理するので、最終的に多値化されるデータの生成は、算術復号演算の処理スピードに依存する。
【０００６】
文献１（特開２００４−１３６２６１号公報）は、算術復号方式を用いたビットストリームの復号について開示する。文献１における算術復号においては、入力するビットストリームのビット量が、算術復号での処理量を超える場合には、エラー処理が行われる。
【０００７】
文献２（ＵＳ２００４／００８５２３３Ａ１）は、メモリを用いて復号処理を２段に分割した技術を開示する。文献２では、入力したビットストリームは、メモリに一時的に記憶される。ＴＲＡＮＳＣＯＤＥＲ部は、メモリからビットストリームを読み出して、復号と符号化を行ってから、符号化されたビットストリームを、再度、記憶部に転送する。記憶部から取り出されたビットストリームは、再び復号されて、表示に用いられる。
【０００８】
しかしながら、文献１に開示されている復号処理装置では、算術復号演算とコンテキスト演算は、ビットストリームをシリアル単位でしか処理できない。一方、多値化変換後には、復号されたデータに基づき、画像表示がなされる。このとき、画像表示は、リアルタイム性を要求するため、所定の限られた時間内に必要なデータ量が復号されている必要がある。
【０００９】
例えば、ハイビジョン（以下、「ＨＤ−ＴＶ」という）画像は、１９２０画素×１０８８ラインのデータを、１／３０秒（３３．３ｍｓｅｃ）で復号処理する必要がある。これから、１マクロブロック（以下、「ＭＢ」という）に必要となる復号処理時間は、３３．３／８１６０≒４０８５ｎｓｅｃとなる。
【００１０】
１ＭＢあたりの最大ビット量は、Ｈ．２６４の規格で規定されており、最大ビット量の値は３２００ビットである。この最大ビット量から計算すると、ＨＤ−ＴＶの１枚の画像を復号処理する場合には、１ビットは、４０８５／３２００≒１．２７ｎｓｅｃで復号処理される必要がある。これをクロックスピードに変換すると、約７８４ＭＨｚとなる。
【００１１】
このような７８４ＭＨｚという高速なクロックでは、復号処理装置の設計に非常な困難性を伴う問題がある。
【００１２】
また、文献１では、復号処理が間に合わない場合には、復号処理に含みきれないデータは、エラーとして処理される。しかしながら、エラーとして処理されるデータ量が増えれば、それだけ再生される画像がぎくしゃくとなり、乱れる問題がある。
【００１３】
一方、文献２では、画像再生で要求されるデータの処理スピードと、算術復号でのデータの処理スピードとの乖離を、メモリによって埋め合わせている。しかしながら、ＴＲＡＮＳＣＯＤＥＲ部と最終的な復号部との間での、ビットストリームの同期あわせの具体的な構成が表されていない。このため、メモリによる処理スピードの乖離の吸収において、ビットストリームの取りこぼしや復号エラーなどが発生しうる問題がある。また、一旦復号されたデータを、再び符号化してから復号するので、処理が煩雑になり、ビットストリームの入力から、最終的な画像表示までに時間を要し、ユーザビリティが悪い問題があった。
【特許文献１】特開２００４−１３６２６１号公報
【特許文献２】ＵＳ２００４／００８５２３３Ａ１
【発明の開示】
【発明が解決しようとする課題】
【００１４】
そこで本発明は、画像表示におけるリアルタイム性を充足しつつ、設計が容易となるクロックスピードにより算術復号演算と多値化演算を行う復号処理装置を提供する。
【課題を解決するための手段】
【００１５】
第１の発明に係る復号処理装置は、入力ビットストリームに含まれるシンボルの発生確率を算出するコンテキスト演算部と、コンテキスト演算部で用いられるパラメータを生成するパラメータ生成部と、発生確率を用いて入力ビットストリームを復号して復号データを得る算術復号演算部と、復号データを中間ビットストリームに変換するストリーム変換部と、中間ビットストリームを記憶する記憶部と、記憶部から出力される中間ビットストリームから演算開始タイミングを検出する同期検出部と、同期検出部で検出された演算開始タイミングに同期して、記憶部から出力される中間ビットストリームを多値化する多値化演算部を備える。
【００１６】
この構成により、画像表示におけるリアルタイム性を充足しつつ、設計が容易となるクロックスピードにより算術復号演算と多値化演算が実現される。
【００１７】
第２の発明に係る復号処理装置では、パラメータ生成部における単位時間当たりの処理ビット量と、多値化演算部における単位時間当たりの処理ビット量が相違する。
【００１８】
この構成により、１ビットずつの処理が必要な算術復号と画像表示のリアルタイム性を充足する必要のある多値化演算との双方の時間制約が満足される。
【００１９】
第３の発明に係る復号処理装置では、記憶部は、入力ビットストリームを一時的に保持するバッファを含む。
【００２０】
この構成により、メモリ資源が有効に活用される。
【００２１】
第４の発明に係る復号処理装置では、ストリーム変換部は、復号データに同期語を挿入する。
【００２２】
この構成により、中間ビットストリームから容易に同期検出される。
【００２３】
第５の発明に係る復号処理装置では、ストリーム変換部は、中間ビットストリームが正しく多値化できない場合、中間ビットストリーム中の同期語が多値化演算中に検出された場合、中間ビットストリーム中の同期語の位置に同期語として規定されているビット列以外のビット列が検出された場合に、中間ビットストリーム中にエラー識別子を挿入する。
【００２４】
この構成により、多値化演算での不要な処理が防止される。
【００２５】
第６の発明に係る復号処理装置では、ストリーム変換部は、中間ビットストリームの生成においてバイトアライン処理を行う。
【００２６】
この構成により、正確なスタート位置において同期語が検出される。
【００２７】
第７の発明に係る復号処理装置では、ストリーム変換部は、中間ビットストリーム中にエミュレーション防止バイトを挿入する。
【００２８】
この構成により、同期検出の精度が向上する。
【００２９】
第８の発明に係る復号処理装置では、ストリーム変換部は、中間ビットストリームに含まれる多値化演算部で生成されるシンタックスエレメント当たりのビット長が、ビットストリームに含まれるシンタックスエレメント当たりのビット長よりも短くなるように、中間ビットストリームを生成する。
【００３０】
この構成により、多値化演算における負荷が低減される。
【００３１】
第９の発明に係る復号処理装置では、ストリーム変換部は、入力ビットストリームが、非圧縮符号である場合には、入力ビットストリームを、直接に中間ビットストリームに変換する。
【００３２】
この構成により、容易に多値化演算が実行される。
【００３３】
第１０の発明に係る復号処理装置では、ストリーム変換部は、算術符号化以外のエントロピー符号化のアルゴリズムを用いて、中間ビットストリームを生成する。
【００３４】
この構成により、エントロピー復号に適した中間ビットストリームが生成される。
【００３５】
第１１の発明に係る復号処理装置は、算術復号演算部は、Ｈ．２６４規格に含まれるシンタックスエレメントの内、ｍｋ＿ｓｋｉｐ＿ｆｌａｇ、ｍｂ＿ｆｉｅｌｄ＿ｆｌａｇ及びｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｆｌａｇの少なくとも一つについては、シンタックスエレメント毎にソフトウェアを介在して復号し、ｍｂ＿ｔｙｐｅからｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１までに含まれるシンタックスエレメントについては、各シンタックスエレメントはソフトウェアを非介在として連続して復号する。
【００３６】
この構成により、算術演算の処理速度が向上する。更に、算術復号と多値化演算との処理速度さが低減するので、記憶部の容量が低減される。
【００３７】
第１２の発明に係る復号処理装置では、同期検出部は、中間ビットストリームから同期語を検出することで、演算開始タイミングを検出する。
【００３８】
この構成により、確実に多値化演算における演算開始タイミングが検出される。
【００３９】
第１３の発明に係る復号処理装置は、画像中に構成されるブロックの算術符号化において、符号化対象のブロックの周辺ブロックの情報を用いて算術符号化された入力ビットストリームに含まれるシンボルの発生確率を算出するコンテキスト演算部と、コンテキスト演算部で用いられるパラメータを生成するパラメータ生成部と、発生確率を用いて入力ビットストリームを復号して復号データを得る算術復号演算部と、復号データを中間ビットストリームに変換するストリーム変換部と、中間ビットストリームを記憶する記憶部と、記憶部から出力される中間ビットストリームから演算開始タイミングを検出する同期検出部と、演算開始タイミングに同期して、中間ビットストリームを、周辺ブロックの情報を不使用の状態で多値化する多値化演算部を備える。
【００４０】
この構成により、多値化演算においては、余分な演算負荷を軽減し、高速な多値化演算が実現される。
【発明の効果】
【００４１】
本発明によれば、画像表示におけるリアルタイム性が充足された上で、設計容易性を阻害しないクロックスピードによる算術復号演算と多値化演算が実現される。
【００４２】
また、１ビットずつの処理しかできない算術復号と、多ビットの処理が可能な多値化演算の処理を分割し、両者の処理をバッファリングで繋ぐことで処理速度差が吸収される。
【００４３】
更に、算術復号された復号データが、擬似的なビットストリームに変換された上で多値化演算されるので、多値化演算における同期誤りも生じない。このため、再生される画像表示エラーも生じない。当然ながら、多値化演算は設計容易なクロックスピードで高速に演算されるため、データあふれによるデータ欠落も生じない。
【発明を実施するための最良の形態】
【００４４】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００４５】
（実施の形態１）
第１図は、本発明の実施の形態１における復号処理装置のブロック図である。
【００４６】
復号処理装置１は、次の要素を備える。
【００４７】
コンテキスト演算部２は、入力ビットストリームに含まれるシンボルの発生確率を算出する。パラメータ生成部３は、コンテキスト演算部２における算出に用いられるパラメータを生成する。
【００４８】
算術符号演算部４は、コンテキスト演算部２で算出された発生確率を用いて、入力ビットストリームを算術復号方式により復号して、復号データを出力する。ストリーム変換部５は、復号データから中間ビットストリームを生成する。記憶部６は、ストリーム変換部５で生成された中間ビットストリームを記憶する。同期検出部７は、記憶部６から出力される中間ビットストリームから、演算開始タイミングを検出する。多値化演算部８は、同期検出部７で検出された演算開始タイミングに同期して、中間ビットストリームを多値化する。多値化された中間ビットストリームは、画像再生に用いられる。
【００４９】
なお、ヘッダ解析部１１が設けられても良い。ヘッダ解析部１１は、入力する入力ビットストリームのヘッダに含まれる情報を解析する。例えば、ヘッダは、入力ビットストリームの符号化方式や、画像サイズ、使用されている符号化オプションなどの情報を含んでいる。ヘッダ解析部１１は、ヘッダに含まれるこれらの情報を解析する。
【００５０】
また、入力ビットストリームは、復号処理装置１に入力する前に、バッファ９に一時的に保持されてもよい。入力ビットストリームは、Ｉ／Ｏ１０を経由して、復号処理装置１に入力する。
【００５１】
次に、各要素の詳細と動作について説明する。
【００５２】
バッファ９は、入力ビットストリームを一時的に記憶する。なお、後に述べる記憶部６と共用されてもよい。
【００５３】
Ｉ／Ｏ１０は、バッファ９から復号処理装置１への入力ビットストリームの転送におけるインターフェースである。入力ビットストリームは、ヘッダ解析部１１に転送される。
【００５４】
ヘッダ解析部１１は、入力ビットストリームのヘッダ情報を解析する。ヘッダ情報は、入力ビットストリームのスタートコードやスライスヘッダ情報などを含んでおり、ヘッダ解析部１１は、これらを解析する。
【００５５】
コンテキスト演算部２について説明する。
【００５６】
コンテキスト演算部２は、入力ビットストリームに含まれるシンボルの発生確率を算出する。コンテキスト演算部２は、入力ビットストリームから復号すべき２値信号の発生確率を周囲の状況、すなわち対象とするビット信号の前後のビット信号を基に算出する。発生確率は、２値の情報を持つ１ビットの信号毎に更新される必要があるので、コンテキスト演算部２は、入力ビットストリームを１ビットずつシリアルに処理する必要がある。
【００５７】
また、コンテキスト演算部２は、パラメータ生成部３で生成されたパラメータを利用して、発生確率を算出する。
【００５８】
コンテキスト演算部２で算出された発生確率は、算術復号演算部４に出力される。
【００５９】
次に、パラメータ生成部３について説明する。
【００６０】
パラメータ生成部３は、コンテキスト演算部２で利用されるパラメータを生成し、コンテキスト演算部２に出力する。パラメータ生成部３は、２値信号である復号データを多値化する処理を行い、この多値化の際に、パラメータを生成する。なお、コンテキスト演算部２と同じく、復号データを１ビットずつシリアルに処理する必要がある。
【００６１】
次に、算術復号演算部４について説明する。
【００６２】
算術復号演算部４は、算術符号化方式により符号化されている入力ビットストリームを、発生確率を用いて復号する。算術符号化方式により符号化されている入力ビットストリームは、発生確率により符号化された２値データである。入力ビットストリームは、算術符号化方式により符号化されているので、再生時に直接用いられるビットストリームの並びや値と異なっている。このため、算術符号化と逆の処理である算術復号により、再生に直接用いられるビットストリームが、復号データとして復号される。復号データは、入力ビットストリームと同じく２値データである。
【００６３】
算術復号演算部４は、復号した復号データを、コンテキスト演算部２、パラメータ生成部３およびストリーム変換部５に出力する。なお、算術復号演算部４は、１ビットずつのデータに与えられる発生確率に従って復号を行うので、入力ビットストリームは１ビットずつのシリアルに処理される。
【００６４】
また、算術復号演算部４は、Ｈ．２６４規格に含まれるシンタックスエレメントの内、ｍｋ＿ｓｋｉｐ＿ｆｌａｇ、ｍｐ＿ｆｉｅｌｄ＿ｆｌａｇ及びｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｆｌａｇの少なくとも一つについては、シンタックスエレメント毎に特定のソフトウェアを介在させて復号する。算術復号演算部４は、Ｈ．２６４規格に含まれるシンタックスエレメントの内、ｍｂ＿ｔｙｐｅからｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１までに含まれるシンタックスエレメントについては、特定のソフトウェアの介在なしに、連続して復号する。この処理により、算術復号が高速に行われる。
【００６５】
次に、ストリーム変換部５について説明する。
【００６６】
ストリーム変換部５は、算術復号演算部４で復号された復号データを、再度ビットストリームに変換する。復号データは、入力ビットストリームが復号されて生成されるので、同期語やヘッダフラグを有していない。後で述べる多値化演算部８は、多値化演算を行う際に、ビットストリームに含まれる画像データの区切りを開始タイミングとして利用する。復号データのままでは、この区切りが無く、一旦記憶部６を介して多値化演算部８に転送されるので、多値化演算部８は、多値化演算の演算開始タイミングを検出できない。
【００６７】
特に、多値化演算部８で、高速処理を行う場合には、この演算開始タイミングが必須である。
【００６８】
ストリーム変換部５は、多値化演算部８が必要とする同期語やヘッダなどを挿入して、一旦算術復号された復号データを、擬似的にビットストリーム化する。すなわち、ストリーム変換部５は、算術復号された復号データを、中間ビットストリームに変換する。結果として、中間ビットストリームは、算術復号された復号データに、演算開始タイミングを検出するための、同期語やヘッダなどを含んでいる。ストリーム変換部５による、復号データの中間ビットストリーム化により、多値化演算部８は、１サイクルでパラレルに多くのビット量を、多値化演算できる。このため、後に述べるように、リアルタイム性が要求される画像再生に対して、設計容易なクロックスピードで多値化演算が実行される。画像再生に対して、多値化演算が遅れることによるエラーも発生しない。
【００６９】
次に、記憶部６について説明する。
【００７０】
記憶部６は、ストリーム変換部５で生成された中間ビットストリームを記憶する。記憶部６に記憶された中間ビットストリームは、同期検出部７を経由して多値化演算部８で、多値化演算される。ストリーム変換部５で生成された中間ビットストリームが、記憶部６に一時的に記憶されて、一定量がたまったら多値化演算部８に出力される。
【００７１】
ストリーム変換部５は、算術復号演算部４の処理スピードと同じになるため、復号データを１ビットずつシリアル処理する必要がある。このシリアル処理されたデータが、少しずつ記憶部６に蓄積される。一方、１サイクルで大量のデータを演算できる多値化演算部８は、蓄積された一定量の中間ビットストリーム毎に、記憶部６から取り出せる。すなわち、記憶部６は、緩衝バッファとしての役割を担い、算術復号演算部４での処理スピードと、多値化演算部８での処理スピードの差分を吸収する。
【００７２】
次に、同期検出部７について説明する。
【００７３】
同期検出部７は、記憶部６から出力される中間ビットストリームから、演算開始タイミングを検出する。具体的には、同期検出部７は、中間ビットストリームに挿入された同期語を検出する。この同期語の検出が、演算開始タイミングとして認識される。同期検出部７は、検出した演算開始タイミングの情報を多値化演算部８に出力する。演算開始タイミングは、多値化演算部８での、多値化演算の開始時期の把握に用いられる。
【００７４】
次に、多値化演算部８について説明する。
【００７５】
多値化演算部８は、演算開始タイミングを開始時期として、２値信号である中間ビットストリームを多値化演算する。
【００７６】
多値化演算部８が取り扱う中間ビットストリームは、算術復号演算部４で既に発生確率を用いて算術復号されている。このため、１ビット毎に更新される発生確率に基づいて多値化演算される必要は無い。このため多値化演算部８は、中間ビットストリームの多値化演算において、１ビットずつシリアルに演算を行う必要はない。例えば、８ビットや１６ビットなどの、まとまった量を単位として演算を行える。
【００７７】
ここで、中間ビットストリームは、記憶部６に一定量蓄えられているので、多値化演算部８は、１回の演算で必要とするデータをまとめて記憶部６から取り出せる。例えば、多値化演算部８が、８ビット、１６ビットなどの単位で演算できる場合、多値化演算部８は、記憶部６から１サイクル毎に８ビットや１６ビットずつ取り出して、多値化演算を行える。
【００７８】
また、中間ビットストリームは、ストリーム変換部で同期語などが挿入されている。同期検出部７は、この同期語の検出により、多値化演算部８での多値化演算の演算開始タイミングが把握される。多値化演算部８は、この演算開始タイミングに従って、多値化演算を行えるので、中間ビットストリームに含まれる符号化データの開始と終了を誤らずに演算できる。結果として、多値化演算されたデータに基づいて画像再生される場合に、画像の欠落や乱れが生じない。
【００７９】
すなわち、まず入力ビットストリームが、１サイクルで１ビットずつのシリアル処理で、発生確率に基づいて算術復号される。次いで、復号された復号データに同期語が挿入され、中間ビットストリームが生成される。中間ビットストリームは、一定量のデータが蓄積されるまで、記憶部６で記憶される。記憶部６に記憶されている中間ビットストリームは、一定量が蓄積された後に、演算開始タイミングに従って多値化演算される。多値化演算の時には、１サイクルで多ビットずつパラレルに処理される。
【００８０】
以上の処理の流れにより、算術復号演算部４における単位時間当たりの処理データ量よりも、多値化演算部８における単位時間当たりの処理データ量が多くなる。この処理量の差分は、記憶部６での一時的な記憶により吸収される。
【００８１】
結果として、多値化演算部８は、取り扱うビット量の大きさに関わらず、設計における困難性のないクロックスピードで構成される。例えば、ＨＤ−ＴＶの１画像は、多値化演算部８が１サイクル１６ビットで処理できる場合には、約４９ＭＨｚのクロックスピードで処理される。もちろん、データあふれによるエラーの発生も防止される。また、中間ビットストリームの同期処理により、多値化演算部８は、中間ビットストリームに含まれる符号化データの開始位置を確実に把握でき、再生画像に悪影響を与えない。
【００８２】
次に、第２図、第３図、第４図を用いて、復号処理装置１の動作を説明する。
【００８３】
第２図は、本発明の実施の形態１における復号処理装置の動作のフローチャートである。ビットストリームが復号処理装置１に入力し、ステップＳ２１にて算術復号演算が行われる。ついで、ステップＳ２２にてパラメータが生成される。算術復号され、更に中間ビットストリーム化されたデータは、ステップＳ２３にてバッファリングされる。バッファリングされている中間ビットストリームは、ステップＳ２４において多値化演算されて、多値化演算されたデータは、最終的にシンボル復号される。
【００８４】
第３図、第４図は、本発明の実施の形態１における復号処理装置の動作フローチャートである。
【００８５】
第３図、第４図に示されるフローチャートは、「Ｄｒａｆｔ  Ｅｒｒａｔａ  Ｌｉｓｔ  ｗｉｔｈ  Ｒｅｖｉｓｉｏｎ−Ｍａｒｋｅｄ  Ｃｏｒｒｅｃｒｔｉｏｎ  ｆｏｒ  Ｈ．２６４／ＡＶＣ」における「９．３  ＣＡＢＡＣ  ｐａｒｓｉｎｇ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｓｌｉｃｅ  ｄａｔａ」にて規定されている算術復号の動作フローチャートである。
【００８６】
第３図に示されるフローチャートは、第２図に示されるステップＳ２１の詳細である。第４図に示されるフローチャートは、第３図に示されるステップＳ３１の詳細である。
【００８７】
次に、第５図を用いて、復号処理装置１で用いられる多値化演算と対になる２値化演算について説明する。
【００８８】
第５図は、ＭＰＥＧ４−ＡＶＣにて規定されている、２値化処理アルゴリズムの一覧を示す図である。ＭＰＥＧ４−ＡＶＣの規格に対応した復号処理装置においては、第５図に記載されているいずれかの２値化演算、もしくは多値化演算が用いられる。
【００８９】
例えば、Ｆｉｘｅｄ  Ｌｅｎｇｔｈ方式では、固定長符号化で符号長が決められている。Ｕｎａｒｙ方式では、１シンボルの期間において値「１」が続き、最後に値「０」が吹かされることで、シンボルの終了が示される。
【００９０】
Ｔｒａｎｃａｔｅｄ  Ｕｎａｒｙ方式では、規格において最大のビット長をもつシンボルの場合には、最後に付加される値「０」が省略される。他にＬｏｏｋ−ｕｐ  Ｔａｂｌｅ方式などが用いられる。
【００９１】
以上の構成を有する復号処理装置により、ビットストリームの多値化演算が高速に行われるので、クロック周波数を設計困難なほど高速にする必要が無い。また、記憶部６も１ビットずつの処理が必要となる算術復号演算と、多ビット処理が可能な多値化演算との処理速度の差分を吸収する程度でよいため、莫大な容量を必要としない。
【００９２】
なお、実施の形態１においては、復号処理装置１について説明したが、復号処理装置１と逆の処理を行う構成に基づいた符号化処理装置にも適用される。
【００９３】
また、復号処理装置１は、画像中に構成される複数のブロックを用いて算術符号化されたビットストリームの復号を行うことも好適である。次のような処理が行われる。
【００９４】
まず、画像中に構成される規定のブロック単位で算術符号化された入力ビットストリームに対して、コンテキスト演算部２が、処理対象となっているブロックに隣接するブロックの情報を用いて、シンボルの発生確率を演算する。
【００９５】
次いで、コンテキスト演算部２からの発生確率の情報を用いて、算術復号演算部４は、入力ビットストリームを復号し、復号データを得る。
【００９６】
パラメータ生成部３は、復号データからコンテキスト演算部２で使用されるパラメータを生成する。復号データは、ストリーム変換部５で同期語やエラー識別子などが挿入され、中間ビットストリームに変換される。中間ビットストリームは記憶部６に記憶される。
【００９７】
同期検出部７は、記憶部６から読み出した中間ビットストリームから同期語を検出して演算開始タイミングを検出する。更に、多値化演算部８は、中間ビットストリームを多値化演算するが、このとき、中間ビットストリームは、入力ビットストリームと異なり周辺ブロックの情報に基づく算術復号は終了している。このため、多値化演算部８は、中間ビットストリームの多値化演算において、周辺ブロックの情報を必要としない。結果として、多値化演算の処理速度が向上する。以上の処理は、第１図の構成と同じ構成を有する復号処理装置で実現される。
【００９８】
以上の処理により、画像中に構成されるブロックの符号化において、符号化対象の周辺ブロックの情報が用いられたビットストリームであっても、多値化演算においては周辺ブロックの情報を必要とせず、高速な多値化演算が実現される。
【００９９】
（実施の形態２）
次に、実施の形態２について説明する。実施の形態２においては、ストリーム変換部５における、動作のバリエーションについて説明する。
【０１００】
ストリーム変換部５は、算術復号演算部４で復号された復号データを再びビットストリームの形式に変換して、中間ビットストリームを出力する。
【０１０１】
ストリーム変換部５は、同期語がバイトアライン位置から検出される必要があるため、中間ビットストリームを、バイトアライン処理する。すなわち、ビット長をバイトの倍数に合わせこむ。
【０１０２】
このとき、ストリーム変換部５は、同期語を挿入する。ここで、Ｈ．２６４の規格では、特殊なデータの並びとして、ビット列「０００００１」、ビット列「０００００２」、ビット列「０００００３」の３つのビット列が定義されている。ストリーム変換部５は、多値化演算部８における適切な多値化演算のために、これらの特殊なビット列を用いて、中間ビットストリームを生成する。
【０１０３】
ビット列「０００００１」は、同期語として定義されており、ストリーム変換部５は、復号データの所定の位置に、同期語としてのビット列「０００００１」を挿入する。
【０１０４】
ビット列「０００００２」は、ビットストリーム中に多値化できないデータを含むことを示すエラー識別子である。例えば、算術復号演算部４で復号された復号データ中に、多値化演算ができないデータが含まれる場合には、ストリーム変換部５は、エラー識別子としてのビット列「０００００２」を挿入する。多値化演算部８は、記憶部６から受け取った中間ビットストリームに、このエラー識別子が含まれている場合には、多値化演算を省略する。
【０１０５】
なお、ストリーム変換部５がエラー識別子を挿入するのは、中間ビットストリームが正しく多値化できない場合、多値化演算において中間ビットストリーム中の同期語が誤って検出された場合、もしくは中間ビットストリーム中の同期語位置において、同期語として規定されているビット列以外のコードが検出された場合などである。
【０１０６】
次に、ビット列「０００００３」は、エミュレーション防止バイトとして用いられる。エミュレーション防止バイトであるビット列「０００００３」は、同期語と同期語以外を識別するために挿入される。
【０１０７】
第６図は、本発明の実施の形態２における中間ビットストリームの構造図である。正常系における中間ビットストリームに対して、異常系での中間ビットストリームはエラーメッセージが挿入されている。このエラーメッセージは、エラー識別子であるビット列「０００００２」である。
【０１０８】
また、多値化演算部８においては、一度に多ビットをパラレルに処理するため、演算処理の容易性からバイト単位で演算されることが好ましい。このため、中間ビットストリームのビット長は、１バイトの倍数であることが好ましい。このため、第６図に示されるように、Ｂｙｔｅ  Ａｌｉｇｎ  Ｂｉｔが挿入され、中間ビットストリームのビット長が、１バイトの倍数となるように調整される。
【０１０９】
なお、中間ビットストリームのビット長は、多値化演算部８での演算単位量の倍数の長さとなればよい。演算単位量が１バイトであれば、中間ビットストリームのビット長は、１バイトの倍数の長さに調整され、演算単位量が２バイトであれば、中間ビットストリームのビット長は、２バイトの倍数の長さに調整される。
【０１１０】
次に、ストリーム変換部５は、シンタックスエレメント当たりのビット長を短くするように、復号データから中間ビットストリームを生成する。通常の算術符号化では、あるシンタックスエレメントが符号化されると、所定の長さのビット長になる。このとき、通常の算術符号化では、シンタックスエレメント当たりのビット長が規格により長くなっている。すなわち、入力ビットストリームに含まれる任意のシンタックスエレメントの符号化されたビット長は、第７図、第８図の右半分に示されるように長い。算術符号化においては、コンテキスト演算における処理を考慮しているために、ビット長が長くなる。
【０１１１】
しかし、多値化演算部８では、コンテキスト演算に基づいた処理は不要であるため、通常の算術符号化と同じビット長のビットストリームは不要である。このため、同じシンタックスエレメントを表すビット列は、第７図、第８図の左半分に示されるように、通常の算術符号化により符号化されたビット列よりも短くてすむ。
【０１１２】
このように、同じシンタックスエレメントを表す場合には、ストリーム変換部５は、第７図、第８図の左半分に示されるような短いビット列を用いて、中間ビットストリームを生成する。第７図、第８図は、本発明の実施の形態２におけるシンタックスエレメントの符号化一覧を示す図である。
【０１１３】
生成される中間ビットストリームに含まれるシンタックスエレメント当たりのビット長が、入力ビットストリームに含まれるシンタックスエレメント当たりのビット長よりも短くなることで、多値化演算部８における多値化演算の負荷が低減される。
【０１１４】
また、中間ビットストリームのビット長を短くするために、複数のシンタックスに渡ってビット長を削減することも好適である。
【０１１５】
第９図は、本発明の実施の形態２における中間ビットストリームの構造図である。
【０１１６】
シンタックスエレメントの一つである「ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１」が中間ビットストリームに含まれる場合、シンタックスエレメントである「ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ」と「ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ」により、係数の個数が表される。このとき、第９図に示されるように、先頭のブロックが、予め係数の個数を表現しておくことで、多値化演算の処理時間が削減される。
【０１１７】
更に、ストリーム変換部５は、画像中の任意のブロックが多値化演算の対象となっているときに、対象ブロックの周辺ブロックのデータを必要としないように、中間ビットストリームを生成することも好適である。
【０１１８】
第１０図は、本発明の実施の形態２における復号処理を示す図である。
【０１１９】
第１０図に示されるように、あるブロックの多値化演算において、その周辺のブロックが参照される。このため、多値化演算においては、対象ブロックと周辺ブロックの全てを用いて演算する必要がある。このため、多値化演算に要する時間が増大する問題がある。
【０１２０】
実施の形態２における復号処理装置１では、算術復号演算部４において周辺ブロックを参照して処理されているため、多値化演算部８では、周辺ブロックの参照が不要である。このため、ストリーム変換部５は、周辺ブロックの参照が不要である前提で、中間ビットストリームを生成する。
【０１２１】
第１０図に示されるとおり、多値化演算部８で用いられる画像中のブロックは、周辺ブロックの情報を必要としていない。このため、周辺ブロックをも用いた演算が不要となり、多値化演算が高速に行われる。
【０１２２】
また、入力ビットストリームが非圧縮符号である場合には、ストリーム変換部５は、入力ビットストリームをそのまま中間ビットストリームとして出力する。
【０１２３】
このとき、ヘッダ解析部１１において、入力ビットストリームが非圧縮符号であることが検出され、この検出結果を受けて、算術復号演算部４は、入力ビットストリームに対する算術復号演算を省略する。算術復号演算が省略されている未加工の入力ビットストリームを、ストリーム変換部５は、そのまま中間ビットストリームとして出力する。この処理により、演算に関わる余分な負荷が低減される。
【０１２４】
（実施の形態３）
次に、実施の形態３について説明する。実施の形態３における復号処理装置は、入力ビットストリームが算術符号化されたものであるか、エントロピー符号化されたものであるかを判断し、判断結果に従った復号処理を行う。
【０１２５】
第１１図は、本発明の実施の形態３における復号処理装置のブロック図である。
【０１２６】
復号処理装置１は、算術演算復号に関わる多値化演算部８と、エントロピー復号に関わるエントロピー復号部１５のそれぞれを並列に備えている。
【０１２７】
ヘッダ解析部１１は、判断部１３を備えている。判断部１３は、入力ビットストリームのヘッダ解析により、入力ビットストリームが、算術符号化されたものであるか、エントロピー符号化されたものであるかを判断する。判断部１３は、判断結果をセレクタ１６〜１９に出力し、セレクタ１６〜１９は、この判断結果に従い、処理経路を決定する。
【０１２８】
算術復号処理部１２は、第１図で説明された算術復号処理部１２と同じものであり、算術復号演算部４、コンテキスト演算部２、パラメータ生成部３及びストリーム変換部５を含む。
【０１２９】
エントロピー復号部１５は、エントロピー符号化で符号化されたビットストリームを復号する。例えば、エントロピー復号部１５は、ＭＰＥＧ４−ＡＶＣ規格で定められているＣＡＶＬＣで符号化されたビットストリームに対しての復号であるＣＡＶＬＤを含む。
【０１３０】
同期検出部７、多値化演算部８は、第１図で示されたものと同じである。
【０１３１】
復号処理装置１の動作を説明する。
【０１３２】
判断部１３は、入力ビットストリームが算術符号化方式で符号化されていると判断した場合には、セレクタ１６〜１９に対して、算術復号による処理経路を形成することを指示する。まず、入力ビットストリームは、ヘッダ解析部１１での解析の後、算術復号処理部１２に転送される。算術復号処理部１２は、中間ビットストリームを生成し、記憶部６に生成した中間ビットストリームを転送する。更に、記憶部６から取り出された中間ビットストリームは、同期検出部７を経由して、多値化演算部８で多値化される。最終的に、セレクタ１９で、多値化演算部８からの出力が選択されて、多値化された復号データが画像デコーダーへ転送される。
【０１３３】
次に、判断部１３が、入力ビットストリームがエントロピー符号化方式で符号化されていると判断した場合には、セレクタ１６〜１９に対して、エントロピー復号による処理経路を形成することを指示する。
【０１３４】
まず、入力ビットストリームは、ヘッダ解析部１１での解析の後、中間バッファ１４を経由して、記憶部６に転送される。入力ビットストリームは、記憶部６に転送されるまでの間、なんらの演算や加工をされない。記憶部６から取り出された入力ビットストリームは、セレクタ１８での選択に従い、エントロピー復号部１５に転送される。エントロピー復号部１５は、エントロピー符号化方式に対応する復号処理により、入力ビットストリームを復号する。例えば、ハフマン復号をはじめとした可変長復号を行う。また、ＭＰＥＧ４−ＡＶＣで規定されているＣＡＶＬＤ方式の復号処理が実行される。
【０１３５】
第１２図のフローチャートにより動作の流れを説明する。第１２図は、本発明の実施の形態３における復号処理装置の動作フローチャートである。
【０１３６】
まず、ビットストリームが復号処理装置１に入力する。ステップＳ７１にて、入力ビットストリームのヘッダ解析が行われる。ヘッダ解析により、ステップＳ７２にて、入力ビットストリームが、符号化方式が判定される。
【０１３７】
ステップＳ７２にて、符号化方式が算術符号化方式である場合には、ステップＳ７３にて、算術復号処理が行われ、次いで、ステップＳ７４にて中間ビットストリームが記憶部６にバッファリングされる。
【０１３８】
一方、ステップＳ７２にて、符号化方式がエントロピー符号化方式であると判断された場合には、ステップＳ７４にて、入力ビットストリームがそのままバッファリングされる。
【０１３９】
次いで、バッファリングされた後、符号化方式が算術符号化方式である場合には、ステップＳ７５にて、中間ビットストリームが多値化される。一方、符号化方式がエントロピー符号化方式である場合には、ステップＳ７６にて、入力ビットストリームがエントロピー復号される。
【０１４０】
以上のように、復号処理装置１が、算術復号とエントロピー復号の機能をそろえ、判断部１３での判断結果に従って、符号化方式に対応する復号処理が適切に行われる。すなわち、実施の形態３における復号処理装置１は、ＭＰＥＧ４−ＡＶＣの規格における、符号化の種類のバリエーションに応じた復号処理を可能とする。
【０１４１】
なお、実施の形態３では、算術復号とエントロピー復号の２つを含む構成について説明したが、必要に応じて、これら以外の復号処理の機能を含んでもよい。
【０１４２】
（実施の形態４）
次に、実施の形態４について説明する。実施の形態４では、符号化処理装置について説明する。
【０１４３】
第１３図は、本発明の実施の形態４における算術符号化処理装置のブロック図である。
【０１４４】
算術符号化処理装置１００は、第１図で説明された算術復号装置１と対になる要素を備えている。
【０１４５】
２値化演算部１０１は、圧縮符合されたデータを２値に変換する。ストリーム変換部１０２は、２値に変換されたデータに対して、同期語や識別子などを挿入して、ビットストリームを生成する。生成されたビットストリームは、記憶部１０３で記憶される。
【０１４６】
同期検出部１０４は、記憶部１０３に記憶されているビットストリームから同期語を検出する。同期検出部１０４は、更にエミュレーション防止バイトや他の予約語などを除去する。これらの処理が施されたビットストリームは、パラメータ生成部１０５において、発生確率を算出するためのパラメータ抽出に用いられる。
【０１４７】
コンテキスト演算部１０６は、パラメータ生成部１０５で生成されたパラメータに従い、発生確率を算出する。算術符号演算部１０７は、発生確率に従って同期検出されたデータを算術符号化する。
【０１４８】
算術符号演算部１０７での処理により、算術符号化方式に従って符号化されたデータが、ストリーム生成部１０８において、算術符号化に従ったビットストリームに変換される。ストリーム生成部１０８は、バッファ１０９を介して、ビットストリームを転送する。
【０１４９】
ここで、ストリーム変換部１０２は、エミュレーション防止バイトやエラー識別子などを必要に応じて挿入し、更に、復号における多値化処理での処理単位の倍数のビット長となるように、ビットストリームのビット長を調整する。
【０１５０】
同様に、算術符号化されたデータをビットストリーム化するストリーム生成部１０８も、ストリーム変換部１０２と同様の処理を実行する。すなわち、ストリーム生成部１０８は、同期語やエミュレーション防止バイト及びエラー識別子を挿入する。また、ストリーム生成部１０８は、復号における多値化処理での処理単位の倍数のビット長となるように、ビットストリームのビット長を調整する。
【０１５１】
なお、算術符号演算部１０７は、ＭＰＥＧ４−ＡＶＣで規定されるＣＡＢＡＣ符号化が、好適に用いられる。
【０１５２】
以上の構成が、符号化処理装置にも応用されることで、一度に多ビットの処理がなされる２値化演算と、１ビットずつの処理がなされる算術符号化との処理速度の差が吸収される。また、２値化演算は高速に行われても、算術符号化への悪影響が無く、算術符号化は１ビットずつの処理で行われる。このため、２値化演算と算術符号化のいずれかの処理に対して、高速なクロックを与える必要がなくなり、設計への制約が減少する。
【産業上の利用可能性】
【０１５３】
本発明は、例えば、ＭＰＥＧ４−ＡＶＣや他の画像圧縮伸長などにおける算術符号化方式を用いた符号化されたビットストリームの復号等の分野において好適に利用できる。
【図面の簡単な説明】
【０１５４】
【図１】本発明の実施の形態１における復号処理装置のブロック図である。
【図２】本発明の実施の形態１における復号処理装置の動作のフローチャートである。
【図３】本発明の実施の形態１における復号処理装置の動作フローチャートである。
【図４】本発明の実施の形態１における復号処理装置の動作フローチャートである。
【図５】ＭＰＥＧ４−ＡＶＣにて規定されている、２値化処理アルゴリズムの一覧を示す図である。
【図６】本発明の実施の形態２における中間ビットストリームの構造図である。
【図７】本発明の実施の形態２におけるシンタックスエレメントの符号化一覧を示す図である。
【図８】本発明の実施の形態２におけるシンタックスエレメントの符号化一覧を示す図である。
【図９】本発明の実施の形態２における中間ビットストリームの構造図である。
【図１０】本発明の実施の形態２における復号処理を示す図である。
【図１１】本発明の実施の形態３における復号処理装置のブロック図である。
【図１２】本発明の実施の形態３における復号処理装置の動作フローチャートである。
【図１３】本発明の実施の形態４における算術符号化処理装置のブロック図である。
【図１】
2008182700.tif 000003
【図２】
2008182700.tif 000004
【図３】
2008182700.tif 000005
【図４】
2008182700.tif 000006
【図５】
2008182700.tif 000007
【図６】
2008182700.tif 000008
【図７】
2008182700.tif 000009
【図８】
2008182700.tif 000010
【図９】
2008182700.tif 000011
【図１０】
2008182700.tif 000012
【図１１】
2008182700.tif 000013
【図１２】
2008182700.tif 000014
【図１３】
2008182700.tif 000015