(57)【要約】【課題】  例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現する。【解決手段】  ピクチャ間処理制御部１１３は、フレームバッファ１３０内のどの画像を参照画として使用するかの情報をデコード処理部１２０に知らせる。また、デコードを開始したことを、時間管理部１１２に知らせる。さらにスライス間処理制御部１１４が、デコード処理をそのまま続行するか、簡易デコードで続けるか、中止するかを判断する。また、スライス間処理制御部１１４からピクチャ間処理制御部１１３にそれを通知する。時間管理部１１２は、デコード開始タイミング(フレーム同期信号)の生成、及びデコード開始以降の経過時間の計測を行う。そしてデコード開始タイミングになるとピクチャ間処理制御部１１３に通知する。また、スライス間処理制御部１１４からの要求に応じ、デコード開始以降の経過時間、次のフレーム同期信号が発生するまでの残り時間を知らせる。【選択図】        図１
2005124091.tif 000002
【特許請求の範囲】
【請求項１】
デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、
デコード処理途中の時間を計測する機能を有するデコード制御部と、
デコード処理途中で一時停止して前記デコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、
前記デコード処理部は、さらに通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有するものであって、
前記デコード制御部からの指示に応じて前記デコード処理部の動作を前記デコード処理途中で切り替えることを可能とした
ことを特徴とする復号装置。
【請求項２】
請求項１記載の復号装置において、
前記デコード処理部はＭＰＥＧの１スライスごとに動作を停止し、
前記デコード制御部が前記スライス単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号装置。
【請求項３】
請求項１記載の復号装置において、
前記デコード処理部はＭＰＥＧの１マクロブロックごとに動作を停止し、
前記デコード制御部が前記マクロブロック単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号装置。
【請求項４】
請求項１記載の復号装置において、
画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
前記特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
ことを特徴とする復号装置。
【請求項５】
デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、
デコード処理途中の時間を計測する機能を有するデコード制御部と、
デコード処理途中で一時停止して前記デコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、
前記デコード処理部は、さらに通常のデコード処理の他にＭＰＥＧの双方向予測マクロブロックのデコードを、２つある参照画像のうち１つだけを使って短時間で高速に動作する簡易デコード機能を有するものであって、
前記デコード制御部からの指示に応じて前記デコード処理部の動作を前記デコード処理途中で切り替えることを可能とした
ことを特徴とする復号装置。
【請求項６】
請求項５記載の復号装置において、
前記デコード処理部はＭＰＥＧの１スライスごとに動作を停止し、
前記デコード制御部が前記スライス単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号装置。
【請求項７】
請求項５記載の復号装置において、
前記デコード処理部はＭＰＥＧの１マクロブロックごとに動作を停止し、
前記デコード制御部が前記マクロブロック単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号装置。
【請求項８】
請求項５記載の復号装置において、
画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
前記特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
ことを特徴とする復号装置。
【請求項９】
デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、
デコード処理途中の時間を計測し、
デコード処理途中で一時停止しながらデコード動作を行うと共に、
通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、
前記計測された時間に応じて前記デコード動作を前記デコード処理途中で切り替えることを可能とした
ことを特徴とする復号方法。
【請求項１０】
請求項９記載の復号方法において、
前記デコード動作はＭＰＥＧの１スライスごとに動作を停止し、
前記スライス単位で前記デコード動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号方法。
【請求項１１】
請求項９記載の復号方法において、
前記デコード動作はＭＰＥＧの１マクロブロックごとに動作を停止し、
前記マクロブロック単位で前記デコード動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号方法。
【請求項１２】
請求項９記載の復号方法において、
画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
前記特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
ことを特徴とする復号方法。
【請求項１３】
デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、
デコード処理途中の時間を計測し、
デコード処理途中で一時停止しながらデコード動作を行うと共に、
通常のデコード処理の他にＭＰＥＧの双方向予測マクロブロックのデコードを、２つある参照画像のうち１つだけを使って短時間で高速に動作する簡易デコード機能を有し、
前記計測された時間に応じて前記デコード動作を前記デコード処理途中で切り替えることを可能とした
ことを特徴とする復号方法。
【請求項１４】
請求項１３記載の復号方法において、
前記デコード動作はＭＰＥＧの１スライスごとに動作を停止し、
前記スライス単位で前記デコード動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号方法。
【請求項１５】
請求項１３記載の復号方法において、
前記デコード動作はＭＰＥＧの１マクロブロックごとに動作を停止し、
前記マクロブロック単位で前記デコード動作を前記簡易デコードにするか否か切り替える
ことを特徴とする復号方法。
【請求項１６】
請求項１３記載の復号方法において、
画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
前記特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
ことを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば４：２：２Ｐ@HLに対応したビデオデコーダに使用して好適な復号装置及び復号方法に関する。詳しくは、特に４：２：２Ｐ@HLに対応して、実現可能な回路規模で実時間動作が可能なビデオデコーダを実現することができるようにしたものである。
【背景技術】
【０００２】
従来の４：２：２Ｐ@HLに対応したビデオデコーダでは、例えばスライスデコーダを採用して全体の処理時間の短縮を図っている（例えば、特許文献１参照。）。
【０００３】
しかしながら、上述の技術では、本願発明のように直接的に処理時間そのものを短縮することについては記載されていないものである。
【特許文献１】特開２００１−３５９１０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＭＰＥＧ２（Moving Picture Coding Experts Group / Moving Picture Experts Group2）ビデオは、ＩＳＯ／ＩＥＣ（International Standards Organization / International ElectrotechnicalCommission）13818−2、およびＩＴＵ−Ｔｓｐ（International Telecommunication Union−Telecommunication sector）勧告H.262に規定されているビデオ信号の高能率符号化方式である。
【０００５】
ＭＰＥＧ２の符号化ストリームは、符号化の手法によって決まるプロファイルと、取り扱う画素数によって決まるレベルによってクラス分けされ、広範囲なアプリケーションに対応できるようになされている。例えば、MP@ML（メイン・プロファイル・メイン・レベル）は、そのクラスの１つであり、ＤＶＢ（Digital Video Broadcast）や、ＤＶＤ（Digital Versatile Disk）に広く実用化されている。プロファイルおよびレベルは、図１０を用いて後述するsequence_extensionに記述される。
【０００６】
また、放送局におけるビデオ信号の制作には、ビデオの色差信号を、従来のベースバンドと同様の４：２：２方式で取り扱い、ビットレートの上限を増加した４：２：２Ｐ（４：２：２プロファイル）が規定されている。更に、次世代の高解像度ビデオ信号に対応するために、HL（ハイ・レベル）が規定されている。
【０００７】
図６に、ＭＰＥＧ２の代表的なクラスと、それぞれのクラスにおける、各種パラメータの上限値を示す。図６には、４：２：２Ｐ@HL（４：２：２プロファイル・ハイ・レベル）、４：２：２Ｐ@ML（４：２：２：プロファイル・メイン・レベル）、MP@HL（メイン・プロファイル・ハイ・レベル）、MP@HL‐1440（メイン・プロファイル・ハイ・レベル‐１４４０）、MP@ML（メイン・プロファイル・メイン・レベル）、MP@LL（メイン・プロファイル・ロー・レベル）、および、SP@ML（シンプル・プロファイル・メイン・レベル）について、ビットレート、１ラインあたりのサンプル数、１フレームあたりのライン数、フレーム周波数、およびサンプルの処理時間の上限値がそれぞれ示されている。
【０００８】
図６から、４：２：２Ｐ@HLのビットレートの上限値は、３００（Mbit/sec）であり、処理する画素数の上限値は、62,668,800（samples/sec）である。一方、MP@MPのビットレートの上限値は、１５（Mbit/sec）であり、処理する画素数の上限値は、10,368,000（samples/sec）である。すなわち、４：２：２Ｐ@HLをデコードするビデオデコーダは、MP@MLをデコードするビデオデコーダと比較して、ビットレートで２０倍、処理する画素数で約６倍の処理能力が必要であることがわかる。
【０００９】
図７に、ＭＰＥＧ２ビデオビットストリームのレベル構造を示す。
【００１０】
最上位層であるピクチャ層の最初には、sequence_headerが記述されている。sequence_headerは、MPEGビットストリームのシーケンスのヘッダデータを定義するものである。シーケンス最初のsequence_headerに、sequence_extensionが続かない場合、このビットストリームには、ISO/IEC11172−2の規定が適応される。シーケンスの最初のsequence_headerに、sequence_extensionが続く場合、その後発生する全てのsequence_headerの直後には、sequence_extensionが続く。すなわち、図７に示す場合においては、全てのsequence_headerの直後に、sequence_extensionが続く。
【００１１】
sequence_extensionは、ＭＰＥＧビットストリームのシーケンス層の拡張データを定義するものである。sequence_extensionは、sequence_headerの直後にのみ発生し、かつ、復号後、およびフレームリオーダリング後にフレームの損失がないようにするために、ビットストリームの最後に位置するsequence_end_codeの直前にきてはならない。また、ビットストリーム中に、sequence_extensionが発生した場合、それぞれのpicture_headerの直後にpicture_cording_extentionが続く。
【００１２】
ＧＯＰ（group_of_picture）内には、複数の画像（picture）が含まれる。GOP_headerは、ＭＰＥＧビットストリームのＧＯＰ層のヘッダデータを定義するものであり、更に、このビットストリーム中には、picture_headerとpicture_coding_extensionによって定義されたデータエレメントが記述されている。１枚の画像は、picture_headerおよびpicture_coding_extensionに続くpicture_dataとして符号化される。また、GOP_headerに続く最初の符号化フレームは、符号化されたＩフレームである（すなわち、GOP_headerの最初の画像はＩピクチャである）。ＩＴＵ−Ｔ勧告H.262には、sequence_extensionおよびpicture_cording_extentionの他、各種の拡張が定義されているが、ここでは図示、および説明は省略する。
【００１３】
picture_headerは、ＭＰＥＧビットストリームのピクチャ層のヘッダデータを定義するものであり、picture_coding_extensionは、ＭＰＥＧビットストリームのピクチャ層の拡張データを定義するものである。
【００１４】
picture_dataは、ＭＰＥＧビットストリームのスライス層およびマクロブロック層に関するデータエレメントを記述するものである。picture_dataは、図７に示されるように、複数のslice（スライス）に分割され、スライスは、複数のmacro_block（マクロブロック）に分割される。
【００１５】
macro_blockは、１６×１６の画素データで構成されている。スライスの最初のマクロブロックおよび最後のマクロブロックは、スキップマクロブロック（情報を含まないマクロブロック）ではない。マクロブロックは、１６×１６の画素データで構成されている。また、各ブロックは、８×８の画素データで構成されている。また、フレームＤＣＴ（Discrete Cosine Transform：離散コサイン変換）符号化およびフィールドＤＣＴ符号化の使用が可能なフレーム画像においては、フレーム符号化とフィールド符号化の場合で、マクロブロックの内部構成が相違する。
【００１６】
マクロブロックは、輝度成分および色差成分の１区画を含む。マクロブロックという用語は、情報源および復号データまたは対応する符号化データ成分のいずれかを示す。マクロブロックには、４：２：０、４：２：２および４：４：４の3つの色差フォーマットがある。マクロブロックにおけるブロックの順序は、それぞれの色差フォーマットによって異なる。
【００１７】
図８（Ａ）に、４：２：０：方式の場合におけるマクロブロックを示す。４：２：０方式の場合、マクロブロックは、４個の輝度（Ｙ）ブロックと、それぞれ１個の色差（Cb，Cr）ブロックで構成される。図８（Ｂ）に、４：２：２方式の場合におけるマクロブロックを示す。４：２：２方式の場合、マクロブロックは、４個の輝度（Ｙ）ブロックと、それぞれ２個の色差（Cb，Cr）ブロックで構成される。
【００１８】
各マクロブロックは、いくつかの方法により、予測符号化処理が可能である。予測モードは、フィールド予測とフレーム予測の２種類に大別される。フィールド予測においては、先に復号された、１つ、もしくは複数のフィールドのデータを使用し、各フィールドについて、独自に予測を行う。フレーム予測は、先に復号された、１つ、もしくは複数のフレームを使用してフレームの予測を行う。フィールド画像内では、予測は全てフィールド予測である。一方、フレーム画像においては、フィールド予測、またはフレーム予測のいずれかにより予測が可能であり、その予測方法は、マクロブロックごとに選択される。また、マクロブロックの予測符号化処理においては、フィールド予測およびフレーム予測以外に、１６×８動き補償およびデュアルプライムの２種類の特別予測モードを使用することができる。
【００１９】
動きベクトル情報、および他の周辺情報は、各マクロブロックの予測誤差信号とともに符号化される。動きベクトルの符号化については、可変長符号を使用して符号化された最後の動きベクトルを予測ベクトルとして、予測ベクトルとの差分ベクトルを符号化する。表示可能なベクトルの最大長は、画像毎にプログラムすることができる。また、適切な動きベクトルの計算は、符号器が行う。
【００２０】
そして、picture_dataの次には、sequence_headerとsequence_extensionが配置されている。このsequence_headerとsequence_extensionによって記述されたデータエレメントは、ビデオストリームのシーケンスの先頭に記述されたsequence_headerとsequence_extensionによって記述されたデータエレメントと全く同じである。このように同じデータをストリーム中に記述する理由は、ビットストリーム受信装置側でデータストリームの途中（例えばピクチャ層に対応するビットストリーム部分）から受信が開始された場合に、シーケンス層のデータを受信できなくなり、ストリームをデコード出来なくなることを防止するためである。
【００２１】
最後のsequence_headerとsequence_extensionとによって定義されたデータエレメントの次、つまり、データストリームの最後には、シーケンスの終わりを示す３２ビットのsequence_end_codeが記述されている。
【００２２】
次に、図９乃至１２を用いて、それぞれのデータエレメントの詳細について説明する。
【００２３】
図９に、sequence_headerのデータ構成を示す。sequence_headerに含められるデータエレメントは、sequence_header_code、horizontal_size_value、vertical_size_value、aspect_ratio_information、frame_rate_code、bit_rate_value、marker_bit、vbv_buffer_size_value、constrained_parameter_flag、load_intra_quantiser_matrix、intra_quantiser_matrix、load_non_intra_quantiser_matrix、およびnon_intra_quantiser_matrix等から構成される。
【００２４】
sequence_header_codeは、シーケンス層のスタート同期コードを表すデータである。horizontal_size_valueは、画像の水平方向の画素数の下位１２ビットからなるデータである。vertical_size_valueは、画像の縦のライン数の下位１２ビットからなるデータである。aspect_ratio_informationは、画素のアスペクト比（縦横比）または表示画面アスペクト比を表すデータである。frame_rate_codeは、画像の表示周期を表すデータである。bit_rate_valueは、発生ビット量に対する制限のためのビットレートの下位18ビットのデータである。
【００２５】
そして、marker_bitは、スタートコードエミュレーションを防止するために挿入されるビットデータである。vbv_buffer_size_valueは、発生符号量制御用の仮想バッファＶＢＶ（Video Buffering Verifier）の大きさを決める値の下位10ビットデータである。constrained_parameter_flagは、各パラメータが制限以内であることを示すデータである。load_non_intra_quantiser_matrixは、非イントラＭＢ用量子化マトリックス・データの存在を示すデータである。load_intra_quantiser_matrixは、イントラＭＢ用量子化マトリックス・データの存在を示すデータである。intra_quantiser_matrixは、イントラＭＢ用量子化マトリックスの値を示すデータである。non_intra_quantiser_matrixは、非イントラＭＢ用量子化マトリックスの値を表すデータである。
【００２６】
図１０に、sequence_extensionのデータ構成を示す。sequence_extensionは、 extension_start_code、extension_start_code_identifier、profile_and_level_indication、progressive_sequence、chroma_format、horizontal_size_extension、vertical_size_extension、bit_rate_extension、marker_bit、vbv_buffer_size_extension、low_delay、frame_rate_extension_n 、および frame_rate_extension_d等のデータエレメントから構成されている。
【００２７】
extension_start_codeは、エクステンションデータのスタート同期コードを表すデータである。extension_start_code_identifierは、どの拡張データが送られるかを示すデータである。profile_and_level_indicationは、ビデオデータのプロファイルとレベルを指定するためのデータである。progressive_sequenceは、ビデオデータが順次走査（プログレッシブ画像）であることを示すデータである。chroma_formatは、ビデオデータの色差フォーマットを指定するためのデータである。horizontal_size_extensionは、シーケンスヘッダのhorizntal_size_valueに加える上位２ビットのデータである。vertical_size_extensionは、シーケンスヘッダのvertical_size_valueに加える上位２ビットのデータである。
【００２８】
そして、bit_rate_extensionは、シーケンスヘッダのbit_rate_valueに加える上位１２ビットのデータである。marker_bitは、スタートコードエミュレーションを防止するために挿入されるビットデータである。vbv_buffer_size_extensionは、シーケンスヘッダのvbv_buffer_size_valueに加える上位８ビットのデータである。low_delayは、Ｂピクチャを含まないことを示すデータである。frame_rate_extension_nは、シーケンスヘッダのframe_rate_codeと組み合わせてフレームレートを得るためのデータである。frame_rate_extension_dは、シーケンスヘッダのframe_rate_codeと組み合わせてフレームレートを得るためのデータである。
【００２９】
図１１に、GOP_headerのデータ構成を示す。GOP_headerを表わすデータエレメントは、group_start_code、time_code、closed_gop、およびbroken_linkから構成される。
【００３０】
group_start_codeは、ＧＯＰ層の開始同期コードを示すデータである。time_codeは、ＧＯＰの先頭ピクチャの時間を示すタイムコードである。closed_gopは、ＧＯＰ内の画像が他のＧＯＰから独立再生可能なことを示すフラグデータである。broken_linkは、編集などのためにＧＯＰ内の先頭のＢピクチャが正確に再生できないことを示すフラグデータである。
【００３１】
図１２に、picture_headerのデータ構成を示す。picture_headerに関するデータエレメントは、picture_start_code、temporal_reference、picture_coding_type、vbv_delay、full_pel_forward_vector、forward_f_code、full_pel_backward_vector、および backward_f_code等から構成される。
【００３２】
picture_start_codeは、ピクチャ層の開始同期コードを表すデータである。temporal_referenceは、ピクチャの表示順を示す番号でＧＯＰの先頭でリセットされるデータである。picture_coding_typeは、ピクチャタイプを示すデータである。vbv_delayは、ランダムアクセス時の仮想バッファの初期状態を示すデータである。full_pel_forward_vector、forward_f_code、full_pel_backward_vector、およびbackward_f_codeは、MPEG2では使用されない固定データである。
【００３３】
図１３に、picture_coding_extensionのデータ構成を示す。picture_coding_extensionは、extension_start_code、extension_start_code_identifier、f_code[0][0]、f_code[0][1]、f_code[1][0]、f_code[1][1]、intra_dc_precision、picture_structure、top_field_first、frame_pred_frame_dct、concealment_motion_vectors、q_scale_type、intra_vlc_format、alternate_scan、repeat_firt_field、chroma_420_type、progressive_frame、composite_display_flag、v_axis、field_sequence、sub_carrier、burst_amplitude、およびsub_carrier_phase等から構成される。
【００３４】
extension_start_codeは、ピクチャ層のエクステンションデータのスタートを示す開始コードである。extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。 f_code[0][0]は、フォワード方向の水平動きベクトル探索範囲を表すデータである。f_code[0][1]は、フォワード方向の垂直動きベクトル探索範囲を表すデータである。f_code[1][0]は、バックワード方向の水平動きベクトル探索範囲を表すデータである。f_code[1][1]は、バックワード方向の垂直動きベクトル探索範囲を表すデータである。
【００３５】
intra_dc_precisionは、DC係数の精度を表すデータである。ブロック内の各画素の輝度および色差信号を表した行列fに、ＤＣＴを施すと、８×８のＤＣＴ係数行列Ｆが得られる。この行列Ｆの左上隅の係数をＤＣ係数と呼ぶ。ＤＣ係数はブロック内の平均輝度、平均色差を表わす信号である。picture_structureは、フレームストラクチャかフィールドストラクチャかを示すデータであり、フィールドストラクチャの場合は、上位フィールドか下位フィールドかもあわせて示すデータである。top_field_firstは、フレームストラクチャの場合、最初のフィールドが上位か下位かを示すデータである。frame_predictive_frame_dctは、フレームストラクチャの場合、フレーム・モードＤＣＴの予測がフレーム・モードだけであることを示すデータである。concealment_motion_vectorsは、イントラマクロブロックに伝送エラーを隠蔽するための動きベクトルがついていることを示すデータである。
【００３６】
q_scale_typeは、線形量子化スケールを利用するか、非線形量子化スケールを利用するかを示すデータである。intra_vlc_formatは、イントラマクロブロックに、別の２次元ＶＬＣ（Variable Length Cording）を使うか否かを示すデータである。alternate_scanは、ジグザグスキャンを使うか、オルタネート・スキャンを使うかの選択を表すデータである。repeat_firt_fieldは、２：３プルダウンの際に使われるデータである。chroma_420_typeは、信号フォーマットが４：２：０の場合、次のprogressive_frame と同じ値であり、そうでない場合は０を表すデータである。progressive_frameは、このピクチャが、順次走査かインタレースフィールドかを示すデータである。composite_display_flagは、ソース信号がコンポジット信号であったかどうかを示すデータである。v_axis、field_sequence、sub_carrier、burst_amplitude、およびsub_carrier_phaseは、ソース信号がコンポジット信号の場合に使われるデータである。
【００３７】
図１４に、picture_dataのデータ構成を示す。picture_data（）関数によって定義されるデータエレメントは、slice（）関数によって定義されるデータエレメントである。このslice（）関数によって定義されるデータエレメントは、ビットストリーム中に少なくとも１個記述されている。
【００３８】
slice（）関数は、図１５に示されるように、slice_start_code、quantiser_scale_code、intra_slice_flag、intra_slice、reserved_bits、extra_bit_slice、およびextra_information_slice等のデータエレメントと、macroblock（）関数によって定義される。
【００３９】
slice_start_codeは、slice（）関数によって定義されるデータエレメントのスタートを示すスタートコードである。quantiser_scale_codeは、このスライス層に存在するマクロブロックに対して設定された量子化ステップサイズを示すデータであるが、マクロブロック毎に、quantiser_scale_codeが設定されている場合には、各マクロブロックに対して設定されたmacroblock_quantiser_scale_codeのデータが優先して使用される。
【００４０】
intra_slice_flagは、ビットストリーム中にintra_sliceおよびreserved_bitsが存在するか否かを示すフラグである。intra_sliceは、スライス層中にノンイントラマクロブロックが存在するか否かを示すデータである。スライス層におけるマクロブロックのいずれかがノンイントラマクロブロックである場合には、intra_sliceは「０」となり、スライス層におけるマクロブロックの全てがノンイントラマクロブロックである場合には、intra_sliceは「１」となる。reserved_bitsは、７ビットのデータであって「０」の値を取る。extra_bit_sliceは、追加の情報が存在することを示すフラグであって、次にextra_information_sliceが存在する場合には「１」に設定され、追加の情報が存在しない場合には「０」に設定される。
【００４１】
これらのデータエレメントの次には、macroblock（）関数によって定義されたデータエレメントが記述されている。macroblock（）関数は、図１６に示すように、macroblock_escape、macroblock_address_increment、およびquantiser_scale_code、およびmarker_bit等のデータエレメントと、macroblock_modes（）関数、motion_vectors（s）関数、およびcoded_block_pattern（）関数によって定義されたデータエレメントを記述するための関数である。
【００４２】
macroblock_escapeは、参照マクロブロックと前のマクロブロックとの水平方向の差が３４以上であるか否かを示す固定ビット列である。参照マクロブロックと前のマクロブロックとの水平方向の差が３４以上の場合には、macroblock_address_incrementの値に３３が加えられる。macroblock_address_incrementは、参照マクロブロックと前のマクロブロックとの水平方向の差を示すデータである。もし、macroblock_address_incrementの前にmacroblock_escapeが１つ存在するのであれば、このmacroblock_address_incrementの値に３３を加えた値が、実際の参照マクロブロックと前のマクロブロックとの水平方向の差分を示すデータとなる。
【００４３】
quantiser_scale_codeは、各マクロブロックに設定された量子化ステップサイズを示すデータであり、macroblock_quantが「１」のときだけ存在する。各スライス層には、スライス層の量子化ステップサイズを示すslice_quantiser_scale_codeが設定されているが、参照マクロブロックに対してscale_codeが設定されている場合には、この量子化ステップサイズを選択する。
【００４４】
macroblock_address_incrementの次には、macroblock_modes（）関数によって定義されるデータエレメントが記述されている。macroblock_modes（）関数は、図１７に示すように、macroblock_type、frame_motion_type、field_motion_type、dct_type等のデータエレメントを記述するための関数である。macroblock_typeは、マクログブロックの符号化タイプを示すデータである。
【００４５】
macroblock_motion_forward又はmacroblock_motion_backwardが「１」であり、ピクチャ構造がフレームであり、更にframe_pred_frame_dctが「０」である場合には、macroblock_typeを表わすデータエレメントの次にframe_motion_typeを表わすデータエレメントが記述されている。なお、このframe_pred_frame_dctは、 frame_motion_typeがビットストリーム中に存在するか否かを示すフラグである。
【００４６】
frame_motion_typeは、フレームのマクロブロックの予測タイプを示す２ビットのコードである。予測ベクトルが２個で、フィールドベースの予測タイプであれば、frame_motion_typeは「００」であり、予測ベクトルが１個で、フィールドベースの予測タイプであれば、frame_motion_typeは「０１」であり、予測ベクトルが１個で、フレームベースの予測タイプであれば、frame_motion_typeは「１０」であり、予測ベクトルが１個で、デュアルプライムの予測タイプであれば、frame_motion_typeは「１１」である。
【００４７】
field_motion_typeは、フィールドのマクロブロックの動き予測を示す２ビットのコードである。予測ベクトルが１個でフィールドベースの予測タイプであれば「０１」であって、予測ベクトルが２個で１８×８マクロブロックベースの予測タイプであれば「１０」であって、予測ベクトルが１個でデュアルプライムの予測タイプであれば「１１」である。
【００４８】
ピクチャ構造がフレームであり、frame_pred_frame_dctが、そのビットストリーム中にframe_motion_typeが存在することを示し、frame_pred_frame_dctが、そのビットストリーム中にdct_typeが存在することを示している場合、macroblock_typeを表わすデータエレメントの次にはdct_typeを表わすデータエレメントが記述されている。なお、dct_typeは、ＤＣＴがフレームＤＣＴモードか、フィールドＤＣＴモードかを示すデータである。
【００４９】
ＭＰＥＧ２のストリームにおいて、以上説明したそれぞれのデータエレメントは、start codeと称される、特殊なビットパターンで開始される。これらのスタートコードは、別の状況では、ビデオストリーム中に現れない特定のビットパターンである。各スタートコードは、スタートコードプレフィクスと、それに続くスタートコード値から構成される。スタートコードプレフィクスは、ビット列“00000000 0000 0000 0000 0001”である。スタートコード値は、スタートコードのタイプを識別する8ビットの整数である。
【００５０】
図１８に、ＭＰＥＧ２の各start codeの値を示す。多くのスタートコードは、１個のスタートコード値より示される。しかし、slice_start_codeは、０１乃至ＡＦの複数のスタートコード値により示され、このスタートコード値は、スライスに対する垂直位置を表わす。これらのスタートコードは、全てバイト単位であるため、スタートコードプレフィクスの最初のビットがバイトの最初のビットになるように、スタートコードプレフィクスの前に、複数のビット“０”が挿入され、スタートコードがバイト単位になるように調整される。
【００５１】
図１９は、従来のMP@MLに対応したＭＰＥＧビデオデコーダの回路構成を示すブロック図である。
【００５２】
ＭＰＥＧビデオデコーダは、ストリーム入力回路１１、バッファ制御回路１２、クロック発生回路１３、スタートコード検出回路１４、デコーダ１５、動き補償回路１６、および表示出力回路１７から構成されるＩＣ（integrated circuit）１と、ストリームバッファ２１およびビデオバッファ２２で構成され、例えば、ＤＲＡＭ（Dynamic Random Access Memory）からなるバッファ２により構成される。
【００５３】
ＩＣ１のストリーム入力回路１１は、高能率符号化された符号化ストリームの入力を受け、バッファ制御回路１２に供給する。バッファ制御回路１２は、クロック発生回路１３から供給される基本クロックに従って、入力された符号化ストリームをバッファ２のストリームバッファ２１に入力する。ストリームバッファ２１は、MP@MLのデコードに要求されるＶＢＶバッファサイズである１,８３５,００８ビットの容量を有する。ストリームバッファ２１に保存されている符号化ストリームは、バッファ制御回路１２の制御に従って、先に書き込まれたデータから順に読み出され、スタートコード検出回路１４に供給される。スタートコード検出回路１４は、入力されたストリームから、図１８を用いて説明したスタートコードを検出し、検出したスタートコードおよび入力されたストリームをデコーダ１５に出力する。
【００５４】
デコーダ１５は、入力されたストリームをＭＰＥＧシンタックスに基づいて、デコードする。デコーダ１５は、入力されたスタートコードに従って、まず、ピクチャ層のヘッダパラメータをデコードし、それを基に、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路１６に出力する。
【００５５】
ＭＰＥＧでは、画像の時間的冗長性を利用して、近接した画像間で動き補償した差分を得ることにより、符号化効率を改善している。ＭＰＥＧビデオデコーダでは、動き補償を用いた画素に対しては、現在デコードしている画素にその動きベクトルが示す参照画像の画素データを加算することにより動き補償を行い、符号化前の画像データに復号する。
【００５６】
デコーダ１５から出力されるマクロブロックが動き補償を使用していない場合、動き補償回路１６は、その画素データを、バッファ制御回路１２を介して、バッファ２のビデオバッファ２２に書き込み、表示出力に備えるとともに、この画素データが、他の画像の参照データとされる場合に備える。
【００５７】
デコーダ１５から出力されるマクロブロックが動き補償を使用している場合、動き補償回路１６は、デコーダ１５から出力される予測ベクトルに従って、バッファ制御回路１２を介して、バッファ２のビデオバッファ２２から参照画素データを読み出す。そして、読み出した参照画素データを、デコーダ１５から供給された画素データに加算し、動き補償を行う。動き補償回路１６は、動き補償を行った画素データを、バッファ制御回路１２を介してバッファ２のビデオバッファ２２に書き込み、表示出力に備えるとともに、この画素データが、他の画素の参照データとされる場合に備える。
【００５８】
表示出力回路１７は、デコードした画像データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路１２を介して、ビデオバッファ２２から画素データを読み出し、復号ビデオ信号として出力する。
【００５９】
以上説明したように、ＭＰＥＧ２ストリームは階層構造を有している。図７を用いて説明したピクチャ層のsequence_header乃至picture_coding_extensionのデータは、図６を用いて説明したプロファイルおよびレベルが異なる場合においても、そのデータ量は、あまり変更されない。一方、スライス層以下のデータ量は、符号化する画素数に依存する。
【００６０】
図６より、ＨＬにおいて、１枚のピクチャで処理しなければならないマクロブロックの数は、ＭLに対して約６倍になる。更に、図８より、４：２：２Ｐにおいて、１個のマクロブロックで処理するブロックの数は、ＭＰの４／３倍になる。
【００６１】
すなわち、図１９を用いて説明したMP@MLに対応したビデオデコーダで、４：２：２Ｐ@HLの符号化ストリームを復号しようとした場合、ＶＢＶバッファサイズおよび画素数の増加に伴って、ストリームバッファ２１のバッファサイズが不足する。また、ビットレートの増加に伴い、入力ストリームのストリームバッファ２１へのアクセスが増加し、画素数の増加に伴って、動き補償回路１６のビデオバッファ２２へのアクセスが増加するため、バッファ制御回路１２の制御が間に合わなくなる。更に、ビットレートの増加、マクロブロックおよびブロック数の増加に伴って、デコーダ１５の処理が間に合わなくなる。
【００６２】
今日の半導体技術の進展により、信号処理回路、メモリ（バッファ）回路とも、その動作速度は著しく向上している。しかしながら、現在のML@MPの復号技術では、４：２：２Ｐ@HLを復号するまでには至っていない。一般に、このような高速の信号処理を行おうとした場合、回路規模が大幅に増加し、部品点数の増加および消費電力の増加を招いてしまう。
【００６３】
そこで上記の特許文献１では、符号化ストリームを復号する複数の復号手段と、複数の復号手段を並行して動作させるように制御する復号制御手段とを備えるようにしたものである。すなわち図２０は、特許文献１に記載されたＭＰＥＧビデオデコーダの回路構成を示すブロック図である。
【００６４】
図２０のＭＰＥＧビデオデコーダは、ストリーム入力回路４１、スタートコード検出回路４２、ストリームバッファ制御回路４３、クロック発生回路４４、ピクチャデコーダ４５、スライスデコーダ制御回路４６、スライスデコーダ４７乃至４９、動き補償回路５０、輝度バッファ制御回路５１、色差バッファ制御回路５２、および表示出力回路５３から構成されるＩＣ３１、ストリームバッファ６１およびスタートコードバッファ６２で構成され、例えば、ＤＲＡＭからなるバッファ３２、輝度バッファ７１および色差バッファ７２で構成され、例えば、ＤＲＡＭからなるビデオバッファ３３、コントローラ３４、並びに、ドライブ３５で構成される。
【００６５】
ストリーム入力回路４１は、高能率符号化された符号化ストリームの入力を受け、スタートコード検出回路４２に供給する。スタートコード検出回路４２は、入力された符号化ストリームをストリームバッファ制御回路４３に供給するとともに、図１８を用いて説明したスタートコードを検出して、それを基に、そのスタートコードの種類と、ストリームバッファ６１にそのスタートコードが書き込まれる位置を示す書き込みポインタとを含む、スタートコード情報を生成し、ストリームバッファ制御回路４３に供給する。
【００６６】
クロック発生回路４４は、図１９を用いて説明したクロック発生回路１３の２倍の基本クロックを発生し、ストリームバッファ制御回路４３に供給する。ストリームバッファ制御回路４３は、クロック発生回路４４から供給される基本クロックに従って、入力された符号化ストリームを、バッファ３２のストリームバッファ６１に書き込み、入力されたスタートコード情報を、バッファ３２のスタートコードバッファ６２に書き込む。
【００６７】
ＭＰＥＧビデオデコーダが、４：２：２Ｐ@HLのＭＰＥＧ符号化ストリームを順方向に再生することができるようになされている場合、ストリームバッファ６１は、少なくとも、４：２：２Ｐ@HLのデコードに要求されるＶＢＶバッファサイズである47,185,920ビットの容量を有している。また、ＭＰＥＧビデオデコーダが、逆転再生を実行することができるようになされている場合、ストリームバッファ６１は、少なくとも、２ＧＯＰ分のデータを記録することができる容量を有している。
【００６８】
ピクチャデコーダ４５は、ストリームバッファ制御回路４３を介して、スタートコードバッファ６２からスタートコード情報を読み出す。例えば、デコード開始時は、図７を用いて説明したsequence_headerからデコードが開始されるので、ピクチャデコーダ４５は、図９を用いて説明したスタートコードであるsequence_header_codeに対応する書き込みポインタをスタートコードバッファ６２から読み出し、その書き込みポインタを基に、ストリームバッファ６１からsequence_headerを読み出してデコードする。続いて、ピクチャデコーダ４５は、sequence_headerの読み出しと同様に、sequence_extension、GOP_header、picture_coding_extension等をストリームバッファ６１から読み出してデコードする。
【００６９】
ピクチャデコーダ４５が、スタートコードバッファ６２から、最初のslice_start_codeを読み出した時点で、そのピクチャのデコードに必要な全てのパラメータが揃ったことになる。ピクチャデコーダ４５は、デコードしたピクチャ層のパラメータを、スライスデコーダ制御回路４６に出力する。
【００７０】
スライスデコーダ制御回路４６は、ピクチャ層のパラメータの入力を受け、ストリームバッファ制御回路４３を介して、スタートコードバッファ６２から、対応するスライスのスタートコード情報を読み出す。また、スライスデコーダ制御回路４６は、スライスデコーダ４７乃至４９のいずれかにデコードさせるスライスが、符号化ストリームに含まれる何番目のスライスであるかを示すレジスタを有し、そのレジスタを参照しながら、ピクチャ層のパラメータと、スタートコード情報に含まれるスライスの書き込みポインタをスライスデコーダ４７乃至４９のいずれかに供給する。
【００７１】
スライスデコーダ４７は、マクロブロック検出回路８１、ベクトル復号回路８２、逆量子化回路８３、および逆ＤＣＴ回路８４で構成され、スライスデコーダ制御回路４６から入力されたスライスの書き込みポインタを基に、対応するスライスを、ストリームバッファ制御回路４３を介してストリームバッファ６１から読み出す。そして、スライスデコーダ制御回路４６から入力されたピクチャ層のパラメータに従って、読み出したスライスをデコードして、動き補償回路５０に出力する。
【００７２】
マクロブロック検出回路８１は、スライス層のマクロブロックを分離し、各マクロブロックのパラメータをデコードし、可変長符号化された各マクロブロックの予測モードおよび予測ベクトルをベクトル復号回路８２に供給し、可変長符号化された係数データを逆量子化回路８３に供給する。ベクトル復号回路８２は、可変長符号化された、各マクロブロックの予測モードおよび予測ベクトルをデコードして、予測ベクトルを復元する。逆量子化回路８３は、可変長符号化された係数データをデコードして逆ＤＣＴ回路８４に供給する。逆ＤＣＴ回路８４は、デコードされた係数データに逆ＤＣＴを施し、符号化前の画素データに復元する。
【００７３】
スライスデコーダ４７は、動き補償回路５０に、デコードしたマクロブロックに対する動き補償の実行を要求し（すなわち、図中、ＲＥＱで示される信号を１にする）、動き補償回路５０から動き補償の実行要求に対する受付を示す信号（図中ＡＣＫで示される信号）を受けて、デコードされた予測ベクトルおよびデコードされた画素を動き補償回路５０に供給する。スライスデコーダ４７は、ＡＣＫ信号の入力を受けて、デコードされた予測ベクトルおよびデコードされた画素を動き補償回路５０に供給した後に、ＲＥＱ信号を１から０に変更する。そして、次に入力されたマクロブロックのデコードが終了した時点で、ＲＥＱ信号を、再び０から１に変更する。
【００７４】
また、スライスデコーダ４８のマクロブロック検出回路８５乃至逆ＤＣＴ回路８８およびスライスデコーダ４９のマクロブロック検出回路８９乃至逆ＤＣＴ回路９２においても、スライスデコーダ４７のマクロブロック検出回路８１乃至逆ＤＣＴ回路８４と同様の処理が行われるので、その説明は省略する。
【００７５】
動き補償回路５０は、スライスデコーダ４７乃至４９から入力されたデータの動き補償が終了したか否かを示すReg_REQ_A、Reg_REQ_BおよびReg_REQ_Cの３つのレジスタを有し、これらのレジスタの値を参照しながら、適宜、スライスデコーダ４７乃至４９のうちの１つを選んで、動き補償実行要求を受け付け（すなわち、ＲＥＱ信号に対して、ＡＣＫ信号を出力して、予測ベクトルと画素の入力を受ける）、動き補償処理を実行する。このとき、動き補償回路５０は、スライスデコーダ４７乃至４９のうち、所定のタイミングにおいてＲＥＱ信号が１であるスライスデコーダ４７乃至４９に対する動き補償が、それぞれ１回ずつ終了した後に、次の動き補償要求を受け付ける。例えば、スライスデコーダ４７が連続して動き補償要求を出しても、スライスデコーダ４８およびスライスデコーダ４９の動き補償が終了するまで、スライスデコーダ４７の２つ目の動き補償要求は受け付けられない。
【００７６】
スライスデコーダ４７乃至４９のいずれかから入力されるマクロブロックが動き補償を使用していない場合、動き補償回路５０は、その画素データが輝度データであれば、輝度バッファ制御回路５１を介して、ビデオバッファ３３の輝度バッファ７１に書き込み、その画素データが色差データであれば、色差バッファ制御回路５２を介して、ビデオバッファ３３の色差バッファ７２に書き込み、表示出力に備えるとともに、この画素データが、他の画像の参照データとされる場合に備える。
【００７７】
また、スライスデコーダ４７乃至４９のいずれかから出力されるマクロブロックが動き補償を使用している場合、動き補償回路５０は、スライスデコーダ４７乃至４９のうち対応するデコーダから入力される予測ベクトルに従って、その画素データが輝度データであれば、輝度バッファ制御回路５１を介して、輝度バッファ７１から参照画素を読み込み、その画素データが色差データであれば、色差バッファ制御回路５２を介して、色差バッファ７２から参照画素データを読み込む。そして、動き補償回路５０は、読み込んだ参照画素データを、スライスデコーダ４７乃至４９のいずれかから供給された画素データに加算し、動き補償を行う。
【００７８】
動き補償回路５０は、動き補償を行った画素データを、その画素データが輝度データであれば、輝度バッファ制御回路５１を介して、輝度バッファ７１に書き込み、その画素データが色差データであれば、色差バッファ制御回路５２を介して、色差バッファ７２に書き込み、表示出力に備えるとともに、この画素データが、他の画素の参照データとされる場合に備える。
【００７９】
表示出力回路５３は、デコードした画像データを出力するための同期タイミング信号を発生し、このタイミングに従って、輝度バッファ制御回路５１を介して、輝度バッファ７１から輝度データを読み出し、色差バッファ制御回路５２を介して、色差バッファ７２から色差データを読み出して、復号ビデオ信号として出力する。
【００８０】
ドライブ３５は、コントローラ３４に接続されており、必要に応じて装着される磁気ディスク１０１、光ディスク１０２、光磁気ディスク１０３、および半導体メモリ１０４などとデータの授受を行う。また、コントローラ３４は、以上説明したＩＣ３１、およびドライブ３５の動作を制御するものである。コントローラ３４は、例えば、ドライブに装着されている磁気ディスク１０１、光ディスク１０２、光磁気ディスク１０３、および半導体メモリ１０４などに記録されているプログラムに従って、ＩＣ３１に処理を実行させることができる。
【００８１】
しかしながら、上述のスライスデコーダの手法を用いたとしても、デコードされる画像が極めて複雑である場合などには、必ずしも所定時間内にデコードが完了しない場合が生じる。その場合に従来は、所定時間（１フレーム期間）を経過した時点でデコード処理を打ち切り、直近のフレームの画像で補間するなどの手段が取られるが、大幅な画質の劣化が生じることが避けられないものである。また、このような処置が、いわゆるＩピクチャやＰピクチャに対しても行われるため、その場合には、復号に著しい破綻が生じる恐れもある。
【００８２】
本発明はこのような状況に鑑みてなされたものであり、今日の半導体技術を用いて、実現可能な回路規模で実時間動作が可能な４：２：２Ｐ@HLに対応したビデオデコーダを、さらに有効に実現することができるようにするものである。
【００８３】
すなわち、この出願が解決しようとする問題点は、従来の装置では、所定時間（１フレーム期間）を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるＩピクチャやＰピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったというものである。
【課題を解決するための手段】
【００８４】
このため本発明においては、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたものであって、これによれば、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができる。
【発明の効果】
【００８５】
請求項１の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【００８６】
また、請求項２の発明によれば、デコード処理部はＭＰＥＧの１スライスごとに動作を停止し、デコード制御部がスライス単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
【００８７】
請求項３の発明によれば、デコード処理部はＭＰＥＧの１マクロブロックごとに動作を停止し、デコード制御部がマクロブロック単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
【００８８】
請求項４の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
【００８９】
さらに請求項５の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【００９０】
また、請求項６の発明によれば、デコード処理部はＭＰＥＧの１スライスごとに動作を停止し、デコード制御部がスライス単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
【００９１】
請求項７の発明によれば、デコード処理部はＭＰＥＧの１マクロブロックごとに動作を停止し、デコード制御部がマクロブロック単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
【００９２】
請求項８の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
【００９３】
さらに請求項９の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【００９４】
また、請求項１０の発明によれば、デコード動作はＭＰＥＧの１スライスごとに動作を停止し、スライス単位でデコード動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
【００９５】
請求項１１の発明によれば、デコード動作はＭＰＥＧの１マクロブロックごとに動作を停止し、マクロブロック単位でデコード動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
【００９６】
請求項１２の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
【００９７】
さらに請求項１３の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【００９８】
また、請求項１４の発明によれば、デコード動作はＭＰＥＧの１スライスごとに動作を停止し、スライス単位でデコード動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
【００９９】
請求項１５の発明によれば、デコード動作はＭＰＥＧの１マクロブロックごとに動作を停止し、マクロブロック単位でデコード動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
【０１００】
請求項１６の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像１フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
【０１０１】
これによって、従来の装置では、所定時間（１フレーム期間）を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるＩピクチャやＰピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったものを、本発明によればこれらの問題点を容易に解消することができるものである。
【発明を実施するための最良の形態】
【０１０２】
すなわち本発明の復号装置は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能としてなるものである。
【０１０３】
また、本発明の復号装置は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他にＭＰＥＧの双方向予測マクロブロックのデコードを、２つある参照画像のうち１つだけを使って短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能としてなるものである。
【０１０４】
さらに本発明の復号方法は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能としたものである。
【０１０５】
また、本発明の復号方法は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他にＭＰＥＧの双方向予測マクロブロックのデコードを、２つある参照画像のうち１つだけを使って短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能としたものである。
【０１０６】
以下、図面を参照して本発明を説明するに、図１は本発明による復号装置及び復号方法を適用し、例えばＭＰＥＧ２形式でエンコードされたビデオ画像をリアルタイムでデコードし再生するシステムの一実施形態の構成を示すブロック図である。
【０１０７】
図１において、このシステムは、入力部１４０、表示部１５０の他に、ビットストリームバッファ１００、デコード制御部１１０、デコード処理部１２０、フレームバッファ１３０の４つのブロックから構成される。そしてビットストリームバッファ１００は、入力部１４０から得たデコード前のビデオのElementary Stream(以降ビデオＥＳ)を保存するメモリである。
【０１０８】
また、フレームバッファ１３０はデコード後のビデオの画像を保存するメモリである。さらにデコード処理部１２０はデコード処理を行う本体であり、ビットストリームバッファ１００からデータを読み出して、デコード後の画像をフレームバッファ１３０に書き出す。そしてＰピクチャ、Ｂピクチャをデコードする場合は、フレームバッファ１３０から参照画像を読み出す。
【０１０９】
さらにこのシステムは、１スライス分のデータを処理するごとに動作を一時停止して、デコード制御部１１０からの指示を待つ。その後、指示に従って、処理を続行または中止する。すなわち、デコード制御部１１０は、本発明の中核を担うブロックであり、デコード処理部１２０の動作を制御する。
【０１１０】
そしてデコードを行う場合には、まず、ヘッダパース部１１１が、ビットストリームバッファ１００からデータを読み出して、ピクチャ層以上のヘッダをパースする。ヘッダパースが終わり、時間管理部１１２からデコードを開始する時刻を知らされると、ピクチャ間処理制御部１１３がデコード処理部１２０の動作を起動する。
【０１１１】
その時、ピクチャ間処理制御部１１３は、ビットストリームバッファ１００内のどこからビデオＥＳを読み出すかの情報と、フレームバッファ１３０内のどの画像を参照画として使用するかの情報をデコード処理部１２０に知らせる。また、デコードを開始したことを、時間管理部１１２に知らせる。
【０１１２】
さらにデコード処理部１２０が動作を一時停止した時、その通知を受けるのが、スライス間処理制御部１１４である。スライス間処理制御部１１４が、デコード処理をそのまま続行するか、簡易デコードで続けるか、中止するかを判断する。また、１ピクチャ内の全てのスライスを処理し終えた時は、スライス間処理制御部１１４からピクチャ間処理制御部１１３にそれを通知する。
【０１１３】
ここで時間管理部１１２は、デコード開始タイミング(フレーム同期信号)の生成、及びデコード開始以降の経過時間の計測を行う。そしてデコード開始タイミングになるとピクチャ間処理制御部１１３に通知する。また、スライス間処理制御部１１４からの要求に応じ、デコード開始以降の経過時間、次のフレーム同期信号が発生するまでの残り時間を知らせる。
【０１１４】
なお、本願の対象とするＭＰＥＧビデオは、上述の図７に示した如く階層的なデータ構造をしており、シーケンス層がその最上位に位置する。このシーケンスヘッダには、水平方向画素数、垂直方向画素数、フレームレートコードが情報として含まれおり、ヘッダパース部１１１がこれらを抜き出す。そして例えばデジタル放送の480Iフォーマット画像の場合、画素数720×480、フレームレート29.97Hzという値を得る。
【０１１５】
さらにヘッダパース部１１１は、フレームレートを時間管理部１１２に渡し、時間管理部１１２ではフレーム同期信号のインターバルを１／29.97秒に設定する。また、ヘッダパース部１１１は、画素数をスライス間処理制御部１１４に渡し、スライス間処理制御部１１４では、（720／16）×（480／16）＝45×30＝1350個のマクロブロック（以下、ＭＢと略称する）を、次のフレーム同期信号が来る前に処理すれば良いと判断する。
【０１１６】
さらに、本発明を実施するための中心部であるスライス間処理制御部１１４の動作フローを図２に示す。
【０１１７】
すなわち、ステップ〔３０１〕でピクチャ間処理制御部１１３がデコード処理部１２０を起動した後、ステップ〔３０２〕でスライス間処理制御部１１４は、デコード処理部１２０からのスライス終了通知を待つ。そしてスライス終了通知を受けると、ステップ〔３０３〕でデコード処理部１２０から、デコード済みＭＢ数を取得する。
【０１１８】
ここでＭＢ数は、１ピクチャのデコードを開始してから、これまでにデコード処理したＭＢの総数である。これが、ヘッダパース部１１１から渡された１ピクチャ分ＭＢ数と等しければ、ステップ〔３０４〕で１ピクチャのデコードが終了したと判断し、ステップ〔３０９〕でそれをピクチャ間処理制御部１１３に知らせる。少なければデコード途中であると判断し、処理を続行する。
【０１１９】
さらにデコード途中であった場合は、ステップ〔３０５〕で時間管理部１１２から、デコード開始以降の経過時間を取得する。また同時に、次のフレーム同期信号が発生するまでの残り時間も取得する。その後、ステップ〔３０６〕でこれまでの経過時間および処理したＭＢ数から考えて、残るＭＢをこのままのペースでデコード処理部１２０が処理できるかどうか判断する。
【０１２０】
ここでは、例えば以下のような計算で判断を行う。すなわちデコード時間が残り半分を超えるまでは、通常通りデコードする。そしてデコード時間が残り半分を超えたら、以下の計算をする。
【０１２１】
Tmb_mean = Tpast / MBnum
Tmb_mean : 1MBあたりの平均処理時間
Tpast : デコードを開始してからの経過時間
MBnum : 今までに処理したMB数
Tmore = Tmb_mean * (MBtotal- MBnum)
Tmore : 今のペースで処理した場合に必要な残り時間
MBtotal : デコードする総MB数
Tratio = (Tpast + Tmore) / (Tpast + Trest) * 100 [%]
Tratio : 今のペースで処理した場合に要するトータル時間と制限時間の比
Trest : 制限時間までの残り時間
【０１２２】
そして、Tratioが100％を超えていたら次のスライスを簡易デコード、そうでなければ通常デコードとする。すなわち残るＭＢをこのままのペースでデコード処理部１２０が処理出来そうならば、ステップ〔３０７〕で通常通りのデコードを再開し、出来そうに無ければ、ステップ〔３０８〕で簡易デコードでのデコード処理部１２０の処理を再開する。その後、ステップ〔３０２〕で再びデコード処理部１２０からのスライス終了通知を待つ。
【０１２３】
従ってこの実施形態において、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができる。
【０１２４】
すなわち図３には、ピクチャ単位でのデコード処理シーケンスを示す。ここでケース１は、全てのピクチャのデコードが正常に終了しているケースである。これに対しケース２は、処理時間が長いＢピクチャのデコードを、途中から簡易デコードしたケースである。このケース２では、簡易デコードの途中で処理時間が間に合うようになれば、再び通常デコードに復帰する様子が示されている。
【０１２５】
なお上述の実施形態で、簡易デコードはＩ，Ｐピクチャには適用しない。すなわちＩ，Ｐピクチャは、他のＰまたはＢピクチャをデコードするときの参照画として使用されるので、時間をかけてでもデコードする。このためピクチャ間処理制御部１１３が時間管理部１１２からデコード開始のため通知を受けても、ＩまたはＰピクチャをデコードしている最中であればそれ続行する。
【０１２６】
そして次のピクチャのデコードは、処理中のデコードが終わり次第、開始する。これを実現するために、デコード終了よりも数フレーム遅れて、システムの表示部１５０が、表示を開始する。これにより、デコード処理の時間のジッタをフレームバッファ１３０で吸収し、表示部１５０は一定レートでピクチャを表示し続ける。図３のケース３は、Ｉピクチャのデコード処理を延長して行い、その後のＢピクチャのデコードをフレーム同期タイミングよりも遅れて開始したケースである。
【０１２７】
これによって、従来の装置では、所定時間（１フレーム期間）を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるＩピクチャやＰピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったものを、本発明によればこれらの問題点を容易に解消することができるものである。
【０１２８】
さらに、図４にフレームバッファ１３０内のデータの変化を示す。この図４において、デコード画像の内、Ｂピクチャの画像は即座に表示待ちに入る。これに対し、Ｉ，Ｐピクチャはデコード順で後に続くＢピクチャのデコードが終わったら表示待ちに入る。すなわち、本発明においては、表示待ちになった画像をすぐに表示せず、数フレーム遅れて表示する。
【０１２９】
従って定常状態において、フレームバッファ１３０内のデータは、表示遅れに相当する数のフレームが表示待ち状態で待機する。そしてピクチャのデコードが早く終了した時に待ちフレームが増加、遅く終了したときに減少する。これにより、Ｉ，Ｐピクチャのデコードに長時間かかっても、待ちフレーム数が０にならなければ、表示部１５０で途切れること無く画像を表示しつづけることが出来る。
【０１３０】
さらに、以下に簡易デコードの方法を説明する。すなわち例えばＭＰＥＧにおいては、シーケンスは複数のＧＯＰ(Group Of Pictures)で構成されており、ＧＯＰは複数のピクチャで構成されている。ピクチャにはＩ，Ｐ，Ｂの３種類があり、そのうちＩ，Ｐピクチャは他のＰまたはＢピクチャをデコードするときの参照画として使用される。ここでＢピクチャは、参照画として使用されないため、Ｂピクチャのデコード画像が崩れても、他のピクチャのデコードに影響を与えない。
【０１３１】
そこで本発明においては、時間管理部１１２でＢピクチャのデコードの処理時間を計測し、リアルタイム動作のための制限時間内にデコード処理が終わりそうに無ければ、残り処理を簡易デコードで高速に行うよう、スライス間処理制御部１１４でデコード処理部１２０を制御する。ここでＢピクチャは前方、後方２つの参照画を用いてエンコードされた画像だが、簡易デコードにおいては、例えば、片方の参照画のみを用いるようにして、デコード処理部１２０からフレームバッファ１３０へのメモリアクセス回数及びデコード処理部１２０内での演算量を減らす。
【０１３２】
すなわちピクチャは、複数のスライスから構成されている。デコード処理部１２０は、このスライスを処理し終えるたびに一時停止して、スライス間処理制御部１１４からの指示を待つ。指示に応じて、次のスライスを通常通りデコードする、次のスライスは簡易デコードで高速に処理する、残り全てのデコード処理を中止して、１ピクチャ処理を終える、内のいずれかの動作を行う。
【０１３３】
さらにスライスは複数のＭＢから構成されている。16×16画素で構成されたマクロブロックの集まりがスライスであり、画面上の左から右、上から下に向けて連続に並んだＭＢが１つのスライスを構成する。ここでＭＢは、動き補償予測を用いて符号化されており、その方法によって、動き補償予測なし、順方方向（前方参照画を用いて予測）、逆方向（後方参照画を用いて予測）、双方向（前方、後方、両方の参照画を用いて予測）など、幾つかのＭＢ予測タイプが存在する。
【０１３４】
すなわち動き補償予測を用いた符号化では、図５に示すようにエンコード処理中のＢピクチャの前後のＩ／Ｐピクチャが参照画像とされ、処理されているＭＢに対応する前後のＩ／ＰピクチャのＭＢとの差分をとることにより圧縮が行われている。そしてその際に、参照された前方、後方または双方の画像を指定する情報と、その間のＭＢの移動ベクトルの情報がＢピクチャのヘッダ部分に記載されているものである。
【０１３５】
そこでデコードを行う際には、画像を指定する情報と移動ベクトルの情報により対応するＭＢを決定し、そのＭＢを用いて差分情報からもとの画像データを形成する。そしてその際に、双方向の参照が指定されている場合には、それぞれの参照画像に対して、移動ベクトルによりＭＢの決定が行われ、それらの平均値を計算することによって、参照されるＭＢのデータが形成される。
【０１３６】
そこで本発明においては、双方向予測ＭＢに着目し、簡易デコードの際は、Ｂピクチャに存在する双方向予測ＭＢをデコードするのに、片方の参照画のみを用いる。どちらを選ぶかは、常に前方の参照画のみを使用する、1ライン上、または１ＭＢ左のＭＢをデコードしたときの参照画に合せて、適応的に片方の参照画を選択する、などの内のいずれかの方法を選択する。
【０１３７】
なお、本願発明者が調査したところによれば、通常のビデオ信号でＢピクチャ内において双方方向予測が行われる確率は６０％程度であり、そこを片方向予測で複号することによって、メモリへのアクセス回数が減少する。また、双方向予測を片方向予測にすることによる計算時間の短縮が３０％程度であり、全体として相当量の処理時間の短縮が見込まれるものである。
【０１３８】
従ってこの実施形態において、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができる。
【０１３９】
これによって、従来の装置では、所定時間（１フレーム期間）を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるＩピクチャやＰピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったものを、本発明によればこれらの問題点を容易に解消することができるものである。
【０１４０】
なお、以上の説明においては、デコード処理部１２０がデコード処理を一時停止して、デコード制御部１１０に制御権を渡すのをスライス単位とした。しかし、制御権を渡すのをＭＢ単位とすることも可能である。すると、簡易デコードを行う処理の単位が、スライス単位でなくＭＢ単位になる。
【０１４１】
すなわち本発明は、制限時間内にデコードしきれないピクチャのデコードを、途中から簡易デコードに切り替えるものである。デコードしない部分が発生し、そこをデコード済みの過去の画像で差し替える方法に比べて、画質の劣化を少なくすることが出来る。特に動きが激しい映像を対象とする場合に有効である。
【０１４２】
また、後に参照画像として使われる画像のデコードは、制限時間を超えても最後まで通常通り行うことにより、画質の劣化が他の画像に及ばないようにすることが出来る。
【０１４３】
こうして上述の復号装置によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能とすることにより、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【０１４４】
また、上述の復号装置によればデジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他にＭＰＥＧの双方向予測マクロブロックのデコードを、２つある参照画像のうち１つだけを使って短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能とすることにより、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【０１４５】
さらに上述の復号方法によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能とすることにより、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【０１４６】
また、上述の復号方法によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他にＭＰＥＧの双方向予測マクロブロックのデコードを、２つある参照画像のうち１つだけを使って短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能とすることにより、例えば４：２：２Ｐ@HLに対応したビデオデコーダを有効に実現することができるものである。
【産業上の利用可能性】
【０１４７】
なお本発明は、上述の説明した実施形態に限定されるものではなく、本発明の精神を逸脱することなく種々の変形が可能とされるものである。
【図面の簡単な説明】
【０１４８】
【図１】本発明による復号装置及び復号方法を適用し、例えばＭＰＥＧ２形式でエンコードされたビデオ画像をリアルタイムでデコードし再生するシステムの一実施形態の構成を示すブロック図である。
【図２】その動作の説明のためのフローチャート図である。
【図３】そのデコード処理シーケンスの説明のための図である。
【図４】そのフレームバッファ内のデータの変化の説明のための図である。
【図５】双方向動き予測符号化の説明のための図である。
【図６】ＭＰＥＧ２の、プロファイルとレベルによる、各パラメータの上限値を説明するための図である。
【図７】ＭＰＥＧ２ビットストリームの階層構造を説明するための図である。
【図８】マクロブロック層を説明するための図である。
【図９】sequence_headerのデータ構造を説明するための図である。
【図１０】sequence_extensionのデータ構造を説明するための図である。
【図１１】GOP_headerのデータ構造を説明するための図である。
【図１２】picture_headerのデータ構造を説明するための図である。
【図１３】picture_coding_extensionのデータ構造を説明するための図である。
【図１４】picture_dataのデータ構造を説明するための図である。
【図１５】sliceのデータ構造を説明するための図である。
【図１６】macroblockのデータ構造を説明するための図である。
【図１７】macroblock_modesのデータ構造を説明するための図である。
【図１８】スタートコードを説明するための図である。
【図１９】従来のML@MPの符号化ストリームをデコードするビデオデコーダの構成を示すブロック図である。
【図２０】本願出願人が先に提案したビデオデコーダの構成を示すブロック図である。
【符号の説明】
【０１４９】
１００…ビットストリームバッファ、１１０…デコード制御部、１１１…ヘッダパース部、１１２…時間管理部、１１３…ピクチャ間処理制御部、１１４…スライス間処理制御部、１２０…デコード処理部、１３０…フレームバッファ、１４０…入力部、１５０…表示部
【図１】
2005124091.tif 000003
【図２】
2005124091.tif 000004
【図３】
2005124091.tif 000005
【図４】
2005124091.tif 000006
【図５】
2005124091.tif 000007
【図６】
2005124091.tif 000008
【図７】
2005124091.tif 000009
【図８】
2005124091.tif 000010
【図９】
2005124091.tif 000011
【図１０】
2005124091.tif 000012
【図１１】
2005124091.tif 000013
【図１２】
2005124091.tif 000014
【図１３】
2005124091.tif 000015
【図１４】
2005124091.tif 000016
【図１５】
2005124091.tif 000017
【図１６】
2005124091.tif 000018
【図１７】
2005124091.tif 000019
【図１８】
2005124091.tif 000020
【図１９】
2005124091.tif 000021
【図２０】
2005124091.tif 000022