JP2000278693A - 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体 - Google Patents

動画像伸長方法及びそれを実行するプログラムを記録した記録媒体

Info

Publication number
JP2000278693A
JP2000278693A JP7613099A JP7613099A JP2000278693A JP 2000278693 A JP2000278693 A JP 2000278693A JP 7613099 A JP7613099 A JP 7613099A JP 7613099 A JP7613099 A JP 7613099A JP 2000278693 A JP2000278693 A JP 2000278693A
Authority
JP
Japan
Prior art keywords
frame
picture
stored
expansion
memory
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.)
Granted
Application number
JP7613099A
Other languages
English (en)
Other versions
JP3322233B2 (ja
Inventor
Masao Ikegawa
将夫 池川
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7613099A priority Critical patent/JP3322233B2/ja
Priority to US09/527,364 priority patent/US6687298B1/en
Publication of JP2000278693A publication Critical patent/JP2000278693A/ja
Application granted granted Critical
Publication of JP3322233B2 publication Critical patent/JP3322233B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Abstract

(57)【要約】 【課題】 キャッシュメモリ内蔵のCPUとその上で動
作するデコードソフトウエアから構成される動画像伸長
装置において、キャッシュミスの発生を減らす。 【解決手段】 Bピクチャの伸長処理において、隣接す
る2フレームがともにBピクチャである場合、その2フ
レームの伸長処理をひとつあるいは複数のマクロブロッ
ク単位で交互に行う。これにより、動き補償処理におい
てキャッシュミスが発生する確率を低くすることができ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は圧縮された動画像デ
ータを伸長する技術に関し、特にソフトウエアで動画像
データの伸長処理を実行する場合に、キャッシュメモリ
のアクセスを効率的に行うための技術に関する。
【0002】
【従来の技術】高品質な動画像データを蓄積したり通信
したりするための圧縮および伸長方式としてMPEG
(Moving Picture coding Ex
perts Group)と呼ばれる国際標準方式が定
められている。MPEGの規格に準拠して圧縮された動
画像データをリアルタイムに伸長するためには膨大な計
算量を必要とするため、従来は特別に設計されたハ−ド
ウエアが用いられていた。ところが、最近のマイクロプ
ロセッサの高性能化により、通常のマイクロプロセッサ
により、圧縮された動画像データの伸長を、ソフトウエ
アだけで実現することが可能となりつつある。
【0003】MPEGの圧縮および伸長アルゴリズムに
ついては、例えば、「1991年4月、コミュニケーシ
ョンズ・オブ・ザ・エーシーエム、第34巻、第4号
(Communications of the AC
M, Vol.34,No.4,April,199
1)」に詳しく述べられている。MPEGの伸長アルゴ
リズムはおおまかにいえば、可変長符号の復号処理、逆
量子化処理、逆離散コサイン変換処理、および動き補償
処理から成る。
【0004】図3を参照して、MPEG伸長装置を、図
3に示すような、CPU301を中心とするシステムと
CPU301上のソフトウエアの組合せで構成する例に
ついて説明する。
【0005】MPEGで圧縮されたビットストリームは
外部記憶装置304に蓄えられる。ビットストリーム
は、CD−ROM等の外部記憶装置304から読み出さ
れ、メモリ302に一時的に格納される。メモリ302
に格納されたビットストリームはCPU301上で動作
するデコーダソフトウエアの働きにより伸長され、その
結果として画像データがメモリ302に格納される。メ
モリ302に格納された画像データはCPU上のソフト
ウエアにより表示用フォーマットに変換され、表示装置
303に転送される。デコーダソフトウェアは、フロッ
ピィディスク装置(FD)307等の外部記憶装置に格
納されている。
【0006】図4は、MPEGで圧縮および伸長をおこ
なう際の、画像フレームの順序について示したものであ
る。MPEGは、1フレームの画像を符号化するための
ピクチャタイプとして、Iピクチャ、Pピクチャ、およ
びBピクチャという3種類のピクチャタイプを有する。
Iピクチャは、動き補償処理が施されずに、そのフレー
ム内の情報だけを用いて圧縮されるピクチャタイプであ
る。Pピクチャは、そのフレームよりも過去のフレーム
の画像情報から、そのフレームを予測するという動き補
償処理が施されるピクチャタイプである。Bピクチャ
は、そのフレームよりも過去のフレームと未来のフレー
ムとの両方の画像情報から、そのフレームの画像信号を
双方向予測するという動き補償処理が施されるピクチャ
タイプである。
【0007】図4(A)は、MPEGで動画像を圧縮す
る際の、典型的なピクチャタイプの割り当てを示してい
る。フレーム#1はIピクチャで、他のフレームの画像
情報を参照せずに圧縮される。フレーム#2はBピクチ
ャであり、フレーム#1とフレーム#4を用いた双方向
の動き補償処理により圧縮される。フレーム#3もBピ
クチャであり、フレーム#1とフレーム#4とを参照し
て、双方向の動き補償処理により圧縮される。フレーム
#4はPピクチャで、フレーム#1を用いた動き補償処
理により圧縮される。フレーム#5はBピクチャで、フ
レーム#4とフレーム#7とを用いた双方向の動き補償
処理により圧縮される。フレーム#6はBピクチャで、
フレーム#4とフレーム#7とを用いた双方向の動き補
償処理により圧縮される。フレーム#7はPピクチャ
で、フレーム#4を参照した動き補償処理により圧縮さ
れる。点線の矢印はフレーム間の参照関係を表してい
る。
【0008】図4(B)は、上で述べたピクチャタイプ
に従って圧縮および伸長を行う場合の、各フレームの処
理順序を示している。圧縮処理を実行する前に、入力動
画像信号は、図4(A)から図4(B)のように並び替
えられる。
【0009】MPEGでは、まずIピクチャであるフレ
ーム#1が圧縮される。次に、Pピクチャであるフレー
ム#4が、フレーム#1の局部復号画像を参照して圧縮
される。そして、Bピクチャであるフレーム#2が、フ
レーム#1とフレーム#4の局部復号画像を参照して圧
縮される。またBピクチャであるフレーム#3は、フレ
ーム#1とフレーム#4の局部復号画像を参照して圧縮
される。Pピクチャであるフレーム#7は、フレーム#
4の局部復号画像を参照して圧縮される。続いて、フレ
ーム#5が、フレーム#4とフレーム#7の局部復号画
像を参照して圧縮される。フレーム#6は、フレーム#
4とフレーム#7の局部復号画像を参照して圧縮され
る。
【0010】圧縮した画像を記述するMPEGビットス
トリームには、フレームを圧縮した順番に各フレームの
情報が記述されている。すなわち、伸長器に入力される
フレームの順序は、もともとの動画像のフレームの順序
とは異っている。
【0011】このようにして圧縮されたMPEGビット
ストリームを伸長する際には、まずフレーム#1が伸長
される。そして、伸長されたフレーム#1の画像を参照
してフレーム#4(Pピクチャ)が伸長される。伸長さ
れたフレーム#1と伸長されたフレーム#4と2つのの
画像を参照して、フレーム#2(Bピクチャ)が伸長さ
れる。伸長されたフレーム#1と伸長されたフレーム#
4との2つの画像を参照して、フレーム#3(Bピクチ
ャ)が伸長される。伸長されたフレーム#4の画像を参
照してフレーム#7(Pピクチャ)が伸長される。続い
て、伸長されたフレーム#4と伸長されたフレーム#7
との2つの画像を参照してフレーム#5が伸長される。
伸長されたフレーム#4と伸長されたフレーム#7との
2つの画像を参照してフレーム#6が伸長される。図4
(C)は、伸長した画像を、図3の表示装置303等に
表示するための順序を示している。
【0012】デコーダソフトウエア、即ち、図3のフロ
ッピィディスク装置に格納されたプログラムによる動作
を、図5のフローチャートを参照して、説明する。
【0013】1フレームの伸長処理は、1マクロブロッ
クごとに可変長符号復号(502)、逆量子化(50
3)、逆DCT(504)、動き補償(505)のステ
ップが繰り返され、1フレームの最後のマクロブロック
を処理したら1フレームの伸長処理が終了(507)と
なる。なお、動き補償処理(505)は、Iピクチャに
対しては、行われない。また、動き補償処理(505)
では、Pピクチャに対しては、片方向動き補償予測を施
され、Bピクチャに対しては、双方向動き補償予測が施
される。
【0014】1マクロブロック分の可変長符号復号(5
02)は、メモリ302に蓄えられたビットストリーム
を読み出し、数ビットずつ可変長符号テーブルを参照す
ることによってハフマン符号の復号を行う。このとき、
メモリ上の場所を指すポインタ(POINTER)がビ
ットストリームを読み出した位置を記憶している。この
ポインタは、ビットストリームが読み出されると常に読
み出された量だけ進められて、常に次に読み出すべきビ
ットストリームの場所を指している。ここで用いられる
可変長符号テーブルはメモリ307にデコーダソフトウ
ェアとともにあらかじめ格納されており、可変長符号復
号処理を実行する際に、CPU内に読み込まれる。ハフ
マン符号の復号結果はDCT係数バッファと呼ばれるメ
モリ302上の一領域に格納される。
【0015】逆量子化(503)は、DCT係数バッフ
ァに格納されている値と、MPEGビットストリーム内
に含まれている量子化パラメータとの積を求める処理で
ある。逆量子化の結果は、前述のDCT係数バッファに
書き戻される。
【0016】逆DCT(504)は、DCT係数バッフ
ァに格納されている逆量子化された値に2次元逆離散コ
サイン変換を施す。2次元逆離散コサイン変換の結果は
同じDCT係数バッファに書き戻される。
【0017】動き補償(505)は、動画像の時間的冗
長性を利用したもので、既に伸長されたフレームから画
像の一部を切り出してきて、画像を復元する処理であ
る。切り出される既に伸長済みの画像の位置は、動きベ
クトルと呼ばれるパラメータ(このパラメータもMPE
Gビットストリームに含まれている)によって決定され
る。切り出されて復元される画像は、縦16画素、横1
6画素からなる、マクロブロックと呼ばれる正方形の領
域である。切り出された領域がDCT係数バッファに格
納されている逆DCTの結果と加算されることで、マク
ロブロックの伸長が完了する。伸長されたマクロブロッ
クはメモリ302に格納される。
【0018】図3に示すようなシステムでは、通常、C
PU301にキャッシュメモリ305が内蔵されてい
る。キャッシュメモリとは、メモリに比べて、容量は小
さいが高速にアクセスできるメモリである。キャッシュ
メモリには、CPU301が最近アクセスした外部メモ
リ302の内容が蓄えられている。、アクセスしてから
長時間アクセスのない内容はキャッシュメモリから追い
出されてメモリ302に書き戻されるように制御されて
いる。
【0019】すなわち、CPUが一度アクセスした内容
は、その後すぐにアクセスする限りは、キャッシュに内
容が残っているのでCPUのマシンサイクル以内に再度
アクセスができる。これは、キャッシュヒットと呼ばれ
る。しかし、まだ一度もアクセスしていない場合あるい
は一度アクセスしてから長時間アクセスしなかったため
にキャッシュメモリに蓄えられていないメモリの内容を
アクセスする場合には、CPUのマシンサイクルの数倍
から数十倍の時間がかかる。この現象は、キャッシュミ
スと呼ばれる。
【0020】マイクロプロセッサでは、キャッシュミス
によりデータのアクセスを待っている間、プロセッサ全
体の動作が止まってしまう。したがって、ソフトウエア
の処理速度を向上させるためには、キャッシュミスの発
生する確率を可能な限り小とし、CPUの能力を有効に
使えるようにすることが重要である。
【0021】現時点でのマイクロプロセッサでは内蔵さ
れているキャッシュメモリの容量は最大数十キロバイト
である。システムの構成によっては、CPU301の外
側に二次キャッシュメモリと呼ばれる、内蔵されている
キャッシュメモリよりも大容量のキャッシュメモリを配
置する場合もある。二次キャッシュメモリの容量は現時
点では最大数百キロバイトである。一方、MPEGで扱
われる画像の1フレームの容量は画面サイズによって数
十キロバイトから数メガバイトまで考えられる。MPE
G2メインプロファイル・メインレベルと呼ばれる、現
在最も汎用的に用いられている規格の場合は1フレーム
が数百キロバイトとなるので、二次キャッシュには最大
でも1フレームの画像しか格納できない。
【0022】従来の技術の伸長装置でMPEG2メイン
プロファイル・メインレベルの伸長を行なうときの、キ
ャッシュメモリのふるまいについて説明する。例えば図
4(B)のフレーム#2を伸長して、次にフレーム#3
を伸長する一連の動作について説明する。
【0023】フレーム#2の伸長処理の中で動き補償処
理では、フレーム#1とフレーム#4を参照するため
に、これから伸長されるフレーム#2の画像と合わせて
3フレーム分の画像にアクセスする必要がある。キャッ
シュメモリには3フレーム分の画像は格納できないた
め、フレーム#2の伸長処理が終了した段階では、キャ
ッシュメモリにはフレーム#1、フレーム#4、および
フレーム#2のそれぞれ一部だけが格納されている。M
PEGの伸長アルゴリズムは、画面の左から右へ下方に
向かって処理を進めていくため、多くの場合、参照され
るフレームの伸長済画像も、画面上の上端から下端に向
けて順にアクセスされる。したがって、伸長の処理が進
むにつれて画面の上端に近い部分のデータがキャッシュ
メモリから追い出されていき、最終的には下端に近い部
分のデータだけがキャッシュメモリに残ることになる。
【0024】引き続いてフレーム#3を伸長する処理の
動き補償処理において、再度フレーム#1とフレーム#
4とを参照する。フレーム#3の画面上端に近い部分を
伸長しているときには、フレーム#1とフレーム#4の
画面上端に近い部分を参照することになるが、フレーム
#2の伸長処理の結果、キャッシュメモリにはフレーム
#1とフレーム#4の下端に近い部分のデータしか残っ
ていないため、全てのアクセスがキャッシュミスを引き
起こす。また、上端に近い部分の伸長処理を行っている
段階で、キャッシュメモリに残っていたフレーム#1と
フレーム#4の下端に近い部分のデータが追い出される
ため、フレーム#3の画面下端に近い部分を伸長する処
理でも全てのアクセスがキャッシュミスを引き起こすこ
とになる。
【0025】このように従来の技術の動画像伸長装置で
は、動き補償処理において参照するフレーム全体をキャ
ッシュメモリに格納しておくことができないため、キャ
ッシュミスが多発する。特に隣接する複数のフレームが
Bピクチャである場合、同一の参照フレームを何度もキ
ャッシュミスを起こしながら読み込まなければならない
ため、無駄が多い。そのためこの従来技術ではキャッシ
ュミスが多発し、デコードソフトウエアの速度低下の要
因となっている。
【0026】
【発明が解決しようとする課題】このように、ソフトウ
ェアで構築された従来の動画像伸長装置では、特に、B
ピクチャの伸長処理において、CPU内のキャッシュメ
モリを有効に使うことができないため、処理速度が遅
い。メモリアクセスのための待ち時間がデコーダソフト
ウエアの速度低下の大きな要因となっている。本発明
は、Bピクチャの動き補償処理におけるキャッシュミス
を抑制し、デコードソフトウエアの速度低下を防止した
動画像伸長技術を提供することを目的とする。
【0027】
【課題を解決するための手段】本発明の第1の動画像伸
長装置は、あるフレームの伸長処理を行うときに、それ
がBピクチャでかつ次のフレームもBピクチャならば、
1番目のフレームの1マクロブロック分の伸長処理と2
番目のフレームの1マクロブロック分の伸長処理を交互
に繰り返すことで、隣接する2フレームの伸長処理を同
時に行う。本発明の第2の動画像伸長装置は、あるフレ
ームの伸長処理を行うときに、それがBピクチャでかつ
次のフレームもBピクチャならば、1番目のフレームの
ある一定数マクロブロック分の伸長処理と2番目のフレ
ームのある一定数マクロブロック分の伸長処理を交互に
繰り返すことで、隣接する2フレームの伸長処理を同時
に行う。
【0028】本発明では、隣接する2フレームがともに
Bピクチャである場合、その2フレームの伸長処理をひ
とつあるいは複数のマクロブロック単位で交互に行うた
め、隣接するフレームの同じ位置にあるマクロブロック
の伸長処理が連続して実行されることになる。これによ
り、動き補償処理においてキャッシュミスが発生する確
率を低くすることができる。これは隣接するフレームの
同じ位置にあるマクロブロックにおける動き補償処理
は、参照フレーム中の近い位置にある領域を利用するこ
とが多いという性質に基づいている。
【0029】
【発明の実施の形態】以下の説明から明らかとなるよう
に、本発明と従来技術とは、外部記憶装置307に格納
されたプログラムのみが異なっている。MPEGで圧縮
されたビットストリームは外部記憶装置304に蓄えら
れる。ビットストリームは外部記憶装置304から読み
出され、メモリ302に一時的に格納される。メモリ3
02に格納されたビットストリームはCPU301上で
動作するデコーダソフトウエアの働きにより伸長され、
その結果として画像データがメモリ302に格納され
る。フロッピィディスク307には、以下で、図1また
は図2のフローチャートを用いて説明するプログラムが
格納されている。
【0030】本発明の第1実施形態の動作について、図
を参照して説明する。図1は、本発明の第1実施形態の
動作を示すフローチャートである。
【0031】1フレームの伸長処理では、まず、そのフ
レームのピクチャタイプがBピクチャであるかどうかが
判断(102)される。
【0032】入力されたフレームのピクチャタイプが、
IピクチャあるいはPピクチャならば、従来の技術と同
様に、1マクロブロック分の伸長処理(103;図5の
ステップ502から505の処理と同一)が繰り返され
(103,107)、1フレームの最後のマクロブロッ
クを処理したら1フレームの伸長処理が終了(108)
となる。
【0033】ステップ102での判定の結果、ピクチャ
タイプがBピクチャの場合、そのフレームをフレームX
と呼ぶことにする。その場合、現在のビットストリーム
読み出し位置を記憶しているポインタ(POINTE
R)を変数p1に保存しておき(109)、次のフレー
ムの先頭までビットストリームを読み飛ばす(11
0)。
【0034】この次のフレームをフレームYと呼ぶこと
にする。そのときのビットストリーム読み出し位置を変
数p2に保存しておきp1に保存してあるビットストリ
ーム読みだし位置をポインタに戻す(111)。
【0035】もし、フレームYのピクチャタイプがBピ
クチャでなければ(112)、フレームXの伸長処理を
IピクチャあるいはPピクチャと同様に行う。
【0036】もし、フレームYのピクチャタイプもBピ
クチャであれば、まず、フレームXの1マクロブロック
分の伸長処理(113;図5のステップ502から50
5の処理と同一)を行う。
【0037】次に、ポインタを変数p1に保存し、p2
に保存されているフレームYの先頭を指すポインタをポ
インタに戻し(117)、フレームYの1マクロブロッ
ク分の伸長処理(118;図5のステップ502から5
05の処理と同一)を行う。
【0038】次に、ポインタを変数p2に保存し、p1
に保存されているビットストリーム読みだし位置をポイ
ンタに戻し(122)、フレームXの1マクロブロック
分の伸長処理(113;図5のステップ502から50
5の処理と同一)を行う。
【0039】以下同様に、フレームXとフレームYの伸
長処理を1マクロブロックごとに交互に繰り返し、最後
のマクロブロックを処理したら フレームXとフレーム
Yの2フレーム分の伸長処理が終了(124)となる。
【0040】次に、本発明の第2実施形態の動作につい
て、図を参照して説明する。
【0041】図2は、本発明の第2実施形態の動作を示
すフローチャートである。Kをある定数とする。1フレ
ームの伸長処理では、まず、そのフレームのピクチャタ
イプがBピクチャであるかどうかを判断(202)す
る。そのフレームのピクチャタイプが、Iピクチャある
いはPピクチャならば、従来の技術と同様に1マクロブ
ロック分の伸長処理(203;図5のステップ502か
ら505の処理と同一)が繰り返され(203,20
7)、1フレームの最後のマクロブロックを処理したら
1フレームの伸長処理が終了(208)となる。
【0042】ステップ202での判定の結果、ピクチャ
タイプがBピクチャの場合、そのフレームをフレームX
と呼ぶことにする。その場合、現在のビットストリーム
読み出し位置を記憶しているポインタポインタを変数p
1に保存しておき(209)、次のフレームの先頭まで
ビットストリームを読み飛ばす(210)。
【0043】この次のフレームをフレームYと呼ぶこと
にする。そのときのビットストリーム読み出し位置を変
数p2に保存しておき、p1に保存してあるビットスト
リーム読み出し位置をポインタに戻す(211)。
【0044】もし、フレームYのピクチャタイプがBピ
クチャでなければ(212)、フレームXの伸長処理を
IピクチャあるいはPピクチャと同様に行う。
【0045】もし、フレームYのピクチャタイプもBピ
クチャであれば、まず、フレームXのマクロブロックK
個分の伸長処理(213、214、218,219)を
行う。次に、ポインタを変数p1に保存し、p2に保存
されているフレームYの先頭を指すポインタを、ポイン
タに戻し(220)、フレームYのマクロブロックK個
分の伸長処理(221、222、226、227)を行
う。
【0046】次に、ポインタを変数p2に保存し、p1
に保存されているビットストリーム読み出し位置をポイ
ンタに戻し(228)、フレームXの1マクロブロック
分の伸長処理(213、214、218、219)を行
う。
【0047】以下同様に、フレームXとフレームYの伸
長処理をK個のマクロブロックごとに交互に繰り返し、
最後のマクロブロックを処理したら、フレームXとフレ
ームYの2フレーム分の伸長処理が終了(230)とな
る。
【0048】ここで、Kはキャッシュメモリのサイズ
と、伸長する画像のサイズによって最適な値が異なる
例えば256キロバイトのキャッシュメモリを含む動画
像伸長装置で 横720画素、縦480画素の、MPE
G2メインプロファイル・メインレベルの画像を伸長す
る場合、Kを画面上の横1列のマクロブロックの個数で
ある45とする。
【0049】なお、ここでは隣接する2フレームがとも
にBピクチャであった場合にその2フレームの伸長処理
を交互に行う例について述べたが、3フレーム以上の隣
接するフレームが全てBピクチャであった場合に、その
3フレーム以上の伸長処理を交互に行うことも可能であ
る。
【0050】
【発明の効果】本発明の効果は、Bピクチャの動き補償
処理におけるキャッシュミスを減らすことにより、デコ
ードソフトウエアの速度低下を防ぐことである。本発明
の実施の形態では、隣接する2フレームがともにBピク
チャである場合、隣接するフレームの同じ位置にあるひ
とつあるいは複数のマクロブロックの伸長処理が連続し
て実行されることになる。これにより、動き補償処理に
おいてキャッシュに読み込まれる参照フレームのデータ
を有効利用することが可能となり、キャッシュミスが発
生する確率を低くすることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の動作を示すフロー
チャートである。
【図2】本発明の第2の実施の形態の動作を示すフロー
チャートである。
【図3】本発明の実施の形態の構成を示すブロック図で
ある。
【図4】動画像伸長処理におけるフレームの処理順序を
示す図である。
【図5】従来の技術の動作を示すフローチャートであ
る。
【符号の説明】
301 CPU 302 メモリ 303 表示装置 304 外部記憶装置 305 キャッシュメモリ 306 バス 307 フロッピィディスク装置

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】キャッシュメモリを内蔵したCPUとメモ
    リとを含んで構成される動画像伸長装置により実行され
    る動画像伸長方法であり、動画像伸長用ソフトウエアに
    より駆動される動画像伸長装置により実行される動画像
    伸長方法であって、隣接する複数のBピクチャを伸長処
    理する際に、これら隣接するBピクチャの各々につい
    て、対応する位置にある定数(K)個のマクロブロック
    に対する伸長処理を交互に実行することを特徴とした動
    画像伸長方法。
  2. 【請求項2】請求項1に記載の動画像伸長方法におい
    て、前記Kは1であることを特徴とした動画像伸長方
    法。
  3. 【請求項3】キャッシュメモリを内蔵したCPUとメモ
    リとを含み構成された動画像伸長装置を動作させるため
    のプログラムを記録した記録媒体であり、 隣接する複数のBピクチャを伸長処理する際に、 これら各Bピクチャの各々について、対応する位置にあ
    る定数(K)個のマクロブロックに対する伸長処理を交
    互に実行するステップを含むプログラムを記録した記録
    媒体。
JP7613099A 1999-03-19 1999-03-19 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体 Expired - Fee Related JP3322233B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7613099A JP3322233B2 (ja) 1999-03-19 1999-03-19 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体
US09/527,364 US6687298B1 (en) 1999-03-19 2000-03-17 Method and apparatus for expanding moving pictures by software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7613099A JP3322233B2 (ja) 1999-03-19 1999-03-19 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000278693A true JP2000278693A (ja) 2000-10-06
JP3322233B2 JP3322233B2 (ja) 2002-09-09

Family

ID=13596370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7613099A Expired - Fee Related JP3322233B2 (ja) 1999-03-19 1999-03-19 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US6687298B1 (ja)
JP (1) JP3322233B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006008961A1 (ja) * 2004-07-16 2006-01-26 Sony Corporation 情報処理システム及び情報処理方法、並びにコンピュータプログラム
WO2008038513A1 (en) * 2006-09-26 2008-04-03 Panasonic Corporation Decoding device, decoding method, decoding program, and integrated circuit
US7418143B2 (en) 2003-05-08 2008-08-26 Sony Corporation Encoding device and method, decoding device and method, and image information processing system and method
JP2008535547A (ja) * 2005-03-24 2008-09-04 ギブン・イメージング・リミテツド 定ビットレート伝送を提供するインビボ撮像装置
JP2010079535A (ja) * 2008-09-25 2010-04-08 Mitsubishi Electric Corp データアクセス装置
JP2013515448A (ja) * 2009-12-21 2013-05-02 クゥアルコム・インコーポレイテッド キャッシュヒットを向上させるための復号器内での時間的及び空間的ビデオブロックの再順序付け
US9113846B2 (en) 2001-07-26 2015-08-25 Given Imaging Ltd. In-vivo imaging device providing data compression

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2842979B1 (fr) * 2002-07-24 2004-10-08 Thomson Licensing Sa Procede et dispositif de traitement de donnees numeriques
JP5042568B2 (ja) * 2006-09-07 2012-10-03 富士通株式会社 Mpegデコーダ及びmpegエンコーダ

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694173A (en) * 1993-12-29 1997-12-02 Kabushiki Kaisha Toshiba Video data arranging method and video data encoding/decoding apparatus
JP3651941B2 (ja) * 1994-11-28 2005-05-25 キヤノン株式会社 画像再生装置
US6088391A (en) * 1996-05-28 2000-07-11 Lsi Logic Corporation Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames
US5838678A (en) * 1996-07-24 1998-11-17 Davis; Joseph W. Method and device for preprocessing streams of encoded data to facilitate decoding streams back-to back
US5818533A (en) * 1996-08-08 1998-10-06 Lsi Logic Corporation Method and apparatus for decoding B frames in video codecs with minimal memory
JPH10243402A (ja) * 1997-02-27 1998-09-11 Toshiba Corp 画像処理装置及び画像処理方法
JP4010024B2 (ja) * 1997-09-02 2007-11-21 ソニー株式会社 圧縮動画像信号のデコード装置
US5933195A (en) * 1997-09-26 1999-08-03 Sarnoff Corporation Method and apparatus memory requirements for storing reference frames in a video decoder
US6385248B1 (en) * 1998-05-12 2002-05-07 Hitachi America Ltd. Methods and apparatus for processing luminance and chrominance image data
US6148032A (en) * 1998-05-12 2000-11-14 Hitachi America, Ltd. Methods and apparatus for reducing the cost of video decoders

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9113846B2 (en) 2001-07-26 2015-08-25 Given Imaging Ltd. In-vivo imaging device providing data compression
US7418143B2 (en) 2003-05-08 2008-08-26 Sony Corporation Encoding device and method, decoding device and method, and image information processing system and method
WO2006008961A1 (ja) * 2004-07-16 2006-01-26 Sony Corporation 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP2008535547A (ja) * 2005-03-24 2008-09-04 ギブン・イメージング・リミテツド 定ビットレート伝送を提供するインビボ撮像装置
WO2008038513A1 (en) * 2006-09-26 2008-04-03 Panasonic Corporation Decoding device, decoding method, decoding program, and integrated circuit
CN101518091B (zh) * 2006-09-26 2011-09-28 松下电器产业株式会社 解码装置、解码方法、解码程序以及集成电路
US8731311B2 (en) 2006-09-26 2014-05-20 Panasonic Corporation Decoding device, decoding method, decoding program, and integrated circuit
JP2010079535A (ja) * 2008-09-25 2010-04-08 Mitsubishi Electric Corp データアクセス装置
JP2013515448A (ja) * 2009-12-21 2013-05-02 クゥアルコム・インコーポレイテッド キャッシュヒットを向上させるための復号器内での時間的及び空間的ビデオブロックの再順序付け
JP2015008497A (ja) * 2009-12-21 2015-01-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated キャッシュヒットを向上させるための復号器内での時間的及び空間的ビデオブロックの再順序付け
US9877033B2 (en) 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits

Also Published As

Publication number Publication date
JP3322233B2 (ja) 2002-09-09
US6687298B1 (en) 2004-02-03

Similar Documents

Publication Publication Date Title
US7965773B1 (en) Macroblock cache
KR101227667B1 (ko) 오버랩 평활화 및 인-루프 디블록킹의 구분적 프로세싱
US7792385B2 (en) Scratch pad for storing intermediate loop filter data
JP3732867B2 (ja) 画像伸張装置
US8395634B2 (en) Method and apparatus for processing information
US20180084269A1 (en) Data caching method and apparatus for video decoder
KR100772379B1 (ko) 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
US20170019679A1 (en) Hybrid video decoding apparatus for performing hardware entropy decoding and subsequent software decoding and associated hybrid video decoding method
CN112333446B (zh) 一种帧内块复制参考块压缩方法
JP3322233B2 (ja) 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体
CN1163079C (zh) 用于视频解码的方法和设备
JPH0937263A (ja) 動画圧縮装置
JP3123496B2 (ja) 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体
JP3372864B2 (ja) 動画像伸長装置及び方法
JP2000175201A (ja) 画像処理装置及び方法、並びに提供媒体
US6873735B1 (en) System for improved efficiency in motion compensated video processing and method thereof
EP0948213A2 (en) Moving pictures decompression device and method thereof
JP2009272948A (ja) 動画像復号化装置及び動画像復号化方法
JP2009060536A (ja) 画像符号化装置、画像符号化方法
JP2004215049A (ja) 符号化装置および方法、復号装置および方法、並びにプログラム
KR100672376B1 (ko) 움직임 보상 방법
JP2006340139A (ja) 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム
Moshnyaga et al. Reduction of MPEG2 video decoding computations.

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: 20020528

LAPS Cancellation because of no payment of annual fees