(57)【要約】【課題】デコード処理に必要なメモリやバスの使用帯域が減少しデコード処理時間が長くかかるようになる状況下においても、各ピクチャを破綻なくデコードして表示を連続させる。【解決手段】Ｂピクチャのデコード処理を前のピクチャのデコードが終わったら直ちに開始する。そして、そのデコード開始タイミングがビデオバッファに当該Ｂピクチャの符号化データが揃った後となるようにするため、ＩピクチャおよびＰピクチャのデコード開始タイミングにオフセットを付加させる。【選択図】図４
2008085549.tif 000002
【特許請求の範囲】
【請求項１】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像を認識し、該認識した画像を含んだ画像データブロックについて、先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することを特徴とする画像処理装置。
【請求項２】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、
前記ビデオ符号化データをデコードするビデオデコーダ部と、
デコード前のビデオ符号化データを保持するビデオバッファ部と、
前記ビデオ符号化データから、イントラ符号化画像または予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、前記各画像の全てに付加されている第２のタイムスタンプとを抽出するタイムスタンプ抽出部と、
前記抽出された第１または第２のタイムスタンプに所定時間のオフセット値を加算してオフセットタイムスタンプを生成するオフセット部と、
前記オフセットタイムスタンプと前記ビデオデコーダ部のデコード終了時間とに基づいて、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの各画像のデコードを開始するタイミングを生成するデコード開始タイミング生成部とを備え、
前記ビデオバッファ部は、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記オフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有し、
前記デコード開始タイミング生成部は、前記画像データブロックの先頭の画像のデコード開始タイミングを前記オフセットタイムスタンプに基づいて生成するとともに、前記画像データブロックの２番目以降の画像のデコード開始タイミングを直前の画像のデコード終了時間に基づいて生成し、
前記ビデオデコーダ部は、前記デコード開始タイミング生成部により生成されたタイミングに従ってデコードを開始する
ことを特徴とする画像処理装置。
【請求項３】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像を認識し、該認識した画像を含んだ画像データブロックについて、先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、且つ２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始する場合と、各画像のデコードを各画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始する場合とが切り換え可能であることを特徴とする画像処理装置。
【請求項４】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、
前記ビデオ符号化データをデコードするビデオデコーダ部と、
デコード前のビデオ符号化データを保持するビデオバッファ部と、
前記ビデオ符号化データから、イントラ符号化画像または予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、前記各画像の全てに付加されている第２のタイムスタンプとを抽出するタイムスタンプ抽出部と、
前記抽出された第１のタイムスタンプに所定時間のオフセット値を加算して第１のオフセットタイムスタンプを生成するとともに、前記抽出された第２のタイムスタンプに所定時間のオフセット値を加算して第２のオフセットタイムスタンプを生成するオフセット部と、
前記第１のオフセットタイムスタンプに基づいてイントラ符号化画像または予測符号化画像のデコードを開始するタイミングを生成し、前記第２のオフセットタイムスタンプに基づいて双予測符号化画像のデコードを開始するタイミングを生成するデコード開始タイミング生成部とを備え、
前記ビデオバッファ部は、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記第１および第２のオフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有し、
前記ビデオデコーダ部は、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックに対して、
直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔以上である場合、前記画像データブロックの先頭の画像のデコードを前記第１または第２のオフセットタイムスタンプに基づくタイミングで開始し、前記画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始し、
直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔より短い場合、前記第１のオフセットタイムスタンプに基づくタイミングに従って前記ビデオ符号化データのイントラ符号化画像または予測符号化画像のデコードを開始し、前記第２のオフセットタイムスタンプに基づくタイミングに従って前記ビデオ符号化データの双予測符号化画像のデコードを開始する
ことを特徴とする画像処理装置。
【請求項５】
前記画像データブロックにはイントラ符号化画像または予測符号化画像が１つだけ含まれるとともに、該イントラ符号化画像または予測符号化画像は画像データブロックの先頭に配置されていることを特徴とする請求項１から請求項４のいずれかの項に記載の画像処理装置。
【請求項６】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像をデコードするタイミングをオフセットするステップと、
前記画像データブロックの先頭の画像のデコードを前記オフセットされたタイミングで開始し、２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップと
を含むことを特徴とする画像処理方法。
【請求項７】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、
前記抽出された第１または第２のタイムスタンプに所定時間のオフセット値を加算してオフセットタイムスタンプを生成するステップと、
前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記オフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップと、
前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成されたオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップとを備える
ことを特徴とする画像処理方法。
【請求項８】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、且つ２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始するステップと、前記画像データブロックの各画像のデコードを各画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始するステップとを切り換えて実行することを特徴とする画像処理方法。
【請求項９】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、
前記抽出された第１のタイムスタンプに所定時間のオフセット値を加算して第１のオフセットタイムスタンプを生成するとともに、前記抽出された第２のタイムスタンプに所定時間のオフセット値を加算して第２のオフセットタイムスタンプを生成するステップと、
前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記第１および第２のオフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップとを備えるとともに、
直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔以上である場合には、
前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成された第１または第２のオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、デコード処理を行うステップを実行し、
直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔より短い場合には、
前記ビデオバッファ部に格納されているイントラ符号化画像または予測符号化画像のデコードを前記生成された第１のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップと、
前記ビデオバッファ部に格納されている双予測符号化画像のデコードを前記生成された第２のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップとを実行する
ことを特徴とする画像処理方法。
【請求項１０】
前記画像データブロックにはイントラ符号化画像または予測符号化画像が１つだけ含まれるとともに、該イントラ符号化画像または予測符号化画像は画像データブロックの先頭に配置されていることを特徴とする請求項６から請求項９のいずれかの項に記載の画像処理方法。
【請求項１１】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像をデコードするタイミングをオフセットするステップと、
前記画像データブロックの先頭の画像のデコードを前記オフセットされたタイミングで開始し、２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップと
を実行させるためのコンピュータプログラム。
【請求項１２】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、
前記抽出された第１または第２のタイムスタンプに所定時間のオフセット値を加算してオフセットタイムスタンプを生成するステップと、
前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記オフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップと、
前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成されたオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップと
を実行させるためのコンピュータプログラム。
【請求項１３】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、且つ２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始するステップと、前記画像データブロックの各画像のデコードを各画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始するステップとを切り換えて実行させるためのコンピュータプログラム。
【請求項１４】
イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、
少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、
前記抽出された第１のタイムスタンプに所定時間のオフセット値を加算して第１のオフセットタイムスタンプを生成するとともに、前記抽出された第２のタイムスタンプに所定時間のオフセット値を加算して第２のオフセットタイムスタンプを生成するステップと、
前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記第１および第２のオフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップとを実行させるとともに、
直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔以上である場合には、
前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成された第１または第２のオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、デコード処理を行うステップを実行させ、
直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔より短い場合には、
前記ビデオバッファ部に格納されているイントラ符号化画像または予測符号化画像のデコードを前記生成された第１のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップと、
前記ビデオバッファ部に格納されている双予測符号化画像のデコードを前記生成された第２のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップとを実行させる
ためのコンピュータプログラム。
【請求項１５】
前記画像データブロックにはイントラ符号化画像または予測符号化画像が１つだけ含まれるとともに、該イントラ符号化画像または予測符号化画像は画像データブロックの先頭に配置されていることを特徴とする請求項１１から請求項１４のいずれかの項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
動画や音声をデジタル符号化する現在普及している符号化方式として、ＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２）システムがある。ＭＰＥＧ２のデコーダの規格では、受信したビデオストリームデータやオーディオストリームデータをリアルタイムに復号し表示するための仕様が定められている。
ＭＰＥＧ２のデコーダは、ストリームデータが正しい順序で再生され、且つビデオとオーディオとのタイミングがずれないように、表示タイミングを常にチェックしている。この表示タイミングは、ストリームデータの送出側がヘッダ情報として付加するＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）によって決定される。
【０００３】
ＭＰＥＧ２の規定によると、ＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）のヘッダ情報として付加されるＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）により受信側のシステム時間が設定される。そして、このシステム時間とＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）が一致したらデコードを開始し、また同様にシステム時間とＰＴＳが一致したら表示を開始する。そのため、ＰＴＳがずれると動画表示や音声出力などが止まることになる。
従来、取得したデータを溜めるバッファが溢れたり、逆にデータが揃わないうちからデコードを始めたりすることによって表示が止まってしまうことを回避する方法として、ＰＴＳにオフセットをかけることで同期を維持する方法が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００２−２９０９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＰＴＳがずれる他の原因に、画像処理装置のバスやメモリの帯域が一時的に不足することで処理遅延が生じることによるものがある。すなわち、近年、ＢＳ放送やデジタル放送などデジタル符号化された動画コンテンツが増える一方で、画像処理装置が組み込まれた端末も、テレビに限らずカーナビやＰＣ、携帯電話など多様化している。これらの端末では、他のコンテンツとの同時処理を行ったり、複数本のデジタル放送コンテンツを同時に処理したりといったように、端末の処理能力の限界近くでの動作を求められることも多い。実際、昨今のテレビやＨＤＤレコーダでは、チューナを２個搭載することが当たり前になってきており、２画面表示を行う場合のようにコンテンツを２本以上同時処理する必要性は高い。こうした状況下においては、デジタル符号化された動画コンテンツのデコード処理に使用可能なバスやメモリの帯域が不足しやすくなる。
【０００５】
上記の問題に対して、最も簡単な解決方法としてはバスやメモリの帯域を広げることが考えられるが、効率的に使用状況に応じた必要なだけの帯域を増やすための設計は複雑であり、コスト増を招いてしまう。
また、デコードの処理タイミングに対して表示の処理タイミングを時間的に十分後ろに設定することにより、動画表示の停止を回避するという方法も考えられる。しかし、この方法では、デコード済みのデータを格納するバッファを、表示タイミングを後ろにずらした分だけ余計に確保することが必要となり、やはりコスト増を招くことになる。また、処理する動画コンテンツが記録媒体に蓄積されたものであれば問題がないが、放送のようにリアルタイムで入力されるコンテンツの場合、表示タイミングを後ろにずらし過ぎるとユーザーに時間遅れを感じさせてしまうという問題もある。
【０００６】
本発明は上記の点に鑑みてなされたものであり、その目的は、デコード処理に必要なメモリやバスの使用帯域が減少しデコード処理時間が長くかかるようになる状況下においても、各ピクチャを破綻なくデコードして表示を連続させることが可能な画像処理装置、画像処理方法、およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は上記の課題を解決するためになされたものであり、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像を認識し、該認識した画像を含んだ画像データブロックについて、先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することを特徴とする。
【０００８】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、前記ビデオ符号化データをデコードするビデオデコーダ部と、デコード前のビデオ符号化データを保持するビデオバッファ部と、前記ビデオ符号化データから、イントラ符号化画像または予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、前記各画像の全てに付加されている第２のタイムスタンプとを抽出するタイムスタンプ抽出部と、前記抽出された第１または第２のタイムスタンプに所定時間のオフセット値を加算してオフセットタイムスタンプを生成するオフセット部と、前記オフセットタイムスタンプと前記ビデオデコーダ部のデコード終了時間とに基づいて、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの各画像のデコードを開始するタイミングを生成するデコード開始タイミング生成部とを備え、前記ビデオバッファ部は、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記オフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有し、前記デコード開始タイミング生成部は、前記画像データブロックの先頭の画像のデコード開始タイミングを前記オフセットタイムスタンプに基づいて生成するとともに、前記画像データブロックの２番目以降の画像のデコード開始タイミングを直前の画像のデコード終了時間に基づいて生成し、前記ビデオデコーダ部は、前記デコード開始タイミング生成部により生成されたタイミングに従ってデコードを開始することを特徴とする。
【０００９】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像を認識し、該認識した画像を含んだ画像データブロックについて、先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、且つ２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始する場合と、各画像のデコードを各画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始する場合とが切り換え可能であることを特徴とする。
【００１０】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理装置であって、前記ビデオ符号化データをデコードするビデオデコーダ部と、デコード前のビデオ符号化データを保持するビデオバッファ部と、前記ビデオ符号化データから、イントラ符号化画像または予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、前記各画像の全てに付加されている第２のタイムスタンプとを抽出するタイムスタンプ抽出部と、前記抽出された第１のタイムスタンプに所定時間のオフセット値を加算して第１のオフセットタイムスタンプを生成するとともに、前記抽出された第２のタイムスタンプに所定時間のオフセット値を加算して第２のオフセットタイムスタンプを生成するオフセット部と、前記第１のオフセットタイムスタンプに基づいてイントラ符号化画像または予測符号化画像のデコードを開始するタイミングを生成し、前記第２のオフセットタイムスタンプに基づいて双予測符号化画像のデコードを開始するタイミングを生成するデコード開始タイミング生成部とを備え、前記ビデオバッファ部は、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記第１および第２のオフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有し、前記ビデオデコーダ部は、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックに対して、直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔以上である場合、前記画像データブロックの先頭の画像のデコードを前記第１または第２のオフセットタイムスタンプに基づくタイミングで開始し、前記画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始し、直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔より短い場合、前記第１のオフセットタイムスタンプに基づくタイミングに従って前記ビデオ符号化データのイントラ符号化画像または予測符号化画像のデコードを開始し、前記第２のオフセットタイムスタンプに基づくタイミングに従って前記ビデオ符号化データの双予測符号化画像のデコードを開始することを特徴とする。
【００１１】
また、前記画像処理装置において、前記画像データブロックにはイントラ符号化画像または予測符号化画像が１つだけ含まれるとともに、該イントラ符号化画像または予測符号化画像は画像データブロックの先頭に配置されていることを特徴とする。
【００１２】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像をデコードするタイミングをオフセットするステップと、前記画像データブロックの先頭の画像のデコードを前記オフセットされたタイミングで開始し、２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップとを含むことを特徴とする。
【００１３】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、前記抽出された第１または第２のタイムスタンプに所定時間のオフセット値を加算してオフセットタイムスタンプを生成するステップと、前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記オフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップと、前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成されたオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップとを備えることを特徴とする。
【００１４】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、且つ２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始するステップと、前記画像データブロックの各画像のデコードを各画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始するステップとを切り換えて実行することを特徴とする。
【００１５】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードする画像処理方法であって、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、前記抽出された第１のタイムスタンプに所定時間のオフセット値を加算して第１のオフセットタイムスタンプを生成するとともに、前記抽出された第２のタイムスタンプに所定時間のオフセット値を加算して第２のオフセットタイムスタンプを生成するステップと、前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記第１および第２のオフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップとを備えるとともに、直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔以上である場合には、前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成された第１または第２のオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、デコード処理を行うステップを実行し、直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔より短い場合には、前記ビデオバッファ部に格納されているイントラ符号化画像または予測符号化画像のデコードを前記生成された第１のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップと、前記ビデオバッファ部に格納されている双予測符号化画像のデコードを前記生成された第２のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップとを実行することを特徴とする。
【００１６】
また、前記画像処理方法において、前記画像データブロックにはイントラ符号化画像または予測符号化画像が１つだけ含まれるとともに、該イントラ符号化画像または予測符号化画像は画像データブロックの先頭に配置されていることを特徴とする。
【００１７】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像をデコードするタイミングをオフセットするステップと、前記画像データブロックの先頭の画像のデコードを前記オフセットされたタイミングで開始し、２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップとを実行させるためのコンピュータプログラムを提供する。
【００１８】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、前記抽出された第１または第２のタイムスタンプに所定時間のオフセット値を加算してオフセットタイムスタンプを生成するステップと、前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記オフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップと、前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成されたオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、各画像をデコードするステップとを実行させるためのコンピュータプログラムを提供する。
【００１９】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像からなる画像データブロックの先頭の画像のデコードを該画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始し、且つ２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始するステップと、前記画像データブロックの各画像のデコードを各画像に付加されているタイムスタンプに所定時間のオフセット値を加算したタイミングで開始するステップとを切り換えて実行させるためのコンピュータプログラムを提供する。
【００２０】
また、イントラ符号化画像と予測符号化画像と双予測符号化画像とからなるビデオ符号化データをデコードするコンピュータに、少なくとも１つのイントラ符号化画像または予測符号化画像を含む複数の画像で構成される画像データブロックの前記イントラ符号化画像または前記予測符号化画像のヘッダにのみ付加されている第１のタイムスタンプと、全ての画像に付加されている第２のタイムスタンプとを抽出するステップと、前記抽出された第１のタイムスタンプに所定時間のオフセット値を加算して第１のオフセットタイムスタンプを生成するとともに、前記抽出された第２のタイムスタンプに所定時間のオフセット値を加算して第２のオフセットタイムスタンプを生成するステップと、前記画像データブロックの各画像を、前記第１および第２のタイムスタンプでデコードを行う場合に必要となるバッファ量に前記第１および第２のオフセットタイムスタンプによってオフセットされた期間内に取得されるビデオ符号化データに相当するバッファ量を加算したバッファ量を有するビデオバッファに格納するステップとを実行させるとともに、直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔以上である場合には、前記ビデオバッファ部に格納されている画像データブロックの先頭の画像のデコードを前記生成された第１または第２のオフセットタイムスタンプに基づいて開始し、該画像データブロックの２番目以降の画像のデコードを直前の画像のデコードが終了したタイミングで開始することによって、デコード処理を行うステップを実行させ、直前の双予測符号化画像のデコードに要した時間が隣接する前記第１または第２のタイムスタンプ間の時間間隔より短い場合には、前記ビデオバッファ部に格納されているイントラ符号化画像または予測符号化画像のデコードを前記生成された第１のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップと、前記ビデオバッファ部に格納されている双予測符号化画像のデコードを前記生成された第２のオフセットタイムスタンプに基づいて開始し、デコード処理を行うステップとを実行させるためのコンピュータプログラムを提供する。
【００２１】
また、前記コンピュータプログラムにおいて、前記画像データブロックにはイントラ符号化画像または予測符号化画像が１つだけ含まれるとともに、該イントラ符号化画像または予測符号化画像は画像データブロックの先頭に配置されていることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、デコード処理に必要なメモリやバスの使用帯域が減少しデコード処理時間が長くかかるようになる状況下においても、各ピクチャを破綻なくデコードして表示を連続させることが可能である。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
本発明においては、データを処理するときにメモリアクセスが生じ、そのメモリアクセス量が周期的に変化し、定期的に処理が行われていることを確認する必要があるデータであるストリームデータが処理の対象となる。具体的には、リアルタイム処理が必要なビデオ符号化データが相当する。代表的なものに、ＭＰＥＧ２ビデオストリームがある。
【００２４】
図１は、ＭＰＥＧ２ビデオストリームのデータ構造の概念図である。
同図（Ａ）に、ＭＰＥＧ２規格によって符号化されたビデオ符号化データのピクチャ構造の一例を示す。ピクチャ構造の各要素は、Ｉピクチャ、Ｐピクチャ、およびＢピクチャからなる。
ここで、Ｉピクチャは、イントラ符号化画像（Ｉｎｔｒａ  Ｐｉｃｔｕｒｅ）を意味する、１枚の画像内に閉じて符号化された画像である。また、Ｐピクチャは、予測符号化画像（Ｐｒｅｄｉｃｔｉｖｅ  Ｐｉｃｔｕｒｅ）を意味し、時間的に前方向のＩピクチャまたはＰピクチャ（過去のＩピクチャまたはＰピクチャ）内の相関が高い画像部分を参照してデコードを行う画像である。また、Ｂピクチャは、双予測符号化画像（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  Ｐｒｅｄｉｃｔｉｖｅ  Ｐｉｃｔｕｒｅ）を意味し、時間的に前および後の方向にあるＩピクチャまたはＰピクチャの２つの画像内の相関が高い画像部分を参照してデコードを行う画像である。
【００２５】
図１（Ａ）において、要素Ｉ２はＩピクチャであり、デコード後の表示順番が２番目であることを表している。同様に、要素Ｂ０はＢピクチャであり、表示順番が０番目であることを表している。図１（Ａ）に例示したビデオストリームのピクチャ構造は、ＩピクチャまたはＰピクチャに２つのＢピクチャがはさまれた構造を有しており、先頭のＩピクチャまたはＰピクチャとそれに続く２つのＢピクチャからなる３枚のピクチャをひとくくりとした画像の組合せ（画像データブロック）が繰り返し出現してＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）を構成する。なお、図１（Ａ）のピクチャ構造では画像データブロックに含まれる画像の数は３であるが、この数はビデオ符号化の過程で任意に設定される。
【００２６】
Ｉピクチャは、符号化データそのものからの復号が可能であり、復号されたデータはメモリに書き込まれる。一方、Ｐピクチャについては、前の復号された画像データを参照して復号を行う必要があり、またＢピクチャについては、前後のいずれかの復号された画像データを参照して復号を行う必要がある。そのため、復号したデータをメモリに書き込むだけのＩピクチャに対して、Ｐピクチャで最大１ピクチャ分、またＢピクチャでは最大２ピクチャ分、メモリからの読み込みが余分に生じることになる。すなわち、デコード処理におけるメモリアクセスはピクチャ単位で行われて、そのアクセス量は上記の周期で変化していくことになる。
【００２７】
また、図１（Ａ）のビデオ符号化データは、ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）というパケット構造を有する。図１（Ｂ）に、ピクチャ構造の要素Ｐ５からＰ８までの部分のビデオＰＥＳの構造を示す。ビデオＰＥＳでは、ピクチャ毎にヘッダ情報であるＰＴＳまたはＤＴＳが配置される。例えば、５番目に表示されるＰピクチャである要素Ｐ５の場合、先頭のヘッダ部分にＰＴＳとＤＴＳとが配置され、それに引き続くデータ部分にＰ５を構成するビデオ符号化データが格納される。また、Ｂピクチャの要素Ｂ３は、ＤＴＳを持たず、ＰＴＳとデータ部分から構成される。このように、ＩピクチャとＰピクチャはＰＴＳおよびＤＴＳを持ち、ＢピクチャはＰＴＳを持つ。
【００２８】
なお、要素Ｐ５の表示順序は要素Ｂ３、Ｂ４の後（２枚後）であり、またＭＰＥＧ規格ではデコード時間をゼロとしてＰＴＳやＤＴＳを付加することとされているので、要素Ｐ５の表示時間を指示するＰＴＳは、要素Ｂ３の表示時間を指示するＰＴＳに対して、２枚分の画像（ピクチャ）表示時間の分だけ遅いタイムスタンプとなっている。また、要素Ｐ５のデコード時間を指示するＤＴＳは、要素Ｐ５のＰＴＳより１枚分の画像表示時間の分だけ早いタイムスタンプとなっている。
【００２９】
各ピクチャは、それぞれに付加されたＰＴＳを基準とする時間で表示が開始される。そのためには、ＩピクチャおよびＰピクチャは、それぞれに付加されたＤＴＳを基準とする時間でデコード処理を開始する必要がある。また、Ｂピクチャについては、ＤＴＳを持たないためデコード開始時間は指示されていないが、符号化データの取得速度とデコード処理の速度との差を吸収する目的でデコーダの前に置かれるバッファの量を一定量に保つために、Ｂピクチャのデコード開始時間は、ＤＴＳを基準とするＰＴＳの時間間隔（画像表示時間間隔）に従ったタイミングに制御する必要がある。このように、全てのピクチャのデコード処理は、ピクチャ毎に管理されるとともに、ＤＴＳを基準とする時間で開始される。
【００３０】
なお、ビデオ符号化規格としては、ここに説明したＭＰＥＧ２に限らず、ＭＰＥＧ４やＨ．２６４のように上述したストリームデータとしての条件を満たしていれば、本発明に適用が可能である。ビデオ符号化規格によっては、ピクチャの更に下の階層であるスライスにＩ、Ｐ、Ｂの３種類を有するものもあるが、このような規格も上記条件を満たしているので本発明に適用可能である。
【００３１】
ところで、後述する図２に示す画像処理装置のブロック図において、多重分離部１１とビデオバッファ１２、ビデオバッファ１２とビデオデコーダ１３、ビデオデコーダ１３とフレームバッファ１４、フレームバッファ１４とビデオ表示部１５の間は、全てバス（図示しない）を介して接続されており、ビデオ符号化データやデコード後のデータはこのバスを通って各ブロック間を伝送される。したがって、バスにはこれらのデータを伝送するのに十分な帯域が備わるように設計する必要がある。また、ビデオバッファ１２やフレームバッファ１４を構成するメモリにも、これらバッファへの画像データの読み書きで生じるメモリアクセスを処理しきれるだけの帯域が備わるように設計しなければならない。さらに、これらの画像データに関するメモリアクセスは、ピクチャの表示が開始されるＰＴＳの到来前に完全に終わっている必要がある。これらのことから、バスやメモリの帯域が不足してくると、各処理の実行に遅延が生じ、ひいてはビデオ画像の表示が停止してしまうことになる。
【００３２】
そこで、本発明は、使用帯域が不足した場合でもビデオ画像の表示を停止させない画像処理装置を提供する。
（第１の実施形態）
図２は、本発明の第２の実施形態による画像処理装置の構成を示すブロック図である。画像処理装置１は、ＰＣＲ抽出部１１１とＰＴＳ／ＤＴＳ抽出部１１２を備える多重分離部１１、調整用バッファ１２１を備えるビデオバッファ１２、ビデオデコーダ１３、フレームバッファ１４、ビデオ表示部１５、デコード開始タイミング生成部１６１と表示タイミング生成部１６２とオフセット部１６３とを備える制御部１６、システムクロック生成部１７の各部を有して構成される。
【００３３】
放送波などにより伝送され受信された多重ストリームデータは、入力端１０から入力され、多重分離部１１でヘッダ情報と多重ストリームデータを構成するコンテンツデータとに分離される。例えば、この画像処理装置１をデジタルテレビ受信機に用いる場合、入力端１０にはチューナ後の復調器出力が入力される。多重ストリームデータはＭＰＥＧ２−ＴＳ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）フォーマットに形成されている。
【００３４】
コンテンツデータは、ビデオ符号化データ、オーディオ符号化データ、およびサービス情報やＥＰＧ（Ｅｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）データやＢＭＬ（Ｂｒｏａｄｃａｓｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データが含まれるセクションデータから構成される。ヘッダ情報には、ストリームデータの送出側と同期をとるためのタイムスタンプであるＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）が含まれている。このＰＣＲは、多重分離部１１内のＰＣＲ抽出部１１１で抽出され、システムクロック生成部１７でシステムクロックＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）との同期が取られる。なお、ＭＰＥＧ２−ＰＳ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２  Ｐｒｏｇｒａｍ  Ｓｔｒｅａｍ）の場合は、ＰＣＲではなくＳＣＲ（Ｓｙｓｔｅｍ  Ｒｅｆｅｒｅｎｃｅ  Ｃｌｏｃｋ）となる。
【００３５】
多重分離部１１で分離されたビデオ符号化データは、ビデオバッファ１２に一定量保持された後、ビデオデコーダ１３で順次デコード処理される。ビデオバッファ１２は、ビデオ符号化データとデコード後のデータとが非同期であるため必要となるバッファであり、ＭＰＥＧ２システムでは、最低限保持しておく量であるｖｂｖ＿ｂｕｆｆｅｒ量が決められている。通常は、ビデオバッファ１２のバッファ量として、このｖｂｖ＿ｂｕｆｆｅｒ量にデコード処理時間中に取得されるビデオ符号化データの量をプラスしたバッファ量が必要となる。調整用バッファ１２１は、以下に説明するようにＤＴＳを時間的に後ろにオフセットさせるために必要となる、追加のバッファリング用のバッファである。
【００３６】
ビデオデコーダ部１３は、制御部１６内のデコード開始タイミング生成部１６１からの指示（デコード開始信号ｓｔ＿ｄｅｃ）によりデコードを開始する。デコード結果はフレームバッファ１４に書き込まれて、表示タイミング生成部１６２からの指示によりビデオ表示部１５が表示処理を開始するまで保持される。また、ＩピクチャとＰピクチャのデコード結果は、デコード時にそれらを参照するＢピクチャがデコード処理されるまで、参照画像としてフレームバッファ１４にデータが保持される。
【００３７】
オフセット部１６３は、多重分離部１１のＰＴＳ／ＤＴＳ抽出部１１２において多重ストリームデータのヘッダ情報から抽出されたＤＴＳおよびＰＴＳのそれぞれに対して、オフセットを加えたＤＴＳとＰＴＳ（以下、それぞれｏＤＴＳ、ｏＰＴＳと記述する）を生成し、それらをデコード開始タイミング生成部１６１と表示タイミング生成部１６２へ供給する。デコード開始タイミング生成部１６１は、ｏＤＴＳおよびビデオデコーダ１３からのデコード終了信号ｆｉｎ＿ｄｅｃに従って、デコード開始信号ｓｔ＿ｄｅｃを生成する。表示タイミング生成部１６２は、ｏＰＴＳに従って表示開始タイミング信号を生成する。
【００３８】
ここで、ＤＴＳおよびＰＴＳに加えられるオフセット量は、ピクチャを１枚表示するのに必要な時間（画像表示時間Ｔ）と同じ時間であれば十分であり、また調整用バッファ１２１の量は、当該オフセット時間内に取得されるビデオ符号化データの量と同じだけあれば十分である。しかし、これらの量には特に制限はなく、システム設計上好ましい値とすればよい。
【００３９】
上記構成により、本実施形態による画像処理装置１においては、デコード処理が開始されるタイミングがオフセット部１６３でオフセットされた時間だけ遅延して設定される。また、表示処理が開始されるタイミングもオフセット部１６３でオフセットされた時間だけ遅延して設定される。このようにデコード処理と表示処理が遅れて開始されることによって、本実施形態による画像処理装置１ではビデオ画像の表示が停止してしまうことが回避されるのであるが、その理由については図４を用いて後で説明する。
【００４０】
なお、表示が遅延する時間は、上記オフセットされた時間だけである。上述したように、原理上はオフセット量には特に制限はないが、表示処理遅れの観点からすると、オフセット量は画像表示時間Ｔ程度とするのが望ましい。例えば、デジタルテレビの放送波では、画像表示時間Ｔはインターレース画像で約１／３０秒、プログレッシブ画像で約１／６０秒である。そのため、ビデオ画像の表示にこの程度の遅延が生じたとしても、ユーザーは認知できず不快さを感じることはないといえる。
【００４１】
次に、本実施形態による画像処理装置１の動作を説明する。
図３は、画像処理装置１においてデコード処理が行われる過程を示したフローチャートである。
【００４２】
はじめに、変数Ｔｆｉｎ＿ｄｅｃ（１つ前のピクチャのデコード終了時間を表す）に初期値として現在のＳＴＣ値を設定する（ステップＳ１０１）。ＩピクチャまたはＰピクチャが入力されると多重分離部１１でＤＴＳが検出される（ステップＳ１０２のＹＥＳ）。検出したＤＴＳに対してオフセット部１６３でオフセットを加え、ｏＤＴＳを生成する（ステップＳ１２０）。そして、生成されたｏＤＴＳをＴｆｉｎ＿ｄｅｃと比較して（ステップＳ１０３）、Ｔｆｉｎ＿ｄｅｃがｏＤＴＳ以下、すなわち１つ前のピクチャのデコードが次のピクチャのデコード開始時間ｏＤＴＳより前に終わっていれば、ＳＴＣ（現在の時間）がｏＤＴＳと一致するまで待機する（ステップＳ１０４）。ＳＴＣがｏＤＴＳと一致したらピクチャのデコードを開始する（ステップＳ１０５）。なお、上記ステップＳ１０３でＩピクチャとＰピクチャのデコード開始タイミングを管理することによって、一定量のビデオバッファ１２（調整用バッファ１２１を含む）を用いたリアルタイム処理が維持される。
一方、Ｂピクチャが入力されるとＤＴＳは検出されず（ステップＳ１０２のＮＯ）、直ちにピクチャのデコードを開始する（ステップＳ１０５）。
【００４３】
ピクチャのデコードが開始されるとステップＳ１０６とステップＳ１０７のループに入る。そして、１ピクチャ分の処理が終了したか（ステップＳ１０６のＹＥＳ）、またはデコード処理の終了が指示されたか（ステップＳ１０７のＹＥＳ）をチェックする。１ピクチャ分の処理が終了したら、変数Ｔｆｉｎ＿ｄｅｃに現在のＳＴＣ値を設定する（ステップＳ１０８）。そして、再度デコード処理の終了が指示されたかをチェックして（ステップＳ１０９）、ステップＳ１０２に戻る。
また、ステップＳ１０７とステップＳ１０９でデコード処理の終了が指示された場合には、デコード処理を終了する。
【００４４】
なお、上記フローチャートでは、ｏＤＴＳとＳＴＣとの一致をもってデコード開始タイミングと判断するようにしているが、デコード処理にかかる時間などの、デコーダやデコーダを含むシステムの設計要素によるオフセットを考慮してデコード開始タイミングを決定してもよい。
【００４５】
このように、入力画像がＩピクチャまたはＰピクチャの場合はデコード開始タイミングを管理してｏＤＴＳを基準にデコードを開始し、Ｂピクチャの場合はデコード開始タイミングを管理することなく、前のピクチャのデコードが終わったら直ちにデコードを開始する。したがって、仮にメモリアクセス量の多いＢピクチャの処理に画像表示時間Ｔ以上の時間がかかったとしても、画像の表示は停止せずに処理は続行されることになる。すなわち、Ｂピクチャに対して、仮に当該Ｂピクチャに付随しているＰＴＳを基準としてデコードを開始するようにしたとすると、１つ前のピクチャの処理が遅延し終了時間Ｔｆｉｎ＿ｄｅｃが次のＢピクチャのデコード開始時間のＰＴＳを越えてしまった場合に、当該次のＢピクチャのデコード処理が中止され、その結果表示が停止してしまうが、図３のフローチャートのようにＢピクチャのデコードを直ちに開始するようにすれば、画像表示が停止することがない。
【００４６】
以下、この点に関し図４を参照してさらに説明する。
図４は、ビデオデコーダ１３がビデオバッファ１２からの符号化データの読み込みとフレームバッファ１４に対する復号後のビデオデータの読み書きを行っている際の、バスまたはメモリの使用帯域（以下、単に使用帯域とだけ記す）を時間軸に沿って表した模式図である。
【００４７】
図４において、縦軸は使用帯域、横軸は時間を示す。また、同図中のＩ、Ｐ、Ｂの表記は、それぞれＩピクチャ、Ｐピクチャ、Ｂピクチャの処理を行っている時間帯を表し、縦の点線は、ピクチャを１枚表示するのに必要な時間間隔、すなわち画像表示時間（同図中のＴと表記された矢印の間隔）を表している。また、この縦の点線のタイミングまでに、ビデオバッファ１２内に各ピクチャの符号化データが入力し終わっており、ビデオデコーダ１３でのデコード処理の準備が整っていることを前提とする。
【００４８】
フレームバッファ１４では、ビデオデコーダ１３でデコードされた復号後のビデオデータが書き込まれるだけでなく、ＰピクチャやＢピクチャのデコード処理過程において既に確定している復号後のビデオデータの一部を参照する必要があることから、ビデオデコーダ１３とフレームバッファ１４との間のメモリアクセスには読み込みと書き込みが発生する。この結果、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの処理に掛かる時間には差が生じることとなり、図４ではＩピクチャ、Ｐピクチャ、Ｂピクチャそれぞれの時間帯の幅が異なって表されている。
【００４９】
図４（Ａ）および図４（Ｂ）は、仮に全ての画像のデコード処理を、ＳＴＣがＤＴＳまたはＰＴＳと一致したタイミング、すなわち図４中の縦の点線のタイミングでピクチャ毎に開始するようにした状況を示している。このタイミング間隔は、上述の通り画像表示時間Ｔ間隔である。
ビデオデコーダ１３の処理速度がＴに比較して十分に速く、且つバスおよびメモリの処理能力、すなわち使用帯域（Ｄａとする）に十分ゆとりがある場合は、図４（Ａ）に示される状況となる。すなわち、図４（Ａ）では、次のピクチャのデコードが開始される前に１ピクチャ分のデコード処理が終了する。また、デコード開始からデコード終了までの時間は、デコード時のメモリアクセス数に比例してＩピクチャ、Ｐピクチャ、Ｂピクチャの順で長くなる。なお、このメモリアクセス数は、上述したようにデコード時に復号後のデータを参照する回数に依存している。
【００５０】
ここで、例えばデコード処理以外の処理によってバスの転送データやメモリアクセスが増加し、デコード処理に使えるバスやメモリの使用帯域が少なくなってくると、ビデオデコーダ１３がピクチャ１枚分の処理を行うのに掛かる時間が、使用帯域が少なくなってくるのに反比例して長くなる。図４（Ｂ）は、使用帯域がＤｂまで減少したことによって各ピクチャのデコード終了時間が遅延し、Ｂピクチャの処理にちょうど時間Ｔだけ掛かっている状況を示したものである。この状況では、Ｂピクチャのデコード処理が終わると同時に次のピクチャのデコードが開始されるため、まだビデオ画像の表示が停止する事態には至っていない。しかし、これ以上にバスやメモリの使用帯域が減少すると、Ｂピクチャのデコード処理終了時間がさらに後に遅延して次のピクチャのデコード開始時間を越えてしまうため、次のピクチャのデコード処理が開始できなくなる（例えば当該次のピクチャは飛ばされる）。この結果、ビデオ画像の表示が停止することになる。
【００５１】
図４（Ｃ）は、使用帯域がＤｂよりさらに小さいＤｃである状況を示している。この状況においては、各ピクチャの処理時間は図４（Ｂ）の場合よりも長くなり、特にＢピクチャについては画像表示時間Ｔより長い処理時間を要することになる。ただし、１枚のＩピクチャまたはＰピクチャと複数枚（ここでは２枚）のＢピクチャからなる１つの画像データブロック全体の処理時間が、ＩピクチャまたはＰピクチャから次のＩピクチャまたはＰピクチャまでの期間内（ここでは画像表示時間Ｔの３倍）に収まるように、使用帯域Ｄｃのとり得る範囲は限定される。これは、この範囲を越えて各ピクチャの処理時間が長くなると、各画像データブロックにおける最後のＢピクチャのデコード終了時間が次の画像データブロックの先頭のピクチャのｏＤＴＳを越えてしまうことになり、処理が破綻してしまうからである。
【００５２】
図４（Ｃ）の状況において図３のフローチャートに従って制御を行う場合、Ｂピクチャは１つ前のピクチャのデコード処理が終わったら直ちにデコードが開始される。したがって、図４（Ｃ）では１枚のＩピクチャまたはＰピクチャと２枚のＢピクチャからなる３枚のピクチャが互いに接して示されている。
ＩピクチャおよびＰピクチャは、ＤＴＳのタイミングよりもオフセットされたｏＤＴＳのタイミングでデコード処理が開始される。そして、図４（Ｃ）で互いに接している３枚のピクチャにおける各Ｂピクチャのデコード開始時間が、当該Ｂピクチャの符号化データがビデオバッファ１２に揃う時間（図中の縦の点線）よりも後になるように、オフセット量が設定される。これは、符号化データがビデオバッファ１２に揃うよりも前にデコード処理が開始されないようにするためである。また、調整用バッファ１２１のバッファサイズは、このオフセット量に相当する時間内（ｏＤＴＳとＤＴＳの差分の期間内）に多重分離部１１から入力される符号化データを記憶し得る分量に設定しておけば十分である。
【００５３】
オフセット量の具体例について説明する。Ｉピクチャ、Ｐピクチャ、Ｂピクチャの処理時間をそれぞれＴＩ、ＴＰ、ＴＢで表し、ＴＩ：ＴＰ：ＴＢ＝１：２：３（後で説明するように、各ピクチャのメモリアクセス数を考慮すると処理時間比はほぼこの値となる）であるとする。すると、Ｐピクチャ１枚とＢピクチャ２枚で構成される画像データブロックが最も処理時間が長くなるので、上記説明したようにＴＰ＋ＴＢ＋ＴＢ≦３・Ｔであることが必要である。ここでは、ＴＰ＋ＴＢ＋ＴＢ＝３・Ｔの場合を考える。この場合、上記の処理時間比の関係から、ＴＩ＝（３／８）・Ｔ、ＴＰ＝（６／８）・Ｔ、ＴＢ＝（９／８）・Ｔとなる。なお、本具体例は、上記のモデルを仮定した場合における一つの計算例であり、本発明の内容はこれに限定されるものではない。
【００５４】
図４（Ｃ）において、Ｂ０で示されるＢピクチャ（以下、Ｂピクチャ（Ｂ０）のように表記する）の符号化データは時刻ｔ１までにビデオバッファ１２に揃っているので、Ｂピクチャ（Ｂ０）のデコード開始時間を時刻ｔ１に設定する。すると、ＴＢ＝（９／８）・Ｔであることから、Ｂピクチャ（Ｂ１）のデコード開始時間はｔ１＋（９／８）・Ｔ、すなわち時刻ｔ２より後になるが、この時点では既にビデオバッファ１２にＢピクチャ（Ｂ１）の符号化データが揃っているため、デコード処理は開始できる。同様に、Ｉピクチャ（Ｉ２）については、ＴＩ＝（３／８）・Ｔであることから、そのデコード開始時間は、ｔ１−（３／８）・Ｔ、すなわち時刻ｔ０より（５／８）・Ｔだけ後に設定されることになる。このように、Ｉピクチャ（Ｉ２）とＢピクチャ（Ｂ０）とＢピクチャ（Ｂ１）からなるＧＯＰは、時刻ｔ０に対して時間（５／８）・Ｔだけオフセットされてデコード処理が開始される。したがって、この（５／８）・Ｔが、ＤＴＳからｏＤＴＳを生成するためのオフセット量である。
【００５５】
なお、オフセット量（５／８）・Ｔの場合に、Ｐピクチャ（Ｐ５）とＢピクチャ（Ｂ３）とＢピクチャ（Ｂ４）からなる画像データブロックについても、次のように問題なくデコード処理が実行される。すなわち、Ｐピクチャ（Ｐ５）のデコード開始時間は時刻ｔ３にオフセット量（５／８）・Ｔが加えられた時間であり、Ｂピクチャ（Ｂ３）のデコード開始時間はｔ３＋（５／８）・Ｔ＋ＴＰ、すなわちｔ４＋（３／８）・Ｔであり、Ｂピクチャ（Ｂ４）のデコード開始時間はｔ４＋（３／８）・Ｔ＋ＴＢ、すなわちｔ５＋（４／８）・Ｔであり、Ｂピクチャ（Ｂ４）のデコードが終了する時間はｔ５＋（４／８）・Ｔ＋ＴＢ、すなわちｔ６＋（５／８）・Ｔである。したがって、いずれのピクチャについてもビデオバッファ１２に符号化データが揃った後にデコードが開始されている。また、Ｂピクチャ（Ｂ４）のデコードが終了する時間ｔ６＋（５／８）・Ｔは、次のＧＯＰのＰピクチャ（Ｐ８）のｏＤＴＳと一致している。そのため、Ｐピクチャ（Ｐ８）についても問題なくデコードが開始されることになる。
【００５６】
なお、一般に、Ｐピクチャのデコード処理に必要な使用帯域は、Ｉピクチャの使用帯域に対して、最大でピクチャ１枚分のデータをフレームバッファ１４から参照のため読み込む分だけ多い。また、Ｂピクチャでは参照先が２枚のピクチャに及ぶため、Ｂピクチャのデコード処理に必要な使用帯域は、Ｐピクチャの使用帯域に対して、最大で更にピクチャ１枚分のデータをフレームバッファ１４から読み込む分だけ多くなる。Ｉピクチャは、ピクチャの参照をせずにデコード結果をフレームバッファ１４に書き込むだけである。したがって、ＩピクチャとＰピクチャとＢピクチャの最大使用帯域の比は、ほぼ１：２：３となる。
【００５７】
以上説明したように、本実施形態では、Ｂピクチャのデコード処理を前のピクチャのデコードが終わったら直ちに開始するようにするとともに、ＩピクチャおよびＰピクチャのデコード開始タイミングにオフセットを付加させることによって上記Ｂピクチャのデコード開始タイミングがビデオバッファに当該Ｂピクチャの符号化データが揃った後となるようにし、デコード処理を制御している。したがって、デコード処理に必要なメモリやバスの使用帯域が減少し制限されてデコード処理時間が長くかかるようになる状況下においても、画像データブロック全体での処理時間がそのピクチャ数分の画像表示時間を超えない限り（すなわち、ここでは上式ＴＰ＋ＴＢ＋ＴＢ≦３・Ｔが満たされている限り）、各ピクチャを破綻なくデコードして表示を連続させることが可能である。また、ＩピクチャとＰピクチャのデコード開始タイミングをｏＤＴＳを基準として管理しているので、画像表示の遅延はせいぜい上記オフセット相当分の時間程度である。そのため、ユーザーに表示上の違和感を与えることがなく、また調整用バッファ１２１のバッファサイズを必要以上に大きくしなくて済むという効果もある。
【００５８】
（第２の実施形態）
ところで、上述した第１の実施形態の説明では、メモリおよびバスの使用帯域が低下してＤｂより小さくなった状況を前提としたが、第１の実施形態によるデコード処理の制御方式は、使用帯域が十分大きくＤｂ以上である場合にも適用可能である。図４（Ｄ）は、バスまたはメモリの使用帯域を時間軸に沿って表した模式図において、使用帯域がＤｂより大きいＤｄであり、且つ図３のフローチャートに従った制御が行われる状況を示している。
【００５９】
図４（Ｄ）において、Ｂピクチャの処理時間は図４（Ａ）と同様に画像表示時間Ｔより短くなる。この場合、Ｂピクチャ（Ｂ０）のデコード開始時間が時刻ｔ１であったとするとＢピクチャ（Ｂ１）のデコード開始時間は時刻ｔ２より前となるが、時刻ｔ２以前ではＢピクチャ（Ｂ１）の符号化データはビデオバッファ１２に揃っていることが保証されていない。したがって、図４（Ｄ）では、Ｂピクチャ（Ｂ１）のデコード開始時間が時刻ｔ２となるように、ｏＤＴＳを与えるオフセット量を設定する（第１の実施形態における図４（Ｃ）の説明を参照）。このオフセット量は、図から明らかなように、図４（Ｃ）のオフセット量と比べて大きくなる。
【００６０】
このように、メモリとバスの使用帯域がＤｂより大きいか小さいかにかかわらず、第１の実施形態を適用することができるが、使用帯域が大きくなると、処理時間自体は短縮化される反面、オフセット量が増加するのでその分のデコード前の符号化データを保持するための調整用バッファ１２１が余計に必要になってしまう。これは、メモリの効率的利用の観点からは好ましくない。
【００６１】
また、調整用バッファ１２１として必要な最大のバッファサイズは、ＰピクチャとＢピクチャが理論的にはＩピクチャと同じ帯域（メモリアクセス量）となる場合（ＰピクチャとＢピクチャの処理で他のピクチャが参照されない場合）があることを考慮すると、画像データブロックの全ピクチャをＩピクチャとしたときの画像データブロック全体の処理時間と画像表示時間との差分に相当する量と見積もることができる。しかし、画像データブロックに含まれるピクチャの枚数は符号化の過程において任意に設定されるため、メモリの実装上、調整用バッファ１２１のバッファサイズを設計パラメータとして決定することができず、上記のように使用帯域が大きくなった状況に対応できない可能性が生じる。
【００６２】
なお、図４（Ｂ）のようにＢピクチャ（Ｂ１）のデコード開始時間を時刻ｔ２に合わせるのではなく、使用帯域が十分ある場合も図４（Ａ）と同じようにＢピクチャ（Ｂ０）のデコード開始時間を時刻ｔ１に合わせるようにするデコード処理の制御方法も考えられるが、バスの利用効率や消費電力の点では好ましくない。すなわち、ビデオデコーダ１３はビデオバッファ１２にＢピクチャ（Ｂ１）の符号化データが揃うまでデコード処理を待機することになるが、その間、ビデオデコーダ１３はビデオバッファ１２に対してデータの読み込みの要求を出し続ける必要がある。すると、それだけ多くのデータがバスを伝送されるので、バスの利用効率が下がり、使用帯域を減少させることにもなる。また、処理の増大によって消費電力も増加することになる。
【００６３】
そこで、本発明の第２の実施形態では、使用帯域が不足した場合、使用帯域が十分ある場合のいずれにおいても、バスやメモリの利用効率を犠牲にすることなく、ビデオ画像の表示を停止させない画像処理装置を提供する。
【００６４】
図５は、本発明の第２の実施形態による画像処理装置の構成を示すブロック図である。画像処理装置１は、ＰＣＲ抽出部１１１とＰＴＳ／ＤＴＳ抽出部１１２を備える多重分離部１１、調整用バッファ１２１を備えるビデオバッファ１２、ビデオデコーダ１３、フレームバッファ１４、ビデオ表示部１５、デコード開始タイミング生成部１６１と表示タイミング生成部１６２とオフセット部１６３とを備える制御部１６、システムクロック生成部１７の各部を有して構成される。
【００６５】
本実施形態では、デコード開始タイミング生成部１６１へ入力されるデータが第１の実施形態とは異なる。
多重分離部１１で分離されたビデオ符号化データは、ビデオバッファ１２に一定量保持された後、ビデオデコーダ１３で順次デコード処理される。ビデオバッファ１２は、ＭＰＥＧ２のシステムで規定されるｖｂｖ＿ｂｕｆｆｅｒ量にデコード処理時間中に取得されるビデオ符号化データの量をプラスしたバッファ量を持つ。また、ビデオバッファ１２には、ＤＴＳを時間的に後ろにオフセットさせることで必要となる調整用バッファ１２１が備えられる。
【００６６】
ビデオデコーダ部１３は、制御部１６内のデコード開始タイミング生成部１６１からの指示（デコード開始信号ｓｔ＿ｄｅｃ）によりデコードを開始する。デコード結果はフレームバッファ１４に書き込まれて、表示タイミング生成部１６２からの指示によりビデオ表示部１５が表示処理を開始するまで保持される。また、ＩピクチャとＰピクチャのデコード結果は、デコード時にそれらを参照するＢピクチャがデコード処理されるまで、参照画像としてフレームバッファ１４にデータが保持される。
【００６７】
オフセット部１６３は、多重分離部１１のＰＴＳ／ＤＴＳ抽出部１１２において多重ストリームデータのヘッダ情報から抽出されたＤＴＳおよびＰＴＳのそれぞれに対して、オフセットを加えたＤＴＳとＰＴＳ（以下、それぞれｏＤＴＳ、ｏＰＴＳと記述する）を生成する。このｏＤＴＳはデコード開始タイミング生成部１６１へ入力され、ｏＰＴＳはデコード開始タイミング生成部１６１と表示タイミング生成部１６２へ入力される。デコード開始タイミング生成部１６１は、ｏＤＴＳ、ｏＰＴＳ、およびビデオデコーダ１３からのデコード終了信号ｆｉｎ＿ｄｅｃに従ってデコード開始信号ｓｔ＿ｄｅｃを生成する。表示タイミング生成部１６２は、ｏＰＴＳに従って表示開始タイミング信号を生成する。
【００６８】
ここで、ＤＴＳおよびＰＴＳに加えられるオフセット量は、Ｂピクチャの処理に必要な最大メモリアクセス数をＢ、Ｉピクチャの処理に必要な最大メモリアクセス数をＩとしたとき、（１−Ｉ／Ｂ）・Ｔに設定する（Ｔは画像表示時間である）。また、調整用バッファ１２１のバッファサイズは、このオフセット時間内に取得されるビデオ符号化データに相当する量に設定する。例えば、Ｉピクチャの処理に必要な最大メモリアクセス数がＢピクチャの処理に必要な最大メモリアクセス数の１／３であるとすると、オフセット量は（２／３）・Ｔになる。
【００６９】
上記構成により、本実施形態による画像処理装置１においては、デコード処理が開始されるタイミングがオフセット部１６３でオフセットされた時間だけ遅延して設定される。また、表示処理が開始されるタイミングもオフセット部１６３でオフセットされた時間だけ遅延して設定される。さらに、本実施形態においては、Ｉ、Ｐ、Ｂ各ピクチャそれぞれについてこのオフセットされたｏＤＴＳを基準にデコード処理を行うモードと、ＩまたはＰピクチャはｏＤＴＳを基準とし、Ｂピクチャは前のピクチャに続けて直ちにデコードするモードとを一定の条件で切り換える制御を行う。これについては次の図６を参照して説明する。
図６は、本実施形態の画像処理装置１においてデコード処理が行われる過程を示したフローチャートである。
【００７０】
はじめに、変数Ｔｆｉｎ＿ｄｅｃ（１つ前のＢピクチャのデコード終了時間を表す）に初期値として現在のＳＴＣ値を設定し、また変数Ｔｓｔ＿ｄｅｃ（１つ前のＢピクチャのデコード開始時間を表す）に初期値として現在のＳＴＣ値から画像表示時間Ｔを引いた値を設定する（ステップＳ２００）。ＩピクチャまたはＰピクチャが入力されると多重分離部１１でＤＴＳが検出される（ステップＳ１０２のＹＥＳ）。この場合、デコード処理中の画像データがＢピクチャであるか否かを区別するためのフラグ（以下Ｂフラグと呼ぶ）を「偽」にセットする（ステップＳ２０９）。
【００７１】
その後、検出したＤＴＳに対してオフセット部１６３でオフセットを加え、ｏＤＴＳを生成する（ステップＳ１２０）。そして、生成されたｏＤＴＳをＴｆｉｎ＿ｄｅｃと比較して（ステップＳ１０３）、Ｔｆｉｎ＿ｄｅｃがｏＤＴＳ以下、すなわち１つ前のピクチャのデコードが次のピクチャのデコード開始時間ｏＤＴＳより前に終わっていれば、ＳＴＣ（現在の時間）がｏＤＴＳと一致するまで待機する（ステップＳ１０４）。ＳＴＣがｏＤＴＳと一致したらピクチャのデコードを開始する（ステップＳ１０５）。
【００７２】
一方、Ｂピクチャが入力されるとＤＴＳは検出されず（ステップＳ１０２のＮＯ）、この場合はＢフラグを「真」にセットする（ステップＳ２０１）。そして、変数Ｔｆｉｎ＿ｄｅｃと変数Ｔｓｔ＿ｄｅｃの差分、すなわち１つ前のＢピクチャの処理に要した時間を計算し（ステップＳ２０２）、この差分と画像表示時間Ｔとの大小を比較する（ステップＳ２０３）。差分が画像表示時間Ｔ以上、すなわち１つ前のＢピクチャに画像表示時間Ｔ以上の処理時間がかかっている場合には、変数Ｔｓｔ＿ｄｅｃに現在のＳＴＣ値を設定して（ステップＳ２０４）、直ちにピクチャのデコードを開始する（ステップＳ１０５）。
【００７３】
ステップＳ２０３において差分が画像表示時間Ｔより小さい場合、すなわち１つ前のＢピクチャの処理を画像表示時間Ｔ以内で完了できている場合は、ＰＴＳが検出され（ステップＳ２０５）、検出したＰＴＳに対してオフセット部１６３でオフセットを加えてｏＰＴＳを生成する（ステップＳ２０６）。そして、変数Ｔｓｔ＿ｄｅｃにｏＰＴＳを設定し（ステップＳ２０７）、ＳＴＣ（現在の時間）がｏＰＴＳと一致するまで待機する（ステップＳ２０８）。ＳＴＣがｏＰＴＳと一致したらピクチャのデコードを開始する（ステップＳ１０５）。
【００７４】
なお、ステップＳ２０７を削除してステップＳ２０８でＹＥＳとなったらステップＳ２０４を実行するように制御を行っても、動作は同じである。
【００７５】
ピクチャのデコードが開始されるとステップＳ１０６とステップＳ１０７のループに入る。そして、１ピクチャ分の処理が終了したか（ステップＳ１０６のＹＥＳ）、またはデコード処理の終了が指示されたか（ステップＳ１０７のＹＥＳ）をチェックする。１ピクチャ分の処理が終了したら、それがＢピクチャの場合（ステップＳ２１０のＹＥＳ）、変数Ｔｆｉｎ＿ｄｅｃに現在のＳＴＣ値を設定する（ステップＳ１０８）。そして、再度デコード処理の終了が指示されたかをチェックして（ステップＳ１０９）、ステップＳ１０２に戻る。
また、ステップＳ１０７とステップＳ１０９でデコード処理の終了が指示された場合には、デコード処理を終了する。
【００７６】
なお、上記フローチャートでは、ｏＤＴＳとＳＴＣとの一致をもってデコード開始タイミングと判断するようにしているが、デコード処理にかかる時間などの、デコーダやデコーダを含むシステムの設計要素によるオフセットを考慮してデコード開始タイミングを決定してもよい。
【００７７】
このように、本実施形態においては、入力画像がＩピクチャまたはＰピクチャの場合はデコード開始タイミングを管理してｏＤＴＳを基準にデコードを開始する。また、Ｂピクチャの場合には、Ｂピクチャのデコード処理にかかる時間が１枚のピクチャを表示する時間である画像表示時間Ｔ以内であれば、ｏＰＴＳのタイミングでデコードを開始し、使用帯域が狭くなってＢピクチャのデコード処理にかかる時間が画像表示時間Ｔを超えると、ｏＰＴＳを基準とすることなく前のピクチャのデコードが終わったら直ちにデコードを開始する。
【００７８】
したがって、メモリアクセス量の多いＢピクチャの処理が画像表示時間Ｔ以内で終わらなかったときでも、デコード処理が連続して実行されることにより画像の表示は停止することがない。一方Ｂピクチャの処理が早く（画像表示時間Ｔ以内に）終わったときには、デコード処理をｏＰＴＳまで待機させるようにすることで、待機させない場合に比べてｏＤＴＳのオフセット量を小さく設定できるので調整用バッファ１２１のバッファサイズも小さくて済む。さらに、デコード処理が速すぎてビデオバッファ１２が空になり、デコードすべきＢピクチャの符号化データがビデオバッファ１２に存在しないにもかかわらず、当該Ｂピクチャのデコードの動作が行われてしまうという現象を防ぐことができ、その結果、ビデオデコーダ１３からビデオバッファ１２に対する余計なバスアクセス（符号化データの読み込み要求）を発生させないようにすることができる。
【００７９】
図７は、図４と同じくバスまたはメモリの使用帯域を時間軸に沿って表した模式図であり、Ｂピクチャの処理時間と画像表示時間Ｔとの大小関係によりデコードのタイミングが切り換わる（上記ステップＳ２０４の処理とステップＳ２０５〜ステップＳ２０８の処理のいずれかのデコードのタイミングに切り換わる）様子を説明する図である。
【００８０】
図７（Ａ）は、バスやメモリの使用帯域に十分ゆとりがある場合の状況を示しており、ＢピクチャはｏＰＴＳでデコードを開始される。図７（Ｂ）は、使用帯域が減少して各ピクチャのデコード処理時間が長くなり、Ｂピクチャの処理にちょうど時間Ｔだけ掛かっている状況を示している。この場合も、デコードの開始はｏＰＴＳが基準となる。
【００８１】
図７（Ｃ）は、図７（Ｂ）と同じくＢピクチャの処理時間は時間Ｔに等しいが、Ｂピクチャは前のピクチャのデコードが終わったら直ちにデコードを開始している場合を示している。図７（Ｄ）は、使用帯域がさらに減少して、Ｐピクチャと２枚のＢピクチャの計３枚からなる画像データブロックにかかるデコード処理時間が、ちょうど３枚分の画像表示時間３・Ｔと等しくなった状況を示している。なお、これ以上使用帯域が減少すると、Ｐピクチャと２枚のＢピクチャからなる画像データブロックにおける２枚目のＢピクチャのデコード終了時間が次の画像データブロックの先頭のピクチャのｏＤＴＳを越えてしまうことになり、処理が破綻する。つまり、図７（Ｄ）はビデオデコーダ１３の処理の限界に相当する。
【００８２】
ここで、図６のフローチャートのステップＳ２０３において、Ｂピクチャの処理時間が画像表示時間Ｔ以上と判断された場合は、ステップＳ２０４の制御により、各ピクチャのデコード開始タイミングは図７（Ｃ）や（Ｄ）の状態に制御される。一方、Ｂピクチャの処理時間が画像表示時間Ｔより短いと判断された場合は、ステップＳ２０５〜ステップＳ２０８の制御により、各ピクチャのデコード開始タイミングは図７（Ａ）や（Ｂ）の状態に制御される。こうして、Ｂピクチャの処理時間と画像表示時間Ｔとの大小関係に応じてデコード開始タイミングの切り換え制御が行われることにより、使用帯域が十分ある場合にも不足している場合にも、ビデオ画像の表示が停止してしまうことが回避される。
【００８３】
以上説明したように、本実施形態では、ＩピクチャおよびＰピクチャのデコード開始タイミングにオフセットを付加した上で、Ｂピクチャのデコード処理に要する時間に応じてデコード開始タイミングの制御方法を適切に切り換えている。
すなわち、メモリやバスの使用帯域が減少し制限されてデコード処理時間が長くかかるようになる状況下では、Ｂピクチャのデコード処理を前のピクチャのデコードが終わったら直ちに開始することで、各ピクチャを破綻なくデコードして表示を連続させることが可能である。
【００８４】
また、メモリやバスの使用帯域が十分に取れる状況下においては、各ピクチャをｏＤＴＳやｏＰＴＳを基準にデコード開始することで、上記オフセットの量を変えずにデコードを行ってもビデオバッファ１２からの符号化データの入力を待機しなければならない事態は発生しない。よって、デコード処理は問題なく完了し、表示も連続して行わせることが可能である。そしてオフセット量が増加しないため、調整用バッファ１２１が余計に必要となることもなく、また無駄なバスアクセスの発生も抑制できる。
【００８５】
また、ＩピクチャとＰピクチャのデコード開始タイミングをｏＤＴＳを基準として管理しているので、画像表示の遅延はせいぜい上記オフセット相当分の時間程度である。そのため、ユーザーに表示上の違和感を与えることがなく、また調整用バッファ１２１のバッファサイズを必要以上に大きくしなくて済むという効果もある。
【００８６】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、デコード開始タイミング生成部１６１およびオフセット部１６３は、それぞれが制御部１６の外部の機能ブロックとして構成されてもよいし、ビデオデコーダ部１３の一部として構成されてもよい。さらに、オフセット部１６３は、多重分離部１１内に構成されてもよい。
また、デコード開始タイミング生成部１６１やビデオデコーダ１３をはじめとする各機能ブロックは、ハードウェアとして構成することもできるし、その機能を実現するコンピュータプログラムを画像処理装置１の中央処理装置や画像処理プロセッサに実行させるようにすることもできる。
【図面の簡単な説明】
【００８７】
【図１】ＭＰＥＧ２ビデオストリームのデータ構造の概念図である。
【図２】本発明の第１の実施形態による画像処理装置のブロック図である。
【図３】図２の画像処理装置においてデコード処理が行われる過程を示したフローチャートである。
【図４】画像処理装置のバスまたはメモリの使用帯域を時間軸に沿って表した模式図である。
【図５】本発明の第２の実施形態による画像処理装置のブロック図である。
【図６】図５の画像処理装置においてデコード処理が行われる過程を示したフローチャートである。
【図７】図６のデコード処理を説明する、画像処理装置のバスまたはメモリの使用帯域を時間軸に沿って表した模式図である。
【符号の説明】
【００８８】
１…画像処理装置  １１…多重分離部  １１１…ＰＣＲ抽出部  １１２…ＰＴＳ／ＤＴＳ抽出部  １２…ビデオバッファ  １２１…調整用バッファ  １３…ビデオデコーダ  １４…フレームバッファ  １５…ビデオ表示部  １６…制御部  １６１…デコード開始タイミング生成部  １６２…表示タイミング生成部  １６３…オフセット部  １７…システムクロック生成部
【図１】
2008085549.tif 000003
【図２】
2008085549.tif 000004
【図３】
2008085549.tif 000005
【図４】
2008085549.tif 000006
【図５】
2008085549.tif 000007
【図６】
2008085549.tif 000008
【図７】
2008085549.tif 000009