JP2011182181A - Motion vector arithmetic apparatus by block, or method for the same - Google Patents

Motion vector arithmetic apparatus by block, or method for the same Download PDF

Info

Publication number
JP2011182181A
JP2011182181A JP2010044274A JP2010044274A JP2011182181A JP 2011182181 A JP2011182181 A JP 2011182181A JP 2010044274 A JP2010044274 A JP 2010044274A JP 2010044274 A JP2010044274 A JP 2010044274A JP 2011182181 A JP2011182181 A JP 2011182181A
Authority
JP
Japan
Prior art keywords
block
reference frame
motion vector
frame
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010044274A
Other languages
Japanese (ja)
Inventor
Masafumi Nakao
政史 中尾
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.)
Nanao Corp
Original Assignee
Nanao Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanao Corp filed Critical Nanao Corp
Priority to JP2010044274A priority Critical patent/JP2011182181A/en
Publication of JP2011182181A publication Critical patent/JP2011182181A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To perform block matching for a block whose block boundary line is shifted by a half pixel from the boundary between pixels in an intermediate frame. <P>SOLUTION: An extraction unit 7 also extracts a block matching candidate obtained by shifting a block of a first reference block or a second reference block by one pixel so that the block boundary line is located on the boundary between the pixels for blocks of the first and second reference frames, and the block boundary line is set at a position shifted by a half pixel from the boundary between the pixels for a specific block in the intermediate frame in determination of the block matching candidate. A determination unit 9 performs the block matching to the extracted block matching candidate, and determines combination in which difference becomes minimum as a motion vector of the specific block in the intermediate frame. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

この発明は、ブロック別動きベクトル演算装置に関し、特にその精度向上に関する。   The present invention relates to a motion vector computing device for each block, and more particularly to improvement in accuracy.

特許文献1には、対称型動き推定法が開示されている。これは、図1に示すように、生成すべきフレームQを碁盤目のブロックに分けて、特定のブロックB0について、B0を原点として前後画像P1,P2から幾何対象となるような位置のブロックB1、B2を抽出し、差分が最小となる動きベクトルを、ブロックB0の動きベクトルと推定するというものである。   Patent Document 1 discloses a symmetric motion estimation method. As shown in FIG. 1, the frame Q to be generated is divided into grid blocks, and a specific block B0 is located at a block B1 at a position that becomes a geometric object from the preceding and following images P1, P2 with B0 as the origin. , B2 is extracted, and the motion vector having the smallest difference is estimated as the motion vector of the block B0.

対称型動き推定法におけるブロックマッチングの詳細について図2を用いて説明する。図2は、ブロックサイズを4*4画素、探索範囲を12*12画素とした場合である。この場合、前フレーム(0,0)、後フレーム(9,9)のブロックを比較する。つぎに、前フレームおよび後フレームを1つシフトさせた前フレーム(1,0)、後フレーム(8,9)のブロックを比較する。以下、同様に、前フレームおよび後フレームを共に1画素ずつシフトさせてブロックマッチングをおこなう。   Details of block matching in the symmetric motion estimation method will be described with reference to FIG. FIG. 2 shows a case where the block size is 4 * 4 pixels and the search range is 12 * 12 pixels. In this case, the blocks of the previous frame (0, 0) and the subsequent frame (9, 9) are compared. Next, the blocks of the previous frame (1, 0) and the subsequent frame (8, 9) obtained by shifting the previous frame and the subsequent frame by one are compared. Thereafter, similarly, block matching is performed by shifting both the previous frame and the subsequent frame by one pixel.

かかる対称型動き推定において、1/2画素精度でブロックマッチングを行う場合には、図3に示すように、前後フレームそれぞれについて、1/2画素ずらしたブロックデータを生成して、中間フレームにおいて、ずれない位置におけるブロックマッチングを順次、行う。   In such symmetric motion estimation, when performing block matching with ½ pixel accuracy, as shown in FIG. 3, block data shifted by ½ pixel is generated for each of the preceding and following frames, and in the intermediate frame, Block matching is sequentially performed at positions where there is no deviation.

第2528103号公報No. 2528103

しかしながら、上述のように前後フレームそれぞれについて、1/2画素ずらしたブロックデータを生成する手法には、下記のような問題があった。前後フレームにて1/2画素ずらしたブロックデータを生成しなければならない。したがって、通常のブロックよりも一回り大きな領域を抽出する回路が必要なだけでなく、抽出結果から、1/2画素ずらしたブロックデータを生成する生成部が必要となる。さらに、1/2画素ずらしたブロックデータは通常周辺画素の平均を演算することにより生成される。したがって、その分画像ボケが生じる。   However, the method for generating block data shifted by 1/2 pixel for each of the preceding and following frames as described above has the following problems. Block data shifted by 1/2 pixel in the previous and next frames must be generated. Therefore, not only a circuit that extracts a region that is slightly larger than a normal block is required, but also a generation unit that generates block data shifted by 1/2 pixel from the extraction result. Furthermore, block data shifted by 1/2 pixel is usually generated by calculating the average of surrounding pixels. Therefore, image blur occurs accordingly.

この発明は、上記問題を解決し、構成が簡易で、かつ、画像ボケの少ないブロックマッチングが可能なブロック別動きベクトル演算装置またはその方法を提供することを目的とする。   An object of the present invention is to provide a block-by-block motion vector calculation apparatus or method that solves the above-described problems, is simple in configuration, and can perform block matching with little image blur.

(1)本発明にかかるブロック別動きベクトル演算装置は、 第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、A)前記第1参照フレームおよび前記第2参照フレームの画像を記憶する画像記憶手段、B)前記第1参照フレームおよび第2参照フレームについて探索範囲を決定する探索範囲決定手段、C)前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第1参照フレームおよび第2参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出する抽出手段、D)前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、を備え、E)前記抽出手段は、前記第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出する。 (1) A block-specific motion vector calculation device according to the present invention calculates a local motion vector, which is a block-specific motion vector for these intermediate frames, from a first reference frame and a second reference frame. A device, A) image storage means for storing images of the first reference frame and the second reference frame, B) search range determination means for determining a search range for the first reference frame and the second reference frame, C) The image within the search range of the determined first reference frame and the second reference frame is a block composed of predetermined pixels, and the first reference frame and the second reference are centered on a specific block of the intermediate frame. A block matching candidate is a block in which the blocks of the frame are geometrically symmetrical. Extraction means for sequentially extracting, and D) determining means for performing block matching on the extracted block matching candidates and determining a combination having the smallest difference as a motion vector of the specific block in the intermediate frame, E) For the blocks of the first and second reference frames, the extracting means has a block boundary line located at the boundary between the pixel and the pixel, and for the specific block in the intermediate frame, the block boundary line is the pixel and the pixel. Block matching in which the block of the first reference frame and / or the block of the second reference frame is shifted by 2 * (1/2 n ) pixels so as to be set at a position shifted by 1/2 n pixels from the boundary of Candidates are also extracted.

このように、前記第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出することにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から1/2画素ずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。 Thus, for the blocks of the first and second reference frames, the block boundary line is located at the pixel-to-pixel boundary, and for the specific block in the intermediate frame, the block boundary line extends from the pixel-to-pixel boundary. Block matching candidates obtained by shifting the block of the first reference frame and / or the block of the second reference frame by 2 * (1/2 n ) pixels so as to be set at a position shifted by 1/2 n pixels are also obtained. By extracting, block matching can be performed at a position where the block boundary line is shifted by 1/2 n pixels from the boundary between pixels in the intermediate frame. Therefore, highly accurate block matching is possible.

(2)本発明にかかるブロック別動きベクトル演算装置においては、前記抽出手段は、前記第1,第2参照フレームのブロックについて、2*(1/2)精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している。ただし、前記nは整数である。したがって、(1/2)画素精度の生成回路により、(1/2n+1)画素精度のブロックマッチングが可能となる。 (2) In the block-by-block motion vector arithmetic apparatus according to the present invention, the extraction means shifts a pixel that generates 2 * (1/2 n ) -precision block data for the blocks of the first and second reference frames. Block data generating means is included. Where n is an integer. Therefore, block matching with (1/2 n + 1 ) pixel accuracy is enabled by the (1/2 n ) pixel accuracy generation circuit.

(3)本発明にかかるブロック別動きベクトル演算装置においては、前記nは2であり、前記画素ずらしブロックデータ生成手段は、前記第1,第2参照フレームのブロックについて半画素精度のブロックデータを生成する。これにより、1/4画素精度のブロックマッチングが可能となる。   (3) In the motion vector computing unit for each block according to the present invention, the n is 2, and the pixel-shifted block data generating means generates block data with half-pixel accuracy for the blocks of the first and second reference frames. Generate. Thereby, block matching with 1/4 pixel accuracy is possible.

(4)本発明にかかるブロック別動きベクトル演算装置においては、前記nは3であり、前記画素ずらしブロックデータ生成手段は、前記第1,第2参照フレームのブロックについてブロック境界線が画素と画素の境界から1/4画素、1/2画素、3/4画素ずれたブロックデータを生成する。これにより1/8画素精度のブロックマッチングが可能となる。   (4) In the block-specific motion vector calculation apparatus according to the present invention, the n is 3, and the pixel-shifted block data generation means is configured such that a block boundary line is a pixel and a pixel for the blocks of the first and second reference frames. Block data shifted by 1/4 pixel, 1/2 pixel, and 3/4 pixel from the boundary is generated. This enables block matching with 1/8 pixel accuracy.

(5)本発明にかかるブロック別動きベクトル演算方法においては、第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、前記第1参照フレームおよび前記第2参照フレームの画像が与えられると、前記第1参照フレームおよび第2参照フレームについて探索範囲を決定し、前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第1参照フレームおよび第2参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出し、前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するブロック別動きベクトル演算方法において、前記ブロックマッチング候補抽出時に、前記第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出する。 (5) In the block-specific motion vector calculation method according to the present invention, a block-specific motion vector that calculates a local motion vector that is a block-specific motion vector for these intermediate frames from the first reference frame and the second reference frame. In the calculation method, when images of the first reference frame and the second reference frame are given, search ranges are determined for the first reference frame and the second reference frame, and the determined first reference frame and second reference frame are determined. Positions of the first reference frame and the second reference frame that are geometrically symmetric with respect to a specific block of the intermediate frame, with an image within a search range of two reference frames as a block composed of predetermined pixels The relevant blocks are sequentially extracted as block matching candidates, and the extracted In a block-based motion vector calculation method for performing block matching on a lock matching candidate and determining a combination that minimizes a difference as a motion vector of the specific block in the intermediate frame, the first and first 2 For the block of the reference frame, the block boundary line is positioned at the boundary between the pixels, and for the specific block in the intermediate frame, the block boundary line is shifted by 1/2 n pixel from the boundary between the pixels. As set, block matching candidates are also extracted by shifting the block of the first reference frame and / or the block of the second reference frame by 2 * (1/2 n ) pixels.

このように、前記第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出することにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から1/2画素ずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。 Thus, for the blocks of the first and second reference frames, the block boundary line is located at the pixel-to-pixel boundary, and for the specific block in the intermediate frame, the block boundary line extends from the pixel-to-pixel boundary. Block matching candidates obtained by shifting the block of the first reference frame and / or the block of the second reference frame by 2 * (1/2 n ) pixels so as to be set at a position shifted by 1/2 n pixels are also obtained. By extracting, block matching can be performed at a position where the block boundary line is shifted by 1/2 n pixels from the boundary between pixels in the intermediate frame. Therefore, highly accurate block matching is possible.

(6)本発明にかかるブロック別動きベクトル演算装置は、第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、1)前記第1参照フレームおよび前記第2参照フレームの画像を記憶する画像記憶手段、2)前記第1参照フレームおよび第2参照フレームについて探索範囲を決定する探索範囲決定手段、3)前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出する手段であって、前記中間フレームの特定ブロックを中心にして前記第1参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のn倍離れた延長線上に位置する前記第2参照フレームのブロックを前記第1参照フレームについて1画素分ブロックをずらした場合に前記第2参照フレームについてはn画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出手段、4)前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、を備え、5)前記抽出手段は、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第1参照フレームのブロックまたは前記第2参照フレームをずらしたブロックをブロックマッチング候補として抽出する。   (6) A block-specific motion vector calculation apparatus according to the present invention calculates a block-specific motion vector calculation that calculates a local motion vector that is a block-specific motion vector for these intermediate frames from a first reference frame and a second reference frame. 1) image storage means for storing images of the first reference frame and the second reference frame; 2) search range determination means for determining a search range for the first reference frame and the second reference frame; 3) Means for extracting a block composed of predetermined pixels from the determined image within the search range of the first reference frame and the second reference frame, wherein the first block is centered on a specific block of the intermediate frame. When a virtual reference frame having a geometrically symmetrical positional relationship is defined, the intermediate frame and the temporary frame are defined. When the block of the second reference frame located on an extension line that is n times away from the temporal relationship with the reference frame is shifted by one pixel block with respect to the first reference frame, the second reference frame is equivalent to n pixels. Extraction means for moving blocks and extracting them as block matching candidates 4) Perform block matching on the extracted block matching candidates and determine the combination that minimizes the difference as the motion vector of the specific block in the intermediate frame And 5) the extraction means is configured to set the block boundary line in the intermediate frame at a position shifted from a pixel-to-pixel boundary or the block of the first reference frame or the second reference. Blocks with shifted frames are extracted as block matching candidates.

したがって、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれたブロックも、抽出される。これにより、画素と画素の境界からずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。   Therefore, a block in which the block boundary line in the intermediate frame is shifted from the boundary between pixels is also extracted. Thereby, block matching at a position deviated from the boundary between pixels can be performed. Therefore, highly accurate block matching is possible.

(7)本発明にかかるブロック別動きベクトル演算装置においては、前記抽出手段は、小数x精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している、ただし、前記小数xは任意である。したがって、前記中間フレームにおいて、かかる小数x精度よりも小さな量だけずれたブロックマッチングが可能となる。   (7) In the block-specific motion vector arithmetic apparatus according to the present invention, the extraction means includes pixel-shifted block data generation means for generating block data with decimal x precision, wherein the decimal x is arbitrary. is there. Therefore, in the intermediate frame, block matching shifted by an amount smaller than the decimal x precision is possible.

(8)本発明にかかるブロック別動きベクトル演算装置においては、前記抽出手段は、前記第1参照フレームのブロックまたは前記第2参照フレームのずらす時期が同期していないこと、または、前記第2参照フレームのブロックを1画素ずらしたブロックをブロックマッチング候補として抽出することにより、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第1参照フレームのブロックまたは前記第2参照フレームをずらしたブロックをブロックマッチング候補として抽出する。   (8) In the block-by-block motion vector computing device according to the present invention, the extraction means is configured such that the block of the first reference frame or the timing of shifting the second reference frame is not synchronized, or the second reference The block of the first reference frame is set such that the block boundary line in the intermediate frame is set at a position shifted from the boundary between the pixels by extracting a block obtained by shifting the block of the frame by one pixel as a block matching candidate. Alternatively, a block in which the second reference frame is shifted is extracted as a block matching candidate.

したがって、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれたブロックも、抽出される。これにより、画素と画素の境界からずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。   Therefore, a block in which the block boundary line in the intermediate frame is shifted from the boundary between pixels is also extracted. Thereby, block matching at a position deviated from the boundary between pixels can be performed. Therefore, highly accurate block matching is possible.

(9)本発明にかかるブロック別動きベクトル演算方法においては、第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、1)前記第1参照フレームおよび前記第2参照フレームの画像が与えられると、前記第1参照フレームおよび第2参照フレームについて探索範囲を決定するステップ、2)前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出するステップであって、前記中間フレームの特定ブロックを中心にして前記第1参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のn倍離れた延長線上に位置する前記第2参照フレームのブロックを前記第1参照フレームについて1画素分ブロックをずらした場合に前記第2参照フレームについてはn画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出ステップ、3)前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するステップを備え、4)前記抽出ステップでは、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第1参照フレームのブロックまたは前記第2参照フレームの一方のみをずらしたブロックをブロックマッチング候補として抽出する。   (9) In the block-specific motion vector calculation method according to the present invention, a block-specific motion vector that calculates a local motion vector that is a block-specific motion vector for these intermediate frames from the first reference frame and the second reference frame. 1) a step of determining a search range for the first reference frame and the second reference frame when the images of the first reference frame and the second reference frame are given; and 2) the determined first Extracting a block composed of predetermined pixels from an image within a search range of one reference frame and a second reference frame, wherein the first reference frame is geometrically centered on a specific block of the intermediate frame; The intermediate frame and the virtual reference when a virtual reference frame having a symmetric positional relationship is defined When the block of the second reference frame located on the extension line separated by n times the temporal relationship with the frame is shifted by one pixel block for the first reference frame, the block for n pixels for the second reference frame 3) Extraction step for extracting as a block matching candidate, 3) Perform block matching on the extracted block matching candidate, and determine a combination that minimizes the difference as a motion vector of the specific block in the intermediate frame 4) In the extraction step, one of the block of the first reference frame or the second reference frame is set such that a block boundary line in the intermediate frame is set at a position shifted from a pixel-to-pixel boundary. Blocks that are shifted only as block matching candidates Extract.

したがって、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれたブロックも、抽出される。これにより、画素と画素の境界からずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。   Therefore, a block in which the block boundary line in the intermediate frame is shifted from the boundary between pixels is also extracted. Thereby, block matching at a position deviated from the boundary between pixels can be performed. Therefore, highly accurate block matching is possible.

本明細書において、「中間フレーム」とは、第1参照フレームと第2参照フレームの間に位置するフレームを意味する。   In this specification, the “intermediate frame” means a frame located between the first reference frame and the second reference frame.

従来の対称型動き推定を説明する図である。It is a figure explaining the conventional symmetrical motion estimation. 従来の整数精度の対称型動き推定を説明する図である。It is a figure explaining the conventional symmetrical motion estimation of integer precision. 従来の半画素精度の対称型動き推定を説明する図である。It is a figure explaining the conventional symmetrical motion estimation of half pixel precision. ブロック別動きベクトル演算装置1の機能ブロック図である。It is a functional block diagram of the motion vector computing device 1 by block. 本発明において、得られる動きベクトルの概要を示すである。In the present invention, an outline of a motion vector obtained is shown. ブロック別動きベクトル演算装置1の詳細ハード構成を示す図である。It is a figure which shows the detailed hardware constitutions of the motion vector calculating apparatus 1 according to block. 8*8画素の探索範囲の画素座標を示す図である。It is a figure which shows the pixel coordinate of the search range of 8 * 8 pixel. シフトレジスタとPEアレイの関係を示す図である。It is a figure which shows the relationship between a shift register and PE array. 前フレームについてのシフト処理とPE処理のタイムチャートである。It is a time chart of shift processing and PE processing for the previous frame. 後フレームについてのシフト処理とPE処理のタイムチャートである。It is a time chart of the shift process and PE process about a back frame. 本発明における半画素精度の対称型動き推定を説明する図である。It is a figure explaining symmetrical type motion estimation of half pixel accuracy in the present invention. 本発明における半画素精度の対称型動き推定を説明する図である。It is a figure explaining symmetrical type motion estimation of half pixel accuracy in the present invention. 本発明における1/4画素精度の対称型動き推定装置の詳細ハード構成を示す図である。It is a figure which shows the detailed hardware constitutions of the symmetrical motion estimation apparatus of 1/4 pixel precision in this invention. 他の実施形態における中間フレームとの位置関係を示す図である。It is a figure which shows the positional relationship with the intermediate | middle frame in other embodiment.

以下、本発明における実施形態について、図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(1.機能ブロック図について)
ブロック別動きベクトル演算装置1は、図4に示すように、第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、画像記憶手段3、探索範囲決定手段5、抽出手段7、および決定手段9を備えている。
(1. Function block diagram)
As shown in FIG. 4, the block-specific motion vector calculation apparatus 1 calculates a local motion vector, which is a block-specific motion vector for these intermediate frames, from the first reference frame and the second reference frame. An arithmetic unit, which includes an image storage unit 3, a search range determination unit 5, an extraction unit 7, and a determination unit 9.

画像記憶手段3は、前記第1参照フレームおよび前記第2参照フレームの画像を記憶する。探索範囲決定手段5は、前記第1参照フレームおよび第2参照フレームについて探索範囲を決定する。抽出手段7は前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第1参照フレームおよび第2参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出する。抽出手段7は、前記ブロックマッチング候補決定において、前記第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出する。決定手段9は、前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する。 The image storage means 3 stores images of the first reference frame and the second reference frame. Search range determining means 5 determines a search range for the first reference frame and the second reference frame. The extracting means 7 sets the image within the search range of the determined first reference frame and second reference frame as a block composed of predetermined pixels, and centers the specific block of the intermediate frame on the first reference frame and the second reference frame. Blocks in which the blocks of the two reference frames have a geometrically symmetrical positional relationship are sequentially extracted as block matching candidates. In the block matching candidate determination, the extracting unit 7 determines that a block boundary line is located at a pixel-to-pixel boundary for the blocks of the first and second reference frames, and a block boundary for the specific block in the intermediate frame. The block of the first reference frame and / or the block of the second reference frame is set to 2 * (1/2 n ) pixels so that the line is set at a position shifted by 1/2 n pixels from the boundary between the pixels. Block matching candidates that have been shifted are also extracted. The determining unit 9 performs block matching on the extracted block matching candidates, and determines a combination that minimizes the difference as a motion vector of the specific block in the intermediate frame.

このように、抽出手段7が前記第1参照フレームのブロックおよび前記第2参照フレームを同時にずらすだけでなく、いずれか一方のみをずらした候補も、ブロックマッチング候補として抽出することにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から1/2画素ずれたブロックについてのブロックマッチングが可能となる。 In this way, the extraction unit 7 not only shifts the block of the first reference frame and the second reference frame at the same time, but also extracts candidates that are shifted only one of them as block matching candidates, so that Thus, block matching is possible for a block whose block boundary line is shifted by ½ n pixels from the boundary between pixels.

具体的には、例えば、図5に示すように、対称型にシフト処理させる際に、前記第1参照フレームのブロックまたは前記第2参照フレームのいずれか一方のみをずらし、これにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から半画素ずれたブロックについてのブロックマッチングが可能となる
(2.各部の構成について)
ブロック別動きベクトル演算装置1の詳細ブロック図を図6に示す。ブロック別動きベクトル演算装置1は、制御部13,シフトレジスタアレイ15,25,PEアレイ24、最小値検出回路27、SRAM31、およびDRAM33を備えている。DRAM33以外の各部には共通のクロックが与えられることにより同期処理がなされる。DRAM33については、別クロックで同期処理がなされる。
Specifically, for example, as shown in FIG. 5, when the shift process is performed symmetrically, only one of the block of the first reference frame or the second reference frame is shifted, and thereby, in the intermediate frame, Block matching is possible for blocks where the block boundary is shifted by half a pixel from the pixel boundary (2. Configuration of each part)
A detailed block diagram of the block-by-block motion vector computing device 1 is shown in FIG. The block-by-block motion vector computing device 1 includes a control unit 13, shift register arrays 15 and 25, a PE array 24, a minimum value detection circuit 27, an SRAM 31, and a DRAM 33. Synchronous processing is performed by applying a common clock to each unit other than the DRAM 33. The DRAM 33 is synchronized with another clock.

制御部13は、シフトレジスタアレイ15、25に対して、後述するようなシフト制御を行う。また、DRAM33から画像データを読み出してSRAM31に記憶させる処理を行う。   The control unit 13 performs shift control as will be described later on the shift register arrays 15 and 25. Further, the image data is read from the DRAM 33 and stored in the SRAM 31.

DRAM33は、前フレームおよび後フレームの画像データをそれぞれ1フレーム分記憶する。SRAM31は、FIFO方式で、DRAM33から前フレームおよび後フレームの探索範囲分の画像データを記憶する。レジスタアレイ15は、SRAM31から前フレームについて探索範囲のうちの1ブロック分の画像データが与えられると、これを記憶保持し、PEアレイ24に与える。シフトレジスタ25は、後フレームについて探索範囲のうちの1ブロック分の画像データが与えられると、これを記憶保持し、PEアレイ24に与える。   The DRAM 33 stores one frame of image data of the previous frame and the subsequent frame. The SRAM 31 stores image data for the search range of the previous frame and the subsequent frame from the DRAM 33 in a FIFO manner. When the image data for one block in the search range is given to the previous frame from the SRAM 31, the register array 15 stores and holds the image data and gives it to the PE array 24. When the image data for one block in the search range is given to the subsequent frame, the shift register 25 stores and holds the image data and gives it to the PE array 24.

シフトレジスタアレイ15、25は、1ブロックの画像データを1画素ずつシフト処理する。シフト処理により不足したデータは、SRAM31から与えられる。SRAM31から読み出し要求があると、DRAM33はデータを与える。   The shift register arrays 15 and 25 shift one block of image data pixel by pixel. Data lacking due to the shift processing is provided from the SRAM 31. When there is a read request from the SRAM 31, the DRAM 33 provides data.

PEアレイ24は、シフトレジスタ15,25から与えられた各画素の輝度の差分を演算し、1ブロック分の総和を求める。最小値検出回路25は、PEアレイ24からデータが与えられると、既に記憶されている値と比較して、値が小さければそのデータを保持する。   The PE array 24 calculates the luminance difference of each pixel given from the shift registers 15 and 25, and obtains the sum total for one block. When data is given from the PE array 24, the minimum value detection circuit 25 compares the stored value with the stored value and holds the data if the value is small.

(3.動きベクトル演算処理について)
図6に示すシフト処理について詳述する。以下では、探索範囲を8*8画素として、1ブロックを4*4画素とする場合を一例として説明する。
(3. About motion vector calculation processing)
The shift process shown in FIG. 6 will be described in detail. Hereinafter, a case where the search range is 8 * 8 pixels and one block is 4 * 4 pixels will be described as an example.

図7は8*8画素の探索範囲において、各画素を特定する座標を表す。図8に、探索範囲が8*8画素で整数精度と半画素精度のブロックマッチングを同時に行う2並列型におけるシフトレジスタとPEアレイとの接続関係を示す。前フレーム用のシフトレジスタは、シフトレジスタSRF00〜SRF07、SRF10〜SRF17、SRF20〜SRF27、SRF30〜SRF37の4段で構成されており、各段の最終レジスタは、次の段の先頭レジスタと接続されている。これによりシフトレジスタSRF00〜SRF37は直列状態で接続されている。 FIG. 7 shows coordinates specifying each pixel in the search range of 8 * 8 pixels. FIG. 8 shows a connection relationship between a shift register and a PE array in a 2-parallel type in which a search range is 8 * 8 pixels and block matching of integer precision and half-pixel precision is performed simultaneously. The shift register for the previous frame is composed of shift registers SRF00 to SRF07, SRF10 to SRF17, SRF20 to SRF27, and SRF30 to SRF37, and the final register of each stage is connected to the top register of the next stage. ing. Thereby, the shift registers SRF00 to SRF37 are connected in series.

シフトレジスタSRB00〜SRB08、SRB10〜SRB18、SRB20〜SRB28、SRB30〜SRB38の4段で構成されており、各段の最終レジスタは、次の段の先頭レジスタと接続されている。これによりシフトレジスタSRB00〜SRB38は直列状態で接続されている。   The shift registers are SRB00 to SRB08, SRB10 to SRB18, SRB20 to SRB28, and SRB30 to SRB38. The final register of each stage is connected to the first register of the next stage. Thus, the shift registers SRB00 to SRB38 are connected in series.

プロセッシングエレメントPEA00〜PEA03、PEA10〜PEA13、PEA20〜PEA23、PEA30〜PEA33は、整数精度のブロックマッチング用である。プロセッシングエレメントPEB00〜PEB03、PEB10〜PEB13、PEBA20〜PEB23、PEB30〜PEB33は、半画素精度のブロックマッチング用である。   The processing elements PEA00 to PEA03, PEA10 to PEA13, PEA20 to PEA23, and PEA30 to PEA33 are for integer precision block matching. Processing elements PEB00-PEB03, PEB10-PEB13, PEBA20-PEB23, and PEB30-PEB33 are for half-pixel precision block matching.

なお、各プロセッシングエレメントは図示していないが、プロセッシングエレメントPEA00〜PEA03、PEA10〜PEA13、PEA20〜PEA23、PEA30〜PEA33からの出力は、全て接続されて図6に示す最小値検出回路27に与えられ、1ブロック分の差分総和が求められる。図8に示すプロセッシングエレメントPEB00〜PEB03、PEB10〜PEB13、PEBA20〜PEB23、PEB30〜PEB33についても同様である。   Although each processing element is not shown, all outputs from the processing elements PEA00 to PEA03, PEA10 to PEA13, PEA20 to PEA23, and PEA30 to PEA33 are connected to the minimum value detection circuit 27 shown in FIG. The difference sum for one block is obtained. The same applies to the processing elements PEB00 to PEB03, PEB10 to PEB13, PEBA20 to PEB23, and PEB30 to PEB33 shown in FIG.

プロセッシングエレメントPEA00〜PEA03、PEB00〜PEB03とシフトレジスタとの接続関係について説明する。プロセッシングエレメントPEA00は、シフトレジスタSRF00およびSRR34と接続されており、これらの差分を演算する。プロセッシングエレメントPEB01は、シフトレジスタSRF00およびSRR33と接続されており、これらの差分を演算する。シフトレジスタSRF01〜SRF03と、SRR33〜SRR30と、プロセッシングエレメントPEA01〜PEA03およびプロセッシングエレメントPEB01〜PEB03の関係についても同様である。他の段(列)についても同様である。   The connection relationship between the processing elements PEA00 to PEA03 and PEB00 to PEB03 and the shift register will be described. The processing element PEA00 is connected to the shift registers SRF00 and SRR34, and calculates the difference between them. The processing element PEB01 is connected to the shift registers SRF00 and SRR33, and calculates the difference between them. The same applies to the relationship among the shift registers SRF01 to SRF03, SRR33 to SRR30, processing elements PEA01 to PEA03, and processing elements PEB01 to PEB03. The same applies to the other stages (columns).

このように接続されていることから、シフトレジスタSRF37に前フレームの探索範囲のデータが、SRR38に後フレームの探索範囲のデータが順次与えられると、SRF37、SRR38にそれぞれ接続されたシフトレジスタにデータの値が送られる。後述するように所定のシフト回数ごとにプロセッシングエレメントによる比較演算が行われる。各ブロックに該当するプロセッシングエレメントからの差分を総計して、当該ブロックにおける差分総和値が求められる。   Thus, when the data of the search range of the previous frame is sequentially given to the shift register SRF37 and the data of the search range of the subsequent frame is sequentially given to the SRR 38, the data is transferred to the shift registers connected to the SRF 37 and SRR 38, respectively. The value of is sent. As will be described later, a comparison operation by the processing element is performed every predetermined number of shifts. The differences from the processing elements corresponding to each block are summed up to obtain the difference sum value in the block.

図9、図10を用いて、シフト処理とプロセッシングエレメントによる演算処理の関係について説明する。図9は前画面について、図10は後画面について、縦方向がシフトレジスタを配置し、横方向が1クロックごとにデータがシフト処理された場合の各レジスタに記憶される画素の座標を、それぞれ示したものである。図9,図10において座標は、その数値のみ記載している。後フレームは半画素精度のブロックマッチングをおこなうので、ダミーのデータを送る必要がある。したがって、前フレームは後フレームに3クロック分遅れて、シフト処理が開始される。具体的には後フレームのシフトレジスタSRR38に画素(4,7)が記憶される時刻T4で、前フレームのシフトレジスタSRF37に画素(0,0)が記憶される。1クロック進むごとに、順次画素データが転送される。   The relationship between the shift process and the calculation process by the processing element will be described with reference to FIGS. FIG. 9 shows the front screen, and FIG. 10 shows the rear screen. The coordinates of the pixels stored in each register when the shift direction is arranged in the vertical direction and the data is shifted every clock in the horizontal direction are shown respectively. It is shown. In FIG. 9 and FIG. 10, only the numerical values are described as coordinates. Since the subsequent frame performs block matching with half-pixel accuracy, it is necessary to send dummy data. Therefore, the shift process is started for the previous frame with a delay of 3 clocks from the subsequent frame. Specifically, at time T4 when the pixel (4, 7) is stored in the shift register SRR38 of the subsequent frame, the pixel (0, 0) is stored in the shift register SRF37 of the previous frame. Each time the clock advances, the pixel data is transferred sequentially.

時刻Tp1に、前フレーム用のシフトレジスタには、図9に示すように、シフトレジスタSRF00〜SRF03に画素(0,0)〜(3,0)が、シフトレジスタSRF10〜SRF13に、画素(0,1)〜(3,1)が、シフトレジスタSRF20〜SRF23に、画素(0,2)〜(3,2)が、シフトレジスタSRF30〜SRF33に、画素(0,3)〜(3,3)が記憶される。また、時刻Tp1に、後フレーム用のシフトレジスタには、図10に示すように、シフトレジスタSRR34〜SRR31に画素(4,4)〜(7,4)が、シフトレジスタSRR24〜SRR21に、画素(4,5)〜(7,5)が、シフトレジスタSRR14〜SRR11に、画素(4,6)〜(7,6)が、シフトレジスタSRR04〜SRR01に、画素(4,7)〜(7,7)が記憶される。したがって、時刻Tp1で、これらのシフトレジスタに接続されたプロセッシングエレメントPEA00〜PEA03、PEA10〜PEA13、PEA20〜PEA23、PEA30〜PEA33(図8参照)による比較が実行されると、図11Aに示す、前フレームの画素(0,0)〜画素(3,3)のブロックと、後フレーム(4,4)〜(7,7)のブロックのブロックマッチングが行われる。   At time Tp1, as shown in FIG. 9, the shift registers SRF00 to SRF03 include the pixels (0, 0) to (3, 0), and the shift registers SRF10 to SRF13 include the pixels (0 , 1) to (3, 1) are the shift registers SRF20 to SRF23, the pixels (0, 2) to (3, 2) are the shift registers SRF30 to SRF33, and the pixels (0, 3) to (3, 3 ) Is stored. Further, at time Tp1, as shown in FIG. 10, the shift registers for the rear frame include pixels (4, 4) to (7, 4) in shift registers SRR34 to SRR31, and pixels in shift registers SRR24 to SRR21. (4,5) to (7,5) are the shift registers SRR14 to SRR11, the pixels (4,6) to (7,6) are the shift registers SRR04 to SRR01, and the pixels (4,7) to (7 , 7) is stored. Therefore, when the comparison by the processing elements PEA00 to PEA03, PEA10 to PEA13, PEA20 to PEA23, and PEA30 to PEA33 (see FIG. 8) connected to these shift registers is performed at time Tp1, the previous processing shown in FIG. Block matching is performed between the blocks of pixels (0, 0) to (3, 3) in the frame and the blocks of subsequent frames (4, 4) to (7, 7).

また、時刻Tp1に、後フレーム用のシフトレジスタには、図10に示すように、シフトレジスタSRR33〜SRR30に画素(5,4)〜(NA)が、シフトレジスタSRR23〜SRR20に、画素(5,5)〜(NA)が、シフトレジスタSRR13〜SRR10に、画素(5,6)〜(NA)が、シフトレジスタSRR03〜SRR00に、画素(5,7)〜(NA)が記憶される。したがって、時刻Tp1で、これらのシフトレジスタに接続されたプロセッシングエレメントPEB00〜PEB03、PEB10〜PEB13、PEBA20〜PEB23、PEB30〜PEB33(図8参照)による比較が実行されると、図11Bに示す、前フレームの画素(0,0)〜画素(3,3)のブロックと、後フレーム(5,4)〜(8,7)の比較が行われる。これにより、中間フレームにて半画素ずれた動きベクトルについてのブロックマッチングが可能となる。   At time Tp1, as shown in FIG. 10, pixels (5, 4) to (NA) are included in the shift registers SRR33 to SRR30, and pixels (5) are included in the shift registers SRR23 to SRR20, as shown in FIG. , 5) to (NA), the pixels (5, 6) to (NA) are stored in the shift registers SRR13 to SRR10, and the pixels (5, 7) to (NA) are stored in the shift registers SRR03 to SRR00. Therefore, when the comparison by the processing elements PEB00 to PEB03, PEB10 to PEB13, PEBA20 to PEB23, and PEB30 to PEB33 (see FIG. 8) connected to these shift registers is performed at time Tp1, the previous processing shown in FIG. The block of pixels (0, 0) to pixels (3, 3) in the frame is compared with the subsequent frames (5, 4) to (8, 7). Thereby, block matching can be performed for a motion vector shifted by half a pixel in an intermediate frame.

時刻Tp1からさらに1クロック進んだ時刻Tp2では、前フレーム用のシフトレジスタには、図9に示すように、シフトレジスタSRF00〜SRF03に画素(1,0)〜(4,0)が、シフトレジスタSRF10〜SRF13に、画素(1,1)〜(4,1)が、シフトレジスタSRF20〜SRF23に、画素(1,2)〜(4,2)が、シフトレジスタSRF30〜SRF33に、画素(1,3)〜(4,3)が記憶される。また、時刻Tp1に、後フレーム用のシフトレジスタには、図10に示すように、シフトレジスタSRR34〜SRR31に画素(3,4)〜(6,4)が、シフトレジスタSRR24〜SRR21に、画素(3,5)〜(6,5)が、シフトレジスタSRR14〜SRR11に、画素(3,6)〜(6,6)が、シフトレジスタSRR04〜SRR01に、画素(3,7)〜(6,7)が記憶される。したがって、時刻Tp2で、プロセッシングエレメントPEA00〜PEA03、PEA10〜PEA13、PEA20〜PEA23、PEA30〜PEA33(図8参照)による比較が実行されると、図11Cに示す、前フレームの画素(1,0)〜画素(4,3)のブロックと、後フレーム(3,4)〜(6,7)のブロックのブロックマッチングが行われる。 また、時刻Tp1に、後フレーム用のシフトレジスタには、図10に示すように、シフトレジスタSRR33〜SRR30に画素(4,4)〜(7,4)が、シフトレジスタSRR24〜SRR20に、画素(4,5)〜(7,5)が、シフトレジスタSRR14〜SRR10に、画素(4,6)〜(7,6)が、シフトレジスタSRR04〜SRR00に、画素(4,7)〜(7,7)が記憶される。したがって、時刻Tp2で、プロセッシングエレメントPEB00〜PEB03、PEB10〜PEB13、PEBA20〜PEB23、PEB30〜PEB33(図8参照)による比較が実行されると、図11Dに示す、前フレームの画素(1,0)〜画素(4,3)のブロックと、後フレーム(4,4)〜(7,7)の比較が行われる。これにより、中間フレームにて半画素ずれた動きベクトルについてのブロックマッチングが可能となる。以下、時刻Tp3についても、図11E,図11Fに示すように、ブロックマッチングがおこなわれる。時刻Tp4についても同様である。時刻Tp4の後は、後ブロックのシフトレジスタについては、5クロックのシフト演算がおこなわれる。前ブロックのシフトレジスタについては、4クロックのシフト演算が行われる。これにより、図8において、1ライン分ずれたことになる。具体的には、時刻Tp11に、前フレーム用のシフトレジスタには、図9に示すように、シフトレジスタSRF00〜SRF03に画素(0,1)〜(3,1)が、シフトレジスタSRF10〜SRF13に、画素(0,2)〜(3,2)が、シフトレジスタSRF20〜SRF23に、画素(0,3)〜(3,3)が、シフトレジスタSRF30〜SRF33に、画素(0,4)〜(3,4)が記憶される。また、時刻Tp11に、後フレーム用のシフトレジスタには、図10に示すように、シフトレジスタSRR34〜SRR31に画素(4,3)〜(7,3)が、シフトレジスタSRR24〜SRR21に、画素(4,4)〜(7,4)が、シフトレジスタSRR14〜SRR11に、画素(4,5)〜(7,5)が、シフトレジスタSRR04〜SRR01に、画素(4,6)〜(7,6)が記憶される。したがって、時刻Tp11で、プロセッシングエレメントPEA00〜PEA03、PEA10〜PEA13、PEA20〜PEA23、PEA30〜PEA33(図8参照)による比較が実行されると、図12Aに示す、前フレームの画素(0,1)〜画素(3,4)のブロックと、後フレーム(4,3)〜(7,6)のブロックのブロックマッチングが行われる。   At time Tp2, which is one clock further from time Tp1, as shown in FIG. 9, pixels (1, 0) to (4, 0) are included in shift registers SRF00 to SRF03 as shift registers for the previous frame. SRF10 to SRF13 include pixels (1,1) to (4,1), shift registers SRF20 to SRF23, pixels (1,2) to (4,2), shift registers SRF30 to SRF33, pixel (1 , 3) to (4, 3) are stored. Further, at time Tp1, as shown in FIG. 10, the shift registers for the subsequent frames include pixels (3, 4) to (6, 4) in the shift registers SRR34 to SRR31 and pixels in the shift registers SRR24 to SRR21. (3, 5) to (6, 5) are the shift registers SRR14 to SRR11, the pixels (3, 6) to (6, 6) are the shift registers SRR04 to SRR01, and the pixels (3, 7) to (6 , 7) is stored. Therefore, when the comparison by the processing elements PEA00 to PEA03, PEA10 to PEA13, PEA20 to PEA23, and PEA30 to PEA33 (see FIG. 8) is performed at time Tp2, the pixel (1,0) of the previous frame shown in FIG. Block matching is performed between the block of the pixel (4, 3) and the blocks of the subsequent frames (3, 4) to (6, 7). Further, at time Tp1, as shown in FIG. 10, the shift registers for the rear frame include pixels (4, 4) to (7, 4) in shift registers SRR33 to SRR30, and pixels in shift registers SRR24 to SRR20. (4,5) to (7,5) are the shift registers SRR14 to SRR10, the pixels (4,6) to (7,6) are the shift registers SRR04 to SRR00, and the pixels (4,7) to (7 , 7) is stored. Therefore, when the comparison by the processing elements PEB00 to PEB03, PEB10 to PEB13, PEBA20 to PEB23, and PEB30 to PEB33 (see FIG. 8) is executed at time Tp2, the pixel (1,0) of the previous frame shown in FIG. The block of pixel (4, 3) and the subsequent frames (4, 4) to (7, 7) are compared. Thereby, block matching can be performed for a motion vector shifted by half a pixel in an intermediate frame. Hereinafter, also at time Tp3, as shown in FIGS. 11E and 11F, block matching is performed. The same applies to time Tp4. After time Tp4, a shift operation of 5 clocks is performed for the shift register of the subsequent block. For the shift register of the previous block, a shift operation of 4 clocks is performed. As a result, the line is shifted by one line in FIG. Specifically, at time Tp11, as shown in FIG. 9, the shift registers SRF00 to SRF03 include pixels (0, 1) to (3, 1) as shift registers SRF10 to SRF13. In addition, the pixels (0, 2) to (3, 2) are included in the shift registers SRF20 to SRF23, the pixels (0, 3) to (3, 3) are included in the shift registers SRF30 to SRF33, and the pixel (0, 4). ~ (3, 4) are stored. Further, at time Tp11, as shown in FIG. 10, the shift registers for the rear frame include pixels (4, 3) to (7, 3) in shift registers SRR34 to SRR31, and pixels in shift registers SRR24 to SRR21. (4,4) to (7,4) are the shift registers SRR14 to SRR11, the pixels (4,5) to (7,5) are the shift registers SRR04 to SRR01, and the pixels (4,6) to (7 , 6) is stored. Therefore, when the comparison by the processing elements PEA00 to PEA03, PEA10 to PEA13, PEA20 to PEA23, and PEA30 to PEA33 (see FIG. 8) is executed at time Tp11, the pixel (0, 1) of the previous frame shown in FIG. Block matching of the block of .about.pixel (3, 4) and the block of subsequent frames (4, 3) to (7, 6) is performed.

また、時刻Tp11に、後フレーム用のシフトレジスタには、図10に示すように、シフトレジスタSRR33〜SRR30に画素(5,3)〜(NA)が、シフトレジスタSRR24〜SRR20に、画素(5,4)〜(NA)が、シフトレジスタSRR14〜SRR10に、画素(5,5)〜(NA)が、シフトレジスタSRR04〜SRR00に、画素(5,6)〜(NA)が記憶される。したがって、時刻Tp11で、プロセッシングエレメントによる比較が実行されると、図12Bに示す、前フレームの画素(0,1)〜画素(3,4)のブロックと、後フレーム(5,3)〜(8,6)の比較が行われる。これにより、中間フレームにて半画素ずれた動きベクトルについてのブロックマッチングが可能となる。以下、時刻Tp12〜Tp14についても同様に、ブロックマッチングが行われる。その後、時刻Tp4の場合と同様に、時刻Tp14の後は、後ブロックのシフトレジスタについては、5クロックのシフト演算がおこなわれ、前ブロックのシフトレジスタについては、4クロックのシフト演算が行われる。   Further, at time Tp11, as shown in FIG. 10, the shift registers for the subsequent frame include pixels (5, 3) to (NA) in the shift registers SRR33 to SRR30, and pixels (5) in the shift registers SRR24 to SRR20. , 4) to (NA), the pixels (5, 5) to (NA) are stored in the shift registers SRR14 to SRR10, and the pixels (5, 6) to (NA) are stored in the shift registers SRR04 to SRR00. Therefore, when the comparison by the processing element is executed at time Tp11, the block of the previous frame pixel (0, 1) to pixel (3, 4) and the rear frame (5, 3) to ( A comparison of 8,6) is made. Thereby, block matching can be performed for a motion vector shifted by half a pixel in an intermediate frame. Thereafter, block matching is performed in the same manner at times Tp12 to Tp14. Thereafter, similarly to the case of time Tp4, after time Tp14, a shift operation of 5 clocks is performed for the shift register of the subsequent block, and a shift operation of 4 clocks is performed for the shift register of the previous block.

かかる処理を繰り返すことにより、探索範囲内のデータについて半画素精度のブロックマッチングをも行われる。   By repeating such processing, block matching with half-pixel accuracy is also performed on the data within the search range.

このように探索範囲メモリからのブロックの読み出しについて、前フレームまたは後フレームを1画素分にずらして読み出すことにより、前フレーム、後フレームについて半画素ずらしたブロック画像の補間生成をすることなく、中間フレームに対する半画素精度の動きベクトルが得られる。また、従来の半画素精度の動きベクトルは、前フレーム、後フレームについて補間によるブロック画像を生成しているため、画像ボケが生じ、これにより動きベクトル精度が低下するおそれがある。本実施形態においては、かかる問題を解消することができる。   As described above, the block is read from the search range memory by shifting the previous frame or the subsequent frame by one pixel, so that the intermediate image is generated without interpolating the block image shifted by a half pixel for the previous frame and the subsequent frame. A half-pixel motion vector for the frame is obtained. In addition, since the conventional half-pixel motion vector generates block images by interpolation for the previous frame and the subsequent frame, image blurring may occur, which may reduce the motion vector accuracy. In the present embodiment, such a problem can be solved.

得られた動きベクトルについては、中間フレームでは半画素ずれた位置ではなく、整数精度のブロックにおける動きベクトルとしてもよい。かかる処理によっても、保管するフレームのブロック位置は半画素ずれるが、微小なずれであり、また、もともと前フレーム、後フレームについて補間によるブロック画像に基づく補間に比べると、かえって精度よく動きベクトルが得られる場合もあるからである。   About the obtained motion vector, it is good also as a motion vector in the block of integer precision instead of the position which shifted | deviated the half pixel in the intermediate | middle frame. Even with such processing, the block position of the frame to be stored is shifted by a half pixel, but it is a slight shift, and the motion vector can be obtained with higher accuracy than the interpolation based on the block image by interpolation for the previous frame and the subsequent frame. This is because there are cases where it is done.

(4.他の実施形態)
本実施形態においては、後フレームを1画素分x方向にずらした場合について説明したが、y方向にずらすようにしてもよい。また、y方向には半画素ずらした位置での比較は行っていないが、これも行うようにしてもよい。また、後フレームではなく、前フレームをずらすようにしてもよい。
(4. Other embodiments)
In the present embodiment, the case where the rear frame is shifted in the x direction by one pixel has been described, but it may be shifted in the y direction. Further, although comparison is not performed at a position shifted by half a pixel in the y direction, this may also be performed. Further, not the rear frame but the previous frame may be shifted.

また、本実施形態においては、第1参照フレームおよび第2参照フレームについて、半画素ずらしたブロック画像を生成することなく、中間フレームにおいて半画素精度のブロックマッチングを行っている。したがって、半画素ずらしたブロック画像生成部を設けることにより、1/4精度のブロックマッチングが可能となる。図13に1/4画素精度の場合の、ハード構成を示す。1/2画素精度演算器51および、最小値検出回路53,55から得られた値のうち、最小値を選択するセレクタ61を有する点で図6と異なる。   Further, in the present embodiment, block matching with half pixel accuracy is performed in the intermediate frame without generating block images shifted by half pixels for the first reference frame and the second reference frame. Therefore, by providing a block image generation unit shifted by half a pixel, block matching with ¼ accuracy becomes possible. FIG. 13 shows a hardware configuration in the case of 1/4 pixel accuracy. It differs from FIG. 6 in that it has a selector 61 for selecting the minimum value among the values obtained from the 1/2 pixel accuracy calculator 51 and the minimum value detection circuits 53 and 55.

すなわち、第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出することができる。ここで、nは1,2・・・の自然数である。 That is, for the blocks of the first and second reference frames, the block boundary line is located at the boundary between the pixels, and for the specific block in the intermediate frame, the block boundary line is ½ from the boundary between the pixels. Extracting block matching candidates by shifting the block of the first reference frame and / or the block of the second reference frame by 2 * (1/2 n ) pixels so as to be set at a position shifted by n pixels. Can do. Here, n is a natural number of 1, 2,.

本実施形態においては、中間フレームに対する動きベクトルを決定する装置に適用した場合について説明したが、得られた動きベクトルを用いて、動き補償をするようにしてもよい。   In the present embodiment, the case where the present invention is applied to an apparatus for determining a motion vector for an intermediate frame has been described. However, motion compensation may be performed using the obtained motion vector.

本実施形態においては、探索範囲8*8画素、1ブロック4*4である場合を例として説明したが、これに限定されるものではない。   In the present embodiment, the case where the search range is 8 * 8 pixels and 1 block 4 * 4 has been described as an example, but the present invention is not limited to this.

本実施形態においては2並列型である場合について説明したが、4並列型など並列処理については特に限定されない。また、シフトレジスタとプロセッシングエレメントとについて、シストリックアレイ型で構成することもできる。   In the present embodiment, the case of the 2-parallel type has been described, but parallel processing such as a 4-parallel type is not particularly limited. Further, the shift register and the processing element can be configured as a systolic array type.

本実施形態においては、1画素ずつシフト処理する場合について説明したが、複数まとめてシフトするなど、シフト演算処理の仕方については特に限定されない。   In the present embodiment, the case where the shift process is performed pixel by pixel has been described, but the method of the shift calculation process is not particularly limited, such as shifting a plurality of pixels at once.

また、本実施形態においては、第1の参照フレームと中間フレームまでと、第2の参照フレームと中間フレームまでとが時間的に同じ場合、すなわち、第1の参照フレームと第2の参照フレームとが、中間フレームに対して時間的に幾何学対称である場合を例として説明した。しかし、これに限定されず、第1の参照フレームと中間フレームまでと、第2の参照フレームと中間フレームまでが時間的に異なり、この結果、第2の参照フレームが、第1の参照フレームと中間フレームに対して時間的に幾何学対称である仮想参照フレームの延長線上に位置する場合であってもよい。   In this embodiment, when the first reference frame and the intermediate frame are temporally the same as the second reference frame and the intermediate frame, that is, the first reference frame and the second reference frame As an example, the case where is geometrically symmetrical with respect to the intermediate frame has been described. However, the present invention is not limited to this, and the first reference frame and the intermediate frame are temporally different from the second reference frame and the intermediate frame. As a result, the second reference frame is different from the first reference frame. It may be located on an extension line of a virtual reference frame that is geometrically symmetrical with respect to the intermediate frame.

第2の参照フレームが、第1の参照フレームと中間フレームに対して時間的に幾何学対称である仮想参照フレームの延長線上に位置するとは、たとえば、中間フレームが時刻t=0として、前フレームが時刻t=-1、後フレームがt=2であるような場合である。この場合、前記仮想参照フレームは、時刻t=1となる。かかる対称型探索では、前フレームの探索位置が中間フレームに対して、(1,1)ベクトルずれる場合、後フレームでは(-2,-2)ずらすことになる。具体的には、例えば、前フレームを(1,1)ベクトルずらすとともに、さらに、後フレームを(-2,-2)ベクトルずらした場合の組み合わせ候補を演算するだけでなく、前フレームだけを(1,1)ベクトルずらした場合の組み合わせ候補または、前フレームずらすことなく、後フレームだけを(-2,-2)ベクトルずらした場合の組み合わせ候補を候補として抽出することとなる。このように仮想参照フレームとの関係で、時間的に整数倍離れている関係にある場合についても同様に適用することができる。   The second reference frame is located on the extension line of the virtual reference frame that is geometrically symmetrical in time with respect to the first reference frame and the intermediate frame. For example, when the intermediate frame is time t = 0, the previous frame Is the time t = -1, and the subsequent frame is t = 2. In this case, the virtual reference frame is time t = 1. In such a symmetric search, if the search position of the previous frame is shifted by (1,1) vector with respect to the intermediate frame, it is shifted by (−2, −2) in the subsequent frame. Specifically, for example, in addition to shifting the previous frame by (1,1) vectors and further calculating the combination candidate when the subsequent frame is shifted by (-2, -2) vectors, 1,1) A combination candidate when the vector is shifted or a combination candidate when only the subsequent frame is shifted by (−2, −2) vector without shifting the previous frame is extracted as a candidate. In this way, the present invention can be similarly applied to a case where the relationship with the virtual reference frame is a relationship that is separated by an integer multiple in time.

前記第1参照フレームおよび第2参照フレームからの時間的距離が異なる場合について図14を用いて説明する。中間フレームfcの特定ブロックbxを中心にして第1参照フレームf1が幾何学的に対称な位置関係である仮想参照フレームfkを定義した場合に、中間フレームfcと仮想参照フレームfkとの時間的関係のn倍離れた延長線上に第2参照フレームf2が位置する場合であってもよい。この場合、前記第1参照フレームについて1画素分ブロックをずらした場合に前記第2参照フレームについてはn画素分ブロックを移動させるようにすればよい。また、マッチング候補については、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第1参照フレームのブロックまたは前記第2参照フレームの一方のみをずらしたブロックを抽出すればよい。たとえば、中間フレームがt=0、第1参照フレームがt=-1、第2参照フレームがt=2である場合には、t=1である仮想対象フレームfkを定義し、これの延長線上に第2参照フレームのブロックが位置するように、順次抽出演算処理を行えばよい。   A case where temporal distances from the first reference frame and the second reference frame are different will be described with reference to FIG. The temporal relationship between the intermediate frame fc and the virtual reference frame fk when the virtual reference frame fk is defined in which the first reference frame f1 is geometrically symmetrical with respect to the specific block bx of the intermediate frame fc. The second reference frame f2 may be located on an extension line separated by n times. In this case, when the block for one pixel is shifted for the first reference frame, the block for n pixels may be moved for the second reference frame. For the matching candidate, only one of the block of the first reference frame or the second reference frame is shifted so that the block boundary line in the intermediate frame is set at a position shifted from the boundary between the pixels. What is necessary is just to extract a block. For example, when the intermediate frame is t = 0, the first reference frame is t = −1, and the second reference frame is t = 2, a virtual target frame fk where t = 1 is defined, The extraction calculation process may be sequentially performed so that the block of the second reference frame is located at the same position.

なお、このような中間フレームまでの時間的距離が異なる場合には、対称型探索を行うと、前画面の探索位置が中間画像に対して、(1,1)ベクトルずれる場合、後画面では(-2,-2)ずれるようにブロック候補が抽出される。   When the temporal distance to such an intermediate frame is different, if a symmetric search is performed, if the search position of the previous screen is shifted by (1,1) vectors with respect to the intermediate image, -2, -2) Block candidates are extracted so as to be shifted.

このように、仮想参照フレームとの関係で、時間的に整数倍離れている関係にある場合に、ずらすタイミングを異ならすだけでなく、ずらす画素量を変更することもできる。具体的には、例えば、後フレームだけを(-1,-1)ベクトルずらした場合の組み合わせ候補、後フレームを(-2,-1)ベクトルずらした場合の組み合わせ候補を抽出するのである。   As described above, in the case of the relationship with the virtual reference frame that is separated by an integer multiple in time, not only the shifting timing but also the shifting pixel amount can be changed. Specifically, for example, combination candidates when only the subsequent frame is shifted by (-1, -1) vectors and combination candidates when the subsequent frame is shifted by (-2, -1) vectors are extracted.

ずらすタイミングおよびずらす量を共に変更するようにしてもよい。   You may make it change both the timing to shift, and the amount to shift.

なお、前フレームと後フレームの時間的な距離の関係で、ずらした画素分で中間フレームにおけるずれ量は決まることとなる。したがって、所望のずれ量の中間フレームを望む場合に、参照対象フレームとして決定する前フレームおよび後フレームの組み合わせを決定するようにすればよい。例えば、中間画像にて2/3画素ずれたマッチング候補を得たい場合には、上記の例で、前フレームはそのままで、後フレームを1画像分をずらせばよいし、中間画像にて1/3画素ずれるマッチング候補を得たい場合には、後フレームはそのままで前フレームをずらせばよい。このように、フレーム間の時間的距離から、ずれたブロックマッチング候補を抽出することができる。   Note that the shift amount in the intermediate frame is determined by the shifted pixels due to the temporal distance relationship between the previous frame and the subsequent frame. Therefore, when an intermediate frame with a desired shift amount is desired, the combination of the previous frame and the subsequent frame determined as the reference frame may be determined. For example, when it is desired to obtain a matching candidate shifted by 2/3 pixels in the intermediate image, in the above example, the previous frame is left as it is, and the subsequent frame is shifted by one image. When it is desired to obtain matching candidates that are shifted by 3 pixels, the previous frame may be shifted without changing the subsequent frame. In this way, a shifted block matching candidate can be extracted from the temporal distance between frames.

なお、上記実施形態においては、画素ずらしブロックデータ生成手段は、2*(1/2)画素精度のブロックデータを生成する場合について説明したが、小数x画素精度のブロックデータを生成するずらし画素生成手段を備えるようにしてもよい。本件発明では、前フレームまたは後フレームのいずれかをずらしたブロックマッチング候補を抽出するので、前記ずらし画素生成手段よりも細かな位置におけるブロックマッチングが可能となる。 In the above-described embodiment, the pixel shifted block data generation unit has been described as generating block data with 2 * (1/2 n ) pixel accuracy. However, shifted pixels that generate block data with decimal x pixel accuracy are described. You may make it provide a production | generation means. In the present invention, since block matching candidates are extracted by shifting either the previous frame or the subsequent frame, block matching at a position finer than the shifted pixel generation means is possible.

また、図14における説明では、第1参照フレームを前フレーム、第2参照フレームを後フレームである場合について説明したが、逆であってもよい。   In the description of FIG. 14, the case where the first reference frame is the previous frame and the second reference frame is the subsequent frame has been described.

上記実施形態においては、各ブロックで行っているアルゴリズムを、ハードウェア記述言語(Hardware Description Language)で記述することにより、各ブロックを構成すればよい。   In the above embodiment, each block may be configured by describing an algorithm performed in each block in a hardware description language.

上記実施形態においては、図4に示す機能を実現するために、並列処理を可能とするために、全てをハードウェア処理する場合について説明した。しかし、これに限定されず、一部をソフトウェアによって実現してもよい。なお、その場合、プログラムの一部の処理を、オペレーティングシステム(OS)にさせるようにしてもよい。   In the above embodiment, a case has been described in which all hardware processing is performed to enable parallel processing in order to realize the functions shown in FIG. However, the present invention is not limited to this, and a part thereof may be realized by software. In this case, a part of the program may be processed by an operating system (OS).

Claims (9)

第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、
前記第1参照フレームおよび前記第2参照フレームの画像を記憶する画像記憶手段、
前記第1参照フレームおよび第2参照フレームについて探索範囲を決定する探索範囲決定手段、
前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第1参照フレームが、前記第2参照フレームのブロックと幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出する抽出手段、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、
を備え、
前記抽出手段は、前記第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出すること、
を特徴とするブロック別動きベクトル演算装置。
A block-by-block motion vector calculation device that calculates a local motion vector, which is a block-by-block motion vector for these intermediate frames, from a first reference frame and a second reference frame,
Image storage means for storing images of the first reference frame and the second reference frame;
Search range determining means for determining a search range for the first reference frame and the second reference frame;
The image within the search range of the determined first reference frame and the second reference frame is a block composed of predetermined pixels, and the first reference frame centered on a specific block of the intermediate frame is the second reference. An extraction means for sequentially extracting blocks that are geometrically symmetrical to the blocks of the frame as block matching candidates;
A determination unit that performs block matching on the extracted block matching candidates and determines a combination that minimizes a difference as a motion vector of the specific block in the intermediate frame;
With
For the blocks of the first and second reference frames, the extracting means is such that a block boundary line is located at a pixel-pixel boundary, and for a specific block in the intermediate frame, the block boundary line is a pixel-pixel boundary. Block matching candidates obtained by shifting the block of the first reference frame and / or the block of the second reference frame by 2 * (1/2 n ) pixels so as to be set at a position shifted by 1/2 n pixels from Extracting also,
A block-by-block motion vector computing device.
請求項1のブロック別動きベクトル演算装置において、
前記抽出手段は、前記第1,第2参照フレームのブロックについて、2*(1/2)精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している、
ただし、前記nは整数である、
を特徴とするブロック別動きベクトル演算装置。
In the motion vector computing device according to block of claim 1,
The extraction means includes pixel shifted block data generation means for generating block data with 2 * (1/2 n ) accuracy for the blocks of the first and second reference frames.
Where n is an integer,
A block-by-block motion vector computing device.
請求項2のブロック別動きベクトル演算装置において、
前記nは2であり、前記画素ずらしブロックデータ生成手段は、前記第1,第2参照フレームのブロックについて半画素精度のブロックデータを生成すること、
を特徴とするブロック別動きベクトル演算装置。
The motion vector computing device for each block according to claim 2,
The n is 2, and the pixel-shifted block data generation means generates half-pixel precision block data for the blocks of the first and second reference frames;
A block-by-block motion vector computing device.
請求項1のブロック別動きベクトル演算装置において、
前記nは3であり、
前記画素ずらしブロックデータ生成手段は、前記第1,第2参照フレームのブロックについてブロック境界線が画素と画素の境界から1/4画素、1/2画素、3/4画素ずれたブロックデータを生成すること、
を特徴とするブロック別動きベクトル演算装置。
In the motion vector computing device according to block of claim 1,
N is 3;
The pixel-shifted block data generating means generates block data in which the block boundary line is shifted by 1/4 pixel, 1/2 pixel, and 3/4 pixel from the pixel-to-pixel boundary for the blocks of the first and second reference frames. To do,
A block-by-block motion vector computing device.
第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、
前記第1参照フレームおよび前記第2参照フレームの画像が与えられると、前記第1参照フレームおよび第2参照フレームについて探索範囲を決定し、
前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第1参照フレームおよび第2参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出し、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するブロック別動きベクトル演算方法において、
前記ブロックマッチング候補抽出時に、前記第1,第2参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から1/2画素ずれた位置に設定されるように、前記第1参照フレームのブロックおよび/または前記第2参照フレームのブロックを2*(1/2)画素分ずらしたブロックマッチング候補をも抽出すること、
を特徴とするブロック別動きベクトル演算方法。
A block-specific motion vector calculation method for calculating a local motion vector, which is a block-specific motion vector for these intermediate frames, from a first reference frame and a second reference frame,
Given the images of the first reference frame and the second reference frame, determine a search range for the first reference frame and the second reference frame;
The image within the search range of the determined first reference frame and second reference frame is a block composed of predetermined pixels, and the first reference frame and the second reference frame are centered on a specific block of the intermediate frame. Blocks in which the blocks are geometrically symmetric are sequentially extracted as block matching candidates,
In the motion vector calculation method for each block, block matching is performed on the extracted block matching candidates, and a combination that minimizes the difference is determined as a motion vector of the specific block in the intermediate frame.
At the time of extracting the block matching candidate, the block boundary line is located at the boundary between the pixel and the pixel for the blocks of the first and second reference frames, and the block boundary line is the pixel and pixel for the specific block in the intermediate frame. Block matching in which the block of the first reference frame and / or the block of the second reference frame is shifted by 2 * (1/2 n ) pixels so as to be set at a position shifted by 1/2 n pixels from the boundary of Extracting candidates,
A block-by-block motion vector calculation method.
第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、
前記第1参照フレームおよび前記第2参照フレームの画像を記憶する画像記憶手段、
前記第1参照フレームおよび第2参照フレームについて探索範囲を決定する探索範囲決定手段、
前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出する手段であって、前記中間フレームの特定ブロックを中心にして前記第1参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のn倍離れた延長線上に位置する前記第2参照フレームのブロックを前記第1参照フレームについて1画素分ブロックをずらした場合に前記第2参照フレームについてはn画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出手段、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、
を備え、
前記抽出手段は、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第1参照フレームのブロックまたは前記第2参照フレームをずらしたブロックをブロックマッチング候補として抽出すること、
を特徴とするブロック別動きベクトル演算装置。
A block-by-block motion vector calculation device that calculates a local motion vector, which is a block-by-block motion vector for these intermediate frames, from a first reference frame and a second reference frame,
Image storage means for storing images of the first reference frame and the second reference frame;
Search range determining means for determining a search range for the first reference frame and the second reference frame;
Means for extracting a block composed of predetermined pixels from the determined image within the search range of the first reference frame and the second reference frame, the first reference frame centering on a specific block of the intermediate frame; Block of the second reference frame located on an extension line separated by n times the temporal relationship between the intermediate frame and the virtual reference frame when defining a virtual reference frame having a geometrically symmetrical positional relationship Extraction means for moving the block by n pixels for the second reference frame and extracting it as a block matching candidate when the block is shifted by 1 pixel for the first reference frame,
A determination unit that performs block matching on the extracted block matching candidates and determines a combination that minimizes a difference as a motion vector of the specific block in the intermediate frame;
With
The extraction means sets a block of the first reference frame or a block shifted from the second reference frame as a block matching candidate so that a block boundary line in the intermediate frame is set at a position shifted from a pixel boundary. Extracting as a
A block-by-block motion vector computing device.
請求項6のブロック別動きベクトル演算装置において、
前記抽出手段は、小数x精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している、
ただし、前記小数xは任意である、
を特徴とするブロック別動きベクトル演算装置。
The motion vector computing device for each block according to claim 6,
The extraction means includes pixel shifted block data generation means for generating decimal x-precision block data.
However, the decimal number x is arbitrary,
A block-by-block motion vector computing device.
請求項6のブロック別動きベクトル演算装置において、
前記抽出手段は、前記第1参照フレームのブロックまたは前記第2参照フレームのずらす時期が同期していないこと、または、前記第2参照フレームのブロックを1画素ずらしたブロックをブロックマッチング候補として抽出することにより、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第1参照フレームのブロックまたは前記第2参照フレームをずらしたブロックをブロックマッチング候補として抽出すること、
を特徴とするブロック別動きベクトル演算装置。
The motion vector computing device for each block according to claim 6,
The extraction unit extracts, as a block matching candidate, a block in which the block of the first reference frame or the second reference frame is not synchronized, or a block in which the block of the second reference frame is shifted by one pixel. Thus, the block of the first reference frame or the block shifted from the second reference frame is extracted as a block matching candidate so that the block boundary line in the intermediate frame is set at a position shifted from the pixel boundary. To do,
A block-by-block motion vector computing device.
第1参照フレームおよび第2参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、下記ステップを備えたこと、
前記第1参照フレームおよび前記第2参照フレームの画像が与えられると、前記第1参照フレームおよび第2参照フレームについて探索範囲を決定するステップ、
前記決定した第1参照フレームおよび第2参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出するステップであって、前記中間フレームの特定ブロックを中心にして前記第1参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のn倍離れた延長線上に位置する前記第2参照フレームのブロックを前記第1参照フレームについて1画素分ブロックをずらした場合に前記第2参照フレームについてはn画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出ステップ、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するステップ、
を備え、
前記抽出ステップでは、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第1参照フレームのブロックまたは前記第2参照フレームの一方のみをずらしたブロックをブロックマッチング候補として抽出すること、
を特徴とするブロック別動きベクトル演算方法。
A block-by-block motion vector calculation method for calculating a local motion vector, which is a block-by-block motion vector for these intermediate frames, from a first reference frame and a second reference frame, comprising the following steps:
Determining a search range for the first reference frame and the second reference frame, given images of the first reference frame and the second reference frame;
Extracting a block composed of predetermined pixels from an image within the search range of the determined first reference frame and second reference frame, wherein the first reference frame is centered on a specific block of the intermediate frame; Block of the second reference frame located on an extension line separated by n times the temporal relationship between the intermediate frame and the virtual reference frame when defining a virtual reference frame having a geometrically symmetrical positional relationship An extraction step of moving a block by n pixels for the second reference frame and extracting it as a block matching candidate when the block is shifted by 1 pixel with respect to the first reference frame,
Performing block matching on the extracted block matching candidates, and determining a combination that minimizes a difference as a motion vector of the specific block in the intermediate frame;
With
In the extracting step, a block in which only one of the block of the first reference frame or the second reference frame is shifted so that the block boundary line in the intermediate frame is set at a position shifted from the boundary between pixels. Extracting as block matching candidates,
A block-by-block motion vector calculation method.
JP2010044274A 2010-03-01 2010-03-01 Motion vector arithmetic apparatus by block, or method for the same Pending JP2011182181A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010044274A JP2011182181A (en) 2010-03-01 2010-03-01 Motion vector arithmetic apparatus by block, or method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010044274A JP2011182181A (en) 2010-03-01 2010-03-01 Motion vector arithmetic apparatus by block, or method for the same

Publications (1)

Publication Number Publication Date
JP2011182181A true JP2011182181A (en) 2011-09-15

Family

ID=44693229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010044274A Pending JP2011182181A (en) 2010-03-01 2010-03-01 Motion vector arithmetic apparatus by block, or method for the same

Country Status (1)

Country Link
JP (1) JP2011182181A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298751A (en) * 1996-05-07 1997-11-18 Nec Eng Ltd Motion prediction vector detection circuit
JP2002543687A (en) * 1999-04-26 2002-12-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Sub-pixel accurate motion vector estimation and motion compensated interpolation
JP2006129181A (en) * 2004-10-29 2006-05-18 Hitachi Displays Ltd Image interpolating device, frame rate conversion device using tha same and image display unit
JP2008078818A (en) * 2006-09-19 2008-04-03 Toshiba Corp Interpolation frame creation device, motion vector detector, interpolation frame creation method, motion vector detection method, interpolation frame creation program, and motion vector detection program
JP2008078848A (en) * 2006-09-20 2008-04-03 Mitsubishi Electric Corp Frame interpolation device, frame frequency converter, frame interpolation method, and frame frequency conversion method
JP2008193462A (en) * 2007-02-06 2008-08-21 Mitsubishi Electric Corp Frame interpolation apparatus and frame interpolation method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298751A (en) * 1996-05-07 1997-11-18 Nec Eng Ltd Motion prediction vector detection circuit
JP2002543687A (en) * 1999-04-26 2002-12-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Sub-pixel accurate motion vector estimation and motion compensated interpolation
JP2006129181A (en) * 2004-10-29 2006-05-18 Hitachi Displays Ltd Image interpolating device, frame rate conversion device using tha same and image display unit
JP2008078818A (en) * 2006-09-19 2008-04-03 Toshiba Corp Interpolation frame creation device, motion vector detector, interpolation frame creation method, motion vector detection method, interpolation frame creation program, and motion vector detection program
JP2008078848A (en) * 2006-09-20 2008-04-03 Mitsubishi Electric Corp Frame interpolation device, frame frequency converter, frame interpolation method, and frame frequency conversion method
JP2008193462A (en) * 2007-02-06 2008-08-21 Mitsubishi Electric Corp Frame interpolation apparatus and frame interpolation method

Similar Documents

Publication Publication Date Title
EP2540073B1 (en) Object tracking using graphics engine derived vectors in a motion estimation system
Banz et al. Real-time stereo vision system using semi-global matching disparity estimation: Architecture and FPGA-implementation
KR20190100320A (en) Neural Network Model Training Method, Apparatus and Storage Media for Image Processing
US8345764B2 (en) Motion estimation device having motion estimation processing elements with adder tree arrays
JP2005204066A (en) Method and device for generating interpolated image
KR20110127899A (en) Temporal interpolation of three dimension depth image method and apparatus
US10142613B2 (en) Image processing apparatus, image processing system, and image processing method
JP2005506626A (en) Motion estimation unit and method, and image processing apparatus having such a motion estimation unit
Niitsuma et al. High speed computation of the optical flow
JP2014116012A (en) Method and apparatus for color transfer between images
US20130235274A1 (en) Motion vector detection device, motion vector detection method, frame interpolation device, and frame interpolation method
Seo et al. A new parallel hardware architecture for high-performance stereo matching calculation
Araneda et al. Real-time digital video stabilization on an FPGA
US20110102681A1 (en) Image converting method and apparatus therefor based on motion vector-sharing
JP2011182181A (en) Motion vector arithmetic apparatus by block, or method for the same
JP2006215657A (en) Method, apparatus, program and program storage medium for detecting motion vector
Araneda et al. A compact hardware architecture for digital image stabilization using integral projections
KR20210133472A (en) Method of merging images and data processing device performing the same
JP2009296080A (en) Super-resolution image generation system
JP4396189B2 (en) Electronic circuit, calculation method thereof, and image processing system
Conze et al. Dense motion estimation between distant frames: combinatorial multi-step integration and statistical selection
JP4354799B2 (en) Interpolated image generation method and apparatus
JP5367601B2 (en) Image processing apparatus, image processing method, and image processing program
JP2008227826A (en) Method and device for creating interpolation frame
Zhang et al. NeuFlow: Real-time, High-accuracy Optical Flow Estimation on Robots Using Edge Devices

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121217