KR100371834B1 - 비디오신장프로세서용픽셀보간필터및픽셀보간방법 - Google Patents
비디오신장프로세서용픽셀보간필터및픽셀보간방법 Download PDFInfo
- Publication number
- KR100371834B1 KR100371834B1 KR1019950040020A KR19950040020A KR100371834B1 KR 100371834 B1 KR100371834 B1 KR 100371834B1 KR 1019950040020 A KR1019950040020 A KR 1019950040020A KR 19950040020 A KR19950040020 A KR 19950040020A KR 100371834 B1 KR100371834 B1 KR 100371834B1
- Authority
- KR
- South Korea
- Prior art keywords
- interpolated
- pixel data
- data
- frame
- words
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- 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
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/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
-
- 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
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Television Systems (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
본 발명은 비디오 신장 프로세서에서 사용하기 위한 서브펠을 얻기 위해 픽셀을 보간하는 방법 및 장치를 제공한다. 서브펠이 비디오 영상의 일부분을 신장하는데 필요한 예측영역이 규정된다. 예측영역으로부터의 픽셀의 전부를 독출한 후, 그것들을 함께 처리하여 필요한 요구를 실행하는 대신에 픽셀데이터의 부분이 독출되고, 동시에 하드웨어 요구를 저감하기 위해 적절한 계산을 이용하여 평균화된다. 서브펠 결과의 라운딩은 보간된 서브펠을 공급하기 위해 계속해서 트렁케이트되는 평균화된 픽셀에 이진수 "1"을 가산하는 통상의 가산기의 캐리입력을 사용하여 달성된다.
Description
[산업상의 이용분야]
본 발명은 비디오 신장 프로세서에 관한 것으로, 특히 현(現) 비디오 프레임을 재구성하는데 필요한 전(前) 프레임의 픽셀데이터의 수평, 수직 및/또는 양방향 보간을 제공하는 유효한 기술에 관한 것이다.
[종래의 기술 및 그 문제점]
텔레비전 신호의 디지털전송은 아날로그기술보다 대단히 질이 높은 비디오 및 오디오 서비스를 전달할 수 있다. 디지털 전송기술은 케이블 텔레비전망을 매개로 또는 위성에 의해 케이블 텔레비전 가입자 및/또는 가정용 위성텔레비전 수신기로 직접 방송하는 신호에 특히 이점이 있다. 오디오산업에서 디지털 컴팩트디스크가 아날로그 축음 레코드를 대체한 것처럼, 디지털 텔레비전 송신기 및 수신기 시스템이 현존하는 아날로그 시스템을 대체할 수 있으리라 기대되고 있다.
어떤 디지털 텔레비전 시스템에서는 상당한 양의 디지털 데이터가 전송되어야만 한다. 디지털 텔레비전 시스템에 있어서, 가입자는 비디오, 오디오 및 데이터를 가입자에게 제공하는 수신기/디스크램블러를 매개로 디지털 데이터스트림을 수신한다. 이용가능한 라디오 주파수 스펙트럼을 가장 효과적으로 사용하기 위해, 디지털 텔레비전신호를 압축하여 전송되는 데이터의 양을 최소로 하는 것이 바람직하다.
텔레비전신호의 비디오부분은 이동화상을 함께 제공하는 비디오 "프레임"의시퀀스로 이루어진다. 디지털 텔레비전 시스템에 있어서, 비디오 프레임의 각 라인은 픽셀로서 참조되는 일련의 디지털 데이터비트의 시퀀스에 의해 규정된다. 많은 양의 데이터가 텔레비전신호의 각 비디오 프레임을 규정하기 위해 필요하게 된다. 예컨대, NTSC(National Television System Committee) 해상도에서의 하나의 비디오 프레임을 제공하기 위해서는 7.4메가비트의 데이터가 필요하게 된다. 이것은 640화소×480라인 디스플레이가 빛의 삼원색인 적색, 녹색 및 청색의 각각에 대해 8비트의 강도값에 따라 사용되는 것을 가정한다. PAL(Phase Alternating Line) 해상도에서는 9.7메가비트의 데이터가 하나의 비디오 프레임을 제공하기 위해 요구된다. 이 예에서는, 704화소×576라인 디스플레이는 빛의 삼원색인 적색, 녹색 및 청색의 각각에 대해 8비트의 강도값에 따라 사용된다. 이 양의 정보를 관리하기 위해, 데이터는 압축되어야만 한다.
비디오 압축기술은 종래의 통신채널을 뛰어 넘는 디지털 비디오신호의 유효한 전송을 가능하게 한다. 이러한 기술은 비디오신호의 중요한 정보의 더욱 효과적인 표현을 도출하기 위해 인접한 픽셀간의 관계를 이용하는 압축 알고리즘을 사용한다. 가장 유효한 압축 시스템은 공간관계 뿐만 아니라, 데이터를 더 압축하기 위해 인접한 프레임간의 유사성을 이용한다. 이 시스템에 있어서는, 실제프레임과 실제 프레임의 예측간의 차이만을 전송하기 위해 차분 부호화가 통상 사용된다. 예측은 동일한 비디오 프레임 시퀀스의 전 프레임으로부터 도출되는 정보에 기초한다.
동작(motion)보상을 이용한 비디오 압축시스템의 예가 클라우스 등에 의한 미국특허 제5,057,916호, 제5,068,724호, 제5,091,782호, 제5,093,720호 및제5,235,419호에 개시되어 있다. 일반적으로, 이 동작보상 시스템은 블럭정합 동작예측 알고리즘을 사용한다. 이 경우에, 동작벡터가 영상의 현 프레임의 각 블럭에 대해 특정의 현 블럭과 가장 유사한 전 프레임의 블럭을 식별함으로써 결정된다. 이 때, 현 프레임의 모두는 대응하는 쌍을 식별하기 위해 요구되는 동작벡터와 함께 대응하는 블럭의 쌍간의 차이를 전송함으로써, 해독기에 있어서 재구성될 수 있다. 때때로, 전송된 데이터의 양은 전송된 블럭의 차 및 동작벡터 신호의 양쪽을 압축함으로써 더 감소될 수 있다. 특히, 블럭정합 동작예측 알고리즘은 이산코사인변환(DTC)과 같은 블럭에 기초한 공간 압축기술과 결합될 때 유효하다.
비디오 프로그램을 형성하는 연속한 디지털 비디오 프레임의 각각은 내부 프레임(I-frame), 예측 프레임(P-frame) 또는 쌍방항 프레임(B-frame)으로 분류될 수 있다. 예측은 연속한 프레임간의 일시적인 상관(相關)에 기초한다. 프레임의 부분은 단기간에 걸쳐 다른 부분과 달라지는 일은 없다. 부호화 및 해독화방법은 화상의 각 형태에 대해 다르다. 가장 간단한 방법은 I-프레임에 대해 사용되는 것으로, 이것에 P-프레임, 다음에 B-프레임에 대한 것이 이어진다.
I-프레임은 어떤 다른 프레임과 관계없이 단일 프레임을 완전히 묘사한다. 개선된 에러 은폐에 대해, 동작벡터가 I-프레임에 포함될 수 있다. P-프레임과 B-프레임의 양자가 I-프레임으로부터 예측될 수 있기 때문에, I-프레임상의 에러가 디스플레이되는 비디오상에 더 큰 영향을 잠재적으로 줄 수 있다.
P-프레임은 전 I 또는 P프레임에 기초하여 예측된다. 그 기준(reference)은 보다 빠른 I 또는 P프레임으로부터 미래의 P프레임까지이고, 따라서 "포워드예측(forward prediction)"이라 칭한다. B-프레임은 가장 가깝고 보다 빠른 I 또는 P프레임 및, 가장 가깝고 보다 느린 I 또는 P프레임으로부터 예측된다. 미래화상(즉, 아직 디스플레이되지 않은 것)으로의 기준은 "백워드 예측(backward prediction)"이라 칭한다. 백워드 예측이 압축속도를 증가시키는데 대단히 유용한 경우가 있다. 예컨대, 문이 열리는 장면에 있어서, 현 화상은 문이 이미 열려 있는 미래의 화상에 기초하여 문의 배후에 있는 것을 예측한다.
B-프레임은 최대의 압축을 일으킬 뿐만 아니라 최대의 에러도 짜 넣어진다. 에러의 전파를 제거하기 위해, B-프레임은 다른 B-프레임으로부터 결코 예측될 수 없다. P-프레임은 적은 에러 및 적은 압축을 일으킬 수 있다. I-프레임은 최소의 압축을 일으키지만, 비디오 시퀀스에 랜덤억세스 입구점을 제공할 수 있다.
디지털 비디오신호를 부호화하기 위해 채용된 한가지 표준은 동작화상전문그룹(Motion Picture Expert Group: MPEG) 표준, 특히 MPEG-2 표준이다. 이 표준은 I-프레임, P-프레임 및 B-프레임이 시퀀스내에서 취해져야 한다는 어느 특별한 분배를 지정하지 않는다. 대신에, 이 표준에 의해 다른 분배가 다른 정도의 압축 및 랜덤 억세스의 가능성을 제공할 수 있는 것이다. 하나의 공통 분배는 약 1/2초마다 I-프레임을 갖고, 연속하는 I 또는 P프레임 사이에 2개의 B-프레임을 갖는다. P-프레임을 해독하기 위해, 전 I-프레임이 이용가능해야 한다. 마찬가지로, B-프레임을 해독하기 위해 전 및 미래의 P 또는 I프레임이 이용가능해야 한다. 따라서, 비디오 프레임은 예측을 위해 사용되는 모든 화상이 이로부터 예측되기 전에 부호화되도록, 종속순서로 부호화된다. MPEG-2 표준(및 다른 디지사이퍼(DigiCiper?)II 표준) 및 비디오 신장 프로세서내에서의 실행에 대한 더 상세한 설명은, 여기에 참조문헌으로서 짜 넣어지는, 문서 MC68VDP/D, "MPEG-2/DCII 비디오 신장 프로세서"라는 명칭의 예비데이터시트(모토롤라 마이크로 프로세서 및 메모리 테크놀로지그룹, 1994)에 설명되어 있다.
실제의 시스템에 있어서 비디오 압축을 실행하기 위해, 각 디지털 텔레비전 수신기에 대해 비디오 신장 프로세서가 필요하게 된다. 이러한 비디오 신장 프로세서를 제공하기 위해 대규모 집적회로(VLSI) 칩의 개발이 진행중이다. 텔레비전 세트와 같은 소비자 제품에 있어서, 시스템 구성요소의 비용을 가능한 한 낮게 유지하는 것은 피할 수 없는 것이다. 비디오 신장 프로세서에 관련된 주요한 비용의 하나는, (i) 신장 전에(압축을 풀기 전에) 압축된 데이터를 버퍼링하고, (ii) 동작예측기술을 이용하여 현 프레임을 예측하는데 필요한 전 프레임 데이터를 기억하며, (iii) 텔레비전 세트, 비디오테이프 레코더 등과 같은 비디오장치로의 출력 전에 신장된 데이터를 버퍼링하기 위해 요구되는 랜덤 억세스 메모리(RAM)이다. 신장 프로세서의 다른 주요한 비용은 전프레임 데이터로부터 현프레임데이터의 예측을 계산하기 위해, 특히 그 예측을 위해 필요한 서브픽셀("서브펠(subpel)") 데이터를 제공하기 위해 인접한 픽셀 사이에서 보간이 필요한때에 계산을 하기 위해 필요한 하드웨어이다.
비디오 신장 프로세서에 의해 상기에 참조되고, 전형적으로는 외부의 DRAM내에서 실시되는 랜덤 억세스 메모리의 유효한 이용은, 필요한 데이터 억세스속도(즉, 메모리 대역폭)를 유지하는 한편으로 최소의 메모리량을 이용할 수 있는 구조를 필요로 한다. 전형적으로, DRAM은 행(또는 "페이지"라고도 부른다) 및 열의 배열로 구성된다. DRAM 동작방식중 하나는 행어드레스의 변화가 새로운 행의 최초의 데이터에 대해 느린 억세스를 초래하는 것이다. 따라서, DRAM I/O대역폭을 최대로 하기 위해, 행어드레스에서의 변화의 회수를 최소로 하도록 데이터를 독출하는 것이 바람직하다. 따라서, 행의 변화를 최소로 하기 위해, 메모리맵을 만드는 것은 이점이 있다. 메모리에 기억된 데이터를 순차적으로 억세스하는 것이 더 바람직하다. 이러한 순차적인 억세스는 고속이고, 따라서 바람직하다. 한편, 행어드레스에서 빈번한 변화를 필요로 하는 랜덤 억세스는 저속이고, 따라서 바람직하지 않다.
MPEG(Motion Picture Experts Group) 또는 DigiCipher Ⅱ(DCII)표준에 따르는 것과 같은 비디오 신장 프로세서에 있어서, 예측계산을 포함한 각종의 프로세스가 DRAM 억세스를 필요로 한다. 전 프레임으로부터 현 프레임 블럭의 예측이 양호한 경우, 즉 예측 프레임이 전송되어야 할 프레임과 상당한 유사성을 가질 때, 전송시에 아주 작은 양의 잔류에러만이 남게 된다. 이것은 높은 압축효율을 초래한다. 나쁜 예측이 이루어지면, 잔류에러가 상당히 크므로, 압축효율은 반대로 영향을 받아 나빠지게 된다. 따라서, 비디오 시퀀스의 프레임대 프레임의 이동의 정확한 예측이 높은 압축비를 달성할 때에 기본적인 것으로 된다.
전형적인 비디오 시퀀스에 대해, 장면은 독립적으로 여러가지 속도 및 방향으로 이동하는 많은 대상물을 포함할 수 있다. 하드웨어의 실시를 용이하게 하고각 이동을 표시하는데 필요한 정보량을 한정하기 위해, 비디오의 프레임은 직사각형 블럭으로 종종 구분된다. 다음에, 그 블럭만이 독립된 속도 및 방향으로 이동한다고 가정한다. 시스템의 복잡성을 감소시키는 동시에 속도를 증가시키기 위해, 현 프레임블럭과 전 프레임간의 최상의 매치를 위해 조사되는 영역은 목표블럭 주위의 부근에 한정될 수 있다, 조사영역에서의 이러한 한정은, 통상 가장 전형적인 비디오 시퀀스 대상물의 이동이 하나의 프레임으로부터 다음 프레임으로 대단히 큰 변위를 일으킬 만큼 충분히 빠르지 않기 때문에 허용가능한 것이다. 한정된 조사영역에 의해, 최상의 매치를 찾아내기 위해 철저한 조사를 효율적으로 수행하는 것이 가능하다. 일단 최상의 매치가 발견되면, 예측 프레임은 서로 최상으로 매치한 블럭 전부를 조립함으로써 구성된다. 하드웨어에 있어서 이것을 실행하기 위해, 전 프레임은 랜덤억세스메모리에 기억되고, 예측 프레임은 그 블럭에 대해 적당한 변위벡터를 이용하여 한번에 한 픽셀을 독출함으로써 메모리로부터 블럭마다 생성된다.
이 방법은, 비디오 시퀀스내의 대상물이 정수개의 픽셀에 의해 수직 및 수평의 양쪽으로 변위할 때, 좋은 예측 프레임을 발생한다. 그러나, 전형적인 비디오 시퀀스에 대해, 대상의 이동은 거리에 관해 일반적으로 정수개의 픽셀이 아니다. 변위가 2개의 픽셀간에 있는 경우에, 더 좋은 예측 프레임은 인접한 픽셀로부터 보간되는 값을 사용함으로써 발생될 수 있다. 만일 픽셀간의 중간점만을 고려한다면, 3개의 가능한 보간모드, 즉 수평, 수직 및 대각선의 보간이 있다. 수평 보간은 2개의 수평으로 인접한 픽셀의 평균을 취하는 것으로 이루어진다. 수직 보간은 2개의수직으로 인접한 픽셀간의 평균을 계산함으로써 발생된다. 대각선 보간은 4개의 인접한 픽셀간의 평균을 필요로 한다. 동작보상된 디지털비디오 시스템에 대해 반픽셀(half-pixel) 보간 프로세서의 예가 본 출원인에 양도된 미국 특허출원 제 08/009,831호(출원일: 1993년 1월 27일)에 나타내어져 있다(이것은 여기에 참고문헌으로서 짜 넣어진다).
동작보상을 사용하여 비디오 신장 프로세서에 있어서 필요하게 되는 예측계산은, 특히 보간이 필요하게 되는 경우에 가장 힘든 해독작업의 하나이다. 이상적으로, 이러한 신장 프로세서에 대한 VLSI 디자인은 빠르고, 작고 단순하며, 더욱이 메모리 대역폭에 대해 효율적인 것이다. 개념적으로, 예측 계산기능을 실행하기 위한 가장 용이한 접근방법은 단순한 순서로 예측을 계산하고, 보간필터링이 필요하게 되는 것을 실행하기 위해 필요한 모든 데이터를 독출하는 것이다. 그러나, 이러한 단순한 접근방법은 여러가지 이유로 결점이 있다. 만일 필터링 기능을 시작하기 전에 모든 데이터가 독출된 후까지 하드웨어가 대기한다면, 상당한 양의 기억이 필요하게 될 것이다. 더욱이, 고정된 시간만이 예측을 계산하는데 이용가능하다. 만일 필터링을 수행하기 전에 모든 데이터를 독출할 필요가 있다면, 짧은 시간만이 필터링을 행하기 위해 남게 된다. 일반적으로, 계산을 수행하기 위해 이용할 수 있는 시간이 거의 없을 때, 더 많은 하드웨어가 필요하게 된다. 더욱이, 데이터가 연속한 순서로 독출될 때, 많은 행의 변화가 생겨 DRAM I/O 대역폭이 나빠지게 된다.
DRAM I/O 대역폭이 개선되고, 동작보상에 필요한 예측 데이터를 계산하기 위해, 대규모로 복잡한 하드웨어를 필요로 하지 않는 비디오 신장 프로세서를 제공하는 것은 유익하다. 더욱이, 수평, 수직 및 양방향 서브펠보간을 제공하기 위해 유효하고 컴팩트한 필터를 제공하는 것은 유익하다. 여기서, 상기 서브펠보간은 실제의 VLSI 디자인에 있어서 용이하게 실행될 수 있다. 본 발명은 비디오 신장 프로세서에서의 사용을 위해 상술한 이점을 갖는 서브펠 필터를 제공한다.
[발명의 요약]
본 발명에 따르면, 비디오 프레임의 행에 배열된 다중픽셀 워드에 제공되는 픽셀 데이터를 보간하기 위한 방법이 제공된다. 워드의 적어도 하나의 제1 세트가 보간되어야 할 비디오 프레임의 행으로부터 선택된다. 세트의 각각의 워드에 대한 픽셀데이터는 행에 의해 규정된 보간방향(예컨대, 수평)으로 보간된다. 워드의 제1 세트에 대해 보간된 픽셀 데이터는 메모리에 일시적으로 기억된다. 워드의 적어도 하나의 다음의 세트가 보간되어야 할 비디오 프레임의 다음의 연속하는 행으로부터 선택된다. 워드의 다음 세트는 다음 세트의 워드의 각각이 제1세트의 대응하는 부분의 워드를 갖도록 워드의 제1 세트에 인접하여 위치한다. 다음 세트의 워드에 대한 픽셀데이터는 제1 세트의 픽셀데이터에 대해 사용된 것과 동일한 보간방향(예컨대, 수평)으로 보간된다. 다음 세트로부터의 보간된 워드의 대응하는 부분인 제1 세트의 워드에 대해 보간된 픽셀데이터는 메모리로부터 독출되고, 다음 세트로부터의 그 대응하는 부분의 보간된 픽셀데이터와 함께(예컨대, 수직으로) 평균화된다. 동시에, 대응하는 부분도 평균화되고, 다음 세트로부터의 대응하는 부분의 보간된 픽셀데이터는 제1 세트의 대응하는 부분의 보간된 픽셀데이터 대신에 메모리에 기억된다. 이와 같은 방법으로, 다음 행으로부터의 대응하는 부분의 픽셀데이터가 수평으로 보간되는 동안, 예측영역내의 제1행으로부터 수평으로 보간된 픽셀데이터의 일부를 기억하기 위해 (단순한 이중 포트 레지스터파일과 같은) 작은 메모리가 사용될 수 있고, 다음에 2개의 수평으로 보간된 부분은 한번에 한 워드로 수직으로 보간될 수 있으며, 그 사이에 최근의 수평으로 보간된 데이터가 바로 사용된 전에 수평으로 보간된 데이터를 과기입한다.
예측영역의 각 연속한 행으로부터의 픽셀데이터의 보간은 예측영역의 소망하는 부분의 모든 행의 픽셀데이터가 보간될 때까지 이 방법으로 계속된다.
본 발명의 방법은, 픽셀데이터가 기억되는 프레임기억부로부터 픽셀데이터를 회복할 때 행어드레스가 변화되어야 하는 회수를 줄이는 방법으로 수행될 수 있다. 특히, 픽셀데이터가 보간되는 비디오프레임의 예측영역이 규정된다. 예측영역이 비디오 프레임이 기억되는 프레임기억부의 한 페이지 이상으로부터의 픽셀데이터를 둘러싸는가에 대해 결정이 이루어진다. 예측영역이 프레임기억부의 한 페이지 이상으로부터의 픽셀데이터를 둘러싸는 경우에, 보간되어야 할 워드의 다음의 세트가 프레임기억부의 다음 페이지로부터의 픽셀데이터가 보간되기 전에 프레임기억부의 제1 페이지로부터의 예측영역의 모든 픽셀데이터가 보간되도록 선택된다.
프레임기억부의 제1 페이지를 역으로 교차하지 않고 인접한 제2 페이지의 픽셀데이터를 보간할 때 필요한 제1 페이지로부터의 픽셀데이터를 공급하기 위해, 제1 페이지의 페이지 경계에 인접한 픽셀데이터는 별개의 메모리에 일시적으로 기억된다. 이것은, 제1 페이지를 역으로 교차하기 위해 프레임기억부에 재어드레싱하지 않고, 현재 보간되는 프레임기억부의 페이지의 페이지 경계에 인접하여 존재하는 픽셀데이터의 보간을 가능하게 한다.
또, 본 발명의 방법은, 양방향(B) 프레임을 재구성할 때에 사용하기 위한 수평 및 수직으로 보간된 픽셀데이터를 공급할 때에 유용하다. 픽셀데이터는 내부프레임(I) 또는 예측 프레임(P) 화상(즉, "앵커프레임")의 예측영역에 대해, 그리고 어쩌면 양방향 보간을 위한 제2의 I 또는 P화상의 예측영역에 대해 보간된다. I 또는 P화상의 하나에 대해 보간된 픽셀데이터는 I 및 P화상의 다른 하나에 대한 픽셀데이터가 보간되는 동안 양방향 데이터기억부에 일시적으로 기억된다. 양방향 데이터기억부로부터의 일시적으로 기억한 보간된 픽셀데이터는 I 또는 P화상의 다른 하나에 대해 보간된 픽셀데이터와 함께 후자가 보간되는 동안에 평균화된다. 다음에, 평균화한 I 및 P의 보간된 픽셀데이터는 양방향 화상을 해독할 때에 연속하여 사용하기 위해 양방향 데이터기억부에 기입된다. 평균화한 I 및 P의 보간된 픽셀데이터는 그로부터 독출한 I 또는 P의 보간된 데이터 대신에 양방향 데이터기억부에 기입될 수 있다.
본 발명의 방법에 의해 얻어진 수평 및 수직으로 보간된 픽셀데이터는 트렁케이트될 수 있다. 특히, 이러한 트렁케이션은 서브픽셀 결과를 제로로부터 떨어져서 라운드하는데 유용하다.
또한, 비디오 동작프로세서용 서브픽셀 보간필터도 개시된다. 예측영역의 행내의 (N+1)개의 픽셀의 제1 벡터에 포함된 인접한 픽셀을 평균화함으로써 N개의 서브펠의 제1 세트를 발생하기 위한 수단이 제공된다. 서브펠의 제1 세트는 일시적으로 기억된다. 예측영역의 다음 행으로부터 (N+1)개의 픽셀의 제2 벡터내에 포함된인접한 픽셀을 평균화함으로써 N개의 서브펠의 제2 세트를 발생하기 위한 수단이 제공된다. 다음 행의 제2 벡터는 제1 행의 제1 벡터에 대응하는 것이다. 기억된 서브펠의 제1 세트로부터의 각 서브펠은 제2 세트의 대응하는 부분의 서브펠이 발생될 때, 제2 세트로부터의 대응하는 부분의 서브펠과 함께 평균화된다. 이 평균화는 2차원, 예컨대 수평 및 수직에 있어서 보간되는 픽셀데이터를 대표하는 서브펠의 제3 세트를 제공한다.
서브픽셀 보간필터는, 제2 세트의 서브펠이 그 대응하는 부분의 제1 세트의 서브펠과 함께 평균화됨과 동시에, 제1 세트로부터의 그 대응하는 부분의 서브펠 대신에 제2 세트로부터의 각 서브펠을 기억수단에 기억하기 위한 수단을 더 포함한다. 이와 같은 방법으로, 예측영역의 제1 행으로부터의 서브펠이 다음행으로부터의 서브펠에 의해 2개의 행으로부터의 대응하는 부분의 서브펠이 평균화된 때에 즉시 과기입되기 때문에, 기억수단을 위해 작은 양의 메모리가 사용될 수 있다.
예측영역이 보간되는 픽셀이 기억되는 프레임기억부의 한 페이지 이상으로부터의 픽셀데이터를 둘러싸는 때를 결정하기 위한 수단을 제공할 수도 있다. 결정수단에 응답하는 수단은, 프레임기억부의 다음의 페이지로부터의 픽셀데이터가 보간되기 전에 프레임기억부의 제1 페이지로부터의 예측영역의 모든 픽셀데이터가 보간되도록 예측영역내의 연속한 행으로부터 보간되어야 할 픽셀의 벡터를 연속해서 선택한다. 이와 같은 방법으로, 예측영역으로부터의 모든 픽셀을 보간할때에 교차하는 페이지 경계의 수가 최소화된다. 전에 보간된 페이지의 페이지 경계에 인접한 픽셀데이터는, 현재 보간되는 프레임기억부의 페이지의 페이지 경계와 인접하여 존재하는 픽셀데이터가 페이지 경계를 교차하지 않고 처리되도록 일시적으로 기억될 수 있다.
양방향 프레임의 재구성이 가능하도록 하기 위해, I화상의 예측영역 및 P화상의 예측영역으로부터의 픽셀데이터가 보간될 수 있다. I 또는 P화상의 하나에 대해 보간된 픽셀데이터는 양방향 데이터기억부에 일시적으로 기억되고, I 및 P화상의 다른 하나에 대해 보간된 픽셀데이터와 함께 평균화되는 한편, 후자가 보간된다. 평균화한 I 및 P의 보간된 픽셀데이터는 B프레임을 예측할 때에 계속해서 사용하기 위해 양방향 데이터기억부에 기입된다. 메모리를 보존하기 위해, 평균화한 I 및 P의 보간된 픽셀데이터는 그로부터 독출한 I 또는 P의 보간된 데이터 대신에 양방향 데이터기억부에 기입될 수 있다.
수평 픽셀 보간필터는 입력이 비디오 예측프레임의 예측영역으로부터의 N개의 픽셀을 각각 포함하는 연속한 워드를 수신하는 비디오 신장 프로세서에 대해 제공된다. 상기 연속하는 워드는 연속한 클럭사이클동안 수신된다. 픽셀데이터의 연속한 워드를 하나의 클럭사이클만큼 지연하기 위한 수단이 제공된다. 레지스터수단은 지연수단으로부터의 직전의 워드와 함께 입력에서 수신된 각 연속한 워드로부터의 제1 픽셀을 홀딩한다. 비디오 신장 프로세서에 의한 사용을 위해 수평으로 보간된 서브펠의 연속한 세트를 공급하기 위해, 각 클럭 사이클에서 레지스터수단에 홀딩된 인접한 픽셀을 수신하여 평균화하기 위한 수단이 연결된다.
수직 보간필터는 수평 픽셀 보간필터에 의해 공급되는 수평으로 보간된 서브펠을 수직으로 보간하기 위해 제공될 수 있다. 수직 보간필터는 연속한 클럭사이클동안 수평으로 보간된 서브펠의 연속한 세트를 수신하기 위한 입력을 포함한다. 예측영역내의 수평으로 보간된 서브펠의 수직으로 인접하는 대응하는 부분의 세트와 함께 평균화하기 위해, 수평으로 보간된 서브펠의 연속한 세트를 버퍼링하기 위한 수단이 제공된다. 수평으로 보간된 서브펠의 버퍼링된 세트는, 비디오 신장 프로세서에 의한 사용을 위해 수평 및 수직으로 보간된 서브펠의 연속한 세트를 공급하기 위해 대응하는 부분의 세트와 함께 평균화된다.
양방향 보간필터는 수평 및 수직 보간필터와 조합시켜 사용하기 위해 제공된다. 수평 및 수직 보간필터는 I화상의 예측영역 및 P화상의 예측영역으로부터의 픽셀데이터를 보간하기 위해 사용된다. 양방향 데이터기억부에 I 또는 P화상의 하나에 대한 보간된 픽셀데이터를 일시적으로 기억하고, P화상이 수평 및 수직보간필터에 의해 보간되는 동안 I 및 P화상의 다른 하나에 대해 보간된 픽셀데이터와 함께 평균화하기 위한 수단이 제공된다. 평균화한 I 및 P의 보간된 픽셀데이터는 B프레임을 디코딩할 때에 계속해서 사용하기 위해 양방향 데이터기억부에 기입된다.
수평 픽셀 보간필터의 평균화수단은 레지스터수단이 연결된 복수의 가산기로 이루어질 수 있다. 각 가산기는 합을 공급하기 위해 레지스터수단으로부터의 2개의 인접한 픽셀을 가산한다. 각 가산기는 이진수 "1"을 합에 가산하기 위한 캐리입력을 포함한다. 합을 그 하위 비트만큼 트렁케이트하여 제로로부터 떨어지도록 라운딩된 서브펠로 하기 위한 수단이 제공된다.
수평 보간필터는 비디오 예측프레임이 타일(tile)의 세트로서 기억되는 랜덤억세스메모리(RAM)와 함께 사용할 수 있다. 각 타일은 픽셀데이터를 포함하고, RAM의 한 페이지(즉, 행)를 점유한다. 그 보간필터는 수직 페이지 브레이크의 제1 측면에 인접한 예측영역으로부터 워드의 서브세트를 기억하기 위한 메모리수단을 더 포함한다. 수직 페이지 브레이크의 제2 측면에 인접한 픽셀이 보간될때, 지연수단으로부터 직전의 워드를 입력하는 대신에 메모리수단으로부터 레지스터수단으로 워드를 입력하기 위한 수단이 제공된다. 이와 같이 해서, 랜덤억세스메모리내의 다른 페이지가 어드레스되는 회수가 최소화된다.
수평, 수직 및 양방향 보간필터는 본 발명에 의해 제공된다. 이들 필터는 비디오 신장 프로세서의 구성요소에 의존해서 단독으로 또는 조합해서 사용할 수 있다. "수평"이라는 용어는 일반적으로 행렬의 행을 참조하기 위해 사용되고, "수직"이라는 용어는 행렬의 열을 참조하기 위해 사용되지만, 본 명세서 및 청구범위에서는 이들 용어를 그와 같이 한정하는 것은 아니고, 이들 용어가 여기서 개시하는 발명을 가장 폭넓게 해석하는데 필요한 것으로 교환가능하다.
(실시예)
제1도는 그 DRAM으로부터 예측데이터가 독출될 때 행변화의 수를 최소화하는 방식으로 외부 DRAM(22)을 어드레스하는 메모리관리자(30)를 짜 넣은 비디오 신장 프로세서의 블럭도이다. 일반적으로, 참조부호 20으로 나타낸 프로세서는 전송층[즉, 제어 및 다른 비비디오 정보(non-video information)]과 단자(10)를 매개로 한 압축된 비트스트림 입력의 비디오층의 양쪽을 해독하도록 디자인된 파이프라인 프로세서(이것은 때로는 비디오 프로세서의 "전송패킷 인터페이스"로서도 참조된다)이다.
유저 프로세서 인티페이스는 프로세서(20)의 여러 가지의 레지스터를 구성하는 M-버스 제어기(50)를 매개로 비디오 데이터 프로세서의 제어를 위해 터미널(14)에 설치되어 있다. 이 M-버스는 장치간의 데이터교환의 간단하고 효과적인 수단을 제공하고, I2C버스 표준과 완전하게 호환되는 2선식의 양방향 직렬버스이다.
DRAM(22)으로의 인터페이스는 어드레스선(24) 및 데이터선(26)을 매개로 설치되어 있다. 제1도에 도시된 특정의 실시예에 있어서, DRAM(22)은 9비트 어드레스포트 및 32비트 데이터포트를 갖는다.
비디오 출력 인터페이스(38)는, 예컨대 표준 CCIR(International Radio Consultive Committee) 656, 8비트, 27MHz 멀티플렉스된 루미넌스(Y) 및 크로미넌스(Cr, Cb)신호로서 출력되는 신장되고 재구성된 비디오를 위해 제공된다.
테스트 인터페이스는 단자(62)를 매개로 통상의 JTAG(Joint Test Action Group) 제어기(60)에 설치되어 있다. JTAG는 패키지 및 보드접속뿐만 아니라 내부회로에서의 결함을 검출하기 위한 보드레벨 테스팅을 위해 사용되는 표준화된 경계 주사방법이다.
비디오 신장 프로세서(20)는 단자(12)를 매개로 클럭신호를 수신한다. 클럭은 예컨대 전송 신택스 분석기(transport syntax parser; 32)가 터미널(10)을 매개로 압축된 비트스트림 입력의 전송패킷으로부터 타이밍정보 및 비디오정보를 복구할 수 있도록 타이밍정보를 공급한다. 포착 및 에러 관리회로(34)는 화상해독의 개시를 동기하기 위해 비디오 신택스 분석기(40)에 의해 검출되는 해독시간스탬프(DTS) 및 프로그램 클럭 레퍼런스(PCR)를 이용한다. 이 회로는 수직동기를 설정하고, 모든 비디오 해독 및 디스플레이기능에 대해 전체적인 동기화를 제공한다.
비디오층은 메모리관리자(30)에 의해 외부 DRAM(22)에 구성된 입력버퍼(FIFO)에 버퍼링된다. 비디오 신택스 분석기(40)는 메모리관리자(30)를 매개로 DRAM FIFO로부터 압축된 비디오 데이터 출력을 수신하고, 비디오정보를 나타내는 계수로부터 동작벡터정보를 분리한다. 계수는 호프만 해독기(52), 역양자기(54) 및 역이산코사인변환(IDCT) 프로세서(56)에 의해 처리된다.
동작벡터는 현 비디오 프레임을 재구성하기 위해 필요한 상기 해독된 비디오 프레임을 어드레스하기 위해 회복되어 사용된다. 특히, 동작벡터 해독기(42)는 비디오 신택스 분석기(40)로부터 수신된 동작벡터를 해독하고, 그것들을 예측어드레스 발생기(44)로 통과시킨다. 예측어드레스 발생기는, 검색하는데 필요한 어드레스정보를 메모리관리자(30)를 매개로 공급하고, 예측계산기(46)가 현 프레임블럭을 재구성하기 위해 필요한 예측신호를 공급할 수 있도록, 필요한 앵커(anchor)프레임(즉, I 또는 P프레임) 데이터를 공급한다. 차분해독기(48)는, 신장된 비디오데이터를 공급하기 위해, 예측데이터와 해독된 계수데이터를 결합한다. 신장된 데이터는 메모리관리자(30)를 매개로 DRAM(22)의 적당한 버퍼내에 기억된다.
동작벡터 해독기(42), 예측어드레스 발생기(44), 예측계산기(46), 차분해독기(48), 호프만 해독기(52), 역양자화기(54) 및 IDTC(56)에 의해 수행되는 비디오신장 프로세스는 일반적으로 통상의 것이고, 당업자라면 잘 이해할 수 있을 것이다. 픽셀데이터를 보간하기 위해 예측계산기(46)에 의해 사용되는 특정의 필터링장치 및 방법은 새로운 것으로, 본 발명의 기초로 되는 것이다. 예측계산기의 특징적인 면은 이하에서 상세히 설명한다.
메모리관리자(30)는 외부 DRAM 어드레스 및 데이터 버스(24,26)에서의 모든 활동의 예정을 정하고, DRAM(22)을 효과적으로 어드레스한다. 메모리관리자는 DRAM(22)의 입력 FIFO부분, 비디오 신택스 분석기(40) 및 비디오 재구성회로(36)(뿐만 아니라 예측계산기(46) 및 차분해독기(48))의 데이터 전송요소가 모두 만족되는 것을 보증한다. 비디오 재구성회로(36)는 현 화상을 계산하고, 비디오 출력선(38)에서의 출력을 위해 밀접한 캡션, 수직간격 테스트신호(VITS) 및 테스트패턴 데이터를 삽입한다. 출력 디스플레이는 PCR을 표시시간 스탬프(PTS)와 비교함으로써 동기화된다. 비디오 프레임의 해독 및 디스플레이가 개시되지 않으면 안될 때의 결정은 해독시간 스탬프(DTS)를 PTS와 비교함으로써 이루어진다.
메모리관리자는 또한 예컨대 양방향 예측프레임(B-frame)을 가지고, 또는 그것을 가지지 않고 NTSC 또는 PAL의 어느 하나일 수 있는 해독모드에 의존하여 DRAM(22)의 FIFO부분에 대해 가변의 크기를 제공한다. 비디오 버퍼 제어는 DRAM(22)에 의해 공급되는 FIFO가 오버플로우 또는 언더플로우되지 않도록 한다. 버퍼제어는 PCR 및 DTS를 포함하는 시스템 타이밍 파라미터의 함수이다.
DRAM(22)은 외부 메모리로서 예시되고, 예컨대 8Mbit(메가비트, 즉 220비트)의 실시를 위한 2개의 4Mbit DRAM 또는 16Mbit의 실시를 위한 4개의 4Mbit DRAM 과 같은 복수의 DRAM칩에 의해 제공될 수 있다. 미래의 실시에 있어서는, 메모리기술의 발전에 따라 DRAM(22)이 비디오 신장 프로세서내의 내부메모리로서 제공될 수도 있음을 알 수 있을 것이다. DRAM은 다양한 해독 및 출력비디오 버퍼뿐만 아니라 압축된 입력비디오 비트스트림에 대한 순환 FIFO를 제공하기 위해 맵된다. DRAM은 또한 해독된 비디오 프레임을 적절히 디스플레이하기 위해 필요한 다양한 화상구조의 데이터를 기억할 뿐만 아니라 테스트 패턴버퍼, VITS버퍼 및 밀접한 캡션 디스플레이 재순서버퍼를 제공하기 위해 사용될 수 있다. DRAM 은, 비디오 프레임의 수직크기, PAL 또는 NTSC 비디오, 테스트패턴의 존재, 8 또는 16Mbit의 메모리구성 및 B-프레임이 존재하는가와 같이 변수가 수정될 때 필요한 다른 메모리맵을 제공하기 위해, 메모리관리자(30)를 매개로 다시 초기화될 수 있다.
메모리관리자(30)는 입력 FIFO, 비디오분석 및 비디오 재구성회로(의 데이터 전송요소)를 포함한 외부 DRAM버스에서의 모든 활동의 예정을 결정한다. 메모리 관리자는 또한 통상의 방식으로 필요한 DRAM 리프레시를 수행한다. 예컨대, 2개 또는 4개의 외부 DRAM 각각의 동일한 행이 동시에 리프레시될 수 있다.
압축된 비트스트림이 비디오 신장 프로세서(20)의 단자(10)에 입력될 때, 비트스트림에 의해 나타나는 비디오 프레임이 한번에 하나 재구성된다. 최초로, 비디오데이터의 전 프레임이 수신되어 DRAM(22)에 기억되어야 할 것이다. 다음의 비디오 프레임에 대한 정보는 DRAM(22)에 기억된 전 비디오 프레임으로부터의 예측데이터에 가산될 때, 모든 프레임의 재구성으로 되는 모든 비디오 프레임의 서브세트로이루어질 수 있다. 새로운 각 내부 화상(I) 또는 예측 화상(P) 비디오 프레임은 그것이 재구성될 때, 압축된 비트스트림의 데이터에 의해 나타난 다음의 프레임을 재구성하기 위해 필요한 앵커프레임으로서의 사용을 위해, 그리고 비디오시퀀스의 적당한 시간에서의 디스플레이를 위해 DRAM(22)에 기억된다. 각 양방향 예측 프레임(B-프레임)은 그것이 재구성될 때, 적당한 시간에서의 디스플레이를 위해 기억된다. 본 명세서에서 설명되는 비디오 신장 프로세서는 DRAM(22)으로부터 억세스된 데이터의 대부분(즉, 약 80%)이 픽셀의 직사각형 "예측영역"에 있어서 만들어진다는 사실을 이용한다. 예시된 실시예에 있어서, 각 예측영역은 높이가 9픽셀, 폭이 17픽셀이다. (2개의 8×8 데이터블럭에 대응하는 8×16 픽셀영역 대신에) 이 크기의 예측영역의 사용에 의해, 픽셀의 1행 및 1열이 2개의 8×8 픽셀 블럭의 세트에 부가되기 때문에, 서브픽셀 보간이 이루어진다. 예측영역의 높이대 폭의 비(9:17)는 대략 0.53이다. DRAM(22)을 어드레스할 때 필요한 행교차의 수를 최소로 하기 위해, 전 프레임 데이터는 동일한 폭에 대한 높이의 비(예컨대, 약 0.50)를 갖는 타일에 기초하여 DRAM내에 기억된다. 본 발명에 따라 사용될 수 있는 비디오 프레임내의 타일의 할당이 제2도에 나타내어져 있다.
제2도의 예에 나타낸 바와 같이, 루미넌스 NTSC 비디오 프레임(70)은 동일한 크기의 165개의 "타일"로 분할되어 있다. 각 타일(72)은 4개의 매크로블럭(MB)의 각각에 2개의 슬라이스(slice)가 있으므로, 8개의 매크로블럭(MB)을 포함한다. 165개의 타일은 15개의 행의 배열로 구성되고, 각 행은 11개의 타일을 포함한다. 각 행은 2개의 슬라이스를 포함하고, 각 비디오 프레임내에 총 30개의 슬라이스가 있다. 각 슬라이스는 44개의 매크로블럭을 포함한다. 165개의 타일이 있으므로, 각각은 8개의 매크로블럭을 포함하고, 각 NTSC 비디오 프레임에는 총 1320개의 매크로블럭이 있다. 각 루미넌스 매크로블럭은 8×8픽셀의 4개의 블럭을 포함하고, 각 픽셀은 8비트의 데이터로 이루어진다. 비디오 프레임은 DRAM(22)의 한 행내에 유지될 수 있는 데이터의 양을 각 타일이 포함하도록 분리된다. 동일한 기본원리를 사용하는 다른 텔레비전 포맷(예컨대, PAL 또는 SECAM)에 대해 다소 다른 규격으로 되는 것은 자명하다.
예시된 실시예에 있어서, DRAM(22)의 각 행은 512개의 32비트 워드(총 16,384비트)를 유지한다. 따라서, 비디오 프레임의 각 타일(72)도 또한 16,384비트를 포함하게 된다. 각 매크로블럭은 4개의 8×8 루미넌스 블럭을 포함하므로, 매크로블럭은 256개의 8비트 픽셀(매크로블럭당 총 2,048개의 루미넌스 비트)을 포함한다. 각 타일은 이러한 매크로블럭을 8개 포함한다(총 16,384개의 루미넌스 비트). 따라서, 제2도에 도시된 루미넌스 비디오 프레임의 각 타일(72)은 DRAM(22)의 한 행에 맵된다.
제3도는 하나의 루미넌스 타일(72)을 보다 상세히 도시한 것이다. 도시한 바와 같이, 루미넌스 타일은 비디오 프레임의 2개의 다른 슬라이스부분으로 이루어진다. 4개의 매크로블럭(각 매크로블럭은 4개의 8×8 루미넌스 블럭을 포함한다)이 각 슬라이스부분에 설치된다. 각 DRAM 위치에 하나의 32비트 워드가 기억되므로, 4개의 8비트 루미넌스 픽셀(Y)은 제3도의 4개의 픽셀 워드(80)에 의해 예시되어 있는 각 DRAM 위치에 기억될 수 있다. 상술한 바와 같이, DRAM의 각 행에는 512개의열이 있고, 각각은 16진의 RAM 어드레스 0-1FF의 하나에 의해 억세스가능하다.
크로미넌스 데이터는 각 비디오 프레임이 루미넌스정보와 동 정도의 크로미넌스정보의 반을 포함하는 것을 제외하고, 마찬가지로 취급한다. 따라서, 제4도에 도시되어 있는 바와 같이 각 크로미넌스 타일(82)은 비디오 프레임의 4개의 슬라이스로부터의 부분을 포함하고, 각 슬라이스 부분은 4개의 크로미넌스 매크로블럭을 포함한다. 크로미넌스 매크로블럭은 루미넌스 매크로블럭 크기의 반이고, 따라서 타일당 8개의 매크로블럭 대신에 크로미넌스 타일은 16개의 매크로블럭을 포함한다, 루미넌스 타일과 같이 각 크로미넌스 타일은 DRAM(22)의 한 행에 맵된다. 양호한 실시예에 있어서, DRAM(22)은 루미넌스 데이터 및 크로미넌스 데이터를 기억하기 위한 별개의 영역으로 분할되고, 일반적으로 루미넌스부분의 1/2크기의 크로머(chroma)부분을 갖는다. 4개의 픽셀 워드(84)에 의해 예시되어 있는 바와 같이, 크로미넌스 데이터는 cb 및 cr의 크로미넌스성분을 교대로 하도록 기억된다.
제5도는 본 발명에 따라 사용되는 행당 하나의 타일의 맵핑이 DRAM으로부터 예측영역내의 픽셀의 그룹을 독출하기 위해 필요한 메모리 행어드레스 변화의 수를 어떻게 최소화할 수 있는가를 나타낸다. (제2도의 비디오 프레임(70)의 좌측상부의 코너로부터) 4개의 인접한 타일(74, 75, 77 및 79)의 부분이 제5도에 나타내어져 있다. 간단화를 위해, 타일(74)의 모두가 제5도에 나타내어져 있지만, 타일(75, 77 및 79)은 일부만이 나타내어져 있다. 타일(74, 75, 77, 79)의 수직교차점은 DRAM(22)의 수직 "페이지"경계(92)에 따르고 있다. 이들 타일의 수평교차점은 DRAM의 수평 "페이지"경계(94)에 따르고 있다. 하나의 타일이 DRAM(22)의 각 행(즉, "페이지")에 기억되기 때문에, 수직 또는 수평 페이지 경계가 교차될 때마다 DRAM의 새로운 행을 어드레스할 필요가 있다.
DRAM(22)에 기억된 전 프레임의 픽셀데이터로부터 현 프레임의 픽셀데이터를 예측하기 위해, 전 프레임의 픽셀은 현 프레임에 있어서 예측되어야 할 픽셀의 각 그룹에 대해 미리 결정된 예측영역으로부터 독출될 것이다. 픽셀의 각 그룹의 예측영역은 통상의 방법으로 압축된 비디오데이터로 전송된 동작벡터를 사용하여 위치지정된다. 최악의 경우의 예측영역(90)이 제5도에 나타내어져 있다. 예측영역(90)은 4개의 다른 타일로부터의 픽셀을 커버하고 있으므로, 최악의 경우의 시나리오를 나타내고 있다. 만일 이 예측영역이 예컨대 거기에 있는 연속한 행을 단순히 주사함으로써 독출된다면, 수직 페이지 경계(92)를 반복해서 교차할 필요가 있고, 이에 따라 DRAM의 다른 행을 억세스할 수 있게 된다. 이것은, 데이터가 DRAM으로부터 독출되는 속도를 상당히 느리게 한다.
여기에 나타낸 실시예에 있어서, 예측영역(90)은 4개의 DRAM 행어드레싱 단계만을 요구하는 방식으로 주사된다. 즉, 새로운 행어드레스가 예측영역에 포함된 타일(74, 75, 77, 79)의 각각에 대해 한번만 요구된다. 이를 달성하기 위해, 각 타일로부터의 모든 데이터가 다음의 타일로 진행하기 전에 독출된다. 예시된 특정의 실시예는 예측영역(90)내에 있는 타일(74)로부터 모든 데이터를 회복하기 위해 예측영역의 좌측 상부코너에서 시작되는 지그재그 주사패턴을 사용한다. 다음에, 비디오 프레임의 타일(75)을 포함하는 DRAM(22)의 행은 그 타일로부터 예측영역내의 모든 데이터가 회복될 때까지 주사된다. 다음에, 타일(77)에 대응하는 DRAM 행은억세스되고, 예측영역(90)내의 타일(77)에 있는 모든 데이터는 회복된다. 최후로, 타일(79)을 포함하는 DRAM 행이 억세스되고, 그 타일에 대한 예측영역(90)내의 모든 데이터가 회복된다. 따라서, DRAM내의 다른 행을 반복적으로 억세스하는 대신에, 최악의 경우라도 4개의 DRAM행 억세스가 전 예측영역으로부터 데이터를 회복하기 위해 제공될 필요가 있다.
제6도는 본 발명에 따른 수평 서브펠필터의 블럭도이다. 제6도의 필터는 예측영역에 의해 제한되는 DRAM으로부터의 픽셀을 수신한다. 픽셀의 수평보간은 하드웨어 요구를 감소시킬 수 있는 범위까지 적절한 계산을 사용하여 제공된다. 합산된 픽셀의 수로 나눔으로써 계속해서 평균하기 위해 인접한 픽셀을 함께 가산하기 위한 가산기가 제공된다(예컨대, 대각선 보간에서는 4개, 및 수평 또는 수직 보간에서는 2개). 실제의 나눗셈은 가산기(114, 116, 118, 120, 148)에서 발생하는 바이어싱(biasing)과 함께 제7도와 관련하여 후술되는 트렁케이션회로(truncation circuit; 150)에서 발생한다. 특히, 이 나눗셈에 앞서 각 가산기의 캐리입력이 사용되어 그 합에 이진수 "1"을 가산한다. 다음에, 이 합의 최하위 비트(÷2) 또는 최하위 2비트(÷4)가 나눗셈을 수행하기 위해 트렁케이트되고, 동시에 0에서 떨어져서 서브픽셀 결과를 라운드한다. 이 새로운 캐리입력의 사용은 하드웨어를 보존하고, 서브픽셀의 필터링의 처리속도를 증가시킨다.
최악의 경우, 예측의 한 화소를 위한 MPEG방정식이
p=((((a+b)+(c+d))//4)+(((e+f)+(g+h))//4))//2이고,
여기서, //은 가장 가까운 정수로 라운딩하는 나눗셈을 나타내며, 1/2정수값은 0에서 떨어져서 라운드된다.
이 방정식은 다음과 같이 다시 쓸 수 있다:
p=((((a+b)+(c+d)+2)>>2)+(((e+f)+(g+h)+2)>>2)+1)>>1
최후의 방정식은 다음과 같이 다시 쓸 수 있다:
p=((((a+b+1)+(c+d+1))>>2)+(((e+f+1)+(g+h+1))>>2)+1)>>1
제6도의 서브픽셀 필터는, 1을 가산하는 것이 1보다 큰 수를 가산하는 것보다 훨씬 쉽기 때문에, 상기 최후의 방정식을 사용한다. 예측을 계산할 때, 0으로부터 떨어진 중간 및 최후의 결과를 라운드할 필요가 있다. 전형적으로, 0으로부터 떨어진 부호화된 2의 보수를 라운드하는 것은 트렁케이션에 따른 조건적 가산에 따른 수행해야 할 부호의 검사를 필요로 한다. 그러나, 제6도의 필터에서는, 라운딩연산은 최소수의 하드웨어 가산기를 사용하는 구조를 제공하기 위해 평균화/필터링연산과 중복된다. 평균화되는 픽셀 데이터가 항상 양이기 때문에, 음수의 라운딩을 제어하기 위한 필요성이 없어진다. 따라서, 양의 중간결과만이 라운드될 필요가 있다. 상술한 바와 같이, 가산기[즉, 가산기(114, 116, 118, 120 및 148)]의 캐리올림은 상술한 방정식에 의해 필요하게 되는 것의 가산을 행하기 위해 사용된다.
제1도의 DRAM(22)으로부터의 데이터는 메모리관리자(30)를 매개로 제6도의 수평 서브펠필터의 입력단자(100)로 라우트된다(mm_data). 가장 간단한 경우(즉, 대상으로 되는 페이지 브레이크가 없고, 예측영역이 새로운 워드의 초기에 시작될 때)에 있어서, 데이터는 한번에 1개의 워드로 독출된다. 각각의 워드는 4개의 픽셀로 이루어진다. 예컨대, 제3도에 나타낸 바와 같은 4개의 픽셀 루미넌스 워드(80)가 단자(100)로 입력될 수 있고, 또는 제4도에 나타낸 바와 같은 4개의 픽셀 크로미넌스 워드(84)가 입력될 수 있다. 입력된 워드는 경로(102) 및 멀티플렉서(132)를 매개로 mm_data를 수신하는 레지스터(134)를 매개로 한 클럭사이클만큼 지연된다. 이 지연된 워드는 다음에 시프터 및 픽셀 선택기(106)로 입력된다. 회로(106)는 단자(100)로 입력된 현재의 mm_data 워드 입력으로부터의 제1 픽셀과 함께 지연된 mm_data 워드(mm_data1로 참조된다)로부터 4개의 픽셀을 출력한다. 양호한 실시예에서는, 회로(106)의 시프트기능은 예시된 바와같이 좌측(즉, "좌측 시프트")으로 시프트하도록 배치된 배럴시프터에 의해 제공된다.
예측영역이 수직 페이지 블레이크를 둘러싸지 않는 곳에서, 계속하는 워드의 각각의 4개의 픽셀이 회로(106)의 시프터부분에 순서대로 기억된다. 시프터로부터의 라인(110 및 112)은 각각 동일한 픽셀을 포함한다. 이 배열은 시프터(106)로부터 가산기(114, 116, 118, 120)로 출력될 때에 픽셀을 재배열하기 위한 어떠한 필요도 포함한다.
제6도에 나타낸 예에서는, 픽셀데이터의 제1 워드가 픽셀(A1, A2, A3, A4; mm_datal)을 포함한다. 지연된 워드(mm_data1)가 시프터에 입력됨과 동시에, 다음의 워드(입력단자(100)를 매개로 수신됨)의 제1 픽셀 "A5"가 거기에 입력된다. 좌측 시프터 및 픽셀 선택기(106)는 시프터부분의 마지막 셀에 픽셀(A5)을 기억한다. 연속한 4개의 픽셀워드가 단자(100)에 도달함에 따라 그 워드의 제1 픽셀이 시프터의 마지막 셀에 기억될 수 있고, 반면에 (레지스터(34)에 의해 지연된)전 워드로부터의 4개의 픽셀은 시프터의 최초의 4개의 셀에 로드된다. 따라서, 예측영역으로부터의 제1 워드가 입력된 후, 각 클럭주기동안 4개의 보간된 서브펠을 공급하기 위해 한번에 5개의 픽셀을 계속해서 처리하는 것이 가능하게 된다.
좌측 시프트 및 픽셀 선택기(106)로부터 공급된 픽셀을 평균화하기 위해 필요한 제1 단계는 가산기(114∼120)에 의해 수행된다. 제6도에 나타낸 바와 같이, 시프터회로(106)가 픽셀(A1∼A5)을 포함할 때, 가산기(114)는 참조부호 122로 나타낸 바와 같이 픽셀(A1및 A2)의 합을 계산한다. 가산기(116)는 참조부호 124로 나타낸 바와 같이 픽셀(A2및 A3)의 합을 계산한다. 가산기(118)는 참조부호 126로 나타낸 바와 같이 픽셀(A3및 A4)의 합을 계산한다. 가산기(120)는 참조부호 128로 나타낸 바와 같이 픽셀(A4및 A5)의 합을 계산한다.
가산기(114∼120)의 각각은 주지된 바와 같은 캐리입력(도시하지 않음)을 갖는 통상의 디지털 가산기이다. 본 발명은, 가산기에 입력되는 픽셀의 합에 1을 가산하기 위해, 각각의 가산마다 그것을 실행함으로써 신규한 캐리입력을 사용할 수 있도록 하고 있다. 2개의 픽셀의 평균화를 완료하기 위해, 합의 최하위 비트가 (캐리입력이 이진수 "1"을 가산하기 위해 사용된 후에) 트렁케이트된다. 이진수 "1"의 가산후의 트렁케이션은, 0으로부터 떨어져서 평균을 라운드하도록 기능한다. 이 트렁케이션은 제6도의 가산기(114∼120) 이후에 직접 실행되던가, 또는 제7도와 관련하여 이하에서 설명되는 바와 같이 계속해서 실행된다.
4개의 연속한 사이클을 통한 제6도의 수평 서브펠필터의 동작은 예측영역에 페이지 브레이크가 없는 경우에 대해 제8도에 예시된다. 제8도에 나타낸 바와같이, 예측영역(160)은 17픽셀 폭×9픽셀 높이인 영역에 제한된다. 이것은, 수평 및 수직보간을 위해 부가되는 부가적인 행 및 부가적인 열을 갖는 2개의 8×8 블럭과 대응하는 부분이다. 일반적으로, 예측영역(160)으로부터의 픽셀의 독출은 예측영역의 좌측 상부코너(즉, 픽셀(A1)과 함께)에서 시작한다. 다음에, 픽셀은 4개의 픽셀 워드에서 수평으로 독출된다. 여기서, 예시된 바와 같이, 예측영역은 워드경계의 최초에서 시작하고(즉, 예측영역내에서 만나는 제1 워드로부터의 모든 픽셀값이 유효하다), 모든 워드는 좌측 시프트 및 픽셀 선택회로(106)에 입력된다. 제8도에 나타낸 바와 같이, 제1 워드의 특출은 픽셀(A1, A2, A3, A4)로 이루어진다. 이들 픽셀은 예시된 바와 같이 시간(t1)에 선택기(106)에 입력된다. 시간(t1)은 예측영역(160)으로부터의 데이터의 독출의 개시후의 한 사이클이다. 전 사이클(t0)동안 제1 워드(A1, A2, A3, A4)는 독출되고, 레지스터(134)에 의해 한 사이클 지연된다. 따라서, 사이클(t1)에 있어서, 이 제1 워드는 mm_data1로서 선택기(106)에 공급된다. 예측영역(160)으로부터 현재 독출되고 있는 워드는 픽셀(A5, A6, A7, A8)로 이루어진 워드이다. 이 워드는 현재의 mm_data로 이루어지고, 그 제1 픽셀(즉, A5)은 선택기(106)의 최하위 비트에 입력된다. 가산기는 다음에 A1+A2, A2+A3, A3+A4및A4+A5의 평균을 계산한다. 라운딩 및 트렁케이션 후, 이들의 합계는 수평 서브펠 필터로부터 출력되는 수평으로 보간된 서브펠로 이루어진다(트렁케이션은 수평 서브펠 필터 자신에서 수행된다고 가정한다) .
시간(t2)에 있어서, mm_data1은 픽셀(A5, A6, A7, A8)로 이루어진다. mm_data 는 픽셀(A9, A10, A11, A12)로 이루어진다. 이 점에서, mm_data의 픽셀(A9)만이 선택기(106)에 입력된다. 가산기는 A5+A6, A6+A7, A7+A8및 A8+A9의 합을 가산한다. 마찬가지로, 사이클(t3)동안 픽셀(A9, A10, A11, A12, A13)이 수평으로 보간된다. 사이클(t4)에서, 픽셀(A13, A14, A15, A16, A17)이 수평으로 보간된다. 이 처리는 예측영역(120)내의 모든 픽셀이 보간될 때까지 계속된다. 특히, 제1 행(A1-A17)내의 모든 픽셀이 보간된 후, 다음 행(B1-B17)내의 픽셀이 보간되고, 예측영역 전체가 처리될 때까지 C, D, ..., I의 픽셀이 보간된다.
제9도 및 제10도는 예측영역(160)이 수직 페이지 브레이크(162)를 둘러싸는 더욱 복잡한 경우를 나타낸다. 제5도의 설명과 관련하여, 페이지 브레이크를 둘러싸는 예측영역은 DRAM(22)을 어드레싱할 때 이루어지는 행의 변화의 수를 최소로 하기 위해 한번에 한 페이지가 주사된다. 따라서, 제9도 및 제10도에서는, 픽셀(A1-A3)이 독출되고, 다음에 픽셀(B1-B3), 이 후 픽셀(C1-C3, ... I1-I3)이 독출된다. 그 후, 픽셀(A4-A17)이 독출되고, 다음에 픽셀(B4-B17), ..., 픽셀(I4-I17)이 독출된다.
제6도의 보간 필터는 페이지 브레이크를 바로 실행하는 픽셀 데이터의 9개의 워드를 기억하기 위한 9×32의 레지스터파일(130)(예컨대, 이중 포트 메모리)을 포함한다. 제9도 및 제10도의 예에서는, 페이지 브레이크 직전의 각 워드의 마지막 3개의 픽셀(예컨대, A1, A2, A3)만이 예측영역내에 있다. 그러나, 페이지브레이크 기억부(130)는 페이지 브레이크가 예측영역의 각 행의 4개의 전 픽셀에 의해 실행되는 경우, 9개의 전 워드를 수용하기에 충분할 만큼 크지 않으면 안된다. 멀티플렉서(132)는, 페이지 브레이크 직후의 픽셀(예컨대, A4-A7)이 현재 처리되고 있는가 아닌가에 따라, 단자(100)로부터의 mm_data 또는 페이지 브레이크 기억부(130)로부터의 페이지 브레이크를 즉시 실행하는 데이터의 어느 하나를 선택한다.
제9도 및 제10도를 참조하면, 사이클(t1)동안 픽셀(A1, A2, A3)은 페이지 브레이크(162)의 우측으로부터의 데이터가 보간될 때 연속해서 사용하기 위해 페이지 브레이크 기억부(130)로 로드된다. 이것은, 픽셀(A1)이 픽셀(A2)과 함께 평균화되도록 하고, 픽셀(A2)이 픽셀(A3)과 함께 평균화되도록 하며, 또한 픽셀(A3)이 픽셀(A4)과 함께 평균화되도록 한다. 사이클(t2)중에 픽셀(B1, B2, B3)이 페이지 브레이크 기억부(130)에 기억된다. 사이클(t3)중에 픽셀(C1, C2, C3)이 페이지 브레이크 기억부(130)에 기억된다. 이 페이지 브레이크 기억부의 로딩은 픽셀(I1, I2, I3)이 로딩될 때 사이클(t9)까지 페이지 브레이크(162)의 좌측으로 예측영역내의 관련 픽셀 전부에 대해 계속된다.
페이지 브레이크(162)를 실행하는 픽셀의 전부가 일시적으로 기억된 후, 페이지 브레이크의 우측으로 픽셀의 처리를 시작할 수 있다. 제10도에 나타낸 사이클(t10)에 있어서, 픽셀(A1-A3)이 시프터(106)에 입력된다. 특히, 픽셀(A1-A3)은 페이지 브레이크 기억부(130)로부터 (멀티플렉서(132) 및 레지스터(134)를 매개로) 얻어지고, mm_data1으로서 좌측 시프트 및 픽셀 선택회로(106)에 입력된다. 그 후, 이들 픽셀은 가산기(114, 116, 118)로 출력된다. 동시에, 좌측 시프트 및 픽셀 선택회로(106)는 도시된 바와 같이 가산기(118, 120)로의 출력을 위해 픽셀(A4, A5)로 이루어진 현재의 mm_data를 수신한다. 따라서, 사이클(t10)에서 픽셀(A1)은 픽셀(A2)과 함께 수평으로 평균화되고, 픽셀(A2)은 픽셀(A3)과 함께 수평으로 평균화되며, 픽셀(A3)은 픽셀(A4)과 함께 수평으로 평균화되고, 픽셀(A4)은 픽셀(A5)과 함께 수평으로 평균화된다.
사이클(t11)에서, 픽셀(A5, A6, A7)은 레지스터(134)를 매개로 mm_data로서 시프트 및 픽셀 선택회로(106)에 입력된다. 이들 픽셀은 레지스터(134)에서 한 클럭사이클만큼 지연될 뿐이고, 페이지 브레이크의 좌측으로부터의 픽셀(A1, A2, A3)에서와 같이 페이지 브레이크 기억부(130)로부터 얻어지지 않는다. 동시에, 현재의 mm_data의 제1의 2개의 픽셀(즉, 픽셀(A8및 A9))이 시프터(106)의 마지막 셀에 입력된다. 이것은, 이들 픽셀이 수평으로 보간되도록 한다.
사이클(t12및 t13)중에 예측영역(160)의 제1 행의 남아 있는 픽셀 "A"가 수평으로 보간된다. 그 후, 예측영역의 "B", "C", ..., "I"행의 각각의 남아 있는 픽셀이 동일한 방법으로 평균화된다.
각 행이 제6도의 필터에 의해 수평으로 보간되지만, 그 보간된 서브펠은 제7도의 필터에 의해 수직으로 보간된다. 수평 서브펠 데이터(hsp_data)는 그것이 얻어짐과 동시에, 단자(140)를 매개로 참조부호 145로 나타낸 수직 보간필터에 입력된다. 수평 서브펠 데이터의 한번에 하나의 행이 서브될 데이터의 다음에 수직으로 치환된 워드와 함께 그 행의 각 워드를 평균화하는데 사용하기 위해 4×36 레지스터파일(142)(예컨대, 이중 포트 메모리)에 기억된다. 다음의 행으로부터의 워드가 도착한 때, 수평 서브펠 기억부(142)로부터 출력되고, 레지스터(146)를 매개로 한 클럭사이클만큼 지연된 전의 대응하는 부분의 워드의 서브펠과 함께 가산기(148)(제6도에 나타낸 가산기(114, 116, 118, 120)와 유사한 4개의 별개의 가산기로 이루어진다)에서 평균화된다.
멀티플렉서(144)(선택기로서 사용된다)는, 예측영역내의 수직 페이지 브레이크가 예측영역의 각 행의 단 하나의 워드(즉, 4개 또는 그 이하의 서브펠)에 의해 먼저 일어나는 특수한 경우를 취급하기 위해 제공된다. 타이밍을 고려하기 때문에, 워드(예컨대, 서브펠(A1+2, A2+3, A3+4, A4+5))는 곧바로 이어지는 워드(예컨대, 서브펠(B1+2, B2+3, B3+4, B4+5))가 이것과 함께 평균화될 때, 수평 서브펠 기억부(142)에 기입되지 않는다. 대신에, 제1 워드가 단자(140) 및 멀티플렉서(144)를 매개로레지스터(146)에 직접 기억되어, 수평 서브펠 기억부(142)를 통과하지 않고 가산기(148)에 곧바로 이어지는 워드와 함께 다음의 클럭사이클에서 가산된다. 멀티플렉서(144)는 상술한 바와 같은 입력 hsp_data로부터의 서브펠 또는 수평 서브펠 기억부(142)로부터의 서브펠의 어느 하나를 선택할 수 있다. 선택된 서브펠은 가산기(148)로의 입력(vsp_m_data)으로서 공급될 때, 다음의 클럭사이클까지 레지스터(146)에 유지된다.
2개의 사이클에 걸친 수직 서브펠필터의 동작이 제11도에 예시된다. 이 도면은 2개의 다른 점(ta및 tb)에서의 수평 서브펠 기억부(142)를 나타낸다. 시간(ta)에 있어서, 수평 서브펠 기억부는 예측영역의 전체 행으로부터의 서브펠과 함께 로드된다. 서브펠(A1+2)은, 예컨대 제8도의 시간(t1)에서 나타낸 바와 같이, 픽셀(A1) 및 픽셀(A2)을 보간함으로써 유도된 서브펠을 나타낸다. 다음 행(B행)의 워드로부터의 4개의 서브펠이 생성되면, 가산기(148)의 전 행(A행)으로부터의 대응하는 부분의 서브펠과 함께 평균화된다.
예컨대, 시간(tb)에 있어서, B서브펠(B1+2, B2+3, B3+4, B4+5)의 제1 워드가 제6도의 수평 보간필터에 의해 계산되고, 레지스터(136)로부터 제7도의 수직 보간필터의 단자(140)로 출력된다. 이들 4개의 서브펠은 수평 서브펠 기억부(142)로 곧바로 입력되고, 거기서 그들은 이 점에 의해 레지스터(146)에 일시적으로 기입되는 서브펠(A1+2, A2+3, A3+4, A4+5)을 과기입한다. 동시에, 서브펠(B1+2, B2+3, B3+4, B4+5)은 서브펠(A1+2, A2+3, A3+4, A4+5)이 레지스터(146)로부터 가산기(148)의 각각의 입력에 입력되는 동안 가산기(148)의 그들 각각의 입력에 직접 입력된다. 가산기(148)는 실제로는 4개의 각각의 가산기로 이루어지고, 한번에 생성되어야 할 4개의 서브펠(1개의 워드)의 각각을 위한 것이다.
가산기(148)는 서브펠(A1+2및 B1+2; A2+3및 B2+3; A3+4및 B3+4; A4+5및 B4+5)의 합을 생성한다. 이것은, 1개의 워드에 대한 수평 보간된 A 및 B서브펠의 합성수직 보간이다. 다음의 사이클(도시하지 않음)동안, B서브펠(즉, B5+6, B6+7, B7+8, B8+9)의 다음 워드는 단자(140)에 도착하고, 그들이 가산기(148)에 의해 대응하는 A서브펠(A5+6, A6+7, A7+8, A8+9)에 부가됨과 동시에, 수평 서브펠 기억부(142)에 A서브펠의 대응하는 워드를 과기입한다. 이 처리는 B서브펠의 각각의 워드의 공급과 동시에 발생하는 수직 보간과 함께 계속하고, 그것은 B 및 C의 서브펠의 평균을 계산할 때 계속해서 사용하기 위해 수평 서브펠 기억부(142)에 기입된다.
동일한 처리가 예측영역을 통해 계속되고, DRAM(22)으로부터 독출되는 데이터와 같은 데이터에서 수행되는 필요한 평균 및 관련 계산과 함께 연속한 워드의 그룹에 수평 및 수직보간을 제공한다. 도시된 실시예에서는, 수평 및 수직 보간이 최소한의 하드웨어를 사용하여 달성된다. 예컨대, 수평 서브펠 기억부만이 예측영역으로부터의 서브펠의 1개의 행을 유지하기 위해 필요하게 된다. 따라서, 비교적 작은 규모의 4×36 레지스터파일로 경제적으로 실행할 수 있다.
제6도 및 제7도에 도시된 실시예에서는, 수평 가산기(114-120) 및 수직 가산기(148)로부터 출력되는 합의 트렁케이션이 아직 발생되지 않고 있다. 따라서, 각 워드의 4개의 8비트 서브펠이 아직 가산기(114-120 및/또는 148)의 캐리입력에 의해 가산되는 이진수 "1"을 운반하고 있다. 따라서, 서브펠은 각각이 9비트의 길이이고, 각 워드는 수평 또는 수직 보간만이 발생되는 곳에서의 트렁케이션 이전에는 36비트이다. 수평 및 수직 보간의 양쪽이 제공되는 곳에서는 워드당 총 40비트이기 때문에 각 서브펠은 10비트이다. 그 후, 워드는 각 서브펠의 하나 또는 2개의 최하위 비트를 소거하기 위해 통상의 트렁케이션회로(150)에 의해 트렁케이트된다. 다음에, 수평 및/또는 수직으로 보간된 픽셀데이터의 32비트의 워드가 트렁케이션회로(150)로부터 출력된다.
양방향 보간이 양방향 보간필터(155)를 사용하여 제공된다. I 또는 P프레임매크로블럭 부분(예컨대, 각각 8×8 서브펠의 2개의 블럭)을 위한 수직 보간필터로부터 출력된 서브펠은 양방향 보간필터의 레지스터(152)에 입력되고, 가산기(154)의 대응하는 P 또는 I프레임으로부터의 대응하는 부분의 서브펠과 함께 평균화된다. 합성 앵커프레임 서브펠 데이터는, 예컨대 루미넌스 또는 크로미넌스 데이터(양쪽이 아님)의 전 매크로블럭을 충분히 수용할 정도로 큰 64×32 레지스터파일로 이루어진 양방향 데이터 기억부(156)에 기억된다. 기억한 보간된 앵커 프레임 데이터는 DCII 및/또는 MPEG-2 압축표준에 따라 특수한 이중 프레임 또는 양방향 모드의 예측의 어느 하나를 위해 사용된다.
동작에 있어서, 트렁케이션회로(150)로부터의 트렁케이트된 수직 및 수평으로 보간된 서브펠은 한번에 하나, 가산기(154)의 대응하는 부분의 I 또는 P프레임서브펠의 계속되는 평균화를 위해 레지스터(152)에 일시적으로 기억된다. 이 실시예에 있어서는, 서브펠의 8×16 블럭이, 예컨대 I프레임으로부터 양방향 데이터 기억부(156)에 기억된다. 필요한 P프레임으로부터의 서브펠 데이터의 대응하는 부분의 8×16 블럭이 레지스터(152)에서 이용가능할 때, I프레임 블럭이 양방향 데이터 기억부(156)로부터 독출되어 가산기(154)로 피드백되고, 여기서 P 및 I의 부분이 평균화된다. 합성 평균(vsp_bi_data)은 I데이터(bi_dout)가 막 독출된 곳과 동일한 위치의 양방향 데이터 기억부(156)에 곧바로 기억된다. 이 처리는, 전의 8×16블럭에 대한 평균이 양방향 데이터 기억부(156)에 기억되는 동안, 한번에 서브펠 데이터의 전 8×16블럭에 대해 계속된다. 다음에, 평균화된 I 및 P서브펠은 B프레임을 재구성하기 위해 필요한 예측 데이터로서 양방향 데이터 기억부(156)로부터 독출된다. B프레임이 처리되지 않는 경우, 수평 및/또는 수직으로 보간된 데이터는, 어떠한 bi_dout 데이터도 가산기(154)로 공급하지 않고 데이터 기억부(156)로부터 독출된다.
크로미넌스 데이터가 제6도 및 제7도의 필터에 의해 처리될 때, 부가적인 단계가 좌측 시프트 및 픽셀 선택회로(106)에 의해 수행되어야 한다. 특히, Cr 및 Cb픽셀이 인터레이스되는 크로머 데이터를 기억하는 것이 바람직하다. 이러한 기억은, 그것이 재구성된 비디오를 디스플레이하는 시간일 때, DRAM으로부터의 크로머 데이터의 수정에 최적이다. 그러나, 크로머 픽셀은 예측계산시에 인터레이스될 수 없다. 따라서, 좌측 시프트 및 픽셀 선택기(106)가 크로머 데이터를 인터레이스하지 않고 루미넌스 데이터에 사용되는 동일한 수평 서브픽셀 평균화 하드웨어(제6도)를 통과할 수 있다.
본 발명은 비디오 신장 프로세서의 픽셀간에서 보간을 하기 위한 방법 및 장치를 제공한다는 것을 이해할 수 있을 것이다. 보간은 한번에 양쪽을 처리하기 위한 예측영역으로부터의 모든 픽셀을 독출하기 위한 필요성을 없애기 위해 적절한 계산을 사용하여 수행된다. 대신에, 픽셀은 데이터가 독출될 때에 그 데이터에서 수행되는 필요한 평균화 및 관련 계산과 함께 연속한 워드의 그룹으로서 처리된다. 본 발명의 방법 및 장치는, 독출해야 할 데이터의 전부를 대기한다기보다는 오히려, 동시에 데이터를 독출하여 필터링한다. 이용가능한 모든 클럭사이클이 사용되고, 매우 경제적인 디자인으로 된다.
본 발명을 실행하기 위해 필요한 메모리양은 또한 최소화된다. 키(key)로 되는 중요한 점은, 예컨대 페이지 브레이크 전의 픽셀의 가장 우측에 있는 열의 복사를 유지하기 위해 페이지 브레이크 기억부(130)를 사용하는 것, 및 수직 보간에 필요한 픽셀 또는 서브펠의 그 전의 행의 복사를 유지하기 위해 수평 서브펠 기억부(142)를 제공하는 것이다. 또, 중요한 점은 (양방향 보간을 행할 때에) 한 방향으로부터의 예측을 유지하고, 그 후 내용을 다른 방향으로부터의 예측과 함께 평균화하는 양방향 데이터 기억부(156)를 제공하는 것이다.
본 발명은 그 양호한 실시예와 관련하여 설명되었으나, 청구범위에 나타낸 바와 같은 본 발명의 정신 및 범주를 벗어나는 일없이 갖가지의 응용 및 변형이 있을 수 있음은 당 분야에 숙련된 지식을 가진 자에게는 명백하다.
제1도는 본 발명에 따른 비디오 신장 프로세서의 블럭도,
제2도는 하나의 루미넌스 비디오 프레임이 본 발명에 따라 어떻게 페이지로 나누어지는가를 나타낸 도면,
제3도는 한 루미넌스 페이지를 설명하기 위한 도면,
제4도는 한 크로미넌스 페이지를 설명하기 위한 도면,
제5도는 예측영역으로부터의 데이터의 독출이 억세스되어야 할 4개의 다른 메모리행을 필요로 하는 최악의 조건을 설명하기 위한 도면,
제6도는 본 발명에 따른 수평 보간필터의 블럭도,
제7도는 본 발명에 따른 수직 및 양방향 보간을 제공하기 위한 필터의 블럭도,
제8도는 예측영역이 수직 페이지 브레이크를 갖고 있지 않은 경우의 제6도의 수평 서브펠 필터의 동작을 설명하기 위한 도면,
제9도 및 제10도는 예측영영이 수직 페이지 브레이크를 갖고 있는 경우의 제6도의 수평 서브펠 필터의 동작을 설명하기 위한 도면,
제11도는 제7도의 수직 서브펠 필터의 동작을 설명하기 위한 도면이다.
Claims (20)
- (a) 비디오 프레임의 행에 배열된 다중픽셀 워드에 제공되는 픽셀 데이터를 보간하기 위한 방법으로,상기 비디오 프레임의 행으로부터 보간되어야 할 워드의 적어도 하나의 제1 세트를 선택하는 단계와,(b) 상기 세트의 각각의 워드에 대해 픽셀데이터를 상기 행에 의해 규정된 보간방향으로 보간하는 단계,(c) 워드의 상기 제1 세트에 대해 보간된 픽셀데이터를 메모리에 일시적으로 기억하는 단계,(d) 상기 비디오 프레임의 다음의 연속하는 행으로부터 보간되어야 할 상기 워드의 적어도 하나의 다음의 세트를 선택하는 단계,(e) 상기 다음의 세트의 워드에 대한 픽셀데이터를 상기 보간방향으로 보간하는 단계,(f) 상기 다음의 세트로부터의 보간된 워드의 대응하는 부분인 상기 제1 세트의 워드에 대해 보간된 픽셀데이터를 상기 메모리로부터 독출하는 단계 및,(g) 상기 메모리로부터 독출한 보간된 픽셀데이터를, 상기 다음의 세트로부터의 그 대응하는 부분의 보간된 픽셀데이타와 함께, 전자 대신에 후자를 상기 메모리에 기억하는 동안 평균화하는 단계를 구비하고,워드의 상기 다음의 연속하는 세트가, 워드의 상기 제1 세트에 인접하여 위치하고, 상기 다음의 세트의 워드의 각각이 상기 제1 세트에 대응하는 부분의 워드를 갖는 것을 특징으로 하는 픽셀보간방법.
- 제1항에 있어서, 워드의 상기 제1 세트에 대해 보간된 데이터를 대체하기 위해 상기 다음의 세트의 모든 워드가 보간, 평균화 및 메모리에 기억될 때까지, 상기 단계 (e), (f) 및 (g)가 상기 다음의 세트의 연속하는 워드에 대해 수행되는 것을 특징으로 하는 픽셀보간방법.
- 제1항에 있어서, 상기 비디오 프레임의 다음의 행으로부터 보간되어야 할 워드의 다음의 세트를 선택하는 단계와,상기 보간방향으로 현재의 연속하는 세트의 워드에 대한 픽셀데이터를 보간하는 단계,상기 현재의 연속하는 세트로부터의 보간된 워드의 대응하는 부분인 직전의 세트의 워드에 대해 보간된 픽셀데이터를 메모리로부터 독출하는 단계,상기 메모리로부터 독출한 보간된 픽셀데이터를, 상기 현재의 연속하는 세트로부터의 그 대응하는 부분의 보간된 픽셀데이터와 함께, 전자를 대신하여 후자를 상기 메모리에 기억하는 동안 평균화하는 단계 및,상기 비디오 프레임의 소망하는 영역의 워드 전부가 보간, 평균화되고 상기 메모리를 통해 순환될 때까지 연속하는 세트의 각각의 연속하는 워드에 대해 전의 보간, 독출 및 평균화단계를 수행하는 단계를 더 구비하고,워드의 다음의 세트의 각각이 그 전의 행에서 선택된 워드의 세트에 인접하여 위치하고, 연속하는 세트의 각각의 워드의 각각이 그 직전의 세트에 대응하는 부분의 워드를 갖는 것을 특징으로 하는 픽셀보간방법.
- 제3항에 있어서, 픽셀데이터가 보간되는 상기 비디오 프레임의 예측영역을 규정하는 단계와,상기 예측영역이 상기 비디오 프레임이 기억되는 프레임기억부의 한 페이지 이상으로부터의 픽셀데이터를 둘러싸는가를 결정하는 단계 및,상기 예측영역이 상기 프레임 기억부의 한 페이지 이상으로부터의 픽셀데이터를 둘러싸는 경우, 상기 프레임기억부의 다음의 페이지로부터의 픽셀데이터가 보간되기 전에 상기 프레임기억부의 제1 페이지로부터의 상기 예측영역의 픽셀데이터의 전부가 보간될 수 있도록, 보간되여야 할 워드의 상기 제1, 제2 및 연속하는 세트를 선택하는 단계를 더 구비한 것을 특징으로 하는 픽셀보간방법.
- 제4항에 있어서, 페이지 경계를 교차하지 않고 상기 프레임기억부의 현재의 페이지의 페이지 경계에 인접하여 남아 있는 픽셀데이터를 보간할 수 있도록, 상기 프레임 기억부의 전에 보간된 페이지의 페이지 경계에 인접한 픽셀데이터를 분리된 메모리에 일시적으로 기억하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 픽셀보간방법.
- 제5항에 있어서, 픽셀데이터가 적어도 2개의 앵커프레임의 예측영역에 대해 보간되고,상기 앵커프레임중 하나에 대해 보간된 픽셀데이터를, 상기 앵커프레임중 다른 하나의 픽셀데이터를 보간하는 동안 양방향 데이터기억부에 일시적으로 기억하는 단계와,상기 양방향 데이터 기억부로부터의 상기 일시적으로 기억한 보간된 픽셀데이터를 상기 앵커프레임중 다른 하나에 대해 보간된 픽셀데이터와 함께, 후자가 보간될 때 평균화하는 단계 및,양방향(B)화상을 해독하는데 계속 사용하기 위해 평균화한 앵커프레임의 보간된 픽셀데이터를 상기 양방향 데이터 기억부에 기입하는 단계를 더 구비한 것을 특징으로 하는 픽셀보간방법.
- 제6항에 있어서, 상기 평균화한 앵커프레임의 보간된 픽셀데이터가 이로부터 독출한 앵커프레임의 보간된 데이터 대신에 상기 양방향 데이터 기억부에 기입되는 것을 특징으로 하는 픽셀보간방법.
- 제1항에 있어서, 상기 평균화한 보간된 픽셀데이터를 트렁케이트하는 단계를 더 구비한 것을 특징으로 하는 픽셀보간방법.
- 비디오 동작예측 프로세서를 위한 서브픽셀 보간필터로,예측영역의 행내의 (N+1)개의 픽셀의 제1 벡터에 포함된 인접한 픽셀을 평균화함으로써 N개의 서브펠의 제1세트를 발생하는 수단과,서브펠의 상기 제1 세트를 일시적으로 기억하는 수단,상기 예측영역의 다음의 행으로부터 (N+1)개의 픽셀의 제2 벡터에 포함된 인접한 픽셀을 평균화함으로써 N개의 서브펠의 제2 세트를 발생하는 수단 및,2차원에 있어서 보간되는 상기 픽셀데이터를 나타내는 서브펠의 제3 세트를 얻기 위해 기억된 서브펠의 상기 제1 세트로부터의 각 서브펠을, 상기 제2 세트의 대응하는 부분의 서브펠이 발생될 때, 상기 제2 세트로부터의 대응하는 부분의 서브펠과 함께 평균화하는 수단을 구비하여 구성되고,상기 다음의 행의 상기 제2 벡터가 상기 제1 행의 상기 제1 벡터에 대응하는 것인 것을 특징으로 하는 서브픽셀 보간필터.
- 제9항에 있어서, 제2 세트의 서브펠이 상기 평균화수단에 의해 그 대응하는 제1 세트의 서브펠과 함께 평균화됨과 동시에, 상기 제1 세트로부터의 그 대응하는 부분의 서브펠 대신에 상기 제2 세트로부터의 각 서브펠을 상기 기억수단에 기억하는 수단을 구비하여 구성된 것을 특징으로 하는 서브픽셀 보간 필터.
- 제9항에 있어서, 상기 예측영역이 보간되는 픽셀이 기억되는 프레임기억부의 한 페이지 이상으로부터의 픽셀데이터를 둘러싸는 때를 결정하는 수단과,상기 프레임기억부의 이어지는 페이지부터의 픽셀데이터가 보간되기 전에 상기 프레임기억부의 제1페이지로부터의 상기 예측영역내의 모든 픽셀데이터가 보간될 수 있도록 상기 예측영역내의 다음의 행으로부터 보간되어야 할 픽셀의 벡터를 계속해서 선택하기 위한 상기 결정수단에 응답함으로써, 상기 예측영역으로부터의 픽셀데이터 전부를 보간할 때 교차되는 페이지 경계의 수를 최소화하는 수단을 더 구비하여 구성된 것을 특징으로 하는 서브픽셀 보간필터.
- 제11항에 있어서, 현재 보간되는 상기 프레임기억부의 페이지의 페이지 경계와 인접하여 남아 있는 픽셀데이터를 페이지 경계를 교차하지 않고 보간할 수 있도록 하기 위해 상기 프레임 기억부의 전에 보간된 페이지의 페이지 경계에 인접한 픽셀데이터를 일시적으로 기억하는 수단을 더 구비하여 구성된 것을 특징으로 하는 서브픽셀 보간필터.
- 제9항에 있어서, 양방향(B)프레임을 재구성할 때에 계속해서 사용하기 위해 내부(I)화상의 예측영역으로부터 및, 예측(P)화상의 예측영역으로부터의 픽셀데이터를 보간하기 위한 것으로,상기 I 또는 P화상중 하나에 대해 보간된 픽셀데이터를 양방향 데이터기억부에 일시적으로 기억하고, 그것을 상기 I 및 P화상중 다른 하나에 대해 보간된 픽셀데이터와 함께, 상기 I 및 P화상중 다른 하나에 대한 픽셀데이터가 보간되는 동안 평균화하는 수단 및,상기 B프레임을 해독할 때에 계속해서 사용하기 위해 평균화한 I 및 P의 보간된 픽셀데이터를 상기 양방향 데이터 기억부에 기입하는 수단을 더 구비하여 구성된 것을 특징으로 하는 서브픽셀 보간필터.
- 제13항에 있어서, 상기 평균화한 I 및 P의 보간된 픽셀데이터가, 상기 양방향 데이터기억부에, 이로부터 독출한 I 또는 P의 보간된 데이터 대신에 기입되는 것을 특징으로 하는 서브픽셀 보간필터.
- 비디오 신장 프로세서를 위한 수평 픽셀 보간필터로,비디오 예측프레임의 예측영역으로부터의 N개의 픽셀을 각각 포함하며, 연속한 클럭사이클동안 수신되는 연속한 워드를 수신하는 입력과,픽셀데이터의 상기 연속한 워드를 하나의 클럭사이클만큼 지연하는 수단,상기 입력에서 수신한 각 연속한 워드로부터의 제1 픽셀과, 상기 지연수단으로부터의 직전의 워드를 홀딩하는 수단 및,상기 비디오 신장 프로세서에 의한 사용을 위해 수평으로 보간된 서브펠의 연속한 세트를 공급하기 위해, 각 클럭사이클에서 상기 홀딩수단에 홀딩된 인접픽셀을 수신하여 평균화하도록 연결된 수단을 구비하여 구성된 것을 특징으로 하는 수평 픽셀 보간필터.
- 제15항의 필터에 의해 공급되는 수평으로 보간된 서브펠을 수직으로 보간하기 위한 수직 보간필터에 있어서,연속한 클럭사이클동안 수평으로 보간된 서브펠의 상기 연속한 세트를 수신하는 입력과,상기 예측영역내의 수평으로 보간된 서브펠의 수직으로 인접한 대응하는 세트와 함께 평균화하기 위해 상기 수평으로 보간된 서브펠의 연속한 세트를 버퍼링하는 수단 및,상기 비디오 신장 프로세서에 의한 사용을 위해 수평 및 수직으로 보간된 서 브펠의 연속한 세트를 공급하기 위해 수평으로 보간된 서브펠의 상기 버퍼링된 세트를 상기 대응하는 부분의 세트와 함께 평균화하는 수단을 구비하여 구성된 것을 특징으로 하는 수직 보간필터.
- 내부(I)화상의 예측영역으로부터 및 예측(P)화상의 예측영역으로부터 픽셀데이터를 보간하기 위해 사용되는 제16항의 수평 및 수직 보간필터를 조합하여 사용하기 위한 양방향 보간필터에 있어서,양방향 데이터기억부에, 상기 I 또는 P화상중 하나에 대해 보간된 픽셀데이터를 일시적으로 기억하고, 이것을 상기 I 및 P화상중 다른 하나에 대해 보간된 픽셀데이터와 함께, 상기 I 및 P화상중 다른 하나에 대해 보간된 픽셀데이터가 상기 수평 및 수직 보간필터에 의해 보간되는 동안 평균화하는 수단 및,평균화한 상기 I 및 P의 보간된 픽셀데이터를, 양방향(B)프레임을 해독할 때에 계속해서 사용하기 위해 상기 양방향 데이터 기억부에 기입하는 수단을 더 구비하여 구성된 것을 특징으로 하는 양방향 보간필터.
- 제15항에 있어서, 상기 평균화수단은 상기 홀딩수단에 연결된 복수의 가산기를 포함하고, 상기 각 가산기는 합을 공급하기 위해 상기 홀딩수단으로부터의 2개의 인접한 픽셀을 가산하며,각 가산기는 이진수 "1"을 상기 합에 가산하기 위한 캐리입력을 포함하고,상기 합을 그 최하위 비트만큼 트렁케이트하여 0으로부터 멀리 떨어져 라운딩되도록 서브펠로 하기 위한 수단이 설치되는 것을 특징으로 하는 수평 픽셀 보간필터.
- 제18항에 있어서, 상기 비디오 예측프레임이 타일의 세트로서 랜덤억세스메모리(RAM)에 기억되고, 상기 각 타일이 픽셀데이터를 포함하며 상기 RAM의 한 페이지를 점유하고,상기 보간필터가, 수직 페이지 브레이크의 제1 측면에 인접한 상기 예측영역으로부터의 워드의 서브세트를 기억하는 메모리수단 및,상기 수직 페이지 브레이크의 제2 측면에 인접한 픽셀이 보간될 때, 상기 지연수단으로부터 상기 직전의 워드를 입력하는 대신에 상기 메모리수단으로부터 상기 홀딩수단으로 워드를 입력하는 수단을 더 구비하여 구성된 것을 특징으로 하는 수평 픽셀 보간필터.
- 제15항에 있어서, 상기 비디오 예측프레임의 타일의 세트로서 랜덤억세스메모리(RAM)에 기억되고, 상기 각 타일의 픽셀데이터를 포함하며 상기 RAM의 한 페이지를 점유하고,상기 보간필터가, 수직 페이지 브레이크의 제1 측면에 인접한 상기 예측영역으로부터의 워드의 서브세트를 기억하는 메모리수단 및,상기 수직 페이지 브레이크의 제2 측면에 인접한 픽셀이 보간될 때, 상기 지연수단으로부터 상기 직전의 워드를 입력하는 대신에 상기 메모리수단으로부터 상기 홀딩수단으로 워드를 입력하는 수단을 더 구비하여 구성된 것을 특징으로 하는 수평 픽셀 보간필터.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/335,651 | 1994-11-08 | ||
US08/335,651 US5638128A (en) | 1994-11-08 | 1994-11-08 | Pixel interpolation filters for video decompression processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960020470A KR960020470A (ko) | 1996-06-17 |
KR100371834B1 true KR100371834B1 (ko) | 2003-05-09 |
Family
ID=23312700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950040020A KR100371834B1 (ko) | 1994-11-08 | 1995-11-07 | 비디오신장프로세서용픽셀보간필터및픽셀보간방법 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5638128A (ko) |
EP (2) | EP0712249B1 (ko) |
JP (1) | JPH08237662A (ko) |
KR (1) | KR100371834B1 (ko) |
AU (1) | AU691043B2 (ko) |
CA (1) | CA2160301C (ko) |
DE (2) | DE69532318T2 (ko) |
NO (1) | NO954463L (ko) |
TW (1) | TW315570B (ko) |
Families Citing this family (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3794505B2 (ja) * | 1995-03-22 | 2006-07-05 | ソニー株式会社 | 信号変換装置及び信号変換方法 |
GB9512565D0 (en) * | 1995-06-21 | 1995-08-23 | Sgs Thomson Microelectronics | Video signal processor |
KR0178746B1 (ko) * | 1995-12-13 | 1999-05-01 | 김광호 | 매크로블럭의 반픽셀처리장치 |
US5768537A (en) * | 1996-02-22 | 1998-06-16 | International Business Machines Corporation | Scalable MPEG2 compliant video encoder |
IT1285258B1 (it) * | 1996-02-26 | 1998-06-03 | Cselt Centro Studi Lab Telecom | Dispositivo di manipolazione di sequenze video compresse. |
US6901153B1 (en) * | 1996-03-14 | 2005-05-31 | Ati Technologies Inc. | Hybrid software/hardware video decoder for personal computer |
US5818532A (en) * | 1996-05-03 | 1998-10-06 | Lsi Logic Corporation | Micro architecture of video core for MPEG-2 decoder |
US5845249A (en) | 1996-05-03 | 1998-12-01 | Lsi Logic Corporation | Microarchitecture of audio core for an MPEG-2 and AC-3 decoder |
US6430533B1 (en) | 1996-05-03 | 2002-08-06 | Lsi Logic Corporation | Audio decoder core MPEG-1/MPEG-2/AC-3 functional algorithm partitioning and implementation |
US6108633A (en) * | 1996-05-03 | 2000-08-22 | Lsi Logic Corporation | Audio decoder core constants ROM optimization |
US5870310A (en) * | 1996-05-03 | 1999-02-09 | Lsi Logic Corporation | Method and apparatus for designing re-usable core interface shells |
EP1237376B1 (en) * | 1997-06-09 | 2015-08-05 | Hitachi, Ltd. | Image information recording medium |
US6574371B2 (en) | 1997-06-09 | 2003-06-03 | Hitachi, Ltd. | Image decoding method |
US7801380B2 (en) | 1997-06-09 | 2010-09-21 | Hitachi, Ltd. | Recording medium having recorded thereon coded information using plus and/or minus rounding of images |
US6289053B1 (en) * | 1997-07-31 | 2001-09-11 | Lsi Logic Corporation | Architecture for decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements |
JP4215844B2 (ja) * | 1997-11-05 | 2009-01-28 | 日本テキサス・インスツルメンツ株式会社 | 半導体記憶装置 |
US6377713B1 (en) | 1999-01-27 | 2002-04-23 | General Instrument Corporation | Synchronous DRAM bandwidth optimization for display downsizing of an MPEG-2 image |
US6567557B1 (en) | 1999-12-10 | 2003-05-20 | Stmicroelectronics, Inc. | Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences |
EP1166566A2 (en) * | 1999-04-01 | 2002-01-02 | Ravisent Technologies, Inc. | Memory management method for high speed streaming data processing in a computer device |
US6400764B1 (en) * | 1999-04-06 | 2002-06-04 | Koninklijke Philips Electronics N. V. | Motion estimation method featuring orthogonal-sum concurrent multi matching |
US7168069B1 (en) | 2000-07-12 | 2007-01-23 | Stmicroelectronics, Inc. | Dynamic generation of multimedia code for image processing |
US6859494B2 (en) | 2001-07-27 | 2005-02-22 | General Instrument Corporation | Methods and apparatus for sub-pixel motion estimation |
US8284844B2 (en) | 2002-04-01 | 2012-10-09 | Broadcom Corporation | Video decoding system supporting multiple standards |
US8040949B2 (en) * | 2003-01-09 | 2011-10-18 | The Regents Of The University Of California | Video encoding methods and devices |
US20040196302A1 (en) * | 2003-03-04 | 2004-10-07 | Im Moon Hwan | Systems and methods for temporal subpixel rendering of image data |
NO320114B1 (no) * | 2003-12-05 | 2005-10-24 | Tandberg Telecom As | Forbedret utregning av interpolerte pixelverdier |
KR100605105B1 (ko) * | 2004-05-28 | 2006-07-26 | 삼성전자주식회사 | 영상 보간 장치 |
KR100607558B1 (ko) | 2004-08-16 | 2006-08-01 | 한국전자통신연구원 | 수정된 센트로이드 링케이지 방법을 이용한 영역기반위성영상 영역분할 시스템 |
US7660354B2 (en) * | 2005-05-11 | 2010-02-09 | Fang Shi | Temporal error concealment for bi-directionally predicted frames |
KR100706917B1 (ko) * | 2005-08-03 | 2007-04-12 | 엠텍비젼 주식회사 | 실시간 이미지 스케일링 장치, 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 |
JP4987364B2 (ja) * | 2006-06-23 | 2012-07-25 | 株式会社東芝 | ラインメモリ実装装置とテレビジョン受信装置 |
JP4712642B2 (ja) | 2006-08-17 | 2011-06-29 | 富士通セミコンダクター株式会社 | デブロッキングフィルタ、画像符号化装置および画像復号化装置 |
CN100463524C (zh) * | 2006-10-20 | 2009-02-18 | 西安交通大学 | 一种用于运动估计的vlsi装置及运动估计的方法 |
US8553758B2 (en) * | 2007-03-02 | 2013-10-08 | Sony Corporation | Motion parameter engine for true motion |
US8363728B2 (en) * | 2008-04-18 | 2013-01-29 | Sony Corporation | Block based codec friendly edge detection and transform selection |
US9326004B2 (en) * | 2008-06-03 | 2016-04-26 | Broadcom Corporation | Reduced memory mode video decode |
US8139883B2 (en) * | 2008-07-29 | 2012-03-20 | Sony Corporation | System and method for image and video encoding artifacts reduction and quality improvement |
US20100067818A1 (en) * | 2008-09-15 | 2010-03-18 | Sony Corporation, A Japanese Corporation | System and method for high quality image and video upscaling |
US10244239B2 (en) | 2010-12-28 | 2019-03-26 | Dolby Laboratories Licensing Corporation | Parameter set for picture segmentation |
US9123278B2 (en) * | 2012-02-24 | 2015-09-01 | Apple Inc. | Performing inline chroma downsampling with reduced power consumption |
WO2013173292A1 (en) | 2012-05-14 | 2013-11-21 | Motorola Mobility Llc | Scalable video coding with enhanced base layer |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9749627B2 (en) | 2013-04-08 | 2017-08-29 | Microsoft Technology Licensing, Llc | Control data for motion-constrained tile set |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
CN107408405B (zh) | 2015-02-06 | 2021-03-05 | 美光科技公司 | 用于并行写入到多个存储器装置位置的设备及方法 |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
CN107408404B (zh) | 2015-02-06 | 2021-02-12 | 美光科技公司 | 用于存储器装置的设备及方法以作为程序指令的存储 |
US10522212B2 (en) | 2015-03-10 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for shift decisions |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
WO2016144726A1 (en) | 2015-03-12 | 2016-09-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
US10373666B2 (en) | 2016-11-08 | 2019-08-06 | Micron Technology, Inc. | Apparatuses and methods for compute components formed over an array of memory cells |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10318317B2 (en) | 2017-05-12 | 2019-06-11 | Tenstorrent Inc. | Processing core with operation suppression based on contribution estimate |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR900001231A (ko) * | 1988-06-02 | 1990-01-31 | 이반 밀러 레르너 | 보간 필터 및 이를 갖춘 수상기 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
GB2248361B (en) * | 1990-09-28 | 1994-06-01 | Sony Broadcast & Communication | Motion dependent video signal processing |
US5057916A (en) * | 1990-11-16 | 1991-10-15 | General Instrument Corporation | Method and apparatus for refreshing motion compensated sequential video images |
CA2062200A1 (en) * | 1991-03-15 | 1992-09-16 | Stephen C. Purcell | Decompression processor for video applications |
US5235419A (en) * | 1991-10-24 | 1993-08-10 | General Instrument Corporation | Adaptive motion compensation using a plurality of motion compensators |
CA2096584A1 (en) * | 1992-05-28 | 1993-11-29 | Frank H. Liao | Variable length code decoder for video decompression operations |
US5398079A (en) * | 1993-01-27 | 1995-03-14 | General Instrument Corporation | Half-pixel interpolation for a motion compensated digital video system |
-
1994
- 1994-11-08 US US08/335,651 patent/US5638128A/en not_active Expired - Lifetime
- 1994-12-27 TW TW083112205A patent/TW315570B/zh active
-
1995
- 1995-10-11 CA CA002160301A patent/CA2160301C/en not_active Expired - Lifetime
- 1995-10-18 DE DE69532318T patent/DE69532318T2/de not_active Expired - Lifetime
- 1995-10-18 EP EP95116378A patent/EP0712249B1/en not_active Expired - Lifetime
- 1995-10-18 DE DE69534408T patent/DE69534408T8/de active Active
- 1995-10-18 EP EP03001661A patent/EP1313325B1/en not_active Expired - Lifetime
- 1995-11-07 AU AU37705/95A patent/AU691043B2/en not_active Ceased
- 1995-11-07 NO NO954463A patent/NO954463L/no unknown
- 1995-11-07 KR KR1019950040020A patent/KR100371834B1/ko not_active IP Right Cessation
- 1995-11-08 JP JP7313761A patent/JPH08237662A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR900001231A (ko) * | 1988-06-02 | 1990-01-31 | 이반 밀러 레르너 | 보간 필터 및 이를 갖춘 수상기 |
Also Published As
Publication number | Publication date |
---|---|
AU691043B2 (en) | 1998-05-07 |
NO954463D0 (no) | 1995-11-07 |
NO954463L (no) | 1996-05-09 |
US5638128A (en) | 1997-06-10 |
DE69534408T8 (de) | 2006-10-05 |
DE69534408D1 (de) | 2005-09-29 |
TW315570B (ko) | 1997-09-11 |
CA2160301C (en) | 2001-12-18 |
EP0712249A3 (en) | 1999-06-23 |
EP1313325A3 (en) | 2003-05-28 |
EP0712249A2 (en) | 1996-05-15 |
CA2160301A1 (en) | 1996-05-09 |
EP1313325A2 (en) | 2003-05-21 |
EP1313325B1 (en) | 2005-08-24 |
DE69532318D1 (de) | 2004-01-29 |
DE69534408T2 (de) | 2006-06-14 |
AU3770595A (en) | 1996-05-16 |
JPH08237662A (ja) | 1996-09-13 |
DE69532318T2 (de) | 2004-10-21 |
EP0712249B1 (en) | 2003-12-17 |
KR960020470A (ko) | 1996-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100371834B1 (ko) | 비디오신장프로세서용픽셀보간필터및픽셀보간방법 | |
KR100376207B1 (ko) | 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치 | |
KR100380709B1 (ko) | 디지털비디오신장프로세서및디지털비디오신장프로세서의디램을매핑하기위한방법 | |
US6088047A (en) | Motion compensated digital video decoding with buffered picture storage memory map | |
US5557332A (en) | Apparatus and method for reproducing a prediction-encoded video signal | |
US6658056B1 (en) | Digital video decoding, buffering and frame-rate converting method and apparatus | |
JP3395166B2 (ja) | 統合ビデオ復号化システム、フレーム・バッファ、符号化ストリーム処理方法、フレーム・バッファ割当て方法及び記憶媒体 | |
US6215822B1 (en) | Motion compensated digital video decoding and buffer memory addressing therefor | |
EP0917375A2 (en) | Picture memory mapping for compression and decompression of image sequences | |
WO1996041482A1 (en) | Hybrid hierarchical/full-search mpeg encoder motion estimation | |
EP1689195A2 (en) | Picture memory mapping to minimize memory bandwidth in compression and decompression of image sequences | |
US6437787B1 (en) | Display master control | |
EP2425622B1 (en) | Efficient internal cache for hardware motion estimation | |
JPH08294115A (ja) | Mpeg復号化器及びその復号化方法 | |
JPH10178644A (ja) | 動画像復号装置 | |
JPH0759096A (ja) | ビデオエンコーダ及びデコーダ | |
JP3871348B2 (ja) | 画像信号復号化装置及び画像信号復号化方法 | |
JP2863096B2 (ja) | 並列処理による画像復号装置 | |
WO1999016252A1 (en) | Motion compensated digital video decoding with buffered picture storage memory map | |
GB2400260A (en) | Video compression method and apparatus | |
WO2000059218A1 (en) | Digital video decoding, buffering and frame-rate converting method and apparatus | |
JPH07298264A (ja) | 画像データの処理方法およびそれに用いる記憶装置ならびに画像データの処理装置 | |
US5774590A (en) | Image data reproducing apparatus | |
KR100269426B1 (ko) | 개선된프레임메모리를갖는움직임보상장치 | |
JPH08126011A (ja) | 画像復号方法および画像復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051230 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |