(57)【要約】【課題】再生時刻情報に誤りを有するエラーストリームが入力された場合でも、正しい表示順で滑らかな表示を行うことを可能にする。【解決手段】実施形態の画像復号装置は、符号化データを復号して復号画像と、前記復号画像の表示タイミングを規定する再生時刻情報及び表示順を規定する表示順情報とを出力する復号部と、前記復号部から出力される復号画像を記憶するデコードバッファと、前記復号部から出力される再生時刻情報を記憶する再生時刻情報バッファと、前記再生時刻情報バッファに記憶されている前記再生時刻情報を昇順に出力する記憶部制御部とを具備する。【選択図】図１
2012165346.tif 000002
【特許請求の範囲】
【請求項１】
符号化データを復号して復号画像と、前記復号画像の表示タイミングを規定する再生時刻情報及び表示順を規定する表示順情報とを出力する復号部と、
前記復号部から出力される復号画像を記憶するデコードバッファと、
前記復号部から出力される再生時刻情報を記憶する再生時刻情報バッファと、
前記再生時刻情報バッファに記憶されている前記再生時刻情報を昇順に出力する記憶部制御部と
を具備したことを特徴とする画像復号装置。
【請求項２】
前記表示順情報に基づく表示順で前記デコーダバッファから前記復号画像を読み出し、前記記憶部制御部から出力される再生時刻情報のタイミングで、前記復号画像を出力する出力制御部
を具備したことを特徴とする請求項１に記載の画像復号装置。
【請求項３】
前記記憶部制御部は、前記再生時刻情報を前記再生時刻情報バッファ内でソートすることにより、前記復号画像とは独立に昇順に出力する
ことを特徴とする請求項１又は２に記載の画像復号装置。
【請求項４】
前記記憶部制御部は、挿入ソート処理により前記再生時刻情報を前記再生時刻情報バッファに格納する
ことを特徴とする請求項３に記載の画像復号装置。
【請求項５】
符号化データを復号して復号画像と、前記復号画像の表示タイミングを規定する再生時刻情報及び表示順を規定する表示順情報とを生成し
前記再生時刻情報を昇順に並び替え、
前記復号画像を、前記表示順情報に基づく表示順で、昇順に並び替えられた前記再生時刻情報のタイミングで出力する
ことを特徴とする画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像復号装置及び画像復号方法に関する。
【背景技術】
【０００２】
従来、デジタル処理される映像及び音声は、記録及び伝送に際して符号化されることが一般的である。符号化されたデータには、復号時のデコードタイミング及び表示タイミングを規定するタイムスタンプが挿入される。このようなタイムスタンプを用いることで、例えば映像と音声を同期再生することも可能となる。
【０００３】
例えば、ＩＴＵ−Ｔ  Ｈ．２６４規格で符号化された映像、音声データであるＥＳ（エレメンタリストリーム）には、buffering period SEIやpicture timing SEI等の補助時刻情報（ＳＥＩ（Supplemental Enhancement Information））が付加されている。
【０００４】
ところで、ＩＴＵ−Ｔ  Ｈ．２６４規格で符号化されたＥＳ中の各フレームは、復号順序と表示順序とが異なり、入れ替わる順序（リオーダ）もデータによって異なる。そこで、ＥＳ中の各フレームには表示順序の情報であるＰＯＣ（Picture Ordering Count）が挿入される。再生時にＰＯＣを元に表示を行うことで、正しい表示順での表示が可能となる。
【０００５】
ところが、ＰＯＣとＳＥＩとは、相互に独立に定義されており、ＰＯＣとＳＥＩとが矛盾するＥＳが作成される虞もある。そうすると、表示が滑らかでなくなり、音声と同期が取れなくなることもある。
【０００６】
また、ＥＳは、伝送に際して、ＭＰＥＧ２−システムやＭＰＥＧ−４システム等の伝送規格に応じてコンテナ化される。即ち、伝送時には、ＥＳは、映像データ及び音声データが多重化されて１つのストリームであるＴＳ（トランスポートストリーム）やＭＰ４ファイルやＭＫＶファイル等に変換されて伝送される。
【０００７】
これらのコンテナ化されたストリーム中にも、デコードタイミングを示すＤＴＳ（デコーディングタイムスタンプ）と、再生タイミングを示す再生時刻情報であるＰＴＳ（プレゼンテーションタイムスタンプ）等のタイムスタンプが挿入される。
【０００８】
ところが、このコンテナ中に挿入されるタイムスタンプについても、ＥＳ中のＰＯＣとは独立に定義されており、ＰＯＣと矛盾するＰＴＳが作成されることも考えられる。ＰＯＣは表示順番を決定するものであり、ＰＴＳが挿入されている場合には、デコーダは、このＰＴＳに基づいて表示タイミングを決定する。
【０００９】
従って、ＰＴＳがＰＯＣと矛盾するようなエラーストリームが入力された場合には、再生時にＰＴＳに基づいて表示タイミングを決定すると、表示順の乱れ、表示スキップや表示リピートが発生してしまう。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−１９７７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の実施形態は、再生時刻情報に誤りを有するエラーストリームが入力された場合でも、正しい表示順で滑らかな表示を行うことを可能にすることができる画像復号装置及び画像復号方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
実施形態の画像復号装置は、符号化データを復号して復号画像と、前記復号画像の表示タイミングを規定する再生時刻情報及び表示順を規定する表示順情報とを出力する復号部と、前記復号部から出力される復号画像を記憶するデコードバッファと、前記復号部から出力される再生時刻情報を記憶する再生時刻情報バッファと、前記再生時刻情報バッファに記憶されている前記再生時刻情報を昇順に出力する記憶部制御部とを具備する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態に係る画像復号装置を示すブロック図。
【図２】図１のビデオデコーダ１０が組み込まれたセットトップボックス（ＳＴＢ）を示すブロック図。
【図３】表示順情報（ＰＯＣ）と再生時刻情報（ＰＴＳ）との相互間で矛盾が生じている場合の表示を説明するための説明図。
【図４】図１中のＰＴＳリオーダ部１４の具体的な構成を示すブロック図。
【図５】ＰＴＳリオーダ部１４のリオーダ処理の概略を説明するための説明図。
【図６】本実施の形態の動作を説明するためのフローチャートＱ
【図７】ＰＯＣとＰＴＳとの間で矛盾が生じていないストリームが入力された場合の動作についての説明図。
【図８】ＰＯＣとＰＴＳとの間で矛盾が生じているストリームが入力された場合において、リオーダ処理を行わない場合の説明図。
【図９】ＰＯＣとＰＴＳとの間で矛盾が生じているストリームが入力された場合において、リオーダ処理を行う場合の説明図。
【図１０】ＰＴＳリオーダ部１４におけるリオーダ処理の変形例を示す説明図。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は本発明の一実施の形態に係る画像復号装置を構成するビデオデコーダを示すブロック図である。図２は図１のビデオデコーダ１０が組み込まれたセットトップボックス（ＳＴＢ）を示すブロック図である。
【００１５】
先ず、図３の説明図を参照して表示順情報（以下、ＰＯＣという）と再生時刻情報（以下、ＰＴＳという）との間で矛盾が生じている場合の表示について説明する。なお、明細書中において、ＰＯＣは、Ｈ．２６４規格を含む全ての符号化規格における表示順情報を意味し、ＰＴＳは、Ｈ．２６４規格を含む全ての符号化規格における再生時刻情報を意味するものとする。また、再生時刻情報は、画像の表示タイミングを規定するものであるが、明細書中においては、処理時間を無視し、画像の読出しタイミングと区別しないものとして扱うものとする。
【００１６】
図３において菱形の枠は符号化された映像フレーム（符号化フレーム）を示し、左側の符号化フレームほど時間的に先に入力されるフレームであるものとする。各フレームには、菱形の枠の下に数字にて示すＰＯＣ，ＰＴＳが対応付けられている。なお、説明の簡略化のために、ＰＯＣは、ＰＯＣによって与えられる表示順番の番号を示しており、番号の若い順に表示されるべきであることを示している。また、ＰＴＳは、数字が多くなるほど遅いタイミングで表示されることを示している。
【００１７】
図３（ａ）はＰＯＣによって示される表示順番と、ＰＴＳによって示される表示タイミングとに矛盾がない例を示している。図３（ａ）の入力された各符号化フレームは、ＰＯＣによって、入力順の各フレームが１番目、４番目、３番目、２番目及び５番目に順次表示されることを示している。また、これらの入力順の各フレームは、ＰＴＳによって、デコーダ内の基準時刻情報（以下、ＳＴＣという）が１００，４００，３００，２００，５００の値になったタイミングで表示されることを示している。なお、ＳＴＣは、復号装置を含むシステムが管理する情報であり、復号装置に与えられる情報である。特定のクロック信号で単調増加する値である。
【００１８】
これに対し、図３（ｂ）はＰＯＣによって示される表示順番と、ＰＴＳによって示される表示タイミングとに矛盾が生じている例を示している。図３（ｂ）に示す入力された各符号化フレームは、ＰＯＣによって、入力順の各フレームが１番目、４番目、３番目、２番目及び５番目に順次表示されることを示している。しかし、ＰＴＳは、これらの入力順の各フレームが、夫々ＳＴＣが１００，３００，４００，２００，５００のカウント値になったタイミングで表示されることを示している。
【００１９】
従って、ＰＯＣに基づく表示順で３番目に表示されるフレームは、ＳＴＣが４００になったタイミングで表示されることになり、次にＳＴＣが５００になったタイミングでは、ＰＯＣに基づく表示順が５番目に指定されたフレームが表示されることになる。つまり、ＰＯＣで表示順が４番目に指定されたフレームは、表示されないか又は表示されるべきタイミングとは異なるタイミングで表示されてしまう。
【００２０】
そこで、本実施の形態においては、各フレームに割当てられたＰＴＳをＰＯＣに基づいて再度順序付けする処理（以下、リオーダ処理という）ことで、復号された各フレームの画像データを正規の順番に出力することを可能にする。
【００２１】
図１のビデオデコーダ１０は、例えば図２に示すセットトップボックス（ＳＴＢ）等に組み込まれて用いられることが考えられる。図２は放送信号から抽出したＴＳ及びＭＰ４ストリームから映像信号及び音声信号を復元するＳＴＢを示している。ＳＴＢ３０は、例えばＴＳ用のデマルチプレクサ（ＤｅＭｕｘ）３１及びＭＰ４用のデマルチプレクサ（ＤｅＭｕｘ）３２とを備えている。デマルチプレクサ３１はＴＳから映像ＥＳ及びＰＴＳと音声ＥＳとを抽出して、映像ＥＳ及びＰＴＳをビデオデコーダ１０に出力し、音声ＥＳをオーディオデコーダ３４に出力する。また、デマルチプレクサ３２はＭＰ４から映像ＥＳ及びＰＴＳと音声ＥＳとを抽出して、映像ＥＳ及びＰＴＳをビデオデコーダ１０に出力し、音声ＥＳをオーディオデコーダ３４に出力する。
【００２２】
ビデオデコーダ１０は、入力された映像ＥＳストリームをデコードして、フレーム単位の映像信号をＰＯＣの表示順で出力する。この映像信号を図示しないディスプレイに与えることで、映像表示が可能である。また、オーディオデコーダ３４は、入力された音声ＥＳストリームをデコードして、音声信号を出力する。この音声信号をスピーカに与えることで、音響出力が可能である。
【００２３】
このように、図１のビデオデコーダ１０には、映像のエレメンタリストリーム（ＥＳ）とＰＴＳが入力される。このＥＳには、各符号化フレームに対応してＰＯＣが挿入されている。入力されたエレメンタリストリームは、復号部１１に供給される。復号部１１は、入力されたＥＳに対して例えばＨ．２６４等の符号化規格に従ったデコード処理を行う。復号部１１はデコード処理によって、エレメンタリストリームから符号化前の画像を復元する。復号部１１からのフレーム単位の復号画像（以下、復号フレームという）は、フレーム単位でデコードバッファ１２に供給されて記憶される。
【００２４】
復号部１１は、符号化ストリームのストリーム順に復号化処理を行う。復号部１１によって復号されたフレームの順番（復号順は）、表示するフレームの順（表示順）とは異なる。デコードバッファ１３は、複数の復号フレームのデータを記憶する容量を有しており、復号順に書き込まれた復号フレームを表示順に読み出みために用いられる。出力制御部１２は、ＰＴＳリオーダ部１４に制御されて、デコードバッファ１３から復号フレームを表示順に読み出す。
【００２５】
この読み出し制御のために、ＰＯＣ及びＰＴＳが用いられる。復号部１１は、符号化ストリームの各ピクチャの復号処理に際して、各フレーム毎に設定されているＰＯＣ及びＰＴＳを抽出し、復号フレームに対応させてＰＯＣをデコードバッファ１３に記憶させる。また、復号部１１は各復号フレームに対応したＰＴＳをＰＴＳリオーダ部１４に出力する。ＰＴＳリオーダ部１４は各復号フレームに対応するＰＯＣ及びＰＴＳに基づいて、出力制御部１２を制御する。
【００２６】
本実施の形態においては、ＰＴＳリオーダ部１４は、ＰＯＣとＰＴＳとの間に矛盾が生じていることを考慮して、ＰＴＳについてはＰＯＣに対応してリオーダ処理するようになっている。ＰＴＳリオーダ部１４は、デコードバッファ１３から読出したＰＯＣに基づいて復号フレームの読み出し順を決定し、この決定に基づいてデコードバッファ１３のいずれの領域から復号フレームを読出せばよいかを出力制御部１２に指示すると共に、リオーダ処理後のＰＴＳを出力制御部１２に出力するようになっている。このリオーダ処理のために、ＰＴＳリオーダ部１４は、ＰＴＳバッファ２２を備える。
【００２７】
図４は図１中のＰＴＳリオーダ部１４の具体的な構成を示すブロック図である。また、図５はＰＴＳリオーダ部１４のリオーダ処理の概略を説明するための説明図である。
【００２８】
図４に示すように、ＰＴＳリオーダ部１４は、ＰＴＳバッファ制御部２１及びＰＴＳバッファ２２によって構成される。ＰＴＳ制御部２１は、復号フレームがデコードバッファ１３に書き込まれる毎に対応するＰＴＳが入力され、入力されたＰＴＳをＰＴＳバッファ２２に格納する。そして、ＰＴＳ制御部２１は、ＰＴＳバッファ２２内のＰＴＳをソートし、数値の大きさに従って並び替える。これにより、ＰＴＳバッファ２２内のＰＴＳは常にその数値の大きさ順にＰＴＳバッファ２２内に格納されることになる。
【００２９】
図５（ａ）は四角の枠によって、デコードバッファ１３の復号フレーム及び対応するＰＯＣを格納するメモリ領域Ｒ１〜Ｒ４を示しており、枠内の文字によってデコードバッファ１３に書込まれるデータを示している。なお、図５（ａ）はデコードバッファ１３が４つの復号フレーム及び対応するＰＯＣを格納する領域Ｒ１〜Ｒ４を有する例を示しているが、これに限定されるものではない。Ｈ．２６４規格においては、ＨＤ画質の画像については復号順と表示順が４フレーム分異なることが許容されており、図５（ａ）はこの例に対応させたものである。Ｈ．２６４規格のＳＤ画質の画像については、復号順と表示順が１６フレーム分異なることが許容されており、この場合には、デコードバッファ１３として１６フレーム分のデータを格納する領域が必要となる。
【００３０】
図５（ａ）のＰＯＣ０〜ＰＯＣ３は、各領域Ｒ１〜Ｒ４に格納される復号フレームの表示順が１番目から４番目であることを示している。また、括弧書きによって、各領域Ｒ１〜Ｒ４に格納される復号フレームに設定されたＰＴＳの値を示している。ＰＴＳは表示タイミングを規定するものであり、数値が小さいほど早く表示されることを示し、数値の大きさは時間に比例する。従って、図５（ａ）の例は、ＰＯＣに従う限り領域Ｒ１〜Ｒ４の順番で復号フレームを読出して表示すべきものであるが、ＰＴＳによる表示順番はこれとは異なる表示タイミングを示している。
【００３１】
ＰＴＳバッファ制御部２１は、ＰＴＳバッファ２２に復号フレームに対応するＰＴＳを格納する。図５（ｂ）はＰＴＳバッファ２２に書込まれたデータを示している。例えば、ＰＴＳバッファ２２はデコードバッファ１３の領域Ｒ１〜Ｒ４に対応する４つの領域ｒ１〜ｒ２を有しており、ＰＴＳバッファ制御部２１は領域Ｒ１〜Ｒ４に格納されている復号フレームに対応したＰＴＳを夫々領域ｒ１〜ｒ４に書込む。
【００３２】
ＰＴＳバッファ制御部２１は、領域ｒ１〜ｒ４のＰＴＳをその数値の大きさ順に並び替える。図５（ｃ）はこの状態を示しており、ＰＴＳバッファ２２の領域ｒ１〜ｒ４には、昇順にＰＴＳが格納されている。ＰＴＳバッファ制御部２１は、デコードバッファ１３からの復号フレームの読み出し毎に、ＰＴＳバッファ２２内でソートされたＰＴＳのうち、最小の大きさのＰＴＳを出力制御部１２に出力する。例えば、図５（ｃ）のようにＰＴＳを昇順にソートした場合には、ＰＴＳバッファ２２内の最も若いアドレス範囲の領域ｒ１にＰＴＳバッファ２２内で最も小さい数値のＰＴＳが格納されているので、ＰＴＳバッファ制御部２１は、常にＰＴＳバッファ２２内の最も若いアドレス範囲の領域ｒ１からＰＴＳを読み出して出力制御部１２に出力する。
【００３３】
出力制御部１２は、ＰＴＳリオーダ部１４から次に表示すべき復号フレームが格納されているデコードバッファ１３の領域が指示される。また、出力制御部１２は、ＰＴＳリオーダ部１４からリオーダ処理されたＰＴＳが与えられる。出力制御部１２は、デコードバッファ１３内に格納されている復号フレームのうち表示順で最も早い復号フレームが格納された領域から読み出しを行う。この場合には、出力制御部１２は、ＳＴＣがＰＴＳリオーダ部１４から供給されたリオーダ処理後のＰＴＳに到達することにより、デコードバッファ１３からの読み出しを行う。
【００３４】
出力制御部１２に供給されたＰＴＳは、数値の大きさに従ってリオーダ処理されており、数値が小さい順、即ち、ＰＯＣに対応した表示順でＳＴＣの値が出力制御部に供給されている。これにより、ＰＯＣとＳＴＣとの間で矛盾が生じている場合でも、出力制御部１２は、すべての復号フレームを表示順に読み出すことが可能である。
【００３５】
なお、ＰＴＳリオーダ部１４におけるリオーダ処理は、ＰＴＳバッファ２２に格納されたＰＴＳのうち値が最も小さいＰＴＳを順次出力するものであり、図５に示すソート処理に限定されるものではない。
【００３６】
次に、このように構成された実施の形態の動作について図６乃至図９を参照して説明する。図６は本実施の形態の動作を説明するためのフローチャートであり、図７乃至図９は本実施の形態の動作を説明するための説明図である。図７はＰＯＣとＳＴＣとの間に矛盾が生じていない例を示し、図８及び図９はＰＯＣとＳＴＣとの間に矛盾が生じている例を示している。図８は説明のためにＰＴＳリオーダ部１４がリオーダ処理を行わない場合の例であり、図８はＰＴＳリオーダ部１４がリオーダ処理を行った場合の例である。
【００３７】
図７乃至図９においては、紙面左から右に向かって時刻が進むことを示し、四角の枠は各フレームに対応する。また、図７乃至図９において、（ａ）はＳＴＣを示し、（ｂ）は復号順を示し、（ｃ）は表示順を示し、（ｄ）はデコードバッファ１３の４つの領域Ｒ１〜Ｒ４に記憶されている内容を示している。また、図９（ｅ）はＰＴＳバッファ２２の領域ｒ１〜ｒ４に記憶されているＰＴＳを示している。
【００３８】
図７乃至図９において、各フレームに対応した枠内のＩＤＲ、Ｂ，Ｐはピクチャタイプが夫々、ＩＤＲ（Instantaneous Decoder Refresh）ピクチャ、Ｂピクチャ、Ｐピクチャであることを示し、これらのピクチャタイプに付加した数値は、ＰＯＣに基づく表示順を示し、数値が小さいほど早い表示順を示している。また、図８乃至図９の（ａ）〜（ｄ）の枠内の下段の数値は、各フレームに設定されたＰＴＳを示している。図９（ｅ）の枠内の数値は、ＰＴＳバッファ２２の各領域ｒ１〜ｒ４に格納されているＰＴＳを示している。
【００３９】
先ず、図７を参照してＰＯＣとＰＴＳとの間で矛盾が生じていないストリームが入力された場合の動作について説明する。なお、以後、各ピクチャ及び復号フレームを、いずれも図７乃至図９の枠内に示すピクチャタイプ及びＰＯＣに基づく表示順の数値によって表すものとする。
【００４０】
ＥＳ及びＰＴＳは、復号部１１に与えられ、復号部１１はエレメンタリストリームを復号して復号フレーム及び対応するＰＯＣを得る。復号部１１は、復号処理によって得た復号フレーム及びＰＯＣをデコードバッファ１３に与えて格納し、ＰＴＳをＰＴＳリオーダ部１４に出力する。図７（ｂ）は入力されるストリームの順、即ち、復号順を示している。復号部１１は、図７（ａ）に示すＳＴＣと図示しないＥＳ中のデコード時刻情報（例えばＤＴＳ）との比較によって、入力される各ピクチャのデコードタイミングを決定する。図７（ｂ）の例では、例えば、ＳＴＣが−９０００になると、表示順が最初のＩＤＲピクチャであるピクチャＩＤＲ０の復号が開始されることを示している（図６のステップＳ１）。
【００４１】
なお、図７乃至図９では、説明を簡略化するために、デコード処理や出力制御の処理時間を無視するものとし、デコード時刻情報及びＰＴＳの値は概略値であるものとして説明する。
【００４２】
ＳＴＣが−６０００になると、図７（ｄ）に示すように、このピクチャの復号フレームＩＤＲ０は、デコードバッファ１３の領域Ｒ１に書込まれる（ステップＳ２）。また、この復号フレームＩＤＲ０に対応したＰＴＳ（３０００）がＰＴＳリオーダ部１４に供給され、ＰＴＳバッファ制御部２１によってＰＴＳバッファ２２に書込まれる（ステップＳ３）。そして、復号部１１は、次に入力されるピクチャＰ１２を復号する。
【００４３】
ＳＴＣが−３０００になると、ピクチャＰ１２の復号フレームＰ１２がデコードバッファ１３の領域Ｒ２に書込まれ、対応するＰＴＳ（２１０００）がＰＴＳバッファ２２に書込まれると共に、次のピクチャＰ４の復号が行われる。ＳＴＣが０になると、ピクチャＰ４の復号フレームＰ４がデコードバッファ１３の領域Ｒ２に書込まれ、対応するＰＴＳ（９０００）がＰＴＳバッファ２２に書込まれると共に、次のピクチャＢ２の復号が行われる。
【００４４】
図７乃至図９の例においては、復号部１１は、各フレームに対応したＰＯＣに基づいて、ＰＯＣ順とデコードバッファ１３の各領域Ｒ１〜Ｒ４とを対応させて各領域に復号フレームを格納するようになっている。即ち、復号部１１は、表示順で早い復号フレームから遅い復号フレームまでを夫々領域Ｒ１〜Ｒ４に対応させて格納する。復号フレームＩＤＲ０，Ｐ１２，Ｐ４については、復号フレームＩＤＲ０，Ｐ４，Ｐ１２の順で表示するので、領域Ｒ１〜Ｒ３に、これらの復号フレームＩＤＲ０，Ｐ４，Ｐ１２を夫々格納する。
【００４５】
即ち、デコードバッファ１３の各領域Ｒ１〜Ｒ４に、表示が早い順で復号フレームを書込むことにより、デコードバッファ１３中の復号フレームのうち最も早く表示される復号フレームは、常に領域Ｒ１に格納されることになる。これにより、出力制御部１２による読出しに際して、ＰＴＳリオーダ部１４においてＰＯＣを読出すことなく、常に領域Ｒ１に格納された復号フレームを読出すことを可能にしている。
【００４６】
なお、復号部１１において復号フレームをソートすることなくデコードバッファ１３の空き領域に書込み、ＰＴＳリオーダ部１４においてＰＯＣを読出して、出力制御部１２がこのＰＯＣに基づいて指定された領域から復号フレームを読出すようにしてもよい。
【００４７】
ＳＴＣが３０００になると、復号フレームＢ２が領域Ｒ２に格納され、対応するＰＴＳ（６０００）がＰＴＳバッファ２２に格納されると共に、ピクチャＰ８が復号部１１によって復号される。また、ＰＴＳリオーダ部１４は、ＰＴＳバッファ２２に格納されたＰＴＳ（３０００）を読出して出力制御部１２に与える。出力制御部１２は、ＰＴＳリオーダ部１４からのＰＴＳよりもＳＴＣが大きくなると、デコードバッファ１３の領域Ｒ１から復号フレームを読出す。従って、図７（ｃ）に示すように、ＳＴＣが３０００になることによって、領域Ｒ１に格納されている復号フレームＩＤＲ０が読出されて映像信号として出力される。
【００４８】
以後、同様の動作が繰り返され、復号フレームはＰＯＣ順でデコードバッファ１３の領域Ｒ１〜Ｒ４に格納され、出力制御部１２は、ＰＴＳリオーダ部１４からのＰＴＳにＳＴＣが到達すると、領域Ｒ１に格納されている復号フレームを読出して出力する。図７の例では、ＰＯＣとＰＴＳとに矛盾が生じていないので、図７（ｄ）の領域Ｒ１に示すように、表示順に従ってＰＴＳが増加する復号フレームが順次領域Ｒ１に格納され、ＰＯＣに基づく表示順で読出されて出力される。即ち、図７の例では、各復号フレームは、ＰＯＣに基づく表示順で正常に出力される。
【００４９】
次に、図８及び図９を参照してＰＯＣとＰＴＳとの間で矛盾が生じているストリームが入力された場合の動作について説明する。図８及び図９は同一ストリームが入力された例を示している。図８及び図９（ｂ）に示す入力ストリームは、ＰＯＣに基づく表示順とＰＴＳの値の大きさ順とに矛盾が生じている。例えば、表示順が２番目のピクチャＢ２のＰＴＳが１５０００であるのに対し、表示順が３番目のピクチャＰ４のＰＴＳは６０００であり、ＰＯＣとＰＴＳとに矛盾が生じている。他のピクチャ間についても同様である。
【００５０】
図８及び図９の例においても、復号部１１のデコード処理と、復号部１１からの符号化ストリーム及びＰＯＣのデコードバッファ１３への書き込みと、復号部１１からのＰＴＳのＰＴＳバッファ２２への書込みは図７の説明と同様である。
【００５１】
デコードバッファ１３の各領域Ｒ１〜Ｒ４には、ＰＯＣに基づく表示順に応じた領域に、表示順に復号フレームが書込まれる。これにより、出力制御部１２は、常に領域Ｒ１に格納された復号フレームを読出せばよい。
【００５２】
図８の例と図９の例との相違点は、ＰＴＳリオーダ部１４においてリオーダ処理を行っているか否かである。図８はリオーダ処理を行わない例を示している。例えば、ピクチャＩＤＲ０，Ｐ１２，Ｐ４，Ｂ２が順次復号されることにより、ＰＴＳバッファ２２には、これらのフレームに夫々対応したＰＴＳとして、３０００，９０００，６０００，１５０００が格納される。これらのＰＴＳは、夫々１番目、７番目、３番目、２番目に表示されるフレームの表示タイミングを規定するものである。
【００５３】
従って、リオーダ処理が行われていない場合には、図８（ｃ）に示すように、ＰＴＳリオーダ部１４から、ＰＴＳとして３０００（１番目のフレームに対応）、１５０００（２番目の表示フレームに対応）、６０００（３番目の表示フレームに対応）、…が順次出力される。そうすると、出力制御部１２は、ＳＴＣが３０００になると復号フレームＩＤＲ０を読出して出力するが、図８（ｃ）に示すように、２番目に表示すべきフレームＢ２については、ＳＴＣが１５０００になるまで出力しない。このため、図８に示すように、復号フレームが順次表示されない期間が生じる。
【００５４】
なお、図８の例では、ＳＴＣが１８０００に到達した後に、表示すべきタイミングが既に過ぎている復号フレームＰ４（ＰＴＳ＝６０００）を次に表示する例を示しているが、出力制御部１２の設定によっては、表示すべきタイミングが過ぎているフレームは表示されないこともある。
【００５５】
これに対し、本実施の形態においては、図９（ｅ）に示すリオーダ処理が行われる。例えば、ＳＴＣが−３０００になると、ＰＴＳバッファ２２には、領域ｒ１に復号フレームＩＤＲ０のＰＴＳ（３０００）が格納され、領域ｒ２に復号フレームＰ１２のＰＴＳ（９０００）が格納される。そして、ＳＴＣが−３０００になることによって復号された復号フレームＰ４に対応するＰＴＳ（６０００）は、一旦ＰＴＳバッファ２２の領域ｒ３に書込まれる。
【００５６】
しかし、ＰＴＳリオーダ部１４のＰＴＳバッファ制御部２１は、ＰＴＳバッファ２２の各領域ｒ１〜ｒ３のソートを行って、ＰＴＳをリオーダ処理する。これにより、ＰＴＳバッファ２２内のＰＴＳは、復号フレームとは独立した順序で領域ｒ１〜ｒ３に格納されることになる。例えば、図９（ｅ）の例では、ＰＴＳを領域ｒ１〜ｒ３に昇順にリオーダ処理したことを示している（ステップＳ４）。
【００５７】
同様に、ＰＴＳバッファ制御部２１は、ＰＴＳが領域ｒ１〜ｒ４に格納される毎に、各領域ｒ１〜ｒ４のソートを行って、ＰＴＳをリオーダ処理する。これにより、ＰＴＳバッファ２２内のＰＴＳは、復号フレームとは独立した順序、例えば、図９（ｅ）の例では、領域ｒ１〜ｒ４に昇順にリオーダ処理される。
【００５８】
ＰＴＳリオーダ部１４のＰＴＳバッファ制御部２１は、復号フレームとは独立に、領域ｒ１に格納されているＰＴＳを順次出力制御部１２に出力する。図９（ｅ）に示すように、リオーダ処理によって、ＰＴＳバッファ２２の領域ｒ１には、常にＰＴＳバッファ２２内で最も値が小さいＰＴＳが格納されることになり、出力制御部１２に供給されるＰＴＳは、順次値が増加する。即ち、出力制御部１２に供給されるＰＴＳは、ＰＯＣに基づく表示順が遅くなるにつれ値が増加する。これにより、ＰＯＣとリオーダ処理されたＰＴＳとの間の矛盾が解消される。
【００５９】
出力制御部１２は、デコードバッファ１３の領域Ｒ１からの復号フレームの読出しに際して、ＰＴＳリオーダ部１４からのリオーダ処理されたＰＴＳを用いる（ステップＳ５）。従って、図９（ｃ）に示すように、復号フレームは、ＰＯＣに基づく表示順に順次読出されて出力される。
【００６０】
このように本実施の形態においては、ＰＴＳリオーダ部１４は、復号フレームに対応したＰＴＳを復号フレームとは独立に、値の小さい順にリオーダ処理して出力しており、ＰＯＣとＰＴＳとの間に矛盾が生じている場合でも、復号フレームをＰＯＣの順で正確に読み出して出力することができる。これにより、ＰＴＳに誤りを有するエラーストリームが入力された場合でも、復号フレームを正しい表示順で表示させることができ、滑らかな表示を可能にすることができる。
【００６１】
図１０はＰＴＳリオーダ部１４におけるリオーダ処理の変形例を示す説明図である。ＰＴＳリオーダ部１４はリオーダ処理として挿入ソートを行ってもよい。図１０（ａ）は所定のＰＴＳが格納される前のＰＴＳバッファ２２の内容を示している。ここで、値が２００のＰＴＳを格納するものとする。この場合には、ＰＴＳバッファ制御部２１は、入力されるＰＴＳと各領域ｒ１〜ｒ４に格納されているＰＴＳとの値を比較し、各領域ｒ１〜ｒ４に値の大きさ順にＰＴＳが格納されるように、ソートしながら書き込みを行う。既に書込まれている値、書込む値、比較の順番によっては、少ない比較回数で格納する領域を決定することができ、リオーダ処理を高速化することができる。
【００６２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６３】
例えば、上記実施の形態においては、ＰＴＳリオーダ部１４は、ＰＴＳバッファ２２をソートすることによって、ＰＴＳを昇順に出力する例を説明したが、ソートすることなくＰＴＳを昇順に出力するようにしてもよい。
【符号の説明】
【００６４】
１０…ビデオデコーダ、１１…復号部、１２…出力制御部、１３…デコードバッファ、１４…ＰＴＳリオーダ部、２１…ＰＴＳバッファ制御部、２２…ＰＴＳバッファ。
【図１】
2012165346.tif 000003
【図２】
2012165346.tif 000004
【図３】
2012165346.tif 000005
【図４】
2012165346.tif 000006
【図５】
2012165346.tif 000007
【図６】
2012165346.tif 000008
【図７】
2012165346.tif 000009
【図８】
2012165346.tif 000010
【図９】
2012165346.tif 000011
【図１０】
2012165346.tif 000012