KR20030052803A - UVLC Multiple Decoding Method - Google Patents

UVLC Multiple Decoding Method Download PDF

Info

Publication number
KR20030052803A
KR20030052803A KR1020010082843A KR20010082843A KR20030052803A KR 20030052803 A KR20030052803 A KR 20030052803A KR 1020010082843 A KR1020010082843 A KR 1020010082843A KR 20010082843 A KR20010082843 A KR 20010082843A KR 20030052803 A KR20030052803 A KR 20030052803A
Authority
KR
South Korea
Prior art keywords
information
codeword
value
bit
unit data
Prior art date
Application number
KR1020010082843A
Other languages
Korean (ko)
Other versions
KR100462060B1 (en
Inventor
김철우
이상우
Original Assignee
에스케이 텔레콤주식회사
엠큐브웍스(주)
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 에스케이 텔레콤주식회사, 엠큐브웍스(주) filed Critical 에스케이 텔레콤주식회사
Priority to KR10-2001-0082843A priority Critical patent/KR100462060B1/en
Publication of KR20030052803A publication Critical patent/KR20030052803A/en
Application granted granted Critical
Publication of KR100462060B1 publication Critical patent/KR100462060B1/en

Links

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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

PURPOSE: A method for multiple-extracting universal variable length codeword and a method for constructing a look-up table therefor are provided to speed up an extracting process by extracting a plurality of codewords at the same time. CONSTITUTION: The size of unit data to be processed in a bit stream at a time is set. An index is granted to the current unit data selected among the bit stream. All codewords are extracted from the current unit data, and the length from a first bit to a final bit in the rest of the bits is defined as a suffix-length. A binary value of the bit corresponding to the suffix-length is defined as a suffix-value. The length from a most significant bit to an extension bit of the codeword belonging to the previous unit data is defined as a prefix-length. A binary value of the bit corresponding to the prefix-length is defined as a prefix-value. The number of extractable codewords is defined as a number-of-codewords. The length and a binary value of each codeword are defined as codeword-lengths and codeword-values. The defined suffix-length, suffix-value, prefix-length, prefix-value, number-of-codewords, codeword-lengths and codeword-values are recorded at corresponding fields(21,22,23,24,25,26) of the index.

Description

유니버셜 가변 길이 코드 부호어 다중 추출 방법 및 그를 위한 룩-업 테이블 구성 방법{UVLC Multiple Decoding Method}Universal variable length code codeword multiple extraction method and look-up table construction method for it {UVLC Multiple Decoding Method}

본 발명은 유니버셜 가변 길이 코드(Universal Variable Length Code : UVLC) 부호어(codeword) 다중 추출 방법 및 그를 위한 룩-업 테이블(Look-Up Table) 구성 방법에 관한 것으로서, 보다 상세하게는 H.26L 복호기(Decoder)에서 입력되는 비트열에 포함된 UVLC 부호어를 복호할 때, UVLC가 가지는 특성을 이용하여 복수의 부호어를 고속으로 추출해 낼 수 있도록 하기 위한, UVLC 부호어 다중 추출 방법 및 그를 위한 룩-업 테이블 구성 방법에 관한 것이다.The present invention relates to a Universal Variable Length Code (UVLC) codeword multiple extraction method and a look-up table construction method therefor, and more particularly, to an H.26L decoder. When decoding the UVLC codeword included in the bit stream input from (Decoder), UVLC codeword multi-extraction method and look-for for extracting a plurality of codewords at high speed by using the characteristics of UVLC It relates to how to configure up table.

H.26L은 H.263 및 MPEG-4의 뒤를 이어 모바일 어플리케이션(Mobile application) 및 인터넷 등의 광범위한 분야에서 고성능을 발휘하도록 설계한다는 목표하에 현재 ITU-T SG16 Q.6에 의해서 주도되고 있는 차세대 국제 동영상 부호화 표준을 말한다.H.26L follows the H.263 and MPEG-4 design of the next generation of international, currently driven by ITU-T SG16 Q.6, with the goal of designing high performance in a wide range of applications such as mobile applications and the Internet. Refers to the video coding standard.

현재 H.26L은 차세대 국제 표준으로서의 성능을 보이도록 상당부분 진행된 상태이고, 2002년 중에 승인을 받을 예정으로 있다. H.26L은 기존의 국제 동영상 부호화 표준인 H.26x 계열 및 MPEG-x 계열의 기술에 비해서 진일보한 기술들을 포함하고 있으며, 이러한 기술들의 상호 보완 작용으로 인해서 기존 부호화 표준들에 비해서 월등한 성능을 보이는 것이 보고되고 있는 상황이다.The H.26L is currently in large part to show its performance as the next-generation international standard and is expected to be approved in 2002. H.26L includes advanced technologies compared to H.26x and MPEG-x technologies, which are the existing international video coding standards, and because of their complementary performance, H.26L provides superior performance compared to the existing coding standards. What is seen is reported.

모든 국제 동영상 부호 표준 복호기에서는, 수신 혹은 복구(retrieve)된 비트열(bit stream)에서 가변 길이 코드(Variable Length Code : VLC) 테이블에서 정의된 부호어들을 구분해 내는 과정이 필연적으로 포함되어 수행되도록 되어있다.In all international video code standard decoders, the process of distinguishing the codewords defined in the Variable Length Code (VLC) table from the received or retrieved bit stream is inevitably included. It is.

H.26L에서도 기존의 부호화 표준들에서와 같이 부호화를 위해서 단 하나의 VLC 테이블을 사용하는데, 특이한 점은 VLC 테이블의 구성이 규칙적으로 되어있다는 점이며, 이 VLC 테이블은 H.26L표준화 과정에서 UVLC 라고 불리운다.In H.26L, as in the existing coding standards, only one VLC table is used for encoding. The peculiarity is that the structure of the VLC table is regular, and this VLC table is UVLC in H.26L standardization. It is called.

H.26L에서의 UVLC 테이블(10)은 각각의 부호어(codeword)들이 도 1에 도시된 바와 같은 형식으로 구성되어 있는데, 동 도면에 도시된 바와 같이, 모든 부호어들은 첫 번째 비트부터 시작하여 홀수개의 길이를 가지며, 모든 부호어의 끝은 각 부호어의 홀수번째 비트가 '1'인 경우로 구분이 되는 구조를 형성하고 있다. 따라서 비트열의 처음부터 시작하여 홀수번째의 비트가 '1'이되는 지점을 찾으면 하나의 부호어를 추출해 낼 수 있다. 그리고 하나의 부호어를 찾은 후, 그 다음 비트부터 시작해서 다시 홀수번째의 비트만 검색해 낸다면 다음 부호어를 추출해 낼 수 있으며, 이 과정을 반복하여 전체 비트열에 포함된 모든 부호어를 추출해 내는 것이 가능하다. 동 도면에서 'x'는 정보 비트로서 '0' 또는 '1'의 값을 가질 수 있다.The UVLC table 10 in H.26L consists of the respective codewords as shown in FIG. 1, as shown in the figure, where all codewords start with the first bit. It has an odd number of lengths and forms a structure in which the ends of all codewords are separated by the case where the odd bit of each codeword is '1'. Therefore, one codeword can be extracted by finding the point where the odd-numbered bit becomes '1' starting from the beginning of the bit string. If one codeword is found and the next bit is searched starting with the next bit, then the next codeword can be extracted, and this process is repeated to extract all codewords contained in the entire bit string. It is possible. In the figure, 'x' may have a value of '0' or '1' as an information bit.

그러나, 이와 같은 종래의 부호화 추출 방법은 대부분의 중앙연산처리장치(CPU)에 상당한 연산 부하(computational load)를 가져올 수 있는 비트이동연산(Bit shift processing)을 필요로 하며, 한 번에 하나의 부호어 외에는 추출해 낼 수 없다는 단점이 있다.However, such a conventional encoding extraction method requires bit shift processing, which can bring considerable computational load to most CPUs, and one code at a time. The only drawback is that it cannot be extracted.

본 발명은 상기와 같은 문제점을 해결하기 위하여 창작된 것으로서, 그 목적은 중앙연산처리장치에 부담을 주는 비트이동연산을 배제하면서 복수개의 부호어를 동시에 추출해 내어 추출 과정을 고속화하는, UVLC 부호어 다중 추출 방법 및 그를 위한 룩-업 테이블 구성 방법을 제공하고자 하는 것이다.The present invention has been made to solve the above problems, the object of which is to extract a plurality of codewords at the same time while eliminating the bit shift operation that burdens the central processing unit, UVLC codeword multiplexing It is an object of the present invention to provide an extraction method and a look-up table construction method therefor.

도 1은 유니버셜 가변 길이 코드 테이블의 구성도이고,1 is a block diagram of a universal variable length code table,

도 2는 본 발명에 따른 룩-업 테이블 구성의 일 실시예를 도시한 도면이고,2 is a diagram illustrating an embodiment of a look-up table configuration according to the present invention;

도 3은 본 발명의 일 실시예에 따른 유니버셜 가변 길이 코드 부호어 추출 방법의 흐름도이다.3 is a flowchart of a method for extracting a universal variable length code codeword according to an embodiment of the present invention.

※ 도면의 주요부분에 대한 부호의 설명※ Explanation of code for main part of drawing

10 : UVLC 테이블 20 : 룩-업 테이블10: UVLC table 20: look-up table

21 : 서픽스-길이 필드 22 : 서픽스-값 필드21: Suffix-length field 22: Suffix-value field

23 : 프리픽스-길이 필드 24 : 프리픽스-값 필드23: prefix-length field 24: prefix-value field

25 : (내부) 부호어-수 26 : 내부 부호어의 길이와 값에 대한 필드25: (internal) codeword-number 26: field for length and value of internal codeword

상기와 같은 목적을 달성하기 위하여 본 발명에 따른 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법은, 유니버셜 가변 길이 코드(UVLC) 테이블에 정의된 부호어들을 비트열에서 추출하는 방법에 있어서, 상기 비트열에서 한 번에 처리할 단위 데이터 크기를 설정하는 제 1 단계; 상기 비트열중 선택된 현재의 단위 데이터에 대하여 인덱스를 부여하는 제 2 단계; 상기 현재 단위 데이터에서의 부호어 추출 과정에서, 해당 부호어를 모두 추출한 후 첫 번째 비트부터 마지막 비트까지의 길이를 제 1 정보(Suffix-Length)로 정의하는 제 3 단계; 상기 제 1 정보에 해당하는 비트의 2진값을 제 2 정보(Suffix-Value)로 정의하는 제 4 단계; 상기 현재 단위 데이터 중, 최상위 비트부터 이전 단위 데이터에 속한 부호어의 연장 비트까지의 길이를 제 3 정보(Prefix-Length)로 정의하는 제 5 단계; 상기 제 3 정보에 해당하는 비트의 2진값을 제 4 정보(Prefix-Value)로 정의하는 제 6 단계; 상기 현재 단위 데이터내에서, 추출가능한 부호어의 개수를 제 5 정보(Number-of-Codeword)로 정의하는 제 7 단계; 상기 제 5 정보에 정의된 개수의 각 부호어에 대한 길이(Codeword-Length) 및 2진값(Codeword-Value)을 제 6 정보로정의하는 제 8 단계; 및 상기 정의된 제 1 내지 제 6 정보를 상기 인덱스의 해당 필드에 기록하는 제 9 단계를 포함하여 구성된다.In order to achieve the above object, a method of constructing a look-up table for multiply extracting a universal variable length code (UVLC) codeword according to the present invention comprises: encoding codewords defined in a universal variable length code (UVLC) table in a bit string; A method of extracting, comprising: a first step of setting a unit data size to be processed at one time in the bit stream; A second step of assigning an index to the current unit data selected from the bit strings; A third step of defining a length from a first bit to a last bit as first information (Suffix-Length) after extracting all the codewords in the process of extracting a codeword from the current unit data; A fourth step of defining a binary value of a bit corresponding to the first information as second information (Suffix-Value); A fifth step of defining a length from a most significant bit of the current unit data to an extension bit of a codeword belonging to previous unit data as third information (Prefix-Length); A sixth step of defining a binary value of a bit corresponding to the third information as fourth information (Prefix-Value); A seventh step of defining the number of extractable codewords in the current unit data as fifth information (Number-of-Codeword); An eighth step of defining lengths (Codeword-Length) and binary values (Codeword-Value) for each codeword of the number defined in the fifth information as the sixth information; And a ninth step of recording the defined first to sixth information in a corresponding field of the index.

상기 제 3 정보와 상기 이전 단위 데이터에서의 부호어 추출 과정에서 정의된 해당 제 1 정보를 근거로, 상기 현재 단위 데이터에서의 부호어 추출 과정에서의 최선단 부호어의 비트 길이를 정의하여, 상기 인덱스의 해당 필드에 기록하도록 하되, 상기 최선단 부호어의 상기 비트 길이는 상기 제 3 정보의 값에 상기 해당 제 1 정보의 값을 더하여 구하도록 한다.On the basis of the third information and the corresponding first information defined in the codeword extraction process from the previous unit data, the bit length of the most significant codeword in the codeword extraction process from the current unit data is defined, The bit length of the codeword is determined by adding the value of the first information to the value of the third information.

또한, 상기 제 3 정보, 상기 제 4 정보 및 상기 이전 단위 데이터에서의 부호어 추출 과정에서 정의된 해당 제 2 정보를 근거로, 상기 현재 단위 데이터에서의 부호어 추출 과정에서의 최선단 부호어의 2진값을 정의하여, 상기 인덱스의 해당 필드에 기록하도록 하되,Further, based on the third information, the fourth information, and the corresponding second information defined in the codeword extraction process in the previous unit data, the most significant codeword in the codeword extraction process in the current unit data may be used. Define a binary value and write it to the corresponding field of the index,

상기 최선단 부호어의 상기 2진값은, 일 예로 상기 해당 제 2 정보값으로부터 상기 제 3 정보값의 비트수만큼 비트 이동한 값에 상기 제 4정보값을 더하여 구하거나, 다른 예로 상기 해당 제 2 정보값과 2K값의 이진값을 곱한 값에, 상기 제 4 정보값을 더하여 구하고, 여기서 K는 상기 제 3 정보값을 나타낸다.The binary value of the most significant codeword may be obtained by, for example, adding the fourth information value to a value shifted bit by the number of bits of the third information value from the second information value, or as another example, the second value. to the product of the binary value of the information values and the value of K 2, obtained by adding the fourth information value, in which K represents the third information value.

이와 같이 본 발명에 따른 상기의 룩업-테이블(Look-Up Table : LUT)은, 상기 현재 단위 데이터의 최상위 비트가 상기 최선단 부호어의 짝수번째 비트일 경우와 홀수번째 비트일 경우를 구분하여 각각 짝수 룩업-테이블과 홀수 룩업-테이블로 구성함을 특징으로 한다.As described above, the look-up table (LUT) according to the present invention distinguishes the case where the most significant bit of the current unit data is an even bit and an odd bit of the most significant codeword, respectively. It consists of an even lookup table and an odd lookup table.

상기와 같은 목적을 달성하기 위하여 본 발명에 따른 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출 방법은, 유니버셜 가변 길이 코드(UVLC) 테이블에 정의된 부호어들을 비트열에서 추출하는 복호화 방법에 있어서, 해당 비트열중 선택된 기 설정된 크기의 현재 단위 데이터에서의 부호어 추출 과정에서 추출가능한 부호어를 모두 추출한 후 남은 비트들 중 첫 번째 비트부터 마지막 비트까지의 길이를 제 1 정보(Suffix-Length)로 정의하고, 그 제 1 정보에 해당하는 비트의 2진값을 제 2 정보(Suffix-Value)로 정의하고, 상기 현재 단위 데이터 중 최상위 비트부터 이전 단위 데이터에 속한 부호어의 연장 비트까지의 길이를 제 3 정보(Prefix-Length)로 정의하고, 그 제 3 정보에 해당하는 비트의 2진값을 제 4 정보(Prefix-Value)로 정의하고, 상기 현재 단위 데이터내에서 추출가능한 부호어의 개수를 제 5 정보(Number-of-Codeword)로 정의하고, 그 제 5 정보에 정의된 개수의 각 부호어에 대한 길이(Codeword-Length) 및 2진값(Codeword-Value)을 제 6 정보로 정의하는 제 1 단계; 입력된 비트열에서 상기 기 설정된 크기의 현재 단위 데이터를 읽어 현재 사용 테이블의 인덱스를 부여함과 아울러, 이전 단위 데이터의 이전 과정의 상기 제 1 정보와 상기 제 2 정보를 '0'으로 초기화하는 제 2 단계; 상기 정의된 제 3정보값을 생성하고, 그 생성된 제 3 정보값과 상기 이전 단위 데이터의 해당 제 1 정보값을 더하여 제 1 부호어의 길이를 구하는 제 3 단계; 상기 정의된 제 4 정보값을 생성하고, 상기 이전 단위 데이터의 해당 제 2 정보값으로부터 상기 제 3 정보값의 비트수만큼 비트 이동한 값에 상기 제 4정보값을 더하여 상기 제 1 부호어의 값을 구하는 제 4 단계; 및 상기 정의된 제 5 정보 및 제 6 정보에 근거하여,상기 제 1 부호어에 후속하는 부호어의 길이 및 값을 추출하는 제 5 단계를 포함하여 구성된다.In order to achieve the above object, a method for extracting a universal variable length code (UVLC) codeword according to the present invention is a decoding method for extracting codewords defined in a universal variable length code (UVLC) table from a bit string. Defines the length from the first bit to the last bit among the remaining bits as the first information (Suffix-Length) after extracting all the extractable codewords in the process of extracting codewords from the current unit data of the selected size of the corresponding bit string. The binary value of the bit corresponding to the first information is defined as the second information (Suffix-Value), and the length from the most significant bit of the current unit data to the extension bit of the codeword belonging to the previous unit data is determined by the third value. Define as information (Prefix-Length), define the binary value of the bit corresponding to the third information as the fourth information (Prefix-Value), and add in the current unit data The number of codewords that can be output is defined as fifth information (Number-of-Codeword), and the length (Codeword-Length) and binary value (Codeword-Value) for each codeword of the number defined in the fifth information is defined. A first step of defining sixth information; Reading the current unit data of the preset size from the input bit string, assigning an index of a current use table, and initializing the first information and the second information of a previous process of the previous unit data to '0'; Two steps; A third step of generating the defined third information value and obtaining the length of the first codeword by adding the generated third information value and the corresponding first information value of the previous unit data; The value of the first codeword is generated by generating the defined fourth information value and adding the fourth information value to a value shifted bit by the number of bits of the third information value from the corresponding second information value of the previous unit data. Obtaining a fourth step; And a fifth step of extracting a length and a value of a codeword following the first codeword based on the defined fifth information and sixth information.

상기와 같은 본 발명의 부호어 추출 과정에서, 상기 제 3 단계 내지 상기 제 5 단계는 상호 병렬 수행가능하고, 상기 현재 단위 데이터의 상기 제 1 정보값과 상기 제 2 정보값은 다음 단위 데이터에서의 부호어 추출을 위하여 저장함을 특징으로 한다.In the codeword extraction process of the present invention as described above, the third to fifth steps may be performed in parallel, and the first information value and the second information value of the current unit data It is characterized by storing for codeword extraction.

상술된 바와 같이 본 발명의 룩-업 데이블을 이용하여 UVLC 부호어를 다중 추출하는 방법에 따르면, 기존의 UVLC 부호어 추출 과정에서 반복하여 수행되는 비트이동연산과 비트비교연산 과정을 배제하고 보다 고속으로 부호어를 추출해 낼 수 있다.According to the method of multi-extracting the UVLC codeword using the look-up table of the present invention as described above, it is possible to eliminate the bit shift operation and the bit comparison operation that are repeatedly performed in the existing UVLC codeword extraction process, The codeword can be extracted with

즉, 본 발명에서 제시하는 방법은 각 시스템(예컨대, 복호기)이 처리하기에 최적인 데이터의 단위(예를 들면 1 byte 혹은 1 word)로 비트열을 처리하여 이들 단위 데이터에 들어있는 모든 부호어들을 일괄적으로 처리한다.That is, the method proposed in the present invention processes all the bit strings in units of data (e.g., 1 byte or 1 word) that is optimal for processing by each system (e.g., decoder). Process them in batches.

본 발명의 룩-업 테이블은, UVLC 데이블에 정의된 모든 부호어들의 홀수번째 비트가 제어(control) 비트이고 짝수번째의 비트는 정보(information) 비트가 되는 구조를 이용하여, 짝수 룩-업 테이블과 홀수 룩-업 테이블의 쌍으로 구성된다. 또한 각 테이블에는 상기 제 1 정보로서의 서픽스-길이(Suffix-Length), 상기 제 2 정보로서의 서픽스-값(Suffix-Value), 상기 제 3 정보로서의 프리픽스-길이(Prefix-Length), 상기 제 4 정보로서의 프리픽스-값(Prefix-Value)및 상기 제 5 정보로서의 부호어 수(Number-of-Codewords)가 정의되고, 또한 상기 부호어 수에서 정의된 개수만큼의 부호어의 길이(Codeword-Length)와 값(Codeword-Value)이 정의된다.The look-up table of the present invention uses an even look-up table using a structure in which odd bits of all codewords defined in the UVLC table are control bits and even bits are information bits. And odd look-up tables. In addition, each table includes a suffix-length as the first information, a suffix-value as the second information, a prefix-length as the third information, and the first information. Prefix-Value as 4 information and Number-of-Codewords as the fifth information are defined, and the length of the codeword by the number defined by the codeword number (Codeword-Length) ) And the value (Codeword-Value) are defined.

이러한 구조를 가지는 룩-업 테이블을 이용하고, 상기 본 발명의 부호어 추출 방법에 따라 비트열의 시작부분에서는 홀수 룩-업 테이블에서 시작하여, 단위 데이터를 크기로 현재의 상태(status)를 계속해서 추적(tracking) 해 나가고, 그 추적된 현재 단위 데이터의 상태에 따라서 짝수 룩-업 테이블 또는 홀수 룩-업 테이블을 사용해서, 비트열을 미리 정의된 단위 데이터 단위로 복호처리한다.Using a look-up table having such a structure, according to the codeword extraction method of the present invention, at the beginning of the bit string, starting from an odd look-up table, the current status is continued with the unit data size. The bit stream is decoded into a predefined unit data unit by tracking and using an even look-up table or an odd look-up table according to the state of the tracked current unit data.

이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 따른 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출 방법 및 그를 위한 룩-업 테이블 구성 방법에 대하여 상세히 설명하기로 한다.Hereinafter, a method of extracting a universal variable length code (UVLC) codeword according to a preferred embodiment of the present invention and a look-up table construction method thereof will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 룩-업 테이블 구성의 일 실시예를 도시한 것이다.2 illustrates one embodiment of a look-up table configuration in accordance with the present invention.

본 발명에서 제시하는 방법은 그 방법이 적용되는 시스템(즉, 복호기)에서 최적으로 처리할 수 있는 데이터 단위를 기준으로 룩-업 테이블의 크기를 조절하여 적용하는 것이 가능하므로, 우선 비트열에서 해당 시스템이 한 번에 처리할 데이터의 단위(이하 단위 데이터라 칭함)를 N 비트라고 가정할 때, 도 1에 도시된 바와 같이, 2N개의 인덱스(INDEX)를 가지는 룩-업 테이블(20)을 두 개(즉, 짝수 룩-업 테이블과 홀수 룩-업 테이블) 정의한다. 각 인덱스(INDEX 1 ∼ INDEX 2N)에는 최소5개의 가변 갯수의 필드(field)가 정의되어 있으며, 그 최소 5개의 필드는 서픽스-길이(Suffix-Length)(21), 서픽스-값(Suffix-Value)(22), 프리픽스-길이(Prefix-Length)(23), 프리픽스-값(Prefix-Value)(24) 및 부호어-수(Number-of-Codewords)(25)로 구성되어 있다. 그리고 M개의 부호어(M Codewords : Codeword 1∼ Codeword M)의 각 길이(Length)와 값(Value)을 기록하는 필드(26)가 포함되어 있으며, 그 M개의 부호어는 단위 데이터내에 시작과 끝이 모두 포함되어 있는 내부 부호어로 정의한다.The method proposed in the present invention can be applied by adjusting the size of the look-up table based on the data unit that can be optimally processed in the system (ie, decoder) to which the method is applied. Assuming that the unit of data to be processed at one time (hereinafter referred to as unit data) is N bits, the system generates a look-up table 20 having 2 N indexes (INDEX), as shown in FIG. Define two (that is, an even look-up table and an odd look-up table). Each index (INDEX 1 to INDEX 2 N ) has at least five variable number of fields defined, and the minimum five fields are Suffix-Length (21) and suffix-value ( Suffix-Value (22), Prefix-Length (23), Prefix-Value (24), and Number-of-Codewords (25). . And a field 26 for recording length and value of M codewords (Mwordwords: Codeword 1 to Codeword M), the M codewords having a start and end in unit data. Defined as an internal codeword that contains everything.

상기 짝수 룩-업 테이블과 상기 홀수 룩-업 테이블은 각기 복호 처리하는 현재 단위 데이터로서의 N 비트의 데이터 중에서 최상위 비트(Most Significant Bit : MSB)가 부호어의 짝수번째 비트일 경우와 홀수번째 비트일 경우의 결과에 따라서 생성된다.The even-look-up table and the odd-look-up table may be the case where the most significant bit (MSB) is the even-numbered bit of the codeword and the odd-numbered bit of the N-bit data as the current unit data to be respectively decoded. It is generated according to the result of the case.

또한, 처리할 현재의 단위 데이터가 표시하는 인덱스에 의해서 지정되는 프리픽스(Prefix)와 서픽스(Suffix)는, 각각 이전 추출 과정에서의 이전 단위 데이터의 서픽스(Suffix) 필드와 이후 추출과정에서의 다음 단위 데이터의 프리픽스(Prefix) 필드에서 정의된 값과 더하기 연산을 행함으로서, 두개 이상의 연속적인 단위 데이터에 걸쳐있는 부호어를 추출해 낼 수 있도록 정의한다.In addition, the prefix and suffix designated by the index indicated by the current unit data to be processed are respectively the suffix field of the previous unit data in the previous extraction process and the subsequent extraction process. By adding to a value defined in the prefix field of the next unit data, it is defined to extract a codeword that spans two or more consecutive unit data.

즉, 본 발명의 룩-업 테이블의 각 필드에 정의되어 있는 값들을 상세히 설명하면 다음과 같다That is, the values defined in each field of the look-up table of the present invention will be described in detail as follows.

서픽스-길이(Suffix-Length )는, 현재 단위 데이터(즉, N 비트의 데이터)에서의 부호어 추출 과정에서, 그 현재 단위 데이터에서 추출 가능한 모든 부호어를추출하고 난 후, 최선단이 되는 L(1≤L≤N)번째 비트부터 시작하여 그 단위 데이터의 끝인 N 번째의 비트까지의 길이로 정의되고, 이는 적어도 하나의 비트이상이 다음 처리 데이터 단위의 해당 부호어(이후, 최선단 부호어 또는 제 1 부호어로 칭함)에 속하는 비트 길이로서 수식으로 나타내면 N-L+1'로 정의 된다. 만약 N번째 비트가 추출가능한 부호어의 끝이 되는 경우에는 서픽스-길이 (Suffix-Length)는 0이 된다.Suffix-Length is the highest level after extracting all codewords extractable from the current unit data in the process of extracting the codeword from the current unit data (i.e., N bits of data). It is defined as the length from the L (1≤L≤N) th bit to the Nth bit which is the end of the unit data, which means that at least one bit or more is the corresponding codeword of the next processed data unit A bit length belonging to the first codeword) is defined as N-L + 1 '. If the Nth bit is the end of the extractable codeword, the Suffix-Length is zero.

서픽스-값(Suffix-Value)은, 상기 현재 단위 데이터에서의 부호어 추출 과정에서, 그 현재 단위 데이터에서 추출 가능한 모든 부호어를 추출하고 난 후, 최선단이 되는 L(1≤L≤N)번째 비트부터 시작하여 그 단위 데이터의 끝인 N 번째의 비트까지의 적어도 하나의 비트 이상이 다음 처리 단위 데이터의 최선단 부호어에 에 속할 경우, L번째 비트를 최상위비트로 하여 상기 현재 단위 데이터의 끝인 N번째 비트까지의 N-L+1개의 비트열의 값(value)으로 정의된다. 만약 N번째 비트가 추출가능한 부호어의 끝이 되는 경우에는 서픽스-값 (Suffix-Value)은 0이 된다.Suffix-Value is L (1≤L≤N) which is the highest level after extracting all codewords extractable from the current unit data in the codeword extraction process in the current unit data. At least one bit from the nth bit to the Nth bit, which is the end of the unit data, belongs to the codeword of the next processing unit data, the Lth bit is the most significant bit and is the end of the current unit data. It is defined as the value of N-L + 1 bit string up to Nth bit. If the Nth bit is the end of the extractable codeword, the Suffix-Value is zero.

프리픽스-길이(Prefix-Length )는, 현재 단위 데이터에서의 부호어 추출 과정에서, 그 현재 단위 데이터의 최상위 비트부터 시작하여 K 번째 비트까지가 이전의 단위 데이터에 속한 부호어의 연장일 경우, 그 K(1≤K≤N )로 정의된다. 특히, 이 K 값은 이전 데이터 단위에서의 부호어 추출 과정에서 생성된 해당 서픽스-길이와 더해져서 현재 데이터 단위에서의 부호어 추출과정에서의 맨 처음 부호어(즉, 최선단 부호어 또는 제 1 부호어)의 길이로 정의된다.Prefix-Length means that in the process of extracting the codeword from the current unit data, if the K th bit starting from the most significant bit of the current unit data is an extension of the codeword belonging to the previous unit data, It is defined as K (1≤K≤N). In particular, this K value is added to the corresponding suffix-length generated in the codeword extraction process in the previous data unit, so that the first codeword in the codeword extraction process in the current data unit (ie, the most significant codeword or first). 1 codeword).

프리픽스-값(Prefix-Value)은, 현재 단위 데이터에서의 부호어 추출 과정에서, 그 현재 단위 데이터의 최상위 비트부터 시작하여 K 번째 비트까지가 이전의 단위 데이터에 속한 부호어의 연장일 경우, 그 K(1≤K≤N )개의 비트가 가지는 이진값으로 정의된다. 특히. 이 프리픽스-값은, 이전 단위 데이터에서의 부호어 추출 과정에서 생성된 서픽스-값과 2K와를 곱한 값과 더해져서, 현재 단위 데이터에서의 부호어 추출과정에서 추출된 맨 처음 부호어(즉, 최선단 부호어 또는 제 1 부호어)의 값으로 정의된다. 한편, 상기 최선단 부호어의 값을 구하는 다른 예로는, 이전 단위 데이터에서의 부호어 추출 과정에서 생성된 서픽스-값(이진값)으로부터 상기 프리픽스-길이 만큼 비트 이동한 값에, 상기 프리픽스-값을 더하여 구할 수 있다.Prefix-Value means that, in the process of extracting the codeword from the current unit data, if the K-th bit starting from the most significant bit of the current unit data is an extension of the codeword belonging to the previous unit data, It is defined as a binary value of K (1≤K≤N) bits. Especially. This prefix-value is added to the suffix value generated in the process of extracting the codeword from the previous unit data and multiplied by 2 K , so that the first codeword extracted from the process of extracting the codeword from the current unit data (i.e., , The most significant codeword or the first codeword). On the other hand, another example of obtaining the value of the most significant codeword, the prefix- to a value shifted bit by the prefix-length from the suffix-value (binary value) generated during the codeword extraction process from the previous unit data Can be found by adding the values together.

부호어-수(Number-of-Codeword)는, 단일 처리 단위로서의 N 비트로 구성된 현재 단위 데이터내에 부호어의 시작과 끝이 모두 포함되어 명확하게 부호어의 추출이 가능한 부호어의 개수로 정의된다. 이와 같은 부호어-수는 같은 인덱스를 가지더라도 짝수 룩-업 테이블일 경우와 홀수 룩-업 테이블일 경우에 각각 그 값이 달라진다.Number-of-Codeword is defined as the number of codewords in which both the beginning and the end of the codeword are included in the current unit data composed of N bits as a single processing unit, so that the codeword can be extracted clearly. Although the codeword-number has the same index, its value is different in the case of an even look-up table and an odd look-up table.

부호어-길이(Codeword-Length)는 상기 부호어-수의 필드에서 지정한 개수만큼의 부호어의 길이가 저장되어 있고, 부호어-값(Codeword-Value)은 상기 부호어-수의 필드에서 지정한 개수만큼의 부호어의 값이 저장되어 있다.Codeword-Length stores the length of the number of codewords specified in the codeword-number field, and Codeword-Value specifies the codeword-value in the codeword-number field. As many codeword values are stored.

이상과 같이 정의된 룩-업 테이블을 이용하여 UVLC 테이블에서 부호어를 추출해 내는 본 발명의 방법은 다음과 같다.The method of the present invention extracting the codeword from the UVLC table using the look-up table defined as above is as follows.

도 3은 본 발명의 일 실시예에 따른 UVLC 부호어 추출 방법의 흐름도로서,도 1의 룩-업 테이블을 이용하므로 그 테이블을 참조하여 설명한다.3 is a flowchart of a method for extracting a UVLC codeword according to an embodiment of the present invention. Since the look-up table of FIG. 1 is used, the table will be described with reference to the table.

먼저, 초기 과정에서는 이전 과정으로서의 이전 단위 데이터에 대한 서픽스-길이와 서픽스-값을 '0'으로 초기화하고(S301), 현재 사용 테이블을 홀수 룩-업 테이블로 초기화한다(S302).First, in the initial process, the suffix-length and the suffix-value of the previous unit data as the previous process are initialized to '0' (S301), and the current use table is initialized to an odd look-up table (S302).

이어, 이어 비트열에서 N 비트의 단위 데이터를 읽어와서 현재 사용 테이블의 인덱스로 사용한다. 예를 들어, '001000 011100 001....'과 같은 비트열에서 상기 N 이 6 비트로 설정된 경우 상기 비트열의 최상위비트를 기준으로 6비트까지 '001000'을 읽어와서 현재 사용 테이블인 홀수 룩-업 테이블의 인덱스1로 사용한다.(S303)Then, N bits of unit data are read from the bit stream and used as an index of the currently used table. For example, when N is set to 6 bits in a bit string such as '001000 011100 001 ....', '001000' is read up to 6 bits based on the most significant bit of the bit string, and an odd look-up is used. Used as index 1 of the table (S303).

도 2를 참조로 상술된 룩-업 테이블의 정의에 따르면, 상기 현재 단위 데이터(이후, 제 1 단위 데이터라 칭함) '001000'에서 프리픽스-길이는 '0', 프리픽스-값은 '0', 서픽스-길이는 '3', 서픽스-값은 '0' 및 내부 부호어-수는 1이고, 그 부호어-수에 따른 내부 부호어는 '001'로서 그 부호어 '001'에 대한 부호어-길이가 3이고 부호어-값은 이진수로 나타내면 '001' 10진수로 나타내면 1이된다.According to the definition of the look-up table described above with reference to FIG. 2, in the current unit data (hereinafter referred to as first unit data) '001000', the prefix-length is '0', the prefix-value is '0', The suffix-length is '3', the suffix-value is '0' and the internal codeword-number is 1, and the internal codeword according to the codeword-number is '001', the code for that codeword '001'. If the length is 3 and the signword-value is represented in binary, it is 1 in decimal.

이어, 상기 생성된 프리픽스-길이와 이전 단위 데이터의 서픽스-길이를 더해서 맨처음 추출되는 제 1 부호어(즉, 현재 단위 데이터와 이전 단위 데이터에 걸쳐 있는 부호어)의 길이를 구하는데, 상기 단계 S201에서 이전 단위 데이터의 서픽스-길이는 '0'으로 초기화 하였고 상기 룩-업 테이블의 정의에 따라 프리픽스-길이도 '0'이되므로, 상기 제 1 부호어의 길이는 '0'이 된다. 즉, 상기 프리픽스-길이와 프리픽스 값에 의한 제 1 부호어는 존재하지 않으며, 룩-업 테이블에서 정의되어추출 할 수 있는 부호어가 첫번째 부호어가 된다. 이는 제 1부호어가 없는 경우에 해당하는 것이다.(S304)Subsequently, the generated prefix-length and the suffix-length of the previous unit data are added to obtain a length of the first codeword (ie, a codeword that spans the current unit data and the previous unit data) extracted first. In step S201, the suffix-length of the previous unit data is initialized to '0', and the prefix-length is also '0' according to the definition of the look-up table, so that the length of the first codeword is '0'. . That is, the first codeword based on the prefix-length and the prefix value does not exist, and the codeword defined and extracted in the look-up table becomes the first codeword. This is the case when there is no first codeword (S304).

이어, 상기 룩-업 테이블의 정의에 따라 생성된 프리픽스-값 '0'을, 상기 이전 단위 데이터의 서픽스-값 '0'과 2K(K는 프리픽스-길이로서 '0')와를 이진연산으로 곱한 값과 더해서, 상기 제 1 부호어의 값을 구하는데, 그 결과값은 '0'이된다.(S305)Subsequently, the prefix-value '0' generated according to the definition of the look-up table is converted into the suffix-value '0' and 2K (K is '0' as the prefix-length) of the previous unit data. In addition to the multiplied value, a value of the first codeword is obtained, and the result is '0' (S305).

즉, 상기 단계 S204 및 S205의 수행 결과 상기 제 1 단위 데이터와 이전 단위 데이터에 걸쳐 있는 제 1 부호어의 길이와 값이 모두 '0'이므로 해당 부호어는 없는 것으로 판명된다.That is, as a result of performing steps S204 and S205, since the length and the value of the first codeword that span the first unit data and the previous unit data are both '0', it is found that there is no corresponding codeword.

다음, 상기 해당 룩-업 테이블의 상기 인덱스1에서 부호어-수의 값인 '1'을 읽고(S306), 그 부호어-수인 1회 만큼 상기 내부 부호어의 길이 '3'과 그 내부 부호어의 값 '001'을 상기 인덱스1을 통해서 읽는다(S307).Next, '1', which is the value of the codeword-number, is read from the index 1 of the look-up table (S306), and the length of the inner codeword '3' and the internal codeword are performed by the codeword-number once. The value '001' is read through the index 1 (S307).

그리고, 상기 제 1 단위 데이터에 대한 서픽스-길이 '3'과 그 서픽스-값 '0'을 상기 인덱스1의 해당 필드에 저장하여 그 제 1 단위 데이터에 대한 부호어 추출과정을 종료한 후(S308), 상기 단계 S301 내지 S308을 반복 수행하여 이어지는 단위 데이터에서의 부호어 추출과정을 계속적으로 수행함으로써, 입력되는 비트열에서 UVLC에 정의된 부호어를 모두 추출하도록 한다.After the suffix-length '3' and the suffix-value '0' of the first unit data are stored in a corresponding field of the index 1, the codeword extraction process for the first unit data is finished. (S308) By repeatedly performing the steps S301 to S308, the codeword extraction process is continuously performed on the unit data, thereby extracting all the codewords defined in the UVLC from the input bit stream.

상기에서는 상기 비트열에서 초기의 6비트 단위 데이터인 제 1 단위 데이터 '001000'에 대한 부호어 추출과정만을 설명하였으며, 이후의 6비트 단위 데이터로서의 현재 단위 데이터 '011100'(이하, 제 2 단위 데이터라 칭함)에서의 부호어 추출과정을 설명하면 다음과 같다.In the above description, only the codeword extraction process for the first unit data '001000', which is the initial 6-bit unit data in the bit string, has been described, and the current unit data '011100' as the 6-bit unit data thereafter (hereinafter, referred to as second unit data) is described. Referring to the codeword extraction process in the following).

먼저, 단계 S301에서는 상기 인덱스 1의 해당 필드에 저장된 상기 제 1 단위데이터의 상기 서픽스-길이 '3'과 그 서픽스-값 '0'을 읽어오고, 단계 S302에서 현재 사용 테이블을 결정하는데, 상기 제 2 단위 데이터의 최상위 비트가 부호어의 짝수번째 비트이므로 여기서는 짝수 룩-업 테이블을 사용한다.First, in step S301, the suffix-length '3' and the suffix-value '0' of the first unit data stored in the corresponding field of the index 1 are read, and in step S302, the current usage table is determined. Since the most significant bit of the second unit data is the even bit of the codeword, an even look-up table is used here.

이어 단계 S303에서, 상기 제 1 단위 데이터 '001000'에 이어지는 비트열로서의 6비트 단위 데이터 '011100'을 제 2 단위 데이터로 읽어와서 현재 사용 테이블인 짝수 룩-업 테이블의 인덱스로 사용한다.Subsequently, in step S303, 6-bit unit data '011100' as a bit string subsequent to the first unit data '001000' is read as second unit data and used as an index of an even look-up table that is a currently used table.

도 2를 참조로 상술된 룩-업 테이블의 정의에 따르면, 상기 제 2 단위 데이터 '011100'에서 프리픽스-길이는 '2', 프리픽스-값은 이진수로 '01' 십진수로 '1', 서픽스-길이는 '2', 서픽스-값은 '0' 및 내부 부호어-수는 '2'이고, 그 부호어-수에 따른 2개의 내부 부호어는 상기 제 2 단위 데이터 '011100'에서 세번째 비트인 '1'과 네 번째 비트인 '1'이다.According to the definition of the look-up table described above with reference to FIG. 2, in the second unit data '011100', the prefix-length is '2', the prefix-value is '01' in binary, '1' in decimal, and the suffix. The length is '2', the suffix value is '0' and the inner codeword-number is '2', and the two inner codewords according to the codeword-number are the third bit in the second unit data '011100'. Is '1' and the fourth bit is '1'.

이어 단계 S304에서, 상기 생성된 프리픽스-길이와 이전 단위 데이터의 서픽스-길이를 더해서 맨처음 추출되는 제 1 부호어(즉, 현재 단위 데이터인 제 2 단위 데이터와 이전 단위 데이터인 제 1 단위 데이터간에 걸쳐 있는 부호어)의 길이를 구하는데, 상기 단계 S301에서 이전 단위 데이터로서의 상기 제 1 단위 데이터의 서픽스-길이는 '3'이고 상기 룩-업 테이블의 정의에 따라 프리픽스-길이는 '2'가되므로, 상기 제 2 단위 데이터의 제 1 부호어의 길이는 '5'가 된다.Then, in step S304, the first codeword extracted first by adding the generated prefix-length and the suffix-length of the previous unit data (that is, the second unit data that is the current unit data and the first unit data that is the previous unit data). The length of the codeword spanning between the suffixes), the suffix-length of the first unit data as the previous unit data is '3' and the prefix-length is '2' according to the definition of the look-up table. Since the length of the first codeword of the second unit data is '5'.

이어, 상기 룩-업 테이블의 정의에 따라 생성된 상기 프리픽스-값 '1'을, 상기 이전 단위 데이터로서의 상기 제 1 단위 데이터의 서픽스-값 '0'과 2K(K는 프리픽스-길이로서 '2'와를 이진연산으로 곱한 값)과 더해서, 상기 제 1 부호어의 값을 구하는데, 그 결과값은 이진수로 '00001'이되고 십진수로 '1'이 된다.Then, the look-a value "1", the suffix of the first unit of data as the previous unit data - said prefix generated according to the definition of up table values 0 and 2 K (K is a prefix - the length The value of the first codeword is obtained by adding '2' to a binary operation), and the result is '00001' in binary and '1' in decimal.

즉, 상기 단계 S304 및 S305의 수행 결과 현재 단위 데이터인 제 2 단위 데이터에서 이전 단위 데이터안 제 1 단위 데이터간에 걸쳐 있는 제 1 부호어는 상기 제 1 단위 데이터의 네 번재 비트부터 상기 제 2 단위 데이터의 두 번째 비트에 걸쳐 있는 부호어로서 '00001'로 추출된다.That is, as a result of performing steps S304 and S305, the first codeword that spans between the first unit data and the first unit data in the second unit data that is the current unit data is the fourth unit of the first unit data from the fourth bit of the second unit data. It is extracted as '00001' as a code word spanning the second bit.

다음, 단계 S306에서 해당 룩-업 테이블의 해당 인덱스를 통해 상기 제 2 단위 데이터의 부호어-수의 값인 '2'를 읽고, 단계 S307에서 그 부호어-수인 2회 만큼 상기 제 2 단위 데이터 '011100'에서 세번째 비트인 '1'과 네 번째 비트인 '1'을 각각 부호로로 추출하고 해당 부호어 길이와 부호어 값을 룩-업 테이블의 지정된 인덱스를 통해서 읽어낸다.Next, in step S306, the value of the codeword-number of the second unit data is read through the corresponding index of the corresponding look-up table, and in step S307, the second unit data 'is twice the codeword-number. In 011100 ', the third bit' 1 'and the fourth bit' 1 'are extracted as codes, respectively, and the corresponding codeword length and codeword value are read through the specified index of the look-up table.

그리고, 단계 S308에서 상기 제 2 단위 데이터에 대한 서픽스-길이 '2'과 그 서픽스-값 '2'를 상기 인덱스1의 해당 필드에 저장하여 그 제 2 단위 데이터에 대한 부호어 추출과정을 종료한 후, 상기 단계 S301 내지 S308을 반복 수행하여 이어지는 단위 데이터에서의 부호어 추출과정을 계속적으로 수행함으로써, 입력되는 비트열에서 UVLC에 정의된 부호어를 모두 추출하도록 한다.In operation S308, the suffix-length '2' and the suffix-value '2' of the second unit data are stored in a corresponding field of the index 1 to perform a codeword extraction process for the second unit data. After completion, the steps S301 to S308 are repeatedly performed to continuously perform the codeword extraction process from the unit data, thereby extracting all the codewords defined in the UVLC from the input bit stream.

상술된 본 발명의 부호어 추출 방법의 전 과정(단계 S301 내지 단계 S308)중에서, 상기 단계 S304 내지 S308은 병렬 구조를 이용하면 동시에 수행이 가능하여 여러개의 부호어를 동시에 추출할 수 있으며, 그 결과 고속의 다중 부호어 추출이 가능해진다.In the entire process (steps S301 to S308) of the codeword extraction method of the present invention described above, the steps S304 to S308 can be performed simultaneously by using a parallel structure, so that multiple codewords can be extracted at the same time. Fast multiple codeword extraction is possible.

이상 상세히 설명한 바와 같이 본 발명에 따른 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출 방법 및 그를 위한 룩-업 테이블 구성 방법은, 중앙연산처리장치에 부담을 주는 비트이동연산을 배제하면서 복수개의 부호어를 동시에 추출해 낼 수 있기 때문에, 추출 과정을 고속화하는 효과가 창출된다. 또한, 본 발명은 차세대 국제 동영상 부호화 표준으로서의 H.26L의 고유 특성인 UVLC의 고속 부호어 추출 기법을 제시함으로서, 차세대 통신 시스템의 모든 단말기에 사용될 수 있다. 또한, 본 발명의 적용 시스템에서 최적으로 처리할 수 있는 데이터의 단위에 따라서 적응적으로 룩-업 테이블을 설계하여 해당 시스템에 적용할 수 있으므로, 그 사용 범위가 매우 광범위하게 적용되는 장점을 가진다.As described in detail above, a method for extracting a universal variable length code (UVLC) codeword according to the present invention and a method of constructing a look-up table therefor include a plurality of codewords while excluding bit shift operations that burden the central processing unit. Can be extracted at the same time, thereby speeding up the extraction process. In addition, the present invention proposes a fast codeword extraction technique of UVLC, which is a unique characteristic of H.26L as a next-generation international video coding standard, and can be used in all terminals of a next-generation communication system. In addition, since the look-up table can be adaptively designed and applied to the system according to the unit of data that can be optimally processed in the application system of the present invention, its use range is very widely applied.

Claims (10)

유니버셜 가변 길이 코드(UVLC) 테이블에 정의된 부호어들을 비트열에서 추출하는 방법에 있어서,A method for extracting codewords defined in a universal variable length code (UVLC) table from a bit string, 상기 비트열에서 한 번에 처리할 단위 데이터 크기를 설정하는 제 1 단계;A first step of setting a unit data size to be processed at one time in the bit string; 상기 비트열중 선택된 현재의 단위 데이터에 대하여 인덱스를 부여하는 제 2 단계;A second step of assigning an index to the current unit data selected from the bit strings; 상기 현재 단위 데이터에서의 부호어 추출 과정에서, 추출가능한 부호어를 모두 추출한 후 남은 비트들 중 첫 번째 비트부터 마지막 비트까지의 길이를 제 1 정보로 정의하는 제 3 단계;A third step of defining, as first information, a length from a first bit to a last bit among remaining bits after extracting all extractable codewords in the codeword extraction process in the current unit data; 상기 제 1 정보에 해당하는 비트의 2진값을 제 2 정보로 정의하는 제 4 단계;A fourth step of defining a binary value of a bit corresponding to the first information as second information; 상기 현재 단위 데이터 중, 최상위 비트부터 이전 단위 데이터에 속한 부호어의 연장 비트까지의 길이를 제 3 정보로 정의하는 제 5 단계;A fifth step of defining, as third information, a length from a most significant bit to an extension bit of a codeword belonging to previous unit data among the current unit data; 상기 제 3 정보에 해당하는 비트의 2진값을 제 4 정보(Prefix-Value)로 정의하는 제 6 단계;A sixth step of defining a binary value of a bit corresponding to the third information as fourth information (Prefix-Value); 상기 현재 단위 데이터내에서, 추출가능한 부호어의 개수를 제 5 정보로 정의하는 제 7 단계;A seventh step of defining the number of extractable codewords as fifth information in the current unit data; 상기 제 5 정보에 정의된 개수의 각 부호어에 대한 길이 및 2진값을 제 6 정보로 정의하는 제 8 단계; 및An eighth step of defining length and binary values for each codeword of the number defined in the fifth information as sixth information; And 상기 정의된 제 1 내지 제 6 정보를 상기 인덱스의 해당 필드에 기록하는 제 9 단계를 포함하여 구성된 것을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법.And a ninth step of recording the defined first to sixth information in a corresponding field of the index. 제 1 항에 있어서,The method of claim 1, 상기 제 3 정보와 상기 이전 단위 데이터에서의 부호어 추출 과정에서 정의된 해당 제 1 정보를 근거로, 상기 현재 단위 데이터에서의 부호어 추출 과정에서의 최선단 부호어의 비트 길이를 정의하여, 상기 인덱스의 해당 필드에 기록하는 단계를 더 포함하여 구성함을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법.On the basis of the third information and the corresponding first information defined in the codeword extraction process from the previous unit data, the bit length of the most significant codeword in the codeword extraction process from the current unit data is defined, And writing to the corresponding field of the index. 12. The method of claim 12, further comprising: extracting a universal variable length code (UVLC) codeword. 제 2 항에 있어서,The method of claim 2, 상기 최선단 부호어의 상기 비트 길이는, 상기 제 3 정보의 값에 상기 해당 제 1 정보의 값을 더하여 구하는 것을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법.The bit length of the most significant codeword is obtained by adding the value of the first information to the value of the third information, and configuring a look-up table for multiplexing of variable length code (UVLC) codewords. Way. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 제 3 정보, 상기 제 4 정보 및 상기 이전 단위 데이터에서의 부호어 추출 과정에서 정의된 해당 제 2 정보를 근거로, 상기 현재 단위 데이터에서의 부호어 추출 과정에서의 최선단 부호어의 2진값을 정의하여, 상기 인덱스의 해당 필드에 기록하는 단계를 더 포함하여 구성함을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법.Based on the third information, the fourth information and the corresponding second information defined in the codeword extraction process in the previous unit data, the binary value of the most significant codeword in the codeword extraction process in the current unit data. And defining and writing the data in a corresponding field of the index. 11. The method of claim 12, further comprising: extracting the Universal Variable Length Code (UVLC) codeword. 제 4 항에 있어서,The method of claim 4, wherein 상기 최선단 부호어의 상기 2진값은, 상기 해당 제 2 정보값으로부터 상기 제 3 정보값의 비트수만큼 비트 이동한 값에, 상기 제 4정보값을 더하여 구하는 것을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법.The binary value of the most significant codeword is obtained by adding the fourth information value to a value shifted bit by the number of bits of the third information value from the second information value. UVLC) A Look-up Table Construction Method for Codeword Multiple Extraction. 제 4 항에 있어서,The method of claim 4, wherein 상기 최선단 부호어의 상기 2진값은, 상기 해당 제 2 정보값과 2K값의 이진값을 곱한 값에, 상기 제 4 정보값을 더하여 구하고, 여기서 K는 상기 제 3 정보값인 것을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법.To the binary value of the best single codeword is multiplied by the binary value of the associated second information value and the 2 K value value, obtained by adding the fourth values, where K is characterized in that the third information value A method of constructing a look-up table for extracting universal variable length code (UVLC) codewords. 제 4 항에 있어서,The method of claim 4, wherein 상기 룩업-테이블은, 상기 현재 단위 데이터의 최상위 비트(MSB)가 상기 최선단 부호어의 짝수번째 비트일 경우와 홀수번째 비트일 경우를 구분하여 각각 짝수 룩업-테이블과 홀수 룩업-테이블로 구성함을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출을 위한 룩-업 테이블 구성 방법.The lookup-table includes an even lookup-table and an odd lookup-table, respectively, when the most significant bit (MSB) of the current unit data is an even bit and an odd bit of the most significant codeword. 12. A method for constructing a look-up table for universal variable length code (UVLC) codeword multiplexing. 유니버셜 가변 길이 코드(UVLC) 테이블에 정의된 부호어들을 비트열에서 추출하는 복호화 방법에 있어서,A decoding method for extracting codewords defined in a universal variable length code (UVLC) table from a bit string, 해당 비트열중 선택된 기 설정된 크기의 현재 단위 데이터에서의 부호어 추출 과정에서 추출가능한 부호어를 모두 추출한 후 남은 비트들 중 첫 번째 비트부터 마지막 비트까지의 길이를 제 1 정보로 정의하고, 그 제 1 정보에 해당하는 비트의 2진값을 제 2 정보로 정의하고, 상기 현재 단위 데이터 중 최상위 비트부터 이전 단위 데이터에 속한 부호어의 연장 비트까지의 길이를 제 3 정보로 정의하고, 그 제 3 정보에 해당하는 비트의 2진값을 제 4 정보로 정의하고, 상기 현재 단위 데이터내에서 추출가능한 부호어의 개수를 제 5 정보로 정의하고, 그 제 5 정보에 정의된 개수의 각 부호어에 대한 길이 및 2진값을 제 6 정보로 정의하는 제 1 단계;After extracting all the extractable codewords in the process of extracting the codeword from the current unit data of the selected preset size of the bit string, the length from the first bit to the last bit among the remaining bits is defined as first information, and the first The binary value of the bit corresponding to the information is defined as the second information, and the length from the most significant bit of the current unit data to the extension bit of the codeword belonging to the previous unit data is defined as the third information. A binary value of a corresponding bit is defined as fourth information, the number of codewords that can be extracted in the current unit data is defined as fifth information, the length of each codeword of the number defined in the fifth information, and A first step of defining a binary value as sixth information; 입력된 비트열에서 상기 기 설정된 크기의 현재 단위 데이터를 읽어 현재 사용 테이블의 인덱스를 부여함과 아울러, 이전 단위 데이터의 이전 과정의 상기 제 1 정보와 상기 제 2 정보를 '0'으로 초기화하는 제 2 단계;Reading the current unit data of the preset size from the input bit string, assigning an index of a current use table, and initializing the first information and the second information of a previous process of the previous unit data to '0'; Two steps; 상기 정의된 제 3정보값을 생성하고, 그 생성된 제 3 정보값과 상기 이전 단위 데이터의 해당 제 1 정보값을 더하여 제 1 부호어의 길이를 구하는 제 3 단계;A third step of generating the defined third information value and obtaining the length of the first codeword by adding the generated third information value and the corresponding first information value of the previous unit data; 상기 정의된 제 4 정보값을 생성하고, 상기 이전 단위 데이터의 해당 제 2 정보값으로부터 상기 제 3 정보값의 비트수만큼 비트 이동한 값에 상기 제 4정보값을 더하여 상기 제 1 부호어의 값을 구하는 제 4 단계; 및The value of the first codeword is generated by generating the defined fourth information value and adding the fourth information value to a value shifted bit by the number of bits of the third information value from the corresponding second information value of the previous unit data. Obtaining a fourth step; And 상기 정의된 제 5 정보 및 제 6 정보에 근거하여, 상기 제 1 부호어에 후속하는 부호어의 길이 및 값을 추출하는 제 5 단계를 포함하여 구성된 것을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출 방법.And a fifth step of extracting a length and a value of a codeword subsequent to the first codeword based on the defined fifth information and sixth information. Er multiple extraction method. 제 8 항에 있어서,The method of claim 8, 상기 제 3 단계 내지 상기 제 5 단계는 상호 병렬 수행함을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출 방법.And the third to fifth steps are performed in parallel with each other. 제 8 항에 있어서,The method of claim 8, 상기 현재 단위 데이터의 상기 제 1 정보값과 상기 제 2 정보값은 다음 단위 데이터에서의 부호어 추출을 위하여 저장함을 특징으로 하는 유니버셜 가변 길이 코드(UVLC) 부호어 다중 추출 방법.And storing the first information value and the second information value of the current unit data for extracting codewords from the next unit data.
KR10-2001-0082843A 2001-12-21 2001-12-21 UVLC Multiple Decoding Method KR100462060B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0082843A KR100462060B1 (en) 2001-12-21 2001-12-21 UVLC Multiple Decoding Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0082843A KR100462060B1 (en) 2001-12-21 2001-12-21 UVLC Multiple Decoding Method

Publications (2)

Publication Number Publication Date
KR20030052803A true KR20030052803A (en) 2003-06-27
KR100462060B1 KR100462060B1 (en) 2004-12-17

Family

ID=29577546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0082843A KR100462060B1 (en) 2001-12-21 2001-12-21 UVLC Multiple Decoding Method

Country Status (1)

Country Link
KR (1) KR100462060B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009116713A1 (en) * 2008-03-21 2009-09-24 Electronics And Telecommunications Research Institute Method for generating variable format code
WO2016171472A1 (en) * 2015-04-23 2016-10-27 김정훈 Method and apparatus for encoding and decoding data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0148148B1 (en) * 1994-02-28 1998-09-15 김광호 Variable length coding method of image signal using variable length coding table
KR100565707B1 (en) * 1998-09-25 2006-05-25 엘지전자 주식회사 Modified vlc table and method of coding by modified vlc table
KR100856398B1 (en) * 2000-05-17 2008-09-04 삼성전자주식회사 Variable-length coding and decoding method and apparatus using plural mapping tables
US6801668B2 (en) * 2000-12-20 2004-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Method of compressing data by use of self-prefixed universal variable length code
US9999999B2 (en) * 2014-12-10 2018-06-19 Inglass S.P.A. Injector for plastic material injection molding apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009116713A1 (en) * 2008-03-21 2009-09-24 Electronics And Telecommunications Research Institute Method for generating variable format code
WO2016171472A1 (en) * 2015-04-23 2016-10-27 김정훈 Method and apparatus for encoding and decoding data

Also Published As

Publication number Publication date
KR100462060B1 (en) 2004-12-17

Similar Documents

Publication Publication Date Title
US5696507A (en) Method and apparatus for decoding variable length code
KR100813877B1 (en) Effective decoding method of h.264/avc context-based adaptive variable length coding
US5652583A (en) Apparatus for encoding variable-length codes and segmenting variable-length codewords thereof
US5550542A (en) Variable length code look-up table having separate code length determination
US5877711A (en) Method and apparatus for performing adaptive data compression
JP2002016500A (en) Method and device for variable length encoding and decoding using plural mapping tables
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
KR100486251B1 (en) Decoding apparatus for variable length code and method thereof
Hashemian Condensed table of Huffman coding, a new approach to efficient decoding
CN114614833A (en) Test data compression and decompression method for self-adaptive run-length coding
US5825312A (en) DX JPEG Huffman decoder
JP4841496B2 (en) Variable length code decoding apparatus
CN110602498B (en) Self-adaptive finite state entropy coding method
EP1041721A2 (en) Decoding device for Huffman-encoded data
US5648775A (en) High speed variable length code decoding apparatus
US5736946A (en) High speed apparatus and method for decoding variable length code
KR100462060B1 (en) UVLC Multiple Decoding Method
KR20010087269A (en) Variable length decoding system and method
US5754128A (en) Variable-length code encoding and segmenting apparatus having a byte alignment unit
US6798365B2 (en) JPEG Huffman table decoder and method thereof based on binary search technique
US6501398B2 (en) Variable-length code decoder using barrel shifters and a look-up table
CN114614832A (en) Test data compression and decompression method based on front and back run length coding
JP3429623B2 (en) High-speed variable-length code decoding device
WO2002051159A2 (en) Method of compressing data by use of self-prefixed universal variable length code
Fu et al. Generalized multiplication-free arithmetic codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121203

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131202

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20141126

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20151130

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20161130

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20181204

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20191203

Year of fee payment: 16