JP2009296363A - Motion vector search apparatus, and motion vector search method - Google Patents

Motion vector search apparatus, and motion vector search method Download PDF

Info

Publication number
JP2009296363A
JP2009296363A JP2008148324A JP2008148324A JP2009296363A JP 2009296363 A JP2009296363 A JP 2009296363A JP 2008148324 A JP2008148324 A JP 2008148324A JP 2008148324 A JP2008148324 A JP 2008148324A JP 2009296363 A JP2009296363 A JP 2009296363A
Authority
JP
Japan
Prior art keywords
motion vector
search
division
division method
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008148324A
Other languages
Japanese (ja)
Other versions
JP5390794B2 (en
JP2009296363A5 (en
Inventor
Hiroo Endo
寛朗 遠藤
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2008148324A priority Critical patent/JP5390794B2/en
Priority to PCT/JP2009/056771 priority patent/WO2009123248A1/en
Priority to US12/679,618 priority patent/US8488678B2/en
Priority to CN2009801124155A priority patent/CN101990761B/en
Publication of JP2009296363A publication Critical patent/JP2009296363A/en
Publication of JP2009296363A5 publication Critical patent/JP2009296363A5/ja
Application granted granted Critical
Publication of JP5390794B2 publication Critical patent/JP5390794B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform compression encoding upon moving image data with less computational complexity while using variable block size motion compensation. <P>SOLUTION: A block targeted for encoding is divided into partitions according to four types of division methods, While reducing the block targeted for encoding and a reference image and securing a wide search range, block matching with the reference image is performed for each partition, thereby performing rough motion vector search. As a result, the division method by which a pixel differential between the highest-correlation block and a corresponding partition is minimum is defined as a first division method candidate and a division method having a highest generation probability among four types of division methods is defined as a second division method candidate. Next, the block targeted for encoding and the reference image are divided into partitions, respectively, according to the first and second division method candidates, without reducing them, thereby performing fine motion vector search within a narrow search range. As a result, a motion vector according to a division method, by which the total of pixel differentials is minimum, is determined as a final motion vector. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ブロック単位で動画像の動きベクトルを探索する動きベクトル探索装置および動きベクトル探索方法に関する。   The present invention relates to a motion vector search apparatus and a motion vector search method for searching for a motion vector of a moving image in units of blocks.

従来より、例えば被写体を撮影し、それにより得られた動画像データを圧縮符号化して記録媒体に記録する記録装置として、デジタルビデオカメラが知られている。近年では、このような記録装置に用いられる記録媒体が、従来の磁気テープから、ランダムアクセス性やアクセスの高速性などの点でより優位な、ディスク媒体や半導体メモリなどに移り変わってきている。一方で、一般的に、ディスク媒体や半導体メモリは、磁気テープに比べて記憶容量に対するコストパフォーマンスが低い。そのため、記録媒体としてディスク媒体や半導体メモリを用いる場合、動画像データをより高能率に圧縮符号化する必要がある。   2. Description of the Related Art Conventionally, for example, a digital video camera is known as a recording apparatus that captures an image of a subject and compresses and encodes moving image data obtained thereby to a recording medium. In recent years, the recording medium used in such a recording apparatus has changed from a conventional magnetic tape to a disk medium, a semiconductor memory, or the like, which is more advantageous in terms of random accessibility and high-speed access. On the other hand, generally, disk media and semiconductor memories have lower cost performance with respect to storage capacity than magnetic tapes. Therefore, when a disk medium or a semiconductor memory is used as a recording medium, it is necessary to compress and encode moving image data with higher efficiency.

また、高画質への期待から、より情報量の多いHD(High Definition)映像を扱うデジタルビデオカメラも普及しつつある。このような観点からも、動画像データのより高能率な圧縮符号化が望まれている。動画像データを高能率に圧縮符号化する圧縮符号化方式としては、MPEG2方式が標準的に用いられていた。   In addition, from the expectation of high image quality, digital video cameras that handle HD (High Definition) video with a larger amount of information are becoming widespread. From this point of view, more efficient compression coding of moving image data is desired. As a compression encoding method for compressing and encoding moving image data with high efficiency, the MPEG2 method has been used as a standard.

さらに近年では、記録媒体への記録可能時間のさらなる向上や、記録容量の限られる携帯端末向けに、より低ビットレートでの符号化の必要性が増しており、さらに高能率な圧縮符号化方式が開発されている。その中の1つが、H.264|AVC方式である。H.264|AVC方式は、従来からのMPEG2方式やMPEG4方式などの符号化方式に比べて、符号化や復号化により多くの演算量が必要となるが、高い符号化効率が実現されることが知られている。なお、以下では、H.264|AVC方式をH.264と略称する。   Furthermore, in recent years, the need for encoding at a lower bit rate for portable terminals with limited recording capacity and further improvement in the recordable time on recording media has increased. Has been developed. One of them is H.264. H.264 | AVC format. H. The H.264 | AVC system requires a large amount of calculation for encoding and decoding compared with conventional encoding systems such as the MPEG2 system and the MPEG4 system, but is known to realize high encoding efficiency. It has been. In the following, H.P. H.264 | AVC format H.264.

H.264では、符号化効率を上げるために様々な工夫がなされている。その一例として、可変ブロックサイズ動き補償がある。これは、符号化単位であるマクロブロック(符号化ブロック)をさらに分割してマクロブロック・パーティション(動き補償ブロック)を形成し、動き補償ブロック単位で動き補償を行うものであるる。H.264では、可変ブロックサイズ動き補償を用いることで、単一のブロックサイズで動き補償を行っていたMPEG2方式といった従来の圧縮符号化方式と比較して、より緻密な動き補償を可能にしている。   H. In H.264, various ideas have been made in order to increase the encoding efficiency. One example is variable block size motion compensation. In this method, a macroblock (encoded block) that is an encoding unit is further divided to form a macroblock partition (motion compensation block), and motion compensation is performed in units of motion compensation blocks. H. In H.264, by using variable block size motion compensation, more precise motion compensation is possible as compared with a conventional compression coding method such as the MPEG2 method in which motion compensation is performed with a single block size.

一方で、H.264で、可変ブロックサイズ動き補償により符号化ブロックのサイズが選択可能になることは、ブロックサイズを決定するための演算負荷の増大を招くことになった。すなわち、符号化を行う符号化ブロックに対して設定可能な全ての動き補償ブロックについて、動きベクトル探索処理を行い、最適なものを選択する必要がある。そこで、なるべく簡単に適切なブロックサイズを決定するための工夫として、符号化対象の画像を撮像したときの情報を用いてブロックサイズ選定に係る演算量を低減させる提案がなされている(例えば、特許文献1参照)。   On the other hand, H. In H.264, the size of an encoded block can be selected by variable block size motion compensation, resulting in an increase in calculation load for determining the block size. That is, it is necessary to perform motion vector search processing for all motion compensation blocks that can be set for a coding block to be coded, and to select an optimal one. Therefore, as a device for determining an appropriate block size as easily as possible, a proposal has been made to reduce the amount of calculation related to block size selection using information when an image to be encoded is captured (for example, a patent). Reference 1).

特開2006−254370号公報JP 2006-254370 A

上述したように、H.264では、可変ブロックサイズ動き補償により動き補償ブロックの細分化を行うために、動きベクトルの探索、ならびに、動き補償ブロックの分割方法を決定するために膨大な演算を行う必要がある。そのため、特に、上述したデジタルビデオカメラなどのようにリアルタイムで符号化処理を行う場合などは、非常に高速な演算が可能なプロセッサが必要になり、装置のコストアップや消費電力の増大を招くことになるという問題点があった。   As mentioned above, H.M. In H.264, in order to subdivide motion compensation blocks by variable block size motion compensation, it is necessary to perform enormous operations to search for motion vectors and determine a method for dividing motion compensation blocks. Therefore, especially when performing encoding processing in real time, such as the above-described digital video camera, a processor capable of extremely high-speed computation is required, which increases the cost of the apparatus and increases power consumption. There was a problem of becoming.

また、特許文献1の構成では、撮像手段が符号化手段に対して撮像時の情報を出力する必要があると共に、符号化手段側でも、撮像手段から供給される符号化時の情報を入力して処理する仕組みが必要となる。   In the configuration of Patent Document 1, the imaging unit needs to output information at the time of imaging to the encoding unit, and the encoding unit also inputs the information at the time of encoding supplied from the imaging unit. A mechanism for processing is required.

したがって、本発明の目的は、より簡便な方法で精度よくブロック分割方法を決定し動きベクトル探索を行うことができる動きベクトル探索装置および動きベクトル探索方法を提供することにある。   Therefore, an object of the present invention is to provide a motion vector search apparatus and a motion vector search method that can determine a block division method with high accuracy and perform a motion vector search by a simpler method.

本発明は、上述した課題を解決するために、1画面を符号化単位である符号化ブロックに分割すると共に符号化ブロックを動き補償ブロックに分割し、符号化対象の符号化ブロックに含まれる動き補償ブロックに対して少なくとも過去の画像を参照して動きベクトルを探索する動きベクトル探索装置であって、符号化対象の符号化ブロックを設定された複数の異なる分割方法で分割して、分割方法に対応した動き補償ブロックを形成する分割手段と、複数の異なる分割方法により分割手段で形成された動き補償ブロックのそれぞれに対して探索精度に応じて動きベクトルを探索する動きベクトル探索手段と、動きベクトル探索手段での探索精度による動きベクトルの探索の結果に基づき分割方法を選択して、選択された分割方法と、複数の異なる分割方法のうちの所定の分割方法とを分割手段に対して設定すると共に、探索精度に対してより精度が高い探索精度を設定する設定手段と、設定手段により分割方法および探索精度を設定し、設定された分割方法および探索精度に応じて動きベクトル探索手段により動きベクトルを探索する動作を、順次繰り返し行うように制御する制御手段とを備え、制御手段は、繰り返し行われる動作により設定手段で設定されるより精度が高い探索精度が予め設定された探索精度になったと判断したら、動きベクトル探索手段による動きベクトルの探索結果に基づき、探索結果に基づき選択した分割方法と、所定の分割方法とから1つの分割方法を選択し、選択された分割方法による動きベクトルの探索結果として得られた動きベクトルを、最終的な動きベクトルとすることを特徴とする動きベクトル探索装置である。   In order to solve the above-described problem, the present invention divides one screen into coding blocks that are coding units, divides the coding block into motion compensation blocks, and motions included in the coding block to be coded. A motion vector search apparatus that searches for a motion vector with reference to at least a past image with respect to a compensation block, and divides a coding block to be coded by a plurality of different division methods set, and uses the division method as a division method. A motion vector search means for searching for a motion vector according to search accuracy for each of a motion compensation block formed by a plurality of different partitioning methods according to a search means, A division method is selected based on the motion vector search result based on the search accuracy by the search means, and the selected division method and a plurality of different methods are selected. A predetermined dividing method among the dividing methods to be set for the dividing means, a setting means for setting a higher search accuracy than the search accuracy, and a setting method and the dividing method and the search accuracy are set. And a control means for controlling the motion vector search means to search for motion vectors in accordance with the set division method and search accuracy so that the motion vectors are sequentially repeated. When it is determined that the search accuracy with higher accuracy than the set accuracy has reached the preset search accuracy, based on the motion vector search result by the motion vector search means, a division method selected based on the search result, a predetermined division method, One division method is selected from the above, and the motion vector obtained as a result of the motion vector search by the selected division method is finally obtained. A motion vector search apparatus characterized by a motion vector.

また、本発明は、1画面を符号化単位である符号化ブロックに分割すると共に符号化ブロックを動き補償ブロックに分割し、符号化対象の符号化ブロックに含まれる動き補償ブロックに対して少なくとも過去の画像を参照して動きベクトルを探索する動きベクトル探索方法であって、符号化対象の符号化ブロックを設定された複数の異なる分割方法で分割して、分割方法に対応した動き補償ブロックを形成する分割ステップと、複数の異なる分割方法により分割ステップで形成された動き補償ブロックそれぞれに対して探索精度に応じて動きベクトルを探索する動きベクトル探索ステップと、動きベクトル探索ステップでの探索精度による動きベクトルの探索の結果に基づき分割方法を選択して、選択された分割方法と、複数の異なる分割方法のうちの所定の分割方法とを分割ステップに対して設定すると共に、探索精度に対してより精度が高い探索精度を設定する設定ステップと、設定ステップにより分割方法および探索精度を設定し、設定された分割方法および探索精度に応じて動きベクトル探索ステップにより動きベクトルを探索する動作を、順次繰り返し行うように制御する制御ステップとを備え、制御ステップは、繰り返し行われる動作により設定ステップで設定されるより精度が高い探索精度が予め設定された探索精度になったと判断したら、動きベクトル探索ステップによる動きベクトルの探索結果に基づき、探索結果に基づき選択した分割方法と、所定の分割方法とから1つの分割方法を選択し、選択された分割方法による動きベクトルの探索結果として得られた動きベクトルを、最終的な動きベクトルとすることを特徴とする動きベクトル探索方法である。   In addition, the present invention divides one screen into coding blocks that are coding units, divides the coding block into motion compensation blocks, and at least a past of the motion compensation blocks included in the coding block to be coded. A motion vector search method for searching for a motion vector with reference to an image of the image, and dividing a coding block to be encoded by a plurality of different division methods to form a motion compensation block corresponding to the division method A motion vector search step for searching for a motion vector according to the search accuracy for each of the motion compensation blocks formed in the partition step by a plurality of different partition methods, and a motion based on the search accuracy in the motion vector search step Select a division method based on the results of the vector search, and select the division method and multiple different division methods. A predetermined division method is set for the division step, a setting step for setting a higher search accuracy than the search accuracy, and a division method and a search accuracy are set and set by the setting step. And a control step for controlling the motion vector search step by the motion vector search step in accordance with the division method and the search accuracy to be sequentially repeated, and the control step is set in the setting step by the repeated operation. If it is determined that the search accuracy with higher accuracy has reached the preset search accuracy, one of the division method selected based on the search result based on the search result of the motion vector in the motion vector search step and the predetermined division method Obtained as a motion vector search result by selecting the division method The can vector, a motion vector search method, characterized by a final motion vector.

本発明は、上述した構成を備えるため、より簡便な方法で精度よくブロック分割方法を決定し動きベクトル探索を行うことができる。   Since the present invention has the above-described configuration, it is possible to determine a block division method with high accuracy and perform a motion vector search by a simpler method.

<各実施形態に共通の構成>
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明を適用可能なデジタルビデオカメラ1の一例の構成を概略的に示す。撮像部10は、光学系、光学系を介して入射された光を電気信号に変換するCCDといった撮像素子、撮像素子から出力された撮像信号に対して所定の処理を施し、ベースバンドの動画像データとして出力する信号処理部を含む。撮像部10から出力されたベースバンドの動画像データは、本発明が適用される符号化部11に供給され、H.264による圧縮符号化処理を施される。
<Configuration common to each embodiment>
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 schematically shows a configuration of an example of a digital video camera 1 to which the present invention can be applied. The imaging unit 10 performs predetermined processing on an imaging system such as an optical system, a CCD that converts light incident through the optical system into an electric signal, and an imaging signal output from the imaging element, and a baseband moving image A signal processing unit that outputs data is included. The baseband moving image data output from the imaging unit 10 is supplied to the encoding unit 11 to which the present invention is applied. H.264 compression / encoding processing is performed.

圧縮符号化された圧縮動画像データが符号化部11から出力され、記録制御部12に供給される。記録制御部12は、ディスク媒体あるいは半導体メモリによる記録媒体13に対する、データの記録動作を制御する。記録制御部12は、供給された圧縮動画像データに対して、エラー訂正符号化処理や記録媒体13の種類に応じた記録符号化処理などを施し記録データとする。記録制御部12は、記録データを、バッファメモリを介して、記録媒体13の記録単位で当該記録媒体13に書き込む。   The compressed moving image data that has been compression-encoded is output from the encoding unit 11 and supplied to the recording control unit 12. The recording control unit 12 controls a data recording operation on the recording medium 13 using a disk medium or a semiconductor memory. The recording control unit 12 performs error correction encoding processing, recording encoding processing according to the type of the recording medium 13, and the like on the supplied compressed moving image data to generate recording data. The recording control unit 12 writes the recording data to the recording medium 13 in the recording unit of the recording medium 13 via the buffer memory.

CPU20は、このデジタルビデオカメラ1の全体の動作を制御する。すなわち、CPU20は、ROM21に予め記憶されたプログラムに従い、RAM22をワークメモリとして用いて動作し、撮像部10、符号化部11および記録制御部12の動作を制御する。操作部23は、このデジタルビデオカメラ1をユーザが操作するための操作子や、ユーザがこのデジタルビデオカメラ1の動作を確認するための表示素子が所定に設けられる。CPU20は、操作部23に対するユーザ操作に応じて、このデジタルビデオカメラ1の動作を制御することができる。   The CPU 20 controls the overall operation of the digital video camera 1. That is, the CPU 20 operates using the RAM 22 as a work memory according to a program stored in advance in the ROM 21, and controls the operations of the imaging unit 10, the encoding unit 11, and the recording control unit 12. The operation unit 23 is provided with a predetermined operation element for a user to operate the digital video camera 1 and a display element for the user to confirm the operation of the digital video camera 1. The CPU 20 can control the operation of the digital video camera 1 in accordance with a user operation on the operation unit 23.

図2は、本発明の実施形態に係る符号化部11の一例の構成を示す。符号化部11は、供給されたベースバンドの動画像データに対し、アダマール変換および整数精度DCTを用いた直交変換と、フレーム内予測符号化および動き補償を用いたフレーム間予測符号化とにより圧縮符号化を施す。以下では、アダマール変換および整数精度DCTを用いた直交変換を整数変換と呼び、フレーム内予測符号化およびフレーム間予測符号化をそれぞれイントラ符号化、インター符号化と呼ぶ。符号化部11における動作は、制御手段としてのCPU20に制御される。   FIG. 2 shows an exemplary configuration of the encoding unit 11 according to the embodiment of the present invention. The encoding unit 11 compresses the supplied baseband video data by performing orthogonal transform using Hadamard transform and integer precision DCT, and intra-frame prediction encoding using intra-frame prediction encoding and motion compensation. Encode. Hereinafter, the Hadamard transform and orthogonal transform using integer precision DCT are referred to as integer transform, and intra-frame prediction coding and inter-frame prediction coding are referred to as intra coding and inter coding, respectively. The operation in the encoding unit 11 is controlled by the CPU 20 as control means.

インター符号化により、動き補償の単位(MCブロック)に対して1枚の参照フレームとの予測を行うPピクチャと、MCブロックに対して時系列的に前後の2枚までの参照フレームとの予測を行うBピクチャとが形成される。また、イントラ符号化によりIピクチャが形成される。さらに、フレーム間予測符号化では、動画像データを、これらIピクチャ、PピクチャおよびBピクチャが所定に配列されたGOP構造を持つデータとして符号化する。   Prediction of a P picture for prediction with one reference frame for a unit of motion compensation (MC block) by inter coding, and prediction with up to two reference frames before and after the MC block in time series A B picture is formed. Also, an I picture is formed by intra coding. Further, in inter-frame predictive encoding, moving image data is encoded as data having a GOP structure in which these I picture, P picture, and B picture are arranged in a predetermined manner.

例えば、符号化部11が1枚のIピクチャ、4枚のPピクチャおよび10枚のBピクチャからなる15フレームで1GOPを形成する場合、符号化部11に入力されるフレームに対し、下記の順にピクチャタイプが割り当てられる。なお、添字は、入力順または表示順を示す。
101112131415
For example, when the encoding unit 11 forms 1 GOP with 15 frames including one I picture, four P pictures, and 10 B pictures, the frames input to the encoding unit 11 are processed in the following order: A picture type is assigned. The subscript indicates the order of input or display.
B 1 B 2 I 3 B 4 B 5 P 6 B 7 B 8 P 9 B 10 B 11 P 12 B 13 B 14 P 15

ここで、Bピクチャは、時系列的に過去のピクチャと共に未来のピクチャを用いて予測符号化を行うため、符号化は、Bピクチャの順序をIピクチャおよびPピクチャに対して入れ替えて、下記の順序で行われる。なお、Iピクチャに続くBピクチャおよびBピクチャは、Iピクチャと、直前のGOPにおけるP15ピクチャとを用いて予測符号化される。
121011151314
Here, since the B picture performs predictive coding using the future picture together with the past picture in time series, the coding is performed by changing the order of the B picture with respect to the I picture and the P picture as follows: Done in order. Note that the B 1 picture and the B 2 picture following the I 3 picture are predictively encoded using the I 3 picture and the P 15 picture in the immediately preceding GOP.
I 3 B 1 B 2 P 6 B 4 B 5 P 9 B 7 B 8 P 12 B 10 B 11 P 15 B 13 B 14

撮像部10から供給されるベースバンドの動画像データは、撮像の時系列に沿ったフレーム順で順次、フレームメモリ102に格納されていく。フレームメモリ102からは、動画像データがフレーム毎に符号化順で読み出される。   Baseband moving image data supplied from the imaging unit 10 is sequentially stored in the frame memory 102 in the frame order along the time series of imaging. From the frame memory 102, moving image data is read in the encoding order for each frame.

イントラ符号化を行う場合、フレームメモリ102から、動画像データのIピクチャに相当するフレームにおける、符号化単位となるブロックの画像データが読み出され、イントラ予測部105と減算器107の被減算入力端にそれぞれ供給される。ここでは、フレームを、動画像データによる1画面に対応するものとする。すなわち、符号化単位のブロックは、動画像データの1画面を所定に分割してなる。   When performing intra coding, image data of a block serving as a coding unit in a frame corresponding to an I picture of moving image data is read from the frame memory 102, and subtracted inputs of the intra prediction unit 105 and the subtractor 107 are read. Supplied at each end. Here, the frame corresponds to one screen based on moving image data. That is, the block of the coding unit is formed by dividing one screen of moving image data into a predetermined number.

イントラ予測部105は、符号化対象ブロックとのブロックマッチングを、加算器112から供給される、同一フレーム内の符号化対象ブロック近傍に位置する再構成画像から生成される複数の予測画像のそれぞれに対して行う。そして、ブロックマッチングの結果、複数の予測画像から最も相関の高いイントラ予測画像を選択する。イントラ予測画像は、イントラ符号化の実行に応じてイントラ予測部105側が選択されたスイッチ106に出力される。   The intra prediction unit 105 applies block matching with the encoding target block to each of a plurality of prediction images generated from the reconstructed image that is supplied from the adder 112 and is located near the encoding target block in the same frame. Against. Then, as a result of block matching, an intra predicted image having the highest correlation is selected from a plurality of predicted images. The intra-predicted image is output to the switch 106 selected on the intra-prediction unit 105 side according to the execution of intra-coding.

一方、インター符号化を行う場合、フレームメモリ102から符号化対象となるブロックの画像データが読み出され、動きベクトル探索部103に供給される。それと共に、フレームメモリ102から参照画像が読み出され、動きベクトル探索部103に供給される。参照画像は、複数のピクチャから選択することができる。動きベクトル探索部103は、符号化対象となるブロックの画像データと、参照画像とから動きベクトルを検出する。このとき、後述する処理により、符号化対象ブロックをマクロブロック・パーティションに分割して動きベクトルの探索を行う。動きベクトル探索部103で検出された動きベクトルは、フレーム間動き補償部104に供給される。   On the other hand, when performing inter coding, image data of a block to be coded is read from the frame memory 102 and supplied to the motion vector search unit 103. At the same time, a reference image is read from the frame memory 102 and supplied to the motion vector search unit 103. The reference image can be selected from a plurality of pictures. The motion vector search unit 103 detects a motion vector from the image data of the block to be encoded and the reference image. At this time, the motion vector search is performed by dividing the encoding target block into macroblocks and partitions by a process described later. The motion vector detected by the motion vector search unit 103 is supplied to the inter-frame motion compensation unit 104.

フレーム間動き補償部104は、動きベクトル探索部103から供給された動きベクトルと、フレームメモリ102から読み出した参照画像とに基づき動き補償を行い、インター予測によるインター予測画像を生成する。インター予測画像は、インター符号化の実行に応じてフレーム間動き補償部104側が選択されたスイッチ106に出力される。   The inter-frame motion compensation unit 104 performs motion compensation based on the motion vector supplied from the motion vector search unit 103 and the reference image read from the frame memory 102, and generates an inter prediction image by inter prediction. The inter-predicted image is output to the switch 106 selected on the inter-frame motion compensation unit 104 side according to the execution of the inter coding.

スイッチ106の出力は、減算器107の減算入力端と、加算器112の一方の入力端に供給される。減算器107は、フレームメモリ102から供給される符号化対象ブロックと、スイッチ106から供給されるインター予測画像またはイントラ予測画像との画素値の差分情報を出力する。この差分情報は、整数変換部108に供給され、アダマール変換や整数精度DCTによる整数変換が施された後、量子化部109において所定の量子化係数に基づき量子化される。量子化部109の出力は、エントロピー符号化部115においてエントロピー符号化がなされ、この符号化部11から出力される。   The output of the switch 106 is supplied to the subtraction input terminal of the subtractor 107 and one input terminal of the adder 112. The subtracter 107 outputs difference information of pixel values between the encoding target block supplied from the frame memory 102 and the inter prediction image or intra prediction image supplied from the switch 106. The difference information is supplied to the integer transform unit 108, subjected to integer transform by Hadamard transform or integer precision DCT, and then quantized by the quantizer 109 based on a predetermined quantization coefficient. The output of the quantization unit 109 is entropy-encoded in the entropy encoding unit 115 and is output from the encoding unit 11.

量子化部109における量子化係数は、エントロピー符号化部115が発生した符号量のフィードバックなどに基づき、符号量制御部116が算出する。また、量子化部109の出力である量子化された変換係数は、逆量子化部110において逆量子化され、さらに逆整数変換部111において逆整数変換処理が施されて復号される。そして、さらに加算器112でスイッチ106から出力されたインター予測画像またはイントラ予測画像と加算され、再構成画像が形成される。この再構成画像は、イントラ予測部105に供給され、上述したイントラ予測画像の生成に用いられる。   The quantization amount in the quantization unit 109 is calculated by the code amount control unit 116 based on the feedback of the code amount generated by the entropy encoding unit 115. Also, the quantized transform coefficient that is the output of the quantization unit 109 is inversely quantized by the inverse quantization unit 110 and further subjected to inverse integer transform processing by the inverse integer transform unit 111 to be decoded. Further, the inter prediction image or the intra prediction image output from the switch 106 is added by the adder 112 to form a reconstructed image. This reconstructed image is supplied to the intra prediction unit 105 and is used to generate the above-described intra predicted image.

また、加算器112から出力された再構成画像は、ループ内フィルタ113によって符号化歪の軽減処理が施された後、インター符号化の際に用いる参照画像としてフレームメモリ102に記憶される。   Also, the reconstructed image output from the adder 112 is subjected to encoding distortion reduction processing by the in-loop filter 113 and then stored in the frame memory 102 as a reference image used for inter encoding.

<第1の実施形態>
次に、本発明の第1の実施形態に係る動きベクトル探索部103における処理について、詳細に説明する。本第1の実施形態では、探索精度を低くして動きベクトル探索を行う粗探索と、探索精度を高くして探索を行う密探索との2段階の処理によってマクロブロック・パーティションの分割方法を求める。そして、得られたマクロブロック・パーティションに対応する動きベクトルを、最終的な動きベクトルの探索結果とする。
<First Embodiment>
Next, processing in the motion vector search unit 103 according to the first embodiment of the present invention will be described in detail. In the first embodiment, a macroblock / partition division method is obtained by a two-stage process of a coarse search that performs motion vector search with low search accuracy and a dense search that performs search with high search accuracy. . Then, the motion vector corresponding to the obtained macroblock partition is used as the final motion vector search result.

図3は、本第1の実施形態による一例の動きベクトル探索処理を示すフローチャートである。先ず、ステップS10で、フレームメモリ102から符号化対象となる符号化ブロック(以下、符号化対象ブロック)の画像データが読み出され、動きベクトル探索部103に供給される。また、動きベクトルの探索範囲の画像データ(参照画像データ)がフレームメモリ102から読み出される。   FIG. 3 is a flowchart showing an example motion vector search process according to the first embodiment. First, in step S <b> 10, image data of a coding block to be coded (hereinafter, coding target block) is read from the frame memory 102 and supplied to the motion vector search unit 103. In addition, image data (reference image data) in the motion vector search range is read from the frame memory 102.

<粗探索>
設定手段としての動きベクトル探索部103は、フレームメモリ102から読み出されて供給された符号化対象ブロックの画像データと、動きベクトルの探索範囲の画像データとを、所定の縮小率でそれぞれ縮小する。一例として、符号化対象ブロックのサイズが16画素×16画素であって、縮小率を水平および垂直共に1/4とした場合、縮小後の符号化対象ブロックは、4画素×4画素のサイズとされる。動きベクトルの探索範囲の画像データも、同じ比率で縮小される。
<Coarse search>
The motion vector search unit 103 as setting means reduces the image data of the encoding target block read and supplied from the frame memory 102 and the image data of the motion vector search range at a predetermined reduction rate. . As an example, when the size of the encoding target block is 16 pixels × 16 pixels and the reduction rate is 1/4 both in the horizontal and vertical directions, the encoded target block after reduction has a size of 4 pixels × 4 pixels. Is done. The image data in the motion vector search range is also reduced at the same ratio.

縮小処理は、動きベクトル探索部103において、例えばフレームメモリ102から読み出した画像データに対して、縮小率に応じて画素の間引きを行うことでなされる。これに限らず、線形補間などを用いて縮小処理を行ってもよい。また、縮小処理は、動きベクトル探索部103で行われるのに限らず、例えば予め所定の縮小率で縮小された画像データをフレームメモリ102に格納しておくことで行ってもよい。さらには、フレームメモリ102から、縮小率に応じて画素を間引きながら画像データを読み出してもよい。   The reduction processing is performed by thinning out pixels according to the reduction rate in the image data read from the frame memory 102 in the motion vector search unit 103, for example. However, the present invention is not limited to this, and reduction processing may be performed using linear interpolation or the like. Further, the reduction process is not limited to being performed by the motion vector search unit 103, and may be performed, for example, by storing image data reduced in advance at a predetermined reduction rate in the frame memory 102. Further, the image data may be read from the frame memory 102 while thinning out pixels according to the reduction ratio.

なお、以下では、粗探索において、画像データの縮小率が水平および垂直方向共に1/4とし、探索範囲は、縮小後の画像データにおいて、水平および垂直方向共に、符号化対象ブロックに対して±8画素の範囲とする。   In the following description, in the coarse search, the reduction ratio of the image data is set to 1/4 in both the horizontal and vertical directions, and the search range is ±± with respect to the encoding target block in the horizontal and vertical directions in the reduced image data. The range is 8 pixels.

ステップS10で符号化対象ブロックと探索範囲の画像データの縮小処理が終了すると、処理はステップS11に移行される。ステップS11では、分割手段としての動きベクトル探索部103が、縮小された符号化対象ブロックに対して動き補償ブロック(以下、パーティション)を設定する。本第1の実施形態では、設定手段としての動きベクトル探索部103が、後述するステップS13のループ処理に応じて、図4(a)〜図4(d)に例示される4種類のパーティションを、符号化対象ブロックに対して順次、設定していく。   When the process for reducing the encoding target block and the image data in the search range is completed in step S10, the process proceeds to step S11. In step S11, the motion vector search unit 103 as a dividing unit sets a motion compensation block (hereinafter referred to as a partition) for the reduced encoding target block. In the first embodiment, the motion vector search unit 103 as the setting unit determines four types of partitions illustrated in FIGS. 4A to 4D in accordance with a loop process in step S13 described later. The setting is sequentially performed on the encoding target block.

図4(a)は、符号化対象ブロックを分割しない場合を示す。換言すれば、図4(a)は、符号化対象ブロック自体を1のパーティションと見なす。図4(b)は、符号化対象ブロックを水平方向に2等分して2のパーティションに分割する場合を示す。図4(c)は、符号化対象ブロックを垂直方向に2等分して2のパーティションに分割する場合を示す。また、図4(d)は、符号化対象ブロックを水平および垂直方向にそれぞれ2等分し、4のパーティションに分割する例を示す。   FIG. 4A shows a case where the encoding target block is not divided. In other words, in FIG. 4A, the encoding target block itself is regarded as one partition. FIG. 4B shows a case where the encoding target block is divided into two equal parts in the horizontal direction. FIG. 4C shows a case where the encoding target block is divided into two equal parts in the vertical direction. FIG. 4D shows an example in which the current block is divided into two equal parts in the horizontal and vertical directions and divided into four partitions.

以下では、縮小前の画素数に因み、図4(a)の分割方法をパーティションタイプ16×16、図4(b)の分割方法をパーティションタイプ16×8とそれぞれ呼ぶ。同様に、図4(c)の分割方法をパーティションタイプ8×16、図4(d)の分割方法をパーティションタイプ8×8とそれぞれ呼ぶ。このパーティション分割方法の命名法は、以下の類似の事例についても同様とする。   Hereinafter, due to the number of pixels before reduction, the division method of FIG. 4A is referred to as a partition type 16 × 16, and the division method of FIG. 4B is referred to as a partition type 16 × 8. Similarly, the division method of FIG. 4C is called a partition type 8 × 16, and the division method of FIG. 4D is called a partition type 8 × 8. The naming method of this partitioning method is the same for the following similar cases.

ステップS11で符号化対象ブロックに対してパーティションが設定されると、処理はステップS12に移行される。ステップS12では、動きベクトル探索手段としての動きベクトル探索部103が、縮小された符号化対象ブロックおよび探索範囲の画像データを用い、設定されたパーティション毎に動きベクトルの粗探索を行う。すなわち、ステップS12では、符号化対象ブロックのパーティション毎に、探索範囲の画像データとのブロックマッチングによって、最も相関の高いブロックが選択される。   When a partition is set for the encoding target block in step S11, the process proceeds to step S12. In step S12, the motion vector search unit 103 as a motion vector search means performs a rough search of motion vectors for each set partition using the reduced encoding target block and search range image data. That is, in step S12, the block with the highest correlation is selected for each partition of the encoding target block by block matching with the image data in the search range.

そして、動きベクトル探索部103は、選択された最も相関が高いブロックの座標と、当該符号化対象ブロックのパーティションの座標との差分を、当該パーティションの動きベクトルとして記憶する。ここで、ブロックおよびパーティションの座標としては、ブロックおよびパーティション内の代表的な1点の座標、例えば左上隅の座標を用いる。また、動きベクトル探索部103は、当該最も相関が高いブロックと、当該符号化対象ブロックのパーティションとの対応する画素同士の差分値を合計した値を、パーティションの画素差分として記憶する。   Then, the motion vector search unit 103 stores the difference between the coordinates of the selected block having the highest correlation and the coordinates of the partition of the encoding target block as the motion vector of the partition. Here, as the coordinates of the block and the partition, the coordinates of one representative point in the block and the partition, for example, the coordinates of the upper left corner are used. In addition, the motion vector search unit 103 stores a value obtained by summing the difference values between corresponding pixels of the block having the highest correlation and the partition of the encoding target block as a pixel difference of the partition.

ステップS12による粗探索処理が終了すると、処理はステップS13に移行され、ステップS11で設定された全てのパーティションについて粗探索が終了したか否かが判断される。若し、パーティションについて粗探索が終了していないと判断されれば、処理はステップS11に戻され、次のパーティションについて、粗探索が行われる。例えば、図4(a)〜図4(d)に示すパーティションタイプ16×16、16×8、8×16および8×8が順次設定され、これらパーティションタイプ16×16、16×8、8×16および8×8内の各パーティションそれぞれに対する処理が順次、行われる。   When the rough search process in step S12 is completed, the process proceeds to step S13, and it is determined whether or not the rough search has been completed for all partitions set in step S11. If it is determined that the coarse search has not ended for the partition, the process returns to step S11, and the coarse search is performed for the next partition. For example, the partition types 16 × 16, 16 × 8, 8 × 16, and 8 × 8 shown in FIGS. 4A to 4D are sequentially set, and these partition types 16 × 16, 16 × 8, and 8 × are set. Processing for each of the partitions in 16 and 8 × 8 is performed sequentially.

ステップS13で、全てのパーティションについて粗探索が終了したと判断されたら、処理は次のステップS14に移行される。ステップS14では、上述のステップS12において各パーティションについて記憶された画素差分を、符号化対象ブロック単位で合計する。換言すれば、ステップS14では、パーティション毎に求められた画素差分を、パーティション分割方法毎に符号化対象ブロック単位の画素差分に纏める。例えば、パーティションタイプ16×8であれば、上側のパーティションの画素差分と、下側のパーティションの画素差分とを合計する。これを、パーティションタイプ16×16、16×8、8×16および8×8のそれぞれについて行う。   If it is determined in step S13 that the rough search has been completed for all partitions, the process proceeds to the next step S14. In step S14, the pixel differences stored for each partition in step S12 described above are summed for each block to be encoded. In other words, in step S14, the pixel differences obtained for each partition are collected into pixel differences for each block to be encoded for each partitioning method. For example, if the partition type is 16 × 8, the pixel difference of the upper partition and the pixel difference of the lower partition are summed. This is done for each of the partition types 16 × 16, 16 × 8, 8 × 16 and 8 × 8.

次のステップS15で、密探索用のパーティション分割方法の候補を決定する。第1に、ステップS14で求められた、パーティション分割方法毎の符号化対象ブロック単位での画素差分を比較して、画素差分が最小のパーティション分割方法を選択し、第1のパーティション分割方法とする。第2に、統計的処理により確率的に求めた、発生確率が最大のパーティション分割方法を、第2のパーティション分割方法とする。   In the next step S15, candidates for the partitioning method for fine search are determined. First, the pixel difference in the encoding target block unit for each partition division method obtained in step S14 is compared, and the partition division method with the smallest pixel difference is selected to be the first partition division method. . Secondly, a partition division method having a maximum occurrence probability, which is obtained probabilistically by statistical processing, is referred to as a second partition division method.

なお、第2のパーティション分割方法は、例えば、第1のパーティション分割方法を求める手法を、多数の動画像に対して適用した際に、符号化対象ブロック単位の画素差分が最小となる確率が最も高くなるパーティション分割方法を選択することで得る。例えば、多数の動画像に対して第1のパーティション分割方法を求めた結果を蓄積し、蓄積されたデータを統計的に解析する。この場合、第2のパーティション分割方法は、固定的とされる。パーティションタイプ16×16、16×8、8×16および8×8とした場合、一般的には、上述したパーティションタイプ16×16が第2のパーティション分割方法となる確率が高いとされている。   Note that the second partitioning method has, for example, the highest probability that the pixel difference for each block to be encoded is the smallest when the technique for obtaining the first partitioning method is applied to a large number of moving images. Get by selecting a partitioning method that will be higher. For example, the results of obtaining the first partitioning method for a large number of moving images are accumulated, and the accumulated data is statistically analyzed. In this case, the second partitioning method is fixed. When the partition types 16 × 16, 16 × 8, 8 × 16, and 8 × 8 are used, generally, the above-described partition type 16 × 16 has a high probability of being the second partitioning method.

<密探索>
密探索用のパーティション分割方法の候補が決定されると、処理はステップS16に移行され、動きベクトル探索部103により、フレームメモリ102から符号化対象ブロックの画像データと、参照画像データとが再び読み出される。密探索においては、符号化対象ブロックの画像データと、参照画像データとを縮小せずに探索処理を行う。
<Dense search>
When candidates for the partitioning method for fine search are determined, the process proceeds to step S16, and the motion vector search unit 103 reads the image data of the block to be encoded and the reference image data from the frame memory 102 again. It is. In the dense search, the search process is performed without reducing the image data of the encoding target block and the reference image data.

次のステップS17では、第1のパーティション分割方法により設定されたパーティション毎に、動きベクトルの探索が行われる。より具体的には、上述した粗探索で求めた、当該パーティションの動きベクトルが指し示す座標を中心として、当該パーティションに対して水平および垂直共に±3画素の範囲を探索範囲とする。この探索範囲でパーティションのブロックマッチングを行い、最も相関が高いブロックを選択して動きベクトルを求める。さらに、ブロックマッチングの結果求められた、最も相関の高いブロックと、符号化対象ブロックにおける当該パーティションとの対応する画素同士の差分値を合計した値を、当該パーティションの画素差分として記憶する。   In the next step S17, a motion vector search is performed for each partition set by the first partitioning method. More specifically, the search range is a range of ± 3 pixels both horizontally and vertically with respect to the partition centered on the coordinates indicated by the motion vector of the partition obtained by the rough search described above. Block matching of partitions is performed within this search range, and the block having the highest correlation is selected to obtain a motion vector. Furthermore, a value obtained by summing the difference values between corresponding pixels of the block having the highest correlation and the partition in the encoding target block obtained as a result of block matching is stored as a pixel difference of the partition.

次のステップS18で、第2のパーティション分割方法により設定されたパーティション毎に、上述のステップS17と同様にして動きベクトルの探索が行われる。ステップS18で第2のパーティション分割方法に基づく動きベクトル探索処理が終了すると、処理はステップS19に移行される。   In the next step S18, for each partition set by the second partitioning method, a motion vector search is performed in the same manner as in step S17 described above. When the motion vector search process based on the second partition division method is completed in step S18, the process proceeds to step S19.

ステップS19では、パーティション分割方法を決定すると共に、符号化対象ブロックの動きベクトルを決定する。上述のステップS14と同様にして、第1および第2のパーティション分割方法毎に、各パーティションについて記憶された画素差分を、符号化対象ブロック単位で合計する。そして、第1のパーティション分割方法における符号化対象ブロック単位の画素差分の合計と、第2のパーティション分割方法における符号化対象ブロック単位の画素差分の合計とを比較する。比較の結果、第1および第2のパーティション分割方法のうち画素差分の合計の小さい方を選択し、当該符号化対象ブロックのパーティション分割方法とする。   In step S19, the partition division method is determined, and the motion vector of the encoding target block is determined. Similar to step S14 described above, the pixel differences stored for each partition are summed in units of encoding target blocks for each of the first and second partition division methods. Then, the sum of pixel differences in units of encoding blocks in the first partitioning method is compared with the sum of pixel differences in units of encoding blocks in the second partitioning method. As a result of the comparison, the smaller one of the sums of pixel differences is selected from the first and second partition division methods, and this is used as the partition division method for the encoding target block.

また、動きベクトルについては、上述のステップS17およびステップS18で記憶された動きベクトルのうち、選択されたパーティション分割方法に対応する動きベクトルが当該符号化対象ブロックの動きベクトルとして決定される。   As for the motion vector, the motion vector corresponding to the selected partitioning method is determined as the motion vector of the coding target block among the motion vectors stored in the above-described step S17 and step S18.

図5を用いて、上述した動きベクトル探索部103の動作について、より具体的に説明する。ここでは、粗探索で画素差分が最小となる、第1のパーティション分割方法がパーティションタイプ8×16であって、発生確率が最大となる第2のパーティション分割方法がパーティションタイプ16×16であるものとする。   The operation of the motion vector search unit 103 described above will be described more specifically with reference to FIG. Here, the first partition division method with the smallest pixel difference in the coarse search is the partition type 8 × 16, and the second partition division method with the highest occurrence probability is the partition type 16 × 16 And

図4のステップS11〜ステップS13の処理により、パーティションタイプ16×16、16×8、8×16および8×8のそれぞれについて粗探索が行われ(図5(a)参照)、粗探索による画素差分と動きベクトルとがパーティション毎に求められる。ステップS14で符号化対象ブロック単位の画素差分が求められる。その結果に基づき、ステップS15で、画素差分が最小になる第1のパーティション分割方法(この例ではパーティションタイプ8×16)と、発生確率が最大の第2のパーティション分割方法(この例ではパーティションタイプ16×16)とが決定される。   Through the processing of step S11 to step S13 in FIG. 4, a rough search is performed for each of the partition types 16 × 16, 16 × 8, 8 × 16, and 8 × 8 (see FIG. 5A). A difference and a motion vector are obtained for each partition. In step S14, a pixel difference for each block to be encoded is obtained. On the basis of the result, in step S15, the first partitioning method (partition type 8 × 16 in this example) that minimizes the pixel difference and the second partitioning method (partition type in this example) having the maximum probability of occurrence. 16 × 16).

密探索では、図5(b)に例示されるように、第1および第2のパーティション分割方法について、動きベクトルを求める処理と画素差分を求める処理とがそれぞれ行われる(ステップS17およびステップS18)。第1および第2のパーティション分割方法のうち、符号化対象ブロックの画素差分の合計が小さい方が、当該符号化対象ブロックに対するパーティション分割方法として選択される。それと共に、選択されたパーティション分割方法に対応する動きベクトルが、当該符号化対象ブロックの動きベクトルとして決定される。図5(c)の例では、パーティションタイプ16×16が最終的なパーティション分割方法として選択されている。   In the fine search, as illustrated in FIG. 5B, for the first and second partitioning methods, a process for obtaining a motion vector and a process for obtaining a pixel difference are performed (step S17 and step S18), respectively. . Of the first and second partition division methods, the one with the smaller sum of pixel differences of the encoding target block is selected as the partition division method for the encoding target block. At the same time, the motion vector corresponding to the selected partitioning method is determined as the motion vector of the encoding target block. In the example of FIG. 5C, the partition type 16 × 16 is selected as the final partitioning method.

このように、本発明の第1の実施形態によれば、密探索時に動きベクトルの探索を行うパーティション分割方法が2つで済む。そのため、動きベクトル探索に要する演算量が軽減される。   As described above, according to the first embodiment of the present invention, only two partition division methods for searching for motion vectors at the time of dense search are required. This reduces the amount of calculation required for motion vector search.

<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本発明の第2の実施形態は、上述した第1の実施形態による動きベクトル探索動作を、より一般化したものである。すなわち、上述した第1の実施形態では、動きベクトルの探索を粗探索および密探索の2段階で行っている。これに対して、本第2の実施形態では、動きベクトルの探索をn段階とし、探索の精度を段階的に上げてパーティション分割方法を選択していくと共に、動きベクトルの探索を行う。したがって、上述した第1の実施形態による動きベクトル探索動作は、本第2の実施形態による当該動作の限定された例であるといえる。
<Second Embodiment>
Next, a second embodiment of the present invention will be described. The second embodiment of the present invention is a more generalized motion vector search operation according to the first embodiment described above. That is, in the first embodiment described above, the motion vector search is performed in two stages, a coarse search and a fine search. On the other hand, in the second embodiment, the motion vector search is performed in n stages, the search accuracy is increased stepwise, the partition division method is selected, and the motion vector is searched. Therefore, it can be said that the motion vector search operation according to the first embodiment described above is a limited example of the operation according to the second embodiment.

なお、本第2の実施形態では、図2を用いて説明した符号化部11の構成をそのまま適用でき、上述の第1の実施形態と処理が異なるのは動きベクトル探索部103のみとなる。以下、本第2の実施形態による動きベクトル探索部103における一例の処理について、図6のフローチャートを用いて説明する。   In the second embodiment, the configuration of the encoding unit 11 described with reference to FIG. 2 can be applied as it is, and only the motion vector search unit 103 is different in processing from the first embodiment. Hereinafter, an example of processing in the motion vector search unit 103 according to the second embodiment will be described with reference to the flowchart of FIG.

ステップS30で、動きベクトル探索部103による動きベクトル探索の精度が設定される。そして、動きベクトル探索部103は、上述した第1の実施形態の場合と同様に、フレームメモリ102から読み出された符号化対象ブロックの画像データ参照画像データとを、探索精度に応じて縮小する。例えば、探索精度が4画素単位であれば、画像データの縮小率を1/4とし、探索精度が2画素単位であれば縮小率を1/2、探索精度が1画素単位であれば縮小率を1/1(縮小しない)とする。   In step S30, the accuracy of motion vector search by the motion vector search unit 103 is set. Then, similarly to the case of the first embodiment described above, the motion vector search unit 103 reduces the image data reference image data of the encoding target block read from the frame memory 102 according to the search accuracy. . For example, if the search accuracy is 4 pixel units, the image data reduction rate is 1/4, if the search accuracy is 2 pixel units, the reduction rate is 1/2, and if the search accuracy is 1 pixel unit, the reduction rate. Is 1/1 (not reduced).

次のステップS31で、パーティションが設定されると共に、パーティション分割方法に対するグループ設定が行われる。本第2の実施形態では、パーティション分割方法をグループに振り分け、グループ毎に動きベクトル探索処理を行う。詳細は後述するが、グループ分けは、各パーティションタイプの発生確率に基づき行うことができる。   In the next step S31, a partition is set and group setting for the partitioning method is performed. In the second embodiment, the partition division method is divided into groups, and motion vector search processing is performed for each group. Although details will be described later, the grouping can be performed based on the occurrence probability of each partition type.

ステップS32およびステップS33で、探索対象のパーティショングループについて、設定されたパーティション毎に、上述した第1の実施形態のステップS12の処理と同様にして、探索精度に応じて動きベクトル探索処理が行われる。すなわち、符号化対象ブロックのパーティション毎に参照画像データとのブロックマッチングが行われ、最も相関の高いブロックが選択される。そして、当該ブロックとパーティションについて、座標の差分を当該パーティションの動きベクトルとして記憶すると共に、対応する画素同士の差分値を合計した値を当該パーティションの画素差分として記憶する。   In step S32 and step S33, the motion vector search process is performed according to the search accuracy in the same manner as the process of step S12 of the first embodiment described above for each set partition for the partition group to be searched. . That is, block matching with the reference image data is performed for each partition of the encoding target block, and the block with the highest correlation is selected. Then, for the block and the partition, the coordinate difference is stored as a motion vector of the partition, and the value obtained by summing the difference values of the corresponding pixels is stored as the pixel difference of the partition.

ステップS33で、1つのパーティショングループに対する探索処理が終了したと判断されたら、処理はステップS34に移行される。ステップS34では、次の探索精度による動きベクトル探索処理におけるパーティション分割方法の候補が決定される。すなわち、ステップS34では、処理が終了したパーティショングループ内で、上述のステップS15と同様にして、パーティション分割方法毎の符号化対象ブロック単位での画素差分を比較して、画素差分が最小のパーティション分割方法を選択する。それと共に、統計的な手法により求めた、発生確率が最大のパーティション分割方法を選択する。   If it is determined in step S33 that the search process for one partition group has been completed, the process proceeds to step S34. In step S34, candidates for the partitioning method in the motion vector search process with the next search accuracy are determined. That is, in step S34, in the same partition group as in step S15 described above, the pixel difference in the encoding target block unit for each partition division method is compared, and the partition division with the smallest pixel difference is performed. Select a method. At the same time, the partitioning method having the maximum occurrence probability obtained by a statistical method is selected.

処理はステップS35に移行され、ステップS30で設定された探索精度における全てのパーティショングループに対する動きベクトル探索処理が終了したか否かが判断される。若し、終了していないと判断されれば、処理はステップS31に戻され、次のパーティショングループに対する処理が行われる。   The process proceeds to step S35, and it is determined whether or not the motion vector search process for all the partition groups at the search accuracy set in step S30 is completed. If it is determined that the process has not been completed, the process returns to step S31, and the process for the next partition group is performed.

ステップS35で、当該探索精度における全てのパーティショングループに対する動きベクトル探索処理が終了したと判断されたら、処理はステップS36に移行される。ステップS36では、パーティショングループ数が1で、且つ、パーティション分割方法の候補数が2であるか否かが判断される。ステップS36において、若し、パーティショングループ数が1ではないか、または、パーティション分割方法の候補数が2ではないと判断されたら、処理はステップS30に戻され、動きベクトルの探索精度の設定が行われる。そして、ステップS30〜ステップS36の処理が、ステップS36の条件を満たすまで順次繰り返される。   If it is determined in step S35 that the motion vector search process for all the partition groups in the search accuracy has been completed, the process proceeds to step S36. In step S36, it is determined whether the number of partition groups is 1 and the number of partition division method candidates is 2. If it is determined in step S36 that the number of partition groups is not 1 or the number of candidates for the partitioning method is not 2, the process returns to step S30 to set motion vector search accuracy. Is called. And the process of step S30-step S36 is repeated sequentially until the conditions of step S36 are satisfy | filled.

一方、ステップS36において、パーティショングループ数が1で、且つ、パーティション分割方法の候補数が2であると判断されたら、処理はステップS37に移行される。ステップS37では、2つのパーティション分割方法毎に、各パーティションの画素差分を符号化対象ブロック単位で合計する。そして、2つのパーティション分割方法それぞれによる当該画素差分の合計を比較し、当該画素差分の合計の小さいパーティション分割方法を選択し、当該符号化対象ブロックのパーティション分割方法に決定する。動きベクトルについても同様に、選択されたパーティション分割方法に対応する動きベクトルが当該符号化対象ブロックの動きベクトルとして決定される。   On the other hand, if it is determined in step S36 that the number of partition groups is 1 and the number of partition division method candidates is 2, the process proceeds to step S37. In step S37, the pixel differences of the respective partitions are summed up in units of encoding target blocks for each of the two partition division methods. Then, the sum of the pixel differences by the two partition division methods is compared, a partition division method having a small sum of the pixel differences is selected, and the partition division method of the coding target block is determined. Similarly, the motion vector corresponding to the selected partitioning method is determined as the motion vector of the current encoding target block.

図6のフローチャートの処理について、図7および図8を用いて、より具体的に説明する。ここでは、探索精度を4画素単位、2画素単位および1画素単位の順で上げて、3段階で、動きベクトル探索動作を行うものとする。また、パーティション分割方法として、図7に例示される7種類を用意する。すなわち、上述の実施形態で用いたパーティションタイプ16×16、16×8、8×16および8×8に加え、パーティションタイプ8×4、4×8および4×4を用意する。パーティションタイプ8×4は、パーティションタイプ8×8の各パーティションを水平方向に2等分する。パーティションタイプ4×8は、パーティションタイプ8×8の各パーティションを垂直方向に2等分する。また、パーティションタイプ4×4は、パーティションタイプ8×8の各パーティションを水平および垂直にそれぞれ2等分する。   The process of the flowchart in FIG. 6 will be described more specifically with reference to FIGS. 7 and 8. Here, the search accuracy is increased in the order of 4 pixels, 2 pixels, and 1 pixel, and the motion vector search operation is performed in three stages. Further, seven types illustrated in FIG. 7 are prepared as partitioning methods. That is, partition types 8 × 4, 4 × 8, and 4 × 4 are prepared in addition to the partition types 16 × 16, 16 × 8, 8 × 16, and 8 × 8 used in the above embodiment. The partition type 8 × 4 divides each partition of the partition type 8 × 8 into two equal parts in the horizontal direction. The partition type 4 × 8 divides each partition of the partition type 8 × 8 into two equal parts in the vertical direction. The partition type 4 × 4 divides each partition of the partition type 8 × 8 into two equal parts horizontally and vertically.

第1段階目の処理では、ステップS30で動きベクトル探索の精度が4画素単位に設定され、符号化対象ブロックおよび動きベクトル探索範囲の画像データが縮小率1/4で縮小される。そして、ステップS31で、パーティション設定およびパーティション分割方法に対するグループ設定が行われる。例えば、図8(a)に例示されるように、パーティションタイプ16×16、16×8および8×16を第1のパーティショングループとし、パーティションタイプ8×8、8×4、4×8および4×4を第2のパーティショングループとする。   In the first step, the accuracy of motion vector search is set in units of 4 pixels in step S30, and the image data in the encoding target block and motion vector search range is reduced at a reduction rate of 1/4. In step S31, group setting for partition setting and partition division method is performed. For example, as illustrated in FIG. 8A, partition types 16 × 16, 16 × 8, and 8 × 16 are set as the first partition group, and partition types 8 × 8, 8 × 4, 4 × 8, and 4 are used. Let x4 be the second partition group.

ここで、パーティション分割方法に対するグループ設定は、例えば各パーティション分割方法の発生確率に基づき行うことができる。すなわち、図7に示したように7種類のパーティション分割方法を用意した場合、パーティションタイプ16×16、8×8に、発生確率のピークが生じることが知られている。この発生確率のピークが生じるパーティション分割方法を互いに別のグループに振り分ける。これにより、発生確率に基づき選択されたパーティション分割方法と、画素差分に基づき選択されたパーティション分割方法とを比較する機会が増え、パーティション分割方法の選択および動きベクトルの探索を、より高い精度で行うことが可能となる。   Here, the group setting for the partition division method can be performed based on the occurrence probability of each partition division method, for example. That is, it is known that when seven types of partition division methods are prepared as shown in FIG. 7, occurrence probability peaks occur in the partition types 16 × 16 and 8 × 8. The partitioning methods that cause this occurrence probability peak are assigned to different groups. As a result, an opportunity to compare the partitioning method selected based on the occurrence probability with the partitioning method selected based on the pixel difference increases, and the partitioning method selection and motion vector search are performed with higher accuracy. It becomes possible.

ステップS32およびステップS33で、パーティショングループ毎の動きベクトル探索が行われる。先ず第1のパーティショングループに対して動きベクトル探索処理が行われ、処理が終了すると、ステップS34に処理が移行される。そして、第1のパーティショングループ内でパーティション分割方法毎の符号化対象ブロック単位での画素差分を比較して、画素差分が最小となる第1のパーティション分割方法と、発生確率が最大となる第2のパーティション分割方法とが選択される。図8(a)の例では、パーティションタイプ8×16が第1のパーティション分割方法として選択され、パーティションタイプ16×16が第2のパーティション分割方法として選択されている。   In step S32 and step S33, a motion vector search for each partition group is performed. First, the motion vector search process is performed on the first partition group, and when the process ends, the process proceeds to step S34. Then, by comparing pixel differences in units of encoding blocks for each partitioning method within the first partition group, the first partitioning method that minimizes the pixel difference and the second that has the highest probability of occurrence. Partitioning method is selected. In the example of FIG. 8A, the partition type 8 × 16 is selected as the first partitioning method, and the partition type 16 × 16 is selected as the second partitioning method.

第2のパーティショングループに対しても同様に動きベクトル探索処理が行われ、ステップS34で、画素差分が最小となる第3のパーティション分割方法と、発生確率が最大となる第4のパーティション分割方法とが選択される。図8(a)の例では、パーティションタイプ4×8が第3のパーティション分割方法として選択され、パーティションタイプ8×8が第4のパーティション分割方法として選択されている。   Similarly, a motion vector search process is performed for the second partition group. In step S34, a third partition division method that minimizes the pixel difference, and a fourth partition division method that maximizes the occurrence probability, Is selected. In the example of FIG. 8A, the partition type 4 × 8 is selected as the third partitioning method, and the partition type 8 × 8 is selected as the fourth partitioning method.

第1段階目における全てのパーティショングループに対する動きベクトル探索処理が終了したので(ステップS35)、処理はステップS36に移行される。この段階では、図8(a)に例示されるように、パーティショングループ数が2で、パーティション分割方法の候補数が4であるので、処理がステップS30に戻される。そして、探索精度が2画素単位に設定され、第2段階目の処理が開始される。   Since the motion vector search process for all the partition groups in the first stage is completed (step S35), the process proceeds to step S36. At this stage, as illustrated in FIG. 8A, since the number of partition groups is 2 and the number of partition division method candidates is 4, the process returns to step S30. Then, the search accuracy is set in units of two pixels, and the second stage process is started.

第2段階目の処理において、ステップS31でパーティショングループの設定が行われる。第1段階目の処理において、パーティション分割方法の候補として、第1〜第4のパーティション分割方法が選択されている。ステップS31では、図8(b)に例示されるように、これら第1〜第4のパーティション分割方法から新たなパーティショングループ(第3のパーティショングループとする)を作る。   In the second stage process, a partition group is set in step S31. In the first stage of processing, the first to fourth partition division methods are selected as candidates for the partition division method. In step S31, as illustrated in FIG. 8B, a new partition group (referred to as a third partition group) is created from these first to fourth partition division methods.

そして、ステップS32およびステップS33において、この第3のパーティショングループについて上述と同様にして動きベクトル探索処理が行われ、処理が終了すると、ステップS34に処理が移行される。そして、画素差分が最小となる第5のパーティション分割方法と、発生確率が最大となる第6のパーティション分割方法とが選択される。図8(b)の例では、パーティションタイプ4×8が第5のパーティショングループとして選択され、パーティションタイプ16×16が第6のパーティショングループとして選択されている。   In step S32 and step S33, the motion vector search process is performed for the third partition group in the same manner as described above. When the process is completed, the process proceeds to step S34. Then, the fifth partitioning method that minimizes the pixel difference and the sixth partitioning method that maximizes the occurrence probability are selected. In the example of FIG. 8B, the partition type 4 × 8 is selected as the fifth partition group, and the partition type 16 × 16 is selected as the sixth partition group.

第2段階目における全てのパーティショングループに対する動きベクトル探索処理が終了したので(ステップS35)、処理はステップS36に移行される。この段階では、図8(b)に例示されるように、パーティショングループ数が1で、パーティション分割方法の候補数が4であるので、処理がステップS30に戻される。そして、探索精度が1画素単位に設定され、第3段階目の処理が開始される。   Since the motion vector search process for all the partition groups in the second stage is completed (step S35), the process proceeds to step S36. At this stage, as illustrated in FIG. 8B, since the number of partition groups is 1 and the number of partition division method candidates is 4, the process returns to step S30. Then, the search accuracy is set in units of one pixel, and the third stage process is started.

第3段階目の処理において、ステップS31でパーティショングループの設定が行われる。第2段階目の処理において、パーティション分割方法の候補として、第5および第6のパーティション分割方法が選択されている。ステップS31では、図8(c)に例示されるように、これら第5および第6のパーティション分割方法から新たなパーティショングループ(第4のパーティショングループとする)を作る。   In the third stage process, a partition group is set in step S31. In the second stage processing, the fifth and sixth partition division methods are selected as the partition division method candidates. In step S31, as illustrated in FIG. 8C, a new partition group (referred to as a fourth partition group) is created from these fifth and sixth partition division methods.

そして、ステップS32およびステップS33において、この第4のパーティショングループについて上述と同様にして動きベクトル探索処理が行われ、処理が終了すると、ステップS34に処理が移行される。そして、画素差分が最小となるパーティション分割方法と、発生確率が最大となるパーティション分割方法とが選択される。図8(c)の例では、パーティションタイプ4×8が画素差分が最小となるパーティショングループとして選択され、パーティションタイプ16×16が発生確率が最大となるパーティショングループとして選択されている。   In step S32 and step S33, a motion vector search process is performed for the fourth partition group in the same manner as described above. When the process ends, the process proceeds to step S34. Then, the partitioning method that minimizes the pixel difference and the partitioning method that maximizes the occurrence probability are selected. In the example of FIG. 8C, the partition type 4 × 8 is selected as the partition group with the smallest pixel difference, and the partition type 16 × 16 is selected as the partition group with the highest occurrence probability.

第3段階目における全てのパーティショングループに対する動きベクトル探索処理が終了したので(ステップS35)、処理はステップS36に移行される。この段階では、図8(c)に例示されるように、パーティショングループ数が1で、パーティション分割方法の候補数が2であるので、処理がステップS37に移行される。   Since the motion vector search process for all the partition groups in the third stage has been completed (step S35), the process proceeds to step S36. At this stage, as illustrated in FIG. 8C, since the number of partition groups is 1 and the number of partition division method candidates is 2, the process proceeds to step S37.

ステップS37では、2つのパーティション分割方法毎に、各パーティションの画素差分を符号化対象ブロック単位で合計し、当該画素差分の合計の小さい方を選択して、当該符号化対象ブロックのパーティション分割方法に決定する。動きベクトルについても同様に、選択されたパーティション分割方法に対応する動きベクトルが当該符号化対象ブロックの動きベクトルとして決定される。図8(d)の例では、パーティションタイプ4×8が最終的なパーティション分割方法として選択されている。   In step S37, for each of the two partition division methods, the pixel differences of each partition are summed up in units of encoding target blocks, and the smaller one of the pixel differences is selected and used as the partition division method of the encoding target block. decide. Similarly, the motion vector corresponding to the selected partitioning method is determined as the motion vector of the current encoding target block. In the example of FIG. 8D, the partition type 4 × 8 is selected as the final partitioning method.

このように、本発明の第2の実施形態によれば、探索精度に応じたn段階で動きベクトルの探索処理を行う場合でも、探索するパーティション分割方法の数が少なくて済み、動きベクトル探索に要する演算処理を少なく抑えることができる。   As described above, according to the second embodiment of the present invention, even when motion vector search processing is performed in n stages according to search accuracy, the number of partition division methods to be searched is small, and motion vector search can be performed. The required arithmetic processing can be reduced.

なお、上述では、本発明がデジタルビデオカメラに適用されるものとして説明したが、これはこの例に限定されない。すなわち、本発明は、H.264|AVCに従い動画像データの符号化を行う装置であれば、他の種類の装置にも適用可能なものである。   In the above description, the present invention has been described as applied to a digital video camera, but this is not limited to this example. That is, the present invention relates to H.264. Any apparatus that encodes moving image data in accordance with H.264 | AVC can be applied to other types of apparatuses.

<他の実施形態>
上述の各実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。
<Other embodiments>
Each of the above-described embodiments can be realized by software by a computer of a system or apparatus (or CPU, MPU, etc.).

したがって、上述の各実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の各実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。   Accordingly, the computer program itself supplied to the computer in order to realize the above-described embodiments by the computer also realizes the present invention. That is, the computer program itself for realizing the functions of the above-described embodiments is also one aspect of the present invention.

なお、上述の各実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。   Note that the computer program for realizing each of the above-described embodiments may be in any form as long as it can be read by a computer. For example, it can be composed of object code, a program executed by an interpreter, script data supplied to the OS, but is not limited thereto.

上述の各実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。   The computer program for realizing each of the above-described embodiments is supplied to the computer via a storage medium or wired / wireless communication. Examples of the storage medium for supplying the program include a magnetic storage medium such as a flexible disk, a hard disk, and a magnetic tape, an optical / magneto-optical storage medium such as an MO, CD, and DVD, and a nonvolatile semiconductor memory.

有線/無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムファイル)をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。   As a computer program supply method using wired / wireless communication, there is a method of using a server on a computer network. In this case, a data file (program file) that can be a computer program forming the present invention is stored in the server. The program file may be an executable format or a source code.

そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。   Then, the program file is supplied by downloading to a client computer that has accessed the server. In this case, the program file can be divided into a plurality of segment files, and the segment files can be distributed and arranged on different servers.

つまり、上述の各実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。   That is, a server apparatus that provides a client computer with a program file for realizing each of the above-described embodiments is also one aspect of the present invention.

また、上述の各実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。   In addition, a storage medium that encrypts and stores a computer program for realizing each of the above-described embodiments is distributed, and key information for decryption is supplied to a user who satisfies a predetermined condition, and the computer has the computer. May be allowed to install. The key information can be supplied by being downloaded from a homepage via the Internet, for example.

また、上述の各実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するOSの機能を利用するものであってもよい。   In addition, the computer program for realizing each of the above-described embodiments may use an OS function already running on the computer.

さらに、上述の各実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるCPUで実行するようにしてもよい。   Further, a part of the computer program for realizing each of the above embodiments may be configured by firmware such as an expansion board mounted on the computer, or may be executed by a CPU provided in the expansion board. Also good.

本発明を適用可能なデジタルビデオカメラの一例の構成を概略的に示すブロック図である。It is a block diagram which shows roughly the structure of an example of the digital video camera which can apply this invention. 本発明の実施形態に係る符号化部の一例の構成を示すブロック図である。It is a block diagram which shows the structure of an example of the encoding part which concerns on embodiment of this invention. 本発明の第1の実施形態による一例の動きベクトル探索処理を示すフローチャートである。It is a flowchart which shows the motion vector search process of an example by the 1st Embodiment of this invention. 本発明の第1の実施形態において符号化対象ブロックに対して設定されるマクロブロック・パーティションの例を示す略線図である。It is a basic diagram which shows the example of the macroblock partition set with respect to the encoding object block in the 1st Embodiment of this invention. 本発明の第1の実施形態による動きベクトル探索部の動作についてより具体的に説明するための略線図である。FIG. 6 is a schematic diagram for specifically explaining the operation of the motion vector search unit according to the first embodiment of the present invention. 本発明の第2の実施形態による一例の動きベクトル探索処理を示すフローチャートである。It is a flowchart which shows the motion vector search process of an example by the 2nd Embodiment of this invention. 本発明の第2の実施形態において符号化対象ブロックに対して設定されるマクロブロック・パーティションの例を示す略線図である。It is a basic diagram which shows the example of the macroblock partition set with respect to the encoding object block in the 2nd Embodiment of this invention. 本発明の第2の実施形態による動きベクトル探索部の動作についてより具体的に説明するための略線図である。It is an approximate line figure for explaining operation of a motion vector search part by a 2nd embodiment of the present invention more concretely.

符号の説明Explanation of symbols

1 デジタルビデオカメラ
11 符号化部
102 フレームメモリ
103 動きベクトル探索部
104 フレーム間動き補償部
105 イントラ予測部
108 整数変換部
109 量子化部
110 逆量子化部
111 逆整数変換部
113 ループ内フィルタ
115 エントロピー符号化部
116 符号量制御部
DESCRIPTION OF SYMBOLS 1 Digital video camera 11 Encoding part 102 Frame memory 103 Motion vector search part 104 Inter-frame motion compensation part 105 Intra prediction part 108 Integer conversion part 109 Quantization part 110 Inverse quantization part 111 Inverse integer conversion part 113 In-loop filter 115 Entropy Encoding unit 116 Code amount control unit

Claims (6)

1画面を符号化単位である符号化ブロックに分割すると共に該符号化ブロックを動き補償ブロックに分割し、符号化対象の該符号化ブロックに含まれる該動き補償ブロックに対して少なくとも過去の画像を参照して動きベクトルを探索する動きベクトル探索装置であって、
前記符号化対象の符号化ブロックを設定された複数の異なる分割方法で分割して、該分割方法に対応した動き補償ブロックを形成する分割手段と、
前記複数の異なる分割方法により前記分割手段で形成された前記動き補償ブロックのそれぞれに対して探索精度に応じて前記動きベクトルを探索する動きベクトル探索手段と、
前記動きベクトル探索手段での前記探索精度による前記動きベクトルの探索の結果に基づき前記分割方法を選択して、選択された該分割方法と、前記複数の異なる分割方法のうちの所定の分割方法とを前記分割手段に対して設定すると共に、前記探索精度に対してより精度が高い探索精度を設定する設定手段と、
前記設定手段により前記分割方法および前記探索精度を設定し、設定された該分割方法および該探索精度に応じて前記動きベクトル探索手段により前記動きベクトルを探索する動作を、順次繰り返し行うように制御する制御手段と
を備え、
前記制御手段は、
前記繰り返し行われる前記動作により前記設定手段で設定される前記より精度が高い探索精度が予め設定された探索精度になったと判断したら、前記動きベクトル探索手段による前記動きベクトルの探索結果に基づき、該探索結果に基づき選択した前記分割方法と、前記所定の分割方法とから1つの前記分割方法を選択し、選択された該分割方法による前記動きベクトルの探索結果として得られた動きベクトルを、最終的な動きベクトルとする
ことを特徴とする動きベクトル探索装置。
One screen is divided into coding blocks which are coding units, the coding block is divided into motion compensation blocks, and at least past images are included in the motion compensation block included in the coding block to be coded. A motion vector search device for searching for a motion vector with reference to
A dividing unit configured to divide the encoding block to be encoded by a plurality of different setting division methods to form a motion compensation block corresponding to the division method;
Motion vector search means for searching for the motion vector according to search accuracy for each of the motion compensation blocks formed by the dividing means by the plurality of different dividing methods;
Selecting the division method based on the search result of the motion vector based on the search accuracy by the motion vector search means, the selected division method, and a predetermined division method among the plurality of different division methods; And setting means for setting a higher search accuracy with respect to the search accuracy,
The division means and the search accuracy are set by the setting means, and the motion vector search means is controlled to sequentially repeat the motion vector search operation according to the set division method and the search accuracy. Control means,
The control means includes
If it is determined that the higher-accuracy search accuracy set by the setting means has been set in advance by the operation performed repeatedly, based on the motion vector search result by the motion vector search means, One division method is selected from the division method selected based on the search result and the predetermined division method, and a motion vector obtained as a search result of the motion vector by the selected division method is finally obtained. A motion vector search apparatus characterized in that a motion vector is used.
前記設定手段は、
前記動きベクトルの探索の結果に基づき1の前記分割方法を選択して前記分割手段に設定すると共に、1の前記所定の分割方法を前記分割手段に設定する
ことを特徴とする請求項1に記載の動きベクトル探索装置。
The setting means includes
2. The division method according to claim 1, wherein one of the division methods is selected based on a result of the motion vector search and set in the division unit, and one predetermined division method is set in the division unit. Motion vector search device.
前記設定手段は、
前記複数の異なる分割方法により形成された複数の前記動き補償ブロックのそれぞれに対して該分割方法に応じてグループを割り当て、該グループ毎に、前記動きベクトルの探索の結果に基づき前記分割方法を選択して前記分割手段に設定すると共に前記所定の分割方法を前記分割手段に設定する
ことを特徴とする請求項1に記載の動きベクトル探索装置。
The setting means includes
A group is assigned to each of the plurality of motion compensation blocks formed by the plurality of different division methods according to the division method, and the division method is selected for each group based on the result of the motion vector search. The motion vector search apparatus according to claim 1, wherein the dividing unit is set and the predetermined dividing method is set in the dividing unit.
前記設定手段は、前記グループ毎に、
前記動きベクトルの探索の結果に基づき1の前記分割方法を選択して前記分割手段に設定すると共に1の前記所定の分割方法を前記分割手段に設定する
ことを特徴とする請求項3に記載の動きベクトル探索装置。
The setting means is provided for each group.
4. The division method according to claim 3, wherein one of the division methods is selected based on a result of the motion vector search and set in the division unit, and one predetermined division method is set in the division unit. Motion vector search device.
前記所定の分割方法は、前記符号化対象の符号化ブロックを前記複数の異なる分割方法により分割して形成された動き補償ブロックのそれぞれに対して行った前記動きベクトルの探索結果を複数の画像データについて蓄積し、蓄積された該探索結果に対して統計的処理を施した結果に基づき決定される
ことを特徴とする請求項1乃至請求項4の何れか1項に記載の動きベクトル探索装置。
In the predetermined division method, a search result of the motion vector performed on each of the motion compensation blocks formed by dividing the encoding block to be encoded by the plurality of different division methods is obtained as a plurality of image data. 5. The motion vector search apparatus according to claim 1, wherein the motion vector search apparatus is determined based on a result obtained by performing a statistical process on the stored search result.
1画面を符号化単位である符号化ブロックに分割すると共に該符号化ブロックを動き補償ブロックに分割し、符号化対象の該符号化ブロックに含まれる該動き補償ブロックに対して少なくとも過去の画像を参照して動きベクトルを探索する動きベクトル探索方法であって、
前記符号化対象の符号化ブロックを設定された複数の異なる分割方法で分割して、該分割方法に対応した動き補償ブロックを形成する分割ステップと、
前記複数の異なる分割方法により前記分割ステップで形成された前記動き補償ブロックのそれぞれに対して探索精度に応じて前記動きベクトルを探索する動きベクトル探索ステップと、
前記動きベクトル探索ステップでの前記探索精度による前記動きベクトルの探索の結果に基づき前記分割方法を選択して、選択された該分割方法と、前記複数の異なる分割方法のうちの所定の分割方法とを前記分割ステップに対して設定すると共に、前記探索精度に対してより精度が高い探索精度を設定する設定ステップと、
前記設定ステップにより前記分割方法および前記探索精度を設定し、設定された該分割方法および該探索精度に応じて前記動きベクトル探索ステップにより前記動きベクトルを探索する動作を、順次繰り返し行うように制御する制御ステップと
を備え、
前記制御ステップは、
前記繰り返し行われる前記動作により前記設定ステップで設定される前記より精度が高い探索精度が予め設定された探索精度になったと判断したら、前記動きベクトル探索ステップによる前記動きベクトルの探索結果に基づき、該探索結果に基づき選択した前記分割方法と、前記所定の分割方法とから1つの前記分割方法を選択し、選択された該分割方法による前記動きベクトルの探索結果として得られた動きベクトルを、最終的な動きベクトルとする
ことを特徴とする動きベクトル探索方法。
One screen is divided into coding blocks which are coding units, the coding block is divided into motion compensation blocks, and at least past images are included in the motion compensation block included in the coding block to be coded. A motion vector search method for searching for a motion vector with reference,
A division step of dividing the coding block to be encoded by a plurality of different division methods set to form a motion compensation block corresponding to the division method;
A motion vector search step for searching for the motion vector according to search accuracy for each of the motion compensation blocks formed in the division step by the plurality of different division methods;
Selecting the division method based on a search result of the motion vector based on the search accuracy in the motion vector search step, the selected division method, and a predetermined division method among the plurality of different division methods; Is set for the dividing step, and a setting step for setting a higher search accuracy than the search accuracy,
The division method and the search accuracy are set by the setting step, and the operation of searching for the motion vector by the motion vector search step according to the set division method and the search accuracy is controlled to be repeated sequentially. A control step,
The control step includes
If it is determined that the higher-precision search accuracy set in the setting step has reached a preset search accuracy by the repeated operation, based on the motion vector search result in the motion vector search step, One division method is selected from the division method selected based on the search result and the predetermined division method, and a motion vector obtained as a search result of the motion vector by the selected division method is finally obtained. A motion vector search method characterized in that a motion vector is used.
JP2008148324A 2008-04-01 2008-06-05 Motion vector search apparatus and motion vector search method Expired - Fee Related JP5390794B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008148324A JP5390794B2 (en) 2008-06-05 2008-06-05 Motion vector search apparatus and motion vector search method
PCT/JP2009/056771 WO2009123248A1 (en) 2008-04-01 2009-03-25 Moving image encoding apparatus and moving image encoding method
US12/679,618 US8488678B2 (en) 2008-04-01 2009-03-25 Moving image encoding apparatus and moving image encoding method
CN2009801124155A CN101990761B (en) 2008-04-01 2009-03-25 Moving image encoding apparatus and moving image encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008148324A JP5390794B2 (en) 2008-06-05 2008-06-05 Motion vector search apparatus and motion vector search method

Publications (3)

Publication Number Publication Date
JP2009296363A true JP2009296363A (en) 2009-12-17
JP2009296363A5 JP2009296363A5 (en) 2011-07-21
JP5390794B2 JP5390794B2 (en) 2014-01-15

Family

ID=41544116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008148324A Expired - Fee Related JP5390794B2 (en) 2008-04-01 2008-06-05 Motion vector search apparatus and motion vector search method

Country Status (1)

Country Link
JP (1) JP5390794B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012096147A1 (en) * 2011-01-13 2012-07-19 日本電気株式会社 Video encoding device, video decoding device, video encoding method, video decoding method, and program
JP2013223135A (en) * 2012-04-17 2013-10-28 Mitsubishi Electric Building Techno Service Co Ltd Image encoding device and image encoding method and program
WO2016047375A1 (en) * 2014-09-24 2016-03-31 株式会社日立情報通信エンジニアリング Moving image coding device, moving image decoding device, moving image coding method, and moving image decoding method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003284091A (en) * 2002-03-25 2003-10-03 Toshiba Corp Motion picture coding method and motion picture coding apparatus
JP2005176073A (en) * 2003-12-12 2005-06-30 Ntt Docomo Inc Device, method, and program for motion picture coding
JP2006165840A (en) * 2004-12-06 2006-06-22 Renesas Technology Corp Movement compensation image encoding device and encoding method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003284091A (en) * 2002-03-25 2003-10-03 Toshiba Corp Motion picture coding method and motion picture coding apparatus
JP2005176073A (en) * 2003-12-12 2005-06-30 Ntt Docomo Inc Device, method, and program for motion picture coding
JP2006165840A (en) * 2004-12-06 2006-06-22 Renesas Technology Corp Movement compensation image encoding device and encoding method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012096147A1 (en) * 2011-01-13 2012-07-19 日本電気株式会社 Video encoding device, video decoding device, video encoding method, video decoding method, and program
JP5673693B2 (en) * 2011-01-13 2015-02-18 日本電気株式会社 Video encoding apparatus, video decoding apparatus, video encoding method, video decoding method, and program
US9712826B2 (en) 2011-01-13 2017-07-18 Nec Corporation Video encoding device, video decoding device, video encoding method, video decoding method, and program
US10841590B2 (en) 2011-01-13 2020-11-17 Nec Corporation Video decoding device, video decoding method, and program
US11582461B2 (en) 2011-01-13 2023-02-14 Nec Corporation Video encoding device, video decoding device, video encoding method, video decoding method, and program restricts inter-prediction unit partitions based on coding unit depth
US11943449B2 (en) 2011-01-13 2024-03-26 Nec Corporation Video decoding device, and video encoding method performing entropy-decoding process for inter prediction unit partition type syntax
JP2013223135A (en) * 2012-04-17 2013-10-28 Mitsubishi Electric Building Techno Service Co Ltd Image encoding device and image encoding method and program
WO2016047375A1 (en) * 2014-09-24 2016-03-31 株式会社日立情報通信エンジニアリング Moving image coding device, moving image decoding device, moving image coding method, and moving image decoding method
JP2016066850A (en) * 2014-09-24 2016-04-28 株式会社日立情報通信エンジニアリング Moving image coding device, moving image decoding device and moving image coding/decoding method

Also Published As

Publication number Publication date
JP5390794B2 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
JP4763422B2 (en) Intra prediction device
JP4495580B2 (en) In-plane prediction apparatus and in-plane prediction method
JP5188875B2 (en) Image predictive encoding device, image predictive decoding device, image predictive encoding method, image predictive decoding method, image predictive encoding program, and image predictive decoding program
US8488678B2 (en) Moving image encoding apparatus and moving image encoding method
CN102077595A (en) Image processing device and method
JP5795525B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program
JP2012034213A (en) Image processing device, image processing system and image processing method
JP5156704B2 (en) Image coding apparatus, image coding method, integrated circuit, and camera
KR101615643B1 (en) Compression of pictures
WO2012098845A1 (en) Image encoding method, image encoding device, image decoding method, and image decoding device
JP2010063092A (en) Image coding apparatus, image coding method, image coding integrated circuit and camera
JP2013115583A (en) Moving image encoder, control method of the same, and program
JP6503014B2 (en) Moving picture coding method and moving picture decoding method
JP4898415B2 (en) Moving picture coding apparatus and moving picture coding method
JP5390794B2 (en) Motion vector search apparatus and motion vector search method
JP2014007469A (en) Image coding device and image coding method
US20080310739A1 (en) Moving picture compression coding apparatus
JP2010081498A (en) Image compression coding method and apparatus
JP6510084B2 (en) Moving picture decoding method and electronic apparatus
JP5322956B2 (en) Image coding apparatus and image coding method
WO2017104010A1 (en) Moving-image coding apparatus and moving-image coding method
JP5247210B2 (en) Moving picture coding apparatus and moving picture coding method
JP4561701B2 (en) Video encoding device
JP4590337B2 (en) Moving picture coding apparatus and moving picture coding method
JP2009049513A (en) Moving picture encoding device and moving picture encoding method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130509

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131011

R151 Written notification of patent or utility model registration

Ref document number: 5390794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees