Coded data generation or conversion – Digital code to digital code converters – To or from variable length codes
Reexamination Certificate
2002-02-21
2003-10-21
Jeanglaude, Jean Bruner (Department: 2819)
Coded data generation or conversion
Digital code to digital code converters
To or from variable length codes
C341S094000, C348S403100, C348S423100, C382S245000, C382S246000
Reexamination Certificate
active
06636168
ABSTRACT:
TECHNICAL FIELD
The present invention relates to a variable length coding method and a variable length coding apparatus and, more particularly, to a variable length coding method and a variable length coding apparatus for realizing variable length coding according to MPEG4 and H.263 as standards of the picture coding system.
BACKGROUND ART
As examples of the system for coding or decoding moving picture data using band compression technology, there are an MPEG (Moving Picture Coding Experts Group) system that is standardized by the ISO, an H.263 system that is recommended by the ITU-T and the like. Basically in these systems, a screen is divided into blocks, each of which is composed of plural pixels, with utilizing correlation within the screen, then DCT (Discrete Cosine Transform) as one of the orthogonal transform system is performed on data in this block, and respective processes of quantization and VLC (variable Length Code) are carried out, thereby compressing the picture data.
In this VLC process, with respect to DCT coefficients obtained as a result of the DCT, Run which is the number of preceding coefficients of zero, Level which is a value of a non-zero coefficient and Last indicating whether the non-zero coefficient is the last one or not are taken as a combination of (Last, Run, Level), and a unique code is assigned thereto, thereby performing coding.
In MPEG4, a VLC table for the assignment of unique codes is defined, while three escape modes are applied to conform to cases where VLCs are not defined in this VLC table. In the first escape mode, with respect to the combination of (Last, Run, Level), LMAX which is the maximum Level value corresponding to Last and Run in the VLC table is subtracted from the absolute value of Level, and thereafter the VLC is performed again on the obtained result using the VLC table. In the second escape mode, with respect to the combination of (Last, Run, Level), a value which is obtained by adding 1 and RMAX as the maximum Run value corresponding Last and Level in the VLC table is subtracted from the value of Run, and thereafter the VLC is performed again on the obtained result using the VLC table. In the third escape mode, the above-mentioned combination is converted into a FLC (Fixed Length Code).
In the H.263 system and the like, the VLC table for assignment of unique codes is defined as in MPEG4, while the escape mode is only a mode of converting a combination into a FLC.
Hereinafter, a prior art process chart of the VLC in the MPEG4 will be described with reference to FIG.
12
.
Initially, the description will be given of a variable length coding method by which, from the DCT coefficients rearranged in an one-dimensional array, Run as the number of preceding zero coefficients, Level as a non-zero coefficient value, and Last indicating whether the non-zero coefficient is the last one are taken as a combination of (Last, Run, Level), then a VLC process is carried out for assigning a unique code to the combination, and when the VLC assignment cannot be performed, three escape modes are applied.
FIG. 12
is a chart diagram for explaining the conventional variable length coding method.
In
FIG. 12
, ◯ (white circle) means that data is determined, and numerals
01
to
09
denote process steps for respective coefficients. Further, Coding B corresponds to the first escape mode, Coding C corresponds to the second escape mode, and Coding D corresponds to the third escape mode.
Hereinafter, the process steps for respective coefficients are described.
In Coding A, the process
01
is a process that is activated by Last, Run and Level (i.e., the tact that there are all data at the input/output time), and when a code corresponding to the combination of (Last, Run, Level) exists in a VLC table, Code
1
is outputted to the process
09
, thereby completing the process. On the other hand, when the code corresponding to the combination of (Last, Run, Level) does not exist in the VLC table, a code indicating “Not exist” is outputted to Coding B.
In the Coding B, the process
02
is a process that is activated by Last and Run in the case where the corresponding code does not exist in the VLC table in the process
01
, and LMAX as the maximum Level value corresponding to the combination of (Last, Run) is outputted to process
03
.
The process
03
is a process that is activated by LMAX, and a process of subtracting LMAX from the Level value is carried out and a resulting NewLevel value to process
04
is outputted.
The process
04
is a process that is activated by Last, Run and Newlevel, and when a code corresponding to the combination of (Last, Run, Newlevel) exists in a VLC table, a Code
2
is outputted to the process
09
, thereby completing the process. On the other hand, when the code corresponding to the combination of (Last, Run, Newlevel) does not exist in the VLC table, a code indicating “Not exist” is outputted to Coding C.
In the Coding C, the process
05
is a process that is activated by Last and Level in the case where the corresponding code does not exist in the VLC table in the process
04
, and RMAX as the maximum Run value corresponding to the combination of (Last, Level) is outputted to the process
06
.
The process
06
is a process that is activated by RMAX, and a process of subtracting the sum of RMAX and 1 from the Run value is carried out and a resulting NewRun value is outputted to the process
07
.
The process
07
is a process that is activated by Last, NewRun and Level, and when a code corresponding to the combination of (Last, NewRun, Level) exists in a VLC table, a Code
3
is outputted to the process
09
, thereby completing the process. On the other hand, when the code corresponding to the combination of (Last, NewRun, Level) does not exist in the VLC table, a code indicating “Not exist” is outputted to Coding D.
In the Coding D, the process
08
is a process of converting Last, Run and Level by FLC in the case where the corresponding code does not exist in the VLC table in the process
07
, and a Code
4
as a FLC is outputted to the process
09
.
In the process
09
, an effective code is activated among the Code
1
-Code
4
and the activated code is outputted.
FIG. 13
is a diagram summarizing processing contents of each cycle of the prior art variable length coding method.
Hereinafter, the operation of each cycle will be described. Here, the process contents in the figure are shown inside parentheses.
Initially, in the first cycle (
1
T), a process as normal VLC that is activated by Last, Run and Level is carried out (NORMAL VLC), and a judgement as to whether the result of the normal VLC exists in the table is made (NORMAL VLC judgement).
In the second cycle (
2
T), when the result of the normal VLC exists in the table in the
1
T process, the result is outputted (VLC result). on the other hand, when the result of the normal VLC does not exist in the table, LMAX as the maximum Level value corresponding to Last and Run is subtracted from the Level value, thereby obtaining a NewLevel value (LMAX).
The third cycle (
3
T) is a process that is activated by LMAX, in which VLC corresponding to the combination of Last, Run and NewLevel is carried out (LMAX VLC). Then, a judgement as to whether the result of the VLC corresponding to the combination of Last, Run and NewLevel exists in the table is made (LMAX VLC judgement).
In the fourth cycle (
4
T), when the LMAX VLC result exists in the table in the
3
T process, the result is outputted (VLC result). On the other hand, when the LMAX VLC result does not exist in the table, a value which is obtained by adding RMAX as the maximum Run value corresponding to Last and Level and 1 is subtracted from the Run value, thereby obtaining a NewRun value (RMAX).
The fifth cycle (
5
T) is a process that is activating by RMAX, in which VLC corresponding to the combination of Last, NewRun and Level is carried out (RMAX VLC). Then, a judgement as to whether the result of the VLC corresponding to the combination of Last, NewRun and Level exists in the table is made (RMAX VLC judgement
Nakamura Tsuyoshi
Ohashi Masahiro
Jeanglaude Jean Bruner
Parkhurst & Wendel L.L.P.
LandOfFree
Variable length coding method and variable length coding... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Variable length coding method and variable length coding..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Variable length coding method and variable length coding... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3158591