JP5299820B2 - Image processing apparatus and moving image encoding apparatus. - Google Patents

Image processing apparatus and moving image encoding apparatus. Download PDF

Info

Publication number
JP5299820B2
JP5299820B2 JP2010009609A JP2010009609A JP5299820B2 JP 5299820 B2 JP5299820 B2 JP 5299820B2 JP 2010009609 A JP2010009609 A JP 2010009609A JP 2010009609 A JP2010009609 A JP 2010009609A JP 5299820 B2 JP5299820 B2 JP 5299820B2
Authority
JP
Japan
Prior art keywords
motion vector
search range
image data
block
holding memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010009609A
Other languages
Japanese (ja)
Other versions
JP2011151509A (en
JP2011151509A5 (en
Inventor
将俊 奥平
雅俊 近藤
宗明 山口
真生 濱本
忠和 角戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2010009609A priority Critical patent/JP5299820B2/en
Publication of JP2011151509A publication Critical patent/JP2011151509A/en
Publication of JP2011151509A5 publication Critical patent/JP2011151509A5/en
Application granted granted Critical
Publication of JP5299820B2 publication Critical patent/JP5299820B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To adaptively control a position of a search range window in motion vector detection when performing inter-frame prediction for an image processing apparatus. <P>SOLUTION: Motion vector detector 1 to 10 search the most similar block out of blocks included in the search range windows set in a reference image for a plurality of every blocks which are created by dividing the image of the processing object, and detect a motion vector based on the search results. Search range window setters 11 to 13 set the search range windows used by the motion vector detector following to preset rules so as to assure blocks of a predicted motion direction in the search range windows based on the motion vector detected for the block which locates in a preceding stage of a target block whose motion vector is detected. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は、画像を符号化する画像符号化装置などの画像処理装置に関し、特に、フレーム間予測の際の動きベクトル検出における探索範囲窓の位置を適応的に制御することにより、例えば、動きが大きいブロックの動きベクトル検出においても、より小さいSAD(Sum of Absolute Difference)値を与える参照画像データが探索範囲内に含まれる可能性を高めて、発生符号量の低減、画質向上を実現する画像処理装置に関する。
ここで、SAD値は、画素値差分の絶対和である。
The present invention relates to an image processing apparatus such as an image encoding apparatus that encodes an image, and in particular, by adaptively controlling the position of a search range window in motion vector detection in inter-frame prediction, for example, motion is Image processing for reducing the amount of generated code and improving image quality by increasing the possibility that reference image data giving a smaller SAD (Sum of Absolute Difference) value is included in the search range even in motion vector detection of a large block Relates to the device.
Here, the SAD value is an absolute sum of pixel value differences.

例えば、テレビ会議、デジタルTV放送等でデジタルフォーマットの動画を送信する際には、未圧縮データのままでは、その量が膨大であるため、そのまま送信することが困難である。このため、通常、伝送路に送る前に符号化(圧縮)処理が行われる。   For example, when transmitting a video in a digital format in a video conference, digital TV broadcast, or the like, it is difficult to transmit as it is because the amount of uncompressed data is enormous. For this reason, encoding (compression) processing is usually performed before sending to the transmission line.

今日、このような動画像データを符号化する際には、多くの映像信号が有する高い自己相関性(冗長性)を利用してデータ量を圧縮することが行われている。動画像が有する冗長性には、二次元の空間冗長性と、時間冗長性がある。空間冗長性とは、フレーム内の画素の局所的類似性を指し、また、時間冗長性とは、フレーム間において画素が類似性を持つことを指す。動画像符号化装置では、これらの冗長性を低減することによりデータ量を圧縮する。   Today, when encoding such moving image data, the amount of data is compressed by utilizing the high autocorrelation (redundancy) of many video signals. The redundancy of moving images includes two-dimensional spatial redundancy and temporal redundancy. Spatial redundancy refers to local similarity of pixels within a frame, and temporal redundancy refers to similarity of pixels between frames. In the moving picture coding apparatus, the data amount is compressed by reducing the redundancy.

圧縮符号化復号化技術として知られるMPEG方式やH.264方式などでは、空間冗長性を低減するフレーム内予測画像、及び時間冗長性を低減するフレーム間予測画像を導入することにより、データ圧縮の効果を向上させている。   MPEG systems known as compression encoding / decoding technologies and H.264 are known. In the H.264 system and the like, the effect of data compression is improved by introducing an intra-frame prediction image that reduces spatial redundancy and an inter-frame prediction image that reduces temporal redundancy.

図4には、一般的な機能を有する動画像符号化装置の構成例を示してある。
本例の動画像符号化装置は、フレーム内予測画像生成部101、フレーム間予測画像生成部102、予測画像選択部103、符号化部104を備えている。
FIG. 4 shows a configuration example of a moving picture encoding apparatus having a general function.
The moving image encoding apparatus of this example includes an intra-frame prediction image generation unit 101, an inter-frame prediction image generation unit 102, a prediction image selection unit 103, and an encoding unit 104.

本例の動画像符号化装置における動作の一例を示す。
符号化対象となる画像データがフレーム内予測画像生成部101、フレーム間予測画像生成部102、符号化部104に入力される。
フレーム内予測画像生成部101がフレーム内予測画像を生成するとともに、フレーム間予測画像生成部102がフレーム間予測画像を生成する。生成した両予測画像から、予測画像選択部103が、符号化した際の発生符号量が少なくなるように予測画像を選択する。符号化部104では、選択された予測画像と予測対象画像である入力画像データとの差分がとられ、可変長符号化処理が施される。これにより、符号化データが生成される。
An example of the operation in the moving picture encoding apparatus of this example will be shown.
The image data to be encoded is input to the intra-frame predicted image generation unit 101, the inter-frame predicted image generation unit 102, and the encoding unit 104.
The intra-frame prediction image generation unit 101 generates an intra-frame prediction image, and the inter-frame prediction image generation unit 102 generates an inter-frame prediction image. From both the generated prediction images, the prediction image selection unit 103 selects a prediction image so that the generated code amount when encoding is reduced. In the encoding unit 104, the difference between the selected predicted image and the input image data that is the prediction target image is obtained, and variable length encoding processing is performed. Thereby, encoded data is generated.

図5には、従来の動きベクトル検出機能を有するフレ一ム間予測画像生成部102の構成例を示してある。なお、本例では、図4に示される符号化部104と同様な機能を有する符号化部119をフレ一ム間予測画像生成部102に備えた場合を示してある。
本例のフレ一ム間予測画像生成部102は、フレーム単位で保持する入力画像データ保持メモリ111、予測対象ブロック分割部112、MB(マクロブロック)単位で保持する予測対象ブロックデータ保持メモリ113、参照画像データ保持メモリ114、MBL(マクロブロックレイヤ)単位で保持するラインメモリ(キャッシュ)115、数十のMB単位で保持する探索範囲画像データ保持メモリ116、動きベクトル検出部117、動き補償部118、符号化部119、局所復号化部120を備えている。
FIG. 5 shows a configuration example of the inter-frame prediction image generation unit 102 having a conventional motion vector detection function. In this example, the case where the inter-frame prediction image generation unit 102 includes the encoding unit 119 having the same function as the encoding unit 104 illustrated in FIG. 4 is illustrated.
The inter-frame predicted image generation unit 102 of the present example includes an input image data holding memory 111 that is held in units of frames, a prediction target block dividing unit 112, a prediction target block data holding memory 113 that is held in units of MB (macroblocks), Reference image data holding memory 114, line memory (cache) 115 held in MBL (macroblock layer) units, search range image data holding memory 116 held in units of several tens of MB, motion vector detection unit 117, motion compensation unit 118 , An encoding unit 119 and a local decoding unit 120 are provided.

本例の動画像符号化装置内のフレーム間予測画像生成部102における動作の一例を示す。
なお、概略的には、本例の動作は、後述する実施例に係る図1に示される構成で追加されている処理部11〜13により改良される点を除いては、図1に示される構成の動作と同様である。
An example of the operation in the inter-frame prediction image generation unit 102 in the moving image encoding apparatus of this example will be shown.
The operation of this example is schematically shown in FIG. 1 except that the operation is improved by the processing units 11 to 13 added in the configuration shown in FIG. It is the same as the operation of the configuration.

符号化した結果(符号化データ)を局所復号化部120が局所復号化するとともに、局所復号化された画像データを参照画像データとして用いるために参照画像データ保持メモリ114に保存する。
動きベクトル検出部117では、図6に示されるように、ある入力画像データ上のブロック(本例では、マクロブロック)131に対して最も類似する(つまり、SAD値が最小となる)参照画像データ上のブロック(本例では、マクロブロック)132を検出し、入力画像データのブロックに対する参照画像データのブロックの移動方向及び移動量を表すベクトルを動きベクトル133として検出する。
図6には、動きベクトルの一例を示してある。
The local decoding unit 120 locally decodes the encoded result (encoded data), and stores the locally decoded image data in the reference image data holding memory 114 for use as reference image data.
In the motion vector detection unit 117, as shown in FIG. 6, reference image data that is most similar to a block (macroblock in this example) 131 on a certain input image data (that is, the SAD value is minimized). The upper block (macroblock in this example) 132 is detected, and a vector representing the movement direction and movement amount of the reference image data block relative to the input image data block is detected as the motion vector 133.
FIG. 6 shows an example of a motion vector.

また、低遅延が要求されるアプリケーションにおける動きベクトル検出では、処理時間の制限により、動きベクトルの探索範囲が制限される。
このような場合、従来方式では、例えば、図7(a)、(b)、(c)に示されるように、M×N画素(M、Nはそれぞれ整数値)の予測対象ブロック142、152、162付近の固定領域143、153、163を動きベクトルの探索範囲窓として設定して、動きベクトルの検出が行われる。
In motion vector detection in applications that require low delay, the search range of motion vectors is limited due to processing time limitations.
In such a case, in the conventional method, for example, as shown in FIGS. 7A, 7B, and 7C, prediction target blocks 142 and 152 having M × N pixels (M and N are integer values, respectively). , 162 are set as motion vector search range windows in the fixed regions 143, 153, and 163 in the vicinity of 162, and motion vectors are detected.

図7(a)、(b)、(c)には、それぞれ、M×N画素の予測対象ブロック142、152、162と動きベクトル探索範囲窓143、153、163の位置関係の例を示してあり、また、ラインメモリ115の保持領域141、151、161の例を示してある。   FIGS. 7A, 7 </ b> B, and 7 </ b> C show examples of positional relationships between the M × N pixel prediction target blocks 142, 152, and 162 and the motion vector search range windows 143, 153, and 163, respectively. In addition, examples of holding areas 141, 151, 161 of the line memory 115 are shown.

特開2007−243366号公報JP 2007-243366 A 特許第3020299号公報Japanese Patent No. 3020299

しかしながら、上記した従来方式による動きベクトル検出では、M×N画素の予測対象ブロックと動きベクトル探索範囲窓の位置関係がM×N画素の予測対象ブロックに対して固定領域であるため、例えば、図8(a)、(b)に示されるように、M×N画素の予測対象ブロック171、181がフレーム間で大きく動くような場合には、より小さいSAD値を与える領域(本例では、マクロブロック)172、182が探索範囲外となる可能性が高くなる。これにより、M×N画素の予測対象ブロックのフレーム間予測におけるSAD値が増大して、予測精度が低下する。この結果、発生符号量の増加、画質劣化につながる。   However, in the above-described conventional motion vector detection, the positional relationship between the M × N pixel prediction target block and the motion vector search range window is a fixed region with respect to the M × N pixel prediction target block. As shown in FIGS. 8 (a) and (b), when the prediction target blocks 171 and 181 having M × N pixels move greatly between frames, a region that gives a smaller SAD value (in this example, a macro Blocks 172 and 182 are more likely to be outside the search range. Thereby, the SAD value in the inter-frame prediction of the prediction target block of M × N pixels increases, and the prediction accuracy decreases. As a result, the amount of generated codes increases and image quality deteriorates.

図8(a)、(b)には、それぞれ、最小SAD値を与える領域が動きベクトルの探索範囲外となる場合の例を示してある。
図8(a)には、M×N画素の予測対象ブロック171が上方向に大きく動く場合の例を示してあり、また、図8(b)には、M×N画素の予測対象ブロック181が下方向に大きく動く場合の例を示してある。
FIGS. 8A and 8B show examples in which the region that gives the minimum SAD value is outside the motion vector search range.
FIG. 8A shows an example in which the prediction target block 171 having M × N pixels greatly moves upward, and FIG. 8B shows a prediction target block 181 having M × N pixels. An example is shown in which moves greatly downward.

本発明は、このような従来の事情に鑑み為されたもので、フレーム間予測の際の動きベクトル検出における探索範囲窓の位置を適応的に制御することにより、例えば、動きが大きいブロックの動きベクトル検出においても、より小さいSAD値を与える参照画像データが探索範囲内に含まれる可能性を高めて、発生符号量の低減、画質向上を実現することができる画像処理装置を提供することを目的とする。   The present invention has been made in view of such a conventional situation, and by adaptively controlling the position of the search range window in motion vector detection at the time of inter-frame prediction, for example, the motion of a block having a large motion An object of the present invention is to provide an image processing apparatus capable of reducing the amount of generated codes and improving image quality by increasing the possibility that reference image data giving a smaller SAD value is included in the search range even in vector detection. And

上記目的を達成するため、本発明では、画像処理装置において、次のような構成とした。
すなわち、動きベクトル検出手段が、処理対象の画像が分割されて生成された複数のブロックの各々毎に、参照画像に設定された探索範囲窓に含まれるブロックの中から最も類似するブロックを探索して、当該探索結果に基づいて動きベクトルを検出する。
探索範囲窓設定手段が、前記動きベクトル検出手段により動きベクトルを検出する対象となるブロックに対して、それより前段に位置するブロックについて前記動きベクトル検出手段により検出された動きベクトルに基づいて、予測される動き方向のブロックを前記探索範囲窓内に確保するように予め設定された規定に従って、前記動きベクトル検出手段により使用される前記探索範囲窓を設定する。
In order to achieve the above object, in the present invention, the image processing apparatus has the following configuration.
That is, the motion vector detection means searches for the most similar block from among the blocks included in the search range window set in the reference image for each of a plurality of blocks generated by dividing the processing target image. Thus, a motion vector is detected based on the search result.
The search range window setting means performs prediction based on the motion vector detected by the motion vector detection means for a block located in the preceding stage with respect to a block whose motion vector is detected by the motion vector detection means. The search range window used by the motion vector detecting means is set in accordance with a pre-set rule so as to secure a block in the search direction within the search range window.

従って、あるブロックについて動きベクトルを検出するに際して、それより前段に位置するブロックについて検出された動きベクトルに基づいて、予測される動き方向のブロックを探索範囲窓内に確保するように探索範囲窓を設定することが行われ、このように、フレーム間予測の際の動きベクトル検出における探索範囲窓の位置を適応的に制御することにより、例えば、動きが大きいブロックの動きベクトル検出においても、より小さいSAD値を与える参照画像データが探索範囲内に含まれる可能性を高めて、発生符号量の低減、画質向上を実現することができる。   Therefore, when a motion vector is detected for a certain block, the search range window is set so as to secure a block in the predicted motion direction within the search range window based on the motion vector detected for the block located in the preceding stage. In this way, by adaptively controlling the position of the search range window in motion vector detection during inter-frame prediction, for example, even in motion vector detection of a block with large motion, it is smaller The possibility that the reference image data giving the SAD value is included in the search range can be increased, and the amount of generated codes can be reduced and the image quality can be improved.

ここで、画像処理装置としては、種々なものに適用されてもよい。
また、処理対象の画像としては、種々なものが用いられてもよく、例えば、動画像のフレーム毎の画像を用いることができる。
また、参照画像としては、種々なものが用いられてもよく、例えば、処理対象の画像に比べて、過去のフレームの画像などを用いることができる。
また、探索範囲窓としては、種々なものが用いられてもよく、例えば、動きベクトルを検出する対象となるブロックを含んで、そのブロックから見て、縦横のそれぞれに所定数(端数があってもよい)のブロックを有して、全体として複数(端数があってもよい)のブロックからなる矩形領域などを用いることができる(例えば、図3参照。)。
Here, various image processing apparatuses may be applied.
Various images to be processed may be used. For example, an image for each frame of a moving image can be used.
Various images may be used as the reference image. For example, an image of a past frame may be used as compared with the image to be processed.
Various search range windows may be used. For example, the search range window includes a block for which a motion vector is detected, and a predetermined number (having a fraction) in each of the vertical and horizontal directions when viewed from the block. In other words, a rectangular area composed of a plurality of (may have fractional) blocks as a whole can be used (see, for example, FIG. 3).

また、ブロックとしては、例えば、マクロブロックを用いることができる。
また、複数のブロックの各々毎に動きベクトルを検出する態様としては、例えば、全てのブロックについて動きベクトルを検出する態様が用いられてもよく、或いは、一部のブロック(のみ)について動きベクトルを検出する態様が用いられてもよい。
また、あるブロックに最も類似するブロックを探索する態様としては、例えば、当該あるブロックと他のブロックの各々についてSAD値を算出して、SAD値が最小となった他のブロックを最も類似するブロックとして検出する態様を用いることができる。
Moreover, as a block, a macroblock can be used, for example.
Further, as a mode of detecting a motion vector for each of a plurality of blocks, for example, a mode of detecting a motion vector for all blocks may be used, or motion vectors may be used for some blocks (only). An aspect of detecting may be used.
In addition, as a mode of searching for a block most similar to a certain block, for example, a SAD value is calculated for each of the certain block and another block, and the other block having the smallest SAD value is most similar to the block. A mode of detecting as can be used.

また、動きベクトルを検出する対象となるブロックより前段に位置するブロックとしては、任意のブロックが用いられてもよく、例えば、前段の1ライン分などのように、前段の所定数のブロックを用いることができる(例えば、図3参照。)。
また、動きベクトルを検出する対象となるブロックより前段に位置するブロックについて検出される動きベクトルとしては、例えば、複数のブロックについての平均値が用いられてもよい。
また、動きベクトルを検出する対象となるブロックより前段に位置するブロックについて検出される動きベクトルや、予測される動き方向としては、例えば、所定の方向の成分(のみ)が用いられてもよく、一例として、探索範囲窓の更新方向の成分(のみ)を用いることができる(例えば、図3参照。)。
In addition, any block may be used as the block positioned before the block that is the target of motion vector detection. For example, a predetermined number of blocks in the previous stage, such as one line in the previous stage, is used. (See, for example, FIG. 3).
Moreover, as a motion vector detected about the block located in the front | former stage from the block used as the object which detects a motion vector, the average value about a some block may be used, for example.
In addition, for example, a component (only) in a predetermined direction may be used as a motion vector detected for a block located in a stage prior to a block that is a target for detecting a motion vector or a predicted motion direction. As an example, a component (only) in the update direction of the search range window can be used (for example, see FIG. 3).

また、予測される動き方向のブロックを探索範囲窓内に確保するように予め設定される規定としては、種々なものが用いられてもよく、例えば、動きベクトルを検出する対象となるブロックより前段に位置するブロックについて検出された動きベクトル(平均値でもよい)と1つ以上の所定の閾値との大小関係に基づいて、探索範囲窓の設定の仕方を決定するような規定を用いることができる(例えば、図3参照。)。
なお、この規定は、予測される動き方向のブロックを(何もしないよりは)探索範囲窓内に確保するように予め(考えられて)設定されるものであるが、実際には必ずしもそれが実現されない場合があってもよい。
In addition, various rules may be used as the pre-set rule to ensure the block of the predicted motion direction in the search range window. For example, the pre-stage of the block that is the target of detecting the motion vector. It is possible to use a rule that determines how to set the search range window based on the magnitude relationship between a motion vector (which may be an average value) detected for a block located at and one or more predetermined threshold values. (For example, see FIG. 3).
Note that this rule is set in advance (thinking) so that a block in the predicted motion direction is reserved (rather than doing nothing) within the search range window. It may not be realized.

また、予測される動き方向のブロックを探索範囲窓内に確保するように予め設定される規定に従って探索範囲窓を設定する場合と、このような規定を用いずに、動きベクトルを検出する対象となるブロックの位置に対して、予め定められた固定的な領域を探索範囲窓として設定する場合と、が切り替えられる構成が用いられてもよい。一例として、1フレームの画像について、最初の第1の所定数のブロックと最後の第2の所定数(第1の所定数と同じであってもよく、或いは、異なってもよい)のブロックでは前記規定を用いずに、これらの間のブロックにおいて前記規定を用いるような構成を用いることができる(例えば、図2のステップS3、ステップS7参照。)。   In addition, when a search range window is set according to a pre-set rule so as to secure a block of the predicted motion direction in the search range window, and a target for detecting a motion vector without using such a rule A configuration in which a predetermined fixed area is set as a search range window with respect to the position of the block to be switched may be used. As an example, for an image of one frame, the first first predetermined number of blocks and the last second predetermined number of blocks (which may be the same as or different from the first predetermined number) Instead of using the rule, a configuration in which the rule is used in a block between them can be used (see, for example, step S3 and step S7 in FIG. 2).

以上説明したように、本発明に係る画像処理装置によると、フレーム間予測の際の動きベクトル検出における探索範囲窓の位置を適応的に制御することにより、例えば、動きが大きいブロックの動きベクトル検出においても、より小さいSAD値を与える参照画像データが探索範囲内に含まれる可能性を高めて、発生符号量の低減、画質向上を実現することができる。   As described above, the image processing apparatus according to the present invention adaptively controls the position of the search range window in motion vector detection at the time of inter-frame prediction, for example, motion vector detection of a block with large motion. In this case, it is possible to increase the possibility that reference image data giving a smaller SAD value is included in the search range, and to reduce the amount of generated codes and improve the image quality.

本発明の一実施例に係るフレ一ム間予測画像生成部の構成例を示す図である。It is a figure which shows the structural example of the estimated image generation part between frames which concerns on one Example of this invention. フレーム間予測画像生成部において行われる動きベクトル探索処理の手順の一例を示す図である。It is a figure which shows an example of the procedure of the motion vector search process performed in the inter-frame estimated image generation part. (a)〜(d)はM×N画素の予測対象ブロックとラインメモリ保持領域との関係の例を説明するための図である。(A)-(d) is a figure for demonstrating the example of the relationship between the prediction object block of MxN pixel, and a line memory holding area. 動画像符号化装置の構成例を示す図である。It is a figure which shows the structural example of a moving image encoder. フレ一ム間予測画像生成部の構成例を示す図である。It is a figure which shows the structural example of the estimated image generation part between frames. 動きベクトルの一例を示す図である。It is a figure which shows an example of a motion vector. (a)、(b)、(c)はM×N画素の予測対象ブロックと動きベクトル探索範囲窓の位置関係の例を示す図である。(A), (b), (c) is a figure which shows the example of the positional relationship of the prediction object block of MxN pixel, and a motion vector search range window. (a)、(b)は最小SAD値を与える領域が動きベクトルの探索範囲外となる場合の例を示す図である。(A), (b) is a figure which shows an example in case the area | region which gives the minimum SAD value becomes out of the search range of a motion vector.

本発明に係る実施例を図面を参照して説明する。
図1には、本発明の一実施例に係るフレ一ム間予測画像生成部の構成例を示してある。
ここで、本例のフレ一ム間予測画像生成部は、例えば、図4に示されるような動画像符号化装置のフレ一ム間予測画像生成部102などに適用される。なお、本例では、図4に示される符号化部104と同様な機能を有する符号化部9をフレ一ム間予測画像生成部に備えた場合を示してある。
また、本例では、動画像符号化装置がH.264符号化方式で符号化を行う場合について説明するが、符号化方式としては、本例に限定されず、種々なものが用いられてもよい。
Embodiments according to the present invention will be described with reference to the drawings.
FIG. 1 shows a configuration example of an inter-frame prediction image generation unit according to an embodiment of the present invention.
Here, the inter-frame prediction image generation unit of the present example is applied to, for example, the inter-frame prediction image generation unit 102 of the moving picture encoding apparatus as shown in FIG. In the present example, the case where the encoding unit 9 having the same function as the encoding unit 104 shown in FIG. 4 is provided in the inter-frame prediction image generation unit is shown.
In this example, the moving picture coding apparatus is H.264. Although the case where encoding is performed using the H.264 encoding method will be described, the encoding method is not limited to this example, and various types may be used.

本例のフレ一ム間予測画像生成部は、フレーム単位で保持する入力画像データ保持メモリ1、予測対象ブロック分割部2、MB単位で保持する予測対象ブロックデータ保持メモリ3、参照画像データ保持メモリ4、MBL単位で保持するラインメモリ(キャッシュ)5、数十のMB単位で保持する探索範囲画像データ保持メモリ6、動きベクトル検出部7、動き補償部8、符号化部9、局所復号化部10、ライン動きベクトル保持メモリ11、ライン平均動きベクトル算出部12、参照画像データ管理部13を備えている。   The inter-frame predicted image generation unit of this example includes an input image data holding memory 1 that holds each frame, a prediction target block dividing unit 2, a prediction target block data holding memory 3 that holds MB units, and a reference image data holding memory 4, a line memory (cache) 5 held in MBL units, a search range image data holding memory 6 held in units of several tens of MBs, a motion vector detection unit 7, a motion compensation unit 8, an encoding unit 9, and a local decoding unit 10, a line motion vector holding memory 11, a line average motion vector calculation unit 12, and a reference image data management unit 13 are provided.

本例のフレーム間予測画像生成部における動作の一例を示す。
外部から入力された画像データが入力画像データ保持メモリ1及び符号化部9に入力される。
入力画像データ保持メモリ1では、入力された入力画像データがフレーム単位で書き込まれて保持(記憶)される。
予測対象ブロック分割部2は、入力画像データ保持メモリ1に書き込まれた入力画像データを入力して、入力した入力画像データを縦横に切り出して、M×N画素の予測対象ブロック(MB単位)に分割する。
予測対象ブロックデータ保持メモリ3では、分割されたM×N画素の予測対象ブロックのデータが格納されて保持される。
An example of operation | movement in the inter-frame estimated image generation part of this example is shown.
Image data input from the outside is input to the input image data holding memory 1 and the encoding unit 9.
In the input image data holding memory 1, the inputted input image data is written and held (stored) in units of frames.
The prediction target block dividing unit 2 inputs the input image data written in the input image data holding memory 1 and cuts the input image data vertically and horizontally into M × N pixel prediction target blocks (in MB units). To divide.
The prediction target block data holding memory 3 stores and holds the data of the divided M × N pixel prediction target blocks.

上記の処理と同時に(並行して)、参照画像データを保持する参照画像データ保持メモリ4から数スライス分の参照画像データをラインメモリ5に書き込み、更に、その内の数十MB分の参照画像データを探索範囲画像データ(動きベクトルの探索範囲窓のデータ)として探索範囲画像データ保持メモリ6に書き込んで保持する。
ここで、ラインメモリ5は、参照画像データ保持メモリ4と探索範囲画像データ保持メモリ6との間に位置しており、キャッシュメモリの役割を有している。
Simultaneously (in parallel) with the above processing, reference image data for several slices is written to the line memory 5 from the reference image data holding memory 4 for holding reference image data, and further, reference images for several tens of MB are included therein. The data is written and held in the search range image data holding memory 6 as search range image data (motion vector search range window data).
Here, the line memory 5 is located between the reference image data holding memory 4 and the search range image data holding memory 6 and has a role of a cache memory.

動きベクトル検出部7は、M×N画素の予測対象ブロックデータを予測対象ブロックデータ保持メモリ3から読み出すとともに、探索範囲画像データを動き探索範囲画像データ保持メモリ6から読み出し、M×N画素の予測対象ブロックデータと探索範囲画像データから動きベクトルを検出する処理を実行する。具体的には、動きベクトル検出部7は、分割されたブロック単位毎に、M×N画素の予測対象ブロックデータと探索範囲画像データ(参照画像データ)との間でSAD値を算出し、これら算出したSAD値から最小値を検出し、検出した最小値におけるベクトルを動きベクトルとして検出する(例えば、図6参照。)。   The motion vector detection unit 7 reads M × N pixel prediction target block data from the prediction target block data holding memory 3 and also reads search range image data from the motion search range image data holding memory 6 to predict M × N pixels. A process of detecting a motion vector from the target block data and the search range image data is executed. Specifically, the motion vector detection unit 7 calculates an SAD value between the prediction target block data of M × N pixels and the search range image data (reference image data) for each divided block unit. A minimum value is detected from the calculated SAD value, and a vector at the detected minimum value is detected as a motion vector (see, for example, FIG. 6).

動きベクトル検出部7で検出された動きベクトルは、動き補償部8及びライン動きベクトル保持メモリ11に入力される。
動き補償部8は、動きベクトル検出部7から入力された動きベクトルに応じて、動きベクトルに基づいて補償ブロック(動き補償ブロック)を特定し、特定した補償ブロックのデータを探索範囲画像データ保持メモリ6から読み出して、補償ブロックに基づいてフレーム間予測画像データを生成して符号化部9へ出力する。
ここで、補償ブロックについては、M×N画素の予測対象ブロックの動きベクトルを探索範囲画像データ内で探索して、得られた動きベクトルで特定されるブロックを補償ブロックとする。
The motion vector detected by the motion vector detection unit 7 is input to the motion compensation unit 8 and the line motion vector holding memory 11.
The motion compensation unit 8 identifies a compensation block (motion compensation block) based on the motion vector in accordance with the motion vector input from the motion vector detection unit 7, and the data of the identified compensation block is stored in a search range image data holding memory. 6, inter-frame prediction image data is generated based on the compensation block, and is output to the encoding unit 9.
Here, regarding the compensation block, a motion vector of a prediction target block of M × N pixels is searched in the search range image data, and a block specified by the obtained motion vector is set as a compensation block.

符号化部9は、生成された予測画像データと、当該予測画像データを生成する基となった入力画像データ(当該予測画像データに対応するもの)から、これらの差分画像データを生成し、そして、生成した差分画像データを符号化して、符号化データを生成する。
生成された符号化データは、外部へ出力されるとともに、局所復号化部10に送られて入力される。
The encoding unit 9 generates the difference image data from the generated predicted image data and the input image data (which corresponds to the predicted image data) that is the basis for generating the predicted image data, and Then, the generated difference image data is encoded to generate encoded data.
The generated encoded data is output to the outside and sent to the local decoding unit 10 and input.

局所復号化を行う局所復号化部10は、入力された符号化データ(符号化された画像データ)を復号化する。これにより得られた画像データが、参照画像データとして、参照画像データ保持メモリ4に書き込まれて保持される。
参照画像データ保持メモリ4に書き込まれたデータは、必要に応じて適宜、ラインメモリ5へ転送される。
Local decoding unit 10 for performing local decoding is decrypt the input encoded data (encoded image data). The image data obtained in this way is written and held in the reference image data holding memory 4 as reference image data.
The data written in the reference image data holding memory 4 is transferred to the line memory 5 as necessary.

ライン動きベクトル保持メモリ11は、動きベクトル検出部7から入力された動きベクトルに基づいて、1スライス分の動きベクトルを保持する。
ライン平均動きベクトル算出部12は、ライン動きベクトル保持メモリ11に保持された1スライス分の動きベクトルに基づいて、1スライス分の動きベクトルの平均(平均動きベクトル)を算出して参照画像データ管理部13へ出力する。
The line motion vector holding memory 11 holds a motion vector for one slice based on the motion vector input from the motion vector detection unit 7.
The line average motion vector calculation unit 12 calculates the average of motion vectors for one slice (average motion vector) based on the motion vector for one slice held in the line motion vector holding memory 11, and manages reference image data To the unit 13.

参照画像データ管理部13は、ライン平均動きベクトル算出部12から入力された平均動きベクトルに基づいて、参照画像データ保持メモリ4とラインメモリ5との間の通信を制御する。
本例では、参照画像データ管理部13は、平均動きベクトルに基づいて、M×N画素の予測対象ブロックの動きベクトルを予測し、当該予測の結果に基づいて参照画像データ中で設定する動きベクトル探索範囲窓を適応的に制御する。これにより、保持する参照画像データをM×N画素の予測対象ブロックに対して適応制御する。
The reference image data management unit 13 controls communication between the reference image data holding memory 4 and the line memory 5 based on the average motion vector input from the line average motion vector calculation unit 12.
In this example, the reference image data management unit 13 predicts a motion vector of an M × N pixel prediction target block based on the average motion vector, and sets a motion vector set in the reference image data based on the prediction result. Adaptively controls the search range window. Thereby, the reference image data to be held is adaptively controlled with respect to the prediction target block of M × N pixels.

図2には、本例のフレーム間予測画像生成部において行われる動きベクトル探索処理のフローの一例を示してある。
まず、入力画像データを入力画像データ保持メモリ1に取り込む(ステップS1)。
次に、予測対象ブロック分割部2が、入力画像データ保持メモリ1に書き込まれているデータを、先頭からMB単位で切り出して、これにより得られたM×N画素の予測対象ブロックのデータを予測対象ブロックデータ保持メモリ3に書き込む(ステップS2)。
FIG. 2 shows an example of a flow of motion vector search processing performed in the inter-frame predicted image generation unit of this example.
First, input image data is taken into the input image data holding memory 1 (step S1).
Next, the prediction target block dividing unit 2 cuts out the data written in the input image data holding memory 1 in MB units from the head, and predicts the data of the prediction target block of M × N pixels obtained thereby. Write to the target block data holding memory 3 (step S2).

次に、[{探索範囲窓の縦ブロック数(SCB)/2}>予測対象ブロックのスライス番号]であるか否かを評価する(ステップS3)。
ステップS3の評価の結果、真であると判定した場合には、予測対象ブロックに対して固定領域の探索範囲窓(動きベクトルの探索範囲窓)を設定して(ステップS4)、設定された探索範囲内で動きベクトル探索を実行する(ステップS5)。
Next, it is evaluated whether or not [{number of vertical blocks of search range window (SCB) / 2}> slice number of prediction target block] (step S3).
As a result of the evaluation in step S3, if it is determined to be true, a fixed region search range window (motion vector search range window) is set for the prediction target block (step S4), and the set search is performed. A motion vector search is executed within the range (step S5).

一方、ステップS3の評価の結果、偽であると判定した場合には、[予測対象ブロックのスライス番号<{フレームの縦ブロック数(FCB)−探索範囲窓の縦ブロック数(SCB)/2}]であるか否かを評価する(ステップS7)。
ステップS7の評価の結果、真であると判定した場合には、適応的に探索範囲窓を設定して(ステップS8)、設定された探索範囲内で動きベクトル探索を実行する(ステップS9)。
On the other hand, if it is determined that the result of the evaluation in step S3 is false, [slice number of prediction target block <{number of vertical blocks of frame (FCB) −number of vertical blocks of search range window (SCB) / 2}}. ] Is evaluated (step S7).
As a result of the evaluation in step S7, if it is determined to be true, a search range window is adaptively set (step S8), and a motion vector search is executed within the set search range (step S9).

一方、ステップS7の評価の結果、偽であると判定した場合には、予測対象ブロックに対して固定領域の探索範囲窓を設定して(ステップS10)、設定された探索範囲内で動きベクトル探索を実行する(ステップS11)。   On the other hand, if it is determined that the result of the evaluation in step S7 is false, a fixed area search range window is set for the prediction target block (step S10), and a motion vector search is performed within the set search range. Is executed (step S11).

ステップS5、ステップS9、ステップS11のいずれかで動きベクトル探索が実行された後に、処理対象の予測対象ブロックがフレームの最終ブロックとなったか否かをチェック(検査)する(ステップS6)。
ステップS6のチェックの結果、真であると判定した場合には、動きベクトル探索処理を終了する。
一方、ステップS6のチェックの結果、偽であると判定した場合には、次の予測対象ブロックの処理へ移る(ステップS2の処理へ戻る)。
After the motion vector search is executed in any of step S5, step S9, and step S11, it is checked (inspected) whether the prediction target block to be processed is the final block of the frame (step S6).
If the result of the check in step S6 is true, the motion vector search process is terminated.
On the other hand, if it is determined that the result of the check in step S6 is false, the process proceeds to the process for the next prediction target block (returns to the process in step S2).

ここで、本例では、ステップS3、ステップS4、ステップS7、ステップS8、ステップS10、ステップS6の処理のように、動きベクトルの探索範囲窓の設定等の処理は、参照画像データ管理部13により行われる。
また、本例では、ステップS5、ステップS9、ステップS11の処理のように、動きベクトルを探索(検出)する処理は、動きベクトル検出部7により行われる。
Here, in this example, the reference image data management unit 13 performs processing such as setting of a motion vector search range window as in the processing of step S3, step S4, step S7, step S8, step S10, and step S6. Done.
In this example, the motion vector detection unit 7 performs a process for searching for (detecting) a motion vector as in the processes of steps S5, S9, and S11.

次に、図2に示されるフローに関して、動きベクトルの探索範囲窓を適応的に設定する方法の具体例を示す。
図3には、M×N画素の予測対象ブロックとラインメモリ保持領域との関係の例を示してある。
本例では、1フレームの縦ブロック数が34であり、探索範囲窓の縦ブロック数が5である場合を例として説明する。また、本例では、スライス番号が0、1、2、・・・と割り振られるとする。
Next, a specific example of a method for adaptively setting a motion vector search range window for the flow shown in FIG.
FIG. 3 shows an example of the relationship between the prediction target block of M × N pixels and the line memory holding area.
In this example, a case where the number of vertical blocks in one frame is 34 and the number of vertical blocks in the search range window is 5 will be described as an example. In this example, it is assumed that slice numbers are assigned as 0, 1, 2,.

図2に示されるステップS3の処理において、[{探索範囲窓の縦ブロック数(SCB)/2}>予測対象ブロックのスライス番号]が偽となるのは、予測対象ブロックのスライス番号が3(4スライス目)になったときである。また、図2に示されるステップS7の処理において、[予測対象ブロックのスライス番号<{フレームの縦ブロック数(FCB)−探索範囲窓の縦ブロック数(SCB)/2}]が真となる予測対象ブロックのスライス番号の内で、最大の値は31(32スライス目)のときである。
従って、本例では、適応的な探索範囲窓の設定処理が実行されるのは、予測対象ブロックのスライス番号が3から31の間においてである。
In the process of step S3 shown in FIG. 2, [{number of vertical blocks in search range window (SCB) / 2}> slice number of prediction target block] is false because the slice number of the prediction target block is 3 ( This is when the fourth slice) is reached. In addition, in the process of step S7 shown in FIG. 2, a prediction in which [slice number of prediction target block <{number of vertical blocks of frame (FCB) −number of vertical blocks of search range window (SCB) / 2}] ”is true. Among the slice numbers of the target block, the maximum value is 31 (the 32nd slice).
Therefore, in this example, the adaptive search range window setting process is executed when the slice number of the prediction target block is between 3 and 31.

本例では、動きベクトル探索処理の開始時から、スライス単位で、各予測対象ブロックの動きベクトルを、順次、ライン動きベクトル保持メモリ11に書き込む。
図3(a)に示されるように、3スライス目の動きベクトル探索時には、2スライス目の各予測対象ブロックの動きベクトルがライン動きベクトル保持メモリ11に保持されている。
図3(a)には、ラインメモリ5の保持領域21、予測対象ブロック22、動きベクトル探索範囲窓23、1MBL分の動きベクトル24を示してある。
In this example, the motion vector of each prediction target block is sequentially written in the line motion vector holding memory 11 in units of slices from the start of the motion vector search process.
As shown in FIG. 3A, the motion vector of each prediction target block of the second slice is held in the line motion vector holding memory 11 when searching for the motion vector of the third slice.
FIG. 3A shows a holding area 21 of the line memory 5, a prediction target block 22, a motion vector search range window 23, and a motion vector 24 for 1 MBL.

そして、隣接するスライス間のブロックの動きベクトルには相関があるため、これを利用して、次のスライスに属する予測対象ブロックの動きベクトルの傾向を予測する。
本例では、ライン平均動きベクトル算出部12が、(式1)により、前段のスライス目(ここの例では、2スライス目)の動きベクトルのY方向の成分Yを平均化したY方向平均値(平均動きベクトル)Yaveを算出する。(式1)において、mは1スライス(本例では、1MBL分)の総ブロック数である。
Since there is a correlation between the motion vectors of the blocks between adjacent slices, the tendency of the motion vector of the prediction target block belonging to the next slice is predicted using this.
In this example, the line average motion vector calculation section 12 is, according to (Equation 1), preceding slice # (In our example, 2 slices th) averaged Y direction average Y direction component Y n of motion vectors The value (average motion vector) Y ave is calculated. In (Expression 1), m is the total number of blocks in one slice (in this example, 1 MBL).

ここで、図3に示されるように、本例では、図3における横方向がX方向となっており、縦方向がY方向となっている。また、Y方向は、複数のMBLの並びの方向と平行であり、スライス番号0、1、2、・・・に沿った向きとは逆向きが正となっている。つまり、Y方向平均値Yaveが正で大きいほど図3における上方(スライス番号が小さくなる方向)へ動くと予測され、Y方向平均値Yaveが負で小さいほど図3における下方(スライス番号が大きくなる方向)へ動くと予測される。 Here, as shown in FIG. 3, in this example, the horizontal direction in FIG. 3 is the X direction, and the vertical direction is the Y direction. In addition, the Y direction is parallel to the direction in which the plurality of MBLs are arranged, and the opposite direction to the direction along slice numbers 0, 1, 2,... Is positive. That is, it is predicted that the Y direction average value Y ave increases in the positive direction in FIG. 3 (in the direction in which the slice number decreases) as the Y direction average value Y ave increases, and the lower in the Y direction average value Y ave in the direction in FIG. It is predicted to move in the direction of increasing).

Figure 0005299820
Figure 0005299820

このY方向平均値Yaveが前段のスライス目(ここの例では、2スライス目)のY方向動きベクトルの傾向を示しており、これを基に、その次の段のスライス目(ここの例では、3スライス目)のY方向動きベクトルの傾向を推定する。 This Y-direction average value Y ave indicates the tendency of the Y-direction motion vector of the previous slice (second slice in this example), and based on this, the slice of the next stage (example here) Then, the tendency of the Y-direction motion vector of the third slice) is estimated.

本例では、探索範囲窓の縦ブロック数が5であり、80画素となっている(本例では、M×N=16×16)。
これに対して閾値(例えば、−16、16)を設定し、参照画像データ管理部13が、閾値とY方向平均値Yaveとを比較する。この比較結果に基づいて、参照画像データ管理部13が、ラインメモリ5が保持するデータの更新頻度を制御することにより、動きベクトル探索範囲窓の更新量(スライス番号を増加させる方向でずらしていく量)を適応制御する。
In this example, the number of vertical blocks in the search range window is 5, which is 80 pixels (in this example, M × N = 16 × 16).
On the other hand, a threshold value (for example, −16, 16) is set, and the reference image data management unit 13 compares the threshold value with the Y-direction average value Y ave . Based on the comparison result, the reference image data management unit 13 controls the update frequency of the data held in the line memory 5 to shift the motion vector search range window update amount (in the direction of increasing the slice number). Amount) is adaptively controlled.

本例では、次の(制御1)〜(制御3)のような制御が行われる。ここでは、Y方向平均値Yaveは、画素数単位を用いて表されているとする。
(制御1)Y方向平均値Yaveが16より大きい場合には、図3(b)に示されるように、ラインメモリ5が保持するデータを更新しない。
(制御2)Y方向平均値Yaveが−16以上で16以下である場合には、図3(c)に示されるように、ラインメモリ5が保持するデータを1スライス分更新する。
(制御3)Y方向平均値Yaveが−16より小さい場合には、図3(d)に示されるように、ラインメモリ5が保持するデータを2スライス分更新する。
In this example, the following controls (Control 1) to (Control 3) are performed. Here, it is assumed that the Y-direction average value Y ave is expressed using the unit of the number of pixels.
(Control 1) When the Y-direction average value Y ave is larger than 16, the data held in the line memory 5 is not updated as shown in FIG.
(Control 2) When the Y-direction average value Y ave is not less than −16 and not more than 16, the data held in the line memory 5 is updated by one slice as shown in FIG.
(Control 3) When the Y-direction average value Y ave is smaller than −16, the data held in the line memory 5 is updated by two slices as shown in FIG.

図3(b)、(c)、(d)には、それぞれ、ラインメモリの保持領域31、41、51、予測対象ブロック32、42、52、動きベクトル探索範囲窓33、43、53を示してある。ここで、本例では、ラインメモリ5の保持領域31、41、51が6スライス分あり、Y方向についてはその先頭から5スライス分を動きベクトル探索範囲窓33、43、53として設定する構成となっており、X方向については所定数(端数があってもよい)のブロックを動きベクトル探索範囲窓33、43、53として設定する構成となっている。
以降のスライス(ここの例では、4スライス目以降)についても、同様に、Y方向平均値Yaveを求めて、閾値との比較結果に基づいて、ラインメモリ5が保持するデータを制御する。
3 (b), (c), and (d) show line memory holding areas 31, 41, 51, prediction target blocks 32, 42, 52, and motion vector search range windows 33, 43, 53, respectively. It is. Here, in this example, the holding areas 31, 41, 51 of the line memory 5 are for 6 slices, and in the Y direction, 5 slices from the head are set as the motion vector search range windows 33, 43, 53. In the X direction, a predetermined number (may have a fraction) of blocks is set as the motion vector search range windows 33, 43, 53.
Similarly, for the subsequent slices (in the present example, the fourth and subsequent slices), the Y-direction average value Y ave is obtained, and the data held in the line memory 5 is controlled based on the comparison result with the threshold value.

以上のように、本例では、フレーム間予測の際の動きベクトル検出における探索範囲窓の位置を適応的に制御することが行われ、これにより、例えば、動きが大きいブロックの動きベクトル検出においても、より小さいSAD値を与える参照画像データが探索範囲内に含まれる可能性を高めて、SAD値の改善を図ることができ、発生符号量の低減、画質向上を実現することができる。
本例は、動画などの画像データを符号化する際に好適な技術であり、例えば、動画像などの符号化装置、動きベクトル検出装置、フレーム間符号化装置など、種々なものに適用することが可能である。
As described above, in this example, the position of the search range window in the motion vector detection at the time of inter-frame prediction is adaptively controlled, so that, for example, even in the motion vector detection of a block with a large motion Therefore, it is possible to improve the possibility that the reference image data giving a smaller SAD value is included in the search range, to improve the SAD value, and to reduce the amount of generated codes and improve the image quality.
This example is a technique suitable for encoding image data such as moving images, and is applied to various devices such as a moving image encoding device, a motion vector detection device, an inter-frame encoding device, and the like. Is possible.

なお、本例のフレーム間予測画像生成部(画像処理装置の一例)では、参照画像に設定された探索範囲窓を使用して動きベクトルを検出する処理を行う処理部1〜10の機能により動きベクトル検出手段が構成されており、動きベクトルを検出する対象となるブロックより前段に位置するブロックについての動きベクトル検出結果に基づいて探索範囲窓を設定する処理を行う処理部11〜13の機能により探索範囲窓設定手段が構成されている。   Note that the inter-frame prediction image generation unit (an example of an image processing apparatus) of this example uses the functions of the processing units 1 to 10 to perform a process of detecting a motion vector using a search range window set in a reference image. The vector detection means is configured, and the functions of the processing units 11 to 13 perform processing for setting a search range window based on a motion vector detection result for a block located before the block that is a target for detecting a motion vector. Search range window setting means is configured.

ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々なシステムや装置として提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがROM(Read Only Memory)に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー(登録商標)ディスクやCD(Compact Disc)−ROM等のコンピュータにより読み取り可能な記録媒体や当該プログラム(自体)として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
Here, the configuration of the system and apparatus according to the present invention is not necessarily limited to the configuration described above, and various configurations may be used. The present invention can also be provided as, for example, a method or method for executing the processing according to the present invention, a program for realizing such a method or method, or a recording medium for recording the program. It is also possible to provide various systems and devices.
The application field of the present invention is not necessarily limited to the above-described fields, and the present invention can be applied to various fields.
In addition, as various processes performed in the system and apparatus according to the present invention, for example, the processor executes a control program stored in a ROM (Read Only Memory) in hardware resources including a processor and a memory. A controlled configuration may be used, and for example, each functional unit for executing the processing may be configured as an independent hardware circuit.
The present invention can also be understood as a computer-readable recording medium such as a floppy (registered trademark) disk or a CD (Compact Disc) -ROM storing the control program, and the program (itself). The processing according to the present invention can be performed by inputting the program from the recording medium to the computer and causing the processor to execute the program.

1、111・・入力画像データ保持メモリ、 2、112・・予測対象ブロック分割部、 3、113・・予測対象ブロックデータ保持メモリ、 4、114・・参照画像データ保持メモリ、 5、115・・ラインメモリ(キャッシュ)、 6、116・・探索範囲画像データ保持メモリ、 7、117・・動きベクトル検出部、 8、118・・動き補償部、 9、104、119・・符号化部、 10、120・・局所復号化部、 11・・ライン動きベクトル保持メモリ、 12・・ライン平均動きベクトル算出部、 13・・参照画像データ管理部、
21、31、41、51、141、151、161・・ラインメモリの保持領域、 22、32、42、52、142、152、162、171、181・・予測対象ブロック、 23、33、43、53、143、153、163・・動きベクトル探索範囲窓、 24・・1MBL分の動きベクトル、
101・・フレーム内予測画像生成部、 102・・フレーム間予測画像生成部、 103・・予測画像選択部、
131、132・・ブロック、 133・・動きベクトル、
172、182・・小さいSAD値を与える領域、
1, 111 .. Input image data holding memory, 2, 112 .. Prediction target block dividing unit, 3, 113 .. Prediction target block data holding memory, 4, 114 .. Reference image data holding memory, 5, 115. Line memory (cache), 6, 116 .. Search range image data holding memory, 7, 117... Motion vector detection unit, 8, 118... Motion compensation unit, 9, 104, 119. 120 .... Local decoding unit, 11 .... Line motion vector holding memory, 12 .... Line average motion vector calculation unit, 13 .... Reference image data management unit,
21, 31, 41, 51, 141, 151, 161... Holding area of line memory 22, 32, 42, 52, 142, 152, 162, 171, 181... Prediction target block, 23, 33, 43, 53, 143, 153, 163 .. motion vector search range window, 24 .. 1 MBL worth of motion vectors,
101 .. Prediction image generation unit within frame, 102.. Prediction image generation unit between frames, 103.. Prediction image selection unit,
131, 132 ... blocks, 133 ... motion vectors,
172, 182... Region giving a small SAD value,

Claims (3)

処理対象の画像が分割されて生成された複数のブロックの各々毎に、参照画像に設定された探索範囲窓の中から最も類似する領域を探索して、当該探索結果に基づいて動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段により動きベクトルを検出する対象となるブロックに対して、それより前に処理するブロックについて前記動きベクトル検出手段により検出された動きベクトルに基づいて、予測される動き方向のブロックを前記探索範囲窓内に確保するように予め設定された規定に従って、前記動きベクトル検出手段により使用される前記探索範囲窓を設定する探索範囲窓設定手段と、
を備えた画像処理装置において、
マクロブロックの横方向の並びであるマクロブロックライン1つ分を1スライスとし、
参照画像をフレーム単位で保持する参照画像データ保持メモリと、
参照画像データ保持メモリから転送された複数スライス分の参照画像データをキャッシュするラインメモリと、
ラインメモリから前記探索範囲窓を構成する複数のマクロブロック分の参照画像データを保持する探索範囲画像データ保持メモリと、を別個に備え、
前記動きベクトル検出手段は、前記探索範囲画像データ保持メモリから読み出した参照画像データから前記動きベクトルの検出を行い、
前記探索範囲窓設定手段は、前記動きベクトル検出手段により1つのスライスにおいて検出された複数の動きベクトルに基づいて、該1つのスライスの次のスライスにおける前記予測される動きを定め、前記ラインメモリがキャッシュすべきスライスを適応的に制御することを特徴とする画像処理装置。
For each of the plurality of blocks generated by dividing the image to be processed, the most similar region is searched from the search range window set in the reference image, and the motion vector is detected based on the search result. Motion vector detecting means for performing,
A block having a motion direction predicted based on a motion vector detected by the motion vector detection unit for a block to be processed before a block for which a motion vector is detected by the motion vector detection unit. Search range window setting means for setting the search range window used by the motion vector detection means according to a pre-set rule to ensure within the search range window;
In an image processing apparatus comprising:
One macroblock line, which is a horizontal arrangement of macroblocks, is defined as one slice,
A reference image data holding memory for holding a reference image in units of frames;
A line memory that caches reference image data for a plurality of slices transferred from the reference image data holding memory;
A search range image data holding memory for holding reference image data for a plurality of macroblocks constituting the search range window from a line memory,
The motion vector detection means detects the motion vector from reference image data read from the search range image data holding memory,
The search range window setting means determines the predicted motion in the next slice of the one slice based on a plurality of motion vectors detected in one slice by the motion vector detection means, and the line memory An image processing apparatus characterized by adaptively controlling a slice to be cached .
請求項1記載の画像処理装置を備えてフレーム間予測符号化を行なう動画像符号化装置であって、A moving image encoding apparatus that includes the image processing apparatus according to claim 1 and performs interframe predictive encoding,
前記処理対象の画像を保持する入力画像データ保持メモリと、  An input image data holding memory for holding the image to be processed;
入力画像データ保持メモリが保持する前記処理対象の画像から切り出された予測対象のマクロブロックをマクロブロック単位で保持する予測対象ブロックデータ保持メモリと、を更に有し、  A prediction target block data holding memory that holds, in macroblock units, a prediction target macroblock cut out from the processing target image held by the input image data holding memory;
前記参照画像データ保持メモリから前記ラインメモリに書き込む処理は、前記入力画像データ保持メモリから予測対象ブロックデータ保持メモリに書き込む処理と並行して行われ、  The process of writing from the reference image data holding memory to the line memory is performed in parallel with the process of writing from the input image data holding memory to the prediction target block data holding memory,
前記探索範囲窓設定手段は、前記1つのスライスにおいて検出された複数の動きベクトルの縦方向成分の平均を、前記次のスライスにおける前記予測される動きと定め、前記探索範囲窓の縦方向の中央位置と、予測対象のマクロブロックの位置関係を、当該予測される動きに一致させる制御を行なう動画像符号化装置。    The search range window setting means determines the average of the vertical components of a plurality of motion vectors detected in the one slice as the predicted motion in the next slice, and sets the center in the vertical direction of the search range window. A moving picture coding apparatus that performs control to match a positional relationship between a position and a macroblock to be predicted to the predicted motion.
前記探索範囲窓は、横長の矩形とすることを特徴とする請求項2記載の動画像符号化装置。The moving image encoding apparatus according to claim 2, wherein the search range window is a horizontally long rectangle.
JP2010009609A 2010-01-20 2010-01-20 Image processing apparatus and moving image encoding apparatus. Active JP5299820B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010009609A JP5299820B2 (en) 2010-01-20 2010-01-20 Image processing apparatus and moving image encoding apparatus.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010009609A JP5299820B2 (en) 2010-01-20 2010-01-20 Image processing apparatus and moving image encoding apparatus.

Publications (3)

Publication Number Publication Date
JP2011151509A JP2011151509A (en) 2011-08-04
JP2011151509A5 JP2011151509A5 (en) 2013-02-14
JP5299820B2 true JP5299820B2 (en) 2013-09-25

Family

ID=44538124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010009609A Active JP5299820B2 (en) 2010-01-20 2010-01-20 Image processing apparatus and moving image encoding apparatus.

Country Status (1)

Country Link
JP (1) JP5299820B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5803697B2 (en) * 2012-01-27 2015-11-04 株式会社ソシオネクスト Moving picture decoding apparatus and moving picture decoding method
JP7201906B2 (en) * 2019-01-15 2023-01-11 日本電信電話株式会社 Reference area determination device and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05328333A (en) * 1992-05-15 1993-12-10 Toshiba Corp Moving vector detector
JP3226020B2 (en) * 1997-05-28 2001-11-05 日本電気株式会社 Motion vector detection device
JP2004048512A (en) * 2002-07-12 2004-02-12 Renesas Technology Corp Moving picture encoding method and moving picture encoding circuit
WO2005036887A1 (en) * 2003-10-14 2005-04-21 Nec Corporation Motion vector search method, motion vector search device, and motion vector search program
CN101663899A (en) * 2007-04-26 2010-03-03 松下电器产业株式会社 Motion detection apparatus, motion detection method, and motion detection program
JP2009021864A (en) * 2007-07-12 2009-01-29 Canon Inc Motion vector searching apparatus

Also Published As

Publication number Publication date
JP2011151509A (en) 2011-08-04

Similar Documents

Publication Publication Date Title
AU2011353904B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
KR101011849B1 (en) Motion vector calculating method
JP5422124B2 (en) Reference picture selection method, image encoding method, program, image encoding device, and semiconductor device
US20110013697A1 (en) Motion vector prediction method, and apparatus and method for encoding and decoding image using the same
TW201215161A (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
JP2013504256A (en) Scene switching detection
KR20130119465A (en) Block based sampling coding systems
JP2011029863A (en) Decoding processing method
TWI511531B (en) Video coding apparatus, video coding method, and video coding program
Liu et al. H. 264/AVC video error concealment algorithm by employing motion vector recovery under cloud computing environment
JP2013115583A (en) Moving image encoder, control method of the same, and program
US10051281B2 (en) Video coding system with efficient processing of zooming transitions in video
JP2008219141A (en) Motion vector detector, image encoder and imaging apparatus employing the same
JP5299820B2 (en) Image processing apparatus and moving image encoding apparatus.
Pan et al. Predictive and distribution-oriented fast motion estimation for H. 264/AVC
KR20150060730A (en) Inter-image prediction method and device and corresponding encoding method and device
JP5281597B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
JP5173946B2 (en) Encoding preprocessing device, encoding device, decoding device, and program
JP2007243391A (en) Animation image encoder
AU2017202476B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
JP2008072608A (en) Apparatus and method for encoding image
JP5274181B2 (en) Moving picture coding apparatus and moving picture coding method
JP2014068361A (en) Moving image encoder, moving image decoder, moving image encoding method, moving image decoding method, moving image encoding program, and moving image decoding program
JP2012029212A (en) Moving image encoder and moving image encoding method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130514

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130607

R150 Certificate of patent or registration of utility model

Ref document number: 5299820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250