KR0182026B1 - 엠펙 비디오 디코더용 구문 분석기 - Google Patents

엠펙 비디오 디코더용 구문 분석기 Download PDF

Info

Publication number
KR0182026B1
KR0182026B1 KR1019950053491A KR19950053491A KR0182026B1 KR 0182026 B1 KR0182026 B1 KR 0182026B1 KR 1019950053491 A KR1019950053491 A KR 1019950053491A KR 19950053491 A KR19950053491 A KR 19950053491A KR 0182026 B1 KR0182026 B1 KR 0182026B1
Authority
KR
South Korea
Prior art keywords
register
length
stored
rom
shift
Prior art date
Application number
KR1019950053491A
Other languages
English (en)
Other versions
KR970057925A (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 KR1019950053491A priority Critical patent/KR0182026B1/ko
Priority to US08/777,675 priority patent/US5940016A/en
Publication of KR970057925A publication Critical patent/KR970057925A/ko
Application granted granted Critical
Publication of KR0182026B1 publication Critical patent/KR0182026B1/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/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
    • 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
    • H04N7/00Television systems
    • H04N7/015High-definition television systems

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, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

이 발명은 엠펙(MPEG:Moving Picture Experts Group2 )의 규격을 따르는 비디오 디코더(Video Decoder)에 적용되는 구문 분석기( Syntax Parser)에 관한 것으로서, 엠펙 비디오 비트스트림을 받아들여 소정의 쉬프트 동작을 수행하는 쉬프트 레지스터와, 가변길이 디코딩 또는 하드웨어 제어를 위한 프로그램을 저장하며, 어드랭스에 따라 마이크로 명령(micro instruction)형태로 출력하는 롬; 상기 롬의 어드레스 제어를 위한 카운터 ; 엠펙 비디오 디코딩을 위한 파라미터를 저장하는 레지스터 비트스트림에 포함되어 있는 특정 코드 또는 파라미터의 조합으로부터 플래그를 생성하여 출력하는 플래그 제어기; 가변길이 디코딩 관련 테이블을 저장하는 메모리와; 상기 메모리, 마이크로 명령 또는 레지스터의 출력으로부터 쉬프트할 길이 정보를 얻어내어 상기 쉬프트 레지스터를 제어하는 길이 제어기로 구성되어, 가변길이 디코딩 뿐만 아니라 엠펙 비트스트림의 분석을 수행할 수 있도록 하고, 마이크로 명령 만으로도 엠펙 비디오 비트스트림을 분석할 수 있도록 하여 명령의 디코딩 시간을 줄일 수 있으며, 고해상도 텔레비젼(HDTV:High Definition Television)급의 MP@HL에 대응할 수 있는 빠른 분석속도를 얻을 수 있다.

Description

엠펙 비디오 디코더용 구문 분석기
제1도는 이 발명의 실시에에 따른 엠펙비디오 디코더용 구문 분석기의 구성 블록도이고,
제2도는 상기 제1도에 도시된 구문 분석기에 적용되는 마이크로 명령의 필드 구성을 도시한 것이고,
제3도는 상기 제1도에 도시된 구문 분석기의 상세 구성도이다.
* 도면의 주요부분에 대한 부호의 설명
1 : 롬 2 : 프로그램 카운터
31 : 레지스터 32 : 플래그 제어기
4 : 길이 제어기 5 : 쉬프트 레지스터
6 : 메모리
이 발명은 엠펙2(MPEG2:Moving Picuture Experts Group2)의 규칙을 따르는 비디오 디코더(Video Decoder)에 적용되는 구문 분석기(Syntax Pareser)에 관한 것으로서, 더욱 상세하게 말하자면 구문 분석을 위한 간단한 마이크로 콘트롤러(micro controller)를 이용하여 최소한의 크기와 최대한의 분석속도를 구현하도록 하는 구문 분석기에 관한 것이다.
특히, 상기 마이크로 콘트롤러에서는 명령코드(micro instruction)가 직접 프로그램에 사용되도록 구현되며, 별도의 명령 디코더와 명령 디코딩에 필요한 추가적인 사이클(cycle)이 필요하지 않도록 한다.
고효율로 동화상을 부호화/복호화하기 위한 표준안으로서 엠펙2가 제안되었다. 이러한 엠펙2는 현행 텔레비젼 방송보다도 고품질의 화상을 손상하지 않고 압축할 수 있기 때문에 멀티미디어, 유무선 통신 등의 기반기술로서 각광받고 있다.
엠펙2에 따라 압축된 영상의 복호화 과정에 따르면, 비트스트림(Bitstream)으로부터 각종 헤더(header)정보 및 스타트 코드(startcode)등이 제거되고, 순수한 데이터 정보는 가변길이 디코딩(VID:Varible Length Decoding)되며, 역양자화(Inverse Quantization) 과정, 역이산 코사인 변환(IDCT:Inverse Discrete Cosine Transformation)과정 등을 통해 원래 화면의 픽셀(pixel)값이 복원된다.
이 발명에 따른 구문 분석기는 비스트림으로부터 각종 헤더 정보 및 스타트 코드 등의 제거와 가변길이 디코딩에 사용된다.
가변길이 디코딩 기능만을 수행하기 위한 것으로는 미국특허 제5,173,695호(등록일자 : 1992년 12월 22일)에 개시된 바 있다.
통상, 엠펙2 비디오(ISO/IED 13818-2의 규격을 따름)의 구문(syntax)은 많은 조건문과 가변길이 코드들로 이루어져 있다.
따라서, 이를 분석하기 위해서는 복잡한 상태 머쉰(예를들어, 레지스터)과 많은 쉬프트(shift) 동작이 필요하다. 상기와 같은 상태 머쉰을 하드-와이어(Hard-wire)의 복잡도가 커질 뿐만 아니라 많은 게이트 소자가 필요하므로 빠른 분석을 수행할 수 없다.
또한, 범용 프로세서(예를들어, 디지털 신호처리기(DSP:Digital Signal Processor), 중앙처리유닛(CPU:Central Processing Unit)등등)를 사용하여 구문 분석기를 구현하는 것은 글루 로직(Gluelogic)이 너무 많기 때문에 다른 기능(예를들어, 오디오 디코딩 또는 시스템 분석 등)과 같이 사용하지 않고 엠펙 비디오의 분석을 위한 것으로만 사용하기에 너무 과도한 사양(Over Specofocation)이 된다.
그러므로 이 발명의 목적은 상기한 바와같이 종래의 기술적 배경하에 도출된 것으로서, 간단한 마이크로 콘크롤러를 이용하여 최소한의 하드웨어로서 최대한의 분석속도를 가질 수 있도록 하는 엠펙 비디오 디코더용 구문 분석기를 제공하는데 있다.
상기한 목적을 달성하기 위한 수단으로서, 이 발명의 특징에 따른 엠펙 비디오 디코더용 구문 분석기의 구성은, 하드웨어의 동작 제어 및 엠펙 비디오 구문을 디코딩할 수 있는 프로그램이 저장되며, 외부에서 저시되는 어드레스에 따라 마이크로 명령을 출력하는 룸과, 상기 롬에 순차적으로 증가하는 어드레스를 제공하며, 특정 플래그가 발생할 경우 소정 어드레스로 점프되도록 하는 프로그램 카운터와, 외부에서 제공되는 길이 명령에 대응하여 소정 비트의 쉬프트 동작을 수행하는 쉬프트 레지스터와, 상기 롬에서 출력되는 마이크로 명령에 따라 동작하며, 상기 쉬프트 레지스터에 저장되어 있는 현재의 비트스트림이 제어에 필요한 파라미터일 경우, 상기 비트스트림의 파라미터들을 저장하는 레지스터와, 상기 쉬프트 레지스터에 저장되어 있는 비트스트림으로부터 특정 코드가 반결될 경우에 플래그를 발생시키며, 발생된 플래그가 상기 프로그램 카운터에 전달되도록 하는 플래그 제어기와, 소정 수의 가변길이 디코딩을 위한 테이블이 저장되어 있으며, 상기 쉬프트 레지스터에 저장되어 있는 비트스트림 중에서 가변길이 디코딩이 필요한 경우, 상기 레지스터에 저장되어 있는 정보와 롬에 저장되어 있는 마이크로 명령의 제어에 의해 테이블에 미리 매핑되어 있는 길이 정보를 제공하는 메모리와, 상기 롬의 마이크로 명령, 상기 레지스터에 저장되어 있는 파라미터 또는 상기 메모리에서 제공되어 길이 정보로부터 현재의 비트스트림에서 쉬프트 시켜야 하는 비트수를 얻어내고, 상기 얻어진 비트수를 길이명령으로서 상기 쉬프트 레지스터에 출력하는 길이 제어기를 포함하여 이루어진다.
이하, 첨부된 도면을 참조하여 이 발명의 바람직한 실시에를 상세히 설명한다. 제1도는 이 발명의 실시예에 따른 엠펙 비디오 디코더용 구문 분석기의 구성 블록도이고, 제2도는 상기 제1도에 도시된 구문 분석기에 적용되는 마이크로 명령이 필드 구성을 도시한 것이고, 제3도는 상기 제1도에 도시된 구문 분석기에 상세 구성도이다.
먼저 제1도를 참조하여 이 발명의 실시에에 따른 엠펙 비디오 디코더용 구문 분석기의 개념적인 구성 및 동작을 설명한다.
제1도를 참조하면, 엠펙 비디오 비트스트림(bit stream)은 쉬프트 레지스터(5)로 입력되며, 이 쉬프트 레지스터(5)는 32비트를 처리할 수 있는 것으로서 배럴 쉬프트 레지스터(Barrel Shift register)와 같은 공지된 쉬프트 레지스터로서 구성될 수 있다. 쉬프트 레지스터(5)의 쉬프트 동작은 길이 제어기(4)의 출력신호에 따라 결정되는 비트수만큼 수행된다.
상기 쉬프트 레지스터(5)에 저장되어 있는 비트스트림은 가변길이 디코딩을 위한 테이블이 저장되어 있는 메모리(6) 각종 파라미터(paramaeter)를 저장하는 레지스터(31) 및 플래그 제어기(32)에 제공된다.
롬(1)에는 각 하드웨어의 동작 제어 및 비트스트림을 디코딩하기 위한 프로그램이 저장되어 있으며, 이 프로그램은 마이크로 명령의 형태로 상기 길이 제어기(4), 레지스터(31) 및 플래그 제어기(32)에 제공된다.
또한 특별한 위치로 점프할 경우에는 롬(1)에 어드레스를 제공하는 프로그램 카운터(2)에 피드백된다. 레지스터(31)에서는 쉬프트 레지스터(5)에 저장되어 있는 비트스트림의 디코딩시 마이크로 명령의 제어에 의해 각종 파라미터가 세팅된다. 플래그 제어기(32)에서는 쉬프트 레지스터(5)에 저장되어 있는 비트스트림의 임의의 비트나 최하위 바이트(byte)값이 검사되며, 상기 레지스터(31)로의 파라미터 저장이 제어되며, 상기 파라미터와 비트스트림간의 조합으로부터 구문 분석에 사용되는 플래그의 값이 생성한다.
또한 상기 플래그 제어기(32)는 마이크로 명령의 조건에 따라서 해당 조건의 리턴값을 상기 길이 제어기(4)와 프로그램 카운터(2)로 전달한다.
상기한 제1도의 구성에서 쉬프트 레지스터(5)와 테이블을 저장하는 메모리(6)는 가변길이 디코더(VLD:Variable Length Decoder)로서 동작한다. 길이 제어기(4)에서는 마이크로 명령에 포함되어 있는 길이정보와, 레지스터(31)를 통해 전달되는 비트스트림에 포함되어 있는 길이 정보 및 메모리(6)에서 가변길이 디코딩된 데이터에서 출력되는 길이 중 하나가 상기 쉬프트 레지스터(5)로 전달된다.
또한, 마이크로 명령의 조건에 대한 리턴값에 따라 상기 쉬프트 레지스터(5)를 홀드(hold)시키기도 한다.
다음으로, 제2도를 참조하여 롬(1)에 저장되어 있다가 어드레스에 따라 회로 각부로 보내지는 마이크로 명령을 설명한다. 제2도를 참조하면, 36비트의 워드(word)로 구성되며, 상위 비트부터 조건(10비트), 쉬프트 값(8비트), 쉬프트 선택(3비트), 점프방향(2비트), 점프할 어드레스(8비트) 및 다른 명령(5)으로 이루어져 있다.
상기 마이크로 명령의 각 필드를 보다 상세하게 설명한다.
먼저 조건필드(10비트)는 구문 분석에 필요한 여러 종류의 조건을 확인하여 쉬프트 동작을 수행할지 점프를 수행할지를 결정하도록 하기 위한 것이다. 상기 10비트의 조건 중 상위 2비트는 조건의 종류를 나타내며 하위 8비트는 조건의 값이다. 상위 2비트의 의미는 다음과 같다.
00 : 동작하지 않는다.(nooperatio )
01:하위 8비트의 값과 입력된 32비트 비트스트림의 하위 8비트를 비교하며, 같으면 1, 다르면 0이 리턴된다.
10 : 최하의 5비트의 값이 가리키는 입력된 32비트 비트스트림 중 해당 비트값을 리턴한다.
11 : 최하의 6비트의 값으로 지정된 각종 플래그의 값이 리턴된다. 쉬프트 값을 지정한다. 쉬프트(8비트)는 3부분으로 나뉘어 있으며, 그중 상위 1비트는 조건에 따라 쉬프트를 할것인가를 결정한다. 이 비트가 0이면 조건과 관게없이 쉬프트가 이루어지며, 1일 경우에는 조건의 리턴값이 1이면 쉬프트하고 0이면 쉬프트하지 않는다. 그다음 상위 2비트는 쉬프트의 종류를 나타낸다.
상위 2비트의 의미를 설명하면 다음과 같다.
00 : 하위 5비트 만큼 입력을 쉬프트한다.
01 : 입력을 다음 워드(nextword)로 바꾼다.
10 : 바이트 얼라인(byte align)한다.
11 : 가변길이 디코딩에 의한 길이 출력만큼 입력을 쉬프트한다. 쉬프트 선택 필드(3비트)는 쉬프트할 길이의 근원(source)을 조정한다. 이 필드는 3비트로 이루어져 있으며, 그 각각의 의미는 다음과 같다.
000 : 동작하지 않는다.(nooperation)
001 : 마이크로 콘트롤러
010 : 바이트 얼라인 어큐뮬레이터
011 : 레지스터(31)내의 직류길이(dclength)레지스터
100 : 레지스터(31)내의 직류길이(fcode[0][0])레지스터
101 : 레지스터(31)내의 직류길이(fcode[0][1])레지스터
110 : 레지스터(31)내의 직류길이(fcode[1][0])레지스터
111 : 레지스터(31)내의 직류길이(fcode[1][1])레지스터
점프방향 필드(2비트)는 프로그램상 점프의 종류를 결정한다. 2비트로 이루어져 있으며, 그 의미는 다음과 같다.
00 : 조건 필드의 리컨 값이 0일 때 점프한다.
01 : 조건 필드의 리턴 값이 1일 때 점프한다.
10 : 조건 필드의 리턴 값이 1일 때 점프한다.
10 : 무조건 점프한다.
11 : 어드레스를 인크리먼트(increment)시킨다.
어드레스 필드(8비트)는 점프할 어드레스의 값이며, 8비트로 이루어져 있다. 따라서 한번에 점프 가능한 최대 프로그램의 라인 수는 256라인이다.
다른 명령 필드(5비트)는 이상 설명한 명령 이외의 동작에 대한 명령으로서, 레지스터(31)의 파라미터 세팅에 필요한 인에이블(enable)신호의 발생, 메모리(6) 내의 가변길이 디코딩을 위한 테이블 선택등에 필요한 명령으로 5비트로 이루어져 있다.
이때 상위 2비트는 명령의 종류를 나타내며 나머지 3비트는 그 명령에 대한 동작을 나타낸다.
상위 2비트의 의미를 설명하면 다음과 같다.
00 : 에외동작에 대한 명령 또는 레지스터(31)의 파라미터 세팅 명령
01 : 가변길이 디코딩을 위한 테이블 선택 명령
11 : 이산 코사인변환 게수를 위한 테이블 선택 명령
10 : 정의하지 않음
상위 2비트가 00일 경우의 나머지 3비트의 내용은 다음과 같다.
000 : 다음 스타트 코드를 검색한다.
001 : 동작하지 않는다.
010 : 현재 명령에서 64클럭동안 홀드(hold)한다.
011 : 레지스터(31) 내의 엠펙1 내지스터를 세팅한다.
100 : 레지스터(31)내의 레지스터 파일1을 세팅한다.
101 : 레지스터(31) 내의 d-picture레지스터를 세팅한다.
110 : 레지스터(31) 내의 레지스터 파일2를 세팅한다.
111 : 레지스터(31) 내의 매크로 블록 타입 레지스터를 세팅한다.
만약, 다른 명령 필드의 사위 2비트가 01 또는 10일 경우에는 그 하위 3비트의 내용은 다음과 같다.
000 : 메모리(6) 내의 매크로 블록 인크리먼트 테이블(macro block inc rem e nt table)선택
010 : 부호화된 블록 패턴 테이블(codedblockpatter table)선택
011 : 움직임 코드 테이블 (motion table)선택
100 : 차동 움직임 백터 테이블(differential motion vector table)선택
101 : 이산 코사인 변환 루미넌스 테이블(discrete cosine transformation dc size luminannce table)선택
110 : 이산 코사인 변환 크로미넌스 테이블(discrete cosine transformation dc size chromonance table)선택
111 : 이산 코사인 변환 계수 테이블(discrete cosine transformation coeffic ient table)선택
위와 같이 설명된 마이크로 명령을 이용하여 비트스트림을 구문 분석하기 위한 프로그램이 롬(1)에 저장되어 있다.
다음으로, 제3도를 참조하여 이 발명의 실시에에 따른 엠펙 비디오 디코더용 구문 분석기의 상세한 동작을 설명한다. 상기 제3도의 도시된 구문 분석기는 제1도의 구문 분석기를 상세히 나타낸 것이다.
제3도를 참조하면, 엠펙2의 구격을 따르는 비트스트림을 쉬프트 레제스터(5)에 입력되며, 쉬프트 레지스터(5)에서는 쉬프트 디코더(47)에서 출력되는 신호에 따라 입력 비트스트림에 대한 소정 길이의 쉬프트 동작이 수행된다.
쉬프트 레지스터(5)에 저장되어 있는 비트스트림은 각종 테이블이 매핑되어 있는 메모리(6)에서는 레지스터(31) 및 플래그 제어기(32)에 제공된다.
메모리(6)에서는 롬(1)에서 출력되어 디코더(25)를 거쳐 입력되는 마이크로 명령이 있을 경우에만 가변길이 동작이 수행된다. 레지스터(31)에서는 명령 디코더(311)를 거쳐 입력되는 롬(1)의 마이크로 명령에 따라 입력 비트스트림에 포함되어 있는 파라미터의 세팅이 제어된다.
레지스터(31)에 세팅되는 파라미터들은 제3도에 도시된 바와 같으며, 이것은 엠펙에 따라 압축된 영상의 복원에 이용된다.
플래그 제어기(32)는 롬(1)의 마이크로 명령에 의해 제어되는 3개의 먈티플렉서(321, 323, 324)와 초기에 비트스트림에 포함되어 있는 스타트 코드를 찾기 위한 배타적 논리합 소자(322)로 구성된다.
멀티플렉서(323)와 배타적 논리합 소자(322)는 쉬프트 레지스터(5)에서 출력되는 비트스트림의 임의의 비트나 최하위 바아트 값을 검사하며, 멀티플렉서(321)는 레지스터(31)에 저장되어 있는 파라미터의 조합으로부터 구문 분석에 사용되는 플래그의 값을 생성한다. 제2도에서 설명된 마이크로 명령의 조건 필드에 대응하는 리턴 값은 멀티플렉서(324)를 통해 길이 제어기(4)와 프로그램 카운터(2)에 출력된다. 즉, 멀티플렉서(324)에서는 배타적 논리합소자(322)의 출력에 따른 스타트 코드, 멀티플렉서(321)의 출력에 따른 플래그 또는 조건 필드의 리턴 값이 선택된다. 이 멀티플렉서(324)의 출력은 프로그램카운터(2)의 멀티플렉서(21)를 제어하는데 사용됨과 동시에 쉬프트 디코더(47)에 입력된다.
프로그램 카운터(21) 내의 멀티플렉서(21)는 순차적으로 증가하는 가산기(22)의 출력 또는 롬(1)에서 출력되는 특정 어드레스 중 하나를 선택하며, 선택된 어드레스는 래치(23)를 통해 롬(1)에 제공된다. 즉, 보통때는 어드레스를 하나씩 증가하다가 프로그램에 따라 특정 어드레스로 점프할 경우를 고려한 구성이다.
6비트 다운 카운터(24)는 명령 디코더(25)에서 제공되는 롬(1)의 마이크로 명령에 의해 제어되며, 상기 카운터(24)의 출력에 따라 래치(23)의 동작이 제어된다.
롬(1)의 마이크로 명령은 명령 디코더(25, 311), 길이 제어기(4), 플래그 제어기(32)의 각 멀티플렉서(321, 323, 324) 및 프로그램 카운터(2)에 제공된다.
길이 제어기(4)의 쉬이트 디코더(47)는 롬(1)의 마이크로 명령에 따라 쉬프트 레지스터(5)를 홀드(hold)시키거나 쉬프트시키는 동작을 수행한다. 길이 제어기(4) 내의 멀티플렉서(41, 42, 43)는 가변길이 디코딩을 수행할 경우의 길이를 결정한다.
보다, 상세하게 멀티플렉서(41)는 레지스터(31)에 저장되어 잇는 파라미터 중의 하나를 롬(1)의 마이크로 명령에 따라 선택하며, 멀티플렉서(43)는 래치(46)으 출력 쉬프트 디코더(47)의 길이 명령, 메모리(6)에서 선택된 가변길이 디코딩 관련 데이터 및 레지스터(31)에 저장되어 있는 직류길이(dc-size)중의 하나를 선택한다.
멀티플렉서(42)는 두 멀티플렉서(41, 43)의 출력 중 하나를 선택하며, 선택된 값을 가변길이 디코딩(VID:Varible Length Decoding)관련 테이블이 저장되어 있는 메모리(6)에 출력한다.
래치(46)에 연결되어 있는 버퍼(44) 및 가산기(45)는 래치를 통해 순차적으로 증가하는 값을 제공하며, 래치(46), 버퍼(44) 및 가산기는 바아트 얼라인 누산기(byte allign accumulator)로서 동작한다.
위와 같이 동작함으로써, 길이 제어기(40는 마이크로 명령에 포함된 길이와 비트스트림에 포함된 길이, 가변길이 디코딩을 통해 얻어지는 길이 및 바이트 얼라인 가산기에 저장된 길이 중 하나를 쉬프트 레지스터(5)로 전달한다. 또한 마이크로 명령의 조건 필드에 대한 리턴 값에 따라 쉬프트 레지스터(5)를 홀드 하기도 한다.
한편, 메모리(6)에 저장된 가변길이 디코딩(VLD) 관련 데이터는 외부에 제공되며, 뒤따르는 엠펙에 따라 압축된 동영상의 복원과정에 이용된다.
이상에서와 같이 이 발명의 실시예에 따르면, 롬, 상기 롬에 저장된 마이크로 명령 프로그램 카운터 및 플래그 제어기와 같은 간단한 하드웨어 환경으로 가변길이 디코딩 뿐만 아니라 엠펙 비트스트림의 분석을 수행할 수 있는 엠펙 비디오 디코더용 구문 분석기를 제공할 수 있다.
이 발명에 따른 구문 분석기를 이용하면, 마이크로 명령 만으로 엠펙 비디오 비트스트림을 분석할 수 있기 때문에 명령의 디코딩 시간을 줄일 수 있다.
이에따라, 이 발명의 구문 분석기를 이용하면 고해상도 텔리비젼(HDTV:High Definition Television)급의 MP@HL에 대응할 수 있는 빠른 분석속도를 얻을 수 있다.

Claims (6)

  1. 하드웨어의 동작 제어 및 엠펙 비디오 구문을 디코딩할 수 있는 프로그램이 저장되며, 외부에서 지시되는 어드레스에 따라 마이크로 명령을 출력하는(롬)과, 상기 롬에 순차적으로 증가하는 어드레스를 제공하며, 특정 플래그가 발생할 경우 소정 어드레스로 점프되도록 하는 (프로그램 카운터)와, 외부에서 제공되는 길이명령에 대응하여 소정 비트의 쉬프트 동작을 수행하는 (쉬프트 레지스터)와 상기 롬에서 출력되는 마이크로 명령에 따라 동작하며, 상기 쉬프트 레지스처에 저장되어 있는 현재의 비트스트림이 제어에 필요한 파라미터일 경우, 상기 비트스트림으로부터 파라미터를 추출하여 저장하는 (레지스터)와 상기 쉬프트 레지스터에 저장되어 있는 비트스트림으로부터 특징 코드가 발견될 경우에 플래그를 발생시키며, 발생된 플래그가 상기 프로그램 카운터에 전달되도록 하는(플래그 제어기)와; 소정 수의 가변길이 디코딩을 위한 테이블이 저장되어 있으며, 상기 쉬프트 레지스터에 저장되어 있는 비트스트림으로부터 가변길이 디코딩이 필요한 것으로 판단되는 경우, 상기 레지스터에 저장되어 있는 정보와 롬에 저장되어 있는 마이크로 명령의 제어에 의해 테이블에 미리 매핑되어 있는 길이 정보를 제공하는 (메모리)와; 상기 롬의 마이크로 명령, 사이 레지스터에 저장되어 있는 파라미터 또는 상기 메모리에서 제공되는 길이 정보로부터 현재의 비트스트림에서 쉬프트 시켜야 하는 비트수를 얻어내고, 상기 얻어진 비트수를 길이 명령으로서 상기 쉬프트 레지스터에 출력하는 (길이 제어기를)포함하여 이루어지는 것을 특징으로 하는 엠펙 비디오 디코더용 구문 분석기.
  2. 제1항에 있어서, 상기한 레지스터에 저장된 일부 파라미터는 상기 마이크로 명령에 따라 쉬프트할 길이의 결정을 위해 상기 길이 제어ㅣ에 풀력되는 것을 특징으로 하는 엠펙 비디오 디코더용 구문 분석기.
  3. 제1항에 있어서, 상기한 플래그 제어기는 상기 쉬프트 레지스터에 저장되어 있는 입력 비트스트림으로부터 스타트 코드를 검색하기 위한 배타적 논리합 소자와; 상기 마이크로 명령에 따라 상기 레지스터에 저장된 파라미터 중 하나를 선택하는 멀티플렉서와; 상기 마이크로 명령에 따라 상기 쉬프트 레지스터에 저장된 입력 비트스트림의 임의의 비트 또는 최하위 바이트 값을 선택하는 멀티플렉서와; 상기 마이크로 명령에 따라 상기 각 멀티플렉서의 출력 및 상기 배타적 논리합 소자의 출력 중 하나를 선택하여 구문 분석을 위한 플래그로서 상기 프로그램 카운터와 상기 길이 제어기에 제공하는 멀티플렉서를 포함하는 것을 특징으로 하는 엠펙 비디오 디코더용 구문 분석기.
  4. 제1항에 있어서, 상기한 프로그램 카운터는 순차적으로 증가하는 값을 제공하는 가상기와 상기 플래그 제어기의 출력에 따라 동작하며, 상기 롬의 마이크로 명령 또는 상기 가산기의 출력을 어드레스로서 선택하는 멀티플렉서와; 상기 멀티플렉서의 출력을 상기 롬에 전달하는 래치와; 상기 롬의 마이크로 명령을 디코딩하는 디코더와 상기 디코더의 출력으로부터 상기 래치를 제어하는 명령을 생성하여 출력하는 카운터를 포함하는 것을 특징으로 하는 엠펙 비디오 디코더용 구문 분석기.
  5. 제1항에 있어서, 상기한 롬의 마이크로 명령은 구문 분석에 필요한 여러 종류의 조건을 확인하여 쉬프트 동작을 수행할지 점프 동작을 수행할지를 뎔정하도록 하기 위한 조건 필드와; 쉬프트 값을 결정하도록 하기 위한 쉬프트 필드와 ;쉬프트할 길이의 근원을 결정하기 위한 쉬프트 선택 필드와 프로그램 상의 점프의 종류를 결정하기 위한 점프방향 필드와; 점프할 어드레스의 값을 가리키기 위한 어드레스 필드로 구성되는 것 특징으로 하는 엠펙 비디오 디코더용 구문 분석기.
  6. 제5항에 있어서 상기 레지스터의 파라미터 세팅에 필요한 인에이블 신호의 발생, 상기 메모리 내의 가변길이 디코딩을 위한 테이블 선택에 필요한 명령을 가리키기 위한 다른명령 필드를 부가하여 포함하는 것을 특징으로 하는 엠펙 비디오 디코더용 구문 분석기.
KR1019950053491A 1995-12-21 1995-12-21 엠펙 비디오 디코더용 구문 분석기 KR0182026B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019950053491A KR0182026B1 (ko) 1995-12-21 1995-12-21 엠펙 비디오 디코더용 구문 분석기
US08/777,675 US5940016A (en) 1995-12-21 1996-12-20 Syntax parser for a MPEG2 video decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950053491A KR0182026B1 (ko) 1995-12-21 1995-12-21 엠펙 비디오 디코더용 구문 분석기

Publications (2)

Publication Number Publication Date
KR970057925A KR970057925A (ko) 1997-07-31
KR0182026B1 true KR0182026B1 (ko) 1999-05-01

Family

ID=19442404

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950053491A KR0182026B1 (ko) 1995-12-21 1995-12-21 엠펙 비디오 디코더용 구문 분석기

Country Status (2)

Country Link
US (1) US5940016A (ko)
KR (1) KR0182026B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100777275B1 (ko) * 2001-06-21 2007-11-20 엘지전자 주식회사 비트 스트림 분석 기능을 갖는 디지털 방송 수신기

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823016B1 (en) * 1998-02-20 2004-11-23 Intel Corporation Method and system for data management in a video decoder
US6263019B1 (en) * 1998-10-09 2001-07-17 Matsushita Electric Industrial Co., Ltd. Variable rate MPEG-2 video syntax processor
JP2001275077A (ja) * 2000-03-27 2001-10-05 Sony Corp 磁気テープ記録装置および方法、磁気テープ再生装置および方法、磁気テープのフォーマット、並びに記録媒体
JP4345190B2 (ja) * 2000-03-30 2009-10-14 ソニー株式会社 磁気テープ記録装置および方法
JP2001291334A (ja) * 2000-04-04 2001-10-19 Sony Corp 磁気テープ記録装置および方法、磁気テープのフォーマット、並びに記録媒体
AUPQ865900A0 (en) * 2000-07-07 2000-08-03 Cleansun Pty Ltd Power line communications method
JP2003169327A (ja) * 2001-11-30 2003-06-13 Matsushita Electric Ind Co Ltd ソフトウェアでのmpeg−2ビデオ可変長復号化方法
US7650596B2 (en) * 2003-02-13 2010-01-19 Accurate Technologies Inc. Method for ECU calibration and diagnostics development
US8225293B2 (en) * 2003-02-13 2012-07-17 Accurate Technologies Inc. Method for supporting calibration parameters in an ECU
US7769088B2 (en) * 2003-05-28 2010-08-03 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US7974517B2 (en) * 2005-10-05 2011-07-05 Broadcom Corporation Determination of decoding information
KR100750723B1 (ko) 2006-01-20 2007-08-22 삼성광주전자 주식회사 악세사리 지지구조를 갖는 진공청소기의 핸들유닛
US8630354B2 (en) * 2006-06-16 2014-01-14 Intel Corporation Hardware accelerated compressed video bitstream escape code handling
KR101372418B1 (ko) * 2007-10-19 2014-03-12 (주)휴맥스 비트스트림 디코딩 장치 및 방법
US9367495B1 (en) * 2008-09-30 2016-06-14 Lattice Semiconductor Corporation High speed integrated circuit interface

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100777275B1 (ko) * 2001-06-21 2007-11-20 엘지전자 주식회사 비트 스트림 분석 기능을 갖는 디지털 방송 수신기

Also Published As

Publication number Publication date
US5940016A (en) 1999-08-17
KR970057925A (ko) 1997-07-31

Similar Documents

Publication Publication Date Title
KR0182026B1 (ko) 엠펙 비디오 디코더용 구문 분석기
US6263019B1 (en) Variable rate MPEG-2 video syntax processor
KR100341055B1 (ko) 비디오감압축프로세서를위한신택스분석기
US6310921B1 (en) Media processing apparatus which operates at high efficiency
US7848407B2 (en) Methods, circuits, and computer program products for syntax parsing in H.264 compliant video decoders
US7660352B2 (en) Apparatus and method of parallel processing an MPEG-4 data stream
US6751357B2 (en) Data structure for image transmission, image coding method, and image decoding method
JP2005510981A (ja) 複数チャネル・ビデオトランスコーディング・システムおよび方法
GB2321154A (en) Reverse playback of MPEG video
US6285789B1 (en) Variable length code decoder for MPEG
JP3247847B2 (ja) 符号化ビットストリームをデコードするための装置および方法、ビットストリーム供給器ならびに可変長デコーダのための装置
Sriram et al. MPEG-2 video decoding on the TMS320C6X DSP architecture
US7076392B1 (en) Test bit-stream generator and method for decoders
JP4295861B2 (ja) トランスコーダ装置
US6298091B1 (en) Method to play audio and video clips through MPEG decoders
JP3831411B2 (ja) 符号化されたキャラクタビットストリームを構成する方法
US8068681B2 (en) Method and system for pipelined processing in an integrated embedded image and video accelerator
US8238415B2 (en) Method and system for programmable breakpoints in an integrated embedded image and video accelerator
JP2011091732A (ja) 動画像復号処理装置およびその動作方法
US20070192393A1 (en) Method and system for hardware and software shareable DCT/IDCT control interface
KR20000049170A (ko) 1-비트 픽셀을 이용하여 온스크린 디스플레이 메시지를 생성하는장치 및 그 방법
KR100565710B1 (ko) 서브 픽쳐 디코더
JP2002057986A (ja) 復号装置および方法、並びに記録媒体
JP2004186992A (ja) 符号化装置
KR0178744B1 (ko) 가변장 복호기 제어회로

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee