US20030099294A1 - Picture level adaptive frame/field coding for digital video content - Google Patents

Picture level adaptive frame/field coding for digital video content Download PDF

Info

Publication number
US20030099294A1
US20030099294A1 US10/301,203 US30120302A US2003099294A1 US 20030099294 A1 US20030099294 A1 US 20030099294A1 US 30120302 A US30120302 A US 30120302A US 2003099294 A1 US2003099294 A1 US 2003099294A1
Authority
US
United States
Prior art keywords
picture
field
pictures
encoded
frame
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.)
Abandoned
Application number
US10/301,203
Inventor
Limin Wang
Krit Panusopone
Rajeev Gandhi
Yue Yu
Ajay Luthra
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Google Technology Holdings LLC
Original Assignee
General Instrument Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Instrument Corp filed Critical General Instrument Corp
Priority to US10/301,203 priority Critical patent/US20030099294A1/en
Assigned to GENERAL INSTRUMENT CORPORATION reassignment GENERAL INSTRUMENT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LUTHRA, AJAY, GANDHI, RAJEEV, PANUSOPONE, KRIT, WANG, LIMIN, YU, YUE
Priority to CA2738322A priority patent/CA2738322C/en
Priority to JP2003548552A priority patent/JP2005510984A/en
Priority to KR1020107006173A priority patent/KR101076506B1/en
Priority to CN02827402A priority patent/CN100584028C/en
Priority to EP02804044A priority patent/EP1459562A2/en
Priority to CN200910254135.XA priority patent/CN101715137B/en
Priority to CA2738329A priority patent/CA2738329C/en
Priority to CN200910254137.9A priority patent/CN101715138B/en
Priority to KR10-2004-7007734A priority patent/KR20040068143A/en
Priority to EP10182686A priority patent/EP2276261A1/en
Priority to AU2002365337A priority patent/AU2002365337A1/en
Priority to EP10182605A priority patent/EP2268038A1/en
Priority to CN201610842086.1A priority patent/CN107071404B/en
Priority to CA2468086A priority patent/CA2468086C/en
Priority to EP10182595A priority patent/EP2285120A1/en
Priority to CN200910254136.4A priority patent/CN101715128B/en
Priority to EP10183042A priority patent/EP2268041A1/en
Priority to CA2738339A priority patent/CA2738339C/en
Priority to PCT/US2002/037593 priority patent/WO2003047271A2/en
Priority to CN200910254134.5A priority patent/CN101715136B/en
Publication of US20030099294A1 publication Critical patent/US20030099294A1/en
Priority to MXPA04004723A priority patent/MXPA04004723A/en
Priority to NO20042543A priority patent/NO339086B1/en
Priority to US11/027,625 priority patent/US20050152454A1/en
Priority to US11/027,888 priority patent/US7660353B2/en
Priority to US11/027,110 priority patent/US7769087B2/en
Priority to US11/558,207 priority patent/US7839931B2/en
Priority to US12/951,732 priority patent/US8630350B2/en
Assigned to Google Technology Holdings LLC reassignment Google Technology Holdings LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA MOBILITY LLC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Definitions

  • the present invention relates to encoding and decoding of digital video content. More specifically, the present invention relates to frame mode and field mode encoding and decoding of digital video content at the picture level as used in the MPEG-4 Part 10 AVC/H.264 video coding standard.
  • Video compression is used in many current and emerging products. It is at the heart of digital television set-top boxes (STBs), digital satellite systems (DSSs), high definition television (HDTV) decoders, digital versatile disk (DVD) players, video conferencing, Internet video and multimedia content, and other digital video applications. Without video compression, digital video content can be extremely large, making it difficult or even impossible for the digital video content to be efficiently stored, transmitted, or viewed.
  • STBs digital television set-top boxes
  • DSSs digital satellite systems
  • HDMI high definition television
  • DVD digital versatile disk
  • video conferencing video conferencing
  • Internet video and multimedia content and other digital video applications.
  • the digital video content comprises a stream of pictures that can be displayed as an image on a television receiver, computer monitor, or some other electronic device capable of displaying digital video content.
  • a picture that is displayed in time before a particular picture is in the “backward direction” in relation to the particular picture.
  • a picture that is displayed in time after a particular picture is in the “forward direction” in relation to the particular picture.
  • Video compression is accomplished in a video encoding, or coding, process in which each picture is encoded as either a frame or as two fields.
  • Each frame comprises a number of lines of spatial information.
  • a typical frame contains 480 horizontal lines.
  • Each field contains half the number of lines in the frame.
  • the frame comprises 480 horizontal lines
  • each field comprises 240 horizontal lines.
  • one of the fields comprises the odd numbered lines in the frame and the other field comprises the even numbered lines in the frame.
  • the field that comprises the odd numbered lines will be referred to as the “top” field hereafter and in the appended claims, unless otherwise specifically denoted.
  • the field that comprises the even numbered lines will be referred to as the “bottom” field hereafter and in the appended claims, unless otherwise specifically denoted.
  • the two fields can be interlaced together to form an interlaced frame.
  • Video coding transforms the digital video content into a compressed form that can be stored using less space and transmitted using less bandwidth than uncompressed digital video content. It does so by taking advantage of temporal and spatial redundancies in the pictures of the video content.
  • the digital video content can be stored in a storage medium such as a hard drive, DVD, or some other non-volatile storage unit.
  • Video coding standards have been developed to standardize the various video coding methods so that the compressed digital video content is rendered in formats that a majority of video encoders and decoders can recognize.
  • MPEG Motion Picture Experts Group
  • ITU-T International Telecommunication Union
  • MPEG-1, MPEG-2, MPEG-4, ITU-T H261, and ITU-T H263 standards include the MPEG-1, MPEG-2, MPEG-4, ITU-T H261, and ITU-T H263 standards.
  • Temporal prediction with motion compensation is used to remove temporal redundancy between successive pictures in a digital video broadcast.
  • the temporal prediction with motion compensation algorithm typically utilizes one or two reference pictures to encode a particular picture.
  • a reference picture is a picture that has already been encoded.
  • the temporal prediction with motion compensation algorithm can take advantage of the temporal redundancy that exists between the reference picture and the particular picture that is to be encoded and encode the picture with a higher amount of compression than if the picture were encoded without using the temporal prediction with motion compensation algorithm.
  • One of the reference pictures may be in the backward direction in relation to the particular picture that is to be encoded.
  • the other reference picture is in the forward direction in relation to the particular picture that is to be encoded.
  • the new MPEG-4 Part 10 AVC/H.264 standard calls for a number of new methods in video compression.
  • one of the features of the new MPEG-4 Part 10 AVC/H.264 standard is that it allows multiple reference pictures, instead of just two reference pictures.
  • the use of multiple reference pictures improves the performance of the temporal prediction with motion compensation algorithm by allowing the encoder to find the reference picture that most closely matches the picture that is to be encoded.
  • the reference picture are stored in frame and field buffers.
  • the encoder can encode a picture as a frame or as two fields.
  • a greater degree of compression could be accomplished if, in a sequence of pictures that is to be encoded, some of the pictures are encoded as frames and some of the pictures are encoded as fields.
  • the present invention provides a method of encoding, decoding, and bitstream generation of digital video content.
  • the digital video content comprises a stream of pictures which can each be intra, predicted, or bi-predicted pictures.
  • Each of the pictures comprises macroblocks that can be further divided into smaller blocks.
  • the method entails encoding and decoding each picture in said stream of pictures in either frame mode or in field mode.
  • FIG. 1 illustrates an exemplary sequence of three types of pictures that can be used to implement the present invention, as defined by an exemplary video coding standard such as the MPEG-4 Part 10 AVC/H.264 standard.
  • FIG. 2 shows that each picture is preferably divided into slices containing macroblocks according to an embodiment of the present invention.
  • FIG. 3 a shows that a macroblock can be further divided into a block size of 16 by 8 pixels according to an embodiment of the present invention.
  • FIG. 3 b shows that a macroblock can be further divided into a block size of 8 by 16 pixels according to an embodiment of the present invention.
  • FIG. 3 c shows that a macroblock can be further divided into a block size of 8 by 8 pixels according to an embodiment of the present invention.
  • FIG. 3 d shows that a macroblock can be further divided into a block size of 8 by 4 pixels according to an embodiment of the present invention.
  • FIG. 3 e shows that a macroblock can be further divided into a block size of 4 by 8 pixels according to an embodiment of the present invention.
  • FIG. 3 f shows that a macroblock can be further divided into a block size of 4 by 4 pixels according to an embodiment of the present invention.
  • FIG. 4 shows a picture construction example using temporal prediction with motion compensation that illustrates an embodiment of the present invention.
  • FIG. 5 shows an exemplary stream of pictures which illustrates an advantage of using multiple reference pictures in temporal prediction with motion compensation according to an embodiment of the present invention.
  • FIG. 6 illustrates according to an embodiment of the present invention that a unique reference frame number is assigned to each reference frame in the frame buffer according to its distance from the current picture that is being encoded in frame mode.
  • FIG. 7 a shows an exemplary reference field numbering configuration where the reference fields of the same field parity as the current field are given smaller numbers than are their corresponding second fields according to an embodiment of the present invention.
  • FIG. 7 b shows an exemplary reference field numbering configuration where the current field is the second field of the picture that is to be encoded as two fields.
  • FIG. 8 shows an alternate reference field numbering configuration in the field buffer according to an embodiment of the present invention.
  • FIG. 9 illustrates a method of direct mode vector calculation where both the current macroblock and its co-located macroblock are in frame mode.
  • FIG. 10 illustrates a method of direct mode vector calculation where both the current macroblock and its co-located macroblock are in field mode.
  • FIG. 11 illustrates another method of direct mode vector calculation where both the current macroblock and its co-located macroblock are in field mode.
  • FIG. 12 illustrates a method of direct mode vector calculation where the current macroblock is in field mode and its co-located macroblock is in frame mode.
  • FIG. 13 illustrates a method of direct mode vector calculation where the current macroblock is in frame mode and its co-located macroblock is in field mode.
  • FIG. 14 shows a B picture with its two reference pictures in the temporal forward direction according to an embodiment of the present invention.
  • FIG. 15 shows a B picture with its two reference pictures in the temporal backward direction according to an embodiment of the present invention.
  • FIG. 16 shows a B picture with a forward reference picture in the temporal forward direction and a backward reference picture in the temporal backward direction.
  • the present invention provides a method of adaptive frame/field (AFF) coding of digital video content comprising a stream of pictures at a picture level.
  • AFF adaptive frame/field
  • each picture in a stream of pictures that is to be encoded is encoded in either frame mode or in field mode, regardless of the other picture's frame or field coding mode. If a picture is encoded in frame mode, the two fields that make up an interlaced frame are coded jointly. Conversely, if a picture is encoded in field mode, the two fields that make up an interlaced frame are coded separately.
  • the encoder determines which type of coding, frame mode coding or field mode coding, is more advantageous for each picture and chooses that type of encoding for the picture. The exact method of choosing between frame mode and field mode is not critical to the present invention and will not be detailed herein.
  • the MPEG-4 Part 10 AVC/H.264 standard is a new standard for encoding and compressing digital video content.
  • the documents establishing the MPEG-4 Part 10 AVC/H.264 standard are hereby incorporated by reference, including “Joint Final Committee Draft (JFCD) of Joint Video Specification” issued by the Joint Video Team (JVT) on Aug. 10, 2002. (ITU-T Rec. H.264 & ISO/IEC 14496-10 AVC).
  • the JVT consists of experts from ISO or MPEG and ITU-T. Due to the public nature of the MPEG-4 Part 10 AVC/H.264 standard, the present specification will not attempt to document all the existing aspects of MPEG-4 Part 10 AVC/H.264 video coding, relying instead on the incorporated specifications of the standard.
  • FIG. 1 illustrates an exemplary sequence of three types of pictures that can be used to implement the present invention, as defined by an exemplary video coding standard such as the MPEG-4 Part 10 AVC/H.264 standard.
  • the encoder encodes the pictures and the decoder decodes the pictures.
  • the encoder or decoder can be a processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), coder/decoder (CODEC), digital signal processor (DSP), or some other electronic device that is capable of encoding the stream of pictures.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • CDODEC coder/decoder
  • DSP digital signal processor
  • encoder will be used to refer expansively to all electronic devices that encode digital video content comprising a stream of pictures.
  • decoder will be used to refer expansively to all electronic devices that decode digital video content comprising a stream of pictures.
  • FIG. 1 there are preferably three types of pictures that can be used in the video coding method.
  • Three types of pictures are defined to support random access to stored digital video content while exploring the maximum redundancy reduction using temporal prediction with motion compensation.
  • the three types of pictures are intra (I) pictures ( 100 ), predicted (P) pictures ( 102 a,b ), and bi-predicted (B) pictures ( 101 a - d ).
  • An I picture ( 100 ) provides an access point for random access to stored digital video content and can be encoded only with slight compression.
  • Intra pictures ( 100 ) are encoded without referring to reference pictures.
  • a predicted picture ( 102 a,b ) is encoded using an I, P, or B picture that has already been encoded as a reference picture.
  • the reference picture can be in either the forward or backward temporal direction in relation to the P picture that is being encoded.
  • the predicted pictures ( 102 a,b ) can be encoded with more compression than the intra pictures ( 100 ).
  • a bi-predicted picture ( 101 a - d ) is encoded using two temporal reference pictures: a forward reference picture and a backward reference picture.
  • the forward reference picture is sometimes called the past reference picture and the backward reference picture is sometimes called a future reference picture.
  • An embodiment of the present invention is that the forward reference picture and backward reference picture can be in the same temporal direction in relation to the B picture that is being encoded.
  • Bi-predicted pictures ( 101 a - d ) can be encoded with the most compression out of the three picture types.
  • Reference relationships ( 103 ) between the three picture types are illustrated in FIG. 1.
  • the P picture ( 102 a ) can be encoded using the encoded I picture ( 100 ) as its reference picture.
  • the B pictures ( 101 a - d ) can be encoded using the encoded I picture ( 100 ) or the encoded P picture ( 102 a ) as its reference pictures, as shown in FIG. 1.
  • encoded B pictures ( 101 a - d ) can also be used as reference pictures for other B pictures that are to be encoded.
  • the B picture ( 101 c ) of FIG. 1 is shown with two other B pictures ( 101 b and 101 d ) as its reference pictures.
  • the number and particular order of the I ( 100 ), B ( 101 a - d ), and P ( 102 a,b ) pictures shown in FIG. 1 are given as an exemplary configuration of pictures, but are not necessary to implement the present invention. Any number of I, B, and P pictures can be used in any order to best serve a particular application.
  • the MPEG-4 Part 10 AVC/H.264 standard does not impose any limit to the number of B pictures between two reference pictures nor does it limit the number of pictures between two I pictures.
  • FIG. 2 shows that each picture ( 200 ) is preferably divided into slices ( 202 ).
  • a slice ( 202 ) contains a group of macroblocks ( 202 ).
  • a macroblock ( 201 ) is a rectangular group of pixels. As shown in FIG. 2, a preferable macroblock ( 201 ) size is 16 by 16 pixels.
  • FIGS. 3 a - f show that a macroblock can be further divided into smaller sized blocks.
  • a macroblock can be further divided into block sizes of 16 by 8 pixels (FIG. 3 a ; 300 ), 8 by 16 pixels (FIG. 3 b ; 301 ), 8 by 8 pixels (FIG. 3 c ; 302 ), 8 by 4 pixels (FIG. 3 d ; 303 ), 4 by 8 pixels (FIG. 3 e ; 304 ), or 4 by 4 pixels (FIG. 3 f ; 305 ).
  • FIG. 4 shows a picture construction example using temporal prediction with motion compensation that illustrates an embodiment of the present invention.
  • Temporal prediction with motion compensation assumes that a current picture, picture N ( 400 ), can be locally modeled as a translation of another picture, picture N- 1 ( 401 ).
  • the picture N- 1 ( 401 ) is the reference picture for the encoding of picture N ( 400 ) and can be in the forward or backwards temporal direction in relation to picture N ( 400 ).
  • each picture is preferably divided into slices containing macroblocks ( 201 a,b ).
  • the picture N- 1 ( 401 ) contains an image ( 403 ) that is to be shown in picture N ( 400 ).
  • the image ( 403 ) will be in a different temporal position ( 402 ) in picture N ( 400 ) than it is in picture N- 1 ( 401 ), as shown in FIG. 4.
  • each macroblock ( 201 b ) of picture N ( 400 ) is predicted from the image content of each corresponding macroblock ( 201 a ) of picture N- 1 ( 401 ) by estimating the required amount of temporal motion of the image content of each macroblock ( 201 a ) of picture N- 1 ( 401 ) for the image ( 403 ) to move to its new temporal position ( 402 ) in picture N ( 400 ).
  • the difference ( 404 ) between the image ( 402 ) and its prediction ( 403 ) is actually encoded and transmitted.
  • the temporal prediction can often be represented by motion vectors that represent the amount of temporal motion required for the image ( 403 ) to move to a new temporal position ( 402 ) in the picture N ( 400 ).
  • the motion vectors ( 406 ) used for the temporal prediction with motion compensation need to be encoded and transmitted.
  • FIG. 4 shows that the image ( 402 ) in picture N ( 400 ) can be represented by the difference ( 404 ) between the image and its prediction and the associated motion vectors ( 406 ).
  • the exact method of encoding using the motion vectors can vary as best serves a particular application and can be easily implemented by someone who is skilled in the art.
  • FIG. 5 shows an exemplary stream of pictures which illustrates an advantage of using multiple reference pictures in temporal prediction with motion compensation according to an embodiment of the present invention.
  • the use of multiple reference pictures increases the likelihood that the picture N ( 400 ) to be encoded with the most compression possible.
  • Pictures N- 1 ( 401 ), N- 2 ( 500 ), and N- 3 ( 501 ) have been already encoded in this example.
  • an image ( 504 ) in picture N- 3 ( 501 ) is more similar to the image ( 402 ) in picture N ( 400 ) than are the images ( 503 , 502 ) of pictures N- 2 ( 500 ) and N- 1 ( 401 ), respectively.
  • the use of multiple reference pictures allows picture N ( 400 ) to be encoded using picture N- 3 ( 501 ) as its reference picture instead of picture N- 1 ( 401 ).
  • a frame of an interlaced sequence contains two fields, the top field and the bottom field, which are interleaved and separated in time by a field period.
  • the field period is half the time of a frame period.
  • the two fields of an interlaced frame can be coded jointly or separately. If they are coded jointly, frame mode coding is used. Conversely, if the two fields are coded separately, field mode coding is used.
  • Fixed frame/field coding codes all the pictures in a stream of pictures in one mode only. That mode can be frame mode or it can be field mode. Picture level AFF is preferable to fixed frame/field coding because it allows the encoder to choose which mode, frame mode or field mode, to encode each picture in the stream of pictures based on the contents of the digital video material.
  • Frame mode coding uses pictures that have already been encoded as frames as reference frames.
  • the reference frames can be any coded I, P, or B frame.
  • the reference frames are stored in a frame buffer, which is part of the encoder.
  • An embodiment of the present invention is that a unique reference frame number is assigned to each reference frame in the frame buffer according to its distance from the current picture that is being encoded in frame mode, as shown in the exemplary configuration of FIG. 6. For example, as shown in FIG. 6, a current picture that is to be encoded as a frame ( 600 ) has a number of reference frames ( 0 - 5 ) in the frame buffer ( 601 ). Also shown in FIG.
  • the dotted lines labeled f 1 are first fields and the dotted lines labeled f 2 are second fields.
  • a first field is the first field that is encoded in a picture of two fields.
  • a second field is the second field that is encoded in a picture of two fields.
  • An embodiment of the present invention is that the first field can be either the top or bottom field. In another embodiment of the present invention, the second field can also be either the top or bottom field.
  • the frames are represented by solid lines. As shown in FIG. 6, the reference frame 0 is temporally the closest reference frame to the current frame ( 600 ). The reference frame number increases the further the reference frame is temporally from the current frame ( 600 ).
  • a B picture that is encoded as a frame can have multiple forward and backward reference pictures. Unique numbers are assigned to the forward and backward reference pictures.
  • sub-pel interpolation is performed on each of the pixels in a picture that is encoded as a frame.
  • Padding can also be applied to reference pictures encoded as frames by repeating the pixels on the frame boundaries. Padding is sometimes desirable in the temporal prediction with motion compensation algorithm.
  • Loop filtering, or de-blocking schemes can be applied to frame blocks to account for pixel value discontinuities at the edges of adjacent blocks.
  • a macroblock in a P picture can be skipped in AFF coding. If a macroblock is skipped, its data is not transmitted in the encoding of the picture. A skipped macroblock in a P picture is reconstructed by copying the co-located macroblock with motion compensation in the most recently coded I or P reference picture that has been encoded as a frame.
  • Field mode coding uses pictures that have already been encoded as fields as reference fields.
  • the reference fields can be any coded I, P, or B fields.
  • the reference fields are stored in a field buffer, which is part of the encoder.
  • An embodiment of the present invention is that a unique reference field number is assigned to each reference field in the field buffer according to its distance from the current picture that is being encoded as two fields.
  • FIG. 7 a and FIG. 7 b show exemplary reference field numbering configurations where the reference fields of the same field parity as the current field are given smaller numbers than are their corresponding second fields according to an embodiment of the present invention. Two fields have the same field parity if they are both top fields or if they are both bottom fields. In the examples of FIG. 7 a and FIG.
  • the first field of the current picture that is to be encoded is a top field
  • the first fields of the reference pictures are top fields as well.
  • the second fields would then be bottom fields.
  • the first fields can also be all bottom fields and the second fields can all be top fields.
  • a current picture that is to be encoded as a field ( 700 ) has a number of reference fields ( 0 - 10 ) in the field buffer ( 701 ).
  • the dotted lines labeled f 1 are first fields and the dotted lines labeled f 2 are second fields.
  • the corresponding frames to the fields are also shown in FIG. 7 a and are represented by solid lines.
  • the current field ( 700 ) is the first field of the picture that is to be encoded
  • the first field of the first picture in the field buffer ( 701 ) is assigned the number 0
  • the second field of the first picture in the field buffer ( 701 ) is assigned the number 1 .
  • the reference field numbers increase the further the reference fields are temporally from the current field ( 700 ).
  • the first fields of the pictures in the field buffer have lower reference numbers than do their corresponding second fields.
  • FIG. 7 b shows an exemplary reference field numbering configuration where the current field ( 702 ) is the second field of the picture that is to be encoded as two fields.
  • the dotted lines labeled f 1 are first fields and the dotted lines labeled f 2 are second fields.
  • the first field of the current picture has already been coded.
  • the second field of the first picture in the field buffer ( 701 ) is assigned the number 0 .
  • the first coded field of the current picture is assigned the number 0 .
  • the reference field numbers increase the further the reference fields are temporally from the current field ( 702 ).
  • the second fields of the pictures in the field buffer have lower reference numbers than do their corresponding first fields.
  • FIG. 8 shows an alternate reference field numbering configuration in the field buffer according to an embodiment of the present invention.
  • the current field ( 800 ) is a first field.
  • the most recently coded field of the most recently coded picture in the field buffer is assigned the reference number 0 .
  • the reference field numbers increase the further the reference fields are temporally from the current field ( 800 ), regardless of their field parity.
  • the encoder can use the first field that is encoded as a reference field for the encoding of the second field. If the picture is a B picture, the first field that is encoded can be used as one of the two reference fields for the encoding of the second field.
  • the two reference pictures can be coded in field mode.
  • the temporal distances used in calculating the scaled motion vectors are in field interval.
  • both the reference pictures are in the same direction.
  • sub-pel interpolation is performed on each of the pixels in a picture that is encoded in field mode.
  • Padding can also be applied to reference pictures encoded in field mode by repeating the pixels on the field boundaries. Padding is sometimes desirable in the temporal prediction with motion compensation algorithm.
  • Loop filtering, or de-blocking schemes can be applied to field blocks to account for pixel value discontinuities at the edges of adjacent blocks.
  • a macroblock in a P picture can be skipped in AFF coding. If a macroblock is skipped, its data is not transmitted in the encoding of the picture. A skipped macroblock in a P picture is reconstructed by copying the co-located macroblock with motion compensation in the most recently coded I or P reference field of the same field parity. Another embodiment is that the skipped macroblock in the P picture is reconstructed by copying the co-located macroblock in the most recently coded reference field, which can be of a different field parity.
  • Another embodiment of the present invention is direct mode coding for B pictures.
  • the forward and backward motion vectors for the macroblocks in a B picture are derived from the motion vectors used in the corresponding, or co-located macroblocks of a backward reference picture. Co-located macroblocks in two pictures occupy the same geometric position in both of the pictures.
  • the backward reference picture is sometimes referred to as a forward reference picture, even though according to an embodiment of the present invention, the backward reference picture is not necessarily temporally ahead of the current picture that is being encoded.
  • Direct mode coding is advantageous over other methods of coding because a macroblock can have up to 16 motion vectors and up to 4 reference frames in inter mode coding.
  • Inter mode coding codes a macroblock using temporal prediction with motion compensation. If a macroblock is coded using inter coding, the MPEG-4 Part 10 AVC/H.264 standard allows each of the six smaller block sizes of FIGS. 3 a - f (16 by 8 pixels, 8 by 16 pixels, 8 by 8 pixels, 8 by 4 pixels, 4 by 8 pixels, and 4 by 4 pixels) to have its own motion vector. A block size of 16 by 16 pixels can also have its own motion vector.
  • the MPEG-4 Part 10 AVC/H.264 standard also allows block sizes of 16 by 16 pixels, 16 by 8 pixels, 8 by 16 pixels, and 8 by 8 pixels to have its own reference frame.
  • a macroblock can have up to 16 motion vectors and up to 4 reference frames.
  • the forward and backward motion vectors of a macroblock that is to be encoded are computed as the scaled versions of the forward motion vectors of the co-located macroblock in the backward reference picture.
  • a B picture and its backward reference picture can each be coded in frame mode or in field mode.
  • frame and field coding modes there can be four different combinations for a pair of macroblocks in the B picture and its co-located macroblock of the backward reference picture.
  • both the current macroblock and its co-located macroblock are in frame mode.
  • both the current macroblock and its co-located macroblock are in field mode.
  • the current macroblock is in field mode and its co-located macroblock is in frame mode.
  • the current macroblock is in frame mode and its co-located macroblock is in field mode.
  • the method of direct mode motion vector calculation for the macroblocks that are to be encoded is different in each of the four cases. The four methods of direct motion vector calculation for macroblocks in a B picture will be described in detail below.
  • a current B picture ( 900 ) is to be encoded in frame mode using a backward reference picture ( 901 ) that has been encoded in frame mode and a forward reference picture ( 902 ) as its reference pictures.
  • Frames in FIG. 9 are represented with solid vertical lines and their corresponding fields, f 1 and f 2 , are represented with dashed vertical lines.
  • the backward reference picture ( 901 ) can be an I, P, or B picture that has been encoded in frame mode.
  • the forward reference picture ( 902 ) can also be an encoded I, P, or B picture.
  • FIG. 9 there is a block ( 903 ) in the current B picture ( 900 ) and its co-located block ( 904 ) in the backward reference picture ( 901 ).
  • the block ( 903 ) and the co-located block ( 904 ) have equal pixel dimensions. These dimensions can be 16 by 16 pixels, 16 by 8 pixels, 8 by 16 pixels, 8 by 8 pixels, 8 by 4 pixels, 4 by 8 pixels, or 4 by 4 pixels.
  • the encoder derives two motion vectors for the block ( 903 ) in the current B picture ( 900 ) that are used in the temporal prediction with motion compensation algorithm.
  • One of the motion vectors, MV F points to the forward reference picture ( 902 ) that has been encoded in frame mode.
  • the other motion vector, MV B points to the backward reference picture ( 601 ) that has been encoded in frame mode.
  • the two motion vectors are calculated by:
  • MV B ( TR B ⁇ TR D ) ⁇ MV/TR D (Eqs. 1 and 2)
  • TR B is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the current B picture ( 900 ) that is to be encoded in frame mode and the forward reference picture ( 602 ) that is encoded in frame mode.
  • TR D is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the forward ( 602 ) and backward reference pictures ( 601 ) that have been encoded in frame mode.
  • MV is the motion vector that has already been calculated for the co-located block ( 904 ) in the backward reference picture ( 901 ) and points to the forward reference picture ( 902 ) that has been encoded in frame mode.
  • a current B picture ( 900 ) is to be encoded in field mode using a backward reference picture ( 901 ) that has been encoded in field mode and a forward reference picture ( 902 ) as its reference pictures.
  • Frames in FIG. 10 and FIG. 11 are represented with solid vertical lines and their corresponding fields, f 1 and f 2 , are represented with dashed vertical lines.
  • the backward reference picture ( 901 ) can be an I, P, or B picture that has been encoded in frame mode.
  • the forward reference picture ( 902 ) can also be an encoded I, P, or B picture.
  • FIG. 10 there is a block ( 905 ) in the first field of the current B picture ( 900 ). Its motion vectors are derived from the forward motion vector, MV 1 of its co-located block ( 906 ) in the backward reference picture ( 901 ). According to an embodiment shown in FIG. 10, the co-located block ( 906 ) is in a field of the same parity as is the block ( 905 ) in the current B picture ( 900 ).
  • the block ( 905 ) and the co-located block ( 906 ) have equal pixel dimensions. These dimensions can be 16 by 16 pixels, 16 by 8 pixels, 8 by 16 pixels, 8 by 8 pixels, 8 by 4 pixels, 4 by 8 pixels, or 4 by 4 pixels.
  • the encoder derives two motion vectors for the block ( 905 ) in the current B picture ( 900 ) that are used in the temporal prediction with motion compensation algorithm.
  • One of the motion vectors, MV F,1 points to the field in the forward reference picture ( 902 ) to which MV 1 points.
  • the other motion vector, MV B,1 points to the field of the co-located block ( 906 ) in the backward reference picture ( 901 ).
  • the two motion vectors are calculated by:
  • MV B,i ( TR B,i ⁇ TR D,i ) ⁇ MV i /TR D,i (Eqs. 3 and 4)
  • the subscript, i is the field index.
  • the first field has a field index of 1 and the second field's field index is 2.
  • the field index is 1 because the first field is being encoded.
  • MV i is the forward motion vector of the co-located macroblock in field i of the backward reference picture ( 901 ).
  • TR B,i is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the current B picture ( 900 ) and the reference field pointed to by MV i .
  • TR D,i is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the backward reference picture ( 901 ) and the reference field pointed to by MV i .
  • FIG. 10 there is another block ( 907 ) in the second field of the current B picture ( 900 ). It has a co-located block ( 908 ) in the second field of the backward reference picture ( 901 ). If the forward motion vector of the co-located block ( 908 ) points to a previously coded field in any picture other than its own picture, the calculation of the forward and backward motion vectors follow Eqs. 3 and 4, with the field index equal to 2.
  • the forward motion vector of the co-located block ( 908 ) in the second field of the backward reference picture ( 901 ) can also point to the first field of the same backward reference picture ( 901 ), as shown in FIG. 11.
  • FIG. 11 shows that the co-located block ( 908 ) has a forward motion vector, MV 2 , that points to the first field of the backward reference picture ( 901 ).
  • the two motion vectors for the current block ( 907 ) are calculated as follows:
  • MV F,2 ⁇ TR B,2 ⁇ MV 2 /TR D,2
  • MV B,2 ⁇ ( TR B,2 +TR D,2 ) ⁇ MV 2 /TR D,2 (Eqs. 5 and 6)
  • TR B,2 is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the second field of the current B picture ( 900 ) and the reference field pointed to by MV 2 .
  • TR D,2 is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the second field of the backward reference picture ( 901 ) and the reference field pointed to by MV 2 .
  • both motion vectors point in the backward direction.
  • a current B picture ( 900 ) is to be encoded in field mode using a backward reference picture ( 901 ) that has been encoded in frame mode and a forward reference picture ( 902 ) as its reference pictures.
  • Frames in FIG. 12 are represented with solid vertical lines and their corresponding fields, f 1 and f 2 , are represented with dashed vertical lines.
  • the backward reference picture ( 901 ) can be an I, P, or B picture that has been encoded in frame mode.
  • the forward reference picture ( 902 ) can also be an encoded I, P, or B picture.
  • FIG. 12 there is a block ( 905 ) in the first field of the current B picture ( 900 ).
  • the co-located block ( 904 ) is coded in frame mode.
  • the encoder derives two motion vectors for the block ( 905 ) in the current B picture ( 900 ) that are used in the temporal prediction with motion compensation algorithm.
  • one of the motion vectors, MV F,1 points to the field in the forward reference picture ( 902 ) that has the same parity as the current block's ( 905 ) field parity.
  • FIG. 12 one of the motion vectors, MV F,1 , points to the field in the forward reference picture ( 902 ) that has the same parity as the current block's ( 905 ) field parity.
  • the current block ( 905 ) is in the first field of the current B picture ( 900 ).
  • the other motion vector, MV B,1 points to the field of similar parity in the backward reference picture ( 901 ).
  • the two motion vectors are calculated by:
  • MV B,i ( TR B,i ⁇ TR D ) ⁇ MV/TR D (Eqs. 7 and 8)
  • MV is derived by dividing the frame-based forward motion vector of the co-located block ( 904 ) by two in the vertical direction. This compensates for the fact that the co-located block ( 904 ) is in frame mode while the current block ( 905 ) is in field mode.
  • the subscript, i is the field index.
  • the first field has a field index of 1 and the second field's field index is 2. Thus, in the exemplary scenario of FIG. 12, the field index is 1 because the first field is being encoded.
  • TR B,i is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the backward reference picture ( 901 ) and the i-th field of the forward reference frame ( 902 ).
  • TR D is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the current B picture ( 900 ) and the frame of the co-located block ( 904 ) in the backward reference picture ( 901 ).
  • the same equations are used to calculate the motion vectors for the block ( 907 ) in the second field of the current B picture ( 900 ).
  • a current B picture ( 900 ) is to be encoded in frame mode using a backward reference picture ( 901 ) that has been encoded in field mode and a forward reference picture ( 902 ) as its reference pictures.
  • Frames in FIG. 13 are represented with solid vertical lines and their corresponding fields, f 1 and f 2 , are represented with dashed vertical lines.
  • the backward reference picture ( 901 ) can be an I, P, or B picture that has been encoded in frame mode.
  • the forward reference picture ( 902 ) can also be an encoded I, P, or B picture.
  • FIG. 13 there is a block ( 903 ) in the current B picture ( 900 ) that is to be encoded as a frame. Its motion vectors are derived from the forward motion vector, MV 1 , of its co-located block ( 906 ) in the backward reference picture ( 901 ). According to an embodiment of the present invention, the encoder derives two motion vectors for the current block ( 903 ) in the current B picture ( 900 ) that are used in the temporal prediction with motion compensation algorithm. The two motion vectors are calculated as follows:
  • MV F TR B ⁇ MV 1 /TR D,1
  • MV F ( TR B ⁇ TR D,1 ) ⁇ MV 1 /TR D,1 (Eqs. 9 and 10)
  • MV 1 is derived by doubling the field-based motion vector of the co-located block ( 906 ) in the first field of the backward reference picture ( 901 ) in the vertical direction.
  • TR B is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the reference frame which corresponds with the field in the forward reference picture ( 902 ) to which points the forward motion vector of the co-located block ( 906 ).
  • this motion vector is labeled MV 1 .
  • TR D,1 is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the first field of the backward reference picture ( 901 ) and the field in the forward reference picture ( 902 ) to which points the forward motion vector of the co-located block ( 906 ).
  • Another embodiment of the present invention extends direct mode coding to P pictures.
  • a P picture and its backward reference picture can be coded in frame mode or in field mode.
  • frame and field coding modes there can be four different combinations for a pair of macroblocks in the P picture and its co-located macroblock of the backward reference picture.
  • both the current macroblock and its co-located macroblock are in frame mode.
  • both the current macroblock and its co-located macroblock are in field mode.
  • the current macroblock is in field mode and its co-located macroblock is in frame mode.
  • the current macroblock is in frame mode and its co-located macroblock is in field mode.
  • Blocks in P pictures only have one motion vector, a forward motion vector.
  • the method of direct mode motion vector calculation for the macroblocks that are to be encoded is different in each of the four cases.
  • the four methods of direct motion vector calculation for macroblocks in a B picture will be described in detail below.
  • both the current P picture and its backward reference picture are encoded in frame mode.
  • the forward reference picture for a block in the current P picture is the same picture used by its co-located block in the backward reference picture.
  • the forward motion vector, MV F of the current block is the same as the forward motion vector of its co-located block.
  • both the current P picture and its backward reference picture are encoded in field mode.
  • the motion vector in direct mode coding of a block in a field of the current P picture is calculated from the forward motion vector of the co-located block in the field with the same parity in the backward reference picture.
  • the forward motion vector, MV F,i for the block in the i-th field of the current P picture is the same as the forward motion vector of its co-located block in the i-th field of the backward reference picture.
  • the current P picture is in field mode and the backward reference picture is in frame mode. Since the co-located block of a block in one of the fields of the current P picture is frame coded, the forward motion vector of a block in one of the fields of the current P picture is derived by dividing the co-located block's motion vector by two in the vertical direction.
  • the current P picture is in frame mode and the backward reference picture is in field mode.
  • the co-located block in the first field of the backward reference picture is used in calculating the forward motion vector of the block in the current P picture that is in frame mode.
  • the forward motion vector, MV F of a block in the current P picture in frame mode is derived by doubling the field-based motion vector of the co-located block in the first field of the backward reference picture in the vertical direction.
  • MFIP multi-frame interpolative prediction mode
  • MFIP is a general frame interpolative prediction framework.
  • a B picture that is encoded in frame mode or field mode has two reference pictures that are encoded in frame mode or field mode.
  • the two reference pictures can be both forward reference pictures, as shown in FIG. 14.
  • FIG. 14 shows a B picture ( 140 ) that is to be encoded that has two reference pictures.
  • One of the reference pictures is a forward reference picture ( 141 ) and the other is a backward reference picture ( 142 ).
  • they are both in the same temporal forward direction.
  • the two reference pictures can also both be in the temporal backward direction, as shown in FIG. 15.
  • FIG. 15 In FIG.
  • the B picture ( 140 ) has both its forward reference picture ( 141 ) and its backward reference picture ( 142 ) in the temporal backward direction.
  • FIG. 16 shows another embodiment of the present invention. As shown in FIG. 16, the B picture ( 140 ) can have the forward reference picture ( 141 ) in the temporal forward direction and the backward reference picture ( 142 ) in the temporal backward direction.
  • a prediction signal is a linear interpolation of motion compensated signals.
  • the prediction signal (pred) in MPIF of a B picture is calculated as:
  • the variables ref 1 and ref 2 are the two reference pictures.
  • the variables w 1 and w 2 are weighting factors.
  • the variable d is set to zero by default.
  • the linear interpolation coefficients w 1 , w 2 , d can be determined explicitly for each macroblock.
  • the reference picture, ref is the reference picture closer to the B picture in terms of temporal distance if both ref 1 and ref 2 are forward or backward reference pictures.
  • ref 1 and ref 2 are the forward and backward reference pictures, respectively.
  • Both motion vectors of a MFIP macroblock are coded relative to each other.
  • variable DMV is the data motion vector and is an offset.
  • TR 1 and TR 2 are the temporal distances, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the current picture and the nearest reference picture, ref 1 and the farthest reference picture, ref 2 , respectively.
  • a B picture can be can be coded as one B frame picture or two B field pictures. Rules for handling MFIP in field mode, with both the current B picture that is to be encoded and its reference pictures in field structure are given below:
  • ref 1 and ref 2 are the fields that are indexed by reference field numbers, ref_idx_fwd and ref_idx_bwd.
  • the fields ref 1 and ref 2 can be either top or bottom fields.
  • the default weighting factors, w 1 and w 2 are (0.5, 0.5, 0) and (2, ⁇ 1, 0), respectively.
  • Equation 12 is used to generate MV 2 . Since both reference pictures are in field structure, TR 1 and TR 2 are determined based on the temporal distances between the reference and the current fields.
  • the temporal distance between pictures in AFF coding can be calculated using a variable, temporal reference (TR) or by counting the picture numbers and calculating their differences.
  • TR is incremented by 1 per field, and wrapped by a constant (for example, 256) for picture level AFF.
  • TR is in field interval.
  • n be the frame index or the frame number.
  • the variable n is incremented by 1 per frame. If a frame with frame index n is encoded in frame mode, the TR of this frame is 2n. If a frame with frame index n is encoded in field mode, the TR of the first field of this frame is 2n and the TR of the second field is 2n+1.

Abstract

A method and system of encoding and decoding digital video content. The digital video content comprises a stream of pictures which can each be intra, predicted, or bi-predicted pictures. Each of the pictures comprises macroblocks that can be further divided into smaller blocks. The method entails encoding and decoding each picture in said stream of pictures in either frame mode or in field mode.

Description

    TECHNICAL FIELD
  • The present invention relates to encoding and decoding of digital video content. More specifically, the present invention relates to frame mode and field mode encoding and decoding of digital video content at the picture level as used in the MPEG-4 [0001] Part 10 AVC/H.264 video coding standard.
  • BACKGROUND
  • Video compression is used in many current and emerging products. It is at the heart of digital television set-top boxes (STBs), digital satellite systems (DSSs), high definition television (HDTV) decoders, digital versatile disk (DVD) players, video conferencing, Internet video and multimedia content, and other digital video applications. Without video compression, digital video content can be extremely large, making it difficult or even impossible for the digital video content to be efficiently stored, transmitted, or viewed. [0002]
  • The digital video content comprises a stream of pictures that can be displayed as an image on a television receiver, computer monitor, or some other electronic device capable of displaying digital video content. A picture that is displayed in time before a particular picture is in the “backward direction” in relation to the particular picture. Likewise, a picture that is displayed in time after a particular picture is in the “forward direction” in relation to the particular picture. [0003]
  • Video compression is accomplished in a video encoding, or coding, process in which each picture is encoded as either a frame or as two fields. Each frame comprises a number of lines of spatial information. For example, a typical frame contains 480 horizontal lines. Each field contains half the number of lines in the frame. For example, if the frame comprises 480 horizontal lines, each field comprises 240 horizontal lines. In a typical configuration, one of the fields comprises the odd numbered lines in the frame and the other field comprises the even numbered lines in the frame. The field that comprises the odd numbered lines will be referred to as the “top” field hereafter and in the appended claims, unless otherwise specifically denoted. Likewise, the field that comprises the even numbered lines will be referred to as the “bottom” field hereafter and in the appended claims, unless otherwise specifically denoted. The two fields can be interlaced together to form an interlaced frame. [0004]
  • The general idea behind video coding is to remove data from the digital video content that is “non-essential.” The decreased amount of data then requires less bandwidth for broadcast or transmission. After the compressed video data has been transmitted, it must be decoded, or decompressed. In this process, the transmitted video data is processed to generate approximation data that is substituted into the video data to replace the “non-essential” data that was removed in the coding process. [0005]
  • Video coding transforms the digital video content into a compressed form that can be stored using less space and transmitted using less bandwidth than uncompressed digital video content. It does so by taking advantage of temporal and spatial redundancies in the pictures of the video content. The digital video content can be stored in a storage medium such as a hard drive, DVD, or some other non-volatile storage unit. [0006]
  • There are numerous video coding methods that compress the digital video content. Consequently, video coding standards have been developed to standardize the various video coding methods so that the compressed digital video content is rendered in formats that a majority of video encoders and decoders can recognize. For example, the Motion Picture Experts Group (MPEG) and International Telecommunication Union (ITU-T) have developed video coding standards that are in wide use. Examples of these standards include the MPEG-1, MPEG-2, MPEG-4, ITU-T H261, and ITU-T H263 standards. [0007]
  • Most modern video coding standards, such as those developed by MPEG and ITU-T, are based in part on a temporal prediction with motion compensation (MC) algorithm. Temporal prediction with motion compensation is used to remove temporal redundancy between successive pictures in a digital video broadcast. [0008]
  • The temporal prediction with motion compensation algorithm typically utilizes one or two reference pictures to encode a particular picture. A reference picture is a picture that has already been encoded. By comparing the particular picture that is to be encoded with one of the reference pictures, the temporal prediction with motion compensation algorithm can take advantage of the temporal redundancy that exists between the reference picture and the particular picture that is to be encoded and encode the picture with a higher amount of compression than if the picture were encoded without using the temporal prediction with motion compensation algorithm. One of the reference pictures may be in the backward direction in relation to the particular picture that is to be encoded. The other reference picture is in the forward direction in relation to the particular picture that is to be encoded. [0009]
  • However, as the demand for higher resolutions, more complex graphical content, and faster transmission time increases, so does the need for better video compression methods. To this end, a new video coding standard is currently being developed. This new video coding standard is called the MPEG-4 [0010] Part 10 AVC/H.264 standard.
  • The new MPEG-4 [0011] Part 10 AVC/H.264 standard calls for a number of new methods in video compression. For example, one of the features of the new MPEG-4 Part 10 AVC/H.264 standard is that it allows multiple reference pictures, instead of just two reference pictures. The use of multiple reference pictures improves the performance of the temporal prediction with motion compensation algorithm by allowing the encoder to find the reference picture that most closely matches the picture that is to be encoded. By using the reference picture in the coding process that most closely matches the picture that is to be encoded, the greatest amount of compression is possible in the encoding of the picture. The reference pictures are stored in frame and field buffers.
  • As previously stated, the encoder can encode a picture as a frame or as two fields. A greater degree of compression could be accomplished if, in a sequence of pictures that is to be encoded, some of the pictures are encoded as frames and some of the pictures are encoded as fields. [0012]
  • SUMMARY OF THE INVENTION
  • In one of many possible embodiments, the present invention provides a method of encoding, decoding, and bitstream generation of digital video content. The digital video content comprises a stream of pictures which can each be intra, predicted, or bi-predicted pictures. Each of the pictures comprises macroblocks that can be further divided into smaller blocks. The method entails encoding and decoding each picture in said stream of pictures in either frame mode or in field mode.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings illustrate various embodiments of the present invention and are a part of the specification. Together with the following description, the drawings demonstrate and explain the principles of the present invention. The illustrated embodiments are examples of the present invention and do not limit the scope of the invention. [0014]
  • FIG. 1 illustrates an exemplary sequence of three types of pictures that can be used to implement the present invention, as defined by an exemplary video coding standard such as the MPEG-4 [0015] Part 10 AVC/H.264 standard.
  • FIG. 2 shows that each picture is preferably divided into slices containing macroblocks according to an embodiment of the present invention. [0016]
  • FIG. 3[0017] a shows that a macroblock can be further divided into a block size of 16 by 8 pixels according to an embodiment of the present invention.
  • FIG. 3[0018] b shows that a macroblock can be further divided into a block size of 8 by 16 pixels according to an embodiment of the present invention.
  • FIG. 3[0019] c shows that a macroblock can be further divided into a block size of 8 by 8 pixels according to an embodiment of the present invention.
  • FIG. 3[0020] d shows that a macroblock can be further divided into a block size of 8 by 4 pixels according to an embodiment of the present invention.
  • FIG. 3[0021] e shows that a macroblock can be further divided into a block size of 4 by 8 pixels according to an embodiment of the present invention.
  • FIG. 3[0022] f shows that a macroblock can be further divided into a block size of 4 by 4 pixels according to an embodiment of the present invention.
  • FIG. 4 shows a picture construction example using temporal prediction with motion compensation that illustrates an embodiment of the present invention. [0023]
  • FIG. 5 shows an exemplary stream of pictures which illustrates an advantage of using multiple reference pictures in temporal prediction with motion compensation according to an embodiment of the present invention. [0024]
  • FIG. 6 illustrates according to an embodiment of the present invention that a unique reference frame number is assigned to each reference frame in the frame buffer according to its distance from the current picture that is being encoded in frame mode. [0025]
  • FIG. 7[0026] a shows an exemplary reference field numbering configuration where the reference fields of the same field parity as the current field are given smaller numbers than are their corresponding second fields according to an embodiment of the present invention.
  • FIG. 7[0027] b shows an exemplary reference field numbering configuration where the current field is the second field of the picture that is to be encoded as two fields.
  • FIG. 8 shows an alternate reference field numbering configuration in the field buffer according to an embodiment of the present invention. [0028]
  • FIG. 9 illustrates a method of direct mode vector calculation where both the current macroblock and its co-located macroblock are in frame mode. [0029]
  • FIG. 10 illustrates a method of direct mode vector calculation where both the current macroblock and its co-located macroblock are in field mode. [0030]
  • FIG. 11 illustrates another method of direct mode vector calculation where both the current macroblock and its co-located macroblock are in field mode. [0031]
  • FIG. 12 illustrates a method of direct mode vector calculation where the current macroblock is in field mode and its co-located macroblock is in frame mode. [0032]
  • FIG. 13 illustrates a method of direct mode vector calculation where the current macroblock is in frame mode and its co-located macroblock is in field mode. [0033]
  • FIG. 14 shows a B picture with its two reference pictures in the temporal forward direction according to an embodiment of the present invention. [0034]
  • FIG. 15 shows a B picture with its two reference pictures in the temporal backward direction according to an embodiment of the present invention. [0035]
  • FIG. 16 shows a B picture with a forward reference picture in the temporal forward direction and a backward reference picture in the temporal backward direction.[0036]
  • Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements. [0037]
  • DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
  • The present invention provides a method of adaptive frame/field (AFF) coding of digital video content comprising a stream of pictures at a picture level. In AFF coding at a picture level, each picture in a stream of pictures that is to be encoded is encoded in either frame mode or in field mode, regardless of the other picture's frame or field coding mode. If a picture is encoded in frame mode, the two fields that make up an interlaced frame are coded jointly. Conversely, if a picture is encoded in field mode, the two fields that make up an interlaced frame are coded separately. The encoder determines which type of coding, frame mode coding or field mode coding, is more advantageous for each picture and chooses that type of encoding for the picture. The exact method of choosing between frame mode and field mode is not critical to the present invention and will not be detailed herein. [0038]
  • As noted above, the MPEG-4 [0039] Part 10 AVC/H.264 standard is a new standard for encoding and compressing digital video content. The documents establishing the MPEG-4 Part 10 AVC/H.264 standard are hereby incorporated by reference, including “Joint Final Committee Draft (JFCD) of Joint Video Specification” issued by the Joint Video Team (JVT) on Aug. 10, 2002. (ITU-T Rec. H.264 & ISO/IEC 14496-10 AVC). The JVT consists of experts from ISO or MPEG and ITU-T. Due to the public nature of the MPEG-4 Part 10 AVC/H.264 standard, the present specification will not attempt to document all the existing aspects of MPEG-4 Part 10 AVC/H.264 video coding, relying instead on the incorporated specifications of the standard.
  • Although this method of AFF encoding is compatible with and will be explained using the MPEG-4 [0040] Part 10 AVC/H.264 standard guidelines, it can be modified and used as best serves a particular standard or application.
  • Using the drawings, the preferred embodiments of the present invention will now be explained. [0041]
  • FIG. 1 illustrates an exemplary sequence of three types of pictures that can be used to implement the present invention, as defined by an exemplary video coding standard such as the MPEG-4 [0042] Part 10 AVC/H.264 standard. As previously mentioned, the encoder encodes the pictures and the decoder decodes the pictures. The encoder or decoder can be a processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), coder/decoder (CODEC), digital signal processor (DSP), or some other electronic device that is capable of encoding the stream of pictures. However, as used hereafter and in the appended claims, unless otherwise specifically denoted, the term “encoder” will be used to refer expansively to all electronic devices that encode digital video content comprising a stream of pictures. Also, as used hereafter and in the appended claims, unless otherwise specifically denoted, the term “decoder” will be used to refer expansively to all electronic devices that decode digital video content comprising a stream of pictures.
  • As shown in FIG. 1, there are preferably three types of pictures that can be used in the video coding method. Three types of pictures are defined to support random access to stored digital video content while exploring the maximum redundancy reduction using temporal prediction with motion compensation. The three types of pictures are intra (I) pictures ([0043] 100), predicted (P) pictures (102 a,b), and bi-predicted (B) pictures (101 a-d). An I picture (100) provides an access point for random access to stored digital video content and can be encoded only with slight compression. Intra pictures (100) are encoded without referring to reference pictures.
  • A predicted picture ([0044] 102 a,b) is encoded using an I, P, or B picture that has already been encoded as a reference picture. The reference picture can be in either the forward or backward temporal direction in relation to the P picture that is being encoded. The predicted pictures (102 a,b) can be encoded with more compression than the intra pictures (100).
  • A bi-predicted picture ([0045] 101 a-d) is encoded using two temporal reference pictures: a forward reference picture and a backward reference picture. The forward reference picture is sometimes called the past reference picture and the backward reference picture is sometimes called a future reference picture. An embodiment of the present invention is that the forward reference picture and backward reference picture can be in the same temporal direction in relation to the B picture that is being encoded. Bi-predicted pictures (101 a-d) can be encoded with the most compression out of the three picture types.
  • Reference relationships ([0046] 103) between the three picture types are illustrated in FIG. 1. For example, the P picture (102 a) can be encoded using the encoded I picture (100) as its reference picture. The B pictures (101 a-d) can be encoded using the encoded I picture (100) or the encoded P picture (102 a) as its reference pictures, as shown in FIG. 1. Under the principles of an embodiment of the present invention, encoded B pictures (101 a-d) can also be used as reference pictures for other B pictures that are to be encoded. For example, the B picture (101 c) of FIG. 1 is shown with two other B pictures (101 b and 101 d) as its reference pictures.
  • The number and particular order of the I ([0047] 100), B (101 a-d), and P (102 a,b) pictures shown in FIG. 1 are given as an exemplary configuration of pictures, but are not necessary to implement the present invention. Any number of I, B, and P pictures can be used in any order to best serve a particular application. The MPEG-4 Part 10 AVC/H.264 standard does not impose any limit to the number of B pictures between two reference pictures nor does it limit the number of pictures between two I pictures.
  • FIG. 2 shows that each picture ([0048] 200) is preferably divided into slices (202). A slice (202) contains a group of macroblocks (202). A macroblock (201) is a rectangular group of pixels. As shown in FIG. 2, a preferable macroblock (201) size is 16 by 16 pixels.
  • FIGS. 3[0049] a-f show that a macroblock can be further divided into smaller sized blocks. For example, as shown in FIGS. 3a-f, a macroblock can be further divided into block sizes of 16 by 8 pixels (FIG. 3a; 300), 8 by 16 pixels (FIG. 3b; 301), 8 by 8 pixels (FIG. 3c; 302), 8 by 4 pixels (FIG. 3d; 303), 4 by 8 pixels (FIG. 3e; 304), or 4 by 4 pixels (FIG. 3f; 305).
  • FIG. 4 shows a picture construction example using temporal prediction with motion compensation that illustrates an embodiment of the present invention. Temporal prediction with motion compensation assumes that a current picture, picture N ([0050] 400), can be locally modeled as a translation of another picture, picture N-1 (401). The picture N-1 (401) is the reference picture for the encoding of picture N (400) and can be in the forward or backwards temporal direction in relation to picture N (400).
  • As shown in FIG. 4, each picture is preferably divided into slices containing macroblocks ([0051] 201 a,b). The picture N-1 (401) contains an image (403) that is to be shown in picture N (400). The image (403) will be in a different temporal position (402) in picture N (400) than it is in picture N-1 (401), as shown in FIG. 4. The image content of each macroblock (201 b) of picture N (400) is predicted from the image content of each corresponding macroblock (201 a) of picture N-1 (401) by estimating the required amount of temporal motion of the image content of each macroblock (201 a) of picture N-1 (401) for the image (403) to move to its new temporal position (402) in picture N (400). Instead of the original image (402), the difference (404) between the image (402) and its prediction (403) is actually encoded and transmitted.
  • For each image ([0052] 402) in picture N (400), the temporal prediction can often be represented by motion vectors that represent the amount of temporal motion required for the image (403) to move to a new temporal position (402) in the picture N (400). The motion vectors (406) used for the temporal prediction with motion compensation need to be encoded and transmitted.
  • FIG. 4 shows that the image ([0053] 402) in picture N (400) can be represented by the difference (404) between the image and its prediction and the associated motion vectors (406). The exact method of encoding using the motion vectors can vary as best serves a particular application and can be easily implemented by someone who is skilled in the art.
  • FIG. 5 shows an exemplary stream of pictures which illustrates an advantage of using multiple reference pictures in temporal prediction with motion compensation according to an embodiment of the present invention. The use of multiple reference pictures increases the likelihood that the picture N ([0054] 400) to be encoded with the most compression possible. Pictures N-1 (401), N-2 (500), and N-3 (501) have been already encoded in this example. As shown in FIG. 5, an image (504) in picture N-3 (501) is more similar to the image (402) in picture N (400) than are the images (503, 502) of pictures N-2 (500) and N-1 (401), respectively. The use of multiple reference pictures allows picture N (400) to be encoded using picture N-3 (501) as its reference picture instead of picture N-1 (401).
  • Picture level AFF coding of a stream of pictures will now be explained in more detail. A frame of an interlaced sequence contains two fields, the top field and the bottom field, which are interleaved and separated in time by a field period. The field period is half the time of a frame period. In picture level AFF coding, the two fields of an interlaced frame can be coded jointly or separately. If they are coded jointly, frame mode coding is used. Conversely, if the two fields are coded separately, field mode coding is used. [0055]
  • Fixed frame/field coding, on the other hand, codes all the pictures in a stream of pictures in one mode only. That mode can be frame mode or it can be field mode. Picture level AFF is preferable to fixed frame/field coding because it allows the encoder to choose which mode, frame mode or field mode, to encode each picture in the stream of pictures based on the contents of the digital video material. [0056]
  • Frame mode coding uses pictures that have already been encoded as frames as reference frames. The reference frames can be any coded I, P, or B frame. The reference frames are stored in a frame buffer, which is part of the encoder. An embodiment of the present invention is that a unique reference frame number is assigned to each reference frame in the frame buffer according to its distance from the current picture that is being encoded in frame mode, as shown in the exemplary configuration of FIG. 6. For example, as shown in FIG. 6, a current picture that is to be encoded as a frame ([0057] 600) has a number of reference frames (0-5) in the frame buffer (601). Also shown in FIG. 6 are the corresponding fields (f1, f2) to the current frame (600) and the reference frames (0-5). The dotted lines labeled f1 are first fields and the dotted lines labeled f2 are second fields. A first field is the first field that is encoded in a picture of two fields. Likewise, a second field is the second field that is encoded in a picture of two fields. An embodiment of the present invention is that the first field can be either the top or bottom field. In another embodiment of the present invention, the second field can also be either the top or bottom field. The frames are represented by solid lines. As shown in FIG. 6, the reference frame 0 is temporally the closest reference frame to the current frame (600). The reference frame number increases the further the reference frame is temporally from the current frame (600).
  • Under principles of an embodiment of the present invention, a B picture that is encoded as a frame can have multiple forward and backward reference pictures. Unique numbers are assigned to the forward and backward reference pictures. [0058]
  • In the temporal prediction with motion compensation algorithm, sub-pel interpolation is performed on each of the pixels in a picture that is encoded as a frame. Padding can also be applied to reference pictures encoded as frames by repeating the pixels on the frame boundaries. Padding is sometimes desirable in the temporal prediction with motion compensation algorithm. Loop filtering, or de-blocking schemes, can be applied to frame blocks to account for pixel value discontinuities at the edges of adjacent blocks. [0059]
  • According to another embodiment of the present invention, a macroblock in a P picture can be skipped in AFF coding. If a macroblock is skipped, its data is not transmitted in the encoding of the picture. A skipped macroblock in a P picture is reconstructed by copying the co-located macroblock with motion compensation in the most recently coded I or P reference picture that has been encoded as a frame. [0060]
  • Field mode coding uses pictures that have already been encoded as fields as reference fields. The reference fields can be any coded I, P, or B fields. The reference fields are stored in a field buffer, which is part of the encoder. An embodiment of the present invention is that a unique reference field number is assigned to each reference field in the field buffer according to its distance from the current picture that is being encoded as two fields. FIG. 7[0061] a and FIG. 7b show exemplary reference field numbering configurations where the reference fields of the same field parity as the current field are given smaller numbers than are their corresponding second fields according to an embodiment of the present invention. Two fields have the same field parity if they are both top fields or if they are both bottom fields. In the examples of FIG. 7a and FIG. 7b, if the first field of the current picture that is to be encoded is a top field, then the first fields of the reference pictures are top fields as well. The second fields would then be bottom fields. The first fields can also be all bottom fields and the second fields can all be top fields.
  • As shown in FIG. 7[0062] a, a current picture that is to be encoded as a field (700) has a number of reference fields (0-10) in the field buffer (701). The dotted lines labeled f1 are first fields and the dotted lines labeled f2 are second fields. The corresponding frames to the fields are also shown in FIG. 7a and are represented by solid lines. As shown in FIG. 7a, if the current field (700) is the first field of the picture that is to be encoded, the first field of the first picture in the field buffer (701) is assigned the number 0, while the second field of the first picture in the field buffer (701) is assigned the number 1. The reference field numbers increase the further the reference fields are temporally from the current field (700). The first fields of the pictures in the field buffer have lower reference numbers than do their corresponding second fields.
  • FIG. 7[0063] b shows an exemplary reference field numbering configuration where the current field (702) is the second field of the picture that is to be encoded as two fields. The dotted lines labeled f1 are first fields and the dotted lines labeled f2 are second fields. The first field of the current picture has already been coded. As shown in FIG. 7b, because the current field (702) is a second field, the second field of the first picture in the field buffer (701) is assigned the number 0. The first coded field of the current picture is assigned the number 0. The reference field numbers increase the further the reference fields are temporally from the current field (702). The second fields of the pictures in the field buffer have lower reference numbers than do their corresponding first fields.
  • FIG. 8 shows an alternate reference field numbering configuration in the field buffer according to an embodiment of the present invention. In this configuration, no favoring is given to fields of the same field parity as the current field. For example, as shown in FIG. 8, the current field ([0064] 800) is a first field. The most recently coded field of the most recently coded picture in the field buffer is assigned the reference number 0. The reference field numbers increase the further the reference fields are temporally from the current field (800), regardless of their field parity.
  • According to another embodiment of the present invention, if field coding is selected by the encoder for a particular P picture, the encoder can use the first field that is encoded as a reference field for the encoding of the second field. If the picture is a B picture, the first field that is encoded can be used as one of the two reference fields for the encoding of the second field. [0065]
  • For adaptive bi-prediction (ABP), the two reference pictures can be coded in field mode. In this case, the temporal distances used in calculating the scaled motion vectors are in field interval. In ABP coding, both the reference pictures are in the same direction. [0066]
  • In the temporal prediction with motion compensation algorithm, sub-pel interpolation is performed on each of the pixels in a picture that is encoded in field mode. Padding can also be applied to reference pictures encoded in field mode by repeating the pixels on the field boundaries. Padding is sometimes desirable in the temporal prediction with motion compensation algorithm. Loop filtering, or de-blocking schemes, can be applied to field blocks to account for pixel value discontinuities at the edges of adjacent blocks. [0067]
  • According to another embodiment of the present invention, a macroblock in a P picture can be skipped in AFF coding. If a macroblock is skipped, its data is not transmitted in the encoding of the picture. A skipped macroblock in a P picture is reconstructed by copying the co-located macroblock with motion compensation in the most recently coded I or P reference field of the same field parity. Another embodiment is that the skipped macroblock in the P picture is reconstructed by copying the co-located macroblock in the most recently coded reference field, which can be of a different field parity. [0068]
  • Another embodiment of the present invention is direct mode coding for B pictures. In direct mode coding, the forward and backward motion vectors for the macroblocks in a B picture are derived from the motion vectors used in the corresponding, or co-located macroblocks of a backward reference picture. Co-located macroblocks in two pictures occupy the same geometric position in both of the pictures. The backward reference picture is sometimes referred to as a forward reference picture, even though according to an embodiment of the present invention, the backward reference picture is not necessarily temporally ahead of the current picture that is being encoded. [0069]
  • Direct mode coding is advantageous over other methods of coding because a macroblock can have up to 16 motion vectors and up to 4 reference frames in inter mode coding. Inter mode coding codes a macroblock using temporal prediction with motion compensation. If a macroblock is coded using inter coding, the MPEG-4 [0070] Part 10 AVC/H.264 standard allows each of the six smaller block sizes of FIGS. 3a-f (16 by 8 pixels, 8 by 16 pixels, 8 by 8 pixels, 8 by 4 pixels, 4 by 8 pixels, and 4 by 4 pixels) to have its own motion vector. A block size of 16 by 16 pixels can also have its own motion vector. The MPEG-4 Part 10 AVC/H.264 standard also allows block sizes of 16 by 16 pixels, 16 by 8 pixels, 8 by 16 pixels, and 8 by 8 pixels to have its own reference frame. Thus, a macroblock can have up to 16 motion vectors and up to 4 reference frames. With so many potential motion vectors, it is advantageous to derive the motion vectors of a macroblock that is to be encoded from motion vectors of the backward reference picture's co-located macroblock that are already calculated. In direct mode coding, the forward and backward motion vectors of a macroblock that is to be encoded are computed as the scaled versions of the forward motion vectors of the co-located macroblock in the backward reference picture.
  • In AFF coding at the picture level, a B picture and its backward reference picture can each be coded in frame mode or in field mode. Hence, in terms of frame and field coding modes, there can be four different combinations for a pair of macroblocks in the B picture and its co-located macroblock of the backward reference picture. In [0071] case 1, both the current macroblock and its co-located macroblock are in frame mode. In case 2, both the current macroblock and its co-located macroblock are in field mode. In case 3, the current macroblock is in field mode and its co-located macroblock is in frame mode. Finally, in case 4, the current macroblock is in frame mode and its co-located macroblock is in field mode. The method of direct mode motion vector calculation for the macroblocks that are to be encoded is different in each of the four cases. The four methods of direct motion vector calculation for macroblocks in a B picture will be described in detail below.
  • The method of direct mode vector calculation in [0072] case 1 will be described in connection with FIG. 9. As shown in FIG. 9, a current B picture (900) is to be encoded in frame mode using a backward reference picture (901) that has been encoded in frame mode and a forward reference picture (902) as its reference pictures. Frames in FIG. 9 are represented with solid vertical lines and their corresponding fields, f1 and f2, are represented with dashed vertical lines. According to an embodiment of the present invention, the backward reference picture (901) can be an I, P, or B picture that has been encoded in frame mode. Similarly, the forward reference picture (902) can also be an encoded I, P, or B picture.
  • As shown in FIG. 9, there is a block ([0073] 903) in the current B picture (900) and its co-located block (904) in the backward reference picture (901). The block (903) and the co-located block (904) have equal pixel dimensions. These dimensions can be 16 by 16 pixels, 16 by 8 pixels, 8 by 16 pixels, 8 by 8 pixels, 8 by 4 pixels, 4 by 8 pixels, or 4 by 4 pixels. According to an embodiment of the present invention, the encoder derives two motion vectors for the block (903) in the current B picture (900) that are used in the temporal prediction with motion compensation algorithm. One of the motion vectors, MVF, points to the forward reference picture (902) that has been encoded in frame mode. The other motion vector, MVB, points to the backward reference picture (601) that has been encoded in frame mode. The two motion vectors are calculated by:
  • MV F =TR B ·MV/TR D
  • MV B=(TR B −TR D)·MV/TRD  (Eqs. 1 and 2)
  • In Eqs. 1 and 2, TR[0074] B is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the current B picture (900) that is to be encoded in frame mode and the forward reference picture (602) that is encoded in frame mode. TRD is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the forward (602) and backward reference pictures (601) that have been encoded in frame mode. A preferable method of calculating the temporal distances between reference pictures will be explained below. MV is the motion vector that has already been calculated for the co-located block (904) in the backward reference picture (901) and points to the forward reference picture (902) that has been encoded in frame mode.
  • The method of direct mode vector calculation in [0075] case 2 will be described in connection with FIG. 10 and FIG. 11. As shown in FIG. 10 and FIG. 11, a current B picture (900) is to be encoded in field mode using a backward reference picture (901) that has been encoded in field mode and a forward reference picture (902) as its reference pictures. Frames in FIG. 10 and FIG. 11 are represented with solid vertical lines and their corresponding fields, f1 and f2, are represented with dashed vertical lines. According to an embodiment of the present invention, the backward reference picture (901) can be an I, P, or B picture that has been encoded in frame mode. Similarly, the forward reference picture (902) can also be an encoded I, P, or B picture.
  • As shown in FIG. 10, there is a block ([0076] 905) in the first field of the current B picture (900). Its motion vectors are derived from the forward motion vector, MV1 of its co-located block (906) in the backward reference picture (901). According to an embodiment shown in FIG. 10, the co-located block (906) is in a field of the same parity as is the block (905) in the current B picture (900). The block (905) and the co-located block (906) have equal pixel dimensions. These dimensions can be 16 by 16 pixels, 16 by 8 pixels, 8 by 16 pixels, 8 by 8 pixels, 8 by 4 pixels, 4 by 8 pixels, or 4 by 4 pixels.
  • According to an embodiment of the present invention, the encoder derives two motion vectors for the block ([0077] 905) in the current B picture (900) that are used in the temporal prediction with motion compensation algorithm. One of the motion vectors, MVF,1, points to the field in the forward reference picture (902) to which MV1 points. The other motion vector, MVB,1, points to the field of the co-located block (906) in the backward reference picture (901). The two motion vectors are calculated by:
  • MV F,i =TR B,i ·MV i /TR D,i
  • MV B,i=(TR B,i −TR D,iMV i /TR D,i  (Eqs. 3 and 4)
  • In Eqs. 3 and 4, the subscript, i, is the field index. The first field has a field index of 1 and the second field's field index is 2. Thus, in the exemplary scenario of FIG. 10, the field index is 1 because the first field is being encoded. MV[0078] i is the forward motion vector of the co-located macroblock in field i of the backward reference picture (901). TRB,i is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the current B picture (900) and the reference field pointed to by MVi. TRD,i is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the backward reference picture (901) and the reference field pointed to by MVi.
  • As shown in FIG. 10, there is another block ([0079] 907) in the second field of the current B picture (900). It has a co-located block (908) in the second field of the backward reference picture (901). If the forward motion vector of the co-located block (908) points to a previously coded field in any picture other than its own picture, the calculation of the forward and backward motion vectors follow Eqs. 3 and 4, with the field index equal to 2.
  • However, according to an embodiment of the present invention, the forward motion vector of the co-located block ([0080] 908) in the second field of the backward reference picture (901) can also point to the first field of the same backward reference picture (901), as shown in FIG. 11. FIG. 11 shows that the co-located block (908) has a forward motion vector, MV2, that points to the first field of the backward reference picture (901). In this case, the two motion vectors for the current block (907) are calculated as follows:
  • MVF,2 =−TR B,2 ·MV 2 /TR D,2
  • MV B,2=−(TR B,2 +TR D,2MV 2 /TR D,2  (Eqs. 5 and 6)
  • In Eqs. 5 and 6, TR[0081] B,2 is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the second field of the current B picture (900) and the reference field pointed to by MV2. TRD,2 is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the second field of the backward reference picture (901) and the reference field pointed to by MV2. In this case, as shown in FIG. 11, both motion vectors point in the backward direction.
  • The method of direct mode vector calculation in [0082] case 3 will be described in connection with FIG. 12. As shown in FIG. 12, a current B picture (900) is to be encoded in field mode using a backward reference picture (901) that has been encoded in frame mode and a forward reference picture (902) as its reference pictures. Frames in FIG. 12 are represented with solid vertical lines and their corresponding fields, f1 and f2, are represented with dashed vertical lines. According to an embodiment of the present invention, the backward reference picture (901) can be an I, P, or B picture that has been encoded in frame mode. Similarly, the forward reference picture (902) can also be an encoded I, P, or B picture.
  • As shown in FIG. 12, there is a block ([0083] 905) in the first field of the current B picture (900). According to an embodiment shown in FIG. 12, the co-located block (904) is coded in frame mode. According to an embodiment of the present invention, the encoder derives two motion vectors for the block (905) in the current B picture (900) that are used in the temporal prediction with motion compensation algorithm. As shown in FIG. 12, one of the motion vectors, MVF,1, points to the field in the forward reference picture (902) that has the same parity as the current block's (905) field parity. In the example of FIG. 12, the current block (905) is in the first field of the current B picture (900). The other motion vector, MVB,1, points to the field of similar parity in the backward reference picture (901). The two motion vectors are calculated by:
  • MV F,i =TR B,i ·MV/TR D
  • MV B,i=(TR B,i −TR D)·MV/TRD  (Eqs. 7 and 8)
  • In Eqs. 7 and 8, MV is derived by dividing the frame-based forward motion vector of the co-located block ([0084] 904) by two in the vertical direction. This compensates for the fact that the co-located block (904) is in frame mode while the current block (905) is in field mode. The subscript, i, is the field index. The first field has a field index of 1 and the second field's field index is 2. Thus, in the exemplary scenario of FIG. 12, the field index is 1 because the first field is being encoded. TRB,i is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the backward reference picture (901) and the i-th field of the forward reference frame (902). TRD is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the i-th field of the current B picture (900) and the frame of the co-located block (904) in the backward reference picture (901). The same equations are used to calculate the motion vectors for the block (907) in the second field of the current B picture (900).
  • The method of direct mode vector calculation in [0085] case 4 will be described in connection with FIG. 13. As shown in FIG. 13, a current B picture (900) is to be encoded in frame mode using a backward reference picture (901) that has been encoded in field mode and a forward reference picture (902) as its reference pictures. Frames in FIG. 13 are represented with solid vertical lines and their corresponding fields, f1 and f2, are represented with dashed vertical lines. According to an embodiment of the present invention, the backward reference picture (901) can be an I, P, or B picture that has been encoded in frame mode. Similarly, the forward reference picture (902) can also be an encoded I, P, or B picture.
  • As shown in FIG. 13, there is a block ([0086] 903) in the current B picture (900) that is to be encoded as a frame. Its motion vectors are derived from the forward motion vector, MV1, of its co-located block (906) in the backward reference picture (901). According to an embodiment of the present invention, the encoder derives two motion vectors for the current block (903) in the current B picture (900) that are used in the temporal prediction with motion compensation algorithm. The two motion vectors are calculated as follows:
  • MV F =TR B ·MV 1 /TR D,1
  • MV F=(TR B −TR D,1MV 1 /TR D,1  (Eqs. 9 and 10)
  • In Eqs. 9 and 10, MV[0087] 1 is derived by doubling the field-based motion vector of the co-located block (906) in the first field of the backward reference picture (901) in the vertical direction. TRB is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the reference frame which corresponds with the field in the forward reference picture (902) to which points the forward motion vector of the co-located block (906). In FIG. 13, this motion vector is labeled MV1. TRD,1 is the temporal distance, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the first field of the backward reference picture (901) and the field in the forward reference picture (902) to which points the forward motion vector of the co-located block (906).
  • Another embodiment of the present invention extends direct mode coding to P pictures. In AFF coding at the picture level, a P picture and its backward reference picture can be coded in frame mode or in field mode. Hence, in terms of frame and field coding modes, there can be four different combinations for a pair of macroblocks in the P picture and its co-located macroblock of the backward reference picture. In [0088] case 1, both the current macroblock and its co-located macroblock are in frame mode. In case 2, both the current macroblock and its co-located macroblock are in field mode. In case 3, the current macroblock is in field mode and its co-located macroblock is in frame mode. Finally, in case 4, the current macroblock is in frame mode and its co-located macroblock is in field mode. Blocks in P pictures only have one motion vector, a forward motion vector. The method of direct mode motion vector calculation for the macroblocks that are to be encoded is different in each of the four cases. The four methods of direct motion vector calculation for macroblocks in a B picture will be described in detail below.
  • In [0089] case 1, both the current P picture and its backward reference picture are encoded in frame mode. The forward reference picture for a block in the current P picture is the same picture used by its co-located block in the backward reference picture. Thus, the forward motion vector, MVF, of the current block is the same as the forward motion vector of its co-located block.
  • In [0090] case 2, both the current P picture and its backward reference picture are encoded in field mode. The motion vector in direct mode coding of a block in a field of the current P picture is calculated from the forward motion vector of the co-located block in the field with the same parity in the backward reference picture. The forward motion vector, MVF,i, for the block in the i-th field of the current P picture is the same as the forward motion vector of its co-located block in the i-th field of the backward reference picture.
  • In [0091] case 3, the current P picture is in field mode and the backward reference picture is in frame mode. Since the co-located block of a block in one of the fields of the current P picture is frame coded, the forward motion vector of a block in one of the fields of the current P picture is derived by dividing the co-located block's motion vector by two in the vertical direction.
  • In [0092] case 4, the current P picture is in frame mode and the backward reference picture is in field mode. The co-located block in the first field of the backward reference picture is used in calculating the forward motion vector of the block in the current P picture that is in frame mode. The forward motion vector, MVF, of a block in the current P picture in frame mode is derived by doubling the field-based motion vector of the co-located block in the first field of the backward reference picture in the vertical direction.
  • Another embodiment of the present invention is multi-frame interpolative prediction mode (MFIP). MFIP is a general frame interpolative prediction framework. As explained previously, a B picture that is encoded in frame mode or field mode has two reference pictures that are encoded in frame mode or field mode. The two reference pictures can be both forward reference pictures, as shown in FIG. 14. FIG. 14 shows a B picture ([0093] 140) that is to be encoded that has two reference pictures. One of the reference pictures is a forward reference picture (141) and the other is a backward reference picture (142). As shown in FIG. 14, they are both in the same temporal forward direction. The two reference pictures can also both be in the temporal backward direction, as shown in FIG. 15. In FIG. 15, the B picture (140) has both its forward reference picture (141) and its backward reference picture (142) in the temporal backward direction. FIG. 16 shows another embodiment of the present invention. As shown in FIG. 16, the B picture (140) can have the forward reference picture (141) in the temporal forward direction and the backward reference picture (142) in the temporal backward direction.
  • In MFIP, a prediction signal is a linear interpolation of motion compensated signals. The prediction signal (pred) in MPIF of a B picture is calculated as: [0094]
  • pred=w 1 ref 1 +w 2 ref 2 +d  (Eq. 11)
  • In Eq. 11, the variables ref[0095] 1 and ref2 are the two reference pictures. The variables w1 and w2 are weighting factors. The variable d is set to zero by default. The linear interpolation coefficients w1, w2, d can be determined explicitly for each macroblock. The reference picture, ref, is the reference picture closer to the B picture in terms of temporal distance if both ref1 and ref2 are forward or backward reference pictures. For bi-directional reference pictures, ref1 and ref2 are the forward and backward reference pictures, respectively.
  • Both motion vectors of a MFIP macroblock are coded relative to each other. The motion vector of ref[0096] 2, MV2, is generated by adding an offset DMV to the scaled motion vector of ref1, MV1 using the following equation: M V 2 = T R 2 × M V 1 T R 1 + D M V ( Eq . 12 )
    Figure US20030099294A1-20030529-M00001
  • In Eq. 12, the variable DMV is the data motion vector and is an offset. The variables TR[0097] 1 and TR2 are the temporal distances, approximation of the temporal distance, proportional distance to the temporal distance, or proportional approximation to the approximation of the temporal distance between the current picture and the nearest reference picture, ref1 and the farthest reference picture, ref2, respectively.
  • In picture level AFF, a B picture can be can be coded as one B frame picture or two B field pictures. Rules for handling MFIP in field mode, with both the current B picture that is to be encoded and its reference pictures in field structure are given below: [0098]
  • 1001061 Eq. 11 is used to generate prediction signal. However, ref[0099] 1 and ref2 are the fields that are indexed by reference field numbers, ref_idx_fwd and ref_idx_bwd. The fields ref1 and ref2 can be either top or bottom fields. The default weighting factors, w1 and w2, are (0.5, 0.5, 0) and (2, −1, 0), respectively.
  • Equation 12 is used to generate MV[0100] 2. Since both reference pictures are in field structure, TR1 and TR2 are determined based on the temporal distances between the reference and the current fields.
  • Code number for reference field number, ref_idx_fwd and ref_idx_bwd, in MFIP mode follow the know and normal convention for field picture. [0101]
  • The temporal distance between pictures in AFF coding can be calculated using a variable, temporal reference (TR) or by counting the picture numbers and calculating their differences. An embodiment of the present invention is that TR is incremented by 1 per field, and wrapped by a constant (for example, 256) for picture level AFF. TR is in field interval. Let n be the frame index or the frame number. The variable n is incremented by 1 per frame. If a frame with frame index n is encoded in frame mode, the TR of this frame is 2n. If a frame with frame index n is encoded in field mode, the TR of the first field of this frame is 2n and the TR of the second field is 2n+1. [0102]
  • The preceding description has been presented only to illustrate and describe embodiments of invention. It is not intended to be exhaustive or to limit the invention to any precise form disclosed. Many modifications and variations are possible in light of the above teaching. [0103]
  • The foregoing embodiments were chosen and described in order to illustrate principles of the invention and some practical applications. The preceding description enables others skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims. [0104]

Claims (7)

What is claimed is:
1. A method of encoding or decoding digital video content, said digital video content comprising a stream of pictures which can each be intra, predicted, or bi-predicted pictures, each of said pictures comprising macroblocks that can be divided into smaller blocks, said method comprising encoding each picture in said stream of pictures in either frame mode or in field mode.
2. The method of claim 1, further comprising encoding or decoding said bi-predicted pictures in said stream of pictures in direct mode.
3. The method of claim 2, further comprising deriving a forward motion vector and a backward motion vector for each of said smaller blocks of said macroblocks of said bi-predicted pictures in said stream of pictures.
4. The method of claim 1, further comprising encoding or decoding said predicted pictures in said stream of pictures in direct mode.
5. The method of claim 2, further comprising deriving a forward motion vector and a backward motion vector for each of said smaller blocks of said macroblocks of said predicted pictures in said stream of pictures.
6. The method of claim 1, further comprising calculating temporal differences that are used in derivations of motion vectors.
7. The method of claim 1, further comprising encoding said pictures in said stream of pictures in multi-frame interpolative prediction mode.
US10/301,203 2001-11-21 2002-11-20 Picture level adaptive frame/field coding for digital video content Abandoned US20030099294A1 (en)

Priority Applications (28)

Application Number Priority Date Filing Date Title
US10/301,203 US20030099294A1 (en) 2001-11-27 2002-11-20 Picture level adaptive frame/field coding for digital video content
CN200910254134.5A CN101715136B (en) 2001-11-21 2002-11-21 The method and apparatus encoded by image sequence with multiple images
CA2468086A CA2468086C (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
CN200910254136.4A CN101715128B (en) 2001-11-21 2002-11-21 Method and apparatus of encoding image sequence with a plurality of images
JP2003548552A JP2005510984A (en) 2001-11-21 2002-11-21 Picture-level adaptive frame / field coding for digital video content
CN02827402A CN100584028C (en) 2001-11-21 2002-11-21 Method and equipment for coding image sequence having multiple images
EP02804044A EP1459562A2 (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
CN200910254135.XA CN101715137B (en) 2001-11-21 2002-11-21 To the method and apparatus that the image sequence with multiple image is encoded
CA2738329A CA2738329C (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
CN200910254137.9A CN101715138B (en) 2001-11-21 2002-11-21 Method and apparatus of encoding image sequence with plurality of images
KR10-2004-7007734A KR20040068143A (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
EP10182686A EP2276261A1 (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video signal
AU2002365337A AU2002365337A1 (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video signal
EP10182605A EP2268038A1 (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video signal
CN201610842086.1A CN107071404B (en) 2001-11-21 2002-11-21 Method and device for coding a sequence of images having a plurality of images
CA2738322A CA2738322C (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
EP10182595A EP2285120A1 (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
KR1020107006173A KR101076506B1 (en) 2001-11-21 2002-11-21 A method of encoding and decoding an image sequence having a plurality of pictures
EP10183042A EP2268041A1 (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
CA2738339A CA2738339C (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video content
PCT/US2002/037593 WO2003047271A2 (en) 2001-11-21 2002-11-21 Picture level adaptive frame/field coding for digital video signal
MXPA04004723A MXPA04004723A (en) 2001-11-21 2004-05-19 Picture level adaptive frame/field coding for digital video content.
NO20042543A NO339086B1 (en) 2001-11-21 2004-06-17 Adaptive frame / field encoding at image level for digital video content
US11/027,625 US20050152454A1 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,888 US7660353B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,110 US7769087B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/558,207 US7839931B2 (en) 2001-11-27 2006-11-09 Picture level adaptive frame/field coding for digital video content
US12/951,732 US8630350B2 (en) 2001-11-27 2010-11-22 Picture level adaptive frame/field coding for digital video content

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US33392101P 2001-11-27 2001-11-27
US35118402P 2002-01-22 2002-01-22
US39573602P 2002-07-12 2002-07-12
US39573302P 2002-07-12 2002-07-12
US39573702P 2002-07-12 2002-07-12
US39570802P 2002-07-12 2002-07-12
US39571702P 2002-07-12 2002-07-12
US39626502P 2002-07-15 2002-07-15
US10/301,203 US20030099294A1 (en) 2001-11-27 2002-11-20 Picture level adaptive frame/field coding for digital video content

Related Child Applications (4)

Application Number Title Priority Date Filing Date
US11/027,110 Division US7769087B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,888 Division US7660353B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,625 Division US20050152454A1 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/558,207 Continuation US7839931B2 (en) 2001-11-27 2006-11-09 Picture level adaptive frame/field coding for digital video content

Publications (1)

Publication Number Publication Date
US20030099294A1 true US20030099294A1 (en) 2003-05-29

Family

ID=27578791

Family Applications (6)

Application Number Title Priority Date Filing Date
US10/301,203 Abandoned US20030099294A1 (en) 2001-11-21 2002-11-20 Picture level adaptive frame/field coding for digital video content
US11/027,625 Abandoned US20050152454A1 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,110 Active 2026-12-08 US7769087B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,888 Active 2025-10-25 US7660353B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/558,207 Active 2024-09-27 US7839931B2 (en) 2001-11-27 2006-11-09 Picture level adaptive frame/field coding for digital video content
US12/951,732 Expired - Lifetime US8630350B2 (en) 2001-11-27 2010-11-22 Picture level adaptive frame/field coding for digital video content

Family Applications After (5)

Application Number Title Priority Date Filing Date
US11/027,625 Abandoned US20050152454A1 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,110 Active 2026-12-08 US7769087B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/027,888 Active 2025-10-25 US7660353B2 (en) 2001-11-27 2004-12-30 Picture level adaptive frame/field coding for digital video content
US11/558,207 Active 2024-09-27 US7839931B2 (en) 2001-11-27 2006-11-09 Picture level adaptive frame/field coding for digital video content
US12/951,732 Expired - Lifetime US8630350B2 (en) 2001-11-27 2010-11-22 Picture level adaptive frame/field coding for digital video content

Country Status (1)

Country Link
US (6) US20030099294A1 (en)

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040008784A1 (en) * 2002-06-17 2004-01-15 Yoshihiro Kikuchi Video encoding/decoding method and apparatus
US20040032907A1 (en) * 2002-08-13 2004-02-19 Lowell Winger System and method for direct motion vector prediction in bi-predictive video frames and fields
US20040052507A1 (en) * 2001-11-06 2004-03-18 Satoshi Kondo Moving picture coding method and moving picture decoding method
US20040125876A1 (en) * 2002-09-26 2004-07-01 Tomoya Kodama Video encoding apparatus and method and video encoding mode converting apparatus and method
WO2004080078A1 (en) * 2003-03-03 2004-09-16 Lg Electronics, Inc. Coding method for moving picture
US20040264570A1 (en) * 2002-07-26 2004-12-30 Satoshi Kondo Moving picture encoding method, moving picture decoding method, and recording medium
US20050005301A1 (en) * 2003-07-01 2005-01-06 Samsung Electronics Co., Ltd. Method and apparatus for determining motion compensation mode
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US20050013372A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Extended range motion vectors
US20050041742A1 (en) * 2002-11-25 2005-02-24 Kiyofumi Abe Encoding method and decoding method of moving image
US20050053143A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Motion vector block pattern coding and decoding
US20050053148A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Intra-coded fields for Bi-directional frames
US20050053142A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US20050053293A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Motion vector coding and decoding in interlaced frame coded pictures
US20050053137A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US20050053144A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US20050053141A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US20050157164A1 (en) * 2004-01-20 2005-07-21 Noam Eshkoli Method and apparatus for mixing compressed video
US20060002477A1 (en) * 2004-07-02 2006-01-05 Jong-Woo Bae Deblocking filter apparatus and methods using sub-macro-block-shifting register arrays
US20060067403A1 (en) * 2004-09-30 2006-03-30 Kabushiki Kaisha Toshiba Information processing device and information processing method
US20060072662A1 (en) * 2002-01-25 2006-04-06 Microsoft Corporation Improved Video Coding
US20060083311A1 (en) * 2002-08-13 2006-04-20 Lsi Logic Corporation System and method for segmentation of macroblocks
US20060280253A1 (en) * 2002-07-19 2006-12-14 Microsoft Corporation Timestamp-Independent Motion Vector Prediction for Predictive (P) and Bidirectionally Predictive (B) Pictures
US20070014358A1 (en) * 2002-06-03 2007-01-18 Microsoft Corporation Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation
US20090010338A1 (en) * 2006-10-31 2009-01-08 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US20090010337A1 (en) * 2006-10-31 2009-01-08 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US20090028243A1 (en) * 2005-03-29 2009-01-29 Mitsuru Suzuki Method and apparatus for coding and decoding with motion compensated prediction
US20090279610A1 (en) * 2008-05-10 2009-11-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding with interlace scanning based motion vector transformation
US20100033594A1 (en) * 2008-08-05 2010-02-11 Yuki Maruyama Image coding apparatus, image coding method, image coding integrated circuit, and camera
US20110064141A1 (en) * 2001-11-27 2011-03-17 General Instrument Corporation Picture Level Adaptive Frame/Field Coding for Digital Video Content
US20120063509A1 (en) * 2010-09-15 2012-03-15 Coulter Michael L Reformatting Data to Decrease Bandwidth Between a Video Encoder and a Buffer
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8213518B1 (en) 2006-10-31 2012-07-03 Sony Computer Entertainment Inc. Multi-threaded streaming data decoding
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
WO2012167418A1 (en) * 2011-06-07 2012-12-13 Technicolor (China) Technology Co., Ltd. Method for encoding and/or decoding images on macroblock level using intra-prediction
US20130215973A1 (en) * 2012-02-22 2013-08-22 Sony Corporation Image processing apparatus, image processing method, and image processing system
US20150208093A1 (en) * 2011-09-09 2015-07-23 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10419760B2 (en) 2014-09-29 2019-09-17 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10965955B2 (en) * 2016-12-22 2021-03-30 Mediatek Inc. Method and apparatus of motion refinement for video coding
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11039162B2 (en) * 2018-03-27 2021-06-15 Wilus Institute Of Standards And Technology Inc. Video signal processing method and device using motion compensation
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506864B1 (en) * 2002-10-04 2005-08-05 엘지전자 주식회사 Method of determining motion vector
BR0306684A (en) * 2002-11-01 2004-12-07 Matsushita Electric Ind Co Ltd Moving Image Encoding Method and Moving Image Decoding Method
EP1569460B1 (en) 2002-11-25 2013-05-15 Panasonic Corporation Motion compensation method, image encoding method, and image decoding method
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7965898B2 (en) * 2005-10-28 2011-06-21 Nvidia Corporation Accelerating video decoding using multiple processors
KR100763917B1 (en) * 2006-06-21 2007-10-05 삼성전자주식회사 The method and apparatus for fast motion estimation
JP4678015B2 (en) * 2007-07-13 2011-04-27 富士通株式会社 Moving picture coding apparatus and moving picture coding method
WO2009095962A1 (en) * 2008-01-29 2009-08-06 Panasonic Corporation Image coding device, image coding method, image coding integrated circuit and image coding program
EP2266321B1 (en) * 2008-04-23 2017-12-13 Telefonaktiebolaget LM Ericsson (publ) Template-based pixel block processing
KR101361005B1 (en) 2008-06-24 2014-02-13 에스케이 텔레콤주식회사 Intra Prediction Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
US8340191B2 (en) * 2009-09-25 2012-12-25 General Instrument Corporation Transcoder from first MPEG stream to second MPEG stream
US9621892B2 (en) * 2009-12-18 2017-04-11 Sony Corporation Emulation of Bi predicted pictures using adjacent pictures for improved video
KR20110113561A (en) 2010-04-09 2011-10-17 한국전자통신연구원 Method and apparatus for intra prediction encoding and decoding using adaptive filter
WO2011142815A1 (en) 2010-05-12 2011-11-17 Thomson Licensing Methods and apparatus for uni-prediction of self-derivation of motion estimation
US20120082238A1 (en) * 2010-10-01 2012-04-05 General Instrument Corporation Coding and decoding utilizing picture boundary variability in flexible partitioning
EP2606646A1 (en) * 2010-10-01 2013-06-26 General Instrument Corporation Coding and decoding utilizing picture boundary padding in flexible partitioning
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US8787443B2 (en) 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US9042458B2 (en) 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
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
WO2018059654A1 (en) 2016-09-30 2018-04-05 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a panoramic video signal
CN117692651A (en) * 2018-10-08 2024-03-12 华为技术有限公司 Apparatus and method for inter prediction of geometrically partitioned blocks of coded blocks

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271143A (en) * 1978-01-25 1981-06-02 Alcon Laboratories, Inc. Sustained release ophthalmic drug dosage
US4615697A (en) * 1983-11-14 1986-10-07 Bio-Mimetics, Inc. Bioadhesive compositions and methods of treatment therewith
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5175618A (en) * 1990-10-31 1992-12-29 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
US5188826A (en) * 1988-02-08 1993-02-23 Insite Vision Incorporated Topical ophthalmic suspensions
US5192535A (en) * 1988-02-08 1993-03-09 Insite Vision Incorporated Ophthalmic suspensions
US5340572A (en) * 1993-02-08 1994-08-23 Insite Vision Incorporated Alkaline ophthalmic suspensions
US5412435A (en) * 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
US5461420A (en) * 1992-09-18 1995-10-24 Sony Corporation Apparatus for coding and decoding a digital video signal derived from a motion picture film source
US5474768A (en) * 1989-10-31 1995-12-12 Robinson; Joseph R. Vaginal tissue moisturizing composition and method
US5504530A (en) * 1992-06-25 1996-04-02 Sony Corporation Apparatus and method for coding and decoding image signals
US5539466A (en) * 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
US5565922A (en) * 1994-04-11 1996-10-15 General Instrument Corporation Of Delaware Motion compensation for interlaced digital video signals
US5648819A (en) * 1994-03-30 1997-07-15 U.S. Philips Corporation Motion estimation using half-pixel refinement of frame and field vectors
US5768469A (en) * 1992-09-18 1998-06-16 Sony Corporation Apparatus for coding and decoding a digital video signal having duplicate pictures and frames with fields originating from different film source frames
US5786860A (en) * 1994-07-30 1998-07-28 Korean Advanced Institute Of Science And Technology High speed block matching for bi-directional motion vector estimation
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6307976B1 (en) * 1997-09-29 2001-10-23 Hyundai Electronics Ind. Co., Ltd. Apparatus and method of adaptively coding/decoding interlaced shaped material
US6449312B1 (en) * 2000-06-08 2002-09-10 Motorola, Inc. Method of estimating motion in interlaced video
US6556718B1 (en) * 1998-11-17 2003-04-29 Stmicroelectronics S.R.L. Video pictures compression and coding with decision step for field/frame and motion vectors DCT
US6614442B1 (en) * 2000-06-26 2003-09-02 S3 Graphics Co., Ltd. Macroblock tiling format for motion compensation
US20050117649A1 (en) * 2001-11-27 2005-06-02 Limin Wang Picture level adaptive frame/field coding for digital video content
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US20080063075A1 (en) * 2002-04-19 2008-03-13 Satoshi Kondo Motion vector calculation method

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57210785A (en) 1981-06-19 1982-12-24 Kokusai Denshin Denwa Co Ltd <Kdd> Adaptive forecasting system between frames of television signal
US4997970A (en) 1987-06-15 1991-03-05 Fmc Corporation Conversion of pyrethroid isomers to move active species
US4821119A (en) 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
JP3125145B2 (en) 1990-08-29 2001-01-15 日立電子株式会社 Method and apparatus for highly efficient encoding of image data
US5231484A (en) 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
EP0542261B1 (en) 1991-11-12 1998-10-21 Nippon Hoso Kyokai Method of performing high efficiency coding of image signal and system therefor
JPH05137131A (en) 1991-11-13 1993-06-01 Sony Corp Inter-frame motion predicting method
JPH05303452A (en) 1992-04-28 1993-11-16 Kyocera Corp Computer with handwriting input function
US6101313A (en) 1992-06-29 2000-08-08 Sony Corporation High efficiency encoding and decoding of picture signals and recording medium containing same
JP3135692B2 (en) 1992-08-28 2001-02-19 株式会社日立製作所 Hierarchical video signal encoding apparatus and method
US5424778A (en) 1992-08-31 1995-06-13 Victor Company Of Japan, Ltd. Orthogonal transform coding apparatus and decoding apparatus
US5410350A (en) 1992-10-28 1995-04-25 Sony Corporation Motion picture encoding and/or decoding system
JP3381855B2 (en) 1992-12-28 2003-03-04 ソニー株式会社 Image signal encoding method and image signal encoding device, image signal decoding method and image signal decoding device
EP0607484B1 (en) 1993-01-20 1998-09-09 Samsung Electronics Co. Ltd. Method and device for encoding and decoding image data
US5500678A (en) 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
JPH08123681A (en) 1994-10-26 1996-05-17 Canon Inc Management system and terminal device
JP3552811B2 (en) 1995-09-29 2004-08-11 三菱電機株式会社 Digital video signal encoding device and decoding device
US5801778A (en) 1996-05-23 1998-09-01 C-Cube Microsystems, Inc. Video encoding with multi-stage projection motion estimation
KR100371130B1 (en) 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 Image predictive decoding apparatus and method thereof, and image predictive cording apparatus and method thereof
EP0817494A3 (en) 1996-06-28 1998-07-22 Oki Electric Industry Co., Ltd. Image coding method and apparatus
JP3967405B2 (en) 1996-10-09 2007-08-29 テキサス インスツルメンツ インコーポレイテツド Image signal encoding method
AU5410298A (en) * 1996-12-12 1998-07-03 Matsushita Electric Industrial Co., Ltd. Picture encoder and picture decoder
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
JP3813320B2 (en) 1997-08-27 2006-08-23 株式会社東芝 Motion vector detection method and apparatus
EP0921683B1 (en) 1997-12-02 2010-09-08 Daewoo Electronics Corporation Method and apparatus for encoding mode signals for use in a binary shape coder
US6054943A (en) 1998-03-25 2000-04-25 Lawrence; John Clifton Multilevel digital information compression based on lawrence algorithm
US6192148B1 (en) 1998-11-05 2001-02-20 Winbond Electronics Corp. Method for determining to skip macroblocks in encoding video
US6658157B1 (en) 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
AU4732099A (en) 1999-07-07 2001-01-30 Zenith Electronics Corporation Downconverting decoder for interlaced pictures
US20010016010A1 (en) 2000-01-27 2001-08-23 Lg Electronics Inc. Apparatus for receiving digital moving picture
JP2001251627A (en) 2000-03-03 2001-09-14 Matsushita Electric Ind Co Ltd Coder, coding method and recording medium recorded with program
FR2806570B1 (en) 2000-03-15 2002-05-17 Thomson Multimedia Sa METHOD AND DEVICE FOR CODING VIDEO IMAGES
US7162094B2 (en) 2001-11-27 2007-01-09 General Instrument Corporation Frequency coefficient scanning paths for coding digital video content
US20040008775A1 (en) 2002-07-12 2004-01-15 Krit Panusopone Method of managing reference frame and field buffers in adaptive frame/field encoding
KR100506864B1 (en) 2002-10-04 2005-08-05 엘지전자 주식회사 Method of determining motion vector
EP1448014B1 (en) 2003-02-14 2005-10-26 GN ReSound A/S A retaining member for an earpiece
US7824498B2 (en) * 2004-02-24 2010-11-02 Applied Materials, Inc. Coating for reducing contamination of substrates during processing

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271143A (en) * 1978-01-25 1981-06-02 Alcon Laboratories, Inc. Sustained release ophthalmic drug dosage
US4615697A (en) * 1983-11-14 1986-10-07 Bio-Mimetics, Inc. Bioadhesive compositions and methods of treatment therewith
US5192535A (en) * 1988-02-08 1993-03-09 Insite Vision Incorporated Ophthalmic suspensions
US5188826A (en) * 1988-02-08 1993-02-23 Insite Vision Incorporated Topical ophthalmic suspensions
US5474768A (en) * 1989-10-31 1995-12-12 Robinson; Joseph R. Vaginal tissue moisturizing composition and method
US5175618A (en) * 1990-10-31 1992-12-29 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5539466A (en) * 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
US5504530A (en) * 1992-06-25 1996-04-02 Sony Corporation Apparatus and method for coding and decoding image signals
US5412435A (en) * 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
US5461420A (en) * 1992-09-18 1995-10-24 Sony Corporation Apparatus for coding and decoding a digital video signal derived from a motion picture film source
US5768469A (en) * 1992-09-18 1998-06-16 Sony Corporation Apparatus for coding and decoding a digital video signal having duplicate pictures and frames with fields originating from different film source frames
US5340572A (en) * 1993-02-08 1994-08-23 Insite Vision Incorporated Alkaline ophthalmic suspensions
US5474764A (en) * 1993-02-08 1995-12-12 Insite Vision Incorporated Alkaline ophthalmic suspensions
US5648819A (en) * 1994-03-30 1997-07-15 U.S. Philips Corporation Motion estimation using half-pixel refinement of frame and field vectors
US5565922A (en) * 1994-04-11 1996-10-15 General Instrument Corporation Of Delaware Motion compensation for interlaced digital video signals
US5786860A (en) * 1994-07-30 1998-07-28 Korean Advanced Institute Of Science And Technology High speed block matching for bi-directional motion vector estimation
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6307976B1 (en) * 1997-09-29 2001-10-23 Hyundai Electronics Ind. Co., Ltd. Apparatus and method of adaptively coding/decoding interlaced shaped material
US6556718B1 (en) * 1998-11-17 2003-04-29 Stmicroelectronics S.R.L. Video pictures compression and coding with decision step for field/frame and motion vectors DCT
US6449312B1 (en) * 2000-06-08 2002-09-10 Motorola, Inc. Method of estimating motion in interlaced video
US6614442B1 (en) * 2000-06-26 2003-09-02 S3 Graphics Co., Ltd. Macroblock tiling format for motion compensation
US20050117649A1 (en) * 2001-11-27 2005-06-02 Limin Wang Picture level adaptive frame/field coding for digital video content
US20050117651A1 (en) * 2001-11-27 2005-06-02 Limin Wang Picture level adaptive frame/field coding for digital video content
US20050152454A1 (en) * 2001-11-27 2005-07-14 Limin Wang Picture level adaptive frame/field coding for digital video content
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US20070064801A1 (en) * 2001-11-27 2007-03-22 General Instrument Corporation Picture Level Adaptive Frame/Field Coding for Digital Video Content
US20080063075A1 (en) * 2002-04-19 2008-03-13 Satoshi Kondo Motion vector calculation method

Cited By (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070041452A1 (en) * 2001-11-06 2007-02-22 Satoshi Kondo Moving picture coding method, and moving picture decoding method
US8265153B2 (en) 2001-11-06 2012-09-11 Panasonic Corporation Moving picture coding method, and moving picture decoding method
US20040052507A1 (en) * 2001-11-06 2004-03-18 Satoshi Kondo Moving picture coding method and moving picture decoding method
US20080144715A1 (en) * 2001-11-06 2008-06-19 Satoshi Kondo Moving picture coding method, and moving picture decoding method
US20100014589A1 (en) * 2001-11-06 2010-01-21 Satoshi Kondo Moving picture coding method, and moving picture decoding method
US9578323B2 (en) 2001-11-06 2017-02-21 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US20070041451A1 (en) * 2001-11-06 2007-02-22 Satoshi Kondo Moving picture coding method, and moving picture decoding method
US9462267B2 (en) 2001-11-06 2016-10-04 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US9344714B2 (en) 2001-11-06 2016-05-17 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US9338448B2 (en) 2001-11-06 2016-05-10 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US8194747B2 (en) 2001-11-06 2012-06-05 Panasonic Corporation Moving picture coding method, and moving picture decoding method
US20080205522A1 (en) * 2001-11-06 2008-08-28 Satoshi Kondo Moving picture coding method, and moving picture decoding method
US8964839B2 (en) 2001-11-06 2015-02-24 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US9078003B2 (en) 2001-11-06 2015-07-07 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US8126056B2 (en) 2001-11-06 2012-02-28 Panasonic Corporation Moving picture coding method, and moving picture decoding method
US7756204B2 (en) * 2001-11-06 2010-07-13 Panasonic Corporation Moving picture coding method, and moving picture decoding method
US7782936B2 (en) 2001-11-06 2010-08-24 Panasonic Corporation Moving picture coding method and moving picture decoding method
US9241162B2 (en) 2001-11-06 2016-01-19 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US8213517B2 (en) 2001-11-06 2012-07-03 Panasonic Corporation Moving picture coding method, and moving picture decoding method
US8107533B2 (en) 2001-11-06 2012-01-31 Panasonic Corporation Moving picture coding method, and moving picture decoding method
US8126057B2 (en) 2001-11-06 2012-02-28 Panasonic Corporation Moving picture coding method, and moving picture decoding method
US9241161B2 (en) 2001-11-06 2016-01-19 Panasonic Intellectual Property Corporation Of America Moving picture coding method, and moving picture decoding method
US8630350B2 (en) 2001-11-27 2014-01-14 Motorola Mobility Llc Picture level adaptive frame/field coding for digital video content
US20110064141A1 (en) * 2001-11-27 2011-03-17 General Instrument Corporation Picture Level Adaptive Frame/Field Coding for Digital Video Content
US7646810B2 (en) 2002-01-25 2010-01-12 Microsoft Corporation Video coding
US20100135390A1 (en) * 2002-01-25 2010-06-03 Microsoft Corporation Video coding
US20060072662A1 (en) * 2002-01-25 2006-04-06 Microsoft Corporation Improved Video Coding
US8406300B2 (en) 2002-01-25 2013-03-26 Microsoft Corporation Video coding
US8638853B2 (en) 2002-01-25 2014-01-28 Microsoft Corporation Video coding
US10284843B2 (en) 2002-01-25 2019-05-07 Microsoft Technology Licensing, Llc Video coding
US20090245373A1 (en) * 2002-01-25 2009-10-01 Microsoft Corporation Video coding
US9888237B2 (en) 2002-01-25 2018-02-06 Microsoft Technology Licensing, Llc Video coding
US20090129463A1 (en) * 2002-02-05 2009-05-21 Yoon Seong Soh Method of selecting a reference picture
US20090129475A1 (en) * 2002-02-05 2009-05-21 Yoon Seong Soh Method of processing a current field macroblock
US20090129482A1 (en) * 2002-02-05 2009-05-21 Yoon Seong Soh Method of selecting a reference picture
US20090129462A1 (en) * 2002-02-05 2009-05-21 Yoon Seong Soh Method of selecting a reference picture
US20090122871A1 (en) * 2002-02-05 2009-05-14 Yoon Seong Soh Method of selecting a reference picture
US20090128689A1 (en) * 2002-02-05 2009-05-21 Yoon Seong Soh Method of selecting a reference picture
US20090147858A1 (en) * 2002-02-05 2009-06-11 Yoon Seong Soh Method of selecting a reference picture
US20090129480A1 (en) * 2002-02-05 2009-05-21 Yoon Seong Soh Method of processing a current field macroblock
US20090135899A1 (en) * 2002-02-05 2009-05-28 Yoon Seong Soh Method of selecting a reference picture
US20090135900A1 (en) * 2002-02-05 2009-05-28 Yoon Seong Soh Method of selecting a reference picture
US8374245B2 (en) 2002-06-03 2013-02-12 Microsoft Corporation Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation
US10116959B2 (en) 2002-06-03 2018-10-30 Microsoft Technology Licesning, LLC Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US9571854B2 (en) 2002-06-03 2017-02-14 Microsoft Technology Licensing, Llc Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US8873630B2 (en) 2002-06-03 2014-10-28 Microsoft Corporation Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US20070014358A1 (en) * 2002-06-03 2007-01-18 Microsoft Corporation Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation
US9185427B2 (en) 2002-06-03 2015-11-10 Microsoft Technology Licensing, Llc Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US20040008784A1 (en) * 2002-06-17 2004-01-15 Yoshihiro Kikuchi Video encoding/decoding method and apparatus
US8774280B2 (en) 2002-07-19 2014-07-08 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US20060280253A1 (en) * 2002-07-19 2006-12-14 Microsoft Corporation Timestamp-Independent Motion Vector Prediction for Predictive (P) and Bidirectionally Predictive (B) Pictures
US8379722B2 (en) 2002-07-19 2013-02-19 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US20040264570A1 (en) * 2002-07-26 2004-12-30 Satoshi Kondo Moving picture encoding method, moving picture decoding method, and recording medium
US7822120B2 (en) * 2002-07-26 2010-10-26 Panasonic Corporation Moving picture encoding method, moving picture decoding method, and recording medium
US20040032907A1 (en) * 2002-08-13 2004-02-19 Lowell Winger System and method for direct motion vector prediction in bi-predictive video frames and fields
US7813429B2 (en) 2002-08-13 2010-10-12 Lsi Corporation System and method for segmentation of macroblocks
US20060083311A1 (en) * 2002-08-13 2006-04-20 Lsi Logic Corporation System and method for segmentation of macroblocks
US7020200B2 (en) * 2002-08-13 2006-03-28 Lsi Logic Corporation System and method for direct motion vector prediction in bi-predictive video frames and fields
US20040125876A1 (en) * 2002-09-26 2004-07-01 Tomoya Kodama Video encoding apparatus and method and video encoding mode converting apparatus and method
US20060120458A1 (en) * 2002-09-26 2006-06-08 Tomoya Kodama Video encoding apparatus and method and video encoding mode converting apparatus and method
US7050499B2 (en) * 2002-09-26 2006-05-23 Kabushiki Kaisha Toshiba Video encoding apparatus and method and video encoding mode converting apparatus and method
US20170280153A1 (en) * 2002-11-25 2017-09-28 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US9712841B2 (en) * 2002-11-25 2017-07-18 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US9686552B2 (en) * 2002-11-25 2017-06-20 Godo Kaisha Ip Bridge 1 Adaptive field/frame decoding of B-frame with field/frame index
US20170041627A1 (en) * 2002-11-25 2017-02-09 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US20050041742A1 (en) * 2002-11-25 2005-02-24 Kiyofumi Abe Encoding method and decoding method of moving image
US20150326856A1 (en) * 2002-11-25 2015-11-12 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US20150326855A1 (en) * 2002-11-25 2015-11-12 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US9124862B2 (en) 2002-11-25 2015-09-01 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US8483275B2 (en) 2002-11-25 2013-07-09 Panasonic Corporation Field/frame adaptive decoding with field/frame index
US9681136B2 (en) * 2002-11-25 2017-06-13 Godo Kaisha Ip Bridge 1 Adaptive field/frame coding of B-frame with field/frame index
US20080069246A1 (en) * 2002-11-25 2008-03-20 Kiyofumi Abe Moving picture coding method and moving picture decoding method
US8155188B2 (en) 2002-11-25 2012-04-10 Panasonic Corporation Field/frame adaptive decoding with field/frame index
US20170280152A1 (en) * 2002-11-25 2017-09-28 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US9998751B2 (en) 2002-11-25 2018-06-12 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding of B-frame with field/frame index
US10091522B2 (en) * 2002-11-25 2018-10-02 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US7995651B2 (en) 2002-11-25 2011-08-09 Panasonic Corporation Field/frame adaptive coding and decoding method with field/frame index and apparatus for performing the same
US20110096843A1 (en) * 2002-11-25 2011-04-28 Kiyofumi Abe Field/frame adaptive coding and decoding method with field/frame index and apparatus for performing the same
US7881375B2 (en) * 2002-11-25 2011-02-01 Panasonic Corporation Field/frame adaptive coding and decoding method with field/frame index and apparatus for performing the same
US10097852B2 (en) * 2002-11-25 2018-10-09 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US10412405B2 (en) * 2002-11-25 2019-09-10 Godo Kaisha Ip Bridge 1 Field/frame adaptive decoding with field/frame index
US8208546B2 (en) 2003-03-03 2012-06-26 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
GB2412032A (en) * 2003-03-03 2005-09-14 Lg Electronics Inc Coding method for moving picture
US20090116560A1 (en) * 2003-03-03 2009-05-07 Yoon Seong Soh Method of selecting a reference picture
US20090116553A1 (en) * 2003-03-03 2009-05-07 Yoon Seong Soh Method of processing a current field macroblock
US7835447B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835445B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835446B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835442B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835443B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835451B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835449B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835450B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835444B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7835448B2 (en) * 2003-03-03 2010-11-16 Lg Electronics Inc. Method of selecting a reference picture
US7839934B2 (en) * 2003-03-03 2010-11-23 Lg Electronics Inc. Method of selecting a reference picture
US7839935B2 (en) * 2003-03-03 2010-11-23 Lg Electronics Inc. Method of selecting a reference picture
US7843999B2 (en) * 2003-03-03 2010-11-30 Lg Electronics Inc. Method of selecting a reference picture
US20090110064A1 (en) * 2003-03-03 2009-04-30 Yoon Seong Soh Method of selecting a reference picture
SG167659A1 (en) * 2003-03-03 2011-01-28 Lg Electronics Inc Method of selecting a reference picture
US20090110080A1 (en) * 2003-03-03 2009-04-30 Yoon Seong Soh Method of processing a current field macroblock
WO2004080078A1 (en) * 2003-03-03 2004-09-16 Lg Electronics, Inc. Coding method for moving picture
US7899116B2 (en) 2003-03-03 2011-03-01 Lg Electronics, Inc. Method of selecting a reference picture
US20060239358A1 (en) * 2003-03-03 2006-10-26 Soh Yoon S Coding method for moving picture
US7916786B2 (en) * 2003-03-03 2011-03-29 Lg Electronics Inc. Method of processing a current field macroblock
US7916787B2 (en) * 2003-03-03 2011-03-29 Lg Electronics Inc. Method of processing a current field macroblock
US7920625B2 (en) * 2003-03-03 2011-04-05 Lg Electronics Inc. Method of processing a current field macroblock
US20090175337A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of decoding a macroblock based on a macroblock level of the macroblock
US20090175339A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of decoding a macroblock based on a macroblock level of the macroblock
US20090175346A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of decoding a macroblock based on a macroblock level of the macroblock
US20090175347A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of decoding a macroblock based on a macroblock level of the macroblock
US20090175352A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of decoding a macroblock based on a macroblock level of the macroblock
GB2412032B (en) * 2003-03-03 2007-09-19 Lg Electronics Inc Method of selecting a reference picture
US20080037653A1 (en) * 2003-03-03 2008-02-14 Soh Yoon S Method of decoding a macroblock based on a macroblock level of the macroblock
US7634010B2 (en) 2003-03-03 2009-12-15 Lg Electronics Inc. Method of selecting a reference picture
US8130842B2 (en) 2003-03-03 2012-03-06 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US20090175341A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of decoding a macroblock based on a macroblock level of the macroblock
US8149921B2 (en) 2003-03-03 2012-04-03 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US8149919B2 (en) 2003-03-03 2012-04-03 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US20090175340A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of decoding a macroblock based on a macroblock level of the macroblock
US8170114B2 (en) 2003-03-03 2012-05-01 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US8175166B2 (en) 2003-03-03 2012-05-08 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US8179975B2 (en) 2003-03-03 2012-05-15 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US20090175549A1 (en) * 2003-03-03 2009-07-09 Yoon Seong Soh Method of selecting a reference picture
US20090180540A1 (en) * 2003-03-03 2009-07-16 Yoon Seong Soh Method of processing a current field macroblock
US20090116559A1 (en) * 2003-03-03 2009-05-07 Yoon Seong Soh Method of selecting a reference picture
US20080037654A1 (en) * 2003-03-03 2008-02-14 Soh Yoon S Method of decoding a macroblock based on a macroblock level of the macroblock
US8363723B2 (en) 2003-03-03 2013-01-29 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US8335263B2 (en) 2003-03-03 2012-12-18 Lg Electronics Inc. Method of processing a current field macroblock
US20060008010A1 (en) * 2003-03-03 2006-01-12 Soh Yoon S Method of selecting a reference picture
US8249157B2 (en) 2003-03-03 2012-08-21 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US8249163B2 (en) 2003-03-03 2012-08-21 Lg Electronics Inc. Method of processing a current field macroblock
US8249156B2 (en) 2003-03-03 2012-08-21 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US8254452B2 (en) 2003-03-03 2012-08-28 Lg Electronics Inc. Method of decoding a macroblock based on a macroblock level of the macroblock
US20050005301A1 (en) * 2003-07-01 2005-01-06 Samsung Electronics Co., Ltd. Method and apparatus for determining motion compensation mode
US8687697B2 (en) 2003-07-18 2014-04-01 Microsoft Corporation Coding of motion vector information
US20090074073A1 (en) * 2003-07-18 2009-03-19 Microsoft Corporation Coding of motion vector information
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US20050013372A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Extended range motion vectors
US9148668B2 (en) 2003-07-18 2015-09-29 Microsoft Technology Licensing, Llc Coding of motion vector information
US8917768B2 (en) 2003-07-18 2014-12-23 Microsoft Corporation Coding of motion vector information
EP2285114A3 (en) * 2003-09-07 2011-08-10 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US20050053300A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Bitplane coding of prediction mode information in bi-directionally predicted interlaced pictures
US7924920B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Motion vector coding and decoding in interlaced frame coded pictures
US20090168890A1 (en) * 2003-09-07 2009-07-02 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US20050053143A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Motion vector block pattern coding and decoding
US20050053141A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US20050053148A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Intra-coded fields for Bi-directional frames
US20050053144A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US20050053137A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US8625669B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7664177B2 (en) 2003-09-07 2010-02-16 Microsoft Corporation Intra-coded fields for bi-directional frames
US20050053293A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Motion vector coding and decoding in interlaced frame coded pictures
US7852936B2 (en) 2003-09-07 2010-12-14 Microsoft Corporation Motion vector prediction in bi-directionally predicted interlaced field-coded pictures
US7680185B2 (en) 2003-09-07 2010-03-16 Microsoft Corporation Self-referencing bi-directionally predicted frames
US7630438B2 (en) * 2003-09-07 2009-12-08 Microsoft Corporation Direct mode motion vectors for Bi-directionally predicted interlaced pictures
US20050053142A1 (en) * 2003-09-07 2005-03-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7884843B2 (en) 2004-01-20 2011-02-08 Polycom, Inc. Method and apparatus for mixing compressed video
US20070120967A1 (en) * 2004-01-20 2007-05-31 Polycom, Inc. Method and apparatus for mixing compressed video
US20050157164A1 (en) * 2004-01-20 2005-07-21 Noam Eshkoli Method and apparatus for mixing compressed video
US7139015B2 (en) * 2004-01-20 2006-11-21 Polycom, Inc. Method and apparatus for mixing compressed video
US20060002477A1 (en) * 2004-07-02 2006-01-05 Jong-Woo Bae Deblocking filter apparatus and methods using sub-macro-block-shifting register arrays
US7760809B2 (en) 2004-07-02 2010-07-20 Samsung Electronics Co., Ltd. Deblocking filter apparatus and methods using sub-macro-block-shifting register arrays
US20060067403A1 (en) * 2004-09-30 2006-03-30 Kabushiki Kaisha Toshiba Information processing device and information processing method
US20090028243A1 (en) * 2005-03-29 2009-01-29 Mitsuru Suzuki Method and apparatus for coding and decoding with motion compensated prediction
US8213518B1 (en) 2006-10-31 2012-07-03 Sony Computer Entertainment Inc. Multi-threaded streaming data decoding
US20090010338A1 (en) * 2006-10-31 2009-01-08 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US8218641B2 (en) * 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US8218640B2 (en) * 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US20090010337A1 (en) * 2006-10-31 2009-01-08 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US20090279610A1 (en) * 2008-05-10 2009-11-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding with interlace scanning based motion vector transformation
US20100033594A1 (en) * 2008-08-05 2010-02-11 Yuki Maruyama Image coding apparatus, image coding method, image coding integrated circuit, and camera
US8254451B2 (en) * 2008-08-05 2012-08-28 Panasonic Corporation Image coding apparatus, image coding method, image coding integrated circuit, and camera
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US20120063509A1 (en) * 2010-09-15 2012-03-15 Coulter Michael L Reformatting Data to Decrease Bandwidth Between a Video Encoder and a Buffer
US9319880B2 (en) * 2010-09-15 2016-04-19 Intel Corporation Reformatting data to decrease bandwidth between a video encoder and a buffer
US10313880B2 (en) 2010-09-15 2019-06-04 Intel Corporation Reformatting data to decrease bandwidth between a video encoder and a buffer
US10728575B2 (en) 2011-06-07 2020-07-28 Interdigital Vc Holdings, Inc. Method for encoding and/or decoding images on macroblock level using intra-prediction
WO2012167418A1 (en) * 2011-06-07 2012-12-13 Technicolor (China) Technology Co., Ltd. Method for encoding and/or decoding images on macroblock level using intra-prediction
RU2646384C1 (en) * 2011-09-09 2018-03-02 Кт Корпорейшен Method and device for video signal decoding
US20150208093A1 (en) * 2011-09-09 2015-07-23 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US11089333B2 (en) 2011-09-09 2021-08-10 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US10523967B2 (en) 2011-09-09 2019-12-31 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US10805639B2 (en) 2011-09-09 2020-10-13 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
RU2636117C1 (en) * 2011-09-09 2017-11-20 Кт Корпорейшен Video signal decoding method
US20130215973A1 (en) * 2012-02-22 2013-08-22 Sony Corporation Image processing apparatus, image processing method, and image processing system
US9560356B2 (en) * 2012-02-22 2017-01-31 Sony Corporation Image processing apparatus, image processing method, and image processing system
US11006112B2 (en) 2014-09-29 2021-05-11 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
US10419760B2 (en) 2014-09-29 2019-09-17 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
US11509896B2 (en) 2014-09-29 2022-11-22 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
US10965955B2 (en) * 2016-12-22 2021-03-30 Mediatek Inc. Method and apparatus of motion refinement for video coding
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11818394B2 (en) 2016-12-23 2023-11-14 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US11039162B2 (en) * 2018-03-27 2021-06-15 Wilus Institute Of Standards And Technology Inc. Video signal processing method and device using motion compensation
US11575927B2 (en) * 2018-03-27 2023-02-07 Humax Co., Ltd. Video signal processing method and device using motion compensation
US11917187B2 (en) * 2018-03-27 2024-02-27 Humax Co., Ltd. Video signal processing method and device using motion compensation

Also Published As

Publication number Publication date
US7839931B2 (en) 2010-11-23
US7769087B2 (en) 2010-08-03
US20110064141A1 (en) 2011-03-17
US20070064801A1 (en) 2007-03-22
US20050152454A1 (en) 2005-07-14
US8630350B2 (en) 2014-01-14
US7660353B2 (en) 2010-02-09
US20050117649A1 (en) 2005-06-02
US20050117651A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
US7839931B2 (en) Picture level adaptive frame/field coding for digital video content
CA2468086C (en) Picture level adaptive frame/field coding for digital video content
US7310374B2 (en) Macroblock level adaptive frame/field coding for digital video content
CA2468087C (en) Macroblock level adaptive frame/field coding for digital video content
US20030123738A1 (en) Global motion compensation for video pictures
JP2005510984A5 (en)
US20040008775A1 (en) Method of managing reference frame and field buffers in adaptive frame/field encoding
CA2738329C (en) Picture level adaptive frame/field coding for digital video content

Legal Events

Date Code Title Description
AS Assignment

Owner name: GENERAL INSTRUMENT CORPORATION, PENNSYLVANIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WANG, LIMIN;PANUSOPONE, KRIT;GANDHI, RAJEEV;AND OTHERS;REEL/FRAME:013524/0364;SIGNING DATES FROM 20021114 TO 20021116

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:034301/0001

Effective date: 20141028