(57)【特許請求の範囲】
【請求項１】
シーケンス層とＧＯＰ層とピクチャ層とスライス層とマクロブロック層とブロック層とからなる階層構造のビデオストリームを復号するビデオ復号化装置において、
ピクチャ毎に必ず含まれるスライススタートコードおよびマクロブロックアドレスインクリメントに基づいてシーケンスヘッダ情報を推定するシーケンスヘッダ情報推定手段と、
シーケンスヘッダが検出されないときには、上記シーケンスヘッダ情報推定手段で推定されたシーケンスヘッダ情報を用いてビデオデータを復号する復号手段と
を備え、
上記シーケンスヘッダ情報推定手段は、
上記スライススタートコードの垂直方向の位置に対応するデータから画面の垂直方向の画素数を推定する垂直画素数推定手段と、
同一の水平ラインの各スライスでのマクロブロック上記アドレスインクリメントの蓄積値から該水平ラインに存在するマクロブロックの個数を求め、求められたマクロブロックの個数から画面の水平方向の画素数を推定する水平画素数推定手段と、
上記推定された垂直方向の画素数と水平方向の画素数とで規定される画サイズから、標準解像度か、高解像度かを推定することによって、画面のアスペクト比を推定するアスペクト比推定手段とを有する
ことを特徴とするビデオ復号化装置。
【請求項２】
シーケンス層とＧＯＰ層とピクチャ層とスライス層とマクロブロック層とブロック層とからなる階層構造のビデオストリームを復号するビデオ復号化方法において、
ピクチャ毎に必ず含まれるスライススタートコードおよびマクロブロックアドレスインクリメントに基づいてシーケンスヘッダ情報を推定するステップと、
上記シーケンスヘッダが検出されないときには、上記推定されたシーケンスヘッダ情報を用いてビデオデータを復号するステップと
からなり、
上記シーケンスヘッダ情報を推定するステップは、
上記スライススタートコードの垂直方向の位置に対応するデータから画面の垂直方向の画素数を推定する垂直画素数推定ステップと、
同一の水平ラインの各スライスでのマクロブロック上記アドレスインクリメントの蓄積値から該水平ラインに存在するマクロブロックの個数を求め、求められたマクロブロックの個数から画面の水平方向の画素数を推定する水平画素数推定ステップと、
上記推定された垂直方向の画素数と水平方向の画素数とで規定される画サイズから、標準解像度か、高解像度かを推定することによって、画面のアスペクト比を推定するアスペクト比推定ステップとを有する
ことを特徴とするビデオ復号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、特に、ＭＰＥＧ（Moving Picture Experts Group）方式のビットストリームをデコードするのに用いて好適なディジタル映像信号デコード装置及び方法に関する。
【０００２】
【従来の技術】
従来、ＭＰＥＧ方式のストリームからディジタルビデオ信号のストリームを復号する場合、先ず、デコード装置内の解析部において、シーケンスヘッダ（Sequence＿Header）を検出する処理が行なわれる。これは、シーケンスヘッダを検出しないと、画サイズやアスペクト比が特定できないためである。
【０００３】
すなわち、ＭＰＥＧストリームでは、ＳＤＴＶ（Standard Definition Television）の画面やＨＤＴＶ（High Definition Television）の画面が送られる場合がある。例えば、ディジタル衛星放送では、１つのチャンネルで、ＳＤＴＶの画面のプログラムとＨＤＴＶの画面のプログラムとが多重化されて放送される場合がある。また、ＳＤＴＶの画面のプログラムのチャンネルとＨＤＴＶの画面のプログラムのチャンネルとが切り換えられる場合がある。
【０００４】
ＭＰＥＧストリームを復号する場合には、先ず、画サイズやアスペクト比を設定する必要がある。ＭＰＥＧ方式では、最上位の階層として、シーケンス層が定められている。１つのシーケンスでは、画サイズやピクチャレートが同一とされている。そして、各シーケンスの先頭では、シーケンスヘッダが送られてくる。このシーケンスヘッダには、画サイズやアスペクト比、ピクチャレート等が記述されている。
【０００５】
このため、従来では、ＭＰＥＧ方式のビットストリームをデコードする場合には、先ず、画サイズやアスペクト比を設定するために、シーケンスヘッダが検出される。そして、シーケンスヘッダから画サイズやアスペクト比が設定された後に、最初のフィールド内又はフレーム内符号化されたピクチャから復号が開始される。
【０００６】
【発明が解決しようとする課題】
このように、従来では、ＭＰＥＧストリームの復号を行なう場合には、先ず、シーケンスヘッダが検出されて、画サイズやアスペクト比が設定されている。ところが、シーケンスヘッダを検出してからＭＰＥＧストリームの復号を行なうのでは、シーケンスヘッダを検出するのに時間がかかり、再生が開始されるまでにかなりの待ち時間が必要になるという問題がある。
【０００７】
すなわち、ＭＰＥＧ方式のシーケンス層は、画サイズやピクチャレートが同一となるストリームである。シーケンスヘッダは、最小でＧＯＰ（Gropu Of Picture）周期に設けることができるが、シーケンスヘッダの周期は決められていない。したがって、シーケンスの長さは、最大では、１ビデオプログラムにおよぶということになる。このため、従来では、例えば、衛星放送のチャンネルを切り換えたときには、シーケンスヘッダを検出するのに時間がかかり、再生が開始されるまでに、かなりの待ち時間が必要になる場合がある。
【０００８】
したがって、この発明の目的は、ＭＰＥＧストリームのシーケンスヘッダ情報が検出されないときには、シーケンスヘッダの情報を推定してデコードか開始させることにより、ＭＰＥＧストリームを直ちにデコードできるようにしたビデオ復号化装置及び方法を提供することにある。
【０００９】
【課題を解決するための手段】
この発明は、シーケンス層とＧＯＰ層とピクチャ層とスライス層とマクロブロック層とブロック層とからなる階層構造のビデオストリームを復号するビデオ復号化装置において、
ピクチャ毎に必ず含まれるスライススタートコードおよびマクロブロックアドレスインクリメントに基づいてシーケンスヘッダ情報を推定するシーケンスヘッダ情報推定手段と、
シーケンスヘッダが検出されないときには、シーケンスヘッダ情報推定手段で推定されたシーケンスヘッダ情報を用いてビデオデータを復号する復号手段と
を備え、
シーケンスヘッダ情報推定手段は、
スライススタートコードの垂直方向の位置に対応するデータから画面の垂直方向の画素数を推定する垂直画素数推定手段と、
同一の水平ラインの各スライスでのマクロブロックアドレスインクリメントの蓄積値から該水平ラインに存在するマクロブロックの個数を求め、求められたマクロブロックの個数から画面の水平方向の画素数を推定する水平画素数推定手段と、
推定された垂直方向の画素数と水平方向の画素数とで規定される画サイズから、標準解像度か、高解像度かを推定することによって、画面のアスペクト比を推定するアスペクト比推定手段とを有する
ことを特徴とするビデオ復号化装置である。
【００１０】
この発明は、シーケンス層とＧＯＰ層とピクチャ層とスライス層とマクロブロック層とブロック層とからなる階層構造のビデオストリームを復号するビデオ復号化方法において、
ピクチャ毎に必ず含まれるスライススタートコードおよびマクロブロックアドレスインクリメントに基づいてシーケンスヘッダ情報を推定するステップと、
シーケンスヘッダが検出されないときには、推定されたシーケンスヘッダ情報を用いてビデオデータを復号するステップと
からなり、
シーケンスヘッダ情報を推定するステップは、
スライススタートコードの垂直方向の位置に対応するデータから画面の垂直方向の画素数を推定する垂直画素数推定ステップと、
同一の水平ラインの各スライスでのマクロブロックアドレスインクリメントの蓄積値から該水平ラインに存在するマクロブロックの個数を求め、求められたマクロブロックの個数から画面の水平方向の画素数を推定する水平画素数推定ステップと、
推定された垂直方向の画素数と水平方向の画素数とで規定される画サイズから、標準解像度か、高解像度かを推定することによって、画面のアスペクト比を推定するアスペクト比推定ステップとを有する
ことを特徴とするビデオ復号化方法である。
【００１３】
スライススタートコード（Slice ＿Start ＿Code）の４バイト目は、スライスの垂直位置を示している。したがって、スライススタートコード（Slice ＿Start ＿Code）の４バイト目検出すれば、画面の垂直方向の画素数が求められる。また、マクロブロックアドレスインクリメント（Macroblock＿Address ＿Increment ）は、マクロブロックのスキップ情報を示している。したがって、マクロブロックを復号する毎にマクロブロックアドレスインクリメントを蓄積していけば、画面の水平方向のマクロブロック数が求められる。これに、マクロブロックの大きさを乗算すれば、画面の水平方向の画素数が求められる。
【００１４】
このようにして推定された情報を使ってＭＰＥＧストリームの復号を行なうようにすれば、シーケンスヘッダを検出しなくても、直ちに、ＭＰＥＧストリームの復号を行なうことができる。
【００１５】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。図１は、この発明が適用されたＭＰＥＧ復号装置の一例を示すものである。図１において、入力端子１に、ＭＰＥＧ（ＭＰＥＧ１又はＭＰＥＧ２）ストリームが供給される。このＭＰＥＧストリームは、ＭＰＥＧデコーダ２に供給されると共に、シーケンスヘッダ推測回路３に供給される。ＭＰＥＧデコーダ２は、ＭＰＥＧ（ＭＰＥＧ１又はＭＰＥＧ２）ストリームの復号処理を行なうものである。
【００１６】
ＭＰＥＧデコーダ２で、入力端子１からのＭＰＥＧストリームが復号され、ＭＰＥＧデコーダ２からは、ディジタルビデオデータのストリームが出力される。ＭＰＥＧデコーダ２の出力が表示制御回路４を介して、ディスプレイ５に供給される。これにより、ディスプレイ５に、入力端子１からのＭＰＥＧストリームに基づく画面が映出される。
【００１７】
ＭＰＥＧデコーダ２でＭＰＥＧストリームの復号を行なう場合には、先ず、画サイズやアスペクト比等を設定する必要がある。これらの情報は、シーケンスヘッダ（Sequence＿Header）により検出できる。ところが、シーケンスヘッダを検出するのに時間がかかる場合がある。
【００１８】
そこで、シーケンスヘッダ推測回路３が設けられる。シーケンスヘッダ推測回路３は、ピクチャ毎に必ず含まれている情報を使って、シーケンスヘッダで送られてくるべき情報を推測するものである。
【００１９】
すなわち、シーケンスヘッダでは、画サイズやアスペクト比、フレームレイト、ＶＢＶバッファサイズ、量子化マトリクスの情報等が送られる。シーケンスヘッダ推測回路３では、スライスの情報を使って、垂直方向の画サイズが推測される。マクロブロックの情報を使って、水平方向の画サイズが推測される。推測された垂直方向の画サイズと水平方向の画サイズとを使って、アスペクト比が推測される。ＤＴＳ／ＰＴＳ等のタイムスタンプによって復号のタイミングを知ることにより、フレームレイトが推測される。シーケンスヘッダ推測回路３の出力がＭＰＥＧデコーダ２に供給されると共に、表示制御回路４に供給される。
【００２０】
ＭＰＥＧデコーダ２でＭＰＥＧストリームの復号を行なう場合には、シーケンスヘッダが検出できれば、このシーケンスヘッダの情報を使って、画サイズやアスペクト比、フレームレイト、ＶＢＶバッファサイズ、量子化マトリクス、プログレシブシーケンス等が設定される。
【００２１】
ＭＰＥＧデコーダ２でシーケンスヘッダが検出できないときには、シーケンスヘッダ推測回路３で推測された画サイズやアスペクト比、フレームレイト、ＶＢＶバッファサイズ、量子化マトリクス、プログレシブシーケンス等が設定される。
【００２２】
また、ＭＰＥＧデコーダ２でシーケンスヘッダが検出できないときには、シーケンスヘッダ推測回路３で推測された画サイズやアスペクト比が表示制御回路４に送られ、シーケンスヘッダ推測回路３で推測された画サイズやアスペクト比に応じて、表示画面が設定される。
【００２３】
このように、この発明が適用されたこの発明が適用されたＭＰＥＧ復号装置では、シーケンスヘッダの情報を推測するシーケンスヘッダ推測回路３が設けられており、シーケンスヘッダが検出できないときには、シーケンスヘッダ推測回路３で推測された画サイズやアスペクト比を使って、復号処理が行なわれる。このため、例えば、衛星放送でチャンネルを切り換えたときにも、待ち時間が殆どなく、再生を開始させることができる。
【００２４】
次に、上述のシーケンスヘッダ推測回路３の原理、構成について、具体的に説明する。
【００２５】
図２に示すよう、ＭＰＥＧのデータ構造は、シーケンス層、ＧＯＰ層、ピクチャ層、スライス層、マクロブロック層、ブロック層の階層構造となっている。
【００２６】
シーケンス層は、一連の同じ属性、例えば、同じ画サイズ、同じ画像レートを持つ画面のグループである。ＧＯＰ層は、ランダムアクセスの単位となる画面のグループである。ピクチャ層は、１枚の画面に共通な属性のグループである。スライス層は、１枚の画面を細分化したグループである。マクロブロック層は、スライス層を更に細分化したグループで、動きベクトル検出等を行なうためのグループである。ブロック層はＤＣＴ変換を行なうためのブロックそのものである。
【００２７】
シーケンスの先頭には、シーケンスヘッダ（SH:Sequence ＿Header）が設けられる。このシーケンスヘッダには、
(1)Horizontal ＿Size＿Value ：画像の水平方向の画素数
(2)Vertical ＿Size＿Value ：画像の垂直方向の画素数
(3)Aapect ＿Ratio ＿Information ：アスペクト比
(4)Frame＿Rate＿Code：画像の表示周期
(5)VBV＿Buffer＿Size：発生符号量制御用仮想バッファ（ＶＢＶ）の大きさ
(6)Load ＿Quantization＿Matrix：マクロブロック用の量子化マトリクス
(7)Progressive＿Sequence：順次走査であることを示す
等が記述されている。
【００２８】
このうち、画像の垂直方向の画素数（Vertical＿Size＿Value ）の情報は、スライスの情報から推定できる。
【００２９】
すなわち、図３は、１ピクチャ中のスライスの構成を示すものである。図３に示すように、１ピクチャは、複数のスライスに分けられる。１ピクチャでの最上段（Ｂｓ＝１）の最左端のスライスはＳｌｉｃｅ（１，０）とされ、最上段の左から２番目のスライスはＳｌｉｃｅ（１，１）とされる。以下、同様に、１ピクチャでの最下段（Ｂｓ＝Ｎ）の最左端のスライスはＳｌｉｃｅ（Ｎ，０）とされ、最下段の左から２番目のスライスはＳｌｉｃｅ（Ｎ，１）とされる。
【００３０】
このように、スライスは、水平方向には複数存在可能であるが、必ず、ピクチャの左端で新たなスライスＩＤがスタートコードに持つスライスに切り換わる。このことから、スライス使えば、１ピクチャの垂直方向のサイズを推測することができる。
【００３１】
すなわち、各スライスの先頭には、スライス層の開始を示す同期コードであるスライススタートコード（Slice ＿Start ＿Code）が挿入されている。このスライススタートコードは、１６進数の「００  ００  ０１  ０１〜ＡＦ」で示されており、コードの最後の１バイト（４バイト目の「０１〜ＡＦ」）は、スライスの垂直位置を１６進数で示している。このように、スライススタートコード（Slice ＿Start ＿Code）の４バイト目は、スライスの垂直方向の位置に対応しており、これは、同一のラインでは同一の数となる。
【００３２】
以上のことから、１ピクチャでの最下段でのスライススタートコードの４バイト目を検出すれば、画面の垂直方向の画素数が推定できることになる。
【００３３】
図４は、上述のように、スライスの情報から画面の垂直方向の画素数を推定するための構成を示す機能ブロック図である。図４において、入力端子１１にＭＰＥＧストリームが供給される。このＭＰＥＧストリーム中のピクチャスタートコード（Picture ＿Start ＿Code）がピクチャスタートコード検出部１２で検出され、スライススタートコード（Slice ＿Start ＿Code）がスライススタートコード検出部１３で検出される。
【００３４】
ピクチャスタートコード（Picture ＿Start ＿Code）は、ピクチャ層の開始を示すコードである。スライススタートコード（Slice ＿Start ＿Code）は、スライス層の開始を示すコードで、このスライススタートコードの４バイト目は、垂直位置を示している。
【００３５】
スライススタートコード検出部１３の出力が４バイト目抽出部１４に送られる。４バイト目抽出部１４で、スライススタートコードの４バイト目の情報が抽出される。この４バイト目抽出部１４の出力が垂直サイズレジスタ１５に送られる。
【００３６】
ピクチャスタートコード検出部１２でピクチャスタートコードが検出されることにより、１ピクチャの先頭が検出できる。１ピクチャの先頭が検出されたら、垂直サイズレジスタ１５がリセットされる。そして、スライススタートコード検出部１３でスライススタートコードが検出されたかどうかが判断される。
【００３７】
スライススタートコード検出部１３でスライススタートコードが検出されたら、４バイト目抽出部１４でスライススタートコードの４バイト目の情報が抽出され、このスライススタートコードの４バイト目の情報がレジスタ１５に供給される。そして、ピクチャスタートコード検出部１２で次のピクチャスタートコードが検出されるまで、スライススタートコード検出部１３でスライススタートコードが検出されたら、４バイト目抽出部１４でスライススタートコードの４バイト目の情報を抽出し、この値でレジスタ１５を更新していく。
【００３８】
そして、ピクチャスタートコード検出部１２で次のピクチャスタートコードが検出されたら、レジスタ１５の情報が垂直方向の画素数の情報として、垂直サイズレジスタ１６に取り込まれる。
【００３９】
このように、ピクチャの先頭から最後まで、スライススタートコード検出部１３でスライススタートコードを検出していき、スライススタートコードが検出されたら、４バイト目抽出部１４でその４バイト目の値を抽出して垂直サイズレジスタ１５に取り込んでいけば、垂直サイズレジスタ１６の値から、垂直方向の画素数の推定値が得られる。
【００４０】
画像の水平方向の画素数（ Horizontal ＿Size＿Value ）については、マクロブロックの情報から推定できる。すなわち、図５に示すように、マクロブロックは、スライスを更に区切ったものである。なお、この例では、スライスＳｌｉｃｅ（１，０）に、マクロブロックＭＢ１、ＭＢ２、ＭＢ３があり、スライスＳｌｉｃｅ（１，１）にＭＢ４、ＭＢ５、ＭＢ６、ＭＢ７がある。また、スライスＳｌｉｃｅ（１，０）のマクロブロックＭＢ２とＭＢ３との間に、スキップされたマクロブロックが存在する。
【００４１】
マクロブロックの先頭には、マクロブロックアドレスインクリメント（Macroblock＿Address ＿Increment ）が設けられる。このマクロブロックアドレスインクリメントは、スキップするマクロブロックを示すＶＬＣ（可変長符号）であり、通常の隣接するマクロブロックでは「１」であるが、スキップされるマクロブロックが存在する場合には、スキップされたマクロブロックの分だけ増加した値となる。
【００４２】
したがって、１スライス内でのマクロブロックアドレスインクリメントの値をマクロブロック毎に蓄積していき、水平方向に複数のスライスが存在する場合には、各スライスにおいて蓄積されたマクロブロックアドレスインクリメントの値を合算することで、１画面当たりの横方向のマクロブロック数が認識できる。これに、マクロブロックの大きさ、すなわち、輝度信号に関しては「１６」、２つの色差信号に関しては「８」を乗じれば、１ピクチャ当たりの水平方向の画素数が推定できる。
【００４３】
図６は、上述のように、マクロブロックの情報から画面の水平方向の画素数を推定するための構成を示す機能ブロック図である。
【００４４】
図６において、入力端子２１にＭＰＥＧストリームが供給される。このＭＰＥＧストリーム中のスライススタートコード（Slice ＿Start ＿Code）がスライススタートコード検出部２２で検出され、マクロブロックアドレスインクリメント（Macroblock＿Address ＿Increment ）がマクロブロックアドレスインクリメント検出部２３で検出される。
【００４５】
また、水平方向の画素数を推測する場合には、始めのピクチャコーディングタイプ（Picture Coding Type ）が何であろうと、ＭＰＥＧデコーダ２（図１）で、そのピクチャのみでイントラ処理で復号が行なわれる。そして、マクロブロックの復号が行なわれると、マクロブロックの復号が行なわれたことを示す信号が出力される。このマクロブロックの復号が行なわれたことを示す信号が入力端子２２から、デコードマクロブロック検出部２７に供給される。
【００４６】
スライスコード検出部２２により、１ラインの最左端のスライスが検出されると、レジスタ２５、レジスタ２８Ａ、２８Ｂ、…、水平サイズレジスタ３１がクリアされる。そして、マクロブロックアドレスインクリメント検出部２３で、マクロブロックアドレスインクリメント（Macroblock＿Address ＿Increment ）が検出される。
【００４７】
このマクロブロックアドレスインクリメントは、マクロブロックのスキップ情報を示し、「１」〜「３３」に対応するインクリメント値が可変長符号で書かれている。なお、マクロブロックアドレスインクリメントが「３３」以上のときには、マクロブロックエスケープ（Macroblock＿Escape）も参照される。
【００４８】
マクロブロックアドレスインクリメント検出部２３の出力がＶＬＣ復号部２４に供給される。ＶＬＣ復号部２４で、マクロブロックアドレスインクリメントの値が復号される。
【００４９】
ＶＬＣ復号部２４の出力が加算器２６に供給される。加算器２６には、レジスタ２５の出力が供給される。レジスタ２５には、デコードマクロブロック検出部２７の出力が供給される。デコードマクロブロック検出部２７の出力から、マクロブロックの復号が行なわれたことが検出されると、加算器２６で、今回のマクロブロックアドレスインクリメントの値と、前回のマクロブロックアドレスインクリメントの値とが加算され、マクロブロックアドレスインクリメントの値が蓄積されていく。これにより、同一の水平ラインの各スライスでのマクロブロックアドレスインクリメントの蓄積値が求められる。
【００５０】
レジスタ２５の出力がレジスタ２８Ａ、２８Ｂ、…に供給される。レジスタ２８Ａ、２８Ｂ、…は、水平方向に複数のスライスがある場合に、各スライスでのマクロブロックアドレスインクリメントの蓄積値を取り込むものである。レジスタ２８Ａ、２８Ｂ、…には、スライススタートコード検出部２２の出力が供給される。このスライススタートコード検出部２２の出力により、マクロブロックアドレスインクリメントの蓄積値がスライス毎にレジスタ２８Ａ、２８Ｂ、…に取り込まれる。例えば、同一の水平ラインの最初のスライスでのマクロブロックアドレスインクリメントの蓄積値がレジスタ２８Ａに取り込まれ、同一の水平ラインの次のスライスでのマクロブロックアドレスインクリメントの蓄積値がレジスタ２８Ｂに取り込まれていく。
【００５１】
レジスタ２８Ａ、２８Ｂ、…の出力が加算器２９に供給される。加算器２９で、各スライスでのマクロブロックアドレスインクリメントの蓄積値が合算される。このように、各スライスにおいて蓄積されたマクロブロックアドレスインクリメントの値を合算することで、１画面当たりの横方向のマクロブロック数が求められる。
【００５２】
加算器２９の出力が乗算器３０に供給される。乗算器３０は、マクロブロックの数に、マクロブロックの大きさを乗じて、水平方向の画素数を算出するものである。すなわち、乗算器３０で、マクロブロック数にマクロブロックの水平方向の大きさを乗じることにより、１ピクチャ当たりの水平方向の画素数が算出される。このようにして求められた水平方向の画素数が水平サイズレジスタ３１に供給される。
【００５３】
このように、加算器２６及びレジスタ２５で、１スライス内でのマクロブロックアドレスインクリメントの値をマクロブロック毎に蓄積していき、加算器２９で各スライスにおいて蓄積されたマクロブロックアドレスインクリメントの値を合算することで、１画面当たりの横方向のマクロブロック数が算出される。乗算器３０で、これにマクロブロックの大きさが乗じられ、１ピクチャ当たりの水平方向の画素数が求められる。
【００５４】
アスペクト比（ Aapect ＿Ratio ＿Information ）については、上述のようにして求められた画像の水平方向の画素数と垂直方向の画素数とから推測できる。画サイズが（７２０×４８０）なら、ＳＤＴＶなので、アスペクト比は（４：３）と推定される。画サイズが（９２０×１０８０）なら、ＨＤＴＶなので、（１６：９）と推定される。
【００５５】
画像の表示周期（Frame ＿Rate＿Code）については、ＤＴＳ／ＰＴＳ等のタイムスタンプによって復号化のタイミングを知ることにより、間接的に類推される。
【００５６】
なお、発生符号量制御用仮想バッファ（ＶＢＶ）の大きさ（ VBV＿Buffer＿Size）については、考えられるレベル・プロファイルにおいて最大のものが用意される。同様に、復号化画像についても、通常考えられる該当するレベル・プロファイルにおいて最大サイズの容量が確保される。
【００５７】
マクロブロック用の量子化マトリクス（Load＿Quantization＿Matrix）については、デフォルト値で代用される。
【００５８】
プログレシブシーケンス（Progressive ＿Sequence）については、毎フレーム多重化されるピクチャコーディングタイプ（Picture ＿Coding＿Type）の中のプログレシブフレーム（Progressive ＿Frame ）で代用される。
【００５９】
なお、上述の例では、ＭＰＥＧ１又はＭＰＥＧ２方式のストリームをデコードする場合について説明したが、この発明は、同様な階層構造のストリームをデコードする場合にも、同様に適用できる。
【００６０】
【発明の効果】
この発明によれば、シーケンスヘッダが検出されないときには、スライススタートコード（Slice ＿Start ＿Code）の４バイト目検出して、画面の垂直方向の画素数が推定され、マクロブロックアドレスインクリメント（Macroblock＿Address ＿Increment ）を蓄積して画面の水平方向のマクロブロック数が求められ、これにマクロブロックの大きさを乗算して、画面の水平方向の画素数が推定される。そして、このようにして推定された情報を使ってＭＰＥＧの復号が行なわれる。これにより、シーケンスヘッダを検出しなくても、直ちに、ＭＰＥＧストリームの復号を行なうことができる。
【図面の簡単な説明】
【図１】この発明が適用されたＭＰＥＧデコード装置の一例のブロック図である。
【図２】ＭＰＥＧ方式の階層構造の説明に用いる略線図である。
【図３】スライスの説明に用いる略線図である。
【図４】水平方向の画サイズの推定回路の構成を示す機能ブロック図である。
【図５】マクロブロックの説明に用いる略線図である。
【図６】垂直方向の画サイズの推定回路の構成を示す機能ブロック図である。
【符号の説明】
２・・・ＭＰＥＧデコーダ、３・・・ヘッダ推定回路、４・・・表示制御回路、１３・・・スライススタートコード検出部、１４・・・４バイト目抽出部、２３・・・マクロブロックアドレスインクリメント検出部
【図１】
0004029520.tif 000002
【図２】
0004029520.tif 000003
【図３】
0004029520.tif 000004
【図４】
0004029520.tif 000005
【図５】
0004029520.tif 000006
【図６】
0004029520.tif 000007