다음을 통해 공유


동적 형식 변경

동적 형식 변경은 오디오 애플리케이션과 오디오 어댑터 간에 오디오 데이터를 스트리밍하는 데 사용되는 형식을 동적으로 변경할 수 있는 Windows 운영 체제의 Windows 7 이상 버전의 기능입니다. 동적 형식 변경은 HDMI(고화질 멀티미디어 인터페이스) 디바이스에서 오디오 스트리밍 동작을 수용합니다. 이 항목에서는 동적 형식 변경에 대한 개요를 제공하고 작동 방식을 설명합니다.

다음 목록에서는 동적 형식 변경이 사용되는 시나리오를 보여 줍니다.

  • HDMI 디바이스는 새로운 기능을 제공합니다. HDMI 디바이스가 오디오 또는 비디오 데이터 또는 둘 다를 스트리밍하는 경우 오디오 및 비디오 전송에 사용되는 총 HDMI 대역폭이 고정되고 비디오 신호가 용량 할당에서 기본 설정됩니다. 즉, 컴퓨터에 연결된 HDMI 디스플레이 디바이스가 있고 디스플레이 해상도를 변경하면 컴퓨터로의 오디오 데이터 전송에 남아 있는 대역폭의 크기에 영향을 줍니다.

    예를 들어 HDMI 디바이스가 처음에 데이터 형식을 192KHz, 특정 디스플레이 모드의 16비트 스테레오로 구성한다고 가정합니다. 다른 디스플레이 모드로 변경하면 스트리밍 오디오 데이터의 나머지 대역폭이 192KHz 형식으로 충분하지 않을 수 있습니다. 따라서 디바이스 드라이버는 연결된 컴퓨터의 오디오 서비스에 디스플레이 모드의 변경에 대해 알리며, 이로 인해 오디오 드라이버와 오디오 서비스가 오디오 데이터 형식을 재협상하게 됩니다. 현재 선택한 192KHz 형식을 나머지 대역폭 내에서 스트리밍할 수 없는 경우 새 형식이 선택됩니다. 형식 협상 프로세스에 대한 자세한 내용은 형식 협상을 참조하세요.

    또 다른 HDMI 관련 동적 형식 변경 시나리오에서는 오디오 디바이스가 분리되고 새로운 HDMI 지원 디바이스가 연결됩니다. HDMI 디바이스의 디바이스 드라이버는 형식 변경 이벤트를 생성하고 오디오 서비스는 디바이스 드라이버와 오디오 데이터 형식을 재협상합니다.

  • 일부 독립 실행형 오디오 디바이스는 사용자가 오디오 데이터 형식을 변경하는 데 사용할 수 있는 하드웨어 컨트롤을 제공합니다. 이 시나리오에서 사용자는 서라운드 사운드 앰프의 컨트롤 노브를 조작하여 오디오 데이터 형식을 선택합니다. 독립 실행형 오디오 장치에 연결된 컴퓨터가 있는 경우 새로 선택한 데이터 형식으로 인해 연결된 컴퓨터의 오디오 드라이버가 데이터 형식을 재협상하고 변경합니다.

  • 제어판 사운드 애플릿에 대한 타사 UI는 시스템 효과를 사용하거나 사용하지 않도록 설정하는 옵션을 제공합니다. 자체 시스템 효과 오디오 처리 개체(SAPO)를 개발할 때 제어판 사운드 애플릿에 대한 사용자 지정 UI를 제공할 수도 있습니다. 이 사용자 지정 UI에는 사운드 애플릿 또는 둘 다의 고급 탭 또는고급 탭에 대한 수정 내용이 포함될 수 있습니다. 이 시나리오에서 사용자는 고급 탭에서 검사 상자를 선택하여 오디오 데이터 형식을 변경해야 하는 GFX(전역 시스템 효과) 기능을 사용하거나 사용하지 않도록 설정합니다. 사용자가 선택한 경우 HDMI 드라이버가 형식 변경 이벤트를 생성합니다. 오디오 서비스는 이 이벤트에 대한 알림을 받고 오디오 드라이버와 재협상하여 오디오 데이터에 대한 새 형식을 선택합니다.

Dolby Digital 및 DTS(디지털 극장 소리)와 같은 HDMI 및 IEC61937 규격 압축 오디오 형식에 대한 지원을 제공하기 위해 Windows 7 이상 Windows 운영 체제는 KS(커널 스트리밍) 속성 및 구조에서 사용할 새로운 하위 유형 GUID 집합을 제공합니다. IEC(International Electrotechnical Commission) 표준인 IEC 61937은 비선형 PCM 인코딩 비트 스트림을 전송하는 디지털 오디오 인터페이스에 적용됩니다. 하위 형식 GUID에 대한 자세한 내용은 Ksmedia.h의 KSDATAFORMAT_SUBTYPE_IEC61937_XXX GUID를 참조하세요.

참고 오디오 엔드포인트 작성기가 동적 형식 변경 알림을 수신하고 제안된 데이터 형식이 디바이스 드라이버에서 지원되지 않는 경우 엔드포인트 작성기는 새 기본 디바이스 데이터 형식을 다시 계산합니다.

또한 다시 디자인된 오디오 드라이버가 새 형식을 지원하는 경우 엔드포인트 작성기가 디바이스의 기본 형식으로 새 형식을 선택하도록 강제할 수 있습니다. 디바이스의 기본값으로 새 형식으로 강제로 변경하려면 오디오 드라이버가 이전 형식과 관련하여 수신하는 형식 지원 쿼리에 실패해야 합니다. 실패한 형식 지원 쿼리는 형식 변경 알림을 트리거하고 엔드포인트 작성기에서 디바이스에 대한 새 기본 형식을 계산합니다.