JPH11215509A - Motion compensation processing method and recording medium with its processing program stored therein - Google Patents

Motion compensation processing method and recording medium with its processing program stored therein

Info

Publication number
JPH11215509A
JPH11215509A JP1471498A JP1471498A JPH11215509A JP H11215509 A JPH11215509 A JP H11215509A JP 1471498 A JP1471498 A JP 1471498A JP 1471498 A JP1471498 A JP 1471498A JP H11215509 A JPH11215509 A JP H11215509A
Authority
JP
Japan
Prior art keywords
data
area
motion compensation
reference area
motion
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
JP1471498A
Other languages
Japanese (ja)
Other versions
JP3123496B2 (en
Inventor
Kouhei Nadehara
恒平 撫原
Riisuke Hanno
リースケ ハンノ
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 JP1471498A priority Critical patent/JP3123496B2/en
Publication of JPH11215509A publication Critical patent/JPH11215509A/en
Application granted granted Critical
Publication of JP3123496B2 publication Critical patent/JP3123496B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To accelerate the software moving picture experts group MPEG video expansion processing by reducing the occurrence of data cache mistakes in the motion compensation processing on a conventional processor that is provided with a preload device of data to a data cache. SOLUTION: After expanding a motion vector 48 of a macro block by a computing device, an address of an area 46 adjacent to the right of a reference area 45 pointed out by the motion vector 48 is given to a data cache controller, and a preload instruction is issued to preload data in this area from a main storage to the data cache. When a succeeding adjacent macro block is expanded, a probability of the preloaded area to be hit as reference area is high, and data access to the reference area 45 is hit to the data cache with high probability, so that the motion compensation processing is conducted at high speed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は動き補償処理方法及
び動き補償処理システム並びにコンピュータによって、
動き推定を用いて圧縮されたビデオの伸長時の動きを補
償する動き補償処理プログラムを記録した記録媒体に関
し、特に圧縮されたビデオ信号の伸長に用いられる動き
補償処理方法及び動き補償処理システム並びにコンピュ
ータによって、動き推定を用いて圧縮されたビデオの伸
長時の動きを補償する動き補償処理プログラムを記録し
た記録媒体に関する。
The present invention relates to a motion compensation processing method, a motion compensation processing system, and a computer.
TECHNICAL FIELD The present invention relates to a recording medium on which a motion compensation processing program for compensating motion during expansion of a compressed video using motion estimation is recorded, and particularly to a motion compensation processing method, a motion compensation processing system, and a computer used for decompression of a compressed video signal. The present invention relates to a recording medium on which a motion compensation processing program for compensating the motion of a video compressed by using motion estimation when the video is expanded is recorded.

【0002】[0002]

【従来の技術】現在、音声、オーディオ、静止画像、ビ
デオ等をディジタルデータ化し、ハードディスク、磁気
テープ、CD―ROM、DVD―ROM等に記録した
り、ネットワークを通じて転送したり、衛星等により放
送した後、再生することが一般的に行われている。これ
らいわゆる「マルチメディアデータ」は膨大であるた
め、圧縮技術を用いてデータ量を削減して記録、転送を
行い、再生時に圧縮されたデータを伸長することが行わ
れる。
2. Description of the Related Art At present, audio, audio, still images, video, and the like are converted into digital data, which is recorded on a hard disk, a magnetic tape, a CD-ROM, a DVD-ROM, transmitted through a network, or broadcast by satellite. After that, it is common to play. Since these so-called "multimedia data" are enormous, they are recorded and transferred with a reduced data amount using a compression technique, and the compressed data is expanded during reproduction.

【0003】マルチメディアデータの圧縮時には、圧縮
後のデータの互換性を考慮し、国際標準規格に従ったデ
ータ形式に圧縮することが多い。例えば、単位時間あた
りのデータ量が特に多いビデオの場合、ITU―T勧告
H.261,H.262,H.263あるいはMPEG
(Moving Picture ExpertsGr
oup)に従ったビットストリームデータ形式が採用さ
れることが多い。現在、正式に制定されているMPEG
規格には、VHSビデオ品質の動画像再生が可能なMP
EG―1 Video(ISO/IEC11172−
2,“Information Technology
― Coding of Moving Pictu
res and Associated Audio
forDigital Storage Media
up to 1.5Mbit/s”)、及び放送品質の
動画再生が可能なMPEG―2Video(ISO/I
EC13818―2、“Information Te
chnology―Generic Coding o
f Moving Pictures andAsso
ciated Audio”)がある。
When compressing multimedia data, the data is often compressed into a data format in accordance with international standards in consideration of the compatibility of the data after compression. For example, in the case of a video having a particularly large amount of data per unit time, ITU-T Recommendation H. 261, H .; 262, H .; 263 or MPEG
(Moving Picture Experts Gr
In many cases, a bit stream data format according to “(out)” is adopted. Currently, the officially established MPEG
Standards include MP that can reproduce VHS video quality moving images.
EG-1 Video (ISO / IEC11172-
2. “Information Technology”
-Coding of Moving Pictu
res and associated audio
forDigital Storage Media
up to 1.5 Mbit / s ") and MPEG-2 Video (ISO / I
EC 13818-2, "Information Te
Chronology-Generic Coding o
f Moving Pictures and Asso
cited Audio ").

【0004】これらのビデオ圧縮方式は、動き推定(M
otion Estimation;以下MEと呼
ぶ)、離散コサイン変換(Discrete Cosi
ne Transform;以下DCTと呼ぶ)、量子
化(Quantization)、可変長符号化(Va
riable Length Coding)等の操作
により、ビデオのデータ量を数十分の一に圧縮する。圧
縮されたビデオ信号を伸長するときには、これらの逆操
作、すなわち可変長復号(Variable Leng
th Decoding)、逆量子化(Inverse
Quantization)、逆離散コサイン変換
(Inverse Discrete Cosine
Transform;以下IDCTと呼ぶ)、動き補償
(MotionCompensation;以下MCと
呼ぶ)を行う。
[0004] These video compression schemes use motion estimation (M
Omission Estimation (hereinafter referred to as ME), Discrete Cosine Transform (Discrete Cosine
ne Transform; hereinafter referred to as DCT), quantization (Quantization), and variable-length coding (Va).
The data amount of the video is compressed to several tenths by an operation such as a link length coding. When decompressing a compressed video signal, the reverse of these operations, that is, variable length decoding (Variable Length) is performed.
th Decoding), inverse quantization (Inverse)
Quantization), Inverse Discrete Cosine Transform (Inverse Discrete Cosine)
Transform; hereinafter referred to as IDCT) and motion compensation (Motion Compensation; hereinafter referred to as MC).

【0005】これらのビデオ圧縮規格に従ったビデオの
リアルタイム圧縮及び伸長は、多大な演算量を要求する
ため、従来は専用LSIによって処理されてきた。とこ
ろが最近では、ビデオの伸長処理なら、汎用プロセッサ
上のソフトウェアのみで行えるようになってきている。
これは、RISC(Reduced Instruct
ion Set Computer)技術やスーパース
ケーラ技術等のアーキテクチャ上の工夫や、LSI製造
プロセスの微細化により、汎用プロセッサの基本性能が
上がっていること、及びマルチメディアデータの普及に
伴い、汎用プロセッサの命令セットにマルチメディア演
算に特化した専用命令が取り入れられるようになったこ
とによる。このようなマルチメディア専用命令を備えた
汎用プロセッサを採用した機器、例えばマルチメディア
パーソナルコンピュータでは、伸長ソフトウェアをイン
ストールするだけで圧縮されたビデオ信号のリアルタイ
ム再生(伸長及び表示)が可能になり、ビデオ伸長LS
Iを搭載しなくてもよいため、機器の低価格化を図るこ
とができる。
[0005] Real-time compression and decompression of video in accordance with these video compression standards requires a large amount of computation, and has conventionally been processed by a dedicated LSI. However, recently, video decompression processing can be performed only by software on a general-purpose processor.
This is a RISC (Reduced Instruction)
With the improvement of the basic performance of general-purpose processors due to architectural innovations such as ion set computer technology and superscaler technology, and the miniaturization of LSI manufacturing processes, and the spread of multimedia data, the instruction set of general-purpose processors This is due to the fact that special instructions specialized for multimedia operations have been introduced. In a device employing a general-purpose processor having such multimedia-dedicated instructions, for example, a multimedia personal computer, real-time playback (decompression and display) of a compressed video signal is enabled only by installing decompression software. Extension LS
Since it is not necessary to mount I, the price of the device can be reduced.

【0006】一方、家庭用のテレビゲーム機、車載ナビ
ゲーションシステム、インターネット端末等の低価格マ
ルチメディア機器では、現在のところMPEG―1クラ
スのビデオのソフトウェアによる伸長は達成されてい
る。しかし、これらの組込機器に用いられるプロセッサ
及びメモリシステムの性能の低さから、MPEG―2ク
ラスのビデオの完全なソフトウェア伸長は達成されてい
ない。したがって、これらの機器でMPEG―2クラス
のビデオのリアルタイム再生を行うには、処理の一部を
専用ハードウェアで代替せざるをえない。
On the other hand, in low-cost multimedia devices such as home video game machines, in-vehicle navigation systems, and Internet terminals, the extension of MPEG-1 class video by software has been achieved at present. However, due to the low performance of the processor and memory system used in these embedded devices, complete software decompression of MPEG-2 class video has not been achieved. Therefore, in order to perform real-time playback of MPEG-2 class video with these devices, a part of the processing must be replaced with dedicated hardware.

【0007】特に、ビデオ伸長処理で最も処理量を要す
るMC処理では、プロセッサ外部のメモリシステムを頻
繁にアクセスする。頻繁にアクセスが行われるので、低
価格システムでは外部メモリシステムが遅いため、性能
向上のネックとなる。
In particular, in the MC processing requiring the most processing amount in the video decompression processing, a memory system outside the processor is frequently accessed. Since the access is frequently performed, the external memory system is slow in a low-cost system, which is a bottleneck in performance improvement.

【0008】すなわち、パーソナルコンピュータのよう
な高性能システムでは、汎用プロセッサと主記憶である
大容量DRAM(Dynamic Random Ac
cess Memory)の間に2ないし3段の高速な
小容量のバッファメモリ(キャッシュメモリ)を設け、
プロセッサとキャッシュとの間及びキャッシュとDRA
Mとの間を64〜128ビット幅の広いバスで結ぶこと
で、比較的高速かつ大容量のメモリシステムを構成でき
る。しかし、組込機器では、せいぜい1段のキャッシュ
メモリを設け、プロセッサとキャッシュとの間及びキャ
ッシュとDRAMとの間も16〜32ビット幅のバスで
結ぶのみであり、低速なメモリシステムしか得られない
ためである。特に、キャッシュミス発生時、DRAM上
のデータをキャッシュメモリへ転送するための時間が長
く、キャッシュミスペナルティが大きいことが問題とな
る。
That is, in a high-performance system such as a personal computer, a general-purpose processor and a large-capacity DRAM (Dynamic Random Ac) as a main memory are used.
2 to 3 stages of high-speed, small-capacity buffer memory (cache memory)
Between processor and cache and between cache and DRA
A relatively high-speed and large-capacity memory system can be configured by connecting M with a wide bus having a width of 64 to 128 bits. However, in embedded devices, at most one stage of cache memory is provided, and only the connection between the processor and the cache and the connection between the cache and the DRAM are made by buses of 16 to 32 bits wide, so that only a low-speed memory system can be obtained. Because there is no. In particular, when a cache miss occurs, it takes a long time to transfer data on the DRAM to the cache memory, and the cache miss penalty is large.

【0009】ここで、MC処理についてMPEGビデオ
の例を用いて説明する。MPEGビデオでは、Barr
y G.Haskellらによる“Digital V
ideo: An Introduction to
MPEG―2”,Chapman & Hall,19
97,ISBN0―412―08411―2,第8章
(pp.146―155)に示されているように、動画
を構成する夫々の画像(ピクチャ;Picture)
を、3種類の符号化タイプのうちのいずれかで取扱い圧
縮する。その3種類の符号化タイプとは、Iピクチャ
(Intra Coded Picture)、Pピク
チャ(Predictive Coded Pictu
re)、Bピクチャ(Bidirectionally
Predictive Coded Pictur
e)である。
Here, the MC processing will be described using an example of MPEG video. For MPEG video, Barr
yG. "Digital V" by Haskell et al.
video: An Introduction to
MPEG-2 ", Chapman & Hall, 19
97, ISBN 0-412-08411-2, Chapter 8 (pp. 146-155), each image (picture) constituting a moving image
In one of the three encoding types. The three coding types are an I picture (Intra Coded Picture) and a P picture (Predictive Coded Picture).
re), B picture (Bidirectionally)
Predictive Coded Pictur
e).

【0010】これらのうち、Pピクチャ及びBピクチャ
では、MC処理を行って時間的な冗長性を削減すること
ができ、Iピクチャより高い圧縮効率を達成している。
MPEGビデオでは、1枚の画像(ピクチャ)をマクロ
ブロック(Macroblock)と呼ばれる縦16画
素、横16画素の矩形領域に分割して圧縮処理又は伸長
処理を行う。Pピクチャ又はBピクチャ中、MCを行う
かの否かはマクロブロック単位に選択できる。Pピクチ
ャ又はBピクチャの伸長処理において、MCを使用する
マクロブロックを伸長するには、マクロブロックごとに
付加された動きベクトル(Motion Vecto
r)が指し示す参照領域のデータを取得する必要があ
る。
[0010] Of these, the P picture and the B picture can reduce temporal redundancy by performing MC processing, and achieve higher compression efficiency than the I picture.
In MPEG video, one image (picture) is divided into a rectangular area of 16 pixels vertically and 16 pixels horizontally called a macroblock (Macroblock), and compression processing or expansion processing is performed. Whether to perform MC in a P picture or a B picture can be selected in macroblock units. In a P-picture or B-picture decompression process, in order to decompress a macroblock using MC, a motion vector (Motion Vecto) added for each macroblock is used.
It is necessary to acquire the data of the reference area indicated by r).

【0011】次に、MPEG―1ビデオ、もしくはMP
EG―2ビデオフレーム構造フレーム予測におけるMC
の例について図7及び図8を使って説明する。
Next, MPEG-1 video or MP
MC in EG-2 video frame structure frame prediction
Will be described with reference to FIGS. 7 and 8. FIG.

【0012】図7は、1個の動きベクトルを使ったPピ
クチャにおける順方向予測の例である。同図を参照する
と、主記憶60に現在、伸長処理を行っているPピクチ
ャ(現在のピクチャ61)と、MCに用いる参照ピクチ
ャ62が格納されている。参照ピクチャ62には、現在
デコード中のピクチャ61より早く表示するピクチャの
うち、最も近い伸長済みのIピクチャ又はPピクチャを
用いる。現在のピクチャ61の中で、斜線部のマクロブ
ロックの伸長処理を行うものとする。これを現在のマク
ロブロック63とする。このマクロブロック63の動き
ベクトルが圧縮されたビットストリーム中でMV1(6
5)のように与えられた場合、動き補償処理の前半で、
参照ピクチャ62中斜線部で示した縦16画素、横16
画素の矩形領域(参照領域64)のデータを取得し、動
き補償処理の後半の演算に用いる。
FIG. 7 shows an example of forward prediction in a P picture using one motion vector. Referring to FIG. 7, the main memory 60 stores a P picture (current picture 61) which is currently undergoing decompression processing, and a reference picture 62 used for MC. As the reference picture 62, the closest expanded I picture or P picture among the pictures displayed earlier than the currently decoded picture 61 is used. In the current picture 61, it is assumed that the macroblock in the shaded area is expanded. This is the current macro block 63. The motion vector of the macro block 63 is MV1 (6
When given as in 5), in the first half of the motion compensation process,
In the reference picture 62, 16 pixels vertically and 16 pixels horizontally shown by oblique lines.
The data of the rectangular area of the pixel (reference area 64) is acquired and used for the latter half of the motion compensation processing.

【0013】なお、ビットストリーム上は動きベクトル
の差分が記録されている。このため、前回伸長処理を行
ったマクロブロックの動きベクトルと差分から、処理す
るマクロブロックの動きベクトル(MV1)65を復元
する必要がある。
Note that a difference between motion vectors is recorded on the bit stream. For this reason, it is necessary to restore the motion vector (MV1) 65 of the macroblock to be processed from the difference between the motion vector of the macroblock subjected to the previous decompression processing and the difference.

【0014】図8は、2個の動きベクトルを使ったBピ
クチャにおける双方向予測の例である。同図を参照する
と、主記憶60に現在、伸長処理を行っているBピクチ
ャ(現在のピクチャ71)と、MCに用いる第2の参照
ピクチャ72と、第3の参照ピクチャ73とが格納され
ている。
FIG. 8 shows an example of bidirectional prediction in a B picture using two motion vectors. Referring to FIG. 5, the main memory 60 stores a B picture (current picture 71) currently undergoing decompression processing, a second reference picture 72 used for MC, and a third reference picture 73. I have.

【0015】第2の参照ピクチャ72は、現在デコード
中である現在ピクチャ71より早く表示するピクチャの
うち最も近い伸長済みのIピクチャ又はPピクチャであ
る、また、第3の参照ピクチャ73は、現在デコード中
のピクチャ71の後に表示するピクチャのうち最も近い
伸長済みのIピクチャ又はPピクチャである。
The second reference picture 72 is the closest decompressed I picture or P picture among the pictures displayed earlier than the current picture 71 currently being decoded, and the third reference picture 73 is the This is the closest expanded I picture or P picture among the pictures displayed after the picture 71 being decoded.

【0016】ここでは、現在のピクチャ71の中で、斜
線部のマクロブロックの伸長処理を行うものとする。こ
れを現在のマクロブロック74とする。このマクロブロ
ック74の動きベクトルが圧縮されたビットストリーム
中で第2の動きベクトル(MV2)77、第3の動きベ
クトル(MV3)78のように与えられた場合、動き補
償処理の前半で、第2の参照ピクチャ72、第3の参照
ピクチャ73中、夫々第2の参照領域75、第3の参照
領域76として斜線部で示した縦16画素、横16画素
の矩形領域のデータを取得して平均し、動き補償処理後
半の演算に用いる。
Here, it is assumed that the expansion processing of the macroblock in the hatched portion in the current picture 71 is performed. This is the current macro block 74. When the motion vector of the macro block 74 is given as a second motion vector (MV2) 77 and a third motion vector (MV3) 78 in the compressed bit stream, the first half of the motion compensation process is performed. In each of the second reference picture 72 and the third reference picture 73, data of a rectangular area of 16 pixels vertically and 16 pixels horizontally shown by hatched portions is obtained as a second reference area 75 and a third reference area 76, respectively. It is averaged and used for the latter half of the motion compensation processing.

【0017】動き補償演算の後半では、ビットストリー
ム上で動きベクトルの次に含まれるDCT及び量子化さ
れた誤差情報の係数群を取得し、逆量子化及び逆DCT
演算を行った後、参照領域のデータと加算する。これら
の演算は、縦8画素、横8画素の「ブロック」単位で行
う。現在最もよく用いられている4:2:0フォーマッ
トの場合、1マクロブロックは輝度信号4ブロック、色
差信号2ブロックの計6ブロックから構成される。
In the latter half of the motion compensation operation, the DCT included in the bit stream after the motion vector and the coefficient group of the quantized error information are obtained, and the inverse quantization and the inverse DCT are performed.
After performing the calculation, it is added to the data in the reference area. These calculations are performed in units of "blocks" of 8 pixels vertically and 8 pixels horizontally. In the 4: 2: 0 format, which is currently most frequently used, one macroblock is composed of four blocks of a luminance signal and two blocks of a chrominance signal, for a total of six blocks.

【0018】図7、図8のいずれの例でも、参照ピクチ
ャ及び伸長処理中のピクチャは、1枚あたり数百キロバ
イトの大きさがあるため、基本的に主記憶であるDRA
M上に格納され、必要に応じて一部分がデータキャッシ
ュに保持されることになる。MC処理では、すでに説明
したように、頻繁に伸長済みのピクチャへの読出しアク
セスを行うため、データキャッシュミスが頻繁に発生
し、データがキャッシュにロードされるまで汎用プロセ
ッサの処理が中断するため、MPEGビデオの伸長処理
の速度が低下する。特に、汎用プロセッサの性能にくら
べメモリシステムの性能が相対的に低い組込システムで
この性能低下が顕著である。
In each of the examples shown in FIGS. 7 and 8, the reference picture and the picture undergoing the decompression process have a size of several hundred kilobytes per picture.
M, and a portion will be held in the data cache as needed. In the MC processing, as described above, the read access to the decompressed picture is frequently performed, so that a data cache miss frequently occurs, and the processing of the general-purpose processor is interrupted until the data is loaded into the cache. The speed of the MPEG video decompression process is reduced. In particular, in an embedded system in which the performance of a memory system is relatively lower than that of a general-purpose processor, this performance decrease is remarkable.

【0019】組込機器向けプロセッサの中には、低速な
メモリシステムでも充分なメモリアクセス性能が得られ
るような機構を組込んだものがある。例えば第9回IE
EEHot Chipsシンポジウムで発表された日本
電気製のV830R/AVプロセッサ (Tomohi
sa Arai他、“Embedded Multim
edia Superscalar RISC Pro
cessor with Rambus Interf
ace,”IEEE Hot ChipsSympos
ium IX, Aug.1997)は、「プリロー
ド」命令を持ち、将来必要になることがわかっているデ
ータのアドレスをレジスタファイルからデータキャッシ
ュコントローラに与えている。こうすることで、そのデ
ータがデータキャッシュ上になくても、予め主記憶上か
らデータキャッシュ上にデータをロードしておくことが
できるようになっている。
Some processors for embedded devices incorporate a mechanism for obtaining sufficient memory access performance even with a low-speed memory system. For example, the 9th IE
NEC's V830R / AV processor announced at the EEHot Chips Symposium (Tomohi
sa Arai et al., "Embedded Multim
edia Superscalar RISC Pro
cessor with Rambus Interf
ace, "IEEE Hot ChipsSympos
ium IX, Aug. 1997) has a "preload" instruction, and provides the address of data known to be needed in the future from the register file to the data cache controller. In this way, even if the data is not in the data cache, the data can be loaded from the main memory to the data cache in advance.

【0020】プリロード動作は、プロセッサの演算命令
の実行と並列に動作するため、データロードに必要な時
間を演算時間の裏に隠すことができ、見かけ上のデータ
ロード時間を短縮できる。言い替えれば、将来のデータ
ロード時に起きるはずのデータキャッシュミスを、事前
に「プリロード」命令が発生させ、データキャッシュミ
スからの回復処理を演算命令と並列に行うことで、デー
タキャッシュミスペナルティを削減できる。
Since the preload operation operates in parallel with the execution of the operation instruction of the processor, the time required for data loading can be hidden behind the operation time, and the apparent data loading time can be reduced. In other words, data cache miss penalty can be reduced by generating a "preload" instruction in advance for a data cache miss that should occur at the time of future data loading and performing recovery processing from the data cache miss in parallel with the operation instruction. .

【0021】上述したV830R/AVプロセッサの場
合、1回のキャッシュミス処理で1キャッシュライン分
64バイトのデータを取得するのに、200MHzシス
テムクロック換算で約100クロックもかかる。このた
め、データキャッシュミスペナルティの削減が、全体の
速度向上に貢献する割合は大きい。MPEGビデオ伸長
処理では、メモリアクセスが多いために時間がかかって
いるMC部がプリロード命令により高速化できるため、
MPEGビデオ伸長処理全体も高速化できると期待され
る。
In the case of the V830R / AV processor described above, it takes about 100 clocks in 200 MHz system clock conversion to acquire 64 bytes of data for one cache line in one cache miss process. For this reason, the rate at which the reduction of the data cache miss penalty contributes to the overall speed improvement is large. In the MPEG video decompression processing, the MC section, which takes a long time due to the large number of memory accesses, can be accelerated by the preload instruction.
It is expected that the entire MPEG video decompression process can be accelerated.

【0022】なお、特開平7−23389号公報にも、
動き補償に関する技術が記載されている。
Incidentally, Japanese Patent Application Laid-Open No. 7-23389 also discloses that
A technique relating to motion compensation is described.

【0023】[0023]

【発明が解決しようとする課題】しかしながら、MPE
Gビデオ伸長処理の特性により、プリロード命令はその
ままではMCの高速化に有効ではない。このことについ
て、以下説明する。
SUMMARY OF THE INVENTION However, MPE
Due to the characteristics of the G video decompression process, the preload instruction is not effective for speeding up MC as it is. This will be described below.

【0024】図7及び図8で示したように、MCで必要
となる参照領域は動きベクトルにより示される。このた
め、参照領域の画素データを読出すためには動きベクト
ルの値が判明している必要がある。ところが、MPEG
ビデオのビットストリーム上において、符号化された動
きベクトルの差分値とDCT係数等のブロック層のデー
タは近接している。したがって、動きベクトルが得られ
てから、動きベクトルが指す参照領域のデータと逆DC
T結果の演算を始めるまでの時間間隔は短い。よって、
動きベクトルが指す参照領域のデータをキャッシュへプ
リロードするための充分な時間がない。このため、プリ
ロード命令はそのままではMCの高速化に有効ではない
のである。
As shown in FIGS. 7 and 8, the reference area required for the MC is indicated by a motion vector. Therefore, in order to read the pixel data of the reference area, the value of the motion vector needs to be known. However, MPEG
In the video bit stream, the difference value of the encoded motion vector and the data of the block layer such as the DCT coefficient are close to each other. Therefore, after the motion vector is obtained, the data of the reference area indicated by the motion vector and the inverse DC
The time interval until the calculation of the T result is started is short. Therefore,
There is not enough time to preload data in the reference area indicated by the motion vector into the cache. Therefore, the preload instruction as it is is not effective for speeding up MC.

【0025】ところで、あるマクロブロックのMCに必
要なデータを主記憶上から取得するには、最低でも千数
百クロック必要である。例えば、あるマクロブロックの
輝度成分のMC処理のために、図9に示されているよう
に主記憶に割り付けられた縦横16画素の参照領域を読
出すものとする。図9においては、主記憶60中に伸長
処理中の現在のピクチャ81と参照ピクチャ82とが格
納されている。
By the way, in order to acquire data necessary for the MC of a certain macro block from the main memory, at least one thousand and several hundred clocks are required. For example, it is assumed that, for MC processing of a luminance component of a certain macroblock, a reference area of 16 pixels in the vertical and horizontal directions allocated to the main memory is read as shown in FIG. In FIG. 9, a main picture 60 and a current picture 81 being decompressed and a reference picture 82 are stored in the main memory 60.

【0026】同図において、現在のピクチャ81のう
ち、あるマクロブロックである第iのマクロブロック8
3をMC処理している最中において、第iのマクロブロ
ック83の動きベクトル(第iの動きベクトル85)
が、参照ピクチャ82中の斜線で示されている正方形領
域(第iの参照領域84)を指しているものとする。キ
ャッシュライン86の大きさは例えば64バイトであ
り、第iの参照領域84の各行は別のキャッシュライン
に位置している。この例では、参照領域は主記憶上で1
6キャッシュライン相当の領域にわたっている。
In the figure, of the current picture 81, an i-th macroblock 8 which is a certain macroblock
3 during the MC processing, the motion vector of the i-th macroblock 83 (the i-th motion vector 85)
Indicates a square area (i-th reference area 84) indicated by oblique lines in the reference picture 82. The size of the cache line 86 is, for example, 64 bytes, and each row of the i-th reference area 84 is located on another cache line. In this example, the reference area is 1 in the main memory.
It covers an area equivalent to 6 cache lines.

【0027】1キャッシュラインの主記憶からキャッシ
ュへのプリロードに100クロックかかるとすると、こ
の参照領域全体の取得には1600クロック必要であ
る。実際には輝度成分のほかに色差成分の取得も必要で
あり、双方向予測の場合には2個の参照領域を取得しな
ければならないため、さらに多数のクロックが必要であ
る。一方、あるマクロブロックの動きベクトルが判明し
てから、そのマクロブロックのMC演算の開始までの時
間は数十クロックでしかない。
Assuming that it takes 100 clocks to preload from the main memory of one cache line to the cache, it takes 1600 clocks to acquire the entire reference area. Actually, it is necessary to obtain a chrominance component in addition to the luminance component. In the case of bidirectional prediction, two reference regions must be obtained, so that more clocks are required. On the other hand, the time from when the motion vector of a certain macroblock is determined to when the MC operation of the macroblock starts is only several tens of clocks.

【0028】図10に、C言語に似た擬似プログラミン
グ言語で記述された、MPEG―2ビデオのマクロブロ
ック層のシンタックスの一部をISO/IEC1381
8−2から抜き出したものを示す。動きベクトルの伸長
処理motion_vectors()と、DCT係数
の伸長処理等を行うブロック層の処理block()と
の間には、1ビットの固定ビット(マーカビット)の読
み捨て処理marker_bitと符号化ブロックパタ
ーン3から9ビット(4:2:0フォーマットの場合)
の伸長処理coded_block_patter
n()とがあるのみで、これらの処理に必要な時間は通
常数十クロックである。
FIG. 10 shows a part of the syntax of the macro block layer of MPEG-2 video described in a pseudo programming language similar to the C language according to ISO / IEC1381.
8 shows an example extracted from 8-2. Between the motion vector decompression processing motion_vectors () and the block layer processing block () for performing DCT coefficient decompression processing and the like, one-bit fixed bit (marker bit) read / discard processing marker_bit and encoded block pattern 3 To 9 bits (for 4: 2: 0 format)
Decompression processing of coded_block_patter
There is only n (), and the time required for these processes is usually several tens of clocks.

【0029】ここで、図11に示されているように、あ
るマクロブロック(第iのマクロブロックとする)に対
してMC処理を行う場合を考える。この場合、MC処理
が開始されると(ステップ90)、まず第iのマクロブ
ロックの動きベクトルMV(i)を伸長する(ステップ
91)。この動きベクトル判明後にこの参照領域のアド
レスに対してプリロード命令を発行し(ステップ9
2)、主記憶上にあるこの参照領域のデータをデータキ
ャッシュにロードする動作を他の演算動作と並列に行わ
せても、すぐに参照領域のデータをロード(ステップ9
3)し、それを用いて演算する(ステップ94)。この
ため、プリロード動作と演算が並列に動作するのは、た
かだかこの数十クロックの時間でしかない。よって、最
悪の場合、このマクロブロックの伸長処理に必要な参照
領域の主記憶からの読出しに数千クロックを費やさなけ
ればならない可能性がある点はほとんど改善されないと
いう欠点がある。
Here, as shown in FIG. 11, a case is considered in which MC processing is performed on a certain macroblock (hereinafter, referred to as an i-th macroblock). In this case, when the MC process is started (step 90), first, the motion vector MV (i) of the i-th macroblock is expanded (step 91). After this motion vector is found, a preload instruction is issued to the address of this reference area (step 9).
2) Even if the operation of loading the data of the reference area on the main memory into the data cache is performed in parallel with other arithmetic operations, the data of the reference area is immediately loaded (step 9).
3) Then, the calculation is performed by using it (step 94). For this reason, the preload operation and the operation operate in parallel only at the time of several tens of clocks at most. Therefore, in the worst case, there is a disadvantage that there is little possibility that thousands of clocks have to be spent for reading from the main memory the reference area required for the macroblock decompression process, which is hardly improved.

【0030】なお、上述した特開平7−23389号公
報においては、キャッシュメモリを用いておらず、上記
欠点を解決することができない。
In the above-mentioned Japanese Patent Application Laid-Open No. Hei 7-23389, no cache memory is used, and the above-mentioned disadvantage cannot be solved.

【0031】本発明は上述した従来技術の欠点を解決す
るためになされたものであり、その目的はMPEGビデ
オの伸長処理で最も処理量の多いMCに必要な時間を短
縮し、MPEGビデオ伸長処理を高速化することのでき
る動き補償処理方法及び動き補償処理システム並びに動
き補償処理プログラムを記録した記録媒体を提供するこ
とである。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned drawbacks of the prior art, and has as its object to reduce the time required for the MC with the largest processing amount in MPEG video decompression processing, and to reduce the MPEG video decompression processing. To provide a motion compensation processing method, a motion compensation processing system, and a recording medium on which a motion compensation processing program is recorded.

【0032】[0032]

【課題を解決するための手段】本発明による動き補償処
理方法は、動き推定を用いて圧縮されたビデオの伸長時
の動きを補償する動き補償処理方法であって、マクロブ
ロックの動きベクトル伸長処理後に該動きベクトルが指
す参照領域の次に処理対象となる次処理領域に相当する
データを該データが記憶されている主記憶から読出して
キャッシュメモリに格納する格納ステップと、この格納
ステップと並行して前記参照領域のデータに対する演算
を行う演算ステップとを含むことを特徴とする。
SUMMARY OF THE INVENTION A motion compensation processing method according to the present invention is a motion compensation processing method for compensating for motion when a compressed video is decompressed using motion estimation. A storage step of reading data corresponding to the next processing area to be processed next to the reference area indicated by the motion vector from the main memory where the data is stored and storing the data in the cache memory; And performing an operation on the data in the reference area.

【0033】本発明による動き補償処理システムは、動
き推定を用いて圧縮されたビデオの伸長時の動きを補償
する動き補償処理システムであって、マクロブロックの
動きベクトル伸長処理後に該動きベクトルが指す参照領
域の次に処理対象となる次処理領域に相当するデータを
該データが記憶されている主記憶から読出してキャッシ
ュメモリに格納する格納手段と、この格納ステップと並
行して前記参照領域のデータに対する演算を行う演算手
段とを含むことを特徴とする。
The motion compensation processing system according to the present invention is a motion compensation processing system for compensating for motion during expansion of a compressed video using motion estimation, and the motion vector points after the motion vector expansion processing of a macroblock. Storage means for reading data corresponding to the next processing area to be processed next to the reference area from the main memory in which the data is stored, and storing the data in the cache memory; And an operation means for performing an operation on.

【0034】本発明による記録媒体は、コンピュータに
よって、動き推定を用いて圧縮されたビデオの伸長時の
動きを補償する動き補償処理プログラムを記録した記録
媒体であって、コンピュータを、マクロブロックの動き
ベクトル伸長処理後に該動きベクトルが指す参照領域の
次に処理対象となる次処理領域に相当するデータを該デ
ータが記憶されている主記憶から読出してキャッシュメ
モリに格納する格納手段、この格納ステップと並行して
前記参照領域のデータに対する演算を行う演算手段、と
して機能させるためのプログラムを記録したことを特徴
とする。
A recording medium according to the present invention is a recording medium in which a computer stores a motion compensation processing program for compensating a motion at the time of decompression of a video compressed using motion estimation. Storage means for reading data corresponding to the next processing area to be processed next to the reference area indicated by the motion vector after the vector expansion processing from the main memory in which the data is stored and storing the data in the cache memory; A program for causing the computer to function as an operation unit that performs an operation on the data in the reference area in parallel is recorded.

【0035】要するに本発明では、プリロード機構を備
えた汎用プロセッサにおいて、MC演算のための主記憶
からのデータ読出し処理をMC処理の演算と並列に行う
ために、そのデータをキャッシュメモリにプリロードす
る。このため、MPEGビデオの伸長処理で最も処理量
の多いMCに必要な時間を短縮し、MPEGビデオ伸長
処理を高速化できるのである。
In short, according to the present invention, in a general-purpose processor having a preload mechanism, data is preloaded into a cache memory in order to perform data read processing from a main memory for MC operation in parallel with the operation of MC processing. Therefore, the time required for the MC having the largest processing amount in the MPEG video decompression processing can be reduced, and the MPEG video decompression processing can be accelerated.

【0036】すなわち、主記憶中のビットストリームか
ら、あるマクロブロックの動きベクトルを伸長したら、
主記憶中の参照ピクチャ中、その動きベクトルが指す参
照領域(例えば、縦16画素、横16画素)に隣接する
領域のアドレスをデータキャッシュコントローラに与
え、そこのデータをデータキャッシュへプリロードす
る。このマクロブロックの動きベクトルと、次に処理す
るマクロブロックの動きベクトルの差は小さいと仮定す
ると、このプリロードにより、伸長に必要な参照領域の
データが、データキャッシュに存在する確率が高くな
り、データキャッシュミスペナルティを削減できる。
That is, when the motion vector of a certain macroblock is expanded from the bit stream in the main memory,
In the reference picture in the main memory, the address of the area adjacent to the reference area (for example, 16 pixels vertically and 16 pixels horizontally) indicated by the motion vector is given to the data cache controller, and the data there is preloaded into the data cache. Assuming that the difference between the motion vector of this macroblock and the motion vector of the next macroblock to be processed is small, this preload increases the probability that the data in the reference area required for decompression exists in the data cache. Cache miss penalty can be reduced.

【0037】[0037]

【発明の実施の形態】次に、本発明の実施の一形態につ
いて図面を参照して説明する。
Next, an embodiment of the present invention will be described with reference to the drawings.

【0038】図1は本発明による動き補償処理システム
の実施の一形態を示すブロック図である。同図において
は、本システムを実現するための典型的な組込コンピュ
ータシステムのデータパス系が示されている。
FIG. 1 is a block diagram showing an embodiment of a motion compensation processing system according to the present invention. FIG. 1 shows a data path system of a typical embedded computer system for realizing the present system.

【0039】同図に示されているシステムは、圧縮後の
ビットストリーム、参照ピクチャ及び伸長対象である現
在のピクチャを格納する主記憶12と、汎用プロセッサ
11とから構成されている。
The system shown in FIG. 1 includes a main memory 12 for storing a compressed bit stream, a reference picture, and a current picture to be decompressed, and a general-purpose processor 11.

【0040】汎用プロセッサ11は、動き補償演算のた
めのデータすなわち操作対象となるデータを格納するレ
ジスタファイル15と、原則としてレジスタファイル1
5上のデータに対して演算処理を行う演算器16と、主
記憶12の一部のコピーを保持し高速にレジスタファイ
ル15へデータを供給するバッファとして動作するデー
タキャッシュ13と、主記憶12の一部をデータキャッ
シュ13に反映する制御を行うデータキャッシュコント
ローラ14とを含んで構成されている。なお、データキ
ャッシュコントローラ14は、レジスタファイルからア
ドレスを与えることで、主記憶からデータキャッシュへ
データをプリロードできる機能を有するものとする。
The general-purpose processor 11 includes a register file 15 for storing data for motion compensation operation, that is, data to be operated, and a register file 1 in principle.
5, a data cache 13 which holds a copy of the main memory 12 and operates as a buffer for supplying data to the register file 15 at a high speed, And a data cache controller 14 for controlling a part of the data to be reflected in the data cache 13. The data cache controller 14 has a function of preloading data from the main memory to the data cache by giving an address from the register file.

【0041】実際のシステムでは、図1に示されている
ブロックの他に、命令実行系の構成ブロックが設けられ
ている。そのブロックは主記憶12上のプログラムを読
出し解読しデータパス系へ指示を与えている。しかし同
ブロックは、簡単化のため省略されている。
In an actual system, in addition to the blocks shown in FIG. 1, constituent blocks of an instruction execution system are provided. The block reads and decodes the program on the main memory 12 and gives an instruction to the data path system. However, this block has been omitted for simplicity.

【0042】また、実際のシステムでは、キーボードや
ディスプレイコントローラ等各種の入出力機器が設けら
れる。しかしこれらの機器も、簡単化のため省略されて
いる。
In an actual system, various input / output devices such as a keyboard and a display controller are provided. However, these devices are also omitted for simplicity.

【0043】MPEGビデオ伸長では、主記憶12に伸
長ソフトウェア、圧縮されたビットストリーム、伸長さ
れたピクチャ並びに伸長作業に必要な中間データが納め
られる。伸長作業は、必要なデータを主記憶12からレ
ジスタファイル15にロードし、演算器16で適当な演
算を施すことで行う。主記憶12とレジスタファイル1
5の間にはデータキャッシュ13を配置し、主記憶12
とレジスタファイル15間のバッファとして動作させ、
データロードを高速化する。主記憶上12のどのデータ
を、容量が限られたデータキャッシュ13に格納するか
はデータキャッシュコントローラ14が判断する。この
判断は、基本的には自動であるが、後述するプリロード
機構により、ソフトウェアから明示的に指示することも
できる。
In MPEG video decompression, the main memory 12 stores decompression software, a compressed bit stream, decompressed pictures, and intermediate data required for decompression work. The decompression operation is performed by loading necessary data from the main memory 12 into the register file 15 and performing an appropriate operation in the arithmetic unit 16. Main memory 12 and register file 1
5, a data cache 13 is arranged and the main memory 12
And operate as a buffer between the register file 15 and
Speed up data loading. The data cache controller 14 determines which data in the main memory 12 is to be stored in the data cache 13 having a limited capacity. This determination is basically automatic, but can be explicitly instructed from software by a preload mechanism described later.

【0044】ソフトウェアが主記憶12中のあるアドレ
スのデータをレジスタファイル15にロードしようとし
た場合、そのデータがデータキャッシュ13中に存在す
れば(キャッシュヒット)、オーバーヘッドなしにその
データが高速転送できる。しかし、そのデータがデータ
キャッシュ13中に存在しない場合(キャッシュミ
ス)、主記憶12からデータキャッシュ13への転送が
必要になり、転送が終わるまで汎用プロセッサ11の命
令実行パイプラインの動作が停止するというペナルティ
が発生する。ペナルティの量はプロセッサの種類、主記
憶に使用するメモリの種類ほか多種の要因に依存する。
例えば、Concurrent Rambusメモリを
主記憶に使用する日本電気製V830R/AVプロセッ
サの場合、200MHzシステムクロック換算で約10
0クロックである。
When software attempts to load data at a certain address in the main memory 12 into the register file 15 and the data exists in the data cache 13 (cache hit), the data can be transferred at high speed without overhead. . However, if the data does not exist in the data cache 13 (cache miss), the transfer from the main memory 12 to the data cache 13 becomes necessary, and the operation of the instruction execution pipeline of the general-purpose processor 11 stops until the transfer is completed. Penalty occurs. The amount of penalty depends on the type of processor, the type of memory used for main storage, and many other factors.
For example, in the case of a NEC V830R / AV processor using a Concurrent Rambus memory for main storage, about 10 MHz is calculated in terms of a 200 MHz system clock.
0 clocks.

【0045】図1に示す汎用プロセッサ11は、データ
キャッシュミスペナルティを軽減するため、プリロード
機構を備えるものとする。これは、データアクセスを行
う時よりも充分前に、プリロード命令を実行し、レジス
タファイル15からデータキャッシュコントローラ14
にアクセス予定のアドレスを与えれば、データキャッシ
ュ13中にそのアドレスのデータが存在しないとき、す
なわち、そのアドレスへのデータロード命令がデータキ
ャッシュミスを引起こすと予想されるとき、データキャ
ッシュコントローラ14が主記憶からデータキャッシュ
へのデータロードを予め行う機構である。これにより、
データキャッシュミスの発生を減らす、あるいは、デー
タキャッシュミスペナルティの量を減らすことができ、
ソフトウェアの実行を高速化できる。ただし、このプリ
ロード機構が有効に働くためには、プリロード命令から
データアクセス命令までの間にプリロード作業が完了で
きる充分な時間間隔があることが必要である。
The general-purpose processor 11 shown in FIG. 1 has a preload mechanism in order to reduce the data cache miss penalty. This means that the preload instruction is executed well before the data access is performed, and the data cache controller 14 is read from the register file 15.
Is given, the data cache controller 14 determines whether or not the data at that address exists in the data cache 13, that is, when a data load instruction to that address is expected to cause a data cache miss. This mechanism pre-loads data from the main memory to the data cache. This allows
Reduce the occurrence of data cache misses, or reduce the amount of data cache miss penalties,
Speeds up software execution. However, in order for this preload mechanism to work effectively, there must be a sufficient time interval between the preload instruction and the data access instruction to complete the preload operation.

【0046】図2には、プリロード機構を有効に用いた
動き補償方法のフローチャートが示されている。同図に
おいて、まず、あるマクロブロック(第iのマクロブロ
ックとする)に対するMC処理を開始する(ステップ2
0)。最初に、第iのマクロブロックに対する動きベク
トルMV(i)を伸長する(ステップ21)。その後、
第iのマクロブロックのMC処理を続ける前に、MV
(i)が示す第iの参照領域そのものではなく、MV
(i)が示す参照領域の右側に隣接する縦16画素、横
16画素の領域に対するプリロード命令を発行する(ス
テップ22)。
FIG. 2 shows a flowchart of a motion compensation method using a preload mechanism effectively. In the figure, first, MC processing is started for a certain macroblock (hereinafter referred to as an i-th macroblock) (step 2)
0). First, the motion vector MV (i) for the i-th macroblock is expanded (step 21). afterwards,
Before continuing the MC processing of the i-th macroblock, MV
(I) not the ith reference area itself, but the MV
A preload instruction is issued for a region of 16 pixels vertically and 16 pixels horizontally adjacent to the right side of the reference region shown in (i) (step 22).

【0047】ここで、画素のX座標が増える方向を図中
右方向とした。そして、プリロード命令発行後、第iの
マクロブロックのMC処理を再開する。具体的には第i
の参照領域のデータをレジスタファイル15にロードし
(ステップ23)、MC演算を行う(ステップ24)。
Here, the direction in which the X coordinate of the pixel increases is defined as the right direction in the figure. Then, after issuing the preload instruction, the MC processing of the i-th macroblock is restarted. Specifically, the i-th
Is loaded into the register file 15 (step 23), and an MC operation is performed (step 24).

【0048】ピクチャは多数のマクロブロックから構成
されているため、あるマクロブロックの伸長終了後、引
続き右側に隣接するマクロブロックの伸長を行う確率が
高い。そこで、第iのマクロブロックの伸長後、第iの
マクロブロックの右側に隣接する第(i+1)のマクロ
ブロックの伸長を行うと仮定する。
Since a picture is composed of a large number of macroblocks, there is a high probability that the macroblock adjacent to the right side will be expanded after the expansion of a certain macroblock is completed. Therefore, it is assumed that after the expansion of the ith macroblock, the expansion of the (i + 1) th macroblock adjacent to the right side of the ith macroblock is performed.

【0049】第(i+1)番目のマクロブロック伸長時
も(ステップ26)、最初に第(i+1)番目のマクロ
ブロックに対する動きベクトルMV(i+1)を伸長す
る(ステップ27)。その後、第(i+1)のマクロブ
ロックのMC処理を続ける前に、MV(i+1)が示す
参照領域そのものではなく、MV(i+1)が示す参照
領域に隣接する縦16画素、横16画素の領域に対する
プリロード命令を発行する。そして、プリロード命令発
行後、第(i+1)のマクロブロックのMC処理を再開
する。具体的には参照領域(i+1)のデータをレジス
タにロードし(ステップ29)、MC演算を行う(ステ
ップ30)。
When the (i + 1) th macroblock is expanded (step 26), the motion vector MV (i + 1) for the (i + 1) th macroblock is expanded first (step 27). After that, before continuing the MC processing of the (i + 1) th macroblock, not the reference region itself indicated by MV (i + 1) but the region of 16 pixels vertically and 16 pixels horizontally adjacent to the reference region indicated by MV (i + 1) Issue a preload instruction. Then, after the preload instruction is issued, the MC processing of the (i + 1) th macroblock is restarted. Specifically, the data of the reference area (i + 1) is loaded into the register (Step 29), and the MC operation is performed (Step 30).

【0050】本発明の実施例について、図3を参照しな
がら詳細に説明する。
An embodiment of the present invention will be described in detail with reference to FIG.

【0051】図3は、図1の主記憶12中に格納された
2枚のピクチャにおいて、マクロブロック、参照領域と
キャッシュラインの関係を示したものである。主記憶1
2中に現在伸長処理を行っているピクチャ41と、その
参照ピクチャ42として用いられているピクチャが確保
されている。現在処理中のピクチャ41のうち、第iの
マクロブロック43と、その右側に隣接する第(i+
1)のマクロブロック44の伸長を連続して行うものと
する。つまり、現在のマクロブロックの右側に、次のマ
クロブロックが位置しているのである。
FIG. 3 shows a relationship between a macro block, a reference area, and a cache line in two pictures stored in the main memory 12 of FIG. Main memory 1
2, a picture 41 currently undergoing decompression processing and a picture used as its reference picture 42 are reserved. Of the picture 41 currently being processed, the i-th macroblock 43 and the (i +
It is assumed that the expansion of the macro block 44 in 1) is performed continuously. That is, the next macroblock is located on the right side of the current macroblock.

【0052】第iのマクロブロック43の動きベクトル
MV(i)48は、参照ピクチャ42上のある参照領域
(第iの参照領域45)を指しているものとする。第i
の参照領域45の右に隣接する縦16画素、横16画素
の領域46は、キャッシュライン47の境界をまたいで
いるものとする。
It is assumed that the motion vector MV (i) 48 of the i-th macroblock 43 points to a certain reference area (i-th reference area 45) on the reference picture 42. I-th
It is assumed that an area 46 of 16 pixels vertically and 16 pixels horizontally adjacent to the right of the reference area 45 of FIG.

【0053】本発明の実施例の動作について、図2及び
図3を参照しながら詳細に説明する。図2において、最
初に、第iのマクロブロック43の伸長を開始する(ス
テップ20)。まず、動きベクトルMV(i)48のデ
コードを行い(ステップ21)、動きベクトルMV
(i)48が指す参照領域45に隣接する縦16画素、
横16画素の領域46に対し、プリロード命令を発行す
る(ステップ22)。次に、動きベクトルMV(i)4
8が指す参照領域45のデータをレジスタファイル15
にロードし(ステップ23)、演算器16を用いてMC
処理を行う(ステップ24)。
The operation of the embodiment of the present invention will be described in detail with reference to FIGS. In FIG. 2, first, expansion of the i-th macroblock 43 is started (step 20). First, the motion vector MV (i) 48 is decoded (step 21), and the motion vector MV (i) is decoded.
(I) 16 vertical pixels adjacent to the reference area 45 indicated by 48;
A preload instruction is issued to the area 46 of 16 pixels in width (step 22). Next, the motion vector MV (i) 4
8 to the register file 15
(Step 23), and the MC 16
Processing is performed (step 24).

【0054】次に、第iのマクロブロック43の右側に
隣接する第(i+1)のマクロブロック44の伸長処理
を開始する(ステップ26)。まず、動きベクトルMV
(i+1)49のデコードを行い、動きベクトルMV
(i+1)49が指す第(i+1)の参照領域50に隣
接する縦16画素、横16画素の領域に対し、プリロー
ド命令を発行する。次に、動きベクトルMV(i+1)
49が指す第(i+1)の参照領域50のデータをレジ
スタファイル15にロードし(ステップ29)、演算器
16を用いてMC処理を行う(ステップ30)。
Next, expansion processing of the (i + 1) -th macroblock 44 adjacent to the right side of the i-th macroblock 43 is started (step 26). First, the motion vector MV
(I + 1) 49 is decoded, and the motion vector MV
A preload instruction is issued to an area of 16 pixels vertically and 16 pixels horizontally adjacent to the (i + 1) th reference area 50 indicated by (i + 1) 49. Next, the motion vector MV (i + 1)
The data of the (i + 1) th reference area 50 indicated by 49 is loaded into the register file 15 (step 29), and MC processing is performed using the arithmetic unit 16 (step 30).

【0055】以上のような動作により、第(i+1)の
参照領域50のデータを効率よくデータキャッシュ13
にプリロードし、第(i+1)の参照領域50のデータ
をレジスタファイル15にロードするときのデータキャ
ッシュミス数を大幅に削減することができる。
With the above operation, the data in the (i + 1) th reference area 50 is efficiently stored in the data cache 13.
, And the number of data cache misses when the data in the (i + 1) th reference area 50 is loaded into the register file 15 can be greatly reduced.

【0056】自然画像の特性から、空間的に近接したマ
クロブロック間の動きベクトルはよく似ていると期待で
きる。言い替えれば、第iのマクロブロック43の動き
ベクトル48と、第(i+1)のマクロブロック44の
動きベクトル49は同じか非常に近いと期待できる。し
たがって、第iのマクロブロック43の動きベクトル4
8の伸長が完了し、第iのマクロブロック43の伸長処
理で参照される参照領域が45であると判明した時点
で、隣接する第(i+1)のマクロブロック44の伸長
処理で参照される参照領域が46であると仮定してさし
つかえない。
From the characteristics of the natural image, it can be expected that the motion vectors between the macro blocks spatially close to each other are very similar. In other words, it can be expected that the motion vector 48 of the i-th macroblock 43 and the motion vector 49 of the (i + 1) th macroblock 44 are the same or very close. Therefore, the motion vector 4 of the i-th macroblock 43
8 is completed, and when it is determined that the reference area referred to in the expansion processing of the i-th macroblock 43 is 45, the reference referred to in the expansion processing of the adjacent (i + 1) th macroblock 44 It may be assumed that the area is 46.

【0057】第(i+1)のマクロブロック44の伸長
処理で、この仮定通り第iの参照領域に隣接する領域4
6のデータが用いられると、この領域のデータはすでに
第iのマクロブロック43の動きベクトル48が判明し
た直後に発行したプリロード命令によって、データキャ
ッシュ13にロードされているため、データキャッシュ
13は必ずヒットし、データキャッシュミスペナルティ
が削減できることになる。
In the decompression processing of the (i + 1) -th macro block 44, the area 4 adjacent to the i-th reference area
When the data No. 6 is used, the data in this area has already been loaded into the data cache 13 by the preload instruction issued immediately after the motion vector 48 of the i-th macroblock 43 has been found. Hits can reduce the data cache miss penalty.

【0058】第iのマクロブロックの動きベクトルの伸
長21と、第(i+1)のマクロブロックのMC演算に
用いるデータのロード29の間には、1マクロブロック
のMC処理が入るため、通常4〜5000クロックの時
間がある。従って、第iのマクロブロックの動きベクト
ルの伸長21の直後に発行した第(i+1)のマクロブ
ロックの参照領域と期待される領域へのプリロード命令
は(22)、第iのマクロブロックのMC処理(23、
24)と並列に動作し、効率よく第(i+1)番目のマ
クロブロックのMC処理(29、30)で用いられると
期待される参照領域のデータをデータキャッシュ13に
格納できる。
Between the expansion 21 of the motion vector of the i-th macroblock and the load 29 of the data used for the MC operation of the (i + 1) -th macroblock, the MC processing of one macroblock is inserted. There are 5000 clock times. Therefore, the preload instruction to the expected area as the reference area of the (i + 1) -th macroblock issued immediately after the expansion 21 of the motion vector of the i-th macroblock is (22), and the MC processing of the i-th macroblock is performed. (23,
24), the data of the reference area expected to be used in the MC processing (29, 30) of the (i + 1) th macroblock can be efficiently stored in the data cache 13.

【0059】次に、発明の他の実施の形態について図4
を参照して説明する。同図は、参照領域のデータのプリ
ロードのために発行できるプリロード命令の数が比較的
限られる場合のプリロード手法を示したものである。
Next, another embodiment of the present invention will be described with reference to FIG.
This will be described with reference to FIG. FIG. 1 shows a preloading method when the number of preload instructions that can be issued for preloading data in a reference area is relatively limited.

【0060】プリロード命令の数が限られる場合には、
以下の場合が考えられる。すなわち、データキャッシュ
コントローラ14の設計上の制限から同時に扱えるプリ
ロード命令の数が限られる場合、汎用プロセッサ11が
演算器16として複数のデータを一括して扱える強力な
マルチメディア専用演算器等を搭載しておりMC演算処
理が比較的短時間で終わる場合、汎用プロセッサ11が
搭載するメモリインターフェースが低速でMC演算処理
中にすべての参照領域がプリロードできない場合等であ
る。
When the number of preload instructions is limited,
The following cases are possible. That is, when the number of preload instructions that can be handled simultaneously is limited due to the design limitation of the data cache controller 14, the general-purpose processor 11 is equipped with a powerful multimedia-dedicated arithmetic unit that can collectively handle a plurality of data as the arithmetic unit 16. For example, there is a case where the MC operation process is completed in a relatively short time, a case where the memory interface mounted in the general-purpose processor 11 is at a low speed and all the reference areas cannot be preloaded during the MC operation process.

【0061】同図では、第iのマクロブロック43の伸
長時に発行するプリロード命令の対象を、第iのマクロ
ブロックの端部を除く中央部分付近のキャッシュライン
に限定している。これは、同時に発行できるプリロード
命令の数が少ないときに、以後第(i+1)のマクロブ
ロック44のMC処理で用いられる可能性が少しでも高
いデータをデータキャッシュ13にプリロードするため
である。
In the figure, the target of the preload instruction issued when the i-th macroblock 43 is decompressed is limited to the cache line near the central portion excluding the end of the i-th macroblock. This is because when the number of preload instructions that can be issued at the same time is small, data that is highly likely to be used in the MC processing of the (i + 1) th macroblock 44 is preloaded into the data cache 13 at least.

【0062】図5、図6に示されているように、隣接す
るマクロブロック間で動きベクトルが完全に同じではな
くてわずかに変化した場合を考える。図5は、第(i+
1)のマクロブロックの動きベクトルMV(i+1)4
9が、第iのマクロブロック43の動きベクトルMV
(i)48よりわずかに上方を指していた場合を示す図
である。一方、図6は、第(i+1)のマクロブロック
の動きベクトルMV(i+1)49が、第iのマクロブ
ロック43の動きベクトルMV(i)48よりわずかに
下方を指していた場合を示す図である。
As shown in FIGS. 5 and 6, it is assumed that the motion vectors between adjacent macroblocks are not completely the same but slightly changed. FIG. 5 shows the (i +
The motion vector MV (i + 1) 4 of the macroblock of 1)
9 is the motion vector MV of the i-th macroblock 43
(I) It is a figure which shows the case where it points slightly upward from 48. On the other hand, FIG. 6 is a diagram showing a case where the motion vector MV (i + 1) 49 of the (i + 1) -th macroblock points slightly below the motion vector MV (i) 48 of the i-th macroblock 43. is there.

【0063】第iのマクロブロック43に隣接する領域
のうち、中央線51をプリロード対象の領域52とすれ
ば、この領域は第(i+1)のマクロブロックのMC処
理で用いられる。しかし、その上下の部分は参照領域と
して用いられなくなる。このため、プリロード命令の対
象を、第iのマクロブロックの端部を除く中央部分付近
のキャッシュラインに限定することができるのである。
If the center line 51 of the area adjacent to the ith macroblock 43 is the area 52 to be preloaded, this area is used in the MC processing of the (i + 1) th macroblock. However, the upper and lower portions are not used as reference regions. For this reason, the target of the preload instruction can be limited to the cache line near the central portion excluding the end of the i-th macroblock.

【0064】以上のようにプリロードを行えば、MPE
Gビデオ伸長処理で最も処理量が多いMC処理時の参照
領域のデータ読出しを、効率よくMC処理の演算と並列
化でき、MPEGビデオ伸長処理を高速化できる。その
結果、MPEGビデオ伸長専用LSIを用いなくても、
汎用プロセッサと本発明を用いたソフトウェアの組合せ
で、MPEGビデオ伸長処理が実現でき、機器の低価格
化、低電力化、小型化が図れる。
If preloading is performed as described above, MPE
Data reading of the reference area at the time of MC processing, which has the largest processing amount in G video expansion processing, can be efficiently parallelized with the operation of MC processing, and the speed of MPEG video expansion processing can be increased. As a result, even without using the MPEG video decompression LSI,
By combining a general-purpose processor and software using the present invention, MPEG video decompression processing can be realized, and the price, power consumption, and size of the device can be reduced.

【0065】なお、以上説明した図2〜図6の処理を実
現するためのプログラムを記録した記録媒体を用意し、
これを用いて図1の各部を制御すれば、上述と同様のM
PEGビデオ伸長処理を行うことができることは明白で
ある。この記録媒体には、図1中に示されていない半導
体メモリ、磁気ディスク装置の他、種々の記録媒体を用
いることができる。
It is to be noted that a recording medium on which a program for realizing the processes of FIGS.
By controlling each part of FIG. 1 using this, the same M
Clearly, a PEG video decompression process can be performed. As this recording medium, various recording media other than the semiconductor memory and the magnetic disk device not shown in FIG. 1 can be used.

【0066】また、同記録媒体に記録されているプログ
ラムによってコンピュータを制御すれば、上述と同様に
MPEGビデオ伸長処理を行うことができることは明白
である。この記録媒体には、半導体メモリ、磁気ディス
ク装置の他、種々の記録媒体を用いることができる。
It is obvious that if the computer is controlled by the program recorded on the recording medium, the MPEG video decompression process can be performed in the same manner as described above. As this recording medium, various recording media other than the semiconductor memory and the magnetic disk device can be used.

【0067】請求項の記載に関連して本発明は更に次の
態様をとりうる。
The present invention can further take the following aspects in connection with the description of the claims.

【0068】(1)前記参照領域は、1辺が16画素か
らなる正方形の領域であることを特徴とする請求項1〜
5のいずれかに記載の動き補償処理方法。
(1) The reference area is a square area having 16 pixels on each side.
5. The motion compensation processing method according to any one of 5.

【0069】(2)前記参照領域は、1辺が16画素か
らなる正方形の領域であることを特徴とする請求項6〜
10のいずれかに記載の動き補償処理システム。
(2) The reference area is a square area having 16 pixels on each side.
The motion compensation processing system according to any one of claims 10 to 13.

【0070】(3)前記参照領域は、1辺が16画素か
らなる正方形の領域であることを特徴とする請求項11
〜15のいずれかに記載の記録媒体。
(3) The reference area is a square area having one side of 16 pixels.
16. The recording medium according to any one of items 15 to 15.

【0071】[0071]

【発明の効果】以上説明したように本発明は、MPEG
ビデオ伸長処理で最も処理量が多いMC処理時の参照領
域のデータ読出しを、効率よくMC処理の演算と並列化
し、MPEGビデオ伸長処理を高速化することにより、
MPEGビデオ伸長専用LSIを用いなくても、汎用プ
ロセッサと本発明を用いたソフトウェアの組合せで、M
PEGビデオ伸長処理が実現でき、機器の低価格化、低
電力化、小型化が図れるという効果がある。
As described above, the present invention provides an MPEG
By efficiently parallelizing the data reading of the reference area at the time of MC processing, which has the largest processing amount in video expansion processing, with the operation of MC processing, and speeding up MPEG video expansion processing,
Even without using an LSI dedicated to MPEG video decompression, a combination of a general-purpose processor and software using the present invention enables
PEG video decompression processing can be realized, and there is an effect that the price, power consumption, and size of the device can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による動き補償処理システムの実施の一
形態の構成を表すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of an embodiment of a motion compensation processing system according to the present invention.

【図2】本発明の動き補償処理方法の実施の一形態にお
けるプリロード手法を示すフローチャートである。
FIG. 2 is a flowchart illustrating a preloading method according to an embodiment of the motion compensation processing method of the present invention.

【図3】本発明の動き補償処理方法におけるプリロード
領域を示す図である。
FIG. 3 is a diagram showing a preload area in the motion compensation processing method of the present invention.

【図4】本発明の動き補償処理方法の実施の他の形態に
おけるプリロード手法を示すフローチャートである。
FIG. 4 is a flowchart showing a preload method in another embodiment of the motion compensation processing method of the present invention.

【図5】図4のプリロード手法による効果を示す図であ
る。
FIG. 5 is a diagram illustrating the effect of the preloading method of FIG. 4;

【図6】図4のプリロード手法による効果を示す他の図
である。
FIG. 6 is another diagram showing the effect of the preloading method of FIG. 4;

【図7】順方向動き補償を説明するための図である。FIG. 7 is a diagram for explaining forward motion compensation.

【図8】双方向動き補償を説明するための図である。FIG. 8 is a diagram for explaining bidirectional motion compensation.

【図9】MPEG−2ビデオマクロブロック層の伸長手
順を示す図である。
FIG. 9 is a diagram showing an extension procedure of an MPEG-2 video macroblock layer.

【図10】主記憶上での参照領域とキャッシュラインと
の関係を示す図である。
FIG. 10 is a diagram showing a relationship between a reference area and a cache line on a main memory.

【図11】従来のプリロード手法を示すフローチャート
である。
FIG. 11 is a flowchart showing a conventional preload method.

【符号の説明】 11 汎用プロセッサ 12,60 主記憶 13 データキャッシュ 14 データキャッシュコントローラ 15 レジスタファイル 16 演算器 41,61 現在のピクチャ 42,62,72,73,82 参照ピクチャ 43,83 第iのマクロブロック 44 第(i+1)のマクロブロック 45,84 第iの参照領域 46 第iの参照領域に隣接する領域 47 キャッシュライン 48 動きベクトルMV(i) 49 動きベクトルMV(i+1) 50 第(i+1)の参照領域 51 中央線 52 プリロード領域 63,74 現在のマクロブロック 64,75,76 参照領域 65,77,78 動きベクトル 71、81 現在のピクチャ 85 第iの動きベクトル 86 キャッシュライン[Description of Signs] 11 General-purpose processor 12, 60 Main memory 13 Data cache 14 Data cache controller 15 Register file 16 Operation unit 41, 61 Current picture 42, 62, 72, 73, 82 Reference picture 43, 83 i-th macro Block 44 (i + 1) th macroblock 45,84 ith reference area 46 area adjacent to ith reference area 47 cache line 48 motion vector MV (i) 49 motion vector MV (i + 1) 50th (i + 1) th Reference area 51 Center line 52 Preload area 63, 74 Current macro block 64, 75, 76 Reference area 65, 77, 78 Motion vector 71, 81 Current picture 85 i-th motion vector 86 Cache line

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 動き推定を用いて圧縮されたビデオの伸
長時の動きを補償する動き補償処理方法であって、マク
ロブロックの動きベクトル伸長処理後に該動きベクトル
が指す参照領域の次に処理対象となる次処理領域に相当
するデータを該データが記憶されている主記憶から読出
してキャッシュメモリに格納する格納ステップと、この
格納ステップと並行して前記参照領域のデータに対する
演算を行う演算ステップとを含むことを特徴とする動き
補償処理方法。
1. A motion compensation processing method for compensating a motion of a video compressed at the time of decompression using motion estimation, comprising: A storage step of reading data corresponding to the next processing area to be stored from the main memory storing the data and storing the data in the cache memory; and an operation step of performing an operation on the data of the reference area in parallel with the storage step. A motion compensation processing method comprising:
【請求項2】 前記格納ステップにおいては、前記次処
理領域に相当するデータについて前記主記憶から前記キ
ャッシュへのデータのプリロード命令を発行することを
特徴とする請求項1記載の動き補償処理方法。
2. The motion compensation processing method according to claim 1, wherein in the storing step, a preload instruction of data from the main storage to the cache is issued for data corresponding to the next processing area.
【請求項3】 前記次処理領域は、前記参照領域のデー
タ量と等しいデータ量を有することを特徴とする請求項
1又は2記載の動き補償処理方法。
3. The motion compensation processing method according to claim 1, wherein the next processing area has a data amount equal to the data amount of the reference area.
【請求項4】 前記次処理領域は、前記参照領域のデー
タ量より小なるデータ量を有することを特徴とする請求
項1又は2記載の動き補償処理方法。
4. The motion compensation processing method according to claim 1, wherein the next processing area has a data amount smaller than the data amount of the reference area.
【請求項5】 前記次処理領域は、前記参照領域に隣接
する領域のうち端部を除く中央部分の領域であることを
特徴とする請求項4記載の動き補償処理方法。
5. The motion compensation processing method according to claim 4, wherein the next processing area is a central area excluding an end of an area adjacent to the reference area.
【請求項6】 動き推定を用いて圧縮されたビデオの伸
長時の動きを補償する動き補償処理システムであって、
マクロブロックの動きベクトル伸長処理後に該動きベク
トルが指す参照領域の次に処理対象となる次処理領域に
相当するデータを該データが記憶されている主記憶から
読出してキャッシュメモリに格納する格納手段と、この
格納ステップと並行して前記参照領域のデータに対する
演算を行う演算手段とを含むことを特徴とする動き補償
処理システム。
6. A motion compensation processing system for compensating motion during decompression of a compressed video using motion estimation.
Storage means for reading data corresponding to the next processing area to be processed next to the reference area indicated by the motion vector after macroblock motion vector expansion processing from the main memory where the data is stored, and storing the data in the cache memory; And a calculating means for performing a calculation on the data in the reference area in parallel with the storing step.
【請求項7】 前記格納手段は、前記次処理領域に相当
するデータについて前記主記憶から前記キャッシュへの
データのプリロード命令を発行することを特徴とする請
求項6記載の動き補償処理システム。
7. The motion compensation processing system according to claim 6, wherein said storage means issues a data preload instruction from said main storage to said cache for data corresponding to said next processing area.
【請求項8】 前記次処理領域は、前記参照領域のデー
タ量と等しいデータ量を有することを特徴とする請求項
6又は7記載の動き補償処理システム。
8. The motion compensation processing system according to claim 6, wherein the next processing area has a data amount equal to the data amount of the reference area.
【請求項9】 前記次処理領域は、前記参照領域のデー
タ量より小なるデータ量を有することを特徴とする請求
項6又は7記載の動き補償処理システム。
9. The motion compensation processing system according to claim 6, wherein the next processing area has a data amount smaller than the data amount of the reference area.
【請求項10】 前記次処理領域は、前記参照領域に隣
接する領域のうち端部を除く中央部分の領域であること
を特徴とする請求項9記載の動き補償処理システム。
10. The motion compensation processing system according to claim 9, wherein the next processing area is a central area excluding an end of an area adjacent to the reference area.
【請求項11】 コンピュータによって、動き推定を用
いて圧縮されたビデオの伸長時の動きを補償する動き補
償処理プログラムを記録した記録媒体であって、コンピ
ュータを、マクロブロックの動きベクトル伸長処理後に
該動きベクトルが指す参照領域の次に処理対象となる次
処理領域に相当するデータを該データが記憶されている
主記憶から読出してキャッシュメモリに格納する格納手
段、この格納ステップと並行して前記参照領域のデータ
に対する演算を行う演算手段、として機能させるための
プログラムを記録したことを特徴とする記録媒体。
11. A recording medium recording a motion compensation processing program for compensating motion during expansion of a video compressed using motion estimation by a computer, wherein the computer controls the computer after performing a motion vector expansion process of a macroblock. Storage means for reading data corresponding to the next processing area to be processed next to the reference area indicated by the motion vector from the main memory in which the data is stored and storing the data in the cache memory; A recording medium having recorded thereon a program for functioning as an operation means for performing an operation on data in an area.
【請求項12】 前記格納手段は、前記次処理領域に相
当するデータについて前記主記憶から前記キャッシュへ
のデータのプリロード命令を発行することを特徴とする
請求項11記載の記録媒体。
12. The recording medium according to claim 11, wherein the storage unit issues a preload instruction of data from the main storage to the cache for data corresponding to the next processing area.
【請求項13】 前記次処理領域は、前記参照領域のデ
ータ量と等しいデータ量を有することを特徴とする請求
項11又は12記載の記録媒体。
13. The recording medium according to claim 11, wherein the next processing area has a data amount equal to the data amount of the reference area.
【請求項14】 前記次処理領域は、前記参照領域のデ
ータ量より小なるデータ量を有することを特徴とする請
求項11又は12記載の記録媒体。
14. The recording medium according to claim 11, wherein the next processing area has a data amount smaller than a data amount of the reference area.
【請求項15】 前記次処理領域は、前記参照領域に隣
接する領域のうち端部を除く中央部分の領域であること
を特徴とする請求項14記載の記録媒体。
15. The recording medium according to claim 14, wherein the next processing area is a central area excluding an end of an area adjacent to the reference area.
JP1471498A 1998-01-28 1998-01-28 Motion compensation processing method and system, and recording medium recording the processing program Expired - Fee Related JP3123496B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1471498A JP3123496B2 (en) 1998-01-28 1998-01-28 Motion compensation processing method and system, and recording medium recording the processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1471498A JP3123496B2 (en) 1998-01-28 1998-01-28 Motion compensation processing method and system, and recording medium recording the processing program

Publications (2)

Publication Number Publication Date
JPH11215509A true JPH11215509A (en) 1999-08-06
JP3123496B2 JP3123496B2 (en) 2001-01-09

Family

ID=11868827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1471498A Expired - Fee Related JP3123496B2 (en) 1998-01-28 1998-01-28 Motion compensation processing method and system, and recording medium recording the processing program

Country Status (1)

Country Link
JP (1) JP3123496B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006008961A1 (en) * 2004-07-16 2006-01-26 Sony Corporation Information processing system, information processing method, and computer program
WO2008029550A1 (en) * 2006-09-06 2008-03-13 Sony Corporation Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device
JP2008512967A (en) * 2004-09-09 2008-04-24 クゥアルコム・インコーポレイテッド Caching method and apparatus for motion compensation of moving images
WO2008102446A1 (en) * 2007-02-22 2008-08-28 Fujitsu Limited Dynamic image coding device and dynamic image coding method
WO2008114403A1 (en) * 2007-03-20 2008-09-25 Fujitsu Limited Decoding method, decoder and decoding device
US7447266B2 (en) 2004-07-27 2008-11-04 Fujitsu Limited Decoding device and decoding program for video image data
WO2010131422A1 (en) * 2009-05-13 2010-11-18 パナソニック株式会社 Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
EP3051816A1 (en) 2015-01-30 2016-08-03 Renesas Electronics Corporation Image processing device and semiconductor device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05184786A (en) * 1992-01-10 1993-07-27 Rinnai Corp Clothes drying machine

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006008961A1 (en) * 2004-07-16 2006-01-26 Sony Corporation Information processing system, information processing method, and computer program
US7447266B2 (en) 2004-07-27 2008-11-04 Fujitsu Limited Decoding device and decoding program for video image data
JP2008512967A (en) * 2004-09-09 2008-04-24 クゥアルコム・インコーポレイテッド Caching method and apparatus for motion compensation of moving images
US8400460B2 (en) 2006-09-06 2013-03-19 Sony Corporation Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image date processing device
JP2008066913A (en) * 2006-09-06 2008-03-21 Sony Corp Image data processing method, program for image data processing method, recording medium recorded with program for image data processing method, and image data processor
JP4535047B2 (en) * 2006-09-06 2010-09-01 ソニー株式会社 Image data processing method, program for image data processing method, recording medium recording program for image data processing method, and image data processing apparatus
WO2008029550A1 (en) * 2006-09-06 2008-03-13 Sony Corporation Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device
WO2008102446A1 (en) * 2007-02-22 2008-08-28 Fujitsu Limited Dynamic image coding device and dynamic image coding method
JP5115549B2 (en) * 2007-03-20 2013-01-09 富士通株式会社 Decoding method, decoder and decoding apparatus
WO2008114403A1 (en) * 2007-03-20 2008-09-25 Fujitsu Limited Decoding method, decoder and decoding device
JPWO2008114403A1 (en) * 2007-03-20 2010-07-01 富士通株式会社 Decoding method, decoder and decoding apparatus
CN102090066A (en) * 2009-05-13 2011-06-08 松下电器产业株式会社 Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
WO2010131422A1 (en) * 2009-05-13 2010-11-18 パナソニック株式会社 Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
JP5468604B2 (en) * 2009-05-13 2014-04-09 パナソニック株式会社 Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
US9001893B2 (en) 2009-05-13 2015-04-07 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
EP3051816A1 (en) 2015-01-30 2016-08-03 Renesas Electronics Corporation Image processing device and semiconductor device
KR20160094308A (en) 2015-01-30 2016-08-09 르네사스 일렉트로닉스 가부시키가이샤 Image processing device and semiconductor device
US9906805B2 (en) 2015-01-30 2018-02-27 Renesas Electronics Corporation Image processing device and semiconductor device

Also Published As

Publication number Publication date
JP3123496B2 (en) 2001-01-09

Similar Documents

Publication Publication Date Title
EP0919953B1 (en) Audio-video decoding system
US7079583B2 (en) Media processing apparatus which operates at high efficiency
US7620104B2 (en) Video coding system
KR100881539B1 (en) Image data structure for direct memory access
US7885336B2 (en) Programmable shader-based motion compensation apparatus and method
JPH05268590A (en) Moving picture coding decoding circuit
US20070071099A1 (en) External memory device, method of storing image data for the same, and image processor using the method
US7447266B2 (en) Decoding device and decoding program for video image data
US20060133512A1 (en) Video decoder and associated methods of operation
JP2000295616A (en) Image coder, image decoder, image coding method, image decoding method and program storage medium
JP3123496B2 (en) Motion compensation processing method and system, and recording medium recording the processing program
JPH10108199A (en) Image coder
JP2002218474A (en) Device for encoding image data
JP3589565B2 (en) Video and audio processing device
JP3322233B2 (en) Moving image decompression method and recording medium recording program for executing the method
JP2000217109A (en) Dynamic image reproducing device and reproducing method
JP5182285B2 (en) Decoding method and decoding apparatus
JPH1196138A (en) Inverse cosine transform method and inverse cosine transformer
US8948263B2 (en) Read/write separation in video request manager
JP3410669B2 (en) Video and audio processing device
US6873735B1 (en) System for improved efficiency in motion compensated video processing and method thereof
JPH1155668A (en) Image coder
JP3861317B2 (en) Variable length decoder
US20050025247A1 (en) Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof
WO2009085788A1 (en) System, method and device for processing macroblock video data

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees