하드웨어 오버레이
Hardware overlay컴퓨팅에서 비디오 오버레이의 일종인 하드웨어 오버레이는 컴퓨터 비디오 하드웨어 내부에 전용 메모리 버퍼를 가진 디스플레이 화면에 이미지를 렌더링하는 방법을 제공한다.이 기술은 컴퓨터 게임, DVD 또는 TV 카드의 신호와 같이 빠르게 움직이는 비디오 이미지의 표시를 개선하는 것을 목표로 합니다.1998년경부터 제조된 대부분의 비디오 카드와 대부분의 미디어 플레이어는 하드웨어 [1]오버레이를 지원합니다.
오버레이는 한 앱이 다른 앱의 클리핑 및 중복 렌더링을 확인하는 데 드는 상당한 성능 비용을 들이지 않고 렌더링(일반적으로 비디오)할 수 있는 전용 버퍼입니다.프레임 버퍼에는 [citation needed]GPU를 경유하지 않고 버퍼 콘텐츠를 Import 및 렌더링할 수 있는 하드웨어 지원이 있습니다.
개요
하드웨어 오버레이의 사용은 몇 가지 [citation needed]이유로 중요합니다.
- Windows 와 같은 그래피컬 유저 인터페이스(GUI) operating system에서는, 통상, 1 개의 디스플레이 디바이스가 복수의 애플리케이션을 동시에 표시할 수 있습니다.
- 하드웨어 오버레이 없이 디스플레이가 어떻게 작동하는지 생각해 보십시오.각 응용 프로그램이 화면에 표시될 때 운영 체제의 그래픽 하위 시스템은 그려진 개체가 화면의 적절한 위치에 나타나는지, 그리고 겹치는 창과 인접한 창이 충돌하지 않는지 항상 확인해야 합니다.그래픽 하위 시스템은 충돌이 발생할 때 개체를 그리는 동안 개체를 잘라내야 합니다.이러한 지속적인 체크와 클리핑에 의해, 다른 애플리케이션이 서로 협력해 디스플레이를 공유할 수 있게 됩니다.또한 컴퓨팅 파워의 상당 부분을 소비합니다.
컴퓨터는 그래픽의 비트맵된 표현을 비디오 메모리라고 알려진 메모리의 특별한 부분에 쓰면서 디스플레이에 그림을 그립니다.하드웨어 오버레이가 없으면 모든 응용 프로그램이 공유해야 하는 비디오 메모리의 청크 하나만 존재하며 사용자가 응용 프로그램 창의 위치를 변경할 때마다 해당 응용 프로그램의 비디오 메모리 위치가 이동합니다.공유 비디오 메모리의 경우, 애플리케이션은, 그 애플리케이션에 속하는 메모리에의 기입만을 항상 체크할 필요가 있습니다.
무비 플레이어나 일부 게임 등의 고대역폭 비디오 애플리케이션을 실행하는 경우, 지속적인 클리핑 및 체크 실행에 필요한 처리 능력과 복잡성은 성능과 호환성에 부정적인 영향을 미칩니다.하드웨어 오버레이를 사용하면 이러한 제한을 피할 수 있습니다.또, 그래픽 처리 장치(GPU)는, 비디오의 사이즈를 효율적으로 확장할 수 있는 방법을 제공해, 많은 경우(MPEG-2 의 YCbCr 와 같은) 컬러 포맷의 변환을 실시합니다.
하드웨어 오버레이를 사용하는 애플리케이션은 해당 애플리케이션에만 속하는 비디오 메모리의 완전히 다른 섹션을 가져옵니다.다른 어떤 것도 그것을 사용하지 않기 때문에, 프로그램은 주어진 메모리의 일부가 자신의 것인지 확인하는 데 자원을 낭비할 필요가 없으며, 사용자가 창을 이동하거나 비디오 메모리의 위치를 변경하는지 감시할 필요도 없습니다.다른 비디오 메모리의 이미지를 디스플레이의 나머지 공유 요소와 함께 표시하기 위해 그래픽 서브시스템은 특정 속성(예를 들어 특정 색상)을 해당 오버레이의 "마스크"로 관련짓습니다.그래픽 카드는 이를 별도의 오버레이 버퍼에서 스크레로 그리는 것을 의미합니다.en. (이 기술은 '크로마 키'로 알려짐)
예를 들어, 그래픽 하위 시스템이 "보라" 색상을 오버레이가 나타나도록 트리거하는 마스크 색상으로 정의한다고 가정합니다.DVD를 재생하는 애플리케이션은, 공유 화면에 보라색 직사각형의 실선을 그리고 나서, DVD를 오버레이 전용의 메모리 영역에 「재생」합니다.그래픽 카드에서는, DVD 의 재생은 보라색 영역내에서만 렌더링 됩니다.다른 창이 보라색 영역 위로 이동해 그 일부가 가려지면 그래픽 하드웨어가 자동으로 클리핑을 수행합니다.실제로 실제 색상은 "보라색"이 사용되지 않으며, 오히려 거의 설명되지 않은 검은색에 가까운 색상이 사용되거나(시스템에 수천 가지 색조를 선택할 수 있기 때문에), 마스크 영역은 색상을 포함하지 않는 유사한 마스킹 방법을 사용하여 표시됩니다.
스크린샷
하드웨어 오버레이를 사용하면 스크린샷 프로그램(예를 들어 사용자가 PrtSc 키를 누르면 자동으로 활성화되는 Windows에 내장된 프로그램)이 하드웨어 오버레이 창에 표시되는 콘텐츠를 캡처하지 못하는 경우가 많습니다.오히려 특수 마스크 색상만을 포함한 공백 영역을 캡처한다.이는 화면 캡처 루틴에서는 오버레이 전용의 특수한 비디오 메모리 영역이 고려되지 않기 때문입니다.소프트웨어의 그래픽 서브시스템에 의해 렌더링된 공유 메인 화면을 캡처하기만 하면 됩니다.
세컨더리 디스플레이
새로운[update] 그래픽 카드의 상당수는, 복수의 모니터나 TV 화면을 출력 디바이스로서 서포트할 수 있습니다.일반적으로 이러한 출력 디바이스 중 하나를 "프라이머리" 디바이스로 선언해야 하며 프라이머리 디바이스만 하드웨어 오버레이를 표시할 수 있습니다.예외는 다음과 같습니다.인텔 자주 묻는 질문에 그들의 임베디드 설명 그래픽 운전자는 오버레이 중 하나가 나타나지만 둘 모두(노트:2차 모니터에 인텔 945년, G33-Q965 칩셋 now[업데이트],과 좋은 품질의 할 수 있다고 이중 하드웨어 오버레이가 있mpeg2 때 적절한 소프트웨어 설치된다), 그리고 약간의 더 새로운 매트록스 그래픽에 부착할 수 있다고 쓴다.카드 s양쪽 디스플레이(예: Parhelia Series)에 upport 오버레이를 표시합니다.
세컨더리 디스플레이에는 하드웨어와 드라이버의 양쪽 지원이 필요합니다.일부 그래픽 카드는 세컨더리 디스플레이의 오버레이를 서포트하고 있지만, 드라이버의 서포트는 아직 서포트하고 있지 않은 경우가 있습니다(주: 최근(2008년 [update]7월)의 그래픽 칩셋 드라이버의 버그에 의해, MPEG2 이외의 대부분의 비디오 포맷이 양쪽 모니터에서 동작하는 경우가 있습니다.또, 대부분의 플레이어는 프라이머리에서만 동작합니다).
DVD 무비가 노트북 화면에 올바르게 표시되지만 노트북에 연결된 TV에서는 표시되지 않는 것을 알 수 있는 사용자도 있습니다.이 경우 TV를 프라이머리 디스플레이로 지정할 수 있습니다.미디어 플레이어에서 하드웨어 오버레이를 사용하지 않도록 설정해야 할 수 있습니다.다만, 일부의 그래픽 카드에는, 하드웨어 오버레이를 완전하게 TV 화면으로 리다이렉트 하는 옵션이 있습니다.이 경우, 오버레이가 유효하게 되어 있는 메인 화면에서 DVD 플레이어를 기동하면, 접속되어 있는 TV 화면에 비디오가 표시됩니다.
다양한 운영 체제에서의 구현
Windows Vista의 확장 그래픽스 기능을 통해 하드웨어 오버레이의 기본 개념을 무비 플레이어나 게임뿐만 아니라 시스템에서 실행되는 모든 응용 프로그램 창에 대해 완전한 하드웨어 컴포지팅으로 대체했습니다.Mac OS X는 Quartz Extreme가 Mac OS X 10.2에 도입된 이후 하드웨어 컴포지팅을 사용해 왔습니다.성능을 향상시키기 위해 각 프로그램은 느린 그래픽 하위 시스템 대신 자체 독립 메모리 버퍼로 끌어옵니다.(Windows Vista 에서는, 각 하드웨어 오버레이는 Direct3D 서페이스라고 불립니다).그런 다음 시스템의 GPU는 각 창을 하나의 디스플레이 화면으로 실시간으로 조립합니다.최신 GPU는 고급 3D 그래픽스(비디오 게임 산업의 결과)를 지원하므로 운영체제는 계산 부하가 높은 모션, 스케일링 및 조명 효과를 일반 2D 창에 적용할 수 있습니다.
소비 전력을 삭감할 필요가 있기 때문에, Windows 7 에서는, [2][3]오버레이의 지원이 한정되어 Windows 8.1 에서는 멀티 플레인 오버레이의 [4]서포트가 추가되었습니다.다중 평면 오버레이를 사용하면 데스크톱 창 관리자가 데스크톱의 일부를 오버레이로 자동으로 렌더링하여 더 많은 상황에서 전력을 절약할 수 있습니다.
대부분의 Unix 운영 체제의 윈도우 시스템인 X Window System에서는 XVideo 확장을 통해 응용 프로그램에서 하드웨어 오버레이를 사용할 수 있습니다.컴포지팅도 사용되고 있으며 컴피즈 및 베릴 컴포지팅 윈도 매니저는 2006년 이후 가장 현저한 예입니다.3D 및 2D 오버레이 시각 효과를 위해 OpenGL(glx 확장을 통해)을 활용할 수 있습니다.Metacity 및 xfwm과 같은 기타 구현은 2004년부터 제공되고 있습니다.
일부 전용 하드웨어 오버레이 디바이스에서는 임베디드 Linux를 운영체제로 사용하고 있습니다.예를 들어 비디오 로거 [1] by Racelogic은 Texas Instruments DM355 마이크로 컨트롤러를 사용하여 그래픽을 포함한 프레임 버퍼를 라이브 비디오 피드에 혼합한 후 결과를 플래시 카드에 MPEG-4 형식으로 저장합니다.
오버레이 지원 일명 PIP(Picture In Picture)가 Amiga에 도입되었습니다.PC 그래픽 카드인 Picasso96과 CyberGraphX 그래픽 드라이버 시스템인 ReTargetable Graphics의 도입으로 Picasso IV와 Voodoo3 카드의 경우, AmigaOS 3.5에서는 피카소의 96 드라이버 시스템이 표준이 되었습니다.Moovid는 Amiga에서 하드웨어 오버레이(PIP)를 지원하는 최초의 비디오 플레이어 중 하나였습니다.OS.