TWI501580B - 資料串流的鑑別 - Google Patents

資料串流的鑑別 Download PDF

Info

Publication number
TWI501580B
TWI501580B TW099125613A TW99125613A TWI501580B TW I501580 B TWI501580 B TW I501580B TW 099125613 A TW099125613 A TW 099125613A TW 99125613 A TW99125613 A TW 99125613A TW I501580 B TWI501580 B TW I501580B
Authority
TW
Taiwan
Prior art keywords
value
password value
data
data stream
stream
Prior art date
Application number
TW099125613A
Other languages
English (en)
Other versions
TW201134135A (en
Inventor
Reinhold Boehm
Alexander Groeschel
Holger Hoerich
Daniel Homm
Wolfgang A Schildbach
Michael Schug
Oliver Watzke
Martin Wolters
Thomas Ziegler
Original Assignee
Dolby Int 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 Int Ab filed Critical Dolby Int Ab
Publication of TW201134135A publication Critical patent/TW201134135A/zh
Application granted granted Critical
Publication of TWI501580B publication Critical patent/TWI501580B/zh

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

Description

資料串流的鑑別
本發明係有關資料流的鑑別及驗證之技術。具體而言,本發明係有關將識別碼插入諸如杜比脈波(Dolby Pulse)、先進音訊編碼(AAC)、或高效率先進音訊編碼(HEAAC)位元流等的資料流以及根據該識別碼而鑑別及驗證該資料流。
由於數位電視及無線電系統的愈來愈普及,所以愈來愈頻繁地廣播其中包含諸如視訊資料及/或音訊資料之資料流。除了實際的視訊及/或音訊內容之外,這些資料流進一步包含可諸如讓接收器端控制節目響度及動態範圍且控制立體聲縮混(stereo downmix)及其他功能之中介資料(metadata)。
在典型的網路情況中,係在廣播頭端系統上將視訊框及/或音訊框以及其相關聯的中介資料編碼。為了達到此一目的,可使用諸如Dolby E、Dolby Digital、AAC、HE AAC、數位劇院系統(DTS)、或Dolby Pulse等的各種編碼方案。這些編碼方案中之尤其是Dolby Pulse、AAC及HE AAC某些編碼方案特別適用於經由諸如無線電(例如,調頻頻帶、數位視訊廣播地面電波發送(DVB/T)、ATSC)、雙絞銅線(DSL)、同軸纜線(例如,有線電視(CATV))、或光纖等的各種傳輸媒體之傳輸。諸如電視機、無線電接收機、個人電腦、或機上盒等的接收器具有一適當的解碼器,且提供被解碼的媒體流。此外,該接收器通常提供經由便隨視訊及/或音訊資料的中介資料而指示之一些控制功能。
針對MPEG-4 AAC之ISO/IEC 14496-3(2005)" Information technology-Coding of audio-visual objects-Part3: Audio"以及針對MPEG-2 AAC之ISO/IEC 13818-7(2003)"Generic Coding of Moving Pictures and Associated Audio information-Part 7: Advanced Audio Coding(AAC)"中指定了編碼/解碼方案之例子,本發明特此引用該等文件以供參照。
已知有用於鑑別及/或識別之數種技術。某些技術依賴將鑑別及/或識別資料嵌入被編碼的多媒體資料內。這些技術也被稱為浮水印(watermarking),且尤其係針對著作權保護而設計這些技術。用於鑑別及/或識別之進一步技術是數位簽章(digital signature),其中連同諸如電子郵件等的資料檔案而提供獨立的鑑別資料,且在解碼器上將該鑑別資料用於鑑別及識別。
為了讓資料流的接收器能夠識別該等資料流的編碼器,最好是連同資料流而提供鑑別裝置。此種方式對驗證資料流的完整性可能也是有利的。此外,此種方式對保證接收器在與將被重播或處理的資料流有關之正確組態設定可能也是有利的。此外,此種方式對可針對已被正確鑑別及/或驗證的資料流而實施加值服務或特殊控制功能可能也是有利的。本專利文件設法解決了上述這些及其他的問題。
本發明提出的方法及系統利用以資料流內的中介資料之方式提供的識別碼。這些資料流最好是經由有線或無線傳輸媒體而傳輸之資料流,但是亦可在諸如光碟、數位多功能光碟、或快閃記憶體上提供該等資料流。該識別碼可讓接收端上的一解碼器能夠驗證騎所接收的資料流是否來自一可信賴的編碼器(亦即,傳輸及/或編碼端上的一合法編碼器。如果一解碼器與不同類型的編碼器相容,則此種驗證尤其是有利的。舉例而言,一Dolby Pulse解碼器可與一HE-AAC第2版編碼器相容。在此種情形中,最好是只有在流量(亦即,資料流)來自一適當的Dolby Pulse編碼器時,才讓一Dolby Pulse解碼器能夠提供某些額外的非標準或非強制性功能。藉由使用此種識別碼,一Dolby Pulse解碼器將能夠區分適當的Dolby Pulse編碼器產生的資料流或位元流、以及符合HE-AAC第2版的任何任意之編碼器產生的資料流或位元流。因此,可保證只有在資料流來自一可信賴的編碼器時才考慮該解碼器的額外功能(例如,動態中介資料的使用)。在此種方式下,可保證額外功能的正確運作。
該識別碼之另外的效益在於:該識別碼使一解碼器能夠驗證已以一正確的方式接收了一位元流且該位元流在傳輸期間並未被修改或篡改。換言之,該識別碼使該解碼器能夠驗證被接收的位元流之完整性。
此外,可將該識別碼用來保證該解碼器被設定為正確的處理(例如,播放)、組態,以便適當地呈現媒體/多媒體信號。舉例而言,可將該組態設定導引在用來播放該媒體信號的抽樣頻率。亦可將該組態設定導引在被用來播放的諸如2聲道立體聲、不同的環繞聲設定等的聲道組態。在被用於特定編碼方案的AAC之情形中,可將一進一步的組態設定方面導引到諸如1024樣本框或960樣本框等的框長度。
除了編碼器識別及鑑別用途之外,該識別碼亦可被用來驗證資料流的酬載之真實性。為了達到此一目的,該識別碼應不可被輕易地偽造,且對被保護的區段之操縱應是可識別的。此外,解碼器最好是可在較短的時間間隔內識別一位元流的真實性。於串流時,解碼器或解碼裝置能夠識別出一真實位元流之最長時間最好是不超過1秒。此外,應壓低在解碼器中因驗證該識別碼所引進的複雜性,亦即,解碼器複雜性的增加應是可忽略的。最後,應壓低該識別碼所引進的標頭傳輸(transmission overhead)。
根據一實施例,可利用根據下文所述的方法得到的密碼值或識別碼,而實現上述的效益。可在編碼器上將一單向函數施加到一組的一或多個資料框,而決定該識別碼。一框通常包含與一音訊流及/或一視訊流的某一區段(例如,包含媒體流的某一數目的樣本之一區段)相關聯之資料。舉例而言,一音訊流的一框可包含1024個樣本的音訊資料、及對應的中介資料。
如前文所述,為了決定一識別碼,將某一數目的框聚集成一組。編碼器可選擇每一組中之框的數目,且解碼器通常事先無須知道該數目。該單向函數最好是HMAC-MD5(雜湊訊息鑑別碼)密碼雜湊函數(hash function),但是亦可將諸如SHA-1等的其他雜湊函數用來取代MD5。用來選擇一適當的密碼雜湊函數之一可能準則可以是該函數的大小,且應減小該函數的大小,以便減少必須的標頭傳輸。通常以一密碼雜湊函數的位元數判定該密碼雜湊函數的大小。
一旦使用諸如該HMAC-MD5程序計算出一組框的識別碼之後,可使該識別碼與次一組框中之一框相關聯,例如,將該識別碼插入次一組框中之一框。舉例而言,可將該識別碼寫到該框的一資料欄位或一語法單元(syntactic element)。最好是將該識別碼插入次一組框中之第一框。因而可以一遍操作(one-pass operation)之方式計算該識別碼,而不會將額外的延遲導入該編碼器/解碼器,因而對即時媒體傳輸是特別有利的。包含該識別碼之資料流然後可被傳輸到對應的接收器/解碼器。
在一接收器上,該被插入的識別碼可被用於編碼器識別、鑑別、驗證、及/或組態設定之用途。該接收器通常包含一解碼器,而該解碼器可被同步到一組框,亦即,該解碼器可決定包含一識別碼的一些框。根據包含一識別碼的兩個後繼框間之距離,可決定被用來計算該識別碼的每一組框之框數目。換言之,此種方式可讓該解碼器在沒有來自對應的編碼器的通知之情形下決定該組框之長度。
該解碼器可計算被接收的一組框之識別碼。可將根據被接收的該組框而計算出之該等識別碼稱為驗證識別碼。如果假定該等識別碼被插入一後繼組的框中之第一框,則每一組框將以包含前一組的框的一識別碼之一第一框作為開始,且將以在包含目前組的框的一識別碼的次一框之前的框作為結束。可根據前文中概述之方法計算目前組的框之一驗證識別碼。
在一進一步的步驟中,該解碼器可自後繼組的框之各別框萃取該編碼器傳輸的識別碼。如前文所述,如果在該編碼器上將該識別碼插入一後繼組的框中之第一框,則該接收器也自該第一框萃取該識別碼。可將已自該資料流擷取的該識別碼與該驗證識別碼(亦即,該解碼器根據被接收的資料流計算出之識別碼)比較。如果這兩個識別碼匹配,則該解碼器通常認定:傳輸期間並未發生任何錯誤,完整地接收了該組框,該組框於傳輸期間並未被修改,且該組框是來自一可信賴的及/或合法的編碼器。此外,如果這兩個識別碼匹配,則該解碼器可選擇啟用一或多個特定編碼解碼功能或改善,而將任意的位元流解碼時,該一或多個特定編碼解碼功能或改善將不會被啟用。舉例而言,如果該解碼器識別一特定Dolby Pulse位元流,則可啟用一些額外的服務,而以標準HE-AAC第2版編碼的位元流將無法使用這些額外的服務。然而,在不使用該等額外的服務之情形下,該解碼器仍然能夠將以標準HE-AAC第2版編碼的位元流解碼。
又請注意,可啟用該識別碼而保證在該解碼器上設定了用來將媒體流正確地解碼及/或播放的適當之組態。在這些情形中,匹配的驗證識別碼及被傳輸的識別碼將指示該解碼器使用了正確的組態設定。
另一方面,如果該等識別碼(亦即,該驗證識別碼及該被傳輸的識別碼)不匹配,則該解碼器將知道:在傳輸期間發生了錯誤,並未完整地接收了該組框,該組框於傳輸期間被修改,或該組框不是來自可信賴的編碼器。在這些情形中,可完全停用該解碼器,或者可停用一些特定的功能或改善。
請注意,該識別碼亦可被用來將設定了錯誤的組態設定值之訊息通知該解碼器。在這些情形中,縱然完整地接收了該組框且該組框是來自可信賴的編碼器,該驗證識別碼與該被傳輸的識別碼間之不匹配可能是由於該解碼器使用了錯誤的組態設定。在這些情形中,可考慮讓該解碼器操作而修改其組態設定,且在驗證識別碼與被傳輸的識別碼匹配之前,讓該解碼器決定對應的驗證識別碼。此種方式使該解碼器能夠針對被接收的位元流之需要而設定其組態。
在下文中,將說明本發明提出的方法之不同觀點。根據一第一觀點,將說明一種將包含複數個資料框的資料流編碼之方法。該等資料流可以是音訊、視訊、及/或其他媒體及多媒體流。該等資料流尤其可以是Dolby Pulse、AAC、或HE-AAC資料流。通常以包含某一數目的資料樣本且涵蓋資料流的某一區段之資料框組織該等資料流。舉例而言,一框可包含在44.1千赫的抽樣率下被抽樣的一音頻信號之1024個樣本,亦即,該框涵蓋了大約23毫秒的一區段。請注意,可在固定或可變的位元率下將該等樣本編碼,且可改變一框內之實際的位元數。
該方法可包含下列步驟:聚集N個連續資料框,以便形成一第一訊息。通常以與資料速率負擔考慮有關之方式選擇連續資料框的數目N。負擔通常隨著數目N的增加而減少。N最好是大於一。N的典型值是大約20。在一較佳實施例中,可以下列方式選擇N:當在具有適當的解碼器組態之一對應的解碼器上播放時,該N個連續框將涵蓋0.5秒之一對應的信號。請注意,該聚集步驟可包含下列步驟:以自然(亦即,串流)順序序連該等N個連續框。
在一進一步的步驟中,可將該第一訊息與該組態資訊組合,以便形成一第二訊息。該組態資訊包含該資料流外部的資訊,且通常與該資料流有關,尤其包含用來在一接收器端呈現該資料流之資訊。該組態資訊可包含應被用來處理資料流的與各別接收器及/或解碼器的設定有關之資訊。因為該組態資訊通常不被傳輸或被包含到資料流,所以亦可將組態資訊稱為帶外(out-of-band)資料。該組態資訊與亦可被稱為帶內(in-band)資料的資料流是對立的。
可以各種方式將該組態資訊與該第一訊息組合。將該該組態資訊與該第一訊息序連,亦即,可將該組態資訊置於該第一訊息的開始處及/或結尾處。亦可將該組態資訊置於該第一訊息內之某些位置,例如,置於某些或所有連續框之間。
組態資訊的典型例子包含被用來對下層類比媒體流抽樣的抽樣率之指示。組態資訊亦可包含對音訊編碼系統之諸如單聲道、雙聲道立體聲、或5.1環繞音聲道組態等的聲道組態之指示。組態資訊亦可包含對諸如每一資料框有960、1024、或2048個樣本等的一資料框中之樣本數之指示。
該方法進一步包含下列步驟:產生該第一訊息及/或第二訊息之密碼值。該密碼值亦可被稱為識別碼。可使用一金鑰值及一密碼雜湊函數而產生該密碼值。尤其可計算該第一及/或第二訊息之HMAC-MD5值,而產生該密碼值。此外,該密碼值的產生可包含下列步驟:修剪該HMAC-MD5值,例如,修剪為16、24、32、48、或64位元。此種方式在減少資料流中之密碼值的必要添加信號上可能是有利的。
此外,該方法包含下列步驟:將該密碼值插入該N個連續資料框之後的資料流。最好是將該密碼值插入該N個連續資料框之後的第一框,以便可在一對應的解碼器進行快速的解碼以及編碼器鑑別及驗證。在該N個連續資料框之後也插入一同步指示可能是有利的,其中該同步指示可指示該密碼值已被插入。可將該同步指示置於該密碼值附近,以便可在一對應的解碼器上便利地萃取該密碼值。
在一實施例中,該資料流是一MPEG4-AAC或MPEG2-AAC流,且可將該密碼值插入為一資料流單元<DSE>。可在一<TERM>單元之前的一框之末尾插入該資料流單元<DSE>。此外,最好是可將該資料流單元<DSE>之內容對準該資料流的一位元組邊界,以便簡化在一對應的解碼器上對該資料流單元<DSE>之萃取(且尤其是對該密碼值及/或該同步指示之萃取)。
請注意,最好是可對一組的N個連續框之個別框迭代地執行產生密碼值之該步驟。為了達到此一目的,可使用一開始狀態而為該等N個連續框中之每一框產生一中間密碼值。該開始狀態可以是前一迭代之中間密碼值。舉例而言,可為該第一框產生一中間密碼值。然後可將該中間密碼值用來作為產生第二框的中間密碼值時之開始狀態。重複該程序,直到產生了第N個框的中間密碼值為止。該後一中間密碼值通常代表該組的N個連續框之密碼值。為了考慮到組態資訊,第一迭代之開始狀態可以是該組態資訊之中間密碼值。
在一較佳實施例中,係對包含前一區塊的N個連續資料框的密碼值之一區塊的N個連續資料框產生該N個連續資料框N個連續資料框之密碼值。可藉由執行該步驟,而產生一些被互連的密碼值之流。
根據另一觀點,該方法可包含下列步驟:與該資料流的一視訊及/或音訊編碼器互動。可執行視訊及/或音訊編碼,且以一種整合之方式產生該密碼值,而執行上述步驟。尤其可在設定該視訊及/或音訊編碼器的最大位元率而使包含該密碼值的該資料流之位元率不超過一預定值時,指示該資料流的該視訊及/或音訊編碼器與該密碼值的產生間之互動。如果下層的資料流編碼解碼器設定了一完整資料流的位元率上限,該步驟可能是尤其有利的。
根據一進一步之觀點,說明了一種在一解碼器及/或接收器上驗證資料流之方法。請注意,可將所述之方法及系統應用於被傳輸的資料流以及儲存媒體上提供的資料流之環境。如前文所概述的,資料流通常包含複數個資料框以及與N個先前連續資料框相關聯的一密碼值。請參閱本發明文件所作的考慮,尤其是與N的可能值以及資料流及其框的結構有關之考慮。
該方法包含下列步驟:萃取該等N個連續資料框,以便形成一第一訊息。該方法亦可包含下列步驟:決定該N的值。可在包含複數N個連續資料框及相關聯的密碼值之一資料流中執行該步驟。如果N個連續資料框被稱為一組的框,則該資料流通常包含複數組的框以及與每一此種組的框相關聯之一密碼值。在這些情形中,可將該數目N決定為兩個接續的密碼值間之框數目。
請注意,被用來計算第二密碼值之目前組的框可包含前一組的框之密碼值。或者,在計算該第二密碼值之前,可先目前組的框移除前一組的框之密碼值、以及任何相關聯的同步指示及/或語法單元。為了使改變及不一致不會自一組的框傳播到次一組的框,後一種解決方案可能是較佳的。
該方法可進一步包含下列步驟:將該第一訊息與組態資訊組合,以便形成一第二訊息,其中該組態資訊通常包含資料流外部的諸如用於呈現該資料流之資訊。前文中已概述了與該組態資訊有關的該組合步驟及一些不同的觀點。這些觀點同樣適用於該解碼器上。
該方法繼續執行下列步驟:產生該第一及/或第二訊息之第二密碼值;自該資料流萃取密碼值;以及將該密碼值與該第二密碼值比較。該第二密碼值亦可被稱為驗證密碼值或驗證識別碼。
請注意,如在產生該密碼值的上下文中說明的,可以一種迭代之方式產生該第二密碼值。
在一較佳實施例中,根據對應於用來產生該第二密碼值的方法之一方法,已在一對應的編碼器及/或傳輸器上自該等N個連續資料框及組態資訊產生了該密碼值。換言之,用來在對應的編碼器上產生該密碼值之方法對應於用來在解碼器上產生該第二密碼值之方法。尤其將一唯一的金鑰值及/或一唯一的密碼雜湊函數用來產生該密碼值及該第二密碼值。
此外,被用於在該編碼器上產生該密碼值之該組的N個連續框對應於被用於在該解碼器上產生該第二密碼值之該組的N個連續框。如前文所述,可對包含或不包含前一組的N個連續框的密碼值之該組的N個連續框決定該密碼值及該第二密碼值。可在該編碼器上及該解碼器上應用相同的規則。
縱然被用於該編碼器上及該解碼器上的該組框是相同的,也應注意:諸如由於在框傳輸期間引發的修改,或由於資料流之儲存媒體上的錯誤,該編碼器上及該解碼器上的該等框之內容可能是不同的。
根據一進一步之觀點,該方法可包含下列步驟:如果該密碼值對應於該第二密碼值,則設定一旗標;及/或如果該旗標被設定,則在該接收器及/或解碼器上提供一視覺指示。在類似方式下,如果該密碼值不對應於該第二密碼值,或如果無法自該資料流萃取任何密碼值,則可移除該旗標及/或視覺指示。此種方式對將與資料流的真實性有關之資訊提供給該資料流的解碼器之使用者及觀賞者/聆聽者可能是有利的。
根據另一觀點,說明了一種包含根據本專利文件中概述的方法而產生及插入的密碼值之資料流。
根據另一觀點,說明了一種可操作而將包含複數個資料框的資料流編碼之編碼器。該編碼器可操作而執行本專利文件中概述的方法步驟。該編碼器尤其可包含一處理器,該處理器可操作而執行列步驟:聚集N個連續資料框,以便形成一第一訊息,其中N大於1;將該第一訊息與組態資訊組合,以便形成一第二訊息,其中該組態資訊包含該資料流外部之諸如用來呈現該資料流等的資訊;產生該第二訊息的一密碼值;以及將該密碼值插入該N個連續資料框之後的該資料流。
根據一進一步之觀點,說明了一種可操作而驗證包含複數個資料框以及與N個先前連續資料框相關聯的密碼值之資料流之解碼器,其中N大於1。該解碼器可操作而執行本專利文件中概述的方法步驟。該解碼器尤其可包含一處理器,該處理器可操作而執行下列步驟:萃取該等N個連續資料框,以便形成一第一訊息;將該第一訊息與組態資訊組合,而形成一第二訊息,其中該組態資訊包含用來呈現該資料流的資訊;產生該第二訊息的一第二密碼值;自該資料流萃取密碼值;以及將該密碼值與該第二密碼值比較。
根據一進一步之觀點,說明了一種軟體程式。該軟體程式適於在一處理器上被執行,且該軟體程式在一運算裝置上被執行時,適於執行本專利文件中概述的方法步驟。
根據一進一步之觀點,說明了一種儲存媒體。該儲存媒體包含一軟體程式,該軟體程式適於在一處理器上被執行,且該軟體程式在一運算裝置上被執行時,適於執行本專利文件中概述的方法步驟。
根據一進一步之觀點,說明了一種電腦程式產品。該電腦程式產品包含可執行之指令,該等可執行之指令在一電腦上被執行時,將執行本專利文件中概述的方法步驟。
根據一進一步之觀點,說明了一種用來將被接收的資料流解碼之機上盒、可攜式電子裝置(例如,行動電話、個人數位助理(PDA)、或智慧型手機等的可攜式電子裝置)、或電腦(例如,桌上型電腦或膝上型電腦等的電腦)。該資料流可包含音頻信號。該機上盒最好是包含根據本專利文件中概述的觀點之一解碼器。
根據一進一步之觀點,說明了一種用來傳輸資料流之廣播系統。該資料流可包含音頻信號。該廣播系統最好是包含根據本專利文件中概述的觀點之一編碼器。
根據一進一步之觀點,說明了一種用來序連接帶點上的第一及第二位元流之方法。該等兩位元流中之每一位元流可包含複數個資料框及與一特定數目的資料框相關聯之一密碼值。該第一位元流可包含每N1的連續框之一密碼值,而該第二位元流可包含每N2的連續框之一密碼值。該等數目N1及N2可以是相同的,亦即,該等兩個位元流有相同的密碼重複期間,或者該等數目N1及N2可以是不同的,亦即,在其後包含了位元流中之密碼值的框之數目是不同的。
該序連方法包含下列步驟:自該第一及第二位元流產生一被序連的位元流,其中該被序連的位元流至少包含來自該第一及第二位元流的該複數個資料框中之一部分。換言之,該第二位元流或該第二位元流的一部分係在該接帶點上被連接到該第一位元流或該第一位元流的一部分。
該被序連的位元流包含根據本專利文件中概述的方法而產生及插入之一些密碼值。有利之處在於:該被序連的位元流中之該等密碼值平滑地涵蓋了該接帶點,因而在接收器/解碼器上的位元流真實性之中斷是不顯著的。可為該接帶點之後的被序連的位元流明確地產生新密碼值,而達到上述之目的。
可至少為該被序連的位元流的開始於該接帶點的一部分中之某一數目的連續框產生新密碼值。在某些情形中,該第二位元流的密碼值可被重新使用,且被複製到新密碼值已被包含的該部分之後的被序連的位元流。當被包含在次一組中之第一框的前一組的框之密碼值並未被考慮用來計算該次一組之密碼值,且可獨立地處理該等組(亦即,各密碼值的改變不會自一組被傳播到次一組)時,尤其適用上述之方式。
根據本專利文件中概述的方法而明確地產生密碼值在該第一位元流與該第二位元流間之邊界(亦即,被包含在該被序連的位元流的該第一位元流之最後的框、以及該第二位元流之第一框)上尤其可能是有利的。一般而言,當接帶兩個位元流時,該第一位元流之最後的框之數目通常小於或等於N1,且/或在該第一密碼值被包含之前的自該第二位元流採取的框之數目通常小於或等於N2。換言之,該接帶點通常不是位於該第一及第二位元流之組邊界上。
根據該序連或接帶方法之一觀點,為該第一位元流之該等最後的框產生了一新密碼值,且該新密碼值被插入該被序連的位元流之次一框,而該次一框是取自該第二位元流之第一框。該新密碼值被視為"完成了"該第一位元流。然後可為該第二位元流產生新密碼值,且該等新密碼值被包含到該被序連的位元流之適當的位置上。如果在並未將增添的密碼值插入取自該第二位元流的第一框之情形下,為該第一位元流的框產生的上一密碼值與為該第一位元流的框產生的第一密碼值間之框的數目並未超過該系統所容許的最大數目,則上述方式是尤其適用的。
在接帶點未對準該第一及第二位元流的該等組的框之情形中,該接帶方法可為包含取自該第一及第二位元流的框之一混合組產生一密碼值。如前文所述,該等密碼值通常被包含在被用來計算各別密碼值的該組的框之後的次一框。
根據一進一步之觀點,說明了一種接帶器及/或廣播頭端。該接帶器及/或廣播頭端可操作而序連一第一及一第二位元流,每一位元流包含複數個資料框及與一特定數目的資料框相關聯之一些密碼值。該裝置可包含一解碼器,該解碼器具有本專利文件中概述的特徵之任何組合。該解碼器可被用來將該第一位元流的最後的框、該第二位元流的第一框、以及相關聯的密碼值解碼。該接帶器及/或廣播頭端可進一步包含一編碼器,該編碼器具有本專利文件中概述的特徵之任何組合。該編碼器可被用來將該第一位元流的最後的框以及該第二位元流的第一框編碼。此外,該接帶器及/或廣播頭端可包含一轉送單元,用以轉送該第一及第二位元流中未被解碼及編碼之框及相關聯的密碼值。換言之,該轉送單元可以只須將該等框及相關聯的密碼值複製、或轉送、或保持到該被序連的位元流。
請注意,該接帶器亦可操作而將完整的資料流解碼及編碼,亦即,將進入的資料流之密碼值解碼,且為出去的資料流產生密碼值。為了經由密碼值而產生位元流之連續互連,上述之方式可能是有利的。事實上,可將複數個位元流解碼,且可以以一些連續互連的密碼值將包含該複數個位元流的一些部分之一被序連的位元流編碼。因此,該被序連的位元流的接收器將該被序連的位元流視為來自一單一可信賴的編碼器之一位元流。
亦請注意,為了對包含密碼值的資料流解碼及/或編碼,該接帶器無須知道該資料流之下層編碼解碼器。舉例而言,無須為了萃取及/或產生資料流的密碼值而使該接帶器能夠執行HE-AAC解碼/編碼。在某些情況中,例如,當一新密碼值被插入先前沒有密碼值的一框時,對資料流執行解碼及後續的重新編碼可能是必要的,以便為該新密碼值產生位元流中之空間,尤其以便為了符合資料流之要求。
請注意,可單獨使用其中包括本專利文件中概述的較佳實施例之方法及系統,或者可配合本文件中揭示的其他方法及系統而使用其中包括本專利文件中概述的較佳實施例之方法及系統。此外,可任意地結合本專利文件中概述的方法及系統之所有觀點。尤其可以任意的方式將申請專利範圍中之各特徵相互結合。此外,請注意,可改變該等方法步驟之順序。
係以舉例方式說明下文中之實施例,且該等實施例將不會限制本專利文件之範圍。將在先進音訊編碼(Advanced Audio Coding;簡稱AAC)且尤其在MPEG-2 AAC及MPEG-4 AAC的環境中說明本發明。然而,請注意,亦可將本發明應用於其他的媒體編碼方案,尤其是應用於視訊、音訊、及/或多媒體編碼方案。此外,可將本發明應用於提供來自複數個編碼器的合倂位元流之接帶器。
第1圖示出一位元流100以及如何為該位元流100決定一識別碼之一方法。這些位元流的例子是以作為下層編碼解碼器的AAC、高效率先進音訊編碼(High Efficiency-Advanced Audio Coding;簡稱HE-AAC)、Dolby Pulse、MPEG-4 AVC/H.264、MPEG-2 Video、或MPEG-4 Video編碼之視訊及/或音訊位元流。例如,在用於MPEG-4 AAC的ISO/IEC 14496-3規格、用於MPEG-2 AAC的ISO/IEC 13818-7規格、用於MPEG-4 AVC/H.264的ISO/IEC 14496-10規格、用於MPEG-2 Video的ISO/IEC 13818-2規格、以及用於MPEG-4 Video的ISO/IEC 14496-2規格中界定了這些編碼解碼器及其格式。特此引用該等規格以供參照。在這些編碼解碼器中,係在所謂的框中配置資料流,其中該等框包含某一數目的媒體樣本。不同的編碼解碼器可在每一框中使用不同數目的樣本。典型的例子是每一框中有960、1024、或2048個樣本。
除了實際的媒體資料之外,該等框可進一步包含所謂的中介資料,而中介資料可載有與諸如節目響度或動態範圍有關之額外的控制資訊。
第1圖示出一連串的框101、102、103、...、106。時間軸係自左到右,因而在框106之前先處理框101。如前文所概述的,每一框可包含媒體資料及額外的中介資料。
下層的編碼方案界定了每一框及其可包含的可能資料欄位或單元之結構。舉例而言,MPEG-4 AAC框或MPEG-2 AAC框可包含1024或960個樣本的時間期間中之音訊資料、相關的資訊、及其他資料。用於MPEG-4 AAC的前文所述之ISO/IEC 14496-3規格之第4.4及4.5節以及用於MPEG-2 AAC的前文所述之ISO/IEC 13818-7規格之第6及8節中界定了其語法。特此引用這些節以供參照。
MPEG-4 AAC或MPEG-2 AAC框可包含不同的語法單元,例如:
‧縮寫為SCE之single_channel_element(),該單元是包含一單一聲道的被編碼資料的位元流之語法單元。
‧縮寫為CPE之channel_pair_element(),該單元是包含一對聲道的資料的位元流酬載之語法單元。
‧縮寫為CCE之coupling_channel_element(),該單元是包含一耦合聲道(coupling channel)之語法單元。
‧縮寫為LFE之lfe_channel_element(),該單元是包含一低抽樣頻率增強聲道之語法單元。
‧縮寫為PCE之program_config_element(),該單元是包含節目組態資料之語法單元。
‧縮寫為FIL之fill_element(),該單元是包含填充資料之語法單元。
‧縮寫為DSE之data_stream_element(),該單元是包含輔助資料之語法單元。
‧用來指示一原始資料區塊或框的終止之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 (.)及一"密"鑰(secret key)K(通常以一些額外的零將該密鑰K填充到該雜湊函數H (.)的區塊大小之右方)時,可決定該第一訊息的一雜湊訊息鑑別碼(Hash Message Authentication Code;簡稱HMAC)。假設:∥符號表示序連,且⊕符號表示互斥或,而且外填充(outer padding)opad =0x 5c 5c 5c ...5c 5c 及內填充(inner padding)ipad =0x 363636...3636是該雜湊函數H (.)的區塊大小的長度之常數,則可將該第一訊息的HMAC值表示為下式:
HMAC (m )=H ((Kopad )∥H ((Kipad )∥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,且該識別碼121被插入該組的框112中之第一框103。
請注意,可根據包含前一組的框111的識別碼121之一第一訊息m 而計算該組的框112之識別碼122,或者可根據不包含前一組的框111的識別碼121之一第一訊息m 而計算該組的框112之識別碼122。在後一情形中,在決定識別碼122之前,需要自該第一訊息m 移除與識別碼121有關之資訊。將需要保證編碼器及解碼器將相同的方法應用於界定該第一訊息m 。在一較佳實施例中,係根據包含前一組的框111的識別碼121之一第一訊息m 而決定識別碼122。藉由執行該步驟,該等識別碼可被連續地互連,且因而可產生無法被修改(例如,藉由修改或取代該位元流的某些組的框)的一被互連之位元流。因此,可保證整個資料流或位元流之真實性。另一方面,縱然該等識別碼被互連,也仍然保證接收器可對一被部分破壞的位元流重新同步。
在一較佳實施例中,該識別碼被放置到縮寫為<DSE>的一單一data_stream_element(),且在用於MPEG-4 AAC的ISO/IEC 14496-3,Table 4.10或用於MPEG-2 AAC的ISO/IEC 13818-7,Table 24中界定了該<DSE>,本發明特此引用該等文件以供參照。為了有助於解碼器的同步,一AAC框應只包含具有一識別碼之一data_stream_element()<DSE>,使該解碼器可以兩個被接收的識別碼間之距離的方式決定一組的框之長度。換言之,一AAC框可包含數個data_stream_element()<DSE>,但是應只包含了包含一識別碼之一data_stream_element()<DSE>。在一較佳實施例中,該<DSE>之位置是在<TERM>單元之前的AAC框之末尾。
為了可迅速地萃取識別碼,可使用DSE之位元組對準特徵。為了達到此一目的,DSE通常包含用來指示該DSE中包含的資料是位元組對準之一欄位或一位元。因而對解碼器指示:該DSE的實際資料開始於一位元組的開始之一位元位置。
一位元流或資料流可包含多個<DSE>。為了能夠區分各<DSE>,每一<DSE>通常包含在用於MPEG-4 AAC的ISO/IEC 14496-3,Section4.5.2.1.1及用於MPEG-2 AAC的ISO/IEC 13818-7,Section8.2.2中界定的一element_instance_tag,本發明特此引用這兩個文件以供參照。請注意,包含識別碼的data_stream_element()的element_instance_tag之值不限於一特定的值,亦即,適用該等ISO/IEC標準之一般規則。換言之,除了在用於MPEG-4 AAC的ISO/IEC 14496-3文件及用於MPEG-2 AAC的ISO/IEC 13818-7文件中規定的以外,最好是沒有對包含一被傳輸的識別碼的一<DSE>的單元實例標記之特殊規則。
與前文所示的可能資料流之該等例子類似,2聲道音訊節目的資料流可包含語法單元<CPE><FIL><DSE><TERM><CPE><FIL><DSE><TERM>...。具有頻帶複製(Spectral Band Replication;簡稱SBR)的2聲道音訊節目可包含語法單元<CPE><SBR(CPE)><FIL><DSE><TERM><CPE><SBR(CPE)><FIL><DSE><TERM>...,其中<SBR(CPE)>是一特定SBR語法單元。可由語法單元<SCE><CPE><CPE><LFE><FIL><DSE><TERM><SCE><CPE><CPE><LFE><FIL><DSE><TERM>...構成5.1聲道音訊節目。
在一較佳實施例中,被放置到<DSE>單元的該識別碼欄位可包含一identifier_sync欄位及一identifier_value欄位。該identifier_sync欄位可被用來根據特定的<DSE>單元包含一識別碼而可進行迅速的識別。舉例而言,編碼器可將該欄位設定為諸如一個二進位樣式等的一預定值,以便指示該<DSE>單元包含一識別碼欄位。解碼器可將該欄位用來驗證識別碼值的可用性。換言之,將被接收的資料流包含可被用於前文所述的鑑別、驗證、及或有的組態設定用途的一識別碼通知該解碼器。
在一較佳實施例中,該identifier_value欄位包含已以本專利文件概述之方式決定之一識別碼值。該欄位包含識別碼之必要數目的位元,亦即,包含被修剪的HMAC值之必要數目的位元。
如前文所概述的,該識別碼通常涵蓋N個(其中N1)AAC框,且每隔N個AAC框包含一識別碼,亦即,該識別碼包含一<DSE>單元,而該<DSE>單元包含前文所述之一識別碼單元。通常由編碼器決定被涵蓋的AAC框之數目N。解碼器能夠藉由包含對應的識別碼的兩個AAC框間之框的距離而決定該值。
如前文所概述的,亦可將該識別碼用來保證該解碼器使用了正確的組態設定。為了達到此一目的,可根據一延伸訊息而產生該識別碼,該延伸訊息不只包含序連的N個連續框,而且也包含組態資料。換言之,如前文所概述的包含N個連續框之第一訊息可進一步包含組態資料。該組態資料可包含一samplingFrequencyIndex(亦即,音頻信號的下層抽樣頻率之指示)、一channelConfiguration(亦即,所使用的聲道組態之指示)、以及一frameLengthFlag(亦即,所使用的框長度之指示)。此外,其他的組態參數也是可能的。
可將這些參數(亦即,AAC(核心)抽樣率或"samplingFrequencyIndex"、聲道組態、以及AAC轉換長度指示或"frameLengthFlag")用來形成一configuration_word。該configuration_word亦可包含一些填充位元,以便使該configuration_word具有一預定大小。
在一較佳實施例中,該等參數"samplingFrequencyIndex"及"channelConfiguration"具有與各別ISO/IEC規格(例如,ISO/IEC 14496-3之1.6.2.1節)中概述的"AudioSpecificConfig"中之相同名稱的單元相同之意義及值。參數"frameLengthFlag"具有與各別ISO/IEC規格(例如,ISO/IEC 14496-3的4.4.1節之表4.1)中概述的"GASpecificConfig"中之相同名稱的單元相同之意義及值。
該configuration_word及該等N個AAC框被序連,而形成亦可被稱為第二訊息之一訊息m ,該訊息m 包含該configuration_word以及該第一訊息,而該第一訊息包含序連的N個AAC框:
m =(configuration_word∥AACframe1∥AACframe2∥...∥AACframeN);
其中∥表示序連。在上文所示之例子中,該configuration_word被放置到該第一訊息之前。請注意,該configuration_word亦可被放置到其他位置,例如,被放置到該第一訊息之末尾。
在與前文中概述的類似之方式下,使用該"密"鑰K計算該訊息m 上的諸如一HMAC-MD5碼等的一HMAC值HMAC(m) 。該密鑰K可以是諸如某一ASCII碼或任何其他祕密值,且係使用上述之HMAC公式計算該訊息m 的HMAC值。
請注意,可以一種循序方式決定該訊息m 的HMAC值。此即意指:在第一步驟中,可決定該configuration_word的HMAC值。因而產生一第一HMAC值,作為用來決定AACframel的HMAC值之開始狀態。該操作之輸出是一第二HMAC值,該該第二HMAC值是用來決定AACframe2的HMAC值之開始狀態,其他依此類推。最後,使用AACframeN-1的HMAC值作為開始狀態,而決定AACframeN的HMAC值。藉由使用此種以循序方式決定該訊息m 上(亦即,遍及該序列的框及/或configuration_word)的HMAC值,即可在不會增加該位元流引發的延遲之情形下產生一識別碼。此外,壓低了對產生HMAC值及/或識別碼的記憶體要求,這是因為只需要儲存該位元流的目前框及開始狀態(亦即,128位元的值)。不需要產生及儲存完整的訊息m
為了減少額外的識別碼所造成的位元流中之添加信號,藉由捨棄一些最低有效位元,而將該HMAC值自128位元修剪到一較小數目的位元。舉例而言,可將HMAC值"9e107d9d372bb6826bd81d3542a419d6"修剪至"9e107d9d"。更好是根據識別碼的安全性與必要的位元率添加信號間之折衷而選擇修剪度。識別碼的可能長度可以是諸如16、24、32、48、64、80、或96。被修剪的HMAC值是被插入DSE單元的identifier_value欄位中之識別碼。
在下文之說明中,將提供與編碼程序有關之進一步細節。如前文所述,通常由編碼器決定被一識別碼涵蓋的AAC框之數目N。舉例而言,最好是可保證解碼器能夠在不長於1秒的時間內與該組的框之長度同步。因為該解碼器需要將兩個識別碼用來與該組的框之長度(由包含識別碼的兩個框間之框數目提供該長度)同步,所以必須保證該解碼器在所需的時間間隔內接收至少兩個識別碼。因此,該編碼器應選擇一值N,使該等N個AAC框的時間表示法不超過或只最低限度地超過0.5秒。因為該等N個AAC框的時間表示法係取決於所選擇的AAC(核心)抽樣率,所以可根據所選擇的AAC(核心)抽樣率而改變編碼器選擇的該值N。
為了將識別碼導入的位元率添加信號最小化,該編碼器可選擇滿足該等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個框及configuration_word且對該完整被序連的訊息執行HMAC計算。第2b圖中示出該方法。在步驟207中,設定一開始狀態,而初始化該迭代程序。該開始狀態可以是被儲存在一個128位元記憶體中之configuration_word的HMAC值。然後,在步驟208中,可決定該等N個框中之第一框的HMAC值。在步驟209中,將所得到的該HMAC值儲存在該128位元記憶體中,且在步驟208中將該HMAC值用來作為計算第二框的HMAC值之開始狀態。在步驟208中,重複該程序,直到決定了第N個框的HMAC值為止,其中係自該128位元記憶體取得第N-1個框的HMAC值,且將該HMAC值用來作為一開始狀態。在步驟210中,將該識別碼決定為第N個框的HMAC值之被修剪版本。作為步驟206之替代步驟,在該HMAC值計算中處理了每一框之後,可立即傳送出該框,而無須緩衝儲存整組的框。然後將該識別碼加入第N+1的框,且連同該框而傳送出該識別碼。然後,該框是將被用於以迭代方式計算接續的N個框的HMAC值之第一框。藉由使用該迭代程序,可在低延遲、低計算複雜度、及低記憶體要求之情形下,以逐一框之方式執行該編碼程序。
在下文中,將提供與解碼程序有關的進一步細節。解碼器開始時通常假定將被解碼的位元流不包含一有效識別碼,亦即,媒體位元流中之有效識別碼的存在指標於開始時將被設定為"假"值,且只有在第一次成功地接收到一有效識別碼之後才會被設定為"真"值。諸如機上盒等的接收器上可以諸如發光二極體(LED)等的一視覺指示器指示該值,該視覺指示器可向使用者指示被接收的位元流是一被鑑別的且有效的位元流。因此,該識別碼可被用來向使用者指示被接收的資料流之品質。
另一方面,如果該解碼器上的該指標先前被設定為"真",但是該位元流內之超過Nmax的框並未作與該識別碼有關之更新,則可將該指標重定為"假"。換言之,該解碼器知道不應被超過的諸如Nmax等的N之最大值。如果該解碼器並未偵測到超過Nmax的框之一有效識別碼,則將向該解碼器指示:被接收的位元流可能不再是來自一合法編碼器,或被接收的位元流可能已被修改。因此,開解碼器將各別的指標設定為"假"。因而通常將導致諸如LED等的視覺指示器被重定。
第3圖中示出該識別碼解碼程序,且可在下文中說明該識別碼解碼程序:
‧在步驟300中,該解碼器開始且清除"ID Verified"旗標。
‧然後,在步驟301中,內部記憶體狀態(128位元)被初始化。
‧該解碼器在步驟302中等候到接收到一框為止,且在步驟303中檢查該被接收的框是否存在有一位元流識別碼。可利用前文中指定的identifier_sync欄位偵測一框內是否存在一識別碼。如果在步驟304中偵測到一識別碼,則該解碼器在步驟307中自<DSE>中之各別欄位萃取identifier_value。
‧然後,在步驟308中,修剪該128位元狀態中包含的HMAC值,而產生驗證識別碼。
‧在步驟309中,該解碼器繼續比較該位元流識別碼及該驗證識別碼。如果在步驟310中決定這兩個識別碼是不相等的,則在步驟311中清除該"ID Verified"旗標,以便指示該位元流不是來自一可信賴的編碼器。在相等的識別碼之情形中,在步驟312中設定該"ID Verified"旗標,以便指示該位元流識別碼被驗證且該位元流被視為有效的,這是因為該位元流來自一可信賴的編碼器。在此種情形中,可啟用該解碼器的額外功能,及/或將該位元流的驗證狀態通知使用者。或者,如果決定該位元流不是來自可信賴的編碼器,則停用某些功能,及/或相應地通知使用者。
‧在步驟313中,該解碼器繼續將該128位元內部記憶體狀態初始化。
‧然後,在步驟314中計算現行框之128位元HMAC值,且在步驟315中以該被計算出的HMAC值更新該128位元內部記憶體狀態。該解碼器然後回到步驟302,以便等候接收另一框。
‧如果(在步驟304中決定)該框中不存在識別碼,則該解碼器繼續進入步驟305,此時該解碼器決定最後的Nmax個框內是否存在一識別碼。
‧如果最後的Nmax個框內不存在一識別碼,則該解碼器在步驟306中清除該"ID Verified"旗標,這是因為在並未接收到一識別碼之情形下通過了最大數目Nmax的框。該解碼器然後回到步驟302,以便等候另一框。
‧如果在步驟305中決定最後的Nmax個框內存在一識別碼,則該解碼器繼續進入步驟314,以便計算現行框之128位元HMAC值。
如前文所概述的,該解碼器可以一種循序迭代程序決定該驗證識別碼。此即意指:只處理現行框,且不需要為了決定驗證識別碼而先序連一組框。因此,可在低延遲、低計算複雜度、及低記憶體要求之情形下執行對該識別碼之解碼。
第4圖示出一資料流的一編碼器400及一解碼器410之實施例。使用一類比至數位轉換器402將諸如一音訊流等的一類比資料流405轉換為一數位資料流406。使用諸如Dolby E、Dolby Digital、AAC、HEAAC、DTS、或Dolby Pulse等的一音訊編碼器403將數位資料流406編碼。音訊編碼器403通常將數位資料流406分段為一些音訊框,且提供資料壓縮。此外,音訊編碼器403可加入中介資料。音訊編碼器403的輸出是包含複數個資料框之一資料流407。然後,資料流407進入一額外的框編碼器404,用以將識別碼或密碼值加入資料流407。框編碼器404根據本專利文件中概述之觀點而執行。
請注意,通常以一種循序之方式決定且加入該等識別碼,因而框編碼器404直接處理來自音訊編碼器403之每一框。音訊編碼器403及框編碼器404最好是構成可在一數位信號處理器上實施之一聯合編碼器401。在此種方式下,音訊編碼層面及識別碼產生層面可互動。尤其可能需要考慮到識別碼在將音訊流編碼期間所造成的額外之添加信號。此即意指:可能減少了該音訊位元流的可用位元率。可將該音訊編碼器與該識別碼產生間之此種互動用來符合諸如HE-AAC等的某些編碼方案的總頻寬及/或位元率限制。
聯合編碼器401輸出其中包含複數組的框及相關聯的識別碼之一資料流408。通常使用各種傳輸媒體及/或儲存媒體而將資料流408提供給一相關聯的解碼器及/或接收器410。該資料流以一資料流418之形式到達解碼器410,而可能已以與資料流408有關之方式修改了資料流418。資料流418進入一框解碼器414,該框解碼器414根據本專利文件中概述的方法及系統執行對資料流418的驗證及鑑別。框解碼器414輸出一資料流417,該資料流417通常對應於沒有識別碼及對應的資料欄位或語法單元之資料流418。資料流417在音訊解碼器413中被解碼,其中資料流417被解壓縮及被移除添加的中介資料。如前文所概述的,通常以一種循序迭代方式執行框解碼,因而係以逐一框之方式執行處理。
亦請注意,可將不同的解碼/接收組件組合在一起,以便構成一聯合解碼器。舉例而言,框解碼器414及音訊解碼器413可構成可在一數位信號處理器上實施之一聯合解碼器/接收器411。如前文所概述的,此種方式可能是有利的,以便可進行音訊解碼器與識別碼驗證間之互動。最後,聯合解碼器/接收器411輸出一數位資料流416,且使用一數位至類比轉換器412將該數位資料流416轉換為一類比音頻信號415。
請注意,在本專利文件中,術語"編碼器"可意指完整的編碼器400、聯合編碼器401、或框編碼器404。術語"解碼器"可意指完整的解碼器410、聯合解碼器411、或框解碼器414。另一方面,所謂的"不可信賴的編碼器"是完全不產生識別碼或不根據本專利文件中概述的方法而產生識別碼之編碼器。
第5圖示出包含一廣播頭端504之一例示廣播系統500。頭端504亦包含一接帶器或接帶裝置,該接帶器或接帶裝置可操作而合倂來自不同編碼器之位元流501、502、及503。在一無線電廣播系統內,這些不同的位元流501、502、及503可以是通常被不同的音訊編碼器編碼之不同的音訊位元流。由複數個以不同影線代表的框構成該等位元流501、502、及503。在該所示例子中,位元流501包含五個框,位元流502包含四個框,且位元流503包含六個框。該接帶器及/或頭端504可操作而合倂該等位元流,以便產生一聯合位元流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可以是一。一般而言,因而可陳述為:可在一位元流505內改變N。這是由於可在該解碼器上獨立地決定N。用於出去的位元流505之數目N最好是小於或等於用於進來的位元流501及503之數目N。
此外,請注意,進來的位元流502不包含一識別碼,亦即,位元流502並非來自一可信賴的編碼器。因此,該接帶器及/或頭端504不為來自位元流502的該等框提供位元流505中之一識別碼。如前文所概述的,該解碼器通常可操作而偵測位元流505中之識別碼是否不存在。如果不包含識別碼的框之數目超過一預定最大數目Nmax,則該解碼器通常將偵測到位元流505並非來自可信賴的編碼器。
如第5圖之例子所示,可由來自可信賴的編碼器之一些部分以及並非來自可信賴的編碼器之其他部分構成位元流505。因此,位元流505可包含其中包括有效識別碼的一些部分以及不包括有效識別碼的其他部分。接帶器及/或頭端504可操作而執行下列步驟:
‧偵測包含識別碼之進來的位元流;
‧將含識別碼的位元流轉送為出去的位元流;
‧根據該識別碼而鑑別該進來的位元流;以及
‧以一新識別碼將該位元流編碼。
換言之,一接帶器及/或頭端504可包含本專利文件中概述的一編碼器及/或一解碼器之特徵。亦即,一接帶器及/或頭端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位元流,以便鑑別該位元流是來自合法編碼器或傳輸器。因而可向接收器指示:該HE-AAC位元流符合某一規格及/或某一品質標準。最好是自HMAC-MD5計算得到該識別碼。
可將該方法及系統用於多媒體檔案及多媒體流之鑑別,且該方法及系統亦可在大體上不違背鑑別之情形下偵測序連的數個被保護之位元流。此即意指:並不檢查一完整的位元流是否相符,而是檢查一組的連續流。此種方式支援典型的廣播狀況(亦即,所謂的"接帶"),其中裝置經常在不同的位元流編碼器之間切換,以便產生實際的輸出流。此外,可將該方法及系統用來保護帶內及帶外資訊,其中帶內資訊通常包含媒體資料及相關聯的中介資料,且其中帶外資料通常包含組態資料。該方法及系統因而可控制及/或偵測媒體流的正確播放及/或解碼。
可將本文件中述及的方法及系統實施為軟體、韌體、及/或硬體。例如,可將某些組件實施為在數位信號處理器或微處理器上運行之軟體。例如,可將其他組件實施為硬體及/或特定應用積體電路。可將該等所述方法及系統中遇到的信號儲存在諸如隨機存取記憶體或光學儲存媒體等的媒體中。可經由諸如無線電網路、衛星網路、諸如網際網路之無線網路或有線網路等的網路傳輸該等信號。利用本文件述及的方法及系統之典型裝置是機上盒或用來將音頻信號解碼之其他用戶端設備。在編碼端上,該方法及系統可被用於廣播電台,例如,被用於視訊及音訊頭端系統。
100...位元流
101-106,111,112,113...框
121,122...識別碼
400...編碼器
410...解碼器
405...類比資料流
406,416...數位資料流
402...類比至數位轉換器
403...音訊編碼器
407,408,417,418...資料流
404...框編碼器
401...聯合編碼器
414...框解碼器
413...音訊解碼器
411...聯合解碼器/接收器
412...數位至類比轉換器
415...類比音頻信號
500...廣播系統
504...廣播頭端
505...聯合位元流
前文中已參照各附圖而以一種例示方式說明了本發明,其中:
第1圖示出用來根據本發明而決定一識別碼之一例示方法;
第2a及2b圖示出在編碼器上的用於識別碼產生及插入的一例示方法之流程圖;
第3圖示出在解碼器上採取的例示鑑別及驗證步驟之一流程圖;
第4圖示出一編碼器及一解碼器之一實施例;
第5圖示出在廣播系統內使用識別碼之一例子;以及
第6及7圖示出接帶一些位元流而形成一被序連的位元流之例子。
100...位元流
101-106,111,112,113...框
121,122...識別碼

Claims (18)

  1. 一種用來將包含複數個資料框的資料流編碼之方法,該方法包含下列步驟:使用密碼雜湊函數,產生數目N個連續資料框及組態資訊之一密碼值,其中該組態資訊包含用來呈現該資料流之資訊;以及將該密碼值插入在該等N個連續資料框之後的該資料流的框中;其中產生該數目N個連續資料框的該密碼值包含:使用開始狀態,產生各個該等N個連續資料框的中間密碼值,直到第N個框的中間密碼值被產生為止,該第N個框的該中間密碼值代表該群N個連續資料框的密碼值;其中第一框的開始狀態為該組態資訊的中間密碼值,其中各個後繼框的開始狀態係為前一框的中間密碼值。
  2. 如申請專利範圍第1項之方法,其中該方法進一步包含下列步驟:聚集數目N個連續資料框,以便形成一第一訊息;以及將該第一訊息與該組態資訊組合,以便形成一第二訊息;其中該密碼值係為該第二訊息產生。
  3. 如申請專利範圍第1項之方法,其中:該密碼值被插入以作為一資料流單元<DSE>;及其中該資料流單元<DSE>為該資料流的該框的語法單元及其中該資料流是一 MPEG4-AAC或MPEG2-AAC流。
  4. 如申請專利範圍第1項之方法,其中該組態資訊包含以下至少之一:抽樣率之指示;音訊編碼系統的聲道組態之指示;及在資料框中之樣本數之指示。
  5. 如申請專利範圍第1項之方法,包含下列步驟:選擇N,以便在以一適當的組態重播時,該等N個連續框儘量靠近地涵蓋對應的信號之預定持續時間。
  6. 一種在解碼器上驗證資料流之方法,該資料流包含複數個資料框以及與數目N個先前連續資料框相關聯的一密碼值,該方法包含下列步驟:使用密碼雜湊函數,產生該數目N個連續資料框及組態資訊之一第二密碼值,其中該組態資訊包含用來呈現該資料之資訊;自該資料流的一框萃取該密碼值;以及將該密碼值與該第二密碼值比較;其中產生該數目N個連續資料框的該第二密碼值包含使用開始狀態,產生各個該N個連續框的中間第二密碼值,直到第N個框的中間第二密碼值產生為止,該第N個框的中間第二密碼值代表該群N個連續資料框的該第二密碼值;其中該第一框的開始狀態是該組態資訊的中間第二密碼值,其中各個後繼框的開始狀態為前一框的中間第二密碼值。
  7. 如申請專利範圍第6項之方法,其中該資料流為MPEG4-AAC或MPEG2-AAC流;其中該密碼值係由資料流單元<DSE>萃取;及其中該資料流單元<DSE>為該資料流的該框的語法單元。
  8. 一種可操作以將包含複數個資料框的資料流編碼之編碼器,該編碼器包含一處理器,該處理器可操作而執行下列步驟:使用密碼雜湊函數,產生數目N個連續資料框及組態資訊之一密碼值,其中該組態資訊包含用來呈現該資料流之資訊;以及將該密碼值插入在該等N個連續資料框之後的該資料流的一框內;其中該處理器可操作以產生該數目N個連續資料框的該密碼值,藉由使用開始狀態,產生各個該等N個連續資料框的中間密碼值,直到第N個框的中間密碼值被產生為止,該第N個框的該中間密碼值代表該群N個連續資料框的該密碼值;其中第一框的該開始狀態為該組態資訊的中間密碼值,其中各個後繼框的開始狀態為前一框的中間密碼值。
  9. 一種可操作以驗證包含複數個資料框以及與數目N個先前連續資料框相關聯的密碼值之資料流之解碼器,該解碼器包含一處理器,該處理器可操作以執行下列步驟:使用密碼雜湊函數,產生該數目N個連續資料框及組態資訊之一第二密碼值,其中該組態資訊包含用來呈現該 資料之資訊;自該資料流的一框萃取該密碼值;以及將該密碼值與該第二密碼值比較;其中該處理器可操作以產生該數目N個連續資料框的該第二密碼值,藉由使用開始狀態,產生各個該等N個連續資料框的中間第二密碼值,直到第N個框的中間第二密碼值被產生為止,該第N個框的該中間第二密碼值代表該群N個連續資料框的該第二密碼值;其中第一框的該開始狀態為該組態資訊的中間第二密碼值,其中各個後繼框的開始狀態為前一框的中間第二密碼值。
  10. 一種軟體程式,該軟體程式適於在一處理器上被執行,且該軟體程式在一運算裝置上被執行時,適於執行申請專利範圍第1至7項中之任一項的方法步驟。
  11. 一種儲存媒體,該儲存媒體包含一軟體程式,該軟體程式適於在一處理器上被執行,且該軟體程式在一運算裝置上被執行時,適於執行申請專利範圍第1至7項中之任一項的方法步驟。
  12. 一種電腦程式產品,該電腦程式產品包含可執行之指令,該等可執行之指令在一電腦上被執行時,用以執行申請專利範圍第1至7項中之任一項的方法。
  13. 一種用來將包含音頻信號之被接收的資料流解碼之機上盒,該機上盒包含根據申請專利範圍第9項之用來驗證該被接收的資料流之一解碼器。
  14. 一種用來將包含音頻信號之被接收的資料流解碼 之可攜式電子裝置,該可攜式電子裝置包含根據申請專利範圍第9項之用來驗證該被接收的資料流之一解碼器。
  15. 一種用來將包含音頻信號之被接收的資料流解碼之電腦,該電腦包含根據申請專利範圍第9項之用來驗證該被接收的資料流之一解碼器。
  16. 一種用來傳輸包含音頻信號的資料流之廣播系統,該廣播系統包含根據申請專利範圍第8項之一編碼器。
  17. 一種用來序連第一及第二位元流之方法,每一位元流包含複數個資料框及與一特定數目的資料框相關聯之一密碼值,該方法包含下列步驟:自該第一及第二位元流產生一序連的位元流,其中該序連的位元流至少包含來自該第一及第二位元流的該複數個資料框中之一部分,且包含根據申請專利範圍第1至7項中之任一項的方法產生及插入之一密碼值。
  18. 一種可操作而序連第一及第二位元流之接帶器,每一位元流包含複數個資料框及與一特定數目的資料框相關聯之一些密碼值,該接帶器包含:根據申請專利範圍第8項之用來將該第一位元流的最後的框及該第二位元流的第一框編碼之一編碼器。
TW099125613A 2009-08-07 2010-08-02 資料串流的鑑別 TWI501580B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US23229509P 2009-08-07 2009-08-07

Publications (2)

Publication Number Publication Date
TW201134135A TW201134135A (en) 2011-10-01
TWI501580B true TWI501580B (zh) 2015-09-21

Family

ID=43014283

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099125613A TWI501580B (zh) 2009-08-07 2010-08-02 資料串流的鑑別

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178368A1 (en) * 2001-05-24 2002-11-28 Peng Yin Semi-fragile watermarking system for MPEG video authentication
US20040015697A1 (en) * 2002-07-22 2004-01-22 Xerox Corporation System and method for authentication of JPEG image data
US20060195886A1 (en) * 2003-07-26 2006-08-31 Koninklijke Philips Electronics N.V. Content identification for broadcast media
US20080037783A1 (en) * 2006-06-29 2008-02-14 Samsung Electronics Co., Ltd. Device and method for providing video stream having integrity
US20080301461A1 (en) * 2007-05-31 2008-12-04 Vasco Data Security International, Inc. Remote authentication and transaction signatures

Family Cites Families (36)

* 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
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
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 情報埋め込み装置、改ざん検出装置及びそれらの方法並びに記録媒体
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
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
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 杜比實驗室特許公司 在單一播放模式中組合響度量測的系統

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178368A1 (en) * 2001-05-24 2002-11-28 Peng Yin Semi-fragile watermarking system for MPEG video authentication
US20040015697A1 (en) * 2002-07-22 2004-01-22 Xerox Corporation System and method for authentication of JPEG image data
US20060195886A1 (en) * 2003-07-26 2006-08-31 Koninklijke Philips Electronics N.V. Content identification for broadcast media
US20080037783A1 (en) * 2006-06-29 2008-02-14 Samsung Electronics Co., Ltd. Device and method for providing video stream having integrity
US20080301461A1 (en) * 2007-05-31 2008-12-04 Vasco Data Security International, Inc. Remote authentication and transaction signatures

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
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
CN102576559B (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
TWI501580B (zh) 資料串流的鑑別
US11075762B2 (en) Metadata transcoding
JP7012786B2 (ja) 複数のメディア処理ノードによる適応処理
US10380358B2 (en) MPEG transport frame synchronization