KR950005050B1 - 코드 발생기 - Google Patents

코드 발생기 Download PDF

Info

Publication number
KR950005050B1
KR950005050B1 KR1019920003317A KR920003317A KR950005050B1 KR 950005050 B1 KR950005050 B1 KR 950005050B1 KR 1019920003317 A KR1019920003317 A KR 1019920003317A KR 920003317 A KR920003317 A KR 920003317A KR 950005050 B1 KR950005050 B1 KR 950005050B1
Authority
KR
South Korea
Prior art keywords
output
data
code
unit
memory
Prior art date
Application number
KR1019920003317A
Other languages
English (en)
Other versions
KR930018868A (ko
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 KR1019920003317A priority Critical patent/KR950005050B1/ko
Publication of KR930018868A publication Critical patent/KR930018868A/ko
Application granted granted Critical
Publication of KR950005050B1 publication Critical patent/KR950005050B1/ko

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

내용 없음.

Description

코드 발생기
제1도는 본 발명에 따른 코드 발생기의 블록도.
제2도는 제1도중 제어부(100)의 구체 회로도.
제3도는 본 발명의 일실시예에 따른 동작 타이밍도.
본 발명은 가변장 코딩(variable Length coding)으로 인하여 생성되는 가변장 코드를 일정 길이단위로 변환시키기 위한 코드 발생기에 관한 것으로, 특히 데이터의 고속 처리에 적합한 코드 발생기에 관한 것이다.
전형적으로 개시되어 있는 영상신호 처리장치(예를들면; 디지털 TV 및 VTR시스템, CD-ROM, HDTV등)등에서는 정지영상(still video) 또는 동영상을 압축하여 전송하거나 저장하기 위해 호프만 코딩(Huffman coding)을 행하고 있다.
이러한 호프만 코딩은 가변장 코딩의 일종이며, 통상적으로 이산여현 변환(DCT)과 양자화 이후에 행하여지는 코딩이다.
상기 호프만 코딩에 의해 생성되는 변환영역 상의 영상데이타는 원래의 영상의 복잡도에 따라 가변길이를 갖는 가변장 코드이다.
이러한 가변장 코드를 기록매체(예를들면; IC카드, 자기테이프 또는 자기디스크)상에 기록하기 위해서는 일정한 길이를 갖는 코드로 변환시킨 다음 기록하여야 할 필요가 있게 된다.
종래에는 호프만 코딩후 생성되어지는 가변장 코드를 일정한 길이단위의 코드로 변환하기 위해 시프트 레지스터(shift Register)등으로 이루어진 코드 발생기를 채용해 왔다.
상기의 시프트 레지스터로 이루어진 코드 발생기는 근본적으로 고속 처리에 적합하지 못하며, 처리 데이터의 양이 많을수록 데이터의 유실 확률이 커지는 단점을 안고 있었다. 이러한 현상은 60k bps(bit per second)급 이상의 영상 부호화기에서 수십메가 이상의 높은 클럭 주파수로 일정길이 단위(예를들어; 8비트)를 처리해야 할 경우에 현저히 나타나는데, 그 이유는 시프트 레지스터의 특성상 높은 클럭 주파수에 충분한 동작을 기대할 수 없는 것이 포함되어 있다.
따라서 본 발명의 목적은 데이터의 고속 처리에 적합한 코드 밞생기를 제공함에 있다.
본 발명의 또다른 목적은 고속 동작에서도 데이터의 안정성을 기할 수 있는 일정길이 단위 변환용 코드발생기를 제공함에 있다.
상기의 목적을 달성하기 위한 본 발명의 양태에 따르면, 가변장코드를 입력 어드레스중 상위입력 어드레스로서 수신하며, 상기 상위 입력 어드레스 하나에 대하여 인가되는 하위 어드레스의 조합비트수 만큼의 코드값을 미리 저장하고 있는 제1불휘발성 메모리 및 상기 제1불휘발성 메모리의 상기 코드값들에 대한 코드길이 데이터를 저장하고 상기 입력 어드레스에 대응하여 상기 코드길이 데이터를 출력하는 제2불휘방성 메모리를 가지는 메모리부와; 상기 메모리부에 연결되며, 상기 제2불휘발성 메모리에서 출력되는 코드길이 데이터, 인가되는 메인클럭 및 리셋신호를 논리조합하여, 상기 하위 어드레스를 상기 메모리부에 제공하며 상기 가변장코드를 일정길이단위로 변환 제어하기 위한 멀티플렉싱 선택신호 및 출력클럭을 생성하는 제어부와; 상기 제1불휘발성 메모리의 출력단에 제1입력단이 연결되고, 각기 제1,2지연된 출력라인에 제2,3입력단이 연결되어 상기 제어부의 상기 선택신호에 응답하여 일정한 비트의 데이터를 출력하는 멀티플렉서부와; 상기 멀티플렉서부에 연결되어, 상기 인가되는 메인클럭에 응답하여 상기 멀티플렉서의 출력 테이타를 지연하여 출력하는 제1지연부와; 상기 제1불휘발성 메모리의 출력단에 연결되며, 상기 인가되는 메인클럭에 응답하여 상기 제1불휘발성 메로리의 출력 데이터를 지연하여 출력하는 제2지연부와; 상기 제1지연부의 출력단에 연결되어 상기 제1지연출력된 일정한 비트의 데이터를 상기 제어부의 상기 출력클럭에 응답하여 최종적으로 출력하는 출력 래치부가 회로적으로 마련된다.
이하 본 발명의 구성을 첨부도면을 참조하여 설명한다.
제1도는 본 발명에 따른 코드 발생기의 블록도로서, 입력단(IN)에 입력되는 데이터는 호프만 코딩 되어진 결과에 따른 가변장 데이터인데, 상기 가변장 데이터는 메인클럭(MCLK)에 응답하는 입력 래치부(20)에 의해 래치 출력된다.
상기 입력 래치부(20)에서 출력되는 상기 가변장 데이터는 상기 입력 어드레스와 동일한 의미를 갖는다.
상기 입력 어드레스를 입력하는 제1메모리(30) 및 제2메모리(31)는 불휘발성인 롬(ROM)으로 각기 구성되면 상기 메모리부에 포함된다.
또한, 제어부(100)는 상기 제어부에 대응되며, 멀티플렉서(40) 및 제1-2지연부(50,51), 출력래치부(60)는 상기한 각부에 대응되어 해당 기는을 수행한다.
제2도는 상기 제1도중 제어부(100)의 구체회로도로서, 상기 리셋신호에 의해 리셋되며, 상기 코드길이 데이터를 상기 메인클럭에 응답하여 각기 래치하기 위한 제1-4플립플롭(F1,F2,F3,F4)과, 면기 제1-4플립플롭(F1-F4)에 연결되어 상기 선택신호 및 출력 클럭을 생성하기 위한 다수의 논리 게이트(AND1-AND19,OR1-OR4,INV1-INV2)로 구성되어 있다.
제3도는 본 발명의 일실시예에 따른 동작 타이밍도로서, 제1도의 참조부호와 동일한 부호를 부여하여 실시예에 따른 입력 및 출력에 대한 동작 타이밍 관계를 나타낸 것이다.
이하 본 발명을 상술한 구성에 의거 동작의 일실시예를 상세히 설명한다.
제1도를 참조하면, 입력 래치부(20)의 출력인 입력 어드레스는 상기 가변장코드인데, 출력 래치부(60)에서 일정길이 단위(예를들어 8비트)의 출력코드를 얻기 위해서는 제1-2메모리(30,31) 및 제어부(100), 멀티플렉서부(40), 제1-2지연부(50,51)가 필요하게 된다.
먼저, 상기 제1메모리(30)는 하나의 입력 어드레스에 대하여 8가지(8비트 길이 단위일 경우)의 경우값들을 미리 저장하고 있으며, 여기서 상기 입력 어드레스는 상위 어드레스 8비트(3:A)와 하위 어드레스 3비트(0:2)로 나뉘어 각기 입력된다.
상기 상위 어드레스는 상기 입력 래치부(20)에서 출력되는 어드레스이고, 하위 어드레스는 상기 제어부(100)에서 출력되는 어드레스이다.
따라서, 상기 제1메모리(30) 및 제2메모리(31)에 저장되어 있는 코드값 및 코드길이의 예를 보이면, 표-1과 같이 나타난다.
[표 1]
.
상기 표-1에 나타난 바와같이, 제1메모리(30)에 상기 코드값들이 상위 어드레스에 대응하여 8개씩 저장되어 있으며, 제2메모리(31)는 그 해당 어드레스에 따른 코드값의 순수 데이터 갯수를 저장하고 있는데, 독출시에는 출력단(RN)으로 상기 표-1의 코드길이 데이터를 제어부(100)의 입력단(LEN)으로 제공하게 된다.
즉, 상기 제2메모리(31)에는 상기 제1메모리(30)의 각 코드값들의 순수한 비트 데이터의 갯수가 들어 있는 것이다.
상기 제어부(100)는 상기 제2메모리(31)로부터 인가되는 상기 코드길이 데이터 Len(0:3)에 응답하여 상기 제1-2메모리(30,31)의 어드레스 입력단(A2)으로 상기 하위 어드레스 ADDR(0:2)를 인가하며, 일정 길이 단위의 코드를 발생시키기 위한 선택신호(S1,S2) 및 출력(WCLK)을 생성하여 출력단(S14,WCLK)에 인가한다.
상기 제어부(100)의 상세 구성은 제2도에 나타나 있는데, 이를 설명한다.
제1-4플립플롭(F1-F4)은 D-플립플롭으로 구성되며 각각의 입력단(D)으로는 상기 코드길이 데이터(여기서는 예를들어 4비트) 라인이 각기 연결되나. 또한 각각의 클럭단에는 상기 메인클럭(MCLK)이 제공되며, 리셋단(RESET)이 서로 연결되어 있다.
따라서, 상기 제1-4플립플롭(F1-F4)의 각각의 출력라인(E,D,C,B)에 나타나는 모든 경우의 데이터 논리 및 각각의 게이트들(OR1-OR3, AND2-AND4, AND5-AND18)의 출력라인(f-h,i-k,s4,S11-S27)에 나타나는 데이터 논리는 하기의 표-2와 같이 정리 되어진다.
[표 2]
상기 표-2에 따라서 생성되는 선택신호(S14)는 제1도의 라인(S1,S2)을 통해 멀티플렉서부(40)의 선택단(S)에 인가된다.
여기서 상기 멀티플레서(40)는 상용화 되어 있는 4:1 멀티플렉서 8개로써 조합하여 구성할 수 있으며, 이 경우 각기의 입력단 하나는 연결하지 않는다. 각각의 멸티플렉서의 선택단에는 상기 선택신호(S14)중 2신호가 입력 되도록 함은 물론이다.
그리고 맨 마지막의 멀티플렉서의 선택단을 접지시키는 것이 바람직하다. 상기 멀티플렉서부(40)는 상기 선택단(S)에 인가되는 선택신호에 의해 8비트 단위의 데이터를 출력할 수 있게 되는데, 이에 대한 설명은 다음과 같다. 예를들어 초기에, 상기 멀티플렉서부(40)의 입력라인 Val(0:7)에 제공되는 데이터의 유효비트수(길이)가 예를들어 8보다 작으면 제1지연부(50)는 8보다 작은 비트수를 가지는 데이터를 상기 메인클럭에 의해 지연하고, 이 지연된 데이터는 다시 상기 멀티플렉서부(40)의 입력단(D2)에 제공된다. 따라서, 그 이후에 상기 입력단 Val(0:7)에 인가되는 데이터와 상기 지연된 데이터는 선택신호에 의해 동작되는 상기 멀티플렉서부(40)에 의해 합해져서 8비트의 데이터로 출력될 수 있게 된다.
또한, 8비트 보다 클 경우에는 나머지의 데이터가 상기 제2지연부(51)에 의해 지연된 후 상기 멀티플렉서부(40)의 입력단(D3)으로 인가된다. 따라서, 그 이후에 인가되는 데이터와 상기 지연된 데이터는 8비트로 되어져 출력되는 것이다.
따라서, 상기 제어부(100)는 상기 멀티플렉서(40)의 입력라인(Val,D2,D3)이 소정비트 단위 (8비트)로써 입력될 경우에만, 상기 출력클럭(WCLK)을 상기 출력 래치부(60)에 인가하여, 상기 출력 래치부(60)가 8비트 단위의 코드를 출력단(out)으로 출력하도록 한다.
이를 설명하기 위해 제1도와 관련하여 제3도를 참조 설명한다.
제1도의 각부로 인가되는 메인클럭(MCLK)의 입상 시점(라이징에지 포인트)에서 8비트의 상위 어드레스(ADDR)와 3비트의 하위 어드레스(ADDR)가 상기 제1-2메모리(30-31)로 인가되면, 제1메모리(30)의 출력단(CV)에는 독출된 코드값이 제3도의 Val(0:7),Val(8:F)와 같이 출력된다.
이 경우 상기 제어부(100)로 입력되는 코드길이 데이터가 제3도의 Len(0:3)과 같이 나타나면, 상기 제엉부(100)에서 출력되는 상기 하위 어드레스는 제3도의 상기 ADDR(0:2)와 같고, 멀티플렉서(40)의 선택단(S)에는 S1(1:7) 및 S2(1:7)이 각각 인가된다.
따라서, 상기 멀티플렉서(40)의 입력라인(D2,D3)에는 제3도의 D2(0:7) 및 (0:7)이 나타나고 출력라인(D1)에는 D1(0:7)이 출력되어 짐을 알 수 있다.
이때 상기 제2도의 라인(W)에는 상기 제3도의 라이트클럭(W)이 발생하고 앤드게이트(AND19)에 의해 상기 출력클럭(WCLK)이 상기 제1도의 출력 래치부(60)의 래치 클럭으로 인가된다.
따라서, 상기 출력 래치부(60)의 출력라인(0)에는 상기 제3도의 0(0:7)과 같은 8비트 길이단위의 코드가 발생도어 출력단(out)으로 출력된다.
상술한 설명에서와 같이 예를들어 5비트에 대응하는 입력이 있을 경우에 상기 제어부(100)는 3비트가 더 들어올때 까지 기다렸다가 8비트로 만들어 상기 출력 래치부(60)에 출력클럭을 인가함을 알 수 있게 된다.
그러므로, 본 발명은 기존과 같이 시프트 레지스터의 지연에 의해 일정한 코드길이 단위를 출력시키는 것보다 고속동작되어 지므로 데이터의 유실 확률이 현저히 개선된다.
상술한 바와 같이 본 발명은 데이터의 고속처리시에 데이터의 안정성을 도모하여, 데이터의 유실을 방지하는 이점을 지닌다.

Claims (3)

  1. 가변상 코딩에 의해 생성된 가변장 코드를 수신하여 일정한 길이단위로 변환 출력하기 위한 코드 발생기에 있어서, 상기 가변장코드를 입력 어드레스중 상위입력 어드레스로서 수신하며, 상기 상위 입력 어드레스 하나에 대하여 인가되는 하위 어드레스의 조합비트수 만큼의 코드값을 미리 저장하고 있는 제1불휘발성 메모리 및 상기 제1불휘발성 메모리의 상기 코드값들에 대한 코드길이 데이터를 저장하고 상기 입력 어드레스에 대응하여 상기 코드길이 데이터를 출력하는 제2불휘발성 메모리를 가지는 메모리부와; 상기 메모리부에 연결되며, 상기 제2불휘발성 메모리에서 출력되는 코드길이 데이터, 인가되는 메인클럭 및 리셋신호를 논리조합하여, 상기 하위 어드레스를 상기 메모리부에 제공하며 상기 가변장코드를 일정길이단위로 변환 제어하기 위한 멀티플레싱 선택신호 및 출력클럭을 생성하는 제어부와; 상기 제1불휘발성 메모리의 출력단에 제1입력단이 연결되고, 각기 제1,2지연된 출력라인에 제2,3입력단이 연결되어 상기 제어부의 상기 선택신호에 응답하여 일정한 비트의 데이터를 출력하는 멀티플렉서부와; 상기 멀티플렉서부에 연결되어, 상기 인가되는 메인클럭에 응답하여 상기 멀티플렉서의 출력 데이터를 지연하여 출력하는 제1지연부와; 상기 제1불휘발성 메모리의 출력단에 연결되며, 상기 인가되는 메인클럭에 응답하여 상기 제1불휘발성 메모리의 출력 데이터를 지연하여 출력하는 제2지연부와; 상기 제1지연부의 출력단에 연결되어 상기 제1지연출력된 일정한 비트의 데이타를 상기 제어부의 상기 출력클럭에 응답하여 최종적으로 출력하는 출력 래치부를 가짐을 특징으로 하는 코드 발생기.
  2. 제1항에 있어서, 상기 메모리수단이 독출전용 메모리로 이루어지며, 인가되는 상기 입력 어드레스중 상기 상위 어드레스는 8비트, 하위 어드레스는 3비트로 되어 있음을 특징으로 하는 코드 발생기.
  3. 제2항에 있어서, 상기 제어부는 상기 리셋신호에 의해 리셋되며 상기 코드길이 데이타를 상기 메이클럭에 응답하여 각기 래치하기 위한 제1-4플립플롭(F1-F4)과, 상기 제1-4플립플롭(F1-F4)에 연결되어 상기 선택신호 및 출력클럭을 생성하기 위한 다수의 앤드게이트, 오아게이트 및 인버터로 이루어진 논리게이트(AND1-AND19, OR1-OR4, INV1-INV2)로 구성됨을 특징으로 하는 코드 발생기.
KR1019920003317A 1992-02-29 1992-02-29 코드 발생기 KR950005050B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920003317A KR950005050B1 (ko) 1992-02-29 1992-02-29 코드 발생기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920003317A KR950005050B1 (ko) 1992-02-29 1992-02-29 코드 발생기

Publications (2)

Publication Number Publication Date
KR930018868A KR930018868A (ko) 1993-09-22
KR950005050B1 true KR950005050B1 (ko) 1995-05-17

Family

ID=19329767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920003317A KR950005050B1 (ko) 1992-02-29 1992-02-29 코드 발생기

Country Status (1)

Country Link
KR (1) KR950005050B1 (ko)

Also Published As

Publication number Publication date
KR930018868A (ko) 1993-09-22

Similar Documents

Publication Publication Date Title
US5627917A (en) Variable length coding system having a zig-zag FIFO for selectively storing each data coefficient and zero-run count
US4454546A (en) Band compression device for shaded image
US6014095A (en) Variable length encoding system
US5181031A (en) Method and apparatus for decoding huffman codes by detecting a special class
US5706001A (en) Run-length decoding apparatus for use in a video signal decoding system
JPH0211064B2 (ko)
US5304995A (en) Variable lengthcoding apparatus and variable length decoding apparatus
JP4057650B2 (ja) 大ギャップを有するスライド窓データ圧縮システム
KR960016539A (ko) 상대구조를 이용한 가변장 복호화장치
US4631586A (en) Digital raster timing encoder/decoder
US4955061A (en) Method and apparatus for processing an image signal
US6091856A (en) Picture encoding device for compressing picture data
KR950005050B1 (ko) 코드 발생기
US3984833A (en) Apparatus for encoding extended run-length codes
US5689254A (en) Decoding circuit for runlength codes
JPH04274675A (ja) ランレングス符号化法および装置
EP0802681A2 (en) Variable length code decoder
US4739308A (en) Method for the formatting and unformatting of data resulting from the encoding of digital information using a variable length code and a device for using this method
US4086620A (en) Processor for increasing the run-length of facsimile data
JPS59117864A (ja) デ−タ圧縮拡張制御方式
US5736945A (en) Circuit for zero-run developing RUN/LEVEL sets and method for zero-run developing the same
KR100238733B1 (ko) 엠펙디코더의 데이타패킹기능을 가지는 스캔변환회로 및 그 변환방법
KR0152035B1 (ko) 가변장복호화방법 및 그 장치
KR0180666B1 (ko) 가변길이 복호화를 위한 데이타 저장장치
JPH0116071B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20030512

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee