(57)【特許請求の範囲】
【請求項１】
複数の可変長コードワードを含有する入力ビット流を復号するためのマルチコードブック可変長デコーダであって、該デコーダは、
各々前記入力ビット流を受信し、各々異なる自身に関連するコードブックに応じて該入力ビット流を復号する複数の個別可変長デコーダと、
前記入力ビット流を受信し、該入力ビット流内に含まれる各順次のコードワードに対して、該コードワードを復号するために前記複数の個別可変長デコーダから適切なデコーダを選択するコントローラとを有し、
各前記個別可変長デコーダは、選択された場合、能動復号モードで動作し、前記入力ビット流内に含まれる現在のコードワードの終端を検出するまで該入力ビット流の各順次のビットを復号し、選択されない場合、受動復号モードで動作し、前記入力ビット流内に含まれる次のコードワードの初期ビットであるかのように該入力ビット流の各順次のビットを予め復号することを特徴とするマルチコードブック可変長デコーダ。
【請求項２】
請求項１に記載のマルチコードブック可変長デコーダにおいて、
各前記個別可変長デコーダは、選択された場合、前記現在のコードワードの終端の検出に基づきワード終端信号を生成し、前記コントローラは、該ワード終端信号を受信し、該ワード終端信号に応答して、前記個別可変長デコーダのどのデコーダが、規定の通信プロトコルに応じ、過去に復号されたコードワードに基づいて、前記次のコードワードを復号するために適切なデコーダであるかを決定することを特徴とするマルチコードブック可変長デコーダ。
【請求項３】
請求項１に記載のマルチコードブック可変長デコーダにおいて、
各前記個別可変長デコーダは、選択された場合、自身の出力において復号ワードを生成することを特徴とするマルチコードブック可変長デコーダ。
【請求項４】
請求項３に記載のマルチコードブック可変長デコーダにおいて、
当該マルチコードブック可変長デコーダは、さらに、前記個別可変長デコーダにより生成された前記復号ワードを多重し、自身の出力において復号ワード流を生成するマルチプレクサを有することを特徴とするマルチコードブック可変長デコーダ。
【請求項５】
請求項２に記載のマルチコードブック可変長デコーダにおいて、
前記規定の通信プロトコルはＭＰＥＧプロトコルであることを特徴とするマルチコードブック可変長デコーダ。
【請求項６】
請求項１に記載のマルチコードブック可変長デコーダにおいて、
前記コントローラは、前記個別可変長デコーダの完全にパイプラインされた動作を提供するように当該マルチコードブック可変長デコーダの全体の復号動作を制御し、ゆえに、前記入力ビット流内に含まれる各順次のコードワードを復号するために前記複数の個別可変長デコーダから適切なデコーダを選択する際に前記コントローラの決定待ち時間を補償するための入力バッファが必要ないことを特徴とするマルチコードブック可変長デコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ね、可変長デコーダに関し、とりわけ、新規のマルチコードブック可変長デコーダに関する。
【背景技術】
【０００２】
可変長デコーダ(VLD)は、可変長のワードからなる統計的に符号化されたビット流を復号するためにデジタル通信分野で広く使用されている。ディジタル的に圧縮された映像（例えば、ディジタルビデオ）の送信等のいくつかの用途においては、多数のマルチプル符号化テーブルまたは”（複数の）コードブック”が、符号化効率が最適になるように、種々の形式のデータを符号化するために使用される。種々の関連するコードブックに応じて符号化される種々の形式の可変長ワードからなるビット流を復号するために、多数のコードブックを使用する可変長デコーダを使用することが必要である。このような可変長デコーダは、"マルチコードブック可変長デコーダ(multi-code-book VLD)"として参照される。
【０００３】
一般に、マルチコードブック可変長デコーダは、デコーダとして及び未来コードブック予測器として同時に機能できなければならない。これに関し、通信プロトコルは、通常、現在利用可能な復号結果に基づいて適切な未来コードブックを選択するように構築されている。ディジタル的に圧縮されたビデオの送信に関するＭＰＥＧプロトコルは、このようなプロトコルの一例である。
【０００４】
マルチコードブック可変長デコーダの性能は、動作速度の見地からしばしば述べられる。例えばディジタル的に圧縮されたビデオの送信等の多くの用途においては通信プロトコル及び符号化テーブルの複雑さが与えられているため、マルチコードブック可変長デコーダは、通常、各々自身のコードブックを持つ複数の別個の可変長デコーダに分割されて実施される。このようにデコーダを分割した場合、概して、マルチコードブック可変長デコーダの動作速度はより遅い。復号されるべき到来ビット流内の各コードワードに対して適切な可変長デコーダを選択するための非同期的な解決策では、概して、マルチコードブック可変長デコーダの動作が満足のいく結果にならない。適切な可変長デコーダを選択するための同期的すなわちパイプラインされた解決策によれば、概して、マルチコードブック可変長デコーダの動作性能はより信頼性があり高速である。しかしながら、このような同期的すなわちパイプラインされた解決策は、付加的なシステム要求、すなわち、ビットがスキップされる問題、すなわち、マルチコードブック可変長デコーダの決定待ち時間(decision latency)に起因するビットが復号されない問題を解消するために到来ビット流のバッファリングの要求を課す。この決定待ち時間は、最新の復号コードワードの終端を検出するために、及びマルチコードブック可変長デコーダの複数の可変長デコーダのどれが復号されるべきビット流内の次のコードワードに対して適切な可変長デコーダであるか決定するために必要とされる時間に起因する。決定待ち時間の期間は、前記最新の復号コードワードの最終ビットが復号された時刻と、前記適切な可変長デコーダが活性化し前記次のコードワードの復号を開始した時刻との間の期間である。
【０００５】
パイプラインされたマルチコードブック可変長デコーダに関連する上述の問題を、第１図を参照して述べる。さらにとりわけ、パイプラインされたマルチコードブック可変長デコーダ（図示せず）は、到来ビット流内に含まれる現在のコードワードｎを復号し、次いで、該到来ビット流内に含まれる次のコードワードｎ＋１を復号するように機能する。パイプラインされたマルチコードブック可変長デコーダの個別可変長デコーダは、前記現在のコードワードｎの最終ビット"２０"が復号されたことを検出し、該検出に応答してワードｎのワード終端パルスＥＷを生成する。このパルスの継続時間は、一クロックサイクルである。この期間、動作通信プロトコルに応じて及びこのクロックサイクル時に利用可能になっている復号結果に基づいて並びに過去の復号結果に基づいて、システムコントローラ（図示せず）が、マルチコードブック可変長デコーダのどの個別可変長デコーダが次のコードワードｎ＋１を復号するために適切な可変長デコーダであるか決定し、該次のコードワードｎ＋１を復号するためにこれら個別可変長デコーダから適切な可変長デコーダを選択する（活性化させる）ためのＶＬＤｎ＋１選択決定パルスＳＤを出力する。
【０００６】
前記システムコントローラがどの個別可変長デコーダが前記次のコードワードｎ＋１を復号するために適切な可変長デコーダであるか決定し、この適切な可変長デコーダを選択する（活性化させる）ために前記ＶＬＤｎ＋１選択決定パルスＳＤを出力するために必要とされる時間は、該ＶＬＤｎ＋１選択決定パルスＳＤの立ち上がりエッジと前記ワードｎのワード終端パルスＥＷの立ち下がりエッジとが一致して示されるように、シングルクロックサイクル（すなわち、ワードｎのワード終端パルスＥＷの継続時間）である。このシングルビットクロックサイクルは、前記次のコードワードｎ＋１の第１ビット"１"を復号するためのビットクロックサイクルに対応し、"決定待ち時間期間(decision latency interval (DLI))"として参照される。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前記選択された（適切な）可変長デコーダは、前記選択決定パルスＳＤに応答して活性化し、次のビットクロックサイクルの開始時に前記次のコードワードｎ＋１の復号を開始する、すなわち、該次のコードワードｎ＋１の第２ビット"２"から始まる。このように、容易に理解されるように、前記次のコードワードｎ＋１の第１ビット"１"はスキップされる、すなわち、復号されない。この問題を解消するために、前記システムコントローラは、この決定待ち時間期間ＤＬＩの間に前記次のコードワードｎ＋１のビット"１"を復号することを禁じる信号を生成しなければならない。これは、処理スピードの減少のみならず、マルチコードブック可変長デコーダの前に前記到来ビット流が部分的に失われることのないように十分なサイズのメモリバッファを必要とする。
【０００８】
前述に基づいて、当該技術分野において、現在利用可能であるパイプラインされたマルチコードブック可変長デコーダの上述の欠点及び短所を克服するような完全にパイプラインされたマルチコードブック可変長デコーダに対する必要性が現在存在していることが理解されよう。本発明は、この必要性を満たしている。
【課題を解決するための手段】
【０００９】
本発明は、複数の可変長コードワードを含有する入力ビット流を復号するためのマルチコードブック可変長デコーダに関する。このマルチコードブック可変長デコーダは、複数の個別可変長デコーダ及びコントローラを有している。これら個別可変長デコーダは各々、前記入力ビット流を受信し、各々異なる自身に関連するコードブックに応じて該入力ビット流を復号する。前記コントローラは、前記入力ビット流を受信し、該入力ビット流内に含まれる各順次のコードワードに対して、該コードワードを復号するために前記複数の個別可変長デコーダから適切なデコーダを選択する。
【００１０】
各前記個別可変長デコーダは、選択された場合、能動復号モードで動作し、前記入力ビット流内に含まれる現在のコードワードの終端を検出するまで該入力ビット流の各順次のビットを復号し、選択されない場合、受動復号モードで動作し、自身のコードブックに属する前記入力ビット流内に含まれる次のコードワードの初期ビットであるかのように該入力ビット流の各順次のビットを予め復号する。
【００１１】
各前記個別可変長デコーダは、選択された場合、前記現在のコードワードの終端の検出に基づきワード終端信号を生成する。前記コントローラは、この個別可変長デコーダにより生成されたワード終端信号を受信し、該ワード終端信号に応答して、前記個別可変長デコーダのどのデコーダが、規定の通信プロトコル（例えば、ＭＰＥＧ）に応じ、過去に復号されたコードワードに基づいて、前記次のコードワードを復号するために適切なデコーダであるか決定する。各前記個別可変長デコーダはまた、選択された場合、自身の出力において復号ワードも生成する。
【００１２】
前記個別可変長デコーダにより生成された前記復号ワードは、自身の出力において復号ワード流を生成するマルチプレクサにより多重される。前記コントローラは、過去に復号されたコードワードに基づいて且つ前記規定の通信プロトコルに応じて、前記入力ビット流内に含まれる各順次のコードワードの形式を決定し、この決定に基づいて、前記個別可変長デコーダのどのデコーダが適切なデコーダであるかどうか決定する。このように、前記個別可変長デコーダの動作は、完全にパイプラインされ、ゆえに、前記コントローラの決定待ち時間を補償するための入力バッファは必要ない。
【００１３】
前記入力ビット流内に含まれる各順次のコードワードに対して、前記複数の個別可変長デコーダの適切な一つのみが選択され、これら個別可変長デコーダの残りは、選択されない。これにより、前記複数の個別可変長デコーダの適切な選択デコーダは、能動復号モードで動作し、残りの非選択デコーダは、受動復号モードで動作する。このように、各前記個別可変長デコーダは、前記コントローラによる選択に応答して、前記入力ビット流内に含まれる前記次のコードワードの第１ビットを既に予め復号することになる。
【００１４】
本発明のこれらの及び種々の他の特長及び利点が、以下の図面と共に以下の詳細な説明からより明らかに理解されるであろう。
【発明を実施するための最良の形態】
【００１５】
第２図を参照して、本発明の好ましい実施例により構築されているマルチコードブック可変長デコーダ２０を説明する。見て分かるように、マルチコードブック可変長デコーダ２０は、ＶＬＤ１〜ＶＬＤｎで示される複数のｎ個の個別可変長デコーダに分割され、各可変長デコーダは、各々関連するコードブックを有している。これら個別デコーダＶＬＤ１〜ＶＬＤｎは、入力ビット流内に含まれる順次のコードワードの終端を検出し、各順次のコードワードを復号するためにこれら可変長デコーダから適切なデコーダを選択する可変長デコーダ予測器及び通信プロトコルコントローラ２２により制御される。一般的に、この可変長デコーダ予測器及び通信プロトコルコントローラ２２は、第１図に図示され前述したように、パイプラインされた形態で、ワード終端パルスＥＷを個別デコーダＶＬＤ１〜ＶＬＤｎから入力し、選択決定パルスＳＤを出力する。個別デコーダＶＬＤ１〜ＶＬＤｎにより出力された復号ワードは、復号ワード流を出力するシステムマルチプレクサ２４により多重される。前記コントローラと前記個別デコーダＶＬＤ１〜ＶＬＤｎとシステムマルチプレクサ２４との間のデータ交換は、当業者にとって容易に明らかなように、システムコントローラバス２６を介して遂行される。
【００１６】
本発明の好ましい実施例のマルチコードブック可変長デコーダ２０の動作を述べる。さらにとりわけ、コントローラ２０は、前記入力ビット流を監視し、動作通信プロトコル（例えば、ＭＰＥＧ）に基づいて、該入力ビット流内に含まれる順次のコードワード各々の形式を決定する。この決定に基づいて、コントローラ２０は、この決定された形式の現在のコードワードを復号するために個別デコーダＶＬＤ１〜ＶＬＤｎからの適切なデコーダを選択する（活性化させる）ための選択デコーダコマンド（選択ＶＬＤ１．．．ＶＬＤｎ）を出力する。これに関し、個別デコーダＶＬＤ１〜ＶＬＤｎの各々は、各々異なる自身に関連する形式のコードワードを復号するために各々異なる自身に関連するコードブックを利用する。
【００１７】
一般的に、個別デコーダＶＬＤ１〜ＶＬＤｎから選択されたデコーダは、能動復号モードで動作し、現在のコードワードの終端を発見するまで、自身のコードブックに応じて入力ビット流を復号する。個別デコーダＶＬＤ１〜ＶＬＤｎの残りの選択されていない各デコーダは、受動復号モードで動作し、自身のコードブックに応じたコードワードの始端であるかのように入力ビット流の各ビットを復号する。個別デコーダＶＬＤ１〜ＶＬＤｎの選択されていないあるデコーダＶＬＤｉが、前記コントローラ２２により出力されるパイプラインされた選択デコーダコマンド（選択ＶＬＤｉ）に応答して選択された（活性化された）場合、該デコーダの動作は、能動復号モードに切替えられ、当該入力ビット流内に含まれる次のコードワードを復号し、これら個別デコーダＶＬＤ１〜ＶＬＤｎの過去に選択されていたデコーダは、上述の受動復号モードに切替えられる。
【００１８】
選択されたデコーダは、（第１図においてワード終端パルスＥＷに対応する）"ワード終端発見"信号を生成し、この信号に対応して、コントローラ２２は、過去に復号されたコードワードに基づいて及び動作通信プロトコルに応じて、どの個別デコーダＶＬＤ１〜ＶＬＤｎが入力ビット流内に含まれる次のコードワードを復号するために適切なデコーダであるかを決定する。
【００１９】
これに関し、前記選択されたデコーダは、コントローラ２０から遅延される（パイプラインされた）選択デコーダコマンド（選択ＶＬＤｉ）を受信するまでに前記次のコードワードの第１ビットを予め既に復号しているため、該次のコードワードの第１ビットは、上述した現在利用可能なパイプラインされたマルチコードブック可変長デコーダを用いた場合のように、スキップされない。このように、本発明の完全にパイプラインされたマルチコードブック可変長デコーダ２０は、マルチコードブック可変長デコーダ２０の前に入力ビット流内に含まれるデータが欠けることを防止するための入力バッファの必要性を排除する。
【００２０】
これに関し、本発明のマルチコードブック可変長デコーダ２０の構成は、個別デコーダＶＬＤ１〜ＶＬＤｎ間の"シームレス(seamless)"スイッチングを可能にする。このような"シームレス"スイッチングは、マルチコードブック可変長デコーダ２０により復号される各コードワードに対して、該マルチコードブック可変長デコーダ２０の全ての個別デコーダＶＬＤ１〜ＶＬＤｎが各々の状態に無関係に、すなわち、選択されているか選択されていないかに関わらず復号処理に含まれる事実により達成される。
【００２１】
前記入力ビット流内に含まれるコードワードを復号するための上述した基本処理シーケンスは、該入力ビット流内に含まれる順次のコードワード各々に対して繰返される。
【００２２】
前述に基づいて、本発明の完全にパイプラインされたマルチコードブック可変長デコーダが、現在利用可能なパイプラインされたマルチコードブック可変長デコーダの欠点及び短所を克服し、さらにいくつかの重要な利点を提供することが理解されるであろう。
【００２３】
よりとりわけ、（"サブデコーダ"としても参照される）個別デコーダＶＬＤ１〜ＶＬＤｎの選択されていない全てのデコーダが入力ビット流を一段毎受動的に予め復号することにより、全体的なシステムの復号処理が遮断されることなく、これにより、復号処理を完全にパイプラインすることができる。優れた速度性能がこの真のパイプライン化の結果達成され、これにより、本発明のマルチコードブック可変長デコーダがリアルタイムで１００％のシステム処理能力を管理することができるため、一方では、より高速の復号クロックレートを使用可能にし、他方では、選択決定が遅れる問題を管理するために復号処理を遅くする必要性をなくし、さらに、マルチコードブック可変長デコーダの前の大入力バッファの必要性をなくしている。
【００２４】
本発明の好ましい実施例が先に詳細に述べられたが、当業者にとっては明らかであろうここで教授された基本的な発明コンセプトの多くの変形及び／または修正が、付加された請求項に規定されるように、本発明の精神及び範囲内に属するであろう。
【図面の簡単な説明】
【００２５】
【図１】第１図は、復号されるべきビット流内の現在のコードワードの終端を検出しその次のコードワードに対して適切な可変長デコーダを選択する際のマルチコードブック可変長デコーダの決定待ち時間に起因するビットがスキップされる問題を図示するタイミング図である。
【図２】第２図は、本発明の好ましい実施例に応じて構成された完全にパイプラインされたマルチコードブック可変長デコーダのブロック図である。
【図１】
0003817268.tif 000002
【図２】
0003817268.tif 000003