KR20010043749A - 비디오 디코더 - Google Patents
비디오 디코더 Download PDFInfo
- Publication number
- KR20010043749A KR20010043749A KR1020007013106A KR20007013106A KR20010043749A KR 20010043749 A KR20010043749 A KR 20010043749A KR 1020007013106 A KR1020007013106 A KR 1020007013106A KR 20007013106 A KR20007013106 A KR 20007013106A KR 20010043749 A KR20010043749 A KR 20010043749A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- frame buffer
- prediction
- storage area
- backward
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
- Processing Of Color Television Signals (AREA)
Abstract
MPEG 비디오 디코더(1)는 이산 코사인 변환과, 역방향 예측 및 순방향 예측을 행하는 움직임 보상 예측을 병용하여 MPEG 비디오 스트림을 디코드한다. 프레임 버퍼(104a)에는 역방향 예측에 이용되는 전방 참조용 휘도 데이터의 저장 영역과, 순방향 예측에 이용되는 후방 참조용 색차 데이터의 저장 영역이 설치되어 있다. 프레임 버퍼(104b)에는 역방향 예측에 이용되는 전방 참조용 색차 데이터의 저장 영역과, 순방향 예측에 이용되는 후방 참조용 휘도 데이터의 저장 영역이 설치되어 있다. 입출력의 데이터 버스 폭이 모두 16비트의 각 프레임 버퍼(104a, 104b)에 대한 메모리 액세스는 병렬 처리로 행해진다.
Description
멀티미디어에서 다루어지는 정보는 방대한 양이며 또한 다종 다양하고, 이들의 정보를 고속으로 처리하는 것이 멀티미디어의 실용화를 도모하는 데에 있어서 필요해지고 있다. 정보를 고속으로 처리하기 위해서는 데이터의 압축·신장 기술이 불가결해진다.
그와 같은 데이터의 압축 신장 기술로서 「MPEG (Moving Picture Expert Group)」 방식을 들 수 있다. 이 MPEG 방식은 ISO(International Organization for Standardization )/IEC(International Electro-technical Commission) 산하의 MPEG 위원회(ISO/IEC JTC1/SC29/WG11)에 의해서 표준화되어 있다.
MPEG는 3개의 파트로 구성되어 있다. 파트 1의 「MPEG 시스템 파트」 (ISO/IEC IS 11172 Part1 : Systems)에서는 비디오 데이터와 오디오 데이터의 다중화 구조(멀티플렉스·스트럭처) 및 동기 방식이 규정된다. 파트 2의 「MPEG 비디오 파트」(ISO/IEC IS 11172 Part2 : Video)에서는 비디오 데이터의 고능률 부호화 방식 및 비디오 데이터의 포맷이 규정된다. 파트 3의 「MPEG 오디오 파트」 (ISO/IEC IS 11172 Part3 : Audio)에서는 오디오 데이터의 고능률 부호화 방식 및 오디오 데이터의 포맷이 규정된다.
MPEG 비디오 파트에서 취급되는 비디오 데이터는 동화상에 관한 것으로, 그 동화상은 1초간에 수십장(예를 들면, 30장)의 프레임(정지 화상, 코마)으로 구성되어 있다. 비디오 데이터는 시퀀스(Sequence), GOP(Group Of Pictures), 픽쳐(Picture), 슬라이스(Slice), 마이크로 블록(Macroblock), 블록(Block)의 순으로 6층의 계층 구조로 이루어진다. 1장의 픽쳐를 구성하는 슬라이스의 갯수는 일정하지 않고, 1개의 슬라이스를 합성하는 마이크로 블록의 갯수도 일정하지 않다.
또한, MPEG에는 주로 인코드 레이트의 차이에 의해, MPEG-1, MPEG-2의 2개의 방식이 있다. MPEG-1에 있어서 프레임은 픽쳐에 대응하고 있다. MPEG-2에 있어서는 프레임 또는 필드를 픽쳐에 대응시킬 수도 있다. 필드는 2장으로 1장의 프레임을 구성하고 있다.
덧붙여서 말하면, 픽쳐에 프레임이 대응하고 있는 구조는 프레임 구조라고 불리고, 픽쳐에 필드가 대응하고 있는 구조는 필드 구조라고 불린다.
MPEG에서는 프레임간 예측이라고 불리는 압축 기술을 이용한다. 프레임간 예측은 프레임간의 데이터를 시간적인 상관에 기초하여 압축한다. 프레임간 예측에서는 쌍방향 예측이 행해진다. 쌍방향 예측이란 과거의 재생 화상(또는, 픽쳐)으로부터 현재의 재생 화상을 예측하는 순방향 예측과, 미래의 재생 화상으로부터 현재의 재생 화상을 예측하는 역방향 예측을 병용하는 것이다.
이 쌍방향 예측은 I픽쳐(Intra-Picture), P픽쳐(Predictive-Picture), B픽쳐(Bidirectionally predictive-Picture)라고 불리는 3개의 타입의 픽쳐를 규정하고 있다.
I픽쳐는 과거나 미래의 재생 화상과는 무관하게 독립하여 생성된다. 랜덤 액세스를 행하기 위해서, GOP 내에는 최저 1장의 I픽쳐가 필요하다. I픽쳐 내의 모든 매크로 블록·타입은 프레임 내 예측 화면(Intra Frame)이다.
P픽쳐는 순방향 예측(과거의 I픽쳐 또는 P픽쳐로부터의 예측)에 의해 생성된다. P픽쳐 내의 매크로 블록·타입은 프레임 내 예측 화면과 순방향 예측 화면(Forward Inter Frame)의 양방을 포함한다.
B픽쳐는 쌍방향 예측에 의해 생성된다. 쌍방향 예측에 있어서 B픽쳐는 이하에 나타내는 3개의 예측 중 어느 하나에 의해 생성된다.
·순방향 예측 ; 과거의 I픽쳐 또는 B픽쳐로부터의 예측.
·역방향 예측 ; 미래의 I픽쳐 또는 P픽쳐로부터의 예측.
·쌍방향 예측 ; 과거 및 미래의 I픽쳐 또는 P픽쳐로부터의 예측.
B픽쳐 내의 마이크로 블록·타입은 프레임 내 예측 화면, 순방향 예측 화면, 역방향 예측 화면(Backward Inter Frame), 내삽적 예측 화면(Interpolative Inter Frame)의 4개의 타입을 포함한다.
그리고, 이들 I, P, B픽쳐가 각각 인코드된다. 즉, I픽쳐는 과거나 미래의 픽쳐가 없어도 생성된다. 이것에 반하여 P픽쳐는 과거의 픽쳐가 없으면 생성되지 않고, B픽쳐는 과거 또는 미래의 픽쳐가 없으면 생성되지 않는다.
단, P픽쳐나 B픽쳐라도 매크로 블록·타입이 내삽적 예측 화면인 경우, 그 매크로 블록은 과거나 미래의 픽쳐가 없더라도 생성된다.
프레임간 예측에서는, 우선 I픽쳐가 주기적으로 생성된다. 다음에, I픽쳐보다도 수프레임 앞의 프레임이 P픽쳐로서 생성된다. 이 P픽쳐는 과거부터 현재로의 한방향(순방향)의 예측에 의해 생성된다. 계속해서, I픽쳐의 전, P픽쳐의 후에 위치하는 프레임이 B픽쳐로서 생성된다. 이 B픽쳐를 생성할 때, 순방향 예측, 역방향 예측, 쌍방향 예측 3개 중으로부터 최적인 예측 방법이 선택된다. 연속한 동화상에서는 일반적으로 현재의 화상과 그 전후의 화상이 아주 비슷하고, 다른 것은 그 극히 일부분에 지나지 않는다. 그래서, 전에 프레임(예를 들면, I픽쳐)과 다음의 프레임(예를 들면, P픽쳐)은 거의 동일하다고 가정하고, 양프레임간에 변화가 있으면 그 차분(B픽쳐의 데이터)만큼을 추출하여 압축한다. 이에 따라, 프레임간의 데이터를 시간적인 상관에 기초하여 압축할 수 있다.
이와 같이 MPEG 비디오 파트에 준거하여 인코드된 비디오 데이터의 데이터 열(비트 스트림)은 MPEG 비디오 스트림(이하, 비디오 스트림으로 약칭한다)이라고 불린다.
그런데, MPEG-1은 주로, 비디오 CD(Compact Disc)나 CD-ROM(CD-Read Only Memory) 등의 축적미디어에 대응하고 있다. MPEG-2는 비디오 CD, CD-ROM, DVD(Digital Video Disc), 비디오 테이프, 불휘발성 반도체 메모리를 이용한 메모리 카드 등의 축적미디어뿐만 아니라, LAN(Local Area Network) 등의 통신미디어, 지상파 방송이나 위성 방송 및 CATV(Community Antenna Television) 등의 방송미디어도 포함하는 전달미디어 전반에 대응하고 있다.
MPEG 비디오 파트에서 이용되는 기술의 핵이 되는 것은 움직임 보상 예측(MC ; Motion Compensated prediction)과 이산 코사인 변환(DCT ; Discrete Cosine Transform)이다. MC와 DCT를 병용한 부호화 기술은 하이브리드 부호화 기술이라고 불린다. MPEG 비디오 파트에서는 인코드시에 DCT 부호를 이용하여 화상(비디오 신호)을 주파수 성분으로 분해하여 처리한다. 그리고, 디코드시에 DCT의 역변환(이산 코사인 역변환 ; IDCT ; Inverse DCT)을 이용하여 주파수 성분을 다시 화상(비디오 신호)으로 복귀한다.
도 4는 종래의 MPEG 비디오 디코더(101)의 블록 회로도이다.
MPEG 비디오 디코더(101)는 제어 코어 회로(102), 비트 버퍼(103), 프레임 버퍼(104), MPEG 디코드 코어 회로(105), 데이터 버스(106), 표시 회로(107), 메모리 컨트롤러(108), FIFO(First-In-First-Out) 구성의 버퍼(109∼115)로 구성되어 있다. 또, MPEG 비디오 디코더(101)를 구성하는 각 회로(102∼115)는 1칩의 LSI에 탑재되어 있다.
제어 코어 회로(102)는 각 회로(103∼115)를 제어한다.
전달미디어(130)로부터 전송되어 온 비디오 스트림은 우선 버퍼(109)에 입력되고, 버퍼(109)→데이터 버스(106)→메모리 컨트롤러(108)→비트 버퍼(103)의 순서로 전송되어 비트 버퍼(103)에 기입된다. 또, 전달미디어(130)에는 축적미디어(비디오 CD, CD-ROM, DVD, 비디오 테이프, 메모리 카드 등), 통신미디어(LAN 등), 방송미디어(지상파 방송, 위성 방송, CATV 등) 등이 포함된다.
비트 버퍼(103)는 FIFO 구성의 SDRAM(Synchronous Dynamic Random Access Memory)으로 이루어지는 링 버퍼에 의해서 구성되고, 전달미디어(130)로부터 전송되어 오는 비디오 스트림을 순차 축적한다.
비트 버퍼(103)가 설치되어 있는 것은 I, P, B의 각 픽쳐의 데이터량이 다르기 때문이다. I픽쳐의 데이터량은 약 30k바이트, P픽쳐의 데이터량은 약 10∼15k바이트, B픽쳐의 데이터량은 0∼약 6k바이트이다. 그것에 반하여, 전달미디어(130)로부터 전송되어 오는 비디오 스트림의 비트 레이트는 일정하다. MPEG 디코드 코어 회로(105)는 각 픽쳐마다 처리를 행하고, 그 처리 시간은 각 픽쳐의 데이터량에 따라서 다르다. 그 때문에, 전달미디어(130)로부터 전송되어 온 비디오 스트림을 MPEG 디코드 코어 회로(105)로 직접 전송하면, MPEG 디코드 코어(105)에 있어서 처리할 수 없는 픽쳐가 나온다. 이것을 방지하기 위해서, 전달미디어(130)로부터 전송되어 오는 비디오 스트림에 대한 버퍼 메모리로서의 비트 버퍼(103)를 설치함으로써, I, P, B의 각 픽쳐의 데이터량의 차이를 흡수하고 있는 것이다.
프레임 버퍼(104)는 SDRAM으로 이루어지고, 그 내부는 3개의 영역[전방 참조 영역(120), 후방 참조 영역(121), B픽쳐 저장 영역(122)]으로 나누어져 있다.
또, 비트 버퍼(103)와 프레임 버퍼(104)는 부품 점수를 적게 하여 MPEG 비디오 디코더(101)의 부품 비용을 감소시키기 위해서, 1개의 SDRAM 내에 영역을 나눠 설치된다.
또한, 비트 버퍼(103)와 프레임 버퍼(104)가 설치되는 SDRAM의 입출력 데이터 버스 폭(비트 폭)은 32비트로 설정되어 있다. 그 때문에, 메모리 컨트롤러(108)의 입출력의 데이터 버스 폭 및 데이터 버스(106)의 데이터 버스 폭에 관해서도 32비트로 설정되어 있다.
메모리 컨트롤러(108)는 비트 버퍼(103) 및 프레임(104)의 판독 동작 및 기입 동작을 제어한다.
비트 버퍼(103)에 축적된 비디오 스트림은 메모리 컨트롤러(108)에 의해 1프레임 기간마다 1장의 픽쳐분씩의 비디오 스트림이 판독되고, 그 비디오 스트림은 메모리 컨트롤러(108)→데이터 버스(106)→버퍼(110)의 순서로 전송되어 MPEG 디코드코어 회로(105)에 입력된다.
MPEG 디코드 코어 회로(105)는 입력된 1픽쳐분의 비디오 스트림에 대하여, 우선, 하프맨 코드에 기초한 가변 길이 디코드 처리를 행하고, 다음에 가변 길이디코드 처리 결과에 대하여 양자화 임계치에 기초한 역양자화 처리를 행하여 DCT(Discrete Cosine Transform) 계수를 구하고, 계속해서 구한 DCT 계수에 대하여 IDCT 처리를 행하고, 마지막으로 IDCT(Inverse DCT) 처리 결과에 대하여 MC(Motion Compensated prediction) 처리를 행한다.
그리고, MPEG 디코드 코어 회로(105)에 의한 MC 처리 결과는 버퍼(114)→ 데이터 버스(106)→메모리 컨트롤러(108)→프레임 버퍼(104)의 순서로 전송되고, 메모리 컨트롤러(108)에 의해 프레임 버퍼(104) 중 어느 하나의 영역(120∼122)에 저장된다.
또한, 메모리 컨트롤러(108)에 의해 프레임 버퍼(104)의 각 영역(120∼122)으로부터 판독된 데이터는 메모리 컨트롤러(108)→데이터 버스(106)→각 버퍼(111∼113) 중 어느 하나의 순서로 전송되어 MPEG 디코드 코어 회로(105)에 입력된다. 여기서, 전방 참조 영역(120)으로부터 판독된 데이터는 버퍼(111)를 통해 전송되고, 후방 참조 영역(121)으로부터 판독된 데이터는 버퍼(112)를 통해 전송되고, B픽쳐 저장 영역(122)으로부터 판독된 데이터는 버퍼(113)를 통해 전송된다.
전방 참조 영역(120)에는 MPEG 디코드 코어 회로(105)에 의한 MC 처리에 있어서 역방향 예측을 행할 때에 이용되는 미래의 I픽쳐 또는 P픽쳐가 저장된다. 후방 참조 영역(121)에는 MC 처리에 있어서 순방향 예측을 행할 때에 이용되는 과거의 I픽쳐 또는 P픽쳐가 저장된다. B픽쳐 저장 영역(122)에는 B픽쳐가 저장된다.
전방 참조 영역(120) 및 후방 참조 영역(121)에 저장되는 I픽쳐 또는 P픽쳐는 순방향 예측 또는 역방향 예측을 행하기 위한 기본 데이터로서 사용되기 때문에, 필요 없어질 때까지 각 영역(120, 121)에 계속해서 저장을 해야만 한다. B픽쳐 저장 영역(122)에 저장되는 B픽쳐에 관해서는 기본 데이터로서 취급되지 않기 때문에, MPEG 비디오 디코더(101)의 외부에 출력되면 불필요하게 된다. 또, 각 영역(12 0∼122)은 플레인(Plane)이라고도 불린다.
그리고, 메모리 컨트롤러(108)에 의해, 프레임 버퍼(104)의 각 영역(120∼122)중 어느 하나로부터 판독된 픽쳐의 데이터는 메모리 컨트롤러(108)→데이터 버스(106)→버퍼(115)의 순서로 전송되어 표시 회로(107)에 입력된다.
표시 회로(107)는 픽쳐의 데이터로부터 비디오 신호(영상 신호)를 생성하고, 그 비디오 신호를 MPEG 비디오 디코더(101)에 접속된 외부 기기(131)에 출력한다. 예를 들면, 외부 기기(131)로서 디스플레이를 접속한 경우, 상기 디스플레이는 비디오 신호를 화상으로서 표시한다. 또한, 외부 기기(131)로서 축적미디어(비디오 테이프, 메모리 카드 등)를 접속한 경우, 상기 축적미디어에는 비디오 신호가 기억 축적된다.
이와 같이 구성된 MPEG 비디오 디코더(101)는 무비 카메라, 스틸 카메라, 텔레비젼, 비디오 CD 재생 장치, DVD 재생 장치 등에 삽입된다. 또, MPEG 비디오 디코더(101)를 무비 카메라 또는 스틸 카메라에 삽입하는 경우에는 전달미디어(130)가 CCD(Charge Coupled Device) 등의 촬상 디바이스 및 그 신호 처리 회로로 치환된다.
도 5는 SDRAM으로 이루어지는 프레임 버퍼(104)의 전방 참조 영역(120)및 후방 참조 영역(121)에 저장되는 휘도(Y) 데이터 및 색차(C) 데이터의 저장 상태를 모식적으로 나타내는 모식도이다.
전방 참조 영역(120)에는 전방 참조용의 휘도 데이터 yf의 저장 영역(140)과, 전방 참조용의 색차 데이터 cf의 저장 영역(141)이 설치되어 있다. 또한, 후방 참조 영역(121)에는 후방 참조용의 휘도 데이터 yr의 저장 영역(142)과, 후방 참조용의 색차 데이터 cr의 저장 영역(143)이 설치되어 있다.
또, 색차 데이터의 데이터량은 휘도 데이터의 데이터량의 거의 반이다. 그 때문에, 각 저장 영역(141, 143)의 데이터량은 각 저장 영역(140, 142)의 데이터량의 거의 반으로 설정되어 있다.
덧붙여서 말하면, 상기한 바와 같이 프레임 버퍼(104)의 각 영역(120, 121)에 각 데이터 yf, cf, yr, cr을 저장하기 위한 각 저장 영역(140∼143)을 설치하는 것은 메모리 맵핑이라고 불린다.
일반적으로, SDRAM을 액세스할 때에는 SDRAM에 규정된 캐스트 시퀀스 및 버스트 범위에 의해 결정되는 소정의 커맨드를 설정할 필요가 있고, 그와 같이 소정의 커맨드를 설정하는 것은 커맨드 오버 헤드라고 불린다. 그 때문에, 액세스를 개시한 시점으로부터 데이터의 기입 또는 판독이 실제로 개시되는 시점까지의 사이에 커맨드 오버 헤드에 요하는 시간분의 지연 시간이 생기게 된다. 이 커맨드 오버 헤드에 요하는 시간(지연 시간)은 SDRAM의 동작 클럭의 6∼7클럭분 이하로는 할 수 없다.
도 6은 입출력의 데이터 버스 폭이 32비트의 SDRAM으로 이루어지는 프레임 버퍼(104)의 각 영역(120, 121)으로부터 1개의 매크로 블록분의 데이터를 판독하는 경우에 있어서의 메모리 액세스의 순서를 모식적으로 나타내는 모식도이다.
메모리 액세스는 저장 영역(140)에 대한 커맨드 오버 헤드 com→저장 영역(140)으로부터의 전방 참조용 휘도 데이터 yf의 판독→저장 영역(141)에 대한 커맨드 오버 헤드 com→저장 영역(141)으로부터의 전방 참조용 색차 데이터 cf의 판독→저장 영역(142)에 대한 커맨드 오버 헤드 com→저장 영역(142)으로부터의 후방 참조용 휘도 데이터 yr의 판독→저장 영역(143)에 대한 커맨드 오버 헤드 com→저장 영역(143)으로부터의 후방 참조용 색차 데이터 cr의 판독의 순서로 행해진다.
따라서, 이 경우의 메모리 액세스에 요하는 시간 T1은 이하의 수학식 1에 의해 구해진다.
단, t1 ; 커맨드 오버 헤드 com에 요하는 시간
t2 ; 각 휘도 데이터 yf, yr의 판독에 요하는 시간
t3 ; 각 색차 데이터 cf, cr의 판독에 요하는 시간
그런데, MPEG 디코드 코어 회로(105)에 의한 MC 처리에서는 1개의 매크로 블록의 반(하프 매크로 블록)의 휘도 데이터를 복원하기 위해서, SDRAM으로 이루어지는 프레임 버퍼(104)의 전방 참조 영역(120) 또는 후방 참조 영역(121)으로부터 하프 매크로 블록분의 휘도 데이터를 판독하는 경우가 있다.
도 7의 (a)에 도시한 바와 같이, 이 하프 매크로 블록분의 휘도 데이터를 복원하기 위해서 전방 참조 영역(120) 또는 후방 참조 영역(121)으로부터 판독할 필요가 있는 휘도 데이터는 9픽셀(화소)×17픽셀(화소)분의 데이터이다.
일반적으로, SDRAM을 액세스할 수 있는 최소 단위는 SDRAM에 규정된 버스트 범위에 입출력의 데이터 버스 폭을 승산한 값이 된다.
버스트 범위의 최소치는 「2」이기 때문에, 입출력의 데이터 버스 폭이 32비트의 SDRAM으로 액세스할 수 있는 최소 단위는 2×32비트가 된다. 그런데, 1개의 픽셀(화소)의 데이터량은 8비트이다. 따라서, 입출력의 데이터 버스 폭이 32비트의 SDRAM으로 액세스할 수 있는 최소 단위는 수평 방향으로 배치된 8픽셀분이 된다.
그 때문에, 도 7의 (b)에 도시한 바와 같이, 입출력의 데이터 버스 폭이 32비트의 SDRAM으로 이루어지는 프레임 버퍼(104)로부터 하프 매크로 블록분의 휘도 데이터(9픽셀×17픽셀분의 데이터)를 판독하기 위해서는 9픽셀×24픽셀분의 데이터를 판독할 필요가 있다. 즉, 입출력의 데이터 버스 폭이 32비트의 SDRAM으로 액세스할 수 있는 최소 단위는 수평 8픽셀분이기 때문에, 수평 17픽셀분의 데이터를 판독하기 위해서는 수평 8픽셀의 3배의 24픽셀분의 데이터를 판독해야만 한다. 그리고, 판독한 9픽셀×24픽셀분의 데이터 중, 9픽셀×17픽셀분이 필요한 데이터를 제외한 나머지의 데이터인 9픽셀×7픽셀분은 불필요한 데이터가 된다.
최근, MPEG 비디오 디코더(101)의 동작 속도를 고속화하는 것이 요구되고 있다. 그것에는, 프레임 버퍼(104)와 데이터 버스(106)를 고속화하여 동작 주파수를 높게 하는 방법과, 프레임 버퍼(104)와 데이터 버스(106)의 입출력의 데이터 버스 폭(비트 폭)을 32비트보다도 더욱 넓히는(예를 들면, 48비트, 64비트, 128비트 등) 방법이 있다. 그러나, 동작 주파수가 높은 프레임 버퍼(104)는 고가(예를 들면, SDRAM보다도 고속인 램버스 DRAM은 SDRAM보다 고가)인데 다 소비 전력도 커진다. 또한, 입출력의 데이터 버스 폭을 더욱 넓히면, LSI의 단자수가 증가함과 함께 프레임 버퍼(104)를 구성하는 SDRAM의 칩수가 증가하기 때문에, MPEG 비디오 디코더(101)의 기판 실장 면적의 증대나 비용 상승을 초래하게 된다. 그래서, 프레임 버퍼(104)의 동작 주파수를 높게 하거나, 입출력의 데이터 버스 폭을 넓히지 않고 MPEG 비디오 디코더(101)의 동작 속도를 고속화하는 것이 요구되고 있다.
〈발명의 개시〉
본 발명의 목적은 동작 속도를 고속화하는 것이 가능한 MPEG 등의 화상 압축 방식을 이용한 비디오 디코더를 제공하는 것에 있다.
이러한 목적을 달성하기 위해서 본원 발명은 이산 코사인 변환과, 역방향 예측 및 순방향 예측을 행하는 움직임 보상 예측을 병용하여 비디오 스트림을 디코드하는 비디오 디코더에 있어서, 상기 역방향 예측에 이용되는 전방 참조용 휘도 데이터의 저장 영역과, 상기 순방향 예측에 이용되는 후방 참조용 색차 데이터의 저장 영역이 설치된 제1 프레임 버퍼와, 상기 역방향 예측에 이용되는 전방 참조용 색차 데이터의 저장 영역과, 상기 순방향 예측에 이용되는 후방 참조용 휘도 데이터의 저장 영역이 설치된 제2 프레임 버퍼와, 상기 제1 프레임 버퍼에 대한 메모리 액세스 동작과 상기 제2 프레임 버퍼에 대한 메모리 액세스 동작의 적어도 일부분의 동작을 병렬 처리로 행하는 판독 제어 회로를 구비한다.
따라서, 본 발명에 있어서는 제1 및 제2 프레임 버퍼로서 입출력의 데이터 버스 폭이 작은 것을 이용하면, 각 프레임 버퍼로부터 하프 매크로 블록분의 휘도 데이터(예를 들면, 9픽셀×17픽셀분의 데이터)를 판독할 때에도 불필요한 데이터의 판독을 적게 하는 것이 가능해지고, 그 분만큼 메모리 액세스에 요하는 시간을 단축할 수 있다. 그 때문에, 각 프레임 버퍼의 동작 주파수를 높게 하거나 입출력의 데이터 버스 폭을 넓히지 않고, 비디오 디코더의 동작 속도를 고속화할 수 있다.
본 발명의 다른 국면에 따르면, 이산 코사인 변환과, 역방향 예측 및 순방향 예측을 행하는 움직임 보상 예측을 병용하여 비디오 스트림을 디코드하는 비디오 디코더에 있어서, 상기 역방향 예측에 이용되는 전방 참조용 휘도 데이터의 저장 영역과, 상기 순방향 예측에 이용되는 후방 참조용 색차 데이터의 저장 영역이 설치된 제1 프레임 버퍼와, 상기 역방향 예측에 이용되는 전방 참조용 색차 데이터의 저장 영역과, 상기 순방향 예측에 이용되는 후방 참조용 휘도 데이터의 저장 영역이 설치된 제2 프레임 버퍼와, 제1 프레임 버퍼와 제2 프레임 버퍼에 대한 메모리 액세스를 병렬 처리로 행하고, 제1 프레임 버퍼로부터 전방 참조용 휘도 데이터를 판독하고 있을 때에 제2 프레임 버퍼로부터 전방 참조용 색차 데이터를 판독함과 함께, 제1 프레임 버퍼로부터 후방 참조용 색차 데이터를 판독하고 있을 때에 제2 프레임 버퍼로부터 후방 참조용 휘도 데이터를 판독하도록 하는 판독 제어 회로를 구비한다.
따라서, 본 발명에 따르면, 메모리 액세스에 요하는 시간을 매우 효과적으로 단축할 수 있다.
또한, 바람직하게는 비디오 디코더에 있어서는 전방 참조용 휘도 데이터 및 후방 참조용 색차 데이터를 상기 제1 프레임 버퍼에 있어서의 소정의 저장 영역에 저장시킴과 함께, 전방 참조용 색차 데이터 및 후방 참조용 휘도 데이터를 상기 제2 프레임 버퍼에 있어서의 소정의 저장 영역에 저장시키는 기입 제어 회로를 구비한다.
더욱 바람직하게는, 비디오 디코더에 있어서 상기 제1 및 제2 프레임 버퍼는 모두 입출력 데이터 버스 폭이 같은 SDRAM을 포함한다.
따라서, 본 발명에 따르면 제1 프레임 버퍼와 제2 프레임 버퍼에 대한 메모리 액세스가 병렬 처리로 행해진다. 이 때문에, 각 프레임 버퍼로부터 1개의 매크로 블록분의 휘도 데이터 및 색차 데이터를 판독할 때의 메모리 액세스에 요하는 시간을 SDRAM 등의 버퍼 메모리에 규정된 커맨드 오버 헤드의 2회분에 요하는 시간만큼 단축할 수 있다. 그 때문에, 비디오 디코더의 동작 속도를 더욱 고속화하는 것이 가능하다.
본 발명은 MPEG 등의 화상 압축 방식을 이용한 비디오 디코더에 관한 것이다.
도1은 본 발명의 실시예 1의 MPEG 비디오 디코더의 블록 회로도.
도 2는 실시예 1의 동작을 설명하기 위한 제1 모식도.
도 3은 실시예 1의 동작을 설명하기 위한 제2 모식도.
도 4는 종래의 MPEG 비디오 디코더의 블록 회로도.
도 5는 종래의 MPEG 비디오 디코더의 동작을 설명하기 위한 제1 모식도.
도 6은 종래의 MPEG 비디오 디코더의 동작을 설명하기 위한 제2 모식도.
도 7의 (a)∼도 7의 (c)는 종래의 MPEG 비디오 디코더의 동작을 설명하기 위한 모식도이고, 도 7의 (a)는 하프 매크로 블록분의 휘도 데이터를 복원하는 데 필요한 데이터를 나타내고, 도 7의 (b)는 프레임 버퍼(104)로부터 하프 매크로 블록분의 휘도 데이터를 판독할 때에 판독되는 데이터를 나타내고, 도 7의 (c)는 프레임 버퍼로부터 하프 매크로 블록분의 휘도 데이터를 판독하는 동작을 나타내는 도면.
〈발명을 실시하기 위한 최량의 형태〉
이하, 본 발명의 실시예를 도면과 함께 설명한다.
또, 실시예에 있어서, 도 4∼도 7의 (c)에 도시한 종래의 MPEG 비디오 디코더와 동일한 구성 부분에 관해서는 동일 부호를 붙여 그 설명을 반복하지 않는다.
도 1은 실시예 1의 MPEG 비디오 디코더(1)의 구성을 나타내는 블록 회로도이다.
MPEG 비디오 디코더(1)는 제어 코어 회로(2), 전환 회로(3), 비트 버퍼(103 a, 103b), 프레임 버퍼(104a, 104b), MPEG 디코드 코어 회로(105), 데이터 버스(106a, 106b), 표시 회로(107), 메모리 컨트롤러(108a, 108b), FIFO 구성의 버퍼(109, 110a∼115b)로 구성되어 있다. 또, MPEG 비디오 디코더(1)를 구성하는 각 회로(2, 103a∼115b)는 1칩의 LSI에 탑재되어 있다.
제어 코어 회로(2)는 각 회로(3, 103a∼115b)를 제어한다.
전달미디어(130)로부터 전송되어 온 비디오 스트림은 우선 버퍼(109)에 입력되고, 버퍼(109)→각 데이터 버스(106a, 106b)→각 메모리 컨트롤러(108a, 108b)→각 비트 버퍼(103a, 103b)의 순서로 전송되어 각 비트 버퍼(103a, 103b)에 기입된다.
각 비트 버퍼(103a, 103b)는 FIFO 구성의 SDRAM으로 이루어지는 링 버퍼에 의해서 구성되고, 전달미디어(130)로부터 전송되어 오는 비디오 스트림을 순차 축적한다.
각 비트 버퍼(103a, 103b)가 설치되어 있는 것은 종래의 MPEG 비디오 디코더(101)에 있어서 비트 버퍼(103)가 설치되어 있는 이유와 동일하다.
각 프레임 버퍼(104a, 104b)는 SDRAM으로 이루어지고, 각각의 내부는 3개의 영역[전방 참조 영역(120a, 120b), 후방 참조 영역(121a, 121b), B픽쳐 저장 영역(122a, 122b)]으로 나누어져 있다.
또, 부품 점수를 적게 하여 MPEG 비디오 디코더(1)의 부품 비용을 감소시키기 위해서, 비트 버퍼(103a)와 프레임 버퍼(104a)가 1개의 SDRAM 내에 영역을 나눠 설치되고, 비트 버퍼(103b)와 프레임 버퍼(104b)가 1개의 SDRAM 내에 영역을 나눠 설치되어 있다.
또한, 비트 버퍼(103a, 103b)와 프레임 버퍼(104a, 104b)가 설치되는 각각의 SDRAM의 입출력 데이터 버스 폭(비트 폭)은 모두 16비트로 설정되어 있다. 그 때문에, 각 메모리 컨트롤러(108a, 108b)의 입출력의 데이터 버스 폭 및 각 데이터 버스(106a, 106b)의 데이터 버스 폭에 관해서도 16비트로 설정되어 있다.
메모리 컨트롤러(108a)는 비트 버퍼(103a) 및 프레임 버퍼(104a)의 판독 동작 및 기입 동작을 제어한다. 또한, 메모리 컨트롤러(108b)는 비트 버퍼(103b) 및 프레임 버퍼(104b)의 판독 동작 및 기입 동작을 제어한다.
각 비트 버퍼(103a, 103b)에 축적된 비디오 스트림은 각 메모리 컨트롤러(108 a, 108b)에 의해 1프레임 기간마다 1장의 픽쳐분씩의 비디오 스트림이 판독된다. 그리고, 비트 버퍼(103a)로부터 판독된 1장의 픽쳐분의 비디오 스트림은 메모리 컨트롤러(108a)→데이터 버스(106a)→버퍼(110a)의 순서로 전송되어 MPEG 디코드 코어 회로(105)에 입력된다. 또한, 비트 버퍼(103b)로부터 판독된 1장의 비트분의 비디오 스트림은 메모리 컨트롤러(108b)→데이터 버퍼(106b)→버퍼(110b)의 순으로 전송되어 MPEG 디코드 코어 회로(105)에 입력된다.
MPEG 디코드 코어 회로(105)는 종래의 MPEG 비디오 디코더(101)와 마찬가지로 입력된 1픽쳐분의 비디오 스트림에 대하여, 가변 길이 디코드 처리, 역양자화 처리, IDCT 처리, MC 처리를 순차 행한다.
그리고, MPEG 디코드 코어 회로(105)에 의한 MC 처리 결과는 전환 회로(3)로 전송된다. 전환 회로(3)는 각 노드(3a, 3b) 중 어느 하나의 측으로 전환된다. 전환 회로(3)가 노드(3a)측으로 전환된 경우, MC 처리 결과는 버퍼(114a)→데이터 버스(106a)→메모리 컨트롤러(108a)→프레임 버퍼(104a)의 순서로 전송되고, 메모리 컨트롤러(108a)에 의해 프레임 버퍼(104a) 중 어느 하나의 영역(120a∼122a)에 저장된다. 또한, 전환 회로(3)가 노드(3b)측으로 전환된 경우, MC 처리 결과는 버퍼(114 b)→데이터 버스(106b)→메모리 컨트롤러(108b)→프레임 버퍼(104b)의 순서로 전송되고, 메모리 컨트롤러(108b)에 의해 프레임 버퍼(104b) 중 어느 하나의 영역(120b∼122b)에 저장된다.
그리고, 메모리 컨트롤러(108a)에 의해, 프레임 버퍼(104a)의 각 영역(120a∼122a)으로부터 판독된 데이터는 메모리 컨트롤러(108a)→데이터 버스(106a)→각 버퍼(11 1a∼113a) 중 어느 하나의 순서로 전송되어 MPEG 디코드 코어 회로(105)에 입력된다. 여기서, 전방 참조 영역(120a)으로부터 판독된 데이터는 버퍼(111a)를 통해 전송되고, 후방 참조 영역(121a)으로부터 판독된 데이터는 버퍼(112a)를 통해 전송되고, B픽쳐 저장 영역(122a)으로부터 판독된 데이터는 버퍼(113a)를 통해 전송된다.
또한, 메모리 컨트롤러(108b)에 의해, 프레임 버퍼(104b)의 각 영역(120b∼122 b)으로부터 판독된 데이터는 메모리 컨트롤러(108b)→데이터 버스(106b)→각 버퍼(111b∼113b) 중 어느 하나의 순서로 전송되어 MPEG 디코드 코어 회로(105)에 입력된다. 여기서, 전방 참조 영역(120b)으로부터 판독된 데이터는 버퍼(111b)를 통해 전송되고, 후방 참조 영역(121b)으로부터 판독된 데이터는 버퍼(112b)를 통해 전송되고, B픽쳐 저장 영역(122b)으로부터 판독된 데이터는 버퍼(113b)를 통해 전송된다.
각 전방 참조 영역(120a, 120b)에는 MPEG 디코드 코어 회로(105)에 의한 MC 처리에 있어서 역방향 예측을 행할 때에 이용되는 미래의 I픽쳐 또는 P픽쳐가 저장된다. 각 후방 참조 영역(121a, 121b)에는 MC 처리에 있어서 순방향 예측을 행할 때에 이용되는 과거의 I픽쳐 또는 P픽쳐가 저장된다. 각 B픽쳐 저장 영역(122a, 122b)에는 B픽쳐가 저장된다.
각 전방 참조 영역(120a, 120b) 및 각 후방 참조 영역(121a, 121b)에 저장되는 I픽쳐 또는 P픽쳐는 순방향 예측 또는 역방향 예측을 행하기 위한 기본 데이터로서 사용되기 때문에, 필요 없어질 때까지, 각 영역(120a, 120b, 121a, 121b)에 계속해서 저장해야만 한다. B픽쳐 저장 영역(122a, 122b)에 저장되는 B픽쳐에 관해서는 기본 데이터로서 취급되지 않기 때문에, MPEG 비디오 디코더(1)의 외부로 출력되면 불필요하게 된다. 또, 각 영역(120a∼122b)은 플레인이라고도 불린다.
그리고, 메모리 컨트롤러(108a)에 의해, 프레임 버퍼(104a)의 각 영역(120a∼122a) 중 어느 하나로부터 판독된 픽쳐의 데이터는 메모리 컨트롤러(108a)→데이터 버스(106a)→버퍼(115a)의 순서로 전송되어 표시 회로(107)에 입력된다.
또한, 메모리 컨트롤러(108b)에 의해, 프레임 버퍼(104b)의 각 영역(120b∼122 b) 중 어느 하나로부터 판독된 픽쳐의 데이터는 메모리 컨트롤러(108b)→데이터 버스(106b)→버퍼(115b)의 순서로 전송되어 표시 회로(107)에 입력된다.
표시 회로(107)는 각 버퍼(115a, 115b)로부터 전송된 픽쳐의 데이터로부터 비디오 신호(영상 신호)를 생성하고, 그 비디오 신호를 MPEG 비디오 디코더(1)에 접속된 외부 기기(131)에 출력한다.
이와 같이 구성된 MPEG 비디오 디코더(1)는 종래의 MPEG 비디오 디코더 (101)와 마찬가지로 무비 카메라, 스틸 카메라, 텔레비젼, 비디오 CD 재생 장치, DVD 재생 장치 등에 삽입된다. 또, MPEG 비디오 디코더(1)를 무비 카메라 또는 스틸 카메라에 삽입하는 경우에는 전달미디어(130)가 CCD 등의 촬상 디바이스 및 그 신호 처리 회로로 치환된다.
도 2는 SDRAM으로 이루어지는 각 프레임 버퍼(104a, 104b)의 전방 참조 영역(120a, 120b) 및 후방 참조 영역(121a, 121b)에 저장되는 휘도(Y) 데이터 및 색차(C) 데이터의 저장 상태를 모식적으로 나타내는 모식도이다.
프레임 버퍼(104a)에 있어서는 전방 참조 영역(120a)에는 전방 참조용의 휘도 데이터 yf의 저장 영역(140)이 설치되고, 후방 참조 영역(121a)에는 후방 참조용의 색차 데이터 cr의 저장 영역(143)이 설치되어 있다.
프레임 버퍼(104b)에 있어서는 전방 참조 영역(120b)에는 전방 참조용의 색차 데이터 cf의 저장 영역(141)이 설치되고, 후방 참조 영역(121b)에는 후방 참조용의 휘도 데이터 yr의 저장 영역(142)이 설치되어 있다.
상술한 바와 같이, 색차 데이터의 데이터량은 휘도 데이터의 데이터량의 거의 반이기 때문에, 각 저장 영역(141, 143)의 데이터량은 각 저장 영역(140, 142)의 데이터량의 거의 반으로 설정되어 있다.
이와 같이, 각 프레임 버퍼(104a, 104b)의 각 영역(120a, 121a, 120b, 121b)에 각 데이터 yf, cr, cf, yr를 분류하여 저장하는 것은 상기 전환 회로(3)의 전환 동작에 의해 용이하고 또한 확실하게 행할 수 있다.
덧붙여서 말하면, 상술한 바와 같이 각 프레임 버퍼(104a, 104b)의 각 영역(120a, 121a, 120b, 121b)에 각 데이터 yf, cf, yr, cr을 저장하기 위한 각 저장 영역(140∼143)을 설치하는 것은 메모리 맵핑이라고 불린다.
도 3은 입출력의 데이터 버스 폭이 16비트의 SDRAM으로 이루어지는 프레임 버퍼(104a, 104b)의 각 영역(120a, 121a, 120b, 121b)으로부터 1개의 매크로 블록분의 데이터를 판독하는 경우에 있어서의 메모리 액세스의 순서를 모식적으로 나타내는 모식도이다.
프레임 버퍼(104a)에 대한 메모리 액세스는 저장 영역(140)에 대한 커맨드 오버 헤드 com→저장 영역(140)으로부터의 전방 참조용 휘도 데이터 yf의 판독→저장 영역(143)에 대한 커맨드 오버 헤드 com→저장 영역(143)으로부터의 후방 참조용 색차 데이터 cr의 판독 순서로 행해진다.
프레임 버퍼(104b)에 대한 메모리 액세스는 저장 영역(141)에 대한 커맨드 오버 헤드 com→저장 영역(141)으로부터의 전방 참조용 색차 데이터 cf의 판독→저장 영역(142)에 대한 커맨드 오버 헤드 com→저장 영역(142)으로부터의 전방 참조용 휘도 데이터 yr의 판독 순서로 행해진다.
그 때문에, MPEG 디코드 코어 회로(105)에는 저장 영역(140)으로부터 판독된 전방 참조용 휘도 데이터 yf가 전송되어 있을 때에, 저장 영역(141)으로부터 판독된 전방 참조용 색차 데이터 cf가 전송된다. 그 때문에, MPEG 디코드 코어 회로(105)에서는 종래의 MPEG 비디오 디코더(101)와 마찬가지로 전방 참조용 휘도 데이터 yf 및 전방 참조용 색차 데이터 cf에 기초하여 MC 처리에 의한 역방향 예측이 행해진다.
또한, MPEG 디코드 코어 회로(105)에는 저장 영역(143)으로부터 판독된 후 방 참조용 색차 데이터 cf가 전송되어 있을 때에, 저장 영역(142)으로부터 판독된 후 쪽 참조용 휘도 데이터 yr이 전송된다. 그 때문에, MPEG 디코드 코어 회로(105)에서는 종래의 MPEG 비디오 디코더(101)와 마찬가지로, 후방 참조용 색차 데이터 Cr 및 후방 참조용 휘도 데이터 yr에 기초하여 MC 처리에 의한 순방향 예측이 행해진다.
즉, 각 프레임 버퍼(104a, 104b), 각 메모리 컨트롤러(108a, 108b), 각 버퍼(11 1a, 112a)와 각 버퍼(111b, 112b)는 동시에 동작하고, 각 프레임 버퍼(104a, 104b)에 대한 메모리 액세스는 병렬 처리된다.
따라서, 이 경우의 메모리 액세스에 요하는 시간 T2는 수학식 2에 의해 구해진다.
단, t1 ; 커맨드 오버 헤드 com에 요하는 시간
t4 ; 각 휘도 데이터 yf, yr 판독에 요하는 시간
t5 ; 각 색차 데이터 cf, cr 판독에 요하는 시간
여기서, 각 프레임 버퍼(104a, 104b)의 데이터 버스 폭은 16비트이다. 그것에 반하여, 종래의 MPEG 비디오 디코더(101)의 프레임 버퍼(104)의 데이터 버스 폭은 32비트이다. 그 때문에, 상기 시간 t1, t3, t4, t5의 관계는 수학식 3에 나타낸 바와 같이 된다.
그 결과, 상기 수학식 1에 의해 구해지는 종래의 MPEG 비디오 디코더(101)의 메모리 액세스에 요하는 시간 T1과, 본 실시예의 MPEG 비디오 디코더(1)의 메모리 액세스에 요하는 시간 T2와의 관계는 수학식 4에 나타낸 바와 같이 된다.
따라서, 본 실시예에 MPEG 비디오 디코더(1)에 따르면, 종래의 MPEG 비디오 디코더(101)에 비하여 프레임 버퍼(104a, 104b)로부터 1개의 마이크로 블록분의 휘도 데이터 및 색차 데이터를 판독할 때의 메모리 액세스에 요하는 시간을 2회분의 커맨드 오버 헤드 com에 요하는 시간(=2×t1)분만큼 단축할 수 있다.
또한, 도 7의 (c)에 도시한 바와 같이, 입출력의 데이터 버스 폭이 16비트의 SDRAM으로 이루어지는 각 프레임 버퍼(104a, 104b)로부터 하프 매크로 블록분의 휘도 데이터(9픽셀×17픽셀분의 데이터)를 판독하기 위해서는 9픽셀×20픽셀분의 데이터를 판독하면 좋다. 즉, 입출력의 데이터 버스 폭이 16비트의 SDRAM을 액세스할 수 있는 최소 단위는 수평 4픽셀분이기 때문에, 수평 17픽셀분의 데이터를 판독하기 위해서는 수평 4픽셀의 5배의 20픽셀분의 데이터를 판독시키면 좋다. 그리고, 판독한 9픽셀×20픽셀분의 데이터 중, 9픽셀×17픽셀분이 필요한 데이터를 제외한 나머지의 데이터인 9픽셀×3픽셀분은 불필요한 데이터가 된다.
상술한 바와 같이, 종래의 MPEG 비디오 디코더(101)에서는 9픽셀×24픽셀분의 데이터를 판독해야만 하고, 그 중, 9픽셀×17픽셀분이 필요한 데이터를 제외한 나머지의 데이터인 9픽셀×7픽셀분은 불필요한 데이터가 된다.
따라서, 본 실시예의 MPEG 비디오 디코더(1)에 따르면, 종래의 MPEG 비디오 디코더(101)에 비하여 프레임 버퍼(104a, 104b)로부터 하프 매크로 블록분의 휘도 데이터를 판독할 때에, 9픽셀×4픽셀분의 불필요한 데이터의 판독을 행할 필요가 없어져 그 분만큼 메모리 액세스에 요하는 시간을 단축할 수 있다.
이상 상술한 바와 같이, 본 실시예의 MPEG 비디오 디코더(1)에 따르면, 종래의 MPEG 비디오 디코더(101)에 비하여 MPEG 디코드 코어 회로(105)에서 MC 처리를 행할 때에 프레임 버퍼(104a, 104b)로부터 데이터를 판독할 때의 메모리 액세스에 요하는 시간을 단축하는 것이 가능해진다.
따라서, 본 실시예에 따르면, 프레임 버퍼(104a, 104b)의 동작 주파수를 더욱 높게 하거나 입출력 데이터 버스 폭을 더욱 넓어지게 하지 않고, MPEG 비디오 디코더(1)의 동작 속도를 고속화할 수 있다. 덧붙여서 말하면, 본 실시예의 MPEG 비디오 디코더(1)의 동작 속도는 종래의 MPEG 비디오 디코더(101)에 비하여 1.3∼1.5배 고속으로 된다.
그리고, 프레임 버퍼(104a, 104b)로서 동작 주파수가 높고 고가이며 소비 전력이 큰 것을 사용하지 않고, 동작 속도가 고속인 MPEG 비디오 디코더(1)를 실현하는 것이 가능해지고, MPEG 비디오 디코더(1)의 동작 속도의 고속화에 있어서 비용 상승 및 소비 전력의 증대를 회피할 수 있다.
본 실시예에서는 프레임 버퍼(104a, 104b)를 구성하는 SDRAM, 메모리 컨트롤러(108a, 108b), 데이터 버스(106a, 106b)의 데이터 버스 폭(피트 폭)을 전부 16비트로 설정함으로써, 전체로서 16비트+16비트의 32비트로 하고 있다. 그런데, 보다 고속인 처리가 요구되는 경우에는 64비트화가 필요해지지만, 이 경우에는 프레임 버퍼(104a, 104b)를 구성하는 SDRAM, 메모리 컨트롤러(108a, 108b), 데이터 버스(106 a, 106b)의 데이터 버스 폭을 전부 32비트로 설정함으로써, 전체로서 32비트+32비트의 64비트로 하면 좋고, 이와 같이 하면 본 실시예와 마찬가지의 효과를 얻을 수 있다.
또, 본 발명은 상기 실시예에 한정되는 것이 아니라, 이하와 같이 변경하더라도 좋고, 그 경우라도 상기 실시예와 동등 혹은 그 이상의 작용 효과를 얻을 수 있다.
(1) MPEG 비디오 디코더(1)에 있어서 각 버퍼(113a, 113b)는 적절하게 생략할 수 있다. 또한, 각 버퍼(111a, 112a)의 기능을 1개의 버퍼로 겸용하여도 좋고, 마찬가지로 각 버퍼(111b, 112b)의 기능을 1개의 버퍼로 겸용하여도 좋다.
(2) 프레임 버퍼(104a, 104b)를 SDRAM이 아니라, 재기입 가능한 다른 형식의 반도체 메모리(예를 들면, DRAM, 램버스 DRAM 등)에 의해서 구성하여도 좋다.
본 발명을 상세하게 설명하였지만, 이것은 예시를 위한 것일 뿐, 이에 한정 되어서는 안되고, 발명의 정신과 범위는 첨부의 청구 범위에 의해서만 한정되는 것이 분명하게 이해되어야 할 것이다.
Claims (11)
- 역방향 예측 및 순방향 예측을 행하는 움직임 보상 예측을 이용하여 비디오 스트림을 디코드하는 비디오 디코더에 있어서,상기 역방향 예측에 이용되는 전방 참조용 휘도 데이터의 저장 영역과, 상기순방향 예측에 이용되는 후방 참조용 색차 데이터의 저장 영역이 설치된 제1 프레임 버퍼와,상기 역방향 예측에 이용되는 전방 참조용 색차 데이터의 저장 영역과, 상기순방향 예측에 이용되는 후방 참조용 휘도 데이터의 저장 영역이 설치된 제2 프레임 버퍼와,상기 비디오 디코더의 동작을 제어하기 위한 제어 회로를 포함하고,상기 제어 회로는 상기 제1 프레임 버퍼에 대한 메모리 액세스 동작과 상기 제2 프레임 버퍼에 대한 메모리 액세스 동작 중 적어도 일부분의 동작을 병렬 처리로 행하는 것을 특징으로 하는 비디오 디코더.
- 제1항에 있어서,상기 제1 및 제2 프레임 버퍼로부터 판독된 데이터의 디코드를 위해, 역이산 코사인 변환 처리를 행하는 이산 코사인 변환 처리 회로를 더 포함하는 것을 특징으로 하는 비디오 디코더.
- 제1항에 있어서,상기 제어 회로는 기입 동작에 있어서, 전방 참조용 휘도 데이터 및 후방 참조용 색차 데이터를 상기 제1 프레임 버퍼에서의 소정의 저장 영역에 저장시킴과 함께, 전방 참조용 색차 데이터 및 후방 참조용 휘도 데이터를 상기 제2 프레임 버퍼에서의 소정의 저장 영역에 저장시키는 것을 특징으로 하는 비디오 디코더.
- 제3항에 있어서,상기 제1 및 제2 프레임 버퍼는 판독 커맨드를 제공한 후 소정 시간 경과한 후에 데이터 출력이 개시되는 제1 및 제2 메모리 회로를 각각 포함하는 것을 특징으로 하는 비디오 디코더.
- 제4항에 있어서,상기 제1 및 제2 메모리 회로는 각각 상호 입출력의 데이터 버스 폭이 같은 싱크로너스 다이나믹형 랜덤 액세스 메모리를 포함하는 것을 특징으로 하는 비디오 디코더.
- 제4항에 있어서,상기 비디오 스트림은 이산 코사인 변환과, 역방향 및 순방향 예측을 행하는 움직임 보상 예측을 병용하는 MPEG 비디오 스트림인 것을 특징으로 하는 비디오 디코더.
- 제1항에 있어서,상기 제어 회로는 판독 동작에 있어서, 상기 제1 프레임 버퍼와 상기 제2 프레임 버퍼에 대한 메모리 액세스를 병렬 처리로 행하고,i) 상기 제1 프레임 버퍼로부터 전방 참조용 휘도 데이터를 판독하고 있을 때에 상기 제2 프레임 버퍼로부터 전방 참조용 색차 데이터를 판독하고,ii) 상기 제1 프레임 버퍼로부터 후방 참조용 색차 데이터를 판독하고 있을 때에 상기 제2 프레임 버퍼로부터 후방 참조용 휘도 데이터를 판독하도록 판독 동작을 제어하는 것을 특징으로 하는 비디오 디코더.
- 제7항에 있어서,상기 제어 회로는 기입 동작에 있어서, 전방 참조용 휘도 데이터 및 후방 참조용 색차 데이터를 상기 제1 프레임 버퍼에서의 소정의 저장 영역에 저장시킴과 함께, 전방 참조용 색차 데이터 및 후방 참조용 휘도 데이터를 상기 제2 프레임 버퍼에서의 소정의 저장 영역에 저장시키는 것을 특징으로 하는 비디오 디코더.
- 제8항에 있어서,상기 제1 및 제2 프레임 버퍼는 판독 커맨드를 제공한 후 소정 시간 경과한 후에 데이터 출력이 개시되는 제1 및 제2 메모리 회로를 각각 포함하는 것을 특징으로 하는 비디오 디코더.
- 제9항에 있어서,상기 제1 및 제2 메모리 회로는 각각 상호 입출력 데이터 버스 폭이 같은 싱크로너스 다이나믹형 랜덤 액세스 메모리를 포함하는 것을 특징으로 하는 비디오 디코더.
- 제9항에 있어서,상기 비디오 스트림은 이산 코사인 변환과, 역방향 및 순방향 예측을 행하는 움직임 보상 예측을 병용하는 MPEG 비디오 스트림인 것을 특징으로 하는 비디오 디코더.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1999-078207 | 1999-03-23 | ||
JP7820799 | 1999-03-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010043749A true KR20010043749A (ko) | 2001-05-25 |
KR100620941B1 KR100620941B1 (ko) | 2006-09-13 |
Family
ID=13655601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007013106A KR100620941B1 (ko) | 1999-03-23 | 2000-03-21 | 비디오 디코더 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6871001B1 (ko) |
EP (1) | EP1091590A4 (ko) |
JP (1) | JP3813444B2 (ko) |
KR (1) | KR100620941B1 (ko) |
CN (1) | CN1132432C (ko) |
AU (1) | AU3196700A (ko) |
WO (1) | WO2000057650A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030018605A (ko) * | 2001-08-30 | 2003-03-06 | 김희석 | 엠펙 코어의 움직임 보상을 위한 메모리 인터페이스와가산기의 병렬 처리 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6828977B2 (en) * | 2001-02-15 | 2004-12-07 | Sony Corporation | Dynamic buffer pages |
US7379069B2 (en) | 2001-02-15 | 2008-05-27 | Sony Corporation | Checkerboard buffer using two-dimensional buffer pages |
US6803917B2 (en) * | 2001-02-15 | 2004-10-12 | Sony Corporation | Checkerboard buffer using memory bank alternation |
DE10141130C1 (de) * | 2001-08-22 | 2003-04-03 | Sci Worx Gmbh | Verfahren und Vorrichtung zur Kodierung und Dekodierung von digitalen Bilddatenströmen |
KR20050078706A (ko) * | 2004-01-31 | 2005-08-08 | 삼성전자주식회사 | 메모리 액세스 방법 및 메모리 액세스 장치 |
CN1323556C (zh) * | 2004-02-25 | 2007-06-27 | 凌阳科技股份有限公司 | 可节省暂存器的双向动态补偿方法 |
WO2005088982A1 (en) * | 2004-03-03 | 2005-09-22 | Koninklijke Philips Electronics N.V. | Video processing circuit and method of video processing |
JP2005267148A (ja) * | 2004-03-18 | 2005-09-29 | Konica Minolta Business Technologies Inc | メモリ制御装置 |
KR100647954B1 (ko) * | 2005-01-07 | 2006-11-23 | 엘지전자 주식회사 | 화질 개선부가 구비된 이동 단말기 및 이동 단말기표시장치 화질 개선 방법 |
KR100763178B1 (ko) | 2005-03-04 | 2007-10-04 | 삼성전자주식회사 | 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
US20070053442A1 (en) * | 2005-08-25 | 2007-03-08 | Nokia Corporation | Separation markers in fine granularity scalable video coding |
US7965898B2 (en) * | 2005-10-28 | 2011-06-21 | Nvidia Corporation | Accelerating video decoding using multiple processors |
KR100761834B1 (ko) * | 2006-01-13 | 2007-09-28 | 삼성전자주식회사 | 화면의 라인들을 복수개의 메모리에 나누어 저장하는비디오 디코딩 장치, 비디오 디코딩 방법 및 기준화면 저장방법 |
US8369419B2 (en) * | 2006-06-16 | 2013-02-05 | Via Technologies, Inc. | Systems and methods of video compression deblocking |
US8275049B2 (en) * | 2006-06-16 | 2012-09-25 | Via Technologies, Inc. | Systems and methods of improved motion estimation using a graphics processing unit |
US8243815B2 (en) * | 2006-06-16 | 2012-08-14 | Via Technologies, Inc. | Systems and methods of video compression deblocking |
TWI444047B (zh) * | 2006-06-16 | 2014-07-01 | Via Tech Inc | 用於視訊解碼的去方塊效應濾波器、視訊解碼器與圖形處理單元 |
US8498333B2 (en) * | 2006-06-16 | 2013-07-30 | Via Technologies, Inc. | Filtering for VPU |
US9319708B2 (en) * | 2006-06-16 | 2016-04-19 | Via Technologies, Inc. | Systems and methods of improved motion estimation using a graphics processing unit |
US9204159B2 (en) * | 2006-06-16 | 2015-12-01 | Via Technologies, Inc. | VPU with programmable core |
KR101029075B1 (ko) | 2007-03-29 | 2011-04-18 | 삼성전자주식회사 | 패키지형 디코더 장치 |
CN101543082B (zh) * | 2007-05-22 | 2011-07-20 | 松下电器产业株式会社 | 运动图像解码装置以及运动图像解码方法 |
US10133485B2 (en) * | 2009-11-30 | 2018-11-20 | Red Hat, Inc. | Integrating storage resources from storage area network in machine provisioning platform |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3381077B2 (ja) * | 1992-12-04 | 2003-02-24 | ソニー株式会社 | 動画像復号装置 |
JP2503853B2 (ja) | 1992-12-16 | 1996-06-05 | 日本電気株式会社 | 動画像復号システム |
JP3381855B2 (ja) * | 1992-12-28 | 2003-03-04 | ソニー株式会社 | 画像信号符号化方法および画像信号符号化装置、並びに画像信号復号化方法および画像信号復号化装置 |
AU5632394A (en) * | 1993-03-05 | 1994-09-08 | Sony Corporation | Apparatus and method for reproducing a prediction-encoded video signal |
JP3119994B2 (ja) * | 1994-04-28 | 2000-12-25 | 株式会社グラフィックス・コミュニケーション・ラボラトリーズ | 画像データの処理方法およびそれに用いる記憶装置ならびに画像データの処理装置 |
US6301299B1 (en) * | 1994-10-28 | 2001-10-09 | Matsushita Electric Industrial Co., Ltd. | Memory controller for an ATSC video decoder |
JP3120010B2 (ja) * | 1994-12-28 | 2000-12-25 | 株式会社グラフィックス・コミュニケーション・ラボラトリーズ | 画像復号処理方法および画像復号装置 |
US6256348B1 (en) * | 1996-08-30 | 2001-07-03 | Texas Instruments Incorporated | Reduced memory MPEG video decoder circuits and methods |
JPH1155668A (ja) | 1997-07-31 | 1999-02-26 | Nec Corp | 画像符号化装置 |
JP4264571B2 (ja) * | 1998-04-09 | 2009-05-20 | ソニー株式会社 | ディジタル画像復号装置及び方法、並びに記録媒体 |
KR100274397B1 (ko) * | 1998-06-18 | 2000-12-15 | 구자홍 | 타임랩스 영상녹화재생기의 메모리 운용방법 |
-
2000
- 2000-03-21 EP EP00909779A patent/EP1091590A4/en not_active Withdrawn
- 2000-03-21 KR KR1020007013106A patent/KR100620941B1/ko not_active IP Right Cessation
- 2000-03-21 AU AU31967/00A patent/AU3196700A/en not_active Abandoned
- 2000-03-21 WO PCT/JP2000/001725 patent/WO2000057650A1/ja active IP Right Grant
- 2000-03-21 JP JP2000607421A patent/JP3813444B2/ja not_active Expired - Lifetime
- 2000-03-21 US US09/700,575 patent/US6871001B1/en not_active Expired - Fee Related
- 2000-03-21 CN CN008009120A patent/CN1132432C/zh not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030018605A (ko) * | 2001-08-30 | 2003-03-06 | 김희석 | 엠펙 코어의 움직임 보상을 위한 메모리 인터페이스와가산기의 병렬 처리 |
Also Published As
Publication number | Publication date |
---|---|
KR100620941B1 (ko) | 2006-09-13 |
CN1132432C (zh) | 2003-12-24 |
CN1306726A (zh) | 2001-08-01 |
US6871001B1 (en) | 2005-03-22 |
EP1091590A1 (en) | 2001-04-11 |
WO2000057650A1 (en) | 2000-09-28 |
JP3813444B2 (ja) | 2006-08-23 |
EP1091590A4 (en) | 2005-12-07 |
AU3196700A (en) | 2000-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100620941B1 (ko) | 비디오 디코더 | |
US8660190B2 (en) | Image processing apparatus implemented in IC chip | |
US5543847A (en) | Picture coding and decoding method for random accessing | |
US7706445B2 (en) | Image processing employing picture type conversion | |
KR100416873B1 (ko) | 부호화데이터재생방법및장치 | |
US20070030899A1 (en) | Motion estimation apparatus | |
US5739862A (en) | Reverse playback of MPEG video | |
US5854799A (en) | Video decoder with functions to detect and process errors in encoded video data | |
KR20070063528A (ko) | 화상 부호화 장치 및 화상 복호화 장치 | |
US7245821B2 (en) | Image processing using shared frame memory | |
JP2001285876A (ja) | 画像符号化装置とその方法、ビデオカメラ、画像記録装置、画像伝送装置 | |
JP2001346165A (ja) | 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機 | |
US7292782B2 (en) | MPEG picture data recording apparatus, MPEG picture data recording method, MPEG picture data recording medium, MPEG picture data generating apparatus, MPEG picture data reproducing apparatus, and MPEG picture data reproducing method | |
JPH08331560A (ja) | デコーダおよびmpegビデオデコーダ | |
US6128340A (en) | Decoder system with 2.53 frame display buffer | |
KR20020065908A (ko) | 화상 재생 방법과 화상 처리 방법, 및 이들 방법을 이용가능한 화상 재생 장치, 화상 처리 장치, 텔레비전 수상기 | |
JP3191439B2 (ja) | 符号化画像信号切換装置 | |
JP3203172B2 (ja) | Mpegビデオデコーダ | |
JP2003052020A (ja) | 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機 | |
JP2002057986A (ja) | 復号装置および方法、並びに記録媒体 | |
JP3374128B2 (ja) | 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機 | |
JP3322670B2 (ja) | Mpegビデオデコーダ | |
JP2001238167A (ja) | 画像再生方法とこの方法を利用可能な画像再生装置およびテレビジョン受像機 | |
JP3548167B2 (ja) | 画像処理装置 | |
JP2001339726A (ja) | 画像処理方法とこの方法を利用可能な画像処理装置およびテレビジョン受像機 |
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: 20110720 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |