KR100233538B1 - Run-level symbol decoder and the method - Google Patents

Run-level symbol decoder and the method Download PDF

Info

Publication number
KR100233538B1
KR100233538B1 KR1019970012538A KR19970012538A KR100233538B1 KR 100233538 B1 KR100233538 B1 KR 100233538B1 KR 1019970012538 A KR1019970012538 A KR 1019970012538A KR 19970012538 A KR19970012538 A KR 19970012538A KR 100233538 B1 KR100233538 B1 KR 100233538B1
Authority
KR
South Korea
Prior art keywords
run
data
level
address
scan pattern
Prior art date
Application number
KR1019970012538A
Other languages
Korean (ko)
Other versions
KR19980076043A (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 KR1019970012538A priority Critical patent/KR100233538B1/en
Priority to US09/054,402 priority patent/US6100826A/en
Priority to EP19980302648 priority patent/EP0869680A3/en
Priority to JP9187798A priority patent/JPH1146363A/en
Priority to CNB981087949A priority patent/CN1160867C/en
Publication of KR19980076043A publication Critical patent/KR19980076043A/en
Application granted granted Critical
Publication of KR100233538B1 publication Critical patent/KR100233538B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10481Improvement or modification of read or write signals optimisation methods
    • G11B20/10509Improvement or modification of read or write signals optimisation methods iterative methods, e.g. trial-and-error, interval search, gradient descent or feedback loops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10018Improvement or modification of read or write signals analog processing for digital recording or reproduction

Landscapes

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

Abstract

개시된 내용은 부호화 과정에서 이용된 것과 동일한 스캔패턴에 따라 [런,레벨]심볼들을 복호화하기 위한 방법 및 장치에 관한 것이다. 본 발명의 장치는 [런,레벨]심볼을 입력받아 런 및 레벨의 데이타로 분리하여 각각 출력하는 심볼분리부와, 기설정된 크기의 블록단위 런-레벨 복호화 시작전마다 인가되는 초기화신호에 따라 모든 저장내용을 “0”으로 리세트시키며 분리된 레벨데이타를 해당 위치에 저장하여 런-레벨복호화된 데이타를 얻어내는 데이타저장부, 및 복수의 스캔패턴들에 대한 블록내의 어드레스를 저장하고, 분리된 런데이타로부터 현재 어드레스포인터를 변경하며 입력되는 스캔패턴데이타에 근거하여 가변장부호화시 사용된 스캔패턴과 동일한 스캔패턴의 어드레스들중 현재 어드레스포인터가 지시하는 위치에 저장된 어드레스를 레벨데이타 저장을 위한 어드레스로 출력하는 어드레스출력부로 구성된다. 따라서, 본 발명은 [런,레벨]심볼을 복호화하는 데 1클럭이 소요되므로 전체적인 시스템의 동작속도를 향상시킬 수 있는 효과를 제공한다.The disclosed content relates to a method and apparatus for decoding [run, level] symbols according to the same scan pattern as used in the encoding process. The apparatus of the present invention receives a [run, level] symbol and separates the data into run and level data, respectively, and outputs them. A data storage unit for resetting the stored contents to “0” and storing the separated level data in the corresponding position to obtain run-level decoded data, and storing the addresses in the blocks for the plurality of scan patterns. Based on the scan pattern data inputted from the run data, the address stored in the position indicated by the current address pointer among the addresses of the same scan pattern as the scan pattern used for variable length encoding is used for storing the level data. It consists of an address output section for outputting. Therefore, the present invention takes one clock to decode the [run, level] symbol, thereby providing an effect of improving the operation speed of the overall system.

Description

런-레벨심볼 복호화방법 및 장치Run-level symbol decoding method and apparatus

본 발명은 다양한 스캔패턴들중 선택된 하나의 스캔패턴을 이용하여 가변장부호화된 런-레벨심볼을 복호화하는 복호화시스템에 관한 것으로, 보다 상세하게는, 시스템의 동작속도를 향상시킬 수 있도록 한 런-레벨심볼 복호화방법 및 장치에 관한 것이다.The present invention relates to a decoding system for decoding a variable length coded run-level symbol by using a selected scan pattern among various scan patterns. More particularly, the present invention provides a method for improving an operation speed of a system. The present invention relates to a level symbol decoding method and apparatus.

최근에, 영상 및 음성신호를 전송하거나 또는 저장매체에 저장기 위하여 디지탈데이타로 부호화하며, 영상신호 및 음성신호를 재생하기 위하여 부호화된 디지탈데이타를 복호화하는 다양한 방법이, 영상신호 및 음성신호를 전송 및 수신하기 위한 시스템에서 사용되었다. 그러나, 이러한 부호화 및 복호화시스템에서의 데이타 전송효율을 증진시키기 위하여 전송데이타량을 더욱 줄이기 위한 기법이 요구되었다. 전송하거나 저장할 디지탈데이타를 부호화하기 위한 방법들의 예로는 변환(transformation)부호화법, 차분펄스부호변조(Differential Pulse Code Modulation; DPCM)법, 벡터양자화법 및 가변장부호화법등이 있다. 이러한 부호화방법들은 전송되거나 저장된 디지탈데이타에 들어있는 여분의(redundant) 데이타를 제거하므로써 전체 데이타량을 압축한다.Recently, various methods of transmitting video and audio signals or encoding the digital data for storage in a storage medium, and decoding the encoded digital data for reproducing the video and audio signals, transmit video and audio signals. And in a system for receiving. However, in order to improve data transmission efficiency in such an encoding and decoding system, a technique for further reducing the amount of transmission data has been required. Examples of methods for encoding digital data to be transmitted or stored include transform coding, differential pulse code modulation (DPCM), vector quantization, and variable length coding. These coding methods compress the total amount of data by removing redundant data in the transmitted or stored digital data.

각 프레임의 영상데이타는 기설정된 크기(size)의 블록들로 분할되며, 영상신호의 저장, 전송 및 수신을 위해 부호화 및 복호화시스템에서 데이타 처리된다. 각 블록데이타 또는 블록데이타간의 차분데이타는 직교변환(orthogonal-transform)되어, 영상데이타가 주파수영역(frequency domain)의 변환계수들로 변환된다. 알려진 블록데이타 변환방법들로는, 이산코사인변환(Discrete Cosine Transform; DCT), 월시-하다마르변환(Walsh-Hadamard Transform; WHT), 이산퓨리에변환(Discrete Fourier Transform; DFT) 및 이산사인변환(Discrete Sine Transform; DST)등이 있다. 이러한 변환방법들에 의해 얻어진 변환계수들은 계수데이타의 특성에 따라 적절히 양자화 및 가변장부호화되어, 압축효율이 증가된다. 인간의 시각적 인지(認知)는 고주파보다 저주파에 더욱 민감하므로, 고주파데이타는 데이타처리에 의해 감소된다. 따라서, 부호화된 데이타량은 감소되어질 수 있다.The image data of each frame is divided into blocks of a predetermined size and processed in an encoding and decoding system for storing, transmitting, and receiving image signals. Each block data or difference data between the block data is orthogonal-transformed, and the image data is converted into transform coefficients of a frequency domain. Known block data transformation methods include Discrete Cosine Transform (DCT), Walsh-Hadamard Transform (WHT), Discrete Fourier Transform (DFT) and Discrete Sine Transform. ; DST). The conversion coefficients obtained by these conversion methods are appropriately quantized and variable length coded according to the characteristics of the coefficient data, thereby increasing the compression efficiency. Since human visual perception is more sensitive to low frequencies than high frequencies, high frequency data is reduced by data processing. Thus, the encoded data amount can be reduced.

가변장부호화를 위한 장치는 심볼들의 발생빈도들에 근거하여 데이타를 압축하는 것으로서, 입력되는 심볼들을 가변장부호화하기 위한 가변장코드테이블을 구비하고 있다. 이 가변장코드테이블은 허프만부호화(Huffman coding)기법에 따라 설계된다. 허프만부호화는 잘 알려진 것처럼 발생빈도가 상대적으로 높은 심볼일수록 길이가 짧은 코드를 배정하고 발생빈도가 상대적으로 낮은 심볼일수록 길이가 긴 코드를 배정한다. 기존의 부호화시스템에서 가변장부호화장치로 입력하는 심볼들은 통상 런-랭스(run-length)부호화에 의해 얻어진 [런,레벨]심볼들이다. 영상표준화에 관련한 MPEG 등의 경우, 8×8화소 크기(size)의 블록들로 분할된 영상데이타는 주파수영역으로 변환된 다음 양자화된다. 양자화된 변환계수들은 8×8 크기의 2차원 주파수영역에서 표현되는 것으로, 2차원 주파수공간의 저주파로부터 고주파로 스캔하는 잘 알려진 지그재그스캔(zigzag scan)에 의해 [런,레벨]심볼들로 부호화된다. 여기서, 런(run)은 “0”이 아닌 계수들간의 “0”의 발생횟수를 의미하며, 레벨(level)은 “0”이 아닌 계수의 절대값을 의미한다. 8×8 크기의 주파수영역의 경우, 런은 “0”이 아닌 계수의 절대값을 의미한다. 8×8 크기의 주파수영역의 경우, 런은 “0”부터 “63”까지의 값들을 가질 수 있으며, 양자화된 변환계수가 “-255”부터 “255”까지의 정수값인 경우, 레벨은 “1”부터 “255”까지의 값이며 그 부호(sign)는 별도로 표시된다.The apparatus for variable length coding compresses data based on frequency of occurrence of symbols, and has a variable length code table for variable length coding the input symbols. This variable long code table is designed according to the Huffman coding technique. Huffman coding, as is well known, assigns shorter codes to symbols with relatively high occurrence frequency and codes with longer codes to symbols with relatively low occurrence frequency. In the conventional coding system, the symbols input to the variable length encoding apparatus are [run, level] symbols that are usually obtained by run-length encoding. In the case of MPEG or the like related to image standardization, image data divided into blocks of 8x8 pixel size is converted into a frequency domain and then quantized. The quantized transform coefficients are represented in 8-by-8 size two-dimensional frequency domain, and are encoded into [run, level] symbols by a well-known zigzag scan that scans from a low frequency in a two-dimensional frequency space to a high frequency. . Here, run means the number of occurrences of "0" between coefficients that are not "0", and level means the absolute value of the coefficient which is not "0". For an 8x8 frequency domain, run means the absolute value of the coefficient other than "0". For an 8x8 frequency domain, a run can have values from "0" to "63". If the quantized transform coefficient is an integer value from "-255" to "255", the level is " It is a value from 1 ”to“ 255 ”and its sign is marked separately.

지그재그스캔패턴의 사용은 영상신호의 에너지가 DC성분을 중심으로 저주파영역에 집중되는 현상에서 기인된 것이다. 그러나, 영상신호의 에너지는 영상신호의 패턴에 따라 수평방향 또는 수직방향의 주파수성분 쪽으로 또는 수직주파수성분 쪽으로 보다 집중적으로 또는 보다 넓게 분포할 수 있다. 그러므로, 기존의 지그재그스캔패턴이 항상 영상데이타의 가변장부호화를 위한 최적의 스캔패턴인 것은 아니다. 따라서, 영상데이타의 분포특성들에 따라 융통성있게 2차원 주파수영역의 수평방향 또는 수직방향으로 집중될 수 있는 스캔패턴들이 가변장부호화 및 복호화를 위하여 소망되었다. 이를 위한 선행기술이 동일출원인에 의해 특허출원된 제 92-13171호의 “가변장부호화 및 복호화시스템”에 개시되어 있다.The use of the zigzag scan pattern results from the phenomenon that the energy of the image signal is concentrated in the low frequency region centered on the DC component. However, the energy of the video signal may be distributed more intensively or broadly toward the frequency component in the horizontal or vertical direction or toward the vertical frequency component according to the pattern of the video signal. Therefore, the existing zigzag scan pattern is not always an optimal scan pattern for variable length encoding of image data. Therefore, scan patterns that can be flexibly concentrated in the horizontal or vertical direction of the two-dimensional frequency domain according to the distribution characteristics of the image data are desired for variable length encoding and decoding. Prior art for this purpose is disclosed in "Variable Coded Encoding and Decoding System" of No. 92-13171 filed by the same applicant.

위의 선행기술에 따르면, 기설정된 크기의 블록들로 구분된 디지탈데이타를 다양한 스캔패턴들에 따라 가변장부호화되며, 가변장부호화된 데이타의 길이는 스캔패턴들 각각에 대응되게 누적되며, 최소의 누적길이에 대응하는 스캔패턴을 선택된다. 선택된 스캔패턴 및 선택된 스캔패턴에 대응하는 가변장부호화된 데이타 둘다는 전송된다.복호화를 위해, 전송된 가변장부호화된 데이타는 가변장부호화시 선택된 스캔패턴과 동일한 스캔패턴에 따라 스캔하면서 가변장복호된다. 따라서, 블록데이타의 가변장부호화 및 복호화에서 최적의 스캔패턴이 사용되어져 데이타압축효율을 보다 향상되어진다. 선출원서의 제6도에 기재되어 있는 가변장복호화장치를 여기에서 제1도에 도시하였으며, 이러한 가변장복호화하는 장치에 대해 좀더 설명한다.According to the above prior art, the digital data divided into blocks of a predetermined size is variable length coded according to various scan patterns, and the length of the variable length coded data is accumulated corresponding to each scan pattern, The scan pattern corresponding to the cumulative length is selected. Both the selected scan pattern and the variable length coded data corresponding to the selected scan pattern are transmitted. For decoding, the transmitted variable length coded data is variable length decoded while scanning according to the same scan pattern as the selected scan pattern during variable length encoding. . Therefore, an optimal scan pattern is used for variable length encoding and decoding of block data, thereby further improving data compression efficiency. The variable length decoding apparatus described in FIG. 6 of the previous application is shown in FIG. 1, and the variable length decoding apparatus will be described in more detail.

제1도는 종래 가변장복호화장치의 실시예를 보여준다. 제1도를 참조하면, 부호화장치(미도시)로부터 전송된 가변장부호화된 데이타(DVLC) 및 대응하는 스캔패턴데이타(DSCAN)는 가변장복호화부(11) 및 스캔패턴선택부(12)로 각각 입력한다. 가변장복호화부(11)는 입력하는 가변장부호화된 데이타(DVLC)를 가변장복호화테이블에 따라[런,레벨]심볼로 변환시킨다. 스캔패턴선택부(12)는 1부터 N까지의 다양한 스캔패턴들에 따른 스캔어드레스들을 스캔패턴들 각각에 대응되게 저장하는 것으로서, 입력된 스캔패턴데이타(DSCAN)에 대응하는 스캔어드레스들(ADDRs)을 선택하여 출력한다. 런-레벨복호화부(13)는 가변장복호화부(11)로부터 입력하는 [런,레벨]심볼들을 스캔패턴선택부(12)로부터 입력된 대응하는 스캔어드레스들(ADDRs)에 따라 2차원 공간영역(spatial domain)에서 표현되는 양자화계수들로 변환한다. 그런 다음, 양자화계수들은 역양자화부(미도시)로 공급된다.1 shows an embodiment of a conventional variable length decoding apparatus. Referring to FIG. 1, the variable length coded data D VLC and the corresponding scan pattern data D SCAN transmitted from an encoding device (not shown) may be converted into a variable length decoder 11 and a scan pattern selector 12. Enter each). The variable length decoding unit 11 converts the input variable length encoded data D VLC into [run, level] symbols according to the variable length decoding table. The scan pattern selector 12 stores scan addresses corresponding to various scan patterns 1 to N corresponding to each of the scan patterns, and scan addresses ADDRs corresponding to the input scan pattern data D SCAN . Select) to print. The run-level decoding unit 13 generates the [run, level] symbols input from the variable length decoding unit 11 according to the corresponding scan addresses ADDRs input from the scan pattern selection unit 12. Convert to quantization coefficients expressed in the spatial domain. The quantization coefficients are then supplied to an inverse quantization unit (not shown).

그러나, 이러한 기존의 가변장복호화장치에서, 런-레벨복호화부(13)가 하나의 [런,레벨]심볼을 복호화하는 데 런-랭스만큼의 갯수에 “1”를 더한 수만큼의 클럭이 소요된다. 그러므로 기존의 가변장복호화장치는 동작속도가 높지 않은 시스템에서만 사용할 수 있다. 따라서, 단위시간당 더 많은 심볼을 복호화해야 하는 HD-TV시스템과 같은 고속시스템에서 사용하기가 어려운 문제가 있었다.However, in such a conventional variable length decoding apparatus, it is necessary for the run-level decoding unit 13 to decode one [run, level] symbol as many times as the run length is added to "1". do. Therefore, the existing variable length decoding device can be used only in the system with low operation speed. Therefore, there is a problem that it is difficult to use in high-speed systems such as HD-TV system that need to decode more symbols per unit time.

따라서, 본 발명의 목적은 전술한 문제점을 해소할 수 있도록 고속으로 [런,레벨]심볼을 복호화하기 위한 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a method for decoding [run, level] symbols at high speed so as to solve the above problems.

본 발명의 다른 목적은 전술한 런-레벨심볼 복호화방법을 하드웨어로 구현하기 위한 장치를 제공함에 있다.Another object of the present invention is to provide an apparatus for implementing the aforementioned run-level symbol decoding method in hardware.

제1도는 종래 가변장복호화장치의 실시예를 나타낸 블록도.1 is a block diagram showing an embodiment of a conventional variable length decoding apparatus.

제2도는 본 발명의 바람직한 실시예에 따른 런-레벨심볼 복호화장치를 나타내는 블록도.2 is a block diagram showing a run-level symbol decoding apparatus according to a preferred embodiment of the present invention.

제3도는 제2도 장치의 어드레스출력부를 나타내는 상세도.3 is a detailed view showing the address output portion of the FIG.

제4도는 제2도 장치의 동작을 설명하기 위한 타이밍도.4 is a timing diagram for explaining the operation of the device of FIG.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

21 : 심볼분리부 22 : 어드레스출력부21: symbol separation unit 22: address output unit

23 : 데이타저장부 221 : 가산기23: data storage unit 221: adder

222 : 어드레스테이블222 address table

이와 같은 목적들을 달성하기 위한 본 발명의 런-레벨심볼 복호화방법은, [런,레벨]심볼 및 스캔패턴데이타를 입력받아 복호화하는 방법에 있어서, (1) 초기화신호가 인가될 때 마다 저장된 모든 내용을 “0”으로 리세트시키는 단계와, (2) [런,레벨]심볼을 입력받아 런 및 레벨의 데이타로 분리하여 각각 출력하는 단계와, (3) 상기 스캔패턴데이타 및 상기 분리된 런데이타를 입력받아 상기 레벨데이타 저장위치를 지시하는 어드레스를 출력하는 단계, 및 (4) 상기 분리된 레벨데이타를 저장하는 단계를 포함한다.The run-level symbol decoding method of the present invention for achieving the above objects is a method of receiving and decoding [run, level] symbols and scan pattern data, (1) all the contents stored each time the initialization signal is applied; Is reset to “0”, (2) receiving [run, level] symbols, separating them into run and level data and outputting them respectively; and (3) the scan pattern data and the separated run data. And receiving (4) and outputting an address indicating the level data storage location, and (4) storing the separated level data.

본 발명의 다른 목적을 달성하기 위한 본 발명의 런-레벨심볼 복호화장치는, 데이타의 부호화 처리에서 사용한 것과 동일한 스캔패턴에 따라 블록데이타를 복호화하는 장치에 있어서, 가변장복호화된 [런,레벨]심볼들을 입력받아 런 및 레벨의 데이타로 분리하여 각각 출력하는 심볼분리부와, 복수의 스캔패턴들에 대한 블록내의 어드레스를 저장하고, 상기 분리된 런데이타로부터 현재 어드레스포인터를 변경하며 상기 사용한 스캔패턴에 해당하는 스캔패턴데이타를 입력받아 그에 해당하는 스캔패턴의 어드레스들중 현재 어드레스포인터에 저장된 어드레스를 출력하는 어드레스출력부, 및 인가되는 초기화신호에 대응하여 모든 저장내용을“0”으로 리세트시키며, 상기 분리된 레벨데이타를 상기 어드레스출력부에서 출력되는 어드레스가 지시하는 위치에 저장하여 런-레벨 복호화된 데이타를 얻어내는 데이타저장부를 포함한다.The run-level symbol decoding apparatus of the present invention for achieving another object of the present invention is a variable length-decoded [run, level] in the apparatus for decoding block data according to the same scan pattern as used in the data encoding process. A symbol separator that receives the symbols and separates them into run and level data, respectively, and stores the addresses in the blocks for the plurality of scan patterns, changes the current address pointer from the separated run data, and uses the used scan pattern. An address output unit which receives the scan pattern data corresponding to the corresponding scan pattern and outputs the address stored in the current address pointer among the corresponding scan pattern addresses, and resets all the stored contents to “0” in response to the applied initialization signal. The address output from the address output unit indicates the separated level data. Stored in the location to run-level that includes the decoded data obtained parts data storage.

이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 기술하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

제2도는 본 발명에 따른 런-레벨심볼 복호화장치를 나타내는 블록도이다. 제2도에 나타낸 심볼분리부(21)는 런 및 레벨의 쌍으로 구성된 심볼을 수신하며, 수신된 심볼을 분리하여 런데이타(RUN) 및 레벨데이타(LEVEL)를 출력한다. 심볼분리부(21)는 수신된 [런,레벨]심볼로부터 얻어진 런데이타(RUN) 및 레벨데이타(LEVEL)를 거의 동시에 어드레스출력부(22) 및 데이타저장부(23)로 각각 출력한다. 어드레스 출력부(22)는 스캔패턴데이타(Scan_pattern) 및 초기화신호(initialize)를 수신하며, 스캔어드레스(ADDR)를 발생한다. 그 내부 구성을 보여주는 제3도를 참조하면, 어드레스출력부(22)는, 런데이타(RUN), 기설정된 값“1”및 피드백되는 어드레스포인터(PADDR)를 가산하는 가산기(221), 및 가산기(221)에 의해 산출된 가산결과인 어드레스포인터(PADDR)를 수신하며 스캔 어드레스(ADDR)를 출력하는 어드레스테이블(222)을 구비한다. 어드레스테이블(222)은, 각 테이블이 하나의 스캔패턴에 대응하는 스캔어드레스들을 저장하는 테이블들(P1~PN)은 대응하는 스캔패턴의 개수(N)만큼 구비한다. 테이블들(P1~PN)은 대응하는 스캔패턴에 의해 정해진 스캔순서에 일치하는 순서로 스캔어드레스들을 저장한다. 데이타저장부(23)는 초기화신호(initialize)에 따라 모든 저장내용을 “0”으로 리세트시키며, 어드레스출력부(22)에 의해 발생된 스캔어드레스(ADDR)에 따라 심볼분리부(21)로부터 수신되는 레벨데이타(LEVEL)를 저장한다.2 is a block diagram showing a run-level symbol decoding apparatus according to the present invention. The symbol separator 21 shown in FIG. 2 receives a symbol composed of a pair of run and level, separates the received symbol, and outputs run data and run level data LEVEL. The symbol separation section 21 outputs the run data RUN and the level data LEVEL obtained from the received [run, level] symbols to the address output section 22 and the data storage section 23 at about the same time. The address output unit 22 receives scan pattern data (Scan_pattern) and an initialization signal (initialize) and generates a scan address ADDR. Referring to FIG. 3 showing its internal configuration, the address output section 22 includes an adder 221 for adding run data RUN, a predetermined value "1", and an address pointer P ADDR fed back, and And an address table 222 for receiving an address pointer P ADDR which is an addition result calculated by the adder 221 and outputting a scan address ADDR. The address table 222 includes tables P1 to PN in which each table stores scan addresses corresponding to one scan pattern, as many as the number N of scan patterns. The tables P1 to PN store the scan addresses in an order corresponding to the scan order determined by the corresponding scan pattern. The data storage unit 23 resets all stored contents to “0” according to the initialization signal, and from the symbol separation unit 21 according to the scan address ADDR generated by the address output unit 22. Store the received level data (LEVEL).

초기화신호(initialize)는, 런-레벨 복호화가 매 블록에 대해 시작되기 이전에 제어기(미도시)로부터 어드레스출력부(22) 및 데이타저장부(23)로 인가된다. 초기화신호(initialize)를 수신하는 어드레스출력부(22)는 현재의 어드레스포인터(PADDR)를 초기화시켜 어드레스테이블(222)의 첫번째 스캔어드레스를 가리키도록 한다. 어드레스출력부(22)는 또한, 특정 블록에 속한 최초의 런데이타(RUN)가 수신될 때 또는 그 이전에, 어드레스테이블(222)의 테이블들(P1~PN)중 입력하는 스캔패턴데이타(Scan_pattern)에 대응하는 하나를 선택한다. 어드레스출력부(22)에 공급되는 것과 동일한 초기화신호(initialize)를 입력받은 데이타저장부(23)는 모든 저장내용을 초기값 즉, “0”으로 리세트시킨다. 데이타저장부(23)의 초기화는 데이타저장부(23)를 구성하는 모든 메모리셀(memory cell)들을 한꺼번에 “0”으로 리세트하거나 또는 행(row)단위로 메모리셀들을 리세트시키며, 이러한 초기화기술은 메모리 기술분야의 당업자에게는 통상적인 것이다.An initialization signal is applied from the controller (not shown) to the address output section 22 and the data storage section 23 before run-level decoding starts for every block. The address output unit 22 that receives the initialization signal initializes the current address pointer P ADDR to point to the first scan address of the address table 222. The address output unit 22 also inputs scan pattern data Scan_pattern among the tables P1 to PN of the address table 222 when or before the first run data RUN belonging to a specific block is received. Select the one corresponding to). The data storage unit 23, which has received the same initialization signal supplied to the address output unit 22, resets all the stored contents to an initial value, that is, "0". Initialization of the data storage unit 23 resets all memory cells constituting the data storage unit 23 to “0” at a time or resets the memory cells in a row unit. The technique is common to those skilled in the memory art.

어드레스포인터(PADDR) 및 데이타저장부(23) 둘 다가 초기화된 상태에서, 심볼분리부(21)는 미도시된 가변장복호화부로부터 인가되는 [런,레벨]심볼을 런데이타(RUN) 및 레벨데이타(LEVEL)로 분리하며, 분리된 런데이타(RUN) 및 레벨데이타(LEVEL)를 제4도에 보인 것처럼 클럭(CLOCK)의 한 펄스에 동기시켜 출력한다. 예를들어, [런,레벨]심볼이 [3,5]인 경우에 대해 심볼분리부(21)는 런데이타(RUN)를 “3”으로, 레벨데이타(LEVEL)를 “5”로 하여 각각 클럭의 한 펄스주기동안에 출력한다. 런데이타(RUN)는 어드레스출력부(22)로 입력하며, 레벨데이타(LEVEL)는 데이타저장부(23)로 입력한다.In a state in which both the address pointer P ADDR and the data storage unit 23 are initialized, the symbol separation unit 21 executes [run, level] symbols applied from the variable length decoding unit (not shown). The data is separated by the level data LEVEL, and the separated run data and the level data LEVEL are output in synchronization with one pulse of the clock clock as shown in FIG. For example, for the case where the [run, level] symbol is [3, 5], the symbol separation unit 21 sets the run data to “3” and the level data LEVEL to “5”, respectively. Output during one pulse period of clock. The run data RUN is input to the address output section 22 and the level data LEVEL is input to the data storage section 23.

런데이타(RUN)를 수신하는 어드레스출력부(22)내의 가산기(221)는 수신된 런데이타(RUN), 기설정된 값 “1” 및 피드백되는 어드레스포인터(PADDR)를 가산하며, 그 가산결과인 새로운 어드레스포인터(PADDR)를 어드레스테이블(222)로 공급한다. 어드레스테이블(222)은 선택된 테이블에서 어드레스포인터(PADDR)에 의해 지정되는 위치에 저장된 스캔어드레스(ADDR)를 데이타저장부(23)로 출력한다. 예를 들어, 선택된 테이블 P1이며 어드레스포인터(PADDR)가 위치 A1을 가리키는 상황에서 런데이타(RUN) “3”이 입력되면, 가산기(221)는 피드백되는 어드레스포인터(PADDR)의 값 “1” 및 런데이타(RUN) “3”을 가산하여 새로운 어드레스포인터(PADDR) “5”를 출력한다. 이 어드레스포인터(PADDR)를 수신하는 어드레스테이블(222)은 위치 “A5”에 저장된 스캔어드레스(ADDR)에 해당하는 저장위치에 심볼분리부(21)로부터 입력된 레벨데이타(LEVEL)를 저장한다. 이러한 데이타저장부(23)는 8×8 블록에 대응하는 저장영역들을 가지며, 저장된 데이타를 포함하여 모든 저장영역들에 들어 있는 데이타를 런-레벨복호화된 데이타로 하여 뒷단의 역양자화부(미도시)로 출력한다.The adder 221 in the address output unit 22 that receives the run data RUN adds the received run data RUN, a predetermined value “1” and the fed back address pointer P ADDR , and the addition result. The new address pointer P ADDR is supplied to the address table 222. The address table 222 outputs the scan address ADDR stored at the position designated by the address pointer P ADDR in the selected table to the data storage unit 23. For example, when run data RUN “3” is input in a situation in which the selected table P1 and the address pointer P ADDR points to the position A1, the adder 221 returns the value “1” of the address pointer P ADDR fed back. ”And RUN“ 3 ”are added to output a new address pointer (P ADDR )“ 5 ”. The address table 222 which receives the address pointer P ADDR stores the level data LEVEL input from the symbol separator 21 in a storage position corresponding to the scan address ADDR stored at position “A5”. . The data storage unit 23 has storage areas corresponding to 8 × 8 blocks, and the inverse quantization unit (not shown) uses data contained in all storage areas including the stored data as run-level decoded data. )

따라서, 제2도의 장치는, 제4도에서 보인 것처럼, [런,레벨]심볼에 대응하는 런데이타(RUN) 및 레벨데이타(LEVEL)와, 이 레벨데이타(LEVEL)를 저장하기 위한 어드레스(ADDR)를 한 클럭펄스기간동안에 모두 발생할 수 있으므로, 결국, 1클럭펄스 기간동안에 하나의 [런,레벨]심볼을 복호화할 수 있게 된다.Therefore, the apparatus of FIG. 2 has the run data (RUN) and level data (LEVEL) corresponding to the [run, level] symbol and the address ADDR for storing the level data (LEVEL) as shown in FIG. ) Can occur during one clock pulse period, so that one [run, level] symbol can be decoded during one clock pulse period.

여기서는 데이타저장부(23)가 저장하고 있던 데이타를 뒷단의 역양자화부로 출력하는 것으로 설명되었다. 이것은 런-레벨부호화된 데이타가 차례로 직교변환, 양자화, 가변장부호화 및 런-레벨부호화된 데이타가 차례로 직교변환, 양자화, 가변장부호화 및 런-레벨부호화에 관련한 당업자에게는 잘 알려진 것처럼, 심볼을 런-레벨 복호화하여 얻어진 런데이타 및 레벨데이타는 일반적으로 역직교변환을 위해 8×8 크기의 블록단위로 메모리에 저장된다. 그러므로, 런-레벨부호화된 심볼을 얻는 과정에서 양자화처리를 사용하지 않은 경우, 데이타저장부(23)에 저장된 데이타는 곧바로 역직교변환부로 공급될 수도 있다.Here, it was explained that the data stored in the data storage unit 23 outputs to the inverse quantization unit at the rear stage. This is because run-level coded data in turn runs a symbol, as is well known to those skilled in the art of orthogonal transformation, quantization, variable length coding and run-level coded data in turn relating to orthogonal transformation, quantization, variable length coding and run-level coding. Run data and level data obtained by level decoding are generally stored in memory in blocks of 8x8 size for inverse orthogonal transformation. Therefore, when the quantization process is not used in the process of obtaining the run-level coded symbol, the data stored in the data storage section 23 may be directly supplied to the inverse orthogonal transform section.

상술한 바와 같이, 본 발명은 런-레벨심볼 복호화방법 및 장치에 관한 것으로 매 블록데이타의 런-레벨 복호화 시작전에 미리 데이타저장부에 모든 저장내용을 0으로 리세트시키고 분리된 런데이타에 근거하여 레벨데이타의 저장위치를 결정하여 데이타저장부에 레벨데이타만을 저장하므로 1클럭단위로 런-레벨심볼을 복호화할 수 있어 전체적인 시스템의 동작속도를 향상시킬 수 있는 효과를 갖는다.As described above, the present invention relates to a method and apparatus for run-level symbol decoding, which resets all the stored contents to zero in the data storage unit before starting the run-level decoding of every block data and based on the separated run data. Since only the level data is stored in the data storage by determining the storage location of the level data, it is possible to decode the run-level symbols by one clock unit, thereby improving the overall operation speed of the system.

Claims (10)

[런,레벨]심볼 및 스캔패턴데이타를 입력받아 복호화하는 방법에 있어서, (1) 초기화신호가 인가될 때 마다 저장된 모든 내용을 0으로 리세트시키는 단계; (2) [런,레벨]심볼을 입력받아 런 및 레벨의 데이타로 분리하여 각각 출력하는 단계; (3) 상기 스캔패턴데이타 및 상기 분리된 런데이타를 입력받아 상기 레벨데이타 저장위치를 지시하는 어드레스를 출력하는 단계; 및 (4) 상기 분리된 레벨데이타를 저장하는 단계를 상기 어드레스가 지시하는 저장위치에 포함하는 런-레벨심볼 복호화방법.A method of receiving and decoding a [run, level] symbol and scan pattern data, the method comprising: (1) resetting all stored contents to zero each time an initialization signal is applied; (2) receiving the [run, level] symbol and outputting the run and level data separately; (3) receiving the scan pattern data and the separated run data and outputting an address indicating the level data storage location; And (4) storing the separated level data in a storage location indicated by the address. 제1항에 있어서, 상기 제(3) 단계는 (3a) 상기 스캔패턴데이타에 따라 복수개 스캔패턴들중 하나를 선택하는 단계; (3b) 상기 런데이타, 기설정된 값 “1” 및 현재 어드레스포인터를 가산하여 어드레스포인터를 변경하는 단계; 및 (3c) 상기 선택된 스캔패턴에 대한 블록내의 어드레스들중 현재 어드레스포인터가 지시하는 위치에 저장된 어드레스를 출력하는 단계를 구비함을 특징으로 하는 런-레벨심볼 복호화방법.The method of claim 1, wherein the step (3) comprises: (3a) selecting one of a plurality of scan patterns according to the scan pattern data; (3b) changing the address pointer by adding the run data, a predetermined value "1" and a current address pointer; And (3c) outputting an address stored at a position indicated by a current address pointer among the addresses in the block for the selected scan pattern. 제2항에 있어서, 상기 제(3) 단계는 상기 초기화신호가 인가될 때마다 현재 어드레스포인터를 초기화시키는 것을 특징으로 하는 런-레벨심볼 복호화방법.3. The run-level symbol decoding method of claim 2, wherein the step (3) initializes a current address pointer each time the initialization signal is applied. 제3항에 있어서, 상기 초기화신호는 매 블록데이타의 런-레벨 복호화 시작전에 인가됨을 특징으로 하는 런-레벨심볼 복호화방법.4. The run-level symbol decoding method of claim 3, wherein the initialization signal is applied before the start of run-level decoding of every block data. 제4항에 있어서, 매 런-레벨심볼 복호화에 1클럭이 소요됨을 특징으로 하는 런-레벨심볼 복호화방법.5. The run-level symbol decoding method of claim 4, wherein one run is required for every run-level symbol decoding. 데이타의 부호화 처리에서 사용한 것과 동일한 스캔패턴에 따라 블록데이타를 복호화하는 장치에 있어서, 가변장복호화된 [런,레벨]심볼들을 입력받아 런 및 레벨의 데이타로 분리하여 각각 출력하는 심볼분리부; 복수의 스캔패턴들에 대한 블록내의 어드레스를 저장하고, 상기 분리된 런데이타로부터 현재 어드레스포인터를 변경하며 상기 사용한 스캔패턴에 해당하는 스캔패턴데이타를 입력받아 그에 해당하는 스캔패턴의 어드레스들중 현재 어드레스포인터에 저장된 어드레스를 출력하는 어드레스출력부; 및 인가되는 초기화신호에 대응하여 모든 저장내용을 0으로 리세트시키며, 상기 분리된 레벨데이타를 상기 어드레스출력부에서 출력되는 어드레스가 지시하는 위치에 저장하여 런-레벨 복호화된 데이타를 얻어내는 데이타저장부를 포함하는 런-레벨심볼 복호화장치.An apparatus for decoding block data according to the same scan pattern as used in the data encoding process, the apparatus comprising: a symbol separation unit which receives variable length decoded [run, level] symbols and separates them into run and level data; Stores addresses in blocks for a plurality of scan patterns, changes a current address pointer from the separated run data, receives scan pattern data corresponding to the used scan pattern, and receives a current address among the corresponding scan pattern addresses. An address output unit for outputting an address stored in the pointer; And a data storage for resetting all stored contents to 0 in response to an applied initialization signal, and storing the separated level data at a location indicated by an address output from the address output unit to obtain run-level decoded data. Run-level symbol decoding device comprising a unit. 제6항에 있어서, 상기 어드레스출력부는 복수의 스캔패턴들의 스캔순서에 대응하는 스캔어드레스들의 각각을 저장하고 있는 테이블들로 된 어드레스테이블; 및 상기 어드레스테이블에서 상기 스캔패턴데이타에 의해 사용한 스캔패턴에 해당하는 테이블의 현재 어드레스 상기 분리된 런데이타 및 값 1를 서로 가산하여 어드레스포인터를 변경하는 가산기를 구비함을 특징으로 하는 런-레벨심볼 복호화장치.The apparatus of claim 6, wherein the address output unit comprises: an address table comprising tables that store each of the scan addresses corresponding to the scan order of the plurality of scan patterns; And an adder configured to change an address pointer by adding the current address of the table corresponding to the scan pattern used by the scan pattern data in the address table and the separated run data and the value 1 to each other. Decryption device. 제7항에 있어서, 상기 어드레스출력부는 상기 사용한 스캔패턴의 테이블에서 상기 변경된 어드레스포인터가 지시하는 위치에 저장된 어드레스를 상기 레벨데이타를 저장하기 위한 어드레스로 출력하는 것을 특징으로 하는 런-레벨심볼 복호화장치.8. The run-level symbol decoding apparatus of claim 7, wherein the address output unit outputs an address stored at a position indicated by the changed address pointer in the used scan pattern table as an address for storing the level data. . 제8항에 있어서, 상기 어드레스출력부는 상기 초기화신호가 인가될 때마다 현재 어드레스포인터를 초기화시키는 것을 특징으로 하는 런-레벨심볼 복호화장치.9. The run-level symbol decoding apparatus of claim 8, wherein the address output unit initializes a current address pointer each time the initialization signal is applied. 제9항에 있어서, 상기 초기화신호는 상기 블록단위의 복호화 시작전마다 인가됨을 특징으로 하는 런-레벨심볼 복호화장치.The run-level symbol decoding apparatus of claim 9, wherein the initialization signal is applied before each decoding unit starts decoding.
KR1019970012538A 1997-04-04 1997-04-04 Run-level symbol decoder and the method KR100233538B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019970012538A KR100233538B1 (en) 1997-04-04 1997-04-04 Run-level symbol decoder and the method
US09/054,402 US6100826A (en) 1997-04-04 1998-04-03 Symbol decoding method and apparatus
EP19980302648 EP0869680A3 (en) 1997-04-04 1998-04-03 Symbol decoding method and apparatus
JP9187798A JPH1146363A (en) 1997-04-04 1998-04-03 Symbol-decoding method and device thereof
CNB981087949A CN1160867C (en) 1997-04-04 1998-04-04 Symbols decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970012538A KR100233538B1 (en) 1997-04-04 1997-04-04 Run-level symbol decoder and the method

Publications (2)

Publication Number Publication Date
KR19980076043A KR19980076043A (en) 1998-11-16
KR100233538B1 true KR100233538B1 (en) 1999-12-01

Family

ID=19502008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970012538A KR100233538B1 (en) 1997-04-04 1997-04-04 Run-level symbol decoder and the method

Country Status (1)

Country Link
KR (1) KR100233538B1 (en)

Also Published As

Publication number Publication date
KR19980076043A (en) 1998-11-16

Similar Documents

Publication Publication Date Title
US6100826A (en) Symbol decoding method and apparatus
JP3716931B2 (en) Adaptive decoding device for continuous images
US5497153A (en) System for variable-length-coding and variable-length-decoding digital data for compressing transmission data
US5402123A (en) Variable length coding/decoding method of image data and apparatus thereof
US5381144A (en) Versatile escape run-level coder for digital video signal processing apparatus
US7079698B2 (en) Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
US5402244A (en) Video signal transmission system with adaptive variable length coder/decoder
US5774594A (en) Signal compression device
EP0585051A2 (en) Image processing method and apparatus
US6055272A (en) Run length encoder
EP0925555B1 (en) Dual-speed variable length decoder and decoding architecture for mpeg-2 video data
JPH08280021A (en) Run-length coding method
US5764357A (en) Zero-run-length encoder with shift register
KR100249235B1 (en) Hdtv video decoder
KR100233538B1 (en) Run-level symbol decoder and the method
KR0154011B1 (en) Variable length decoder
KR100233537B1 (en) Run-level symbol decoding method and the apparatus
KR100233536B1 (en) Run-level symbol decoder and the method
JP3226713B2 (en) Encoding method
KR100289698B1 (en) Method and apparatus for coding object information of image object plane
KR100245788B1 (en) Video coding apparatus
KR0157463B1 (en) Adaptive variable length encoding/decoding method for image data
KR0160616B1 (en) Digital image compressing method and device
KR0134358B1 (en) Coding and decoding system of variable scan method
KR0134359B1 (en) Coding and decoding system of variable scan region

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: 20100830

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee