KR102677399B1 - 신호 처리 장치 및 방법, 그리고 프로그램 - Google Patents

신호 처리 장치 및 방법, 그리고 프로그램 Download PDF

Info

Publication number
KR102677399B1
KR102677399B1 KR1020217009529A KR20217009529A KR102677399B1 KR 102677399 B1 KR102677399 B1 KR 102677399B1 KR 1020217009529 A KR1020217009529 A KR 1020217009529A KR 20217009529 A KR20217009529 A KR 20217009529A KR 102677399 B1 KR102677399 B1 KR 102677399B1
Authority
KR
South Korea
Prior art keywords
signal
processing
audio object
silence information
virtual speaker
Prior art date
Application number
KR1020217009529A
Other languages
English (en)
Other versions
KR20210071972A (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
Application filed by 소니그룹주식회사 filed Critical 소니그룹주식회사
Priority claimed from PCT/JP2019/038846 external-priority patent/WO2020080099A1/ja
Publication of KR20210071972A publication Critical patent/KR20210071972A/ko
Application granted granted Critical
Publication of KR102677399B1 publication Critical patent/KR102677399B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/308Electronic adaptation dependent on speaker or headphone connection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/01Enhancing the perception of the sound image or of the spatial distribution using head related transfer functions [HRTF's] or equivalents thereof, e.g. interaural time difference [ITD] or interaural level difference [ILD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/03Application of parametric coding in stereophonic audio systems

Abstract

본 기술은 연산량을 저감시킬 수 있도록 하는 신호 처리 장치 및 방법, 그리고 프로그램에 관한 것이다. 신호 처리 장치는, 오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보에 기초하여, 오디오 오브젝트의 오브젝트 신호의 디코드 처리 및 렌더링 처리 중 적어도 어느 한쪽의 처리를 행한다. 본 기술은 신호 처리 장치에 적용할 수 있다.

Description

신호 처리 장치 및 방법, 그리고 프로그램
본 기술은 신호 처리 장치 및 방법, 그리고 프로그램에 관한 것으로, 특히 연산량을 저감시킬 수 있도록 한 신호 처리 장치 및 방법, 그리고 프로그램에 관한 것이다.
종래, 영화나 게임 등에서 오브젝트 오디오 기술이 사용되고, 오브젝트 오디오를 취급할 수 있는 부호화 방식도 개발되고 있다. 구체적으로는, 예를 들어 국제 표준 규격인 MPEG(Moving Picture Experts Group)-H Part 3:3D audio 규격 등이 알려져 있다(예를 들어, 비특허문헌 1 참조).
이러한 부호화 방식에서는, 종래의 2채널 스테레오 방식이나 5.1채널 등의 멀티채널 스테레오 방식과 함께, 이동하는 음원 등을 독립된 오디오 오브젝트로서 취급하여, 오디오 오브젝트의 신호 데이터와 함께 오브젝트의 위치 정보를 메타데이터로서 부호화하는 것이 가능하다.
이에 의해, 스피커의 수나 배치가 다른 여러 가지 시청 환경에서 재생을 행할 수 있다. 또한, 종래의 부호화 방식에서는 곤란하였던 특정 음원의 음의 음량 조정이나, 특정 음원의 음에 대한 이펙트의 추가 등, 특정 음원의 음을 재생 시에 가공하는 것을 용이하게 할 수 있다.
이러한 부호화 방식에서는, 복호측에 있어서 비트 스트림에 대한 디코드가 행해지고, 오디오 오브젝트의 오디오 신호인 오브젝트 신호와, 공간 내에 있어서의 오디오 오브젝트의 위치를 나타내는 오브젝트 위치 정보를 포함하는 메타데이터가 얻어진다.
그리고, 오브젝트 위치 정보에 기초하여, 공간 내에 가상적으로 배치된 복수의 각 가상 스피커에 오브젝트 신호를 렌더링하는 렌더링 처리가 행해진다. 예를 들어 비특허문헌 1의 규격에서는 렌더링 처리에 3차원 VBAP(Vector Based Amplitude Panning)(이하, 간단히 VBAP라고 칭함)라고 불리는 방식이 사용된다.
또한, 렌더링 처리에 의해, 각 가상 스피커에 대응하는 가상 스피커 신호가 얻어지면, 그들 가상 스피커 신호에 기초하여 HRTF(Head Related Transfer Function) 처리가 행해진다. 이 HRTF 처리에서는, 마치 가상 스피커로부터 음이 재생되고 있는 것 같이 실제의 헤드폰이나 스피커로부터 음을 출력시키기 위한 출력 오디오 신호가 생성된다.
INTERNATIONAL STANDARD ISO/IEC 23008-3 First edition 2015-10-15 Information technology-High efficiency coding and media delivery in heterogeneous environments-Part 3:3D audio
그런데, 상술한 오디오 오브젝트에 대한 가상 스피커에 대한 렌더링 처리나 HRTF 처리를 행하면, 마치 가상 스피커로부터 음이 재생되고 있는 것 같은 오디오 재생을 실현할 수 있다는 점에서, 높은 임장감을 얻을 수 있다.
그러나, 오브젝트 오디오에서는 렌더링 처리나 HRTF 처리 등의 오디오 재생을 위한 처리에 많은 연산량이 필요하게 된다.
특히 스마트폰 등의 디바이스에서 오브젝트 오디오를 재생하려고 하는 경우, 연산량의 증가는 전지의 소비를 빠르게 해 버리기 때문에, 임장감을 손상시키지 않고 연산량을 저감시킬 것이 요망되고 있다.
본 기술은 이러한 상황을 감안하여 이루어진 것이며, 연산량을 저감시킬 수 있도록 하는 것이다.
본 기술의 일 측면의 신호 처리 장치는, 오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리 및 렌더링 처리 중 적어도 어느 한쪽의 처리를 행한다.
본 기술의 일 측면의 신호 처리 방법 또는 프로그램은, 오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리 및 렌더링 처리 중 적어도 어느 한쪽의 처리를 행하는 스텝을 포함한다.
본 기술의 일 측면에 있어서는, 오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리 및 렌더링 처리 중 적어도 어느 한쪽의 처리가 행해진다.
도 1은 입력 비트 스트림에 대한 처리에 대하여 설명하는 도면이다.
도 2는 VBAP에 대하여 설명하는 도면이다.
도 3은 HRTF 처리에 대하여 설명하는 도면이다.
도 4는 신호 처리 장치의 구성예를 도시하는 도면이다.
도 5는 출력 오디오 신호 생성 처리를 설명하는 흐름도이다.
도 6은 디코드 처리부의 구성예를 도시하는 도면이다.
도 7은 오브젝트 신호 생성 처리를 설명하는 흐름도이다.
도 8은 렌더링 처리부의 구성예를 도시하는 도면이다.
도 9는 가상 스피커 신호 생성 처리를 설명하는 흐름도이다.
도 10은 게인 계산 처리를 설명하는 흐름도이다.
도 11은 스무싱 처리를 설명하는 흐름도이다.
도 12는 메타데이터의 예를 도시하는 도면이다.
도 13은 컴퓨터의 구성예를 도시하는 도면이다.
이하, 도면을 참조하여, 본 기술을 적용한 실시 형태에 대하여 설명한다.
<제1 실시 형태>
<본 기술에 대하여>
본 기술은 무음 구간에 있어서의 적어도 일부의 처리를 생략하거나, 무음 구간에 있어서 실제로는 연산을 행하지 않고, 그 연산 결과에 대응하는 값으로서 미리 정해진 소정값을 출력하거나 함으로써, 출력 오디오 신호의 오차를 발생시키지 않고, 연산량을 저감시킬 수 있도록 하는 것이다. 이에 의해, 연산량을 저감시키면서 높은 임장감을 얻을 수 있다.
우선, MPEG-H Part 3:3D audio 규격의 부호화 방식에서의 부호화에 의해 얻어진 비트 스트림에 대하여 디코드(복호)를 행하여, 오브젝트 오디오의 출력 오디오 신호를 생성할 때 행해지는 일반적인 처리에 대하여 설명한다.
예를 들어 도 1에 도시하는 바와 같이, 부호화에 의해 얻어진 입력 비트 스트림이 입력되면, 그 입력 비트 스트림에 대하여 디코드 처리가 행해진다.
디코드 처리에 의해, 오디오 오브젝트의 음을 재생하기 위한 오디오 신호인 오브젝트 신호와, 그 오디오 오브젝트의 공간 내의 위치를 나타내는 오브젝트 위치 정보를 포함하는 메타데이터가 얻어진다.
계속해서, 메타데이터에 포함되는 오브젝트 위치 정보에 기초하여, 공간 내에 가상적으로 배치된 가상 스피커에 오브젝트 신호를 렌더링하는 렌더링 처리가 행해져, 각 가상 스피커로부터 출력될 음을 재생하기 위한 가상 스피커 신호가 생성된다.
또한, 각 가상 스피커의 가상 스피커 신호에 기초하여 HRTF 처리가 행해지고, 유저가 장착하는 헤드폰이나 실공간에 배치된 스피커로부터 음을 출력시키기 위한 출력 오디오 신호가 생성된다.
이와 같이 하여 얻어진 출력 오디오 신호에 기초하여, 실제의 헤드폰이나 스피커로부터 음을 출력하면, 마치 가상 스피커로부터 음이 재생되고 있는 것 같은 오디오 재생을 실현할 수 있다. 또한, 이하에서는 실공간에 실제로 배치되는 스피커를 특히 실제 스피커라고도 칭하기로 한다.
이러한 오브젝트 오디오를 실제로 재생함에 있어서는, 공간 내에 다수의 실제 스피커를 배치할 수 있는 경우에는, 렌더링 처리의 출력을 그대로 실제 스피커에서 재생할 수 있다. 이에 비해, 공간 내에 다수의 실제 스피커를 배치할 수 없는 경우에는, HRTF 처리를 행하여 헤드폰이나, 사운드바 등의 소수의 실제 스피커에 의해 재생을 행하게 된다. 일반적으로는 헤드폰이나 소수의 실제 스피커에 의해 재생을 행하는 경우가 많다.
여기서, 일반적인 렌더링 처리와 HRTF 처리에 대하여, 재차 설명을 행한다.
예를 들어 렌더링 시에는, 상술한 VBAP 등의 소정의 방식의 렌더링 처리가 행해진다. VBAP는 일반적으로 패닝이라고 불리는 렌더링 방법의 하나로, 유저 위치를 원점으로 하는 구 표면 상에 존재하는 가상 스피커 중, 동일하게 구 표면 상에 존재하는 오디오 오브젝트에 가장 가까운 3개의 가상 스피커에 대하여 게인을 분배함으로써 렌더링을 행하는 것이다.
예를 들어 도 2에 도시하는 바와 같이, 3차원 공간에 수청자인 유저(U11)가 있고, 그 유저(U11)의 전방에 3개의 가상 스피커(SP1) 내지 가상 스피커(SP3)가 배치되어 있는 것으로 한다.
여기서는 유저(U11)의 헤드부의 위치를 원점(O)으로 하고, 그 원점(O)을 중심으로 하는 구의 표면 상에 가상 스피커(SP1) 내지 가상 스피커(SP3)가 위치하고 있는 것으로 한다.
이제, 구 표면 상에 있어서의 가상 스피커(SP1) 내지 가상 스피커(SP3)에 둘러싸이는 영역(TR11) 내에 오디오 오브젝트가 존재하고 있고, 그 오디오 오브젝트의 위치(VSP1)에 음상을 정위시키는 것을 생각하기로 한다.
그러한 경우, VBAP에서는 오디오 오브젝트에 대하여, 위치(VSP1)의 주위에 있는 가상 스피커(SP1) 내지 가상 스피커(SP3)에 대하여 게인이 분배되게 된다.
구체적으로는, 원점(O)을 기준(원점)으로 하는 3차원 좌표계에 있어서, 원점(O)을 시점으로 하고, 위치(VSP1)를 종점으로 하는 3차원 벡터 P에 의해 위치(VSP1)를 나타내는 것으로 한다.
또한, 원점(O)을 시점으로 하고, 각 가상 스피커(SP1) 내지 가상 스피커(SP3)의 위치를 종점으로 하는 3차원 벡터를 벡터 L1 내지 벡터 L3이라고 하면, 벡터 P는 다음 식 (1)에 나타내는 바와 같이 벡터 L1 내지 벡터 L3의 선형합에 의해 나타낼 수 있다.
여기서, 식 (1)에 있어서 벡터 L1 내지 벡터 L3에 승산되어 있는 계수 g1 내지 계수 g3을 산출하고, 이들 계수 g1 내지 계수 g3을, 가상 스피커(SP1) 내지 가상 스피커(SP3)의 각각으로부터 출력하는 음의 게인으로 하면, 위치(VSP1)에 음상을 정위시킬 수 있다.
예를 들어 계수 g1 내지 계수 g3을 요소로 하는 벡터를 g123=[g1, g2, g3]이라고 하고, 벡터 L1 내지 벡터 L3을 요소로 하는 벡터를 L123=[L1, L2, L3]이라고 하면, 상술한 식 (1)을 변형하여 다음 식 (2)를 얻을 수 있다.
이러한 식 (2)를 계산하여 구한 계수 g1 내지 계수 g3을 게인으로서 사용하여, 오브젝트 신호에 기초하는 음을 각 가상 스피커(SP1) 내지 가상 스피커(SP3)로부터 출력하면, 위치(VSP1)에 음상을 정위시킬 수 있다.
또한, 각 가상 스피커(SP1) 내지 가상 스피커(SP3)의 배치 위치는 고정되어 있고, 그들 가상 스피커의 위치를 나타내는 정보는 기지이기 때문에, 역행렬인 L123 -1은 사전에 구해 둘 수 있다.
도 2에 도시한 구 표면 상에 있어서의, 3개의 가상 스피커에 의해 둘러싸이는 삼각형의 영역(TR11)은 메쉬라고 불리고 있다. 공간 내에 배치된 다수의 가상 스피커를 조합하여 복수의 메쉬를 구성함으로써, 오디오 오브젝트의 음을 공간 내의 임의의 위치에 정위시키는 것이 가능하다.
이와 같이, 각 오디오 오브젝트에 대하여 가상 스피커의 게인이 구해지면, 다음 식 (3)의 연산을 행함으로써, 각 가상 스피커의 가상 스피커 신호를 얻을 수 있다.
여기서, 식 (3)에 있어서 SP(m, t)는, M개의 가상 스피커 중 m번째(단, m=0, 1, …, M-1)의 가상 스피커의 시각 t에 있어서의 가상 스피커 신호를 나타내고 있다. 또한, 식 (3)에 있어서 S(n, t)는 N개의 오디오 오브젝트 중 n번째(단, n=0, 1, …, N-1)의 오디오 오브젝트의 시각 t에 있어서의 오브젝트 신호를 나타내고 있다.
또한 식 (3)에 있어서 G(m, n)은, m번째의 가상 스피커에 대한 가상 스피커 신호 SP(m, t)를 얻기 위한, n번째의 오디오 오브젝트의 오브젝트 신호 S(n, t)에 승산되는 게인을 나타내고 있다. 즉, 게인 G(m, n)은, 상술한 식 (2)에 의해 구해진, n번째의 오디오 오브젝트에 대한 m번째의 가상 스피커에 분배된 게인을 나타내고 있다.
렌더링 처리에서는, 이 식 (3)의 계산이 가장 계산 비용이 드는 처리로 된다. 즉, 식 (3)의 연산이 가장 연산량이 많은 처리로 된다.
다음에, 식 (3)의 연산에 의해 얻어진 가상 스피커 신호에 기초하는 음을 헤드폰 또는 소수의 실제 스피커로 재생하는 경우에 행해지는 HRTF 처리의 예에 대하여 도 3을 참조하여 설명한다. 또한, 도 3에서는 설명을 간단하게 하기 위해, 2차원의 수평면 상에 가상 스피커가 배치된 예로 되어 있다.
도 3에서는, 공간 내에 5개의 가상 스피커(SP11-1) 내지 가상 스피커(SP11-5)가 원 형상으로 배열되어 배치되어 있다. 이하, 가상 스피커(SP11-1) 내지 가상 스피커(SP11-5)를 특별히 구별할 필요가 없는 경우, 간단히 가상 스피커(SP11)라고도 칭하기로 한다.
또한, 도 3에서는 5개의 가상 스피커(SP11)에 둘러싸이는 위치, 즉 가상 스피커(SP11)가 배치된 원의 중심 위치에 수청자인 유저(U21)가 위치하고 있다. 따라서, HRTF 처리에서는 마치 유저(U21)가 각 가상 스피커(SP11)로부터 출력되는 음을 듣고 있는 것 같은 오디오 재생을 실현하기 위한 출력 오디오 신호가 생성된다.
특히, 이 예에서는 유저(U21)가 있는 위치를 청취 위치로 하여, 5개의 각 가상 스피커(SP11)에 대한 렌더링에 의해 얻어진 가상 스피커 신호에 기초하는 음을 헤드폰에 의해 재생하는 것으로 한다.
그러한 경우, 예를 들어 가상 스피커 신호에 기초하여 가상 스피커(SP11-1)로부터 출력(방사)된 음은 화살표 Q11로 나타내는 경로를 통하여, 유저(U21)의 왼쪽 귀의 고막에 도달한다. 그 때문에, 가상 스피커(SP11-1)로부터 출력된 음의 특성은, 가상 스피커(SP11-1)로부터 유저(U21)의 왼쪽 귀까지의 공간 전달 특성, 유저(U21)의 얼굴이나 귀의 형상이나 반사 흡수 특성 등에 의해 변화할 것이다.
그래서, 가상 스피커(SP11-1)의 가상 스피커 신호에 대하여, 가상 스피커(SP11-1)로부터 유저(U21)의 왼쪽 귀까지의 공간 전달 특성, 및 유저(U21)의 얼굴이나 귀의 형상, 반사 흡수 특성 등이 가미된 전달 함수 H_L_SP11을 콘벌루션하면, 유저(U21)의 왼쪽 귀에서 들릴 것인 가상 스피커(SP11-1)로부터의 음을 재생하는 출력 오디오 신호를 얻을 수 있다.
마찬가지로, 예를 들어 가상 스피커 신호에 기초하여 가상 스피커(SP11-1)로부터 출력된 음은 화살표 Q12로 나타내는 경로를 통하여, 유저(U21)의 오른쪽 귀의 고막에 도달한다. 따라서, 가상 스피커(SP11-1)의 가상 스피커 신호에 대하여, 가상 스피커(SP11-1)로부터 유저(U21)의 오른쪽 귀까지의 공간 전달 특성, 및 유저(U21)의 얼굴이나 귀의 형상, 반사 흡수 특성 등이 가미된 전달 함수 H_R_SP11을 콘벌루션하면, 유저(U21)의 오른쪽 귀에서 들릴 것인 가상 스피커(SP11-1)로부터의 음을 재생하는 출력 오디오 신호를 얻을 수 있다.
이러한 점에서, 최종적으로 5개의 가상 스피커(SP11)의 가상 스피커 신호에 기초하는 음을 헤드폰으로 재생할 때에는, 좌측 채널에 대해서는, 각 가상 스피커 신호에 대하여, 각 가상 스피커의 왼쪽 귀용 전달 함수를 콘벌루션하여, 그 결과 얻어진 각 신호를 더하여 좌측 채널의 출력 오디오 신호로 하면 된다.
마찬가지로, 우측 채널에 대해서는, 각 가상 스피커 신호에 대하여, 각 가상 스피커의 오른쪽 귀용 전달 함수를 콘벌루션하여, 그 결과 얻어진 각 신호를 더하여 우측 채널의 출력 오디오 신호로 하면 된다.
또한, 재생에 사용하는 디바이스가 헤드폰이 아니라 실제 스피커인 경우에도 헤드폰에 있어서의 경우와 마찬가지의 HRTF 처리가 행해진다. 그러나, 이 경우에는 스피커로부터의 음은 공간 전반에 의해 유저의 좌우 양쪽 귀에 도달하기 때문에, 크로스토크가 고려된 처리가 HRTF 처리로서 행해지게 된다. 이러한 HRTF 처리는 트랜스 오럴 처리라고도 불리고 있다.
일반적으로는 주파수 표현된 왼쪽 귀용, 즉 좌측 채널의 출력 오디오 신호를 L(ω)라고 하고, 주파수 표현된 오른쪽 귀용, 즉 우측 채널의 출력 오디오 신호를 R(ω)라고 하면, 이들 L(ω) 및 R(ω)는 다음 식 (4)를 계산함으로써 얻을 수 있다.
Figure 112021037668524-pct00004
여기서, 식 (4)에 있어서 ω는 주파수를 나타내고 있고, SP(m, ω)는 M개의 가상 스피커 중 m번째(단, m=0, 1, …, M-1)의 가상 스피커의 주파수 ω의 가상 스피커 신호를 나타내고 있다. 가상 스피커 신호 SP(m, ω)는, 상술한 가상 스피커 신호 SP(m, t)를 시간 주파수 변환함으로써 얻을 수 있다.
또한, 식 (4)에 있어서 H_L(m, ω)는, 좌측 채널의 출력 오디오 신호 L(ω)를 얻기 위한, m번째의 가상 스피커에 대한 가상 스피커 신호 SP(m, ω)에 승산되는 왼쪽 귀용 전달 함수를 나타내고 있다. 마찬가지로 H_R(m, ω)는 오른쪽 귀용 전달 함수를 나타내고 있다.
이들 HRTF의 전달 함수 H_L(m, ω)나 전달 함수 H_R(m, ω)를 시간 영역의 임펄스 응답으로서 표현하는 경우, 적어도 1초 정도의 길이가 필요하게 된다. 그 때문에, 예를 들어 가상 스피커 신호의 샘플링 주파수가 48kHz인 경우에는, 48000 탭의 콘벌루션을 행해야만 하여, 전달 함수의 콘벌루션에 FFT(Fast Fourier Transform)를 사용한 고속 연산 방법을 사용해도 더 많은 연산량이 필요하게 된다.
이상과 같이 디코드 처리, 렌더링 처리 및 HRTF 처리를 행하여 출력 오디오 신호를 생성하고, 헤드폰이나 소수개의 실제 스피커를 사용하여 오브젝트 오디오를 재생하는 경우, 많은 연산량이 필요하게 된다. 또한, 이 연산량은 오디오 오브젝트의 수가 증가하면, 그만큼 더 많아진다.
그런데, 스테레오의 비트 스트림은 무음인 구간이 매우 적은 데에 비하여, 오디오 오브젝트의 비트 스트림에서는, 일반적으로 모든 오디오 오브젝트의 전체 구간에 신호가 존재하는 일은 매우 드물다.
많은 오디오 오브젝트의 비트 스트림에서는 약 30%의 구간이 무음 구간으로 되어 있고, 경우에 따라서는 전체 구간 중 60%가 무음 구간으로 되어 있는 것도 있다.
그래서, 본 기술에서는 비트 스트림 중의 오디오 오브젝트가 갖는 정보를 이용하여, 오브젝트 신호의 에너지를 계산하지 않고, 적은 연산량으로 무음 구간에 있어서의 디코드 처리나 렌더링 처리, HRTF 처리의 연산량을 저감할 수 있도록 하였다.
<신호 처리 장치의 구성예>
다음에, 본 기술을 적용한 신호 처리 장치의 구성예에 대하여 설명한다.
도 4는 본 기술을 적용한 신호 처리 장치의 일 실시 형태의 구성예를 도시하는 도면이다.
도 4에 도시하는 신호 처리 장치(11)는 디코드 처리부(21), 무음 정보 생성부(22), 렌더링 처리부(23) 및 HRTF 처리부(24)를 갖고 있다.
디코드 처리부(21)는, 송신되어 온 입력 비트 스트림을 수신하여 복호(디코드)하고, 그 결과 얻어진 오디오 오브젝트의 오브젝트 신호 및 메타데이터를 렌더링 처리부(23)에 공급한다.
여기서, 오브젝트 신호는 오디오 오브젝트의 음을 재생하기 위한 오디오 신호이며, 메타데이터에는 적어도 공간 내에 있어서의 오디오 오브젝트의 위치를 나타내는 오브젝트 위치 정보가 포함되어 있다.
또한, 보다 상세하게는, 디코드 처리 시에는 디코드 처리부(21)는 입력 비트 스트림으로부터 추출한 각 시간 프레임에 있어서의 스펙트럼에 관한 정보 등을 무음 정보 생성부(22)에 공급함과 함께, 무음 정보 생성부(22)로부터 무음인지 여부를 나타내는 정보의 공급을 받는다. 그리고, 디코드 처리부(21)는, 무음 정보 생성부(22)로부터 공급된 무음인지 여부를 나타내는 정보에 기초하여, 무음 구간의 처리를 생략하거나 하면서 디코드 처리를 행한다.
무음 정보 생성부(22)는, 디코드 처리부(21)나 렌더링 처리부(23)로부터 각종 정보의 공급을 받아, 공급된 정보에 기초하여 무음인지 여부를 나타내는 정보를 생성하여, 디코드 처리부(21), 렌더링 처리부(23) 및 HRTF 처리부(24)에 공급한다.
렌더링 처리부(23)는, 무음 정보 생성부(22)와 정보의 수수를 행하고, 무음 정보 생성부(22)로부터 공급된 무음인지 여부를 나타내는 정보에 따라, 디코드 처리부(21)로부터 공급된 오브젝트 신호 및 메타데이터에 기초하는 렌더링 처리를 행한다.
렌더링 처리에서는, 무음인지 여부를 나타내는 정보에 기초하여 무음 구간의 처리가 생략되거나 한다. 렌더링 처리부(23)는, 렌더링 처리에 의해 얻어진 가상 스피커 신호를 HRTF 처리부(24)에 공급한다.
HRTF 처리부(24)는, 무음 정보 생성부(22)로부터 공급된 무음인지 여부를 나타내는 정보에 따라, 렌더링 처리부(23)로부터 공급된 가상 스피커 신호에 기초하여 HRTF 처리를 행하고, 그 결과 얻어진 출력 오디오 신호를 후단에 출력한다. HRTF 처리에서는 무음인지 여부를 나타내는 정보에 기초하여 무음 구간의 처리가 생략된다.
또한, 여기서는 디코드 처리, 렌더링 처리 및 HRTF 처리에 있어서, 무음 신호(무음 구간)의 부분에 대하여 연산의 생략 등이 행해지는 예에 대하여 설명한다. 그러나, 이들 디코드 처리, 렌더링 처리 및 HRTF 처리 중 적어도 어느 하나의 처리에 있어서 연산(처리)의 생략 등이 행해지게 하면 되며, 그러한 경우에 있어서도 전체로서 연산량을 저감시킬 수 있다.
<출력 오디오 신호 생성 처리의 설명>
다음에, 도 4에 도시한 신호 처리 장치(11)의 동작에 대하여 설명한다. 즉, 이하, 도 5의 흐름도를 참조하여, 신호 처리 장치(11)에 의한 출력 오디오 신호 생성 처리에 대하여 설명한다.
스텝 S11에 있어서 디코드 처리부(21)는, 무음 정보 생성부(22)와의 정보의 수수를 행하면서, 공급된 입력 비트 스트림에 대한 디코드 처리를 행함으로써 오브젝트 신호를 생성하여, 오브젝트 신호 및 메타데이터를 렌더링 처리부(23)에 공급한다.
예를 들어 스텝 S11에서는, 무음 정보 생성부(22)에 있어서 각 시간 프레임(이하, 간단히 프레임이라고도 칭함)이 무음인지 여부를 나타내는 스펙트럼 무음 정보가 생성되고, 디코드 처리부(21)에서는, 스펙트럼 무음 정보에 기초하여 일부 처리의 생략 등이 행해지는 디코드 처리가 실행된다. 또한, 스텝 S11에서는, 무음 정보 생성부(22)에 있어서 각 프레임의 오브젝트 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보가 생성되어 렌더링 처리부(23)에 공급된다.
스텝 S12에 있어서 렌더링 처리부(23)는, 무음 정보 생성부(22)와의 정보의 수수를 행하면서, 디코드 처리부(21)로부터 공급된 오브젝트 신호 및 메타데이터에 기초하여 렌더링 처리를 행함으로써 가상 스피커 신호를 생성하여, HRTF 처리부(24)에 공급한다.
예를 들어 스텝 S12에서는, 각 프레임의 가상 스피커 신호가 무음 신호인지 여부를 나타내는 가상 스피커 무음 정보가 무음 정보 생성부(22)에 의해 생성된다. 또한, 무음 정보 생성부(22)로부터 공급된 오디오 오브젝트 무음 정보나 가상 스피커 무음 정보에 기초하여 렌더링 처리가 행해진다. 특히 렌더링 처리에서는, 무음 구간에서는 처리의 생략이 행해진다.
스텝 S13에 있어서 HRTF 처리부(24)는, 무음 정보 생성부(22)로부터 공급된 가상 스피커 무음 정보에 기초하여, 무음 구간에서는 처리가 생략되는 HRTF 처리를 행함으로써 출력 오디오 신호를 생성하여, 후단에 출력한다. 이와 같이 하여 출력 오디오 신호가 출력되면, 출력 오디오 신호 생성 처리는 종료된다.
이상과 같이 하여 신호 처리 장치(11)는, 무음인지 여부를 나타내는 정보로서 스펙트럼 무음 정보, 오디오 오브젝트 무음 정보 및 가상 스피커 무음 정보를 생성함과 함께, 그들 정보에 기초하여 디코드 처리, 렌더링 처리 및 HRTF 처리를 행하여 출력 오디오 신호를 생성한다. 특히 여기서는 스펙트럼 무음 정보, 오디오 오브젝트 무음 정보 및 가상 스피커 무음 정보는, 입력 비트 스트림으로부터 직접 또는 간접적으로 얻어지는 정보에 기초하여 생성된다.
이와 같이 함으로써, 신호 처리 장치(11)에서는 무음 구간에서는 처리의 생략 등이 행해져, 임장감을 손상시키지 않고 연산량을 저감시킬 수 있다. 바꾸어 말하면, 연산량을 저감시키면서 높은 임장감으로 오브젝트 오디오의 재생을 행할 수 있다.
<디코드 처리부의 구성예>
여기서, 디코드 처리나 렌더링 처리, HRTF 처리에 대하여 더 상세하게 설명한다.
예를 들어 디코드 처리부(21)는 도 6에 도시하는 바와 같이 구성된다.
도 6에 도시하는 예에서는, 디코드 처리부(21)는 비다중화부(51), 서브 정보 복호부(52), 스펙트럼 복호부(53) 및 IMDCT(Inverse Modified Discrete Cosine Transform) 처리부(54)를 갖고 있다.
비다중화부(51)는, 공급된 입력 비트 스트림을 비다중화함으로써, 입력 비트 스트림으로부터 오디오 오브젝트 데이터와 메타데이터를 추출(분리)하고, 얻어진 오디오 오브젝트 데이터를 서브 정보 복호부(52)에 공급함과 함께, 메타데이터를 렌더링 처리부(23)에 공급한다.
여기서, 오디오 오브젝트 데이터는 오브젝트 신호를 얻기 위한 데이터이며, 서브 정보와 스펙트럼 데이터를 포함한다.
이 실시 형태에서는 부호화측, 즉 입력 비트 스트림의 생성측에 있어서는, 시간 신호인 오브젝트 신호에 대하여 MDCT(Modified Discrete Cosine Transform)가 행해지고, 그 결과 얻어진 MDCT 계수가 오브젝트 신호의 주파수 성분인 스펙트럼 데이터로 된다.
또한 부호화측에서는 스펙트럼 데이터에 대하여 컨텍스트 베이스의 산술 부호화 방식으로 부호화가 행해진다. 그리고 부호화된 스펙트럼 데이터와, 그 스펙트럼 데이터의 복호에 필요하게 되는, 부호화된 서브 정보가 오디오 오브젝트 데이터로서 입력 비트 스트림에 저장된다.
또한, 상술한 바와 같이 메타데이터에는, 적어도 공간 내에 있어서의 오디오 오브젝트의 위치를 나타내는 공간 위치 정보인 오브젝트 위치 정보가 포함되어 있다.
부언하면, 일반적으로는 메타데이터도 부호화(압축)되어 있는 경우가 많다. 그러나, 메타데이터가 부호화되어 있는지 여부, 즉 압축되어 있는지 또는 비압축인지에 구애되지 않고 본 기술은 적용 가능하므로, 여기서는 설명을 간단하게 하기 위해 메타데이터는 부호화되어 있지 않은 것으로서 설명을 계속한다.
서브 정보 복호부(52)는, 비다중화부(51)로부터 공급된 오디오 오브젝트 데이터에 포함되는 서브 정보를 복호하고, 복호 후의 서브 정보와, 공급된 오디오 오브젝트 데이터에 포함되는 스펙트럼 데이터를 스펙트럼 복호부(53)에 공급한다.
바꾸어 말하면, 복호된 서브 정보와, 부호화되어 있는 스펙트럼 데이터를 포함하는 오디오 오브젝트 데이터가 스펙트럼 복호부(53)에 공급된다. 특히, 여기서는 일반적인 입력 비트 스트림에 포함되는 각 오디오 오브젝트의 오디오 오브젝트 데이터에 포함되는 데이터 중, 스펙트럼 데이터 이외의 데이터가 서브 정보로 된다.
또한, 서브 정보 복호부(52)는, 복호에 의해 얻어진 서브 정보 중, 각 프레임의 스펙트럼에 관한 정보인 max_sfb를 무음 정보 생성부(22)에 공급한다.
예를 들어 서브 정보에는, 오브젝트 신호에 대한 MDCT 처리 시에 선택된 변환창의 종류를 나타내는 정보나, 스펙트럼 데이터의 부호화가 행해진 스케일 팩터 밴드 수 등, IMDCT 처리나 스펙트럼 데이터의 복호에 필요한 정보가 포함되어 있다.
MPEG-H Part 3:3D audio 규격에서는, ics_info() 내에 있어서, MDCT 처리 시에 선택된 변환창의 종류, 즉 window_sequence에 따라 4비트 또는 6비트로 max_sfb가 부호화되어 있다. 이 max_sfb는, 부호화된 스펙트럼 데이터의 개수를 나타내는 정보, 즉 스펙트럼 데이터의 부호화가 행해진 스케일 팩터 밴드 수를 나타내는 정보로 되어 있다. 바꾸어 말하면, 오디오 오브젝트 데이터에는 max_sfb에 의해 표시되는 수의 스케일 팩터 밴드분만큼 스펙트럼 데이터가 포함되어 있다.
예를 들어 max_sfb의 값이 0인 경우에는, 부호화된 스펙트럼 데이터는 없고, 프레임 내의 스펙트럼 데이터가 전부 0인 것으로 간주되기 때문에, 그 프레임은 무음의 프레임(무음 구간)인 것으로 할 수 있다.
무음 정보 생성부(22)는, 서브 정보 복호부(52)로부터 공급된 프레임마다의 각 오디오 오브젝트의 max_sfb에 기초하여, 프레임마다 각 오디오 오브젝트의 스펙트럼 무음 정보를 생성하여, 스펙트럼 복호부(53) 및 IMDCT 처리부(54)에 공급한다.
특히 여기서는 max_sfb의 값이 0인 경우에는 대상으로 되는 프레임이 무음 구간인, 즉 오브젝트 신호가 무음 신호임을 나타내는 스펙트럼 무음 정보가 생성된다. 이에 비해 max_sfb의 값이 0이 아닌 경우에는 대상으로 되는 프레임이 유음 구간인 것, 즉 오브젝트 신호가 유음 신호임을 나타내는 스펙트럼 무음 정보가 생성된다.
예를 들어 스펙트럼 무음 정보의 값이 1인 경우, 그 스펙트럼 무음 정보는 무음 구간임을 나타내는 것으로 되고, 스펙트럼 무음 정보의 값이 0인 경우, 그 스펙트럼 무음 정보는 유음 구간인 것, 즉 무음 구간이 아님을 나타내는 것으로 된다.
이와 같이 무음 정보 생성부(22)에서는, 서브 정보인 max_sfb에 기초하여 무음 구간(무음 프레임)의 검출이 행해지고, 그 검출 결과를 나타내는 스펙트럼 무음 정보가 생성된다. 이와 같이 하면, 오브젝트 신호의 에너지를 구하는 계산을 필요로 하지 않고, 입력 비트 스트림으로부터 추출된 max_sfb의 값이 0인이지 여부를 판정한다고 하는 극히 적은 처리량(연산량)으로 무음으로 되는 프레임을 특정할 수 있다.
또한, 예를 들어 「United States Patent US9,905,232 B2, Hatanaka et al.」에서는, max_sfb를 이용하지 않고, 어떤 채널이 무음으로 간주될 수 있는 경우에는, 별도로 플래그를 부가하여 그 채널에 대해서는 부호화하지 않는다고 하는 부호화 방법이 제안되어 있다.
이 부호화 방법에서는 MPEG-H Part 3:3D audio 규격에서의 부호화보다 채널당 30 내지 40비트만큼 부호화 효율을 향상시킬 수 있으며, 본 기술에 있어서도 이러한 부호화 방법을 적용하도록 해도 된다. 그러한 경우, 서브 정보 복호부(52)는 서브 정보로서 포함되어 있는, 오디오 오브젝트의 프레임을 무음으로 간주할 수 있는지 여부, 즉 스펙트럼 데이터의 부호화가 행해졌는지 여부를 나타내는 플래그를 추출하여, 무음 정보 생성부(22)에 공급한다. 그리고, 무음 정보 생성부(22)는, 서브 정보 복호부(52)로부터 공급된 플래그에 기초하여 스펙트럼 무음 정보를 생성한다.
기타, 디코드 처리 시의 연산량의 증가를 허용할 수 있는 경우에는, 무음 정보 생성부(22)가 스펙트럼 데이터의 에너지를 계산함으로써 무음의 프레임인지 여부를 판정하고, 그 판정 결과에 따라 스펙트럼 무음 정보를 생성하도록 해도 된다.
스펙트럼 복호부(53)는, 서브 정보 복호부(52)로부터 공급된 서브 정보와, 무음 정보 생성부(22)로부터 공급된 스펙트럼 무음 정보에 기초하여, 서브 정보 복호부(52)로부터 공급된 스펙트럼 데이터를 복호한다. 여기서는 스펙트럼 복호부(53)에서는, 컨텍스트 베이스의 산술 부호화 방식에 대응하는 복호 방식으로 스펙트럼 데이터의 복호가 행해진다.
예를 들어 MPEG-H Part 3:3D audio 규격에서는, 스펙트럼 데이터에 대하여 컨텍스트 베이스의 산술 부호화가 행해진다.
일반적으로 산술 부호화에서는 1개의 입력 데이터에 대하여 1개의 출력 부호화 데이터가 존재하는 것이 아니라, 복수의 입력 데이터의 천이에 의해 최종적인 출력 부호화 데이터가 얻어진다.
예를 들어 비컨텍스트 베이스의 산술 부호화에서는, 입력 데이터의 부호화에 사용할 출현 빈도 테이블이 거대해지거나, 또는 복수의 출현 빈도 테이블을 전환하여 사용하기 때문에, 별도로 출현 빈도 테이블을 나타내는 ID를 부호화하여 복호측에 송신할 필요가 있다.
이에 비해, 컨텍스트 베이스의 산술 부호화에서는, 착안하고 있는 스펙트럼 데이터 앞의 프레임의 특성(내용), 또는 착안하고 있는 스펙트럼 데이터의 주파수보다 낮은 주파수의 스펙트럼 데이터의 특성이 컨텍스트로서 구해진다. 그리고, 컨텍스트의 계산 결과에 기초하여, 사용될 출현 빈도 테이블이 자동적으로 결정된다.
그 때문에, 컨텍스트 베이스의 산술 부호화에서는, 복호측에서도 항상 컨텍스트의 계산을 행하지 않으면 안되지만, 출현 빈도 테이블을 콤팩트하게 할 수 있으며, 또한 별도로 출현 빈도 테이블의 ID를 복호측에 송신하지 않아도 된다고 하는 이점이 있다.
예를 들어 스펙트럼 복호부(53)는, 무음 정보 생성부(22)로부터 공급된 스펙트럼 무음 정보의 값이 0이며, 처리 대상의 프레임이 유음 구간인 경우, 적절하게 서브 정보 복호부(52)로부터 공급된 서브 정보나 다른 스펙트럼 데이터의 복호 결과를 사용하여 컨텍스트의 계산을 행한다.
그리고 스펙트럼 복호부(53)는, 컨텍스트의 계산 결과에 대하여 정해지는 값, 즉 ID에 의해 표시되는 출현 빈도 테이블을 선택하고, 그 출현 빈도 테이블을 사용하여 스펙트럼 데이터를 복호한다. 스펙트럼 복호부(53)는, 복호된 스펙트럼 데이터와 서브 정보를 IMDCT 처리부(54)에 공급한다.
이에 비해, 스펙트럼 무음 정보의 값이 1이며, 처리 대상의 프레임이 무음 구간(무음 신호의 구간)인 경우, 즉 상술한 max_sfb의 값이 0인 경우, 이 프레임에서는 스펙트럼 데이터는 0(제로 데이터)이기 때문에, 컨텍스트의 계산에 의해 얻어지는 출현 빈도 테이블을 나타내는 ID는 반드시 동일한 값으로 된다. 즉, 반드시 동일한 출현 빈도 테이블이 선택되게 된다.
그래서, 스펙트럼 복호부(53)는, 스펙트럼 무음 정보의 값이 1인 경우에는 컨텍스트의 계산을 행하지 않고, 미리 정해진 특정 값의 ID에 의해 표시되는 출현 빈도 테이블을 선택하고, 그 출현 빈도 테이블을 사용하여 스펙트럼 데이터를 복호한다. 이 경우, 무음 신호의 데이터인 것으로 된 스펙트럼 데이터에 대해서는, 컨텍스트의 계산은 행해지지 않는다. 그리고, 컨텍스트의 계산 결과에 대응하는 값, 즉 컨텍스트의 계산 결과를 나타내는 값으로서 미리 정해진 특정 값의 ID가 출력으로서 사용되어 출현 빈도 테이블이 선택되고, 그 후의 복호 처리가 행해지게 된다.
이와 같이 스펙트럼 무음 정보에 따라 컨텍스트의 계산을 행하지 않도록 하는, 즉 컨텍스트의 계산을 생략하고, 그 계산 결과를 나타내는 값으로서 미리 정해진 값을 출력함으로써, 디코드(복호) 시에 있어서의 처리의 연산량을 저감시킬 수 있다. 게다가, 이 경우, 스펙트럼 데이터의 복호 결과로서, 컨텍스트의 계산을 생략하지 않을 때와 완전 동일한 결과를 얻을 수 있다.
IMDCT 처리부(54)는, 무음 정보 생성부(22)로부터 공급된 스펙트럼 무음 정보에 따라, 스펙트럼 복호부(53)로부터 공급된 스펙트럼 데이터 및 서브 정보에 기초하여 IMDCT(역수정 이산 코사인 변환)를 행하고, 그 결과 얻어진 오브젝트 신호를 렌더링 처리부(23)에 공급한다.
예를 들어 IMDCT에서는 「INTERNATIONAL STANDARD ISO/IEC 23008-3 First edition 2015-10-15 Information technology-High efficiency coding and media delivery in heterogeneous environments-Part 3:3D audio」에 기재되어 있는 식에 따라 처리가 행해진다.
그러나 max_sfb의 값이 0이며, 대상으로 되는 프레임이 무음 구간인 경우, IMDCT의 출력(처리 결과)으로 되는 시간 신호의 각 샘플의 값은 전부 0이다. 즉 IMDCT에 의해 얻어지는 신호는 제로 데이터이다.
그래서 IMDCT 처리부(54)는, 무음 정보 생성부(22)로부터 공급된 스펙트럼 무음 정보의 값이 1이며, 대상으로 되는 프레임이 무음 구간(무음 신호의 구간)인 경우에는, 스펙트럼 데이터에 대한 IMDCT의 처리를 행하지 않고 제로 데이터를 출력한다.
즉, 실제로는 IMDCT의 처리는 행해지지 않고, 제로 데이터가 IMDCT의 처리의 결과로서 출력된다. 바꾸어 말하면, IMDCT의 처리 결과를 나타내는 값으로서, 미리 정해진 값인 「0」(제로 데이터)이 출력된다.
보다 상세하게는, IMDCT 처리부(54)는 처리 대상의 현 프레임의 IMDCT의 처리 결과로서 얻어진 시간 신호와, 그 현 프레임의 시간적으로 직전 프레임의 IMDCT의 처리 결과로서 얻어진 시간 신호를 오버랩 합성함으로써 현 프레임의 오브젝트 신호를 생성하여, 출력한다.
IMDCT 처리부(54)에서는 무음 구간에 있어서의 IMDCT의 처리를 생략함으로써, 출력으로서 얻어지는 오브젝트 신호에 전혀 오차를 발생시키지 않고 IMDCT 전체의 연산량을 삭감할 수 있다. 즉, IMDCT 전체의 연산량을 저감시키면서, IMDCT의 처리를 생략하지 않는 경우와 완전 동일한 오브젝트 신호를 얻을 수 있다.
일반적으로 MPEG-H Part 3:3D audio 규격에서는, 오디오 오브젝트의 디코드 처리에 있어서 스펙트럼 데이터의 복호와 IMDCT의 처리가 디코드 처리의 대부분을 차지하기 때문에, IMDCT의 처리를 삭감할 수 있는 것은 대폭적인 연산량의 삭감으로 이어진다.
또한, IMDCT 처리부(54)는, IMDCT의 처리 결과로서 얻어진 현 프레임의 시간 신호가 제로 데이터인지 여부, 즉 무음 구간의 신호인지 여부를 나타내는 무음 프레임 정보를 무음 정보 생성부(22)에 공급한다.
그러면 무음 정보 생성부(22)는, IMDCT 처리부(54)로부터 공급된 처리 대상의 현 프레임의 무음 프레임 정보와, 그 현 프레임의 시간적으로 직전 프레임의 무음 프레임 정보에 기초하여 오디오 오브젝트 무음 정보를 생성하여, 렌더링 처리부(23)에 공급한다. 바꾸어 말하면, 무음 정보 생성부(22)는 디코드 처리의 결과로서 얻어지는 무음 프레임 정보에 기초하여, 오디오 오브젝트 무음 정보를 생성한다.
여기서는 무음 정보 생성부(22)는 현 프레임의 무음 프레임 정보 및 직전 프레임의 무음 프레임 정보가 모두 무음 구간의 신호라는 취지의 정보인 경우, 현 프레임의 오브젝트 신호가 무음 신호라는 취지의 오디오 오브젝트 무음 정보를 생성한다.
이에 비해, 무음 정보 생성부(22)는 현 프레임의 무음 프레임 정보 및 직전 프레임의 무음 프레임 정보 중 적어도 어느 한쪽이 무음 구간의 신호가 아니라는 취지의 정보인 경우, 현 프레임의 오브젝트 신호가 유음 신호라는 취지의 오디오 오브젝트 무음 정보를 생성한다.
특히, 이 예에서는 오디오 오브젝트 무음 정보의 값이 1인 경우, 무음 신호임을 나타내고 있는 것으로 되며, 오디오 오브젝트 무음 정보의 값이 0인 경우, 유음 신호인, 즉 무음 신호가 아님을 나타내고 있는 것으로 된다.
상술한 바와 같이 IMDCT 처리부(54)에서는 직전 프레임의 IMDCT의 처리 결과로서 얻어진 시간 신호와의 오버랩 합성에 의해, 현 프레임의 오브젝트 신호가 생성된다. 따라서, 현 프레임의 오브젝트 신호는, 직전 프레임의 영향을 받게 되므로, 오디오 오브젝트 무음 정보의 생성 시에는 오버랩 합성의 결과, 즉 직전 프레임에 있어서의 IMDCT의 처리 결과를 가미할 필요가 있다.
그래서, 무음 정보 생성부(22)에서는 현 프레임과 그 직전 프레임의 양쪽에 있어서 max_sfb의 값이 0인 경우, 즉 IMDCT의 처리 결과로서 제로 데이터가 얻어진 경우에만, 현 프레임의 오브젝트 신호는 무음 구간의 신호인 것으로 된다.
이와 같이 IMDCT의 처리를 고려하여 오브젝트 신호가 무음인지 여부를 나타내는 오디오 오브젝트 무음 정보를 생성함으로써, 후단의 렌더링 처리부(23)에 있어서 처리 대상의 프레임의 오브젝트 신호가 무음인지를 정확하게 인식할 수 있다.
<오브젝트 신호 생성 처리의 설명>
다음에, 도 5를 참조하여 설명한 출력 오디오 신호 생성 처리에 있어서의 스텝 S11의 처리에 대하여, 보다 상세하게 설명한다. 즉, 이하, 도 7의 흐름도를 참조하여, 도 5의 스텝 S11에 대응하고, 디코드 처리부(21) 및 무음 정보 생성부(22)에 의해 행해지는 오브젝트 신호 생성 처리에 대하여 설명한다.
스텝 S41에 있어서 비다중화부(51)는, 공급된 입력 비트 스트림을 비다중화하고, 그 결과 얻어진 오디오 오브젝트 데이터를 서브 정보 복호부(52)에 공급함과 함께, 메타데이터를 렌더링 처리부(23)에 공급한다.
스텝 S42에 있어서 서브 정보 복호부(52)는, 비다중화부(51)로부터 공급된 오디오 오브젝트 데이터에 포함되는 서브 정보를 복호하고, 복호 후의 서브 정보와, 공급된 오디오 오브젝트 데이터에 포함되는 스펙트럼 데이터를 스펙트럼 복호부(53)에 공급한다. 또한, 서브 정보 복호부(52)는, 서브 정보에 포함되어 있는 max_sfb를 무음 정보 생성부(22)에 공급한다.
스텝 S43에 있어서 무음 정보 생성부(22)는, 서브 정보 복호부(52)로부터 공급된 max_sfb에 기초하여 스펙트럼 무음 정보를 생성하여, 스펙트럼 복호부(53) 및 IMDCT 처리부(54)에 공급한다. 예를 들어 max_sfb의 값이 0인 경우, 값이 1인 스펙트럼 무음 정보가 생성되고, max_sfb의 값이 0이 아닌 경우, 값이 0인 스펙트럼 무음 정보가 생성된다.
스텝 S44에 있어서 스펙트럼 복호부(53)는, 서브 정보 복호부(52)로부터 공급된 서브 정보와, 무음 정보 생성부(22)로부터 공급된 스펙트럼 무음 정보에 기초하여, 서브 정보 복호부(52)로부터 공급된 스펙트럼 데이터를 복호한다.
이때 스펙트럼 복호부(53)는, 컨텍스트 베이스의 산술 부호화 방식에 대응하는 복호 방식으로 스펙트럼 데이터의 복호를 행하지만, 스펙트럼 무음 정보의 값이 1인 경우에는 복호 시에 있어서의 컨텍스트의 계산을 생략하고, 특정 출현 빈도 테이블을 사용하여 스펙트럼 데이터의 복호를 행한다. 스펙트럼 복호부(53)는, 복호된 스펙트럼 데이터와 서브 정보를 IMDCT 처리부(54)에 공급한다.
스텝 S45에 있어서 IMDCT 처리부(54)는, 무음 정보 생성부(22)로부터 공급된 스펙트럼 무음 정보에 따라, 스펙트럼 복호부(53)로부터 공급된 스펙트럼 데이터 및 서브 정보에 기초하여 IMDCT를 행하고, 그 결과 얻어진 오브젝트 신호를 렌더링 처리부(23)에 공급한다.
이때 IMDCT 처리부(54)는, 무음 정보 생성부(22)로부터 공급된 스펙트럼 무음 정보의 값이 1일 때에는 IMDCT의 처리를 행하지 않고 제로 데이터를 사용하여 오버랩 합성을 행하여, 오브젝트 신호를 생성한다. 또한, IMDCT 처리부(54)는, IMDCT의 처리 결과가 제로 데이터인지 여부에 따라 무음 프레임 정보를 생성하여, 무음 정보 생성부(22)에 공급한다.
이상의 비다중화, 서브 정보의 복호, 스펙트럼 데이터의 복호, 및 IMDCT의 처리가 입력 비트 스트림의 디코드 처리로서 행해진다.
스텝 S46에 있어서 무음 정보 생성부(22)는, IMDCT 처리부(54)로부터 공급된 무음 프레임 정보에 기초하여 오디오 오브젝트 무음 정보를 생성하여, 렌더링 처리부(23)에 공급한다.
여기서는 현 프레임과 그 직전 프레임의 무음 프레임 정보에 기초하여, 현 프레임의 오디오 오브젝트 무음 정보가 생성된다. 오디오 오브젝트 무음 정보가 생성되면, 오브젝트 신호 생성 처리는 종료된다.
이상과 같이 하여 디코드 처리부(21) 및 무음 정보 생성부(22)는, 입력 비트 스트림을 디코드하고, 오브젝트 신호를 생성한다. 이때, 스펙트럼 무음 정보를 생성하여, 적절하게 컨텍스트의 계산이나 IMDCT의 처리를 행하지 않도록 함으로써, 디코드 결과로서 얻어지는 오브젝트 신호에 전혀 오차를 발생시키지 않고, 디코드 처리의 연산량을 저감시킬 수 있다. 이에 의해, 적은 연산량으로도 높은 임장감을 얻을 수 있다.
<렌더링 처리부의 구성예>
계속해서, 렌더링 처리부(23)의 구성에 대하여 설명한다. 예를 들어 렌더링 처리부(23)는, 도 8에 도시하는 바와 같이 구성된다.
도 8에 도시하는 렌더링 처리부(23)는 게인 계산부(81) 및 게인 적용부(82)를 갖고 있다.
게인 계산부(81)는, 디코드 처리부(21)의 비다중화부(51)로부터 공급된 메타데이터에 포함되는 오브젝트 위치 정보에 기초하여, 오디오 오브젝트마다, 즉 오브젝트 신호마다 각 가상 스피커에 대응하는 게인을 산출하여, 게인 적용부(82)에 공급한다. 또한, 게인 계산부(81)는, 복수의 메쉬 중, 메쉬를 구성하는 가상 스피커, 즉 메쉬의 3개의 정점에 있는 가상 스피커의 게인이 전부 소정값 이상으로 되는 메쉬를 나타내는 탐색 메쉬 정보를 무음 정보 생성부(22)에 공급한다.
무음 정보 생성부(22)는, 각 프레임에 대하여 오디오 오브젝트마다, 즉 오브젝트 신호마다 게인 계산부(81)로부터 공급된 탐색 메쉬 정보와, 오디오 오브젝트 무음 정보에 기초하여 각 가상 스피커의 가상 스피커 무음 정보를 생성한다.
가상 스피커 무음 정보의 값은, 가상 스피커 신호가 무음 구간의 신호(무음 신호)인 경우에는 1로 되고, 가상 스피커 신호가 무음 구간의 신호가 아닌 경우, 즉 유음 구간의 신호(유음 신호)인 경우에는 0으로 된다.
게인 적용부(82)에는, 무음 정보 생성부(22)로부터는 오디오 오브젝트 무음 정보 및 가상 스피커 무음 정보가 공급되고, 게인 계산부(81)로부터 게인이 공급되고, 디코드 처리부(21)의 IMDCT 처리부(54)로부터는 오브젝트 신호가 공급된다.
게인 적용부(82)는, 오디오 오브젝트 무음 정보 및 가상 스피커 무음 정보에 기초하여, 가상 스피커마다 게인 계산부(81)로부터의 게인을 오브젝트 신호에 승산하고, 게인이 승산된 오브젝트 신호를 가산함으로써 가상 스피커 신호를 생성한다.
이때 게인 적용부(82)는, 오디오 오브젝트 무음 정보 및 가상 스피커 무음 정보에 따라, 무음의 오브젝트 신호나 무음의 가상 스피커 신호에 대해서는, 가상 스피커 신호를 생성하기 위한 연산 처리를 행하지 않도록 한다. 즉, 가상 스피커 신호를 생성하는 연산 처리의 적어도 일부의 연산이 생략된다. 게인 적용부(82)는, 얻어진 가상 스피커 신호를 HRTF 처리부(24)에 공급한다.
이와 같이 렌더링 처리부(23)에서는, 가상 스피커의 게인을 구하는 게인 계산 처리, 보다 상세하게는 도 10을 참조하여 후술하는 게인 계산 처리의 일부와, 가상 스피커 신호를 생성하는 게인 적용 처리를 포함하는 처리가 렌더링 처리로서 행해진다.
<가상 스피커 신호 생성 처리의 설명>
여기서, 도 5를 참조하여 설명한 출력 오디오 신호 생성 처리에 있어서의 스텝 S12의 처리에 대하여, 보다 상세하게 설명한다. 즉, 이하, 도 9의 흐름도를 참조하여, 도 5의 스텝 S12에 대응하고, 렌더링 처리부(23) 및 무음 정보 생성부(22)에 의해 행해지는 가상 스피커 신호 생성 처리에 대하여 설명한다.
스텝 S71에 있어서 게인 계산부(81) 및 무음 정보 생성부(22)는 게인 계산 처리를 행한다.
즉, 게인 계산부(81)는 비다중화부(51)로부터 공급된 메타데이터에 포함되는 오브젝트 위치 정보에 기초하여, 오브젝트 신호마다 상술한 식 (2)의 계산을 행함으로써 각 가상 스피커의 게인을 산출하여, 게인 적용부(82)에 공급한다. 또한, 게인 계산부(81)는 탐색 메쉬 정보를 무음 정보 생성부(22)에 공급한다.
또한 무음 정보 생성부(22)는, 오브젝트 신호마다, 게인 계산부(81)로부터 공급된 탐색 메쉬 정보와, 오디오 오브젝트 무음 정보에 기초하여 가상 스피커 무음 정보를 생성한다. 무음 정보 생성부(22)는, 오디오 오브젝트 무음 정보와 가상 스피커 무음 정보를 게인 적용부(82)에 공급함과 함께, 가상 스피커 무음 정보를 HRTF 처리부(24)에 공급한다.
스텝 S72에 있어서 게인 적용부(82)는, 오디오 오브젝트 무음 정보, 가상 스피커 무음 정보, 게인 계산부(81)로부터의 게인 및 IMDCT 처리부(54)로부터의 오브젝트 신호에 기초하여 가상 스피커 신호를 생성한다.
이때 게인 적용부(82)는, 오디오 오브젝트 무음 정보 및 가상 스피커 무음 정보에 따라, 가상 스피커 신호를 생성하기 위한 연산 처리의 적어도 일부를 행하지 않도록 하는, 즉 생략함으로써 렌더링 처리의 연산량을 저감시킨다.
이 경우, 오브젝트 신호나 가상 스피커 신호가 무음인 구간의 처리가 생략되기 때문에, 결과로서 처리의 생략을 행하지 않는 경우와 완전 동일한 가상 스피커 신호가 얻어지게 된다. 즉, 가상 스피커 신호의 오차를 발생시키지 않고, 연산량을 삭감할 수 있다.
이상에 있어서 설명한 게인의 산출(계산)과 가상 스피커 신호를 생성하는 처리가 렌더링 처리로서 렌더링 처리부(23)에 의해 행해진다.
게인 적용부(82)는, 얻어진 가상 스피커 신호를 HRTF 처리부(24)에 공급하고, 가상 스피커 신호 생성 처리는 종료된다.
이상과 같이 하여 렌더링 처리부(23) 및 무음 정보 생성부(22)는, 가상 스피커 무음 정보를 생성함과 함께 가상 스피커 신호를 생성한다. 이때, 오디오 오브젝트 무음 정보와 가상 스피커 무음 정보에 따라, 가상 스피커 신호를 생성하기 위한 연산 처리의 적어도 일부를 생략함으로써, 렌더링 처리의 결과로서 얻어지는 가상 스피커 신호에 전혀 오차를 발생시키지 않고, 렌더링 처리의 연산량을 저감시킬 수 있다. 이에 의해, 적은 연산량으로도 높은 임장감을 얻을 수 있다.
<게인 계산 처리의 설명>
또한, 도 9의 스텝 S71에서 행해지는 게인 계산 처리는, 각 오디오 오브젝트에 대하여 행해진다. 즉, 보다 상세하게는 게인 계산 처리로서 도 10에 도시하는 처리가 행해진다. 이하, 도 10의 흐름도를 참조하여 도 9의 스텝 S71의 처리에 대응하고, 렌더링 처리부(23) 및 무음 정보 생성부(22)에 의해 행해지는 게인 계산 처리에 대하여 설명한다.
스텝 S101에 있어서, 게인 계산부(81) 및 무음 정보 생성부(22)는, 처리 대상으로 하는 오디오 오브젝트를 나타내는 인덱스 obj_id의 값을 초기화하여 0으로 하고, 또한 무음 정보 생성부(22)는 전체 가상 스피커의 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값을 초기화하여 1로 한다.
여기서는 입력 비트 스트림으로부터 얻어지는 오브젝트 신호의 수, 즉 오디오 오브젝트의 총수는 max_obj인 것으로 한다. 그리고 인덱스 obj_id=0에 의해 표시되는 오디오 오브젝트에서부터, 인덱스 obj_id=max_obj-1에 의해 표시되는 오디오 오브젝트까지 순번대로 처리 대상의 오디오 오브젝트로 되어 가는 것으로 한다.
또한, spk_id는 가상 스피커를 나타내는 인덱스이며, a_spk_mute[spk_id]는 인덱스 spk_id에 의해 표시되는 가상 스피커에 대한 가상 스피커 무음 정보를 나타내고 있다. 상술한 바와 같이 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값이 1인 경우, 그 가상 스피커에 대응하는 가상 스피커 신호는 무음임을 나타내고 있다.
또한, 여기서는 공간 내에 배치되는 가상 스피커의 총수는 max_spk개인 것으로 한다. 따라서, 이 예에서는 인덱스 spk_id=0에 의해 표시되는 가상 스피커에서부터, 인덱스 spk_id=max_spk-1에 의해 표시되는 가상 스피커까지의 합계 max_spk개의 가상 스피커가 존재해 있게 된다.
스텝 S101에서는, 게인 계산부(81) 및 무음 정보 생성부(22)는, 처리 대상으로 하는 오디오 오브젝트를 나타내는 인덱스 obj_id의 값을 0으로 한다.
또한, 무음 정보 생성부(22)는, 각 인덱스 spk_id(단, 0≤spk_id≤max_spk-1)에 대한 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값을 1로 한다. 즉, 여기서는, 우선 전체 가상 스피커의 가상 스피커 신호는 무음인 것으로 된다.
스텝 S102에 있어서, 게인 계산부(81) 및 무음 정보 생성부(22)는, 처리 대상으로 하는 메쉬를 나타내는 인덱스 mesh_id의 값을 0으로 한다.
여기서는 공간 내에는 가상 스피커에 의해 max_mesh개의 메쉬가 형성되어 있는 것으로 한다. 즉, 공간 내에 존재하는 메쉬의 총수가 max_mesh개인 것으로 한다. 또한, 여기서는 인덱스 mesh_id=0에 의해 표시되는 메쉬부터 차례로, 즉 인덱스 mesh_id의 값이 작은 것부터 순번대로 처리 대상의 메쉬로서 선택되어 가는 것으로 한다.
스텝 S103에 있어서 게인 계산부(81)는, 처리 대상으로 되어 있는 인덱스 obj_id의 오디오 오브젝트에 대하여, 상술한 식 (2)를 계산함으로써 처리 대상으로 되어 있는 인덱스 mesh_id의 메쉬를 구성하는 3개의 가상 스피커의 게인을 구한다.
스텝 S103에서는 인덱스 obj_id의 오디오 오브젝트의 오브젝트 위치 정보가 사용되어 식 (2)의 계산이 행해진다. 이에 의해 3개의 각 가상 스피커의 게인 g1 내지 게인 g3이 얻어진다.
스텝 S104에 있어서 게인 계산부(81)는, 스텝 S103에서 구한 3개의 게인 g1 내지 게인 g3이 전부 미리 결정한 역치 TH1 이상인지 여부를 판정한다.
여기서, 역치 TH1은 0 이하의 부동 소수점 수이며, 예를 들어 실장된 장치의 연산 정밀도에 의해 정해지는 값이다. 일반적으로는 역치 TH1의 값으로서 -1×10-5 정도의 작은 값이 사용되는 경우가 많다.
예를 들어 처리 대상의 오디오 오브젝트에 대하여, 게인 g1 내지 게인 g3이 전부 역치 TH1 이상으로 되는 경우, 그 오디오 오브젝트는 처리 대상의 메쉬 내에 존재(위치)해 있게 된다. 이에 비해 게인 g1 내지 게인 g3 중 어느 하나라도 역치 TH1 미만으로 되는 경우, 처리 대상의 오디오 오브젝트는 처리 대상의 메쉬 내에는 존재(위치)해 있지 않게 된다.
처리 대상의 오디오 오브젝트의 음을 재생하려고 하는 경우, 그 오디오 오브젝트가 포함되는 메쉬를 구성하는 3개의 가상 스피커로부터만 음을 출력하면 되고, 다른 가상 스피커의 가상 스피커 신호는 무음 신호로 하면 된다. 그 때문에, 게인 계산부(81)에서는 처리 대상의 오디오 오브젝트를 포함하는 메쉬의 탐색이 행해지고, 그 탐색 결과에 따라 가상 스피커 무음 정보의 값이 결정된다.
스텝 S104에 있어서 역치 TH1 이상이 아니라고 판정된 경우, 스텝 S105에 있어서 게인 계산부(81)는, 처리 대상의 메쉬의 인덱스 mesh_id의 값이 max_mesh 미만인지 여부, 즉 mesh_id<max_mesh인지 여부를 판정한다.
스텝 S105에 있어서 mesh_id<max_mesh가 아니라고 판정된 경우, 그 후 처리는 스텝 S110으로 진행한다. 또한, 기본적으로는 스텝 S105에 있어서 mesh_id<max_mesh로 되는 것은 상정되어 있지 않다.
이에 비해, 스텝 S105에 있어서 mesh_id<max_mesh인 것으로 판정된 경우, 처리는 스텝 S106으로 진행한다.
스텝 S106에 있어서 게인 계산부(81) 및 무음 정보 생성부(22)는, 처리 대상으로 하는 메쉬를 나타내는 인덱스 mesh_id의 값을 1만큼 인크리먼트한다.
스텝 S106의 처리가 행해지면, 그 후 처리는 스텝 S103으로 되돌아가, 상술한 처리가 반복하여 행해진다. 즉, 처리 대상의 오디오 오브젝트를 포함하는 메쉬가 검출될 때까지, 게인을 계산하는 처리가 반복하여 행해진다.
한편, 스텝 S104에 있어서 역치 TH1 이상인 것으로 판정된 경우, 게인 계산부(81)는, 처리 대상으로 되어 있는 인덱스 mesh_id의 메쉬를 나타내는 탐색 메쉬 정보를 생성하여 무음 정보 생성부(22)에 공급하고, 그 후 처리는 스텝 S107로 진행한다.
스텝 S107에 있어서 무음 정보 생성부(22)는, 처리 대상으로 되어 있는 인덱스 obj_id의 오디오 오브젝트의 오브젝트 신호에 대하여, 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 0인이지 여부를 판정한다.
여기서 a_obj_mute[obj_id]는, 인덱스가 obj_id인 오디오 오브젝트의 오디오 오브젝트 무음 정보를 나타내고 있다. 상술한 바와 같이 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 1인 경우, 인덱스 obj_id의 오디오 오브젝트의 오브젝트 신호는 무음 신호임을 나타내고 있다.
이에 비해, 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 0인 경우, 인덱스 obj_id의 오디오 오브젝트의 오브젝트 신호는 유음 신호임을 나타내고 있다.
스텝 S107에 있어서 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 0이라고 판정된 경우, 즉 오브젝트 신호가 유음 신호인 경우, 처리는 스텝 S108로 진행한다.
스텝 S108에 있어서 무음 정보 생성부(22)는, 게인 계산부(81)로부터 공급된 탐색 메쉬 정보에 의해 표시되는 인덱스 mesh_id의 메쉬를 구성하는 3개의 가상 스피커의 가상 스피커 무음 정보의 값을 0으로 한다.
예를 들어 인덱스 mesh_id의 메쉬에 대하여, 그 메쉬를 나타내는 정보를 메쉬 정보 mesh_info[mesh_id]라 하자. 이 메쉬 정보 mesh_info[mesh_id]는, 인덱스 mesh_id의 메쉬를 구성하는 3개의 각 가상 스피커를 나타내는 인덱스 spk_id=spk1, spk2, spk3을 멤버 변수로서 갖고 있다.
특히, 여기서는 인덱스 mesh_id의 메쉬를 구성하는 첫 번째 가상 스피커를 나타내는 인덱스 spk_id를 특히 spk_id=mesh_info[mesh_id].spk1로 기재하기로 한다.
마찬가지로, 인덱스 mesh_id의 메쉬를 구성하는 두 번째 가상 스피커를 나타내는 인덱스 spk_id를 spk_id=mesh_info[mesh_id].spk2로 기재하고, 인덱스 mesh_id의 메쉬를 구성하는 세 번째 가상 스피커를 나타내는 인덱스 spk_id를 spk_id=mesh_info[mesh_id].spk3으로 기재하기로 한다.
오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 0인 경우, 오디오 오브젝트의 오브젝트 신호는 유음이기 때문에, 그 오디오 오브젝트를 포함하는 메쉬를 구성하는 3개의 가상 스피커로부터 출력되는 음은 유음으로 된다.
그래서, 무음 정보 생성부(22)는, 인덱스 mesh_id의 메쉬를 구성하는 3개의 가상 스피커의 가상 스피커 무음 정보 a_spk_mute[mesh_info[mesh_id].spk1], 가상 스피커 무음 정보 a_spk_mute[mesh_info[mesh_id].spk2] 및 가상 스피커 무음 정보 a_spk_mute[mesh_info[mesh_id].spk3]의 각 값을 1에서 0으로 변경한다.
이와 같이 무음 정보 생성부(22)에서는, 가상 스피커의 게인의 산출 결과(계산 결과)와, 오디오 오브젝트 무음 정보에 기초하여 가상 스피커 무음 정보가 생성된다.
이와 같이 하여 가상 스피커 무음 정보의 설정이 행해지면, 그 후 처리는 스텝 S109로 진행한다.
한편, 스텝 S107에 있어서 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 0이 아닌, 즉 1이라고 판정된 경우, 스텝 S108의 처리는 행해지지 않고, 처리는 스텝 S109로 진행한다.
이 경우, 처리 대상의 오디오 오브젝트의 오브젝트 신호는 무음이므로, 가상 스피커의 가상 스피커 무음 정보 a_spk_mute[mesh_info[mesh_id].spk1], 가상 스피커 무음 정보 a_spk_mute[mesh_info[mesh_id].spk2] 및 가상 스피커 무음 정보 a_spk_mute[mesh_info[mesh_id].spk3]의 각 값은, 스텝 S101에서 설정된 1인 그대로로 된다.
스텝 S108의 처리가 행해졌거나, 또는 스텝 S107에 있어서 오디오 오브젝트 무음 정보의 값이 1이라고 판정되면, 스텝 S109의 처리가 행해진다.
즉, 스텝 S109에 있어서 게인 계산부(81)는, 스텝 S103에서 구한 게인을, 처리 대상으로 되어 있는 인덱스 mesh_id의 메쉬를 구성하는 3개의 가상 스피커의 게인의 값으로 한다.
예를 들어 인덱스 obj_id의 오디오 오브젝트에 대한 인덱스 spk_id의 가상 스피커의 게인을 a_gain[obj_id][spk_id]로 기재하기로 한다.
또한, 스텝 S103에서 구한 게인 g1 내지 게인 g3 중, 인덱스 spk_id=mesh_info[mesh_id].spk1에 대응하는 가상 스피커의 게인이 g1인 것으로 한다. 마찬가지로, 인덱스 spk_id=mesh_info[mesh_id].spk2에 대응하는 가상 스피커의 게인이 g2이고, 인덱스 spk_id=mesh_info[mesh_id].spk3에 대응하는 가상 스피커의 게인이 g3인 것으로 한다.
그러한 경우, 게인 계산부(81)는 스텝 S103의 계산 결과에 기초하여, 가상 스피커의 게인 a_gain[obj_id][mesh_info[mesh_id].spk1]=g1로 한다. 마찬가지로, 게인 계산부(81)는 게인 a_gain[obj_id][mesh_info[mesh_id].spk2]=g2로 함과 함께, 게인 a_gain[obj_id][mesh_info[mesh_id].spk3]=g3으로 한다.
이와 같이 하여 처리 대상의 메쉬를 구성하는 3개의 가상 스피커의 게인이 정해지면, 그 후 처리는 스텝 S110으로 진행한다.
스텝 S105에 있어서 mesh_id<max_mesh가 아니라고 판정되었거나, 또는 스텝 S109의 처리가 행해지면, 스텝 S110에 있어서 게인 계산부(81)는 obj_id<max_obj인지 여부를 판정한다. 즉, 모든 오디오 오브젝트가 처리 대상으로서 처리가 행해졌는지 여부가 판정된다.
스텝 S110에 있어서 obj_id<max_obj인, 즉 아직 모든 오디오 오브젝트를 처리 대상으로 하고 있지 않다고 판정된 경우, 처리는 스텝 S111로 진행한다.
스텝 S111에 있어서 게인 계산부(81) 및 무음 정보 생성부(22)는, 처리 대상으로 하는 오디오 오브젝트를 나타내는 인덱스 obj_id의 값을 1만큼 인크리먼트한다. 스텝 S111의 처리가 행해지면, 그 후 처리는 스텝 S102로 되돌아가, 상술한 처리가 반복하여 행해진다. 즉, 새롭게 처리 대상으로 된 오디오 오브젝트에 대하여 게인이 구해짐과 함께 가상 스피커 무음 정보의 설정이 행해진다.
한편, 스텝 S110에 있어서 obj_id<max_obj가 아니라고 판정된 경우, 모든 오디오 오브젝트가 처리 대상으로서 처리가 행해졌으므로, 게인 계산 처리는 종료된다. 게인 계산 처리가 종료되면, 모든 오브젝트 신호에 대하여 각 가상 스피커의 게인이 구해지고, 또한 각 가상 스피커에 대하여 가상 스피커 무음 정보가 생성된 상태로 된다.
이상과 같이 하여 렌더링 처리부(23) 및 무음 정보 생성부(22)는, 각 가상 스피커의 게인을 산출함과 함께 가상 스피커 무음 정보를 생성한다. 이와 같이 가상 스피커 무음 정보를 생성하면, 가상 스피커 신호가 무음인지를 정확하게 인식할 수 있으므로, 후단의 게인 적용부(82)나 HRTF 처리부(24)에 있어서 적절하게 처리를 생략할 수 있게 된다.
<스무싱 처리의 설명>
도 9를 참조하여 설명한 가상 스피커 신호 생성 처리의 스텝 S72에서는, 예를 들어 도 10을 참조하여 설명한 게인 계산 처리에서 얻어진 각 가상 스피커의 게인이나 가상 스피커 무음 정보가 사용된다.
그러나, 예를 들어 오디오 오브젝트의 위치가 시간 프레임마다 변화하는 경우, 오디오 오브젝트의 위치의 변화점에서 게인이 급격하게 변동되는 경우가 있다. 그러한 경우, 도 10의 스텝 S109에서 정한 게인을 그대로 사용하면 가상 스피커 신호에 노이즈가 발생하기 때문에, 현 프레임의 게인뿐만 아니라, 그 직전 프레임의 게인도 사용하여 직선 보간 등의 스무싱 처리를 행하도록 할 수 있다.
그러한 경우, 게인 계산부(81)는, 현 프레임의 게인과, 직전 프레임의 게인에 기초하여 게인의 스무싱 처리를 행하여, 스무싱(평활화) 후의 게인을 최종적으로 얻어진 현 프레임의 게인으로서 게인 적용부(82)에 공급한다.
이와 같이 하여 게인의 스무싱이 행해지는 경우, 가상 스피커 무음 정보에 대해서도 현 프레임과 그 직전 프레임이 가미되어 스무싱(평활화)을 행할 필요가 있다. 이 경우, 무음 정보 생성부(22)는, 예를 들어 도 11에 도시하는 스무싱 처리를 행하여 각 가상 스피커의 가상 스피커 무음 정보를 평활화한다. 이하, 도 11의 흐름도를 참조하여, 무음 정보 생성부(22)에 의한 스무싱 처리에 대하여 설명한다.
스텝 S141에 있어서 무음 정보 생성부(22)는, 처리 대상으로 하는 가상 스피커를 나타내는 인덱스 spk_id(단, 0≤spk_id≤max_spk-1)의 값을 0으로 한다.
또한, 여기서는 인덱스 spk_id에 의해 표시되는 처리 대상의 가상 스피커에 대하여 얻어진, 현 프레임의 가상 스피커 무음 정보를 a_spk_mute[spk_id]로 기재하고, 그 현 프레임의 직전 프레임의 가상 스피커 무음 정보를 a_prev_spk_mute[spk_id]로 기재하기로 한다.
스텝 S142에 있어서 무음 정보 생성부(22)는, 현 프레임과 직전 프레임의 가상 스피커 무음 정보가 1인지 여부를 판정한다.
즉, 현 프레임의 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값과, 직전 프레임의 가상 스피커 무음 정보 a_prev_spk_mute[spk_id]의 값이 모두 1인지 여부가 판정된다.
스텝 S142에 있어서 가상 스피커 무음 정보가 1이라고 판정된 경우, 스텝 S143에 있어서 무음 정보 생성부(22)는, 현 프레임의 가상 스피커 무음 정보 a_spk_mute[spk_id]가 최종적인 값을 1로 하고, 그 후 처리는 스텝 S145로 진행한다.
한편, 스텝 S142에 있어서 가상 스피커 무음 정보가 1이 아니라고 판정된 경우, 즉 현 프레임과 직전 프레임 중 적어도 어느 한쪽의 가상 스피커 무음 정보가 0인 경우, 처리는 스텝 S144로 진행한다. 이 경우, 현 프레임과 직전 프레임 중 적어도 어느 한쪽의 프레임에서는, 가상 스피커 신호가 유음으로 되어 있다.
스텝 S144에 있어서 무음 정보 생성부(22)는, 현 프레임의 가상 스피커 무음 정보 a_spk_mute[spk_id]의 최종적인 값을 0으로 하고, 그 후, 처리는 스텝 S145로 진행한다.
예를 들어 현 프레임과 직전 프레임 중 적어도 어느 한쪽에 있어서 가상 스피커 신호가 유음인 경우에는, 현 프레임의 가상 스피커 무음 정보의 값을 0으로 함으로써, 가상 스피커 신호의 음이 갑자기 무음으로 되어 도중에 끊어져 버리거나, 가상 스피커 신호의 음이 갑자기 유음으로 되어 버리거나 하는 것을 방지할 수 있다.
스텝 S143 또는 스텝 S144의 처리가 행해지면, 그 후 스텝 S145의 처리가 행해진다.
스텝 S145에 있어서 무음 정보 생성부(22)는, 처리 대상의 현 프레임에 대하여 도 10의 게인 계산 처리에서 얻어진 가상 스피커 무음 정보 a_spk_mute[spk_id]를, 다음 스무싱 처리에서 사용할 직전 프레임의 가상 스피커 무음 정보 a_prev_spk_mute[spk_id]로 한다. 즉, 현 프레임의 가상 스피커 무음 정보 a_spk_mute[spk_id]가, 차회의 스무싱 처리에 있어서의 가상 스피커 무음 정보 a_prev_spk_mute[spk_id]로서 사용된다.
스텝 S146에 있어서 무음 정보 생성부(22)는 spk_id<max_spk인지 여부를 판정한다. 즉, 모든 가상 스피커가 처리 대상으로서 처리가 행해졌는지 여부가 판정된다.
스텝 S146에 있어서 spk_id<max_spk라고 판정된 경우, 아직 모든 가상 스피커가 처리 대상으로서 처리되지 않았으므로, 스텝 S147에 있어서 무음 정보 생성부(22)는, 처리 대상으로 하는 가상 스피커를 나타내는 인덱스 spk_id의 값을 1만큼 인크리먼트한다.
스텝 S147의 처리가 행해지면, 그 후 처리는 스텝 S142로 되돌아가, 상술한 처리가 반복하여 행해진다. 즉, 새롭게 처리 대상으로 된 가상 스피커에 대하여 가상 스피커 무음 정보 a_spk_mute[spk_id]를 스무싱하는 처리가 행해진다.
이에 비해, 스텝 S146에 있어서 spk_id<max_spk가 아니라고 판정된 경우, 현 프레임에 대해서는 모든 가상 스피커에 대하여 가상 스피커 무음 정보의 스무싱이 행해졌으므로, 스무싱 처리는 종료된다.
이상과 같이 하여 무음 정보 생성부(22)는 직전 프레임도 고려하여 가상 스피커 무음 정보에 대한 스무싱 처리를 행한다. 이와 같이 하여 스무싱을 행함으로써, 급격한 변화나 노이즈가 적은 적절한 가상 스피커 신호를 얻을 수 있게 된다.
도 11에 도시한 스무싱 처리가 행해진 경우에는, 스텝 S143이나 스텝 S144에서 얻어진 최종적인 가상 스피커 무음 정보가 게인 적용부(82)나 HRTF 처리부(24)에 있어서 사용되게 된다.
또한, 도 9를 참조하여 설명한 가상 스피커 신호 생성 처리의 스텝 S72에서는, 도 10의 게인 계산 처리 또는 도 11의 스무싱 처리에 의해 얻어진 가상 스피커 무음 정보가 이용된다.
즉, 일반적으로는 상술한 식 (3)의 계산이 행해져 가상 스피커 신호가 구해진다. 이 경우, 오브젝트 신호나 가상 스피커 신호가 무음의 신호인지 여부에 구애되지 않고, 모든 연산이 행해진다.
이에 비해 게인 적용부(82)에서는, 무음 정보 생성부(22)로부터 공급된 오디오 오브젝트 무음 정보와 가상 스피커 무음 정보가 가미되어 다음 식 (5)의 계산에 의해 가상 스피커 신호가 구해진다.
Figure 112021037668524-pct00005
여기서, 식 (5)에 있어서 SP(m, t)는, M개의 가상 스피커 중 m번째(단, m=0, 1, …, M-1)의 가상 스피커의 시각 t에 있어서의 가상 스피커 신호를 나타내고 있다. 또한, 식 (5)에 있어서 S(n, t)는 N개의 오디오 오브젝트 중 n번째(단, n=0, 1, …, N-1)의 오디오 오브젝트의 시각 t에 있어서의 오브젝트 신호를 나타내고 있다.
또한 식 (5)에 있어서 G(m, n)은, m번째의 가상 스피커에 대한 가상 스피커 신호 SP(m, t)를 얻기 위한, n번째의 오디오 오브젝트의 오브젝트 신호 S(n, t)에 승산되는 게인을 나타내고 있다. 즉, 게인 G(m, n)은 도 10의 스텝 S109에서 얻어진 각 가상 스피커의 게인이다.
또한, 식 (5)에 있어서 a_spk_mute(m)은, m번째의 가상 스피커에 대한 가상 스피커 무음 정보 a_spk_mute[spk_id]에 의해 정해지는 계수를 나타내고 있다. 구체적으로는 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값이 1인 경우에는, 계수 a_spk_mute(m)의 값은 0으로 되고, 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값이 0인 경우에는, 계수 a_spk_mute(m)의 값은 1로 된다.
따라서 게인 적용부(82)에서는, 가상 스피커 신호가 무음(무음 신호)인 경우에는, 그 가상 스피커 신호에 대한 연산은 행해지지 않게 된다. 구체적으로는 무음인 가상 스피커 신호 SP(m, t)를 구하는 연산은 행해지지 않고, 가상 스피커 신호 SP(m, t)로서 제로 데이터가 출력된다. 즉, 가상 스피커 신호에 대한 연산이 생략되어, 연산량이 삭감된다.
또한, 식 (5)에 있어서 a_obj_mute(n)은, n번째의 오디오 오브젝트의 오브젝트 신호에 대한 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]에 의해 정해지는 계수를 나타내고 있다.
구체적으로는 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 1인 경우에는, 계수 a_obj_mute(n)의 값은 0으로 되고, 오디오 오브젝트 무음 정보 a_obj_mute[obj_id]의 값이 0인 경우에는, 계수 a_obj_mute(n)의 값은 1로 된다.
따라서 게인 적용부(82)에서는, 오브젝트 신호가 무음(무음 신호)인 경우에는, 그 오브젝트 신호에 대한 연산은 행해지지 않게 된다. 구체적으로는 무음인 오브젝트 신호 S(n, t)의 항의 적화연산은 행해지지 않는다. 즉, 오브젝트 신호에 기초하는 연산 부분이 생략되어, 연산량이 삭감된다.
또한, 게인 적용부(82)에서는 무음 신호인 것으로 된 오브젝트 신호의 부분, 및 무음 신호인 것으로 된 가상 스피커 신호의 부분 중 적어도 어느 한쪽의 연산을 생략하면 연산량을 삭감할 수 있다. 따라서, 무음 신호인 것으로 된 오브젝트 신호의 부분, 및 무음 신호인 것으로 된 가상 스피커 신호의 부분의 양쪽의 연산을 생략하는 예에 한하지 않고, 그들 중 어느 한쪽의 연산이 생략되도록 해도 된다.
도 9의 스텝 S72에서는, 게인 적용부(82)는, 무음 정보 생성부(22)로부터 공급된 오디오 오브젝트 무음 정보 및 가상 스피커 무음 정보와, 게인 계산부(81)로부터 공급된 게인과, IMDCT 처리부(54)로부터 공급된 오브젝트 신호에 기초하여 식 (5)와 마찬가지의 연산을 행하여, 각 가상 스피커의 가상 스피커 신호를 구한다. 특히 여기서는 연산이 생략된 부분에서는 제로 데이터가 연산 결과로서 사용된다. 바꾸어 말하면, 실제의 연산은 행해지지 않고, 제로 데이터가 연산 결과에 대응하는 값으로서 출력된다.
일반적으로, 어떤 시간 프레임 T, 즉 프레임수가 T인 구간에 있어서 식 (3)의 계산을 행하는 경우, M×N×T회의 연산이 필요하게 된다.
그러나, 가령 오디오 오브젝트 무음 정보에 의해 무음으로 된 오디오 오브젝트가 전체 오디오 오브젝트 중 3할이고, 또한 가상 스피커 무음 정보에 의해 무음으로 된 가상 스피커의 수가 전체 가상 스피커 중 3할인 것으로 하자.
그러한 경우, 식 (5)에 의해 가상 스피커 신호를 구하도록 하면, 연산 횟수는 0.7×M×0.7×N×T회로 되고, 식 (3)에 있어서의 경우와 비교하여 약 50%분만큼 연산량을 삭감할 수 있다. 게다가 이 경우, 식 (3)에서도 식 (5)에서도 최종적으로 얻어지는 가상 스피커 신호는 동일한 것으로 되어, 일부의 연산을 생략함에 따른 오차는 발생하지 않는다.
일반적으로 오디오 오브젝트의 수가 많고, 또한 가상 스피커의 수도 많은 경우에는, 콘텐츠 제작자에 의한 오디오 오브젝트의 공간 배치에서는, 보다 무음의 오디오 오브젝트나 무음의 가상 스피커가 발생하기 쉽다. 바꾸어 말하면 오브젝트 신호의 무음으로 되는 구간이나 가상 스피커 신호의 무음으로 되는 구간이 발생하기 쉽다.
그 때문에, 식 (5)와 같이 일부의 연산을 생략하는 방법에서는, 오디오 오브젝트수나 가상 스피커수가 많아, 연산량이 대폭 증대되는 케이스에 있어서, 보다 연산량의 삭감 효과가 높아진다.
또한, 게인 적용부(82)에서 가상 스피커 신호가 생성되어 HRTF 처리부(24)에 공급되면, 도 5의 스텝 S13에서는 출력 오디오 신호가 생성된다.
즉, 스텝 S13에서는 HRTF 처리부(24)는, 무음 정보 생성부(22)로부터 공급된 가상 스피커 무음 정보와, 게인 적용부(82)로부터 공급된 가상 스피커 신호에 기초하여 출력 오디오 신호를 생성한다.
일반적으로는 식 (4)에 나타낸 바와 같이 HRTF 계수인 전달 함수와 가상 스피커 신호의 콘벌루션 처리에 의해 출력 오디오 신호가 구해진다.
그러나, HRTF 처리부(24)에서는 가상 스피커 무음 정보가 사용되어, 다음 식 (6)에 의해 출력 오디오 신호가 구해진다.
Figure 112021037668524-pct00006
여기서, 식 (6)에 있어서 ω는 주파수를 나타내고 있고, SP(m, ω)는 M개의 가상 스피커 중 m번째(단, m=0, 1, …, M-1)의 가상 스피커의 주파수 ω의 가상 스피커 신호를 나타내고 있다. 가상 스피커 신호 SP(m, ω)는 시간 신호인 가상 스피커 신호를 시간 주파수 변환함으로써 얻을 수 있다.
또한, 식 (6)에 있어서 H_L(m, ω)는, 좌측 채널의 출력 오디오 신호 L(ω)를 얻기 위한, m번째의 가상 스피커에 대한 가상 스피커 신호 SP(m, ω)에 승산되는 왼쪽 귀용 전달 함수를 나타내고 있다. 마찬가지로 H_R(m, ω)는 오른쪽 귀용 전달 함수를 나타내고 있다.
또한 식 (6)에 있어서 a_spk_mute(m)은, m번째의 가상 스피커에 대한 가상 스피커 무음 정보 a_spk_mute[spk_id]에 의해 정해지는 계수를 나타내고 있다. 구체적으로는 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값이 1인 경우에는, 계수 a_spk_mute(m)의 값은 0으로 되고, 가상 스피커 무음 정보 a_spk_mute[spk_id]의 값이 0인 경우에는, 계수 a_spk_mute(m)의 값은 1로 된다.
따라서 HRTF 처리부(24)에서는, 가상 스피커 무음 정보에 의해 가상 스피커 신호가 무음(무음 신호)인 경우에는, 그 가상 스피커 신호에 대한 연산은 행해지지 않게 된다. 구체적으로는 무음인 가상 스피커 신호 SP(m, ω)의 항의 적화연산은 행해지지 않는다. 즉, 무음인 가상 스피커 신호와 전달 함수를 콘볼루션하는 연산(처리)이 생략되어, 연산량이 삭감된다.
이에 의해, 연산량이 매우 많은 콘벌루션 처리에 있어서, 유음의 가상 스피커 신호에만 한정하여 콘벌루션의 연산이 행해지게 할 수 있어, 연산량을 대폭 삭감할 수 있다. 게다가 이 경우, 식 (4)에서도 식 (6)에서도 최종적으로 얻어지는 출력 오디오 신호는 동일한 것으로 되어, 일부의 연산을 생략함에 따른 오차는 발생하지 않는다.
이상과 같이 본 기술에 따르면, 오디오 오브젝트에 무음의 구간(무음 신호)이 존재하는 경우에, 디코드 처리나 렌더링 처리, HRTF 처리에 있어서 적어도 일부의 처리를 생략하거나 함으로써, 출력 오디오 신호의 오차를 일절 발생시키지 않고 연산량을 저감시킬 수 있다. 즉, 적은 연산량으로도 높은 임장감을 얻을 수 있다.
따라서 본 기술에서는 평균적인 처리량이 저감되어 프로세서의 전력 사용량이 적어지므로, 스마트폰 등의 휴대 기기에서도 콘텐츠를 보다 장시간 연속 재생할 수 있게 된다.
<제2 실시 형태>
<오브젝트 프라이오리티의 이용에 대하여>
그런데 MPEG-H Part 3:3D audio 규격에서는, 오디오 오브젝트의 위치를 나타내는 오브젝트 위치 정보와 함께, 그 오디오 오브젝트의 우선도를 메타데이터(비트 스트림)에 포함시킬 수 있다. 또한, 이하, 오디오 오브젝트의 우선도를 오브젝트 프라이오리티라고 칭하기로 한다.
이와 같이 메타데이터에 오브젝트 프라이오리티가 포함되는 경우, 메타데이터는 예를 들어 도 12에 도시하는 포맷으로 된다.
도 12에 도시하는 예에서는 「num_objects」는 오디오 오브젝트의 총수를 나타내고, 「object_priority」는 오브젝트 프라이오리티를 나타낸다.
또한 「position_azimuth」는 오디오 오브젝트의 구면 좌표계에 있어서의 수평 각도를 나타내고, 「position_elevation」은 오디오 오브젝트의 구면 좌표계에 있어서의 수직 각도를 나타내고, 「position_radius」는 구면 좌표계 원점에서부터 오디오 오브젝트까지의 거리(반경)를 나타낸다. 여기서는 이들 수평 각도, 수직 각도 및 거리를 포함하는 정보가 오디오 오브젝트의 위치를 나타내는 오브젝트 위치 정보로 되어 있다.
또한, 도 12에서는 오브젝트 프라이오리티 object_priority는 3비트의 정보로 되어 있고, 저우선도 0에서부터 고우선도 7까지의 값을 취할 수 있도록 되어 있다. 즉, 우선도 0부터 우선도 7 중, 보다 값이 큰 것이 오브젝트 프라이오리티가 높은 오디오 오브젝트로 된다.
예를 들어 복호측에 있어서 모든 오디오 오브젝트에 대하여 처리를 행할 수 없는 경우, 복호측의 리소스에 따라, 오브젝트 프라이오리티가 높은 오디오 오브젝트만이 처리되게 할 수 있다.
구체적으로는, 예를 들어 3개의 오디오 오브젝트가 있고, 그들 오디오 오브젝트의 오브젝트 프라이오리티가 7, 6 및 5인 것으로 하자. 또한, 처리 장치의 부하가 높아 3개의 오디오 오브젝트의 모든 처리가 곤란하다고 하자.
그러한 경우, 예를 들어 오브젝트 프라이오리티가 5인 오디오 오브젝트의 처리는 실행하지 않고, 오브젝트 프라이오리티가 7 및 6인 오디오 오브젝트만이 처리되게 할 수 있다.
이것에 추가하여, 본 기술에서는 오디오 오브젝트의 신호가 무음인지 여부도 고려하여 실제로 처리될 오디오 오브젝트를 선택하도록 해도 된다.
구체적으로는, 예를 들어 스펙트럼 무음 정보 또는 오디오 오브젝트 무음 정보에 기초하여, 처리 대상의 프레임에 있어서의 복수의 오디오 오브젝트 중 무음인 것이 제외된다. 그리고 무음의 오디오 오브젝트가 제외되고 나머지 것 중에서, 오브젝트 프라이오리티가 높은 것부터 순번대로, 리소스 등에 의해 정해지는 수만큼 처리될 오디오 오브젝트가 선택된다.
바꾸어 말하면, 예를 들어 스펙트럼 무음 정보나 오디오 오브젝트 무음 정보와, 오브젝트 프라이오리티에 기초하여 디코드 처리 및 렌더링 처리 중 적어도 어느 하나의 처리가 행해진다.
예를 들어 입력 비트 스트림에 오디오 오브젝트 AOB1 내지 오디오 오브젝트 AOB5의 5개의 오디오 오브젝트의 오디오 오브젝트 데이터가 있고, 신호 처리 장치(11)에서는 3개의 오디오 오브젝트밖에 처리할 여유가 없는 것으로 하자.
이때, 예를 들어 오디오 오브젝트 AOB5의 스펙트럼 무음 정보의 값이 1이며, 다른 오디오 오브젝트의 스펙트럼 무음 정보의 값이 0인 것으로 하자. 또한, 오디오 오브젝트 AOB1 내지 오디오 오브젝트 AOB4의 오브젝트 프라이오리티가 각각 7, 7, 6 및 5인 것으로 하자.
그러한 경우, 예를 들어 스펙트럼 복호부(53)에서는, 먼저 오디오 오브젝트 AOB1 내지 오디오 오브젝트 AOB5 중 무음인 오디오 오브젝트 AOB5가 제외된다. 다음에 스펙트럼 복호부(53)에서는, 나머지 오디오 오브젝트 AOB1 내지 오디오 오브젝트 AOB4 중에서 오브젝트 프라이오리티가 높은 오디오 오브젝트 AOB1 내지 오디오 오브젝트 AOB3이 선택된다.
그리고, 스펙트럼 복호부(53)에서는, 최종적으로 선택된 오디오 오브젝트 AOB1 내지 오디오 오브젝트 AOB3에 대해서만 스펙트럼 데이터의 복호가 행해진다.
이와 같이 함으로써, 신호 처리 장치(11)의 처리 부하가 높아, 모든 오디오 오브젝트의 처리를 행할 수 없는 경우에 있어서도, 실질적으로 파기되는 오디오 오브젝트의 수를 저감시킬 수 있다.
<컴퓨터의 구성예>
그런데, 상술한 일련의 처리는 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서, 컴퓨터에는 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 13은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
컴퓨터에 있어서, CPU(Central Processing Unit)(501), ROM(Read Only Memory)(502), RAM(Random Access Memory)(503)은 버스(504)에 의해 서로 접속되어 있다.
버스(504)에는, 또한 입출력 인터페이스(505)가 접속되어 있다. 입출력 인터페이스(505)에는 입력부(506), 출력부(507), 기록부(508), 통신부(509) 및 드라이브(510)가 접속되어 있다.
입력부(506)는 키보드, 마우스, 마이크로폰, 촬상 소자 등으로 이루어진다. 출력부(507)는 디스플레이, 스피커 등으로 이루어진다. 기록부(508)는 하드 디스크나 불휘발성 메모리 등으로 이루어진다. 통신부(509)는 네트워크 인터페이스 등으로 이루어진다. 드라이브(510)는 자기 디스크, 광 디스크, 광 자기 디스크, 또는 반도체 메모리 등의 리무버블 기록 매체(511)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(501)가, 예를 들어 기록부(508)에 기록되어 있는 프로그램을, 입출력 인터페이스(505) 및 버스(504)를 통하여, RAM(503)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다.
컴퓨터(CPU(501))가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 기록 매체(511)에 기록하여 제공할 수 있다. 또한, 프로그램은 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통하여 제공할 수 있다.
컴퓨터에서는, 프로그램은, 리무버블 기록 매체(511)를 드라이브(510)에 장착함으로써, 입출력 인터페이스(505)를 통하여 기록부(508)에 인스톨할 수 있다. 또한, 프로그램은 유선 또는 무선의 전송 매체를 통하여 통신부(509)에서 수신하고, 기록부(508)에 인스톨할 수 있다. 그 밖에, 프로그램은 ROM(502)이나 기록부(508)에 미리 인스톨해 둘 수 있다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서에 따라 시계열로 처리가 행해지는 프로그램이어도 되고, 병렬로 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 된다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
예를 들어, 본 기술은 하나의 기능을 네트워크를 통하여 복수의 장치로 분담, 공동하여 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 상술한 흐름도에서 설명한 각 스텝은, 하나의 장치로 실행하는 것 외에, 복수의 장치로 분담하여 실행할 수 있다.
또한, 하나의 스텝에 복수의 처리가 포함되는 경우에는, 그 하나의 스텝에 포함되는 복수의 처리는, 하나의 장치로 실행하는 것 외에, 복수의 장치로 분담하여 실행할 수 있다.
또한, 본 기술은, 이하의 구성으로 하는 것도 가능하다.
(1)
오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리 및 렌더링 처리 중 적어도 어느 한쪽의 처리를 행하는
신호 처리 장치.
(2)
상기 디코드 처리 및 상기 렌더링 처리 중 적어도 어느 한쪽의 처리에 있어서, 상기 오디오 오브젝트 무음 정보에 따라, 적어도 일부의 연산을 생략하거나, 또는 소정의 연산 결과에 대응하는 값으로서 미리 정해진 값을 출력하는
(1)에 기재된 신호 처리 장치.
(3)
상기 렌더링 처리에 의해 얻어진, 가상 스피커에 의해 음을 재생하기 위한 가상 스피커 신호와, 상기 가상 스피커 신호가 무음 신호인지 여부를 나타내는 가상 스피커 무음 정보에 기초하여 HRTF 처리를 행하는 HRTF 처리부를 더 구비하는
(1) 또는 (2)에 기재된 신호 처리 장치.
(4)
상기 HRTF 처리부는, 상기 HRTF 처리 중, 상기 가상 스피커 무음 정보에 의해 무음 신호인 것으로 된 상기 가상 스피커 신호와, 전달 함수를 콘벌루션하는 연산을 생략하는
(3)에 기재된 신호 처리 장치.
(5)
상기 오브젝트 신호의 스펙트럼에 관한 정보에 기초하여 상기 오디오 오브젝트 무음 정보를 생성하는 무음 정보 생성부를 더 구비하는
(3) 또는 (4)에 기재된 신호 처리 장치.
(6)
컨텍스트 베이스의 산술 부호화 방식에 의해 부호화된, 상기 오브젝트 신호의 스펙트럼 데이터의 복호를 포함하는 상기 디코드 처리를 행하는 디코드 처리부를 더 구비하고,
상기 디코드 처리부는, 상기 오디오 오브젝트 무음 정보에 의해 무음 신호인 것으로 된 상기 스펙트럼 데이터의 컨텍스트의 계산을 행하지 않고, 상기 컨텍스트의 계산 결과로서 미리 정해진 값을 사용하여 상기 스펙트럼 데이터를 복호하는
(5)에 기재된 신호 처리 장치.
(7)
상기 디코드 처리부는, 상기 스펙트럼 데이터의 복호, 및 복호된 상기 스펙트럼 데이터에 대한 IMDCT 처리를 포함하는 상기 디코드 처리를 행하여, 상기 오디오 오브젝트 무음 정보에 의해 무음 신호로 된, 상기 복호된 상기 스펙트럼 데이터에 대하여 상기 IMDCT 처리를 행하지 않고, 제로 데이터를 출력하는
(6)에 기재된 신호 처리 장치.
(8)
상기 무음 정보 생성부는, 상기 디코드 처리의 결과에 기초하여, 상기 디코드 처리에 사용되는 상기 오디오 오브젝트 무음 정보와는 상이한 다른 상기 오디오 오브젝트 무음 정보를 생성하고,
상기 다른 상기 오디오 오브젝트 무음 정보에 기초하여, 상기 렌더링 처리를 행하는 렌더링 처리부를 더 구비하는
(5) 내지 (7) 중 어느 한 항에 기재된 신호 처리 장치.
(9)
상기 렌더링 처리부는, 상기 디코드 처리에 의해 얻어진 상기 오브젝트 신호마다 상기 가상 스피커의 게인을 구하는 게인 계산 처리와, 상기 게인 및 상기 오브젝트 신호에 기초하여 상기 가상 스피커 신호를 생성하는 게인 적용 처리를 상기 렌더링 처리로서 행하는
(8)에 기재된 신호 처리 장치.
(10)
상기 렌더링 처리부는, 상기 게인 적용 처리에 있어서, 상기 가상 스피커 무음 정보에 의해 무음 신호인 것으로 된 상기 가상 스피커 신호의 연산, 및 상기 다른 상기 오디오 오브젝트 무음 정보에 의해 무음 신호인 것으로 된 상기 오브젝트 신호에 기초하는 연산 중 적어도 어느 한쪽을 생략하는
(9)에 기재된 신호 처리 장치.
(11)
상기 무음 정보 생성부는, 상기 게인의 계산 결과, 및 상기 다른 상기 오디오 오브젝트 무음 정보에 기초하여 상기 가상 스피커 무음 정보를 생성하는
(9) 또는 (10)에 기재된 신호 처리 장치.
(12)
상기 오디오 오브젝트의 우선도, 및 상기 오디오 오브젝트 무음 정보에 기초하여, 상기 디코드 처리 및 상기 렌더링 처리 중 적어도 어느 한쪽의 처리를 행하는
(1) 내지 (11) 중 어느 한 항에 기재된 신호 처리 장치.
(13)
신호 처리 장치가,
오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리 및 렌더링 처리 중 적어도 어느 한쪽의 처리를 행하는
신호 처리 방법.
(14)
오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리 및 렌더링 처리 중 적어도 어느 한쪽의 처리를 행하는
스텝을 포함하는 처리를 컴퓨터에 실행시키는 프로그램.
11: 신호 처리 장치
21: 디코드 처리부
22: 무음 정보 생성부
23: 렌더링 처리부
24: HRTF 처리부
53: 스펙트럼 복호부
54: IMDCT 처리부
81: 게인 계산부
82: 게인 적용부

Claims (14)

  1. 오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 제1 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리를 행하는 디코드 처리부;
    상기 오브젝트 신호의 스펙트럼에 관한 정보에 기초하여 상기 제1 오디오 오브젝트 무음 정보를 생성하고, 상기 디코드 처리의 결과에 기초하여, 상기 디코드 처리에 사용되는 상기 제1 오디오 오브젝트 무음 정보와는 상이한, 제2 오디오 오브젝트 무음 정보를 생성하는 무음 정보 생성부; 및
    상기 제2 오디오 오브젝트 무음 정보에 기초하여, 렌더링 처리를 행하는 렌더링 처리부를 구비하는,
    신호 처리 장치.
  2. 제1항에 있어서, 상기 디코드 처리에 있어서 상기 제1 오디오 오브젝트 무음 정보에 따라, 적어도 일부의 연산을 생략하거나, 또는 소정의 연산 결과에 대응하는 값으로서 미리 정해진 값을 출력하거나, 또는
    상기 렌더링 처리에 있어서, 상기 제2 오디오 오브젝트 무음 정보에 따라, 적어도 일부의 연산을 생략하거나, 또는 소정의 연산 결과에 대응하는 값으로서 미리 정해진 값을 출력하는, 신호 처리 장치.
  3. 제1항에 있어서, 상기 렌더링 처리에 의해 얻어진, 가상 스피커에 의해 음을 재생하기 위한 가상 스피커 신호와, 상기 가상 스피커 신호가 무음 신호인지 여부를 나타내는 가상 스피커 무음 정보에 기초하여 HRTF 처리를 행하는 HRTF 처리부를 더 구비하는, 신호 처리 장치.
  4. 제3항에 있어서, 상기 HRTF 처리부는, 상기 HRTF 처리 중, 상기 가상 스피커 무음 정보에 의해 무음 신호인 것으로 된 상기 가상 스피커 신호와, 전달 함수를 콘벌루션하는 연산을 생략하는, 신호 처리 장치.
  5. 삭제
  6. 제1항에 있어서, 상기 디코드 처리부는,
    컨텍스트 베이스의 산술 부호화 방식에 의해 부호화된, 상기 오브젝트 신호의 스펙트럼 데이터의 복호를 포함하는 상기 디코드 처리를 행하고,
    상기 제1 오디오 오브젝트 무음 정보에 의해 무음 신호인 것으로 된 상기 스펙트럼 데이터의 컨텍스트의 계산을 행하지 않고, 상기 컨텍스트의 계산 결과로서 미리 정해진 값을 사용하여 상기 스펙트럼 데이터를 복호하는, 신호 처리 장치.
  7. 제6항에 있어서, 상기 디코드 처리부는, 상기 스펙트럼 데이터의 복호, 및 복호된 상기 스펙트럼 데이터에 대한 IMDCT 처리를 포함하는 상기 디코드 처리를 행하여, 상기 제1 오디오 오브젝트 무음 정보에 의해 무음 신호인 것으로 된, 상기 복호된 상기 스펙트럼 데이터에 대하여 상기 IMDCT 처리를 행하지 않고, 제로 데이터를 출력하는, 신호 처리 장치.
  8. 삭제
  9. 제3항에 있어서, 상기 렌더링 처리부는, 상기 디코드 처리에 의해 얻어진 상기 오브젝트 신호마다 상기 가상 스피커의 게인을 구하는 게인 계산 처리와, 상기 게인 및 상기 오브젝트 신호에 기초하여 상기 가상 스피커 신호를 생성하는 게인 적용 처리를 상기 렌더링 처리로서 행하는, 신호 처리 장치.
  10. 제9항에 있어서, 상기 렌더링 처리부는, 상기 게인 적용 처리에 있어서, 상기 가상 스피커 무음 정보에 의해 무음 신호인 것으로 된 상기 가상 스피커 신호의 연산, 및 상기 제2 오디오 오브젝트 무음 정보에 의해 무음 신호인 것으로 된 상기 오브젝트 신호에 기초하는 연산 중 적어도 어느 한쪽을 생략하는, 신호 처리 장치.
  11. 제9항에 있어서, 상기 무음 정보 생성부는, 상기 게인의 계산 결과, 및 상기 제2 오디오 오브젝트 무음 정보에 기초하여 상기 가상 스피커 무음 정보를 생성하는, 신호 처리 장치.
  12. 제1항에 있어서, 상기 오디오 오브젝트의 우선도, 및 상기 제1 오디오 오브젝트 무음 정보에 기초하여 상기 디코드 처리를 행하거나, 또는 상기 오디오 오브젝트의 우선도, 및 상기 제2 오디오 오브젝트 무음 정보에 기초하여 상기 렌더링 처리를 행하는, 신호 처리 장치.
  13. 신호 처리 장치가,
    오디오 오브젝트의 오브젝트 신호의 스펙트럼에 관한 정보에 기초하여 상기 오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 제1 오디오 오브젝트 무음 정보를 생성하고,
    상기 제1 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리를 행하고,
    상기 디코드 처리의 결과에 기초하여, 상기 디코드 처리에 사용되는 상기 제1 오디오 오브젝트 무음 정보와는 상이한, 제2 오디오 오브젝트 무음 정보를 생성하고,
    상기 제2 오디오 오브젝트 무음 정보에 기초하여 렌더링 처리를 행하는, 신호 처리 방법.
  14. 오디오 오브젝트의 오브젝트 신호의 스펙트럼에 관한 정보에 기초하여 상기 오디오 오브젝트의 신호가 무음 신호인지 여부를 나타내는 제1 오디오 오브젝트 무음 정보를 생성하는 스텝;
    상기 제1 오디오 오브젝트 무음 정보에 기초하여, 상기 오디오 오브젝트의 오브젝트 신호의 디코드 처리를 행하는 스텝;
    상기 디코드 처리의 결과에 기초하여, 상기 디코드 처리에 사용되는 상기 제1 오디오 오브젝트 무음 정보와는 상이한, 제2 오디오 오브젝트 무음 정보를 생성하는 스텝; 및
    상기 제2 오디오 오브젝트 무음 정보에 기초하여 렌더링 처리를 행하는 스텝을 포함하는 처리를 컴퓨터에 실행시키는, 컴퓨터 판독가능한 기록매체에 기록된 프로그램.
KR1020217009529A 2018-10-16 2019-10-02 신호 처리 장치 및 방법, 그리고 프로그램 KR102677399B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018194777 2018-10-16
JPJP-P-2018-194777 2018-10-16
PCT/JP2019/038846 WO2020080099A1 (ja) 2018-10-16 2019-10-02 信号処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
KR20210071972A KR20210071972A (ko) 2021-06-16
KR102677399B1 true KR102677399B1 (ko) 2024-06-24

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010505140A (ja) * 2006-09-29 2010-02-18 エルジー エレクトロニクス インコーポレイティド オブジェクトベースオーディオ信号をエンコーディング及びデコーディングする方法並びにその装置
WO2014192604A1 (ja) * 2013-05-31 2014-12-04 ソニー株式会社 符号化装置および方法、復号装置および方法、並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010505140A (ja) * 2006-09-29 2010-02-18 エルジー エレクトロニクス インコーポレイティド オブジェクトベースオーディオ信号をエンコーディング及びデコーディングする方法並びにその装置
WO2014192604A1 (ja) * 2013-05-31 2014-12-04 ソニー株式会社 符号化装置および方法、復号装置および方法、並びにプログラム

Similar Documents

Publication Publication Date Title
KR102294767B1 (ko) 고채널 카운트 멀티채널 오디오에 대한 멀티플렛 기반 매트릭스 믹싱
JP6105062B2 (ja) 後方互換性のあるオーディオ符号化のためのシステム、方法、装置、およびコンピュータ可読媒体
JP6208373B2 (ja) 環境高次アンビソニック係数の独立フレームをコード化すること
JP6062544B2 (ja) 基底関数係数を使用した3次元オーディオコード化のためのシステム、方法、装置、およびコンピュータ可読媒体
JP6612337B2 (ja) 高次アンビソニックオーディオデータのスケーラブルコーディングのためのレイヤのシグナリング
JP6549225B2 (ja) 高次アンビソニックオーディオデータのスケーラブルコーディングのためのチャネルのシグナリング
JP7459913B2 (ja) 信号処理装置および方法、並びにプログラム
JP7272269B2 (ja) 信号処理装置および方法、並びにプログラム
JP6376127B2 (ja) オーディオ信号出力装置および方法、並びにプログラム
US11743646B2 (en) Signal processing apparatus and method, and program to reduce calculation amount based on mute information
US20230298600A1 (en) Audio encoding and decoding method and apparatus
AU2020291776B2 (en) Packet loss concealment for dirac based spatial audio coding
KR102677399B1 (ko) 신호 처리 장치 및 방법, 그리고 프로그램