元数据转码的制作方法_4

文档序号:9308930阅读:来源:国知局
使在转码之后,样 本202不包括在与包括特定块140的元数据帧222相关联的内容帧221中)。因此,为转码 器103提供了一些灵活性,以使第二比特流120的比特率平滑。
[0129] 应当注意,以与转码器103类似的方式,编码器101可以被配置成:将样本的元数 据包括在随后的元数据帧中。这样,编码器101可以被配置成:生成指向内容帧121中包括 的样本202的时间戳213,该内容帧121不是与包括时间戳213的元数据帧相关联的内容 帧。
[0130] 图3a和图3b示出了由元数据块140的描述符142表示的去复制标记的可能的用 例。在所示的情形中,与第一比特流110的内容帧111相比,第二比特流120的内容帧121 代表较高数量的样本(即,具有较高的帧大小)。如果帧大小不同,则可能发生如下情况: 第二比特流120的单个内容帧121包括来自第一比特流110的多于一个的内容帧111的样 本。在这样的情况下,元数据块140可以从与第一比特流110的多于一个的内容帧111相关 联的多于一个的元数据帧112获得。转码器103必须确定元数据块140中的哪些元数据块 要被包括在第二比特流120的单个内容帧121的单个元数据帧122中。特定块140的去复 制标记可以向转码器103指示:如果来自第一比特流110的多个元数据帧112的元数据块 140要被合并,则无需将特定块140插入至第二比特流120的元数据帧122中。这样,转码 器103可以被配置成:丢弃或忽略设置有去复制标记的附加元数据帧112的元数据块140。
[0131] 这在图3a中示出了,其中出站内容帧121 (S卩,出站比特流120的内容帧121)包 括入站内容帧111和311 (S卩,入站比特流110的内容帧111、311)的样本。转码器103必 须确定:入站元数据帧112、312(S卩,入站比特流110的元数据帧112、312)的块140中的哪 些块要被包括在与出站内容帧121相关联的出站元数据帧122(即,出站比特流120的元数 据帧122)中。在图3a所示的示例中,假定至少针对入站元数据帧312的一个或更多个块 140来设置去复制标记。这样,转码器103可以被配置成丢弃入站元数据帧312的块140。
[0132] 应当注意,也可以设置入站元数据帧112的一个或更多个块140的去复制标记。转 码器103可以被配置成:仅丢弃用于创建出站元数据帧122的第二(或更多)元数据帧312 的块140。换言之,转码器103可以被配置成:只有当要考虑多于一个的入站元数据帧112 用于生成出站元数据帧122时,才考虑去复制标记。这样,可以使用去复制标记来阻止特定 类型的元数据块140的"复制",同时仍然确保包括该特定类型的至少一个元数据块140。
[0133] 图3b示出了未设置去复制标记的示例情况。在这种情况下,转码器103可以被配 置成:考虑多个入站元数据帧112和312的块140用于创建出站元数据帧122。具体地,转 码器103可以被配置成:如果未设置去复制标记(即使在根据多个入站元数据帧112、312 生成出站元数据帧122的情况下),则将来自入站元数据帧312的块140插入至出站元数据 帧122中。
[0134] 可以例如使用去复制标记来识别被插入至多个连续的元数据帧112、312(例如, 插入至比特流110的每个元数据帧112、312)中的元数据块140。这样,去复制标记使得转 码器103能够容易地识别可以被丢弃的元数据块140 (无需分析存储在元数据块140的数 据字段143中的元数据)。因此,降低了对元数据转码的计算复杂度。另一方面,未设置的 去复制标记表示:不应该丢弃相对应的元数据块140。这可以用于辅助数据,以确保即使多 个入站元数据帧112、312被转码成单个出站元数据帧122,也不会丢弃辅助数据。
[0135] 图4a和图4b示出了在元数据块140的描述符142中表示的复制标记的示例使 用。在所示的情形中,与出站内容帧121相比,入站内容帧111包括较高数量的样本(S卩,具 有较大的帧大小)。如果帧大小不同,贝1J可能发生下述情况:单个入站内容帧111的样本被 包括在多于一个的出站内容帧12U321中。因此,转码器103接收单个入站元数据帧112, 并且必须确定:在多个出站元数据帧122、322中的哪个出站元数据帧中放置元数据的特定 块140。可以使用复制标记向转码器130指示是否要复制来自入站元数据帧112的特定块 140。如图4a所示,通过设置复制标记,可以表示:块140中包括的元数据应该被包括在每 个出站元数据帧122、322中。另一方面,未设置的复制标记表示:应当仅传输一次元数据块 140。这样,转码器103将来自入站元数据帧112的块140仅插入至多个出站元数据帧122、 322中的单个出站元数据帧中(如图4b所示)。
[0136] 如上所述,元数据块140的描述符142可以表示关联标记(在表2中称为"now_ 〇r_neVer"标记)。关联标记可以表示:可以延迟块140中包括的元数据,而不影响相关联 的内容帧中包括的内容。这样,如果使元数据延迟任意数量的时间是元数据的一个属性,则 描述符142的语法可以使得转码器103能够使元数据延迟任意数量的时间。这可以通过将 标记n〇W_〇r_never设置成0来表示。例如当隐含的音频编解码器能够"负担得起"元数据 的传输时,例如当内容帧包括无声时,关联标记使得转码器103能够对块140中包括的元数 据进行传输。可以被延迟的元数据的一个示例是无需连同特定的内容帧121 -起被传输的 辅助数据或二进制数据,如固件升级。
[0137] 如表2的上下文中描述的,元数据块140的描述符142可以表示或可以包括优先 级属性或优先级参数。优先级参数可以表示特定块140的元数据的相对重要性(例如,相 对于其他块140的重要性)。转码器103可以确定:仅对一定数量的元数据块140进行转码 并且丢弃元数据帧112中的所有其他元数据块。当从较高比特率的入站比特流110转码成 较低比特率的出站比特流120时,例如可以要求上述操作。优先级参数可以使得转码器103 能够选择具有相对最高的优先级的入站元数据帧112的那些块140并且丢弃(或延迟)具 有相对较低优先级的那些块140。
[0138] 应用和/或编码器101可以提供同一元数据帧112中的多组元数据,每组元数据 具有不同的优先级。多组元数据可以与不同质量的元数据相关联。较高质量元数据的优先 级可以低于较低质量元数据的优先级。这样,转码器103可以被配置成:通过考虑优先级参 数来降低元数据的质量。作为示例,如果以如下方式设置优先级:该方式使得可伸缩性是可 能的,即,如果对同一应用的较高优先级的所有组元数据进行传输则可以应用每组元数据, 则转码器可以适度地降低元数据的质量而不必知道元数据的意义。具体地,多组元数据可 以包括增量元数据,即,每组元数据可以向具有下一最高优先级的一组元数据增加一些质 量。然后,可以通过对所有组元数据(从最高优先级降至最低优先级)进行组合来提供最 高质量元数据。这样,入站元数据帧112可以包括多个增量元数据块140,其中,具有最高优 先级的元数据块140包括具有最小可接受质量的版本的元数据,并且其中,具有连续较低 优先级的块140包括使得能够增量式提高元数据的质量的增量版本的元数据。这样,转码 器103可以通过考虑增量元数据的多个块140的优先级参数来确定第二比特流120中包括 的元数据的质量。
[0139] 如表1中所示的元数据帧112的示例语法中所示的,元数据帧130可以包括保护 字段。保护字段可以用于使得解码器104能够验证元数据帧130的内容和/或相关联的内 容帧的内容是否已经被修改并且可能因此是无效的。换言之,保护字段可以使得解码器104 能够验证元数据帧130和/或相关联的内容帧中包括的元数据是否是可信赖的。表4示出 了元数据帧130的保护字段的示例语法。保护字段可以包括在元数据帧130的头部131中。
[0140]
[0141]表 4
[0142] 保护字段的语义可以如下:
[0143] ?protection_bits_frame可以包括当前帧(包括内容帧和/或相关联的元数据 帧)的截短保护有效载荷。
[0144] ?protection_bits_history可以包括当前帧的截短保护有效载荷和当前帧之 前的帧(包括内容帧和/或相关联的元数据帧)的截短保护有效载荷。在W02011/015369 中描述了用于使帧序列安全的示例方案,其内容通过引用合并到本文中。
[0145] 这样,保护字段可以包括一个或更多个加密值。可以基于当前元数据帧(包括保 护字段)中包括的元数据和/或基于与当前元数据帧相关联的内容帧来生成一个加密值。 这样,可以保证不修改隔离的元数据帧和/或相关联的内容帧。可以基于当前元数据帧和 一个或更多个之前的元数据帧(以及基于相应的相关联的内容帧)中包括的元数据来生成 另一个加密值。这样,可以确保内容帧序列和/或元数据帧序列不被修改。
[0146] 通过将单向函数应用于一组一个或更多个元数据帧112、312和/或相关联的内 容帧111、311,可以在编码器101处确定加密值。具体地,可以使用秘钥值和加密散列函数 (所谓的单向函数)来生成加密值。具体地,可以通过计算一个或更多个元数据帧112、312 中包括的数据的和一个或更多个相关联的内容帧11U311中包括的数据的HMAC-MD5(散列 消息认证码)值生成加密值。此外,加密值的生成可以包括对HMAC-MD5值的截短,例如,将HMAC-MD5值截短成16、24、32、48、64或128位。截短可以有益于降低包括元数据帧112、 312的编码比特流110中加密值所需的开销。应当注意,可以使用其他散列函数如SHA-I或 SHA-256来替代MD5。此外,应当注意,例如在不要求保护元数据的情况下,编码器101可以 被配置成发送〇位的加密值,即,不发送加密值。
[0147] 更详细地,可以通过使用加密散列函数H(.)和"秘密的"秘钥K(也称为安全秘钥) 确定一个或更多个内容帧11U311的加密值和一个或更多个元数据帧112、312的加密值。 该"秘密的"秘钥K通常在右边用额外的0填充至散列函数H(.)的块大小,以确定一个或更 多个内容帧111、311的和一个或更多个元数据帧112、312的散列消息认证码(HMC)。令I 符号表示连接(concatenation),令扭符号表示异或,并且令外部填充opad= 0x5c5c5c… 5c5c以及令内部填充ipad= 0x363636…3636是散列函数H(.)的块大小的长度的常量, 则一个或更多个内容帧11U311的和一个或更多个元数据帧112、312的HMAC值可以写作
[0149] 其中,m是一个或更多个内容帧11U311的和一个或更多个元数据帧112、312的 组合比特序列。MD5或SHA-I或SHA-256散列函数使用的块大小通常是512位。HMAC运算 的输出的大小与隐含的散列函数的大小相同,即,在MD5的情况下为128位或在SHA-I的情 况下为160位。
[0150] 这样,保护字段可以包括至少两个加密值
[0151] 鲁帧加密值(在表4中称为"protection_bits_frame"),该帧加密值表示各个内 容帧111及其相关联的元数据帧112的可靠性。帧加密值可以用来识别各个内容帧111的 数据及其相关联的元数据帧112是否已经被改变。可以使用包括各个内容帧111的比特次 序及其相关联的元数据帧112 (或者各个内容帧111中包括的有效载荷及其相关联的元数 据帧112)的比特序列的消息m来确定帧加密值。
[0152] #历史加密值(在表4中称为、1'<^6(:1:;[011_13;^8_11181:0巧"),该历史加密值表示 至少两个内容帧111、311及其相关联的至少两个元数据帧112、312的序列的可靠性。历史 加密值可以用来识别至少两个内容帧11U311及其相关联的元数据帧112、312的序列是否 已经被改变。可以使用包括至少两个内容帧11U311及其相关联的至少两个元数据帧112、 312(或者至少两个内容帧11U311及其相关联的至少两个元数据帧112、312中包括的有效 载荷)的比特序列的消息m来确定历史加密值。
[0153] 如上所述,使用安全秘钥K来确定加密值,通常仅编码器101和解码器104知道安 全秘钥K。在本文献中,提出了 :通过允许使用提供不同的信任等级的不同的安全秘钥K来 实现多级信任。作为示例,可以提供至少两级可信秘钥
[0154] ?高度安全秘钥K1,可以不对沿分发链100提供组件101、103、104的实体的以外 的任何一方公开高度安全秘钥K1。这样的实体可以是沿分发链100使用的编解码器系统的 提供者(例如,杜比实验室)。具体地,这样的实体可以是沿分发链100使用的编码器和解 码器的提供者。通过保持高度安全秘钥不被公开,可以确保渲染接收的比特流120中包括 的音频信号的解码器104可以确信:接收的比特流120的元数据帧122、322中包括的元数 据是可信的并且尚未沿分发链100以未经授权的方式被修改。
[0155] ?中等安全秘钥K2,可以向其他方例如沿分发链100的组件101、103、104的一些 组件进行操作的多方(例如,编解码器系统的提供者的被许可人)公开该中等安全秘钥K2。 如果解码器104接收已经使用中等安全秘钥1(2对其进行保护的比特流120,则解码器104 知道比特流120包括下述元数据(在元数据帧122、322中),该元数据是已经根据分发链 100的操作者的可以与编解码器系统的提供者(持有高度安全秘钥K1)的策略不同的一些 策略而被处理的元数据。
[0156] 可以在元数据帧130 (例如,在元数据帧130的头部131)中提供对由编码器101 使用的安全秘钥K的表示。示出了key_id参数的表1中示出了上述情况。如表4所示, key_id参数可以包括预定数量的安全秘钥的索引,从而使得解码器104能够确定安全秘钥 K,该安全秘钥K用于确定一个或更多个加密值,其中,一个或更多个加密值可以包括在元 数据帧130的protectionO字段中。然后,解码器104可以使用所识别的安全秘钥以与相 对应的编码器101执行的方式相同的方式来确定一个或更多个加密值。由解码器104确定 的加密值可以称为验证加密值。然后,将验证加密值与存储在元数据帧103中的加密值进 行比较。在匹配的情况下,确认各个帧和/或帧序列尚未被修改。另一方面,在不匹配的情 况下,确认各个帧和/或该帧序列已经被修改。
[0157] 替代地或者除了在元数据帧130中提供对安全秘钥的表示以外,解码器104可以 被配置成:使用解码器104已知的多个预定的安全秘钥来确定多组验证加密值。如果所述 多组验证加密值中的一组验证加密值与元数据帧130中包括的加密值匹配,则解码器104 知道:已经使用了哪个安全秘钥并且各个帧和/或该帧序列尚未被修改。另一方面,所有组 的验证加密值都不匹配表示各个帧和/或该帧序列已被修改。
[0158] 能够检测到使用了哪个秘钥来使解码器104和转码器103中的比特流110、120安 全使应用能够对要采用不同可信度的数据做什么进行更细粒度的决定。决定可能取决于检 测到的安全秘钥而不同。具体地,可能检测到高度安全秘钥,可能检测到中等安全秘钥,或 者可能检测不到有效秘钥从而安全检查不通过。
[0159] 这样,与仅使用单个安全秘钥的仅能对数据是否可以被信任作出二元决策的解决 方案相比,当使用多个不同的安全秘钥(附属于不同的信任等级)时,可以提供各个等级的 可信度。
[0160] 如图1的上下文中所述,音频内容的分发链100可以包括转码器103,其被配置成 将入站比特流110转换成出站比特流120。由转码器103执行的转码可以与从第一音频编 解码器系统转码至可能不同的第二音频编解码器系统有关。替代地或附加地,该转码可以 与出站比特流120的比特率相对于入站比特流110的比特率的变化有关。转码器103可以 包括用于将入站比特流110解码成PCM(脉冲编码调制)音频信号的解码器。此外,转码器 103可以包括用于将PCM音频信号编码成出站比特流120的编码器。这样的转码器103可 以称为"PCM连接"转码器,原因是一个或更多个解码器(用于对一个或更多个入站比特流 110进行解码)经由线性PCM连接至一个或更多个编码器(用于对一个或更多个出站比特 流120进行编码)。
[0161] 转码器103可以为作为由专业的内容提供者如广播公司使用的装置的所谓的专 业转码器。如上所述,转码器103可以被配置成:按照第一格式(例如,杜比E)接受入站 比特流110,并且将入站比特流110转码成不同的格式(例如,杜比数字+)。这样的转码器 103通常包括一个或更多个解码器(用于对入站比特流110进行解码)和一个或更多个编 码器(用于对出站比特流120进行编码)。
[0162]PCM连接转码器可以具有在解码器和编码器之间的一个或更多个PCM处理级。响 度调平是这样的PCM处理的一个示例。PCM处理的其他示例包括采样率转换、通道下混合和 /或通道上混合。
[0163] 这样的PCM连接转码器103引起关于上述可靠性、保护和信任问题的挑战。如上 所述,入站比特流110可以包括使用一个或更多个加密值(如表1和表4所示,包括在例如 元数据帧112、312的保护字段中)保护的元数据帧112、312。PCM连接转码器103使得用 户能够对从内容帧11U311获得的PCM数据进行修改,从而可能使相关联的元数据帧112、 312中包括的元数据无效,并且从而可能危及元数据的可信度。
[0164] 在本文献中,描述了用于确保转码器103中的元数据的可信度的方法和系统。具 体地,描述的方法和系统使得即使当使用PCM连接转码器103时,也能够保持元数据帧112、 312中包括的元数据的可信度。
[0165] 图5a至图5d分别示出了示例PCM连接转码器503、513、523、533。转码器包括解 码器504,解码器504被配置成:将入站比特流110 (其包括内容帧111序列和相关联的元 数据帧112序列)分别转换成PCM数据和元数据。解码器504可以被配置成:使用上述保 护方案来验证入站比特流110的正确性。出于该目的,解码器504可以知道到一些或所有 预定的安全秘钥。
[0166] 通常,解码器504提供一组未受保护的PCM数据和元数据(例如,以逐帧为基础)。 换言之,解码器504通常对每个内容帧111和相关联的元数据帧112进行解码,并且不加保 护地提供相应的一组PCM数据和元数据。这样,解码器504提供来自相对应的内容帧111 和元数据帧112的序列的多组PCM数据和元数据的序列。多组PCM数据和元数据的序列可 以被转码器修改并且然后可以被传送至如下编码器501 :该编码器501被配置成将(可能 经修改的)多组PCM数据和元数据的序列转换成出站比特流120。在该背景下,编码器501 通常不能验证(可能经修改的)多组PCM数据和元数据的序列是否已经以可觉察的方式被 修改。换言之,编码器501可能无法验证(可能经修改的)多组PCM数据和元数据的序列 的可信度。
[0167] 在本文献中,提出了使解码器504能够基于一组或更多组PCM数据和元数据来提 供一个或更多个签名值,从而使得能够保护解码器504与编码器501之间的PCM连接。如 上所述,可以以与加密值类似的方式来确定签名值。然而,签名值也可以使用包括一组或更 多组PCM数据和元数据(与一个或更多个内容帧和相关联的元数据帧形成对比)的消息m。 具体地,解码器504可以被配置成
[0168] ?基于各组PCM数据和相关联的元数据来确定帧签名值;以及
[0169] ?基于两组或更多组连续的PCM数据和相关联的元数据来确定历史签名值。
[017
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1