US7236527B2 - Motion vector search apparatus and method - Google Patents
Motion vector search apparatus and method Download PDFInfo
- Publication number
- US7236527B2 US7236527B2 US10/431,784 US43178403A US7236527B2 US 7236527 B2 US7236527 B2 US 7236527B2 US 43178403 A US43178403 A US 43178403A US 7236527 B2 US7236527 B2 US 7236527B2
- Authority
- US
- United States
- Prior art keywords
- search
- motion vector
- frame
- blocks
- specific blocks
- 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.)
- Expired - Fee Related, expires
Links
- 239000013598 vector Substances 0.000 title claims abstract description 190
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000015654 memory Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 5
- NTOPKICPEQUPPH-UHFFFAOYSA-N IPMP Natural products COC1=NC=CN=C1C(C)C NTOPKICPEQUPPH-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
Definitions
- the present invention relates to motion vector search apparatus and method that favorably search for motion vectors between frames of digital moving pictures.
- the block matching method is a method in which a block in a reference frame in the same position as a motion search target block (N ⁇ N pixel area) is used as a center to calculate matching evaluation functions with blocks that shifted in units of pixels within a search range of ⁇ M ⁇ M pixels, the best matching block is searched, and the amount and direction of the shift to the matching block is used as the motion vector.
- a difference evaluation value a sum of absolute values of differences between pixel values calculated on a pixel to pixel basis for all pixels within the block (i.e., a difference evaluation value) may be used, for example.
- the block matching method has a problem in that searches must be conducted a great number of times, which requires an enormous amount of calculation when this system is realized. For this reason, various simplification techniques such as a method of searching with multiple steps, such as, for example, a 3-step search method have been suggested.
- a search is made at rough search-point intervals as the first step, and then the second search is made at search-point intervals each of which is a half of the interval for the first step around the best matching position as a center, instead of the all-pixel position search.
- the same process is repeated in a plurality of steps to narrow the coarse search-point intervals to close ones, thereby searching for a motion vector.
- the amount of calculation can be significantly reduced with the 3-step search method than with the block matching method that performs the all-pixel position search described above.
- the 3-step search method entails a possibility of finding a motion vector completely different from the search direction sought if an erroneous search is made in the first step.
- the present invention takes the circumstances described above into consideration and relates to a motion vector search apparatus and a motion vector search method that can reduce the number of searches in block matching and search for the motion vector at higher speed and more appropriately.
- a motion vector search apparatus that searches for an inter-frame motion vector of motion pictures
- the motion vector search apparatus comprising: a target frame input component to input a search target frame to be coded; a reference frame input component to input as a reference frame a frame on which a motion vector search has been performed; a search pattern determination component that uses specific blocks set within the search target frame and reference blocks set within the reference frame to perform a block matching within a predetermined range of the reference frame and determine a search pattern for a motion vector for the entire frame; and a motion vector search component that uses the search pattern determined by the search pattern determination component to execute a block matching in predetermined units of blocks on the inputted search target frame to be coded and generate a motion vector.
- a motion vector search method to search for an inter-frame motion vector of a motion picture, the motion vector search method comprising the steps of: a target frame input step of inputting a search target frame; a reference frame input step of inputting as a reference frame a frame on which a motion vector search has been performed; a search pattern determination step of performing a block matching within a predetermined range of the reference frame and determining a search pattern for a motion vector for the entire frame by using a specific blocks set within the search target frame and a reference blocks set within the reference frame; and a motion vector searching step of executing a block matching in predetermined units of blocks on the inputted search target frame to be coded and generate a motion vector by using the search pattern determined in the search pattern determination step.
- FIG. 1 is a block diagram of a configuration of a motion vector search apparatus according to a first embodiment of the present invention.
- FIG. 2 is a diagram illustrating a frame configuration including I-VOPs and P-VOPs according to the present embodiment.
- FIG. 3 is a diagram illustrating the positions of eight encoding target macro blocks set within a frame according to the present embodiment.
- FIG. 4 is a diagram of one example of a search sequence pattern with an omnidirectional search sequence.
- FIGS. 5( a )- 5 ( h ) are diagrams of search sequence pattern examples with eight directivities in search sequences.
- FIG. 6 is a flowchart for describing an operation procedure of the motion vector search apparatus according to the present invention.
- FIG. 7 is a flowchart for describing a procedure performed by a general motion vector search unit 103 in FIG. 1 to search for a motion vector for each macro block.
- FIG. 8 is a flowchart for describing a procedure performed by the general motion vector search unit 103 in FIG. 1 to determine a search sequence pattern.
- FIG. 9 is a block diagram of a structure of an encoding apparatus with the motion vector search apparatus in FIG. 1 .
- FIG. 10 is a diagram for describing sub-sampled macro blocks.
- FIG. 11 is a block diagram of a structure of a computer that realizes the motion vector search apparatus.
- FIG. 12 is a flowchart for describing an operation of the computer with the structure shown in FIG. 11 .
- a method to realize the present invention using the MPEG-4 encoding method (ISO/IEC 14496-2) will be described.
- a natural picture is called a video object (VO).
- the VO is made up of a plurality of video object planes (VOP) photographed at given times.
- VOP video object planes
- Each VOP corresponds to a frame, and is a basic unit of picture data treated in the MPEG-4.
- Each VOP is divided into macro blocks (MB), which are basic process units.
- the macro blocks are units that determine the encoding mode, as well as processing units to find a motion vector.
- MPEG-4 version 1 supports a 4:2:0 picture format, and each macro block consequently consists of four luminance blocks and two color difference blocks, each made up of 8 ⁇ 8 pixels.
- I-VOP intra-encoded VOP
- P-VOP inter-encoded encoding
- a plurality of frames forming a group is called a GOV (Group of VOPs), which always contains an I-VOP by a single frame only.
- FIG. 1 is a block diagram of a configuration of a motion vector search apparatus according to the first embodiment of the present invention.
- a motion vector search apparatus 1 includes frame memories 100 and 101 , a motion vector memory 102 , a general motion vector search unit 103 , a motion vector search unit 104 , and a search sequence table 105 .
- the frame memory 100 is a memory that stores an encoding target frame, which is a frame that is to be encoded and inputted into the apparatus.
- the frame memory 101 is a memory that stores a reference frame that is referred to when performing a motion vector search, e.g., a previous frame for which a motion vector has been searched immediately preceding the current processing.
- a reference frame is a previous frame that precedes the encoding target frame.
- the motion vector memory 102 is a memory that stores the motion vector searched at the immediately preceding frame.
- FIG. 2 is a diagram of a frame configuration including I-VOPs and P-VOPs according to the present embodiment.
- an I-VOP appears every 15 frames, with 14 frames of P-VOPs in between.
- the search sequence table 105 stores a plurality of search sequence patterns indicating motion vector search sequences.
- the search sequence patterns used in the present embodiment are determined by concentrating on specifying the sequence or direction of a search in view of the fact that motion vectors often indicate a certain direction when the camera pans as it photographs pictures. The details of the search sequence patterns will be described later.
- Predetermined specific macro blocks are inputted in the general motion vector search unit 103 from the encoding target frame stored in the frame memory 100 . By comparing these macro blocks with the reference frame stored in the frame memory 101 , a motion vector for each specific macro block can be searched. Furthermore, based on each of the motion vectors searched, the general motion vector search unit 103 outputs search sequence pattern number information for search sequence pattern stored in the search sequence table 105 .
- FIG. 3 is a diagram indicating the positions of eight specific macro blocks set within a frame according to the present embodiment.
- specific macro blocks 31 - 38 each having a predetermined size are set at eight locations in one frame according to the present embodiment.
- the motion vector search unit 104 Based on the search sequence pattern number information outputted from the general motion vector search unit 103 , the motion vector search unit 104 refers to search sequence patterns that are stored in the search sequence table 105 and that correspond to the search sequence pattern number information, and performs a motion vector search for all encoding target macro blocks. The motion vector search unit 104 outputs prediction macro blocks that are obtained as a result of the motion vector search, as well as their motion vectors.
- each circle in the figures represents one pixel and a search takes place in the order indicated by the arrows on the pixels.
- FIG. 4 is a diagram of one example of a search sequence pattern with an omnidirectional search sequence.
- the search sequence pattern indicates a search whose sequence begins at the center and spirals outward.
- FIGS. 5( a )- 5 ( h ) show search sequence pattern examples with eight directivities in search sequences. It is assumed that the search sequence pattern in FIG. 4 has a search sequence pattern number “0,” the search sequence pattern in FIG. 5( a ) has a search sequence pattern number “1,” the search sequence pattern in FIG. 5( b ) has a search sequence pattern number “2,” the search sequence pattern in FIG. 5( c ) has a search sequence pattern number “3,” the search sequence pattern in FIG.
- FIG. 5 (d) has a search sequence pattern number “4”
- the search sequence pattern in FIG. 5( e ) has a search sequence pattern number “5”
- the search sequence pattern in FIG. 5( f ) has a search sequence pattern number “6”
- the search sequence pattern in FIG. 5( g ) has a search sequence pattern number “7”
- the search sequence pattern in FIG. 5( h ) has a search sequence pattern number “8.” It is assumed that a predetermined search range is set for each of the search sequence patterns.
- FIG. 6 is a flowchart that describes the operation procedure of the motion vector search apparatus according to the present invention.
- the encoding target frame (P-VOP) is stored in the frame memory 100 of the motion vector search apparatus 1 , while the reference frame (I-VOP) is stored in the frame memory 101 (step S 61 ).
- the general motion vector search unit 103 refers to the reference frame stored in the frame memory 101 and executes a motion vector search for the eight specific macro blocks 31 - 38 that are stored in the frame memory 100 (step S 62 ). Based on the motion vector searched for each of the specific macro blocks 31 - 38 , the general motion vector search unit 103 determines and outputs search sequence pattern numbers. The procedure to determine the search sequence pattern number is described in detail later.
- the motion vector search unit 104 refers to the search sequence patterns in the search sequence table 105 that correspond to the numbers, and performs a motion vector search according to the search sequences of the search sequence patterns. Lastly, the motion vector search unit 104 outputs prediction macro blocks selected as a result of the search, as well as the motion vectors for the prediction macro blocks (step S 63 ).
- the encoding target frame (P-VOP) is stored in the frame memory 100 of the motion vector search apparatus 1
- the reference frame (P-VOP) is stored in the frame memory 101
- the motion vectors of the preceding frame are stored in the motion vector memory 102 (step S 61 ).
- the general motion vector search unit 103 refers to the reference frame stored in the frame memory 101 and executes a motion vector search for each of the eight predetermined specific macro blocks 31 - 38 that are stored in the frame memory 100 (step S 62 ). Based on the motion vector searched for each of the specific macro blocks 31 - 38 , the general motion vector search unit 103 determines and outputs search sequence pattern numbers. The procedure to determine the search sequence pattern numbers is described in detail later.
- the motion vector search unit 104 determines the beginning position of the search based on the motion vector, which is stored in the motion vector memory 102 , of the macro block that is set at the same position in the preceding frame. Next, based on the search sequence pattern number from the general motion vector search unit 103 , the motion vector search unit 104 refers to the search sequence pattern in the search sequence table 105 and performs a motion vector search according to the search sequence of the search sequence pattern. Lastly, the motion vector search unit 104 outputs prediction macro blocks selected as a result of the search, as well as the motion vectors for the prediction macro blocks (step S 63 ).
- FIG. 7 is a flowchart that describes a procedure performed by the general motion vector search unit 103 in FIG. 1 to search for a motion vector for each macro block.
- FIG. 8 is a flowchart that describes a procedure performed by the general motion vector search unit 103 in FIG. 1 to determine a search sequence pattern.
- the processing in the two flowcharts in FIGS. 7 and 8 corresponds to step S 62 in the flowchart in FIG. 6 .
- a motion vector search is performed for each of the eight specific macro blocks shown in FIG. 3 .
- this motion vector search starts with a search sequence pattern shown in FIG. 4 whose search sequence pattern number registered in the search sequence table 105 is “0”.
- a specific macro block is inputted (step S 200 )
- a reference macro block in the position of the reference frame that corresponds to the specific macro block is inputted (step S 201 ).
- an absolute value of difference mae between the two frames at the search point (0, 0) of the search sequence pattern “0” for the specific macro block and the reference macro block inputted is calculated, and the value is substituted for min_mae (step S 202 ). This value becomes the initial value of min_mae.
- the specific macro block is retained in the general motion vector search unit 103 .
- the pixel value of the specific macro block of the next search point (i, j) according to the search sequence pattern “0” is inputted (step S 203 ).
- the pixel value of the same position in the reference macro block is inputted (step S 204 ).
- step S 205 the absolute value of difference mae between the pixel value of the reference macro block and the pixel value of the specific macro block is calculated.
- step S 206 The sizes of min_mae and mae are compared. If min_mae is found, as a result of the comparison, to be larger than mae (YES), (i, j) is substituted for the motion vector (mvx, mvy) and mae is substituted for min_mae (step S 207 ).
- Steps S 203 through S 207 are repeated until the search sequence reaches outside the search range (step S 208 ).
- the motion vector retained (mvx, mvy) is outputted (step S 209 ).
- the reference macro block (mvx, mvy) is outputted as a prediction macro block (step S 210 ).
- a general motion vector (gmvx, gmvy) is obtained from the deviation among the eight motion vectors found (dev_mvx, dev_mvy) and the average of the eight motion vectors (avg_mvx, avg_mvy) (step S 300 ).
- a search pattern number that defines a pattern of the search sequence is found from the direction of the general motion vector.
- step S 303 If the result of the determination made in step S 303 is true (YES), the search sequence pattern number is set to “1” (step S 304 ). On the other hand, if the determination result is false (NO), whether gmvx>0 and gmvy ⁇ 0 are true or false is determined (step S 305 ).
- step S 307 If the result of the determination made in step S 307 is true (YES), the search sequence pattern number becomes “3” (step S 308 ). On the other hand, if the determination result is false (NO), whether gmvx ⁇ 0 and gmvy ⁇ 0 are true or false is determined (step S 309 ).
- step S 311 If the result of the determination made in step S 311 is true (YES), the search sequence pattern number becomes “5” (step S 312 ). On the other hand, if the determination result is false (NO), whether gmvx ⁇ 0 and gmvy>0 are true or false is determined (step S 313 ).
- step S 315 If the result of the determination made in step S 315 is true (YES), the search sequence pattern number becomes “7” (step S 316 ). On the other hand, if the determination result is false (NO), the search sequence pattern number becomes “8” (step S 317 ).
- the motion vector search procedure performed by the motion vector search unit 104 in FIG. 1 is similar to the procedure shown in FIG. 7 .
- FIG. 9 is a block diagram of the structure of an encoding apparatus provided with the motion vector search apparatus in FIG. 1 .
- an MB dividing device 900 divides a frame picture inputted into units of MBs.
- An encoder 901 predictively encodes current MBs based on a predictive MB obtained from a motion vector search device 902 .
- the encoder 901 also encodes a motion vector obtained from the motion vector search device 902 .
- the motion vector search device 902 corresponds to the motion vector search apparatus in FIG. 1 .
- a frame that is the target of encoding is inputted, and the inputted frame picture is divided into MBs by the MB dividing device 900 .
- the encoder 901 encodes the inputted MBs according to the MPEG-4 encoding method (ISO/IEC 14496-2).
- MBs that have undergone localized decoding are transferred from the encoder 901 and stored in the motion vector search device 902 as a reference frame to be used when encoding the next frame.
- motion vector searches as described earlier are performed based on the MBs of the reference frame stored in the motion vector search device 902 and of the current frame inputted, and prediction MBs and their motion vectors are outputted. This operation is repeated.
- the MPEG-4 encoding method is used as an example of the application of the motion vector search apparatus, but the application of the present invention is not limited to this encoding method and can be applied to a motion compensation inter-picture prediction encoding method as well.
- the general motion vector search can be executed at an appropriate frame cycle, such as at an interval of a few frames.
- the number of specific macro blocks is eight according to the present embodiment, the number is not limited to this and may be other numbers.
- the positions of the specific macro blocks are indicated in FIG. 3 , but the positions may be otherwise.
- a spiral search sequence is applied to the motion vector search according to the present embodiment, other search sequences may be used.
- a difference evaluation value that evaluates the similarity between the encoding target macro block and the reference macro block is used as the difference absolute value when searching for a motion vector, values that use other evaluation functions can be used.
- Blocks resulting from sub-sampling a target block and a reference block used in the first embodiment may be used (see FIG. 10 ).
- a motion vector for a frame as a whole is detected according to the present embodiment by targeting a limited number of macro blocks.
- a motion vector search method with reduced number of searches but that is high-speed and appropriate can be provided.
- FIG. 11 is a block diagram of the detailed structure of a computer that realizes the motion vector search apparatus described above.
- a central processing unit (CPU) 500 controls and performs various processing of the entire computer.
- a memory 501 provides storage regions required for software, data and an operating system (OS) and operations, which are required to control the computer.
- OS operating system
- the memory 501 is also used as a work area when the CPU 500 performs various processing.
- the memory 501 stores the OS to control the entire computer and to operate various software, as well as software to be operated; it also has an area to read video data to be encoded, an encoding area to temporarily store encoding data, and a working area to store parameters for various operations.
- a storage apparatus (a storage medium) 503 stores various software, and a storage apparatus (a storage medium) 504 stores moving picture data.
- a monitor 505 displays pictures and system messages from the computer.
- a communications interface (I/F) 507 transmits encoding data to a communications circuit 508 , not shown.
- the communications I/F 507 is connected to a LAN, public telephone line, wireless communications or broadcast airwave external to the motion vector search apparatus realized with the computer.
- a terminal 506 is used to activate the computer and set various conditions, such as bit rate.
- the CPU 500 , the memory 501 , the terminal 506 , the storage apparatuses (storage media) 503 and 504 , the monitor 505 and the communications I/F 507 are mutually connected via a bus 502 , which allows the various elements to exchange data and control signals with each other.
- FIG. 12 is a flowchart that describes the operations of the computer configured as shown in FIG. 11 .
- moving picture data to be encoded is selected through the terminal 506 from among moving picture data stored in the storage apparatus 504 , and the computer is instructed to be activated (step S 101 ).
- the software stored in the storage apparatus 503 is developed in the memory 501 via the bus 502 and activated (step S 102 ).
- the CPU 500 encodes the moving picture data stored in the storage apparatus 504 by executing program codes (i.e., the software) according to the flowcharts shown in FIGS. 7 and 8 (step S 103 ).
- program codes i.e., the software
- FIGS. 7 and 8 step S 103 .
- the computer according to the present embodiment can function as a motion vector search apparatus that realizes the motion vector search according to the first embodiment.
- the present invention may be applicable to a system that is composed of a plurality of apparatuses (for example, a host computer, interface devices, readers, printers and the like), or to a unit that is composed of a single apparatus (for example, a copy machine, a facsimile machine or the like).
- a host computer for example, a host computer, interface devices, readers, printers and the like
- a unit that is composed of a single apparatus for example, a copy machine, a facsimile machine or the like.
- the present invention can be achieved by having a storage medium that stores program codes of software that realize the functions of the embodiments described above supplied to a system or an apparatus, and by having a computer (or a CPU or an MPU) of the system or the apparatus read and execute the program codes stored in the storage medium.
- the program codes themselves that are read from the storage medium realize the functions of the embodiment of the present invention
- the storage medium that stores the program codes constitute the present invention.
- the present invention is applicable not only when the program codes read by a computer are executed to realize the functions of the embodiments, but also when an operating system that operates on the computer performs a part or all of the actual processing based on the instructions contained in the program codes and thereby realizes the functions of the embodiments.
- the present invention is also applicable when the program codes that are read from the storage medium are written on a memory of an expansion board inserted into a computer or of an expansion unit connected to a computer, and a CPU provided on the expansion board or on the expansion unit performs a part or all of the actual processing based on the instructions contained in the program codes and thereby realizes the functions of the embodiments.
- synchronization control information appended to media data and synchronization control information appended to IPMP information are synchronized, and information that indicates timings to start processings that are defined by the IPMP information are generated in association with the respective synchronization control information.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP132839/2002 | 2002-05-08 | ||
JP2002132839A JP2003324743A (ja) | 2002-05-08 | 2002-05-08 | 動きベクトル探索装置及び動きベクトル探索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030215015A1 US20030215015A1 (en) | 2003-11-20 |
US7236527B2 true US7236527B2 (en) | 2007-06-26 |
Family
ID=29416651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/431,784 Expired - Fee Related US7236527B2 (en) | 2002-05-08 | 2003-05-08 | Motion vector search apparatus and method |
Country Status (2)
Country | Link |
---|---|
US (1) | US7236527B2 (enrdf_load_stackoverflow) |
JP (1) | JP2003324743A (enrdf_load_stackoverflow) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050265447A1 (en) * | 2004-05-25 | 2005-12-01 | Industry Academic Cooperation Foundation Kyunghee Univ. | Prediction encoder/decoder, prediction encoding/decoding method, and computer readable recording medium having recorded thereon program for implementing the prediction encoding/decoding method |
US20060062305A1 (en) * | 2004-09-17 | 2006-03-23 | Primax Electronics Ltd. | Method for block-matching motion estimation with effective computation while small motion movement |
US20070086525A1 (en) * | 2004-10-18 | 2007-04-19 | Wataru Asano | Motion vector detection method and device of the same |
US9113164B1 (en) | 2012-05-15 | 2015-08-18 | Google Inc. | Constant bit rate control using implicit quantization values |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9247251B1 (en) | 2013-07-26 | 2016-01-26 | Google Inc. | Right-edge extension for quad-tree intra-prediction |
US9350988B1 (en) | 2012-11-20 | 2016-05-24 | Google Inc. | Prediction mode-based block ordering in video coding |
US9407915B2 (en) | 2012-10-08 | 2016-08-02 | Google Inc. | Lossless video coding with sub-frame level optimal quantization values |
US9510019B2 (en) | 2012-08-09 | 2016-11-29 | Google Inc. | Two-step quantization and coding method and apparatus |
US9681128B1 (en) | 2013-01-31 | 2017-06-13 | Google Inc. | Adaptive pre-transform scanning patterns for video and image compression |
US9826229B2 (en) | 2012-09-29 | 2017-11-21 | Google Technology Holdings LLC | Scan pattern determination from base layer pixel information for scalable extension |
US20190188861A1 (en) * | 2017-12-19 | 2019-06-20 | Canon Europa N.V. | Method and apparatus for detecting motion deviation in a video sequence |
US20190188864A1 (en) * | 2017-12-19 | 2019-06-20 | Canon Europa N.V. | Method and apparatus for detecting deviation from a motion pattern in a video |
US11216957B2 (en) | 2017-12-19 | 2022-01-04 | Canon Kabushiki Kaisha | Method and apparatus for detecting motion deviation in a video |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694050B1 (ko) | 2004-06-11 | 2007-03-12 | 삼성전자주식회사 | 움직임 예측 방법 및 그 장치 |
US20050286777A1 (en) * | 2004-06-27 | 2005-12-29 | Roger Kumar | Encoding and decoding images |
US8019000B2 (en) * | 2005-02-24 | 2011-09-13 | Sanyo Electric Co., Ltd. | Motion vector detecting device |
KR100924641B1 (ko) | 2007-11-23 | 2009-11-02 | 한양대학교 산학협력단 | 움직임 추정을 위한 고속 블록 정합 방법 |
CN112104871B (zh) * | 2020-11-13 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 一种数据编码方法、装置以及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5161247A (en) * | 1988-12-16 | 1992-11-03 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor matching data blocks against a reference block and replacing the reference block when a new minimum distortion block is calculated |
US5818969A (en) * | 1995-05-12 | 1998-10-06 | Intel Corporation | Intelligent start for motion estimation search |
US6269174B1 (en) * | 1997-10-28 | 2001-07-31 | Ligos Corporation | Apparatus and method for fast motion estimation |
US20030123550A1 (en) * | 2001-12-31 | 2003-07-03 | Chung-Neng Wang | Fast motion estimation using N-queen pixel decimation |
US20030161400A1 (en) * | 2002-02-27 | 2003-08-28 | Dinerstein Jonathan J. | Method and system for improved diamond motion search |
US20050238103A1 (en) * | 2002-08-06 | 2005-10-27 | Raghavan Subramaniyan | Method and apparatus for performing high quality fast predictive motion search |
-
2002
- 2002-05-08 JP JP2002132839A patent/JP2003324743A/ja active Pending
-
2003
- 2003-05-08 US US10/431,784 patent/US7236527B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5161247A (en) * | 1988-12-16 | 1992-11-03 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor matching data blocks against a reference block and replacing the reference block when a new minimum distortion block is calculated |
US5818969A (en) * | 1995-05-12 | 1998-10-06 | Intel Corporation | Intelligent start for motion estimation search |
US6269174B1 (en) * | 1997-10-28 | 2001-07-31 | Ligos Corporation | Apparatus and method for fast motion estimation |
US20030123550A1 (en) * | 2001-12-31 | 2003-07-03 | Chung-Neng Wang | Fast motion estimation using N-queen pixel decimation |
US20030161400A1 (en) * | 2002-02-27 | 2003-08-28 | Dinerstein Jonathan J. | Method and system for improved diamond motion search |
US20050238103A1 (en) * | 2002-08-06 | 2005-10-27 | Raghavan Subramaniyan | Method and apparatus for performing high quality fast predictive motion search |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050265447A1 (en) * | 2004-05-25 | 2005-12-01 | Industry Academic Cooperation Foundation Kyunghee Univ. | Prediction encoder/decoder, prediction encoding/decoding method, and computer readable recording medium having recorded thereon program for implementing the prediction encoding/decoding method |
US20060062305A1 (en) * | 2004-09-17 | 2006-03-23 | Primax Electronics Ltd. | Method for block-matching motion estimation with effective computation while small motion movement |
US20070086525A1 (en) * | 2004-10-18 | 2007-04-19 | Wataru Asano | Motion vector detection method and device of the same |
US7852939B2 (en) * | 2004-10-18 | 2010-12-14 | Kabushiki Kaisha Toshiba | Motion vector detection method and device of the same |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9113164B1 (en) | 2012-05-15 | 2015-08-18 | Google Inc. | Constant bit rate control using implicit quantization values |
US9510019B2 (en) | 2012-08-09 | 2016-11-29 | Google Inc. | Two-step quantization and coding method and apparatus |
US9826229B2 (en) | 2012-09-29 | 2017-11-21 | Google Technology Holdings LLC | Scan pattern determination from base layer pixel information for scalable extension |
US9407915B2 (en) | 2012-10-08 | 2016-08-02 | Google Inc. | Lossless video coding with sub-frame level optimal quantization values |
US9350988B1 (en) | 2012-11-20 | 2016-05-24 | Google Inc. | Prediction mode-based block ordering in video coding |
US9681128B1 (en) | 2013-01-31 | 2017-06-13 | Google Inc. | Adaptive pre-transform scanning patterns for video and image compression |
US9247251B1 (en) | 2013-07-26 | 2016-01-26 | Google Inc. | Right-edge extension for quad-tree intra-prediction |
US20190188861A1 (en) * | 2017-12-19 | 2019-06-20 | Canon Europa N.V. | Method and apparatus for detecting motion deviation in a video sequence |
US20190188864A1 (en) * | 2017-12-19 | 2019-06-20 | Canon Europa N.V. | Method and apparatus for detecting deviation from a motion pattern in a video |
US10916017B2 (en) * | 2017-12-19 | 2021-02-09 | Canon Kabushiki Kaisha | Method and apparatus for detecting motion deviation in a video sequence |
US10922819B2 (en) * | 2017-12-19 | 2021-02-16 | Canon Kabushiki Kaisha | Method and apparatus for detecting deviation from a motion pattern in a video |
US11216957B2 (en) | 2017-12-19 | 2022-01-04 | Canon Kabushiki Kaisha | Method and apparatus for detecting motion deviation in a video |
Also Published As
Publication number | Publication date |
---|---|
JP2003324743A (ja) | 2003-11-14 |
US20030215015A1 (en) | 2003-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7236527B2 (en) | Motion vector search apparatus and method | |
JP7088606B2 (ja) | 動画処理方法、画像処理装置、プログラム、符号化デバイス、及び復号化デバイス | |
US20250159188A1 (en) | Method for predicting subblock-based temporal motion vector and apparatus therefor | |
EP1430724B1 (en) | Motion estimation and/or compensation | |
US6542642B2 (en) | Image coding process and motion detecting process using bidirectional prediction | |
US7796824B2 (en) | Video coding device, video decoding device and video encoding method | |
EP1779662B1 (en) | Method and device for motion estimation and compensation for panorama image | |
US5764803A (en) | Motion-adaptive modelling of scene content for very low bit rate model-assisted coding of video sequences | |
EP1389016B1 (en) | Improved motion estimation and block matching pattern | |
US6798977B2 (en) | Image data encoding and decoding using plural different encoding circuits | |
US9948944B2 (en) | Image coding apparatus and image coding method | |
JP2001507541A (ja) | スプライトベースによるビデオ符号化システム | |
US20020015513A1 (en) | Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded | |
US20080002774A1 (en) | Motion vector search method and motion vector search apparatus | |
WO2000045340A1 (en) | Efficient motion estimation for an arbitrarily-shaped object | |
US5883674A (en) | Method and apparatus for setting a search range for detecting motion vectors utilized for encoding picture data | |
US5699129A (en) | Method and apparatus for motion vector determination range expansion | |
US12137211B2 (en) | Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method, and picture decoding program | |
US20080219348A1 (en) | Data embedding apparatus, data extracting apparatus, data embedding method, and data extracting method | |
US20120177115A1 (en) | Encoding and decoding a video image sequence by image areas | |
US8509303B2 (en) | Video descriptor generation device | |
KR100895725B1 (ko) | 비디오 비트스트림 디코딩 방법 및 비디오 디코더 | |
JP2000069469A (ja) | 動画像符号化方法とシステム及び動画像復号方法とシステム | |
CA2812890C (en) | Mesh based frame processing and applications | |
Peng et al. | Hash-based line-by-line template matching for lossless screen image coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CANON KABUSHIKI KAISHA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OHIRA, TADASHI;REEL/FRAME:014061/0388 Effective date: 20030506 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20190626 |