(57)【特許請求の範囲】
【請求項１】
複数の符号化方式により符号化された可変長符号を復号する復号段と、
前記可変長符号を入力するストリーム入力部と、
前記復号段と前記ストリーム入力部とを仲介するインターフェイスとを備え、
前記ストリーム入力部と前記インターフェイスとは、前記複数の符号化方式について共用され、
前記ストリーム入力部は、ストリームの一部を構成するレジスタデータを保持するシフトレジスタと、
前記レジスタデータから一定ビット幅のストリームデータを前記インターフェイスへ転送するデータセレクタと、
前記ストリームデータの位置を定めるストリームポインタを制御するポインタ制御部とを備え、
前記インターフェイスは、前記ストリームデータを保持し前記復号段へ転送するストリームデータバスと、
復号を中断すべきか否かを示すストリーム有効信号を保持し前記復号段へ転送するストリーム有効信号線と、
復号を開始すべきか否かを示す復号開始信号を保持し前記復号段へ転送する復号開始信号線とを備える可変長復号装置。
【請求項２】
前記復号段は、復号が完了すると符号長を前記ストリーム入力部へ通知し、
前記ポインタ制御部は、通知された符号長に基づいてストリームポインタが定める前記ストリームデータの位置を移動する請求項１記載の可変長復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の符号化方式で符号化されたビットストリームを復号する可変長符号復号装置に関するものである。
【背景技術】
【０００２】
ディジタル衛星放送、インターネットや携帯情報端末を利用したディジタル映像コンテンツの送受信の普及により、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）規格に対応する信号処理装置の重要性が増している。現在、ＭＰＥＧには、ＣＤ−ＲＯＭなどの蓄積メディアを対象にするＭＰＥＧ−１、ディジタルＴＶ放送やＤＶＤなどの蓄積メディアを対象とするＭＰＥＧ−２、移動体通信など低ビット・レートでの動画像フォーマットとして用いられるＭＰＥＧ−４、近年提案されている低ビット・レート下での更なる高画質化を狙ったＭＰＥＧ−４ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）といった様々な符号化方式が存在する。
【０００３】
バッテリ駆動が前提の移動体通信端末に、ＭＰＥＧ方式を採用する場合、膨大なデータの高速処理と低消費電力化が課題となる。この観点から、移動体通信端末に搭載する動画像処理専用ＬＳＩは、プロセッサとＶＬＤ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｄｅｃｏｄｅｒ、可変長符号復号回路）、ＩＱ（Ｉｎｖｅｒｓｅ  Ｑｕａｎｔｉｚａｔｉｏｎ、逆量子化回路）、ＩＤＣＴ（Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ、逆ＤＣＴ回路）などの特定アルゴリズムを処理する専用ハードウェアとを併用することにより、動画像処理時の負荷を分散し、合わせて、消費電力の低減を図っている。
【０００４】
動画像処理専用ＬＳＩが、複数の符号化方式を扱う画像処理装置に組み込まれ、動画像処理専用ＬＳＩが１つの符号化方式のみにしか対応していない場合、各々の符号化方式に対応した複数の動画像処理専用ＬＳＩを画像処理装置に組み込む必要がある。
【０００５】
しかし、複数の動画像処理専用ＬＳＩを画像処理装置に組み込むと、部品点数が増加するため画像処理装置のコストが増加し、符号化方式ごとに動作させる動画像処理専用ＬＳＩを切り替える必要があるためシステムが煩雑になる。
【０００６】
そこで、一つの動画像処理専用ＬＳＩで複数の符号化方式に対応することが考えられる。このためには、各符号化方式のＶＬＤなどの専用ハードウェアを全て備えることで実現できる。しかし、このようにすると、動画像処理専用ＬＳＩの面積が増大し、動画像処理専用ＬＳＩのコストが増大する。
【０００７】
また、一つの動画像処理専用ＬＳＩでの複数の符号化方式へ対応するために、各専用ハードウェアを複数の符号化方式に対応させて作りこむことが考えられる。そのような技術の一つとして、文献１（日本国特開２００２−１４１８０７号公報）は、２つの符号化方式に対応する可変長符号復号回路の技術を開示する。
【０００８】
第７図は、文献１に記載された従来の可変長符号復号回路３００を示す。可変長符号復号回路３００は、バレルシフタ３０１及びバレルシフタ制御器３０２と、ＤＶフォーマットとＭＰＥＧフォーマットのＡＣ係数の復号のための可変長符号復号テーブル３０３ａと、レベル０のランレングスを処理できるランレングスデコーダと３０４、ＭＰＥＧフォーマット専用のエスケープ処理回路３０３ｂと、各フォーマット用のＤＣ処理回路３０３ｃと、両フォーマットのＥＯＢ処理回路３０３ｄを備える。
【０００９】
ＤＶフォーマット、もしくはＭＰＥＧフォーマットのビットストリームが入力されると、各々のフォーマットの処理回路によりランレングス及びレベルが求められ、ランレングスデコーダに与えられたランレングスの数だけ０を出力することで、可変長符号が復号される。
【００１０】
しかしながら、文献１では、ＤＶとＭＰＥＧ−１もしくはＭＰＥＧ−２の２つの符号化方式しか対応できない。また、他の符号化方式に対応するには、対応する符号化方式に合わせて最初から回路を開発する必要があり、開発工数が増大する。さらには、可変長復号に必要なテーブルなどを、ＤＶ用とＭＰＥＧ−１用もしくはＭＰＥＧ−２用と２種類持つ必要があるため、１つの符号化方式のみに対応する場合に比べ、回路規模が大きくなり、動画像処理専用ＬＳＩのコストが増加する。
【特許文献１】特開２００２−１４１８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
そこで本発明は、複数の符号化方式に容易に対応でき、回路規模の増大を抑えることができる可変長符号復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明に係る可変長復号装置は、複数の符号化方式により符号化された可変長符号を復号する復号段と、可変長符号を入力するストリーム入力部と、復号段とストリーム入力部とを仲介するインターフェイスとを備え、ストリーム入力部とインターフェイスとは、複数の符号化方式について共用される。
【００１３】
この構成において、ストリーム入力部とインターフェイスとが、複数の符号化方式において共用されるため、符号化方式毎にストリーム入力部を設ける場合に比べ、回路規模を削減できる。
【００１４】
第２の発明に係る可変長復号装置では、第１の発明に加え、復号段は、複数の符号化方式のそれぞれにより符号化された可変長符号を復号できるように再構成可能な論理回路により構成される。
【００１５】
この構成により、復号段は、例えば単一の再構成可能な論理回路とすることもできる。したがって、一層、回路規模を削減できる。
【００１６】
第３の発明に係る可変長復号装置では、第１の発明に加え、復号段は、複数の符号化方式のそれぞれにより符号化された可変長符号を復号する複数の復号器から構成される。
【００１７】
この構成によれば、再構成に要するオーバーヘッドなしに、複数の専用復号器により複数の符号化方式に対応できる。
【００１８】
第４の発明に係る可変長復号装置では、第３の発明に加え、インターフェイスは、符号化方式を指示する方式信号にしたがって、複数の復号器のうちのいずれかの復号器を選択し、ストリーム入力部に接続する復号器セレクタを備える。
【００１９】
第５の発明に係る可変長復号装置では、第４の発明に加え、複数の復号器のうち、復号器セレクタにより選択されない復号器の消費電力を抑制する。
【００２０】
これらの構成により、選択されない復号器による消費電力を抑制して、携帯端末などに実装しやすくすることができる。
【００２１】
第６の発明に係る可変長復号装置では、第１の発明に加え、ストリーム入力部は、ストリームの開始コードを検出するコード検出器を備える。
【００２２】
この構成により、可変長復号装置の前段において、開始コードが取り除かれていなくても、支障なく可変長符号を復号できる。また、開始コードを検出するコード検出器も複数の符号化方式において共用できるから、回路規模の増加を一層抑制できる。
【００２３】
第７の発明に係る可変長復号装置では、第１の発明に加え、ストリーム入力部は、ストリームの一部を構成するレジスタデータを保持するシフトレジスタと、レジスタデータから一定ビット幅のストリームデータをインターフェイスへ転送するデータセレクタと、ストリームデータの位置を定めるストリームポインタを制御するポインタ制御部とを備え、インターフェイスは、ストリームデータを保持し復号段へ転送するストリームデータバスと、復号を中断すべきか否かを示すストリーム有効信号を保持し復号段へ転送するストリーム有効信号線と、復号を開始すべきか否かを示す復号開始信号を保持し復号段へ転送する復号開始信号線とを備える。
【００２４】
この構成により、シフトレジスタのレジスタデータが一定ビット幅のストリームデータに分けられ、復号段へ転送される。ストリームポインタを制御し、ストリームデータを順次復号段へ供給でき、効率よく可変長符号を復号できる。また、ストリーム有効信号により復号段へ復号を中断すべきか否かを指示できるし、復号開始信号により復号段へ復号を開始すべきことを指示できる。
【００２５】
第８の発明に係る可変長復号装置では、第７の発明に加え、復号段は、復号が完了すると符号長をストリーム入力部へ通知し、ポインタ制御部は、通知された符号長に基づいてストリームポインタが定めるストリームデータの位置を移動する。
【００２６】
この構成により、復号を完成するまで不明な符号長を復号段からストリーム入力部へ通知することにより、ストリームポインタが定めるストリームデータの位置を常に適切に制御できる。即ち、ストリーム入力部と復号段において、ハンドシェイクプロトコルを確立することができ、復号段によるレイテンシの差を容易に吸収できる。
【発明の効果】
【００２７】
本発明の可変長符号復号装置によれば、複数の符号化方式への対応が求められる可変長符号復号装置において、復号段がストリーム入力部を共有するので、面積の増加を抑えることができる。また、復号段とストリーム入力部の間を符号化方式において共通のインタフェースで接続するので、復号段の接続が容易であり、さらに、符号化方式の他の組み合わせへにも容易に対応できる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【００２９】
（実施の形態１）
第１図は、本発明の実施の形態１における可変長復号装置のブロック図である。
【００３０】
本形態の可変長復号装置は、次に述べるように、複数の符号化方式により符号化された可変長符号を復号する復号段１００と、可変長符号を入力するストリーム入力部１０と、復号段１００とストリーム入力部１０とを仲介するインターフェイス３０とを備え、ストリーム入力部１０とインターフェイス３０とは、複数の符号化方式について共用される。
【００３１】
第１図に示すように、本形態の可変長復号装置１は、ストリーム入力端子２と方式信号入力端子３と復号データ出力端子４とを備える。
【００３２】
ストリーム入力端子２は、可変長符号化されたビットストリームを入力する。可変長復号装置１は、複数の符号化方式により符号化されたビットストリームを復号できるが、現在復号すべきビットストリームに関する符号化方式は、方式信号入力端子３に入力される方式信号により特定される。
【００３３】
ストリーム入力端子２から入力されるビットストリームは、ストリーム入力部１０のシフトレジスタ１１に一定量（本例では、９６ビット）ずつ転送される。
【００３４】
方式信号入力端子３から入力される方式信号は、第１、第２の復号器セレクタ３４、６０及び第１、第２のマスク素子３５、３６の一方の入力端子に入力される。
【００３５】
復号データ出力端子４は、可変長復号装置１の出力データである復号データを外部（本例は、ＭＰＥＧ規格の可変長復号装置であるから、通常、逆量子化器（図示せず））へ出力する。
【００３６】
可変長復号装置１の内部要素は、ストリーム入力部１０と、第１の復号器４０及び第２の復号器５０とを有する復号段１００と、ストリーム入力部１０と復号段１００との間に介装されるインターフェイス３０と、第２の復号器セレクタ６０とに分けることができる。
【００３７】
本例のストリーム入力部１０は、第２図に示しているように、次の要素を備える。
【００３８】
シフトレジスタ１１は、上述したように、ビットストリームの部分データを最大９６ビット保存する。本形態では、シフトレジスタ１１に保存されるデータをレジスタデータｓｔｒｍ＿ｒｅｇという。
【００３９】
制御部１２は、可変長復号装置１の復号プロセスを制御する。制御部１２は、ポインタ制御部１３を含み、ポインタ制御部１３は、データセレクタ１４にストリームポインタｓｔｒｍ＿ｐｔｒを指示する。
【００４０】
データセレクタ１４は、ポインタ制御部１３からストリームポインタｓｔｒｍ＿ｐｔｒを入力すると、ストリームポインタｓｔｒｍ＿ｐｔｒにより指された末端位置から一定量（本例では、３２ビット）のストリームデータｓｔｒｍ＿ｄａｔａを取り出してストリームデータバス３１へ転送する。ストリームポインタｓｔｒｍ＿ｐｔｒが指示するストリームデータｓｔｒｍ＿ｄａｔａの末端位置は、理論的には、９５ビット〜０ビットの範囲で変更され得る。
【００４１】
しかしながら、本例では後述するように、この末端位置がデータセレクタ１４が出力するストリームデータｓｔｒｍ＿ｄａｔａのデータ幅である、３２ビット未満にならないようにポインタ制御部１３はストリームポインタｓｔｒｍ＿ｐｔｒを制御する。
【００４２】
これは、末端位置が３２ビット未満になると、ストリームデータバス３１へ転送されるストリームデータｓｔｒｍ＿ｄａｔａの少なくとも一部に、意味のないデータが含まれ、不測の事態が発生するおそれがあるためである。因みに、末端位置が３２ビット未満になったときには、ビットストリームの新たな部分データをシフトレジスタ１１に補充的に転送させることとしている。
【００４３】
ストリームポインタｓｔｒｍ＿ｐｔｒが指す末端位置が、最大値である９５ビットから０ビット方向へ戻るにつれて、ストリームデータバス３１に転送されるストリームデータｓｔｒｍ＿ｄａｔａの内容が変化する。なお以下説明を簡単にするために、ストリームポインタｓｔｒｍ＿ｐｔｒは最大値９５ビットから基本的に一定の差分値（本例では、８ビット）ずつ０ビット方向に向けて減ってゆくものとする。しかしながら、これは説明の便宜のためであり、この差分値は、後述する符号長信号ｓｔｒｍ＿ｌｅｎが示す符号長の値に他ならず、実際には、復号が完成した際の符号長信号ｓｔｒｍ＿ｌｅｎが示す符号長の値（可変値）と共に変化する。本発明は、このように、差分値が変化する場合にも同様に適用できる。
【００４４】
制御部１２は、インターフェイス３０のストリーム有効信号線３２にビットストリーム有効指示信号ｓｔｒｍ＿ｅｎを出力し、インターフェイス３０の復号開始信号線３３に復号開始指示信号ｄｅｃ＿ｓｔａｒｔを出力する。
【００４５】
ビットストリーム有効指示信号ｓｔｒｍ＿ｅｎは、復号を中断すべきか否かを示し、復号開始指示信号ｄｅｃ＿ｓｔａｒｔは、復号を開始して良いか否かを示す。
【００４６】
制御部１２は、第１の復号セレクタ３４から符号長信号ｓｔｒｍ＿ｌｅｎ、復号完了通知信号ｄｅｃ＿ｅｎｄ及び供給停止信号ｓｔｒｍ＿ｓｔｏｐを入力する。符号長信号ｓｔｒｍ＿ｌｅｎについて３は、上述の通りである。
【００４７】
復号完了通知信号ｄｅｃ＿ｅｎｄは、ストリームデータｓｔｒｍ＿ｄａｔａに関する処理が終了し、今回の可変長符号化データの復号が完了して、符号長信号ｓｔｒｍ＿ｌｅｎを特定できる状態になったとき、復号を担当する復号器がその状態になったことを制御部１２に通知する信号である。
【００４８】
供給停止信号ｓｔｒｍ＿ｓｔｏｐは、ストリームデータｓｔｒｍ＿ｄａｔａに関する処理が完了する都度、復号を担当する復号器が制御部１２に処理の完了を通知する信号である。
【００４９】
但し、供給停止信号ｓｔｒｍ＿ｓｔｏｐは、今回の可変長符号化データの復号が未完了である場合であっても制御部１２に通知される点が復号完了通知信号ｄｅｃ＿ｅｎｄとは異なる。
【００５０】
さらに本例のストリーム入力部１０は、次の要素を備える。但し、これらの要素は、ビットストリームの特定コード（本例では、"０ｘ０００００１"という開始コード）を操作する必要がない場合（例えば、ストリーム入力端子２の前段に設けられる図示されない要素によって開始コードが予め取り除かれている場合等）には、必要に応じて省略できる。
【００５１】
コードレジスタ１５は、開始コードを保持し、コード検出器１６の一方の入力端子へ開始コードを入力する。コード検出器１６は、シフトレジスタ１１の先頭２４ビットの値を他方の入力端子から入力し、この値をコードレジスタ１５から入力される開始コードと比較する。コード検出器１６は、両者が一致するとき、開始コードを発見した旨を通知する検出信号を制御部１２へ出力する。
【００５２】
制御部１２は、この検出信号を入力すると、ポインタ制御部１３が出力するストリームポインタｓｔｒｍ＿ｐｔｒを２４ビットだけ０ビット方向へ戻し、その結果、ビットストリームの開始コードの次のビットから３２ビット分のデータがストリームデータｓｔｒｍ＿ｄａｔａとしてストリームデータバス３１へ転送され、復号プロセスが開始する。なお以下説明を簡単にするために、開始コードが発見されると、開始コード分（本例では、２４ビット）だけシフトレジスタ１１にビットストリームの一部のデータが補充され、ストリームポインタｓｔｒｍ＿ｐｔｒは最大値である９５ビットからスタートするものとする。
【００５３】
なお、コードレジスタ１５が保持する特定コードを制御部１２が外部から入力する設定信号により変更できるようにしても良いし、特定コードを可変長符号化データの実体の一部として誤って復号してしまったような場合、ポインタ制御部１３がストリームポインタｓｔｒｍ＿ｐｔｒを適宜操作して、本来の正しい復号プロセスが実行されるように修正することもできる。
【００５４】
第１図に示すように、インターフェイス３０は、ストリームデータバス３１、ストリーム有効信号線３２、復号開始信号線３３の他に、次の要素を備える。第１の復号セレクタ３４は、
第１の復号器４０からの供給停止信号ｓｔｒｍ＿ｓｔｏｐ、復号完了通知信号ｄｅｃ＿ｅｎｄ、符号長信号ｓｔｒｍ＿ｌｅｎと、
第２の復号器５０からの供給停止信号ｓｔｒｍ＿ｓｔｏｐ、復号完了通知信号ｄｅｃ＿ｅｎｄ、符号長信号ｓｔｒｍ＿ｌｅｎと、供給停止信号ｓｔｒｍ＿ｓｔｏｐと
を、方式信号にしたがって択一的に選択し、制御部１２へ転送する。また、第１のマスク素子３５と第２のマスク素子３６は、復号開始指示信号ｄｅｃ＿ｓｔａｒｔと方式信号との論理積を求める。第１のマスク素子３５と第２のマスク素子３６は、第１の復号器４０又は第２の復号器５０の一方を、方式信号にしたがって択一的に選択し、選択された復号器にストリームデータバス３１から転送されるストリームデータｓｔｒｍ＿ｄａｔａを復号させる。第１のマスク素子３５と第２のマスク素子３６とは、論理的に反転している。
【００５５】
第１の復号器４０と第２の復号器５０とは、実施の形態１における復号段１００を構成し、互いに異なる符号化方式に対応する専用の復号器である。本例では、第１の復号器４０は、第１のテーブル４１を備え、ＭＰＥＧ−４  Ｓｉｍｐｌｅ  Ｐｒｏｆｉｌｅ方式による可変長符号化データを復号し、第２の復号器セレクタ６０の一方の端子へ復号データを出力する。なおＩ／Ｏ部４２は、インターフェイス３０との間で信号を入出力する。
【００５６】
第２の復号器５０は、第２のテーブル５１を備え、ＭＰＥＧ−４  ＡＶＣ方式による可変長符号化データを復号し、第２の復号器セレクタ６０の他方の端子へ復号データを出力する。なおＩ／Ｏ部５２は、インターフェイス３０との間で信号を入出力する。
【００５７】
第２の復号器セレクタ６０は、方式信号にしたがい、第１の復号器４０又は第２の復号器５０の一方から出力される復号データを、復号データ出力端子４を介して可変長復号装置１の外部へ出力する。
【００５８】
ここで、方式信号により選択されない復号器については、クロックを停止させる、あるいは給電しない等、事実上停止させることが望ましい。消費電力を節約できるからである。また、復号器は、第１図に示すように、２種類に限られず、３種以上の可変長符号化方式に対応するようにしても良い。
【００５９】
次に、第３図を参照しながら、可変長復号装置１の動作を説明する。なお、方式信号が、第１の復号器４０と第２の復号器５０とのいずれの復号器を選択しても、選択動作を除き、可変長復号装置１の動作は同様である。
【００６０】
「データセレクタ１４がストリームデータｓｔｒｍ＿ｄａｔａを１回だけストリームデータバス３１に転送すると、１単位の復号が完了する場合」
ここでは、第３図（ａ）に示されるレジスタデータｓｔｒｍ＿ｒｅｇがシフトレジスタ１１に転送されるものとする。第２図に基づいて上述したように、コード検出器１６がコードレジスタ１５との比較を行い、先頭の開始コード"０ｘ０００００１"を検出し、シフトレジスタ１１に２４ビット分のデータが補充される。
【００６１】
ポインタ制御部１３は、ストリームポインタｓｔｒｍ＿ｐｔｒをシフトレジスタ１１の最大値である９５ビットにセットし、データセレクタ１４が、ストリームポインタｓｔｒｍ＿ｐｔｒにより指示される末端位置から３２ビット分のストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ１）をストリームデータバス３１へ転送する。
【００６２】
第３図（ｄ）に示すように、制御部１２は、現在のストリームポインタｓｔｒｍ＿ｐｔｒが３２ビット以上を指しているから、ビットストリーム有効指示信号ｓｔｒｍ＿ｅｎを"ｅｎａｂｌｅ"とし、第３図（ｅ）に示すように、制御部１２は、時刻ｔ１〜ｔ２において、復号開始指示信号ｄｅｃ＿ｓｔａｒｔを"ｓｔａｒｔ"とする。
【００６３】
なお、このとき、第１の復号器４０は、何も復号していないから、第１の復号器４０は、第３図（ｇ）に示すように、符号長信号ｓｔｒｍ＿ｌｅｎが示す符号長の値を"０"とし、第３図（ｆ）に示すように、供給停止信号ｓｔｒｍ＿ｓｔｏｐを"ｎｏｔ  ｓｔｏｐ"とする。さらに、第３図（ｈ）に示すように、復号完了通知信号ｄｅｃ＿ｅｎｄは、"ｎｏｔ  ｅｎｄ"の状態にある。
【００６４】
第１の復号器４０は、時刻ｔ１からストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ１）の復号を開始し、第１の復号器４０は、時刻ｔ３にてストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ１）のみにより１単位の復号を完了するものとする。すると、この一単位の符号長が初めて判明する（この符号長は、ストリームデータｓｔｒｍ＿ｄａｔａにより変化するものであるが、上述したように説明を簡単にするために、本例では符号長は常に８ビットであるものとする。）。
【００６５】
したがって、第１の復号器４０は、時刻ｔ３〜ｔ４において、供給停止信号ｓｔｒｍ＿ｓｔｏｐを"ｓｔｏｐ"とし、復号完了通知信号ｄｅｃ＿ｅｎｄを"ｅｎｄ"とし、符号長信号ｓｔｒｍ＿ｌｅｎが示す符号長の値を"８"とする。これらの信号は、第１の復号セレクタ３４を介して制御部１２へ通知される。
【００６６】
また、第１の復号器４０は、時刻ｔ４において、供給停止信号ｓｔｒｍ＿ｓｔｏｐを"ｎｏｔ  ｓｔｏｐ"に戻し、符号長信号ｓｔｒｍ＿ｌｅｎが示す符号長の値を"０"に、復号完了通知信号ｄｅｃ＿ｅｎｄを"ｎｏｔ  ｅｎｄ"に、それぞれ戻す。
【００６７】
時刻ｔ３において、これらの信号を受信する制御部１２は、ポインタ制御部１３を用いて受信した符号長信号ｓｔｒｍ＿ｌｅｎ（本例では、８ビット）だけストリームポインタｓｔｒｍ＿ｐｔｒを０ビット方向へ戻す。その結果、ストリームポインタｓｔｒｍ＿ｐｔｒは、（９５−８＝）８７ビットを指すことになる。次に、ｄａｔａ２について、上述と同様の処理が実施される。
【００６８】
「データセレクタ１４がストリームデータｓｔｒｍ＿ｄａｔａを１回、ストリームデータバス３１に転送しても、１単位の復号が完了しない場合」
第４図を参照しながら、データセレクタ１４がストリームデータｓｔｒｍ＿ｄａｔａを１回だけストリームデータバス３１に転送しても、１単位の復号が完了せず、データセレクタ１４が複数回（本例では、２回）ストリームデータｓｔｒｍ＿ｄａｔａを転送する場合について説明する。
【００６９】
第４図において、時刻ｔ１１、ｔ１２までは、第３図と同様である。
【００７０】
但し、時刻ｔ１３において、第１の復号器４０がストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ１）の処理を完了しても、１単位の復号が完了しない場合、供給停止信号ｓｔｒｍ＿ｓｔｏｐ、符号長信号ｓｔｒｍ＿ｌｅｎは第３図と同様である。しかし、第４図（ｈ）に示すように、第１の復号器４０は、復号完了通知信号ｄｅｃ＿ｅｎｄを"ｎｏｔ  ｅｎｄ"のままとする。
【００７１】
これにより、時刻ｔ１３以降に、次のストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ２）が第１の復号器４０に転送され、第１の復号器４０は、ストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ２）の処理を引き続いて実行する。その結果、１単位の復号が完了し、符号長を特定できる状態になると、第１の復号器４０は、時刻ｔ１５〜ｔ１６において、第３図の時刻ｔ４〜ｔ５と同様の処理を行う。
【００７２】
なお本例では、時刻ｔ１３〜ｔ１４、ｔ１５〜ｔ１６において、符号長信号ｓｔｒｍ＿ｌｅｎが８ビットを示すが、これは誤りではない。理由は次の通りである。即ち、ストリームポインタｓｔｒｍ＿ｐｔｒは、時刻ｔ１３において、ストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ１）により暫定的に判明した符号長ｌｅｎ１（本例では、８ビット）分だけ０ビット方向へ移動し、さらに時刻ｔ１５において、ストリームデータｓｔｒｍ＿ｄａｔａ（ｄａｔａ２）により判明した符号長ｌｅｎ２（本例では、８ビット）だけ移動する。結局、時刻ｔ１５において、ストリームポインタｓｔｒｍ＿ｐｔｒは、ｄａｔａ１の復号が開始される時の位置から、符号長の和（本例では、ｌｅｎ１＋ｌｅｎ２＝１６ビット）だけ移動した位置を正しく指すからである。
【００７３】
次に、第５図を参照しながら、ストリームポインタｓｔｒｍ＿ｐｔｒがストリームデータｓｔｒｍ＿ｄａｔａのビット幅（本例では、３２ビット）未満となり、ビットストリームの後続する部分のデータがシフトレジスタ１１に補充される場合における、可変長復号装置１の動作を説明する。
【００７４】
既に、第３図、第４図を参照して説明したように、復号が進むと、ストリームポインタｓｔｒｍ＿ｐｔｒは０ビット方向へ戻り、ついには、ストリームデータｓｔｒｍ＿ｄａｔａのビット幅未満となる。
【００７５】
第５図の例では、時刻ｔ３１〜ｔ３３までは、ストリームポインタｓｔｒｍ＿ｐｔｒは３５ビットを指しており、ストリームデータｓｔｒｍ＿ｄａｔａのデータ幅以上である。
【００７６】
時刻ｔ３３において、第１の復号器４０が符号長信号ｓｔｒｍ＿ｌｅｎ（８ビット）を出力すると、ストリームポインタｓｔｒｍ＿ｐｔｒは、（３５−８＝２７）＜３２を指すことになる。
【００７７】
このとき、第５図（ｂ）に示すように、制御部１２は、時刻ｔ３４において、ストリームデータｓｔｒｍ＿ｄａｔａに不測のデータが含まれる事態を避けるため、ビットストリーム有効指示信号ｓｔｒｍ＿ｅｎを"ｄｉｓｅｎａｂｌｅ"にする。
【００７８】
その結果、時刻ｔ３２以降において、第１の復号器４０が復号処理を行っている場合、第１の復号器４０は、時刻ｔ３４から復号処理を中断する。
【００７９】
第５図の例では、時刻ｔ３４以降、シフトレジスタ１１にビットストリームから３２ビットのデータが補充され、時刻ｔ３５において、制御部１２は、ビットストリーム有効指示信号ｓｔｒｍ＿ｅｎを"ｅｎａｂｌｅ"に戻す。その結果、時刻ｔ３５において、復号処理の中断が解消され、第１の復号器４０は、時刻ｔ３６にて、１単位の復号処理を完了する。以後は、上述の動作と同様である。
【００８０】
本形態によれば、ストリーム入力部１０及びインターフェイス３０を複数の符号化方式において共用しているから、面積の増加が抑えられる。また、符号長を復号段１００から制御部１２へ送信しているから、異なる符号化方式の復号器も容易に接続できる。
【００８１】
本実施の形態において、符号化方式を「ＭＰＥＧ−４Ｓｉｍｐｌｅ  Ｐｒｏｆｉｌｅ」か「ＭＰＥＧ−４ＡＶＣ」の２種類としているが、他の符号化方式の可変長符号復号部を設け、インタフェース３０に接続すれば他の符号化方式にも対応できる。
【００８２】
なお、以上述べた、９６ビット、３２ビット、８ビットなどの数値は、例示に過ぎないのであって、種々変更できることはいうまでもない。また、ストリームポインタｓｔｒｍ＿ｐｔｒは、ストリームデータｓｔｒｍ＿ｄａｔａを昇順で制御するが、降順で制御しても良い。
【００８３】
（実施の形態２）
以下、実施の形態１との相違点のみを説明する。実施の形態１では、複数の符号化方式毎に、専用の復号器４０、５０を設けている。
【００８４】
実施の形態２では、これにかえて、Ｉ／Ｏ部８１を有する再構成可能復号器８０を設けて、復号段２００を構成する。
【００８５】
再構成可能復号器８０の全てを再構成可能な論理回路で構成することもできるが、例えば、復号パラメータを保持するテーブルのみを再構成可能な論理回路とすることもできる。いずれにしても、再構成可能復号器８０により複数の符号化方式に対応する復号処理を実現できれば十分である。
【００８６】
第６図を、第１図と比べれば明らかなように、インターフェイス７０は、ストリームデータバス７１、ストリーム有効信号線７２、復号開始信号線７３を備えればよく、第１の復号セレクタ３４、第１のマスク素子３５、第２のマスク素子３６等は、省略できる。また、再構成可能復号器８０と復号データ出力端子４との間に、第２の復号器セレクタ６０を設ける必要はない。
【００８７】
よって、実施の形態２では、実施の形態１よりもさらに回路規模を削減できる。勿論、第１図において、第１の復号器４０のかわりに再構成可能復号器８０を設け、第２の復号器５０を除いた構成とすることもできる。
【産業上の利用可能性】
【００８８】
本発明に係る可変長符号復号装置は、例えば、動画像処理を行うシステムＬＳＩであって複数の符号化方式に対応が必要なもの等あるいはその応用技術分野に好適に利用できる。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施の形態１における可変長符号復号装置のブロック図である。
【図２】本発明の実施の形態１におけるストリーム入力部のブロック図である。
【図３】本発明の実施の形態１における可変長符号復号装置のタイミングチャートである。
【図４】本発明の実施の形態１における可変長符号復号装置のタイミングチャートである。
【図５】本発明の実施の形態１における可変長符号復号装置のタイミングチャートである。
【図６】本発明の実施の形態２における可変長符号復号装置のブロック図である。
【図７】従来の可変長復号器のブロック図である。
【図１】
0004516068.tif 000002
【図２】
0004516068.tif 000003
【図３】
0004516068.tif 000004
【図４】
0004516068.tif 000005
【図５】
0004516068.tif 000006
【図６】
0004516068.tif 000007
【図７】
0004516068.tif 000008