throbber
(12) United States Patent
`Ohtani et al.
`
`US006671321B1
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,671,321 B1
`Dec. 30, 2003
`
`(54)
`
`MOTION VECTOR DETECTION DEVICE
`AND MOTION VECTOR DETECTION
`METHOD
`
`(75) Inventors: Akihiko Ohtani, Osaka (JP); Takaaki
`Shingo, Osaka (JP)
`(73) Assignee: Mastsushita Electric Industrial Co.,
`Ltd., Osaka (JP)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 642 days.
`
`(*) Notice:
`
`Appl. No.: 09/653,483
`(21)
`Filed:
`Aug. 31, 2000
`(22)
`Foreign Application Priority Data
`(30)
`Aug. 31, 1999
`(JP) ........................................... 11-244717
`(51) Int. Cl." ............................ H04B 1/66; G06K 9/46;
`H04N 9/64; H04N 7/12
`(52) U.S. Cl. .................. 375/240.16; 382/236; 348/699;
`348/416.1
`(58) Field of Search ....................... 375/240.16, 240.01,
`375/240.24, 240.12, 240.23; 348/402.1,
`416.1, 169, 699, 700; 38.2/236, 238, 239
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,502,492 A * 3/1996
`::
`5,757,422 A + 5/1998
`::
`6,002,428 A * 12/1999
`6,169,766 B1 * 1/2001
`6,611,559 B1 * 8/2003
`
`::
`
`::
`
`Jung ..................... 375/240.14
`Matsumura ................. 348/169
`Matsumura et al. ........ 348/169
`Aoki et al. ............ 375/240.16
`Shingo et al. ......... 375/240.16
`
`FOREIGN PATENT DOCUMENTS
`
`JP
`JP
`JP
`JP
`
`()4-049788
`08-084345
`9–224.249
`11-075.192
`
`2/1992
`3/1996
`8/1997
`3/1999
`
`OTHER PUBLICATIONS
`Copy of Office Action issued in corresponding Japanese
`application dated Dec. 3, 2002.
`* cited by examiner
`Primary Examiner—Gims Philippe
`(74) Attorney, Agent, or Firm—Snell & Wilmer, LLP
`(57)
`ABSTRACT
`A motion vector detection device of the present invention
`includes: a parameter setting section having parameters
`relating to N (N is a natural number equal to or greater than
`2) search regions obtained by dividing at least a portion of
`an entire search region in a search frame; a motion vector
`detection section for calculating an evaluation value which
`indicates a degree of correlation between an encoded object
`block in an object frame and a candidate block in one of the
`N search regions and for calculating a motion vector based
`on the evaluation value; a result storage section for storing
`the motion vector and the evaluation value calculated by the
`motion vector detection section; and a control section for
`controlling the motion vector detection section to calculate
`motion vectors and evaluation values for M (1=MsN)
`different ones of the N search regions until a predetermined
`condition is satisfied, for receiving the motion vectors and
`the evaluation values from the result storage section, and for
`determining the motion vector for the encoded object block.
`
`39 Claims, 13 Drawing Sheets
`
`Control
`section
`
`
`
`
`
`Activation
`
`30 º pdrometers
`Parqmeter setting section
`Setting
`Sedrch position le=|
`
`Motion vector
`detection section
`
`40
`Motion
`vector
`
`º ** |
`
`Hº-Ion Vector |||
`Evaluation IT Evaluation value T
`value =||
`Comp letion
`|
`
`2-100
`
`Object frame
`
`Sedrch frome
`
`Google Inc.
`GOOG 1039
`IPR2016-00212
`
`0001
`
`

`
`US 6,671,321 B1
`US 6,671,321 B1
`
`"I
`
`I I I I I I I I I I I I I I I I I I I I I I I I I I II II
`
`_I
`
`_8:2.Eco
`
`
`
`_o..8>come:-
`_o:_o>133>:o_..o:_o>m__:o__.o:_o>m_
`
`_
`
`U.S. Patent
`U.S. Patent
`
`3
`8
`
`
`
`:ozo>zo<
`
`0||
`o_
`
`vVN..mu_nh~
`
`V/ (f)I, H.
`
`2
`
`
`
`m0:5:tube
`
`f01
`
`
`
`Becu:zeoom
`
`
`
`mcozoomcozosbu%.B8>Como:
`
`m_E8.mEEo.M92%
`
`_8Eoo
`
`cozoom
`
`0002
`
`0002
`
`

`
`U.S. Patent
`U.S. Patent
`
`
`
`09
`
`MmEE._
`
`501.comMx83_s_z2%w§.8>8:02mBEEfiobo
`
`mQu
`
`n
`
`US 6,671,321 B1
`US 6,671,321 B1
`
`§8>some:
`
`
`
`v.83._o_§..%
`
`
`
`o:_o>:o__.o:_o>m_
`
`58>core:
`
`cons.Eco
`
`022co_..o=_c>m_
`
`
`
`.30?come:
`
`:o:o_.E8
`
`m§.aEEo.
`9__%m
`
`9
`
`MN.Q~...~
`
`0003
`
`0003
`
`

`
`U.S. Patent
`
`Dec. 30, 2003
`
`Sheet 3 of 13
`
`US 6,671,321 B1
`
`FIG. 2A
`
`
`
`
`
`
`
`
`
`Set parameters
`
`Step 1
`
`Step 2
`
`Output results
`
`Step 3
`
`Step 4
`
`Calculation
`has been performed
`N times 2
`
`Yes
`Transfer results
`
`Step 5
`
`Select optimal vector
`
`Step 6
`
`End
`
`0004
`
`

`
`U.S. Patent
`
`Dec. 30, 2003
`
`Sheet 4 of 13
`
`US 6,671,321 B1
`
`FIG.2B
`
`
`
`
`
`
`
`
`
`Set porometers
`
`Step 1
`
`Step 2
`
`
`
`
`
`Step 5'
`
`Output results
`
`Transfer results
`
`Predetermined
`ondition Sqtisfied?
`
`Yes
`
`
`
`Select optimal vector
`
`
`
`Step 6'
`
`0005
`
`

`
`U.S. Patent
`
`Dec. 30, 2003
`
`Sheet 5 of 13
`
`US 6,671,321 B1
`
`FIG. 3A
`Entire seqrch
`region 300
`Candidate
`block 302
`
`Best match
`block 303
`
`
`
`Encoded object
`block 301
`
`E Hºlºd
`
`Search 4
`
`FIG. 3B
`
`
`
`Encoded object
`block 301
`
`Entire seqrch
`region 350
`
`0006
`
`

`
`U.S. Patent
`
`Dec. 30, 2003
`
`Sheet 6 of 13
`
`US 6,671,321 B1
`
`oE_E£88m
`
`
`
`
`
`—-o:_o>co_..o=_o>m_--
`
`55..
`\
`
`8
`
`co_..o>_..o<
`
`cozoumcomoflmu588m.6$20
`
`
`58>core:—-m.=_o>
`
`bcocm
`
`_.E__._EomIe_w
`
`0007
`
`0007
`
`
`
`
`

`
`U.S. Patent
`U.S. Patent
`
`Dec. 30, 2003
`Dec. 30, 2003
`
`Sheet 7 of 13
`Sheet 7 of 13
`
`US 6,671,321 B1
`US 6,671,321 B1
`
`vouoocoon3v_oo_m
`
`
`
`comcoae528m
`
`2:5
`
`Se
`
`r¢/
`
`¢9...£u.«»u»«»«v».
`
`.‘‘‘‘‘Aouonononounu.
`
`V
`
`A
`1.
`
`A
`H
`
`
`
`
`
`
`
`
`
`
`
`$,:L>..7u&v__oEm0%528m.
`
`Qwm.¢$<v§=8§_§£28m.<£88m
`
`S_s_aE5_€05.
`2529__aEomu€m.
`
`mmGNR
`
`
`>__B=o~_§_m=__n_EomL.%_m_9___qE8:€m.
` mm.oim_.E.o.L8§>o_.$&=comma£28m.Md£88mNceoom3seo.N€95.
`
`
`
`...fl>:11:10.20%__28m.
`
`
`
`8fl>.mfl5E=_8E0%8.8m.
`
`28.8o,§.o§z_..__.%_.38..fem.om£88m_528m3Eco.
`
`0008
`
`§.E_.§.%.
`
`>__8Em>Ea>__3=oN_§_9___._E8:e.mN_
`
`8.m.\._e.€.8.._Veo=_oo§_§fiaem.ES£88mm6583.85.
`9__aE8L_=m.Afl>.m_atY..2mum£28m.
`3:0326:¢.€o__n_.
`
`¢506%E.85.
`
`
`
`>__3_to>9__aE8:e_mNEmcieomuém.
`
`.€oE.
`
`0008
`
`
`

`
`U.S. Patent
`
`Dec. 30, 2003
`
`Sheet 8 of 13
`
`US 6,671,321 B1
`
`FIG. 5B Entire
`(0,0)
`seqrch region 520
`
`Encoded object block
`
`FIG. 5C
`Entire
`(0,0) search region 540
`
`
`
`Encoded object block
`
`Seqrch N
`
`Seqrch 0
`
`H–25—-—x4—-—x6—- (112,80)
`
`0009
`
`

`
`U.S. Patent
`U.S. Patent
`
`Dec. 30, 2003
`Dec. 30, 2003
`
`Sheet 9 of 13
`Sheet 9 of 13
`
`US 6,671,321 B1
`US 6,671,321 B1
`
`FIG. 5D
`FIG. 5D
`
`560
`560
`
`0010
`
`0010
`
`

`
`ux
`
`PhC.lGeSA
`
`Qh
`
`0011
`
`
`

`
`U.S. Patent
`
`Dec. 30, 2003
`
`Sheet 11 of 13
`
`US 6,671,321 B1
`
`600
`General purpose
`computer
`
`FIG. 6
`
`
`
`vector
`detection
`
`FIG 7
`Best match block 706
`
`
`
`Motion vector 705
`
`Seqrch frome 701
`
`Object frame 702
`
`Passage º
`
`0012
`
`

`
`U.S. Patent
`
`Dec. 30, 2003
`
`Sheet 12 of 13
`
`US 6,671,321 B1
`
`FIG. 8
`
`
`
`Candidate block
`77 795 704
`
`0013
`
`

`
`U.S. Patent
`U.S. Patent
`
`D
`
`US 6,671,321 B1
`US 6,671,321 B1
`
`BmsasomEmM:28
`
`_o_a_mmen:.Boezfl
`
`58>8:08
`
`
`
`3E6809.mc.»_u,_%_ommm3._2_%men:Wm_.m8=9_£o~_wmom
`
`0014
`
`gmm.uE
`
`
`
`6 (5) I.H.
`
`
`
`
`
`
`
`
`
`
`0014
`
`
`

