System and method for intra-frame compression using predictive coding
Claim Score by NHIP
Abstract
A system and method for intra-frame compression using predictive coding utilizes some pixels of a macroblock of a video frame as reference pixels to perform predictive coding on the rest of the macroblock when some or all predefined reference pixels for performing predictive coding on the macroblock are not available in the video frame.

Term
Projected expiry 24 May 2032.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1A method for intra-frame compression, the method comprising:determining whether a predefined reference group of pixels for performing predictive coding on a target group of pixels of a video frame is available in the video frame, the predefined reference group of pixels not being a part of the target group of pixels;and if at least some of the pixels of the predefined reference group of pixels for performing predictive coding on the target group of pixels of the video frame are not available in the video frame, selecting a set of pixels from the target group of pixels and performing predictive coding on the rest of the target group of pixels using a reconstructed version of the set of pixels as reference pixels to compress the video frame.
- 10Broadest claimClaim Score 60, broad(NHIP)A system for intra-frame compression, the system comprising:a determining unit configured to determine whether a predefined reference group of pixels for performing predictive coding on a target group of pixels of a video frame is available in the video frame, the predefined reference group of pixels not being a part of the target group of pixels;and a coding unit configured to select a set of pixels from the target group of pixels and to perform predictive coding on the rest of the target group of pixels using a reconstructed version of the set of pixels as reference pixels to compress the video frame if at least some of the pixels of the predefined reference group of pixels for performing predictive coding on the target group of pixels of the video frame are not available in the video frame.
- 18A method for intra-frame compression, the method comprising:determining whether a predefined reference group of pixels for performing predictive coding on a rectangular macroblock of pixels of a video frame is available in the video frame, the predefined reference group of pixels not being a part of the rectangular macroblock, the predefined reference group of pixels including a horizontal subgroup of pixels bordering one edge of the rectangular macroblock and a vertical subgroup of pixels bordering another edge of the rectangular macroblock;and if at least one of the horizontal and vertical subgroups of pixels of the predefined reference group of pixels for performing predictive coding on the rectangular macroblock of the video frame are not available in the video frame, selecting a set of pixels from the rectangular macroblock and performing predictive coding on the rest of the rectangular macroblock using a reconstructed version of the set of pixels as reference pixels to compress the video frame.
Independent claims3
52 paragraphs, as filed
p-0002Embodiments of the invention relate generally to video coding systems and methods and, more particularly, to a system and method for intra-frame compression.
p-0003Video coding systems that utilize predictive coding to perform video compression, such as video coding systems according to H.264 video coding standard, generate predictions for target video data, e.g., a macroblock, of a video frame using reference video data from the video frame. A concern with such video coding systems is the availability of the reference video data. If some of the reference video data is not available from the video frame, the compression efficiency of the target video data may be reduced. Thus, there is a need for a system and method for intra-frame compression using predictive coding that can achieve compression efficiency when some or all of the reference video data is not available from the video frame for predictive coding the target video data of the video frame.
p-0004A system and method for intra-frame compression using predictive coding utilizes some pixels of a macroblock of a video frame as reference pixels to perform predictive coding on the rest of the macroblock when some or all predefined reference pixels for performing predictive coding on the macroblock are not available in the video frame.
p-0005In an embodiment, a method for intra-frame compression includes determining whether a predefined reference group of pixels for performing predictive coding on a target group of pixels of a video frame is available in the video frame, the predefined reference group of pixels not being a part of the target group of pixels, and, if at least some of the pixels of the predefined reference group of pixels for performing predictive coding on the target group of pixels of the video frame are not available in the video frame, selecting a set of pixels from the target group of pixels and performing predictive coding on the rest of the target group of pixels using a reconstructed version of the set of pixels as reference pixels to compress the video frame.
p-0006In an embodiment, a system for intra-frame compression includes a determining unit and a coding unit. The determining unit is configured to determine whether a predefined reference group of pixels for performing predictive coding on a target group of pixels of a video frame is available in the video frame, the predefined reference group of pixels not being a part of the target group of pixels. The coding unit is configured to select a set of pixels from the target group of pixels and to perform predictive coding on the rest of the target group of pixels using a reconstructed version of the set of pixels as reference pixels to compress the video frame if at least some of the pixels of the predefined reference group of pixels for performing predictive coding on the target group of pixels of the video frame are not available in the video frame.
p-0007In an embodiment, a method for intra-frame compression includes determining whether a predefined reference group of pixels for performing predictive coding on a rectangular macroblock of pixels of a video frame is available in the video frame, the predefined reference group of pixels not being a part of the rectangular macroblock, the predefined reference group of pixels including a horizontal subgroup of pixels bordering one edge of the rectangular macroblock and a vertical subgroup of pixels bordering another edge of the rectangular macroblock, and if at least one of the horizontal and vertical subgroups of pixels of the predefined reference group of pixels for performing predictive coding on the rectangular macroblock of the video frame are not available in the video frame, selecting a set of pixels from the rectangular macroblock and performing predictive coding on the rest of the rectangular macroblock using a reconstructed version of the set of pixels as reference pixels to compress the video frame.
Other aspects and advantages of embodiments of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, depicted by way of example of the principles of the invention.
<figref idrefs="DRAWINGS">FIG. 1</figref> is a schematic block diagram of a system for intra-frame compression in accordance with an embodiment of the invention.
<figref idrefs="DRAWINGS">FIG. 2</figref> depicts an exemplary target group of pixels of a video frame and a corresponding predefined reference group of pixels of the video frame for the system of <figref idrefs="DRAWINGS">FIG. 1</figref>.
<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates four intra prediction modes for a 16×16 block of luminance pixels according to H.264 video compression standard.
<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates nine intra prediction modes for a 4×4 block of luminance pixels according to H.264 video compression standard.
<figref idrefs="DRAWINGS">FIG. 5</figref> depicts an exemplary 4×4 array that includes DC coefficients (Amplitude of zero frequencies) of luminance pixel blocks B<b>5</b>-B<b>16</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> under a first scenario.
<figref idrefs="DRAWINGS">FIG. 6</figref> depicts an exemplary 4×4 array that includes DC coefficients of luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> under a second scenario.
<figref idrefs="DRAWINGS">FIG. 7</figref> depicts an exemplary 4×4 array that includes DC coefficients of luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> under a third scenario.
<figref idrefs="DRAWINGS">FIG. 8</figref> and <figref idrefs="DRAWINGS">FIG. 9</figref> depict two exemplary slice groups for the system of <figref idrefs="DRAWINGS">FIG. 1</figref>.
<figref idrefs="DRAWINGS">FIG. 10</figref> is a process flow diagram of a method for intra-frame compression accordance with an embodiment of the invention.
Throughout the description, similar reference numbers may be used to identify similar elements.
p-0018<figref idrefs="DRAWINGS">FIG. 1</figref> is a schematic block diagram of a system <b>100</b> for intra-frame compression in accordance with an embodiment of the invention. The system of <figref idrefs="DRAWINGS">FIG. 1</figref> can be used to achieve video compression efficiency when some of video reference pixels are not available from a video frame for predictive coding target video data of the video frame. For example, the system can be used to improve H.264 video compression systems and scalable video codec (SVC) systems. The system can also be used for video data archiving and compressing medical imaging data. The system of <figref idrefs="DRAWINGS">FIG. 1</figref> can be implemented in video processing servers, set top boxes and handheld multimedia devices.
p-0019As shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, the system <b>100</b> includes a predictive coding module <b>102</b>, a transforming module <b>104</b>, a quantization module <b>106</b>, and an entropy coding module <b>108</b>. Although these modules of the system are shown as being separate components, some or all of these modules may be integrated into fewer components in other embodiments. These modules of the system may be implemented in software, hardware, firmware, or a combination of software, hardware, and firmware.
p-0020In the embodiment of <figref idrefs="DRAWINGS">FIG. 1</figref>, the predictive coding module <b>102</b> includes a determining unit <b>110</b>, a coding unit <b>112</b>, and a decoding unit <b>113</b>. The determining unit is configured to determine whether a predefined reference group of pixels for performing predictive coding on a target group of pixels of a current video frame is available in the current video frame, where the predefined reference group of pixels is not a part of the target group of pixels. The coding unit is configured to select a set of pixels from the target group of pixels and to perform predictive coding on the rest of the target group of pixels using the set of pixels to generate residual data if some or all of the predefined reference group of pixels for performing predictive coding on the target group of pixels of the video frame is not available in the current video frame. For each pixel of the rest of the target group of pixels, the coding unit generates a prediction data using one or more reference pixels and subtracts the prediction data from the pixel to produce a residual data. The reference group of pixels may be compressed. The decoding unit is configured to decompress and reconstruct the reference group of pixels. In some embodiments, previously reconstructed reference group of pixels are input into the decoding unit. The decoding unit is also configured to decompress and reconstruct the set of pixels of the target group of pixels. The decoding unit may be configured to perform entropy decoding, inverse quantization, and inverse transformation on the compressed reference group of pixels and the compressed set of pixels of the target group of pixels. Although the decoding unit is shown as a part of the predictive coding module, the decoding unit may be separate from the predictive coding module in other embodiments.
p-0021The transforming module <b>104</b>, the quantization module <b>106</b>, and the entropy coding module <b>108</b> process the residual data from the predictive coding module <b>102</b> to produce a compressed version of the current video frame. The transforming module is configured to transform the residual data to generate transformed residual data. For example, the transforming module may perform a discrete cosine transform and a Hadamard transform on the residual data. The quantization module is configured to quantize the transformed residual data to generate quantized transformed residual data. The entropy coding module is configured to entropy code the quantized transformed residual data. For example, the entropy coding module may process the quantized transformed residual data coding to generate run-length symbols and then entropy code the run-length symbols.
p-0022<figref idrefs="DRAWINGS">FIG. 2</figref> depicts an exemplary target group of pixels of a video frame and a corresponding predefined reference group of pixels of the video frame for the system <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref>. As shown in <figref idrefs="DRAWINGS">FIG. 2</figref>, the exemplary target group of pixels includes a 16×16 block of luminance (luma) pixels. Thus, the 16×16 block of luminance pixels is a rectangular block of pixels, in particular, a square block of pixels. The 16×16 block of luminance pixels is split into sixteen 4×4 luminance pixel blocks B<b>1</b>-B<b>16</b>. The corresponding predefined reference group of pixels includes four top horizontal reference luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b> and T<b>4</b> (a horizontal subgroup of pixels) and four left vertical reference luminance pixel blocks L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> (a vertical subgroup of pixels), where each of these pixel blocks is also a 4×4 pixel block. The exemplary target group of pixels may be a macroblock of YCbCr 4:2:0 color format, which includes a 16×16 block of luminance pixels and two corresponding 8×8 blocks of chrominance (chroma) pixels. In the YCbCr color format, the macroblock of pixels includes a block of luminance pixels “Y,” blue-difference and red-difference blocks of chrominance pixels “Cb” and “Cr.” Predictive coding may be performed serially on the luminance pixels and the chrominance pixels, for example, first on the luminance pixels and then on the chrominance pixels. In some embodiments, the target group of pixels may have a color format different from the YCbCr 4:2:0 colors format such as a RGB (red, green, and blue) color format, which has different chrominance pixel block sizes.
p-0023The luminance pixel blocks B<b>1</b>-B<b>16</b> may be oriented along a particular direction, where the values of the pixels along the particular direction are close to each other. As an example, the luminance pixel blocks B<b>1</b>-B<b>16</b> may be oriented along the horizontal direction, where the values of the pixels in each row of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b> are close to each other. As another example, the luminance pixel blocks B<b>1</b>-B<b>16</b> may be oriented along the vertical direction, where the values of the pixels in each column of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b> are close to each other. As another example, the luminance pixel blocks B<b>1</b>-B<b>16</b> may be oriented according to a two dimensional plane, where the values of the luminance pixel blocks B<b>1</b>-B<b>16</b> are close to each other according to a linear function. When some or all of the pixel blocks of the predefined reference group of luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> are not available, some prediction modes may not be available according to H.264 video coding standard. Consequently, using current H.264 video standard, the luminance pixel blocks B<b>1</b>-B<b>16</b> may not be efficiently compressed in a prediction mode according to the data orientation of the luminance pixel blocks B<b>1</b>-B<b>16</b>. As described below, the system <b>100</b> allows for the use of more prediction modes for some of the luminance pixel blocks B<b>1</b>-B<b>16</b> so that these pixel blocks can be more efficiently compressed.
p-0024If some of the pixel blocks of the predefined reference group of luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> are not available, the determining unit <b>110</b> informs the coding unit <b>112</b> of the determined availability of the predefined reference group of luminance pixel blocks. The coding unit performs predictive coding on the 16×16 block of luminance pixels that is split into sixteen 4×4 luminance pixel blocks B<b>1</b>-B<b>16</b> in either an unmixed 16×16 intra mode or a mixed 16×16 intra mode. One bit is coded to indicate whether the unmixed 16×16 intra mode or the mixed 16×16 intra mode is used.
p-0025In the unmixed 16×16 intra mode, also referred to as the non-hybrid 16×16 intra mode, the coding unit <b>112</b> selects a set of 4×4 luminance pixel blocks from the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b> that depends which of the pixels blocks of the predefined reference group of luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b>, if any, are available. Then, the coding unit performs predictive coding on the selected luminance pixel blocks in a single prediction mode that is selected from four intra prediction modes for a 16×16 block of luminance (luma) pixels according to H.264 video compression standard. One or more additional bits may be coded to indicate the selected prediction mode. The four intra prediction modes for a 16×16 block of luminance pixels according to H.264 video compression standard are described below with reference to <figref idrefs="DRAWINGS">FIG. 3</figref>. The selection of the prediction mode is dependent on the availability of the reference luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b>. The coding unit then uses the selected luminance pixel blocks and the available reference luminance pixel blocks, if any, to perform predictive coding on the rest of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b> in at least one prediction mode, which may be one of the four intra prediction modes and may be dependent on the data orientation of the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>. In some embodiments, the coding unit may explicitly specify a prediction mode for the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b> regardless of the data orientation.
p-0026<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates four intra prediction modes for a 16×16 block of luminance pixels according to H.264 video compression standard. As shown in <figref idrefs="DRAWINGS">FIG. 3</figref>, the four intra prediction modes include a vertical prediction mode, a horizontal prediction mode, a DC prediction mode, and a plane prediction mode. In the four intra prediction modes, top horizontal (H) reference luma pixel blocks and left vertical (V) reference luma pixel blocks are used to performing predictive coding on the 16×16 block of luminance pixels. In the vertical prediction mode, also referred to as Mode <b>0</b>, predictive coding is performed on the 16×16 block of luminance pixels along the vertical direction using the top reference pixel blocks. In the horizontal prediction mode, also referred to as Mode <b>1</b>, predictive coding is performed on the 16×16 block of luminance pixels along the horizontal direction using the left reference pixel blocks. In the DC prediction mode, also referred to as Mode <b>2</b>, predictive coding is performed on the 16×16 block of luminance pixels using the mean of the top reference pixel blocks and the left reference pixel blocks. In the plane prediction mode, also referred to as Mode <b>3</b>, predictive coding is performed on the 16×16 block of luminance pixels using a linear function of the top reference pixel blocks and the left reference pixel blocks.
p-0027In the mixed 16×16 intra mode, also referred to as the hybrid 16×16 intra mode, the coding unit <b>112</b> selects a set of 4×4 luminance pixel blocks from the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b> that depends which of the pixels blocks of the predefined reference group of luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b>, if any, are available. Then, the coding unit performs predictive coding on the selected luminance pixel blocks in multiple prediction modes that are selected from nine intra prediction modes for a 4×4 block of luminance (luma) pixel according to H.264 video compression standard. Additional bits may be coded to indicate the selected prediction modes. The nine intra prediction modes for a 4×4 block of luminance pixels according to H.264 video compression standard are described below with reference to <figref idrefs="DRAWINGS">FIG. 4</figref>. The selection of the prediction modes is dependent on the specific availability of the reference luminance pixel blocks. The coding unit then uses the selected luminance pixel blocks and the available reference luminance pixel blocks of the predefined reference group of luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> to perform predictive coding on the rest of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b> in at least one prediction mode of the four prediction modes of <figref idrefs="DRAWINGS">FIG. 3</figref> and the nine prediction modes of <figref idrefs="DRAWINGS">FIG. 4</figref>, which may be dependent on the data orientation of the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>. In some embodiments, the coding unit may explicitly specify a prediction mode for the rest of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b> regardless of the data orientation.
p-0028<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates nine intra prediction modes for a 4×4 block of luminance pixels according to H.264 video compression standard. As shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, the nine intra prediction modes include a vertical prediction mode, a horizontal prediction mode, a DC prediction mode, a diagonal down-left prediction mode, a diagonal down-right prediction mode, a vertical-right prediction mode, a horizontal-down prediction mode, a vertical-left prediction mode, and a horizontal-up prediction mode. Reference luminance pixels A-M are used to performing predictive coding on the 4×4 block of luminance pixels in the nine intra prediction modes. In the vertical prediction mode, also referred to as 4×4 Mode <b>0</b>, predictive coding is performed on the 4×4 block of luminance pixels along the vertical direction using top reference pixel A-D. In the horizontal prediction mode, also referred to as 4×4 Mode <b>1</b>, predictive coding is performed on the 4×4 block of luminance pixels along the horizontal direction using left reference pixel I-L. In the DC prediction mode, also referred to as 4×4 Mode <b>2</b>, predictive coding is performed on the 4×4 block of luminance pixels using the mean of the top reference pixels A-D and the left reference pixels I-L. In the diagonal down-left prediction mode, also referred to as 4×4 Mode <b>3</b>, predictive coding is performed on the 4×4 block of luminance pixels along the diagonal down-left direction using the reference pixels A-M. In the diagonal down-right prediction mode, also referred to as 4×4 Mode <b>4</b>, predictive coding is performed on the 4×4 block of luminance pixels along the diagonal down-right direction using the reference pixels A-M. In the vertical-right prediction mode, also referred to as 4×4 Mode <b>5</b>, predictive coding is performed on the 4×4 block of luminance pixels along the vertical-right direction using the reference pixels A-M. In the horizontal-down prediction mode, also referred to as 4×4 Mode <b>6</b>, predictive coding is performed on the 4×4 block of luminance pixels along the horizontal-down direction using the reference pixels A-M. In the vertical-left prediction mode, also referred to as 4×4 Mode <b>7</b>, predictive coding is performed on the 4×4 block of luminance pixels along the vertical-left direction using the reference pixels A-M. In the horizontal-up prediction mode, also referred to as 4×4 Mode <b>8</b>, predictive coding is performed on the 4×4 block of luminance pixels along the horizontal-up direction using the reference pixels A-M.
p-0029Referring back to <figref idrefs="DRAWINGS">FIG. 2</figref>, in certain circumstances, some or all of the predefined reference luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> may not be available. For example, an intra macroblock may be present in inter frames and the neighboring pixels that are coded using other coding type such as inter coding or switchable intra coding may not be allowed to be used as reference to code the intra macroblock. The predefined reference luminance pixel blocks may be in switchable intra macroblocks and the target pixel blocks may be not in switchable intra macroblocks. An intra macroblock may be present on a slice boundary or a slice group boundary, where some or all of the reference pixels may not be available. A collection of macroblocks forms a slice, where the macroblocks present in the slice are not dependent on the macroblocks that are not contained in the slice. A collection of slices forms a slice group. An intra macroblock may be present at the frame boundaries where some or all of the reference pixels may not be available.
p-0030Three scenarios of the availability of the predefined reference luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> are considered for the operation of the system <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref>. The first scenario is that four top horizontal reference luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b> and T<b>4</b> (the horizontal subgroup of pixels) are not available. The second scenario is that four left vertical reference luminance pixel blocks L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> (the vertical subgroup of pixels) are not available. The third scenario is that all of the predefined reference luminance pixel blocks T<b>1</b>, T<b>2</b>, T<b>3</b>, T<b>4</b>, L<b>1</b>, L<b>2</b>, L<b>3</b> and L<b>4</b> are not available.
p-0031Under the first scenario, the determining unit <b>110</b> informs the coding unit <b>112</b> that the four top reference luminance pixel blocks T<b>1</b>-T<b>4</b> are not available. Then, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>-B<b>16</b> in either an unmixed 16×16 intra mode or a mixed 16×16 intra mode.
p-0032In the unmixed 16×16 intra mode under the first scenario, the coding unit <b>112</b> selects four 4×4 luminance pixel blocks B<b>1</b>-B<b>4</b>, the top row of the sixteen 4×4 luminance pixel blocks B<b>1</b>-B<b>16</b>. Then, the coding unit performs predictive coding on the four luminance pixel blocks B<b>1</b>-B<b>4</b> in an allowed prediction mode of the four intra prediction modes for a 16×16 block of luminance pixels according to H.264 video compression standard described in <figref idrefs="DRAWINGS">FIG. 3</figref>. When the four top reference luminance pixel blocks T<b>1</b>-T<b>4</b> are not available, the horizontal prediction mode (Mode <b>1</b>) and the DC prediction mode (Mode <b>2</b>) described in <figref idrefs="DRAWINGS">FIG. 3</figref> are allowed according to H.264 video compression standard with regard to predictive coding on a 16×16 block of luminance pixels.
p-0033In the mixed 16×16 intra mode under the first scenario, the coding unit <b>112</b> selects the four luminance pixel blocks B<b>1</b>-B<b>4</b>, the top row of the sixteen 4×4 luminance pixel blocks B<b>1</b>-B<b>16</b>. Then, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>-B<b>4</b> in multiple allowed prediction modes for a 4×4 block of luminance pixels according to H.264 video compression standard described in <figref idrefs="DRAWINGS">FIG. 4</figref>. When the four top reference luminance pixel blocks T<b>1</b>-T<b>4</b> are not available, the horizontal prediction mode (4×4 Mode <b>1</b>), the diagonal down-left prediction mode (4×4 Mode <b>3</b>), the vertical-left prediction mode (4×4 Mode <b>7</b>), and the DC prediction mode (4×4 Mode <b>2</b>) described in <figref idrefs="DRAWINGS">FIG. 4</figref> are allowed according to H.264 video compression standard with regard to predictive coding on a 4×4 block of luminance pixels. For example, predictive coding in the horizontal prediction mode may be performed on the luminance pixel blocks B<b>1</b>-B<b>2</b> and predictive coding in the DC prediction mode may be performed on the luminance pixel blocks B<b>3</b>-B<b>4</b>. In some embodiments, predictive coding on luminance pixel blocks B<b>1</b>-B<b>4</b> is performed using a single prediction mode, which may be one of the nine prediction modes of <figref idrefs="DRAWINGS">FIG. 4</figref>. In these embodiments, where the same prediction mode is being used for 4×4 luminance blocks, the prediction mode is collectively specified for the 4×4 luminance blocks as compared to H.264 specification of individually specifying a prediction mode for each 4×4 block.
p-0034In both the unmixed 16×16 intra mode and the mixed 16×16 intra mode under the first scenario, the decoding unit <b>113</b> reconstructs the luminance pixel blocks B<b>1</b>-B<b>4</b> and the available reference luminance pixel blocks L<b>1</b>-L<b>4</b>. The coding unit <b>112</b> performs predictive coding on the rest of the 16×16 block of luminance pixels, the luminance pixel blocks B<b>5</b>-B<b>16</b> under the first scenario, in at least one prediction mode, which may be one of the four prediction modes of <figref idrefs="DRAWINGS">FIG. 3</figref> and may be dependent on the data orientation of the luminance pixel blocks B<b>5</b>-B<b>16</b>. For example, when the luminance pixel blocks B<b>5</b>-B<b>16</b> are oriented along the vertical direction, the luminance pixel blocks B<b>5</b>-B<b>16</b> are coded according to the vertical prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref> and when the luminance pixel blocks B<b>5</b>-B<b>16</b> are oriented according to a two dimensional plane, the luminance pixel blocks B<b>5</b>-B<b>16</b> are coded according to the plane prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref>. In some embodiments, predictive coding on luminance pixel blocks B<b>5</b>-B<b>16</b> is performed, in at least one prediction mode, which may be one of the nine prediction modes of <figref idrefs="DRAWINGS">FIG. 4</figref> and may be dependent on the data orientation of the luminance pixel blocks B<b>5</b>-B<b>16</b>. In these embodiments, where the same prediction mode is being used for 4×4 luminance blocks, the prediction mode is collectively specified for the 4×4 luminance blocks as compared to H.264 specification of individually specifying a prediction mode for each 4×4 block.
p-0035In both the unmixed 16×16 intra mode and the mixed 16×16 intra mode under the first scenario, the transforming module <b>104</b> performs a transform, such as a discrete cosine transform, on residual data of the luminance pixel blocks B<b>1</b>-B<b>16</b>. Since the DC coefficients (amplitude of zero frequency) of the <b>30</b> luminance pixel blocks B<b>1</b>-B<b>16</b> are likely correlated, the DC coefficients (DCs) of the luminance pixel blocks B<b>1</b>-B<b>16</b> can be further compressed as follows. If the pixel blocks B<b>1</b>-B<b>4</b> are coded using the same prediction mode and the same reference group of pixels, the transforming module transforms the DC coefficients of the luminance pixel blocks B<b>1</b>-B<b>4</b> using a one dimensional four point transform, such as a Hadamard transform. The quantization module <b>106</b> then quantizes the transformed coefficients to generate run-length symbols. The entropy coding module <b>108</b> then entropy codes the run length symbols. The DC coefficients of the luminance pixel blocks B<b>5</b>-B<b>16</b> are placed in a 4×4 array and the first row of the 4×4 array is generated by duplicating the values of the second row into the first row. <figref idrefs="DRAWINGS">FIG. 5</figref> depicts an exemplary 4×4 array that includes DC coefficients of the luminance pixel blocks B<b>5</b>-B<b>16</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> under the first scenario. As shown in <figref idrefs="DRAWINGS">FIG. 5</figref>, the first row of the exemplary 4×4 array is duplicated from the second row of the exemplary 4×4 array. The 4×4 array of DC coefficients is then transformed, quantized and run-length entropy coded. In some embodiments, the transforming module may perform a 16×16 two dimensional discrete cosine transform on the residual data of the luminance pixel blocks B<b>1</b>-B<b>16</b>, where residual data is generated using only the predefined reference group of pixels.
p-0036Under the second scenario, the determining unit <b>110</b> informs the coding unit <b>112</b> that the four left vertical reference luminance pixel blocks L<b>1</b>-L<b>4</b> are not available. Then, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>-B<b>16</b> in either an unmixed 16×16 intra mode or a mixed 16×16 intra mode.
p-0037In the unmixed 16×16 intra mode under the second scenario, the coding unit <b>112</b> selects four luminance pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b>, the left column of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b>. Then, the coding unit performs predictive coding on the four luminance pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b> in an allowed prediction mode of the four intra prediction modes for a 16×16 block of luminance pixels according to H.264 video compression standard described in <figref idrefs="DRAWINGS">FIG. 3</figref>. When the four left reference luminance pixel blocks L<b>1</b>-L<b>4</b> are not available, the vertical prediction mode (Mode <b>0</b>) and the DC prediction mode (Mode <b>2</b>) described in <figref idrefs="DRAWINGS">FIG. 3</figref> are allowed according to H.264 video compression standard with regard to predictive coding on a 16×16 block of luminance pixels.
p-0038In the mixed 16×16 intra mode under the second scenario, the coding unit <b>112</b> selects four luminance pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b>, the left column of the luminance pixel blocks B<b>1</b>-B<b>16</b>. Then, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b> in multiple allowed prediction modes for a 4×4 block of luminance pixels according to H.264 video compression standard described in <figref idrefs="DRAWINGS">FIG. 4</figref>. When the four left reference luminance pixel blocks L<b>1</b>-L<b>4</b> are not available, the vertical prediction mode (4×4 Mode <b>0</b>), the horizontal-up prediction mode (4×4 Mode <b>8</b>) and the DC prediction mode (4×4 Mode <b>2</b>) described in <figref idrefs="DRAWINGS">FIG. 4</figref> are allowed according to H.264 video compression standard with regard to predictive coding on a 4×4 block of luminance pixels. For example, predictive coding in the vertical prediction mode may be performed on the luminance pixel blocks B<b>1</b> and B<b>5</b> and predictive coding in the DC prediction mode may be performed on the luminance pixel blocks B<b>9</b> and B<b>13</b>. In some embodiments, predictive coding on luminance pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b> is performed using a single prediction mode, which may be one of the nine prediction modes of <figref idrefs="DRAWINGS">FIG. 4</figref>. In these embodiments, where the same prediction mode is being used for 4×4 luminance blocks, the prediction mode is collectively specified for the 4×4 luminance blocks as compared to H.264 specification of individually specifying a prediction mode for each 4×4 block.
p-0039In both the unmixed 16×16 intra mode and the mixed 16×16 intra mode under the second scenario, the decoding unit <b>113</b> reconstructs the luminance pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b> and the available reference luminance pixel blocks T<b>1</b>-T<b>4</b>. The coding unit <b>112</b> performs predictive coding on the rest of the sixteen pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> under the second scenario, in at least one prediction mode, which may be one of the four prediction modes of <figref idrefs="DRAWINGS">FIG. 3</figref> and may be dependent on the data orientation of the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>. For example, when the rest of the pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>, are oriented along the horizontal direction, the pixel blocks are coded according to the horizontal prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref>. As another example, when the rest of the pixel blocks B<b>1</b>-B<b>16</b> are oriented according to a two dimensional plane, these pixel blocks are coded according to the plane prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref>. In some embodiments, predictive coding on rest of the pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>, is performed in at least one prediction mode, which may be one of the nine prediction modes of <figref idrefs="DRAWINGS">FIG. 4</figref> and may be dependent on the data orientation of these pixel blocks. In these embodiments, where the same prediction mode is being used for 4×4 luminance blocks, the prediction mode is collectively specified for the 4×4 luminance blocks as compared to H.264 specification of individually specifying a prediction mode for each 4×4 block.
p-0040In both the unmixed 16×16 intra mode and the mixed 16×16 intra mode under the second scenario, the transforming module <b>104</b> performs transform on residual data of the luminance pixel blocks B<b>1</b>-B<b>16</b>. For example, the transforming module may perform a transform, such as a discrete cosine transform, on the residual data of the luminance pixel blocks B<b>1</b>-B<b>16</b>. Since the DC coefficients of the luminance pixel blocks B<b>1</b>-B<b>16</b> are likely correlated, the DC coefficients of the luminance pixel blocks B<b>1</b>-B<b>16</b> can be further compressed as follows. If the pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b> are coded using the same prediction mode and the same reference group of pixels, the transforming module transforms the DC coefficients of the luminance pixel blocks B<b>1</b>, B<b>5</b>, B<b>9</b> and B<b>13</b> using a one dimensional four point transform, such as Hadamard Transform. The quantization module <b>106</b> then quantizes the transformed coefficients to generate run-length symbols. The entropy coding module <b>108</b> then entropy codes the run length symbols. The DC coefficients of the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> under the second scenario, are placed in a 4×4 array and the first column of the 4×4 array is generated by duplicating the values of the second column into the first column. <figref idrefs="DRAWINGS">FIG. 6</figref> depicts an exemplary 4×4 array that includes DC coefficients of the luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> under the second scenario. As shown in <figref idrefs="DRAWINGS">FIG. 6</figref>, the first column of the exemplary 4×4 array is duplicated from the second column. The 4×4 array of DC coefficients is then transformed, quantized and run-length entropy coded. In some embodiments, the transforming module may perform a 16×16 two dimensional discrete cosine transform on the residual data of the luminance pixel blocks B<b>1</b>-B<b>16</b>, where residual data is generated using only the predefined reference group of pixels.
p-0041Under the third scenario, the determining unit <b>110</b> informs the coding unit <b>112</b> that all of the predefined reference luminance pixel blocks T<b>1</b>-T<b>4</b> and L<b>1</b>-L<b>4</b> are not available. Then, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>-B<b>16</b> in either an unmixed 16×16 intra mode or a mixed 16×16 intra mode.
p-0042In the unmixed 16×16 intra mode under the third scenario, the coding unit <b>112</b> selects seven luminance pixel blocks B<b>1</b>-B<b>5</b>, B<b>9</b> and B<b>13</b>, the top row and the left column of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b>. Then, the coding unit performs predictive coding on the seven luminance pixel blocks B<b>1</b>-B<b>5</b>, B<b>9</b> and B<b>13</b> in an allowed prediction mode of the four intra prediction modes for a 16×16 block of luminance pixels according to H.264 video compression standard described in <figref idrefs="DRAWINGS">FIG. 3</figref>. When all of the predefined reference luminance pixels blocks T<b>1</b>-T<b>4</b> and L<b>1</b>-L<b>4</b> are not available, the DC prediction mode (Mode <b>2</b>) described in <figref idrefs="DRAWINGS">FIG. 3</figref> is allowed according to H.264 video compression standard with regard to predictive coding on a 16×16 block of luminance pixels.
p-0043In the mixed 16×16 intra mode under the third scenario, the coding unit <b>112</b> selects seven luminance pixel blocks B<b>1</b>-B<b>5</b>, B<b>9</b> and B<b>13</b>, the top row and the left column of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b>. Then, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>-B<b>5</b>, B<b>9</b> and B<b>13</b> in multiple allowed prediction modes for a 4×4 block of luminance pixels according to H.264 video compression standard described in <figref idrefs="DRAWINGS">FIG. 4</figref>. When all of the predefined reference luminance pixels blocks T<b>1</b>-T<b>4</b> and L<b>1</b>-L<b>4</b> are not available, the DC prediction mode (4×4 Mode <b>2</b>) for block B<b>1</b>; the vertical prediction mode (4×4 Mode <b>0</b>), the horizontal-up prediction mode (4×4 Mode <b>8</b>) and the DC prediction mode (4×4 Mode <b>2</b>) for blocks B<b>2</b>, B<b>3</b>, B<b>4</b>; the horizontal prediction mode (4×4 Mode <b>1</b>), the diagonal down-left prediction mode (4×4 Mode <b>3</b>), the vertical-left prediction mode (4×4 Mode <b>7</b>) and the DC prediction mode (4×4 Mode <b>2</b>) for blocks B<b>5</b>, B<b>9</b>, B<b>13</b>, as described in <figref idrefs="DRAWINGS">FIG. 4</figref> are allowed according to H.264 video compression standard with regard to predictive coding on a 4×4 block of luminance pixels. In some embodiments, predictive coding on luminance pixel blocks B<b>2</b>, B<b>3</b>, B<b>4</b>, B<b>5</b>, B<b>9</b> and B<b>13</b> is performed using a single prediction mode, which may be one of the nine prediction modes of <figref idrefs="DRAWINGS">FIG. 4</figref>. In these embodiments, where the same prediction mode is being used for 4×4 luminance blocks, the prediction mode is collectively specified for the 4×4 luminance blocks as compared to H.264 specification of individually specifying a prediction mode for each 4×4 block.
p-0044In both the unmixed 16×16 intra mode and the mixed 16×16 intra mode under the third scenario, the decoding unit <b>113</b> reconstructs the luminance pixel blocks B<b>1</b>-B<b>5</b>, B<b>9</b> and B<b>13</b>. The coding unit <b>112</b> performs predictive coding on the rest of the sixteen luminance pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> under the third scenario, in at least one prediction mode, which may be one of the four prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref> and may be dependent on the data orientation of the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>. As an example, when the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>, are oriented along the horizontal direction, these luminance pixel blocks are coded according to the horizontal prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref>. As another example, when the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>, are oriented along the vertical direction, these luminance pixel blocks are coded according to the vertical prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref>. As another example, when the rest of the luminance pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>, are oriented according to a two dimensional plane, these luminance pixel blocks are coded according to the plane prediction mode of <figref idrefs="DRAWINGS">FIG. 3</figref>. In some embodiments, predictive coding on rest of the pixel blocks B<b>1</b>-B<b>16</b>, the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b>, is performed in at least one prediction mode, which may be one of the nine prediction modes of <figref idrefs="DRAWINGS">FIG. 4</figref> and may be dependent on the data orientation of these pixel blocks. In these embodiments, where the same prediction mode is being used for 4×4 luminance blocks, the prediction mode is collectively specified for the 4×4 luminance blocks as compared to H.264 specification of individually specifying a prediction mode for each 4×4 block.
p-0045In both the unmixed 16×16 intra mode and the mixed 16×16 intra mode under the third scenario, the transforming module <b>104</b> performs a transform, such as a discrete cosine transform, on residual data of the luminance pixel blocks B<b>1</b>-B<b>16</b>. Since the DC coefficients of the luminance pixel blocks B<b>1</b>-B<b>16</b> are likely correlated, the DC coefficients of the luminance pixel blocks B<b>1</b>-B<b>16</b> can be further compressed as follows. If the pixel blocks B<b>1</b>-B<b>5</b>, B<b>9</b> and B<b>13</b> are coded using the same prediction mode and the same reference group of pixels, the transforming module transforms the DC coefficients of the luminance pixel blocks B<b>1</b>-B<b>5</b>, B<b>9</b> and B<b>13</b> along the horizontal and vertical directions using a one dimensional four point transform, such as a Hadamard Transform. The quantization module <b>106</b> then quantizes the transformed coefficients to generate run-length symbols. The entropy coding module <b>108</b> then entropy codes the run length symbols. The DC coefficients of the rest of the sixteen luminance pixel blocks, the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> under the third scenario, are placed in a 4×4 array. The first row of the 4×4 array is generated by duplicating the values of the second row into the first row, and the first column the 4×4 array is generated by duplicating the values of the second column into the first column. <figref idrefs="DRAWINGS">FIG. 7</figref> depicts an exemplary 4×4 array that includes DC coefficients of the luminance pixel blocks B<b>6</b>, B<b>7</b>, B<b>8</b>, B<b>10</b>, B<b>11</b>, B<b>12</b>, B<b>14</b>, B<b>15</b> and B<b>16</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> under the third scenario. As shown in <figref idrefs="DRAWINGS">FIG. 7</figref>, the first row is generated by duplicating the values of the second row into the first row and the first column is generated by duplicating the values of the second column into the first column. The 4×4 array of DC coefficients is then transformed, quantized and run-length entropy coded. In some embodiments, the transforming module may perform a 16×16 two dimensional discrete cosine transform on the residual data of the luminance pixel blocks B<b>1</b>-B<b>16</b>, where residual data is generated using only the predefined reference group of pixels.
p-0046An example of the operation of the system <b>100</b> for intra-compression of <figref idrefs="DRAWINGS">FIG. 1</figref> on the exemplary target group of pixels and the corresponding predefined reference group of pixels of <figref idrefs="DRAWINGS">FIG. 2</figref> is described below. The determining unit <b>110</b> determines whether all the reference pixel blocks are available and informs the coding unit <b>112</b> the availability of the reference pixel blocks. If the determining unit determines that all of the reference pixel blocks are available, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>-B<b>16</b> according to one of the four intra prediction modes described with reference to <figref idrefs="DRAWINGS">FIG. 3</figref>. If the determining unit determines that the availability of the reference data blocks falls into one of the three scenarios described above, the coding unit performs predictive coding on the luminance pixel blocks B<b>1</b>-B<b>16</b> in either an unmixed 16×16 intra mode or a mixed 16×16 intra mode under the determined scenario as described above. One mixed/unmixed bit is coded to indicate whether the unmixed 16×16 intra mode or the mixed 16×16 intra mode is used. Prediction mode of the rest of the target group of pixels is placed first in the bitstream followed by the mixed/unmixed bit and prediction mode of the set of pixels. If the prediction mode of the entire target group of pixels is specified as the prediction mode of the rest of the target pixels, a video decoder may determine in which prediction mode, i.e. the H.264 specified mode or the prediction mode according to an embodiment of the invention, the target group of pixels has been coded by determining the possibilities of prediction modes on the basis of availability of the predefined reference group of pixels. The transforming module <b>104</b> then perform a transform on the residual data to generate transformed residual data, the quantization module <b>106</b> quantizes the transformed residual data to generate quantized transformed residual data, and the entropy coding module <b>108</b> entropy codes the quantized transformed residual data under the determined scenario as described above.
p-0047Slices and slice groups may limit video frame compression efficiency and the system <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> compensates for the reduction in video frame compression efficiency. For example, reference pixels are not available for the macroblocks that are located on a slice, slice group or frame boundary and the achievable compression is limited. The system <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> utilizes some pixels of such macroblocks of a video frame as reference pixels to perform predictive coding on the rest of the macroblock when some or all predefined reference pixels for performing predictive coding on the macroblock are not available in the video frame. <figref idrefs="DRAWINGS">FIG. 8</figref> and <figref idrefs="DRAWINGS">FIG. 9</figref> depict two exemplary slice groups for the system of <figref idrefs="DRAWINGS">FIG. 1</figref>. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, each block is a macroblock and a frame includes two slice groups. The black macroblocks are in a first slice group and the white macroblocks are in a second slice group. As shown in <figref idrefs="DRAWINGS">FIG. 9</figref>, each block is a macroblock and a frame includes three slice groups A, B, and C. The macroblocks labeled with “A” are in the slice group A, the macroblocks labeled with “B” are in the slice group B, and the macroblocks labeled with “C” are in the slice group C. The slice group B includes three slices, BS<b>1</b>, BS<b>2</b>, and BS<b>3</b>. The macroblocks labeled with “BS<b>1</b>” are in the slice BS<b>1</b> of the slice group B, the macroblocks labeled with “BS<b>2</b>” are in the slice BS<b>2</b> of the slice group B, and the macroblocks labeled with “BS<b>3</b>” are in the slice BS<b>3</b> of the slice group B. The slice group C includes two slices, CS<b>1</b> and CS<b>2</b>. The macroblocks labeled with “CS<b>1</b>” are in the slice CS<b>1</b> of the slice group C and the macroblocks labeled with “CS<b>2</b>” are in the slice CS<b>2</b> of the slice group C. Macroblocks may be randomly assigned to slice groups and a map that maps macro blocks to slice groups in a frame may be required. For example, the location of the second macroblock of the first slice group in <figref idrefs="DRAWINGS">FIG. 8</figref> is the third macroblock in the frame.
p-0048The intra 8×8 block of chrominance pixels can be compressed in a similar manner as the 16×16 block of luminance pixels as both of these blocks use the same prediction modes. The intra 8×8 block of luminance can also be compressed in a similar manner as the 16×16 block of luminance pixels with minor modifications that are obvious according to the above described examples for the 16×16 block of luminance pixels.
p-0049<figref idrefs="DRAWINGS">FIG. 10</figref> is a process flow diagram of a method for intra-frame compression accordance with an embodiment of the invention. At block <b>1002</b>, whether a predefined reference group of pixels for performing predictive coding on a target group of pixels of a video frame is available in the video frame is determined, where the predefined reference group of pixels is not a part of the target group of pixels. At block <b>1004</b>, if at least some of the pixels of the predefined reference group of pixels for performing predictive coding on the target group of pixels of the video frame are not available in the video frame, a set of pixels from the target group of pixels is selected and predictive coding is performed on the rest of the target group of pixels using a reconstructed version of the set of pixels to compress the video frame.
p-0050Although the operations of the method herein are shown and described in a particular order, the order of the operations of the method may be altered so that certain operations may be performed in an inverse order or so that certain operations may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub-operations of distinct operations may be implemented in an intermittent and/or alternating manner.
p-0051Although specific embodiments of the invention that have been described or depicted include several components described or depicted herein, other embodiments of the invention may include fewer or more components to implement less or more functionality.
p-0052Although specific embodiments of the invention have been described and depicted, the invention is not to be limited to the specific forms or arrangements of parts so described and depicted. The scope of the invention is to be defined by the claims appended hereto and their equivalents.
10 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2017078685A1 | Cited by | United States of America | Search report |
| US10666945B2 | Cited by | United States of America | Search report |
| US12395648B2 | Cited by | United States of America | Applicant |
| US2017078669A1 | Cited by | United States of America | Search report |
| WO2016010880A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2015124876A1 | Cited by | United States of America | Pre-grant |
| US8462846B2 | Cited by | United States of America | Search report |
| US2017164009A1 | Cited by | United States of America | Search report |
| US2011002386A1 | Cited by | United States of America | Pre-grant |
| CN108781297A | Cited by | China | Search report |
| US2017078685A1 | Cited by | United States of America | Search report |
| US10313704B2 | Cited by | United States of America | Search report |
| US2017078685A1 | Cited by | United States of America | Search report |
| CN105164547A | Cited by | China | Search report |
| US11178404B2 | Cited by | United States of America | Applicant |
| US10212433B2 | Cited by | United States of America | Applicant |
| US2014334554A1 | Cited by | United States of America | Pre-grant |
| US11197022B2 | Cited by | United States of America | Applicant |
| US2017078685A1 | Cited by | United States of America | Pre-grant |
| US2011110425A1 | Cited by | United States of America | Pre-grant |
| US11368700B2 | Cited by | United States of America | Applicant |
| US2011305401A1 | Cited by | United States of America | Pre-grant |
| US9832487B2 | Cited by | United States of America | Search report |
| US12375713B2 | Cited by | United States of America | Applicant |
| US10652546B2 | Cited by | United States of America | Search report |
| US2011194603A1 | Cited by | United States of America | Pre-grant |
| US2017078669A1 | Cited by | United States of America | Search report |
| US8437562B2 | Cited by | United States of America | Search report |
| US2017078669A1 | Cited by | United States of America | Pre-grant |
| US9948937B2 | Cited by | United States of America | Applicant |
| US9894386B2 | Cited by | United States of America | Search report |
| US10666956B2 | Cited by | United States of America | Applicant |
| KR101464057B1 | Cited by | Republic of Korea | Search report |
| US10390021B2 | Cited by | United States of America | Search report |
| US9736486B2 | Cited by | United States of America | Search report |
| US2006262983A1 | Cites | United States of America | Pre-grant |
| US2007083578A1 | Cites | United States of America | Pre-grant |
| US2008049845A1 | Cites | United States of America | Pre-grant |
| US2009003447A1 | Cites | United States of America | Pre-grant |
| US2009010338A1 | Cites | United States of America | Pre-grant |
| US2009097557A1 | Cites | United States of America | Pre-grant |
| US2009116549A1 | Cites | United States of America | Pre-grant |
2 members in 1 office; this record represents the family
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 34690608 | United States of America | A | |
| US20080346906 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2010166327A1 | United States of America | A1 | |
| US8542938B2 | United States of America | B2 |
51 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 1 appeal.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Correspondence Address ChangeC.AD | C.AD | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Appeal Brief FiledAP.B | AP.B | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Notice of Appeal FiledN/AP | N/AP | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
40 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20100166327
- Publication, DOCDB
- 2010166327
- Publication, EPODOC
- US2010166327
- Application
- 12346906
- Application, DOCDB
- 34690608
- Application, EPODOC
- US20080346906
Titles
- English
- SYSTEM AND METHOD FOR INTRA-FRAME COMPRESSION USING PREDICTIVE CODING
Patent term adjustment
- A delay
- +799 daysthe office missed an examination deadline
- B delay
- +527 dayspendency past three years
- Overlap
- −22 daysdelays counted once
- Applicant delay
- −64 days
- Net adjustment
- 1,240 days
Classification
- CPC, 8
- H04N19/48
- H04N19/105
- H04N19/11
- H04N19/134
- H04N19/176
- H04N19/46
- H04N19/593
- H04N19/61
- IPC, 1
- G06K9 36
- USPC, 1
- 382236000