JP2973964B2 - フレーム・バッファ管理方式 - Google Patents
フレーム・バッファ管理方式Info
- Publication number
- JP2973964B2 JP2973964B2 JP2593997A JP2593997A JP2973964B2 JP 2973964 B2 JP2973964 B2 JP 2973964B2 JP 2593997 A JP2593997 A JP 2593997A JP 2593997 A JP2593997 A JP 2593997A JP 2973964 B2 JP2973964 B2 JP 2973964B2
- Authority
- JP
- Japan
- Prior art keywords
- frame buffer
- frame
- management area
- picture
- allocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Storing Facsimile Image Data (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、画像伸長装置に関
し、特に画像伸長装置の高速化実現技術に関する。
し、特に画像伸長装置の高速化実現技術に関する。
【0002】
【従来の技術】近時、従来からある文字情報だけではな
く、音声、オーディオ、静止画像、動画像といった多様
なデータを扱う、いわゆるマルチメディア・アプリケー
ションが一般化しつつある。これらのマルチメディア・
データは膨大なため、いったんデータが持つ特性を利用
してデータ量を数十分の一から数百分の一に圧縮した
後、ハードディスクなどの外部記憶装置に格納したり、
ネットワークを通じて転送する。
く、音声、オーディオ、静止画像、動画像といった多様
なデータを扱う、いわゆるマルチメディア・アプリケー
ションが一般化しつつある。これらのマルチメディア・
データは膨大なため、いったんデータが持つ特性を利用
してデータ量を数十分の一から数百分の一に圧縮した
後、ハードディスクなどの外部記憶装置に格納したり、
ネットワークを通じて転送する。
【0003】圧縮方式としては、例えば動画像を対象に
する場合MPEG−1(ISO/IEC 11172,
“Information Technology−C
oding of Moving Pictures
and Associated Audio for
Digital Storage Media upt
o 1.5Mbits/s,“Internation
al Standards Organization
/International Electrotec
hnical Commission,Geneva,
1991)、および、このMPEG−1より高品質なM
PEG−2(ISO/IEC 13818,“Gene
ric Coding of Moving Pict
ures and Associated Audi
o,“International Standard
s Organization/Internatio
nal Electrotechnical Comm
ission,Geneva,1995)がよく知られ
ている。
する場合MPEG−1(ISO/IEC 11172,
“Information Technology−C
oding of Moving Pictures
and Associated Audio for
Digital Storage Media upt
o 1.5Mbits/s,“Internation
al Standards Organization
/International Electrotec
hnical Commission,Geneva,
1991)、および、このMPEG−1より高品質なM
PEG−2(ISO/IEC 13818,“Gene
ric Coding of Moving Pict
ures and Associated Audi
o,“International Standard
s Organization/Internatio
nal Electrotechnical Comm
ission,Geneva,1995)がよく知られ
ている。
【0004】これらのMPEG規格に従って圧縮された
動画像データを、以下では、「MPEGビットストリー
ム」もしくは単に「ビットストリーム」と呼ぶ。MPE
Gビットストリームは、格納もしくは転送された後、必
要に応じて伸長(デコード)され、デコード結果の画像
が表示される。
動画像データを、以下では、「MPEGビットストリー
ム」もしくは単に「ビットストリーム」と呼ぶ。MPE
Gビットストリームは、格納もしくは転送された後、必
要に応じて伸長(デコード)され、デコード結果の画像
が表示される。
【0005】従来、MPEGビットストリームのデコー
ド処理は、専用LSIを用いて処理していたが、汎用マ
イクロプロセッサの高性能化に伴い、パーソナル・コン
ピュータや家庭用テレビ・ゲーム機などのマイクロコン
ピュータ製品上で、ソフトウェアを使ってMPEG規格
に従って圧縮された動画像を伸長(デコード)すること
が可能となるに至っている。
ド処理は、専用LSIを用いて処理していたが、汎用マ
イクロプロセッサの高性能化に伴い、パーソナル・コン
ピュータや家庭用テレビ・ゲーム機などのマイクロコン
ピュータ製品上で、ソフトウェアを使ってMPEG規格
に従って圧縮された動画像を伸長(デコード)すること
が可能となるに至っている。
【0006】図13に、MPEGビットストリームのデ
コードを行うマイクロコンピュータ製品の内部構成の一
例の概略をブロック図にて示す。図13を参照して、デ
コード処理を行うマイクロプロセッサ41と、デコード
用ソフトウェアおよびデータを格納するメイン・メモリ
42と、ビットストリーム46の入力およびデコード画
像47の出力を行う入出力装置40とが、内部バス45
で接続されている。
コードを行うマイクロコンピュータ製品の内部構成の一
例の概略をブロック図にて示す。図13を参照して、デ
コード処理を行うマイクロプロセッサ41と、デコード
用ソフトウェアおよびデータを格納するメイン・メモリ
42と、ビットストリーム46の入力およびデコード画
像47の出力を行う入出力装置40とが、内部バス45
で接続されている。
【0007】MPEGビットストリームのデコード処理
の構成を、図14に示す。MPEGビットストリームは
階層構造をとる。ひとつながりの動画像は「シーケン
ス」と呼ばれる。シーケンスは「GOP(Group
of Pictures)」の集まりである。GOP
は、複数枚(例えば15枚)の「ピクチャ」と呼ばれる
静止画の集まりである。一枚のピクチャは、複数の「ス
ライス」から構成され、一スライスは、16画素×16
画素の「マクロブロック」から構成される。マクロブロ
ックは、8画素×8画素の「ブロック」4個で構成され
る。デコード処理は、この階層に従って行われる。
の構成を、図14に示す。MPEGビットストリームは
階層構造をとる。ひとつながりの動画像は「シーケン
ス」と呼ばれる。シーケンスは「GOP(Group
of Pictures)」の集まりである。GOP
は、複数枚(例えば15枚)の「ピクチャ」と呼ばれる
静止画の集まりである。一枚のピクチャは、複数の「ス
ライス」から構成され、一スライスは、16画素×16
画素の「マクロブロック」から構成される。マクロブロ
ックは、8画素×8画素の「ブロック」4個で構成され
る。デコード処理は、この階層に従って行われる。
【0008】図14を参照すると、初期化120の後、
シーケンス層のデコード処理121が開始され、シーケ
ンス層のデコード処理121は内部的にGOP層のデコ
ード処理122を呼び、GOP層のデコード処理122
は内部的にピクチャ層のデコード処理123を呼び、ピ
クチャ層のデコード処理123は内部的にスライス層の
デコード処理124を呼び、スライス層のデコード処理
124は内部的にマクロブロック層のデコード処理12
5を呼び、マクロブロック層のデコード処理125は内
部的にブロック層のデコード処理126を呼ぶ。
シーケンス層のデコード処理121が開始され、シーケ
ンス層のデコード処理121は内部的にGOP層のデコ
ード処理122を呼び、GOP層のデコード処理122
は内部的にピクチャ層のデコード処理123を呼び、ピ
クチャ層のデコード処理123は内部的にスライス層の
デコード処理124を呼び、スライス層のデコード処理
124は内部的にマクロブロック層のデコード処理12
5を呼び、マクロブロック層のデコード処理125は内
部的にブロック層のデコード処理126を呼ぶ。
【0009】MPEGビットストリームのデコード処理
には、デコード画像を収めるための作業領域が必要にな
る。この作業領域を、以下では「フレーム・バッファ・
プール」と呼ぶ。
には、デコード画像を収めるための作業領域が必要にな
る。この作業領域を、以下では「フレーム・バッファ・
プール」と呼ぶ。
【0010】フレーム・バッファ・プールは、MPEG
デコード・ソフトウェアの初期化120の一環として確
保される。
デコード・ソフトウェアの初期化120の一環として確
保される。
【0011】ピクチャ層のデコード処理123が開始さ
れると、まずピクチャ・ヘッダ部をデコードし、次にフ
レーム・バッファ・プールから未使用のフレーム・バッ
ファを1枚確保し、ピクチャ層以下のデコードに使用す
る。デコードしたピクチャを表示または動き補償に使用
した後不要となると、そのピクチャを収めるフレーム・
バッファは解放される。
れると、まずピクチャ・ヘッダ部をデコードし、次にフ
レーム・バッファ・プールから未使用のフレーム・バッ
ファを1枚確保し、ピクチャ層以下のデコードに使用す
る。デコードしたピクチャを表示または動き補償に使用
した後不要となると、そのピクチャを収めるフレーム・
バッファは解放される。
【0012】フレーム・バッファ・プールの構成の一例
を図15に示す。フレーム・バッファ・プールは、複数
枚(N枚)のフレーム・バッファ(フレーム・バッファ
1、フレーム・バッファ2、…、フレーム・バッファ
N、Nは例えば8)132、133、134と、フレー
ム・バッファ管理領域130と、からなる。複数枚のフ
レーム・バッファ132、133、134は、メイン・
メモリ131上に置かれる。フレーム・バッファ管理領
域130もメイン・メモリ131上に置かれることが多
い。
を図15に示す。フレーム・バッファ・プールは、複数
枚(N枚)のフレーム・バッファ(フレーム・バッファ
1、フレーム・バッファ2、…、フレーム・バッファ
N、Nは例えば8)132、133、134と、フレー
ム・バッファ管理領域130と、からなる。複数枚のフ
レーム・バッファ132、133、134は、メイン・
メモリ131上に置かれる。フレーム・バッファ管理領
域130もメイン・メモリ131上に置かれることが多
い。
【0013】1枚のフレーム・バッファは1枚のピクチ
ャを保持する。フレーム・バッファ管理領域130は各
フレーム・バッファに対応したN個のエントリを持つ。
各エントリは、対応するフレーム・バッファが「未使
用」であるか「使用中」であるかを示すフラグ135
と、対応するフレーム・バッファの開始アドレス136
と、を保持する。
ャを保持する。フレーム・バッファ管理領域130は各
フレーム・バッファに対応したN個のエントリを持つ。
各エントリは、対応するフレーム・バッファが「未使
用」であるか「使用中」であるかを示すフラグ135
と、対応するフレーム・バッファの開始アドレス136
と、を保持する。
【0014】フレーム・バッファ・プールの初期化は、
MPEGデコード・ソフトウェアの初期化(図14の1
20)時には完了しているものとする。すなわち、MP
EGビットストリームのデコード開始時には、N枚のフ
レーム・バッファ132、133、134がメイン・メ
モリ131上に確保され、フレーム・バッファ管理領域
130の全てのエントリのフラグ135は「未使用」に
設定されており、全てのエントリの開始アドレス136
は有効なフレーム・バッファの開始アドレスを保持して
いるとする。
MPEGデコード・ソフトウェアの初期化(図14の1
20)時には完了しているものとする。すなわち、MP
EGビットストリームのデコード開始時には、N枚のフ
レーム・バッファ132、133、134がメイン・メ
モリ131上に確保され、フレーム・バッファ管理領域
130の全てのエントリのフラグ135は「未使用」に
設定されており、全てのエントリの開始アドレス136
は有効なフレーム・バッファの開始アドレスを保持して
いるとする。
【0015】図15にその構成例を示したフレーム・バ
ッファ・プールの管理の処理フローを、図16に流れ図
として示す。
ッファ・プールの管理の処理フローを、図16に流れ図
として示す。
【0016】ピクチャ層のデコード処理123(図14
参照)において、フレーム・バッファを確保するときに
は、フレーム・バッファ管理領域130のエントリ番号
1からNまでを昇順に検索し、最初に発見した未使用フ
レーム・バッファを確保する。すなわち、検索対象のエ
ントリ番号をiとすると、まずi=1と設定する(図1
6のステップ141)。
参照)において、フレーム・バッファを確保するときに
は、フレーム・バッファ管理領域130のエントリ番号
1からNまでを昇順に検索し、最初に発見した未使用フ
レーム・バッファを確保する。すなわち、検索対象のエ
ントリ番号をiとすると、まずi=1と設定する(図1
6のステップ141)。
【0017】そして、フレーム・バッファ管理領域13
0のエントリiのフラグ135を調べ(ステップ14
2)、「使用中」でない場合には、フレーム・バッファ
iを使用することにし(ステップ146)、フラグ13
5を「使用中」に更新し、「使用中」である場合には、
変数iに1を加算して更新し(ステップ143)、次の
エントリを検索する。
0のエントリiのフラグ135を調べ(ステップ14
2)、「使用中」でない場合には、フレーム・バッファ
iを使用することにし(ステップ146)、フラグ13
5を「使用中」に更新し、「使用中」である場合には、
変数iに1を加算して更新し(ステップ143)、次の
エントリを検索する。
【0018】そして、変数iを更新した後に、その値が
Nを超えたか否かを調べ(ステップ144)、iの値が
Nを超えていれば、使用可能なフレーム・バッファはな
いので、エラー終了とする(ステップ145)。
Nを超えたか否かを調べ(ステップ144)、iの値が
Nを超えていれば、使用可能なフレーム・バッファはな
いので、エラー終了とする(ステップ145)。
【0019】図15に示した構成例では、フレーム・バ
ッファ管理領域130のエントリの検索順序は、先頭エ
ントリから昇順とされているが、末尾エントリから降順
に検索してもよい。
ッファ管理領域130のエントリの検索順序は、先頭エ
ントリから昇順とされているが、末尾エントリから降順
に検索してもよい。
【0020】
【発明が解決しようとする課題】図13に一例を示し
た、マイクロコンピュータ・システムの内部構成のう
ち、メイン・メモリ42については、別の構成をとるこ
とにより、処理を高速化することができる。参考のた
め、図4に、高速化のための構成の一例を示す。
た、マイクロコンピュータ・システムの内部構成のう
ち、メイン・メモリ42については、別の構成をとるこ
とにより、処理を高速化することができる。参考のた
め、図4に、高速化のための構成の一例を示す。
【0021】図4を参照して、メイン・メモリ42の構
成要素として、高速だが小容量なスタティックRAM
(図中、高速メモリ43で示す)と、大容量だが低速な
ダイナミックRAM(図中、通常メモリ44で示す)が
考えられる。
成要素として、高速だが小容量なスタティックRAM
(図中、高速メモリ43で示す)と、大容量だが低速な
ダイナミックRAM(図中、通常メモリ44で示す)が
考えられる。
【0022】ここで、性能面のみに着目すると、全て高
速メモリ43を用いてメイン・メモリ42を構築した方
がよいが、高コストになる。一方、コスト面にのみ着目
すると、全て容量あたりのコストが低い通常メモリ44
を用いてメイン・メモリ42を構築した方がよいが、低
速になる。
速メモリ43を用いてメイン・メモリ42を構築した方
がよいが、高コストになる。一方、コスト面にのみ着目
すると、全て容量あたりのコストが低い通常メモリ44
を用いてメイン・メモリ42を構築した方がよいが、低
速になる。
【0023】図4に示す例では、高速メモリ43と通常
メモリ44とを組み合わせ、比較的低コストに比較的高
速なメイン・メモリ42を実現している。
メモリ44とを組み合わせ、比較的低コストに比較的高
速なメイン・メモリ42を実現している。
【0024】そして、図4に示すシステム構成において
は、頻繁に実行されるプログラムや頻繁にアクセスされ
るデータを高速メモリ43に、それ以外のプログラムや
データを通常メモリ44に置くことにより、比較的低コ
ストなメイン・メモリ42システム上で比較的高速な処
理を行える。
は、頻繁に実行されるプログラムや頻繁にアクセスされ
るデータを高速メモリ43に、それ以外のプログラムや
データを通常メモリ44に置くことにより、比較的低コ
ストなメイン・メモリ42システム上で比較的高速な処
理を行える。
【0025】しかし、図16に示した、フレーム・バッ
ファ・プールの管理方法の処理フローでは、このような
異質なメモリを組み合わせたメイン・メモリに対する配
慮がなされていず、図4に示したマイクロコンピュータ
・システムの性能を最大限に発揮させることができな
い、という問題を有している。
ファ・プールの管理方法の処理フローでは、このような
異質なメモリを組み合わせたメイン・メモリに対する配
慮がなされていず、図4に示したマイクロコンピュータ
・システムの性能を最大限に発揮させることができな
い、という問題を有している。
【0026】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、ダイナミックR
AMのような通常メモリとスタティックRAMのような
高速メモリを併用したマイクロコンピュータ・システム
上で、高速なMPEGビデオ・デコーダ・ソフトウェア
を実現する装置を提供することにある。
てなされたものであって、その目的は、ダイナミックR
AMのような通常メモリとスタティックRAMのような
高速メモリを併用したマイクロコンピュータ・システム
上で、高速なMPEGビデオ・デコーダ・ソフトウェア
を実現する装置を提供することにある。
【0027】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、MPEG規格によって圧縮されたビット
ストリームを伸長する装置において、高速型メモリと通
常型メモリが混在するメモリ・システムを備え、MPE
Gで規定されるIピクチャおよびPピクチャを格納する
フレーム・バッファを前記高速型メモリ上に優先して確
保する、ことを特徴とする。
め、本発明は、MPEG規格によって圧縮されたビット
ストリームを伸長する装置において、高速型メモリと通
常型メモリが混在するメモリ・システムを備え、MPE
Gで規定されるIピクチャおよびPピクチャを格納する
フレーム・バッファを前記高速型メモリ上に優先して確
保する、ことを特徴とする。
【0028】[発明の概要]通常型メモリ上のフレーム
・バッファに加え、高速型メモリ上に1枚以上、(でき
れば2枚以上)のフレーム・バッファを確保し、Iピク
チャまたはPピクチャの格納に優先的に割り当てる。
・バッファに加え、高速型メモリ上に1枚以上、(でき
れば2枚以上)のフレーム・バッファを確保し、Iピク
チャまたはPピクチャの格納に優先的に割り当てる。
【0029】本発明によれば、動き補償処理時に参照さ
れるためアクセス回数が多いIおよびPピクチャが、高
速メモリ上に配置される確率を増やすことで、フレーム
・バッファ・アクセスの平均時間が短縮したものであ
り、これによりMPEGデコーダ・ソフトウェアの平均
実行性能を向上させる。
れるためアクセス回数が多いIおよびPピクチャが、高
速メモリ上に配置される確率を増やすことで、フレーム
・バッファ・アクセスの平均時間が短縮したものであ
り、これによりMPEGデコーダ・ソフトウェアの平均
実行性能を向上させる。
【0030】
【発明の実施の形態】本発明の好ましい実施の形態につ
いて以下に説明する。本発明は、その好ましい実施の形
態において、フレーム・バッファの割り当てを単一のフ
レーム・バッファ管理領域(図1の10)により管理
し、フレーム・バッファ管理領域のエントリのうち、先
頭部分に、高速メモリ(図1の12)上のフレーム・バ
ッファ(図1の14、15)を登録し、これらより後の
エントリに、高速メモリよりも低速型の通常メモリ(図
1の13)上のフレーム・バッファ(図1の16、1
7)を登録し、(a)IピクチャおよびPピクチャを格
納するフレーム・バッファを確保するときには、フレー
ム・バッファ管理領域の先頭のエントリから昇順にサー
チし、(b)Bピクチャを格納するフレーム・バッファ
を確保するときは、前記フレーム・バッファ管理領域最
後のエントリから降順に検索する。
いて以下に説明する。本発明は、その好ましい実施の形
態において、フレーム・バッファの割り当てを単一のフ
レーム・バッファ管理領域(図1の10)により管理
し、フレーム・バッファ管理領域のエントリのうち、先
頭部分に、高速メモリ(図1の12)上のフレーム・バ
ッファ(図1の14、15)を登録し、これらより後の
エントリに、高速メモリよりも低速型の通常メモリ(図
1の13)上のフレーム・バッファ(図1の16、1
7)を登録し、(a)IピクチャおよびPピクチャを格
納するフレーム・バッファを確保するときには、フレー
ム・バッファ管理領域の先頭のエントリから昇順にサー
チし、(b)Bピクチャを格納するフレーム・バッファ
を確保するときは、前記フレーム・バッファ管理領域最
後のエントリから降順に検索する。
【0031】これにより、アクセスが多いIおよびPピ
クチャが、高速メモリ上に確保したフレーム・バッファ
に優先して割り当てられるため、MPEGビデオ・デコ
ーダ・ソフトウェアの性能を向上する。
クチャが、高速メモリ上に確保したフレーム・バッファ
に優先して割り当てられるため、MPEGビデオ・デコ
ーダ・ソフトウェアの性能を向上する。
【0032】また、本発明は、その好ましい実施の形態
において、フレーム・バッファの割り当てを、高速メモ
リ上のフレーム・バッファの割り当てを管理するフレー
ム・バッファ管理領域(図5の50)と、通常メモリ上
のフレーム・バッファの割り当てを管理するフレーム・
バッファ管理領域(図5の51)により管理し、(a)
IおよびPピクチャを格納するフレーム・バッファを確
保するには、高速メモリ上のフレーム・バッファの割り
当てを管理するフレーム・バッファ管理領域(図5の5
0)を先に、通常メモリ上のフレーム・バッファの割り
当てを管理するフレーム・バッファ管理領域(図5の5
1)を後に検索し、(b)Bピクチャを格納するフレー
ム・バッファを確保するには、通常メモリ上のフレーム
・バッファの割り当てを管理するフレーム・バッファ管
理領域(図5の51)を先に、高速メモリ上のフレーム
・バッファの割り当てを管理するフレーム・バッファ管
理領域(図5の50)を後に検索する。
において、フレーム・バッファの割り当てを、高速メモ
リ上のフレーム・バッファの割り当てを管理するフレー
ム・バッファ管理領域(図5の50)と、通常メモリ上
のフレーム・バッファの割り当てを管理するフレーム・
バッファ管理領域(図5の51)により管理し、(a)
IおよびPピクチャを格納するフレーム・バッファを確
保するには、高速メモリ上のフレーム・バッファの割り
当てを管理するフレーム・バッファ管理領域(図5の5
0)を先に、通常メモリ上のフレーム・バッファの割り
当てを管理するフレーム・バッファ管理領域(図5の5
1)を後に検索し、(b)Bピクチャを格納するフレー
ム・バッファを確保するには、通常メモリ上のフレーム
・バッファの割り当てを管理するフレーム・バッファ管
理領域(図5の51)を先に、高速メモリ上のフレーム
・バッファの割り当てを管理するフレーム・バッファ管
理領域(図5の50)を後に検索する。
【0033】また、本発明は、その好ましい実施の形態
において、フレーム・バッファの割割り当てを、Iまた
はPピクチャに割り当てるフレーム・バッファの割り当
てを管理するフレーム・バッファ管理領域(図9の9
0)と、Bピクチャに割り当てるフレーム・バッファの
割り当てを管理するフレーム・バッファ管理領域(図9
の91)により管理し、双方のフレーム・バッファ管理
領域のエントリの先頭に、最低1枚ずつ高速メモリ上に
確保したフレーム・バッファを登録し、(a)Iピクチ
ャまたはPピクチャを格納するフレーム・バッファを確
保するときは、IピクチャまたはPピクチャに割り当て
るフレーム・バッファの割り当てを管理するフレーム・
バッファ管理領域をエントリ先頭から昇順に検索し、
(b)Bピクチャを格納するフレーム・バッファはBピ
クチャに割り当てるフレーム・バッファの割り当てを管
理するフレーム・バッファ管理領域をエントリ先頭から
昇順に検索する。
において、フレーム・バッファの割割り当てを、Iまた
はPピクチャに割り当てるフレーム・バッファの割り当
てを管理するフレーム・バッファ管理領域(図9の9
0)と、Bピクチャに割り当てるフレーム・バッファの
割り当てを管理するフレーム・バッファ管理領域(図9
の91)により管理し、双方のフレーム・バッファ管理
領域のエントリの先頭に、最低1枚ずつ高速メモリ上に
確保したフレーム・バッファを登録し、(a)Iピクチ
ャまたはPピクチャを格納するフレーム・バッファを確
保するときは、IピクチャまたはPピクチャに割り当て
るフレーム・バッファの割り当てを管理するフレーム・
バッファ管理領域をエントリ先頭から昇順に検索し、
(b)Bピクチャを格納するフレーム・バッファはBピ
クチャに割り当てるフレーム・バッファの割り当てを管
理するフレーム・バッファ管理領域をエントリ先頭から
昇順に検索する。
【0034】
【実施例】上記した実施の形態について更に詳細に説明
すべく、本発明の実施例について図面を参照して以下に
説明する。
すべく、本発明の実施例について図面を参照して以下に
説明する。
【0035】以下では、まず、前提として、MPEGで
定義されているピクチャの種類と相互の依存関係を説明
する。次に、高速小容量メモリと大容量低速メモリを混
在させたメモリ・システム上でのフレーム・バッファ・
プールの構成とその管理フローチャートについて3種類
述べる。
定義されているピクチャの種類と相互の依存関係を説明
する。次に、高速小容量メモリと大容量低速メモリを混
在させたメモリ・システム上でのフレーム・バッファ・
プールの構成とその管理フローチャートについて3種類
述べる。
【0036】まず、MPEGで定義されているピクチャ
の種類と相互の依存関係を説明する。MPEGで定義さ
れるピクチャには、動き補償の種類によってI、P、B
という3種類がある。
の種類と相互の依存関係を説明する。MPEGで定義さ
れるピクチャには、動き補償の種類によってI、P、B
という3種類がある。
【0037】Iピクチャ(Intra符号化画像;フレーム
内符号化画像)のデコードには動き補償を使わないた
め、Iピクチャのデコード時に他のフレーム・バッファ
を参照することはない。
内符号化画像)のデコードには動き補償を使わないた
め、Iピクチャのデコード時に他のフレーム・バッファ
を参照することはない。
【0038】Pピクチャ(Predictive符号化画像;フ
レーム間順方向予測符号化画像)のデコードには動き補
償のうち前方予測を使うことがある。したがって、Pピ
クチャのデコード時には、以前デコードしたIピクチャ
またはPピクチャ1フレームを参照することがある。
レーム間順方向予測符号化画像)のデコードには動き補
償のうち前方予測を使うことがある。したがって、Pピ
クチャのデコード時には、以前デコードしたIピクチャ
またはPピクチャ1フレームを参照することがある。
【0039】Bピクチャ(Bidirectionally predicti
ve符号化画像;双方予測符号化画像)のデコードには動
き補償のうち双方向予測を使うことがある。したがっ
て、Bピクチャのデコード時には、以前デコードしたI
ピクチャまたはPピクチャ2フレームを参照することが
ある。
ve符号化画像;双方予測符号化画像)のデコードには動
き補償のうち双方向予測を使うことがある。したがっ
て、Bピクチャのデコード時には、以前デコードしたI
ピクチャまたはPピクチャ2フレームを参照することが
ある。
【0040】図3に、ピクチャ種類別の依存関係の一例
を示す。フレーム1(Iピクチャ、30)、フレーム2
(Bピクチャ、31)、フレーム3(Bピクチャ、3
2)、フレーム4(Pピクチャ、33)をこの順序で表
示するとすると、ビットストリーム上のフレーム順序は
フレーム1(30)、フレーム4(33)、フレーム2
(31)、フレーム3(32)であり、デコードもこの
順序で行う。
を示す。フレーム1(Iピクチャ、30)、フレーム2
(Bピクチャ、31)、フレーム3(Bピクチャ、3
2)、フレーム4(Pピクチャ、33)をこの順序で表
示するとすると、ビットストリーム上のフレーム順序は
フレーム1(30)、フレーム4(33)、フレーム2
(31)、フレーム3(32)であり、デコードもこの
順序で行う。
【0041】まずフレーム1(30)をデコードする。
フレーム1(30)は、Iピクチャであるため、フレー
ム1(30)自身で完結しており、動き補償のために他
のフレームを参照することはない。
フレーム1(30)は、Iピクチャであるため、フレー
ム1(30)自身で完結しており、動き補償のために他
のフレームを参照することはない。
【0042】次にフレーム4(33)をデコードする。
フレーム4(33)はPピクチャであり、デコード処理
時にフレーム・バッファに収められたフレーム1(3
0)を参照しながら前方向動き予測による動き補償36
が行われる。
フレーム4(33)はPピクチャであり、デコード処理
時にフレーム・バッファに収められたフレーム1(3
0)を参照しながら前方向動き予測による動き補償36
が行われる。
【0043】3番目にフレーム2(31)をデコードす
る。フレーム2(31)はBピクチャであり、デコード
処理時にフレーム・バッファに収められたフレーム1
(30)とフレーム4(33)を参照しながら双方向動
き予測による動き補償34が行われる。
る。フレーム2(31)はBピクチャであり、デコード
処理時にフレーム・バッファに収められたフレーム1
(30)とフレーム4(33)を参照しながら双方向動
き予測による動き補償34が行われる。
【0044】最後にフレーム3(32)をデコードす
る。フレーム3(32)はBピクチャであり、デコード
処理時にフレーム・バッファに収められたフレーム1
(30)とフレーム4(33)を参照しながら双方向動
き予測による動き補償35が行われる。
る。フレーム3(32)はBピクチャであり、デコード
処理時にフレーム・バッファに収められたフレーム1
(30)とフレーム4(33)を参照しながら双方向動
き予測による動き補償35が行われる。
【0045】次に、異種メモリを混在させたメイン・メ
モリ上でのフレーム・バッファ・プールの構成について
説明する。
モリ上でのフレーム・バッファ・プールの構成について
説明する。
【0046】メイン・メモリとして、高速だが小容量な
メモリ(以下「高速メモリ」という、例えばスタティッ
クRAM43)大容量だが低速なメモリ(以下「通常メ
モリ」という、例えばダイナミックRAM44)を組み
合わせた構成の一例を示す図4を参照して以下に説明す
る。
メモリ(以下「高速メモリ」という、例えばスタティッ
クRAM43)大容量だが低速なメモリ(以下「通常メ
モリ」という、例えばダイナミックRAM44)を組み
合わせた構成の一例を示す図4を参照して以下に説明す
る。
【0047】各メモリの容量としては、高速メモリ43
が数百キロバイト(例、256〜512キロバイト)、
通常メモリ44が数メガバイトかそれ以上(例、8メガ
〜64メガバイト)が標準的と考えられる。MPEG−
1における標準的なピクチャ形式である解像度横354
画素、縦240画素、1画素ごとに輝度信号8ビット、
4画素ごとに色差信号8ビット2プレーンというフォー
マットでは、1ピクチャあたり約127キロバイトの容
量が必要である。従って、例えば8枚のフレーム・バッ
ファを確保する場合、高速メモリ43の容量の制限か
ら、8枚全てを高速メモリ43上に確保することはでき
ない。したがって、せいぜい1ないし2枚のフレーム・
バッファを高速メモリ43上に確保し、残りの7ないし
6枚は、低速だが安価な通常メモリ44上に確保するこ
とになる。
が数百キロバイト(例、256〜512キロバイト)、
通常メモリ44が数メガバイトかそれ以上(例、8メガ
〜64メガバイト)が標準的と考えられる。MPEG−
1における標準的なピクチャ形式である解像度横354
画素、縦240画素、1画素ごとに輝度信号8ビット、
4画素ごとに色差信号8ビット2プレーンというフォー
マットでは、1ピクチャあたり約127キロバイトの容
量が必要である。従って、例えば8枚のフレーム・バッ
ファを確保する場合、高速メモリ43の容量の制限か
ら、8枚全てを高速メモリ43上に確保することはでき
ない。したがって、せいぜい1ないし2枚のフレーム・
バッファを高速メモリ43上に確保し、残りの7ないし
6枚は、低速だが安価な通常メモリ44上に確保するこ
とになる。
【0048】このように、高速メモリ43上に確保した
フレーム・バッファと低速メモリ44上に確保したフレ
ーム・バッファが両方存在するとき、以下に第1から第
3の実施例として説明するフレーム・バッファ・プール
の管理制御方法よって、この2種類のフレーム・バッフ
ァを使い分け、MPEGデコード・ソフトウェアの実行
性能を向上することができる。すなわち、MPEGビッ
トストリームに含まれる3種類のピクチャのうち、後続
フレームのデコード時にアクセスされるI、Pフレーム
を、後続フレームのデコードに使われることのないBフ
レームよりも優先して高速メモリ43上に確保したフレ
ーム・バッファに割り当てるよう制御することで、アク
セス回数の多いピクチャを高速なフレーム・バッファに
優先的に割り当てることができ、デコード・ソフトウェ
アの実行速度が高速化される。
フレーム・バッファと低速メモリ44上に確保したフレ
ーム・バッファが両方存在するとき、以下に第1から第
3の実施例として説明するフレーム・バッファ・プール
の管理制御方法よって、この2種類のフレーム・バッフ
ァを使い分け、MPEGデコード・ソフトウェアの実行
性能を向上することができる。すなわち、MPEGビッ
トストリームに含まれる3種類のピクチャのうち、後続
フレームのデコード時にアクセスされるI、Pフレーム
を、後続フレームのデコードに使われることのないBフ
レームよりも優先して高速メモリ43上に確保したフレ
ーム・バッファに割り当てるよう制御することで、アク
セス回数の多いピクチャを高速なフレーム・バッファに
優先的に割り当てることができ、デコード・ソフトウェ
アの実行速度が高速化される。
【0049】本発明の第1の実施例に係るフレーム・バ
ッファ・プールの管理方法について、図1および図2を
参照して以下に詳細に説明する。
ッファ・プールの管理方法について、図1および図2を
参照して以下に詳細に説明する。
【0050】まず、フレーム・バッファ・プールを、図
15に示した従来方式から、図1に示す構成に変更して
いる。すなわち、図1を参照すると、フレーム・バッフ
ァ管理領域10のエントリ番号の1から昇順に高速メモ
リ12上に確保したフレーム・バッファ(14、15)
を全て登録し、これらより後ろのエントリ(図1に示す
例では、エントリ3以降)に通常メモリ13上に確保し
たフレーム・バッファ(16、17)を登録する。
15に示した従来方式から、図1に示す構成に変更して
いる。すなわち、図1を参照すると、フレーム・バッフ
ァ管理領域10のエントリ番号の1から昇順に高速メモ
リ12上に確保したフレーム・バッファ(14、15)
を全て登録し、これらより後ろのエントリ(図1に示す
例では、エントリ3以降)に通常メモリ13上に確保し
たフレーム・バッファ(16、17)を登録する。
【0051】フレーム・バッファ管理領域10は、総フ
レーム・バッファ数N(高速メモリ上に確保したフレー
ム・バッファの枚数と通常メモリ上に確保したフレーム
・バッファの枚数の合計)に等しい個数のエントリを持
つ。各エントリは、対応するフレーム・バッファが未使
用か、使用中であるかを示すフラグ18と、フレーム・
バッファの開始アドレス19を保持する。
レーム・バッファ数N(高速メモリ上に確保したフレー
ム・バッファの枚数と通常メモリ上に確保したフレーム
・バッファの枚数の合計)に等しい個数のエントリを持
つ。各エントリは、対応するフレーム・バッファが未使
用か、使用中であるかを示すフラグ18と、フレーム・
バッファの開始アドレス19を保持する。
【0052】図1に示したフレーム・バッファ・プール
の初期化は、デコード・ソフトウェアの初期化120
(図14参照)時に完了しているものとする。すなわ
ち、MPEGビットストリームのデコード開始時には、
高速メモリ12上および通常メモリ13上に計N枚のフ
レーム・バッファが確保され、フレーム・バッファ管理
領域10の全てのエントリのフラグ18は「未使用」に
設定されており、フレーム・バッファ管理領域10の全
てのエントリの開始アドレス19は有効なフレーム・バ
ッファの開始アドレスを保持しているものとする。
の初期化は、デコード・ソフトウェアの初期化120
(図14参照)時に完了しているものとする。すなわ
ち、MPEGビットストリームのデコード開始時には、
高速メモリ12上および通常メモリ13上に計N枚のフ
レーム・バッファが確保され、フレーム・バッファ管理
領域10の全てのエントリのフラグ18は「未使用」に
設定されており、フレーム・バッファ管理領域10の全
てのエントリの開始アドレス19は有効なフレーム・バ
ッファの開始アドレスを保持しているものとする。
【0053】図1に示したフレーム・バッファ・プール
は、以下に示す方法で管理することで、高速化を達成で
きる。
は、以下に示す方法で管理することで、高速化を達成で
きる。
【0054】すなわち、ピクチャ層のデコード処理12
3(図14参照)時に、フレーム・バッファを確保する
とき、ピクチャ・タイプによってフレーム・バッファ・
プール管理領域10のエントリの検索順序を変える。
3(図14参照)時に、フレーム・バッファを確保する
とき、ピクチャ・タイプによってフレーム・バッファ・
プール管理領域10のエントリの検索順序を変える。
【0055】IまたはPピクチャを格納するためのフレ
ーム・バッファを確保するときには、エントリ番号1か
らNまでを昇順に検索し、Bピクチャを格納するための
フレーム・バッファを確保するときには、エントリ番号
Nから1までを降順に検索する。ピクチャ・タイプは、
ピクチャ層のデコード処理123(図14参照)の最初
にピクチャ・ヘッダをデコードすると知ることができ
る。
ーム・バッファを確保するときには、エントリ番号1か
らNまでを昇順に検索し、Bピクチャを格納するための
フレーム・バッファを確保するときには、エントリ番号
Nから1までを降順に検索する。ピクチャ・タイプは、
ピクチャ層のデコード処理123(図14参照)の最初
にピクチャ・ヘッダをデコードすると知ることができ
る。
【0056】次に図2の流れ図を参照して、図1に示し
たフレーム・バッファ・プールの管理方法について詳し
く説明する。以下、検索対象のエントリ番号をiとす
る。
たフレーム・バッファ・プールの管理方法について詳し
く説明する。以下、検索対象のエントリ番号をiとす
る。
【0057】フレーム・バッファに格納するピクチャ・
タイプを判定し(ステップ21)、IピクチャまたはP
ピクチャであったときの手順は次の通りである。まず、
iの初期値として「1」と設定する(ステップ22)。
タイプを判定し(ステップ21)、IピクチャまたはP
ピクチャであったときの手順は次の通りである。まず、
iの初期値として「1」と設定する(ステップ22)。
【0058】フレーム・バッファ・プール管理領域10
のエントリiのフラグを調べ(ステップ23)、「使用
中」でないならばフレーム・バッファiを使用すること
にしてそのフラグを「使用中」に更新し(ステップ2
7)、「使用中」ならiに「1」を加算して更新し(ス
テップ24)、次のエントリを検索する。そして、iの
更新後に、その値がNを超えたか否かを調べ(ステップ
25)、iがNを超えていれば使用可能なフレーム・バ
ッファはないので、エラー終了とする(ステップ2
6)。
のエントリiのフラグを調べ(ステップ23)、「使用
中」でないならばフレーム・バッファiを使用すること
にしてそのフラグを「使用中」に更新し(ステップ2
7)、「使用中」ならiに「1」を加算して更新し(ス
テップ24)、次のエントリを検索する。そして、iの
更新後に、その値がNを超えたか否かを調べ(ステップ
25)、iがNを超えていれば使用可能なフレーム・バ
ッファはないので、エラー終了とする(ステップ2
6)。
【0059】フレーム・バッファに格納するピクチャ・
タイプを判定し(ステップ21)、Bピクチャであった
ときの手順は次の通りである。
タイプを判定し(ステップ21)、Bピクチャであった
ときの手順は次の通りである。
【0060】まず、iの初期値として「N」を設定する
(ステップ29)。フレーム・バッファ・プール管理領
域のエントリiのフラグを調べ(ステップ30)、「使
用中」でないならば、フレーム・バッファiを使用する
ことにしてフラグを「使用中」に更新し(ステップ2
7)、「使用中」ならば、iから「1」を減算して更新
し(ステップ31)、次のエントリを検索する。iの更
新後にその値を調べ(ステップ32)、iが「1」より
も小さくなった場合には、使用可能なフレーム・バッフ
ァはないので、エラー終了とする(ステップ33)。
(ステップ29)。フレーム・バッファ・プール管理領
域のエントリiのフラグを調べ(ステップ30)、「使
用中」でないならば、フレーム・バッファiを使用する
ことにしてフラグを「使用中」に更新し(ステップ2
7)、「使用中」ならば、iから「1」を減算して更新
し(ステップ31)、次のエントリを検索する。iの更
新後にその値を調べ(ステップ32)、iが「1」より
も小さくなった場合には、使用可能なフレーム・バッフ
ァはないので、エラー終了とする(ステップ33)。
【0061】以上説明したように、図2に示した処理手
順によれば、アクセス回数が多いI、Pピクチャを収め
るためのフレーム・バッファを確保するときには、高速
メモリ上に確保されたフレーム・バッファを最初に検索
し、アクセス回数が少ないBピクチャを収めるためのフ
レーム・バッファを確保するときには、低速メモリ上に
確保されたフレーム・バッファを先に、高速メモリ上に
確保されたフレーム・バッファを後に検索する。このた
め、本実施例によれば、ピクチャ・タイプにかかわらず
フレーム・バッファを確保する従来の方法に比べ、デコ
ーダ・ソフトウェアの実行速度を高速化できる。
順によれば、アクセス回数が多いI、Pピクチャを収め
るためのフレーム・バッファを確保するときには、高速
メモリ上に確保されたフレーム・バッファを最初に検索
し、アクセス回数が少ないBピクチャを収めるためのフ
レーム・バッファを確保するときには、低速メモリ上に
確保されたフレーム・バッファを先に、高速メモリ上に
確保されたフレーム・バッファを後に検索する。このた
め、本実施例によれば、ピクチャ・タイプにかかわらず
フレーム・バッファを確保する従来の方法に比べ、デコ
ーダ・ソフトウェアの実行速度を高速化できる。
【0062】以上説明した第1のフレーム・バッファ・
プール管理方法では、高速メモリ上のフレーム・バッフ
ァは先頭エントリに登録し、I、Pピクチャ用フレーム
・バッファは先頭エントリから昇順に、Bピクチャ用フ
レーム・バッファは末尾エントリから降順に検索した
が、高速メモリ上のフレーム・バッファは末尾エントリ
に登録しI、Pピクチャ用フレーム・バッファは末尾エ
ントリから降順に、Bピクチャ用フレーム・バッファは
先頭エントリから降順に検索しても同じ効果が得られ
る。
プール管理方法では、高速メモリ上のフレーム・バッフ
ァは先頭エントリに登録し、I、Pピクチャ用フレーム
・バッファは先頭エントリから昇順に、Bピクチャ用フ
レーム・バッファは末尾エントリから降順に検索した
が、高速メモリ上のフレーム・バッファは末尾エントリ
に登録しI、Pピクチャ用フレーム・バッファは末尾エ
ントリから降順に、Bピクチャ用フレーム・バッファは
先頭エントリから降順に検索しても同じ効果が得られ
る。
【0063】また、図1に示した例では、高速メモリ1
2上に確保したフレーム・バッファの枚数は2枚とした
が、1枚以上の任意の枚数について、上記と同じ議論が
適用できる。
2上に確保したフレーム・バッファの枚数は2枚とした
が、1枚以上の任意の枚数について、上記と同じ議論が
適用できる。
【0064】次に本発明の第2の実施例について説明す
る。図5は、本発明の第2の実施例の構成を示す図であ
り、優先的にI、Pピクチャに高速なフレーム・バッフ
ァを割り付けるフレーム・バッファ・プールの構成を示
したものである。また図6から図8は、図5に示したフ
レーム・バッファ・プールを管理する方法を説明するた
めの流れ図である。
る。図5は、本発明の第2の実施例の構成を示す図であ
り、優先的にI、Pピクチャに高速なフレーム・バッフ
ァを割り付けるフレーム・バッファ・プールの構成を示
したものである。また図6から図8は、図5に示したフ
レーム・バッファ・プールを管理する方法を説明するた
めの流れ図である。
【0065】図5を参照すると、本実施例においては、
高速メモリ53上に確保したフレーム・バッファ(5
5、56)と、通常メモリ54上に確保したフレーム・
バッファ(57、58)と、をそれぞれ別のフレーム・
バッファ管理領域(50、51)で管理している。
高速メモリ53上に確保したフレーム・バッファ(5
5、56)と、通常メモリ54上に確保したフレーム・
バッファ(57、58)と、をそれぞれ別のフレーム・
バッファ管理領域(50、51)で管理している。
【0066】高速メモリ53上にN1枚のフレーム・バ
ッファを確保し、通常メモリ54上にN2枚のフレーム
・バッファを確保しているものとする。フレーム・バッ
ファ管理領域は、高速メモリ53上のフレーム・バッフ
ァを管理するN1個のエントリを持つフレーム・バッフ
ァ管理領域1(50)と、通常メモリ54上のフレーム
・バッファを管理するN2個のエントリを持つフレーム
・バッファ管理領域2(51)に分割されている。二つ
のフレーム・バッファ管理領域の各エントリは対応する
フレーム・バッファが未使用か使用中かを示すフラグ
(501、511)と、フレーム・バッファの開始アド
レス(502、512)を保持する。
ッファを確保し、通常メモリ54上にN2枚のフレーム
・バッファを確保しているものとする。フレーム・バッ
ファ管理領域は、高速メモリ53上のフレーム・バッフ
ァを管理するN1個のエントリを持つフレーム・バッフ
ァ管理領域1(50)と、通常メモリ54上のフレーム
・バッファを管理するN2個のエントリを持つフレーム
・バッファ管理領域2(51)に分割されている。二つ
のフレーム・バッファ管理領域の各エントリは対応する
フレーム・バッファが未使用か使用中かを示すフラグ
(501、511)と、フレーム・バッファの開始アド
レス(502、512)を保持する。
【0067】図5に示したフレーム・バッファの初期化
は、デコード・ソフトウェアの初期化120(図14参
照)時に完了しているものとする。すなわち、MPEG
ビットストリームのデコード開始時には、高速メモリ5
3上にN1枚、通常メモリ54上にN2枚のフレーム・
バッファが確保され、フレーム・バッファ管理領域1
(50)、フレーム・バッファ管理領域2(51)の全
てのエントリのフラグ(501、511)は未使用に設
定されており、全てのエントリの開始アドレス(50
2、512)は有効なフレーム・バッファの開始アドレ
スを保持しているとする。
は、デコード・ソフトウェアの初期化120(図14参
照)時に完了しているものとする。すなわち、MPEG
ビットストリームのデコード開始時には、高速メモリ5
3上にN1枚、通常メモリ54上にN2枚のフレーム・
バッファが確保され、フレーム・バッファ管理領域1
(50)、フレーム・バッファ管理領域2(51)の全
てのエントリのフラグ(501、511)は未使用に設
定されており、全てのエントリの開始アドレス(50
2、512)は有効なフレーム・バッファの開始アドレ
スを保持しているとする。
【0068】図6は、図5に示したフレーム・バッファ
・プール構成を管理する方法を示す流れ図である。図6
を参照して、フレーム・バッファに格納するピクチャ・
タイプを判定し(ステップ61)、I、Pピクチャのた
めのフレーム・バッファを確保する場合、まず高速メモ
リ53上にフレーム・バッファの確保を試みる(ステッ
プ62)。
・プール構成を管理する方法を示す流れ図である。図6
を参照して、フレーム・バッファに格納するピクチャ・
タイプを判定し(ステップ61)、I、Pピクチャのた
めのフレーム・バッファを確保する場合、まず高速メモ
リ53上にフレーム・バッファの確保を試みる(ステッ
プ62)。
【0069】ステップ62で、高速メモリ53上にフレ
ーム・バッファの確保を試失敗した場合、通常メモリ5
4上にフレーム・バッファの確保を試みる(ステップ6
3)。いずれかに成功した場合には正常終了であり(ス
テップ65)、いずれも失敗した場合はエラー終了であ
る(ステップ64)。
ーム・バッファの確保を試失敗した場合、通常メモリ5
4上にフレーム・バッファの確保を試みる(ステップ6
3)。いずれかに成功した場合には正常終了であり(ス
テップ65)、いずれも失敗した場合はエラー終了であ
る(ステップ64)。
【0070】Bピクチャのためのフレーム・バッファを
確保する場合、まず通常メモリ54上にフレーム・バッ
ファの確保を試みる(ステップ66)。それに失敗した
場合、高速メモリ53上にフレーム・バッファの確保を
試みる(ステップ67)。いずれかに成功した場合は正
常終了であり(ステップ65)、いずれも失敗した場合
は、エラー終了である(ステップ68)。
確保する場合、まず通常メモリ54上にフレーム・バッ
ファの確保を試みる(ステップ66)。それに失敗した
場合、高速メモリ53上にフレーム・バッファの確保を
試みる(ステップ67)。いずれかに成功した場合は正
常終了であり(ステップ65)、いずれも失敗した場合
は、エラー終了である(ステップ68)。
【0071】図7は、高速メモリ53上にフレーム・バ
ッファを確保を試みる手順を説明するための流れ図であ
る。図7を参照すると、まず、検索対象のエントリ番号
iを「1」に初期化する(ステップ71)。次に、フレ
ーム・バッファ管理領域1(図5の50)のエントリi
のフラグを調べ(ステップ72)、「使用中」でなけれ
ばフレーム・バッファiを確保することにし、そのフラ
グを「使用中」に更新し(ステップ76)、「使用中」
であればiに「1」を加算して更新し(ステップ7
3)、次のエントリを検索する。iを更新後その値を調
べ(ステップ74)、iがN1を超えた場合、使用可能
な高速メモリ上のフレーム・バッファはないため「確保
失敗」とする(ステップ75)。
ッファを確保を試みる手順を説明するための流れ図であ
る。図7を参照すると、まず、検索対象のエントリ番号
iを「1」に初期化する(ステップ71)。次に、フレ
ーム・バッファ管理領域1(図5の50)のエントリi
のフラグを調べ(ステップ72)、「使用中」でなけれ
ばフレーム・バッファiを確保することにし、そのフラ
グを「使用中」に更新し(ステップ76)、「使用中」
であればiに「1」を加算して更新し(ステップ7
3)、次のエントリを検索する。iを更新後その値を調
べ(ステップ74)、iがN1を超えた場合、使用可能
な高速メモリ上のフレーム・バッファはないため「確保
失敗」とする(ステップ75)。
【0072】図8は、通常メモリ54上にフレーム・バ
ッファを確保を試みる手順を説明するための流れ図であ
る。図8を参照すると、まず、検索対象のエントリ番号
iを「1」に初期化する(ステップ81)。次に、フレ
ーム・バッファ管理領域2(図5の51)のエントリi
のフラグを調べ(ステップ82)、「使用中」でなけれ
ばフレーム・バッファiを確保することにし、そのフラ
グを「使用中」に更新し(86)、「使用中」であれば
iに「1」を加算して更新し(ステップ83)、次のエ
ントリを検索する。iを更新後、その値を調べ(ステッ
プ84)、iがN2を超えた場合、使用可能な通常メモ
リ上のフレーム・バッファはないため「確保失敗」とす
る(ステップ85)。
ッファを確保を試みる手順を説明するための流れ図であ
る。図8を参照すると、まず、検索対象のエントリ番号
iを「1」に初期化する(ステップ81)。次に、フレ
ーム・バッファ管理領域2(図5の51)のエントリi
のフラグを調べ(ステップ82)、「使用中」でなけれ
ばフレーム・バッファiを確保することにし、そのフラ
グを「使用中」に更新し(86)、「使用中」であれば
iに「1」を加算して更新し(ステップ83)、次のエ
ントリを検索する。iを更新後、その値を調べ(ステッ
プ84)、iがN2を超えた場合、使用可能な通常メモ
リ上のフレーム・バッファはないため「確保失敗」とす
る(ステップ85)。
【0073】以上説明した第2の実施例においても、頻
繁にアクセスされるIピクチャのためのフレーム・バッ
ファ確保時には、優先的に高速メモリ53上のフレーム
・バッファ(55、56)の利用可能性を検索し、Bピ
クチャのためのフレーム・バッファ確保時には、高速メ
モリ53上に確保されたフレーム・バッファ(55、5
6)を後に検索するため、ピクチャ・タイプにかかわら
ずフレーム・バッファを確保するという、従来の手法に
比べ、デコーダ・ソフトウェアの実行速度を高速化でき
る。
繁にアクセスされるIピクチャのためのフレーム・バッ
ファ確保時には、優先的に高速メモリ53上のフレーム
・バッファ(55、56)の利用可能性を検索し、Bピ
クチャのためのフレーム・バッファ確保時には、高速メ
モリ53上に確保されたフレーム・バッファ(55、5
6)を後に検索するため、ピクチャ・タイプにかかわら
ずフレーム・バッファを確保するという、従来の手法に
比べ、デコーダ・ソフトウェアの実行速度を高速化でき
る。
【0074】この第2の実施例においては、図7、及び
図8に流れ図で示した通り、フレーム・バッファ管理領
域1(50)、フレーム・バッファ管理領域2(51)
とも先頭エントリから昇順に検索したが、いずれか一方
のフレーム・バッファ管理領域、もしくは両方のフレー
ム・バッファ管理領域を末尾エントリから降順に検索し
ても同様の効果が得られる。
図8に流れ図で示した通り、フレーム・バッファ管理領
域1(50)、フレーム・バッファ管理領域2(51)
とも先頭エントリから昇順に検索したが、いずれか一方
のフレーム・バッファ管理領域、もしくは両方のフレー
ム・バッファ管理領域を末尾エントリから降順に検索し
ても同様の効果が得られる。
【0075】次に本発明の第3の実施例を説明する。図
9は、本発明の第3の実施例の構成を示す図であり、優
先的にI、Pピクチャに高速なフレーム・バッファを割
り付けるフレーム・バッファ・プールの構成を示す。ま
た図10及び図11は、図9に示したフレーム・バッフ
ァ・プールを管理する方法を説明するための流れ図であ
る。なお、図10及び図11は、単に図面作成の都合で
分図されたものである。
9は、本発明の第3の実施例の構成を示す図であり、優
先的にI、Pピクチャに高速なフレーム・バッファを割
り付けるフレーム・バッファ・プールの構成を示す。ま
た図10及び図11は、図9に示したフレーム・バッフ
ァ・プールを管理する方法を説明するための流れ図であ
る。なお、図10及び図11は、単に図面作成の都合で
分図されたものである。
【0076】図10及び図11を参照すると、I、Pピ
クチャ用フレーム・バッファとBピクチャ用フレーム・
バッファを、別のフレーム・バッファ・プール管理領域
で管理している。
クチャ用フレーム・バッファとBピクチャ用フレーム・
バッファを、別のフレーム・バッファ・プール管理領域
で管理している。
【0077】図9に示した構成では、I、Pピクチャ用
にN3枚の、Bピクチャ用にN4枚のフレーム・バッフ
ァを確保しているとする。ただし、I、Pピクチャ用フ
レーム・バッファのうち1枚以上(好ましくは2枚以
上)は高速メモリ上に、残りは通常メモリ上に確保され
ているとする。同様にBピクチャ用フレーム・バッファ
のうち1枚以上は高速メモリ上に、残りは通常メモリ上
に確保されているとする。
にN3枚の、Bピクチャ用にN4枚のフレーム・バッフ
ァを確保しているとする。ただし、I、Pピクチャ用フ
レーム・バッファのうち1枚以上(好ましくは2枚以
上)は高速メモリ上に、残りは通常メモリ上に確保され
ているとする。同様にBピクチャ用フレーム・バッファ
のうち1枚以上は高速メモリ上に、残りは通常メモリ上
に確保されているとする。
【0078】フレーム・バッファ管理領域は、I、Pピ
クチャ用フレーム・バッファを管理するN3個のエント
リを持つフレーム・バッファ管理領域3(90)と、B
ピクチャ用フレーム・バッファを管理するN4個のエン
トリを持つフレーム・バッファ管理領域4(91)から
成る。両管理領域の各エントリは対応するフレーム・バ
ッファが未使用か使用中かを示すフラグ(901、91
1)と、フレーム・バッファの開始のアドレス(90
2、912)を保持する。
クチャ用フレーム・バッファを管理するN3個のエント
リを持つフレーム・バッファ管理領域3(90)と、B
ピクチャ用フレーム・バッファを管理するN4個のエン
トリを持つフレーム・バッファ管理領域4(91)から
成る。両管理領域の各エントリは対応するフレーム・バ
ッファが未使用か使用中かを示すフラグ(901、91
1)と、フレーム・バッファの開始のアドレス(90
2、912)を保持する。
【0079】図9に示したフレーム・バッファ・プール
の初期化は、デコード・ソフトウェアの初期化120
(図14参照)時に完了しているものとする。すなわ
ち、MPEGビットストリームのデコード開始時には、
高速メモリ93上および通常メモリ94上に必要なフレ
ーム・バッファが確保され、フレーム・バッファ管理領
域(90、91)の全てのエントリのフラグ(901、
911)は未使用に設定されており、全てのエントリの
開始アドレス(902、912)は有効なフレーム・バ
ッファの開始アドレスを保持しているとする。また、
I、Pピクチャ用に高速メモリ93上に確保されたフレ
ーム・バッファ(95、96)のアドレスは、すべてフ
レーム・バッファ管理領域3(90)に、エントリ1か
ら昇順に登録されている。同様にBピクチャ用の高速メ
モリ93上に確保されたフレーム・バッファ(97)の
アドレスは、すべてフレーム・バッファ管理領域4(9
1)に、エントリ1から昇順に登録されている。
の初期化は、デコード・ソフトウェアの初期化120
(図14参照)時に完了しているものとする。すなわ
ち、MPEGビットストリームのデコード開始時には、
高速メモリ93上および通常メモリ94上に必要なフレ
ーム・バッファが確保され、フレーム・バッファ管理領
域(90、91)の全てのエントリのフラグ(901、
911)は未使用に設定されており、全てのエントリの
開始アドレス(902、912)は有効なフレーム・バ
ッファの開始アドレスを保持しているとする。また、
I、Pピクチャ用に高速メモリ93上に確保されたフレ
ーム・バッファ(95、96)のアドレスは、すべてフ
レーム・バッファ管理領域3(90)に、エントリ1か
ら昇順に登録されている。同様にBピクチャ用の高速メ
モリ93上に確保されたフレーム・バッファ(97)の
アドレスは、すべてフレーム・バッファ管理領域4(9
1)に、エントリ1から昇順に登録されている。
【0080】図10及び図11は、図9に示すフレーム
・バッファ・プールを管理する手順を示す流れ図であ
る。図10を参照すると、フレーム・バッファに格納す
るピクチャ・タイプを判定し(ステップ111)、Iま
たはPピクチャを格納するためのフレーム・バッファを
確保するときには、フレーム・バッファ管理領域3(9
0)のエントリ番号1からN3までを昇順に検索する。
・バッファ・プールを管理する手順を示す流れ図であ
る。図10を参照すると、フレーム・バッファに格納す
るピクチャ・タイプを判定し(ステップ111)、Iま
たはPピクチャを格納するためのフレーム・バッファを
確保するときには、フレーム・バッファ管理領域3(9
0)のエントリ番号1からN3までを昇順に検索する。
【0081】まず、検索対象のエントリ番号iを「1」
に初期化する(ステップ112)。次にエントリiのフ
ラグを調べ(ステップ113)、「使用中」でなければ
フレーム・バッファiを使用することにしてそのフラグ
を「使用中」に更新し(ステップ117)、「使用中」
ならiに「1」を加算して更新し(ステップ114)、
次のエントリを検索する。iを更新した後、その値を調
べ(ステップ115)、iが「N3」を超えた場合、使
用可能なフレーム・バッファはないので、エラー終了と
する(ステップ116)。
に初期化する(ステップ112)。次にエントリiのフ
ラグを調べ(ステップ113)、「使用中」でなければ
フレーム・バッファiを使用することにしてそのフラグ
を「使用中」に更新し(ステップ117)、「使用中」
ならiに「1」を加算して更新し(ステップ114)、
次のエントリを検索する。iを更新した後、その値を調
べ(ステップ115)、iが「N3」を超えた場合、使
用可能なフレーム・バッファはないので、エラー終了と
する(ステップ116)。
【0082】図11を参照して、Bピクチャを格納する
ためのフレーム・バッファを確保するときは、フレーム
・バッファ管理領域4(91)のエントリ番号1からN
4までを昇順に検索する。まず、検索対象のエントリ番
号iを「1」に初期化する(ステップ119)。次にエ
ントリiのフラグを調べ(ステップ120)、「使用
中」でなければフレーム・バッファiを使用することに
してそのフラグを「使用中」に更新し(ステップ12
4)、「使用中」ならiに「1」を加算して更新し(ス
テップ121)、次のエントリを検索する。iを更新後
その値を調べ(ステップ122)、iが「N4」を超え
た場合、使用可能なフレーム・バッファはないので、エ
ラー終了とする(ステップ123)。
ためのフレーム・バッファを確保するときは、フレーム
・バッファ管理領域4(91)のエントリ番号1からN
4までを昇順に検索する。まず、検索対象のエントリ番
号iを「1」に初期化する(ステップ119)。次にエ
ントリiのフラグを調べ(ステップ120)、「使用
中」でなければフレーム・バッファiを使用することに
してそのフラグを「使用中」に更新し(ステップ12
4)、「使用中」ならiに「1」を加算して更新し(ス
テップ121)、次のエントリを検索する。iを更新後
その値を調べ(ステップ122)、iが「N4」を超え
た場合、使用可能なフレーム・バッファはないので、エ
ラー終了とする(ステップ123)。
【0083】図10及び図11に示した方法によれば、
高速メモリ上93に確保したフレーム・バッファを、I
またはPピクチャ用のフレーム・バッファ・プールに
1、できれば2枚、あるいはそれ以上登録し、通常メモ
リ94上のフレーム・バッファより優先して検索するこ
とで、アクセス回数が多いI、Pピクチャに高速メモリ
93上のフレーム・バッファが割り当てられる確率を増
やし、デコーダ・ソフトウェアの実行速度を高速化す
る。同時に、Bピクチャ用のフレーム・バッファ・プー
ルに最低1枚の高速メモリ93上に確保したフレーム・
バッファを登録し、通常メモリ94上のフレーム・バッ
ファより優先して検索することで、Bピクチャのデコー
ド処理が高速化される確率を増やす。
高速メモリ上93に確保したフレーム・バッファを、I
またはPピクチャ用のフレーム・バッファ・プールに
1、できれば2枚、あるいはそれ以上登録し、通常メモ
リ94上のフレーム・バッファより優先して検索するこ
とで、アクセス回数が多いI、Pピクチャに高速メモリ
93上のフレーム・バッファが割り当てられる確率を増
やし、デコーダ・ソフトウェアの実行速度を高速化す
る。同時に、Bピクチャ用のフレーム・バッファ・プー
ルに最低1枚の高速メモリ93上に確保したフレーム・
バッファを登録し、通常メモリ94上のフレーム・バッ
ファより優先して検索することで、Bピクチャのデコー
ド処理が高速化される確率を増やす。
【0084】以上説明した、フレーム・バッファ・プー
ルの第3の実施例の構成は、比較的多数(例、3枚以
上)のフレーム・バッファが高速メモリ93上に確保で
き、通常の処理は高速メモリ93上で行えるが、ビット
レートの変動やMPEGソフトウェア・デコーダ以外の
タスクの負荷変動を想定し、最悪ケースに備え通常メモ
リ94上に多めにフレーム・バッファを確保しておくよ
うなシステムに適する。
ルの第3の実施例の構成は、比較的多数(例、3枚以
上)のフレーム・バッファが高速メモリ93上に確保で
き、通常の処理は高速メモリ93上で行えるが、ビット
レートの変動やMPEGソフトウェア・デコーダ以外の
タスクの負荷変動を想定し、最悪ケースに備え通常メモ
リ94上に多めにフレーム・バッファを確保しておくよ
うなシステムに適する。
【0085】図9に示した本発明の第3の実施例の構成
では、高速メモリ93上に確保したフレーム・バッファ
の枚数は3枚で、うち2枚をフレーム・バッファ管理領
域3(90)に、1枚をフレーム・バッファ管理領域4
(91)に登録したが、高速メモリ93上に2枚以上の
フレーム・バッファを確保し、フレーム・バッファ管理
領域3(90)に1枚以上、フレーム・バッファ管理領
域4(91)に1枚以上登録していれば同じ議論が適用
できる。
では、高速メモリ93上に確保したフレーム・バッファ
の枚数は3枚で、うち2枚をフレーム・バッファ管理領
域3(90)に、1枚をフレーム・バッファ管理領域4
(91)に登録したが、高速メモリ93上に2枚以上の
フレーム・バッファを確保し、フレーム・バッファ管理
領域3(90)に1枚以上、フレーム・バッファ管理領
域4(91)に1枚以上登録していれば同じ議論が適用
できる。
【0086】ただし、Bピクチャを生成する動き補償で
は、2枚の過去に生成されたピクチャを参照して双方向
予測を行うため、性能上高速メモリ93上に3枚以上の
フレーム・バッファを確保し、フレーム・バッファ管理
領域3(90)には2枚以上登録することが好ましい。
は、2枚の過去に生成されたピクチャを参照して双方向
予測を行うため、性能上高速メモリ93上に3枚以上の
フレーム・バッファを確保し、フレーム・バッファ管理
領域3(90)には2枚以上登録することが好ましい。
【0087】上記第1から第3の実施例で説明したフレ
ーム・バッファ・プールの構成は、図4に示すように、
高速メモリ43と通常メモリ44が並列に内部バス45
に接続され、マイクロプロセッサ41のアドレス空間に
対等に割り付けられてアクセスされるシステムを想定し
ている。
ーム・バッファ・プールの構成は、図4に示すように、
高速メモリ43と通常メモリ44が並列に内部バス45
に接続され、マイクロプロセッサ41のアドレス空間に
対等に割り付けられてアクセスされるシステムを想定し
ている。
【0088】ところが、上記第1から第3の実施例で説
明したフレーム・バッファ・プールの構成は、図12に
示した構成のマイクロコンピュータ・システムにも適用
可能な場合がある。
明したフレーム・バッファ・プールの構成は、図12に
示した構成のマイクロコンピュータ・システムにも適用
可能な場合がある。
【0089】図12に示す構成では、スタティックRA
Mがマイクロプロセッサと通常メモリの間に位置し、キ
ャッシュ・メモリ48として動作している。すなわち、
スタティックRAMは通常メモリの内容のうち、最近使
われたごく一部の内容のコピーを保持する。
Mがマイクロプロセッサと通常メモリの間に位置し、キ
ャッシュ・メモリ48として動作している。すなわち、
スタティックRAMは通常メモリの内容のうち、最近使
われたごく一部の内容のコピーを保持する。
【0090】しかし、マイクロプロセッサがキャッシュ
・ブロックのロック機構を備えていれば、キャッシュ・
メモリ48の一部のリプレースを禁止し、図4に示した
高速メモリ43のように使うことができる。すなわち、
上記した第1から第3のフレーム・バッファ・プールの
構成は、図12に示すマイクロコンピュータ・システム
にも適用可能である。
・ブロックのロック機構を備えていれば、キャッシュ・
メモリ48の一部のリプレースを禁止し、図4に示した
高速メモリ43のように使うことができる。すなわち、
上記した第1から第3のフレーム・バッファ・プールの
構成は、図12に示すマイクロコンピュータ・システム
にも適用可能である。
【0091】なお、上記実施例で流れ図を参照して説明
した処理はマイクロコンピュータのプログラム命令の実
行によって制御される。
した処理はマイクロコンピュータのプログラム命令の実
行によって制御される。
【0092】
【発明の効果】以上説明したように、本発明によれば、
小容量の高速メモリと、大容量の通常メモリを組み合わ
せたシステムを用い、比較的低コストに比較的高速なM
PEGデコーダ・ソフトウェアを提供できるという効果
を奏する。
小容量の高速メモリと、大容量の通常メモリを組み合わ
せたシステムを用い、比較的低コストに比較的高速なM
PEGデコーダ・ソフトウェアを提供できるという効果
を奏する。
【図1】本発明の第1の実施例の構成を説明するための
図である。
図である。
【図2】本発明の第1の実施例を説明するフロー・チャ
ートである。
ートである。
【図3】ピクチャの依存関係の例を表す図である。
【図4】高速メモリを持つマイクロコンピュータ・シス
テムの構成例を示す図である。
テムの構成例を示す図である。
【図5】本発明の第2の実施例の構成を説明するための
図である。
図である。
【図6】本発明の第2の実施例の動作を説明するフロー
・チャートである。
・チャートである。
【図7】本発明の第2の実施例において、高速メモリ上
のフレーム・バッファを検索する手順を示すフロー・チ
ャートである。
のフレーム・バッファを検索する手順を示すフロー・チ
ャートである。
【図8】本発明の第2の実施例において、通常メモリ上
のフレーム・バッファを検索する手順を示すフロー・チ
ャートである。
のフレーム・バッファを検索する手順を示すフロー・チ
ャートである。
【図9】本発明の第3の実施例の構成を説明するための
図である。
図である。
【図10】本発明の第3の実施例の動作を説明するフロ
ー・チャートである。
ー・チャートである。
【図11】本発明の第3の実施例の動作を説明するフロ
ー・チャートである。
ー・チャートである。
【図12】本発明の第4の実施例として高速メモリの代
わりにキャッシュを使う方式を説明するための図であ
る。
わりにキャッシュを使う方式を説明するための図であ
る。
【図13】マイクロコンピュータ・システムの構成例を
示す図である。
示す図である。
【図14】MPEGビットストリームのデコード手順を
示すフロー・チャートである。
示すフロー・チャートである。
【図15】従来のフレーム・バッファ・プール構成の一
例を示す図である。
例を示す図である。
【図16】従来のフレーム・バッファ・プール管理方法
を説明するためのフロー・チャートである。
を説明するためのフロー・チャートである。
10 フレーム・バッファ管理領域 11 メイン・メモリ 12 高速メモリ 13 通常メモリ 14 高速メモリ上に確保したフレーム・バッファ 15 高速メモリ上に確保したフレーム・バッファ 16 通常メモリ上に確保したフレーム・バッファ 17 通常メモリ上に確保したフレーム・バッファ 40 入出力装置 41 マイクロプロセッサ 42 メイン・メモリ 43 高速メモリ 44 通常メモリ 45 内部バス 46 ビットストリーム 47 デコード画像 48 キャッシュ・メモリ 50 フレーム・バッファ管理領域1 51 フレーム・バッファ管理領域2 52 メイン・メモリ 53 高速メモリ 54 通常メモリ 55 高速メモリ上に確保したフレーム・バッファ 56 高速メモリ上に確保したフレーム・バッファ 57 通常メモリ上に確保したフレーム・バッファ 58 通常メモリ上に確保したフレーム・バッファ 90 フレーム・バッファ管理領域3 91 フレーム・バッファ管理領域4 92 メイン・メモリ 93 高速メモリ 94 通常メモリ 95 高速メモリ上に確保したフレーム・バッファ 96 高速メモリ上に確保したフレーム・バッファ 97 通常メモリ上に確保したフレーム・バッファ 98 通常メモリ上に確保したフレーム・バッファ 99 通常メモリ上に確保したフレーム・バッファ 100 通常メモリ上に確保したフレーム・バッファ 101 通常メモリ上に確保したフレーム・バッファ 130 フレーム・バッファ管理領域 131 メイン・メモリ 132 メイン・メモリ上に確保したフレーム・バッフ
ァ 133 メイン・メモリ上に確保したフレーム・バッフ
ァ 134 メイン・メモリ上に確保したフレーム・バッフ
ァ 135 フラグ 136 開始アドレス 501 フラグ 502 開始アドレス 511 フラグ 512 開始アドレス 901 フラグ 902 開始アドレス 911 フラグ 912 開始アドレス
ァ 133 メイン・メモリ上に確保したフレーム・バッフ
ァ 134 メイン・メモリ上に確保したフレーム・バッフ
ァ 135 フラグ 136 開始アドレス 501 フラグ 502 開始アドレス 511 フラグ 512 開始アドレス 901 フラグ 902 開始アドレス 911 フラグ 912 開始アドレス
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−189292(JP,A) 特開 平7−264581(JP,A) 特開 平8−280025(JP,A) 特開 平9−172601(JP,A) 特開 平10−42288(JP,A) 特開 平10−93961(JP,A) 日経エレクトロニクス、No.582、 p.64−65 日経エレクトロニクス、No.602、 p.130−133 (58)調査した分野(Int.Cl.6,DB名) H04N 7/24 - 7/68
Claims (11)
- 【請求項1】MPEG規格によって圧縮されたビットス
トリームを伸長する装置において、高速型メモリと通常
型メモリが混在するメモリ・システムを備え、 MPEGで規定されるIピクチャおよびPピクチャを格
納するフレーム・バッファを前記高速型メモリ上に優先
して確保する、ことを特徴とする装置。 - 【請求項2】請求項1の装置において、 フレーム・バッファの割り当てを単一のフレーム・バッ
ファ管理領域により管理し、 前記フレーム・バッファ管理領域のエントリのうち、先
頭部分に、前記高速型メモリ上のフレーム・バッファを
登録し、それらより後のエントリに、前記通常型メモリ
上のフレーム・バッファを登録し、 IピクチャおよびPピクチャを格納するフレーム・バッ
ファを確保するときには、前記フレーム・バッファ管理
領域の先頭のエントリから昇順に検索し、 Bピクチャを格納するフレーム・バッファを確保すると
きは、前記フレーム・バッファ管理領域最後のエントリ
から降順に検索する、ことを特徴とする装置。 - 【請求項3】請求項1の装置において、 フレーム・バッファの割り当てを、前記高速型メモリ上
のフレーム・バッファの割り当てを管理するフレーム・
バッファ管理領域と、前記通常型メモリ上のフレーム・
バッファの割り当てを管理するフレーム・バッファ管理
領域により管理し、 IピクチャおよびPピクチャを格納するフレーム・バッ
ファを確保するには、前記高速型メモリ上のフレーム・
バッファの割り当てを管理するフレーム・バッファ管理
領域を先に、前記通常型メモリ上のフレーム・バッファ
の割り当てを管理するフレーム・バッファ管理領域を後
に検索し、 Bピクチャを格納するフレーム・バッファを確保するに
は、前記通常型メモリ上のフレーム・バッファの割り当
てを管理するフレーム・バッファ管理領域を先に、前記
高速型メモリ上のフレーム・バッファの割り当てを管理
するフレーム・バッファ管理領域を後に検索する、こと
を特徴とする装置。 - 【請求項4】請求項1記載の装置において、 フレーム・バッファの割り当てを、IピクチャまたはP
ピクチャに割り当てるフレーム・バッファの割り当てを
管理するフレーム・バッファ管理領域と、Bピクチャに
割り当てるフレーム・バッファの割り当てを管理するフ
レーム・バッファ管理領域により管理し、 双方のフレーム・バッファ管理領域のエントリの先頭
に、最低1枚ずつ高速型メモリ上に確保したフレーム・
バッファを登録し、 IピクチャまたはPピクチャを格納するフレーム・バッ
ファを確保するときは、IピクチャまたはPピクチャに
割り当てるフレーム・バッファの割り当てを管理するフ
レーム・バッファ管理領域をエントリ先頭から昇順に検
索し、 Bピクチャを格納するフレーム・バッファはBピクチャ
に割り当てるフレーム・バッファの割り当てを管理する
フレーム・バッファ管理領域をエントリ先頭から昇順に
検索する、ことを特徴とする装置。 - 【請求項5】請求項2、3、4のいずれか一に記載の装
置において、 キャッシュ・メモリの一部をロックし、リプレースされ
ないようにして、前記高速型メモリの代わりに使用す
る、ことを特徴とする装置。 - 【請求項6】相対的に小容量の高速型メモリと大容量の
通常型メモリが混在するメモリ・システムを備え、MP
EG規格によって圧縮されたビットストリームを伸長す
る装置におけるフレーム・バッファの管理方法であっ
て、 フレーム・バッファの割り当てを単一のフレーム・バッ
ファ管理領域により管理し、前記フレーム・バッファ管
理領域のエントリのうち、先頭部分に、前記高速型メモ
リ上のフレーム・バッファを登録し、それらより後のエ
ントリに、前記通常型メモリ上のフレーム・バッファを
登録し、 IピクチャおよびPピクチャを格納するフレーム・バッ
ファを確保するときには、前記フレーム・バッファ管理
領域の先頭のエントリから昇順に検索し、 Bピクチャを格納するフレーム・バッファを確保すると
きは、前記フレーム・バッファ管理領域最後のエントリ
から降順に検索する、ことを特徴とするフレーム・バッ
ファ管理方法。 - 【請求項7】相対的に小容量の高速型メモリと大容量の
通常型メモリが混在するメモリ・システムを備え、MP
EG規格によって圧縮されたビットストリームを伸長す
る装置におけるフレーム・バッファの管理方法であっ
て、 フレーム・バッファの割り当てを、前記高速型メモリ上
のフレーム・バッファの割り当てを管理するフレーム・
バッファ管理領域と、前記通常型メモリ上のフレーム・
バッファの割り当てを管理するフレーム・バッファ管理
領域により管理し、 IピクチャおよびPピクチャを格納するフレーム・バッ
ファを確保するには、前記高速型メモリ上のフレーム・
バッファの割り当てを管理するフレーム・バッファ管理
領域を先に、前記通常型メモリ上のフレーム・バッファ
の割り当てを管理するフレーム・バッファ管理領域を後
に検索し、 Bピクチャを格納するフレーム・バッファを確保するに
は、前記通常型メモリ上のフレーム・バッファの割り当
てを管理するフレーム・バッファ管理領域を先に、前記
高速型メモリ上のフレーム・バッファの割り当てを管理
するフレーム・バッファ管理領域を後に検索する、こと
を特徴とするフレーム・バッファ管理方法。 - 【請求項8】相対的に小容量の高速型メモリと大容量の
通常型メモリが混在するメモリ・システムを備え、MP
EG規格によって圧縮されたビットストリームを伸長す
る装置におけるフレーム・バッファの管理方法であっ
て、 フレーム・バッファの割り当てを、IピクチャまたはP
ピクチャに割り当てるフレーム・バッファの割り当てを
管理するフレーム・バッファ管理領域と、Bピクチャに
割り当てるフレーム・バッファの割り当てを管理するフ
レーム・バッファ管理領域により管理し、 双方のフレーム・バッファ管理領域のエントリの先頭
に、最低1枚ずつ高速型メモリ上に確保したフレーム・
バッファを登録し、 IピクチャまたはPピクチャを格納するフレーム・バッ
ファを確保するときは、IピクチャまたはPピクチャに
割り当てるフレーム・バッファの割り当てを管理するフ
レーム・バッファ管理領域をエントリ先頭から昇順に検
索し、 Bピクチャを格納するフレーム・バッファはBピクチャ
に割り当てるフレーム・バッファの割り当てを管理する
フレーム・バッファ管理領域をエントリ先頭から昇順に
検索する、ことを特徴とするフレーム・バッファ管理方
法。 - 【請求項9】相対的に小容量の高速型メモリと大容量の
通常型メモリが混在するメモリ・システムを備え、MP
EG規格によって圧縮されたビットストリームを伸長す
る処理装置上で実行されてフレーム・バッファの管理を
行うプログラムであって、 フレーム・バッファの割り当てを単一のフレーム・バッ
ファ管理領域により管理し、前記フレーム・バッファ管
理領域のエントリのうち、先頭部分に、前記高速型メモ
リ上のフレーム・バッファを登録し、それらより後のエ
ントリに、前記通常型メモリ上のフレーム・バッファを
登録し、 IピクチャおよびPピクチャを格納するフレーム・バッ
ファを確保するときには、前記フレーム・バッファ管理
領域の先頭のエントリから昇順に検索し、 Bピクチャを格納するフレーム・バッファを確保すると
きは、前記フレーム・バッファ管理領域最後のエントリ
から降順に検索する、 前記各処理を前記処理装置に実行させるプログラムを記
録した記録媒体。 - 【請求項10】相対的に小容量の高速型メモリと大容量
の通常型メモリが混在するメモリ・システムを備え、M
PEG規格によって圧縮されたビットストリームを伸長
する処理装置上で実行されてフレーム・バッファの管理
を行うプログラムであって、 フレーム・バッファの割り当てを、前記高速型メモリ上
のフレーム・バッファの割り当てを管理するフレーム・
バッファ管理領域と、前記通常型メモリ上のフレーム・
バッファの割り当てを管理するフレーム・バッファ管理
領域により管理し、 IピクチャおよびPピクチャを格納するフレーム・バッ
ファを確保するには、前記高速型メモリ上のフレーム・
バッファの割り当てを管理するフレーム・バッファ管理
領域を先に、前記通常型メモリ上のフレーム・バッファ
の割り当てを管理するフレーム・バッファ管理領域を後
に検索し、 Bピクチャを格納するフレーム・バッファを確保するに
は、前記通常型メモリ上のフレーム・バッファの割り当
てを管理するフレーム・バッファ管理領域を先に、前記
高速型メモリ上のフレーム・バッファの割り当てを管理
するフレーム・バッファ管理領域を後に検索する、 前記各処理を前記処理装置で実行させるプログラムを格
納した記録媒体。 - 【請求項11】相対的に小容量の高速型メモリと大容量
の通常型メモリが混在するメモリ・システムを備え、M
PEG規格によって圧縮されたビットストリームを伸長
する処理装置上で実行されてフレーム・バッファの管理
を行うプログラムであって、 フレーム・バッファの割り当てを、IピクチャまたはP
ピクチャに割り当てるフレーム・バッファの割り当てを
管理するフレーム・バッファ管理領域と、Bピクチャに
割り当てるフレーム・バッファの割り当てを管理するフ
レーム・バッファ管理領域により管理し、 双方のフレーム・バッファ管理領域のエントリの先頭
に、最低1枚ずつ高速型メモリ上に確保したフレーム・
バッファを登録し、 IピクチャまたはPピクチャを格納するフレーム・バッ
ファを確保するときは、IピクチャまたはPピクチャに
割り当てるフレーム・バッファの割り当てを管理するフ
レーム・バッファ管理領域をエントリ先頭から昇順に検
索し、 Bピクチャを格納するフレーム・バッファはBピクチャ
に割り当てるフレーム・バッファの割り当てを管理する
フレーム・バッファ管理領域をエントリ先頭から昇順に
検索する、 前記各処理を前記処理装置で実行させるプログラムを格
納した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2593997A JP2973964B2 (ja) | 1997-01-24 | 1997-01-24 | フレーム・バッファ管理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2593997A JP2973964B2 (ja) | 1997-01-24 | 1997-01-24 | フレーム・バッファ管理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10210484A JPH10210484A (ja) | 1998-08-07 |
JP2973964B2 true JP2973964B2 (ja) | 1999-11-08 |
Family
ID=12179735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2593997A Expired - Lifetime JP2973964B2 (ja) | 1997-01-24 | 1997-01-24 | フレーム・バッファ管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2973964B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1079632A1 (en) | 1999-03-08 | 2001-02-28 | Sony Corporation | Digital signal processing device and method, and providing medium |
EP1383339A1 (en) | 2002-07-15 | 2004-01-21 | Matsushita Electric Industrial Co., Ltd. | Memory management method for video sequence motion estimation and compensation |
JP4884290B2 (ja) * | 2007-05-07 | 2012-02-29 | パナソニック株式会社 | 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム |
US9253496B2 (en) | 2008-12-12 | 2016-02-02 | Qualcomm Incorporated | Intelligent decoded picture buffering |
WO2011118199A1 (ja) * | 2010-03-24 | 2011-09-29 | パナソニック株式会社 | 表示切替装置 |
JP5867050B2 (ja) * | 2011-12-14 | 2016-02-24 | 富士通株式会社 | 画像処理装置 |
-
1997
- 1997-01-24 JP JP2593997A patent/JP2973964B2/ja not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
日経エレクトロニクス、No.582、p.64−65 |
日経エレクトロニクス、No.602、p.130−133 |
Also Published As
Publication number | Publication date |
---|---|
JPH10210484A (ja) | 1998-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6384846B1 (en) | Methods and apparatus for rendering multiple images using a limited rendering resource | |
US7016418B2 (en) | Tiled memory configuration for mapping video data and method thereof | |
US7898547B2 (en) | Memory controller for handling multiple clients and method thereof | |
US7190883B2 (en) | Systems and methods for fast random access and backward playback of video frames using decoded frame cache | |
US8140818B2 (en) | Method and system for scalable video data width | |
JP3120773B2 (ja) | 画像処理装置 | |
US20030121044A1 (en) | System and method for enhancing performance of personal video recording (PVR) functions on hits digital video streams | |
US20080259089A1 (en) | Apparatus and method for performing motion compensation by macro block unit while decoding compressed motion picture | |
US20060023789A1 (en) | Decoding device and decoding program for video image data | |
JPH05183757A (ja) | 画像処理方法及び装置 | |
US8010746B2 (en) | Data processing apparatus and shared memory accessing method | |
JP2973964B2 (ja) | フレーム・バッファ管理方式 | |
US6486918B1 (en) | Method for storing video frame data in a memory | |
US8300701B2 (en) | Offspeed playback in a video editing system of video data compressed using long groups of pictures | |
JP3961654B2 (ja) | 画像データ復号化装置及び画像データ復号化方法 | |
JPH08149416A (ja) | 動画像復号化方法並びにその装置 | |
US7974523B2 (en) | Optimal buffering and scheduling strategy for smooth reverse in a DVD player or the like | |
JP3322233B2 (ja) | 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体 | |
US20050089097A1 (en) | Memory management method for storing motion vectors of decoded macroblocks | |
US20020071060A1 (en) | Video processor using shared memory space | |
US8948263B2 (en) | Read/write separation in video request manager | |
US8577209B2 (en) | Method for utilizing at least one storage space sharing scheme to manage storage spaces utilized by video playback operation and related video playback apparatus thereof | |
EP1091591A1 (en) | Allocation of storage sub-areas for frame buffer in an MPEG decoder | |
JP3307822B2 (ja) | 画像処理装置 | |
JP7149809B2 (ja) | 画像記録装置、その制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990803 |