KR100376207B1 - 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치 - Google Patents

비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치 Download PDF

Info

Publication number
KR100376207B1
KR100376207B1 KR1019950024966A KR19950024966A KR100376207B1 KR 100376207 B1 KR100376207 B1 KR 100376207B1 KR 1019950024966 A KR1019950024966 A KR 1019950024966A KR 19950024966 A KR19950024966 A KR 19950024966A KR 100376207 B1 KR100376207 B1 KR 100376207B1
Authority
KR
South Korea
Prior art keywords
pixel data
access period
video frame
ram
row
Prior art date
Application number
KR1019950024966A
Other languages
English (en)
Other versions
KR960009748A (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 KR960009748A publication Critical patent/KR960009748A/ko
Application granted granted Critical
Publication of KR100376207B1 publication Critical patent/KR100376207B1/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
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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
    • 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

픽셀 데이터의 부분을 회복하기 위해 RAM의 각기 다른 행이 어드레스 되어야만 하는 시간을 감소시키는 방법으로 비디오 신장 프로세서의 랜덤 액세스 메모리에 픽셀 데이터가 저장된 후 랜던 액세스 메모리로부터 독출된다. 비디오 프레임으로부터 픽셀 데이터가 다수의 페이지로서 RAM 내에 저장된다. 각각의 패이지는 RAM의 다른 행을 거의 채우고 비디오 프레임의 다른 부분에 대응된다. 동작벡터는 비디오 프레임 내에 예측영역의 위치를 결정하기 위해 디코드 된다. 예측영역이 비디오 프레임의 다수의 페이지를 포함할 경우, 픽셀 데이터는 데이터를 회복시키기 위해 RAM을 어드레싱 할 때 요구된 행 변경의 수를 회소화 하면서 한번에 1페이지가 회복된다.

Description

비디오 신장 프로세서에 있어서 디램(DRAM)의 효율적인 어드레싱을 행하기 위한 방법 및 장치
[산업상의 이용분야]
본 발명은 비디오 신장 프로세서에 관한 것으로, 특히 현재 비디오 프레임을 복원하는데 필요한 선행 비디오 프레임 픽셀 데이터를 회복시키기 위해, DRAM의 각 행들이 반드시 어드레스 되어야만 하는 시간을 감소시키도록 프로세서에 있어서 다이나믹 랜덤 액세스 메모리(DRAM; Dynamic Random Access Memory)를 어드레싱 하기 위한 효율적인 체계에 관한 것이다.
[종래의 기술 및 그 문제점]
텔레비젼 신호의 디지탈 전송은 아날로그 기술보다 더 높은 품질의 비디오및 오디오 서비스를 가져다 준다. 디지털 전송체계는 케이블 텔레비젼 네트워크를 통하거나 케이블 텔레비젼 계열회사의 위성에 의해 제공 및/또는 가정의 위성 텔레비전 수신기로 직접 제공되는 신호에 대해 특히 유효하다. 오디오 산업에 있어서 디지털 콤팩트 디스크가 아날로그 축음기판을 대체한 것과 마찬가지로, 디지털 텔레비젼 전송기 및 수신기 시스템이 기존의 아날로그 시스템을 대체할 것으로 기대된다.
대량의 디지털 데이터가 어떠한 디지털 텔레비젼 시스템으로 전송되어야만 한다. 디지털 텔레비젼 시스템에 있어서, 가입자는 가입자에게 비디오, 오디오 및 데이터를 제공하는 수신기나 디스크램블러를 통해 디지탈 데이터 스트림을 수신한다. 그것은 이용 가능한 무선 주파수 범위를 가장 효과적으로 사용하기 위하여, 전송되어야만 하는 데이터량을 최소화 시키기 위해 디지털 텔레비젼 신호를 압축하는데 유효하다.
텔레비젼 신호의 비디오 부분은 동화상을 함께 제공하는 비디오 "프레임(frame)"의 시퀀스로 이루어진다. 디지털 텔레비젼 시스템에 있어서, 비디오 프레임의 각 라인은 "픽셀(pixel)"과 관련된 디지탈 데이터 비트의 시퀀스에 의해 정의된다. 텔레비젼 신호의 각 비디오 프레임을 정의하기 위해서는 대량의 데이터가 요구된다. 예컨대, NTSC(National Television System Committee) 결정에 따르면 하나의 비디오 프레임을 제공하기 위해서는 7. 4메가비트의 데이터가 요구된다. 이는 480라인 디스플레이를 의한 640픽셀이 각각의 원래의 색 적색, 녹색, 청색에 대해 8비트의 강도값이 사용되는 것으로 추정된다. PAL(phase alternating line) 결정에 따르면, 하나의 비디오 프레임을 제공하기 위해서는 9.7메가비트의 데이터가 요구된다. 이 경우에 있어서는, 576라인 디스플레이를 의한 704픽셀이 각각의 원래의 색적색. 녹색, 청색에 대해 8비트의 강도값이 사유된다. 이와 같이 대량의 정보를 처리하기 위해서는 데이터가 압축되어야만 한다.
비디오 압축기술은, 종래의 통신채널을 통해 디지탈 비디오 신호의 효과적인 전송을 가능하게 한다. 그와 같은 기술은 비디오 신호 내의 중요한 정보의 보다 효과적인 표시를 이끌어 내기 위해, 인접한 픽셀간의 상관성(correlation)의 장점을 취하는 압축 알고리즘을 이용한다. 가장 강력한 압축 시스템은 공간적인 상관성의 장점을 취할 뿐만 아니라, 데이터를 좀더 압축시키기 위해 인접한 프레임간 유사성을 이용할 수도 있다. 그와 같은 시스템에 있어서, 차동 인코딩은 보통 실제 프레임과 실제 프레임의 예측간 차이만을 전송하는데 이용된다. 상기 예측은 동일한 비디오 시퀀스의 선행 프레임으로부터 이끌어진 정보에 기초한다.
동작보상을 이용하는 비디오 압축 시스템의 예는 크라우제 등에 의한 미국 특허 제5,057,916호, 제5,068,724호, 제5,091,782호, 제5,093,720호 및 제5,235,419호 등에서 찾을 수 있다. 일반적으로, 그와 같은 동작보상 시스넴은 블록매칭 동작추정 알고리즘의 장점을 취한다. 이 경우, 동작벡터는 특정한 현재 블록과 자장 유사한 선행 프레임의 블록을 식별함으로써, 화상의 현재 프레임의 각 블럭을 결정한다. 다음에, 대응하는 쌍을 식별하기 위해 요구되는 동작벡터와 함께 대응하는 블록쌍간 차이를 보냄으로써 디코더에 의해 전체의 현재 프레임이 복원될 순 있다. 종종, 치환된 블럭 차와 동작벡터 신호 모두를 압축함으로써 전송된 데이터량이 좀더 감소된다. 블록매칭 동작추정 알고리즘은 DCT(discrete cosine transform)와 같은 블록-기초 공간 압축기술과 결합될 때 특히 효과적이다.
비디오 프로그램을 형성하는 각각의 연속 디지탈 비디오 프레임은 내부 프레임 (I-프레임), 예측 프레임(P-프레임) 또는 B-프레임으로 분류될 수 있다. 상기 예측은 연속적인 프레임간 시간적인 상관성에 기초한다. 일부 프레임은 짧은 시간 주기에 따른 또 다른 프레임과 다르지 않다. 인코딩 및 디코딩 방법은 각 픽처의 타입에 따라 다르다. 가장 간단한 방법은 1-프레임을 이용하고, 그 후 P-프레임을 이용한 다음 B-프레임을 이용하는 것이다.
1-프레임은 어떠한 또 다른 프레임에 관계없이 단일 프레임을 충분히 묘사한다. 진보된 에러 은폐의 경우, 동작벡터는 1-프레임과 함께 포함될 수 있다. P-프레임과 B-프레임 모두가 I-프레임으로부터 예측되기 때문에, I-프레임에 있어서의 에러는 디스플레이된 비디오에 잠재적인 아주 큰 영향을 미친다.
P-프레임은 선행 I 또는 P프레임에 기초하여 예측된다. 그 기준은 초기 I 또는 P프레임에서 미래의 P-프레임까지로, 소위 "선행 예측(forward prediction)"이라고 부른다. B-프레임은 아주 초기의 I 또는 P프레임과 좀더 나중의 I 또는 P프레임으로부터 예측된다. 미래 픽처(예컨대, 아직 디스플레이 되지 않은 하나)에 대한 기준은 "후행 예측(backward prediction)"이라 부른다. 후행 예측은 압축율을 증가시키는데 있어 매우 유용한 경우가 있다. 예컨대, 도어(door)가 열린 장면에 있어서 현재 픽처는 도어가 이미 열린 미래 픽처에 기초하여 도어 뒤에 무엇이 있는지를 예측할것이다.
B-프레임은 최대의 압축을 가져올 뿐만 아니라, 최대의 에러도 가져온다. 에러의 전파를 제거하기 위해, B-프레임은 다른 B-프레임으로부터 결코 예측되지 않을 것이다. P-프레임은 적은 에러를 가져오면서 적은 압축을 가져온다. I-프레임은 최소의 압축을 가져오지만, 비디오 시퀀스 내에 랜덤 액세스 엔트리 포인트(random access entry point)를 제공할 수 있게 한다.
디지탈 비디오 신호를 인코딩 하기에 적절한 하나의 표준은 MPEG(Motion Picture Experts Grollp) 표준이 있고. 특히 MPEG-2 표준이 있다. 이 표준은 시퀀스 내에 I-프레임, P-프레임 및 B-프레임을 취해야만 하는 어떠한 특정한 분배를 기술하고 있지 않다. 대신에, 그 표준은 각각의 분배가 압축 및 랜덤 액세스성의 정도의 차를 제공할 수 있도록 한다. 하나의 공통의 분배는 약 1/2초마다 I-프레임을 갖고 연속적인 I 또는 P프레임간 2개의 B-프레임을 갖는다. P-프레임을 디코딩 하기 위해, 선행 I-프레임을 이용할 필요가 있다. 마찬가지로, B프레임을 디코딩하기 위해, 선행 및 미래의 P 또는 I-프레임을 이용할 필요가 있다. 따라서, 비디오 프레임이 종속명령으로 인코딩됨으로써, 예측에 이용된 모든 픽처가 그로부터 예측된 픽처 전에 코드화 된다. MPEG-2 표준(그리고, 또 다른 DigiCipherer 11 표준)의 보다 상세한 설명과 비디오 신장 프로세서에 있어서의 수행은 참조에 의해 여기에 구체화된 1994년 모토롤라 마이크로프로세서 및 메모리 테크놀로지 그룹에서 "MPEG-2/DC11 비디오 신장 프로세tj"로 명기된 임시 자료집인 문서 MC68VDP/D에서 찾을 수 있다.
실제의 시스템에 있어서 비디오 압축을 수행하기 위해 비디오 신장 프로세세는 각 디지탈 텔레비전 수신기가 요구된다. 그와 같은 비디오 신장 프로세서를 수행하기 위해 회로칩이 집적된 VLSI(very large scale integration)의 개발이 현재 진행중이다. 텔레비전 세트와 같은 소비자 제품에 있어서, 시스템 구성요소의 비용을 가능한 한 낮게 유지시킬 필요가 있다. 비디오 신장 프로세서와 관련된 중요한 비용중의 하나는, (i) 신장전에 압축된 데이터를 버퍼하고, (ii) 동작추정 기술을 이용하여 현재 프레임을 예측하는데 필요한 선행 프레임 데이터를 저장하며, (iii) 텔레비젼 세트, 비디오 테이프 레코더 등과 같은 비디오 장치로 출력하기에 앞서 신장된 데이터를 버퍼하기 위해 필요한 랜덤 액세스 메모리(RAM)이다.
통상, 외부 DRAM에서 수행된 MPEG-2 또는 DC11 신장 프로세서에 의해 요구된 비디오 데이터 메모리의 효율적인 이용은 요구된 데이터 액세스율(예컨대, 메모리 대역폭)을 유지하면서 메모리의 최소량을 이용할 수 있는 구성이 요구된다. 통상, DRAM은 행(또한, "페이지"와 관련된)과 열의 어레이로 구성된다. DRAM 동작의 규칙중 하나는 행 어드레스의 변경이 새로운 행의 첫번째 데이터에 대해 느린 액세스의 결과를 야기시킨다는 것이다. 그래서, DRAM I/0 대역폭을 최대로 하기 위해, 최소의 행 어드레스의 변경을 야기하도록 데이터를 독출하는 것이 바람직하다. 따라서, 그것은 행 변경을 최소화 하기 위해, 메모리 맵을 구성하는데 유효하하다. 이러한 목표를 달성하기 위해 그것은 랜덤 액세스 메모리에 저장된 데이터를 순차적으로 액세스하는데 유효하다. 그와 같은 순차 액세스는 빠르기 때문에 바람직하다. 반면, 행 어드레스의 빈번한 변경을 요구하는 랜덤 액세스는 느리기 때문에 바람직하지 않다.
MPEG 또는 DigiCipherII(DC11)를 따르는 비디오 신장 프로세서에 있어서, 여러가지 프로세스는 DRAM 액세스를 요구한다. 이들 프로세스는 예측계산, 디스플레이, 패킷 필터/비디오 선입선출(FIFO) 기록 및, 비디오 선택스 파싱/비디오 FIFO 독출을 포함한다. 이들 프로세스에 의해 이루어지는 DRAM에 액세스 요구는 실제의 비디오 신장 프로세서에 있어서 우선화 되어 효과적으로 서비스 되어야만 한다. 비록 이상적으로 모든 프로세스가 곧바로 액세스가 주어지더라도, 실제로는 하나의 프로세스만이 어느 주어진 시간에 DRAM에 액세스 할 수 있다. 따라서, DRAM 액세스의 우선순위를 정하고 DRAM I/0 대역폭을 최대로 하는 비디오 신장 프로세서에서의 DRAM 메모리 관리체계를 제공하는데 효과적이다.
[발명의 목적]
본 발명은 상기한 점을 감안하여 이루어진 것으로, 비율 버퍼링(ratebuffering), 최적의 어드레스 오더링(ordering), 통계적 평균화(예컨대, 한프레임의 시간에 따른 비디오 프레임의 디코딩), DRAM 요구 조정 및, 디코딩 부프로세스간 핸드쉐이킹(handshaking)을 포함하는 기술을 이용하여 DRAM I/0 대역폭이 개선된 상술한 장점을 갖는 비디오 신장 프로세서를 제공하는 것에 그 목적이 있다.
제1도는 본 발명에 따른 비디오 신장 프로세서의 블럭도,
제2도는 본 발명에 따른 하나의 루미넌스 비디오 프레임이 어떻게 타일들로 분할되는지를 나타내는 개략 설명도,
제3도는 하나의 루미넌스 타일의 개략 설명도,
제4도는 하나의 크로미넌스 타일의 개략 설명도,
제5도는 액세스 되기 위하여 예측영역으로부터 데이터의 독출이 4개의 다른 메모리 행을 요구하는 좋지 않은 경우의 조건의 개략설명도,
제6도∼제10도는 예측영역 내의 데이터 부분이 수직 페이지 경계의 위치에 따라 어떻게 스캔 될 수 있는지 나타내는 개략 설명도,
제11도는 본 발명에 따른 예측 어드레스 발생기의 블럭도,
제12도는 본 발명의 메모리 독출체계를 수행하기 위한 루틴을 나타내는 순서도이다.
본 발명에 따르면, 픽셀 데이터의 부분을 회복시키기 위해 RAM의 각기 다른 행("페이지")이 어드레스 되어야만 하는 시간을 감소시키도록 DRM과 같은 RAM에 픽셀 데이터를 저장하고 순차적으로 RAM으로부터 독출하기 위한 방법이 제공된다. 회복된 부분은 픽셀 데이터에 의해 표시된 선행 비디오 프레임으로부터 현재 비디오 프레임의 복원이 가능하다. 선행 비디오 프레임은 다수의 타일로 RAM에 저장된다. 각각의 타일은 실제로 RAM의 각기 다른 행을 채우고 M픽셀의 높이와 N픽셀의 폭을 갖는 비디오 프레임의 각기 다른 섹션에 대응한다. 동작벡터는 선행 비디오 프레임 내에 예측영역의 위치를 결정하기 위해 디코딩 된다. 상기 예측영역은 H픽셀이 차지하고 있는 수직공간과 동등한 높이와 W픽셀이 차지하고 있는 수평공간과 동등한 폭을 갖는다. 상기 예측영역이 비디오 프레임의 하나 이상의 타일(RAM의 하나 이상의 열)을 포함할 경우, 각각의 다음 타일로부터 예측영역에 의해 경계된 픽셀 데이터를 회복시키도록 진행하기 전에 대응하는 RAM 행으로부터 예측영역에 의해 경계된 1타일로부터의 모든 픽셀 데이터가 회복된다. 이러한 방법에 있어서, 예측영역에 의해 경계된 모든 픽셀 데이터는 한번에 1페이지씩 RAH으로부터 회복된다. 각각의 타일이 RAM의 하나의 행에 대응하기 때문에, 이러한 기술은 메모리로부터 픽셀데이터를 회복시키기 위해 각기 다른 행이 어드레스 되어야만 하는 시간을 최소화 한다.
상술한 실시예에 있어서, 예측영역은 타일보다 더 작다. 그래서, 예측영역의 높이(H)는 타일의 높이(M)보다 낮다. 마찬가지로, 예측영역의 폭(W)이 타일의 폭(N)보다 좁다. 상기 실시예에 있어서, 크기 M과 N은 M:N의 비율이 H:W의 비율에 가까워지도록 선택된다. 각각의 타일 내에서 픽셀 데이터는 지그제그 순서로 예측영역에 의해 경계된 부분으로부터 회복될 수 있다.
선행 비디오 프레임으로부터 크로미넌스 데이터의 타일이 루미넌스 데이터의 대응하는 타일과 분리되어 저장될 지라도, 크로미넌스 타일의 저장과 회복은 루미넌스 타일과 동일한 방법으로 수행된다. 그래서, 크로미넌스 데이터는 각각 RAM의 1행을 채우는 타일 내에 할당될 것이다. 루비넌스 타일과 같이 크로미넌스 타일도 지그제그 순서로 어드레스 될 수 있다.
픽셀 데이터에 의해 표시된 선행 비디오 프레임으로부터 현재 비디오 프레임을 복원하기 위해 필요로 하는 픽셀 데이터를 회복시키기 위해 RAM의 다수의 각각 다른 행이 어드레스 되어야만 하는 시간을 감소시키도록 비디오 신장 프로세서의 RAM을 어드레싱 하기 위한 장치가 제공된다. 다수의 타일내에 선행 비디오 프레임을 표시하는 픽셀 데이터를 할당하기 위한 수단이 제공된다. 각각의 타일은 RAM의 단일 행의 용량에 대체로 대응하는 데이터량을 포함한다. 메모리 매니저는 기본 행마다 1타일로 RAM 내에 상기 타일을 기록하기 위해 기록 어드레스를 생성한다. 동작벡터 디코더는 압축된 현재 프레임 비디오 데이터와 결합된 동작벡터를 수신하기위해 결합된다. 동작벡터 디코더는 선행 비디오 프레임 내에 예측영역의 위치를 결정하기 위해 동작벡터를 디코딩 한다. 메모리 매니저와 결합된 예측 어드레스 발생기는 RAM으로부터 예측영역 내에 픽셀 데이터를 독출하기 위해 독출 어드레스를 생성하기 위한 동작벡터 디코더에 응답한다. 만약 예측영역이 비디오 프레임의 하나 이상의 타일을 포함하면, 메모리 매니저는 예측영역에 의해 경계된 어떤 또 다른 타일로부터 픽셀 데이터를 회복하기 위해 진행되기 전에 예측영역에 의해 경계된 1타일로부터 모든 픽셀 데이터를 회복시키는 순서로 독출 어드레스를 제공한다. 이러한 방법에 있어서, 예측영역에 의해 경계된 모든 픽셀 데이터는 RAM 내에 각기 다른 행의 어드레싱을 최소화 하는 시간에 RAM 1행으로부터 회복된다.
메모리 매니저는 각각의 분리된 타일 내에 지그제그 순서로 하나 이상의 타일이 경계된 예측영역에 대하여 독출 어드레스를 제공할 수 있다. 더욱이, RAM은 데이터를 기록하고 데이터를 독출하기 위한 32비트 데이터버스를 갖춘다. RAM에 저장된 픽셀 데이터의 행간 수직 및 수평 "페이지" 경계를 식별하기 위한 수단이 제공될 수 있다. 그와 같은 식별수단은 예측영역이 비디오 프레임의 하나 이상의 타일을 포함한 경우 독출 어드레스의 생성을 용이하게 하기 위해 메모리 매니저와 관련된 동작을 수행한다.
상기 실시예에 있어서, 적어도 하나의 비율제어 버퍼는 RAM으로부터 출력되는 데이터를 버퍼링 하기 위해 제공된다. 이상적으로, RAM 데이터에 엑세스를 요구하는 각각의 독립 프로세스는 프로세스와 메모리 매니저간 비율제어 버퍼로서 제공되는 스몰(small) FIFO가 제공된다.
더욱이, RAM에 저장된 데이터의 기록 및 독출을 모니터 하기 위한 수단이 제공될 수 있다. 상기 수단은, 새로운 픽셀 데이터가 디스플레이를 위해 요구된 RAM에 저장된 픽셀 데이터를 중복기록 하면, RAM 내에 기록되는 새로운 픽셀 데이터의 디코딩을 일시적으로 정지시키기 위한 모니터링 수단에 응답한다.
상술한 바와 같이, RAM은 다수의 비디오 디코딩 프로세스에 데이터를 제공하기 위해 액세스 될 것이다. 이와 같은 예에 있어서, 메모리 매니저는 각각 다른 우선순위로 각각의 비디오 디코딩 프로세스를 제공한다. 각각 다른 디코딩 프로세스에 할당된 우선순위는 프로세스의 데이터 액세스 요구에 의존한다.
(실시예)
제1도는 본 발명에 따른 외부 DRAM(22)을 어드레스 하는 메모리 매니저(30)가 결합된 비디오 신장 프로세서의 블럭도이다. 일반적으로 제작된 프로세서(20)는 터미널(10)을 통해 입력된 압축 비트스트림의 비디오계층과 전송계층(예컨대, 제어 및 다른 비영상 정보) 모두를 디코드 하기 위해 제작된 파이프라인화 된 프로세서이고, 때때로 비디오 프로세서의 "전송패킷인터페이스"와 결합된다.
프로세서(20) 내의 여러가지 레지스터를 구성하는 M-버스 콘트롤러(50)를 통해 비디오 데이터 프로세서의 제어를 위해 사용자 프로세서 인터페이스가 터미널(14)에 제공된다. M-버스는 2선식으로 장치간 데이터 교환의 단순 및 효과적인 수단을 제공하는 양방향 직렬버스이고, I2C 버스와 완전히 호환된다. 어드레스선(24)과 데이터선(26)을 통해 DRAM(22)에 인터페이스가 제공된다. 제1도에 도시된 실시예에 있어서, DRAM(22)은 9비트 어드레스 포트와 32비트 데이터 포트를 갖추고있다.
비디오 출력 인터페이스(38)에는 표준 CCIR(International Rdio Consultive Committee) 656, 8비트, 27MHz 다중화 루미넌스(Y) 및 크로미넌스(Cr, Cb) 신호로 출력되는 신장, 복원된 비디오가 제공된다.
테스트 인터페이스는 종래 JTAG(Joint Test Action Group) 콘트롤러(60)에 터미널(62)을 통해 제공된다. JTAG는 패키지와 보드 연결에 결함을 검출하기 위한 보드레벨 테스팅 뿐만 아니라 내부 회로구성이 이용된 표준화 경계주사 방법이다.
비디오 신장 프로세서(20)는 터미널(12)을 통해 클럭신호를 수신한다.
클럭은 전송 신택스 파서(32)가 터미널(10)을 통해 입력되는 압축 비트스트림의 전송패킷으로부터 타이밍 정보와 비디오 정보를 복윈시킬 수 있도록 하는 타이밍 정보를 제공한다. 획득 및 에러 처리회로(34)는 픽처 디코딩의 개시를 동기화 하기 위해 비디오 신택스 파서(40)에 의해 검출된 PCR(program clock reference)과 DTS(decode time stalmp)를 이용한다. 이 회로는 수직 동기화를 설정하여 모든 비디오 디코드 및 디스플레이 기능을 위한 글로벌 동기화를 제공한다.
비디오계층은 메모리 매니저(30)에 의해 외부 DRAM(22)에 구성된 입력버퍼(FIFO)로 버퍼된다. 비디오 신택스 파서(40)는 메모리 매니저(30)를 통해 DRAM FIFO로부터 출력되는 압축 비디오 데이터를 수신하고, 비디오 정보를 묘사하는 계수로부터 동작벡터 정보를 분류한다. 그 계수는 후프만디코더(52), 역양자화기(54) 및 IDCT(inverse discrete cosine transform)프로세서(56)에 의해 처리된다.
동작벡터는 복원되어 현재 비디오 프레임을 복원하기 위해 요구된 선행 디코드화 비디오 프레임을 어드레스하는데 이용된다. 특히, 동작벡터 디코더(42)는 비디오 신택스 파서(40)로부터 수신된 동작벡터를 디코드 하여 예측 어드레스 발생기(44)로 패스한다. 예측 어드레스 발생기는 메모리 매니저(30)를 통해 회복에 필요한 어드레스 정보를 제어하는데, 예측 계산기(46)가 현재 프레임 블록을 복윈하는데 필요한 예측 데이터를 제공할 수 있도록 필요한 앵커 프레임 데이터를 제공한다. 차동 디코더(48)는 신장된비디오 데이터를 제공하기 위해 예측 데이터와 디코드된 계수 데이터를 결합시킨다. 신장된 데이터는 메모리 매니저(30)를 통해 DRAM(22)의 적절한 버퍼에 저장된다.
동작벡터 디코더(42), 예측 어드레스 발생기(44), 예측 계산기(46), 차동디코더(48), 후프만 디코더(52), 역양자화기(54) 및 IDCT(56)에 의해 수행된 비디오 신장 프로세스는 종래기술로부터 잘 이해될 수 있다. 이들 구성요소는 본 발명의 어느 부분에도 제공하고 있지 않다.
본 발명에 따른 메모리 매니저(30)는 외부 DRAM 어드레스와 데이터버스(24, 26)에 모든 동작을 스케쥴 하여 DRAM(22)을 효과적으로 어드레스한다. 메모리 매니저는 DRAM(22)의 입력 FIFO부와, 비디오 신택스 파서(40)및 비디오 복원회로(36; 뿐만 아니라, 예측 계산기(46)와 차동 디코더(48))의 데이터 전송요구가 모두 만나는 것을 보증한다. 비디오 복원회로(36)는 현재 픽처를 계산하고 비디오 출력선(38)으로 출력하기 위한 폐쇄자막, VITS(vertical interval test signal) 및 테스트 패턴 데이터를 삽입한다. 그 출력 디스플레이는 PCR을 PTS(presentationtime stamp)와 비교함으로써 동기화 된다. 비디오 프레임의 디코딩과 디스플레이를 개시해야 할 때의 결정은 DTS(decod time stamp)를 PTS와 비교함으로써 이루어진다.
또한, 메모리 매니저는 양방향 예측 프레임(B-프레임)의 유무에 따라 NTSC또는 PAL이 될 수 있는 디코딩 모드에 따른 DRAM(22)의 FIFO부의 가변크기를 제공한다. 비디오 버퍼 제어는 DRAM(22)에 의해 제공된 FIFO가 오버플로우 또는 언더플로우 하지 않도록 한다. 버퍼 제어는 PCR과 DTS를 포함하는 시스템 타이밍 파라메터의 함수이다.
DRAM(22)은 외부 메모리로서 예시되고 2개의 8M비트 수행을 위한 4M비트(M비트, 예컨대 220비트) DRAM, 16M비트 수행을 위한 4M비트 DRAM 등과 같은 다수의 DRAM칩에 의해 제공된다. 앞으로의 수행에 있어서, 그리고 메모리 기술의 진보에 따라, 비디오 신장 프로세서 내에 내부 메모리로서 DRAM(22)이 제공될 것으로 평가된다. DRAM은 압축된 입력 비디오 비트스트림을 위한 순환 FIFO 뿐만 아니라, 다양한 디코드와 출력 비디오 버퍼를 제공하기 위해 맵핑(mapping)된다. 또한, DRAM은 디코드된 비디오 프레임을 적절하게 디스플레이 하는데 필요한 다양한 픽처구조 데이터를 저장할 뿐만 아니라, 테스트 패턴 버퍼와, VITS 버퍼 및 폐쇄자막 디스플레이 재정렬 버퍼를 제공하는데 이용된다. 비디오 프레임 수직크기, PAL 또는 NTSC 비디오, 테스트 패턴의 존재, 8 또는 16M비트 메모리 구성 및 B-프레임 존재의 여부 등과 같은 변수가 변경될 때 요구된 것과 같이 각기 다른 메모리 맵을 제공하기위해 메모리 매니저(30)를 통해 DRAM이 재초기화 될 수 있다.
메모리 매니저(30)는 입력 FIFO, 비디오 파서 및 비디오 복원회로의 데이터 전송요구를 포함하는 외부 DRAM버스의 모든 동작을 스케줄 한다. 또한, 메모리 매니저는 종래 방법으로 요구된 DRAM 리프레쉬를 수행한다. 예컨대, 각각의 2 또는 4개의 외부 DRAM의 동일한 행이 동시에 리프레쉬 될 수 있l구.
DRAM(22)으로부터 데이터를 액세스 하는 각각의 구성요소와 메모리매니저(30)간 비율 흐름 버퍼(rate flow buffer)로서 소량의 FIFO가 제공될 수 있다. 예컨대, 비디오 신택스 파서(40)는 메모리 매니저(30)를 통해 DRAM(22)으로부터 데이터를 수신하는 통로에 작은 비율 흐름 버퍼를 포함한다. 상기 비디오 신택스 파서는 가끔 적절하게 새로운 데이터 워드를 요구한다. 그러나, 새로운 워드가 파서를 요구할 경우에는 즉시 그것을 해야만 한다. 그렇지 않으면, 비디오 신택스 파서로부터 출력을 요구하는 다운스트림 프로세스는 비디오 신장 프로세서의 효율을 감소시키는 유휴(idle)상태가 된다. 새로운 데이터 워드를 필요로 할 때마다 비디오 신택스 파서(40)가 DRAM에 개별적인 요구를 하면, 랜덤 액세스가 늦어져 파싱 프로세스가 지연될것이다. 상기 비율 흐름 버퍼의 제공은 이러한 잠재적인 문제를 극복한다. 예컨대, 비율 흐름 버퍼가 DRAM 데이터의 20워드를 유지할 수 있다면, 비디오 신택스 파서는 비율 흐름 버퍼로부터 즉시 요구하는 새로운 데이터 워드를 얻을 수 있게 된다. 비율 흐름 버퍼가 소정의 텅빈 프리셋 레벨에 도달하면, 메모리 매니저(30)는 RAM으로부터 데이터를 좀더 독출하도록 지시한다. 좀더 DRAM 데이터의 요구가 제공되면, 데이터가 순차 버스터(burst)로 독출되어 충만될 때까지 비율 흐름 버퍼에 저장된다.
비율 흐름 버퍼는 보통 DRAM의 동일한 행 내에서 액세스가 순차적이면서 빠르기 때문에 DRAM I/0 대역폭 및 디코더 속도에 도움을 주고, 데이터가 부족하여 파서가 동작하지 않는다. 특히, 요구는 비율 흐름 버퍼가 완전히 비워지기 전에 새로운 데이터를 채워 넣을 수 있다.
압축된 비트스트림이 비디오 신장 프로세서(20)의 터미널(10)에 입력되면, 비트스트림에 의해 표시된 비디오 프레임이 한번에 하나씩 복원된다. 최초에, 비디오 데이터의 충만 프레임이 수신되어 DRAM(22)에 저장된다. 선행 비디오 프레임(DRAM(22)에 저장된)으로부터 예측 데이터가 부가되면 충만 프레임의 복원을 야기하는 충만 비디오 프레임의 서브세트로 다음 비디오 프레임을 위한 정보가 이루어질 수 있다. 각각의 새로운 1 또는 P 비디오 프레임이 복원되어 압축된 비트스트림의 데이터에 의해 표시된 다음 프레임을 복원하는데 필요한 앵커 프레임으로 이용하기 위해, 그리고 비디오 시퀀스의 적절한 시간에 디스플레이를 위해 DRAM 내에 저장된다. 각각의 B-프레임이 복원되어, 적절한 전용된 시간에 디스플레를 위해 저장된다. 본 발명은 DRAM(22)으로부터 액세스된 데이터의 대다수(예컨대, 대략 80%)가 픽셀의 "예측영역"에 이루어진다는 장점을 갖는다. 기술된 실시예에 있어서, 각각의 예측영역은 17픽셀 폭에 9픽셀 높이이다. 이러한 크기(8 × 16 픽셀영역 대신)의 예측영역의 이용은 1행과 1열이 2개의 8 × 8 픽셀블럭 세트에 추가되기 때문에 서브픽셀을 달성할 수 있게 한다. 예측영역의 폭 대 높이의 비율(9:17)은 대략 0.53이다. DRAM(22)이 어드레싱 할 때 필요한 행 크로싱(row crossing)의수를 최소화 하기 위해, 유사한 폭 대 높이의 비율(예컨대. 약 0.50)을 갖는 기초 타일로 DRAM에 선행 프레임 데이터가 저장된다. 본 발명에 이용될 수 있는 비디오 프레임 내에 타일의 할당은 제2도에 기술되어 있다.
제2도의 예에 나타낸 바와 같이, 루미넌스 NTSC 비디오 프레임(70)은 같은 크기의 165개의 "타일"로 분할된다. 각각의 타일(72)은 각각 4개의 매크로블럭 갖는 2개의 슬라이스 내에 8개의 매크로블럭(MB)을 포함한다. 165개의 타일은 각 행이 11개의 타일을 포함하는 15개 행의 어레이로 구성된다. 각 행은 각 비디오 프레임 내에 총 30개의 슬라이스중 2개 슬라이스를포함한다. 각 슬라이스는 44개의 매크로블럭을 포함한다. 비디오 프레임에는 각각 8개의 매크로블록을 포함하는 165개의 타일이 있기 때문에, 각 NTSC 비디오 프레임 내에 총 1320개의 매크로블럭을 갖는다. 각 루미넌스매크로블럭은 8 × 8 픽셀의 4개의 블럭을 포함한다. 각각의 픽셀은 8비트의 데이터로 이루어진다. 비디오 프레임은 각 타일이 DRAM(22)의 1행 내에 유지될 수 있는 데이터량을 포함 할 수 있도록 분할된다. 따라서, 상기의 동일한 기초적인 원리를 이용하여 또 다른 텔레비전 포맷을 이를 수 있는 것으로 평가 될 것이다.
상술한 실시예에 있어서, 각각의 DRAM(22)의 행은 총 16,384비트를 위해 512개의 32비트 워드를 유지한다. 따라서, 비디오 프레임의 각 타일(72)도 16,384비트를 포함한다. 각 매크로블럭이 4개의 8 × 8 픽셀블럭을 포함하기 때문에, 매크로블럭은 매크로블럭당 총 2,048비트를 위해 256개의 8비트 픽셀로 이루어진다. 각 타일은 총 16,384비트에 대해 8개의 매크로블록을 포함한다. 따라서, 제2도에 도시된 루미넌스 비디오 프레임의 각 타일(72)은 DRAM(22)의 1행으로 맵핑한다.
제3도는 하나의 루미넌스 타일을 보다 상세히 도시했다. 도시한 바와 같이, 루미넌스 타일은 비디오 프레임의 2개의 다른 슬라이스의 부분으로 이루어진다. 4개의 매크로블럭(각기 4개의 8 × 8 루미넌스 블록을 포함)은 각 슬라이스부에 제공된다. 각 DRAM 위치는 1개의 32비트 워드이기 때문에, 4개의 8비트 루미넌스 픽셀(Y)은 제3도의 4개의 픽셀 워드(80)로 도시된 바와 같이 각 DRAM 위치에 저장될 수 있다. 상술한 바와 같이, DRAM의 각 행에 512개의 열이 있고. 16진 RAM 어드레스(0-1FF)의 하나에 의해 각각 액세스 할 수 있다.
크로미넌스 데이터는, 각 비디오 프레임이 루미넌스 정보의 1/2의 크로미넌스 정보를 포함하는 것을 제외하고는 유사하게 처리된다. 따라서, 제4도에 도시된 바와 같이 각 크로미넌스 타일(82)은 비디오 프레임의 4개의 슬라이스로부터 일부를 포함하는데, 각 슬라이스부는 4개의 크로미넌스 매크로블럭을 포함한다. 크로미넌스 매크로블럭은 루미넌스 매크로블럭 크기의 1/2이기 때문에, 타일당 8개의 매크로블럭 대신, 크로미넌스 타일은 16개의 매크로블럭을 포함한다. 루미넌스 타일과 같이, 각 크로미넌스 타일도 DRAM(22)의 1행으로 맵핑한다. 상술한 실시예 있어서, DRAM(22)은 보통 루미런스 섹션 크기의 1/2인 크로마 섹션을 가지면서 루미넌스 데이터와 크로미넌스 데이터를 저장하기 위한 분리영역으로 분할된다. 4개의 픽셀워드(84)로 도시된 바와 같이, 크로미넌스 데이터는 cb 및 cr 크로미넌스 구성요소를 교대로 하여 저장된다.
제5도는 DRAM으로부터 예측영역 내에 픽셀그룹을 독출하기 위해 필요한 메모리 행 어드레스의 수를 최소화 하는데 본 발명의 행 맵핑마다 1타일이 어떻게 이용될 수 있는지를 기술한다. 4개의 인접한 타일(74, 75, 77, 79: 제2도의 비디오 프레임(70)의 상부 좌측 코너로부터)은 제5도에 도시되어 있다. 단순성을 위해, 타일(74)의 모두가 제5도에 도시되어 있을 뿐, 타일(75, 77, 79)은 일부분만이 도시되어 있다. 타일(74, 75, 77, 79)의 수직 교차부는 DRAM(22)의 수직 "페이지" 경계(92)를 따른다. 이들 타일의 수평 교차부는 DRAM의 수평 "페이지" 경계(94)를 따른다. DRAM(22)의 각행(예컨대, "페이지")에 하나의 타일이 저장되기 때문에, 수직 또는 수평 페이지 경계가 교차될 때마다 DRAM의 새로운 행을 어드레스 할 필요가 있다.
DRAM(22)에 저장된 선행 프레임의 픽셀 데이터로부터 현재 프레임의 픽셀 데이터를 예측하기 위하여, 현재 프레임으로 예측되는 각 픽셀그룹에 대한 소정 예측영역으로부터 선행 프레임 픽셀이 독출될 것이다. 각 픽셀그룹에 대한 예측영역은, 종래 방법으로 압축 비디오 데이터와 함께 전송된 동작벡터를 이용하여 위치된다. 제5도에는 가장 나쁜 경우의 예측영역 90이 도시되어 있다. 예측영역(90)은 4개의 다른 타일로 픽셀을 덮기 때문에, 가장 나쁜 경우의 시나리오를 나타낸다. 만약, 예컨대 연속적인 행을 간단하게 스캐닝 함으로써 이 예측영역이 독출되면, 수직 페이지 경계(92)를 반복적으로 교차하게 되버려 DRAM의 다른 행을 액세스하게 된다. 이것은 데이터가 DRAM으로부터 특출되는 속도를 상당해 감소시킨다.
본 발명에 따른 예측영역은 단지 4개의 DRAM 행 어드레싱 단계만을 요구하는, 예컨대 예측영역에 포함된 각각의 타일(74, 75, 77, 79)에 대해 새로운 행 어드레스가 단 한번만 요구되는 방법으로 스캐닝 된다. 이를 실현하기 위해, 각 타일로부터의 모든 데이터가 다음 타일로 진행하기 전에 독출된다. 기술된 각 실시예는 예측영역(90) 내에 존재하는 타일(74)로부터 모든 데이터를 회복하기 위해 예측영역의 상부 좌측 코너에서 개시하는 지그제그 스캐닝 패턴을 이용한다. 다음에, 그 타일로부터 예측영역 내의 모든 데이터가 회복될 때까지 비디오 프레임의 타일(75)을 포함하는 DRAM(22)의 행이 스캐닝 된다. 다음에, 타일(77)에 대응하는 DRAM 행이 액세스 되고, 예측영역(90) 내의 타일(77)에 존재하는 모든 데이터가 회복된다. 최종적으로. 타일(79)을 포함하는 DRAM 행이 액세스 되고, 그 타일에 대한 예측영역 내의 모든 데이터가 회복된다. 그래서. DRAM 내에 다른 행을 반복적으로 액세싱 하는 대신에, 가장 나쁜 경우에 있어서는 전체 예측영역으로부터 데이터를 회복하기 위해 단지 4개의 DRAM 행 액세스만이 이루어질 필요가 있다.
제6도 내지 제10도는 수직 페이지 경계가 예측영역 어디에 존재하는지에 따라 예측영역으로부터 데이터가 어떻게 스캔 될 수 있는지를 나타낸다. 제6도 내지 제10도에 나타낸 예는 단지 예일 뿐이고, 본 발명에 있어서는 다음 타일로 진행하기 전에 각 타일로부터 모든 데이터를 독출하기 위해 많은 다른 스캐닝 패턴이 이용됨으로써, DRAM 내에 요구된 행 액세스의 수를 최소화 시킬 수 있는 것으로 평가된다.
제6도 내지 제10도에 있어서, 각 블럭(120)은 비디오 프레임의 타일로부터 4 픽셀 워드를 나타낸다. 수직 페이지 경계(타일이 저장된 DRAM내의 행 변경에 대응하는)는 참조번호 100으로 표시되었다. 제6도에 있어서, 관련된 예측영역은타일(102)의 마지막 열과 타일(104)의 첫번째 4열까지 포함한다. 따라서, 높이 9픽셀과 폭 17픽셀인 예측영역에 대해, 5, 4-픽셀폭 열(예컨대, 제6도에 나타낸 바와 같이)은 예측영역의 폭을 수용하기에 충분한 것을 알 수 있다. 그래서, 수직 페이지 경계(100)가 제6도에 도시한 바와 같이 위치된 경우에는 우선 화살표(103) 방향으로 타일(102) 내에 모든 픽셀을 독출한 후, 타일(104)을 포함하는 DRAM 행을 어드레싱 하고, 기술한 바와 같은 지그제그 방식으로 타일(104)로부터 적절한 데이터를 스캐닝 함으로써 예측영역 내에 데이터를 회복시킬 수 있다.
수직 페이지 경계(100)가 제7도에 도시된 바와 같이 위치된 경우에는, 우선 타일(106)로부터 데이터가 기술한 바와 같은 지그제그 방식으로 독출된후, 타일(108)을 포함하는 행이 도시한 지그제그 순서로 타일(108)로부터 데이터를 독출하도록 어드레스 된다. 만약, 수직 페이지 경계(100)가 제8도에 도시된 바와 같이 위치되면, 데이터는 도시된 순서로 타일(110)로부터 독출된후, 타일(112)로부터 독출될 수 있다.
페이지 경계(100)가 제9도에 도시된 바와 같이 위치될 경우, 데이터가 도시된 지그제그 순서로 타일(114)로부터 독출된 후, 타일(116)을 포함하는 DRAM(22)의 행이 화살표(115)로 도시된 것으로부터 적절한 데이터를 독출하기 위해 액세스 될 수 있다. 제10도에 있어서의 예는 예측영역 내에 수직 페이지 경계가 없는 것을 나타낸다. 모든 예측영역은 타일(118) 내에 존재한다. 그래서, 데이터는 도시된 지그제그 순서 등과 같은 어떠한 순서로도 독출될 수 있다.
제6도 내지 제10도에 도시된 수평 스캐닝 순서는 단지 예일 뿐이고, 수직 스캐닝과 같은 또 다른 기술도 본 발명에서 쉽게 이용될 수 있다. 그 판단의 주요기준은 또 다른 타일로 경계가 교차하기 전에 하나의 타일로부터 모든 데이터가 독출하는 것이다.
제11도는 본 발명에서 이용될 수 있는 예측 어드레스 발생기(44. 제1도)의 1실시예의 블럭도이다. 비디오 신택스 파서에 의해 압축 비트스트림으로부터 파서된 동작벡터(MVs)는 예측 어드레스 발생기(44)의 터미널(130)을 통해 동작벡터 분류기(132)에 입력된다. 그 동작벡터 분류기는 적절한 시간에 정확한 동작벡터를 멀티플렉스 한다. 사용된 예측모드에 따라 특정 예측을 위해 동작벡터의 6개의 각기 다른 세트(x, y)까지 이용될 수 있다. MPEG및/또는 DC11 표준에 따라 이용될 수 있는 다른 예측모드의 예는 예측 프레임, 예측 필드, 특정 프레임, 스페셜 필드, B-프레임(프레임 또는 필드) 및 이중 프라임 모드가 있다.
동작벡터가 분류된 후, 그들은 현재 예측영역에 대한 수직 페이지 경계가 존재하는 곳이 있으면 결정하는 페이지 브레이크 모드 발생기(134)에 입력된다. 페이지 브레이크 모드 발생기가 필요로 하는 시작 어드레스는 이하와 같이 베릴로그 코드(verilog code)로 표현될 수 있다.
x-start_coord[9:0] = {mb_num[5.0], 4' ho} +
selected_mvx[10:1]
x_start_coord는 예측 픽셀의 시작 x좌표(예컨대, 수평방향)인 곳이다. 보간법이 이용되는지의 여부를 식별하기 위해 "서브펠 비트(subpel bit)"가 제공된다. selected_mxv[0]가 서브펠 비트이다. 상기 실시예에 있어서, 서브벨 비트는 동작벡터의 LSB(least significant bit)이고, 만약 2진수 "1"로 설정되면, 보간법이 이용된다. 가능한 모든 페이지 브레이크 및. 그들을 식별하는 코드를 이하의 표에 나타냈다.
표에 있어서, 4개의 픽셀 워드를 "X"로 표시했고, 수직 페이지 브레이크의 위치를 "| "로 표시했다. 페이지가 수평 방향으로 4개의 매크로블럭을 포함하기 때문에, 각 수직 페이지 브레이크의 위치는 x-start_coord의 6 LSB와 서브펠 비트(selected_mvx[0])로 결정될 수 있다.
예측영역에 대한 소정 수직경계가 위치된 후, 예측 데이터를 저장하는 DRAM을 어드레싱 하는데 필요한 행 변경의 수를 최소화 하기 위해 x-y 오프셋 발생기(136)는 스캐닝 모드(제5도∼제10도에 도시된 바와 같이)를 확립한다. x-t 오프셋 발생기의 동작은 제12도와 관련하여 이하에서 상세히 설명한다.
인에이블 로직(140; enable logic)은 터미널(138)에 입력된 여러가지 신호들에 응답한다. 이들 신호는 매크로블럭 수, 블럭 수, 필드 또는 프레임 기초 동작보상이 이용되는지의 여부, 동작벡터 카운터 및 슬라이스 동기화 신호 뿐만 아니라, 예측모드중에서 어느 것이 이용되는지를 정의하는 정보를 포함한다. 현재 슬라이스 수가 x, y좌표 발생기(148)에 곧바로 터미널(150)을 통해 입력되고, 또한 x,y좌표 발생기(148)는 x-y 오프셋 발생기(136), 블럭 카운터(142), 매크로블럭 카운터(144) 및 스킵된 매크로블럭 카운터(146)를 수신한다. x, y좌표 발생기의 동작은 아래와 같이 베릴로그 코드로 표현 될 수 있다.
x_coord[9:0] = {mb_num[5.0],4' ho} +
selected_mvx[10:1] + x-offset
if (chroma-mode) {
y-coord[9:0] = {1' bo, slice-num, fr_b_num, 2' ho} +
{ {14 {selected_mvy[7]}}, selected_mvy[6:1] +
sc-y-offset} else {
y-coord[9:0] = {slice-num, fr-b_num,3' ho} +
{{4(selected_mvy[7]}}, selected_mvy[6:1]}} +
sc-y-offset
slice_num은 slice-vertical_position - 1인 곳이고; fr-b_num(1 bit)은 비디오 데이터의 프레임 모드 처리에서만 그리고 매크로블럭의 두번째 2- 블록쌍이 처리될 때에만 하이(high)이며; 그리고, sc-y-offset은 y-offset< <fram_mode이다.따라서, 크로미넌스(chroma) 모드에 있어서, 동작벡터가 2개의 요인에 의해 확대되는 것을 알 수 있다. 그래서, 만약 루미넌스 동작벡터가 2의 값을 가지면, 그 동작 벡터는 크로미넌스에 대해 4의 값을 가지게 된다.
블럭 카운터(142)는 매크로블럭 내의 총 블럭수를 카운트 한다. 이 카운터는 B-프레임, 특정 예측(DC11) 및 듀얼 프라임 예측모드의 평균화를 위해 피드백 되어야만 하는 블럭의 수를 포함한다. 블럭 카운터(142)는 3비트 와이드(wide)이고, 삽입블럭을 포함하면서 매크로블럭 내의 2개의 8 × 8블럭의 카운터쌍이다. 또한, 크로미넌스 데이터가 언제 처리되는지 뿐만이 아니라, 어느 동작벡터가 적용되는지를 결정하는데 이용된다.
매크로블럭 카운터는 슬라이스 내의 매크로블럭 수의 트랙을 유지하고, x_coord를 생성하는데 필요한 mb_num을 제공한다. 또한, 매크로블럭 카운터는 일단 모든 매크로블랙 헤더를 증가시키고, 각 슬라이스의 개시로 수신된 매크로블럭 수로 리셋 한다. 스킵된 매크로블럭 카운터는 수신된 데이터 에러가 발생될 경우에는 스킵되어야만 하는 매크로블럭의 수를 카운트 한다.
매크로블럭이 스킵되면, 예측 어드레스 발생기는 예측을 위한 동작벡터를 0으로 출력하거나, B-프레임 예측모드가 이용될 때 선행 매크로블럭 동작벡터를 재사용한다. 동시에, 블럭 카운터는 평균화를 위해 요구된 블럭수를 최소화 시키기 위해 재조정 된다.
제12도는 본 발명의 메모리 독출체계를 수행하기 위해 X-Y 오프셋 발생기(136)에 의해 이용된 루틴을 설명하는 순서도이다. 루틴은 박스(160)에서 시작하고, 예측영역 내의 다음의 예측 데이터 블럭쌍의 시작을 알리는 싱크펄스("2blk_sync")가 도달되는지의 여부에 따라 결정이 이루어지는 박스(162)로 패스된다. 만약 도달이 이루어지지 않으면, 루틴은 "2blk_sync" 펄스가 도착할 때까지 박스(162)의 상위로 루프 백(loop back) 한다. 이러한 경우가 발생하면. x-offset과 y-offset은 박스(164)에 나타낸 바와 같이 0으로 세트될 것이다. 이들 오프셋은 예측영역의 상부 좌측 픽셀로부터 측정된다.
박스(166)에서는 예측영역의 수직 페이지 브레이크인지의 여부에 따라 결정이 이루어진다. 만약 그렇지 않다면(no_page_brk = yes), 4개 픽셀의 현재 워드가 예측영역 내의 픽셀의 수정 행에서의 최종 워드인지의 여부에 따라 결정이 박스(168)에서 이루어진다. 만약 그렇다면(x_offset_end = yes), 워드가 예측영역 내의 수직방향에서의 최종 워드인지의 여부에 따라 결정이 박스(170)에서 이루어진다. 만약 그렇다면(y-offset_end = yes). 예측영역의 모든 픽셀 데이터가 수신되고, 루틴은 다음 블럭쌍의 도달을 기다리기 위해 박스(162)로 되돌아 간다. 그렇지 않으면, 박스(172)에서 x-offset은 0으로 되돌아 가고 y-offset은 1로 증가되어, 예측영역 내의 픽셀 데이터의 다음 행이 독출 될 수 있다. 이 루틴부는 프로세싱을 위한 수직 페이지 브레이크가 없는 예측영역을 처리하기 때문에, 제10도에 도시한 바와 같이 픽셀 데이터의 지그제그 스캐닝이 계속될 것이다. 그래서, 예측영역 내의 각 수평 행의 끝에서, DRAM은 다음 행으로부터 첫번째 워드를 독출하기 위해 어드레스 될 것이다. 예측영역 내의 각 수평 행의 끝 행의 시작으로부터 데이터 진행의 독출에 따라, 제12도의 박스(174)에 나타낸 바와 같이 x-offset이 1씩 증가될것이다.
페이지 브레이크를 (no-page-brk = no)와 비교하기 위해, 루틴은 박스(166)에서 수직 페이지 브레이크의 우측으로부터, 예컨대 제16도의 페이지 104로부터 픽셀이 현재 독출되는지의 여부에 따라 결정이 이루어지는 박스(176)로 패스될 것이다. 만약 그렇다면, 예측영역 내의 현재 행의 끝에(x_offset_end = yes)가 도달되었는지의 여부에 따라 결정이 이루어지는 박스(190)에서 루틴이 계속된다. 만약 그렇다면, 박스(194)에서, 예측영역의 최종 행이 (y-offset_end = yes)을 독출하는지의 여부에 따라 결정이 이루어진다. 만약 그렇다면, 예측영역 내의 모든 펙셀이 독출되고 루틴은 박스(162)로 되돌아 갈 것이다. 그렇지 않으면, 그것은 예측영역 내의 레이지 브레이크의 우측으로 독출되는 행이 첨가되고, 박스(196)에서 x-offset은 페이지 경계 (x-offset_reg)의 우측에 첫번째 워드로 세트되고, y-offset은 1이 증가된다(y-offset = y-offset + 1), 예측영역의 현재 행 내에 독출되는 추가적인 워드의 존재가 박스(190)에서 결정될 경우, 박스(192)에서는 x-offset이 1이 증가된다(x-offset = x-offset + 1).
페이지 브레이크의 좌측(예컨대, 제7도에 도시된 페이지 106의 부분으로부터 데이터가 현재 독출되는 것을 루틴의 박스 176이 결정하면, 페이지 브레이크 전에 최종 워드가 현재 행으로부터 독출 되는지의 여부에 따라 결정이 박스(178)에서 이루어진다. 만약 그렇지 않다면, 박스(180)에서 x_offset은 1이 증가된다. 만약 페이지 브레이크 전에 행의 최종 워드만이 독출 되면, 예측영역의 최종 행이 처리되는지의 여부에 따라 박스(182)에서 결정이 이루어진다(예컨대, y-offset_end=yes).만약 그렇지 않다면, 박스(184)에서 x_offset은 0(예측영역 내의 수평 행의 첫번째 워드)으로 되돌아 가고, y-offset은 1이 증가된다. 한편, 모든 픽셀이 페이지 브레이크의 좌측(예컨대, 제7도의 페이지 106)으로부터 독출되면, 페이지 브레이크의 우측(예컨대, 제7도에 도시된 페이지 108)으로 예측영역의 부분을 스캔하기 위해 페이지 브레이크를 걸쳐 가로지를 필요가 있다. 이렇게 하기 위하여, 박스(186)에서 x-offset은 1이 증가되고(페이지 브레이크의 오른쪽으로), y-offset은 0으로 되돌아 가도록 세트된다(예측영역 내의 새로운 타일의 상부 하측 워드로), 동시에 x-offset_reg는 x-offset으로 세트되어, 각각의 다음 행으로부터 데이터의 독출이 페이지 브레이크의 오른쪽에서만 시작할 것이다.
상술한 바와 같이, 제12도의 루틴은 제6도-제10도에 도시한 바와 같은 지그제그 스캐닝 순서로 수행한다. 물론, 또 다른 루틴이 다른 스캐닝 순서를 수행하도록 대신할 수 있다. 페이지 브레이크가 교차되어야만 하는 시간을 최소화 하기 위해 본 발명에 따른 적합한 소정 스캐닝 순서가 한번에 1타일씩 예측영역 내의 데이터를 독출함으로써, 픽셀 데이터를 저장하는 랜덤 액세스메모리에 어드레스 되어야만 하는 새로운 페이지(예컨대, 행)의 수를 최소화할 수 있다.
DRAM(22)으로의 데이터의 기록 및 실시간 기본으로 비디오 프레임을 디코드 하여 디스플레이 하기 위한 DRAM(22)으로부터의 데이터 독출은 디코딩율의 조절을 필요로 한다. 그렇지 않으면, 디스플레이를 위해 DRAM에 저장된 데이터는 데이터가 디스플레이 되기 전에 중복기록 될 것이다. 그래서, 비디오 프레임의 디코딩 전에 비디오 프레임의 DTS로부터 정해진 시간이 개시가능 할 때까지 기다릴 필요가 있다. 만약, 디코드 되는 비디오 프레임이 DRAM(22) 내의 순환버퍼에 예정되면, 수직위치가 "최종 디스플레이필드"로부터 현재 디스플레이 되는 라인의 수직 위치를 초과하는(약간의 비율 흐름 버퍼링을 더하는) 슬라이스의 디코딩이 허가될 수 없다. 최종 디스플레이 필드는 현재 디스플레이 되는 비디오 프레임의 최종 필드이다. 이것은 3:2 풀다운 시퀀스가 필드모드 처리를 위해 이용되는지의 여부에 따라 비디오 프레임의 필드1 또는 필드2가 존재할 것이다. 전체 비디오 프레임을 저장하는데 필요한 것 이외에는 비율 흐름 버퍼링은 단순히 순환버퍼에 더해진 약간의 여분의 라인으로 이루어진다. 비율 흐름 버퍼의 목적은 픽처의 쉬운 부분을 디코딩 할 때 디코더가 진행할 수 있도록 하는 것이고, 따라서 만약 어려운 비디오 부분이 마주치면 디코더는 피하지 않는다. 이는 아직 충분히 디코드 되지 않은 데이터를 시스템이 디스플레이 하려는 상황을 피하게 할것이다.
디스플레이를 위해 계속 요구되는 데이터의 중복기록을 방지하기 위해, 획득 및 에러 처리회로(34)는 DRAM(22)에 저장된 데이터의 기록 및 독출을 메모리 매니저(30)를 통해 모니터 한다. 디코드 되는 데이터가 디스플레이를 위해 요구되는 DRAM에 저장된 중복기록 픽셀 데이터에 접근할 경우, 회로(34)는 룸(room)이 DRAM(22) 내에 디코드된 데이터를 저장할 수 있을 때까지 새로운 픽셀 데이터의 디코딩을 일시적으로 정지하도록 비디오 신택스파서(40)에 명령할 것이다. 디코딩의 정지는, 비디오 신택스 파서를 수행하기 위해 이용되는 스테이트 머신을 억제함으로써 이루어질 수 있다. 이 방법에 있어서, 새로운 픽셀 데이터는 디스플레이가 여전히 요구되는 DRAM 내에 저장된 픽셀 데이터를 중복기록하지 않을 것이다. 일단디스플레이가 요구된 데이터가 비디오 복원회로(36)를 통해 출력되면, 디코딩 처리가 재시작되고, 디스플레이를 위해 이제 출력되는 데이터가 이용할 수 있도록 만들어진 공간의 DRAM(22)에 새롭게 디코드된 데이터가 저장된다.
이상 설명한 바와 같이 본 발명은, 비디오 신장 프로세서에 있어서 랜덤 액세스 메모리 대역폭의 이용을 최적화 하기 위한 기술을 제공할 수 있다. 그와 같은 최적화를 달성하기 위해 비율 버퍼링, 최적화 어드레스 오더링, 통계적 평균화, 메모리 요구의 중재 및 디코딩 서브프로세스간 핸드쉐이킹이 모두 이용될 수 있다. 본 발명의 어드레스 오더링 구성은, 예측영역으로부터 예측 데이터를 독출할 때 메모리 내에 어드레스 되어야만 하는 행의 수를 최소화 한다. 본 발명에 있어서 이용되는 통계적 평균화는 비디오 데이터의 각 프레임을 디코드 하기 위해 전체 프레임의 시간을 할당한다. 메모리를 액세싱 하는 모든 프로세스의 비율 버퍼링은 효과적으로 액세스가 제공될 수 있도록 한다. DRAM 액세스 요구의 우선순위는 최소의 데이터 강도 프로세스가 기다려지는 동한 최대의 데이터 강도가 존재하는 프로세스로 필요한 대역폭을 제공한다. 핸드쉐이킹은 프로세스 요구 가변시간이 시기에 알맞은 방법으로 다음 프로세스에 데이터를 제공할 수 있도록 한다.
비록 본 발명이 여러가지 특정한 실시예를 들어 설명했을 지라도. 본 발명의 목적 및 배경을 벗어나지 않는 범위 내에서 다양하게 변경하여 실시할수 있다.

Claims (19)

  1. RAM의 각기 다른 행이 어드레스 되어야만 하는 시간을 최소화시키기 위해 RAM으로부터 연속 비디오 프레임의 예측영역 픽셀 데이터를 저장 및 회복하기 위한 방법에 있어서,
    각각의 타일이 M픽셀의 높이와 N픽셀의 폭을 가지면서 상기 RAM의 각기 다른 행을 채우는 다수의 타일로서 상기 RAM에 상기 비디오 프레임의 픽셀 데이터를 저장하는 단계와,
    H픽셀이 차지하는 수직공간과 동등한 높이와 W픽셀이 차지하는 수평공간과 동등한 폭을 각각 갖는 상기 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하는 단계,
    상기 예측영역 픽셀 데이터가 상기 RAM으로부터 회복되는 연속 액세스 주기를 정의하는 타이밍 신호를 제공하는 단계,
    (a) 선택된 비디오 프레임 예측영역이 상기 1개의 행만을 포함할 경우, 제1액세스 주기로 대응하는 픽셀 데이터를 회복시키도록 상기 RAM을 어드레싱 하고, 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하며, 상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 상기 RAM을 어드레싱 하는 단계 및,
    (b) 선택된 비디오 프레임 예측영역이 상기 2개의 행만을 포함할 경우, 상기 제1액세스 주기로 상기 제1행의 대응하는 픽셀 데이터를 회복시키고, 상기 제1액세스 주기 바로 다음에 오는 상기 제2액세스 주기로 상기 제2행의 대응하는 픽셀 데이터를 회복시키도록 상기 RAM을 어드레싱 하고, 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하며, 상기 제2액세스 주기 바로 다음에 오는 제3액세스 주기로 상기 RAM의 1개의 행으로부터 대응하는 픽셀 데이터를 회복시키도록 상기 RAM을 어드레싱 하는 단계를 구비하여 이루어진 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 선택된 비디오 프레임 예측영역이 상기 2개의 행만을 포함할 경우, 그 2개의 대응하는 타일은 물리적 픽셀공간의 수직 페이지 경계에 의해 분리되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 선택된 비디오 프레임 예측영역이 상기 2개의 행만을 포함할 경우, 그 2개의 대응하는 타일은 물리적 픽셀공간의 수평 페이지 경계에 의해 분리되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 예측영역은 H<M과 W<N과 같이 상기 타일보다 작으며, 또한 상기 예측 영역은 상기 각각의 예측영역 내의 픽셀중에 서브픽셀 보간법을 허용하는 크기인 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 선택된 비디오 프레임 예측영역이 상기 4개의 행을 포함할 경우, 상기 제1액세스 주기로 상기 제1행의 대응하는 픽셀 데이터를 회복시키고,상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 상기 제2행의 대응하는 픽셀 데이터를 회복시키고, 상기 제2액세스 주기 바로 다음에 오는 제3액세스 주기로 상기 제3행의 대응하는 픽셀 데이터를 회복시키며, 상기 제3액세스 주기 바로 다음에 오는 제4액세스 주기로 제4행의 대응하는 픽셀 데이터를 회복시키도록 상기 RAM을 어드레싱 하는 단계를 더 구비하여 이루어지고,
    상기 선택된 비디오 프레임 예측영역의 4개의 대응하는 타일은 물리적 픽셀공간의 수평 페이지 경계와 수직 페이지 경계에 의해 분리되는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하는 단계와,
    상기 제4액세스 주기 바로 다음에 오는 제5액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 상기 RAM을 어드레싱 하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 적어도 하나의 연속 비디오 프레임이 필드모드로 제공되고,
    상기 저장단계는 상기 대응하는 어느 하나의 타일의 적어도 하나의 매크로블록으로서 상기 어느 하나의 연속 비디오 프레임의 상기 픽셀을 저장하며,
    상기 매크로블록은 서브세트인 제1 및 제2서브매크로블록을 포함하는 것을특징으로 하는 방법.
  8. 제7항에 있어서, 상기 어느 하나의 액세스 주기로 상기 제1서브매크로블록의 픽셀 데이터를 포함하는 예측영역 데이터를 회복시키도록 상기 RAM을 어드레싱 하는 단계와,
    상기 어느 하나의 연속 비디오 프레임의 대응하는 부분을 복원하는데 상기 회복된 제1서브매크로블록 데이터를 이용하는 단계,
    상기 또 다른 어느 하나의 액세스 주기로 상기 제2서브매크로블록의 픽셀 데이터를 포함하는 예측영역 데이터를 회복시키도록 상기 RAM을 어드레싱 하는 단계 및.
    상기 어느 하나의 연속 비디오 프레임의 대응하는 부분을 복원하는데 상기 회복된 제2서브매크로블록 데이터를 이용하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 방법.
  9. 상기 RAM의 각기 다른 행이 어드레스 되어야만 하는 시간을 최소화시키기 위해 RAM으로부터 연속 비디오 프레임의 예측영역 픽셀데이터를 저장 및 회복하기 위한 장치에 있어서,
    다수의 타일 내에 상기 비디오 프레임을 표시하는 픽셀 데이터를 할당하기 위한 수단과,
    각각의 타일이 M픽셀의 높이와 N픽셀의 폭을 가지면서 상기 SAM의 각기 다른행을 채우는 상기 타일을 기본 행마다 1타일로 상기 RAM 내에 기록하기 위해 기록 어드레스를 생성하기 위한 메모리 매니저.
    상기 비디오 프레임과 관련된 동작벡터를 수신하기 위해 결합되고, H픽셀이 차지하는 수직공간과 동등한 높이와 W픽셀이 차지하는 수평공간과 동등한 폭을 각각 갖는 상기 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하기 위한 디코더,
    상기 RAM으로부터 그 예측영역 픽셀 데이터를 회복시키기 위한 상기비디오 프레임에 대한 독출 어드레스를 생성하기 위해 상기 디로코에 응답하는 예측 어드레스 발생기 및,
    상기 예측영역 픽셀 데이터가 상기 RAM으로부터 회복되는 연속 액세스 주기를 정의하는 타이밍 신호를 제공하기 위한 타이밍 수단을 구비하여 구성되고,
    (a) 선택된 비디오 프레임 예측영역이 상기 1개의 행만을 포함할 경우, 상기 예측 어드레스 발생기는 제1액세스 주기로 그 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하고, 상기 디코더는 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하며, 상기 예측 어드레스 발생기는 상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하며,
    (b) 선택된 비디오 프레임 예측영역이 상기 2개의 행만을 포함할 경우, 상기 예측 어드레스 발생기는 상기 제1액세스 주기로 제1행의 대응하는 픽셀 테이터를 회복시키고, 상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 제2행의 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하고, 상기 디코더는 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하며, 상기 예측영역 어드레스 발생기는 상기 제2액세스 주기 바로 다음에 오는 제3액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서, 상기 선택된 비디오 프레임 예측영역이 상기 2개의 행만을 포함할 경우, 그 2개의 대응하는 타일은 물리적 픽셀공간의 수직 페이지 경계에 의해 분리되는 것을 특징으로 하는 장치.
  11. 제9항에 있어서, 상기 선택된 비디오 프레임 예측영역이 상기 2개의 행만을 포함할 경우, 그 2개의 대응하는 타일은 물리적 픽셀공간의 수평 페이지 경계에 의해 분리되는 것을 특징으로 하는 장치.
  12. 제9항에 있어서, 상기 예측영역은 H<M과 W<N과 같이 상기 타일보다 작으며, 또한 상기 예측 영역은 상기 각각의 예측영역 내의 픽셀 중에 서브픽셀 보간법을 허용하는 크기인 것을 특징으로 하는 장치.
  13. 제9항에 있어서, 선택된 비디오 프레임 예측영역이 상기 4개의 행을 포함할 경우, 상기 예측 어드레스 발생기는 상기 제1액세스 주기로 상기 제1행의 대응하는픽셀 데이터를 회복시키고, 상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 상기 제2행의 대응하는 픽셀 데이터를 회복시키고, 상기 제2액세스 주기 바로 다음에 오는 제3액세스 주기로 상기 제3행의 대응하는 픽셀 데이터를 회복시키며, 상기 제3엑세스 주기 바로 다음에 오는 제4액세스 주기로 제4행의 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하고,
    상기 선택된 비디오 프레임 예측영역의 4개의 대응하는 타일은 물리적 픽셀공간의 수평 페이지 경계와 수직 페이지 경계에 의해 분리되는 것을 특징으로 하는 장치.
  14. 제13항에 있어서, 상기 디코더는 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하고, 상기 예측 어드레스 발생기는 상기 제4액세스 주기 바로 다음에 오는 제5액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하는 것을 특징으로 하는 장치.
  15. 제9항에 있어서, 상기 적어도 하나의 연속 비디오 프레임이 필드모드로 제공되고,
    상기 메모리 매니저는 상기 어느 하나의 타일의 적어도 하나의 매크로블록으로서 상기 어느 하나의 연속 비디오 프레임의 상기 픽셀이 상기 RAM에 저장되도록 기록 어드레스를 생성하며,
    상기 매크로블록은 서브세트인 제1 및 제2서브매크로블록을 포함하는 것을특징으로 하는 장치.
  16. 제15항에 있어서, 상기 예측 어드레스 발생기는 상기 어느 하나의 액세스 주기로 상기 제1서브매크로블록의 픽셀 데이터를 포함하는 예측영역 데이터를 회복시키도록 독출 어드레스를 생성하고,
    상기 회복된 제1서브매크로블록 데이터는 상기 어느 하나의 연속 비디오 프레임을 복원하는데 이용되고,
    상기 예측 어드레스 발생기는 상기 또 다른 어느 하나의 액세스 주기로 상기 제2서브매크로블록의 픽셀 데이터를 포함하는 예측영역 데이터를 회복시키도록 독출 어드레스를 생성하며,
    상기 회복된 제2서브매크로블록 데이터는 상기 어느 하나의 연속 비디오 프레임을 복원하는데 이용되는 것을 특징으로 하는 장치.
  17. 상기 RAM의 각기 다른 행이 어드레스 되어야만 하는 시간을 최소화시키기 위해 RAM으로부터 필드모드 포맷으로 제공되는 연속 비디오 프레임의 예측영역 픽셀 데이터를 저장 및 회복하기 위한 장치에 있어서,
    각각의 매크로블록이 제1 및 제2서브매크로블록으로 분할되는 적어도 하나의 매크로블록을 각각 포함하는 다수의 타일 내에 상기 비디오 프레임을 표시하는 픽셀 데이터를 할당하기 위한 수단과,
    각각의 타일이 M픽셀의 높이와 N픽셀의 폭을 가지면서 상기 RAM의 각기 다른행을 채우는 상기 타일을 기본 행마다 1타일로 상기 RAM 내에 기록하기 위해 기록 어드레스를 생성하기 위한 메모리 매니저,
    상기 비디오 프레임과 관련된 동작벡터를 수신하기 위해 결합되고, H픽셀이 차지하는 수직공간과 동등한 높이와 W픽셀이 차지하는 수평공간과 동등한 폭을 각각 갖는 적어도 상기 서브매크로블록만큼 큰 상기 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하기 위한 디코더,
    상기 RAM으로부터 그 예측영역 픽셀 데이터를 회복시키기 위한 상기 비디오 프레임에 대한 독출 어드레스를 생성하기 위해 상기 디코더에 응답하는 예측 어드레스 발생기 및,
    상기 예측영역 픽셀 데이터가 상기 RAM으로부터 회복되는 연속 액세스 주기를 정의하는 타이밍 신호를 제공하기 위한 타이밍 수단을 구비하여 구성되고,
    (a) 상기 어느 하나의 비디오 프레임의 제1필드의 선택된 비디오 프레임 예측영역이 상기 1개의 행만을 포함할 경우 상기 예측 어드레스 발생기는 제1액세스 주기로 그 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하고, 상기 디코더는 상기 어느 하나의 비디오 프레임의 상기 제1필드의 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하며, 상기 예측 어드레스 발생기는 상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하며,
    (b) 상기 어느 하나의 비디오 프레임의 상기 제1필드의 선택된 비디오 프레임 예측영역이 상기 2개의 행만을 포함할 경우, 상기 예측 어드레스 발생기는 상기제1액세스 주기로 제1헹의 대응하는 픽셀 데이터를 회복시키고, 상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 제2행의 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하고, 상기 디코더는 상기 어느 하나의 비디오 프레임의 상기 제1필드의 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하며. 상기 예측 어드레스 발생기는 상기 제2액세스 주기 바로 다음에 오는 제3액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하는 것을 특징으로 하는 장치.
  18. 제17항에 있어서, 상기 어느 하나의 비디오 프레임의 상기 제1필드의 선택된 비디오 프레임 예측영역이 상기 4개의 행을 포함할 경우, 상기 예측 어드레스 발생기는 상기 제1액세스 주기로 상기 제1행의 대응하는 픽셀 데이터를 회복시키고, 상기 제1액세스 주기 바로 다음에 오는 제2액세스 주기로 상기 제2행의 대응하는 픽셀 데이터를 회복시키고, 상기 제2액세스 주기 바로 다음에 오는 제3액세스 주기로 상기 제3행의 대응하는 픽셀 데이터를 회복시키며, 상기 제3액세스 주기 바로 다음에 오는 제4액세스 주기로 제4행의 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하고,
    상기 디코더는 상기 어느 하나의 비디오 프레임의 어느 하나의 상기 제l필드의 또 다른 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하고, 상기 예측 어드레스 발생기는 상기 제4액세스 주기 바로 다음에 오는 제5액세스 주기로 상기 RAM의 1개 행으로부터 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하는 것을 특징으로 하는 장치.
  19. 제17항에 있어서, 상기 어느 하나의 비디오 프레임의 상기 제1필드 예측영역의 픽셀 데이터가 회복된 후, 상기 디코더는 어느 하나의 상기 비디오 프레임의 상기 제2필드의 예측영역을 결정하기 위해 동작벡터 데이터를 디코딩 하고, 상기 예측 어드레스 발생기는 상기 RAM으로부터 대응하는 픽셀 데이터를 회복시키도록 독출 어드레스를 생성하는 것을 특징으로 하는 장치.
KR1019950024966A 1994-08-15 1995-08-14 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치 KR100376207B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29037294A 1994-08-15 1994-08-15
US08/290,372 1994-08-15

Publications (2)

Publication Number Publication Date
KR960009748A KR960009748A (ko) 1996-03-22
KR100376207B1 true KR100376207B1 (ko) 2003-05-01

Family

ID=23115695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950024966A KR100376207B1 (ko) 1994-08-15 1995-08-14 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치

Country Status (12)

Country Link
US (1) US5675387A (ko)
EP (1) EP0697794B1 (ko)
JP (1) JPH08195960A (ko)
KR (1) KR100376207B1 (ko)
CN (1) CN1110965C (ko)
AU (1) AU688521B2 (ko)
BR (1) BR9503640A (ko)
CA (1) CA2155260C (ko)
DE (1) DE69526470T2 (ko)
HK (1) HK1012140A1 (ko)
NO (1) NO953193L (ko)
TW (1) TW245871B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110093404A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 3차원 그래픽스 랜더링 장치 및 그 방법

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994022269A1 (en) * 1993-03-24 1994-09-29 Sony Corporation Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US5946044A (en) * 1995-06-30 1999-08-31 Sony Corporation Image signal converting method and image signal converting apparatus
DE69614500T2 (de) * 1996-02-27 2001-11-22 St Microelectronics Srl Speicherverminderung für das Grundprofil und die Hauptebene eines MPEG-2-Dekoders
EP0793390A3 (fr) * 1996-02-28 1999-11-03 Koninklijke Philips Electronics N.V. Dispositif de décodage de signaux de type MPEG
KR100194039B1 (ko) * 1996-04-19 1999-06-15 윤종용 엠펙 시스템의 우선순위 처리회로
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation
EP0817498B1 (en) * 1996-06-28 2001-08-22 STMicroelectronics S.r.l. MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG-2 decompressed data optionally after a subsampling algorithm
JP3825888B2 (ja) * 1996-07-19 2006-09-27 キヤノン株式会社 信号処理装置/方法及びメモリ記憶方法
EP0859524B1 (en) * 1996-08-29 2007-06-27 Matsushita Electric Industrial Co., Ltd. Image decoder and image memory overcoming various kinds of delaying factors caused by hardware specifications specific to image memory by improving storing system and reading-out system
US6028635A (en) 1996-12-03 2000-02-22 Stmicroelectronics, Inc. Reducing the memory required for decompression by storing compressed information using DCT based techniques
US6005624A (en) * 1996-12-20 1999-12-21 Lsi Logic Corporation System and method for performing motion compensation using a skewed tile storage format for improved efficiency
US5883679A (en) * 1997-02-20 1999-03-16 C-Cube Microsystems, Inc. Scanning scheme for images stored in dynamic random access memory
GB2329802B (en) * 1997-06-28 1999-08-18 United Microelectronics Corp Adaptive-selection method for memory access priority control in MPEG processor
AU9388298A (en) * 1997-09-19 1999-04-12 Sony Electronics Inc. Motion compensated digital video decoding with buffered picture storage memory map
US6215822B1 (en) 1997-12-30 2001-04-10 Sony Corporation Motion compensated digital video decoding and buffer memory addressing therefor
US6088047A (en) * 1997-12-30 2000-07-11 Sony Corporation Motion compensated digital video decoding with buffered picture storage memory map
NL1007453C2 (nl) * 1997-11-05 1999-05-07 United Microelectronics Corp Zich aanpassende kieswerkwijze voor het regelen van de geheugentoegangsprioriteit in een MPEG-processor.
US6028612A (en) * 1997-11-18 2000-02-22 Stmicroelectronics, Inc. Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
US6104416A (en) * 1997-11-18 2000-08-15 Stmicroelectronics, Inc. Tiling in picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
US6198773B1 (en) * 1997-12-18 2001-03-06 Zoran Corporation Video memory management for MPEG video decode and display system
KR100282389B1 (ko) * 1997-12-31 2001-02-15 구자홍 에이치디티브이 비디오 디코더의 메모리 제어 방법
US6823016B1 (en) * 1998-02-20 2004-11-23 Intel Corporation Method and system for data management in a video decoder
CA2267870A1 (en) * 1998-04-01 1999-10-01 Scott Hartog A linear surface memory to spatial tiling algorithm/mechanism
US6310919B1 (en) * 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
US6567981B1 (en) 1998-08-03 2003-05-20 Elysium Broadband Inc. Audio/video signal redistribution system
WO2000036841A1 (en) * 1998-12-15 2000-06-22 Matsushita Electric Industrial Co., Ltd. Method and apparatus for image processing
FR2787669B1 (fr) * 1998-12-22 2001-03-02 Thomson Multimedia Sa Procede d'adressage pour la memorisation de blocs d'image
US6377713B1 (en) 1999-01-27 2002-04-23 General Instrument Corporation Synchronous DRAM bandwidth optimization for display downsizing of an MPEG-2 image
US6115072A (en) * 1999-01-27 2000-09-05 Motorola, Inc. 16:9 aspect ratio conversion by letterbox method for an MPEG image
JP2001157204A (ja) * 1999-11-25 2001-06-08 Nec Corp 動画像復号化方法及び装置
KR100349058B1 (ko) * 2000-06-15 2002-08-21 (주)씨앤에스 테크놀로지 영상압축복원장치
US6724818B1 (en) * 2000-07-17 2004-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Alternative block orders for better prediction
EP1185109A1 (de) * 2000-08-10 2002-03-06 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Speicherung von Videobildern sowie Mobilfunkgerät
US7225320B2 (en) * 2000-12-28 2007-05-29 Koninklijke Philips Electronics N.V. Control architecture for a high-throughput multi-processor channel decoding system
EP1231793A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the syntax, resolution and bitrate of MPEG bitstreams, a system and a computer program product therefor
EP1231794A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the resolution of MPEG bitstreams, a system and a computer program product therefor
TW515952B (en) * 2001-04-23 2003-01-01 Mediatek Inc Memory access method
US8401084B2 (en) 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
US8037261B2 (en) 2002-06-12 2011-10-11 International Business Machines Corporation Closed-loop system for dynamically distributing memory bandwidth
EP1602240A2 (en) 2003-03-03 2005-12-07 Mobilygen Corporation Array arrangement for memory words and combination of video prediction data for an effective memory access
US8428349B2 (en) 2003-05-21 2013-04-23 Broadcom Corporation Method and apparatus for DRAM 2D video word formatting
US7715479B2 (en) * 2003-07-21 2010-05-11 International Business Machines Corporation Power-aware on-chip memory management for video coding algorithms
US7400683B2 (en) * 2003-11-18 2008-07-15 Lsi Corporation Device with virtual tilized image memory
KR20050078706A (ko) * 2004-01-31 2005-08-08 삼성전자주식회사 메모리 액세스 방법 및 메모리 액세스 장치
US8948263B2 (en) * 2004-02-03 2015-02-03 Broadcom Corporation Read/write separation in video request manager
US20050232355A1 (en) * 2004-04-15 2005-10-20 Srinivas Cheedela Video decoder for supporting both single and four motion vector macroblocks
US8861600B2 (en) * 2004-06-18 2014-10-14 Broadcom Corporation Method and system for dynamically configurable DCT/IDCT module in a wireless handset
JP4909779B2 (ja) * 2006-04-17 2012-04-04 パナソニック株式会社 画像データ転送方法、画像処理装置、及び撮像システム
JP2007300396A (ja) * 2006-04-28 2007-11-15 Matsushita Electric Ind Co Ltd 映像再生装置
US7768520B2 (en) * 2006-05-03 2010-08-03 Ittiam Systems (P) Ltd. Hierarchical tiling of data for efficient data access in high performance video applications
FR2902906A1 (fr) * 2006-06-21 2007-12-28 St Microelectronics Sa Gestion de donnes pour un traitement d'images
US20080158601A1 (en) * 2006-12-29 2008-07-03 Steven Tu Image memory tiling
US8127058B1 (en) * 2008-07-29 2012-02-28 Marvell International Ltd. System and method of video decoding using hybrid buffer
US8477146B2 (en) * 2008-07-29 2013-07-02 Marvell World Trade Ltd. Processing rasterized data
US9544587B2 (en) 2012-05-14 2017-01-10 Google Technology Holdings LLC Scalable video coding with enhanced base layer
US10085016B1 (en) 2013-01-18 2018-09-25 Ovics Video prediction cache indexing systems and methods
US9762919B2 (en) * 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
TWI681362B (zh) * 2018-03-01 2020-01-01 瑞昱半導體股份有限公司 有限記憶體頻寬系統及其動態限制圖形處理器的記憶體頻寬的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0503956A2 (en) * 1991-03-15 1992-09-16 C-Cube Microsystems Decompression of video signal

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03238990A (ja) * 1990-02-15 1991-10-24 Canon Inc メモリ制御回路
US5091782A (en) 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US5068724A (en) 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
US5093720A (en) 1990-08-20 1992-03-03 General Instrument Corporation Motion compensation for interlaced digital television signals
JPH04139986A (ja) * 1990-09-29 1992-05-13 Victor Co Of Japan Ltd 画像信号の動き補償予測符号化/復号化装置
US5293593A (en) * 1990-10-11 1994-03-08 Hewlett-Packard Company Method and apparatus for the mapping of physically non-contiguous memory fragments to be linearly addressable
US5057916A (en) 1990-11-16 1991-10-15 General Instrument Corporation Method and apparatus for refreshing motion compensated sequential video images
JPH04207788A (ja) * 1990-11-30 1992-07-29 Sony Corp 画像信号符号化装置及び方法
AU657510B2 (en) * 1991-05-24 1995-03-16 Apple Inc. Improved image encoding/decoding method and apparatus
US5235419A (en) 1991-10-24 1993-08-10 General Instrument Corporation Adaptive motion compensation using a plurality of motion compensators
US5315388A (en) * 1991-11-19 1994-05-24 General Instrument Corporation Multiple serial access memory for use in feedback systems such as motion compensated television
US5379070A (en) * 1992-10-02 1995-01-03 Zoran Corporation Parallel encoding/decoding of DCT compression/decompression algorithms
US5386233A (en) * 1993-05-13 1995-01-31 Intel Corporation Method for efficient memory use
US5406311A (en) * 1993-08-25 1995-04-11 Data Translation, Inc. Storing a digitized stream of interlaced video image data in a memory in noninterlaced form
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0503956A2 (en) * 1991-03-15 1992-09-16 C-Cube Microsystems Decompression of video signal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110093404A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 3차원 그래픽스 랜더링 장치 및 그 방법
KR101661931B1 (ko) * 2010-02-12 2016-10-10 삼성전자주식회사 3차원 그래픽스 랜더링 장치 및 그 방법

Also Published As

Publication number Publication date
BR9503640A (pt) 1996-05-28
CN1110965C (zh) 2003-06-04
NO953193D0 (no) 1995-08-14
JPH08195960A (ja) 1996-07-30
AU2729195A (en) 1996-02-29
AU688521B2 (en) 1998-03-12
US5675387A (en) 1997-10-07
CA2155260A1 (en) 1996-02-16
EP0697794B1 (en) 2002-04-24
TW245871B (en) 1995-04-21
CA2155260C (en) 2001-12-04
EP0697794A3 (en) 1998-04-29
KR960009748A (ko) 1996-03-22
CN1121673A (zh) 1996-05-01
DE69526470T2 (de) 2002-12-19
HK1012140A1 (en) 1999-07-23
EP0697794A2 (en) 1996-02-21
NO953193L (no) 1996-02-16
DE69526470D1 (de) 2002-05-29

Similar Documents

Publication Publication Date Title
KR100376207B1 (ko) 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치
KR100380709B1 (ko) 디지털비디오신장프로세서및디지털비디오신장프로세서의디램을매핑하기위한방법
EP0712249B1 (en) Pixel interpolation filters for video decompression processor
JP2829262B2 (ja) ビデオ・デコンプレッション・プロセッサのためのシンタックスパーサ
JP3839089B2 (ja) パケット化されたデータストリームからの所望データの取り込み及び同期化方法
US7333545B2 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
EP0843485B1 (en) Video decoder with unified memory
US6088047A (en) Motion compensated digital video decoding with buffered picture storage memory map
US6088391A (en) Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames
JP3395166B2 (ja) 統合ビデオ復号化システム、フレーム・バッファ、符号化ストリーム処理方法、フレーム・バッファ割当て方法及び記憶媒体
US6215822B1 (en) Motion compensated digital video decoding and buffer memory addressing therefor
EP0729276B1 (en) Memory control system and video decoder using the same
CN1155254C (zh) 用于从mpeg-2位流中去除选择的用户数据的可编程滤波器
JPH10178644A (ja) 動画像復号装置
US5666115A (en) Shifter stage for variable-length digital code decoder
WO2000059218A1 (en) Digital video decoding, buffering and frame-rate converting method and apparatus

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee