JP4180547B2 - 動画像データ復号装置、および復号プログラム - Google Patents

動画像データ復号装置、および復号プログラム Download PDF

Info

Publication number
JP4180547B2
JP4180547B2 JP2004218648A JP2004218648A JP4180547B2 JP 4180547 B2 JP4180547 B2 JP 4180547B2 JP 2004218648 A JP2004218648 A JP 2004218648A JP 2004218648 A JP2004218648 A JP 2004218648A JP 4180547 B2 JP4180547 B2 JP 4180547B2
Authority
JP
Japan
Prior art keywords
data
reference macroblock
macroblock
preload
row
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 - Fee Related
Application number
JP2004218648A
Other languages
English (en)
Other versions
JP2006041898A (ja
Inventor
和博 山下
健二 折田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004218648A priority Critical patent/JP4180547B2/ja
Priority to US11/020,109 priority patent/US7447266B2/en
Publication of JP2006041898A publication Critical patent/JP2006041898A/ja
Application granted granted Critical
Publication of JP4180547B2 publication Critical patent/JP4180547B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は動画像の圧縮方式に係り、さらに詳しくはフレーム間予測方式を用いて符号化されたビットストリームを、キャッシュメモリを備えるプロセッサシステム上で高速に復号処理する動画像データ復号装置、および復号プログラムに関する。
近年、動画像データがデジタルデータとして表現され、デジタルメディアへの蓄積やネットワーク通信による映像配信、衛星を通じたデジタルテレビ放送などに利用されている。一般に動画像データはその量が膨大であり、圧縮符号化技術を用いてデータ量の圧縮が行われ、その再生時には復号されて動画像が表示される。国際標準の動画像圧縮規格としてのMPEG(ムービング・ピクチャー・エキスパート・グループ)方式では動画像データはビットストリーム形式に符号化される。
図12はフレーム間予測方式の概要の説明図である。フレーム画像は縦16画素、横16画素の矩形領域サイズのマクロブロックという単位に分割され、フレーム間予測がマクロブロック単位に行われる。フレーム間予測方式では符号化時に入力マクロブロックの各画素の画素値から参照画像マクロブロックの各画素値が減算された差分値が符号化される。
ここで参照画像マクロブロックとは、入力画像ブロックから動きベクトル情報によって指示される領域の画像データをマクロブロックサイズで取り出したものであり、この動きベクトル情報は差分値とともに復号器に与えられる。復号器では差分値と参照画像マクロブロックの画素値とを合成することによって復号画像マクロブロックを得ることが可能になる。
図13はこの復号処理、すなわち動き補償処理の説明図であり、図14は動き補償処理の従来例のフローチャートである。図14のフローチャートを中心に説明すると、まずステップS1で符号化ビットストリーム、すなわち符号化されて送られてきたビットストリームの解析が行われ、ステップS2で動きベクトルが取得され、ステップS3でその動きベクトルに対応して参照フレーム上の参照マクロブロックの位置が決定され、ステップS4で参照マクロブロックのプリロードが行われる。このプリロードはプロセッサ内のキャッシュメモリに参照マクロブロックの画像データが格納されていない時に、そのデータを外部のメモリからロードするためのものである。一般に動画像データはその量が膨大であり、参照マクロブロック内のすべての画素に対応する画素データがキャッシュメモリに格納されている確率は少なく、キャッシュミスによる性能低下を防ぐためにここでプリロードの命令が発行される。
続いてステップS5でマクロブロック間の差分値、すなわち図12で説明した入力画像ブロックと参照画像マクロブロックとの差分値がビットストリームから取得され、ステップS6で差分値の画素データと参照マクロブロックの画素データが合成されて復号マクロブロックが生成され、ステップS7でフレーム内のすべてのマクロブロックに対する復号が終了したか否かが判定され、また終了していない場合にはステップS2以降の処理が次の復号位置のマクロブロックに対して繰り返され、すべてのマクロブロックに対する復号が終了したと判定されるとステップS8で復号フレーム画像が出力されて処理を終了する。
このように動画像の復号処理には、そのデータ量が膨大なために大きな演算量が要求されるが、近年プロセッサが組み込まれた各種の機器においても動画像の再生能力が求められている。動画像の再生のためにはキャッシュメモリを備え、そのキャッシュメモリに参照フレームの画像データを復号に先立ってできるだけ格納しておくことが望ましいが、一般に参照フレーム画像のサイズはキャッシュメモリのサイズより膨大であり、また機器の低価格化や低消費電力化を考慮するとキャッシュメモリのサイズを大きくすることには各種の制限が存在する。
このようにキャッシュメモリのサイズに制限があるため、キャッシュミスの発生する確率が大きくなり、キャッシュミスの発生時に外部メモリや主記憶上のデータをロードする時間が長くなり、メモリアクセス性能が低下するという問題点があった。特に動き補償方式を用いる動画像データ復号装置においては、参照フレーム画像に頻繁にアクセスするため、キャッシュミス発生によるメモリアクセス性能の低下によって、復号処理の高速化が妨げられてしまうという問題点があった。
そこでキャッシュミス発生によるアクセス性能低下を防止するために、前述のように参照マクロブロックの位置が決定された時点で、参照マクロブロックのデータをキャッシュメモリに格納するためのプリロード処理が行われる。プロセッサはプリロード命令を発行した後には、別の処理を実行することができ、データアクセス時間を隠蔽することができる。
しかしながらこのようなプリロードを行う場合にも、参照マクロブロックの位置によっては必要な領域のプリロードが行われなかったり、すでにロード済みの領域を未だプリロードされていない領域よりも先にプリロードしてしまい、結果的にメモリアクセス性能が低下するという問題点があった。
図15、および図16はこのようなプリロード方式の従来例における問題点の説明図である。図15においては、参照マクロブロックの行内にキャッシュライン境界があり、参照マクロブロックがキャッシュラインをまたがっている時に、キャッシュライン境界を超えた領域がプリロードされず、キャッシュミスが発生してしまう場合を示す。すなわち同図において、プリロード指定アドレスが参照マクロブロック(参照矩形領域)の行の先頭のアドレスに設定されるために、キャッシュライン境界を越える前の領域としてのA領域はプリロードされるが、キャッシュライン境界を超えたB領域はプリロードされず、プリロード後にキャッシュミスが発生し、メモリアクセス性能が低下してしまうことになる。
図16はすでにプリロード済みの領域を、未だプリロードされていない領域より先にプリロードしてしまう場合の例である。同図において点線で囲まれたマクロブロックは、直前のマクロブロックの復号時に参照された参照マクロブロックを示し、この直前のマクロブロックに含まれる行については、キャッシュライン境界までの部分がすでにプリロードされている。従って同図においてA領域は直前の参照マクロブロックと重複する領域であり、B領域は重複する領域ではないが、すでに直前のマクロブロックのプリロード時にプリロード済みの領域である。
これに対してC領域は、今回の参照マクロブロックのプリロード時にプリロードしなければならない領域を示す。参照マクロブロックのプリロードは従来では上の行から順番にプリロードが行われていたために、図16では(1)の行からプリロードが行われる。このため実際にプリロードが必要な(3)、および(4)の行のプリロードは後になり、プリロードと並行して実行される別処理の時間が短い場合には、(3)、(4)の行がプリロードされない状態でプリロード処理が終わってしまい、結果的にキャッシュミスが発生し、メモリアクセス性能が低下することがある。
このような動き補償方式を用いた画像データの復号や、それに関連するキャッシュメモリの制御について次のような従来技術がある。
特開平4−170654号公報 「キャッシュメモリ制御方式」 特開平6−180669号公報 「キャッシュシステム」 特開平11−215509号公報 「動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体」
特許文献1には、1つの画像データにおいて1ライン分のデータ長が一定で、かつ各画像データ毎に1ラインのデータ長が不定の場合に、1ラインのデータ長をキャッシュメモリの1エントリのデータ長として指定することにより、キャッシュのヒット率をあげることができるキャッシュメモリ制御方式が開示されている。
特許文献2には、キャッシュミスの時に、メインメモリの上では不連続であるが、表示画面上ではキャッシュミスとなったデータの周辺に位置するデータをキャッシュメモリに記憶させることによってヒット率を向上させる技術が開示されている。
特許文献3には、動きベクトルが指す参照領域の右側に隣接する領域のアドレスに対応して、その領域のデータをキャッシュにプリロードすることによって、次のマクロブロックの伸長時におけるキャッシュヒットの確率を高くし、動き補償処理を高速化できる技術が開示されている。
しかしながらこのような従来技術においても、図15で説明したキャッシュライン境界を越えた領域がプリロードされないという問題点や、図16で説明したすでにプリロード済みの領域がまだプリロードされていない領域よりも先にプリロードされるという問題点を解決することができなかった。
本発明の第1の課題は、参照マクロブロック内の行がキャッシュライン境界を含んでいる場合にも参照マクロブロックのプリロード後のキャッシュミスを低減することであり、第2の課題は参照マクロブロック内ですでにプリロード済みの領域よりも未だプリロードされていない領域を先にプリロードすることであり、これらの課題を解決することによって動画像データ復号時におけるメモリアクセス性能を向上させることである。
図1は、本発明の動画像データ復号装置の原理構成ブロック図である。同図において復号装置1は動き補償方式を用いるものであり、キャッシュメモリ2、参照マクロブロック位置決定手段3、およびプリロードアドレス指定手段4を備える。
キャッシュメモリ2は画像データを一時的に格納するものであり、参照マクロブロック位置決定手段3は、符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定するものであり、プリロードアドレス指定手段4は参照マクロブロックのデータがキャッシュメモリ2に格納されていない時に、その参照マクロブロックがキャッシュライン境界を含んでいるか判定し、含んでいる場合にそのキャッシュライン境界の位置を参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定するものである。
本発明の動画像データ復号装置は、前述のキャッシュメモリ、参照マクロブロック位置決定手段、およびプリロード行優先順位決定手段を備える。
プリロード行優先順位決定手段は、参照マクロブロックのデータがキャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置と今回の参照マクロブロックの位置とを比較していずれが画面上で上にあるかを判定し、今回の参照マクロブロックの位置が上にある時、その参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、今回の参照マクロブロックの位置が下にある時、下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定するものである。
次に本発明の動画像データ復号を行う計算機によって使用されるプログラムは、符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する手順と、参照マクロブロックのデータがキャッシュメモリに格納されていない時に、その参照マクロブロックがキャッシュライン境界を含んでいるかを判定し、含んでいる場合にそのキャッシュライン境界の位置を参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定する手順とを計算機に実行させるものである。
また次に本発明において動き補償方式を用いて動画像データを復号する計算機によって使用されるプログラムは、前述の参照マクロブロックの位置を決定する手順と、参照マクロブロックのデータがキャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置より今回の参照マクロブロックの位置が画面上で上にあるかを判定し、上にある時にはその参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、下にある時には下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定するプリロード行優先順位決定手順とを計算機に実行させるものである。
発明の実施の形態においては、動き補償方式を用いて動画像データの復号を行う計算機によって使用されるプログラムは、前述の参照マクロブロック位置決定手順と、プリロード先頭アドレス指定手順と、プリロード行優先順位決定手順とを計算機に実行させるプログラムであることもできる。
また実施の形態においては、以上のようなプログラムを格納した計算機読出し可能可搬型記憶媒体を用いることも、また以上のようなプログラムにおける手順を次々と実行する動画像データ復号方法を用いることもできる。
本発明によれば、動画像データ復号処理におけるキャッシュミス発生率を低減させることができ、メモリアクセス性能が向上し、各種の動画像再生機器の性能向上に寄与するところが大きい。
図2は本発明の動画像データ復号装置の基本構成ブロック図である。同図において復号装置はプロセッサ10、大容量メモリ11、および動画像表示器12によって基本的に構成されている。プロセッサ10はプロセッサコア14とキャッシュメモリ15とを備えており、また大容量メモリ11はビットストリーム格納メモリ17、参照画像格納メモリ18、および復号済み画像格納メモリ19を備えている。
図3は本実施形態における復号時のマクロブロック走査方式の説明図である。本実施形態では、復号フレーム画像の内部で復号マクロブロックを一般的な走査方向に従って走査するものとする。すなわち最も上の行から始め、(1)、(2)、および(3)のように左端から右方向に1つずつマクロブロックの走査を行い、マクロブロック単位の画像データの復号を行う。その後2行目についても同様に左端のマクロブロックから、右方向に走査が行われるものとする。
図4、および図5は本実施形態における動き補償方式を用いる動画像データ復号方式の処理フローチャートである。同図を図14で説明した従来例のフローチャートと比較すると、ステップS3で参照マクロブロックの位置が決定された後に、ステップS9で参照マクロブロックが図15で説明したようにキャッシュライン境界をまたがっているかが判定され、またがっている場合にはステップS10でその参照マクロブロックの各行に対するデータのプリロード指定アドレスが変更され、さらにその後ステップS11で前回参照したマクロブロック、すなわち図3で説明したマクロブロックの走査方式において、現在復号対象となっているマクロブロックの1つ左側のマクロブロックの復号時における参照マクロブロックの位置と、今回参照すべきマクロブロックとの位置関係に基づいて参照マクロブロック内の行のプリロードの優先順位が決定され、その後図14におけると同様にステップS4以降の処理が実行される点が異なっている。なおステップS3で参照マクロブロックの位置が決定された時点で、従来例と同様にその先頭がプリロード指定アドレスとして一旦決定され、キャッシュライン境界をまたがっていない場合にはその変更は行われないものとする。
図6は、図4のステップS9における参照マクロブロックがキャッシュライン境界をまたがっているかの判定と、ステップS10におけるプリロード指定アドレスを変更する処理の詳細フローチャートである。同図を図7の参照マクロブロックがキャッシュライン境界をまたがっている場合のアドレスの説明図を用いて説明する。まず図7において参照マクロブロック内の上端行の開始アドレスはA番地であり、その行の後尾アドレスはB番地であるとする。キャッシュライン境界はC番地にあり、このC番地がA番地とB番地との間にあることから、参照マクロブロックがキャッシュライン境界をまたがっている、すなわち参照マクロブロックの行がキャッシュライン境界を含んでいるものと判定される。
図6のステップS21で参照キャッシュライン境界マクロブロックの行の先頭アドレスが算出され、そのアドレスがA番地とされ、ステップS22で参照マクロブロックの行の後尾アドレスが算出され、そのアドレスがB番地とされる。そしてステップS23でA番地とB番地の間にキャッシュライン境界が存在するか否かが判定され、存在する時にはその番地がC番地として求められ、ステップS24でキャッシュライン境界をまたがっていると判定され、ステップS25でプリロード指定アドレス、すなわちプリロード時における先頭アドレスが従来例におけるA番地から変更されてC番地とされる。ステップS23でA番地とB番地の間にキャッシュライン境界が存在しない時には、ステップS26でキャッシュライン境界をまたがっていないと判定され、ステップS27でプリロード指定アドレスが行の先頭アドレス、すなわちA番地とされる。なお図4のステップS10は図6ではステップS25のみに相当し、図6のその他のステップが図5のステップS11に続く部分を含めて図4のステップS9に相当する。
図7で説明したようにキャッシュライン境界をまたがっている場合には、プリロード先頭アドレスをC番地とすることによってその行のその前の領域、すなわち図7のA領域が今回のマクロブロックに対する復号処理ではプリロードされないことになる。従ってこのA領域に対応してキャッシュミスが発生する確率が存在するが、図3で説明したようなマクロブロックの走査方法をとること、すなわち行の左端のマクロブロックから復号を行うことによって、動きベクトルを考慮しても参照フレーム画像のマクロブロックの中で右端に近いマクロブロックよりも左端に近いマクロブロックの方がプリロード済みである確率が高く、従って図7においてもA領域は参照マクロブロックの左側にあることからこのA領域のデータはすでにキャッシュメモリにプリロード済みとなっている確率が高い。本実施形態ではこのような動画像データ処理の特性に対応してデータのプリロード命令を発行することによって、キャッシュミスの発生が低減されることが期待される。
図8は図5のステップS11における処理、すなわち行のプリロード優先順位決定処理の詳細フローチャートである。同図を図9、および図10のマクロブロック内の行のプリロード優先順位決定例の説明図を用いて説明する。
図9は参照マクロブロック内で下端行を優先して行のプリロード順位を決定する例の説明図である。同図において点線のマクロブロックは、前回、すなわち直前の参照マクロブロックの領域を示し、この領域のデータはすでにキャッシュメモリにプリロード済みである。今回の参照マクロブロックの上端の位置、すなわちrefBの位置は前回の参照マクロブロックの上端の位置refAの位置より下にあるものとする。
前回のデータプリロードの処理において前回の参照マクロブロックの下の2行分のデータはキャッシュライン境界までプリロードされており、今回の参照マクロブロックのうちで上の2行分のデータのプリロードは不必要である。この2行のうちA領域は参照マクロブロックの重複領域であり、B領域は重複はしていないが、すでに今回の参照マクロブロックの右端を越えてキャッシュライン境界までデータのプリロードが行われている領域である。
従って今回の参照マクロブロックのデータのプリロードに当っては、未だプリロードされていない行、すなわち下側の行のプリロードを行う必要があり、下端行を優先して下端行から順次上の方に各行のデータのプリロードを実行することによって、プリロード処理のためにとることができる時間が短くても必要なデータのプリロードを終了できる可能性が大きくなる。
図10においては、直前の参照マクロブロックよりも今回の参照マクロブロックが上にある場合を示し、このような場合には図9における説明と反対に今回の参照マクロブロックの上端行から順次下の行のデータをプリロードすることによって、すでにプリロード済みの領域よりも未だプリロードされていない領域のデータのプリロードを確実に実行することが可能となる。
図8においてまずステップS31で現在復号対象となっているマクロブロックがピクチャ先頭、すなわちフレームの先頭、図3では(1)の位置のマクロブロックであるか否かが判定される。先頭のマクロブロックである場合には、前回の参照マクロブロックの位置を問題とする必要はなく、ステップS38でプリロードにおける行の優先順位を特に判定する必要もなく、上端行から下端行の方向、または下端行から上端行の方向のどちらであってもプリロード順が許可される。
ピクチャ先頭のマクロブロックでない場合には、ステップS32で装置内に保持されている前回の参照マクロブロックの位置、すなわちrefAの位置が読み出され、ステップS33で動きベクトルに基づいて、今回の参照マクロブロックの位置refBの位置が算出され、ステップS34で次のマクロブロックの復号時の処理に必要となるため、refBの位置が保持され、ステップS35でrefAの位置よりrefBの位置が上か否かが判定され、上の場合には図10に相当することになり、ステップS36で上端行が優先され、順次下端行の方向に行の優先順位が決定され、逆にrefBの位置が下である時にはステップS37で図9の例に相当して下端行が優先され、順次上端行の方向に行の優先順位が決定される。
以上のように本実施形態では、今回の参照マクロブロックの位置と前回の参照マクロブロックの位置との位置関係に対応して、すでにプリロードが行われていると考えられている領域よりも未だプリロードされていないと考えられている領域に対応するデータのプリロードを優先して実行することができ、プリロード処理に十分な時間が取れない場合にも必要な領域をプリロードし損ねるような状況を回避することができ、キャッシュミスの発生を低減させ、メモリアクセス性能をさらに向上させることができる。
以上において本発明の動画像データ復号装置についてその詳細を説明したが、この復号装置は当然一般的なコンピュータシステムを基本として構成することが可能である。図11はそのようなコンピュータシステム、すなわちハードウェア環境の構成ブロック図である。
図11においてコンピュータシステムは中央処理装置(CPU)20、リードオンリメモリ(ROM)21、ランダムアクセスメモリ(RAM)22、通信インタフェース23、記憶装置24、入出力装置25、可搬型記憶媒体の読取り装置26、およびこれらの全てが接続されたバス27によって構成されている。
記憶装置24としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができ、このような記憶装置24、またはROM21に図4〜図6、図8などのフローチャートに示されたプログラムや、本発明の特許請求の範囲の請求項4、5のプログラムなどが格納され、そのようなプログラムがCPU20によって実行されることにより、本実施形態におけるキャッシュライン境界を越えた領域のデータプリロード、およびプリロード済みデータの先行プリロードの防止などが可能となる。
このようなプログラムは、プログラム提供者28からネットワーク29、および通信インタフェース23を介して、例えば記憶装置24に格納されることも、また市販され、流通している可搬型記憶媒体30に格納され、読取り装置26にセットされて、CPU20によって実行されることも可能である。可搬型記憶媒体30としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、DVDなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読取り装置26によって読取られることにより、本実施形態における動画像データ復号時のメモリアクセス性能向上が可能となる。
(付記1) 動き補償方式を用いる動画像データ復号装置であって、
画像データを一時的に格納するキャッシュメモリと、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する参照マクロブロック位置決定手段と、
該参照マクロブロックのデータが前記キャッシュメモリに格納されていない時に、該参照マクロブロックがキャッシュライン境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を該参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定するプリロードアドレス指定手段とを備えることを特徴とする動画像データ復号装置。
(付記2) 動き補償方式を用いる動画像データ復号装置であって、
画像データを一時的に格納するキャッシュメモリと、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する参照マクロブロック位置決定手段と、
該参照マクロブロックのデータが前記キャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置と今回の参照マクロブロックの位置とを比較していずれが画面上で上にあるかを判定し、今回の参照マクロブロックの位置が上にある時には、該参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、今回の参照マクロブロックの位置が下にある時には、下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定するプリロード行優先順位決定手段とを備えることを特徴とする動画像データ復号装置。
(付記3) 前記動画像データ復号装置において、
前記参照マクロブロックがキャッシュライン境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を、前記プリロード行優先順位決定手段によって決定された結果に従って実行されるデータプリロード行内のプリロード先頭アドレスとして指定するプリロードアドレス指定手段をさらに備えることを特徴とする付記2記載の動画像データ復号装置。
(付記4) 動画像データ復号を行う計算機によって使用されるプログラムであって、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する手順と、
該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、該参照マクロブロックがキャッシュラインの境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定する手順とを計算機に実行させるための動画像データ復号プログラム。
(付記5) 動画像データ復号を行う計算機によって使用されるプログラムであって、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する手順と、
該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置より今回の参照マクロブロックの位置が画面上で上にあるかを判定し、上にある時にはその参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、下にある時には下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定するプリロード行優先順位決定手順とを計算機に実行させるための動画像データ復号プログラム。
(付記6) 前記動画像データ復号プログラムにおいて、
前記参照マクロブロックがキャッシュラインの境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を前記プリロード行優先順位決定手順において決定された順位のプリロード行における参照マクロブロックのデータを格納するメモリからのプリロード先頭アドレスとして指定する手順をさらに計算機に実行させるための付記5記載の動画像データ復号プログラム。
(付記7) 動き補償方式を用いる動画像データ復号方法であって、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定し、
該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、該参照マクロブロックがキャッシュライン境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を該参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定することを特徴とする動画像データ復号方法。
(付記8) 動き補償方式を用いる動画像データ復号方法であって、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定し、
該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置と今回の参照マクロブロックの位置とを比較していずれが画面上で上にあるかを判定し、今回の参照マクロブロックの位置が上にある時には、該参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、今回の参照マクロブロックの位置が下にある時には、下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定することを特徴とする動画像データ復号方法。
(付記9) 前記動画像データ復号方法において、
前記参照マクロブロックがキャッシュライン境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を、前記行のデータプリロード順位の決定結果に従って実行されるデータプリロード行内のプリロード先頭アドレスとして指定することを特徴とする付記8記載の動画像データ復号方法。
(付記10) 動画像データ復号を行う計算機によって使用される記憶媒体であって、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定するステップと、
該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、該参照マクロブロックがキャッシュラインの境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定するステップとを計算機に実行させるための動画像データ復号プログラムを格納した計算機読出し可能可搬型記憶媒体。
(付記11) 動画像データ復号を行う計算機によって使用される記憶媒体であって、
符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定するステップと、
該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置より今回の参照マクロブロックの位置が画面上で上にあるかを判定し、上にある時にはその参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、下にある時には下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定するプリロード行優先順位決定ステップとを計算機に実行させるための動画像データ復号プログラムを格納した計算機読出し可能可搬型記憶媒体。
(付記12) 前記参照マクロブロックがキャッシュラインの境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を、前記プリロード行優先順位決定ステップにおいて決定された順位のプリロード行における参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定するステップをさらに計算機に実行させるための動画像データ復号プログラムを格納した付記11記載の計算機読出し可能可搬型記憶媒体。
本発明の動画像データ復号装置の基本構成ブロック図である。 動画像データ復号装置のシステム構成を示すブロック図である。 本実施形態における復号時のマクロブロック走査方法の説明図である。 本実施形態における動画像データ復号処理の詳細フローチャートである。 本実施形態における動画像データ復号処理の詳細フローチャート(続き)である。 図4におけるステップS9とステップS10の処理の詳細フローチャートである。 参照マクロブロックがキャッシュライン境界をまたがっている場合のプリロード指定アドレス設定法の説明図である。 図5における参照マクロブロック内の行のプリロード優先順位決定処理の詳細フローチャートである。 今回の参照マクロブロックの位置が前回よりも下にある場合の行のプリロード優先順位決定例の説明図である。 今回の参照マクロブロックの位置が前回よりも上にある場合の行のプリロード優先順位決定例の説明図である。 本発明を実現するためのプログラムのコンピュータへのローディングを説明する図である。 フレーム間予測方式の説明図である。 従来の動き補償処理方式の説明図である。 従来の動画像データ復号処理のフローチャートである。 参照マクロブロックがキャッシュライン境界をまたがっている場合の従来の処理を説明する図である。 従来においてプリロード不必要な領域から先にデータのプリロードを行ってしまう場合の例の説明図である。
符号の説明
1 動画像データ復号装置
2、15 キャッシュメモリ
3 参照マクロブロック位置決定手段
4 プリロードアドレス指定手段
10 プロセッサ
11 大容量メモリ
12 動画像表示器
14 プロセッサコア
17 ビットストリーム格納メモリ
18 参照画像格納メモリ
19 復号済み画像格納メモリ
20 中央処理装置(CPU)
21 リードオンリメモリ(ROM)
22 ランダムアクセスメモリ(RAM)
23 通信インタフェース
24 記憶装置
25 入出力装置
26 読み取り装置
27 バス
28 プログラム提供者
29 ネットワーク
30 可搬型記憶媒体

Claims (5)

  1. 動き補償方式を用いる動画像データ復号装置であって、
    画像データを一時的に格納するキャッシュメモリと、
    符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する参照マクロブロック位置決定手段と、
    該参照マクロブロックのデータが前記キャッシュメモリに格納されていない時に、該参照マクロブロックがキャッシュライン境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を該参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定するプリロードアドレス指定手段とを備えることを特徴とする動画像データ復号装置。
  2. 動き補償方式を用いる動画像データ復号装置であって、
    画像データを一時的に格納するキャッシュメモリと、
    符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する参照マクロブロック位置決定手段と、
    該参照マクロブロックのデータが前記キャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置と今回の参照マクロブロックの位置とを比較していずれが画面上で上にあるかを判定し、今回の参照マクロブロックの位置が上にある時には、該参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、今回の参照マクロブロックの位置が下にある時には、下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定するプリロード行優先順位決定手段とを備えることを特徴とする動画像データ復号装置。
  3. 前記動画像データ復号装置において、
    前記参照マクロブロックがキャッシュライン境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を、前記プリロード行優先順位決定手段によって決定された結果に従って実行されるデータプリロード行内のプリロード先頭アドレスとして指定するプリロードアドレス指定手段をさらに備えることを特徴とする請求項2記載の動画像データ復号装置。
  4. 動画像データ復号を行う計算機によって使用されるプログラムであって、
    符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する手順と、
    該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、該参照マクロブロックがキャッシュラインの境界を含んでいるかを判定し、含んでいる場合に該キャッシュライン境界の位置を参照マクロブロックのデータを格納するメモリからのデータプリロード先頭アドレスとして指定する手順とを計算機に実行させるための動画像データ復号プログラム。
  5. 動画像データ復号を行う計算機によって使用されるプログラムであって、
    符号化ビットストリームを解析して得られる動きベクトルに基づいて、復号対象マクロブロックに対応する参照フレーム上の参照マクロブロックの位置を決定する手順と、
    該参照マクロブロックのデータがキャッシュメモリに格納されていない時に、前回の参照マクロブロックの位置より今回の参照マクロブロックの位置が画面上で上にあるかを判定し、上にある時にはその参照マクロブロックの上端行を優先して上端行から順次下端行の方向に参照マクロブロックのデータを格納するメモリからの行のデータプリロードの順位を決定し、下にある時には下端行を優先して下端行から順次上端行の方向に行のデータプリロードの順位を決定するプリロード行優先順位決定手順とを計算機に実行させるための動画像データ復号プログラム。
JP2004218648A 2004-07-27 2004-07-27 動画像データ復号装置、および復号プログラム Expired - Fee Related JP4180547B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004218648A JP4180547B2 (ja) 2004-07-27 2004-07-27 動画像データ復号装置、および復号プログラム
US11/020,109 US7447266B2 (en) 2004-07-27 2004-12-27 Decoding device and decoding program for video image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004218648A JP4180547B2 (ja) 2004-07-27 2004-07-27 動画像データ復号装置、および復号プログラム

Publications (2)

Publication Number Publication Date
JP2006041898A JP2006041898A (ja) 2006-02-09
JP4180547B2 true JP4180547B2 (ja) 2008-11-12

Family

ID=35732160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004218648A Expired - Fee Related JP4180547B2 (ja) 2004-07-27 2004-07-27 動画像データ復号装置、および復号プログラム

Country Status (2)

Country Link
US (1) US7447266B2 (ja)
JP (1) JP4180547B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917763B2 (en) 2011-03-07 2014-12-23 Panasonic Corporation Motion compensation apparatus, video coding apparatus, video decoding apparatus, motion compensation method, program, and integrated circuit

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE448644T1 (de) * 2005-08-17 2009-11-15 Nxp Bv Videocodierung und -decodierung unter berücksichtigung von positionen im cache
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
JP4910576B2 (ja) * 2006-09-04 2012-04-04 富士通株式会社 動画像処理装置
JP4862566B2 (ja) * 2006-09-04 2012-01-25 富士通株式会社 動画像処理装置及びプリフェッチ制御方法
JP4535047B2 (ja) * 2006-09-06 2010-09-01 ソニー株式会社 画像データ処理方法、画像データ処理方法のプログラム、画像データ処理方法のプログラムを記録した記録媒体及び画像データ処理装置
JP4900470B2 (ja) * 2007-02-22 2012-03-21 富士通株式会社 動画像符号化装置および動画像符号化方法
US8447933B2 (en) 2007-03-06 2013-05-21 Nec Corporation Memory access control system, memory access control method, and program thereof
US8577165B2 (en) * 2008-06-30 2013-11-05 Samsung Electronics Co., Ltd. Method and apparatus for bandwidth-reduced image encoding and decoding
JP2011097197A (ja) * 2009-10-27 2011-05-12 Yamaha Corp メモリアクセス制御装置
JP2011097198A (ja) * 2009-10-27 2011-05-12 Yamaha Corp メモリアクセス制御装置
US9318150B2 (en) 2013-04-05 2016-04-19 Avid Technology, Inc. Full fidelity remote video editing
US9369668B2 (en) * 2014-03-14 2016-06-14 Cisco Technology, Inc. Elementary video bitstream analysis
JP6329521B2 (ja) * 2015-04-09 2018-05-23 日本電信電話株式会社 参照画像バッファ
US10817224B2 (en) * 2016-06-23 2020-10-27 Qualcomm Incorporated Preemptive decompression scheduling for a NAND storage device
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
CN107222756B (zh) * 2017-05-27 2020-04-14 中山大学 一种基于分组网络编码的网络首播预加载方法及系统
CN109413474B (zh) * 2018-12-19 2021-02-26 北京奇艺世纪科技有限公司 一种在线视频开播加速方法及装置
CN111538677B (zh) * 2020-04-26 2023-09-05 西安万像电子科技有限公司 数据处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04170654A (ja) 1990-11-05 1992-06-18 Shikoku Nippon Denki Software Kk キャッシュメモリ制御方式
JPH06180669A (ja) 1992-12-14 1994-06-28 Nec Niigata Ltd キャッシュシステム
JP3123496B2 (ja) 1998-01-28 2001-01-09 日本電気株式会社 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体
US6263023B1 (en) * 1998-10-15 2001-07-17 International Business Machines Corporation High definition television decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917763B2 (en) 2011-03-07 2014-12-23 Panasonic Corporation Motion compensation apparatus, video coding apparatus, video decoding apparatus, motion compensation method, program, and integrated circuit

Also Published As

Publication number Publication date
JP2006041898A (ja) 2006-02-09
US7447266B2 (en) 2008-11-04
US20060023789A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
JP4180547B2 (ja) 動画像データ復号装置、および復号プログラム
JP5332773B2 (ja) 画像処理装置および方法
JP5155157B2 (ja) 動画像復号化装置
JP4664406B2 (ja) 動画像復号化装置、半導体装置、映像機器および動画像復号化方法
RU2646389C2 (ru) Устройство кодирования изображений, способ кодирования изображений, носитель записи и программа, устройство декодирования изображений, способ декодирования изображений, носитель записи и программа
US9509992B2 (en) Video image compression/decompression device
JPWO2008136178A1 (ja) 動き検出装置、動き検出方法、及び動き検出プログラム
US20100166081A1 (en) Video stream processing apparatus and control method, program and recording medium for the same
JP5396711B2 (ja) 動画像復号装置、動画像復号方法及びプログラム
US8107534B2 (en) Moving-image reproducing apparatus and moving-image reproducing method
US8731311B2 (en) Decoding device, decoding method, decoding program, and integrated circuit
US8300701B2 (en) Offspeed playback in a video editing system of video data compressed using long groups of pictures
JP4675383B2 (ja) 画像復号化装置および方法、画像符号化装置
JP6307716B2 (ja) 画像情報処理方法
US6687298B1 (en) Method and apparatus for expanding moving pictures by software
KR101602871B1 (ko) 데이터 부호화 방법 및 장치와 데이터 복호화 방법 및 장치
US20170070734A1 (en) Coding apparatus, decoding apparatus, and video transmission system
US9319695B2 (en) Moving image output apparatus and method
JP5867050B2 (ja) 画像処理装置
JP5206070B2 (ja) 復号装置および復号方法
JP3457540B2 (ja) 画像復号化装置及び方法
JP2018117308A (ja) 再生装置及びその制御方法
JPH0898148A (ja) 画像ファイリング装置
JP5603747B2 (ja) 映像符号化装置
JP2001320653A (ja) 画像復号装置及び画像復号方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080826

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080827

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees