JPH11289536A - 動画像伸長装置及び方法 - Google Patents

動画像伸長装置及び方法

Info

Publication number
JPH11289536A
JPH11289536A JP8857098A JP8857098A JPH11289536A JP H11289536 A JPH11289536 A JP H11289536A JP 8857098 A JP8857098 A JP 8857098A JP 8857098 A JP8857098 A JP 8857098A JP H11289536 A JPH11289536 A JP H11289536A
Authority
JP
Japan
Prior art keywords
picture
display device
frame
decompression
cpu
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
JP8857098A
Other languages
English (en)
Other versions
JP3372864B2 (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 JP08857098A priority Critical patent/JP3372864B2/ja
Priority to US09/285,043 priority patent/US6320908B1/en
Priority to EP19990106692 priority patent/EP0971546A3/en
Publication of JPH11289536A publication Critical patent/JPH11289536A/ja
Application granted granted Critical
Publication of JP3372864B2 publication Critical patent/JP3372864B2/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/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/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/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 デコードソフトウエアの処理速度の低下を防
ぐ動画像伸長装置及び方法を提供する。 【解決手段】 IピクチャまたはPピクチャの伸長処理
する時に動き補償処理の直前に、そのフレームの直前の
IピクチャまたはPピクチャ内において現在伸長中のマ
クロブロックと同じ位置にあるマクロブロックを表示装
置3に転送する手段(ステップS105、S106)
と、Bピクチャの伸長処理をする時に動き補償処理の後
で伸長したマクロブロックを表示装置3へ転送する手段
(ステップS107、S108、S109)を有する。
なお、本発明は、IピクチャまたはPピクチャの伸長処
理をする時に、そのフレームの直前のIピクチャまたは
Pピクチャ内の所定数のマクロブロックを表示装置に転
送した後にこれらと同数のマクロブロックに対する伸長
処理を行うという手順を全マクロブロックの伸長処理が
終了するまで繰り返す手段を有することで処理速度の低
下を防ぐものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、圧縮された動画像
データを伸長する動画像伸長装置及び方法に関し、特に
ソフトウエアで処理する場合にメモリアクセスを効率的
に行う動画像伸長装置及び方法に関する。
【0002】
【従来の技術】高品質な動画像データを蓄積または通信
したりするための圧縮および伸長方式としてMPEG(M
oving Picture coding Experts Group) と呼ばれる国際
標準方式が定められている。MPEGの規格に準拠して
圧縮された動画像データをリアルタイムで伸長するため
には膨大な計算量を必要とするため、従来は特別に設計
されたハードウエアが用いられていた。しかし、最近の
マイクロプロセッサの高性能化により、特別なハードウ
エアを備えていない通常のマイクロプロセッサのソフト
ウエアだけで実現することが可能となりつつある。
【0003】MPEGの圧縮および伸長アルゴリズムに
ついては、例えば「1991年4月、コミュニケーショ
ンズ・オブ・ザ・エーシーエム、第34巻、第4号(Com
munications of the ACM, Vol. 34, No. 4, April, 199
1)」に詳しく述べられている。MPEGの伸長アルゴリ
ズムは、おおまかに可変長符号の復号処理と、逆量子化
処理と、逆離散コサイン変換処理と、動き補償処理とか
らなる。このうち、動き補償処理は、動画像の時間的冗
長性を利用したもので前に伸長されたフレームから画像
の一部を切り出してきて画像を復元する処理である。切
り出す画像の位置は、動きベクトルと呼ばれるパラメー
タによって決定される。切り出されて復元される画像
は、縦が16画素からなり横が16画素からなるマクロ
ブロックと呼ばれる正方形の領域で、各画素の値は8ビ
ットで表現されている。
【0004】従来の動画像伸長装置として図4に示すよ
うなものが知られている。この従来の動画像伸長装置
は、CPU301と、内部メモリ装置302と、表示装
置303と、外部メモリ装置304と、キャッシュメモ
リ装置305と、を有している。MPEGで圧縮された
ビットストリームは、外部メモリ装置304に蓄えられ
る。ビットストリームは外部メモリ装置304から読み
出され、内部メモリ装置302に一時的に格納される。
内部メモリ装置302に格納されたビットストリーム
は、CPU301上で動作するデコードソフトウエアの
働きにより伸長され、その結果として画像データが内部
メモリ装置302に格納される。内部メモリ装置302
に格納された画像データは、CPU301上のソフトウ
エアにより表示用フォーマットに変換され、表示装置3
03に転送される。
【0005】図5は、MPEGで圧縮および伸長をおこ
なう際における画像フレームの順序を示すものである。
MPEGは、1フレームの画像を符号化するためのピク
チャとして、Iピクチャ、PピクチャおよびBピクチャ
という3種類のピクチャを有している。Iピクチャは、
動き補償処理を行わずに、そのフレーム内の情報だけを
用いて圧縮するピクチャである。Pピクチャは、そのフ
レームよりも過去のフレームの画像情報から予測するこ
とにより動き補償処理を行うピクチャである。Bピクチ
ャは、そのフレームよりも過去のフレームと未来のフレ
ームの両方の画像情報から双方向の予測をすることによ
り動き補償処理を行うピクチャである。
【0006】図5(A)は、MPEGで動画像を圧縮す
る際における典型的なピクチャタイプの割り当てを示す
ものである。フレーム#1は、Iピクチャで他のフレー
ムを参照せずに圧縮される。フレーム#2は、Bピクチ
ャでフレーム#1とフレーム#3を用いた双方向の動き
予測処理により圧縮される。フレーム#3は、Pピクチ
ャでフレーム#1を用いた動き予測処理により圧縮され
る。フレーム#4は、Bピクチャでフレーム#3とフレ
ーム#5を用いた双方向の動き予測処理により圧縮され
る。フレーム#5は、Pピクチャでフレーム#3を用い
た動き予測処理により圧縮される。フレーム#6は、B
ピクチャでフレーム#5とフレーム#7を用いた双方向
の動き予測処理により圧縮される。フレーム#7は、P
ピクチャでフレーム#5を用いた動き予測処理により圧
縮される。点線の矢印はフレーム間の参照関係を表して
いる。
【0007】図5(B)は、上述したピクチャタイプに
従って圧縮および伸長を行う場合における各フレームの
処理順序を示すものである。圧縮する際には、まずフレ
ーム#1が圧縮され、フレーム#1の画像を参照してフ
レーム#3が圧縮される。フレーム#1とフレーム#3
の画像を参照してフレーム#2が圧縮される。フレーム
#3の画像を参照してフレーム#5が圧縮される。フレ
ーム#3とフレーム#5の画像を参照してフレーム#4
が圧縮される。フレーム#5の画像を参照してフレーム
#7が圧縮される。フレーム#5とフレーム#7の画像
を参照してフレーム#6が圧縮される。圧縮した画像を
記述するMPEGビットストリームには、フレームを圧
縮した順番に各フレームの情報が記述されている。すな
わち、元々の動画像のフレームの順序とは異っている。
【0008】このようにして圧縮されたMPEGビット
ストリームを伸長する際には、まずフレーム#1が伸長
される。伸長されたフレーム#1の画像を参照してフレ
ーム#3が伸長される。伸長されたフレーム#1とフレ
ーム#3の画像を参照してフレーム#2が伸長される。
伸長されたフレーム#3の画像を参照してフレーム#5
が伸長される。伸長されたフレーム#3とフレーム#5
の画像を参照してフレーム#4が伸長される。伸長され
たフレーム#5の画像を参照してフレーム#7が伸長さ
れる。伸長されたフレーム#5とフレーム#7の画像を
参照してフレーム#6が伸長される。
【0009】図5(C)は、伸長した画像を表示するた
めの順序を示すものである。図4に示したような動画像
伸長装置で伸長と表示を行う場合には、伸長した各フレ
ームを並べ替えながら表示する必要があるために、次の
ような手順で伸長と表示が行われる。すなわち、最初に
フレーム#1を伸長した後は何も表示しない。フレーム
#3を伸長した後でフレーム#1の表示処理を行う。フ
レーム#2を伸長した後でフレーム#2の表示処理を行
う。フレーム#5を伸長した後でフレーム#3の表示処
理を行う。以下、図に示した通りの手順である。この手
順は、IピクチャまたはPピクチャの伸長を行った場合
に、そのフレームの直前のIピクチャまたはPピクチャ
の表示処理を続けて実行し、Bピクチャの伸長を行った
場合に、そのフレームの表示処理を実行すると定式化さ
れる。
【0010】デコードソフトウエアの動作を図6のフロ
ーチャートを参照して説明する。1フレームの伸長処理
をする時には、フレームデコード開始と判断されると
(ステップS401)、1マクロブロックごとに可変長
符号復号と(ステップS402)、逆量子化と(ステッ
プS403)、逆DCTと(ステップS404)、動き
補償と(ステップS405)、が繰り返される。1フレ
ームの最後のマクロブロックを処理したら(ステップS
406)、1フレームの伸長処理が終了となる(ステッ
プS407)。その後、上記の表示手順にしたがって、
1フレームの画像データが表示装置303に転送される
(ステップS408)。
【0011】図4に示すような動画像伸長装置における
CPU301には、キャッシュメモリ装置305が内蔵
されている。キャッシュメモリ装置305は、内部メモ
リ装置302に比べて容量が小さく高速でアクセスでき
るメモリ装置である。CPU301は、最近アクセスし
た内部メモリ装置302の内容をキャッシュメモリ装置
305に蓄え、アクセスしてから長時間アクセスのない
内容をキャッシュメモリ装置305から追い出し、内部
メモリ装置302に書き戻すように制御している。すな
わち、CPU301は、一度アクセスした内容をその後
すぐにアクセスする限りにおいてはキャッシュメモリ装
置305に内容が残っているのでCPU301のマシン
サイクル以内にアクセスすることができる。このことを
キャッシュヒットと呼ぶ。しかし、CPU301は、ま
だ一度もアクセスしていない内容または一度アクセスし
てから長時間アクセスしなかったためにキャッシュメモ
リ装置305に蓄えられていない内部メモリ装置302
の内容をアクセスする場合、CPUのマシンサイクルの
数倍から数十倍の時間がかかる。このことをキャッシュ
ミスと呼ぶ。
【0012】一般的なマイクロプロセッサでは、キャッ
シュミスによりデータのアクセスを待っている間、プロ
セッサ全体の動作が止まってしまうため、ソフトウエア
の速度を向上させるためにはキャッシュメモリ装置を有
効に使えるようにすることが重要である。現時点でのマ
イクロプロセッサでは、内蔵されているキャッシュメモ
リ装置の容量は最大数十キロバイトである。システムの
構成によっては、CPU301の外側に二次キャッシュ
メモリ装置と呼ばれるキャッシュメモリ装置305より
も大容量のキャッシュメモリ装置を配置する場合もあ
る。二次キャッシュメモリ装置の容量は現時点では最大
数百キロバイトである。一方、MPEGで扱われる画像
の1フレームの容量は、画面サイズによって数十キロバ
イトから数メガバイトまで考えられる。MPEG2メイ
ンプロファイル・メインレベルと呼ばれる現在最も汎用
的に用いられている規格の場合は、1フレームが数百キ
ロバイトとなるので、この場合には二次キャッシュ装置
には最大でも1フレームの画像しか格納することができ
ない。
【0013】
【発明が解決しようとする課題】従来の動画像伸長装置
でMPEG2メインプロファイル・メインレベルの伸長
を行なうときのキャッシュメモリ装置305の動作を説
明する。例えば、図5(B)のフレーム#3を伸長して
からフレーム#1を表示装置303に転送する際の一連
の動作について考察すると、フレーム#3の伸長処理の
うち動き補償処理においてフレーム#1を参照するため
に、伸長されたフレーム#3の画像と合わせて2フレー
ム分の画像にアクセスする必要がある。キャッシュメモ
リ装置305には2フレーム分の画像は格納できないた
め、フレーム#3の伸長処理が終了した段階では、キャ
ッシュメモリ装置305にはフレーム#1とフレーム#
3の一部だけが格納されている。ここで、MPEG伸長
アルゴリズムは画面の右から左へ下方に向かって処理し
ていくため、多くの場合に参照するフレームも上端から
下端に向けてアクセスされる。従って、伸長の処理が進
むにつれて画面の上端に近い部分のデータがキャッシュ
メモリ装置305から追い出されていき、最終的には下
端に近い部分のデータだけがキャッシュメモリ装置30
5に残ることになる。引き続いてフレーム#1を表示装
置303に転送する処理において、フレーム#1の画像
データを画面の上端から順々にアクセスすることになる
が、上端に近い部分のデータにアクセスしているときに
は、キャッシュメモリ装置305にはフレーム#1の下
端に近い部分のデータしか残っていないため、全てのア
クセスがキャッシュミスを引き起こす。また、上端に近
い部分のアクセスをしている段階でキャッシュメモリ装
置305に残っていた下端に近い部分のデータが追い出
されるため、全てのアクセスがキャッシュミスを引き起
こすという問題がある。
【0014】次に、図5(B)のフレーム#2を伸長し
てからフレーム#2を表示装置303に転送する一連の
動作について考察する。フレーム#2の伸長処理のうち
動き補償においてフレーム#1とフレーム#3を参照す
るため、計3フレーム分の画像にアクセスすることにな
る。フレーム#2の伸長処理を開始する時点では、上記
の説明により、フレーム#1の下端に近いデータだけが
キャッシュメモリ装置305に残っている。フレーム#
1とフレーム#3とフレーム#2の画像は、共に上端か
ら下端に向けてアクセスされるため、伸長処理における
全てのアクセスがキャッシュミスを引き起こす。フレー
ム#2の伸長処理が終了した段階では、フレーム#1と
フレーム#3とフレーム#2の画像の下端に近い部分の
データだけがキャッシュメモリ装置305に残ってい
る。引き続いてフレーム#3を表示装置303に転送す
る処理において、フレーム#3の画像データを上端から
順々にアクセスすることになるが、ここでもフレーム#
1の表示装置303への転送処理と同様に全てのアクセ
スがキャッシュミスを引き起こすという問題がある。
【0015】このように従来の動画像伸長装置では、伸
長されたフレームを並べ替えて表示するために、伸長し
た画像データを一度内部メモリ装置302に格納し、そ
のフレームを表示する順番が来たときに内部メモリ装置
302からCPU301を介して表示装置303へ転送
している。そのため、従来の動画像伸長装置では、動き
補償処理と表示装置への転送処理においてキャッシュミ
スが多発し、デコードソフトウエアの処理速度が低下す
るという問題がある。
【0016】本発明の目的は、動き補償処理と表示装置
への転送処理におけるキャッシュミスを抑制し、デコー
ドソフトウエアの処理速度の低下を防ぐことができる動
画像伸長装置及び方法を提供することにある。
【0017】
【課題を解決するための手段】前記課題を解決するため
に、本発明の第1のものは、CPUとメモリ装置と表示
装置とCPUで動作するデコードソフトウエアとを有す
る動画像伸長装置において、IピクチャまたはPピクチ
ャの伸長処理をする時に動き補償処理の直前にそのフレ
ームの直前のIピクチャまたはPピクチャ内において現
在伸長中のマクロブロックと同じ位置にあるマクロブロ
ックを表示装置に転送する転送手段を有することを特徴
とする。
【0018】本発明の第2のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを有する動画像伸長装置において、Bピクチャの伸長
処理をする時に動き補償処理の後で伸長したマクロブロ
ックを表示装置へ転送する転送手段を有することを特徴
とする。
【0019】本発明の第3のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを有する動画像伸長装置において、Iピクチャまたは
Pピクチャの伸長処理をする時に動き補償処理の直前に
そのフレームの直前のIピクチャまたはPピクチャ内に
おいて現在伸長中のマクロブロックと同じ位置にあるマ
クロブロックを表示装置に転送する第1の転送手段と、
Bピクチャの伸長処理をする時に動き補償処理の後で伸
長したマクロブロックを表示装置へ転送する第2の転送
手段とを有することを特徴とする。
【0020】本発明の第4のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを有する動画像伸長装置において、Iピクチャまたは
Pピクチャの伸長処理をする時に、そのフレームの直前
のIピクチャまたはPピクチャ内の所定数のマクロブロ
ックを表示装置に転送した後にこれらと同数のマクロブ
ロックに対する伸長処理を行うという手順を全マクロブ
ロックの伸長処理が終了するまで繰り返す繰り返し手段
を有することを特徴とする。
【0021】本発明の第5のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを有する動画像伸長装置において、Iピクチャまたは
Pピクチャの伸長処理をする時にそのフレームの直前の
IピクチャまたはPピクチャ内の所定数のマクロブロッ
クを前記表示装置に転送した後にこれらと同数のマクロ
ブロックに対する伸長処理を行うという手順を全マクロ
ブロックの伸長処理が終了するまで繰り返す繰り返し手
段と、Bピクチャの伸長処理をする時に動き補償処理の
後で伸長したマクロブロックを表示装置へ転送する転送
手段とを有することを特徴とする。
【0022】本発明の第6のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを用いる動画像伸長方法において、Iピクチャまたは
Pピクチャの伸長処理をする時に動き補償処理の直前に
そのフレームの直前のIピクチャまたはPピクチャ内に
おいて現在伸長中のマクロブロックと同じ位置にあるマ
クロブロックを表示装置に転送するステップを有するこ
とを特徴とする。
【0023】本発明の第7のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを用いる動画像伸長方法において、Bピクチャの伸長
処理をする時に動き補償処理の後で伸長したマクロブロ
ックを表示装置へ転送するステップを有することを特徴
とする。
【0024】本発明の第8のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを用いる動画像伸長方法において、Iピクチャまたは
Pピクチャの伸長処理をする時に動き補償処理の直前に
そのフレームの直前のIピクチャまたはPピクチャ内に
おいて現在伸長中のマクロブロックと同じ位置にあるマ
クロブロックを表示装置に転送する第1のステップと、
Bピクチャの伸長処理をする時に動き補償処理の後で伸
長したマクロブロックを表示装置へ転送する第2のステ
ップとを有することを特徴とする。
【0025】本発明の第9のものは、CPUとメモリ装
置と表示装置とCPUで動作するデコードソフトウエア
とを用いる動画像伸長方法において、Iピクチャまたは
Pピクチャの伸長処理をする時にそのフレームの直前の
IピクチャまたはPピクチャ内の所定数のマクロブロッ
クを表示装置に転送した後にこれらと同数のマクロブロ
ックに対する伸長処理を行うという手順を全マクロブロ
ックの伸長処理が終了するまで繰り返すステップを有す
ることを特徴とする。
【0026】本発明の第10のものは、CPUとメモリ
装置と表示装置とCPUで動作するデコードソフトウエ
アとを用いる動画像伸長方法において、Iピクチャまた
はPピクチャの伸長処理をする時にそのフレームの直前
のIピクチャまたはPピクチャ内の所定数のマクロブロ
ックを表示装置に転送した後にこれらと同数のマクロブ
ロックに対する伸長処理を行うという手順を全マクロブ
ロックの伸長処理が終了するまで繰り返すステップと、
Bピクチャの伸長処理をする時に動き補償処理の後で伸
長したマクロブロックを表示装置へ転送するステップと
を有することを特徴とする。
【0027】
【発明の実施の形態】次に、本発明の実施の形態を添付
図面に基づいて詳細に説明する。図1は、本発明の第1
の実施の形態としての動画像伸長装置を示すものであ
る。本発明の第1の実施の形態としての動画像伸長装置
は、CPU1と内部メモリ装置2と表示装置3と外部メ
モリ装置4とキャッシュメモリ装置5とを有している。
CPU1は、内部メモリ装置2と表示装置3と外部メモ
リ装置4とにバス6を介して接続されている。CPU1
は、キャッシュメモリ装置5を内蔵し、また、デコード
ソフトウエアを記憶している。
【0028】MPEGで圧縮されたビットストリーム
は、外部メモリ装置4に蓄えられる。ビットストリーム
は外部メモリ装置4から読み出され、内部メモリ装置2
に一時的に格納される。内部メモリ装置2に格納された
ビットストリームはCPU1上で動作するデコードソフ
トウエアの働きにより伸長され、その結果として画像デ
ータが、伸長しているフレームのピクチャタイプによっ
て内部メモリ装置2に格納され、または表示用フォーマ
ットに変換されて表示装置3へ転送される。内部メモリ
装置2に格納された画像データは、そのフレームを表示
する順番になったら、CPU1上のソフトウエアにより
表示用フォーマットに変換され、表示装置3に転送され
る。
【0029】次に、本発明の第1の実施の形態としての
動画像伸長装置の動作を図1および図2を参照して説明
する。図2は、本発明の第1の実施の形態としての動画
像伸長装置の動作を示すフローチャートである。
【0030】1フレームの伸長処理をする時に、CPU
1は、まずフレームデコード開始であるか否かを判断す
る(ステップS101)。ステップS101においてフ
レームデコード開始である時には、CPU1は、マクロ
ブロックごとに可変長符号復号と(ステップS10
2)、逆量子化と(ステップS103)、逆DCTと
(ステップS103)、を行なう。次に、CPU1は現
在伸長しているフレームがIピクチャまたはPピクチャ
であるか否かを判断する(ステップS105)。ステッ
プS105において現在伸長しているフレームがIピク
チャまたはPピクチャである時には、その直前のIピク
チャまたはPピクチャ(参照フレーム)の1マクロブロ
ックを表示装置3に転送し(ステップS106)、その
後、動き補償を行う(スッテプS107)。また、ステ
ップS105において現在伸長しているフレームがIピ
クチャまたはPピクチャでない時には、ステップS10
7で動き補償を行う。
【0031】次に、CPU1は現在伸長しているフレー
ムがBピクチャであるか否かを判断する(ステップS1
08)。ステップS108において現在伸長しているフ
レームがBピクチャである時には、伸長したマクロブロ
ックを表示装置3に転送してから(ステップS10
9)、CPU1は1フレームの最後のマクロブロックで
あるか否かを判断する(ステップS110)。また、ス
テップS108において現在伸長しているフレームがB
ピクチャでない時にはステップS110に進む。ステッ
プS110において1フレームの最後のマクロブロック
でない時にはステップS102へ戻る。ステップS11
0において1フレームの最後のマクロブロックである時
には、1フレームのフレームデコードを終了してステッ
プS101へ戻る(ステップS111)。
【0032】本発明の第1の実施の形態としての動画像
伸長装置においては、Pピクチャの伸長処理においてマ
クロブロックの動き補償処理を行う直前に参照するフレ
ームの同じ位置のマクロブロックを表示装置3へ転送す
るために、そのマクロブロックのデータはキャッシュメ
モリ装置5に格納されている。このことにより、動き補
償処理でキャッシュミスが発生する確率を低くすること
ができる。
【0033】次に、本発明の第2の実施の形態としての
動画像伸長装置を図1および図3に基づいて詳細に説明
する。図1に示すように、本発明の第2の実施の形態と
しての動画像伸長装置は、CPU1と、内部メモリ装置
2と、表示装置3と、外部メモリ装置4と、キャッシュ
メモリ装置5と、を有している。CPU1は、内部メモ
リ装置2と表示装置3と外部メモリ装置4とにバス6を
介して接続されている。CPU1は、キャッシュメモリ
装置5を内蔵し、また、デコードソフトウエアを記憶し
ている。
【0034】図3は、本発明の第2の実施の形態として
の動画像伸長装置の動作を示すフローチャートである。
1フレームの伸長処理をする時に、CPU1は、フレー
ムデコード開始であるか否かを判断する(ステップS2
01)。ステップS201においてフレームデコード開
始である時には、CPU1は、[カウンタ]=0とし
(ステップS202)、現在伸長しているフレームがI
ピクチャまたはPピクチャであるか否かを判断する(ス
テップS203)。ステップS203において現在伸長
しているフレームがIピクチャまたはPピクチャである
時には、その直前のIピクチャまたはPピクチャ(参照
フレーム)のK個のマクロブロックを表示装置3に転送
する(ステップS204)。ステップS204の処理の
後に、または、ステップS203において現在伸長して
いるフレームがIピクチャまたはPピクチャでない時
に、CPU1は1マクロブロックごとに可変長符号復号
と(ステップS205)、逆量子化と(ステップS20
6)、逆DCTと(ステップS207)、動き補償と
(ステップS208)、を行なう。
【0035】次に、CPU1は現在伸長しているフレー
ムがBピクチャであるか否かを判断する(ステップS2
09)。ステップS209で現在伸長しているフレーム
がBピクチャである時には、伸長した1マクロブロック
を表示装置3に転送し(ステップS210)、[カウン
タ]=[カウンタ]+1とする(ステップS211)。
また、ステップS209で現在伸長しているフレームが
Bピクチャでない時には、ステップS211へ進む。
【0036】次に、[カウンタ]≧Kであるか否かを判
断する(ステップS212)。ステップS212におい
て[カウンタ]≧Kでない時には、ステップS205へ
戻る。ステップS212において[カウンタ]≧Kであ
る時には、1フレームの最後のマクロブロックであるか
否かを判断する(ステップS213)。ステップS21
3において1フレームの最後のマクロブロックでない時
にはステップS202へ戻る。ステップS213におい
て1フレームの最後のマクロブロックである時には、フ
レームデコードを終了し(ステップS214)、ステッ
プS201へ戻る。
【0037】ここで、ある定数Kはキャッシュメモリ装
置5のサイズと、伸長する画像のサイズによって最適な
値が異なる。例えば256キロバイトのキャッシュメモ
リ装置5を含む動画像伸長装置で、横が720画素であ
り、縦が480画素であるMPEG2メインプロファイ
ル・メインレベルの画像を伸長する場合、Kを画面上の
横1列のマクロブロックの個数である45とする。
【0038】第2の実施の形態としての動画像伸長装置
は、CPU1に内蔵されているキャッシュメモリ装置5
が数百キロバイト程度と十分大きい場合またはCPU1
の外側に数百キロバイト程度の二次キャッシュメモリ装
置が配置されている場合に効果がある。第2の実施の形
態としての動画像伸長装置では、Pピクチャの伸長処理
において、所定数のマクロブロックの伸長処理を行う前
に、参照するフレームの同じ位置の所定数のマクロブロ
ックを表示装置3へ転送するために、そのマクロブロッ
クのデータはキャッシュメモリ装置5に格納されてい
る。このことにより、動き補償処理でキャッシュミスが
発生する確率を低くすることができる。伸長しているマ
クロブロックに対して、参照フレーム内でその近くにあ
るマクロブロックがキャッシュメモリ装置5に格納され
ているため、動きが小さければキャッシュミスを起こさ
ずに動き補償処理を行える。
【0039】また、本発明の第2の実施の形態としての
動画像伸長装置は、Bピクチャの伸長処理において、動
き補償処理が終了したマクロブロックを内部メモリ装置
2に格納せずに表示装置3に転送するために、再度内部
メモリ装置2から読み込む必要がなく、表示装置3に転
送する処理におけるキャッシュミスの発生をなくすこと
ができる。
【0040】本発明は、Pピクチャの伸長処理において
マクロブロックの動き補償処理を行う直前に参照するフ
レームの同じ位置の1個または所定数のマクロブロック
を表示装置3へ転送するために、そのマクロブロックの
データはキャッシュメモリ装置3に格納されている。こ
のことにより、動き補償処理でキャッシュミスが発生す
る確率を低くすることができる。これは、一般的な動画
像には、例えば背景のように動きの少ない部分がある程
度存在するので、動き補償処理では参照するフレーム内
の同じ位置か近い位置にある領域を利用することが多い
ということに基づいている。
【0041】また、本発明は、Bピクチャの伸長処理に
おいては動き補償処理が終了したマクロブロックを内部
メモリ装置2に格納せずに表示装置3に転送するため、
表示装置3に転送するために再度内部メモリ装置2から
読み込む必要がなく、表示装置3に転送する処理におけ
るキャッシュミスの発生をなくすことができる。
【0042】
【発明の効果】本発明は、動き補償処理と表示装置への
転送処理におけるキャッシュミスを減らすことにより、
デコードソフトウエアの処理速度の低下を防ぐことがで
きる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態としての動画像伸長
装置を示すブロック図である。
【図2】本発明の第1の実施の形態としての動画像伸長
装置の動作を示すフローチャートである。
【図3】本発明の第2の実施の形態としての動画像伸長
装置の動作を示すフローチャートである。
【図4】従来の動画像伸長装置を示すブロック図であ
る。
【図5】動画像伸長処理におけるフレームの処理順序を
説明するための図である。
【図6】従来の動画像伸長装置の動作を説明するための
フローチャートである。
【符号の説明】
1 CPU 2 内部メモリ装置 3 表示装置 4 外部メモリ装置 5 キャッシュメモリ装置 6 バス 301 CPU 302 内部メモリ装置 303 表示装置 304 外部メモリ装置 305 キャッシュメモリ装置 306 バス

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを有する動画像
    伸長装置において、IピクチャまたはPピクチャの伸長
    処理をする時に動き補償処理の直前にそのフレームの直
    前のIピクチャまたはPピクチャ内において現在伸長中
    のマクロブロックと同じ位置にあるマクロブロックを前
    記表示装置に転送する転送手段を有することを特徴とす
    る動画像伸長装置。
  2. 【請求項2】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを有する動画像
    伸長装置において、Bピクチャの伸長処理をする時に動
    き補償処理の後で伸長したマクロブロックを表示装置へ
    転送する転送手段を有することを特徴とする動画像伸長
    装置。
  3. 【請求項3】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを有する動画像
    伸長装置において、IピクチャまたはPピクチャの伸長
    処理をする時に動き補償処理の直前にそのフレームの直
    前のIピクチャまたはPピクチャ内において現在伸長中
    のマクロブロックと同じ位置にあるマクロブロックを前
    記表示装置に転送する第1の転送手段と、 Bピクチャの伸長処理をする時に動き補償処理の後で伸
    長したマクロブロックを表示装置へ転送する第2の転送
    手段とを有することを特徴とする動画像伸長装置。
  4. 【請求項4】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを有する動画像
    伸長装置において、IピクチャまたはPピクチャの伸長
    処理をする時に、そのフレームの直前のIピクチャまた
    はPピクチャ内の所定数のマクロブロックを表示装置に
    転送した後にこれらと同数のマクロブロックに対する伸
    長処理を行うという手順を全マクロブロックの伸長処理
    が終了するまで繰り返す繰り返し手段を有することを特
    徴とする動画像伸長装置。
  5. 【請求項5】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを有する動画像
    伸長装置において、IピクチャまたはPピクチャの伸長
    処理をする時にそのフレームの直前のIピクチャまたは
    Pピクチャ内の所定数のマクロブロックを前記表示装置
    に転送した後にこれらと同数のマクロブロックに対する
    伸長処理を行うという手順を全マクロブロックの伸長処
    理が終了するまで繰り返す繰り返し手段と、 Bピクチャの伸長処理をする時に動き補償処理の後で伸
    長したマクロブロックを前記表示装置へ転送する転送手
    段とを有することを特徴とする動画像伸長装置。
  6. 【請求項6】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを用いる動画像
    伸長方法において、IピクチャまたはPピクチャの伸長
    処理をする時に動き補償処理の直前にそのフレームの直
    前のIピクチャまたはPピクチャ内において現在伸長中
    のマクロブロックと同じ位置にあるマクロブロックを前
    記表示装置に転送するステップを有することを特徴とす
    る動画像伸長方法。
  7. 【請求項7】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを用いる動画像
    伸長方法において、Bピクチャの伸長処理をする時に動
    き補償処理の後で伸長したマクロブロックを表示装置へ
    転送するステップを有することを特徴とする動画像伸長
    方法。
  8. 【請求項8】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを用いる動画像
    伸長方法において、IピクチャまたはPピクチャの伸長
    処理をする時に動き補償処理の直前にそのフレームの直
    前のIピクチャまたはPピクチャ内において現在伸長中
    のマクロブロックと同じ位置にあるマクロブロックを前
    記表示装置に転送する第1のステップと、 Bピクチャの伸長処理をする時に動き補償処理の後で伸
    長したマクロブロックを表示装置へ転送する第2のステ
    ップとを有することを特徴とする動画像伸長方法。
  9. 【請求項9】 CPUとメモリ装置と表示装置と前記C
    PUで動作するデコードソフトウエアとを用いる動画像
    伸長方法において、IピクチャまたはPピクチャの伸長
    処理をする時にそのフレームの直前のIピクチャまたは
    Pピクチャ内の所定数のマクロブロックを表示装置に転
    送した後にこれらと同数のマクロブロックに対する伸長
    処理を行うという手順を全マクロブロックの伸長処理が
    終了するまで繰り返すステップを有することを特徴とす
    る動画像伸長方法。
  10. 【請求項10】 CPUとメモリ装置と表示装置と前記
    CPUで動作するデコードソフトウエアとを用いる動画
    像伸長方法において、IピクチャまたはPピクチャの伸
    長処理をする時にそのフレームの直前のIピクチャまた
    はPピクチャ内の所定数のマクロブロックを前記表示装
    置に転送した後にこれらと同数のマクロブロックに対す
    る伸長処理を行うという手順を全マクロブロックの伸長
    処理が終了するまで繰り返すステップと、 Bピクチャの伸長処理をする時に動き補償処理の後で伸
    長したマクロブロックを前記表示装置へ転送するステッ
    プとを有することを特徴とする動画像伸長方法。
JP08857098A 1998-04-01 1998-04-01 動画像伸長装置及び方法 Expired - Fee Related JP3372864B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP08857098A JP3372864B2 (ja) 1998-04-01 1998-04-01 動画像伸長装置及び方法
US09/285,043 US6320908B1 (en) 1998-04-01 1999-04-01 Moving pictures decompression device and method with reduced process speed of decoding software
EP19990106692 EP0971546A3 (en) 1998-04-01 1999-04-01 Moving pictures decompression device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08857098A JP3372864B2 (ja) 1998-04-01 1998-04-01 動画像伸長装置及び方法

Publications (2)

Publication Number Publication Date
JPH11289536A true JPH11289536A (ja) 1999-10-19
JP3372864B2 JP3372864B2 (ja) 2003-02-04

Family

ID=13946534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08857098A Expired - Fee Related JP3372864B2 (ja) 1998-04-01 1998-04-01 動画像伸長装置及び方法

Country Status (3)

Country Link
US (1) US6320908B1 (ja)
EP (1) EP0971546A3 (ja)
JP (1) JP3372864B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008038513A1 (en) * 2006-09-26 2008-04-03 Panasonic Corporation Decoding device, decoding method, decoding program, and integrated circuit
JP2010079535A (ja) * 2008-09-25 2010-04-08 Mitsubishi Electric Corp データアクセス装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829303B1 (en) * 1999-11-17 2004-12-07 Hitachi America, Ltd. Methods and apparatus for decoding images using dedicated hardware circuitry and a programmable processor
CN1792097A (zh) 2003-05-19 2006-06-21 皇家飞利浦电子股份有限公司 具有低存储器带宽要求的视频处理设备
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

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
US5778143A (en) * 1993-01-13 1998-07-07 Hitachi America, Ltd. Method and apparatus for the selection of data for use in VTR trick playback operation in a system using progressive picture refresh
US5329318A (en) * 1993-05-13 1994-07-12 Intel Corporation Method for optimizing image motion estimation
US5467131A (en) * 1993-12-30 1995-11-14 Hewlett-Packard Company Method and apparatus for fast digital signal decoding
US5696985A (en) * 1995-06-07 1997-12-09 International Business Machines Corporation Video processor
GB9512565D0 (en) * 1995-06-21 1995-08-23 Sgs Thomson Microelectronics Video signal processor
US5761423A (en) * 1995-11-14 1998-06-02 Industrial Technology Research Institute Scalable picture storage access architecture for video decoding
KR100194039B1 (ko) * 1996-04-19 1999-06-15 윤종용 엠펙 시스템의 우선순위 처리회로
JP3692613B2 (ja) 1996-05-20 2005-09-07 ソニー株式会社 情報処理方法及び情報処理装置
US6173366B1 (en) * 1996-12-02 2001-01-09 Compaq Computer Corp. Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage
US6061521A (en) * 1996-12-02 2000-05-09 Compaq Computer Corp. Computer having multimedia operations executable as two distinct sets of operations within a single instruction cycle
US5990958A (en) * 1997-06-17 1999-11-23 National Semiconductor Corporation Apparatus and method for MPEG video decompression
JPH11285004A (ja) * 1998-03-31 1999-10-15 Nec Corp 動画像伸長装置及び方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008038513A1 (en) * 2006-09-26 2008-04-03 Panasonic Corporation Decoding device, decoding method, decoding program, and integrated circuit
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 データアクセス装置

Also Published As

Publication number Publication date
JP3372864B2 (ja) 2003-02-04
EP0971546A2 (en) 2000-01-12
US6320908B1 (en) 2001-11-20
EP0971546A3 (en) 2003-11-12

Similar Documents

Publication Publication Date Title
US7965773B1 (en) Macroblock cache
US10542276B2 (en) Data caching method and apparatus for video decoder
US8619862B2 (en) Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream
US7916785B2 (en) Image processing apparatus and method
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
KR20070104568A (ko) 오버랩 평활화 및 인-루프 디블록킹의 구분적 프로세싱
EP2747434A1 (en) Video image compression/decompression device
JP4755624B2 (ja) 動き補償装置
JP4346573B2 (ja) 符号化装置と方法
CN112333446A (zh) 一种帧内块复制参考块压缩方法
JP3322233B2 (ja) 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体
KR100575578B1 (ko) 이동 단말 장치에서의 움직임 검출 방법
JP2006121702A (ja) 向上した圧縮速度を有する動画圧縮装置及びその方法
JP3372864B2 (ja) 動画像伸長装置及び方法
JP5346584B2 (ja) 復号装置、復号方法、復号プログラム及び集積回路
US20050168470A1 (en) Variable-length coding data transfer interface
JPH0937263A (ja) 動画圧縮装置
US5666115A (en) Shifter stage for variable-length digital code decoder
JPH11285004A (ja) 動画像伸長装置及び方法
CN1113638A (zh) 用于运动补偿视像解码器的存储系统
US20070153909A1 (en) Apparatus for image encoding and method thereof
US20050286803A1 (en) Image processing apparatus, display device, image processing method, and image processing program
JP3692613B2 (ja) 情報処理方法及び情報処理装置
JP2009060536A (ja) 画像符号化装置、画像符号化方法
JP2001045493A (ja) 動画像符号化装置、動画像出力装置、及び記憶媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010327

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

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees