WO2005036887A1 - 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラム - Google Patents

動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラム Download PDF

Info

Publication number
WO2005036887A1
WO2005036887A1 PCT/JP2004/015452 JP2004015452W WO2005036887A1 WO 2005036887 A1 WO2005036887 A1 WO 2005036887A1 JP 2004015452 W JP2004015452 W JP 2004015452W WO 2005036887 A1 WO2005036887 A1 WO 2005036887A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
search
search range
value
program
Prior art date
Application number
PCT/JP2004/015452
Other languages
English (en)
French (fr)
Inventor
Toru Yamada
Original Assignee
Nec Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nec Corporation filed Critical Nec Corporation
Priority to JP2005514685A priority Critical patent/JPWO2005036887A1/ja
Publication of WO2005036887A1 publication Critical patent/WO2005036887A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Definitions

  • Motion vector search method Description Motion vector search method, motion vector search device, and motion vector search program
  • the present invention relates to a motion compensated prediction coding technique, and more particularly to a motion vector search method, a motion vector search device, and a motion vector search program.
  • an encoding method using correlation between image frames is generally used to increase encoding efficiency.
  • a coding method using correlation between image frames is called motion compensation predictive coding, and is used in Moving Picture Experts Group (MPEG) and the like.
  • motion-compensated prediction coding video motion information between frames (motion vector) and the difference image (prediction error) between the predicted image generated by the motion vector and the frame being encoded are encoded. . If the correlation between the image frames is large, the prediction error is small, the amount of information to be coded can be small, and the compression ratio can be improved.
  • motion-compensated prediction coding a frame is generally divided into blocks of a fixed size such as 16 ⁇ 16 pixels, and a motion vector is assigned to each of the divided blocks. Specifically, among the frames that have already been encoded (reference frames), the location where the correlation is the largest for each block is searched, and the difference between the blocks is calculated and encoded.
  • the process of searching for a place where the correlation becomes large is called motion vector search.
  • the magnitude of the correlation can be evaluated by summing the differences of each pixel in the block between the reference frame and the frame being encoded.
  • the motion vector search process it is optional to search for an area of the frame. If a narrow range is searched, the amount of computation required for the search can be reduced, but when a video with large motion is input, an appropriate motion vector cannot be detected, resulting in low coding efficiency. I will drop it. On the other hand, if a wide range is searched, it is possible to perform appropriate motion compensation prediction for a video with a large amount of motion, and the encoding efficiency is improved. Therefore, it is desirable to adaptively switch the search range according to the magnitude of the motion in the video.
  • the motion vector search device described in Literature 1 includes a motion vector detection circuit, a motion vector memory, a search range determiner, and a search range selector.
  • the conventional motion vector search device having such a configuration operates as follows. That is, histograms of a plurality of previously detected motion vectors stored in the motion vector memory are measured, and an appropriate search range is determined by the search range determiner according to the measured histograms.
  • the search range selector has finite types of search ranges, and one search range is selected according to the determination by the search range determiner.
  • the motion vectors of every other block are obtained first. Next, the value of this motion vector is used to determine the search range of the motion vector search in the remaining blocks.
  • the histogram of the motion vector obtained in the past must be constantly measured, so that there is a problem that an extra operation amount is required to obtain the search range. there were.
  • only a limited number of types of search ranges are finally prepared, and the selected search range may not be optimal.
  • the present invention has been made in view of the above problems, and has as its object to determine a search range with a small amount of computation, and to provide a new motion vector search method capable of searching for a motion vector within an appropriate search range , Devices and programs.
  • a first invention for solving the above problems is a motion vector search device for searching for a motion vector in coding of a moving image, a means for storing the detected motion vector, Means for determining a search range from the size of the motion vector, and performing a motion vector search process using the value calculated from the value of the motion vector of the surrounding blocks as the search range. .
  • the means for determining the search range determines, as the search range, an integral multiple of the magnitude of the motion vector in the peripheral block for which the search has been completed. Means.
  • the means for determining the search range includes means for determining a search range based on a maximum value of motion vectors of a plurality of surrounding blocks. It is characterized by being.
  • a fourth invention for solving the above-mentioned problems is the invention according to any one of the first to third inventions, wherein the means for determining the search range includes: If the size of the search range is large, the search range is determined to be inappropriate, and a means for setting the search range to a predetermined value is further provided.
  • a fifth aspect of the present invention for solving the above-mentioned problems is a method according to any one of the first to fourth aspects, further comprising means for shifting a center of the search area to a position of a motion vector of an adjacent block and performing a search. It is characterized by having.
  • the means for determining the search range sets a maximum value and a minimum value of the search range in advance.
  • the apparatus further includes means for determining the maximum value or the minimum value as the search range.
  • a seventh aspect of the present invention for solving the above-mentioned problems is the invention according to any one of the first to sixth aspects, wherein the means for determining the search range includes an operation of an adjacent block already searched. It is characterized in that it is a means for determining a constant multiple of the absolute value of each of the horizontal and vertical components of the motion vector as a search range using the values of the motion vector.
  • An eighth invention for solving the above problem is a video encoding device, comprising: means for storing a detected motion vector; and means for determining a search range from the size of the motion vector of a peripheral block for which search has been completed. And a motion vector search device that performs a motion vector search process using a value calculated from a motion vector value of a surrounding block as a search range.
  • a ninth invention for solving the above-mentioned problems is the ninth invention according to the eighth invention, wherein the means for determining the search range determines an integer multiple of the magnitude of a motion vector in a peripheral block for which search has been completed as the search range. Means.
  • the means for determining the search range includes a step of determining the search range based on a maximum value of a motion vector of a plurality of surrounding blocks. It is a means for determining.
  • the means for determining the search range includes a prediction error obtained in the process of determining the search range.
  • the search range is a means for setting the search range to a predetermined value.
  • the motion vector search device shifts a center of a search area to a position of a motion vector of an adjacent block. And means for performing a search.
  • the means for determining the search range includes setting a maximum value and a minimum value of the search range in advance. If the calculated search range exceeds the maximum value or the minimum value, the apparatus further includes means for determining the maximum value or the minimum value as the search range.
  • a fourteenth invention for solving the above-mentioned problems is the invention according to any one of the eighth to thirteenth inventions, wherein the means for determining the search range includes a motion vector value of an adjacent block already searched for. It is characterized in that it is means for determining a constant multiple of the absolute value of each of the horizontal and vertical components of the motion vector as a search range.
  • a fifteenth invention for solving the above-mentioned problems is a method of searching for a motion vector in video coding, wherein the detected motion vector is stored, and a motion vector of a peripheral block for which the search has been completed. The search range is determined from the size of the motion vector, and the motion vector search process is performed using the value calculated from the value of the motion vector of the surrounding block as the search range.
  • a sixteenth invention for solving the above-mentioned problems is characterized in that, in the above-mentioned fifteenth invention, the search range is determined to be an integral multiple of the size of the motion vector in the peripheral block for which the search has been completed.
  • a seventeenth invention for solving the above-mentioned problems is characterized in that in the above-mentioned fifteenth or sixteenth invention, the search range is determined based on the maximum value of the motion vectors of a plurality of surrounding blocks.
  • An eighteenth invention for solving the above-mentioned problems is the invention according to any one of the fifteenth to seventeenth inventions, wherein in the process of determining the search range, if the obtained prediction error value becomes large, the search range Is determined to be inappropriate, and the search range is set to a predetermined value.
  • a nineteenth invention for solving the above-mentioned problems is the invention according to any one of the first to fifth inventions, wherein the search range is determined from the size of the motion vector of the peripheral block for which the search has been completed, and the search area is determined. The search is performed by shifting the center of the search to the position of the motion vector of the adjacent block.
  • a maximum value and a minimum value of a search range are set in advance, and the calculated search range is If the maximum value or the minimum value is exceeded, the maximum value or the minimum value is determined as a search range.
  • a twenty-first invention for solving the above-mentioned problems is the invention according to any one of the fifteenth to twenty-fifth inventions, wherein the horizontal and vertical motion vectors are determined by using a motion vector value of an adjacent block already searched for. It is characterized in that a constant times the absolute value of each component is determined as a search range.
  • a twenty-second invention for solving the above-mentioned problems is characterized in that video encoding is performed using the motion vector search method according to any one of the above-mentioned fifteenth invention and the twenty-first invention.
  • a twenty-third invention for solving the above-mentioned problems is a computer system that executes a motion vector search in video coding, comprising: a target image buffer for storing a target image data; and a reference for storing a reference image.
  • An image buffer a motion vector memory for storing motion vectors
  • a program memory for storing a program consisting of instructions for causing a computer to perform a motion vector search in video coding in the evening, and executing the program
  • a program control processor wherein the program controls the program control processor to use a value calculated based on a value of a motion vector of a peripheral block stored in a motion vector memory as a search range. The search is performed.
  • the program provides the program control processor with an integral multiple of a size of a motion vector in a peripheral block having been searched. It is characterized in that it is determined as a search range. ⁇
  • a twenty-fifth invention for solving the above-mentioned problems is the twenty-third invention or the twenty-fourth invention, wherein the program is provided to the program control processor based on a maximum value of a moving vector of a plurality of peripheral blocks.
  • the search range is determined.
  • a twenty-sixth invention for solving the above-mentioned problems is the invention according to any one of the twenty-third to the twenty-fifth inventions, wherein the program searches the program control processor when the obtained prediction error value increases.
  • the search range is determined to be inappropriate, and the search range is set to a predetermined value.
  • a twenty-seventh invention for solving the above-mentioned problems is the invention according to any one of the twenty-third to the twenty-sixth inventions, wherein the program causes the program control processor to set a center of a search area to a motion vector of an adjacent block. It is characterized by performing a search by shifting to a position.
  • a twenty-eighth invention for solving the above-mentioned problems is the invention according to any one of the twenty-third to the twenty-seventh inventions, wherein the program searches the program control processor when a value of the obtained prediction error increases.
  • the search range is determined to be inappropriate, and the search range is set to a predetermined value.
  • the twenty-ninth invention for solving the above-mentioned problems is the invention of any one of the above-mentioned twenty-third to twenty-eighth aspects.
  • the program control processor determines the maximum value or the minimum value as the search range. It is characterized by making it.
  • a thirtieth invention for solving the above-mentioned problems is the invention according to any one of the twenty-third to the twenty-ninth inventions, wherein the program provides the program control processor with a value of a motion vector of an adjacent block already searched for.
  • the method is characterized in that a constant multiple of the absolute value of each of the horizontal and vertical components of the motion vector is determined as the search range.
  • a thirty-first invention for solving the above problems is a motion vector search program for controlling a computer and searching for a motion vector in video coding, wherein the motion vector search program includes: It is characterized by executing a function to determine the search range from the size of the motion vector of the surrounding block where the search is completed, and a function to perform the motion vector search processing in the determined search range.
  • the motion vector search program causes the computer to calculate an integral multiple of the size of a motion vector in a peripheral block for which search has been completed.
  • a function of determining a search range is executed.
  • a thirty-third invention for solving the above-mentioned problems is the above-mentioned thirty-first or thirty-second invention, wherein the motion vector search program causes the computer to perform a motion vector search based on a maximum value of motion vectors of a plurality of surrounding blocks. And a function of determining a search range.
  • the motion vector search program is obtained by the computer in a process of determining a search range.
  • the search range is not appropriate, and a function of setting the search range to a predetermined value is executed.
  • a thirty-fifth invention for solving the above-mentioned problems is the invention according to any one of the thirty-first to thirty-fourth inventions, wherein the motion vector search program causes the computer to move a center of a search area to a motion vector of an adjacent block. It is characterized in that it shifts to the position and executes the search function.
  • the motion vector search program sets a maximum value and a minimum value of a search range in the computer in advance. In addition, when the calculated search range exceeds the maximum value or the minimum value, a function of determining the maximum value or the minimum value as the search range is executed.
  • a thirty-seventh invention for solving the above-mentioned problems is the invention according to any one of the thirty-first to thirty-sixth inventions, wherein the motion vector search program is configured to provide the computer with a motion vector of an adjacent block that has already been searched.
  • the feature is to execute a function to determine the search range using a multiple of the absolute value of each of the horizontal and vertical components of the motion vector using the value.
  • FIG. 1 is a block diagram showing a conventional example of a motion vector search method for adaptively changing a search range.
  • FIG. 2 is a block diagram showing the configuration of the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing the operation of the first embodiment of the present invention.
  • FIG. 4 is a diagram showing a specific example of the operation of the second embodiment of the present invention.
  • FIG. 5 is a flowchart showing the operation of the third embodiment of the present invention.
  • FIG. 6 is a flowchart showing the operation of the fourth embodiment of the present invention.
  • FIG. 7 is a block diagram showing a computer system which is an embodiment of the motion vector search device according to the present invention.
  • FIG. 8 is a diagram illustrating a specific operation of the first embodiment of the present invention. BEST MODE FOR CARRYING OUT THE INVENTION
  • a motion vector search device of the present invention includes a motion vector search processing unit that searches for a motion vector, a motion vector memory that stores the obtained motion vector, and a search range calculation processing unit that determines a search range. Have.
  • the search range calculation processing unit retrieves the motion vector of the adjacent block already obtained from the motion vector memory, and determines an appropriate search range based on the value of the motion vector of the adjacent block. Determine the enclosure.
  • the object of the present invention can be achieved by employing such a configuration and determining the search range in the motion vector search.
  • a motion vector search device includes a current frame buffer 201 for storing data of a frame being encoded, and a reference frame buffer for storing a reference frame. 202, a motion search processing unit 203 for performing a motion vector search process, a motion vector memory 204 for storing the obtained motion vector, and a search range calculation for determining a search range And a processing unit 205.
  • the pointer is set to the earlier block of the current frame buffer 201 (step A 1 in FIG. 3).
  • step A2 it is checked whether or not the currently pointed block is the first block of the frame.
  • the horizontal search range X is set to the initial value X0
  • the vertical search range Y is set to the initial value Y0 (step A3). It is assumed that the initial values X0 and Y0 are set in advance.
  • the motion vector (x, y) of the block on the left is stored in the motion vector memory 204 (step A4).
  • the horizontal search range X is set to a value a times the absolute value abs (x) of the motion vector horizontal component X of the block on the left (step A5).
  • a is an arbitrary positive number.
  • the value of X is clipped so that it falls between the maximum horizontal search range Xmax and the minimum horizontal search range Xmin (step A6). If the value of X exceeds the maximum horizontal search range Xmax or the minimum horizontal search range Xmin, the value of X is defined as the maximum horizontal search range Xmax or the minimum horizontal search range Xmin.
  • the values of the maximum horizontal search range Xmax and the minimum horizontal search range Xmin are set in advance. Let's say.
  • the vertical search range Y is set to a value b times the absolute value abs (y) of the vertical component y of the motion vector of the block on the left (step A7).
  • b is an arbitrary positive number.
  • the value of Y is clipped so that it falls between the horizontal maximum search range Ymax and the horizontal minimum search range Ymin (step A8). If the value of Y exceeds the maximum horizontal search range Ymax or the minimum horizontal search range Ymin, the value of Y is defined as the maximum horizontal search range Ymax or the minimum horizontal search range Ymin.
  • the values of the vertical maximum search range Ymax and the vertical minimum search range Ymin shall be set in advance.
  • a motion vector search is performed with the search range being ( ⁇ X, soil Y) pixels (step A9).
  • step A10 the motion vector obtained in step A9 is stored in the motion vector memory 204 (step A10).
  • step A1 2 If there is a block for which motion vector search has not been performed yet, the pointer is moved to the next block (step A1 2), and the process returns to step A2 to continue the motion vector search process. If all blocks have been processed, the motion vector search processing for that frame ends.
  • the search range is obtained based on the value of the motion vector of the adjacent block, an appropriate search range can be determined with a small amount of calculation.
  • the search range obtained by the method of the present embodiment has a high correlation with the actual motion of the video.
  • the search range is determined by using the horizontal component and the vertical component of the motion vector of the adjacent block independently. Therefore, not only the size (area) of the search range but also its shape can be adaptively changed according to the motion in the video. For example, if an adjacent block has a motion vector that is long in the horizontal direction, the search range also has a shape that is long in the horizontal direction.
  • a motion vector search device according to a second embodiment of the present invention will be described with reference to FIG.
  • the search range calculation processing unit 205 As shown in FIG. Two or more blocks are extracted from a plurality of adjacent blocks for which the motion vector has already been determined, and the maximum value of the absolute value of each of the horizontal and vertical components of the motion vector of each block is used in Example 1
  • the search range is determined by multiplying by a times and b times.
  • a and b are arbitrary positive numbers.
  • the search range is determined from the motion vectors of the four blocks on the left, upper left, upper, and upper right.
  • a motion vector search device according to a third embodiment of the present invention will be described.
  • the search range calculation processing unit 205 searches the search range when the prediction error obtained in the process of determining the search range becomes larger than a preset threshold.
  • a preset threshold An example in which the search range is determined to be inappropriate and the search range is returned to the initial value will be described.
  • the operation of the third embodiment will be described in detail with reference to the flowchart of FIG.
  • the pointer is set to the first block of the current frame buffer (step Bl in Fig. 5).
  • step B2 it is checked whether the block pointed to is the first block of the frame.
  • the horizontal search range X is set to the initial value X0
  • the vertical search range Y is set to the initial value Y0 (step B3).
  • Initial values X0 and Y0 are assumed to be set in advance. If it is not the first block, the value of the minimum prediction error obtained in the motion vector search of the immediately preceding block is compared with the threshold Th (step B4).
  • the threshold value Th is a preset value.
  • the search range is returned to the initial value in step B3.
  • the motion vector of the block on the left adjacent to the motion vector stored in the motion vector memory 20 is read (step B5).
  • the horizontal search range X is set to the value a times the absolute value abs (x) of the motion vector horizontal component X of the immediately preceding block (step B6).
  • a is an arbitrary positive number.
  • the value of X is clipped so as to fall between the maximum horizontal search range Xmax and the minimum horizontal search range Xmin (step B7). If the value of X exceeds the maximum horizontal search range Xmax or the minimum horizontal search range Xmin, the value of X is defined as the horizontal maximum search range Xmax or the minimum horizontal search range Xmin.
  • the values of the horizontal maximum search range Xmax and the horizontal minimum search range Xmin are assumed to be set in advance.
  • the vertical search range Y is set to b times the absolute value abs (y) of the vertical component y of the motion vector of the block on the left (step B8).
  • b is an arbitrary positive number.
  • the value of Y is clipped so that it falls between the horizontal maximum search range Ymax and the horizontal minimum search range Ymin (step B9).
  • the values of the vertical maximum search range Ymax and the vertical minimum search range Ymin are already set.
  • Y If the value of ⁇ exceeds the maximum horizontal search range Ymax or the minimum horizontal search range Ymin, the value of Y shall be the maximum horizontal search range Ymax or the minimum horizontal search range Ymin. It is also assumed that the values of the vertical maximum search range Ymax and the vertical minimum search range Ymin are set in advance.
  • a motion vector search is performed with the search range being ( ⁇ X, soil Y) pixels (step B 10).
  • step B12 the prediction error obtained as a result of the motion vector search performed in step A10 is stored in a memory (step B12).
  • step B13 It is checked whether the motion vector search processing has been completed for all blocks in the frame.
  • step B14 the pointer is moved to the next block (step B14), and the process returns to step B2 to continue the vector search processing. If all blocks have been processed, the motion vector search processing for that frame ends.
  • the search range is determined by using the maximum value of the absolute value of the motion vector of a plurality of surrounding blocks as in the second embodiment described above, so that the left adjacent Even when the correlation between motion vectors between blocks is small, it is possible to determine an appropriate search range.
  • a motion vector search device When the correlation between motions between blocks is high, it is possible to detect correct motion in a narrower search range by shifting the center position of the search range of the motion vector search to the position indicated by the motion vector of an adjacent block. And the amount of calculation can be further reduced. Therefore, in the embodiment of Love 4, an example will be described in which, when the correlation between the motions between the blocks is high, the center position of the search range of the motion vector search is shifted to the position indicated by the motion vector of the adjacent block.
  • the pointer is set to the first block of the current frame buffer (step C 1 in FIG. 6).
  • step C2 it is checked whether or not the currently pointed block is the first block of the frame.
  • the horizontal search range X is set to an initial value ⁇
  • the vertical search range ⁇ is set to an initial value ⁇ 0 (step C 3).
  • Initial values X0 and Y0 are assumed to be set in advance.
  • step C4 the motion vector of the block on the left that is stored in the motion vector memory 204 is read.
  • the horizontal search range X is set to a value a times the absolute value abs (x) of the horizontal motion vector component X of the block on the left (step C5).
  • a is an arbitrary positive number.
  • the value of X is clipped so as to fall between the maximum horizontal search range Xmax and the minimum horizontal search range Xmin (step C6). If the value of X exceeds the maximum horizontal search range Xmax or the minimum horizontal search range Xmin, the value of X is defined as the horizontal maximum search range Xmax or the horizontal minimum search range Xmin.
  • the values of the horizontal maximum search range Xmax and the horizontal minimum search range Xmin are assumed to be set in advance.
  • the vertical search range Y is set to a value b times the absolute value abs (y) of the vertical component y of the motion vector of the block on the left (step C7).
  • b is an arbitrary positive number.
  • the value of Y is clipped so that it falls between the horizontal maximum search range Ymax and the horizontal minimum search range Ymin (step C8). If the value of Y exceeds the maximum horizontal search range Ymax or the minimum horizontal search range Ymin, the value of Y is defined as the maximum horizontal search range Ymax or the minimum horizontal search range Ymin.
  • vertical maximum The values of the search range Ymax and the minimum vertical search range Ymin are set in advance.
  • the search center is set to the position shifted by the motion vector (x, y) of the block on the left from the current block position (step C9), and the search range is set to ( ⁇ X, soil Y) pixels. Perform a vector search (step C 10).
  • step C11 the motion vector obtained in step A10 is stored in the motion vector memory for storage (step C11).
  • step C12 It is checked whether the motion vector search processing has been completed for all the blocks in the frame.
  • step C13 the pointer is moved to the next block (step C13), and the process returns to step C2 to continue the vector search process. If all blocks have been processed, the motion vector search processing for that frame ends.
  • the motion vector search is performed by moving the center of the search range to the position indicated by the motion vector of the adjacent block. This makes it possible to detect a correct motion in a narrower search range when the correlation between motion vectors between blocks is large.
  • the search range is determined by using the maximum value of the absolute value of the motion vector of a plurality of surrounding blocks, thereby improving search accuracy. It becomes possible. Similarly, the search accuracy can be improved by returning the search range to the initial value in the middle of the frame as in the third embodiment.
  • a motion vector search device according to a fifth embodiment of the present invention will be described.
  • FIG. 7 is a block diagram showing a computer system.
  • This computer system is equipped with a program control processor 701.
  • the program control processor 701 is connected to a program memory 702 that stores necessary programs and a motion vector memory 713. ing.
  • the program memory 720 in addition to the main program for executing the motion vector search according to the present invention, the above-described motion search processing section 7 14 and search range calculation processing ⁇ 15 7 15 A program module to be realized is stored.
  • the program control processor 701 executes the motion vector search according to the present invention.
  • the first effect is that motion vector search can be performed at high speed.
  • the reason is that the search range is switched appropriately, and the search is performed in a narrow search range for images with small motion.
  • the second effect is that the search range can be quickly determined.
  • the reason is that the search range is determined using only the size of the motion vector of the adjacent block.
  • the third effect is that a motion vector search can be performed with an appropriate search range shape. The reason is that the search range is determined according to the horizontal and vertical size of the motion vector of the adjacent block.
  • the fourth effect is that the coding efficiency of the motion vector is improved.
  • the reason is that the search range is determined from the motion vectors of adjacent blocks, so that the dispersion of vectors between adjacent blocks is reduced, and the vector difference between adjacent blocks is reduced. This is because the coding efficiency of a motion vector in which a difference between adjacent blocks is coded is improved.
  • the present invention can be applied to an application in which an arbitrary pixel group in a certain frame in a video is located in which part in another frame.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 本発明の動きベクトル探索では、探索した動きベクトルを記憶しておき、これらのすでに探索をおこなった隣接ブロックの動きベクトルの値を用い、この動きベクトルの水平、垂直各成分の絶対値の定数倍を探索範囲とすることで、少ない演算量で適切な探索範囲を決定する。

Description

明細書 動きべクトル探索方法、 動きべクトル探索装置および動きべクトル探索プログラ ム 技術分野
本発明は、 動き補償予測符号化技術に関し、 特に動きベクトル探索方法、 動き べクトル探索装置及びその動きべクトル探索プログラムに関する。 背景技術
動画像信号を記録、 あるいは伝送する際の圧縮符号化では、 符号化効率を高め るために画像フレーム間の相関を利用した符号化方法が一般に用いられる。 画像 フレーム間の相関を利用する符号化方式は動き補償予測符号化と呼ばれ、 M P E G (Moving P ic ture Exper t s Group)などで採用されている。
動き補償予測符号化では、 フレーム間における映像の動きの情報(動きべクト ル)と、動きべクトルによって生成される予測画像と符号化中のフレームとの差分 画像(予測誤差)を符号化する。 画像フレーム間の相関が大きければ、 予測誤差が 小さくなり、 符号化する情報量を小さくでき、圧縮率を向上させることができる。 動き補償予測符号化では、 一般に、 フレームを 1 6 X 1 6画素などの一定サイ ズのブロックに分割し、 分割したブロックごとに動きベクトルを割り当てる。 具 体的には、 すでに符号化が完了しているフレーム (参照フレーム) の中から、 ブ ロックごとに相関が最も大きくなる場所を探し、 そのブロック間の差分を求め、 符号化する。
相関が大きくなる場所を探す処理を動きべクトル探索という。 相関の大小は、 参照フレームと符号化中フレームとのブロック内の各画素の差異を総和すること で評価できる。
動きべクトル探索の処理において、 フレームのどの領域を探索するかは任意で ある。 狭い範囲を探索すれば探索に要する演算量は少なくすむが、 動きの大きな 映像が入力された場合に適切な動きべクトルが検出できなくなり符号化効率が低 下してしまう。 一方、 広い範囲を探索すれば動さの大きな映像に対して適切な動 き補償予測が可能になり符号化効率は向上する力 S演算量が膨大になってしまう。 従って、 映像中の動きの大きさに応じて適応的 こ探索範囲を切替えることが望ま しい。
動きベクトル探索において探索範囲を適応的 ίこ切替える装置の一例が、 特開平
5 - 3 2 8 3 3 3 (文献 1 )、 特開 2 0 0 0— 1 3 4 6 2 8 (文献 2 ) に記載され ている。
文献 1に記載されている動きベクトル探索装置は、 図 1に示すように、 動きべ クトル検出回路と、 動きベクトルメモリと、 探索範囲判定器と、 探索範囲選択器 とから構成されている。
このような構成を有する従来の動きべクトル探索装置はつぎのように動作する。 すなわち、 動きべクトルメモリに蓄えられた過去に検出した複数の動きべクト ルのヒストグラムを計測し、 計測したヒストグラムに応じて適切な探索範囲が探 索範囲判定器により決定される。 探索範囲選択器では有限種類の探索範囲が用意 されており、 探索範囲判定器での決定に従い、 1つの探索範囲が選択される。 文献 2に記載されている動きべクトル探索装置では、 まず一つおきのブロック の動きベクトルを先に求める。 次にこの動きベクトルの値が、 残りのブロックで の動きべクトル探索の探索範囲決定に利用される。
文献 1で開示されている方法を用いた場合、 過去に求めた動きべクトルのヒス トグラムを常に計測しなければならないので、 探索範囲を求めるために余分な演 算量が必要になるという問題があった。 また、 最終的に用いられる探索範囲が有 限種類しか用意されておらず、 選択された探索範囲が最適なものではない可能性 があった。
文献 2で開示されている方法を用いた場合、 先に動きべクトルを求めるブロッ クは探索範囲が固定されており、 不適切な探索範囲で動きベクトル探索が実行さ れる可能性があった。 また、 半分のブロックし力 ^適応的に探索範囲を切替えるこ とができないので、 探索範囲を適応的に切替えることにより得られる効果が半減 されるという問題があった。 発明の開示
そこで、 本発明は上記課題に鑑みて発明されたものであって、 その目的は、 少 ない演算量で探索範囲を決定し、 適切な探索範囲で動きべクトル探索できる新規 な動きべクトル探索方法、 装置及びプログラムを提供することにある。
上記課題を解決する第 1の発明は、 動面像の符号化における動きべクトルを探 索する動きべクトル探索装置において、検出した動きべクトルを記憶する手段と、 探索が完了した周囲ブロックの動きべクトルの大きさから探索範囲を決定する手 段とを有し、 周囲ブロックの動きべクト レの値から算出された値を探索範囲とし て動きべクトル探索処理をおこなうことを特徴とする。
上記課題を解決する第 2の発明は、 上記第 1の発明において、 前記探索範囲を 決定する手段は、 探索が完了した周囲プロックにおける動きべクトルの大きさの 整数倍を、 探索範囲として決定する手段であることを特徴とする。
上記課題を解決する第 3の発明は、 上記第 1又は 2の発明において、 前記探索 範囲を決定する手段は、複数の周囲ブロックの動きべクトルの最大値に基づいて、 探索範囲を決定する手段であることを特徴とする。
上記課題を解決する第 4の発明は、 上記第 1から第 3のいずれかの発明におい て、 前記探索範囲を決定する手段は、 探索範囲を決定する過程において、 得られ た予測誤差の値が大きくなる場合は探索範囲が適切でないと判断し、 探索範囲を あらかじめ定められた値とする手段を更に有することを特徴とする。
上記課題を解決する第 5の発明は、 上記第 1から第 4のいずれかの発明におい て、 探索領域の中心を隣接ブロックの動きベクトルの位置にシフトし、 探索をお こなう手段を更に有することを特徴とする。
上記課題を解決する第 6の発明は、 上記第 1力、ら第 5のいずれかの発明におい て、 前記探索範囲を決定する手段は、 探索範囲の最大値及び最小値を予め設定し ておき、 算出された探索範囲が、 前記最大値又は前記最小値を超える場合には、 前記最大値又は前記最小値を探索範囲として決定する手段を更に有することを特 徵とする。
上記課題を解決する第 7の発明は、 上記第 1力 ら第 6のいずれかの発明におい て、 前記探索範囲を決定する手段は、 すでに探索をおこなった隣接ブロックの動 きベクトルの値を用い、 動きベクトルの水平、 垂直各成分の絶対値の定数倍を探 索範囲として決定する手段であることを特徴とする。
上記課題を解決する第 8の発明は、 ビデオ符号化装置であって、 検出した動き べクトルを記憶する手段と、 探索が完了した周囲ブロックの動きべクトルの大き さから探索範囲を決定する手段とを有し、 周囲ブロックの動きベクトルの値から 算出された値を探索範囲として動きべクトル探索処理をおこなう動きべクトル探 索装置を有することを特徴とする。
上記課題を解決する第 9の発明は、 上記第 8の発明において、 前記探索範囲を 決定する手段は、 探索が完了した周囲ブロックにおける動きべクトルの大きさの 整数倍を、 探索範囲として決定する手段であることを特徴とする。
上記課題を解決する第 1 0の発明は、 上記第 8又は第 9の発明において、 前記 探索範囲を決定する手段は、 複数の周囲プロックの動きべクトルの最大値に基づ いて、 探索範囲を決定する手段であることを特徴とする。
上記課題を解決する第 1 1の発明は、 上記第 8から第 1 0のいずれかの発明に おいて、 前記探索範囲を決定する手段は、 探索範囲を決定する過程において、 得 られた予測誤差の値が大きくなる場合は探索範囲が適切でないと判断し、 探索範 囲をあらかじめ定められた値とする手段であることを特徴とする。
上記課題を解決する第 1 2の発明は、 上記第 8から第 1 1のいずれかの発明に おいて、 前記動きベクトル探索装置は、 探索領域の中心を隣接ブロックの動きべ クトルの位置にシフトし、 探索をおこなう手段を更に有することを特徴とする。 上記課題を解決する第 1 3の発明は、 上記第 8から第 1 2のいずれかの発明に おいて、 前記探索範囲を決定する手段は、 探索範囲の最大値及び最小値を予め設 定しておき、 算出された探索範囲が、 前記最大値又は前記最小値を超える場合に は、 前記最大値又は前記最小値を探索範囲として決定する手段を更に有すること を特徵とする。
上記課題を解決する第 1 4の発明は、 上記第 8から第 1 3のいずれかの発明に おいて、 前記探索範囲を決定する手段は、 すでに探索をおこなった隣接ブロック の動きベクトルの値を用い、 動きベクトルの水平、 垂直各成分の絶対値の定数倍 を探索範囲として決定する手段であることを特徴とする。 上記課題を解決する第 1 5の発明は、 動画像の符号化における動きべクトルを 探索する方法において、 検出した動きべク卜ルを記憶しておき、 探索が完了した 周囲ブロックの動きべクトルの大きさから探索範囲を決定し、 周囲ブロックの動 きべクトルの値から算出された値を探索範囲として動きべクトル探索処理をおこ なうことを特徴とする。
上記課題を解決する第 1 6の発明は、 上記第 1 5の発明において、探索範囲を、 探索が完了した周囲ブロックにおける動きべクトルの大きさの整数倍に決定する ことを特徴とする。
上記課題を解決する第 1 7の発明は、 上記第 1 5又は第 1 6の発明において、 探索範囲を、 複数の周囲ブロックの動きベクトルの最大値に基づいて決定するこ とを特徴とする。
上記課題を解決する第 1 8の発明は、 上記第 1 5から第' 1 7のいずれかの発明 において、 探索範囲決定の過程で、 得られた予測誤差の値が大きくなる場合は探 索範囲が適切でないと判断し、 探索範囲をあらかじめ定められた値とすることを 特徴とする。 ' 上記課題を解決する第 1 9の発明は、 上記第 1 5から第 1 8のいずれかの発明 において、 探索が完了した周囲ブロックの動きべクトルの大きさから探索範囲を 決定し、 探索領域の中心を、 隣接ブロックの動きベクトルの位置にシフトして探 索をおこなうことを特徴とする。
上記課題を解決する第 2 0の発明は、 上記第 1 5から第 1 9のいずれかの発明 において、 探索範囲の最大値及び最小値を予め設定しておき、 算出された探索範 囲が、 前記最大値又は前記最小値を超える場合には、 前記最大値又は前記最小値 を探索範囲として決定することを特徴とする。
上記課題を解決する第 2 1の発明は、 上記第 1 5から第 2 0のいずれかの発明 において、 すでに探索をおこなった隣接ブロックの動きベクトルの値を用い、 動 きべクトルの水平、 垂直各成分の絶対値の定数倍を探索範囲として決定すること を特徴とする。
上記課題を解決する第 2 2の発明は、 上記第 1 5力、ら第 2 1のいずれかの発明 の動きべクトル探索方法を用いて、 ビデオ符号化を行うことを特徴とする。 上記課題を解決する第 2 3の発明は、 動画像の符号化における動きべクトル探 索を実行するコンピュータシステムにおいて、 対象画像デ一夕を格納する対象画 像バッファと、 参照画像を格納する参照画像バッファと、 動きベクトルを記憶す る動きべクトルメモリと、 動画像の符号化における動きべクトル探索をコンピュ —夕に実行させるための命令からなるプログラムを格納するプログラムメモリと、 前記プログラムを実行するプログラム制御プロセッサとを有し、 前記プログラム は、 前記プログラム制御プロセッサに、 動きベクトルメモリ中に記憶されている 周囲ブロックの動きべクトルの値をもとに算出される値を探索範囲として動きべ クトル探索を行わせることを特徴とする。
上記課題を解決する第 2 4の発明は、 上記第 2 3の発明において、 前記プログ ラムは、 前記プログラム制御プロセッサに、 探索が完了した周囲ブロックにおけ る動きべクトルの大きさの整数倍を、 探索範囲として決定させることを特徴とす る。 ·
上記課題を解決する第 2 5の発明は、 上記第 2 3又は第 2 4の発明において、 前記プログラムは、 前記プログラム制御プロセッサに、 複数の周囲ブロックの動 きべクトルの最大値に基づいて、 探索範囲を決定させることを特徴とする。
上記課題を解決する第 2 6の発明は、 上記第 2 3から第 2 5のいずれかの発明 において、 前記プログラムは、 前記プログラム制御プロセッサに、 得られた予測 誤差の値が大きくなる場合は探索範囲が適切でないと判断させ、 探索範囲をあら かじめ定められた値とさせることを特徴とする。
上記課題を解決する第 2 7の発明は、 上記第 2 3から第 2 6のいずれかの発明 において、 前記プログラムは、 前記プログラム制御プロセッサに、 探索領域の中 心を隣接ブロックの動きべクトルの位置にシフトし探索をおこなうことを特徴と する。
上記課題を解決する第 2 8の発明は、 上記第 2 3から第 2 7のいずれかの発明 において、 前記プログラムは、 前記プログラム制御プロセッサに、 得られた予測 誤差の値が大きくなる場合は探索範囲が適切でないと判断させ、 探索範囲をあら かじめ定められた値とさせることを特徴とする。
上記課題を解決する第 2 9の発明は、 上記第 2 3力ゝら第 2 8のいずれかの発明 において、 前記プログラムは、 前記プログラム制御プロセッサに、 算出された探 索範囲が、 予め定められた探索範囲の最大値又は最小値を超える場合には、 前記 最大値又は前記最小値を探索範囲として決定させることを特徴とする。
上記課題を解決する第 3 0の発明は、 上記第 2 3から第 2 9のいずれかの発明 において、 前記プログラムは、 前記プログラム制御プロセッサに、 すでに探索を おこなった隣接ブロックの動きベクトルの値を用い、 動きベクトルの水平、 垂直 各成分の絶対値の定数倍を探索範囲として決定させることを特徴とする。
上記課題を解決する第 3 1の発明は、 コンピュータを制御し、 動画像の符号化 における動きべクトルを探索する動きべクトル探索プログラムであって、 前記動 きべクトル探索プログラムは前記コンピュータに、 探索が完了した周囲ブロック の動きべクトルの大きさから探索範囲を決定する機能と、 決定した探索範囲で動 きべクトル探索処理を行う機能を実行させることを特徴とする。
上記課題を解決する第 3 2の発明は、 上記第 3 1の発明において、 前記動きべ クトル探索プログラムは、 前記コンピュータに、 探索が完了した周囲ブロックに おける動きべクトルの大きさの整数倍を、 探索範囲として決定する機能を実行さ せることを特徴とする。
上記課題を解決する第 3 3の発明は、 上記第 3 1又は第 3 2の発明において、 前記動きベクトル探索プログラムは、 前言己コンピュータに、 複数の周囲ブロック の動きべクトルの最大値に基づいて、 探索範囲を決定する機能を実行させること を特徴とする。
上記課題を解決する第 3 4の発明は、 上記第 3 1から第 3 3いずれかの発明に おいて、 前記動きベクトル探索プログラムは、 前記コンピュータに、 探索範囲を 決定する過程において、 得られた予測誤差の値が大きくなる場合は探索範囲が適 切でないと判断し、 探索範囲をあらかじめ定められた値とする機能を実行させる ことを特徴とする。
上記課題を解決する第 3 5の発明は、 上記第 3 1から第 3 4いずれかの発明に おいて、 前記動きベクトル探索プログラムは、 前記コンピュータに、 探索領域の 中心を隣接ブロックの動きべクトルの位置にシフトし、 探索をおこなう機能を実 行させることを特徴とする。 上記課題を解決する第 3 6の発明は、 上記第 3 1から第 3 5いずれかの発明に おいて、 前記動きベクトル探索プログラムは、 前記コンピュータに、 探索範囲の 最大値及び最小値を予め設定しておき、 算出された探索範囲が、 前記最大値又は 前記最小値を超える場合には、 前記最大値又は前記最小値を探索範囲として決定 する機能を実行させることを特徴とする。
上記課題を解決する第 3 7の発明は、 上記第 3 1から第 3 6いずれかの発明に おいて、 前記動きベクトル探索プログラムは、 前記コンピュータに、 すでに探索 をおこなった隣接ブロックの動きベクトルの値を用い、 動きベクトルの水平、 垂 直各成分の絶対値の定数倍を探索範囲として決定する機能を実行させることを特 徴とする。 図面の簡単な説明
図 1は適応的に探索範囲変化させる動きべクトル探索法の従来例を示すブロッ ク図である。
図 2は本発明の実施例 1の構成を示すブロック図である。
図 3は本発明の実施例 1の動作を示すフローチヤ一トである。
図 4は本発明の実施例 2の動作の具体例を示す図である。
図 5は本発明の実施例 3の動作を示すフローチヤ一トである。
図 6は本発明の実施例 4の動作を示すフローチャートである。
図 7は本発明による動きべクトル探索装置の実施例であるコンピュータシステ ムを示すブロック図である。
図 8は本発明の実施例 1の具体的な動作を示す図である。 発明を実施するための最良の形態
本発明の動きべクトル探索装置は、 動きべクトルを探索する動きべクトル探索 処理部と、 求めた動きベクトルを記憶しておく動きベクトルメモリと、 探索範囲 を決定する探索範囲算出処理部とを備えている。
探索範囲算出処理部は、 動きべク トルメモリからすでに求めた隣接ブロックの 動きべクトルを取出し、 隣接ブロックの動きべクトルの値をもとに適切な探索範 囲を決定する。 このような構成を採用し、 動きベクトル探索における探索範囲を 決定することにより本発明の目的を達成することができる。
(実施例 1 )
本発明の第 1の実施例について図面を参照して詳細に説明する。
図 2を参照すると、 本発明の第 1の実施例における動きべクトル探索装置は、 符号化中のフレームのデータを格納する現フレームバッファ 2 0 1と、 参照フレ ームを格納する参照フレームバッファ 2 0 2と、 動きべクトル探索処理をおこな う動き探索処理部 2 0 3と、 求めた動きべクトルを記憶しておく動きべクトルメ モリ 2 0 4と、 探索範囲を決定する探索範囲算出処理部 2 0 5とから構成されて いる。
次に、 図 2及び図 3のフローチャートを参照し、 実施例 1の動作について詳細 に説明する。
まず、 現フレームバッファ 2 0 1の先頃のブロックにポインタを合わせる (図 3のステップ A 1 )。
次に、 現在ポイントされているブロックがフレームの先頭ブロックかどうかを 調べる (ステップ A 2 )。
先頭のブロックの場合は、 水平方向探索範囲 Xを初期値 X0、 垂直方向の探索範 囲 Yを初期値 Y0とする (ステップ A 3 )。 初期値 X0と Y0とはあらかじめ設定さ れているものとする。
一方、 先頭のブロックでない場合は、 に動きベクトルメモリ 2 0 4に格納さ れている左隣のブロックの動きべクトル(x,y)を読み出す (ステップ A 4 )。
水平方向探索範囲 X を左隣のブロックの動きベクトル水平成分 Xの絶対値 abs (x)の a倍の値とする (ステップ A 5 )。 ここで aは任意の正数とする。 ただし、 ここで Xの値は水平方向最大探索範囲 Xmaxと水平方向最小探索範囲 Xmi nの間に 収まるようにクリッピングする (ステップ A 6 )。 尚、 Xの値が水平方向最大探索 範囲 Xmax又は水平方向最小探索範囲 Xmi nを超える場合には、 Xの値を水平方向 最大探索範囲 Xmax又は水平方向最小探索範囲 Xmi nとする。 また、 水平方向最大 探索範囲 Xmaxと水平方向最小探索範囲 Xm i nの値はあらかじめ設定されているも のとする。
垂直方向探索範囲 Y は左隣のプロックの動きべクトル垂直成分 y の絶対値 abs (y)の b倍の値とする (ステップ A 7 )。 ここで bは任意の正数とする。 ただし、 ここで Yの値は水平方向最大探索範囲 Ymaxと水平方向最小探索範囲 Yminの間に 収まるようにクリッピングする (ステップ A 8 )。 尚、 Yの値が水平方向最大探索 範囲 Ymax又は水平方向最小探索範囲 Yminを超える場合には、 Yの値を水平方向 最大探索範囲 Ymax又は水平方向最小探索範囲 Yminとする。 また、 垂直方向最大 探索範囲 Ymaxと垂直方向最小探索範囲 Yminの値はあらかじめ設定されているも のとする。
これらの処理は、 探索範囲算出処理部 2 0 5にておこなわれる。
次に探索範囲を (±X、 土 Y) 画素として動きベクトル探索をおこなう (ステツ プ A 9 )。
次にステップ A 9で得られた動きべクトルを動きべクトルメモリ 2 0 4に格納 する (ステップ A 1 0 )。
これらの処理は動き探索処理部 2 0 3にておこなわれる。
フレーム内のすべてのプロックについて動きべクトル探索処理が完了したかを 調べる (ステップ A l D o
まだ動きべクトル探索をおこなっていないブロックがある場合は次のブロック にポインタを移動させ(ステップ A 1 2 )、 ステップ A 2にもどり動きべクトル探 索処理を継続する。 すべてのブロックの処理が完了していれば、 そのフレームの 動きべクトル探索処理を終了する。
次に、 具体的な実施例を用いて本発明を実施するための最良の形態の動作を説 明する。
図 8に示すように、 左隣のブロックの動きベクトルを (x, y) = (-4、 3) とする。 また、 探索範囲の最大値を 31、 最小直を 5、 aの値を 2、 bの値を 1とする。 この とき水平方向探索範囲は abs (x) X a= 4 X 2 = 8、 垂直方向探索範囲は abs (y) X b= 3 X I = 3 と算出される。 これらの値はいずれも探索範囲の最大値と最小値の間に あるので、 これらの値をそのまま用い、 (± 8, ± 3) 画素の範囲で動きベクトル探 索をおこなうことになる。 上述の構成によれば、 隣接するプロックの動きべクトルの値を元に探索範囲を 求めているため、 少ない演算量で適切な探索範囲を決定することができる。 一般 に、 隣接ブロック間では動きベクトルに高い相関関係がある。 従って、 本実施例 の方法で求めた探索範囲は実際の映像の動きとも高い相関があるといえる。 また、 本実施例では、 隣接するプロックの動きベクトルの水平成分、 垂直成分 をそれぞれ独立に用いて探索範囲を決定している。 従って、 映像中の動きに応じ て探索範囲の広さ(面積)だけでなくその形状も適応的に変化することができる。 例えば、 隣接ブロックが水平方向に長い動きベクトルをもつ場合、 探索範囲も水 平方向に長い形状となる。
(実施例 2 )
本発明の第 2の実施例による動きべクトル探索装置について図 4を参照して説 明する。
第 1の実施例では探索範囲を決定するために、 左隣のブロックの動きべクトル の値を用いたが、 実施例 2では、 探索範囲算出処理部 2 0 5が、 図 4に示すよう にすでに動きべクトルが求まっている複数の隣接プロックから 2つ以上のブロッ クを抽出し、 各ブロックの動きべク トルの水平成分、 垂直成分それぞれの絶対値 の最大値を用いて実施例 1のように a倍、 b倍することにより探索範囲を決定す る。 ここで a, bは任意の正数とする。
図 4では、 左、 左上、 上、 右上の 4つのブロックの動きベクトルから探索範囲 を決定している。
このように周囲の複数のブロックの動きべクトルの最大値を元に探索範囲を決 定することにより、 左隣のブロックとの間において映像の動きに相関が小さい場 合でも適切な探索範囲を決定することが可能になる。
(実施例 3 )
本発明の第 3の実施例による動きべクトル探索装置を説明する。
第 3の実施例では、 探索範囲算出処理部 2 0 5は、 探索範囲を決定すること過 程で得られた予測誤差があらかじめ設定された閾値よりも大きくなつた場合、 探 索範囲が適切でないと判断し、 探索範囲を初期値に戻す例について説明する。 以下、 図 5のフローチャートを参照して、 第 3の実施例の動作を詳細に説明す る。
まず、 現フレームバッファの先頭のブロックにポインタを合わせる (図 5のス テツプ B l )。
次に、 現在ポイントされているプロックがフレームの先頭ブロックかどうかを 調べる (ステップ B 2 )。
先頭のブロックの塲合は、 水平方向探索範囲 Xを初期値 X0、 垂直方向の探索範 囲 Yを初期値 Y0とする (ステップ B 3 )。 初期値 X0と Y0はあらかじめ設定され ているものとする。 先頭のブロックでない場合は、 一つ前のブロックの動きべク トル探索で得られた最小予測誤差の値を閾値 Thと比較する (ステップ B 4 )。 ここで閾値 Thはあらかじめ設定された値とする。
最小予測誤差が閾値 Thよりも大きい場合は、探索範囲が適切でないと判断し、 ステップ B 3で探索範囲を初期値に戻す。
最小予測誤差が閾値よりも小さい場合、 動きべクトルメモリ 2 0 に格納され ている左隣のブロックの動きべクトルを読み出す (ステップ B 5 )。
次に、 水平方向探索範囲 Xを一つ前のブロックの動きべクトル水平成分 Xの絶 対値 abs (x)の a倍の値とする (ステップ B 6 )。 ここで aは任意の正数とする。 ただし、ここで Xの値は水平方向最大探索範囲 Xmaxと水平方向最小探索範囲 Xmin の間に収まるようにクリッピングする (ステップ B 7 )。 尚、 Xの値が水平方向最 大探索範囲 Xmax又は水平方向最小探索範囲 Xmi nを超える場合には、 Xの値を水 平方向最大探索範囲 Xmax又は水平方向最小探索範囲 Xmi nとする。 また、 水平方 向最大探索範囲 Xmaxと水平方向最小探索範囲 Xmi nの値はあらかじめ設定されて いるものとする。
垂直方向探索範囲 Y は左隣のブロックの動きべクトル垂直成分 y の絶対値 abs (y)の b倍の値とする (ステップ B 8 )。 ここで bは任意の正数とする。 ただし、 ここで Yの値は水平方向最大探索範囲 Ymaxと水平方向最小探索範囲 Ymi nの間に 収まるようにクリッピングする (ステップ B 9 )。 垂直方向最大探索範囲 Ymax と 垂直方向最小探索範囲 Ymi nの値はあら;^じめ設定されているものとする。 尚、 Y の値が水平方向最大探索範囲 Ymax又は水平方向最小探索範囲 Yminを超える場合 には、 Yの値を水平方向最大探索範囲 Ymax又は水平方向最小探索範囲 Yminとす る。 また、 垂直方向最大探索範囲 Ymaxと垂直方向最小探索範囲 Yminの値はあら かじめ設定されているものとする。
これらの処理は、 探索範囲算出処理部 2 0 5にておこなわれる。
次に、 探索範囲を (±X、 土 Y) 画素として動きベクトル探索をおこなう (ステ ップ B 1 0 )。
次に、 ステップ A 1 0で得られた動きべクトルを動きべクトルメモリに格納す る (ステップ B 1 D o
次に、 ステップ A 1 0でおこなった動きベクトル探索の結果得られた予測誤差 をメモリに格納する (ステップ B 1 2 )。
これらの処理は動き探索処理部 2 0 3にておこなわれる。
フレーム内のすべてのブロックについて動きべクトル探索処理が完了したかを 調べる (ステップ B 1 3 )。
まだ、 探索処理をおこなっていないプロックがある場合は、 次のブロックにポ インタを移動させ(ステップ B 1 4 )、 ステップ B 2にもどり動きべクトル探索処 理を継続する。 すべてのブロックの処理が完了していれば、 そのフレームの動き べクトル探索処理を終了する。
上述の構成によれば、 1フレームの動きベクトル探索中に、 予測誤差があらか じめ設定された閾値よりも大きくなつた場合に探索範囲が適切でないと判断し、 探索範囲を初期値に戻す。 従って、 探索精度の低下を最小限に抑えることが可能 となる。
第 3の実施形においても、 上述した第 2の実施例のように周囲の複数のブロッ クの動きべクトルの絶対値の最大値を利用して探索範囲を決定することにより、 左に隣接するブロック間の動きべクトルの相関が小さい場合でも適切な探索範囲 を決定することが可能となる。
(実施例 4 )
本発明の第 4の実施例による動きべクトル探索装置について説明する。 ブロック間の動きの相関が高い場合は、 動きべクトル探索の探索範囲の中心位 置を隣接ブロックの動きべクトルが指す位置にシフトすることにより、 より狭い 探索範囲で正しい動きを検出することが可能になり、さらに演算量を削減できる。 そこで、 愛 4の実施例では、 ブロック間の動きの相関が高い場合は、 動きべクト ル探索の探索範囲の中心位置を隣接ブロックの動きべクトルが指す位置にシフト する例を説明する。 以下、 図 6のフローチャートを参照して動作を説明する。 まず、 現フレームバッファの先頭のブロックにポインタを合わせる (図 6のス テツプ C 1 )。
次に、 現在ポイントされているブロックがフレームの先頭ブロックかどうかを 調べる (ステップ C 2 )。
先頭のブロックの場合 ま、 水平方向探索範囲 Xを初期値 χο、 垂直方向の探索範 囲 Υを初期値 Υ0とする (ステップ C 3 )。 初期値 X0と Y0はあらかじめ設定され ているものとする。
先頭のブロックでない場合は、 動きベクトルメモリ 2 0 4 に格納されている左 隣のブロックの動きべク トルを読み出す (ステップ C 4 )。
次に、 水平方向探索範囲 Xを左隣のブロックの動きべクトル水平成分 Xの絶対 値 abs (x)の a倍の値とする (ステップ C 5 )。 ここで aは任意の正数とする。 た だし、 ここで Xの値は水平方向最大探索範囲 Xmax と水平方向最小探索範囲 Xmi n の間に収まるようにクリッピングする (ステップ C 6 )。 尚、 Xの値が水平方向最 大探索範囲 Xmax又は水平方向最小探索範囲 Xmi nを超える場合には、 Xの値を水 平方向最大探索範囲 Xmax又は水平方向最小探索範囲 Xmi nとする。 また、 水平方 向最大探索範囲 Xmaxと水平方向最小探索範囲 Xmi nの値はあらかじめ設定されて いるものとする。
垂直方向探索範囲 Y ま左隣のブロックの動きべクトル垂直成分 y の絶対値 abs (y)の b倍の値とする (ステップ C 7 )。 ここで bは任意の正数とする。 ただし、 ここで Yの値は水平方向最大探索範囲 Ymaxと水平方向最小探索範囲 Ymi nの間に 収まるようにクリッピングする (ステップ C 8 )。 尚、 Yの値が水平方向最大探索 範囲 Ymax又は水平方向最小探索範囲 Ymi nを超える場合には、 Yの値を水平方向 最大探索範囲 Ymax又は水平方向最小探索範囲 Yminとする。 また、 垂直方向最大 探索範囲 Ymaxと垂直方向最小探索範囲 Yminの値はあらかじめ設定されているも のとする。
これらの処理は、 探索範囲算出処理部 2 0 5にておこなわれる。
次に、 探索中心を現在のブロックの位置から左隣のブロックの動きべクトル (x, y)だけ移動した場所とし (ステップ C 9 )、 探索範囲を (±X、 土 Y) 画素とし て動きベクトル探索をおこなう (ステップ C 1 0 )。
次にステップ A 1 0で得られた動きべクトルを保存するために動きべクトルメ モリに格納する (ステップ C l l )。
これらの処理は動き探索処理部 2 0 3にておこなわれる。
フレーム内のすべてのブロックについて動きべクトル探索処理が完了したかを 調べる (ステップ C 1 2 )。
まだ探索処理をおこなっていないブロックがある場合は次のブロックにポイン 夕を移動させ (ステップ C 1 3 )、 ステップ C 2にもどり動きべクトル探索処理を 継続する。 すべてのブロックの処理が完了していれば、 そのフレームの動きべク トル探索処理を終了する。
上述の如 <、 本実施例では、 第 1の実施例の構成に加えて、 探索範囲の中心を 隣接ブロックの動きべクトルが指す位置に移動させて動きべクトル探索を行って いる。 このことにより、 ブロック間で動きベクトルの相関が大きい場合はより狭 い探索範囲で正しい動きを検出することが可能となる。
尚、 第 4の実施例においても、 第 2の実施例のように周囲の複数のブロックの 動きべクトノレの絶対値の最大値を利用して探索範囲を決定することにより、 探索 精度を向上させることが可能になる。 また、 同様に第 3の実施例のようにフレー ムの途中で探索範囲を初期値に戻すことで探索精度を向上させることも可能であ る。
(実施例 5 )
本発明の第 5の実施例による動きべクトル探索装置を説明する。
第 5の実施例では、 上述した第 1の実施例から第 4の実施例に示される動きべ クトル探索装置をコンピュータシステムにより実行する例を説明する。 図 7はコンピュータシステムを示すブロック図である。
このコンピュータシステムには、 プログラム制御プロセッサ 7 0 1が装備され ている。 プログラム制御プロセッサ 7 0 1には、 現フレームバッファ 7 1 1およ び参照フレームバッファ 7 1 2の他に、 必要なプログラムを格納したプログラム メモリ 7 0 2と動きべクトルメモリ 7 1 3、 が接続されている。
プログラムメモリ 7 0 2には、 本発明による動きべクトル探索を実行するため のメインプログラムの他に、 上述した動き探索処理部 7 1 4、 探索範囲算出処理 咅 15 7 1 5をそれぞれ機能的に実現するプログラムモジュールが格納されている。 メインプログラムおよび各機能モジュールをプログラム制御プロセッサ 7 0 1で 実行することで、 本発明による動きベクトル探索が実行される。
以上説明した本発明によれば、 以下のような効果が達成される。
第 1の効果は、 高速に動きベクトル探索ができることである。 その理由は、 適 応的に探索範囲を切替え、 動きの小さな映像では狭い探索範囲で探索をおこなう ためである。
第 2の効果は、 高速に探索範囲を決定できることである。 その理由は、 隣接す るブロックの動きべクトルの大きさのみを使い探索範囲を決定するためである。 第 3の効果は、 '適切な探索範囲形状で動きべクトル探索ができることである。 その理由は、 隣接するブロックの動きベクトルの水平方向、 垂直方向それぞれの 大きさに応じて探索範囲を決定するためである。
第 4の効果は、 動きべクトルの符号化効率が向上することである。その理由は、 探索範囲が隣接するプロックの動きべクトルから決定されるので隣接プロック間 でべクトルのちらばりが小さくなり、 隣接ブロック間でのべクトル差分が小さく なる。 そのため、 隣接ブロック間の差分が符号化される動きベクトルの符号化効 率が向上するからである。 産業上の利用可能性
本発明によれば、 映像中のあるフレーム中の任意の画素群が他のフレーム中の どの部分に存在するかを調べるといった用途に適用できる。

Claims

請求の範囲
1 . 動画像の符号化における動きべクトルを探索する動きべクトル探索装置に おいて、
検出した動きべクトルを記憶する手段と、
探索が完了した周囲ブロックの動きべクトルの大きさから探索範囲を決定する 手段とを有し、
周囲ブロックの動きべクトルの値から算出された値を探索範囲として動きべク トル探索処理をおこなうことを特徴とする動きべクトル探索装置。
2 . 前記探索範囲を決定する手段は、 探索が完了した周囲ブロックにおける動 きべクトルの大きさの整数倍を、 探索範囲として決定する手段であることを特徴 とする請求項 1に記載の動きべクトル探索装置。
3 . 前記探索範囲を決定する手段は、 複数の周囲ブロックの動きベクトルの最 大値に基づいて、 探索範囲を決定する手段であることを特徴とする請求項 1又は 請求項 2に記載の動きべクトル探索装置。
4 . 前記探索範囲を決定する手段は、 探索範囲を決定する過程において、 得ら れた予測誤差の値が大きくなる場合は探索範囲が適切でないと判断し、 探索範囲 をあらかじめ定められた値とする手段を更に有することを特徴とする請求項 1か ら請求項 3のいずれかに記載の動きべクトル探索装置。
5 . 探索領域の中心を隣接ブロックの動きベクトルの位置にシフトし、 探索を おこなう手段を更に有することを特徴とする請求項 1から請求項 4のいずれかに 記載の動きべクトル探索装置。
6 . 前記探索範囲を決定する手段は、 探索範囲の最大値及び最小値を予め設定 しておき、 算出された探索範囲が、 前記最大値又は前記最小値を超える場合には、 前記最大値又は前記最小値を探索範囲として決定する手段を更に有することを特 徵とする請求項 1から請求項 5のいずれかに記載の動きべクトル探索装置。
7 . 前記探索範囲を決定する手段は、 すでに探索をおこなった隣接ブロックの 動きベクトルの値を用い、 動きベクトルの水平、 垂直各成分の絶対値の定数倍を 探索範囲として決定する手段であることを特徴とする請求項 1から請求項 6のい ずれかに記載の動きべクトル探索装置。
8 . ビデオ符号化装置であって、
検出した動きベクトルを記憶する手段と、 探索が完了した周囲ブロックの動き べクトルの大きさから探索範囲を決定する手段とを有し、 周囲ブロックの動きべ クトルの値から算出された値を探索範囲として動きべクトル探索処理をおこなう 動きべクトル探索装置を有することを特徴とするビデオ符号化装置。 9 . 前記探索範囲を決定する手段は、 探索が完了した周囲ブロックにおける動 きべクトルの大きさの整数倍を、 探索範囲として決定する手段であることを特徴 とする請求項 8に記載のビデオ符号化装置。
1 0 . 前記探索範囲を決定する手段は、 複数の周囲ブロックの動きベクトルの 最大値に基づいて、 探索範囲を決定する手段であることを特徴とする請求項 8又 は請求項 9に記載のビデオ符号化装置。
1 1 . 前記探索範囲を決定する手段は、 探索範囲を決定する過程において、 得 られた予測誤差の値が大きくなる場合は探索範囲が適切でないと判断し、 探索範 囲をあらかじめ定められた値とする手段であることを特徴とする請求項 8から請 求項 1 0のいずれかに記載のビデオ符号化装置。
1 2 . 前記動きベクトル探索装置は、 探索領域の中心を隣接ブロックの動きべ クトルの位置にシフトし、 探索をおこなう手段を更に有することを特徴とする請 求項 8から請求項 1 1のいずれかに記載のビデオ符号化装置。
1 3 . 前記探索範囲を決定する手段は、 探索範囲の最大値及び最小値を予め設 定しておき、 算出された探索範囲が、 前記最大値又は前記最小値を超える場合に は、 前記最大値又は前記最小値を探索範囲として決定する手段を更に有すること を特徴とする請求項 8から請求項 1 2のいずれかに記載のビデオ符号化装置。
1 4 . 前記探索範囲を決定する手段は、 すでに探索をおこなった隣接ブロック の動きベクトルの値を用い、 動きベクトルの水平、 垂直各成分の絶対値の定数倍 を探索範囲として決定する手段であることを特徴とする請求項 8から請求項 1 3 のいずれかに記載のビデオ符号化装置。
1 5 . 動画像の符号化における動きベクトルを探索する方法において、 検出した動きべクトルを記憶しておき、 探索が完了した周囲ブロックの動きべ クトルの大きさから探索範囲を決定し、 周囲ブロックの動きベクトルの値から算 出された値を探索範囲として動きべクトル探索処理をおこなうことを特徴とする 動きべク卜ル探索方法。
1 6 . 探索範囲を、 探索が完了した周囲ブロックにおける動きベクトルの大き さの整数倍に決定することを特徴とする請求項 1 5に記載の動きベクトル探索方 法。
1 7 . 探索範囲を、 複数の周囲ブロックの動きベクトルの最大値に基づいて決 定することを特徴とする請求項 1 5又は請求項 1 6に記載の動きべクトル探索方 法。
1 8 . 探索範囲決定の過程で、 得られた予測誤差の値が大きくなる場合は探索 範囲が適切でないと判断し、 探索範囲をあらかじめ定められた値とすることを特 徵とする請求項 1 5から請求項 1 7のいずれかに記載の動きベクトル探索方法。
1 9 . 探索が完了した周囲ブロックの動きべクトルの大きさから探索範囲を決 定し、 探索領域の中心を、 隣接ブロックの動きベクトルの位置にシフトして探索 をおこなうことを特徴とする請求項 1 5から請求項 1 8のいずれかに記載の動き ベクトル探索方法。
2 0 . 探索範囲の最大値及び最小値を予め設定しておき、 算出された探索範囲 が、 前記最大値又は前記最小値を超える場合には、 前記最大値又は前記最小値を 探索範囲として決定することを特徴とする請求項 1 5から請求項 1 9のいずれか に記載の動きべクトル探索方法。
2 1 . すでに探索をおこなった隣接ブロックの動きベクトルの値を用い、 動き べクトルの水平、 垂直各成分の絶対値の定数倍を探索範囲として決定することを 特徴とする請求項 1 5から請求項 2 0のいずれかに記載の動きべクトル探索方法。
2 2 . 請求項 1 5から請求項 2 1のいずれかに記載の動きベクトル探索方法を 用いて、 ビデオ符号化を行うことを特徴とするビデオ符号化方法。
2 3 . 動画像の符号化における動きベクトル探索を実行するコンピュータシス テムにおいて、
対象画像データを格納する対象画像バッファと、
参照画像を格納する参照画像バッファと、
動きべクトルを記憶する動きべクトルメモリと、
動画像の符号化における動きべクトル探索をコンピュータに実行させるための 命令からなるプログラムを格納するプログラムメモリと、
前記プログラムを実行するプログラム制御プロセッサと
を有し、
前記プログラムは、 前記プログラム制御プロセッサに、 動きベクトルメモリ中 に記憶されている周囲ブロックの動きべクトルの値をもとに算出される値を探索 範囲として動きべクトル探索を行わせることを特徴とするコンピュータシステム。
2 4 . 前記プログラムは、 前記プログラム制御プロセッサに、 探索が完了した 周囲ブロックにおける動きべクトルの大きさの整数倍を、 探索範囲として決定さ せることを特徴とする請求項 2 3に記載のコンピュータシステム。
2 5 . 前記プログラムは、 前記プログラム制御プロセッサに、 複数の周囲プロ ックの動きべクトルの最大値に基づいて、 探索範囲を決定させることを特徴とす る請求項 2 3又は請求項 2 4に記載のコンピュータシステム。
2 6 . 前記プログラムは、 前記プログラム制御プロセッサに、 得られた予測誤 差の値が大きくなる場合は探索範囲が適切でないと判断させ、 探索範囲をあらか じめ定められた値とさせることを特徴とする請求項 2 3から請求項 2 5のいずれ かに記載のコンピュータシステム。
2 7 . 前記プログラムは、 前記プログラム制御プロセッサに、 探索領域の中心 を隣接ブロックの動きべクトルの位置にシフトし探索をおこなうことを特徴とす る請求項 2 3から請求項 2 6のいずれかに記載のコンピュータシステム。 2 8 . 前記プログラムは、 前記プログラム制御プロセッサに、 得られた予測誤 差の値が大きくなる場合は探索範囲が適切でないと判断させ、 探索範囲をあらか じめ定められた値とさせることを特徴とする請求項 2 3から請求項 2 7のいずれ かに記載のコンピュータシステム。 2 9 . 前記プログラムは、 前記プログラム制御プロセッサに、 算出された探索 範囲が、 予め定められた探索範囲の最大値又は最小値を超える場合には、 前記最 大値又は前記最小値を探索範囲として決定させることを特徴とする請求項 2 3か ら請求項 2 8のいずれかに記載のコンピュータシステム。
3 0 . 前記プログラムは、 前記プログラム制御プロセッサに、 すでに探索をお こなった隣接ブロックの動きベクトルの値を用い、 動きベクトルの水平、 垂直各 成分の絶対値の定数倍を探索範囲として決定させることを特徴とする請求項 2 3 から請求項 2 9のいずれかに記載のコンピュータシステム。
3 1 . コンピュータを制御し、 動画像の符号化における動きベクトルを探索す る動きべクトル探索プログラムであって、
前記動きべクトル探索プログラムは前記コンピュータに、
探索が完了した周囲ブロックの動きべクトルの大きさから探索範囲を決定する 機能と、
決定した探索範囲で動きべクトル探索処理を行う機能を実行させることを特徴 とする動きべクトル探索プログラム。
3 2 . 前記動きベクトル探索プログラムは、 前記コンピュータに、 探索が完了 した周囲ブロックにおける動きベクトルの大きさの整数倍を、 探索範囲として決 定する機能を実行させることを特徴とする請求項 3 1に記載のプログラム。
3 3 . 前記動きベクトル探索プログラムは、 前記コンピュータに、 複数の周囲 ブロックの動きべクトルの最大値に基づいて、 探索範囲を決定する機能を実行さ せることを特徴とする請求項 3 1又は請求項 3 2に記載の動きベクトル探索プロ グラム。
3 4 . 前記動きベクトル探索プログラムは、 前記コンピュータに、 探索範囲を 決定する過程において、 得られた予測誤差の値が大きくなる場合は探索範囲が適 切でないと判断し、 探索範囲をあらかじめ定められた値とする機能を実行させる ことを特徴とする請求項 3 1から請求項 3 3のいずれかに記載の動きべクトル探 索プログラム。
3 5 . 前記動きベクトル探索プログラムは、 前記コンピュータに、 探索領域の 中心を隣接ブロックの動きべクトルの位置にシフトし、 探索をおこなう機能を実 行させることを特徴とする請求項 3 1から請求項 3 4のいずれかに記載の動きべ クトル探索プログラム。
3 6 . 前記動きベクトル探索プログラムは、 前記コンピュータに、 探索範囲の 最大値及び最小値を予め設定しておき、 算出された探索範囲が、 前記最大値又は 前記最小値を超える場合には、 前記最大値又は前記最小値を探索範囲として決定 する機能を実行させることを特徴とする請求項 3 1から請求項 3 5のいずれかに 記載の動きべクトル探索プログラム。
3 7 . 前記動きベクトル探索プログラムは、 前記コンピュータに、 すでに探索 をおこなった隣接ブロックの動きベクトルの値を用い、 動きベクトルの水平、 垂 直各成分の絶対値の定数倍を探索範囲として決定する機能を実行させることを特 徵とする請求項 3 1から請求項 3 5のいずれかに記載の動きべクトル探索プログ ラム。
PCT/JP2004/015452 2003-10-14 2004-10-13 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラム WO2005036887A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005514685A JPWO2005036887A1 (ja) 2003-10-14 2004-10-13 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003354203 2003-10-14
JP2003-354203 2003-10-14

Publications (1)

Publication Number Publication Date
WO2005036887A1 true WO2005036887A1 (ja) 2005-04-21

Family

ID=34431181

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/015452 WO2005036887A1 (ja) 2003-10-14 2004-10-13 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラム

Country Status (2)

Country Link
JP (1) JPWO2005036887A1 (ja)
WO (1) WO2005036887A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1932366A2 (en) * 2005-09-16 2008-06-18 Sony Electronics, Inc. Adaptive motion search range
JP2011151509A (ja) * 2010-01-20 2011-08-04 Hitachi Kokusai Electric Inc 画像処理装置
WO2012121234A1 (ja) * 2011-03-09 2012-09-13 日本電信電話株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
JP2013165340A (ja) * 2012-02-09 2013-08-22 Sony Corp 画像処理装置と画像処理方法
JP2013172350A (ja) * 2012-02-21 2013-09-02 Fujitsu Ltd 動画像符号化装置及び動画像符号化方法
WO2018190207A1 (ja) * 2017-04-13 2018-10-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10911770B2 (en) 2017-04-13 2021-02-02 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method for selecting the best candidate motion vector

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04150284A (ja) * 1990-10-09 1992-05-22 Olympus Optical Co Ltd 動ベクトル検出方法およびその装置
JPH06205389A (ja) * 1992-12-29 1994-07-22 Casio Comput Co Ltd 動きベクトル検出装置及び動きベクトル検出方法
JP2003244707A (ja) * 2002-01-26 2003-08-29 Lg Electronics Inc 動きベクトル検索領域の適応的決定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04150284A (ja) * 1990-10-09 1992-05-22 Olympus Optical Co Ltd 動ベクトル検出方法およびその装置
JPH06205389A (ja) * 1992-12-29 1994-07-22 Casio Comput Co Ltd 動きベクトル検出装置及び動きベクトル検出方法
JP2003244707A (ja) * 2002-01-26 2003-08-29 Lg Electronics Inc 動きベクトル検索領域の適応的決定方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1932366A2 (en) * 2005-09-16 2008-06-18 Sony Electronics, Inc. Adaptive motion search range
EP1932366A4 (en) * 2005-09-16 2011-03-16 Sony Electronics Inc ADAPTIVE-TYPE MOTION SEARCH RANGE
JP2011151509A (ja) * 2010-01-20 2011-08-04 Hitachi Kokusai Electric Inc 画像処理装置
JP5613319B2 (ja) * 2011-03-09 2014-10-22 日本電信電話株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
WO2012121234A1 (ja) * 2011-03-09 2012-09-13 日本電信電話株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
RU2551473C2 (ru) * 2011-03-09 2015-05-27 Ниппон Телеграф Энд Телефон Корпорейшн Устройство кодирования видео, способ кодирования видео и программа кодирования видео
US9445089B2 (en) 2011-03-09 2016-09-13 Nippon Telegraph And Telephone Corporation Video encoding device, video encoding method and video encoding program
JP2013165340A (ja) * 2012-02-09 2013-08-22 Sony Corp 画像処理装置と画像処理方法
JP2013172350A (ja) * 2012-02-21 2013-09-02 Fujitsu Ltd 動画像符号化装置及び動画像符号化方法
WO2018190207A1 (ja) * 2017-04-13 2018-10-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10911770B2 (en) 2017-04-13 2021-02-02 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method for selecting the best candidate motion vector
US11425409B2 (en) 2017-04-13 2022-08-23 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11653018B2 (en) 2017-04-13 2023-05-16 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11895316B2 (en) 2017-04-13 2024-02-06 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Also Published As

Publication number Publication date
JPWO2005036887A1 (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
EP0896300B1 (en) Device and method for motion vector detection
US20070098075A1 (en) Motion vector estimating device and motion vector estimating method
CN1106768C (zh) 用于检测运动矢量的方法和装置
US20080170125A1 (en) Method to Stabilize Digital Video Motion
WO2009034492A2 (en) Method, apparatus, and system for line-based motion compensation in video image data
US20050226333A1 (en) Motion vector detecting device and method thereof
US20060008008A1 (en) Method of multi-resolution based motion estimation and recording medium storing program to implement the method
US20070195881A1 (en) Motion vector calculation apparatus
US7599436B2 (en) Method of determining search region of motion vector and motion vector detection apparatus
US20060251171A1 (en) Image coding device and image coding method
US8379725B2 (en) Motion-vector searching method and motion-vector searching apparatus
US20120008685A1 (en) Image coding device and image coding method
KR20070074781A (ko) 프레임율 변환장치
WO2005036887A1 (ja) 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラム
Auberger et al. Digital video stabilization architecture for low cost devices
US6671321B1 (en) Motion vector detection device and motion vector detection method
WO2004064403A1 (en) Efficient predictive image parameter estimation
JPH0923422A (ja) 画像符号化復号化方法
US7852939B2 (en) Motion vector detection method and device of the same
US8184706B2 (en) Moving picture coding apparatus and method with decimation of pictures
JP5197374B2 (ja) 動き推定
KR20030025058A (ko) 완전 탐색블록 정합회로 및 완전 탐색블록 정합방법
JP3094893B2 (ja) 動画像符号化装置
JPH11113003A (ja) 動きベクトル検出装置および動きベクトル検出方法
JPH0614316A (ja) 動きベクトル検出装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005514685

Country of ref document: JP

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
122 Ep: pct application non-entry in european phase