KR0178744B1 - 가변장 복호기 제어회로 - Google Patents

가변장 복호기 제어회로 Download PDF

Info

Publication number
KR0178744B1
KR0178744B1 KR1019950042206A KR19950042206A KR0178744B1 KR 0178744 B1 KR0178744 B1 KR 0178744B1 KR 1019950042206 A KR1019950042206 A KR 1019950042206A KR 19950042206 A KR19950042206 A KR 19950042206A KR 0178744 B1 KR0178744 B1 KR 0178744B1
Authority
KR
South Korea
Prior art keywords
data
rom
output
bit
variable length
Prior art date
Application number
KR1019950042206A
Other languages
English (en)
Other versions
KR970032145A (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 KR1019950042206A priority Critical patent/KR0178744B1/ko
Publication of KR970032145A publication Critical patent/KR970032145A/ko
Application granted granted Critical
Publication of KR0178744B1 publication Critical patent/KR0178744B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 서로 다른 전송규격의 비트스트림을 호환성있게 가변장 복호화하도록 제어하는 가변장 복호기 제어회로에 관한 것이다. 본 발명의 제어회로는 외부로부터 입력되는 리세트신호 내지 홀드신호에 따라 가변장 복호기의 복호동작을 초기화시키거나 일시 중지시키며, 가변장 복호기로부터 출력되는 가변장 복호화를 위한 일정길이의 비트데이타와 가변장 복호화에 사용된 코드길이를 입력받고 테이블로 정의한 제어명령들에 따라 가변장 복호기의 시프팅동작을 제어하도록 구성된다. 여기서, 제어명령들을 전송규격과 데이터상태를 고려하여 일정비트로 정의한다. 따라서, 종래보다 가변장 복호기 제어를 위한 제어코드를 구비한 룸의 규모를 줄일 수 있고, 서로 다른 전송규격에 대한 호환성있는 제어가 가능하도록 하는 효과를 제공한다.

Description

가변장 복호기 제어회로
제1도는 일반적인 가변장 복호회로를 개략적으로 나타낸 구성도.
제2도는 제1도의 가변장 복호기 제어회로를 나타낸 구성도.
제3도는 본 발명의 바람직한 실시예에 따른 가변장 복호기 제어회로를 나타내는 구성도.
* 도면의 주요부분에 대한 부호의 설명
30 : 어드레스결정부 31,53 : 디코더
32 : 래치 33 : 가산기
35 : 롬(ROM) 40 : 데이타상태판단부
41~47 : 비교기 48,49,51,55 : 멀티플렉서
50 : 이전상태저장부 52 : 레지스터
60 : 조건판단부 65 : 데이터출력부
70 : 바이트정렬기
본 발명은 가변장 복호기(Variable Length Decoder; VLD) 제어회로에 관한 것으로, 보다 상세하게는, MPEG 1, MPEG 2, H.261등의 서로 다른 전송규격으로 압축되어 전송되는 비트스트림데이타를 호환성있게 복원할 수 있도록 가변장 복호기를 제어하는 가변장 복호기 제어회로에 관한 것이다.
일반적으로, 고화질 TV, 고화질 VTR, 디지털 VTR, 디지털 캠코더 및 멀티미디어 기기 등과 같은 시스템은 영상 및 음향신호를 디지털데이타로 부호화하여 전송하거나 저장하고, 이를 다시 복호화하여 재생한다. 이와 같은 부호화 및 복호화시스템의 산업상 이용을 위해 디지털데이타의 국제적 전송 규격 표준화의 필요성이 대두되었고, 이는 1990년 ITU-TS(CCITT)의 H.261을 비롯, 1992년 정지화의 저장 전송 등을 위한 ISO/ITU-TS의 JPEG(Joint Picture Expert Group), ISO/IEC의 MPEG(Moving Picture Expert Group)등의 표준화로 이어지고 있다. 이중, H.261은 주로 화상전화 및 회의 시스템의 표준으로써 1993년부터 급속히 제품화되고 있는 멀티미디어 통신 단말기에 이용되고 있다. 또한, 컴퓨터 그래픽스와 같은 정지화처리를 주요 목적으로 개발된 JPEG은 정지화의 저장 전송뿐만 아니라 동화의 방송국내 저장 및 편집, 또는 전자카메라 등에도 활발히 사용되고 있다.
한편, 1993년 완료된 MPEG 1은 CD(Compact Disk)와 같은 매체를 대상으로 하여 VHS수준의 동영상 및 오디오신호를 압축 복원하기 위한 규격으로서 CD-ROM, CD-I FMV, 비디오 CD 등에 이용되고 있다. 또한, MPEG 1을 기초로 하여 1994년 11월에 국제 표준화가 완료된 MPEG 2는 디지털 위성방송, 디지털 케이블 TV 및 HDTV 등의 압축알고리즘으로 채택되고 있다. 한편, 미국에서는 HDTV를 위한 규격제정을 위해 GI, MIT, ATT, Zenith, Thomson, Philips, DSRC의 7개 기관이 미국 HDTV 표준을 목표로 한 수년간의 경쟁 끝에 최근 GA(Grand Alliance)를 결정하여 MPEG 2의 동영상압축알고리즘을 근간으로 한 미국 HDTV표준안을 채택하였다.
MPEG 2는 기능과 해상도에 따라, 매우 광범위한 응용 분야에 적용될 수 있으며, 다섯 개의 프로필(Profile)과 네 개의 레벨(Level)로 정의된 총 20개의 영역으로 구분되고 있는데, 이중 11개 부분이 응용영역으로 권장되고 있다. 여기서, 프로필이란 MPEG 2의 신텍스(Syntax)중 어느 부분을 사용하여 어떤 기능을 포함시키느냐에 관한 것으로 알고리즘의 복잡도를 나타내는 척도이다. 또한, 레벨이란 사용하는 파라미터를 어느 정도의 크기로 제한하느냐에 의해 결정되는 것으로 해상도를 나타내는 척도이다. 예를 들어, 메인프로필(Main Profile; MP)과 심플프로필(Simple Profile; SP)과의 차이를 B(Bidirectionally predictive)화면과 관계되는 신텍스 사용 유무에 달려 있으며, 방송환경에 많이 사용될 메인레벨(Main Level; ML)과 하이레벨(High Level; HL)의 차이는 메인레벨(ML)에서는 수평화소는 720이하, 수직화소는 576이하, 프레임율은 30Hz이하 등으로 제한되어 있는 반면 하이레벨(HL)은 수평화소는 1920이하, 수직화소는 1152이하, 프레임율은 60Hz이하로 되어 있어 전체적으로 많은 데이터 처리가 요구되는 신텍스상으로는 동일하다. 11개의 권장응용영역중 디지털 HDTV의 표준규격으로 메인프로필과 하이레벨(MP@HL)이 채택될 전망이다.
한편, 위와 같이 정의되는 다양한 규격에서, 데이타 압축을 위해 통상 가변장 부호화(Variable Length Coding; VLC)방식을 사용하며, 가변장 부호화된 데이터 복원을 위해 통상 가변장 복호화방식을 사용한다. 이때, 해당 전송 규격에 맞추어 가변장 복호화하기 위해서는 가변장 복호기와 해당 규격에 맞게 설계된 제어회로가 필요하며, 이를 제1도에 도시하였다.
제1도는 일반적인 가변장 복호회로를 개략적으로 나타낸 구성도로서, 데이타시프터부(11)와 가변장복호화데이블을 구비한 롬(15)으로 된 가변장 복호기(10)와 그를 제어하는 제어회로(20)로 크게 구성된다. 가변장 복호기(10)로 다양한 전송규격중 하나의 규격을 갖는 비트스트림데이타가 입력되면, 데이타시프터(data shifter)부(11)는 제어회로(20)를 통해 결정된 시프트값(Ds)만큼 시프트된 윈도우내의 비트데이타를 롬(15)의 어드레스데이타로 출력한다. 데이타시프터부(11)는 비트데이타(Os)를 제어회로(20)로도 출력한다. 롬(15)은 데이타시프터부(11)로부터 인가된 어드레스데이타에 의해 지정되는 위치에 저장된 [런, 레벨]데이타를 뒷단에 위치한 미도시된 역양자화/역변환기로 출력한다. 롬(15)은 또한, [런, 레벨]데이타의 출력에 사용된 코드워드가 갖는 길이 즉, 가변장 복호화된 [런, 레벨]데이타에 대응하는 코드길이(CL)를 제어회로(20)로 공급한다. 제어회로(20)는 가변장 복호기(10)의 데이터시프터부(11)와 롬(15)으로부터 출력되는 각각의 비트데이타(Os)와 코드길이(CL)를 입력받아 새로운 시프트값(Ds)을 결정한다. 데이타시프터부(11)는 제어회로(20)로부터 새로이 인가된 시프트값만큼 시프트된 윈도우내의 비트데이타를 다시 롬(15)으로 출력한다. 가변장 복호기(10)와 제어회로(20)간에 이러한 동작을 반복하면서 가변장복호화를 계속적으로 수행할 수 있게 된다. 또한, 제어회로(20)는 외부로부터 입력되는 홀드신호(HOLD)내지 리세트신호(RESET)에 의해 가변장 복호기(10)의 시프트동작을 홀드시키거나 초기화시킨다. 여기서, 제어회로(20)는 제2도와 같이 구성된다.
제2도는 제1도의 가변장 복호기 제어회로를 나타낸 구성도로서, 데이타분석부(21)와, 레지스터부(22), 및 비교부(23)로 구성된다. 제2도의 제어회로(20)에서 데이타분석부(21)는 외부로부터 입력되는 리세트신호(RESET)내지 홀드신호(HOLD)를 분석하여 가변장 복호기(10)의 복호동작을 초기화 내지 일시 중지하도록 제어신호를 발생한다. 데이타분석부(21)는 또한, 가변장 복호기(10)의 데이타시프터부(11)로부터 출력되는 일정길이의 비트데이타(Os)를 입력받고, 복호화에 사용된 코드길이(CL)를 입력받아 기정의된 로직(Logic)에 근거하여 분석(Parsing)한 후 시프트할 데이타값을 결정한다. 여기서, 레지스터부(22)는 현재 클럭에서 몇 클럭 이전의 상태를 저장하고, 필요에 따라 데이타분석부(21)로 공급하여 시프트값 결정에 영향을 미친다. 비교부(23)도 또한 가변장 복호기(10)로부터 공급된 일정길이의 비트데이타 내지 코드길이를 해당 전송규격상 정의한 신텍스에 근거하여 기설정한 비교값들과 비교하고 그 비교결과를 필요에 따라 데이타분석부(21)로 공급하여 시프트값 결정에 영향을 미친다.
일반적으로, 가변장 복호기 제어회로는 FSM(Finite State machine)을 이용하여 하드웨어적으로 그 기능을 실행하도록 회로를 구성하는 형태와, 제어코드를 갖는 롬과 이를 제어하는 마이크로컨트롤러를 이용하여 제어회로를 구성하는 형태로 크게 구분할 수 있다. 이때, FSM을 사용할 경우에는 회로의 양은 줄일 수 있지만 추가 내지 변경 등의 어려움이 있다. 반면에, 마이크로컨트롤러를 이용하여 가변장 복호기의 제어회로를 구현하는 경우 추가 내지 변경 등이 용이하지만 제어코드를 갖는 롬(ROM)의 규모가 커지게 되는 문제가 있다. 또한, 전송규격마다 그에 맞는 제어회로를 별도로 구성해야 한다.
따라서, 본 발명의 목적은 서로 다른 규격 즉, [MPEG2 MP@HL], [MPEG2 MP@ML], MPEG1, H.261등의 포맷으로 압축된 비트스트림과 가변장 복호기간의 호환성있는 가변장 복호화를 수행할 수 있도록 하며, 제어코드를 적은 규모의 롬으로 구현할 수 있도록 한 가변장 복호기 제어회로를 제공함에 있다.
이와 같은 목적을 달성하기 위한 본 발명의 가변장 복호기 제어회로는 가변장 부호화에 의한 비트데이타를 저장하며, 제어신호에 따라 이전에 출력된 N-비트데이타의 최초 비트로부터 제어신호의 값만큼 자리이동하며, 자리이동에 의한 새로운 최초 비트로부터의 N-비트데이타를 출력하는 데이타시프터부와, 가변장복호화데이블을 구비한 롬으로 된 가변장 복호기에 제어신호를 출력하는 가변장 복호기 제어회로에 있어서, 전송규격과 데이터상태를 고려한 상기 데이타시프터부의 시프트값 결정을 위한 제어코드를 일정비트의 명령들로 정의하여 저장하고, 어드레스결정부에 의해 결정된 어드레스가 지시하는 위치에 저장되어 있는 명령을 출력하는 롬과, 상기 롬의 어드레스를 결정하기 위한 어드레스결정부와, 상기 롬으로부터 출력되는 일정비트의 명령과 상기 데이타시프터부로부터 현재 입력된 N-비트데이타 및 이전상태저장부로부터 출력되는 이전 입력된 N-비트데이타 내지 가변장복호화테이블에서 사용된 코드길이를 입력받아 전송규격 및 데이터상태를 판단하는 데이타상태판단부와, 상기 데이타시프터부로부터 현재 입력된 N-비트데이타와 가변장복호화테이블에서 사용된 코드길이를 입력받고, 상기 롬으로부터 출력되는 일정비트의 명령에 따라 저장하여 필요에 따라 이전상태로 출력하는 이전상태저장부, 및 상기 롬으로부터 출력되는 일정비트의 명령에 포함되어 있는 임의로 설정한 시프트값과 상기 이전상태저장부의 저장내용 및 입력되는 코드길이중 하나를 상기 데이타시프터부의 시프트값으로 출력하는 데이터출력수단을 포함한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 기술하기로 한다.
제3도는 본 발명에 따른 가변장 복호기 제어회로를 나타내는 구성도이다. 도시한 바와 같이, 본 발명의 제어회로는 전송규격과 상태에 따라 가변장 복호기의 데아타시프트값 결정을 위한 제어코드들을 일정비트로 표현되는 각종 명령(instruction)들로 나타내고, 그 명령들을 4개의 그룹으로 구분지어 저장하고 있는 롬(35)의 어드레스를 결정하기 위한 어드레스결정부(30)를 구비하고 있다. 어드레스결정부(30)는 롬(35)의 현재 어드레스를 1씩 증가시키는 가산기(33)와, 외부로부터 리세트신호(RESET) 내지 홀드신호(HOLD)를 입력받고 가산기(33)에 의해 1 증가된 롬(35)의 증가어드레스와 롬(35)으로부터 출력되는 점프(Jump)할 위치에 해당하는 점프어드레스를 입력받아 필요한 동작에 해당하는 명령이 저장된 롬(35)의 어드레스를 출력하는 제1 디코더(31), 및 제2 디코더(31)로부터 출력되는 롬(35)의 어드레스를 다음 클럭에 대한 명령수행을 위해 1클럭 래칭하는 래치(32)로 이루어진다. 본 발명의 제어회로는 또한, 가변장 복호기(미도시)의 데이타시프터부로부터 출력되는 일정길이의 비트데이타를 입력받고 롬(35)으로부터 출력되는 일정비트의 명령을 입력받아 복호화를 위해 입력된 데이터상태를 판단하기 위한 데이타상태판단부(40)를 구비하고 있다. 데이타상태판단부(40)는 가변장 복호기(미도시)의 데이타시프터부로부터 출력되는 일정길이의 비트데이타(Os)와 롬(35)으로부터 출력되는 일정비트의 명령들을 비교하기 위한 다수의 비교기(41~47)들과, 다수의 비교기들(41~47)의 비교결과중 하나를 선택하여 어드레스결정부(30)의 제1 디코더(31)로 출력하는 제1 멀티플렉서(49), 및 제2 멀티플렉서(48)로 이루어진다.
한편, 본 말명의 제어회로는 가변장 복호기(미도시)의 데이타시프터부로부터 출력되는 일정길이의 비트데이타(Os)와 롬으로부터 출력되는 코드길이(CL)를 입력받아 저장하여 필요에 따라 다음 시프트값 결정에 영향을 미칠 수 있도록 한 이전상태저장부(50)를 구비하고 있다. 이전상태저장부(50)는 비트데이타(Os)와 코드길이(CL)를 어드레스결정부(30)로부터 출력되는 비트명령에 따라 선택하여 출력하는 제3 멀티플렉서(51)와, 롬(35)으로부터 출력되는 저장제어명령에 따라 저장가능한 인에이블상태가 되며 저장가능한 인에이블상태에서 제3 멀티플렉서(40)에서 출력되는 일정길이의 비트데이타와 코드길이를 저장하는 다수개의 레지스터(52), 및 다수개의 레지스터(52) 내용들 중 롬(35)에 의해 선택된 레지스터내용을 출력하는 제2 디코더(53)로 이루어진다. 제2 디코더(53)에는 제2 디코더(53)로부터 출력되는 레지스터내용과 롬(35)에 임의적으로 설정한 시프트값중 하나를 롬(35)으로부터 출력되는 제어명령에 따라 선택하여 출력하는 제4 멀티플렉서(55)가 연결된다.
제4 멀티플렉서(55)에는 데이타상태판단부(40)의 제1 멀티플렉서(49)로부터 출력되는 데이터상태판단결과 및 롬(35)으로부터 인가되는 제어명령을 조건으로 시프트동작여부를 판단하는 조건판단부(60)가 연결된다. 조건판단부(60)에는 시프트값을 결정하여 최종 출력하는 데이터출력부(65)가 연결된다. 데이터출력부(65)에는 신호규격에 따른 데이터포맷에 맞도록 바이트단위로 정렬하여 데이터출력부(65)로 입력시키는 바이트정렬기(70)가 연결되도록 구성된다.
이와 같이 구성된 본 발명에 따른 가변장 복호기 제어회로에 대한 동작을 좀더 구체적으로 설명한다.
먼저, 롬(35)은 전송규격과 데이터상태에 따른 시프트값 결정을 위해 일정비트(여기서는 32비트로 정의됨)로 표현되는 명령들을 4개의 그룹으로 구분하여 저장한다. 즉, 32비트중 2비트로 표현되는 A그룹은 롬(35)의 어드레스를 '1'증가시킬 것인지 혹은 점프(Jump)할 것인지를 지정한다. 32비트중 8비트로 표현되는 B그룹은 A그룹에 의해 점프로 지정된 경우 점프할 어드레스를 지정한다. 32비트중 10비트로 표현되는 C그룹은 시프트제어 및 시프트할 값을 지정하며, 나머지 12비트로 표현되는 D그룹은 비교 및 저장기능에 대해 제어한다. 이에 대한 보다 상세한 내용을 하기 표들을 통해 정리한다.
우선, 어드레스결정부(30)의 제1 디코더(31)는 롬(35)으로부터 인가되는 2비트의 A그룹 명령(A1A0)과 데이타상태판단부(40)의 제1 멀티플렉서(49)로부터 출력되는 조건에 따라 표 1과 같이 다음 제어를 위한 롬(35)의 어드레스를 결정한다.
위의 표 1과 같이, 어드레스결정부(30)의 제1 디코더(31)는 롬(35)으로부터 인가되는 2비트의 A그룹 명령(AA)이 0이면 가산기(33)에 의해 1 증가된 롬(35)의 증가어드레스를 선택하여 출력한다. 제1 디코더(31)는 A그룹 명령(AA)이 1이면 제1 멀티플렉서(49)로부터 인가되는 조건에 상관없이 무조건 롬(35)으로부터 인가된 점프어드레스(B~B)를 선택하여 출력한다. 제1 디코더(31)는 A그룹 명령(AA)이 10이면 제1 멀티플렉서(49)로부터 인가되는 조건이 예를 들어 1=참이면 롬(35)으로부터 인가된 점프어드레스(B~B)를 선택하여 출력하고, 조건이 맞지 않으면 즉, 1이 아닌 0이면 증가어드레스를 선택하여 출력한다. 제1 디코더(31)는 A그룹 명령(AA)이 11이면 제1 멀티플렉서(49)로부터 인가되는 조건이 0=거짓이면 롬(35)으로부터 인가된 점프어드레스(B~B)를 선택하여 출력하고, 조건이 맞지 않으면 즉, 0이 아닌 1이면 증가어드레스를 선택하여 출력한다. 제1 디코더(31)에서 출력되는 롬(35)의 어드레스는 래치(32)로 입력되어 다음 명령수행을 위해 1클럭만큼 래칭된다. 래칭된 어드레스는 롬(35)으로 입력됨과 동시에 가산기(33)로 입력된다. 롬(35)은 입력된 어드레스가 지시하는 위치에 저장되어 있는 32비트 명령을 출력한다. 가산기(33)는 입력된 어드레스에 1를 가산하여 어드레스를 증가시킨 후 제1 디코더(31)로 출력한다.
한편, 가변장 복호기(미도시)의 데이터시프터부로부터 출력되는 일정길이의 비트데이타(Os)를 입력받는 데이터상태판단부(40)는 다수의 비교기들(41~47)을 통해 데이타상태를 판단한다. 즉, 제1 비교기(41)에서는 0000 0000 0000 0000 0000 0001로 고정된 24비트의 시작코드(START)와 일정길이의 비트데이타를 비교하여 데이터시프터부의 비트데이타가 임의의 구간의 시작을 나타내는 시작신호(START)인지를 판단한다. 제2 비교기(42)는 롬(35)의 32비트 명령중 D그룹의 4비트(D~D)비교값과 일정길이의 비트데이타중 최상위 4비트데이타를 비교하여 같은 지를 판단한다. 제3 비교기(43)는 32비트 명령중 D그룹의 8비트(D~D) 비교값과 일정길이의 비트데이타중 최상위 8비트데이타를 비교하여 같은 지를 판단한다. 여기서, 제2 비교기(42)와 제3 비교기(43)에서 일정길이의 비트데이타중 최상위 4비트와 8비트에 대해 비교하는 D그룹의 4비트(D~D)와 8비트(D~D) 비교값은 MPEG 2의 신텍스상에 정의한 유효한 비트데이타이다. 제4 비교기(44)는 일정길이의 비트데이타중 최상위 1비트가 1인지를 판단하여 신호규격이 MPEG 1인지 MPEG 2인지를 판단한다. 제5 비교기(45)는 11비트의 ESC코드와 일정길이의 비트데이타를 비교하여 데이터시프터부의 비트데이타가 ESC코드인지를 판단하고, 제6 비교기(46)는 일정길이의 비트데이타가 EOB코드인지를 판단한다. 제7 비교기(47)는 이전상태저장부(50)의 제2 디코더(53)를 통해 출력되는 레지스터저장내용과 32비트 명령중 D그룹의 4비트(D~D)를 비교하여 현재상태에서의 시프트값결정에 영향을 미칠 것인지를 판단한다. 제7 비교기(47)의 비교결과는 제2 멀티플렉서(48)로 출력된다. 제2 멀티플렉서(48)는 롬(35)의 32비트중 12비트로 표현되는 D그룹 명령중 2비트(DD)에 의해 입력된 비교결과를 제1 멀티플렉서(49)로 출력한다. 제1 멀티플렉서(49)는 각 비교기(41~46) 및 제2 멀티플렉서(48)에 의해 출력되는 각각의 데이타상태판단결과중 하나를 롬(35)의 D그룹 12비트 명령중 4비트(D~D)에 의해 선택하여 어드레스결정부(30)의 제1 디코더(31)의 동작 조건으로 출력함과 아울러 조건판단부(60)로도 출력한다. 여기서, 롬(35)의 D그룹 12비트 명령(D~D)은 표 2에 도시한 바와 같다.
가변장 복호기(미도시)의 데이터시프터부로부터 출력되는 일정길이의 비트데이타(Os)와 코드길이(CL)를 입력받는 이전상태저장부(50)의 제3 멀티플렉서(51)는 롬(35)의 D그룹 12비트 명령중 1비트(D)가 0이면 일정길이의 비트데이타(Os)를 선택하여 출력하고, 1이면 코드길이(CL)를 선택하여 출력한다. 제3 멀티플렉서(51)에서 출력되는 일정길이의 비트데이타 내지 코드길이는 다수의 레지스터(52)중 하나의 레지스터에 저장된다. 다수의 레지스터(52)중 롬(35)의 D그룹 12비트 명령중 8비트(D~D)에 의해 결정되는 아이디(ID)를 갖는 레지스터가 인에이블상태가 되어 제3 멀티플렉서(51)에서 선택된 일정길이의 비트데이타 내지 코드길이를 저장한다. 다수의 레지스터(52)의 저장내용은 제2 디코더(53)로 출력한다. 제2 디코더(53)는 롬(35)의 C그룹 10비트 명령중 4비트(C~C)에 의해 지정되는 레지스터저장 내용만을 선택하여 데이터상태판단부(40)의 제7 비교기(47)로 출력함과 동시에 제4 멀티플렉서(55)로 출력한다. 제4 멀티플렉서(55)는 롬(35)의 C그룹 10비트 명령중 6비트(C~C)에 의해 임의적으로 기설정한 시프트값(여기서는 63비트까지 시트프가능)과 제2 디코더(53)에서 출력된 레지스터저장내용중 하나를 롬(35)의 C그룹 10비트 명령중 2비트(C)에 따라 선택하여 출력한다. 여기서 C그룹 10비트 명령중 2비트(CC)는 하기 표 3a에 나타낸 바와 같이 데이터출력부(65)로부터 가변장 복호기(미도시)의 데이터시프터부로 출력된 시프트값을 결정해준다.
위의 표 3a과 같이 롬(35)의 C그룹 명령중 2비트(CC)가 0 또는 1이면 제4 멀티플렉서(55)는 동작하지 않는다. 반면에, 10이면 제4 멀티플렉서(55)는 롬(35)상에 기설정한 임의의 시프트값(C~C)을 선택하여 조건판단부(60)로 출력하고, 11이면 제2 디코더(53)로부터 출력되는 레지스터저장내용을 선택하여 조건판단부(60)로 출력한다. 한편, 조건판단부(60)는 데이터상태판단부(40)의 제1 멀티플렉서(49)로부터 출력되는 조건과 롬(35)의 C그룹 10비트 명령중 2비트(CC)에 따라 시프트여부를 결정하여 제4 멀티플렉서(55)에서 출력값을 데이터출력부(65)로 출력한다. 여기서, 롬(35)의 C그룹 10비트 명령중 2비트(CC)는 하기 표 3b와 같다.
위의 표 3b와 같이 조건판단부(60)는 롬(35)의 C그룹 10비트 명령중 2비트(CC)가 0이면 동작하지 않고, 1이면 제1 멀티플렉서(49)로부터 출력되는 조건에 상관없이 무조건 시프트를 결정하여 제4 멀티플렉서(55)의 출력값을 데이터출력부(65)로 전달한다. 조건판단부(60)는 롬(35)의 C그룹 10비트 명령중 2비트(CC)가 10이면 제1 멀티플렉서(49)로부터 출력되는 조건이 예를 들어 1=참일때만 시프트를 결정하여 제4 멀티플렉서(55)의 출력값을 데이터출력부(65)로 출력하고, 조건이 맞지 않을 때는 동작하지 않는다. 반면에, 조건판단부(60)는 롬(35)의 C그룹 10비트 명령중 2비트(CC)가 11이면 제1 멀티플렉서(49)로부터 출력되는 조건이 0=거짓일때만 시프트를 결정하여 제4 멀티플렉서(55)의 출력값을 데이터출력부(65)로 출력하고, 조건이 맞지 않을 때는 동작하지 않는다. 데이터출력부(65)에서는 가변장 복호기(미도시)로부터 출력되는 코드길이(CL)와 조건판단부(60)의 출력 및 바이트정렬기(70)의 출력중 하나를 롬(35)의 C그룹 10비트 명령중 3비트(CCC)에 따라 선택하여 가변장 복호기(미도시)의 데이타시프터부에서 시프트할 값으로 출력한다. 여기서, 데이터출력부(65)는 롬(35)의 C그룹 10비트 명령중 1비트(C)에 따라 바이트정렬기(70)의 출력을 선택하게 된다. 데이터출력부(65)에서 출력되는 시프트값은 바이트정렬기(70)로 입력되어 신호규격의 데이터포맷에 맞도록 바이트단위로 정렬된다.
위와 같이 구성되는 제어회로를 통해 MPEG 2, MPEG 1, H.261 등의 신호규격을 고려하여 적절한 가변장 복호기의 시프트값을 결정하여 가변장 복호기로 전달하면, 가변장 복호기는 그 시프트값에 따라 입력되는 비트스트림을 시프트하여 복호화한다.
상술한 바와 같이, 본 발명은 가변장 복호기 제어회로에 관한 것으로 서로 다른 전송규격에 대한 호환성있는 가변장 복호화를 위한 제어가 불가능하고, 제어코드를 갖는 롬의 데이타폭이 큰 종래에 비해서 제어코드를 전송규격과 데이터상태를 고려한 일정비트의 명령들로 롬에 저장하여 서로 다른 전송규격에 대한 호환성있는 가변장 복호화 제어가 가능하고 롬의 규모를 줄일 수 있도록 하는 효과를 갖는다.

Claims (6)

  1. 가변장 부호화에 의한 비트데이타를 저장하며, 제어신호에 따라 이전에 출력된 N-비트데이타의 최초 비트로부터 제어신호의 값만큼 자리이동하며, 자리이동에 의한 새로운 최초 비트로부터의 N-비트데이타를 출력하는 데이타시프터부와, 가변장복호화테이블을 구비한 롬으로 된 가변장 복호기에 제어신호를 출력하는 가변장 복호기 제어회로에 있어서, 전송규격과 데이타상태를 고려한 상기 데이타시프터부의 시프트값 결정을 위한 제어코드를 일정비트의 명령드로 정의하여 저장하고, 어드레스결정부에 의해 결정된 어드레스가 지시하는 위치에 저장되어 있는 명령을 출력하는 롬; 상기 롬의 어드레스를 결정하기 위한 어드레스결정부; 상기 롬으로부터 출력되는 일정비트의 명령과 상기 데이타시프터부로부터 현재 입력된 N-비트데이타 및 이전상태저장부로부터 출력되는 이전 입력된 N-비트데이타 내지 가변장복호화테이블에서 사용된 코드길이를 입력받아 전송규격 및 데이타상테를 판단하는 데이타상태판단부; 상기 데이타시프터부로부터 현재 입력된 N-비트데이타와 가변장복호화테이블에서 사용된 코드길이를 입력받고, 상기 롬으로부터 출력되는 일정비트의 명령에 따라 저장하여 필요에 따라 이전상태로 출력하는 이전상태저장부; 및 상기 롬으로부터 출력되는 일정비트의 명령에 포함되어 있는 임의로 설정한 시프트값과 상기 이전상태저장부의 저장내용 및 입력되는 코드길이중 하나를 상기 데이타시프터부의 시프트값으로 출력하는 데이터출력수단을 포함하는 가변장 복호기 제어회로.
  2. 제1항에 있어서, 상기 롬에 저장된 일정비트의 명령은 롬의 어드레스를 1 증가시킬 것인지 점프시킬 것인지를 지정하는 A그룹, 점프어드레스를 지정하는 B그룹, 시프트여부 및 스프트값을 지정하는 C그룹, 및 상기 데이타상태판단부의 데이타상태판단 및 이전상태 저장을 지정하는 D그룹으로 구성되는 것을 특징으로 하는 가변장 복호기 제어회로.
  3. 제2항에 있어서, 상기 어드레스결정부는 상기 롬의 현재 어드레스를 1 증가시켜 출력하는 가산기; 상기 가산기로부터 출력되는 어드레스와 상기 롬으로부터 출력되는 B그룹 명령에 의한 점프어드레스를 입력받고, 상기 롬으로부터 출력되는 A그룹 명령과 상기 데이타상태판단부의 데이타상태판단결과를 조건으로 하여 조건에 맞는 어드레스를 선택하여 출력하는 제1 디코더; 및 상기 디코더로부터 출력되는 어드레스를 1클럭만큼 래칭시켜 상기 롬과 가산기로 출력하는 래치로 이루어진 것을 특징으로 하는 가변장 복호기 제어회로.
  4. 제3항에 있어서, 상기 데이타상태판단부는 상기 데이타시프터부로부터 현재 입력된 N-비트데이타와 기정의된 시작코드를 비교하여 N-비트데이타에 시작코드가 포함되어 있는 지를 판단하는 제1 비교기; 현재 입력된 N-비트데이타중 최상위의 소정비트들과 상기 롬으로부터 출력되는 D그룹 명령에 지정된 비교값들을 비교하는 제2 비교기와 제3 비교기; 현재 입력된 N-비트데이타중 최상위 1비트를 통해 전송규격을 판단하는 제4 비교기; 현재 입력된 N-비트데이타와 기정의된 ESC코드를 비교하여 N-비트데이타에 ESC코드가 포함되어 있는 지를 판단하는 제5 비교기; 현재 입력된 N-비트데이타와 기정의된 EOB코드를 비교하여 N-비트데이타에 EOB코드가 포함되어 있는 지를 판단하는 제6 비교기; 상기 이전상태저장부로부터 출력되는 레지스터저장내용과 상기 롬으로부터 출력되는 D그룹 명령에 정의된 비교값을 비교하는 제7 비교기; 상기 제7 비교기의 비교결과를 입력받아 상기 롬으로부터 출력되는 D그룹 명령에 따라 출력하는 제2 멀티플렉서; 및 상기 제1 비교기부터 제6 비교기의 비교결과와 상기 제2 멀티플렉서를 통해 출력되는 제7 비교기의 비교결과중 하나를 상기 롬으로부터 출력되는 D그룹 명령에 따라 선택하여 상기 제1 디코더의 동작조건으로 출력하는 제1 멀티플렉서로 이루어진 것을 특징으로 하는 가변장 복호기 제어회로.
  5. 제4항에 있어서, 상기 이전상태저장부는 상기 데이타시프터부로부터 현재 입력된 N-비트데이타와 가변장복호화테이블에서 사용된 코드길이를 입력받고, 그중 하나를 상기 롬의 D그룹 명령에 따라 선택하여 출력하는 제3 멀티플렉서; 상기 롬의 D그룹 명령에 의해 지정된 레지스터 아이디(ID)를 갖는 레지스터만 인에이블되어 상기 제3 멀티플렉서에서 선택한 N-비트데이타 내지 코드길이를 저장하는 다수의 레지스터; 및 상기 롬의 C그룹 명령에 의해 지정된 레지스터의 저장내용을 상기 제7 비교기와 데이타출력수단으로 출력하는 제2 디코더로 이루어진 것을 특징으로 하는 가변장 복호기 제어회로.
  6. 제5항에 있어서, 상기 데이타출력수단은 상기 롬의 C그룹 명령에 의해 지정된 시프트할 값과 상기 제2 디코더를 통해 출력되는 레지스터저장내용을 입력받고, 상기 롬의 C그룹 명령에 의해 지정된 시프트값선택조건에 따라 선택하여 출력하는 제4 멀티플렉서; 상기 제1 멀티플렉서의 출력과 상기 롬의 C그룹 명령을 조건으로 하여 시프트여부를 결정하고, 시프트결정시 조건을 만족할 때 상기 제4 멀티플렉서의 선택내용을 입력받아 출력하는 조건판단부; 데이터출력부에서 출력되는 상기 데이타시프터부의 시프트할 값을 해당 신호규격의 데이타포맷에 맞도록 바이트단위로 정렬하는 바이트정렬기; 및 상기 가변장복호화테이블에서 사용된 코드길이와 상기 조건판단부의 출력 및 상기 바이트정렬기의 출력중 하나를 상기 롬의 C그룹 명령에 따라 선택하여 시프트할 값을 출력하는 데이타출력부로 이루어진 것을 특징으로 하는 가변장 복호기 제어회로.
KR1019950042206A 1995-11-20 1995-11-20 가변장 복호기 제어회로 KR0178744B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950042206A KR0178744B1 (ko) 1995-11-20 1995-11-20 가변장 복호기 제어회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950042206A KR0178744B1 (ko) 1995-11-20 1995-11-20 가변장 복호기 제어회로

Publications (2)

Publication Number Publication Date
KR970032145A KR970032145A (ko) 1997-06-26
KR0178744B1 true KR0178744B1 (ko) 1999-05-01

Family

ID=19434651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950042206A KR0178744B1 (ko) 1995-11-20 1995-11-20 가변장 복호기 제어회로

Country Status (1)

Country Link
KR (1) KR0178744B1 (ko)

Also Published As

Publication number Publication date
KR970032145A (ko) 1997-06-26

Similar Documents

Publication Publication Date Title
US6008745A (en) Variable length decoding using lookup tables
US5228098A (en) Adaptive spatio-temporal compression/decompression of video image signals
JP4023548B2 (ja) 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
US20180084284A1 (en) Method, apparatus and system for encoding and decoding video data
US5636279A (en) Scramble apparatus and descramble apparatus
US8817885B2 (en) Method and apparatus for skipping pictures
US20100177820A1 (en) Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program
US20190068981A1 (en) Storing and retrieving lossy-compressed high bit depth image data
US6298090B1 (en) System for detecting redundant images in a video sequence by comparing two predetermined threshold values
US5727036A (en) High bit rate start code searching and detecting circuit and method
US5767799A (en) Low power high speed MPEG video variable length decoder
US5940016A (en) Syntax parser for a MPEG2 video decoder
US6285789B1 (en) Variable length code decoder for MPEG
US6222467B1 (en) Bitstream decoding apparatus
EP0782341A2 (en) Image data compression system
EP0987656B1 (en) Method of graphics data compression
US20030128764A1 (en) Method of decoding coded video signals
KR0178744B1 (ko) 가변장 복호기 제어회로
CN111669590B (zh) 基于子块的熵译码的方法、设备和系统
EP2383700A1 (en) System and method for image compression
US6205250B1 (en) System and method for minimizing clock cycles lost to overhead data in a video decoder
US5654704A (en) Video variable length code encoder with EOB insertion responsive to word length
US7130350B1 (en) Method and system for encoding and decoding data in a video stream
JPH08163558A (ja) 画像復号装置
US6081300A (en) Apparatus and method for generating on-screen-display messages using stored bitstreams

Legal Events

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

Payment date: 20071030

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee