KR100253366B1 - 엠펙용 가변길이코드 디코더 - Google Patents

엠펙용 가변길이코드 디코더 Download PDF

Info

Publication number
KR100253366B1
KR100253366B1 KR1019970065566A KR19970065566A KR100253366B1 KR 100253366 B1 KR100253366 B1 KR 100253366B1 KR 1019970065566 A KR1019970065566 A KR 1019970065566A KR 19970065566 A KR19970065566 A KR 19970065566A KR 100253366 B1 KR100253366 B1 KR 100253366B1
Authority
KR
South Korea
Prior art keywords
data
bits
length code
variable length
unit
Prior art date
Application number
KR1019970065566A
Other languages
English (en)
Other versions
KR19990047236A (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 KR1019970065566A priority Critical patent/KR100253366B1/ko
Priority to US09/154,094 priority patent/US6285789B1/en
Publication of KR19990047236A publication Critical patent/KR19990047236A/ko
Application granted granted Critical
Publication of KR100253366B1 publication Critical patent/KR100253366B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 32비트 이하의 데이터 패스를 사용할 때 발생하는 엠펙 데이터의 분석 및 디코딩이 늦어지는 것을 막음으로써, 32비트의 데이터 패스를 갖는 것과 같은 데이터 처리속도를 가지도록 한 엠펙용 가변길이코드 디코더에 관한 것이다.
이를 위해 본 발명은 메모리제어부로부터 입력되는 데이터를 쉬프트 시켜 불필요한 데이터 또는 기 디코딩된 데이터를 제거하여 출력하는 바렐쉬프터와, 그 바렐쉬프터로부터 출력되는 데이터를 일시 저장하는 레지스터와, 전체 구성부를 제어하는 분석제어부와, 그 분석제어부의 제어에 따라 데이터의 헤더를 검출하고 데이터의 크기를 판단하며, 바렐쉬프터로부터 입력되는 데이터에서 가변길이코드를 디코딩하는 디코딩부로 이루어지는 가변길이코드디코더에 있어서,
상기 분석제어부가 바렐쉬프터로부터 출력되는 데이터를 먼저 읽어들여 보통의 데이터인지, 16비트 이상의 데이터인지를 판단하여 제어신호들을 출력하도록 하고, 그 분석제어부의 제어에 따라 바렐쉬프터로부터 직접 데이터를 받거나, 레지스터를 통해 데이터를 받아 디코딩부로 출력하는 멀티플렉서를 포함하여 구성된다.

Description

엠펙용 가변길이코드 디코더
본 발명은 엠펙(MPEG)용 가변길이코드 디코더(Variable Length Code Decoder)에 관한 것으로, 특히 32비트 이하의 데이터 패스(path)를 사용할 때 발생하는 데이터의 분석(parsing) 및 디코딩이 늦어지는 것을 막음으로써, 32비트의 데이터 패스를 갖는 것과 같은 처리속도를 가지도록 한 엠펙(MPEG)용 가변길이코드 디코더(VLC decoder for MPEG)에 관한 것이다.
일반적으로 가변길이 부호화는 데이터의 무손실 압축에 자주 사용되는 부호화 방법이며, 이 방법에 의하면 고정길이코드 데이터는 데이터의 통계적 특성에 따라 가변길이코드 데이터로 변환된다. 여기서, 데이터의 통계적 특성이라 함은 화상 데이터가 자주 발생할수록 짧은 코드워드(codeword)를 할당하고, 가끔 발생할수록 긴 코드워드를 할당하도록 하는 것이다.
이와 같이 모든 화상 데이터들에 코드워드들이 할당되면 평균 코드워드의 길이는 원래 데이터의 평균 코드워드 길이 보다 짧게 압축될 수 있으며, 그 화상 데이터의 압축기술, 즉 엠펙1 또는 엠펙2는 고화질텔레비전(High Definition TV)과 같은 시스템에서 화상 데이터의 재생 및 고화질을 실현하는데 채택되고 있다.
이러한 화상 데이터 압축기술을 실현하기 위해서는 그 압축된 화상 데이터의 코드워드 길이를 빠르게 해독하고 처리할 수 있는 디코더가 필요하다.
종래의 가변길이코드 디코더는 도1에 도시된 바와 같이, 외부의 메모리제어부(미도시)로부터 엔코딩된 데이터(encoded data)를 읽어들여 일시 저장하였다가 16비트 단위의 데이터로 재구성하여 출력하는 비트스트림버퍼(bit stream buffer)(10)와,
그 비트스트림버퍼(10)로부터 출력되는 16비트 단위의 데이터를 정렬하여 32비트 단위로 만들어주는 데이터피이딩부(data feeding)(20)와,
그 데이터피이딩부(20)로부터 입력되는 데이터를 쉬프트 시킴으로써 불필요한 데이터 또는 기 디코딩된 데이터를 제거한 후 디코딩시킬 데이터를 16비트 단위로 출력하는 바렐쉬프터(barrel shifter)(30)와,
그 바렐쉬프터(30)로부터 출력되는 데이터를 일시 저장하는 레지스터(register)(40)와,
그 레지스터(40)로부터 출력되는 데이터에서 엠펙1(MPEG1) 및 엠펙2(MPEG2) 구문(syntax)의 헤더 코드(Header Code)를 검출하는 헤더검출부(Header Detecting unit)(50)와,
그 레지스터(40)로부터 출력되는 데이터 즉, 가변길이코드(Variable Length Code)를 디코딩하는 심볼디코딩부(VLC Symbol decoding unit)(60)와,
그 레지스터(40)로부터 출력되는 데이터로부터 엠펙1 및 엠펙2 구문(syntax)에 대한 분석(parsing)을 하고 고정길이코드(Fixed Length Code)를 디코딩하며 전체 구성부를 제어하는 분석제어부(Finite State Machine)(70)와,
그 분석제어부(70)로부터 디코딩되어 출력되는 데이터의 사이즈(size)를 만들어 주는 사이징부(Size & Flags)(80)와,
상기 헤더검출부(50), 심볼디코딩부(60), 사이징부(80)로부터 출력되는 사이즈 신호들 중 의미 있는 하나의 신호만 선택하는 멀티플렉서(90)와,
그 멀티플렉서(90)로부터 출력되는 신호에 따라 상기 데이터피이딩부(20) 및 바렐쉬프터(30)를 제어하는 피이딩제어부(100)와,
상기 바렐쉬프터(30)로부터 출력되어 레지스터(40)를 거쳐 입력되는 데이터 또는 상기 분석제어부(70)로부터 디코딩되어 출력되는 데이터, 상기 심볼디코딩부(60)로부터 디코딩되어 출력되는 데이터를 사이징부(80)로부터 출력되는 데이터의 크기를 상기 분석제어부(70)의 제어에 따라 외부의 주제어부(main controller)(미도시) 또는 역양자화부(inverse quantizer)(미도시)로 출력하는 데이터출력부(110)로 구성된다.
이와 같이 구성된 종래 기술의 동작 및 작용효과에 대하여 설명하면 다음과 같다.
먼저, 비트스트림버퍼(10)는 외부의 메모리제어부(미도시)로부터 엔코딩된 데이터(encoded data)를 읽어들여 저장하였다가 데이터피이딩부(20)로 출력하고, 그 데이터피이딩부(20)는 비트스트림버퍼(10)로부터 출력되는 16비트 단위의 데이터를 정렬하여 32비트 단위로 만들어 출력한다.
이어서, 상기 데이터피이딩부(20)로부터 출력되는 데이터를 받는 바렐쉬프터(30)는 피이딩제어부(100)의 제어에 따라 그 데이터를 쉬프트 시킴으로써 불필요한 데이터 또는 기 디코딩된 데이터를 제거한 후 디코딩시킬 데이터를 16비트 단위로 출력한다.
상기 바렐쉬프터(30)로부터 출력된 데이터는 레지스터(40)에 일시 저장되었다가 헤더검출부(50) 및 심볼디코딩부(60), 분석제어부(70), 사이징부(80)로 입력된다.
상기 분석제어부(70)는 바렐쉬프터(30)로부터 입력되는 데이터를 엠펙1(MPEG1) 및 엠펙2(MPEG2) 구문(syntax)에 대한 분석(parsing)을 하고 고정길이코드(Fixed Length Code)를 디코딩하고, 그에 따라 심볼디코딩부(60), 사이징부(80), 데이터출력부(110)를 제어하기 위한 제어신호를 출력한다.
상기 헤더검출부(50)는 바렐쉬프터(30)로부터 출력된 데이터가 엠펙2의 구문이면 그 데이터에서 헤더코드를 검출하여 멀티플렉서(90) 및 분석제어부(70)로 출력한다.
상기 심볼디코딩부(60)는 분석제어부(70)의 제어에 따라 바렐쉬프터(30)로부터 출력되는 데이터를 가변길이코드로 디코딩하여 데이터출력부(110)로 출력하고, 그 데이터의 크기를 멀티플렉서(90)로 출력한다.
상기 사이징부(80)는 바렐쉬프터(30)로부터 입력되는 데이터의 크기를 판단하여 분석제어부(70), 멀티플렉서(90) 및 데이터출력부(110)로 출력한다.
이어서, 상기 데이출력부(110)는 분석제어부(70)의 제어에 따라 상기 레지스터(40) 또는 심볼디코딩부(60)로부터 입력되는 데이터를 외부의 주제어부(main controller)(미도시) 또는 역양자화부(inverse quantizer)(미도시)로 출력한다.
한편, 상기 멀티플렉서(90)는 헤더검출부(50), 심볼디코딩부(60), 사이징부(80)로부터 입력되는 데이터의 크기중 의미 있는 하나의 크기 데이터만을 선택하여 피이딩제어부(100)로 출력하고, 그 피이딩제어부(100)는 그 크기 데이터에 따라 피이딩부(20)를 제어하고, 쉬프트 시킬 데이터 량을 판단하여 바렐쉬프터(30)로 출력한다.
이어서, 상기 바렐쉬프터(30)는 피이딩제어부(100)로부터 입력되는 신호에 따라 피이딩부(20)로부터 입력되는 데이터를 쉬프트 시킴으로써 불필요한 데이터 또는 기 디코딩된 데이터를 제거한 후 디코딩시킬 데이터를 16비트 단위로 출력하며, 상기의 동작을 반복해서 수행한다.
그러나, 종래의 가변길이코드 디코더(Variable Length Code Decoder)는 16비트의 데이터패스(datapath)를 사용하기 때문에 많은 하드웨어적인 이득이 있으나, 16비트 이상의 데이터를 처리해야 하는 경우, 즉, 그 디코더의 헤더검출부(50), 심볼디코딩부(60), 분석제어부(70)등에서 데이터를 처리할 때는 2배로 많은 클럭을 소모하게 되며 이를 제어하기 위해서는 복잡한 처리수단이 더 필요하게 된다.
예를 들어, 이산코사인변환(DCT:Discrete cosine transform) 계수는 최대 17비트이다. 이 경우에는 16비트의 처리장치로는 한 번의 읽기(reading)로는 무슨 값인지 알 수가 없다. 그 다음 16비트를 한 번 더 읽어야만 그 데이터가 어떤 값을 가지는지를 알 수 있고 디코딩이 가능하게 된다.
그리고 엠펙1과 엠펙2에서 사용되는 고정길이코드(FLC)는 크기가 고정되어 있는 코드로서, 엠펙 1은 28비트 또는 20비트, 엠펙 2는 24비트이므로, 헤더검출부(50)가 엠펙2 헤더코드(23개의 "0" 과 1개의 "1")를 판단하기 위해서는 24비트가 필요하지만 한 번에 16비트씩만 읽어 처리하기 때문에 내부적으로 먼저 읽은 16비트의 데이터를 저장하는 레지스터가 필요하다.
결국 이러한 데이터들을 처리하기 위해서는 먼저 읽은 데이터를 저장하는 장치와 이를 처리하기 위한 제어부가 필요하게 되고 클럭의 소모가 두배가 되며, 원하는 출력 값이 나오지 않는 문제점이 있었다.
따라서, 본 발명의 목적은 엠펙 데이터의 분석(parsing)과 디코딩이 늦어지는 것을 막을 수 있을 뿐만 아니라, 클럭의 소모도 줄이고 32비트의 데이터 패스(path)와 동일한 처리속도를 갖도록 한 엠펙(MPEG)용 가변길이코드 디코더(VLC decoder for MPEG)를 제공하는데 있다.
상기의 목적을 달성하기 위하여 본 발명은 외부의 메모리제어부로부터 엔코딩된 데이터를 16비트 단위로 읽어들여 저장하였다가 출력하는 비트스트림버퍼와,
상기 비트스트림버퍼로부터 출력되는 16비트 단위의 데이터를 정렬하여 32비트 단위로 만들어주는 데이터피이딩부와,
상기 데이터피이딩부로부터 입력되는 데이터를 쉬프트 시킴으로써 불필요한 데이터 또는 기 디코딩된 데이터를 제거한 후 디코딩시킬 데이터를 16비트 단위로 출력하는 바렐쉬프터와,
상기 바렐쉬프터로부터 출력되는 데이터를 일시 저장하는 레지스터와,
상기 레지스터로부터 출력되는 데이터에서 엠펙1 및 엠펙2 구문의 헤더 코드를 검출하는 헤더검출부와,
상기 레지스터로부터 출력되는 데이터로부터 가변길이코드를 디코딩하는 심볼디코딩부와,
상기 레지스터로부터 출력되는 데이터로부터 엠펙1 및 엠펙2 구문에 대한 분석을 하고 고정길이코드를 디코딩하며 전체 구성부를 제어하는 분석제어부와,
상기 분석제어부로부터 디코딩되어 출력되는 데이터의 크기를 만들어 주는 사이징부와,
상기 헤더검출부, 심볼디코딩부, 사이징부로부터 출력되는 사이즈 신호들 중 의미 있는 하나의 신호만 선택하여 주는 제1멀티플렉서와,
상기 제1멀티플렉서로부터 출력되는 사이즈 신호에 따라 상기 데이터피이딩부 및 바렐쉬프터를 제어하는 피딩제어부로 이루어지는 엠펙용 가변길이코드 디코더에 있어서,
상기 분석제어부는 바렐쉬프터로부터 출력되는 데이터를 먼저 읽어들여 보통의 데이터인지 아니면 16비트 이상의 데이터인지를 판단하여 제어신호들을 출력하도록 하고,
상기 레지스터와 헤더검출부, 심볼디코딩부 사이에, 상기 바렐쉬프터로부터 출력되는 데이터를 직접 받거나 레지스터를 통해 받고, 분석제어부의 제어에 따라 필요한 데이터를 선택하여 헤더검출부 및 분석제어부, 사이징부로 출력하는 제2멀티플렉서를 설치하여 구성된다.
이와 같이 구성된 본 발명은 엠펙 데이터의 분석과 디코딩이 늦어지는 것을 막고 32비트의 데이터 패스와 동일한 처리속도를 갖도록 하며 클럭의 소모도 줄일 수 있다.
도 1 은 종래의 가변길이코드 디코더 구성을 보인 블록도.
도 2 는 본 발명에 의한 가변길이코드 디코더의 구성을 보인 블록도.
*****도면의 주요 부분에 대한 부호 설명*****
10 : 비트스트림버퍼 20 : 데이터피이딩부
30 : 바렐쉬프터 40 : 레지스터
50 : 헤더검출부 60 : 심볼디코딩부
70 : 분석제어부 80 : 사이징부
90 : 제1멀티플렉서 100 : 피이딩제어부
110 : 데이터출력부 120 : 제2멀티플렉서
이하 본 발명에 의한 외부조건 변화에 둔감한 기준전압 발생회로를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
외부의 메모리제어부(미도시)로부터 엔코딩된 데이터를 16비트 단위로 읽어들여 저장하였다가 출력하는 비트스트림버퍼(10)와,
상기 비트스트림버퍼(10)로부터 출력되는 16비트 단위의 데이터를 정렬하여 32비트 단위로 만들어주는 데이터피이딩부(20)와,
외부의 제어에 따라, 상기 데이터피이딩부(20)로부터 입력되는 데이터를 쉬프트 시킴으로써 불필요한 데이터 또는 기 디코딩된 데이터를 제거한 후 디코딩시킬 데이터를 16비트 단위로 출력하는 바렐쉬프터(30)와,
상기 바렐쉬프터(30)로부터 출력되는 데이터를 일시 저장하는 레지스터(40)와,
상기 레지스터(40)로부터 출력되는 데이터에서 엠펙1 및 엠펙2 구문(syntax)의 헤더 코드(Header Code)를 검출하는 헤더검출부(50)와,
상기 레지스터(40)로부터 출력되는 데이터로부터 가변길이코드를 디코딩하는 심볼디코딩부(60)와,
상기 레지스터(40)로부터 출력되는 데이터로부터 엠펙1 및 엠펙2 구문(syntax)에 대한 분석(parsing)을 하고 고정길이코드를 디코딩하며 전체 구성부를 제어하는 분석제어부(70)와,
상기 분석제어부(70)로부터 디코딩되어 출력되는 데이터의 사이즈(size)를 만들어 주는 사이징부(80)와,
상기 헤더검출부(50), 심볼디코딩부(60), 사이징부(80)로부터 출력되는 사이즈 신호들 중 의미 있는 하나의 신호만 선택하여 주는 제1멀티플렉서(90)와,
상기 제1멀티플렉서(90)로부터 출력되는 사이즈 신호에 따라 상기 데이터피이딩부(20) 및 바렐쉬프터(30)를 제어하는 피딩제어부(100)로 이루어지는 엠펙(MPEG)용 가변길이코드 디코더에 있어서,
상기 분석제어부(70)는 바렐쉬프터(30)로부터 출력되는 데이터를 먼저 읽어들여 보통의 데이터인지 아니면 16비트 이상의 데이터인지를 판단하여 제어신호들을 출력하도록 하고,
상기 레지스터(40)와 헤더검출부(50), 심볼디코딩부(60) 사이에, 상기 바렐쉬프터(30)로부터 출력되는 데이터를 직접 받거나 레지스터(40)를 통해 받고, 분석제어부(70)의 제어에 따라 필요한 데이터를 선택하여 헤더검출부(50) 및 분석제어부(70), 사이징부(80)로 출력하는 제2멀티플렉서(120)를 포함하여 구성된다.
이와 같이 구성된 본 발명의 동작 및 작용을 설명하면 다음과 같다.
먼저, 비트스트림버퍼(10)는 외부의 메모리제어부(미도시)로부터 엔코딩된 데이터를 읽어들여 저장하였다가 데이터피이딩부(20)로 출력하고, 그 데이터피이딩부(20)는 비트스트림버퍼(10)로부터 출력되는 16비트 단위의 데이터를 정렬하여 32비트 단위로 출력한다.
이어서, 상기 데이터피이딩부(20)로부터 출력되는 데이터를 받는 바렐쉬프터(30)는 피이딩제어부(100)의 제어에 따라 그 데이터를 쉬프트 시킴으로써 불필요한 데이터 또는 기 디코딩된 데이터를 제거한 후 디코딩시킬 데이터를 16비트 단위로 출력한다.
이때, 상기 바렐쉬프터(30)는 처리되어야 하는 데이터가 보통의 데이터인 경우, 즉, 처리해야하는 데이터가 16비트 이하인 경우에는 그 데이터를 레지스터(40) 및 분석제어부(70)로 출력하고, 그 레지스터(40)는 그 데이터를 일시 저장한 후 제2멀티플렉서(120)로 출력한다.
이어서, 그 제2멀티플렉서(120)는, 분석제어부(70)로부터 출력되는 제어신호에 따라, 데이터를 헤더검출부(50) 및 심볼디코딩부(60), 분석제어부(70), 사이징부(80)로 출력하며, 그 헤더검출부(50) 및 심볼디코딩부(60), 사이징부(80)는 분석제어부(70)로부터 출력되는 제어신호에 따라 제어되면서 종래와 동일한 데이터의 디코딩과정을 수행하고, 데이터출력부(110)는 그 디코딩된 데이터를 외부로 출력한다.
또한, 상기 바렐쉬프터(30)는 처리되어야 하는 데이터가 16비트 이상일 경우, 즉, 그 테이터가 엠펙1 또는 엠펙2 구문의 스타트 코드 프리픽스(start code prefix)가 23개의 ''0" + "1" 의 데이터인 경우 또는 고정길이코드(Fixed Length Code)일 때는 이스케이프 코드(escape code)가 "1"인 경우, DCT의 계수 중에서 17비트의 크기를 가지는 데이터인 경우에는 그 데이터를 상기 레지스터(40)를 거치지 않고 직접 분석제어부(70) 및 제2멀티플렉서(120)로 출력한다.
이어서, 분석제어부(70)는 그 입력된 데이터를 상기 세 가지의 경우중 어떤 상태의 데이터인지를 분석하여 세팅시키고, 그 세팅된 정보에 대한 제어신호를 제2멀티플렉서(120)로 출력한다. 다시 말해서, 그 분석제어부(70)는 상기 바렐쉬프터(30)로부터 먼저 입력되는 보통의 데이터(16비트)와 이후에 입력될 데이터(16비트 또는 그 이하)를 전부 볼 수 있게된다. 즉, 32 비트 단위의 데이터를 한꺼번에 읽을 수 있게된다.
상기 분석제어부(70)는 이후에 입력될 데이터를 읽어서, 그 데이터가 상기의 세 가지인 경우에 해당되면(16비트 보다 큰 경우), 각각의 경우에 대하여 세팅시켜 준다. 즉, 상기의 세 가지 패턴이 입력되면, 분석제어부(70)는 바렐쉬프터(30)로부터 출력되어 레지스터(40)를 거치지 않은 데이터가 헤더검출부(50) 및 심볼디코딩부(60), 사이징부(80)로 입력되도록 제2멀티플렉서(120)를 제어하는 것이다.
이어서, 상기 헤더검출부(50) 및 심볼디코딩부(60), 사이징부(80)는 분석제어부(70)의 제어신호 즉, 고정길이코드인 경우 또는 DCT계수가 17비트인 경우, MPEG2 또는 MPEG1의 스타트 코드 프리픽스인 경우에 따라 분석제어부(70)로부터 세팅되어 출력되는 제어신호에 따라 입력되는 데이터의 실제값을 디코딩하며 이후의 동작은 종래와 동일하게 수행된다.
이와 같은 동작에서는 클럭의 소모가 줄어들어 고속으로 디코딩할 수가 있으며, 32비트로 데이터를 처리할 때와 같은 처리량(throughput)을 처리할 수 있다.
이상에서 설명한 바와 같이, 본 발명은 적은 데이터 패스를 사용하므로써, 32비트의 데이터 패스를 사용하는 것과 동일한 데이터 처리속도를 가질 수 있고, 특히 엠펙 데이터 중에서 16비트 이상의 데이터 또는 고정길이코드가 많이 사용될 때에는 엠펙 데이터의 디코딩되는 속도가 떨어지는 것을 막아주며, 클럭의 소모도 줄이고 많은 하드웨어적인 이득을 얻을 수 있는 효과가 있다.

Claims (4)

  1. 외부의 메모리제어부로부터 입력되는 데이터를 쉬프트 시켜 불필요한 데이터 또는 기 디코딩된 데이터를 제거한 후 디코딩시킬 데이터를 출력하는 바렐쉬프팅수단과, 그 바렐쉬프팅수단으로부터 출력되는 데이터를 일시 저장하는 레지스트수단과, 그 레지스트수단으로부터 입력되는 데이터에 대한 분석을 하고 고정길이코드를 디코딩하며 전체 구성부를 제어하는 분석제어수단과, 그 분석제어수단의 제어에 따라 쉬프팅수단으로부터 입력되는 데이터에서 데이터의 헤더코드를 검출하고 데이터의 크기를 판단하며 가변길이코드를 디코딩하는 디코딩수단을 포함하는 가변길이코드 디코더에 있어서,
    상기 분석제어수단은 바렐쉬프팅수단으로부터 출력되는 데이터를 먼저 읽어들여 보통의 데이터인지 아니면 16비트 이상의 데이터인지를 판단하여 제어신호들을 출력하도록 하고,
    상기 레지스트수단과 디코딩수단의 사이에, 분석제어수단의 제어에 따라 바렐쉬프팅수단으로부터 직접 데이터를 받거나, 레지스트수단을 통해 데이터를 받아 디코딩수단으로 출력하는 멀티플렉싱수단을 설치하여 구성된 것을 특징으로 하는 엠펙용 가변길이코드 디코더.
  2. 제1항에 있어서, 상기 바렐쉬프터(30)는 처리되어야 하는 데이터가 16비트 이하인 경우는 그 데이터를 레지스트수단(40) 및 분석제어수단(70)으로 출력하고, 그 처리되어야 하는 데이터가 16비트 이상일 경우에는 그 데이터를 레지스트수단(40)을 거치지 않고 직접 분석제어수단(70) 및 멀티플렉싱수단(120)으로 출력하는 것을 특징으로 하는 엠펙용 가변길이코드 디코더.
  3. 제2항에 있어서, 상기 처리되어야 하는 데이터가 16비트 이상일 경우는 엠펙1 또는 엠펙2 구문의 스타트 코드 프리픽스가 23개의 ''0" 과 하나의 "1" 로 이루어지는 데이터인 경우, 이스케이프 코드가 "1"인 고정길이코드의 데이터인 경우, DCT의 계수 중에서 17비트의 크기를 가지는 데이터인 것을 특징으로 하는 엠펙용 가변길이코드 디코더.
  4. 제2항에 있어서, 상기 처리되어야 하는 데이터가 16비트 이하일 경우는 보통의 데이터인 것을 특징으로 하는 엠펙용 가변길이코드 디코더.
KR1019970065566A 1997-12-03 1997-12-03 엠펙용 가변길이코드 디코더 KR100253366B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970065566A KR100253366B1 (ko) 1997-12-03 1997-12-03 엠펙용 가변길이코드 디코더
US09/154,094 US6285789B1 (en) 1997-12-03 1998-09-16 Variable length code decoder for MPEG

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970065566A KR100253366B1 (ko) 1997-12-03 1997-12-03 엠펙용 가변길이코드 디코더

Publications (2)

Publication Number Publication Date
KR19990047236A KR19990047236A (ko) 1999-07-05
KR100253366B1 true KR100253366B1 (ko) 2000-04-15

Family

ID=19526329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970065566A KR100253366B1 (ko) 1997-12-03 1997-12-03 엠펙용 가변길이코드 디코더

Country Status (2)

Country Link
US (1) US6285789B1 (ko)
KR (1) KR100253366B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848905B1 (ko) * 2002-01-21 2008-07-29 주식회사 엘지이아이 가변 길이 복호화기
US6891976B2 (en) * 2002-03-12 2005-05-10 Intel Corporation Method to decode variable length codes with regular bit pattern prefixes
KR100480699B1 (ko) * 2002-04-10 2005-04-06 엘지전자 주식회사 디지털 캠코더 포맷 영상의 가변 길이 복호화 장치
KR100450753B1 (ko) * 2002-05-17 2004-10-01 한국전자통신연구원 프로세서와 연결된 프로그램 가능한 가변 길이 디코더
US9071279B2 (en) * 2004-05-18 2015-06-30 Nxp, B.V. Turbo decoder input reordering
US7697773B1 (en) * 2004-07-22 2010-04-13 Roger A. Bauchspies System, method and computer program product for image compression/decompression
CN101213754B (zh) * 2005-05-13 2013-11-13 高通股份有限公司 用于改进的多媒体解码器的方法和设备
US8630354B2 (en) * 2006-06-16 2014-01-14 Intel Corporation Hardware accelerated compressed video bitstream escape code handling
CN101159872B (zh) * 2007-11-22 2010-12-01 威盛电子股份有限公司 Mpeg-2压缩格式译码器及mpeg-2压缩格式译码方法
US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators
US10528789B2 (en) 2015-02-27 2020-01-07 Idex Asa Dynamic match statistics in pattern matching
US9805247B2 (en) 2015-02-27 2017-10-31 Idex Asa Pattern registration
US9940502B2 (en) 2015-02-27 2018-04-10 Idex Asa Pre-match prediction for pattern testing
US10157306B2 (en) 2015-02-27 2018-12-18 Idex Asa Curve matching and prequalification
US10600219B2 (en) 2015-06-26 2020-03-24 Idex Asa Pattern mapping
EP3115932A1 (en) 2015-07-07 2017-01-11 Idex Asa Image reconstruction

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220325A (en) * 1991-03-28 1993-06-15 At&T Bell Laboratories Hierarchical variable length decoder for digital video data
FR2716054B1 (fr) * 1994-02-04 1996-04-19 Sgs Thomson Microelectronics Etage de décalage pour décodeur de codes numériques de longueurs variables.

Also Published As

Publication number Publication date
KR19990047236A (ko) 1999-07-05
US6285789B1 (en) 2001-09-04

Similar Documents

Publication Publication Date Title
KR100253366B1 (ko) 엠펙용 가변길이코드 디코더
US10489426B2 (en) Category-prefixed data batching of coded media data in multiple categories
US7777654B2 (en) System and method for context-based adaptive binary arithematic encoding and decoding
US6842124B2 (en) Variable length decoder
US20030085822A1 (en) High performance memory efficient variable-length coding decoder
US7817864B2 (en) Coding apparatus and decoding apparatus
JP4023548B2 (ja) 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
KR100748485B1 (ko) 가변 길이 코드워드 디코더 및 가변 길이 코드워드 디코딩 방법
US20100232516A1 (en) Decoding-processing apparatus and method
KR20000028931A (ko) 가변 레이트 mpeg­2 비디오 신택스 프로세서
US5663726A (en) High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering
US5767799A (en) Low power high speed MPEG video variable length decoder
JPH07222164A (ja) ディジタルビデオ・ビットストリームコーダ
WO2009035584A1 (en) Variable length decoder system and method
KR0154011B1 (ko) 가변길이 복호화 장치
JP3737352B2 (ja) スタートコード検索回路
JP2638424B2 (ja) 可変長復号化装置
KR100192415B1 (ko) 가변장 부호 복호화장치
KR0178744B1 (ko) 가변장 복호기 제어회로
KR0159296B1 (ko) 영상신호의 가변장 부호화 방법 및 장치
KR0122326B1 (ko) 비디오 비트열 디코더
KR100223049B1 (ko) Mpeg-2 영상압축장치용 제어정보 가변장 부호화 장치
KR100195722B1 (ko) 가변 길이 복호기
KR100214838B1 (ko) 최대 코드 길이 데이터의 처리가 가능한 가변 길이 부호화 장치
WO1999035749A2 (en) Reception of variable and run-length encoded data

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee