專利名稱:處理數(shù)據(jù)流的設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及處理數(shù)據(jù)流的設(shè)備。
本發(fā)明進(jìn)一步涉及處理數(shù)據(jù)流的方法。
本發(fā)明進(jìn)一步涉及程序單元。
本發(fā)明進(jìn)一 步涉及計算機(jī)可讀介質(zhì)。
背景技術(shù):
電子娛樂設(shè)備變得越來越重要了。特別是,越來越多的用戶購買基 于硬盤的音頻/視頻播放器和其他娛樂設(shè)備。
因?yàn)樵谝纛l/視頻播放器領(lǐng)域,存儲空間的降低是重要的問題,所 以音頻和視頻數(shù)據(jù)通常以壓縮方式,并且因安全原因以加密方式存儲。
MPEG2是用于移動畫面和相關(guān)聯(lián)的音頻的通用編碼的標(biāo)準(zhǔn),并從可 以稱為GOP("畫面組,,)結(jié)構(gòu)的特點(diǎn)次序布置的幀數(shù)據(jù)中創(chuàng)建視頻流。 MPEG2 — 見頻位流由 一 系列的數(shù)據(jù)幀編碼的畫面組成。對畫面進(jìn)4亍編石馬的 三種方式是幀內(nèi)編碼(I畫面),前向預(yù)測(P畫面)和雙向預(yù)測(B畫面)。 幀內(nèi)編碼幀(I-幀)是獨(dú)立可解碼的幀。前向預(yù)測編碼幀(P-幀)需要先 前I-幀或P-幀的信息。雙向預(yù)測編碼幀(B-幀)依賴于先前和/或后續(xù) I-幀或P-幀的信息。
在媒體重放設(shè)備中的一個令人感興趣的功能是從其中媒體內(nèi)容以 正常速度重放(play back)的正常再現(xiàn)模式切換到媒體內(nèi)容以修改的 方式(例如以降低的速度("慢進(jìn)(slow forward)")、靜止畫面、或 反之亦然)重放的花樣播放(trick-play)再現(xiàn)模式。
US2005/0157714A1 /^開了一種用于處理基于包的加擾 (scrambled )流的方法,該方法包括接收多個在包流中的加擾包,解 擾任何一個加擾包,以及傳輸包括至少一個解擾包和至少一個加擾包 的經(jīng)修改的包流。
發(fā)明內(nèi)容
本發(fā)明的一個目的是能夠有效處理數(shù)據(jù)流。
為了達(dá)到上面定義的目的,提供了根據(jù)獨(dú)立權(quán)利要求的用于處理數(shù) 據(jù)流的設(shè)備、處理數(shù)據(jù)流的方法、程序單元和計算機(jī)可讀介質(zhì)。
根據(jù)本發(fā)明的示例性實(shí)施例,提供了一種處理數(shù)據(jù)流的設(shè)備,其中 該設(shè)備包括拆分單元,用于在幀邊界部分拆分部分解密的(和部分加密 的)數(shù)據(jù)流的相鄰幀,所述數(shù)據(jù)流包括在相鄰幀之間的解密幀邊界部分;復(fù)制單元,用于根據(jù)預(yù)定復(fù)制率(例如花樣-播放系數(shù),例如"3") 復(fù)制拆分幀若干次;以及連接單元,用于連接所述被復(fù)制的拆分幀。
根據(jù)本發(fā)明其他示例性的實(shí)施例,提供了一種處理數(shù)據(jù)流的方法, 該方法包括在幀邊界部分處拆分部分解密的(和部分加密的)數(shù)據(jù)流 的相鄰幀,所述數(shù)據(jù)流包括在相鄰幀之間的解密幀邊界部分;根據(jù)預(yù) 定復(fù)制率復(fù)制拆分幀若干次;以及連接所述被復(fù)制的拆分幀。
除此之外,根據(jù)本發(fā)明其他示例性的實(shí)施例,提供了一種計算機(jī)可 讀介質(zhì),其中存儲有計算機(jī)程序,當(dāng)所述計算機(jī)程序被處理器執(zhí)行時, 適合于控制或執(zhí)行上述方法。
另外,仍然根據(jù)本發(fā)明其他示例性的實(shí)施例,提供了一種程序單元, 當(dāng)所述程序單元被處理器執(zhí)行時,適合于控制或執(zhí)行上述方法。
根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理可通過計算機(jī)程序即軟件、或通過使 用一個或更多個專用電子最優(yōu)電路即硬件、或通過混合形式即借助于 軟件部件和硬件部件來實(shí)現(xiàn)。
根據(jù)本發(fā)明示例性實(shí)施例的措施提供了一個優(yōu)點(diǎn),即部分解密和部 分加密的數(shù)據(jù)流可以通過這種方式進(jìn)行處理即不同幀在邊界部分拆 分,接著,所拆分的幀又可通過一種方式連接以使得能夠進(jìn)行慢進(jìn)或 慢退或靜止、更一般的慢移、花樣-播放再現(xiàn)。因此,相鄰幀之間的純 文本部分可起指示符的作用,其中在該指示符位置處可斷開不同幀、重復(fù)各種幀多次以便提供慢移特征、以及將被復(fù)制的幀序列置于一起 以便可獲取合適的聲音和/或畫面。
根據(jù)示例性的實(shí)施例,幀拆分算法和幀粘合(拆分和復(fù)制)成為可 能。通過根據(jù)示例性實(shí)施例的算法,部分加密的"混合"慢進(jìn)DVB("數(shù)字 視頻廣播")流可根據(jù)完全加密的正常播放(例如MPEG)流生成。這樣的 過程可包括只選擇性地替換傳輸流中的那些加密包,這些加密包包含 與其相應(yīng)純文本包的畫面幀邊界以利于慢進(jìn)。更進(jìn)一步地,包可在畫 面幀邊界處拆分,而慢進(jìn)流可通過復(fù)制幀來生成。如果需要的話,在
畫面幀邊界處的包可,皮填充。然后,可識別畫面起始碼跨越兩個包的 地方,而且可對其施加相應(yīng)^f奮正,這一處理可表示為粘合。
根據(jù)示例性的實(shí)施例,提供了 一種用于存儲MPEG傳輸流的存儲設(shè) 備,其具有到MPEG兼容的解碼器的數(shù)字接口,其中該解碼器能夠提供 MPEG兼容傳輸流用于加密DVB流的慢進(jìn)播放模式。在特殊情況下,解 密并產(chǎn)生純文本慢進(jìn)流的簡單處理可能是不適合的,這是因?yàn)樗行?息都會變?yōu)榧兾谋?。從安全角度來看這個可能是不希望的。更進(jìn)一步 地,在消費(fèi)者設(shè)備中的DVB加密器的使用也許是不允許的。這就要求 處理必須在加密DVB傳輸流上執(zhí)行。
這樣,根據(jù)本發(fā)明的示例性實(shí)施例,可使用混合傳輸流,其包括少 (特別是最少)數(shù)量的、允許創(chuàng)建慢進(jìn)MPEG兼容傳輸流所必需的純文本 必要信息,同時確保信息的大部分保持加密。本文中的一個方面是在 加密傳輸流的各個幀被重復(fù)以提供慢進(jìn)模式。在特殊情況下,這就需 要各個幀的幀拆分和后續(xù)粘合是對穿越包邊界的MPEG畫面起始碼進(jìn)行
校正所必須。在這個應(yīng)用中,公開了實(shí)現(xiàn)粘合的可能性。
這樣,本發(fā)明的示例性實(shí)施例可包括為了隔離幀而進(jìn)行包的拆分。 這可包括復(fù)制幀以重復(fù)B-幀,以及利用空幀重復(fù)初始I-或P-幀的選項(xiàng)。
另外,可以從部分加密的起始碼開始,并且可提供實(shí)現(xiàn)一種算法以 確定在(非)加密包內(nèi)存在的起始碼字節(jié)的數(shù)量。結(jié)果,可使得包的粘 合成為可能。在包的連接導(dǎo)致超過預(yù)定閾值(例如4個字節(jié))的起始 碼的情況下,該算法可計算要除去的字節(jié)數(shù)量。在連接導(dǎo)致少于預(yù)定 闊值(例如4字節(jié))的起始碼的情況下,可以插入附加粘合包。
因此,本發(fā)明的示例性實(shí)施例的目的在于對用于加密流的畫面起始 碼進(jìn)行檢測,這將導(dǎo)致包的拆分和粘合。
粘合可在存在部分起始碼的數(shù)據(jù)流位置處執(zhí)行,并可包括插入附加 包。適配域(AF)可為了填充、特別是為了傳輸流級別的填充而插入。 可選地,單元流級別的填充是可能的,例如包括在流中插入一個或更 多個簡單的"零"。
為了允許數(shù)據(jù)流處理而被解密的部分?jǐn)?shù)據(jù)流,可能大約為1°/ 或更 少,這樣99%或更多的流可保持加密。
接著,將描述本發(fā)明的進(jìn)一步的示例性實(shí)施例。
下面,將闡述用于處理數(shù)據(jù)流的設(shè)備的示例性實(shí)施例。然而,這些
實(shí)施例也適合于用于處理數(shù)據(jù)流的方法、計算機(jī)可讀介質(zhì)和程序單元。 該設(shè)備可包括解密單元,用于選擇性地用所述被解密的幀邊界部分 來替換(完整或部分)加密數(shù)據(jù)流的相鄰幀之間的加密幀邊界部分以便 形成所述部分解密的數(shù)據(jù)流。換句話說,可以通過這樣的方式處理完
全加密的數(shù)據(jù)流即相鄰幀之間的加密部分被相應(yīng)被解密的部分所替 換。解密單元可與存儲有加密內(nèi)容的存儲設(shè)備(例如硬盤或閃存器)分 離地定位,或可集成到這樣的存儲設(shè)備中。也可以是,這樣的存儲設(shè) 備已經(jīng)存儲了部分解密和部分加密的數(shù)據(jù)流(該數(shù)據(jù)流這也可表示為 混合流)。
特別是,解密單元可適合于選擇性地用解密的幀邊界部分來專門替 換在加密數(shù)據(jù)流的相鄰幀之間的加密幀邊界部分,并保持所有其他幀 部分被加密。因此,只有加密數(shù)據(jù)流中的必要部分才被解密,以便使 得基于這些純文本部分的花樣-播放流的生成成為可能。然而,在許多 情況下,流的主要或大多數(shù)部分保持加密以便獲取高級別的安全。
解密單元可適合于選擇性地用解密的幀邊界部分來替換加密幀邊 界部分,以便形成部分解密的數(shù)據(jù)流來作為生成具有少量的、優(yōu)選為 最少數(shù)量的解密部分的花樣-播放流的基礎(chǔ)。根據(jù)這個實(shí)施例,可能同 時具有幾乎完全加密的數(shù)據(jù)流,該數(shù)據(jù)流中只有那些用于生成如慢移
流(其可特別是慢進(jìn)流或慢退流)那樣的花樣-播放流所需要的部分被 選擇性地解密。
于拆分包的填充。因此,在拆分了不同幀之后,可以在每個拆分幀的 結(jié)尾和/或開始處插入純文本包。這樣的包可包含標(biāo)識或表征相應(yīng)幀所 需要的信息或可僅僅填充相鄰幀之間的邊界。更加詳細(xì)的,拆分不是 真正插入,它是拆分包的填充,其首先是先前幀的最后部分,然后是 當(dāng)前幀的第一部分。它可填充有適配域。
這樣的純文本包可包括標(biāo)頭和/或適配域(AF)。術(shù)語適配域源自
MPEG解碼中的域。
兩個幀的位置的識別以及基于對這樣識別的位置的校正來連接所復(fù)制 的拆分幀。因此,可通過檢查粘合部分來除去或消除在慢移花樣-播放 的上下文中、當(dāng)把所復(fù)制的拆分幀放置在一起時的任何可能的問題。 這將提高在花樣-播放模式中的再現(xiàn)質(zhì)量。
連接單元可特別適合于確定拆分幀的幀邊界部分的尺寸,并適合于 基于所確定的尺寸連接所述拆分幀。當(dāng)尺寸被確定為太大,例如超出
闊值(例如4字節(jié))時,幀邊界部分或畫面起始碼被相應(yīng)縮短以便符 合預(yù)定閾值。在另一情況下,當(dāng)幀邊界部分的尺寸小于預(yù)定閾值(例 如4字節(jié))時,例如通過在幀邊界部分插入附加部分來相應(yīng)增大該尺 寸。通過采取這個措施,畫面起始碼可被剪裁到期望的長度,這可改 進(jìn)整個系統(tǒng)的可控制性和可操作性。
該設(shè)備可包括用于存儲數(shù)據(jù)流的存儲單元。這樣的存儲單元可以是 硬盤或存儲卡,其能夠存儲數(shù)據(jù)流,例如包括音頻和/或視頻內(nèi)容。
該設(shè)備可適合于處理完全加密的數(shù)據(jù)流。換句話說,整個數(shù)據(jù)流可 完全^L加密并因此安全地對抗未授權(quán)的訪問。然后,由相應(yīng)純文本部 分選擇性地替換相鄰幀之間的專門定義的部分。然而,也在本發(fā)明上 下文中的是,基于其執(zhí)行處理的流被部分或完全解碼。
該設(shè)備可適合于處理包括幀內(nèi)編碼幀(I-幀)、前向預(yù)測幀(P-幀) 和雙向預(yù)測幀(B-幀)的組中的至少一個幀。在MPEG2中,I-幀是可獨(dú) 立解碼的幀。P-幀需要之前的I-幀或P-幀的信息。B-幀依賴于之前和 /或后續(xù)的I-幀或P-幀的信息。
該設(shè)備可適合于處理視頻數(shù)據(jù)和/或音頻數(shù)據(jù)的數(shù)據(jù)流。然而,這 樣的媒體內(nèi)容不是可利用根據(jù)本發(fā)明實(shí)施例的方案進(jìn)行處理的唯一的 數(shù)據(jù)類型。花樣-播放生成及類似應(yīng)用對于視頻(視聽)數(shù)據(jù)處理和(純) 音頻數(shù)據(jù)處理二者可能都是個問題。
設(shè)備可進(jìn)一步適合于處理數(shù)字?jǐn)?shù)據(jù)的數(shù)據(jù)流。
另外,設(shè)備可包括再現(xiàn)單元,用于再現(xiàn)或重放所處理的數(shù)據(jù)流,其 中再現(xiàn)單元可連接至連接單元(的輸出)。這樣的再現(xiàn)單元可包括揚(yáng) 聲器或耳機(jī)或頭戴耳機(jī)和/或光學(xué)顯示設(shè)備,以便音頻和可視數(shù)據(jù)都可 為人類所感知地進(jìn)行再現(xiàn)。
另外,設(shè)備可包括生成單元,用于處理用于在花樣-播放再現(xiàn)模式 再現(xiàn)的數(shù)據(jù)流。這樣的、適合于生成用于在花樣-播放再現(xiàn)模式進(jìn)行再 現(xiàn)的數(shù)據(jù)流的花樣-播放生成單元可由用戶通過用戶界面(例如設(shè)備的 按鈕、鍵盤或遙控)選擇相應(yīng)選項(xiàng)來進(jìn)行調(diào)整。由用戶選擇的花樣-播 放再現(xiàn)模式可以是包括慢移再現(xiàn)模式(特別是慢進(jìn)模式或慢退模式)、 靜止模式、快進(jìn)再現(xiàn)模式、快退再現(xiàn)模式、幀凍結(jié)再現(xiàn)模式、快速重 播復(fù)制模式、和退回復(fù)制模式組中的一個。然而其他的花樣-播放流是 可能的。對于根據(jù)花樣-播放系數(shù)的花樣-播放,只有部分的數(shù)據(jù)可用 于輸出(例如花樣-播放系數(shù)大于一),或同一個內(nèi)容可重放幾次(例如 花樣-播放系數(shù)小于一)。
根據(jù)本發(fā)明示例性實(shí)施例的設(shè)備可適合于處理MPEG2數(shù)據(jù)流。 MPEG2是由MPEG(移動畫面專家組)同意的、用于音頻和視頻編碼標(biāo)準(zhǔn) 的組的名稱,并公布為IS0/IEC 13818國際標(biāo)準(zhǔn)。例如,MPEG2用于編
碼廣播信號的音頻和視頻,其中該廣播信號包括數(shù)字衛(wèi)星和有線電視 (cable TV),但是也可用于DVD。
根據(jù)本發(fā)明實(shí)施例的設(shè)備可實(shí)現(xiàn)為包括以下設(shè)備的組中的至少一 個,這些設(shè)備為數(shù)字視頻記錄設(shè)備、具有網(wǎng)絡(luò)功能的設(shè)備、有條件訪 問系統(tǒng)、便攜式音頻播放器、便攜式視頻播放器、移動電話、DVD播放 器、CD播放器、基于硬盤的媒體播放器、互聯(lián)網(wǎng)無線電設(shè)備、公共娛 樂設(shè)備以及MP3播放器。然而,這些應(yīng)用僅是示例性的。
本發(fā)明的上面定義的方面和進(jìn)一步方面根據(jù)要在以下描述的實(shí)施 例的例子而變得明顯,并參考這些實(shí)施例的例子進(jìn)行闡述。
本發(fā)明將參考實(shí)施例的例子在以下更詳細(xì)地描述,但是本發(fā)明并不 限于這些實(shí)施例。
圖1圖示了加時戳的傳輸流包。
圖2示出了具有幀內(nèi)編碼幀和前向預(yù)測幀的畫面結(jié)構(gòu)的MPEG2組。
圖3圖示了具有幀內(nèi)編碼幀、前向預(yù)測幀和雙向預(yù)測幀的畫面結(jié)構(gòu) 的MPEG2組。
圖4圖示了特征點(diǎn)信息文件和所存儲的流內(nèi)容的結(jié)構(gòu)。
圖5圖示了用于在純文本流上進(jìn)行花樣-播放的系統(tǒng)。
圖6圖示了在花樣-播放中的時間壓縮。
圖7圖示了帶有以分?jǐn)?shù)表示的距離的花樣-播放。
圖8圖示了低速度花樣-播放。
圖9圖示了一般的條件訪問系統(tǒng)結(jié)構(gòu)。
圖10圖示了數(shù)字視頻廣播加密傳輸流包。
圖ll圖示了在圖IO的數(shù)字視頻廣播加密傳輸流包中的傳輸流包標(biāo)頭。
圖12圖示了允許在完全加密流上執(zhí)行花樣-播放的系統(tǒng)。
圖13圖示了完全傳輸流和部分傳輸流。
圖14圖示了用于流類型I和用于流類型II的權(quán)利控制消息。
圖15圖示了把控制字寫到解密器中。
圖16圖示了在快進(jìn)模式中的權(quán)利控制消息處理。
圖17圖示了對一個或兩個控制字的檢測。
圖18到圖22示出了根據(jù)本發(fā)明的示例性實(shí)施例、在執(zhí)行處理數(shù)據(jù)
流的方法期間獲得的不同數(shù)據(jù)流。
圖23圖示了根據(jù)本發(fā)明的示例性實(shí)施例、用于處理數(shù)據(jù)流的設(shè)備。
圖24圖示了根據(jù)本發(fā)明的示例性實(shí)施例、用于處理數(shù)據(jù)流的其他設(shè)備。
圖25圖示了在幀邊界處拆分包。
圖26圖示了在解密正常播放數(shù)據(jù)后的慢進(jìn)構(gòu)造。
圖27圖示了在每個幀邊界上具有純文本包的混合流。
圖28圖示了在所存儲的混合流上的慢進(jìn)構(gòu)造。
圖29圖示了在連接點(diǎn)處的不完整畫面起始碼。
圖30圖示了在正常播放中的重新定序的效果。
圖31圖示了在慢進(jìn)模式中的重新定序的效果。
圖32圖示了在錨幀之前插入空P-幀。
圖33圖示了后向預(yù)測空B-幀的使用。
圖34圖示了前向預(yù)測空B-幀的使用。
圖35圖示了每個幀為一個PES包拆分流。
圖36圖示了在PES標(biāo)頭的起始處拆分流。
圖37圖示了在畫面起始碼的起始處拆分流。
圖38圖示了在畫面起始碼內(nèi)拆分流。
圖39圖示了在連接點(diǎn)處的不完整畫面起始碼。
圖40圖示了 n+m=4的例子。
圖41圖示了 n+m>4的例子。
圖42圖示了 n+m<4的例子。
圖43圖示了到DTS的未修改距離。
圖44圖示了在一系列相同B-幀的邊界處的相等偏移。
圖45圖示了 B-幀數(shù)據(jù)長度。
圖"圖示了在B-幀大于一個幀時間的情況下的數(shù)據(jù)重疊。
圖47圖示了具有均勻分布的包的B-幀的壓縮。
圖48圖示了空幀的布局。
圖49圖示了空幀中的第一包的定位。
圖50圖示了基于先前幀的空幀的包距離。
圖51圖示了在一個幀時間上均勻分布的空幀的包。
圖52圖示了用于轉(zhuǎn)換到混合流的位置。
圖53圖示了根據(jù)完全加密的記錄生成安全的花樣-播放。
圖54圖示了完全純文本畫面起始碼的緩沖要求。
圖55圖示了在I-幀起始處的實(shí)際純文本區(qū)域。
圖56圖示了實(shí)際純文本區(qū)域。
圖57圖示了在兩個包上擴(kuò)展的畫面起始碼。
圖58圖示了附加到部分加密的畫面起始碼的空P-幀。
圖59示出了對應(yīng)于三個準(zhǔn)則條件的純文本數(shù)據(jù)區(qū)域。
圖60圖示了在MPEG2中的標(biāo)頭結(jié)構(gòu)。
圖61圖示了序列擴(kuò)展和序列標(biāo)頭碼。
圖62圖示了畫面編碼擴(kuò)展和畫面起始碼。
圖63圖示了在兩個包上擴(kuò)展的序列標(biāo)頭碼。
附圖是示意性畫出的且其不按比例,而不同圖中的相同參考數(shù)字指 向?qū)?yīng)元件。對于本領(lǐng)域技術(shù)人員將清楚的是,只要不偏離真實(shí)的發(fā) 明概念,本發(fā)明的替換但是等同的實(shí)施例是可能的,而且本發(fā)明的范 圍將僅由權(quán)利要求所限。
具體實(shí)施例
下面,參考圖l到圖13,將描述根據(jù)本發(fā)明示例性實(shí)施例的傳輸
流的花樣-播放實(shí)現(xiàn)的不同方面。
特別是,將描述在MPEG2編碼流上執(zhí)行花樣-播放的幾種可能性, 其中MPEG2編碼流可以是部分或全部加密的、或未加密的。下列i兌明 將以專門針對MPEG2傳輸流格式的方法為目標(biāo)。然而,本發(fā)明不限于 這個格式。
實(shí)際利用擴(kuò)展的、即所謂加時戳的傳輸流進(jìn)行試驗(yàn)。這包括傳輸流
包,其中所有的包被前置了其中放置傳輸流包到達(dá)時間的4字節(jié)標(biāo)頭。 這個時間可從在記錄設(shè)備處接收到包的第一字節(jié)時的、節(jié)目時鐘參考 (PCR)時間基準(zhǔn)的值中導(dǎo)出。這是個將定時信息與流存儲在一起的合適 方法,以便流的重放變成相對較容易的處理。
重放期間的一個問題是要確保MPEG2解碼器緩存將不上溢也不下 溢。如果輸入流符合解碼器緩存模式,恢復(fù)相關(guān)定時確保輸出流也是 兼容的。這里描述的一些花樣-播放方法獨(dú)立于時戳并且在帶有或不帶 有時戳的傳輸流上同樣也很好地執(zhí)行。
圖1圖示了加有時戳的傳輸流包100,其總長度104為188個字節(jié) 并包括具有長度105為4字節(jié)的時戳101、包標(biāo)頭102、和長度為184 字節(jié)的包有效負(fù)載103。下列描述將給出根據(jù)所記錄的傳輸流生成 MPEG/DVB(數(shù)字視頻廣播)兼容的花樣-播放流的可能性的概述,并意在 涵蓋所記錄的流的完整范圍,即從完全純文本的流(因此可以處理數(shù) 據(jù)的每個位)到完全加密的流(例如根據(jù)DVB方案)、以便只有傳輸流
標(biāo)頭和一些表格可用于處理的范圍。
當(dāng)為MPEG/DVB傳輸流創(chuàng)建花樣-播放時,當(dāng)內(nèi)容至少部分被加密時
問題就可能出現(xiàn)。也許不可能達(dá)到基本流級別的細(xì)節(jié)(這是通常的方 式),甚或不可能在解密前訪問任何包化的基本流(PES)標(biāo)頭。這也意
味著找到畫面幀是不可能的。已知的花樣-播放引擎需要能夠訪問和處 理這個4言息。
在該說明書的架構(gòu)中,術(shù)語"ECM"表示權(quán)利控制消息。這個消息可 以特別包括秘密提供者的私有信息且可以,在其他信息中間,包含解 密MPEG流所需要的加密控制字(CW)。 一般地,控制字在10-20秒內(nèi)失 效。ECM嵌于傳輸流的包中。
在該說明書的架構(gòu)中,術(shù)語"密鑰(key)"特別表示可存儲于智 能卡內(nèi)、并可使用E醒(即所謂可嵌于傳輸流中的"授權(quán)管理消息")傳 給智能卡的數(shù)據(jù)。這些密鑰可由智能卡使用來解密存在于ECM內(nèi)的控 制字。這樣的密鑰的示例性有效期是一個月。
在該說明書的架構(gòu)中,術(shù)語"控制字"(CW)特別表示解密實(shí)際內(nèi)容 所需的解密信息??刂谱挚捎芍悄芸ń饷苋缓蟠鎯τ诮饷芎诵?(decryption core)的存儲器中。
現(xiàn)在將描述關(guān)于在純文本流上的花樣-播放的一些方面。
優(yōu)選為是所創(chuàng)建的任何MPEG2流都是MPEG2兼容的傳輸流。這是因 為解碼器可不僅集成在設(shè)備內(nèi),而且也可通過諸如IEEE 1394接口之 類標(biāo)準(zhǔn)數(shù)字接口來連接。
需要考慮當(dāng)使用像MPEG2這樣、利用視頻的時間冗余來實(shí)現(xiàn)高壓縮 率的視頻編碼技術(shù)時可能發(fā)生的任何問題。幀不再可獨(dú)立地解碼。圖2 示出了多個畫面(GOP)組的結(jié)構(gòu)。特別是,圖2示出了流200,其包括 幾個具有I-幀201和P-幀202序列的MPEG2 GOP結(jié)構(gòu)。GOP尺寸以參 考數(shù)字203表示。GOP尺寸203設(shè)定為12幀,這里只示出I-幀201和 P-幀202。
在MPEG中,可使用其中僅第一幀獨(dú)立于其他幀進(jìn)行編碼的GOP結(jié) 構(gòu)。這就是所謂的幀內(nèi)編碼或1-幀201。預(yù)測幀或P-幀202利用單向 預(yù)測來編碼,這意思是其僅依賴于在先的I-幀201或P-幀202,這如 圖2的箭頭204所示。這樣的GOP結(jié)構(gòu)通常尺寸為12或16個幀201, 202。
圖3示出了多個GOP的其他結(jié)構(gòu)300。特別是,圖3示出了具有I-幀201、 P-幀202和B-幀301序列的MPEG2 GOP結(jié)構(gòu)。該GOP尺寸再 次用參考數(shù)字203表示。
如圖3所示,可以使用也包含雙向預(yù)測幀或B-幀301的GOP結(jié)構(gòu)。 為該例子選擇了大小為12幀的GOP尺寸203。 B-幀301利用雙向預(yù)測 來編碼,這意思是其依賴于先前和后面I-或P-幀201、 202,這如由彎 曲箭頭204為一些B-幀301所指示的那樣。壓縮幀的傳輸順序可能與 其顯示的順序不同。
要解碼B-幀301,就需要B-幀301(按顯示順序)之前和之后的參考 幀二者。為了最小化解碼器中的緩存要求,壓縮幀可被重新排序。所 以在傳輸中,參考幀可第一個傳輸。圖3中的較低部分也示出了在被 傳輸時的重新排序流。重新排序由直箭頭302指示。如果跳過所有的 B-幀301的話,則包含B-幀301的流能夠給出好看的花樣-播放畫面。 對于當(dāng)前的例子,這導(dǎo)致3x (3倍速)前進(jìn)(forward)的花樣-播放
速度o
即便MPEG2流不被加密(即純文本),花樣-播放也不是微不足道的。 僅僅基于I-幀的慢退的可能性被簡要提及。然而因?yàn)镸PEG2 GOP必須
倒轉(zhuǎn),所以有效的基于幀的慢退更加困難。也已知為慢速向前移動的 慢進(jìn)是一種顯示畫面以低于正常速度運(yùn)行的模式。利用使用生成花樣-
播放GOP的快進(jìn)算法的技術(shù),初級的慢進(jìn)形式也是可能的。把快進(jìn)速 度設(shè)置為一個介于零和一之間的值導(dǎo)致產(chǎn)生基于快進(jìn)花樣-播放G0P的 重復(fù)的慢進(jìn)流。對于純文本流這是沒有問題的,但是對于加密流來說, 這在某些具體條件下可導(dǎo)致部分I-幀的錯誤解密。存在有幾種選擇來 解決該問題,但是最適合的方式不是重復(fù)快進(jìn)花樣-播放GOP而是通過 附加空P-幀來擴(kuò)展花樣-播放G0P的尺寸。這個技術(shù)事實(shí)上也能夠?qū)崿F(xiàn) 慢退,這是因其基于用于快進(jìn)/快退的花樣-播放G0P并因此基于獨(dú)立 可解碼的I-幀。然而,因?yàn)橄铝性蚴褂眠@種基于I-幀的慢進(jìn)或慢退 并非優(yōu)選。正常播放中的I-幀之間的距離大約為半秒,而對于慢進(jìn)/ 退則,則該距離乘以慢速移動系數(shù)。所以這類慢進(jìn)或慢退不是消費(fèi)者 習(xí)慣的真正慢速移動,而是事實(shí)上它更象具有連續(xù)畫面之間的大時間 距離的幻燈片。
在另一個叫做靜止畫面模式的花樣-播放模式中,顯示畫面被暫停。 這可通過將空P-幀增加到I-幀中達(dá)靜止畫面模式周期來實(shí)現(xiàn)。這意味 著從最后I-幀得到的畫面被暫停。當(dāng)從正常播放切換至靜止畫面時, 這也可以是根據(jù)CPI文件中的數(shù)據(jù)的最近I-幀。這個技術(shù)是快進(jìn)/快退 模式的擴(kuò)展并導(dǎo)致了不錯的靜止畫面,特別是如果使用了交織截斷 (interlace kill)的話更是如此。然而當(dāng)從正常播放或慢進(jìn)/慢退切 換到靜止畫面時,位置精度常常不夠。
靜止畫面模式可被擴(kuò)展為執(zhí)行步進(jìn)模式。步進(jìn)命令使該流前進(jìn)到某 個在后或先前的I-幀。步進(jìn)大小最少為一個GOP但還可被設(shè)置為等于 整數(shù)個GOP的較高值。因僅使用了 I-幀,在這一情況下,步進(jìn)向前和 步進(jìn)向后都是可能的。
慢進(jìn)也可基于每一幀的重復(fù),這導(dǎo)致了平滑得多的慢速移動。慢進(jìn) 的最好形式事實(shí)上應(yīng)該是字段(field)而不是幀的重復(fù),這是因?yàn)闀r 間分辨率被加倍了并且沒有交織膺像。然而這對于固有基于幀的MPEG2 流實(shí)際上是不可能的,而且如果該流被大量加密會更甚。通過使用專 門的空幀以強(qiáng)制進(jìn)行重復(fù),可以為I-和P-幀顯著降低交織贗象。但是 這種交織降低技術(shù)不可用于B-幀。在這一情況下用于I-和P-幀的交織 截斷技術(shù)的使用是仍然有利的還是事實(shí)上為觀看者導(dǎo)致了更加令人煩
惱的畫面,都只能通過實(shí)驗(yàn)來驗(yàn)證。
基于個別幀的慢退因時間預(yù)測而事實(shí)上對于MPEG信號是非常復(fù)雜 的。完整的GOP必須被緩沖并被顛倒(reversed)。沒有我們知道的 簡單方法來以顛倒順序地再編碼GOP內(nèi)的幀。所以在這兩者間倒轉(zhuǎn)幀 順序幾乎必須要完整的解碼和編碼。這就要求對完整解碼的GOP的緩 沖以及MPEG解碼器和編碼器。
靜止畫面模式可被定義為基于幀的慢進(jìn)模式的擴(kuò)展。不管這個幀是 什么類型,它都基于重復(fù)顯示當(dāng)前幀長達(dá)靜止畫面模式周期。如果慢 速移動系數(shù)表明使正常播放流慢下來的系數(shù),那么這事實(shí)上是具有無 限慢速移動系數(shù)的慢進(jìn)。如果畫面被暫停在B-幀上就不可能有交織截 斷。在這個意義上,這個靜止畫面模式比基于靜止畫面模式的花樣-播 放G0P更差。這個可僅通過暫停畫面于I-或P-幀來進(jìn)行修正,其代價 是靜止畫面位置的精度在某種程度上差了。在這個情況下也可避免在 時間參考和PTS內(nèi)的不連續(xù)性。另外,因?yàn)镮-或P-幀的重復(fù)被空幀的 插入來強(qiáng)制而不是如對于B-幀所必須那樣通過幀數(shù)據(jù)本身的重復(fù)來強(qiáng) 制,所以位率被顯著降低。所以,從技術(shù)上講,畫面在I-或P-幀處暫
停是最好的選擇。
靜止畫面模式也可以以步進(jìn)模式擴(kuò)展。步進(jìn)命令從原理上將流推進(jìn)
到下一幀。通過步進(jìn)到下一P-幀或某個下一 I-幀,大的步進(jìn)大小是可 能的。在幀基礎(chǔ)上的向后步進(jìn)是不可能的。唯一的選擇方案是向后步 進(jìn)到先前I-幀之一。
已經(jīng)提到了兩類靜止畫面模式,即基于花樣-播放GOP的和基于幀 的模式。第一個最邏輯地連接于快進(jìn)/快退,而第二個則涉及慢進(jìn)。當(dāng) 從某個模式切換至靜止畫面時,優(yōu)選的是選擇相關(guān)的靜止畫面模式以 最小化切換延遲。從兩種方法得到的流看上去很相似,因?yàn)樗鼈兌际?基于空幀的插入以強(qiáng)制錨幀的重復(fù)。但是在詳細(xì)的流結(jié)構(gòu)層面上就存 在某些區(qū)別。
下面,將描述關(guān)于CPI("特征點(diǎn)信息")文件的某些方面。 在流中查找I-幀通常要求對該流進(jìn)行分析以找到幀標(biāo)頭??梢栽?進(jìn)行記錄的同時、或記錄完成后離線時、或半在線(事實(shí)上是離線, 但相對于記錄時刻有小的延遲)時,可以進(jìn)行對I-幀起始位置的定位。 I-幀的結(jié)尾可通過檢測下一個P-幀或B-幀的起始而找到。以這一方式推導(dǎo)出的元數(shù)據(jù)可存儲于一個獨(dú)立但耦合的文件中,該文件可表示成
特征點(diǎn)信息文件或CPI文件。這個文件可包含指向在傳輸流文件中的
每個I-幀的起始和最終結(jié)尾的指針。每個單獨(dú)的記錄都可以有其自己
的CPI文件。
特征點(diǎn)信息文件400的結(jié)構(gòu)可見于圖4。
除了 CPI文件400之外,還示出了所存儲的信息401。 CPI文件400 還可包含一些在此不討論的其他數(shù)據(jù)。
利用來自CPI文件400的數(shù)據(jù),就可能跳到流中任何I-幀201的 起始。如果CPI文件400也包含I-幀201的結(jié)尾,則就可確切得知為 了獲得完整I-幀201而從傳輸流文件讀取的數(shù)據(jù)量。如果因?yàn)槟硞€原 因而不知道I-幀結(jié)尾,那么整個GOP或至少大部分GOP數(shù)據(jù)都要被讀 取以確保讀取整個I-幀201。 GOP的結(jié)尾由下一個I-幀201的起始給 出。從測量中可知I-幀數(shù)據(jù)的數(shù)量可以是總的GOP數(shù)據(jù)的40%或更多。
已知的是,減少花樣-播放畫面刷新率可通過顯示每個I-幀201幾 次來實(shí)現(xiàn)。位率將隨之減少。這可通過在I-幀201之間增加所謂空P-幀202來實(shí)現(xiàn)。這樣的空P-幀202實(shí)際不是空的但可包含指示解碼器 重復(fù)先前幀的數(shù)據(jù)。這具有有限的位代價,這在很多情況下與I-幀201 相比都可被忽略。從實(shí)驗(yàn)中得知,對于花樣-播放畫面質(zhì)量,類似IPP 或IPPP之類的花樣-播放GOP結(jié)構(gòu)是可接受的,甚至在高花樣-播放速 度下是更有利的。最后得到的花樣-播放位率與正常播放位率具有相同 量級。也注意到了,這些結(jié)構(gòu)可降低所需要的、來自存儲設(shè)備的支持 帶寬。
這里將描述關(guān)于定時問題和流結(jié)構(gòu)的某些方面。
花樣-播放系統(tǒng)500圖示于圖5。
花樣-播放系統(tǒng)500包括記錄單元501、 I-幀選擇單元502、花樣 -播放生成塊503和MPEG2解碼器504?;?播放生成塊503包括分析 單元505、增加單元506、打包單元507、表格存儲器單元508和多路 復(fù)用器509。
記錄單元501將純文本MPEG2數(shù)據(jù)510提供給I-幀選擇單元502。 多路復(fù)用器509將MPEG2 DVB兼容的傳輸流511提供給MPEG2解碼器 504。
I-幀選擇器502從存儲設(shè)備501讀取特定的I-幀201。選擇哪個
I-幀201取決于將描述于下的花樣-播放速度。所檢索的I-幀201用于 構(gòu)建MPEG-2/DVB兼容的花樣-播放流,然后將該流送至MPEG-2解碼器 504用于解碼和呈現(xiàn)。
I-幀包在花樣-播放流中的位置不能耦合至初始傳輸流的相關(guān)定 時。在花樣-播放中,時間軸可隨速度系數(shù)而壓縮或擴(kuò)張,并且另外反 向以用于后退花樣-播放。因此,初始加時戳的傳輸流的時戳可能不適 合于花樣-播放生成。
另外,對于花樣-播放,初始PCR時基可能是干擾。首先不能保證 的是PCR在所選的I-幀201之內(nèi)是可得到的。但更加重要的是,PCR 時基的頻率會改變。根據(jù)MPEG2規(guī)范,這個頻率應(yīng)該在從27MHz起的 30ppm范圍內(nèi)。初始PCR時基滿足這個要求,但如果用于花樣-播放, 它應(yīng)該乘以花樣-播放速度系數(shù)。對于后退花樣-播放,這甚至導(dǎo)致時 基沿錯誤方向運(yùn)行。因此,不得不除去舊的PCR時基而把新的PCR時 間基準(zhǔn)加到花樣-播放流上。
最后,I-幀201通常包含兩個時戳,該兩個時戳告訴解碼器504 何時開始解碼該幀(解碼時戳,DTS)以及何時開始呈現(xiàn)例如顯示它(呈 現(xiàn)時間戳,PTS)。當(dāng)DTS和PTS分別等于PCR時基時可開始解碼和呈 現(xiàn),其中PCR時基通過流內(nèi)的PCR而在解碼器504中進(jìn)行重構(gòu)。例如, 在2個I-幀201的PTS值之間的距離對應(yīng)于它們在顯示時間方面的額 定距離。在花樣-播放中,這個時間距離隨著速度系數(shù)而被壓縮或擴(kuò)展。 因?yàn)樵诨?播放中使用了新的PCR時基,并且因?yàn)镈TS和PTS的距離 不再正確,所以I-幀201的原有DTS和PTS必須被替換。
為了解決上述難題,I-幀201可首先在分析單元505中被分析成基 本流。然后在基本流水平上添加空P-幀202。將所獲取的花樣-播放GOP 映射成一個PES包并將其打包為傳輸流包。然后添加糾正表格如PAT、 PMT等。在這個階段,將新的PCR時基和DTS以及PTS—起包括在內(nèi)。 傳輸流包前置有耦合至PCR時基的4字節(jié)時戳,以便花樣-播放流可由 與用于正常播放的相同輸出電路進(jìn)行處理。
下面,將描述關(guān)于花樣-播放速度的某些方面。在這里,首先,將 討論固定花樣-播放速度。
如前述,可使用如IPP這樣的花樣-播放GOP結(jié)構(gòu),其中在IPP中, I-幀201跟隨有兩個空P-幀202。假設(shè)初始GOP具有12個幀的GOP尺寸203,而且全部初始I-幀201都用于花樣-播放。這意p未著I-幀201 在正常播放流中具有12個幀的距離而相同I-幀201在花樣-播放流中 具有3個幀的距離。這導(dǎo)致花樣-播放速度為12/3=4x (倍速)。如果 幀內(nèi)的初始G0P尺寸203以G表示,幀內(nèi)的花樣-播放GOP尺寸以T表 示,且花樣-播放速度系數(shù)以Nb表示,則通常花樣-播放速度由下式給 出
Nb=G/T (1)
Nb也將被表示為基本速度??赏ㄟ^從初始流中跳過I-幀201實(shí)現(xiàn) 較高速度。如果使用每第二個I-幀201,則花樣-播放速度就是雙倍的, 如果使用每第三個I-幀201,則花樣-播放速度就是三倍的,依次類推。 換句話說,在所使用的初始流的I-幀201之間的距離是2、 3,依次類 推。這個距離可以總是整數(shù)。如果用于花樣-播放生成的I-幀201之間 的距離以D表示(D-1意味著使用每個I-幀201),那么通常的花樣-播 放速度系數(shù)N由下式給出
N=D*G/T (2)
這意味著基本速度的所有整數(shù)倍均可實(shí)現(xiàn),這導(dǎo)致了可接受的速度 集。應(yīng)該注意的是,對于后退花樣-播放D是負(fù)的,而D—導(dǎo)致靜止畫 面。數(shù)據(jù)僅在前向方向上可讀。因此,在后退花樣-播放中,數(shù)據(jù)向前 讀取而且進(jìn)行向后的跳轉(zhuǎn)以檢索由D給出的先前I-幀201。還應(yīng)該注 意的是,較大的花樣-播放GOP尺寸T導(dǎo)致較低的基本速度。例如,IPPP 導(dǎo)致比IPP更細(xì)粒度的速度集。
參考圖6,將闡述花樣-播放中的時間壓縮。
圖6示出了 T-3(IPP)和G=12的情況。對于D=2, 24幀的初始顯示 時間被壓縮成3幀的花樣-播放顯示時間,這導(dǎo)致N-8。在該給出的例 子中,基本速度是個整數(shù)但是這不是必須的情況。對于G^6和T-3, 基本速度是16/3=5 1/3,它不導(dǎo)致整數(shù)花樣-播放速度集。因此,IPPP 結(jié)構(gòu)(T-4)更適合于大小為16的GOP尺寸,這導(dǎo)致4x的基本速度。如 杲期望適于最普通的大小為12和16的GOP尺寸的單個花樣-播放結(jié)構(gòu), 可選擇IPPP。
其次,將討論任意花樣-播放速度。
在某些情況下,根據(jù)上面描述的方法中得到的花樣-播放速度集是
令人滿意的,在某些情況下則不是。在G-16和T-3的情況下,可能仍 然優(yōu)選整數(shù)花樣-播放速度系數(shù)。甚至在G=12和T=4的情況下,也可 能優(yōu)選在速度組中沒有例如7x那樣的速度?,F(xiàn)在,將反轉(zhuǎn)花樣-播放 速度公式并且距離D將由下式計算給出
D=N*T/G (3)
使用具有G42、 T=4和N=7的上面的例子,結(jié)果導(dǎo)致D-2 1/3。取 代跳過固定數(shù)量的I-幀201,可使用自適應(yīng)的跳躍算法,其基于什么 I-幀201最佳地匹配所需要的速度的事實(shí)來選擇下一個I-幀201。為 了選擇最佳匹配的I-幀201,可計算具有距離D的下一個理想點(diǎn)Ip并 且可選擇距離這個理想點(diǎn)最近的I-幀201之一以構(gòu)建花樣-播放G0P。 在下面的步驟中,再次可以通過以D大小來遞增上一個理想點(diǎn)來計算 下一個理想點(diǎn)。
如其中示出了具有分?jǐn)?shù)表示的距離的花樣-播放的圖7中可見,特 別是有三種選擇I-幀201的可能性
A、 距離理想點(diǎn)最近的I-幀;I-round(Ip)
B、 在理想點(diǎn)之前的最后一個I-幀;I=int(Ip)
C、 在理想點(diǎn)之后的第一歌I-幀;I=int(Ip)+l
可清楚地看見的,實(shí)際距離介于int(D)和int(D)+l之間變化,兩
個出現(xiàn)之間的比率取決于D的分?jǐn)?shù),以使得平均距離等于D。這意味著 平均花樣-播放速度等于N,但是實(shí)際使用的幀具有相對于理想幀的小 跳動。已經(jīng)利用此做了幾個實(shí)驗(yàn),而且雖然花樣-播放速度可局部發(fā)生 變化,但是這不是可見的擾動。通常,甚至在某種程度更高的花樣-播 放速度處,這都不會被特別注意到。從圖7還清楚地看出,選擇方法A、 B還是C沒有本質(zhì)區(qū)別。
利用這個方法,花樣-播放速度N不必是整數(shù)但可以是基本速度Nb 以上的任何數(shù)值。還可選擇這個最小值以下的速度,但是則畫面刷新 率可局部更低,這是因?yàn)橛行Щ?播放GOP尺寸T增加了一倍,或在 還要更低速度時甚至成為三倍或更多。這是由于花樣-播放GOP的重復(fù),因?yàn)樵撍惴▽⑦x擇相同I-幀201多于一次。
圖8示出了用于D=2/3 (其相當(dāng)于N-2/3NJ的例子。這里,使用 了求整函數(shù)(round function)來選擇I-幀201并且可看出幀2和4 被選擇了兩次。
不管怎樣,所描述的方法將允許連續(xù)變化的花樣-播放速度。對于 后退花樣-播放,為N選擇了負(fù)的值。對于圖7的例子,這僅意味著箭 頭700以其他方向指向。所描述的方法也將包括更早提到的固定花樣-播放速度集且它們將具有同樣的質(zhì)量,特別是如果使用求整函數(shù)的話 更是如此。因此,也許適合的是不管速度的選擇是怎樣的,總是應(yīng)該 實(shí)現(xiàn)在這一段落描述的靈活方法。
現(xiàn)在將討論關(guān)于花樣-播放畫面的刷新率的某些方面。 術(shù)語"刷新率"特別表示顯示新畫面的頻率。雖然不是速度相關(guān)的, 但是因?yàn)樗捎绊憣的選擇,所以將在此簡要討論。如果初始畫面 的刷新率表示為R(25Hz或30Hz),則花樣-播放畫面的刷新率(Rt)由下 式給出
Rt=R/T (4)
利用花樣-播放G0P結(jié)構(gòu)為IPP(T-3)或IPPP(T=4),則刷新率Rt對 于歐洲分別是8 1/3Hz和6 1/4Hz以及對于美國分別是10Hz和7 1/2Hz。 雖然對花樣-播放畫面質(zhì)量的判斷在某種程度上是主觀事件,但是根據(jù) 實(shí)驗(yàn)有清楚的提示,這些刷新率對于低速度是可接受的并且在更高速 度處甚至是有利的。
下面,將描述關(guān)于加密流環(huán)境的某些方面。
這里,作為在加密流上的花樣-播放的描述的基礎(chǔ)來給出有關(guān)加密 傳輸流的某些信息。它集中于用于廣播的條件訪問系統(tǒng)。
圖9圖示了現(xiàn)在將描述的條件訪問系統(tǒng)900。
在條件訪問系統(tǒng)900中,可將內(nèi)容901提供給內(nèi)容加密單元902。 在已經(jīng)對內(nèi)容901加密后,內(nèi)容加密單元902將加密內(nèi)容903供給內(nèi) 容解密單元904。
在本說明書中已經(jīng)聲明了 ECM表示權(quán)利控制消息。進(jìn)一步地,意思 是K固表示密鑰管理消息、G KM表示群密鑰消息以及E醒表示授權(quán)管理 消息??蓪⒖刂谱?06提供給內(nèi)容加密單元902以及ECM生成單元907。 ECM生成單元907生成ECM并將其提供給智能卡905的ECM解碼單元 908。 ECM解碼單元908根據(jù)ECM生成控制字,該控制字是需要的解密 信息并被提供給內(nèi)容加密單元904以解密加密的內(nèi)容903。
另外,將授權(quán)密鑰910提供給ECM生成單元907和KMM生成單元 911,其中K固生成單元911生成K醒并將其提供給智能卡905的K畫 解碼單元912。 K畫解碼單元912提供輸出信號給ECM解碼單元908。
另外,可將群密鑰914提供給K醒生成單元911和GKM生成單元 915, GKM生成單元915可進(jìn)一步提供有用戶密鑰918。 GKM生成單元 915生成GKM信號GKM并將其提供給智能卡905的GKM解碼單元916, 其中GKM解碼單元916取得作為進(jìn)一步輸入的用戶密鑰917。
除此之外,可將權(quán)利919提供給E固生成單元920,該EMM生成單 元920生成EMM信號并將其提供給EMM解碼單元921。位于智能卡905 中的EMM解碼單元921與將相應(yīng)控制信息提供給ECM解碼單元908的 權(quán)利列表單元913相耦接。
在許多情況下,內(nèi)容提供者和服務(wù)提供者想通過條件訪問(CA)系統(tǒng) 控制對某些內(nèi)容項(xiàng)目的訪問。
為實(shí)現(xiàn)這個,在CA系統(tǒng)900的控制下加密廣播內(nèi)容901。在接收 器處,,如果訪問由CA系統(tǒng)900許可的話,則在解碼和呈現(xiàn)之前解密 內(nèi)容。
CA系統(tǒng)900使用了分層等級結(jié)構(gòu)(見圖9)。 CA系統(tǒng)900以加密消 息(稱為ECM)的形式將內(nèi)容解密密鑰(控制字CW 906, 909)從服務(wù)器 傳輸給客戶機(jī)。ECM使用授權(quán)密鑰(AK)910加密。因安全原因,CA服務(wù) 器900可通過簽發(fā)K畫來更新授權(quán)密鑰910。 K醒事實(shí)上是特殊類型的 EMM,但是為了清楚起見可使用術(shù)語K醒。K醒也通過使用例如可以是 群密鑰(GK)914的密鑰進(jìn)行加密,其中群密鑰(GK)914通過發(fā)送再次是 特殊類型的E匪的GKM而被更新。GKM然后利用用戶密鑰(UK)917、 918 進(jìn)行加密,用戶密鑰是固定的嵌于智能卡905內(nèi)的唯一密鑰,并只有 提供者的CA系統(tǒng)900知道。授權(quán)密鑰和群密鑰存儲于接收器的智能卡 905中。
權(quán)利919(例如觀看權(quán)利)以E匪的形式發(fā)送給單個消費(fèi)者并本地存 儲于可靠的設(shè)備(智能卡9Q5)中。權(quán)利919耦合到特定節(jié)目。取決于訂
閱類型,權(quán)利列表913給予節(jié)目組訪問權(quán)限。如果在特定節(jié)目可得到 權(quán)利919,則ECM僅被智能卡905處理成密鑰(控制字)。權(quán)利E醒經(jīng)歷 與KMM相同的分層結(jié)構(gòu)(未在圖9示出)。
在MPEG2系統(tǒng)中,加密內(nèi)容、ECM和E醒(包括K醒和GKM類型)都 多路復(fù)用成單個MPEG2傳輸流。上述說明是CA系統(tǒng)900的綜述。在數(shù) 字視頻廣播中,只定義了加密算法、奇/偶控制字結(jié)構(gòu)、ECM和E醒的 全局結(jié)構(gòu)及其參考。CA系統(tǒng)900的詳細(xì)結(jié)構(gòu)以及ECM和E,的有效負(fù) 載被加密和使用的方式是提供者特定的。還有智能卡也是提供者特定 的。然而,從經(jīng)驗(yàn)中可知許多提供者實(shí)質(zhì)上遵循圖9的綜述結(jié)構(gòu)。
下面,將討論DVB加密/解密主題。
所應(yīng)用的加密和解密算法由DVB標(biāo)準(zhǔn)組織定義。原理上定義了兩個 加密的可能性,即PES級加密和TS級加密。然而,實(shí)際生活中,主要 使用TS級加密方法。傳輸流包的加密和解密是基于包進(jìn)行的。這意味 著每次接收新的傳輸流包都要重新啟動加密和解密算法。因此,包可 被單個加密或解密。在傳輸流中,因?yàn)槟承┝鞑糠直患用?例如音頻/ 視頻)而其他部分未,皮加密(例如表格),所以加密包和純文本包相混 合。甚至在一個流部分(例如視頻)內(nèi),加密包和純文本包也可混合。
參考圖10,將描述DVB加密傳輸流包1000。
流包1000的長度1001為188個字節(jié)并包括三部分。包標(biāo)頭1002 的尺寸1003為4個字節(jié)。在包標(biāo)頭1002之后,可將適配域1004包括 到流包1000中。此后,就可發(fā)送DVB加密包有效負(fù)載1005。
圖11圖示了圖10中的傳輸流包標(biāo)頭1002的詳細(xì)結(jié)構(gòu)。
傳輸流包標(biāo)頭1002包括同步單元(SYNC) 1010;傳輸錯誤指示符 (TEI)1011,其可指示包中的傳輸錯誤;有效負(fù)載單元起始指示符 (PLUSI)1012,其可特別指示在后續(xù)有效負(fù)載1005中的PES包的可能 起始;傳輸優(yōu)先權(quán)單元(TPI)1017,其指示傳輸?shù)膬?yōu)先權(quán);包標(biāo)識符 (PID)1013,用于確定包的分配;傳輸加擾控制(SCB)1014,用于選擇 解密傳輸流包所需的CW;適配域控制(AFLD)1015;以及連續(xù)性計數(shù)器 (CC)1016。這樣,圖10和圖11示出了已經(jīng)加密并包括不同部分的MPEG2 傳輸流包1000,這些不同部分為
-包標(biāo)頭1002是純文本的。它的作用是獲取重要信息,如包標(biāo)識 符(PID)號碼、適配域的存在、加擾控制位等。-適配域1004也是純文本的。它可包含重要定時信息如PCR。 -DVB加密包有效負(fù)載1005,其包含可已經(jīng)使用DVB算法加密的實(shí) 際節(jié)目內(nèi)容。
為了選擇解密所廣播的節(jié)目所需要的正確CW,有必要對傳輸流包 標(biāo)頭進(jìn)行分析。圖ll給出了這個標(biāo)頭的示意圖。解密所廣播的節(jié)目的 一個重要字段是加擾控制位(SCB)字段1014。這個SCB字段1014指示 解密器必須使用哪個CW來解密所廣播的節(jié)目。另外,還指示包的有效 負(fù)載是加密的還是純文本的。對于每個新傳輸流包,必須對這個SCB 1014進(jìn)行分析,這是因?yàn)樗S著時間變化并且隨著包的變化而變化。
下面,將描述關(guān)于在完全加密流上的花樣-播放的某些方面。
為什么這是個令人感興趣的話題的第一原因是在純文本和完全加 密流上的花樣-播放是可能范圍的兩個極端。另 一個原因是存在其中可 能必須記錄完全加密流的應(yīng)用。這樣,有個現(xiàn)有的、在完全加密流上 執(zhí)行花樣-播放的技術(shù)將是有用的?;驹硎菑拇鎯υO(shè)備讀取足夠大 的數(shù)據(jù)塊、解密它、在該塊中選擇I-幀以及用它構(gòu)建花樣-播放流。
這樣的系統(tǒng)1200描繪于圖12中。
圖12示出了在完全加密流上的花樣-播放的基本原理。為了這個目 的,將存儲于硬盤1201上的數(shù)據(jù)作為傳輸流1202提供給解密器1203。 進(jìn)一步,硬盤1201提供了具有ECM的智能卡1204,其中智能卡1204 根據(jù)這個ECM生成控制字并將其發(fā)送給解密器1203。
解密器1203使用控制字解密加密的傳輸流1202并將解密后的數(shù)據(jù) 發(fā)送給I-幀檢測器和濾波器1205。從那里,將數(shù)據(jù)提供給插入空P幀 單元1206,單元1206傳送該數(shù)據(jù)給機(jī)頂盒1207。從那里,將數(shù)據(jù)提 供給電視1208。
關(guān)于記錄包含什么的問題的某些方面將被提及。
為進(jìn)行對單個頻道的記錄,該記錄必須包含在后一階段重放對頻道 的記錄所需要的所有數(shù)據(jù)。人們可以訴諸于就在某個應(yīng)答器上記錄每 件事情,但是以這個方式,人們將記錄遠(yuǎn)多于人們重放想要記錄的節(jié) 目所需的內(nèi)容。這意味著帶寬和存儲空間二者都將被浪費(fèi)。所以代之 以,應(yīng)該只記錄實(shí)際需要的包。對于每個節(jié)目,這意p未著人們必須記 錄所有MPEG2強(qiáng)制包如PAT(節(jié)目關(guān)聯(lián)表)、CAT(條件訪問表)、和顯然 用于每個節(jié)目的視頻和音頻包、以及描述哪個包屬于節(jié)目的PMT(節(jié)目
映射表)。此外,CAT/PMT可描述流解密所需的CA包(ECM)。除非記錄 是在解密后以純文本進(jìn)行,否則那些ECM包也必須被記錄。
如果所進(jìn)行的記錄不包括來自全多路復(fù)用的所有包,則該記錄就成 為所謂的部分傳輸流1300 (見圖13)。圖13還圖示了全傳輸流1301。 DVB標(biāo)準(zhǔn)要求如果播放部分傳輸流1300,則所有正常DVB強(qiáng)制表格如 NIT(網(wǎng)絡(luò)信息表格)、BAT(節(jié)目業(yè)務(wù)群關(guān)聯(lián)表)等都被除去。替換這些 表格的是,部分流應(yīng)該具有插入其中的SIT(選擇信息表格)和DIT(不 連續(xù)信息表格)表格。
下面,將描述關(guān)于處理ECM的某些方面。
在花樣-播放期間跳轉(zhuǎn)到下一塊可意味著在該流中回跳。將要闡述 的是這也許不僅是花樣-播放反向的情況,也是在中等速度下的花樣-播放前向的情況。以下將闡述具有向前跳轉(zhuǎn)的前向花樣-播放和具有固 有向后跳轉(zhuǎn)的反向花樣-播放的情況。
具體問題可由數(shù)據(jù)必須被解密這一事實(shí)而引發(fā)??芍付ㄓ糜趥鬏?shù)?條件訪問系統(tǒng)。在正常播放中,所傳輸?shù)牧骺衫贸跏级〞r重建。但 是因?yàn)楦淖兊亩〞r,對于密碼學(xué)上的元數(shù)據(jù)的處理,花樣-播放可具有 嚴(yán)重的難題。數(shù)據(jù)可由于花樣-播放而在時間方面被壓縮或擴(kuò)展,但是 智能卡的延遲可保持不變。
為了創(chuàng)建花樣-播放流,所提到的數(shù)據(jù)塊可通過解密器。這個解密 器需要在加密處理中使用的控制字以解密該數(shù)據(jù)塊。這些控制字也可 被加密并存儲于ECM中。在正常的機(jī)頂盒(STB)中,這些ECM可以是所 調(diào)諧到的節(jié)目的 一部分。條件訪問模塊可提取ECM、發(fā)送它們到智能卡、 以及如果該卡具有解密這些ECM的權(quán)利或授權(quán),則可從中接收解密的 控制字??刂谱滞ǔ>哂邢鄬^短的壽命,例如,約10秒。這個壽命 可由在傳輸流包標(biāo)頭中的加擾控制位SCB 1014所指示。如果它變化了 , 就必須使用下一控制字。這個SCB變化或切換(toggle)以參考數(shù)字 1402及垂直線示于圖14中。
參考圖14,可以特別區(qū)分兩個不同的場景或流類型
根據(jù)圖14中的較低行1401示出的流類型I、每個ECM提供兩個控 制字(CW)。
根據(jù)圖14中的較高行1400示出的流類型II,每個ECM僅提供一 個控制字(CW)。
圖14圖示了兩個數(shù)據(jù)流1400、 1401,它們包括以參考數(shù)字1403 表示的順序排列的時段或分段A、 B、 C。在圖14的較高行1400中示出 的情況中,實(shí)質(zhì)上提供了每個相應(yīng)ECM—個控制字。與之相對的是, 在較低行1401中,每個ECM包括兩個控制字,即與當(dāng)前周期或ECM相 關(guān)的控制字、以及還有后續(xù)周期或ECM的控制字。這樣,關(guān)于控制字 的提供存在某些冗余。
在短暫的存在時間期間,解密信息的項(xiàng)目可傳輸幾次,以使得在這 樣控制字的存在時間中途調(diào)諧到這樣的頻道不意味著要等待下一控制 字。條件訪問模塊可只發(fā)送到它找到的第一個唯一的ECM到智能卡以 降低或最小化到該卡的通信量,這是因?yàn)榭捎邢喈?dāng)慢的處理器。
這示出了可能存在對在加密流上進(jìn)行花樣-播放的限制??赡艽嬖?隱含的高速度限制,這來自于智能卡處理能力的受限速度。在花樣-播 放中,10秒的控制字壽命可隨花樣-播放速度系數(shù)而被壓縮或擴(kuò)展。發(fā) 送ECM到智能卡并接收解密的控制字大約花半秒鐘。將控制字打包到 ECM中的方式可以是提供者特定的,并且尤其對于流類型I和流類型 n是不同的,這如圖14所示。
CW A表示用于加密周期A的CW, CW B表示用于加密周期B的CW, 以此類推。傳輸時間軸水平繪制。ECMA可定義為在周期A的大部分期 間存在的ECM。在該情況下可看出的是,ECM A保持用于當(dāng)前周期A的 CW,并且對于流類型I另外還保持用于下一周期B的CW。 一般地,ECM 可保持至少用于當(dāng)前周期的CW并且可保持用于下一周期的CW。由于快 速跳過(zapping),這對于所有或很多提供者都可能是正確的。
在繼續(xù)討論前,將提供關(guān)于解密器以及它可怎樣處理CW的更多信 息。解密器可包含兩個寄存器, 一個是用于"奇數(shù),,且一個是用于"偶 數(shù)"CW。"奇數(shù)"和"偶數(shù)"不是必須指CW本身的值是奇數(shù)或偶數(shù)。該術(shù) 語特別用于區(qū)分流中的兩個連續(xù)CW。哪個CW必須用于包的解密由包標(biāo) 頭中的SCB 1014所指示。所以用于加密流的CW在奇數(shù)和偶數(shù)之間交 替。例如,在圖14中這意味著CW A和CW C是奇數(shù),而CW B和CW D 是偶數(shù)。在被智能卡解密后,CW可以寫入到解密器的相應(yīng)寄存器中重 寫先前的值,這如圖15所示。
圖15圖示了包含偶數(shù)CW(寄存器1501)和包含奇數(shù)CW(寄存器1502) 的兩個寄存器1501、 1502。進(jìn)一步,圖15中示出了智能卡延遲1500,
那是智能卡從ECM檢索或解密CW所需的時間。
在流類型I的情況下,每個ECM保持兩個CW,并且作為結(jié)果在ECM 的解密后可重寫寄存器1501、 1502 二者。寄存器1501、 1502之一是 活動的而另一個是不活動的。哪個是活動的取決于SCB 1014。在該例 子中,SCB 1014將指示在時段B期間,偶數(shù)寄存器1501是活動的一個。 活動寄存器可僅僅用與它早已保持的一個CW相同的CW重寫,這是因 為那個特定時段的剩余部分的解密仍然需要它。因此,只有不活動的 寄存器可用新值重寫。
更近地觀察花樣-播放中的時段B。假設(shè)在這個時段的起始處,將 ECM發(fā)送給智能卡,所以在該時刻,遇到(crossed) SCB切換1402。 問題是然后能夠?qū)⑹裁碋CM發(fā)送給智能卡?
這個ECM應(yīng)該保持CW C以確保由智能卡進(jìn)行的及時解密用于在周 期C起始處使用。
它也可保持CWB而不干擾在解密器中CW的正確可用性。
再次參看圖14,可看出,對于流類型I這意味著發(fā)送ECMB,而對 于流類型II這意味著在周期B的起始處發(fā)送ECM C。 一般地,在ECM 保持兩個CW的情況下,可以發(fā)送當(dāng)前ECM,并且如果ECM只包含一個 CW的話,則提前一個周期進(jìn)行發(fā)送。但是提前一個周期發(fā)送ECM對于 嵌入式ECM可能是矛盾的,所以在那種情況下,嵌入式ECM必須從流 中除去。對于更加一般的處理方式,優(yōu)選的是初始ECM總是由花樣-播 放生成電路或軟件從流中除去。然而,這個不可能總是正確的。
圖16示出了在快進(jìn)模式中的ECM處理。
在多個被SCB切換1402隔離開的后續(xù)周期1403中,再現(xiàn)多個數(shù)據(jù) 塊1600,其中在不同數(shù)據(jù)塊之間出現(xiàn)轉(zhuǎn)換1601。
對于流類型I,在周期A和B之間的邊界處發(fā)送ECM B。對于流類 型II,在周期A和周期B之間的邊界處發(fā)送ECM C。進(jìn)一步地,根據(jù) 流類型I,在周期B和C之間的邊界處發(fā)送ECMC。對于流類型II,在 周期B和周期C之間的邊界處發(fā)送ECM D。
對于可在正確時刻處用于花樣-播放的ECM, ECM可存儲于分離的文 件中。在這個文件里,也可指示ECM屬于哪個周期(所記錄流中的哪個 部分)。MPEG流文件中的包可被編號。 一個周期(SCB切換1402)中的第 一個包的編號可與用于這個相同周期1403的ECM—起存儲。ECM文件 可在流的記錄期間生成。
ECM文件是可在記錄期間創(chuàng)建的文件。在該流中,可定位ECM包, 該ECM包可包含解密視頻數(shù)據(jù)所需要的控制字。每個ECM都使用達(dá)某 個周期,例如10秒,并可在這個周期內(nèi)傳輸(重復(fù))幾次(例如100次)。 ECM文件可包含這樣周期的每第一個新的ECM。 ECM數(shù)據(jù)可寫入這個文 件中,并可伴隨有一些元數(shù)據(jù)。首先,可給出序列號(從一開始算起)。 作為第二字段,ECM文件可包含SCB切換的位置。這可表示可用這個 ECM來正確解密其內(nèi)容的第一個包。然后可繼之以在這個SCB切換的時 間的位置作為第三字段。這三個字段之后可繼之以ECM包數(shù)據(jù)本身。
使用存儲于ECM文件中的SCB切換,可容易地檢測是否遇到這樣的 切換,甚至在跳轉(zhuǎn)期間也可如此。為了發(fā)送正確的ECM,可能需要知道 的是ECM是包含一個還是兩個CW。原理上,這是不可知的,因?yàn)樗?提供者特定的且是秘密。然而,這可通過在各種時刻發(fā)送ECM并在顯 示器上觀察結(jié)果而容易實(shí)驗(yàn)性地確定。另一個特別適合于在存儲設(shè)備 本身中實(shí)現(xiàn)的替代方法如下。在SCB切換時刻發(fā)送單個ECM到智能卡, 在接下來的兩個周期解密流并檢查PES標(biāo)頭。如果每個G0P —個PES 標(biāo)頭,則在每個周期內(nèi)大約有二十個PES標(biāo)頭。PES標(biāo)頭的位置可輕易 被檢測出,這是因?yàn)樵诎募兾谋緲?biāo)頭內(nèi)的PLUSI位可指示其存在。 如果僅在第一周期(在智能卡的延遲后)期間發(fā)現(xiàn)正確的PES標(biāo)頭,那 么ECM包含一個CW。如果在第二周期中也找到它們,則它包含兩個CW。
這種情況描述于圖17。
圖17圖示了用于一個CW檢測和兩個CW檢測的情況??煽吹?,提 供了加密內(nèi)容1700的不同周期1403。利用智能卡的延遲1500,可對 ECM A進(jìn)行解密以生成相應(yīng)CW。通過解密加密的內(nèi)容1700,可生成所 解密的內(nèi)容1701。圖17還示出了PES標(biāo)頭1702,即周期A(左)中的 PES標(biāo)頭和周期B (右)中的PES標(biāo)頭B。
圖17中用于一個CW的周期B的區(qū)域1703指示數(shù)據(jù)用錯誤的密鑰 進(jìn)行解密并因此被加擾。這個檢驗(yàn)可在記錄的同時進(jìn)行,在該情況下 將花費(fèi)例如20到30秒。它也可離線進(jìn)行,因?yàn)閮H僅兩個被PLUSI指 示的包(每個周期一個)將必須被檢驗(yàn),這將會非??焖?。在其中沒 有充分的PES標(biāo)頭可用的可能性較小的情況下,則可用畫面標(biāo)頭替代。 實(shí)際上,任何已知信息均可用于檢測。不管怎樣, 一個/兩個CW指示 可存儲于ECM文件中。
下面,將特別描述與處理慢進(jìn)流有關(guān)的某些方面。 接下來,將闡述基于花樣-播放G0P的慢進(jìn)、靜止畫面和步進(jìn)模式。 慢進(jìn),也可表示為慢速前移,是一種其中顯示畫面以低于正常速度 運(yùn)行的模式。利用上述參考圖7和圖8解釋的技術(shù),慢進(jìn)的一種形式 早已是可能的。將快進(jìn)速度設(shè)置為一個介于零和一之間的值導(dǎo)致了基 于快進(jìn)花樣-播放GOP的重復(fù)的慢進(jìn)流。對于純文本流,這是個合適的 解決方案,但是對于加密流,這可導(dǎo)致在某些特定條件下對部分I-幀 的錯誤解密。解決這個問題的一個選擇方案不是重復(fù)快進(jìn)花樣-播放 G0P而是通過添加空P-幀來擴(kuò)展花樣-播放G0P的尺寸。這個技術(shù)事實(shí) 上也可允許慢退,這是因?yàn)樗谟糜诳爝M(jìn)/快退的花樣-播放G0P并 因此基于可獨(dú)立解碼的I-幀。
這樣的基于I-幀的慢進(jìn)或慢退因?yàn)橐韵略蚨谔厥馇闆r下可能 是不合適的。正常播放中的I-幀之間的距離約半秒,并且對于慢進(jìn)/ 慢退,它乘以慢速移動系數(shù)。所以這類慢進(jìn)或慢退并非確切是通常理 解的慢速移動,而是事實(shí)上更象具有在連續(xù)畫面之間的大時間距離的 幻燈片。
在靜止畫面模式中,顯示畫面可暫停。這可通過把空P-幀添加到 I-幀中達(dá)該靜止畫面模式時長而實(shí)現(xiàn)。這意味著從最后的I-幀得到的 畫面被暫停。當(dāng)從正常播放切換到靜止畫面時,這也可以是根據(jù)CPI 文件中的數(shù)據(jù)的最接近的I-幀。這個技術(shù)是快進(jìn)/快退模式的擴(kuò)展,并 特別是如果使用交織截斷的話,則導(dǎo)致不錯的靜止畫面。然而,當(dāng)從 正常播放或慢進(jìn)/慢退切換到靜止畫面時,位置精度并不總是令人滿意 的。
靜止畫面模式可擴(kuò)展為實(shí)現(xiàn)步進(jìn)模式。步進(jìn)命令將流推進(jìn)到某個下 一或先前I-幀。步進(jìn)尺寸最小是一個GOP但是也可被設(shè)置為等于整數(shù) 數(shù)量個GOP的更高值。因?yàn)橹皇褂昧艘粋€I-幀,所以在這個情況下, 步進(jìn)向前和步進(jìn)向后都是可能的。
對于慢進(jìn)流的構(gòu)造,進(jìn)行了很多考慮。例如,在基本流級別上的慢 進(jìn)流構(gòu)造僅可在純文本數(shù)據(jù)上執(zhí)行。結(jié)果,慢進(jìn)流將是純文本,即便 正常播放流初始被加密也是如此。這樣的情況對于著作權(quán)持有人可能 是不可接受的。進(jìn)一步地,這比快進(jìn)/快退流的情況更壞,這是因?yàn)樗?br>
有信息,即每個幀,都出現(xiàn)于慢進(jìn)流的純文本中,而不僅是如快進(jìn)/快 退流的情況下僅僅出現(xiàn)幀的子集。因此純文本正常播放流可容易地根 據(jù)純文本慢進(jìn)流進(jìn)行重建。所以如果正常播放流是加密的話,則慢進(jìn)
流應(yīng)該加密。因?yàn)镈VB加密器在消費(fèi)者設(shè)備中是不允許的,所以只有 慢進(jìn)流使用來自初始傳輸?shù)募用軘?shù)據(jù)流的加密數(shù)據(jù)包、在傳輸流級別 上構(gòu)造時,這才可實(shí)現(xiàn)。
下面,參考圖18到圖63,將描述能夠在根據(jù)本發(fā)明示例性實(shí)施例 的系統(tǒng)中處理數(shù)據(jù)流的系統(tǒng)。
要強(qiáng)調(diào)的是,下面描述的系統(tǒng)可在參考圖l到圖17描述的系統(tǒng)的 框架中實(shí)現(xiàn)并且可以與其中任何一個系統(tǒng)組合實(shí)現(xiàn)。
下面,參考圖18到圖22,將描述根據(jù)本發(fā)明示例性實(shí)施例的處理 數(shù)據(jù)流的方法。
圖18示出了完全加密的MPEG2數(shù)據(jù)流1800,即因安全原因而在從 數(shù)據(jù)源轉(zhuǎn)移到播放設(shè)備期間被完全編碼的數(shù)據(jù)流。
為了提供慢進(jìn)花樣-播放模式,即與加密數(shù)據(jù)流1800相關(guān)的媒體內(nèi) 容的慢速移動重放,可進(jìn)行各種將在下面更詳細(xì)描述的操縱步驟。
作為第一步驟,如圖19中可看出的,對完全加密的MPEG2數(shù)據(jù)流 1800進(jìn)行處理以形成部分解密和部分加密的混合數(shù)據(jù)流1900。通過選 擇性地以相應(yīng)解密的幀邊界部分1901替換加密數(shù)據(jù)流1800的相鄰加 密幀1902之間的加密幀邊界部分1901、以形成部分解密和部分加密的 混合數(shù)據(jù)流1900,可以獲得混合數(shù)據(jù)流1900。更為詳細(xì)地, 一部分解 密的幀邊界部分1901由畫面起始碼部分1903形成。幀邊界部分1901 可以是可被單個解密的最小部分,而其中的一部分是(期望的)畫面起 始碼部分1903。這個過程可這樣執(zhí)行,以便包含在視頻內(nèi)容的后續(xù)幀 之間的畫面起始碼1903 (完整或部分地)的包1901成為純文本(即部分 1901變得被解密的),而數(shù)據(jù)流1900的剩余(在許多情況下是主要的) 部分,即實(shí)際音頻或視頻內(nèi)容1902,保持加密。然而,畫面起始碼1903 以被解碼的方式出現(xiàn)以便使花樣-播放的進(jìn)行能成為可能,這將在下面 進(jìn)行描述。
從圖20可看出,通過在幀邊界部分1901/畫面起始碼部分1903處 拆分混合數(shù)據(jù)流1900的相鄰幀1902來對混合數(shù)據(jù)流1900進(jìn)行進(jìn)一步 處理。換句話說,將連續(xù)并相鄰的混合數(shù)據(jù)流1900分離成包括各自幀邊界部分1901和相應(yīng)幀1902的不同部分。
另外,從圖21可看出, 一些拆分幀2000,即B-幀,根據(jù)預(yù)定慢進(jìn) 率而被重復(fù)一些次數(shù),在當(dāng)前實(shí)施例是三次。錨幀(I-幀和P-幀)使用 空幀2001重復(fù)。在當(dāng)前情況下,慢進(jìn)率是系數(shù)3。這意味著加密數(shù)據(jù) 流1800的視頻內(nèi)容應(yīng)該以速率與正常播放操作模式相比為1/3的慢進(jìn) 模式進(jìn)行再現(xiàn)。
要注意的是,同樣也可以重復(fù)錨幀(而不是插入空幀)多次以便實(shí)現(xiàn) 花樣-播放流。
通過對各個部分加密和部分解密的部分2000的多次重復(fù),并通過 順序地將復(fù)制的拆分幀2000相互連接,可能出現(xiàn)畫面起始碼1901和 幀1902的不同組所導(dǎo)致的相鄰部分不以合適的方式相互配合。為了這 個目的,如圖22所示,如果期望的話,通過選擇性地修改連接部分2200 來將這些部分粘合在一起,以便使混合數(shù)據(jù)流2201適合于花樣-播放。
下面,參考圖23,將描述根據(jù)本發(fā)明示例性的實(shí)施例的處理設(shè)備 2300。
通過處理設(shè)備2300,可以執(zhí)行如參考圖18到圖22描述的各種方 法步驟。
圖23示出了其中存儲了要再現(xiàn)的加密視聽內(nèi)容的硬盤2301。
處理設(shè)備2300可由如中央處理單元(CPU) 2302那樣的控制單元所 控制,而該控制單元本身又被人類用戶通過用戶接口 2303來控制。借 助于用戶接口 2303,人類用戶可控制處理設(shè)備2300的操作,例如可啟 動正常播放模式或如慢進(jìn)模式那樣的花樣-播放操作模式。
當(dāng)相應(yīng)控制信號從中央處理單元2302發(fā)送到硬盤2301時,以加密 形式的視聽內(nèi)容從硬盤2301發(fā)送到解密器2304。解密器2304適合于 選擇性地用解密的幀邊界部分1901替換在加密數(shù)據(jù)流1800的相鄰幀 1902之間的加密幀邊界部分以生成部分解密的數(shù)據(jù)流1900。
將部分解密的數(shù)據(jù)流1900提供給拆分單元2305,用于在幀邊界部 分1901處拆分部分解密的數(shù)據(jù)流1900的相鄰幀1902。將被分離開的 混合流部分2000的序列提供給復(fù)制單元2306,用于根據(jù)預(yù)定復(fù)制率復(fù) 制拆分幀2000多次(在圖18到圖22的例子中是三次),該預(yù)定復(fù)制率 可由微處理器2302和/或通過用戶操作用戶接口 2303來定義或確定。 接單元2307,其連接圖21的已復(fù)制拆分幀以便生成能夠進(jìn)行花樣-播 放的流2201。
這個流可提供給如帶有揚(yáng)聲器的監(jiān)視器那樣的再現(xiàn)單元2308,其 中在微處理器2302的控制下和/或在用戶經(jīng)由用戶接口 2303的控制 下,對這個內(nèi)容的再現(xiàn)是可能的。
可以預(yù)見到在再現(xiàn)單元2308內(nèi)的進(jìn)一步解密單元(未示出)以便解 密加密的數(shù)據(jù)流2201用于重放。
解密單元2304選擇性地用包含幀邊界部分1901的解密包來僅僅替 換在加密數(shù)據(jù)流1800的相鄰幀1902之間的加密幀邊界部分,并保持 所有其他幀部分1902加密。這確保了高的安全級別,因?yàn)橹挥羞x定部 分被解密,為了生成花樣-播放流2201,該選定部分必須是純文本的。
如將在以下詳細(xì)描述的,拆分單元2305能夠轉(zhuǎn)換可包括兩個連續(xù) 幀的數(shù)據(jù)的純文本包轉(zhuǎn)換為兩個包,每個包僅包含來自一個幀的數(shù)據(jù) 并填充每個包。粘合單元2307可基于標(biāo)識位置2200和基于校正所標(biāo) 識的位置來連接圖21中的經(jīng)復(fù)制的拆分幀,其中在標(biāo)識位置2200處, 幀邊界部分1901跨越兩個幀1902。
這樣的校正可包括確定幀邊界部分1901的尺寸部分。如果尺寸太
大,就可縮小,而如果尺寸小,可在增加長度。
幀1902可以是幀內(nèi)編碼幀(1-幀)、前向預(yù)測幀(P-幀)或雙向預(yù)測 幀(B-幀)。處理內(nèi)容1800可以是視頻數(shù)據(jù)和/或音頻數(shù)據(jù)的數(shù)據(jù)流。 再現(xiàn)單元2308能夠再現(xiàn)與連接單元2307相連接的數(shù)據(jù)流。加密數(shù)據(jù) 流1800可以是加密的MPEG2數(shù)據(jù)流。
下面,參考圖24,將描述根據(jù)本發(fā)明其他示例性實(shí)施例的數(shù)據(jù)處 理設(shè)備2400。
數(shù)據(jù)處理設(shè)備2400不同于數(shù)據(jù)處理設(shè)備2300之處在于,在圖24 的情況下,沒有預(yù)見到解密單元2304。在該情況下,混合數(shù)據(jù)流1900 直接從硬盤2301提供。這意味著要么解密單元2304集成在硬盤2301 內(nèi)、要么數(shù)據(jù)已經(jīng)以圖19示出的方式存儲于硬盤2301上。
下面,將根據(jù)本發(fā)明示例性實(shí)施例來闡述與慢進(jìn)花樣-播放再現(xiàn)有 關(guān)的進(jìn)一步細(xì)節(jié)。
接下來,將闡述將流拆分為分離的幀。
為了能夠在傳輸級上構(gòu)造慢進(jìn)流,有利的是每個單個幀可作為一系 列傳輸流包而可用。在每個幀一個PES包的情況下這很自然。PES包包 含于一系列傳輸流包中,這是因?yàn)镻ES和傳輸流包是排列好的。在每 個GOP—個PES包的情況下這就僅是用于I-幀的起始的情況。所有其 他幀的邊界幾乎都位于包內(nèi)部的某處。這個包包含來自兩個幀的信息。 所以第一,這個包可拆分成兩個包,第一個包包含來自第一幀的數(shù)據(jù) 而第二個包包含來自下一幀的數(shù)據(jù)。從拆分得到的兩個包中的每個都 可以適配域(AF)進(jìn)行填充。
這個情況如圖25所示。
圖25示出了包在幀邊界處的拆分。特別地,圖25圖示了多個TS 包2500,每個包括標(biāo)頭2501和幀部分2502。如可從圖25示出的數(shù)據(jù) 流的中央部分可看到的,包括標(biāo)頭2501和兩個連續(xù)幀2502的包被拆 分成兩個分離的部分,每個部分具有分離的標(biāo)頭2501并繼之以適配域 2503和相應(yīng)幀2502。
對包的拆分對于純文本流是不困難的。笫一選項(xiàng)是如圖26所示完 全地解密正常播放數(shù)據(jù)。圖26示出了在對正常播放數(shù)據(jù)的解密后的慢 進(jìn)構(gòu)造。將來自硬盤2601的加密的正常播放數(shù)據(jù)2600供給解密器 2602,以生成純文本流2603。將純文本流2603提供給幀拆分單元2604, 以用于以圖25示出的方式拆分不同幀。然后,將這個數(shù)據(jù)提供給慢進(jìn) 構(gòu)造單元2605以構(gòu)造慢進(jìn)流,然后將該慢進(jìn)流提供給機(jī)頂盒2606。
所存儲的完全加密流2600或存儲的混合流的解密和慢進(jìn)模式不是 困難的,這是因?yàn)樵诹鲀?nèi)沒有流數(shù)據(jù)被解密器2602跳過或復(fù)制。存儲 的流2600 (完全加密或混合)就以低于正常的速率饋送通過解密器 2602,這也意味著嵌入的ECM(權(quán)利控制消息)不存在問題。來自解密器 單元2602的純文本流2603然后可用于拆分包或事實(shí)上在幀拆分單元 2604中執(zhí)行任何必要的流操縱。最后得到的慢進(jìn)流在這個情況下是純 文本流.
根據(jù)加密的正常播放流來構(gòu)造加密的慢進(jìn)流在傳輸級別上執(zhí)行,這 是因?yàn)樵谔厥馇闆r下,在消費(fèi)者設(shè)備中使用DVB(數(shù)字視頻廣播)加密器 可能是不允許的。因此,需要僅僅在所有幀邊界上的少量純文本包2700 和2702的混合流(見圖27)。圖27進(jìn)一步示出了屬于I-幀2703、 B-幀2704或P-幀2705的力口密包2701。
下面,將描述如果存儲的流是完全加密的話,那么這樣的流可怎樣
在存儲設(shè)備的重放側(cè)生成。在這種情況下,圖26的解密器單元2602 可以是僅解密必要包的選擇類型。但是優(yōu)選地,流已經(jīng)存儲為如圖28 所示的混合流。
圖28圖示了在存儲的混合流2800上的慢進(jìn)構(gòu)造。在圖28示出的 隊(duì)列中,在硬盤2601和幀拆分單元2604之間未預(yù)見有解密單元2602。 然而,可然后預(yù)見解密器單元2801在機(jī)頂盒2606內(nèi)。
混合流中的純文本包2700、 2702現(xiàn)在也應(yīng)該允許對包含來自兩個 幀的數(shù)據(jù)的包進(jìn)行拆分。這可通過將在下面更詳細(xì)描述的準(zhǔn)則來保證。 然而,序列標(biāo)頭碼或畫面起始碼的某些部分仍然可位于加密包內(nèi)。在 這個情況下,理想的拆分輕易是不可能的。事實(shí)上,可在加密的和純 文本包之間進(jìn)行拆分。對這些問題的解決將在下面更詳細(xì)地描述。在 那種情況下,只有空P-幀接合到I-幀而且反之亦然。對于基于幀的慢 進(jìn),也可考慮其中有B-幀到B-幀的接合的其他類型結(jié)合。這可導(dǎo)致將 參考圖29闡明的、某些類型在這些幀邊界的粘合算法。
圖29圖示了其中示出了先前幀2900、當(dāng)前幀2912和下一幀2901 的數(shù)據(jù)流。在先前幀2900的結(jié)尾處,提供了三個字節(jié)的畫面起始碼
2902。 此外,在當(dāng)前幀2912的開始處,預(yù)見到一個字節(jié)的畫面起始碼
2903。 現(xiàn)在來看下一幀2901,包的幀結(jié)尾以前包括一個字節(jié)的畫面起 始碼2904。在下一幀2901的開始處,提供了三個字節(jié)的畫面起始碼 2905。圖29示出了不完整畫面起始碼可出現(xiàn)于接合點(diǎn)處。這可使得必 須在連接區(qū)域2906處進(jìn)行粘合。這樣,粘合應(yīng)該在B-幀2907和B-幀 2908的重復(fù)之間執(zhí)4亍。
圖29特別圖示了包標(biāo)頭2909、純文本數(shù)據(jù)2910和加密數(shù)據(jù)2911。 在圖29的例子中,只有一個字節(jié)的畫面起始碼在B-幀的起始和結(jié)尾處。 結(jié)果,在接合點(diǎn)處丟失兩個字節(jié)。將在下面更詳細(xì)描述的粘合算法可 修復(fù)這樣的問題。對于這個粘合,應(yīng)該知道的是畫面起始碼是怎樣拆 分的。這個信息可通過將在下面更詳細(xì)描述的方法來獲取。
下面,將更詳細(xì)地描述幀的重復(fù)。
在慢進(jìn)模式中,解碼器在某種程度上必須根據(jù)慢進(jìn)系數(shù)來被迫重復(fù) 畫面的顯示??誔-幀可用于強(qiáng)制由I-幀結(jié)果產(chǎn)生的畫面的重復(fù)。這個 技術(shù)也可用于由P-幀結(jié)果產(chǎn)生的畫面。然而,這個技術(shù)不能輕易用于 B-幀,因?yàn)榭誔-幀總是指向是I-幀或P-幀的錨幀。這事實(shí)上是用于任
何類型的空幀的情況。所以由B-幀結(jié)果產(chǎn)生的畫面的重復(fù)必須以其他 方式實(shí)現(xiàn)。 一個可能的方法是重復(fù)B-幀數(shù)據(jù)本身。因?yàn)橹貜?fù)的B-幀指 向與初始B-幀相同的錨幀,所以結(jié)果得到的畫面將是相同的。用于B-幀的數(shù)據(jù)量通常遠(yuǎn)多于用于空P-幀的數(shù)據(jù)量,但是一般地仍然顯著少 于用于I-幀的數(shù)據(jù)流。不管怎樣,傳輸也以慢-移動系數(shù)倍增,所以不 需要至少為平均的增加位率。
用于強(qiáng)制由I-幀或P-幀結(jié)果產(chǎn)生的畫面的重復(fù)的空幀可以是交織 截斷類型,因此降低了這些畫面的交織膺像。但是這樣的降低對于由B-幀結(jié)果產(chǎn)生的畫面輕易是不可能的,因?yàn)橹貜?fù)不是由空幀而是由B-幀 數(shù)據(jù)本身的重復(fù)所強(qiáng)制。所以B-幀將具有初始的交織效果。如果交織 截斷將用于I-幀和P-幀,則這將看上去非常別扭,因?yàn)閹в泻筒粠в?交織效果的畫面順序地出現(xiàn)于所顯示的畫面流中?,F(xiàn)在相信的是,僅 使用沒有交織截斷的空幀來構(gòu)造慢進(jìn)流可能更好。
可通過在傳輸流中、在初始I-幀或P-幀后插入空P-幀來實(shí)施I-和P-幀的重復(fù)。這樣的方法可用于包括后面繼之以空P-幀的I-幀的快 進(jìn)/快退流。然而,這個方法對于也包括B-幀的流可能不是絕對正確的, 如根據(jù)所存儲的、具有B-流的傳輸流來構(gòu)造慢進(jìn)流的情況那樣。由于 從傳輸數(shù)據(jù)到顯示流的重新排序,I-幀和P-幀將以錯誤位置重復(fù),這 樣就擾亂了幀的正常顯示次序。這顯示于圖30和圖31中。
圖30圖示了在正常播放中重新排序的效果。圖30示出了傳輸順序 3000和顯示順序3001。特別是,圖30解釋了在正常播放中重新排序 的效果。上面行示出了 GOP尺寸為12幀并包括I-幀2703、 P-幀2705 和B-幀2704的正常4番放轉(zhuǎn)移流3000。為了清楚起見,也示出了下一 傳輸GOP的前四個幀。圖30的下面行示出了在重新排序?yàn)轱@示次序后 的流300L索引指示顯示幀次序。根據(jù)MPEG2標(biāo)準(zhǔn)ISO/IEC 13818-2: 1995 (E)(特別見24和25頁),重新排序可如下執(zhí)行
- B-幀保持其初始位置;
-錨幀(即I-幀和P-幀)移為到下一錨幀的位置。 圖31示出了在慢進(jìn)模式中重新排序的效果。特別是,圖31圖示了 傳輸次序3100、重新排序后的次序3101和所顯示畫面的次序3102。 更詳細(xì)地查看根據(jù)正常播放流構(gòu)造的慢進(jìn)流,圖31的上面行示出了用 于這個情況的慢移動流的第一部分的傳輸次序3100,其中假設(shè)慢移動
系數(shù)為三??誔-幀可在I-幀和P-幀之后插入,而且B-幀可以重復(fù)。 圖31的中間行示出了重新排序的效果。圖31的底部行示出了在這個 情況下I-幀和P-幀是怎樣通過空P-幀來重復(fù)。空P-幀可導(dǎo)致作為由 先前錨幀結(jié)果產(chǎn)生的畫面的復(fù)本的顯示畫面,先前錨幀本身也可以是 空P-幀。在圖31中可見,由索引指示的正常顯示次序3102被擾亂了 , 這是因?yàn)閹?4的顯示拆分成兩部分。只有最后一次的幀14顯示于正 確位置。這也意味著B-幀可能被錯誤地解碼了。
下面,將描述怎樣修正這樣的缺陷的幾個選項(xiàng)。 一種可能性示于圖 32中。圖32示出了在錨幀前插入空P-幀。圖32中的三行與圖31的 三行相似。在圖32中,如上面行3100所示,在從存儲設(shè)備提取的傳 輸流中的錨幀之前插入空P-幀。在重新排序的流3101中,空P-幀現(xiàn) 在位于錨幀之后。如圖32的顯示畫面3102中可清楚看出的那樣,對 于錨幀的正確重復(fù),這是它們應(yīng)該在的位置。
但是,對于為什么避免空P-幀可以是適合的存在爭議。 一個爭議 關(guān)于錯誤在G0P內(nèi)的傳播。P-幀依賴于先前的錨幀而B-幀依賴于周圍 的錨幀。在到機(jī)頂盒的傳輸期間的數(shù)據(jù)錯誤導(dǎo)致編碼錯誤并因而導(dǎo)致 畫面中的干擾。如果這個錯誤是錨幀,則它就傳播直至G0P的結(jié)尾, 因?yàn)楹罄m(xù)P-幀依賴于這個錨幀。還影響了B-幀,因?yàn)樗鼈冇脕碜允芨?擾的周圍錨幀的畫面進(jìn)行解碼。這可能有畫面干擾朝向GOP的結(jié)尾逐 漸增加的結(jié)果。這對于其中G0P尺寸可以非常大并因而在時間上非常 長的慢進(jìn)可能是特別重要的。另一方面,B-幀中的數(shù)據(jù)錯誤僅有很有 限的效果,因?yàn)闆]有其他幀依賴于它。所以畫面干擾被限制于這個B-幀及其重復(fù)。有人可能爭議數(shù)據(jù)錯誤不應(yīng)該發(fā)生于數(shù)字接口上,但 是防止使用空P-幀可有第二個優(yōu)點(diǎn)。如果這些是交織截斷類型的話, 那么它們在解碼的畫面上的改變自然會導(dǎo)致用于后續(xù)幀的解碼錯誤。 所以交織截斷可能是不可能的。
參考空幀的構(gòu)造,可構(gòu)造幾個類型的空B-幀。這可具有不引入額 外的錯誤傳播而且可以使用交織截斷的優(yōu)點(diǎn)。
空B-幀的可能類型是前向預(yù)測空B-幀(可表示為Bf幀)和后向預(yù)測 空B-幀(可表示為Bb幀)。
B-幀通常是雙向預(yù)測的,但是也可存在單向預(yù)測B-幀。在單向預(yù) 測B-幀的情況下,它們可以是前向或后向預(yù)測。預(yù)測編碼意味著在解
碼期間使用錨幀用于預(yù)測后面的B-幀。所以由前向預(yù)測B-幀結(jié)果產(chǎn)生 的畫面可在解碼期間5f艮據(jù)先前錨幀構(gòu)造。這意味著Bf-幀強(qiáng)制先前錨幀 的重復(fù)。因此,它與空P-或Pe-幀具有相同效果。Bb-幀則具有相反效 果。它強(qiáng)制在它之后的錨幀的顯示。對于兩種類型的空B-幀,交織截 斷版本同樣是可能的。
下面,將描述怎樣使用這樣的空B-幀用于慢進(jìn)流的構(gòu)造。
圖33中描述了以Bb-幀為基礎(chǔ)的第一可能性。
Bb-幀插入在錨幀之前并在重新排序期間中保持它們的位置。錨幀 轉(zhuǎn)為到下一錨幀的位置。Bb幀強(qiáng)制在重新排序流中在它后面的錨幀的 顯示。
其他的選擇方案是如圖34所示的Bf-幀的使用。
在傳輸流中,Bf-幀插入在錨幀之后。錨幀在重新排序流中的重復(fù) 顯示由跟隨在它們后面的Bf-幀所強(qiáng)制。
對于快進(jìn)和快退流的構(gòu)造,對Bf-幀的使用與對空P-幀的使用相 似。事實(shí)上,在那種情況下,對Bf-幀的使用也是可能的,這樣甚至進(jìn) 一步地普及花樣-播放的生成。但是當(dāng)Bf-幀用于快進(jìn)和快退時,應(yīng)該 考慮重新排序的效杲。這意味著在快進(jìn)/快退流中、如PTS/DTS和時間 參考那樣的某些參數(shù)必須被適當(dāng)選擇。
接著,將描述各個幀的粘合。
特別是,將討論在不完整畫面起始碼的情況下的幀的粘合。為了確 定在慢進(jìn)流中的接合點(diǎn)處所需要的粘合行為,首先應(yīng)該清楚的是,初 始流在哪里被明確拆分成單個的幀。下面,將考慮每個G0P或每個幀 一個PES包的實(shí)際情況。
在每個幀一個PES包的情況下,如圖35所示,初始流可在具有 PLUSI的包和前面包之間拆分,。
在圖35中,示出了對于每個幀一個PES包的流的拆分。圖35示出 的數(shù)據(jù)流包括純文本包標(biāo)頭3500、適配域3501、純文本數(shù)據(jù)3502、加 密數(shù)據(jù)3503和純文本PES標(biāo)頭3504。更進(jìn)一步地,PLUSI的存在以參 考數(shù)字3505表示,而PES標(biāo)頭以參考數(shù)字3S06表示。
單個幀包括若干個完整的初始包。所以包拆分不是必須的。這個幀 拆分也可在完整加密的流中執(zhí)行,但是對于慢進(jìn)流的構(gòu)造,對某些純 文本數(shù)據(jù)的訪問仍然是需要的。在具有PLUSI的包的起始處進(jìn)行拆分也意味著不存在跨越兩個包的畫面起始碼。每個單個幀本身包含其正 確和完整的畫面起始碼。因此,在這種情況下不必有粘合行為。
然而,在每個GOP—個PES包的情況下,情況就不同了。除非在新 幀的畫面起始碼的之前有PES標(biāo)頭,否則幀之間的拆分在新幀的畫面 起始碼處進(jìn)行。
可使用以下算法用于確定拆分點(diǎn)
1、 同時在初始流中調(diào)查具有PLUSI位設(shè)置、畫面起始碼和畫面編 碼擴(kuò)展的包;
2、 如果首先碰到具有PLUSI位設(shè)置的包,那么就在這個包的起始 處進(jìn)行拆分(見圖36,包括畫面起始碼3600和畫面碼擴(kuò)展3601)。接 著,在流中搜索畫面編碼擴(kuò)展。在找到這個后,如在點(diǎn)1中描述的那 樣繼續(xù)搜索;
3、 如果首先碰到畫面起始碼,則在畫面起始碼的起始處進(jìn)行拆分。 在許多情況下,這意p未著包含畫面起始碼的包必須拆分成兩個包,第 一個包被指定給先前幀而第二個包被指定給后續(xù)幀(見圖37,其示出了 在畫面起始碼3600的起始處的流的拆分,其中適配域的插入位置以參 考數(shù)字3700表示)。兩個包都填充有適配域3700。然后第二包的有效 負(fù)載用畫面起始碼3600開始。將初始包的記錄時戳復(fù)制到每個由拆分 產(chǎn)生的兩個包中的每一個中。在兩個幀的接合點(diǎn)處將使用來自拆分還 是初始包的兩個包取決于將在下面闡述的具體情況。隨后,在該流中 搜索畫面編碼擴(kuò)展3601。在找到這個后,如在點(diǎn)1中描迷的那樣繼續(xù)
搜索;
4、 如果首先碰到畫面編碼擴(kuò)展,畫面起始碼必是不可檢測的,因 為它是部分加密的。這意味著當(dāng)前純文本區(qū)域以畫面起始碼的某些字 節(jié)開始。在這個情況下,在當(dāng)前純文本區(qū)域的第一純文本包的起始處 進(jìn)行拆分(見圖38,其示出了在畫面起始碼3600內(nèi)的流的拆分,并示 出了畫面起始碼3800以及畫面碼擴(kuò)展3601的字節(jié))。在已經(jīng)找到畫面 編碼擴(kuò)展3601后,繼續(xù)進(jìn)行在點(diǎn)1中描述的搜索。
對于具有每個幀一個PES包的流,所描述的算法也將導(dǎo)致正確的拆 分點(diǎn)。另外,該算法指定用于純文本流以及以上提到的混合流。
粘合僅在僅可由給定算法中的點(diǎn)4結(jié)果產(chǎn)生的不完整畫面起始碼 的情況下是必須的。所以只有點(diǎn)4導(dǎo)致非理想的拆分點(diǎn)。純文本流只 包含理想的拆分點(diǎn),這是因?yàn)榭倳业疆嬅嫫鹗即a。所以在這種情況 下不需要粘合。但是混合流將包含非理想的拆分點(diǎn)。下面描述的方法 可用于確定多少字節(jié)的畫面起始碼在非理想拆分點(diǎn)的每一側(cè)上。非理 想拆分點(diǎn)的效果將在下面詳細(xì)解釋。
接下來,將考慮在這樣的非理想拆分點(diǎn)處插入任何類型的空P-幀 的情況。下面將闡述如何處理第一空幀。等于在拆分點(diǎn)后的部分畫面 起始碼的若千個字節(jié)從第一空幀的畫面起始碼中除去。中間空幀不變。 必須為后續(xù)幀的畫面起始碼的丟失部分校正最后的空幀。所以可以將 這個丟失部分添加到最后空幀的結(jié)尾。不必要對在理想拆分點(diǎn)處插入 的空幀進(jìn)行改變。
下面,將考慮B-幀的重復(fù)。在B-幀在兩側(cè)都有理想拆分點(diǎn)的情況 下,不必要為該重復(fù)采取粘合行為。但是如果非理想拆分點(diǎn)出現(xiàn)于幀 的任何一側(cè)上,粘合行為可能是必要的或有利的。初始幀及其重復(fù)形 成了一系列的相等的B-幀。在該系列的起始或結(jié)尾是不必采取粘合行 為的,這是因?yàn)樵谶@里,幀要么連接到與正常播放流相同的幀要么連 接到空幀。在第一情況下,因?yàn)閿?shù)據(jù)的正常次序在該點(diǎn)處恢復(fù),所以 沒有不連續(xù)性。上面已經(jīng)給出用于第二情況的解決方案。所以只有其 中B-幀的結(jié)尾連接到相同B-幀的起始的中間接合點(diǎn)必須被考慮。這里 描述的例子引用上面參考圖29給出的例子并為了清楚而更加詳細(xì)地在 圖39中重復(fù)。
圖39圖示了在接合點(diǎn)處的不完整畫面起始碼。
為了正確粘合,必須知道在B-幀的結(jié)尾和起始處的畫面起始碼的 字節(jié)數(shù)量(在MPEG2內(nèi),起始碼可以是4字節(jié)的長度)。在結(jié)尾以n而 在起始以m表示字節(jié)的數(shù)量,對于理想的拆分點(diǎn)n=0而m-4。在非理想 拆分點(diǎn)的情況下, 一個幀的數(shù)量n和后續(xù)幀的數(shù)量m可通過下面示出 的方法來確定。
顯然n絕不能等于4,因?yàn)槟菢硬鸱謱⒁呀?jīng)在導(dǎo)致n-O的畫面起始 碼的起始處進(jìn)行。另一方面,m絕不能是0,因?yàn)樵谀欠N情況下,畫面 起始碼將完全地在先前幀內(nèi),而拆分將已經(jīng)在理想位置處進(jìn)行,這樣 導(dǎo)致m=4。所以0^^3和lSn^4是通常的情況。
為了得到同一個幀N的數(shù)量n和m,這些數(shù)量必須從圍繞幀的兩個 拆分點(diǎn)的信息中提取。所以n和m現(xiàn)在表示畫面起始碼在必須重復(fù)的 B-幀結(jié)尾和起始處的字節(jié)數(shù)量。作為結(jié)果,它們也表示在中間接合點(diǎn) 之前和之后的若干字節(jié)的畫面起始碼。
接著,將假設(shè)11+111=4。這是當(dāng)圍繞B-幀的兩個拆分點(diǎn)都是理想的情 況。但是已經(jīng)知道在那種情況下不需要粘合行為。然而,這也可以是 個當(dāng)兩個拆分點(diǎn)都非理想的情況。這個是圖40所描述的情況。
圖40因此圖示了 n+m=4的例子。
幀N的最后包以參考數(shù)字4000表示,而圖40還示出了以參考數(shù)字 4001表示的幀N的第一包。在邊界4002處不需要粘合行為。畫面起始 碼的字節(jié)(11=3)以參考數(shù)字4003表示,而畫面起始碼的字節(jié)(m-l)以參 考數(shù)字4004表示。
n+m=4這一事實(shí)意p未著在接合點(diǎn)處存在畫面起始碼字節(jié)的正確數(shù) 量,并且不需要粘合行為。
然而,圖41示出了 n+m>4的情況。
這意味著有太多在接合點(diǎn)的1、 2或3個字節(jié)。在這個情況下,從 第二幀的起始處除去了等于n+m-4的若干個字節(jié)。這通過用包含填充 字節(jié)的適配域(AF)來替換這些純文本字節(jié)來實(shí)現(xiàn)。如果適配域已經(jīng)存 在,其那么長度必須以m+n-4增加,而要丟棄的數(shù)據(jù)被填充字節(jié)替換, 該填充字節(jié)根據(jù)標(biāo)準(zhǔn)具有十六進(jìn)制值FF。
在n+m〉4和n〈3的特殊情況下,也可以不做粘合。實(shí)際上,人們得
到了基本流填充。
以參考數(shù)字4100表示了粘合行為有必要的點(diǎn)。在該例子中,畫面 起始碼的字節(jié)(n-2)以參考數(shù)字4101表示。畫面起始碼的字節(jié)(01=3)以 參考數(shù)字4102表示。更進(jìn)一步地,畫面起始碼的字節(jié)(n-2)以參考數(shù) 字4103表示而畫面起始碼的字節(jié)(瓜=2)以參考數(shù)字"(H表示。使用適 配域替換的字節(jié)位置(n+m-4)以參考數(shù)字4105表示。
參考圖42,假設(shè)n+m<4。
這意味著在接合點(diǎn)處從畫面起始碼中丟失了 1、 2或3字節(jié)。在這 個情況下應(yīng)該知道的是哪一個字節(jié)或哪幾個字節(jié)丟失了。因?yàn)閚和m 都是已知的,所以丟失字節(jié)可被唯一地標(biāo)識出。丟失字節(jié)現(xiàn)在置于進(jìn) 一步用適配域填充的新包中。這個粘合包然后置于兩個幀之間。這個 粘合包以參考數(shù)字4200表示。參考數(shù)字4201表示畫面起始碼的字節(jié) (n=2),參考數(shù)字4202表示畫面起始碼的字節(jié)(m=l)。參考數(shù)字4204表示插入的字節(jié)(4-n-m)。參考數(shù)字4205示出畫面起始碼的字節(jié)(m=l)。 下面,將描述使用時戳對幀和包的定位。
本描述使用前置于每個包的記錄時戳來處理幀和包在慢進(jìn)流的時 間軸上的放置。它從初始的正常播放幀的放置開始。然后描述B-幀的 重復(fù)和壓縮。接著,闡述空幀的放置。最后,討論關(guān)于PCR的某些事 項(xiàng)。
接下來,將解釋初始正常播放幀的定位。
如果接收必要數(shù)據(jù)前開始解碼的話,則可能出現(xiàn)解碼問題。如果幀 數(shù)據(jù)結(jié)尾到這個幀的DTS的距離對于慢進(jìn)和正常播放流是相等的話, 則這種可能的解碼問題對于慢進(jìn)流是可以避免的。這可通過下列步驟 來實(shí)現(xiàn)保持在相應(yīng)DTS的幀數(shù)據(jù)的起始處的距離等于正常播放流、 并以與來自初始正常播放流的相同的包距離來放置這個幀中的包。
圖43中描述了這種情況,其示出了到DTS的未修改的距離。到DTS 的距離可遠(yuǎn)大于圖43示出的距離。
圖43示出了以參考數(shù)字4300表示的正常播放的情況以及示出了以 參考數(shù)字4301表示的慢進(jìn)的情況。
幀數(shù)據(jù)的起始時刻由在這個幀的起始處的系統(tǒng)時間計時器的值給 出。這由虛擬PCR值PCRS表示。上標(biāo)N和S分別表示在所記錄的正常 播放流中的初始值和慢進(jìn)流中的新值。那么對于幀的起始的放置規(guī)則 由下式給出
DTSS-PCRSS=DTSN-PCRSN (5) 其可重新寫成
DTSS-DTSN=PCRSS-PCRSN (6)
在慢進(jìn)流的幀相對于它在正常播放流的初始位置的偏移由以下給
出
偏移-PCRSS-PCRS" (7)
這可轉(zhuǎn)換成
偏移-DTSS-DTS" (8)
可為每個慢進(jìn)幀計算所需要的DTS值,而且如果必要的話也可為沒 有DTS的GOP內(nèi)的正常播放幀進(jìn)行計算。現(xiàn)在在正常播放流中以及慢 進(jìn)流中的所有初始幀的DTS都是可用的,這些幀的偏移可計算為它們 的新和初始DTS值之差。然后這個偏移用于定位幀和校正出現(xiàn)于這個 幀的數(shù)據(jù)內(nèi)的PCRS的PCR值。后者是容易的;將偏移簡單地添加到初 始PCR基準(zhǔn)上。不改變PCR擴(kuò)展。這確保了在DTS和PCR之間不引入 漂移,這是因?yàn)樵趦煞N情況下的校正都等于偏移。那么新和初始PCR 基準(zhǔn)值之間的關(guān)系由下式給出
PCRba s es=PCRba s e"+偏移 (9)
幀的定位在某種程度上是更困難的。定位通過對前置于所有包的4 字節(jié)記錄時戳(TST)進(jìn)行校正來實(shí)現(xiàn)。為了這個目的,可從90kHz到 27MHz的基礎(chǔ)中重新計算偏移。直接的選擇將是將偏移乘以300。但是 當(dāng)從正常播放切換到慢進(jìn)時,這里必須考慮在PCR時鐘頻率中的可能 跳轉(zhuǎn)。如果時戳計數(shù)器的時鐘在記錄期間鎖定到PCR上的話,這種跳 轉(zhuǎn)將不會發(fā)生。但是如果因?yàn)橐粋€原因或其他原因、時戳不鎖定到PCR 的話,那么仍然可通過使用額外的倍增系數(shù)M來避免跳轉(zhuǎn)PCR時鐘頻 率。這個系數(shù)因此等于在所記錄的正常播放流中、包含PCR的最后兩 個包的時戳和PCR值的比率。最后意指在當(dāng)前幀的起始之前的最后兩 個PCR包。這個比率等于在鎖定時戳的理想情況下的比率。這至少兩 個PCR包用P(H)和Pk表示,那么對于幀中所有包的時戳的偏移由下式 給出
TST偏移=300 x偏移x M (10) 其中
<formula>complex formula see original document page 43</formula> (11)
這個公式中的PCR值事實(shí)上是基于27MHz時鐘的總PCR值。這可通 過下面方式從PCR基準(zhǔn)和擴(kuò)展中計算出
PCR=300 x PCRbase+PCRext (12)
很清楚的是,如果在包P(h)和Pk之間的TST或PCR值中存在包圓 (wrap),則在M的計算中就可出現(xiàn)奇怪的結(jié)果。這可簡單地避免。 如果用于包Pk的值小于用于包P(h)的,則必須在這個減法之前將對應(yīng) 于TST或PCR的范圍的值加到用于包Pk的值上。這意味著用于TST和 PCR的寄存器應(yīng)該比通常要求的要寬出一位。對于TST,這也意味著當(dāng) 這個條件發(fā)生時將這個附加位設(shè)置為一,否則就是設(shè)置為零。剩余位 總是等于初始TST位。
所計算的TST偏移用于校正這個幀中的所有包的時戳。這意味著將 偏移值添加到所記錄的時戳上。
下面,將闡述B-幀的重復(fù)。
由B-幀結(jié)果產(chǎn)生的所顯示畫面的重復(fù)由B-幀數(shù)據(jù)的重復(fù)來扭制執(zhí) 行。這導(dǎo)致在慢進(jìn)流中的一系列相同的B-幀。這個系列中的第一幀的 放置與處理初始正常播放幀的定位的情況相似。剩余幀被稱為重復(fù)的 B-幀。它們可與第一幀相同的方式進(jìn)行處理,這意味著將偏移計算為 在慢進(jìn)流和初始記錄流中的DTS值之差。所記錄的幀的DTS對于相同 B-幀的整個系列都是相等的。在慢進(jìn)流中,幀的DTS總是等于增加了 Delta的先前幀的DTS。這意味著重復(fù)的B-幀Ba的偏移也可利用下列 公式進(jìn)行計算,其中Bt表示先前B-幀
偏移{Bj-偏移(BJ+Delta (13)
然后用以前描述的方式使用偏移用于校正可能存在的PCR和(轉(zhuǎn)換
后)的特定Ba幀中的包的時戳。
圖44圖示了在一系列相同B-幀的邊界處的相等偏移。該情況為正 常播放(表示為參考數(shù)字4400 )和為慢進(jìn)(表示為參考數(shù)字4401 )進(jìn) 行了表述。
可示出的是,如果沒有空幀在這個接合點(diǎn)處插入的話,則一系列中
的第一個B-幀的偏移等于在慢進(jìn)流中的先前幀的偏移。有兩個情況滿 足這個要求。第一個情況是在前插入空幀的情況下當(dāng)把B-幀接合到先 前錨幀時。第二個情況是當(dāng)把B-幀接合到先前B-幀時。圖44闡明了 對于兩個B-幀的接合效果。事實(shí)上這對于該系列的結(jié)尾也是相同的。 同樣在這里,如果在這個點(diǎn)處沒有空幀插入的話,則接合點(diǎn)周圍的兩 個幀的偏移是相等的。圖44還為兩個接合的B-幀示出了這個。其他情 況是在使用Bf-幀的后插入的情況下,B-幀到后續(xù)錨幀的接合。
這意味著,在這樣的接合點(diǎn)周圍的兩個幀通過與在正常播放流中相 同的方式進(jìn)行連接。為了這個原因,在包包含了來自兩個幀的信息的 情況下,在這樣的接合點(diǎn)處總是使用初始包而從不使用由拆分產(chǎn)生的 兩個包。也很顯然的是(如已經(jīng)在上面解釋過的那樣),在這樣的點(diǎn)不 需要粘合。在所有其他結(jié)合點(diǎn)處,如果存在由拆分引起的兩個包就使 用。
下面,將說明B-幀的時間壓縮。
也許希望的是B-幀的時長通常將小于一個幀時間。 一般地這是對 的,但是偶然地,B-幀的傳輸時間可以大于一個幀時間。在利用大約 30秒的時長的測量中,檢測到1.4幀時間的B-幀。在圖45中描述了 這個測量。平均B-幀數(shù)據(jù)長度等于0. 6幀,但是經(jīng)常地,B-幀數(shù)據(jù)的 時長大于一個幀時間。
圖45示出了具有橫軸4501的圖示4500,其中沿橫軸畫出了以秒 為單位的時間。沿曲線4500的縱坐標(biāo)"02,以幀的時間數(shù)為單位畫出 了幀的長度。
只要B-幀的時長小于一個幀時間,通過用TST偏移校正其時戳的 B-幀的包的定位將導(dǎo)致正確的結(jié)果。但是如果在慢進(jìn)流中的B-幀大于 一個幀時間,它的結(jié)尾將與后續(xù)的幀重疊,這是因?yàn)閹钠鹗贾糜诰?離一個幀時間的距離。這個不是完全正確的,因?yàn)樽詈蟮闹貜?fù)B-幀將 不會與后續(xù)的幀重疊。B-幀大于一個幀時間的情況顯示于圖46中。圖 46圖示了在B-幀大于一個幀時間的情況下的數(shù)據(jù)重疊。
圖46圖示了正常播放情況4600、沒有壓縮的慢進(jìn)情況4601和有 壓縮的慢進(jìn)情況4602。幀時間以參考數(shù)字4603表示。B-幀具有參考數(shù) 字4604,下一幀具有參考數(shù)字4605,先前幀具有參考數(shù)字4606和壓縮B-幀以4607表示。此外,在相鄰幀之間的重疊以參考數(shù)字4608表 示。
先前和后續(xù)幀的類型對于所描述的效果沒有影響。所以它們可以是 錨幀、B-幀或甚至是空幀。
這意味著, 一系列相同B-幀中的所有B-幀除了最后一個之外都必 須被及時壓縮。這個壓縮可增加本地位率甚至到大約為總的正常播放 流的最大位率的級別。為了盡可能限制這個增加,B-幀中的包在可用 的幀時間上均勻分布。B-幀中第 一包的時戳利用早先已經(jīng)給出的偏移 規(guī)則進(jìn)行計算。如果B-幀的包表示為Pj,其中索引j是在B-幀內(nèi)包的 編號,那么在慢進(jìn)流中的壓縮B-幀的第一包的時戳由下式給出
TSTS {PJ =TSTN {PJ +TST偏移 (14)
對于幀的后續(xù)包,時戳的增量等于與一個幀時間除以幀中的包總數(shù) 量相對應(yīng)的值。在B-幀結(jié)尾處的額外包,如粘合包和PCR包,都必須 包含于這個數(shù)量內(nèi)。以Nb表示包的這個數(shù)量,并且以db表示壓縮B-幀 的包之間的距離,則這個距離由下式給出
db=300 xDelta/Nb (15)
壓縮B-幀和慢進(jìn)流的剩余包的時戳然后由下式給出
TSTs{Pj}=TSTs{P(j—J+db (16)
在非理想的情況下,用于距離計算的倍增系數(shù)300可導(dǎo)致在壓縮 B-幀的最后包和后續(xù)幀的第一 包之間的包距離問題。這個可通過不使 用系數(shù)300而是以與為偏移所描述的相同方式來轉(zhuǎn)換Delta而得到解 決。但是務(wù)實(shí)的解決方案是取Nb的值為比包的真實(shí)數(shù)量大一。圖47示 出了如何將具有不規(guī)則包距離和大于一個幀時間的時長的B-幀壓縮成 具有一個幀時間的時長和固定包距離的B-幀。 一個幀時間對應(yīng)于在時 戳中300 x Delta的增量。Nb被選擇為比包的真實(shí)數(shù)量大一的事實(shí)導(dǎo)致 一些在壓縮B-幀結(jié)尾處的空的空間。
因此,圖47圖示了具有均勻分布的包的B-幀的壓縮。
圖47示出了非壓縮狀態(tài)4700、壓縮狀態(tài)4701,示出了B-幀4702 和在一個幀時間內(nèi)壓縮的B-幀4703。
在所有情況下而不是僅僅如果需要壓縮時,可以使用用于B-幀的 相等包分布的方法。但是在絕大多數(shù)情況下,這意味著B-幀被擴(kuò)展了。 將TST偏移應(yīng)用到B-幀中的第一包意味著,這個包到DTS的距離等于 正常播放流。因此擴(kuò)展導(dǎo)致比在B-幀數(shù)據(jù)的結(jié)尾和相應(yīng)DTS之間的初 始距離更小的時間距離。但是應(yīng)該理解的是,幀的DTS絕不會早于幀 數(shù)據(jù)的起始一個幀時間。原因如下根據(jù)定義,幀的DTS和初始流總 是比先前幀的DTS晚一個幀時間。這個先前幀的DTS決不會早于這個 幀的數(shù)據(jù)的結(jié)尾,并因而決不在當(dāng)前幀的數(shù)據(jù)的起始之前。這意味著 隨機(jī)幀的DTS比這個幀的數(shù)據(jù)的起始至少晚一個幀時間。這也意味著 DTS總是在幀數(shù)據(jù)的結(jié)尾之后,即使這個數(shù)據(jù)在一個幀時間內(nèi)均勻分布 也是如此。所以所描述的相等包分布應(yīng)該適用于除了最后的重復(fù)B-幀 以外的所有B-幀。為了簡便起見,壓縮以及擴(kuò)展的幀可命名為壓縮幀。
粘合只有在B-幀的相同系列中的B-幀之間才必要。所以僅僅把可 能的附加粘合包添加到壓縮B-幀的結(jié)尾而決不會是別處。將附加PCR 包添加到除了最后重復(fù)的B-幀的結(jié)尾處之外的B-幀結(jié)尾處是因?yàn)樵谶@ 個點(diǎn)處沒有地方了。這又意味著附加PCR僅在壓縮B-幀的結(jié)尾處添加。 所以對于這些包來說,不需要特殊的放置算法,因?yàn)樗鼈內(nèi)慷及?于壓縮算法中。
B-幀壓縮的結(jié)果是,在幀數(shù)據(jù)內(nèi)對PCR值的校正對于這樣的B-幀 的不再是正確的。下面將描述在這個情況下這個PCR值是怎樣校正的 以及添加到壓縮B-幀結(jié)尾的PCR值是怎樣計算的。接下來,將描述空 幀的插入。
必須確定的是所插入的空幀位于何處。查看在慢進(jìn)流中的其他幀的 位置,就會清楚(特別是對于較大的慢速-移動系數(shù)),在要插入空幀 的點(diǎn)處存在主要的時隙。為了避免過量PCR距離帶來的問題,空幀應(yīng) 該分布于這個區(qū)域中且每個空幀應(yīng)該包含PCR。由于這個原因,將連續(xù) 空幀之間的距離選擇為一個幀時間。第一空幀直接接合到先前幀。這 在圖48中示出。
圖48示出了空幀的放置并圖示了先前幀4800、空幀4801,在幀時 間4802后放置的進(jìn)一步空幀4801,等等的序列。下一幀以參考數(shù)字 4803表示。
放置算法與空幀的先或后-插入或類型無關(guān)。然而,應(yīng)該在在空幀 中的第一個包的放置和剩余包的放置之間進(jìn)行區(qū)分。 下面,將闡述空幀中的第一包的放置。
從圖49可見,這里描述了空幀中的第一個包的定位。先前幀4900 跟隨有多個空幀4901、 4902、 4903等??諑械牡谝粋€包以FPi表示, 其中i是空幀在空幀序列內(nèi)的幀編號。
從FPi (其是第一空幀中的第一個包)的放置開始,存在有幾種選 擇方案來推導(dǎo)這個包的時戳。 一個是將值d添加到先前幀中的最后一 個包的慢進(jìn)時戳中。這個最后一個包再次以Pl表示,第一空幀中的第 一個包的時戳由下式給出
TSTS卿-TST"s {PL}+d (17)
d的值也可通過幾種方式選擇。 一個可能性是使用先前幀的最后兩 個包的時戳之差作為d的值。時戳然后要么從慢進(jìn)流要么從初始記錄 的流中獲取,這是因?yàn)閴嚎s幀無論如何都不會先于空幀。先前幀的最 后兩個包以Pw和Pl表示,d的值由下式給出
d=TST{Pj-TST{P(L—J (18)
如果用于d的計算的時戳是從慢進(jìn)流中獲取的話,用于FP!的計算 的乂^式也可寫成
TSTS =2 x TSTS {PL} -TSTS {P(L—"} (19)
通過重復(fù)地將與一個幀時間相對應(yīng)的值添加到FPi的時戳中,來獲 取后續(xù)空幀中的第一個包的時戳。在這個情況下這個值可選擇為300 xDelta。因此,后續(xù)空幀中的第一個包的時戳由下式給出
TSTS {FPJ =TSTS {FP(i—d} +300 x Delta (20)
下面,將闡述空幀中的剩余包的放置。
空幀中的包以Pj表示,其中j是在這個空幀內(nèi)的包編號。Pl是空
幀的第一個包,而空幀如上表示為FP。
剩余包的位置從空幀中的第 一個包推導(dǎo)出。因此必須確定包之間的 距離。事實(shí)上,只要距離不是太短這就不是關(guān)鍵的,這是因?yàn)橛袕V闊 的可用空間。這里將提及兩個選擇方案。
第一選擇方案再次是使用早先提到的d的值。這個值然后用于遞增 在空幀內(nèi)的包的時戳。這些時戳因此由下式給出
TSTs{Pj}=TSTs{P(j—J+d (21)
這在圖50中進(jìn)行了描述,其中示出了先前幀5000、第一空幀5001 和第二空幀5002的序列。因此,圖50圖示了基于先前幀的空幀中的 包-巨離。
第二選擇方案是在一個幀時間上均勻分布空幀中的包。在這個情況 下,增量等于與將一個幀時間除以空幀中的包數(shù)量相對應(yīng)的值。這個 包的數(shù)量以Ne表示,而包之間的距離以de表示,距離由下式給出
de=300 xDelta/Ne (22)
因此在空幀內(nèi)的包的時戳由下式給出
TSTD-TSU+de (23)
這個情況也在圖51中進(jìn)行了描述,其中再次示出了跟隨有第一空 幀5001和第二空幀5002的先前幀5000。
因此,圖51圖示了在一個幀時間上均勻分布的空幀中的包。 接著,闡述關(guān)于PCR的某些方面。
首先,可假設(shè)在慢進(jìn)流中沒有附加的PCR插入。因?yàn)镮-幀通常遠(yuǎn) 大于一個幀時間,很可能的是它將包含PCR。對于P-幀,該可能性已 經(jīng)降低了 。 B-幀絕大多數(shù)小于一個幀時間,所以很多B-幀將不包含PCR。這意味著雖然B-幀被重復(fù)了,但是在慢進(jìn)流中將出現(xiàn)PCR內(nèi)的大的間 隙。 一般地,可以說的是PCR之間的最大距離以慢移動系數(shù)增加。這 就清楚地要求在慢進(jìn)流中插入附加的PCR。
除了嵌于幀數(shù)據(jù)中的初始PCR之外,應(yīng)該將附加的PCR加到空幀和 B-幀的結(jié)尾處。后者包含有最后重復(fù)的B-幀的結(jié)尾的例外,這是因?yàn)?在這個點(diǎn)上沒有地方了。通過這些措施,仍然可能的是最大距離超出 DVB標(biāo)準(zhǔn)的要求,但是這到不了有問題的級別。 一般地,該情況甚至?xí)?比用于快進(jìn)/快退的情況更加有利。
早先至少對沒有壓縮的幀描述了對嵌于幀中的PCR的校正。某些其 他方法利于計算在空幀中和在B-幀的結(jié)尾處的附加PCR的PCR值以及 在壓縮B-幀中的PCR的PCR值。第一選擇方案是下列規(guī)則PCR值等 于在慢進(jìn)流中的先前PCR的值,該值利用在包含這些PCR的兩個包的
實(shí)際慢進(jìn)時戳之差進(jìn)行校正。分別以Pe和P(W)表示包含當(dāng)前和先前PCR
的包,在慢進(jìn)流中的當(dāng)前PCR由下式給出
<formula>complex formula see original document page 50</formula> (24)
還有,這里PCR表示根據(jù)基準(zhǔn)和擴(kuò)展計算得到的總PCR值。這個公 式對于理想情況是完美的但是在非理想情況下卻導(dǎo)致頻率變化并因此 有顯著的PCR抖動。這可通過應(yīng)用先前計算的修正系數(shù)M而避免。當(dāng) 前PCR已經(jīng)由下式給出
<formula>complex formula see original document page 50</formula>(25)
必須插入包中的PCR基準(zhǔn)和擴(kuò)展如下所示從PCR值來計算
<formula>complex formula see original document page 50</formula>) (26)
<formula>complex formula see original document page 50</formula>(27)
公式(26)、 (27)事實(shí)上用于調(diào)整所有PCR值,所以包括那些嵌于非 壓縮初始幀中的PCR。然而,具有校正系數(shù)的計算可導(dǎo)致可累積的舍入
誤差,這樣導(dǎo)致PCR時基相對于DTS的慢偏移。因此,為了將這個偏 移重置為零,對在非壓縮幀中的嵌入PCR的校正應(yīng)該通過如先前所描 述的那樣添加偏移值來執(zhí)行。
下面,將描述在哪里可構(gòu)造混合流。
這里描述的混合流可在幾個地方創(chuàng)建。事實(shí)上這些是與可能用于具 有純文本I-幀的流的相同的地點(diǎn)
1、 在衛(wèi)星廣播的情況下在廣播器或上行鏈路處;
2、 在有線電纜網(wǎng)絡(luò)的情況下在電纜前端處;
3、 在安全授權(quán)域的情況下在駐留網(wǎng)關(guān)處;
4、 在存儲設(shè)備的記錄側(cè)處。
然而,對于僅有幾個純文本包的流,可能有第五個地點(diǎn),即
5、 在存儲設(shè)備的重放側(cè)處。
圖52圖示了用于轉(zhuǎn)換到混合流的可能地點(diǎn)。
圖52的情況是廣播器5200將信號廣播給衛(wèi)星圓盤5201。衛(wèi)星圓 盤5201可傳輸信號給衛(wèi)星5202,且進(jìn)一步的衛(wèi)星圓盤5203可接收這 些信號。然后,可將信號提供給電纜前端5204并從這里提供給存儲設(shè) 備5205?;蛘?,信號可提供給駐留網(wǎng)關(guān)5206并從那里提供給存儲設(shè)備 5207??蛇x地,信號可從衛(wèi)星圓盤5203提供給存儲設(shè)備5208。在圖 52的地點(diǎn)1到5處,到混合流的轉(zhuǎn)換是可能的。
地點(diǎn)1和2可能難以實(shí)現(xiàn),這是因?yàn)樘峁┱咴谶@里可能具有有限的 影響。對于存儲設(shè)備,事實(shí)上到混合流的轉(zhuǎn)換在地點(diǎn)1、 2還是3實(shí)現(xiàn) 沒有差別。選擇方案3是個好的替代方案。甚至可在授權(quán)域的駐留網(wǎng) 關(guān)中改進(jìn)提供者的位置。在所有三種情況中,存儲設(shè)備在其記錄輸入 端接收混合流。這意味著在存儲設(shè)備中,解密和智能卡是不必要的, 至少對于正常播放和花樣-播放的生成是不必要的。但是如果使用對密 鑰幀等的檢測的元數(shù)據(jù)提取功能出現(xiàn)于存儲設(shè)備內(nèi)的話,則解密仍然 是必要的。
一個構(gòu)造混合流的很可能的地點(diǎn)可以是其中在存儲設(shè)備的記錄側(cè) 的情況4。雖然這可要求在記錄側(cè)的部分解密,但它仍然具有對于花樣 -播放的生成不需要解密的優(yōu)點(diǎn)。不管怎樣,優(yōu)選的是所記錄的流是混 合流。
在其中利用所有包都加密來進(jìn)行記錄的情況5中,仍然可能創(chuàng)建安 全的花樣-播放。而不是完整解密,也可僅解密這些需要的包而讓其余
仍然保留加密(見圖53)。
圖53圖示了從完全加密的記錄生成安全的花樣-播放。記錄設(shè)備 5300提供了加密的MPEG2數(shù)據(jù)5301并將后者提供到塊選擇器單元
5302。 從那里將數(shù)據(jù)提供給生成部分加密的MPEG2數(shù)據(jù)5304的解密器
5303。 將這個部分加密的MPEG2數(shù)據(jù)提供給幀選擇器5305,并從那里 將數(shù)據(jù)供給花樣-播放生成單元5306。花樣-播放生成單元5306生成 MPEG2 DVB兼容的傳輸流部分加密數(shù)據(jù)5307,其然后可提供給MPEG2 解碼器或解密器5308。
然而,不能使用象利用那些包和純文本進(jìn)行記錄可能會有的、預(yù)先 創(chuàng)建CPI(見圖4)的優(yōu)點(diǎn)。然而,生成主要為加密的花樣-播放流仍然 是可能的。系統(tǒng)配置是這樣的花樣-播放構(gòu)造單元生成在傳輸流級別 上構(gòu)造的加密流,而且ECM的插入不是選擇而是必須的。
下面,將闡述怎樣選擇應(yīng)該為純文本的包。
當(dāng)構(gòu)造混合流時,應(yīng)該確定哪個包應(yīng)該是純文本的。為了使得能夠 檢測和選擇所需要的純文本數(shù)據(jù),視頻流可首先被完全解密。然后確 定這個數(shù)據(jù)在純文本流中的地點(diǎn)并且它所在的純文本包替換了加密包 和初始流以形成混合流。
對于所選擇的純文本數(shù)據(jù),可使用三個準(zhǔn)則
1、 DTS/PTS和PES標(biāo)頭可改變,如果它們存在的話。為了這個目 的,所有的PES標(biāo)頭數(shù)據(jù)可放入純文本中。這意味著從具有PLUSI位 設(shè)置為一的包到包含PES標(biāo)頭的最后字節(jié)的包范圍中的包全部放入純 文本中。
2、 可能需要來自序列標(biāo)頭和序列擴(kuò)展的某些信息。為了這個目的, 從序列標(biāo)頭直至畫面起始碼的所有數(shù)據(jù)都放入純文本中。通過檢測四 個字節(jié)的碼,可檢測序列標(biāo)頭和畫面起始碼。這四個字節(jié)不必位于同 一個包內(nèi)。當(dāng)四個字節(jié)的最后一個被找到時,就檢測到了序列標(biāo)頭和 畫面起始碼。為了避免對于混合流構(gòu)造的過量緩沖,從包含序列標(biāo)頭 的第四個字節(jié)的包直至包含畫面起始碼的第四個字節(jié)的包全部放入純 文本中。當(dāng)在結(jié)果得到的混合流中搜索序列標(biāo)頭和畫面起始碼時,這 可導(dǎo)致某些異常情況。這將在下面解釋。
3、 需要畫面起始碼以檢測幀邊界。所以包含畫面起始碼的包應(yīng)該
放入純文本中。跟隨畫面起始碼的兩個字節(jié)也應(yīng)該是純文本。這些字
節(jié)包含可能需要改變的時間參考和標(biāo)識I-幀、P-幀B-幀的畫面編碼類 型。另外,需要某些來自畫面碼擴(kuò)展的信息。為了這個目的,從畫面 起始碼直至畫面碼擴(kuò)展結(jié)尾的所有數(shù)據(jù)都放入純文本中。當(dāng)?shù)谒膫€字 節(jié)被找到時,就檢測到了畫面起始碼。為了避免過度緩沖,從包含畫 面起始碼的第四個字節(jié)的包直至包含畫面編碼擴(kuò)展的最后字節(jié)的包的 范圍中的包全部放入純文本中。這將導(dǎo)致在所有幀邊界上的純文本包, 這對于特定花樣-播放流的構(gòu)造是超過了需要。但是對于前向慢移流的 構(gòu)造是必須的。
關(guān)于過度緩沖是什么意思以及它會引起什么的問題,可以說如果構(gòu) 造混合流,來自初始加密的和解密的流的包必須在一個流中相組合。 如果實(shí)時進(jìn)行,則可能需要某些緩沖。假設(shè)畫面起始碼分布于兩個視 頻包上,在最后字節(jié)被找到的時刻,在加密流中檢測到這四個字節(jié)畫 面起始碼。為了具有完整的畫面起始碼,純文本意味著不僅具有這個 最后字節(jié)的視頻包而且前面視頻包都應(yīng)該是純文本的。
其他數(shù)據(jù)可以是而且常規(guī)地將在這兩個視頻包之間。原理上,這可 以是一個大量的包。圖54示出了這樣情況的例子,其中在I-幀的結(jié)尾 處的畫面起始碼分布于兩個視頻包上。
更加特別的是,圖54示出了包括I-幀5401的緩沖器5400,而I-幀5401包括部分畫面起始碼5402。然后,音頻包5403跟隨后面。還 在緩沖器5400內(nèi)包括PSI塊5404和數(shù)據(jù)塊5405。在圖54中進(jìn)一步示 出了畫面起始碼檢測時刻5406、部分畫面起始碼5407和后續(xù)的P-幀 5408。
在圖54的情況下,不僅這兩個視頻包必須被緩沖,而且在這兩個 視頻包之間具有其他數(shù)據(jù)的所有包也必須被緩沖。雖然在該示例中示 出了畫面起始碼,很清楚的是,相同論證對于序列標(biāo)頭碼是有效的。 給出的準(zhǔn)則將所必須的緩沖降低為僅一個包。
如果滿足了三個定義的準(zhǔn)則之一,則將相應(yīng)包放入純文本中。三個 準(zhǔn)則的組合將經(jīng)常導(dǎo)致在每個幀邊界處僅一個純文本包。然而,在某 些實(shí)際情況中,對于某些流也可以是幾個包。事實(shí)上,理論上它甚至 可以是大數(shù)的包。
第一個例子是在每個GOP —個PES包內(nèi)、僅包含I-幀和P-幀的、
G0P尺寸為例如12個幀的流。在所執(zhí)行的實(shí)驗(yàn)中,在I-幀的起始處的 純文本包的數(shù)量總是一個。在I-幀結(jié)尾處以及事實(shí)上在所有其他幀邊 界處的純文本包的數(shù)量通常是一個但是有時是兩個。在I-幀起始處, 從PES標(biāo)頭到畫面碼擴(kuò)展的任何內(nèi)容都在一個包內(nèi)。在其他幀邊界處 的純文本包包含從畫面起始碼到畫面編碼擴(kuò)展結(jié)尾的所有數(shù)據(jù)。這個 數(shù)據(jù)可散布在兩個包上。
第二個例子是包括具有IBP結(jié)構(gòu)的I-幀、P-幀和B-幀的流、其中 在每個幀一個PES包內(nèi)的變化G0P尺寸具有從2到12的范圍內(nèi)的偶數(shù) 值。雖然這個流事實(shí)上是純文本流,但是好象它是加密的那樣將它用 于此。在I-幀起始處的純文本包的數(shù)量絕大多數(shù)應(yīng)該是兩個,而在I-幀結(jié)尾和其他幀邊界處總是一個。在I-幀起始處的兩個包主要是由于 量化表和序列標(biāo)頭的存在。在I-幀結(jié)尾和其他幀邊界處,從PES標(biāo)頭 到畫面編碼擴(kuò)展的數(shù)據(jù)全部在一個包內(nèi)。
應(yīng)該注意的是,由于PES結(jié)構(gòu),它不是純文本的I-幀的最后的包 而是事實(shí)上是下一幀的第一個包。這在其他情景中也可能發(fā)生。然而, 這不是問題,因?yàn)樵谶@個情況下I-幀中的最后一個包只包含I-幀數(shù)據(jù) 并且不需要被清除。
還應(yīng)該注意的是,在實(shí)踐中,三個選擇準(zhǔn)則的組合導(dǎo)致在每個幀邊 界處的一個連續(xù)的純文本視頻區(qū)域。理論上,不需要這個情況。準(zhǔn)則2 和3的組合總是導(dǎo)致連續(xù)的區(qū)域,但是理論上純文本PES標(biāo)頭區(qū)域可 以是獨(dú)立的區(qū)域。
下面,將闡述怎樣在混合流中找到必要信息。
在實(shí)踐中,在每個幀邊界有一個連續(xù)的純文本區(qū)域。在I-幀(G0P) 的起始處,純文本數(shù)據(jù)從PES標(biāo)頭的第一個字節(jié)運(yùn)行到畫面編碼擴(kuò)展 的至少最后一個字節(jié)。
在圖55中給出了一個例子。
圖55示出了在I-幀的起始處的實(shí)際純文本區(qū)域。圖55示出的數(shù) 據(jù)序列包括PES標(biāo)頭5500、序列標(biāo)頭5501、序列擴(kuò)展5502、 GOP標(biāo)頭 5503、畫面起始碼5504、畫面標(biāo)頭5505、進(jìn)一步的畫面標(biāo)頭5506、畫 面碼擴(kuò)展5507、和1-幀數(shù)據(jù)5508。
部件5500到5505涉及第一個I-幀包5509,而部件5506到5508 涉及第二個I-幀包5510。
所有必要數(shù)據(jù)都在這個區(qū)域內(nèi),并可通過對這部分始于用PLUSI 標(biāo)記的包的流進(jìn)行分析而輕易找到。
在1-幀的結(jié)尾處,有兩個可能性
1、 在每個幀一個PES包的情況下,純文本區(qū)域邊緣(在I-幀結(jié)尾 之后)也從PES標(biāo)頭的第 一字節(jié)開始,并運(yùn)行到至少畫面編碼擴(kuò)展的最
后字節(jié)。所有必要的數(shù)據(jù)可輕易找到,且I-幀中的最后包不需要清除 (見圖56左側(cè))。
2、 在每個GOP —個PES包的情況下,在I-幀結(jié)尾之后沒有PES標(biāo) 頭。實(shí)踐中,在這個位置處也沒有序列標(biāo)頭。在這個情況下,包含畫 面起始碼的第四個字節(jié)直至畫面編碼擴(kuò)展的最后字節(jié)的包是純文本的 (見圖56右側(cè))。畫面起始碼的四個字節(jié)可分布于兩個包上,例如一個 包中的前三個字節(jié)和下一包中的最后字節(jié)。在這個情況下,前三個字 節(jié)仍然是加密的。這好象暗示著這個畫面起始碼不能被檢測。
圖56圖示了實(shí)際純文本區(qū)域。在圖56的序列中,示出了 I-幀5600 的結(jié)尾,還有PLUSI出現(xiàn)位(present) 5601、 PES標(biāo)頭5602、畫面起 始碼5603、畫面標(biāo)頭5604、畫面編碼擴(kuò)展5605、P-幀或B-幀數(shù)據(jù)5606、 最后的I-幀數(shù)據(jù)5607、 I-幀結(jié)尾5608、畫面起始碼5609、畫面標(biāo)頭 5610、畫面碼擴(kuò)展5611、和P-幀或B-幀數(shù)據(jù)5612。
事實(shí)上,在每個幀邊界處都有純文本區(qū)域。所以檢測I-幀的結(jié)尾 就意味著在1-幀之后搜索第一個畫面起始碼。應(yīng)該清楚的是,只應(yīng)該 對純文本視頻包搜索這個碼,以避免在加密數(shù)據(jù)中的假肯定匹配。包
的有效負(fù)載是否為純文本由包標(biāo)頭中的加擾控制位指示。當(dāng)找到四個 字節(jié)的給定序列時(OxOO 0x00 0x01 0x00),該檢測只給出肯定匹配。
不考慮幀的類型,該序列對應(yīng)于畫面起始碼。不巧地是,畫面起始碼 不是必須在傳輸流包邊界上對齊。那意味著如果畫面起始碼分布于兩 個包上,則只有那些包中的第二個應(yīng)該是純文本的。 這描述于圖57中。
問題是以參考數(shù)字5700表示的兩個部分是否給出了假肯定匹配。 在圖57中,包標(biāo)頭以參考數(shù)字5701表示,包有效負(fù)栽純文本以參考 數(shù)字5702表示,而加密的包有效負(fù)載以參考數(shù)字"03表示。
上面的行5704指示完全位于第二個包內(nèi)的畫面起始碼。對于底部 行5705,則它完全位于第一包內(nèi)。剩余行5706指示了對于散布畫面起
始碼的三個可能性。
人們可能預(yù)期不可能檢測部分加密的畫面起始碼。然而,有一種方 式超越了這個難題。每個純文本區(qū)域應(yīng)該包含畫面起始碼或至少它的 最后字節(jié)。所以如果在純文本區(qū)域上找不到畫面起始碼,已知的是這
個區(qū)域必須以畫面起始碼的最后字節(jié)中的某些開始。如圖57所示,這 個字節(jié)數(shù)量可以是l、 2或3。事實(shí)上確切地檢測有多少字節(jié)是可能的。 在這方面,重要的是要注意到,畫面編碼類型的三個位決不能都是零 的,這是因?yàn)檫@是MPEG2標(biāo)準(zhǔn)所禁止的。因此,在圖57中用OxYY表 示的畫面起始碼中的第二字節(jié)決不能是0x00。所以如果純文本區(qū)域以 0x00、 0x01、 0x00開始,這些就是畫面起始碼的最后三個字節(jié)。如果 它以0x01、 0x00開始,那么這些就是最后兩個字節(jié)。如果它以0x00 開始但是沒有0x00、 0x01、 0x00,那就僅是最后字節(jié)。通過這個方式
;斤。如果需要或期望的;一,:面k型可從)節(jié)0xYY中讀取。'
也可以說的是,如果畫面起始碼散布于兩個包上,則看起來不可能 通過除去所有非I-幀數(shù)據(jù)來清除I-幀中的最后包。這事實(shí)上是正確的, 因?yàn)椴豢赡艹ギ嬅嫫鹗即a的加密部分。但是在花樣-播放流中構(gòu)造 中,將空P-幀附加到I-幀的結(jié)尾。這個空P-幀將以畫面起始碼開始。 所以畫面起始碼的加密字節(jié)可被重用,這是因?yàn)橐阎谧詈蠹用馨?結(jié)尾處有多少個這些字節(jié)。這個數(shù)量的字節(jié)從第一空P-幀的畫面起始 碼中除去,以4更加在I-幀之后。
圖58示出了這樣情況的例子。
在圖58中,示出了附加到部分加密畫面起始碼的空P-幀。畫面起 始碼以參考數(shù)字5800表示。圖58中也示出了時間參考5801。此外, 畫面編碼類型以參考數(shù)字5802表示??諑瑪?shù)據(jù)以參考數(shù)字5803表示。
在上面描述了實(shí)踐中預(yù)期的情況,但是理論上可能發(fā)生某些附加情 況。這源自這一事實(shí)理論上由準(zhǔn)則2和3結(jié)果產(chǎn)生的純文本PES標(biāo) 頭區(qū)域和純文本區(qū)域不需要被連接但是被加密的視頻包分離開。為了 清楚起見,應(yīng)該提到的是,連續(xù)的純文本區(qū)域意味著視頻包序列是純 文本的但是其他的加密包可存在于其之間。
根據(jù)這些準(zhǔn)則,有三個需要訪問的重要數(shù)據(jù)區(qū)域
1、 PES標(biāo)頭信息;
2、 在序列標(biāo)頭和序列擴(kuò)展中的信息;
3、 從畫面起始碼到畫面編碼擴(kuò)展的信息。
這三個數(shù)據(jù)區(qū)域描述于圖59中。
圖59示出了與三個準(zhǔn)則相對應(yīng)的純文本數(shù)據(jù)區(qū)域。第一個方案示 出了 PLUSI出現(xiàn)位5900和PES標(biāo)頭5901。第二個圖示出了序列標(biāo)頭碼 5910、序列標(biāo)頭5911、序列擴(kuò)展碼5912和序列擴(kuò)展5913。還示出了 畫面起始;馬5914。
圖59中的第三圖示出了畫面起始碼5920、畫面標(biāo)頭5921、畫面編 碼擴(kuò)展碼5922和畫面編碼擴(kuò)展5923。
為了定位和正確地傳遞這個數(shù)據(jù),在流中必須找到三項(xiàng)
1、 在包標(biāo)頭中的PLUSI位;
2、 序列標(biāo)頭碼(0x00 0x00 0x01 0xB3);
3、 畫面起始碼(OxOO 0x00 0x01 0x00)。
通過只是尋找PLUSI位和包標(biāo)頭容易找到項(xiàng)1,而且如果它i殳置為 一,則包將從然后可經(jīng)過的PES標(biāo)頭開始。對于項(xiàng)2和3的情況更復(fù) 雜些,因?yàn)樾蛄袠?biāo)頭碼和畫面起始碼可散布于導(dǎo)致部分加密碼的2個 包上。因此,對這些碼的直接檢測將導(dǎo)致數(shù)據(jù)的某些損失。然而對于 這個問題有一個解決方法。如圖60搜索,在MPEG2中,序列擴(kuò)展和畫 面編碼擴(kuò)展的存在是強(qiáng)制性的。
圖60示出了在MPEG2中的標(biāo)頭結(jié)構(gòu),其包括序列標(biāo)頭單元6000、 序列擴(kuò)展單元6001、擴(kuò)展和用戶單元6002、 一組畫面標(biāo)頭單元6003、 用戶單元6004、畫面標(biāo)頭單元6005、畫面編碼擴(kuò)展單元6006、用戶單 元6007、畫面數(shù)據(jù)單元6008和序列結(jié)尾單元6009。
制訂用于純文本包的準(zhǔn)則的方法可保證這些擴(kuò)展將完全是純文本 的??赏ㄟ^首先搜尋等于0x00、 0x00、 0x01、 0xB5的擴(kuò)展起始碼找到
它們。接下來的四個位是擴(kuò)展起始碼標(biāo)識符。這四個位是對于序列擴(kuò) 展為0001,而對于畫面編碼擴(kuò)展為1000。如果存在序列擴(kuò)展,則序列 標(biāo)頭碼也應(yīng)該存在并是相同的,如果存在畫面碼擴(kuò)展,畫面起始碼也 應(yīng)該存在。這導(dǎo)致以下
-如果在純文本區(qū)域中找到序列擴(kuò)展而在相同區(qū)域中沒有檢測出 序列標(biāo)頭碼,那么序列標(biāo)頭碼應(yīng)該散布在兩個包上,其且序列標(biāo)頭碼 的最后一個或者多個字節(jié)是這個純文本區(qū)域頭一個或者多個字節(jié),而不考慮可能的PES標(biāo)頭(見圖61,其示出了序列標(biāo)頭碼6100、序列標(biāo) 頭6101和序列擴(kuò)展6102)。
-如果在純文本區(qū)域中找到畫面編碼擴(kuò)展而在相同區(qū)域中沒有檢測 出畫面起始碼,那么畫面起始碼應(yīng)該散布在兩個包上,并且畫面起始 碼的最后一個或者多個字節(jié)是這個純文本區(qū)域的頭一個或者多個字 節(jié),而不考慮可能的PES標(biāo)頭(見圖62,其示出了畫面起始碼6200、 畫面標(biāo)頭6201和畫面編碼擴(kuò)展6202)。
應(yīng)該注意的是這兩個情況決不會在一個純文本區(qū)域內(nèi)同時出現(xiàn)。如 果序列擴(kuò)展和畫面編碼擴(kuò)展都存在,則位于這兩者之間的畫面起始碼 將必然完全是純文本的。在這個情況下只有序列標(biāo)頭碼可被部分加密。當(dāng)然如果序列標(biāo)頭碼或畫面起始碼完全是文本的并因此以直接方式被檢測到,那么"應(yīng)k據(jù)的傳il就可立即開始。然而,如果遇到了i 述情況之一,則首先應(yīng)該知道的是在正確的傳遞開始前,這些碼中的 多少個字節(jié)在純文本區(qū)域的起始處或在PES標(biāo)頭之后。 一種為畫面起 始碼檢測這個方法可應(yīng)用于序列標(biāo)頭碼。
圖63示出了散布在兩個包上的序列標(biāo)頭碼。
圖63描述了序列標(biāo)頭碼的情況。只保證從第四個字節(jié)向后的純文 本。這個字節(jié)是等于0x00、 0x00、 0x01、 0xB3的序列標(biāo)頭碼中的最后 字節(jié)。所以如果存在序列標(biāo)頭碼,但是在這個區(qū)域沒有被檢測出,則 它的最后一些字節(jié)中的某些就必須存在于這個區(qū)域的起始處或PES標(biāo) 頭之后。至于畫面起始碼,確切檢測這些字節(jié)有多少是可能的。檢測 將始于該區(qū)域中的第一個純文本字節(jié)而不考慮PES標(biāo)頭。如果開頭幾 個字節(jié)是OxOO、 0x01、 0xB3,就有三個字節(jié),如果它們是0x01、 0xB3, 就有兩個字節(jié),而如果第一個字節(jié)是0xB3就只有這一個字節(jié)。知道字 節(jié)的數(shù)量并因而知道序列標(biāo)頭碼的最后字節(jié)的位置,畫面起始碼允許 對這個碼之后的數(shù)據(jù)的正確傳遞。
表l提供了在這個說明書使用的縮寫詞列表。
AFLD 適配域控制
BAT 節(jié)目業(yè)務(wù)群關(guān)聯(lián)表
CA 條件訪問
CAT 條件訪問表格
CC 連續(xù)性計數(shù)器cw控制字
CP I特征點(diǎn)信息
DIT不連續(xù)性信息表格
DTS解碼時戳
DVB數(shù)字視頻廣播
ECM權(quán)利控制消息
EMM權(quán)利管理消息
GK群密鑰
GKM群密鑰消息
GOP畫面群
HDD硬盤驅(qū)動
匿密鑰管理消息
MPEG活動畫面專家組
NIT網(wǎng)絡(luò)信息表格
PAT節(jié)目關(guān)聯(lián)表格
PCR節(jié)目時鐘參考
PES分包基本流
PID包標(biāo)識符
PLUSI有效負(fù)載單元起始指示符
PMT節(jié)目映射表
PTS呈現(xiàn)時戳
SIT選擇信息表格
SCB加擾控制位
STB機(jī)頂盒
SYNC同步單元
TBI傳輸錯誤指示符
TP I傳輸優(yōu)先級單元
TS傳輸流
UK用戶密鑰
表1與花樣-播放有關(guān)的術(shù)語的縮寫詞
應(yīng)該注意的是,上面提到的實(shí)施例示意了而不是限制了本發(fā)明,本
領(lǐng)域技術(shù)人員將能夠設(shè)計出很多其他實(shí)施例而不脫離由后附的權(quán)利要 求定義的本發(fā)明的范圍。進(jìn)一步地,所描述的任何實(shí)施例包括隱含特 征,比如,內(nèi)部電流源(如電池或蓄電池)。在權(quán)利要求中,任何置 于括號內(nèi)的參考數(shù)字不應(yīng)該理解成限制權(quán)利要求。單詞"包括"和"包含 "等不排除一般來說未列于任何權(quán)利要求或說明書中的那些元件或步 驟的存在。元件的單數(shù)引用不排除對這些元件的復(fù)數(shù)引用,反之亦然。 在列舉了幾個裝置的設(shè)備權(quán)利要求中,這些裝置中的幾個可由同 一項(xiàng) 硬件實(shí)施。僅僅在相互不同的從屬權(quán)利要求中敘述某些措施這一事實(shí) 并不表示這些措施的組合不能有利應(yīng)用。貫穿文本已經(jīng)交替使用術(shù)語 "數(shù)據(jù)"和"內(nèi)容",但是應(yīng)該將它們理解為等同物。
權(quán)利要求
1、一種用于處理數(shù)據(jù)流(1800)的設(shè)備(2300),其中所述設(shè)備(2300)包括拆分單元(2305),用于在幀邊界部分(1901)處拆分至少部分解密的數(shù)據(jù)流(1900)的相鄰幀(1902),所述部分解密的數(shù)據(jù)流(1900)包括在相鄰幀(1902)之間的被解密的幀邊界部分(1901);復(fù)制單元(2306),用于根據(jù)預(yù)定復(fù)制率復(fù)制拆分幀(1902)若干次;以及連接單元(2307),用于連接所述被復(fù)制的拆分幀(1902)。
2、 根據(jù)權(quán)利要求1的設(shè)備(2300),包括解密單元(2304),用于用 所述被解密的幀邊界部分(1901)來選擇性地替換在加密數(shù)據(jù)流(1800) 的相鄰幀(1902)之間加密幀邊界部分,以便形成所述部分解密的數(shù)據(jù) 流(1900)。
3、 根據(jù)權(quán)利要求2的設(shè)備(2300),其中所述解密單元(2304)適合 于用所述被解密的幀邊界部分(1901)來僅選擇性地替換在加密數(shù)據(jù)流 (1800)的相鄰幀(1902)之間的所述加密幀邊界部分,并且適合于保持 所有其他幀部分(1902)被加密。
4、 根據(jù)權(quán)利要求2的設(shè)備(2300),其中所述解密單元(2304)適合 于選擇性地用所述解密的幀邊界部分(1901)替換所述加密的幀邊界部 分,以便形成所述部分解密的數(shù)據(jù)流(1900),以作為生成具有降低或 最小數(shù)量的解密部分的花樣-播放流(2201)的基礎(chǔ)。
5、 根據(jù)權(quán)利要求1的設(shè)備(2300),其中所述拆分單元(2306)適合 于在所述每個拆分幀(1902)的開始處插入純文本包(1901)。
6、 根據(jù)權(quán)利要求5的設(shè)備(2300),其中所述純文本包(1901)包括標(biāo)頭和/或適配域。
7、 根據(jù)權(quán)利要求1的設(shè)備(2300),其中所述連接單元(2307)適合 于基于對其中幀邊界部分(1901)跨越兩個幀(1902)的位置的識別并基 于對所識別的位置的校正、來連接所述被復(fù)制的拆分幀(1902)。
8、 根據(jù)權(quán)利要求1的設(shè)備(2300),其中所述連接單元(2307)適合 于確定所述拆分幀(1902)的所述幀邊界部分(1901)的至少一部分的尺 寸,并適合于基于所確定的尺寸來連接所述拆分幀(1902)。
9、 根據(jù)權(quán)利要求8的設(shè)備(2300),其中在所確定的尺寸超出預(yù)定 閾值的情況下,所述連接單元(2307)適合于減少所述幀邊界部分(1901) 的至少一部分的尺寸。
10、 根據(jù)權(quán)利要求8的設(shè)備(2300),其中在所確定的尺寸低于預(yù)定 閾值的情況下,所述連接單元(2307)適合于增加所述幀邊界部分(1901) 的至少一部分的尺寸。
11、 根據(jù)權(quán)利要求10的設(shè)備(2300),其中所述連接單元(2307)適 合于通過在所述數(shù)據(jù)流(1800)中插入附加部分來增加所述幀邊界部分 (1901)的至少一部分的尺寸。
12、 根據(jù)權(quán)利要求1的設(shè)備(2300),包括存儲單元(2301),用于存 儲所述數(shù)據(jù)流(1800)。
13、 根據(jù)權(quán)利要求1的設(shè)備(2300),適合于處理完全加密的數(shù)據(jù)流 (1800)。
14、 根據(jù)權(quán)利要求1的設(shè)備(2300),適合于處理包括組中的至少一 個幀的數(shù)據(jù)流(1800),所述組包括幀內(nèi)編碼幀、前向預(yù)測幀和雙向預(yù) 測幀。
15、 根據(jù)權(quán)利要求1的設(shè)備(2300),適合于處理視頻數(shù)據(jù)或音頻數(shù) 據(jù)的數(shù)據(jù)流(1800)。
16、 根據(jù)權(quán)利要求1的設(shè)備(2300),適合于處理數(shù)字?jǐn)?shù)據(jù)的數(shù)據(jù)流 (1800)。
17、 根據(jù)權(quán)利要求1的設(shè)備(2300),包括再現(xiàn)單元(2308),用于再 現(xiàn)所處理過的數(shù)據(jù)流(2201),其中所述再現(xiàn)單元(2308)連接所述連接 單元(2307)。
18、 根據(jù)權(quán)利要求1的設(shè)備(2300),包括生成單元(2302),用于處 理所述數(shù)據(jù)流(1800)以便在花樣-播放再現(xiàn)模式中進(jìn)行再現(xiàn)。
19、 根據(jù)權(quán)利要求18的設(shè)備(2300),其中所述花樣-播放再現(xiàn)模式 是組中的一個,所述組包括慢進(jìn)再現(xiàn)模式、慢退再現(xiàn)模式、靜止再現(xiàn) 模式、步進(jìn)再現(xiàn)模式,和快速重播再現(xiàn)模式。
20、 根據(jù)權(quán)利要求1的設(shè)備(2300),適合于處理MPEG2加密數(shù)據(jù)流 (1800)。
21、 根據(jù)權(quán)利要求1的設(shè)備(2300),實(shí)現(xiàn)為組中的至少一個,而該 組包括數(shù)字視頻記錄設(shè)備;具有網(wǎng)絡(luò)功能的設(shè)備;條件訪問系統(tǒng);便攜式音頻播放器;便攜式視頻播放器;移動電話;DVD播放器;CD播放器;基于硬盤的媒體播放器;互聯(lián)網(wǎng)無線電設(shè)備;計算機(jī);電視設(shè)備;公共娛樂設(shè)備;以及 MP3播放器。
22、 一種處理數(shù)據(jù)流(1800)的方法,所述方法包括 在幀邊界部分(1901)處拆分至少部分解密的數(shù)據(jù)流(1900)的相鄰幀(1902),所述部分解密的數(shù)據(jù)流(1900)包括在相鄰幀(190"之間的 解密的幀邊界部分(1901);根據(jù)預(yù)定復(fù)制率復(fù)制拆分幀(1902)多次;以及連接所述被復(fù)制的拆分幀(1902)。
23、 一種計算機(jī)可讀介質(zhì),其中存儲有處理數(shù)據(jù)流(1800)的計算機(jī) 程序,當(dāng)所述計算機(jī)程序被處理器(2302)執(zhí)行時,適于控制或執(zhí)行以 下方法步驟在幀邊界部分(1901)處拆分至少部分解密的數(shù)據(jù)流(1900)的相鄰 幀(1902),所述部分解密的數(shù)據(jù)流(1900)包括在相鄰幀(1902)之間的 解密的幀邊界部分(1901);根據(jù)預(yù)定復(fù)制率復(fù)制拆分幀(1902)多次;以及連接所述被復(fù)制的拆分幀(1902)。
24、 一種處理數(shù)據(jù)流(1800)的程序單元,當(dāng)被處理器U30"執(zhí)行時,所述程序單元適于控制或執(zhí)行以下方法步驟在幀邊界部分(1901)處拆分至少部分解密的數(shù)據(jù)流(1900)的相鄰幀(1902),所述部分解密的數(shù)據(jù)流(1900)包括在相鄰幀(1902)之間的解密的幀邊界部分(1901);根據(jù)預(yù)定復(fù)制率復(fù)制拆分幀(1902)多次;以及 連接所述被復(fù)制的拆分幀(1902)。
全文摘要
一種用于處理數(shù)據(jù)流(1800)的設(shè)備(2300),其中設(shè)備(2300)包括拆分單元(2305),用于在幀邊界部分(1901)處拆分至少部分解密的數(shù)據(jù)流(1900)的相鄰幀(1902),所述部分解密的數(shù)據(jù)流(1900)包括在相鄰幀(1902)之間的被解密的幀邊界部分(1901);復(fù)制單元(2306),用于根據(jù)預(yù)定復(fù)制率復(fù)制拆分幀(1902)若干次;以及連接單元(2307),用于連接所述被復(fù)制的拆分幀(1902)。
文檔編號H04N7/167GK101346992SQ200680048660
公開日2009年1月14日 申請日期2006年11月28日 優(yōu)先權(quán)日2005年12月23日
發(fā)明者A·M·A·里克卡爾特, E·W·J·穆爾斯, R·P·J·M·曼德斯 申請人:皇家飛利浦電子股份有限公司