KR100298397B1 - 비디오디코딩시스템 - Google Patents

비디오디코딩시스템 Download PDF

Info

Publication number
KR100298397B1
KR100298397B1 KR1019980002941A KR19980002941A KR100298397B1 KR 100298397 B1 KR100298397 B1 KR 100298397B1 KR 1019980002941 A KR1019980002941 A KR 1019980002941A KR 19980002941 A KR19980002941 A KR 19980002941A KR 100298397 B1 KR100298397 B1 KR 100298397B1
Authority
KR
South Korea
Prior art keywords
data
memory
unit
output
read
Prior art date
Application number
KR1019980002941A
Other languages
English (en)
Other versions
KR19990068991A (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 KR1019980002941A priority Critical patent/KR100298397B1/ko
Priority to US09/240,886 priority patent/US6525783B1/en
Publication of KR19990068991A publication Critical patent/KR19990068991A/ko
Application granted granted Critical
Publication of KR100298397B1 publication Critical patent/KR100298397B1/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/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
    • 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/436Methods 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 using parallelised computational arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

엠펙 2 메인 프로파일@하이레벨(MPEG 2 MP@HL)의 비트스트림을 디코딩하기 위한 비디오 디코딩 시스템에 관한 것으로서, 특히 VLD는 낮은 속도에서 동작시키면서도 IQ/역스캔/IDCT등의 고속 처리가 가능하도록 함으로써, 많은 회로의 감축과 적절한 클럭에서 구현하는 것이 가능하여 데이터의 처리 양과 속도가 많이 요구되는 HDTV 비디오 디코더에 적용할 수 있으며, 또한 메모리 제어부는 VLD 전의 비트스트림 라이트, 디스플레이를 위한 데이터 리드, VLD를 위한 데이타 리드, 움직임 보상된 데이터의 라이트, 움직임 보상을 위한 데이터 리드 순서로 응답하는 우선권을 줌으로써, 메모리 억세스를 효율적으로 수행하여 외부 메모리와의 인터페이싱 속도가 빨라지므로 역시 비디오 디코딩을 고속으로 수행할 수 있다. 그리고, 프레임 메모리로 SDRAM 할당시 위, 아래 슬라이스가 서로 다른 뱅크 어드레스를 가지도록 하며, 움직임 보상을 위한 데이터를 SDRAM으로부터 읽어올 때 두 슬라이스에 걸쳐 있는 데이터를 SDRAM의 인터리빙 억세스 방법에 의해 읽음으로써, 메모리 억세스 효율을 높여 HDTV 디코딩을 하기 위해 필요한 속도를 얻을 수 있다.

Description

비디오 디코딩 시스템{VIDEO DECODING SYSTEM}
본 발명은 고화질 TV(HDTV) 비디오 디코더에 관한 것으로서, 특히 엠펙 2 메인 프로파일@하이레벨(MPEG 2 MP@HL)의 비트스트림을 디코딩하기 위한 비디오 디코딩 시스템에 관한 것이다.
최근 디지털 TV 방송에 관한 관심이 높아지고 있으며, 고화질의 선명한 화면을 가정에서 TV 수신기로 볼 수 있도록 비디오 데이터를 압축하여 송신하고자 하는 노력이 기울여지고 있다. 비디오 신호를 압축하기 위하여 사용되는 알고리즘으로는 MPEG2가 주로 사용되며, 압축율도 1/40에서 1/60정도로 매우 크다. 이러한 알고리즘 덕분에 기존에 다루기조차 힘들었던 고화질의 디지털 데이터를 일반 방송 채널로 전송하여 가정에서 즐길 수 있도록 하려는 연구가 계속되고 있다. 따라서, 디지털 TV 수신기는 이렇게 압축되어 수신된 데이터를 원래의 고화질의 비디오 데이터로 복원하여야 하는 비디오 디코더가 필요하다.
특히, 고화질의 비디오 신호를 디코딩하기 위해서는 일반 화질의 비디오 디코더보다 5에서 6배정도의 데이터 처리속도가 필요하며 사용되는 메모리의 양도 많아지게 된다.
도 1은 종래의 비디오 디코더의 구성 블록도로서, 비디오 신호의 데이터 양이 초당 15MByte 정도인 일반 해상도의 비디오 신호를 처리하기 위한 디코더이다.
즉, 비디오 비트스트림이 지그-재그 스캔으로 코딩되어 시리얼로 입력되면 가변 길이 디코더(Variable Length Decoder ; VLD)(11)에서 가변길이 디코딩되어움직임 벡터, 양자화 값, DCT 계수로 분리된다.
상기 VLD(11)의 출력중 DCT 계수에 해당하는 값이 역스캔(Inverse Scan ; IS)부(12)와 역양자화(Inverse Quantizer ; IQ)부(13)를 통과하여 역 이산 여현 변환(Inverse Discrete Cosine Transform ; IDCT)부(14)로 입력된다.
이때, 상기 VLD(11)에서는 DCT 계수가 런-레벨로 디코딩된다. 하나의 DCT 블록은 8×8의 계수들로 이루어져 있는데 이들 중 0이 아닌 계수들만 코드속에 들어있으므로 VLD(11)의 출력은 0이 아닌 계수들의 크기, 즉 레벨과 이 계수들 사이에 0이 얼마나 삽입되어 있는지에 대한 런이 출력된다. 따라서, 런-레벨 디코딩에 의해 런-레벨 쌍은 연속되는 64개의 DCT 계수로 변환된 후 역 스캔부(12)로 출력된다. 즉, 8×8 계수의 디코딩 순서는 런 레벨 코드의 효율을 높이기 위해서 낮은 주파수 성분부터 전송될 수 있도록 지그-재그 스캔 방식으로 이루어지므로 역 스캔부(12)는 이를 라스터 스캔(Raster Scan) 방식으로 바꾸어 준다.
그리고, IQ부(13)는 상기 역 스캔부(12)에서 역스캔되어 출력되는 64개의 DCT 계수를 양자화 값에 따라 역 양자화하여 IDCT부(14)로 출력한다.
상기 IDCT부(14)는 역 양자화된 DCT 계수에 대해 IDCT를 수행하여 움직임 보상부(15)로 출력하고, 상기 움직임 보상부(15)는 상기 IDCT된 데이터와 VLD(11)에서 분리된 움직임 벡터를 이용하여 보간된 데이터를 더하여 완전한 영상으로 복원한 후 디스플레이부(16)로 출력한다.
상기 디스플레이부(16)는 픽쳐 타입에 따라 데이터를 재배열하여 출력하기도 하고 그대로 출력하기도 한다.
그리고, DRAM(22)과 같은 외부 메모리가 사용되는데, 상기 DRAM(22)은 비트 스트림의 쓰기와 읽기, 움직임 보상을 위하여 필요한 데이터의 읽기, 디코딩된 데이터의 쓰기 및 디스플레이될 데이터의 읽기로 크게 나누어질 수 있다. 따라서, 도 1의 각 블록들은 데이터를 임시 저장하여 버스에서의 데이터 충돌을 방지하기 위해 선입선출(First Input First Output ; FIFO)(17,18∼20)를 두고 메모리 제어부(21)를 통해 데이터를 주고 받는다. 또한, 하나의 메모리를 여러 용도로 사용하기 위해서는 여러 종류의 메모리 억세스 요구를 처리해주어야 한다. 이때, 각 블록에서 요구하는 신호는 모두 비디오 디코딩을 하기 위해 필요한 메모리 억세스이므로 이를 잘 제어해주어야 디코딩 효율을 높일 수 있다. 이를 위해 메모리 제어부(21)는 시간을 분할하여 각각의 억세스를 수행해준다. 일반적으로 매크로 블록 단위로 필요한 메모리 억세스 순서를 정하여 처리하여 준다.
그러나, 압축된 비트 스트림은 항상 일정한 방법으로 압축된 것이 아니라 그 매크로 블록의 성질에 맞게 압축되어 있어 각 블록에서 필요한 데이터의 양이 다르므로 일정한 시간으로 할당하여 주면 필요없이 메모리 억세스가 수행되므로 비효율적이다.
또한, 상기된 도 1의 일반적인 비디오 디코더는 적은 데이타를 처리하기에는 적합하나 많은 양의 데이터를 처리해야 하는 HDTV 비디오 디코더에서는 처리속도가 부족하게 되어 적합하지 않다.
즉, MPEG 2 MP@HL의 비디오 데이터를 디코딩하기 위해서는 데이터 양이 6배정도 증가하므로 초당 93M 바이트 이상의 데이터를 처리해야 하고 각 구성 요소들도 도 1의 일반 비디오 디코더보다 6배정도 빨라야 하며, 사용되는 메모리의 크기와 데이터의 전송 속도도 그만큼 빨라져야 한다.
또한, 압축되어 있는 비트 스트림의 대부분의 DCT 계수들은 0이므로 하나의 블럭을 디코딩하는데는 VLD(11)는 5~6 클럭이면 디코딩하지만 이것들에 0을 삽입하여 64개의 DCT 계수들을 발생시키는 런-레벨 디코더에서는 64 클럭이 소요된다. 그러므로, VLD(11)는 대부분의 시간들이 런-레벨 디코더가 수행되는 기간동안에는 쉬어야 하므로 비효율적이다.
만일, 이러한 구조를 HDTV에 적용시킨다면 VLD 및 런-레벨 디코더와 역스캔부와 IQ부는 최대 94MHz의 클럭에서 동작해야 하는데 이는 클럭 주파수가 너무 높아 하드웨어 부담이 너무 커져 디코딩이 거의 불가능하게 된다.
또한, 이러한 구조의 역 스캔은 시리얼로 밖에 이루어질 수 없으므로 내부 메모리 쓰기 및 읽기 속도가 매우 빨라져야 한다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 속도가 빨리 요구되는 곳에서는 병렬 처리가 가능하도록 하여주고 속도가 빠르게 요구되지 않는 곳에서는 주어진 시간을 쉬지않고 연속적으로 이루어질 수 있도록 하며, 이들 사이에 적절한 인터페이스가 이루어지도록 하는 비디오 디코딩 시스템을 제공함에 있다.
본 발명의 다른 목적은 고속의 인터페이스가 가능한 동기식 DRAM(SDRAM)을 외부 메모리로 사용하며, 여러 블록에서 요청하는 메모리 요구를 효율적으로 관리하여 메모리의 억세스 속도를 높이는 비디오 디코딩 시스템을 제공함에 있다.
본 발명의 또다른 목적은 움직임 보상을 위한 메모리 억세스시 최소한의 시간이 걸리도록 메모리를 할당하는 비디오 디코딩 시스템을 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 비디오 디코딩 시스템은 비디오 비트스트림의 압축 방식에 따라 처리하는 시간을 조절할 수 있도록 설계된 VLD와 IQ, IS IDCT, 움직임 보상부를 갖음을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 IQ부는 VLD이후 런-레벨 디코딩없이 바로 IQ를 수행함에 의해 0에 대해서는 IQ를 수행하지 않음을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 역스캔부는 IQ된 DCT 계수를 메모리에 저장하면서 VLD에서 보내준 계수들의 위치정보를 이용하여 병렬로 구성된 계수 메모리의 쓰기 어드레스를 발생하여 역스캔을 수행함과 동시에 시리얼 데이타를 병렬 데이타로 변환함을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 역스캔부는 각 블록당 64개의 계수를 발생시키기 위해 각 블록의 0이 아닌 계수를 메모리에 쓰기 전에 메모리의 모든 내용을 0으로 채워 놓은 후 0이 아닌 계수만 라이트함에 의해 출력으로 0이 삽입된 64개의 계수를 모두 발생시킬 수 있음을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 하프-펠 예측부는 SDRAM에서 병렬로 입력된 데이터를 움직임 벡터에 따라서 병렬로 수직 수평 방향의 하프-펠 보간을 수행함을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 움직임 보상부는 움직임 보상을 하기 위하여 필요한 데이터를 SDRAM에서 읽어와 저장하기 위한 기준 버퍼를 전방향, 후방향으로 분리하여 구성하고 읽기와 쓰기 어드레스를 매크로 블록의 움직임 보상 타입과 DCT 타입에 맞게 조절하여 IDCT에서 출력되는 데이터의 순서로 맞추어 줌을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 디스플레이부는 매크로 블록 단위로 출력하며 디코딩되는 픽쳐가 I나 P일때는 현재 완전한 영상으로 복원된 데이터를 출력하고 B일때는 이전에 디코딩되어 프레임 메모리에 저장되었던 픽쳐를 출력함을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 메모리 제어부는 VLD와 움직임 보상, 디스플레이를 위한 데이터를 SDRAM에 쓰거나 읽을 수 있도록 SDRAM을 제어해주며 디코딩을 하는 각 부분이 효율적으로 디코딩할 수 있도록 메모리 억세스 순서를 정해줌을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 SDRAM은 비디오 비트스트림을 저장하기 위한 부분과 2개의 프레임을 저장하기 위한 부분으로 나누어 사용하고, 프레임 메모리는 2개의 뱅크로 구성하는데 위, 아래 슬라이스가 서로 다른 뱅크 어드레스를 가지도록 할당하며, 짝수 슬라이스의 데이터는 짝수 뱅크에, 홀수 슬라이스의 데이터는 홀수 뱅크에 저장함을 특징으로 한다.
본 발명에 따른 비디오 디코딩 시스템의 메모리 제어부는 주기적으로 SDRAM을 리프레시하여 주면서 그때마다 모드 레지스터를 설정해줌으로써 SDRAM이 안정하게 동작할 수 있도록 함을 특징으로 한다.
도 1은 일반적인 비디오 디코딩 시스템의 구성 블록도
도 2는 본 발명에 따른 비디오 디코딩 시스템의 구성 블록도
도면의 주요부분에 대한 부호의 설명
101 : 호스트 인터페이스 102 : VLD 제어부
103 : 유저 인터페이스 버퍼 104 : VLD
105 : 역 양자화부 106 : 역 스캔부
107 : IDCT 입력 보정부 108 : IDCT부
109 : 가산기 110 : 멀티플렉서
111 : 비트스트림 버퍼 112 : VLD 입력 버퍼
113 : VLD 버퍼 제어부 114 : 매크로블록 어드레스 발생부
115 : PMV 디코더 116 : 기준 어드레스 발생부
117 : 하프-펠 예측부 119,120 : 기준 버퍼
121 : 보간부 122 : 저장 어드레스 발생부
123 : 저장 버퍼 124 : 메모리 제어부
125∼128 : SDRAM
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.
도 2는 본 발명에 따른 비디오 디코딩 시스템의 구성 블록도로서, 입력된 비디오 비트스트림(Bi)을 일시 저장하는 비트스트림 버퍼(111), 상기 비트스트림 버퍼(111)의 데이터를 메모리 제어부(124)를 통해 SDRAM(125∼128)에 쓰고, SDRAM(125∼128)에 저장된 비트스트림을 읽어오는 VLD 버퍼 제어부(113), 상기 VLD 버퍼 제어부(113)를 통해 입력되는 데이터를 일시 저장하는 VLD 입력 버퍼(112), 상기 VLD 입력 버퍼(112)에서 출력되는 비트스트림에 대해 MPEG2 신택스에 따라 가변길이 디코딩을 수행하는 VLD(104), 상기 VLD(104)에서 디코딩된 데이터중 유저 데이터를 저장하는 유저 데이터 버퍼(103), 상기 VLD(104)에서 디코딩된 데이터중 DCT 계수와 그 계수의 DCT 블록 상의 위치정보를 입력받아 역 양자화하는 IQ부(105), 상기 VLD(104)에서 디코딩된 데이터중 매크로블록 어드레스를 입력받아 SRAM(125∼128)에 저장할 데이터의 어드레스를 발생시키는 매크로블록 어드레스 발생부(114), 상기 VLD(104)에서 디코딩된 데이터중 움직임 벡터 코드를 입력받아 움직임 벡터를 디코딩하는 PMV 디코더(115), 외부에서 디스플레이 동기(Display Sync ; ds)를 받아들여 픽쳐를 디코딩하는 시점을 결정하며, 호스트 인터페이스부(101)를 통하여 설정된 레지스터의 값에 따라서 VLD부(104)를 제어하는 VLD 제어부(102)로 구성된다. 또한, 상기 매크로블록 어드레스 발생부(114)에서 발생된 현재의 매크로블록의 어드레스와 움직임 벡터를 이용하여 움직임 보상에 필요한 SDRAM 어드레스를 발생시키는 기준 어드레스 발생부(116), 상기 역양자화된 데이터를 병렬로변환함과 동시에 역스캔을 수행하는 역스캔부(106), SDRAM에서 읽어온 기준 데이터 중에서 실제로 움직임 보상에 필요한 데이터를 계산하여 뽑아내는 하프-펠 예측부(117), 하프-펠 예측된 데이터를 저장하는 제 1, 제 2 기준 버퍼(119,120), 움직임 보상 타입에 따라 제 1, 제 2 기준 버퍼(119,120)에서 데이터를 읽어 처리하는 보간부(121), IDCT부(108)에서 출력되는 데이터와 보간부(121)에서 출력되는 데이터를 병렬로 더하여 완전한 영상으로 복원하는 가산기(109), 픽쳐 타입에 따라서 가산기(109) 또는 제 2 기준 버퍼(120)의 값을 선택 출력하는 출력 멀티플렉서(110), B 픽쳐 타입일때는 사용되지 않고 I나 P 픽쳐 타입일 때 디코딩된 데이터를 다시 프레임 메모리에 저장하기 위해 가산기(109)의 출력을 일시 저장시키는 저장 버퍼(123), 매크로 블록 어드레스에 따라 디코딩된 매크로블록을 저장할 SDRAM의 어드레스를 발생시키는 저장 어드레스 발생부(122)로 구성된다. 여기서, 외부 메모리는 DRAM 대신 고속의 메모리 억세스가 가능한 SDRAM(Synchronous DRAM)을 사용한다. 이때, 상기 SDRAM은 필요한 메모리 밴드폭(band width)을 얻기위해 SDRAM 4개(125∼128)를 병렬로 사용하며, 메모리 제어부(124)는 정해진 우선권에 의해 SDRAM의 데이터의 입/출력을 제어하여 메모리 버스를 제어한다.
이와같이 구성된 본 발명에서 입력된 비디오 비트스트림(Bi)은 비트스트림 버퍼(111)에 일시 저장되었다가 VLD 버퍼 제어부(113)를 통해 SDRAM(125∼128)에 쓰여진다. SDRAM(125∼128)에 저장된 비트스트림은 VLD 버퍼 제어부(113)에 의해서 읽혀져서 VLD 입력 버퍼(112)에 일시 저장된다. 이때 VLD 버퍼 제어부(113)는 SDRAM(125∼128)에 저장된 비트스트림의 양을 써 넣은 양과 읽은 양을 비교하여 계산한다.
VLD부(104)는 VLD 입력 버퍼(112)로부터 비트스트림을 읽어 MPEG2 신택스에 따라 디코딩을 한다. 디코딩된 데이터중 유저 데이터(Udi)는 유저 데이터 버퍼(103)에 저장한다.
그리고, VLD된 데이터 중 매크로 블록 어드레스(mba)는 매크로 블록 어드레스 발생부(114)로 출력하고, DCT 계수(Qc)는 그 계수의 DCT 블록 상의 위치정보와 함께 IQ부(105)로 출력한다. 또한, 움직임 벡터를 디코딩하는데 사용되는 움직임 벡터 코드(Mv_code)는 PMV 디코더(115)로 출력한다.
VLD 제어부(102)는 외부에서 디스플레이 동기(Display Sync ; sd)를 받아들여 픽쳐를 디코딩하는 시점을 결정하며, 호스트 인터페이스부(101)를 통하여 설정된 레지스터의 값에 따라서 VLD부(104)를 제어해준다. 또한 VLD부(104) 내부의 레지스터 값을 읽어서 호스트 인터페이스부(101)로 출력해주기도 한다.
호스트 인터페이스부(101)는 비디오 디코더 내부의 신호를 외부의 마이크로 프로세서와 인터페이스(Rbus)하기 위한 부분으로서 내부의 신호를 외부의 버스의 프로토콜에 맞게 변환하여 준다.
상기 IQ부(105)는 VLD부(104)로부터 입력되는 DCT 계수에 양자화 매트릭스와 양자화 스케일을 곱해주는데, VLD부(104)에서는 0이 아닌 계수를 출력해주며 그 계수가 매크로 블록의 몇번째 블록인지와 DCT 블록상에서 어느 위치의 계수인지를 알려줄 수 있는 위치 정보를 보내준다. 즉, 상기 VLD(104)는 런-레벨 코드쌍을 디코딩하는 런-레벨 디코딩은 수행하지 않은 채 DCT 계수와 그 계수의 위치 정보만을IQ부(105)로 출력한다. 또한 양자화 매트릭스와 양자화 스케일값도 VLD부(104)로부터 받아서 역야아화하는데 이용한다. 이때, 상기 양자화 스케일 값은 64개의 계수에 대해 동일하게 곱해지지만 양자화 매트릭스 값은 DCT 계수의 8×8상의 위치에 따라 곱해주는 값이 다르므로 위치정보를 보고 양자화 매트릭스에서 그 위치의 가중치를 읽어내어 DCT 계수와 곱해준다. 따라서, IQ부(105)는 클럭이 낮아져도 동작이 가능하게 된다.
PMV 디코더(115)는 VLD부(104)로부터 받은 움직임 벡터 코드(Mv_code)를 이용하여 움직임 벡터를 디코딩한 후 기준 어드레스 발생부(116)로 출력하고, 매크로블럭 어드레스 발생부(114)는 VLD부(104)로부터 각 매크로블록의 어드레스(mba)를 입력받아서 움직임 보상부에서 사용할 어드레스(mbao)를 발생하여 준다. 이때, 상기 VLD부(104)로부터 입력되는 매크로블록의 어드레스는 바로 이전의 매크로블록의 어드레스보다 항상 1씩 증가하는 것이 아니라 매크로블록 스킵(Macroblock Skip)일 경우에는 스킵되는 매크로블록의 수만큼 증가하므로 스킵되는 매크로블록의 어드레스를 자동적으로 발생하여 주어야 한다. 그리고, 비트스트림에 오류가 발생하여 많은 매크로블록이나 여러 개의 슬라이스가 손실되었을때에도 그것에 해당하는 매크로 블록의 수만큼 어드레스를 발생시켜 주어야 한다. 즉, 비디오 비트스트림에서 오류가 발생할 경우 이것이 화면상에 나타나지 않게 에러 감추기를 수행한다.
기준 어드레스 발생부(116)는 현재의 매크로블록의 어드레스와 움직임 벡터를 이용하여 움직임 보상에 필요한 기준 블록을 SDRAM(125∼128)에서 읽어오는데 필요한 SDRAM 어드레스(Ar)를 발생시켜 준다. 이 블록에서는 휘도 신호와 색신호에대해서 각기 다른 어드레스를 발생시켜주며 특히 움직임 보상의 종류에 따라 어드레스의 발생 순서 및 그 값을 다르게 발생시켜 준다.
역스캔부(106)는 시리얼로 입력되는 0이 아닌 DCT 계수(Csi)를 내부 메모리에 저장하는 과정에서 각 계수의 위치 정보를 메모리의 라이트 어드레스로 변환해주는데, 변환하는 방법은 더블 버퍼링 방식이다. 예컨대, 스캔 방식에 따라 다르게 발생시켜 주고 다른 메모리의 위치에 계수를 써주고, 읽을때는 한가지 방법으로 읽음으로써 두 가지 방식의 역스캔을 수행할 수 있다. 또한, 입력되는 계수에는 0이 아닌 계수만 있으나 IDCT부(108)로 출력되는 계수는 각 블록당 64개의 계수를 입력해주어야 하므로 각 블록에서 입력되지 않은 위치의 계수들은 0으로 강제로 만들어주기 위해서 계수를 쓰기 전에 SDRAM의 모든 내용을 0으로 초기화한 후 입력된 계수를 써주고 읽을때는 메모리의 모든 내용을 읽으면 자동적으로 0이 삽입되도록 한다. 그러면, 별도의 0을 채우는 시간이 필요없게 된다.
또한, 여러개의 메모리를 병렬로 구성하여 계수를 쓸때는 하나씩 쓰지만 읽을때는 동시에 읽게 하면 시리얼로 입력된 계수를 병렬로 출력할 수 있으므로 IDCT부(108)부터 움직임 보상 부분에서는 병렬로 처리할 수 있고, 따라서 원하는 처리 속도를 얻을 수 있다.
그리고, IDCT 입력 보정부(107)는 엔코더의 DCT와 디코더의 IDCT가 맞지 않는 경우에 에러가 계속 누적되는 것을 방지하는데, 이러한 불일치 제어를 병렬로 수행하므로 IDCT부(108)의 처리 속도를 높일 수 있다.
하프-펠 예측부(117)는 기준 어드레스 발생부(116)를 통해 출력되는 움직임벡터 값(mvr)에 따라 SDRAM(125∼128)에서 읽혀진 기준 데이터(Hi)중에서 실제로 움직임 보상에 필요한 데이터를 계산하여 뽑아내는 역할을 한다. SDRAM(125∼128)의 데이터 버스는 한 클럭에 8 바이트, 즉, 64비트를 출력하므로 이중에서 움직임 벡터의 값에 해당하는 만큼 이동하여 필요한 데이터를 골라내고 움직임 벡터의 하프-펠 정보에 따라 수직 또는 수평 방향의 보간을 하여 제 1, 제 2 기준 버퍼(119,120)에 저장한다. 이때, 하프-펠 예측부(117)를 SDRAM과 제 1, 제 2 기준 버퍼(119,120) 사이에 구성시킴으로써, 제 1, 제 2 기준 버퍼(119,120)의 메모리 사이즈를 줄일 수 있다. 하프-펠 예측시 8개의 픽셀을 수평 보간하는 경우에는 비교를 위해 9개의 픽셀이 필요하고, 수직 보간시에는 라인 수도 하나 증가한다. 그런데, 하프-펠 예측부(117)에서 하프-펠 보간 후 제 1, 제 2 기준 버퍼(119,120)에 저장하므로 비교를 위한 필요했던 픽셀과 라인이 줄어들어 당연히 버퍼 사이즈가 줄게된다.
즉, 하프-펠 예측부(117)에서 출력되는 데이터는 제 1, 제 2 기준 버퍼(119,120)에 8 바이트씩 저장되며 저장되는 어드레스는 움직임 보상의 타입과 DCT 타입에 맞게 발생되어 보간부(121)에서 읽어낼 때 IDCT부(108)의 출력의 데이터 순서와 쉽게 맞출 수 있도록 하였다. 따라서, 기존 IDCT부(108) 뒤에 있던 버퍼(DCT 타입에 맞게 출력하기 위하여)가 필요없게 된다.
제 1, 제 2 기준 버퍼(119,120)는 움직임 보상을 위해 필요한 기준 데이터와 디스플레이부로 출력될 데이터를 저장하기 위한 메모리로서, 순방향 기준 데이터를 저장하기 위한 제1 기준 버퍼(119)와 후방향 기준 데이터와 디스플레이 데이터를저장하기 위한 제 2 기준 버퍼(120)로 구성되어 있다. 양방향 움직임 보상일 경우(B 픽쳐)에는 제 1, 제 2 기준 버퍼(119,120)에서 동시에 같은 어드레스의 내용을 읽어서 보간부(121)로 입력되고 I나 P 픽쳐일 경우는 제 1 버퍼(119)의 출력 데이터(Fo)는 보간부(121)로 입력되고 제 2 버퍼(120)의 데이터(BDo)는 VDP로 출력되기 위해서 출력 멀티플렉서(110)로 출력된다.
상기 보간부(121)는 움직임 보상 타입에 따라 제 1, 제 2 기준 버퍼(119,120)에서 데이터(Fo,BDo)를 읽어 처리하여 가산기(109)로 출력하는데, 양방향 움직임 보상일 경우는 제 1 기준 버퍼(119)와 제 2 기준 버퍼(120)에서 데이터를 읽어와 두 데이터의 보간을 병렬로 처리하여 출력하고, 움직임 보상의 타입이 전방향일 경우는 제 1 기준 버퍼(119)에서만 데이터를 읽고, 후방향 일경우는 제 2 기준 버퍼(120)에서만 데이터를 읽어와 보간을 수행한다.
가산기(109)는 상기 IDCT부(108)에서 출력되는 데이터(Io)와 보간부(121)에서 출력되는 데이터를 병렬로 더해서 출력 멀티플렉서(110)나 저장 버퍼(123)로 출력한다.
상기 출력 멀티플렉서(110)는 픽쳐 타입에 따라서 입력을 선택하여 출력하여 주는데, 출력 형식은 매크로 블록이다. 픽쳐 타입이 B 픽쳐일때는 가산기(109)에서 출력되는 데이터(Ao)를 선택하고 I나 P 픽쳐일때는 제 2 기준 버퍼(120)에서 출력되는 데이터(BDo)를 선택하여 출력함으로써 프레임 재배열(Reordering) 기능도 수행한다. 또한, VDP에서 데이터를 요구하지 않을 경우 데이터를 출력하기 위한 기다림(Wait) 신호를 입력받는다.
그리고, 저장 버퍼(123)는 B 픽쳐 타입일때는 사용되지 않고 I나 P 픽쳐 타입일 때 디코딩된 데이터를 다시 프레임 메모리에 저장하기 위해 일시 저장시키기 위해 사용된다. 저장 어드레스 발생부(122)는 매크로 블록 어드레스에 따라 디코딩된 매크로블록을 저장할 SDRAM의 어드레스를 발생시켜준다.
또한, 상기 메모리 제어부(124)는 동시에 메모리 요구 신호가 입력되었을 경우에 가장 시급한 것에 우선권을 주고 그 다음에는 발생 빈도가 낮은 요구 신호에 대해서 우선권을 주었다.
즉, 비디오 디코더는 입력되는 비트스트림을 받아서 메모리에 저장한 후 읽어서 디코딩을 한다. 그리고 입력되는 비트스트림은 멈출수가 없기 때문에 이것에 대한 처리를 제시간에 해주지 않으면 데이터의 손실을 가져오므로 메모리 요구중에 가장 우선권을 주어야 한다. 한편, 기준 어드레스 발생부(116)는 움직임 보상을 위한 데이터뿐만 아니라 디스플레이될 데이터를 위한 메모리 요구도 병행하는데, 이때 디스플레이될 데이터는 일정한 주기로 출력되어야 하므로 그 다음의 우선권을 주었고 비디오 비트스트림을 읽어서 디코딩하는 VLD(104)에서 필요한 데이터는 압축되어 있는 데이터로서, 양이 크지가 않아 가끔씩 발생하게 되므로 그 다음 우선권을 주었다. 그리고 가장 우선권이 낮은 메모리 요구는 움직임 보상을 위해 필요한 메모리 요구이다. 움직임 보상을 위해 사용되는 데이터는 데이터 양이 많고 자주 발생하며 조금 지연되어도 큰 문제가 없으므로 우선권이 제일 낮다.
이와 같이 우선권을 부여함으로써 메모리 요구를 처리 못함으로 인하여 발생하는 디코딩 속도의 저하등의 문제를 해결할 수 있다.
또한, 메모리 제어부(124)는 주기적으로 SDRAM을 리프레시하여 주면서 그때마다 모드 레지스터를 설정해줌으로써 SDRAM이 안정하게 동작할 수 있도록 한다.
한편, SDRAM(125∼128)은 비디오 비트스트림을 저장하기 위한 부분과 2개의 프레임을 저장하기 위한 부분으로 나누어 사용하고, 프레임 메모리는 두 개의 뱅크로 구성하는데 위, 아래 슬라이스가 서로 다른 뱅크 어드레스를 가지도록 하며, 짝수 슬라이스의 데이터는 짝수 뱅크에, 홀수 슬라이스의 데이터는 홀수 뱅크에 저장한다. 그리고, 움직임 보상을 위한 데이터를 SDRAM으로부터 읽어올 때 두 슬라이스에 걸쳐 있는 데이터를 SDRAM의 인터리빙 억세스 방법에 의해 읽음으로써, 메모리 억세스 시간을 단축할 수 있다.
이와같이 본 발명에 의한 비디오 디코딩 시스템을 HDTV 및 디지털 TV 수신기의 IC를 설계하는데 사용되면 큰 효과를 볼 수 있다.
이상에서와 같이 본 발명에 따른 비디오 디코딩 시스템에 의하면, VLD는 낮은 속도에서 동작시키면서도 IQ/역스캔/IDCT등의 고속 처리가 가능하도록 함으로써, 일반적인 방법으로 이를 구현하였을 때보다 많은 회로의 감축과 적절한 클럭에서 구현하는 것이 가능하므로 원칩이 가능하면서, 데이터의 처리 양과 속도가 많이 요구되는 HDTV 비디오 디코더에 적용할 수 있다.
즉, VLD 이후에, 디코딩된 계수의 런 레벨에 대해 런-레벨 디코더를 이용하여 0을 발생시키지 않고 주어진 런으로부터 디코딩된 계수의 8×8 블록상의 위치 정보를 찾아 IQ를 수행함으로써, 0에 대한 IQ를 하지 않아도 되므로 낮은 클럭에서의 동작이 가능하면서 처리시간을 줄일 수 있다.
또한, IQ된 DCT 계수를 메모리에 저장하면서 VLD에서 보내준 계수들의 위치정보를 이용하여 병렬로 구성된 계수 메모리의 쓰기 어드레스를 발생하여 줌으로써, 역스캔을 수행하면서 동시에 시리얼 데이타를 병렬 데이타로 변환할 수 있으므로 클럭의 속도를 낮출 수 있으며, 각 블록당 64개의 계수를 발생시키기 위해 각 블록의 0이 아닌 계수를 메모리에 쓰기 전에 메모리의 모든 내용을 0으로 채워 놓음으로써, 0이 아닌 계수만 쓰고도 출력으로 0이 삽입된 64개의 계수를 모두 발생시킬 수 있으면서 처리속도를 높일 수 있다. 즉, 역스캔 이후의 블록들 예컨대, IDCT나 움직임 보상등이 병렬로 수행되므로 고속 처리가 가능하게 된다.
그리고, 메모리 제어부는 VLD 전의 비트스트림 라이트, 디스플레이를 위한 데이터 리드, VLD를 위한 데이타 리드, 움직임 보상된 데이터의 라이트, 움직임 보상을 위한 데이터 리드 순서로 응답하는 우선권을 줌으로써, 메모리 억세스를 효율적으로 수행하여 외부 메모리와의 인터페이싱 속도가 빨라지므로 역시 비디오 디코딩을 고속으로 수행할 수 있다. 또한, 주기적으로 SDRAM을 리프레시하여 주면서 그때마다 모드 레지스터를 설정해줌으로써 SDRAM을 안정하게 동작시킬 수 있다.
또한, 프레임 메모리로 SDRAM 할당시 위, 아래 슬라이스가 서로 다른 뱅크 어드레스를 가지도록 하며, 움직임 보상을 위한 데이터를 SDRAM으로부터 읽어올 때 두 슬라이스에 걸쳐 있는 데이터를 SDRAM의 인터리빙 억세스 방법에 의해 읽음으로써, 메모리 억세스 효율을 높여 HDTV 디코딩을 하기 위해 필요한 속도를 얻을 수 있다.
그리고, SDRAM에서 병렬로 입력된 데이터를 움직임 벡터에 따라서 병렬로 수직 수평 방향의 하프-펠 보간을 수행한 후 버퍼에 저장하도록 함으로써, 비교를 위해 필요했던 픽셀, 라인등이 제거된 후 버퍼에 저장되므로 버퍼의 사이즈를 줄일 수 있다.
또한, 움직임 보상을 하기 위하여 필요한 데이터를 SDRAM에서 읽어와 저장하기 위한 기준 버퍼는 전방향, 후방향으로 분리하여 구성하고 읽기와 쓰기 어드레스를 매크로 블록의 움직임 보상 타입과 DCT 타입에 맞게 조절하여 IDCT에서 출력되는 데이터의 순서로 맞추어 줌으로써, IDCT된 데이터를 DCT 타입에 맞게 출력시키기 위한 버퍼를 없앨 수 있다.
또한, 비디오 디코더의 출력은 매크로 블록 단위로 출력하며 디코딩되는 픽쳐가 I나 P일때는 가산기의 결과를 출력하고 B일때는 이전에 디코딩되어 프레임 메모리에 저장되었던 픽쳐를 출력하도록 함으로써, 자동으로 데이터 재배열이 수행된다.

Claims (10)

  1. 고화질을 위한 비디오 디코딩 시스템에 있어서,
    전송되는 비디오 비트스트림을 입력받아 가변 길이 디코딩하고 디코딩된 데이터중 DCT 블록상의 DCT 계수 위치정보를 구하는 가변 길이 디코딩부와;
    상기 가변 길이 디코딩부에서 출력되는 위치 정보에 해당하는 양자화 매트릭스와 양자화 스텝을 결정하는 양자화 레벨 그리고, DCT 계수를 곱하여 역 양자화를 수행하는 역 양자화부와;
    다수개의 메모리로 구성되어 상기 역 양자화부에서 역 양자화되어 시리얼로 출력되는 DCT 계수의 역스캔을 수행하면서 동시에 병렬로 변환하여 출력하는 역스캔부와;
    상기 역스캔부에서 병렬로 출력되는 DCT 계수를 역 이산 코사인 변환하는 역이산 코사인 변환부와;
    비트 스트림의 라이트와 리드, 움직임 보상을 위한 데이터 리드, 디코딩된 데이터의 라이트, 디스플레이될 데이터의 리드를 위한 프레임 메모리와;
    상기 프레임 메모리의 라이트/리드를 제어하며 상기 각 블록으로부터의 요청 신호에 대해 정해진 순서대로 우선권을 부여하는 메모리 제어부와;
    상기 가변 길이 디코딩부로부터 움직임 벡터를 입력받아 디코딩하고, 상기 가변 길이 디코딩부로부터 출력되는 매크로블록 어드레스에 해당하는 기준 매크로블록을 상기 메모리로부터 읽어와 디코딩된 움직임 벡터에 따라 하프 펠 예측을 수행한 후 픽쳐 타입에 따른 보간을 수행하는 움직임 보상부와;
    상기 역 이산 코사인 변환부의 출력과 움직임 보상부의 출력을 더하여 완전한 화상으로 복원한 후 출력하는 디스플레이부를 포함하여 구성됨을 특징으로 하는 비디오 디코딩 시스템.
  2. 제 1 항에 있어서, 상기 역 스캔부는
    다수개의 메모리로 구성되어 데이터와 쓰기 어드레스는 상기 다수개의 메모리에 모두 공통으로 제공하고 쓰기 인에이블 신호는 메모리마다 다르게 제공하여 입력되는 데이터를 선택적으로 메모리에 쓸 수 있게 하고, 읽기 어드레스와 읽기 인에이블 신호는 상기 다수개의 메모리에 공통으로 제공하여 다수개의 메모리에서 데이터를 동시에 읽음을 특징으로 하는 비디오 디코딩 시스템.
  3. 제 2 항에 있어서, 상기 역 스캔부는
    상기 메모리에 계수를 쓰기 전에 메모리의 모든 내용을 0으로 초기화한 후 0이 아닌 입력된 계수를 써주고 읽을때는 메모리의 모든 내용을 읽으면 0을 삽입시킴으로써 다시 0으로 초기화하는 시간을 없앨수 있는 것을 특징으로 하는 비디오 디코딩 시스템.
  4. 제 1 항에 있어서, 상기 메모리 제어부는
    가변 길이 디코딩을 위한 비트스트림 라이트, 디스플레이를 위한 데이터 리드, 가변 길이 디코딩을 위한 비트스트림 리드, 움직임 보상된 데이터의 라이트, 움직임 보상을 위한 데이터 리드의 순서로 응답하는 우선권을 각 블록에 줌을 특징으로 하는 비디오 디코딩 시스템.
  5. 제 1 항에 있어서, 상기 프레임 메모리는
    동기 디램(SDRAM) 할당시 위, 아래 슬라이스가 서로 다른 뱅크 어드레스를 가지도록 할당함을 특징으로 하는 비디오 디코딩 시스템.
  6. 제 5 항에 있어서, 상기 메모리 제어부는
    움직임 보상을 위한 데이터를 상기 메모리로부터 읽어올 때 아래, 위 두 슬라이스에 걸쳐 있는 데이터를 메모리의 인터리빙 억세스 방법에 의해 읽어오도록 신호를 발생함을 특징으로 하는 비디오 디코딩 시스템.
  7. 제 1 항에 있어서, 상기 움직임 보상부는
    상기 가변 길이 디코딩부로부터 출력되는 움직임 벡터 코드를 디코딩하는 움직임 벡터 디코더와,
    상기 가변 길이 디코딩부로부터 각 매크로블록의 어드레스를 입력받아서 움직임 보상에 사용할 어드레스를 발생하는 매크로블럭 어드레스 발생부와,
    상기 매크로블록 어드레스 발생부에서 발생된 현재의 매크로블록 어드레스와 디코딩된 움직임 벡터를 이용하여 움직임 보상에 필요한 기준 블록을 상기 프레임메모리로부터 읽어오기 위하여 메모리 어드레스를 발생시키는 기준 어드레스 발생부와,
    상기 기준 어드레스 발생부에서 발생된 어드레스의 데이터를 상기 프레임 메모리로부터 리드한 후 디코딩된 움직임 벡터값에 따라 수평, 수직 방향의 하프-펠 예측을 수행하는 하프-펠 예측부와,
    상기 하프-펠 예측부에서 출력되는 순방향 기준 데이터를 저장하는 제 1 기준 버퍼와,
    상기 하프-펠 예측부에서 출력되는 후방향 기준 데이터와 디스플레이 데이터를 저장하는 제 1 기준 버퍼와,
    양방향 움직임 보상일 경우에는 제 1, 제 2 기준 버퍼에서 동시에 같은 어드레스의 내용을 읽어와 두 데이터의 보간을 병렬로 처리하고, 전방향일 경우는 제 1 기준 버퍼에서만 데이터를 읽고, 후방향 일경우는 제 2 기준 버퍼에서만 데이터를 읽어와 보간을 수행한 후 역 이산 코사인 변환된 데이터와 더하기 위해 출력하는 보간부로 구성됨을 특징으로 하는 비디오 디코딩 시스템.
  8. 제 7 항에 있어서,
    상기 하프-펠 예측부에서 출력되는 데이터는 제 1, 제 2 기준 버퍼에 저장되는데, 저장되는 어드레스는 움직임 보상의 타입과 DCT 타입에 맞게 발생되어 상기 보간부에서 읽어낼 때 역 이산 코사인 변환부의 출력의 데이터 순서와 맞추도록 함을 특징으로 하는 비디오 디코딩 시스템.
  9. 제 1 항에 있어서, 상기 디스플레이부는
    상기 역 이산 코사인 변환된 데이터와 보간부에서 출력되는 데이터를 병렬로 더해서 완전한 영상으로 복원하는 가산기와,
    픽쳐 타입이 B 픽쳐일때는 상기 가산기에서 출력되는 데이터를 선택하고 I나 P 픽쳐일때는 제 2 기준 버퍼에서 출력되는 데이터를 선택하여 출력하는 멀티플렉서와,
    I나 P 픽쳐 타입일 때 가산기에서 출력되는 데이터를 일시 저장하는 저장 버퍼와,
    매크로 블록 어드레스에 따라 상기 저장 버퍼에 저장된 매크로블록을 저장할 프레임 메모리의 어드레스를 발생시키는 저장 어드레스 발생부로 구성됨을 특징으로 하는 비디오 디코딩 시스템.
  10. 제 1 항에 있어서, 상기 메모리 제어부는
    주기적으로 프레임 메모리를 리프레시하여 주면서 그때마다 모드 레지스터를 설정해줌을 특징으로 하는 비디오 디코딩 시스템.
KR1019980002941A 1998-02-03 1998-02-03 비디오디코딩시스템 KR100298397B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980002941A KR100298397B1 (ko) 1998-02-03 1998-02-03 비디오디코딩시스템
US09/240,886 US6525783B1 (en) 1998-02-03 1999-02-01 Video decoding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980002941A KR100298397B1 (ko) 1998-02-03 1998-02-03 비디오디코딩시스템

Publications (2)

Publication Number Publication Date
KR19990068991A KR19990068991A (ko) 1999-09-06
KR100298397B1 true KR100298397B1 (ko) 2001-08-07

Family

ID=19532412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980002941A KR100298397B1 (ko) 1998-02-03 1998-02-03 비디오디코딩시스템

Country Status (2)

Country Link
US (1) US6525783B1 (ko)
KR (1) KR100298397B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100644556B1 (ko) * 1999-06-07 2006-11-13 삼성전자주식회사 고속 역이산코사인변환 장치
US7471298B1 (en) * 2000-06-26 2008-12-30 S3 Graphics Co., Ltd. Fetching pixel data with reduced memory bandwidth requirement
US6674552B1 (en) * 2000-11-13 2004-01-06 Umax Data Systems, Inc. Scanner having synchronization dynamic random access memory scanner and its related memory access method
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7190724B2 (en) * 2002-04-12 2007-03-13 Seiko Epson Corporation Method and apparatus for transform domain video processing
KR100522595B1 (ko) * 2002-11-29 2005-10-19 삼성전자주식회사 엠펙 비디오 복호화방법 및 엠펙 비디오 복호화기
US7519115B2 (en) * 2003-03-31 2009-04-14 Duma Video, Inc. Video compression method and apparatus
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
KR100674941B1 (ko) * 2005-01-13 2007-01-26 삼성전자주식회사 내용 적응 가변 길이 부호화 장치 및 방법
US7864858B2 (en) * 2004-07-06 2011-01-04 Magnum Semiconductor, Inc. Techniques for minimizing memory bandwidth used for motion compensation
TWI266539B (en) * 2005-01-13 2006-11-11 Via Tech Inc Decoding device with multi-buffers
JP2007053554A (ja) * 2005-08-17 2007-03-01 Sony Corp 符号化装置、符号化方法、復号装置、復号方法およびプログラム
JP5008431B2 (ja) * 2007-03-15 2012-08-22 キヤノン株式会社 画像処理装置及び画像処理方法
KR101568708B1 (ko) * 2007-09-02 2015-11-12 엘지전자 주식회사 비디오 신호처리 방법 및 장치
JP5106039B2 (ja) * 2007-10-24 2012-12-26 パナソニック株式会社 画像音声同期再生装置
US8208745B2 (en) * 2008-01-31 2012-06-26 Analog Devices, Inc. Spatial domain video enhancement/scaling system and method
JP2010081024A (ja) * 2008-09-24 2010-04-08 Oki Semiconductor Co Ltd 画像補間処理装置
US20120293731A1 (en) * 2009-11-24 2012-11-22 Tsvetkov Mikhail S Displaying Decompressed Pictures on Liquid Crystal Displays in Macroblock Raster Scan Order

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256348B1 (en) * 1996-08-30 2001-07-03 Texas Instruments Incorporated Reduced memory MPEG video decoder circuits and methods
US6067321A (en) * 1997-04-03 2000-05-23 Lsi Logic Corporation Method and apparatus for two-row macroblock decoding to improve caching efficiency
US6111913A (en) * 1997-05-20 2000-08-29 International Business Machines Corporation Macroblock bit regulation schemes for video encoder
US5963222A (en) * 1997-10-27 1999-10-05 International Business Machines Corporation Multi-format reduced memory MPEG decoder with hybrid memory address generation
KR100282389B1 (ko) * 1997-12-31 2001-02-15 구자홍 에이치디티브이 비디오 디코더의 메모리 제어 방법

Also Published As

Publication number Publication date
US6525783B1 (en) 2003-02-25
KR19990068991A (ko) 1999-09-06

Similar Documents

Publication Publication Date Title
KR100298397B1 (ko) 비디오디코딩시스템
KR100376607B1 (ko) 통합 비디오 디코딩 시스템 및 그를 이용한 비디오 데이터의 인코딩 스트림 처리 방법과, 비디오 디코딩 시스템의 프레임 버퍼 할당 방법과, 기록 매체
US7773676B2 (en) Video decoding system with external memory rearranging on a field or frames basis
JP4588122B2 (ja) Mpegデコーダにおけるインタリーブされたデータストリームの並列復号
US6917652B2 (en) Device and method for decoding video signal
US5870087A (en) MPEG decoder system and method having a unified memory for transport decode and system controller functions
US8687706B2 (en) Memory word array organization and prediction combination for memory access
US5880786A (en) Apparatus for picture decoding having frame memories commonly connected to one data bus and one address bus
KR100504471B1 (ko) 비디오 디코딩 시스템
WO2009133671A1 (ja) ビデオ符号化・復号化装置
US6442206B1 (en) Anti-flicker logic for MPEG video decoder with integrated scaling and display functions
JP2005510981A (ja) 複数チャネル・ビデオトランスコーディング・システムおよび方法
KR20070092708A (ko) 로컬 매크로블록 정보 버퍼
KR100282389B1 (ko) 에이치디티브이 비디오 디코더의 메모리 제어 방법
US6188727B1 (en) Simplicity HDTV video decoder and its decoding method
KR100249235B1 (ko) 에이치디티브이 비디오 디코더
Winzker et al. Architecture and memory requirements for stand-alone and hierarchical MPEG2 HDTV-decoders with synchronous DRAMs
US20030123555A1 (en) Video decoding system and memory interface apparatus
JP3078990B2 (ja) 低遅延モード画像復号方法
KR100269426B1 (ko) 개선된프레임메모리를갖는움직임보상장치
KR100504507B1 (ko) 비디오 디코딩 시스템
KR0180167B1 (ko) 영상부호화를 위한 프레임 재배열 장치
Ling et al. A real-time HDTV video decoder
KR20010037712A (ko) Hd급 비디오 디코더를 이용한 sd급 영상의 2화면 디스플레이 장치

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
FPAY Annual fee payment

Payment date: 20100331

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee