Video encoding and decoding using un-equal error protection
First Claim
1. A method for encoding a video stream including a plurality of video frames, each frame comprising a plurality of blocks, the method comprising:
- selecting a first block substantially central to a frame and then selecting subsequent blocks in a substantially spiral manner such that each subsequent block adjoins a previously selected block;
continuing the selecting of subsequent blocks until the selected blocks form a contiguous group of blocks occupying at least a central section of the frame;
encoding the selected blocks in an order in which the selected blocks were selected using a processor;
applying a first level of error protection to encoded blocks within the central section; and
if any encoded blocks are located outside the central section, applying a second level of error protection, different than the first level of error protection, to the encoded blocks outside the central section.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, apparatuses and methods for encoding and decoding a video stream having a plurality of frames are disclosed. When encoding, for example, blocks are selected in spiral fashion until contiguous blocks of at least a central section of the frame are selected. The selected blocks are encoded in an order in which they were selected. A first level of error protection is applied to encoded blocks within the central section. A second, different level of error protection is applied to encoded blocks outside the central section. By using a spiral scan and selective error protection, blocks most likely to have information of interest to a viewer are identified and can be encoded and error-protected to provide better image quality in the area of interest when decoded.
-
Citations
20 Claims
-
1. A method for encoding a video stream including a plurality of video frames, each frame comprising a plurality of blocks, the method comprising:
-
selecting a first block substantially central to a frame and then selecting subsequent blocks in a substantially spiral manner such that each subsequent block adjoins a previously selected block; continuing the selecting of subsequent blocks until the selected blocks form a contiguous group of blocks occupying at least a central section of the frame; encoding the selected blocks in an order in which the selected blocks were selected using a processor; applying a first level of error protection to encoded blocks within the central section; and if any encoded blocks are located outside the central section, applying a second level of error protection, different than the first level of error protection, to the encoded blocks outside the central section. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for encoding a video stream having a plurality of video frames, each frame having a plurality of blocks, the apparatus comprising:
-
memory; and a processor programmed to execute instructions contained in the memory to; select a first block substantially central to a frame and then select subsequent blocks in a substantially spiral manner such that each subsequent block adjoins a previously selected block; continue the selecting of subsequent blocks until the selected blocks form a contiguous group of blocks occupying at least a central section of the frame; encode the selected blocks in an order in which the selected blocks were selected; apply a first level of error protection to encoded blocks within the central section; and if any encoded blocks are located outside the central section, apply a second level of error protection, different than the first level of error protection, to the encoded blocks outside the central section. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for decoding a video stream including a plurality of video frames, each frame comprising a plurality of blocks, the method comprising:
-
receiving a bitstream of encoded blocks associated with a frame; decoding the encoded blocks wherein the encoded blocks are encoded in an order corresponding to a first block substantially central to the frame, a second block adjacent to the first block, and subsequent blocks adjacent to a previously selected block in a spiral manner; responsive to data errors affecting decoding of a block of the encoded blocks, using a processor to perform data recovery operations by; attempting recovery of data related to the block using a first level of error protection when the block resides within a central section of the frame, the central section of the frame including at least a contiguous set of blocks about a center of the frame; and if the block resides outside the central section, performing one of; attempting recovery of data related to the block using a second level of error protection, wherein the second level of protection is different than the first level of error protection;
orskipping recovery of the data related to the block. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An apparatus for decoding a video stream having a plurality of video frames, each frame having a plurality of blocks, the apparatus comprising:
-
memory; and at least one processor programmed to execute instructions contained in the memory to; receive a bitstream of encoded blocks associated with a frame; decode the encoded blocks wherein the encoded blocks are encoded in an order corresponding to a first block substantially central to the frame, a second block adjacent to the first block, and subsequent blocks adjacent to a previously selected block in a spiral manner; responsive to data errors affecting decoding of a block of the encoded blocks, perform data recovery by; attempting recovery of data related to the block using a first level of error protection when the block resides within a central section of the frame, the central section of the frame including at least a contiguous set of blocks about a center of the frame; and if the block resides outside the central section, perform one of; attempting recovery of data related to the block using a second level of error protection, wherein the second level of protection is different than the first level of error protection;
orskipping recovery of the data related to the block. - View Dependent Claims (18, 19, 20)
-
Specification