+

US7135997B2 - Method and apparatus for CAVLC decoding - Google Patents

Method and apparatus for CAVLC decoding Download PDF

Info

Publication number
US7135997B2
US7135997B2 US11/016,435 US1643504A US7135997B2 US 7135997 B2 US7135997 B2 US 7135997B2 US 1643504 A US1643504 A US 1643504A US 7135997 B2 US7135997 B2 US 7135997B2
Authority
US
United States
Prior art keywords
cavlc
value
length
tables
bitstream
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.)
Expired - Fee Related
Application number
US11/016,435
Other versions
US20050156761A1 (en
Inventor
Jun Hwan Oh
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.)
LG Electronics Inc
Original Assignee
LG Electronics 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 LG Electronics Inc filed Critical LG Electronics Inc
Assigned to LG ELECTRONICS INC. reassignment LG ELECTRONICS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OH, JUN HWAN
Publication of US20050156761A1 publication Critical patent/US20050156761A1/en
Application granted granted Critical
Publication of US7135997B2 publication Critical patent/US7135997B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Definitions

  • the present invention relates to a variable length decoding of H.264/Advanced Video Coding (AVC) video decoder, and more particularly, to a method for referring fast a context-based adaptive variable length coding (CAVLC) table prescribed by a H.264/AVC standard.
  • AVC Advanced Video Coding
  • CAVLC context-based adaptive variable length coding
  • DMB digital multimedia broadcasting
  • the video standard relates to a video bitstream syntax and a decoder.
  • the DMB video decoder according to this standard uses two variable length coding types for efficient data bit assignment.
  • a Universal Variable Length Coding (UVLC) type is used for data except transformed coefficients of video data and a CAVLC type is used for transformed coefficients of video data.
  • UVLC Universal Variable Length Coding
  • An object of the present invention is to provide a method and an apparatus for solving calculation complexity in a method for referring the CAVLC table in all systems that apply a video decoding type prescribed by the H.264/AVC standard.
  • the step of re-sorting the order of the codeword length is performed using a binary tree.
  • the step of re-sorting the order of the codeword length is so performed as to compare a codeword length last if the codeword length consisting of zero within the same column of the CAVLC length table is not a lowermost level of the binary tree.
  • the step of re-sorting the order of the codeword length is performed in such an order that a short codeword length is sorted first, namely, a codeword length having a high possibility of generation is sorted first.
  • the present invention sequentially reads data on the bitstream as much as a length suggested by the re-sorted table, a memory access time is reduced and a calculation complexity in comparing the CAVLC codewords is reduced.
  • FIG. 6 is a view illustrating a CAVLC codeword value table of total_zeros including Total_Coeff conforming to H.264/AVC standard for explaining a CAVLC decoding method according to the present invention
  • FIG. 1 is a view illustrating a binary search tree structure for explaining a basic principle of the present invention.
  • FIG. 2 is a view illustrating a CAVLC table and a binary tree structure thereof according to the present invention.
  • a table of FIG. 2 exemplifies a Total_Zeros table including Total_Coeff among the CAVLC tables, in which a first column is converted into a binary tree structure.
  • a horizontal axis of the table represents Total_Coeff(coeff_token), namely, the number of coefficients having a value of non-zero among variable length coded coefficients and a vertical axis of the table represents total_zero, namely, the number of coefficients having a value of zero among the variable length coded coefficients.
  • Codeword values are represented on an inner region formed by the horizontal axis and the vertical axis. The codeword values conform to the H.264/AVC CAVLC standard.
  • the CAVLC table can be seen in a hierarchical structure and the codewords can be sorted in such an order that a codeword length having a high possibility of generation is sorted first.
  • the codewords are sorted in such an order that a codeword length having a high possibility of generation (having a short codeword length) is sorted first.
  • a depth of the binary tree has a close relation to a calculation complexity of searching values. That is, as the depth of the binary tree becomes deep and the structure of the binary tree becomes asymmetric, the calculation complexity of searching is increased.
  • a table for sorting codeword lengths of each table needs to be newly organized in order to construct and compare the codewords using the codeword length for a reference, which is illustrated in FIG. 3 .
  • the K value is increased one unit.
  • the codeword value of the table that corresponds to the increased K value is zero, the process is terminated.
  • the step S 30 is performed (S 70 ). That is, a block where a number is not mentioned in the table of FIG. 3 is zero, which means there does not exist a codeword to read any more, so that the process is terminated.
  • the read value is 010, which is not zero, and it is compared with a value on the CAVLC table (S 50 ).
  • the CAVLC parser 30 determines a relevant CAVLC table using tables stored in a CAVLC table 40 and a sort table 50 and performs comparisons using the method of the present invention by referring to re-sorted tables. That is, the above-mentioned CAVLC length and value tables are stored in the CAVLC table 40 and tables re-sorted using the binary tree of the present invention are stored in the sort table 50 .
  • the variables of the CAVLC lengths and values which are the parsing results are stored in a relevant buffer (length, code value buffer) 60 and inverse-zigzag scanned by a re-order element 70 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A CAVLC decoding method and apparatus is provided. In the method for decoding a coded bitstream using a CAVLC length table and a CAVLC value table, CAVLC length tables are re-sorted in an order of a codeword length and the coded bitstream is decoded using the re-sorted length table. Therefore, since data on a bitstream is sequentially read as much as a length suggested by the re-sorted table of the present invention, a memory access time is reduced and calculation complexity for comparing the CAVLC codewords is reduced.

Description

This application claims the benefit of the Korean Application No. 10-2003-0093197 filed on Dec. 18, 2003, which is hereby incorporated by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a variable length decoding of H.264/Advanced Video Coding (AVC) video decoder, and more particularly, to a method for referring fast a context-based adaptive variable length coding (CAVLC) table prescribed by a H.264/AVC standard.
2. Discussion of the Related Art
A digital multimedia broadcasting (DMB) video standard conforms to a H.264/AVC standard.
The video standard relates to a video bitstream syntax and a decoder. The DMB video decoder according to this standard uses two variable length coding types for efficient data bit assignment.
According to this standard, a Universal Variable Length Coding (UVLC) type is used for data except transformed coefficients of video data and a CAVLC type is used for transformed coefficients of video data.
The variable length coding type is a coding type for assigning the number of bits having a different length to a symbol of each signal depending on statistical characteristics of signal generation frequency using statistical characteristics of a signal. The variable length coding type is constantly used in a related art video compression method.
The CAVLC type prescribed by the H.264/AVC standard adopts a method for decoding a signal using a table that corresponds to variables such as TotalCoeff, TrailingOnes, total_zero, run_before depending on transformed coefficient characteristics of video data.
A related art method for performing the variable length decoding uses a method for reading a code that corresponds to a code length defined by the variable length decoding table from a bitstream to compare the code with a code of the variable length decoding table.
For the worst case, all code values of the table should be compared in order to apply this method, thus a process for accessing a bitstream memory in succession is required. Therefore, there has been a problem that a process speed of the decoder is lowered due to the above-described inefficient process.
SUMMARY OF THE INVENTION
Accordingly, the present invention is directed to a method and an apparatus for CAVLC decoding that substantially obviate one or more problems due to limitations and disadvantages of the related art.
An object of the present invention is to provide a method and an apparatus for solving calculation complexity in a method for referring the CAVLC table in all systems that apply a video decoding type prescribed by the H.264/AVC standard.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, there is provided a CAVLC decoding method for decoding a coded bitstream using CAVLC length tables and CAVLC value tables, the method including the steps of: re-sorting the CAVLC length tables in an order of a codeword length; and decoding the coded bitstream using the re-sorted length tables.
The step of re-sorting the order of the codeword length is performed using a binary tree.
The step of re-sorting the order of the codeword length is so performed as to compare a codeword length last if the codeword length consisting of zero within the same column of the CAVLC length table is not a lowermost level of the binary tree.
The step of re-sorting the order of the codeword length is performed in such an order that a short codeword length is sorted first, namely, a codeword length having a high possibility of generation is sorted first.
The step of decoding the coded bitstream includes the steps of: selecting a table that corresponds to a variable desired to be decoded among the re-sorted tables; reading the bitstream as much as the codeword length sequentially starting from a first codeword length in a reference column within the selected table; comparing a value of the read bitstream with a value on the CAVLC value table, held by a codeword length that coincides with the read codeword length in a column that coincides with the reference column within the CAVLC length table; if the value of the bitstream value coincides with the value on the CAVLC value table as a result of the comparison, storing a variable value at that point.
The reference column is a column selected from information included in a header portion of a packet enclosing the bitstream and information of a decoded adjacent block.
In another aspect of the present invention, there is provided a CAVLC decoding method for decoding a coded bitstream using CAVLC length tables and CAVLC value tables, the method which includes the steps of: selecting a table that corresponds to a variable desired to be decoded among tables in which the CAVLC length tables set and inputted in advance are re-sorted; reading the bitstream as much as the codeword length sequentially starting from a first codeword length in a reference column within the selected table; comparing a value of the read bitstream value with a value on the CAVLC value table, held by a codeword length that coincides with the read codeword length in a column that coincides with the reference column within the CAVLC length table; if the value of the bitstream coincides with the value on the CAVLC value table as a result of the comparison, storing a variable value at that point.
In a further another aspect of the present invention, there is provided a CAVLC decoding apparatus for decoding a coded bitstream using CAVLC length tables and CAVLC value tables, the apparatus including: a memory in which the CAVLC length tables and the CAVLC value tables are stored; a memory in which the CAVLC length tables are re-sorted and stored; and a CAVLC parser for receiving the bitstream to parse relevant variables using the re-sorted length table, the CAVLC length table, and the CAVLC value table.
The apparatus further includes a stream controller for delivering an input bitstream to the CAVLC parser according to an sorted order in the re-sorted table.
The re-sorted tables are obtained by re-sorting the CAVLC length tables according to a codeword length order.
Therefore, since the present invention sequentially reads data on the bitstream as much as a length suggested by the re-sorted table, a memory access time is reduced and a calculation complexity in comparing the CAVLC codewords is reduced.
It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention. In the drawings:
FIG. 1 is a view illustrating a general binary search tree;
FIG. 2 is a view illustrating a CAVLC table representing Total_Zeros including Total_Coeff and a binary tree structure thereof according to the present invention;
FIG. 3 is a view illustrating a CAVLC codeword length table representing Total_Zeros including Total_Coeff re-sorted according to the present invention;
FIGS. 4A and 4E are views illustrating a codeword length table of each CAVLC variable for use in H.264/AVC re-sorted according to the present invention;
FIG. 5 is a view illustrating a CAVLC codeword length table of total_zeros including Total_Coeff conforming to H.264/AVC standard for explaining a CAVLC decoding method according to the present invention;
FIG. 6 is a view illustrating a CAVLC codeword value table of total_zeros including Total_Coeff conforming to H.264/AVC standard for explaining a CAVLC decoding method according to the present invention;
FIG. 7 is a flowchart illustrating a CAVLC decoding process according to the present invention; and
FIG. 8 is a block diagram schematically illustrating an inner construction of a CAVLC decoder according to the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
Though a general terminology widely and currently used has been adopted in describing the present invention, a terminology arbitrarily selected by the applicant has been used for a certain case. In that case, the specific meaning thereof is explained in the relevant part of the detailed description of the invention. Accordingly, the present invention should not be understood by the simple denotation of the terminology but by the meaning conveyed by the terminology.
The basic concept of the VLC method used in the present invention is to reduce a bit assignment length of an average encoding signal in encoding a generated signal by assigning the small number of bits for a symbol of a signal having a large statistical characteristics and assigning the large number of bits for a symbol of a signal having a small statistical characteristics depending on statistical characteristics of data generation.
A basic principle of the method is briefly explained by a Huffinan method. Since processes for performing the encoding and the decoding are similar to a binary tree structure in some sense, the present invention suggests a search method using the binary tree structure.
FIG. 1 is a view illustrating a binary search tree structure for explaining a basic principle of the present invention.
Referring to FIG. 1, the binary search tree has a symmetric structure, a parent has two offsprings (parent: higher node, offspring: sub-node), and ‘1’, ‘0’ are assigned to a left branch and a right branch, respectively.
N values are compared using the binary search tree, which can be processed with a calculation complexity of log2N steps. The above method is an algorithm for performing fast searching using a hierarchical data structure but there is a disadvantage that a complicated process of newly organizing the binary search tree every time is required.
However, if the above comparison is processed using a length unit of a CAVLC code table prescribed by the video decoder, a table having a hierarchical structure similar to the above structure can be easily obtained.
Therefore, according to the present invention, for employment of the variable length decoding method, the CAVLC code table having a hierarchical structure is easily organized and referred. Accordingly, the present invention improves a process speed and a load of the decoder by searching fast an estimated code, getting out of the related art method for searching all the number of cases in order to compare the CAVLC code tables. The process will be described in detail with reference to the accompanying drawings in the following.
FIG. 2 is a view illustrating a CAVLC table and a binary tree structure thereof according to the present invention.
Particularly, a table of FIG. 2 exemplifies a Total_Zeros table including Total_Coeff among the CAVLC tables, in which a first column is converted into a binary tree structure.
A horizontal axis of the table represents Total_Coeff(coeff_token), namely, the number of coefficients having a value of non-zero among variable length coded coefficients and a vertical axis of the table represents total_zero, namely, the number of coefficients having a value of zero among the variable length coded coefficients. Codeword values are represented on an inner region formed by the horizontal axis and the vertical axis. The codeword values conform to the H.264/AVC CAVLC standard.
Referring to FIG. 2, the expressed codeword value is converted into a binary tree from a first column of the table. In the same way as used in the binary tree mentioned above, ‘1’ is assigned to the left branch and ‘0’ is assigned to the right branch.
That is, ‘1’ expressed by 1 bit which is the first codeword value of the table is expressed as a left branch of the first level in the binary tree. A right branch is not expressed, for a codeword whose value is zero expressed by 1 bit does not exist in the CAVLC codeword table. Next to that, there exist 3-bit values, thus the right branch is extended to assign values of a third level, respectively.
In this manner, a longest code is assigned to a last branch and a codeword whose value is ‘0’ is assigned to an end branch at the right. In FIG. 2, since a cord word whose value is zero does not exist among the codewords on the table that corresponds to the binary tree, a last branch at the right remains vacant.
In this manner, if codewords of other table are converted into the binary tree in the same manner as described above, the CAVLC table can be seen in a hierarchical structure and the codewords can be sorted in such an order that a codeword length having a high possibility of generation is sorted first.
Namely, as described above, since a bit having a short length is assigned to a signal having a high possibility of generation in viewpoint of the VLC algorithm, the codewords are sorted in such an order that a codeword length having a high possibility of generation (having a short codeword length) is sorted first.
Further, a depth of the binary tree has a close relation to a calculation complexity of searching values. That is, as the depth of the binary tree becomes deep and the structure of the binary tree becomes asymmetric, the calculation complexity of searching is increased.
As described above, each cord word should be assigned to a depth (level) of the binary tree to organize the binary tree, and the level in the binary tree of each codeword is associated with a codeword length.
Therefore, in association with easy organization of the binary tree, a table for sorting codeword lengths of each table needs to be newly organized in order to construct and compare the codewords using the codeword length for a reference, which is illustrated in FIG. 3.
FIG. 3 is a view illustrating a Total_Zero table including Total_Coeff of the CAVLC re-sorted depending on the codeword length.
Referring to FIG. 3, the newly organized table re-sorts the codewords in a codeword length order in which a codeword length having a high possibility of generation is sorted first. At this point, if a codeword length consisting of zero does not have a longest length within the same column of the CAVLC table, namely, the code is not assigned to a lowermost level of the binary tree, sorting is made so that the code is compared last, which is illustrated in FIGS. 4A through 4E.
That is, FIG. 4A is a view illustrating a Total_Zeros including Total_Coeff for a 4×4 block, FIG. 4B is a view illustrating a Total_Zeros including Total_Coeff for a Chroma DC, FIG. 4C is a view illustrating a run_before variable of the CAVLC, FIG. 4D is a view illustrating a Total_Coeff and TrailingOnes variables, and FIG. 4E is a view illustrating a Total_Coeff and TrailingOnes variables for a Chroma re-sorted depending on the codeword length, respectively.
At this point, since the codewords whose lengths are seven are constructed by all zero (0000 000) in case of FIG. 4E, the code is sorted so as to be compared later than two cases of ‘0000 0011’, ‘0000 0010’ whose codeword lengths is eight in the table.
That is, as described above, the above case is the case that a length of a codeword length consisting of zero does not have a longest length within the same column of the CAVLC table, sorting has been made so that the code is compared last.
Since a codeword that corresponds to a next length is compared if zero successively comes in view of an algorithm which will be described below, a codeword length order with which comparison for finding out the codeword of ‘0000 000’ is performed is changed.
The tables that correspond to each CAVLC variable under the H.264/AVC standard are re-sorted and utilized in a decoding process, so that a process for reading a bit is not performed doubly and the comparison is sequentially performed in such an order that a codeword length having a high possibility of generation is sorted first. The above decoding process will be described below with reference to the accompanying drawings.
FIGS. 5 and 6 are tables opened under the H.264/AVC CAVLC standard. FIG. 5 is a view illustrating a CAVLC table of a Total_zeros including a Total_Coeff according to a CAVLC codeword length, and FIG. 6 is a view exemplarily illustrating a CAVLC table of a Total_zeros including a Total_Coeff according to a CAVLC codeword value.
That is, in general, when decoding coded data using a CAVLC method, information regarding which column of the CAVLC table is referred is obtained through information included in a header of a transmitted packet and information of decoded adjacent block first. Then, a bitstream (data of transmitted packet) is read as much as a relevant length sequentially starting from a first value of a relevant column in a table representing a codeword length from a memory as illustrated in FIG. 5.
If a codeword value that corresponds to the read value is compared with a codeword value of the table of FIG. 6 and the values are the same as a result of the comparison, a Total_Coeff value and a total_zero value at that point are obtained and the same method is applied to other variables to obtain values thereof, whereby decoding is performed.
However, at this point, it is known that codeword lengths within a table under the general CAVLC standard are not sorted in a constant order as illustrated in FIG. 5. Accordingly, already read bit is often read again, which is very inefficient.
Therefore, by using the table of FIG. 3 according to the present invention, a process for reading a bit is not performed doubly and the comparison is sequentially performed starting from a codeword length having a high possibility of generation. The process will be described below with reference to FIG. 7 which is a flowchart illustrating a CAVLC decoding process according to the present invention. (for convenience in explanation, a total_zeros variable such that a bitstream inputted to the memory starts from 0101011 . . . and which includes a Total_Coeff of FIGS. 3, 5, and 6 will be taken as an example. Further, it is assumed that information included in the packet header and information of a decoded adjacent block indicate to refer a first column of the CAVLC table).
First, a table that corresponds to a variable desired to decode is selected among re-sorted tables (S10). Since a total_zeros variable including Total_Coeff has been taken as an example in the present invention, the table of FIG. 3 is selected.
A bitstream is read as much as K=0, i.e., a length that corresponds to a first value in the selected table (S20 and S30). That is, since the first value of the first column in FIG. 3 is ‘1’, the bitstream is read as much as 1-bit length, so that zero is read from the exemplified bitstream.
If whether the read value is zero is checked (S40). If the value is zero, a K value is increased one unit (S60). If the value is not zero, the K value is compared with a code value of the CAVLC table (S50).
In the above case, since the read value is zero, the K value is increased one unit. At this point, if the codeword value of the table that corresponds to the increased K value is zero, the process is terminated. If the codeword value is not zero, the step S30 is performed (S70). That is, a block where a number is not mentioned in the table of FIG. 3 is zero, which means there does not exist a codeword to read any more, so that the process is terminated.
Therefore, in the exemplified case, since the value on the table of FIG. 3 that corresponds to the increased K value is three (not zero, so that the process is not terminated), the bitstream is read as much as a 3-bit length (S30).
The read value is 010, which is not zero, and it is compared with a value on the CAVLC table (S50). At this point, according to the table of FIG. 5, the case that a codeword length is three includes two cases of the total_zeros=1 and 2.
First, since a codeword value is three when checked through the table of FIG. 6 in case of the total_zeros=1, it is known that ‘three’ does not coincide with the value ‘two’ that corresponds to a binary number 010 read from the bitstream (the binary number 010 is 2 when converted into a decimal number).
In case of the total_zeros=2, a codeword value on the table of FIG. 6 is 2, which coincides with the value 2 of 010 read from the bitstream.
Therefore, the Total_Coeff value and the total_zeros value at this point are stored (S80) and the process is terminated, so that a next decoding process is performed.
For more careful understanding of an efficiency of the CAVLC decoding method of the present invention which uses the above described method, a total_zeros variable such that a bitstream inputted to the memory starts from 110101 . . . and which includes a Total_Coeff of FIGS. 3, 5, and 6 will be taken as an example at this time with assumption that information included in the packet header and information of a decoded adjacent block indicate to refer a fourth column of the CAVLC table.
Initially, it is known that a first value of the fourth column is three through the table of FIG. 3. Therefore, the case that a codeword length is three in the fourth column on the table of FIG. 5 includes the cases of the total_zeros=1,4,5,6, and 8.
First, since a codeword value is seven when checked through the table of FIG. 6 in case of the total_zeros=1, it is known that ‘seven’ does not coincide with the value ‘six’ which corresponds to a binary number 110 read as much as the codeword length ‘three’ from the bitstream.
On the contrary, since a codeword value is six when checked through the table of FIG. 6 in case of the total_zeros=1, it is known that ‘six’ coincides with the binary number 110 read as much as the codeword length ‘three’ from the bitstream. The variable values are stored and a next decoding step is performed.
If the value had been searched using a related art method, at least more than five times of comparison processes have been required. On the contrary, according to the present invention, a desired value can be obtained through only two times of comparison processes.
In the meantime, FIG. 8 is a block diagram briefly illustrating an inner construction of the CAVLC decoder to which a spirit of the present invention is applied.
Referring to FIG. 8, an initially CAVLC coded and transmitted bitstream is stored in a bitstream buffer 10. After that, when a CAVLC parser 30 at a rear requests a necessary bit length value using a control signal, a stream controller 20 delivers the bitstream as much as a relevant length to the CAVLC parser 30 through the bitstream buffer 10.
The CAVLC parser 30 determines a relevant CAVLC table using tables stored in a CAVLC table 40 and a sort table 50 and performs comparisons using the method of the present invention by referring to re-sorted tables. That is, the above-mentioned CAVLC length and value tables are stored in the CAVLC table 40 and tables re-sorted using the binary tree of the present invention are stored in the sort table 50.
Therefore, the CAVLC parser 30 determines a comparison priority by referring to the re-sorted tables stored in the sort table 50, thereby efficiently performing the CAVLC parsing.
The variables of the CAVLC lengths and values which are the parsing results are stored in a relevant buffer (length, code value buffer) 60 and inverse-zigzag scanned by a re-order element 70.
The bitstream inverse-zigzag scanned and re-ordered is inverse-quantized at an element 80 and inverse-transformed at an element 90 to be outputted to an adder 100. The adder 100 adds a result predicted within one frame by an intra prediction 110 and a motion-compensated result of a previous frame to the inverse-transformed result and outputs the added result to a filter 140. The result filtered by the filter 140 is stored in a reconstructed frame buffer 150, so that a CAVLC decoding is performed.
In the meantime, the present invention can be applied to all systems that apply the video decoding method prescribed by the H.264/AVC standard.
As described above, the CAVLC decoding method and apparatus according to the present invention has the following effects.
First, since data on a bitstream is sequentially read as much as a length suggested by the re-sorted table of the present invention, a memory access time is reduced.
Second, since the data on the bitstream is compared with a value on the codeword table that corresponds to a length on the re-sorted table of the present invention, a comparison process amount is reduced.
Third, when the method of the present invention is used for a decoding process in application fields of DMB systems, simplification of a decoder is achieved and a processing speed is improved.
Fourth, the present invention can be applied to all application fields that conform to the H.264/AVC standard.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

Claims (29)

1. A CAVLC (context-based adaptive variable length coding) decoding method for decoding a coded bitstream using CAVLC length tables and CAVLC value tables, the method comprising the steps of:
re-sorting the CAVLC Length tables in an order of a codeword length; and
decoding the coded bitstream using the re-sorted length tables;
wherein the step of re-sorting the CAVLC length tables is performed for each table of CAVLC variables, and each table comprises a Total_Zeros variable table including a Total_Coeff, a Total_Zeros variable table including a Total_Coeff for a Chroma DC, a run_before variable table of a CAVLC, a Total_Coeff and TrailingOnes variable tables, a Total_Coeff for a Chroma and TrailingOnes variable tables.
2. The method of claim 1, wherein the step of re-sorting the CAVLC length tables uses a binary tree.
3. The method of claim 2, wherein the binary tree has a symmetric structure and has ‘1’ assigned to its left branch and ‘0’ assigned to its right branch.
4. The method of claim 2, wherein the step of re-sorting is so performed as to compare a codeword length last if the codeword length consisting of zero within the same column of the CAVLC length table is not a lowermost level of the binary tree.
5. The method of claim 1, wherein the step of re-sorting the CAVLC length tables in the order of the codeword length is performed in such an order that a short codeword length is sorted first, namely, a codeword length having a high possibility of generation is sorted first.
6. The method of claim 1, wherein the step of decoding the coded bitstream comprises the steps of
selecting a table that corresponds to a variable desired to be decoded among the re-sorted tables;
reading the bitstream as much as the codeword length sequentially starting from a first codeword length in a reference column within the selected table;
comparing a value of the read bitstream with a value on the CAVLC value table, held by a codeword length that coincides with the read codeword length in a column that coincides with the reference column within the CAVLC length table; and
if the value of the bitstream value coincides with the value on the CAVLC value table as a result of the comparison, storing a variable value at that point.
7. The method of claim 6, wherein the reference column is a column selected from information included in a header part of a packet enclosing the bitstream and information of a decoded adjacent block.
8. The method of claim 6, wherein if the read bitstream value is zero, the bitstream is read as much as a codeword length that corresponds to a value next to a value compared in the reference column on the re-sorted table.
9. The method of claim 8, wherein if a codeword value that corresponds to a codeword length for the next value is zero, a process is terminated.
10. The method of claim 6, wherein if the bitstream value does not coincide with the value on the CAVLC value table as a result of the comparison, the bitstream is read as much as a codeword length that corresponds to a value next to a value compared in the reference column on the re-sorted table.
11. A CAVLC (context-based adaptive variable length coding) decoding method for decoding a coded bitstream using CAVLC length tables and CAVLC value tables, the method comprising the steps of:
selecting a table that corresponds to a variable desired to be decoded among tables in which the CAVLC length tables set and inputted in advance are re-sorted based on an order of a codeword length;
reading the bitstream as much as the codeword length sequentially starting from a first codeword length in a reference column within the selected table;
comparing the read bitstream value with a value on the CAVLC value table, held by a codeword length that coincides with the read codeword length in a column that coincides with the reference column within the CAVLC length table; and
if the bitstream value coincides with the value on the CAVLC value table as a result of the comparison, storing a variable value at that point;
wherein the CAVLC length table comprises a Total_Zeros variable table including a Total_Coeff, a Total_Zeros variable table including a Total_Coeff for a Chroma DC, a run_before variable table of a CAVLC, a Total_Coeff and TrailingOnes variable tables, a Total_Coeff for a Chroma and TrailingOnes variable tables.
12. The method of claim 11, wherein the re-sorted table is a table organized by re-sorting the CAVLC codeword length tables in an order of the codeword length.
13. The method of claim 12, wherein the re-sorting of the CAVLC codeword length tables is performed using a binary tree.
14. The method of claim 12, wherein the re-sorting of the CAVLC codeword length tables is so performed as to compare a codeword length last if the codeword length consisting of zero within the same column of the CAVLC length table is not a lowermost level of the binary tree.
15. The method of claim 12, wherein the re-sorting of the CAVLC codeword length tables is performed in such an order that a short codeword length is sorted first, namely, a codeword length having a high possibility of generation is sorted first.
16. The method of claim 11, wherein the reference column is a column selected from information included in a header part of a packet enclosing the bitstream and information of a decoded adjacent block.
17. The method of claim 11, wherein if the read bitstream value is zero, or if the bitstream value does not coincide with the value on the CAVLC value table as a result of the comparison, the bitstream is read as much as a codeword length that corresponds to a value next to a value compared in the reference column on the re-sorted table.
18. A CAVLC (context-based adaptive variable length coding) decoding apparatus for decoding a coded bitstream using (DAVLC length tables and CAVLC value tables, the apparatus comprising:
a memory in which the CAVLC length tables and the CAVLC value tables are stored;
a memory in which the CAVLC length tables are re-sorted in an order of a codeword length if the codeword length consisting of zero within the same column of the CAVLC length table is not a lowermost row of the CAVLC length table, and the CAVLC length tables are stored; and
a CAVLC parser for receiving the bitstream to parse relevant variables using the re-sorted length tables, the CAVLC length tables, and the CAVLC value tables.
19. The apparatus of claim 18, further comprising a stream controller for delivering an inputted bitstream to the CAVLC parser according to a sorted order of the re-sorted table.
20. The apparatus of claim 18, wherein the re-sorted table is a table organized by re-sorting the CAVLC codeword length tables in an order of the codeword length.
21. The apparatus of claim 20, wherein the re-sorting of the CAVLC codeword length tables in the order of the codeword length is performed in such an order that a short codeword length is sorted first, namely, a codeword length having a high possibility of generation is sorted first.
22. A CAVLC (context-based adaptive variable length coding) decoding method for decoding a coded bitstream using CAVLC length tables and CAVLC value tables, the method comprising the steps of:
re-sorting the CAVLC length tables in an order of a codeword length; and
decoding the coded bitstream using the re-sorted length tables,
wherein the step of re-sorting the CAVLC length tables uses a binary tree, and wherein the step of re-sorting is so performed as to compare a codeword length last if the codeword length consisting of zero within the same column of the CAVLC length table is not a lowermost level of the binary tree.
23. The method of claim 22, wherein the step of re-sorting comprises comparing a codeword length last if the codeword length consisting of zero within the same column of the CAVLC length table is not a lowermost level of the binary tree.
24. The method of claim 22, wherein the step of re-sorting comprises sorting a short codeword length having a high possibility of generation first.
25. The method of claim 22, wherein the step of decoding the coded bitstream comprises the steps of:
selecting a table that corresponds to a variable desired to be decoded among the re-sorted tables;
reading the bitstream as much as the codeword length sequentially starting from a first codeword length in a reference column within the selected table;
comparing a value of the read bitstream with a value in the CAVLC value table, the value held by a codeword length that coincides with the read codeword length in a column that coincides with the reference column within the CAVLC length table; and
storing a variable value if the value of the read bitstream coincides with the value in the CAVLC value table.
26. The method of claim 25, wherein the reference column is a column selected from information included in a header part of a packet enclosing the bitstream and information of a decoded adjacent block.
27. The method of claim 25, wherein if the read bitstream value is zero, the bitstream is read as much as a codeword length that corresponds to a value next to a value compared in the reference column on the re-sorted table.
28. The method of claim 27, wherein a process is terminated if a codeword value that corresponds to a codeword length for the next value is zero.
29. The method of claim 25, wherein if the bitstream value does not coincide with the value in the CAVLC value table, the bitstream is read as much as a codeword length that corresponds to a value next to a value compared in the reference column on the re-sorted table.
US11/016,435 2003-12-18 2004-12-17 Method and apparatus for CAVLC decoding Expired - Fee Related US7135997B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2003-0093197 2003-12-18
KR1020030093197A KR100959532B1 (en) 2003-12-18 2003-12-18 CABLC decoding method

Publications (2)

Publication Number Publication Date
US20050156761A1 US20050156761A1 (en) 2005-07-21
US7135997B2 true US7135997B2 (en) 2006-11-14

Family

ID=34747725

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/016,435 Expired - Fee Related US7135997B2 (en) 2003-12-18 2004-12-17 Method and apparatus for CAVLC decoding

Country Status (2)

Country Link
US (1) US7135997B2 (en)
KR (1) KR100959532B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080225954A1 (en) * 2007-03-13 2008-09-18 Kabushiki Kaisha Toshiba Image decoding apparatus and image decoding method
US20090138684A1 (en) * 2007-11-26 2009-05-28 Electronics And Telecommunications Research Institute H.264 cavlc decoding method based on application-specific instruction-set processor
US20090316792A1 (en) * 2006-07-26 2009-12-24 Sony Corporation Decoding method, program for decoding method, recording medium with recorded program for decoding method, and decoding device
US20100007533A1 (en) * 2008-07-08 2010-01-14 Qualcomm Incorporated Cavlc run-before decoding scheme
US20110064140A1 (en) * 2005-07-20 2011-03-17 Humax Co., Ltd. Encoder and decoder
US20120274486A1 (en) * 2011-04-26 2012-11-01 Mstar Semiconductor, Inc. Huffman decoder and decoding method thereof
RU2500073C1 (en) * 2012-08-29 2013-11-27 Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт связи" (ФГУП ЦНИИС) Adaptive decoder for generating 3d codes
US8611380B2 (en) 2006-06-28 2013-12-17 Samsung Electronics Co., Ltd. System and method for digital communications using multiple parallel encoders
US20150288970A1 (en) * 2012-09-28 2015-10-08 Samsung Electronics Co., Ltd. Video encoding method and apparatus for parallel processing using reference picture information, and video decoding method and apparatus for parallel processing using reference picture information

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7620632B2 (en) 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
KR100776195B1 (en) * 2005-08-09 2007-11-16 (주)씨앤에스 테크놀로지 H.264 decoding method for fast CAC
KR100753282B1 (en) * 2005-12-28 2007-08-29 엘지전자 주식회사 Selection method of BC table for CALC decoding and method of decoding CALC
JP2007329903A (en) * 2006-05-11 2007-12-20 Matsushita Electric Ind Co Ltd Variable length decoding device, variable length decoding method and imaging system
KR100813877B1 (en) * 2006-05-11 2008-03-18 전자부품연구원 Efficient H.264 / ACC CAC decoding method
US7623049B2 (en) * 2006-06-08 2009-11-24 Via Technologies, Inc. Decoding of context adaptive variable length codes in computational core of programmable graphics processing unit
US7626518B2 (en) * 2006-06-08 2009-12-01 Via Technologies, Inc. Decoding systems and methods in computational core of programmable graphics processing unit
US7626521B2 (en) * 2006-06-08 2009-12-01 Via Technologies, Inc. Decoding control of computational core of programmable graphics processing unit
US7656326B2 (en) * 2006-06-08 2010-02-02 Via Technologies, Inc. Decoding of context adaptive binary arithmetic codes in computational core of programmable graphics processing unit
CN100466743C (en) * 2006-08-07 2009-03-04 清华大学 A method of entropy decoding and dequantization based on shared memory programmable
US8116378B2 (en) * 2006-12-15 2012-02-14 Arcsoft, Inc. Variable length decoding method
US8467449B2 (en) 2007-01-08 2013-06-18 Qualcomm Incorporated CAVLC enhancements for SVC CGS enhancement layer coding
EP2104236B1 (en) * 2007-01-19 2018-08-15 Mitsubishi Electric Corporation Table device, variable-length encoding device, variable-length decoding device, and variable-length encoding/decoding device
US7688908B2 (en) 2007-03-12 2010-03-30 Samsung Electronics Co., Ltd. System and method for processing wireless high definition video data using a shortened last codeword
US8111670B2 (en) * 2007-03-12 2012-02-07 Samsung Electronics Co., Ltd. System and method for processing wireless high definition video data using remainder bytes
KR101501568B1 (en) * 2008-07-04 2015-03-12 에스케이 텔레콤주식회사 Image coding and decoding apparatus and method
KR101136858B1 (en) * 2010-03-16 2012-04-20 (주)에어로매스터 Encoder and encoding method in video coding standard
KR101130271B1 (en) * 2010-07-26 2012-03-26 인하대학교 산학협력단 A context-based adaptive variable length coding device for H.264/AVC
CN102263960B (en) * 2011-08-15 2013-11-27 复旦大学 A Fast Method for Decoding CAVLC Non-zero Coefficient Amplitude
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623423A (en) * 1994-12-12 1997-04-22 Univ. Of Texas Apparatus and method for video decoding
US5650783A (en) * 1995-02-10 1997-07-22 Fujitsu Limited Data coding/decoding device and method
US5860136A (en) * 1989-06-16 1999-01-12 Fenner; Peter R. Method and apparatus for use of associated memory with large key spaces
US5907637A (en) * 1994-07-20 1999-05-25 Fujitsu Limited Method and apparatus for compressing and decompressing data
US6504496B1 (en) * 2001-04-10 2003-01-07 Cirrus Logic, Inc. Systems and methods for decoding compressed data
US20030174076A1 (en) * 2002-02-28 2003-09-18 Samsung Electronics Co., Ltd. Huffman decoding method and apparatus
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US6725223B2 (en) * 2000-12-22 2004-04-20 International Business Machines Corporation Storage format for encoded vector indexes
US6903669B1 (en) * 2003-10-03 2005-06-07 Cirrus Logic, Inc. Systems and methods for decoding compressed data
US20050135691A1 (en) * 2003-12-19 2005-06-23 Reese Robert J. Content adaptive variable length coding (CAVLC) decoding
US6919826B1 (en) * 2003-12-19 2005-07-19 Sun Microsystems, Inc. Systems and methods for efficient and compact encoding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100565707B1 (en) * 1998-09-25 2006-05-25 엘지전자 주식회사 Modified vlc table and method of coding by modified vlc table

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860136A (en) * 1989-06-16 1999-01-12 Fenner; Peter R. Method and apparatus for use of associated memory with large key spaces
US5907637A (en) * 1994-07-20 1999-05-25 Fujitsu Limited Method and apparatus for compressing and decompressing data
US5623423A (en) * 1994-12-12 1997-04-22 Univ. Of Texas Apparatus and method for video decoding
US5650783A (en) * 1995-02-10 1997-07-22 Fujitsu Limited Data coding/decoding device and method
US6725223B2 (en) * 2000-12-22 2004-04-20 International Business Machines Corporation Storage format for encoded vector indexes
US6504496B1 (en) * 2001-04-10 2003-01-07 Cirrus Logic, Inc. Systems and methods for decoding compressed data
US20030174076A1 (en) * 2002-02-28 2003-09-18 Samsung Electronics Co., Ltd. Huffman decoding method and apparatus
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US6903669B1 (en) * 2003-10-03 2005-06-07 Cirrus Logic, Inc. Systems and methods for decoding compressed data
US7046175B1 (en) * 2003-10-03 2006-05-16 Cirrus Logic, Inc. Systems and methods for decoding compressed data
US20050135691A1 (en) * 2003-12-19 2005-06-23 Reese Robert J. Content adaptive variable length coding (CAVLC) decoding
US6919826B1 (en) * 2003-12-19 2005-07-19 Sun Microsystems, Inc. Systems and methods for efficient and compact encoding

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110064140A1 (en) * 2005-07-20 2011-03-17 Humax Co., Ltd. Encoder and decoder
US9083972B2 (en) * 2005-07-20 2015-07-14 Humax Holdings Co., Ltd. Encoder and decoder
US8611380B2 (en) 2006-06-28 2013-12-17 Samsung Electronics Co., Ltd. System and method for digital communications using multiple parallel encoders
US20090316792A1 (en) * 2006-07-26 2009-12-24 Sony Corporation Decoding method, program for decoding method, recording medium with recorded program for decoding method, and decoding device
US8189674B2 (en) 2006-07-26 2012-05-29 Sony Corporation Decoding method, program for decoding method, recording medium with recorded program for decoding method, and decoding device
US20080225954A1 (en) * 2007-03-13 2008-09-18 Kabushiki Kaisha Toshiba Image decoding apparatus and image decoding method
US7646318B2 (en) * 2007-11-26 2010-01-12 Electronics And Telecommunications Research Institute H.264 CAVLC decoding method based on application-specific instruction-set processor
US20090138684A1 (en) * 2007-11-26 2009-05-28 Electronics And Telecommunications Research Institute H.264 cavlc decoding method based on application-specific instruction-set processor
US7773004B2 (en) * 2008-07-08 2010-08-10 Qualcomm Incorporated CAVLC run-before decoding scheme
US20100007533A1 (en) * 2008-07-08 2010-01-14 Qualcomm Incorporated Cavlc run-before decoding scheme
US20120274486A1 (en) * 2011-04-26 2012-11-01 Mstar Semiconductor, Inc. Huffman decoder and decoding method thereof
US8593306B2 (en) * 2011-04-26 2013-11-26 Mstar Semiconductor, Inc. Huffman decoder and decoding method thereof
RU2500073C1 (en) * 2012-08-29 2013-11-27 Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт связи" (ФГУП ЦНИИС) Adaptive decoder for generating 3d codes
US20150288970A1 (en) * 2012-09-28 2015-10-08 Samsung Electronics Co., Ltd. Video encoding method and apparatus for parallel processing using reference picture information, and video decoding method and apparatus for parallel processing using reference picture information

Also Published As

Publication number Publication date
KR20050061777A (en) 2005-06-23
US20050156761A1 (en) 2005-07-21
KR100959532B1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
US7135997B2 (en) Method and apparatus for CAVLC decoding
Hashemian Memory efficient and high-speed search Huffman coding
US5604498A (en) Huffman decoder
US7411529B2 (en) Method of decoding bin values using pipeline architecture and decoding device therefor
US5559831A (en) Circuitry for decoding huffman codes
US20040240559A1 (en) Context adaptive binary arithmetic code decoding engine
US8311124B2 (en) Decoding method and apparatus
US7304590B2 (en) Arithmetic decoding apparatus and method
KR101678223B1 (en) Multimedia signature coding and decoding
US8094048B2 (en) Method of decoding syntax element in context-based adaptive binary arithmetic coding decoder and decoding device therefor
KR100527891B1 (en) Method of performing huffman decoding
KR102801533B1 (en) Method and device for selecting transformation selection in encoder and decoder
US7348901B2 (en) Method and system for decoding variable length encoded signals, computer program product therefor
US20060187096A1 (en) Method of decoding variable length prefix codes
US7148821B2 (en) System and method for partition and pattern-match decoding of variable length codes
Mansour Efficient Huffman decoding with table lookup
CN101213754B (en) Method and apparatus for improved multimedia decoder
JPH04192744A (en) Decoder
US6794999B1 (en) Resilient parameterized prefix codes for adaptive coding
KR100576548B1 (en) Context-based adaptive variable length decoding device and method thereof
KR100982666B1 (en) Context-based Adaptive Variable Length Coding Decoding Apparatus and Table Search Method for Decoding
KR0125125B1 (en) High speed variable length code decoding device
KR20050037307A (en) Huffman decoding method based on n-tree searching and apparatus thereof
KR20020014957A (en) A variable length decoder
KR20060028750A (en) Huffman Coding and Decoding

Legal Events

Date Code Title Description
AS Assignment

Owner name: LG ELECTRONICS INC., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OH, JUN HWAN;REEL/FRAME:016109/0045

Effective date: 20041209

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20181114

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载