编码设备和方法、解码设备和方法、以及程序的制作方法_3

文档序号:9818459阅读:来源:国知局
数MixGain(i)--其对称性在编码时被使用--与混合系数MixGain( syn (i))是否是对称的。也就是说,确定混合系数MixGain( i) 其对称性将被使用 是否 包括具有与混合系数MixGain(syn(i))的值不对称的值的甚至一个混合系数。
[0169] 在混合系数MixGain(i)--其对称性将被使用--不包括具有与混合系数 MixGain(syn(i))的值不对称的值的混合系数的情况下,确定所有混合系数是不对称的并 且设置标志 all_gain_symmetric_flag = 0〇
[0170] 相反,在混合系数MixGain(i)-一其对称性将被使用一一包括具有与混合系数 MixGain(syn(i))的值不对称的值的甚至一个混合系数的情况下,确定不是所有混合系数 都是对称的并且设置标志all_gain_symmetric_f lag = l。
[0171] 〈过程 STP5>
[0172] 在过程STP5中,首先,将指示是否所有混合系数都是对称的1位的标志all_gain_ symmetric_flag基于在过程STP4中的对称性的确定的结果写入系数代码串中。然后,执行 过程STP5 (1)和过程STP5 (2)。
[0173] 在所有混合系数都是对称的情况下,执行过程STP5( 1)。
[0174]在过程STP5(1)中,混合系数MixGain(i)--其对称性被确定为被使用--具有 与混合系数MixGain(syn(i))的值相同的值且不需要被传递到重放侧,且因此将混合系数 MixGain(i)以0位写入系数代码串中。也就是说,关于混合系数MixGain(i)--其对称性被 确定为被使用一一没有什么被写入系数代码串中以传递到重放侧作为编码混合系数。
[0175] 相反,混合系数MixGain(i) 其对称性未被确定为被使用 需要被传递到重 放侧,且在下面所述的过程STP6中对混合系数MixGain(i)编码。
[0176] 在不是所有混合系数都是对称的情况下,执行过程STP5(2)。
[0177] 在过程STP5(2)中,将指示混合系数MixGain(i)的值--其对称性被确定为被使 用--是否与混合系数MixGain(syn(i))的值对称的1位的标志Symmetry_info_flag(i)写 入系数代码串中。在本文中,将标志Symmetry_info_f lag(i)的值在混合系数MixGain(i)的 值是对称的情况下设置为〇并在混合系数MixGain(i)是不对称的情况下设置为1。
[0178] 在混合系数MixGain(i)--其对称性被使用--当中,具有与混合系数MixGain (syn(i))的值对称的值的混合系数MixGain(i)不需要传递到重放侧。因此,没有什么被写 入系数代码串中。
[0179] 同时,在混合系数MixGain(i)-一其对称性被使用一一当中,具有与混合系数 MixGain (syn (i))的值不对称的值的混合系数MixGain (i)需要传递到重放侧。因此,混合系 数MixGain (i)在过程STP6中被编码。
[0180] 此外,混合系数MixGain(i) 其对称性未被确定为被使用 需要传递到重放 侦U。因此,在过程STP6中对混合系数MixGain (i)编码。
[0181] 〈过程 STP6>
[0182] 混合系数MixGain( i) 其值不是对称的 和混合系数MixGain( i) 其对 称性不被使用--在过程STP6中被编码。在过程STP6中,执彳丁两个过程,即过程STP6( 1)和 过程 STP6(2)。
[0183] 在过程STP6(1)中,将待处理的混合系数MixGain( i)的标志Minus_Inf_f lag( i)以 1位写入系数代码串中。
[0?84] 在本文中,在标志Minus_Inf_f lag(i) = 0的情况下,即在混合系数MixGain(i)的 值是-〇〇dB的情况下,终止混合系数MixGain( i)的编码。
[0185] 同时,在标志組11118_111;1^_;1^138(;〇 = 1的情况下,即在混合系数組163;[11(;0的值不 是-%dB的情况下,执行过程STP6(2)。
[0186] 在过程STP6(2)中,执行值不是-⑴dB的混合系数MixGain(i)的熵编码。
[0?87] 具体地,在混合系数MixGain( i)的差值MixGain( i )_dif f (i)落在预先设置的范围 内的情况下,通过预先设置的绳字对差值MixGain(i)_difT(i)进行熵编码并将其写入系数 代码串中。相反,在差值MixGain(i)_diff(i)不落在预先设置的范围内的情况下,将指示差 值在预先设置的范围之外的代码和指示差值MixGain(i)_difT(i)的Q位的代码写入系数代 码串中作为具有第i传递顺序的混合系数MixGain(i)的绳字。
[0188] 注意,在过程STP6( 2)中,对差值MixGain( i )_dif f (i)进行熵编码,且更具体地,在 待处理的混合系数MixGain(i)是位于每个类别的顶部处的混合系数的情况下,不能得到差 值。因此,对混合系数MixGain(i)本身进行熵编码。
[0189] 例如,在量化分辨率是ldB、混合系数的范围是3dB到_27dB和-%dB,且预先设置的 范围是4dB到-6dB的情况下,差值MixGain( i )_diff (i)可能在使用图8所示的代码表的情况 下进行熵编码。
[0190] 注意,在图8中,"MixGain_diff"指示差值MixGain(i)_diff(i)的值,"代码"指示 被写入系数代码串中的代码。"bit_length"是被写入系数代码串中的代码的位的数量。 [0191]在这个示例中,将指示差值在预先设置的范围之外的代码设置为111,且将指示差 值MixGain( i )_diff (i)的代码的位Q的数量设置为5位。
[0192] 在图8所示的代码表被使用且例如差值MixGain(i)_diff(i)的值是4dB的情况下, 代码"0111Γ被写入系数代码串中作为编码混合系数MixGain(i)的值。
[0193] 执行上面所述的过程STP1到过程STP6,且因此对每个混合系数编码并且得到系数 代码串。
[0194] 〈报头和系数代码串〉
[0195] 例如在图9和图10中示出了如上所述得到的系数代码串和被添加到位流以传输到 重放侧的报头。
[0196] 也就是说,图9示出了报头的语法。
[0197] 在图9的示例中,报头包括指示混合系数是否被传递的标志DMX_coef_exist_ flag。例如,标志DMX_coef_exist_f lag= 1指示混合系数被传递,而标志DMX_coef_exist_ flag = 0指示混合系数未被传递。
[0198]在报头中的Number_of_mix_coef指示待传递的混合系数的类型(集合)的数量。 Spk_conf i g_i dx [ i dmx ]指示在第(i dmx)混合系数的集合的输出侧上的扬声器布置。例如, 在Spk_config_idx[idmx] =0的情况下,在输出侧上的扬声器布置是5ch扬声器布置。
[0199] Use_differential_coding_f lag 是指不是否对差值 MixGain( i )_diff (i)编码或 对混合系数組16&;[11(;0编码的标志。例如,1]86_(1丨€€6代111:丨31_〇〇(1;[1^_;1^138=1指示对差值 编码,且在编码的时间执行上面的过程STP3。同时,Use_differential_coding_f lag = 0指 示对混合系数编码,且在编码的时间不执行过程STP3并且对混合系数本身编码。
[0200] Use_symmetry_infomation_f lag是指示对称性是否用于对所有混合系数编码的 标志。Use_symmetry_infomation_flag=l指示在对混合系数编码的情况下,在必要时使用 对称性。相反,Use_symmetry_infomation_f lag = 0指示对称性不用于对所有混合系数编 码。
[0201 ]因此,在这个实施例中,Use_dif f erential_coding_f lag是1 且 Use_symmetry_ inf〇mati〇n_flag是1。注意,可对混合系数本身编码而不计算在混合系数之间的差值。可替 代地,可通过计算差值但不使用对称性来执行编码。
[0202] Quant ization_level指示在报头中的量化水平。
[0203] 将图9所示的报头添加到位流的顶部以将其传递到重放侧。
[0204] 图10示出了系数代码串的语法。注意,将图10中的Q11到Q14写入用于解释系数代 码串,且因此不将其写入实际系数代码串中。
[0205] 在图10的系数代码串中,Mix_gain_changed_flag是指示对应于系数代码串的帧 的混合系数是否与紧接着在上述帧之前的帧的混合系数相同。例如,在Mix_gain_changed_ flag = 0的情况下,混合系数在当前帧和紧接着在当前帧之前的帧之间是相同的,且因此不 在当前帧中传递混合系数。相反,在Mix_gain_changed_flag = l的情况下,混合系数在当前 帧和紧接着在当前帧之前的帧之间是不同的,且因此在当前帧中传递混合系数。
[0206] 在被写入报头中的Use_sy_etry_infomation_f lag为1即对称性用于对混合系数 编码的情况下,为由如在部分Q11中所示的索引idmx指示的混合系数的每个集合写信息。 [0207] 标志all_gain_symmetric_flag[idmx]指示在由索引idmx指定的混合系数的集合 中的所有混合系数是否是对称的。例如,all_gain_symmetric_flag[idmx] =0指示所有混 合系数是对称的,且&11_83;[11_871111]161:1';[0_;^38[1(111^] = 1指示不是所有混合系数都是对称 的。这个标志&11_区&;[11_871]111161:1';[(3_;1^]^[1(111^]对应于上述标志&11_区&;[11_850]111161:1';[(3_ flag。
[0208] 注意,由索引idmx指定的混合系数的集合是为单个混合处理的模式准备的MXN个 混合系数MixGain(m,n)的集合。
[0209] 如被写入部分Ql 1 中的,在必要时将Symmetry_info_f lag[ idmx] [ i ]、Minus_Inf_ flag[idmx] [i]和MixGain_diff [idmx] [i]的信息写入MXN个混合系数中的每一个的系数 代码串中。
[0210] 在本文中,57臟61:巧_;[1^0_;^38[1(11]?][;[]指示具有第;[传递顺序的混合系数的值 是否是对称的。具体地,在混合系数的值是对称的情况下,将Symmetry_info_flag[idmx] [i]的值设置为〇,而在混合系数的值是不对称的情况下,将其值设置为1。这个标志 3}〇1111161^」11;1^〇_;1^]^[1(11]1?][;[]对应于上述标志35〇1111161^」11;1^〇_;1^]^(;〇 〇
[0211] 1丨11118_11^_^&8[丨(111^][丨]指示具有第丨传递顺序的混合系数的值是否是-〇〇。例 如,在混合系数的值是的情况下,将Minus_Inf_f lag[ idmx] [ i ]的值设置为0,而在混合 系数的值不是的情况下,将其值设置为1。这个标志Minus_Inf_flag[idmx][i]对应于上 述标志阻11118_111;1^]^(;0 〇
[0212] MixGain_diff[idmX][i]指示通过关于具有第i传递顺序的混合系数或混合系数 的差值执行熵编码而得到的绳字,例如霍夫曼绳字。
[0213] 在系数代码串中的5}〇1111161:巧_;[11;1^0_1:131[3卩6&1^1'_(3011;1^8_1(^[1(11]1?]][;[]指不具 有在对称表中的第i传递顺序的混合系数的对称值。
[0214] 例如,在118 6_8711111161:巧_;[11;1^011^1:;[011_;1^138=1的情况下和在待处理的混合系数 1^叉63;[11(;0的对称值不为0且满足311_83;[11_850]111161:1';[(3_;1^138[丨(111^] = 1的情况下,将信息 写入如在部分Q12中所示的系数代码串中。
[0215] 也就是说,首先,写入Symmetry_info_f lag[ idmx] [ i ]。然后在写入Symmetry_ info_flag[idmx] [i] = 1 的情况下,进一步写入Minus_Inf_flag[idmx] [i]。在写入Minus_ Inf_flag[ idmx] [ i] = 1的情况下,进一步写入 MixGain_diff[ idmx] [ i]。
[0216] 同时,在118 6_8711111161:巧_;[11;1^011^1:;[011_;1^138=1的情况下和在待处理的混合系数 1^16&;[11(;0的对称值为0的情况下,将組11118_111;1^_;1^138[丨(111^][;[]写入如在部分( >)13中所示 的系数代码串中。然后,在写入Minus_Inf_f lag[ idmx] [ i ] = 1的情况下,进一步写入 MixGain_diff[idmx][i]〇
[0217] 在被写入报头中的Use_symmetry_infomation_f lag为0即对称性不用于对混合系 数编码的情况下,为由如在部分Q14中所示的索引idmx指示的混合系数的每个集合写关于Μ X Ν个混合系数中的每一个的信息。
[0218] 也就是说,首先,写入Minus_Inf_f lag[ idmx] [ i ],且在写入1作为Minus_Inf_f lag [idmx] [ i ]的值的情况下,进一步写入 MixGain_diff[ idmx] [ i ]。
[0219] 〈编码设备的配置示例〉
[0220] 将描述应用本技术的特定实施例。
[0221] 图11示出了应用本技术的编码设备的配置示例。
[0222] 在图11中的编码设备11包括系数编码单元21、信号编码单元22和复用单元23。
[0223] 将输入侧Μ个声音位置源(m)、输出侧N个扬声器布置位置目标(η)和MXN个混合系 数MixGain(m,n)提供到系数编码单元21。
[0224] 注意,更具体地,为关于在重放侧上的音频信号执行的每个混合处理提供输入侧 声音位置源、输出侧扬声器布置位置目标和混合系数。例如,在输出侧扬声器的数量N改变 的情况下,执行系数混合处理,且因此指示扬声器布置和混合系数的信息对每个混合处理 是必要的。
[0225] 系数编码单元21基于所提供的输入侧声源位置和所提供的输出侧扬声器布置对 所提供的混合系数编码,并提供由于复用单元23的编码而得到的系数代码串。
[0226] 信号编码单元22使用预定编码技术对所提供的音频信号编码并提供由于复用单 元23的编码而得到的信号代码串。复用单元23复用从系数编码单元21提供的系数代码串和 从信号编码单元22提供的信号代码串,并输出由于复用而得到的输出代码串。
[0227] 〈系数编码单元的配置示例〉
[0228] 系数编码单元21如在例如图12中所示的被配置。
[0229] 系数编码单元21包括顺序表产生单元51、对称表产生单元52、重新布置单元53、差 值计算单元54、对称性确定单元55和编码单元56。
[0230] 顺序表产生单元51基于所提供的输入侧声源位置和所提供的输出侧扬声器布置 来产生传递顺序表,并向对称表产生单元52、重新布置单元53和差值计算单元54提供传递 顺序表。顺序表产生单元51包括距离计算单元61、分类单元62和重新布置单元63。
[0231] 距离计算单元61计算在声源位置源(m)和扬声器位置目标(η)之间的距离Dist(m, η)。分类单元62将MXN个混合系数MixGain(m,η)分类成类别。重新布置单元63基于距离 Dist(m,n)重新布置在每个类别中的混合系数并产生传递顺序表。
[0232] 对称表产生单元52基于所提供的输入侧声源位置、所提供的输出侧扬声器布置和 来自顺序表产生单元51的传递顺序表来产生对称表,并向对称性确定单元55提供对称表。 对称表产生单元52包括重新布置单元64和对称性确定单元65。
[0233] 重新布置单元64重新布置根据在从顺序表产生单元51提供的传递顺序表中所示 的传递顺序而处理的混合系数。对称性确定单元65为每个混合系数确定具有与该混合系数 的对称位置关系的混合系数是否存在,即是否有声源位置具有对称位置关系以及扬声器布 置位置也具有对称位置关系的混合系数,并产生对称表。
[0234] 重新布置单元53重新布置在从顺序表产生单元51提供的传递顺序表中所示的传 递顺序中的所提供的混合系数MixGain(m,n),并向差值计算单元54和对称性确定单元55提 供重新布置的混合系数。
[0235]差值计算单元54在使用从顺序表产生单元51提供的传递顺序表的情况下计算在 从重新布置单元53提供的混合系数之间的差值,并向编码单元56提供差值。对称性确定单 元55基于从对称表产生单元52提供的对称表和
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1