(57)【特許請求の範囲】
【請求項１】
入力コードセグメントの値が所定の閾値以下である場合に、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であると識別する符号語識別ユニットと、
前記符号語識別ユニットが前記復号化処理待ち符号語が短符号語であると識別した場合に、前記復号化処理待ち符号語の復号化完了までにコードセグメント要求情報を取得して次の入力コードセグメントを要求するために、前記次の入力コードセグメントを要求するコードセグメント要求情報を算出する短符号語復号高速化ユニットと、
を含む、可変長符号の復号高速化装置。
【請求項２】
前記短符号語は長さがNビット以下の符号語であり、前記Nは符号語の復号化に要する平均時間と所望の復号速度に基づいて予め設定された正整数である、請求項1に記載の可変長符号の復号高速化装置。
【請求項３】
前記復号化処理待ち符号語はMPEG-2、MPEG-4、又はVC-1規格に従って符号化された符号語である、請求項1に記載の可変長符号の復号高速化装置。
【請求項４】
前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するためのシフトビット数である、請求項3に記載の可変長符号の復号高速化装置。
【請求項５】
前記符号語識別ユニットは、可変長符号の符号化方式に基づき、前記入力コードセグメントにおける上位ビットを検査することにより、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する、請求項3に記載の可変長符号の復号高速化装置。
【請求項６】
前記短符号語復号高速化ユニットは、可変長符号の符号化方式に基づき、短符号語と判断された前記復号化処理待ち符号語に対応するシフトビット数を出力するように構成された、請求項4に記載の可変長符号の復号高速化装置。
【請求項７】
前記復号化処理待ち符号語はAVS規格に従って符号化された符号語である、請求項1に記載の可変長符号の復号高速化装置。
【請求項８】
前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するための指数ゴロム符号の次数である、請求項7に記載の可変長符号の復号高速化装置。
【請求項９】
前記短符号語は長さがNビット以下の符号語であり、前記所定の閾値はNビットの指数ゴロム符号が表現可能な最大の１０進数の値である、請求項７に記載の可変長符号の復号高速化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は可変長符号の復号化に関し、より具体的には、可変長符号の復号高速化装置、該可変長符号の復号高速化装置を用いた可変長符号復号化装置及び方法に関する。
【背景技術】
【０００２】
可変長符号復号化器はビデオ復号器において非常に重要な部分である。復号化器は、シンボルがビットストリームにおいて発生する頻度によって、長さが異なる符合語を用いて符号化し、発生頻度の高いシンボルを短い符号語で符号化し、発生頻度の低いシンボルを長い符号語で符号化する。符号語の長さが可変であるから、復号化の全処理において相互依存性が高く、並行処理方法により復号化の速度を高速化するのは困難である。現在最も通用している可変長符号復号化方法は、ルックアップテーブル法（lookup  table  method  、LUT法）である。このような方法では、ビットストリームから固定のビット数を有するコードセグメントを読み出し、インデックスとして符号表を検索する。また、符号表のサイズを小さくし、符号表の検索速度を向上させるために、多段階によるLUT法のような最適化方法が提案された。これら最適化方法として、例えば、特許文献１に開示された2段階又は2段階以上によるLUT法を用いた可変長符号復号化方法や、特許文献２に開示された、単に高速LUT法を用いてMPEG-2ビデオストリームにおけるメインデータであるDCT係数を決定するMPEGビデオデータの復号化方法がある。これら関連する特許の全部開示は参照により組み込まれる。
【０００３】
通常、前記のように、常用のLUT法を利用した可変長符号復号方法には、主に3つの段階が含まれている。即ち、（1）符号語要求段階：復号化器はこの段階において次の入力コードセグメントを要求するためのコードセグメント要求情報を出力する。例えば、復号化器は、MPEG−2/4/VC-1規格に関し、バレル・シフタのシフトビット数をバレル・シフタに出力し、または、AVS規格に関し、指数ゴロム符号の次数を指数ゴロム符号復号化器に出力することで、次の入力コードセグメントを要求する。（2）コードセグメント取得段階：例えばバレル・シフタ/指数ゴロム符号復号化器等、次の入力コードセグメントを発生するユニットは、この段階において、バレル・シフタのシフトビット数/指数ゴロム符号の次数等に基づいて次の入力コードセグメントを発生して復号化器に与える。（3）符号語復号化段階：この段階において、入力コードセグメントはインデックスとされ、符号表から、符号化されたシンボルと次の符号語を復号化する（即ち、次の入力コードセグメントを要求する）ために必要な情報（例えば、バレル・シフタのシフトビット数または指数ゴロム符号の次数）を検索する。以上三つの段階は順に実行される。図5に示したように、符号語要求段階とコードセグメント取得段階が一般的にそれぞれ1クロックサイクルを占めるのに対し、ビデオ規格における符号表はサイズが大きいとともに、一般的にSRAM（Static  Random  Access  Memory）に記憶されているため、符号表検索、即ち符号語復号化の段階は一般的に2クロックサイクルが必要であるので、メモリをアクセスする時間は、符号語要求段階及びコードセグメント取得段階に要する時間に比べて非常に長い。このため、可変長符号復号化の速度は主に符号表を検索する時間により決まる。長い符号語については、十分多いビットが復号化されるため、メモリをアクセスするのに要する時間遅延は認められるが、短い符号語については、遅すぎる復号速度は復号化器全体の性能を低下させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第5,253,053号明細書
【特許文献２】米国特許第6,011,498号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、以上の短符号語の復号速度が復号化器全体の性能に影響するという問題を解決するために、長い符号語の復号化と短い符号語の復号化とを差別化する復号化方法を用いて、可変長符号復号化器全体の復号速度を向上させることができる可変長符号の復号高速化装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一つの側面によれば、入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断するように構成された符号語識別ユニットと、符号語識別ユニットにより復号化処理待ち符号語が短符号語であると判断されると、復号化処理待ち符号語の復号化完了までにコードセグメント要求情報を取得して次の入力コードセグメントを要求するように、直ぐに次の入力コードセグメントを要求するためのコードセグメント要求情報を算出するように構成された短符号語復号高速化ユニットとを、備える可変長符号の復号高速化装置を提供する。
【０００７】
本発明によれば、短符号語は長さがNビット以下の符号語であることが好ましく、ここで、Nは、短符号語を最適化しない場合の符号語の復号化に要する平均時間と所望の復号速度に基づいて予め設定された正整数である。
【０００８】
本発明によれば、復号化処理待ち符号語はMPEG-2、MPEG-4、又はVC-1規格に従って符号化された符号語であることが好ましい。この場合、コードセグメント要求情報は、次の入力コードセグメントを取得するためのシフトビット数である。符号語識別ユニットは、可変長符号の符号化方式に基づき、入力コードセグメントにおける上位ビットを検査することにより、入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する。短符号語復号高速化ユニットは、可変長符号の符号化方式に基づき、短符号語と判断された復号化処理待ち符号語に対応するシフトビット数を出力するように構成されている。
【０００９】
本発明によれば、復号化処理待ち符号語はAVS規格に従って符号化された符号語であることが好ましい。この場合、コードセグメント要求情報は、次の入力コードセグメントを取得するための指数ゴロム(Exponential-Golomb)符号の次数である。符号語識別ユニットは、入力コードセグメントの値を所定の閾値と比較し、入力コードセグメントの値が所定の閾値以下である場合に、入力コードセグメントにおける復号化処理待ち符号語が短符号語であると判断する。また、短符号語は長さがNビット以下の符号語であり、所定の閾値は、Nビットの指数ゴロム符号が表示可能な最大値であることが好ましい。さらに、短符号語復号高速化ユニットは、復号化処理待ち符号語が短符号語である場合、可変長符号の符号化方式に基づき、入力コードセグメントの値と対応する指数ゴロム符号の次数を取得するように構成されている。
【発明の効果】
【００１０】
従って、本発明による可変長符号の復号高速化装置は、例えば、可変長符号復号化装置に適用され、発生頻度の高い短符号語の復号化を高速化することで、可変長符号復号化装置全体の復号速度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明による可変長符号復号化処理を示す図である。
【図２】本発明の一実施例による、MPEG-2/4/VC-1規格に基づくビットストリームの復号化に利用可能な可変長符号復号化装置を示す図である。
【図３】本発明の別の実施例による、AVS規格のビットストリームの復号化に利用可能な可変長符号復号化装置を示す図である。
【図４】本発明のもう一つの実施例による、AVS規格のビットストリームの復号化に利用可能な可変長符号復号化装置を示す図である。
【図５】従来の技術における可変長符号復号化処理を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明をより全面的に理解するために、添付した図面を参照しながら、本発明の好適な実施形態を詳細に説明する。なお、全ての図面において、同一の符号で同一又は類似の部材を示す。
【００１３】
以下、図1乃至図4を参照して本発明による可変長符号復号化装置の具体的な実施例を叙述する。なお、ビデオ圧縮符号化/復号化において常用するMPEG-2/4/VC-1規格及びAVS規格に関して、本発明を叙述するが、このような叙述は単に説明のためであり、本発明に適用する圧縮符号化/復号化規格はこれに限られることではなく、例えば、JPEG規格、CCITT規格、又はその他任意の可変長符号化/復号化規格でもよいことは、当業者にとって明らかであるべきである。
【００１４】
図1は本発明による可変長符号復号化処理を示しており、上部では、入力コードセグメントにおける復号化処理待ち符号語が短符号語である場合の復号化処理を、下部では、入力コードセグメントにおける復号化処理待ち符号語が長符号語である場合の復号化処理をそれぞれ示している。
【００１５】
図1の説明に先立って、まず、本発明に記載される入力コードセグメント及び復号化処理待ち符号語の両用語を簡単に説明する。通常の場合、可変長ビットストリームは、一つ一つ固定長のコードセグメントに切り分けることができ、そして、これらコードセグメントは連続的に復号化器に入力され、復号化される。固定長のコードセグメントのそれぞれには、可変長符号化方式で符号化された1個以上の可変長符号化符号語が含まれている。復号化器が1つのコードセグメントを復号化する場合、該入力コードセグメントの最上位からの1つの入力符号化符号語しか復号化されず、該入力コードセグメントにおける残りの未復号のビットは、復号化器がその後の入力コードセグメントを復号化する際に復号化される。このため、本発明では、これら固定長のコードセグメントを入力コードセグメントと称し、実際に復号化され、入力コードセグメントの最上位からの可変長を有する１つの符号化符号語を該入力コードセグメントにおける復号化処理待ち符号語と称する。
【００１６】
図１に示したように、可変長符号の復号化を高速化するために、次の入力コードセグメントを要求するためのコードセグメント要求情報を算出する際に、復号化処理待ち符号語が短符号語である入力コードセグメントと復号化処理待ち符号語が長符号語である入力コードセグメントについて、異なる算出方式を採用した。復号化処理待ち符号語が短符号語である場合については、現入力コードセグメントを取得した後、入力コードセグメントにおける復号化処理待ち符号語を復号化するとともに、専用回路により次の入力コードセグメントを要求するためのコードセグメント要求情報を算出することができ、符号表メモリから該コードセグメント要求情報を取得する必要がなく、復号化処理待ち符号語が復号化完成されるまでにコードセグメント要求情報を取得して次のコードセグメントを要求することができる。このため、次のコードセグメントを要求する段階は、復号化処理待ち符号語に対する復号化が完了してから開始するのではなく、符号語復号化段階と並行して行われるので、短符号語の復号速度を高速化している。復号化処理待ち符号語が長符号語である場合については、やはり、復号化段階で次の入力コードセグメントを要求するためのコードセグメント要求情報を取得し、復号化が完了した後に、次のコードセグメントの要求を開始する。本発明によれば、発生頻度の高い短符号語の復号速度が大幅に向上するため、可変長符号復号化処理は全体的に高速化される。ここで、図１の図示は、単に、通常時の復号化処理における各操作段階の実行時間の相対的関係を模式的に示したもので、この図示は本発明の各操作段階の実行時間に対する限定と見なすべきではなく、復号化処理が本発明の趣旨に合致すればよい。
【００１７】
図2に基づいて、本発明による一実施例のMPEG-2/4/VC-1規格のビットストリームに対する可変長符号復号化装置及びその復号化処理を説明する。図2では、本実施例によるMPEG-2/4/VC-1ビデオストリームの復号化に用いられる可変長符号復号化装置201を示している。該可変長符号復号化装置201はバレル・シフタ212が出力した固定長を有する入力コードセグメント（InCodSeg）202を入力とする。入力コードセグメント202における復号化処理待ち符号語は可変長符号復号化装置201で復号化されて復号化符号語（DecCode）213を生成する。図2に示している可変長符号復号化装置は図1のような復号化処理を採用する。該復号化処理を実現するためには、復号化処理待ち符号語が短符号語である場合について、次の入力コードセグメントを要求するためのコードセグメント要求情報は、復号化ユニット208における符号表メモリをアクセスすることなく、短符号語復号高速化ユニット207が演算することにより取得される。以下、図2の各機能ユニットの復号化処理における具体的な動作を詳細に説明する。
【００１８】
可変長符号復号化装置201では、バレル・シフタ212から入力コードセグメント202を取得すると、入力コードセグメント202は復号化ユニット208へ入力され復号化されるとともに、入力コードセグメント202は符号語識別ユニット203にも入力される。符号語識別ユニット203では、入力コードセグメント202における復号化処理待ち符号語が長符号語（符号語長がNよりも長い）であるか、或いは、短符号語（符号語長がN以下）であるかを判断する。符号語識別ユニット203は、入力コードセグメント202における復号化処理待ち符号語が短符号語であると判断された場合、入力コードセグメント202を、短符号語情報（SCode）205を介して入力コードセグメント202短符号語復号高速化ユニット207へ入力する。
【００１９】
ここで、値Nは、通常の場合（短符号語の復号化を高速化していなかった場合）に1つの符号語の復号化に要する平均時間（クロックサイクル数）と所望の復号速度（ビット/クロックサイクル）に基づいて予め設定することができる。例えば、少なくとも1ビット/クロックサイクルの復号速度が要求されるものの、1つの符号語の復号化に5クロックサイクルを必要とする場合、短符号語の復号化を最適化しないと、長さが5ビット以下の符号語の復号速度は1ビット/クロックサイクルよりも低くなるので、長さが5ビット以下の符号語（即ち、N＝4）を短符号語として最適化を行うことが可能である。ここでの値Nに関する設定は他の実施例にも適応する。
【００２０】
MPEG-2/4/VC-1規格で規定された復号化方式により、符号語識別ユニット203は以下のマッチング・メカニズムを用いて入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断することができる。例えばN＝4である場合、入力コードセグメントの最上位から入力コードセグメントを、符号化方式により規定した長さが4ビット以下の符号語と比較して、入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する。例えば、MPEG-2規格において、短符号語の判断規則はMPEG-2規格での設定に基づいて以下のように設定されることができる。復号化符号表がDCT係数テーブル0である場合、短符号語の判断規則は表1に示したもので、復号化符号表がDCT係数テーブル1である場合、短符号語の判断規則は表2に1に示したものである。本明細書に記載されている表はいずれもマッピング・メカニズムを表わすためのものであり、実際に記憶するマップ表ではない。
【表１】
0005201052.tif 000002
【表２】
0005201052.tif 000003
ただし、「ｘ」は、当該ビットが「0」又は「1」であることを表す。
【００２１】
復号化符号表がDCT係数表0の場合、表1に示したように、入力コードセグメントの最上位2ビットが10又は11であると、MPEG-2規格により、復号化処理待ち符号語は10又は11で、その長さは2ビットであるので、当該復号化処理待ち符号語は短符号語であると判断され、入力コードセグメントの最上位3ビットが011であると、復号化処理待ち符号語は011で、その長さは3ビットであるので、当該復号化処理待ち符号語は短符号語であると判断され、入力コードセグメントの最上位4ビットが0100又は0101であると、復号化処理待ち符号語は0100又は0101で、その長さは4ビットであるので、当該復号化処理待ち符号語は短符号語であると判断される。入力コードセグメントが其の他の場合であると、MPEG-2規格により、現時点実際に復号化される符号語の長さが4ビットよりも長いので、これら入力コードセグメントにおける復号化処理待ち符号語は長符号語であると判断される。
【００２２】
前記のように、符号語識別ユニット203は可変長符号の符号化方式によって入力コードセグメントにおける復号化処理待ち符号語が短符号語であるか、具体的には、現復号化符号表の種類と入力コードセグメント202の最上位からの多くともNビットにより入力コードセグメント202における復号化処理待ち符号語がNビット以下の短符号語であるかを判断することができる。例えば、当業者は符号語識別ユニット203で論理回路を設計することで、入力コードセグメント202の最上位から入力コードセグメントを現復号化符号表で規定したNビット以下の符号語と比較し、現復号化符号表におけるある短符号語とマッチングすることが出現した場合に、該判断処理を直ちに終了することができる。このため、ここで実際に比較される入力コードセグメントにおけるビット数は、最大限で最上位からの4ビットである。
【００２３】
表1及び表2に示している判断規則は符復号化規格がMPEG-2規格の場合の例示的なものであり、当業者はMPEG-4/VC-1等のような他の規格で規定している符号化方式により、これら規格に適応する類似する短符号語判断規則を容易に設定し得るべきである。
【００２４】
以上の判断規則により、符号語識別ユニット203の出力は、モード信号（Mode）204と短符号語信号（SCode）205、の二つがある。モード信号204は入力コードセグメント202における復号化処理待ち符号語が短符号語（例えば、モード信号＝「0」）か、長符号語（例えば、モード信号＝「1」）かを表す。モード信号は入力コードセグメント202における復号化処理待ち符号語が短符号語であることを表すと、符号語識別ユニット203は、入力コードセグメント202を、短符号語情報205を介して短符号語復号高速化ユニット207へ入力する。
【００２５】
前記のように、復号化処理待ち符号語が長符号語の入力コードセグメントと復号化処理待ち符号語が短符号語の入力コードセグメントとについて、次の入力コードセグメントを要求するためのコードセグメント要求情報の算出は異なるユニットで実現される。本実施例では、該コードセグメント要求情報はバレル・シフタ212のシフトビット数である。具体的には、復号化処理待ち符号語が短符号語であると判断された入力コードセグメント202について、短符号語復号高速化ユニット207が短符号語情報205から短符号語シフトビット数（SCodeSBitNum）209を算出して出力するのに対し、復号化処理待ち符号語が長符号語であると判断された入力コードセグメント202については、復号化ユニット208が入力コードセグメント202に基づいて符号表メモリをアクセスすることにより長符号語シフトビット数（LCodeSBitNum）210を取得して出力する。
【００２６】
次に、短符号語復号高速化ユニット207がシフトビット数を算出する処理を説明する。シフトビット数とは現入力コードセグメントにおける復号化処理待ち符号語の長さである。本実施例では、マッピング・メカニズムを用いて現入力コードセグメントにおける復号化処理待ち符号語の長さを算出する、即ち、現復号化符号表の種類と入力コードセグメントの最上位からの多くともNビットにより入力コードセグメントにおける復号化処理待ち符号語の長さを算出することができる。例えば、MPEG-2規格では、現復号化符号表がDCT係数表0の場合、短符号語シフトビット数を算出するマッピング・メカニズムは表３のように示されるが、現復号化符号表がDCT係数表1の場合、短符号語シフトビット数を算出するマッピング・メカニズムは表４のように示される。また、他の復号化規格の場合では、これら規格で規定している符号化方式により類似するマッピング・メカニズムを設定することで短符号語シフトビット数209を算出し得ることは、当業者にとって明らかであるべきである。
【表３】
0005201052.tif 000004
【表４】
0005201052.tif 000005
【００２７】
前記のように、符号語識別ユニット203と短符号語復号高速化ユニット207の操作はいずれも現復号化符号表の種類に関連するが、MPEG-2/4規格については、現復号化符号表の種類はビデオ復号器における他のモジュールにより決定されるもので、可変長符号復号化器に関し常に変化するものではなく、固定のパラーメーターに相当するので、実際の実現形態では、符号語識別ユニット203と短符号語復号高速化ユニット207は外部からの現復号化符号表種類情報（図示せず）を受信し、該情報に基づき上記叙述の方式に従って適当なマッピング関係を選択して使用すればよい。
【００２８】
以下、本実施例による復号化ユニット208で行う復号化処理を説明する。符号語復号化段階において、復号化ユニット208は入力コードセグメント202をインデックスとして用い、符号表メモリ内の可変長符号表を検査することにより復号化符号語（DecCode）（ランレングス/係数値）213及び次の入力コードセグメントを要求するための長符号語シフトビット数210を取得する。復号化ユニット208は従来の技術における汎用の復号化ユニットを使用することができるので、本発明の可変長符号の復号高速化装置は、従来の可変長符号復号化装置に容易に適用が可能である。
【００２９】
例えば、MPEG-2に基づき、DCT係数表0に関して、符号表メモリに記憶されている、シフトビット数の復号化・生成用のマッピング表は、表５に示すとおりである。
【表５】
0005201052.tif 000006
表中の「x」は当該ビットが「0」または「1」が可能であることを表す。
【００３０】
復号化ユニット208が出力した次の入力コードセグメントを要求するための情報は、単に長符号語シフトビット数210と呼ばれているが、本実施例による復号化ユニット208は従来技術における汎用の復号化ユニットで実現しているため、入力コードセグメントにおける復号化処理待ち符号語が長符号語か短符号語かにも関わらず、復号化ユニット208はいつも復号化完了後にシフトビット数を出力する。従って、復号化ユニット208から出力された長符号語シフトビット数210は、実際に短符号語シフトビット数も含む。しかし、セレクター214の存在により、復号化ユニット208が出力した短符号語シフトビット数はバレル・シフタ211へ出力されない、即ち、該短符号語シフトビット数は中間出力情報だけで、実際の操作に作用しないことは、当業者であれば了解し得るはずである。
【００３１】
また、符号語識別ユニット203から出力したモード情報204はセレクター214へ入力されて、短符号語シフトビット数209又は長符号語シフトビット数214をバレル・シフタ212へ出力するようにセレクター214を制御する。例えば、モード情報204＝「0」であれば、短符号語シフトビット数209がシフトビット数（SbitNum）211としてセレクター214を介して出力され、次の入力コードセグメントを要求する。そうでなければ、モード情報204＝「1」であれば、長符号語シフトビット数210がシフトビット数211としてセレクター214を介して出力され、次の入力コードセグメントを要求する。
【００３２】
次に、図３に基づき、本発明の別の実施例によるAVS規格のビットストリームに対する可変長符号復号化装置301及びその復号化処理を説明する。図3はAVS規格のビットストリームを復号化するための可変長符号復号化装置301を示す。該可変長符号復号化装置301の入力は、指数ゴロム符号復号化器311が出力した固定ビット数を有する入力コードセグメント（InCodSeg）302である。入力コードセグメント302における復号化処理待ち符号語は可変長符号復号化装置301で復号化されて復号化符号語（DecCode）312を生成する。可変長符号復号化装置301も図1に示している復号化処理を採用する。該復号化処理を実現するためには、次の入力コードセグメントを要求するためのコードセグメント要求情報（本実施例では、指数ゴロム符号の次数である）は、復号化完了後に取得されるのではなく、短符号語復号高速化ユニット306により算出される。
【００３３】
可変長符号復号化装置301では、指数ゴロム符号復号化器311から入力コードセグメント302を取得した後、入力コードセグメント302は復号化ユニット307に入力されてその復号化処理待ち符号語を復号化するとともに、符号語識別ユニット303にも入力される。符号語識別ユニット303では、入力コードセグメント302における復号化処理待ち符号語が長符号語（長さがNよりも長いビット）であるか短符号語（長さがN以下のビット）であるかを判断する。そして、符号語識別ユニット303は、入力コードセグメント302における復号化処理待ち符号語が短符号語であると判断した場合、入力コードセグメント302を、短符号語情報（SCode）305を介して短符号語復号高速化ユニット306へ入力する。
【００３４】
符号語識別ユニット303は、入力コードセグメントの値と所定の閾値とを比較することにより、入力コードセグメント302における復号化処理待ち符号語が短符号語であるかを判断することができる。ここで、入力コードセグメントは、指数ゴロム符号復号化器が出力した固定長の2進数のビットストリームであり、その値は該ビットストリームが表示する10進数であるから、入力コードセグメントの値は容易に決定されるものである。入力コードセグメントの値が所定の閾値以下であると、入力コードセグメントにおける復号化処理待ち符号語が短符号語であると判定し、逆に、入力コードセグメントの値が所定の閾値よりも大きいと、入力コードセグメントにおける復号化処理待ち符号語が長符号語であると判定する。例えばN＝4の場合、4ビットの指数ゴロム符号が表示可能な最大数は7であるため、該閾値を7と設定することができ、従って判断規則は表6で示すとおりとなる。入力コードセグメントの値が7以下であると、入力コードセグメントにおける復号化処理待ち符号語は短符号語と判定され、逆に、入力コードセグメントの値が7よりも大きいと、入力コードセグメントにおける復号化処理待ち符号語は長符号語と判定される。
【表６】
0005201052.tif 000007
【００３５】
指数ゴロム符号の符号化方式によれば、実際は、入力コードセグメントの値<=7の場合、入力コードセグメントにおける復号化処理待ち符号語が4ビットより大きい符号語である場合もある。しかし、この場合は少ない。また、4ビットより大きい幾つかの符号語を短符号語と判断し最適化しても、本実施例の効果に影響はない。本発明は、長さが4ビット以下の符号語の復号化の最適化を確保すればよいからである。
【００３６】
符号語識別ユニット303の出力は、モード信号（Mode）304と短符号語信号（SCode）305、の二つがある。モード信号304は入力コードセグメント302における復号化処理待ち符号語が短符号語（例えば、モード信号＝「0」）か、長符号語（例えば、モード信号＝「1」）かを表す。モード信号は入力コードセグメント302における復号化処理待ち符号語が短符号語であることを表すと、符号語識別ユニット303は、入力コードセグメント302を、短符号語情報305を介して短符号語復号高速化ユニット306へ入力する。
【００３７】
短符号語復号高速化ユニット306は、短符号語情報305を介して入力された入力コードセグメント302の値に基づいて短符号語の指数ゴロム符号の次数（SCodeExpOrder）308を算出する。
【００３８】
AVS規格では、指数ゴロム符号の次数は復号化用の符号表により決定される。短符号語復号高速化ユニット306の具体的な動作処理を説明する前に、AVS規格により短符号語の指数ゴロム符号の次数を決定する原理について簡単な説明を行う。
【００３９】
AVS規格で規定した符号化方式により、表7乃至表9に示す対応関係が得られる。そのうち、コードセグメントの値と現符号表から、以下の符号表が分かる。
【表７】
0005201052.tif 000008
【表８】
0005201052.tif 000009
【表９】
0005201052.tif 000010
【００４０】
AVS規格の復号化方式により、指数ゴロム符号の次数は使用する符号表と対応する。このため、表10乃至表12に示すマッピング関係が得られる。そのうち、コードセグメントの値と現符号表から、指数ゴロム符号の次数を決定することができる。
【表１０】
0005201052.tif 000011
【表１１】
0005201052.tif 000012
【表１２】
0005201052.tif 000013
【００４１】
AVS規格の上記特性を利用して、本実施例の短符号語復号高速化ユニット306は現符号表とコードセグメントの値から、復号化処理待ち符号語の指数ゴロム符号の次数を求めることができる。以下、本実施例により短符号語復号高速化ユニット306で行われる動作を詳細に説明する。
【００４２】
符号語識別ユニット303より入力コードセグメント302における復号化処理待ち符号語が短符号語と判定すると、入力コードセグメント302は短符号語情報305を介して短符号語復号高速化ユニット306に入力される。その後、短符号語復号高速化ユニット306は、表10乃至表12に示すマッピング関係から、次の入力コードセグメントを要求するための情報、即ち短符号語の指数ゴロム符号の次数308を算出する。
【００４３】
また、短符号語復号高速化ユニット306はさらに表7乃至表9に示すマッピング関係から、次の符号表の種類を決定し、次の復号化処理待ち符号語が短符号語の場合の動作に用いるべく、決定した次の符号表の種類を保存する。即ち、直前の復号化処理待ち符号語が短符号語の場合、短符号語復号高速化ユニット306は、記憶している前回決定した符号表の種類を用いて現復号化処理待ち符号語の指数ゴロム符号の次数及び次の符号表の種類を決定する。一方、直前の復号化処理待ち符号語が長符号語の場合、短符号語復号高速化ユニット306は、符号表の種類識別信号（CodTabIdf）315を介して復号化ユニット307内の符号表選択/指数ゴロム符号次数生成ユニット313から受信した符号表の種類を用いて、現復号化処理待ち符号語の指数ゴロム符号の次数及び次の符号表の種類を決定する。例えば、モード信号304により短符号語復号高速化ユニット306を適当な符号表種類標識子を選択して使用するよう制御し得ることは、当業者にとって容易に理解できることである。
【００４４】
上記の表7乃至表9及び表10乃至表12に示したマッピング関係は、短符号語復号高速化ユニット306に記憶またはプログラミングしてもよく、他の記憶装置に記憶してもよい。例えば、復号化処理待ち符号語が短符号語の場合、次の符号表の種類を決定するためのモジュールは、短符号語復号高速化ユニット306と個別に提供され、該モジュールにより決定された符号表の種類は短符号語復号高速化ユニット306に入力されて、次の復号化処理待ち符号語が短符号語の場合の操作に用いられるようにしてもよい。また、短符号語復号高速化ユニット306、又は個別に設けられた次の符号表の種類を決定するためのモジュールにより算出された、次の符号表の種類を示す値は、短符号語復号高速化ユニット306に設けられているレジスタ、又は他の記憶装置に記憶することができる。例えば、復号化ユニット307に設けられている記憶装置を使用してもよい。
【００４５】
以下、本実施例による復号化ユニット307における復号化処理を説明する。入力コードセグメントにおける復号化処理待ち符号語を復号化するための可変長符号表は復号化ユニット307の符号表メモリに保持されている。復号化ユニット307は、入力コードセグメント302をインデックスとして用いて符号表メモリを検索し、復号化符号語（ランレングス/係数値）312を取得する。例えば、AVS規格では、符号語を復号化するための可変長符号表vlc0_intraは表13に示すとおりである。
【表１３】
0005201052.tif 000014
【００４６】
さらに、復号化符号語が取得されると、復号化符号語（ランレングス/係数値）312は符号表選択/指数ゴロム符号次数生成ユニット313に入力されて、長符号語の指数ゴロム符号の次数（LCodeExpOrder）309を算出して出力する。短符号語に対する指数ゴロム符号次数算出方法と似て、符号表選択/指数ゴロム符号次数生成ユニット313は今回復号化された係数値により、次の符号語が使用する符号表を決定し、さらに次の符号語を要求するための指数ゴロム符号次数を決定する。以上の説明から、符号表選択/指数ゴロム符号次数生成ユニット313には上記機能を実現するための論理回路又は論理ユニットを備えることができるのは、当業者であれば了解し得るはずである。
【００４７】
本実施例では、復号化ユニット307が出力した次の入力コードセグメントを要求するための情報を、単に長符号語の指数ゴロム符号の次数309と呼んでいるが、本実施例において、入力コードセグメントに含まれている復号化処理待ち符号語が長符号語か短符号語かにも関わらず、符号表選択/指数ゴロム符号次数生成ユニット313はいつも復号化完了後に復号化符号語から指数ゴロム符号次数を算出して出力するため、符号表選択/指数ゴロム符号次数生成ユニット313が出力する長符号語の指数ゴロム符号の次数には実は短符号語の指数ゴロム符号の次数も含む。しかし、セレクター314の存在により、符号表選択/指数ゴロム符号次数生成ユニット313が出力した短符号語の指数ゴロム符号の次数は指数ゴロム符号復号化器311へ出力されない、即ち、該短符号語の指数ゴロム符号の次数は中間出力情報だけで、実際の操作に作用しないことは、当業者であれば了解し得るはずである。
【００４８】
図3では、符号表選択/指数ゴロム符号次数生成ユニット313が復号化ユニット307内に設けられているが、実際は、該符号表選択/指数ゴロム符号次数生成ユニット313は復号化ユニット307外に設けられてもよい。
【００４９】
また、符号語識別ユニット303から出力したモード信号304は、セレクター314へ入力されて、指数ゴロム符号の次数（ExpOrder）310を指数ゴロム符号復号化器311へ出力するようにセレクター314を制御する。例えば、モード情報304＝「0」であれば、短符号語の指数ゴロム符号の次数308がセレクター314を介して出力され、指数ゴロム符号の次数310として次の入力コードセグメントを要求する。そうでなければ、モード情報304＝「1」であれば、長符号語の指数ゴロム符号の次数309が指数ゴロム符号の次数310としてセレクター314を介して出力され、次の入力コードセグメントを要求する。
【００５０】
本実施例による可変長符号復号化装置は、従来技術による可変長符号復号化装置と比べて、可変長符号の復号高速化モジュールが追加されることのみによって、従来の可変長符号復号化装置を基に容易に実現することができる。しかし、符号表選択/指数ゴロム符号次数生成ユニット313では、復号化処理待ち符号語が長符号語か短符号語かにも関わらず、後の入力コードセグメント取得するための指数ゴロム符号次数を算出する。符号表選択/指数ゴロム符号次数生成ユニット313が出力した短符号語の指数ゴロム符号の次数は実際には役に立たない。従って、本発明のもう一つの実施例では、図3に示している可変長符号復号化装置を改良した。
【００５１】
次に、図4に基づき、本発明のもう一つの実施例による、AVS規格のビットストリームに対する可変長符号復号化装置401及びその復号化処理を説明する。図4では、本実施例による、AVS規格のビットストリームを復号化するための可変長符号復号化装置401を示し、同一の符号で、図3の可変長符号復号化装置301における同様のユニット又は信号を示すとともに、以下の説明において、図3と同様のモジュールに関する説明は省略し、図3の可変長符号復号化装置301との相異点のみを説明する。
【００５２】
該実施例による可変長符号復号化装置401が図3に示す可変長符号復号化装置301との相異点は、スイッチ415により、復号化符号語が符号表選択/指数ゴロム符号次数生成ユニット313に入力されるか否かを制御する。スイッチ415のオン/オフは符号語識別ユニット303が出力したモード信号により制御される。例えば、モード信号＝“0”であれば、スイッチ415はオフにされ、モード信号＝“1”であれば、スイッチ415はオンにされる。復号化処理待ち符号語が短符号語の場合、符号語識別ユニット303はモード信号＝“0”を出力し、スイッチ415はオフにされ、この場合、符号表選択/指数ゴロム符号次数生成ユニット313は作動しない。一方、復号化処理待ち符号語が長符号語の場合、符号語識別ユニット303はモード信号＝“1”を出力し、スイッチ415はオンにされ、この場合、復号化符号語（ランレングス/係数値）312は符号表選択/指数ゴロム符号次数生成ユニット313に入力されるので、符号表選択/指数ゴロム符号次数生成ユニット313は、長符号語の指数ゴロム符号の次数（LCodeExpOrder）309を算出して出力する。図3と同様に、図4では、符号表選択/指数ゴロム符号次数生成ユニット313が復号化ユニット407内に設けられているが、実際は、該符号表選択/指数ゴロム符号次数生成ユニット313は復号化ユニット407外に設けられてもよい。
【００５３】
本発明は、前記の実施例に限定されるものではなく、本発明の趣旨を逸脱しない限り、一部分の構成を修正することにより実施可能である。例えば、本発明の可変長符号復号化装置及び方法は以上で叙述したMPEG-2/4/VC-1規格及びAVS規格以外の各種の可変長復号化規格に適用されることが可能であり、また、異なる可変長復号化規格について、短符号語を如何に識別し、また入力コードセグメントを要求するためのコードセグメント要求情報を如何に算出するかについては、当業者にとっては明らかであるべきである。
【００５４】
また、前記の図面及び当該実施例の説明において言及された、例えば符号語識別ユニット、短符号語復号高速化ユニットなどの各モジュールには、該モジュールに本発明の実際例において相応する機能を実現させるために設けられた記憶ユニット、制御ユニット、クロック供給ユニットなどが備えられる可能性もある。これらユニットが実現できる機能は、いずれも当業者には公知であるので、本発明の叙述において詳細に説明されていないが、本発明で叙述した機能から上記機能ユニットを如何に適当に設計し供給するかについては、当業者にとっては明らかであるべきである。
【００５５】
さらに、本発明で開示した各モジュール及びこれらモジュールにおいて相応する機能を供給する機能ユニットは、ソフトウェア、ハードウェア、又は両者の結合により実現することが可能であり、また、各モジュール間の信号は如何なる形式でも良い。また、本明細書で言及された各表は、あくまでもマッピング関係を表明するためであり、必ずしも実際に使用されるマップ表ではない。また、これら表のそれぞれに示しているマッピング関係は、別個のマップ表で実現してもよく、1つのマップ表として他の表と合わせて実現してもよい。さらに、本発明の実施例で言及された各モジュールは別個に実現してもよく、他のモジュールとの集積化により実現してもよい。
【００５６】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の範囲に属する。
（付記１）入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断するように構成された符号語識別ユニットと、
前記符号語識別ユニットにより前記復号化処理待ち符号語が短符号語であると判断されると、前記復号化処理待ち符号語の復号化完了までにコードセグメント要求情報を取得して次の入力コードセグメントを要求するように、直ぐに次の入力コードセグメントを要求するためのコードセグメント要求情報を算出するように構成された短符号語復号高速化ユニットと、
を含む、可変長符号の復号高速化装置。
（付記２）前記短符号語は長さがNビット以下の符号語であり、前記Nは符号語の復号化に要する平均時間と所望の復号速度に基づいて予め設定された正整数である、付記1に記載の可変長符号の復号高速化装置。
（付記３）前記復号化処理待ち符号語はMPEG-2、MPEG-4、又はVC-1規格に従って符号化された符号語である、付記1に記載の可変長符号の復号高速化装置。
（付記４）前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するためのシフトビット数である、付記3に記載の可変長符号の復号高速化装置。
（付記５）前記符号語識別ユニットは、可変長符号の符号化方式に基づき、前記入力コードセグメントにおける上位ビットを検査することにより、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する、付記3に記載の可変長符号の復号高速化装置。
（付記６）前記短符号語復号高速化ユニットは、可変長符号の符号化方式に基づき、短符号語と判断された前記復号化処理待ち符号語に対応するシフトビット数を出力するように構成された、付記4に記載の可変長符号の復号高速化装置。
（付記７）前記復号化処理待ち符号語はAVS規格に従って符号化された符号語である、付記1に記載の可変長符号の復号高速化装置。
（付記８）前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するための指数ゴロム符号の次数である、付記7に記載の可変長符号の復号高速化装置。
（付記９）前記符号語識別ユニットは、前記入力コードセグメントの値を所定の閾値と比較し、前記入力コードセグメントの値が前記所定の閾値以下である場合に、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であると判断する、付記7に記載の可変長符号の復号高速化装置。
（付記１０）前記短符号語は長さがNビット以下の符号語であり、前記所定の閾値はNビットの指数ゴロム符号が表示可能な最大値である、付記9に記載の可変長符号の復号高速化装置。
（付記１１）前記短符号語復号高速化ユニットは、前記復号化処理待ち符号語が短符号語である場合、可変長符号の符号化方式に基づき、前記入力コードセグメントの値と対応する指数ゴロム符号の次数を取得するように構成された、付記8に記載の可変長符号の復号高速化装置。
【符号の説明】
【００５７】
２０１、３０１、４０１  可変長符号復号化装置
２０２、３０２  入力コードセグメント
２０３、３０３  符号語識別ユニット
２０７、３０６  短符号語復号高速化ユニット
２０８、３０７、４０７  復号化ユニット
２１２  バレル・シフタ
２１４、３１４  セレクター
３１１  指数ゴロム符号復号化器
３１３  符号表選択／指数ゴロム符号次数生成ユニット
【図１】
0005201052.tif 000015
【図２】
0005201052.tif 000016
【図３】
0005201052.tif 000017
【図４】
0005201052.tif 000018
【図５】
0005201052.tif 000019