(57)【特許請求の範囲】
【請求項１】
画像情報をブロック単位で離散的コサイン変換して得られると共に当該離散的コサイン変換規則に従って前記ブロックの各割り当て位置に割り当てられる係数情報を可変長符号化してなる可変長符号化情報が入力され、この可変長符号化情報をプロセッサからの起動によりプロセッサとの協働で復号すると共に、各ブロック毎に復号すべき情報の終わりを示す終了情報を検出して終了信号を出力することにより前記プロセッサに割り込みをかける可変長復号手段と、
ブロック単位で前記係数情報を記憶する記憶手段と、
前記可変長復号手段で復号された係数情報を前記記憶手段の各割り当て位置に前記離散的コサイン変換に基づく順序で書き込む書込手段と、
前記記憶手段に書き込まれた各係数情報を書き込み時とは異なる順序で読み出す読出手段と、
前記可変長復号手段と前記書込手段との間に設けられ、前記記憶手段への係数情報の書き込みとこの書き込み中の係数情報のブロックとは異なるブロックの係数情報の可変長復号処理とを並列的に実行可能にするためのバッファと、
前記可変長復号手段から出力される各ブロック毎の終了信号に基づいて当該ブロックについて前記係数情報の前記記憶手段への書き込み順序と前記記憶手段における前記終了信号が書き込まれた位置とから決定される、前記記憶手段からの読み出し順序において前記記憶手段から読み出されるデータに以後係数情報が存在しない最終のアドレスを示す最終アドレスを生成すると共に、前記読出手段がこの最終アドレスを読み出した後に前記読出手段により読み出す係数情報を“０”のデータに固定して前記記憶手段を次のブロックの係数情報が書き込み可能な状態にする最終アドレス発生手段と
を備えたことを特徴とする可変長復号装置。
【請求項２】
前記可変長復号手段は、１つのマクロブロックを構成する一連のブロックの係数情報を連続的に復号するものであり、
前記バッファは、前記可変長復号手段から連続的に供給される復号結果を、少なくとも前記一連のブロックの係数情報分だけ格納可能なＦＩＦＯ（先入れ先出し）バッファである
ことを特徴とする請求項１記載の可変長復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、直交変換及び可変長符号化された画像情報を可変長復号するための可変長復号装置に関する。
【０００２】
【従来の技術】
ディジタル通信ネットワークや情報記憶媒体の進歩に伴って、Ｈ．２６１，Ｈ．２６３，ＭＰＥＧ１，ＭＰＥＧ２等の種々のディジタル画像圧縮方式が提案され、標準化されている。
これらの方式における符号化されたビットストリームは、複数の階層から構成されるが、このうち、マクロブロック（ＭＢ）層のＭＢは、最大、輝度信号（Ｙ）を構成する４個のブロック（ＢＫ）と色差信号（Ｃｂ，Ｃｒ）の２個のブロック（ＢＫ）とからなる。各ブロックは８×８画素からなり、これが離散的コサイン変換（ＤＣＴ）の単位となる。
【０００３】
ビットストリームは可変長符号化されているので、画像デコーダの前段の可変長復号回路では、入力されたビットストリームをレート調整用のバッファを介した後、可変長復号し、可変長復号された各ブロックのＤＣＴ係数情報を、ＤＣＴのジグザグスキャン方式に基づいて、１ブロックに対応する８×８の並び替え用のメモリに書き込んでいく処理が実行される。
図１１は、このような可変長復号処理のタイミングチャートである。可変長復号器（ＶＬＤ）で復号された各ブロックＢ０，Ｂ１，Ｂ２，…のレベル情報は、同じく復号されたラン情報に基づいてメモリにジクザクに書き込まれ、書き込み終了後にメモリから所定の走査方向で順番に読み出されて逆量子化及び逆ＤＣＴ処理に供される。
【０００４】
この可変長復号処理に関してリアルタイムデコードを実現するための種々の方式が開発されている。その１つに可変長復号処理を専用のＶＬＤ回路とプロセッサ（ＣＰＵ）との共同作業によって実行していく方式が知られている。この方式では、ビットストリーム中のＤＣＴ係数部分のように固定長符号や可変長符号が連続する部分で、ＣＰＵはＶＬＤに復号命令を発行し、ＶＬＤは可変長符号を連続的に復号し、１ブロックの終了コードが検出されると、ＣＰＵに割込をかける。この間、ＣＰＵは、ＩピクチャのＭＢの場合には、ＤＣＴ係数のＤＣ（直流）部分の演算を行ったり、動き補償されているＩピクチャ以外のＭＢの場合には、ヘッダー部分で既に解読されているパラメータを用いて動きベクトルの再構成演算を行ったりする。
【０００５】
【発明が解決しようとする課題】
しかし、上述した従来の可変長復号装置では、図１１に示すように、１つのブロックの復号処理がＤＣＴの係数情報の復号及びメモリへの書き込み（Ｔ１）並びにメモリからの読み出し（Ｔ２）からなり、メモリからの読み出しが終了しないと、次のブロックの復号及びメモリへの書き込み処理が実行できないため、１ブロックの復号に要する時間は、前述した２つの処理のトータル時間Ｔ（＝Ｔ１＋Ｔ２）だけかかってしまう。このため、ＣＰＵとＶＬＤとを並列に動作させて高速化を図っても、メモリからの読み出しの時間が存在するために、結局、１つのブロックの復号処理の間にＣＰＵの待ち時間が発生し、スループットが低下する。また、ＣＰＵがこの間、別の処理を実行することも考えられるが、この場合には、ＣＰＵに頻繁に割込をかけたり、ＤＣＴ係数部分に続く情報の先読みのためのシーケンスが必要になる等、処理が複雑になる。
【０００６】
この発明は、このような問題点に鑑みなされたもので、プロセッサとの協働により可変長復号処理を行う際のプロセッサの空き時間の発生を防止して復号処理全体の速度を向上させることができる可変長復号装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明は、画像情報をブロック単位で離散的コサイン変換して得られると共に当該離散的コサイン変換規則に従って前記ブロックの各割り当て位置に割り当てられる係数情報を可変長符号化してなる可変長符号化情報が入力され、この可変長符号化情報をプロセッサからの起動によりプロセッサとの協働で復号すると共に、各ブロック毎に復号すべき情報の終わりを示す終了情報を検出して終了信号を出力することにより前記プロセッサに割り込みをかける可変長復号手段と、  ブロック単位で前記係数情報を記憶する記憶手段と、前記可変長復号手段で復号された係数情報を前記記憶手段の各割り当て位置に前記離散的コサイン変換に基づく順序で書き込む書込手段と、前記記憶手段に書き込まれた各係数情報を書き込み時とは異なる順序で読み出す読出手段と、前記可変長復号手段と前記書込手段との間に設けられ、前記記憶手段への係数情報の書き込みとこの書き込み中の係数情報のブロックとは異なるブロックの係数情報の可変長復号処理とを並列的に実行可能にするためのバッファと、前記可変長復号手段から出力される各ブロック毎の終了信号に基づいて当該ブロックについて前記係数情報の前記記憶手段への書き込み順序と前記記憶手段における前記終了信号が書き込まれた位置とから決定される、前記記憶手段からの読み出し順序において前記記憶手段から読み出されるデータに以後係数情報が存在しない最終のアドレスを示す最終アドレスを生成すると共に、前記読出手段がこの最終アドレスを読み出した後に前記読出手段により読み出す係数情報を“０”のデータに固定して前記記憶手段を次のブロックの係数情報が書き込み可能な状態にする最終アドレス発生手段とを備えたことを特徴とする。
【０００９】
この発明によれば、可変長復号手段と、この可変長復号手段の復号結果を記憶手段に書き込む書込手段との間にバッファを設けているので、可変長復号手段は、復号処理が終了すれば記憶手段からの読み出し終了を待つことなく、直ちに次のブロックの復号処理を開始することができる。このため、可変長復号手段と協働するプロセッサの待ち時間が発生することもなくなり、プロセッサが直交変換係数情報の可変長復号処理に関与している時間が短縮される。これにより、記憶手段に対する書き込み及び読み出し処理を除いた可変長復号処理を連続的に実行することができるので、プロセッサは、集中的に復号処理に関与したのち、他の連続的に空いた時間を別の処理に当てることができる。
【００１０】
【発明の実施の形態】
以下、図面を参照して、この発明の好ましい実施の形態について説明する。
図１は、この発明の一実施例に係るＭＰＥＧデコーダの概略構成を示す図である。
符号化信号（ビットストリーム）は、ＦＩＦＯ（First In First Out）メモリからなるバッファ１でレート調整されたのち、可変長復号回路２に入力される。可変長復号回路２は、ＣＰＵ３との協働により、ＦＩＦＯバッファ１から出力される符号化信号を可変長復号してＤＣＴの係数情報である各周波数項のレベルを示すランをブロック単位で復号する。この復号出力は、逆量子化回路４で量子化特性と量子化マトリクスによって決定される値で逆量子化されたのち、逆ＤＣＴ回路５で逆離散的コサイン変換される。逆コサイン変換された復号画像は、動き補償・フレーム予測回路６に供給される。動き補償・フレーム予測回路６では、Ｉピクチャの場合は復号画像をそのまま復号信号として出力し、Ｐ，Ｂのピクチャの場合は、そのタイプに応じて適宜フレームメモリ７，８に格納された画像情報を動きベクトルＭＶに基づいて動き補償して予測画像を生成し、この予測画像と復号画像とを加算処理して復号信号として出力する。
【００１１】
図２は、このＭＰＥＧデコーダの可変長復号回路２の詳細を示すブロック図である。
符号化信号は、まずレジスタ１１に入力される。レジスタ１１に格納された符号化信号は、ＶＬＣ復号部１２とＣＰＵ３とに供給される。ＣＰＵ３とＶＬＣ復号部１２とは、協働して可変長復号処理を実行する。ＶＬＣ復号部１２で復号されたＤＣＴの係数情報である各周波数項のレベルとランとはＦＩＦＯバッファ１３に入力されている。ＦＩＦＯバッファ１３は、その後の処理とは独立して可変長復号処理の連続的な実行を補償するためのものである。ＦＩＦＯバッファ１３の出力は、ラン・レベル復号部１４に供給されている。ラン・レベル復号部１４は、並び替え用のメモリ１５への書込手段であり、ランに基づいてメモリ１５への書き込みアドレスを生成し、メモリ１５にレベルを書き込む。メモリ１５に書き込まれたレベルは、読出回路１６によって読み出される。
【００１２】
次に、この可変長復号回路２の復号処理について説明する。
ＶＬＣ復号部１２は、レジスタ１１から供給される符号化信号からスタートコードを検出すると、ＣＰＵ３にその旨を出力する。以後、ＶＬＣ復号部１２とＣＰＵ１３との協働によりシンタクス部分の解読等が実行される。画像情報のブロック部分が到来すると、ＣＰＵ３は、ＶＬＣ復号部１２に連続復号のための起動をかけ、ＶＬＣ復号部１２は、各ブロックの係数情報を連続的に復号する。
【００１３】
図３はこの処理の一例である。…００１０１００１０００…と続くビットストリームが入力されると、ＶＬＣ復号部１２は、このビットストリームを、“０１０１０１０”，“０１０００”，“０１１０”，“００１０１０”，…のように、予め定められた可変長符号（ＶＬＣ）に分割し、各ＶＬＣからランとレベルからなる係数情報の復号データ及びエンド・オブ・ブロック（ＥＯＢ）コードを出力する。レベル“０”の周波数項は符号化されないので、ランは直前の周波数項から次のレベル“０”でない周波数項との間に挿入されるレベル“０”の周波数項の数を示している。
【００１４】
メモリ１５には、図示のように１ブロックに相当する８×８画素分の記憶領域が確保され、最初に全領域が“０”にクリアされる。そして、ＩピクチャのＭＢの場合には、先ず、ＣＰＵ３により、アドレス０にＤＣ成分（この例では６４）が書き込まれ、次に、可変長復号されたランに基づいて、ラン・レベル復号部１４が各周波数項のレベルをジクザクパターンに沿って順番にメモリ１５に書き込んでいく。また、Ｐ，ＢピクチャのＭＢの場合には、アドレス０からラン・レベル復号部１４が各周波数項のレベルを書き込んでいく。
【００１５】
メモリ１５への書き込みアドレスは、ラン・レベル復号部１４にて、次のように生成される。図４は、ラン・レベル復号部１４の構成例を示す図である。復号されたランは、加算器２１でＤ型フリップ・フロップ（Ｄ−ＦＦ）２２に格納された値と加算される。加算器２１の出力は、アドレス０にデータを書き込む場合を除き、更に加算器２３で“１”と加算される。加算器２３の出力ｘは、アドレス変換テーブル２４に与えられる。アドレス変換テーブル２４は、例えば図５に示すように、ｘの値（表中の数字）に応じたアドレスを出力する。図３の例では、まず最初にＤ−ＦＦ２２がリセットされ、最初のランが“０”、Ｄ−ＦＦ２２の出力が“０”であるから、加算器２３の出力ｘは“１”となる。従って、それに対応するアドレスをアドレス変換テーブル２４で参照するとアドレスは“１”となる。以後、同様の動作が繰り返され、例えばＩピクチャのＭＢの場合には下記表１のように、順次アドレスが生成され、対応するレベルがメモリ１５に書き込まれていく。なお、Ｐ，ＢピクチャのＭＢの場合には、最初の係数のみ１の加算を行わないので、括弧書きのようになる。
【００１６】
【表１】
0003861317.tif 000002
【００１７】
ＥＯＢが検出されたら、読出回路１６がメモリ１５から、アドレス０，１，２，３，…の順にレベルを読み出していく。このメモリ１５から読み出されたレベルが、逆量子化回路４に供給される。
【００１８】
図６に以上の復号処理のタイムチャートを示す。ＶＬＣ復号部１２から出力される可変長復号されたランとレベルは、順次、ＦＩＦＯバッファ１３に書き込まれるので、ＶＬＣ復号処理部１２では、メモリ１５への書き込み及びメモリ１５からの読み出しの完了を待たずに、ブロックＢ０，Ｂ１，Ｂ２，…と各ブロックの復号を連続的に実行することができる。従って、ＣＰＵ３が各ブロックの復号処理に関わる時間もＴ１に短縮される。
【００１９】
ＦＩＦＯバッファ１３は、ランに６ビット、レベルに１２ビットを割り当てるとすると、１８ビットを１ワードとするように構成すればよい。このＦＩＦＯバッファの容量としては、６４ワード×６あれば理想的であるが、実際上は統計的にみて効率よく処理できるように設定するのがよい。例えば、１つのＭＢはＩピクチャで６ブロック、Ｐ，Ｂピクチャではそれ以下であるから、最大ブロック数を６として区切りのよい６４ワード分の容量を設定してやれば、実用上はほとんどオーバーフローをすることなく、充分にＤＣＴ係数情報の連続復号処理が可能になる。
このようなＤＣＴ係数情報の連続処理が可能になると、ＤＣＴ係数の復号処理以外の時間を連続的に確保することができるので、ＣＰＵ３は、ビットストリームの他の部分の解析処理、即ちブロックの復号以外の処理を連続的に実行可能であり、処理が簡素化されると共に、余分な割込がかからない分だけ処理時間を短縮することができる。
【００２０】
図７は、この発明の他の実施例に係る可変長復号回路２の構成を示すブロック図である。
この実施例は、メモリ１５からの読み出しデータがそれ以降全て“０”であるときに切替器１７を切り換えて、固定的なデータ“０”を読出回路１６から読み出すようにして、メモリ１５を全てのデータの読み出しが終了する前に解放するようにしたものである。最終アドレス発生回路１８は、そのための切替器１７の切替タイミングを与えるものである。
【００２１】
最終アドレス発生回路１８は、例えば図８に示すように、最終アドレス発生テーブル３１と最終アドレス判定回路３２とから構成される。最終アドレス発生テーブル３１は、図９に示すように、書き込みアドレスに対して、表中の最終アドレスを発生する。この最終アドレス発生テーブル３１は、例えば書き込みアドレス“２”（そのときのランは“５”）にＥＯＢが存在する場合には、アドレス“１６”まではデータが存在し得ることを示している。なお、最終アドレス発生テーブル３１は、書き込みアドレスを入力とせずに、図４に示したｘの値を入力とするように構成することもできる。最終アドレス判定回路３２は、ＥＯＢの復号時にＶＬＣ復号部１２から出力されるＥＯＢ信号が入力されたときの最終アドレスを保持し、読み出しアドレスが最終アドレスに一致したときに、次の読み出しアドレスから切替器１７を固定値“０”側に切り換える。
【００２２】
図３の例では、ＥＯＢ信号が出力されるアドレスが“４”であるから、最終アドレス判定回路３２は、最終アドレス発生テーブル３１から出力される最終アドレス“３２”を保持し、読み出しアドレスが“３２”になったら、次の読み出しアドレス“３３”から切替器１７を切り換える。
【００２３】
この実施例によれば、図１０に示すように、メモリ１５からの読み出し動作が、全てのデータを読み出す前に終了するので、その分だけメモリ１５を解放するタイミング、即ち、次のデータをメモリ１５に書き込むタイミングが早まることになる。このため、ＦＩＦＯバッファ１３からのデータ読み出し間隔も速くなり、先の実施例よりもＦＩＦＯバッファ１３の容量を少なくできるという利点がある。
【００２４】
なお、以上の実施例では、ＭＰＥＧデコーダにこの発明を適用した例について述べたが、この発明は、Ｈ．２６１，Ｈ．２６３等、直交変換係数を可変長符号化した情報の可変長復号処理全般に適用可能であることはいうまでもない。
【００２５】
【発明の効果】
以上述べたように、この発明によれば、可変長復号手段と、この可変長復号手段の復号結果を記憶手段に書き込む書込手段との間にバッファを設けているので、可変長復号手段での連続的な復号処理が可能になり、可変長復号手段と協働するプロセッサの待ち時間の発生を防止することができ、プロセッサは、集中的に復号処理に関与したのち、他の連続的に空いた時間を別の処理に当てることができるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明が適用されるＭＰＥＧデコーダのブロック図である。
【図２】  同デコーダにおける可変長復号回路のブロック図である。
【図３】  同回路による復号処理を説明するための図である。
【図４】  同回路におけるラン・レベル復号部のブロック図である。
【図５】  同ラン・レベル復号部におけるアドレス変換テーブルの内容を示す図である。
【図６】  同回路による復号処理のタイミングチャートである。
【図７】  この発明の他の実施例に係る可変長復号回路のブロック図である。
【図８】  同回路における最終アドレス発生回路のブロック図である。
【図９】  同回路における最終アドレス発生テーブルの内容を示す図である。
【図１０】  同回路による復号処理のタイミングチャートである。
【図１１】  従来の復号処理のタイミングチャートである。
【符号の説明】
１，１３…ＦＩＦＯバッファ、２…可変長復号回路、３…ＣＰＵ、４…逆量子化回路、５…逆ＤＣＴ回路、６…動き補償・フレーム予測回路、７，８…フレームメモリ、１１…レジスタ、１２…ＶＬＣ復号部、１４…ラン・レベル復号部、１５…メモリ、１６…読出回路、１７…切替器、１８…最終アドレス発生回路。
【図１】
0003861317.tif 000003
【図２】
0003861317.tif 000004
【図３】
0003861317.tif 000005
【図４】
0003861317.tif 000006
【図５】
0003861317.tif 000007
【図６】
0003861317.tif 000008
【図１０】
0003861317.tif 000009
【図１１】
0003861317.tif 000010
【図７】
0003861317.tif 000011
【図８】
0003861317.tif 000012
【図９】
0003861317.tif 000013