CN101346992A - 处理数据流的设备和方法 - Google Patents

处理数据流的设备和方法 Download PDF

Info

Publication number
CN101346992A
CN101346992A CNA2006800486600A CN200680048660A CN101346992A CN 101346992 A CN101346992 A CN 101346992A CN A2006800486600 A CNA2006800486600 A CN A2006800486600A CN 200680048660 A CN200680048660 A CN 200680048660A CN 101346992 A CN101346992 A CN 101346992A
Authority
CN
China
Prior art keywords
frame
stream
equipment
bag
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800486600A
Other languages
English (en)
Other versions
CN101346992B (zh
Inventor
R·P·J·M·曼德斯
A·M·A·里克卡尔特
E·W·J·穆尔斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101346992A publication Critical patent/CN101346992A/zh
Application granted granted Critical
Publication of CN101346992B publication Critical patent/CN101346992B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • H04N21/44055Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于处理数据流(1800)的设备(2300),其中设备(2300)包括拆分单元(2305),用于在帧边界部分(1901)处拆分至少部分解密的数据流(1900)的相邻帧(1902),所述部分解密的数据流(1900)包括在相邻帧(1902)之间的被解密的帧边界部分(1901);复制单元(2306),用于根据预定复制率复制拆分帧(1902)若干次;以及连接单元(2307),用于连接所述被复制的拆分帧(1902)。

Description

处理数据流的设备和方法
技术领域
本发明涉及处理数据流的设备。
本发明进一步涉及处理数据流的方法。
本发明进一步涉及程序单元。
本发明进一步涉及计算机可读介质。
背景技术
电子娱乐设备变得越来越重要了。特别是,越来越多的用户购买基于硬盘的音频/视频播放器和其他娱乐设备。
因为在音频/视频播放器领域,存储空间的降低是重要的问题,所以音频和视频数据通常以压缩方式,并且因安全原因以加密方式存储。
MPEG2是用于移动画面和相关联的音频的通用编码的标准,并从可以称为GOP(“画面组”)结构的特点次序布置的帧数据中创建视频流。MPEG2视频位流由一系列的数据帧编码的画面组成。对画面进行编码的三种方式是帧内编码(I画面),前向预测(P画面)和双向预测(B画面)。帧内编码帧(I-帧)是独立可解码的帧。前向预测编码帧(P-帧)需要先前I-帧或P-帧的信息。双向预测编码帧(B-帧)依赖于先前和/或后续I-帧或P-帧的信息。
在媒体重放设备中的一个令人感兴趣的功能是从其中媒体内容以正常速度重放(play back)的正常再现模式切换到媒体内容以修改的方式(例如以降低的速度(“慢进(slow forward)”)、静止画面、或反之亦然)重放的花样播放(trick-play)再现模式。
US2005/0157714A1公开了一种用于处理基于包的加扰(scrambled)流的方法,该方法包括接收多个在包流中的加扰包,解扰任何一个加扰包,以及传输包括至少一个解扰包和至少一个加扰包的经修改的包流。
发明内容
本发明的一个目的是能够有效处理数据流。
为了达到上面定义的目的,提供了根据独立权利要求的用于处理数据流的设备、处理数据流的方法、程序单元和计算机可读介质。
根据本发明的示例性实施例,提供了一种处理数据流的设备,其中该设备包括拆分单元,用于在帧边界部分拆分部分解密的(和部分加密的)数据流的相邻帧,所述数据流包括在相邻帧之间的解密帧边界部分;复制单元,用于根据预定复制率(例如花样-播放系数,例如“3”)复制拆分帧若干次;以及连接单元,用于连接所述被复制的拆分帧。
根据本发明其他示例性的实施例,提供了一种处理数据流的方法,该方法包括:在帧边界部分处拆分部分解密的(和部分加密的)数据流的相邻帧,所述数据流包括在相邻帧之间的解密帧边界部分;根据预定复制率复制拆分帧若干次;以及连接所述被复制的拆分帧。
除此之外,根据本发明其他示例性的实施例,提供了一种计算机可读介质,其中存储有计算机程序,当所述计算机程序被处理器执行时,适合于控制或执行上述方法。
另外,仍然根据本发明其他示例性的实施例,提供了一种程序单元,当所述程序单元被处理器执行时,适合于控制或执行上述方法。
根据本发明实施例的数据处理可通过计算机程序即软件、或通过使用一个或更多个专用电子最优电路即硬件、或通过混合形式即借助于软件部件和硬件部件来实现。
根据本发明示例性实施例的措施提供了一个优点,即部分解密和部分加密的数据流可以通过这种方式进行处理:即不同帧在边界部分拆分,接着,所拆分的帧又可通过一种方式连接以使得能够进行慢进或慢退或静止、更一般的慢移、花样-播放再现。因此,相邻帧之间的纯文本部分可起指示符的作用,其中在该指示符位置处可断开不同帧、重复各种帧多次以便提供慢移特征、以及将被复制的帧序列置于一起以便可获取合适的声音和/或画面。
根据示例性的实施例,帧拆分算法和帧粘合(拆分和复制)成为可能。通过根据示例性实施例的算法,部分加密的“混合”慢进DVB(“数字视频广播”)流可根据完全加密的正常播放(例如MPEG)流生成。这样的过程可包括只选择性地替换传输流中的那些加密包,这些加密包包含与其相应纯文本包的画面帧边界以利于慢进。更进一步地,包可在画面帧边界处拆分,而慢进流可通过复制帧来生成。如果需要的话,在画面帧边界处的包可被填充。然后,可识别画面起始码跨越两个包的地方,而且可对其施加相应修正,这一处理可表示为粘合。
根据示例性的实施例,提供了一种用于存储MPEG传输流的存储设备,其具有到MPEG兼容的解码器的数字接口,其中该解码器能够提供MPEG兼容传输流用于加密DVB流的慢进播放模式。在特殊情况下,解密并产生纯文本慢进流的简单处理可能是不适合的,这是因为所有信息都会变为纯文本。从安全角度来看这个可能是不希望的。更进一步地,在消费者设备中的DVB加密器的使用也许是不允许的。这就要求处理必须在加密DVB传输流上执行。
这样,根据本发明的示例性实施例,可使用混合传输流,其包括少(特别是最少)数量的、允许创建慢进MPEG兼容传输流所必需的纯文本必要信息,同时确保信息的大部分保持加密。本文中的一个方面是在加密传输流的各个帧被重复以提供慢进模式。在特殊情况下,这就需要各个帧的帧拆分和后续粘合是对穿越包边界的MPEG画面起始码进行校正所必须。在这个应用中,公开了实现粘合的可能性。
这样,本发明的示例性实施例可包括为了隔离帧而进行包的拆分。这可包括复制帧以重复B-帧,以及利用空帧重复初始I-或P-帧的选项。
另外,可以从部分加密的起始码开始,并且可提供实现一种算法以确定在(非)加密包内存在的起始码字节的数量。结果,可使得包的粘合成为可能。在包的连接导致超过预定阈值(例如4个字节)的起始码的情况下,该算法可计算要除去的字节数量。在连接导致少于预定阈值(例如4字节)的起始码的情况下,可以***附加粘合包。
因此,本发明的示例性实施例的目的在于对用于加密流的画面起始码进行检测,这将导致包的拆分和粘合。
粘合可在存在部分起始码的数据流位置处执行,并可包括***附加包。适配域(AF)可为了填充、特别是为了传输流级别的填充而***。可选地,单元流级别的填充是可能的,例如包括在流中***一个或更多个简单的“零”。
为了允许数据流处理而被解密的部分数据流,可能大约为1%或更少,这样99%或更多的流可保持加密。
接着,将描述本发明的进一步的示例性实施例。
下面,将阐述用于处理数据流的设备的示例性实施例。然而,这些实施例也适合于用于处理数据流的方法、计算机可读介质和程序单元。
该设备可包括解密单元,用于选择性地用所述被解密的帧边界部分来替换(完整或部分)加密数据流的相邻帧之间的加密帧边界部分以便形成所述部分解密的数据流。换句话说,可以通过这样的方式处理完全加密的数据流:即相邻帧之间的加密部分被相应被解密的部分所替换。解密单元可与存储有加密内容的存储设备(例如硬盘或闪存器)分离地定位,或可集成到这样的存储设备中。也可以是,这样的存储设备已经存储了部分解密和部分加密的数据流(该数据流这也可表示为混合流)。
特别是,解密单元可适合于选择性地用解密的帧边界部分来专门替换在加密数据流的相邻帧之间的加密帧边界部分,并保持所有其他帧部分被加密。因此,只有加密数据流中的必要部分才被解密,以便使得基于这些纯文本部分的花样-播放流的生成成为可能。然而,在许多情况下,流的主要或大多数部分保持加密以便获取高级别的安全。
解密单元可适合于选择性地用解密的帧边界部分来替换加密帧边界部分,以便形成部分解密的数据流来作为生成具有少量的、优选为最少数量的解密部分的花样-播放流的基础。根据这个实施例,可能同时具有几乎完全加密的数据流,该数据流中只有那些用于生成如慢移流(其可特别是慢进流或慢退流)那样的花样-播放流所需要的部分被选择性地解密。
拆分单元可适合于在每个拆分帧的开始***纯文本包和/或可适合于拆分包的填充。因此,在拆分了不同帧之后,可以在每个拆分帧的结尾和/或开始处***纯文本包。这样的包可包含标识或表征相应帧所需要的信息或可仅仅填充相邻帧之间的边界。更加详细的,拆分不是真正***,它是拆分包的填充,其首先是先前帧的最后部分,然后是当前帧的第一部分。它可填充有适配域。
这样的纯文本包可包括标头和/或适配域(AF)。术语适配域源自MPEG解码中的域。
连接单元可适合于基于对其中帧边界部分(例如画面起始码)跨越两个帧的位置的识别以及基于对这样识别的位置的校正来连接所复制的拆分帧。因此,可通过检查粘合部分来除去或消除在慢移花样-播放的上下文中、当把所复制的拆分帧放置在一起时的任何可能的问题。这将提高在花样-播放模式中的再现质量。
连接单元可特别适合于确定拆分帧的帧边界部分的尺寸,并适合于基于所确定的尺寸连接所述拆分帧。当尺寸被确定为太大,例如超出阈值(例如4字节)时,帧边界部分或画面起始码被相应缩短以便符合预定阈值。在另一情况下,当帧边界部分的尺寸小于预定阈值(例如4字节)时,例如通过在帧边界部分***附加部分来相应增大该尺寸。通过采取这个措施,画面起始码可被剪裁到期望的长度,这可改进整个***的可控制性和可操作性。
该设备可包括用于存储数据流的存储单元。这样的存储单元可以是硬盘或存储卡,其能够存储数据流,例如包括音频和/或视频内容。
该设备可适合于处理完全加密的数据流。换句话说,整个数据流可完全被加密并因此安全地对抗未授权的访问。然后,由相应纯文本部分选择性地替换相邻帧之间的专门定义的部分。然而,也在本发明上下文中的是,基于其执行处理的流被部分或完全解码。
该设备可适合于处理包括帧内编码帧(I-帧)、前向预测帧(P-帧)和双向预测帧(B-帧)的组中的至少一个帧。在MPEG2中,I-帧是可独立解码的帧。P-帧需要之前的I-帧或P-帧的信息。B-帧依赖于之前和/或后续的I-帧或P-帧的信息。
该设备可适合于处理视频数据和/或音频数据的数据流。然而,这样的媒体内容不是可利用根据本发明实施例的方案进行处理的唯一的数据类型。花样-播放生成及类似应用对于视频(视听)数据处理和(纯)音频数据处理二者可能都是个问题。
设备可进一步适合于处理数字数据的数据流。
另外,设备可包括再现单元,用于再现或重放所处理的数据流,其中再现单元可连接至连接单元(的输出)。这样的再现单元可包括扬声器或耳机或头戴耳机和/或光学显示设备,以便音频和可视数据都可为人类所感知地进行再现。
另外,设备可包括生成单元,用于处理用于在花样-播放再现模式再现的数据流。这样的、适合于生成用于在花样-播放再现模式进行再现的数据流的花样-播放生成单元可由用户通过用户界面(例如设备的按钮、键盘或遥控)选择相应选项来进行调整。由用户选择的花样-播放再现模式可以是包括慢移再现模式(特别是慢进模式或慢退模式)、静止模式、快进再现模式、快退再现模式、帧冻结再现模式、快速重播复制模式、和退回复制模式组中的一个。然而其他的花样-播放流是可能的。对于根据花样-播放系数的花样-播放,只有部分的数据可用于输出(例如花样-播放系数大于一),或同一个内容可重放几次(例如花样-播放系数小于一)。
根据本发明示例性实施例的设备可适合于处理MPEG2数据流。MPEG2是由MPEG(移动画面专家组)同意的、用于音频和视频编码标准的组的名称,并公布为ISO/IEC13818国际标准。例如,MPEG2用于编码广播信号的音频和视频,其中该广播信号包括数字卫星和有线电视(cable TV),但是也可用于DVD。
根据本发明实施例的设备可实现为包括以下设备的组中的至少一个,这些设备为数字视频记录设备、具有网络功能的设备、有条件访问***、便携式音频播放器、便携式视频播放器、移动电话、DVD播放器、CD播放器、基于硬盘的媒体播放器、互联网无线电设备、公共娱乐设备以及MP3播放器。然而,这些应用仅是示例性的。
本发明的上面定义的方面和进一步方面根据要在以下描述的实施例的例子而变得明显,并参考这些实施例的例子进行阐述。
附图说明
本发明将参考实施例的例子在以下更详细地描述,但是本发明并不限于这些实施例。
图1图示了加时戳的传输流包。
图2示出了具有帧内编码帧和前向预测帧的画面结构的MPEG2组。
图3图示了具有帧内编码帧、前向预测帧和双向预测帧的画面结构的MPEG2组。
图4图示了特征点信息文件和所存储的流内容的结构。
图5图示了用于在纯文本流上进行花样-播放的***。
图6图示了在花样-播放中的时间压缩。
图7图示了带有以分数表示的距离的花样-播放。
图8图示了低速度花样-播放。
图9图示了一般的条件访问***结构。
图10图示了数字视频广播加密传输流包。
图11图示了在图10的数字视频广播加密传输流包中的传输流包标头。
图12图示了允许在完全加密流上执行花样-播放的***。
图13图示了完全传输流和部分传输流。
图14图示了用于流类型I和用于流类型II的权利控制消息。
图15图示了把控制字写到解密器中。
图16图示了在快进模式中的权利控制消息处理。
图17图示了对一个或两个控制字的检测。
图18到图22示出了根据本发明的示例性实施例、在执行处理数据流的方法期间获得的不同数据流。
图23图示了根据本发明的示例性实施例、用于处理数据流的设备。
图24图示了根据本发明的示例性实施例、用于处理数据流的其他设备。
图25图示了在帧边界处拆分包。
图26图示了在解密正常播放数据后的慢进构造。
图27图示了在每个帧边界上具有纯文本包的混合流。
图28图示了在所存储的混合流上的慢进构造。
图29图示了在连接点处的不完整画面起始码。
图30图示了在正常播放中的重新定序的效果。
图31图示了在慢进模式中的重新定序的效果。
图32图示了在锚帧之前***空P-帧。
图33图示了后向预测空B-帧的使用。
图34图示了前向预测空B-帧的使用。
图35图示了每个帧为一个PES包拆分流。
图36图示了在PES标头的起始处拆分流。
图37图示了在画面起始码的起始处拆分流。
图38图示了在画面起始码内拆分流。
图39图示了在连接点处的不完整画面起始码。
图40图示了n+m=4的例子。
图41图示了n+m>4的例子。
图42图示了n+m<4的例子。
图43图示了到DTS的未修改距离。
图44图示了在一系列相同B-帧的边界处的相等偏移。
图45图示了B-帧数据长度。
图46图示了在B-帧大于一个帧时间的情况下的数据重叠。
图47图示了具有均匀分布的包的B-帧的压缩。
图48图示了空帧的布局。
图49图示了空帧中的第一包的定位。
图50图示了基于先前帧的空帧的包距离。
图51图示了在一个帧时间上均匀分布的空帧的包。
图52图示了用于转换到混合流的位置。
图53图示了根据完全加密的记录生成安全的花样-播放。
图54图示了完全纯文本画面起始码的缓冲要求。
图55图示了在I-帧起始处的实际纯文本区域。
图56图示了实际纯文本区域。
图57图示了在两个包上扩展的画面起始码。
图58图示了附加到部分加密的画面起始码的空P-帧。
图59示出了对应于三个准则条件的纯文本数据区域。
图60图示了在MPEG2中的标头结构。
图61图示了序列扩展和序列标头码。
图62图示了画面编码扩展和画面起始码。
图63图示了在两个包上扩展的序列标头码。
附图是示意性画出的且其不按比例,而不同图中的相同参考数字指向对应元件。对于本领域技术人员将清楚的是,只要不偏离真实的发明概念,本发明的替换但是等同的实施例是可能的,而且本发明的范围将仅由权利要求所限。
具体实施例
下面,参考图1到图13,将描述根据本发明示例性实施例的传输流的花样-播放实现的不同方面。
特别是,将描述在MPEG2编码流上执行花样-播放的几种可能性,其中MPEG2编码流可以是部分或全部加密的、或未加密的。下列说明将以专门针对MPEG2传输流格式的方法为目标。然而,本发明不限于这个格式。
实际利用扩展的、即所谓加时戳的传输流进行试验。这包括传输流包,其中所有的包被前置了其中放置传输流包到达时间的4字节标头。这个时间可从在记录设备处接收到包的第一字节时的、节目时钟参考(PCR)时间基准的值中导出。这是个将定时信息与流存储在一起的合适方法,以便流的重放变成相对较容易的处理。
重放期间的一个问题是要确保MPEG2解码器缓存将不上溢也不下溢。如果输入流符合解码器缓存模式,恢复相关定时确保输出流也是兼容的。这里描述的一些花样-播放方法独立于时戳并且在带有或不带有时戳的传输流上同样也很好地执行。
图1图示了加有时戳的传输流包100,其总长度104为188个字节并包括具有长度105为4字节的时戳101、包标头102、和长度为184字节的包有效负载103。下列描述将给出根据所记录的传输流生成MPEG/DVB(数字视频广播)兼容的花样-播放流的可能性的概述,并意在涵盖所记录的流的完整范围,即从完全纯文本的流(因此可以处理数据的每个位)到完全加密的流(例如根据DVB方案)、以便只有传输流标头和一些表格可用于处理的范围。
当为MPEG/DVB传输流创建花样-播放时,当内容至少部分被加密时问题就可能出现。也许不可能达到基本流级别的细节(这是通常的方式),甚或不可能在解密前访问任何包化的基本流(PES)标头。这也意味着找到画面帧是不可能的。已知的花样-播放引擎需要能够访问和处理这个信息。
在该说明书的架构中,术语“ECM”表示权利控制消息。这个消息可以特别包括秘密提供者的私有信息且可以,在其他信息中间,包含解密MPEG流所需要的加密控制字(CW)。一般地,控制字在10-20秒内失效。ECM嵌于传输流的包中。
在该说明书的架构中,术语“密钥(key)”特别表示可存储于智能卡内、并可使用EMM(即所谓可嵌于传输流中的“授权管理消息”)传给智能卡的数据。这些密钥可由智能卡使用来解密存在于ECM内的控制字。这样的密钥的示例性有效期是一个月。
在该说明书的架构中,术语“控制字”(CW)特别表示解密实际内容所需的解密信息。控制字可由智能卡解密然后存储于解密核心(decryption core)的存储器中。
现在将描述关于在纯文本流上的花样-播放的一些方面。
优选为是所创建的任何MPEG2流都是MPEG2兼容的传输流。这是因为解码器可不仅集成在设备内,而且也可通过诸如IEEE 1394接口之类标准数字接口来连接。
需要考虑当使用像MPEG2这样、利用视频的时间冗余来实现高压缩率的视频编码技术时可能发生的任何问题。帧不再可独立地解码。图2示出了多个画面(GOP)组的结构。特别是,图2示出了流200,其包括几个具有I-帧201和P-帧202序列的MPEG2 GOP结构。GOP尺寸以参考数字203表示。GOP尺寸203设定为12帧,这里只示出I-帧201和P-帧202。
在MPEG中,可使用其中仅第一帧独立于其他帧进行编码的GOP结构。这就是所谓的帧内编码或I-帧201。预测帧或P-帧202利用单向预测来编码,这意思是其仅依赖于在先的I-帧201或P-帧202,这如图2的箭头204所示。这样的GOP结构通常尺寸为12或16个帧201,202。
图3示出了多个GOP的其他结构300。特别是,图3示出了具有I-帧201、P-帧202和B-帧301序列的MPEG2 GOP结构。该GOP尺寸再次用参考数字203表示。
如图3所示,可以使用也包含双向预测帧或B-帧301的GOP结构。为该例子选择了大小为12帧的GOP尺寸203。B-帧301利用双向预测来编码,这意思是其依赖于先前和后面I-或P-帧201、202,这如由弯曲箭头204为一些B-帧301所指示的那样。压缩帧的传输顺序可能与其显示的顺序不同。
要解码B-帧301,就需要B-帧301(按显示顺序)之前和之后的参考帧二者。为了最小化解码器中的缓存要求,压缩帧可被重新排序。所以在传输中,参考帧可第一个传输。图3中的较低部分也示出了在被传输时的重新排序流。重新排序由直箭头302指示。如果跳过所有的B-帧301的话,则包含B-帧301的流能够给出好看的花样-播放画面。对于当前的例子,这导致3x(3倍速)前进(forward)的花样-播放速度。
即便MPEG2流不被加密(即纯文本),花样-播放也不是微不足道的。仅仅基于I-帧的慢退的可能性被简要提及。然而因为MPEG2 GOP必须倒转,所以有效的基于帧的慢退更加困难。也已知为慢速向前移动的慢进是一种显示画面以低于正常速度运行的模式。利用使用生成花样-播放GOP的快进算法的技术,初级的慢进形式也是可能的。把快进速度设置为一个介于零和一之间的值导致产生基于快进花样-播放GOP的重复的慢进流。对于纯文本流这是没有问题的,但是对于加密流来说,这在某些具体条件下可导致部分I-帧的错误解密。存在有几种选择来解决该问题,但是最适合的方式不是重复快进花样-播放GOP而是通过附加空P-帧来扩展花样-播放GOP的尺寸。这个技术事实上也能够实现慢退,这是因其基于用于快进/快退的花样-播放GOP并因此基于独立可解码的I-帧。然而,因为下列原因使用这种基于I-帧的慢进或慢退并非优选。正常播放中的I-帧之间的距离大约为半秒,而对于慢进/退则,则该距离乘以慢速移动系数。所以这类慢进或慢退不是消费者习惯的真正慢速移动,而是事实上它更象具有连续画面之间的大时间距离的幻灯片。
在另一个叫做静止画面模式的花样-播放模式中,显示画面被暂停。这可通过将空P-帧增加到I-帧中达静止画面模式周期来实现。这意味着从最后I-帧得到的画面被暂停。当从正常播放切换至静止画面时,这也可以是根据CPI文件中的数据的最近I-帧。这个技术是快进/快退模式的扩展并导致了不错的静止画面,特别是如果使用了交织截断(interlace kill)的话更是如此。然而当从正常播放或慢进/慢退切换到静止画面时,位置精度常常不够。
静止画面模式可被扩展为执行步进模式。步进命令使该流前进到某个在后或先前的I-帧。步进大小最少为一个GOP但还可被设置为等于整数个GOP的较高值。因仅使用了I-帧,在这一情况下,步进向前和步进向后都是可能的。
慢进也可基于每一帧的重复,这导致了平滑得多的慢速移动。慢进的最好形式事实上应该是字段(field)而不是帧的重复,这是因为时间分辨率被加倍了并且没有交织膺像。然而这对于固有基于帧的MPEG2流实际上是不可能的,而且如果该流被大量加密会更甚。通过使用专门的空帧以强制进行重复,可以为I-和P-帧显著降低交织赝象。但是这种交织降低技术不可用于B-帧。在这一情况下用于I-和P-帧的交织截断技术的使用是仍然有利的还是事实上为观看者导致了更加令人烦恼的画面,都只能通过实验来验证。
基于个别帧的慢退因时间预测而事实上对于MPEG信号是非常复杂的。完整的GOP必须被缓冲并被颠倒(reversed)。没有我们知道的简单方法来以颠倒顺序地再编码GOP内的帧。所以在这两者间倒转帧顺序几乎必须要完整的解码和编码。这就要求对完整解码的GOP的缓冲以及MPEG解码器和编码器。
静止画面模式可被定义为基于帧的慢进模式的扩展。不管这个帧是什么类型,它都基于重复显示当前帧长达静止画面模式周期。如果慢速移动系数表明使正常播放流慢下来的系数,那么这事实上是具有无限慢速移动系数的慢进。如果画面被暂停在B-帧上就不可能有交织截断。在这个意义上,这个静止画面模式比基于静止画面模式的花样-播放GOP更差。这个可仅通过暂停画面于I-或P-帧来进行修正,其代价是静止画面位置的精度在某种程度上差了。在这个情况下也可避免在时间参考和PTS内的不连续性。另外,因为I-或P-帧的重复被空帧的***来强制而不是如对于B-帧所必须那样通过帧数据本身的重复来强制,所以位率被显著降低。所以,从技术上讲,画面在I-或P-帧处暂停是最好的选择。
静止画面模式也可以以步进模式扩展。步进命令从原理上将流推进到下一帧。通过步进到下一P-帧或某个下一I-帧,大的步进大小是可能的。在帧基础上的向后步进是不可能的。唯一的选择方案是向后步进到先前I-帧之一。
已经提到了两类静止画面模式,即基于花样-播放GOP的和基于帧的模式。第一个最逻辑地连接于快进/快退,而第二个则涉及慢进。当从某个模式切换至静止画面时,优选的是选择相关的静止画面模式以最小化切换延迟。从两种方法得到的流看上去很相似,因为它们都是基于空帧的***以强制锚帧的重复。但是在详细的流结构层面上就存在某些区别。
下面,将描述关于CPI(“特征点信息”)文件的某些方面。
在流中查找I-帧通常要求对该流进行分析以找到帧标头。可以在进行记录的同时、或记录完成后离线时、或半在线(事实上是离线,但相对于记录时刻有小的延迟)时,可以进行对I-帧起始位置的定位。I-帧的结尾可通过检测下一个P-帧或B-帧的起始而找到。以这一方式推导出的元数据可存储于一个独立但耦合的文件中,该文件可表示成特征点信息文件或CPI文件。这个文件可包含指向在传输流文件中的每个I-帧的起始和最终结尾的指针。每个单独的记录都可以有其自己的CPI文件。
特征点信息文件400的结构可见于图4。
除了CPI文件400之外,还示出了所存储的信息401。CPI文件400还可包含一些在此不讨论的其他数据。
利用来自CPI文件400的数据,就可能跳到流中任何I-帧201的起始。如果CPI文件400也包含I-帧201的结尾,则就可确切得知为了获得完整I-帧201而从传输流文件读取的数据量。如果因为某个原因而不知道I-帧结尾,那么整个GOP或至少大部分GOP数据都要被读取以确保读取整个I-帧201。GOP的结尾由下一个I-帧201的起始给出。从测量中可知I-帧数据的数量可以是总的GOP数据的40%或更多。
已知的是,减少花样-播放画面刷新率可通过显示每个I-帧201几次来实现。位率将随之减少。这可通过在I-帧201之间增加所谓空P-帧202来实现。这样的空P-帧202实际不是空的但可包含指示解码器重复先前帧的数据。这具有有限的位代价,这在很多情况下与I-帧201相比都可被忽略。从实验中得知,对于花样-播放画面质量,类似IPP或IPPP之类的花样-播放GOP结构是可接受的,甚至在高花样-播放速度下是更有利的。最后得到的花样-播放位率与正常播放位率具有相同量级。也注意到了,这些结构可降低所需要的、来自存储设备的支持带宽。
这里将描述关于定时问题和流结构的某些方面。
花样-播放***500图示于图5。
花样-播放***500包括:记录单元501、I-帧选择单元502、花样-播放生成块503和MPEG2解码器504。花样-播放生成块503包括分析单元505、增加单元506、打包单元507、表格存储器单元508和多路复用器509。
记录单元501将纯文本MPEG2数据510提供给I-帧选择单元502。多路复用器509将MPEG2 DVB兼容的传输流511提供给MPEG2解码器504。
I-帧选择器502从存储设备501读取特定的I-帧201。选择哪个I-帧201取决于将描述于下的花样-播放速度。所检索的I-帧201用于构建MPEG-2/DVB兼容的花样-播放流,然后将该流送至MPEG-2解码器504用于解码和呈现。
I-帧包在花样-播放流中的位置不能耦合至初始传输流的相关定时。在花样-播放中,时间轴可随速度系数而压缩或扩张,并且另外反向以用于后退花样-播放。因此,初始加时戳的传输流的时戳可能不适合于花样-播放生成。
另外,对于花样-播放,初始PCR时基可能是干扰。首先不能保证的是PCR在所选的I-帧201之内是可得到的。但更加重要的是,PCR时基的频率会改变。根据MPEG2规范,这个频率应该在从27MHz起的30ppm范围内。初始PCR时基满足这个要求,但如果用于花样-播放,它应该乘以花样-播放速度系数。对于后退花样-播放,这甚至导致时基沿错误方向运行。因此,不得不除去旧的PCR时基而把新的PCR时间基准加到花样-播放流上。
最后,I-帧201通常包含两个时戳,该两个时戳告诉解码器504何时开始解码该帧(解码时戳,DTS)以及何时开始呈现例如显示它(呈现时间戳,PTS)。当DTS和PTS分别等于PCR时基时可开始解码和呈现,其中PCR时基通过流内的PCR而在解码器504中进行重构。例如,在2个I-帧201的PTS值之间的距离对应于它们在显示时间方面的额定距离。在花样-播放中,这个时间距离随着速度系数而被压缩或扩展。因为在花样-播放中使用了新的PCR时基,并且因为DTS和PTS的距离不再正确,所以I-帧201的原有DTS和PTS必须被替换。
为了解决上述难题,I-帧201可首先在分析单元505中被分析成基本流。然后在基本流水平上添加空P-帧202。将所获取的花样-播放GOP映射成一个PES包并将其打包为传输流包。然后添加纠正表格如PAT、PMT等。在这个阶段,将新的PCR时基和DTS以及PTS一起包括在内。传输流包前置有耦合至PCR时基的4字节时戳,以便花样-播放流可由与用于正常播放的相同输出电路进行处理。
下面,将描述关于花样-播放速度的某些方面。在这里,首先,将讨论固定花样-播放速度。
如前述,可使用如IPP这样的花样-播放GOP结构,其中在IPP中,I-帧201跟随有两个空P-帧202。假设初始GOP具有12个帧的GOP尺寸203,而且全部初始I-帧201都用于花样-播放。这意味着I-帧201在正常播放流中具有12个帧的距离而相同I-帧201在花样-播放流中具有3个帧的距离。这导致花样-播放速度为12/3=4x(倍速)。如果帧内的初始GOP尺寸203以G表示,帧内的花样-播放GOP尺寸以T表示,且花样-播放速度系数以Nb表示,则通常花样-播放速度由下式给出:
Nb=G/T              (1)
Nb也将被表示为基本速度。可通过从初始流中跳过I-帧201实现较高速度。如果使用每第二个I-帧201,则花样-播放速度就是双倍的,如果使用每第三个I-帧201,则花样-播放速度就是三倍的,依次类推。换句话说,在所使用的初始流的I-帧201之间的距离是2、3,依次类推。这个距离可以总是整数。如果用于花样-播放生成的I-帧201之间的距离以D表示(D=1意味着使用每个I-帧201),那么通常的花样-播放速度系数N由下式给出:
N=D*G/T             (2)
这意味着基本速度的所有整数倍均可实现,这导致了可接受的速度集。应该注意的是,对于后退花样-播放D是负的,而D=0导致静止画面。数据仅在前向方向上可读。因此,在后退花样-播放中,数据向前读取而且进行向后的跳转以检索由D给出的先前I-帧201。还应该注意的是,较大的花样-播放GOP尺寸T导致较低的基本速度。例如,IPPP导致比IPP更细粒度的速度集。
参考图6,将阐述花样-播放中的时间压缩。
图6示出了T=3(IPP)和G=12的情况。对于D=2,24帧的初始显示时间被压缩成3帧的花样-播放显示时间,这导致N=8。在该给出的例子中,基本速度是个整数但是这不是必须的情况。对于G=16和T=3,基本速度是16/3=5 1/3,它不导致整数花样-播放速度集。因此,IPPP结构(T=4)更适合于大小为16的GOP尺寸,这导致4x的基本速度。如果期望适于最普通的大小为12和16的GOP尺寸的单个花样-播放结构,可选择IPPP。
其次,将讨论任意花样-播放速度。
在某些情况下,根据上面描述的方法中得到的花样-播放速度集是令人满意的,在某些情况下则不是。在G=16和T=3的情况下,可能仍然优选整数花样-播放速度系数。甚至在G=12和T=4的情况下,也可能优选在速度组中没有例如7x那样的速度。现在,将反转花样-播放速度公式并且距离D将由下式计算给出:
D=N*T/G    (3)
使用具有G=12、T=4和N=7的上面的例子,结果导致D=21/3。取代跳过固定数量的I-帧201,可使用自适应的跳跃算法,其基于什么I-帧201最佳地匹配所需要的速度的事实来选择下一个I-帧201。为了选择最佳匹配的I-帧201,可计算具有距离D的下一个理想点Ip并且可选择距离这个理想点最近的I-帧201之一以构建花样-播放GOP。在下面的步骤中,再次可以通过以D大小来递增上一个理想点来计算下一个理想点。
如其中示出了具有分数表示的距离的花样-播放的图7中可见,特别是有三种选择I-帧201的可能性:
A、距离理想点最近的I-帧;I=round(Ip)
B、在理想点之前的最后一个I-帧;I=int(Ip)
C、在理想点之后的第一歌I-帧;I=int(Ip)+1
可清楚地看见的,实际距离介于int(D)和int(D)+1之间变化,两个出现之间的比率取决于D的分数,以使得平均距离等于D。这意味着平均花样-播放速度等于N,但是实际使用的帧具有相对于理想帧的小跳动。已经利用此做了几个实验,而且虽然花样-播放速度可局部发生变化,但是这不是可见的扰动。通常,甚至在某种程度更高的花样-播放速度处,这都不会被特别注意到。从图7还清楚地看出,选择方法A、B还是C没有本质区别。
利用这个方法,花样-播放速度N不必是整数但可以是基本速度Nb以上的任何数值。还可选择这个最小值以下的速度,但是则画面刷新率可局部更低,这是因为有效花样-播放GOP尺寸T增加了一倍,或在还要更低速度时甚至成为三倍或更多。这是由于花样-播放GOP的重复,因为该算法将选择相同I-帧201多于一次。
图8示出了用于D=2/3(其相当于N=2/3Nb)的例子。这里,使用了求整函数(round function)来选择I-帧201并且可看出帧2和4被选择了两次。
不管怎样,所描述的方法将允许连续变化的花样-播放速度。对于后退花样-播放,为N选择了负的值。对于图7的例子,这仅意味着箭头700以其他方向指向。所描述的方法也将包括更早提到的固定花样-播放速度集且它们将具有同样的质量,特别是如果使用求整函数的话更是如此。因此,也许适合的是不管速度的选择是怎样的,总是应该实现在这一段落描述的灵活方法。
现在将讨论关于花样-播放画面的刷新率的某些方面。
术语“刷新率”特别表示显示新画面的频率。虽然不是速度相关的,但是因为它可影响对T的选择,所以将在此简要讨论。如果初始画面的刷新率表示为R(25Hz或30Hz),则花样-播放画面的刷新率(Rt)由下式给出:
Rt=R/T      (4)
利用花样-播放GOP结构为IPP(T=3)或IPPP(T=4),则刷新率Rt对于欧洲分别是8 1/3Hz和6 1/4Hz以及对于美国分别是10Hz和7 1/2Hz。虽然对花样-播放画面质量的判断在某种程度上是主观事件,但是根据实验有清楚的提示,这些刷新率对于低速度是可接受的并且在更高速度处甚至是有利的。
下面,将描述关于加密流环境的某些方面。
这里,作为在加密流上的花样-播放的描述的基础来给出有关加密传输流的某些信息。它集中于用于广播的条件访问***。
图9图示了现在将描述的条件访问***900。
在条件访问***900中,可将内容901提供给内容加密单元902。在已经对内容901加密后,内容加密单元902将加密内容903供给内容解密单元904。
在本说明书中已经声明了ECM表示权利控制消息。进一步地,意思是KMM表示密钥管理消息、GKM表示群密钥消息以及EMM表示授权管理消息。可将控制字906提供给内容加密单元902以及ECM生成单元907。ECM生成单元907生成ECM并将其提供给智能卡905的ECM解码单元908。ECM解码单元908根据ECM生成控制字,该控制字是需要的解密信息并被提供给内容加密单元904以解密加密的内容903。
另外,将授权密钥910提供给ECM生成单元907和KMM生成单元911,其中KMM生成单元911生成KMM并将其提供给智能卡905的KMM解码单元912。KMM解码单元912提供输出信号给ECM解码单元908。
另外,可将群密钥914提供给KMM生成单元911和GKM生成单元915,GKM生成单元915可进一步提供有用户密钥918。GKM生成单元915生成GKM信号GKM并将其提供给智能卡905的GKM解码单元916,其中GKM解码单元916取得作为进一步输入的用户密钥917。
除此之外,可将权利919提供给EMM生成单元920,该EMM生成单元920生成EMM信号并将其提供给EMM解码单元921。位于智能卡905中的EMM解码单元921与将相应控制信息提供给ECM解码单元908的权利列表单元913相耦接。
在许多情况下,内容提供者和服务提供者想通过条件访问(CA)***控制对某些内容项目的访问。
为实现这个,在CA***900的控制下加密广播内容901。在接收器处,,如果访问由CA***900许可的话,则在解码和呈现之前解密内容。
CA***900使用了分层等级结构(见图9)。CA***900以加密消息(称为ECM)的形式将内容解密密钥(控制字CW 906,909)从服务器传输给客户机。ECM使用授权密钥(AK)910加密。因安全原因,CA服务器900可通过签发KMM来更新授权密钥910。KMM事实上是特殊类型的EMM,但是为了清楚起见可使用术语KMM。KMM也通过使用例如可以是群密钥(GK)914的密钥进行加密,其中群密钥(GK)914通过发送再次是特殊类型的EMM的GKM而被更新。GKM然后利用用户密钥(UK)917、918进行加密,用户密钥是固定的嵌于智能卡905内的唯一密钥,并只有提供者的CA***900知道。授权密钥和群密钥存储于接收器的智能卡905中。
权利919(例如观看权利)以EMM的形式发送给单个消费者并本地存储于可靠的设备(智能卡905)中。权利919耦合到特定节目。取决于订阅类型,权利列表913给予节目组访问权限。如果在特定节目可得到权利919,则ECM仅被智能卡905处理成密钥(控制字)。权利EMM经历与KMM相同的分层结构(未在图9示出)。
在MPEG2***中,加密内容、ECM和EMM(包括KMM和GKM类型)都多路复用成单个MPEG2传输流。上述说明是CA***900的综述。在数字视频广播中,只定义了加密算法、奇/偶控制字结构、ECM和EMM的全局结构及其参考。CA***900的详细结构以及ECM和EMM的有效负载被加密和使用的方式是提供者特定的。还有智能卡也是提供者特定的。然而,从经验中可知许多提供者实质上遵循图9的综述结构。
下面,将讨论DVB加密/解密主题。
所应用的加密和解密算法由DVB标准组织定义。原理上定义了两个加密的可能性,即PES级加密和TS级加密。然而,实际生活中,主要使用TS级加密方法。传输流包的加密和解密是基于包进行的。这意味着每次接收新的传输流包都要重新启动加密和解密算法。因此,包可被单个加密或解密。在传输流中,因为某些流部分被加密(例如音频/视频)而其他部分未被加密(例如表格),所以加密包和纯文本包相混合。甚至在一个流部分(例如视频)内,加密包和纯文本包也可混合。
参考图10,将描述DVB加密传输流包1000。
流包1000的长度1001为188个字节并包括三部分。包标头1002的尺寸1003为4个字节。在包标头1002之后,可将适配域1004包括到流包1000中。此后,就可发送DVB加密包有效负载1005。
图11图示了图10中的传输流包标头1002的详细结构。
传输流包标头1002包括:同步单元(SYNC)1010;传输错误指示符(TEI)1011,其可指示包中的传输错误;有效负载单元起始指示符(PLUSI)1012,其可特别指示在后续有效负载1005中的PES包的可能起始;传输优先权单元(TPI)1017,其指示传输的优先权;包标识符(PID)1013,用于确定包的分配;传输加扰控制(SCB)1014,用于选择解密传输流包所需的CW;适配域控制(AFLD)1015;以及连续性计数器(CC)1016。这样,图10和图11示出了已经加密并包括不同部分的MPEG2传输流包1000,这些不同部分为:
-包标头1002是纯文本的。它的作用是获取重要信息,如包标识符(PID)号码、适配域的存在、加扰控制位等。
-适配域1004也是纯文本的。它可包含重要定时信息如PCR。
-DVB加密包有效负载1005,其包含可已经使用DVB算法加密的实际节目内容。
为了选择解密所广播的节目所需要的正确CW,有必要对传输流包标头进行分析。图11给出了这个标头的示意图。解密所广播的节目的一个重要字段是加扰控制位(SCB)字段1014。这个SCB字段1014指示解密器必须使用哪个CW来解密所广播的节目。另外,还指示包的有效负载是加密的还是纯文本的。对于每个新传输流包,必须对这个SCB1014进行分析,这是因为它随着时间变化并且随着包的变化而变化。
下面,将描述关于在完全加密流上的花样-播放的某些方面。
为什么这是个令人感兴趣的话题的第一原因是在纯文本和完全加密流上的花样-播放是可能范围的两个极端。另一个原因是存在其中可能必须记录完全加密流的应用。这样,有个现有的、在完全加密流上执行花样-播放的技术将是有用的。基本原理是从存储设备读取足够大的数据块、解密它、在该块中选择I-帧以及用它构建花样-播放流。
这样的***1200描绘于图12中。
图12示出了在完全加密流上的花样-播放的基本原理。为了这个目的,将存储于硬盘1201上的数据作为传输流1202提供给解密器1203。进一步,硬盘1201提供了具有ECM的智能卡1204,其中智能卡1204根据这个ECM生成控制字并将其发送给解密器1203。
解密器1203使用控制字解密加密的传输流1202并将解密后的数据发送给I-帧检测器和滤波器1205。从那里,将数据提供给***空P帧单元1206,单元1206传送该数据给机顶盒1207。从那里,将数据提供给电视1208。
关于记录包含什么的问题的某些方面将被提及。
为进行对单个频道的记录,该记录必须包含在后一阶段重放对频道的记录所需要的所有数据。人们可以诉诸于就在某个应答器上记录每件事情,但是以这个方式,人们将记录远多于人们重放想要记录的节目所需的内容。这意味着带宽和存储空间二者都将被浪费。所以代之以,应该只记录实际需要的包。对于每个节目,这意味着人们必须记录所有MPEG2强制包如PAT(节目关联表)、CAT(条件访问表)、和显然用于每个节目的视频和音频包、以及描述哪个包属于节目的PMT(节目映射表)。此外,CAT/PMT可描述流解密所需的CA包(ECM)。除非记录是在解密后以纯文本进行,否则那些ECM包也必须被记录。
如果所进行的记录不包括来自全多路复用的所有包,则该记录就成为所谓的部分传输流1300(见图13)。图13还图示了全传输流1301。DVB标准要求如果播放部分传输流1300,则所有正常DVB强制表格如NIT(网络信息表格)、BAT(节目业务群关联表)等都被除去。替换这些表格的是,部分流应该具有***其中的SIT(选择信息表格)和DIT(不连续信息表格)表格。
下面,将描述关于处理ECM的某些方面。
在花样-播放期间跳转到下一块可意味着在该流中回跳。将要阐述的是这也许不仅是花样-播放反向的情况,也是在中等速度下的花样-播放前向的情况。以下将阐述具有向前跳转的前向花样-播放和具有固有向后跳转的反向花样-播放的情况。
具体问题可由数据必须被解密这一事实而引发。可指定用于传输的条件访问***。在正常播放中,所传输的流可利用初始定时重建。但是因为改变的定时,对于密码学上的元数据的处理,花样-播放可具有严重的难题。数据可由于花样-播放而在时间方面被压缩或扩展,但是智能卡的延迟可保持不变。
为了创建花样-播放流,所提到的数据块可通过解密器。这个解密器需要在加密处理中使用的控制字以解密该数据块。这些控制字也可被加密并存储于ECM中。在正常的机顶盒(STB)中,这些ECM可以是所调谐到的节目的一部分。条件访问模块可提取ECM、发送它们到智能卡、以及如果该卡具有解密这些ECM的权利或授权,则可从中接收解密的控制字。控制字通常具有相对较短的寿命,例如,约10秒。这个寿命可由在传输流包标头中的加扰控制位SCB 1014所指示。如果它变化了,就必须使用下一控制字。这个SCB变化或切换(toggle)以参考数字1402及垂直线示于图14中。
参考图14,可以特别区分两个不同的场景或流类型:
根据图14中的较低行1401示出的流类型I、每个ECM提供两个控制字(CW)。
根据图14中的较高行1400示出的流类型II,每个ECM仅提供一个控制字(CW)。
图14图示了两个数据流1400、1401,它们包括以参考数字1403表示的顺序排列的时段或分段A、B、C。在图14的较高行1400中示出的情况中,实质上提供了每个相应ECM一个控制字。与之相对的是,在较低行1401中,每个ECM包括两个控制字,即与当前周期或ECM相关的控制字、以及还有后续周期或ECM的控制字。这样,关于控制字的提供存在某些冗余。
在短暂的存在时间期间,解密信息的项目可传输几次,以使得在这样控制字的存在时间中途调谐到这样的频道不意味着要等待下一控制字。条件访问模块可只发送到它找到的第一个唯一的ECM到智能卡以降低或最小化到该卡的通信量,这是因为卡可有相当慢的处理器。
这示出了可能存在对在加密流上进行花样-播放的限制。可能存在隐含的高速度限制,这来自于智能卡处理能力的受限速度。在花样-播放中,10秒的控制字寿命可随花样-播放速度系数而被压缩或扩展。发送ECM到智能卡并接收解密的控制字大约花半秒钟。将控制字打包到ECM中的方式可以是提供者特定的,并且尤其对于流类型I和流类型II是不同的,这如图14所示。
CW A表示用于加密周期A的CW,CW B表示用于加密周期B的CW,以此类推。传输时间轴水平绘制。ECM A可定义为在周期A的大部分期间存在的ECM。在该情况下可看出的是,ECM A保持用于当前周期A的CW,并且对于流类型I另外还保持用于下一周期B的CW。一般地,ECM可保持至少用于当前周期的CW并且可保持用于下一周期的CW。由于快速跳过(zapping),这对于所有或很多提供者都可能是正确的。
在继续讨论前,将提供关于解密器以及它可怎样处理CW的更多信息。解密器可包含两个寄存器,一个是用于“奇数”且一个是用于“偶数”CW。“奇数”和“偶数”不是必须指CW本身的值是奇数或偶数。该术语特别用于区分流中的两个连续CW。哪个CW必须用于包的解密由包标头中的SCB 1014所指示。所以用于加密流的CW在奇数和偶数之间交替。例如,在图14中这意味着CW A和CW C是奇数,而CW B和CW D是偶数。在被智能卡解密后,CW可以写入到解密器的相应寄存器中重写先前的值,这如图15所示。
图15图示了包含偶数CW(寄存器1501)和包含奇数CW(寄存器1502)的两个寄存器1501、1502。进一步,图15中示出了智能卡延迟1500,那是智能卡从ECM检索或解密CW所需的时间,。
在流类型I的情况下,每个ECM保持两个CW,并且作为结果在ECM的解密后可重写寄存器1501、1502二者。寄存器1501、1502之一是活动的而另一个是不活动的。哪个是活动的取决于SCB 1014。在该例子中,SCB 1014将指示在时段B期间,偶数寄存器1501是活动的一个。活动寄存器可仅仅用与它早已保持的一个CW相同的CW重写,这是因为那个特定时段的剩余部分的解密仍然需要它。因此,只有不活动的寄存器可用新值重写。
更近地观察花样-播放中的时段B。假设在这个时段的起始处,将ECM发送给智能卡,所以在该时刻,遇到(crossed)SCB切换1402。问题是然后能够将什么ECM发送给智能卡?
这个ECM应该保持CW C以确保由智能卡进行的及时解密用于在周期C起始处使用。
它也可保持CWB而不干扰在解密器中CW的正确可用性。
再次参看图14,可看出,对于流类型I这意味着发送ECM B,而对于流类型II这意味着在周期B的起始处发送ECM C。一般地,在ECM保持两个CW的情况下,可以发送当前ECM,并且如果ECM只包含一个CW的话,则提前一个周期进行发送。但是提前一个周期发送ECM对于嵌入式ECM可能是矛盾的,所以在那种情况下,嵌入式ECM必须从流中除去。对于更加一般的处理方式,优选的是初始ECM总是由花样-播放生成电路或软件从流中除去。然而,这个不可能总是正确的。
图16示出了在快进模式中的ECM处理。
在多个被SCB切换1402隔离开的后续周期1403中,再现多个数据块1600,其中在不同数据块之间出现转换1601。
对于流类型I,在周期A和B之间的边界处发送ECM B。对于流类型II,在周期A和周期B之间的边界处发送ECM C。进一步地,根据流类型I,在周期B和C之间的边界处发送ECM C。对于流类型II,在周期B和周期C之间的边界处发送ECM D。
对于可在正确时刻处用于花样-播放的ECM,ECM可存储于分离的文件中。在这个文件里,也可指示ECM属于哪个周期(所记录流中的哪个部分)。MPEG流文件中的包可被编号。一个周期(SCB切换1402)中的第一个包的编号可与用于这个相同周期1403的ECM一起存储。ECM文件可在流的记录期间生成。
ECM文件是可在记录期间创建的文件。在该流中,可定位ECM包,该ECM包可包含解密视频数据所需要的控制字。每个ECM都使用达某个周期,例如10秒,并可在这个周期内传输(重复)几次(例如100次)。ECM文件可包含这样周期的每第一个新的ECM。ECM数据可写入这个文件中,并可伴随有一些元数据。首先,可给出序列号(从一开始算起)。作为第二字段,ECM文件可包含SCB切换的位置。这可表示可用这个ECM来正确解密其内容的第一个包。然后可继之以在这个SCB切换的时间的位置作为第三字段。这三个字段之后可继之以ECM包数据本身。
使用存储于ECM文件中的SCB切换,可容易地检测是否遇到这样的切换,甚至在跳转期间也可如此。为了发送正确的ECM,可能需要知道的是ECM是包含一个还是两个CW。原理上,这是不可知的,因为它是提供者特定的且是秘密。然而,这可通过在各种时刻发送ECM并在显示器上观察结果而容易实验性地确定。另一个特别适合于在存储设备本身中实现的替代方法如下。在SCB切换时刻发送单个ECM到智能卡,在接下来的两个周期解密流并检查PES标头。如果每个GOP一个PES标头,则在每个周期内大约有二十个PES标头。PES标头的位置可轻易被检测出,这是因为在包的纯文本标头内的PLUSI位可指示其存在。如果仅在第一周期(在智能卡的延迟后)期间发现正确的PES标头,那么ECM包含一个CW。如果在第二周期中也找到它们,则它包含两个CW。
这种情况描述于图17。
图17图示了用于一个CW检测和两个CW检测的情况。可看到,提供了加密内容1700的不同周期1403。利用智能卡的延迟1500,可对ECM A进行解密以生成相应CW。通过解密加密的内容1700,可生成所解密的内容1701。图17还示出了PES标头1702,即周期A(左)中的PES标头和周期B(右)中的PES标头B。
图17中用于一个CW的周期B的区域1703指示数据用错误的密钥进行解密并因此被加扰。这个检验可在记录的同时进行,在该情况下将花费例如20到30秒。它也可离线进行,因为仅仅两个被PLUSI指示的包(每个周期一个)将必须被检验,这将会非常快速。在其中没有充分的PES标头可用的可能性较小的情况下,则可用画面标头替代。实际上,任何已知信息均可用于检测。不管怎样,一个/两个CW指示可存储于ECM文件中。
下面,将特别描述与处理慢进流有关的某些方面。
接下来,将阐述基于花样-播放GOP的慢进、静止画面和步进模式。
慢进,也可表示为慢速前移,是一种其中显示画面以低于正常速度运行的模式。利用上述参考图7和图8解释的技术,慢进的一种形式早已是可能的。将快进速度设置为一个介于零和一之间的值导致了基于快进花样-播放GOP的重复的慢进流。对于纯文本流,这是个合适的解决方案,但是对于加密流,这可导致在某些特定条件下对部分I-帧的错误解密。解决这个问题的一个选择方案不是重复快进花样-播放GOP而是通过添加空P-帧来扩展花样-播放GOP的尺寸。这个技术事实上也可允许慢退,这是因为它基于用于快进/快退的花样-播放GOP并因此基于可独立解码的I-帧。
这样的基于I-帧的慢进或慢退因为以下原因而在特殊情况下可能是不合适的。正常播放中的I-帧之间的距离约半秒,并且对于慢进/慢退,它乘以慢速移动系数。所以这类慢进或慢退并非确切是通常理解的慢速移动,而是事实上更象具有在连续画面之间的大时间距离的幻灯片。
在静止画面模式中,显示画面可暂停。这可通过把空P-帧添加到I-帧中达该静止画面模式时长而实现。这意味着从最后的I-帧得到的画面被暂停。当从正常播放切换到静止画面时,这也可以是根据CPI文件中的数据的最接近的I-帧。这个技术是快进/快退模式的扩展,并特别是如果使用交织截断的话,则导致不错的静止画面。然而,当从正常播放或慢进/慢退切换到静止画面时,位置精度并不总是令人满意的。
静止画面模式可扩展为实现步进模式。步进命令将流推进到某个下一或先前I-帧。步进尺寸最小是一个GOP但是也可被设置为等于整数数量个GOP的更高值。因为只使用了一个I-帧,所以在这个情况下,步进向前和步进向后都是可能的。
对于慢进流的构造,进行了很多考虑。例如,在基本流级别上的慢进流构造仅可在纯文本数据上执行。结果,慢进流将是纯文本,即便正常播放流初始被加密也是如此。这样的情况对于著作权持有人可能是不可接受的。进一步地,这比快进/快退流的情况更坏,这是因为所有信息,即每个帧,都出现于慢进流的纯文本中,而不仅是如快进/快退流的情况下仅仅出现帧的子集。因此纯文本正常播放流可容易地根据纯文本慢进流进行重建。所以如果正常播放流是加密的话,则慢进流应该加密。因为DVB加密器在消费者设备中是不允许的,所以只有慢进流使用来自初始传输的加密数据流的加密数据包、在传输流级别上构造时,这才可实现。
下面,参考图18到图63,将描述能够在根据本发明示例性实施例的***中处理数据流的***。
要强调的是,下面描述的***可在参考图1到图17描述的***的框架中实现并且可以与其中任何一个***组合实现。
下面,参考图18到图22,将描述根据本发明示例性实施例的处理数据流的方法。
图18示出了完全加密的MPEG2数据流1800,即因安全原因而在从数据源转移到播放设备期间被完全编码的数据流。
为了提供慢进花样-播放模式,即与加密数据流1800相关的媒体内容的慢速移动重放,可进行各种将在下面更详细描述的操纵步骤。
作为第一步骤,如图19中可看出的,对完全加密的MPEG2数据流1800进行处理以形成部分解密和部分加密的混合数据流1900。通过选择性地以相应解密的帧边界部分1901替换加密数据流1800的相邻加密帧1902之间的加密帧边界部分1901、以形成部分解密和部分加密的混合数据流1900,可以获得混合数据流1900。更为详细地,一部分解密的帧边界部分1901由画面起始码部分1903形成。帧边界部分1901可以是可被单个解密的最小部分,而其中的一部分是(期望的)画面起始码部分1903。这个过程可这样执行,以便包含在视频内容的后续帧之间的画面起始码1903(完整或部分地)的包1901成为纯文本(即部分1901变得被解密的),而数据流1900的剩余(在许多情况下是主要的)部分,即实际音频或视频内容1902,保持加密。然而,画面起始码1903以被解码的方式出现以便使花样-播放的进行能成为可能,这将在下面进行描述。
从图20可看出,通过在帧边界部分1901/画面起始码部分1903处拆分混合数据流1900的相邻帧1902来对混合数据流1900进行进一步处理。换句话说,将连续并相邻的混合数据流1900分离成包括各自帧边界部分1901和相应帧1902的不同部分。
另外,从图21可看出,一些拆分帧2000,即B-帧,根据预定慢进率而被重复一些次数,在当前实施例是三次。锚帧(I-帧和P-帧)使用空帧2001重复。在当前情况下,慢进率是系数3。这意味着加密数据流1800的视频内容应该以速率与正常播放操作模式相比为1/3的慢进模式进行再现。
要注意的是,同样也可以重复锚帧(而不是***空帧)多次以便实现花样-播放流。
通过对各个部分加密和部分解密的部分2000的多次重复,并通过顺序地将复制的拆分帧2000相互连接,可能出现画面起始码1901和帧1902的不同组所导致的相邻部分不以合适的方式相互配合。为了这个目的,如图22所示,如果期望的话,通过选择性地修改连接部分2200来将这些部分粘合在一起,以便使混合数据流2201适合于花样-播放。
下面,参考图23,将描述根据本发明示例性的实施例的处理设备2300。
通过处理设备2300,可以执行如参考图18到图22描述的各种方法步骤。
图23示出了其中存储了要再现的加密视听内容的硬盘2301。
处理设备2300可由如中央处理单元(CPU)2302那样的控制单元所控制,而该控制单元本身又被人类用户通过用户接口2303来控制。借助于用户接口2303,人类用户可控制处理设备2300的操作,例如可启动正常播放模式或如慢进模式那样的花样-播放操作模式。
当相应控制信号从中央处理单元2302发送到硬盘2301时,以加密形式的视听内容从硬盘2301发送到解密器2304。解密器2304适合于选择性地用解密的帧边界部分1901替换在加密数据流1800的相邻帧1902之间的加密帧边界部分以生成部分解密的数据流1900。
将部分解密的数据流1900提供给拆分单元2305,用于在帧边界部分1901处拆分部分解密的数据流1900的相邻帧1902。将被分离开的混合流部分2000的序列提供给复制单元2306,用于根据预定复制率复制拆分帧2000多次(在图18到图22的例子中是三次),该预定复制率可由微处理器2302和/或通过用户操作用户接口2303来定义或确定。
图21所示的各个部分然后可从复制单元2306提供给粘合单元或连接单元2307,其连接图21的已复制拆分帧以便生成能够进行花样-播放的流2201。
这个流可提供给如带有扬声器的监视器那样的再现单元2308,其中在微处理器2302的控制下和/或在用户经由用户接口2303的控制下,对这个内容的再现是可能的。
可以预见到在再现单元2308内的进一步解密单元(未示出)以便解密加密的数据流2201用于重放。
解密单元2304选择性地用包含帧边界部分1901的解密包来仅仅替换在加密数据流1800的相邻帧1902之间的加密帧边界部分,并保持所有其他帧部分1902加密。这确保了高的安全级别,因为只有选定部分被解密,为了生成花样-播放流2201,该选定部分必须是纯文本的。
如将在以下详细描述的,拆分单元2305能够转换可包括两个连续帧的数据的纯文本包转换为两个包,每个包仅包含来自一个帧的数据并填充每个包。粘合单元2307可基于标识位置2200和基于校正所标识的位置来连接图21中的经复制的拆分帧,其中在标识位置2200处,帧边界部分1901跨越两个帧1902。
这样的校正可包括确定帧边界部分1901的尺寸部分。如果尺寸太大,就可缩小,而如果尺寸小,可在增加长度。
帧1902可以是帧内编码帧(I-帧)、前向预测帧(P-帧)或双向预测帧(B-帧)。处理内容1800可以是视频数据和/或音频数据的数据流。再现单元2308能够再现与连接单元2307相连接的数据流。加密数据流1800可以是加密的MPEG2数据流。
下面,参考图24,将描述根据本发明其他示例性实施例的数据处理设备2400。
数据处理设备2400不同于数据处理设备2300之处在于,在图24的情况下,没有预见到解密单元2304。在该情况下,混合数据流1900直接从硬盘2301提供。这意味着要么解密单元2304集成在硬盘2301内、要么数据已经以图19示出的方式存储于硬盘2301上。
下面,将根据本发明示例性实施例来阐述与慢进花样-播放再现有关的进一步细节。
接下来,将阐述将流拆分为分离的帧。
为了能够在传输级上构造慢进流,有利的是每个单个帧可作为一系列传输流包而可用。在每个帧一个PES包的情况下这很自然。PES包包含于一系列传输流包中,这是因为PES和传输流包是排列好的。在每个GOP一个PES包的情况下这就仅是用于I-帧的起始的情况。所有其他帧的边界几乎都位于包内部的某处。这个包包含来自两个帧的信息。所以第一,这个包可拆分成两个包,第一个包包含来自第一帧的数据而第二个包包含来自下一帧的数据。从拆分得到的两个包中的每个都可以适配域(AF)进行填充。
这个情况如图25所示。
图25示出了包在帧边界处的拆分。特别地,图25图示了多个TS包2500,每个包括标头2501和帧部分2502。如可从图25示出的数据流的中央部分可看到的,包括标头2501和两个连续帧2502的包被拆分成两个分离的部分,每个部分具有分离的标头2501并继之以适配域2503和相应帧2502。
对包的拆分对于纯文本流是不困难的。第一选项是如图26所示完全地解密正常播放数据。图26示出了在对正常播放数据的解密后的慢进构造。将来自硬盘2601的加密的正常播放数据2600供给解密器2602,以生成纯文本流2603。将纯文本流2603提供给帧拆分单元2604,以用于以图25示出的方式拆分不同帧。然后,将这个数据提供给慢进构造单元2605以构造慢进流,然后将该慢进流提供给机顶盒2606。
所存储的完全加密流2600或存储的混合流的解密和慢进模式不是困难的,这是因为在流内没有流数据被解密器2602跳过或复制。存储的流2600(完全加密或混合)就以低于正常的速率馈送通过解密器2602,这也意味着嵌入的ECM(权利控制消息)不存在问题。来自解密器单元2602的纯文本流2603然后可用于拆分包或事实上在帧拆分单元2604中执行任何必要的流操纵。最后得到的慢进流在这个情况下是纯文本流。
根据加密的正常播放流来构造加密的慢进流在传输级别上执行,这是因为在特殊情况下,在消费者设备中使用DVB(数字视频广播)加密器可能是不允许的。因此,需要仅仅在所有帧边界上的少量纯文本包2700和2702的混合流(见图27)。图27进一步示出了属于I-帧2703、B-帧2704或P-帧2705的加密包2701。
下面,将描述如果存储的流是完全加密的话,那么这样的流可怎样在存储设备的重放侧生成。在这种情况下,图26的解密器单元2602可以是仅解密必要包的选择类型。但是优选地,流已经存储为如图28所示的混合流。
图28图示了在存储的混合流2800上的慢进构造。在图28示出的队列中,在硬盘2601和帧拆分单元2604之间未预见有解密单元2602。然而,可然后预见解密器单元2801在机顶盒2606内。
混合流中的纯文本包2700、2702现在也应该允许对包含来自两个帧的数据的包进行拆分。这可通过将在下面更详细描述的准则来保证。然而,序列标头码或画面起始码的某些部分仍然可位于加密包内。在这个情况下,理想的拆分轻易是不可能的。事实上,可在加密的和纯文本包之间进行拆分。对这些问题的解决将在下面更详细地描述。在那种情况下,只有空P-帧接合到I-帧而且反之亦然。对于基于帧的慢进,也可考虑其中有B-帧到B-帧的接合的其他类型结合。这可导致将参考图29阐明的、某些类型在这些帧边界的粘合算法。
图29图示了其中示出了先前帧2900、当前帧2912和下一帧2901的数据流。在先前帧2900的结尾处,提供了三个字节的画面起始码2902。此外,在当前帧2912的开始处,预见到一个字节的画面起始码2903。现在来看下一帧2901,包的帧结尾以前包括一个字节的画面起始码2904。在下一帧2901的开始处,提供了三个字节的画面起始码2905。图29示出了不完整画面起始码可出现于接合点处。这可使得必须在连接区域2906处进行粘合。这样,粘合应该在B-帧2907和B-帧2908的重复之间执行。
图29特别图示了包标头2909、纯文本数据2910和加密数据2911。在图29的例子中,只有一个字节的画面起始码在B-帧的起始和结尾处。结果,在接合点处丢失两个字节。将在下面更详细描述的粘合算法可修复这样的问题。对于这个粘合,应该知道的是画面起始码是怎样拆分的。这个信息可通过将在下面更详细描述的方法来获取。
下面,将更详细地描述帧的重复。
在慢进模式中,解码器在某种程度上必须根据慢进系数来被迫重复画面的显示。空P-帧可用于强制由I-帧结果产生的画面的重复。这个技术也可用于由P-帧结果产生的画面。然而,这个技术不能轻易用于B-帧,因为空P-帧总是指向是I-帧或P-帧的锚帧。这事实上是用于任何类型的空帧的情况。所以由B-帧结果产生的画面的重复必须以其他方式实现。一个可能的方法是重复B-帧数据本身。因为重复的B-帧指向与初始B-帧相同的锚帧,所以结果得到的画面将是相同的。用于B-帧的数据量通常远多于用于空P-帧的数据量,但是一般地仍然显著少于用于I-帧的数据流。不管怎样,传输也以慢-移动系数倍增,所以不需要至少为平均的增加位率。
用于强制由I-帧或P-帧结果产生的画面的重复的空帧可以是交织截断类型,因此降低了这些画面的交织膺像。但是这样的降低对于由B-帧结果产生的画面轻易是不可能的,因为重复不是由空帧而是由B-帧数据本身的重复所强制。所以B-帧将具有初始的交织效果。如果交织截断将用于I-帧和P-帧,则这将看上去非常别扭,因为带有和不带有交织效果的画面顺序地出现于所显示的画面流中。现在相信的是,仅使用没有交织截断的空帧来构造慢进流可能更好。
可通过在传输流中、在初始I-帧或P-帧后***空P-帧来实施I-和P-帧的重复。这样的方法可用于包括后面继之以空P-帧的I-帧的快进/快退流。然而,这个方法对于也包括B-帧的流可能不是绝对正确的,如根据所存储的、具有B-流的传输流来构造慢进流的情况那样。由于从传输数据到显示流的重新排序,I-帧和P-帧将以错误位置重复,这样就扰乱了帧的正常显示次序。这显示于图30和图31中。
图30图示了在正常播放中重新排序的效果。图30示出了传输顺序3000和显示顺序3001。特别是,图30解释了在正常播放中重新排序的效果。上面行示出了GOP尺寸为12帧并包括I-帧2703、P-帧2705和B-帧2704的正常播放转移流3000。为了清楚起见,也示出了下一传输GOP的前四个帧。图30的下面行示出了在重新排序为显示次序后的流3001。索引指示显示帧次序。根据MPEG2标准ISO/IEC 13818-2:1995(E)(特别见24和25页),重新排序可如下执行:
-B-帧保持其初始位置;
-锚帧(即I-帧和P-帧)移为到下一锚帧的位置。
图31示出了在慢进模式中重新排序的效果。特别是,图31图示了传输次序3100、重新排序后的次序3101和所显示画面的次序3102。更详细地查看根据正常播放流构造的慢进流,图31的上面行示出了用于这个情况的慢移动流的第一部分的传输次序3100,其中假设慢移动系数为三。空P-帧可在I-帧和P-帧之后***,而且B-帧可以重复。图31的中间行示出了重新排序的效果。图31的底部行示出了在这个情况下I-帧和P-帧是怎样通过空P-帧来重复。空P-帧可导致作为由先前锚帧结果产生的画面的复本的显示画面,先前锚帧本身也可以是空P-帧。在图31中可见,由索引指示的正常显示次序3102被扰乱了,这是因为帧I4的显示拆分成两部分。只有最后一次的帧I4显示于正确位置。这也意味着B-帧可能被错误地解码了。
下面,将描述怎样修正这样的缺陷的几个选项。一种可能性示于图32中。图32示出了在锚帧前***空P-帧。图32中的三行与图31的三行相似。在图32中,如上面行3100所示,在从存储设备提取的传输流中的锚帧之前***空P-帧。在重新排序的流3101中,空P-帧现在位于锚帧之后。如图32的显示画面3102中可清楚看出的那样,对于锚帧的正确重复,这是它们应该在的位置。
但是,对于为什么避免空P-帧可以是适合的存在争议。一个争议关于错误在GOP内的传播。P-帧依赖于先前的锚帧而B-帧依赖于周围的锚帧。在到机顶盒的传输期间的数据错误导致编码错误并因而导致画面中的干扰。如果这个错误是锚帧,则它就传播直至GOP的结尾,因为后续P-帧依赖于这个锚帧。还影响了B-帧,因为它们用来自受干扰的周围锚帧的画面进行解码。这可能有画面干扰朝向GOP的结尾逐渐增加的结果。这对于其中GOP尺寸可以非常大并因而在时间上非常长的慢进可能是特别重要的。另一方面,B-帧中的数据错误仅有很有限的效果,因为没有其他帧依赖于它。所以画面干扰被限制于这个B-帧及其重复。有人可能争议:数据错误不应该发生于数字接口上,但是防止使用空P-帧可有第二个优点。如果这些是交织截断类型的话,那么它们在解码的画面上的改变自然会导致用于后续帧的解码错误。所以交织截断可能是不可能的。
参考空帧的构造,可构造几个类型的空B-帧。这可具有不引入额外的错误传播而且可以使用交织截断的优点。
空B-帧的可能类型是前向预测空B-帧(可表示为Bf帧)和后向预测空B-帧(可表示为Bb帧)。
B-帧通常是双向预测的,但是也可存在单向预测B-帧。在单向预测B-帧的情况下,它们可以是前向或后向预测。预测编码意味着在解码期间使用锚帧用于预测后面的B-帧。所以由前向预测B-帧结果产生的画面可在解码期间根据先前锚帧构造。这意味着Bf-帧强制先前锚帧的重复。因此,它与空P-或Pe-帧具有相同效果。Bb-帧则具有相反效果。它强制在它之后的锚帧的显示。对于两种类型的空B-帧,交织截断版本同样是可能的。
下面,将描述怎样使用这样的空B-帧用于慢进流的构造。
图33中描述了以Bb-帧为基础的第一可能性。
Bb-帧***在锚帧之前并在重新排序期间中保持它们的位置。锚帧转为到下一锚帧的位置。Bb帧强制在重新排序流中在它后面的锚帧的显示。
其他的选择方案是如图34所示的Bf-帧的使用。
在传输流中,Bf-帧***在锚帧之后。锚帧在重新排序流中的重复显示由跟随在它们后面的Bf-帧所强制。
对于快进和快退流的构造,对Bf-帧的使用与对空P-帧的使用相似。事实上,在那种情况下,对Bf-帧的使用也是可能的,这样甚至进一步地普及花样-播放的生成。但是当Bf-帧用于快进和快退时,应该考虑重新排序的效果。这意味着在快进/快退流中、如PTS/DTS和时间参考那样的某些参数必须被适当选择。
接着,将描述各个帧的粘合。
特别是,将讨论在不完整画面起始码的情况下的帧的粘合。为了确定在慢进流中的接合点处所需要的粘合行为,首先应该清楚的是,初始流在哪里被明确拆分成单个的帧。下面,将考虑每个GOP或每个帧一个PES包的实际情况。
在每个帧一个PES包的情况下,如图35所示,初始流可在具有PLUSI的包和前面包之间拆分,。
在图35中,示出了对于每个帧一个PES包的流的拆分。图35示出的数据流包括纯文本包标头3500、适配域3501、纯文本数据3502、加密数据3503和纯文本PES标头3504。更进一步地,PLUSI的存在以参考数字3505表示,而PES标头以参考数字3506表示。
单个帧包括若干个完整的初始包。所以包拆分不是必须的。这个帧拆分也可在完整加密的流中执行,但是对于慢进流的构造,对某些纯文本数据的访问仍然是需要的。在具有PLUSI的包的起始处进行拆分也意味着不存在跨越两个包的画面起始码。每个单个帧本身包含其正确和完整的画面起始码。因此,在这种情况下不必有粘合行为。
然而,在每个GOP一个PES包的情况下,情况就不同了。除非在新帧的画面起始码的之前有PES标头,否则帧之间的拆分在新帧的画面起始码处进行。
可使用以下算法用于确定拆分点:
1、同时在初始流中调查具有PLUSI位设置、画面起始码和画面编码扩展的包;
2、如果首先碰到具有PLUSI位设置的包,那么就在这个包的起始处进行拆分(见图36,包括画面起始码3600和画面码扩展3601)。接着,在流中搜索画面编码扩展。在找到这个后,如在点1中描述的那样继续搜索;
3、如果首先碰到画面起始码,则在画面起始码的起始处进行拆分。在许多情况下,这意味着包含画面起始码的包必须拆分成两个包,第一个包被指定给先前帧而第二个包被指定给后续帧(见图37,其示出了在画面起始码3600的起始处的流的拆分,其中适配域的***位置以参考数字3700表示)。两个包都填充有适配域3700。然后第二包的有效负载用画面起始码3600开始。将初始包的记录时戳复制到每个由拆分产生的两个包中的每一个中。在两个帧的接合点处将使用来自拆分还是初始包的两个包取决于将在下面阐述的具体情况。随后,在该流中搜索画面编码扩展3601。在找到这个后,如在点1中描述的那样继续搜索;
4、如果首先碰到画面编码扩展,画面起始码必是不可检测的,因为它是部分加密的。这意味着当前纯文本区域以画面起始码的某些字节开始。在这个情况下,在当前纯文本区域的第一纯文本包的起始处进行拆分(见图38,其示出了在画面起始码3600内的流的拆分,并示出了画面起始码3800以及画面码扩展3601的字节)。在已经找到画面编码扩展3601后,继续进行在点1中描述的搜索。
对于具有每个帧一个PES包的流,所描述的算法也将导致正确的拆分点。另外,该算法指定用于纯文本流以及以上提到的混合流。
粘合仅在仅可由给定算法中的点4结果产生的不完整画面起始码的情况下是必须的。所以只有点4导致非理想的拆分点。纯文本流只包含理想的拆分点,这是因为总会找到画面起始码。所以在这种情况下不需要粘合。但是混合流将包含非理想的拆分点。下面描述的方法可用于确定多少字节的画面起始码在非理想拆分点的每一侧上。非理想拆分点的效果将在下面详细解释。
接下来,将考虑在这样的非理想拆分点处***任何类型的空P-帧的情况。下面将阐述如何处理第一空帧。等于在拆分点后的部分画面起始码的若干个字节从第一空帧的画面起始码中除去。中间空帧不变。必须为后续帧的画面起始码的丢失部分校正最后的空帧。所以可以将这个丢失部分添加到最后空帧的结尾。不必要对在理想拆分点处***的空帧进行改变。
下面,将考虑B-帧的重复。在B-帧在两侧都有理想拆分点的情况下,不必要为该重复采取粘合行为。但是如果非理想拆分点出现于帧的任何一侧上,粘合行为可能是必要的或有利的。初始帧及其重复形成了一系列的相等的B-帧。在该系列的起始或结尾是不必采取粘合行为的,这是因为在这里,帧要么连接到与正常播放流相同的帧要么连接到空帧。在第一情况下,因为数据的正常次序在该点处恢复,所以没有不连续性。上面已经给出用于第二情况的解决方案。所以只有其中B-帧的结尾连接到相同B-帧的起始的中间接合点必须被考虑。这里描述的例子引用上面参考图29给出的例子并为了清楚而更加详细地在图39中重复。
图39图示了在接合点处的不完整画面起始码。
为了正确粘合,必须知道在B-帧的结尾和起始处的画面起始码的字节数量(在MPEG2内,起始码可以是4字节的长度)。在结尾以n而在起始以m表示字节的数量,对于理想的拆分点n=0而m=4。在非理想拆分点的情况下,一个帧的数量n和后续帧的数量m可通过下面示出的方法来确定。
显然n绝不能等于4,因为那样拆分将已经在导致n=0的画面起始码的起始处进行。另一方面,m绝不能是0,因为在那种情况下,画面起始码将完全地在先前帧内,而拆分将已经在理想位置处进行,这样导致m=4。所以0≤n≤3和1≤m≤4是通常的情况。
为了得到同一个帧N的数量n和m,这些数量必须从围绕帧的两个拆分点的信息中提取。所以n和m现在表示画面起始码在必须重复的B-帧结尾和起始处的字节数量。作为结果,它们也表示在中间接合点之前和之后的若干字节的画面起始码。
接着,将假设n+m=4。这是当围绕B-帧的两个拆分点都是理想的情况。但是已经知道在那种情况下不需要粘合行为。然而,这也可以是个当两个拆分点都非理想的情况。这个是图40所描述的情况。
图40因此图示了n+m=4的例子。
帧N的最后包以参考数字4000表示,而图40还示出了以参考数字4001表示的帧N的第一包。在边界4002处不需要粘合行为。画面起始码的字节(n=3)以参考数字4003表示,而画面起始码的字节(m=1)以参考数字4004表示。
n+m=4这一事实意味着在接合点处存在画面起始码字节的正确数量,并且不需要粘合行为。
然而,图41示出了n+m>4的情况。
这意味着有太多在接合点的1、2或3个字节。在这个情况下,从第二帧的起始处除去了等于n+m-4的若干个字节。这通过用包含填充字节的适配域(AF)来替换这些纯文本字节来实现。如果适配域已经存在,其那么长度必须以m+n-4增加,而要丢弃的数据被填充字节替换,该填充字节根据标准具有十六进制值FF。
在n+m>4和n<3的特殊情况下,也可以不做粘合。实际上,人们得到了基本流填充。
以参考数字4100表示了粘合行为有必要的点。在该例子中,画面起始码的字节(n=2)以参考数字4101表示。画面起始码的字节(m=3)以参考数字4102表示。更进一步地,画面起始码的字节(n=2)以参考数字4103表示而画面起始码的字节(m=2)以参考数字4104表示。使用适配域替换的字节位置(n+m-4)以参考数字4105表示。
参考图42,假设n+m<4。
这意味着在接合点处从画面起始码中丢失了1、2或3字节。在这个情况下应该知道的是哪一个字节或哪几个字节丢失了。因为n和m都是已知的,所以丢失字节可被唯一地标识出。丢失字节现在置于进一步用适配域填充的新包中。这个粘合包然后置于两个帧之间。这个粘合包以参考数字4200表示。参考数字4201表示画面起始码的字节(n=2),参考数字4202表示画面起始码的字节(m=1)。参考数字4204表示***的字节(4-n-m)。参考数字4205示出画面起始码的字节(m=1)。
下面,将描述使用时戳对帧和包的定位。
本描述使用前置于每个包的记录时戳来处理帧和包在慢进流的时间轴上的放置。它从初始的正常播放帧的放置开始。然后描述B-帧的重复和压缩。接着,阐述空帧的放置。最后,讨论关于PCR的某些事项。
接下来,将解释初始正常播放帧的定位。
如果接收必要数据前开始解码的话,则可能出现解码问题。如果帧数据结尾到这个帧的DTS的距离对于慢进和正常播放流是相等的话,则这种可能的解码问题对于慢进流是可以避免的。这可通过下列步骤来实现:保持在相应DTS的帧数据的起始处的距离等于正常播放流、并以与来自初始正常播放流的相同的包距离来放置这个帧中的包。
图43中描述了这种情况,其示出了到DTS的未修改的距离。到DTS的距离可远大于图43示出的距离。
图43示出了以参考数字4300表示的正常播放的情况以及示出了以参考数字4301表示的慢进的情况。
帧数据的起始时刻由在这个帧的起始处的***时间计时器的值给出。这由虚拟PCR值PCRS表示。上标N和S分别表示在所记录的正常播放流中的初始值和慢进流中的新值。那么对于帧的起始的放置规则由下式给出:
DTSS-PCRSS=DTSN-PCRSN              (5)
其可重新写成:
DTSS-DTSN=PCRSS-PCRSN              (6)
在慢进流的帧相对于它在正常播放流的初始位置的偏移由以下给出:
偏移=PCRSS-PCRSN                   (7)
这可转换成:
偏移=DTSS-DTSN                                        (8)
可为每个慢进帧计算所需要的DTS值,而且如果必要的话也可为没有DTS的GOP内的正常播放帧进行计算。现在在正常播放流中以及慢进流中的所有初始帧的DTS都是可用的,这些帧的偏移可计算为它们的新和初始DTS值之差。然后这个偏移用于定位帧和校正出现于这个帧的数据内的PCRS的PCR值。后者是容易的;将偏移简单地添加到初始PCR基准上。不改变PCR扩展。这确保了在DTS和PCR之间不引入漂移,这是因为在两种情况下的校正都等于偏移。那么新和初始PCR基准值之间的关系由下式给出:
PCRbaseS=PCRbaseN+偏移                                (9)
帧的定位在某种程度上是更困难的。定位通过对前置于所有包的4字节记录时戳(TST)进行校正来实现。为了这个目的,可从90kHz到27MHz的基础中重新计算偏移。直接的选择将是将偏移乘以300。但是当从正常播放切换到慢进时,这里必须考虑在PCR时钟频率中的可能跳转。如果时戳计数器的时钟在记录期间锁定到PCR上的话,这种跳转将不会发生。但是如果因为一个原因或其他原因、时戳不锁定到PCR的话,那么仍然可通过使用额外的倍增系数M来避免跳转PCR时钟频率。这个系数因此等于在所记录的正常播放流中、包含PCR的最后两个包的时戳和PCR值的比率。最后意指在当前帧的起始之前的最后两个PCR包。这个比率等于在锁定时戳的理想情况下的比率。这至少两个PCR包用P(k-1)和Pk表示,那么对于帧中所有包的时戳的偏移由下式给出:
TST偏移=300×偏移×M                                  (10)
其中
M=(TSTN{Pk}-TSTN{P(k-1)})/(PCRN{Pk}-PCRN{P(k-1)})     (11)
这个公式中的PCR值事实上是基于27MHz时钟的总PCR值。这可通过下面方式从PCR基准和扩展中计算出:
PCR=300×PCRbase+PCRext                   (12)
很清楚的是,如果在包P(k-1)和Pk之间的TST或PCR值中存在包圆(wrap),则在M的计算中就可出现奇怪的结果。这可简单地避免。如果用于包Pk的值小于用于包P(k-1)的,则必须在这个减法之前将对应于TST或PCR的范围的值加到用于包Pk的值上。这意味着用于TST和PCR的寄存器应该比通常要求的要宽出一位。对于TST,这也意味着当这个条件发生时将这个附加位设置为一,否则就是设置为零。剩余位总是等于初始TST位。
所计算的TST偏移用于校正这个帧中的所有包的时戳。这意味着将偏移值添加到所记录的时戳上。
下面,将阐述B-帧的重复。
由B-帧结果产生的所显示画面的重复由B-帧数据的重复来强制执行。这导致在慢进流中的一系列相同的B-帧。这个系列中的第一帧的放置与处理初始正常播放帧的定位的情况相似。剩余帧被称为重复的B-帧。它们可与第一帧相同的方式进行处理,这意味着将偏移计算为在慢进流和初始记录流中的DTS值之差。所记录的帧的DTS对于相同B-帧的整个系列都是相等的。在慢进流中,帧的DTS总是等于增加了Delta的先前帧的DTS。这意味着重复的B-帧BR的偏移也可利用下列公式进行计算,其中BL表示先前B-帧:
偏移{BR}=偏移{BL}+Delta                   (13)
然后用以前描述的方式使用偏移用于校正可能存在的PCR和(转换后)的特定BR帧中的包的时戳。
图44图示了在一系列相同B-帧的边界处的相等偏移。该情况为正常播放(表示为参考数字4400)和为慢进(表示为参考数字4401)进行了表述。
可示出的是,如果没有空帧在这个接合点处***的话,则一系列中的第一个B-帧的偏移等于在慢进流中的先前帧的偏移。有两个情况满足这个要求。第一个情况是在前***空帧的情况下当把B-帧接合到先前锚帧时。第二个情况是当把B-帧接合到先前B-帧时。图44阐明了对于两个B-帧的接合效果。事实上这对于该系列的结尾也是相同的。同样在这里,如果在这个点处没有空帧***的话,则接合点周围的两个帧的偏移是相等的。图44还为两个接合的B-帧示出了这个。其他情况是在使用Bf-帧的后***的情况下,B-帧到后续锚帧的接合。
这意味着,在这样的接合点周围的两个帧通过与在正常播放流中相同的方式进行连接。为了这个原因,在包包含了来自两个帧的信息的情况下,在这样的接合点处总是使用初始包而从不使用由拆分产生的两个包。也很显然的是(如已经在上面解释过的那样),在这样的点不需要粘合。在所有其他结合点处,如果存在由拆分引起的两个包就使用。
下面,将说明B-帧的时间压缩。
也许希望的是B-帧的时长通常将小于一个帧时间。一般地这是对的,但是偶然地,B-帧的传输时间可以大于一个帧时间。在利用大约30秒的时长的测量中,检测到1.4帧时间的B-帧。在图45中描述了这个测量。平均B-帧数据长度等于0.6帧,但是经常地,B-帧数据的时长大于一个帧时间。
图45示出了具有横轴4501的图示4500,其中沿横轴画出了以秒为单位的时间。沿曲线4500的纵坐标4502,以帧的时间数为单位画出了帧的长度。
只要B-帧的时长小于一个帧时间,通过用TST偏移校正其时戳的B-帧的包的定位将导致正确的结果。但是如果在慢进流中的B-帧大于一个帧时间,它的结尾将与后续的帧重叠,这是因为帧的起始置于距离一个帧时间的距离。这个不是完全正确的,因为最后的重复B-帧将不会与后续的帧重叠。B-帧大于一个帧时间的情况显示于图46中。图46图示了在B-帧大于一个帧时间的情况下的数据重叠。
图46图示了正常播放情况4600、没有压缩的慢进情况4601和有压缩的慢进情况4602。帧时间以参考数字4603表示。B-帧具有参考数字4604,下一帧具有参考数字4605,先前帧具有参考数字4606和压缩B-帧以4607表示。此外,在相邻帧之间的重叠以参考数字4608表示。
先前和后续帧的类型对于所描述的效果没有影响。所以它们可以是锚帧、B-帧或甚至是空帧。
这意味着,一系列相同B-帧中的所有B-帧除了最后一个之外都必须被及时压缩。这个压缩可增加本地位率甚至到大约为总的正常播放流的最大位率的级别。为了尽可能限制这个增加,B-帧中的包在可用的帧时间上均匀分布。B-帧中第一包的时戳利用早先已经给出的偏移规则进行计算。如果B-帧的包表示为Pj,其中索引j是在B-帧内包的编号,那么在慢进流中的压缩B-帧的第一包的时戳由下式给出:
TSTS{P1}=TSTN{P1}+TST偏移               (14)
对于帧的后续包,时戳的增量等于与一个帧时间除以帧中的包总数量相对应的值。在B-帧结尾处的额外包,如粘合包和PCR包,都必须包含于这个数量内。以Nb表示包的这个数量,并且以db表示压缩B-帧的包之间的距离,则这个距离由下式给出:
db=300×Delta/Nb                        (15)
压缩B-帧和慢进流的剩余包的时戳然后由下式给出:
TSTS{Pj}=TSTS{P(j-1)}+db                (16)
在非理想的情况下,用于距离计算的倍增系数300可导致在压缩B-帧的最后包和后续帧的第一包之间的包距离问题。这个可通过不使用系数300而是以与为偏移所描述的相同方式来转换Delta而得到解决。但是务实的解决方案是取Nb的值为比包的真实数量大一。图47示出了如何将具有不规则包距离和大于一个帧时间的时长的B-帧压缩成具有一个帧时间的时长和固定包距离的B-帧。一个帧时间对应于在时戳中300×Delta的增量。Nb被选择为比包的真实数量大一的事实导致一些在压缩B-帧结尾处的空的空间。
因此,图47图示了具有均匀分布的包的B-帧的压缩。
图47示出了非压缩状态4700、压缩状态4701,示出了B-帧4702和在一个帧时间内压缩的B-帧4703。
在所有情况下而不是仅仅如果需要压缩时,可以使用用于B-帧的相等包分布的方法。但是在绝大多数情况下,这意味着B-帧被扩展了。将TST偏移应用到B-帧中的第一包意味着,这个包到DTS的距离等于正常播放流。因此扩展导致比在B-帧数据的结尾和相应DTS之间的初始距离更小的时间距离。但是应该理解的是,帧的DTS绝不会早于帧数据的起始一个帧时间。原因如下:根据定义,帧的DTS和初始流总是比先前帧的DTS晚一个帧时间。这个先前帧的DTS决不会早于这个帧的数据的结尾,并因而决不在当前帧的数据的起始之前。这意味着随机帧的DTS比这个帧的数据的起始至少晚一个帧时间。这也意味着DTS总是在帧数据的结尾之后,即使这个数据在一个帧时间内均匀分布也是如此。所以所描述的相等包分布应该适用于除了最后的重复B-帧以外的所有B-帧。为了简便起见,压缩以及扩展的帧可命名为压缩帧。
粘合只有在B-帧的相同系列中的B-帧之间才必要。所以仅仅把可能的附加粘合包添加到压缩B-帧的结尾而决不会是别处。将附加PCR包添加到除了最后重复的B-帧的结尾处之外的B-帧结尾处是因为在这个点处没有地方了。这又意味着附加PCR仅在压缩B-帧的结尾处添加。所以对于这些包来说,不需要特殊的放置算法,因为它们全部都包括于压缩算法中。
B-帧压缩的结果是,在帧数据内对PCR值的校正对于这样的B-帧的不再是正确的。下面将描述在这个情况下这个PCR值是怎样校正的以及添加到压缩B-帧结尾的PCR值是怎样计算的。接下来,将描述空帧的***。
必须确定的是所***的空帧位于何处。查看在慢进流中的其他帧的位置,就会清楚(特别是对于较大的慢速-移动系数),在要***空帧的点处存在主要的时隙。为了避免过量PCR距离带来的问题,空帧应该分布于这个区域中且每个空帧应该包含PCR。由于这个原因,将连续空帧之间的距离选择为一个帧时间。第一空帧直接接合到先前帧。这在图48中示出。
图48示出了空帧的放置并图示了先前帧4800、空帧4801,在帧时间4802后放置的进一步空帧4801,等等的序列。下一帧以参考数字4803表示。
放置算法与空帧的先或后-***或类型无关。然而,应该在在空帧中的第一个包的放置和剩余包的放置之间进行区分。
下面,将阐述空帧中的第一包的放置。
从图49可见,这里描述了空帧中的第一个包的定位。先前帧4900跟随有多个空帧4901、4902、4903等。空帧中的第一个包以FPi表示,其中i是空帧在空帧序列内的帧编号。
从FP1(其是第一空帧中的第一个包)的放置开始,存在有几种选择方案来推导这个包的时戳。一个是将值d添加到先前帧中的最后一个包的慢进时戳中。这个最后一个包再次以PL表示,第一空帧中的第一个包的时戳由下式给出:
TSTS{FP1}=TSTS{PL}+d                  (17)
d的值也可通过几种方式选择。一个可能性是使用先前帧的最后两个包的时戳之差作为d的值。时戳然后要么从慢进流要么从初始记录的流中获取,这是因为压缩帧无论如何都不会先于空帧。先前帧的最后两个包以PL-1和PL表示,d的值由下式给出:
d=TST{PL}-TST{P(L-1)}                 (18)
如果用于d的计算的时戳是从慢进流中获取的话,用于FP1的计算的公式也可写成:
TSTS{FP1}=2×TSTS{PL}-TSTS{P(L-1)}    (19)
通过重复地将与一个帧时间相对应的值添加到FP1的时戳中,来获取后续空帧中的第一个包的时戳。在这个情况下这个值可选择为300×Delta。因此,后续空帧中的第一个包的时戳由下式给出:
TSTS{FPi}=TSTS{FP(i-1)}+300×Delta    (20)
下面,将阐述空帧中的剩余包的放置。
空帧中的包以Pj表示,其中j是在这个空帧内的包编号。P1是空帧的第一个包,而空帧如上表示为FP。
剩余包的位置从空帧中的第一个包推导出。因此必须确定包之间的距离。事实上,只要距离不是太短这就不是关键的,这是因为有广阔的可用空间。这里将提及两个选择方案。
第一选择方案再次是使用早先提到的d的值。这个值然后用于递增在空帧内的包的时戳。这些时戳因此由下式给出:
TSTS{Pj}=TSTS{P(j-1)}+d                    (21)
这在图50中进行了描述,其中示出了先前帧5000、第一空帧5001和第二空帧5002的序列。因此,图50图示了基于先前帧的空帧中的包距离。
第二选择方案是在一个帧时间上均匀分布空帧中的包。在这个情况下,增量等于与将一个帧时间除以空帧中的包数量相对应的值。这个包的数量以Ne表示,而包之间的距离以de表示,距离由下式给出:
de=300×Delta/Ne                           (22)
因此在空帧内的包的时戳由下式给出:
TSTS{Pj}=TSTS{P(j-1)}+de                   (23)
这个情况也在图51中进行了描述,其中再次示出了跟随有第一空帧5001和第二空帧5002的先前帧5000。
因此,图51图示了在一个帧时间上均匀分布的空帧中的包。
接着,阐述关于PCR的某些方面。
首先,可假设在慢进流中没有附加的PCR***。因为I-帧通常远大于一个帧时间,很可能的是它将包含PCR。对于P-帧,该可能性已经降低了。B-帧绝大多数小于一个帧时间,所以很多B-帧将不包含PCR。这意味着虽然B-帧被重复了,但是在慢进流中将出现PCR内的大的间隙。一般地,可以说的是PCR之间的最大距离以慢移动系数增加。这就清楚地要求在慢进流中***附加的PCR。
除了嵌于帧数据中的初始PCR之外,应该将附加的PCR加到空帧和B-帧的结尾处。后者包含有最后重复的B-帧的结尾的例外,这是因为在这个点上没有地方了。通过这些措施,仍然可能的是最大距离超出DVB标准的要求,但是这到不了有问题的级别。一般地,该情况甚至会比用于快进/快退的情况更加有利。
早先至少对没有压缩的帧描述了对嵌于帧中的PCR的校正。某些其他方法利于计算在空帧中和在B-帧的结尾处的附加PCR的PCR值以及在压缩B-帧中的PCR的PCR值。第一选择方案是下列规则:PCR值等于在慢进流中的先前PCR的值,该值利用在包含这些PCR的两个包的实际慢进时戳之差进行校正。分别以Pc和P(c-1)表示包含当前和先前PCR的包,在慢进流中的当前PCR由下式给出:
PCRS{Pc}=PCRS{P(c-1)}+TSTS{Pc}-TSTS{P(c-1)}           (24)
还有,这里PCR表示根据基准和扩展计算得到的总PCR值。这个公式对于理想情况是完美的但是在非理想情况下却导致频率变化并因此有显著的PCR抖动。这可通过应用先前计算的修正系数M而避免。当前PCR已经由下式给出:
PCRS{Pc}=PCRS{P(c-1)}+(TSTS{Pc}-TSTS{P(c-1)})/M       (25)
必须***包中的PCR基准和扩展如下所示从PCR值来计算:
PCRbase=int(PCR/300)                                  (26)
PCRext=PCR-300×PCRbase                               (27)
公式(26)、(27)事实上用于调整所有PCR值,所以包括那些嵌于非压缩初始帧中的PCR。然而,具有校正系数的计算可导致可累积的舍入误差,这样导致PCR时基相对于DTS的慢偏移。因此,为了将这个偏移重置为零,对在非压缩帧中的嵌入PCR的校正应该通过如先前所描述的那样添加偏移值来执行。
下面,将描述在哪里可构造混合流。
这里描述的混合流可在几个地方创建。事实上这些是与可能用于具有纯文本I-帧的流的相同的地点:
1、在卫星广播的情况下在广播器或上行链路处;
2、在有线电缆网络的情况下在电缆前端处;
3、在安全授权域的情况下在驻留网关处;
4、在存储设备的记录侧处。
然而,对于仅有几个纯文本包的流,可能有第五个地点,即:
5、在存储设备的重放侧处。
图52图示了用于转换到混合流的可能地点。
图52的情况是广播器5200将信号广播给卫星圆盘5201。卫星圆盘5201可传输信号给卫星5202,且进一步的卫星圆盘5203可接收这些信号。然后,可将信号提供给电缆前端5204并从这里提供给存储设备5205。或者,信号可提供给驻留网关5206并从那里提供给存储设备5207。可选地,信号可从卫星圆盘5203提供给存储设备5208。在图52的地点1到5处,到混合流的转换是可能的。
地点1和2可能难以实现,这是因为提供者在这里可能具有有限的影响。对于存储设备,事实上到混合流的转换在地点1、2还是3实现没有差别。选择方案3是个好的替代方案。甚至可在授权域的驻留网关中改进提供者的位置。在所有三种情况中,存储设备在其记录输入端接收混合流。这意味着在存储设备中,解密和智能卡是不必要的,至少对于正常播放和花样-播放的生成是不必要的。但是如果使用对密钥帧等的检测的元数据提取功能出现于存储设备内的话,则解密仍然是必要的。
一个构造混合流的很可能的地点可以是其中在存储设备的记录侧的情况4。虽然这可要求在记录侧的部分解密,但它仍然具有对于花样-播放的生成不需要解密的优点。不管怎样,优选的是所记录的流是混合流。
在其中利用所有包都加密来进行记录的情况5中,仍然可能创建安全的花样-播放。而不是完整解密,也可仅解密这些需要的包而让其余仍然保留加密(见图53)。
图53图示了从完全加密的记录生成安全的花样-播放。记录设备5300提供了加密的MPEG2数据5301并将后者提供到块选择器单元5302。从那里将数据提供给生成部分加密的MPEG2数据5304的解密器5303。将这个部分加密的MPEG2数据提供给帧选择器5305,并从那里将数据供给花样-播放生成单元5306。花样-播放生成单元5306生成MPEG2 DVB兼容的传输流部分加密数据5307,其然后可提供给MPEG2解码器或解密器5308。
然而,不能使用象利用那些包和纯文本进行记录可能会有的、预先创建CPI(见图4)的优点。然而,生成主要为加密的花样-播放流仍然是可能的。***配置是这样的:花样-播放构造单元生成在传输流级别上构造的加密流,而且ECM的***不是选择而是必须的。
下面,将阐述怎样选择应该为纯文本的包。
当构造混合流时,应该确定哪个包应该是纯文本的。为了使得能够检测和选择所需要的纯文本数据,视频流可首先被完全解密。然后确定这个数据在纯文本流中的地点并且它所在的纯文本包替换了加密包和初始流以形成混合流。
对于所选择的纯文本数据,可使用三个准则:
1、DTS/PTS和PES标头可改变,如果它们存在的话。为了这个目的,所有的PES标头数据可放入纯文本中。这意味着从具有PLUSI位设置为一的包到包含PES标头的最后字节的包范围中的包全部放入纯文本中。
2、可能需要来自序列标头和序列扩展的某些信息。为了这个目的,从序列标头直至画面起始码的所有数据都放入纯文本中。通过检测四个字节的码,可检测序列标头和画面起始码。这四个字节不必位于同一个包内。当四个字节的最后一个被找到时,就检测到了序列标头和画面起始码。为了避免对于混合流构造的过量缓冲,从包含序列标头的第四个字节的包直至包含画面起始码的第四个字节的包全部放入纯文本中。当在结果得到的混合流中搜索序列标头和画面起始码时,这可导致某些异常情况。这将在下面解释。
3、需要画面起始码以检测帧边界。所以包含画面起始码的包应该放入纯文本中。跟随画面起始码的两个字节也应该是纯文本。这些字节包含可能需要改变的时间参考和标识I-帧、P-帧B-帧的画面编码类型。另外,需要某些来自画面码扩展的信息。为了这个目的,从画面起始码直至画面码扩展结尾的所有数据都放入纯文本中。当第四个字节被找到时,就检测到了画面起始码。为了避免过度缓冲,从包含画面起始码的第四个字节的包直至包含画面编码扩展的最后字节的包的范围中的包全部放入纯文本中。这将导致在所有帧边界上的纯文本包,这对于特定花样-播放流的构造是超过了需要。但是对于前向慢移流的构造是必须的。
关于过度缓冲是什么意思以及它会引起什么的问题,可以说如果构造混合流,来自初始加密的和解密的流的包必须在一个流中相组合。如果实时进行,则可能需要某些缓冲。假设画面起始码分布于两个视频包上,在最后字节被找到的时刻,在加密流中检测到这四个字节画面起始码。为了具有完整的画面起始码,纯文本意味着不仅具有这个最后字节的视频包而且前面视频包都应该是纯文本的。
其他数据可以是而且常规地将在这两个视频包之间。原理上,这可以是一个大量的包。图54示出了这样情况的例子,其中在I-帧的结尾处的画面起始码分布于两个视频包上。
更加特别的是,图54示出了包括I-帧5401的缓冲器5400,而I-帧5401包括部分画面起始码5402。然后,音频包5403跟随后面。还在缓冲器5400内包括PSI块5404和数据块5405。在图54中进一步示出了画面起始码检测时刻5406、部分画面起始码5407和后续的P-帧5408。
在图54的情况下,不仅这两个视频包必须被缓冲,而且在这两个视频包之间具有其他数据的所有包也必须被缓冲。虽然在该示例中示出了画面起始码,很清楚的是,相同论证对于序列标头码是有效的。给出的准则将所必须的缓冲降低为仅一个包。
如果满足了三个定义的准则之一,则将相应包放入纯文本中。三个准则的组合将经常导致在每个帧边界处仅一个纯文本包。然而,在某些实际情况中,对于某些流也可以是几个包。事实上,理论上它甚至可以是大数的包。
第一个例子是在每个GOP一个PES包内、仅包含I-帧和P-帧的、GOP尺寸为例如12个帧的流。在所执行的实验中,在I-帧的起始处的纯文本包的数量总是一个。在I-帧结尾处以及事实上在所有其他帧边界处的纯文本包的数量通常是一个但是有时是两个。在I-帧起始处,从PES标头到画面码扩展的任何内容都在一个包内。在其他帧边界处的纯文本包包含从画面起始码到画面编码扩展结尾的所有数据。这个数据可散布在两个包上。
第二个例子是包括具有IBP结构的I-帧、P-帧和B-帧的流、其中在每个帧一个PES包内的变化GOP尺寸具有从2到12的范围内的偶数值。虽然这个流事实上是纯文本流,但是好象它是加密的那样将它用于此。在I-帧起始处的纯文本包的数量绝大多数应该是两个,而在I-帧结尾和其他帧边界处总是一个。在I-帧起始处的两个包主要是由于量化表和序列标头的存在。在I-帧结尾和其他帧边界处,从PES标头到画面编码扩展的数据全部在一个包内。
应该注意的是,由于PES结构,它不是纯文本的I-帧的最后的包而是事实上是下一帧的第一个包。这在其他情景中也可能发生。然而,这不是问题,因为在这个情况下I-帧中的最后一个包只包含I-帧数据并且不需要被清除。
还应该注意的是,在实践中,三个选择准则的组合导致在每个帧边界处的一个连续的纯文本视频区域。理论上,不需要这个情况。准则2和3的组合总是导致连续的区域,但是理论上纯文本PES标头区域可以是独立的区域。
下面,将阐述怎样在混合流中找到必要信息。
在实践中,在每个帧边界有一个连续的纯文本区域。在I-帧(GOP)的起始处,纯文本数据从PES标头的第一个字节运行到画面编码扩展的至少最后一个字节。
在图55中给出了一个例子。
图55示出了在I-帧的起始处的实际纯文本区域。图55示出的数据序列包括PES标头5500、序列标头5501、序列扩展5502、GOP标头5503、画面起始码5504、画面标头5505、进一步的画面标头5506、画面码扩展5507、和I-帧数据5508。
部件5500到5505涉及第一个I-帧包5509,而部件5506到5508涉及第二个I-帧包5510。
所有必要数据都在这个区域内,并可通过对这部分始于用PLUSI标记的包的流进行分析而轻易找到。
在I-帧的结尾处,有两个可能性:
1、在每个帧一个PES包的情况下,纯文本区域边缘(在I-帧结尾之后)也从PES标头的第一字节开始,并运行到至少画面编码扩展的最后字节。所有必要的数据可轻易找到,且I-帧中的最后包不需要清除(见图56左侧)。
2、在每个GOP一个PES包的情况下,在I-帧结尾之后没有PES标头。实践中,在这个位置处也没有序列标头。在这个情况下,包含画面起始码的第四个字节直至画面编码扩展的最后字节的包是纯文本的(见图56右侧)。画面起始码的四个字节可分布于两个包上,例如一个包中的前三个字节和下一包中的最后字节。在这个情况下,前三个字节仍然是加密的。这好象暗示着这个画面起始码不能被检测。
图56图示了实际纯文本区域。在图56的序列中,示出了I-帧5600的结尾,还有PLUSI出现位(present)5601、PES标头5602、画面起始码5603、画面标头5604、画面编码扩展5605、P-帧或B-帧数据5606、最后的I-帧数据5607、I-帧结尾5608、画面起始码5609、画面标头5610、画面码扩展5611、和P-帧或B-帧数据5612。
事实上,在每个帧边界处都有纯文本区域。所以检测I-帧的结尾就意味着在I-帧之后搜索第一个画面起始码。应该清楚的是,只应该对纯文本视频包搜索这个码,以避免在加密数据中的假肯定匹配。包的有效负载是否为纯文本由包标头中的加扰控制位指示。当找到四个字节的给定序列时(0x00 0x00 0x01 0x00),该检测只给出肯定匹配。不考虑帧的类型,该序列对应于画面起始码。不巧地是,画面起始码不是必须在传输流包边界上对齐。那意味着如果画面起始码分布于两个包上,则只有那些包中的第二个应该是纯文本的。
这描述于图57中。
问题是以参考数字5700表示的两个部分是否给出了假肯定匹配。在图57中,包标头以参考数字5701表示,包有效负载纯文本以参考数字5702表示,而加密的包有效负载以参考数字5703表示。
上面的行5704指示完全位于第二个包内的画面起始码。对于底部行5705,则它完全位于第一包内。剩余行5706指示了对于散布画面起始码的三个可能性。
人们可能预期不可能检测部分加密的画面起始码。然而,有一种方式超越了这个难题。每个纯文本区域应该包含画面起始码或至少它的最后字节。所以如果在纯文本区域上找不到画面起始码,已知的是这个区域必须以画面起始码的最后字节中的某些开始。如图57所示,这个字节数量可以是1、2或3。事实上确切地检测有多少字节是可能的。在这方面,重要的是要注意到,画面编码类型的三个位决不能都是零的,这是因为这是MPEG2标准所禁止的。因此,在图57中用0xYY表示的画面起始码中的第二字节决不能是0x00。所以如果纯文本区域以0x00、0x01、0x00开始,这些就是画面起始码的最后三个字节。如果它以0x01、0x00开始,那么这些就是最后两个字节。如果它以0x00开始但是没有0x00、0x01、0x00,那就仅是最后字节。通过这个方式可确切地知道画面起始码位于何处而且可以对跟随它的数据进行分析。如果需要或期望的话,画面类型可从字节0xYY中读取。
也可以说的是,如果画面起始码散布于两个包上,则看起来不可能通过除去所有非I-帧数据来清除I-帧中的最后包。这事实上是正确的,因为不可能除去画面起始码的加密部分。但是在花样-播放流中构造中,将空P-帧附加到I-帧的结尾。这个空P-帧将以画面起始码开始。所以画面起始码的加密字节可被重用,这是因为已知在最后加密包的结尾处有多少个这些字节。这个数量的字节从第一空P-帧的画面起始码中除去,以便加在I-帧之后。
图58示出了这样情况的例子。
在图58中,示出了附加到部分加密画面起始码的空P-帧。画面起始码以参考数字5800表示。图58中也示出了时间参考5801。此外,画面编码类型以参考数字5802表示。空帧数据以参考数字5803表示。
在上面描述了实践中预期的情况,但是理论上可能发生某些附加情况。这源自这一事实:理论上由准则2和3结果产生的纯文本PES标头区域和纯文本区域不需要被连接但是被加密的视频包分离开。为了清楚起见,应该提到的是,连续的纯文本区域意味着视频包序列是纯文本的但是其他的加密包可存在于其之间。
根据这些准则,有三个需要访问的重要数据区域:
1、PES标头信息;
2、在序列标头和序列扩展中的信息;
3、从画面起始码到画面编码扩展的信息。
这三个数据区域描述于图59中。
图59示出了与三个准则相对应的纯文本数据区域。第一个方案示出了PLUSI出现位5900和PES标头5901。第二个图示出了序列标头码5910、序列标头5911、序列扩展码5912和序列扩展5913。还示出了画面起始码5914。
图59中的第三图示出了画面起始码5920、画面标头5921、画面编码扩展码5922和画面编码扩展5923。
为了定位和正确地传递这个数据,在流中必须找到三项:
1、在包标头中的PLUSI位;
2、序列标头码(0x00 0x00 0x01 0xB3);
3、画面起始码(0x00 0x00 0x01 0x00)。
通过只是寻找PLUSI位和包标头容易找到项1,而且如果它设置为一,则包将从然后可经过的PES标头开始。对于项2和3的情况更复杂些,因为序列标头码和画面起始码可散布于导致部分加密码的2个包上。因此,对这些码的直接检测将导致数据的某些损失。然而对于这个问题有一个解决方法。如图60搜索,在MPEG2中,序列扩展和画面编码扩展的存在是强制性的。
图60示出了在MPEG2中的标头结构,其包括序列标头单元6000、序列扩展单元6001、扩展和用户单元6002、一组画面标头单元6003、用户单元6004、画面标头单元6005、画面编码扩展单元6006、用户单元6007、画面数据单元6008和序列结尾单元6009。
制订用于纯文本包的准则的方法可保证这些扩展将完全是纯文本的。可通过首先搜寻等于0x00、0x00、0x01、0xB5的扩展起始码找到它们。接下来的四个位是扩展起始码标识符。这四个位是对于序列扩展为0001,而对于画面编码扩展为1000。如果存在序列扩展,则序列标头码也应该存在并是相同的,如果存在画面码扩展,画面起始码也应该存在。这导致以下:
-如果在纯文本区域中找到序列扩展而在相同区域中没有检测出序列标头码,那么序列标头码应该散布在两个包上,其且序列标头码的最后一个或者多个字节是这个纯文本区域头一个或者多个字节,而不考虑可能的PES标头(见图61,其示出了序列标头码6100、序列标头6101和序列扩展6102)。
-如果在纯文本区域中找到画面编码扩展而在相同区域中没有检测出画面起始码,那么画面起始码应该散布在两个包上,并且画面起始码的最后一个或者多个字节是这个纯文本区域的头一个或者多个字节,而不考虑可能的PES标头(见图62,其示出了画面起始码6200、画面标头6201和画面编码扩展6202)。
应该注意的是这两个情况决不会在一个纯文本区域内同时出现。如果序列扩展和画面编码扩展都存在,则位于这两者之间的画面起始码将必然完全是纯文本的。在这个情况下只有序列标头码可被部分加密。当然如果序列标头码或画面起始码完全是纯文本的并因此以直接方式被检测到,那么对应数据的传递就可立即开始。然而,如果遇到了上述情况之一,则首先应该知道的是在正确的传递开始前,这些码中的多少个字节在纯文本区域的起始处或在PES标头之后。一种为画面起始码检测这个方法可应用于序列标头码。
图63示出了散布在两个包上的序列标头码。
图63描述了序列标头码的情况。只保证从第四个字节向后的纯文本。这个字节是等于0x00、0x00、0x01、0xB3的序列标头码中的最后字节。所以如果存在序列标头码,但是在这个区域没有被检测出,则它的最后一些字节中的某些就必须存在于这个区域的起始处或PES标头之后。至于画面起始码,确切检测这些字节有多少是可能的。检测将始于该区域中的第一个纯文本字节而不考虑PES标头。如果开头几个字节是0x00、0x01、0xB3,就有三个字节,如果它们是0x01、0xB3,就有两个字节,而如果第一个字节是0xB3就只有这一个字节。知道字节的数量并因而知道序列标头码的最后字节的位置,画面起始码允许对这个码之后的数据的正确传递。
表1提供了在这个说明书使用的缩写词列表。
AFLD      适配域控制
BAT       节目业务群关联表
CA        条件访问
CAT       条件访问表格
CC        连续性计数器
CW     控制字
CPI    特征点信息
DIT    不连续性信息表格
DTS    解码时戳
DVB    数字视频广播
ECM    权利控制消息
EMM    权利管理消息
GK     群密钥
GKM    群密钥消息
GOP    画面群
HDD    硬盘驱动
KMM    密钥管理消息
MPEG   活动画面专家组
NIT    网络信息表格
PAT    节目关联表格
PCR    节目时钟参考
PES    分包基本流
PID    包标识符
PLUSI  有效负载单元起始指示符
PMT    节目映射表
PTS    呈现时戳
SIT    选择信息表格
SCB    加扰控制位
STB    机顶盒
SYNC   同步单元
TEI    传输错误指示符
TPI    传输优先级单元
TS     传输流
UK     用户密钥
表1与花样-播放有关的术语的缩写词
应该注意的是,上面提到的实施例示意了而不是限制了本发明,本领域技术人员将能够设计出很多其他实施例而不脱离由后附的权利要求定义的本发明的范围。进一步地,所描述的任何实施例包括隐含特征,比如,内部电流源(如电池或蓄电池)。在权利要求中,任何置于括号内的参考数字不应该理解成限制权利要求。单词″包括″和″包含″等不排除一般来说未列于任何权利要求或说明书中的那些元件或步骤的存在。元件的单数引用不排除对这些元件的复数引用,反之亦然。在列举了几个装置的设备权利要求中,这些装置中的几个可由同一项硬件实施。仅仅在相互不同的从属权利要求中叙述某些措施这一事实并不表示这些措施的组合不能有利应用。贯穿文本已经交替使用术语“数据”和“内容”,但是应该将它们理解为等同物。

Claims (24)

1、一种用于处理数据流(1800)的设备(2300),其中所述设备(2300)包括:
拆分单元(2305),用于在帧边界部分(1901)处拆分至少部分解密的数据流(1900)的相邻帧(1902),所述部分解密的数据流(1900)包括在相邻帧(1902)之间的被解密的帧边界部分(1901);
复制单元(2306),用于根据预定复制率复制拆分帧(1902)若干次;以及
连接单元(2307),用于连接所述被复制的拆分帧(1902)。
2、根据权利要求1的设备(2300),包括解密单元(2304),用于用所述被解密的帧边界部分(1901)来选择性地替换在加密数据流(1800)的相邻帧(1902)之间加密帧边界部分,以便形成所述部分解密的数据流(1900)。
3、根据权利要求2的设备(2300),其中所述解密单元(2304)适合于用所述被解密的帧边界部分(1901)来仅选择性地替换在加密数据流(1800)的相邻帧(1902)之间的所述加密帧边界部分,并且适合于保持所有其他帧部分(1902)被加密。
4、根据权利要求2的设备(2300),其中所述解密单元(2304)适合于选择性地用所述解密的帧边界部分(1901)替换所述加密的帧边界部分,以便形成所述部分解密的数据流(1900),以作为生成具有降低或最小数量的解密部分的花样-播放流(2201)的基础。
5、根据权利要求1的设备(2300),其中所述拆分单元(2306)适合于在所述每个拆分帧(1902)的开始处***纯文本包(1901)。
6、根据权利要求5的设备(2300),其中所述纯文本包(1901)包括标头和/或适配域。
7、根据权利要求1的设备(2300),其中所述连接单元(2307)适合于基于对其中帧边界部分(1901)跨越两个帧(1902)的位置的识别并基于对所识别的位置的校正、来连接所述被复制的拆分帧(1902)。
8、根据权利要求1的设备(2300),其中所述连接单元(2307)适合于确定所述拆分帧(1902)的所述帧边界部分(1901)的至少一部分的尺寸,并适合于基于所确定的尺寸来连接所述拆分帧(1902)。
9、根据权利要求8的设备(2300),其中在所确定的尺寸超出预定阈值的情况下,所述连接单元(2307)适合于减少所述帧边界部分(1901)的至少一部分的尺寸。
10、根据权利要求8的设备(2300),其中在所确定的尺寸低于预定阈值的情况下,所述连接单元(2307)适合于增加所述帧边界部分(1901)的至少一部分的尺寸。
11、根据权利要求10的设备(2300),其中所述连接单元(2307)适合于通过在所述数据流(1800)中***附加部分来增加所述帧边界部分(1901)的至少一部分的尺寸。
12、根据权利要求1的设备(2300),包括存储单元(2301),用于存储所述数据流(1800)。
13、根据权利要求1的设备(2300),适合于处理完全加密的数据流(1800)。
14、根据权利要求1的设备(2300),适合于处理包括组中的至少一个帧的数据流(1800),所述组包括帧内编码帧、前向预测帧和双向预测帧。
15、根据权利要求1的设备(2300),适合于处理视频数据或音频数据的数据流(1800)。
16、根据权利要求1的设备(2300),适合于处理数字数据的数据流(1800)。
17、根据权利要求1的设备(2300),包括再现单元(2308),用于再现所处理过的数据流(2201),其中所述再现单元(2308)连接所述连接单元(2307)。
18、根据权利要求1的设备(2300),包括生成单元(2302),用于处理所述数据流(1800)以便在花样-播放再现模式中进行再现。
19、根据权利要求18的设备(2300),其中所述花样-播放再现模式是组中的一个,所述组包括慢进再现模式、慢退再现模式、静止再现模式、步进再现模式,和快速重播再现模式。
20、根据权利要求1的设备(2300),适合于处理MPEG2加密数据流(1800)。
21、根据权利要求1的设备(2300),实现为组中的至少一个,而该组包括:
数字视频记录设备;
具有网络功能的设备;
条件访问***;
便携式音频播放器;
便携式视频播放器;
移动电话;
DVD播放器;
CD播放器;
基于硬盘的媒体播放器;
互联网无线电设备;
计算机;
电视设备;
公共娱乐设备;以及
MP3播放器。
22、一种处理数据流(1800)的方法,所述方法包括:
在帧边界部分(1901)处拆分至少部分解密的数据流(1900)的相邻帧(1902),所述部分解密的数据流(1900)包括在相邻帧(1902)之间的解密的帧边界部分(1901);
根据预定复制率复制拆分帧(1902)多次;以及
连接所述被复制的拆分帧(1902)。
23、一种计算机可读介质,其中存储有处理数据流(1800)的计算机程序,当所述计算机程序被处理器(2302)执行时,适于控制或执行以下方法步骤:
在帧边界部分(1901)处拆分至少部分解密的数据流(1900)的相邻帧(1902),所述部分解密的数据流(1900)包括在相邻帧(1902)之间的解密的帧边界部分(1901);
根据预定复制率复制拆分帧(1902)多次;以及
连接所述被复制的拆分帧(1902)。
24、一种处理数据流(1800)的程序单元,当被处理器(2302)执行时,所述程序单元适于控制或执行以下方法步骤:
在帧边界部分(1901)处拆分至少部分解密的数据流(1900)的相邻帧(1902),所述部分解密的数据流(1900)包括在相邻帧(1902)之间的解密的帧边界部分(1901);
根据预定复制率复制拆分帧(1902)多次;以及
连接所述被复制的拆分帧(1902)。
CN2006800486600A 2005-12-23 2006-11-28 处理数据流的设备和方法 Expired - Fee Related CN101346992B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05112870 2005-12-23
EP05112870.0 2005-12-23
PCT/IB2006/054469 WO2007072248A2 (en) 2005-12-23 2006-11-28 A device for and a method of processing a data stream

Publications (2)

Publication Number Publication Date
CN101346992A true CN101346992A (zh) 2009-01-14
CN101346992B CN101346992B (zh) 2010-12-22

Family

ID=37949667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800486600A Expired - Fee Related CN101346992B (zh) 2005-12-23 2006-11-28 处理数据流的设备和方法

Country Status (7)

Country Link
US (2) US8170210B2 (zh)
EP (1) EP1967002B1 (zh)
JP (1) JP2009521163A (zh)
KR (1) KR20080081190A (zh)
CN (1) CN101346992B (zh)
AT (1) ATE516666T1 (zh)
WO (1) WO2007072248A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009945A (zh) * 2019-04-19 2019-07-12 潘巧娃 一种智能图书
CN115982786A (zh) * 2023-03-20 2023-04-18 合肥顺弘欣信息科技有限公司 通过频率混淆实现的多芯片并行加密方法

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
KR100945985B1 (ko) * 2004-12-28 2010-03-09 닛본 덴끼 가부시끼가이샤 동화상 부호화 방법 및 이것을 이용한 장치와, 컴퓨터프로그램
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
ES2709208T3 (es) 2007-01-05 2019-04-15 Sonic Ip Inc Sistema de distribución de vídeo que incluye reproducción progresiva
US8179979B2 (en) * 2007-05-01 2012-05-15 Intel Corporation Detection and compensation of discontinuities in data stream
EP2186340B1 (en) * 2007-08-09 2016-01-06 GVBB Holdings S.A.R.L A video data reproduction system
JP5513400B2 (ja) 2007-11-16 2014-06-04 ソニック アイピー, インコーポレイテッド マルチメディアファイルのための階層的で簡略なインデックス構造体
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US20090282267A1 (en) * 2008-05-09 2009-11-12 Ori Stern Partial scrambling to reduce correlation
US8739034B2 (en) * 2008-08-13 2014-05-27 Myine Electronics, LLC Method and system for downloading and managing an edited media stream to a portable media device
US20100057583A1 (en) * 2008-08-28 2010-03-04 The Directv Group, Inc. Method and system for ordering video content using a link
EP2192773A1 (en) * 2008-12-01 2010-06-02 Irdeto Access B.V. Content decryption device and encryption system using an additional key layer
JP4987034B2 (ja) * 2008-12-26 2012-07-25 三菱電機株式会社 映像表示装置
JP5229066B2 (ja) * 2009-03-31 2013-07-03 日本電気株式会社 動画配信装置、動画受信装置、動画配信方法、動画受信方法、および、プログラム
JP5279589B2 (ja) * 2009-04-13 2013-09-04 キヤノン株式会社 映像記録再生装置およびその制御方法
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US20120134529A1 (en) * 2010-11-28 2012-05-31 Pedro Javier Vazquez Method and apparatus for applying of a watermark to a video during download
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US8687807B2 (en) * 2011-01-26 2014-04-01 Nagrastar, L.L.C. Cascading dynamic crypto periods
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
JP5938655B2 (ja) * 2012-01-11 2016-06-22 パナソニックIpマネジメント株式会社 再生装置、撮像装置およびプログラム
US9008308B2 (en) * 2012-02-08 2015-04-14 Vixs Systems, Inc Container agnostic decryption device and methods for use therewith
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9355279B1 (en) * 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
JP2014232924A (ja) * 2013-05-28 2014-12-11 ソニー株式会社 受信装置、パケット境界決定方法及びコンピュータプログラム
KR102103903B1 (ko) * 2013-08-13 2020-05-29 삼성전자주식회사 송신 장치, 수신 장치 및 그 데이터 처리 방법
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
US20150350622A1 (en) 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
US9397833B2 (en) 2014-08-27 2016-07-19 International Business Machines Corporation Receipt, data reduction, and storage of encrypted data
US9397832B2 (en) 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality
MX2017006830A (es) * 2014-11-25 2017-11-23 Arris Entpr Llc Detección de rellenador durante parada, pausa, retroceso y avance rápidos (trickplay).
EP3243130B1 (en) 2015-01-06 2019-08-14 Sonic IP, Inc. Systems and methods for encoding and sharing content between devices
CN105049941B (zh) * 2015-06-24 2017-06-30 广州酷狗计算机科技有限公司 一种多媒体文件的处理方法及装置
EP3112985A1 (en) * 2015-06-30 2017-01-04 Nokia Technologies Oy An apparatus for video output and associated methods
GB2543080A (en) * 2015-10-08 2017-04-12 Starfish Tech Ltd Digital media splicing system and method
US10142707B2 (en) * 2016-02-25 2018-11-27 Cyberlink Corp. Systems and methods for video streaming based on conversion of a target key frame
US10586067B2 (en) * 2017-02-22 2020-03-10 International Business Machines Corporation System and method of protecting digitally transferred data
CN110609822B (zh) * 2018-06-15 2023-02-28 伊姆西Ip控股有限责任公司 数据流处理方法、设备和计算机程序产品
US11637776B2 (en) * 2021-04-27 2023-04-25 Realtek Singapore Pte Ltd. Network device and packet replication method

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157391A (en) * 1994-01-10 2000-12-05 International Business Machines Corporation Method and apparatus for providing slow motion video at normal motion play speed
GB9417138D0 (en) * 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
US6389218B2 (en) * 1998-11-30 2002-05-14 Diva Systems Corporation Method and apparatus for simultaneously producing compressed play and trick play bitstreams from a video frame sequence
JP2001024994A (ja) * 1999-07-07 2001-01-26 Matsushita Electric Ind Co Ltd 送信装置、受信装置、記録装置及びプログラム記録媒体
JP2001103444A (ja) * 1999-10-01 2001-04-13 Matsushita Electric Ind Co Ltd パケット暗号化装置およびプログラム記録媒体
CN1159917C (zh) 1999-10-07 2004-07-28 汤姆森特许公司 在数字视频***中生成特技模式的方法和设备
IL132859A (en) 1999-11-10 2008-07-08 Nds Ltd Data stream processing system
US6658199B1 (en) * 1999-12-16 2003-12-02 Sharp Laboratories Of America, Inc. Method for temporally smooth, minimal memory MPEG-2 trick play transport stream construction
JP2002016919A (ja) * 2000-04-28 2002-01-18 Sony Corp 情報送信方法及び装置、情報受信方法及び装置、情報記録方法及び装置、並びに、情報記録再生方法及び装置
JP4337248B2 (ja) * 2000-08-31 2009-09-30 ソニー株式会社 画像情報の伝送装置、伝送システムおよび伝送方法
US6963612B2 (en) * 2001-08-31 2005-11-08 Stmicroelectronic, Inc. System for detecting start codes in MPEG video streams and method of operating the same
JP2003078877A (ja) * 2001-09-06 2003-03-14 Fujitsu Ltd 画像処理装置
JP2003143553A (ja) * 2001-11-01 2003-05-16 Matsushita Electric Ind Co Ltd 情報処理装置
AU2003208588A1 (en) * 2002-02-22 2003-09-09 Colin Davies Scrambled packet stream processing
CN1659872A (zh) * 2002-06-12 2005-08-24 皇家飞利浦电子股份有限公司 处理一个包括加密信息的数据流的方法和装置
CN1396742A (zh) * 2002-08-02 2003-02-12 清华大学 基于流媒体技术的播放器变速播放实现方法
GB2404467A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital content
US20050222847A1 (en) * 2004-03-18 2005-10-06 Singhal Manoj K System and method for time domain audio slow down, while maintaining pitch
US8677504B2 (en) * 2005-07-14 2014-03-18 Qualcomm Incorporated Method and apparatus for encrypting/decrypting multimedia content to allow random access
US20070083467A1 (en) * 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009945A (zh) * 2019-04-19 2019-07-12 潘巧娃 一种智能图书
CN115982786A (zh) * 2023-03-20 2023-04-18 合肥顺弘欣信息科技有限公司 通过频率混淆实现的多芯片并行加密方法
CN115982786B (zh) * 2023-03-20 2024-01-05 马云生 通过频率混淆实现的多芯片并行加密方法

Also Published As

Publication number Publication date
JP2009521163A (ja) 2009-05-28
WO2007072248A2 (en) 2007-06-28
US8170210B2 (en) 2012-05-01
EP1967002A2 (en) 2008-09-10
ATE516666T1 (de) 2011-07-15
EP1967002B1 (en) 2011-07-13
CN101346992B (zh) 2010-12-22
US20080317246A1 (en) 2008-12-25
US20120213363A1 (en) 2012-08-23
KR20080081190A (ko) 2008-09-08
WO2007072248A3 (en) 2007-10-25

Similar Documents

Publication Publication Date Title
CN101346992B (zh) 处理数据流的设备和方法
CN101167357B (zh) 用于处理具有分组序列和与分组有关的定时信息的数据流的设备和方法
CN101268692A (zh) 处理加密的数据流用于特技播放的设备和方法
US20070258586A1 (en) Personal video recorder having dynamic security functions and method thereof
JP4812117B2 (ja) コンテンツ暗号化装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
KR20080091153A (ko) 입력 프레임들의 시퀀스를 포함하는 입력 데이터 스트림을처리하는 디바이스 및 방법
CN101167358A (zh) 在密码***中处理加密数据流的设备和方法
CN100505856C (zh) 加密传输流的产生方法、及其特技模式播放方法和***
JP4630073B2 (ja) コンテンツ暗号化装置及びそのプログラム
JP4291525B2 (ja) スクランブル方法、送信方法、送信装置、及び受信機
JPWO2003030533A1 (ja) 記録媒体、再生装置、および記録再生装置
JP3754847B2 (ja) データ処理方法、データ処理装置およびその記憶媒体
JP3304032B2 (ja) 情報処理装置
JP3995207B2 (ja) コンテンツ送信装置、コンテンツ送信方法、コンテンツ送信プログラムおよびコンテンツ再生装置、コンテンツ再生方法、コンテンツ再生プログラム
US20050246372A1 (en) Temporary accumulation management device
JP3630406B2 (ja) パケット処理装置、パケット処理方法及びその記憶媒体
JP5119137B2 (ja) ディジタル放送信号記録再生装置、ディジタル放送信号記録再生方法、ディジタル放送信号記録方法、ディジタル情報記録再生装置、ディジタル情報記録再生方法、および、ディジタル情報記録方法
JP4349764B2 (ja) 再生装置、および記録再生装置
CN109561345B (zh) 基于avs+编码格式的数字电影打包方法
JP2008192291A (ja) ディジタル信号記録装置、再生装置、および記録媒体
JP2006345234A (ja) 暗号化装置および暗号化方法、復号装置および復号方法、並びにプログラム
JP5277286B2 (ja) ディジタル放送信号記録再生装置、ディジタル放送信号記録再生方法、ディジタル情報記録再生装置、およびディジタル情報記録再生方法
JP2007052912A (ja) ディジタル信号記録再生装置およびディジタル信号記録再生方法
WO2004112395A1 (en) Device and method in a multimedia broadcast system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101222

Termination date: 20121128