CN1663280A - Motion estimation techniques for video encoding - Google Patents

Motion estimation techniques for video encoding Download PDF

Info

Publication number
CN1663280A
CN1663280A CN038142783A CN03814278A CN1663280A CN 1663280 A CN1663280 A CN 1663280A CN 038142783 A CN038142783 A CN 038142783A CN 03814278 A CN03814278 A CN 03814278A CN 1663280 A CN1663280 A CN 1663280A
Authority
CN
China
Prior art keywords
circle
pixels
location
video blocks
video
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
CN038142783A
Other languages
Chinese (zh)
Inventor
N·马拉亚斯
C·常
S·加里尔
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1663280A publication Critical patent/CN1663280A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Video encoding techniques are described. In one example, a video encoding technique includes identifying a pixel location associated with a video block in a search space based on motion vectors associated with a set of video blocks within a video frame to be encoded, wherein the video blocks in the set are spatially located at defined locations relative to a current video block of the video frame to be encoded. A motion estimation routine can then be initialized for the current video block at the identified pixel location. By identifying a pixel location associated with a video block in a search space based on motion vectors associated with a set of video blocks within a video frame, the phenomenon of spatial redundancy can be more readily exploited to accelerate and improve the encoding process.

Description

The motion estimation techniques that is used for video coding
Technical field
This announcement relates to Digital Video Processing, relates in particular to the coding of video sequence.
Background
Digital video capabilities can be incorporated in the various equipment, comprises Digital Television, numeral directly broadcast system, Wireless Telecom Equipment, PDA(Personal Digital Assistant), laptop computer, desktop computer, digital camera, digital recording equipment, honeycomb or satelline radio phone or the like.The remarkable improvement that provides in the full-motion video sequence better than the conventional simulation video system is being created, is revising, is sending, is storing, writing down and play to these and other digital-video equipment.
Set up multiple different video encoding standard and be used for the encoded digital video sequence.For example, Motion Picture Experts Group (MPEG) has developed some standards, comprises MPEG-1, MPEG-2 and MPEG-4.Other standard comprise ITU H.263, by the QuickTime of Apple's exploitation in the Cupertino city of California TMTechnology, by the Video for Windows of the Microsoft in Redmond city exploitation TM, by the Indeo of Intel company exploitation TM, State of Washington Seattle City the RealVideo of RealNetworks company TMAnd the Cinepak of SuperMac company exploitation TMThese and other standard comprises the standard that is about to exploitation, will continue development.
The transmission rate of many video encoding standards by realizing with the mode coded data of compressing improving.Compression can be reduced to the data total amount of the required transmission of effective transmission of frame of video.For example, mpeg standard uses figure and video compression technology, and this technology is designed to and can use on the obtainable bandwidth of compression transmission of video and image easily being narrower than.Particularly, the video coding technique of the similitude between the successive video frames is used in the mpeg standard support, is called time or frame-to-frame correlation, and the interframe compression is provided.Inter-frame compression techniques is utilized at the data redundancy between each frame by the expression that the expression based on pixel with frame of video converts motion to.In addition, video coding technique can be used the similitude in the frame, is called space or in-frame correlation, with further compressed video frame.Compression is encoded as discrete cosine transform (DCT) usually based on the texture coding process that is used to compress rest image in the frame.
For supporting compress technique, many digital-video equipments all comprise the encoder that is used for the compressed digital video sequence, and the decoder that is used for the decompress(ion) digital video sequences.In many cases, encoder has formed integrated encoder/decoder (codec (CODEC)) that block of pixels in the frame of definition sequence of video images is operated.For example, in the MPEG-4 standard, the frame of video that the encoder of transmitting apparatus will send usually is divided into the macro block that comprises less image block.For each macro block in the frame of video, encoder is searched for the last frame of video that is right after in macro block, with the most similar macro block of sign, and the difference between the macro block that will send encoded, and the indication motion vector that uses which macro block of former frame to encode.The decoder of receiving equipment receives the poor of motion vector and coding, and the execution motion compensation generates video sequence.
Video coding process is a computation-intensive, especially when using estimation.For example, the video blocks that will the encode a large amount of calculating of process need of comparing with the video blocks of the previous frame that sends.Therefore, expect very much improved coding techniques, more limited and the very important wireless device of power consumption or other portable video apparatus in particular for computational resource.Simultaneously, expect that improved compression reduces the required bandwidth of effective transmission of video sequence.One or more improvement of these factors all can make things convenient for or improve the real-time coding of video sequence, especially in wireless and other finite bandwidth are provided with.
General introduction
The invention describes the video coding technique that can be used for encoded video sequence.For example, the video encoder technology motion vector that can relate to based on one group of video blocks in the frame of video that will encode is identified at the location of pixels that is associated with video blocks in the search volume.Video blocks in this group video blocks can comprise the definite locational video blocks of current video block that is positioned at the frame of video that will encode relatively.Can on the location of pixels of sign, carry out initialization one motion estimation routine then to current video block.By being identified at the location of pixels that is associated with video blocks in the search volume, thereby can more easily utilize phenomenon of spatial redundancy to quicken and improve cataloged procedure based on the motion vector that is calculated that is associated with one group of video blocks in the frame of video.In various examples, initialized position can be used based on the linearity or the nonlinear function of the motion vector of one group of video blocks on the allocation calculate really in the video blocks that will encode relatively.For example, can use median function, mean function or weighting function based on the motion vector of this group video blocks.
In the search volume, on location of pixels, carry out after the initialization motion estimation routine of current video block of encoded video frame the motion estimation routine of executable code current video block.For reducing the quantity of the calculating in the cataloged procedure, motion estimation routine can comprise the non exhaustive search of video blocks in the search volume.For example, motion estimation routine can comprise that the radius of definition around the initialized location of pixels compare with the video blocks of the search volume that is associated with one group of interior location of pixels of this circle for the circle of (R) and the current video block that will encode.This circle can be enough big, to comprise at least five pixels.Yet, by being defined as, this circle enough comprises at least nine pixels greatly, as center pixel with around eight pixels of this center pixel, can improve this process by expection video motion on each direction.Also can use greater or lesser circle.This routine also can be included in sign in the circle produce lowest difference value video blocks location of pixels and when this location of pixels during corresponding to the center of circle, the motion vector that uses the location of pixels by the video blocks of sign generation lowest difference value in this circle the to define current video block of encoding.
Yet if the location of pixels that the interior sign of circle produces the video blocks of lowest difference value does not correspond to the center of circle of radius for the circle of (R), the location of pixels that can identify the video blocks that produces lowest difference value in this circle defines the new circle of radius for (R ') on every side.In this case, this routine also can comprise determine sign in the circle of radius for (R ') produce lowest difference value video blocks location of pixels and when this location of pixels during corresponding to the center of circle of the circle of radius for (R '), use is by the motion vector encoder current video block of this pixel definition.This routine can continue in a similar fashion, defines other circle when needed, up to the video blocks that produces lowest difference value corresponding to the center of circle.
Hereinafter these and other technology of describing in more detail can realize with hardware, software, firmware or its arbitrary combination in digital-video equipment.If realize with software, then this technology is at the computer-readable medium that comprises program code, when this program code is performed, then can carry out one or more in the coding techniques described in the invention.The other details of various embodiment is stated in appended claims, and is described later.Read the following description and drawings and claims, can know other features, objects and advantages.
Accompanying drawing is briefly described
Shown in Figure 1 is that wherein source device sends the block diagram of the example system of the video data sequences encoded to receiving equipment.
Shown in Figure 2 is the block diagram of example digital video device that combines the video encoder of encoded digital video sequence.
Fig. 3 is the concept figure of the example macroblock of video data.
Fig. 4 is the concept figure of example search space.
Shown in Figure 5 is the flow chart that can realize coming the video coding technique of initialization motion estimation routine in digital-video equipment.
Fig. 6-the 8th wherein uses the concept figure of the exemplary video frame that is similar to technology for encoding current video block shown in Figure 5.
Shown in Figure 9 is the flow chart that can realize carrying out the video coding technique of estimation in digital-video equipment.
Figure 10-the 13rd wherein carries out being similar to the concept figure that video coding technique shown in Figure 9 is searched the search volume of acceptable motion vector.
Shown in Figure 14 is the flow chart that can realize improving the video coding technique of real-time video coding in digital-video equipment.
Describe in detail
Generally speaking, this announcement is at the coding techniques of the coding that can be used for improving digital of digital video data.These technology can be carried out by the encoder of digital-video equipment, to reduce amount of calculation under some situation, quicken the processing time, improve data compression, and might reduce power consumption in video coding process.In this way, these coding techniquess can improve according to the video coding such as the standard of MPEG-4, and help realizing video coding at computational resource in the more limited and very important wireless device of power consumption.In addition, these technology can be configured to keep with such as the interoperability of decoding standards such as MPEG-4 decoding standard.
The video coding technique that the present invention describes can realize a kind of initialization technique of utilizing phenomenon of spatial redundancy.The video motion of the general measurable given video blocks of spatial redundancy may be similar to the video motion of another video blocks of contiguous given video blocks spatially.This initialization technique can more easily be utilized this phenomenon, to carry out the initialization estimation on the position that has the very high probability that comprises the video blocks that can be used for the effective video coding in the search volume.
More specifically, the motion vector that this initialization technique can use the video blocks of the video blocks that will encode to vicinity on the space to calculate, but with the position of sign initialization motion estimation routine in the search volume, that is, and the location of pixels that motion estimation routine begins in the search volume.For example, as hereinafter describing in more detail, can be based on the determined motion vector of video blocks of the current video block that before will encode to vicinity on the space, the location of pixels that comes calculating mean value location of pixels, intermediate value location of pixels or use weighting function to calculate.Also can use other linearity or nonlinear function.In either case, by initialization motion estimation routine in this way, can come accelerated video encoding by reducing the quantity in the search volume, search as to the required comparison of the video blocks of accepting to mate of the video blocks that will encode.This motion estimation routine can comprise the non exhaustive search in the search volume.Thus, the initialization in the search volume can be a pith of cataloged procedure, and it provides the starting point that may produce improved result of calculation in the given processing time.
The present invention has also described and has been used in the motion estimation techniques that the afterwards quick sign of initialization can be accepted motion vector.This motion estimation techniques can be carried out the non exhaustive search of search volume, to limit the quantity of performed calculating.In one example, motion estimation routine can be included in and define radius around the initialized location of pixels and compare with the video blocks of the search volume that is associated with one group of interior location of pixels of this circle for the circle of (R) and the current video block that will encode.This routine also can comprise when sign in this circle of sign produces location of pixels that the location of pixels and working as of the video blocks of lowest difference value identified corresponding to the center of circle, and use is by the defined motion vector of the location of pixels that the is identified current video block of encoding.
If the location of pixels that is identified of the video blocks of sign generation lowest difference value does not correspond to the center of circle of radius for the circle of (R) in this circle, then can around this location of pixels, define the new circle of radius for (R ').Radius (R) can equal radius (R '), although present technique is not limited to this relation.In either case, this motion estimation routine also can be included in radius for determine in the circle of (R ') sign produce lowest difference value video blocks location of pixels and when this location of pixels during corresponding to the center of circle of the circle of radius for (R '), use is by the defined motion vector of this location of pixels current video block of encoding.This motion estimation routine can continue in a similar fashion, defines other circle when needed, up to the center of the video blocks that produces lowest difference value corresponding to circle.In many cases, the video blocks of generation lowest difference value can be spatially near initial estimation.By define circle up to the video blocks that produces lowest difference value corresponding to the center of circle, can be very apace the accurate acceptable motion vector in location, and can reduce unwanted comparison and calculating.
The present invention has also described other coding techniques that can be used for improving real-time coding, especially prescribes a time limit when computational resource has.For example, in the video coding process of frame of video, can monitor available computational resources.If the video blocks early of the frame of video of having encoded very apace then can identify the calculating of being saved.In this case,, can use the encode later video blocks of same frame of video of more exhaustive search technique, use because the calculating of being saved that is associated with early video blocks can offer the coding of later video blocks as expectation.
The technology that the present invention describes can provide one or more advantages.For example, these technology can help reducing power consumption in video coding process, and can estimate routine real-time video coding easily and effectively by accelerated motion.These technology also can be improved video coding aspect video quality and compression, especially prescribe a time limit when computational resource has.Particularly, these technology can improve level of data compression with respect to some the routine search technology such as diamond search technology such as routine.The coding techniques that the present invention describes is more limited at computational resource and bandwidth, and is particularly useful in the very important wireless digital video equipment of power consumption or other portable video apparatus.
Shown in Figure 1 is the block diagram of example system 2, and wherein, source device 4 sends the video data sequences of having encoded by communication link 6 to receiving equipment 8.Source device 4 and receiving equipment 8 all are digital-video equipments.Particularly, source device 4 uses such as being encoded by in the various video compression standards such as MPEG-4 of Motion Picture Experts Group's exploitation any and sending video data.Other standard can comprise by MPEG-1, the MPEG-2 of Motion Picture Experts Group exploitation or other mpeg standard, ITU H.263 and similarly standard, by the QuickTime of Apple's exploitation in California Cupertino city TMTechnology, by the Video for Windows of the Microsoft in Redmond city exploitation TM, by the Indeo of Intel company exploitation TM, and by the Cinepak of SuperMac company exploitation TM
Communication link 6 can comprise Radio Link, physical transmission line, such as local area network (LAN) etc. based on the network of subregion, wide area network or such as the combination of global networks such as internet, public switched telephone network (PSTN) or various link and network.In other words, communication link 6 expression is used for video data is sent to the arbitrary suitable communication media of receiving equipment 8 from source device 4, maybe may be the different networks and the combination of link.
Source device 4 can be the arbitrary digital-video equipment that can encode and send video data.For example, source device 4 transmitter 14 that can comprise memory 22, the video encoder 20 that is used for coded sequence that is used for the storing digital video sequence and be used for sending the sequence of having encoded by communication link 6.For example, video encoder can comprise the digital signal processor (DSP) of the programmable software modules of carrying out the definition coding techniques.
Source device 4 also can comprise and be used for catching video sequence and store the imageing sensor 23 of the sequence of catching at memory 22, as video camera.In some cases, source device 4 can send the real-time video sequence by communication link 6.Under those situations, receiving equipment 8 can receive the real-time video sequence, and to user's display video sequence.
Receiving equipment 8 can be to receive also arbitrary digital-video equipment of decode video data.For example, receiving equipment 8 can comprise receiver 15, the decoder 16 that is used for decoding sequence that is used to receive the digital video sequences of having encoded and be used for display screen 18 to user's display sequence.
The example of source device 4 and receiving equipment 8 comprises the server, work station or other the desk-top computing equipment that are positioned on the computer network and such as mobile computing devices such as laptop computer or PDA(Personal Digital Assistant)s.Other example comprises the digital television broadcasting satellite and such as receiving equipments such as digital television, digital camera, Digital Video or other digital recording equipment, such as cellular radio with have digital video phones such as satellite radio telephone, other wireless video equipment of video capability or the like.
In some cases, each of source device 4 and receiving equipment 8 comprises that one is used for encoder/decoder (codec) (not shown) of Code And Decode digital of digital video data.In this case, source device 4 and receiving equipment 8 all can comprise transmitter and receiver, and memory and display screen.Hereinafter many coding techniquess of Miao Shuing are described in the environment of the digital-video equipment that comprises encoder.Yet, be appreciated that encoder can form the part of codec.In this case, codec can DSP, microprocessor, application-specific integrated circuit (ASIC) (ASIC), discrete hardware components or its various combinations realize.
For example, source device 4 can be operated the block of pixels in the sequence of frame of video, with coding video frequency data.For example, the video encoder 20 of source device 4 can be carried out the motion-estimation encoded technology, and wherein, the frame of video that send is divided into block of pixels (being referred to as video blocks).For each video blocks in the frame of video, video encoder 20 search of source device are stored in the video blocks in the memory 22, to find out the last frame of video (or back one frame of video) that has sent, identify similar video blocks, and the difference between the video blocks encoded, and the motion vector of the video blocks of the sign former frame (or back one frame) that is used to encode.The location of pixels that the motion vector definable is associated with the upper left corner of video blocks is although also can use other form of motion vector.In either case, come the encoded video piece, can reduce the required bandwidth of transmitting video data stream significantly by using motion vector.In some cases, source device 4 can be supported programmable threshold, and it can impel termination relatively various or that calculate in cataloged procedure, to reduce number of computations and to preserve power.
The receiver 15 of receiving equipment 8 can receive such as motion vector and the coding video frequency data of the poor form of having encoded.Decoder 16 is carried out motion compensation technique to generate video sequence, is used for showing to the user by display screen 18.The decoder 16 of receiving equipment 8 also can be realized by encoder/decoder (codec).In this case, digital video sequences can be encoded, be sent, receive the decode to source device 4 and receiving equipment 8.
Shown in Figure 2 is the block diagram of example digital video device 10, as combines the source device 4 that one or more technology of describing according to the present invention are come the video encoder 20 of encoded digital video sequence.The exemplary digital video device 10 that illustrates is wireless device, as mobile computing device, PDA(Personal Digital Assistant), Wireless Telecom Equipment, radio telephone or the like.Yet the unnecessary wireless device that is limited to of the technology in this announcement can be applied in other digital-video equipment that comprises non-wireless device easily.
In the example of Fig. 2, digital-video equipment 10 sends the digital video sequences of compression by transmitter 14 and antenna 12.Video encoder 20 is encoded video sequence before sending, and the digital video sequences of having encoded is buffered in the video memory 22.For example, as mentioned above, video encoder 20 can comprise the various combinations of programmable digital signal processor (DSP), microprocessor, one or more application-specific integrated circuit (ASIC) (ASIC), specialized hardware components or these equipment and assembly.But memory 22 store computer readable instructions and data are used in cataloged procedure by video encoder 20.For example, memory 22 can comprise Synchronous Dynamic Random Access Memory (SDRAM), flash memory, Electrically Erasable Read Only Memory (EPROM) or the like.
In some cases, digital-video equipment 10 comprises the imageing sensor 23 that is used to catch video sequence.For example, imageing sensor 23 can be caught video sequence, and before coding they is stored in the memory 22.Imageing sensor 23 also can couple directly to video encoder 22, with real-time improvement video coding.But realize the initialization routine hereinafter described and/or motion estimation routine coding techniques speech coding process, reduce power consumption, improve data compression and have and be beneficial to real-time video coding with relatively limited disposal ability equipment.
As example, imageing sensor 23 can comprise camera.Particularly, imageing sensor 23 can comprise charge coupled device (CCD), charge injecting device, photodiode array, complementary metal oxide semiconductors (CMOS) (CMOS) device or can captured video image or arbitrary other photosensitive device of digital video sequences.
Video encoder 20 can comprise the coding controller 24 that the control encryption algorithm is carried out.Video encoder 20 also can comprise the motion encoder 26 of the motion estimation techniques of carrying out the present invention's description.As needs, video encoder 20 also can comprise being generally used for compressing in the frame of rest image such as execution such as texture encoder (not shown) and compresses, as the add-on assemble of discrete cosine transform (DCT) coding.For example, except that estimation, can carry out texture coding, or may think that disposal ability estimates effective exercise too under the condition of limited with its alternative estimation.
The assembly of video encoder 20 can be included in DSP and go up the software module of carrying out.Alternatively, video encoder 20 one or more are included as one or more aspects of carrying out technology described in the invention and custom-designed nextport hardware component NextPort, or one or more ASIC.
Fig. 3 shows example video block with the form that can be stored in the macro block 31 in the memory 22.Mpeg standard and other Video Encoding Mode can utilize the video blocks of macro block mode in the estimation video coding process.In mpeg standard, term " macro block " refers to 16 * 16 set from the pixel value of frame of video subclass.Each pixel value can be by the data representation of a byte, although also can use the bit of more or less quantity to define each pixel to realize the image quality of expectation.Macro block can comprise some pixel image block 32 of littler 8 * 8.Yet generally speaking, the coding techniques that the present invention describes can use the piece of determining size arbitrarily to operate, as the macro block of 16 bytes * 16 bytes, the image block of 8 bytes * 8 bytes, perhaps if needed, with the video blocks of different sizes.
Fig. 4 shows the example search space 41 that can be stored in the memory.Search volume 41 is the set corresponding to the video blocks of the previous frame of video (or back frame of video of a series of frame of video) that sends.The search volume can comprise last or have a mind to the integral body of frame of video, perhaps if needed, comprise the subclass of frame of video.As shown in the figure, the search volume can be a rectangle, maybe can suppose any of various shapes and size.In either case, in video coding process, the present frame that will encode is compared with the piece in the search volume, to identify suitable coupling, makes that the difference between the similar video blocks can send together with the motion vector of this similar video piece of sign in current block and the search volume.
Initialization technique can be utilized phenomenon of spatial redundancy, makes that the initial of video blocks in current video block 42 and the search volume 41 more more may identify acceptable coupling.For example, hereinafter the technology of Miao Shuing can be used for identifying location of pixels 43, and it can identify in the search volume video blocks initial and that video blocks 42 compares.Can improve the likelihood of searching optimum movement vector to initialization, and can reduce and search the required average number of searches of acceptable motion vector near the position of optimum Match video blocks.For example, initialization can be motion estimation routine improved starting point is provided, and improved result of calculation in the given processing time section.
In the estimation video coding process, motion encoder 26 can use the present frame that will encode such as comparison technology such as absolute difference sum (SAD) technology or difference of two squares sum (SSD) technology and previous video blocks to compare.Also can use other comparison techniques.
The SAD technology relates to the pixel value of the current block that execution will encode and to its absolute difference task relatively between the last pixel value of current block relatively.With these absolute differences results added relatively, promptly add up, with definition indication current video block with to its difference of the difference between the last video blocks of current video block relatively.Pixel image block for 8 * 8 can be calculated and 64 differences of addition, and the pixel macroblock for 16 * 16 can be calculated and 256 differences of addition.The general indication of lower difference is preferable coupling with the video blocks that current video block compares, and is spendable than the better candidate blocks of video blocks that produces higher difference in the motion-estimation encoded process thus.In some cases, when the difference that adds up surpasses the threshold value of a definition, can stop calculating.In this case, do not need extra calculating, be used for carrying out effectively motion-estimation encoded because the video blocks that compares with current video block can't be accepted
The SSD technology also relates to the pixel value of the current block that execution will encode and to its task of calculating of the difference between the last pixel value of current block relatively.In the SSD technology, the result of absolute difference computation is asked square, then will square the value addition, promptly add up, with definition indication current video block and and the last video blocks that compares of current block between the difference of difference.Alternatively, can carry out such as mean square error (MSE), standardization cross-correlation function (NCCF) and wait other comparison techniques or another suitable comparison algorithm.
Shown in Figure 5 is the flow chart that can realize the video coding technique of initialization motion estimation routine in digital-video equipment.In the example of Fig. 5, video encoder 20 uses median function to calculate initialized location of pixels in the search volume.Yet, can use other linearity or nonlinear function to use principle of uniformity, as mean value or weighting function.
As shown in Figure 5, be the coding of initialization current video block, coding controller 24 calculates the intermediate value X coordinate pixel location (51) of the motion vector of adjacent video blocks.Similarly, coding controller 24 calculates the intermediate value Y coordinate pixel location (52) of the motion vector of adjacent video blocks.In other words, used previous calculating be positioned at respect to the current video block that will encode really the motion vector that is associated of one group of video blocks of allocation calculate the intermediate value X and Y coordinates.Adjacent video blocks can form and be positioned at respect to current video block one group of video blocks of allocation really.For example, depend on realization, this group video blocks of definable comprises or gets rid of some video blocks.In either case, then, the estimation of the current current video block of initialization (53) on the intermediate value X and Y coordinates.Exercise estimator 26 uses the routine search technology then or is similar to the acceptable motion vector (54) that search technique hereinafter described in detail is searched for current video block.
Fig. 6 is the concept figure that uses the exemplary video frame that is similar to technology for encoding current video block shown in Figure 5 therein.Particularly, can use previous calculating be positioned at respect to current video block 63 really the motion vector that is associated of one group of video blocks of allocation come the estimation of initialization current video block 63.In Fig. 6, be positioned at this group video blocks of determining the position and comprise adjacent piece 1 (62A), adjacent piece 2 (62B) and adjacent piece 3 (62C).Yet as mentioned, this group can define by various other forms, comprises or get rid of the video blocks that is positioned at respect to all places of current video block 63.
In the example of Fig. 6, can define the initialized location of the estimation that is used to carry out current block 63 in the search volume by following formula:
X Initially=intermediate value (X MV1, X MV2, X MV3)
Y Initially=intermediate value (Y MV1, Y MV2, Y MV3) alternatively, can use mean function, in this case, can be used to carry out the initialized location of the estimation of current block 63 by following formula definition search volume:
X Initially=mean value (X MV1, X MV2, X MV3)
Y Initially=mean value (Y MV1, Y MV2, Y MV3) also can use adjacent video blocks and the current video block that will encode between other linearity or nonlinear mathematics formula or relation.
In either case, by the initialized position of definition motion estimation search, can come speech coding by improving video blocks that quick sign will encode and the probability of accepting to mate between the video blocks in the search volume.(compare with Fig. 6) as shown in Figure 7, the adjacent video blocks that is formed for generating one group of video blocks of initialized location is included in respect to other of the position of current video block 63 determines piece in the position.In many cases, adjacent piece 62 can be depending on the direction of the video blocks of coded frame 61 with respect to the position of current block 63.
For example, the adjacent video blocks of having encoded of current video block 63 generally has calculated motion vector, and still uncoded other adjacent video blocks does not generally have motion vector.Thus, if the coding of video blocks from left to right, carry out from top to bottom, from the most upper left video blocks of frame 61, then can use the adjacent piece 62A-62C (Fig. 6) of the subclass of the adjacent video blocks that comprises current video block 63.Alternatively, if the coding of video blocks from right to left, carry out from top to bottom,, then can use the adjacent piece 62D-62F (Fig. 7) of the different subclass of the adjacent video blocks that comprises current video block 63 from the video blocks of the bottom right of frame 61.According to the principle of this announcement, definable is used to generate many other variations of the video blocks group of initialized location.For example, if very high-grade motion has taken place in video sequence, then can in this group, comprise with respect to current video block 63 than near adjacent block further from the video blocks position of determining of video blocks 63.
The initialization technique of Fig. 5 possibly can't be used for first video blocks of the frame 61 that will encode, because at that point, the motion vector of adjacent video blocks is unavailable.Yet in case identified one or more motion vectors of adjacent video blocks, initialization routine can begin in arbitrary moment thereafter.Under a specific situation, initialization technique can begin the coding of second video blocks in second row.Before this point, do not define the motion vector of three adjacent blocks usually.Yet in other cases, initialization routine can begin in the arbitrary moment at least one adjacent piece calculating kinematical vector of the video blocks that will encode.
As shown in Figure 8, can use the motion vector that is associated with the adjacent piece of the greater amount of current video block 63 to calculate initialized location in the search volume.Because more adjacent piece has been calculated more motion vector, can use more motion vector to calculate to be used on current video block, carrying out the initial position of estimation.In some cases, for utilizing the space correlation phenomenon more completely, when calculating initial position, can give the motion vector that is associated with the adjacent piece of contiguous current video block 42 on the space than with the space on the bigger weights of motion vector that are associated away from the adjacent piece of current video block 42.In other words, can use and calculate initialized pixel location such as weighting functions such as weighted average or weighted medians.For example, adjacent piece 1-4 can give the bigger weights of motion vector that are associated than with adjacent piece 5-10 (62H-62M) to the motion vector that is associated with adjacent piece 1-4 (62A, 62B, 62C and 62G), because more may be the video blocks of using in the motion-estimation encoded on statistics.Read this announcement, can know the modification that these and other is possible.
Shown in Figure 9 is the flow chart that can realize in digital-video equipment with the video coding technique of carrying out estimation.This technology can relate to the non exhaustive search of the video blocks in the search volume, to reduce the required number of computations of video coding.As shown in the figure, coding controller 24 is based on the motion vector initializtion estimation (91) that the adjacent video blocks of frame is calculated.For example, initialization procedure can comprise the process shown in Figure 5 that is similar to, and wherein, is used for initialized adjacent video blocks and comprises and being positioned at respect to the current video block that will encode one group of video blocks of allocation really.
In case calculated initialized location, exercise estimator 26 signs are by one group of video blocks (92) of the definition of the location of pixels in the circle of the radius (R) of initialized location.For example, radius (R) can be enough big, comprises the circle of at least five pixels with definition, although the also bigger radius of definable.More preferably, radius (R) is enough big, comprises the circle of at least 9 pixels with definition, that is, and and initialized location and closely around all eight location of pixels of initialized location.Initialized location and closely can improve search technique by the motion vector of expectation in may direction with respect to each of initialized location around comprising of all eight location of pixels of initialized location.
The current video block that exercise estimator 26 will be encoded then and compare by the defined video blocks of location of pixels in the circle (93).Exercise estimator 26 can identify the video blocks that produces lowest difference value then in circle.If being the video blocks that the center of circle of the circle of (R) defines, right radius produces lowest difference value, promptly, as by the defined minimum difference metric of comparison techniques (94 "Yes" branches) that uses, then exercise estimator 26 can use sign to be the motion vector of the video blocks of the center of circle definition of the circle of (R) current video block (95) of encoding by radius.For example, can use above-described SAD or SSD relatively.Yet, if right radius does not produce lowest difference value (94 "No" branches) for the video blocks of the center of circle definition of the circle of (R), then exercise estimator 26 signs are by the video blocks (96) of the location of pixels definition in the radius (R ') of the location of pixels of the video blocks of sign generation lowest difference value.
The video blocks that exercise estimator 26 will be encoded is then compared with the video blocks that is defined by the location of pixels in the circle of radius for (R ').Exercise estimator 26 can identify the video blocks that produces lowest difference value in the circle that radius is (R ').If the video blocks of the center of circle of the circle that is (R ') by radius definition produces lowest difference value, promptly as the defined minimum difference metric of comparison techniques (94 "Yes" branches) by use, then exercise estimator 26 uses the motion vector encoder current video block (95) of sign by the video blocks of the center of circle definition of the circle that radius is (R ').Yet if do not produce lowest difference value (94 "No" branches) by radius for the video blocks of the center of circle definition of the circle of (R '), it is that (process of the circle of R "), the rest may be inferred that exercise estimator 26 continues the another radius of definition.
If needed, each circle subsequently of definition can have the radius identical with last circle around the location of pixels that produces lowest difference value, or different radiuses.By the radius of definition, can under the situation of the exhaustive search that does not need the search volume, identify the best video block of using in the estimation apace with respect to the location of pixels that identifies successively recently of the video blocks that produces lowest difference value in the sign search volume.In addition, emulation shows as shown in Figure 9 search technique can realize improvement compression with respect to conventional diamond search technology, and this routine techniques operation minimizes with the difference of block of pixels that will be related with the pixel at the center of a rhombus group that is positioned at pixel.
Figure 10-the 13rd carries out being similar to the concept figure that video coding technique shown in Figure 9 is searched the search volume of acceptable motion vector therein.Every bit in the grid represents to identify the location of pixels of the unique video blocks in the search volume.This motion estimation routine can (X5 Y6) goes up initialization, as passing through to carry out initialization routine shown in Figure 5 at location of pixels.(X5, Y6) afterwards, exercise estimator 26 definition radiuses be the circle of (R), and will compare with the current video block that will encode with the video blocks in the search volume that radius is associated for the interior location of pixels of the circle of (R) having searched initialized location.Exercise estimator 26 then in radius is the circle of (R) sign produce the video blocks of lowest difference value.
If exercise estimator 26 determines that (then (X6 Y7) defines the circle of radius for (R ') on every side, as shown in figure 11 to exercise estimator 26 to location of pixels at location of pixels for X6, the Y7) video blocks of sign generation lowest difference value.Video blocks in the search volume that exercise estimator 26 will be associated with the location of pixels in the circle of radius for (R ') is then compared with the current video block that will encode.If exercise estimator 26 determine location of pixels (X6, Y8) sign produces the video blocks of lowest difference value, then exercise estimator 26 location of pixels (X6, Y8) define on every side another radius for (circle of R "), as shown in figure 12.Exercise estimator 26 will be that (video blocks in the search volume that the location of pixels in the circle of R ") is associated is compared with the current video block that will encode with radius then.If exercise estimator 26 determine location of pixels (X7, Y9) sign produces the video blocks of lowest difference value, then exercise estimator 26 location of pixels (X7, Y9) definition on every side again a radius be the circle of (R ).Exercise estimator 26 will be compared with the current block that will encode with the video blocks in the search volume that radius is associated for the location of pixels in the circle of (R ) then.Finally, exercise estimator 26 should be located the location of pixels corresponding to the generation lowest difference value in the center of circle.At that point, exercise estimator can use equally corresponding to the location of pixels of the generation lowest difference value in the center of circle motion vector as current video block.
At each new bowlder of definition, only need to carry out be not included in last circle in the comparison that is associated of location of pixels.In other words, with reference to Figure 11, be the circle of (R ') for radius, at that point, only need carry out with location of pixels (Y8, X5), (Y8, X6), (Y8, X7), (Y7, X7) and (Y6, the video blocks that X7) is associated.With other location of pixels in the circle that radius is (R '), promptly (Y7, X5), (Y7, X6), (Y6, X5) and (Y6, the video blocks that X6) is associated is carried out for the circle (Figure 10) of (R) with radius relevantly.
Radius (R), (R '), (R "), (R ) or the like can be equal to each other or not wait, and depend on realization.Equally, in some cases, the definable radius makes and comprises the pixel of bigger quantity that in each group this can improve the likelihood of searching optimum movement vector.Yet bigger radius will increase the number of computations to arbitrary given search.Yet, in either case, around each pixel that produces lowest difference value, define circle and can have the advantage that is better than other technology.For example, when around location of pixels, defining bowlder, can in comparison procedure, check the location of pixels that each is contiguous.In other words, closely can be included in the circle of definition around all eight location of pixels of center pixel.Still can avoid need by each of each pixel definition in the search volume may video blocks the exhaustive search of comparison, the video coding that this can obtain to quicken.
Shown in Figure 14 is the flow chart that can realize in digital-video equipment with another video coding technique of improving the real-time video coding.As shown in the figure, the estimation (141) of the current video block of the frame of video that will encode of coding controller 24 initialization.For example, initialization procedure can comprise the process that illustrates and describe with reference to figure 5-8 that is similar to, wherein, and the initial pixel locations in the sign search volume.In addition, initialization procedure can comprise that definition can be performed the scope of the search of the current video block of encoding.If current video block is then can define the hunting zone by the default value that is programmed in the coding controller 24 to first video blocks of frame of video coding.
After initialization, exercise estimator 26 searching motion vector in the search volume is with coding current video block (142).For example, search and cataloged procedure can comprise the process that illustrates and describe with reference to figure 9-13 that is similar to, wherein, define around the location of pixels round, up to the location of pixels of generation lowest difference value corresponding to the center of circle.Can limit the hunting zone, as can producing the time quantum of search by restriction, or the size of the circle that uses by restriction.Once more, can define the hunting zone by above-mentioned initialization.
If the frame of video of coding comprises other video blocks (143 "Yes" branches), then coding controller 24 identifies the remaining amount of computational resources of this frame (144).Coding controller 24 is the estimation (141) of the video blocks subsequently of the frame of video that will encode of initialization then.Save if in the cataloged procedure of early video blocks, realized calculating, then with to encode last video blocks can with resource compare, available volume of resources is increased.Computational resource can be defined by the clock speed of video encoder, and sends the desired resolution of video sequence according to the frame number of per second.
During the estimation of the video blocks subsequently of the frame of video that will encode when coding controller 24 initialization, initialization procedure comprises the process that defines the hunting zone once more.Yet in this case, the hunting zone can be based on the amount of available computational resources of sign.Thus, if carried out the coding of first video blocks very apace, then can use encode subsequently video blocks of more exhaustive search.For example, but when the more computational resource time spent, can increase and be used for defining around the location of pixels radius of a circle.These or similar techniques all can have at computational resource improves the real-time video encoding quality in limited time, as by improving the compression ratio of encoded video piece.In case all video blocks of the frame of video of having encoded (143 "No" branches), then equipment 10 can send the frame (145) of having encoded by transmitter 14 and antenna 12.
Table 1 has been listed the data of relatively collecting in the simulation process of the technology described of other routine techniques above.Be coded in to have on a large amount of relatively motion video sequence and realize.The exhaustive search technology of also using conventional diamond search technology and therein all video blocks of search volume and the video blocks that will encode the being compared same video sequence of encoding.For each technology, table 1 has been listed the maximum search quantity of average number of searches, each macro block of file size, signal to noise ratio, each macro block and the quantity of the required search of frame under worst case.Label " circle search " refers to the coding techniques that uses the process that is similar to Fig. 5 and Fig. 9.As intelligible by table 1, the technology that the present invention describes can realize improved compression with the number of searches of the minimizing of conventional relatively diamond search.The technology that the present invention describes possibly can't realize the compression level of full search.Yet in this example, the circle search technique only needs the mean value of 17.2 search of each macro block, and this and diamond search need 21.3 search of each macro block and full search to need 1024 search of each macro block to form contrast.
Table 1
The circle search Diamond search Full search
File size 61.1 kilobytes 65.7 kilobytes 54.8 kilobytes
Signal to noise ratio ????32.1 ????32.1 ????31.9
Average search number of times/piece ????17.2 ????21.3 ????1024
Maximum search number of times/piece ????32 ????32 ????-
Worst case frame (searching times) ????2614 ????2650 -
Numerous different embodiment have been described.For example, the search video coding technique that is used for the initialization search volume has been described, and the motion estimation techniques that is used to carry out this search.These technology can be improved video coding by the power consumption that calculating, speech coding process, the improvement avoided under some situation are compressed, also may be reduced in the video coding process.In this way, these technology can be improved according to the video coding such as standards such as MPEG-4, and can make things convenient for the realization of the video coding in the limited and very important wireless device of power consumption of computational resource better.In addition, these technology can not influence with such as the interoperability manipulation of decoding standards such as MPEG-4 decoding standard.
Yet, can make various modifications without departing from the scope of the appended claims.For example, initialization routine can be expanded to a plurality of initial pixel locations of calculating in the search volume.For example, can use different linearities or nonlinear function to calculate two or more initialized location based on respect to the video blocks that will the encode amount of movement of one group of video blocks of allocation really.Equally, can use be positioned at respect to the video blocks that will encode really the two or more different video blocks group of allocation calculate two or more initialized location.In some cases, the further speech coding process of the calculating of two or more initialized location.Read this announcement, can know these and other modification.
The technology that the present invention describes can hardware, software, firmware or its arbitrary combination realize.If realize with software, then these technology can be at the computer-readable medium that comprises program code, when carrying out these codes in the equipment of the video sequence that meets the MPEG-4 standard at coding, will carry out one or more in the above-described method.In this case, computer-readable medium can comprise random-access memory (ram), as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), nonvolatile ram (NVRAM), Electrically Erasable Read Only Memory (EEPROM), flash memory or the like.
Program code can computer-readable instruction form be stored in the memory.In this case, can carry out the instruction that is stored in the memory to realize the one or more of technology that the present invention describes such as processors such as DSP.In some cases, these technology can be carried out with the speech coding process by the DSP that calls various nextport hardware component NextPorts.In other cases, video encoder can microprocessor, one or more application-specific integrated circuit (ASIC), one or more field programmable gate array (FPGA) or a certain other hardware one combination of software realize.These and other embodiment is contained within the scope of appended claims.

Claims (54)

1. equipment is characterized in that it comprises:
One encoder, it uses a coding routine to come encoded video frame, described coding routine comprises based on the calculating kinematical vector that is associated with one group of video blocks in the frame of video and identifies a location of pixels that is associated with a video blocks in the search volume, video blocks in described group is positioned at respect to the current video block of the described frame of video that will encode really on the allocation, and to described current video initialization block one motion estimation routine on the location of pixels that is identified; And
One transmitter, it sends coded frame of video.
2. equipment as claimed in claim 1 is characterized in that, identify described location of pixels comprise based on be arranged in respect to described current video block really the motion vector that is associated of the video blocks of the described video blocks group on the allocation calculate one group of pixel coordinate.
3. equipment as claimed in claim 2 is characterized in that, calculate described pixel coordinate group comprise based on be arranged in respect to described current video block really the motion vector of the video blocks of the described video blocks group on the allocation calculate an intermediate value.
4. equipment as claimed in claim 2 is characterized in that, calculate described pixel coordinate group comprise based on be arranged in respect to described current video block really the motion vector of the video blocks of the described video blocks group on the allocation calculate a mean value.
5. equipment as claimed in claim 2, it is characterized in that, calculate described pixel coordinate group comprise based on be arranged in respect to described current video block really the motion vector of the video blocks of the described video blocks group of allocation calculate a weighting function, wherein, in described weighting function, give the bigger weights of motion vector that are associated than with video blocks in the described video blocks group of described current video block on the space to the motion vector that is associated with video blocks in the described video group of more contiguous described current video block on the space.
6. equipment as claimed in claim 1 is characterized in that, described encoder uses the described motion estimation routine described current video block of encoding, and described motion estimation routine comprises:
Around the location of pixels that is identified, define the circle of a radius for (R);
Described current block is compared with the video blocks of the search volume that is associated with the location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The location of pixels that is identified of video blocks that produces lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the motion vector of the location of pixels that is identified definition that produces the video blocks of lowest difference value by sign in the described circle described current video block of encoding.
7. equipment as claimed in claim 1, it is characterized in that, described encoder uses the described motion estimation routine described current video block of encoding, and described motion estimation routine comprises based on the amount of computational resources of determining of the described current video frame that can be used for encoding dynamically adjusts the number of computations that will carry out.
8. equipment is characterized in that it comprises:
One encoder, it passes through the following steps encoded video frame:
Be the current video block of encoded video frame, initialization one motion estimation routine on the location of pixels in the search volume;
Around described location of pixels, define the circle of a radius for (R);
Described current video block is compared with the video blocks of the search volume that is associated with one group of location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
When the location of pixels that is identified during, use by the defined motion vector of the location of pixels that the is identified described current video block of encoding corresponding to the center of circle of described circle; And
One transmitter, it sends coded frame of video.
9. equipment as claimed in claim 8, it is characterized in that, when described radius did not correspond to the center of circle of described circle for the location of pixels that is identified of the video blocks of sign generation lowest difference value in the circle of (R), described encoder was by the following steps described frame of video of encoding:
Around corresponding to the described location of pixels of described radius, do not define the circle of another radius for (R ') for the video blocks center of circle, sign generation lowest difference value of the circle of (R);
Identify the location of pixels of the video blocks of sign generation lowest difference value in the circle of described radius for (R ');
The described location of pixels of video blocks that produces lowest difference value when sign in the circle that described radius is (R ') is during corresponding to the center of circle of the circle of described radius for (R '), the motion vector of described location of pixels definition that uses sign in the circle of described radius for (R ') to produce the video blocks of the lowest difference value described current video block of encoding.
10. equipment as claimed in claim 9 is characterized in that R is approximately equal to R '.
11. equipment as claimed in claim 9, it is characterized in that, when the described location of pixels that produces the video blocks of lowest difference value for sign in the circle of (R) when described radius did not correspond to the center of circle of the circle that described radius is (R '), described encoder was by the following steps described frame of video of encoding:
Defining another radius around the described location of pixels of the video blocks center of circle that does not correspond to the circle of described radius for (R '), sign generation lowest difference value is (the circle of R ");
Identify described radius and be (the location of pixels of the video blocks of sign lowest difference value in the circle of R "); And
The described location of pixels of video blocks that produces lowest difference value when sign in the circle that described radius is (R ") is corresponding to described radius during for the center of circle of the circle of (R "), uses by described radius to be (the defined motion vector of described location of pixels that sign produces the video blocks of lowest difference value in the circle of R ") the described current video frame of encoding.
12. equipment as claimed in claim 8, it is characterized in that described equipment is selected from following group: digital television, Wireless Telecom Equipment, personal digital assistant, laptop computer, desktop computer, digital camera, recording digital code equipment, the satellite radio telephone that has the cellular radio of video capability and have video capability.
13. a method for video coding is characterized in that it comprises:
Identify a location of pixels in the search volume based on the motion vector of one group of video blocks in the frame of video, the video blocks in described group is positioned at respect to the current video block of the described frame of video that will encode really on the allocation; And
On the location of pixels that is identified, come initialization one motion estimation routine for described current video block.
14. method as claimed in claim 13 is characterized in that, be arranged in respect to described current video block really described group described video blocks on the allocation comprise the video blocks adjacent with described current video block.
15. method as claimed in claim 13 is characterized in that, identify described location of pixels comprise be based upon be arranged in respect to described current video block really the motion vector that calculates of the video blocks of the described video blocks group on the allocation calculate one group of pixel coordinate.
16. method as claimed in claim 15 is characterized in that, calculate described pixel coordinate group comprise be based upon be arranged in respect to described current video block really the motion vector that calculates of the video blocks of the described video blocks group on the allocation calculate an intermediate value.
17. method as claimed in claim 15 is characterized in that, calculate described pixel coordinate group comprise be based upon be arranged in respect to described current video block really the motion vector that calculates of the video blocks of the described video blocks group on the allocation calculate a mean value.
18. method as claimed in claim 15, it is characterized in that, calculate described pixel coordinate group comprise be based upon be arranged in respect to described current video block really the motion vector that calculates of the video blocks of the described video blocks group on the allocation calculate a weighting function, wherein, in described weighting function, the motion vector that calculates for the video blocks in described group of more contiguous described current video block on the space given the bigger weights of motion vector that calculate than for the video blocks in described group of described current video block on the space.
19. method as claimed in claim 13 is characterized in that, it also comprises uses the described motion estimation routine described current video frame of encoding.
20. method as claimed in claim 29 is characterized in that, described motion estimation routine comprises:
Around the location of pixels that is identified, define the circle of a radius for (R);
Described current video block is compared with the video blocks of the search volume that is associated with the location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The location of pixels that is identified of video blocks that produces lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the motion vector of the location of pixels that is identified definition that produces the video blocks of lowest difference value by sign in the described circle described current video block of encoding.
21. method as claimed in claim 20 is characterized in that, when the location of pixels that is identified of sign generation lowest difference value in the described circle does not correspond to the center of circle of described circle:
In described circle, define the circle of another radius around the location of pixels that is identified of the video blocks of sign generation lowest difference value for (R ');
Identify the location of pixels of the video blocks of sign generation lowest difference value in the circle of described radius for (R '); And
When described radius produces the location of pixels that is identified of the video blocks of lowest difference value corresponding to the center of circle of the circle of described radius for (R ') for sign in the circle of (R '), use by sign in the circle of described radius for (R ') and produce motion vector that the location of pixels that is identified of the video blocks of lowest difference value the defines described current video block of encoding.
22. method as claimed in claim 19 is characterized in that, described motion estimation routine comprises based on the amount of computational resources of determining of the described current video block that can be used for encoding dynamically adjusts the number of computations that will carry out.
23. a method is characterized in that it comprises:
Be the current video block of encoded video frame, initialization one motion estimation routine on the location of pixels in the search volume;
Around described location of pixels, define the circle of a radius for (R);
Described current video block is compared with the video blocks of the search volume that is associated with one group of location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
When the location of pixels that is identified during, use by the motion vector of the location of pixels definition that the is identified described current video block of encoding corresponding to the center of circle of described circle.
24. method as claimed in claim 23 is characterized in that, when it comprises that also working as the location of pixels that is identified does not correspond to the center of circle of described circle:
Around the location of pixels that is identified, define the circle of another radius for (R ');
Identify the location of pixels of the video blocks of sign generation lowest difference value in the circle of described radius for (R '); And
When described radius produces the location of pixels that is identified of the video blocks of lowest difference value corresponding to the center of circle of the circle of described radius for (R ') for sign in the circle of (R '), use by sign in the circle of described radius for (R ') and produce motion vector that the location of pixels that is identified of the video blocks of lowest difference value the defines described current video frame of encoding.
25. method as claimed in claim 24 is characterized in that R is approximately equal to R '.
26. method as claimed in claim 24 is characterized in that, it also comprises when described radius does not correspond to the center of circle of the circle of described radius for (R ') for the location of pixels that is identified that identifies the video blocks that produces lowest difference value in the circle of (R '):
Defining another radius described radius produces the location of pixels that is identified of the video blocks of lowest difference value for sign in the circle of (R ') around is (the circle of R ");
Identify described radius for (sign produces the location of pixels of the video blocks of lowest difference value in the circle of R "); And
When described radius for sign in the circle of (R ") produces the location of pixels that is identified of the video blocks of lowest difference value corresponding to described radius during for the center of circle of the circle of (R "), use by described radius to (sign produces motion vector that the location of pixels that is identified of the video blocks of lowest difference value the defines described current video block of encoding in the circle of R ").
27. a device is characterized in that it comprises:
One memory, it stores computer executable instructions; And
One processor, it carries out described instruction, so that:
Motion vector based on the calculating that is associated with one group of video blocks in the frame of video identifies a location of pixels that is associated with a video blocks in the search volume, and the video blocks in described group is positioned on the position of determining with respect to the current video block that will encode; And
On the location of pixels that is identified, be described current video initialization block one motion estimation routine.
28. device as claimed in claim 27, it is characterized in that, described processor based on be arranged in respect to described current video block really the motion vector that is associated of the video blocks of the described video blocks group on the allocation calculate an intermediate value, be used to identify described location of pixels.
29. device as claimed in claim 27 is characterized in that, described processor based on be arranged in respect to described current video block really the pixel coordinate of the video blocks of the described video blocks group on the allocation calculate a mean value, be used to identify described location of pixels.
30. device as claimed in claim 27, it is characterized in that, described processor based on be arranged in respect to described current video block really the motion vector of the video blocks of the described video blocks group on the allocation calculate a weighting function, be used to identify described location of pixels, wherein, in described weighting function, the motion vector that in described group, is associated with the video blocks of more contiguous described current video block on the space give than in described group with the space on the bigger weights of motion vector that are associated further from the video blocks of described current video block.
31. device as claimed in claim 27 is characterized in that, described processor is carried out described instruction to carry out described motion estimation routine, and wherein, described motion estimation routine comprises:
Around the location of pixels that is identified, define the circle of a radius for (R);
Described current video block is compared with the video blocks of the search volume that is associated with the location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The described location of pixels of video blocks that produces lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the described circle described current video block of encoding.
32. device as claimed in claim 27, it is characterized in that, described processor is carried out described instruction to carry out described motion estimation routine, wherein, described motion estimation routine comprises the quantity of dynamically adjusting the calculating that will carry out based on the amount of computational resources of determining of the described current video block that can be used for encoding.
33. a device is characterized in that it comprises:
One memory, it stores computer executable instructions; And
One processor, it carries out described instruction, so that:
Be the current video block of the frame of video of encoding, initialization one motion estimation routine on the location of pixels in the search volume;
Around described location of pixels, define the circle of a radius for (R);
Described current block is compared with the video blocks of the search volume that is associated with one group of location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The described location of pixels of video blocks that produces lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the described circle described current video block of encoding.
34. device as claimed in claim 33 is characterized in that, when described radius does not correspond to the center of circle of described circle for the described location of pixels that identifies the video blocks that produces lowest difference value in the circle of (R), and described processor execution command, so that:
Around corresponding to the described location of pixels of described radius, do not define the circle of another radius for (R ') for the video blocks center of circle, sign generation lowest difference value of (R);
Identify the location of pixels of the video blocks of sign generation lowest difference value in the circle of described radius for (R '); And
The described location of pixels of video blocks that produces lowest difference value when sign in the circle that described radius is (R ') is during corresponding to the center of circle of the circle of described radius for (R '), uses the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the circle of described radius for (R ') the described current video block of encoding.
35. the device according to MPEG-4 standard code video blocks is characterized in that, described device:
Motion vector based on the calculating that is associated with one group of video blocks in the frame of video identifies a location of pixels that is associated with a video blocks in the search volume, and described video blocks group is positioned at respect to the current video block of the described frame of video that will encode really on the allocation; And
On the location of pixels that is identified, be described current video initialization block one motion estimation routine.
36. device as claimed in claim 35 is characterized in that, described device comprises a digital signal processor, and its object computer instructions is with according to the described video blocks of MPEG-4 standard code.
37. the device according to MPEG-4 standard code video blocks is characterized in that, described device:
Be the current video block of the frame of video of encoding, initialization one motion estimation routine on the location of pixels in the search volume;
Around described location of pixels, define the circle of a radius for (R);
Described current video block is compared with the video blocks of the search volume that is associated with one group of location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The described location of pixels of video blocks that produces lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the described circle described current video block of encoding.
38. device as claimed in claim 37 is characterized in that, described device comprises a digital signal processor, and its object computer instructions is with according to the described video blocks of MPEG-4 standard code.
39. a computer-readable medium that comprises instruction is characterized in that, when carrying out described instruction in the equipment of the video sequence that meets the MPEG-4 standard at coding:
Motion vector based on the calculating that is associated with one group of video blocks in the frame of video identifies a location of pixels that is associated with a video blocks in the search volume, and the video blocks in described group is positioned at respect to the current video block of the described frame of video that will encode really on the allocation; And
On the location of pixels that is identified, be described current video initialization block one motion estimation routine.
40. computer-readable medium as claimed in claim 29 is characterized in that, be positioned at respect to described current video block really the described video blocks on the allocation comprise the video blocks adjacent with described current video block.
41. computer-readable medium as claimed in claim 39, it is characterized in that, it also comprises instruction, when described instruction is performed, by based on be arranged in respect to described current video block really the motion vector that is associated of the video blocks of the described video blocks group on the allocation calculate one group of pixel coordinate, be used to identify described location of pixels.
42. computer-readable medium as claimed in claim 41 is characterized in that, calculate described pixel coordinate group comprise based on be arranged in respect to described current video block really the motion vector of the video blocks of the described video blocks group on the allocation calculate an intermediate value.
43. computer-readable medium as claimed in claim 41 is characterized in that, calculates described pixel coordinate group and comprises based on being arranged in respect to described current video block motion vector computation one mean value of the video blocks of the described video blocks group on the allocation really.
44. computer-readable medium as claimed in claim 41, it is characterized in that, calculate described pixel coordinate group comprise based on be arranged in respect to described current video block really the motion vector that is associated of the video blocks of the described video blocks group on the allocation calculate a weighting function, wherein, in described weighting function, the motion vector that is associated with video blocks in described group of more contiguous described current video block on the space given the bigger weights of motion vector that are associated than the video blocks in described group of described current video block on the space.
45. computer-readable medium as claimed in claim 29 is characterized in that, it also comprises instruction, when described instruction is performed, uses the described motion estimation routine described current video block of encoding.
46. computer-readable medium as claimed in claim 45 is characterized in that, described motion estimation routine comprises:
Around the location of pixels that is identified, define the circle of a radius for (R);
Described current video block is compared with the video blocks of the search volume that is associated with the location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The described location of pixels of video blocks that produces lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the described circle described current video block of encoding.
47. computer-readable medium as claimed in claim 46 is characterized in that, described motion estimation routine also comprises when described radius does not correspond to the center of circle of described circle for the described location of pixels that identifies the video blocks that produces lowest difference value in the circle of (R):
Around corresponding to the described location of pixels of described radius, do not define the circle of another radius for (R ') for the video blocks center of circle, sign generation lowest difference value of the circle of (R);
Identify the location of pixels of the video blocks of sign generation lowest difference value in the circle of described radius for (R '); And
The described location of pixels of video blocks that produces lowest difference value when sign in the circle that described radius is (R ') is during corresponding to the center of circle of the circle of described radius for (R '), the motion vector of described location of pixels definition that uses sign in the circle of described radius for (R ') to produce the video blocks of the lowest difference value described current video frame of encoding.
48. computer-readable medium as claimed in claim 45 is characterized in that, described motion estimation routine comprises based on the amount of computational resources of determining of the described current video block that can be used for encoding dynamically adjusts the number of computations that will carry out.
49. a computer-readable medium that comprises instruction is characterized in that, when carrying out described instruction in the equipment of the video sequence that meets MPEG-4 at coding:
Be the current video block of the frame of video of encoding, initialization one motion estimation routine on the location of pixels in the search volume;
Around described location of pixels, define the circle of a radius for (R);
Described current video block is compared with the video blocks of the search volume that is associated with one group of location of pixels in the described circle;
Identify the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The described location of pixels of video blocks that produces lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the described circle described current video block of encoding.
50. computer-readable medium as claimed in claim 49 is characterized in that, when described radius does not correspond to the center of circle of described circle for the described location of pixels that identifies the video blocks that produces lowest difference value in the circle of (R), when described instruction is performed:
Around corresponding to the described location of pixels of described radius, do not define the circle of another radius for (R ') for the video blocks center of circle, sign generation lowest difference value of the circle of (R);
Identify the location of pixels of the video blocks of sign generation lowest difference value in the circle of described radius for (R '); And
The described location of pixels of video blocks that produces lowest difference value when sign in the circle that described radius is (R ') is during corresponding to the center of circle of the circle of described radius for (R '), uses the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the circle of described radius for (R ') the described current video block of encoding.
51. computer-readable medium as claimed in claim 50 is characterized in that R is approximately equal to R '.
52. computer-readable medium as claimed in claim 50, it is characterized in that, when described radius does not correspond to the center of circle of the circle of described radius for (R ') for the described location of pixels that identifies the video blocks that produces lowest difference value in the circle of (R '), when described instruction is performed:
Defining another radius around the described location of pixels center of circle that does not correspond to the circle of described radius for (R '), that identify the video blocks that produces lowest difference value is the (circle of R ");
Identify described radius for (sign produces the location of pixels of the video blocks of lowest difference value in the circle of R ");
The described location of pixels of video blocks that produces lowest difference value when sign in the circle that described radius is (R ") is corresponding to described radius during for the center of circle of the circle of (R "), uses by described radius to be the (motion vector of described location of pixels definition that sign produces the video blocks of lowest difference value in the circle of R ") the described current video frame of encoding.
53. a device is characterized in that it comprises:
Be used for identifying based on the motion vector of the calculating that is associated with one group of video blocks in the frame of video device of a location of pixels that is associated with a video blocks in the search volume, the video blocks in described group is positioned at respect to the current video block of the described frame of video that will encode really on the allocation; And
Be used on the location of pixels that is identified, being the device of described current video initialization block one motion estimation routine.
54. a device is characterized in that it comprises:
Be used to the present frame of coding one frame of video, the device of initialization one motion estimation routine on the location of pixels in the search volume;
Be used for around described location of pixels, defining the device of a radius for the circle of (R);
Be used for device that described current video block is compared with the video blocks of the search volume that is associated with one group of location of pixels in the described circle;
Be used to identify the device of the location of pixels of the video blocks of sign generation lowest difference value in the described circle; And
The described location of pixels of video blocks that is used for producing lowest difference value when sign in the described circle is during corresponding to the center of circle of described circle, uses the encode device of described current video frame of the motion vector of described location of pixels definition that produces the video blocks of lowest difference value by sign in the described circle.
CN038142783A 2002-06-18 2003-06-18 Motion estimation techniques for video encoding Pending CN1663280A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/176,028 2002-06-18
US10/176,028 US7817717B2 (en) 2002-06-18 2002-06-18 Motion estimation techniques for video encoding

Publications (1)

Publication Number Publication Date
CN1663280A true CN1663280A (en) 2005-08-31

Family

ID=29734037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038142783A Pending CN1663280A (en) 2002-06-18 2003-06-18 Motion estimation techniques for video encoding

Country Status (9)

Country Link
US (1) US7817717B2 (en)
EP (1) EP1514424A2 (en)
JP (1) JP2005530421A (en)
KR (1) KR100960847B1 (en)
CN (1) CN1663280A (en)
AU (1) AU2003238294A1 (en)
MY (1) MY139912A (en)
TW (1) TWI286906B (en)
WO (1) WO2003107680A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864837B2 (en) 2005-03-09 2011-01-04 Pixart Imaging Incorporation Motion estimation method utilizing a distance-weighted search sequence
WO2012122927A1 (en) * 2011-03-14 2012-09-20 Mediatek Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
CN103299630A (en) * 2011-01-19 2013-09-11 联发科技股份有限公司 Method and apparatus for parsing error robustness of temporal motion vector prediction
US8755437B2 (en) 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
CN111818333A (en) * 2020-06-16 2020-10-23 中国科学院深圳先进技术研究院 Intra-frame prediction method, device, terminal and storage medium

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050259878A1 (en) * 2004-05-20 2005-11-24 Broadcom Corporation Motion estimation algorithm
US20060120612A1 (en) * 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
EP1849304B9 (en) * 2005-01-28 2011-03-30 Thomson Licensing Method and apparatus for real-time frame encoding
US8761259B2 (en) * 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
GB2431787B (en) * 2005-10-31 2009-07-01 Hewlett Packard Development Co A method of tracking an object in a video stream
US8112247B2 (en) * 2006-03-24 2012-02-07 International Business Machines Corporation Resource adaptive spectrum estimation of streaming data
KR101107254B1 (en) * 2007-01-25 2012-01-20 삼성전자주식회사 Method for estimating motion vector using motion vector of near block and apparatus therefor
GB2457694B (en) * 2008-02-21 2012-09-26 Snell Ltd Method of Deriving an Audio-Visual Signature
TWI376645B (en) * 2008-07-29 2012-11-11 Sonix Technology Co Ltd Image processing methof of noise reduction and apparatus thereof
US8811485B1 (en) * 2009-05-12 2014-08-19 Accumulus Technologies Inc. System for generating difference measurements in a video processor
US9154805B2 (en) 2012-09-12 2015-10-06 Advanced Micro Devices, Inc. Video and image compression based on position of the image generating device
US9973780B2 (en) 2013-10-31 2018-05-15 Microsoft Technology Licensing, Llc Scaled video for pseudo-analog transmission in spatial domain
US10284875B2 (en) 2016-08-08 2019-05-07 Qualcomm Incorporated Systems and methods for determining feature point motion

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0250534B2 (en) 1985-12-24 1994-09-28 British Broadcasting Corporation Bandwidth compression for television signals
JPH01500236A (en) * 1986-03-19 1989-01-26 ブリティッシュ・ブロードキャスティング・コーポレーション Bandwidth compressed video signal reception and playback device
GB8729878D0 (en) * 1987-12-22 1988-02-03 Philips Electronic Associated Processing sub-sampled signals
US4979041A (en) * 1988-01-28 1990-12-18 Massachusetts Institute Of Technology High definition television system
US5021882A (en) * 1989-05-24 1991-06-04 Massachusetts Institute Of Technology Definition television systems
US4942666A (en) * 1989-11-28 1990-07-24 Chart Industries Ltd. Apparatus for measuring camber, caster and steering axis inclination of a vehicle
JPH0620050A (en) * 1992-07-03 1994-01-28 Matsushita Electric Ind Co Ltd Dynamic image signal decoding device and estimated motion vector calculation method
US5508744A (en) * 1993-03-12 1996-04-16 Thomson Consumer Electronics, Inc. Video signal compression with removal of non-correlated motion vectors
JP3017384B2 (en) * 1993-07-19 2000-03-06 シャープ株式会社 Feature region extraction device
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
JPH08140101A (en) 1994-11-11 1996-05-31 Kokusai Electric Co Ltd Method and device for detecting motion and image transmitter
US5619281A (en) * 1994-12-30 1997-04-08 Daewoo Electronics Co., Ltd Method and apparatus for detecting motion vectors in a frame decimating video encoder
US6020925A (en) * 1994-12-30 2000-02-01 Daewoo Electronics Co., Ltd. Method and apparatus for encoding a video signal using pixel-by-pixel motion prediction
JPH08205154A (en) 1995-01-27 1996-08-09 Kokusai Electric Co Ltd System and device for motion detection of prediction between motion compensation frames
KR0171154B1 (en) * 1995-04-29 1999-03-20 배순훈 Method and apparatus for encoding video signals using feature point based motion prediction
US5757668A (en) 1995-05-24 1998-05-26 Motorola Inc. Device, method and digital video encoder of complexity scalable block-matching motion estimation utilizing adaptive threshold termination
FR2742248B1 (en) * 1995-12-06 1998-01-23 Thomson Multimedia Sa METHOD FOR PROCESSING DATA IN MATRIX NETWORKS IN A MOTION ESTIMATION SYSTEM
KR100203656B1 (en) * 1996-04-09 1999-06-15 전주범 Apparatus for encoding contour of images
US6212237B1 (en) * 1997-06-17 2001-04-03 Nippon Telegraph And Telephone Corporation Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program
KR100251548B1 (en) * 1997-11-01 2000-04-15 구자홍 Apparatus of predicting motion for digital image and method thereof
US6137837A (en) * 1998-01-23 2000-10-24 Motorola, Inc. Motion estimation for digital video with reduced number of search window pixels
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
JP2000069481A (en) 1998-08-21 2000-03-03 Kdd Corp Moving vector detection device
TW444507B (en) * 1998-10-22 2001-07-01 Sony Corp Detecting method and device for motion vector
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6222883B1 (en) * 1999-01-28 2001-04-24 International Business Machines Corporation Video encoding motion estimation employing partitioned and reassembled search window
WO2000070879A1 (en) 1999-05-13 2000-11-23 Stmicroelectronics Asia Pacific Pte Ltd. Adaptive motion estimator
KR100677082B1 (en) * 2000-01-27 2007-02-01 삼성전자주식회사 Motion estimator
EP1152621A1 (en) 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
US6876703B2 (en) * 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
AU2001211860A1 (en) 2000-10-13 2002-04-22 Nanyang Technological University Centre For Signal Processing A hexagon-based fast search method for block motion estimation in video encoding

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864837B2 (en) 2005-03-09 2011-01-04 Pixart Imaging Incorporation Motion estimation method utilizing a distance-weighted search sequence
CN103299630A (en) * 2011-01-19 2013-09-11 联发科技股份有限公司 Method and apparatus for parsing error robustness of temporal motion vector prediction
US9300963B2 (en) 2011-01-19 2016-03-29 Mediatek Inc. Method and apparatus for parsing error robustness of temporal motion vector prediction
CN103299630B (en) * 2011-01-19 2016-10-19 寰发股份有限公司 The method and apparatus obtaining motion-vector prediction
US9525879B2 (en) 2011-01-19 2016-12-20 Hfi Innovation Inc. Method and apparatus for parsing error robustness of temporal motion vector prediction
WO2012122927A1 (en) * 2011-03-14 2012-09-20 Mediatek Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
US9307239B2 (en) 2011-03-14 2016-04-05 Mediatek Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
US9860552B2 (en) 2011-03-14 2018-01-02 Hfi Innovation Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
US8755437B2 (en) 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
CN111818333A (en) * 2020-06-16 2020-10-23 中国科学院深圳先进技术研究院 Intra-frame prediction method, device, terminal and storage medium
CN111818333B (en) * 2020-06-16 2022-04-29 中国科学院深圳先进技术研究院 Intra-frame prediction method, device, terminal and storage medium

Also Published As

Publication number Publication date
US20030231712A1 (en) 2003-12-18
MY139912A (en) 2009-11-30
US7817717B2 (en) 2010-10-19
WO2003107680A3 (en) 2004-02-19
EP1514424A2 (en) 2005-03-16
KR100960847B1 (en) 2010-06-07
AU2003238294A1 (en) 2003-12-31
TWI286906B (en) 2007-09-11
JP2005530421A (en) 2005-10-06
KR20050012794A (en) 2005-02-02
TW200402236A (en) 2004-02-01
WO2003107680A2 (en) 2003-12-24

Similar Documents

Publication Publication Date Title
CN1663280A (en) Motion estimation techniques for video encoding
US7359559B2 (en) Video encoding techniques
KR100937616B1 (en) Computationally constrained video encoding
RU2434360C2 (en) Adaptive coding of video block prediction mode
EP1653744A1 (en) Non-integer pixel sharing for video encoding
MX2007000254A (en) Method and apparatus for using frame rate up conversion techniques in scalable video coding.
CN1663278A (en) Techniques for video encoding and decoding
CN1232125C (en) Method for motion estimation (me) through discrete cosine transform (dct) and an apparatus therefor
CN1813478A (en) Method of encoding for handheld apparatuses
CN101516028B (en) Efficient video coding technique aiming at video call application in mobile network
WO2007089916A2 (en) Dynamic reference frame decision method and system
CN100581245C (en) Efficient rate control techniques for video encoding
US7860165B2 (en) Framework for fine-granular computational-complexity scalable motion estimation
CN1871859A (en) Power optimized collocated motion estimation method
Kuo et al. Distributed video coding with limited feedback requests
CN1717938A (en) Moving image system and method for coded mobile communication terminal
JP2005217499A (en) Image processor, image processing program, and image processing method
KR20050052756A (en) Moving estimation method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1080655

Country of ref document: HK

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1080655

Country of ref document: HK

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20050831