`
`US 6,671,321 B1
`
`1
`MOTION VECTOR DETECTION DEVICE
`AND MOTION VECTOR DETECTION
`METHOD
`
`BACKGROUND OF THE INVENTION
`
`2
`a first motion vector detection circuit 915 for performing a
`motion vector detection operation over a relatively large
`detection region but with a relatively coarse resolution and
`a second motion vector detection circuit 916 for performing
`a motion vector detection operation over a relatively small
`detection region but with a relatively fine resolution. The
`motion vector detection device 900 is arranged so that the
`relatively large detection region of the first motion vector
`detection circuit 915 includes the relatively small detection
`region of the second motion vector detection circuit 916.
`Thus, a motion vector for a relatively fast movement is
`detected by the first motion vector detection circuit 915
`having the relatively large detection region, whereas a
`motion vector for a relatively slow movement is detected by
`both of the two motion vector detection circuits (i.e., by the
`first motion vector detection circuit 915 having the relatively
`large detection region and by the second motion vector
`detection circuit 916 having the relatively small detection
`region). The values of correlation detected by the respective
`detectors- are compared with each other by a comparator
`917, thereby increasing the precision with which a motion
`vector for a relatively slow movement is detected.
`However, this conventional technique requires the two
`different motion vector detection circuits 915 and 916,
`thereby increasing the size and complexity of the entire
`circuit.
`As described above, conventional motion vector detection
`devices had a limited search region. One conventional
`solution to this problem was the motion vector detection
`device 900 illustrated in FIG. 9 which includes two different
`motion vector detection circuits, one for a relatively fine
`resolution and another for a relatively coarse resolution, in
`order to expand the search region.
`However, the motion vector detection device 900 requires
`the two different motion vector detection circuits 915 and
`916, thereby increasing the scale of the entire circuit. The
`increase in the circuit scale may present a potentially serious
`problem particularly for motion vector detection based on
`the block matching method, in which the optimal position
`(the optimal motion vector) is detected by accumulating the
`difference between each pixel in the encoded object block
`and the corresponding pixel in each of a plurality of candi
`date blocks over an entire search region.
`Moreover, it is expected that there will be a demand for
`a technique for detecting a motion of an image over an even
`larger search region in order to meet the existing demand for
`a higher definition and a higher image quality along with the
`increase in the size of the display screen.
`SUMMARY OF THE INVENTION
`In order to solve the above-described problems, the
`present invention provides a motion vector detection device
`in which a large search region is divided into a plurality of
`search regions and in which a motion vector with respect to
`one encoded object block is detected a plurality of times for
`each of the plurality of search regions. More specifically, the
`present invention provides a motion vector detection device
`capable of precisely detecting a motion vector for high
`image quality applications without substantially increasing
`the circuit scale, in which a single motion vector detection
`section may include a section for setting a plurality of
`parameters for a plurality of search regions, respectively,
`and a section for storing a plurality of motion vector
`detection results respectively corresponding to the search
`regions.
`According to one aspect of this invention, there is pro
`vided a motion vector detection device, including: a param
`
`1. Field of the Invention
`The present invention relates to a motion vector detection
`device used in a motion compensation/estimation encoding
`method, which is a type of method used for compressing/
`encoding digital motion picture data.
`2. Description of the Related Art
`A motion picture encoding method uses information
`(motion vector) which indicates the movement of a portion
`of the current image from the previous image so as to reduce
`the redundancy in time and quantity of data. The block
`matching method is a method for extracting such a motion
`Vector.
`FIG. 7 illustrates the principle of the block matching
`method. The image of an object frame 702 to be encoded is
`compared with the image of a search frame 701 so as to
`extract a block (best match block 706) from a search region
`704 in the search frame 701 that has an evaluation value
`indicating the highest degree of similarity to an encoded
`object block 703 (the term “encoded object block” as used
`herein refers to a block to be encoded, not a block which has
`already been encoded) in the object frame 702, thereby
`detecting a motion vector 705 therebetween. The block
`matching method has been widely used for motion
`compensation/estimation in image compression/encoding
`methods.
`FIG. 8 illustrates an enlarged version of the search frame
`701 shown in FIG. 7. In the block matching method, the
`degree of correlation is calculated between the single
`encoded object block 703 and each of a plurality of candi
`date blocks 707 within the search region 704 in the search
`frame 701 (the plurality of candidate blocks 707 are selected
`by scanning the search region 704 vertically or
`horizontally). Then, one of the candidate blocks 707 having
`the highest degree of correlation with respect to the encoded
`object block 703 is selected as the best match block 706, and
`the motion vector 705 is detected which extends from the
`position of the block 703 to the best match block 706.
`Some conventional motion vector detection devices
`which are based on the block matching method aim to
`reduce the amount of hardware resource needed.
`Japanese Laid-Open Publication No. 6-141304, for
`example, discloses a technique in which MXN calculation
`units are arranged in M rows and N columns, each calcu
`lation unit including a pixel storage register, a multiplexer
`and a differential absolute value calculator. Where the ref
`erence block size is MXN pixels, a candidate vector having
`the highest degree of correlation with respect to the encoded
`object block is determined for each of MXN candidate
`blocks. However, with this conventional technique, the
`degree of correlation can be calculated only for the MXN
`candidate blocks, and it is difficult to increase the number of
`candidate blocks by expanding the search region in order to
`select a candidate block which may have a higher degree of
`correlation with respect to encoded object block.
`Japanese Laid-Open Publication No. 9-224249, for
`example, discloses a motion vector detection device 900 as
`illustrated in FIG. 9. The motion vector detection device 900
`includes two different motion vector detection circuits for
`detecting two vectors for a given encoded object block, i.e.,
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`0015
`
`

`
`US 6,671,321 B1
`
`3
`
`eter setting section having parameters relating to N (N is a
`natural number equal to or greater than 2) search regions
`obtained by dividing at least a portion of an entire search
`region in a search frame; a motion vector detection section
`for calculating an evaluation value which indicates a degree
`of correlation between an encoded object block in an object
`frame and a candidate block in one of the N search regions
`and for calculating a motion vector based on the evaluation
`value; a result storage section for storing the motion vector
`and the evaluation value calculated by the motion vector
`detection section; and a control section for controlling the
`motion vector detection section to calculate motion vectors
`
`and evaluation values for M (1 §M§N) different ones of the
`N search regions until a predetermined condition is satisfied,
`for receiving the motion vectors and the evaluation values
`from the result storage section, and for determining the
`motion vector for the encoded object block. Thus,
`it is
`possible to precisely detect a motion vector over a large
`search region despite a small circuit scale.
`In one embodiment of the invention, the control section
`inputs parameters relating to the N search regions to the
`parameter setting section.
`In one embodiment of the invention, M is equal to N.
`In one embodiment of the invention, the result storage
`section stores N motion vectors and N evaluation values and
`
`then outputs the evaluation values and the motion vectors to
`the control section.
`
`the parameters
`In one embodiment of the invention,
`relating to each search region include search position which
`indicates a position of a search region.
`the parameters
`In one embodiment of the invention,
`relating to each search region include search size which
`indicates a size of a search region.
`the parameters
`In one embodiment of the invention,
`relating to each search region include sub-sampling which
`indicates a degree and a direction of decimation in the search
`region.
`the parameters
`In one embodiment of the invention,
`relating to each search region include a priority which
`indicates a predetermined value to be added to or multiplied
`by the evaluation value.
`In one embodiment of the invention, a search region
`horizontally shifted from a center of the entire search region
`has a priority higher than that of a search region vertically
`shifted from the center of the entire search region.
`In one embodiment of the invention,
`the parameters
`relating to each search region include order of search which
`indicates an order in which the calculation of the motion
`
`vector and the evaluation value is performed.
`In one embodiment of the invention, a search region
`horizontally shifted from a center of the entire search region
`has an order of search higher than that of a search region
`vertically shifted from the center of the entire search region.
`In one embodiment of the invention,
`the parameters
`relating to each search region include at least two of search
`position, search size, sub-sampling, priority and order of
`search.
`
`In one embodiment of the invention, the predetermined
`condition is that the evaluation value being smaller than a
`predetermined value which the control section has.
`In one embodiment of the invention, the predetermined
`condition is limited by a predetermined amount of time.
`In one embodiment of the invention, N is 2.
`In one embodiment of the invention, N is 3.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`In one embodiment of the invention, the at least a portion
`of the entire search region is divided only along the vertical
`direction.
`
`In one embodiment of the invention, the at least a portion
`of the entire search region is divided only along the hori-
`zontal direction.
`
`In one embodiment of the invention, the at least a portion
`of the entire search region is divided into elliptical search
`regions.
`In one embodiment of the invention, each of the elliptical
`search regions is longer in the horizontal direction than in
`the vertical direction.
`
`In one embodiment of the invention, the at least a portion
`of the entire search region is divided into rectangular search
`regions.
`In one embodiment of the invention, the N search regions
`are such that no candidate block included in one of the N
`
`search regions has a complete overlap with another candi-
`date block which is included in another one of the N search
`
`regions.
`In one embodiment of the invention, at least two of the N
`search regions have different search sizes.
`In one embodiment of the invention, at least two of the N
`search regions have different sizes, and a search region
`having a larger size surrounds a search region having a
`smaller size.
`
`In one embodiment of the invention, one of the N search
`regions including a center of the entire search region has the
`smallest size.
`
`In one embodiment of the invention, one or more of the
`N search regions along a periphery of the entire search
`region has the largest size.
`In one embodiment of the invention, the at least a portion
`of the entire search region is rectangular, and one or more of
`the N search regions at corners of the at least a portion of the
`entire search region has the largest size.
`In one embodiment of the invention, at least two of the N
`search regions have different priorities.
`In one embodiment of the invention, one of the N search
`regions including a center of the entire search region has the
`lowest priority.
`In one embodiment of the invention, one or more of the
`N search regions along a periphery of the entire search
`region has the highest priority.
`In one embodiment of the invention, the at least a portion
`of the entire search region is rectangular, and one or more of
`the N search regions at corners of the at least a portion of the
`entire search region has the highest priority.
`In one embodiment of the invention, at least two of the N
`search regions have different sub-sampling parameters.
`In one embodiment of the invention, a search region
`vertically shifted from a center of the entire search region is
`sub-sampled in the vertical direction.
`In one embodiment of the invention, a search region
`horizontally shifted from a center of the entire search region
`is sub-sampled in the horizontal direction.
`In one embodiment of the invention, one or more of the
`N search regions along a periphery of the entire search
`region has the largest sub-sampling parameter.
`In one embodiment of the invention, the at least a portion
`of the entire search region is rectangular, and one or more of
`the N search regions at corners of the at least a portion of the
`entire search region has the largest sub-sampling parameter.
`According to another aspect of this invention, there is
`provided a motion vector detection method, including: an
`
`0016
`
`0016
`
`

`
`US 6,671,321 B1
`
`5
`input step of inputting parameters relating to N (N is a
`natural number equal to or greater than 2) search regions
`obtained by dividing at least a portion of an entire search
`region in a search frame to a motion vector detection section;
`a calculation step of calculating an evaluation value which
`indicates a degree of correlation between an encoded object
`block in an object frame and a candidate block in one of the
`N search regions based on the parameters of the one of the
`N search regions, and calculating a motion vector based on
`the evaluation value; and a determination step of determin
`ing whether a predetermined condition is satisfied based on
`the calculated evaluation values and motion vectors.
`In one embodiment of the invention, the motion vector
`detection method further includes the step of terminating the
`motion vector calculation when the predetermined condition
`is satisfied.
`In one embodiment of the invention, the motion vector
`detection method further includes the step of repeating the
`input step and the calculation step when the predetermined
`condition is not satisfied.
`Thus, the invention described herein makes possible the
`advantage of providing a motion vector detection device
`capable of detecting a motion vector with a high precision to
`realize a high image quality without increasing the circuit
`scale.
`This and other advantages of the present invention will
`become apparent to those skilled in the art upon reading and
`understanding the following detailed description with refer
`ence to the accompanying figures.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1A is a schematic diagram illustrating a motion
`vector detection device of the present invention;
`FIG. 1B is a schematic diagram illustrating an alternative
`arrangement using a plurality of motion vector detection
`blocks;
`FIG. 2A is a flow chart illustrating an operation of the
`present invention;
`FIG. 2B is a flow chart illustrating another operation of
`the present invention;
`FIG. 3A illustrates an example of how an entire search
`region is divided into smaller search regions according to the
`present invention;
`FIG. 3B illustrates an alternative example of how an
`entire search region is divided into smaller search regions
`according to the present invention;
`FIG. 4 is a schematic diagram illustrating another motion
`vector detection device of the present invention;
`FIG. 5A illustrates an alternative example of how an
`entire search region is divided into smaller search regions
`according to the present invention;
`FIG. 5B illustrates an alternative example of how an
`entire search region is divided into smaller search regions
`along the horizontal direction according to the present
`invention;
`FIG. 5C illustrates an alternative example of how an
`entire search region is divided into smaller search regions
`along the vertical direction according to the present inven
`tion;
`FIG. 5D illustrates an alternative example of how an
`entire search region is divided into smaller elliptical search
`regions according to the present invention;
`FIG. 5E illustrates an alternative example of how an entire
`search region is divided into smaller search regions accord
`
`6
`ing to the present invention, in which any smaller search
`region is included by a larger search region;
`FIG. 6 is a schematic diagram illustrating a motion vector
`detection circuit of the present invention and a general
`purpose computer;
`FIG. 7 illustrates a block matching method;
`FIG. 8 illustrates an enlarged version of a search frame;
`and
`FIG. 9 illustrates a conventional motion vector detection
`circuit.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`Various embodiments of the present invention will now be
`described with reference to the accompanying drawings.
`Embodiment 1
`FIG. 1A illustrates a configuration of a motion vector
`detection device 100 according to Embodiment 1 of the
`present invention.
`The motion vector detection device 100 includes a control
`section 10, a motion vector detection section 20, a parameter
`setting section 30 and a result storage section 40. The control
`section 10 inputs search region setting parameters to the
`parameter setting section 30 and activates the motion vector
`detection section 20. The respective setting parameters
`(search positions in the present embodiment) which relate to
`N (N is a natural number equal to or greater than 2) search
`regions, respectively, which are obtained by dividing an
`entire search region (which may be a portion or the whole of
`a search frame) are input from the control section 10 to the
`parameter setting section 30. The motion vector detection
`section 20 is activated by the control section 10 and receives
`an object frame and a search frame from the outside and a
`parameter which relates to one search region from the
`parameter setting section 30. Then, the motion vector detec
`tion section 20 calculates a motion vector and an evaluation
`value for a single search region based on the received
`parameter, and outputs the motion vector and the evaluation
`value to the result storage section 40. The result storage
`section 40 stores the motion vector and the evaluation value
`calculated by the motion vector detection section 20. The
`control section 10 obtains the stored motion vector and the
`evaluation value from the result storage section 40, and a
`completion signal from the motion vector detection section
`20. The evaluation value indicates the degree of correlation
`between the encoded object block in the object frame and a
`candidate block in a search region within an entire search
`region.
`In the above description, for the purpose of illustration,
`the parameters relating to the N divided search regions are
`described to be input from the control section 10 to the
`parameter setting section 30. However, the parameters relat
`ing to the N divided search regions may alternatively be
`pre-stored in the parameter setting section 30. The result
`storage section 40 may output N motion vectors to the
`control section 10 after they are stored in the result storage
`section 40.
`The operation of the motion vector detection device 100
`will now be described with reference to the flow chart
`illustrated in FIG. 2A.
`Step 1: The control section 10 sets the N parameters
`relating to the search regions (i.e., N search positions) to the
`parameter setting section 30.
`Step 2: The control section 10 activates the motion vector
`detection section 20.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`0017
`
`

`
`US 6,671,321 B1
`
`15
`
`20
`
`30
`
`7
`Step 3: The motion vector detection section 20 calculates
`a motion vector and an evaluation value for one search
`position, outputs the motion vector and the evaluation value
`to the result storage section 40, and completes the motion
`vector detection operation for the search position.
`Step 4: Steps 2 and 3 are repeated N times.
`Step 5: The control section 10 obtains the N sets of motion
`vectors and evaluation values from the result storage section
`40.
`10
`Step 6: The control section 10 determines an optimal
`motion vector for the encoded object block based on the N
`sets of motion vectors and evaluation values.
`As a specific example, a search operation where an entire
`search region 300 is divided into four (N=4) search regions
`(designated respectively as “Search 1”, “Search 2”, “Search
`3” and “Search 4” in FIG. 3A) will now be described with
`reference to FIG. 3A. In FIG. 3A, the entire search region
`300 is divided into “Search 1”, “Search 2”, “Search 3” and
`“Search 4” which respectively correspond to the upper left,
`upper right, lower left and lower right regions of the entire
`search region 300. In the example shown in FIG. 3A, the
`search regions do not overlap with one another. A candidate
`block 302 of one search region does not have to be com
`pletely within the search region, but a portion thereof may
`25
`extend beyond the boundary thereof. However, a portion of
`the candidate block 302 may not extend beyond the bound
`ary to such an extent that the candidate block 302 would
`completely overlap with any other candidate block 302
`extending from any other search region.
`In the example shown in FIG. 3A, the entire search region
`300 is divided into smaller rectangular search regions.
`For example, where a motion vector detection operation
`is to be performed for each of the search regions (i.e., in FIG.
`3A, the calculation and the storage of a motion vector and
`an evaluation value are to be performed four times), the
`motion vector detection device 100 is configured so that
`search positions for four search regions can be set in the
`parameter setting section 30 and four sets of motion vectors
`and evaluation values can be stored in the result storage
`section 40. The control section 10 writes the position of each
`search region (e.g., a set of coordinates representing the
`upper left corner of the search region) in the parameter
`setting section 30.
`Specifically, four sets of coordinates respectively corre
`sponding to the four search regions (“Search 1”, “Search 2",
`“Search 3” and “Search 4”) are set. Then, the control section
`10 activates the motion vector detection section 20.
`Upon the first activation, the motion vector detection
`section 20 calculates a motion vector and an evaluation
`value for “Search 1” in FIG. 3A, stores the motion vector
`and the evaluation value in the result storage section 40 as
`a first set of results, and returns a completion signal to the
`control section 10, thus completing the first motion vector
`detection operation.
`Similarly, a motion vector and an evaluation value are
`calculated for “Search 2° and stored as a second set of
`results. This operation is similarly repeated for “Search 3”
`and “Search 4”.
`More specifically, each motion vector detection operation
`is performed as follows. First, the degree of correlation (i.e.,
`the evaluation value) between an encoded object block 301
`and the candidate block 302 in “Search 1” is obtained. Then,
`the candidate block 302 is shifted vertically or horizontally
`within “Search 1”, and an evaluation value is obtained in a
`similar manner. By repeating such an operation, the best
`
`35
`
`8
`matching block within “Search 1” is determined as a block
`which exhibits the highest degree of correlation with respect
`to the encoded object block 301, based on which a motion
`vector and an evaluation value are calculated for “Search 1”.
`By repeating such an operation for “Search 2” to “Search 4”,
`a motion vector and an evaluation value are calculated for
`each of the four search regions.
`After the motion vector detection section 20 have per
`formed the four motion vector detection operations respec
`tively for the four search regions, the control section 10
`obtains the calculation results stored in the result storage
`section 40. Then, the control section 10 selects one of the
`four motion vectors as the motion vector for the current
`encoded object block based on the evaluation values. Thus,
`a motion vector optimal for the encoded object block is
`determined. Since an evaluation value is typically calculated
`by accumulating the value of difference (or the square
`thereof) between each pixel in the encoded object block and
`the corresponding pixel in the candidate block, the motion
`vector for which the evaluation value is smallest is typically
`selected.
`As described above, in the present embodiment, the entire
`search region is divided into four search regions, and a
`single motion vector detection section is used to obtain
`respective motion vectors for the four search regions. Thus,
`it is possible to detect motion vectors over a large search
`region, thereby precisely selecting a motion vector, despite
`a small circuit scale.
`While the number (N) of search regions into which an
`entire search region is divided is set to 4 in the present
`embodiment, N can be any natural number equal to or
`greater than 2.
`In the present embodiment, the motion vector detection
`operation is performed to cover the whole of each of the N
`(=4 in the

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket