CN102576559B - 数据流的认证 - Google Patents

数据流的认证 Download PDF

Info

Publication number
CN102576559B
CN102576559B CN201080034623.0A CN201080034623A CN102576559B CN 102576559 B CN102576559 B CN 102576559B CN 201080034623 A CN201080034623 A CN 201080034623A CN 102576559 B CN102576559 B CN 102576559B
Authority
CN
China
Prior art keywords
frame
secret value
value
data stream
stream
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.)
Active
Application number
CN201080034623.0A
Other languages
English (en)
Other versions
CN102576559A (zh
Inventor
R·博伊姆
A·格罗舍尔
H·霍伊里奇
D·霍姆
W·A·席尔德巴赫
M·舒格
O·沃特泽凯
M·沃尔特斯
T·齐埃格勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolby International AB
Original Assignee
Dolby International AB
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 Dolby International AB filed Critical Dolby International AB
Publication of CN102576559A publication Critical patent/CN102576559A/zh
Application granted granted Critical
Publication of CN102576559B publication Critical patent/CN102576559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00173Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel
    • H04H20/31Arrangements for simultaneous broadcast of plural pieces of information by a single channel using in-band signals, e.g. subsonic or cue signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • G11B2020/00028Advanced audio coding [AAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/50Aspects of broadcast communication characterised by the use of watermarks

Abstract

本发明涉及用于数据流的认证的技术。具体地,本发明涉及将标识符插入数据流中,比如Dolby Pulse、AAC或HE AAC位流,和基于这种标识符的数据流的认证和验证。描述了编码包括多个数据帧的数据流的方法和系统。该方法包括产生数目N个连续数据帧的加密值和配置信息的步骤,其中该配置信息包括用于呈现数据流的信息。该方法然后将加密值插入数据流中N个连续数据帧之后。

Description

数据流的认证
技术领域
本发明涉及用于数据流的认证和验证的技术。具体地说,本发明涉及将标识符插入比如Dolby Pulse(杜比脉冲)、AAC或者HEAAC位流的数据流中,以及基于这种标识符的数据流的认证和验证。
背景技术
随着数字电视和无线电系统的不断增长,越来越频繁地广播例如包括视频数据和/或音频数据的数据流。除了实际的视频和/或音频内容之外,这种数据流还包括元数据,其例如允许节目音量和动态范围的接收器侧控制以及允许立体降混频(downmix)及其他特征的控制。
在典型的网络方案中,在广播头端系统编码视频帧和/或音频帧及其关联的元数据。出于该目的,可以使用各种编码方案,比如Dolby E、Dolby Digital、AAC、HE AAC、DTS或者Dolby Pulse。这些编码方案中的一些,特别是Dolby Pulse、AAC和HE AAC特别适于经各种传输介质的传输,比如无线电(例如FM频带、DVB/T、ATSC)、双绞线(DSL)、同轴电缆(例如CATV)或者光纤。例如电视机、无线电接收机、个人计算机或者机顶盒的接收器具有适当的解码器并提供解码的媒体流。此外,接收器通常提供经由伴随视频和/或音频数据的元数据以信号通知的控制特征。
在ISO/IEC 14496-3(2005)的用于MPEG-4 AAC的″Information technology-Coding of audio-visual objects-Part 3:Audio″和ISO/IEC 13818-7(2003)的用于MPEG-2 AAC的“GenericCoding of Moving Pictures and Associated Audio information-Part7:Advanced Audio Coding(AAC)”中规定了一些编码/解码方案的实例,将其通过引用完全包括于此。
已知用于认证和/或标识的几种技术。一些依赖在编码的多媒体数据内嵌入认证和/或标识数据。这些技术也称为水印且专门被设计用于版权保护。用于认证和/或标识的另外的技术是数字签名,其中与比如电子邮件的数据文件一起提供单独的认证数据,且在解码器处使用以用于认证和标识目的。
为了数据流的接收器能够标识数据流的编码器,期望与数据流一起提供认证装置。这对于验证数据流的完整性也是有益的。此外,可能有益于保证接收器相对于要回放或处理的数据流的正确配置。此外,可能有益于允许实现已经适当地认证和/或验证的数据流的附加值服务或者特殊控制功能性。在本专利文件中解决这些及其他问题。
发明内容
提出的方法和系统利用可以作为元数据在数据流内提供的标识符。这种数据流优选地是经有线或者无线传输介质发送的数据流,但是数据流也可以提供在数据存储介质,比如CD、DVD或者闪存存储器上。标识符使得在接收侧的解码器能够验证其接收的数据流是否来自受信赖的编码器,即,在发送和/或编码侧的合法编码器。如果解码器与不同类型的编码器兼容,则这种验证可能是特别有益的。举例来说,Dolby Pulse解码器可能与HE-AAC版本2编码器兼容。在这种方案中,可能期望使得Dolby Pulse解码器能够仅在业务(即数据流)来源于适当的Dolby Pulse编码器时才提供某些附加的非标准或者非强制特征。通过使用这种标识符,Dolby Pulse解码器将能区分由适当的Dolby Pulse编码器产生的数据流或者位流和由任意符合HE-AAC v2的编码器产生的数据流或者位流。同样地,可以保证仅如果数据流来源于受信赖的编码器,才由解码器考虑附加特征,例如动态元数据的使用。通过这样做,可以保证附加特征的正确运用。
标识符的另外的优点在于其可以使得解码器能够验证已经以正确的方式接收了位流且在传输期间未修改或者篡改该位流。换句话说,标识符使得解码器能够验证接收的位流的完整性。
此外,标识符可以用于保证解码器被设置为正确的处理,例如回放、配置,以恰当地呈现媒体/多媒体信号。举例来说,这种配置可涉及回放媒体信号时的采样频率。该配置还可涉及要用于回放的信道配置,例如2信道立体声、不同环绕声设置等。另外的配置方面可涉及在用于特定的编码方案的AAC的情况下的帧长,例如1024样本帧或者960样本帧。
除编码器标识和认证目的之外,标识符可以用于验证数据流的有效载荷的真实性。出于该目的,标识符不应该容易地可伪造,且所保护的部分的操作应该是可标识的。此外,期望解码器以相对短的时间间隔标识位流的真实性。优选地直到解码器或者解码设备能够在流动中标识真实的位流为止的最大时间不超过1秒。此外,应该将解码器中标识符的验证引入的复杂度保持得较低,即,解码器复杂度的增加应该是可忽略的。最后,应该将由标识符引入的传输开销保持得较低。
根据实施例,可以通过利用根据以下方法导出的加密值或者标识符来实现上述优点。可以通过向一组一个或多个数据帧应用单向函数来在编码器处确定标识符。帧典型地包括与音频流和/或视频流的某个部分,例如包括给定数目的媒体流的样本的部分相关的数据。举例来说,音频流的帧可以包括音频数据和相应的元数据的1024个样本。
如上所述,为了确定标识符的目的,将确定数目的帧分组。可以由编码器选择每个组中帧的数目,且典型地不需要预先由解码器知道。单向函数优选地是HMAC-MD5(散列消息认证码)加密散列函数,即使比如SHA-1的其他散列函数可以用于代替MD5。用于选择适当的加密散列函数的可能的标准可以是其大小,大小应该保持得较小,以减少所需的传输开销。加密散列函数的大小典型地由其位数给出。
一旦已经使用例如HMAC-MD5过程计算了一组帧的标识符,则可能与下一组帧中的帧相关,例如插入下一组帧中的帧中。举例来说,标识符可以被写入该帧的数据字段或者语法元素中。优选地,标识符被插入在后续帧组的第一帧中。这允许将标识符计算为一过性运算,而不向编码器/解码器引入附加的延迟,这对于实时媒体传输特别有益。然后可以将包括标识符的数据流发送到相应的接收器/解码器。
在接收器处,插入的标识符可以用于编码器标识、认证、验证和/或配置目的。接收器典型地包括可以与一组帧同步的解码器,即其可以确定包括标识符的帧。基于包括标识符的两个相继帧之间的距离,可以确定用于计算标识符的每一组帧的帧数目。换句话说,这可以允许解码器确定该组帧的长度而不用从相应的编码器通知。
解码器可以计算接收的该组帧的标识符。基于接收的该组帧计算的标识符可以被称为验证标识符。如果假定标识符被插入在后继组帧的第一帧中,则每组帧将从包括先前组帧的标识符的第一帧开始,且其将在直接在包括当前组帧的标识符的下一帧之前的帧结束。对于当前组帧,可以根据上述的方法计算验证标识符。
在下一步骤中,解码器可以从后续帧组的各个帧提取由编码器发送的标识符。再次,如果在编码器处将标识符插入后继帧组的第一帧中,则接收器也从该第一帧提取标识符。已经从数据流检索的该标识符可以与验证标识符,即由解码器基于接收的数据流计算的标识符比较。如果两个标识符匹配,则解码器可以典型地假定在传输期间未出现错误,原样地接收了该组帧,在传输期间未修改该组帧,且该组帧来自信赖和/或合法编码器。另外,如果两个标识符匹配,解码器可选择启用在解码任意位流时可能不启用的一个或多个编解码特定特征或者改进。举例来说,如果解码器标识Dolby Pulse特定位流,可以启用附加服务,而对于标准HE-AAC版本2编码位流这种附加服务将不可用。尽管如此,解码器可以使得能够解码标准HE-AAC版本2编码位流,但是不使用附加服务。
应当注意,此外,标识符可以使得能够保证在解码器处建立用于正确地解码和/或回放媒体流的适当配置。在此情况下,匹配验证标识符和发送的标识符将指示解码器使用正确的配置设置。
另一方面,如果标识符,即验证标识符和发送的标识符不相配,则解码器将知道在传输期间出现错误,不是原样地接收了该组帧,在传输期间修改了该组帧,或者该组帧不来自信赖的编码器。在此情况下,可以完全禁止解码器或者替代地可以禁止特定特征或者改进。
应当注意,标识符也可以用于向解码器通知已经设置了错误的配置设置。在此情况下,在验证标识符和发送的标识符之间的失配可能是因为解码器使用错误的配置设置的事实,即使原样地接收该组帧且来自信赖的编码器。可以考虑在此情况下,解码器可操作以修改其配置设置并确定相应的验证标识符,直到验证标识符匹配发送的标识符为止。这将使得解码器能够将其配置实际地设置为接收的位流的要求。
在下面描述了提出的方法的不同方面。根据第一方面,描述了用于编码包括多个数据帧的数据流的方法。数据流可以是音频、视频和/或其他媒体和多媒体流。具体来说,数据流可以是Dolby Pulse、AAC或者HE-AAC数据流。典型地以包括确定数目的数据样本并覆盖数据流的某个部分的数据帧组织数据流。举例来说,帧可以包括以44.1kHz的采样率采样的音频信号的1024个样本,即,其覆盖大约23ms的部分。应当注意,可以以恒定或者可变比特率编码样本,且帧内的实际位数可改变。
该方法可以包括将数目N个连续数据帧分组以形成第一消息的步骤。典型地以数据速率开销考虑而选择数目N个连续数据帧。通常开销随着数目N的增大而减少。N优选地大于一。N的典型值是大约20。在优选实施例中,可以选择N以使得当在具有适当的解码器配置的相应的解码器处回放时N个连续帧覆盖0.5秒的相应信号。应当注意,分组步骤可以包括以它们的自然次序,即流次序级联N个连续帧。
在下一步骤中,第一消息可以与配置信息分组在一起以形成第二消息。这种配置信息包括在数据流以外的信息,且其典型地涉及数据流,特别是用于在接收器侧呈现数据流的信息。配置信息可以包括关于应该用于处理数据流的各个接收器和/或解码器的设置的信息。因为这种配置信息典型地不发送或者不包括在数据流中,其也可以被称为带外数据。这与也可以被称为带内数据的数据流相对。
配置信息可以以多种方式与第一消息分组在一起。其可以与第一消息级联,即,其可以被放置在第一消息的开始和/或末尾。配置信息也可以位于第一消息内的某个位置,例如在一些或者全部相继帧之间。
配置信息的典型实例包括用于采样下层模拟媒体流的采样率的指示。配置信息也可以包括音频编码系统的信道配置的指示,比如单声道、双声道立体声或5.1环绕声声道配置。其也可以包括数据帧中样本的数目的指示,例如每一数据帧960、1024或者2048个样本。
该方法进一步包括产生第一和/或第二消息的加密值的步骤。该加密值也可以被称为标识符。可以使用密钥值和加密散列函数来产生该加密值。具体来说,可以通过计算第一和/或第二消息的HMAC-MD5值来产生该加密值。此外,加密值的产生可以包括截取HMAC-MD5值,例如截取到16、24、32、48或64比特。考虑减小数据流中加密值的所需开销这是有益的。
此外,该方法包括在N个连续数据帧之后将加密值插入到数据流中。优选地,该加密值插入N个连续数据帧之后的第一帧中,以允许在相应的解码器处的快速解码和编码器认证和验证。在N个连续数据帧之后插入同步指示也可能是有益的,其中,该同步指示指示已经插入了加密值。这种同步指示可以被放在加密值的附近以允许在相应的解码器处方便地提取加密值。
在示例性实施例中,数据流是MPEG4-AAC或者MPEG2-AAC流且作为数据流元素<DSE>被插入加密值。这种数据流元素<DSE>可以在<TERM>元素之前插入在帧的末端。此外,这种数据流元素<DSE>的内容可以优选地对准数据流的字节边界,以简化数据流元素<DSE>的提取,特别是简化在相应的解码器处的加密值和/或同步指示的提取。
应当注意,可以优选地关于一组N个连续帧的单独帧迭代地执行该产生加密值的步骤。出于该目的,可以使用开始状态对于N个连续帧中的每一个产生中间加密值。开始状态可以是前一迭代的中间加密值。举例来说,可以对于第一帧产生中间加密值。该中间加密值然后可以用作第二帧的中间加密值的产生的开始状态。重复该处理直到产生第N个帧的中间加密值为止。该后一中间加密值典型地表示N个连续帧的组的加密值。为了考虑配置信息,第一迭代的开始状态可以是配置信息的中间加密值。
在优选实施例中,关于包括N个连续数据帧的前一块的加密值的N个连续数据帧的块产生该N个连续数据帧的块的加密值。通过这样做,可以产生互连的加密值的流。
根据另一方面,该方法可以包括与数据流的视频和/或音频编码器交互的步骤。这可以通过执行视频和/或音频编码以及以集成方式产生加密值来实现。具体来说,数据流的视频和/或音频编码器之间的交互和加密值的产生可以涉及设置用于视频和/或音频编码器的最大比特率,以使得包括加密值的数据流的比特率不超过预定值。如果下层数据流编解码设置了完整数据流的上行比特率限制,这可能是特别有益的。
根据又一方面,描述了用于在解码器和/或接收器处验证数据流的方法。应当注意,描述的方法和系统可应用于所发送的数据流以及在存储介质上提供的数据流的背景下。如上所述,数据流典型地包括多个数据帧和与数目N个在前连续数据帧相关的加密值。参考在本文档中做出的考虑,尤其是关于N的可能值和数据流及其帧的结构。
该方法包括提取N个连续数据帧以形成第一消息的步骤。该方法也可以包括确定值N的步骤。这可以在包括多个N个连续数据帧和关联的加密值的数据流中执行。如果N个连续数据帧被称为一组帧,这种数据流典型地包括多组帧和与每个这种帧组相关的加密值。在此情况下,数目N可以被确定为在两个相继的加密值之间的帧的数目。
应当注意,用于计算第二加密值的当前组帧可以包括前一组帧的加密值。替代地,可以在计算第二加密值之前首先从当前组帧去除前一组帧的加密值和任何关联的同步指示和/或语法元素。后一方案可以是优选的,以防止改变和差异从一个组的帧传播到下一组的帧。
该方法可以进一步包括将第一消息与配置信息分组在一起以形成第二消息的步骤,其中,配置信息典型地包括在数据流以外的信息,比如用于呈现数据流的信息。分组的步骤和关于配置信息的不同方面已经在上面概述。这些方面同等地应用于解码器。
该方法通过产生第一和/或第二消息的第二加密值、从数据流提取加密值和将加密值与第二加密值比较而进行。第二加密值也可以被称为验证加密值或者验证标识符。
应当注意,可以以迭代的方式产生第二加密值,如在加密值的产生的上下文中描述的。
在优选实施例中,加密值是根据与用于产生第二加密值的方法对应的方法,在相应的编码器和/或发射机处从N个连续数据帧和配置信息已经产生了的。换句话说,用于在相应的编码器处产生加密值的方法对应于用于在解码器处产生第二加密值的方法。具体来说,使用唯一密钥值和/或唯一加密散列函数来产生加密值和第二加密值。
此外,用于在编码器处产生加密值的该组N个相继帧对应于用于在解码器处产生第二加密值的该组N个相继帧。如上所述,可以关于包括或者不包括先前组N个相继帧的加密值的该组N个相继帧确定加密值和第二加密值。应该在编码器和解码器处应用相同规则。
即使在编码器和解码器处使用的帧组应该相同,应当注意,在编码器和解码器处的帧的内容可不同,例如由于在帧的传输期间引起的修改或者由于数据流的存储介质上的错误。
根据另一方面,该方法可以包括如果加密值对应于第二加密值则设置标记的步骤,和/或如果设置标记则在接收器和/或解码器处提供视觉指示的步骤。以相似的方式,如果加密值不对应于第二加密值或者如果无法从数据流提取加密值,则可以除去标记和/或视觉指示。这对于向解码器的用户和数据流的观看者/收听者提供关于数据流的真实性的信息可能是有益的。
根据另一方面,描述了包括根据在本专利文献中概述的方法产生和插入的加密值的数据流。
根据另一方面,描述了可操作以编码包括多个数据帧的数据流的编码器。该编码器可操作以执行在本专利文献中概述的方法步骤。具体来说,该编码器可以包括可操作以执行下列操作的处理器:将数目N的连续数据帧分组以形成第一消息的,其中,N大于一;将第一消息与配置信息分组在一起以形成第二消息;其中,配置信息包括在数据流以外的信息,比如用于呈现数据流的信息;产生第二消息的加密值;和将加密值插入到N个连续数据帧之后的数据流中。
根据又一方面,描述了可操作以验证包括多个数据帧和与数目N的在前连续数据帧关联的加密值的数据流的解码器,其中,N大于一。该解码器可操作以执行在本专利文献中概述的方法步骤。具体来说,该解码器可以包括可操作以执行下列操作的处理器:提取N个连续数据帧以形成第一消息;将第一消息与配置信息分组在一起以形成第二消息;其中,配置信息包括用于呈现数据流的信息;产生第二消息的第二加密值;从数据流提取加密值;和比较加密值与第二加密值。
根据另一方面,描述了一种软件程序。该软件程序适于在处理器上执行并用于在计算装置上执行时执行在本专利文献中概述的方法步骤。
根据另一方面,描述了一种存储介质。该存储介质包括软件程序,该软件程序适于在处理器上执行并用于在计算装置上执行时执行在本专利文献中概述的方法步骤。
根据又一方面,描述了计算机程序产品。计算机程序产品包括用于当在计算机上执行时执行在本专利文献中概述的方法步骤的可执行指令。
根据又一方面,描述了用于解码接收的数据流的机顶盒、便携式电子设备(例如移动电话、PDA、智能电话等)或计算机(例如台式计算机、膝上型电脑等)。该数据流可以包括音频信号。机顶盒优选地包括根据在本专利文献中概述的方面的解码器。
根据又一方面,描述了用于发送数据流的广播系统。该数据流可以包括音频信号。该广播系统优选地包括根据在本专利文献中概述的方面的编码器。
根据另一方面,描述了用于在接合点级联第一和第二位流的方法。两个位流中的每一个可以包括多个数据帧和与给定数目的数据帧相关的加密值。第一位流可以包括用于每N1个相继帧的加密值,而第二位流可以包括用于每N2个相继帧的加密值。数目N1和N2可以相等,即两个位流具有相同的加密重复周期,或者数目N1和N2可以不同,即在其之后加密值被包括在位流中的帧的数目不同。
该级联方法包括从第一和第二位流产生级联的位流的步骤,其中,该级联的位流至少包括来自第一和第二位流的多个数据帧的一部分。换句话说,第二位流或者第二位流的一部分在接合点附于第一位流或者第一位流的一部分。
级联的位流包括根据在本专利文献中概述的方法产生和插入的加密值。有益地,级联的位流中的加密值顺利地覆盖接合点以使得在接收器/解码器处没有显著的位流可靠性的中断。这可以通过在接合点之后明确地产生用于级联的位流的新加密值来实现。
可以在起始于接合点的级联位流的部分中至少对于确定数目的相继帧产生新加密值。有时,可以重新使用第二位流的加密值并在已经包括新加密值的部分之后复制到级联的位流中。这具体地应用于对于下一组的加密值的计算不考虑下一组的第一帧中包括的前一组帧的加密值且该组可以独立地处理时,即加密值的变化不从一组传播到下一组时。
根据在本专利文献概述的方法的加密值的明确的产生可以在第一位流和第二位流之间的边界处特别有益,即,对于级联的位流中包括的第一位流的最后若干帧和对于第二位流的开头若干帧。通常当接合两个位流时,第一位流的最后几帧的数目典型地小于或等于N1,和/或在包括第一加密值之前从第二位流取得的帧的数目典型地小于或等于N2。换句话说,接合点典型地不位于第一和第二位流的组边界处。
根据级联或者接合方法的方面,对于第一位流的最后几帧产生新加密值,且将其插入级联的位流的下一帧(即从第二位流取得的第一帧)中。该新加密值被认为“完成”第一位流。可以随后对于第二位流产生新加密值,并在适当的位置包括到级联的位流中。如果不将附加的加密值插入从第二位流取得的第一帧中,对于来自第一位流的帧产生的最后加密值和对于来自第二位流的帧产生的第一加密值之间的帧的数目将超过系统允许的最大数目,因此这是特别有用的。
在接合点不与第一和第二位流的帧组对准的情况下,该接合方法可产生用于包括从第一和第二位流取得的帧的混合组的加密值。如已经提到的,加密值典型地包括在用于计算各个加密值的帧组之后的下一帧中。
根据又一方面,描述了接合器和/或广播头端。该接合器和/或广播头端可操作以级联第一和第二位流,每个位流包括多个数据帧和与给定数目的数据帧相关的加密值。该装置可以包括具有在本专利文献中概述的特征的任何组合的解码器。该解码器可以用于解码第一位流的最后几帧、第二位流的前几帧和关联的加密值。该接合器和/或广播头端可以进一步包括具有在本专利文献中概述的特征的任何组合的编码器。该编码器可以用于编码第一位流的最后几帧和第二位流的前几帧。此外,该接合器和/或广播头端可以包括用于将不解码和编码的第一和第二位流的帧和关联的加密值转发的转发单元。换句话说,转发单元可以简单地复制或者转发或者携带帧和关联的加密值到级联的位流上。
应当注意,接合器也可以可操作以解码和编码完整的数据流,即解码输入数据流的加密值并产生用于输出数据流的加密值。为了通过加密值产生位流的连续互连,这可能是有益的。事实上,可以解码多个位流且可以以连续互连的加密值编码包括多个位流的若干部分的级联的位流。同样地,级联的位流的接收器将级联的位流视为来源于单个信赖的编码器的位流。
也应注意,为了解码和/或编码包括加密值的位流,接合器可以不必知道数据流的下层编解码器。举例来说,接合器不需要能够执行HE-AAC解码/编码,以提取和/或产生数据流的加密值。在一些情况下,例如当新加密值被插入在先前没有加密值的帧中时,可能需要数据流的解码和后续重新编码以在位流中创建新加密值的空间,具体地满足位流要求。
应当注意,包括如在本专利申请中概述的优选实施例的方法和系统可以独立地使用或者与在该文档中公开的其它方法和系统组合地使用。此外,在本专利申请中概述的方法和系统的所有方面可以任意地组合。具体来说,权利要求的特征可以以任意方式彼此组合。此外,应当注意方法步骤的顺序可以改变。
附图说明
以下参考附图以示例性的方式解释本发明,其中,
图1图示根据本发明用于确定标识符的示例性方法;
图2a和图2b示出了用于在编码器处的标识符产生和插入的示例性方法的流程图;
图3示出了在解码器处进行的示例性认证和验证步骤的流程图;
图4图示编码器和解码器的示例性实施例;
图5图示广播系统内的标识符的使用实例;以及
图6和图7图示接合位流以形成级联的位流的实例。
通过实例的方式描述以下实施例且不应该限定本专利文献的范围。将在AAC(先进音频编码)且具体地MPEG-2AAC和MPEG-4AAC的背景下描述本发明。但是,应当注意,本发明也可以应用于其他媒体编码方案,尤其是音频、视频和/或多媒体编码方案。此外,其可以应用于从多个编码器提供组合的位流的接合器中。
图1图示位流100和对于该位流100怎样确定标识符的方法。这种位流的实例是以AAC、HE-AAC(高效率-先进音频编码)、Dolby Pulse、MPEG-4AVC/H.264、MPEG-2视频或者MPEG-4视频作为下层编解码器编码的视频和/或音频位流。这种编解码器和它们的格式例如以MPEG-4AAC的ISO/IEC 14496-3规范、以MPEG-2AAC的ISO/IEC 13818-7规范、以MPEG-4AVC/H.264的ISO/IEC 14496-10规范、以MPEG-2视频的ISO/IEC 13818-2规范和以MPEG-4视频的ISO/IEC 14496-2规范来定义。通过引用并入这些规范。在这些编解码器中,以所谓的帧排列数据流,其中,帧包括特定数目的媒体样本。不同编解码器可以使用每帧不同的样本数。典型实例是每帧960、1024或者2048个样本。
除实际的媒体数据之外,帧可以进一步包括所谓的元数据,其可以携带例如关于节目音量或者动态范围的附加的控制信息。
图1示出了连续的帧101、102、103直到106。时间轴从左至右,以使得帧101在帧106之前处理。如上所述,每个帧可以包括媒体数据和附加的元数据。每个帧和其可以包括的可能的数据字段或者元素的结构由下层编码方案定义。举例来说,MPEG-4AAC帧或者MPEG-2AAC帧可以包括1024或者960个样本的时间期的音频数据、有关的信息及其他数据。其语法和结构在上述MPEG-4AAC的ISO/IEC 14496-3规范的部分4.4和4.5以及上述MPEG-2AAC的ISO/IEC 13818-7规范的部分6和8中定义。通过引用并入这些部分。
MPEG-4AAC或者MPEG-2AAC帧可以包括不同语法元素,比如
·single_channel_element(),缩写为SCE,其是包括单个音频信道的编码数据的位流的语法元素。
·channel_pair_element(),缩写为CPE,其是包括一对信道的数据的位流有效载荷的语法元素。
·coupling_channel_element(),缩写为CCE,其是包括耦合信道的音频数据的语法元素。
·lfe_channel_element(),缩写为LFE,其是包括低采样频率增强信道的语法元素。
·program_config_element(),缩写为PCE,其是包括节目配置数据的语法元素。
·fill_element(),缩写为FIL,其是包括填充数据的语法元素。
·data_stream_element(),缩写为DSE,其是包括辅助数据的语法元素。
·指示原始数据块或者帧的结束的TERM语法元素。
这些语法元素用在帧或者原始数据块内,以指定媒体数据和有关的控制数据。举例来说,可以通过语法元素<SCE><TERM><SCE><TERM>指定单音频信号的两个帧。可以由语法元素<CPE><TERM><CPE><TERM>指定立体声音频信号的两个帧。可以由语法元素<SCE><CPE><CPE><LFE><TERM><SCE><CPE><CPE><LFE><TERM>指定5.1信道音频信号的两个帧。
所提出的方法将特定数目N的这种帧分组并由此形成帧组111、112和113。图1示出了包括N=5个帧103到105的完整的帧组112。该帧组112的五个帧级联以形成第一消息。
使用加密散列函数H(.)和典型地以额外的零填充到右侧以填充散列函数H(.)的块大小的“秘密”密钥K,可以确定第一消息的散列消息认证码(HMAC)。令||符号表示级联且符号表示异或,且外部填充opad=0x5c5c5c...5c5c且内填充ipad=0x363636...3636是散列函数H(.)的块大小的长度的常数,那么第一消息的HMAC值可以写为:
HMAC ( m ) = H ( ( K &CirclePlus; opad ) | | H ( ( K &CirclePlus; ipad ) | | m ) ) ,
其中m是消息,这里也被称为第一消息。与MD5或者SHA-1散列函数一起使用的块大小典型地是512比特。HMAC操作的输出的大小与下层散列函数的大小相同,即在MD5的情况下是128比特或者在SHA-1的情况下是160比特。
第一消息的HMAC值,即帧组112的级联的帧103到105的HMAC值可以用作帧组112的标识符。为了缩小标识符的长度,可以截取HMAC值,例如截取到16、24、32、48或者64比特。但是,应当注意,这种截取操作典型地影响散列消息认证码的安全性。因为标识符被插入在数据流中,提出的方法优选地使用HMAC值的截取的版本作为标识符。
如图1所示,帧组112的标识符122被插入在后面帧组113的帧中。优选地,该标识符122被插入在后续帧组113的第一帧106中。以类似的方式,已经对于先前帧组111确定了标识符121并插入帧组112的第一帧103中。
应当注意,可以基于包括前一帧组111的标识符121的第一消息m计算帧组112的标识符122,或可以基于不包括前一帧组111的标识符121的第一消息m来计算。在后一情况下,需要在确定标识符122之前从第一消息m去除关于标识符121的信息。将需要保证编码器和解码器应用相同的方法定义第一消息m。在优选实施例中,基于包括前一帧组111的标识符121的第一消息m确定标识符122。通过这样做,可以连续地互连标识符且由此可以创建不能例如通过修改或者替换位流的特定帧组而修改的互连位流。所以,可以保证完整的数据流或者位流的真实性。另一方面,仍然保证接收器可以对部分损坏的位流再同步,即使标识符互连。
在优选实施例中,标识符被放入单个data_stream_element(),缩写为<DSE>中,并在通过引用包括的MPEG-4AAC的ISO/IEC14496-3,表4.10中定义,或者MPEG-2AAC的ISO/IEC 13818-7,表24中定义。为了促进解码器的同步,AAC帧应当只包括保持标识符的一个data_stream_element()<DSE>,以使得解码器可以确定一组帧的长度作为两个接收的标识符之间的距离。换句话说,AAC帧可以包括几个data_stream_element()<DSE>,但是应该仅包括一个data_stream_element()<DSE>包含标识符。在优选实施例中,<DSE>的位置在AAC帧的结尾,正好在<TERM>元素之前。
为了允许标识符的快速提取,可以使用DSE的字节对准特征。出于该目的,DSE典型地包括指示DSE中包括的数据是字节对准的字段或者位。这向解码器指示DSE的实际数据开始于在字节开始处的比特位置。
位流或者数据流可以包括多个<DSE>。为了能够区分一个<DSE>和另一个,每个<DSE>典型地包括如在ISO/EEC 14496-3,部分4.5.2.1.1中对于MPEG-4AAC,和在ISO/IEC 13818-7,部分8.2.2中对于MPEG-2AAC定义的元素情况标签,通过引用并入两者。应当注意,包括标识符的data_stream_element()的元素情况标签的值不限于特定值,即ISO/IEC标准通用规则适用。换句话说,除ISO/IEC 14496-3文档中对于MPEG4AAC和ISO/IEC 13818-7文档中对于MPEG-2AAC说明的之外,优选地不存在用于包括发送的标识符的<DSE>的元素情况标签的特定规则。
类似于以上示出的可能的流的实例,2信道音频节目的数据流可以包括语法元素<CPE><FIL><DSE><TERM><CPE><FIL><DSE><TERM>...。具有SBR(光谱带复制)的2信道音频节目可以包括语法元素<CPE><SBR(CPE)><FIL><DSE><TERM><CPE><SBR(CPE)><FIL><DSE><TERM>...,其中,<SBR(CPE)>是对SBR专用的语法元素。5.1信道音频节目可以由语法元素<SCE><CPE><CPE><LFE><FIL><DSE><TERM><SCE><CPE><CPE><LFE><FIL><DSE><TERM>...组成。
在优选实施例中,放入<DSE>元素中的标识符字段可以包括标识符同步字段和标识符值字段。标识符同步字段可以用于基于特定<DSE>元素包括标识符的事实而允许快速标识。举例来说,编码器可以将该字段设置为预定义的值,例如二进制模式,以指示<DSE>元素包括标识符字段。解码器可以使用该字段来验证标识符值的可用性。换句话说,向解码器通知接收的数据流包括可以用于上述认证、验证和可能的配置目的的标识符。
在优选实施例中,标识符值字段包括已经确定为在本文档中概述的标识符值。该字段包括标识符的需要位数,即用于HMAC值的截取的版本的位数。如上所述,标识符典型地覆盖N个AAC帧(其中,N≥1),且每第N个AAC帧包括标识符,即其包括包含如上所述的标识符元素的<DSE>元素。典型地,其是决定所覆盖的AAC帧的数目N的编码器。解码器能够通过在包括相应的标识符的两个AAC帧之间帧的距离确定该值。
如上所述,标识符也可以用于保证解码器使用正确的配置设置。出于该目的,可以基于不仅包括N个相继帧的级联,而且还包括配置数据的扩展消息来产生标识符。换句话说,包括如上所述N个相继帧的第一消息可以进一步包括配置数据。这种配置数据可以包括samplingFrequencylndex,即下层音频信号的采样频率的指示,channelConfiguration,即使用的信道配置的指示,和frameLengthFlag,即使用的帧长的指示。其他配置参数也是可能的。
这些参数,即AAC(核心)采样率或者说“samplingFrequencylndex”、信道配置和AAC变换长度指示或者说“frameLengthFlag”可以用于形成配置字。此配置字也可以包括填充位,以使其达到预定大小。
在优选实施例中,参数“samplingFrequencylndex”和“channelConfiguration”具有与在各个ISO/IEC规范(例如ISO/IEC14496-3的部分1.6.2.1)中概述的“AudioSpecificConfig”相同名称的元素相同的含义和值。参数“frameLengthFlag”具有与在各个ISO/IEC规范(例如ISO/IEC 14496-3的部分4.4.1,表4.1)中概述的“GASpecificConfig”中相同名称的元素相同的含义和值。
级联配置字和N个AAC帧以形成消息m,其也可以被称为第二消息,包括除包括N个AAC帧的级联的第一消息之外的配置字:
m=(configuration_word||AACframe1||AACframe2||...||AACframeN);
其中,||表示级联。在以上示出的实例中,配置字被放置在第一消息前面。应当注意,配置字也可以位于其他位置,例如在第一消息的末端。
以与如上所述类似的方式,使用“秘密”密钥K计算HMAC值,例如HMAC-MD5码,关于消息m的HMAC(m)。密钥K例如可以是给定的ASCII码或任何其他秘密值,且使用上述HMAC公式计算消息m的HMAC值。
应当注意,可以以连续的方式确定消息m的HMAC值。这是指在第一步骤中,可以确定配置字的HMAC值。这产生了作为用于确定AAC帧1的HMAC值的开始状态的第一HMAC值。该操作的输出是作为用于确定AAC帧2的HMAC值的开始状态的第二HMAC值,等等。最终,使用AAC帧N-1的HMAC值作为开始状态来确定AAC帧N的HMAC值。通过使用这种在消息m两端,即在帧序列和/或配置字的两端的HMAC值的顺序确定,可以产生标识符而不增加由位流导致的延迟。此外,用于产生HMAC值和/或标识符的内存需求保持得较低,因为仅需要存储位流的当前帧和开始状态,即128位值。不要求完整的消息m的产生和存储。
为了减少由附加的标识符引起的位流中的开销,通过丢弃最不重要位来将HMAC值从128位截取到减小的位数。举例来说,HMAC值“9e107d9d372bb6826bd81d3542a419d6”可以截取到“9e107d9d”。优选地作为标识符的安全和要求的比特率开销之间的折中来选择截取的程度。例如标识符的可能的长度可以是16、24、32、48、64、80或者96。截取的HMAC值是在DSE元素的标识符值字段中插入的标识符。
在下面,提供关于编码处理的更多细节。如已经提到的,典型地编码器决定由一个标识符覆盖的数目N个AAC帧。举例来说,可能期望保证解码器能够在不多于1秒中与帧组的长度同步。因为为了解码器与帧组的长度同步要求两个标识符——这由包括标识符的两个帧之间的帧的数目给定,必须保证解码器在要求的时间间隔内至少接收两个标识符。因此,编码器应该选择值N以使得N个AAC帧的时间表示不超过或者最不济仅超过0.5秒。因为N个AAC帧的时间表示取决于选择的AAC(核心)采样率,由编码器选择的值N可以取决于选择的AAC(核心)采样率而改变。
为了最小化由标识符引入的比特率开销,编码器可以选择满足N个AAC帧的时间表示不超过0.5秒的约束的N的最大值。在一些应用中,N个AAC帧的时间表示略微超过0.5秒可能是可接受的。在本申请中,编码器可以选择N的值以使得N个AAC帧的时间表示尽可能地接近0.5秒,即使这在某些情况下造成N个AAC帧的时间表示略微超过0.5秒。可以通过评估包括标识符的DSE的长度和帧组的全长(按位数计)之间的比率来确定由标识符的传输引入的负荷。
此外,建议将标识符的插入与类似SBR报头的其他配置元素的插入对准。这允许解码器容易地同步到位流,且其允许在单个帧解码期间接收全部配置字。
应当注意,产生的第一AAC帧可能包括伪标识符。第一标识符的用途是向解码器通知包括标识符的AAC帧序列的开始。但是,当标识符不基于实际的媒体数据时,解码器将未准备好执行认证和验证。
如关于图1概述的,计算的第一标识符覆盖AAC帧1到N并被存储在AAC帧N+1中。下一标识符覆盖AAC帧N+1到2N且被存储在AAC帧2N+1中,等等。
图2a图示编码处理的流程图。在步骤201,通过提供包括在一组帧中的数目N个帧来初始化编码器。此外,提供密钥K。在下面的步骤202,级联一组帧中的N个帧以提供第一消息。然后,在步骤203,将第一消息与配置字级联,以产生第二消息。在步骤204,标识符被确定为经第二消息计算的HMAC值的截取版本。该标识符被放置在后续帧组的第一帧中(步骤205)。最后,在步骤206发送该组帧。应当注意,发送的该组帧包括先前发送的帧组的标识符。重复步骤202到206直到发送完整的数据流为止。
如已经提到的,可以以连续迭代的方式执行上述处理。这指的是可以逐帧地确定标识符,而不需要先级联N个帧和配置字,且不需要关于这种完整的级联消息执行HMAC计算。这在图2b中图示。通过设置开始状态,在步骤207初始化该迭代过程。该开始状态可以是配置字的HMAC值,其存储在128位存储器中。然后,可以对于N个帧中的第一个确定HMAC值(步骤208)。产生的HMAC值存储在128位存储器中(步骤209),并用作用于第二帧的HMAC值的计算的开始状态(步骤208)。重复该处理直到确定第N个帧的HMAC值为止,其中,从128位存储器取得第N-1个帧的HMAC值并用作开始状态(步骤208)。将标识符确定为第N个帧的HMAC值的截取版本(步骤210)。作为步骤206的替代,可以在用于HMAC值计算的处理之后立即发出每个帧,而不缓冲整个帧组。然后将标识符添加到第N+1个帧并与该帧一起发出。然后该帧是在下一N个帧的HMAC值的迭代计算中使用的第一帧。通过使用这种迭代处理,可以以低延迟、低计算复杂性和低存储器要求逐帧地执行编码处理。
在下面,关于解码处理提供更多细节。典型地,解码器以要解码的流不包括有效标识符的假定开始。即用于媒体位流中有效标识符的存在的指示符最初被设置为“假”值,且典型地仅在首次成功接收有效标识符时被设置为“真”值。这可以通过比如LED的视觉指示器(其向用户指示认证了接收的位流且是有效位流)在接收器,例如机顶盒处指示。所以,标识符可用于向用户指示接收的数据流的质量。
另一方面,如果解码器处的指示符被设置为“真”,但是对于多于Nmax个帧没有关于位流内的标识符的更新,则指示符可以复位为“假”。换句话说,解码器可以知道不应该超过的N的最大值,例如Nmax。如果解码器对于多于Nmax个帧未检测到有效标识符,那么这向解码器指示接收的位流可能不再来源于合法编码器,或者接收的位流可能已经改变。所以,解码器将各个指示符设置为“假”。这典型地导致视觉指示器,例如LED复位。
该标识符解码过程如图3所示且可以如下描述:
·解码器在步骤300启动并清除“已验证ID”标签。
·接下来,在步骤301初始化内存储器状态(128位)。
·解码器等待直到接收到帧(步骤302)并在步骤303对于位流标识符的存在检查接收的帧。可以通过以上指定的标识符同步字段的方式来检测帧内标识符的存在。如果在步骤304检测到标识符,则解码器在步骤307从<DSE>中的各个字段提取标识符值。
·接下来,在步骤308通过截取128位状态中包含的HMAC值来产生验证标识符。
·解码器在步骤309通过比较位流标识符和验证标识符继续。如果确定两个ID不相同(步骤310),则在步骤311清除“已验证ID”标签以指示位流不来源于信赖的编码器。在ID相同的情况下,在步骤312设置“已验证ID”标签以指示已验证位流标识符且该位流被认为有效,因为其来自信赖的编码器。在该情况下,可以启用解码器的附加特征和/或向用户通知位流的验证状态。替代地,如果确定位流不来源于信赖的编码器则可以禁止一些特征和/或相应地向用户通知。
·在步骤313通过初始化128位内存储器状态继续解码处理。
·接下来,在步骤314计算当前帧的128位HMAC值且在步骤315以计算的HMAC值更新128位内存储器状态。解码器然后返回到步骤302以等待另一帧的接收。
·如果在该帧中不存在标识符(如在步骤304确定的),解码器进行到步骤305,在该步骤,解码器确定是否在最后Nmax个帧内存在标识符。
·在最后Nmax个帧内不存在标识符的情况下,解码器在步骤306清除“已验证ID”标签,因为已经经过帧的最大数目Nmax而没有接收到标识符。解码器然后返回到步骤302以等待另一帧。
·如果如在步骤305确定的在最后Nmax个帧内存在标识符,则解码器进行到步骤314以计算当前帧的128位HMAC值。
如以上概述的,解码器可以以连续的迭代处理确定验证标识符。这意味着仅处理当前帧且不需要先级联一组帧以用于验证标识符的确定。所以,可以以低延时、低计算复杂度和低存储器要求执行标识符的解码。
图4图示数据流的编码器400和解码器410的示例性实施例。使用模数转换器402将模拟数据流405,例如音频流转换为数字数据流406。使用音频编码器403,例如杜比E、杜比数字、AAC、HEAAC、DTS或者Dolby Pulse来编码数字数据流406。音频编码器403典型地将数字数据流406分段为音频帧并提供数据压缩。此外,音频编码器403可以添加元数据。音频编码器403的输出是包括多个数据帧的数据流407。随后,数据流407进入附加帧编码器404,其将标识符或者加密值添加到数据流407。帧编码器404根据在本专利文献中概述的各方面执行操作。
应当注意,典型地以连续方式确定和添加标识符,以使得由帧编码器404直接处理来自音频编码器403的每个帧。优选地,音频编码器403和帧编码器404形成可以在数字信号处理器上实现的联合编码器401。这样,音频编码方面和标识符产生方面可以交互作用。具体来说,可能需要考虑在音频流的编码期间由标识符所引起的附加开销。这意味着可以减小音频位流的可用比特率。这种音频编码器和标识符产生之间的交互作用可以用于满足特定编码方案,例如HE-AAC的总带宽和/或比特速率限制。
联合编码器401输出包括多个帧组和关联的标识符的数据流408。典型地使用各种传输介质和/或存储介质将数据流408提供到关联的解码器和/或接收器410。其作为可能已经关于数据流408改变的数据流418到达解码器410。数据流418进入帧解码器414,其根据在本专利文献中概述的方法和系统执行数据流418的验证和认证。帧解码器414输出典型地对应于数据流418而没有标识符和相应的数据字段或者语法元素的数据流417。在音频解码器413中解码数据流417,在音频解码器413中将数据流417解压缩并除去添加的元数据。如上所述,典型地以连续迭代的方式执行帧解码,以使得逐帧地执行处理。
也应注意,可以将不同解码/接收组件分组在一起,以形成联合解码器。举例来说,帧解码器414和音频解码器413可以形成可以在数字信号处理器上实现的联合解码器/接收器411。如上所述,为了允许音频解码器和标识符的验证之间的交互作用,这可能是有益的。最终,联合解码器/接收器411输出被数模转换器412转换为模拟音频信号415的数据数据流416。
应当注意,在本文档中,术语“编码器”可以指完整的编码器400、联合编码器401或者帧编码器404。术语“解码器”可以指完整的解码器410、联合解码器411或者帧解码器414。另一方面,所谓的“不受信赖的编码器”是根本不产生标识符的编码器,或者不产生根据在本文档中概述的方法的标识符的编码器。
图5图示包括广播头端504的示例性广播系统500。头端504也包括可操作以组合来源于不同编码器的位流501、502和503的接合器或者接合装置。在无线电广播系统内,这种不同位流501、502和503可以是典型地由不同音频编码器编码的不同音频位流。位流501、502和503由以不同阴影的块表示的多个帧组成。在图示的实例中,位流501包括五个帧,位流502包括四个帧且位流503包括六个帧。接合器和/或头端可操作以组合位流,以产生联合位流505。如实例中所示,这可以通过将位流501附加到位流503,并通过将位流502附加到位流501来进行。但是,如也如图5所示的,可能需要仅选择初始位流501、502和503的部分,例如仅音频位流的部分。同样地,组合的位流505包括位流503的仅两个帧,后面是位流501的三个帧且后面是位流502的两个帧。
初始位流501、502和503可以包括标识符,即位流501、502和503可以来源于受信赖的编码器。每一标识符可以基于帧的不同数目N。不缺少一般性,假定已经对于包括两个帧的一组帧确定了位流501和503的标识符。另一方面,位流502不来源于受信赖的编码器且因此不包括标识符。
期望如果进入的位流501和503来源于受信赖的编码器,则接合器和/或头端504广播也包括标识符的位流505。这种标识符应该对于来源于受信赖的编码器的位流505的全部部分在位流505内发送。另一方面,不来源于受信赖的编码器的位流505的部分,即从位流502取得的部分不应该包括标识符。
为了实现该目标,接合器和/或头端504可操作以执行标识符的解码和/或编码。如图5所示,输出位流505的开头两个帧来源于位流503。如果这两个帧对应于一组帧,那么该组帧的标识符可以被放入位流505的第三帧中。这关于图1概述。另一方面,如果这两个帧属于不同组的帧,那么头端504可操作以
·如果位流503来源于受信赖的编码器,则验证;和
·产生用于位流503的输出帧,即位流505的开头两个帧的新标识符。
用于产生关于输出位流505的标识符的数目N不必具有与用于产生关于输入位流501和503的标识符的数目N相同的数目。这可以在位流501的背景下看到,对于其仅三个帧包括在输出位流505中。可以对于开头两个帧产生第一标识符,而可以对于这第三帧产生第二标识符。换句话说,对于开头两个帧N可以是二,且对于第三帧N可以是一。通常,因此可能出现N在位流505内可以改变。这是因为可以在解码器处独立地确定N的事实。优选地,用于输出位流505的数目N小于或者等于用于输入位流501和503的数目N。
此外,应当注意,输入位流502不包括标识符,即位流502不来源于受信赖的编码器。所以,接合器和/或头端504对于来源于位流502的帧不在位流505中提供标识符。如上所述,解码器典型地可操作以检测位流505中标识符的不存在。如果不包括标识符的帧的数目超过预定义的最大数Nmax,则解码器将典型地检测到位流505不再来自受信赖的编码器。
如图5的实例所示,位流505可以由来源于受信赖的编码器的部分和不来源于受信赖的编码器的其它部分构成。所以,位流505可以包括包含有效标识符的部分和不包含有效标识符的其它部分。接合器和/或头端504可操作以
·检测包括标识符的输入位流;
·转发包括标识符的位流作为输出位流;
·基于标识符认证输入位流;和
·以新标识符编码该位流。
换句话说,接合器和/或头端504可以包括在本专利文献中概述的编码器和/或解码器的特征。即接合器和/或头端504可以在接收输入位流时用作解码器,且可以在产生输出位流时用作编码器。此外,其可操作以转发包括标识符的位流而不执行认证和重新编码。可以对于相同位流的连续传输执行该转发操作,而可以优选地在来自不同编码器的位流之间的边界处使用解码和重新编码。通过使用该转发操作,可以减小接合器和/或头端504的计算负荷。
应当注意,可以在先前组的帧的标识符不影响当前组的帧的标识符值的情况下使用转发操作。在此情况下,帧组和其关联的标识符可以被视为是可以直接转发到输出位流的独立实体。另一方面,如果使用连续互连的标识符,其中当前组的帧的标识符取决于前一组的帧的标识符,那么接合器将优选地重新编码整个位流,以产生用于输出位流的连续互连的标识符的流。这将保证未授权方将不能够替换输出位流的段。
应当注意,在大多数情况下,接合器的重新编码仅限于新标识符的产生。位流本身,即尤其是音频编码典型地未受影响。因此,可以以低计算复杂度执行位流的重新编码。但是,如果将加密值插入先前不包含加密值的帧,则可能需要执行音频重新编码。
图6进一步图示优选实施例的输入位流1到4接合到输出的级联位流中。在图示的实例中,输入位流1形成用于加密值的产生的4个帧的组。位流下的有角度的箭头图示一组帧的加密值被插入下一组的第一帧中。其中插入加密值的帧在附图中有阴影。输入位流2的帧组包括6个帧,且输入位流3的帧组包括5个帧。输入位流4没有加密值且不是经过验证且受信赖的。
图中的垂直线指示接合点。如可以从图中看到的,输出位流包括对应于输入位流1的第一部分I、对应于输入位流2的第二部分II、对应于输入位流3的第三部分III和对应于输入位流4的第四部分IV,各部分在接合点接合。直到第一接合点为止,包括加密值的输入位流1可以复制到级联位流中。但是因为由于接合,部分II中的第一加密值涉及与位流2的相应加密值不同的数据帧,需要重新计算。详细地,基于5个帧产生该加密值,这5个帧中的一个属于输入位流1(在接合点之前)且四个属于输入位流2(在接合点之后)。由位流之上的箭头和改变的阴影指示加密值的重新计算。由于第一重新计算的加密值的变化在级联位流中的传播,也需要重新计算位流2的后面的加密值。
在第二接合点,选择的位流从2变化到3。基于位流2的前面6个帧重新计算位流III的第一帧的加密值。在下一接合点,选择不信赖位流4且不将加密值插入级联位流的部分IV中。替代地,可以对于复制到级联位流中的位流3的最后帧产生加密值,以正确地指示何时级联位流的受信赖的部分结束。该附加的加密值优选地插入在部分IV的第一帧中,如在附图中以虚线的圆指示的。取决于比特率要求,可能需要重新编码该帧以产生用于插入附加的加密值的空间。
图7图示级联输入位流1和2到输出位流中的另一实例。这里,接合点恰好在第一位流中携带加密值的帧之前,且恰好在第二位流中携带加密值的帧之后。如果一个将取得来自第一和第二位流的加密值的位置,将在级联位流中导致加密值的大的间隙。在级联位流中该部分中的加密值之间的距离可能超过解码器接受的最大值Nmax而不指示位流中信赖的损失。这样,优选地在接合点插入附加的加密值,例如插入在第二位流的第一帧中,以使得该组中帧的数目不超过Nmax。再次,取决于比特率约束,可能需要重新编码该帧以产生用于将附加的加密值插入到位流中的空间。注意,在这种情况下的加密值可以从接合点之后的位流1的第一帧复制,因为级联位流中的附加加密值涉及位流1的相同的6个帧。但是,其中包括附加加密值的帧的数据内容属于位流2(精确地,其对应于接合点之后的位流2的第一帧)。
本文档描述了允许将标识符或者加密值引入数据流中的方法和系统。该标识符可以用于认证和验证数据流。此外,该标识符可以用于保证对于要回放或者处理的数据流的解码器的正确配置设置。具体来说,该方法和系统将附加数据,即标识符添加到HE AAC位流,认证该位流来源于合法编码器或者发射机。这可以向接收器指示HEAAC位流符合特定的规范和/或特定的质量标准。该标识符优选地从HMAC-MD5计算获得。
该方法和系统可以用于多媒体文件和多媒体流的认证,且它们还可以检测几个保护流的级联而通常不中断认证。这意味着不是检查整个流的一致性而是检查一组连续帧。这支持典型的广播方案,即所谓的“接合”,其中装置在不同位流编码器之间频繁地切换以创建实际输出流。此外,该方法和系统可以用于保护带内和带外信息,其中,带内信息典型地包括媒体数据和相关的元数据,且其中带外数据典型地包括配置数据。因此该方法和系统允许控制和/或检测多媒体流的正确播放和/或解码。
本文档中描述的该方法和系统可以实现为软件、固件和/或硬件。特定组件例如可以实现为在数字信号处理器或者微处理器上运行的软件。其它组件例如可以实现为硬件和或实现为专用集成电路。在描述的方法和系统中遇到的信号可以存储在比如随机存取存储器或者光存储介质之类的介质上。它们可以经由网络,比如无线电网络、卫星网络、无线网络或者有线网络,例如因特网传送。利用本文档中描述的方法和系统的典型装置是机顶盒或解码音频信号的其他客户屋内设备。在编码侧上,该方法和系统可以用于广播站,例如用于视频和音频头端系统中。

Claims (40)

1.一种用于编码包括多个数据帧的数据流的方法,该方法包括:
使用加密散列函数产生配置信息和数目N个连续数据帧的加密值;其中N大于1,其中,该配置信息包括用于呈现所述数据流的信息;
将所述加密值插入所述数据流中在所述N个连续数据帧之后的帧中;和
使用加密散列函数的开始状态迭代地产生所述N个连续数据帧中的每一个的中间加密值;其中,用于产生所述N个连续数据帧中的一帧的中间加密值的加密散列函数的开始状态是所述N个连续数据帧中的前一帧的中间加密值;其中,用于产生所述N个连续数据帧中的第一帧的中间加密值的加密散列函数的开始状态是配置信息的中间加密值;
其中,被插入所述数据流中在所述N个连续数据帧之后的帧的加密值是第N帧的中间加密值;并且其中,第一到第(N-1)帧的中间加密值没有插入所述数据流。
2.如权利要求1的方法,其中,该方法进一步包括:
将数目N个连续数据帧分组以形成第一消息;和
将第一消息与配置信息分组在一起以形成第二消息;
其中,该加密值是第二消息产生的。
3.如权利要求1或2的方法,其中,作为数据流元素<DSE>插入所述加密值;并且其中所述数据流元素<DSE>是所述数据流的帧的语法元素,并且其中所述数据流是MPEG4-AAC或者MPEG2-AAC流。
4.如权利要求1或2的方法,其中,帧的数目N大于一。
5.如权利要求1或2的方法,其中,所述数据帧是视频和/或音频帧。
6.如权利要求1或2的方法,其中,所述数据帧是AAC或者HE-AAC帧。
7.如权利要求1或2的方法,其中,该配置信息包括以下的至少其中之一:
采样率的指示;
音频编码系统的信道配置的指示;
数据帧中样本数目的指示。
8.如权利要求1或2的方法,其中,使用密钥值产生加密值。
9.如权利要求8的方法,其中,产生加密值的步骤包括
计算配置信息和数目N个连续数据帧的HMAC-MD5值。
10.如权利要求9的方法,其中,产生加密值的步骤包括
截取HMAC-MD5值以产生所述加密值。
11.如权利要求10的方法,其中,HMAC-MD5值被截取到16、24、32、48、64、80、96或者112位。
12.如权利要求1或2的方法,其中,N个连续数据帧的加密值被插入下一数据帧中。
13.如权利要求1或2的方法,进一步包括
在N个连续数据帧之后插入同步指示,其中,该同步指示指示已经插入了加密值。
14.如权利要求1或2的方法,其中,在<TERM>元素之前在帧的末端插入数据流元素<DSE>。
15.如权利要求1或2的方法,其中,数据流元素<DSE>的内容对准数据流的字节边界。
16.如权利要求1或2的方法,其中,对于N个连续数据帧的多个块重复用于产生和插入加密值的步骤。
17.如权利要求16的方法,其中,关于包括N个连续数据帧的前一块的加密值的N个连续数据帧的块产生该N个连续数据帧的块的加密值。
18.如权利要求1或2的方法,包括
选择N以使得N个连续数据帧在以适当的配置回放时覆盖尽可能地接近相应信号的预定持续时间。
19.如权利要求18的方法,包括
选择N以使得不超过预定持续时间。
20.如权利要求18的方法,其中,该预定持续时间是0.5秒。
21.如权利要求5的方法,进一步包括
与数据流的视频和/或音频编码器交互作用。
22.如权利要求21的方法,其中,与数据流的视频和/或音频编码器交互作用包括
设置视频和/或音频编码器的最大比特率,以使得包括加密值的数据流的比特率不超过预定值。
23.一种用于在解码器处验证数据流的方法,该数据流包括多个数据帧和与数目N个先前连续数据帧相关的加密值,其中N大于1,该方法包括:
使用加密散列函数产生配置信息和数目N个连续数据帧的第二加密值;其中,该配置信息包括用于呈现所述数据流的信息;
从所述数据流的帧提取加密值;
比较加密值与第二加密值;和
使用加密散列函数的开始状态迭代地产生所述N个连续数据帧中的每一个的中间第二加密值;其中,用于产生所述N个连续数据帧中的一帧的中间第二加密值的加密散列函数的开始状态是所述N个连续数据帧中的前一帧的中间第二加密值;其中,用于产生所述N个连续数据帧中的第一帧的中间第二加密值的加密散列函数的开始状态是配置信息的中间第二加密值,
其中,第二加密值是第N帧的中间第二加密值。
24.如权利要求23的方法,其中所述数据流是MPEG4-AAC或者MPEG2-AAC流;其中从数据流元素<DSE>提取所述加密值;并且其中所述数据流元素<DSE>是所述数据流的帧的语法元素。
25.如权利要求23或24的方法,进一步包括:
提取所述数目N个连续数据帧以形成第一消息;
将第一消息与配置信息分组在一起以形成第二消息;
其中,该第二加密值是第二消息产生的。
26.如权利要求23或24的方法,
其中,该数据流包括多个N个连续数据帧和相关联的加密值,且其中,该方法进一步包括步骤:
确定数目N作为在两个相继加密值之间的帧的数目。
27.如权利要求23或24的方法,其中,所述加密值是根据与用于产生第二加密值的方法对应的方法,已经在相应的编码器处从N个连续数据帧和配置信息产生了的。
28.如权利要求27的方法,其中,
使用唯一的密钥值和唯一的加密散列函数产生加密值和第二加密值。
29.如权利要求23或24的方法,进一步包括:
如果加密值对应于第二加密值,则设置标志;和
如果设置了标志,则提供视觉指示。
30.如权利要求23或24的方法,进一步包括:
如果加密值不对应于第二加密值,或者如果不能从数据流提取到加密值,则清除标志。
31.一种可操作以编码包括多个数据帧的数据流的编码器,该编码器包括可操作以执行下列步骤的处理器:
使用加密散列函数产生配置信息和数目N个连续数据帧的加密值;其中,N大于1,其中,该配置信息包括用于呈现所述数据流的信息;
将所述加密值插入所述数据流中在该N个连续数据帧之后的帧中;和
使用加密散列函数的开始状态迭代地产生N个连续数据帧中的每一个的中间加密值;其中,用于产生所述N个连续数据帧中的一帧的中间加密值的加密散列函数的开始状态是所述N个连续数据帧中的前一帧的中间加密值;其中,用于产生所述N个连续数据帧中的第一帧的中间加密值的加密散列函数的开始状态是配置信息的中间加密值;
其中,被插入所述数据流中在所述N个连续数据帧之后的帧的加密值是第N帧的中间加密值;并且其中,第一到第(N-1)帧的中间加密值没有插入所述数据流。
32.一种可操作以验证包括多个数据帧和与数目N个先前连续数据帧相关的加密值的数据流的解码器,其中,N大于1,该解码器包括可操作以执行下列步骤的处理器:
使用加密散列函数产生配置信息和数目N个连续数据帧的第二加密值;其中,该配置信息包括用于呈现数据流的信息;
从所述数据流的帧提取加密值;
比较加密值与第二加密值;和
使用加密散列函数的开始状态迭代地产生N个连续数据帧中的每一个的中间第二加密值;其中,用于产生所述N个连续数据帧中的一帧的中间第二加密值的加密散列函数的开始状态是所述N个连续数据帧中的前一帧的中间第二加密值;其中,用于产生所述N个连续数据帧中的第一帧的中间第二加密值的加密散列函数的开始状态是配置信息的中间第二加密值;
其中,第二加密值是第N帧的中间第二加密值。
33.一种用于解码包括音频信号的接收数据流的机顶盒;该机顶盒包括如权利要求32的用于验证接收数据流的解码器。
34.一种用于解码包括音频信号的接收数据流的便携式电子设备;该便携式电子设备包括如权利要求32的用于验证接收数据流的解码器。
35.一种用于解码包括音频信号的接收数据流的计算机;该计算机包括如权利要求32的用于验证接收数据流的解码器。
36.一种用于发送包括音频信号的数据流的广播系统;该广播系统包括如权利要求31的编码器。
37.一种用于级联第一和第二位流的方法,每个位流包括多个数据帧和与给定数目的数据帧相关的加密值,该方法包括
从第一和第二位流产生级联的位流,其中,该级联的位流包括来自第一和第二位流的多个数据帧的至少一部分,并包括根据如权利要求1到30中任一项的方法产生和插入的加密值。
38.一种可操作以级联第一和第二位流的接合器,每个位流包括多个数据帧和与给定数目的数据帧相关的加密值,该接合器包括
如权利要求31的用于编码第一位流的最后若干帧和第二位流的前若干帧的编码器。
39.如权利要求38的接合器,进一步包括
转发单元,用于转发不被解码和编码的第一和第二位流的帧和关联的加密值。
40.如权利要求38或者39的接合器,进一步包括:
如权利要求32的用于解码第一位流的最后若干帧、第二位流的前若干帧和关联的加密值以确定第一和第二位流的信赖状态的解码器;和
控制单元,其使得所述编码器能够仅当认证了相应的第一或者第二位流时才将加密值插入位流的一部分中。
CN201080034623.0A 2009-08-07 2010-08-06 数据流的认证 Active CN102576559B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23229509P 2009-08-07 2009-08-07
US61/232,295 2009-08-07
PCT/EP2010/004827 WO2011015369A1 (en) 2009-08-07 2010-08-06 Authentication of data streams

Publications (2)

Publication Number Publication Date
CN102576559A CN102576559A (zh) 2012-07-11
CN102576559B true CN102576559B (zh) 2015-09-09

Family

ID=43014283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080034623.0A Active CN102576559B (zh) 2009-08-07 2010-08-06 数据流的认证

Country Status (18)

Country Link
US (1) US8885818B2 (zh)
EP (1) EP2462587B1 (zh)
JP (1) JP5542205B2 (zh)
KR (1) KR101489364B1 (zh)
CN (1) CN102576559B (zh)
AR (1) AR077680A1 (zh)
AU (1) AU2010280971B2 (zh)
BR (1) BR112012002831B1 (zh)
CA (1) CA2768327C (zh)
HK (1) HK1168461A1 (zh)
IL (1) IL217469A (zh)
MX (1) MX2012001558A (zh)
MY (1) MY152679A (zh)
RU (1) RU2509424C2 (zh)
SG (1) SG177605A1 (zh)
TW (1) TWI501580B (zh)
UA (1) UA104483C2 (zh)
WO (1) WO2011015369A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI538394B (zh) 2009-04-10 2016-06-11 杜比實驗室特許公司 利用順逆向濾波方式獲取所欲非零相移之技術
TWI413110B (zh) 2009-10-06 2013-10-21 Dolby Int Ab 以選擇性通道解碼的有效多通道信號處理
WO2011048010A1 (en) 2009-10-19 2011-04-28 Dolby International Ab Metadata time marking information for indicating a section of an audio object
US9210456B1 (en) * 2012-03-07 2015-12-08 The Directv Group, Inc. Method and system for detecting unauthorized use of a user device using receiver identification in a network
US9813705B2 (en) * 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
WO2014050597A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置
ES2629195T3 (es) * 2013-01-21 2017-08-07 Dolby Laboratories Licensing Corporation Codificación y descodificación de una secuencia de bits según un nivel de confianza
KR101428770B1 (ko) * 2013-05-29 2014-08-08 한국전자통신연구원 해시 알고리즘에서의 압축 연산을 수행하기 위한 장치 및 방법
KR101516573B1 (ko) * 2013-07-26 2015-05-04 한국전자통신연구원 해시 알고리즘에서의 압축 연산을 수행하기 위한 장치 및 방법
US10263783B2 (en) * 2013-08-23 2019-04-16 Nec Corporation Method and system for authenticating a data stream
FR3015167A1 (fr) * 2013-12-13 2015-06-19 Orange Systeme de transport de donnees radio multipoint a multipoint
WO2016049895A1 (zh) * 2014-09-30 2016-04-07 华为技术有限公司 配置的方法、配置的装置及设备
JP2016122917A (ja) * 2014-12-24 2016-07-07 パナソニックIpマネジメント株式会社 署名生成装置、署名検証装置、署名生成方法及び署名検証方法
CN107531676A (zh) 2015-04-13 2018-01-02 拜耳作物科学股份公司 N‑环烷基‑n‑(双杂环基亚乙基)‑(硫代)羧酰胺衍生物
EP3288025A4 (en) * 2015-04-24 2018-11-07 Sony Corporation Transmission device, transmission method, reception device, and reception method
EP3402301B1 (en) * 2015-05-19 2019-07-10 Telefonaktiebolaget LM Ericsson (publ) Methods, wireless communication device and radio network node for managing contention resolution
JP2017009663A (ja) * 2015-06-17 2017-01-12 ソニー株式会社 録音装置、録音システム、および、録音方法
CN106610995B (zh) * 2015-10-23 2020-07-07 华为技术有限公司 一种创建密文索引的方法、装置及系统
TWI589153B (zh) * 2015-12-29 2017-06-21 晨星半導體股份有限公司 資料流的同步偵測方法
CN107040793A (zh) * 2016-02-04 2017-08-11 晨星半导体股份有限公司 数据流的同步检测方法
DE102016207642A1 (de) * 2016-05-03 2017-11-09 Siemens Aktiengesellschaft Verfahren und Vorrichtungen zum Authentisieren eines Datenstroms
PL3568853T3 (pl) 2017-01-10 2021-06-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dekoder audio, enkoder audio, sposób dostarczania dekodowanego sygnału audio, sposób dostarczania enkodowanego sygnału audio, strumień audio, moduł dostarczania strumienia audio i program komputerowy używający identyfikator strumienia
US9870508B1 (en) * 2017-06-01 2018-01-16 Unveiled Labs, Inc. Securely authenticating a recording file from initial collection through post-production and distribution
KR102275868B1 (ko) * 2017-11-07 2021-07-12 한국전자기술연구원 비디오 데이터의 위/변조 방지 장치 및 방법
US10956246B1 (en) * 2018-07-16 2021-03-23 Amazon Technologies, Inc. Isolated read channel management interfaces at streaming data service
JP7113589B2 (ja) * 2018-07-17 2022-08-05 株式会社デンソー 情報仲介装置、情報提供装置、及び情報取得装置
US11343108B2 (en) * 2019-06-12 2022-05-24 Arizona Board Of Regents On Behalf Of Northern Arizona University Generation of composite private keys
BR112021025587A2 (pt) * 2019-07-17 2022-02-01 Dolby Int Ab Gerenciamento de latência para entrega de conteúdo
US11431512B2 (en) 2019-10-16 2022-08-30 Microsoft Technology Licensing, Llc Cryptographic validation of media integrity
JP2023500632A (ja) * 2019-10-30 2023-01-10 ドルビー ラボラトリーズ ライセンシング コーポレイション 没入的音声およびオーディオ・サービスにおけるビットレート配分
US11838267B2 (en) * 2020-07-16 2023-12-05 Twistlock, Ltd. Distributed identity-based firewall policy evaluation

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463424A (en) 1993-08-03 1995-10-31 Dolby Laboratories Licensing Corporation Multi-channel transmitter/receiver system providing matrix-decoding compatible signals
ATE237197T1 (de) 1993-11-18 2003-04-15 Digimarc Corp Identifikations/beglaubigungskodierungsverfahre und -vorrichtung
US5646997A (en) 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
US5915027A (en) 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
US6009176A (en) 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US7197156B1 (en) 1998-09-25 2007-03-27 Digimarc Corporation Method and apparatus for embedding auxiliary information within original data
US6904089B1 (en) * 1998-12-28 2005-06-07 Matsushita Electric Industrial Co., Ltd. Encoding device and decoding device
WO2000054453A1 (en) 1999-03-10 2000-09-14 Digimarc Corporation Signal processing methods, devices, and applications for digital rights management
US6785815B1 (en) 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
GB9929364D0 (en) * 1999-12-10 2000-02-02 Microbar Security Limited Improvements in or relating to coding techniques
US7058815B2 (en) 2001-01-22 2006-06-06 Cisco Technology, Inc. Method and system for digitally signing MPEG streams
US6996717B2 (en) * 2001-05-24 2006-02-07 Matsushita Electric Industrial Co., Ltd. Semi-fragile watermarking system for MPEG video authentication
WO2003024020A1 (en) 2001-09-10 2003-03-20 Entriq Limited Bvi Method and computer system to perform on the fly fingerprinting for media content
RU2308077C2 (ru) 2001-12-04 2007-10-10 Майкрософт Корпорейшн Способы и системы для криптографической защиты охраняемого содержимого
GB2392337B (en) 2002-07-19 2005-12-07 Matsushita Electric Ind Co Ltd Digital watermarking apparatus and application apparatus using the same
US7360093B2 (en) * 2002-07-22 2008-04-15 Xerox Corporation System and method for authentication of JPEG image data
US20040243820A1 (en) * 2003-05-14 2004-12-02 Kenichi Noridomi Information-embedding apparatus and method, tampering-detecting apparatus and method, and recording medium
JP2004364263A (ja) * 2003-05-14 2004-12-24 Matsushita Electric Ind Co Ltd 情報埋め込み装置、改ざん検出装置及びそれらの方法並びに記録媒体
GB0317571D0 (en) * 2003-07-26 2003-08-27 Koninkl Philips Electronics Nv Content identification for broadcast media
US7417989B1 (en) 2003-07-29 2008-08-26 Sprint Spectrum L.P. Method and system for actually identifying a media source in a real-time-protocol stream
US20060136728A1 (en) 2003-08-15 2006-06-22 Gentry Craig B Method and apparatus for authentication of data streams with adaptively controlled losses
GB0403331D0 (en) 2004-02-14 2004-03-17 Koninkl Philips Electronics Nv Watermark detection
US8539608B1 (en) * 2004-03-25 2013-09-17 Verizon Corporate Services Group Inc. Integrity checking at high data rates
JP2005318068A (ja) * 2004-04-27 2005-11-10 Kddi Corp コンテンツ認証データの電子透かし埋め込み方式および認証方式
JP4499631B2 (ja) 2005-08-31 2010-07-07 株式会社日立国際電気 画像受信装置及びプログラム
US7752449B1 (en) * 2006-02-22 2010-07-06 Avaya, Inc. System and method for generating a non-repudiatable record of a data stream
US20080005558A1 (en) 2006-06-29 2008-01-03 Battelle Memorial Institute Methods and apparatuses for authentication and validation of computer-processable communications
KR100781528B1 (ko) * 2006-06-29 2007-12-03 삼성전자주식회사 무결성을 보장하는 비디오 스트림을 제공하는 장치 및 그방법
US20080010466A1 (en) * 2006-07-10 2008-01-10 William Hopper Digital identifier chaining
WO2008046492A1 (en) 2006-10-20 2008-04-24 Dolby Sweden Ab Apparatus and method for encoding an information signal
US7930554B2 (en) * 2007-05-31 2011-04-19 Vasco Data Security,Inc. Remote authentication and transaction signatures
JP5101964B2 (ja) 2007-09-25 2012-12-19 京セラ株式会社 受信装置
CN101855635B (zh) 2007-10-05 2013-02-27 杜比实验室特许公司 可靠地与媒体内容对应的媒体指纹
JP2009093506A (ja) 2007-10-11 2009-04-30 Sony Corp 信号処理装置、信号処理方法および信号処理プログラム
JP4584300B2 (ja) 2007-12-19 2010-11-17 富士通株式会社 電子署名プログラム、コンピュータにより読み取り可能な記録媒体、電子署名装置、電子署名方法
US8798776B2 (en) 2008-09-30 2014-08-05 Dolby International Ab Transcoding of audio metadata
BRPI0919880B1 (pt) 2008-10-29 2020-03-03 Dolby International Ab Método e aparelho para prover proteção contra o ceifamento de sinal de um sinal de áudio derivado de dados de áudio digital e transcodificador
TWI538394B (zh) 2009-04-10 2016-06-11 杜比實驗室特許公司 利用順逆向濾波方式獲取所欲非零相移之技術
CN103854651B (zh) 2009-12-16 2017-04-12 杜比国际公司 Sbr比特流参数缩混
TWI529703B (zh) 2010-02-11 2016-04-11 杜比實驗室特許公司 用以非破壞地正常化可攜式裝置中音訊訊號響度之系統及方法
TWI525987B (zh) 2010-03-10 2016-03-11 杜比實驗室特許公司 在單一播放模式中組合響度量測的系統

Also Published As

Publication number Publication date
TW201134135A (en) 2011-10-01
KR101489364B1 (ko) 2015-02-03
IL217469A0 (en) 2012-03-01
AU2010280971B2 (en) 2013-02-14
UA104483C2 (uk) 2014-02-10
KR20120050446A (ko) 2012-05-18
MY152679A (en) 2014-10-31
IL217469A (en) 2015-02-26
CN102576559A (zh) 2012-07-11
WO2011015369A8 (en) 2012-03-01
AR077680A1 (es) 2011-09-14
JP2013500655A (ja) 2013-01-07
CA2768327C (en) 2015-10-27
WO2011015369A1 (en) 2011-02-10
MX2012001558A (es) 2012-04-10
AU2010280971A1 (en) 2012-02-09
US20120128151A1 (en) 2012-05-24
HK1168461A1 (zh) 2012-12-28
RU2509424C2 (ru) 2014-03-10
CA2768327A1 (en) 2011-02-10
JP5542205B2 (ja) 2014-07-09
TWI501580B (zh) 2015-09-21
SG177605A1 (en) 2012-02-28
BR112012002831A2 (pt) 2021-01-26
EP2462587A1 (en) 2012-06-13
BR112012002831B1 (pt) 2021-08-31
RU2012107995A (ru) 2013-09-20
EP2462587B1 (en) 2016-07-06
US8885818B2 (en) 2014-11-11

Similar Documents

Publication Publication Date Title
CN102576559B (zh) 数据流的认证
US11075762B2 (en) Metadata transcoding
JP7012786B2 (ja) 複数のメディア処理ノードによる適応処理

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant