KR0152019B1 - Method and apparatus for parallel processing of variable length - Google Patents
Method and apparatus for parallel processing of variable lengthInfo
- Publication number
- KR0152019B1 KR0152019B1 KR1019920017917A KR920017917A KR0152019B1 KR 0152019 B1 KR0152019 B1 KR 0152019B1 KR 1019920017917 A KR1019920017917 A KR 1019920017917A KR 920017917 A KR920017917 A KR 920017917A KR 0152019 B1 KR0152019 B1 KR 0152019B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- code
- parallel processing
- slice
- variable length
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Abstract
본 발명은 가변길이코드데이타의 병렬처리방법 및 그 장치에 관한 것으로, 특히 고화질 텔레비젼의 직렬처리가 불가능하므로 입력신호를 분할하여 병렬처리하는 것에 관한 것이다. 입력된 프레임의 슬라이스시작코드를 검출한 후 블록의 끝을 나타내는 패턴을 찾아 이를 카운트하면 소정의 군에 필요한 데이타양을 찾을 수 있으므로 이에 따라 소정의 군의 데이타를 나누어 메모리에 저장하고 병렬처리하게 디코딩을 행한다. 각 군내 에러발생시 회복을 위해 각 군에 들어가는 슬라이스당 비트수를 함께 카운트해 놓으면 디코딩 도중 발생할 수 있는 에러에 대해서도 잃어버리는 데이타양을 줄일 수 있게 된다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel processing method and apparatus thereof for variable length code data, and more particularly, to parallel processing of an input signal since serial processing of a high definition television is impossible. After detecting the slice start code of the input frame and finding the pattern indicating the end of the block and counting it, we can find the amount of data required for the given group. Therefore, the data of the given group is divided into the memory and decoded in parallel. Is done. Counting the bits per slice in each group to recover in case of error in each group reduces the amount of data lost for errors that may occur during decoding.
Description
제1도는 본 발명에 의한 가변길이코드데이타의 병렬처리장치의 블록구성도.1 is a block diagram of a parallel processing apparatus for variable length code data according to the present invention.
제2도는 부호화된 화면의 예시도.2 is an exemplary diagram of an encoded picture.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
11, 13 : 코드검출기 12, 14 : 카운터11, 13: code detector 12, 14: counter
15 : FIFO메모리15: FIFO memory
본 발명은 발생빈도에 따라 부호길이를 달리 갖는 일련의 데이타를 병렬처리하기 위한 방법 및 그 장치에 관한 것으로, 특히 입력데이타가 가변길이코딩되어 있으면서 데이타율이 상당히 높아 입력율대로 디코딩을 할 수 없거나 빠른 처리속도를 필요로 해 소정의 군(Group)으로 나누어 처리해야 하는 고화질텔레비젼(HDTV)의 디코더단에서 사용할 수 있는 가변길이코드데이타의 병렬처리방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for parallel processing a series of data having different code lengths according to the frequency of occurrence. In particular, the data rate is quite high while the input data is variable length coded, and thus the decoding cannot be performed at the input rate. The present invention relates to a parallel processing method of variable length code data that can be used in a decoder stage of a high-definition television (HDTV) that needs to be processed in a predetermined group by requiring a high processing speed, and a device thereof.
입력된 디지탈영상신호(Digital Image Signal)를 처리하기 위한 시스템에서 데이타를 일정대역을 통해 전송하기 위해서는 데이타압축(Data Compression)이 필요하다. 여기에는 직교변환(Orthogonal transform). 양자화(Quantization), 부호화(Coding)의 과정이 포함되며 이를 통과한 데이타는 비트스트림(bit stream)형태로 바뀌어 전송을 하게 된다.Data compression is required in order to transmit data through a predetermined band in a system for processing an input digital image signal. This includes an orthogonal transform. Quantization and coding processes are included, and the data passing through them is transformed into a bit stream to be transmitted.
일반적으로 데이타압축은 데이타를 전송하거나 저장할때, 전송대역폭이나 저장공간을 줄이기 위해 원래의 정보는 거의 포함하면서 전체적인 데이타의 양을 줄이는 것이다. 이런 데이타 압축을 보다 효과적으로 하기 위하여 많은 방식들이 제안되고 있는데, 그중에서도 부호화 데이타의 전송길이를 그 데이타의 발생빈도에 따라 가변하는 가변장부호화기법이 많이 사용되고 있다. 특히 부호화방법에 있어 발생하는 확률이 많은 데이타에 대해서는 짧은 길이로 코딩을 하고 발생빈도가 작은 데이타는 긴 길이의 코드로 할당하여 효율적인 데이타압축을 수행하는 허프만코드(Huffman code)가 널리 쓰이고 있다. 데이타의 발생빈도에 따라 가변 비트수를 할당하는 가변길이코딩(variable length coding)을 사용할 경우 영상종류에 따라 가변적인 비트스트림을 가지게 된다. 가변길이코드는 비블록코드(Nonblock code)로 블록의 크기가 일정하지 않다. 이에 따라 하나의 완전한 화면인 프레임(Frame)의 시작위치를 알려주는 프레임동기코드나 일반적인 영상데이타의 부호화 및 복호화등이 행해지는 데이타처리단위에 해당하는 매크로블록(Macroblock)을 일렬로 연결한 하나의 라인(Line)인 슬라이스(Slice)를 나타내주는 슬라이스시작코드(Slice Start Cold; 이하 SSC라 함)등의 부가적인 정보를 추가해 비트스트림내 필요한 정보를 추출하기 쉽도록 한다. 그러나,고화질텔레비젼(HDTV)의 경우 디지탈데이타의 처리속도(Data rate)가 높아 직렬처리(Serial Processing)가 불가능하므로 신호처리를 고속화할 수 있는 병렬처리(Parallel Processing)를 수행해야 한다.In general, data compression involves reducing the overall amount of data, including almost the original information, to reduce transmission bandwidth and storage space when transferring or storing data. Many methods have been proposed to make such data compression more effective. Among them, a variable length encoding technique is used in which the transmission length of encoded data varies depending on the frequency of occurrence of the data. In particular, Huffman codes are widely used for coding data having a high probability of occurrence in a short length and assigning data having a low frequency to a long length for efficient data compression. In the case of using variable length coding which allocates a variable number of bits according to the frequency of occurrence of data, it has a variable bitstream depending on the type of image. The variable length code is a nonblock code, and the block size is not constant. As a result, one frame that connects macroblocks corresponding to data processing units in which frame synchronization code indicating a start position of a frame, which is a complete screen, or encoding and decoding of general video data, is arranged in a row. Additional information such as a slice start code (Slice Start Cold, hereinafter referred to as SSC) representing a slice, which is a line, is added to make it easier to extract necessary information from the bitstream. However, in the case of high definition television (HDTV), since serial data is not possible due to the high data rate of digital data, parallel processing is required to speed up signal processing.
상기와 같은 데이타처리속도가 높은 고화질 텔레비젼(HDTV)에서 입력데이타가 가변길이코딩되어 있으면, 가변길이코드데이타(Variable length coded data)는 일정 크기의 블록을 갖는 고정길이코드데이타(Fixed length coded data)와는 달리 데이타의 시작과 끝을 분간하지 못하므로 데이타를 나누어 병렬처리하기가 여러운 문제점이 있었다.If the input data is variable length coded in a high-definition television (HDTV) having a high data processing speed as described above, variable length coded data is fixed length coded data having a block of a predetermined size. Unlike the beginning and end of data, it is difficult to divide and parallelize data.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 가변길이를 갖는 일련의 비트스트림을 소정의 영역으로 분할하여 병렬처리를 가능하도록 하며, 에러발생시 에러의 손실양도 줄일수 있는 가변길이코드데이타의 병렬처리방법을 제공함에 있다.SUMMARY OF THE INVENTION An object of the present invention for solving the above problems is to divide a series of bit streams having variable length into a predetermined area to enable parallel processing, and to reduce the amount of error loss when an error occurs. To provide a parallel processing method.
본 발명의 다른 목적은 전술한 가변길이코드데이타의 병렬처리방법을 구현하기 위한 장치를 제공함에 있다.Another object of the present invention is to provide an apparatus for implementing the above-described parallel processing method of variable length code data.
상기 목적을 달성하기 위한 본 발명의 특징은, 다수의 슬라이스로 구성되고 각 슬라이스는 각각이 다수의 블록들을 갖는 다수의 군으로 이루어진 비트스트림의 형태로 입력하는 가변길이코드데이타를 병렬처리하기 위한 장치에 있어서, 상기 가변길이코드데이타를 상기 각 군별로 순서적으로 저장할 수 있는 저장번지를 갖는 메모리와, 상기 가변길이코드데이타의 비트스트림에서 각 슬라이스의 시작위치를 검출하고, 상기 시작위치를 검출할 때 제어신호를 발생하는 제1코드검출기와, 상기 제어신호에 응답하여 상기 데이타의 비트스트림으로부터 각 블록들을 검출하고, 검출된 블록의 수가 사전 설정된 상기 일 군의 수에 달할 때 상기 메모리의 데이타저장번지를 변경하는 절환신호를 발생하는 수단을 포함하는 가변길이코드데이타의 병렬처리장치에 의하여 달성된다.A feature of the present invention for achieving the above object is an apparatus for parallel processing variable length code data consisting of a plurality of slices, each slice being input in the form of a bitstream consisting of a plurality of groups each having a plurality of blocks. And a memory having a storage address for sequentially storing the variable length code data for each group, a start position of each slice in a bitstream of the variable length code data, and detecting the start position. A first code detector for generating a control signal and detecting each block from the bitstream of the data in response to the control signal, and storing the data in the memory when the number of detected blocks reaches the preset number of groups. Parallel processing length of variable length code data including means for generating a switching signal for changing the address It is achieved by the.
본 발명의 다른 특징은, 다수의 슬라이스로 구성되고 각 슬라이스는 각각이 다수의 블록들을 갖는 다수의 군으로 이루어진 비트스트림의 형태로 입력하는 가변길이코드데이타를 병렬처리하기 위한 방법에 있어서, 상기 데이타의 각 슬라이스마다 슬라이스시작코드를 기록하는 단계와, 상기 슬라이스시작코드를 검출하는 단계와, 상기 슬라이스시작코드를 검출함과 동시에 상기 데이타의 블록을 구분하는 코드를 검출하여 카운트하는 단계와, 상기 카운트하는 동안 상기 가변길이코드데이타를 메모리의 지정된 번지에 순서적으로 저장하는 단계, 및 상기 블록구분코드를 사전 설정된 소정 갯수만큼 카운트할 때 상기 메모리의 번지를 변경하는 단계를 포함하는 가변길이코드데이타의 병렬처리방법에 의하여 달성된다.Another aspect of the present invention is a method for parallel processing variable length code data consisting of a plurality of slices, each slice having a plurality of groups each having a plurality of blocks, input in the form of a bitstream. Recording a slice start code for each slice of the slice; detecting the slice start code; detecting and counting a code for separating the block of data while detecting the slice start code; Sequentially storing the variable length code data at a designated address of a memory, and changing the address of the memory when the block classification code is counted by a predetermined number of preset lengths of the variable length code data. It is achieved by parallel processing method.
이하, 첨부한 도면을 참조하여 본 발명을 상세히 기술하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제1도는 본 발명에 의한 가변길이코드데이타의 병렬처리장치의 블록구성도를 나타낸다. 제1도의 장치는 입력되는 가변길이코드데이타의 비트스트림(DSi)에서 슬라이스시작코드(SSC)를 검출하여 데이타들을 소정의 군으로 나누기 위한 제어신호(Cs₁)를 출력하는 제1코드검출기(11)와, 제1코드검출기(11)를 통해 인가되는 데이타의 각 비트수를 카운트하는 비트카운터(12)와, 제1코드검출기(11)를 통해 인가되는 제어신호(Cs₁)에 응답하여 데이타의 비트스트림을 구성하는 블록들을 구분하는 코드(End of Block;이하 EOB라 함)를 검출하는 제2코드검출기(13)와, 검출된 블록구분코드(EOB)의 갯수를 소정의 군에 필요한 데이타양만큼 카운트하는 EOB카운터(14)와, EOB카운터(14)로부터 저장위치를 스위칭 받는 제어신호(Cs₂)를 인가받아 소정의 블록들을 몇개의 군으로 나누어 순서적으로 저장하는 선입선출(First in First out; 이하 FIFO라 함)방식의 메모리(15)로 구성된다.1 is a block diagram of a parallel processing apparatus for variable length code data according to the present invention. The apparatus of FIG. 1 detects the slice start code SSC from the bitstream DSi of the variable length code data input and outputs a control signal Cs' for dividing the data into a predetermined group. And a bit counter 12 for counting the number of bits of data applied through the first code detector 11 and bits of data in response to the control signal Cs \ applied through the first code detector 11. The second code detector 13 for detecting a code (End of Block (hereinafter referred to as EOB)) for distinguishing the blocks constituting the stream and the number of detected block classification code (EOB) by the amount of data necessary for a predetermined group First in First out to receive the EOB counter 14 for counting and the control signal Cs2 which switches the storage position from the EOB counter 14 and divides predetermined blocks into several groups and stores them sequentially. FIFO) memory 15 It is.
제1도에서, 부호화된 하나의 프레임(Frame)을 다수개의 군으로 나누어 각 군에 들어가는 슬라이스딩 블록수를 구한다. 각 군의 슬라이스당 불록수단위로 병렬처리하기 위해 제1코드검출기(11)는 인가되는 데이타의 비트스트림(DSi)에서 필요한 정보를 추출하기 쉽도록 부가적으로 추가한 슬라이스시작코드(SSC)를 검출한다. 슬라이스시작코드(SSC)를 검출한 제1코드검출기(11)는 블록구분코드(EOB)의 검출동작을 수행하도록 하는 제어신호(Cs₁)를 제2코드검출기(13)에 인가하고, 슬라이스내에 데이타(DS를 FIFO메모리(15)에 각각 인가한다. 이때, 비트카운터(12)는 인가되는 각 군의 슬라이스당 블록수에 해당하는 데이타(DS)의 비트수를 카운트하게 된다. 제2코드검출기(13)는 제1코드검출기(11)로부터 슬라이스시작코드(SSC)를 검출하였음을 알리는 신호(CS1)를 인가받고 여러개의 블록들로 구성되는 가변길이코드데이타를 인가받아 각 블록을 구분시켜 주는 코드(EOB)를 검출한다. 블록구분코드(EOB)를 검출할 때마다 EOB카운터(14)에서는 카운트동작을 수행한다. EOB카운터(14)에서 각 군에 들어가는 슬라이스당 블록수만큼 카운트하는 동안 데이타(DS)들은 FIFO메모리(15)에 순서적으로 저장하게 된다. 각 군에 들어가는 슬라이스당 블록수만큼 카운트동작을 수행하였으면 FIFO메모리(15)의 다음 위치에 연속해서 데이타들을 저장할 수 있도록 EOB카운터(14)에서 제어신호(CS2)를 출력한다. 비트 카운터(12)는 EOB카운터(14)에서 출력되는 제어신호(CS2)에 의해 FIFO메모리(15)의 위치를 달리하게 되면 카운트된 각 군에 들어가는 슬라이스당 블록수에 해당하는 비트수(Db)를 도시하지 않은 디코더단으로 내보내게 된다. 이와 같이 FIFO메모리(15)에 순서대로 저장하여 FIFO단위로 병렬처리하게 디코딩을 행한다. FIFO메모리(15)로 부터 FIFO 단위로 디코딩하기 위해 읽어나가는 동안에 잡음(Noise)이 생겨 데이타를 잃어버리거나 읽어나가기 전에 새로운 데이타들이 기억되어 전에 기억된 데이타를 잃어버리는 에러가 발생할 수 있다. 각 군내 이런 에러 발생시 회복을 위해 각 군에 들어가는 슬라이스당 비트수를 비트 카운터(12)를 통해 함께 카운트 해놓으므로 디코딩 도중 발생할 수 있는 에러에 대해서도 잃어버리는 데이타양을 줄일 수 있게 된다.In FIG. 1, the number of sliced blocks included in each group is obtained by dividing an encoded frame into a plurality of groups. The first code detector 11 detects an additionally added slice start code SSC so that it is easy to extract necessary information from the bitstream DSi of the data to be applied in parallel processing for each group of slices per slice. do. The first code detector 11 that detects the slice start code SSC applies a control signal Cs \ to the second code detector 13 to perform the detection operation of the block classification code EOB, and the data in the slice. (DS Are applied to the FIFO memory 15, respectively. At this time, the bit counter 12 is a data (DS) corresponding to the number of blocks per slice of each group to be applied Count the number of bits. The second code detector 13 receives a signal CS 1 indicating that the slice start code SSC is detected from the first code detector 11 and receives variable length code data composed of several blocks. Detect the code (EOB) that identifies the block. Each time the block classification code EOB is detected, the EOB counter 14 performs a counting operation. While the EOB counter 14 counts the number of blocks per slice entering each group, the data (DS ) Are sequentially stored in the FIFO memory 15. If the count operation is performed for the number of blocks per slice in each group, the control signal C S2 is output from the EOB counter 14 so that data can be continuously stored in the next position of the FIFO memory 15. The bit counter 12 changes the position of the FIFO memory 15 according to the control signal C S2 output from the EOB counter 14, and thus the number of bits Db corresponding to the number of blocks per slice to be included in each counted group. ) Is sent to a decoder stage (not shown). In this way, the data is stored in the FIFO memory 15 in order and decoded in parallel in units of FIFO. Noise may occur during reading from the FIFO memory 15 to decode in units of FIFO, resulting in an error in which data is lost or new data is stored before the data is stored before being read. The number of bits per slice entering each group is counted together by the bit counter 12 to recover when such an error occurs in each group, thereby reducing the amount of data lost for errors that may occur during decoding.
제2도는 부호화된 화면의 예시도로서, (a)도는 8×8 블럭도이고, (b)도는 16×16매크로블럭이고, (c)도는 매크로블럭을 일렬로 나열한 여러개의 슬라이스를 모아둔 부호화된 화면이다. 제2도를 통해 본 발명에 따른 동작을 구체적으로 살펴보면, 도시한 바와 같은 크기를 갖는 화면(Frame)에서, 하나의 블록은 '8라인×8픽셀'의 크기를 갖고, 이러한 4개 블록의 단위로 하나의 매크로블록(Macroblock)을 구성한다. 한 프레임(Frame)에 해당되는 부호화된 데이타를 4개의 군으로 나누면 각 군내에 들어있는 각 슬라이스는 80개씩의 블록을 가질 수 있다. 즉, 제2(c)도에 보여진 것과 같이 한 화면(frame)의 크기(size)가 '720(라인)×320(픽셀)'이 된다. 이렇게 나누어진 각 군내의 각 슬라이스(slice)는 제2(b)도에 보여진 것과 같은, 크기의 매크로블록(MB)이 20개씩 들어있게 되어 결국, 80개(20×4)씩의 블럭(block)을 가질 수 있다. 따라서, 제1코드검출기(11)는 슬라이스시작코드(SSC)를 검출한 후 한프레임(Frame)에 해당되는 데이타를 다수개의 군(Group)으로 나누어 메모리에 저장하는데 필요한 데이타양을 찾기 위해 제2코드검출기(13)에 제어신호(Cs₁)를 인가한다. 제어신호(Cs₁)에 응답하여 동작을 시작한 제2코드검출기(13)는 인가되는 데이타(DS0)에서 블록구분코드(EOB)를 검출하고 EOB카운터(14)를 통해 80개의 블록구분코드(EOB)를 카운트한다. 카운트하는 동안 첫번째 FIFO메모리(15)에 데이타(DS0)들이 저장된다. 80개의 블럭구분코드(EOB)를 카운트한 EOB카운터(14)는 FIFO메모리(15)의 위치를 스위칭하는 제어신호(Cs2)를 출력하고 리셋트상태가 된다. 다시 그 다음 인가되는 데이타에서 블록구분코드(EOB)를 검출하고 80개의 블록구분코드(EOB)를 카운트하는 동안 제어신호(Cs2)에 의해 위치를 변경하여 두번째 FIFO메모리(15)에 80개의 블록 데이타를 저장하는 방법으로 가변길이코드데이타를 나누어 병렬 처리하게 된다. 또한, 가변길이코딩방식은 데이타를 압축하는 만큼 디코더의 설계가 복잡해지고 에러가 발생되면 여러 데이타에 걸쳐 영향을 미치므로 현 슬라이스중 각 군에 저장된 80개의 블록 비트수를 함께 세어두면 중간에 에러가 발생하여도 80개의 블록만 버리면 된다. 즉, 블록을 검출하는 도중에 계속 데이타의 비트수를 누적카운트하여 EOB카운터(14)로부터 발생하는 제어신호(Cs2)에 응답하여 도시되지 않은 디코더단으로 비트수(Db)를 출력하고 리셋트 상태가 된다. 다시 그 다음 인가되는 데이타의 비트수(Db)를 카운트하게 된다. 이와 같이 데이타의 비트수를 누적카운트해 놓은 것은 한 슬라이스단위에서 각 FIFO는 배당된 비트합이므로 FIFO내에서 발생한 에러를 누적카운트 만큼의 단위로 복구가 가능하도록 해주며 이에 따라 에러손실을 감소시킨다.FIG. 2 is an exemplary diagram of an encoded picture, where (a) is an 8x8 block diagram, (b) is a 16x16 macroblock, and (c) is an encoding of several slices arranged in a line with macroblocks It is a screen. Referring to the operation according to the present invention in detail with reference to FIG. 2, in a frame having a size as shown, one block has a size of '8 lines × 8 pixels', and the unit of these four blocks It consists of one macroblock. When coded data corresponding to a frame is divided into four groups, each slice in each group may have 80 blocks. That is, as shown in FIG. 2 (c), the size of one frame becomes '720 (line) x 320 (pixel)'. Each slice in this group has 20 macroblocks (MB) of the same size as shown in FIG. 2 (b), resulting in 80 (20 × 4) blocks. ) Therefore, after detecting the slice start code SSC, the first code detector 11 divides the data corresponding to one frame into a plurality of groups to find the amount of data necessary to store the data in a memory. The control signal Cs \ is applied to the code detector 13. The second code detector 13, which has begun to operate in response to the control signal Cs \, detects the block classification code EOB from the data DS 0 applied, and the 80 block classification codes EOB through the EOB counter 14. Count) During the counting, the data DS 0 is stored in the first FIFO memory 15. The EOB counter 14 counting 80 block division codes EOB outputs a control signal Cs 2 for switching the position of the FIFO memory 15 and enters the reset state. Then, the block classification code (EOB) is detected from the next applied data, and the position is changed by the control signal Cs 2 while counting the 80 block classification codes (EOB), and 80 blocks are stored in the second FIFO memory 15. As a method of storing data, variable length code data is divided and processed in parallel. In addition, the variable length coding method complicates the design of the decoder as it compresses the data, and if an error occurs, it affects the multiple data. If so, only 80 blocks need to be discarded. That is, during the detection of the block, the number of bits of the data is continuously accumulated, and the number of bits Db is output to the decoder stage (not shown) in response to the control signal Cs 2 generated from the EOB counter 14 and reset state. Becomes Then, the number of bits Db of the next applied data is counted. The cumulative count of the number of bits of the data as described above allows each FIFO to allocate the bit sum in one slice unit, so that an error occurring in the FIFO can be recovered in units of a cumulative count, thereby reducing error loss.
상술한 바와 같이, 본 발명에 의한 가변길이코드데이타의 병렬처리방법 및 그 장치는 고화질 텔레비젼의 데이타처리에 관한 것으로 해당 프레임의 블록들을 소정의 군으로 나누어 기억시킴으로 병렬처리가 가능하도록 했다. 가변길이 코딩에서는 시작 혹은 끝을 나타내는 규정된 비트패턴이나 표시가 없으면 중간에서 에러가 나타날시 특정위치를 나타내는 표시(Frame Synch)를 찾을 때까지 원래의 데이타를 디코딩할 수 없다. 따라서 누적카운트가 있으면 에러가 발생하여도 그 카운트까지만 에러로 버리고 그 다음부터는 다시 디코딩하면 되므로 에러에 의한 데이타 손실을 줄일 수 있는 효과가 있다.As described above, the parallel processing method and apparatus for variable length code data according to the present invention are related to data processing of a high-definition television, so that the parallel processing is possible by dividing and storing the blocks of the frame into predetermined groups. In variable-length coding, if there is no prescribed bit pattern or mark for the beginning or end, the original data cannot be decoded until an error is found in the middle until a frame synch is found. Therefore, if there is an accumulated count, even if an error occurs, only the count is discarded as an error, and since it is decoded again thereafter, the data loss caused by the error can be reduced.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019920017917A KR0152019B1 (en) | 1992-09-30 | 1992-09-30 | Method and apparatus for parallel processing of variable length |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019920017917A KR0152019B1 (en) | 1992-09-30 | 1992-09-30 | Method and apparatus for parallel processing of variable length |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940008490A KR940008490A (en) | 1994-04-29 |
KR0152019B1 true KR0152019B1 (en) | 1998-10-15 |
Family
ID=19340388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920017917A KR0152019B1 (en) | 1992-09-30 | 1992-09-30 | Method and apparatus for parallel processing of variable length |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0152019B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9020286B2 (en) | 2010-07-27 | 2015-04-28 | Samsung Electronics Co., Ltd. | Apparatus for dividing image data and encoding and decoding image data in parallel, and operating method of the same |
-
1992
- 1992-09-30 KR KR1019920017917A patent/KR0152019B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9020286B2 (en) | 2010-07-27 | 2015-04-28 | Samsung Electronics Co., Ltd. | Apparatus for dividing image data and encoding and decoding image data in parallel, and operating method of the same |
Also Published As
Publication number | Publication date |
---|---|
KR940008490A (en) | 1994-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0160610B1 (en) | Method and device for variable length image compression and decompression | |
US5504823A (en) | Image data partitioning circuit for parallel image decoding system | |
KR100289559B1 (en) | Arrangement of compressed video data for transmission over noisy communication channels | |
KR100530681B1 (en) | How to send and receive coded video images | |
USRE41569E1 (en) | Method of processing variable size blocks of data by storing numbers representing size of data blocks in a fifo | |
JP3419042B2 (en) | Error masking method in transmission system | |
EP2395757A1 (en) | Image decoding device | |
EP0663133A1 (en) | Parallel encoding/decoding of dct compression/decompression algorithms | |
US5568278A (en) | Image data coding and decoding method and apparatus with a plurality of DCT's, quantizers, and VLC's | |
RU2119269C1 (en) | Television system for converting compressed data presenting images and placed in blocks into decompressed data and system for processing compressed video data transmitted in the form of blocks | |
JP2718908B2 (en) | Variable length decoder for bit-stuffed data | |
CN110896483B (en) | Method for compressing and decompressing image data | |
EP0925555B1 (en) | Dual-speed variable length decoder and decoding architecture for mpeg-2 video data | |
KR20050074812A (en) | Decoding method for detecting transmission error position and recovering correctly decoded data and appratus therefor | |
US6353685B1 (en) | Method and apparatus for image compression | |
KR20050079418A (en) | Decoding method and decoding apparatus for preventing of error propagation and parallel processing | |
KR100335441B1 (en) | Multiplexing video decoding apparatus and method | |
KR0152019B1 (en) | Method and apparatus for parallel processing of variable length | |
CN1193443A (en) | Apparatus for decoding video data | |
JP2871139B2 (en) | Image data encoding device and decoding device | |
JP3193288B2 (en) | Variable length code data transmission device | |
KR0171443B1 (en) | Apparatus and method of variable length code decoding of digital video cassette recorder | |
KR0165447B1 (en) | Circuit for redistributing an encoded data in the apparatus for encoding video | |
JP3546439B2 (en) | Digital image signal encoding apparatus and encoding method | |
KR100195715B1 (en) | A variable length decoder |
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: 20080529 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |