(57)【要約】【課題】処理負荷変動を低減することが可能なフレームバッファ管理方法等を提供する。【解決手段】このフレームバッファ管理方法は、所定の時間間隔毎に、フレームバッファ３ａ〜３ｑの内の表示済みのフレームを格納しているフレームバッファ若しくは表示済み且つ参照フレームではないフレームを格納しているフレームバッファの内の１個を新たに復号されるフレームの格納先に決定するか、又はフレームバッファ３ａ〜３ｑのいずれも新たに復号されるフレームの格納先にしないことを決定するステップと、フレームバッファ３ａ〜３ｑに格納されているフレームの内の表示順が最も先のフレームを後段の表示部に表示させるフレームに決定するステップとを具備する。【選択図】図３
2007300574.tif 000002
【特許請求の範囲】
【請求項１】
動画像デコーダが符号化画像データを復号することによって得られるフレームをそれぞ
れ格納するための複数のフレームバッファを管理するための方法であって、
所定の時間間隔毎に、前記複数のフレームバッファの内の１個を前記動画像デコーダに
よって新たに復号されるフレームの格納先に決定し又は前記複数のフレームバッファのい
ずれも前記動画像デコーダによって新たに復号されるフレームの格納先にしないことを決
定するステップ（ａ）と、
前記所定の時間間隔毎に、前記複数のフレームバッファに格納されているフレームの内
の１個を後段の表示部に表示させるフレームに決定し又は前記複数のフレームバッファに
格納されているフレームのいずれも前記表示部に表示させるフレームにしないことを決定
するステップ（ｂ）と、
を具備する、フレームバッファ管理方法。
【請求項２】
ステップ（ａ）が、前記複数のフレームバッファの内の表示済みのフレームを格納して
いるフレームバッファの内の１個を前記動画像デコーダによって新たに復号されるフレー
ムの格納先に決定するステップを含む、請求項１記載のフレームバッファ管理方法。
【請求項３】
ステップ（ａ）が、前記複数のフレームバッファの内の表示済み且つ参照フレームでは
ないフレームを格納しているフレームバッファの内の１個を前記動画像デコーダによって
新たに復号されるフレームの格納先に決定するステップを含む、請求項１又は２記載のフ
レームバッファ管理方法。
【請求項４】
ステップ（ｂ）が、前記複数のフレームバッファに格納されているフレームの内の表示
順が最も先のフレームを前記表示部に表示させるフレームに決定するステップを含む、請
求項１〜３のいずれか１項に記載のフレームバッファ管理方法。
【請求項５】
動画像デコーダが符号化画像データを復号することによって得られるフレームをそれぞ
れ格納するための複数のフレームバッファを管理するためのプログラムであって、
所定の時間間隔毎に、前記複数のフレームバッファの内の１個を前記動画像デコーダに
よって新たに復号されるフレームの格納先に決定し又は前記複数のフレームバッファのい
ずれも前記動画像デコーダによって新たに復号されるフレームの格納先にしないことを決
定する手順（ａ）と、
前記所定の時間間隔毎に、前記複数のフレームバッファに格納されているフレームの内
の１個を後段の表示部に表示させるフレームに決定し又は前記複数のフレームバッファに
格納されているフレームのいずれも後段の表示部に表示させるフレームにしないことを決
定する手順（ｂ）と、
をＣＰＵに実行させるためのフレームバッファ管理プログラム。
【請求項６】
動画像デコーダが符号化画像データを復号することによって得られるフレームをそれぞ
れ格納するための複数のフレームバッファを管理するための回路であって、
所定の時間間隔毎に、前記複数のフレームバッファの内の１個を前記動画像デコーダに
よって新たに復号されるフレームの格納先に決定し又は前記複数のフレームバッファのい
ずれも前記動画像デコーダによって新たに復号されるフレームの格納先にしないことを決
定し、前記所定の時間間隔毎に、前記複数のフレームバッファに格納されているフレーム
の内の１個を後段の表示部に表示させるフレームに決定し又は前記複数のフレームバッフ
ァに格納されているフレームのいずれも後段の表示部に表示させるフレームにしないこと
を決定すること
を特徴とする、フレームバッファ管理回路。
【請求項７】
請求項６記載のフレームバッファ管理回路を具備する半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化画像データを復号することによって得られるフレームをそれぞれ格納
するための複数のフレームバッファを管理するためのフレームバッファ管理方法及びプロ
グラム及び回路に関する。さらに、本発明は、そのようなフレームバッファ管理回路を具
備する半導体集積回路に関する。
【背景技術】
【０００２】
近年、放送、ネットワークを介して画像データを送受信したり、画像データを蓄積した
りすることが広く行なわれるようになってきている。その際、効率の高い情報の伝送、蓄
積を目的として、画像データの符号化が行われている。このような画像データの符号化の
一例として、ＩＴＵ−Ｔ勧告の国際標準規格であるＨ．２６４動画像符号化方式（以下、
「Ｈ．２６４」という）が用いられている。なお、Ｈ．２６４は、ＩＳＯ／ＩＥＣ  １４
４９６−１０（ＭＰＥＧ−４  ＡＶＣ）と同等である。
【０００３】
Ｈ．２６４の復号側では、符号化されたピクチャ（フレーム）の受信及びデコードとピ
クチャの表示との間に遅延が発生する場合がある。この遅延を招く要因として、時間的に
後方のピクチャを参照するピクチャの存在と、デコーダにおいてデコードされたピクチャ
（フレーム）を格納するバッファの管理とが挙げられる。以下、これらの要因について説
明する。
【０００４】
まず、時間的に後方のピクチャを参照するピクチャによる遅延について説明する。Ｈ．
２６４では、予測ピクチャ（Prediction-picture）及び双予測ピクチャ（Bi-predictive 
Prediction-picture）が時間的に後方のピクチャを参照することが可能である。このよう
な時間的に後ろのピクチャを参照する（後方参照する）ピクチャが存在する場合には、一
般に、ピクチャの符号化、送信、及び、受信の順番と表示の順番とは一致しないため、デ
コードされたピクチャの順番をバッファにおいて入れ替える必要があり、これに伴う表示
の遅延が発生する。
【０００５】
次に、デコードされたピクチャを格納するバッファの管理による遅延について説明する
。Ｈ．２６４では、デコーダの振る舞い（バッファの状態）を仮想的にモデル化したＨＲ
Ｄ（Hypothetical Reference Decoder）と呼ばれる仮想デコーダという概念が導入されて
いる（例えば、下記の非特許文献１のｐ．１８２−１８３参照）。この仮想デコーダでは
、（１）デコーダに入力される前のビットストリームを保存するバッファであるＣＰＢ（
Coded Picture Buffer）、（２）デコーダによって復号されたピクチャを保存するＤＰＢ
（Decoded Picture Buffer）がそれぞれ規定されている。これらのＣＰＢ、ＤＰＢのバッ
ファサイズは、プロファイル及びレベルに応じてそれぞれ規定されている。
【０００６】
Ｈ．２６４において、ＤＰＢの最大サイズは、１６ピクチャ（１６フレーム）分である
。実際には、ＤＰＢの最大サイズはバイト数で規定されており、この規定されているバイ
ト数を１ピクチャ当たりのバイト数で除した値が１６である。１つのシーケンス内の最大
参照フレーム数は、ＤＰＢの最大サイズ以下で一定である。但し、１つのシーケンス内の
複数のフレームの各々が実際に参照するフレームの数は、最大参照フレーム数以下の範囲
で変化し得る。例えば、１つのシーケンス内のあるフレームの参照フレーム数が５であり
、同一のシーケンス内の他のフレームの参照フレーム数が１であることがあり得る。
【０００７】
ところで、Ｈ．２６４では、技術検証等のために、ＪＭ（Joint Model）と呼ばれる参
照ソフトウェアが提供されている（例えば、下記の非特許文献１のｐ．７４−７７参照）
。ＪＭは、http://bs.hhi.de/~suehring/tml/において入手可能である。また、コンフォ
ーマンステスト（ＩＳＯ／ＩＥＣ  １４４９６−４  Ａｍｄ．６）のデータMR3_TANDBERG
_B.264（以下、「第１のテストデータ」という）及びMR4_TANDBERG_C.264（以下、「第２
のテストデータ」という）も提供されている。
【０００８】
図１０（ａ）は、第１のテストデータをＪＭにデコードさせた場合におけるフレーム枚
数（デコード枚数）とＪＭの後段の表示部（ソフトウェア又は回路）によって表示された
フレーム枚数（表示枚数）との関係を示すグラフであり、図１０（ｂ）は、第２のテスト
データをＪＭにデコードさせた場合におけるデコードされたフレーム枚数（デコード枚数
）とＪＭの後段の表示部によって表示されたフレーム枚数（表示枚数）との関係を示すグ
ラフである。図１０（ａ）及び（ｂ）に示すように、初期において、デコードは行われる
が表示は行われない期間がある（図１０中の符号ア参照）。この期間は、ＪＭのＤＰＢか
らＪＭの後段の表示部へのフレームの出力がＦＩＦＯ（First In First Out）管理されて
おり、所定数（種々の条件によって異なる）のフレームがＤＰＢに蓄積されるまでフレー
ムがＤＰＢから出力されないことにより生じる。その後、複数のフレームが短時間の内に
表示される期間（図１０中の符号イ参照）、デコードは行われるが表示が行われない期間
（図１０中の符号ウ参照）が何度かある。そして、最後に、全てのデコードが完了し、そ
の後、ＤＰＢに蓄積された複数のフレームが順次表示される期間がある（図１０中の符号
エ参照）。
【０００９】
図１１は、ＪＭにおいて行われるデコード及びＪＭの後段の表示部において行われる表
示のタイミングの一例を示すタイミングチャートである。時刻ｔ０〜ｔ１において、ＪＭ
が４枚のフレームをデコードし、時刻ｔ１〜ｔ５において、ＪＭの後段の表示部がこれら
４枚のフレームを順次表示する。その後、時刻ｔ５〜ｔ６において、ＪＭが２枚のフレー
ムをデコードし、時刻ｔ５以降において、ＪＭの後段の表示部がこれら２枚のフレームを
順次表示する。図１１中の時刻ｔ０〜ｔ１が図１０（ａ）及び（ｂ）中の符号ウに対応し
、図１１中の時刻ｔ１〜ｔ５が図１０（ａ）及び（ｂ）中の符号イに対応する。このよう
に、ＪＭにおいては、デコードの処理負荷が非常に重い期間（図１１中の時刻ｔ０〜ｔ１
参照）と、デコードの処理負荷が非常に軽い期間（図１１中の時刻ｔ１〜ｔ５参照）が生
じてしまう。これは、ＪＭのＤＰＢの管理により生じるものである。より詳細には、ＪＭ
が、後段の表示部に出力可能なフレームが一度に複数枚生じた場合（例えば、後方参照す
る双予測フレームのデコードが終了した場合等）に、これら複数の出力可能なフレームを
一度に出力する（実際には、ファイルに書き込む）ことにより、生じるものである。
【００１０】
上記のように処理負荷が大きく変動することは、携帯電話装置等のように処理能力が低
い装置においては好ましいことではないし、デスクトップコンピュータ等のように処理能
力が高い装置においても好ましいことではない。例えば、図１１において、時刻ｔ１〜ｔ
２の期間に表示すべきフレームのデコードが時刻ｔ１までに終了してはいるが、後段の表
示部（ソフトウェア又は回路）がそのフレームを表示するタイミングが非常に厳しくなっ
てしまっており、動画像がスムーズに表示されないことが起こり得る。また、携帯電話装
置等のように処理能力が低い装置においては、表示対象フレームのデコードが当該表示対
象フレームを表示すべき時刻までに終了せず、動画像がスムーズに表示されないことが起
こり得る。
【００１１】
なお、下記の特許文献１には、他のフレームとの間でフレーム間予測を行う動画像復号
装置であって、逆方向予測により生じ得る最大遅延時間を入力することを特徴とする動画
像復号装置が掲載されている。この動画像復号装置によれば、逆方向フレーム間予測を用
いる際に適切な時間間隔での復号画像出力を得ることができるが、デコード処理の負荷変
動を低減するものではない。
【００１２】
また、下記の特許文献２には、時間的に後のフレームからの逆方向フレーム間予測を行
う動画像復号装置であって、時間的に後のフレームの復号画像を不要とするための情報が
入力されたことに伴い、この情報に基づいてフレームの復号画像を出力しないことを特徴
とする動画像復号装置が掲載されている。この動画像復号装置によれば、出力される予定
のない出力待ちフレームがフレームバッファを長時間占領することを防止することができ
るが、デコード処理の負荷変動を低減するものではない。
【００１３】
【非特許文献１】大久保  榮、外３名、「改訂版  Ｈ．２６４／ＡＶＣ教科書」、第１版、株式会社インプレス、２００６年１月、ｐ．７４−７７、ｐ．１８２−１８３
【特許文献１】特開２００４−１８０２６６号公報
【特許文献２】特開２００４−１８７２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
そこで、上記の点に鑑み、本発明は、デコード処理の負荷変動を低減することが可能な
フレームバッファ管理方法を提供することを第１の目的とする。また、本発明は、そのよ
うなフレームバッファ管理プログラムを提供することを第２の目的とする。また、本発明
は、そのようなフレームバッファ管理回路を提供することを第３の目的とする。また、本
発明は、そのようなフレームバッファ管理回路を具備する半導体集積回路を提供すること
を第４の目的とする。
【課題を解決するための手段】
【００１５】
上記の課題を解決するため、本発明に係るフレームバッファ管理方法は、動画像デコー
ダが符号化画像データを復号することによって得られるフレームをそれぞれ格納するため
の複数のフレームバッファを管理するための方法であって、所定の時間間隔毎に、複数の
フレームバッファの内の１個を動画像デコーダによって新たに復号されるフレームの格納
先に決定し又は複数のフレームバッファのいずれも動画像デコーダによって新たに復号さ
れるフレームの格納先にしないことを決定するステップ（ａ）と、所定の時間間隔毎に、
複数のフレームバッファに格納されているフレームの内の１個を後段の表示部に表示させ
るフレームに決定し又は複数のフレームバッファに格納されているフレームのいずれも表
示部に表示させるフレームにしないことを決定するステップ（ｂ）とを具備する。
【００１６】
また、上記の課題を解決するため、本発明に係るフレームバッファ管理プログラムは、
動画像デコーダが符号化画像データを復号することによって得られるフレームをそれぞれ
格納するための複数のフレームバッファを管理するためのプログラムであって、所定の時
間間隔毎に、複数のフレームバッファの内の１個を動画像デコーダによって新たに復号さ
れるフレームの格納先に決定し又は複数のフレームバッファのいずれも動画像デコーダに
よって新たに復号されるフレームの格納先にしないことを決定する手順（ａ）と、所定の
時間間隔毎に、複数のフレームバッファに格納されているフレームの内の１個を後段の表
示部に表示させるフレームに決定し又は複数のフレームバッファに格納されているフレー
ムのいずれも後段の表示部に表示させるフレームにしないことを決定する手順（ｂ）とを
ＣＰＵに実行させる。
【００１７】
また、上記の課題を解決するため、本発明に係るフレームバッファ管理回路は、動画像
デコーダが符号化画像データを復号することによって得られるフレームをそれぞれ格納す
るための複数のフレームバッファを管理するための回路であって、所定の時間間隔毎に、
複数のフレームバッファの内の１個を動画像デコーダによって新たに復号されるフレーム
の格納先に決定し又は複数のフレームバッファのいずれも動画像デコーダによって新たに
復号されるフレームの格納先にしないことを決定し、所定の時間間隔毎に、複数のフレー
ムバッファに格納されているフレームの内の１個を後段の表示部に表示させるフレームに
決定し又は複数のフレームバッファに格納されているフレームのいずれも後段の表示部に
表示させるフレームにしないことを決定することを特徴とする。
【００１８】
また、上記の課題を解決するため、本発明に係る半導体集積回路は、本発明に係るフレ
ームバッファ管理回路を具備する。
【００１９】
本発明によれば、デコード処理の負荷変動を低減することができる。これにより、携帯
電話装置等のように処理能力が低い装置であっても、動画像をスムーズに表示することが
可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成
要素については、同一の参照番号で示している。
なお、本実施形態においては、画像の符号化方式がＨ．２６４であることとして説明す
るが、他の画像符号化方式の場合にも本発明を適用可能である。
【００２１】
図１は、本発明の一実施形態に係る画像復号処理回路の回路構成の概要を示す図である
。この画像復号処理回路１は、外部（一般には、ＣＰＢ）から供給される符号化画像デー
タをデコードするデコーダ２と、デコーダ２によってデコードされたフレームをそれぞれ
格納するためのフレームバッファ３ａ〜３ｑを有するメモリ３と、フレームバッファ３ａ
〜３ｑを管理するためのフレームバッファ管理部４とを有している。先に説明したように
、Ｈ．２６４においては、ＤＰＢのバッファサイズは、プロファイル及びレベルによって
異なるが、最大でも１６フレームと規定されている。さらに、デコーダ２によって新たに
復号されるフレームを格納するために、１フレーム分のフレームバッファが必要である。
そのため、本実施形態においては、メモリ３は、計１７フレーム分のフレームバッファ３
ａ〜３ｑを有している。
【００２２】
フレームバッファ管理部４は、フレームバッファ３ａ〜３ｑの各々に対して、「Ａｇｅ
」、表示順序値、及び、表示済みフラグを関連付けて記録している。ここでは簡単に説明
すると、「Ａｇｅ」は、当該「Ａｇｅ」が関連付けられたフレームバッファに格納されて
いるフレームがどれ位古いかを表す値であり、デコーダ２によって新たに復号されるフレ
ームの格納先をフレームバッファ３ａ〜３ｑの内のいずれとするかを決定するために利用
される。表示順序値は、当該表示順序値が関連づけられたフレームバッファに格納されて
いるフレームを後段の表示部（ソフトウェア又は回路）に表示させる順序を表す値であり
、画像復号処理回路１の後段の表示部に表示させるフレームを決定するために利用される
。表示済みフラグは、当該表示済みフラグに関連付けられたフレームバッファに格納され
ているフレームが表示済みであるか否かを表すフラグである。これらの「Ａｇｅ」、表示
順序値、及び、表示済みフラグについては、フレームバッファ管理部４の動作と併せて、
後に詳細に説明する。
【００２３】
図２は、デコーダ２の回路構成の概要を示す図である。図２に示すように、デコーダ２
は、可逆復号器３１と、逆量子化器３２と、ＩＤＣＴ（逆離散コサイン変換）器３３と、
加算器３４と、デブロックフィルタ３５と、動き予測補償器３６と、イントラ予測器３７
とを有している。
【００２４】
可逆復号器３１は、入力されるデータに対して可変長復号又は算術復号等の処理を施し
、量子化された変換係数を逆量子化器３２に供給する。また、可逆復号器３１は、復号対
象ブロックがフレーム間予測符号化されたものである場合には、画像圧縮情報のヘッダ部
に格納された動きベクトル情報についても復号し、その情報を動き予測補償器３６に供給
する。さらに、可逆復号器３１は、復号対象ブロックがイントラ予測符号化されたもので
ある場合には、画像圧縮情報のヘッダ部に格納されたイントラ予測モードについても復号
し、その情報をイントラ予測器３７に供給する。
【００２５】
逆量子化器３２は、可逆復号器３１から供給された量子化後の変換係数を逆量子化し、
変換係数をＩＤＣＴ器３３に供給する。ＩＤＣＴ器３３は、定められた画像圧縮情報のフ
ォーマットに基づき、変換係数に対してＩＤＣＴ処理を施す。
【００２６】
ここで、復号対象ブロックがフレーム間予測符号化されたものである場合、動き予測補
償器３６は、可逆復号処理が施された動きベクトル情報とフレームバッファ３ａ〜３ｑに
格納されている画像情報とに基づいて参照画像を生成し、加算器３４に供給する。加算器
３４は、この参照画像とＩＤＣＴ器３３の出力である差分画像とを加算して、デブロック
フィルタ３５に供給する。
【００２７】
一方、復号対象ブロックがイントラ予測符号化されたものである場合、イントラ予測器
３７は、可逆復号処理が施されたイントラ予測モードとフレームバッファ３ａ〜３ｑに格
納されている画像情報とに基づいて参照画像を生成し、加算器３４に供給する。加算器３
４は、この参照画像とＩＤＣＴ器３３の出力である差分画像とを加算して、デブロックフ
ィルタ３５に供給する。
【００２８】
デブロックフィルタ３５は、加算器３４から供給される再生画像（ブロック）に対して
、隣接する画像（ブロック）との境界における歪みを低減するデブロックフィルタリング
処理を施して、フレームバッファ３ａ〜３ｑの内のいずれかに格納する。なお、フレーム
バッファ３ａ〜３ｑの内のいずれを再生画像の格納先とするかは、後に説明するように、
フレームバッファ管理部４から指示される。フレームバッファ３ａ〜３ｑに格納された再
生画像（ブロック）は、他のブロックの動き予測及びイントラ予測に使用可能である。
【００２９】
なお、図１に示す画像復号処理回路１を半導体集積回路として実現することができる。
また、図１に示すフレームバッファ管理部４、並びに、図２に示す可逆復号器３１、逆
量子化器３２、ＩＤＣＴ器３３、加算器３４、デブロックフィルタ３５、動き予測補償器
６、及び、イントラ予測器３７をＣＰＵとプログラム（ソフトウェア）で実現することも
できる。
【００３０】
図３〜図５は、フレームバッファ管理部４が実行する処理を示すフローチャートである
。より詳細には、図３は、デコーダ２によって新たに復号されるフレームの格納先をフレ
ームバッファ３ａ〜３ｑのいずれとするかを決定するための処理を示すフローチャートで
あり、図４は、フレームバッファ３ａ〜３ｑの各々に関連付けられた「Ａｇｅ」を更新す
るための処理を示すフローチャートであり、図５は、画像復号処理回路１の後段の表示部
に表示を行わせるフレームを決定するための処理を示すフローチャートである。フレーム
バッファ管理部４は、所定の時間間隔（例えば、フレームレートが１５ｆｐｓの場合には
１／１５秒。以下、「タイムスライス」という。）に１回ずつ、図３〜図５に示す処理を
実行する。以下、図３〜図５を参照しながら、フレームバッファ管理部４が実行する処理
について説明する。
【００３１】
まず、図３を参照しながら、デコーダ２によって新たに復号されるフレームの格納先を
フレームバッファ３ａ〜３ｑの内のいずれとするかを決定するための処理について説明す
る。
先に説明したように、フレームバッファ管理部４は、フレームバッファ３ａ〜３ｑの各
々に関連付けて表示済みフラグを記録している。そこで、フレームバッファ管理部４は、
フレームバッファ３ａ〜３ｑの各々に関連付けられた表示済みフラグを参照することによ
り、既に表示済みのフレームを格納しているフレームバッファがあるか否かをチェックす
る（ステップＳ１１）。
【００３２】
既に表示済みのフレームを格納しているフレームバッファが１つある場合には、フレー
ムバッファ管理部４は、当該フレームバッファを選択する。また、既に表示済みのフレー
ムを格納しているフレームバッファが複数ある場合には、フレームバッファ管理部４は、
それら複数のフレームバッファの各々に関連付けられた「Ａｇｅ」を参照し、関連付けら
れた「Ａｇｅ」の値が一番大きいフレームバッファを、デコーダ２によって新たに復号さ
れるフレームの格納先として選択する（ステップＳ１２）。そして、フレームバッファ管
理部４は、ステップＳ１２にて選択したフレームバッファをデコーダ２によって新たに復
号されるフレームの格納先に決定してデコーダ２に通知し（ステップＳ１３）、処理を終
了する。なお、フレームバッファ管理部４は、デコーダ２によって新たに復号されるフレ
ームの格納先に決定したフレームバッファに対応する「Ａｇｅ」、表示順序値、及び、表
示済みフラグを初期化（クリア）する。デコーダ２は、新たに復号するフレームの格納先
のフレームバッファの通知をフレームバッファ管理部４から受けると、１個のフレームの
復号を行い、復号した１個のフレームをフレームバッファ管理部４から通知された格納先
のフレームバッファに格納する。
【００３３】
一方、既に表示済みのフレームを格納しているフレームバッファがない場合には、フレ
ームバッファ管理部４は、フレームバッファ３ａ〜３ｑのいずれもデコーダ２によって新
たに復号されるフレームの格納先としないことを決定し、デコード量が０バイトであるこ
とを外部（一般には、ＣＰＢ）に通知し（ステップＳ１４）、処理を終了する。この場合
、デコーダ２は、新たに復号するフレームの格納先がないため、フレームの復号を行わな
い。
【００３４】
従って、本実施形態においては、１つのタイムスライスにおいて、フレームバッファ３
ａ〜３ｑの内の１個のフレームバッファがデコーダ２によって新たに復号されるフレーム
の格納先として決定されるか（図３のステップＳ１３参照）、又はフレームバッファ３ａ
〜３ｑのいずれもデコーダ２によって新たに復号されるフレームの格納先としないことが
決定される（図３のステップＳ１４参照）。従って、デコーダ２は、１つのタイムスライ
スにおいて、１個のフレームの復号を行うか、又はフレームの復号を行わないことになる
。
【００３５】
次に、図４を参照しながら、フレームバッファ３ａ〜３ｑの各々に関連付けられた「Ａ
ｇｅ」を更新するための処理について説明する。
フレームバッファ管理部４は、表示済み且つ参照フレームではないフレーム、すなわち
、消去又は上書きしても構わないフレームを格納しているフレームバッファに関連付けら
れた「Ａｇｅ」をインクリメントする（ステップＳ２１）。従って、未表示のフレーム又
は参照フレームを格納しているフレームバッファに関連付けられた「Ａｇｅ」は、インク
リメントされず、初期値（例えば、０）のままとなる。なお、フレームバッファに格納さ
れているフレームが参照フレームであるか否かの判定は、ＪＭと同様に行うことで実現可
能である。
【００３６】
先に説明したように、図４に示す処理も、１つのタイムスライスに１回実行される。従
って、表示済み且つ参照フレームではないフレームを格納しているフレームバッファに関
連付けられた「Ａｇｅ」は、タイムスライス毎にインクリメントされることになる。先に
説明したように、フレームバッファ管理部４は、図３のステップＳ１２において、関連付
けられた「Ａｇｅ」の値が一番大きいフレームバッファをデコーダ２によって新たに復号
されるフレームの格納先として選択するが、ステップＳ１２にて選択されるフレームバッ
ファは、既に表示済み且つ参照フレームではないフレームであって最も古いフレームを格
納しているフレームバッファということになる。
【００３７】
次に、図５を参照しながら、画像復号処理回路１の後段の表示部に表示を行わせるフレ
ームを決定するための処理について説明する。先に説明したように、図５に示す処理も、
１つのタイムスライスに１回実行される。
まず、フレームバッファ管理部４は、フレームバッファ３ａ〜３ｑの各々に関連付けら
れた表示済みフラグを参照することにより未表示のフレームを格納しているフレームバッ
ファを選び出し、未表示のフレームを格納しているフレームバッファの各々に関連付けら
れた表示順序値を更新する（ステップＳ３１）。これらの表示順序値で表される順序は、
基本的には、最も古く復号され格納されたフレームから最も新しく復号され格納されたフ
レームへという順序、すなわち先入れ先出し（First In First Out：ＦＩＦＯ）と一致す
るが、後方参照フレームが最も新しく復号されたフレームである場合等には、先入れ先出
しとは一致しないこともある。このような場合、未表示のフレームを格納しているフレー
ムバッファの各々に関連付けられた表示順序値を、未表示のフレームのＰＯＣ（Picture 
Order Count）の順序と一致するように更新する。なお、ＰＯＣの管理は、ＪＭと同様に
行うことで実現可能である。
【００３８】
そして、フレームバッファ管理部４は、フレームバッファ３ａ〜３ｑの内の表示順序が
最も先のフレームを格納しているフレームバッファのフレームバッファ番号（メモリアド
レス等でも良い）及びＰＯＣを、画像復号処理回路１の後段の表示部に通知する（ステッ
プＳ３２）。また、このとき、フレームバッファ管理部４は、今回のタイムスライスにお
いてデコーダ２によってデコードされたバイト数を外部（一般には、ＣＰＢ）に通知し、
これにより、外部（ＣＰＢ）は、廃棄しても良いデータのバイト数を取得することができ
る。後段の表示部は、フレームバッファ番号に基づいてフレームを読み出し、ＰＯＣに基
づいてフレームを表示する。フレームが表示されると、フレームバッファ管理部４は、表
示されたフレームが格納されているフレームバッファに関連付けられた表示済みフラグを
セットする。なお、ステップＳ３２において、未表示フレームがない場合には、フレーム
バッファ管理部４は、フレームバッファ番号及びＰＯＣを画像復号処理回路１の後段の表
示部に通知しない。この場合、画像復号処理回路１の後段の表示部は、フレームの表示を
行わない。すなわち、画像復号処理回路１の後段の表示部は、１つのタイムスライスにお
いて、１個のフレームの表示を行うか、又はフレームの表示を行わない。また、
【００３９】
以上説明したように、画像復号処理回路１においては、１つのタイムスライスにおいて
、フレームバッファ３ａ〜３ｑの内の１個のフレームバッファがデコーダ２によって新た
に復号されるフレームの格納先にすることが決定されるか又はフレームバッファ３ａ〜３
ｑのいずれもデコーダ２によって新たに復号されるフレームの格納先にしないことが決定
される。従って、デコーダ２は、１つのタイムスライスにおいて、１個のフレームの復号
を行うか、又はフレームの復号を行わないことになる。
また、画像復号処理回路１の後段の表示部は、１つのタイムスライスにおいて、１個の
フレームの表示を行うか、又はフレームの表示を行わないことになる。
【００４０】
図６は、１つのタイムスライスにおいてデコードされるフレーム枚数と表示されるフレ
ーム枚数の組み合わせのパターンを示す図である。図６に示すように、デコードされるフ
レーム枚数が「１」且つ表示されるフレーム枚数が「１」という第１パターン、デコード
されるフレーム枚数が「１」且つ表示されるフレーム枚数が「０」という第２パターン、
デコードされるフレーム枚数が「０」且つ表示されるフレーム枚数が「１」という第３パ
ターンのいずれかが生じ得る。第１パターンが、最も多く生じるパターンであると考えら
れる。第２パターンは、デコードは行われるが、表示可能なフレームがフレームバッファ
に格納されていない場合である。第３パターンは、ＤＰＢとして管理しているフレームバ
ッファに格納されている全てのフレームが未表示又は参照フレームである場合である。
【００４１】
ＪＭにおいては、１つのタイムスライスにおいて、複数のフレームのデコードが行われ
たり、複数のフレームがＪＭの後段の表示部に供給される場合がある。そのため、ＪＭの
後段の表示部の設計及び実装は難しい。
一方、画像復号処理回路１においては、１つのタイムスライスにおいて、１個のフレー
ムのデコードが行われるか、又はフレームのデコードが行われない。また、画像復号処理
回路１においては、１つのタイムスライスにおいて、１個のフレームが画像復号処理回路
１の後段の表示部に供給されるか、又はフレームが画像復号処理回路１の後段の表示部に
供給されない。従って、画像復号処理回路１の後段の表示部の設計及び実装は容易である
。
【００４２】
図７（ａ）は、先に説明した第１のテストデータを画像復号処理回路１にデコードさせ
た場合におけるフレーム枚数（デコード枚数）と画像復号処理回路１の後段の表示部によ
って表示されたフレーム枚数（表示枚数）との関係を示すグラフであり、図７（ｂ）は、
先に説明した第２のテストデータを画像復号処理回路１にデコードさせた場合におけるデ
コードされたフレーム枚数（デコード枚数）と画像復号処理回路１の後段の表示部によっ
て表示されたフレーム枚数（表示枚数）との関係を示すグラフである。図７（ａ）及び（
ｂ）に示すように、初期において、デコードは行われるが表示は行われない期間があり（
図７中の符号ア参照）、最後に、全てのデコードが完了し、その後、ＤＰＢに蓄積された
複数のフレームが順次表示される期間がある（図７中の符号エ参照）点は、先に説明した
図１０（ａ）及び（ｂ）と同様である。しかしながら、図７（ａ）及び（ｂ）においては
、複数のフレームが短時間の内に表示される期間（図１０中の符号イ参照）、デコードは
行われるが表示が行われない期間（図１０中の符号ウ参照）が生じていない点で、図１０
（ａ）及び（ｂ）と異なっている。
【００４３】
図８は、画像復号処理回路１において行われるデコード及び画像復号処理回路１の後段
の表示部によって行われる表示のタイミングの一例を示すタイミングチャートである。図
８に示すように、各タイムスライスにおいて、１枚のフレームがデコードされ、１枚のフ
レームが表示されている。また、各タイムスライスにおける処理負荷が均一となっている
。
【００４４】
このように、画像復号処理回路１においては、ＪＭと異なり、処理の負荷変動を低減す
ることができる。従って、携帯電話装置等のように処理能力の低い装置であっても、動画
像をスムーズに表示することが可能となる。
【００４５】
一般に、フレームバッファの数が多ければ多いほど、表示に先行して多くのフレームの
デコードを行い、多くのフレームをフレームバッファに蓄積しておくことができる。そし
て、多くのフレームがフレームバッファに蓄積されていれば、特定のフレームでのデコー
ドの処理負荷が大きい場合や、別のアプリケーションプログラムが原因で装置全体の処理
負荷が大きくなった場合であっても、処理負荷の変動を緩衝することができる。
しかしながら、ＪＭにおいては、多くのフレームバッファを有しているにも関わらず、
これらのフレームバッファを負荷の緩衝に有効に利用することができず、処理負荷の偏り
を招いている。
【００４６】
一方、画像復号処理回路１においては、１つのタイムスライスにおいて、１個のフレー
ムのデコードが行われるか、又はフレームのデコードが行われない。また、画像復号処理
回路１においては、１つのタイムスライスにおいて、１個のフレームが画像復号処理回路
１の後段の表示部に供給されるか、又はフレームが画像復号処理回路１の後段の表示部に
供給されない。これにより、処理負荷の変動を低減することができる。さらに、画像復号
処理回路１においては、例えば、後方参照がなく且つ参照フレームの数が５フレーム等の
場合でも、ＤＰＢとして管理しているフレームバッファ全てを利用することができるので
、フレームバッファを負荷の緩衝に有効に利用することができる。
【００４７】
なお、ＤＰＢを管理するための処理であって本実施形態においては説明を省略した処理
（例えば、フレームバッファに格納されているフレームが参照フレームであるか否かの判
定、ＰＯＣの管理、ref_pic_list_recordering_flag_l0，ref_pic_list_recordering_fla
g_l1，adaptive_ref_pic_marking_mode_flag，no_output_of_prior_pics_flag，及び，ga
ps_in_frame_num_value_allowed_flagを扱う処理等）については、ＪＭと同様である。図
９は、ＪＭのＤＰＢ管理処理とフレームバッファ管理部４のＤＰＢ管理処理とを概念的に
示す図である。フレームバッファ管理部４のＤＰＢ管理処理は、ＪＭのＤＰＢ管理処理の
内のデコーダが復号するフレームの格納先を決定する処理（図３参照）を置換し、さらに
、「Ａｇｅ」を管理する処理（図４参照）及び後段に表示させるフレームを決定する処理
（図５参照）をラップ状に追加したものに相当する。
【産業上の利用可能性】
【００４８】
本発明は、符号化画像データを復号することによって得られるフレームをそれぞれ格納
するための複数のフレームバッファを管理するためのフレームバッファ管理方法及びプロ
グラム及び回路に利用可能である。また、本発明は、携帯電話装置、パーソナルコンピュ
ータ、テレビジョン装置等の動画像を表示するための装置に利用可能である。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施形態に係る画像復号処理回路の回路の概要を示す図。
【図２】図１のデコーダ２の回路の概要を示す図。
【図３】図１のフレームバッファ管理部４の処理を示すフローチャート。
【図４】図１のフレームバッファ管理部４の処理を示すフローチャート。
【図５】図１のフレームバッファ管理部４の処理を示すフローチャート。
【図６】１タイムスライスにおけるデコード枚数と表示枚数のパターンを示す図。
【図７】画像復号処理回路１におけるデコード枚数と表示枚数との関係を示す図。
【図８】画像復号処理回路１におけるデコードと表示のタイミングチャート。
【図９】図１のフレームバッファ管理部４の処理とＪＭの処理を概念的に示す図。
【図１０】ＪＭにおけるデコード枚数と表示枚数との関係を示す図。
【図１１】ＪＭにおけるデコードと表示のタイミングチャート。
【符号の説明】
【００５０】
１  画像復号処理回路、  ２  デコーダ、  ３  メモリ、  ３ａ〜３ｑ  フレームバッ
ファ、  ４  フレームバッファ管理部、  ３１  可逆復号器、  ３２  逆量子化器、  ３
３  ＩＤＣＴ器、  ３４  加算器、  ３５  デブロックフィルタ、  ３６  動き予測補償
器、  ３７  イントラ予測器
【図１】
2007300574.tif 000003
【図２】
2007300574.tif 000004
【図３】
2007300574.tif 000005
【図４】
2007300574.tif 000006
【図５】
2007300574.tif 000007
【図６】
2007300574.tif 000008
【図７】
2007300574.tif 000009
【図８】
2007300574.tif 000010
【図９】
2007300574.tif 000011
【図１０】
2007300574.tif 000012
【図１１】
2007300574.tif 000013