KR20000069892A - 디지털 버서타일 디스크 비디오 처리 방법 및 장치 - Google Patents

디지털 버서타일 디스크 비디오 처리 방법 및 장치 Download PDF

Info

Publication number
KR20000069892A
KR20000069892A KR1019997006085A KR19997006085A KR20000069892A KR 20000069892 A KR20000069892 A KR 20000069892A KR 1019997006085 A KR1019997006085 A KR 1019997006085A KR 19997006085 A KR19997006085 A KR 19997006085A KR 20000069892 A KR20000069892 A KR 20000069892A
Authority
KR
South Korea
Prior art keywords
digital
image
yuv
texture mapping
mapping engine
Prior art date
Application number
KR1019997006085A
Other languages
English (en)
Other versions
KR100604102B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25507913&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20000069892(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 요트.게.아. 롤페즈, 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 요트.게.아. 롤페즈
Publication of KR20000069892A publication Critical patent/KR20000069892A/ko
Application granted granted Critical
Publication of KR100604102B1 publication Critical patent/KR100604102B1/ko

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Television Signal Processing For Recording (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

DVD 데이터 스트림을 재생하도록 구성된 컴퓨터 시스템(80)에서 MPEG-2 비디오 디코딩을 지원하도록 3D 그래픽스 가속기(84)를 수정하였다. 방법 및 장치는 3D 그래픽스 가속기(94)를 수정하여 움직임 보상 및/또는 YUV 4:2:0을 YUV 4:2:0으로의 변환을 수행한다. 3D 그래픽스 가속기(84)에 의해 서브코드 블렌딩이 또한 지원될 수 있다.

Description

디지털 버서타일 디스크 비디오 처리 방법 및 장치{Methods and apparatus for processing DVD video}
본 발명은 컴퓨터에 관한 것으로, 특히 컴퓨터를 사용하여 디지털 다목적 디스크(DVD)를 처리하는 방법 및 장치에 관한 것이다.
DVD(Digital Versatile Disk) 기술의 출현으로 개인용 컴퓨터(PD)의 시장 성장 기회가 크게 주어졌다. 또한 비용 경쟁이 높은 PC 시장에 현저한 기술적인 문제, 즉 다른 PC 응용범위를 지원할 만큼 적응성이 있으면서도 사용자가 요구하는 디지털 비디오 수행 및 품질을 제공하는 비용 효율적인 PC 구조를 제공하는 기술적인 문제가 주어졌다.
알려진 바와 같이 DVD 기술로 최근의 멀티미디어 PC 환경이 현저히 도약하여 진척되었다. CD-ROM과의 역 호환성을 제공하는 것 외에도, 현재의 DVD는 4.7GB 내지 17GB의 저장용량을 제공하며, 이 용량은 통상의 CD 저장용량의 최소한 약 8배이다. 이러한 증가된 저장용량을 지원하기 위해서, DVD-ROM 드라이브와 같은 DVD 장치는 통상 10Mb/s를 넘는 대역폭을 제공한다. DVD 기술을 예를 들어 MPEG-2 비디오 압축기술과 같은 비디오 압축기술 및 MPEG-2 및 AC-3 오디오 기술과 같은 오디오 압축기술과 결합함으로써, PC는 방송 수준의 텔레비전(TV)보다 더 좋게 비디오 디스플레이 장치 및 오디오 재생 장치에 전달할 수 있다.
DVD는 PC 기술이 다양한 새로운 시장영역으로 이주하는 길을 제공하고 있다. DVD는 PC 업계에서 채택하고 있을 뿐만 아니라, 오락 및 소비자 전자업계에서 채택하고 있다. 따라서, 많은 PC 제조업자 및 소프트웨어 개발자는 데스크탑 PC를 완전히 성장된 오락 전자제품으로 전환하는 다음 단계가 될 것으로 DVD를 생각하고 있다. 예를 들면, 오락 PC에서부터 셋탑 PC 및 PC-TV에 이르는 모든 것으로서 평가되는 새로운 제품이 점차 진척되고 있다. 예로서, 게이트웨이 및 컴팩과 같은 제조업자는 특히 가정에 비디오 및 컴퓨터 기반 오락물을 전달하는데 맞게 만들어진 제품을 점차 선적하고 있다. 더욱이, 필립스는 최근에 가정용을 겨냥한, PC 구조에 기초한 DVX8000 멀티미디어 홈 시어터를 최근에 발표했다. 이러한 추세를 인식하고 조장하기 위해서, 마이크로소프트는 이러한 신종 "오락 PC"에 대한 고유한 플랫폼 요건을 정하려고 하고 있다.
다양한 PC 플랫폼 상의 DVD에 대한 미래가 매우 밝게 보이지만, 최근의 PC 구조의 제약 및 PC 시장이 극히 비용에 민감한 현실의 제약 내에서 기술적인 작업을 어떻게 해야 할 것인가에 대한 당면한 문제가 있다. MPEG-2 표준은 통상 5Mb/sec MPEG-2 비디오 신호를 디스플레이 가능한 비디오 신호로 디코드하여 압축해제하는데 필요한 처리량 때문에 특히 어려운 문제를 주고 있다. 더욱이, 동반된 오디오 신호 역시 디코드될 필요가 있고 때로는 압축해제될 필요성도 있다. 결국, DVD 능력을 갖는 PC 구조는 주 시장에 있어서 너무 비싼 경향이 있고/또는 적합히 수행하는데 필요한 성능이 결여되는 경향이 있다.
품질, 저장 및 데이터 비트속도의 목적을 달성하기 위해서, DVD 비디오 표준은 MPEG-2 비디오 및 AC-3와 MPEG-2 오디오를 포함하여, 몇몇 기존의 오디오 및 비디오 압축 및 전송표준을 유력화하고 있다. 예로서, 도 1은 통상의 VDV 처리 파이프라인을 도시한 것으로, 여기서 DVD 데이터 스트림은 예를 들면 DVD-ROM 드라이브 및/또는 원격지 장치로부터 수신되고 디코드 및 압축해제된 디지털 비디오 신호 및 대응하는 디지털 오디오 신호로 변환된다.
DVD 데이터 스트림은 연속한 데이터 패킷으로 구성되고, 그 각각은 여러 가지 시스템 정보, 비디오 정보 및 오디오 정보를 포함한다. 도 1에 도시한 DVD 비디오 디코드 파이프라인(10)은 3개의 상위레벨 처리단, 즉 시스템 스트림 분해(parsing)단(12), 비디오 처리단(14) 및 오디오 처리단(16)으로 분류된다. 이들 처리단 및 그 외 것들에 관한 부가적인 정보와, DVD 및 MPEG-2 표준은 1996년 8월, DVD 명세, 버전 1.0 제하의 DVD 명세와, 스위치, 제네바 20, CH 1211, 카세 포스탈 56 ISO/IEC 저작권 사무국에서 얻을 수 있는 ISO/IEC 13818-1,2,3 MPEG-2 비디오 명세에 제공되어 있으며, 그 각각을 참고로, 그 전체 및 모든 목적을 위해 여기 포함시킨다.
시스템 스트림 분해단(12)에서, 입력 DVD 데이터 스트림은 분해 혹은 디멀티플렉스되며/또는 예를 들면 CSS 복화화 기술을 사용하여 3개의 독립된 스트림인 MPEG-2 비디오 스트림(15), MPEG-2(혹은 AC-3) 오디오 스트림(19) 및 서브 화상 스트림(13)으로 디스크램블된다. 예로서, 어떤 실시예에서, MPEG-2 비디오 스트림(15)은 초당 대략 9Mb로 높은 비트속도를 가질 수 있으며, 오디오 스트림(17)(MPEG-2 또는 AC-3)은 초당 대략 384Kb로 높은 비트속도를 가질 수 있다. 서브 화상 스트림(13)은 비교적 낮은 비트속도를 갖는 경향이 있으며 메뉴 또는 자막 데이터와 같은 온-스크린 디스플레이(OSD)로서 최종의 디지털 비디오 신호에 합쳐질 수 있는 서브화상 정보를 포함한다. 이어서 MPEG-2 비디오 스트림(15) 및 서브화상 스트림(13)은 다음 처리를 위해 비디오 처리단(14)에 제공된다. 마찬가지로, 오디오 스트림(17)은 다음 처리를 위해 오디오 처리단(16)에 제공된다.
도 1에 도시한 바와 같이 비디오 처리단(14)은 3개의 서브단을 포함한다. 제1 서브단은 DVD 명세에 따라 서브화상 스트림(13)을 디코드하는 DVD 서브화상 디코드(18)단이다. 예를 들면, DVD는 16 컬러 팔렛트로부터의 컬러로 구성된 비트맵 시퀀스로 디코드될 수 있는 서브화상 스트림을 32개까지 허용한다. 전술한 바와 같이, 디코드된 서브화상은 통상 메뉴, 자막 및 부제와 같은 OSD이다. DVD 명세에 따라, 서브화상(들)은 최종의 디지털 비디오 신호에 투명한 오버레이(true translucent ovelay)를 위해 비디오에 블렌드되도록 된 것이다.
비디오 처리단(14)의 제2 서브단은 MPEG-2 비디오 스트림을 디코드하여 압축해제하고 YUV 4:2:2 디지털 비디오 신호로 변환하는 MPEG-2 디코드 서브단(20)이다. MPEG-2 명세에 따라, MPEG2 디코드 서브단(20)은 가변길이 디코드(VLD)(22), 역 양자화(IQUANT)(24), 역 이산 코사인 변환(IDCT)(26), 움직임 보상(28), 및 평면 YUV 4:2:0을 인터리브된 4:2:2로의 변환(30)을 수행한다. 이산 코사인 변환(DCT)을 통해 처리되고 단독으로 원화상을 나타내는 압축된 계수 세트로 양자화되는 8 x 8 블록으로 전체화상을 분할하도록, I프레임 또는 화상이라하는 어떤 화상을 "화상 내(intra)"코드화하는 것을 MPEG-2가 명시하고 있기 때문에, 상기 처리 서브단이 필요하다. MPEG-2 명세는 예측된("P" 화상) 및/또는 양방향으로 보간된 화상("B" 화상) 중 어느 하나로 알려진 것인 "I"화상간 중간화상을 고려한다. 이들 중간화상에서, DCT를 통해 모든 블록을 엔코드하기 보다는 움직임 보상 정보는 대부분의 비디오 길이에서 발견되는 시간적인 여유를 이용하는데 사용된다. 움직임 보상을 사용함으로써, 이미지 질을 현저하게 감소시키지 않고도 MPEG-2는 필요한 데이터 저장량, 관련된 데이터 비트속도를 극적으로 감소시킨다. 따라서, 예를 들면 움직임 보상으로 이전 또는 미래의 화상 내의 매크로블록을 참조함으로써 P 또는 B 화상 내의 16 x 16 "매크로블록"을 "예측"할 수 있다. 움직임 벡터라고 하는 예측 포인터를 엔코드함으로써, MPEG-2는 고품질을 유지하면서 높은 압축비를 달성할 수 있다.
이어서 결과적인 YUV 4:2:2 및 디코드된 서브화상 디지털 비디오 신호는 비디오 처리단(14)의 제2 서브단(21)에 제공되며 여기서 YUV 4:2:2 및 디코드된 서브화상 디지털 비디오 신호는 알파 블렌드 처리(32)에서 함께 섞여 상기 DVD 명세서 상세히 기술된 바와 같이 투명한 오버레이를 제공한다. 다음에, 블렌드된 디지털 비디오 신호는 YUV/RGB 변환 처리(34)에 제공되어, 여기서 상기 블렌드된 디지털 비디오 신호는 YUV 형식에서 대응하는 적색-녹색-청색(RGB) 형식으로 변환된다. 이어서 결과적인 RGB 디지털 비디오 신호는 이미지 크기조정(scaling) 처리(36)에 제공되며, 여기에서 RGB 디지털 비디오 신호는 디스플레이하기 위해서 특정한 크기로 조정된다. 결과적인 최종의 디지털 비디오 신호는 이어서 디스플레이 장치에 디스플레이 될 것이며, 아니면 비디오 기록 혹은 송출장치와 같은 다른 장치로 제공된다. 예를 들면, 최종의 디지털 비디오 신호는 이를(RGB 형식으로 된) 아날로그 RGB 비디오 신호로 더 변환함으로써 모니터 혹은 CRT에 디스플레이될 수 있다.
DVD 처리 파이프라인(10)에 관련된 처리단/서브단은 극히 계산집약적인 경향이 있다. 파이프라인(10) 중 가장 계산집약적인 부분인 MPEG-2 비디오 형식은 상이한 디스플레이 형식들에 대해 최상의 품질의 재생을 제공하고 DVD의 높은 비트속도 및 저장용량에 적합하기 때문에 DVD 기술에 선택되었다. 예를 들면, MPEG-2 비디오는 적응성이 있고 크기조정할 수 있으하며, 표준 비월주사 방식의 NTSC에서 고품위의, 16:9 순차주사에 이르기까지 광범위한 디스플레이 형식 및 어스펙트비를 지원하는데 사용될 수 있다. 계산집약적인 MPEG-2 디스플레이 형식 중 한 예는 메인-프로파일, 메인-레벨(MPML) MPEG-2 형식이며, 이것은 50필드/sec 또는 초당 30프레임(fps)으로 동작하는 720 x 480 화소 디스플레이를 지원한다.
도 1에서, 오디오 스트림은 시스템 스트림 분해단(12)에 의해 오디오 처리단(16)에 제공된다. 오디오 처리단(16)은 NTSC에 따르는 장치에 사용하기 위해 명시된, 고품질 서라운드 사운드 재생을 위한 6 채널(예를 들면, 5.1 채널)을 갖는 돌비 AC-3나, PAL 및 SECAM에 따르는 장치에서 사용하기 위해 명시된, MPEG-2(7.1 채널까지)를 디코드한다. 결과적인 최종의 디지털 오디오 신호는 예를 들면 디지털 오디오 신호를 아날로그 신호로 변환하고 증폭하며 아니면 아날로그 신호를 조절하여 신호를 하나 이상의 스피커로 제공하는 사운드 발생장치와 같은 오디오 재생장치에 제공되는 아날로그 신호로 변환함으로써 재생될 수 있다. 알겠지만, 오디오 스트림을 디코드하는 것은 비디오 시트림을 디코딩하는 것보다 훨씬 덜 계산집약적인 경향이 있다.
DVD 능력을 제공함에 있어, PC 제조업자 및 마찬가지로 소비자에게 절대 피요한 고려할 사항은 비용이다. 상기 개괄한 DVD 처리는 계산 집약적이기 때문에, DVD 처리 파이프라인의 여러 단/서브단에 관련된 비용을 근본적으로 감소시키는 비용효율적인 해결책을 구할 필요가 있다. 현재 가용한 해결책은 3가지 기본 형태 중 하나로 분류될 수 있다.
제1 형태의 해결책은 컴퓨터 내에 프로세서에 전적으로 DVD 처리를 작업하게 하며, 따라서 소프트웨어만의 해결책이다. PC의 프로세서로 실행되는 소프트웨어(예를 들면, 컴퓨터 명령)를 통해 DVD 파이프라인의 모든 것을 완료함으로써, 기본적으로 대부분의 PC 구조에 "DVD"에 관계된 하드웨어 성분을 부가적으로 더할 필요가 없다. 그러나, DVD 처리를 완료하기 위해서, PC의 프로세서는 충분히 강력할(예를 들면, 동작속도) 필요가 있을 것이다. 현재, 최신의 인텔 펜티엄 II 프로세서 기반 플랫폼은 초당 약 24프레임(fps)까지의 프레임 속도를 제공할 수 있을 뿐이다. 약 24 fps 이상을 제공하기 위해서, 펜티엄 II 기반 플랫폼은 통상 움직임 보상 처리(28)를 완료하기 위해서 부가적인 하드웨어 지원을 필요로 한다. 과거에 프로세서 성능의 개선과 미래의 예측으로부터, PC 프로세서를 통한 전 프레임 속도의 DVD 디코딩을 구현하는 것이 곧 가능할 것으로 보인다. 이러한 최신의 프로세서에 관련된 비용은 그럼에도 불구하고 많은 PC 소비자에겐 과중하다. 더구나, DVD 재생은 PC의 프로세서 및 관련된 버스(들)와 재생시 PC가 다른 것을 거의 할 수 없는 메모리에 이러한 부담을 준다. 많은 사용자에 있어서 이러한 동작은 수락할 수 없는 것으로 알려질 수 있다. 최근에 입증된 바와 같이, DVD 명세에 맞지 않는 소프트웨어만의 해결책에 의해 어떤 손쉬운 방법을 취하는 것이 또한 가능하다. 예를 들면, 어떤 소트트웨어만의 해결책은 투명 효과를 제공하도록 2개의 화소를 함께 실제로 블렌딩하기 보다는, 서브화상 화소나 MPEG 도출된 화소를 디스플레하기 위해서 화소단위로 단지 선택함으로써 알파 블렌드 처리(36)를 단순화한다. 이와 같은 손쉬운 방법은 DVD 능력을 감소시키며 그에 따르지 않는 장치로 될 수 있다.
제2 형태의 해결책은 프로세서를 필요로 하지 않고, PC 하드웨어만에 전적으로 DVD 처리작업을 맡기는 것이다. 이러한 하드웨어만의 해결책은 프로세서를 자유롭게 하는 경향이 있다. 그러나, 이러한 전용의 회로(예를 들면, DVD 디코더)를 제공하는 것은 매우 비싸며 비용을 현저하게 증가시키게 되고, 매우 경쟁이 심한 PC 시장에서 실패할 수 있다. 전용회로는 어떤 PC 구조에서는 PC의 버스(들), 인터페이스 및 메모리에 액세스를 필요로 함으로써 PC의 성능을 감소시킬 수 있다.
제3 형태의 해결책은 두가지 형태의 해결책의 혼합이며, DVD 처리작업을 PC 프로세서(예를 들면, 소트트웨어)와 처리의 일부를 다루도록 구성된 전용회로(예를 들면 디코더)간에 분배할 것을 필요로 한다. 하이브리드 해결책은 소정의 구조/응용을 위해 조정 또는 수정될 수 있는 상이한 구성을 고려하므로 융통성있다. 그러나, 여전히 전용회로에 관련된 부가적인 비용이 있으며, 이것은 소비자의 비용을 증가시킬 수 있다.
예를 들면 PC와 같은 컴퓨터에서 DVD 재생능력을 제공하기 위한 비용효율적인 개선된 순응하는 방법 및 장치가 필요하다.
<발명의 요약>
본 발명은 컴퓨터 시스템에서 DVD 데이터 스트림이 재생되게 하는 방법 및 장치 형태의 개선된 비용효율적인 하이브리드 해결책을 제공한다. 본 발명의 한 특징에 따라, 방법 및 장치는 명령신호에 기초하여 그래픽스를 발생할 수 있는 그래픽스 엔진에서 특정한 디코딩 처리를 수행함으로써 순응하는 DVD 및/또는 MPEG-2 비디오 재생을 가능하게 한다.
따라서, 본 발명의 일실시예에 따라, 그래픽스 발생 및 디지털 비디오 처리를 지원하는 프로세서를 갖는 컴퓨터 시스템에서 사용하기 위한 장치가 제공된다. 장치는 셋업 엔진, 변환기 및 텍스처 매핑 엔진을 포함한다. 셋업 엔진은 프로세서로부터 적어도 하나의 명령신호에 응하여 명령신호 내의 정점 정보를 대응하는 삼각형 정보로 변환한다. 삼각형 정보는 3차원 공간 내에 삼각형을 기술한다. 변환기는 삼각형 정보에 기초하여 삼각형에 대한 디지털 화소 데이터를 결정한다. 텍스처 매핑 엔진은 삼각형 정보 및 적어도 하나의 디지털 텍스처 맵에 기초하여 디지털 화소 데이터를 수정한다. 따라서, 장치는 그래픽스 발생을 지원한다. 텍스처 매핑 엔진은 디지털 비디오 처리를 지원하기 위해서 적어도 하나의 디지털 이미지 맵 및 적어도 하나의 움직임 벡터에 기초하여 움직임 보상된 디지털 이미지 데이터를 발생한다.
본 발명의 어떤 실시예에 따라, 디지털 이미지 맵은 MPEG 발생된 I 및/또는 P 화상으로부터 디지털 화소 데이터를 포함하는 매크로블록이다. 본 발명의 다른 실시예에 따라, 텍스처 매핑 엔진은 제1 및 제2 디지털 화소 데이터에 기초하여, 보간된 디지털 화소 데이터를 결정하는 적어도 하나의 바이리니어 보간기를 포함한다. 그러므로, 바이리니어 보간기는 서브화소 샘플점 상에 있는 매크로블록을 바이리니어 필터처리하여 화소 샘플점 상에 있는 하나의 예측된 매크로블록을 발생하는데 사용된다. 다른 실시예에서, 텍스처 매핑 엔진은 제1 움직임 벡터에 기초한 제1 바이리니어 필터링과 제2 움직임 벡터에 기초한 제2 바이리니어 필터링을 수행하고, 제1 바리리니어 필터링 결과와 제2 바이리니어 필터링 결과를 평균하여 하나의 예측된 매크로블록을 발생한다. 어떤 실시예에서, 장치는 텍스처 매핑 엔진에 의해 발생된 디지털 화소 데이터에 IDCT 계수를 더하도록 구성된다. 이에 따라 본 발명의 어떤 실시예는 MPEG-2 움직임 보상 처리를 지원할 수 있다.
본 발명의 어떤 다른 실시예에 따라, 장치는 수직 업스케일링, 및 YUV 4:2:0 형식의 화상을 인터리브함으로써, YUV 4:2:2 형식의 화상을 발생하도록 구성된다.
상기 표명한 필요성 및 기타 다른 것은 본 발명의 일실시예에 따라, 엔코드된 데이터 스트림의 비디오 재생을 제공할 수 있는 컴퓨터 시스템에 의해 충족된다. 컴퓨터 시스템은 프로세서, 데이터 버스 메카니즘, 주 메모리, 디스플레이 장치, 및 상기 프로세서로부터 적어도 하나의 명령신호에 기초하여 디지털 이미지 데이터를 발생하고, 적어도 하나의 디지털 이미지 및 적어도 하나의 움직임 벡터에 기초하여 움직임 보상된 디지털 이미지 데이터를 발생하며, YUV 4:2:0 형식의 화상을 YUV 4:2:2 형식의 화상으로 변환하며, YUV 4:2:2 형식의 화상을 RGB 형식의 화상으로 변환하며, RGB 형식의 화상을 크기조절하고, 디스플레이 장치에 디스플레이될 수 있는 아날로그 신호로 상기 RGB 형식의 화상을 변환하는 그래픽스 엔진을 포함한다.
본 발명에 따라 그래픽스를 발생하며 컴퓨터 시스템에서 디지털 비디오 신호를 처리하는 방법에 제공된다. 방법은 명령신호 내의 정점정보를 대응하는 삼각형 정보로 변환함으로서, 적어도 상기 하나의 명령신호에 기초하여 디지털 이미지 데이터를 발생하도록 그래픽스 엔진을 사용하며, 상기 삼각형 정보에 기초하여 삼각형에 대한 디지털 화소 데이터를 결정하고, 상기 삼각형 정보 및 적어도 하나의 디지털 텍스처 맵에 기초하여 상기 디지털 데이터를 수정하는 것을 포함한다. 본 발명은 적어도 하나의 디지털 이미지 맵 및 적어도 하나의 움직임 벡터에 기초하여, 움직임 보상된 디지털 이미지 데이터를 발생함으로써, 움직임 보상된 디지털 이미지 데이터를 발생하는 것을 더 포함한다.
본 발명의 어떤 실시예에 따라, 방법은 YUV 4:2:0 형식의 화상의 적어도 일부분을 오프셋하고 상기 YUV 4:2:0 형식의 화상의 샘플을 대응하는 목적 화상에 선택적으로 매핑하여 수직 업스케일링을 제공하고, 상기 목적 화상의 바이트 데이터를 선택적으로 배열하여 상기 바이트 데이터를 인터리브하고 상기 YUV 4:2:2 형식의 화상을 발생함으로써, YUV 4:2:0 형식의 화상을 YUV 4:2:2 형식의 화상으로 변환하도록 동일한 그래픽스 엔진을 사용하는 것을 더 포함한다.
본 발명의 상기 및 다른 특징, 국면 및 잇점은 첨부한 도면과 함께 취해질 때 본 발명의 다음 상세한 설명으로부터 더욱 명백하게 될 것이다.
본 발명은 동일 참조부호는 동일 및 유사한 구성요소를 나타낸 첨부한 도면에서 예로서 예시하고 한정하기 위한 것은 아니다.
도 1은 컴퓨터와 함께 사용하기 위한 전형적인 종래의 DVD 처리 파이프라인을 도시한 블록도이다.
도 2a는 및 도 2b는 도 1의 DVD 처리 파이프라인의 모든 또는 일부를 수행하도록 구성된 전형적인 종래의 컴퓨터 시스템을 도시한 블록도이다.
도 3은 도 1의 DVD 처리 파이프라인의 특정한 부분을 수행하는 전형적인 컴퓨터 시스템의 분석결과를 도시한 표로서, 본 발명의 일실시예에 따라, 하드웨어 구현만으로서 수행되는 동일 또는 유사한 DVD에 관계된 처리의 상대 평가 측정과 함께, 컴퓨터 시스템의 프로세서에 부과된 상대 작업부하 부담(백분률)을 목록한 표이다.
도 4는 본 발명에 따라, 도 2a와 같이, 컴퓨터 시스템에서 사용하기 위한 3D 그래픽스 엔진을 갖는 전형적인 그래픽스 가속기를 도시한 블록도이다.
도 5는 본 발명에 따라, 도 4의 그래픽스 가속기에서 사용하기 위한 전형적인 3D 그래픽스 처리 파이프라인을 도시한 블록도이다.
도 6은 본 발명에 따라, 도 4에 그래픽스 가속기에서 사용하기 위한 라스터화기를 갖는 전형적인 3D 그래픽스 엔진을 도시한 블록도이다.
도 7은 본 발명에 따라, 도 6의 3D 그래픽스 엔진에서 사용하기 위해, 주사 텍스처 매핑 엔진, 라스터 연산부 및 화소 패킹 로직을 갖는 전형적인 라스터화기를 도시한 블록도이다.
도 8은 본 발명의 일실시예에 따라, 프로세서, 수정된 그래픽스 가속기 및 프레임 버퍼를 갖는 컴퓨터 시스템을 도시한 블록도이다.
도 9는 본 발명의 일실시예에 따라, 도 8의 컴퓨터 시스템의 프레임 버퍼 내에 메모리의 할당을 도시한 블록도이다.
도 10a 내지 도 10c는 본 발명의 일실시예에 따라 도 7의 라스터화기의 화소 패킹 로직에 의해 매핑된 Y, U 및 V 이미지 데이터에 대한 매핑 순서를 도시한 블록도이다.
도 11은 본 발명의 일실시예에 따라 도 7의 라스터화기의 라스터 연산부를 도시한 블록도이다.
도 12는 본 발명의 일실시예에 따라 Y, U 및 V 이미지 데이터를 매핑하기 위한 복수의 멀티플렉서를 갖는, 도 7의 화소 패킹 로직의 블록도이다.
본 발명의 방법 및 장치에 대한 상세한 설명은 배경기술에서 설명한 정보를 토대로 한 것이며, 제목을 붙여 여러 부분으로 나누었다.
DVD 재생을 지원하는 종래의 PC 구조
상기 기술된 형태의 해결책을 더 예시하기 위해서, DVD 처리 파이프라인 컴퓨터 명령세트(44)로 나타내어지는 소프트웨어만의 해결책으로 구성된 프로세서(42)를 갖는 통상의 PC 시스템(40)을 도 2a에 도시하였다. 프로세서(42)는 예를 들면 인털 펜티엄 계열 프로세서 혹은 모토롤라 파워PC 프로세서와 같은 하나 이상의 프로세서를 나타낸다. 프로세서(42)는 칩셋(46)에 결합된다. 칩셋(46)은 프로세서(42)간 액세스, 예를 들면 동적 랜덤 액세스 메모리(DRAM)(48)와 같은 주 메모리간 액세스, 예를 들면 주변 구성요소 인터페이스(PCI) 버스(50) 및/또는 ISA 버스(52)와 같은 하나 이상의 데이터 버스(들)간 액세스를 제공한다.
도시된 바와 같이, 그래픽스 가속기(54)는 PCI 버스(50)에 결합되며 PCI 버스(40) 및 칩셋(46)을 통해 프로세서(42) 및/또는 DRAM(48), 혹은 PCI 버스(50) 및/또는 ISA 버스(52) 상의 다른 장치(도시없음)와 인터페이스하도록 구성된다. 그래픽스 가속기(54)는 이중으로 버퍼하는 프레임 버퍼(56)에 결합되며 디스플레이(58)에 아날로그 비디오 신호를 출력하도록 구성된다. 통상 PCI 버스(50)보다 낮은 비트속도를 갖는 ISA 버스(52)는 이에 하나 이상의 장치가 결합되도록 제공되며, 이 버스를 통해 장치들은 프로세서(42), DRAM(48), 또는 PCI 버스(50) 및/또는 ISA 버스(52) 상의 기타 다른 장치와 인터페이스할 수 있다. 예를 들면, 사운드 발생장치(60)는 ISA 버스(52)에 결합된 것으로 도시되었다. 이 실시예에서 사운드 재생장치(60)는 프로세서(42)로부터 최종의 디지털 오디오 신호를 수신하여 대응하는 오디오 톤, 또는 사운드를 출력하도록 구성된다. 적어도 하나의 저장장치(62)가 ISA 버스(52)에 결합된 것으로 도시되어 있다. 저장장치(62)는 예를 들면 디스크 드라이브, 테이프 드라이브, 및/또는 CD, 또는 DVD 드라이브와 같은 광학 저장장치(예를 들면, 독출 전용 메모리(ROM) 및/또는 RAM)를 나타낸다.
도 2a에서, 예를 들면, 저장장치가 DVD-ROM이면 재생시 DVD 데이터 스트림은 ISA 버스(52) 및 칩셋(46)을 통해 프로세서(42)에 제공된다. 저장장치(62)에 의해 출력되는 DVD 데이터 스트림은 통상 DVD로부터 검색되며 복호화되어 있을 수도 있으며 아니면 프로세서(42)에 제공되기 전에 저장장치(62)에 의해 처리될 수도 있다. 소프트웨어만의 해결책에서, 프로세서(42)는 DVD 처리 파이프라인 컴퓨터 명령세트(44)에 따라 DVD 처리를 완료한다. 이 처리는 통상 처리할 동안 예를 들면 중간 데이터를 저장/검색하기 위해서 칩셋(46)을 통해 DRAM(48)을 액세스하는 것을 포함한다. 최종의 디지털 비디오 신호는 이어서 프로세서(42)에 의해서 칩셋(46) 및 PCI 버스(50)를 통해 그래픽스 가속기(54)에 제공된다. 그래픽스 가속기(54)는 버퍼(56) 내에 최종의 디지털 비디오 신호를 저장하며, 이어서 버퍼(56)로부터 상기 최종의 디지털 비디오 신호를 검색하고, 이 최종의 디지털 비디오 신호를 예를 들면 디지털 아나로그 변환기(DAC)를 사용하여 최종의 아날로그 비디오 신호로 변환한다. 이어서 최종의 아날로그 비디오 신호는 디스플레이 장치(28)에 제공된다. 프로세서(42)는 또한 최종의 디지털 오디도 신호를 사운드 재생장치(60)에 제공하며, 이 장치는 최종의 디지털 오디오 신호를 사운드로 변환한다.
도 2b는 도 2a와 유사하며 동일 참조부호는 동일 구성요소를 나타낸다. 도 2b는 PC 시스템(40')을 도시한 것으로 이 시스템은 하드웨어만의 해결책 또는 하이브리드 해결책 중 어느 하나로서 구성될 수 있다. 도 2b에 도시한 바와 같이, 디코더(64)로 나타낸 바와 같은 부가적인 특별한 처리/회로가 제공된다.
시스템(40')이 하드웨어만의 해결책으로서 구성될 때, 도 1에서 모든 DVD 처리 파이프라인은 디코더(64)에서 완료된다. 하이브리드 해결책으로서 구성될 때, 시스템(40')은 프로세서(42)에 의해 완료되는 DVD 처리 파이프라인의 일부분(예를 들면, 도 1 참조)을 가질 것이며 이어서/또는 디코더(64)에 의해 다음 부분적인 처리가 될 것이다. 예를 들면, 디코더(64)는 움직임 보상 처리(280를 완료하도록 구성될 수 있다.
DVD에 관련된 처리의 분석
3가지 형태의 해결책을 고찰하면, 소프트웨어만의 해결책의 본연의 잇점은 비용효율적이다(프로세서(42)의 비용은 무시하고). 소프트웨어만의 해결책은 이미 존재하는(그리고 사용자가 이미 지불한) 처리능력을 이용하여 근본적으로 전혀 비용을 증가시키기 않고 DVD 재생을 한다. 문제는 현재의 소프트웨어만의 해결책은 프레임 속도, 품질 및 기능성이 부족한 경향이 있고 통상의 프로세서의 처리속도 부족으로 제한된다는 것이다. 예를 들면, 최근의 MMX(등록상표) 기술이 더해졌어도, 1997년 주류의 펜티엄(등록상표)이든 1998년 주류의 펜터엄 II(등록상표)든 간에 어느 것도 전 30fps로 원할한 방송 품질의 DVD 재생을 제공하지 않을 것이다.
실리콘으로 모든 DVD 처리 파이프라인을 구현하는 하드웨어만의 해결책은 예를 들면 프로세서의 부담을 완화하며, 전혀 아티팩트가 더해지지 않은 원 자료를 충실하게 디스플레이하는, 5Mb/sec DVD 비디오에 대해 끊어지지 않고, 전 프레임으로 고품질의 비디오를 전달하는데 사용될 수 있다. 그러나, 간단히 하드웨어를 부가함에 있어 한가지 문제는 비용이다. 경쟁적인 것으로 자자한 PC 그래픽스 제어기 시장은 그래픽스 제어기 및 부가적인 디코더에 대한 높은 가격을 줄곧 억제하였다. 사실, 그래픽 제어기 칩 가격은 상당히 균일한 상태에 있고, 능력이 증가됨에도 불구하고 시간이 지남에 따라 오히려 가격이 감소하였다. 이것은 얼마나 많은 기능성을 하드웨어로 넘길 것인가에 대해 그래픽스 가속기 등의 칩 제조업자가 극히 현명해야 할 것을 요구하는 것이다.
예를 들면, 하드웨어만의 해결책에서 사용하기 위한 디코더(64)는 MPEG-2 시스템, 오디오 및 비디오 디코드를 효과적으로 처리하기 위해서 적어도 대략 72,000개의 논리 게이트(혹은 등가물)를 사용할 것으로 추정되었다. 더욱이, 최근의 비용효율적인 CMOS 공정에서 이 범위의 게이트 총수는 통상 비용이 너무 비싸 주류의 PC 그래픽스 가속기 칩에 포함할 것을 고려할 수 없기 때문에, 기존의 그래픽스 가속기에 디코더(64)의 기능성을 부가하는 것은 무모한 것으로 여겨질 것이다. 따라서, 하드웨어만의 해결책으로 DVD 재생을 지원하는 것은 가까운 장래에 대부분의 PC 시장에 존속할 수 있는 해결책으로 여겨지지 않는다.
이상적으로, 주류의 데스크탑 PC는 소프트웨어만의 구현의 비용효율성을 갖고 하드웨어만의 해결책의 품질과 성능을 제공할 것이다. 이것은 비용효율적인 하드브리드 해결책을 요한다. 본 발명은 하드웨어 해결책의 성능과 소프트웨어 해결책의 간단함을 결합한 매우 비용효율적인 하이브리드 해결책에 대한 방법 및 장치를 제공한다.
본 발명에 따라 최적의 하이브리드 해결책에 이른 것은 수행병목을 확인하고 하드웨어에서 파이프라인의 여러 단을 구현하는 복잡성 및 비용을 평가한 DVD 처리 파이프라인의 광범위한 분석의 결과였다. 본 발명의 한 특징에 따라서, 한 중요한 목적은 하드웨어 비용을 현저하게 증가시키지 않고 큰 처리시간량을 소비하는 작업을 하드웨어로 하는 것이었다. 또 다른 중요한 목적은 거의 모든 PC 플랫폼이 그래픽스를 디스플레이하는 것을 지원하는데 필요로 하는 그래픽스 가속기 칩을 이용하는 것이었다.
전형적인 구조에 대해 이러한 분석결과를 도 3에 표로 나타내었으며, 이 표는 왼쪽 컬럼에서 오른쪽 컬럼에 각각 디스플레이 처리 작업, 프로세서 부담 및 하드웨어 비용을 포함한다(하드웨어 비용은 H=높음, M=중간, L=낮음, E=기존의 하드웨어로 가능함으로서 부호로 표시하였다). 이러한 분석에 기초하여, 시스템 및 보안 계층의 상위레벨 디코드 및 MPEG-2 VLD의 작업은 압도적으로 계산집약적이 아니며, 예를 들면 수정된 그래픽스 가속기보다는 프로세서(42)의 범용 프로그램작성에 훨신 더 적합하기 때문에, 상기 시스템 및 보안 계층의 상위레벨 디코드 및 MPEG-2 VLD는 하드웨어 구현을 고려하여 결정되는 것으로 정해졌다.
마찬가지로, IDCT 및 IQUANT 처리는 프로세서 오버헤드가 비교적 작고 하드웨어 충돌이 현저할 것이기 때문에 고려하지 않았다. 예를 들면, IDCT 및 IQUANT 처리는 예를 들면 펜티엄 II(등록상표) 부류의 프로세서(특히 MMX(등록상표) 기술을 갖춘)가 꽤 잘 실행하는 곱셈, 덧셈, 및 곱셈-누산(MAC), 연산에 상당히 의존하는 경향이 있다.
AC-3 오디오는 몇가지 이유로 고려하지 않았다. 먼저, 예를 들면 부분적으로 일부 프로세서에서 사용할 수 있는 MMX(등록상표)의 도움에 기인하여 프로세서 시간의 대부분을 필요로 하지 않는다. 오디오 처리는 또한 어지간한 하드웨어 크기 및 복잡성을 추가해야 하는 경향이 있다. 오디오 및 그래픽스/비디오는 통상 최근의 주류의 PC 구조 내에서 물리적으로 분리되어 있기 때문에, 수정된 그래픽스 가속기에서 AC-3를 처리하려고 하기보다는 AC-3 처리를 프로세서(42)나 오디오 서브시스템에 맡기는 것이 더 의미가 있다.
따라서, 본 발명의 일실시예에 따라서, 움직임 보상 처리(Mot.)(28), YUV 4:2:0을 4:2:2로 변환하는 처리(30) 및 알파 블렌딩 처리(32)의 작업을 더는 것이 구현 비용을 가장 크게 돌려주는 것으로 결정되었다. 그러므로 이들 처리는 수정된 그래픽스 가속기(84)(도 8 참조)에 할당되었다. 사실, 움직임 보상(28) 및 평면 YUV 4:2:0/4:2:2 변환 처리(30)를 수정된 그래픽스 가속기(84)에 넘김으로써, PC는 266MHz 펜티엄 II(등록상표) 플랫폼으로 60필드/sec(30 fps) 재생 수행이라는 최종의 목적을 달성할 수 있다.
통상의 알파 블렌드 처리(32)는 룩업 테이블과, 각 화소에 대해 2번의 덧셈 및 2번의 곱셈(혹은 시프트 및 가산)을 필요로 하기 때문에, 미래의 플랫폼에서도 소프트웨어만의 해결책이 실행되는 종래기술과는 달리, 알파 블렌드 처리(32)를 하드웨어에 맡김으로써, 서브화상(들)의 투명한 디스플레이가 가능하게 된다. 이러한 계산집약적인 처리 하에서, 대부분의 소프트웨어만의 해결책은 어쩔수 없이 OSD 기능성을 손상시키므로, 그 대신에 DVD 명세에 지정된 투명 디스플레이라기보다는 비디오에 서브화상의 불투명한 "컬러-키"를 오버레이하는 것을 사용한다.
움직임 보상, YUV 4:2:0/4:2:2 변환 및 알파 블렌드 처리를 실리콘으로 처리하는 것이 가장 바람직한 특징으로 확인된 상태에서, 개시된 실시예는 간단하고, 강하며 비용효율적인 구현을 제공한다. 현재의 그래픽스 가속기 구조와 이들 처리를 비교해 보면, 적합한 DVD에 관련된 처리를 제공하기 위해 매우 낮은 비용으로 기존의 하드웨어를 수정할 수도 있을 것임을 알았다.
수정된 그래픽스 가속기를 사용한 제안된 하이브리드 해결책 개요
따라서, 개시된 실시예의 방법 및 장치는 고유한 하이브리드 해결책을 제공하며, 이것은 사용자에게 실제적으로 부가적인 비용없이, 기존의 그래픽스 가속기 하드웨어 및 소프트웨어 구동기를 수정함으로서 전 프레임의 순응하는 DVD를 달성한다. 본 발명에 따라서, 통상 전형적인 그래픽스 가속기 내에서 기존의 대부분의 3D 엔진에 의해 지원되는 어떤 3차원(3D) 텍스처 매핑 처리는 움직임 보상 및 YUV 4:2:0/4:2:2 변환 처리와 유사한 것으로 확인되었다.
이들 처리는 기존의 3D 그래픽스 엔진에서 이미 지원되는 동작을 사용하여 거의 완전하게 구현될 수 있다. 이들 처리를 완료하는데 필요한 모든 것은 수정된 그래픽스 가속기가 MPEG-2 디코딩에 특정한 어떤 경우를 처리하는 방법을 확장한 몇 개의 부가적인 회로를 더하는 것이다. 그 결과는 적합한 소프트웨어로 구성되었을 때 DVD 재생에 최적의 하이브리드 해결책을 제공하기 위해 실질적으로 PC당 비용을 늘리지 않고 적합하게 프로그램된 프로세서(42)에 결합될 수 있는 완벽하게 수행되는 수정된 그래픽스 가속기이다.
도 1a와 유사한 도 8은 본 발명의 일실시예에 따라, DVD 처리 파이프라인의 부분(44')을 동작시키도록 프로세서(42) 및 수정된 그래픽스 가속기(84)를 갖는 개선된 컴퓨터 시스템을 도시한 것이다.
개시된 실시예에 따라, 수정된 그래픽스 가속기(84) 내에서 3D 그래픽스 엔진이 움직임 보상, YUV 4:2:0/4:2:2 변환, 및/또는 알파 블렌드 처리를 수행하는 방법을 이해하기 위해서, 전형적인 3D 그래픽스 엔진/처리를 이하 상세히 기술한다.
전형적인 그래픽스 가속기
도 3은 전형적인 그래픽스 가속기(54)의 블록도이다. 도시된 바와 같이, 그래픽스 가속기(54)는 PCI 버스(50), 또는 대안으로 칩셋(46) 상의 가속 그래픽스 포트(AGP)에 결합되는 시스템 인터페이스(90)를 포함한다. 시스템 인터페이스(90)는 그래픽스 생성 명령을 예를 들면 프로세서(42)로부터 수신하는 PCI 버스(50)(또는 AGP)와의 인터페이스를 제공하도록 구성된다. 3D 그래픽스 엔진(92)은 시스템 인터페이스(90)에 결합된다. 3D 그래픽스 엔진(92)은 3D 모델링 정보에 기초하여 2D 이미지를 발생하도록 구성된다. 3D 그래픽스 엔진(92)으로부터의 2D 이미지는 통상 RGB 형식의 디지털 이미지이다. 3D 그래픽스 엔진(92)으로부터 2D 이미지는 메모리 제어기(94)를 통해 프레임 버퍼(56)에 저장된다. 메모리 제어기(94)는 프레임 버퍼(56)와의 인터페이스를 제공한다. 2D 이미지가 프레임 버퍼(56)에 저장된 후 종국에는 메모리 제어기(94)에 의해 검색되어 디지털 아날로그 변환기(DAC)(99)에 제공된다. DAC(99)는 디지털 RGB 신호를 대응하는 아날로그 RGB로 변환하고 이어서 디스플레이 장치(58)에 제공되어 디스플레이된다.
더욱이, 그래픽스 가속기(54)는 YUV 4:2:2 형식의 디지털 이미지를 재생할 때 사용하기 위한 YUV 변환기(95)를 구비한 것으로 도시되어 있다. YUV 변환기(95)는 RGB 변환기(96)를 포함하며, 이 RGB 변환기는 메모리 제어기(94)에 결합되어 YUV 4:2:2 형식의 디지털 이미지를 대응하는 RGB 디지털 이미지로 변환하도록 구성된다. RGB 변환기(96)는 스케일러(98)에 제공되며, 이 스케일러는 RGB 변환기(96)에 결합되어 선택된 디스플레이 장치(58)에 적합한 크기로 RFB 디지털 이미지의 크기를 조절하도록 구성된다. DAC(99)는 스케일러(98)의 출력에 결합되어 크기조절된 RGB 디지털 이미지를 디스플레이 장치(58)를 구동하는데 적합한 대응하는 RGB 아날로그 신호로 변환하도록 구성된다.
도 5는 통상 프로세서(42)의 소프트웨어 및 3D 그래픽스 엔진(3D)에 있는 3D 그래픽스 파이프라인(200)을 도시한 것이다. 3D 그래픽스 파이프라인(200)은 한 세트의 정점 또는 유사한 좌표로 정해진 대상물의 3D 모델에서 시작한다. 예를 들면, 집은 다각형 또는 집의 다른 모양을 정하는 한 세트의 정점으로서 모델화할 수 있다. 3D 모델(202)의 정점은 통상 프로세서(42)에서 실행되는 응용 소프트웨어에 의해 출력된다. 응용 소프트웨어는 또한 조명(24)에 관한 부가적인 정보 및 대상물에 관해 적용할 수 있는 관측 시점(206)을 정한다. 예를 들면, 집은 태양에 의해 조명을 받을 수 있고 집과 태양에 관해 특정한 위치에서 집을 볼 수 있다. 기하 처리(208)는 근본적으로 3D 모델(202)을 시점(206)이 있은 곳으로 조정한다(예를 들면 위치 스케일). 조명 처리(210)는 광원(204)의 위치와 3D 모델(202)의 표면에 대한 시점(206)을 고려하여 이에 따라 이들 표면의 명암 및/또는 컬러를 조절한다.
다음에, 표시영역에의 맵핑 처리(212)는 3D 대상물의 볼 수 있는 영역의 다각형 또는 정점들을 2차원(2D) 평면으로 맵핑하여 2D 이미지를 생성한다. 전형적인 표시영역으로의 맵핑 처리(212)는 예를 들면 디스플레이 장치에서 보았을 때 깊이를 갖는 것으로 보이게 하는 2D 이미지를 생성하는 2D 사시 렌더링 알고리즘을 포함한다.
삼각형 셋업 처리(214)는 위치, 컬러, 및 텍스처 좌표 등과 같은 특정한 특성을 갖는 삼각형으로 이들 연속한 표면을 나타내는 방법을 결정한다. 삼각형 셋업 처리(214)는 또한 시점(206)에 관하여 삼각형 방위를 어떻게 취할 것인가에 관한 삼각형 라스터화 처리(216)에 정보를 제공한다.
대부분의 디스플레이 장치(예를 들면, 58)는 2D 화소 어레이에 기초하기 때문에, 삼각형을 이산 화소로 변환할 필요가 있다. 삼각형 라스터화 처리(216)는 삼각형 셋업 처리에 의해 정해진 각각의 삼각형을 특정한 컬러를 갖는 대응하는 화소로 변환함으로써 그 기능을 수행한다. 이것을 달성하기 위해서, 삼각형 라스터화 처리(216)는 통상 주사(scan) 변환처리(도시없음) 및 텍스처 매핑처리(도시없음)를 포함한다. 주사 변환처리는 필요한 화소를 확인하고 텍스터 매핑처리는 화소 각각마다 특정한 컬러를 확인한다.
현재, 주류 PC 시장에 있어서, 조명(210) 및 시점으로의 맵핑 처리(212)는 응용 소프트웨어 실행 프로세서(42)에 의해 완료되며, 삼각형 셋업 처리(214) 및 삼각형 라스터화 처리(216)는 그래픽스 가속기(54), 특히 3D 그래픽스 엔진(92)의 하드웨어로 구현된다.
도 6은 전형적인 3D 그래픽스 엔진(92)에서 구현되는 삼각형 셋업 처리(214) 및 삼각형 라스터화 처리(216)를 도시한 것이다. 도시된 바와 같이, 시스템 인터페이스(90)에 결합된 명령 인터페이스(100)에 의해 명령이 수신된다. 명령은 시스템 인터페이스(90)를 통해 프로세서(42)에 의해 제공되는 3D 그래픽스 명령 및 정점 정보와 같은 관련 파라미터를 포함한다. 예를 들면, 한 명령은 "삼각형 그리기"일 수 있을 것이다. 명령은 직접 특정 구성요소(들)에 제공되거나 명령 레지스터(102)에 저장될 수 있다.
셋업 엔진(104)은 명령 인터페이스(100)에 결합되어 통상 이에 응답한다. 예를 들면, 삼각형 셋업 엔진(104)은 명령 인터페이스(100)로부터 그려질 삼각형에 관한 정점 정보를 수신할 수 있다. 정점 정보는 통상 위치좌표(예를 들면, X, Y, Z), 컬러, 텍스처 좌표(U 및 V, 이 상황에서 U 및 V 파라미터는 색차를 나타내는 것이 아님에 유의한다), 동질 파라미터(W), 및 기타 있을 수 있는 다른 파라미터를 포함한다. 삼각형 셋업 엔진(104)은 정점 정보를, 예를 들면 삼각형(예를 들면, 정점 1, 정점 2, 정점 3), 삼각형의 모서리(예를 들면 모서리 1, 모서리 2, 모서리 3), 및 기울기(예를 들면, dX/dY, dU/dY, dV/dY)에 관계된 정보를 포함할 수 있는 삼각형 정보로 처리한다.
라스터화기(106)는 삼각형 셋업 엔진(104)에 결합되어 삼각형 정보에 의해 정해진 삼각형을 대응하는 디지털 RGB 화소 정보로 변환하도록 구성된다. 예를 들면, 텍스처 좌표 및 이들 좌표에 대한 기울기는 텍스처의 특정한 타입을 그릴 삼각형의 표면에 적용하는데 사용된다. 이것을 달성하기 위해서, 라스터화기(106)는 삼각형을 적합한 화소수로 주사 변환하고, 특정한 텍스터를 화소 각각에 매핑하는 것에 기초하여 각 화소마다 특정한 색을 결정한다. 예를 들면, 집의 벽 표면은 디스플레이된 이미지에 적용할 나무결 패턴을 가질 수 있으므로 그 벽을 나타내는 삼각형 또는 삼각형들은 원하는 나무결 텍스처에 대한 대응하는 텍스처 좌표 및 벽의 방위를 가질 것이다. 따라서, 예를 들면, 집의 벽을 나타내는 텍스터화된(예를 들면, 나무결이 표시된) 삼각형 각각은 적합한 RGB 화소수로 주사 변환되고, 이들 화소 각각은 특정한 컬러를 설정하기 위해서 이에 매핑된 텍셀(즉, 텍스처 컬러값)을 갖는다. 라스터화기(106)는 결과적인 디지털 RGB 화소 정보를 예를 들면 메모리 제어기(94)를 통해 프레임 버퍼(56) 내의 선택된 주소에 저장하도록 구성된다.
개시된 실시예의 특정한 잇점은 라스터화기(106) 및 이의 텍스터 매핑능력이다. 도 7은 예시된 라스터화기(106)를 도시한 블록도이다. 라스터화기(106)는 통상 주사 변환기(108) 및 텍스처 매핑 엔진(110)을 포함한다. 주사 변환기(108)는 삼각형 셋업 엔진(104)에 결합되어, 예를 들면 위치좌표, 모서리를 포함하여 삼각형 정보 및 이들로부터의 기울기 정보를 수신한다. 주사 변환기(108)는 어느 화소가 삼각형 내에 있는지를 결정하며 삼각형을 디스플레이하는데 사용되는 프레임 버퍼(56)의 "온 스크린" 부분(도 9 참조)에 대한 대응하는 주소를 설정한다.
도 9에서, 프레임 버퍼(56)는 라스터화기(106)에 의해 형성되고 있는 현재의 이미지를 포함하는 "온 스크린" 부분(120), 및 온 스크린 부분(120)에 저장된 현재의 이미지를 생성/수정하는데 사용되는 중간 데이터, 예를 들면 여러 가지 텍스처 맵(124a-n)을 포함하는 "오프 스크린" 부분(122)으로 세분된 것으로서 도시되었다.
도 7에서 주사 변환기(108)에 의해 결정된 주소는 예를 들면 주사 변환기(108)에 의해 프레임 버퍼(56)의 오프 스크린 부분(122)내 메모리 제어기(94)를 통해 저장될 수 있다. 이들 삼각형 주소는 텍스처 매핑 엔진(110)에 의해 사용될 것이다.
도 7에서, 텍스쳐 매핑 엔진(110)은 주사 변환기(108)에 결합되어 예를 들면 U, V, W를 포함하는 텍스처에 관계된 정보 및 그로부터의 관계된 기울기 정보를 수신하도록 구성된다. 텍스처 매핑 엔진(110)은 각 화소에 대한 텍스처 주소를 결정하며 프레임 버퍼(56)의 오프 스크린 부분(122) 내의 텍스처 맵(예를 들면, 124a)으로부터 텍스처 컬러를 검색한다. 텍스처 매핑 엔진(110)은 시작점 및 U, V, W에 대한 기울기에 기초하여 중간 텍스처 값을 증분적으로 계산하도록 구성된 복수의 보간기(interpolator)(112)를 포함한다. 보간기(112)의 결과에 기초하여, 텍셀은 텍스처 맵(124a)으로부터 검색되며 화소 각각에 할당된다. 화소 각각에 대한 텍셀은 이어서 각 화소에 대한 프레임 버퍼(56)의 온 스크린 부분(12) 내의 대응하는 주소에, 텍스처 매핑 엔진(1100에 의해 메모리 제어기(94)를 통해 저장된다.
MPEG-2 움직임 보상을 위한 수정된 그래픽 가속기 사용
MPEG-2 명세에 따라, B 및 P 화상에 대해서, 움직임 보상은 엔코더에 의해 매크로블록마다 선택될 수 있으며 통상 비트스트림을 감소시키도록 상당히 많이 이용된다. 움직임 보상된 매크로블록을 디코딩하는 것은 하나 이상의 소스로부터 예측된 매크로블록을 계산하는 것과, 이에 IDCT로부터 출력된(바람직하게는 프로세서(42)에 의해 계산된) 화소당 하나의 계수인 매크로블록 계수 데이터를 더하는 것으로 구성된다.
MPEG-2 명세에 따라 몇몇 엔코딩 모드에 의해 2개의 기준 매크로블록의 평균을 취하여 하나의 예측된 매크로블록을 생성하며, 이들 기준 각각은 1/2 화소 경계에 정렬될 수 있다. 더욱이, MPEG-2는 화소당 에러 계수의 범위를 +256 내지 255까지 허용한다. 물론 이것은 9비트의 정밀도로 바꾸는 것이며, 이것은 바이트로 정렬된 8비트 데이터보다는 다루기가 더 성가신 것이다. 마지막으로, MPEG-2는 매크로블록에 대한 2개의 예측, 즉 P 화상에 대한 이중-프라임 예측 및 B 화상에 대한 양방향 예측을 명시하는 모드를 지원한다. 이들 경우, 2개의 예측의 평균을 취하여 결합된 예측을 생성한다.
요약하여, 다음의 단순화된 식(1)은 2개의 기준으로부터 각각의 좌표 {x, y}에 대한 최종의 에측된 화소값을 계산하는 것이다. 식(2)는 좌표 {x, y}에서 화소당 IDCT 출력을, 각각의 매크로블록 화소에 대해 움직임 보상된 출력에 더한다.
Fpred(x, y) = [Fpred1(x,y) + Fpreds(x,y)]/2(1)
Fmc(x, y) = Fpred(x, y) + FIDCT(x, y) (2)
시장에서 구할 수 있는 필립스 9727 그래픽스 가속기는 예를 들면 (도 4-7에 도시한 바와 같이) 프로세서(42)로부터 수신된 제어신호에 기초하여 3D 그래픽스를 제공할 수 있는 전형적인 최신의 그래픽스 가속기이다. 필립스 9727은 여기서는 본 발명의 방법 및 장치를 단지 설명하기 위해서 예로서 사용된다. 이 분야에 숙련된 자들은 본 발명에 기초하여 다른 기존의 또는 미래의 그래픽스 가속기 및/또는 3D 그래픽스 엔진(위치에 관계없이)을 수정 및/또는 사용하여 DVD 및/또는 MPEG-2에 관계된 처리를 제공할 수 있음을 알 것이다.
움직임 보상 처리와 3D 텍스처 매핑 처리간에 상당한 유사성이 존재함을 알았다. 사실, 전자는 후자의 서브세트에 불과한 것으로 결정되었다. 이러한 공통성을 이용하여, 본 발명의 방법 및 장치는 움직임 보상을 구현하기 위해서, 단지 약간만 수정하여 9727의 3D 텍스처 매핑 엔진을 사용할 수 있다.
특히, 텍스처를 삼각형에 적용할 때 텍스처 매핑 엔진(110)은 MPEG-2 비디오를 디코딩할 때 움직임 보상 처리(28)에서 필요로 하는 것과 거의 동일한 동작을 수행하고 있음을 알았다. MPEG-2 움직임 보상은 현재의 B 또는 P 화상을 발생하는 데 사용되는 이전 및/또는 후속 화상들로부터 정사각형 모양의 화소(또는 화상 요소(pel)) 매크로블록을 식별하기 위해서 움직임 벡터를 이용함을 상기한다. 이들 예측된 블록은 근본적으로 텍스처이며, 이러한 식으로, 이들 예측된 블록을 모으게 되는 I 및/또는 P 화상(들)은 텍스처 맵(124a-n)과 유사한 텍스처 맵이다. 따라서, 이러한 형태의 MPEG-2의 예측된 블록과 라스터화기에서 사용되는 삼각형간 유일한 차이는 모양이다. 그러나, 알려진 바와 같이, 모든 정사각형은 2개의 동일한 삼각형으로 분할될 수 있고, 따라서 라스터화기(106) 내의 텍스처 매핑 엔진(110)은 움직임 보상 처리(28)의 일부분으로서 이러한 형태의 예측된 블록을 결정하는데도 사용될 수 있다. 도 9에서, I 화상(126) 및 P 화상(128)은 프레임 버퍼(56)의 오프 스크린 부분(122)과 함께 텍스처 맵(124a-n)과 나란히 도시되었다.
전형적인 최신의 텍스처 매핑 엔진(110)은 예를 들면 시점이 텍스처화된 표면에 충분히 가까울 때 텍스처 컬러를 강화하는데 사용되는(예를 들면, 확대) 바이리니어(bilinear) 필터링 능력(예를 들면, 보간기(112))을 포함한다. 예를 들면, 집의 나무결 벽의 시점이 벽에 매우 가깝다면, 결과적인 화상이 과립모양으로 나타나게 텍스처 맵(124a-n)이 벽에 맵핑되는 경향이 있을 수 있을 것이다. 이것은 대부분의 텍스처 맵(124a-n)의 분해능이 약 128 x 128 텍셀이기 때문이다. 인접한 텔셀간을 근본적으로 보간하는 바이리니어 필터링 능력을 제공함에 의해서, 이러한 잠재된 과립화가 감소된다. 따라서, 바이리니어 필터링은 단순히 텍스처의 바이리니어 보간이다. 그러므로, 많은 MPEG-2 움직임 벡터에 의해 요구되는 1/2 화소 샘플링은 텍스처 매핑 엔진(110)의 바이리니어 필터링 능력에 의해서 지원된다.
MPEG-2 움직임 보상의 또 다른 복잡성은 2개의 움직임 벡터가 각각 1/2 화소 좌표로 정해질 수 있다는 것이다. 따라서, 텍스처 매핑 엔진(110)은 이들 움직임 벡터 각각을 바이리니어 필터처리하고, 2개의 결과를 평균하여 예측된 블록을 생성하는데 필요할 것이다. 최신의 텍스처 매핑 엔진(110)의 특징 중 하나는 2개의 텍스처를 섞고(예를 들면, 텍셀을 평균함으로써) 2개의 텍스처를 삼각형에 매핑하는 능력이다. 예를 들면, 집의 나무결 벽은 나무 결 텍스처 맵으로부터 매핑된 블렌드된 텍스처와, 일부는 더 밝고 일부는 더 어두운 영역을 갖는 나무결 벽을 생성하는 조명 맵을 포함할 수 있을 것이다. 그러므로, 텍스처 매핑 엔진(110)의 이러한 복수의 텍스처하는 능력은 움직임 보상된 화소를 결정하기 위해 움직임 벡터 각각에 대해 바이리니어 필터처리된 화소를 단순히 평균함으로써 MPEG-2 움직임 보상에 적용될 수 있다.
전술한 바와 같이, MPEG-2 명세에 따라, 움직임 보상된 매크로블록은 IDCT 처리(26) 처리로부터 출력된, 텍셀당 하나인 한 셋트의 에러 계수와 함께 명시될 수 있다. 이들 에러 계수(또는 매크로블록 계수) 각각에는 대응하는 화소가 부가될 필요가 있다. 그러나, 전형적인 3D 그래픽스 엔진(92)은 매크로블록을 더하는데 필요한 부호를 사용한(signed) 가산 기능(-256 내지 255 사이가 될 수 있는)을 수행하도록 구성되지 않는다.
따라서, 이러한 능력을 제공하기 위해서 3D 그래픽스 엔진을 수정할 필요가 있다. 이것은 읽고 수정하여 기입하는 것, 즉 그 명칭이 의미하듯이 새로운 혹은 수정된 값을 메모리 내의 이전의 값에 기초하여 메모리에 저장하는 것으로서 알려진 일반적인 3D 그래픽스 엔진(92)의 능력을 이용하여 행해질 수 있다. 이러한 형태의 수정은 통상 선택된 라스터 연산부(ROP)(114)에 의존할 것이다. 전형적인 3D 그래픽스 엔진(92)에서, 몇몇 ROP(예를 들면, 115a-115n)는 이를테면 논리 AND, 및 논리 OR에 의해 지원될 수 있다. 새로운 ROP(예를 들면 부호를 사용한 가산 ROP)를 3D 그래픽스 엔진(92)에, 특히 라스화기(106) 내의 라스터 연산부(114)에 부가함으로써, MPEG-2 매크로블록 계수에 필요한 부호를 사용한 가산 ROP가 제공된다. 따라서, 본 발명의 일실시예에 따라 "8비트 부호사용 가산 ROP"는 매크로블록 계수 부호사용 가산을 처리하기 위해서 수정된 그래픽스 가속기(84) 내에 제공된다.
도 11은 기존의 ROP(115a-n) 및 8-비트 부호사용 가산기(130)를 갖는 전형적인 라스터 연산부를 도시한 것이다. 기존의 ROP(115a-n) 및 8-비트 부호사용 가산기(130)로부터 출력들은 ROP들 중에서 선택하기 위해서 제어 레지스터(102)에 의해 제어되는 멀티플렉서(132)에 제공된다.
전술한 바와 같이, 전형적인 그래픽스 엔진(92)을 수정하고(즉, 부호를 사용한 가산 ROP를 제공하고) 처리(전술한)를 달성하는데 필요한 그래픽스 가속기의 구동기 소프트웨어(92)를 수정함으로써, 결과적인 수정된 그래픽스 가속기(84)는 MPEG-2 움직임 보상을 제공한다. 이것은 움직임 보상 처리(28)의 극히 비용효율적인 구현이 된다.
따라서, 단지 하나의 사소한 하드웨어 수정만이 식(2)를 완료하는데 필요하다. 8-비트 부호사용 가산기 ROP(130)는 DRAM(28)이나 프레임 버퍼(56)의 메모리로부터 가져오게 되는 IDCT 계수에 텍스처 매핑 엔진(120)의 출력을 가산하도록 제공되었다. 더욱이, 수정된 그래픽스 가속기(84)는 MPEG-2에서 허용하는 완전한 9비트 에러 계수범위를 지원하기 위해서 또 다른 셋트의 부호를 갖는 8비트를 통한 제2 경로를 취하도록 프로그램될 수 있다.
비평면화(deplanarization)를 위한 수정된 그래픽스 가속기 사용
그래픽스 가속기로 부과되는 다음 DVD에 관계된 처리는 평면 YUV 4:2:0/4:2:2 변환처리이다. 비록 전형적인 그래픽스 가속기는 YUV 4:2:2 화상을 취하여 이를 대응하는 RGB 화상으로 다시 형식화할 수 있어도, YUV 4:2:0에서 YUV 4:2:2로 변환은 통상 지원되지 않으며, 따라서 이 기능성은 본 발명에 따라 수정된 그래픽스 가속기에 부가될 것을 필요로 한다.
전술한 바와 같은 움직임 보상 처리(28)는 보통 YUV 4:2:0이라고 하는 평면 형식으로 출력되는 3가지 성분, 즉 휘도(Y) 및 색차(U 및 V)에 대한 최종의 매크로블록 화소값을 제공한다. 불행히도, 현재의(9727를 포함하여) 그래픽스 가속기는 비월방식 YUV 4:2:2로부터 RGB로 변환하는 경향이 있으며, 여기서 U 및 V 평면은 X 방향(수평)으로는 휘도 행렬 크기의 반이며 Y 방향(수직)으로는 동일한 크기이다. 한편 YUV(420)는 X-방향 및 Y-방향에서 Y 평면의 분해능의 반을 갖는 U, V 평면을 사용한다. 그러므로, YUV 4:2:0에서 YUV 4:2:2 형식으로 변환은 Y방향에서 색차 성분을 업 샘플링해야 한다.
평면 YUV 4:2:0를 비월방식의 4:2:2 형식으로 변환하는 것은 평면 소스로부터 한 바이트의 데이터를 읽고 이 바이트를 목적 4:2:2평면 내의 다른 위치에 기입하는 것을 포함한다. 불행하게도, 이것은 화소당 몇번의 읽기와 쓰기를 필요로 하며, 이것은 화상에 대해, 예를 들면, 도 3의 표에서 프로세서 이용지수에 의해 명백한 바와 같이 순수하게 소프트웨어 해결책의 성능을 현저하게 저하시킬 수 있다.
문제가 복잡하게, MPEG-2의 4:2:0 평면 방식은 수직으로(수평도 마찬가지) 화소 중심에 대해 색도 샘플점을 명시하지 않는다. 따라서, 비월방식 비디오 데이터를 업샘플하는 것은 화상이 기수필드인지 아니면 우수필드인지 여부와 라인이 필드 내에 기수인지 아니면 우수라인인지 여부에 따라, {1/4, 3/4}, {1/2, 1/2} 또는 {3/4, 1/4}의 가중치 쌍으로, 수직으로 인접한 화소 쌍 각각마다 하나에 한쌍의 가중치를 사용하는 2-탭 수직필터를 필요로 한다. 이것은 적어도 2개 샘플점을 읽을 것과 화소당 하나 또는 2번의 가산과 시프트를 필요로 하며, 이것은 소프트웨만의 해결책에 너무 많은 부담이 된다. 그러므로, 소프트웨어만의 해결책은 보통 어쩔 수 없이 최적의 품질을 손상시키며 가장 가까운 색도 샘플점을 선택하고 필요할 때 수직으로 반복하는 쉬운 방법을 취한다. 이와 같은 접근은 세기(intensity)에 정확하게 정렬되지 않는 컬러가 되게 하고 결국 손상된 화질로 된다.
다행히도, 평면 YUV 4:2:0을 비월방식의 4:2:2로 변환하는 것은 3D 그래픽스 엔진(92) 내에서 텍스터 매핑 엔진(110)을 통해 수행될 수 있다. 이 경우, Y, U 및 V 화상(또는 평면)은 한 변이 2의 멱수인 정사각형으로 분할될 수 있다. 각각의 정사각형은 소스 텍스처가 되며, 이것은 목적 4:2:2 화상으로 매핑되며, U 및 V의 경우, 텍스처 매핑 엔진(110)에 Y방향으로 2X만큼 확대하도록(업스케일) 명령이 내려진다. 각각의 Y, U 및 V 화상을 통한 하나의 경로는 작업을 완료하는데 필요하다.
9727에서 인터리빙 지원을 완료하는데 단지 하나의 수정이 요망되었다. 텍스처 매핑 엔진(110) 다음의 출력 데이터 경로를 수정하여, 발생된 텍셀이 특정한 오프셋 및 증분의 특정한 바이트 경로로 보내지게 하며, 다른 바이트 경로는 목적지에 기입되지 않게 차단된다. 이것은 이전의 경로의 결과를 덮어쓰지 않고, Y, U 및 V값이 이들의 적합한 바이트 위치에 기입되게 한다. 개시된 실시예에 따라, 이것은 결과적으로 도 12에 도시한 바와 같이, 화소 패킹 로직(116)에 부가되는 것처럼, 기존의 데이터 경로에 4개의 8비트 레지스터(140a-d)를 부가하는 것이 되며, 라스터 연산부(114)로부터 출력을 수신하도록 결합된다. 도 12는 화소 패킹 로직(116)의 예를 도시한 것으로, 이 로직은 4개의 8비트 바이트를 하나의 32비트 워드로 묶는다. 8비트의 바이트는 적재 인에이블 신호(LE)의 제어하에서 라스터 연산부(114)의 출력으로부터 연속적으로 레지스터(140a-d)에 적재된다. 제어 레지스터로부터 신호는 어느 레지스터에 바이트가 연속적으로 적재될 것인지를 결정한다. 각각의 레지스터는 메모리에 저장될 32비트 워드 내의 각각의 위치에 대응한다. 다른 워드 내의 대응하는 위치는 바이트 경로를 형성한다.
도 10a, 10b 및 10c는 Y, U 및 V 각각에 대한 바이트 경로 배열을 도시한 것이다. 도 10a에서, Y값(Y0-4)은 선택적으로 매핑되며(레지스터(140b, 140d, 140b, 140d) 각각을 통해) 결국 매 두 바이트마다 한번 Y값이 배치되는 오프셋 패턴(150a)으로 된다. 도 10b에서, U값(U0-4)은 선택적으로 매핑되며(레지스터(140c)을 통해) 결국 매 4 바이트마다 한번 U값이 배치되는 오프셋 패턴(150b)으로 된다. 도 10c에서, V값(V0-4)은 선택적으로 매핑되며(레지스터(140a)를 통해) 결국 매 4 바이트마다 한번 V값이 배치되는 오프셋 패턴(150c)으로 된다.
2-탭 수직필터를 통해 "적합한" 업샘플링을 지원하는 표면상 곤란한 문제에 대해서, 이 동작은 단순히 바이리니어 필터링의 변형으로 볼 수 있고 따라서 텍스처 매핑 엔진(110)에 의해 완전히 지원될 수 있음을 알았다. 소스 4:2:0 화상을 가리키는 시작 텍스처 주소에 {1/4, 1/2, 또는 3/4}의 오프셋을 단순히 더함으로써, 텍스처 매핑 엔진(110)은 모든 후속되는 텍스터 샘플점을 한쪽으로 몰아, 근본적으로 수직필터의 효과를 제공한다. 따라서, 경합하는 해결책과는 달리, 본 발명의 방법 및 장치는 MPEG-2 명세가 의도하는 적합한 고품질의 업샘플링을 제공할 수 있다.
OSD 블렌딩을 위한 수정된 그래픽스 가속기 사용
최종의 단에서, 디코드된 MPEG-2 비디오는 서브화상(들)에 알파 블레드될 필요가 있다. 각가의 화상 내의 각각의 화소에 대해서, 비디오 성분은 다음 식을 통해 최종의 출력 화소를 제공하도록 서브화상 성분과 블렌드되어야 하며, 여기서 "a"(알파)는 비디오 컬러와 서브화상 컬러간에 16레벨의 블렌드를 제공한다(가능한 16개의 컬러 중 하나).
Fout(x, y) = FYUV422(x, y)*a + Fsubpict(x, y)*(1-a) (3)
개시된 실시예에 따라, 서브화상 알파 블렌딩 처리는 3D 그래픽스 엔진(92)의 기존의 구조를 약간 변경함으로써 제공되며, 이것은 디스플레이 리프레시 회로(도시없음)를 확장한다. 예를 들면, 9727의 3D 그래픽스 엔진(92) 내의 디스플레이 리프레시 회로는 2층의 비트맵된 데이터의 혼합을 이미 지원하는데, 하나는 YUV 4:2:2이며 다른 하나는 여러 가지 RGB 형식일 수 있다. 그러므로, YUV 4:2:2는 RGB로 변환되며 화소마다, 컬러 키를 통해 제2 RGB 층과 혼합된다. 따라서, 예를 들면, 3개의 병렬 4비트 곱셈기와 16 엔트리 룩업 테이블을 부가함으로써, 기존의 혼합 능력은 비디오에 서브화상의 투명 오버레이를 지원하도록 확장될 수 있다. 각각의 서브화상 화소는 테이블 및 동반된 4비트 블렌드 값에의 4비트 색인으로 나타내어진다. 스크린에 그려지는 각각의 화소에 대해서, 3D 그래픽스 엔진은 YUV 4:2:2 비디오 화소를 RGB로 변환하며, 서브화상에 대한 RGB 값을 얻기 위해서 테이블 룩업하며 이어서 상기 식(3)에 나타낸 바와 같이 2개의 곱셈과 가산을 통해 블렌드를 수행한다.
결국, 본 발명의 방법 및 장치는 프로세서와 함께 DVD 재생을 수행할 수 있는 수정된 그래픽스 가속기(84)를 제공한다. 예로서, 9727 그래픽스 가속기는 움직임 보상, YUV 4:2:0/4:2:2 변환 및 알파 블렌딩을 하드웨어로 구현하도록 수정되어(상기 기술된 바와 같이), 266MHz 펜티엄 II(등록상표) 플랫폼으로 전형적인 DVD 내용물의 30프레임/sec 재생 및 비트속도까지 전달하였다.
본 발명을 상세히 기술하여 예시하였지만, 이는 단지 예시하기 위한 것이며 단지 예이며 제한하기 위해 취해진 것이 아니며, 본 발명의 정신 및 범위는 첨부된 청구범위에 의해서만 한정됨을 명확히 이해해야 한다.

Claims (12)

  1. 3차원 공간에서 삼각형의 이미지를 계산하는 텍스처 매핑 엔진으로서, 상기 삼각형 이미지에 디지털 텍스처가 매핑되는, 상기 텍스처 매핑 엔진(110),
    디지털 이미지 맵과 이 디지털 이미지 맵 내의 한 블록의 시간적인 변위를 나타내는 적어도 하나의 움직임 벡터를 인코딩하는, 압축된 2차원 디지털 이미지 정보를 수신하는 수신 수단을 포함하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치에 있어서,
    상기 텍스처 매핑 엔진은 상기 디지털 이미지 정보를 압축해제하도록 구성되며, 상기 블록이 변위된 이미지는 3차원 공간에서 삼각형에 대한 텍스처 맵으로서 상기 블록을 사용하여 계산되는 것을 특징으로 하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  2. 제1항에 있어서, 상기 텍스처 매핑 엔진(110)은 제1 및 제2 디지털 화소 데이터에 기초하여, 보간된 디지털 화소 데이터를 결정하도록 구성된 적어도 하나의 바이리니어 보간기(112)를 더 포함하며, 상기 바이리니어 보간기(112)는 서브화소 좌표를 갖는 블록을 바이리니어 필터링하여 화소가 정렬된 좌표를 갖는 하나의 예측된 블록을 발생하도록 구성된 것을 특징으로 하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  3. 제2항에 있어서, 상기 텍스처 매핑 엔진(110)은 제1 움직임 벡터에 기초한 제1 바이리니어 필터링과 제2 움직임 벡터에 기초한 제2 바이리니어 필터링을 수행하고, 상기 제1 바이리니어 필터링 결과와 상기 제2 바이리니어 필터링 결과를 평균하여 화소가 정렬된 좌표를 갖는 하나의 예측된 매크로블록을 발생하도록 구성된 것을 특징으로 하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  4. 제1항에 있어서, 상기 텍스처 매핑 엔진(110)에 결합된 적어도 하나의 라스터 연산부(115)를 더 포함하며, 상기 라스터 연산부(115)는 상기 텍스처 매핑 엔진(110)에 의해 발생된 상기 디지털 화소 데이터에 부호를 갖는 정수값을 더하도록 구성된 것을 특징으로 하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  5. 제4항에 있어서, 상기 부호를 갖는 정수는 IDCT 계수인 것을 특징으로 하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  6. 제1항에 있어서, 상기 디지털 이미지 정보 스트림은 MPEG-2 데이터 스트림으로부터 발생된 것을 특징으로 하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  7. 디지털 텍스처에 매핑되는 3차원 공간에 삼각형의 이미지를 계산하는 텍스처 매핑 엔진(110)과,
    디지털 이미지 맵을 인코드하는, 압축된 2차원 디지털 이미지 정보를 수신하는 수단을 포함하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치에 있어서,
    상기 텍스처 매핑 엔진은 YUV 4:2:0의 적어도 일부분을 3차원 공간에서 삼각형에 대한 텍스처 맵으로서 사용하여, 상기 일부분을 변위시켜 확대함으로써, 상기 YUV 4:2:0 형식의 이미지로부터 YUV 4:2:2 형식의 이미지를 발생하도록 구성되는 것을 특징으로 하며,
    상기 텍스처 매핑 엔진(110)에 결합되며, 상기 YUV 4:2:2 형식의 이미지의 바이트 데이터를 선택적으로 배열하도록 구성되어 상기 YUV 4:2:0 형식의 이미지로부터 바이트 데이터와 상기 YUV 4:2:0 형식의 이미지의 변위를 인터리브하는 로직을 포함하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  8. 제7항에 있어서, 상기 장치는 메모리(56)에 결합되어 이를 액세스할 수 있으며, 상기 텍스처 매핑 엔진(110)은 상기 메모리(56)에 저장된 상기 YUV 4:2:0 형식의 화상에 대한 시작 주소를 산술적으로 수정함으로써 상기 YUV 4:2:0 형식의 화상의 적어도 일부분을 오프셋하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  9. 제7항에 있어서, 상기 텍스처 매핑 엔진(110)은 제1 및 제2 디지털 화소 데이터에 기초하여, 보간된 디지털 화소 데이터를 결정하도록 구성된 적어도 하나의 바이리니어 보간기(112)를 더 포함하며, 상기 바이리니어 보간기(112)는 2X 수직 업스케일링을 제공함으로써 상기 YUV 4:2:0 형식의 화상의 U plane 및 V plane의 복수의 샘플을 대응하는 목적 이미지에 선택적으로 매핑하도록 구성된 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  10. 제7항에 있어서, 상기 로직은 인터리브된 YUV 4:2:2 형식의 화상을 발생하도록 대응하는 오프셋값 및 대응하는 증분값에 기초하여, 상기 목적 화상의 특정한 Y, U 및 V 바이트 데이터를 선택적으로 제공하도록 구성된 적어도 하나의 레지스터(140)를 포함하며, 상기 4:2:2 형식의 화상은 복수의 바이트 경로를 가지며, 각각은 복수의 바이트 위치를 갖는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  11. 제10항에 있어서, 상기 목적 화상의 Y 바이트 데이터에 대한 증분값은 상기 대응하는 오프셋값에 기초하여 매 다른 바이트 위치마다 이에 Y 바이트를 상기 로직으로 하여금 삽입하게 하며, 상기 목적 화상의 U 바이트 데이터에 대한 증분값은 상기 대응하는 오프셋값에 기초하여 매 4번째 바이트 위치에 U 바이트 데이터를 상기 로직으로 하여금 삽입하게 하며, 상기 목적 화상의 V 바이트 데이터에 대한 증분값은 상기 대응하는 오프셋값에 기초하여 매 4번째 바이트 위치에 U 바이트 데이터를 상기 로직으로 하여금 삽입하게 하는 그래픽스 발생 및 디지털 비디오 처리를 지원하는 장치.
  12. 디지털 텍스처에 매핑되는 3차원 공간에 삼각형의 이미지를 계산하는 텍스처 매핑 엔진(110),
    디지털 이미지 맵을 엔코딩한, 압축된 2차원 디지털 이미지 정보를 수신하는 수단을 포함하는 장치를 사용하는 그래픽스 발생 및 디지털 비디오 처리방법에 있어서,
    상기 디지털 이미지 정보의 압축해제는 3차원 공간에 삼각형에 대한 텍스처 맵으로서 상기 디지털 이미지 맵의 적어도 일부분을 사용함으로써, 상기 텍스처 매핑 엔진을 사용하여 수행되는 것을 특징으로 하는 그래픽 발생 및 디지털 비디오 처리방법.
KR1019997006085A 1997-11-04 1998-11-02 디지털 다목적 디스크 비디오 처리 방법 및 장치 KR100604102B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/963,931 US6208350B1 (en) 1997-11-04 1997-11-04 Methods and apparatus for processing DVD video
US08/963,931 1997-11-04
US8/963,931 1997-11-04
PCT/IB1998/001755 WO1999023831A2 (en) 1997-11-04 1998-11-02 Methods and apparatus for processing dvd video

Publications (2)

Publication Number Publication Date
KR20000069892A true KR20000069892A (ko) 2000-11-25
KR100604102B1 KR100604102B1 (ko) 2006-07-26

Family

ID=25507913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997006085A KR100604102B1 (ko) 1997-11-04 1998-11-02 디지털 다목적 디스크 비디오 처리 방법 및 장치

Country Status (6)

Country Link
US (2) US6208350B1 (ko)
EP (1) EP1002428A2 (ko)
JP (1) JP2001508631A (ko)
KR (1) KR100604102B1 (ko)
CN (1) CN1230790C (ko)
WO (1) WO1999023831A2 (ko)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100254609B1 (ko) * 1997-01-06 2000-05-01 구자홍 광디스크재생장치
US6570579B1 (en) * 1998-11-09 2003-05-27 Broadcom Corporation Graphics display system
US6552749B1 (en) * 1999-01-29 2003-04-22 Intel Corporation Method and apparatus for video motion compensation, reduction and color formatting
TW413794B (en) * 1999-02-26 2000-12-01 Sunplus Technology Co Ltd A 3D graphics processor based on horizontal scan lines as processing unit and the drawing method therefor
US6577320B1 (en) * 1999-03-22 2003-06-10 Nvidia Corporation Method and apparatus for processing multiple types of pixel component representations including processes of premultiplication, postmultiplication, and colorkeying/chromakeying
JP3409734B2 (ja) * 1999-04-20 2003-05-26 日本電気株式会社 画像合成システム及び方法
JP3725368B2 (ja) * 1999-05-17 2005-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 画像の表示択方法、コンピュータ・システムおよび記録媒体
US7212250B1 (en) * 1999-07-15 2007-05-01 Thomson Licensing Method and apparatus for providing on-screen displays for a multi-colorimetry receiver
US6518974B2 (en) * 1999-07-16 2003-02-11 Intel Corporation Pixel engine
US6658399B1 (en) * 1999-09-10 2003-12-02 Intel Corporation Fuzzy based thresholding technique for image segmentation
US6912350B1 (en) 1999-12-08 2005-06-28 Intel Corporation DVD subpicture rendering without loss of color resolution
US7158178B1 (en) * 1999-12-14 2007-01-02 Intel Corporation Method of converting a sub-sampled color image
US6628827B1 (en) * 1999-12-14 2003-09-30 Intel Corporation Method of upscaling a color image
US6674479B2 (en) * 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US7414632B1 (en) * 2000-01-07 2008-08-19 Intel Corporation Multi-pass 4:2:0 subpicture blending
DE10001369A1 (de) 2000-01-14 2001-07-19 Infineon Technologies Ag Verfahren und Schaltungsanordnung zur Grafikdarstellung, insbesondere in einem digitalen Fernsehgerät
US6421067B1 (en) * 2000-01-16 2002-07-16 Isurftv Electronic programming guide
US6621490B1 (en) * 2000-03-03 2003-09-16 Ati International, Srl Method and apparatus for motion compensation using hardware-assisted abstraction layer
US6970206B1 (en) * 2000-04-20 2005-11-29 Ati International Srl Method for deinterlacing interlaced video by a graphics processor
US6310659B1 (en) * 2000-04-20 2001-10-30 Ati International Srl Graphics processing device and method with graphics versus video color space conversion discrimination
US6961063B1 (en) * 2000-06-30 2005-11-01 Intel Corporation Method and apparatus for improved memory management of video images
US6967659B1 (en) * 2000-08-25 2005-11-22 Advanced Micro Devices, Inc. Circuitry and systems for performing two-dimensional motion compensation using a three-dimensional pipeline and methods of operating the same
WO2002037857A2 (en) * 2000-10-31 2002-05-10 Koninklijke Philips Electronics N.V. Method and device for video scene composition including graphic elements
JP3529759B2 (ja) * 2001-01-26 2004-05-24 株式会社ソニー・コンピュータエンタテインメント 画像処理プログラム、画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、プログラム実行装置、画像処理装置、及び画像処理方法
US7885336B2 (en) * 2001-02-05 2011-02-08 Ati Technologies Ulc Programmable shader-based motion compensation apparatus and method
JP4050472B2 (ja) * 2001-02-06 2008-02-20 株式会社モノリス 画像生成方法、装置およびシステム
US7236204B2 (en) * 2001-02-20 2007-06-26 Digeo, Inc. System and method for rendering graphics and video on a display
DE60111742T2 (de) * 2001-08-22 2006-05-18 Thomson Licensing S.A., Boulogne Geräte der Unterhaltungselektronik mit gemeinsamen Speicher
US6741263B1 (en) * 2001-09-21 2004-05-25 Lsi Logic Corporation Video sampling structure conversion in BMME
US6803922B2 (en) * 2002-02-14 2004-10-12 International Business Machines Corporation Pixel formatter for two-dimensional graphics engine of set-top box system
US6963613B2 (en) * 2002-04-01 2005-11-08 Broadcom Corporation Method of communicating between modules in a decoding system
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7202907B2 (en) 2002-04-09 2007-04-10 Zoran Corporation 2:2 and 3:2 pull-down detection techniques
US7219352B2 (en) * 2002-04-15 2007-05-15 Microsoft Corporation Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays
US7451457B2 (en) 2002-04-15 2008-11-11 Microsoft Corporation Facilitating interaction between video renderers and graphics device drivers
US20030198290A1 (en) * 2002-04-19 2003-10-23 Dynamic Digital Depth Pty.Ltd. Image encoding system
US7010046B2 (en) * 2002-05-02 2006-03-07 Lsi Logic Corporation Method and/or architecture for implementing MPEG frame display using four frame stores
JP4464599B2 (ja) 2002-05-13 2010-05-19 株式会社マイクロネット 3次元コンピュータ画像放送用テロップ装置およびその方法
US7634668B2 (en) * 2002-08-22 2009-12-15 Nvidia Corporation Method and apparatus for adaptive power consumption
AU2003223169A1 (en) * 2002-09-09 2004-03-29 Metav, Inc. System and method to transcode and playback digital versatile disc (dvd) content and other related applications
US20070008431A1 (en) * 2002-10-15 2007-01-11 Ulrich Englert Method and circuit for displaying graphics in a digital television receiver
US6952211B1 (en) * 2002-11-08 2005-10-04 Matrox Graphics Inc. Motion compensation using shared resources of a graphics processor unit
US7589788B1 (en) * 2003-02-28 2009-09-15 Intel Corporation Method and apparatus for video motion compensation, reduction and color formatting
US7646817B2 (en) * 2003-03-28 2010-01-12 Microsoft Corporation Accelerating video decoding using a graphics processing unit
US7158668B2 (en) 2003-08-01 2007-01-02 Microsoft Corporation Image processing using linear light values and other image processing improvements
US7643675B2 (en) * 2003-08-01 2010-01-05 Microsoft Corporation Strategies for processing image information using a color information data structure
US7139002B2 (en) * 2003-08-01 2006-11-21 Microsoft Corporation Bandwidth-efficient processing of video images
US7474355B2 (en) * 2003-08-06 2009-01-06 Zoran Corporation Chroma upsampling method and apparatus therefor
JP2005077501A (ja) * 2003-08-28 2005-03-24 Toshiba Corp 情報処理装置、表示制御用半導体装置およびビデオストリームデータの表示制御方法
JP2005107780A (ja) * 2003-09-30 2005-04-21 Sony Corp 画像混合方法および混合画像データ生成装置
US8063916B2 (en) * 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US7511714B1 (en) * 2003-11-10 2009-03-31 Nvidia Corporation Video format conversion using 3D graphics pipeline of a GPU
JP4044069B2 (ja) * 2004-04-23 2008-02-06 株式会社ソニー・コンピュータエンタテインメント テクスチャ処理装置、テクスチャ処理方法および画像処理装置
WO2005115015A1 (ja) * 2004-05-20 2005-12-01 Matsushita Electric Industrial Co., Ltd. 画像処理装置及びデータ処理方法
US7463819B2 (en) * 2004-10-29 2008-12-09 Ati Technologies Ulc Video playback method and apparatus
ITRM20040562A1 (it) * 2004-11-12 2005-02-12 St Microelectronics Srl Metodo di vettorializzazione di una immagine digitale.
WO2006113057A2 (en) * 2005-04-15 2006-10-26 Thomson Licensing Down-sampling and up-sampling processes for chroma samples
WO2007148355A1 (en) * 2006-06-22 2007-12-27 Stmicroelectronics S.R.L. A method and system for video decoding by means of a graphic pipeline, computer program product therefor
US8207978B2 (en) * 2006-06-29 2012-06-26 Intel Corporation Simplification of 3D texture address computation based on aligned, non-perspective objects
KR20080045516A (ko) * 2006-11-20 2008-05-23 삼성전자주식회사 Rgb 영상의 부호화 및 복호화 방법과 그 장치
US20080239152A1 (en) * 2007-03-29 2008-10-02 Kabushiki Kaisha Toshiba Sub picture reproducing device, sub picture reproducing method, and sub picture reproducing program
US8300987B2 (en) * 2007-09-28 2012-10-30 Ati Technologies Ulc Apparatus and method for generating a detail-enhanced upscaled image
US8964117B2 (en) 2007-09-28 2015-02-24 Ati Technologies Ulc Single-pass motion adaptive deinterlacer and method therefore
US8259228B2 (en) * 2007-12-10 2012-09-04 Ati Technologies Ulc Method and apparatus for high quality video motion adaptive edge-directional deinterlacing
CA2644379C (en) * 2007-12-19 2015-01-06 Sony Corporation Visually lossless video data compression
US8396129B2 (en) * 2007-12-28 2013-03-12 Ati Technologies Ulc Apparatus and method for single-pass, gradient-based motion compensated image rate conversion
US20100046917A1 (en) * 2008-08-21 2010-02-25 David Naranjo 3d enabled player/recorder
CA2744364A1 (en) * 2008-12-01 2010-06-10 Nortel Networks Limited Method and apparatus for providing a video representation of a three dimensional computer-generated virtual environment
US9218792B2 (en) 2008-12-11 2015-12-22 Nvidia Corporation Variable scaling of image data for aspect ratio conversion
US8860781B2 (en) * 2009-06-30 2014-10-14 Qualcomm Incorporated Texture compression in a video decoder for efficient 2D-3D rendering
US8700925B2 (en) * 2009-09-01 2014-04-15 Nvidia Corporation Regulating power using a fuzzy logic control system
US8826048B2 (en) * 2009-09-01 2014-09-02 Nvidia Corporation Regulating power within a shared budget
JP4875127B2 (ja) * 2009-09-28 2012-02-15 パナソニック株式会社 三次元画像処理装置
US8878996B2 (en) * 2009-12-11 2014-11-04 Motorola Mobility Llc Selective decoding of an input stream
US9256265B2 (en) 2009-12-30 2016-02-09 Nvidia Corporation Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
US9830889B2 (en) 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
KR101435594B1 (ko) * 2010-05-31 2014-08-29 삼성전자주식회사 디스플레이 장치 및 그 디스플레이 방법
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9661340B2 (en) 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
US9723216B2 (en) 2014-02-13 2017-08-01 Nvidia Corporation Method and system for generating an image including optically zoomed and digitally zoomed regions
CN105389776B (zh) 2014-09-02 2019-05-03 辉达公司 图像缩放技术
AU2015345649A1 (en) * 2014-11-12 2017-06-08 Hfi Innovation Inc. Methods of escape pixel coding in index map coding
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
CN107770472B (zh) * 2017-10-31 2020-07-28 中国电子科技集团公司第二十九研究所 一种secam制式模拟电视信号数字化解调方法及数字信号图像恢复方法
MX2022002617A (es) 2019-09-12 2022-03-25 Bytedance Inc Uso de predictor de paleta en codificacion de video.

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945500A (en) * 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US5341318A (en) * 1990-03-14 1994-08-23 C-Cube Microsystems, Inc. System for compression and decompression of video data using discrete cosine transform and coding techniques
US5333245A (en) * 1990-09-07 1994-07-26 Modacad, Inc. Method and apparatus for mapping surface texture
US5327509A (en) * 1992-04-27 1994-07-05 Star Technologies, Inc. Compressed image system for texture patterns
US5469535A (en) * 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
US6101313A (en) * 1992-06-29 2000-08-08 Sony Corporation High efficiency encoding and decoding of picture signals and recording medium containing same
US5481297A (en) * 1994-02-25 1996-01-02 At&T Corp. Multipoint digital video communication system
CA2144253C (en) * 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
JPH07282292A (ja) * 1994-04-05 1995-10-27 Toshiba Corp テクスチャマッピング方法及び画像処理装置
US5719599A (en) * 1995-06-07 1998-02-17 Seiko Epson Corporation Method and apparatus for efficient digital modeling and texture mapping
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5832120A (en) * 1995-12-22 1998-11-03 Cirrus Logic, Inc. Universal MPEG decoder with scalable picture size
US5831624A (en) * 1996-04-30 1998-11-03 3Dfx Interactive Inc Level of detail texture filtering with dithering and mipmaps
US5905500A (en) * 1997-02-19 1999-05-18 Seiko Epson Corporation Method and apparatus for adaptive nonlinear projective rendering
US6333743B1 (en) * 1997-10-23 2001-12-25 Silicon Graphics, Inc. Method and apparatus for providing image and graphics processing using a graphics rendering engine

Also Published As

Publication number Publication date
CN1249836A (zh) 2000-04-05
CN1230790C (zh) 2005-12-07
US6538658B1 (en) 2003-03-25
JP2001508631A (ja) 2001-06-26
KR100604102B1 (ko) 2006-07-26
WO1999023831A2 (en) 1999-05-14
US6208350B1 (en) 2001-03-27
WO1999023831A3 (en) 1999-07-08
EP1002428A2 (en) 2000-05-24

Similar Documents

Publication Publication Date Title
KR100604102B1 (ko) 디지털 다목적 디스크 비디오 처리 방법 및 장치
US7158147B2 (en) Method and apparatus for pixel filtering using shared filter resource between overlay and texture mapping engines
US6674479B2 (en) Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US5912710A (en) System and method for controlling a display of graphics data pixels on a video monitor having a different display aspect ratio than the pixel aspect ratio
US8698840B2 (en) Method and apparatus for processing video and graphics data to create a composite output image having independent and separate layers of video and graphics display planes
US9584785B2 (en) One pass video processing and composition for high-definition video
US6275239B1 (en) Media coprocessor with graphics video and audio tasks partitioned by time division multiplexing
KR100609614B1 (ko) 화상데이터전송및화상처리를위한방법및장치
JP4989470B2 (ja) 線形光量値および他の画像処理の改良を使用した画像処理
CN1973535A (zh) 缩减并混和两个高分辨率图像的设备和方法
US7623140B1 (en) Method and apparatus for processing video and graphics data to create a composite output image having independent and separate layers of video and graphics
WO2010010601A1 (en) Image processing device, method, and system
CN1997155A (zh) 混合多比特深度视频处理体系结构
US7414632B1 (en) Multi-pass 4:2:0 subpicture blending
JPH0651752A (ja) ビジュアルデータ処理装置
US6967659B1 (en) Circuitry and systems for performing two-dimensional motion compensation using a three-dimensional pipeline and methods of operating the same
US7483037B2 (en) Resampling chroma video using a programmable graphics processing unit to provide improved color rendering
EP1147671B1 (en) Method and apparatus for performing motion compensation in a texture mapping engine
US8594441B1 (en) Compressing image-based data using luminance
US7400333B1 (en) Video display system with two controllers each able to scale and blend RGB and YUV surfaces
JP2007158703A (ja) 動画生成装置、動画生成方法、及びプログラム
KR20020086878A (ko) 그래픽 요소들을 포함하는 비디오 장면 합성을 위한 방법및 장치
JP2007158706A (ja) 動画生成装置、動画生成方法、及びプログラム
WO2020213366A1 (ja) 画像生成装置および画像生成方法
Witt Real-time video effects on a PlayStation2

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140708

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee