JP2006279330A - Motion compensation processing method - Google Patents

Motion compensation processing method Download PDF

Info

Publication number
JP2006279330A
JP2006279330A JP2005092992A JP2005092992A JP2006279330A JP 2006279330 A JP2006279330 A JP 2006279330A JP 2005092992 A JP2005092992 A JP 2005092992A JP 2005092992 A JP2005092992 A JP 2005092992A JP 2006279330 A JP2006279330 A JP 2006279330A
Authority
JP
Japan
Prior art keywords
motion compensation
vector
motion
decoded
motion vector
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.)
Pending
Application number
JP2005092992A
Other languages
Japanese (ja)
Inventor
Takeo Tsubooka
健男 坪岡
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2005092992A priority Critical patent/JP2006279330A/en
Publication of JP2006279330A publication Critical patent/JP2006279330A/en
Pending legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motion compensation processing method for suppressing a deteriorated efficiency of motion compensation processing used for decoding a compression coded moving picture. <P>SOLUTION: The method predicts a motion vector of a macro block 45 decoded next to a macro block 44 decoded at present by utilizing a differential vector 54 between decoded motion vectors 51, 52, predicts a region pointed out by a predicted vector 53 as a next reference region 48, and stores pixel data in a region greater than the next reference region 48 to a data cache. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、圧縮符号化された画像の復号に用いる動き補償処理方法に関する。   The present invention relates to a motion compensation processing method used for decoding a compression-encoded image.

近年、画像信号を圧縮して情報量を削減する方法として種々の画像圧縮技術が提案されており、その代表的なものとしてH.264|MPEG−4 AVC(ITU−T Rec. H.264|ISO/IEC 14496−10 MPEG−4 Part10 Advanced Video Coding)などを始めとするMPEGビデオ技術がある。   In recent years, various image compression techniques have been proposed as a method for reducing the amount of information by compressing an image signal. There are MPEG video technologies such as H.264 | MPEG-4 AVC (ITU-T Rec. H.264 | ISO / IEC 14496-10 MPEG-4 Part 10 Advanced Video Coding).

MPEGビデオ技術においては、動画像信号の時間冗長性を削減するために動き補償(MC:Motion Compensation)処理が行われるが、この動き補償処理は処理量が多く、長時間を要する。   In the MPEG video technology, motion compensation (MC) processing is performed in order to reduce temporal redundancy of moving image signals. However, this motion compensation processing requires a large amount of processing and takes a long time.

従来、動き補償処理に要する時間を短縮する動き補償処理方法として、特許文献1に開示されたものがある。図7は特許文献1に開示された動き補償処理システムを示すブロック図である。   Conventionally, as a motion compensation processing method for shortening the time required for motion compensation processing, there is one disclosed in Patent Document 1. FIG. 7 is a block diagram showing a motion compensation processing system disclosed in Patent Document 1. In FIG.

図7に示す動き補償処理システムによれば、主記憶12に格納された画像データの一部は参照画像としてデータキャッシュ13へ転送され、データキャッシュ13からレジスタファイル15へ供給される。そして、レジスタファイル15上のデータは演算器16により動き補償処理演算される。   According to the motion compensation processing system shown in FIG. 7, a part of the image data stored in the main memory 12 is transferred to the data cache 13 as a reference image and supplied from the data cache 13 to the register file 15. The data on the register file 15 is subjected to motion compensation processing calculation by the calculator 16.

データキャッシュコントローラ14は主記憶12の一部をデータキャッシュ13に反映する制御を行う。また、データキャッシュコントローラ14は、レジスタファイル15からアドレスを与えることで、主記憶12からデータキャッシュ13へデータをプリロードする機能を有する。   The data cache controller 14 performs control to reflect a part of the main memory 12 in the data cache 13. The data cache controller 14 has a function of preloading data from the main memory 12 to the data cache 13 by giving an address from the register file 15.

特許文献1には、MPEGビデオ復号技術を利用した組み込み機器への実施例において、図7に示す主記憶12から演算処理装置11上のデータキャッシュ13へのデータ転送は、データキャッシュ13からレジスタファイル15へのデータ転送よりも長く時間を要することが述べられている。したがって、大容量だがアクセスの低速な主記憶12と、アクセスは高速だが小容量のデータキャッシュ13とを効率よく使い分ける必要がある。   In Patent Document 1, data transfer from the main memory 12 to the data cache 13 on the arithmetic processing unit 11 shown in FIG. 7 is performed from the data cache 13 to the register file in the embodiment for the embedded device using the MPEG video decoding technology. It is stated that it takes longer than data transfer to 15. Therefore, it is necessary to efficiently use the main memory 12 having a large capacity but a slow access and the data cache 13 having a fast access but a small capacity.

特許文献1に開示された動き補償処理方法では、現在の動き補償処理に続く次の動き補償処理で参照する参照領域(以下、次参照領域と呼ぶ)を、現在復号した動きベクトルから仮定し、仮定した次参照領域の画素データを主記憶12からデータキャッシュ13へと予め転送するプリロードを行う。このデータ転送を現在復号した動きベクトルに対する動き補償処理(現在の動き補償処理)と並行して行うことで、動き補償処理全体に要する時間の短縮が図られている。   In the motion compensation processing method disclosed in Patent Document 1, a reference region (hereinafter referred to as the next reference region) referred to in the next motion compensation process following the current motion compensation process is assumed from the currently decoded motion vector, Preloading is performed in which pixel data of the assumed next reference area is transferred from the main memory 12 to the data cache 13 in advance. By performing this data transfer in parallel with the motion compensation process (current motion compensation process) for the currently decoded motion vector, the time required for the entire motion compensation process is reduced.

図8は特許文献1に開示された動き補償処理方法で次参照領域を仮定する方法の説明図である。次参照領域を仮定する方法は図8に示すように、現在復号中の画像21において、現在復号中のマクロブロック23の現在復号された動きベクトル31と次に復号する動きベクトルとが同じであると仮定し、仮定した動きベクトル32が指す領域を次参照領域26と仮定するものである。   FIG. 8 is an explanatory diagram of a method for assuming the next reference region in the motion compensation processing method disclosed in Patent Document 1. In FIG. As shown in FIG. 8, in the method of assuming the next reference region, in the currently decoded image 21, the currently decoded motion vector 31 of the currently decoded macroblock 23 is the same as the next decoded motion vector. And the region pointed to by the assumed motion vector 32 is assumed to be the next reference region 26.

この仮定によって求められる次参照領域26は、参照画像22中の現在の動きベクトル31が指し示す現在の参照領域25の右隣に隣接した領域となり、次のマクロブロック24は次参照領域26を参照して復号される。
特開平11−215509号公報
The next reference area 26 obtained by this assumption is an area adjacent to the right side of the current reference area 25 indicated by the current motion vector 31 in the reference image 22, and the next macroblock 24 refers to the next reference area 26. Is decrypted.
JP 11-215509 A

しかし、上述の次参照領域を仮定する方法は、近接する複数の動きベクトルの傾向を吟味していない。また、特許文献1においてデータキャッシュ13に先読みする画素データの分量は、仮定が正しかった場合に必要十分な最低限の分量か、それよりも少ない分量に限られている。   However, the above-described method of assuming the next reference region does not examine the tendency of a plurality of adjacent motion vectors. In addition, the amount of pixel data prefetched in the data cache 13 in Patent Document 1 is limited to a minimum amount necessary and sufficient when the assumption is correct or an amount smaller than that.

これら2点を合わせ考えると、次参照領域が仮定よりずれる場合や、仮定から全く外れる可能性があることが容易に想像される。   When these two points are considered together, it is easily imagined that the next reference region may be deviated from the assumption or may be completely deviated from the assumption.

また、仮定から外れた場合やずれた場合には、データキャッシュ13に保持していない部分の画素データを主記憶12から転送する必要が生じる。仮定から全く外れてはいないものの、ずれた場合にもデータ転送を行うことになり、データキャッシュ13に参照すべきデータがない間は動き補償処理を行えず、動き補償処理の効率が悪化するという問題があった。   Further, when the assumption is deviated or deviated, it is necessary to transfer the pixel data of the portion not held in the data cache 13 from the main memory 12. Although it does not deviate from the assumption at all, data transfer is performed even when there is a shift, and motion compensation processing cannot be performed while there is no data to be referred to in the data cache 13, and the efficiency of motion compensation processing deteriorates. There was a problem.

そこで本発明は、動き補償処理の効率の悪化を抑える動き補償処理方法を提供することを目的とする。   Accordingly, an object of the present invention is to provide a motion compensation processing method that suppresses deterioration in efficiency of motion compensation processing.

本発明の動き補償処理方法は、動き補償を用いてマクロブロック単位で圧縮符号化された画像を復号する際に用いる動き補償処理方法であって、現在復号中のマクロブロックの動きベクトルを復号する復号ステップと、前記動きベクトルが指す現在の参照領域の次に参照する次参照領域を、復号された2つ以上の動きベクトルを利用して予測する予測ステップと、この予測ステップで予測した前記次参照領域を含む前記次参照領域よりも大きい領域の画素データをこの画素データが記憶されている主記憶手段から読み出してキャッシュメモリに格納する格納ステップと、前記予測ステップ及び前記格納ステップと並行して前記現在の参照領域の画素データに対する動き補償演算を行う演算ステップとを有することを特徴とする。   The motion compensation processing method of the present invention is a motion compensation processing method used when decoding an image compression-coded in units of macroblocks using motion compensation, and decodes a motion vector of a macroblock currently being decoded. A decoding step; a prediction step of predicting a next reference region that is referred to next to a current reference region indicated by the motion vector using two or more decoded motion vectors; and the next prediction predicted in the prediction step A storage step of reading out pixel data of an area larger than the next reference area including the reference area from a main storage means in which the pixel data is stored, and storing the pixel data in a cache memory; in parallel with the prediction step and the storage step And a calculation step for performing a motion compensation calculation on the pixel data of the current reference area.

本発明の動き補償処理方法によれば、マクロブロックの動きベクトル復号後にこの動きベクトルが指す参照領域の次に参照する次参照領域を、復号された2つ以上の動きベクトルを利用して予測し、予測した次参照領域を含む次参照領域よりも大きい領域の画素データをこの画素データが記憶されている主記憶手段から読み出してキャッシュメモリに格納するので、予測が当たる確率が高く、予測とずれた場合であってもそのずれを吸収することができる。これにより、主記憶手段からデータキャッシュへのデータ転送回数を抑え、動き補償処理の効率の悪化を抑えることができる。   According to the motion compensation processing method of the present invention, after decoding a macroblock motion vector, a next reference region to be referred to next to a reference region indicated by the motion vector is predicted using two or more decoded motion vectors. Since the pixel data of the area larger than the next reference area including the predicted next reference area is read from the main storage means in which the pixel data is stored and stored in the cache memory, there is a high probability that the prediction will be successful, Even in such a case, the deviation can be absorbed. As a result, the number of data transfers from the main storage means to the data cache can be suppressed, and deterioration of the efficiency of the motion compensation process can be suppressed.

また、MPEGビデオ復号処理の負荷を抑え、機器の小型化、低消費電力化、低価格化を図ることができる。   In addition, the load on the MPEG video decoding process can be suppressed, and the device can be reduced in size, reduced in power consumption, and reduced in price.

本発明の実施の一形態として、MPEGビデオ復号技術を利用したものを図面を参照して説明する。   As an embodiment of the present invention, an MPEG video decoding technique will be described with reference to the drawings.

(実施例)
本発明の動き補償処理方法を実施する動き補償処理システムは、図7に示す従来の動き補償処理システムと同様である。図7は組み込み機器における典型的なデータパス構成を示している。
(Example)
The motion compensation processing system for implementing the motion compensation processing method of the present invention is the same as the conventional motion compensation processing system shown in FIG. FIG. 7 shows a typical data path configuration in an embedded device.

図7に示す動き補償処理システムは、演算処理装置11と、主記憶12とから構成されている。そして、演算処理装置11は、データキャッシュ13と、データキャッシュコントローラ14と、レジスタファイル15と、演算器16とを有する。   The motion compensation processing system shown in FIG. 7 includes an arithmetic processing device 11 and a main memory 12. The arithmetic processing unit 11 includes a data cache 13, a data cache controller 14, a register file 15, and an arithmetic unit 16.

主記憶12は、現在復号中の画像に対し、すでに復号を終えた画像データを格納し、
動き補償の演算に利用する参照画像領域の画素データを必要に応じてデータキャッシュ13に転送する。
The main memory 12 stores image data that has already been decoded for the image that is currently being decoded,
The pixel data of the reference image area used for the motion compensation calculation is transferred to the data cache 13 as necessary.

データキャッシュ13は、主記憶12から供給された参照画像領域の画素データと、レジスタファイル15から供給された復号された動きベクトルを格納し、演算器16で行うデータ演算の必要に応じてレジスタファイル15にデータを供給する。また、現在復号中の画像のうち復号を終えた部分をレジスタファイル15から受け取り、順次主記憶12に供給する。   The data cache 13 stores the pixel data of the reference image area supplied from the main memory 12 and the decoded motion vector supplied from the register file 15, and registers the file according to the necessity of data calculation performed by the calculator 16. 15 is supplied with data. Further, the part of the currently decoded image that has been decoded is received from the register file 15 and sequentially supplied to the main memory 12.

レジスタファイル15はデータキャッシュ13から供給されたデータ演算のための各種のデータを格納し、演算器16はレジスタファイル15上のデータに対してデータ演算を行う。データ演算により生成されたデータは必要に応じてレジスタファイル15からデータキャッシュ13に供給される。   The register file 15 stores various data for data calculation supplied from the data cache 13, and the calculator 16 performs data calculation on the data on the register file 15. Data generated by the data calculation is supplied from the register file 15 to the data cache 13 as necessary.

データキャッシュコントローラ14は、レジスタファイル15/データキャッシュ13間、及びデータキャッシュ13/主記憶12間のデータのやり取りを制御し、演算器16の行うデータ演算と並列にデータ転送を行うことを可能とする。   The data cache controller 14 controls data exchange between the register file 15 / data cache 13 and between the data cache 13 / main memory 12, and can perform data transfer in parallel with the data operation performed by the arithmetic unit 16. To do.

次に、本実施例の動き補償処理方法を図1に基づいて説明する。図1は本発明の実施例の動き補償処理方法を示すフローチャートである。   Next, the motion compensation processing method of the present embodiment will be described with reference to FIG. FIG. 1 is a flowchart showing a motion compensation processing method according to an embodiment of the present invention.

現在のマクロブロックに対する動き補償処理を開始すると、まずステップS10では、演算器16は、現在のマクロブロックに対する動きベクトルを復号する。データキャッシュコントローラ14は、復号された現在の動きベクトルをレジスタファイル15からデータキャッシュ13に送るように制御する。   When the motion compensation process for the current macroblock is started, first, in step S10, the computing unit 16 decodes the motion vector for the current macroblock. The data cache controller 14 controls to send the decoded current motion vector from the register file 15 to the data cache 13.

次いで、ステップS20では、演算器16は、後述する方法で次の動きベクトルを予測し、次の動きベクトルが指す領域を次参照領域として予測する。   Next, in step S20, the computing unit 16 predicts the next motion vector by a method to be described later, and predicts the area indicated by the next motion vector as the next reference area.

そして、ステップS30では、データキャッシュコントローラ14は、次参照領域を主記憶12からデータキャッシュ13に転送するように制御する。   In step S30, the data cache controller 14 controls to transfer the next reference area from the main memory 12 to the data cache 13.

一方、ステップS40では、データキャッシュコントローラ14は、現在の動きベクトルが指す現在の参照領域をデータキャッシュ13からレジスタファイル15に送るよう制御し、演算器16は、現在の参照領域を参照して現在のマクロブロックに対する動き補償演算を行う。このステップS40は、ステップS20,S30と並行して行う。   On the other hand, in step S40, the data cache controller 14 controls to send the current reference area pointed to by the current motion vector from the data cache 13 to the register file 15, and the arithmetic unit 16 refers to the current reference area to The motion compensation calculation is performed on the macroblock. This step S40 is performed in parallel with steps S20 and S30.

そして、現在のマクロブロックに対する動き補償処理終了後、次のマクロブロックに対する動き補償処理を開始するためステップS10に戻り、予測した動きベクトルを復号する。次の動きベクトル及び次参照領域の予測が当たった場合には次のマクロブロックに対する動き補償処理も滞りなく進めることができる。   After the motion compensation process for the current macroblock is completed, the process returns to step S10 to start the motion compensation process for the next macroblock, and the predicted motion vector is decoded. When the next motion vector and the next reference area are predicted, the motion compensation process for the next macroblock can be performed without delay.

ここで、ステップS20における次の動きベクトル及び次参照領域の予測について説明する。一般に、MPEG符号化、復号技術の扱う動きベクトルは周囲のブロックの動きベクトルと強い相関を示す傾向にあることが知られている。   Here, the prediction of the next motion vector and the next reference area in step S20 will be described. In general, it is known that motion vectors handled by MPEG encoding and decoding techniques tend to show a strong correlation with motion vectors of surrounding blocks.

そこで、次に復号すべき動きベクトルの周囲の、復号を終えている動きベクトル群の傾向を調べ、傾向を反映した形で次の動きベクトルの予測を行う。この傾向を判断するには、動きベクトル群のうちの、任意の複数の動きベクトルについてそれぞれ動きベクトル同士の差分を調べて差分ベクトルを求め、この差分ベクトルが任意の閾値の範囲内にあれば同じ傾向にあると判断してよい。   Therefore, the tendency of the motion vector group that has been decoded around the motion vector to be decoded next is examined, and the next motion vector is predicted in a form reflecting the tendency. In order to judge this tendency, the difference between motion vectors for each of a plurality of motion vectors in the motion vector group is examined to obtain a difference vector, and the same if the difference vector is within an arbitrary threshold range. You may judge that there is a tendency.

そして、差分ベクトルを用いて次の動きベクトル(これを予測ベクトルと呼ぶ)を予測する。以下に、参照する動きベクトルを近隣の動きベクトル2つとする予測ベクトル算出方法及び次参照領域を予測する方法の例を、図2〜図4に基づいて説明する。   Then, the next motion vector (this is referred to as a prediction vector) is predicted using the difference vector. Hereinafter, an example of a prediction vector calculation method in which two motion vectors to be referred to are referred to and a method of predicting the next reference region will be described with reference to FIGS.

図2(a)は次参照領域を予測する方法の例1を示す説明図、図2(b)は予測ベクトル算出方法の例1を示す説明図である。図2(a),(b)に示す方法では、次に復号すべき動きベクトルの左隣の動きベクトル(現在復号された動きベクトル52)と、さらに左隣の復号された動きベクトル51とを参照する。   FIG. 2A is an explanatory diagram illustrating Example 1 of a method for predicting the next reference region, and FIG. 2B is an explanatory diagram illustrating Example 1 of a prediction vector calculation method. In the method shown in FIGS. 2A and 2B, a motion vector on the left side of the motion vector to be decoded next (currently decoded motion vector 52) and a decoded motion vector 51 on the left side are further obtained. refer.

図2(a)に示すように、現在復号中の画像41において、すでに復号された動きベクトル51、現在復号された動きベクトル52は、参照画像42中の参照領域46,47をそれぞれ参照する。それぞれ動き補償処理を行って、マクロブロック43についてはすでに復号されており、マクロブロック44が現在復号される。   As shown in FIG. 2A, the already decoded motion vector 51 and the currently decoded motion vector 52 in the currently decoded image 41 refer to the reference regions 46 and 47 in the reference image 42, respectively. Each motion compensation process is performed, the macroblock 43 has already been decoded, and the macroblock 44 is currently decoded.

ここで、図2(b)に示すように、動きベクトル51から動きベクトル52への差分ベクトル54より、動きベクトル52と差分ベクトル54(=ベクトル54´)とのベクトル和を求め、次の動きベクトルと予測する予測ベクトル53を得る。   Here, as shown in FIG. 2B, a vector sum of the motion vector 52 and the difference vector 54 (= vector 54 ′) is obtained from the difference vector 54 from the motion vector 51 to the motion vector 52, and the next motion A prediction vector 53 to be predicted as a vector is obtained.

そして、予測ベクトル53が指し示す領域は次参照領域48としてデータキャッシュ13に読み込まれ、次のマクロブロック45の動き補償演算を行うときに参照される。   Then, the area indicated by the prediction vector 53 is read into the data cache 13 as the next reference area 48 and is referred to when the motion compensation calculation of the next macroblock 45 is performed.

図3(a)は次参照領域を予測する方法の例2を示す説明図、図3(b)は予測ベクトル算出方法の例2を示す説明図である。図3(a),(b)に示す方法では、次に復号すべき動きベクトルの左隣の動きベクトル(現在復号された動きベクトル72)と、次に復号すべき動きベクトルの上方に隣接する復号された動きベクトル71を参照する。   FIG. 3A is an explanatory diagram illustrating a second example of the method for predicting the next reference region, and FIG. 3B is an explanatory diagram illustrating a second example of the prediction vector calculation method. In the methods shown in FIGS. 3A and 3B, the motion vector to the left of the next motion vector to be decoded (currently decoded motion vector 72) is adjacent to the motion vector to be decoded next. Reference is made to the decoded motion vector 71.

図3(a)に示すように、現在復号中の画像61において、すでに復号された動きベクトル71、現在復号された動きベクトル72は参照画像62の参照領域66,67をそれぞれ参照し、それぞれ動き補償処理を行って、マクロブロック63についてはすでに復号されており、マクロブロック64の領域が現在復号される。   As shown in FIG. 3A, in the image 61 currently being decoded, the already decoded motion vector 71 and the currently decoded motion vector 72 refer to the reference regions 66 and 67 of the reference image 62, respectively. Compensation processing is performed, the macroblock 63 has already been decoded, and the area of the macroblock 64 is currently decoded.

ここで、図3(b)に示すように、動きベクトル71から動きベクトル72への差分ベクトル74より、動きベクトル72と差分ベクトル74(=ベクトル74´)とのベクトル和を求め、次の動きベクトルと予測する予測ベクトル73を得る。   Here, as shown in FIG. 3B, a vector sum of the motion vector 72 and the difference vector 74 (= vector 74 ′) is obtained from the difference vector 74 from the motion vector 71 to the motion vector 72, and the next motion A prediction vector 73 to be predicted as a vector is obtained.

そして、予測ベクトル73が指し示す領域は次参照領域68としてデータキャッシュ13に読み込まれ、次のマクロブロック65の動き補償演算を行うときに参照される。   The area indicated by the prediction vector 73 is read into the data cache 13 as the next reference area 68 and is referred to when the motion compensation calculation of the next macroblock 65 is performed.

図4(a)は次参照領域を予測する方法の例3を示す説明図、図4(b)は予測ベクトル算出方法の例3を示す説明図である。図4(a),(b)に示す方法では、次に復号すべき動きベクトルの上方に隣接する動きベクトル91と、動きベクトル91の右隣に隣接する動きベクトル92を参照する。   4A is an explanatory diagram illustrating Example 3 of a method for predicting the next reference region, and FIG. 4B is an explanatory diagram illustrating Example 3 of a prediction vector calculation method. In the method shown in FIGS. 4A and 4B, the motion vector 91 adjacent above the motion vector to be decoded next and the motion vector 92 adjacent to the right of the motion vector 91 are referred to.

図4(a)に示すように、現在復号中の画像81において、すでに復号された動きベクトル91,92は参照画像82の参照領域86,87をそれぞれ参照し、それぞれ動き補償処理を行ってマクロブロック83,84が復号される。   As shown in FIG. 4 (a), in the image 81 currently being decoded, the already decoded motion vectors 91 and 92 refer to the reference regions 86 and 87 of the reference image 82, respectively, and perform a motion compensation process, respectively. Blocks 83 and 84 are decoded.

ここで、図4(b)に示すように、動きベクトル91から動きベクトル92への差分ベクトル94より、動きベクトル92と差分ベクトル94(=ベクトル94´)とのベクトル和を求め、次の動きベクトルと予測する予測ベクトル93を得る。   Here, as shown in FIG. 4B, a vector sum of the motion vector 92 and the difference vector 94 (= vector 94 ′) is obtained from the difference vector 94 from the motion vector 91 to the motion vector 92 to obtain the next motion. A prediction vector 93 to be predicted as a vector is obtained.

そして、予測ベクトル93が指し示す領域は次参照領域88としてデータキャッシュ13に読み込まれ、次のマクロブロック85の動き補償演算を行うときに参照される。   Then, the area indicated by the prediction vector 93 is read into the data cache 13 as the next reference area 88 and is referred to when the motion compensation calculation of the next macroblock 85 is performed.

なお、次の動きベクトルの予測に用いる周囲の動きベクトルについては、以上のように近接する2つのベクトルを利用してその差分ベクトルを用いて行っても良いし、または3つ以上のベクトルを利用してそれぞれの差分ベクトルを調べて行っても良い。また、予測ベクトルの求め方については、次に復号すべきベクトルからの距離に応じた重み付けを行って複数の動きベクトルとその差分ベクトルから求めても良い。   As for the surrounding motion vectors used for the prediction of the next motion vector, the two adjacent vectors may be used as described above, and the difference vector may be used, or three or more vectors may be used. Then, each difference vector may be examined. In addition, the prediction vector may be obtained from a plurality of motion vectors and their difference vectors by performing weighting according to the distance from the vector to be decoded next.

また、データキャッシュ13に読み込む画素データの分量は予測された領域よりも大きめにすれば、実際の参照領域が予測とずれた場合でもそのずれをすべて吸収できる確率が高くなる。   Further, if the amount of pixel data read into the data cache 13 is made larger than the predicted area, even if the actual reference area deviates from the prediction, the probability that all the deviations can be absorbed increases.

参照領域のデータ量は対象とするMPEG技術の種類等により異なり、MPEG−4 AVCの場合、動き補償処理の参照領域はマクロブロックおよびその周辺画素を合わせたものが必要となる。図5は参照領域の一例を示す説明図、図6はデータキャッシュに読み込む領域の一例を示す説明図である。   The amount of data in the reference area varies depending on the type of MPEG technology to be processed, and in the case of MPEG-4 AVC, the reference area for motion compensation processing needs to be a combination of macroblocks and surrounding pixels. FIG. 5 is an explanatory diagram showing an example of the reference area, and FIG. 6 is an explanatory diagram showing an example of the area read into the data cache.

輝度成分でマクロブロックサイズが16×16画素の場合、図5に示すように、マクロブロック101と、マクロブロック101の左側と上側にさらに3画素ずつ、左側と下側に2画素ずつの合わせて21×21画素の周辺画素が参照領域102として必要である。 なお、この場合、色差成分ではマクロブロックサイズでは8×8画素、参照領域は13×13画素となる。参照領域102の画素値は動き補償処理においてマクロブロック101の1/2精度画素、1/4精度画素それぞれの画素値を算出する際に必要となる。   When the macro block size is 16 × 16 pixels in the luminance component, as shown in FIG. 5, the macro block 101, three pixels on the left and upper sides of the macro block 101, and two pixels on the left and lower sides are combined. A peripheral pixel of 21 × 21 pixels is necessary as the reference area 102. In this case, the color difference component is 8 × 8 pixels in the macroblock size, and the reference area is 13 × 13 pixels. The pixel value of the reference area 102 is necessary when calculating the pixel values of the ½ precision pixel and the ¼ precision pixel of the macroblock 101 in the motion compensation process.

このような大きさの予測された参照領域102に対し、例えば図6に示すように、予測された参照領域102を含む範囲32×21画素の領域を転送領域103としてデータキャッシュ13に読み込んでも良い。これは横方向がマクロブロック2個分に相当する。   For the predicted reference area 102 having such a size, for example, as shown in FIG. 6, an area of 32 × 21 pixels including the predicted reference area 102 may be read into the data cache 13 as the transfer area 103. . This corresponds to two macroblocks in the horizontal direction.

このように本実施例の動き補償処理方法によれば、復号された2つ以上の動きベクトルから求めた予測ベクトルが指す領域を次参照領域として予測し、予測した次参照領域を含む次参照領域よりも大きい領域の画素データをキャッシュメモリ13に格納するので、予測が当たる確率が高く、予測とずれた場合であってもそのずれを吸収することができる。これにより、主記憶12からデータキャッシュ13へのデータ転送回数を抑え、動き補償処理の効率の悪化を抑えることができる。   As described above, according to the motion compensation processing method of the present embodiment, a region indicated by a prediction vector obtained from two or more decoded motion vectors is predicted as a next reference region, and the next reference region including the predicted next reference region is predicted. Since the pixel data of a larger area is stored in the cache memory 13, the probability of being predicted is high, and even if it is different from the prediction, the shift can be absorbed. As a result, the number of data transfers from the main memory 12 to the data cache 13 can be suppressed, and deterioration of the efficiency of motion compensation processing can be suppressed.

また、MPEGビデオ復号処理の負荷を抑え、機器の小型化、低消費電力化、低価格化を図ることができる。   In addition, the load on the MPEG video decoding process can be suppressed, and the device can be reduced in size, reduced in power consumption, and reduced in price.

本発明の実施例の動き補償処理方法を示すフローチャートである。It is a flowchart which shows the motion compensation processing method of the Example of this invention. (a)は次参照領域を予測する方法の例1を示す説明図、(b)は予測ベクトル算出方法の例1を示す説明図である。(A) is explanatory drawing which shows the example 1 of the method of predicting the next reference area | region, (b) is explanatory drawing which shows the example 1 of a prediction vector calculation method. (a)は次参照領域を予測する方法の例2を示す説明図、(b)は予測ベクトル算出方法の例2を示す説明図である。(A) is explanatory drawing which shows the example 2 of the method of estimating a next reference area | region, (b) is explanatory drawing which shows the example 2 of a prediction vector calculation method. (a)は次参照領域を予測する方法の例3を示す説明図、(b)は予測ベクトル算出方法の例3を示す説明図である。(A) is explanatory drawing which shows the example 3 of the method of estimating the next reference area | region, (b) is explanatory drawing which shows the example 3 of the prediction vector calculation method. 参照領域の一例を示す説明図である。It is explanatory drawing which shows an example of a reference area. データキャッシュに読み込む領域の一例を示す説明図である。It is explanatory drawing which shows an example of the area | region read to a data cache. 特許文献1に開示された動き補償処理システムを示すブロック図である。FIG. 10 is a block diagram showing a motion compensation processing system disclosed in Patent Document 1. 特許文献1に開示された動き補償処理方法で次参照領域を仮定する方法の説明図である。It is explanatory drawing of the method of assuming the next reference area | region with the motion compensation processing method disclosed by patent document 1. FIG.

符号の説明Explanation of symbols

11 演算処理装置
12 主記憶
13 データキャッシュ
14 データキャッシュコントローラ
15 レジスタファイル
16 演算器
21,41,61,81 現在復号中の画像
22,42,62,82 参照画像
23,24,43,44,45,63,64,65,83,84,85,101 マクロブロック
25 現在の参照領域
26,48,68,88 次参照領域
31,32,51,52,71,72,91,92 動きベクトル
46,47,66,67,86,87,102 参照領域
53,73,93 予測ベクトル
54,74,94 差分ベクトル
54´,74´,94´ ベクトル
103 転送領域
11 arithmetic processing unit 12 main memory 13 data cache 14 data cache controller 15 register file 16 arithmetic units 21, 41, 61, 81 currently-decoded images 22, 42, 62, 82 reference images 23, 24, 43, 44, 45 , 63, 64, 65, 83, 84, 85, 101 Macroblock 25 Current reference area 26, 48, 68, 88 Next reference area 31, 32, 51, 52, 71, 72, 91, 92 Motion vector 46, 47, 66, 67, 86, 87, 102 Reference areas 53, 73, 93 Predicted vectors 54, 74, 94 Difference vectors 54 ', 74', 94 'Vector 103 Transfer area

Claims (1)

動き補償を用いてマクロブロック単位で圧縮符号化された画像を復号する際に用いる動き補償処理方法であって、
現在復号中のマクロブロックの動きベクトルを復号する復号ステップと、
前記動きベクトルが指す現在の参照領域の次に参照する次参照領域を、復号された2つ以上の動きベクトルを利用して予測する予測ステップと、
この予測ステップで予測した前記次参照領域を含む前記次参照領域よりも大きい領域の画素データをこの画素データが記憶されている主記憶手段から読み出してキャッシュメモリに格納する格納ステップと、
前記予測ステップ及び前記格納ステップと並行して前記現在の参照領域の画素データに対する動き補償演算を行う演算ステップと
を有することを特徴とする動き補償処理方法。
A motion compensation processing method used when decoding an image compressed and encoded in units of macroblocks using motion compensation,
A decoding step of decoding a motion vector of a macroblock currently being decoded;
A prediction step of predicting a next reference area to be referred to next to a current reference area indicated by the motion vector using two or more decoded motion vectors;
A storage step of reading out pixel data of a region larger than the next reference region including the next reference region predicted in the prediction step from a main storage unit storing the pixel data, and storing the pixel data in a cache memory;
A motion compensation processing method comprising: a motion compensation computation for performing the motion compensation computation on the pixel data of the current reference region in parallel with the prediction step and the storage step.
JP2005092992A 2005-03-28 2005-03-28 Motion compensation processing method Pending JP2006279330A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005092992A JP2006279330A (en) 2005-03-28 2005-03-28 Motion compensation processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005092992A JP2006279330A (en) 2005-03-28 2005-03-28 Motion compensation processing method

Publications (1)

Publication Number Publication Date
JP2006279330A true JP2006279330A (en) 2006-10-12

Family

ID=37213637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005092992A Pending JP2006279330A (en) 2005-03-28 2005-03-28 Motion compensation processing method

Country Status (1)

Country Link
JP (1) JP2006279330A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1986439A2 (en) 2007-04-23 2008-10-29 NEC Electronics Corporation Efficient cache memory fetching for motion compensated video decoding
JP2008278423A (en) * 2007-05-07 2008-11-13 Matsushita Electric Ind Co Ltd Moving image decoding integrated circuit, moving image decoding method, moving image decoding apparatus and moving image decoding program
JP2010098537A (en) * 2008-10-16 2010-04-30 Fujitsu Ltd Transcoding device and method
WO2010131422A1 (en) * 2009-05-13 2010-11-18 パナソニック株式会社 Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
JP2012512566A (en) * 2008-12-12 2012-05-31 クゥアルコム・インコーポレイテッド Intelligent buffering of decoded pictures

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1986439A2 (en) 2007-04-23 2008-10-29 NEC Electronics Corporation Efficient cache memory fetching for motion compensated video decoding
JP2008271292A (en) * 2007-04-23 2008-11-06 Nec Electronics Corp Motion compensating apparatus
JP2008278423A (en) * 2007-05-07 2008-11-13 Matsushita Electric Ind Co Ltd Moving image decoding integrated circuit, moving image decoding method, moving image decoding apparatus and moving image decoding program
JP2010098537A (en) * 2008-10-16 2010-04-30 Fujitsu Ltd Transcoding device and method
JP2012512566A (en) * 2008-12-12 2012-05-31 クゥアルコム・インコーポレイテッド Intelligent buffering of decoded pictures
US9253496B2 (en) 2008-12-12 2016-02-02 Qualcomm Incorporated Intelligent decoded picture buffering
WO2010131422A1 (en) * 2009-05-13 2010-11-18 パナソニック株式会社 Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
CN102090066A (en) * 2009-05-13 2011-06-08 松下电器产业株式会社 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

Similar Documents

Publication Publication Date Title
EP2664142B1 (en) Video encoding and decoding with improved error resilience
JP4338654B2 (en) Motion vector detection apparatus and method, and image coding apparatus capable of using the motion vector detection apparatus
JP3863510B2 (en) Motion vector encoding / decoding method and apparatus
JP4501631B2 (en) Image coding apparatus and method, computer program for image coding apparatus, and portable terminal
US9699451B2 (en) Motion estimation compatible with multiple standards
JP4764807B2 (en) Motion vector detection apparatus and motion vector detection method
US20070217702A1 (en) Method and apparatus for decoding digital video stream
US20060165183A1 (en) Image compression apparatus and image compression method
JP2006279330A (en) Motion compensation processing method
JPWO2008136164A1 (en) Decoding circuit, decoding method, and image reproducing apparatus
JP4898415B2 (en) Moving picture coding apparatus and moving picture coding method
JP4822940B2 (en) Image processing apparatus and image processing method
JP4708821B2 (en) Moving picture coding apparatus, control method therefor, computer program, and storage medium
KR20120072205A (en) Motion estimation apparatus and method using prediction algorithm between macroblocks
US11683497B2 (en) Moving picture encoding device and method of operating the same
JP2009260494A (en) Image coding apparatus and its control method
JP2007110409A (en) Image processing device and program for making computer perform image processing method
JP4383367B2 (en) Motion vector detection device
US20110051815A1 (en) Method and apparatus for encoding data and method and apparatus for decoding data
CN110662074B (en) Motion vector determination method and device
KR100708183B1 (en) Image storing device for motion prediction, and method for storing data of the same
JP2007259247A (en) Encoding device, decoding device, and data processing system
CN113709457A (en) Decoding and encoding method, device and equipment
JP2007228101A (en) Dynamic-image coding equipment
JP3852594B2 (en) Digital image decoding apparatus and digital image decoding method