KR890004316B1 - Convertor to run-length codes - Google Patents

Convertor to run-length codes Download PDF

Info

Publication number
KR890004316B1
KR890004316B1 KR1019870002128A KR870002128A KR890004316B1 KR 890004316 B1 KR890004316 B1 KR 890004316B1 KR 1019870002128 A KR1019870002128 A KR 1019870002128A KR 870002128 A KR870002128 A KR 870002128A KR 890004316 B1 KR890004316 B1 KR 890004316B1
Authority
KR
South Korea
Prior art keywords
zero
code
ram
value
data
Prior art date
Application number
KR1019870002128A
Other languages
Korean (ko)
Other versions
KR880012024A (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 KR1019870002128A priority Critical patent/KR890004316B1/en
Publication of KR880012024A publication Critical patent/KR880012024A/en
Application granted granted Critical
Publication of KR890004316B1 publication Critical patent/KR890004316B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

Abstract

The method comprises a first step for checking an end block if the end value is zero, a second step for checking whether former counted value of a zero-run counter is zero if the end block is not zero, a third step for reading new data from a RAm (30) if the output of the zero-run counter is zero, a forth step for converting the output of the zero-run counter if the output of the zero-run counter is not zero, a fifth step for finding the code corresponding to the zero in the legnth code unit if the zero is existing and for converting the value corresponding to the data, and a sixth step for converting the code corresponding to the zero counter for endowing the run-length pre-fix to store in RAM (30) for data transmission if the output of the zero-run counter is larger than 1.

Description

복합 코드 부호화 방법Complex code encoding method

제1도는 본 발명에 따른 시스템도.1 is a system diagram according to the present invention.

제2도는 본 발명에 따른 흐름도.2 is a flow chart in accordance with the present invention.

제3도는 본 발명에 따른 복함코드 메모리 예시도.3 is a diagram illustrating a complex code memory according to the present invention.

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

10 : 중앙처리장치 20 : 롬10: central processing unit 20: ROM

30 : 램 40 : 전송장치30: RAM 40: Transmission Device

본 발명은 데이타 전송시 복합 코드 부호 방법에 관한 것으로써, 특히 화상 데이타 전송에서 가변길이 값 코드부와 재로 연속길이 코드부를 두어 전송 압축 코드중 제로(0)값이 1개있을 경우 상기 제로의 연속길이 코드부에서 처리하지 않고 가변길이 코드값 코드부에서 처리하도록 프로그램을 제공하여 전송 압축율을 증가시키고 전송시간을 단축시킬 수 있는 복합 코드 부호 방법에 관한 것이다.The present invention relates to a complex code coding method for data transmission. In particular, in the case of image data transmission, a variable length value code part and a continuous length code part are provided so that when there is one zero value among transmission compression codes, The present invention relates to a complex code coding method capable of increasing a transmission compression ratio and shortening a transmission time by providing a program to be processed in a variable length code value code section instead of a length code section.

일반적으로 화상 전송은 화상의 질을 손상시키지 않는 범위에서 전송량을 줄여 전송시간을 단축하여 하는 것이 최근의 추세이다. 이를 위한 종래 방법으로는 DCT(Discrete Cosine Transform)와 RLC(Run Length Coding)을 결합한 방식이 이용되어 왔다.In general, image transmission is a recent trend to shorten the transmission time by reducing the transmission amount in a range that does not impair the quality of the image. As a conventional method for this, a method combining a discrete cosine transform (DCT) and a run length coding (RLC) has been used.

상기 종래의 방법을 구체적으로 설명하면 화상 데이타를 16×16 혹은 8×8등의 블럭으로 분할한 후 각 블럭에 대해 DCT를 하여 구한 16×16 혹은 8×8의 DCT 계수를 지그재그 스켄을 이용하여 RLC를 하였다.The conventional method will be described in detail by dividing image data into blocks such as 16 × 16 or 8 × 8, and performing DCT for each block using a zigzag scan to determine DCT coefficients of 16 × 16 or 8 × 8. RLC was performed.

상기 RLC 수행시 블럭내의 DCT 계수 분포를 고려하지 않아 많은 블럭내에서 비효율적인 RLC를 행하게 되어 전체 전송량이 증가하게 된다.When performing the RLC, inefficient RLC is performed in many blocks without considering DCT coefficient distribution in the block, thereby increasing the total transmission amount.

따라서 이를 해결하기 위해 블럭별 DCT 계수의 분포 구조에 따라 RLC의 방식에 변화를 주어 전체 전송량을 감축시키는 방법을 지도하여 본원 출원인이 출원한바 있읍니다.(특허출원 제 86-9696호, 제 86-9697호)Therefore, in order to solve this problem, the applicant of the present application has applied for a method of reducing the total transmission amount by changing the method of RLC according to the distribution structure of DCT coefficients for each block (Patent Application Nos. 86-9696 and 86-9697). number)

상기한 전송데이타를 DCT하면 제로(0)와 제로가 아닌 값들이 분포하게 된다. 이어서 RLC할시에 두가지 경우에 대해 각각 코드 테이블(Code Table)을 작성하는 것이 일반적인 방법이나 제로(0)의 값이 한개만 존재하는 경우에는 제로가 1개 연속되었다는 코드에 참조코드(Run Length Prefix)가 부가되어 전송되므로 오히려 전송효율을 감소시키는 문제점이 있었다.When DCT of the transmission data, zero and non-zero values are distributed. Subsequently, it is common practice to create a code table for each of the two cases in RLC. However, if there is only one value of zero, there is a reference code (Run Length Prefix). There is a problem in that the transmission efficiency is reduced since the transmission is added.

따라서 본 발명의 목적을 DCT한 값의 제로값에서 제로가 한개만 연속되는 경우 제로의 연속길이 코드부에서 처리하지 않고 가변값 코드부에서 처리하도록 하는 복합 코드 부호화 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a complex code encoding method in which a variable value code unit does not process a zero continuous length code unit when only one zero is continuous from a zero value of a DCT value.

본 발명의 다른 목적은 화상데이타 전송시간을 단축시킬 수 있는 방법을 제공함에 있다.Another object of the present invention is to provide a method for shortening the image data transmission time.

이하 본 발명을 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

제1도는 본 발명에 따른 회로도로서, 입력에 따라 프로그램에 의해 전송데이타의 코드를 변환하며 데이타 전송을 제어하는 중앙처리장치(10)와, 시스템 제어프로그램과 제로 연속길이 코드와 가변길이 코드를 고정 데이타로 내장하고 있는 롬(20)과, 화상 데이타로 DCT한 전송데이타를 랜덤으로 기억하는 램(30)과, 디지탈 신호를 아나로그 전송에서 적합하도록 변조하여 주고 변조된 신호를 수신한 다음 복조하여 원래 데이타로 변환하는 전송장치(40)로 구성된다.1 is a circuit diagram according to the present invention, which converts a code of transmission data by a program according to an input, and fixes a system control program, a zero continuous length code and a variable length code. ROM 20 embedded as data, RAM 30 which randomly stores transmission data DCT as image data, and modulates the digital signal to be suitable for analog transmission, receive the modulated signal, and then demodulate it. The transmission device 40 converts the original data.

제2도는 본 발명에 따른 흐름도이고, 제3도는 본 발명에 따른 복합 코드예로서 (3A)는 가변길이 값 코드이고, (3B)는 제로 연속길이 코드이다.2 is a flowchart according to the present invention, and FIG. 3 is an example of a complex code according to the present invention, where 3A is a variable length value code and 3B is a zero continuous length code.

상기 (3A) (3B)에서 특수 코드로 구간 끝 코드(EOB), 참조코드, 값업코드, 제로업코드를 포함하고 있다.In (3A) and (3B), a special code includes an end-of-segment code (EOB), a reference code, a value up code, and a zero up code.

따라서 본 발명의 구체적 일실시예를 상술한 제1도-제3도를 참조하여 상세히 설명하면 전송할 DCT 데이터가 중앙처리장치(10)의 제어에 의해 램(30)으로 들어오면 전송 모드에서 RLC를 하는데 (2a)과정에서 한 프레임의 블럭의 마지막까지 중앙처리장치(10)에서 체크하여 (2c)과정에서 전송용 데이타(이하 "x"라 칭함)를 읽는다.Therefore, a specific embodiment of the present invention will be described in detail with reference to FIGS. 1 to 3 as described above. When DCT data to be transmitted enters the RAM 30 under the control of the CPU 10, the RLC is transmitted in the transmission mode. In the process (2a), the CPU 10 checks the end of the block of one frame and reads data for transmission (hereinafter referred to as "x") in the process (2c).

상기에서 "x"가 제로(0)일때 제로 런 카운터(Zero Run Counter : 이하 ZRC라 칭함)를 1씩 증가시키면서 다음 데이타를 읽어들이게 된다.When " x " is zero, the next data is read while increasing the zero run counter (hereinafter referred to as ZRC) by one.

상기 과정에서 계속 읽어가다가 제로가 아니면 이전까지의 ZRC가 제로인지 또는 아닌지를 (2f)과정에서 체크한다.Continue reading in the above process, and if it is not zero, it is checked in step (2f) whether the previous ZRC is zero or not.

상기 (2f)과정에서 제로가 아니면 제로 런에 대한 변환을 하는데 (2g)과정에서 제로가"하나"인가를 체크한다. 상기 (2g)과정에서 하나일때는 (2h)과정에서 PBASE(0-15)의 범위에서 코드 어드레스를 지정한 후 다음을 위해 ZRC를 클리어하며 (2i)과정에 지정된 값을 롬(20)으로부터 읽어낸다. 즉 가변길이 코드부(3A)의 "1"를 코드 메모리인 램(30)에 (2j)과정에서 입력시킨 후 "x"에 대한 변환을 미치게 된다.If it is not zero in step (2f), the conversion for zero run is performed. In step (2g), it is checked whether zero is "one". In the case of one in the step (2g), the code address is specified in the range of PBASE (0-15) in the step (2h), then the ZRC is cleared for the next, and the value specified in the step (2i) is read from the ROM 20. . That is, "1" of the variable length code part 3A is input to the RAM 30 which is the code memory in the process (2j), and then the conversion of "x" is performed.

상기 (2g)과정에서 제로가 하나 이상일때 (2k)과정에서 제로가 15개인가를 체크하여 15개이전이라면 제로 갯수를 지정할 수 있는 "ZBASE"에 ZRC를 더하여 제3도 제로 연속길이 코드(3B)가 내장된 롬(20)의 번지를 지정하고 다음 기능을 위해 ZRC를 클리어한후 상기 롬(20)에 읽은 코드앞에 참조코드("101")를 부여 램(30)에 저장하면 다음은 제로 연속길이 코드(3B)에서 찾을수 있게된다.In the case of (2g), if there is more than one zero, in step (2k), it checks 15 zeros, and if it is more than 15, add ZRC to "ZBASE" which can designate the number of zeros. After designating the address of the embedded ROM 20 and clearing the ZRC for the next function, and storing the reference code ("101") in the RAM 30 before the code read in the ROM 20, the following is zero consecutive. It can be found in the length code 3B.

상기 코드 변환을 예를들어 설명하면 제3도 가변길이 코드부(3A)의 -4인 "1"이 있을 경우 제로가 연속으로 5개이므로 제3도 (3B)에서 "1"를 찾게되므로 보다 축소시켜 변환하며 다시 참조코드 "101"를 부여하면 (3B)에서 다시 제로가 3개 연속이므로 "10"을 찾게된다.For example, when the code conversion is described as "1" which is -4 of the 3rd degree variable length code part 3A, since zero is five consecutively, since "1" is found in 3rd degree 3B, If it is reduced and converted, and the reference code "101" is given again, in (3B), "10" is found because zero is three consecutive times again.

상기 (2f)과정에서 ZRC가 "0"가 아닐경우 램(30)에 변환코드를 저장시킨 후 ZRC가 "0"인 경우 (2n)과정에서 x값이 양수인지 음수인지를 체크하여 x<0일때 -16보다 큰지 또는 적은지를 체크하며, 상기에서 x값이 -16보다 크지 않을때는 x값을 절대값으로 치환한후 음수값을 더하여 롬(20)의 어드레스를 (2v)과정에서 지정하여 (2w)과정에서 코드를 읽어내어 (2t)과정에서 램(30)에 저장한다.If ZRC is not "0" in the process (2f), after the conversion code is stored in the RAM 30, and if the ZRC is "0", it is checked whether the x value is positive or negative in the process (2n) x <0 Is greater than or less than -16, and if x is not greater than -16, replace the x value with an absolute value and add a negative value to specify the address of the ROM 20 in step (2v). The code is read in step 2w) and stored in the RAM 30 in step 2t.

상기 (2n)과정에서 x의 값이 0보다 클때 제2도의 (2o)과정에서 x>16이 아닐때는 x값에다 PBASE(0-15)값을 더하여 롬(20)의 어드레스를 (2p)과정에서 지정하여 (2g)과정에서 코드를 읽어낸후 램(30)에 (2t)과정에서 저장한다. 상기 (2o)과정이나 (2u)과정에서 x가 16보다 크거나 x가 -16보다 적을 경우에는 제3도 (3A)의 업코드(0001)를 (2r)과정에서 부여하여 상기 (2r)과정의 업코드에 8비트인 다른 "x"값 (X 8Bit)를 (2s)과정에서 코드를 부여하고, (2t)과정에서 램(30)의 코드메모리에 저장한다.When the value of x is greater than 0 in step (2n), when x> 16 in step (2o) of FIG. 2, the address of the ROM 20 is added to the value of the ROM 20 by adding PBASE (0-15) to the value of x. After reading the code in the process (2g) by specifying in the RAM (30) stored in the process (2t). In the process (2o) or (2u), if x is greater than 16 or x is less than -16, the upcode (0001) of FIG. 3A (3A) is assigned to (2r) and the process (2r) is performed. Another "x" value (X 8Bit) of 8 bits is assigned to the upcode of (2s), and the code is stored in the code memory of the RAM 30 (2t).

한편 상기 (2k)과정에서 ZRC가 15보다 클때는 제3도의 (3B)에서 제로 업 코드(0000001)를 (2x)과정에서 부여하여 상기 (2x)과정에서 부여한 코드에서 6비트의 코드를 더하여 램(30)에 저장한다.On the other hand, when ZRC is greater than 15 in step (2k), a zero up code (0000001) is assigned in step (2x) in (3B) of FIG. 3, and a 6-bit code is added to the code given in step (2x). Save to 30.

또한 (2a)과정에서 블럭의 끝일때는 제3도 (3A)의 구간 끝 코드(00001)를 (2z)과정에서 부과하며 계속 제로일경우 00001를 부여하여 비트의 끝(EOB)을 알린다.Also, at the end of the block in step (2a), the section end code (00001) of FIG. 3 (3A) is imposed in step (2z), and if it is zero, 00001 is given to indicate the end of the bit (EOB).

상기 전 과정에서 처리한 램(30)의 코드값을 모뎀(40)이나 다른 출력장치를 통해 공중선으로 화상신호를 전송한다.The code value of the RAM 30 processed in the above process is transmitted to the aerial signal through the modem 40 or other output device.

상술한 바와같이 화상 데이타를 전송시 새로운 복합 코드를 채용함으로써 전송시간을 단축할 수 있는 이점이 있다.As described above, there is an advantage that the transmission time can be shortened by employing a new complex code when transmitting image data.

Claims (1)

피사체의 화상 데이타를 랜덤으로 저장할 수 있는 램(30)과, 시스템 제어 프로그램과 고정 코드 데이타를 갖는 롬(20)과, 상기 램(30)으로부터 전송할 데이타를 받아 롬(20)의 프로그램에 따라 처리하는 중앙처리장치(10)와, 상기 중앙처리장치(10)에서 처리한 데이타를 송수신을 할 수 있는 전송장치(40)를 구비한 시스템에서 코드 부호화 방법에 있어서, 상기 램(30)으로부터 한 블럭의 끝을 상기 중앙처리장치(10)에서 체크한후 제로인지를 검색하는 제1과정과, 상기 제1과정에서 제로가 아니면 이전까지의 제로 연속 카운터 값이 제로인지를 체크하는 제2과정과, 상기 제2과정의 제로 연속 카운터 값이 제로이면 이전에 제로이라는 데이타가 입력되지 않는 것이 되므로 롬(20)의 변환길이 코드로부터 코드를 변환시킨 다음 램(30)으로부터 새로운 데이타를 읽어들이는 제3과정과, 상기 제2과정에서 제로 연속 카운터가 제로가 아니면 제로 연속에 대한 변환을 하는 제4과정과, 상기 제4과정에서 1이면 이전에 제로의 값이 1개 입력되어 있으므로 상기 롬(20)의 변환길이 코드부에서 제로에 대한 코드를 찾아 램(30)에 입력시킨 후 데이타에 대한 값을 변환하는 제5과정과, 상기 제2과정에서 제로 연속 카운터 값이 1보다 크면 롬(20)의 제로 연속 변환 코드부에서 제로 연속 카운터에 따른 코드를 변환시킨 후 코드앞에 참조코드를 부여하여 램(30)에 저장하여 전송 모드에서 송신되도록 하는 제6과정으로 이루어짐을 특징으로 하는 복합 코드 부호화 방법.A RAM 30 capable of randomly storing image data of a subject, a ROM 20 having a system control program and fixed code data, and receiving data to be transmitted from the RAM 30 according to a program of the ROM 20 In the code encoding method in a system having a central processing unit (10) and a transmission unit (40) capable of transmitting and receiving data processed by the central processing unit (10), one block from the RAM (30) A first step of checking whether the end of the first processing unit is zero after checking the end of the second processing unit; and a second step of checking whether or not the zero continuous counter value before the first step is zero if the first step is not zero; If the zero continuous counter value of the second process is zero, data of zero is not inputted before. Therefore, the code is converted from the conversion length code of the ROM 20 and the new data is read from the RAM 30. Is a third process, a fourth process for converting to a zero continuation if the zero continuous counter is not zero in the second process, and if the value is 1 in the fourth process, one zero value is previously inputted. A fifth process of converting a value for data after finding a code for zero in the conversion length code part of (20) and inputting it to the RAM 30; and a zero successive counter value greater than 1 in the second process. And a sixth step of converting the code according to the zero continuation counter in the zero sequential conversion code section of (20) to give a reference code to the code and storing it in the RAM 30 to be transmitted in the transmission mode. Coding method.
KR1019870002128A 1987-03-11 1987-03-11 Convertor to run-length codes KR890004316B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019870002128A KR890004316B1 (en) 1987-03-11 1987-03-11 Convertor to run-length codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019870002128A KR890004316B1 (en) 1987-03-11 1987-03-11 Convertor to run-length codes

Publications (2)

Publication Number Publication Date
KR880012024A KR880012024A (en) 1988-10-31
KR890004316B1 true KR890004316B1 (en) 1989-10-30

Family

ID=19259962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870002128A KR890004316B1 (en) 1987-03-11 1987-03-11 Convertor to run-length codes

Country Status (1)

Country Link
KR (1) KR890004316B1 (en)

Also Published As

Publication number Publication date
KR880012024A (en) 1988-10-31

Similar Documents

Publication Publication Date Title
KR970005575B1 (en) Bitrate reduction method and circuitry
US5227789A (en) Modified huffman encode/decode system with simplified decoding for imaging systems
US4454546A (en) Band compression device for shaded image
EP0279799B1 (en) Method and means for variable length coding
KR100335138B1 (en) Video encoder&#39;s variable encoder and coding method using it
US5550542A (en) Variable length code look-up table having separate code length determination
EP0616471A2 (en) Coding of digital signals
US4574382A (en) Variable length character code system
US6225922B1 (en) System and method for compressing data using adaptive field encoding
JP3410629B2 (en) Variable length coding circuit and variable length coding method
US5594435A (en) Permutation-based data compression
US5751233A (en) Decoding apparatus and method therefor
US4618846A (en) Data coding
US6157327A (en) Encoding/decoding device
KR890004316B1 (en) Convertor to run-length codes
JPH05227440A (en) Device and method of coding data
US5561422A (en) Method and apparatus for variable length coding with reduced memory requirement
US5654704A (en) Video variable length code encoder with EOB insertion responsive to word length
JPH02243080A (en) Television signal coding circuit
JPS6352812B2 (en)
EP0499225B1 (en) Variable-length code decoding device
JPS6276931A (en) Data compressor
KR0148152B1 (en) Adaptive variable length coding/decoding method and apparatus of image data
JPH0311883A (en) Decoding system for variable length code, and facsimile equipment and still picture transmission system
KR960016012B1 (en) Variable length coding

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020930

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee