(57)【特許請求の範囲】
【請求項１】
ＭＰＥＧビットストリームからレイヤの各パラメータ並びにピクチャを復号する画像復号化部と、
前記画像復号化部により復号されたピクチャおよび前記各レイヤのパラメータを相互に関連つけて１ピクチャ分ずつ格納する複数のバンクを備えたフレーム・メモリと、
前記画像復号化部による復号に対する制御をおこなう復号制御部と、
前記フレーム・メモリに格納された、表示対象のピクチャに関連づけされた各レイヤのパラメータに基づいて前記ピクチャの表示制御をおこなう表示制御部と、
前記表示制御部に垂直同期信号を供給する垂直同期信号発生器とを備え、
前記表示制御部は、垂直同期信号に同期して表示動作し、前記復号制御部は、垂直同期信号と非同期に復号動作することを特徴とするＭＰＥＧビデオ復号器。
【請求項２】
前記複数のバンクのピクチャ格納状態を表すステイタス・レジスタをさらに備え、
前記復号制御部は、１ピクチャごとに復号が完了すると前記ステイタス・レジスタを更新し、
前記表示制御部は、１ピクチャごとに表示が完了すると前記ステイタス・レジスタを更新することを特徴とする請求項１に記載のＭＰＥＧビデオ復号器。
【請求項３】
前記画像復号化部は、復号したピクチャをマクロブロック単位で一旦格納する内部バッファを備えていることを特徴とする請求項１または２に記載のＭＰＥＧビデオ復号器。
【請求項４】
直前に復号されたピクチャに関連づけられたレイヤの各パラメータを読み出す第１の工程と、
復号対象のピクチャに付随するパラメータを復号し、その復号されたパラメータを用いて、前記第１の工程で読み出された各レイヤのパラメータを更新する第２の工程と、
前記第２の工程で得られたパラメータをフレーム・メモリに記憶する第３の工程と、
復号対象のピクチャを復号する第４の工程と、
前記フレーム・メモリに、前記第４の工程で復号されたピクチャを、そのピクチャに対応する各レイヤのパラメータと関連づけて記憶する第５の工程と、
前記第５の工程によりフレーム・メモリに格納された、表示対象のピクチャに関連づけされた各レイヤのパラメータに基づき、垂直同期信号に同期して前記ピクチャの表示制御をおこなう第６の工程とを含み、
前記第４の工程では、垂直同期信号と非同期に復号対象のピクチャを復号することを特徴とするＭＰＥＧビデオ復号方法。
【請求項５】
最初のピクチャの復号をおこなう場合、前記第１の工程において復号対象のピクチャに付随するレイヤの各パラメータを記憶させる記憶領域からパラメータの読み出しをおこなうことを特徴とする請求項４に記載のＭＰＥＧビデオ復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＰＥＧ（Ｍoving Ｐicture Ｅxperts Ｇroup）規格にしたがって符号化された動画像のビットストリーム・データを復号化するＭＰＥＧビデオ復号器およびＭＰＥＧビデオ復号方法に関する。画像圧縮にかかる国際標準規格としてＭＰＥＧ規格がある。ＭＰＥＧ規格に準拠した動画像符号化技術および動画像復号化技術は、最近のマルチメディア環境に欠かせない技術である。そして、ＭＰＥＧ規格を採用した多くの動画像符号化装置および動画像復号化装置が開発されている。
【０００２】
【従来の技術】
ＭＰＥＧでは、高能率符号化のために、イントラピクチャ（intre-coded picture ：以下、Ｉピクチャとする）、予測符号化ピクチャ（Predictive-coded picture：以下、Ｐピクチャとする）および双方向予測符号化ピクチャ（Bidirectionally predictive-coded picture：以下、Ｂピクチャとする）という３つのタイプのピクチャが使用される。
【０００３】
Ｉピクチャは、他のピクチャの情報を用いることなく、それ自身のピクチャの情報のみで符号化される。Ｉピクチャは、他のピクチャとは独立して符号化が可能であるため、ランダムアクセス時のアクセス点として利用される。したがって、Ｉピクチャの復号化には他のピクチャの情報は不要である。
【０００４】
また、Ｐピクチャは、過去のＩピクチャまたはＰピクチャを参照ピクチャとして符号化される。したがって、Ｐピクチャの復号化には過去のＩピクチャの情報が必要である。
【０００５】
また、Ｂピクチャは、過去と将来のＩピクチャまたはＰピクチャを参照ピクチャとして符号化される。したがって、Ｂピクチャの復号化には過去と将来のＩピクチャまたはＰピクチャの情報が必要である。
【０００６】
ところで、ＭＰＥＧ規格では階層符号化方式が採用されている。すなわち、ビデオシーケンスは、上位から順にシーケンス・レイヤ、グループ・オブ・ピクチャ・レイヤ（以下、ＧＯＰレイヤとする）、ピクチャ・レイヤ、スライス・レイヤ、マクロブロック・レイヤ（以下、ＭＢレイヤとする）およびブロック・レイヤの計６階層により構成されている。シーケンス・レイヤからスライス・レイヤまでの上位４レイヤには、そのレイヤの始まりを示すスタートコードが付加されている。
【０００７】
そして、その各スタートコードに続いて各レイヤごとにパラメータが符号化されている。たとえば、シーケンス・レイヤにおいては、シーケンス・ヘッダ・コード（ＳＨＣ）に続いて、パラメータとしてホリゾンタル・サイズ・バリュー（horizontal size value）、バーチカル・サイズ・バリュー（vertical size value）およびアスペクト・レシオ・インフォメーション（aspect ratio information）などが重畳されている。
【０００８】
図６は、ＭＰＥＧ規格の各レイヤについてパラメータの一部を示す図表である。シーケンス・レイヤにおいて、ホリゾンタル・サイズ・バリューおよびバーチカル・サイズ・バリューは、それぞれ画像の水平方向および垂直方向のサイズ、すなわち画素数を表すパラメータである。また、アスペクト・レシオ・インフォメーションは、画素アスペクト比を表すパラメータである。その他にもシーケンス・レイヤには、復号された画像の水平方向および垂直方向の表示サイズをそれぞれ表すディスプレイ・ホリゾンタル・サイズ（display horizontal size）およびディスプレイ・バーチカル・サイズ（display vertical size）の各パラメータがある。
【０００９】
ＧＯＰレイヤには、ＧＯＰの先頭のＢピクチャが表示可能であることを表すクローズド・グループ・オブ・ピクチャ（closed gop）、およびＧＯＰの先頭のＢピクチャの表示が不可能であることを表すブロークン・リンク（broken link）の各パラメータがある。
【００１０】
ピクチャ・レイヤには、第１フィールドのピクチャから表示することを表すトップ・フィールド・ファースト（top field first）、および第１フィールドのピクチャを繰り返し表示することを表すリピート・ファースト・フィールド（repeat first field）の各パラメータがある。また、ピクチャ・レイヤには、パンスキャンのパラメータであるフレーム・センター・ホリゾンタル・オフセット（frame centre horizontal offset）およびフレーム・センター・バーチカル・オフセット（frame centre vertical offset）がある。
【００１１】
従来のＭＰＥＧビデオ復号器では、一般に、上述した各レイヤのパラメータを復号時に内部のレジスタに格納し、表示時にこれらのパラメータを参照して表示をおこなう構成となっている。以下に、従来のＭＰＥＧビデオ復号器の構成について説明する。
【００１２】
図７は、従来のＭＰＥＧビデオ復号器の構成を示すブロック図である。このＭＰＥＧビデオ復号器は、バッファ・メモリ１１、画像復号化部１２、フレーム・バッファ１３、復号制御部１４および表示制御部１５から構成される。バッファ・メモリ１１は、伝送路や蓄積メディアから送られてきたＭＰＥＧのビットストリームを格納する。画像復号化部１２は、バッファ・メモリ１１から送られてきたビットストリームを復号してピクチャを生成する。
【００１３】
フレーム・バッファ１３は、画像復号化部１２にて生成されたピクチャを格納する。フレーム・バッファ１３は、３ピクチャ分の容量を有しており、１ピクチャごとに区切られている。この１ピクチャごとに区切られた領域はバンクと呼ばれる。つまり、フレーム・バッファ１３には第１から第３までの３個のバンク１３ａ，１３ｂ，１３ｃが設けられている。各バンク１３ａ，１３ｂ，１３ｃはそれぞれ固有のアドレス（バンク・アドレス）を有する。
【００１４】
復号制御部１４は、垂直同期信号（Ｖ-Ｓync：Ｖertical-Ｓync ）２１を生成する垂直同期信号発生器１６を内蔵する。復号制御部１４は、画像復号化部１２および表示制御部１５にスライス・レイヤ復号開始命令２２を発行する。スライス・レイヤ復号開始命令２２は、垂直同期信号（Ｖ-Ｓync）２１に同期しており、その発行周期は、基本的には２フィールド時間に１回、すなわち１フレーム時間に１回である。これは、表示の速度が１フレームに１枚のピクチャを表示するため、復号の速度を表示の速度と一致させるためである。また、復号制御部１４は、コールドスタート時にバッファ・メモリ１１の容量が条件を満たすと、初期時復号開始命令２３を発行する。初期時復号開始命令２３の発行タイミングは、垂直同期信号（Ｖ-Ｓync）２１に関係していない。
【００１５】
表示制御部１５は、画像復号化部１２にて復号された各レイヤのパラメータ２４、およびバンク・アドレス２５を格納するためのレジスタを内蔵している。このレジスタには、リオーダ・レジスタ１５ａ、カレント・レジスタ１５ｂ、フィールドディレイ・レジスタ１５ｃおよびディスプレイ・レジスタ１５ｄなどがある。バンク・アドレス２５は、復号されたピクチャが格納されたフレーム・バッファ１３のバンクを示すアドレスである。
【００１６】
また、表示制御部１５は、画像復号化部１２からシーケンス・レイヤ復号完了通知２６およびＧＯＰレイヤ復号完了通知２７を受け取る。シーケンス・レイヤ復号完了通知２６は、シーケンス・レイヤのパラメータの復号が終了した時点で発行される。ＧＯＰレイヤ復号完了通知２７は、ＧＯＰレイヤのパラメータの復号が終了した時点で発行される。
【００１７】
また、表示制御部１５には、垂直同期信号発生器１６から垂直同期信号（Ｖ−Ｓync）２１が供給される。表示制御部１５は、垂直同期信号（Ｖ-Ｓync）２１に同期したタイミングでフレーム・バッファ１３に表示開始命令２８を出力する。この表示開始命令２８に基づいて、フレーム・バッファ１３から図示省略した表示装置に所定のピクチャが転送され、表示装置に画像が表示される。
【００１８】
このようにＭＰＥＧビデオ復号器では、垂直同期信号（Ｖ-Ｓync）２１に同期したタイミングで１ピクチャ分のビットストリームの復号化を開始するとともに、垂直同期信号（Ｖ-Ｓync）２１に同期したタイミングで表示装置にピクチャを伝達する。これにより、垂直同期信号（Ｖ-Ｓync）２１に同期したタイミングで表示装置に表示される画像が更新され、表示装置に動画像が表示される。
【００１９】
図８は、表示制御部１５内のレジスタの構成を示すブロック図である。表示制御部１５には、シーケンス・レイヤ・パラメータ・レジスタ１５ｅ、ＧＯＰ・レイヤ・パラメータ・レジスタ１５ｆ、ピクチャ・レイヤ・パラメータ・レジスタ群１５ｇが設けられている。シーケンス・レイヤ・パラメータ・レジスタ１５ｅは、シーケンス・レイヤ復号完了通知２６を受け取ると、各レイヤのパラメータ２４のうちシーケンス・レイヤのホリゾンタル・サイズ・バリューやバーチカル・サイズ・バリューなどのパラメータを格納する。
【００２０】
ＧＯＰ・レイヤ・パラメータ・レジスタ１５ｆは、ＧＯＰレイヤ復号完了通知２７を受け取ると、各レイヤのパラメータ２４のうちＧＯＰレイヤのクローズド・グループ・オブ・ピクチャやブロークン・リンクなどのパラメータを格納する。ピクチャ・レイヤ・パラメータ・レジスタ群１５ｇは、上述したリオーダ・レジスタ１５ａ、カレント・レジスタ１５ｂ、フィールドディレイ・レジスタ１５ｃおよびディスプレイ・レジスタ１５ｄからなる。
【００２１】
ピクチャ・レイヤ・パラメータ・レジスタ群１５ｇに格納されるパラメータには、各レイヤのパラメータ２４のうちピクチャ・レイヤのテンポラル・リファレンス（temporal reference）、ピクチャ・コーディング・タイプ（picture coding type）、ピクチャ・ストラクチャー（picture structure）などがある。また、ピクチャ・レイヤ・パラメータ・レジスタ群１５ｇにはバンク・アドレス２５が格納される。
【００２２】
このようにピクチャ・レイヤ表示パラメータおよびバンク・アドレス２５を格納するレジスタ１５ａ，１５ｂ，１５ｃ，１５ｄが４個あるのは、ＭＰＥＧ規格ではＩピクチャおよびＰピクチャと、Ｂピクチャとの並び替え（リオーダリング）をおこなう必要があるからである。つまり、Ｂピクチャを復号化する際には、過去と将来のピクチャを参照する。したがって、将来のピクチャの処理を先におこなうため、並び替え（リオーダリング）が必要となる。
【００２３】
リオーダ・レジスタ１５ａは、ＩピクチャおよびＰピクチャのピクチャ・レイヤ・パラメータおよびバンク・アドレス２５を格納する。ＩピクチャおよびＰピクチャは復号が完了してもすぐには表示せず、Ｂピクチャとの並び替え（リオーダリング）をおこなう必要がある。このため、ＩピクチャおよびＰピクチャのパラメータおよびバンク・アドレス２５をリオーダ・レジスタ１５ａに一旦退避させる。
【００２４】
カレント・レジスタ１５ｂは、これから表示するピクチャのピクチャ・レイヤ表示パラメータおよびバンク・アドレス２５を格納する。なお、Ｂピクチャは復号が完了した後、すぐに表示するので、Ｂピクチャのパラメータおよびバンク・アドレス２５はリオーダ・レジスタ１５ａには格納せず、直接カレントレジスタ１５ｂに格納する。
【００２５】
フィールドディレイ・レジスタは１５ｃは、復号時間を１フレーム時間にするために、カレント・レジスタ１５ｂから転送されてくるバンク・アドレス２５を１フィールド時間分だけ遅延させて、つぎのディスプレイ・レジスタ１５ｄに転送する。仮に、フィールドディレイ・レジスタ１５ｃがないとすると、表示タイミングのフィールド・スロットが復号タイミングのフィールド・スロットの直後のフィールド・スロットになって、正しいタイミングで表示することができなくなる。フィールドディレイ・レジスタ１５ｃに格納するデータはバンク・アドレス２５のみである。
【００２６】
ディスプレイ・レジスタ１５ｄは、今現在表示しているピクチャのバンク・アドレス２５が格納されている。言い換えれば、表示制御部１５は、ディスプレイ・レジスタ１５ｄに格納されたバンク・アドレス２５の指し示すピクチャを表示するように表示開始命令２８を発行する。ディスプレイ・レジスタ１５ｄに格納するデータはバンク・アドレス２５のみであり、ディスプレイ・レジスタ１５ｄはフィールドディレイ・レジスタ１５ｃの内容をそのまま取り込む。このレジスタに格納されたピクチャ・レイヤの表示パラメータと、上述したシーケンス・レイヤのパラメータおよびＧＯＰレイヤのパラメータを総合分析して、表示制御部１５はピクチャの表示を実行する。
【００２７】
これらの４つのレジスタ１５ａ〜１５ｄは、図８に示すように、シフトレジスタ構造になっている。リオーダ・レジスタ１５ａとカレントレジスタ１５ｂのシフトパルスはスライス・レイヤ復号開始命令２２であり、フィールドディレイ・レジスタ１５ｃとディスプレイ・レジスタ１５ｄのシフトパルスは垂直同期信号（Ｖ-Ｓync）２１である。バンク・アドレス２５はリオーダ・レジスタ１５ａからディスプレイ・レジスタ１５ｄまで全部シフトするのに対し、ピクチャ・レイヤの表示パラメータはカレント・レジスタ１５ｃまでしかシフトしない。
【００２８】
つぎに、上述した従来の構成のＭＰＥＧビデオ復号器の動作について説明する。図９は、従来のＭＰＥＧビデオ復号器の動作を説明するためのタイムチャートである。ただし、図９に示す例では、ＩピクチャＩ２、ＢピクチャＢ０、ＢピクチャＢ１、ＰピクチャＰ５、ＢピクチャＢ３、ＢピクチャＢ４、・・・の順番でビットストリームが入力され、ピクチャＢ０、ピクチャＢ１、ピクチャＩ２，ピクチャＢ３、・・・の順で表示するものとする。
【００２９】
伝送路または蓄積メディアから送られてきたＭＰＥＧビットストリームは、まず、バッファ・メモリ１１に格納される。バッファ・メモリ１１に一定量のデータ（たとえば１ピクチャ分のデータ）が蓄積されると、復号制御部１４は初期時復号開始命令２３を発行する（時刻ｔ０）。画像復号化部１２は、初期時復号開始命令２３を受信するとビットストリームの復号を開始し、まず、最初のピクチャＩ２の復号をおこなう。画像復号化部１２は、シーケンス・レイヤのパラメータをすべて復号し終えると、シーケンス・レイヤ復号完了通知２６を発行する。表示制御部１５は、シーケンス・レイヤ復号完了通知２６を受け取ると、シーケンス・レイヤ・パラメータ・レジスタ１５ｅにシーケンス・レイヤのパラメータを格納する（時刻ｔ１）。
【００３０】
引き続き、画像復号化部１２はＧＯＰレイヤのパラメータの復号をおこなう。画像復号化部１２は、ＧＯＰレイヤのパラメータを復号し終えると、ＧＯＰレイヤ復号完了通知２７を発行する。表示制御部１５は、ＧＯＰレイヤ復号完了通知２７を受け取ると、ＧＯＰレイヤ・パラメータ・レジスタ１５ｆにＧＯＰレイヤのパラメータを格納する（時刻ｔ２）。さらに、画像復号化部１２はピクチャＩ２のピクチャ・レイヤのパラメータまで復号して解読すると、一旦停止する（時刻ｔ３）。
【００３１】
その後、垂直同期信号（Ｖ-Ｓync）のパルスに同期して、復号制御部１４はスライス・レイヤ復号開始命令２２を発行する（時刻ｔ４）。画像復号化部１２は、スライス・レイヤ復号開始命令２２を受け取ると、ピクチャＩ２のスライス・レイヤとＭＢ（マクロブロック）レイヤの復号をおこなう。そして、ＭＢレイヤの復号が完了すると、引き続き、画像復号化部１２はつぎのピクチャＢ０のピクチャ・レイヤの復号をおこなう。ピクチャＢ０のピクチャ・レイヤの復号が完了すると、画像復号化部１２は再び停止する（時刻ｔ５）。
【００３２】
一方、時刻ｔ４において、表示制御部１５は、画像復号化部１２からピクチャＩ２のピクチャ・パラメータを受け取り、リオーダ・レジスタ１５ａに格納する。このとき、リオーダ・レジスタ１５ａはスライス・レイヤ復号開始命令２２をラッチパルスとして、スライス・レイヤ復号開始命令２２に同期したタイミングでピクチャＩ２のパラメータを格納する。
【００３３】
時刻ｔ６になると、復号制御部１４は垂直同期信号（Ｖ-Ｓync）２１に同期して再びスライス・レイヤ復号開始命令２２を発行する。画像復号化部１２は、このスライス・レイヤ復号開始命令２２を受け取ると、ピクチャＢ０のスライス・レイヤおよびＭＢレイヤの復号を開始する。これと同時にピクチャＢ０のピクチャ・パラメータをカレント・レジスタ１５ｂに格納する。
【００３４】
ピクチャＢ０のピクチャ・パラメータは、つぎの垂直同期信号（Ｖ-Ｓync）２１に同期してフィールドディレイ・レジスタ１５ｃにシフトされ、さらに、そのつぎの垂直同期信号（Ｖ-Ｓync）２１に同期してディスプレイ・レジスタ１５ｄに格納される（時刻ｔ７）。これで、表示すべきピクチャのデータがそろい、表示の準備ができたことになる。そして、表示制御部１５は、ピクチャ・レイヤ・パラメータ、シーケンス・レイヤ・パラメータおよびＧＯＰレイヤ・パラメータを総合的に分析し、このピクチャＢ０をどのように表示するかを決定する。
【００３５】
たとえば、ホリゾンタル・サイズ・バリューの値が「７２０」で、バーチカル・サイズ・バリューの値が「４８０」で、クローズド・グループ・オブ・ピクチャの値が「１」で、ブロークン・リンクの値が「０（ゼロ）」で、トップ・フィールド・ファーストの値が「１」で、リピート・ファースト・フィールドの値が「０（ゼロ）」で、フレーム・センター・ホリゾンタル・オフセットおよびフレーム・センター・バーチカル・オフセットの値がともに「０（ゼロ）」とする。この場合、表示制御部１５は、このピクチャＢ０は有効であるので表示し、「７２０×４８０」ピクセルの大きさでパンスキャン表示をおこなわずに、普通に表示すればよいと判断する。
【００３６】
その後、表示制御部１５はフレーム・バッファ１３に表示開始命令２８を発行し、ホリゾンタル・サイズ・バリューおよびバーチカル・サイズ・バリューで示される領域分のピクチャを表示させる。
【００３７】
以後同様にして、画像復号化部１２は順次復号をおこなう。Ｂピクチャを表示させる場合には、表示制御部１５は、カレント・レジスタ１５ｂに格納されたピクチャ・レイヤの表示パラメータと、シーケンス・レイヤおよびＧＯＰレイヤの表示パラメータを参照して表示を進行させる。また、ＩピクチャまたはＰピクチャを表示させる場合には、表示制御部１５は、ディスプレイ・レジスタ１５ｄに格納されたピクチャ・レイヤの表示パラメータと、シーケンス・レイヤおよびＧＯＰレイヤの表示パラメータを参照して表示を進行させる。
【００３８】
なお、ＮＴＳＣ（Ｎational Ｔelevision Ｓystem Ｃommittee）方式のテレビ映像では、１フレームが２つのフィールド（トップフィールドおよびボトムフィールド）に分割される。したがって、図９（図２、図３および図１０においても同じ）では、表示の様子として、各ピクチャがトップフィールド（図において「Ｔ」で示すフィールド）とボトムフィールド（図において「Ｂ」で示すフィールド）に分けられて示されている。
【００３９】
【発明が解決しようとする課題】
しかしながら、上述した従来のＭＰＥＧビデオ復号器では、１シーケンスにピクチャが１枚しか存在しないようなビットストリームで、かつ、このシーケンスを複数つなげたビットストリーム（一般にスライドショーと呼ばれる）を復号し、表示する場合にはつぎの２つの問題点が生じる。これら問題点について以下に説明する。
【００４０】
図１０は、従来のＭＰＥＧビデオ復号器のスライドショーにおける動作を説明するためのタイムチャートである。たとえば、１シーケンス１ピクチャであるシーケンスが３シーケンス連続した場合を例にして説明する。各シーケンスをＳＥＱ１、ＳＥＱ２およびＳＥＱ３とする。この場合、１シーケンス１ピクチャであるため、３枚のピクチャのそれぞれについてシーケンス・レイヤの表示パラメータが存在する。
【００４１】
たとえば、第１番目のシーケンスＳＥＱ１について、ホリゾンタル・サイズ・バリューおよびバーチカル・サイズ・バリューの各値がそれぞれ「７２０」および「４８０」であり、第２番目のシーケンスＳＥＱ２について、ホリゾンタル・サイズ・バリューおよびバーチカル・サイズ・バリューの各値がそれぞれ「３６０」および「２４０」であり、第３番目のシーケンスＳＥＱ３について、ホリゾンタル・サイズ・バリューおよびバーチカル・サイズ・バリューの各値がそれぞれ「３６０」および「４８０」であると仮定する。
【００４２】
この場合、図１０に示すように、時刻ｔ０〜ｔ３までの動作は、図９に示す通常表示の動作と同様である。しかし、図１０に示す例では、時刻ｔ４において第１番目のシーケンスＳＥＱ１から第２番目のシーケンスＳＥＱ２に切り替わる。そのため、シーケンス・レイヤ表示パラメータが第１番目のシーケンスＳＥＱ１のパラメータから第２番目のシーケンスＳＥＱ２のパラメータに更新されてしまう。つまり、画像の水平サイズが７２０ピクセルから３６０ピクセルに、また画像の垂直サイズが４８０ピクセルから２４０ピクセルに更新される。さらに、図１０に示す例では、時刻ｔ５において第３番目のシーケンスＳＥＱ３に切り替わる。その時点で、第３番目のシーケンスＳＥＱ３のパラメータに更新されるので、画像の垂直サイズが２４０ピクセルから４８０ピクセルに更新される。したがって、画像のサイズは「３６０×４８０」ピクセルに変更される。
【００４３】
時刻ｔ６において第１番目のシーケンスＳＥＱ１のＩ２ピクチャを表示させる場合、本来なら「７２０×４８０」ピクセルのサイズで表示されなければならない。しかし、時刻ｔ６においては第３番目のシーケンスＳＥＱ３のパラメータに更新されているため、「３６０×４８０」ピクセルのサイズで表示されてしまう。つまり、ピクチャ・パラメータと各シーケンスのシーケンス・レイヤの組み合わせ管理がきちんとなされていないため、復号した画像が正しく表示されなくなってしまう。説明を省略したが、ＧＯＰレイヤの表示パラメータについても同様である。これが第１番目の問題点である。このような問題は、たとえば蓄積メディアから送られてきたＭＰＥＧビットストリームに対して、ポーズ（一時停止）や早送りや巻き戻しなどの操作がおこなわれた場合にも起こる。
【００４４】
この原因は、表示制御部１５にシーケンス・レイヤ・パラメータ・レジスタ１５ｅおよびＧＯＰレイヤ・パラメータ・レジスタ１５ｆが一つずつしか設けられていないことである。そのため、これらのレジスタ１５ｅ，１５ｆに保持され得るシーケンス・パラメータおよびＧＯＰパラメータは一組だけである。したがって、スライドショーのように異なるシーケンスが連続する場合には、シーケンス・パラメータおよびＧＯＰパラメータが次々と上書きされ、更新されてしまう。
【００４５】
第２番目の問題点は、このスライドショーの最後のシーケンスである第３のシーケンスＳＥＱ３の後に第４番目のシーケンスがないため、第３のシーケンスＳＥＱ３が表示されないことである。その理由は、第４番目のシーケンスに対するスライス・レイヤ復号開始命令が復号制御部１４から発行されないと、時刻ｔ６において、リオーダ・レジスタ１５ａに格納した第３番目のシーケンスＳＥＱ３のピクチャ・パラメータをカレント・レジスタ１５ｂにシフトさせることができないからである。第３番目のシーケンスＳＥＱ３のピクチャ・パラメータは、カレント・レジスタ１５ｂにシフトされないと、フィールドディレイ・レジスタ１５ｃおよびディスプレイ・レジスタ１５ｄにもシフトされない。すなわち、３番目のシーケンスＳＥＱ３は表示されなくなってしまう。
【００４６】
上述した従来の構成のＭＰＥＧビデオ復号器でスライドショーの復号および再生を実現するためには、あらかじめ余分なシーケンスを最後尾に付加しておくとともに、シーケンス・レイヤ・パラメータ・レジスタ１５ｅおよびＧＯＰレイヤ・パラメータ・レジスタ１５ｆに格納されたパラメータが上書きされないように、シーケンス間の時間を十分に長くする必要がある。しかしながら、これではスライドショー本来の表示は実現できない。
【００４７】
本発明は、上記問題点に鑑みてなされたものであって、スライドショーのようなＭＰＥＧビットストリームに対して、後続のピクチャ（またはシーケンス）がなくても正しく表示させることができるＭＰＥＧビデオ復号器およびＭＰＥＧビデオ復号方法を提供することを目的とする。
【００４８】
また、本発明の他の目的は、本来の表示順序にかかわらず任意の順番でピクチャを表示させることができるＭＰＥＧビデオ復号器およびＭＰＥＧビデオ復号方法を提供することである。
【００４９】
【課題を解決するための手段】
上記目的を達成するため、本発明は、フレーム・メモリの各バンクに、復号化されたピクチャとともにそのピクチャを表示するためのシーケンス・レイヤ、ＧＯＰレイヤおよびピクチャ・レイヤの各パラメータをセットにして格納することを特徴とする。その際、復号対象のピクチャとセットにされて格納される各レイヤのパラメータは、直前に復号されたピクチャとセットにされて格納された各レイヤのパラメータに対して、復号対象のピクチャに付随されたパラメータを復号して更新することによって生成される。
【００５０】
ただし、最初のピクチャの復号をおこなう場合には、その復号対象のピクチャに付随するシーケンス・レイヤ、ＧＯＰレイヤおよびピクチャ・レイヤの各パラメータを記憶させる記憶領域からパラメータの読み出しをおこなう。パラメータおよびピクチャの復号は垂直同期信号に関係なくおこなわれ、一方、復号されたピクチャの表示は垂直同期信号に同期しておこなわれる。
【００５１】
画像復号化部により復号された各レイヤのパラメータは、画像復号化部の内部バッファにマクロブロック単位で一旦格納されてからフレーム・メモリに書き込まれる。同様に、画像復号化部により復号されたピクチャは、画像復号化部の内部バッファにマクロブロック単位で一旦格納されてからフレーム・メモリに書き込まれる。その際、復号された各レイヤのパラメータと復号されたピクチャは同一のデータ転送パスを介して内部バッファとフレーム・メモリ間で転送される。
【００５２】
この発明によれば、フレーム・メモリの各バンクに、復号化されたピクチャとともにそのピクチャを表示するためのシーケンス・レイヤ、ＧＯＰレイヤおよびピクチャ・レイヤの各パラメータがセットになって格納されるので、スライドショーのようなビットストリームでも連続して復号することができる。また、任意の順番でピクチャを表示させることができる。
【００５３】
【発明の実施の形態】
以下に、本発明にかかるＭＰＥＧビデオ復号器の一例について図面を参照しながら説明する。図１は、本発明にかかるＭＰＥＧビデオ復号器の一構成例を示すブロック図である。このＭＰＥＧビデオ復号器は、バッファ・メモリ５１、画像復号化部５２、フレーム・メモリ５３、復号制御部５４、表示制御部５５、垂直同期信号発生器５６、ステイタス・レジスタ５７を備えている。
【００５４】
バッファ・メモリ５１は、伝送路や蓄積メディアから送られてきたＭＰＥＧのビットストリームを格納する。画像復号化部５２は、バッファ・メモリ５１から送られてきたビットストリームを復号してピクチャおよび各レイヤのパラメータを生成する。画像復号化部５２には内部バッファであるマクロブロック・バッファ（以下、ＭＢバッファとする）５８が設けられている。ＭＢバッファ５８は、復号されたピクチャをマクロブロック単位（８×８画素）で一旦格納する。また、ＭＢバッファ５８は、復号されたパラメータを一旦格納する。
【００５５】
フレーム・メモリ５３は、ＭＢバッファ５８から転送されてきたピクチャおよび各レイヤのパラメータを格納する。つまり、フレーム・メモリ５３には、復号されたピクチャを格納するピクチャ格納領域５３ｄと、各レイヤのパラメータを格納するパラメータ格納領域５３ｅが設けられている。ピクチャ格納領域５３ｄは、特にその数を限定しないが、たとえば３個のピクチャ・バンク５３ａ，５３ｂ，５３ｃに分けられている。また、パラメータ格納領域５３ｅは、特にその数を限定しないが、たとえば３個のパラメータ・バンク５３ｆ，５３ｇ，５３ｈに分けられている。各パラメータ・バンク５３ｆ，５３ｇ，５３ｈの格納フォーマットはマクロブロック（ＭＢ）と同じである。
【００５６】
復号されたピクチャは、いずれかのピクチャ・バンクに格納される。また、格納されたピクチャに付随するパラメータは、３個のパラメータ・バンク５３ｆ，５３ｇ，５３ｈのうち、そのピクチャの格納バンクに対応するパラメータ・バンクに格納される。たとえば、第１番目のパラメータ・バンク５３ｆが第１番目のピクチャ・バンク５３ａに対応づけられているとする。ピクチャＩ２の復号されたピクチャが第１番目のピクチャ・バンク５３ａに格納された場合、ピクチャＩ２のすべてのパラメータは第１番目のパラメータ・バンク５３ｆに格納される。たとえば、各パラメータ・バンク５３ｆ，５３ｇ，５３ｈは、それぞれピクチャ・バンク５３ａ，５３ｂ，５３ｃの空き領域に設けられる。
【００５７】
ＭＢバッファ５８とフレーム・メモリ５３との間のデータ転送パス７１は、復号されたピクチャをＭＢバッファ５８からフレーム・メモリ５３へ転送するパスであるとともに、ＭＢバッファ５８とフレーム・メモリ５３との間でパラメータを双方向に転送するためのパスも兼ねている。つまり、ＭＢバッファ５８に格納されたパラメータは、データ転送パス７１を介してフレーム・メモリ５３のパラメータ格納領域５３ｅへ転送される。また、パラメータ格納領域５３ｅに格納されたパラメータは、データ転送パス７１を介してＭＢバッファ５８へ転送される。
【００５８】
ステイタス・レジスタ５７には、フレーム・メモリ５３の各バンクのデータ格納状態に対応する値が格納される。本実施の形態では、フレーム・メモリ５３にピクチャおよびパラメータのそれぞれについて、特に限定しないが、たとえば３バンクずつ設けられている。すなわち、フレーム・メモリ５３には３セット分のピクチャおよびパラメータを格納させることができるので、ステイタス・レジスタ５７のビット数は３ビットとなる。
【００５９】
フレーム・メモリ５３のあるバンクに、復号されたピクチャとそれに対応するパラメータが格納されていれば、ステイタス・レジスタ５７の対応するビットの値はたとえば「１」となる。一方、空のバンクに対応するステイタス・レジスタ５７のビットの値は「０」となる。また、バンクにはすでに表示の終了したピクチャが格納されているが、そのピクチャが他のピクチャの参照ピクチャになっていない場合、すなわちそのピクチャが不要であって上書きされてもよいピクチャである場合には、そのバンクに対応するステイタス・レジスタ５７のビットの値は「０」となる。
【００６０】
ステイタス・レジスタ５７のビットの並びは、たとえば最上位ビット（ＭＳＢ）から順に第３番目のバンク５３ｃ，５３ｈ、第２番目のバンク５３ｂ，５３ｇ、第１番目のバンク５３ａ，５３ｆに対応している。具体的には、３個のバンク５３ａ，５３ｂ，５３ｃすべてにデータが格納されていればステイタス・レジスタ５７の値は「１１１」であり、全部空き状態であれば「０００」である。
【００６１】
ステイタス・レジスタ５７は、復号制御部５４と表示制御部５５との調停機能を果たす。すなわち、復号制御部５４および表示制御部５５は、ステイタス・レジスタ５７を観測し、その値に応じて復号をおこなったり表示をおこなう。
【００６２】
復号制御部５４は画像復号化部５２および表示制御部５５にスライス・レイヤ復号開始命令６２を発行する。スライス・レイヤ復号開始命令６２の発行タイミングは垂直同期信号（Ｖ-Ｓync）６１に関係していない。また、復号制御部５４は、コールドスタート時にバッファ・メモリ５１の容量が条件を満たすと、画像復号化部５２に初期時復号開始命令６３を発行する。初期時復号開始命令６３の発行タイミングは垂直同期信号（Ｖ-Ｓync）６１に関係していない。また、復号制御部５４は、復号中のピクチャのすべてのマクロブロックを復号し終えると、ステイタス・レジスタ５７に復号完了通知７２を発行する。
【００６３】
表示制御部５５には、垂直同期信号発生器５６から垂直同期信号（Ｖ−Ｓync）６１が供給される。表示制御部５５は、表示対象となるピクチャのすべてのパラメータを、パラメータ転送パス７３を介して、対応するパラメータ・バンクから読み出す。このパラメータの読み出しタイミングは垂直同期信号（Ｖ-Ｓync）６１と関係している。また、表示制御部５５はフレーム・メモリ５３に表示開始命令６８を発行する。その表示開始命令６８に基づいて、フレーム・メモリ５３から図１において省略した表示装置に所望のピクチャが転送され、表示装置に画像が表示される。表示完了後、表示制御部５５はステイタス・レジスタ５７に表示完了通知７４を発行する。
【００６４】
つぎに、本発明にかかるＭＰＥＧビデオ復号器の復号処理について説明する。図２は、本発明にかかるＭＰＥＧビデオ復号器の復号処理の一例を示すフローチャートである。
【００６５】
伝送路または蓄積メディアから送られてきたＭＰＥＧビットストリームは、バッファ・メモリ５１に格納される。復号の開始にあたって、バッファ・メモリ５１に一定量のＭＰＥＧビットストリーム（たとえば１ピクチャ分）がたまると（ステップＳ１）、復号制御部５４はまずステイタス・レジスタ５７を観測する（ステップＳ２）。そして、復号制御部５４はフレーム・メモリ５３に空いているバンクがあるか否か判断する（ステップＳ３）。空いているバンクがない場合には、復号制御部５４は復号を開始させずに、バンクが空くまで待機する。
【００６６】
空いているバンクがある場合には復号を開始するため、復号制御部５４は、直前に復号したピクチャ（またはシーケンス）に関するパラメータが格納されているパラメータ・バンクから、その格納されているパラメータを読み出し、ＭＢバッファ５８に格納する（ステップＳ４）。ただし、一連のＭＰＥＧビットストリームの中の最初のピクチャを復号する場合には、その直前に復号されたピクチャは存在しない。つまり、直前に復号したピクチャ（またはシーケンス）に関するパラメータを格納したパラメータ・バンクはない。
【００６７】
したがって、最初のピクチャを復号する場合は、将来そのピクチャの復号が終了したときにそのピクチャに関するパラメータが格納される予定のバンクからパラメータが読み出される。最初の復号時には、その予定されているバンクは初期状態、すなわち何も書き込まれていない状態であるため、ＭＢバッファ５８にはすべて「０」が書き込まれることになる。
【００６８】
続いて、画像復号化部５２において、復号対象のピクチャに関するシーケンス・レイヤ、ＧＯＰレイヤおよびピクチャ・レイヤの復号がおこなわれる（ステップＳ５）。なお、シーケンス・レイヤおよびＧＯＰレイヤのデータがない場合には、ピクチャ・レイヤの復号のみがおこなわれる。そして、復号の結果生成された各レイヤのパラメータは、ＭＢバッファ５８に格納されたパラメータに上書きされ（ステップＳ６）、さらにＭＢバッファからパラメータ・バンクに転送されて書き込まれる。
【００６９】
パラメータ・バンクに復号対象のピクチャに関するパラメータが書き込まれると、復号制御部５４はスライス・レイヤ復号開始命令６２を発行する（ステップＳ７）。スライス・レイヤ復号開始命令６２が発行されると、復号対象のピクチャのスライス・レイヤおよびＭＢレイヤの復号が開始される。復号されたデータは一旦ＭＢバッファ５８に格納され、そしてマクロブロック単位でフレーム・メモリ５３のピクチャ・バンクに書き込まれる。
【００７０】
復号中のピクチャに関するすべてのマクロブロックの復号が終了すると（ステップＳ８）、復号制御部５４はステイタス・レジスタ５７に復号完了通知７２を発行する（ステップＳ９）。その復号完了通知７２により、復号されたピクチャおよびパラメータが格納されたフレーム・メモリ５３のバンクに対応するステイタス・レジスタ５７のビットの値は「０」から「１」に変わる（ステップＳ１０）。その後、最初のステップに戻り、ステップＳ１〜ステップＳ１０を繰り返す。
【００７１】
つぎに、本発明にかかるＭＰＥＧビデオ復号器の表示処理について説明する。図３は、本発明にかかるＭＰＥＧビデオ復号器の表示処理の一例を示すフローチャートである。
【００７２】
垂直同期信号（Ｖ-Ｓync）６１の立ち下がりに同期して（ステップＳ１１）、表示制御部５５はステイタス・レジスタ５７を観測する（ステップＳ１２）。そして、表示可能なピクチャがフレーム・メモリ５３内に存在するか否かの判断がおこなわれる（ステップＳ１３）。ステイタス・レジスタ５７のいずれかのビットの値が「１」であれば、表示可能なピクチャがフレーム・メモリ５３内に存在することになる。
【００７３】
表示可能なピクチャがある場合、表示制御部５５は、表示対象とするピクチャのすべてのパラメータを対応するパラメータ・バンクから読み出す（ステップＳ１４）。表示制御部５５は、その読み出したパラメータの内容を分析し、そのピクチャをどのように表示するかを決定する（ステップＳ１５）。そして、表示制御部５５は表示開始命令６８を発行する（ステップＳ１６）。その表示開始命令６８に基づいて、フレーム・メモリ５３から図示省略した表示装置に所望のピクチャが転送され、表示装置に画像が表示される。
【００７４】
そして、そのピクチャの全ラインの表示が終了すると（ステップＳ１７）、表示制御部５５はステイタス・レジスタ５７に表示完了通知７４を発行する（ステップＳ１８）。その表示完了通知７４の発行により、表示されたピクチャが被参照フレームでなければステイタス・レジスタ５７の該当するビットの値は「１」から「０」に書き換わる（ステップＳ１９）。ただし、表示されたピクチャが参照フレームである場合には、該当するビットの値は「１」のままである。その後、最初のステップに戻り、ステップＳ１１〜ステップＳ１９を繰り返す。
【００７５】
つぎに、本発明にかかるＭＰＥＧビデオ復号器の通常動作時の動作について説明する。図４は、本発明にかかるＭＰＥＧビデオ復号器の通常動作時の動作タイミングを示すタイムチャートである。ここで、通常動作とは、一連のＭＰＥＧビットストリームを本来の順序で復号する動作のことであり、したがってスライドショー、早送りや巻き戻し、および逆順再生などの動作は含まれない。
【００７６】
時刻ｔ０で初期復号開始命令６３が発行されると、まず、復号制御部５４はステイタス・レジスタ５７を観測する。このときは初期状態であるため、ステイタス・レジスタ５７の値は「０００」である。したがって、フレーム・メモリ５３のたとえば第１番目のバンク５３ａ，５３ｆを用いてピクチャＩ２の復号をおこなうことにする。
【００７７】
ピクチャＩ２は最初のピクチャであるため、その直線に復号されたピクチャは存在しない。したがって、時刻ｔ０で、第１番目のパラメータ・バンク５３ｆからすべてのパラメータを読み出し（図４、符号１０１参照）、そのパラメータをＭＢバッファ５８に書き込む（図４、符号１０２参照）。この場合、第１番目のパラメータ・バンク５３ｆにはまだ何も書き込まれていないため、ＭＢバッファ５８にはすべて「０」が書き込まれる。ここで、最初に第１番目のパラメータ・バンク５３ｆから読み出す理由については、すでに説明したとおりである。
【００７８】
時刻ｔ２で、第１番目のパラメータ・バンク５３ｆの内容をＭＢバッファ５８に書き終える。同時に、ビットストリームの復号を開始し、シーケンス・レイヤとＧＯＰレイヤの復号をおこなう（図４、符号１０３参照）。それに続いて、ピクチャＩ２のピクチャ・レイヤの復号をおこなう（図４、符号１０４参照）。復号の結果得られたパラメータを、ＭＢバッファ５８に格納できるようなフォーマットに成形しながら、逐次、ＭＢバッファ５８に書き込む（図４、符号１０５参照）。時刻ｔ３でピクチャ・レイヤの復号が終わると、一旦復号を停止する。
【００７９】
ＭＢバッファ５８へのパラメータの書き込みが終了したら、時刻ｔ４〜ｔ５で、ＭＢバッファ５８からパラメータを読み出し（図４、符号１０６参照）、それを第１番目のパラメータ・バンク５３ｆに書き込む（図４、符号１０７参照）。ここまでで、ピクチャＩ２のすべてのパラメータが第１番目のパラメータ・バンク５３ｆに格納されたことになる。
【００８０】
時刻ｔ６で、復号制御部５４はスライス・レイヤ復号開始命令６２を発行する。これによって、時刻ｔ６〜ｔ７で、画像復号化部５２はピクチャＩ２のスライス・レイヤとＭＢレイヤの復号をおこなう（図４、符号１０８参照）。その際、１マクロブロック分ずつ復号する。そして、復号の結果生成された係数データをＭＢバッファ５８に蓄積し（図４、符号１０９参照）、マクロブロック単位で逐次第１番目のピクチャ・バンク５３ａに書き込んでいく（図４、符号１１０参照）。
【００８１】
時刻ｔ７ですべてのスライスを第１番目のピクチャ・バンク５３ａに書き込み終えると、ステイタス・レジスタ５７の最下位ビット（ＬＳＢ）に「１」を書き込む。したがって、ステイタス・レジスタ５７の値は「００１」となる。ここまでで、ピクチャＩ２の復号が完了する。
【００８２】
その後、時刻ｔ８で、復号制御部５４は再びステイタス・レジスタ５７の値を観測する。ステイタス・レジスタ５７の値は「００１」であるため、フレーム・メモリ５３のたとえば第２番目のバンク５３ｂ，５３ｇを用いてピクチャＢ０の復号をおこなう。したがって、第１番目のパラメータ・バンク５３ｆから、直前に復号されたピクチャＩ２の全パラメータを読み出し（図４、符号１１１参照）、ＭＢバッファ５８に書き込む（図４、符号１１２参照）。
【００８３】
ここで、ピクチャＩ２とピクチャＢ０は同一シーケンスに含まれているピクチャであるため、ピクチャＢ０にはピクチャ・レイヤのパラメータしか存在しない。つまり、ピクチャＢ０にはシーケンス・レイヤおよびＧＯＰレイヤのパラメータは存在しない。したがって、ピクチャＢ０に対するシーケンス・レイヤおよびＧＯＰレイヤのパラメータに相当するパラメータを得るためには、同一シーケンスに含まれるピクチャのシーケンス・レイヤおよびＧＯＰレイヤのパラメータが必要となる。そのため、本実施の形態では、直前に復号されたピクチャ（ここではピクチャＩ２）のパラメータを読み出している。
【００８４】
時刻ｔ９で、ピクチャＩ２の全パラメータがＭＢバッファ５８に書き込まれると、ピクチャＢ０の復号を開始する（図４、符号１１３参照）。ピクチャＢ０はピクチャ・レイヤのデータから始まるので、ＭＢバッファ５８に格納されたシーケンス・レイヤおよびＧＯＰレイヤのパラメータはそのまま残し、復号されたピクチャ・レイヤ・パラメータのみをＭＢバッファ５８に上書きする（図４、符号１１４参照）。
【００８５】
時刻ｔ１０で、ＭＢバッファ５８へのパラメータの書き込みが終了したら、ＭＢバッファ５８からパラメータを読み出し（図４、符号１１５参照）、それを第２番目のパラメータ・バンク５３ｇに書き込む（図４、符号１１６参照）。ここまでで、ピクチャＢ０のすべてのパラメータが第２番目のパラメータ・バンク５３ｇに格納されたことになる。
【００８６】
時刻ｔ１１で、復号制御部５４はスライス・レイヤ復号開始命令６２を発行する。これによって、時刻ｔ１１〜ｔ１２で、画像復号化部５２はピクチャＢ０のスライス・レイヤとＭＢレイヤの復号をおこない（図４、符号１１７参照）、係数データをＭＢバッファ５８に蓄積し（図４、符号１１８参照）、逐次第２番目のピクチャ・バンク５３ｂに書き込んでいく（図４、符号１１９参照）。
【００８７】
時刻ｔ１２ですべてのスライスを第２番目のピクチャ・バンク５３ｂに書き込み終えると、ステイタス・レジスタ５７の中央のビットに「１」を書き込む。したがって、ステイタス・レジスタ５７の値は「０１１」となる。ここまでで、ピクチャＢ０の復号が完了する。
【００８８】
ピクチャＢ１の復号についても同様である。すなわち、時刻ｔ１５におけるステイタス・レジスタ５７の値が「０１１」であるため、ピクチャＢ１の復号はフレーム・メモリ５３の第３番目のバンク５３ｃ，５３ｈを用いておこなわれる。直前に復号されたピクチャＢ０の全パラメータの読み出し（図４、符号１２０参照）、ＭＢバッファ５８へのパラメータの書き込み（図４、符号１２１参照）、ピクチャＢ１のピクチャ・レイヤの復号（図４、符号１２２参照）、ＭＢバッファ５８に対して、ピクチャＢ１のピクチャ・レイヤ・パラメータの上書き（図４、符号１２３参照）、ＭＢバッファ５８からのパラメータの読み出し（図４、符号１２４参照）、および第３番目のパラメータ・バンク５３ｈへのパラメータの書き込み（図４、符号１２５参照）という一連の動作によって、ピクチャＢ１のすべてのパラメータが第３番目のパラメータ・バンク５３ｈに格納される。
【００８９】
そして、時刻ｔ１７でスライス・レイヤ復号開始命令６２が発行されると、ピクチャＢ１のスライス・レイヤおよびＭＢレイヤの復号（図４、符号１２６参照）、ＭＢバッファ５８への係数データの蓄積（図４、符号１２７参照）、およびＭＢバッファ５８から第３番目のピクチャ・バンク５３ｃへの係数データの転送（図４、符号１２８参照）という一連の動作によって、ピクチャＢ１のすべてのスライスが第３番目のピクチャ・バンク５３ｃに書き込まれる。その後、ステイタス・レジスタ５７の最上位ビット（ＭＳＢ）に「１」を書き込む。以下、同様にしてピクチャＰ５以降の復号をおこなう。
【００９０】
一方、表示制御部５５は、垂直同期信号（Ｖ-Ｓync）６１の立ち下がりで、ステイタス・レジスタ５７を観測する。時刻ｔ１３におけるステイタス・レジスタ５７の値は「０１１」である。これより、第２番目のバンク５３ｂ，５３ｇに対応する中央のビットの値が「１」であるため、第２番目のバンク５３ｂ，５３ｇに最初の表示対象であるピクチャＢ０が格納されており、ピクチャＢ０が表示可能であることがわかる。
【００９１】
したがって、時刻ｔ１３で、表示制御部５５は第２番目のパラメータ・バンク５３ｇからピクチャＢ０のパラメータを読み出す（図４、符号２０１参照）。そして、表示制御部５５は、読み出したパラメータを分析して、どのように表示すべきかを判断する。時刻ｔ１４〜ｔ１６の期間、表示制御部５５は第２番目のピクチャ・バンク５３ｂからピクチャＢ０の復号されたピクチャを読み出して（図４、符号２０２、２０３参照）表示装置に表示させる（図４、符号２０４、２０５参照）。その後、ステイタス・レジスタ５７の中央のビットに「０」を書き込む。図４において、符号２０４および符号２０５はそれぞれピクチャＢ０のトップフィールドおよびボトムフィールドである。
【００９２】
ピクチャＢ１の表示についても同様である。すなわち、時刻ｔ１９における垂直同期信号（Ｖ-Ｓync）６１の立ち下がりタイミングにおいて、ステイタス・レジスタ５７の値は「１０１」である。したがって、第３番目のバンク５３ｃ，５３ｈに２番目に表示すべきピクチャＢ１が格納されており、ピクチャＢ１が表示可能であることがわかる。
【００９３】
したがって、表示制御部５５は、時刻ｔ１９でピクチャＢ１のパラメータを読み出して（図４、符号２０６参照）どのように表示すべきかを判断し、時刻ｔ２０〜ｔ２２の期間でピクチャＢ１の復号されたピクチャを読み出して（図４、符号２０７、２０８参照）表示装置に表示させる（図４、符号２０９、２１０参照）。その後、ステイタス・レジスタ５７の最上位ビット（ＭＳＢ）に「０」を書き込む。以上のようにして、通常動作時のピクチャの復号および表示が進行する。
【００９４】
つぎに、本発明にかかるＭＰＥＧビデオ復号器のスライドショーにおける動作について説明する。スライドショーにおける動作は、上述した通常動作時と基本的に同じであるが、一つ一つのピクチャに付随しているシーケンス・レイヤとＧＯＰレイヤのパラメータをＭＢバッファ５８に書き込む点で通常動作時と異なる。図５は、本発明にかかるＭＰＥＧビデオ復号器のスライドショーにおける動作タイミングを示すタイムチャートである。
【００９５】
時刻ｔ０で初期復号開始命令６３が発行されると、まず、復号制御部５４はステイタス・レジスタ５７を観測する。このときは初期状態であるため、ステイタス・レジスタ５７の値は「０００」である。したがって、フレーム・メモリ５３のたとえば第１番目のバンク５３ａ，５３ｆを用いて第１番目のシーケンスＳＥＱ１の復号をおこなうことにする。
【００９６】
まず、時刻ｔ０で、第１番目のパラメータ・バンク５３ｆからすべてのパラメータを読み出し（図５、符号３０１参照）、そのパラメータをＭＢバッファ５８に書き込む（図５、符号３０２参照）。スライドショーにおいては、一つ一つのピクチャにシーケンス・レイヤとＧＯＰレイヤのデータが付随してくるため、このパラメータの読み出しおよびＭＢバッファ５８への書き込みの一連の動作は本来不要である。しかし、スライドショーが通常動作時と同様の動作によって実行されるため、スライドショーにおいてもこの一連の動作が実行される。
【００９７】
時刻ｔ２で、第１番目のパラメータ・バンク５３ｆの内容をＭＢバッファ５８に書き終える。同時に、ビットストリームの復号を開始し、第１番目のシーケンスＳＥＱ１のシーケンス・レイヤとＧＯＰレイヤの復号をおこなう（図５、符号３０３参照）。それに続いて、第１番目のシーケンスＳＥＱ１のピクチャ・レイヤの復号をおこなう（図５、符号３０４参照）。復号の結果得られたパラメータを、ＭＢバッファ５８に格納できるようなフォーマットに成形しながら、逐次、ＭＢバッファ５８に書き込む（図５、符号３０５参照）。時刻ｔ３でピクチャ・レイヤの復号が終わると、一旦復号を停止する。
【００９８】
ＭＢバッファ５８へのパラメータの書き込が終了したら、時刻ｔ４〜ｔ５で、ＭＢバッファ５８からパラメータを読み出し（図５、符号３０６参照）、それを第１番目のパラメータ・バンク５３ｆに書き込む（図５、符号３０７参照）。ここまでで、第１番目のシーケンスＳＥＱ１のすべてのパラメータが第１番目のパラメータ・バンク５３ｆに格納されたことになる。
【００９９】
時刻ｔ６で、復号制御部５４はスライス・レイヤ復号開始命令６２を発行する。これによって、時刻ｔ６〜ｔ７で、画像復号化部５２は第１番目のシーケンスＳＥＱ１のスライス・レイヤとＭＢレイヤの復号を１マクロブロック分ずつおこなう（図５、符号３０８参照）。そして、復号の結果生成された係数データをＭＢバッファ５８に蓄積し（図５、符号３０９参照）、マクロブロック単位で逐次第１番目のピクチャ・バンク５３ａに書き込んでいく（図５、符号３１０参照）。
【０１００】
時刻ｔ７ですべてのスライスを第１番目のピクチャ・バンク５３ａに書き込み終えると、ステイタス・レジスタ５７の最下位ビット（ＬＳＢ）に「１」を書き込む。したがって、ステイタス・レジスタ５７の値は「００１」となる。ここまでで、第１番目のシーケンスＳＥＱ１の復号が完了する。
【０１０１】
その後、時刻ｔ８で、復号制御部５４は再びステイタス・レジスタ５７の値を観測する。ステイタス・レジスタ５７の値は「００１」であるため、フレーム・メモリ５３のたとえば第２番目のバンク５３ｂ，５３ｇを用いて第２番目のシーケンスＳＥＱ２の復号をおこなう。したがって、直前の復号によってパラメータが格納された第１番目のパラメータ・バンク５３ｆからパラメータを読み出し（図５、符号３１１参照）、ＭＢバッファ５８に書き込む（図５、符号３１２参照）。
【０１０２】
時刻ｔ９で、全パラメータがＭＢバッファ５８に書き込まれると、第２番目のシーケンスＳＥＱ２の復号を開始し、そのシーケンス・レイヤとＧＯＰレイヤの復号をおこなう（図５、符号３１３参照）。それに続いて、第２番目のシーケンスＳＥＱ２のピクチャ・レイヤの復号をおこなう（図５、符号３１４参照）。そして、復号された各レイヤのパラメータをＭＢバッファ５８に上書きする（図５、符号３１５参照）。
【０１０３】
時刻ｔ１０で、ＭＢバッファ５８へのパラメータの書き込みが終了したら、ＭＢバッファ５８からパラメータを読み出し（図５、符号３１６参照）、それを第２番目のパラメータ・バンク５３ｇに書き込む（図５、符号３１７参照）。ここまでで、第２番目のシーケンスＳＥＱ２のすべてのパラメータが第２番目のパラメータ・バンク５３ｇに格納されたことになる。
【０１０４】
時刻ｔ１１で、復号制御部５４はスライス・レイヤ復号開始命令６２を発行する。これによって、時刻ｔ１１〜ｔ１２で、画像復号化部５２は第２番目のシーケンスＳＥＱ２のスライス・レイヤとＭＢレイヤの復号をおこない（図５、符号３１８参照）、係数データをＭＢバッファ５８に蓄積し（図５、符号３１９参照）、逐次第２番目のピクチャ・バンク５３ｂに書き込んでいく（図５、符号３２０参照）。
【０１０５】
時刻ｔ１２ですべてのスライスを第２番目のピクチャ・バンク５３ｂに書き込み終えると、ステイタス・レジスタ５７の中央のビットに「１」を書き込む。したがって、ステイタス・レジスタ５７の値は「０１１」となる。ここまでで、第２番目のシーケンスＳＥＱ２の復号が完了する。
【０１０６】
第３番目のシーケンスＳＥＱ３の復号についても同様である。すなわち、時刻ｔ１５におけるステイタス・レジスタ５７の値が「０１１」であるため、第３番目のシーケンスＳＥＱ３の復号はフレーム・メモリ５３の第３番目のバンク５３ｃ，５３ｈを用いておこなわれる。
【０１０７】
直前にパラメータ・バンクに格納された全パラメータの読み出し（図５、符号３２１参照）、ＭＢバッファ５８へのパラメータの書き込み（図５、符号３２２参照）、第３番目のシーケンスＳＥＱ３のシーケンス・レイヤとＧＯＰレイヤの復号（図５、符号３２３参照）、第３番目のシーケンスＳＥＱ３のピクチャ・レイヤの復号（図５、符号３２４参照）、ＭＢバッファ５８に対して第３番目のシーケンスＳＥＱ３の各レイヤのパラメータの上書き（図５、符号３２５参照）、ＭＢバッファ５８からのパラメータの読み出し（図５、符号３２６参照）、および第３番目のパラメータ・バンク５３ｈへのパラメータの書き込み（図５、符号３２７参照）という一連の動作によって、第３番目のシーケンスＳＥＱ３のすべてのパラメータが第３番目のパラメータ・バンク５３ｈに格納される。
【０１０８】
そして、時刻ｔ１７でスライス・レイヤ復号開始命令６２が発行されると、第３番目のシーケンスＳＥＱ３のスライス・レイヤおよびＭＢレイヤの復号（図５、符号３２８参照）、ＭＢバッファ５８への係数データの蓄積（図５、符号３２９参照）、およびＭＢバッファ５８から第３番目のピクチャ・バンク５３ｃへの係数データの転送（図５、符号３３０参照）という一連の動作によって、第３番目のシーケンスＳＥＱ３のすべてのスライスが第３番目のピクチャ・バンク５３ｃに書き込まれる。その後、ステイタス・レジスタ５７の最上位ビット（ＭＳＢ）に「１」を書き込む。後続するシーケンスがある場合には、以下、同様にして後続のシーケンスの復号をおこなう。
【０１０９】
一方、表示制御部５５は、垂直同期信号（Ｖ-Ｓync）６１の立ち下がりで、ステイタス・レジスタ５７を観測する。時刻ｔ１３におけるステイタス・レジスタ５７の値は「０１１」であるため、第１番目のシーケンスＳＥＱ１のピクチャを表示することに決定する。スライドショーの場合は、全部のピクチャがイントラピクチャであるため、復号が完了していればいつでも表示可能である。時刻ｔ１３では、第１番目のシーケンスＳＥＱ１と第２番目のシーケンスＳＥＱ２が表示可能である。
【０１１０】
時刻ｔ１３で、表示制御部５５は第１番目のパラメータ・バンク５３ｆから第１番目のシーケンスＳＥＱ１のパラメータを読み出す（図５、符号４０１参照）。その際、第１番目のパラメータ・バンク５３ｆには、第１番目のシーケンスＳＥＱ１のシーケンス・パラメータおよびＧＯＰパラメータが格納されているので、第１番目のシーケンスＳＥＱ１のホリゾンタル・サイズ・バリューの値（たとえば「７２０」）と バーチカル・サイズ・バリューの値（たとえば「４８０」）を読み出すことができる。
【０１１１】
そして、表示制御部５５は第１番目のピクチャ・バンク５３ａから第１番目のシーケンスＳＥＱ１の復号されたピクチャを読み出して（図５、符号４０２、４０３参照）表示装置に表示させる（図５、符号４０４、４０５参照）。したがって、時刻ｔ１４〜ｔ１６において、第１番目のシーケンスＳＥＱ１の表示は、パラメータとピクチャとが正しく組み合わされているため、正しく表示される。その後、ステイタス・レジスタ５７の最下位ビット（ＬＳＢ）に「０」を書き込む。
【０１１２】
第２番目のシーケンスＳＥＱ２の表示についても同様である。すなわち、時刻ｔ１９における垂直同期信号（Ｖ-Ｓync）６１の立ち下がりタイミングにおいて、ステイタス・レジスタ５７の値は「０１０」である。したがって、第２番目のシーケンスＳＥＱ２のピクチャを表示することに決定し、表示制御部５５は、第２番目のシーケンスＳＥＱ２のパラメータを読み出す（図５、符号４０６参照）。そして、表示制御部５５は第２番目のシーケンスＳＥＱ２の復号されたピクチャを読み出して（図５、符号４０７、４０８参照）表示装置に表示させる（図５、符号４０９、４１０参照）。その後、ステイタス・レジスタ５７の中央のビットに「０」を書き込む。以上のようにして、スライドショーのときのピクチャの復号および表示が進行する。
【０１１３】
上述した実施の形態によれば、フレーム・メモリ５３のピクチャ・バンク５３ａ，５３ｂ，５３ｃおよびパラメータ・バンク５３ｆ，５３ｇ，５３ｈに、復号化されたピクチャと、そのピクチャを表示するためのシーケンス・レイヤ、ＧＯＰレイヤおよびピクチャ・レイヤの各パラメータとがセットになって格納されるので、スライドショーのようなビットストリームでも連続して復号することができる。また、任意の順番でピクチャを表示させることができるので、逆順再生を容易に実現させることができる。また、フレーム・メモリ５３におけるピクチャおよび表示用のパラメータの管理が容易となる。
【０１１４】
なお、上述した実施の形態においては、ＭＰＥＧ２を例にして説明したが、これに限らず、本発明はＭＰＥＧ１およびＭＰＥＧ２のいずれにも適用できる。
また、上述した実施の形態においては、フレーム・メモリ５３には３ピクチャ分のバンクが設けられているとしたが、これに限らず、バンクの数は２ピクチャ分でもよいし、４ピクチャ分以上でもよい。さらに、本発明にかかるＭＰＥＧビデオ復号器は上述した実施の形態に限らず、種々設計変更可能であるのはいうまでもない。
【０１１５】
また、本発明を、第１の例として、ＭＰＥＧビットストリームからレイヤの各パラメータ並びにピクチャを復号する画像復号化部と、前記画像復号化部により復号されたピクチャおよび前記各レイヤのパラメータを相互に関連つけて１ピクチャ分ずつ格納する複数のバンクを備えたフレーム・メモリと、前記画像復号化部による復号に対する制御をおこなう復号制御部と、前記フレーム・メモリに格納された、表示対象のピクチャに関連づけされた各レイヤのパラメータに基づいて前記ピクチャの表示制御をおこなう表示制御部と、を具備することを特徴とするＭＰＥＧビデオ復号器とすることができる。
【０１１６】
また、本発明を、第２の例として、前記第１の例のＭＰＥＧビデオ復号器として、前記複数のバンクのピクチャ格納状態を表すステイタス・レジスタをさらに備え、前記復号制御部は、１ピクチャごとに復号が完了すると前記ステイタス・レジスタを更新し、前記表示制御部は、１ピクチャごとに表示が完了すると前記ステイタス・レジスタを更新することを特徴とするＭＰＥＧビデオ復号器とすることができる。
【０１１７】
また、本発明を、第３の例として、前記第１または第２の例のＭＰＥＧビデオ復号器において、前記画像復号化部は、復号したピクチャをマクロブロック単位で一旦格納する内部バッファを備えていることを特徴とするＭＰＥＧビデオ復号器としてもよい。
【０１１８】
また、本発明を、第４の例として、前記第３の例のＭＰＥＧビデオ復号器において、前記内部バッファは、復号された前記各レイヤのパラメータを一旦格納するバッファを兼ねていることを特徴とするＭＰＥＧビデオ復号器としてもよい。
【０１１９】
また、本発明を、第５の例として、前記第４の例のＭＰＥＧビデオ復号器において、前記内部バッファから前記フレーム・メモリへ復号されたピクチャを転送するためのデータ転送パスは、前記内部バッファと前記フレーム・メモリとの間で復号された前記各レイヤのパラメータを転送するためのデータ転送パスを兼ねていることを特徴とするＭＰＥＧビデオ復号器としてもよい。
【０１２０】
また、本発明を、第６の例として、前記第１〜５の例のＭＰＥＧビデオ復号器において、前記画像復号化部は、直前に復号されたピクチャに関連づけされた各レイヤのパラメータに対して、復号対象のピクチャに付随されたパラメータを復号して更新することによって、復号対象のピクチャに関連つける各レイヤのパラメータを生成することを特徴とするＭＰＥＧビデオ復号器としてもよい。
【０１２１】
また、本発明を、第７の例として、前記第１〜５の例のＭＰＥＧビデオ復号器において、前記復号制御部は垂直同期信号に非同期で動作し、一方、前記表示制御部は垂直同期信号に同期して動作することを特徴とするＭＰＥＧビデオ復号器としてもよい。
【０１２２】
また、本発明を、第８の例として、前記第２〜７の例のＭＰＥＧビデオ復号器において、前記表示制御部は、表示させたピクチャが他のピクチャの参照ピクチャである場合には、表示完了後に前記ステイタス・レジスタを更新しないことを特徴とするＭＰＥＧビデオ復号器としてもよい。
【０１２３】
【発明の効果】
本発明によれば、フレーム・メモリの各バンクに、復号化されたピクチャとともにそのピクチャを表示するためのシーケンス・レイヤ、ＧＯＰレイヤおよびピクチャ・レイヤの各パラメータがセットになって格納されるので、スライドショーのようなビットストリームでも連続して復号することができる。また、任意の順番でピクチャを表示させることができる。
【図面の簡単な説明】
【図１】本発明にかかるＭＰＥＧビデオ復号器の一構成例を示すブロック図である。
【図２】本発明にかかるＭＰＥＧビデオ復号器の復号処理の一例を示すフローチャートである。
【図３】本発明にかかるＭＰＥＧビデオ復号器の表示処理の一例を示すフローチャートである。
【図４】本発明にかかるＭＰＥＧビデオ復号器の通常動作時の動作タイミングを示すタイムチャートである。
【図５】本発明にかかるＭＰＥＧビデオ復号器のスライドショーにおける動作タイミングを示すタイムチャートである。
【図６】ＭＰＥＧ規格の各レイヤについてパラメータの一部を示す図表である。
【図７】従来のＭＰＥＧビデオ復号器の構成を示すブロック図である。
【図８】従来のＭＰＥＧビデオ復号器のレジスタ構成を示すブロック図である。
【図９】従来のＭＰＥＧビデオ復号器の動作を説明するためのタイムチャートである。
【図１０】従来のＭＰＥＧビデオ復号器のスライドショーにおける動作を説明するためのタイムチャートである。
【符号の説明】
５２    画像復号化部
５３    フレーム・メモリ
５３ａ，５３ｂ，５３ｃ    ピクチャ・バンク
５３ｆ，５３ｇ，５３ｈ    パラメータ・バンク
５４    復号制御部
５５    表示制御部
５７    ステイタス・レジスタ
５８    内部バッファ（ＭＢバッファ）
７１    データ転送パス
【図１】
0004526145.tif 000002
【図２】
0004526145.tif 000003
【図３】
0004526145.tif 000004
【図４】
0004526145.tif 000005
【図５】
0004526145.tif 000006
【図６】
0004526145.tif 000007
【図７】
0004526145.tif 000008
【図８】
0004526145.tif 000009
【図９】
0004526145.tif 000010
【図１０】
0004526145.tif 000011