Video coding method and apparatus that predicts macroblock...

Pulse or digital communications – Bandwidth reduction or expansion – Television or motion video signal

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C375S240000, C375S240030, C375S240120, C375S240050, C375S240150, C382S236000

Reexamination Certificate

active

06795503

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention relates to a coding method and apparatus that codes video signals of a plurality of macroblocks and generates, from the coded video signals, video packets with a code length equal to or less than a certain value, more particularly to a coding apparatus that, when adding the video signals of the macroblock just coded would make the code length of the video packet exceed a limit value, outputs the video-signal code up to the macroblock coded previously for use as a video packet, and recodes the video signals of the macroblock just coded.
Many video-coding systems divide a picture into a large number of rectangular blocks and code each block with reference to spatially neighboring blocks in the same picture. For example, a block may be coded by predicting the content of the block from the contents of neighboring blocks that have already been coded, and coding the difference between the predicted content and the actual content. Alternatively, the motion vector of a block may be predicted and coded in this way. Motion vectors are employed when the content of a block is predicted from a block in a preceding or following picture, a process referred to as inter-coding.
For brevity, the term ‘predict’ will sometimes be used below to denote both predicting a value and taking the difference between the predicted value and the actual value.
In color video coding, a macroblock is a group of luminance and chrominance blocks occupying the same picture area. All blocks in the macroblock are coded in the same way, for example, by use of the same motion vector. The coded length of a macroblock, referred to below as the code length, is highly variable, depending on the content of the macroblock and how closely it can be predicted.
For transmission over communication links, coded video signals are often divided into packets, referred to herein as video packets. A video packet has a length that does not exceed a fixed limit, and includes a variable number of coded macroblocks. To reduce the propagation of errors due to lost or corrupted video packets, the macroblocks in a video packet are not coded with reference to spatially neighboring macroblocks in other video packets.
In a conventional coding system, a video packet is assembled by storing coded macroblocks one by one in a buffer until the total code length of the stored macroblocks reaches or exceeds a predetermined threshold value. If the total code length at this point is still within the video-packet limit, all of the coded macroblocks in the buffer are output as a video packet. If the total code length exceeds the video-packet limit, all but the last coded macroblock are output as a video packet, and the last macroblock is saved for inclusion in the next video packet. If the last macroblock was coded with reference to any of the macroblocks just output, however, it is coded again, this time without reference to those macroblocks, before being placed in the next video packet.
A problem in this system is that if the threshold value is set high enough to avoid wasting available video-packet space, the last macroblock will often fail to fit into the video packet, and will have to be recoded. This frequent repeated coding lowers the efficiency of the coding process.
A conventional coding system based on the MPEG-4 standard will now be described in more detail, to provide necessary background for the later description of an embodiment of the invention.
The MPEG-4 standard is a standard devised by the Moving Picture Experts Group of the ITU-T (Telecommunication Standardization Sector of the International Telecommunications Union). It was preceded by the MPEG-1 and MPEG-2 standards. The MPEG-1 standard is applied in CD-ROM, and is also used in video CD and karaoke, and in video communication over networks. The MPEG-2 standard is applied in existing television and HDTV, or in stored-media systems and communication systems.
A feature of the MPEG-4 standard that can be mentioned in contrast to the MPEG-1 and MPEG-2 standards is that it uses differing constituent elements such as objects and scenes having various characteristics, and the information of those objects and scenes is compressed and coded with variable length independently of the bit rate.
A coding apparatus based on the MPEG-4 standard and an outline of the coding will be described below.
FIG. 8
is a block diagram of a conventional coding apparatus based on the MPEG-4 standard as shown in, for example, the document ‘All about MPEG-4’ (Kogyo Chosakai), p. 39 to p. 40.
A video object plane (VOP), which is the basic video unit dealt with by MPEG-4, is divided into macroblocks; the video signals (luminance signal Y and color difference signals Cb and Cr) of the macroblocks are input to the coding apparatus
1
of
FIG. 8
, which outputs, in a bit stream, video packets including the coded video signals. The video packets output from the coding apparatus
1
are stored temporarily in a receive buffer
31
in a decoding apparatus
2
, then are decoded by a decoding circuit
32
.
The coding apparatus
1
comprises: a subtractor
11
to which the input video signal is input as a first input; a DCT circuit
12
that executes a direct cosine transform (DCT) on the output signal of the subtractor
11
; a quantizing circuit
13
that quantizes and outputs the output signal of the DCT circuit
12
; a DC/AC prediction circuit
14
that predicts the DC and AC components of the DCT coefficients of the relevant blocks in the video object plane (VOP) to which the-input macroblocks belong; a variable-length coding (VLC) circuit
15
that variable-length-codes the DCT coefficients and motion vectors (described below) of a plurality of macroblocks, divides them into video packets, then outputs them in a bit stream; a dequantizing circuit
16
that dequantizes the DCT coefficients output from the quantizing circuit
13
; an inverse DCT circuit
17
that executes an inverse discrete cosine transform on the dequantized DCT coefficients; an adder
18
to which the inverse-discrete-cosine-transformed video signal is input as a first input; a memory
19
that stores the output of the adder
18
; a predicted picture creation circuit
20
to which the video signal stored in the memory
19
is input as a first input and the output of a motion detection circuit
21
(described below) is input as a second input, which creates a predicted picture of the next macroblock and outputs it to the subtractor
11
and adder
18
; the motion detection circuit
21
to which the video signal stored in the memory
19
is input as a first input and the video signal of a macroblock of interest is input as a second input, which detects the macroblock differing least from the macroblock of interest, outputs it to the predicted picture creation circuit
20
, and outputs a motion vector, which is a signal indicating motion toward the detected macroblock, to a motion-vector prediction circuit
22
(described below); the motion-vector prediction circuit
22
, which predicts motion vectors; and a control circuit
23
that controls the operation of the above circuits.
The video signals input to the coding apparatus
1
at each macroblock will now be described.
FIG. 9
is a diagram showing the video signals of the individual macroblocks input to the coding apparatus
1
of FIG.
8
.
As shown in
FIG. 9
, a single video object plane (VOP) is divided into a plurality of macroblocks, at intervals of sixteen lines and sixteen pixels. The luminance block Y of each macroblock is further divided into sub-blocks (denoted blocks below) at intervals of eight lines and eight pixels. The color-difference blocks Cb and Cr comprise eight lines and eight pixels. When the picture format of the input video signal is 4:2:0 as in MPEG-4 version 1, the sixteen pixels×sixteen lines of the luminance signal (Y) has the same size on the screen as the eight pixels×eight lines of the two color-difference signals (Cb, Cr). A single macroblock accordingly comprises six blocks of eight pixels×eight line

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Video coding method and apparatus that predicts macroblock... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Video coding method and apparatus that predicts macroblock..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Video coding method and apparatus that predicts macroblock... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3215118

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.