KR20240056791A - 환경 내의 오디오를 표현하는 비트스트림 - Google Patents

환경 내의 오디오를 표현하는 비트스트림 Download PDF

Info

Publication number
KR20240056791A
KR20240056791A KR1020247013210A KR20247013210A KR20240056791A KR 20240056791 A KR20240056791 A KR 20240056791A KR 1020247013210 A KR1020247013210 A KR 1020247013210A KR 20247013210 A KR20247013210 A KR 20247013210A KR 20240056791 A KR20240056791 A KR 20240056791A
Authority
KR
South Korea
Prior art keywords
data
audio
environment
characteristic
acoustic environment
Prior art date
Application number
KR1020247013210A
Other languages
English (en)
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
Priority claimed from EP21204639.5A external-priority patent/EP4174637A1/en
Application filed by 코닌클리케 필립스 엔.브이. filed Critical 코닌클리케 필립스 엔.브이.
Publication of KR20240056791A publication Critical patent/KR20240056791A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stereophonic System (AREA)

Abstract

(인코딩) 장치는 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 생성하는 메타데이터 생성기(203)를 포함한다. 메타데이터는 환경에 대한 음향 환경 데이터를 포함하며, 음향 환경 데이터는 환경 내의 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명한다. 음향 환경 데이터 중 적어도 일부는 환경 내의 복수의 청취 포즈들에 적용가능하고, 특성들은 정적 특성 및 동적 특성 둘 모두를 포함한다. 비트스트림 생성기(205)는 메타데이터, 및 종종 또한 환경 내의 오디오 소스들에 대한 오디오 요소들을 표현하는 오디오 데이터를 포함하도록 비트스트림을 생성한다. 디코딩 장치는 비트스트림을 수신하기 위한 수신기, 및 음향 환경 데이터 및 오디오 요소들에 대한 오디오 데이터에 기초하여 오디오 환경에 대한 오디오를 렌더링하기 위한 렌더러를 포함할 수 있다.

Description

환경 내의 오디오를 표현하는 비트스트림{BITSTREAM REPRESENTING AUDIO IN AN ENVIRONMENT}
본 발명은, 오디오 환경을 표현하는, 비트스트림뿐만 아니라, 그러한 비트스트림을 생성하기 위한 장치 및 그러한 비트스트림을 처리하기 위한 장치에 관한 것이며, 특히, 그러나 비배타적으로, 예컨대 가상 현실 애플리케이션을 위한, 가상 오디오 환경을 표현하는 비트스트림에 관한 것이다.
시청각 콘텐츠에 기초한 경험들의 다양성 및 범위는 그러한 콘텐츠를 이용하고 소비하는 새로운 서비스들 및 방식들이 계속 개발되고 도입됨에 따라 최근에 상당히 증가하였다. 특히, 많은 공간 및 상호작용 서비스들, 애플리케이션들, 및 경험들이 사용자들에게 더 몰두형 및 몰입형의 경험을 제공하도록 개발되고 있다.
그러한 애플리케이션들의 예들은 빠르게 주류가 되고 있는 가상 현실(VR), 증강 현실(AR), 및 혼합 현실(MR) 애플리케이션들이며, 다수의 솔루션들이 소비자 시장을 목표로 한다. 다수의 표준들이 또한 다수의 표준화 기구들에 의해 개발 중에 있다. 그러한 표준화 활동들은, 예를 들어 스트리밍, 브로드캐스팅, 렌더링 등을 포함한 VR/AR/MR 시스템들의 다양한 태양들에 대한 표준들을 활발하게 개발하고 있다.
VR 애플리케이션들은 상이한 세계/환경/장면에 있는 사용자에 대응하는 사용자 경험들을 제공하는 경향이 있는 반면, AR(혼합 현실(MR)을 포함함) 애플리케이션들은 현재 환경에 있는 사용자에 대응하지만 추가적인 정보 또는 가상 객체들 또는 정보가 추가된 사용자 경험들을 제공하는 경향이 있다. 이에 따라, VR 애플리케이션들은 완전 몰입형의 합성적으로 생성된 세계/장면을 제공하는 경향이 있는 반면, AR 애플리케이션들은 사용자가 물리적으로 존재하는 실제 장면에 오버레이된 부분 합성 세계/장면을 제공하는 경향이 있다. 그러나, 그 용어들은 종종 상호 교환적으로 사용되고 겹치는 정도가 높다. 하기에서, 용어 '가상 현실/VR'은 가상 현실 및 증강/혼합 현실 둘 모두를 나타내는 데 사용될 것이다.
예컨대 VR 경험을 제공하기 위해 사용자 측 적응을 허용하는 유연한 표현을 제공할 수 있도록 환경을, 그리고 구체적으로 오디오 환경을 설명하는 시청각 데이터를, 그리고 구체적으로 오디오 데이터를 통신하는 것은 매우 어려운 작업이다. 통신된 데이터는 바람직하게는 그것이 (가상) 청취 위치에 있어서의 변화 및 환경 자체에 있어서의 변화를 반영하는 동적 경험을 렌더링하기 위해 로컬에서 사용될 수 있도록 환경을 설명해야 한다.
그러한 환경을 설명하는 데이터의 효율적인 통신을 위한 유리한 접근법을 도출하기 위해 많은 양의 연구가 진행되었다. 적합한 데이터 스트림 및 포맷에 대한 다양한 제안들이 제시되었으며, 이들 중 대부분은 개별 오디오 소스들이 개별적으로 제시되는 개별화된 모델을 포함하고, 연관된 메타데이터는 오디오 소스의 위치 등과 같은 다양한 특성을 설명한다. 또한, 잔향, 감쇠 등을 설명하는 데이터와 같은, 오디오 환경을 설명하는 몇몇 일반 데이터가 제공될 수 있다.
그러나, 그러한 정보의 효율적인(예를 들어, 데이터 레이트가 감소된) 통신을 제공하는 비트스트림 포맷을 정의하는 것은 매우 어렵고, 많은 문제, 특징 및 트레이드-오프가 유리한 접근법을 달성하기 위해 신중하게 고려되고 균형이 잡혀야 한다. MPEG(Moving Picture Experts Group)는 VR 및 유사한 환경에 적합한 비트스트림에 대한 MPEG-I로 알려진 표준을 개발하기 위한 표준화 접근법을 시작했다.
따라서, VR 및 AR과 같은 몰입형 애플리케이션 및 서비스에서 오디오를 지원하기 위한 개선된 접근법 및 데이터 포맷/비트스트림이 유리할 것이다. 특히, 개선된 동작, 증가된 유연성, 감소된 복잡성, 용이한 구현, 개선된 오디오 경험, 감소된 복잡성, 감소된 계산 부담, 개선된 오디오 품질, 감소된 데이터 레이트, 개선된 트레이드-오프, 및/또는 개선된 성능 및/또는 동작을 허용하는 접근법/비트스트림/포맷이 유리할 것이다.
따라서, 본 발명은 전술한 불리한 점들 중 하나 이상을 단독으로 또는 임의의 조합으로 바람직하게 완화, 경감 또는 제거하고자 한다.
본 발명의 태양 및 선택적인 특징에 따르면, 비트스트림을 생성하기 위한 장치로서, 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 생성하도록 배열된 메타데이터 생성기로서, 메타데이터는 환경에 대한 음향 환경 데이터를 포함하고, 음향 환경 데이터는 환경 내의 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 음향 환경 데이터 중 적어도 일부는 환경 내의 복수의 청취 포즈들에 적용가능하고, 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 메타데이터 생성기; 및 메타데이터를 포함하도록 비트스트림을 생성하도록 배열된 비트스트림 생성기를 포함하며, 음향 환경 데이터는 주파수 범위의 주파수 하위 범위들로의 세분인 주파수 그리드를 설명하는 데이터 그룹, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하고, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함하고, 데이터 그룹은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함하며, 데이터 그룹은 미리 결정된 디폴트 그리드의 표시를 제공하는 데이터; 주파수 그리드의 적어도 일부 하위 범위들에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터; 및 개별 주파수들을 나타내는 데이터 중 적어도 하나를 포함하는, 장치가 제공된다.
접근법은 몰입형이고, 유연하고, 가변적인 시청각 애플리케이션을 포함한 많은 애플리케이션을 위한, 이를테면 예를 들어 많은 VR 및 AR 애플리케이션을 위한 개선된 성능 및 동작을 제공할 수 있다. 접근법은 많은 시나리오에서의 상이한 욕구들 간의, 예컨대 환경에 대한 정확한, 완전한, 그리고/또는 동적인 데이터를 제공하려는 욕구와 낮은 데이터 레이트로 비트스트림을 제공하려는 욕구 간의 개선된 트레이드-오프를 제공할 수 있다. 접근법은 많은 시나리오에서 렌더링측 적응 및 맞춤화를 용이하게 하거나, 개선하거나, 심지어 가능하게 할 수 있는 고도의 유연성을 제공할 수 있다. 접근법은 환경의 오디오의 렌더링을 용이하게 하고/하거나 개선할 수 있으며, 구체적으로 변화하는 환경의 그리고/또는 변화하는 청취 위치에 대한 동적 렌더링을 용이하게 하고/하거나 개선할 수 있다.
접근법은 구체적으로 동적 애플리케이션에 특히 적합한 신중하게 적응된 시청각 비트스트림을 제공할 수 있으며, 여기서 비트스트림은 환경의 그리고 잠재적으로는 환경 내의 개별 객체의 오디오 소스 및 음향 특성 둘 모두를 포함하는 오디오 환경의 신중하게 선택된 그리고 적어도 부분적으로 최적화된 데이터 표현을 제공한다.
몇몇 실시예에서, 장치는 환경 내의 오디오 소스를 표현하는 복수의 오디오 요소에 대한 오디오 데이터를 생성하도록 배열된 오디오 데이터 생성기를 추가로 포함할 수 있고, 비트스트림 생성기는 비트스트림에 오디오 데이터를 포함하도록 배열될 수 있다.
정적 특성은 (적어도 특성 값이 제공되는 시간 간격 동안) 시간 불변 특성일 수 있다. 동적 특성은 (적어도 특성 값이 제공되는 시간 간격 동안) 시간 가변 특성일 수 있다.
많은 실시예에서, 적어도 하나의 특성은 위치 및 배향 의존적이다. 많은 실시예에서, 적어도 하나의 특성에 대한 음향 환경 데이터는 위치 및/또는 배향 의존성을 나타낸다. 위치 및/또는 배향 의존성은 오디오 소스의 배향 및/또는 위치에 대한, 그리고/또는 청취자 포즈의 배향 및/또는 위치에 대한 의존성일 수 있다.
몇몇 실시예에서, 음향 환경 데이터는 복수의 순차적 데이터 그룹으로 분할된 비트스트림에 있으며, 적어도 몇몇 그룹들 중의 각각의 그룹은 사운드 전파에 영향을 미치는 특성들 중의 특성에 대한 특성 값을 제공한다.
본 발명의 선택적인 특징에 따르면, 음향 환경 데이터는 사운드 전파에 영향을 미치는 특성들 중의 적어도 하나의 특성에 대한 특성 값들의 표현의 적어도 일부에 대한 데이터 포맷을 설명하는 데이터 그룹, 및 표현을 사용하여 적어도 하나의 특성 값을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함한다.
몇몇 실시예에서, 음향 환경 데이터는 사운드 전파에 영향을 미치는 특성들 중의 특성에 대한 데이터 포맷을 설명하는 데이터 그룹, 및 데이터 포맷에 따라 특성에 대한 특성 값을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹을 포함한다.
데이터 그룹은 하나 이상의 데이터 값일 수 있으며, 구체적으로 비트들의 세트일 수 있다. 데이터 그룹은 데이터의 세트일 수 있으며, 구체적으로 비트스트림의 하나 이상의 데이터 필드일 수 있다.
몇몇 실시예에서, 음향 환경 데이터는 주파수 그리드를 설명하는 데이터 그룹, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹을 포함한다.
주파수 그리드는, 예컨대 주파수 하위 범위의 중심 주파수를 정의하는 것에 의한, 주파수 범위의 주파수 하위 범위로의 세분이다.
몇몇 실시예에서, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함한다.
몇몇 실시예에서, 데이터 그룹은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함한다.
몇몇 실시예에서, 음향 환경 데이터는 주파수 그리드를 설명하는 데이터 그룹, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하고, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함하고, 데이터 그룹은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함한다.
몇몇 실시예에서, 데이터 그룹은 미리 결정된 디폴트 그리드의 표시를 제공하는 데이터; 주파수 그리드의 적어도 일부 하위 범위들에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터; 및 개별 주파수들을 나타내는 데이터 중 적어도 하나를 포함한다.
데이터 그룹의 데이터에 의해 표시된 적어도 하나의 하위 범위 또는 개별 주파수는 옥타브 대역의 분수와 정렬된다.
몇몇 실시예에서, 음향 환경 데이터는 배향 특성들을 표현하기 위한 배향 표현 포맷을 설명하는 데이터 그룹, 및 배향 표현 포맷을 사용하여 특성들 중의 배향 특성을 설명하는 데이터를 포함하는 적어도 하나의 데이터 그룹을 포함한다.
비트스트림은 비트스트림이 배향 표현 포맷을 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함할 수 있다.
몇몇 실시예에서, 데이터 그룹은 미리 결정된 디폴트 배향 표현의 표시를 제공하는 데이터; 미리 결정된 각도들의 세트를 나타내는 데이터; 및 양자화된 그리드 상의 각도들을 나타내는 데이터 중 적어도 하나를 포함한다.
본 발명의 선택적인 특징에 따르면, 음향 환경 데이터는 배향 특성들을 표현하기 위한 배향 표현 포맷을 설명하는 데이터 그룹, 및 배향 표현 포맷을 사용하여 특성들 중의 배향 특성을 설명하는 데이터를 포함하는 적어도 하나의 데이터 그룹을 포함하며, 데이터 그룹은 미리 결정된 디폴트 배향 표현의 표시를 제공하는 데이터; 미리 결정된 각도들의 세트를 나타내는 데이터; 및 양자화된 그리드 상의 각도들을 나타내는 데이터 중 적어도 하나를 포함한다.
본 발명의 선택적인 특징에 따르면, 음향 환경 데이터는 사운드 전파에 영향을 미치는 특성들 중의 제1 특성의 값을 표현하는 제1 비트들에 대한 제1 데이터 필드, 및 음향 환경 데이터가 제1 특성의 값을 표현하는 제2 비트들에 대한 확장 데이터 필드를 포함하는지의 표시를 위한 제2 데이터 필드를 포함한다.
본 발명의 선택적인 특징에 따르면, 제2 비트들은 제1 특성에 대한 가능한 값들의 범위를 확장한다.
제2 비트들은 제1 비트들보다 제1 특성의 값을 표현하는 데이터 워드의 더 중요한 비트들일 수 있다.
본 발명의 선택적인 특징에 따르면, 제2 비트들은 제1 특성에 대한 가능한 값들의 해상도를 증가시킨다.
제2 비트들은 제1 비트들보다 제1 특성의 값을 표현하는 데이터 워드의 덜 중요한 비트들일 수 있다. 제2 비트들은 제1 특성에 대한 가능한 값들의 정확도를 확장할 수 있다.
몇몇 실시예에서, 제1 특성은 시간 특성; 공간 특성; 양; 이득 특성; 볼륨 특성; 주파수 특성; 인덱스 특성; 및 아이덴티티 특성을 포함하는 그룹으로부터의 특성이다.
본 발명의 선택적인 특징에 따르면, 메타데이터 생성기(203)는, 환경이 공간적으로 제약된 환경이라는 전역적 표시자를 포함하도록 음향 환경 데이터를 생성하고, 환경이 공간적으로 제약됨을 나타내는 전역적 표시자에 대한 데이터 값들에 대한 미리 결정된 제한된 포맷을 준수하도록 음향 환경 데이터의 (적어도 하나의) 데이터 값(들)을 제한하도록 배열된다.
공간적으로 제한된 환경은 임계 값 아래의 공간 확장을 갖는 환경일 수 있다. 미리 결정된 제한된 포맷은 환경이 공간적으로 제한된 환경이 아닌 경우 비트스트림에 대해 사용되는 데이터 포맷보다 더 적은 비트를 사용하는 사운드 전파에 영향을 미치는 적어도 몇몇 특성 값에 대한 데이터 포맷일 수 있다.
전역적 표시자는 선택적인 표시자일 수 있다. 몇몇 실시예에서, 전역적 표시자는 환경이 공간적으로 제약된 환경인지 또는 덜 공간적으로 제약된 환경(또는 공간적으로 제약되지 않은 환경)인지를 나타낼 수 있다.
몇몇 실시예에서, 음향 환경 데이터는 적어도 제1 오디오 요소에 대한 애니메이션 표시를 포함하며, 애니메이션 표시는 제1 오디오 요소에 대한 적어도 하나의 특성이 시간 간격 동안 변하는지를 나타낸다.
본 발명의 선택적인 특징에 따르면, 음향 환경 데이터는 적어도 제1 오디오 요소에 대한 애니메이션 표시를 포함하고, 애니메이션 표시는 제1 오디오 요소에 대한 적어도 하나의 특성이 시간 간격 동안 변하는지를 나타내며, 제1 오디오 요소가 적어도 하나의 가변 특성을 갖는다는 애니메이션 표시를 위한 음향 환경 데이터는 적어도 하나의 가변 특성의 변화를 설명하는 데이터를 포함한다.
몇몇 실시예에서, 애니메이션 표시가 제1 오디오 요소에 대한 적어도 하나의 특성이 시간 간격 동안 변한다는 것을 나타내는 경우, 음향 환경 데이터는 적어도 2개의 특성인 경우 각각에 대한 추가 애니메이션 표시들을 추가로 포함하며, 추가 애니메이션 표시들은 대응하는 특성이 애니메이션되는지 여부를 나타내고, 애니메이션 표시가 제1 오디오 요소에 대한 특성이 시간 간격 동안 변하지 않는다는 것을 나타내는 경우, 음향 환경 데이터는 적어도 2개의 특성에 대한 추가 애니메이션 표시들을 포함하지 않는다.
몇몇 실시예에서, 애니메이션 표시가 제1 오디오 요소에 대한 적어도 하나의 특성이 시간 간격 동안 변한다는 것을 나타내고 있는 경우, 대응하는 특성이 애니메이션되는지를 나타내는 추가 애니메이션 표시들이 적어도 2개의 특성에 대해 존재하며, 애니메이션 표시가 제1 오디오 요소에 대한 적어도 하나의 특성이 시간 간격 동안 변하지 않는다는 것을 나타내고 있을 때 추가 애니메이션 표시들은 제외된다.
몇몇 실시예에서, 음향 환경 데이터는 시간 간격 동안의 적어도 하나의 가변 특성에 대한 적어도 2개의 값, 및 적어도 2개의 값 사이를 보간하기 위한 시간적 보간을 설명하는 보간 데이터를 포함한다.
본 발명의 선택적인 특징에 따르면, 오디오 요소들은 다수의 사운드 효과 요소들을 포함하고, 음향 환경 데이터는 환경에 대한 사용자 제어 변경을 다수의 사운드 효과 요소들 중의 제1 사운드 효과 요소와 연결하는 데이터를 포함한다.
몇몇 실시예에서, 음향 환경 데이터는 연속적인 데이터 세트들로 배열되며, 각각의 데이터 세트는 시간 간격에 대한 데이터를 포함한다.
상이한 데이터 세트들에 대한 시간 간격들은 상이하다.
본 발명의 선택적인 특징에 따르면, 음향 환경 데이터는 연속적인 데이터 세트들로 배열되고, 각각의 데이터 세트는 시간 간격에 대한 데이터를 포함하고, 연속적인 데이터 세트들 중의 제1 데이터 세트는 사운드에 영향을 미치는 특성들 중의 적어도 하나의 특성에 대한 제1 특성 값 및 제1 특성 값에 대한 시간 표시를 포함하고, 시간 표시는 제1 데이터 세트에 의해 표현되는 시간 간격 내의 시간을 나타낸다.
몇몇 실시예에서, 연속 데이터 세트들 중의 제1 데이터 세트는 사운드에 영향을 미치는 특성들 중의 적어도 하나의 특성에 대한 적어도 2개의 특성 값 및 적어도 2개의 특성 값에 대한 시간 표시를 포함하며, 시간 표시는 제1 데이터 세트에 의해 표현되는 시간 간격 내의 시간들을 나타낸다.
본 발명의 선택적인 특징에 따르면, 음향 환경 데이터는 연속적인 데이터 세트들로 배열되고, 각각의 데이터 세트는 시간 간격에 대한 데이터를 포함하고, 비트스트림 생성기(203)는, 사운드 전파에 영향을 미치는 특성들 중의 제1 특성에 대한 특성 값이 제1 데이터 세트에 의해 표현되는 시간 간격 내의 디폴트 시간 동안 제공되는지를 결정하고, 만약 그렇다면 시간 표시 없이 제1 특성 값을 제1 데이터 세트에 포함시키고, 만약 그렇지 않다면 제1 특성 값에 대한 시간 표시와 함께 제1 특성 값을 제1 데이터 세트에 포함시키도록 배열된다.
몇몇 실시예에서, 음향 환경 데이터는 환경의 오디오를 렌더링하는 데 요구되는 모든 데이터를 포함하는 몇몇 완전한 렌더링 데이터 세트들; 및 환경의 오디오를 렌더링하기 위해 다른 데이터 세트들로부터의 데이터를 추가적으로 요구하는 몇몇 부분적 렌더링 데이터 세트들을 포함한다.
몇몇 실시예에서, 환경의 적어도 몇몇 요소에 대한 음향 환경 데이터는 환경에 대한 장면 그래프의 요소에 대한 아이덴티티 데이터 및 부모 아이덴티티 데이터를 포함한다.
적어도 몇몇 요소는 예를 들어 객체, 오디오 소스(오디오 요소) 및/또는 환경의 음향 특징일 수 있다.
본 발명의 선택적인 특징에 따르면, 제1 오디오 요소에 대한 음향 환경 데이터는 사운드 전파에 영향을 미치는 특성들 중의 제1 특성에 대한 제1 특성 값에 대한 적용가능한 제1 영역 및 적용가능한 제2 영역의 표시를 포함하며, 적용가능한 제1 영역은 제1 특성 값이 적용되는 제1 오디오 요소의 위치에 대한 영역을 나타내고, 적용가능한 제2 영역은 제1 특성 값이 적용되는 청취 위치에 대한 영역을 나타낸다.
본 발명의 다른 태양에 따르면, 렌더링된 오디오를 생성하기 위한 장치로서, 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터를 수신하도록 배열된 제1 수신기(303); 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림을 수신하도록 배열된 제2 수신기(305)로서, 메타데이터는 환경에 대한 음향 환경 데이터를 포함하고, 음향 환경 데이터는 환경 내의 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 음향 환경 데이터 중 적어도 일부는 환경 내의 복수의 청취 포즈들에 적용가능하고, 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 제2 수신기(305); 오디오 데이터 및 음향 환경 데이터에 응답하여 환경에 대한 출력 오디오 데이터를 생성하도록 배열된 렌더러(307)를 포함하며, 음향 환경 데이터는 주파수 범위의 주파수 하위 범위들로의 세분인 주파수 그리드를 설명하는 데이터 그룹, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하고, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함하고, 데이터 그룹은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함하며, 데이터 그룹은 미리 결정된 디폴트 그리드의 표시를 제공하는 데이터; 주파수 그리드의 적어도 일부 하위 범위들에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터; 및 개별 주파수들을 나타내는 데이터 중 적어도 하나를 포함하는, 장치가 제공된다.
본 발명의 다른 태양에 따르면, 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림으로서, 메타데이터는 환경에 대한 음향 환경 데이터를 포함하고, 음향 환경 데이터는 환경 내의 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 음향 환경 데이터 중 적어도 일부는 환경 내의 복수의 청취 포즈들에 적용가능하고, 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하며, 음향 환경 데이터는 주파수 범위의 주파수 하위 범위들로의 세분인 주파수 그리드를 설명하는 데이터 그룹, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하고, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함하고, 데이터 그룹은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함하며, 데이터 그룹은 미리 결정된 디폴트 그리드의 표시를 제공하는 데이터; 주파수 그리드의 적어도 일부 하위 범위들에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터; 및 개별 주파수들을 나타내는 데이터 중 적어도 하나를 포함하는, 비트스트림이 제공된다.
본 발명의 다른 태양에 따르면, 비트스트림을 생성하는 방법으로서, 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 생성하는 단계로서, 메타데이터는 환경에 대한 음향 환경 데이터를 포함하고, 음향 환경 데이터는 환경 내의 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 음향 환경 데이터 중 적어도 일부는 환경 내의 복수의 청취 포즈들에 적용가능하고, 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 생성하는 단계; 및 메타데이터를 포함하도록 비트스트림을 생성하는 단계를 포함하며, 음향 환경 데이터는 주파수 범위의 주파수 하위 범위들로의 세분인 주파수 그리드를 설명하는 데이터 그룹, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하고, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함하고, 데이터 그룹은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함하며, 데이터 그룹은 미리 결정된 디폴트 그리드의 표시를 제공하는 데이터; 주파수 그리드의 적어도 일부 하위 범위들에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터; 및 개별 주파수들을 나타내는 데이터 중 적어도 하나를 포함하는, 방법이 제공된다.
본 발명의 다른 태양에 따르면, 렌더링된 오디오를 생성하는 방법으로서, 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터를 수신하는 단계; 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림을 수신하는 단계로서, 메타데이터는 환경에 대한 음향 환경 데이터를 포함하고, 음향 환경 데이터는 환경 내의 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 음향 환경 데이터 중 적어도 일부는 환경 내의 복수의 청취 포즈들에 적용가능하고, 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림을 수신하는 단계; 및 오디오 데이터 및 음향 환경 데이터에 응답하여 환경에 대한 출력 오디오 데이터를 생성하는 단계를 포함하며, 음향 환경 데이터는 주파수 범위의 주파수 하위 범위들로의 세분인 주파수 그리드를 설명하는 데이터 그룹, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하고, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함하고, 데이터 그룹은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함하며, 데이터 그룹은 미리 결정된 디폴트 그리드의 표시를 제공하는 데이터; 주파수 그리드의 적어도 일부 하위 범위들에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터; 및 개별 주파수들을 나타내는 데이터 중 적어도 하나를 포함하는, 방법이 제공된다.
본 발명의 이들 및 다른 태양들, 특징들 및 이점들이 이하에 설명되는 실시예(들)로부터 명백할 것이며 그것을 참조하여 설명될 것이다.
본 발명의 실시예들이 도면을 참조하여 단지 예로서 설명될 것이다.
도 1은 시청각 배포 시스템의 예를 예시한다.
도 2는 본 발명의 몇몇 실시예에 따른 인코딩 장치의 요소들의 예를 예시한다.
도 3은 본 발명의 몇몇 실시예에 따른 디코딩 장치의 요소들의 예를 예시한다.
도 4는 본 발명의 몇몇 실시예에 따른 비트스트림에 대한 데이터 구조를 예시한다.
도 5는 본 발명의 몇몇 실시예에 따른 비트스트림에 표현된 가변 특성 값의 예를 예시한다.
도 6은 본 발명의 몇몇 실시예에 따른 비트스트림에 대한 데이터 구조를 예시한다.
이하의 설명은 가상 현실, VR 애플리케이션과 같은 시청각 애플리케이션에 초점을 맞출 것이지만, 설명된 원리들 및 개념들은 많은 다른 애플리케이션들 및 실시예들에서 사용될 수 있다는 것이 인식될 것이다.
이하의 설명은 환경의 오디오의 표현을 제공하는 비트스트림의 생성에 초점을 맞출 것이다. 많은 예에서, 오디오 표현은 시각적 환경의 표현에 의해 보완되며, VR 애플리케이션은 사용자에게 제시할 오디오 및 비디오 둘 모두를 생성하도록 배열된다. 오디오 표현은 가상 장면/환경의 시각적 표현을 보완할 수 있거나, 비트스트림은 예를 들어 현실 세계 또는 하이브리드 환경의 표현을 제공할 수 있다. 비트스트림은 예를 들어 오디오 소스, 객체 등과 같은 환경/장면의 경우 개별 요소들을 표현하는 데이터를 포함할 수 있다. 또한, 일반적인 음향 또는 시각 데이터(예를 들어, 잔향, 배경 컬러 등을 설명하는 데이터)와 같은 보다 일반적인 정보가 제공될 수 있다.
그러나, 설명된 원리들 및 개념들은 많은 다른 애플리케이션들 및 실시예들에서 사용될 수 있다는 것이 인식될 것이다.
가상 현실 경험은 컴퓨터와 같은 디바이스가 가상 장면에 대한 3차원 오디오 및 비디오를 렌더링하고 그것을 사용자에게 제시함으로써 사용자에 대한 가상 경험을 생성하도록 허용할 수 있다. 사용자는 전형적으로 돌아다닐 수 있고 이에 따라 관찰자/청취 포즈가 동적으로 변할 수 있다. 많은 실시예에서, 가상 장면/환경은 또한 예를 들어 객체가 이동하거나 형상이 변하고 오디오 소스가 상이한 시간에 오디오를 투사하는 동적 장면일 수 있다.
이 분야에서, 용어들 '배치'와 '포즈'는 위치 및/또는 방향/배향에 대한 공통 용어로서 사용된다. 예컨대 객체, 카메라, 머리, 또는 뷰의 위치와 방향/배향의 조합은 포즈 또는 배치로 지칭될 수 있다. 따라서, 배치 또는 포즈 표시는 6개의 값/성분/자유도를 포함할 수 있으며, 각각의 값/성분은 전형적으로 대응하는 객체의 위치/로케이션 또는 배향/방향의 개별 특성을 설명한다. 물론, 많은 상황에서, 예를 들어 하나 이상의 성분이 고정되거나 무관한 것으로 고려되는 경우, 배치 또는 포즈가 더 적은 성분들을 갖는 것으로 고려되거나 더 적은 성분들로 표현될 될 수 있다(예를 들어, 모든 객체가 동일한 높이에 있고 수평 배향을 갖는 것으로 고려되는 경우, 4개의 성분이 객체의 포즈의 완전한 표현을 제공할 수 있다). 하기에서, 용어 '포즈'는 (최대 가능한 자유도에 대응하는) 1개 내지 6개의 값에 의해 표현될 수 있는 위치 및/또는 배향을 지칭하는 데 사용된다. 용어 '포즈'는 용어 '배치'로 대체될 수 있다. 용어 '포즈'는 용어 '위치' 및/또는 '배향'으로 대체될 수 있다. 용어 '포즈'는 용어 '위치' 및 '배향'으로(포즈가 위치 및 배향 둘 모두의 정보를 제공하는 경우), 용어 '위치'로(포즈가 (아마도 단지) 위치의 정보를 제공하는 경우), 또는 '배향'으로(포즈가 (아마도 단지) 배향의 정보를 제공하는 경우) 대체될 수 있다.
많은 접근법에서, VR 애플리케이션은, 예컨대 임의의 원격 VR 서버를 사용하지 않거나 심지어 그에 대한 어떠한 액세스도 갖지 않는 독립형 디바이스에 의해, 관찰자에게 로컬에서 제공될 수 있다. 그러나, 다른 애플리케이션들에서, VR 애플리케이션은 원격 또는 중앙 서버로부터 수신된 데이터에 기초할 수 있다. 예를 들어, 오디오 또는 시각 데이터가 원격 중앙 서버로부터 VR 디바이스에 제공될 수 있고, 원하는 VR 경험을 생성하도록 로컬에서 처리될 수 있다.
도 1은 원격 VR 클라이언트 디바이스(101)가, 예컨대 인터넷과 같은 네트워크(105)를 통해, VR 서버(103)와 연락하는 VR 시스템의 그러한 예를 예시한다. 서버(103)는 잠재적으로 다수의 클라이언트 디바이스들(101)을 동시에 지원하도록 배열될 수 있다.
VR 서버(103)는 예를 들어 가상 환경 및 객체들의 요소들을 정의하는 데이터를 클라이언트 디바이스(101)에 전송함으로써 가상 현실 경험을 지원할 수 있다. 데이터는 구체적으로 사용자에게 제시될 수 있는 그래픽들을 생성하기 위해 클라이언트 디바이스(101)에 의해 사용될 수 있는 다수의 가상 객체들의 시각적 특징들 및 기하학적 특성들을 설명할 수 있다. 몇몇 실시예에서, 데이터는 또한 사용자에게 제시될 수 있는 다양한 정보를 포함할 수 있다. 또한, 서버(103)는 사용자 경험 및 구체적으로 몰입감을 더욱 향상시킬 수 있는 가상 사운드/오디오를 로컬에서 생성하는 데 사용될 수 있는 오디오 데이터를 클라이언트 디바이스(103)에 제공할 수 있다.
하기의 설명은, 전형적으로 환경의 표현 오디오 소스 및 음향 특성 둘 모두를 포함하여, 음향 장면 및 환경의 표현을 제공하는 오디오 비트스트림의 생성에 초점을 맞출 것이다.
도 2는 비트스트림을 생성하기 위한 장치의 예를 예시하며, 구체적으로 장치는 도 1의 서버(103)일 수 있다(그에 포함될 수 있다). 장치는 구체적으로 인코더/전송기 디바이스일 수 있다. 도 3은 도 2의 장치에 의해 생성된 비트스트림과 같은 비트스트림을 수신하고 처리하기 위한 장치의 예를 예시한다. 도 3의 장치는 디코더/수신기일 수 있으며, 구체적으로 도 1의 클라이언트 디바이스(101)일 수 있다(그의 일부일 수 있다). 하기에서, 도 2의 장치는 또한 인코더로 지칭될 것이고, 도 3의 장치는 또한 디코더로 지칭될 것이다.
예에서, 인코더는 오디오 환경을 설명하는 비트스트림을 생성한다. 특정 예에서, 비트스트림은 환경 내의 오디오 소스에 의해 생성된 오디오에 대한 오디오 데이터뿐만 아니라, 전형적으로 개별 오디오 소스에 대한 메타데이터 및 음향 환경에 대한 메타데이터 둘 모두를 포함하는 음향 환경을 설명하는 메타데이터 둘 모두를 포함한다. 그러나, 몇몇 실시예에서, 오디오 데이터와 메타데이터는 별개의 비트스트림들에서 제공될 수 있으며, 구체적으로 오디오 데이터에 대한 메타데이터만을 포함하는 별개의 비트스트림이 생성될 수 있지만, 실제 오디오 데이터는 상이한 비트스트림에서 별개로 제공된다. 실제로, 몇몇 실시예에서, 오디오 데이터는 하나의 소스/제공자로부터 제공될 수 있고, 추가적인 메타데이터는 다른 소스/제공자로부터 제공될 수 있다.
인코더는 환경 내의 오디오 소스를 표현하는 복수의 오디오 요소에 대한 오디오 데이터를 생성하도록 배열된 오디오 데이터 생성기(201)를 포함한다. 오디오 생성기는 예를 들어 개별 오디오 소스 또는 예를 들어 마이크 캡처를 표현하는 오디오 요소로부터의 오디오를 설명하는 수신된 오디오 데이터로부터 오디오 데이터를 생성할 수 있거나, 예를 들어 예컨대 장면에 대한 오디오 모델에 기초하여 오디오 데이터 자체를 생성할 수 있다. 몇몇 실시예에서, 오디오 데이터 생성기(201)는 예를 들어 다양한 오디오 소스로부터의 오디오의 적합한 표현을 포함하는 로컬 저장소로부터 특정 오디오 소스에 대한 오디오 데이터를 추출할 수 있다. 다른 실시예에서, 오디오 데이터는 대안적으로 또는 추가적으로 예를 들어 라이브 오디오를 캡처하는 마이크 입력으로부터 생성될 수 있다.
오디오 데이터 생성기(201)는 임의의 적합한 데이터 포맷을 따르도록 오디오 데이터를 생성할 수 있으며, 임의의 적합한 인코딩 및 표현 등이 사용될 수 있다. 이에 따라, 오디오 데이터는 임의의 적합한 방식으로 생성될 수 있고 임의의 적합한 방식으로 오디오 요소를 표현할 수 있다.
오디오 요소는 오디오 객체, 오디오 클립, 오디오 채널, 일차 또는 고차 앰비소닉(FOA, HOA) 또는 임의의 다른 오디오 요소일 수 있다. 구체적으로, 각각의 오디오 요소는 환경에서 생성될 수 있는 오디오를 특징짓는 오디오 데이터의 세트에 의해 표현될 수 있다. 오디오 데이터는 일반적으로 상이한 오디오 요소에 대한 오디오 데이터의 복수의 세트를 포함하도록 생성되며, 구체적으로 개별 오디오 요소에 의해 표현된 상이한 오디오 소스에 대한 오디오 데이터의 세트를 포함한다.
인코더는 메타데이터를 생성하도록 배열된 메타데이터 생성기(203)를 추가로 포함한다. 메타데이터는 환경에 대한 음향 환경 데이터를 포함하며, 음향 환경 데이터는 환경 내의 오디오 소스에 대한 사운드 전파에 영향을 미치는 특성을 설명한다. 음향 환경 데이터의 특성은 환경의 음향 특성(이를테면 예컨대 잔향, 반사 특성 등), 사운드 전파에 영향을 미칠 수 있는 환경 내의 객체의 특성(예컨대 객체의 위치, 배향, 크기, 재료, 감쇠, 반사 등), 또는 오디오 소스/오디오 요소의 특성(예컨대 위치, 배향, 크기, 볼륨 등)을 포함할 수 있다.
비트스트림은 환경 내의 인식된 오디오에 영향을 미치는 상이한 특성에 대한 특성 값의 표시를 함께 제공하는 몇몇 데이터 심볼/비트의 데이터 그룹을 포함할 수 있다. 예를 들어 음향 환경 데이터의 다른 데이터에 대한 보조 파라미터 또는 포맷을 정의하는 것을 포함하는 다양한 다른 데이터를 제공하는 데이터 그룹이 또한 포함될 수 있다.
데이터 그룹은 단순히 데이터 값/포맷 등을 나타내는 비트들의 시퀀스일 수 있거나, 적절한 정보를 제공하는 데이터의 더 복잡한 조합일 수 있다. 데이터 그룹은 예를 들어 많은 시나리오에서 비트스트림의 하나 이상의 데이터 필드에 대응하는 것으로 간주될 수 있다. 데이터 필드는 하위 데이터 필드를 포함할 수 있는데, 즉 그 자체가 데이터 필드들의 조합인 데이터 필드들의 계층적 배열이 적용될 수 있다.
음향 환경 데이터는 예를 들어 오디오 요소에 의해 표현되는 하나 이상의 오디오 소스의 포즈(위치 및/또는 배향), 예를 들어 (아마도 주파수 의존적인) 감쇠, 잔향 특성, 음파 진행에 영향을 미칠 수 있는 객체의 기하학적 구조를 포함하는 환경의 또는 환경 내의 개별 객체의 음향 특성, 재료 특성, 예컨대 음향 흡수, -반사, -산란, -결합 또는 전송 파라미터, 신호 기준, 기준 거리, 렌더링 제어 플래그, 사운드 효과 특성, 사용자 상호작용 메타데이터 등을 설명하는 메타데이터를 포함할 수 있다.
음향 환경 데이터는 복수의 청취 포즈에 적용가능할 수 있는 데이터를 포함하며, 구체적으로 렌더러가 오디오 요소의 렌더링을 그것이 상이한 청취자 포즈에 대해(그리고 구체적으로 상이한 위치 및/또는 배향에 대해) 달라지도록(상이하도록) 적응시키는 데 사용할 수 있는 데이터를 포함할 수 있다. 게다가, 음향 환경 데이터는 정적 특성 및 동적 특성 둘 모두에 대한 데이터를 포함할 수 있다. 구체적으로, 음향 환경 데이터는, 시간 독립적이고 적어도 데이터가 제공되는 시간 간격에서의 시간 불변 특성(값)을 설명하는 데이터를 포함할 수 있다(이에 따라 그러한 특성은 정적일 수 있다). 음향 환경 데이터는, 시간 의존적이고 적어도 데이터가 제공되는 시간 간격에서의 시간 가변 특성(값)을 설명하는 데이터를 추가로 포함할 수 있다(이에 따라 그러한 특성은 동적일 수 있다). 적어도 하나의 특성에 대해, 음향 환경 데이터는 특성(특성의 값)의 시간 변화를 설명하는 데이터를 포함할 수 있다. 특성은 오디오 소스, 오디오 요소, 및/또는 환경에서의 음향/사운드 전파 중 하나의 특성일 수 있다.
인코더는 오디오 데이터 및 메타데이터(또는 몇몇 실시예에서 메타데이터만)를 포함하는 비트스트림을 생성하도록 배열된 비트스트림 생성기(205)를 추가로 포함한다. 비트스트림은 나중에 상세히 설명될 특정 데이터 포맷의 하나 이상의 태양 및 특징을 충족시키도록 생성될 수 있다.
비트스트림 생성기(205)는 생성된 비트스트림을 출력하도록 배열된 출력 프로세서(207)에 결합된다. 출력 프로세서(207)는 특정 애플리케이션에 대해 요구되는 바와 같은 비트스트림을 통신하기 위한 요구되는 기능을 포함할 수 있다. 예를 들어, 출력 프로세서는 네트워크 인터페이스, 라디오 기능, 와이파이 회로부, 인터넷 결합 기능 등을 포함할 수 있다.
도 3에 예시된 디코더는 인코더에 의해 생성된 비트스트림을 수신하도록 배열된 수신기 또는 입력 프로세서(301)를 포함한다. 입력 프로세서(301)는 특정 애플리케이션에 대해 요구되는 바와 같은 비트스트림을 수신하기 위한 요구되는 기능을 포함할 수 있다. 예를 들어, 입력 프로세서(301)는 네트워크 인터페이스, 라디오 기능, 와이파이 회로부, 인터넷 결합 기능 등을 포함할 수 있다. 그것은 많은 실시예에서 인코더의 출력 프로세서(207)의 기능에 대한 상보적 기능을 포함할 수 있다.
입력 프로세서(301)는 비트스트림으로부터 오디오 데이터를 추출하도록 배열된 오디오 데이터 프로세서(303)에 결합된다. 이에 따라, 오디오 데이터 프로세서(303)는 환경의 다수의 오디오 요소를 표현하는 오디오 데이터를 추출하고, 많은 경우에, 처리하도록 배열된다. 전형적으로, 각각의 오디오 요소는 환경 내의 하나 이상의 오디오 소스에 대응할 수 있다.
설명된 예에서, 비트스트림은 오디오 요소를 설명하는 오디오 데이터를 포함한다. 다른 실시예에서, 오디오 데이터는 비트스트림에 포함되지 않을 수 있지만, 아마도 디코더/클라이언트 디바이스의 내부 소스로부터를 포함하여, 다른 소스로부터 수신될 수 있다. 예를 들어, 내부 메모리가 오디오 데이터를 저장할 수 있고, 서버(103)는 이를테면 예를 들어 오디오 소스가 환경에서 이동하는 동적 애니메이션을 제시하기 위해 오디오를 향상시키는 정보를 제공함으로써 향상된 경험을 제공할 수 있는 추가적인 메타데이터를 제공할 수 있다. 몇몇 실시예에서, 입력 프로세서(301)는 서버와는 상이한 외부 소스로부터 오디오 데이터를 수신하도록 배열될 수 있는데, 예를 들어 그것은 메타데이터를 제공하는 서버(103)와는 상이한 서버에 의해 제공되는 상이한 비트스트림의 일부로서 수신될 수 있다.
디코더는 비트스트림으로부터 메타데이터를 추출하도록 배열된 메타데이터 프로세서(305)를 추가로 포함한다. 이에 따라, 메타데이터 프로세서(305)는 오디오 요소/환경에 대한 메타데이터를 추출하고, 많은 경우에, 처리하도록 배열된다. 메타데이터 프로세서(305)는 데이터를 추출하도록, 그리고 메타데이터에 의해 설명되는 특성들 중 하나, 그 초과, 또는 전부에 대한 적절한 특성 값을 생성하도록 배열될 수 있다.
예에서의 디코더는 메타데이터 및 특성 값에 기초하여 오디오 데이터를 처리하기 위한 프로세서를 포함한다. 구체적으로, 디코더는 메타데이터에 의해 표현되는 특성들 중 적어도 하나의 특성 값에 기초하여 하나 이상의 오디오 요소를 렌더링하도록 배열된 렌더러(307)를 포함할 수 있으며, 특성 값은 메타데이터로부터 결정된다. 전형적으로, 렌더러(307)는 메타데이터에 기초하여, 이를테면 예를 들어 메타데이터에 의해 결정되는 포즈(및 그에 있어서의 변화)로, 환경 및 그 안의 객체를 설명하는 메타데이터에 기초한 주파수 의존 감쇠로, 메타데이터에 의해 설명되는 바와 같은 환경의 잔향 특성을 표현하는 잔향 등으로 오디오 요소들 중 하나 이상을 렌더링함으로써 환경에 대응하는 오디오 장면을 렌더링하도록 배열될 수 있다.
(예를 들어, HRTF 렌더링, 잔향 모델링 등을 포함하여) 환경 및 컨텍스트 데이터에 기초하여 오디오 데이터를 렌더링하기 위한 많은 알고리즘, 접근법, 및 기술이 기술자에게 알려져 있다는 것이 인식될 것이며, 간략함 및 명료함을 위해 이것은 본 명세서에서 더 상세히 설명되지 않을 것이다.
인코더는 하기에서 설명될 특징들 및 태양들 중 하나 이상을 포함하는 데이터 포맷에 따라 비트스트림을 생성하도록 배열되고, 디코더는 그 비트스트림을 수신, 디코딩, 및 처리하도록 배열된다. 접근법은 특정한 특징들 및 특성들의 대부분 또는 전부를 포함할 수 있는 특정한 비트스트림/포맷을 참조하여 설명될 것이지만, 많은 실시예에서 예를 들어 몇몇 특징들 또는 접근법들만을 포함할 수 있는 비트스트림이 생성될 것임이 인식될 것이다. 실제로, 설명되는 비트스트림의 상이한 특징들 및 요소들은 함께 사용되도록 제한되는 것이 아니라, 오히려 개별적으로 사용될 수 있는 또는 다른 설명된 특징들과 임의의 방식으로 조합될 수 있는 개별 특징들이다.
특정 예에서, 음향 환경 데이터가 연속적인 데이터 세트(데이터 세트는 또한 데이터 프레임으로 지칭될 수 있음)로 배열되는 메타데이터 비트스트림이 생성되며, 각각의 데이터 세트는 시간 간격에 대한 데이터를 포함한다. 음향 환경 데이터는 시간 간격에 대한 데이터 값들이 함께 그룹화되도록, 그리고 구체적으로 그것이 연속적인 데이터 세트로서 함께 그룹화될 수 있도록 배열될 수 있으며, 여기서 단일 시간 간격에만 적용되는 모든 인코딩된 오디오 데이터 스트림은 그 데이터 세트에 포함되며, 데이터 세트는 단일 시간 간격과는 상이한 시간 간격에만 적용되는 임의의 음향 환경 데이터를 포함하지 않는다. 주어진 시간 간격에 고유한 모든 데이터를 검색하기 위해, 디코더는 그 데이터 세트만 디코딩하면 된다. 몇몇 실시예에서, 주어진 시간 간격에 대한 음향 환경 데이터는 또한 다른 시간 간격에 적용될 수 있으며(예를 들어, 몇몇 정적 음향 환경 데이터는 모든 시간 간격에 적용될 수 있음), 그러한 다중 간격 데이터는 시간 간격들 중 하나에 대한 데이터 세트에, 시간 간격들 중 하나 초과에 대한 데이터 세트에, 모든 데이터 세트에, 또는 실제로 데이터 세트 밖에, 이를테면 예를 들어 개별 시간 간격들에 대한 데이터 세트들과는 별개로 제공되는 공통 데이터 세트에 포함될 수 있다.
이에 따라 비트스트림은 상이한 시간 간격들에 대한 데이터 세트들을 포함할 수 있다. 하기에서, 각각의 데이터 세트는 또한 비트스트림에 대한 데이터 포인트로 지칭될 것이다.
종종 상대적으로 정적이고, 특성(예를 들어, 위치, 배향, 신호 이득)의 애니메이션/변화가 상대적으로 느린 메타데이터를 포함할 수 있는 메타데이터 비트스트림이 생성될 수 있다. 따라서, 예에서, 비트스트림은 몇 밀리초의 범위의 지속기간을 갖는 프레임들로 조직화되는 것이 아니라, 오히려 훨씬 더 큰 시간 스케일의 시간 간격을 표현하는 데이터 세트들 또는 데이터 포인트들로 조직화된다. 데이터 세트/데이터 포인트에 대한 시간 간격은 예를 들어 0.5초, 1초, 2초, 또는 심지어 5초 이상일 수 있다.
비트스트림은 무작위로 튜닝될 때 또는 비트스트림들이 스플라이싱될 때 비트스트림을 디코딩하는 것을 시작하기에 충분한 데이터를 포함하는 독립 데이터 포인트를 포함할 수 있다. 그러한 독립 데이터 포인트 내의 데이터는 임의의 이전 데이터 포인트로부터의 임의의 데이터에 의존하고 있지 않다. 접근법을 사용하는 비트스트림의 예가 도 4에 예시된다.
각각의 데이터 세트/포인트에 의해 표현되는 시간 간격의 지속기간은 유연할 수 있으며 그룹들 간에 다를 수 있다. 그것은 전형적으로 수 초 정도일 수 있다. 데이터 포인트는, 구체적으로 데이터 포인트에 대한 시작 포인트, 종료 포인트, 또는 중간 포인트일 수 있는, 타임 스탬프에 대해 정의될 수 있다. 데이터 포인트의 메타데이터는 시간 간격에 대한 음향 환경 데이터의 특성에 대한 데이터(예컨대, 구체적으로 특정한 특성 값을 나타내는 데이터)를 표현할 수 있다. 예를 들어, 표시된 값은 시간 간격의 끝(예를 들어, 다음 데이터 포인트가 이어지는 곳, 또는 장면이 끝나는 곳)에서의 값일 수 있다. 더욱이, 값이 시간 간격에서 시간 가변적일 때, 그것은 시간 간격 내의 다른 시간에 대한 특성 값이 재구성되도록 허용하는 데이터를 포함할 수 있다. 예를 들어, 시간 간격 내의 값은 보간에 의해 결정될 수 있다.
특정 예에서, 시간 간격은 비트스트림의 데이터 값에 의해 표시될 수 있다. 유사하게, 시간 간격 내의 데이터 값은 데이터 필드/값에 의해 표시될 수 있는 특정 시간 간격에 적용하기 위해 참조 및 표시될 수 있다. 구체적으로, targetOffset[n]으로 참조된 값이 사용될 수 있으며, 여기서 n은 인덱스이다.
접근법에서, 시간 변화가 발생할 때, 예컨대 애니메이션이 시작, 중지 또는 범위 내에서 속도가 변경될 때, 이것은 상이한 접근법들을 사용하여 지원될 수 있다:
Figure pat00001
웨이 포인트
업데이트 데이터 포인트
메타데이터 필드가 애니메이션되고, 데이터 포인트의 시간 간격 내에서 애니메이션이 여러 번 업데이트되어야 할 때, 데이터 포인트의 시간 간격 내에 다수의 targetOffset을 포함시킴으로써 웨이 포인트가 포함될 수 있다. 예를 들어 다음과 같다.
targetOffset[0] = 48000
targetOffset[1] = 20000
targetOffset[2] = 38643
데이터 포인트는 시간 간격 내의 특정 시점과 연결된 하나 이상의 특성에 대한 타겟 값을 포함할 수 있으며, 시점은, 구체적으로 targetOffset 필드의 형태로, 시간 표시에 의해 표시된다. 다수의 타겟 값이 제공될 수 있으며, 각각은 targetOffset 기준과 쌍을 이루어, 다수의 웨이 포인트를 생성하며, 그에 대해 값이 보간될 수 있다. 도 5는 가변 파라미터 값을 제공하기 위해 이것이 사용될 수 있는 방법을 예시할 수 있다.
대안적으로 또는 추가적으로, 독립적이지 않은 데이터 포인트일 수 있는 업데이트 데이터 포인트에 의해 동적 변화가 지원될 수 있다. 업데이트 데이터 포인트는 시간 간격의 전체 렌더링을 허용하기에 충분한 데이터를 제공하지 않을 수 있지만, 비트스트림 내의 다른 곳에서 제공되는 데이터에 의존할 수 있다. 업데이트 데이터 포인트는 업데이트 데이터 포인트에 의해 표현되는 시간 간격 동안의 특성을 설명하는 음향 환경 데이터의 서브세트만을 포함할 수 있다. 몇몇 실시예에서, 업데이트 데이터 포인트는 항상 적어도 하나의 독립 데이터 포인트와 연결될 수 있다.
업데이트 데이터 포인트는 몇몇 경우에 시간 가변 특성(시간 간격 동안 변함)에 관한 데이터만을 포함할 수 있다. 그들은 또한 시작 시간, 종료 시간, 및/또는 중간 포인트와 같은, 그것이 적용되는 시간 간격을 나타내는 연관된 데이터를 가질 수 있다. 그들은 다음 독립 데이터 포인트를 초과하지 않는 최대 시간 간격 지속기간을 가질 수 있다.
업데이트 데이터 포인트의 이점은 그들이 장면 요소, 예를 들어 다른 사용자의 이동 및 액션의 라이브 스트리밍에 유용할 수 있다는 것일 수 있으며, 여기서 대응하는 필드들은 독립 데이터 포인트들보다 더 높은 레이트로 전송된다.
따라서 비트스트림은 사운드 전파에 영향을 미치는 환경의 특성에 대한 하나 이상의 특성 값을 포함하는 복수의 연속적인 데이터 세트/데이터 포인트를 포함할 수 있다. 또한, 특성 값이 적절한 시간을 나타내기 위해 시간 표시(예를 들어, targetOffset)가 포함될 수 있다. 몇몇 실시예에서, 데이터 세트는 하나 이상의 특성에 대한 2개 이상의 특성 값을 포함할 수 있다. 데이터 세트는 특성 값이 가변 특성에 대해 적용되는 때를 나타내는 시간 표시를 포함할 수 있다.
몇몇 실시예에서, 시간 표시는 그것이 시간 간격 내의 디폴트 시간과는 상이한 경우에만 포함될 수 있다. 예를 들어, 특성 값은 디폴트로 시간 간격의 종료에 대해 표시될 수 있으며, 시간 간격의 종료에 대해 제공되는 특성 값에 대해서는 특정 시간 표시가 제공되지 않는다. 그러나, 시간 간격 내의 다른 시간에 대해 제공되는 임의의 특성 값에 대해 시간 표시와 연관될 수 있다.
이에 따라, 몇몇 실시예에서, 비트스트림 생성기(205)는 주어진 특성에 대한 특성 값이 표현된 시간 간격 내에서 디폴트 시간 동안 제공되는지를 결정하도록 배열된다. 만약 그렇다면, 제1 특성 값이 시간 표시 없이 데이터 포인트에 포함되고, 그렇지 않으면, 특성 값에 대해 시간 표시가 포함된다.
비트스트림은 독립적이고 렌더링을 위해 임의의 추가적인 데이터를 요구하지 않는 데이터 세트뿐만 아니라, 독립적이지 않지만 음향 환경의 완전한 렌더링을 허용하기 위해 다른 데이터 세트로부터의 음향 환경 데이터를 요구하는 데이터 세트 둘 모두를 포함하도록 생성될 수 있다. 이에 따라, 음향 환경 데이터는 환경의 오디오를 렌더링하기 위해 요구되는 모든 데이터를 포함하는 몇몇 완전한 렌더링 데이터 세트뿐만 아니라, 환경의 오디오를 렌더링하기 위해 다른 데이터 세트로부터의 데이터에 추가적으로 의존하고 그를 요구하는 몇몇 부분적 렌더링 데이터 세트를 포함할 수 있다.
데이터 포인트의 개념이 독립적이고 잠재적으로 최대 몇 초의 갭을 커버하므로, 예를 들어 데이터 포인트의 시작 및 보간 간격의 끝의 위치를 나타내는, 데이터 포인트의 시간 간격에 대한 시작 포인트 및 중지 포인트 둘 모두를 포함하는 것이 유용할 수 있다. 이것은 선택적일 수 있는데, 그 이유는 많은 경우에 종료 포인트만이 주어지는 것이 허용가능할 수 있으며, 디코더가 스트림을 잘라낼 때 그리고 제1 디코딩된 데이터 포인트의 간격의 지속기간 동안만 잠재적 편차가 발생할 수 있기 때문이다.
소스 포즈 종료 포인트는 종종 가장 중요한 정보로 간주될 수 있으며, 그것은 위치 및 배향 데이터를 포함할 수 있다. 그것에 더하여, 선택적인 시작 위치/배향이 제공될 수 있다. 이것은 비트레이트를 절약하기 위한 더 효율적인 코딩을 위해 종료 포인트에 대해서 차등적으로 코딩될 수 있다. 비-보간가능 데이터(예를 들어, 플래그, 식별자, 인덱스)에 대해, 변경이 즉각적으로 발생할 오프셋이 있을 수 있으며, 데이터 포인트의 시작에서의 값이 표시될 수 있다(그에 따라 차등적이 아님). 플래그에 대해, 시작에서의 값이 표시되지 않을 수 있는데, 왜냐하면 그것이 제공된 표시 뒤에 오는 값의 반대인 것으로 가정되기 때문이다.
JSON 구조에서, 그러한 접근법의 예는 다음과 같을 수 있다:
ObjectSource[]
o ID
o SignalIndex
o PreGain
o PreGainInterpMethod (선택적)
o PreGainInterpLengthIdx (선택적)
o PreGainDelta (선택적) 데이터 포인트에서의 % 존재 신호 애니메이션
o Position
o PositionInterpMethod (선택적)
o PositionInterpLengthIdx (선택적)
o PositionDelta (선택적) 데이터 포인트에서의 % 존재 신호 애니메이션
o Orientation
o OrientationInterpMethod (선택적)
o OrientationInterpLengthIdx (선택적)
o OrientationDelta (선택적) 데이터 포인트에서의 % 존재 신호 애니메이션
o Render
o RenderUpdateOffsetIdx (선택적) 데이터 포인트에서의 % 존재 신호 애니메이션
o DirectivityID
o DirectivityIDUpdateOffsetIdx (선택적)
o DirectivityIDStart (선택적) 데이터 포인트에서의 % 존재 신호 애니메이션
여기서 종료 포인트는 [Position, Orientation]이고 시작 포인트는 [Position - PositionDelta, Orientation - OrientationDelta]이다. 이것은 종료 위치가 절대값뿐만 아니라 상대값 둘 모두로서 제공되어, 필요할 때 시작 위치의 재구성을 허용할 수 있다는 것을 의미한다.
상이한 보간 방법들이 이를테면 예를 들어 다음 중 하나를 정의하는 필드 InterpMethod에 의해 표시될 수 있다:
'linear' <default>
'instant' (보간 없이 타겟 타임스탬프에서 즉시 변경을 행함. 예를 들어, SignalIndex, ExtentID 또는 부울 필드들 중 임의의 것의 수정에 유용함)
'spherical'
'logarithmic'
종료 포인트의 타겟은 다음 독립 데이터 포인트, 임의의 중간 업데이트 데이터 포인트, 또는 중간 웨이 포인트의 시작일 수 있다. 잠재적 타겟은 비트스트림의 일반적인 부분에 열거될 수 있으며, 비트스트림의 다른 부분들은 그것을 효율적으로 참조하여 그들이 커버하는 데이터에 대해 어느 타겟이 관련이 있는지를 나타낼 수 있다. 타겟은 주어진 순간에 대한 타겟/의도된 값일 수 있다.
하기에서, 단일 데이터 포인트/데이터 세트의 데이터에 대한 포맷 및 신택스의 예가 설명될 것이다. 설명은 MPEG-H 3D 오디오(ISO/IEC 23008-3)와 같은 MPEG 오디오 표준에서 사용되는 비트스트림 포맷을 설명하기 위한 접근법과 일치할 것이다. 신택스 설명은 의사 코드로서 구조화되며, 여기서 함수 호출은 그 함수 아래에 설명된 신택스가 함수 호출이 이루어진 곳에 삽입됨을 나타낸다. 비트스트림 내의 비트를 점유하는 필드는 볼드체이며, 제2 및 제3 컬럼은 연상 기호를 사용하여 비트 수 및 비트 포맷을 설명한다. 몇몇 필드는, 표현되는 값에 따라, 가변 비트 수를 가질 수 있다. 이러한 필드는 코드 워드 및 대응하는 값을 설명하는 룩업 테이블과 연관된다. 코드 워드는 비트 단위로 판독하기 시작할 때 더 짧은 코드 워드가 더 긴 코드 워드의 제1 비트와 결코 겹쳐 있지 않도록 설계된다. 이것은 당업자에게 허프만 코딩, 실행 길이 코딩 또는 산술 코딩과 같은 무손실 데이터 인코딩 또는 엔트로피 코딩으로 알려져 있다. 신택스에서 먼저 판독된 데이터는 다른 부분의 디코딩을 제어하기 위해 신택스의 나중 부분에서 사용될 수 있다. 예를 들어, 비트 수, 요소 수, 인코딩 방법, 소정 데이터의 존재 등을 알리는 것에 의해.
설명은 (MPEG-H 3D 오디오 사양, ISO/IEC 23008-3으로부터 취해진 바와 같은) 다음의 특정 두문자어를 사용할 것이다:
bslbf - 비트 스트링, 왼쪽 비트 우선, 여기서 "왼쪽"은 ISO/IEC 14496에서 비트 스트링이 작성된 순서이다. 비트 스트링은 작은 따옴표 안의 1과 0의 스트링으로서, 예를 들어 '1000 0001'로 작성된다. 비트 스트링 내의 공백은 판독의 용이함을 위한 것이며 아무런 의미가 없다.
o 부울에 대해 사용됨
tcimsbf - 2의 보수 정수, 최상위(부호) 비트 우선.
uimsbf - 부호 없는 정수 최상위 비트 우선.
o 유닛에 대해 사용됨
vlclbf - 가변 길이 코드, 왼쪽 비트 우선, 여기서 "왼쪽"은 가변 길이 코드가 작성되는 순서를 말한다.
데이터 세트/포인트가 다음의 포맷/신택스에 따라 제공될 수 있다:
하기에서, 그러한 데이터 포인트의 다양한 필드/부분/요소가 더 상세히 설명될 것이지만, 설명된 필드/부분/요소는 특정 데이터 포인트 또는 신택스로 제한되는 것이 아니라, 음향 환경 데이터를 포함하는 임의의 비트스트림에서 개별적으로 또는 임의의 조합으로 사용될 수 있다는 것이 인식될 것이다.
데이터 포인트에 대한 특징/필드/부분 요소의 추가 설명.
dpType
데이터 포인트 유형. 데이터 포인트의 유형을 나타낸다.
reservedBits
예약 비트. 이것은 확장 메커니즘을 도입하는 데 사용될 수 있다.
이에 따라, 데이터 포인트는 데이터 포인트의 특정 유형을 나타내는 2개의 비트로 시작할 수 있으며, 2개의 비트는 데이터 포인트가 독립 데이터 포인트인지를 또는 그것이 업데이트 포인트인지를 구체적으로 나타낸다.
GeneralData()
필드 GeneralData()는 일반 구성 또는 렌더링 데이터와 함께 여러 파라미터에 대한 정보를 제공하는 데이터를 제공할 수 있다.
bsVersion
비트스트림 버전.
isSmallScene
참으로 설정될 때, [-100..100] 미터의 범위를 벗어나는 좌표가 존재하지 않음을 나타낸다.
몇몇 실시예에서, 메타데이터 생성기(203)는 환경이 공간적으로 제약된 환경이라는 전역적 표시자를 포함하도록 음향 환경 데이터를 생성하도록 배열된다. 예를 들어, 전역적 표시자는 참 또는 거짓으로 설정될 수 있는 isSmallScene의 형태일 수 있다. 참으로 설정되는 경우, isSmallScene은 [-100..100] 미터를 초과하지 않는 좌표에 의해 표현되도록 제한된다.
전역적 표시자가 공간적으로 제약된 환경을 나타내도록 설정될 때, 데이터 값의 수는 데이터 값에 대한 미리 결정된 제한된 포맷을 준수하도록 제한될 것이다. 구체적으로, 공간 좌표(구체적으로 위치 값)는 [-100..100] 미터의 간격으로 제한되는 것과 같이, 임계치를 초과하지 않도록 제한될 수 있다. 몇몇 실시예에서, 전역적 표시자가 공간적으로 제약된 환경을 나타내도록 설정될 때 다른 파라미터가 제한된 범위로 제한될 수 있다. 예를 들어, 잔향의 최대 지속기간 또는 시간 상수, 예를 들어 T60 값이 작은 환경에 대해 제한될 수 있다.
공간적으로 제한된 환경은 임계 값 아래의 공간 확장을 갖는 환경일 수 있다. 미리 결정된 제한된 포맷은 환경이 공간적으로 제한된 환경이 아닌 경우 비트스트림에 대해 사용되는 데이터 포맷보다 더 적은 비트를 사용하는 사운드 전파에 영향을 미치는 적어도 몇몇 특성 값에 대한 데이터 포맷일 수 있다.
몇몇 실시예에서, 하나 이상의 파라미터 값의 제한을 나타내는 전역적 플래그 또는 표시자가 포함될 수 있다.
usacSamplingFrequencyIndex
오디오 신호에 대해 사용되는 샘플 레이트에 대한 인덱스. 23003-3에서의 정의에 기초한다:
usacSamplingFrequency
usacSamplingFrequencyIndex가 0과 동일한 경우 부호 없는 정수 값으로서 코딩된 디코더의 출력 샘플링 주파수.
useDefaultSpeedOfSound
재료 없는 매체에 대해 디폴트 음속(343 m/s, 20℃에서의 값)을 사용할지 또는 맞춤 값을 제공할지를 나타내는 플래그.
speedOfSound
재료 없는 매체에 대한 맞춤 음속 값. 재료 없는 매체는 상이한 재료가 할당된 기하학적 구조에 의해 점유되지 않은 공간으로 간주된다.
TargetData()
필드 TargetData()는 데이터 포인트의 다른 부분으로부터 인덱스에 의해 참조되는 속성의 애니메이션에 대한 타겟 오프셋을 포함할 수 있다.
FreqGridData()
이 필드는 데이터 포인트의 다른 부분으로부터 인덱스에 의해 참조되는 주파수 그리드 정의를 포함할 수 있다. 전형적으로, 이것은 비트스트림 파서의 그 부분에 얼마나 많은 주파수 의존 요소들이 다음에 코딩될 것인지를 알려준다.
필드 FreqGridData()는 데이터 포인트의 다른 부분으로부터 인덱스에 의해 참조되는 주파수 그리드 정의에 대한 정보를 제공하는 데이터를 제공할 수 있다. 구체적으로, 주파수 그리드/주파수 범위로의 세분이 설명될 수 있으며, 정의된 주파수 그리드에 따라 비트스트림의 다른 파라미터/다른 데이터가 제공될 수 있다. 예를 들어, 주파수 그리드의 정의된 주파수의 상이한 범위에 대한 감쇠를 나타냄으로써 상이한 주파수 의존 필터링이 제공될 수 있으며, 이에 따라 필터가 단순히 감쇠 값의 세트로서, 이러한 감쇠 값에 대한 대응하는 주파수가 명시적으로 설명될 것을 요구함이 없이, 설명될 수 있다.
몇몇 실시예에서, 음향 환경 데이터는 주파수 그리드를 설명하는 하나 이상의 데이터 그룹/데이터 필드, 및 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹/데이터 필드를 포함하도록 배열될 수 있다. 주파수 그리드를 사용하여 특성들 중의 주파수 의존 특성을 설명하는 데이터는 예를 들어 주파수 그리드에 의해 정의된 주파수 값들 및/또는 주파수 값들 중 하나 이상에 대한 데이터 값을 제공함으로써 이것을 행할 수 있다.
주파수 그리드는, 예를 들어 주파수 하위 범위의 중심 주파수를 정의하는 것에 의한, 주파수 범위의 주파수 하위 범위로의 세분일 수 있다.
몇몇 실시예에서, 비트스트림은 비트스트림이 주파수 그리드를 설명하는 데이터 그룹을 포함하는지 여부를 나타내기 위한 표시자를 포함할 수 있다. 예를 들어, 단일 비트 bFgdPresent는 주파수 그리드 정의가 (예를 들어, 다음의 비트에) 포함되는지를 나타낼 수 있다.
몇몇 실시예에서, 비트스트림은 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함할 수 있다. 예를 들어, 비트스트림은 주파수 그리드가 미리 결정된/미리 정의된 그리드에 대한 참조에 의해, 이를테면 예를 들어 미리 정의된 주파수 그리드들의 세트 중의 그리드에 대한 인덱스를 나타냄으로써 설명되는지를 설명하는 표시를 포함할 수 있다. 다른 예로서, 비트스트림은 주파수 그리드의 적어도 몇몇 하위 범위에 대한, 그리고 전형적으로 주파수 그리드의 모든 하위 범위에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터를 포함할 수 있다. 몇몇 실시예에서, 주파수 그리드는 주파수 범위/간격의 경계 주파수를 나타내는 전이 주파수들의 세트에 의해 표시될 수 있다. 예를 들어, 제1 주파수 간격/범위는 제1 주파수 간격/범위의 시작 주파수 및 다음 주파수 간격/범위의 시작 주파수를 나타내는 데이터에 의해 표시될 수 있다.
많은 실시예에서, 주파수 범위는 주파수 스케일의 로그 표현에서 일정할 수 있다.
주파수 대역화 및 범위/간격으로의 분할은 옥타브에 기초할 수 있다. 1 옥타브 차이는 2의 계수, 즉 주파수의 더블링, 예컨대 125, 250, 500, 1000 ㎐를 나타낸다. 비트스트림은, 예를 들어, 옥타브 대역에서의 대역화, 또는 다른 세분, 예컨대 옥타브 대역들(125, 160, 200, 250, 315, 400, 500, 630, 800, 1000) 사이에 2개 이상의 값을 배치하는 1/3 옥타브 대역이 있는지를 나타낼 수 있다. 몇몇 실시예에서, 적어도 하나의 하위 범위 또는 개별 주파수가 옥타브 대역의 분수와 정렬된 데이터에 의해 표시될 수 있다.
몇몇 실시예에서, 비트스트림은 예를 들어 다수의 개별 주파수의 세트와 같은, 개별 주파수를 나타내는 데이터를 포함할 수 있다. 이어서 다른 주파수 의존 특성이 비트스트림에서 이러한 개별 주파수에 대한 특성 값들의 세트에 의해, 이러한 개별 주파수가 각각의 특성에 대해 명시적으로 언급될 필요 없이, 간단히 표현될 수 있다.
이어서, 많은 실시예에서, 주파수 그리드가 비트스트림의 데이터에 의해 설명/정의될 수 있다. 예를 들어 주파수 그리드에 대한 상이한 모드들이 사용될 수 있으며, 데이터는 주파수 그리드를 설명하는 데 사용되는 모드를 나타낼 수 있다.
예를 들어, 필드 fgdMethod는 예컨대 다음 중에서 어떤 모드가 사용되는지를 나타낼 수 있다:
디폴트 그리드
o 예를 들어, 옥타브 대역의 분수와 정렬됨
시작 주파수 + 주파수 홉 크기 + 대역의 양
o 예를 들어, 옥타브 대역의 분수와 정렬됨
개별 주파수
o 예를 들어, 옥타브 대역의 분수와 정렬됨
주파수 그리드에 대한 포맷/신택스의 예는 예를 들어 다음과 같을 수 있다:
bFgdPresent
임의의 주파수 그리드가 정의되는지를 나타내는 플래그.
fgdMethod
주파수 그리드가 코딩되는 방법.
fgdCenterFreq
각각의 주파수 그리드 내의 각각의 대역에 대한 중심 주파수를 Hz 단위로 나타낸다.
frequencyHopCode
주파수 대역화에 대한 홉 인자를 나타내는 코드.
fgdDefaultBanding 하나의 몇몇의 디폴트 대역화 스킴을 정의한다.
이에 따라, 몇몇 실시예에서, 비트스트림은 음향 환경 데이터의 주파수 의존 특성을 설명하기 위해 다른 데이터 그룹에서 사용되는 주파수 그리드를 설명하는 데이터 그룹을 포함하도록 생성된다. 이에 따라, 주파수 그리드는 데이터 스트림에서 제공될 뿐만 아니라 주파수 변화를 설명하는 데 사용된다. 게다가, 비트스트림은 비트스트림이 주파수 그리드의 이러한 설명을 포함하는지 여부를 나타내는 특정 표시자를 포함한다. 따라서, 비트스트림 생성이 통신될 특정한 특성 및 주파수 의존성에 대해 최적화될 수 있는 선택적인 그리고 맞춤화 가능한 주파수 그리드를 사용하도록 적응될 수 있는 유연한 접근법이 제공된다. 간단한 예로서, 주파수 해상도 또는 주파수 범위는 유연하게 적응될 수 있으며, 실제로 전체 주파수 그리드 설명은 선택적이고, 설명이 포함되는지의 표시자를 적합하게 설정함으로써 생략될 수 있다.
게다가, 배열은 데이터 그룹이 주파수 그리드의 설명을 포함할 뿐만 아니라 그것이 주파수 그리드의 설명에 대해 사용되는 포맷을 구체적으로 나타내게 하는 것일 수 있다. 이에 따라, 수신기가 주파수 그리드 설명 데이터를 해석할 수 있게 하는 표시가 제공될 수 있으며, 그에 의해 비트스트림 생성기가 특정한 특성 및 그의 특정한 주파수 의존성에 특별히 적합한 주파수 그리드의 설명을 위한 포맷을 자유롭게 선택할 수 있게 할 수 있다.
주파수 그리드를 설명하는 데이터 그룹은 미리 결정된 디폴트 그리드; 주파수 그리드의 적어도 몇몇 하위 범위에 대한 시작 주파수 및 주파수 범위; 및/또는 개별 주파수를 나타내는 데이터를 포함할 수 있다.
이에 따라, 접근법은 비트스트림에서 그러한 음향 환경 데이터를 인코딩 및 표현하는 특정한 그리고 좁은 접근법을 사용함으로써 비트스트림이 주파수 가변 특성을 포함하도록 허용할 수 있다. 접근법은 그러한 주파수 의존 음향 환경 특성을 비트스트림에 포함시키기 위한 매우 효율적인, 적응가능한, 그리고 유연한 접근법을 제공할 수 있다.
AcousticElementData()
신택스의 이 부분은 음향 요소를 설명하는 데이터를 커버한다. 이들은 전형적으로 장면 그래프에서 계층적 요소로서의 역할을 하는 일반 요소이다. 전형적으로, 그러한 요소의 특성은 자식 노드로 이어진다. 즉, 음향 요소의 사전 이득 값은 또한 대응하는 음향 요소 아래에 조직화되는 오디오 소스에 적용된다. 이러한 노드의 위치 및 배향은 그의 자식 노드의 위치 및 배향을 변환할 것인데, 그러한 노드가 부모 배향 또는 포즈를 무시하도록 구성된 그의 포즈 의존 설정을 갖지 않는 한 그렇게 변환할 것이다.
몇몇 실시예에서, 음향 환경 데이터는 적어도 하나의 오디오 요소에 대한 애니메이션 표시를 포함하며, 여기서 애니메이션 표시는 오디오 요소에 대한 특성이 시간 간격 동안 변하는지 여부를, 그리고 이에 따라 그것이 동적 특성인지 또는 정적 특성인지를 나타낸다. 구체적으로, 데이터 포인트/그룹에 대해, 오디오 요소가 데이터 포인트/그룹의 시간 간격 내에서 정적인지 또는 시간 가변적인지를 나타내는 플래그 또는 표시가 포함될 수 있다.
음향 환경 데이터는, 애니메이션 표시가 대응하는 오디오가 시간 가변적임을 나타내는 경우에, 가변 특성의 변화를 설명하는 데이터를 추가로 포함할 수 있다. 음향 환경 데이터는, 그러한 오디오 요소에 대해, 오디오 요소에 대한 적어도 하나의 특성에 대해 그 특성이 시간 가변 특성인지 여부를 나타내는 데이터를 포함할 수 있다. 이에 따라, (데이터 세트/포인트의 시간 간격 내에서) 어떤 특성이 시간 가변적인지 그리고 어떤 것이 시간 가변적이 아닌지를 나타내는 특성에 대한 표시가 포함될 수 있다.
많은 실시예에서, 음향 환경 데이터는 시간 간격의 상이한 시간에 대한 특성 값이 결정될 수 있는 방법을 설명하는 데이터를 포함할 수 있으며, 구체적으로 음향 환경 데이터는 상이한 시간에 대한 특성 값을 결정하기 위해 적용할 보간 접근법을 설명하는 데이터를 포함할 수 있다.
음향 환경 데이터는 특정 시간 가변 특성에 대한 2개 이상의 값을 포함할 수 있으며, 각각의 값은 특정 순간에 대한 것이다. 이어서 다른 시간에 대한 특성 값이 보간에 의해 결정될 수 있다. 인코딩된 오디오 데이터 스트림, 및 구체적으로 개별 데이터 포인트는 시간 가변 특성에 대해 수행되어야 하는 시간 보간의 특성을 설명하는 데이터를 포함할 수 있다.
몇몇 경우에, 데이터 포인트의 시간 간격 내에서 보간에 사용되는 값들 중 하나 이상이 제공되거나 시간 간격/데이터 포인트 밖에 제공된 값으로부터 결정될 수 있다. 예를 들어, 하나 이상의 값이 예를 들어 비트스트림에서 이전에 전송되었을 수 있는 다른 데이터 포인트의 데이터로부터 도출될 수 있다. 그러한 데이터 값은 보간이 적용되는(그리고 그것이 정의될 수 있는) 데이터 포인트의 시간 간격 이전 또는 이후인 시간일 수 있는 특정 시점(예를 들어, 타임 스탬프에 의해 표시됨)과 연관될 수 있다.
몇몇 실시예에서, 상이한 보간이 상이한 데이터 포인트에서 설명될 수 있고, 이에 따라 상이한 보간이 상이한 시간 간격에서 적용될 수 있다. 또한, 아마도 동일한 데이터 포인트/시간 간격의 상이한 특성을 포함하여, 상이한 특성에 대해 상이한 보간이 설명될 수 있다.
보간 방법은 예를 들어 플래그 *InterpMethod에 의해 표현되는 코드에 의해 표시될 수 있다. 코드는 예를 들어 아래의 표 1에 표시된 바와 같을 수 있다:
몇몇 실시예에서, 환경의 적어도 몇몇 요소에 대한 음향 환경 데이터는 환경에 대한 장면 그래프의 요소에 대한 아이덴티티 데이터 및 부모 아이덴티티 데이터를 포함할 수 있다. 적어도 몇몇 요소는 예를 들어 객체, 오디오 소스(오디오 요소) 및/또는 환경의 음향 특징일 수 있다.
예를 들어, 상이한 객체 및/또는 오디오 소스가 장면 그래프에 배열될 수 있으며, 음향 환경 데이터는 이 장면 그래프를 나타내는 데이터를 포함할 수 있다. 이것은 구체적으로 개별 요소에 대한 아이덴티티 데이터 및 부모 아이덴티티를 제공하는 것에 의할 수 있는데, 왜냐하면 이것은 장면 그래프가 재구성되도록 허용할 수 있으며, 이에 따라 계층 구조를 표현하도록 배열될 수 있기 때문이다.
몇몇 실시예에서, 요소의 애니메이션은 음향 환경 데이터에서 표시될 수 있다(그리고 아마도 설명될 수 있다).
예를 들어, 음향 환경 데이터는 요소/소스별로 이것이 (시간의 세그먼트에서) 애니메이션되는지를 나타내는 ElementAnimated, SourceAnimated 및 AttributeAnimated 플래그/표시를 포함할 수 있다. 만약 그렇다면, 속성/특성별 플래그/표시가 속성/특성이 애니메이션되는지를 나타내기 위해 포함될 수 있다. 만약 그렇다면, 애니메이션/시간 변화를 설명하는 데이터가 추가로 포함될 수 있다.
위에서 설명된 특징의 예로서, 다음의 포맷이 사용될 수 있다:
aedPresent
임의의 음향 요소가 정의되는지를 나타내는 플래그.
aedNrElements
정의된 음향 요소의 수를 시그널링한다.
elementAnimated
대응하는 요소가 데이터 포인트에서 애니메이션되는지를 나타내는 플래그.
attributeAnimated
대응하는 속성이 데이터 포인트에서 애니메이션되는지를 나타내는 플래그. 그것은 또한 더 많은 웨이 포인트에 대한 데이터가 존재하는지를 나타내는 데 사용된다.
aedID
음향 요소의 ID.
aedParentID
장면 그래프에서의 음향 요소의 부모의 ID.
aedPoseDependency
음향 요소의 포즈가 무엇에 대한 것인지를 나타낸다.
aedPosition
음향 요소의 위치 좌표(x, y, z), 미터 단위.
동일한 요소에 대한 다수의 발생은 데이터 포인트의 범위 내의 다수의 웨이 포인트를 나타낸다.
aedPositionInterpMethod
위치 애니메이션에 대해 사용할 보간 방법을 나타낸다, 표 1 참조.
aedPositionInterpTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 이전의 위치 타겟 값이 유효한지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있다.
aedPositionDelta
데이터 포인트의 타임 스탬프에서 위치 값의 재구성을 허용하는 위치 델타 값.
PositionAtDPStart = aedPosition - aedPositionDelta
다수의 타겟 값의 경우에, 그것은 제1 타겟 값에 대한 것이다.
aedOrientation
음향 요소의 배향(요(yaw), 피치(pitch), 롤(roll)), 라디안 단위.
동일한 요소에 대한 다수의 발생은 데이터 포인트의 범위 내의 다수의 웨이 포인트를 나타낸다.
aedOrientationInterpMethod
배향 애니메이션에 대해 사용할 보간 방법을 나타낸다, 표 1 참조.
aedOrientationInterpTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 이전의 배향 타겟 값이 유효한지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있다.
aedOrientationDelta
데이터 포인트의 타임 스탬프에서 배향 값의 재구성을 허용하는 배향 델타 값.
OrientationAtDPStart = aedOrientation - aedOrientationDelta
다수의 타겟 값의 경우에, 그것은 제1 타겟 값에 대한 것이다.
aedPregain
대응하는 음향 요소 아래에 계층적으로 배치된 모든 소스에 대한 dB 단위의 사전 이득 값.
동일한 요소에 대한 다수의 발생은 데이터 포인트의 범위 내의 다수의 웨이 포인트를 나타낸다.
aedPregainInterpMethod
사전 이득 애니메이션에 대해 사용할 보간 방법을 나타낸다, 표 1 참조.
aedPregainInterpTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 이전의 사전 이득 타겟 값이 유효한지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있다.
aedPregainDelta
데이터 포인트의 타임 스탬프에서 사전 이득 값의 재구성을 허용하는 사전 이득 델타 값.
PregainAtDPStart = aedPregain - aedPregainDelta
다수의 타겟 값의 경우에, 그것은 제1 타겟 값에 대한 것이다.
aedRender
렌더링 플래그. 거짓일 때, 대응하는 음향 요소 아래에 계층적으로 배치된 모든 소스가 렌더링되지 않아야 함을 나타낸다.
aedRenderUpdateTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 렌더링 플래그가 이전의 aedRender 값으로 상태를 플립할지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있으며, 각각의 타겟 인덱스는 플래그의 상태의 이진 플립을 나타낸다.
AudioSourceData()AudioSourceData()
신택스의 이 부분은 상이한 유형의 오디오 소스를 수집한다.
ObjectSourceData()
신택스의 이 부분은 객체 소스의 특성을 설명한다.
osdPresent
객체 소스가 존재하는지를 나타내는 플래그.
osdNrElements
뒤따르는 객체 소스 요소의 수를 나타낸다.
sourceAnimated
대응하는 소스가 데이터 포인트에서 애니메이션되는지를 나타내는 플래그.
aedID
음향 요소의 ID.
aedParentID
장면 그래프에서의 음향 요소의 부모의 ID.
osdSignalIndex
소스에 대응하는 신호의 신호 입력 버퍼에 대한 인덱스를 나타낸다.
osdIsContinuousSource
연속 신호에 연관되는지 또는 디코더 측에서 트리거되는 사운드 효과에 연관되는지를 나타내는 플래그.
osdReferenceDistance
객체 소스의 기준 거리를 나타낸다.
osdPoseDependency
소스 포즈가 무엇에 대한 것인지를 나타낸다.
attributeAnimated
대응하는 속성이 데이터 포인트에서 애니메이션되는지를 나타내는 플래그. 그것은 또한 더 많은 웨이 포인트에 대한 데이터가 존재하는지를 나타내는 데 사용된다.
osdPosition
객체 소스의 위치 좌표(x, y, z), 미터 단위.
동일한 소스에 대한 다수의 발생은 데이터 포인트의 범위 내의 다수의 웨이 포인트를 나타낸다.
osdPositionInterpMethod
위치 애니메이션에 대해 사용할 보간 방법을 나타낸다, 표 1 참조.
osdPositionInterpTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 이전의 위치 타겟 값이 유효한지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있다.
osdPositionDelta
데이터 포인트의 타임 스탬프에서 객체 소스의 위치 값의 재구성을 허용하는 위치 델타 값.
PositionAtDPStart = osdPosition - osdPositionDelta
다수의 타겟 값의 경우에, 그것은 제1 타겟 값에 대한 것이다.
osdOrientation
객체 소스의 배향(요, 피치, 롤, 라디안 단위.
동일한 소스에 대한 다수의 발생은 데이터 포인트의 범위 내의 다수의 웨이 포인트를 나타낸다.
osdOrientationInterpMethod
배향 애니메이션에 대해 사용할 보간 방법을 나타낸다, 표 1 참조.
osdOrientationInterpTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 이전의 배향 타겟 값이 유효한지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있다.
osdOrientationDelta
데이터 포인트의 타임 스탬프에서 객체 소스의 배향 값의 재구성을 허용하는 배향 델타 값.
OrientationAtDPStart = osdOrientation - osdOrientationDelta
다수의 타겟 값의 경우에, 그것은 제1 타겟 값에 대한 것이다.
osdPregain
객체 소스에 대한 dB 단위의 사전 이득 값.
동일한 요소에 대한 다수의 발생은 데이터 포인트의 범위 내의 다수의 웨이 포인트를 나타낸다.
osdPregainInterpMethod
사전 이득 애니메이션에 대해 사용할 보간 방법을 나타낸다, 표 1 참조.
osdPregainInterpTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 이전의 사전 이득 타겟 값이 유효한지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있다.
osdPregainDelta
데이터 포인트의 타임 스탬프에서 객체 소스의 사전 이득 값의 재구성을 허용하는 사전 이득 델타 값.
PregainAtDPStart = osdPregain - osdPregainDelta
다수의 타겟 값의 경우에, 그것은 제1 타겟 값에 대한 것이다.
osdRender
렌더링 플래그. 거짓일 때, 객체 소스는 렌더링되지 않아야 함을 나타낸다.
osdRenderUpdateTargetIdx
데이터 포인트의 타임 스탬프로부터의 어떤 오프셋에서 렌더링 플래그가 이전의 osdRender 값으로 상태를 플립할지를 나타내는, TargetOffset에 대한 인덱스.
데이터 포인트의 범위 내의 각각의 웨이 포인트에 대해 하나씩, 다수의 타겟 인덱스가 제공될 수 있으며, 각각의 타겟 인덱스는 플래그의 상태의 이진 플립을 나타낸다.
osdIsOmniDirectional
소스가 전방향인지를 나타내는 플래그.
osdDirectivityPatternID
사용할 방향성 패턴의 ID.
SoundEffectData()
신택스의 이 부분은 사운드 효과의 특성을 설명한다. 이것은 연속적으로 렌더링된 오디오 신호가 아니라, 예컨대 사용자 상호작용에 의해 트리거되는 오디오 신호의 짧은 세그먼트를 표현한다.
음향 환경 데이터는 몇몇 실시예에서 사운드 효과, 클립 및 다른 오디오 요소와 연관된 메타데이터를 제공할 수 있으며, 메타데이터는 특히 특정 사용자 액션 또는 상호작용과 연관된 사운드 효과 오디오 요소에 대한 데이터를 포함할 수 있다. 예를 들어, 삐걱거리는 문이 열리는 것에 대해 사운드 효과 요소가 제공될 수 있다. 그러한 사운드 효과는 사용자 액션과 연관될 수 있으며, 따라서 사용자가 환경에서 문이 열리는 것에 대응하는 입력을 제공하는 경우, 렌더러는 삐걱거리는 문 사운드 효과를 추출하고 렌더링할 수 있다.
몇몇 실시예에서, 오디오 요소는 다수의 사운드 효과 요소를 포함할 수 있고, 음향 환경 데이터는 환경에 대한 사용자 제어 변경을 그러한 사운드 효과 요소들 중 하나(또는 그 초과)와 연결하는 데이터를 포함할 수 있다. 환경에 대한 사용자 제어 변경은 예를 들어 사용자 입력 또는 사용자 상호작용일 수 있거나, 이들(또는 이들로부터의 결과)에 기초하여 결정될 수 있다.
음향 환경 데이터는 예를 들어 예컨대 타겟 ID(요소를 식별함), 타겟 속성 및/또는 대응하는 타겟 값을 참조함으로써 소정 사용자 상호작용에 대한 수정을 나타낼 수 있다. 이러한 변경의 리스트는 트리거 ID에 응답하여 실행될 수 있다.
특정 예로서, 사운드 효과 렌더링의 시작이 사운드 소스에 대한 속성으로서의 SoundEffectID를 사용하여 표시될 수 있으며, 재생될 사운드 효과의 사운드 효과 ID는 타겟 값으로서 포함된다.
사운드 효과 데이터는 예를 들어 다음의 신택스에 따라 제공될 수 있다:
sedPresent
사운드 효과 데이터가 존재하는지를 나타내는 플래그.
sedNrElements
다음에 정의될 사운드 효과 요소의 수를 나타낸다.
sedID
사운드 효과의 ID.
acdParentID
장면 그래프에서의 사운드 효과의 부모의 ID.
sedDuration
사운드 효과의 지속기간.
sedPregain
사운드 효과에 대한 사전 이득 값.
몇몇 실시예에서, 음향 환경 데이터는 특정 영역과 연관된 데이터를 포함할 수 있다. 예를 들어, 특성 값은 그것이 적용가능한 특정 영역의 표시와 함께 제공될 수 있다. 예를 들어, 주어진 오디오 소스에 대해, 특성(예컨대, 주파수 의존 감쇠)은 청취자가 오디오 소스와 동일한 방에 있는지 또는 사용자가 상이한 방에 있는지에 의존할 수 있다. 이에 따라 특성은 값이 유효하기 위해 청취 위치가 있어야 하는 연결된 영역의 표시를 구비할 수 있다. 청취 위치가 적용가능한 구역 밖에 있는 경우, 특성은 유효하게 사용될 수 없다. 대신에, 다른 특성 값이 예를 들어 현재 청취 위치를 포함하는 적용가능한 상이한 영역과 함께 포함될 수 있다.
많은 실시예에서, 메타데이터는 하나 이상의 특성에 대해 다수의 연결된 영역을 포함할 수 있고 구체적으로 적용가능한 제1 및 제2 영역을 포함할 수 있으며, 여기서 제1 영역은 오디오 요소/오디오 소스 위치에 대해 제공되고 제2 영역은 청취 위치에 대해 제공된다. 이에 따라, 특성 값은 2개의 영역과 연관될 수 있으며, 이때 하나의 영역은 청취 위치와 관련되고 다른 영역은 오디오 소스 위치와 관련된다. 이어서 디코더/렌더러는 청취 위치 및 오디오 소스 위치가 적절한 영역 내에 있는지를 평가할 수 있다. 만약 그렇지 않으면, 디폴트 값, 청취 위치 및 오디오 소스 위치를 포함하는 다른 유효성 영역과 연관된 값, 또는 원래 값에 대한 대안으로서 제공되고 충족되지 않는 유효성 영역에 대해 사용되도록 표시된 대안적인 특성 값과 같은, 다른 특성 값이 사용될 수 있다.
특정 예로서, 비트스트림은 각각 청취 위치 및 오디오 소스/오디오 요소 위치에 대한 유효성 영역을 각각 표현하기 위해 applicableRegion 및 internalSourceRegion으로 표시된 필드/데이터를 포함할 수 있다.
예로서, 비트스트림은 청취 위치 및 이것이 데이터 필드 applicableRegion 내의 값에 의해 표시된 영역 내에 있는지에 의존하는 제1 특성 값에 대한 데이터를 포함할 수 있다. 이어서, 이 값은 추가로 데이터 필드 internalSourceRegion 내의 값에 의해 표시된 영역 내에 있는 오디오 소스에 직접 적용가능한 반면, 데이터 필드 internalSourceRegion에 표시된 영역 밖에 있을 때 상이한 특성 값이 적용될 것이다.
그러한 접근법을 사용하는 비트스트림의 데이터의 예가 하기에 포함된다.
AcousticEnvironmentData()
신택스의 이 부분은 (일반적인) 음향 환경/주변 상황의 (전반적인) 특성을 설명한다. 구체적으로 잔향 특성.
acdPresent
음향 환경 데이터가 존재하는지를 나타내는 플래그.
acdNrElements
정의된 음향 환경의 수를 나타낸다.
acdID
음향 환경 정의의 ID.
acdParentID
장면 그래프에서의 음향 환경 정의의 부모의 ID.
applicableRegionID
파라미터가 적용되는 영역을 설명하는 기하학적 요소의 ID. 위치 및 배향은, 그의 포즈 의존성이 전역적이 아니면, 음향 환경의 부모에 의해 오프셋될 것이다.
internalSourceRegionID
모든 둘러싸인 소스가 모든 그의 에너지를 잔향에 기부하는 영역을 설명하는 기하학적 요소의 ID. 위치 및 배향은, 그의 포즈 의존성이 전역적이 아니면, 음향 환경의 부모에 의해 오프셋될 것이다.
freqGridIdx
FreqGridData()에 정의된 주파수 그리드의 리스트에서의 인덱스.
dsrOffset
RIR에서 DSR이 계산되는 곳으로부터의 초 단위의 오프셋, 오프셋 = 0은 소스에서의 방출과 일치한다. 이에 따라, 그것은 더 높아야 한다.
T60
초기 감쇠 후, EDC의 선형 부분에서 0 내지 -30 dB 포인트로부터 계산된 T60 시간.
DSR
확산 대 소스 에너지 비율. 확산 잔향 에너지는 RIR 지연 dsrOffset 후에 그리고 하나의 사용자의 샘플 포인트에 대해 계산된다. 소스 에너지는 그 확산 에너지를 발생시키는 총 방출된 소스 에너지이다.
dsrCode
DSR 값을 나타내는 코드.
GeometricElementData()
신택스의 이 부분은 기하학적 요소를 설명한다.
gedPresent
음향 환경 데이터가 존재하는지를 나타내는 플래그.
gedNrElements
정의된 기하학적 요소의 수를 나타낸다.
gedID
기하학적 요소의 ID.
gedType
다음에 전달되는 기하학적 요소의 유형을 정의한다.
cornerPos1
축 정렬된 박스의 하나의 코너를 포함한다. 위치는 전역적 좌표를 표현한다.
cornerPos2
cornerPos1로부터 박스를 대각선으로 가로지르는, 축 정렬된 박스의 제2 코너를 포함한다. 위치는 전역적 좌표를 표현한다.
boxParentID
대응하는 박스 기하학적 요소의 부모 노드의 ID.
boxPoseDependency
음향 요소의 포즈가 무엇에 대한 것인지를 나타낸다.
boxPosition
박스 기하학적 구조의 위치 좌표(x, y, z), 미터 단위.
boxOrientation
박스 기하학적 구조의 배향(요, 피치, 롤), 라디안 단위.
boxXDim
임의의 회전 전의 x축을 따른 박스 기하학적 구조의 치수.
boxYDim
임의의 회전 전의 y축을 따른 박스 기하학적 구조의 치수.
boxZDim
임의의 회전 전의 z축을 따른 박스 기하학적 구조의 치수.
UserInteractionData()
신택스의 이 부분은 사용자 상호작용 데이터를 설명한다. 그것은 (예를 들어, 소스를 픽업하고 그것을 장면 여기저기로 이동시키는 것과 같은, 완전 사용자 제어 상호작용을 위해) 어떤 요소에 대해, 어떤 속성이 어떤 값으로 변경되어야 하는지, 또는 이 값이 외부 엔티티로부터 제공되는지를 설명함으로써, 사용자 상호작용이 어떻게 트리거될 수 있는지, 그리고 트리거에 응답하여 어떤 변경이 이루어져야 하는지를 설명한다.
사용자 상호작용에 대한 보다 의미론적인 정의는 비주얼, 오디오, 햅틱과 같은 6DoF 미디어 렌더링의 모든 태양을 커버하는 상위 비트스트림 레벨에서 정의될 수 있다. 사용자 상호작용은 이러한 태양들의 전부 또는 서브세트에 영향을 미칠 수 있다. 이 시스템 계층(MPEG-I의 경우에, MPEG 시스템 워킹 그룹 WG03에 의해 커버됨)은 사용자가 소정 상호작용을 트리거할 수 있는 방법을 정의하며, 이것은 장면의 소정 공간 영역 내에서 컨트롤러의 트리거 버튼의 활성화를 정의하는 측면일 수 있거나, 다른 계층이 추상적 의미를 하드웨어 의존 제어에 연결하는 보다 추상적인 의미일 수 있다. 예를 들어, 사용자가 문 5를 열면, 사용자 상호작용 G를 활성화한다.
시스템 레벨에서의 그러한 사용자 상호작용 트리거는 각자의 미디어 렌더에 전용 사용자 상호작용 트리거를 전송할 수 있다. 예를 들어, 시스템 레벨 사용자 상호작용 G는 오디오 사용자 상호작용 12에 연결될 수 있으며, 오디오 렌더러는 후속하여 triggerID = 12로 사용자 상호작용과 연관된 변경을 실행한다.
많은 실시예에서, 그러한 사용자 상호작용 트리거는 보다 몰입감 있는 사용자 상호작용을 위한 추가 파라미터를 수반할 수 있다. 예를 들어, 그것은 사용자에 의해 픽업되고 이동되고 있는 사운드 소스의 위치 좌표를 제공할 수 있다.
오디오 렌더러 밖으로부터 트리거되는 그러한 사용자 상호작용은 외부 트리거된 것으로 불릴 수 있다. 다른 것들은 오디오 렌더러 자체에 의해 트리거되는 것에 의존할 수 있다. 그러한 트리거들 간의 구분은 사용자 상호작용 변경을 설명하는 비트스트림 내의 triggerType 특성에 의해 표시될 수 있다.
uidPresent
사용자 상호작용이 존재하는지를 나타내는 플래그.
triggerType
사용자 상호작용이 장면 업데이트를 트리거하는 방식을 정의한다.
triggerIdx
이 특정 장면 업데이트를 트리거하기 위해 외부 소스로부터의 사용자 상호작용 메시지에서 사용되는 인덱스.
triggerID
이 특정 장면 업데이트를 설명하기 위해 조건을 설명하는 조건 요소의 ID.
condTransition
조건이 표시된 전이 값으로 변경될 때, 그것은 업데이트를 트리거할 것이다.
updateDelay
업데이트가 트리거된 후에 업데이트가 얼마나 지연되어야 하는지.
nrChanges
이 장면 업데이트에 대한 변경의 수를 나타낸다.
usePreviousID
변경이 이전 변경과 동일한 ID에 대한 것일지를 나타내는 플래그.
immediateChange
변경이 즉각적인지 또는 소정 지속기간에 걸쳐 그의 타겟 값으로 보간되는지를 나타내는 플래그.
duration
변경의 보간 지속기간.
targetAttribute
변경될 속성의 이름.
attribCode
수정가능한 속성을 나타내는 코드.
externalParameter
파라미터 값이 외부 프로세스에 의해 제공되는지를 나타내는 플래그.
parameterIdx
이 속성에 매핑되는 외부 프로세스로부터의 메시지에서의 파라미터의 인덱스.
paramIdxCode
파라미터 인덱스를 나타내는 코드.
moreParameters
추가적인 파라미터가 존재하는지를 나타내는 플래그.
targetValue
변경을 위한 타겟 값. 타겟 속성의 유형에 따라, 값은 신택스 내의 스위치 문(switch statement)에 의해 표시된 바와 같이 상이하게 코딩될 수 있다.
지원 요소들
비트스트림은 특성 값을 표현하는 데이터의 제공을 지원할 수 있는 다양한 지원 요소를 포함할 수 있다.
또한, 많은 실시예에서, 특성의 값을 나타내는 데 사용되는 비트의 수는 비트스트림에서 가변적일 수 있다. 특히, 특성 값은 미리 결정된 수의 비트를 포함하는 필드에 의해 표시될 수 있다. 그러나, 특성 값에 대한 추가적인 비트를 제공하는 하나 이상의 확장 필드가 포함되는 것을 나타내기 위해 플래그 표시자가 포함될 수 있다. 확장 필드는 구체적으로 특성 값의 범위를 확장하기 위한 추가적인 비트를 제공할 수 있다. 특히, 확장 필드는 디폴트 필드의 데이터 비트와 결합되어 (동적) 범위를 갖는 특성 값을 생성하기 위한 추가 최상위(/더 상위) 비트를 포함할 수 있다(그리고 구체적으로 그것은 더 높은 값이 표현되도록 허용할 수 있는 추가적인 비트를 제공할 수 있다).
다른 시나리오에서, 확장 필드(들)는 구체적으로 특성 값의 정확도를 확장하기 위한 추가적인 비트를 제공할 수 있다. 특히, 확장 필드는 디폴트 필드의 데이터 비트와 결합되어 더 높은 정확도를 갖는 특성 값을 생성하기 위한 추가 최하위(/더 하위) 비트를 포함할 수 있다.
몇몇 실시예에서, 음향 환경 데이터는 주어진 특성의 값을 표현하는 제1 비트를 제공하는 제1 데이터 필드, 및 제1 특성의 값을 표현하는 추가 비트를 제공하는 추가 확장 데이터 필드가 포함되는지의 표시를 포함할 수 있는 제1 데이터 필드/주어진 특성에 대한 표시를 제공할 수 있는 제2 데이터 필드를 포함할 수 있다. 표시는 예를 들어 확장 필드가 제공된 데이터 값의 범위를 확장하기 위한 비트를 포함한다는 표시, 및/또는 확장 필드가 제공된 데이터 값의 정확도/해상도를 증가시키기 위한 비트를 포함한다는 표시일 수 있다. 구체적으로, 표시는 값이 제1/디폴트 필드 및 확장 필드 둘 모두로부터의 비트들의 결합으로부터 기인하는 더 큰 데이터 워드에 의해 표현된다는 것을 나타낼 수 있다.
몇몇 실시예에서, 추가 비트는 특성에 대한 가능한 값들의 범위를 확장한다. 추가 비트는 제1 비트보다 특성의 값을 표현하는 데이터 워드의 더 중요한 비트일 수 있다. 몇몇 실시예에서, 추가 비트는 특성에 대한 가능한 값들의 해상도를 증가시킨다. 추가 비트는 제1 비트보다 제1 특성의 값을 표현하는 데이터 워드의 덜 중요한 비트일 수 있다. 추가 비트는 제1 특성에 대한 가능한 값들의 정확도를 확장할 수 있다.
많은 실시예에서, 디폴트 비트 및 추가 비트는 반드시 비트들을 연결함으로써 결합되는 것은 아니며, 오히려 그들은 각각 다른 방식으로 결합된 값을 표현할 수 있다.
이에 따라, 몇몇 실시예에서, 음향 환경 데이터는 특성에 대한 값을 결정하기 위해 추가 비트가 사용된다는 것을 나타내는 표시/플래그(들)를 포함할 수 있다. 접근법은 예를 들어 공간 특성; 양; 이득 특성; 볼륨 특성; 주파수 특성; 인덱스 특성; 및 아이덴티티 특성을 포함한 많은 상이한 특성 값들에 사용될 수 있다.
예를 들어, 더 넓은 범위가 제공된다는 것을 나타내기 위해, 다음의 필드가 사용될 수 있다:
Figure pat00051
시간의 측정에 대해: addSeconds
공간의 측정에 대해: addHectometers
양의 측정에 대해: isLargerNumber
(정수) ID 번호에 대해: largerValue
보다 정확한(더 높은 해상도) 값이 제공된다는 것을 나타내기 위해, 다음의 필드가 사용될 수 있다:
시간의 측정에 대해: addMilliseconds
공간의 측정에 대해: addCentimeters
주파수의 측정에 대해: moreAccuracy
각도의 측정에 대해: addFineAngle
이득의 측정에 대해: addFineGain.
비트스트림에 대한 다양한 지원 요소가 아래에 설명될 것이다. 지원 요소는 위에서 설명된 바와 같은 가변 범위/해상도 값을 사용할 수 있다.
GetID()
정수 ID를 반환한다.
idVal
ID 값 또는 부분 ID 값.
largerValue
ID 값이 더 큰지를 나타내는 플래그.
GetCountOrIndex()
범위 [0..1023] 내의 숫자를 반환한다.
countOrIndexLoCode
카운트 또는 인덱스 값의 하위 비트를 나타내는 코드.
isLargerNumber
더 큰 숫자를 나타내기 위해 더 많은 비트가 전송되는지를 나타내는 플래그.
countOrIndexHiCode
카운트 또는 인덱스 값의 상위 비트를 나타내는 코드.
GetDuration()
샘플에서의 시간 지속기간을 반환한다.
LUT()
값이 인수로서 제공되는 필드에 대응하는 룩업 테이블에서 조회를 실행한다.
deciSecondsCode
십진수 초 지속기간 오프셋을 나타내기 위한 코드.
addMilliseconds
다음에 밀리초 지속기간 오프셋이 전송되는지를 나타내는 플래그.
milliSecondsCode
밀리초 지속기간 오프셋을 나타내기 위한 코드.
addSamples
다음에 샘플 기반 지속기간 오프셋이 전송되는지를 나타내는 플래그.
samplesCode
샘플 지속기간 오프셋의 번호를 나타내기 위한 코드.
addSeconds
다음에 초 지속기간 오프셋이 전송되는지를 나타내는 플래그.
secondsCode
초 지속기간 오프셋을 나타내기 위한 코드.
GetFrequency()
범위 [16...49717]로부터의 Hz 단위의 주파수를 반환한다.
LUT()
값이 인수로서 제공되는 필드에 대응하는 룩업 테이블에서 조회를 실행한다.
frequencyCode
1/3 옥타브 대역의 Hz 단위의 중심 주파수를 나타내는 코드.
moreAccuracy
보다 정확한 주파수에 대한 데이터가 전송되는지를 나타내는 플래그.
frequencyRefine
주파수 값을 정제하기 위한 값을 나타내는 필드.
GetPosition()
미터 단위의 위치 [x, y, z]를 반환한다.
GetPositionDelta()
미터 단위의 위치 델타 [dx, dy, dz]를 반환한다.
GetDistance()
미터 단위의 거리를 반환한다.
LUT()
값이 인수로서 제공되는 필드에 대응하는 룩업 테이블에서 조회를 실행한다.
metersCode
미터 좌표 오프셋을 나타내기 위한 코드.
addHectometers
다음에 헥토미터 좌표 오프셋이 전송되는지를 나타내기 위한 플래그.
hectometersCode
헥토미터 좌표 오프셋을 나타내기 위한 코드.
addKilometers
다음에 킬로미터 좌표 오프셋이 전송되는지를 나타내기 위한 플래그.
kilometersCode
킬로미터 좌표 오프셋을 나타내기 위한 코드. 10 km를 초과하는 거리에 대해 다수의 발생이 제공될 수 있다.
addCentimeters
다음에 센티미터 좌표 오프셋이 전송되는지를 나타내기 위한 플래그.
centimetersCode
센티미터 좌표 오프셋을 나타내기 위한 코드.
addMillimeters
다음에 밀리미터 좌표 오프셋이 전송되는지를 나타내기 위한 플래그.
millimetersCode
밀리미터 좌표 오프셋을 나타내기 위한 코드.
배향 특성의 표현
음향 환경 데이터는 많은 그리고 실제로 아마도 대부분의 시나리오에서 하나 이상의 배향 특성에 대한 값을 포함할 수 있다.
몇몇 실시예에서, 이것은 유리하게도 배향 값의 표현을 포함하는 음향 환경 데이터에 의해 달성될 수 있다.
몇몇 실시예에서, 음향 환경 데이터는 배향 특성을 표현하기 위한 배향 표현 포맷을 설명하는 데이터 그룹/데이터 필드를 포함한다. 많은 실시예에서, 음향 환경 데이터는 복수의 상이한 배향 표현 포맷을 설명하거나 정의하는 (동일한 또는 상이한 데이터 세트/포인트 내의) 데이터를 포함할 수 있다. 각각의 배향 표현 포맷은 배향 값을 제시하기 위한 (데이터/비트) 포맷을 제공할 수 있다. 이어서 복수의 데이터 세트/포인트는 정의된 배향 표현 포맷들 중 하나를 사용함으로써 배향 특성을 설명하는 데이터를 포함할 수 있다.
몇몇 실시예에서, 음향 환경 데이터는 비트스트림이 배향 표현 포맷을 설명하는 데이터 그룹/데이터 필드를 포함하는지를 나타내기 위한 표시자를 포함할 수 있다. 예를 들어, 배향 표현 포맷을 설명하는 데이터 필드가 포함되는 것을 나타내기 위해 플래그가 표시될 수 있다.
또한, 개별 배향 값들에 대해 그들이 음향 환경 데이터에 정의된 배향 표현 포맷에 따라 제공되는지 여부를 나타내는 플래그/표시자가 제공될 수 있다. 예를 들어 다수의 배향 표현 포맷 중 어떤 것이 특정 값에 대해 사용되는지를 나타내기 위해 플래그/표시자가 개별 값들에 대해 포함될 수 있다.
배향 표현 포맷은 예를 들어 다음 중 하나 이상을 포함할 수 있다:
미리 결정된 디폴트 배향 표현의 표시. 다수의 디폴트 배향 표현이 (예를 들어, 표준 정의에 의해) 미리 결정될 수 있다. 그러한 디폴트 배향을 참조하기 위해 데이터가 포함될 수 있다. 예를 들어, 필드 orientationCode는 디폴트 배향을 나타낼 수 있다.
미리 결정된 각도들의 세트. 배향 표현 포맷은 미리 결정된 각도들의 세트를 정의할 수 있으며, 배향 값은 예를 들어 그러한 미리 결정된 각도들 중 하나를 참조함으로써 간단히 표시될 수 있다. 예를 들어, 미리 결정된 각도들 각각은 인덱스에 의해 표현될 수 있고, 주어진 배향 값은 적절한 인덱스를 표시함으로써 표현될 수 있다. 예를 들어, 배향 값의 각각의 각도는 작은 각도 범위로부터의 디폴트 각도에 의해 표시될 수 있다.
예를 들어 양자화된 그리드 상의 각도 세트. 각도의 표현은 명시적 각도 값에 의할 수 있다. 각도 값은 주어진 워드 길이에 의해 표현되고 이에 따라 주어진 양자화 레벨을 가질 수 있다. 이에 따라, 배향의 각각의 각도는 더 큰 범위의 각도들 중 하나에 의해 표시된다.
위의 예에 따라 배향 값을 제공하는 접근법의 몇몇 예가 아래에 제공된다.
GetOrientation()
라디안 단위의 배향 [요, 피치, 롤]을 반환한다.
LUT()
값이 인수로서 제공되는 필드에 대응하는 룩업 테이블에서 조회를 실행한다.
orientationCode
디폴트 배향 또는 추가 데이터가 배향을 정의하는 2개의 탈출 값 중 하나를 나타내는, 배향에 대한 코드.
defaultYawCode
디폴트 요 각도에 대한 코드.
defaultPitchCode
디폴트 피치 각도에 대한 코드.
defaultRollCode
디폴트 롤 각도에 대한 코드.
coarseAngleCode
1/36 pi의 스텝의 대략적 각도 표시를 위한 코드.
addFineAngle
더 미세한 세분성 각도 데이터가 전송되는지를 나타내는 플래그.
fineAngleCode
1/1800 pi의 스텝의 미세한 각도 표시를 위한 코드.
GetGain()
dB 단위의 이득 값을 반환한다.
coarseGainCode
대략적 이득 값(dB 단위)에 대한 코드.
addFineGain
더 미세한 해상도 이득 값을 제공하기 위해 추가 데이터가 전송되는지를 나타내는 플래그.
fineGainCode
더 미세한 이득 해상도(1 dB 해상도)에 대한 코드.
GetGainDelta()
dB 단위의 이득 델타 값을 반환한다.
GetRenderingConditions()
소스를 렌더링하는 방법에 대한 정보를 포함한다.
isNormalConditions
렌더링 조건이 정상인지를 나타내는 플래그. 이것은 음향 특징이 명시적으로 턴오프되지 않으며, 소스의 렌더링 또는 소스의 소정 음향 특징이 디코더에 의해 결정된다는 것을 의미한다.
doReverb
대응하는 소스에 대한 잔향을 렌더링할지를 나타내는 플래그.
doEarlyReflections
대응하는 소스에 대한 조기 반사를 렌더링할지를 나타내는 플래그.
doDoppler
대응하는 소스에 대한 도플러 효과를 렌더링할지를 나타내는 플래그.
doDistanceAtt
대응하는 소스에 대한 거리 감쇠를 렌더링할지를 나타내는 플래그.
doDirectPath
대응하는 소스에 대한 직접 경로를 렌더링할지를 나타내는 플래그.
regionDependentActivation
사용자 위치에 따라, 추가 데이터가 소스가 활성화되어야 하는지를 지정할지를 나타내는 플래그.
activateGoingIn
참일 때, 소스는 사용자가 지정된 영역으로 이동할 때 활성화되어야 한다는 것을 나타내는 플래그.
regionDependentDeactivation
사용자 위치에 따라, 추가 데이터가 소스가 비활성화되어야 하는지를 지정할지를 나타내는 플래그.
deactivateGoingIn
참일 때, 소스는 사용자가 지정된 영역으로 이동할 때 비활성화되어야 한다는 것을 나타내는 플래그.
상기에서, 용어 '오디오' 및 '오디오 소스'가 사용되었지만, 이것은 용어 '사운드' 및 '사운드 소스'와 동등하다는 것이 인식될 것이다. 용어 "오디오"에 대한 언급은 용어 "사운드"에 대한 언급으로 대체될 수 있다.
위의 설명은 명료함을 위해 상이한 기능 회로들, 유닛들 및 프로세서들을 참조하여 본 발명의 실시예들을 설명하였음이 인식될 것이다. 그러나, 본 발명으로부터 벗어남이 없이 상이한 기능 회로들, 유닛들 또는 프로세서들 사이의 기능의 임의의 적합한 분산이 사용될 수 있음이 명백할 것이다. 예를 들어, 별개의 프로세서들 또는 컨트롤러들에 의해 수행되도록 예시된 기능이 동일한 프로세서 또는 컨트롤러에 의해 수행될 수 있다. 따라서, 특정 기능 유닛들 또는 회로들에 대한 언급들은 오로지 엄격한 논리적 또는 물리적 구조 또는 조직을 나타내기보다는 설명된 기능을 제공하기 위한 적합한 수단에 대한 언급들로 간주되어야 한다.
본 발명은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합을 포함한 임의의 적합한 형태로 구현될 수 있다. 본 발명은 선택적으로 하나 이상의 데이터 프로세서 및/또는 디지털 신호 프로세서 상에서 실행되는 컴퓨터 소프트웨어로서 적어도 부분적으로 구현될 수 있다. 본 발명의 실시예의 요소들 및 컴포넌트들은 임의의 적합한 방식으로 물리적으로, 기능적으로 그리고 논리적으로 구현될 수 있다. 실제로 기능은 단일 유닛에서, 복수의 유닛에서, 또는 다른 기능 유닛들의 일부로서 구현될 수 있다. 그렇기 때문에, 본 발명은 단일 유닛에서 구현될 수 있거나, 상이한 유닛들, 회로들 및 프로세서들 간에 물리적으로 그리고 기능적으로 분산될 수 있다.
본 발명이 몇몇 실시예들과 관련하여 설명되었지만, 본 발명은 본 명세서에 기재된 특정 형태로 제한되도록 의도되지 않는다. 오히려, 본 발명의 범위는 첨부된 청구항들에 의해서만 제한된다. 또한, 소정 특징이 특정 실시예들과 관련하여 설명되는 것처럼 보일 수 있지만, 당업자는 설명된 실시예들의 다양한 특징들이 본 발명에 따라 조합될 수 있음을 인식할 것이다. 청구항들에서, 용어 '포함하는'은 다른 요소들 또는 단계들의 존재를 배제하지 않는다.
또한, 개별적으로 열거되지만, 복수의 수단, 요소, 회로 또는 방법 단계는 예를 들어 단일 회로, 유닛 또는 프로세서에 의해 구현될 수 있다. 또한, 개개의 특징들이 상이한 청구항들에 포함될 수 있지만, 이들은 아마도 유리하게 조합될 수 있으며, 상이한 청구항들에의 포함은 특징들의 조합이 실현 가능하지 않고/않거나 유리하지 않다는 것을 암시하지 않는다. 또한 하나의 카테고리의 청구항들에의 소정 특징의 포함은 이 카테고리로의 제한을 암시하는 것이 아니라, 오히려 그 특징이 적절한 바에 따라 다른 청구항 카테고리들에 동등하게 적용될 수 있음을 나타낸다. 또한, 청구항들에서의 특징들의 순서는 특징들이 작용되어야 하는 임의의 특정 순서를 암시하지 않으며, 특히 방법 청구항에서의 개별 단계들의 순서는 단계들이 이 순서대로 수행되어야 함을 암시하지 않는다. 오히려, 단계들은 임의의 적합한 순서로 수행될 수 있다. 또한, 단수형 언급은 복수를 배제하지 않는다. 이에 따라 "부정관사(a, an)", "제1", "제2" 등에 대한 언급은 복수를 배제하지 않는다. 청구항들에서의 참조 부호들은 단지 명료화 예로서 제공되며, 어떤 방식으로도 청구항들의 범위를 제한하는 것으로 해석되지 않아야 한다.

Claims (16)

  1. 비트스트림을 생성하기 위한 장치로서,
    환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 생성하도록 배열된 메타데이터 생성기(203)로서, 상기 메타데이터는 상기 환경에 대한 음향 환경 데이터를 포함하고, 상기 음향 환경 데이터는 상기 환경 내의 상기 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 상기 음향 환경 데이터 중 적어도 일부는 상기 환경 내의 복수의 청취 포즈들에 적용가능하고, 상기 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 메타데이터 생성기(203); 및
    상기 메타데이터를 포함하도록 상기 비트스트림을 생성하도록 배열된 비트스트림 생성기(205)를 포함하며,
    상기 음향 환경 데이터는 사운드 전파에 영향을 미치는 상기 특성들 중의 제1 특성의 값을 표현하는 제1 비트들에 대한 제1 데이터 필드, 및 상기 음향 환경 데이터가 상기 제1 특성의 값을 표현하는 제2 비트들에 대한 확장 데이터 필드를 포함하는지의 표시를 위한 제2 데이터 필드를 포함하는, 장치.
  2. 제1항에 있어서, 상기 음향 환경 데이터는 사운드 전파에 영향을 미치는 상기 특성들 중의 적어도 하나의 특성에 대한 특성 값들의 표현의 적어도 일부에 대한 데이터 포맷을 설명하는 데이터 그룹, 및 상기 표현을 사용하여 적어도 하나의 특성 값을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하는, 장치.
  3. 제1항 또는 제2항에 있어서, 상기 음향 환경 데이터는 주파수 그리드를 설명하는 데이터 그룹, 및 상기 주파수 그리드를 사용하여 상기 특성들 중의 주파수 의존 특성을 설명하는 데이터를 각각 포함하는 복수의 데이터 그룹들을 포함하고, 상기 비트스트림은 상기 비트스트림이 상기 주파수 그리드를 설명하는 상기 데이터 그룹을 포함하는지를 나타내기 위한 표시자를 포함하고, 상기 데이터 그룹은 상기 주파수 그리드를 설명하는 데이터에 대한 포맷의 표시를 포함하며, 상기 데이터 그룹은,
    미리 결정된 디폴트 그리드의 표시를 제공하는 데이터,
    상기 주파수 그리드의 적어도 일부 하위 범위들에 대한 시작 주파수 및 주파수 범위를 나타내는 데이터, 및
    개별 주파수들을 나타내는 데이터
    중 적어도 하나를 포함하는, 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 음향 환경 데이터는 배향 특성들을 표현하기 위한 배향 표현 포맷을 설명하는 데이터 그룹, 및 상기 배향 표현 포맷을 사용하여 상기 특성들 중의 배향 특성을 설명하는 데이터를 포함하는 적어도 하나의 데이터 그룹을 포함하며, 상기 데이터 그룹은,
    미리 결정된 디폴트 배향 표현의 표시를 제공하는 데이터,
    미리 결정된 각도들의 세트를 나타내는 데이터, 및
    양자화된 그리드 상의 각도들을 나타내는 데이터
    중 적어도 하나를 포함하는, 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제2 비트들은 상기 제1 특성에 대한 가능한 값들의 범위를 확장하는, 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2 비트들은 상기 제1 특성에 대한 가능한 값들의 해상도를 증가시키는, 장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 메타데이터 생성기(203)는, 상기 환경이 공간적으로 제약된 환경이라는 전역적 표시자를 포함하도록 상기 음향 환경 데이터를 생성하고, 상기 환경이 공간적으로 제약됨을 나타내는 상기 전역적 표시자에 대한 데이터 값들에 대한 미리 결정된 제한된 포맷을 준수하도록 상기 음향 환경 데이터의 데이터 값들을 제한하도록 배열되는, 장치.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 음향 환경 데이터는 적어도 제1 오디오 요소에 대한 애니메이션 표시를 포함하고, 상기 애니메이션 표시는 상기 제1 오디오 요소에 대한 적어도 하나의 특성이 시간 간격 동안 변하는지를 나타내며, 상기 제1 오디오 요소가 적어도 하나의 가변 특성을 갖는다는 애니메이션 표시를 위한 상기 음향 환경 데이터는 상기 적어도 하나의 가변 특성의 변화를 설명하는 데이터를 포함하는, 장치.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 오디오 요소들은 다수의 사운드 효과 요소들을 포함하고, 상기 음향 환경 데이터는 상기 환경에 대한 사용자 제어 변경을 상기 다수의 사운드 효과 요소들 중의 제1 사운드 효과 요소와 연결하는 데이터를 포함하는, 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 음향 환경 데이터는 연속적인 데이터 세트들로 배열되고, 각각의 데이터 세트는 시간 간격에 대한 데이터를 포함하고, 상기 연속적인 데이터 세트들 중의 제1 데이터 세트는 사운드에 영향을 미치는 상기 특성들 중의 적어도 하나의 특성에 대한 제1 특성 값 및 상기 제1 특성 값에 대한 시간 표시를 포함하고, 상기 시간 표시는 상기 제1 데이터 세트에 의해 표현되는 시간 간격 내의 시간을 나타내는, 장치.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 음향 환경 데이터는 연속적인 데이터 세트들로 배열되고, 각각의 데이터 세트는 시간 간격에 대한 데이터를 포함하고, 상기 비트스트림 생성기(203)는, 사운드 전파에 영향을 미치는 상기 특성들 중의 제1 특성에 대한 특성 값이 제1 데이터 세트에 의해 표현되는 시간 간격 내의 디폴트 시간 동안 제공되는지를 결정하고, 만약 그렇다면 시간 표시 없이 상기 제1 특성 값을 상기 제1 데이터 세트에 포함시키고, 만약 그렇지 않다면 상기 제1 특성 값에 대한 시간 표시와 함께 상기 제1 특성 값을 상기 제1 데이터 세트에 포함시키도록 배열되는, 장치.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 제1 오디오 요소에 대한 상기 음향 환경 데이터는 사운드 전파에 영향을 미치는 상기 특성들 중의 제1 특성에 대한 제1 특성 값에 대한 적용가능한 제1 영역 및 적용가능한 제2 영역의 표시를 포함하며, 상기 적용가능한 제1 영역은 상기 제1 특성 값이 적용되는 상기 제1 오디오 요소의 위치에 대한 영역을 나타내고, 상기 적용가능한 제2 영역은 상기 제1 특성 값이 적용되는 청취 위치에 대한 영역을 나타내는, 장치.
  13. 렌더링된 오디오를 생성하기 위한 장치로서,
    환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터를 수신하도록 배열된 제1 수신기(303);
    상기 환경 내의 오디오 소스들을 표현하는 상기 복수의 오디오 요소들에 대한 상기 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림을 수신하도록 배열된 제2 수신기(305)로서, 상기 메타데이터는 상기 환경에 대한 음향 환경 데이터를 포함하고, 상기 음향 환경 데이터는 상기 환경 내의 상기 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 상기 음향 환경 데이터 중 적어도 일부는 상기 환경 내의 복수의 청취 포즈들에 적용가능하고, 상기 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 제2 수신기(305);
    상기 오디오 데이터 및 상기 음향 환경 데이터에 응답하여 상기 환경에 대한 출력 오디오 데이터를 생성하도록 배열된 렌더러(307)를 포함하며,
    상기 음향 환경 데이터는 사운드 전파에 영향을 미치는 상기 특성들 중의 제1 특성의 값을 표현하는 제1 비트들에 대한 제1 데이터 필드, 및 상기 음향 환경 데이터가 상기 제1 특성의 값을 표현하는 제2 비트들에 대한 확장 데이터 필드를 포함하는지의 표시를 위한 제2 데이터 필드를 포함하는, 장치.
  14. 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림으로서, 상기 메타데이터는 상기 환경에 대한 음향 환경 데이터를 포함하고, 상기 음향 환경 데이터는 상기 환경 내의 상기 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 상기 음향 환경 데이터 중 적어도 일부는 상기 환경 내의 복수의 청취 포즈들에 적용가능하고, 상기 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하며,
    상기 음향 환경 데이터는 사운드 전파에 영향을 미치는 상기 특성들 중의 제1 특성의 값을 표현하는 제1 비트들에 대한 제1 데이터 필드, 및 상기 음향 환경 데이터가 상기 제1 특성의 값을 표현하는 제2 비트들에 대한 확장 데이터 필드를 포함하는지의 표시를 위한 제2 데이터 필드를 포함하는, 비트스트림.
  15. 비트스트림을 생성하는 방법으로서,
    환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 생성하는 단계로서, 상기 메타데이터는 상기 환경에 대한 음향 환경 데이터를 포함하고, 상기 음향 환경 데이터는 상기 환경 내의 상기 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 상기 음향 환경 데이터 중 적어도 일부는 상기 환경 내의 복수의 청취 포즈들에 적용가능하고, 상기 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터에 대한 메타데이터를 생성하는 단계; 및
    상기 메타데이터를 포함하도록 상기 비트스트림을 생성하는 단계를 포함하며,
    상기 음향 환경 데이터는 사운드 전파에 영향을 미치는 상기 특성들 중의 제1 특성의 값을 표현하는 제1 비트들에 대한 제1 데이터 필드, 및 상기 음향 환경 데이터가 상기 제1 특성의 값을 표현하는 제2 비트들에 대한 확장 데이터 필드를 포함하는지의 표시를 위한 제2 데이터 필드를 포함하는, 방법.
  16. 렌더링된 오디오를 생성하는 방법으로서,
    환경 내의 오디오 소스들을 표현하는 복수의 오디오 요소들에 대한 오디오 데이터를 수신하는 단계;
    상기 환경 내의 오디오 소스들을 표현하는 상기 복수의 오디오 요소들에 대한 상기 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림을 수신하는 단계로서, 상기 메타데이터는 상기 환경에 대한 음향 환경 데이터를 포함하고, 상기 음향 환경 데이터는 상기 환경 내의 상기 오디오 소스들에 대한 사운드 전파에 영향을 미치는 특성들을 설명하고, 상기 음향 환경 데이터 중 적어도 일부는 상기 환경 내의 복수의 청취 포즈들에 적용가능하고, 상기 특성들은 정적 특성 및 동적 특성 둘 모두를 포함하는, 상기 환경 내의 오디오 소스들을 표현하는 상기 복수의 오디오 요소들에 대한 상기 오디오 데이터에 대한 메타데이터를 포함하는 비트스트림을 수신하는 단계; 및
    상기 오디오 데이터 및 상기 음향 환경 데이터에 응답하여 상기 환경에 대한 출력 오디오 데이터를 생성하는 단계를 포함하며,
    상기 음향 환경 데이터는 사운드 전파에 영향을 미치는 상기 특성들 중의 제1 특성의 값을 표현하는 제1 비트들에 대한 제1 데이터 필드, 및 상기 음향 환경 데이터가 상기 제1 특성의 값을 표현하는 제2 비트들에 대한 확장 데이터 필드를 포함하는지의 표시를 위한 제2 데이터 필드를 포함하는, 방법.
KR1020247013210A 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림 KR20240056791A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP21204639.5A EP4174637A1 (en) 2021-10-26 2021-10-26 Bitstream representing audio in an environment
EP21204639.5 2021-10-26
KR1020247013083A KR20240060683A (ko) 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림
PCT/EP2022/079285 WO2023072739A1 (en) 2021-10-26 2022-10-20 Bitstream representing audio in an environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020247013083A Division KR20240060683A (ko) 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림

Publications (1)

Publication Number Publication Date
KR20240056791A true KR20240056791A (ko) 2024-04-30

Family

ID=90885793

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020247013212A KR20240056793A (ko) 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림
KR1020247013211A KR20240056792A (ko) 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림
KR1020247013210A KR20240056791A (ko) 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020247013212A KR20240056793A (ko) 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림
KR1020247013211A KR20240056792A (ko) 2021-10-26 2022-10-20 환경 내의 오디오를 표현하는 비트스트림

Country Status (1)

Country Link
KR (3) KR20240056793A (ko)

Also Published As

Publication number Publication date
KR20240056793A (ko) 2024-04-30
KR20240056792A (ko) 2024-04-30

Similar Documents

Publication Publication Date Title
CN110351592B (zh) 动画呈现方法、装置、计算机设备和存储介质
CN108833937B (zh) 视频处理方法和装置
CN110506423A (zh) 对包括所生成的内容的媒体数据进行编码的方法和设备
Signes et al. MPEG-4's binary format for scene description
RU2744969C1 (ru) Способ и устройство для эффективной доставки и использования аудиосообщений для высокого качества восприятия
Neugebauer Digital transformation
CN113891117B (zh) 沉浸媒体的数据处理方法、装置、设备及可读存储介质
CN104091608B (zh) 一种基于ios设备的视频编辑方法及装置
CN116897541A (zh) 使用渲染引擎的沉浸式技术媒体格式(itmf)规范的映射架构
US20230007427A1 (en) Audio scene change signaling
CN115315943A (zh) 用于媒体场景描述的方法和设备
KR20240056791A (ko) 환경 내의 오디오를 표현하는 비트스트림
KR20240060683A (ko) 환경 내의 오디오를 표현하는 비트스트림
KR20030056034A (ko) 엠펙 데이터의 수신 장치, 엠펙 데이터 송수신시스템 및송수신방법
KR100316752B1 (ko) 장면의 공간과 시간 묘사의 표현으로 다른 데이터 타입의 정보를 실수값 입력장치에 연결하는 방법
JP3955178B2 (ja) グラフィックシーンの動画化データ信号並びにこれに対応する方法及び装置
WO2023199815A1 (ja) 音響処理方法、プログラム、及び音響処理システム
WO2024084950A1 (ja) 音響信号処理方法、コンピュータプログラム、及び、音響信号処理装置
KR101040086B1 (ko) 오디오 생성방법, 오디오 생성장치, 오디오 재생방법 및 오디오 재생장치
Potard et al. Using XML schemas to create and encode interactive 3-D audio scenes for multimedia and virtual reality applications
CN116320520A (zh) 模型动画渲染方法及装置、计算机存储介质、电子设备
CN117376329A (zh) 媒体文件的解封装和封装方法、装置、介质及电子设备
WO2023083896A1 (en) Audio decoder, audio encoder, method for decoding, method for encoding and bitstream, using a plurality of packets, the packets comprising one or more scene configuration packets, one or more scene update packets, one or more scene payload packets
WO2023083920A1 (en) Audio decoder, audio encoder, method for decoding, method for encoding and bitstream, using a plurality of packets, the packets comprising one or more scene configuration packets defining a temporal evolution of a rendering scenario and comprising a timestamp information
WO2023242082A1 (en) Real nodes extension in scene description

Legal Events

Date Code Title Description
A107 Divisional application of patent