KR100968808B1 - 가변길이부호 디코딩 시스템 및 그것의 디코딩 방법 - Google Patents

가변길이부호 디코딩 시스템 및 그것의 디코딩 방법 Download PDF

Info

Publication number
KR100968808B1
KR100968808B1 KR1020080066007A KR20080066007A KR100968808B1 KR 100968808 B1 KR100968808 B1 KR 100968808B1 KR 1020080066007 A KR1020080066007 A KR 1020080066007A KR 20080066007 A KR20080066007 A KR 20080066007A KR 100968808 B1 KR100968808 B1 KR 100968808B1
Authority
KR
South Korea
Prior art keywords
decoding
variable length
length code
frame
sram
Prior art date
Application number
KR1020080066007A
Other languages
English (en)
Other versions
KR20090056790A (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 한국전자통신연구원
Publication of KR20090056790A publication Critical patent/KR20090056790A/ko
Application granted granted Critical
Publication of KR100968808B1 publication Critical patent/KR100968808B1/ko

Links

Images

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
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따른 가변길이부호 디코딩 시스템의 디코딩 방법은, 픽쳐 그룹으로부터 프레임을 추출하는 단계, 추출된 프레임을 디코딩하는데 필요한 테이블 정보를 에스램에 로딩하는 단계, 및 상기 로딩된 테이블 정보를 이용하여 상기 추출된 프레임을 디코딩하는 단계를 포함한다.
Figure R1020080066007
프레임,가변길이부호,에스램

Description

가변길이부호 디코딩 시스템 및 그것의 디코딩 방법{VARIABLE LENGTH CODE DECODING SYSTEM AND DECODING METHOD THEREOF}
본 발명은 가변길이부호 디코딩 시스템 및 그것의 디코딩 방법에 관한 것이다.
본 발명은 정보통신부의 IT SoC 핵심설계 인력양성사업(Human Resource Development Project for IT SoC Architech)의 일환으로 수행한 연구로부터 도출된 것이다.[과제관리번호: , 과제명: IT SoC 핵심설계인력양성].
최근, 오디오, 비디오 및 픽셀 값들을 통합적으로 다루는 멀티미디어의 시대가 도래해서, 현존하는 정보 매체, 즉, 사람들에게 정보를 전달하는 신문, 잡지, 텔레비젼, 라디오, 전화기 및 다른 수단이 최근 멀티미디어의 범위에 포함되어 오고 있다. 일반적으로, 멀티미디어란 문자뿐만 아니라 그래픽 심볼, 오디오, 특히 화상 등이 서로 관련되어 표현되는 것을 말한다. 그러나, 상기 서술한 현존의 정보 미디어를 멀티미디어의 범위에 포함시키기 위해, 이러한 정보를 디지털 형태로 표현하는 것이 필요 조건으로서 나타난다.
그러나, 각각의 상기 서술된 정보 미디어에 포함된 정보의 양을 디지털 형태 로 계산할 때, 문자당 정보의 양은 1∼2바이트가 요구되고, 오디오는 초당 64Kbits(전화 품질)가 요구되고, 동화상의 경우 초당 100Mbits(현재 텔레비젼 수신 품질)가 요구된다. 그러므로, 앞에 서술된 정보 미디어가 이러한 거대한 양의 정보를 디지털 형태로 취급하는 것이 현실적이지 않다. 그러므로, 정보 압축 기술이 요구되고, 예를 들면 비디오 폰의 경우에, ITU-T(International Telecommunication Union-Telecommunication Standardization Sector)에 의해 국제적으로 표준화된 H.261 및 H.263 표준을 따르는 비디오 압축 기술이 이용된다.
일반적으로, 동화상의 부호화에서, 정보의 양은 시간과 공간의 방향으로 용장성(redundancy)를 줄임으로써 압축된다. 그러므로, 시간적인 용장성을 줄이기 위한 화면간 예측 부호화에서, 움직임 추정 및 예측 화상의 생성이 전방 또는 후방의 픽쳐를 참조하여 블록 단위로 행해지고, 그 다음, 얻어진 예측 이미지와 부호화되는 현재의 픽쳐의 이미지 사이의 차이 값에서 부호화가 실행된다.
여기서, "픽쳐"는 하나의 이미지를 지칭하는 용어이다. 프로그레시브 이미지의 경우, "픽쳐"는 프레임을 의미하고, 인터레이스 이미지의 경우 프레임 또는 필드를 의미한다. 여기서, "인터레이스 이미지"는 캡쳐 시간이 분리된 2개의 필드로 구성된 프레임의 이미지이다. 인터레이스 이미지의 부호화 및 복호화에서, 하나의 프레임을 그대로 다루거나, 2개의 필드로서 다루거나, 또는 프레임 내의 블록마다의 프레임 구조 또는 필드 구조로서 다루는 것이 가능하다. 어떠한 화상도 참조하지 않고 화면내 예측 부호화되는 화상을 I 프레임으로 칭한다. 단지 하나의 화상을 참조하여 화면내 예측 부호화되는 화상을 P 프레임으로 칭한다. 그리고, 동시에 2 개의 화상을 참조하여 화면내 예측 부호화되는 화상을 B 프레임으로 칭한다. B 프레임은 표시 순서에서 전방/후방 픽쳐가 임의로 결합될 수 있는 2개의 픽셀을 참조하는 것이 가능하다.
참조 이미지(참조 픽쳐)는 부호화 및 복호화의 기본 단위로서 블록마다 지정될 수 있다. 부호화된 비트스트림에서 앞에 나타낸 참조 픽쳐를 제 1 참조 픽쳐로 부르고, 비트스트림에서 뒤에 나타낸 참조 픽쳐를 제 2 참조 픽쳐로 부름으로써, 이러한 참조 픽셀 사이의 구분이 이루어진다.이들 유형의 픽쳐들을 부호화 및 복호화하기 위한 조건으로서, 참조로 사용되는 픽쳐들이 미리 부호화되고 복호화되는 것이 요구된다.
P 프레임 및 B 프레임은 움직임 보상 화면간 예측을 이용하여 부호화된다. 움직임 보상된 화면간 예측의 사용에 의한 부호화는 화면간 예측 부호화에서 보상된 움직임을 이용하는 부호화 방법이다. 참조 픽쳐의 픽셀값에 기초하여 간단히 예측을 행하는 방법과 달리, 움직임 추정은 픽쳐 내의 각 부분의 움직임의 양(이후 "움직임 벡터"라고 칭한다)을 추정하고, 또한 이러한 움직임 양을 고려하여 예측을 행함으로써, 데이터의 양을 저감시킬 뿐 아니라 예측의 정확도를 개선할 수 있는 기술이다.
예를 들면, 부호화되는 현재의 픽쳐의 움직임 벡터를 추정하고, 그 다음 각각의 움직임 벡터의 양만을 시프팅하여 얻어진 예측치와 부호화되는 현재의 화상 사이의 예측 오차를 부호화함으로써 움직임 보상을 통해 데이터의 양을 저감할 수 있다. 이 기술에서, 복호화시에 움직임 벡터 정보가 요구되므로, 움직임 벡터 또한 부호화된 형태로 기록되거나 전송된다. 움직임 벡터는 매크로블록 단위로 추정된다. 더 구체적으로, 매크로블록은 부호화되는 현재 화상에 미리 고정되어 있고, 참조 픽쳐에서 탐색 영역내에 고정된 매크로블록의 가장 유사한 참조 블록의 위치를 찾음으로써 움직임 벡터를 추정하도록 한다.
도 1은 일반적인 비트스트림의 데이터 구조를 보여주는 도면이다. 도 1을 참조하면, 비트스트림(Bitstream)은 복수의 픽쳐 그룹(Group of Picture:이하 'GOP'라고 함)을 포함하고 있다. GOP는 기본 부호화 단위로서 액세스를 수행하거나 혹은 편집을 수행하는데 이용된다. 각 GOP는 복수의 픽쳐들(Pictures)을 포함하고 있다. 또한, 각 픽쳐는 복수의 슬라이스들(Slices)을 포함하고 있다. 또한, 각 슬라이스는 복수의 매크로 블록들(Macro Blocks)을 포함하고 있다. 또한 각 매크로 블록들은 복수의 블록들을 포함하고 있다. 한편, 각 비트스트림, GOP, 픽쳐 및 슬라이스는 각 단위의 엔딩 포인트를 나타내는 동기 신호 및 각 단위에 공통인 데이터인 헤더를 포함한다.
데이터가 스트림 시퀀스인 비트 스트림으로 전송되지 않고, 조각 단위인 패킷등으로 전송되는 경우, 헤더와, 헤더 이외의 부분인 데이터부는 분리되어 전송될 수 있다. 이러한 경우, 도 1에 도시된 바와 같이 헤더 및 데이터 부가 동일한 비트 스트림에 조합되지 않는다. 그러나, 패킷의 경우에, 헤더 및 데이터부가 인접하여 송신되지 않을 때에도, 데이터부에 대응하는 헤더가 다른 패킷에서 전송되고 있는 것이다. 그러므로, 헤더 및 데이터 부가 동일한 비트 스트림에 조합되지 않을 때에도, 도 1을 참조하여 서술된 부호화된 비트스트림의 개념은 또한 패킷으로 응용가 능하다.
일반적으로 가변길이(Variable)부호는 다양한 무손실 데이타 압축을 위해 사용되고 있다. 가변길이부호는 데이타의 통계치에 근거하여 고정된 길이의 데이타를 가변길이 데이타로 부호화하는 것으로 정보원에 포함된 각 부호의 발생빈도에 의해 빈도가 많은 것으로 짧은 길이의 부호로, 빈도가 적은 것은 긴 길이의 부호로 표시한다. 이렇게 함으로써 모든 부호에 동일한 길이를 할당하는 것에 비해 부호길이의 평균치를 줄일 수 있다. 대표적인 가변길이부호로는 허프만(Huffman) 부호가 있다.
WMV9/VC-1의 경우에 있어서 가변길이부호(Variable Length Code: 이하 'VLC'라고 함) 디코딩하고자 할 때, 많은 양의 테이블 정보가 필요하다. 여기서 이로 인하여 다른 코덱에 비교하여 게이트 카운트(Gate Count)가 많이 증가된다. 하드웨어적으로 VLC 디코더 구현시 테이블 정보가 저장될 롬(ROM)의 크기가 증가된다. 또한 휴대용 제품에 VLC 디코더를 적용할 때 빈번하게 롬을 억세스함으로 인한 전력소비도 증가된다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 게이트 카운트가 감소되고 전력소비가 감소되는 가변길이부호 디코딩 시스템 및 그것의 디코딩 방법을 제공하는데 있다.
본 발명에 따른 가변길이부호 디코딩 시스템의 디코딩 방법은: 픽쳐 그룹으 로부터 프레임을 추출하는 단계; 추출된 프레임을 디코딩하는데 필요한 테이블 정보를 에스램에 로딩하는 단계; 및 상기 로딩된 테이블 정보를 이용하여 상기 추출된 프레임을 디코딩하는 단계를 포함한다.
실시예에 있어서, 상기 프레임을 추출하는 단계는, 상기 픽쳐 그룹을 입력받는 단계; 입력된 픽쳐 그룹을 디코딩하여 복수의 프레임들을 추출하는 단계를 포함한다.
실시예에 있어서, 상기 프레임을 추출하는 단계는 중앙처리장치에서 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 디코딩된 복수의 프레임들은 순서대로 가변길이부호 디코더에 의하여 디코딩되는 것을 특징으로 한다.
실시예에 있어서, 상기 중앙처리장치와 상기 가변길이부호 디코더는 프레임 단위로 인터페이스를 수행하는 것을 특징으로 한다.
실시예에 있어서, 상기 에스램은 상기 가변길이부호 디코더에 포함되는 것을 특징으로 한다.
실시예에 있어서, 상기 테이블 정보가 에스램에 로딩되는 단계는, 상기 중앙처리장치가 상기 프레임을 디코딩하는데 필요한 테이블들을 파악하는 단계; 및 상기 중앙처리장치가 상기 파악한 테이블들을 상기 에스램에 로딩하는 단계를 포함한다.
실시예에 있어서, 상기 테이블 정보가 상기 에스램에 로딩이 완료되면, 상기 중앙처리장치는 상기 가변길이부호 디코더를 활성화시키기 위한 동작 신호를 생성 하는 것을 특징으로 한다.
실시예에 있어서, 상기 추출된 프레임에 대한 디코딩이 완료된 후 상기 가변길이부호 디코더는 상기 중앙처리장치에 인터럽트 신호를 전달하는 것을 특징으로 한다.
실시예에 있어서, 상기 추출된 프레임에 대한 디코딩이 완료된 후, 상기 가변길이부호 디코더는 상기 중앙처리장치로부터 다음 프레임에 대한 상기 동작 신호가 전달될 때까지 대기 상태에 있는 것을 특징으로 한다.
본 발명에 따른 가변길이부호 디코딩 시스템은: 그룹 픽쳐를 입력받아 복수의 프레임들로 추출하는 중앙처리장치; 및 상기 중앙처리장치로부터 상기 복수의 프레임들을 프레임 단위로 입력받아 디코딩을 수행하는 가변길이부호 디코더를 포함한다.
실시예에 있어서, 상기 가변길이부호 디코더는 프레임을 디코딩하는 데 필요한 테이블 정보를 저장하는 것을 특징으로 한다.
실시예에 있어서, 상기 가변길이부호 디코더는 상기 테이블 정보를 저장하는 에스램을 포함하고, 상기 테이블 정보는 상기 중앙처리장치로부터 로딩되는 것을 특징으로 한다.
실시예에 있어서, 상기 중앙처리장치는, 상기 그룹 픽쳐를 디코딩하여 복수의 프레임들로 추출하는 픽쳐 레이어; 및 상기 추출된 프레임들 중 디코딩될 프레임을 입력받고, 상기 디코딩될 프레임을 디코딩하는데 필요한 테이블 정보를 상기 에스램에 로딩시키는 테이블 매니저를 포함한다.
실시예에 있어서, 상기 중앙처리장치는 상기 테이블 정보가 상기 에스램에 로딩되면 상기 가변길이부호 디코더를 활성화시키기 위한 동작 신호를 생성하는 것을 특징으로 한다.
실시예에 있어서, 상기 가변길이부호 디코더는, 입력된 프레임을 디코딩하여 복수의 슬라이스들을 추출하는 슬라이스 레이어; 상기 추출된 각 슬라이스를 디코딩하여 복수의 매크로 블록들을 추출하는 매크로 블록 레이어; 및 상기 추출된 각 매크로 블록을 디코딩하여 복수의 블록들을 추출하는 블록 레이어를 포함하되, 상기 슬라이스 레이어, 상기 매크로 블록 레이어, 및 상기 블록 레이어는 디코딩할 때 상기 에스램에 저장된 상기 테이블 정보를 이용하는 것을 특징으로 한다.
실시예에 있어서, 상기 프레임에 대한 디코딩이 완료되면, 상기 가변길이부호 디코더는 상기 중앙처리장치에 인터럽트 신호를 전달하고, 상기 중앙처리장치는 상기 인터럽트 신호에 응답하여 다음 프레임을 디코딩하도록 준비시키는 것을 특징으로 한다.
실시예에 있어서, 상기 테이블 정보는 복수의 종류의 테이블들을 포함하고, 상기 에스램은 상기 복수의 종류의 테이블이 각각 저장되는 메모리들로 구분되는 것은 특징으로 한다.
상술한 바와 같이 본 발명에 따른 가변길이부화 디코딩 시스템 및 그것의 디코딩 방법은 입력된 프레임에 필요한 테이블 정보만 업로딩하여 사용함으로, 게이트 카운트가 감소되며, 또한 전력 소비도 줄일 수 있게 된다.
또한, 본 발명의 가변길이부화 디코딩 시스템은 내부 메모리를 적게 사용하고, 전력소비에 있어서 효율적임으로 휴대용 장치에 적용가능하다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예를 첨부된 도면을 참조하여 설명한다.
본 발명에 따른 가변길이부호 디코딩 시스템은 프레임 단위로 디코딩을 수행하는 가변길이부호(Variable Length Code: 이하, VLC 라고 함) 디코더를 포함한다. 여기서 가변길이부호 디코더는 현재 프레임을 디코딩하는 데 필요한 테이블 정보만이 로딩되는 에스램을 포함한다. 이로써, 본 발명의 디코딩 시스템은 디코딩을 수행하는데 있어서 모든 테이블 정보를 구비할 필요가 없다. 따라서, 본 발명에 따른 디코딩 시스템은 디코딩 동작시 게이트 카운트를 감소시키고, 이에 따라 전력 소비도 감소된다.
도 2은 본 발명에 따른 가변길이부호 디코딩 시스템(10)을 보여주는 도면이다. 도 2을 참조하면, 가변길이부호 디코딩 시스템(10)은 중앙처리장치(CPU:100) 및 VLC(Variable Length Code) 디코더(200)를 포함하고 있다. 본 발명의 VLC 디코더(200)는 프레임 단위로 디코딩을 수행하며, 프레임을 디코딩하는 데 필요한 테이블 정보를 저장하는 에스램(210)을 포함하고 있다.
도 2에 도시된 바와 같이 디코딩 시스템(10)에서는 프레임을 디코딩하는 데 필요한 데이터 정보를 저장하기 위하여 에스램을 이용하였다. 그러나 본 발명의 디 코딩 시스템이 프레임을 디코딩하는 데 필요한 데이터 정보를 저장하기 위한 장치가 반드시 에스램에 국한될 필요가 없다는 것은 당업자에게 자명하다. 본 발명의 디코딩 시스템에서는 프레임을 디코딩하는 데 필요한 데이터를 저장하기 위하여 램과 같은 휘발성 메모리 장치를 이용할 수 있다.
중앙처리장치(100)는 픽쳐 레이어(110) 및 테이블 메니저(120)를 포함하고 있다. 픽쳐 레이어(110)는 그룹 픽쳐(Group of Pictures:이하 'GOP'라고 함)부터 복수의 픽쳐들을 추출한다. 일반적으로 각 픽쳐는 프레임(frame)이라고 부른다. 즉, 픽쳐 레이어(110)는 GOP를 디코딩하여 복수의 프레임들을 추출한다. 여기서 픽쳐 레이어(110)로부터 추출된 복수의 프레임들은 차례로 VLC 디코더(200)에 의하여 디코딩된다. 테이블 매니저(120)는 픽쳐 레이어(110)로부터 프레임을 전달받고, 전달된 프레임을 디코딩하는데 필요한 테이블 정보를 파악한다. 테이블 매니저(120)는 파악한 테이블 정보를 VLC 디코더(200)의 에스램(210)으로 로딩시킨다.
한편, 픽쳐 레이어(110)로부터 디코딩된 픽쳐 즉 추출된 프레임들 각 프레임을 디코딩하는데 필요한 테이블 정보를 포함하고 있다. 이러한 테이블 정보는 프레임의 종류에 따라 다르다. 예를 들어, 프레임이 I 프레임(Infra Frame)이라고 할 때, CBPCY 테이블, AC 디퍼런셜 테이블, 및 DC 디퍼런셜 테이블이 필요하다.
상술된 바와 같이, 중앙처리장치(100)는 GOP로부터 복수의 프레임을 추출하고, VLC 디코더(200)가 디코딩 동작을 수행할 수 있도록 준비하는 기능을 수행한다. 즉, 중앙처리장치(100)는 디코딩될 프레임 및 이 프레임을 디코딩하기 위해 필요한 테이블 정보를 VLC 디코더(200)로 전달하고, 에스램(210)에 테이블 정보의 로 딩이 완료되면 VLC 디코더(200)로 동작 신호(DECEN)를 전달한다. 본 발명의 VLC 디코더(200)는 프레임 단위로 디코딩을 수행한다. 따라서, 중앙처리장치(100)는 추출된 프레임들을 차례로 VLC 디코더(200)로 전달하도록 구현된다.
VLC 디코더(200)는 동작 신호(DECEN)에 응답하여 중앙처리장치(100)로부터 입력된 하나의 프레임에 대한 디코딩을 시작한다. 한편 프레임을 디코딩하는데 필요한 테이블 정보는 에스램(210)에 이미 로딩되어 있다. VLC 디코더(200)는 에스램(210)에 로딩된 테이블 정보를 이용하여 입력된 프레임에 대한 디코딩 동작을 수행한다.
VLC 디코더(200)의 프레임에 대한 디코딩 동작은 아래와 같다. 슬라이스 레이어(220)는 중앙처리장치(100)로부터 입력된 프레임을 디코딩하여 복수의 슬라이스들을 추출한다. 매크로블록 레이어(230)는 슬라이스 레이어(220)에서 디코딩된 복수의 슬라이스들 각각을 디코딩하여 복수의 매크로 블록들로 추출한다. 블럭 레이어(230)는 매크로블록 레이어(230)에서 디코딩된 복수의 매크로 블록들 각각을 디코딩하여 복수의 블록들을 추출한다. 상술한 과정은 입력된 프레임에 대한 디코딩이 완료될 때까지 반복된다. 중앙처리장치(100)로부터 입력된 프레임에 대한 디코딩 동작이 완료되면, VLC 디코더(200)는 인터럽트 신호를 중앙처리장치(100)로 전달한다. 이때 VLC 디코더(200)는 중앙처리장치(100)로부터 다음 동작 신호(DECEN)을 전달받기까지 대기 상태에 놓인다.
중앙처리장치(100)는 전달된 인터럽트 신호에 응답하여 다음 프레임에 대하여 디코딩 동작 준비한다. 즉, 디코딩할 프레임이 테이블 매니저(120)에 전달되고, 디코딩할 프레임에 대응하는 테이블 정보가 에스램(210)에 로딩된다. 또한, 에스램(210)에 테이블 정보의 로딩이 완료되면, 중앙처리장치(100)는 동작 신호(DECEN)을 VLC 디코더(100)에 전달한다. VLC 디코더(100)는 전달된 동작 신호(DECEN)에 응답하여 새롭게 입력된 프레임에 대한 디코딩을 수행한다.
본 발명의 가변길이부호 디코딩 시스템(10)에서는 중앙처리장치(100)에 픽쳐 레이어(110)가 포함된다. 즉, 중앙처리장치(100)에서 GOP를 디코딩하여 복수의 픽쳐들 즉 프레임들을 추출한다. 한편, VLC 디코더(200)는 중앙처리장치(100)에서 전달된 하나의 프레임에 대하여만 디코딩을 수행한다. 즉, 중앙처리장치(100) 및 VLC 디코더(200)에서는 프레임 단위로 인터페이스가 수행된다. 이러한 가변길이부호 디코딩 시스템(10)은 최소의 중앙처리장치 성능을 이용하여 유동성(Flexiblity)를 보장하면서, VLC 디코더의 게이트 카운트를 현저하게 줄일 수 있게 된다.
도 3은 본 발명의 가변길이부호 디코딩 시스템(10)에서 에스램(200)에 대한 실시예를 보여주는 도면이다. 도 3을 참조하면, 본 발명의 VLC 디코더(200)는 VLC 디코더 로직회로(201) 및 에스램들(212,214,216,218)를 포함한다. 여기서 VLC 디코더 로직회로(201)는 도 2에 도시된 VLC 디코더(200)에서 에스램(210)을 제외한 부분이다. 본 발명의 에스램(200)은 AC 디퍼런셜 메모리(212), MV 디퍼런셜 메모리(214), CBPCY 메모리(216), 및 DC 디퍼런셜 메모리(218)를 포함한다. AC 디퍼런셜 메모리(212)는 AC 디퍼런셜 테이블이 저장되는 곳이다. MV 디퍼런셜 메모리(214)는 MV 디퍼런셜 테이블이 저장되는 곳이다. CBPCY 메모리(216)는 CBPCY 테이블이 저장되는 곳이다. DC 디퍼런셜 메모리(218)은 DC 디퍼런셜 테이블이 저장되 는 곳이다. 각 메모리들(212,214,216,218)에는 디코딩될 프레임을 디코딩하는데 필요한 테이블들이 중앙처리장치(100)의 테이블 매니저(120)로부터 로딩된다.
종래의 VLC 디코더는 GOP 단위로 디코딩을 수행하기 때문에 모든 테이블 정보를 저장하기 위한 롬(ROM)을 구비하고 있다. 반면에 본 발명의 VLC 디코더는 프레임 단위로 디코딩을 수행하며, 프레임을 디코딩하는데 필요한 테이블만 저장하기 위한 에스램(SRAM)을 구비한다. 따라서, 전체 테이블 크기 및 읽기/쓰기 동작을 고려할 때, 에스램을 사용하는 본 발명의 VLC 디코더는 게이트 카운트 및 전력 소비 측면에서 종래의 VLC 디코더보다 이점이 있다.
또한, 롬을 사용하는 VLC 디코더의 경우, 롬 데이터의 오류로 인하여 칩을 추가로 제작해야하는 단점이 있다. 반면에 에스램을 사용하는 VLC 디코더는 로딩될 데이터만 바꿔주면 되기 때문에 추가 비용이 발생하지 않고, 디코딩 시간을 줄일 수 있는 장점이 있다.
일례로, 본 발명의 VLC 디코더의 에스램의 크기는 최소 13.566Kb의 메모리 크기가 요구된다. 이 메모리 크기는 종래의 VLC 디코더에서 사용되는 전체 테이블 크기인 39.532Kb의 34% 밖에 되지 않는다. 이를 구현하는데 필요한 에스램 메모리들의 크기는 아래의 표와 같다.
에스램 메모리 종류 크기
AC 디퍼런셜 메모리 186×23 / 127×11 / 65×9
MV 디퍼런셜 메모리 72 ×14
CBCVY 메모리 64×11
DC 디퍼런셜 메모리 119×21 / 119×26
여기서 에스램(210)의 쓰기 동작은 중앙처리장치(100)가 제어한다. 또한VLC 디코더 로직회로(201)는 에스램(210)으로부터 읽기 동작만 수행한다.
도 3에 도시된 에스램(200)은 네개의 메모리들(212,214,216,218)을 포함한다. 하지만, 본 발명의 에스램이 반드시 여기에 국한될 필요는 없다. 본 발명의 에스램은 하나의 메모리로 구현될 수도 있다.
도 4는 본 발명에 따른 가변길이부호 디코딩 시스템(10)의 디코딩 방법을 보여주는 흐름도이다. 도 2 내지 도 4을 참조하면, 본 발명에 따른 가변길이부호 디코딩 시스템(10)의 디코딩 방법은 아래와 같다.
본 발명에 따른 가변길이부호 디코딩 시스템(10)의 VLC 디코더(200)는 프레임 단위로 디코딩을 수행한다. 이를 위하여 중앙처리장치(100)는 디코딩될 GOP로부터 복수의 프레임들을 추출한다. 즉, 픽쳐 레이어(110)는 GOP를 디코딩하여 복수의 픽쳐들 즉 복수의 프레임들을 추출한다. 여기서 복수의 프레임들은 순서대로 VLC 디코더(200)에서 디코딩될 것이다(S110).
픽쳐 레이어(110)에서 추출된 프레임은 테이블 매니저(120)로 전달된다. 테이블 매니저(120)는 추출된 프레임으로부터 이를 디코딩하는 데 필요한 테이블 정보를 알아내고, 파악한 테이블 정보를 에스램(210)으로 로딩시킨다(S120). 에스램(210)에 테이블 정보의 로딩이 완료되면, 중앙처리장치(100)는 동작 신호(DECEN)를 VLC 디코더(200)에 전달하여 추출된 프레임에 대한 디코딩을 시작하게 한다. VLC 디코더(200)는 동작 신호(DECEN)에 응답하여 에스램(210)에 로딩된 테이블 정보를 이용하여 추출된 프레임에 대한 디코딩을 수행한다(S130). 여기서 프레임에 대한 디코딩 동작은 도 2에 도시된 바와 같다.
프레임에 대한 디코딩이 완료되면, VLC 디코더(200)는 인터럽트 신호를 생성하여 중앙처리장치(100)로 전달한다. 이때 VLC 디코더(200)는 다음 동작 신호(DECEN)을 전달받기까지 대기 상태에 놓이게 된다. 한편, 중앙처리장치(100)에서는 인터럽트 신호에 응답하여 추출된 다음 프레임에 대한 디코딩 동작이 준비된다. 즉, 다음 프레임은 테이블 매니저(120)로 전달되고, 테이블 매니저(120)는 전달된 프레임을 디코딩하는 데 필요한 테이블 정보를 알아내고, 파악한 테이블 정보는 에스램(210)으로 로딩된다. 이후, 에스램(210)에 테이블 정보의 로딩이 완료되면, 중앙처리장치(100)는 동작 신호(DECEN)을 생성하여 VLC 디코더(200)에 전달한다. VLC 디코더(200)는 동작 신호(DECEN)에 응답하여 상술된 바와 같이 에스램(210)에 새롭게 저장된 테이블 정보를 이용하여 다음 프레임에 대한 디코딩 동작을 수행한다.
본 발명의 가변길이부호 디코딩 시스템에서는 에스램에 테이블 정보가 로딩되었다. 그러나 본 발명의 가변길이부호 디코딩 시스템이 반드시 에스램에 테이블 정보가 저장될 필요가 없다는 것은 당업자에 자명하다. 본 발명에서는 테이블 정보를 저장하기 위한 메모리 장치로 에스램 이외에도 디램 등 휘발성 메모리 장치 혹은 비휘발성 메모리 장치가 사용될 수 있다.
본 발명의 디코딩 시스템은 WMW9/VC-1 기준 디코더에 적용되는 시스템이다. 하지만, 본발명의 디코딩 시스템이 WMW9/VC-1 기준 디코더에 한정되지 않는다는 것은 당업자에게 자명하다.
본 발명의 가변길이부호 디코딩 시스템은 PMP, Mobile TV(DVB-H), Mobile Phone, 및 4G 단말기 등에 사용가능하다. 특히, 내부 메모리를 적게 사용하고, 전력 소비에 있어서 효율적이므로, 휴대용 장치에 사용가능하다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일반적인 비트스트림의 데이터 구조를 보여주는 도면이다.
도 2은 본 발명에 따른 가변길이부호 디코딩 시스템을 보여주는 도면이다.
도 3은 본 발명의 가변길이부호 디코딩 시스템에서 에스램에 대한 실시예를 보여주는 도면이다.
도 4는 본 발명에 따른 가변길이부호 디코딩 시스템의 디코딩 방법을 보여주는 흐름도이다.
*도면의 주요부분에 대한 부호의 설명*
10: 가변길이부호 디코딩 시스템
100: 중앙처리장치 200: VLC 디코더
110: 픽쳐 레이어 120: 테이블 매니저
210: 에스램 220: 슬라이스 레이어
230: 매크로블록 레이어 240: 블록 레이어
212,214,216,218: 에스램

Claims (18)

  1. 가변길이부호 디코딩 시스템의 디코딩 방법에 있어서:
    중앙처리장치에서 픽쳐 그룹으로부터 복수의 프레임들을 추출하는 단계; 및
    가변길이부호 디코더에서 상기 추출된 복수의 프레임들을 프레임 단위로 디코딩하는 단계를 포함하고,
    상기 디코딩하는 단계는, 상기 추출된 복수의 프레임들이 순차적으로 상기 가변길이부호 디코더에 전달되고, 상기 전달된 프레임에 대응하는 테이블 정보가 상기 가변길이부호 디코더의 휘발성 메모리 장치에 로딩되고, 상기 로딩된 테이블 정보를 이용하여 상기 전달된 프레임이 디코딩되는 가변길이부호 디코딩 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 중앙처리장치와 상기 가변길이부호 디코더는 프레임 단위로 인터페이스를 수행하는 가변길이부호 디코딩 방법.
  6. 제 5 항에 있어서,
    상기 휘발성 메모리 장치는 에스램인 가변길이부호 디코딩 방법.
  7. 제 6 항에 있어서,
    상기 테이블 정보가 상기 에스램에 로딩되는 단계는,
    상기 중앙처리장치가 상기 프레임을 디코딩하는데 필요한 테이블들을 파악하는 단계; 및
    상기 중앙처리장치가 상기 파악한 테이블들을 상기 에스램에 로딩하는 단계를 포함하는 가변길이부호 디코딩 방법.
  8. 제 7 항에 있어서,
    상기 테이블 정보가 상기 에스램에 로딩될 때, 상기 중앙처리장치는 상기 가변길이부호 디코더를 활성화시키기 위한 동작 신호를 생성하는 가변길이부호 디코딩 방법.
  9. 제 8 항에 있어서,
    상기 전달된 프레임에 대한 디코딩이 완료된 후, 상기 가변길이부호 디코더는 상기 중앙처리장치에 인터럽트 신호를 전달하는 가변길이부호 디코딩 방법.
  10. 제 9 항에 있어서,
    상기 전달된 프레임에 대한 디코딩이 완료된 후, 상기 가변길이부호 디코더는 상기 중앙처리장치로부터 다음 프레임에 대한 상기 동작 신호가 전달될 때까지 대기 상태에 있는 가변길이부호 디코딩 방법.
  11. 그룹 픽쳐를 입력받아 복수의 프레임들로 추출하는 중앙처리장치; 및
    상기 중앙처리장치로부터 상기 복수의 프레임들을 프레임 단위로 입력받고, 상기 프레임 단위로 디코딩을 수행하는 가변길이부호 디코더를 포함하고,
    상기 가변길이부호 디코더는 디코딩될 프레임에 대응하는 테이블 정보가 로딩되는 휘발성 메모리 장치를 포함하는 가변길이부호 디코딩 시스템.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 휘발성 메모리 장치는 에스램인 가변길이부호 디코딩 시스템.
  14. 상기 13 항에 있어서,
    상기 중앙처리장치는,
    상기 그룹 픽쳐를 디코딩하여 상기 복수의 프레임들로 추출하는 픽쳐 레이어; 및
    상기 추출된 복수의 프레임들 중 디코딩될 프레임을 입력받고, 상기 디코딩될 프레임을 디코딩하는데 필요한 테이블 정보를 상기 에스램에 로딩시키는 테이블 매니저를 포함하는 가변길이부호 디코딩 시스템.
  15. 상기 14 항에 있어서,
    상기 중앙처리장치는 상기 테이블 정보가 상기 에스램에 로딩될 때 상기 가변길이부호 디코더를 활성화시키기 위한 동작 신호를 생성하는 가변길이부호 디코딩 시스템.
  16. 상기 15 항에 있어서,
    상기 가변길이부호 디코더는,
    상기 입력된 프레임을 디코딩하여 복수의 슬라이스들을 추출하는 슬라이스 레이어;
    상기 추출된 복수의 슬라이스들 각각을 디코딩하여 복수의 매크로 블록들을 추출하는 매크로 블록 레이어; 및
    상기 추출된 복수의 메크로 블록들 각각을 디코딩하여 복수의 블록들을 추출하는 블록 레이어를 포함하고,
    상기 슬라이스 레이어, 상기 매크로 블록 레이어, 및 상기 블록 레이어는 디코딩할 때 상기 에스램에 로딩된 상기 테이블 정보를 이용하는 가변길이부호 디코딩 시스템.
  17. 제 16 항에 있어서,
    상기 입력된 프레임에 대한 디코딩이 완료될 때, 상기 가변길이부호 디코더는 상기 중앙처리장치에 인터럽트 신호를 전달하고,
    상기 중앙처리장치는 상기 인터럽트 신호에 응답하여 다음 프레임을 디코딩하도록 준비시키는 가변길이부호 디코딩 시스템.
  18. 제 11 항에 있어서,
    상기 테이블 정보는 복수의 테이블들을 포함하고,
    상기 휘발성 메모리 장치는 상기 복수의 종류의 테이블이 각각 저장되는 메모리들을 포함하는 가변길이부호 디코딩 시스템.
KR1020080066007A 2007-11-30 2008-07-08 가변길이부호 디코딩 시스템 및 그것의 디코딩 방법 KR100968808B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20070123227 2007-11-30
KR1020070123227 2007-11-30

Publications (2)

Publication Number Publication Date
KR20090056790A KR20090056790A (ko) 2009-06-03
KR100968808B1 true KR100968808B1 (ko) 2010-07-08

Family

ID=40988124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066007A KR100968808B1 (ko) 2007-11-30 2008-07-08 가변길이부호 디코딩 시스템 및 그것의 디코딩 방법

Country Status (1)

Country Link
KR (1) KR100968808B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06188743A (ja) * 1992-12-18 1994-07-08 Oki Electric Ind Co Ltd 可変長コード生成装置
JPH0879535A (ja) * 1994-09-08 1996-03-22 Tec Corp ファクシミリ装置
JPH09246988A (ja) * 1996-03-05 1997-09-19 Canon Inc 復号装置及びその方法
JP2002016501A (ja) * 2000-04-28 2002-01-18 Matsushita Electric Ind Co Ltd 可変長復号化装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06188743A (ja) * 1992-12-18 1994-07-08 Oki Electric Ind Co Ltd 可変長コード生成装置
JPH0879535A (ja) * 1994-09-08 1996-03-22 Tec Corp ファクシミリ装置
JPH09246988A (ja) * 1996-03-05 1997-09-19 Canon Inc 復号装置及びその方法
JP2002016501A (ja) * 2000-04-28 2002-01-18 Matsushita Electric Ind Co Ltd 可変長復号化装置

Also Published As

Publication number Publication date
KR20090056790A (ko) 2009-06-03

Similar Documents

Publication Publication Date Title
US10701401B2 (en) Syntax structures indicating completion of coded regions
EP2834975B1 (en) Low-delay video buffering in video coding
US9648321B2 (en) Coding picture order count values identifying long-term reference frames
AU2016333221A1 (en) Image prediction method and device
CN103202016A (zh) 用于视频译码的自适应运动向量分辨率信令
US10484721B2 (en) Method for motion estimation of non-natural video data
EP1484927B1 (en) Method and apparatus for decoding compressed and encoded digital images
EP1383339A1 (en) Memory management method for video sequence motion estimation and compensation
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
CN114128260A (zh) 全局运动矢量的高效编码
US11601667B2 (en) Inter prediction method and related apparatus
CN113170108A (zh) 使用显式和隐式信令对不可用参考帧进行自适应块更新
US8326060B2 (en) Video decoding method and video decoder based on motion-vector data and transform coefficients data
KR100968808B1 (ko) 가변길이부호 디코딩 시스템 및 그것의 디코딩 방법
CN111435989B (zh) 视频编码、解码方法、装置及计算机存储介质
CN109672889B (zh) 约束的序列数据头的方法及装置
US20070171980A1 (en) Method and Related Apparatus For Decoding Video Streams
JP2004222262A (ja) 動画圧縮のための内蔵型メモリ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee