(57)【要約】【課題】ストリームデータの特殊再生に対する応答性を向上させる。【解決手段】入力解析部１０は、入力されたストリームデータについて、予めスライスヘッダ、SPS、およびPPSを抽出し、ピクチャ情報領域２１に保存すると同時に、SPS、PPSをそれぞれSPS領域２２、PPS領域２３にも保存する。スライスヘッダ、SPS、およびPPSにはPOCの計算およびDPBリストの作成に必要なデータが含まれている。CPU９は、入力解析部１０が抽出したスライスヘッダ、SPS、およびPPSに基づいて、POCの計算およびDPBリストの作成を行う。デコード部１１は、予め作成されたDPBリストに基づいてデコード処理を施す。本発明は、MPEG4 Part10:AVCのストリームデータ再生装置に適用できる。【選択図】図１
2010219983.tif 000002
【特許請求の範囲】
【請求項１】
ヘッダを含むアクセスユニットから構成されるストリームが復号される場合に、処理対象のアクセスユニットの復号に必要な参照ピクチャを保持する保持手段と、
前記ストリームを解析することで、前記アクセスユニット毎に前記ヘッダを検出する解析手段と、
前記解析手段によって検出された前記ヘッダがピクチャの消去の順番を変えることを示すヘッダを検出した場合に、前記ヘッダに対応するアクセスユニットに含まれるピクチャを、前記ヘッダに示される消去の順番で消去して、復号の段階で前記保持手段に保持させる参照ピクチャを示す保持情報を生成する生成手段と
を備え、
前記生成手段は、
所定ピクチャの復号の段階で、前記保持手段に保持されるＮ個のピクチャの中に新たな参照ピクチャを含める必要がある場合、前記保持手段に保持されている時間が古い順にピクチャを消去していくという第１規則に従って、前記アクセスユニットの保持情報を復号の順番で生成する
画像処理装置。
【請求項２】
前記生成手段は、前記保持手段に新たな参照ピクチャを保持する場合に、前記保持手段に保持されている時間が古い順に前記ピクチャを消去して、前記保持情報を復号の順番で生成する
請求項１に記載の画像処理装置。
【請求項３】
前記ヘッダの種類としては、前記ストリーム全体の符号化に関する情報が含まれた第１のヘッダ、前記ピクチャ全体の符号化に関する情報が含まれた第２のヘッダ、および、前記ピクチャの消去の順番を変えることを示す情報が含まれた第３のヘッダが存在する
請求項１に記載の画像処理装置。
【請求項４】
前記生成手段により生成された前記保持情報に基づいて、前記保持手段に保持させる前記ピクチャを制御することで、前記ストリームを復号する復号手段
をさらに備える請求項１に記載の画像処理装置。
【請求項５】
前記生成手段は、さらに、前記ヘッダを用いて、前記ストリームにおける前記ピクチャの出力順序を示す情報を作成する
請求項１に記載の画像処理装置。
【請求項６】
前記解析手段により解析された前記ヘッダ、および、前記生成手段により生成された前記保持情報を記憶する記憶手段
をさらに備える請求項１に記載の画像処理装置。
【請求項７】
ヘッダを含むアクセスユニットから構成されるストリームが復号される場合に、処理対象のアクセスユニットの復号に必要な参照ピクチャを保持する保持手段を備える画像処理装置が実行するステップとして、
前記ストリームを解析することで、前記アクセスユニット毎に前記ヘッダを検出する解析ステップと、
前記解析ステップの処理によって検出された前記ヘッダがピクチャの消去の順番を変えることを示すヘッダを検出した場合に、前記ヘッダに対応するアクセスユニットに含まれるピクチャを、前記ヘッダに示される消去の順番で消去して、復号の段階で前記保持手段に保持させる参照ピクチャを示す保持情報を生成する生成ステップと
を含み、
前記生成ステップは、
所定ピクチャの復号の段階で、前記保持手段に保持されるＮ個のピクチャの中に新たな参照ピクチャを含める必要がある場合、前記保持手段に保持されている時間が古い順にピクチャを消去していくという第１規則に従って、前記アクセスユニットの保持情報を復号の順番で生成するステップを含む
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、ストリームデータの特殊再生に対する応答性を向上させる画像処理装置および方法に関する。
【背景技術】
【０００２】
従来、動画像の符号化方式として、MPEG（Moving Picture Coding Experts Group）２が広く普及しており、近年、MPEG4 Part10:AVC(Advanced Video Coding)（以下、AVCと称する）なども登場してきている。
【０００３】
MPEG2やAVCにおいては、ランダム再生などの特殊再生における応答性の向上が要望されている。
【０００４】
MPEG2においては、かかる要望に応えるべく、参照ピクチャを重複してデコードすることなく特殊再生を行うことで、効率よく特殊再生をする手法が存在する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３１９９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、AVCにおいては、現状、かかる要望に充分に応えることができていない状況である。なぜならば、AVCは、その圧縮効率を向上させるために、MPEG2に比べ、参照ピクチャの自由度を大幅に増加させている。よって、MPEG2についての従来の手法をそのまま、AVCにおける特殊再生に適用することができないからである。
【０００７】
具体的には、MPEG2には、Iピクチャ（Intra Picture）、Pピクチャ(Predictive Picture)、Bピクチャ(Bi-directional Predictive Picture)という３種類のピクチャが存在する。
【０００８】
Iピクチャは、前後のピクチャとは関係なく、そのピクチャ内だけで独立して符号化することによって得られるピクチャである。即ち、Iピクチャは参照ピクチャを持たないピクチャである。
【０００９】
Pピクチャは、画面間の前方向予測符号化により得られるピクチャである。即ち、Iピクチャは、前方向に存在するIピクチャまたはPピクチャを参照ピクチャとして予測するピクチャである。
【００１０】
Bピクチャは、前方向および後方向の双方向からの予測符号化により得られるピクチャである。即ち、Bピクチャは、IピクチャまたはPピクチャを参照ピクチャとして前方向、または後方向、もしくはその両方に存在するピクチャを参照するピクチャである。
【００１１】
しかしながら、AVCにおいては、上述したように、MPEG2におけるIピクチャ、Pピクチャ、Bピクチャの参照の自由度を大幅に増加させている。
【００１２】
例えばAVCは、Pピクチャにおいても、前方向２枚のピクチャを参照ピクチャとしたり、後方向２枚のピクチャを参照ピクチャとしたりすることも可能である。また例えば、AVCは、Bピクチャにおいても、前方向のピクチャのみを参照ピクチャとしたり、後方向のピクチャのみを参照ピクチャとしたりすることも可能である。
【００１３】
したがって、AVCにおいては、Iピクチャであるか、Pピクチャであるか、Bピクチャであるかというピクチャの種類を特定するだけでは、予測符号化を行うことができない。したがって、MPEG2についての上述した従来の手法を、AVCにおける特殊再生にそのまま適用することができない。
【００１４】
また、AVCにおいては、ランダム再生などの特殊再生における応答性の向上を図るために適した別の手法も見受けられない現状である。
【００１５】
本発明は、このような状況に鑑みてなされたものであり、ストリームデータの特殊再生における応答性を向上させるものである。
【課題を解決するための手段】
【００１６】
本発明の一側面の画像処理装置には、ヘッダを含むアクセスユニットから構成されるストリームが復号される場合に、処理対象のアクセスユニットの復号に必要な参照ピクチャを保持する保持手段と、前記ストリームを解析することで、前記アクセスユニット毎に前記ヘッダを検出する解析手段と、前記解析手段によって検出された前記ヘッダがピクチャの消去の順番を変えることを示すヘッダを検出した場合に、前記ヘッダに対応するアクセスユニットに含まれるピクチャを、前記ヘッダに示される消去の順番で消去して、復号の段階で前記保持手段に保持させる参照ピクチャを示す保持情報を生成する生成手段とが設けられている。前記生成手段は、所定ピクチャの復号の段階で、前記保持手段に保持されるＮ個のピクチャの中に新たな参照ピクチャを含める必要がある場合、前記保持手段に保持されている時間が古い順にピクチャを消去していくという第１規則に従って、前記アクセスユニットの保持情報を復号の順番で生成する。
【００１７】
前記生成手段は、前記保持手段に新たな参照ピクチャを保持する場合に、前記保持手段に保持されている時間が古い順に前記ピクチャを消去して、前記保持情報を復号の順番で生成する。
【００１８】
前記ヘッダの種類としては、前記ストリーム全体の符号化に関する情報が含まれた第１のヘッダ、前記ピクチャ全体の符号化に関する情報が含まれた第２のヘッダ、および、前記ピクチャの消去の順番を変えることを示す情報が含まれた第３のヘッダが存在する。
【００１９】
前記生成手段により生成された前記保持情報に基づいて、前記保持手段に保持させる前記ピクチャを制御することで、前記ストリームを復号する復号手段をさらに設けることができる。
【００２０】
前記生成手段は、さらに、前記ヘッダを用いて、前記ストリームにおける前記ピクチャの出力順序を示す情報を作成する。
【００２１】
前記解析手段により解析された前記ヘッダ、および、前記生成手段により生成され前記保持情報を記憶する記憶手段をさらに設けることができる。
【００２２】
本発明の一側面の画像処理装置の画像処理方法は、上述した本発明の一側面の画像処理装置に対応する方法である。
【００２３】
本発明の一側面においては、ヘッダを含むアクセスユニットから構成されるストリームが復号される場合に、処理対象のアクセスユニットの復号に必要な参照ピクチャが保持され、前記ストリームを解析することで、前記アクセスユニット毎に前記ヘッダが検出される。検出された前記ヘッダがピクチャの消去の順番を変えることを示すヘッダを検出した場合に、前記ヘッダに対応するアクセスユニットに含まれるピクチャが、前記ヘッダに示される消去の順番で消去され、復号の段階で保持させる参照ピクチャを示す保持情報が生成される。所定ピクチャの復号の段階で、保持されるＮ個のピクチャの中に新たな参照ピクチャを含める必要がある場合、保持されている時間が古い順にピクチャを消去していくという第１規則に従って、前記アクセスユニットの保持情報が復号の順番で生成される。
【発明の効果】
【００２４】
本発明の一側面によれば、ストリームデータの特殊再生における応答性を向上させることができる。
【図面の簡単な説明】
【００２５】
【図１】AUの構成の一例を説明する図である。
【図２】SPS、PPSのIDについて説明する図である。
【図３】DPBリストの作成について説明する図である。
【図４】本発明が適用された画像処理装置の一実施の形態の構成の一例を示すブロック図である。
【図５】本発明が適用された画像処理方法の一例であるストリームデータ再生処理を説明するフローチャートである。
【図６】図５のストリームデータ再生処理のうち、第１のDPBリスト作成処理について説明するフローチャートである。
【図７】図５のストリームデータ再生処理のうち、第１のデコード処理について説明するフローチャートである。
【図８】図５のストリームデータ再生処理のうち、第２のDPBリスト作成処理について説明するフローチャートである。
【図９】図５のストリームデータ再生処理のうち、第２のデコード処理について説明するフローチャートである。
【図１０】本発明の効果について説明する図である。
【図１１】本発明の効果について説明する図である。
【図１２】本発明の効果について説明する図である。
【図１３】MMCOについて説明する図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照して、本発明が適用される画像処理装置の実施の形態として、２つの実施の形態（以下、それぞれ第１および第２の実施の形態と称する）について説明する。よって、説明は以下の順序で行う。
１．本発明の概要
２．第１の実施の形態（DPBリストを完全に作成する場合）
３．第２の実施の形態（DPBリストを簡易的に作成する場合）
【００２７】
＜１.本発明の概要＞
はじめに、本発明の理解を容易なものとすべく、本発明が適用される手法（以下、本発明の手法と称する）の概略について説明する。
【００２８】
なお、本発明の手法に従って実行される処理の動作主体は、画像処理装置であるとして、以下、説明する。
【００２９】
本実施の形態では、画像処理装置は、ストリームデータを処理対象として、AU（Access Unit）を単位に処理を実行する。
【００３０】
AUとは、１ピクチャ分の符号化データを格納する単位であって、例えば図１に示される構成を有している。
【００３１】
図１に示されるようにAUは、AUデリミタ、SPS(Sequence Parameter Set）、PPS(Picture Parameter Set)、SEI（Supplemental Enhancement Information）、主ピクチャ等が、その順番で配置されて構成される。
【００３２】
ただし、AUにとって必須な構成要素は、ピクチャの実データである「主ピクチャ」のみである。即ち、その他の構成要素は必須ではなく、AUによって存在したり、存在しなかったりする。
【００３３】
AUデリミタは、AUの先頭を示す開始符号である。AUデリミタには、例えば、そのAUに含まれるスライスの種類を示す情報（コード名：primary_pic_type）が含まれている。
【００３４】
スライスは、符号化の基本単位である。なお、主ピクチャは、１以上のスライスにより構成されている。
【００３５】
SPSは、シーケンス全体に関わる情報が含まれたヘッダである。シーケンスとは、圧縮符号化されたストリームデータ全体であり、複数の画像群（Group of Picture、以下、GOPと称する）からなる。
【００３６】
例えば、SPSには、ストリームデータのプロファイルを示す情報（コード名：profile_idc）や、ストリームのレベルを示す情報（コード名：level_idc）が含まれている。
【００３７】
また例えば、SPSには、POC(Picture Order Count)を計算するために必要な情報が含まれている。POCとは、ピクチャの出力順序を示す情報である。POCを計算するために必要な情報としては例えば、コード名：pic_order_cnt_type,offset_for_non_ref_pic,num_ref_flames_in_pic_order_cnt_cycleが、SPSに含まれている。
【００３８】
また、SPSには、自身が含まれているAUが何れのシーケンスに属するのかを特定するID（Identification、コード名：seq_parameter_set_id)が含まれている。AVCは、１つのストリームデータの中で、複数のシーケンスを取り扱うことができるからである。
【００３９】
具体的には、後述するPPSの中で、SPSのIDの中の番号が指定されることによって、自身が含まれているAUがどのシーケンスに属するかが識別される。
【００４０】
PPSは、ピクチャ全体の符号化モードを示すヘッダである。
【００４１】
例えば、PPSには、エントロピ符号化モードのフラグを示す情報（コード名：entropy_cording_mode_flag）が含まれている。
【００４２】
また例えば、PPSには、POCを計算するために必要な情報が含まれている。POCを計算するために必要な情報としては、例えば、コード名：pic_order_present_flagが、PPSに含まれている。
【００４３】
また例えば、PPSには、SPSと同様に、ID(コード名：pic_parameter_set_id)が含まれている。また例えば、PPSには、PPSが参照するSPSのID(コード名：seq_parameter_set_id)が含まれている。
【００４４】
後述する主ピクチャのスライスヘッダの中で、PPSのIDの中の番号が指定されることによって、自身が属するAUがどのシーケンスに属するのかが識別される。
【００４５】
このように、画像処理装置は、PPSのID、SPSのIDをたどることにより、あるAUがどのシーケンスに属するのかを識別することが可能となる。PPSのID、SPSのIDについての詳細は、図２を参照して後述する。
【００４６】
SEIは、VCL（Video Coding Layer：ビデオ符号化レイヤ）のデコードに必須ではない付加情報を示す情報である。
【００４７】
例えば、SEIには、HRD（Hypothetical Reference Decoder：仮想参照デコーダ）に関連する各ピクチャのタイミング情報や、デコードした画像の一部を切り出して表示する機能であるパンスキャン機能が含まれている。また例えば、SEIには、ユーザが独自に定義する情報（ユーザデータ）等が含まれている。
【００４８】
上述したように、主ピクチャは、ピクチャの実データであって、１以上のスライスから構成される。１つのスライスには、例えば、１つのスライスヘッダが対応付けられている。
【００４９】
スライスヘッダには、例えば、スライス中の最初のマクロブロックアドレスを規定する情報（コード名：first_mb_in_slice）や、スライスの符号化タイプを規定する情報(コード名：slice_type)が含まれている。
【００５０】
また例えば、スライスヘッダには、上述したように、PPSのIDの番号を指定する情報（コード名：pic_parameter_set_id）が含まれている。
【００５１】
また例えば、スライスヘッダには、POCを計算するために必要な情報が含まれている。POCを計算するために必要な情報として、例えば、コード名：pic_order_Cnt_lsb,delta_pic_order_cntZ_bottom,delta_pic_order_cnt,redundant_pic_cntがスライスヘッダに含まれている。
【００５２】
画像処理装置は、処理対象のストリームデータが入力された場合、このようなAUを単位として、ストリームデータを解析する。
【００５３】
まず、画像処理装置は、ストリームデータの中からAUを検出する。
【００５４】
画像処理装置は、AUを解析し、例えば上述したSPS、PPS、スライスヘッダといった、デコードに必要な情報を抽出し、保存しておく。
【００５５】
上述したように、抽出したSPS，PPS、およびスライスヘッダにPOCを求めるが情報が含まれている。よって、これらの情報に基づいて、画像処理装置はPOCを計算する。
【００５６】
さらにまた、画像処理装置は、SPS，PPS、およびスライスヘッダの情報から、DPB(Decoded Picture Buffer)リストを求めることができる。
【００５７】
DPBとは、デコード対象となるピクチャの予測に用いるデコード画像を格納するためのバッファである。本明細書では、このバッファに格納されるデコード画像のリストとして、DPBリストという呼称が採用されている。なお、DPBリストの詳細については、図３を用いて後述する。
【００５８】
AVCにおいては、デコード対象となるピクチャがデコードされる場合に、DPBにあるピクチャが参照される。このため、画像処理装置は、ピクチャのデコード時点でDPBリストを保持している必要がある。従来の画像処理装置は、デコード対象となる１つのピクチャをデコードするごとに、DPBリストを更新していた。即ち、従来の画像処理装置は、DPBリストをデコードに先行して作成することはしていなかった。
【００５９】
これに対して、本発明においては、特殊再生をより円滑に行うため、不必要なピクチャをデコードしないという手法が採用される。このため、本発明においては、ストリームデータ入力時にSPS，PPS、およびスライスヘッダを抽出しておき、DPBリストをデコードに先行して作成しておくという手法が採用される。かかる手法が、本発明の手法である。
【００６０】
図１は、AUの構成の一例である。
【００６１】
ここで、本発明の実施の形態の説明の前に、本発明の理解を容易なものとすべく、図２を参照して、AUに含まれるSPS，PPSのIDについて説明する。
【００６２】
なお、SPS，PPSにおけるIDの種類は限られている。具体的には、SPSのIDは0乃至31の計32種類である。また、PPSにおけるIDは、0乃至255の、計256種類である。このため、多くのAUを含むストリームデータの場合、IDが同じSPSやPPSが存在する場合もある。
【００６３】
図２は、時刻ｎおよびｎ+1におけるGOPの構成の一例である。なお、ｎは、１以上の整数値を示している。
【００６４】
なお、図２において、SPS，PPSを示す枠内に記述されている記号ID_k（kは、１以上の整数値であって、各IDが取り得る値）が、SPS，PPSのIDを示している。なお、以下、SPS（ID_k）と記載されている場合は、ID=kのSPSであることを示している。同様に、PPS（ID_k）と記載されている場合は、ID=kのPPSであることを示している。
【００６５】
さらに、図２に示されたI，B，Pは、それぞれIピクチャ、Bピクチャ、Pピクチャを示している。また、I，B，Pに付加されている数字は、Iピクチャ、Bピクチャ、Pピクチャのピクチャ番号である。
【００６６】
またさらに、Iピクチャ、Bピクチャ、またはPピクチャを示す枠内に記述されているSPSまたはPPSのIDは、そのピクチャに対応するSPSまたはPPSのIDを示している。
【００６７】
具体的にはGOP（ｎ）おけるI01に対応するSPSとPPSのそれぞれは、SPS（ID_0）とPPS（ID_0）のそれぞれである。また、GOP（ｎ）おけるB00に対応するSPSとPPSのそれぞれは、SPS（ID_0）とPPS（ID_1）のそれぞれである。
【００６８】
図２の例においては、GOP（n）には、符号化順に複数のAUが含まれている。即ち、GOP(n)には、第１のAUとして、SPS（ID_0），PPS（ID_0），I01（SPS（ID_0），PPS（ID_0））が含まれている。さらに続いて、GOP（n）には、第２のAUとして、PPS（ID_1），B00（SPS（ID_0），PPS（ID_1））が含まれている。さらに続いてGOP（n）には、第３のAUとして、PPS（ID_2），P03（SPS（ID_0），PPS（ID_2））が含まれている。
【００６９】
また、図２の例においては、GOP（n+1）には、符号化順に複数のAUが含まれている。即ち、GOP(n+1)には、第１のAUとして、SPS（ID_0），PPS（ID_0），I11（SPS（ID_0），PPS（ID_0））が含まれている。さらに続いて、GOP（n+1）には、第２のAUとして、PPS（ID_1），B10（SPS（ID_0），PPS（ID_1））が含まれている。さらに続いてGOP（n+1）には、第３のAUとして、PPS（ID_2），P13（SPS（ID_0），PPS（ID_2））が含まれている。
【００７０】
例えば、以下、画像処理装置の動作として、GOP（n）におけるP03、GOP（n+1）におけるI11、GOP（n）におけるP03の順（図２に示された、1，2，3の順）で表示させる動作を行う場合であって、表示順で３番目のPピクチャ、P03を表示する場合について説明する。
【００７１】
ここで、P03はI01を参照ピクチャとしている。そこで、１番目の表示順で、P03をデコードするためには、画像処理装置は、まず、参照ピクチャであるI01をデコードし、その後P03をデコードする必要がある。よって画像処理装置は、I01、P03の順でデコードする。
【００７２】
次に、画像処理装置は、２番目の表示順である、I11をデコードする。なお、I11は参照ピクチャを持たないピクチャであるので、画像処理装置は、I11のみをデコードする。
【００７３】
次に、画像処理装置が３番目の表示順でP03をデコードする場合おいては、すでに表示順で１番目のP03がデコードされたときに、I01が、参照ピクチャとしてデコードされている。このため、I01のデコード後の映像信号が、すでに画像処理装置のメモリ等に保存されている。この場合、画像処理装置は、I01はデコードせず、P03のみをデコードする。
【００７４】
ここで、表示順で３番目のP03をデコードするためには、GOP(n)におけるSPS（ID_0）、およびPPS（ID_2）が必要である。
【００７５】
しかしながら、AVCにおいては、デコード対象となるAUに対応するSPS，PPSは、そのAUが入力されるまでに入力されていればよいという規則になっている。このため、デコード対象となるAUが入力されるよりずっと前に、そのAUに対応するSPS，PPSが入力されている場合もある。
【００７６】
従来のAVCにおいては、同じIDのSPSやPPSが存在する場合、時間的に後から入力されたSPSやPPSが上書きされる場合があった。
【００７７】
例えば、図２の例においては、表示順で２番目のI11がデコードされているため、GOP(n)におけるSPS（ID_0）が、GOP(n+1)におけるSPS（ID_0）で既に上書きされている。このため、PO3のデコードに必要となるのは、GOP(n)におけるSPS（ID_0）であるにも関わらず、GOP(n+1)におけるSPS（ID_0）が参照されることになる。このため、画像処理装置は、P03を正常にデコードできないという不具合が生じる場合があった。
【００７８】
そこで、本発明の手法が適用される画像処理装置は、SPS,PPS、およびスライスヘッダを保存する場合、IDが同じであるSPS,PPS、およびスライスヘッダであっても、上書きをせずに、各AUごとに独立して保存するようにしている。
【００７９】
以上、図２を参照して、AUに含まれるSPS，PPSのIDについて説明した。次に、図３を参照して、本発明の手法の実現に必要なDPBリストの作成手法について説明する。
【００８０】
図３は、画像処理装置が、DPBリストを用いて再生を行う動作の一例を説明するための図である。
【００８１】
図３には、上から順に、「デコード順」、「DPBリスト」、「バッファ」、「表示順」、「バッファ（逆再生）」、「デコード順（逆再生）」の各項目についての情報がそれぞれ示されている。
【００８２】
「デコード順」の項目には、デコード対象のストリームデータを構成する各AU（ピクチャ）のデコード順が示されている。即ち、図３の例では、時間軸方向に、「デコード順」の項目に示されるピクチャが順次デコードされていく。
【００８３】
「DPBリスト」の項目には、このようなデコードが行われている場合におけるDPBリストが示されている。
【００８４】
DPBリストのうち、時刻tm+1にDPBに保存すべきピクチャを示すリストは、少なくとも前の時刻tmには作成されている必要がある。なお、DPBリストの作成手法については、図６を参照して後述する。
【００８５】
なお、DPBに保存可能なピクチャの最大数（以下、DPB最大ピクチャ数を称する）は、予め決められている。例えば本実施の形態では、DPB最大ピクチャ数は、ユーザにより任意に決められているとする。具体的には例えば、図３の例では、DPB最大ピクチャ数として４が決められているとする。
【００８６】
「バッファ」の項目には、デコード後のピクチャを保存しておくバッファの保存内容が示されている。このバッファには、デコード後のピクチャが参照ピクチャと非参照ピクチャに分けて保存される。
【００８７】
「表示順」の項目には、デコード対象のストリームデータを構成する各AU（ピクチャ）の表示順が示されている。即ち、図４の例では、時間軸方向に、「表示順」の項目に示されるピクチャが順次表示されていく。
【００８８】
「バッファ（逆再生）」の項目には、ストリームデータを逆から再生（以下、逆再生と称する）する場合の、デコード後のピクチャを保存しておくバッファの保存内容が示されている。このバッファにも、デコード後のピクチャが参照ピクチャと非参照ピクチャに分けて保存されている。
【００８９】
「デコード順（逆再生）」の項目には、逆再生する場合におけるデコード対象のストリームデータを構成する各AU（ピクチャ）のデコード順が示されている。即ち、図４の例では、時間軸方向と逆の方向に、「デコード順」の項目に示されるピクチャが順次デコードされていく。
【００９０】
まず、時刻t1に、画像処理装置は、DPBリストのうち時刻t1の内容（I1）を参照して、I1をデコードして、デコードされたI1をDPBに保存する。このとき、バッファには、参照ピクチャとしてI1が保存されている。
【００９１】
次に、時刻t2に、画像処理装置は、DPBリストのうち時刻t2の内容（I1,B0）を参照して、B0をデコードして、デコードされたB0をDPBに保存する。これにより、DPBには、DPBリストのうち時刻t2の内容の通り、デコードされたI1，B0が保存される。また、バッファには、非参照ピクチャとして新たにB0が保存される。
【００９２】
次に、時刻t3に、画像処理装置は、DPBリストのうち時刻t3の内容（I1,P3,B0）を参照して、P3をデコードして、デコードされたP3をDPBに保存する。これにより、DPBには、DPBリストのうち時刻t3の内容の通り、デコードされたI1,P3,B0が保存される。また、バッファには、参照ピクチャとして新たにP3が保存される。このとき、画像処理装置は、B0を表示する。なお、P3のデコード、P3のDPBおよびバッファへの保存は同時刻に行われる。
【００９３】
次に、時刻t4に、画像処理装置は、DPBリストのうち時刻t4の内容（I1,P3,B0,B2）を参照して、B2をデコードして、デコードされたB2をDPBに保存する。これにより、DPBには、DPBリストのうち時刻t4の内容の通り、デコードされたI1,P3,B0,B2が保存される。
【００９４】
しかしながら、図３の例においては、DPB最大ピクチャ数は４と決められている。このため、この時点で、DPBの最大ピクチャ数を満たしてしまう。よって、画像処理装置は、DPBリストの非参照ピクチャB0，B2のうち、表示順で古い方となるB0を削除する。なお、図３においては、削除されるピクチャが斜線で示されている。
【００９５】
また、時刻t4において、画像処理装置は、I2を表示する。なお、P3のデコード、P3のDPBおよびバッファへの保存は同時刻に行われる。
【００９６】
これ以降のデコードにおいても同様に、ピクチャのデコード、デコードされたピクチャの保存、及びデコードされたピクチャの表示は、同時刻に行われる。
【００９７】
なお、時刻t4の時点（画像処理装置がB2をデコードした時点）で、DPBリストは、DPB最大ピクチャ数を満たしている。このため、時刻t4以降のピクチャのデコードにおいては、必ず１ピクチャを削除していく必要がある。なお、ピクチャの削除順は、DPBリストにおいて、まず、非参照ピクチャのデコード順で古い方から削除される。DPBリストに非参照ピクチャがない場合は、参照ピクチャの、デコード順で古い方から削除される。
【００９８】
次に、時刻t5に、画像処理装置は、DPBリストのうち時刻t5の内容（I1,P3,P5,B2）を参照して、P5をデコードして、デコードされたP5をDPBに保存する。これにより、DPBには、DPBリストのうち時刻t5の内容の通り、デコードされたI1,P3,P5,B2が保存される。しかしながら、上述したように、DPBリストは、DPB最大ピクチャ数を満たしているため、非参照ピクチャであるB2がDPBリストから削除される。
【００９９】
また、時刻t5において、バッファには、参照ピクチャとして新たにP5が保存される。
【０１００】
このようにして、画像処理装置は、DPBリストに基づいて、順次デコードする。
【０１０１】
次に、特殊再生の一例である逆再生を行う場合のデコードの一例について説明する。
【０１０２】
例えば、画像処理装置がP29，P28，P27…という順で逆再生を行うとする。画像処理装置がP29を表示するためには、順再生においてP29をデコードする場合にバッファの参照ピクチャに保存されているピクチャ（図３のA）が必要となる。即ち、ここでは、I1，P3，I21，P23，P25，P27，P29が必要である。
【０１０３】
しかしながら、画像処理装置が逆再生でP29を表示する場合、この時点ではバッファには図３のBに示されるI1，I21，P23，P25，P27，P29，P31がバッファに保存されているので、P3が不足している。そこで、この場合にはP3がデコードされ、バッファに新たに保存される。
【０１０４】
このように、逆再生などの特殊再生を行う場合においても、表示するピクチャの参照ピクチャがある程度バッファに保存されているため、反応良く再生処理を行うことが可能となる。
【０１０５】
＜２．第１の実施の形態＞
[本発明が適用される画像処理装置の構成例]
図４は、本発明が適用された画像処理装置の第１の実施の形態の構成例を示すブロック図である。
【０１０６】
図４の例の画像処理装置には、CPU（Central Processing Unit）１、ノースブリッジ２、メモリ３、HDD（Hard Disk Drive）４、およびサウスブリッジ５が設けられている。また、図４の例の画像処理装置には、PCI（Peripheral Component Interconnect/Interface）バス６、データバス７、およびコントロールバス８が設けられている。さらにまた、図４の例の画像処理装置には、CPU９、入力解析部１０、デコード部１１、出力部１２、およびメモリ１３が設けられている。
【０１０７】
CPU（Central Processing Unit）１は、ノースブリッジ２に接続され、例えば、HDD４に記憶されているデータの読み出しなどの処理を制御する。
【０１０８】
また例えば、CPU１は、CPU９が実行するデコードのスケジューリング、デコードおよび表示出力の制御などの処理の開始、変更、または終了を指令するためのコマンドを生成し、出力する。
【０１０９】
ノースブリッジ２は、PCIバス６に接続され、例えば、CPU１の制御に基づいて、サウスブリッジ５を介して、HDD４に記憶されているデータ受信する。
【０１１０】
また、ノースブリッジ２は、HDD４から受信したデータを、PCIバス６を介して、入力解析部１０に送信する。さらにまた、ノースブリッジ２は、メモリ３とも接続されており、CPU１の処理に必要なデータを送受信する。
【０１１１】
メモリ３は、CPU１が実行する処理に必要なデータを保存することが可能な記憶用のメモリである。
【０１１２】
サウスブリッジ５は、HDD４のデータの書き込みおよび読み出しを制御する。HDD４には、ストリームデータが記憶されている。
【０１１３】
CPU９は、コントロールバス８を介して、入力解析部１０、デコード部１１、および、出力部１２が実行する処理を制御する。
【０１１４】
入力解析部１０は、PCIバス６を介してノースブリッジ２と接続されている。また、入力解析部１０は、データバス７を介してメモリ１３と接続されている。さらに入力解析部１０は、コントロールバス８を介してCPU９と接続されている。
【０１１５】
入力解析部１０は、ストリームデータが入力された場合、順次AUを検出する。
【０１１６】
入力解析部１０は、検出したAUから、SPS，PPS、およびスライスヘッダを抽出する。
【０１１７】
入力解析部１０は、抽出したSPS，PPS、およびスライスヘッダを、各AUごとにピクチャ情報領域２１に保存する。
【０１１８】
なお、図２を参照して上述したように、SPS，PPS、およびスライスヘッダは、従来のAVCにおいては、同じIDのSPSやPPSが存在する場合、時間的に後から入力されたSPSやPPSが上書きされる場合あり、正常なデコードを阻害する恐れがあった。このため、本発明においては、同じIDであっても、SPS，PPS、およびスライスヘッダを上書きすることなく、各AUごとにピクチャ情報領域２１に保存する。
【０１１９】
さらに入力解析部１０は、先頭のスライスヘッダを抽出し、そのAUが、どのSPS，PPSに対応しているか、という関連付けを行う（以下、SPS，PPSの関連付けと称する）。またさらに入力解析部１０は、そのAUのピクチャが参照ピクチャであるか否かを解析する。
【０１２０】
そのAUのピクチャが参照ピクチャであった場合、入力解析部１０は、先頭のスライスヘッダだけでなく、AUに含まれるすべてのスライスヘッダについて解析し、MMCO（Memory Management Control Operation）の有無を確認する。MMCOは、DPBのリストを更新するための情報である。
【０１２１】
さらにまた、入力解析部１０は、抽出したSPSをメモリ１３のSPS領域２２に、各AUごとに保存する。また、入力解析部１０は、抽出したPPSをメモリ１３のPPS領域２３にも、各AUごとに保存する。これは、SPS，PPSを後から容易に参照できるようにするための処理である。
【０１２２】
なお、入力解析部１０は、SPS,PPSをそれぞれSPS領域２２，PPS領域２３に保存する場合であっても、ピクチャ情報領域２１に保存した場合と同様に、同じIDであっても、SPS，PPS、上書きすることなく、各AUごとにSPS領域２２，PPS領域２３に保存する。
【０１２３】
なお、検出したAUに、SPSやPPSが存在しない場合もある。この場合、入力解析部１０は、SPS領域２２、PPS領域２３に保存されている、検出したAUに対応するSPS、PPSにポインタを記入する。
【０１２４】
ポインタは、SPS領域２２、PPS領域２３にそれぞれに保存されているSPSやPPSではなく、ストリームデータ領域２４に保存されているストリームデータにSPSやPPSに記入することも可能である。
【０１２５】
しかしながら、上述したように、AVCにおいては、必要とするSPSやPPSが後続して入力された他のストリームデータによって上書きされてしまう可能性がある。そこで、本発明においては、ストリームデータにポインタを記入せず、SPS領域２２、PPS領域２３にそれぞれに保存されているSPSやPPSへポインタを記入する手法を適用する。
【０１２６】
なお、AVCHD（Advanced Video Codec High Definition、パナソニック株式会社およびソニー株式会社の登録商標）というハイビジョン動画記録フォーマットが存在する。AVCHDにおいては、SPSやPPSは必ず同一GOP内にあるという制限がついている。よって、AVCHDの場合は、SPSやPPSへのポインタは、ストリームデータ領域２４に保存されているストリームデータに付与することも可能である。
【０１２７】
CPU９は、適時、ピクチャ情報領域２１に保存されているSPS，PPS、およびスライスヘッダに基づいて、POCの計算を行う。さらにCPU９は、DPBリストを作成する。POCおよびDPBリストは、ピクチャ情報領域２１に保存される。
【０１２８】
さらにCPU９は、ピクチャ情報領域２１に保存されているSPS，PPS、およびスライスヘッダから、DPB最大ピクチャ数や、デコードするピクチャが参照ピクチャであるか、非参照ピクチャであるか、などの情報もあわせて取得する。
【０１２９】
またデコード後にMMCOが得られた場合には、CPU９はその都度DPBリストを更新し、ピクチャ情報領域２１の情報を更新する。
【０１３０】
デコード部１１は、CPU９の制御に基づいて、供給されたストリームデータをデコードし、非圧縮の映像信号を出力する。デコード部１１は、１フレームが表示される表示時間よりも充分短い時間に１フレームをデコードすることができる。
【０１３１】
デコード部１１には、データバス７を介して、メモリ１３が接続されている。デコード部１１によりデコードされた非圧縮の映像信号は、メモリ１３の画像情報領域２５に保存される。
【０１３２】
なお、デコード部１１においては、高速でデコードできるように、複数のデコーダ１１−１乃至１１−N（Nは１以上の整数値）を並列に制御できるように構成している。
【０１３３】
デコーダ１１−１乃至１１−N（Nは１以上の整数値）でデコードされた非圧縮の映像信号は、参照ピクチャを重複してデコードしないように、共通のメモリである、メモリ１３の画像情報領域２５に保存される。
【０１３４】
また、デコード部１１は、画像処理装置に含まれない独立した装置として設けられていても良い。
【０１３５】
CPU９によってDPBリストの作成が進んでない場合、デコード部１１は、参照ピクチャを優先的にデコードしていく。
【０１３６】
CPU９により、DPBリストの作成が進んでいる場合、デコード部１１は、次のようにデコードを行う。
【０１３７】
デコード部１１は、ピクチャ情報領域２１に保存されているDPBリストに基づいて、デコードを行う。デコード部１１は、デコードの対象となるAUについて、DPBリストに基づいて、参照ピクチャがあるか否かを調べる。
【０１３８】
参照ピクチャがない場合は、そのデコード対象となるAUをデコードする。それに対して、デコード対象となるAUに参照ピクチャがある場合には、デコード部１１は、その参照ピクチャがすべてデコード済みであるか否かを調べる。換言すると、デコードの対象となるAUの参照ピクチャがすべて、画像情報領域２５にデコードされた非圧縮の映像信号として存在するか否かを調べる。
【０１３９】
参照ピクチャがすべてデコードされている場合は、デコードの対象となるAUをデコードする。参照ピクチャがすべてデコードされていない場合は、デコードされていない参照ピクチャを先にデコードし、その後、デコードの対象となるピクチャをデコードする。
【０１４０】
なお、デコード部１１は、参照ピクチャをデコードする場合においても、DPBリストに基づいて、その参照ピクチャがさらに参照する参照ピクチャの有無を調べる。
【０１４１】
後者の参照ピクチャがある場合には、デコード部１１は、後者の参照ピクチャを先にデコードし、その後に前者の参照ピクチャをデコードする。後者の参照ピクチャがない場合には、デコード部１１は、そのまま前者の参照ピクチャをデコードする。
【０１４２】
デコード順を決定する基本的な考え方は、MPEG2と同様である。即ち、デコード部１１は、参照ピクチャを優先的にデコードする。
【０１４３】
優先的にデコードされた参照ピクチャは画像情報領域２５に保存され、非参照ピクチャは表示が必要になった時点でデコード部１１によりデコードされる。
【０１４４】
なお、上述したAVCHDにおいては、参照Bピクチャは他の参照ピクチャから参照されないという制限がある。
【０１４５】
よってAVCHDの場合は、デコード部１１は、IピクチャやPピクチャを優先的にデコードする。また、デコード部１１は、参照Bピクチャ、および非参照ピクチャについては、必要に応じてデコードする。
【０１４６】
このような順序でデコードを行うと、あるピクチャをデコードするまでに、そのピクチャの参照ピクチャはすべて画像情報領域２５に保存されていることになる。よって、デコード部１１は、すぐにそのピクチャをデコードすることができる。
【０１４７】
また参照ピクチャをある程度画像情報領域２５に保存しておくことにより、CPU９は、逆再生などの特殊再生を、反応よく再生することが可能となる。
【０１４８】
出力部１２は、メモリ１３から入力された、デコード後の非圧縮の映像信号が出力される。
【０１４９】
特殊再生の場合は、図示せぬ入力部から、直接的または間接的な指示により、出力されるフレームが決定される。デコード部１１は、決定されたフレームをデコードし、その後、CPU９の制御に基づいて、デコード後の非圧縮の映像信号が出力部１２から出力される。なお、入力部からの指示が間接的な指示であった場合は、次に出力されるフレームが予測可能である。このため、間接的な指示であった場合は、デコード部１１は予測可能なフレームについても順にデコードする。
【０１５０】
メモリ１３は、例えば、ピクチャ情報領域２１、SPSを保存するSPS領域２２、PPSを保存するPPS領域２３、ストリームデータ領域２４、画像情報領域２５を含むように構成されている。
【０１５１】
ピクチャ情報領域２１は、入力解析部１０から入力されたSPS、PPS、スライスヘッダ等の情報を保存している。さらに、ピクチャ情報領域２１は、CPU９から入力されたPOCおよびDPBリストを保存している。またさらに、ピクチャ情報領域２１は、デコード対象となるピクチャが参照ピクチャであるか、非参照ピクチャであるか、という情報を保存している。
【０１５２】
SPS領域２２は、各AUごとのSPSを、ピクチャ情報領域２１とは別に、独立して保存している。
【０１５３】
PPS領域２３は、各AUごとのPPSを、ピクチャ情報領域２１とは別に、独立して保存している。
【０１５４】
ストリームデータ領域２４は、入力解析部１０から入力されたストリームデータを一時保存し、デコード部１１に供給する。
【０１５５】
画像情報領域２５は、デコード部１１によりデコードされた非圧縮の映像信号を保存している。
【０１５６】
なお、図１の例の画像処理装置は、システムとして構成することができる。ここで、システムとは、複数の装置や処理部により構成される装置全体を表すものである。
【０１５７】
［画像処理装置の処理の説明］
図１の例の本発明が適用される画像処理装置が、ストリームデータを再生する処理（以下、ストリームデータ再生処理と称する）について説明する。
【０１５８】
図５は、本発明が適用される画像処理装置の処理における、ストリームデータ再生処理の一例を説明するフローチャートである。
【０１５９】
ステップＳ１において、CPU１は、ストリームデータをHDD４から読み出し、入力解析部１０に出力する。
【０１６０】
ステップＳ２において、CPU９は、入力解析部１０を制御して、入力されたストリームデータに対し、DPBリストを作成する。なお、以下、このようなステップＳ２の処理を、DPBリスト作成処理と称する。DPBリスト作成処理の詳細については、図６および図８を参照して後述する。
【０１６１】
ステップＳ３において、CPU９は、デコード部１１を制御して、作成されたDPBリストに基づいて、ストリームデータをデコードする。なお、以下、このようなステップＳ３の処理を、デコード処理と称する。デコード処理の詳細については、図７および図９を参照して後述する。
【０１６２】
このようにしてストリームデータはデコードされ、ストリームデータ再生処理は終了される。
【０１６３】
次に、ステップＳ２のDPBリスト作成処理と、ステップＳ３のデコード処理とについて、それぞれその詳細をその順番で個別に説明していく。
【０１６４】
図６は、DPBリスト作成処理の詳細例を示すフローチャートである。
【０１６５】
なお、後述するDPBリスト作成処理の他の例（第２の実施の形態）と明確に区別すべく、図６の例のDPBリスト作成処理を、特に、第１のDPBリスト作成処理と称する。
【０１６６】
ステップＳ１１において、入力解析部１０は、AUを検出して、ピクチャ情報領域２１に保存する。これにより、処理はステップＳ１２に進む。
【０１６７】
ステップＳ１２において、入力解析部１０は、AUから、SPSを抽出したか否かを判定する。換言すると、入力解析部１０は、検出したAUに、SPSが含まれているか否かを判定する。入力解析部１０がSPSを抽出した場合、ステップＳ１２においてＹＥＳであると判定されて、処理はステップＳ１３に進む。
【０１６８】
ステップＳ１３において、入力解析部１０は、抽出したSPSをSPS領域２２に保存する。これにより、処理はステップＳ１４に進む。
【０１６９】
これに対して、入力解析部１０がSPSを抽出していない場合、ステップＳ１２においてＮＯであると判定されて、ステップＳ１３の処理は実行されずに、処理はステップＳ１４に進む。
【０１７０】
ステップＳ１４において、入力解析部１０は、AUから、PPSを抽出したか否かを判定する。換言すると、検出したAUに、PPSが含まれているか否かを判定する。入力解析部１０がPPSを抽出した場合、ステップＳ１４においてＹＥＳであると判定されて、処理はステップＳ１５に進む。
【０１７１】
ステップＳ１５において、入力解析部１０は、抽出したPPSをPPS領域２３に保存する。これにより、処理はステップＳ１６に進む。
【０１７２】
これに対して、入力解析部１０がPPSを抽出していない場合、ステップＳ１４においてＮＯであると判定されて、ステップＳ１５の処理は実行されずに、処理はステップＳ１６に進む。
【０１７３】
ステップＳ１６において、入力解析部１０は、AUから、スライスヘッダを抽出したか否かを判定する。換言すると、検出したAUに、スライスヘッダが含まれているか否かを判定する。入力解析部１０がスライスヘッダを抽出した場合、ステップＳ１６においてＹＥＳであると判定されて、処理はステップＳ１９に進む。なお、ステップＳ１９以降の処理については後述する。
【０１７４】
これに対して、入力解析部１０がスライスヘッダを抽出していない場合、ステップＳ１６においてＮＯであると判定されて、処理はステップＳ１７に進む。
【０１７５】
ステップＳ１７において、入力解析部１０は、入力されたストリームデータをストリームデータ領域２４に保存する。
【０１７６】
即ち、SPS、PPS,スライスヘッダのいずれかが抽出されないので、入力解析部１０がAUを予め解析することができない。よってこの場合は、CPU９が予めDPBリストを作成することなく、入力されたストリームデータは、そのままストリームデータ領域２４に保存される。
【０１７７】
ステップＳ１８において、入力解析部１０は、ストリームデータに含まれるすべてのAUを検出したか否かを判定する。入力解析部１０がストリームデータに含まれるすべてのAUを検出したと判定した場合、第１のDPBリスト作成処理は終了される。
【０１７８】
これに対し、入力解析部１０がストリームデータに含まれるすべてのAUを検出していないと判定した場合、処理はＳ１１に戻され、それ以降の処理が繰り返される。
【０１７９】
即ち、ステップＳ１８において、入力解析部１０がストリームデータに含まれるすべてのAUを検出したと判定するまで、ステップＳ１１乃至Ｓ１７の処理、および、後述するステップＳ１９乃至Ｓ２３の処理のループ処理が繰り返される。
【０１８０】
以上は、ステップＳ１６において、入力解析部１０がAUからスライスヘッダを抽出していない場合の処理である。これに対して、入力解析部１０がAUからスライスヘッダを抽出した場合、即ちステップＳ１６においてＹＥＳであると判定され、処理がステップＳ１９に進んだ場合について説明する。
【０１８１】
ステップＳ１９において、入力解析部１０は、抽出されたスライスヘッダが、先頭のスライスヘッダであったか否かを判定する。
【０１８２】
入力解析部１０が抽出したスライスヘッダが先頭のスライスヘッダでない場合、ステップＳ１９においてＮＯであると判定されて、処理はステップＳ２１に進む。ステップＳ２１以降の処理については後述する。
【０１８３】
これに対して、入力解析部１０が抽出したスライスヘッダが先頭のスライスヘッダであった場合、ステップＳ１９においてＹＥＳであると判定されて、処理はステップＳ２０に進む。
【０１８４】
ステップＳ２０において、CPU９は、SPSおよびPPSの関連付け、POCの計算およびDPBリストの作成を行う。なお、ここで作成されるDPBリストは、この検出されたAU入力時点におけるDPBリストである。
【０１８５】
ステップＳ２１において、入力解析部１０は、検出したAUが、参照ピクチャであるか否かを判定する。検出したAUが、参照ピクチャでない場合、ステップＳ２１においてＮＯであると判定され、処理はステップＳ１８に進み、それ以降の処理が施される。
【０１８６】
これに対して、検出したAUが、参照ピクチャである場合、ステップＳ２１においてＹＥＳであると判定され、処理はステップＳ２２に進む。
【０１８７】
ステップＳ２２において、入力解析部１０は、AUに含まれるすべてのスライスヘッダを解析し、MMCOがあるか否かを判定する。AUにMMCOがない場合、ステップＳ２２においてＮＯであると判定され、処理はステップＳ１８に進み、それ以降の処理が施される。
【０１８８】
これに対してAUにMMCOがある場合、ステップＳ２２においてＹＥＳであると判定され、処理はステップＳ２３に進む。
【０１８９】
ステップＳ２３においてCPU９は、後述するMMCOの指示に基づいて、DPBリストを更新し、処理はステップＳ１８に進む。
【０１９０】
このようにして、DPBリストが作成され、DPBリスト作成処理は終了される。
【０１９１】
以上、図５の例のストリームデータ再生処理のうち、ステップＳ２のDPBリスト作成処理の詳細例について説明した。次に、ステップＳ３のデコード処理の詳細例について説明する。
【０１９２】
図７は、デコード処理の詳細例を示すフローチャートである。
【０１９３】
なお、後述するデコード処理の他の例（第２の実施の形態）と明確に区別すべく、図７の例のデコード処理を、特に、第１のデコード処理と称する。
【０１９４】
ステップＳ３１において、デコード部１１は、表示するフレームを指定する。
【０１９５】
ステップＳ３２において、デコード部１１は、DPBリストに基づいて、表示するフレームをデコードするために必要な参照ピクチャの有無を確認する。
【０１９６】
ステップＳ３３において、デコード部１１は、参照ピクチャがすべて画像情報領域２５に保存されているか否かを判定する。参照ピクチャがすべて画像情報領域２５に保存されている場合、ステップＳ３３において、ＹＥＳであると判定されて、処理はステップＳ３５に進む。ただし、ステップＳ３５以降の処理については後述する。
【０１９７】
これに対して、すべての参照ピクチャが画像情報領域２５に保存されていない場合、ステップＳ３３において、ＹＥＳであると判定されて、処理はステップＳ３４に進む。
【０１９８】
ステップＳ３４において、デコード部１１は、画像情報領域２５に保存されていない参照ピクチャをデコードする。これにより、処理はステップＳ３２に戻され、それ以降の処理が繰り返される。
【０１９９】
即ち、全ての参照ピクチャが画像情報領域２５に保存されるようになるまでの間、ステップＳ３２、ステップＳ３３ＮＯ、ステップＳ３４のループ処理が繰り返される。すべての参照ピクチャのデコードが終了し、デコード後のすべての参照ピクチャが画像情報領域２５に保存されると、ステップＳ３３においてＮＯであると判定されて、処理はステップＳ３５に進む。
【０２００】
ステップＳ３５において、デコード部１１は、表示するフレームに対応するピクチャのデコードを開始する。
【０２０１】
ステップＳ３６において、デコード部１１は、デコードしたピクチャを、表示するフレームとして画像情報領域２５に出力する。
【０２０２】
ステップＳ３７において、デコード部１１は、表示するフレームをすべて出力したか否かを判定する。デコード部１１が表示するフレームがすべて出力されたと判定した場合、ステップＳ３７においてＹＥＳと判定され、第１のデコード処理は終了される。
【０２０３】
これに対し、デコード部１１が表示するフレームがすべて出力されていないと判定した場合、処理はステップＳ３１に戻され、それ以降の処理が繰り返される。
【０２０４】
即ち、ステップＳ３７において、デコード部１１が表示するフレームがすべて出力されたと判定するまで、ステップＳ３１乃至Ｓ３６の処理のループ処理が繰り返される。
【０２０５】
以上、図５、図６、および図７を参照して、本発明が適用される画像処理装置における、ストリームデータ再生処理の第１の実施の形態について説明した。
【０２０６】
図６を参照して説明したDPBリスト作成処理と、図７を参照して説明したデコード処理を採用したストリームデータ再生処理は、DPBリストを予め完全に構築しておく場合の処理である。第１の実施の形態においては、デコード処理において、CPU９は、MMCOの有無にかかわらずDPBリストを更新する必要はない。
【０２０７】
それに対し、次に第２の実施の形態として、図８を参照して後述するDPBリスト作成処理と、図９を参照して後述するデコード処理を採用したストリームデータ再生処理は、DPBリストを予め完全に構築しない場合の処理である。そこで、第２の実施の形態においては、スライスヘッダにMMCOがある場合には、CPU９は、デコード処理においてDPBリストを更新する必要がある。その詳細については、図８および図９を参照して後述する。
【０２０８】
換言すると、第１の実施の形態が完全にDPBリストを作成する手法である。それに対し、第２の実施の形態は、簡易的にDPBリストを作成する手法である。
【０２０９】
＜３.第２の実施形態＞
図８、図９を参照して、本発明が適用される画像処理装置の第２の実施の形態について説明する。
【０２１０】
第２の実施の形態において、図５のフローチャートにおけるステップＳ２のDPBリスト作成処理と、ステップＳ３のデコード処理とについて、それぞれその詳細をその順番で個別に説明していく。
【０２１１】
図８は、DPBリスト作成処理の詳細例を示すフローチャートである。
【０２１２】
なお、上述したDPBリスト作成処理の他の例（第１の実施の形態）と明確に区別すべく、図６の例のDPBリスト作成処理を、特に、第２のDPBリスト作成処理と称する。
【０２１３】
図８の例の第２のDPBリスト作成処理におけるステップＳ５１乃至ステップＳ５８の処理は、図６の例の第１のDPBリスト作成処理におけるステップＳ１１乃至ステップＳ１８の処理と、同様の処理である。このため、その説明を省略する。
【０２１４】
さらに、図８の例の第２のDPBリスト作成処理におけるステップＳ６０乃至ステップＳ６３の処理は、図６の例の第１のDPBリスト作成処理におけるステップＳ２０乃至ステップＳ２３の処理と、同様の処理である。このため、その説明を省略する。
【０２１５】
即ち、図８の例の第２のDPBリスト作成処理と、図６の例の第１のDPBリスト作成処理は、ステップＳ５９とステップＳ１９とが異なるのみである。さらにいえば、ステップＳ１９とステップＳ５９とは、判定処理そのものは同様であり、判定結果がＮＯであった場合の処理の進み方が異なる。よって、以下に図８の例における第２のDPBリスト作成処理におけるステップＳ５９と、図６の例における第１のDPBリスト作成処理におけるステップＳ１９との差異について説明する。
【０２１６】
図８のステップＳ５９において、入力解析部１０は、抽出されたスライスヘッダが、先頭のスライスヘッダであるか否かを判定する。入力解析部１０が抽出されたスライスヘッダが先頭のスライスヘッダでない場合、ステップＳ５９においてＮＯであると判定されて、処理はステップＳ５７に進み、以降の処理が施される。
【０２１７】
これに対して、上述したように、図６のステップＳ１９においては、入力解析部１０が先頭のスライスヘッダを抽出していない場合、ステップＳ１９においてＮＯであると判定されて、処理はステップＳ２１に進む。
【０２１８】
即ち、図８の例のDPBリスト作成処理においては、抽出されたスライスヘッダが、先頭のスライスヘッダでない場合は、それ以上の解析を行わない。それに対し、図６の例のDPBリスト作成処理においては、抽出されたスライスヘッダが、先頭のスライスヘッダでない、即ち、先頭以外のスライスヘッダであっても、ステップＳ２１以降の処理を行う。
【０２１９】
換言すると、第１の実施の形態においては、先頭のスライスヘッダ以外のスライスヘッダにおいても、そのAUが参照ピクチャであるかを判定する。さらに、第１の実施の形態においては、スライスヘッダにMMCOがあるかを判定し、DPBリストを更新することによって、完全なDPBリストを作成するものである。それに対し、第２の実施の形態においては、簡易的にDPBリストを作成するものである。
【０２２０】
以上、第２の実施の形態における図５の例のストリームデータ再生処理のうち、ステップＳ２のDPBリスト作成処理の詳細例について説明した。次に、ステップＳ３のデコード処理の詳細例について説明する。
【０２２１】
図９は、第２の実施の形態のデコード処理の詳細例を示すフローチャートである。
【０２２２】
なお、上述したデコード処理の他の例（第１の実施の形態）と明確に区別すべく、図９の例のデコード処理を、特に、第２のデコード処理と称する。
【０２２３】
図９の例の第２のデコード処理におけるステップＳ７１乃至ステップＳ７５の処理は、図７の例の第１のデコード処理におけるステップＳ３１乃至ステップＳ３５の処理と、同様の処理である。
【０２２４】
さらに、図９の例の第２のデコード処理におけるステップＳ７８，Ｓ７９の処理は、図７の例の第１のデコード処理におけるステップＳ３６，Ｓ３７の処理と、同様の処理である。このため、その説明を省略する。
【０２２５】
即ち、図９の例の第２のデコード処理と、図７の例の第１のデコード処理との差異は、図９の例の第２のデコード処理には、ステップＳ７６、ステップＳ７７というステップがあるという点のみである。よって、以下に、ステップＳ７６、ステップＳ７７について説明する。
【０２２６】
ステップＳ７６において、デコード部１１は、デコードしたピクチャにMMCOが含まれているか否かを判定する。デコードしたピクチャにMMCOが含まれている場合、処理はステップＳ７７に進む。
【０２２７】
ステップＳ７７において、CPU９は、MMCOに基づき、DPBリストを更新し、処理はステップＳ７８に進む。
【０２２８】
これに対し、ステップＳ７６において、デコード部１１は、デコードしたピクチャにMMCOが含まれていない場合にはDPBリストを更新する必要がない。このため、処理はステップＳ７８に進む。
【０２２９】
即ち図９の例のデコード処理においては、図８の例のDPBリスト作成処理において正確なDPBリストが作成されていない。このため、デコードした画像にMMCOがある場合には、DPBリストを更新する必要がある。
【０２３０】
以上、図８および図９を参照して、第２の実施の形態について説明した。次に、図１０乃至図１２を参照して、本発明第１の実施の形態、第２の実施の形態が奏することができる効果について説明する。
【０２３１】
図１０には、ストリームデータＡ，Ｂにおけるデコード順と表示順が示されている。
【０２３２】
ストリームデータＡにおけるデコード順は、I0,P4,Br2,B1,B3という順である。また、ストリームデータＡにおける表示順は、I0,B1,Br2,B3,P4という順である。
【０２３３】
ストリームデータＢにおけるデコード順は、I0,P4,Br3,B1,B2という順である。また、ストリームデータＢにおける表示順は、I0,B1,B2,Br3,P4という順である。
【０２３４】
なお、図１０以降の図において、I、Pは、図２を参照して説明した通り、それぞれIピクチャおよびPピクチャを示している。また、Brは参照Bピクチャ、Bは非参照Bピクチャを示している。
【０２３５】
本発明を適用した画像処理装置でない場合、即ち、予めPOCおよびDPBリストを求めない場合（以下、この場合を従来の場合と称する）、画像処理装置はストリームデータのピクチャの種類の情報のみを取得している。
【０２３６】
したがって、従来の場合は、ストリームデータＡ，Ｂのどちらにおいても、I,P,Br,B,Bというデコード順のピクチャであるという情報しか得られていない。
【０２３７】
このとき例えば、ユーザから「３番目のピクチャ（ストリームデータAにおいてはBr2、ストリームデータBにおいてはB2）を表示したい」という要望があったとする。
【０２３８】
この要望に対して、従来の場合、I,P,Br,B,Bという情報のみでは、複数の表示順が可能性として考えられる。よって、画像処理装置は、１つのピクチャごとに順次POCを求めながら、デコードする必要がある。このため、従来の場合、画像処理装置はユーザの要望に迅速に応えることができない。
【０２３９】
しかしながら本発明を適用した画像処理装置の場合、即ち、予めPOCおよびDPBリストを求める場合（以下、この場合を本発明の場合と称する）、先行してPOCが判明している。
【０２４０】
このため、このI,P,Br,B,Bというデコード順のストリームデータの表示順が、例えばストリームデータＡの構成なのか、ストリームデータＢの構成なのかを事前に判別することが可能である。よって、画像処理装置は、必要最低限のデコード（ストリームデータＢの場合、I0,P4,Br3,B2）で３番目のピクチャB2を表示することが可能となる。換言すると、本発明の場合、画像処理装置はユーザの要望に迅速に応えることが可能となる。
【０２４１】
図１１のＡは、AVCのストリームデータのデコード順の一例と、そのDPBリストである。また、図１１のＢには、図１１のＡのストリームデータの各ピクチャにおける、参照ピクチャの依存関係が矢印で示されている。
【０２４２】
図１１のＡの例のストリームデータのデコード順は、MPEG2における一般的なデコード順とほぼ同様の構成であるが、AVCの規格で追加された参照BピクチャBrが使用されている点が、MPEG2における一般的なデコード順とは異なる。
【０２４３】
また、図１１のＢの例の参照画像の依存関係においては、Iピクチャ、Pピクチャは、Bピクチャを参照しないという制限を設けてある。
【０２４４】
このような場合、予めPOCやDPBリストを求めなくとも、ピクチャの種類と、参照ピクチャであるか非参照ピクチャであるか、という情報のみで、デコード部１１は、IピクチャおよびPピクチャを先行してデコードすることが可能である。
【０２４５】
それに対して、図１２のＡは、AVCのストリームデータのデコード順の別の一例と、そのDPBリストである。また、図１２のＢには、図１２のＡのストリームデータの各ピクチャにおける、参照ピクチャの依存関係が矢印で示されている。
【０２４６】
図１２のＡの例のストリームデータのデコード順は、図１１のＡに示したMPEG2における一般的な構成とは異なり、このデコード順は、P,Br,Br,B,Pとなっている。
【０２４７】
このような場合、ピクチャの種類と、参照ピクチャであるか非参照ピクチャであるか、という情報のみでは、表示順の予想が困難となる。よって、デコード部１１は、IピクチャおよびPピクチャのみを先行してデコードすることができない。
【０２４８】
例えば、図１２の例においては、P11をデコードする場合には、P5,Br6,P8となるDPBリストが必要である。しかしながら、従来の場合においては画像処理装置がDPBリストを予め作成していないので、Br6をデコードする時点でどのピクチャを削除すればよいのかが不明確である。よって、従来の場合においては、誤ったDPBリストが作成されてしまう恐れがある。その結果、それ以降のデコードが正常に行われなくなる可能性がある。
【０２４９】
本発明の場合には、予め正確なDPBリストを作成しているので、図１２のような例においても、画像処理装置は、正常にデコードすることが可能となる。
【０２５０】
次に、図１３を参照して、MMCOが存在する場合のDPBリストの作成について説明する。
【０２５１】
図１３のＡは、AVCのストリームデータのデコード順の一例と、そのDPBリストである。また、図１３のＢには、図１３のＡのストリームデータの各ピクチャにおける、参照ピクチャの依存関係が矢印で示されている。
【０２５２】
図１３のＡに示されるストリームデータのデコード順は、図１２のＡの例のストリームデータのデコード順と同様である。図１３のＡには、Br6にMMCOが存在している点が、図１２のＡとは異なる点である。
【０２５３】
図１３のＡにおいて、Br6にMMCOが存在してない場合は、CPU９は、DPBリストの作成において、P5,Br3,P8のうちBr3を削除する。しかしながら、MMCOが存在した場合にはCPU９は、MMCOの指示に従う。例えばこの例においては、P8を削除し、Br3はDPBリストに残すというMMCOの指示があるとする。
【０２５４】
この場合、図１３の例のデコード順は、図１１の例のデコード順と同じであるが、B7以降のDPBリストが全く違っている。したがって、このような場合は、MMCOの指示に基づいて、DPBを更新する作業、即ち完全なDPBリストの作成が必要となる。
【０２５５】
本発明が適用される画像処理装置の入力解析部１０は、ストリームデータの中からAUを検出し、SPS、PPS、スライスヘッダといった、デコードに必要な情報を抽出し、保存しておくことができる。CPU９は、これらの情報をもとに、DPBリストを作成しておくことができる。
【０２５６】
本発明が適用される画像処理装置においては、DPBリストをデコードに先行して作成することで、必要最低限のデコードでストリームデータを再生することが可能となる。
【０２５７】
本発明が適用される画像処理装置においては、POCをデコードに先行して計算しておくことで、ストリームデータの特殊再生をおこなう場合の応答性を向上させることが可能となる。
【０２５８】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、図４の画像処理装置専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０２５９】
図４の画像処理装置専用のハードウェアに組み込まれているコンピュータでは、CPU１が、例えば次のような動作をすることにより、上述した一連の処理が行われる。即ち、例えば、CPU１が、メモリ３に記憶されているプログラムを、図示せぬRAM（Random Access Memory）にロードして実行することにより、上述した一連の処理が行われる。
【０２６０】
コンピュータ（CPU１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３３に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２６１】
コンピュータでは、プログラムは、リムーバブルメディア３３をドライブ３２に装着することにより、メモリ３やHDD４等にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３１で受信し、メモリ３やHDD４等にインストールすることができる。その他、プログラムは、メモリ３やHDD４等に、あらかじめインストールしておくことができる。
【０２６２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【符号の説明】
【０２６３】
１  CPU，  ２  ノースブリッジ，  ３  メモリ，  ４  HDD，  ５  サウスブリッジ，  ６  PCIバス，  ７  データバス，  ８  コントロールバス，  ９  CPU，  １０  入力解析部，  １１  デコード部，  １２  出力部，  １３  メモリ，  ２１  ピクチャ管理領域，  ２２  SPS領域，  ２３  PPS領域，  ２４  ストリームデータ領域，  ２５  画像情報領域
【図１】
2010219983.tif 000003
【図２】
2010219983.tif 000004
【図３】
2010219983.tif 000005
【図４】
2010219983.tif 000006
【図５】
2010219983.tif 000007
【図６】
2010219983.tif 000008
【図７】
2010219983.tif 000009
【図８】
2010219983.tif 000010
【図９】
2010219983.tif 000011
【図１０】
2010219983.tif 000012
【図１１】
2010219983.tif 000013
【図１２】
2010219983.tif 000014
【図１３】
2010219983.tif 000015