CN101317454B - 通过pid映射基于宏块的内容替换 - Google Patents
通过pid映射基于宏块的内容替换 Download PDFInfo
- Publication number
- CN101317454B CN101317454B CN2004800333057A CN200480033305A CN101317454B CN 101317454 B CN101317454 B CN 101317454B CN 2004800333057 A CN2004800333057 A CN 2004800333057A CN 200480033305 A CN200480033305 A CN 200480033305A CN 101317454 B CN101317454 B CN 101317454B
- Authority
- CN
- China
- Prior art keywords
- pid
- content
- decoder
- macro
- replacement
- 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.)
- Expired - Fee Related
Links
Images
Abstract
一种方法和编码器,用于以多个PID替换包括接收数据的内容以提供可替代内容(108),处理主要内容(112),确定是否已经满足替换标准,并且以次要内容来替换主要内容(124)。
Description
相关文献的交叉参考引用
本申请声明享有2003年11月12日提交的序列号为60/519472的美国临时专利申请的优先权并且为以下的部分继续申请:
2002年12月13日提交的序列号为10/319066的专利申请,其享有2002年9月9日提交的序列号为60/409675的美国临时专利申请以及2002年4月16日提交的序列号为60/372870的美国临时专利申请的优先权;其成为以下专利申请的部分继续申请:2002年1月2日提交的序列号为10/038217、10/038032、10/037914、10/037499、和10/037498的专利申请。上述的每个申请被在此通过引用并入。
本申请还涉及2003年9月22日提交的序列号为10/667614、2002年10月18日提交的序列号为10/273905、2002年10月18日提交的序列号为10/273903、以及2002年10月18日提交的序列号为10/274084、2002年10月18日提交的序列号为10/274019的美国专利申请,上述的每个申请被在此通过引用并入。
版权通知
本专利文献公开的一部分包含受到版权保护的资料。当出现在专利商标局文件或记录中时,版权所有者不反对传真复制专利文献或专利公开,否则保留所有版权权利。
发明背景
传统的数字视频内容,诸如MPEG视频能够采取单独的节目、电影或其他内容的形式,对于服务提供商或用户来说没有机会通过选择替换内容来修改观看体验。已经提出提供交互内容的各种机制,但是通常这种建议实现昂贵,占用大量的带宽,以及可能需要包括服务器和/或其他支持设备的昂贵的专门设备。所以,尽管存在对于“交互”应用的需求,该应用允许视频内容的终端电视观众定制他们想要观看的内容并操作所述内容,但是在市场上还没有出现任何商业可行的系统。
附图说明
在所附权利要求书中特别地阐述了被认为新颖的本发明的特征。但是,通过参考本发明结合附图描述某些示意性实施例的以下详细描述,可以最佳地理解本发明本身有关组织和操作方法,以及本发明的目的和优点,其中:
图1是描述根据本发明某些实施例的内容替换处理的流程图。
图2是根据本发明某些实施例的有线系统(cable system)的方框图。
图3是根据本发明某些实施例的控制计算机的方框图。
图4示例了根据本发明某些实施例的替换广告。
图5示例了根据本发明某些实施例的多情节、多结局的电影。
图6示例了根据本发明某些实施例的标记。
图7示例了根据本发明某些实施例的局部标题广告的替换和标志添加。
图8示例了构成视频帧的宏块的结构。
图9描述了在宏块层的内容替换。
图10是根据本发明某些实施例的解码器状态机的状态图。
图11示例了根据本发明某些实施例的替换模式。
图12示例了根据本发明某些实施例的插入模式。
图13示例了根据本发明某些实施例的插入/删除模式。
图14示例了根据本发明某些实施例用于数字电视机顶盒的示意性系统结构。
具体描述
尽管本发明能够容许许多不同形式的实施例,但是在附图中示出并将在具体实施例中在这里进行详细描述,同时理解为认为本发明公开作为本发明原理的一个实例以及并不意图将本发明限制于这里所示和描述的具体实施例。在以下的描述中,相似的附图标记用于描述附图的若干视图中相同、相似或相应的部分。
这里同义地使用术语“加扰”和“加密”和其各种变化。术语“视频”在这里可用于不仅包含真实的可视信息,而且在传统意义上(例如,“磁带录像机”)不仅包含视频信号还包含相关的音频和数据。本文通常使用“双重选择加密”实施例的实例,但本领域的普通技术人员将会意识到在不背离本发明下,能够利用本发明实现多种部分加密。这里同义地使用术语“部分加密”和“选择加密”。而且,术语“节目”和“电视节目”及类似术语能够以通常传统的意义以及含义来解释,其中该术语意味着在电视机或类似监视器设备上显示的A/V内容的任何段。如这里使用的术语“遗产”指用于现有电缆和卫星系统的现有技术。这里公开的示意性实施例通过电视机顶盒(STB)解码,但是期望不久将这种技术包含在所有类型的电视接收机中,不论独自地以独立外壳收容或与记录和/或重放设备或条件访问(CA)解密模块结合还是位于电视机本身之内。本文通常使用“双重部分加密”实施例的实例,但是本领域的普通技术人员将会意识到在不背离本发明下,能够利用本发明实现多种部分加密。如这里使用的术语“预装件介质(package medium)”及类似术语旨在包含记录介质,诸如数字多功能盘(DVD)、只读光盘(CD)或其他磁、光或其他通常作为预装件销售的可记录介质,与电子可下载的数据流相反,该预装件包含电子存储介质并作为零售商品销售。术语“宏块”用于指从一个或更多块集合而形成的对象,所述块用于产生视频图像。这种术语与各种MPEG(运动图像专家组)视频标准以及AVC(高级视频编码)中使用的术语一致,但并不局限于此。
上述参考的共同拥有专利申请描述了涉及方法各个方面的发明,这些方面通常这里通常称为部分加密或选择性加密。更具体而言,描述了一种系统,在该系统中使用两个(或更多)加密技术来加密特定选择的数字内容的所选部分,而不加密该内容的其他部分。使用多个分组标识符来相互地识别和区别加密的部分。通过适当地选择要加密的部分,能够有效地加密内容以在多种解密系统下使用,而不必加密全部选择的内容。在某些实施例中,只需要少许百分比的数据开销使用多种加密系统来有效地加密内容。这导致了在电缆或卫星系统中能够在单独系统中使用来自多个制造商的机顶盒或条件访问(CA)接收机的其他实现-从而感觉电缆或卫星公司竞争地向提供商购买机顶盒。
在以上专利申请中描述的部分加密处理使用任何适当的加密方法。但是,选择性应用这些加密技术于数据流,而不是使用上述参考的专利申请中描述的技术加密全部的数据流。通常,但无意图进行限制,所述选择性加密处理使用信息的智能选择来加密,以便整个节目不必经受双重加密。通过适当选择数据进行加密,能够有效地加扰节目资料以及对想要黑掉(hack)系统和不付费而非法恢复商业内容的那些人隐藏所述节目资料。用来表示音频和视频数据的MPEG(或类似格式)数据高度依赖于信息的冗余一帧一帧地进行加扰。某些数据能够作为表示色度和亮度数据的“锚”数据发送。然后通过发送描述所述块运动的运动向量,常常简单地将该数据在屏幕上来回移动以产生相继的帧。色度和亮度数据中的变化还被编码为变化而不是重新编码绝对的锚数据。因此,通过加密这种锚数据,例如,或其他密钥数据能够有效地再现不可观看的视频。
根据符合上述发明的某些实施例,所选的要加密的视频数据可以是以下内容中任何单独的一个或其组合(在上述申请中更为详细地描述):在视频帧的活动(active)区域中出现的视频片(slice)标头,表示视频帧活动区域的数据,位于视频帧内的星模式中的数据,表示场景变化的数据,I帧分组,包含在I帧之后的第一P帧中运动向量的分组,具有intra_slice_flag指示符集的分组,具有intra_slice指示符集的分组,包含intra_coded宏块的分组,用于包含intra_coded宏块的片的数据,来自视频片标头之后的第一宏块的数据,包含视频片标头的分组,锚数据,以及用于被逐行刷新视频数据的P帧数据,在视频帧的垂直和或水平深沟(moat)模式中安排的数据,以及任何其他选择的使得难以利用视频和/或音频的数据。在上述参考的专利申请中公开了若干这些技术以及其他技术,本发明能够利用任何一种技术(或其他技术)来仅仅加密内容的一部分。
为了区别根据上述发明使用多种加密算法加密的两个或更多数字电视信号,将使用多个分组标识符(PID)。通常情况下,使用单独的一组分组标识符来识别特定的电视节目。当在上述参考申请描述的多个选择性加密结构中加密电视信号时,为明文(clear)内容分配第一组PID,为每组加密的内容分配另一组PID(在某些实施例中一组加密的内容可以与未加密的内容共享相同的PID)。接收STB然后重新映射所有适当的内容到单独的PID用于重放。在上述专利申请中详细描述了这种处理。
与本发明相一致的某些实施例使用与内容的可替换宏块相关的多个PID作为一种提供内容替换的机制。能够使用内容替换以任何种方式来提供增强等级的电视节目定制。例如,可以使用内容替换通过用一个广告替换另一个广告向观众提供目标广告。还能够使用内容替换提供节目的多个结局、情节或其他段,或在运动比赛转播或其他节目中提供多个视图。在本讨论过程中将会讨论用于本发明内容替换的其他应用。使用本发明能够为这些应用以及其他应用中的每一应用提供便利,而不需要显著增加带宽并且对于硬件来说处于合理的成本。
现在参考图1,根据本发明某些实施例的全部内容替换处理100被示为在104开始。在108接收具有多个PID(例如,在本例中是PID A和PID B)所识别的部分的内容,这些PID表示内容的多种可能性(例如,多个广告、标志、情节、结局、人物等)。该内容可作为内容流接收(如在电缆或卫星电视传输中)或以封装式(packaged)媒体或下载文件出现。在任何情况下,在112,通常使用利用特定分组标识符(例如,PIDA)所指定的内容的主要部分来启动处理操作(诸如重放或传输内容)。在116,检查该内容以确定是否已经满足规定的替换准则。这种准则可能例如是存在本地内容发布者希望用本地或地区广告、水印或标志来替换的全国性广告、内容分级、水印或标志;或者这种准则可能承担通过终端用户选择特定情节、人物或结局。
如果在116不满足所述准则,在120继续主要内容(PID A)的处理。如果在116满足所述准则,在124执行内容替换(例如,通过用具有PIDB的内容替换具有PID A的内容,或执行这里所描述的任何其他的内容替换操作,包括但不限制于一对一替换、一对一插入或多对一插入/删除)。这种替换可承担重新映射PID值,以便解码器或其他处理器仅仅继续处理具有相同PID的内容。可替换地,能够编程解码器来选择被替换的内容,当存在时,优先于所述主要内容。控制从120或124传送到128,在128检查所述内容以确定是否已经到达结束。如果不是,控制返回到在116处理内容。如果到达结束,在132处理停止。在优选实施例中,内容替换通过替换视频的宏块发生。
因此,根据某些实施例的内容替换方法包括接收表示内容的数据、具有与内容的第一和第二宏块相关的至少第一和第二分组标识符(PID)的数据;播放具有第一PID的内容;确定已经满足替换准则;以及用具有第二PID的内容替换具有第一PID的内容。
根据该处理,例如,本地有线电视运营商能够接收包含多组广告(商业)的节目。根据本地运营商的地理位置,将所述主要内容与若干地区广告中适当的一个广告一起重新发送,该地区广告更适于本地有线电视运营商的地理位置或市场。在另一个实例中,能够从有线电视运营商向其用户广播具有多个可选结局的电影。所述用户然后在观看电影之前或期间,判定哪一结局是优选的并作出选择。该用户发送命令给STB,该STB通过选择与特定PID相关的结局并重新映射该PID到主要节目的PID,选择用户想要的替换的结局。考虑到本发明的教导,对于本领域的普通技术人员来说将会产生大量的其他实例。
现在参考图2,示意性的有线系统被描述为200。在该系统中,卫星天线204从诸如HITSTM(Headend In The Sky)馈送之类卫星传输接收内容的多路复用流。在卫星接收机208接收、解调和解密所述接收的内容流并将具有可替换信息的内容传送到PID映射器和标记插入器212,其功能在考虑以下讨论时将会变得清楚。可以从本地内容数据库216和其他内容源检索附加的内容。可替换地,可以直接从卫星系统接收具有多个PID编码的可替换部分的内容。在一个实施例中,在212,PID映射器和标记插入器映射从任何源输入的内容到用于主要内容的一组主要PID和用于可替换内容的一组次要或遮蔽(shadow)的PID。在所述输入数据已经具有多个PID编码的内容的另一个实施例中,可以指示PID映射器重新映射PID以便只选择想要的内容。在212,可以将标记插入到内容中以标识内容替换要开始和结束的位置。
然后传送该内容到PSI/PMP插入器220,该插入器用于插入节目具体信息(PSI)和节目映射表(PMP)到内容流中,以用于在解码该节目时由解码侧使用。如果要加密所述内容,可以在调制器(诸如QAM调制器)230中进行调制之前,将该内容传送通过加密器224。然后经由电缆线路(cable plant)236发送内容的调制流到具有诸如机顶盒240和244之类解码器盒的终端用户。在控制计算机300的控制下,执行电缆首端(head end)的操作,该操作包括但不限制于用于内容替换的PID映射。
根据本发明的某些实施例,这种系统能够用来形成内容替换编码器,其中接收表示主要内容和表示替换内容的输入数据。分组标识符(PID)映射器分配主要PID给主要内容以及分配次要PID给替换内容。专用数据发生器产生用户专用数据,该数据通过主要PID识别主要内容以及通过次要PID识别替换内容。专用数据、映射到主要PID的主要内容和映射到次要PID的替换内容然后装配成数据流。
在作为图2-3的控制计算机300操作的任何适当的编程通用计算机上能够执行图1的处理100。计算机300具有一个或多个中央处理单元(CPU)310,这些单元具有一条或多条相关的总线314,该总线用于以已知的方式连接中央处理单元310到随机存取存储器318和非易失性存储器322。提供诸如显示器和打印机等的输出设备326,以便显示和/或打印用于MSO(多种服务运营商)使用的输出以及提供用户接口诸如图形用户接口(GUI)。同样地,可以提供诸如键盘、鼠标和可移动介质阅读器339等的输入设备用于运营商输入信息。计算机300还包含内部和/或外部附属磁盘或其他大容量存储器334(例如,盘和/或光存储器)用于存储大量的信息,包括但不限制于操作系统、和内容替换处理程序以及内容(最有可能存储在大容量附属存储器诸如本地内容数据库216上)。计算机系统300还具有用于连接到有线系统首端中受控设备的接口338。尽管描述为单独的计算机,但是数字内容提供商可以使用多个链接的计算机来执行这里所述的功能。
以上描述在很大程度上假设在有线系统首端要插入可替换的内容,但是本领域的普通技术人员将会理解本内容替换构思能够以许多方式来实现,以允许在多个层次进行内容替换,从而服务多个目的。例如,如果有线用户正在观看交互电视节目,能够使用用户的选择(例如,从遥控器)建立选择特定替换的准则(例如,结局选择)。但是,根据本发明的某些实施例,电缆首端也能够例如,通过将本地广告替换为全国性广告或者将本地频道标志替换(添加)为全国性标志来实现内容替换。
这种替换能够通过用包含替换视频数据的宏块替换在原始内容中视频的宏块实现。部分或全部的替换视频数据可以与原始数据相同,因为宏块可以显著地叠加要替换的视频图像的期望区域。
现在考虑根据本发明的示意性实施例,其中内容提供商希望提供备择的(alternative)广告给例如有线电视系统中的若干组用户。在本实例中,假设能够基于例如在有线系统首端存储的用户简介,将有线电视用户分成三个类别。现在,参考图4,描述具有三个与其相关的独立广告354、356和358的示意性电视节目350。为了分离三个广告,使用三组独立的PID(为了简化,假设每个广告有一个PID)。在主要广告354指向一个收看观众的情况下,广告354能够与节目内容共享相同的PID(例如,100)。
通过备择PID(例如PID 101)识别第一备择广告356,通过另一个备择PID(例如,PID 102)识别第二备择广告。因此,为了提供主要广告,不需要传送任何特别的指令给解码器(例如,电视STB),这是因为它与节目内容共享并且被默认示出。对于解码备择广告356的解码器,从有线系统首端发送指令到该解码器,以指示它们用具有PID 101的内容替换PID 100,不论何时该遇到PID。同理,对于解码备择广告358的解码器,从有线系统首端发送指令到该解码器,以指示它们用具有PID102的内容替换PID 100,不论何时遇到该PID。在一个实施例中,具有PID 100的视频数据的每个分组包含相应的具有PID 101和PID 102的分组。在其他实施例中,不需要一对一相关。在任何情况下,应该以一种允许在解码器以正确顺序处理分组的方式来保持分组计数。
在本实例中,并排地显示内容以示例成为该处理本质的直接替换。但是,如在图4中所描述,可以安排内容为分组序列,对称地呈现主要内容,其后跟随第一备择内容,然后是第二备择内容以及然后该序列重复。在各种实施例中,具有主要和次要PID的相应分组可以以次要跟随主要或主要跟随次要的顺序出现。在分组接收中分组的交替避免了不必要的延迟并帮助保存分组的顺序。当主要和次要分组之间的一对一相关存在时,主要和次要分组中的每个分组可以保留用于建立显示顺序的分组编号。这种编号可以通过解码处理进行修改以保留接收内容中的顺序。其他实施例也是有可能的而不背离本发明。
除了通过有线系统MSO为这些组用户提供目标广告之外,能够实现类似的技术来为网络提供这样的能力,即,通过例如嵌入多个地区广告到单个数据流中,并在本地网络或有线运营商使用PID重新映射选择用于给定地区的适当广告,从而提供地区广告的能力。从而,图4中描述的三个广告能够等同地表示三个地区广告,例如一个广告用于美国的东海岸,一个广告用于美国的中部地区以及一个广告用于美国的西海岸,或者利用或多或少备择广告的任何适当的地区分割。
图5描述示意性实施例,其中能够使用内容替换来提供电影中备择的情节和结局,该电影存储为封装式介质内容(例如,数字多功能盘-DVD)或从内容提供商诸如有线电视MSO流出。在本实施例中,例如使用主要PID 110发送或存储主要电影360。该电影能够利用例如通过观众使用选择可以选择的三个情节和三个结局播放,其中在重放电影期间作出这种选择或在重放电影期间作出周期性判定。第一情节A 362使用与电影主要部分相同的PID 110,正如主要结局A 364也是一样。当用户选择情节A和结局A(个别或集中地),电视STB中的解码器选择PID 110用于整部电影。情节B 368以相似的方式与PID 111相关,正如结局B 372也是一样。情节C 376类似地与PID 112相关,正如结局C 380也是一样。当观众选择情节B、和/或结局B时,STB解码器被指示用PID 111替换PID 100,以便选择备择的情节B和/或结局B。同样地,当观众选择情节C、和/或结局C时,STB解码器被指示用PID 112替换PID 100,以便选择备择的情节C和/或结局C。
参考图6,使用特定PID,例如PID120的节目384,包含具有PID 120的空白部分388,其具有用作标记PID 392的信息的备择部分。
能够使用如上所述的使用备择PID的内容替换用于任何数量的目的。图7描述了使用本发明的内容替换技术进行广告标语的替换和标志或水印的补充。在本实施例中,主要内容的分段(segmentation)被描述为分成水平片的电视屏幕400,因为这种信息使用MPEG数字编码来编码。第一广告,例如全国性广告404描述为出现在接近屏幕的左上方的图像的若干顺序片中。标志或水印408在接近图像400的右下方的一个片中出现。使用内容替换,能够创建新屏幕。包含广告404的分组能够替换为包含本地或其他备择的广告标语412的分组。同样地,对于视频图像片内的某些分组,使用内容替换能够代替或补充水印408。在本实例中,通过替换承载补充标志的分组,网络标志408,可能通过另一个标志(诸如本地频道或其他标志)416补充。
图8描述了构成视频帧420的宏块的排列。在某些遵循标准分辨率MPEG的的视频方案中,一帧由30个视频片构成,每个视频片与片标头422相关(在该图中为SH1-SH30)。每一片分成33个宏块424(在该图中为MB1-MB33)。在使用MPEG或其他视频格式的其他实施例(例如,高清晰度)中,每一片能够使用或多或少的片和/或宏块。在任何情况下,图像由宏块的集合构成,在本例中每帧有990个宏块。根据某些实施例,在原始图像中可以替换一个或更多宏块以在宏块的基础上创建新图像。
例如,考虑图9的简化示例。在该示例中,图像的一部分由六个邻近的宏块构成。垂直线432和水平线434定义宏块的边界,为了简化起见在该示例中示为直线。在最左边的图像中,显示星状由六个宏块435、436、437、438、439和440构成。以与本发明某些实施例相一致的方式,构成这些宏块的视频数据能够与第一PID(例如PID A)相关。替换内容能够以六个替换宏块442、443、444、445、446和447的形式提供。可以使用第二(或备择的)PID(例如,PID B)识别定义这些替换宏块的视频数据。然后,为了执行内容替换操作,在期望位置出现的相关的具有PID A的宏块被具有PID B的宏块替换。
但是这些仅仅是内容操作类似的一些实例,使用本发明的PID映射技术能够方便这种操作。若干其他实例在以下的表格中列出,但是在本发明讨论的教导下,对于本领域的普通技术人员来说将会产生更多的实例。
现在参考图10,该图所示为状态图,并描述了根据本发明某些实施例的一种利用多个PID实现解码传输流的解码器的机制。在以下表中说明状态图的编号路径。
路径编号 | 条件 |
450 | 从初始化状态转换 |
452 | PID=A:队列分组 |
454 | (PID=B,模式=2):PID=A:队列分组 |
456 | (PID=B,模式=1):PID=A:队列分组 |
458 | PID=A:PID=空值 |
460 | (PID=B,Queue_on_Error):Error_IRQn |
462 | (PID=B,Queue_on_Error):PID=A:队列分组:Error_IRQn |
464 | Decode_RSTn+MPEG传输错误 |
466 | PID=B:PID=A:队列分组 |
468 | (PID=B,模式=4):PID=A:队列分组 |
470 | Decode_RSTn+MPEG传输错误 |
472 | PID=A:PID=空值 |
474 | PID=B:PID=A:队列分组 |
476 | PID=A:PID=空值 |
478 | Decode_RSTn+MPEG传输错误 |
状态表
通过次要PID分组替换主要PID分组被称为“替换模式”。次要PID分组可以插入到流中,而不替换主要PID分组。这种模式称为“插入模式”。实际上,可以在在两种操作同时激活的模式中使用解码器。这称为“插入和删除模式”。所有三个分立的解码器模式相互排斥并且遵循一系列对于每种模式特定的状态转换。所述激活模式通过解码器特定的可变模式来发信号通知(signal)。如果设置模式值为零,不允许解码并且旁路传输解码器状态机。如果模式值无效(不是特别定义的状态),那么采取相同的动作,就好像模式被设置为零,即旁路传输解码器状态机。以下详述用于每种模式的状态转换的定义。
在图10的状态机中实施用于解码编码的传输流的算法。结合上述状态表从图10能够推导出显示状态和状态方程/动作的皮特里网(Petrinet)。所述算法具有四种操作状态,系统主要保持在状态1。只有当已经遇到包含遮蔽PID(不是主要PID)的分组时才进入状态2。根据系统模式,当通过从首端以PSI传送消息建立时,能够采取到两个完全不同的第二状态的不同路径。
根据IC制造商的设备结构,状态机能够以硬件或软件实现。通常期望在编程处理器上软件实现以提供在设计方面的更多灵活性。
识别一种错误情况(非法状态转换)。这种错误是除了类似于连续性计数、传输错误等等的MPEG传输层错误之外的唯一错误。Error_IRQn没有插入遗产分组的两个相邻的遮蔽分组的检测,n表示特定解码器的编号。根据解码器特定变量queue_on_error的设置,能够发生两种不同的操作。如果设置所述变量为真,该解码器将如在无错误情况下一样处理第二遮蔽分组(PID=B)。如果设置所述变量为假,则丢弃第二遮蔽分组。
无论何时插入或删除分组,通过适当地调节CC将保存主要流(PID=A)的连续性计数(CC)。decode_RSTn变量是非锁存位,其能够通过配置寄存器设置或通过其他功能访问以强迫解码器状态机n成已知的状态。
解码器传输处理算法操作的一种模式被称为替换模式。在图11中示例了这种模式,其中通过利用PID A替换PID B产生用于遵循MPEG的传输流的分组512、514和516,将具有PID B的分组诸如502、504和506插入到传输流中,该遵从MPEG的传输流具有包含匹配A的PID字段的期望的内容分组,这里A是在解码器的配置寄存器中预先定义的13比特值。对于PID A分组执行“无操作”。在“初始(home)”状态,状态1中,发送变为诸如510的分组的诸如508的A分组到传输滤波器输出队列用于进一步处理,诸如A/V解压缩和显示。在模式1中,在接收替换标记520之后,当接收具有匹配B的PID字段的MPEG分组时,解码器状态机从状态1转换到状态2A。B是在解码器的配置寄存器中预先定义的13比特值。B表示要用来替换具有匹配A的PID的下一发生的遗产分组的次要或“遮蔽”分组。在插入到所述流中之前,将B分组的PID值改变成A。由于在转换到状态2A时,发送B分组内容到传输滤波器输出队列,所以会发生替换。
当接收下一个A PID时,发生返回到状态1。在这种情况下,不对其排队并转换成空的(0x1fff)PID值,有效地从流中删除它而不修改整个流定时,正如在它被物理删除时将会发生的那样。通过接收另一个指示替换模式终止的替换标记524,还能够发信号通知返回到状态1。
解码器传输处理算法操作的另一模式被称为插入模式,如在图12中所描述的,其用于遵循MPEG的传输流,这些流具有期望的内容分组,该分组包含匹配A的PID字段,这里A是在解码器的配置寄存器中预先定义的13比特值。在“初始”状态,状态1中,发送A分组到传输滤波器输出队列用于进一步处理,诸如A/V解压缩和显示。在模式2中,解码器状态机从不从状态1转换。当接收具有匹配B的PID字段的MPEG分组时,这里B是在解码器的配置寄存器中预先定义的13比特值,B表示要插入到所述流中的次要或“遮蔽”分组,该流具有改变成A的PID值。在这种模式中,由于接收到插入标记530,能够发生从状态1到状态2B的转换。诸如534和536之类的PID B分组被插入到传输流中,作为诸如538和540之类的PID A分组。通过接收下一个插入标记544该插入模式能够终止。
在图13中描述了用于遵循MPEG的传输流的插入/删除模式的解码器传输处理算法,该传输流具有期望的内容分组,该分组包含匹配A的PID字段,这里A是在解码器的配置寄存器中预先定义的13比特值。在“初始”状态,状态1中,发送诸如508之类的A分组到传输滤波器输出队列用于进一步处理,诸如A/V解压缩和显示并且变成分组510。在模式4中,当接收具有匹配B的PID字段的MPEG分组时,解码器状态机从状态1转换到状态2B,这里B是在解码器的配置寄存器中预先定义的13比特值,B表示要插入的具有改变成匹配A的PID的次要或“遮蔽”分组。在状态2B中接收的具有匹配A的PID值的任何分组将导致转换到状态3并且分组PID改变成空值,以有效地将它从传输流中删除。在状态3中所有相继接收的具有匹配A的PID的分组将导致其PID值也改变成空值,诸如变成空值的分组550、552、554和556,成为560、562、564和566。分别通过插入/删除标记570和574能够启动和终止转换到状态1和从状态1的转换。在状态3中,具有PID B的分组诸如580和582被转换成具有PID的分组诸如586和588。
当接收下一个具有B PID值的分组时返回到状态2B,以及对其排队并转换成A PID值。同理,当相应地接收下一个具有B PID值的分组时,发生从状态2B返回到状态1,还对其排队并转换成A PID值。
根据权利要求1所述的方法,在该方法中所述替换包括使用专用信令来选择具有第二PID的内容单元并丢弃具有第一PID的内容单元。
在根据本发明的方法中,能够使用专用信令选择有关次要PID的内容单元,同时接收具有主要PID的内容。可替换地,能够使用专用信令选择具有次要PID的内容的多个单元,同时丢弃具有主要PID的内容单元。类似地,能够使用专用信令选择具有次要PID的内容的多个单元,同时接收具有主要PID的内容单元。而且,能够使用专用信令从选择具有次要PID的内容的多个单元同时丢弃具有主要PID的内容单元的模式,切换到选择具有次要PID的内容的多个单元同时接收具有主要PID的内容的模式。还能够使用专用信令从选择具有次要PID的内容的多个单元以及接收具有主要PID的内容的多个单元的模式,切换到选择具有次要PID的内容的多个单元同时丢弃具有主要PID的内容单元的模式。
在具有主要PID的相应内容单元之前或之后,发送具有次要PID的内容单元。通过形成数据流中分组的适配层部分的专用信令能够启动和终止替换操作。适配层能够位于具有次要PID、主要PID或其他PID的分组中。
为了参考,提供以下两个表,这些表分别调出用于MPEG传输分组的语法和MPEG传输流适配字段。
语法 | 比特数 | 存储方式 |
transport_packet(){sync_bytetransport_error_indicatorpayload_unit_start_indicatortransport_priorityPIDtrausport_scrambling_controladaptation_field_controlcontinuity_counter=′11′){if(adaptation_field_control==′10′||adaptation_field_control=adaptation_field()}=′11′){if(adaptation_field_control==′01′||adaptation_field_control=for(i=0;i<N;I++){data_byte}}} | 8111132248 | bslbfbslbfbslbfbslbfuimsbfbslbfbslbfuimsbfbslbf |
传输分组
传输流适配字段
用于配置和控制解码器模块的大量信息来自包含在所述传输流中并通过STB中间件解码的MPEG PS1数据。当需要时使用对于当前解码器所特定的MPEG PS1规范的扩展,能够实现配置和控制。在根据本发明的某些实施例中,以下的表定义了所使用的扩展和专用数据语法。
语法 | 比特数 | 存储方式 |
transport_private_data(){if(transport_private_data_length>0){Decoder applicationDecoder modeif(Decoder application==′1′){ReservedDecoder mode_3 (Multi-to-One Insertion & Deletion)Decoder mode_2 (One-to-One Insertion)Decoder mode_1 (One-to-One Substitution)}/*** Multi-to-One Deletion & Insertion***/if(Decoder application==′1′& Decoder mode=3){termination flagReservedprimary PID packets to delete(Optional)Lengthif(length>0){Reservedprimary PIDReservedsecondary PID}}/***One-to-One Insertion***/if(Decoder application==′1′&Decoder mode=2){termination flagReseryedLengthif(length>0){Reservedprimary PIDReservedsecondary PID}}/***One-to-One Substitution***/if(Decoder application==′1′&Decoder mode=1){termination flagReservedLengthif(length>0){Reservedprimary PIDReservedsecondary PID}}}} | 16161311117168313313178313313178313313 | uimsbfuimsbfbslbfbslbfbslbfbslbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbfuimsbf |
专用数据语法
有可能使用“适配和无有效载荷”以及“适配和有效载荷”来发信号通知状态之间的转换。只有适配字段的分组不论是A、B或C,能够使之成为“空”,例如,NOP,或者简单地留在所述流中。
在本文中,对“寄存器”的参考可以意味着硬件实现,在软件或微代码实现中它能够与“变量”自由地互换。在任一种情况下,期望公共解码器模块命令/控制结构和接口跨越改变结构和能力的STB平台实现中间件兼容性。
在某些优选实施例中,每个解码器模块包含19个寄存器(或变量)。除非特别声明否则,所有的寄存器是读/写的,意思是说通过用于写入的相同接口能够读回当前值。所有寄存器将会顺序地从公共基值(原始值)偏移。在本说明书中的地址全部是相对于基值的值(偏移值)。能够如以下表所示来映射所述寄存器:
地址 | 名称 | 资源 |
0x00 | 中断寄存器 | 读/写 |
0x01 | 主要PID寄存器,解码器1 | 读/写 |
0x02 | 次要PID寄存器,解码器1 | 读/写 |
0x03 | 主要PID寄存器,解码器2 | 读/写 |
0x04 | 次要PID寄存器,解码器2 | 读/写 |
0x05 | 主要PID寄存器,解码器3 | 读/写 |
0x06 | 次要PID寄存器,解码器3 | 读/写 |
0x07 | 主要PID寄存器,解码器4 | 读/写 |
0x08 | 次要PID寄存器,解码器4 | 读/写 |
0x09 | 主要PID寄存器,解码器5 | 读/写 |
0x0A | 次要PID寄存器,解码器5 | 读/写 |
0x0B | 主要PID寄存器,解码器6 | 读/写 |
0x0C | 次要PID寄存器,解码器6 | 读/写 |
0x0D | 解码器1模式寄存器 | 读/写 |
0x0E | 解码器2模式寄存器 | 读/写 |
0x0F | 解码器3模式寄存器 | 读/写 |
0x10 | 解码器4模式寄存器 | 读/写 |
0x11 | 解码器5模式寄存器 | 读/写 |
0x12 | 解码器6模式寄存器 | 读/写 |
0x13 | 解码器复位寄存器 | 写 |
寄存器映射表
根据以下表提供状态寄存器(中断源寄存器(只读)--地址0x00)
比特 | 名称 | 含义 |
15 | Decode_1_ERROR | 解码器1连续的遮蔽分组 |
14 | Decode_2_ERROR | 解码器2连续的遮蔽分组 |
13 | Decode_3_ERROR | 解码器3连续的遮蔽分组 |
12 | Decode_4_ERROR | 解码器4连续的遮蔽分组 |
11 | Decode_5_ERROR | 解码器5连续的遮蔽分组 |
10 | Decode_6_ERROR | 解码器6连续的遮蔽分组 |
9-0 | NA | 未定义 |
状态寄存器
如果调用中断,相关的比特将设置成“1”。同时可以声明不止一个比特。如果设置了任何比特,所述解码器基于屏蔽寄存器的值中断主机控制器。源寄存器的内容逐位地与屏蔽寄存器进行与运算并且该结果逻辑或以形成单个IRQ输出。中断条件列表如下:
Decode_n_ERROR
Set on(设置开):检测两个相邻的没有插入遗产分组的遮蔽分组。
Reset on(复位开):读取中断状态寄存器。
只写中断屏蔽寄存器位于地址:0x00。当中断屏蔽寄存器比特是“1”时,不屏蔽相关的中断以及当该比特是“0”时,屏蔽相关的中断。被屏蔽的中断将不会产生中断输出给主机处理器。在所述中断寄存器中被屏蔽中断的该中断标记比特将仍是有效的。默认的加电条件用于所有将要屏蔽的中断(全“0”)。
比特 | 名称 | 含义 |
15 | Decode_1_ERROR | 解码器1连续的遮蔽分组 |
14 | Decode_2_ERROR | 解码器2连续的遮蔽分组 |
13 | Decode_3_ERROR | 解码器3连续的遮蔽分组 |
12 | Decode_4_ERROR | 解码器4连续的遮蔽分组 |
11 | Decode_5_ERROR | 解码器5连续的遮蔽分组 |
10 | Decode_6_ERROR | 解码器6连续的遮蔽分组 |
9-0 | NA | 未定义 |
配置寄存器如上。
用于解码器1的主要PID寄存器(读/写)出现在地址:0x01并且配置如下:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Primary_PID_1 | 用于解码器1的主要PID的分组ID值 |
该主要PID是所存储的作为大尾(big-endian)(MSB在比特12)值被正确证明有效的13比特值。
用于解码器1的次要PID寄存器次要PID寄存器(读/写)出现在地址:0x02,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Secondary_PID_1 | 用于解码器1的次要(“遮蔽”)PID的分组ID值 |
该次要PID是如上所示所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器2的主要PID寄存器(读/写)出现在地址:0x03,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Primary_PID_2 | 用于解码器2的主要PID的分组ID值 |
该主要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器2的次要PID寄存器(读/写)出现在地址:0x04,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Secondary_PID_2 | 用于解码器2的次要(“遮蔽”)PID的分组ID值 |
该次要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器3的主要PID寄存器(读/写)出现在地址:0x05,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Primary_PID_3 | 用于解码器3的主要PID的分组ID值 |
该主要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器3的次要PID寄存器(读/写)出现在地址:0x06,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Secondary_PID_3 | 用于解码器3的次要(“遮蔽”)PID的分组ID值 |
该次要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器4的主要PID寄存器(读/写)出现在地址:0x07,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Primary_PID_4 | 用于解码器4的主要PID的分组ID值 |
该主要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器4的次要PID寄存器(读/写)出现在地址:0x08,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Secondary_PID_4 | 用于解码器4的次要(“遮蔽”)PID的分组ID值 |
该次要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器5的主要PID寄存器(读/写)出现在地址:0x09,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Primary_PID_5 | 用于解码器5的主要PID的分组ID值 |
该主要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器5的次要PID寄存器(读/写)出现在地址:0x0A,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Secondary_PID_5 | 用于解码器5的次要(“遮蔽”)PID的分组ID值 |
该次要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器6的主要PID寄存器(读/写)出现在地址:0x0B,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Primary_PID_6 | 用于解码器6的主要PID的分组ID值 |
该主要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
用于解码器6的次要PID寄存器(读/写)出现在地址:0x0C,并如下配置:
比特 | 名称 | 含义 |
15-13 | NA | 未定义 |
12-0 | Secondary_PID_6 | 用于解码器6的次要(“遮蔽”)PID的分组ID值 |
该次要PID是所存储的作为大尾(MSB在比特12)值被正确证明有效的13比特值。
解码器1模式寄存器(读/写)出现在地址:0x0D,并如下配置:
比特 | 名称 | 默认值 | 含义 |
15-13 | Decoder_1_Mode | 关(0) | 确定解码器1操作模式 |
12 | Queue_on_Error1 | 丢弃(0) | 当解码器1处于模式1(1=排队)时,确定是排队还是丢弃连续遮蔽分组 |
11-0 | 未定义 | NA | 未定义 |
模式定义如下:
0:旁路所有解码处理,禁止状态机
1:替换模式
2:插入模式
4:插入并删除模式
所有其他值:旁路所有解码处理,禁止状态机
解码器2模式寄存器(读/写)出现在地址:0x0E,并如下配置:
比特 | 名称 | 默认值 | 含义 |
15-13 | Decoder_2_Mode | 关(0) | 确定解码器2操作模式 |
12 | Queue_on_Error2 | 丢弃(0) | 当解码器2处于模式1(1=排队)时,确定是排队还是丢弃连续遮蔽分组 |
11-0 | 未定义 | NA | 未定义 |
模式定义如下:
0:旁路所有解码处理,禁止状态机
1:替换模式
2:插入模式
4:插入并删除模式
所有其他值:旁路所有解码处理,禁止状态机
解码器3模式寄存器(读/写)出现在地址:0x0F,并如下配置:
比特 | 名称 | 默认值 | 含义 |
15-13 | Decoder_3_Mode | 关(0) | 确定解码器3操作模式 |
12 | Queue_on_Error3 | 丢弃(0) | 当解码器3处于模式1(1=排队)时,确定是排队还是丢弃连续遮蔽分组 |
11-0 | 未定义 | NA | 未定义 |
模式定义如下:
0:旁路所有解码处理,禁止状态机
1:替换模式
2:插入模式
4:插入并删除模式
所有其他值:旁路所有解码处理,禁止状态机
解码器4模式寄存器(读/写)出现在地址:0x10,并如下配置:
比特 | 名称 | 默认值 | 含义 |
15-13 | Decoder_4_Mode | 关(0) | 确定解码器4操作模式 |
12 | Queue_on_Error4 | 丢弃(0) | 当解码器4处于模式1(1=排队)时,确定是排队还是丢弃连续遮蔽分组 |
11-0 | 未定义 | NA | 未定义 |
模式定义如下:
0:旁路所有解码处理,禁止状态机
1:替换模式
2:插入模式
4:插入并删除模式
所有其他值:旁路所有解码处理,禁止状态机
解码器5模式寄存器(读/写)出现在地址:0x11,并如下配置:
比特 | 名称 | 默认值 | 含义 |
15-13 | Decoder_5_Mode | 关(0) | 确定解码器5操作模式 |
12 | Queue_on_Error5 | 丢弃(0) | 当解码器5处于模式1(1=排队)时,确定是排队还是丢弃连续遮蔽分组 |
11-0 | 未定义 | NA | 未定义 |
模式定义如下:
0:旁路所有解码处理,禁止状态机
1:替换模式
2:插入模式
4:插入并删除模式
所有其他值:旁路所有解码处理,禁止状态机
解码器6模式寄存器(读/写)位于地址:0x12,并如下配置:
比特 | 名称 | 默认值 | 含义 |
15-13 | Decoder_6_Mode | 关(0) | 确定解码器6操作模式 |
12 | Queue_on_Error6 | 丢弃(0) | 当解码器6处于模式1(1=排队)时,确定是排队还是丢弃连续遮蔽分组 |
11-0 | 未定义 | NA | 未定义 |
模式定义如下:
0:旁路所有解码处理,禁止状态机
1:替换模式
2:插入模式
4:插入并删除模式
所有其他值:旁路所有解码处理,禁止状态机
解码器复位寄存器(写)位于地址:0x13并如下配置:
比特 | 名称 | 默认值 | 含义 |
15 | Decoder_RST1 | 关(0) | 解码器1非锁存复位到状态1 |
14 | Decoder_RST2 | 关(0) | 解码器2非锁存复位到状态1 |
13 | Decoder_RST3 | 关(0) | 解码器3非锁存复位到状态1 |
12 | Decoder_RST4 | 关(0) | 解码器4非锁存复位到状态1 |
11 | Decoder_RST5 | 关(0) | 解码器5非锁存复位到状态1 |
10 | Decoder_RST6 | 关(0) | 解码器6非锁存复位到状态1 |
9-0 | 未定义 | NA | NA |
识别一种错误情况(非法状态转换)。这种错误是唯一的错误,并且加于类似于连续性计数、传输错误等等的MPEG传输层错误之上。Error_IRQn是没有插入遗产分组的两个相邻的遮蔽分组的检测,n表示特定解码器的的编号。根据解码器特定变量queue_on_error的设置,能够发生两种不同的操作。如果设置所述变量为真,该解码器将如在无错误情况下一样处理第二遮蔽分组(PID=B)。如果设置所述变量为假,则丢弃第二遮蔽分组。
在某些情况下,将要被替换的内容置于分组边界上。由于一些信息不可能整齐地适合位于分组边界内,可能需要复制一些附加的内容,即不是特别感兴趣的内容,以填满该分组。在其他情况下,能够简单地给分组填充空字节(例如,全零)。典型的视频片包含大致3到8个分组,这取决于存在多少内部编码的数据。应该注意到某些解码器可能对于单个视频线路上的多个片存在困难,即使MPEG2规范考虑到这种困难。
还要注意到如果从未来的帧参照被替换的内容,将面临结局问题。但是,可以通过建立一个规则来解决该问题,也就是说,过去的帧不能参照被替换的内容。这是因为内容可能根据用户作出的选择或机顶盒而有所不同的可能性。如果这种参照全部包含在替换内容内,则可能允许参照未来帧。而且,由于编码器使用一组特定的量化表,因此应当使用相同的量化表来处理替换内容,以便能够进行正确的解码。
根据应用能够在线或离线地执行本内容替换,而不受到限制。
诸如上述的解码器能够包含在电视STB或其他电视接收机中,并且能够用于给终端用户提供受用户或MSO控制的内容替换能力。现在参考图14,该图示例了用于数字电视机顶盒600的示意性系统结构。有可能存在用于这种STB的许多结构并且所示例的STB应该仅仅认为是这种STB结构的一种示意。在本示意性的机顶盒中,传输介质604,诸如同轴电缆,通过适当的接口耦合至调谐器608。调谐器608可以例如包括用于接收视频内容的广播带内调谐器。可以提供独立的调谐器(未示出)来接收传统的RF广播电视频道。然后在解调器610解调例如格式化为MPEG-2信息的调制信息。提供在解调器610输出端的该解调信息给PID解码器/解复用器/解扰器电路614,其中将该信息分离成离散的节目频道。所述节目被分成分组,每个分组具有识别包含与特定节目有关的特定类型数据(例如,音频、视频、数据)的分组的PID。PID解码器/解调器/解扰器电路614还根据解密算法解密加密信息,以防止例如未授权访问节目内容。电路614的PID解码器部分能够在程序控制下,以类似于图10状态图所描述解码器的方式操作以便选择具有特定PID的内容,正如下文将描述的。
解密并转发来自解复用器614的音频分组(用音频PID识别)到音频解码器618,在音频解码器中音频分组被转换成驱动扬声器系统(例如,立体声或家庭影院多声道音频系统)或其他音频系统622(例如,立体声或家庭影院多声道放大器和扬声器系统)的模拟音频,或者可以在626简单地提供解码的音频输出。解密并转发来自解复用器614的视频分组(用视频PID识别)到视频解码器630。以类似的方式,解密并转发来自解复用器614的数据分组(用数据PID识别)到数据解码器634。
经由系统总线634发送来自数据解码器634的解码的数据分组到机顶盒的计算机系统。控制计算机644因此能够经由系统总线638访问来自数据解码器634的解码数据以及存储器646中的程序和数据。传送视频解码器630所解码的视频数据到图形处理器648,该处理器是被优化用以快速处理图形信息的计算机。图形处理器648在处理与因特网浏览、游戏和诸如与MHEG(多媒体和超媒体信息编码专家组)机顶盒应用相关的应用之类多媒体应用相关的图形密集数据中特别有用。但是,应该注意到,在某些具有较低能力的机顶盒设计中图形处理器648的功能可能不是必须的,并且在解码的视频被直接从解复用器614传送到视频编码器的一些应用中,图形处理器648的功能可以通过控制计算机644处理。图形处理器648还耦合至系统总线638并在控制计算机644的控制下操作。
许多机顶盒诸如STB 600可以包含与所谓的“智能卡”通信的智能卡阅读器140,该阅读器通常用作条件访问模块(CAM)。CAM通常包括它自己的中央处理器单元和相关的RAM和ROM存储器。传统上使用这种基于智能卡的CAM来验证用户、验证用户执行的交易和验证服务以及存储授权密钥。例如,可以使用CAM提供用于对CAM确定用户被授权接收的内容的输入加密数据进行解码的密钥。
STB 600能够在双向通信模式中操作,以便不仅从系统的首端到终端用户,或从服务提供商到STB 600的终端用户发送数据和其他信息,而且还使用带外信道从终端用户上行流发送数据和其他信息。在一个实施例中,这种数据通过形成调谐器604一部分的双工器穿过系统总线638到达调制器652并且通过传输介质604向外传送。这种能力被用来为STB600和/或其用户提供一种机制,以发送信息到首端(例如,服务请求或改变、注册信息等等)以及提供与因特网的快速出站通信或提供在首端提供给终端用户的其他服务。
机顶盒600可以包括通过I/O接口656所表示的多个I/O(输入/输出)接口中的任何接口,所述接口允许I/O设备到机顶盒600的互连。通过实例但不是限制的方式,能够提供串行RS-232端口来启动到由STB600的内部软件所支持的任何适当串行设备的互连。同样地,经由以太网端口、USB(通用串行总线)端口、IEEE1394(所谓的firewireTM或i-linkTM)或IEEE1394宽端口、或S视频端口能够提供与适当兼容设备的通信。红外接口660提供与遥控器666的通信。能够利用这些接口互连STB 600与大量附属设备诸如存储设备、视听设备、游戏设备(未示出)、因特网应用28等中的任何一个。
I/O接口656还能够包括调制解调器(拨号、电缆、DSL或其他技术的调制解调器),该调制解调器具有调制解调器端口以方便对因特网的高速或备择访问或其他数据通信功能。在一个优选实施例中,调制解调器端口162是DOCSIS(电缆系统数据接口规范:Data Over Cable SystemInterface Specification)电缆调制解调器以方便在电缆系统上的高速网络访问,并且端口适当地耦合至被实施为同轴电缆的传输介质604。因此,STB 600能够经由DOCSIS电缆调制解调器与通过唯一的IP地址所识别的STB 600执行双向通信。DOCSIS规范可公开获得。
能够提供PS/2或其他键盘/鼠标/操纵杆接口以允许容易的输入数据到STB 600。这些输入给用户提供容易地使用定点设备输入数据和/或导航的能力。诸如鼠标或操纵杆的定点设备可以在游戏应用中使用。
当然,STB 600还可以包含基本的视频输出,该输出能够代替(或除此之外)IEEE1394连接用于到电视机的直接连接。在一个实施例中,该视频输出能够提供格式化为NTSC(国家电视系统委员会)视频的复合视频。在某些实施例中,能够通过到图形处理器648或解复用器/解扰器614的直接连接提供该视频输出,而不是如在示意性方框图中所示例的通过系统总线638来传送。同样地,在其他实施例中,如果想要的话,能够提供S-视频信号而不通过系统总线130传送。
红外接口660从红外遥控器666、红外键盘或其他红外控制设备接收命令。尽管没有明确示出,在某些实施例中可以使用面板控制以通过作为所提供接口其中之一的面板控制接口直接地控制STB600的操作。如果需要或想要,能够以各种组合在STB 600中提供所选的接口,诸如上述以及其他的接口。
在根据本发明的一个示例性实施例中,如例如在从多个结局进行选择中能够利用STB 600控制多个内容。在一种这样的情况下,以正常的方式演完具有一组指定PID的主要节目内容,直到接近节目的结束。在这点上,为观众显示屏幕上的菜单选择,从该菜单选择显示多个结局的其中一个结局。作为一个简单的实例,可能存在与如下三组PID相关的三种可能的结局:1)PID A-男孩赢得女孩,好男孩赢了,2)PID B-女孩死了,好男孩赢了,以及3)PID C-女孩死了,坏男孩赢了。
使用遥控器666或任何其他适当的输入机制,观众从可能的结局作出选择。在显示默认的结局之前,可以提供有限的时间来作出这种选择(例如,内容中的两分钟暂停以允许选择结局)。响应于用户的选择,控制计算机644编程PID解码器614选择用户所选的结局。在完成该暂停之后,节目利用PID解码器614继续,该解码器614进行适当的PID重新映射以使得播放用于所选结局的音频、数据和视频。因此,如果所述节目正常地与PID A相关并且用户选择结局三,承载PID C的分组则将被重新映射到PID A用于重放。因此,在本实施例中,用户能够作出选择以便重放用于替换正常内容的内容的特定段。
相应地,根据本发明某些实施例的解码器具有接收表示内容的数据的接收机,该数据具有至少与内容的第一和第二部分相关的第一和第二分组标识符(PID)。内容解码器被配置成播放具有第一PID的内容。控制器确定已经满足替换准则,PID映射器映射具有第二PID的内容到第一PID,以便播放最初具有第二PID的内容。
因此,根据某些实施例,用于内容替换的方法和设备涉及接收表示内容的数据,该数据具有与内容的第一和第二宏块相关的至少第一和第二分组标识符(PID)。具有第一PID的内容放在数据流中。接收指示启动PID映射操作的启动标记。然后,具有第二PID的内容被映射到第一PID以及将被映射的内容放在所述数据流中。接收指示PID映射操作终止的终止标记,在这点上所述处理返回到将具有第一PID的内容放在数据流中。能够使用所述内容替换处理来代替广告、审查内容,提供多个情节、多个结局、多个视图以及其他的应用。
本领域的普通技术人员将会意识到已经基于编程处理器(例如,计算机300)的使用,以示意性的实施例描述了本发明。但是,本发明不应该被如此限制,因为本发明能够使用硬件组件等同物诸如专用硬件和/或专用处理器来实现,这些硬件或处理器等同于上述和要求保护的本发明。类似地,可以使用通用计算机、基于微处理器的计算机、微控制器、光学计算机、模拟计算机、专用处理器和/或专用的硬连线逻辑构造本发明的可替换的等效实施例。而且,尽管已经在提供重放机制的通用个人计算机这方面描述了本发明,但是在不背离本发明的条件下,能够在专用机器上实现重放。相反地,已经以状态机描述了本解码器,但是这种状态机能够实现为基于硬件或软件的状态机。而且,本领域的普通技术人员将会明白结合上述示意性实施例描述的实际的寄存器配置、PID协议和其他细节不应该认为是种限制,而是通过示例的方式给出。
本领域的普通技术人员将会理解,用于实现上述实施例的程序步骤和相关数据能够使用盘存储器以及其他形式的存储器来实现而不背离本发明,该存储器例如是只读存储器(ROM)设备、随机存取存储器(RAM)设备、光存储元件、磁存储元件、磁光存储元件、闪存、核心存储器和/或其他等同的存储技术。这种可替换的存储设备应该认为是等同物。
如在这里的实施例中描述的,本发明使用执行程序指令的编程处理器实现,上面以广义的形式描述了这些指令,该指令能够存储在任何适当的电子存储介质上或在任何适当的电子通信介质上发送,或者否则存在于任何计算机可读或传播介质上。但是,本领域的普通技术人员将会理解能够以任何数量的变型以及许多适当的编程语言实现上述的处理而不背离本发明。例如,所执行的某些操作的顺序通常能够变化,能够增加其他的操作或者删除操作而不背离本发明。能够增加和/或增强错误捕获,以及可以在用户接口和信息表示中作出变化而不背离本发明。预期这种变化并认为是等效的。
实施本发明某些方面的软件代码和/或数据可以存在于任何计算机可读介质、传输介质、存储介质或传播介质中,包括但不限制于,如上所述的电子存储设备以及载波、电子信号、数据结构(例如,树、链接列表、表、分组、帧等等)、光信号、传播信号、广播信号、传输介质(例如,电路连接、电缆、双绞线、光缆、波导、天线等等)和存储、承载或传送代码和/或数据的其他介质。这种介质可以存储软件代码和/或数据或用于从一个位置到另一个位置传输代码和/或数据。在本示意性的实施例中,使用遵循MPEG的分组、片、表和其他数据结构,但是这不能够认为是种限制,因为能够类似地使用其他数据结构而不背离本发明。
尽管已经结合特定实施例描述了本发明,但是根据以上描述的教导,对于本领域的普通技术人员来说许多替换、修改、置换和变型都将会显而易见。相应地,本发明旨在包含落在所附权利要求范围内的所有这些替换、修改和变型。
Claims (25)
1.一种内容替换的方法,包括:
接收表示视频内容的数据,该数据具有多个分组标识符PID,其中第一PID与原始内容流关联,原始内容由内容帧构成,每个帧由多个原始宏块构成;
其中第二PID与替换内容关联,其中替换内容包括内容的一个或多个替换宏块但构成不到整个宏块帧;
启动具有第一PID的原始内容的处理;
确定已经满足一个替换准则,以便用替换内容的一个或多个宏块来代替原始内容的至少一个帧中的一个或多个宏块,其中所述代替通过代替原始内容的完整帧中的不到所有的原始宏块来修改原始内容的至少一个帧;
用具有第二PID的替换内容的一个或多个宏块来代替具有第一PID的原始内容的一个或多个宏块以产生被修改的内容;
其中,所述代替通过将控制器从旁路模式选择性地切换到实现用替换宏块代替原始宏块的模式而得以实现;以及
处理该被修改的内容。
2.根据权利要求1所述的方法,所述控制器形成电视机顶盒的一部分。
3.根据权利要求1所述的方法,在硬件状态机中执行。
4.根据权利要求1所述的方法,在编程处理器中执行。
5.根据权利要求1所述的方法,其中,作为接收到一个标记的结果,所述替换准则得以满足。
6.根据权利要求1所述的方法,其中,作为运营商输入的结果,所述替换准则得以满足。
7.根据权利要求1所述的方法,其中,所述处理包括播放被修改的内容。
8.根据权利要求1所述的方法,其中,所述代替包括使用专用信令来选择具有第二PID的替换内容的所述一个或多个宏块以及丢弃具有第一PID的原始内容的所述一个或多个宏块。
9.根据权利要求1所述的方法,其中,所述代替包括使用专用信令来选择第二PID上替换内容的所述一个或多个宏块,同时接收具有第一PID的原始内容的所述一个或多个宏块。
10.根据权利要求1所述的方法,其中,通过在数据流中形成分组适配层一部分的专用信令来启动和终止代替。
11.根据权利要求10所述的方法,其中,所述适配层位于具有第二PID的分组中。
12.根据权利要求10所述的方法,其中,所述适配层位于具有第一PID的分组中。
13.根据权利要求10所述的方法,其中,所述适配层位于既不是第二也不是第一PID的分组中。
14.一种内容替换的方法,包括:
接收表示内容的数据,该数据具有多个分组标识符PID,其中第一PID与原始内容流关联,原始内容由内容帧构成,每个帧由多个原始宏块构成;
其中第二PID与替换内容关联,其中替换内容包括内容的一个或多个替换宏块但构成不到整个宏块帧;
将具有主要PID的原始内容置于数据流中;
接收指示PID映射操作的启动的启动标记;
在PID映射器中,映射具有次要PID的内容到主要PID并将被映射的内容置于所述数据流中,以便通过代替原始内容的完整帧中的不到所有的原始宏块来修改原始内容的至少一个帧;
响应于所述启动标记,将控制器从旁路模式选择性地切换到实现用替换宏块代替原始宏块的模式;
接收指示PID映射操作的终止的终止标记;
响应于所述终止标记,将控制器选择性地切换回旁路模式;和
继续将具有主要PID的内容置于所述数据流中。
15.根据权利要求14所述的方法,所述控制器形成电视机顶盒的一部分。
16.根据权利要求14所述的方法,在硬件状态机中执行。
17.根据权利要求14所述的方法,在编程处理器中执行。
18.根据权利要求14所述的方法,其中,所述启动标记指示替换准则已得到满足。
19.根据权利要求18所述的方法,其中,作为运营商输入的结果,所述替换准则得以满足。
20.根据权利要求14所述的方法,其中,专用信令用于选择具有次要PID的内容的宏块并丢弃具有主要PID的内容的宏块。
21.根据权利要求14所述的方法,其中,通过在数据流中形成分组适配层一部分的专用信令来启动和终止替换。
22.根据权利要求21所述的方法,其中,所述适配层位于具有主要PID和次要PID其中之一的分组中。
23.根据权利要求21所述的方法,其中,所述适配层位于既没有次要也没有主要PID的分组中。
24.一种解码器,包括:
接收表示内容的数据的接收机,该数据具有多个分组标识符PID,其中第一PID与原始内容流关联,原始内容由内容帧构成,每个帧由多个原始宏块构成;
其中第二PID与替换内容关联,其中替换内容包括内容的一个或多个替换宏块但构成不到整个宏块帧;
内容解码器,被配置用于播放具有第一PID的内容;
控制器,用于确定已经满足替换准则而将原始内容的一个或多个宏块用替换内容的一个或多个宏块代替,并将解码器从旁路模式切换到实现用替换宏块代替原始宏块的模式,其中将所述替换宏块代替原始内容通过代替原始内容的完整帧中的不到所有的原始宏块而修改原始内容的至少一个帧;和
PID映射器,用于映射具有第二PID的内容到第一PID,以便播放原先具有第二PID的内容。
25.根据权利要求24所述的解码器,其中,所述解码器存在于电视机顶盒中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51947203P | 2003-11-12 | 2003-11-12 | |
US60/519,472 | 2003-11-12 | ||
US10/822,891 US7823174B2 (en) | 2002-01-02 | 2004-04-13 | Macro-block based content replacement by PID mapping |
US10/822,891 | 2004-04-13 | ||
PCT/US2004/032252 WO2005053301A2 (en) | 2003-11-12 | 2004-09-30 | Macro-block based content replacement by pid mapping |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101317454A CN101317454A (zh) | 2008-12-03 |
CN101317454B true CN101317454B (zh) | 2011-11-16 |
Family
ID=37510813
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800333057A Expired - Fee Related CN101317454B (zh) | 2003-11-12 | 2004-09-30 | 通过pid映射基于宏块的内容替换 |
CN 200480032862 Pending CN1879416A (zh) | 2003-11-12 | 2004-10-18 | 具内容操纵功能的有线卡 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200480032862 Pending CN1879416A (zh) | 2003-11-12 | 2004-10-18 | 具内容操纵功能的有线卡 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN101317454B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL2006978C2 (en) * | 2011-06-21 | 2012-12-28 | Civolution B V | Rendering device with content substitution. |
CN106068651B (zh) * | 2014-03-18 | 2020-10-16 | 皇家飞利浦有限公司 | 视听内容项数据流 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5917830A (en) * | 1996-10-18 | 1999-06-29 | General Instrument Corporation | Splicing compressed packetized digital video streams |
US20020066101A1 (en) * | 2000-11-27 | 2002-05-30 | Gordon Donald F. | Method and apparatus for delivering and displaying information for a multi-layer user interface |
-
2004
- 2004-09-30 CN CN2004800333057A patent/CN101317454B/zh not_active Expired - Fee Related
- 2004-10-18 CN CN 200480032862 patent/CN1879416A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5917830A (en) * | 1996-10-18 | 1999-06-29 | General Instrument Corporation | Splicing compressed packetized digital video streams |
US20020066101A1 (en) * | 2000-11-27 | 2002-05-30 | Gordon Donald F. | Method and apparatus for delivering and displaying information for a multi-layer user interface |
Also Published As
Publication number | Publication date |
---|---|
CN101317454A (zh) | 2008-12-03 |
CN1879416A (zh) | 2006-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7823174B2 (en) | Macro-block based content replacement by PID mapping | |
CN102172016B (zh) | 多编码内容替代 | |
US7765567B2 (en) | Content replacement by PID mapping | |
US8051443B2 (en) | Content replacement by PID mapping | |
CA2437018C (en) | Selective encryption to enable multiple decryption keys | |
CN102845068B (zh) | 用于3d电视节目素材的分配的方法和装备 | |
TW385618B (en) | Data transmission device, reception device and transmission/ reception system | |
CN102027753B (zh) | 用于卫星传送的电视的加密系统 | |
HRP20000821A2 (en) | Decoder for, and method of, processing a transport packet stream | |
CN105491436A (zh) | 选择性手语位置 | |
CN1196330C (zh) | 本地网络复制保护系统 | |
JP3593883B2 (ja) | 映像ストリーム送受信システム | |
CN100414991C (zh) | 用于高质量视听作品的处理的安全设备 | |
WO2011133336A1 (en) | Remotely inserting watermark into encrypted compressed video bitstream | |
CN101317454B (zh) | 通过pid映射基于宏块的内容替换 | |
CA2480964A1 (en) | Content replacement by pid mapping | |
CN100546365C (zh) | 数字有线广播频道的复制保护方法、CableCARD模块以及视频系统 | |
CN1998237A (zh) | 重新加密的视频点播 | |
MXPA00004022A (en) | Video signal transmission | |
Slusallek et al. | Experiments in Digital Television | |
CN103763573A (zh) | 移动通信程序中数据加密方法 | |
CN103686163A (zh) | 移动通信程序中音频视频数据的加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1127835 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1127835 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111116 |