CA2230567A1 - Motion estimation and compensation of video object planes for interlaced digital video - Google Patents
Motion estimation and compensation of video object planes for interlaced digital videoInfo
- Publication number
- CA2230567A1 CA2230567A1 CA002230567A CA2230567A CA2230567A1 CA 2230567 A1 CA2230567 A1 CA 2230567A1 CA 002230567 A CA002230567 A CA 002230567A CA 2230567 A CA2230567 A CA 2230567A CA 2230567 A1 CA2230567 A1 CA 2230567A1
- Authority
- CA
- Canada
- Prior art keywords
- motion vector
- macroblock
- field
- vector components
- vertical motion
- 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.)
- Granted
Links
- 239000013598 vector Substances 0.000 claims abstract 310
- 238000000034 method Methods 0.000 claims abstract 39
- 238000012935 Averaging Methods 0.000 claims 16
- 238000006073 displacement reaction Methods 0.000 claims 16
- 230000005540 biological transmission Effects 0.000 claims 2
- 230000003252 repetitive effect Effects 0.000 abstract 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/649—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/563—Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
Abstract
A motion estimation and compensation technique is provided for interlaced digital video such as video object planes (VOPs). Predictor motion vectors for use in differentially encoding a current field coded macroblock (700) are obtained using the median of motion vectors (MV1, MV2, MV3) of surrounding blocks or macroblocks (712, 722, 732).
When a surrounding macroblock (820) is itself interlaced coded, an average motion vector for that macroblock is used, with fractional pixel values being mapped to the half-pixel. When the current block (912) is not interlaced coded but a surrounding block (820) is, the field motion vectors may be used individually or averaged. In a repetitive padding technique for an interlaced coded VOP (1,010), the even (0, 2, ..., 14) and odd (1, 3, ..., 15) lines of the VOP and surrounding block (1,000) are grouped. Within each field (1,210, 1,220), exterior pixels (1,6) are padded by setting them to the value of the nearest boundary pixel (0,6), or to an average of two boundary pixels (0,6;
1,7). The lines are then reordered to provide a single padded reference VOP image.
When a surrounding macroblock (820) is itself interlaced coded, an average motion vector for that macroblock is used, with fractional pixel values being mapped to the half-pixel. When the current block (912) is not interlaced coded but a surrounding block (820) is, the field motion vectors may be used individually or averaged. In a repetitive padding technique for an interlaced coded VOP (1,010), the even (0, 2, ..., 14) and odd (1, 3, ..., 15) lines of the VOP and surrounding block (1,000) are grouped. Within each field (1,210, 1,220), exterior pixels (1,6) are padded by setting them to the value of the nearest boundary pixel (0,6), or to an average of two boundary pixels (0,6;
1,7). The lines are then reordered to provide a single padded reference VOP image.
Claims (60)
1. A method for providing horizontal and vertical motion vector components for use in differentially encoding respective horizontal and vertical motion vector components of a current block of a digital video image, wherein:
candidate first, second and third blocks have associated horizontal and vertical motion vector components;
said first block being at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block being at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block being at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field-coded;
said method comprising at least one of the steps of:
(a) selecting a horizontal motion vector component for use in differentially encoding the horizontal motion vector component of said current block according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and (b) selecting a vertical motion vector component for use in differentially encoding the vertical motion vector component of said current block according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
candidate first, second and third blocks have associated horizontal and vertical motion vector components;
said first block being at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block being at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block being at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field-coded;
said method comprising at least one of the steps of:
(a) selecting a horizontal motion vector component for use in differentially encoding the horizontal motion vector component of said current block according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and (b) selecting a vertical motion vector component for use in differentially encoding the vertical motion vector component of said current block according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
2. The method of claim 1, wherein at least a particular one of said first, second and third macroblocks comprises a plurality of blocks, each of which have associated horizontal and vertical motion vector components suitable for use in differentially encoding said motion vector components of said current block, said method comprising the further step of:
selecting one of said plurality of blocks in said particular macroblock which is closest to an upper left-hand portion of said current block as the candidate block of said particular macroblock.
selecting one of said plurality of blocks in said particular macroblock which is closest to an upper left-hand portion of said current block as the candidate block of said particular macroblock.
3. The method of claim 1 or 2, comprising the further step of:
providing data for transmission with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
providing data for transmission with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
4. The method of one of the preceding claims, wherein:
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
5. The method of claim 4, wherein:
said horizontal motion vector component selecting step makes a selection according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said vertical motion vector component selecting step makes a selection according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
said horizontal motion vector component selecting step makes a selection according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said vertical motion vector component selecting step makes a selection according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
6. The method of claim 4 or 5, comprising the further steps of:
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said horizontal motion vector component selecting step makes a selection according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said vertical motion vector component selecting step makes a selection according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said horizontal motion vector component selecting step makes a selection according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said vertical motion vector component selecting step makes a selection according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
7. The method of claim 6, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
8. The method of one of claims 1 to 3, wherein said current block is a field coded macroblock having first and second fields, each with respective horizontal and vertical motion vector components, said method comprising the further steps of:
selecting a horizontal motion vector component for use in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and selecting a vertical motion vector component for use in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
selecting a horizontal motion vector component for use in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and selecting a vertical motion vector component for use in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
9. The method of claim 8, wherein at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
10. The method of claim 9, wherein:
said horizontal motion vector component selecting step makes a selection for encoding said horizontal motion vector component of said first field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
said horizontal motion vector component selecting step makes a selection for encoding said horizontal motion vector component of said second field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
said vertical motion vector component selecting step makes a selection for encoding said vertical motion vector component of said first field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock; and said vertical motion vector component selection step makes a selection for encoding said vertical motion vector component of said second field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
said horizontal motion vector component selecting step makes a selection for encoding said horizontal motion vector component of said first field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
said horizontal motion vector component selecting step makes a selection for encoding said horizontal motion vector component of said second field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
said vertical motion vector component selecting step makes a selection for encoding said vertical motion vector component of said first field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock; and said vertical motion vector component selection step makes a selection for encoding said vertical motion vector component of said second field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
11. The method of claim 9, comprising the further steps of:
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the selected horizontal motion vector component for use in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the selected vertical motion vector component for use in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the selected horizontal motion vector component for use in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the selected vertical motion vector component for use in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
12. The method of claim 11, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement
13. A method for decoding a current block of digital video image data, said current block having associated differentially encoded horizontal and vertical motion vector components, comprising at least one of the steps of:
(a) determining a horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block according to a value based on horizontal motion vector components of first, second and third candidate blocks; and (b) determining a vertical motion vector component used in differentially encoding a vertical motion vector component of said current block according to a value based on vertical motion vector components of said first, second and third candidate blocks; wherein:
said first block is at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block is at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block is at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field coded.
(a) determining a horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block according to a value based on horizontal motion vector components of first, second and third candidate blocks; and (b) determining a vertical motion vector component used in differentially encoding a vertical motion vector component of said current block according to a value based on vertical motion vector components of said first, second and third candidate blocks; wherein:
said first block is at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block is at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block is at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field coded.
14. The method of claim 13, wherein:
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
15. The method of claim 14, wherein:
the horizontal motion vector component used in encoding the horizontal motion vector component of said first field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
the horizontal motion vector component used in encoding the horizontal motion vector component of said second field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
the vertical motion vector component used in encoding the vertical motion vector component of said first field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock; and the vertical motion vector component used in encoding the vertical motion vector component of said second field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
the horizontal motion vector component used in encoding the horizontal motion vector component of said first field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
the horizontal motion vector component used in encoding the horizontal motion vector component of said second field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
the vertical motion vector component used in encoding the vertical motion vector component of said first field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock; and the vertical motion vector component used in encoding the vertical motion vector component of said second field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
16. The method of claim 14 or 15, comprising the further steps of:
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the horizontal motion vector component used in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the vertical motion vector component used in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the horizontal motion vector component used in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the vertical motion vector component used in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
17. The method of claim 16, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
18. The method of one of claims 13 to 17, wherein said current block is a field coded macroblock having first and second fields, each with respective horizontal and vertical motion vector components, said method comprising the further steps of:
determining a horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value based on the horizontal motion vector components of said first, second and third candidate blocks; and determining a vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value based on the vertical motion vector components of said first, second and third candidate blocks.
determining a horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value based on the horizontal motion vector components of said first, second and third candidate blocks; and determining a vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value based on the vertical motion vector components of said first, second and third candidate blocks.
19. The method of claim 18, wherein at least one of said candidate blocks is a field coded macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
20. The method of claim 19, wherein:
the horizontal motion vector component used in differentially encoding said horizontal motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said vertical motion vector component used in differentially encoding said vertical motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
the horizontal motion vector component used in differentially encoding said horizontal motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said vertical motion vector component used in differentially encoding said vertical motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
21. The method of claim 19, comprising the further steps of:
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
22. The method of claim 21, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
23. The method of one of claims 13 to 22, wherein:
the horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block is determined according to a median of the horizontal motion vector components of said first, second and third candidate blocks; and the vertical motion vector component used in differentially encoding said vertical motion vector component of said current block is determined according to a median of the vertical motion vector components of said first, second and third candidate blocks.
the horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block is determined according to a median of the horizontal motion vector components of said first, second and third candidate blocks; and the vertical motion vector component used in differentially encoding said vertical motion vector component of said current block is determined according to a median of the vertical motion vector components of said first, second and third candidate blocks.
24. The method of one of claims 13 to 23, comprising the further step of:
decoding said candidate first, second and third blocks to recover said horizontal and vertical motion vector components associated therewith.
decoding said candidate first, second and third blocks to recover said horizontal and vertical motion vector components associated therewith.
25. The method of one of claims 13 to 24, comprising the further step of:
recovering transmitted data with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
recovering transmitted data with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
26. The method of claim 25, wherein:
said coding mode designates the motion vector components of one of said candidate first, second and third blocks as being the same as the motion vector components used in differentially encoding the motion vector components of said current block.
said coding mode designates the motion vector components of one of said candidate first, second and third blocks as being the same as the motion vector components used in differentially encoding the motion vector components of said current block.
27. The method of one of claims 13 to 26, wherein said digital video image comprises macroblocks which are processed row by row, comprising the further steps of:
processing said second and third macroblocks in said preceding row to recover said horizontal and vertical motion vector components associated therewith;
storing said horizontal and vertical motion vector components associated with said second and third macroblocks;
processing said first macroblock in said current row to recover said horizontal and vertical motion vector components associated therewith; and subsequently retrieving said horizontal and vertical motion vector components associated with said second and third macroblocks for use in said at least one of said determining steps.
processing said second and third macroblocks in said preceding row to recover said horizontal and vertical motion vector components associated therewith;
storing said horizontal and vertical motion vector components associated with said second and third macroblocks;
processing said first macroblock in said current row to recover said horizontal and vertical motion vector components associated therewith; and subsequently retrieving said horizontal and vertical motion vector components associated with said second and third macroblocks for use in said at least one of said determining steps.
28. A method for padding a digital video image which includes a field coded video object plane (VOP) comprising top and bottom field pixel lines carried in an interleaved order to provide a reference padded VOP, said VOP being carried, at least in part, in a region which includes pixels which are exterior to boundary pixels of said VOP, said method comprising the steps of:
processing said top and bottom field pixel lines from said interleaved order to provide a top field block comprising said top field pixel lines, and a bottom field block comprising said bottom field pixel lines; and padding said exterior pixels separately within said respective top and bottom field blocks.
processing said top and bottom field pixel lines from said interleaved order to provide a top field block comprising said top field pixel lines, and a bottom field block comprising said bottom field pixel lines; and padding said exterior pixels separately within said respective top and bottom field blocks.
29. The method of claim 28, comprising the further step of:
processing said top and bottom field pixel lines comprising said padded exterior pixels in said interleaved order.
processing said top and bottom field pixel lines comprising said padded exterior pixels in said interleaved order.
30. The method of claim 28 or 29, wherein:
when a particular one of said exterior pixels is located between two of said boundary pixels of said VOP in the corresponding field block, said padding step comprises the further step of:
assigning said particular one of said exterior pixels a value according to an average of said two boundary pixels.
when a particular one of said exterior pixels is located between two of said boundary pixels of said VOP in the corresponding field block, said padding step comprises the further step of:
assigning said particular one of said exterior pixels a value according to an average of said two boundary pixels.
31. The method of claim 28 or 29, wherein:
when a particular one of said exterior pixels is located between one of said boundary pixels of said VOP and an edge of said region in the corresponding field block, but not between two of said boundary pixels of said VOP in the corresponding field block, said padding step comprises the further step of.
assigning said particular one of said exterior pixels a value according to said one of said boundary pixels.
when a particular one of said exterior pixels is located between one of said boundary pixels of said VOP and an edge of said region in the corresponding field block, but not between two of said boundary pixels of said VOP in the corresponding field block, said padding step comprises the further step of.
assigning said particular one of said exterior pixels a value according to said one of said boundary pixels.
32. The method of claim 28 or 29, wherein:
when a particular one of said exterior pixels is located between two edges of said region in the corresponding field block, but not between one of said boundary pixels of said VOP and an edge of said region in the corresponding field block, and not between two of said boundary pixels of said VOP in the corresponding field block, said padding step comprises the further step of:
assigning said particular one of said exterior pixels a value according to at least one of:
(a) a padded exterior pixel which is closest to said particular one of said exterior pixels moving horizontally in said region in the corresponding field block; and (b) a padded exterior pixel which is closest to said particular one of said exterior pixels moving vertically in said region in the corresponding field block.
when a particular one of said exterior pixels is located between two edges of said region in the corresponding field block, but not between one of said boundary pixels of said VOP and an edge of said region in the corresponding field block, and not between two of said boundary pixels of said VOP in the corresponding field block, said padding step comprises the further step of:
assigning said particular one of said exterior pixels a value according to at least one of:
(a) a padded exterior pixel which is closest to said particular one of said exterior pixels moving horizontally in said region in the corresponding field block; and (b) a padded exterior pixel which is closest to said particular one of said exterior pixels moving vertically in said region in the corresponding field block.
33. An apparatus for providing horizontal and vertical motion vector components for use in differentially encoding respective horizontal and vertical motion vector components of a current block of a digital video image, wherein:
candidate first, second and third blocks have associated horizontal and vertical motion vector components;
said first block being at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block being at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block being at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field coded;
said apparatus comprising at least one of:
(a) means for selecting a horizontal motion vector component for use in differentially encoding the horizontal motion vector component of said current block according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and (b) means for selecting a vertical motion vector component for use in differentially encoding the vertical motion vector component of said current block according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
candidate first, second and third blocks have associated horizontal and vertical motion vector components;
said first block being at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block being at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block being at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field coded;
said apparatus comprising at least one of:
(a) means for selecting a horizontal motion vector component for use in differentially encoding the horizontal motion vector component of said current block according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and (b) means for selecting a vertical motion vector component for use in differentially encoding the vertical motion vector component of said current block according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
34. The apparatus of claim 33, wherein at least a particular one of said first, second and third macroblocks comprises a plurality of blocks, each of which have associated horizontal and vertical motion vector components suitable for use in differentially encoding said motion vector components of said current block, said apparatus further comprising:
means for selecting one of said plurality of blocks in said particular macroblock which is closest to an upper left-hand portion of said current block as the candidate block of said particular macroblock.
means for selecting one of said plurality of blocks in said particular macroblock which is closest to an upper left-hand portion of said current block as the candidate block of said particular macroblock.
35. The apparatus of claim 33 or 34, further comprising:
means for providing data for transmission with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
means for providing data for transmission with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
36. The apparatus of one of claims 33 to 35, wherein:
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
37. The apparatus of claim 36, wherein:
said means for selecting a horizontal motion vector component makes a selection according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said means for selecting a vertical motion vector component makes a selection according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
said means for selecting a horizontal motion vector component makes a selection according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said means for selecting a vertical motion vector component makes a selection according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
38. The apparatus of claim 36, further comprising:
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said means for selecting a horizontal motion vector component makes a selection according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said means for selecting a vertical motion vector component makes a selection according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said means for selecting a horizontal motion vector component makes a selection according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said means for selecting a vertical motion vector component makes a selection according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
39. The apparatus of claim 38, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
40. The apparatus of one of claims 33 to 35, wherein:
said current block is a field coded macroblock having first and second fields, each with respective horizontal and vertical motion vector components;
said horizontal motion vector component selecting means selects a horizontal motion vector component for use in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and said vertical motion vector component selecting means selects a vertical motion vector component for use in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
said current block is a field coded macroblock having first and second fields, each with respective horizontal and vertical motion vector components;
said horizontal motion vector component selecting means selects a horizontal motion vector component for use in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the horizontal motion vector components of said first, second and third candidate blocks; and said vertical motion vector component selecting means selects a vertical motion vector component for use in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value derived from the vertical motion vector components of said first, second and third candidate blocks.
41. The apparatus of claim 40, wherein:
at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
42. The apparatus of claim 41, wherein:
said means for selecting a horizontal motion vector component makes a selection for encoding said horizontal motion vector component of said first field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
said means for selecting a horizontal motion vector component makes a selection for encoding said horizontal motion vector component of said second field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
said means for selecting a vertical motion vector component makes a selection for encoding said vertical motion vector component of said first field of said current macroblock according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock;
and said means for selecting a vertical motion vector component makes a selection for encoding said vertical motion vector component of said second field of said current macroblock according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
said means for selecting a horizontal motion vector component makes a selection for encoding said horizontal motion vector component of said first field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
said means for selecting a horizontal motion vector component makes a selection for encoding said horizontal motion vector component of said second field of said current macroblock according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
said means for selecting a vertical motion vector component makes a selection for encoding said vertical motion vector component of said first field of said current macroblock according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock;
and said means for selecting a vertical motion vector component makes a selection for encoding said vertical motion vector component of said second field of said current macroblock according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
43. The apparatus of claim 41 or 42, further comprising:
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the selected horizontal motion vector component for use in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the selected vertical motion vector component for use in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the selected horizontal motion vector component for use in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the selected vertical motion vector component for use in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
44. The apparatus of claim 43, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
45. An apparatus for decoding a current block of digital video image data, said current block having associated differentially encoded horizontal and vertical motion vector components, comprising at least one of:
(a) means for determining a horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block according to a value based on horizontal motion vector components of first, second and third candidate blocks; and (b) means for determining a vertical motion vector component used in differentially encoding a vertical motion vector component of said current block according to a value based on vertical motion vector components of said first, second and third candidate blocks; wherein:
said first block is at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block is at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block is at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field coded.
(a) means for determining a horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block according to a value based on horizontal motion vector components of first, second and third candidate blocks; and (b) means for determining a vertical motion vector component used in differentially encoding a vertical motion vector component of said current block according to a value based on vertical motion vector components of said first, second and third candidate blocks; wherein:
said first block is at least a portion of a first macroblock which immediately precedes said current block in a current row;
said second block is at least a portion of a second macroblock which is immediately above said current block in a preceding row;
said third block is at least a portion of a third macroblock which immediately follows said second macroblock in said preceding row; and at least one of said first, second and third candidate blocks and said current block is field coded.
46. The apparatus of claim 45, wherein:
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
said current block is a progressive-coded or advanced prediction-coded block; and at least one of said candidate blocks is a field coded candidate macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
47. The apparatus of claim 46, wherein:
the horizontal motion vector component used in encoding the horizontal motion vector component of said first field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
the horizontal motion vector component used in encoding the horizontal motion vector component of said second field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
the vertical motion vector component used in encoding the vertical motion vector component of said first field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock; and the vertical motion vector component used in encoding the vertical motion vector component of said second field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
the horizontal motion vector component used in encoding the horizontal motion vector component of said first field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the first field of said least one field coded candidate macroblock;
the horizontal motion vector component used in encoding the horizontal motion vector component of said second field of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the horizontal motion vector components of the second field of said at least one field coded candidate macroblock;
the vertical motion vector component used in encoding the vertical motion vector component of said first field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the first field of said least one field coded candidate macroblock; and the vertical motion vector component used in encoding the vertical motion vector component of said second field of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) the vertical motion vector components of the second field of said at least one field coded candidate macroblock.
48. The apparatus of claim 46, further comprising:
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the horizontal motion vector component used in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the vertical motion vector component used in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component; wherein:
the horizontal motion vector component used in differentially encoding the horizontal motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
the vertical motion vector component used in differentially encoding the vertical motion vector component(s) of at least one of said first and second fields of said current macroblock is determined according to a median of (i) the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and (ii) said at least one corresponding averaged vertical motion vector component.
49. The apparatus of claim 48, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
50. The apparatus of claim 45, wherein said current block is a field coded macroblock having first and second fields, each with respective horizontal and vertical motion vector components, said apparatus further comprising:
means for determining a horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value based on the horizontal motion vector components of said first, second and third candidate blocks; and means for determining a vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value based on the vertical motion vector components of said first, second and third candidate blocks.
means for determining a horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock according to a value based on the horizontal motion vector components of said first, second and third candidate blocks; and means for determining a vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock according to a value based on the vertical motion vector components of said first, second and third candidate blocks.
51. The apparatus of claim 50, wherein at least one of said candidate blocks is a field coded macroblock having first and second fields, each with respective horizontal and vertical motion vector components.
52. The apparatus of claim 51, wherein:
the horizontal motion vector component used in differentially encoding said horizontal motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said vertical motion vector component used in differentially encoding said vertical motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
the horizontal motion vector component used in differentially encoding said horizontal motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks, including said corresponding horizontal motion vector components of said first and second fields of said at least one field coded candidate macroblock; and said vertical motion vector component used in differentially encoding said vertical motion vector components of at least one of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks, including said corresponding vertical motion vector components of said first and second fields of said at least one field coded candidate macroblock.
53. The apparatus of claim 51 or 52, further comprising:
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
means for averaging the respective first and second field horizontal motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged horizontal motion vector component;
wherein said horizontal motion vector component used in differentially encoding said horizontal motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the horizontal motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged horizontal motion vector component; and means for averaging the respective first and second field vertical motion vector components of the at least one field coded candidate macroblock to obtain at least one corresponding averaged vertical motion vector component; wherein:
said vertical motion vector component used in differentially encoding said vertical motion vector components of said first and second fields of said current field coded macroblock is determined according to a median of the vertical motion vector components of said candidate blocks other than said at least one field coded candidate macroblock, if any, and said at least one corresponding averaged vertical motion vector component.
54. The apparatus of claim 53, wherein:
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
the first and second field horizontal motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement; and the first and second field vertical motion vector components of the at least one field coded candidate macroblock are averaged such that all fractional pixel offsets are mapped to a half-pixel displacement.
55. The apparatus of one of claims 45 to 52, wherein:
the horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block is determined according to a median of the horizontal motion vector components of said first, second and third candidate blocks; and the vertical motion vector component used in differentially encoding said vertical motion vector component of said current block is determined according to a median of the vertical motion vector components of said first, second and third candidate blocks.
the horizontal motion vector component used in differentially encoding said horizontal motion vector component of said current block is determined according to a median of the horizontal motion vector components of said first, second and third candidate blocks; and the vertical motion vector component used in differentially encoding said vertical motion vector component of said current block is determined according to a median of the vertical motion vector components of said first, second and third candidate blocks.
56. The apparatus of one of claims 45 to 55, further comprising:
a decoder for decoding said candidate first, second and third blocks to recover said horizontal and vertical motion vector components associated therewith.
a decoder for decoding said candidate first, second and third blocks to recover said horizontal and vertical motion vector components associated therewith.
57. The apparatus of one of claims 45 to 56, further comprising:
means for recovering transmitted data with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
means for recovering transmitted data with said at least one differentially encoded motion vector component indicating whether said current block is field coded.
58. The apparatus of claim 57, wherein:
said coding mode designates the motion vector components of one of said candidate first, second and third blocks as being the same as the motion vector components used in differentially encoding the motion vector components of said current block.
said coding mode designates the motion vector components of one of said candidate first, second and third blocks as being the same as the motion vector components used in differentially encoding the motion vector components of said current block.
59. The apparatus of one of claims 45 to 58, wherein said digital video image comprises macroblocks which are processed row by row, further comprising:
means for processing said second and third macroblocks in said preceding row to recover said horizontal and vertical motion vector components associated therewith;
means for storing said horizontal and vertical motion vector components associated with said second and third macroblocks;
means for processing said first macroblock in said current row to recover said horizontal and vertical motion vector components associated therewith; and means for subsequently retrieving said horizontal and vertical motion vector components associated with said second and third macroblocks for use by said at least one of said means for determining.
means for processing said second and third macroblocks in said preceding row to recover said horizontal and vertical motion vector components associated therewith;
means for storing said horizontal and vertical motion vector components associated with said second and third macroblocks;
means for processing said first macroblock in said current row to recover said horizontal and vertical motion vector components associated therewith; and means for subsequently retrieving said horizontal and vertical motion vector components associated with said second and third macroblocks for use by said at least one of said means for determining.
60. An apparatus for padding a digital video image which includes a field coded video object plane (VOP) comprising top and bottom field pixel lines carried in an interleaved order to provide a reference padded VOP, said VOP being carried, at least in part, in a region which includes pixels which are exterior to boundary pixels of said VOP, said apparatus comprising:
means for processing said top and bottom field pixel lines from said interleaved order to provide a top field block comprising said top field pixel lines, and a bottom field block comprising said bottom field pixel lines; and means for padding said exterior pixels separately within said respective top and bottom field blocks.
means for processing said top and bottom field pixel lines from said interleaved order to provide a top field block comprising said top field pixel lines, and a bottom field block comprising said bottom field pixel lines; and means for padding said exterior pixels separately within said respective top and bottom field blocks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2702769A CA2702769C (en) | 1997-03-07 | 1998-02-25 | Motion estimation and compensation of video object planes for interlaced digital video |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4012097P | 1997-03-07 | 1997-03-07 | |
US60/040,120 | 1997-03-27 | ||
US4224597P | 1997-03-31 | 1997-03-31 | |
US60/042,245 | 1997-03-31 | ||
US08/897,847 | 1997-07-21 | ||
US08/897,847 US6005980A (en) | 1997-03-07 | 1997-07-21 | Motion estimation and compensation of video object planes for interlaced digital video |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2702769A Division CA2702769C (en) | 1997-03-07 | 1998-02-25 | Motion estimation and compensation of video object planes for interlaced digital video |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2230567A1 true CA2230567A1 (en) | 1998-09-07 |
CA2230567C CA2230567C (en) | 2010-07-06 |
Family
ID=27365663
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2702769A Expired - Lifetime CA2702769C (en) | 1997-03-07 | 1998-02-25 | Motion estimation and compensation of video object planes for interlaced digital video |
CA2230567A Expired - Lifetime CA2230567C (en) | 1997-03-07 | 1998-02-25 | Motion estimation and compensation of video object planes for interlaced digital video |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2702769A Expired - Lifetime CA2702769C (en) | 1997-03-07 | 1998-02-25 | Motion estimation and compensation of video object planes for interlaced digital video |
Country Status (9)
Country | Link |
---|---|
US (2) | US6005980A (en) |
EP (1) | EP0863675A3 (en) |
JP (1) | JPH114441A (en) |
KR (1) | KR19980080012A (en) |
CN (1) | CN1171460C (en) |
BR (1) | BR9800853A (en) |
CA (2) | CA2702769C (en) |
NO (1) | NO980950L (en) |
TW (1) | TW373409B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8787463B2 (en) | 2009-08-13 | 2014-07-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
Families Citing this family (222)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69801794T2 (en) * | 1997-01-30 | 2002-06-13 | Matsushita Electric Ind Co Ltd | METHOD FOR REFRESHING A DIGITAL IMAGE, DEVICE FOR IMAGE PROCESSING AND DATA CARRIER |
EP1010318A4 (en) | 1997-02-14 | 2001-01-31 | Univ Columbia | Object-based audio-visual terminal and bitstream structure |
AU1941797A (en) * | 1997-03-17 | 1998-10-12 | Mitsubishi Denki Kabushiki Kaisha | Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system |
US6404813B1 (en) | 1997-03-27 | 2002-06-11 | At&T Corp. | Bidirectionally predicted pictures or video object planes for efficient and flexible video coding |
US6233356B1 (en) * | 1997-07-08 | 2001-05-15 | At&T Corp. | Generalized scalability for video coder based on video objects |
US6993201B1 (en) | 1997-07-08 | 2006-01-31 | At&T Corp. | Generalized scalability for video coder based on video objects |
EP0892559A1 (en) * | 1997-07-18 | 1999-01-20 | Texas Instruments Inc. | Padding of object border blocks for motion estimation and transform coding in an object-oriented video coder |
KR100244291B1 (en) * | 1997-07-30 | 2000-02-01 | 구본준 | Method for motion vector coding of moving picture |
JPH1169356A (en) * | 1997-08-25 | 1999-03-09 | Mitsubishi Electric Corp | Dynamic image encoding system and dynamic image decoding system |
KR100238889B1 (en) * | 1997-09-26 | 2000-01-15 | 전주범 | Apparatus and method for predicting border pixel in shape coding technique |
KR100535632B1 (en) * | 1997-10-17 | 2006-04-12 | 주식회사 팬택앤큐리텔 | Apparatus and method for shape information encoding / decoding to adaptively border |
DE19746611A1 (en) * | 1997-10-22 | 1999-04-29 | Bosch Gmbh Robert | Contour encoding method for image sequence |
SG116400A1 (en) * | 1997-10-24 | 2005-11-28 | Matsushita Electric Ind Co Ltd | A method for computational graceful degradation inan audiovisual compression system. |
CN1117480C (en) * | 1997-12-01 | 2003-08-06 | 三星电子株式会社 | Sport-vector predicting method |
WO1999040726A2 (en) * | 1998-02-06 | 1999-08-12 | Koninklijke Philips Electronics N.V. | Motion or depth estimation |
US7199836B1 (en) * | 1998-02-13 | 2007-04-03 | The Trustees Of Columbia University In The City Of New York | Object-based audio-visual terminal and bitstream structure |
KR100374717B1 (en) * | 1998-03-05 | 2003-03-04 | 주식회사 팬택앤큐리텔 | Method and apparatus for subsampling chrominance signal shape information for interlaced scan type image |
JP3382173B2 (en) * | 1998-03-10 | 2003-03-04 | 株式会社ハイニックスセミコンダクター | Method and apparatus for setting VOP boundary rectangle for interlaced video signal |
KR100285599B1 (en) * | 1998-03-14 | 2001-04-02 | 전주범 | Device and method for texture padding for motion estimation in alternate line encoding |
US7630570B1 (en) | 1998-05-06 | 2009-12-08 | At&T Intellectual Property Ii, L.P. | Method and apparatus to prioritize video information during coding and decoding |
JPH11341496A (en) * | 1998-05-28 | 1999-12-10 | Matsushita Electric Ind Co Ltd | Image processing method, image processing unit and data storage medium |
JP3270008B2 (en) * | 1998-06-26 | 2002-04-02 | 沖電気工業株式会社 | Shape information encoding / decoding device |
US6480538B1 (en) * | 1998-07-08 | 2002-11-12 | Koninklijke Philips Electronics N.V. | Low bandwidth encoding scheme for video transmission |
US6501861B1 (en) * | 1998-09-17 | 2002-12-31 | Samsung Electronics Co., Ltd. | Scalable coding/decoding methods and apparatus for producing still image using wavelet transformation |
US6563953B2 (en) | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
US6983018B1 (en) * | 1998-11-30 | 2006-01-03 | Microsoft Corporation | Efficient motion vector coding for video compression |
KR100382516B1 (en) * | 1999-01-15 | 2003-05-01 | 주식회사 팬택앤큐리텔 | Object-based image signal coding/decoding apparatus and method |
US6483874B1 (en) * | 1999-01-27 | 2002-11-19 | General Instrument Corporation | Efficient motion estimation for an arbitrarily-shaped object |
US6499060B1 (en) | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
WO2000065829A1 (en) * | 1999-04-26 | 2000-11-02 | Koninklijke Philips Electronics N.V. | Sub-pixel accurate motion vector estimation and motion-compensated interpolation |
EP1061750A3 (en) * | 1999-06-18 | 2010-05-05 | THOMSON multimedia | Picture compression process, especially of the MPEG2 type |
US6735249B1 (en) | 1999-08-11 | 2004-05-11 | Nokia Corporation | Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding |
KR20010019704A (en) * | 1999-08-30 | 2001-03-15 | 정선종 | Macroblock-based object-oriented coding method of image sequence having a stationary background |
JP2001145020A (en) * | 1999-11-12 | 2001-05-25 | Canon Inc | Image editor and method |
US7286724B2 (en) * | 1999-12-06 | 2007-10-23 | Hyundai Curitel, Inc. | Method and apparatus for searching, browsing and summarizing moving image data using fidelity for tree-structure moving image hierarchy |
KR100619377B1 (en) * | 2000-02-22 | 2006-09-08 | 주식회사 팬택앤큐리텔 | Motion estimation method and device |
KR20010094698A (en) * | 2000-04-06 | 2001-11-01 | 오병석 | A Multimedia Contents Service System and a Method thereof |
CN1178512C (en) * | 2000-05-15 | 2004-12-01 | 松下电器产业株式会社 | Image decoding method and device and image decoding program recording medium |
US6650705B1 (en) * | 2000-05-26 | 2003-11-18 | Mitsubishi Electric Research Laboratories Inc. | Method for encoding and transcoding multiple video objects with variable temporal resolution |
US6757330B1 (en) | 2000-06-01 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Efficient implementation of half-pixel motion prediction |
US6847684B1 (en) | 2000-06-01 | 2005-01-25 | Hewlett-Packard Development Company, L.P. | Zero-block encoding |
US7084877B1 (en) * | 2000-06-06 | 2006-08-01 | General Instrument Corporation | Global motion estimation for sprite generation |
US6449312B1 (en) * | 2000-06-08 | 2002-09-10 | Motorola, Inc. | Method of estimating motion in interlaced video |
US8005145B2 (en) | 2000-08-11 | 2011-08-23 | Nokia Corporation | Method and apparatus for transferring video frame in telecommunication system |
JP2002064825A (en) * | 2000-08-23 | 2002-02-28 | Kddi Research & Development Laboratories Inc | Region dividing device of image |
US6665450B1 (en) * | 2000-09-08 | 2003-12-16 | Avid Technology, Inc. | Interpolation of a sequence of images using motion analysis |
US20020062368A1 (en) * | 2000-10-11 | 2002-05-23 | David Holtzman | System and method for establishing and evaluating cross community identities in electronic forums |
US7058130B2 (en) * | 2000-12-11 | 2006-06-06 | Sony Corporation | Scene change detection |
US7023491B2 (en) * | 2001-02-28 | 2006-04-04 | Thomson Licensing | Method and device for displaying frozen pictures on video display device |
EP1374430A4 (en) * | 2001-03-05 | 2005-08-17 | Intervideo Inc | Systems and methods for error resilient encoding |
US6987866B2 (en) * | 2001-06-05 | 2006-01-17 | Micron Technology, Inc. | Multi-modal motion estimation for video sequences |
FR2830159A1 (en) * | 2001-09-24 | 2003-03-28 | Thomson Licensing Sa | CODING PROCEDURE ACCORDING TO THE MPEG STANDARD |
BR0206308B1 (en) | 2001-11-06 | 2018-01-09 | Matsushita Electric Ind Co Ltd | "encoding method for encoding an image" |
CN100562112C (en) * | 2001-11-06 | 2009-11-18 | 松下电器产业株式会社 | Dynamic image encoding method |
US20030103567A1 (en) * | 2001-12-03 | 2003-06-05 | Riemens Abraham Karel | Motion compensation and/or estimation |
CN101448162B (en) * | 2001-12-17 | 2013-01-02 | 微软公司 | Method for processing video image |
CN102316320B (en) * | 2001-12-17 | 2014-07-09 | 微软公司 | Skip macroblock coding |
JP4114859B2 (en) * | 2002-01-09 | 2008-07-09 | 松下電器産業株式会社 | Motion vector encoding method and motion vector decoding method |
CN100508616C (en) * | 2002-01-24 | 2009-07-01 | 株式会社日立制作所 | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
US7317840B2 (en) * | 2002-02-26 | 2008-01-08 | Decegama Angel | Methods for real-time software video/audio compression, transmission, decompression and display |
US7630569B2 (en) | 2002-02-26 | 2009-12-08 | Decegama Angel | Real-time software video/audio transmission and display with content protection against camcorder piracy |
US7194676B2 (en) | 2002-03-01 | 2007-03-20 | Avid Technology, Inc. | Performance retiming effects on synchronized data in an editing system |
US7602848B2 (en) * | 2002-03-26 | 2009-10-13 | General Instrument Corporation | Methods and apparatus for efficient global motion compensation encoding and associated decoding |
US8284844B2 (en) | 2002-04-01 | 2012-10-09 | Broadcom Corporation | Video decoding system supporting multiple standards |
US7305034B2 (en) * | 2002-04-10 | 2007-12-04 | Microsoft Corporation | Rounding control for multi-stage interpolation |
US7110459B2 (en) * | 2002-04-10 | 2006-09-19 | Microsoft Corporation | Approximate bicubic filter |
US7620109B2 (en) * | 2002-04-10 | 2009-11-17 | Microsoft Corporation | Sub-pixel interpolation in motion estimation and compensation |
US7116831B2 (en) * | 2002-04-10 | 2006-10-03 | Microsoft Corporation | Chrominance motion vector rounding |
KR20040099100A (en) * | 2002-04-19 | 2004-11-26 | 마쯔시다덴기산교 가부시키가이샤 | Method of calculating motion vector |
EP3525464B1 (en) * | 2002-04-19 | 2021-03-03 | Panasonic Intellectual Property Corporation of America | Picture coding and decoding method and system |
JP2003319391A (en) | 2002-04-26 | 2003-11-07 | Sony Corp | Encoding apparatus and method, decoding apparatus and method, recording medium, and program |
US20030202590A1 (en) * | 2002-04-30 | 2003-10-30 | Qunshan Gu | Video encoding using direct mode predicted frames |
US6678003B2 (en) | 2002-05-21 | 2004-01-13 | Alcon, Inc. | Image deinterlacing system for removing motion artifacts and associated methods |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US7224731B2 (en) * | 2002-06-28 | 2007-05-29 | Microsoft Corporation | Motion estimation/compensation for screen capture video |
US7280700B2 (en) | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
CN101039427B (en) * | 2002-07-15 | 2010-06-16 | 株式会社日立制作所 | Moving picture decoding method |
US8228849B2 (en) * | 2002-07-15 | 2012-07-24 | Broadcom Corporation | Communication gateway supporting WLAN communications in multiple communication protocols and in multiple frequency bands |
JP4724351B2 (en) * | 2002-07-15 | 2011-07-13 | 三菱電機株式会社 | Image encoding apparatus, image encoding method, image decoding apparatus, image decoding method, and communication apparatus |
KR100865034B1 (en) * | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | Method for predicting motion vector |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
DE20321883U1 (en) | 2002-09-04 | 2012-01-20 | Microsoft Corp. | Computer apparatus and system for entropy decoding quantized transform coefficients of a block |
US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
US7266151B2 (en) * | 2002-09-04 | 2007-09-04 | Intel Corporation | Method and system for performing motion estimation using logarithmic search |
US20040042551A1 (en) * | 2002-09-04 | 2004-03-04 | Tinku Acharya | Motion estimation |
JP3791922B2 (en) * | 2002-09-06 | 2006-06-28 | 富士通株式会社 | Moving picture decoding apparatus and method |
CN101043629B (en) * | 2002-09-06 | 2011-01-26 | 富士通株式会社 | Motion picture encoding method and devices thereof |
US20040057626A1 (en) * | 2002-09-23 | 2004-03-25 | Tinku Acharya | Motion estimation using a context adaptive search |
EP1568232A1 (en) * | 2002-11-27 | 2005-08-31 | Koninklijke Philips Electronics N.V. | Video encoding method |
JP2006512832A (en) * | 2002-12-30 | 2006-04-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Video encoding and decoding method |
EP1614297A1 (en) * | 2003-04-04 | 2006-01-11 | Koninklijke Philips Electronics N.V. | Video encoding and decoding methods and corresponding devices |
ATE480101T1 (en) * | 2003-05-06 | 2010-09-15 | Nxp Bv | VIDEO CODING AND DECODING METHODS AND CORRESPONDING ENCODING AND DECODING APPARATUS |
JP4373702B2 (en) | 2003-05-07 | 2009-11-25 | 株式会社エヌ・ティ・ティ・ドコモ | Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, moving picture decoding method, moving picture encoding program, and moving picture decoding program |
GB2401502B (en) * | 2003-05-07 | 2007-02-14 | British Broadcasting Corp | Data processing |
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
US7440500B2 (en) * | 2003-07-15 | 2008-10-21 | Lsi Logic Corporation | Supporting motion vectors outside picture boundaries in motion estimation process |
US7609763B2 (en) * | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US7426308B2 (en) | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7577200B2 (en) * | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Extended range variable length coding/decoding of differential motion vector information |
US7567617B2 (en) | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7606308B2 (en) * | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
US7616692B2 (en) * | 2003-09-07 | 2009-11-10 | Microsoft Corporation | Hybrid motion vector prediction for interlaced forward-predicted fields |
US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US7623574B2 (en) * | 2003-09-07 | 2009-11-24 | Microsoft Corporation | Selecting between dominant and non-dominant motion vector predictor polarities |
US8085844B2 (en) * | 2003-09-07 | 2011-12-27 | Microsoft Corporation | Signaling reference frame distances |
US7577198B2 (en) * | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US7620106B2 (en) * | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7889792B2 (en) | 2003-12-24 | 2011-02-15 | Apple Inc. | Method and system for video encoding using a variable number of B frames |
US7869503B2 (en) | 2004-02-06 | 2011-01-11 | Apple Inc. | Rate and quality controller for H.264/AVC video coder and scene analyzer therefor |
US7453938B2 (en) * | 2004-02-06 | 2008-11-18 | Apple Inc. | Target bitrate estimator, picture activity and buffer management in rate control for video coder |
US7986731B2 (en) | 2004-02-06 | 2011-07-26 | Apple Inc. | H.264/AVC coder incorporating rate and quality controller |
US7492820B2 (en) * | 2004-02-06 | 2009-02-17 | Apple Inc. | Rate control for video coder employing adaptive linear regression bits modeling |
EP1721458A1 (en) * | 2004-02-23 | 2006-11-15 | Koninklijke Philips Electronics N.V. | Reducing artefacts in scan-rate conversion of image signals by combining interpolation and extrapolation of images |
FR2872973A1 (en) * | 2004-07-06 | 2006-01-13 | Thomson Licensing Sa | METHOD OR DEVICE FOR CODING A SEQUENCE OF SOURCE IMAGES |
JP4145275B2 (en) * | 2004-07-27 | 2008-09-03 | 富士通株式会社 | Motion vector detection / compensation device |
KR100688383B1 (en) * | 2004-08-13 | 2007-03-02 | 경희대학교 산학협력단 | Motion estimation and compensation for panorama image |
US7627194B2 (en) * | 2004-08-13 | 2009-12-01 | Samsung Electronics Co., Ltd. | Method and device for making virtual image region for motion estimation and compensation of panorama image |
EP1779672A4 (en) * | 2004-08-13 | 2010-10-27 | Ind Academic Coop | Method and device for motion estimation and compensation for panorama image |
KR100677142B1 (en) * | 2004-08-13 | 2007-02-02 | 경희대학교 산학협력단 | Motion estimation and compensation for panorama image |
US7623682B2 (en) * | 2004-08-13 | 2009-11-24 | Samsung Electronics Co., Ltd. | Method and device for motion estimation and compensation for panorama image |
US8634413B2 (en) * | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
WO2006126148A1 (en) * | 2005-05-25 | 2006-11-30 | Nxp B.V. | Multiple instance video decoder for macroblocks coded in a progressive and an interlaced way |
TWI266541B (en) * | 2005-06-08 | 2006-11-11 | Via Tech Inc | Computing method of motion vector |
KR100667806B1 (en) * | 2005-07-07 | 2007-01-12 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding |
US7684981B2 (en) * | 2005-07-15 | 2010-03-23 | Microsoft Corporation | Prediction of spectral coefficients in waveform coding and decoding |
US7693709B2 (en) * | 2005-07-15 | 2010-04-06 | Microsoft Corporation | Reordering coefficients for waveform coding or decoding |
US7599840B2 (en) * | 2005-07-15 | 2009-10-06 | Microsoft Corporation | Selectively using multiple entropy models in adaptive coding and decoding |
US8045618B2 (en) | 2005-08-05 | 2011-10-25 | Lsi Corporation | Method and apparatus for MPEG-2 to VC-1 video transcoding |
US7903739B2 (en) * | 2005-08-05 | 2011-03-08 | Lsi Corporation | Method and apparatus for VC-1 to MPEG-2 video transcoding |
US7881384B2 (en) | 2005-08-05 | 2011-02-01 | Lsi Corporation | Method and apparatus for H.264 to MPEG-2 video transcoding |
US8208540B2 (en) | 2005-08-05 | 2012-06-26 | Lsi Corporation | Video bitstream transcoding method and apparatus |
US7912127B2 (en) * | 2005-08-05 | 2011-03-22 | Lsi Corporation | H.264 to VC-1 and VC-1 to H.264 transcoding |
US7565018B2 (en) * | 2005-08-12 | 2009-07-21 | Microsoft Corporation | Adaptive coding and decoding of wide-range coefficients |
US7933337B2 (en) * | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
TW200725377A (en) * | 2005-12-30 | 2007-07-01 | Pixart Imaging Inc | Displacement estimation method and device |
US8937997B2 (en) * | 2006-03-16 | 2015-01-20 | Apple Inc. | Scalable video coding/multiplexing compatible with non-scalable decoders |
US7456760B2 (en) * | 2006-09-11 | 2008-11-25 | Apple Inc. | Complexity-aware encoding |
JP5134001B2 (en) * | 2006-10-18 | 2013-01-30 | アップル インコーポレイテッド | Scalable video coding with lower layer filtering |
US8085849B1 (en) | 2006-11-03 | 2011-12-27 | Keystream Corporation | Automated method and apparatus for estimating motion of an image segment using motion vectors from overlapping macroblocks |
CN101513074B (en) * | 2006-12-27 | 2011-07-06 | 松下电器产业株式会社 | Moving picture image decoding device |
US8184710B2 (en) * | 2007-02-21 | 2012-05-22 | Microsoft Corporation | Adaptive truncation of transform coefficient data in a transform-based digital media codec |
JP2008301028A (en) * | 2007-05-30 | 2008-12-11 | Fuji Xerox Co Ltd | Image processing apparatus and program |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
KR101396365B1 (en) * | 2007-08-28 | 2014-05-30 | 삼성전자주식회사 | Method and apparatus for spatiotemporal motion estimation and motion compensation of video |
US20090067494A1 (en) * | 2007-09-06 | 2009-03-12 | Sony Corporation, A Japanese Corporation | Enhancing the coding of video by post multi-modal coding |
US8179974B2 (en) | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
US20090304086A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | Method and system for video coder and decoder joint optimization |
US8811771B2 (en) | 2008-08-22 | 2014-08-19 | Adobe Systems Incorporated | Content aware slideshows |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
US8385404B2 (en) | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
US8326075B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video encoding using adaptive loop filter |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8379985B2 (en) * | 2009-07-03 | 2013-02-19 | Sony Corporation | Dominant gradient method for finding focused objects |
US9036692B2 (en) * | 2010-01-18 | 2015-05-19 | Mediatek Inc. | Motion prediction method |
MY157090A (en) * | 2010-05-14 | 2016-04-29 | Samsung Electronics Co Ltd | Method for encoding and decoding video and apparatus for encoding and decoding video using expanded block filtering |
US20130177081A1 (en) * | 2010-05-14 | 2013-07-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video using expanded block filtering |
US8976856B2 (en) | 2010-09-30 | 2015-03-10 | Apple Inc. | Optimized deblocking filters |
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
US8611415B1 (en) | 2010-11-15 | 2013-12-17 | Google Inc. | System and method for coding using improved motion estimation |
US8891626B1 (en) | 2011-04-05 | 2014-11-18 | Google Inc. | Center of motion for encoding motion fields |
US8693547B2 (en) | 2011-04-06 | 2014-04-08 | Google Inc. | Apparatus and method for coding using motion vector segmentation |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
US8781004B1 (en) | 2011-04-07 | 2014-07-15 | Google Inc. | System and method for encoding video using variable loop filter |
US8638854B1 (en) | 2011-04-07 | 2014-01-28 | Google Inc. | Apparatus and method for creating an alternate reference frame for video compression using maximal differences |
US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
US8780996B2 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method for encoding and decoding video data |
US8804819B1 (en) | 2011-04-19 | 2014-08-12 | Google Inc. | Method and apparatus for encoding video using data frequency |
US8705620B1 (en) | 2011-04-28 | 2014-04-22 | Google Inc. | Method and apparatus for encoding anchor frame by encoding features using layers |
US9749638B1 (en) | 2011-04-28 | 2017-08-29 | Google Inc. | Method and apparatus for encoding video with dynamic quality improvement |
US8989256B2 (en) | 2011-05-25 | 2015-03-24 | Google Inc. | Method and apparatus for using segmentation-based coding of prediction information |
WO2013006386A1 (en) | 2011-07-01 | 2013-01-10 | General Instrument Corporation | Motion vector prediction design simplification |
WO2013023287A1 (en) | 2011-08-16 | 2013-02-21 | Destiny Software Productions Inc. | Script-based video rendering |
US8885706B2 (en) | 2011-09-16 | 2014-11-11 | Google Inc. | Apparatus and methodology for a video codec system with noise reduction capability |
BR112014010539A2 (en) | 2011-11-04 | 2017-04-18 | Motorola Mobility Llc | motion vector scaling for non-uniform motion vector network |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
US9014265B1 (en) | 2011-12-29 | 2015-04-21 | Google Inc. | Video coding using edge detection and block partitioning for intra prediction |
US8908767B1 (en) | 2012-02-09 | 2014-12-09 | Google Inc. | Temporal motion vector prediction |
US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US9131073B1 (en) | 2012-03-02 | 2015-09-08 | Google Inc. | Motion estimation aided noise reduction |
US9609341B1 (en) | 2012-04-23 | 2017-03-28 | Google Inc. | Video data encoding and decoding using reference picture lists |
WO2013162980A2 (en) | 2012-04-23 | 2013-10-31 | Google Inc. | Managing multi-reference picture buffers for video data coding |
US9172970B1 (en) | 2012-05-29 | 2015-10-27 | Google Inc. | Inter frame candidate selection for a video encoder |
US9014266B1 (en) | 2012-06-05 | 2015-04-21 | Google Inc. | Decimated sliding windows for multi-reference prediction in video coding |
US11317101B2 (en) | 2012-06-12 | 2022-04-26 | Google Inc. | Inter frame candidate selection for a video encoder |
US9344729B1 (en) | 2012-07-11 | 2016-05-17 | Google Inc. | Selective prediction signal filtering |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9288484B1 (en) | 2012-08-30 | 2016-03-15 | Google Inc. | Sparse coding dictionary priming |
US9756346B2 (en) | 2012-10-08 | 2017-09-05 | Google Inc. | Edge-selective intra coding |
US9485515B2 (en) | 2013-08-23 | 2016-11-01 | Google Inc. | Video coding using reference motion vectors |
US9407915B2 (en) | 2012-10-08 | 2016-08-02 | Google Inc. | Lossless video coding with sub-frame level optimal quantization values |
US9503746B2 (en) | 2012-10-08 | 2016-11-22 | Google Inc. | Determine reference motion vectors |
US9369732B2 (en) | 2012-10-08 | 2016-06-14 | Google Inc. | Lossless intra-prediction video coding |
US9210432B2 (en) | 2012-10-08 | 2015-12-08 | Google Inc. | Lossless inter-frame video coding |
US9225979B1 (en) | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
US9210424B1 (en) | 2013-02-28 | 2015-12-08 | Google Inc. | Adaptive prediction block size in video coding |
US9300906B2 (en) | 2013-03-29 | 2016-03-29 | Google Inc. | Pull frame interpolation |
US9756331B1 (en) | 2013-06-17 | 2017-09-05 | Google Inc. | Advance coded reference prediction |
US9313493B1 (en) | 2013-06-27 | 2016-04-12 | Google Inc. | Advanced motion estimation |
US9942560B2 (en) | 2014-01-08 | 2018-04-10 | Microsoft Technology Licensing, Llc | Encoding screen capture data |
US9749642B2 (en) | 2014-01-08 | 2017-08-29 | Microsoft Technology Licensing, Llc | Selection of motion vector precision |
US9774881B2 (en) | 2014-01-08 | 2017-09-26 | Microsoft Technology Licensing, Llc | Representing motion vectors in an encoded bitstream |
US20150195521A1 (en) * | 2014-01-09 | 2015-07-09 | Nvidia Corporation | Candidate motion vector selection systems and methods |
US20150271512A1 (en) * | 2014-03-18 | 2015-09-24 | Texas Instruments Incorporated | Dynamic frame padding in a video hardware engine |
US9392293B2 (en) * | 2014-05-21 | 2016-07-12 | Alcatel Lucent | Accelerated image processing |
US9392272B1 (en) | 2014-06-02 | 2016-07-12 | Google Inc. | Video coding using adaptive source variance based partitioning |
US9578324B1 (en) | 2014-06-27 | 2017-02-21 | Google Inc. | Video coding using statistical-based spatially differentiated partitioning |
US9286653B2 (en) | 2014-08-06 | 2016-03-15 | Google Inc. | System and method for increasing the bit depth of images |
US9153017B1 (en) | 2014-08-15 | 2015-10-06 | Google Inc. | System and method for optimized chroma subsampling |
US10102613B2 (en) | 2014-09-25 | 2018-10-16 | Google Llc | Frequency-domain denoising |
US9807416B2 (en) | 2015-09-21 | 2017-10-31 | Google Inc. | Low-latency two-pass video coding |
CA3037398C (en) | 2016-09-30 | 2022-08-16 | Huawei Technologies Co., Ltd. | Apparatuses, methods, and computer-readable medium for encoding and decoding a video signal |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2282021A (en) * | 1940-02-20 | 1942-05-05 | Benningfield Thomas | Truss and abdominal support |
FR2660141A1 (en) * | 1990-03-20 | 1991-09-27 | France Etat | METHOD AND SYSTEM FOR MOTION ESTIMATING FOR HIGH DEFINITION DIGITAL TELEVISION IMAGES. |
US5210605A (en) * | 1991-06-11 | 1993-05-11 | Trustees Of Princeton University | Method and apparatus for determining motion vectors for image sequences |
US5815646A (en) * | 1993-04-13 | 1998-09-29 | C-Cube Microsystems | Decompression processor for video applications |
JPH07135663A (en) * | 1993-09-17 | 1995-05-23 | Oki Electric Ind Co Ltd | Method and device for detecting movement vector |
FR2725577B1 (en) * | 1994-10-10 | 1996-11-29 | Thomson Consumer Electronics | CODING OR DECODING METHOD OF MOTION VECTORS AND CODING OR DECODING DEVICE USING THE SAME |
KR100209412B1 (en) * | 1996-05-10 | 1999-07-15 | 전주범 | Method for coding chrominance of video signals |
JP4159606B2 (en) * | 1996-05-24 | 2008-10-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Motion estimation |
US5936671A (en) * | 1996-07-02 | 1999-08-10 | Sharp Laboratories Of America, Inc. | Object-based video processing using forward-tracking 2-D mesh layers |
KR100413979B1 (en) * | 1996-07-15 | 2004-05-20 | 주식회사 팬택앤큐리텔 | Predictive coding method and device thereof |
US5793895A (en) * | 1996-08-28 | 1998-08-11 | International Business Machines Corporation | Intelligent error resilient video encoder |
-
1997
- 1997-07-21 US US08/897,847 patent/US6005980A/en not_active Expired - Lifetime
-
1998
- 1998-02-25 CA CA2702769A patent/CA2702769C/en not_active Expired - Lifetime
- 1998-02-25 CA CA2230567A patent/CA2230567C/en not_active Expired - Lifetime
- 1998-02-27 EP EP98103447A patent/EP0863675A3/en not_active Withdrawn
- 1998-03-04 TW TW087103126A patent/TW373409B/en active
- 1998-03-05 NO NO980950A patent/NO980950L/en not_active Application Discontinuation
- 1998-03-06 CN CNB981092624A patent/CN1171460C/en not_active Expired - Fee Related
- 1998-03-07 KR KR1019980007628A patent/KR19980080012A/en not_active IP Right Cessation
- 1998-03-09 BR BR9800853-6A patent/BR9800853A/en not_active IP Right Cessation
- 1998-03-09 JP JP10098041A patent/JPH114441A/en active Pending
-
1999
- 1999-04-28 US US09/301,141 patent/US6026195A/en not_active Ceased
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8787463B2 (en) | 2009-08-13 | 2014-07-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US8792558B2 (en) | 2009-08-13 | 2014-07-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US8811488B2 (en) | 2009-08-13 | 2014-08-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US9544588B2 (en) | 2009-08-13 | 2017-01-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US9883186B2 (en) | 2009-08-13 | 2018-01-30 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US10110902B2 (en) | 2009-08-13 | 2018-10-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
Also Published As
Publication number | Publication date |
---|---|
NO980950D0 (en) | 1998-03-05 |
CA2702769C (en) | 2011-10-18 |
CN1226781A (en) | 1999-08-25 |
TW373409B (en) | 1999-11-01 |
KR19980080012A (en) | 1998-11-25 |
US6026195A (en) | 2000-02-15 |
CA2702769A1 (en) | 1998-09-07 |
CA2230567C (en) | 2010-07-06 |
NO980950L (en) | 1998-09-08 |
JPH114441A (en) | 1999-01-06 |
US6005980A (en) | 1999-12-21 |
CN1171460C (en) | 2004-10-13 |
BR9800853A (en) | 1999-11-03 |
EP0863675A2 (en) | 1998-09-09 |
EP0863675A3 (en) | 2003-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2230567A1 (en) | Motion estimation and compensation of video object planes for interlaced digital video | |
US5974184A (en) | Intra-macroblock DC and AC coefficient prediction for interlaced digital video | |
KR100523908B1 (en) | Apparatus and method for encoding video signal for progressive scan image | |
CN108353184B (en) | Video coding and decoding method and device | |
TWI702834B (en) | Methods and apparatuses of video processing with overlapped block motion compensation in video coding systems | |
US8687696B2 (en) | Derivation of frame/field encoding mode for a pair of video macroblocks | |
US6483874B1 (en) | Efficient motion estimation for an arbitrarily-shaped object | |
US8345763B2 (en) | Motion compensation method and integrated circuit utilizing the same | |
KR20210089147A (en) | Bandwidth control method for inter-prediction | |
US8514939B2 (en) | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing | |
US20060023788A1 (en) | Motion estimation and compensation device with motion vector correction based on vertical component values | |
KR19980080014A (en) | Method and apparatus for coding a digital video picture such as bi-directionally predicted video object plane | |
JP4688462B2 (en) | Method and apparatus for differential coding of image blocks using predictive coding | |
EP1133877B1 (en) | Process and device for coding images according to the mpeg standard for the insetting of imagettes | |
KR20210134644A (en) | Use of transformed uni-prediction candidates | |
USRE38564E1 (en) | Motion estimation and compensation of video object planes for interlaced digital video | |
Hwang et al. | Hybrid temporal error concealment methods for block-based compressed video transmission | |
Stuller et al. | Interframe television coding using gain and displacement compensation | |
KR20210131347A (en) | Intercoding by size | |
KR100281924B1 (en) | Interlaced Schematic and Image Information Coding Method and Encoder | |
WO2023051641A1 (en) | Method, apparatus, and medium for video processing | |
WO2023185824A1 (en) | Method, apparatus, and medium for video processing | |
WO2023185933A1 (en) | Method, apparatus, and medium for video processing | |
WO2023051600A1 (en) | Method, apparatus and medium for video processing | |
AU728756B2 (en) | Motion estimation and compensation of video object planes for interlaced digital video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20180226 |