CN117616499A - 优化的球面向量量化 - Google Patents
优化的球面向量量化 Download PDFInfo
- Publication number
- CN117616499A CN117616499A CN202280048374.3A CN202280048374A CN117616499A CN 117616499 A CN117616499 A CN 117616499A CN 202280048374 A CN202280048374 A CN 202280048374A CN 117616499 A CN117616499 A CN 117616499A
- Authority
- CN
- China
- Prior art keywords
- spherical
- encoding
- quantization
- index
- decoding
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 179
- 238000000034 method Methods 0.000 claims abstract description 92
- 239000004231 Riboflavin-5-Sodium Phosphate Substances 0.000 claims abstract description 5
- 239000004234 Yellow 2G Substances 0.000 claims abstract description 5
- 239000004230 Fast Yellow AB Substances 0.000 claims abstract description 3
- 239000011159 matrix material Substances 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 16
- 230000005236 sound signal Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 4
- 239000004173 sunset yellow FCF Substances 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 13
- 238000000513 principal component analysis Methods 0.000 description 12
- 230000036961 partial effect Effects 0.000 description 11
- 230000001186 cumulative effect Effects 0.000 description 10
- 239000004283 Sodium sorbate Substances 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000000717 retained effect Effects 0.000 description 6
- PPASLZSBLFJQEF-RKJRWTFHSA-M sodium ascorbate Substances [Na+].OC[C@@H](O)[C@H]1OC(=O)C(O)=C1[O-] PPASLZSBLFJQEF-RKJRWTFHSA-M 0.000 description 6
- 235000010378 sodium ascorbate Nutrition 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000009792 diffusion process Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 239000004402 sodium ethyl p-hydroxybenzoate Substances 0.000 description 4
- 238000009827 uniform distribution Methods 0.000 description 4
- 239000002076 α-tocopherol Substances 0.000 description 4
- 239000005711 Benzoic acid Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000004405 propyl p-hydroxybenzoate Substances 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 239000002151 riboflavin Substances 0.000 description 3
- 102100032202 Cornulin Human genes 0.000 description 2
- 101000920981 Homo sapiens Cornulin Proteins 0.000 description 2
- 239000011668 ascorbic acid Substances 0.000 description 2
- 235000010323 ascorbic acid Nutrition 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000004318 erythorbic acid Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000000473 propyl gallate Substances 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 239000004320 sodium erythorbate Substances 0.000 description 2
- 239000004334 sorbic acid Substances 0.000 description 2
- 239000000541 tocopherol-rich extract Substances 0.000 description 2
- OVOUKWFJRHALDD-UHFFFAOYSA-N 2-[2-(2-acetyloxyethoxy)ethoxy]ethyl acetate Chemical compound CC(=O)OCCOCCOCCOC(C)=O OVOUKWFJRHALDD-UHFFFAOYSA-N 0.000 description 1
- 101100189060 Arabidopsis thaliana PROC1 gene Proteins 0.000 description 1
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 1
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 1
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 1
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- XTKDAFGWCDAMPY-UHFFFAOYSA-N azaperone Chemical compound C1=CC(F)=CC=C1C(=O)CCCN1CCN(C=2N=CC=CC=2)CC1 XTKDAFGWCDAMPY-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000004148 curcumin Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 235000010350 erythorbic acid Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004245 inosinic acid Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/035—Scalar quantisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/008—Vector quantisation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种用于通过对n维球体上的输入点的n‑1个球面坐标进行编码来对所述输入点进行编码的方法,该方法包括对该n‑1个球面坐标进行顺序标量量化(E102‑1至E102‑(n‑1)),以便在该n‑1个坐标的顺序标量量化结束时获得至多2n‑2个候选(E105),以及随后选择(E106)使该输入点与该至多2n‑2个候选之间的距离最小化的最佳候选,并且确定由该最佳候选的球面坐标的顺序标量量化产生的单独量化索引并对该最佳候选的单独量化索引进行顺序编码(E107)。本发明还涉及一种对应的解码方法、一种编码设备以及一种解码设备。
Description
技术领域
本发明涉及应用于声音数据、特别是立体混响环境(在下文中也称为“高保真立体声”)中的空间化数据的编码/解码的球面向量量化,其用于通过基于四元数的表示对旋转矩阵进行的编码或者其中对源方向(缩写为“DoA”以表示到达方向)进行量化的参数编码,而且还用于基于单声道变换的音频编码,该单声道变换用作表示空间化声音数据的核心编码。
背景技术
目前在移动电话中使用的编码器/解码器(下文称为“编解码器”)是单声道的(要呈现在单个扬声器上的单个信号声道)。3GPP EVS(“增强型语音服务”)编解码器使得能够提供“超HD”音质(也称为“高清加”或HD+语音),其中,为以32kHz或48kHz采样的信号提供超宽带(SWB)音频带或者为以48kHz采样的信号提供全带(FB)音频带;音频带宽在SWB模式(9.6kbit/s至128kbit/s)下为14.4kHz至16kHz并且在FB模式(16.4kbit/s至128kbit/s)下为20kHz。
由运营商提供的会话服务中下一质量演变应该由沉浸式服务组成,该沉浸式服务使用如配备有多个麦克风的智能手机、或者远程呈现或360°视频空间化音频会议或视频会议设备、或者甚至具有比简单的2D立体声呈现更加沉浸式的空间化3D声音呈现的“实时”音频内容共享设备等终端。随着用音频头戴式耳机在移动电话上进行收听的运用日益广泛以及先进的音频设备(如3D麦克风、具有声学天线的语音助手、虚拟现实或增强现实头戴式耳机等附件)的出现,捕获并呈现空间化声音场景以提供沉浸式通信体验如今已经足够普遍。
为此,未来的3GPP标准“IVAS”(“沉浸式语音和音频服务”)计划通过接受至少以下所列的空间化声音格式(及其组合)作为编解码器输入格式来将EVS编解码器扩展为沉浸式音频:
-立体声或5.1多声道格式(基于声道),其中,每个声道馈入一个扬声器(例如立体声中的L和R或5.1中的L、R、Ls、Rs和C);
-对象格式(基于对象),其中,声音对象被描述为与描述该对象的属性(空间位置,源空间宽度等)的元数据相关联的音频信号(通常是单声道的),
-高保真立体声格式(基于场景),该格式描述了给定点的声场,该声场通常由球形麦克风拾取或在球谐函数域中合成。
还可能考虑其他输入格式,如称为MASA(元数据辅助空间音频)的格式,其对应于配备有多个麦克风的移动电话上的声音拾取的参数表示。
要由编码器/解码器处理的信号采用连续的声音样本块的形式,以下称为“帧”或“子帧”。
此外,在下文中,数学符号遵循以下惯例:
-标量:s或N(小写字母用于变量或大写字母用于常量)
-向量:q(小写粗斜体)
-矩阵:M(大写粗斜体)
在下文中,我们将半径为r的n+1维球体定义为
其中,||.||表示欧几里德范数。当半径r未指定时,将假设r=1(单位球体)。
这里将回顾3维和4维球面坐标的定义。对于3维点(x,y,z),通常至少有两种经典的球面坐标(r,φ,θ)的惯例:
-地理惯例:x=r cosφcosθ,y=r cosφsinθ,z=r sinφ,其中,r≥0,-π/2≤φ≤π/2并且-π≤θ≤π
-物理惯例:x=r sinφcosθ,y=r sinφsinθ,z=r cosφ
其中,r≥0,0≤φ≤π并且-π≤θ≤π
在这两个定义中,半径r和方位角(或经度)θ是相同的,但是角度φ根据它是相对于水平面0xy(区间[-π/2,π/2]上的仰角或纬度)定义还是基于轴线0z(区间[0,π]上的余纬度或极角)定义而不同。方位角θ可以在区间[-π,π]上定义,并且以等效的方式,它可以通过模数2π的简单运算在[0,2π]上定义。也可以用另一种单位来表示相同的角坐标,例如以度为单位。应当注意,文献中的符号可以不同(例如用代替φ)和/或互换(例如θ表示余纬度并且表示经度)。
此外,球面坐标的定义可以在更高维度上进行一般化。对于4维点(w,x,y,z),这里再次采用球面坐标(r,φ1,φ2,φ3)的数学惯例:w=r cosφ1,x=r sinφ1 cosφ2,y=rsinφ1 sinφ2 cosφ3,z=r sinφ1 sinφ2 sinφ3,其中,r≥0是半径,φ1和φ2在[0,π]上并且φ3在[-π,π]上或以等效的方式在[0,2π]上。应当注意,可以定义其他球面坐标系,例如,对于4维的情况,除了半径r之外,还可以定义三个角度,其形式为:w=r cosω,x=rsinωsinφcosθ,y=r sinωsinφsinθ,z=r sinωcosφ;在该替代方案中,角度ω与以上定义的球面坐标φ1相同,另一方面,最后3个分量(x,y,z)被视为3D点并且在这里用余纬度φ和方位角θ表示,如以上针对3维用物理惯例定义的——由于坐标和不同惯例的排列,因此角度φ1和φ2不同于φ和θ。
一般来说,可以将n维点分解为半径r(对应于到原点或范数的距离)和n-1个角坐标,其中n-2个角在长度为π的区间和长度为2π的区间上。
在本发明中,将更特别地考虑在3维和4维中单位球体的离散化,其中,半径被设置为r=1,并且该n-1个角坐标被顺序地量化。然而,根据本发明,除了3维或4维之外的维度将是可能的。
本发明感兴趣的是通常应用于音频编码并且更特别地应用于空间化声音编码(包括高保真立体声格式)的球面向量量化的示例性实施例。这也包括使用3D源方向的参数编码。本发明也可以应用于其他音频格式以及其中要对n维球面数据进行编码的其他信号,例如用于其中每个子带通过增益形状球面向量量化来编码的基于变换的音频编码。
下面将通过主成分分析(PCA)和DiRAC(定向音频编码)方法来回顾高保真立体声的原理及其编码。
在一些变型中,可以将本发明应用于其他编码方案,特别是用于基于变换的音频编码。
高保真立体声是用于录制(声学意义上的“编码”)空间化声音的方法以及再现系统(声学意义上的“解码”)。(1阶)高保真立体声麦克风包括布置在球面网格(例如正四面体的顶点)上的至少四个振膜舱(典型地为心型或亚心型)。与这些振膜舱相关联的音频声道被称为“A格式”。该格式被转换为“B格式”,其中,声场分解为以W、X、Y、Z表示的四个分量(球谐函数),这四个分量与四个重合的虚拟麦克风相对应。分量W与声场的全向捕获相对应,而更具方向性的分量X、Y和Z类似于沿着三个正交空间轴定向的压力梯度麦克风。高保真立体声系统在录音和呈现分开并且分离的意义上是一种灵活的系统。其允许对任何配置的扬声器(例如双耳、5.1或7.1.4全向声道(具有仰角)“环绕”声)进行(声学意义上的)解码。高保真立体声方法可以一般化为四个以上B格式声道,并且这种一般化表示通常被称为“HOA”(“高阶高保真立体声”)。将声音分解成更多的球谐函数改善了在扬声器或音频头戴式耳机上呈现时的空间呈现精准度。
M阶高保真立体声信号包括K=(M+1)2个分量,并且1阶(如果M=1)中有通常被称为FOA(一阶高保真立体声)的四个分量W、X、Y和Z。还有所谓的“平面”高保真立体声变型(W、X、Y),该“平面”高保真立体声变型分解在通常是水平面的平面(其中,Z=0)上定义的声音。在这种情况下,分量的数量是K=2M+1个声道。1阶高保真立体声(4个声道:W、X、Y、Z)、平面1阶高保真立体声(3个声道:W、X、Y)和更高阶高保真立体声在下文中均不加区分地被称为“高保真立体声”以便于阅读,所呈现的处理操作可独立于平面或非平面类型以及高保真立体声分量的数量而应用。
然而,如果有必要在一些通道中进行区分,则使用术语“1阶高保真立体声”和“平面1阶高保真立体声”。
已经提出了各种解决方案来对高保真立体声信号进行编码。最简单的方法是多单声道编码,其中,每个高保真立体声分量由单声道音频编码器单独编码。本发明感兴趣的是在以下出版物中描述的特定高保真立体声编码方法:
-P.Mahé、S.Ragot、S.Marchand,“First-order ambisonic coding withquaternion-based interpolation of PCArotation matrices[利用PCA旋转矩阵的基于四元数插值的一阶高保真立体声编码]”,Proc.EAA Spatial Audio Signal ProcessingSymposium[EAA空间音频信号处理研讨会论文集],法国巴黎,2019年9月,第7-12页
-P.Mahé、S.Ragot、S.Marchand,“First-Order Ambisonic Coding with PCAMatrixing and Quaternion-Based Interpolation[利用PCA矩阵和基于四元数的插值的一阶高保真立体声编码]”,Proc.DAFx[数字音频效果论文集],英国伯明翰,2019年9月。
该方法使用旋转矩阵的量化和插值,如还在专利申请WO 2020177981中描述的。这种类型的高保真立体声编码的策略是尽可能地使高保真立体声信号的声道解相关,并且然后使用核心编解码器(例如多单声道)对这些声道进行单独编码。这种策略使得能够限制经解码高保真立体声信号中的伪影。更特别地,在编码(例如多单声道)之前,对输入信号应用优化的解相关。
在该方法中,对于3D中的FOA的情况,大小为4×4的旋转矩阵(如例如上文引用的专利申请中描述的从PCA/KLT分析得到)被转换为经编码的参数,例如6个一般化的欧拉角或两个单位四元数。
此外,四元数域使得能够内插针对PCA/KLT分析计算的变换矩阵,而不必每帧多次重复分解成特征值和特征向量;由于变换矩阵是旋转矩阵,因此在解码时,逆矩阵化运算是简单地通过对应用于编码的矩阵进行转置来执行的。
在这种情况下,需要有效地表示这些旋转矩阵,当这些旋转矩阵由单位四元数表示时,这相当于找到一种在4维球体上进行向量量化的有效方法。
PCA编码的一种替代方法是DiRAC编码(定向音频编码),其例如在以下文章中描述:V.Pulkki,Spatial sound reproduction with directional audio coding[利用定向音频编码的空间声音再现],Journal of the Audio Engineering Society[音频工程学会杂志],第55卷,第6期,第503-516页,2007。在该文档中,通过定向分析来执行映射,以便找到每个子带的方向(DoA)。该DoA由“扩散”参数补充,从而给出声音场景的参数描述。
多声道输入信号以传输声道(典型地通过减少多个拾音声道而获得的单声道或立体声信号)和空间元数据(每个子带的DoA和“扩散”)的形式进行编码。
这里将假设使用DiRAC参数方法对输入信号进行分析对于本领域技术人员而言是已知的。源方向以3D球面数据的形式表示,例如以根据地理惯例的球面坐标(方位角、仰角)的形式表示。在这种情况下,需要有效地表示这种DoA信息,这能够被公式化为3维球体上的向量量化问题。
一般来说,球体的任何离散化都可以用作球面向量量化字典。然而,在没有任何特定结构的情况下,当DoA信息的编码速率过高时(例如,每3D向量16比特指示一个DoA),在该字典中搜索最近邻和编引可能证明实施成本高昂。
能够用于解决这个问题的结构化字典的一个示例由准均匀球面网格给出,该准均匀球面网格在以下文章的第3.2节中描述:Perotin等人,CRNN-based multiple DoAestimation using acoustic intensity features for Ambisonics recordings[针对高保真立体声录音使用声强度特征的基于CRNN的多重DoA估计],IEEE Journal of SelectedTopics in Signal Processing[IEEE信号处理选题杂志],2019。该网格将仰角和方位角单独离散化,其中,方位角上的级别数量取决于与每个仰角级别相关联的球面层。这种离散化是针对[-90,90]中的仰角φ和[-180,180]中的方位角θ(以度为单位)通过以下公式给出的:
其中,且并且α是角分辨率(以度为单位)。这种球面网格不是最佳的,因为对于每个仰角索引i,方位角总是从-180度开始,这意味着所有点都在同一条子午线上对齐。然而,为了使3D球面网格是准最佳的,期望球体表面上的点的局部分布类似于六边形2D阵列,如果这些点以这种方式在子午线上对齐,则这显然是不满足的。
此外,在这篇文章中没有描述使用该网格进行编码的最佳搜索,也没有描述在该网格中离散化3维球体的任何编引。
因此,需要改进现有技术中用于球面数据量化的方法。
发明内容
本发明旨在改进现有技术。
为此,本发明针对一种用于对多声道音频信号进行编码的方法,该方法包括对由n维球体上的输入点表示的至少一个参数进行编码,这通过对该输入点的n-1个球面坐标进行编码来执行,该方法包括以下操作:
a)对该n-1个球面坐标进行顺序标量量化从而定义球面网格,对于要编码的当前球面坐标,该顺序标量量化包括以下操作:
-基于先前编码的球面坐标来确定该要编码的当前球面坐标的标量量化级别的数量;
-基于所述确定的级别数量对所述当前球面坐标进行标量量化,其中,对于n-2个坐标,确定该要编码的当前球面坐标的2个最接近的候选,并基于针对先前球面坐标确定的量化索引给出两个量化索引,以便在该n-1个坐标的顺序标量量化结束时获得至多2n-2个候选;
b)选择使该输入点与该至多2n-2个候选之间的距离最小化的最佳候选,并确定从所述最佳候选的所述球面坐标的顺序标量量化中产生的单独量化索引;
c)对所述最佳候选的单独量化索引进行顺序编码。
这种量化方法通过针对球面坐标的顺序编码考虑每个球面坐标两个候选来实施最佳搜索。与全局穷举搜索相比,这种搜索在复杂度和/或数据存储方面得到了优化。与不考虑多于一个候选的球面坐标的完全单独量化相比,该方法提供了更好的性能,特别是通过在给定的速率下提供低量化误差。
在一个实施例中,对单独量化索引进行顺序编码包括通过将至少一个基数信息添加到球面坐标的量化索引来确定全局量化索引。
因此,确定单个全局索引并将其传输到解码器以重建输入点,从而限制要传输的数据。
在一个实施例中,该n-1个球面坐标之一的标量量化包括预定义的偏移。
这种偏移使得能够避免经解码点在球体上的同一“子午线”上对齐,并且因此使得能够优化量化性能。
在一个特定实施例中,至少一个球面坐标的量化级别的数量是基于球面网格的总点数以及n维球体的球面区域的表面积来确定的。
该方法使得能够进一步提高量化在数据存储方面的性能,因为级别数量和由此产生的编引的确定是分析定义的。
在一个变型实施例中,至少一个球面坐标的基数信息是基于球面网格的点数以及n维球体的球面区域的表面积来确定的。
因此,没有必要为了执行编引而存储基数信息。这以分析方式直接执行。
在一个特定实施例中,对于至少一个球面坐标,级别数量被强制为1以外的奇数值。因此,这种奇数数量的级别使得能够例如在维度3中具有处于π/2的余纬度重建级别(或者以等效的方式具有处于0的仰角重建级别),从而使得能够表示某些3D音频应用(例如其中通常具有零Z分量的具有人工高保真立体声内容的应用)的水平面。
本发明还针对一种用于对多声道音频信号进行编码的方法,其中,该多声道音频信号的编码使用由至少一个单位四元数表示的旋转矩阵,并且其中,由n维球体上的输入点表示的至少一个参数是至少一个单位四元数,其中,n=4。
这种编码方法非常适合于对这些旋转矩阵进行编码,并且为这些矩阵提供了良好的量化性能。
本发明还针对一种用于对多声道音频信号进行编码的方法,其中,该多声道音频信号的编码使用关于音频源的到达方向的信息,并且其中,由n维球体上的输入点表示的至少一个参数是这些信息中的至少一个信息,其中,n=3。
这种编码方法非常适合于对关于3D表示中的音频源的到达方向的信息进行编码,并且为这些信息的编码和解码提供了量化性能与复杂度/存储之间的良好折衷。
本发明还针对一种用于对音频信号进行编码的方法,其中,该音频信号的编码使用到频率子带的变换,并且其中,由n维球体上的输入点表示的至少一个参数是至少一个子带,其中,n的值对应于该子带的大小。
本发明还针对一种用于对多声道音频信号进行解码的方法,包括通过对n维球体上的输入点的n-1个球面坐标进行解码来对由该输入点表示的至少一个参数进行解码,该方法包括基于全局量化索引或n-1个复用索引通过以下操作来对球面坐标进行顺序解码从而定义球面网格:
-基于先前解码的球面坐标来确定要解码的球面坐标的量化级别的数量;
-基于所确定的级别数量来确定从所述球面坐标的单独量化产生的单独索引,并且然后获得对应的球面坐标,以便在n维球体上重建经解码点。
这种解码方法使得能够在球体上找到与具有良好性能(特别是在量化误差方面)的经编码输入点相对应的点。
在一个实施例中,这些单独索引是基于针对所述球面坐标定义的基数信息来确定的。
该实施例适用于接收全局量化索引的情况。
在一个实施例中,该n-1个球面坐标之一的解码包括预定义的偏移。
事实上,这种偏移使得能够优化量化性能,并且由此优化解码性能。
在一个实施例中,这些基数信息是基于点数以及n维球体的球面区域的表面积来分析获得的。
因此,没有必要存储基数信息,从而优化了存储存储器并且使得能够以简单的方式找到球面坐标。
本发明针对一种编码设备,该编码设备包括用于实施如上所述的编码方法的步骤的处理电路。
本发明还针对一种解码设备,该解码设备包括用于实施如上所述的解码方法的步骤的处理电路。
本发明涉及一种计算机程序,该计算机程序包括当由处理器执行时用于实施如上所述的编码方法或解码方法的指令。
最后,本发明涉及一种存储介质,该存储介质能够被处理器读取并且储存包括用于执行上述编码方法或解码方法的指令的计算机程序。
附图说明
在阅读了以下对通过简单的说明性示例和非限制性示例的方式给出的特定实施例的说明以及对附图的说明之后,本发明的其他特征和优点将变得更加清楚明显,在附图中:
[图1a]以流程图的形式展示了在根据本发明的一个一般实施例的编码方法中实施的步骤;
[图1b]以流程图的形式展示了在根据本发明的一个一般实施例的解码方法中实施的步骤;
[图2a]以流程图的形式展示了在根据本发明的一个3维实施例的编码方法中实施的步骤;
[图2b]以流程图的形式展示了在根据本发明的一个3维实施例的解码方法中实施的步骤;
[图3a]以流程图的形式展示了在根据本发明的一个4维实施例的编码方法中实施的步骤;
[图3b]以流程图的形式展示了在根据本发明的一个4维实施例的解码方法中实施的步骤;
[图4]展示了根据本发明的一个3维实施例的实施编码方法的编码设备的一个实施例;
[图5]展示了根据本发明的一个3维实施例的实施解码方法的解码设备的一个实施例;
[图6]展示了根据本发明的一个4维实施例的实施编码方法的编码设备的一个实施例;
[图7]展示了根据本发明的一个4维实施例的实施解码方法的解码设备的一个实施例;
[图8]展示了根据本发明的一个实施例的编码设备和解码设备的结构示例性实施例。
具体实施方式
根据本发明,球面数据优选地在3维和4维上进行量化。然而,也将首先处理一个一般的n≥3维实施例。
作为示例,3维的情况适用于例如DiRAC类型的编码和解码中的DoA方向的编码和解码,如稍后参考图4和图5所描述的。4维的情况分别用于(单位)四元数和(单位)对偶四元数域中的3维和4维矩阵的量化,例如用于基于主成分分析的高保真立体声编码和解码,如稍后参考图6和图7所描述的。作为示例性实施例,维度n>4的情况适用于基于单声道变换的音频编解码器中的子带的编码。
现在参考图1a描述用于维度n的编码方法。
这里将考虑球面数据的一般情况。根据本发明,编码可以在步骤E100中以笛卡尔坐标定义的输入x来应用,或者在步骤E101中直接以球面坐标(r,φ1,...,φn-1)的形式来应用。在不失一般性的情况下,这里将考虑步骤E101中的数学定义:
x1=r cosφ1,
x2=r sinφ1 cosφ2
...
xn-1=r sinφ1 sinφ2 ... cosφn-1
xn=r sinφ1 sinφ2 ... sinφn-1
在一些变型中,其他球面坐标系也是可能的。除非另有说明,否则这里的角度以弧度定义;在一些变型中,可以使用另一单位(例如度)。
在下文中,半径r被认为是单位的(r=1),并且球面坐标在角坐标φ1,...,φn-1的意义上进行理解。然而,在一些变型中,可能会对该半径r进行单独编码以获得增益形状量化,形状根据本发明进行编码,并且半径基于不在本发明范围内的常规方法(例如标量量化然后是熵编码)进行单独编码。
在下文中,术语“网格”或“球面网格”将用于表示离散化球体的球面向量量化字典。根据本发明,网格通过球面坐标的顺序量化隐含地定义。
根据本发明,编码的输入处的球面数据由球体的准均匀离散化来表示(这里是指判定区域的面积和/或点分布的均匀性)。网格通过坐标φ1,...,φn-1的顺序标量量化来定义。
该约束使得能够根据球面坐标来划分编码步骤,首先在步骤E102-1中对φ1进行编码,然后在步骤E102-2中对φ2进行编码,……,并且最后在步骤E102-(n-1)中对φn-1进行编码。根据本发明,这种顺序方法等效于在完整球面网格中穷尽搜索最近邻,因为步骤E102-1至E102-(n-2)给出了两个候选(最接近φk的两个点),这相当于在步骤E102-(n-1)结束时隐含地定义具有2n-2个候选(叶)的二叉检索树。可以检查该二叉树允许最佳搜索。
每个步骤E102-k的原理是相同的,考虑到角度φ1,...,φn-2具有宽度为π的支撑,而φn-1具有宽度为2π的支撑。
每个角度φk(k=1,...,n-1)具有相同步长的均匀标量量化将给出“纬度-经度(lat-long)”类型的网格,其中,点分布是不均匀的——例如,在3D情况下,在极点附近会有越来越近的点,如果仰角(或余纬度)的编码包括表示极点的重建级别,则具有方位角将在北极和南极进行编码的偏差。因此,根据本发明,替代地使用了具有取决于球面坐标φk和先前坐标的经编码值的多个标量量化级别Nk的网格。
根据变型,第一球面坐标的标量量化级别的数量N1≥1是根据步骤E103-1中的各种方法直接通过设置预定的整数值N1或通过角分辨率α来预先确定的。一般来说,Nk的值(包括N1的值)将被设置成满足不超过为球面向量量化分配的速率约束。
在优选实施例中,将优先考虑标量量化,该标量量化的字典包括值φ1=0,π/2和π作为重建级别,从而给出奇数数量N1,以便在编码值中包括极点(φ1=0,π)和“赤道”(φ1=π/2)。这些数量N2,...,Nn-1是以网格是准均匀的方式推导出来的。因此,可以采用以下项,例如:
其中,α以度为单位给出(例如α=2度)。在一些变型中,用于确定整数值N1的其他方法将是可能的。
坐标φ1的标量量化字典优选地通过一组重建值(或码字)给出:
这对应于[0,π]至N1级别上的均匀标量量化。在一些变型中,其他(均匀或非均匀)标量量化字典将是可能的,包括不包含极点(φ1=0和π)的字典。确定Nk(k>1)的原理是基于球体上的(无穷小)基本表面积,该基本表面积由下式给出:
dA=rn-1 sinn-2φ1 sinn-3φ3 ... sinφn-2 dφ1 dφ2 ... dφn-2 dφn-1
其可以被重写,假设r=1,如下所示:
dA=dφ1(sinφ1 dφ2)(sinφ1 sinφ2 dφ3)...(sinφ1 sinφ2 ... sinφn-2 dφn-1)
这将因此给出例如在步骤E103-2、…、E103-(n-1)中以一般形式给出的Nk:
其中,索引ik是在步骤E104-k中获得的坐标φk的标量量化索引,并且是预定义的标量量化字典,其基于先前编码并且由相应索引i1,i2,..,ik-1表示的坐标。
坐标φk,k=1,...,n-1的标量量化字典优选地由下式给出:
以及
这对应于分别在[0,π]上的Nk级别和[0,2π]上的Nn-1级别的均匀标量量化。在的情况下,应当注意,由于这些坐标的圆形性质(换句话说,由于模数2π),冗余边界0和2π不会重复。在一些变型中,其他标量量化字典将是可能的。
离散化球体的网格中的总点数由下式给出:
因此,球面网格被定义为以下球面向量量化字典:
该n-1个球面坐标是从步骤E104-1到步骤E104-(n-1)顺序地量化的。给定从步骤E101产生的φk的值和从步骤E103-k产生的Nk的值,步骤E104-k包括用具有Nk(i1,i2,..,ik-1)级别的预定字典来量化坐标φk,以便保留与两个最接近的候选相对应的两个量化索引。因此,在步骤E104-1中,保留与字典中最接近φ1的两个点相对应的两个索引i1(0)和i1(1),使得:
应当注意,在顺序编码结束时,可以交换索引i1(0)和i1(1),而不会改变最佳结果。
在步骤E104-2中,对于在步骤E-104-1中保留的两个候选i1(0)和i1(1)中的每一个,保留与字典中最接近φ2的两个点相对应的两个索引i2(2i1(j))和i2(2i1(j)+1),从而给出4个索引i2(0),i2(1)和i2(2),i2(3),使得:
以及
应当注意,在编码结束时,可以置换索引i2(0)至i1(3),而不改变最佳候选的结果。
最后,在步骤E104-(n-1)中,仅保留最近邻用于对φn-1进行编码,并且针对从先前的n-2个坐标产生的索引的2n-2个组合重复该步骤。
因此,在直到步骤n-2的每个步骤中,获得了具有两倍数量的“候选”的隐含二叉树,以便获得2n-2个编码值的可能组合,并且因此在步骤E104-(n-1)中获得尽可能多的索引组合。
在步骤E104-(n-1)结束时,该树在这里通过二叉树的叶级别的组合索引m=0,...,2n-2-1来呈现。
对于m的给定值,对应的单独量化索引为:
i1(m>>(n-3)),i2(m>>(n-4)),...,in-1(m)
其中,运算符b>>n对应于整数值b(在二进制表示中)向右移动n位的二进制移位——换句话说,b>>n给出了b除以2n的整数除法的商。因此,对于i1,m>>(n-3)只取两个值0或1,对于i2,m>>(n-4)取4个可能的值(从0到3),等等。
因此,在步骤E105中,这给出了2n-2个数量的候选其也可以缩写为(1,的形式,其中,m=0,...,2n-2-1。步骤E106在已经将每个候选转换为笛卡尔坐标并最小化与x=(x1,…,xn)的距离的笛卡尔坐标域中或者在具有预定距离(优选地为角距离)的球面坐标域中选择最接近输入点的候选。
在笛卡尔坐标的情况下,步骤E106将中的球面坐标转换为笛卡尔坐标并且单独索引的最佳组合在这里被选择为:
用于输入点x=(x1,...,xn)与每个候选之间的平方误差标准。在一些变型中,可以使用除平方误差之外的距离标准。也可以以等效于平方误差的方式使标量积最大化:
由于其中,<.,.>是标量积,因此点x和在单位球体上。
在球面坐标的情况下,可以使用角距离,其作为x=(x1,…,xn)和的标量积的反余弦给出。由于反余弦不修改最佳值,因此可以使用经修改的角距离,该经修改的角距离简单地简化为在球面坐标域中表示的标量积。对于维度n=3,该距离已知为——在这里对于余纬度为:
其易于适应于仰角:
在E106中,该标准给出:
简化为n=3的标量积的角距离的该示例可以一般化为更高的维度。
因此,这给出了与对应的单独量化索引序列(i1(m*>>(n-3)),...,in-1(m*))相对应的最佳编码点的索引m*,该单独量化索引序列与每个球面坐标的顺序编码相关联。
索引i1、…、in-1(缩写形式)的这种组合在步骤E107中以全局和单个索引index的形式或者以单独量化索引的编码和/或复用的形式被转换为比特串。
在第一实施例中,根据本发明,该索引通常以以下形式获得:
index=offset1(i1)+offset2(i1,i2)+…+offsetn-2(i1,i2,...,in-2)+in-1
其中,offsetk(.)表示第k个坐标的基数信息,其形式为累积基数和,对应于从“北极”开始到由第k个坐标的编码值定义的“球面区域”的网格点数的累积和。
因此,全局索引index是通过对最佳候选的单独量化索引i1,i2,...,in-1进行顺序编码来获得的。
在一些变型中,和(in-1)的最后一项可以被置换,以便具有:
index=offset1(i1)+offset2(i1,i2)+…+offsetn-2(i1,i3,…,in-2)+p(in-1)
其中,p(.)是{0,1,…,Nn-1(i1,i2,…,in-2)-1}中的整数的置换。在不失一般性的情况下,下文将讨论p(i)=i的情况。
根据定义,offset1(0)=0并且
i=0,...,N1-1。基数信息可以用惯例offset1(N1)=Ntot来扩展,这对解码很有用。
同样,offset2(i1,0)=0并且
该定义可以易于针对其他值offsetk(.)进行一般化。
在一些变型中,其他方法将是可能的,特别是通过改变累积基数和offsetk(.)的i1、i2,...上的每个求和运算的起始点(北极、南极、赤道)和/或索引的顺序。
在第二实施例中,根据本发明,步骤E103-k中的级别数量Nk(i1,i2,..,ik-1),k=2,..,n-1和步骤E107中的基数信息offsetk(i1,i2,..,ik),k=1,...,n-2是基于球体的球面区域的表面积以及例如与第一坐标φ1的球面网格的总数Ntot相对应的总点数来分析获得的;下文针对n=3维和4维详细描述了这种分析方法的一些示例性实施例。这些示例可以一般化为n维。还是在这种情况下,全局索引index是通过对最佳候选的单独量化索引i1,i2,...,in-1进行顺序编码来获得的。
在第三实施例中,步骤E107包括以二进制形式对与最佳候选相对应的n-1个索引i1(m*>>(n-3)),...,in-1(m*)进行顺序编码。这种编码是顺序的,因为每个索引的可能值(Nk)的数值取决于先前的索引。该第三实施例对于高维度特别有益,因为offsetk(.)类型的基数的使用在3维中是相关的,在4维中更复杂,并且在高于4维的维度中实施变得更加复杂。
在第一变型中,这种顺序编码将针对索引i1,...,in-1分别在比特、…、上使用固定速率二进制编码,其中,表示根据惯例舍入到更高的整数。因此,通过首先对i1进行复用,然后对i2进行复用,并且以此类推直到对in-1进行复用,顺序地执行复用以形成具有可变总比特长度的比特串。应当注意,当Nk=1时,编码针对索引ik取0比特。
在第二变型中,将利用霍夫曼熵编码或算术编码对索引进行顺序编码。可以通过确定球体的与坐标φk的ik相关联的“球面切片”中的部分表面积(在有条件地适用于索引i1,i2...,ik-1的情况下)来使用0与Nk-1之间的每个值(符号)ik的概率估计,其中,缩写符号Nk表示Nk(i1,i2,..,ik-1),,该面积通过针对坐标Φ1的球体的总面积以及由针对坐标φk,k=1,...,n-2的索引i1,i2...,ik-1产生的球体部分的总面积来归一化。这里,术语“球面切片”被理解为意指为坐标Φk产生的球面区域,并且由与索引ik的码字相对应的判定阈值来界定。
一般来说,对于坐标φn-1,假设等概率分布,可以简单地在比特上使用具有固定长度的二进制编码。
在一些变型中,如果假设源在3维球体上分布不均匀,则其他概率估计将是可能的。
参考图1b描述了用于维度n的对应解码方法。
给定步骤E110中的全局索引,根据类似于编码的方法从步骤E111-1到步骤E111-(n-1)执行球面坐标的顺序解码。
在步骤E112-1中,如在编码步骤E103-1中一样,确定标量量化级别的数量N1。在步骤E113-1中确定索引i1,以便在步骤E114-1中对值进行解码。
在第一实施例中,i1的确定是基于值index与一组整数值offset1(i1)的比较,其中,offset1(i1)对应于第一球面坐标的累积基数和,如以上参考图1a针对编码所定义的。
用于对i1进行解码的最简单实施例包括迭代搜索。
对于要解码的索引0≤index<Ntot,i1从i1=0开始解码并连续地递增i1←i1+1,只要offset1(i1+1)>index。事实上,offset1(i1)的值对应于球体的从索引为0的第一切片到索引为i1的当前切片(排他地)的每个“水平切片”的基数(点数)的累积和。
在第二实施例中,i1是分析确定的。确切的确定取决于维度n。维度3和4的一些示例性实施例如下描述。
在步骤E113-1中,从index中减去offset1(i1)的值:
index←index-offset1(i1)
在步骤E112-2中,如在步骤E103-2中一样,确定标量量化级别的数量N2(i1),并且然后在步骤E113-2中通过连续地将值index(在步骤E113-1中更新)与对应于第二球面坐标的累积基数和的offset2(i1,i2)进行比较、通过在第一实施例中连续地递增i2的值(只要offset2(i1,i2+1)>index)来确定索引i2,或者在第二实施例中分析确定该索引。这在步骤E114-2中给出了值在步骤E113-2中,从index中减去offset2(i1,i2)的值:
index←index-offset2(i1,i2)解码以这种方式进行到最后一个坐标,以便通过从index的更新值中减去offsetn-1(i1,i2,..,in-2)来获得与坐标φn-1相对应的量化索引in-1,并在步骤E114-(n-1)中对值进行解码。
因此,这在步骤E115中给出了经解码点作为或者在E116中作为笛卡尔数据,该点
在一些变型中,将可以例如利用从表offsetk(.)的中间开始的二分法搜索并且然后通过根据比较结果将搜索区间向左或向右减半——结果是相同的,但是最大计算复杂度通过近似地log2N1比较而不是N1比较而降低——来降低索引i1、i2的解码的最大复杂度。
在第二实施例中,步骤E112-k中的点数Nk(i1,i2,…,ik-1),k=2,…,n-1和步骤E113-k中的基数信息offsetk(i1,i2…,ik),=1,…,n-2是基于点数Ntot以及n维球体的球面区域的表面积来分析获得的。下文针对维度n=3和4详细描述了一些示例性实施例。值offsetk(.)将通过确定球面区域的相对表面积来分析确定——而不被存储,如参考图2和图3详细描述的。
在第三实施例中,步骤E110包括对n-1个单独标量量化索引i1(m*>>(n-3)),…,in-1(m*)进行解复用和顺序解码。这种解码是顺序的,因为每个索引的可能值(Nk)的数值取决于先前的索引。在第一变型中,这种解复用和顺序解码将针对索引i1,…,in-1分别在比特、…、上使用固定速率二进制解码,其中,表示根据惯例舍入到更高的整数。因此,解复用顺序地进行以便读取具有可变总比特长度的比特串。解复用是顺序的,因为首先对i1进行解复用,从而使得能够确定N2(i1),并且该信息被提供给解复用以便能够对i2进行解复用,等等。
在第二变型中,将利用霍夫曼熵解码或算术解码对索引进行解复用和顺序解码。可以通过确定球体的与坐标φk的ik相关联的切片中的部分表面积(在有条件地适用于索引i1,i2...,ik-1的情况下)来使用0与Nk-1之间的每个值(符号)ik的概率估计(用缩写符号表示),该面积通过针对坐标φ1的球体的总面积以及由针对坐标φk,k=1,...,n-2的索引i1,i2...,ik-1产生的球体部分的总面积来归一化。
一般来说,对于坐标φn-1,假设等概率分布,可以简单地在比特上对固定长度代码进行解复用。
在一些变型中,如果假设源在3维球体上分布不均匀,则其他概率估计将是可能的。
现在描述图2a和图2b,以便首先说明3D量化的情况,其中,n=3。
在不失一般性的情况下,这里将采用符合声学和3D音频领域中经常使用的物理惯例的3D中的球面坐标的定义。在对源方向(或DoA)进行编码的情况下,这里被设置为1的半径在这里将被省略,仅保留方位角和余纬度(或一些变型中为仰角),如在DiRAC方案中所述。
在一些变型中并且对于某些应用(例如基于变换的编码中子带的量化),将可以对半径进行单独编码(例如对应于每个子带的平均幅度水平)。
图2a描述了用于对3维球体上的输入点进行编码的方法。
在E201中,3D笛卡尔向量(步骤E200的输入点)的分量(x,y,z)被转换为球面坐标(r,φ,θ)。在该步骤E201中,可选地执行球面坐标的转换,例如以便将以度为单位的仰角和方位角转换为以弧度为单位的余纬度和方位角。
在优选实施例中,角度φ,θ分别对应于余纬度和方位角,其不与参考图1针对维度n=3的情况定义的角度φ1和φ2相对应,因为在该维度中,北极和南极(分别为n=3和π)的物理解释很重要。
在下文中,当点在单位球体(r=1)上时,3D点可以不加区别地表示为(x,y,z)、(r,φ,θ)或(φ,θ)。
在不失一般性的情况下,要编码的角度以弧度为单位定义——然而,为了便于其理解,在一些变型中使用的分辨率参数α以度为单位给出。在一些变型中,各种实施例可以对要编码的角度使用另一单位,例如度。在一些变型中,余纬度(基于轴线Oz定义的)可以用仰角(基于水平面0xy定义的)来代替,并且根据本发明可以使用其他等效的球面坐标系(例如通过置换或反转笛卡尔坐标获得的)——这将足以在标量量化字典的定义、级别数量等方面应用必要的转换。根据本发明的编码和解码适用于所有球面坐标定义,并且因此可以通过调整笛卡尔坐标与球面坐标之间的转换来用其他球面坐标代替φ,θ。
根据本发明,球体上的输入球面数据由球体的准均匀离散化来表示(这里是指判定区域的面积和点分布的均匀性)。网格(或球面向量量化字典)因此由球面坐标φ,θ的顺序标量量化来定义,在这个意义上,第一坐标φ通过标量量化来离散化,并且然后第二坐标θ基于第一坐标的编码值有条件地离散化。
在不失一般性的情况下,角度φ,θ将以弧度为单位来定义。在一些变型中,可以使用除弧度以外的单位,例如度。
根据本发明定义了球面网格的多种类型和变型。它们都具有共同的特征,即通过标量量化顺序地离散化余纬度然后离散化方位角,其中,取决于余纬度的编码值,根据级别的数量均匀地离散化方位角。
基于经编码余纬度的索引i,用具有针对φ的N1级别的预定标量量化字典和具有针对θ的N2(i)级别的一组预定均匀标量量化字典来对坐标φ和θ进行顺序编码。因此,可以将根据本发明的3D网格的每个变型视为由余纬度的量化产生的一组离散化的“球面区域”或“水平切片”(每个切片的界线由用于余纬度的量化的判定阈值给出,不包括极点),然后这些切片本身被分成在方位角方面均匀分布的“区域”,其中,“区域”的数量取决于余纬度切片。根据所确定的各种级别数量离散化的球体的总点数(也称为3D网格中的总点数)在所有情况下都是:
因此,球面网格被定义为以下球面向量量化字典:
如果以独立于φ和θ的编码的完全独立的方式(而不是像本发明中那样顺序地)执行编码,则在网格中搜索最近邻将对应于将球体划分成“球面矩形”;然而,根据本发明,优选地执行为余纬度保留两个候选的顺序编码,从而改变判定区域的形状,其中,通常大多数“判定区域”为六边形,并且最佳结果等效于穷举搜索。
如下所述,编码算法(具体地,用于搜索最近邻)和解码算法(“逆”量化)对于所有网格类型都是通用的;另一方面,全局索引的确定(编引)和全局索引的解码取决于实施例。
用于对余纬度进行编码的标量量化字典的类型可以是均匀的(具有或不具有极点)或非均匀的。
定义了三个实施例,如图1a和图1b中描述的一般情况。应当注意,在第二实施例中,网格被具体定义,以便简化在不存储基数信息的情况下发生的确定全局量化索引(编引)的步骤。在这种情况下,基于球体的部分表面积以及总点数Ntot来分析获得方位角编码的级别数量和编引所需的基数信息。
在第一实施例中,网格是例如基于角分辨率α(为了便于其理解,以度为单位)如下定义的。
在202-1中,在N1重建级别上通过标量量化对余纬度进行编码。优选地,使用区间[0,π]上的均匀标量量化(包括值0、π/2和π作为重建级别):
其中,N1在E203-1中被定义为具有奇数数量的级别N1(并且因此包括北极、南极和赤道),并且[.]是舍入到最接近整数。奇数数量级别的这种约束(以便具体地具有等于标量量化字典中的π/2的重建级别)是由以下事实激发的,即在3D音频应用中,具体地表示水平面(φ=π/2)是有益的,因为许多人工高保真立体声内容项目通常用零Z分量来定义。字典的以上定义也暗示了北极和南极(对应于φ=0和π)也具体地包括在字典中;包括极点允许完整地表示球体,并且影响是最小的,因为网格中只有2个点与极点相关联。
在E202-2中,方位角θ在N2(i)级别上通过标量量化进行编码。考虑到区间[0,2π]的圆形性质,优选地在E202-2中使用具有均匀标量量化字典的均匀标量量化,使得没有必要具有冗余界限0和2π两者作为重建级别:
其中,N2例如在E203-2中由定义,并且δ(i)是根据本发明的预定偏移。根据定义,当极点被包括在字典中时,这给出N2(0)=1和N2(N1-1)=1。
偏移δ(i)被定义为“旋转”与索引i的每个余纬度相关联的球体的“水平切片”(由余纬度判定阈值界定),使得经编码方位角从一个连续切片到下一个连续切片尽可能少地对齐。
实际上,可以在两个处理框中用简化的字典(没有偏移)以等效的方式定义相同的字典:
通过利用字典将偏移δ(i)应用为均匀标量量化的预处理和后处理(参见下文参考图2a的编码描述)。
在以上简化字典的公式中,应当注意,在知道的情况下,故意增加了冗余的量化级别j=N2(i);这种冗余使得能偶通过最小化模数运算来有效地考虑区间[0,2π]的圆形性质。
网格中的总点数由下式给出:
从而给出log2Ntot比特的速率。
表1给出了用于获得点数Ntot的分辨率α(以度为单位)的一些示例,该点数使得能够尽可能接近网格中的目标速率(以比特为单位),其中,N1是α的函数。这里α的值是指示性的,并且在一些变型中,可以使用其他值。应当注意,通常,由于3D网格的顺序构建约束,没有使用一定数量的可能级别。
表1
在一些变型中,可以用舍入到更低或更高的整数来代替N1和/或N2(i)的定义中的舍入到最接近整数[.],其中,i是集合i=0,...,N1-1中的一个或多个值;这使得能够特别地调整球面网格中的点数Ntot。在这种情况下,所使用的舍入惯例当然应该以相同的方式应用于编码和解码,以确定N1和/或N2(i)的值。在不失一般性的情况下,其中[.]对应于舍入到最接近整数的惯例将保持如下。
给定N1和余纬度的标量量化字典可以根据各种方法来确定δ(i)。一般来说,在极点和赤道包括在余纬度字典中的优选情况下,设置δ(0)=δ((N1-1)/2)=δ(N1-1)=0。事实上,极点仅与单个点相关联,因为在φ=0和π包括在中的优选实施例中,N2(0)=N2((N1-1)/2)=1,并且因此相关联的偏移是不相关的。当中包括φ=π/2时,在水平面中保持零偏移以便具有能够更容易地解释的3D方向是有益的。
此外,在确定δ(i)的第一实施例中,规定偏移对于北半球和南半球是对称的或反对称的,也就是说:
δ((N1-1)/2+i)=δ((N1-1)/2-i)或-δ((N1-1)/2-i),i=1,...,(N1-1)/2-1。
在第一实施例中,通过从赤道正上方的“水平切片”开始到北极正前面的切片的连续“水平切片”的学习针对i=1,...,N1-2对偏移δ(i)进行顺序优化。在迭代i中,为了最小化由仰角以及和界定的球面区域的量化误差,寻找δ((N1-1)/2+i)。该误差可以通过根据均匀定律在球体表面上随机分布的源的蒙特卡罗模拟来估计(例如通过3维高斯图和归一化),仅保留其仰角在与之间的随机样本,并且根据本发明通过测试δ((N1-1)/2+i)的各种候选值对这些随机样本进行编码。
这相当于仅对仰角在与之间的输入数据应用图2a中描述的编码。对于尽可能多的要测试的值δ((N1-1)/2+i),重复这种编码,δ((N1-1)/2+i+1)的值在前一次迭代中是已知的。量化误差例如用均方误差进行测量,并且保留对应于最小值的δ((N1-1)/2+i)的候选值——例如,将可能在分成1000个等距步长的区间上改变δ((N1-1)/2+i)。
表2给出了在(在表1中定义的)8比特上的3D网格的情况下通过这种学习(或这种优化方法)获得的偏移的一个示例。似乎该实施例需要存储δ(i)的N1值。在一些变型中,按照惯例((N1-1)/2+i)=δ((N1-1)/2-i),i=1,...,(N1-1)/2-1,将可以只存储非零和非冗余值i=1,...,(N1-1)/2-1。在一些变型中,将可以在赤道周围采用反对称惯例。
表2:
在一些变型中,用于确定偏移δ(i),i=1,...,N1-2的其他方法将是可能的。例如,将可以迭代地最大化两组离散方位角值之间的最小圆形距离(模数2π)
以及
其中,i的范围为从(N1-1)/2-1直到2,并且假设在迭代i中是已知的,其中,δ(i+1)被设置为常数。对于i的值,确定以下内容:
其中,每一步中的δ(i+1)都是已知的(从δ((N1-1)/2)=0开始)并且dmod(.)是圆形距离模数2π——在δ(i)的多个值达到最佳值的情况下,优选地保留最小的值。该(替代性)实施例在理论上需要存储δ(i)的值。
在一些变型中,偏移δ(i)将被定义为预定值,使得不必存储这些值。
在第一变型中,给定余纬度索引i(不包括极点和赤道),将保持约束δ(0)=δ((N1-1)/2)=δ(N1-1)=0并且将设置即方位角标量量化步长的一半。此外,将采用δ((N1-1)/2+i)=δ((N1-1)/2-i)或-δ((N1-1)2-i),i=1,...,(N1-1)/2-1。
在第二变型中,将设置(i的奇数值)以及δ(i)=0,i=0,2,(N1-1)/2(i的奇数值)。此外,将采用δ((N1-1)/2+i)=δ((N1-1)/2-i)或δ((N1-1)/2-i,i=1,...,(N1-1)/2。
在第三变型中,偏移被设置为δ(i)=0,并且实施了本发明的其他方面。
在其他变型中,可以使用δ(i)的其他值。
在一个特定实施例中,级别数量N1可以直接设置为整数值(优选地为奇数),而不寻求近似于角分辨率α。根据N1,可以推导出角分辨率,在一种特定模式下,该角分辨率对应于量化步长:(以度为单位)。用α的该值重复确定级别数量N2(i),其中,
然而,该特定模式的缺点是,在分配每个球面层的点数以达到某个目标速率方面通常不够精细。
表3给出了使得能够在直接给出N1的网格中接近目标速率(以比特为单位)的值N1的点数Ntot的一些示例。
表3
在一些变型中,可以采用但这并不保证赤道(对应于φ=π/2)包括在量化字典中。在这种情况下,假设包括赤道的一些编引变型(如下所述)将无法实施。
在其他变型中,将不可能例如通过将余纬度的重建级别定义为以下来表示极点:
在这种情况下,假设包括极点的一些编引变型(如下所述)将无法实施,或者必须进行调整。
现在将呈现用于对图2a中展示的2维球体上的输入点的球面坐标(φ,θ)进行编码的方法。
现在将描述平方误差(或欧几里德距离)的最佳搜索算法,该平方误差对应于(φ,θ)与之间的弦的长度或与这些点之间的圆弧长度相关联的角距离。
球面坐标的量化和搜索如下顺序地进行:
-假设E200中的3D点(x,y,z)位于S2(半径为1)上,φ首先在E201中被确定为:
φ=arccosz
-余纬度φ首先在E202-1中进行编码。为了使搜索最佳,有必要在步骤E204-1中保留2个最接近值和(索引i1(0)的最接近值和第二接近值i1(1)):
在一些变型中,可以通过直接量化来确定i1(0)和i1(1)——下文给出了形式的均匀标量字典的一个示例性实施例:
○如果φ=0,则i1(0)=0并且i1(0)=1
○如果不是:
■如果φ=π,则i1(0)=N1-1,i1(1)=N1-2
■如果不是:则并且其中,和(分别)表示舍入到较低整数和较高整数,并且是标量量化步长。
应当注意,在所有情况下都可以置换索引i1(0)和i1(1),而不会改变编码结果。
因此,这给出了对应于字典中最接近φ的两个点的两个索引。
然后在E201中确定方位角
其在[0,2π]中定义。在一些变型中,可以在4个象限上使用反正切函数(表示为反正切2):
θ=arctan2(y,x)
但在这种情况下,方位角θ在[-π,π]中定义,并且因此有必要调整量化字典(其中,偏移为-π)。
-在E204-2中通过均匀标量量化用自适应级别数量N2(i)对方位角θ进行编码,其中,i=i1(0)或i1(1),如以上在步骤E203-2中所述,以便在E204-2中分别获得两个值和
优选地,E204-2中的均匀标量量化在具有简化字典(没有偏移)的两个处理框中实施:
偏移-δ(i)首先应用于输入:
θ′=mod2π(θ-δ(i1(m)))
其中,mod2π(x)是模数2π的运算,并且然后在字典中对以下进行量化:
对于输入θ′∈[0,2π],可以直接如下执行字典中的这种量化:
○如果θ′=0,则i2(m)=0并且i1(m)=1
○如果不是:
■如果θ′=2π,则i2(m)=N2(i1(m))
■如果不是:i2(m)=[θ′/s],其中,[.]表示舍入到最接近整数,并且是标量量化步长
■如果i2(m)=N2(i1(m)),i2(m)←0
对应的重建级别是:
因此,这对应于利用字典进行标量量化,或者以等效的方式利用字典以及预处理mod2π(θ-δ(i1(m)))和后处理进行标量量化。
-在步骤E205中,这给出了两个候选(2n-2,其中,n=3)m=0或1。
-步骤E206包括在笛卡尔坐标中选择最接近x=(x,y,z)的候选m=0,1以及
距离标准可以是要最小化的欧几里德距离或者要最大化的标量积例如:
在E206中选择的量化索引对应于所选择的点:(i1(m*),i2(m*)),其中,m*=0或1。
在一些变型中,可以通过直接在球面坐标域中计算距离来执行最后一步,而不通过笛卡尔坐标传回。可以在(φ,θ)与之间的球面坐标域中评估距离。从角距离开始
因此,可以最小化:
为了简化符号,这些索引将在图2a的剩余描述中表示为(i,j),以便分别用m*=0或1来表示所选择的索引(i1(m*),i2(m*))。
现在根据各种方法来描述编引步骤E207。在该步骤中,基于从所选择的最近点的球面坐标的单独量化产生的单独索引(i,j)来确定全局量化索引。
基于索引(i,j),其中,,0≤i≤N1-1并且0≤j≤N2(i)-1,在E207中确定要传输的单个索引0≤index≤Ntot。
在第一实施例的一个优选实施方式中,使用由连续球面区域(或“水平切片组”)的offset1(0)=0和定义的累积基数和的预存储(列表)。该和offset1(i)可以被解释为离散化球面区域的基数(范围从索引0的余纬度到索引i的余纬度的部分网格的点数)。
表4给出了在3D网格的情况下表格{offset1(i)}的一个示例(对于α=12.5419921875,其中,N1=15)。
表4
i | N2(i) | offset1(i) |
0 | 1 | 0 |
1 | 6 | 1 |
2 | 12 | 7 |
3 | 18 | 19 |
4 | 22 | 37 |
5 | 26 | 59 |
6 | 28 | 85 |
7 | 29 | 113 |
8 | 28 | 142 |
9 | 26 | 170 |
10 | 22 | 196 |
11 | 18 | 218 |
12 | 12 | 236 |
13 | 6 | 248 |
14 | 1 | 254 |
15 | - | 255 |
使用存储在存储器中的该预先计算的累积和来确定仰角索引。因此,全局索引计算如下:
index=offset1(i)+j
因此,全局索引index是通过对最佳候选的单独量化索引i,j进行顺序编码来获得的。
在这种情况下,值0对应于北极,并且值offset1(N1-1)对应于南极。这里定义了值offset1(N1)=Ntot,以便能够对index进行解码(参考图2b进一步参见下文)。
在一些变型中,可以不存储值offset1(i),而是基于其定义对其进行“在线”(实时)计算:
然而,这增加了计算复杂度,如果网格包括大量的点,则这可能是不可忽略的。
在一些变型中,通过将仰角上的索引顺序从N1-1到0而不是从0到N1-1反转,可以从南极开始进行索引,并且通常可以用索引l的任何预定置换来执行和定义因此,在其他变型中,可以置换“球面切片”的编引顺序。不像从北极经过赤道到南极开始编引,起点是赤道,然后对北半球进行编码(没有赤道),并且再然后对南半球进行编码。
在一个变型中,这将给出offset1(0)=0和offset1(N1)=Ntot,然后将通过以下设置首先对赤道进行索引:offset1(1)=N2((N1-1)/2),然后将可以用索引的(offset1(N1)-offset1(1))/2点对北半球(没有赤道)进行编码,并且然后将可能对南半球(没有赤道)进行编码并从南极开始,其中,索引i>(N1-1)/2是“反转的”:i′=N1-1-i。
在第二实施例中,除了在E203-2中确定数量N2(i)的步骤以及E207中的编引步骤之外,编码步骤与第一实施例的编码步骤相同,这是该第二实施例所特有的,并且下文将详细描述。
给出与索引i的经编码余纬度相关联的每个“球面切片”中的经编码方位角值的数值的值N2(i)将在该第二实施例中设置,以便允许分析编引。
字典优选地如第一实施例中那样定义:
其中,例如——在一些变型中,N1可以是优选地为奇数的整数
其中,偏移δ(i)如第一实施例中所述的进行设置,并且N2(i)在下文中基于球体上的部分表面积、值和总数Ntot进行定义。
典型地,确定N2(i)所需的N1的值和总数Ntot可以如第一实施例中确定的那样进行初始化:例如,如表1中所示,对于α=0.7929811477661133,N1=227并且Ntot=65326(其中,16比特的目标速率有210个未使用的值),但是也可以设置不同的值,如N1=229和Ntot=65536,特别是为了限制给定速率的未使用点的数量。
现在将描述分析确定方位角的编码级别数量N2(i)和累积点数offset1(i)直到索引为i的某个球面切片的原理(排外地)。
定义了用于确定级别数量N2(i)的各种方法。这些方法都有共同的特征,即使用舍入到预定义整数(例如最接近整数)基于总点数以及由余纬度值(阈值)界定的球面区域的表面积来估计网格的点数,该表面积本身由球面区域的表面积进行归一化,该球面区域例如是完整球体或除极冠之外的完整球体。
围绕球体上的点(θ,φ)的元素的表面积由dA=r2 sinφdθdφ给出,其中,φ在这里是余纬度(如果使用仰角,则这将给出cosφ中的项)。由余纬度区间[φmin,φmax]产生的两个水平面界定的球面区域所定义的部分表面积由下式给出,其中,0≤φmin≤φmax≤π,方位角在[0,π]上:
特别地,这给出了已知的结果,即半径为r的球体的表面积为Atot=A(0,π)=4πr2(对于φmin=0和φmax=π)。
对于球面网格(或球面向量量化字典)中的点数Ntot,与该网格的点相关联的每个“判定区域”在这里被近似为用于编引目的的“球面矩形”(这对应于用于球面坐标的单独编码的非顺序判定)。如果网格是均匀的,则这些区域中的每个区域应当理想地具有4πr2/Ntot的表面积。
对于余纬度的均匀离散化,其中:
因此,可以在E203-2中估计包含在由与判定阈值和相关联的两个水平面以及简单的三规则界定的索引为i的球面区域(或“球面切片”)内的网格上的点数,其形式如下:
其可以被舍入到整数(例如最接近整数、较低整数、较高整数等)。
还可以在E203-2中估计包含在北极与索引为i的“球面切片”的界限之间的球面区域内的网格上的点数,该球面切片由与判定阈值相关联的水平面界定,如下所示:
其可以被舍入到整数。
通过这些值,可以在E203-2中定义第二实施例中的值N2,其形式如下:
该级别数量是通过基于总数Ntot以及北极与由同判定阈值相关联的水平面界定的索引为i的“球面切片”的上限之间的(归一化)球面区域的表面积对网格中的点数进行(四舍五入)估计来获得的——该表面积由球体的总表面积进行归一化。
在一些变型中,可以在E203-2中采用以下内容:
该级别数量是通过基于总数Ntot以及由与判定阈值和相关联的两个水平面界定的索引为i的球面区域(或“球面切片”)的表面积对网格中的点数进行(四舍五入)估计来获得的。
在一些变型中,可以在E203-2中单独定义极点的级别数量,并且不包括以下形式的极点:
N2(0)=N2(N1-1)=1
i=1,...,N1-2
级别数量(不包括极点)是通过基于(经修改的)总数Ntot-2以及北极与由同判定阈值相关联的水平面界定的索引为i的“球面切片”的界限之间的球面区域的表面积对网格中的点数进行(四舍五入)估计而获得的——该表面积由与判定阈值和相关联的两个水平面界定的球面区域的表面积进行归一化。
在一些变型中,还可以通过修改i的某些值的舍入类型(较低或较高的整数而不是最接近整数)来调整N2(i)的确定,或者甚至调整Ntot的值。例如,可以在E203-2中采用针对i=1的经修改的定义:
其中,是舍入到较低整数。
通常,在该第二步骤中获得的值N2(i)不同于在第一实施例中定义的值即使Ntot如在第一实施例中那样定义。
通过如此定义的值N2(i),方位角字典因此可以被确定为:
其中,N2(i)是根据第二实施例确定的。
一般而言,以下等式是通过构建获得的(其中,Ntot是用于确定值N2(i)的给定整数值):
如果不满足该等式,特别是对于低值Ntot,则有必要调整某些参数,例如调整Ntot的值,或者调整N2(i)的定义中的舍入的计算,或者直接为i的某些值设置值N2(i)。
在该第二实施例中,E207中的编引被简化。全局索引计算如下:
index=offset1(i)+j
因此,全局索引index是通过对最佳候选的单独量化索引i,j进行顺序编码来获得的。
对于这里与均匀标量量化和舍入到最接近整数一起使用的的优选定义:
offset1(0)=0
因此,至少一些索引i的值offset1(i)是通过基于总数(Ntot)以及北极与由同判定阈值相关联的水平面界定的索引为i的“球面切片”的下限之间的球面区域的表面积对网格中的点数进行(四舍五入)估计来获得的——该表面积由球体的总表面积进行归一化。
在一些变型中,可以定义例如:
offset1(0)=0
offset1(N1-1)=Ntot-1
这里,至少一些索引i的值offset1(i)是通过基于经修改的总数Ntot-2以及北极与由同判定阈值相关联的水平面界定的索引为i的“球面切片”的下限之间的球面区域的表面积对网格中的点数进行(四舍五入)估计而获得的——该表面积由与判定阈值和相关联的两个水平面界定的球面区域的表面积进行归一化。
应当注意,该第二实施例需要足够的计算精度(就三角函数的计算而言),以便正确地确定N2(i)和offset1(i)的值。
在第二实施例的一些变型中,标量量化字典可以不同,在这种情况下,N2(i)和offset1(i)的定义中的项和将分别适合于和这里应当注意,值实际上对应于标量量化判定阈值;这些阈值定义了积分限制,用于基于球体上的部分表面积确定某个球面切片的点数。
在第三实施例中,所有编码步骤E201至E206都与前两个实施例相同,并且步骤E207包括以二进制形式对与最佳候选相对应的缩写为i,j的2个索引i1(m*>>1),i2(m*)进行顺序编码。这种编码是顺序的,因为方位角的可能值N2(i)的数值取决于余纬度的索引i。
在第一变型中,这种顺序编码将使用分别在比特和比特上具有固定比率i,j的二进制编码,其中,表示根据惯例舍入到更高的整数。因此,复用顺序地进行以便形成具有可变总比特长度的比特串。首先对i进行复用,然后对j进行复用。应当注意,当N2(i)=1时,编码针对索引j取0比特,因此这种编码是不必要的。
在第二变型中,将利用霍夫曼熵编码或算术编码对索引i,j进行顺序编码。可以通过确定球体的与针对坐标φk的ik相关联的切片中的部分表面积来使用对0与N1之间的索引i的每个值的概率的估计,该面积由球体的针对该相同坐标φk的总面积进行归一化,也就是说:
在字典包括极点的情况下。
如果N2(i)>1,则索引j的编码可以简单地以固定长度执行,因为在这种情况下,对于球体上的均匀分布,概率估计将是等概率的(如果N2(i)>1,则Prob(j|i)=1/N2(i))。在一些变型中,如果假设源在3维球体上分布不均匀,则对概率Prob(i)和Prob(j|i)的其他估计将是可能的。
在其中对仰角而非余纬度进行编码的变型中,将进行N2(i)和offset1(i)的定义以及量化字典的适当转换(通过将余弦项改变为正弦项等)。
现在参考图2b描述用于维度3的对应解码方法。
首先,假设根据第一实施例的参考图2a描述的编引。
给定步骤E210中的全局索引index,在步骤E211-1和E211-2中执行两个球面坐标的顺序解码。
在步骤E212-1中,如在编码步骤E203-1中一样,根据编码中描述的变型之一(通过设置分辨率或直接)确定标量量化级别的数量N1。
根据所使用的编码方法对索引i进行解码。
在第一实施例中,第一个焦点是解码。
在E213-1中通过在以下基数表中进行搜索找到余纬度的索引i:
i=max{l∈{0,...,N1-1}|index<offset1(l+1))}
为此,定义了以下惯例:
offset1(N1)=Ntot
可以如步骤E207中的编码所述的那样确定offset1(i)的值。
在一个变型实施例中,基数表已经全部或部分地存储在存储器中。
在一个变型实施例中,它可以基于其定义实时计算:
在一些变型中,可以仅“在线”(实时)存储或计算如针对编码所述的表offset1(i)的(N1-1)/2+1值。
在E214-1中,经解码余纬度如下重建:
在一些变型中,以与编码相同的方式,其他均匀或非均匀量化字典将是可能的。
根据以下公式通过减法在E213-2中找到方位角的索引j:j=index-offset1(i),这基于全局索引index和经解码余纬度索引i。
在参考图2a描述的针对编码的一些编引变型中,索引j的解码将基于所使用的编引方法进行调整。
偏移δ(i)的值如编码中所定义的那样确定,并且方位角在E214-2中如下重建:
因此,这给出了E215中的经解码点的球面坐标
在该步骤E215中,可选地执行球面坐标的转换,例如以便将以弧度为单位的余纬度和方位角转换为以度为单位的仰角和方位角。
然后可以如下重建E216中的经解码点
其中,在不失一般性的情况下,r=1。在适用时,步骤E216将适用于其他球面坐标系和除弧度以外的单位。
在一些变型中,将球面坐标转换为笛卡尔坐标的最后一个步骤E216将是可选的。
在第二实施例中,除了在E213-1中确定索引i的步骤、在E212-2中确定数量N2(i)的步骤以及在E213-2中确定索引j的步骤之外,该解码步骤与第一实施例的解码步骤相同。
在第二实施例中,E213-1中的索引i的解码通过采用以下值来分析执行:
假设索引是用编码中的定义获得的:
index=offset1(i)+j
其中,offset1(i)直接以分析方式获得:
offset1(0)=0
因此,索引i的解析解码对应于应用的反函数作为i的函数。
在其中以不同方式定义offset1(i)的变型中,反函数将由本领域技术人员以显而易见的方式进行调整。
在一些变型中,还将定义以下内容:
offset1(N1)=Ntot
并且将可以如在第一实施例中一样基于“实时”计算或预存储的值offset1(i)对E213-1中的索引i和E213-2中的索引j应用解码。这就失去了通过反函数直接确定E213-1中索引i的优势,但保留了对offset1(i)的分析确定的优势。
步骤E212-2中用于方位角编码的级别数量如E203-2中的编码一样给出。将回顾多种可能的变型:
或者
或者
N2(0)=N2(N1-1)=1
i=1,...,N1-2
根据以下公式通过减法在E213-2中找到方位角的索引j:j=index-offset1(i)
应当注意,在第二实施例中,值offset1(i)是通过下式分析确定的:
offset1(0)=0
这里将不再回顾在编码中定义的变型,并且E213-2中的解码应遵循与编码中相同的N2(i)和offset1(i)的定义。
在一些变型中,将可以存储这些值offset1(i)。
在第二实施例的一些变型中,标量量化字典可以不同,在这种情况下,N2(i)和offset1(i)的定义中的项和将分别适合于和索引i的确定也将基于进行调整。
在第三实施例中,步骤E210包括对2个索引i,j进行解复用和顺序解码。这种解码是顺序的,因为方位角的可能值N2(i)的数值取决于余纬度索引i。在第一变型中,这种解复用和顺序解码将针对索引i和j分别在比特和比特上使用固定速率二进制解码,其中,表示根据惯例舍入到更高的整数。因此,解复用顺序地发生以便读取具有可变总比特长度的比特串,并且首先对i进行解复用,从而使得能够确定N2(i)并因此能够对j进行解复用。这解释了为什么解码(E211-k)与解复用(E210)之间的箭头是双头箭头。
在第二变型中,将利用霍夫曼熵解码或算术解码对索引进行解复用和顺序解码。可以通过确定球体的与针对余纬度的i相关联的“球面切片”中的部分表面积来使用对0与N1-1之间的每个值(符号)i的概率的估计,该面积由球体的针对该相同坐标φk的总面积进行归一化,也就是说:
在字典包括极点的情况下。
索引j的编码可以简单地以固定长度执行,因为在这种情况下,对于球体上的均匀分布,概率估计将是等概率的(如果N2(i)>1,则Pron(j|i)=1/N2(i))。在一些变型中,如果假设源在3维球体上分布不均匀,则对概率Prob(i)和Prob(j|i)的其他估计将是可能的。
在根据本发明的一些变型中,用[-π/2,π/2]上的仰角代替[0,π]上的余纬度φ。在这种情况下,级别数量被表示为余弦而不是正弦的函数,例如在这种情况下,应用对应的转换(通过转换将余纬度φ转换为仰角,反之亦然)就足够了,具体地,用于计算每个球面区域上的点数的正弦(对应地余弦)函数用余弦(对应地正弦)函数代替。
在一些变型中,余纬度或仰角可以采用弧度以外的单位,例如度。
现在描述图3a和图3b,以便说明4维量化的情况。
图3a描述了用于对4维球体上的输入点进行编码的方法。
这里设置为1的半径被省略。在一些变型中并且对于某些应用(例如基于变换的编码中子带的量化),将可以对半径进行单独编码(例如对应于每个子带的平均幅度水平)。
对于E300中的4D单位球体(a,b,c,d)或(w,x,y,z)上的输入点,在不失一般性的情况下,这里采用4D点(a,b,c,d)的4维球面坐标(E301)的数学定义:
a=cosφ1
b=sinφ1 cosφ2
c=sinφ1 sinφ2 cosφ3
d=sinφ1 sinφ2 sinφ3
其中,根据本发明,φ1在[0,π]或[0,π/2]上,φ2在[0,π]上,并且φ3在[0,2π]上。
在该步骤E301中,可选地执行球面坐标的转换,例如以便获得以度为单位的角度或将球面坐标从一种惯例转换为另一种惯例。
根据本发明,球面输入数据由球体的准均匀离散化来表示(这里是指判定区域的面积和点分布的均匀性)。因此,网格通过球面坐标φ1,φ2,φ3的顺序标量量化来定义。
在第一实施例中,通过将3D情况的第一实施例一般化为4D情况,基于角分辨率α(以度为单位)如下定义网格。
角度φ1在区间[0,π](包括边界0和π作为重建级别)上的N1重建级别上通过E302-1中的均匀标量量化进行编码:
其中,N1在E303-1中被定义为具有奇数数量的级别N1,并且[.]是舍入到最接近整数。因此,角分辨率为
在E302-2中,角度φ2在区间[0,π](包括边界0和π作为重建级别)的N2(i)级别上通过均匀标量量化进行编码:
其中,N2在E303-2中由定义。
根据定义,N2(0)=1并且N2(N1-1)=1。
在一些变型中,当N2>1时,可以确保数量N2给出奇数值(以便包括由关系产生的3D球体的“赤道”),也就是说:
因此,重建级别的数量N2(i)取决于的值。
在E304-3中,考虑到区间[0,2π]的圆形性质,角度φ3在N3(i,j)等级上通过均匀标量量化进行编码:
其中,N3在E303-3中由定义,并且δ(i,j)是根据本发明的预定偏移。优选地,因为4维的情况比3维要复杂得多,所以优选地将δ(i)设置为非存储值,例如:
-δ(i,(N2(i)-1)/2)=0并且也就是说标量量化步长的一半(不包括极点和赤道)。
-δ(i,j)=0
这两种变型的优点是它们不需要存储δ(i,j)的值。然而,在一些变型中,将可以存储通过学习获得的值δ(i),如在3D的情况下一样。
根据定义,对于优先定义的字典,N3(0,0)=1并且N3(N1-1,0)=1。
因此,网格中的总点数为:
因此,球面网格被定义为以下球面向量量化字典:
表5给出了用于获得点数Ntot的分辨率α(以度为单位)的一些示例,该点数使得能够尽可能接近目标速率(以比特为单位)。这里α的值是指示性的,并且在一些变型中,可以使用其他值。
表5
在一些变型中,可以直接设置级别数量N1(设置为奇数值)。角分辨率则对应于量化步长:N2(i)和N3(i,j)的值很容易从中得到:
表6给出了使得能够接近目标速率(以比特为单位)的值N1的点数Ntot的一些示例。
表6
现在将描述针对均方误差的最佳搜索算法,该均方误差对应于(φ1,φ2,φ3)与之间的弦的长度或者与角距离(或测地线距离)相关联的量,该角距离对应于这两点之间的大圆的一部分的长度——单位半径被省略。
在一些变型中,4维球面坐标的其他定义将是可能的,包括通过置换和/或反转与编码的输入和解码的输出相关联的笛卡尔坐标的符号。
在下文中,在反余弦函数的计算中,将可以确保arccosx函数的在这里表示为x的变量满足-1≤x≤1,以避免数值问题,并且如果不是这种情况,如果x>1,则将强制x=1,并且如果x<-1,则将强制x=-1。
由于网格的定义中的连续球面坐标之间的相关性,因此顺序地进行球面坐标的量化以及搜索。为了避免零除,根据本发明,执行对φ1、φ2、φ3的顺序确定:
-给定E300中的4D点(w,x,y,z),假设其位于球体(半径为1)上,φ1首先在E301中被确定为:
φ1=arccosw
-首先在E302-1中对角度φ1进行编码。
○如果||w|-1|<ε,其中,例如ε=10-7,则如果w>0,可以直接在0(i=0)处对φ1进行编码,如果w<0,可以直接在π(i=N1-1)处对其进行编码,并且角度φ2,φ3在预定(零)默认值处进行编码。这特别地避免了在计算坐标φ2,φ3时必须处理可能除以0的数值精度问题。
经解码点)(m=0)可以通过将转换为笛卡尔坐标(球体的半径为1)来重建。然后编码完成。应当注意,在这种“退化”情况下,仅保留一个候选,而不是一般情况下的4个候选。
○如果不是,如果未满足||w|-1|<ε,则为了使4D搜索最佳,有必要在步骤E304-1中保留2个最接近值(索引i1(0)的最接近值和第二接近值i1(1)):
在一些变型中,可以通过直接量化来确定i1(0)和i1(1)——下文给出了形式的均匀标量字典的一个示例性实施例:
○如果φ1=0,则i1(0)=0并且i1(1)=1
○如果不是:
■如果φ1=π,则i1(0)=N1-1,i1(1)=N1-2
■如果不是:则并且,其中,和(分别)表示舍入到较低整数和较高整数,并且是标量量化步长。
因此,这给出了对应于字典中最接近Φ1的两个点的两个索引。
-接下来,在E304-2中,在E301中定义的角度Φ2通过以下进行编码:
○如果其中,例如ε=10-7,
则如果x>0,可以直接在0(i2(0)=i2(1)=0处对φ2进行编码,或者如果x<0,可以直接在π(i2(0)=N1(i1(0))-1,i2(1)=N2(i1(1))-1)处对其进行编码,并且φ3在预定(零)默认值处进行编码。在将和的球面坐标转换为笛卡尔坐标后,选择最接近(w,x,y,z)的候选),m=0或1。
距离标准可以是欧几里德距离或标量积。所选择的量化索引对应于所选择的点:(i1(m),i2(m),0),m=0或1。全局索引是:
index=offset1(i1(m))+offset2(i1(m),i2(m)),如果索引m的候选是最近接的候选。然后编码完成。应当注意,在这种“退化”情况下,保留两个可能候选中的一个候选,而不是一般情况下的4个候选。
○如果不是,如果不满足则为了使4D搜索最佳,有必要在E304-2中保留4个候选
以及
在一些变型中,可以通过直接量化来确定i2(2l)和i1(2l+1),l=0,1——下文给出了形式的均匀标量字典的一个示例性实施例:
○如果φ2=0,则i2(2l)=0并且i2(2l+1)=1
○如果不是:
■如果φ2=π,则i2(2l)=N1-1,i2(2l+1)=N1-2
■如果不是:则并且其中,和(分别)表示舍入到较低整数和较高整数,并且是标量量化步长。
-接下来,在E303-3中,在E301中定义的角度φ3通过以下进行编码:
在一些变型中,可以在4个象限上使用反正切函数(表示为反正切2):
φ3=arctan2(z,y)
但在这种情况下,角度φ3在[-π,π]中定义,并且因此有必要调整量化字典(其中,偏移为-π)。
在E302-3中通过均匀标量量化用如上所述的自适应级别数量N3(i,j)对角度φ3进行编码,其中,i=i1(m>>1)并且j=i2(m),m=0,..,3,以便在E304-3中获得4个对应值
这可以如在步骤E204-2的3D情况中所描述的那样通过将θ用φ3代替、将N2(i)用N3(i,j)代替以及将δ(i1(m))用δ(i1(m>>1),i2(m))代替来执行。
-在步骤305中,这给出了四个候选(2n-2,其中,n=4)其中,索引由m=0,...,3的各种组合给出。
-在将从球面坐标转换为笛卡尔坐标后,在E306中选择最接近(w,x,y,z)的候选m=0至3。
所选择的量化索引对应于所选择的点:(i1(m>>1),i2(m),i3(m))。
全局索引在E307中以下列通用形式获得:
index=offset1(i)+offset2(i,j)+k
其中,i=i1(m>>1),j=i2(m)并且k=i3(m)。
因此,全局索引index是通过对最佳候选的单独量化索引i,j,k进行顺序编码来获得的。
例如,如针对3D情况所描述的,值offset1(i)和offset2(i,j)是球面坐标φ1和φ2的相应量化索引i和j的累积基数和。
在一些变型中,可以通过直接在球面坐标域中计算(测地线)距离来执行最后一步,而不通过笛卡尔坐标传回。
在一些变型中,从笛卡尔坐标(w,x,y,z)到球面坐标的转换将是可选的,并且球面坐标可以被直接编码。
在第二实施例中,除了在E303-2和E303-3中确定数量N2(i)和N3(i,j)的步骤以及E307中的编引步骤之外,编码步骤与第一实施例的编码步骤相同,这是该第二实施例所特有的,并且下文将详细描述。
在第二实施例中,如下所述,可以分析设置标量量化级别的数量N2(i)和N3(i,j)以及基数信息offset1(i)和offset2(i,j)。
在第二实施例中,标量量化字典优选地定义为:
其中,例如
其中,N2(i)如下所述进行设置
其中,N3(i,j)如下所述进行设置,并且δ(i,j)如在第一实施例中一样是根据本发明的预定偏移。在一些变型中,其他定义将是可能的。
将回顾的是,半径为r的球体的表面面积是Atot=2π3r3。
下文给出了由第一坐标上的区间[0,φ1]定义的“完整”球面区域的部分面积:
以及由第一坐标上的区间[0,φ1]和第二坐标上的区间定义的“不完整”球面区域的部分区域:
在这种情况下将设置给出与索引i的经编码坐标φ1相关联的每个“球面切片”中的经编码坐标φ2和φ3的值的数值的值N2(i)和N3(i,j),以便允许下述形式的分析编引。
这使得能够定义总点数:
在第二实施例中,值N2和N3在E303-2和E303-3中以以下形式定义:
根据以上针对3D情况给出的示例,确定以下内容:
如果i=0或N1-1,或者如果j=0或N2(i)-1,则N3(i,j)=1
否则
其中
在一些变型中,用于确定Nsubtot(i)的其他方法将是可能的,该值对于解码的正确运行是至关重要的。
E307中基数和的确定由下式给出:
offset1(0)=0
以及
offset2(i,0)=0
在第三实施例中,所有编码步骤E301至E306都是相同的,并且步骤E307包括以二进制对与最佳候选相对应的缩写为i,j,k的3个索引i1(m*>>2),i2(m*),i3(m*)进行顺序编码。这种编码是顺序的,因为坐标φ2和φ3的可能值N2(i)和N3(i,j)的数值分别取决于索引i和索引i,j。首先对索引i进行复用,然后是索引j,最后是索引k。
在第一变型中,这种顺序编码将使用分别在比特、和比特上具有固定比率i,j,k的二进制编码,其中,表示根据惯例舍入到更高的整数。因此,复用顺序地进行以便形成具有可变总比特长度的比特串。应当注意,当N2(i)=1时,编码针对索引j取0比特,并且当N3(i,j)=1时,编码针对索引k取0比特,因此在这种情况下没有要复用的比特。
在第二变型中,将利用霍夫曼熵编码或算术编码对索引i,j,k进行顺序编码。可以通过确定球体的与针对坐标φ1的索引i相关联的切片中的部分表面积来使用对0与N1之间的索引i的每个值的概率的估计,该面积由球体的针对该相同坐标φ1的总面积进行归一化,也就是说:
其中,
其中,并且
其中,
对于3D情况下的索引,索引j的编码可以使用概率:
在字典包括极点的情况下。
索引k的编码可以简单地以固定长度执行,因为在这种情况下,对于球体上的均匀分布,概率估计将是等概率的(如果N3(i,j)>1,则Prob(k|i,j)=1/N3(i,j))。在一些变型中,如果假设源在4维球体上分布不均匀,则对概率Prob(i)、Prob(j|i)和Prob(k|i,j)的其他估计将是可能的。
现在参考图3b描述用于维度4的对应解码方法。
首先针对第一实施例描述解码。
给定步骤E310中的全局索引index,在步骤E311-1、E311-2和E311-3中执行三个球面坐标的顺序解码。
在步骤E312-1中,如在编码步骤E303-1中一样,确定标量量化级别的数量N1。
在E313-1中通过在以下基数表中进行搜索找到角度φ1的索引i:
i=max{l∈{0,...,N1-1}|index<offset1(l+1)}
为此,定义了以下惯例:
offset1(N1)=Ntot
在一个实施例中,基数表已经全部或部分地存储在存储器中。
在一些变型中,可以不存储值offset1(i)和/或offset2(i,j),而是对其进行“在线”(实时)计算。
在一些变型中,可以仅“在线”(实时)存储或计算表offset1(i)的(N1-1)/2+1值。同样的原则也适用于offset2(i,j)。
在E314-1中解码的角度φ1被重建为:
E312-2包括计算重建级别的数量,例如在一些变型中,可以定义其他字典,如在编码中一样。
在E313-2中根据index←index-offset1(i)通过减法并且通过在另一个累积基数表中执行搜索来找到角度φ2的索引j:
j=max{l∈{0,...,N2(i)-1}|index<offset2(i,l+1)}
在E314-2中解码的角度φ2被重建为:
在E312-3中计算重建级别的数量
在E313-3中根据k=index-offset2(i,j)通过减法来找到角度φ3的索引k。
确定偏移δ(i,j)的值,然后将E314-3中的角度φ3重建为:
因此,这给出了E315中的经解码点的球面坐标在该步骤E315中,可选地执行球面坐标的转换,例如以便将经解码角度转换为度或者将惯例调整为球面坐标的定义。
在E316中,然后可以如下重建经解码点:
在适用时,步骤E316将适用于其他球面坐标系和除弧度以外的单位。
在一些变型中,将球面坐标转换为笛卡尔坐标的最后一个步骤将是可选的。
在第二实施例中,除了在E313-1、E313-2和E313-3中确定表示为i,j,k的索引i1、i2和i3的步骤以及在E313-3中确定数量N3(i,j)的步骤之外,该解码步骤与第一实施例的解码步骤相同。
在第二实施例中,E313-1中的索引i的解码可以通过采用以下值来分析执行:
其中
并且f-1(x)是该函数f(x)的反函数。
然而,没有f-1(x)的明显分析解。
在一个实施例中,将可以确定并存储针对x=i.π/(Nf-1)的f(x)的值,其中,Nf例如被设置为10000。实际上,为了将i正确地解码成函数,需要足够的数值精度。
在另一个实施例中,将使用泰勒级数分段近似。区间[0,π/2]被分成多个子区间,并且f-1(x)例如以以下形式近似:
并添加属性f(π-x)=π-f(x)。因此,通过简单地利用属性f-1(π-x)=π-f-1(x)反转每个子区间上的每一项,就可以很容易地确定f-1(x)分段。在一些变型中,将可以使用更多的子区间。
步骤E312-2中用于的解码的级别数量例如由下式给出:
更新全局索引后在E313-2中找到索引j:
index←index-offset1(i)
根据以下公式如在3D情况下一样进行分析:
其中
在一些变型中,用于确定Nsubtot(i)的其他方法将是可能的,该值对于解码的正确运行是至关重要的。
如果i=0或i=N1-1,则E313-2中索引j的解码将减少为设置j=0。
步骤E312-3中用于的解码的级别数量由下式给出:
如果i=0或N1-1,或者如果j=0或N2(i)-1,则N3(i,j)=1
否则
根据以下公式通过减法在E313-3中找到索引k:k=index-offset2(i,j),其中,
offset2(i,0)=0
同样在这种情况下,如果i=0或i=N1-1,或者如果j=0或j=N2(i)-1,则E313-3中索引k的解码将减少为设置k=0。
在第三实施例中,步骤E310包括对3个索引i,j,k进行解复用和顺序解码。这种编码是顺序的,因为坐标φ2和φ3的可能值N2(i)和N3(i,j)的数值分别取决于索引i和索引i,j。在第一变型中,这种解复用和顺序解码将针对索引i,j,k分别在比特、和比特上使用固定速率二进制解码,其中,表示根据惯例舍入到更高的整数。因此,解复用顺序地进行以便读取具有可变比特长度的比特串。
在第二变型中,将利用霍夫曼熵解码或算术解码对索引进行解复用和顺序解码。可以通过确定球体的与针对坐标φ1的索引i相关联的切片中的部分表面积来使用对0与N1-1之间的每个值(符号)i的概率的估计,该面积由球体的针对该相同坐标φ1的总面积进行归一化,也就是说:
其中,
其中,并且
其中,
对于3D情况下的索引,索引j的解码可以使用概率:
在字典包括极点的情况下。
索引k的解码可以简单地以固定长度执行,因为在这种情况下,对于球体上的均匀分布,概率估计将是等概率的(如果N3(i,j)>1,则Prob(k|i,j)=1/N3(i,j))。在一些变型中,如果假设源在4维球体上分布不均匀,则对概率Prob(i)、Prob(j|i)和Prob(k|i,j)的其他估计将是可能的。
在一些变型中,可以使用球面坐标的另一个定义,并且本发明将相应地进行调整(例如在适用的情况下通过将余弦项改变为正弦,将正弦项改变为余弦,将反余弦项改变为反正弦等)。
在一些变型中,角度可以采用另一单位,例如以度为单位。
图4展示了编码器的一个实施例,该编码器包括实施如上文针对维度3所述的编码方法的编码设备。
这里的输入信号S是1阶高保真立体声信号,其声道典型地以W Y Z X的顺序组织(根据ACN惯例),其中,例如根据SN3D惯例进行归一化。信号被分解成帧,这里假设这些帧为20ms,例如在48kHz下每声道960个样本。
在该示例性实施例中,编码是参数化的,并且包括减少声道的数量(框400),其中,这里仅对一个声道进行编码(框410),例如使用24.4kbit/s的3GPP EVS编解码器进行编码,并且包括编码空间元数据,这些空间元数据在这里对应于DiRAC参数(DoA和“扩散”)。
通过现有技术中已知的具有50%重叠的傅里叶变换和正弦开窗将输入信号分解(框420)成频率子带。这里假设划分成Bark频带,例如从现有技术中已知的分布在Bark标度上的频率中的20个子带。
应当注意,重要的是在时间上将下混信号的编码和空间数据的应用对齐;适当的时间补偿在这里不进行详细描述,并且其取决于编码延迟(框410)和时间/频率分析(框420)。在一些变型中,可以使用其他类型的滤波器组。
在每一帧和每个子带中,估计两个参数(框430)——为了简化符号,没有帧索引或子带被用于各种参数:根据仰角(φ)和方位角(θ)的主要源的方向(DoA),以及由Pulkki在上述文章中描述的“扩散”ψ。通常通过具有时间平均值的活动强度向量来估计DoA;在一些变型中,将可以实施用于估计φ,θ,ψ的其他方法。
DoA在每一帧和每个子带中进行编码;根据本发明,这种编码直接将每个子带的球面坐标(1,φ,θ)作为输入。应当注意,这里假定——在不失一般性的情况下——φ表示以度为单位(介于-90度与+90度之间)的仰角而不是余纬度,并且θ是介于-180度与180度之间的方位角。例如,可以采用目标速率为16比特的网格,以便具有小于1度的分辨率。框440中的编码遵循图2a的步骤。
在优选实施例中,使用的是利用3维球面向量量化的第二实施例最小化编引存储的实施方式。
我们在E201中开始调整球面坐标的定义,以便返回[0,π]上以弧度为单位的余纬度φ和[0,2π]上以弧度为单位的方位角θ:
其中,mod2π(θ)是返回到[0,2π]的运算模数2π,其在这里可以简化为:如果θ<0,则mod2π(θ)=θ+2π
我们从Ntot=65536(也就是说216)开始,并且
其中,N1在E203-1中由N1=229定义,并且
其中,δ(i)由下式给出:
δ((N1-1)/2)=δ(0)=δ(N1)=0
并且N2在E203-2中由下式定义:
φ和θ的编码如参考图2a所描述的那样执行,其中,至多有两个候选。这里根据第二实施例确定16比特(从0至65535)上的全局索引:
index=offset1(i)+j
其中,offset1(i)直接以分析方式获得:
offset1(0)=0
在一些变型中,可以使用3维球面向量量化的第一实施例,其中:
-其中,α=0.7929811477661133,由此给出N1=227
-
-δ((N1-1)/2)=δ(0)=δ(N1)=0,et
可以用如下针对i=0,...,N1存储和列出的值offset1(i)进行索引:{0,1,7,20,39,64,96,134,178,228,285,348,417,492,574,662,756,856,962,1074,1193,1318,1449,1586,1729,1878,2033,2194,2360,2532,2710,2894,3084,3279,3480,3687,3899,4117,4340,4569,4803,5043,5288,5538,5793,6054,6320,6591,6867,7148,7434,7725,8021,8321,8626,8936,9250,9569,9892,10220,10552,10888,11228,11573,11922,12275,12632,12992,13356,13724,14096,14471,14850,15232,15618,16007,16399,16794,17192,17593,17997,18404,18814,19226,19641,20059,20479,20901,21326,21753,22182,22613,23046,23481,23918,24356,24796,25237,25680,26124,26569,27016,27464,27913,28363,28813,29264,29716,30168,30621,31074,31528,31982,32436,32890,33344,33798,34252,34705,35158,35610,36062,36513,36963,37413,37862,38310,38757,39202,39646,40089,40530,40970,41408,41845,42280,42713,43144,43573,44000,44425,44847,45267,45685,46100,46512,46922,47329,47733,48134,48532,48927,49319,49708,50094,50476,50855,51230,51602,51970,52334,52694,53051,53404,53753,54098,54438,54774,55106,55434,55757,56076,56390,56700,57005,57305,57601,57892,58178,58459,58735,59006,59272,59533,59788,60038,60283,60523,60757,60986,61209,61427,61639,61846,62047,62242,62432,62616,62794,62966,63132,63293,63448,63597,63740,63877,64008,64133,64252,64364,64470,64570,64664,64752,64834,64909,64978,65041,65098,65148,65192,65230,65262,65287,65306,65319,65325,65326}
可以实施本发明的其他变型来对DoA进行编码。
在一些变型中,如果角度φ,θ以度为单位给出并且对应于仰角和方位角,则δ(i)和N2(i)的定义可以以明显的方式调整。在这种情况下,E201中的转换将是不必要的。
“扩散”ψ是介于0与1之间的参数,并且在这里通过对例如6比特(64个值)进行均匀标量量化从而将其舍入到最接近值来进行编码(框450):
其中,量化索引ind=0,...,63为:
ind=[ψ/63]
在一些变型中,可以使用各种编码方法,如均匀或非均匀标量量化,或在多个子带中对ψ进行联合编码的向量量化,这些量化具有或不具有熵编码。
因此,空间元数据编码预算是每帧20×(16+6)=440比特,也就是说22kbit/s。
对下混信号编码比特串和经编码空间参数进行复用(框460),以便形成每一帧的比特串。在该示例性实施例中,这里的编码速率是46.4kbit/s。
在一些变型中,DoA的其他编码速率将是可能的。
图5展示了解码器的一个实施例,该解码器包括实施如上文针对维度3所述的解码方法的解码设备。
在对比特串进行解复用(框500)之后,对下混信号进行解码(框510),这里通过24.4kbit/s的EVS解码进行解码。
对空间参数进行解码(框550和框570)。
框550中的解码遵循图2b的步骤。
因此,在优选实施例中,将基于作为根据第二实施例的两个子索引i和j的每一帧和子带的指示index(框550)根据3维向量量化的第二实施例对仰角进行解码,其中,在E213-1中Ntot=65536:
E212-2中的级别数量为:
余纬度被解码为:
在E213-2中找到方位角的索引j:j=index-offset1(i)
方位角被解码为:
其中,δ(i)与框440中的定义相同。E215中还增加了逆转换步骤:
如果则并且然后
在一个变型实施例中,将根据根据本发明的3维向量量化的第一实施例对DoA参数进行解码,特别是具有与编码器中相同的N1、N2(i)、δ(i)和offset1(i)的定义。
可以实施本发明的其他变型来对DoA进行编码。在一些变型中,如果角度φ,θ以度为单位给出并且对应于仰角和方位角,则δ(i)和N2(i)的定义可以以明显的方式调整。在这种情况下,E215中的转换将是不必要的。
然后,该经解码信号被分解成时间/频率(与框420相同的框520),以便将其空间化为框(框560)中的点源(平面波),该框如下生成空间化1阶高保真立体声信号:
注意,经解码角度(仰角和方位角)以度为单位。
基于经解码信号,执行去相关(框530),以便具有“扩散”版本(对应于最大源宽度);这种去相关还实现了声道数量的增加,以便在框530的输出处获得具有4个声道(W,Y,Z,X)的1阶高保真立体声信号(例如,呈ACN、SN3D格式)。经去相关的信号被分解成时间/频率(框540)。
去相关的执行在这里不进行详细描述,并且可以采用通过预定脉冲响应的卷积实施的全通去相关滤波器;在一些变型中,还可以交换框530和540,以便在频域中具有去相关(以及声道数量的增加)。
在应用从经解码的“扩散”(框571和572)获得的比例因子(框573和574)之后,由框540和560产生的信号按子带组合(框575);这种自适应混合使得能够在每个子带中“调节”声源宽度和声场的扩散特性。混合信号通过傅里叶逆变换和加法重叠转换到时域(框580)。在一些变型中,可以使用其他类型的滤波器组。
应当注意,重要的是在时间上将下混信号的解码和去相关以及空间数据的应用对齐;适当的时间补偿在这里不进行详细描述,并且其取决于解码延迟(框510)和时间/频率分析(框520、540)以及去相关(框530)。
图6展示了编码器的一个实施例,该编码器包括实施如上文针对维度4所述的编码方法的编码设备。
在本发明的这一实施例中,对偶四元数的量化如上文针对球体上的编码所述来执行。
图6展示了在基于四元数的表示用于旋转矩阵编码的情况下的编码方法。编码分多个步骤进行:
-假设声道(例如,对于FOA的情况为W、Y、Z、X)上的信号呈具有矩阵n×L(每帧有n个高保真立体声声道(在这里是4)和L个样本)的矩阵形式X。可选地,可以例如通过高通滤波器对这些声道进行预处理。
-利用协方差矩阵估计(框600)和表示为EVD的特征值分解(框610)将主成分分析PCA或等效方式的卡洛南-洛伊变换(Karhunen Loeve transform,KLT)应用于这些信号,以便基于n信号的协方差矩阵获得特征值和特征向量矩阵。
-为当前帧t获得的特征向量矩阵经历有符号排列(框620),使得其尽可能与类型和前一帧t-1相同的矩阵对齐,以便确保两个帧之间的矩阵之间的最大相干性。在框620中还确保了因此通过有符号排列进行校正的当前帧t的特征向量矩阵正确地表示旋转的应用。
-将当前帧t的特征向量矩阵(其为旋转矩阵)转换为适当的量化参数域(框630)。这里采用了对于4×4矩阵转换为2个单位四元数的情况;在平面高保真立体声的情况下,这将给出3×3矩阵的单个单位四元数。
然后,使用参考图2a描述的编码方法在分配给参数量化的多个比特上对这些参数进行编码(框640)。
-将当前帧分成子帧,这些子帧的数量可以是设定的或自适应的,在后一种情况下,可以基于从PCA/KLT分析产生的信息来确定该数量,并且可以可选地传输该数量(框650)。通过从前一帧t-1到当前帧t的连续子帧对基于经编码四元数的表示进行插值(框660),以便随着时间的推移平滑帧间矩阵化之间的差异。将每个子帧中的插值四元数转换为旋转矩阵(框662),并且然后应用由此产生的经解码和插值旋转矩阵(框670)。在每个帧中,在框670的输出处获得表示高保真立体声声道的信号的K个子帧中的每一个的矩阵n×(L/K),以便在编码(例如,多单声道编码)之前尽可能地将这些信号解相关。还执行对单独声道的二进制分配。
因此,在量化框640中,对E630中获得的单位四元数进行量化。
呈现了基于4维向量量化的第一实施例的第一实施例。
给定两个单位四元数qi=(ai,bi,ci,di),i=1,2,第一四元数(例如q1)首先被强制为具有正分量,这里是实分量(a1)。为此,检查实分量ai是否为负。如果是这种情况,则两个四元数q1和q2用其对立物-q1和-q2代替。将回顾的是,这个操作不会改变与对偶四元数相关联的4D旋转矩阵。
这两个单位四元数q1和q2根据球体上的球面向量量化的第一实施例进行编码,其具有以下参数:
-其中,α=2度,由此给出N1=91
-由此给出
-由此给出
这里考虑了和的均匀标量量化字典的优选情况。
可以用如下针对i=0,...,N1存储和列出的基数信息offset1(i)进行索引:
{0,1,9,61,163,359,685,1125,1747,2519,3521,4713,6183,7883,9809,12093,14633,17575,20807,24343,28181,32487,37121,42097,47405,53057,59061,65421,72137,79205,86625,94415,102345,110629,119263,128017,137097,146515,156043,165637,175551,185515,195535,205837,216183,226545,236911,247273,257619,267921,277941,287905,297819,307413,316941,326359,335439,344193,352827,361111,369041,376831,384251,391319,398035,404395,410399,416051,421359,426335,430969,435275,439113,442649,445881,448823,451363,453647,455573,457273,458743,459935,460937,461709,462331,462771,463097,463293,463395,463447,463455,463456}
为了简明起见,基数信息offset2(i,j)在这里未进行详细描述。在一些变型中,可以首先用offset2(0,0)和offset2(1,j),j=0,...,N2(1)等将基数信息offset2(i,j)存储在一维表中——由于相对于(给定示例的索引i=45的)赤道的对称性,因此可以仅存储对应于北半球和赤道的具有offset2(i,j),i=0,...,(N1-1)/2的给定子集(例如2692个值),对应于南半球的具有offset2(i,j),i=(N1-1)/2+1,...,N1-1的值等于offset2(N1-1-i,j);使用一维表需要有具有N1(=91)个值的附加表,使得能够为i的每个值找到第一元素offset2(i,0)。
根据本发明,q1的编码需要比q2的编码少一个比特,因为利用了约束a1≥0。事实上,q1的编码将具有范围为0至226544的索引(在18比特上),而q2的编码将具有范围为0至463455的索引(在19比特上)。因此,2个四元数的编码需要37比特。从框640产生的两个索引(18比特和19比特)在框690中进行复用。
在一些变型中,q1和q2的角色显然可以交换,以便强制分量(例如a2)对于量化为正。
在一些变型中,根据本发明的4维球面向量量化的其他实施例将是可能的。特别地,可以使用第三实施例,其中,每个四元数q1和q2的索引i,j,k通过索引的简单的单独二进制编码顺序地复用。对于给定的示例,其中,
-其中,α=2度,由此给出N1=91
-由此给出
-,由此给出
对于四元数q1,索引i在6比特上进行编码和复用,因为约束a1≥0强制四元数进入北半球并且i包括在i=0,...,(N1-1)/2中,然后索引j和k在根据N2(i)和N3(i,j)可变的多个比特上进行复用。四元数q2也是如此,除了索引i是在7比特上进行编码和复用的。
图7展示了对应的解码。
根据参考图3b描述的解码方法对当前帧中的旋转矩阵的量化参数的量化索引进行解复用(框790)并在框700中进行解码。
这里不再重复参考图6的示例性实施例的细节。使用与编码中相同的参数。在该示例中,q1的解码使用范围为0至226544的索引(在18比特上),而q2的解码使用范围为0至463455的索引(在19比特上)。因此,解复用(框790)将读取比特串的37个比特,以便分离两个索引,一个在18比特上,并且另一个在19比特上。
在一些变型中,根据本发明的4维球面向量量化的其他实施例将是可能的。特别地,可以使用第三实施例,其中,每个四元数q1和q2的相应索引i,j,k通过索引的简单的单独二进制编码被顺序地解复用,索引i在比两个四元数之一更少的1比特上进行编码和复用。
由解码器执行的转换和插值步骤(框760、762)与在编码器处执行的步骤(框660和662)相同。如果插值子帧的数量是自适应的,则对其进行解码(框710),否则,将该插值子帧的数量设置为预定值。
对于每个子帧,框720将从框762产生的逆矩阵化应用于高保真立体声声道的经解码信号(框780),回顾旋转矩阵的逆矩阵是其转置矩阵。
在一些变型中,可以将本发明应用于基于变换的音频编码,例如单声道,其中,信号例如被分成通过增益形状向量量化进行编码的频率子带。在ITU-T推荐G.729.1的第6.6.9节(编码)和第7.3.5节(解码)中描述的TDAC编码在这里通过说明的方式至少适用于至少一个编码速率的子带的编码,例如16比特的速率的8个系数的索引17的子带。本领域技术人员将知道如何使本发明适用于至少一个子带(例如维度n=8)中的这种编码以及给定的速率(例如16比特)。
在一些变型中,本发明可以应用于其他基于变换的音频编码器和解码器,在一些示例中为单声道或多单声道。
图8展示了编码设备DCOD和解码设备DDEC,在本发明的意义上,这些设备彼此成对(在“可逆”的意义上)并且通过通信网络RES彼此连接。
编码设备DCOD包括处理电路,该处理电路典型地包括:
-存储器MEM1,用于在本发明的意义上存储计算机程序的指令数据(这些指令可能分布在编码器DCOD与解码器DDEC之间);
-界面INT1,用于接收原始多声道信号B,例如分布在各个声道(例如四个1阶声道W、Y、Z、X)上的高保真立体声信号,以在本发明的意义上对其进行压缩编码;
-处理器PROC1,用于接收该信号并且通过执行存储在存储器MEM1的计算机程序指令对其进行处理,以对该信号进行编码;以及
-通信接口COM 1,用于经由网络传输经编码信号。
解码设备DDEC包括其自身的处理电路,该处理电路典型地包括:
-存储器MEM2,用于在本发明的意义上存储计算机程序的指令数据(这些指令可能分布在如上文所指示的编码器DCOD与解码器DDEC之间);
-界面COM2,用于接收来自网络RES的经编码信号以在本发明的意义上对其进行压缩解码;
-处理器PROC2,用于通过执行存储在存储器MEM2的计算机程序指令来处理这些信号,以对这些信号进行解码;以及
-输出接口INT2,用于输送经解码信号,例如以高保真立体声声道W...X的形式,以呈现这些信号。
当然,该图8展示了本发明的意义上的编解码器(编码器或解码器)的结构性实施例的一个示例。如上所评,图1到图6详细描述了这些编解码器的更多功能性实施例。
Claims (16)
1.一种用于对多声道音频信号进行编码的方法,包括对由n维球体上的输入点表示的至少一个参数进行编码,这通过对该输入点的n-1个球面坐标进行编码以定义球面网格来执行,该方法包括以下操作:
a)对该n-1个球面坐标进行顺序标量量化(E102-1至E102-(n-1))从而定义球面网格,对于要编码的当前球面坐标(φk),该顺序标量量化包括以下操作:
-基于先前编码的球面坐标来确定该要编码的当前球面坐标(φk)的标量量化级别的数量(Nk(i1,i2,..,ik-1),E103-1至E103-(n-1));
-基于所述确定的级别数量对所述当前球面坐标(φk)进行标量量化(E104-1至E104-(n-1)),其中,对于n-2个坐标,确定该要编码的当前球面坐标(φk)的2个最接近的候选,并基于针对先前球面坐标(i1,...,ik-1)确定的量化索引给出两个量化索引,以便在该n-1个坐标的顺序标量量化结束时获得至多2n-2个候选(E105);
b)选择(E106)使该输入点与该至多2n-2个候选之间的距离最小化的最佳候选,并确定从所述最佳候选的所述球面坐标的顺序标量量化中产生的单独量化索引;
c)对所述最佳候选的单独量化索引进行顺序编码(E107)。
2.如权利要求1所述的方法,其中,对这些单独量化索引进行顺序编码包括通过将至少一个基数信息添加到球面坐标的量化索引来确定全局量化索引。
3.如权利要求1所述的方法,其中,该n-1个球面坐标之一的标量量化包括预定义的偏移。
4.如权利要求1所述的方法,其中,至少一个球面坐标的量化级别的数量是基于该球面网格的总点数以及该n维球体的球面区域的表面积来确定的。
5.如权利要求2所述的方法,其中,至少一个球面坐标的基数信息是基于该球面网格的点数以及该n维球体的球面区域的表面积来确定的。
6.如权利要求1所述的方法,其中,对于至少一个球面坐标,该级别数量被强制为1以外的奇数值。
7.如权利要求1至6之一所述的方法,其中,该多声道音频信号的编码使用由至少一个单位四元数表示的旋转矩阵,并且其中,由n维球体上的输入点表示的该至少一个参数是该至少一个单位四元数,其中,n=4。
8.如权利要求1至6之一所述的方法,其中,该多声道音频信号的编码使用关于音频源的到达方向的信息,并且其中,由n维球体上的输入点表示的该至少一个参数是这些信息中的至少一个信息,其中,n=3。
9.如权利要求1至6之一所述的方法,其中,该音频信号的编码使用到频率子带的变换,并且其中,由n维球体上的输入点表示的该至少一个参数是至少一个子带,其中,n的值对应于该子带的大小。
10.一种用于对多声道音频信号进行解码的方法,包括对由n维球体上的输入点表示的至少一个参数进行解码,这通过对该输入点的n-1个球面坐标进行解码从而定义球面网格来执行,该方法包括基于全局量化索引或n-1个复用索引(E110)通过以下操作来对这些球面坐标进行顺序解码(E111-1至E111-(n-1)):
-基于先前解码的球面坐标来确定要解码的球面坐标的量化级别的数量(E112-1至E112-(n-1));
-基于所确定的级别数量来确定由所述球面坐标的单独量化产生的单独索引(E113-1至E113-(n-1)),并且然后获得对应的球面坐标(E114-1至E114-(n-1)),以便在该n维球体上重建经解码点(E116)。
11.如权利要求10所述的解码方法,其中,这些单独索引是基于针对所述球面坐标定义的基数信息来确定的。
12.如权利要求10所述的解码方法,其中,该n-1个球面坐标之一的解码包括预定义的偏移。
13.如权利要求11所述的解码方法,其中,这些基数信息是基于该球面网格的点数以及该n维球体的球面区域的表面积来分析获得的。
14.一种编码设备,该编码设备包括用于实施如权利要求1至9之一所述的编码方法的步骤的处理电路。
15.一种解码设备,该解码设备包括用于实施如权利要求10至13之一所述的解码方法的步骤的处理电路。
16.一种存储介质,该存储介质能够被处理器读取并且存储包括指令的计算机程序,这些指令用于执行如权利要求1至9之一所述的编码方法或如权利要求10至13之一所述的解码方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21305987.6 | 2021-07-15 | ||
EP21305987.6A EP4120255A1 (fr) | 2021-07-15 | 2021-07-15 | Quantification vectorielle spherique optimisee |
PCT/FR2022/051337 WO2023285748A1 (fr) | 2021-07-15 | 2022-07-05 | Quantification vectorielle spherique optimisee |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117616499A true CN117616499A (zh) | 2024-02-27 |
Family
ID=77126707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280048374.3A Pending CN117616499A (zh) | 2021-07-15 | 2022-07-05 | 优化的球面向量量化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240304198A1 (zh) |
EP (2) | EP4120255A1 (zh) |
JP (1) | JP2024528398A (zh) |
KR (1) | KR20240034186A (zh) |
CN (1) | CN117616499A (zh) |
WO (1) | WO2023285748A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7933770B2 (en) * | 2006-07-14 | 2011-04-26 | Siemens Audiologische Technik Gmbh | Method and device for coding audio data based on vector quantisation |
EP3706119A1 (fr) | 2019-03-05 | 2020-09-09 | Orange | Codage audio spatialisé avec interpolation et quantification de rotations |
-
2021
- 2021-07-15 EP EP21305987.6A patent/EP4120255A1/fr not_active Withdrawn
-
2022
- 2022-07-05 EP EP22754459.0A patent/EP4371108A1/fr active Pending
- 2022-07-05 US US18/570,904 patent/US20240304198A1/en active Pending
- 2022-07-05 CN CN202280048374.3A patent/CN117616499A/zh active Pending
- 2022-07-05 KR KR1020247000985A patent/KR20240034186A/ko unknown
- 2022-07-05 JP JP2023576186A patent/JP2024528398A/ja active Pending
- 2022-07-05 WO PCT/FR2022/051337 patent/WO2023285748A1/fr active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20240304198A1 (en) | 2024-09-12 |
KR20240034186A (ko) | 2024-03-13 |
WO2023285748A1 (fr) | 2023-01-19 |
JP2024528398A (ja) | 2024-07-30 |
EP4371108A1 (fr) | 2024-05-22 |
EP4120255A1 (fr) | 2023-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6698903B2 (ja) | 高次アンビソニックス信号表現を圧縮又は圧縮解除するための方法又は装置 | |
JP2015520411A5 (zh) | ||
US20160133266A1 (en) | Multi-Stage Quantization of Parameter Vectors from Disparate Signal Dimensions | |
CN117616499A (zh) | 优化的球面向量量化 | |
US20240137041A1 (en) | Optimized encoding of rotation matrices for encoding a multichannel audio signal | |
US20230260522A1 (en) | Optimised coding of an item of information representative of a spatial image of a multichannel audio signal | |
KR20240150468A (ko) | 최적화된 구면 양자화 딕셔너리를 사용하는 구면 좌표의 코딩 및 디코딩 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |