Nothing Special   »   [go: up one dir, main page]

US20190356911A1 - Region-based processing of predicted pixels - Google Patents

Region-based processing of predicted pixels Download PDF

Info

Publication number
US20190356911A1
US20190356911A1 US16/529,620 US201916529620A US2019356911A1 US 20190356911 A1 US20190356911 A1 US 20190356911A1 US 201916529620 A US201916529620 A US 201916529620A US 2019356911 A1 US2019356911 A1 US 2019356911A1
Authority
US
United States
Prior art keywords
pixel blocks
group
coded
coded pixel
decoding
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
US16/529,620
Inventor
Thomas Pun
Paul Chang
Hsi-Jung Wu
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.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority to US16/529,620 priority Critical patent/US20190356911A1/en
Publication of US20190356911A1 publication Critical patent/US20190356911A1/en
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
    • 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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention generally relates to video encoders. More specifically, the present invention provides the grouping of coded pixel blocks having similar prediction dependencies to more quickly decode a compressed video data sequence.
  • FIG. 1 is a functional block diagram of an encoder-decoder system 100 .
  • the encoder-decoder system 100 includes an encoder 102 and a decoder 104 .
  • the encoder 102 receives source video data from a video source 106 .
  • the encoder 102 codes the source video data into a compressed bit stream for transmission to the decoder 104 over a communication channel 108 .
  • the communication channel 108 can be a real-time delivery system such as a communication network (e.g., a wireless communication network) or a computer network (e.g., the Internet).
  • the communication channel 106 can be a storage medium (e.g., an electrical, optical or magnetic storage device) that can be physically distributed.
  • the topology, architecture and protocol governing operation of the communication channel 108 is immaterial to the present discussion unless specifically identified herein.
  • the decoder 104 receives and decodes the compressed bit stream to reproduce the source video data.
  • the decoder 104 can then provide the reproduced source video data to a video display device 110 .
  • FIG. 1 shows a single decoder 104 but is not limited as such. That is, replicas or copies of the compressed bit stream can be provided to multiple decoders located at different locations. In this way, the source video data can be encoded once and distributed to the decoders for decoding at different times as is conventional or well known in the art.
  • the encoder 102 and the decoder 104 can be implemented in hardware, software or some combination thereof.
  • the encoder 102 and/or the decoder 104 can be implemented using a computer system.
  • FIG. 2A is a simplified functional block diagram of a computer system 200 .
  • the computer system 200 can be used to implement the encoder 102 or the decoder 104 depicted in FIG. 1 .
  • the computer system 200 includes a processor 202 , a memory system 204 and one or more input/output (I/O) devices 206 in communication by a communication ‘fabric.’
  • the communication fabric can be implemented in a variety of ways and may include one or more computer buses 208 , 210 and/or bridge devices 212 as shown in FIG. 2A .
  • the I/O devices 206 can include network adapters and/or mass storage devices from which the computer system 200 can receive compressed video data for decoding by the processor 202 when the computer system 200 operates as a decoder.
  • the computer system 200 can receive source video data for encoding by the processor 202 when the computer system 200 operates as an encoder.
  • the computer system 200 can implement a variety of video coding protocols such as, for example, any one of the Moving Picture Experts Group (MPEG) standards (e.g., MPEG-1, MPEG-2, or MPEG-4) and/or the International Telecommunication Union (ITU) H.264 standard.
  • MPEG Moving Picture Experts Group
  • ITU International Telecommunication Union
  • Most coding standards are designed to operate across a variety of computing platforms. Accordingly, many coding standards find application in feature rich computing devices (e.g., personal computers or gaming devices) and also in feature poor computing devices (e.g., single digital signal processing (DSP) devices).
  • DSP single digital signal processing
  • macroblock data may be coded with reference to other macroblocks in the same frame.
  • a prediction reference e.g., a prediction vector
  • This technique can create a long chain of predictions, requiring macroblocks to be retrieved from memory and then decoded in a serial fashion (e.g., one macroblock at a time).
  • FIG. 2B illustrates the contents of the memory system 204 depicted in FIG. 2A .
  • the memory system 204 can include coded video data 220 , decoded reference frames 222 and a currently decoded frame 224 that is partially decoded.
  • the decoded reference frames 222 can include previous reference frames 226 and future reference frames 228 .
  • Previous reference frames 226 are frames that occur earlier in time than the current frame being decoded by the processor 202 .
  • Future reference frames 228 are frames that occur later in time than the current frame being decoded by the processor 202 .
  • a currently decoded frame 224 can depend on previous reference frames 226 and/or future reference frames 228 .
  • the decoded reference frames 222 needed by the processor 202 to decode a current frame 224 may take several memory cycles to retrieve since the bandwidth of a memory system 204 in a feature poor computing device is generally limited. Further, due to the serial nature of decoding the coded data 220 , different sets of decoded reference frames 222 may be retrieved for each coded video frame 220 . This can result in the same decoded reference frames 222 being retrieved several times as the coded video data 220 is decoded.
  • feature rich computing devices typically possess much greater memory capacity and memory bandwidth in comparison to feature poor devices. Accordingly, these devices are able to access, retrieve and process data in quantities much larger than a single macroblock at a time.
  • the performance of a feature rich computing device implementing a coding standard is much greater than what is currently achieved. Performance is limited due to the serial nature of decoding. In particular, performance is mainly limited by (a) the processor being idle when macroblock data is being read in from a memory device or I/O device because the processor needs prediction data contained in data yet to be retrieved; and (b) the memory device or I/O device being idle because the processor is busy decoding data that requires large amounts of processing.
  • the processing system should be capable of reading and decoding multiple chunks of video data (e.g., multiple macroblocks or multiple blocks of pixels) whenever possible.
  • FIG. 1 is a functional block diagram of an encoder-decoder system.
  • FIG. 2A is a simplified functional block diagram of a computer system.
  • FIG. 2B illustrates the contents of a memory system depicted in FIG. 2A .
  • FIG. 3 provides a flowchart illustrating a method for grouping pixel blocks together so that the group can be processed together more quickly according to an aspect of the present invention.
  • FIG. 4 depicts a frame of video data to illustrate data decoding according to an aspect of the present invention.
  • FIG. 5 illustrates a portion of a coded video sequence generated according to an aspect of the present invention.
  • Embodiments of the present invention provide systems, apparatuses and methods whereby groups of coded pixel blocks having similar prediction dependencies are defined and efficiently scheduled for decoding.
  • the present invention enables a compressed video data sequence to be decoded in less time and with less power by leveraging improved processor and memory capabilities.
  • a group of coded pixel blocks having similar prediction dependencies is understood to mean coded pixel blocks that can share a motion vector or reference frame or that do not depend on a reconstructed pixel block within the group.
  • FIG. 3 provides a flowchart 300 illustrating a method for grouping pixel blocks together (e.g., grouping pixel blocks together that have similar prediction dependencies) so that the group can be processed together more quickly, according to an aspect of the present invention.
  • a processor of a decoder can buffer channel data in a memory.
  • the channel data can be compressed video data.
  • the processor and memory can be components of a computer system operating as decoder.
  • the implemented decoder can operate according to or be operable with various video compression standards such as, for example, any one of the Moving Picture Experts Group (MPEG) standards (e.g., MPEG-1, MPEG-2, or MPEG-4) and/or the International Telecommunication Union (ITU) H.264 standard.
  • MPEG Moving Picture Experts Group
  • MPEG-1 Moving Picture Experts Group
  • MPEG-2 MPEG-2
  • MPEG-4 International Telecommunication Union
  • the processor begins a new group of pixel blocks (e.g., macroblocks) at an arbitrary location and examines the pixel blocks within the buffer.
  • a new group of pixel blocks begins immediately after the previous group.
  • a pixel block can be retrieved.
  • the current pixel block can be considered the ‘i th ’ pixel block.
  • the coding parameters of the i th pixel block can be examined to determine if the current pixel block can be decoded in parallel with the other pixel blocks in the group. If the current pixel block does not depend on a reconstructed pixel within the group, then the current pixel block can be added to the current group at step 310 . Steps 306 and 308 can then be repeated for additional pixel blocks remaining in the buffer. If the current pixel block does depend on a reconstructed pixel within the group, then the group can be closed at step 312 without including the current pixel block. If the current pixel block does depend on another pixel block within the group (i.e., a reconstructed pixel with the group), then the current pixel block can be considered a non-qualifying pixel block.
  • the group formed can be scheduled for decoding in the manner most efficient for the processor. That is, one or more groups of pixel blocks generated according to the previous steps can be retrieved or read in bulk. Thereafter, the one or more groups of pixel blocks can be processed as additional channel data is fed into the buffer since the one or more groups of pixel blocks do not depend on or require data yet to be retrieved. In this way, the processor and memory system can operate simultaneously, thereby decreasing the time needed to decode a compressed video stream.
  • each bulk read operation can include only a portion of a single group (e.g., if a given group is large) or multiple groups (e.g., if some of the included groups are small). This allows any given group of coded pixel block to be retrieved and processed in a chunk size that may be larger, smaller or equal to the group size.
  • a group can comprise adjacent intra-frame pixel blocks that can be predicted (and therefore decoded) without using decoded values within the group.
  • a group can also comprise adjacent inter-frame pixel blocks that can be predicted without using decoded values within the group. In this way, it is possible to group together pixel blocks that use multiple reference frames and/or multiple motion vectors. Further, a group can comprise adjacent inter-frame pixel blocks that share one reference frame and/or one motion vector.
  • FIG. 2A representing a feature rich computing device, can be used to implement an embodiment of the present invention.
  • the computer system 200 can read from any memory system or location (e.g., a hard drive, cache, etc.) when decoding data. Further, these retrieval operations can result in the reading of large amounts of information at a time and is not limited to retrieving or reading a single pixel blocks at a time.
  • an encoder of the present invention can retrieve required decode reference frames 222 in bulk in order to process a group of pixel blocks. For example, all of the decoded reference frames 222 needed to decoded a scheduled group of coded pixel blocks can be retrieved in one memory cycle so as to decrease the time to decode the group of pixel blocks.
  • the ability to more quickly gather all of the information needed for decoding, and to decode efficiently in groups enables an encoder of the present invention to reduce a time needed to decode a compressed video sequence.
  • FIG. 4 depicts a frame of video data 400 to illustrate data decoding according to an aspect of the present invention.
  • the frame 400 is divided into a plurality of pixel blocks 402 .
  • For each pixel block shown there can be a coded representation of the pixel block stored in a decode buffer.
  • a decoder of the present invention can process the pixel blocks in some kind of order.
  • the decoder can process the pixel blocks serially (e.g., raster scan facsimile).
  • the pixel block group 404 (i.e., those pixel blocks 402 containing an ‘X’) is depicted as having been decoded.
  • the decoder has already read and decoded the coded data representing the pixel block group 404 .
  • the decoder defines a new pixel block group 420 .
  • the new pixel block group 420 can be defined by the decoder first examining the prediction references of each of the pixel blocks. If the prediction references of an individual pixel block depend on the decoded pixel blocks 404 , the pixel block can be added to the new group 420 .
  • the new group 420 can be closed or end when it is determined that a currently examined pixel block refers to another pixel block within the new group 420 .
  • the newly defined group 420 and therefore the constituent pixel blocks of the group 420 , can then be scheduled for decoding.
  • FIG. 5 illustrates a portion of a coded video sequence 500 generated according to an aspect of the present invention.
  • the portion of the coded video sequence 500 can include a header 502 and a payload 504 .
  • the portion of the coded video sequence 500 can comprise a portion of a bit stream representing the coded video sequence parsed into portions as shown in FIG. 5 .
  • the header 502 can include information regarding the contents of the payload 504 .
  • the payload 504 includes a number of pixel blocks (e.g., macroblocks) 506 - 1 through 506 -N.
  • the header 502 is shown prepended to the payload 504 in FIG. 5 but can alternatively be appended to the payload 504 .
  • the pixel blocks 506 - 1 through 506 -N can be grouped together according to prediction dependencies.
  • the pixel blocks 506 - 1 through 506 -N can be grouped together in a number of ways.
  • the payload 504 can be (a) a group of adjacent inter pixel blocks that share a common motion vector and/or reference frame; (b) a group of adjacent inter pixel blocks that can be predicted without using decoded values within the group; (c) a group of adjacent intra pixel blocks that can be predicted without using decoded values within the group; or (d) a group of pixel blocks that do not depend on any reconstructed pixel from the group of pixel blocks.
  • the payload 502 can include a variety of information on the characteristics of the payload 504 and/or its constituent components.
  • the payload 504 can include information indicating the type of grouping carried by the payload 504 as well as the number of pixel blocks 506 within the payload.
  • a header 502 can be associated with each payload 504 comprising the compressed bit stream and can be considered a group identifier of the payload 504 .
  • the compressed bit stream can comprise payloads 504 of different types distributed throughout the compressed bit stream in any manner.
  • An encoder of the present invention can generate the payload group 504 and the header 502 as shown in FIG. 4 .
  • an encoder of the present invention can scan the coded video sequence to form multiple payload groups 504 and associated headers 502 to form a formatted coded video sequence.
  • the formatted coded video sequence can then be provided to a decoder of the present invention.
  • the decoder can process and decode the formatted and coded video sequence quickly to reproduce the original uncompressed video sequence since the coded video sequence is provided in chunks having similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks. Accordingly, the decoder can more efficiently schedule retrieval and processing of the coded and formatted video sequence stored, for example, in an associated decoder buffer.
  • generation of a formatted coded video sequence can be used to optimize the original coding of the video sequence.
  • the generation of a formatted coded video sequence can also be produced using a one-step process whereby an encoder of the present invention can encode and format a video sequence in a serial fashion.
  • An encoder of the present invention may also adjust the coding and formatting process based on the capabilities of a remote decoder that may receive the coded and formatted video data sequence.
  • an encoder of the present invention may be capable of exploiting one or more side channels to send information (e.g., user-defined data and/or encoding/formatting data) to a decoder. In this way, an encoder can provide a decoder with a coded video sequence formatted in such a way (with or without supplemental information) that it can be decoded more easily and more quickly.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method for decoding a compressed video data sequence containing one or more coded pixel blocks. The compressed video sequence is buffered. Prediction information for each of the coded pixel blocks is reviewed. One or more groups of coded pixel blocks are formed based on the reviewed prediction information such that the coded pixel blocks within a given group have similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks to enable parallel decoding. The formed groups are scheduled for processing and subsequently decoded to produce a decoded video data sequence.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims priority to U.S. Provisional Patent Application No. 60/737,772, filed Nov. 18, 2005, herein incorporated by reference in its entirety.
  • BACKGROUND OF THE INVENTION Field of the Invention
  • The present invention generally relates to video encoders. More specifically, the present invention provides the grouping of coded pixel blocks having similar prediction dependencies to more quickly decode a compressed video data sequence.
  • Background Art
  • FIG. 1 is a functional block diagram of an encoder-decoder system 100. The encoder-decoder system 100 includes an encoder 102 and a decoder 104. The encoder 102 receives source video data from a video source 106. The encoder 102 codes the source video data into a compressed bit stream for transmission to the decoder 104 over a communication channel 108. The communication channel 108 can be a real-time delivery system such as a communication network (e.g., a wireless communication network) or a computer network (e.g., the Internet). Alternatively, the communication channel 106 can be a storage medium (e.g., an electrical, optical or magnetic storage device) that can be physically distributed. Overall, the topology, architecture and protocol governing operation of the communication channel 108 is immaterial to the present discussion unless specifically identified herein.
  • The decoder 104 receives and decodes the compressed bit stream to reproduce the source video data. The decoder 104 can then provide the reproduced source video data to a video display device 110. FIG. 1 shows a single decoder 104 but is not limited as such. That is, replicas or copies of the compressed bit stream can be provided to multiple decoders located at different locations. In this way, the source video data can be encoded once and distributed to the decoders for decoding at different times as is conventional or well known in the art.
  • The encoder 102 and the decoder 104 can be implemented in hardware, software or some combination thereof. For example, the encoder 102 and/or the decoder 104 can be implemented using a computer system. FIG. 2A is a simplified functional block diagram of a computer system 200. The computer system 200 can be used to implement the encoder 102 or the decoder 104 depicted in FIG. 1.
  • As shown in FIG. 2A, the computer system 200 includes a processor 202, a memory system 204 and one or more input/output (I/O) devices 206 in communication by a communication ‘fabric.’ The communication fabric can be implemented in a variety of ways and may include one or more computer buses 208, 210 and/or bridge devices 212 as shown in FIG. 2A. The I/O devices 206 can include network adapters and/or mass storage devices from which the computer system 200 can receive compressed video data for decoding by the processor 202 when the computer system 200 operates as a decoder. Alternatively, the computer system 200 can receive source video data for encoding by the processor 202 when the computer system 200 operates as an encoder.
  • The computer system 200 can implement a variety of video coding protocols such as, for example, any one of the Moving Picture Experts Group (MPEG) standards (e.g., MPEG-1, MPEG-2, or MPEG-4) and/or the International Telecommunication Union (ITU) H.264 standard. Most coding standards are designed to operate across a variety of computing platforms. Accordingly, many coding standards find application in feature rich computing devices (e.g., personal computers or gaming devices) and also in feature poor computing devices (e.g., single digital signal processing (DSP) devices).
  • To accommodate the broad variety of computing devices, most coding standards are designed with unsophisticated computer systems in mind. Specifically, many coding standards are designed to be implemented the same way on a feature rich system as they are on a feature poor system. Feature poor systems typically have limited memory and processor capabilities. Accordingly, due to the design of many coding standards, the improved memory and processor capabilities of a feature rich system are not fully exploited. For example, during the coding of an Intra coded frame (I-frame), macroblock data may be coded with reference to other macroblocks in the same frame. A prediction reference (e.g., a prediction vector) can be generated to specify a location from within previously coded macroblocks from which a prediction will be made. This technique can create a long chain of predictions, requiring macroblocks to be retrieved from memory and then decoded in a serial fashion (e.g., one macroblock at a time).
  • FIG. 2B illustrates the contents of the memory system 204 depicted in FIG. 2A. As shown in FIG. 2B, the memory system 204 can include coded video data 220, decoded reference frames 222 and a currently decoded frame 224 that is partially decoded. The decoded reference frames 222 can include previous reference frames 226 and future reference frames 228. Previous reference frames 226 are frames that occur earlier in time than the current frame being decoded by the processor 202. Future reference frames 228 are frames that occur later in time than the current frame being decoded by the processor 202. A currently decoded frame 224 can depend on previous reference frames 226 and/or future reference frames 228.
  • In feature poor computing devices, the decoded reference frames 222 needed by the processor 202 to decode a current frame 224 may take several memory cycles to retrieve since the bandwidth of a memory system 204 in a feature poor computing device is generally limited. Further, due to the serial nature of decoding the coded data 220, different sets of decoded reference frames 222 may be retrieved for each coded video frame 220. This can result in the same decoded reference frames 222 being retrieved several times as the coded video data 220 is decoded.
  • As previously mentioned, feature rich computing devices typically possess much greater memory capacity and memory bandwidth in comparison to feature poor devices. Accordingly, these devices are able to access, retrieve and process data in quantities much larger than a single macroblock at a time. Theoretically, the performance of a feature rich computing device implementing a coding standard is much greater than what is currently achieved. Performance is limited due to the serial nature of decoding. In particular, performance is mainly limited by (a) the processor being idle when macroblock data is being read in from a memory device or I/O device because the processor needs prediction data contained in data yet to be retrieved; and (b) the memory device or I/O device being idle because the processor is busy decoding data that requires large amounts of processing.
  • Accordingly, what is needed is a processing system capable of exploiting the improved processor and memory capabilities of feature rich computing devices to more quickly decode video data compressed according to conventional coding techniques. In particular, the processing system should be capable of reading and decoding multiple chunks of video data (e.g., multiple macroblocks or multiple blocks of pixels) whenever possible.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable one skilled in the pertinent art to make and use the invention.
  • FIG. 1 is a functional block diagram of an encoder-decoder system.
  • FIG. 2A is a simplified functional block diagram of a computer system.
  • FIG. 2B illustrates the contents of a memory system depicted in FIG. 2A.
  • FIG. 3 provides a flowchart illustrating a method for grouping pixel blocks together so that the group can be processed together more quickly according to an aspect of the present invention.
  • FIG. 4 depicts a frame of video data to illustrate data decoding according to an aspect of the present invention.
  • FIG. 5 illustrates a portion of a coded video sequence generated according to an aspect of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Embodiments of the present invention provide systems, apparatuses and methods whereby groups of coded pixel blocks having similar prediction dependencies are defined and efficiently scheduled for decoding. In this regard, the present invention enables a compressed video data sequence to be decoded in less time and with less power by leveraging improved processor and memory capabilities. A group of coded pixel blocks having similar prediction dependencies is understood to mean coded pixel blocks that can share a motion vector or reference frame or that do not depend on a reconstructed pixel block within the group.
  • FIG. 3 provides a flowchart 300 illustrating a method for grouping pixel blocks together (e.g., grouping pixel blocks together that have similar prediction dependencies) so that the group can be processed together more quickly, according to an aspect of the present invention.
  • At step 302, a processor of a decoder can buffer channel data in a memory. The channel data can be compressed video data. The processor and memory can be components of a computer system operating as decoder. The implemented decoder can operate according to or be operable with various video compression standards such as, for example, any one of the Moving Picture Experts Group (MPEG) standards (e.g., MPEG-1, MPEG-2, or MPEG-4) and/or the International Telecommunication Union (ITU) H.264 standard. Overall, the compression scheme used by the decoder is immaterial to the present discussion unless specifically identified herein.
  • At step 304, the processor begins a new group of pixel blocks (e.g., macroblocks) at an arbitrary location and examines the pixel blocks within the buffer. Typically, a new group of pixel blocks begins immediately after the previous group.
  • At step 306, a pixel block can be retrieved. The current pixel block can be considered the ‘ith’ pixel block.
  • At step 308, the coding parameters of the ith pixel block can be examined to determine if the current pixel block can be decoded in parallel with the other pixel blocks in the group. If the current pixel block does not depend on a reconstructed pixel within the group, then the current pixel block can be added to the current group at step 310. Steps 306 and 308 can then be repeated for additional pixel blocks remaining in the buffer. If the current pixel block does depend on a reconstructed pixel within the group, then the group can be closed at step 312 without including the current pixel block. If the current pixel block does depend on another pixel block within the group (i.e., a reconstructed pixel with the group), then the current pixel block can be considered a non-qualifying pixel block.
  • Further, at step 312, the group formed can be scheduled for decoding in the manner most efficient for the processor. That is, one or more groups of pixel blocks generated according to the previous steps can be retrieved or read in bulk. Thereafter, the one or more groups of pixel blocks can be processed as additional channel data is fed into the buffer since the one or more groups of pixel blocks do not depend on or require data yet to be retrieved. In this way, the processor and memory system can operate simultaneously, thereby decreasing the time needed to decode a compressed video stream.
  • In general, the generated groups of coded pixel blocks can be retrieved in any manner. That is, each bulk read operation can include only a portion of a single group (e.g., if a given group is large) or multiple groups (e.g., if some of the included groups are small). This allows any given group of coded pixel block to be retrieved and processed in a chunk size that may be larger, smaller or equal to the group size.
  • Various groupings of pixel blocks are possible using the method illustrated by the flowchart 300. The groupings can be made on a temporal and/or spatial basis. For example, a group can comprise adjacent intra-frame pixel blocks that can be predicted (and therefore decoded) without using decoded values within the group. A group can also comprise adjacent inter-frame pixel blocks that can be predicted without using decoded values within the group. In this way, it is possible to group together pixel blocks that use multiple reference frames and/or multiple motion vectors. Further, a group can comprise adjacent inter-frame pixel blocks that share one reference frame and/or one motion vector. These grouping decisions can be made, for example, at step 308 using information on the current pixel block retrieved at step 306.
  • FIG. 2A, representing a feature rich computing device, can be used to implement an embodiment of the present invention. The computer system 200 can read from any memory system or location (e.g., a hard drive, cache, etc.) when decoding data. Further, these retrieval operations can result in the reading of large amounts of information at a time and is not limited to retrieving or reading a single pixel blocks at a time. Accordingly, an encoder of the present invention can retrieve required decode reference frames 222 in bulk in order to process a group of pixel blocks. For example, all of the decoded reference frames 222 needed to decoded a scheduled group of coded pixel blocks can be retrieved in one memory cycle so as to decrease the time to decode the group of pixel blocks. The ability to more quickly gather all of the information needed for decoding, and to decode efficiently in groups, enables an encoder of the present invention to reduce a time needed to decode a compressed video sequence.
  • FIG. 4 depicts a frame of video data 400 to illustrate data decoding according to an aspect of the present invention. The frame 400 is divided into a plurality of pixel blocks 402. For each pixel block shown, there can be a coded representation of the pixel block stored in a decode buffer. A decoder of the present invention can process the pixel blocks in some kind of order. For example, the decoder can process the pixel blocks serially (e.g., raster scan facsimile).
  • In FIG. 4, the pixel block group 404 (i.e., those pixel blocks 402 containing an ‘X’) is depicted as having been decoded. Specifically, the decoder has already read and decoded the coded data representing the pixel block group 404. According to an aspect of the present invention, the decoder defines a new pixel block group 420. The new pixel block group 420 can be defined by the decoder first examining the prediction references of each of the pixel blocks. If the prediction references of an individual pixel block depend on the decoded pixel blocks 404, the pixel block can be added to the new group 420. The new group 420 can be closed or end when it is determined that a currently examined pixel block refers to another pixel block within the new group 420. The newly defined group 420, and therefore the constituent pixel blocks of the group 420, can then be scheduled for decoding.
  • In an embodiment of the present invention, a bit stream syntax is introduced to identify a group of pixel blocks having similar prediction dependencies. The bit stream syntax and groupings can be generated by an encoder of the present invention. FIG. 5 illustrates a portion of a coded video sequence 500 generated according to an aspect of the present invention. The portion of the coded video sequence 500 can include a header 502 and a payload 504. The portion of the coded video sequence 500 can comprise a portion of a bit stream representing the coded video sequence parsed into portions as shown in FIG. 5. The header 502 can include information regarding the contents of the payload 504. The payload 504 includes a number of pixel blocks (e.g., macroblocks) 506-1 through 506-N. The header 502 is shown prepended to the payload 504 in FIG. 5 but can alternatively be appended to the payload 504.
  • The pixel blocks 506-1 through 506-N can be grouped together according to prediction dependencies. The pixel blocks 506-1 through 506-N can be grouped together in a number of ways. For example, the payload 504 can be (a) a group of adjacent inter pixel blocks that share a common motion vector and/or reference frame; (b) a group of adjacent inter pixel blocks that can be predicted without using decoded values within the group; (c) a group of adjacent intra pixel blocks that can be predicted without using decoded values within the group; or (d) a group of pixel blocks that do not depend on any reconstructed pixel from the group of pixel blocks. In this way, the present invention allows the formation of a group of pixel blocks for decoding that do not share a motion vector or a reference frame. The payload 502 can include a variety of information on the characteristics of the payload 504 and/or its constituent components. For example, the payload 504 can include information indicating the type of grouping carried by the payload 504 as well as the number of pixel blocks 506 within the payload. A header 502 can be associated with each payload 504 comprising the compressed bit stream and can be considered a group identifier of the payload 504. Further, the compressed bit stream can comprise payloads 504 of different types distributed throughout the compressed bit stream in any manner.
  • An encoder of the present invention can generate the payload group 504 and the header 502 as shown in FIG. 4. For example, after receiving and coding an uncompressed video sequence to produce a coded video sequence, an encoder of the present invention can scan the coded video sequence to form multiple payload groups 504 and associated headers 502 to form a formatted coded video sequence. The formatted coded video sequence can then be provided to a decoder of the present invention. The decoder can process and decode the formatted and coded video sequence quickly to reproduce the original uncompressed video sequence since the coded video sequence is provided in chunks having similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks. Accordingly, the decoder can more efficiently schedule retrieval and processing of the coded and formatted video sequence stored, for example, in an associated decoder buffer.
  • As a two-step process, generation of a formatted coded video sequence can be used to optimize the original coding of the video sequence. The generation of a formatted coded video sequence can also be produced using a one-step process whereby an encoder of the present invention can encode and format a video sequence in a serial fashion. An encoder of the present invention may also adjust the coding and formatting process based on the capabilities of a remote decoder that may receive the coded and formatted video data sequence. Further, an encoder of the present invention may be capable of exploiting one or more side channels to send information (e.g., user-defined data and/or encoding/formatting data) to a decoder. In this way, an encoder can provide a decoder with a coded video sequence formatted in such a way (with or without supplemental information) that it can be decoded more easily and more quickly.
  • CONCLUSION
  • While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example and not limitation. It will be apparent to one skilled in the pertinent art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Therefore, the present invention should only be defined in accordance with the following claims and their equivalents.

Claims (25)

What is claimed is:
1. A decoding method for coded video data, comprising:
assigning a first coded pixel block of a frame to be decoded to a decoding group;
for subsequent additional coded pixel blocks of the frame:
determining whether the respective subsequent coded pixel block contains a prediction reference that refers to a reconstructed pixel within the decoding group,
if not, assigning the respective subsequent coded pixel block to the decoding group, and
if so, terminating the decoding group;
retrieving from a memory previously decoded video data referenced by the prediction references of the decoding group; and
decoding the coded pixel blocks of the decoding group with reference to the retrieved decoded video data.
2. The decoding method of claim 1, wherein the prediction references are motion vectors.
3. A method for decoding a compressed video data sequence, comprising:
buffering the compressed video sequence, the compressed video sequence comprising one or more coded pixel blocks;
reviewing prediction information of the one or more coded pixel blocks;
grouping coded pixel blocks based on the reviewed prediction information, the coded pixel blocks within a group having similar prediction dependencies;
scheduling decoding of the pixel blocks according to the grouping; and
decoding the scheduled groups of coded pixel blocks to produce a decoded video data sequence.
4. The method of claim 3, wherein the prediction information comprises a motion vector.
5. The method of claim 3, wherein the prediction information comprises a reference frame.
6. The method of claim 3, wherein grouping comprises forming at least one group comprising coded pixel blocks that can be predicted independently of one another.
7. The method of claim 6, wherein the coded pixel blocks of the at least one group are intra-frame pixel blocks.
8. The method of claim 6, wherein the coded pixel blocks of the at least one group are inter-frame pixel blocks.
9. The method of claim 3, wherein forming comprises forming at least one group having coded pixel blocks that share one motion vector and one reference frame.
10. A computer-readable memory having stored thereon a plurality of instructions for decoding a compressed video sequence comprising one or more coded pixel blocks, which when executed by a processor, cause the processor to:
retrieve coding parameters of a coded pixel block;
compare the coding parameters of the coded pixel block to coding parameters of a current group of pixel blocks;
add the coded pixel block to the current group of pixel blocks if the coding parameters of the coded pixel block match the coding parameters of the current group of pixel blocks; and
schedule decoding of the current group of pixel blocks once the current group of pixel blocks is closed, wherein the current group of pixel blocks is closed upon detection of a first non-qualifying coded pixel block.
11. The computer-readable memory of claim 10, further comprising causing the processor to decode a chunk of the current group of pixel blocks.
12. The computer-readable memory of claim 10, wherein the coding parameters of the coded pixel block match the coding parameters of the current group of pixel blocks when the coded pixel block can be predicted independently of other coded pixel blocks within the current group of pixel blocks.
13. The computer-readable memory of claim 12, wherein the current group of pixel blocks comprises one or more inter-frame pixel blocks.
14. The computer-readable memory of claim 12, wherein the current group of pixel blocks comprises one or more intra-frame pixel blocks.
15. The computer-readable memory of claim 10, wherein the coding parameters of the coded pixel block match the coding parameters of the current group of pixel blocks when the coded pixel block and all other coded pixel blocks within the current group of pixel blocks share a motion vector and a reference frame.
16. A method for encoding a video data sequence, comprising:
coding the video data sequence to generate a coded video sequence comprising one or more coded pixel blocks;
reviewing prediction information for each of the one or more coded pixel blocks;
forming one or more groups of coded pixel blocks based on the reviewed prediction information, the coded pixel blocks within a group having similar prediction dependencies;
associating a group identifier with each group of coded pixel blocks to form a formatted coded video data sequence.
17. The method of claim 16, wherein coding comprises coding the video data sequence according to any one of the Moving Picture Experts Group (MPEG) standards.
18. The method of claim 16, wherein coding comprises coding the video data sequence according to an International Telecommunication Union (ITU) H.264 standard.
19. The method of claim 16, wherein forming comprises forming at least one group having coded pixel blocks that can be predicted independently of one another.
20. The method of claim 19, wherein the coded pixel blocks of the at least one group are intra-frame pixel blocks.
21. The method of claim 19, wherein the coded pixel blocks of the at least one group are inter-frame pixel blocks.
22. The method of claim 16, wherein forming comprises forming at least one group having coded pixel blocks that share one motion vector and one reference frame.
23. The method of claim 16, wherein each group identifier specifies a number of coded pixel blocks contained within an associated group of coded pixel blocks.
24. A method for decoding a compressed video data sequence, comprising:
buffering the compressed video sequence, the compressed video sequence comprising one or more coded pixel blocks;
reviewing prediction information of the one or more coded pixel blocks;
grouping coded pixel blocks based on the reviewed prediction information, the coded pixel blocks within a group independent of a reconstructed pixel within the group;
scheduling decoding of the pixel blocks according to the grouping; and
decoding the scheduled groups of coded pixel blocks to produce a decoded video data sequence.
25. A method for encoding a video data sequence, comprising:
coding the video data sequence to generate a coded video sequence comprising one or more coded pixel blocks;
reviewing prediction information for each of the one or more coded pixel blocks;
forming one or more groups of coded pixel blocks based on the reviewed prediction information, the coded pixel blocks within a group independent of a reconstructed pixel within the group;
associating a group identifier with each group of coded pixel blocks to form a formatted coded video data sequence.
US16/529,620 2005-11-18 2019-08-01 Region-based processing of predicted pixels Abandoned US20190356911A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/529,620 US20190356911A1 (en) 2005-11-18 2019-08-01 Region-based processing of predicted pixels

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US73777205P 2005-11-18 2005-11-18
US11/462,449 US8233535B2 (en) 2005-11-18 2006-08-04 Region-based processing of predicted pixels
US13/562,229 US9049451B2 (en) 2005-11-18 2012-07-30 Region-based processing of predicted pixels
US14/723,264 US9706201B2 (en) 2005-11-18 2015-05-27 Region-based processing of predicted pixels
US15/618,693 US10382750B2 (en) 2005-11-18 2017-06-09 Region-based processing of predicted pixels
US16/529,620 US20190356911A1 (en) 2005-11-18 2019-08-01 Region-based processing of predicted pixels

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/618,693 Continuation US10382750B2 (en) 2005-11-18 2017-06-09 Region-based processing of predicted pixels

Publications (1)

Publication Number Publication Date
US20190356911A1 true US20190356911A1 (en) 2019-11-21

Family

ID=38053644

Family Applications (5)

Application Number Title Priority Date Filing Date
US11/462,449 Active 2031-06-01 US8233535B2 (en) 2005-11-18 2006-08-04 Region-based processing of predicted pixels
US13/562,229 Active 2026-12-29 US9049451B2 (en) 2005-11-18 2012-07-30 Region-based processing of predicted pixels
US14/723,264 Active 2026-09-01 US9706201B2 (en) 2005-11-18 2015-05-27 Region-based processing of predicted pixels
US15/618,693 Active US10382750B2 (en) 2005-11-18 2017-06-09 Region-based processing of predicted pixels
US16/529,620 Abandoned US20190356911A1 (en) 2005-11-18 2019-08-01 Region-based processing of predicted pixels

Family Applications Before (4)

Application Number Title Priority Date Filing Date
US11/462,449 Active 2031-06-01 US8233535B2 (en) 2005-11-18 2006-08-04 Region-based processing of predicted pixels
US13/562,229 Active 2026-12-29 US9049451B2 (en) 2005-11-18 2012-07-30 Region-based processing of predicted pixels
US14/723,264 Active 2026-09-01 US9706201B2 (en) 2005-11-18 2015-05-27 Region-based processing of predicted pixels
US15/618,693 Active US10382750B2 (en) 2005-11-18 2017-06-09 Region-based processing of predicted pixels

Country Status (1)

Country Link
US (5) US8233535B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542705B2 (en) 2007-01-23 2013-09-24 Mobitv, Inc. Key frame detection and synchronization
US9300969B2 (en) 2009-09-09 2016-03-29 Apple Inc. Video storage
US9672584B2 (en) * 2012-09-06 2017-06-06 Imagination Technologies Limited Systems and methods of partial frame buffer updating

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020094028A1 (en) * 2001-01-17 2002-07-18 Nec Corporation Device and method for motion video encoding reducing image degradation in data transmission without deteriorating coding efficiency
US20020136303A1 (en) * 2001-03-26 2002-09-26 Shijun Sun Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding
US20040095511A1 (en) * 2002-11-20 2004-05-20 Amara Foued Ben Trailing artifact avoidance system and method
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
US20050078755A1 (en) * 2003-06-10 2005-04-14 Woods John W. Overlapped block motion compensation for variable size blocks in the context of MCTF scalable video coders

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3716851A (en) * 1971-02-09 1973-02-13 Bell Telephone Labor Inc Self-synchronizing sequential encoding systems
US4023110A (en) * 1975-12-04 1977-05-10 The United States Of America As Represented By The Secretary Of The Army Pulse comparison system
US4131765A (en) * 1976-08-09 1978-12-26 Kahn Leonard R Method and means for improving the spectrum utilization of communications channels
JPS54114920A (en) * 1978-02-28 1979-09-07 Kokusai Denshin Denwa Co Ltd Television signal adaptive forecasting encoding system
US4394774A (en) * 1978-12-15 1983-07-19 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
JPS57210785A (en) * 1981-06-19 1982-12-24 Kokusai Denshin Denwa Co Ltd <Kdd> Adaptive forecasting system between frames of television signal
US4670851A (en) * 1984-01-09 1987-06-02 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
ATE108587T1 (en) * 1986-09-13 1994-07-15 Philips Nv METHOD AND CIRCUIT ARRANGEMENT FOR BIT RATE REDUCTION.
JPS6386990A (en) * 1986-09-30 1988-04-18 Nippon Hoso Kyokai <Nhk> Move detection method
US4698672A (en) * 1986-10-27 1987-10-06 Compression Labs, Inc. Coding system for reducing redundancy
JPH082106B2 (en) * 1986-11-10 1996-01-10 国際電信電話株式会社 Hybrid coding method for moving image signals
DE3855114D1 (en) * 1987-05-06 1996-04-25 Philips Patentverwaltung System for the transmission of video images
DE3854171T2 (en) * 1987-06-09 1995-12-21 Sony Corp Evaluation of motion vectors in television pictures.
US5010401A (en) * 1988-08-11 1991-04-23 Mitsubishi Denki Kabushiki Kaisha Picture coding and decoding apparatus using vector quantization
US4985768A (en) * 1989-01-20 1991-01-15 Victor Company Of Japan, Ltd. Inter-frame predictive encoding system with encoded and transmitted prediction error
JPH07109990B2 (en) * 1989-04-27 1995-11-22 日本ビクター株式会社 Adaptive interframe predictive coding method and decoding method
AU612543B2 (en) * 1989-05-11 1991-07-11 Panasonic Corporation Moving image signal encoding apparatus and decoding apparatus
US5091782A (en) * 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US5068724A (en) * 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
US5093720A (en) * 1990-08-20 1992-03-03 General Instrument Corporation Motion compensation for interlaced digital television signals
EP0683615B1 (en) * 1990-10-31 1999-05-19 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
USRE35093E (en) * 1990-12-03 1995-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5260783A (en) * 1991-02-21 1993-11-09 Gte Laboratories Incorporated Layered DCT video coder for packet switched ATM networks
JP3119888B2 (en) * 1991-04-18 2000-12-25 松下電器産業株式会社 Signal processing method and recording / reproducing device
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JPH05276500A (en) * 1991-07-19 1993-10-22 Sony Corp Moving image coding and decoding device
JP2977104B2 (en) * 1991-07-26 1999-11-10 ソニー株式会社 Moving image data encoding method and apparatus, and moving image data decoding method and apparatus
US5539466A (en) * 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
JP2699703B2 (en) * 1991-07-31 1998-01-19 松下電器産業株式会社 Motion compensation prediction method and image signal encoding method using the same
JPH0541862A (en) * 1991-08-03 1993-02-19 Sony Corp Variable length coding system for motion vector
US5428396A (en) * 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
JP3241778B2 (en) * 1991-12-24 2001-12-25 ソニー株式会社 Encoding device
US5510840A (en) * 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
US5293229A (en) * 1992-03-27 1994-03-08 Matsushita Electric Corporation Of America Apparatus and method for processing groups of fields in a video data compression system
KR950002658B1 (en) * 1992-04-11 1995-03-24 주식회사금성사 Condensation incoding and decoding apparatus of image signal
US6101313A (en) * 1992-06-29 2000-08-08 Sony Corporation High efficiency encoding and decoding of picture signals and recording medium containing same
KR950010913B1 (en) * 1992-07-23 1995-09-25 삼성전자주식회사 Vlc & vld system
JP3348310B2 (en) * 1992-09-28 2002-11-20 ソニー株式会社 Moving picture coding method and moving picture coding apparatus
JP3358835B2 (en) * 1992-12-14 2002-12-24 ソニー株式会社 Image coding method and apparatus
US5377051A (en) * 1993-01-13 1994-12-27 Hitachi America, Ltd. Digital video recorder compatible receiver with trick play image enhancement
JP3679426B2 (en) * 1993-03-15 2005-08-03 マサチューセッツ・インスティチュート・オブ・テクノロジー A system that encodes image data into multiple layers, each representing a coherent region of motion, and motion parameters associated with the layers.
US5587806A (en) * 1993-03-26 1996-12-24 Matsushita Electric Industrial Co., Ltd. Apparatus for separately recording input coded video signal and important data generated therefrom
US5703646A (en) * 1993-04-09 1997-12-30 Sony Corporation Picture encoding method, picture encoding apparatus and picture recording medium
US5329318A (en) * 1993-05-13 1994-07-12 Intel Corporation Method for optimizing image motion estimation
US5469208A (en) * 1993-05-26 1995-11-21 Intel Corporation Dequantization using decrements and multiply
US5684534A (en) * 1993-05-26 1997-11-04 Intel Corporation Task-splitting dual-processor system for motion estimation processing
DE69426280T2 (en) * 1993-06-03 2001-03-29 Matsushita Electric Industrial Co., Ltd. Device for reproducing pictures and device for decoding pictures
KR950014858B1 (en) * 1993-06-04 1995-12-16 대우전자주식회사 Digital image recording apparatus
US5829007A (en) * 1993-06-24 1998-10-27 Discovision Associates Technique for implementing a swing buffer in a memory array
JPH07250328A (en) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp Moving vector detector
US5592226A (en) * 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
EP0665653B1 (en) * 1994-01-28 2001-12-05 Matsushita Electric Industrial Co., Ltd. Apparatus and method for decoding variable-length code
JP3050047B2 (en) * 1994-06-24 2000-06-05 日本ビクター株式会社 Moving picture coding apparatus and moving picture coding method
US5711012A (en) * 1994-08-01 1998-01-20 Paradyne Corporation Cellular phone interface for a simultaneous voice/data modem
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
JP3058028B2 (en) * 1994-10-31 2000-07-04 三菱電機株式会社 Image encoded data re-encoding device
EP0712256B1 (en) * 1994-11-14 2000-04-12 Canon Kabushiki Kaisha Recording/reproducing apparatus
JP4223571B2 (en) * 1995-05-02 2009-02-12 ソニー株式会社 Image coding method and apparatus
US5568200A (en) * 1995-06-07 1996-10-22 Hitachi America, Ltd. Method and apparatus for improved video display of progressively refreshed coded video
US5854858A (en) * 1995-06-07 1998-12-29 Girod; Bernd Image signal coder operating at reduced spatial resolution
US5852664A (en) * 1995-07-10 1998-12-22 Intel Corporation Decode access control for encoded multimedia signals
JP3068002B2 (en) * 1995-09-18 2000-07-24 沖電気工業株式会社 Image encoding device, image decoding device, and image transmission system
JP3330797B2 (en) * 1995-10-02 2002-09-30 富士通株式会社 Moving image data storage method and moving image data decoding method
JPH09121358A (en) * 1995-10-25 1997-05-06 Matsushita Electric Ind Co Ltd Picture coding/decoding device and its method
US6064776A (en) * 1995-10-27 2000-05-16 Kabushiki Kaisha Toshiba Image processing apparatus
KR100209793B1 (en) * 1995-10-28 1999-07-15 전주범 Apparatus for encoding/decoding a video signals by using feature point based motion estimation
US5648733A (en) * 1995-11-01 1997-07-15 Lsi Logic Corporation Scan compatible 3-state bus control
US5949948A (en) * 1995-11-20 1999-09-07 Imedia Corporation Method and apparatus for implementing playback features for compressed video data
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
DE69738787D1 (en) * 1996-05-14 2008-07-31 Daewoo Electronics Corp Reduction of block effects in a motion picture decoder
US6088391A (en) * 1996-05-28 2000-07-11 Lsi Logic Corporation Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames
WO1997047139A2 (en) * 1996-06-05 1997-12-11 Philips Electronics N.V. Method and device for decoding coded digital video signals
JPH1079949A (en) * 1996-09-04 1998-03-24 Oki Electric Ind Co Ltd Image encoder, image decoder and image transmission system
US6144698A (en) * 1996-10-31 2000-11-07 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Digital video decoder and method of decoding a digital video signal
JPH10164581A (en) * 1996-12-03 1998-06-19 Sony Corp Method and device for coding image signal and signal-recording medium
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
JP3164031B2 (en) * 1997-05-30 2001-05-08 日本ビクター株式会社 Moving image encoding / decoding device, moving image encoding / decoding method, and moving image encoded recording medium
US6115070A (en) * 1997-06-12 2000-09-05 International Business Machines Corporation System and method for DCT domain inverse motion compensation using shared information
KR100269111B1 (en) * 1997-06-27 2000-10-16 윤종용 Video decoding and display timing control method and apparatus therefor
JP4361613B2 (en) * 1997-07-29 2009-11-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Variable bit rate video encoding method and corresponding video encoding apparatus
US5946043A (en) * 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
US6563549B1 (en) * 1998-04-03 2003-05-13 Sarnoff Corporation Method and apparatus for adaptively encoding an information stream
US7269221B2 (en) * 1999-04-17 2007-09-11 Altera Corporation Encoding system using motion vectors to represent frame-to-frame changes, including motion vector grouping for coding or processing
US6480539B1 (en) * 1999-09-10 2002-11-12 Thomson Licensing S.A. Video encoding method and apparatus
US6873654B1 (en) * 2000-05-16 2005-03-29 Redrock Semiconductor, Inc Method and system for predictive control for live streaming video/audio media
JP4765194B2 (en) * 2001-05-10 2011-09-07 ソニー株式会社 Moving picture coding apparatus, moving picture coding method, moving picture coding program storage medium, and moving picture coding program
US6970509B2 (en) * 2001-07-31 2005-11-29 Wis Technologies, Inc. Cell array and method of multiresolution motion estimation and compensation
JP2003299103A (en) * 2002-03-29 2003-10-17 Toshiba Corp Moving picture encoding and decoding processes and devices thereof
US7693220B2 (en) * 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
DE60312960T2 (en) * 2002-02-01 2007-12-13 Matsushita Electric Industrial Co., Ltd., Kadoma Encoding method and decoding method for moving pictures
FI114679B (en) * 2002-04-29 2004-11-30 Nokia Corp Random start points in video encoding
TW582009B (en) * 2002-06-28 2004-04-01 Au Optronics Corp Driving circuit of display device
KR101000635B1 (en) * 2002-08-08 2010-12-10 파나소닉 주식회사 Moving picture encoding method and decoding method
NO318686B1 (en) * 2002-09-27 2005-04-25 Gridmedia Technologies As Multimedia file format
CN1774931A (en) * 2003-04-17 2006-05-17 皇家飞利浦电子股份有限公司 Content analysis of coded video data
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US7409097B2 (en) * 2003-11-14 2008-08-05 Vweb Corporation Video encoding using variable bit rates
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
WO2005076218A1 (en) * 2004-01-30 2005-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Prioritising data elements of a data stream
US20050201470A1 (en) * 2004-03-12 2005-09-15 John Sievers Intra block walk around refresh for H.264
JP4805915B2 (en) * 2004-05-04 2011-11-02 クゥアルコム・インコーポレイテッド Method and apparatus for assembling bi-directionally predicted frames for temporal scalability
US7991053B2 (en) * 2004-05-04 2011-08-02 Qualcomm Incorporated Method and apparatus to enable acquisition of media in streaming applications
US8503530B2 (en) * 2004-05-27 2013-08-06 Zhourong Miao Temporal classified filtering for video compression
US8406293B2 (en) * 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
US8005139B2 (en) * 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
CN100578545C (en) * 2004-08-20 2010-01-06 Ip菲力股份有限公司 Method for generating label image and image processing system
US8311113B2 (en) * 2004-11-12 2012-11-13 Broadcom Corporation Method and system for using motion prediction to equalize video quality across intra-coded frames
US20060222085A1 (en) * 2005-03-30 2006-10-05 Chhavi Kishore System(s), methods(s), and apparatus for extracting slices from bitstream
US7296902B2 (en) * 2005-07-27 2007-11-20 Christie Digital Systems Canada, Inc. Opto-mechanical filter for blending of images from a digital projector
US7920628B2 (en) * 2005-07-29 2011-04-05 Broadcom Corporation Noise filter for video compression
US7620108B2 (en) * 2005-09-16 2009-11-17 Sony Corporation Integrated spatial-temporal prediction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020094028A1 (en) * 2001-01-17 2002-07-18 Nec Corporation Device and method for motion video encoding reducing image degradation in data transmission without deteriorating coding efficiency
US20020136303A1 (en) * 2001-03-26 2002-09-26 Shijun Sun Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding
US20040095511A1 (en) * 2002-11-20 2004-05-20 Amara Foued Ben Trailing artifact avoidance system and method
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
US20050078755A1 (en) * 2003-06-10 2005-04-14 Woods John W. Overlapped block motion compensation for variable size blocks in the context of MCTF scalable video coders

Also Published As

Publication number Publication date
US20180091811A1 (en) 2018-03-29
US9049451B2 (en) 2015-06-02
US9706201B2 (en) 2017-07-11
US20070116437A1 (en) 2007-05-24
US20120294359A1 (en) 2012-11-22
US20150334391A1 (en) 2015-11-19
US8233535B2 (en) 2012-07-31
US10382750B2 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
US8294603B2 (en) System and method for providing high throughput entropy coding using syntax element partitioning
US10489426B2 (en) Category-prefixed data batching of coded media data in multiple categories
AU2016202208B2 (en) Coding concept allowing parallel processing, transport demultiplexer and video bitstream
CN109547786B (en) Video encoding and video decoding methods and devices
KR101017094B1 (en) Spatial prediction based intra coding
US9445114B2 (en) Method and device for determining slice boundaries based on multiple video encoding processes
US8804825B2 (en) Bi-pred mode decision in GOP architecture
KR101133321B1 (en) Video compression method using bitstream partitions
CN1965587B (en) Method and apparatus for frame prediction in hybrid video compression to enable temporal scalability
TWI437886B (en) Parameter set and picture header in video coding
US20070133674A1 (en) Device for coding, method for coding, system for decoding, method for decoding video data
US20050198346A1 (en) Media coding for loss recovery with remotely predicted data units
KR20050032113A (en) System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
JP2007300455A (en) Arithmetic encoding apparatus, and context table initialization method in arithmetic encoding apparatus
US20190356911A1 (en) Region-based processing of predicted pixels
US20080069226A1 (en) Motion picture encoder, motion picture decoder,and method for generating encoded stream
US9020284B2 (en) Image encoding apparatus
WO2022042325A1 (en) Video processing method and apparatus, device, and storage medium
US9344720B2 (en) Entropy coding techniques and protocol to support parallel processing with low latency
US20140092987A1 (en) Entropy coding techniques and protocol to support parallel processing with low latency
WO2023223830A1 (en) Transmission device and method, management device and method, reception device and method, program, and image transmission system
US20060133499A1 (en) Method and apparatus for encoding video signal using previous picture already converted into H picture as reference picture of current picture and method and apparatus for decoding such encoded video signal
KR20060043050A (en) Method for encoding and decoding video signal
Miura et al. A simple compression method using movion vector of video encoder in the destributed system

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STCB Information on status: application discontinuation

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