首页 / 专利库 / 资料储存系统 / 根哈希 / 一种用于在多媒体装置上处理带内数据的方法及装置

一种用于在多媒体装置上处理带内数据的方法及装置

阅读:318发布:2020-05-13

专利汇可以提供一种用于在多媒体装置上处理带内数据的方法及装置专利检索,专利查询,专利分析的服务。并且一种在多媒体装置中用于识别和 同步带 内数据的方法和装置。 服务器 从内容提供商处接收代表视频节目的数据;所述服务器根据所述视频节目的隐蔽字幕数据创建哈希值序列数据和与所述哈希值序列数据关联的相应的元数据;其中所述哈希值序列数据包括至少两个哈希值和用于所述至少两个哈希值的相应的偏移;所述服务器将所述元数据与所述哈希值序列数据相关联。,下面是一种用于在多媒体装置上处理带内数据的方法及装置专利的具体信息内容。

1.一种方法,包括:
基于接收的信号识别视频节目中的一个或多个位置
计算与相关的带内数据模式,所述帧与所述视频节目中被选择的所述一个或多个位置相关联;
将所述带内数据模式存储为涉及被选择的所述一个或多个位置的事件标识数据。
2.根据权利要求1所述的方法,进一步包括向多媒体装置提供所述事件标识数据。
3.根据权利要求2所述的方法,其特征在于:所述多媒体装置将由所述多媒体装置计算的带内数据模式与所述事件标识数据相匹配以识别被选择的所述一个或多个位置。
4.根据权利要求1所述的方法,其特征在于:响应于用户选择所述视频节目中的所述一个或多个位置,所述信号被多媒体装置从控制界面接收。
5.根据权利要求1所述的方法,其特征在于:被选择的所述一个或多个位置代表事件或视频片段
6.根据权利要求1所述的方法,其还包括向包括所述视频节目的多媒体内容中放入视频标签,以便用户能够直接跳转到被选择的所述一个或多个位置。
7.根据权利要求1所述的方法,其特征在于:所述事件标识数据包括元数据。
8.根据权利要求1所述的方法,其特征在于:所述事件标识数据包括响应于识别所述带内数据模式而要采取的一个或多个行动。
9.根据权利要求8所述的方法,其特征在于:所述一个或多个行动包括显示图标。
10.根据权利要求1所述的方法,其特征在于:所述事件标识数据描述了包括所述视频节目的多媒体内容流中的事件。
11.根据权利要求1所述的方法,其还包括提供代表被选择的所述一个或多个位置的数据,所述数据与包括所述视频节目的多媒体内容流分离。
12.根据权利要求1所述的方法,其特征在于:所述帧在所述视频节目中的所述一个或多个位置之前。
13.一种方法,其包括:
服务器从内容提供商处接收代表视频节目的数据;
所述服务器根据所述视频节目的隐蔽字幕数据创建哈希值序列数据和与所述哈希值序列数据关联的相应的元数据;
其中所述哈希值序列数据包括至少两个哈希值和用于所述至少两个哈希值的相应的偏移;
所述服务器将所述元数据与所述哈希值序列数据相关联。
14.根据权利要求13所述的方法,其特征在于:所述元数据包括用于基于所述哈希值序列数据的识别而执行动作的指令和控制数据。
15.根据权利要求13所述的方法,其特征在于:所述元数据包括事件。
16.根据权利要求13所述的方法,其特征在于:所述元数据包括所述视频节目的说明。
17.根据权利要求13所述的方法,其特征在于:所述元数据包括标签信息。
18.根据权利要求13所述的方法,其特征在于:所述哈希值序列数据包括与第一视频帧相关联的第一哈希值,与第二视频帧相关联的第二哈希值,以及处于所述第一视频帧和所述第二视频帧之间的时间段。
19.一种包括用于执行如权利要求1-18中任一项所述的方法的设备的装置。
20.一种计算机可读存储介质,其包括当被一个或多个处理器运行时执行如权利要求
1-18中任一项所述的方法的指令。

说明书全文

一种用于在多媒体装置上处理带内数据的方法及装置

技术领域

[0001] 本申请是申请日为2006年6月23日、申请号为CN200680055056.0、发明名称为“一种用于在多媒体装置上处理带内数据的方法及装置”的专利申请的分案申请。本申请涉及对多媒体内容流中的带内数据的识别,以及在多媒体装置上对该多媒体内容流中的点进行定位

背景技术

[0002] 该部分所述的方法为可能被实施,但是并不必须是在之前已经被实施或者构思的方法。因此,除非特别指出,不应仅仅因为在该部分进行了描述,就将该部分所述的方法设定为已有技术。
[0003] 收看电视者可以利用盒式磁带录像机(VCR)将播放的视频节目录制下来。同样的,VCR用户可以在播放电视节目的时候记录该电视节目,并在之后回放该同样的已记录的电视节目。为了实现该目的,VCR将表示电视节目的电子信号转换为磁信号,并将该磁信号记录在磁带上。磁带通常以录像带的形式由VCR使用者插入VCR。当VCR使用者决定回放该电视节目时,这一过程倒序进行,VCR将存储在录像带中的磁信号转换为电子信号并发送该电子信号至电视机。
[0004] 随着数字技术的发展,VCR开始被数字视频录像机(DVR)所取代。DVR将视频节目的电子信号转换为数字信息并将该数字信息存储在硬盘中,以记录播放的视频节目供之后播放。当使用者回放该记录的视频节目时,DVR将数字信息转换回模拟信号并将该信号发送至将视频节目播放给用户的电视机。同样的,随着数字电视的发展,DVR可以接收数字和模拟的信号并将数字信号直接发送至可以播放数字模式的视频节目的数字电视。现在有很多内容提供者使用数字电缆和卫星技术广播数字节目。通过机顶盒和/或卫星接收装置接收数字节目,并在显示装置上向用户显示该数字节目。因而DVR可以从机顶盒或者卫星接收器接收数字节目信号以记录和播放,也可以整合入该些装置。
[0005] DVR已经越来越受欢迎并广泛地用于录制视频节目。更为重要的是,将DVR用于录制视频节目使得内容提供者可以寻求不同的方式为DVR用户提供内容并丰富视频节目的体验。内容提供者和DVR团体缺少定制的广播内容。本申请人的美国专利申请No.09/665,921描述了一种利用隐蔽字幕区域标记广播内容的方法。本申请人的美国专利No.6,233,389也公开了一种用于识别隐蔽字幕数据中的特定词的方法。
[0006] 需要一种用于识别未修改的视频节目中的独立事件的方法。

发明内容

[0007] 本发明的目的是提供一种方法,包括:基于接收的信号识别视频节目中的一个或多个位置;计算与相关的带内数据模式,所述帧与所述视频节目中被选择的所述一个或多个位置相关联;将所述带内数据模式存储为涉及被选择的所述一个或多个位置的事件标识数据。
[0008] 本发明的另一目的是提供一种方法,其包括:服务器从内容提供商处接收代表视频节目的数据;所述服务器从所述视频节目的隐蔽字幕数据创建哈希值序列数据和与所述哈希值序列数据关联的相应的元数据;其中所述哈希值序列数据包括至少两个哈希值和用于所述至少两个哈希值的相应的偏移;所述服务器将所述元数据与所述哈希值序列数据相关联。
[0009] 本发明的又一目的是提供一种用于在多媒体装置上处理带内数据的方法,包括:
[0010] 接收步骤,用于接收多媒体内容流,所述多媒体内容流包含带内数据;
[0011] 处理步骤,用于处理所述带内数据,包括根据所述带内数据计算至少两个哈希值以及计算对应于第一哈希值的第一时间数据与对应于所述至少两个哈希值中随后哈希值的第二时间数据之间的时间偏移量;
[0012] 确定步骤,用于确定所计算的至少两个哈希值和所述时间偏移量与多个模板中包括所述至少两个哈希值和所述时间偏移量的特定模板相匹配,所述特定模板与多媒体内容流中的一个或多个事件相关联;
[0013] 识别步骤,用于基于与所述相匹配的特定模板相关联的元数据识别所述多媒体内容流中的一个或多个事件。
[0014] 本发明的另一目的是提供一种用于在多媒体装置上处理带内数据的装置,包括:
[0015] 接收模,用于接收多媒体内容流,所述多媒体内容流中包含带内数据;
[0016] 处理模块,用于处理所述带内数据,根据带内数据计算至少两个哈希值以及计算对应于第一哈希值的第一时间数据与对应于所述至少两个哈希值中随后哈希值的第二时间数据之间的时间偏移量;
[0017] 确定模块,用于确定所计算的至少两个哈希值和所述时间偏移量与多个模板中包括所述至少两个哈希值和所述时间偏移量的特定模板相匹配,所述特定模板与多媒体内容流中的一个或多个事件相关联;
[0018] 识别模块,用于基于与所述相匹配的特定模板相关联的元数据识别所述多媒体内容流中的一个或多个事件。
[0019] 本发明的又一目的是提供一种用于在多媒体装置上处理带内数据的方法,包括:
[0020] 读取步骤,用于从可移动存储介质中读取多媒体内容流,所述多媒体内容流包含带内数据;
[0021] 处理步骤,用于处理所述带内数据,包括根据带内数据计算至少两个哈希值以及计算对应于第一哈希值的第一时间数据与对应于所述至少两个哈希值中随后哈希值的第二时间数据之间的时间偏移量;
[0022] 确定步骤,用于确定所计算的至少两个哈希值和所述时间偏移量与多个模板中包括所述至少两个哈希值和所述时间偏移量的特定模板相匹配,所述特定模板与多媒体内容流中的一个或多个事件相关联;
[0023] 识别步骤,用于基于与所述相匹配的特定模板相关联的元数据识别所述多媒体内容流中的一个或多个事件。
[0024] 本发明还有一目的是提供一种用于在多媒体装置上处理带内数据的装置,包括:
[0025] 读取模块,用于从可移动存储介质中读取多媒体内容流,所述多媒体内容流包含带内数据;
[0026] 处理模块,用于处理所述带内数据,根据带内数据计算至少两个哈希值以及计算对应于第一哈希值的第一时间数据与对应于所述至少两个哈希值中随后哈希值的第二时间数据之间的时间偏移量;
[0027] 确定模块,用于确定所计算的至少两个哈希值和所述时间偏移量与多个模板中包括所述至少两个哈希值和所述时间偏移量的特定模板相匹配,所述特定模板与多媒体内容流中的一个或多个事件相关联;
[0028] 识别模块,用于基于与所述相匹配的特定模板相关联的元数据识别所述多媒体内容流中的一个或多个事件。附图说明
[0029] 本申请由以下附图通过示例而并非限定的方式进行说明,相同的附图标记指代相同的元件,其中:
[0030] 图1为用于识别和同步带内数据的系统的实施方式的结构图;
[0031] 图2为用于识别和同步带内数据的装置的组成部分的实施方式的概要结构图;
[0032] 图3A为一种用于产生哈希值序列数据的实施方式的流程图
[0033] 图3B为一种用于产生哈希值序列数据的实施方式的框图
[0034] 图3C为根据实施方式的利用不同的隐蔽字幕(closed-caption)配置产生哈希值序列数据的框图;
[0035] 图3D为根据实施方式的在显示屏幕上显示图标的框图;
[0036] 图4为根据实施方式的在多媒体装置中用于识别和同步隐蔽字幕的方法的流程图;
[0037] 图5A为根据实施方式的用于匹配带内数据模板的状态机的框图;
[0038] 图5B为根据实施方式的哈希值序列数据的框图;
[0039] 图6为根据实施方式的用于同步带内数据的方法的框图;
[0040] 图7为根据实施方式的用于创建和观看一个视频节目中的多媒体片段的方法的框图;
[0041] 图8为实现本申请的实施方式的系统的框图。

具体实施方式

[0042] 在以下描述中,为了便于说明,阐明了多个特定的细节以供透彻地理解本申请。但是应当理解,本申请的实施并不限于该些特定的细节。除此之外,表示在框图中的公知的结构和装置是为了避免对本申请造成不必要的不清楚。
[0043] 实施方式以如下大纲进行描述:
[0044] 1.0概述
[0045] 2.0结构概述
[0046] 3.0用于识别和同步带内数据的方法
[0047] 3.1隐蔽字幕(closed caption)数据
[0048] 3.1.1产生哈希值序列数据
[0049] 3.1.2哈希序列元数据
[0050] 3.1.3在多媒体装置中识别哈希序列
[0051] 3.1.4与隐蔽字幕数据的同步
[0052] 3.2增强电视信号传输数据
[0053] 4.0用于产生和观看定制的多媒体片段的方法
[0054] 4.1用户选择的多媒体节目片段
[0055] 4.2为多媒体节目产生用户初始化事件标识数据
[0056] 4.3创建被标记的多媒体节目内容
[0057] 4.4共享多媒体节目的事件标识数据
[0058] 5.0实施机理
[0059] 1.0概述
[0060] 在上述背景技术部分所述的需求,以及其他在之后的描述中出现的需求和目的会由本申请完成,其中在一个方面包括一种识别和同步带内数据的系统。
[0061] 如上所述,使用DVR录制视频节目使得内容提供者可以寻求不同的方式来为DVR使用者提供内容及丰富视频节目的体验。例如,内容提供者希望在原始视频节目中出现额外的市场和推销内容时,他可以在视频节目的特定部分设置特定的图标、消息或者互动元素以显示给使用者。
[0062] 如本申请人的美国专利No.11/284,487、名称为“用于显示标记的视频标签的方法和装置”,并在此全部引用,通过在播放视频节目期间显示图标或者相关的内容,DVR可以显示视频节目中的标记部分。因此,如果内容提供者希望推销一个即将播出的视频节目,可以在播放关于即将播出的视频节目的广告期间显示一个交互的图标。在观看该广告时,观众可以通过遥控器与该图标进行交互,使用DVR自动地录制该被宣传的即将播出的视频节目。
[0063] 为了实现这些附加的特性,DVR必须与多媒体内容流同步,从而在适当的时间显示额外的内容。通常,在播放该内容之前,该附加的内容就直接被嵌入到多媒体内容流中。这样,DVR就将多媒体内容流中的附加内容和音频视频数据一同进行处理。通过将该内容直接嵌入到多媒体内容流中,内容提供者可以确保该附加的数据可以在其需要显示的位置显示给使用者。多媒体内容流中可能嵌入了使用者不可见的附加信息以辅助DVR进行同步。上述特征在本申请人的美国申请No.09/665921、名称为“隐蔽字幕标记系统”以及美国专利No.6215526、名称为“模拟视频标记和编码系统”中均有所描述,并在此全部引用。
[0064] 本申请的一个实施方式使DVR和其他的多媒体装置可以与多媒体内容流中的带内数据同步。带内数据被用于在用来发送数据的,在此处为音频和视频数据,相同的频道或“带”上发送附加的数据。使用带内数据进行同步的优点在于带内数据在内容流中通常保持完整。因此,因为它通常保持完整和无变化,带内数据是可用于与多媒体内容流进行同步的可靠的资源。
[0065] 带内数据的实例包括隐蔽字幕数据和增强电视(ETV)信号数据。隐蔽字幕流包括关联视频节目的隐蔽字幕数据(通常为隐蔽字幕命令数据和文本),例如广告、连续剧、长篇电影以及其他的用于播放给使用者的多媒体内容。ETV信号数据定义了用于交互式应用的命令和控制信号,该交互式应用与ETV视频节目同步。
[0066] 当多媒体装置接收到包括视频节目和带内数据的多媒体内容流时,装置对带内数据进行处理。多媒体内容流可以由内容提供者无线广播,或者预先通过多媒体装置录制。在视频节目的录制或者回放期间,多媒体装置试图识别带内数据模板。带内数据模板可以从其他装置或者服务提供者作为事件标识数据提供。事件标识数据标识与多媒体内容流中特定事件相关联的带内数据模板。事件标识数据可以被存储在存储装置中并当处理带内数据时进行访问
[0067] 多媒体装置利用一个匹配算法识别带内数据模板。根据实施方式,该匹配算法被嵌入到一个有限状态机。当监听到多媒体内容流中的带内数据时,多媒体装置利用该状态机确定该带内数据是否与带内数据特定模板相匹配。
[0068] 根据实施方式,本地存储在多媒体装置中的事件标识数据还包括元数据。响应于通过监听多媒体内容流中的带内数据来标识模板,元数据指定了一个或多个执行的操作。如果匹配,多媒体装置处理与该模板关联的元数据并执行元数据所指定的适当的动作。例如,多媒体装置可以在显示屏上向用户显示图标。如果使用者对该图标做出反应,元数据可以指示多媒体装置进行必要的反应。此外,响应于对带内数据模板的识别,多媒体装置可以在存储装置中存储与模板相关联的视频片段。多媒体装置还可以利用与所识别的模板相关联的元数据确定视频片段的开始、结尾,或者视频节目中发生特定事件的位置。如此,可以获得一种用于识别和同步带内数据的方法。
[0069] 另一方面,所提供的是一种用于创建和观看用户定制的多媒体片段的方法。为多媒体装置的使用者提供了一种方法,使他们可以选择视频节目中的事件或者视频节目的一部分来进行记录或回放。在第一多媒体装置中,使用者通过控制接口(如遥控器)选择视频节目中的一个或多个位置。多媒体装置从控制接口接收信号,并确定视频节目中的哪些位置被选择了。之后多媒体装置计算与所选位置相关联的带内数据模板并以上述方式将该带内数据模板作为事件标识数据进行存储。
[0070] 关于所选择的位置的事件标识数据可以提供给另一个多媒体装置。利用该事件标识数据,该另一多媒体装置可以匹配与视频节目相关联的带内数据模板以识别视频节目中的位置。
[0071] 根据实施方式,在该视频节目中所选择的位置表现为一个事件或视频片段。此外,根据另一实施方式,当识别了该视频片段,则在该多媒体内容流的适当位置放置一个视频标签,从而在回放该视频节目时使用者可以直接跳转至该位置。
[0072] 此外,在另一实施方式中,一旦产生了表示视频节目的所选位置的视频标签,可以从内容流上移除隐蔽字幕数据,并可将内容流提供给便携式设备。便携式设备利用视频标签表示视频节目中的特定位置或片段。可选择的,除了在多媒体内容流中设置视频标签,还可以将未编辑版本的内容流随同表示所选择的位置的数据一同提供给多媒体装置。该表示所选择的位置的数据可以与多媒体数据流分开提供。便携式装置可以利用该数据识别视频节目中感兴趣的位置并向用户显示该位置。可选择地,便携式设备能够以任意方式利用表示所选位置的数据。
[0073] 另一方面,该发明包括了一种装置和计算机可读介质。
[0074] 2.0结构概述
[0075] 贯穿该申请说明书,使用了许多术语来表示特定的概念,此处提供其定义。其中,“带内数据”为通过与用来发送音频和/或视频数据相同的频道或“带”发送的信号数据。总的来说,带内数据包括在“带内数据流”中。根据一个实施方式,带内数据流可以包括多媒体内容流中的隐蔽字幕数据或增强电视(ETV)信号数据。“带内数据模板”包括任何发生在带内数据流中的特定片段上的带内数据。一个带内数据模板确定了从带内数据流的一部分中所选的带内数据序列。例如,带内数据模板可以是跨越特定的带内数据流片段的隐蔽字幕的选择或者ETV信号数据的集合。“事件标识数据”为标识一个或多个带内数据模板的数据。此外,事件标识数据还可以包括附加数据,例如表示多媒体内容流中的事件的元数据,以及用于响应于对带内数据模板的识别来执行操作的命令数据。事件标识数据可以被提供给多媒体装置,多媒体装置利用事件标识数据识别多媒体内容流中的带内数据,并定位多媒体内容流中的位置。
[0076] 图1表示了一种根据实施方式的用于识别和同步带内数据的系统。该系统包括DVR 102和104,两者均通过任何适当的通信接口通信地连接到网络105,例如通过以太网或者无线网络接口。此外,系统还包括服务器106A、内容提供者106B、个人计算机101A以及便携式装置101B。
[0077] 个人计算机101A可以为个人的计算机装置,例如桌上型电脑或者膝上电脑,并且也通过任何适当的接口连接至网络105。个人计算机101A还与便携式装置101B连接。便携式装置101B为可手持的计算机装置、手机、便携媒体播放器或者任何其他的可以显示多媒体内容的便携式装置。通过网络105,DVR 102和104、个人计算机101A以及便携式装置101B中的每一个都与服务器106A和内容提供者106B相连接。
[0078] 网络105可以由任何在通信系统中用于在装置之间进行数据交换的介质或者机构实现。例如但不限于,网络105可以为局域网(LAN)、广域网(WAN)、以太网或者因特网,或者一个或多个陆地的、卫星的或者无线的链接。此外或可选地,多个连接到网络105的装置还可以彼此之间通过通信链路直接连接。
[0079] 在一个实施方式中,DVR 102和104与提供节目指南数据、图形资源(如字体、图片等)、服务信息、软件、广告、事件标识数据、以及其他形式的能够使DVR 102和104可以不依靠服务器106A就能满足收看者的要求的数据的服务器106A进行通信。
[0080] 内容提供者106B还可以通过无线广播、卫星传输或者同轴电缆直接向DVR 102和104提供多媒体节目内容。多媒体节目内容包括例如长篇电影、电视剧、杂耍节目、脱口秀、广告等用于显示给DVR用户的内容。此外,内容提供者106B还向服务器106A提供附加数据,其中包括宣传数据、图标、网络数据以及其他的供服务器106A为DVR 102和104进行解释和提供给DVR 102和104的信息。根据另一实施方式,内容提供者106B还将多媒体节目内容提供给服务器106A进行处理。服务器106A处理该多媒体节目内容,创建事件标识数据,并将事件标识数据提供给DVR及其他装置。
[0081] 多媒体装置利用该事件标识数据识别和同步多媒体内容流。参见图2,说明了根据实施方式的用于识别和同步带内数据的装置的组件的框图。特别的,图2描述了DVR 200的构成。考虑到示例的目的,在该说明书中将全部参照DVR进行说明。但是,该发明并不限于此,并且用于识别和同步带内数据的处理可以由任何类型的多媒体装置或者计算机系统实现。
[0082] DVR 200通常包括多个组件,包括用于从内容提供者106B或者服务器106A接收多媒体节目内容的输入模块202A。根据实施方式,表示多媒体内容流的广播信号被从内容提供者106B发送至DVR 200。DVR 200从天线、有线电视系统、卫星接收器或者任何经由输入模块202A的传输系统接收该代表多媒体内容流的广播信号。输入模块202A可以包括多个调谐模块,从而可以同时接收和记录多个信号。此外,输入模块202A以多种形式接收电视输入流,例如,国家电视标准协会(NTSC)或者PAL广播,以及数字模式,例如数字卫星系统(DSS)、数字广播服务(DBS)或者高级电视标准协会(ATSC)。DBS、DSS和ATSC基于被称为运动图像专家组2(MPEG2)和MPEG2传输的标准。MPEG2传输是一种将来自电视源发射机的数字信号流格式化的标准,从而电视接收机可以分解该输入的流以在多路传输信号中寻找节目。
[0083] DVR 200还包括记录模块204,其用于记录从输入模块202A所接收的多媒体内容流的一个或多个部分,并将该多媒体内容流作为数字数据流存储到存储装置214中。记录模块204通过将该数字数据流记录到至少一个例如存储装置214的存储装置中记录该输入的多媒体内容流,该存储装置用于保存数字数据流的片段。根据实施方式,存储装置214可以为设置在DVR 200中的硬盘。可选择的,存储装置214可以为任何类型的易失性的和/或非易失性的存储介质,例如闪存,并且可以包括可移动的存储介质例如DVD-ROM光盘。DVR200还可以包括多个存储装置、存储介质或者如上所述的可移动的存储介质的任何组合。
[0084] 在回放期间,数字数据流被转换为模拟信号,之后调制到RF载波上,通过输出模块202B将该信号传送至标准的电视机。输出模块202B可选择地将数字信号传送至电视或者视频监视器。例如,DVR 200可以利用数字视频接口端口(DVI)通过DVI电缆发送数字信号至电视机。可选择地,输出模块202B可以在内部将模拟信号和/或数字信号传送给电视机而不需要使用任何电缆。例如,DVR 200可以为电视机的一部分,这样DVR 200和显示屏之间的通信就可以通过电视机中的系统总线在内部完成。
[0085] 为了记录和存储多媒体内容流以及其他类型数据,DVR 200包括一个存储装置214。存储装置214可以为硬盘、存储器或者设置在DVR 200中的任何形式的存储介质。存储装置214可以不仅用于存储节目或者多媒体内容流,还可以存储DVR 200所使用的附加数据。例如,可以将事件标识数据存储在存储装置214中以备之后的检取。尽管存储装置
214显示为DVR 200的组件,但可选择的,存储装置214也可以设置在DVR200的外部,DVR
200可以利用如通信接口206与存储装置可通信地连接。
[0086] DVR 200还包括通信接口206,用于通过以太网、无线网络、调制解调器或者其他的通信标准通信地连接DVR 200和网络105。在其他实施方式中,通信接口206可以为任何类型的通信接口,例如同轴电缆、红外线、光纤或者串行端口。根据实施方式,利用连接至通信接口206的以太网电缆,将数据从服务器106A通过网络105传输至DVR 200。利用通信接口206,DVR 200可以与PC 101A或者便携式装置101B通过LAN通信连接。
[0087] 输入模块202A接收供DVR使用者录制和回放的多媒体内容流。当输入模块202A接收多媒体内容流时,记录模块204记录该些内容,并且所述内容被处理以供通过输出模块202B显示给使用者。对用于显示的多媒体内容流的处理包括发送该多媒体内容流至存储装置214,随后发送至输出模块202B以供显示。有效的,DVR在节目播放时录制多媒体内容流的片段,允许使用者暂停和重放实况广播而不需要录制完整的视频节目。多媒体内容流的该处理还在本申请人的美国专利No.6,233,389、名称为“多媒体时间牵引系统”(此后称为专利‘389)中进行了说明,并在此全部引用。
[0088] 在DVR 200运行期间,分析模块210对例如为隐蔽字幕数据或者ETV信号数据的带内数据进行监听。在录制多媒体内容流时,分析模块210监视流中的带内数据部分。可选择的,分析模块210可以在任何时间监视带内数据,例如回放多媒体内容流时。
[0089] 根据实施方式,多媒体内容流为MPEG传输流,并且带内数据作为专用数据事件与音频视频数据进行交叉存取(interleave)。由于带内数据是内容流中的不连续事件,因此很容易被如DVR 200这样的多媒体装置识别。此外,在此的原始广播是模拟格式,DVR 200包括多个必要的组件以用于将输入模块202A的多媒体内容流数字化,从而当分析模块210对多媒体内容流进行处理时该多媒体内容流为MPEG传输流格式。如专利‘389中所述,当视频音频被设置在打包基本流(PES)中时,带内数据被抽取。之后带内数据与视频和音频合并以供分析模块210处理并被输出模块202B显示。
[0090] 为了与多媒体内容流同步,DVR 200还包括模板识别状态机212。在实施方式中,模板识别状态机212表示一种用于识别多媒体内容流中的带内数据模板的算法。模板识别状态机212处理包括已知的带内数据模板的事件标识数据,即尝试匹配该带内数据与已知的带内数据模板。
[0091] 根据实施方式,模板识别状态机212为基于状态的算法,其尝试匹配来自分析模块210的带内数据和存储在存储装置214中的事件标识数据中的带内数据模板。如果相匹配,模板识别状态机212将该匹配消息报告给检查与所识别的带内数据模板相关联的元数据的DVR 200。基于该元数据,DVR 200可以执行任何与多媒体内容流进行同步的动作。
[0092] 注意到尽管DVR 200的组件与DVR为上述的关系,但是上述模块也可以整合到电视系统中,从而该些模块与电视机装设在同一机箱内并能实现DVR 200中的任何模块的功能。此外,在其他实施方式中,上述模块还可以设置在任何可以执行上述功能的装置中。因而,通过运行上述组件,DVR 200可以识别带内数据并将操作和事件与带内数据同步。3.0用于识别和同步带内数据的方法
[0093] 如上所述,带内数据可以是任何格式。有两种可能的格式,隐蔽字幕数据和ETV信号数据。但是应当注意,本发明并不仅限于隐蔽字幕和ETV信号数据,还可以实施为其他类型的带内数据。
[0094] 3.1隐蔽字幕数据
[0095] 多媒体内容流中的带内数据的一种类型是隐蔽字幕。隐蔽字幕是一种用于表示显示给用户的隐蔽字幕文本的数据,以及协同视频节目编制进行的隐蔽字幕控制。多媒体装置可以识别隐蔽字幕数据并利用此处所述的处理方法以各种方式使操作和事件与隐蔽字幕数据同步。
[0096] 多媒体装置可以使用隐蔽字幕数据模板来识别和同步于多媒体内容流。可用于隐蔽字幕数据的数据模板类型有很多种。例如,不同的数据模板可以存在于现实的隐蔽字幕文本、隐蔽字幕控制数据以及其他由隐蔽字幕数据所定义的事件中。通过识别隐蔽字幕数据中的不同模板,DVR可以识别多媒体内容流中的事件。
[0097] 识别隐蔽字幕数据中的模板的方式之一是计算代表隐蔽字幕文本的哈希值并识别哈希值序列的模板。因此,根据实施方式,在例如DVR或者服务器的多媒体装置中,对隐蔽字幕数据进行分析,并且产生对应于该隐蔽字幕数据的哈希值。之后该哈希值被编译为关联到特定视频节目或者片段的哈希值序列,并进一步被编译为定义了用于在多媒体装置中进行处理的命令和控制信息的元数据。
[0098] 该哈希序列和元数据以哈希值序列数据的形式被提供给如DVR的多媒体装置。该多媒体装置利用该哈希值序列数据识别和同步于隐蔽字幕数据。多媒体装置利用一个数学运算顺序地比较从隐蔽字幕数据产生的哈希值和本地存储在多媒体装置中的多个哈希序列。根据实施方式,通过状态机实现该数学运算,对所产生的哈希值进行处理,并且无论是否与由哈希值序列数据标识的哈希序列相匹配都进行报告。
[0099] 3.1.1产生哈希值序列数据
[0100] 根据实施方式,为了在计算机系统中识别隐蔽字幕数据并将动作和事件与隐蔽字幕数据相同步,产生哈希值序列数据并提供给如DVR 102和104的装置。DVR 102和104中的每一个都接收一个或多个包含供使用者收看的视频节目的多媒体内容流。如此处所定义的,视频节目可以是长篇电影、杂耍、脱口秀、音乐电视、连续剧、广告、电视直播或者任何播放给DVR用户的多媒体内容。
[0101] 根据实施方式的隐蔽字幕可以被包含在与多媒体内容流相关联的分离的数据流中。例如,如果节目为数字格式,隐蔽字幕数据可以在作为专用数据信道的一部分的MPEG2流中传递。但是,当以模拟格式进行通信传输时,隐蔽字幕以多种标准方式被调制到模拟电视信号的帧消隐期(VBI)中,例如,北美广播电视标准(NABTS)可以被用于将信息调制到NTSC信号的线路10到20上,而FCC要求线路21用于隐蔽字幕(CC)和扩展数据服务(EDS)。但是模拟隐蔽字幕信号由DVR的输入模块解码并传输给DVR的其他组件,就像通过MPEG2专用数据信道传输一样。因此,如上所述,DVR 200的分析模块210可以分析原始广播的、无论是数字格式还是模拟格式的隐蔽字幕数据。关于隐蔽字幕数据在多媒体内容流中的位置的更多信息可以参考本申请人的美国申请No.09/665,921、名称为“隐藏目录标签系统”,并在此全文引用。
[0102] 在其他实施方式中,该隐蔽字幕数据可以以任何可检测的形式包括在多媒体内容流中。服务器106A和DVR 200可以读取和分析该隐蔽字幕数据。
[0103] 作为识别隐蔽字幕数据和将多媒体内容流中的动作和事件与隐蔽字幕数据进行同步的处理的一部分,每个DVR 102和104都接收事件标识数据。根据实施方式,事件标识数据是哈希值序列数据。该哈希值序列数据可以来自于例如服务器106A的多个数据源。例如,服务器106A可以通过计算哈希值和确定用于多媒体设备的哈希序列来预处理节目内容。在节目内容播放给多媒体设备之前,可以由内容提供者106B将节目内容提供给服务器106A。以此方式,服务器106A可以在多媒体设备接收到相关的节目内容之前将哈希序列提供给多媒体设备。可选择的,序列数据可以来自其他的计算机设备,例如其他的DVR。
[0104] 因此,参考图3A,表示根据实施方式的用于产生哈希值序列数据的方法流程图。在步骤302,服务器106A接收来自于内容提供者106B的表示一个或多个视频节目的数据。该数据可以为多媒体内容流形式或者可以将视频节目数据独立于多媒体内容流。随同该视频节目数据,内容提供者106B还为服务器106A提供与视频节目相关联的隐蔽字幕数据。在实施方式中,隐蔽字幕可以嵌入在包含由内容提供者106B所提供的视频节目的多媒体内容流中。此外,内容提供者106B可以提供包含与视频节目相关联的事件信息的元数据。
[0105] 服务器106A定义了用于说明在为观众播放视频节目时由多媒体装置执行的事件或者动作的信息。该信息可以包括用于显示给用户的图标或者附加内容。内容或图标可以设置在多媒体装置中或者由装置通过因特网、网络或者其他DVR获得。此外,该信息可以呈现代表视频节目中某些的事件的数据。例如,如果一个体育节目被分为多个片段和间隔,内容提供者106B可以向服务器106A提供事件信息以指示多媒体内容流中的哪里出现间断。使用该信息,服务器106A可以产生哈希值序列数据使DVR可以自动地识别视频节目的间隔的开始和结束。由于该间断可以被识别,DVR使用者在收看录制的节目时可以请求DVR自动地跳过该间隔。
[0106] 此外,根据实施方式,服务器106A可以从例如DVR的任何多媒体设备获得用于视频节目的隐蔽字幕。例如,DVR 102可以使预先录制的视频节目包括隐蔽字幕数据。DVR102可以通过网络105将该录制的包括与视频节目相关联的隐蔽字幕数据的视频节目发送至服务器106A以供服务器106A进行处理。
[0107] 步骤304,服务器106A将视频节目中的隐蔽字幕分解为用于创建哈希值序列数据的哈希值。服务器106A可以使用多个不同的方法创建哈希值。用于为隐蔽字幕数据创建哈希值的方法可以根据隐蔽字幕流为视频节目的观众显示隐蔽字幕文本的方法而变化。
[0108] 因此,服务器106A清楚采用了什么隐蔽字幕模式来显示隐蔽字幕数据。例如,根据实施方式,可以采用如此处所述的弹出模式(Pop-On)、上卷模式(Roll-Up)、绘制模式(Paint-On)等处理和显示隐蔽字幕文本。根据所采用的模式,哈希值表示将哈希函数应用到一行文本的多个字符的结果。哈希函数H将可变大小的输入变量m转换为固定大小的被称为哈希值h的字符串,即h=H(m)。该用于隐蔽字幕数据的可变大小的输入变量依靠于所采用的如此处所述的隐蔽字幕方法。此外,根据实施方式,在隐蔽字幕数据的一行中所设置的字符数是受限制的。
[0109] 但是,分析器312可以被设置为可以接收一行文本中所包括的任何数量的字符以适应不同的系统。因此,如下所述,分析器312确定何时响应所检测到的隐蔽字幕数据中的不连续的事件而产生哈希值。隐蔽字幕数据中的不连续的事件可以是如“回车”命令的命令。“回车”命令可以被用于定义一行文本的结尾或开始。因此,例如,当一行文本结束了,产生一“回车”以使光标重新设置在新的一行。
[0110] 哈希函数可以有效的用于根据变动大小的文本创建标准的哈希值。根据实施方式,字符可表现为类似于美国信息交换标准代码(ASCII)所定义的16进制数字。此外,很多的隐蔽字幕的实现都可以利用用于显示可选择的符号(例如视频节目的音频的音符)的调整的ASCII标准。
[0111] 根据实施方式,分析模块210对十六进制表示的隐蔽字幕数据执行哈希算法从而产生哈希值。进而,分析模块210依靠所采用的隐蔽字幕方法调整计算哈希值的方法。
[0112] 参见图3B,表示了根据实施方式的用于产生哈希值序列的方法的框图。框310A-310D代表由服务器106A所接收的多媒体内容流中的视频节目的帧。根据实施方式,视频节目以每秒30帧的速率回放。根据该帧频,帧310A-310D中的每一个都显示于特定的时间。例如,帧310A出现在时间=1:00,并且帧310B出现在时间=1:05。因此,假定帧率为每秒钟30帧,帧310B出现在第151帧,或者说帧310A之后的150帧。
[0113] 注意到该帧310A-310D是多媒体内容流中的四个不连续的帧,并且在帧310A-310D之间存在多个帧。在帧310A-310D,为文本A-D分别产生哈希值。文本A-D为包括在隐蔽字幕流中的文本,并且帧310A-310D表示为文本产生哈希值的时间。但是应当注意到,隐蔽字幕文本通常一次显示多于一帧。根据实施方式,隐蔽字幕数据的传输率为每个视频帧2个字节,并且一行完整的文本的发送和接收占用多个帧。例如文本B可以显示在帧310B之前的多个帧上。但是,帧310B在多媒体内容流中的位置是为文本B产生哈希值的位置。
[0114] 进而,由于每帧310A-310D都在特定时间显示,因此创建包括表示帧在视频节目或者多媒体内容流中被显示的时间的相对时间数据的元数据。因此,帧103A在时间1:00显示文本A,帧310B在时间1:05显示文本B。分析器312从帧310A-310D读取文本A-D从而产生哈希值314A-314D以及分别与该哈希值相关联的元数据。但是应当注意,不需要在每次产生哈希值时都创建元数据。
[0115] 在实施方式中,分析器312不分解不显示任何文本的附加帧。但是,由于该些帧不包括隐蔽字幕文本,则不会出发哈希值的产生。如此处所述,分析器312不产生哈希值,直到发生触发事件。依靠于所采用的隐蔽字幕方法,该触发事件可以为多种方式。例如,根据实施方式,该触发事件为对隐蔽字幕数据中的“回车”命令的识别。当在隐蔽字幕数据中检测到“回车”命令时,分析器312产生代表视频节目中若干秒范围内的一行或多行隐蔽字幕文本的哈希值。
[0116] 表320表示了分析器312根据由帧310A-310D表示的视频节目所产生的哈希值列表。表320包括哈希值栏、时间栏和时间偏移量栏。哈希值栏表示分析器312为帧310A-310D产生的哈希值。时间栏表示每个根据适当隐蔽字幕方法产生哈希值的相关时间。该时间值可以与整个多媒体内容流、包括帧310A-310D的特定视频节目或者DVR的现实时钟时间相关。
[0117] 当分析器312产生了用于任意帧的哈希值时,分析器312请求DVR200的定时模块209确定产生哈希值的时间。一旦分析器312使用相同的相对时间单元来产生时间栏中的时间,DVR 200可以准确地确定所产生的哈希值和哈希值序列数据之间的时间差异。该时间偏移量栏说明了对应于哈希值的时间数据与对应于哈希值序列的时间数据之间的差异。
例如,哈希值“3D59”被报告为不存在时间偏移量。在此,确定哈希值“3D59”为哈希序列的开始,因此不需要时间偏移量。但是,对于哈希值“2Z55”,时间偏移量为:5秒,表明哈希值“2Z55”产生在哈希值“3D59”之后大约:5秒时。该信息可以被用于定位视频节目的开始,或者可选择的,在DVR中的视频节目的任何特定时间或者位置。该采用时间偏移量信息进行计算机系统和视频节目的同步的处理将在之后的3.3部分进行详细描述。
[0118] 因此,分析器312对视频节目中的隐蔽字幕进行分解。参考图3A,一旦分析器312将视频节目中的隐蔽字幕分解为哈希值,服务器106A在步骤306进行对应于视频节目哈希序列的生成。当分析器312完成了视频节目或者视频节目片段的哈希值的生成,分析器312根据所产生的哈希值创建哈希值序列。
[0119] 哈希序列中的哈希值的个数以及哈希值所代表的时间量可以由分析器312、服务器106A或者任何其他装置或者希望控制哈希值序列数据的创建的用户任意地设置。例如,如果内容提供者106B将某视频节目提供给服务器106A进行分解,内容提供者106B还指出在该视频节目一个持续5到10秒的特定部分中,要在屏幕上显示用来请求用户输入的图标。图3D表示了根据实施方式的将图标显示在屏幕上的图示。根据图3D,显示屏400显示图标404。图标404包括请求用户输入404A的对话。在该示例中,内容提供者106B请求服务器106A在视频节目的特定部分将该图标404显示在显示屏400上。此时,分析器312可以被设置为产生所选择的视频节目片段至少持续10秒的哈希值。这样确保至少为视频节目所选部分产生哈希值,从而提供给计算机系统足够的时间来识别哈希值的完整序列并准确地标识视频节目或部分的视频节目。此外,为了补偿延迟或误差幅度,分析器312可以被设置为产生超出所选择的视频节目片段的哈希值。
[0120] 可选择的,任何哈希值序列数据的长度都由哈希序列中的所产生的每个哈希序列的一致程度所决定。例如,在某些情况下,相同的隐蔽字幕可以获得相同的哈希值。如果两个视频节目包括非常相似的隐蔽字幕,例如两个只有很少隐蔽字幕文本的广告,开始他们可能会为节目的第一部分产生相同的哈希值。但是,分析器312所产生视频节目的哈希值越长,哈希序列越独特。因此,分析器312可以被设置为选择任意个哈希值加入哈希序列以控制哈希值序列数据和视频节目匹配的精确度。此外,当分析器312产生哈希值时,服务器106A可以将元数据与哈希值序列数据相关联。该关联的元数据可以指示如上所述的显示要求用户输入的图标400。
[0121] 产生哈希值时,分析器312包括对应于产生每个哈希值的时间数据。但是,根据隐蔽字幕所使用的方法,相同的隐蔽字幕或者甚至同样的哈希值可能被产生于不同的时间。
[0122] 参见图3C,表示了根据实施方式的不同隐蔽字幕方法。隐蔽字幕数据分别以弹出(Pop-Up)模式340、上卷(Roll-Up)模式342、或者绘制(Paint-On)模式346显示给用户。图3C示出了表示来自隐蔽字幕流的数据的输入的CC数据区域以及表示输出或显示隐蔽字幕文本给使用者的显示区域。
[0123] 3.1.1.1弹出(Pop-Up)模式
[0124] 在弹出模式340中,根据实施方式,在屏幕上一次显示文本的第1行到第4行,停留一段时间之后被下一些隐蔽字幕文本行代替。
[0125] 在弹出模式340,输入的隐蔽字幕数据被设置在背面缓存(BackBuffer)350B,并且一旦完整的特定帧或一系列帧的文本准备好进行显示就随一个“交叉(flip)缓存”指令进行显示。以此模式,当发出“交叉缓存”命令时产生用于被显示的文本的哈希值。当发出了“交叉缓存”指令时,背面缓存350B中的文本被传送到用于将文本显示在显示屏350上的前面缓存(Front Buffer)350A中。
[0126] 在弹出模式,只定义了两个事件来改变显示器360上的可视文本。该些事件包括(1)缓存中的内容的交叉以将背面缓存350B的内容置于前面缓存350A中,以及(2)抹去显示在显示屏360上的显示文本。在弹出模式产生哈希值的问题仅在于对背面缓存器中的文本保持追踪,并且一旦运行了交叉命令或者擦除显存的命令,为背面缓存350B中的文本创建哈希值。
[0127] 因此,在弹出模式中,分析器312保持对设置在背面缓存器350B中的文本的追踪。在对背面缓存器350B监视的期间,分析器312相应于背面缓存器350B中积累文本的完全的值更新哈希值。最初,背面缓存器350B为空。在文本被添加到每一行的期间,分析器312持续等待直到运行了“光标定位”命令。光标定位命令被用于将文本光标放置到新的一行。
基于该光标定位命令,分析器312确定已完成行,并为该行计算哈希值。
[0128] 最后,前面缓存器350A被清空,并且通过运行交叉缓存命令背面缓存器350B交叉换位到前面。注意到该背面缓存器350B包含多行文本。为了为该多行文本产生一个单一的哈希值,为该在前面缓存器350A中的所有行文本生成一个累计哈希值。一旦背面缓存器350B交叉换位为前面缓存器350A就创建该累计哈希值。因此,当在背面缓存器350B中编译文本的期间,分析器312清楚上述的每一行文本的哈希值。当交叉到前面缓存器350A,每一行的哈希值被累计在一起以创建累计哈希值。
[0129] 根据实施方式,当分析器312创建该哈希值,分析器312还从计时模块209接收对应于该多媒体内容流的时间数据。计时模块209表示相对于多媒体内容流的开始时间、日历时钟时间、最近哈希值的时间或者相对于多媒体内容流中的视频节目开始的时间的该多媒体内容流的计时。因此,参见图3B,分析器312确定帧310A的文本A已经在时间=1:00交叉换位到前面缓存器350A,并且具有了相应的哈希值“3D59”。
[0130] 3.1.1.2上卷(Roll-Up)模式
[0131] 显示隐蔽字幕的另一模式为上卷模式342。在上卷模式342中,通常用于例如新闻或者脱口秀的直播节目,打出所说的文本并且一接收到文本就在电视上显示。一旦接收到“回车”命令,文本就上卷(scrool up)。回车命令是一种使得光标返回该行起点的命令。因为光标返回到新的一行的起点,回车可以被用于表示设置了新的一行。根据实施方式,文本可以在最初设置在显示屏360,从而帧X包括文本行1,之后输入的CC数据350C包括例如文本行2-4的随后设置的文本。当准备显示文本行2时,将文本行2“上卷”到显示器,使文本行1上移到显示屏360的帧Y。在实施方式中,帧Y只允许同时显示两行文本。因此,在任何后续帧中,当文本行3准备显示时,文本行1将被删除,并且文本行2被移动至显示器360上文本的第2行。可选择的,上卷模式的隐蔽字幕可以规定任何数量的行。
[0132] 根据实施方式,为了在上卷模式产生哈希值,分析器312监视文本的行,并监听回车命令。一旦分析器312确定发生了一个这样的事件,分析器312为相应文本产生哈希值。因此,当完成一行文本时产生哈希值,并且隐蔽字幕数据包括一个标志行尾的不连续的用户可视事件。相对于为显示在屏幕上的所有行文本创建累计哈希值,上卷模式产生和报告为每个显示在屏幕上的可见行文本生成的哈希值。
[0133] 例如,根据实施方式,当文本被上卷一行时分析器312可以确定该文本行完成,例如帧Y中的文本行1。当检测到输入CC数据350中的“回车”命令时,分析器312可以检测到文本行已完成。因此,参见图3B,当在帧310B上检测到“回车”命令后,分析器312确定相应于文本B的文本行已经完成,并在时间=1:05计算哈希值“2Z55”。
[0134] 3.1.1.3绘制(Paint-On)模式
[0135] 另一种隐蔽字幕模式为绘制模式344。绘制模式344与弹出模式340相类似,除了该输入CC数据350D直接设置到前面缓存,并且由于前面缓存中的内容被直接提供给显示器,收看者可以当它被设置时就看到该文本。在实施方式中,为了产生哈希值,分析器312持续等待直至在完成了一整行文本后发生第一次用户可见事件。因此,在绘制模式344,产生哈希值的方法包括在显示文本时累计一行的文本,并等待该行完成后的第一次用户可见事件,以为该行产生哈希值。该第一次用户可见事件可以为另起一行、清屏、或者用于显示弹出模式中新的一行的“交叉缓存”命令。
[0136] 3.1.2哈希序列元数据
[0137] 无论采用哪种类型的隐蔽字幕模式,一旦分析器312产生了对应于视频节目的哈希值,该哈希值都随同一些附加数据,如时间和每个哈希值的时间偏移量数据,被设置到表320中。表320中的累计数据表示例如服务器106A产生的哈希值序列数据。
[0138] 一旦产生了哈希值序列数据,附加的元数据将被关联到该哈希序列。根据实施方式,附加元数据可以包括用于根据对哈希序列的识别而执行动作的命令和控制数据。
[0139] 因此,参见图3B,表330包括代表哈希序列和关联到该哈希序列的元数据栏。根据实施方式,哈希序列3D59、2Z55、A6E3和9Y95包括说明事件1的元数据。事件1可以为在多媒体内容流中的特定时间发生的事件。例如,事件1可以定义了视频节目中的一个特定的位置,例如体育节目中的一个中断。定义该事件1的元数据可以包括例如对视频节目的说明以及在识别事件后进行的动作的附加信息。例如,事件1可以包括标签信息,用于在事件1所在的节目流中的时间位置插入标签。该标签使得用户可以直接观看事件1,或者在回放时跳过事件1。多媒体内容流中的标签的功能在之后会进行详细说明,并且它还在本申请人的美国申请No.09/665,921、名称为“隐蔽字幕标签系统”中进行了说明,并在此全部引用。
[0140] 参见表330,元数据还可以说明特定的动作,例如对应哈希序列A6E3、9Y95、E4E9和9F4U的动作1。根据实施方式,动作1可以说明当识别了该哈希序列后DVR所进行的特定动作。例如,动作1可以包括向DVR用户显示图标。定义动作1的元数据可以包括关于该动作的持续时间的定时信息,以及关于在连接到DVR的显示装置上显示图形和图标的信息。注意到由元数据说明的动作可以发生在不同于识别该哈希序列的时间。例如,元数据可能指明该动作应当发生在识别该哈希序列之前的时间。在这种方式下,如果从存储器中回放该节目,DVR向前扫描,进行哈希比较,从而知道在适当的时间执行该动作。
[0141] 在实施方式中,动作1可以包括供DVR处理的命令数据。该命令数据可以使DVR记录和存储多媒体内容流的一个或多个部分。例如,在特定视频节目的直播期间,如果DVR识别到哈希序列C、D、E、F,并且处理对应该哈希序列的命令数据,该命令数据使DVR立刻开始录制该节目。在实施方式中,该命令数据可以使DVR在识别到哈希序列后的任何时间开始录制直播节目。
[0142] 此外,与任何哈希序列相关联的元数据不限于被指定的事件或动作,还可以为任何可以被DVR或者接收元数据的装置所理解和处理的数据。
[0143] 3.1.3在多媒体装置上识别哈希序列
[0144] 当服务器106A累计哈希值序列数据时,服务器106A发送该哈希值序列数据至DVR或者其他使用哈希值序列数据来识别隐蔽字幕并利用隐蔽字幕与视频节目同步的装置。参见图4,表示识别隐蔽字幕数据和使动作和事件与隐蔽字幕数据同步的处理过程流程图。在步骤402,DVR 102从服务器106A接收如图3B中的表330中所示出的哈希值序列数据。在实施方式中,以公知的“拉(pull)”处理,在向服务器106A请求哈希值序列数据后DVR 102接收哈希值序列数据。可选择的,以公知的“推(push)”处理,服务器106A可以无需DVR102请求就自动地将哈希值序列数据发送至DVR 102。当DVR 102接收到哈希值序列数据时,将该哈希值序列数据存储到存储装置214中。
[0145] 在步骤404,DVR 102接收用于显示给用户的多媒体内容流。根据实施方式,可以由输入模块202A接收该多媒体内容流,并显示该当前由内容提供者106B广播的多媒体内容流。可选择的,该多媒体内容流可以从DVR 102的存储装置214中进行回放。此外,在实施方式中,DVR 102可以通过广播或者因特网接收多媒体内容流而无需向使用者显示该多媒体内容流。因此,DVR 102可以从内容提供者106B接收内容并将内容存储在存储装置214中。在步骤406录制或回放多媒体内容流时,DVR 102开始分析与多媒体内容流相关联的隐蔽字幕数据。
[0146] 分析模块210以参照图3B中的服务器106A所描述的方式分解隐蔽字幕数据。因此,分析模块210根据所采用的隐蔽字幕方法(即Pop-Up、Roll-Up或Paint-On)将隐蔽字幕数据分解为多个哈希值。在产生哈希值时,分析模块210将哈希值以及与每个哈希值相关联的时间戳发送至模板识别状态机212,该模板识别状态机212用于将该哈希值与下载、存储或者由DVR 102从服务器106A或其他任何资源接收的哈希值序列数据进行比较和匹配。
[0147] 在步骤408,模板识别状态机212被用于监视由分析模块210产生的哈希值,并比较该哈希值与在步骤402接收的哈希值序列数据。根据实施方式,该模板识别状态机212根据由步骤402所接收的哈希值序列数据构成的状态机。
[0148] 出于示例的目的,假定模板识别状态机212采用包括节点和分支的树结构。树结构中的每个节点都代表哈希值序列中的一个哈希值,并且树结构中的每个“分支”都代表由哈希值序列数据标识的完整的哈希序列。该结构在图5A中有所说明。模板识别状态机212通过遍历树结构的节点来匹配所产生的哈希值。在任何所给出的节点,如果存在匹配,模板识别状态机212前进到下一个节点。如果之前的节点为哈希序列的结尾,则存在匹配,并且模板识别状态机212则表明识别了一个哈希值序列,接下来使DVR 200执行下面将描述的操作。
[0149] 在步骤510,模板识别状态机212确定分析模块210所产生的哈希值是否与哈希值序列数据中所包括的哈希值相匹配。只要哈希值相匹配并且哈希值事件的时间差在预定哈希序列的阈值之内,则报告存在一个匹配。
[0150] 参见图5A,根据实施方式,表示了一个模板识别状态机形式的哈希值序列数据。包括多个分别代表哈希值序列中的单个哈希值的节点的状态机510被用来表示哈希值序列数据。根据实施方式,状态机510包括开始节点502,它表示状态机的开始状态。
[0151] 根据实施方式,根据任何在哈希值序列数据中被标识的哈希序列中的第一哈希值,状态机510中的节点被索引。在状态机510初始化后,首先确定该第一节点504的哈希值是否与分析模块210所产生的哈希值相匹配。如果不匹配,状态机510继续遍历索引501,继续检查下一个节点520。应注意尽管很少见,但是不同的哈希值序列可能开始于相同的哈希值。因此,代表开始于哈希值“3D59”的哈希序列的节点504可以包括两个不同的分支,分别代表不同的两个哈希值序列(1)3D59、2Z55、A6E3和9Y95,或者(2)3D59、2Z55、E4E9和9F4U。
[0152] 根据实施方式,状态机500是DVR 200中不重要的组件,意味着状态机500被设置为在DVR 200运行期间只占用最小系统资源。因此,尽管状态机500必须遍历上万个节点以确定是否识别出一个哈希值序列,但是运行状态机500并不需要什么系统资源。因此,在状态机500运行期间,DVR使用者不会注意到在回放多媒体内容时出现任何延迟或者退化。
[0153] 根据实施方式,通过使用索引501,状态机500的效率被进一步提高。通过在索引501中对每个哈希序列中的第一个哈希值进行索引,状态机500可以很快地排除大量的进行比较的哈希序列,而不需要占用大量的系统资源。
[0154] 为了开始处理分析模块210所产生的哈希值,状态机500被初始化并开始检测索引501中的节点。根据实施方式,分析模块210所产生的第一哈希值为“3D59”,对应于图3B的帧310A中的文本A。因此,状态机500被初始化并检测该代表哈希值“3D59”的第一节点504,寻找到相匹配的并给出肯定的输出。根据实施方式,任何匹配都使状态机右侧前进,而任何不匹配都使状态机向低一级遍历。但是,在其他实施方式中,状态机500可以被构造为任何适于检测哈希值的形式。
[0155] 但是,假定最初由分析模块210报告的哈希值为“2Z55”。代替在第一节点504找到匹配,状态机510将报告一个否定输出并继续前进到索引501中的下一个代表哈希值为“2Z55”的节点520。可选择的,如果在特定节点没有发现匹配,状态机510可以前进到失败节点515,从而使状态机复位并重新从开始节点502开始。
[0156] 因此,假定在索引501的第一个节点就出现了匹配,状态机212等待下一个来自于分析模块210的所产生的哈希值。在实施方式中,下一个所产生的哈希值是“2Z55”。因此,状态机500比较该“2Z55”和下一个节点506的值。由于下一个节点的值也是“2Z55”,状态机500将发现一个匹配并前进到节点508。但是应当注意,如果没有在节点506找到匹配,状态机500不会前进到失败状态,而是尝试比较节点507的值“E4E9”。这样,节点506表示状态机500的一个交叉,从而两个哈希值序列分别开始于哈希值“3D59”和“2Z55”。
[0157] 响应于接收到由分析模块210所产生的哈希值,状态机500继续遍历如图5所示的每个节点,直至没有发现匹配或者直至到达了被标识的哈希序列的最后。此外,在匹配哈希值与哈希值序列中的每一个哈希值时,状态机500还可以比较分析模块210所产生的哈希值和哈希序列中的哈希值之间的时间偏移量。如果哈希值匹配并且哈希值的时间偏移量也匹配,状态机500则确定发现一个匹配。在其他实施方式中,状态机500可以允许哈希序列中的哈希值的时间偏移量存在一个“缓冲”或者误差幅度而判断存在匹配。根据该特定示例,状态机500在接收到由图3B所示的分析器312所产生的哈希值后确定发现与哈希序列3D59、2Z55、A6E3和9Y95相匹配。
[0158] 当没有发现匹配时,状态机500复位至开始节点502,并且当从分析模块210接收到下一哈希值时重新初始化该匹配处理。
[0159] 注意到贯穿该DVR 200的运行,状态机500持续尝试匹配哈希值与哈希值序列。当确定了一个完整哈希序列的匹配时,在步骤412,状态机500报告一个成功的匹配,使DVR
200检查与该哈希值序列数据相关联的元数据。
[0160] 在其他实施方式中,状态机500利用哈希列表来匹配哈希值和哈希值序列数据。哈希列表是一种由阵列(或者存储待搜索的数据的表)和映射函数组成的数据结构。哈希列表通常被用于搜索算法,并且该数据结构是本领域的公知技术。
[0161] 此外,在其他实施方式中,DVR 200包括多个状态机。通过同时运行多个状态机,可以识别哈希值的相同序列中的多个模板。例如,假定哈希值“X6Y6、A4Z4和B1C1”从多媒体内容流中被产生。并且,假定存在两个已知的模板“X6Y6、A4Z4”和“A4Z4、B1C1”。如果在DVR 200中运行单独一个状态机,则只能识别该些模板中的一个。但是,由于DVR200同时运行多于一个的状态机,DVR 200可以从哈希值“X6Y6、A4Z4和B1C1”中同时识别模板“X6Y6、A4Z4”和“A4Z4、B1C1”。因此,在其他实施方式中,DVR 200可以包括多个状态机,每个状态机都可以表示带内数据的不同模板。
[0162] 参见图5B,表示根据实施方式的哈希值序列数据。该哈希值序列数据包括序列数据520A和元数据520B。序列数据520A相应于代表哈希值序列的数据以及出现哈希值的近似时间差。因此,如上所述,状态机500遍历如图5A所示的节点直至在特定级别上或者直到哈希序列的结尾都没有发现匹配。根据实施方式,模板识别状态机212确定哈希值序列3D59、2Z55、A6E3和9Y95,基于每个所产生的哈希值的时间差,与来自分析模块210的该相同的哈希值的生成相协调。
[0163] 3.1.4与隐蔽字幕数据同步
[0164] 当DVR确定发现了一个模板匹配,它利用如上所述的元数据来与多媒体内容流同步。特别是DVR利用元数据来确定多媒体内容流中的事件或者视频节目的相对位置。因此,当DVR 102确定产生了一个特定的哈希值序列时,DVR 200将参考元数据520B来确定将要进行的动作。元数据520B可以包括例如命令和控制信息、节目计时、内容信息、显示指令和图形信息的信息。此外,元数据520B还可以包括命令数据522。
[0165] 一旦模板识别状态机212确定了来自于多媒体内容流的哈希值与特定的哈希序列相匹配,在步骤412,DVR检查与哈希序列相关的哈希序列元数据并因而响应。依据该元数据的内容,例如DVR 102的DVR能以多个不同的方式响应于对哈希值序列的识别。例如,元数据可以包括用于使DVR可以识别视频节目中的事件、与视频节目或者全部多媒体内容流同步、向用户显示信息或者用于录制之后的节目的信息。此外,在其他实施方式中,元数据可以包括用于使DVR相对于多媒体内容流、视频节目或者DVR操作执行任何动作(例如跳过广告及其他内容)。
[0166] 因此,参见图6,表示了根据实施方式的用于使动作和事件与带内数据同步的方法的框图。表606表示哈希值序列数据,表608表示对应于该特定哈希序列的元数据。在该特定的示例中,表606保存哈希序列3D59、2Z55、A6E3和9Y95,以及每个哈希值的时间和时间偏移量。如上所述,该信息从服务器106A或者其他数据源接收,并以模板识别状态机212的形式存储在DVR 102中。内容600代表包含有一个或多个视频节目的多媒体内容流。在播放或者录制多媒体内容流600期间,DVR利用在表示节目内容的节目捕捉条上滑动的滑块604指示其在内容流600中的回放位置,如本申请人的美国专利No.6,850,691和美国申请No.10/915,990、名称都为“多媒体前进指示系统”,并在此全部引用。在该示例中,滑块604当前处于多媒体内容流或者视频节目的时间1:12处。当播放内容流600时,利用分析模块,DVR在时间:00产生哈希值“3D59”,在时间:05产生哈希值“2Z55”,在时间:10产生哈希值“A6E3”,在时间:12产生哈希值“9Y95”,该时间位置当前由滑块604指示。
[0167] 利用所产生的哈希值和相应的时间数据,DVR确定哈希值与表606中的哈希值序列数据相匹配。根据实施方式,DVR可以不仅比较实际的哈希值,还进行每个哈希值的时间偏移量的比较来确定哈希值和哈希值序列数据的匹配。
[0168] 确定了匹配之后,DVR确定其在节目中所处的位置。特别地,DVR根据哈希值序列数据确定滑块604处于指定的节目开始后12秒的位置。接下来,DVR检测表608中的元数据信息,以确定对应于该哈希值序列数据所应当采取的动作。根据实施方式,表608指示事件1发生在时间:10。通过检测滑块604的当前位置,DVR 102可以计算出事件1发生在当前滑块位置之前的:02秒。如果事件1定义为向用户显示图标10秒,DVR 102则立刻显示该图标8秒,因为它已经得知该事件1已经开始了2秒。如果该播放的节目是录制的或者使用者收看的虽然是直播节目但是回放到实际播放的之前的位置,DVR 102可以扫描到当前回放的位置之前并计算当前回放位置之前的哈希值。这使得DVR 102可以更为精确的执行与事件相关联的动作。
[0169] 进而,检查表608之后,DVR 102可以确定在视频节目的时间:40时所发生的事件2。检测视频节目的当前位置后,DVR 102确定事件2发生在最近哈希值的:28秒之后。因为DVR 102可以确定多媒体内容流中事件1和2的确切位置,DVR 102可以被编程以任何方式对该些事件进行反应。例如,根据实施方式,DVR 102可以在事件2期间被命令向使用者显示图标。在其他实施方式中,DVR 102被编程在事件2时开始录制多媒体内容流。以此方式,用于识别事件1或2的信息可以被用于识别视频节目600中的不同事件。此外,在其他实施方式中,表608可以定义其他的基于所识别的哈希序列的由DVR执行的事件或者动作。例如,在识别了哈希序列3D59、2Z55、A6E3和9Y95之后,表608可以指示DVR立刻在显示装置上为使用者显示交互图标。
[0170] 进而,一旦DVR 102识别了视频节目中的事件1和2,DVR 102可以在多媒体内容的事件1和2的位置插入视频标签。根据实施方式,视频标签是将包括视频和音频数据的多媒体内容流(例如MPEG-2流)间隔开的数据对象。在将视频标签设置到多媒体内容流中之后,存储该多媒体内容流以供之后回放。当进行回放时,DVR 102处理该多媒体内容流并在事件1和2的位置发现视频标签。以此方式,一旦在多媒体内容流中设置了视频标签,DVR就不再需要为了与该多媒体内容流同步而识别隐蔽字幕数据了,因为事件和动作已经被在回放期间随视频和音频数据一同被自动的处理的视频标签所定义。视频标签已经在本申请人的美国申请No.09/665,921、名称为“隐蔽字幕标签系统”的申请中进行了进一步的说明并在此全部引用。
[0171] 尽管上述处理与DVR 102相关联,但是该方法也可以由任何其他的可以执行该步骤的装置执行,如DVR 104、PC 101A或者便携式装置101B。
[0172] 3.2增强电视信号数据
[0173] 另一种可以被用于识别带内数据模板的带内数据为增强电视(ETV)信号数据。ETV使得交互式的应用可以与多媒体内容流中的其他视频服务一起在“带内”传送。为了同步该视频节目和带内应用,ETV利用与视频节目的计时相协调的命令信号。更多的关于用于数据的带内传输的发送信号能的信息在开放电缆(OpenCable)增强TV应用消息规范(ETV-AM-I02)中有效,该规范规定了用于与电视服务时间线相同步的数据的带内传输的信号传输能力。
[0174] 根据实施方式,ETV功能的多媒体装置包括用于接收和处理ETV命令信号的ETV代理。ETV命令信号使多媒体装置在特定时间发现、下载、启动和终止ETV应用。因此,根据实施方式,多媒体装置可以识别定义ETV多媒体内容流中的应用开始和结束的ETV信号数据的模板。这可以利用分析模块210对来自多媒体内容流的ETV信号进行识别和抽取来实现。此外,ETV命令信号还包括附加信息,例如说明ETV的内容或者节目安排的信息。此外,ETV命令信号与时间数据相关联以在正确的时间处理ETV应用。采用该时间数据,多媒体装置可以识别多媒体内容流中的相应位置。因此,多媒体装置可以理解EVT信号数据以确定(a)存在ETV事件(b)该ETV时间与视频节目中的特定部分或者片段同步。
[0175] 因此,类似于在隐蔽字幕中识别哈希值序列,模块识别状态机212被用于识别ETV命令数据中的模板和时间信息。因为ETV应用已经与相应的视频节目同步,多媒体装置可以通过识别ETV信号数据的模板与多媒体内容流同步。如同隐蔽字幕,一旦多媒体装置识别了一个模板,多媒体装置可以类似于如上所述的关于如何将操作和事件与隐蔽字幕数据同步来执行操作。
[0176] 4.0用于创建和观看用户定制多媒体片段的方法
[0177] 4.1多媒体节目片段的用户选择
[0178] 根据实施方式,多媒体内容流中的视频节目为用户显示在如电视屏幕或者计算机监视器的显示装置上。在其他实施方式中,视频节目可以显示在如便携式多媒体收看装置的显示装置上。DVR使用者可以利用如遥控器的控制接口对视频节目的回放进行控制。
[0179] 使用者可以划分出多媒体节目中的部分或者标出多媒体节目内容中感兴趣的位置。例如,使用者可以标志出所录制的足球赛中最佳片段。一旦使用者标注了该片段,他可以将该结果哈希序列发送至朋友的DVR。在DVR之间传送数据的方法在本申请人的美国申请No.10/220,558、名称为“用于网络访问个人电视服务的系统和方法”以及美国申请No.10/741,596、名称为“安全的多媒体传送系统”的申请中进行了说明,并在此全部引用。该朋友的DVR可以在该朋友回放他所录制的比赛时显示该用户所标注的赶兴趣的位置。该朋友的DVR沿着节目进度条显示该感兴趣的点,例如,显示在他的显示装置上。
[0180] 在回放该比赛之前,通过计算所录制的比赛的哈希值并比较该哈希值和所接收的哈希序列,该朋友的DVR预处理该录制的比赛。从而DVR可以在所录制的比赛中定位兴趣点并为该朋友显示该兴趣点。该朋友可以利用他的遥控器跳到该兴趣点。
[0181] DVR使用者可以将自己设置的节目的兴趣点分发给其他使用者。使用者还可以将元数据附加在每个兴趣点上以使DVR向收看者显示文本,例如“这个场景有意思吧?”。使用者还可以将元数据附加在兴趣点上以使DVR从该兴趣点跳过X秒或者在跳到下一个兴趣点之前显示X秒的节目。这使得使用者可以创建他自己的节目缩略版并可分发给他的朋友、家人、同事、学生、兴趣组等。
[0182] 并且,DVR可以被指导对多媒体内容的片段或者整个内容流进行重新整理。当广播者搞乱了多媒体内容流的片段时需要这样做。因此,未被授权的观众无法清楚地观看多媒体内容流。但是,DVR为被授权的观众将该些片段设置为正确都顺序。此外,使用者可以通过对多媒体内容流的片段都重新设置来创建他们自己的用户定制的多媒体节目。之后使用者可以存储该定制的多媒体节目或者发送该定制的多媒体节目给朋友或者其他DVR用户。该定制的多媒体节目可以包括从不同的多媒体内容流中取出的片段或者预先存储在DVR存储装置中的片段汇编。
[0183] 利用如上所述的识别带内数据和使计算机系统与带内数据同步的方法,DVR可以容易的执行该些功能。
[0184] 例如,当用户要求保存或者显示视频节目中的特定内容的位置时,DVR用户可以按下控制接口的按钮以进行指示。该控制接口发送信号至DVR,DVR将该信号作为用户选择进行解释。之后DVR可以确定用户从控制接口所发送的信号所代表的节目中的时间,并计算作为该点先导的带内数据模板。
[0185] 4.2为多媒体节目创建用户初始化事件标识数据
[0186] 参见图7,表示了根据实施方式的用于创建和收看视频节目中的多媒体片段的方法的框图。当包括如隐蔽字幕(CC)数据702的带内数据的多媒体内容流700A在DVR或者其他装置中被录制或者重放时,时间戳形式的时间信息被关联到带内数据。特别地,如上所述,包括带内数据的多媒体内容流被打包为分离的音频、视频和数据帧。在打包时,为每个帧都设置有一个时间戳。该些时间戳被用于追踪多媒体内容流或者视频节目中的带内数据的时间。
[0187] 当用户收看到他/她想要录制或者进行标记的视频节目中的片段时,用户通过选择视频节目中的位置使DVR 102标记该片段。根据实施方式,在显示屏上显示的图形用户界面包括节目进度条700B以及滑块708。该滑块表示节目的当前回放位置。当使用者想要选择视频节目中的一个位置时,使用者等待该滑块到达所需位置,并且利用例如遥控器的控制接口选择所需位置。当使用者按下遥控器的按钮,从遥控器向DVR发送信号,使DVR为使用者显示一个下拉菜单。该下拉菜单可以包括用于供使用者选择视频节目中的所需位置的操作项。根据实施方式,可供使用者使用的选项包括书签、跳转到该位置、关联注释,或者任何其他的可以对视频节目进行的操作。
[0188] 根据实施方式,在播放视频节目时,DVR用户利用控制接口选择位置704。当DVR从控制接口接收到该信号时,它认识到用户进行了选择并记录所选择的位置时间:10。在该点上,DVR创建事件标识数据。如上所述,事件标识数据可以包括带内数据模板或序列,以及用于识别多媒体内容流中的动作或者事件的元数据。
[0189] 此外,带内数据的一种类型为隐蔽字幕数据。根据实施方式,为了创建事件标识数据,DVR搜索足够的在位置704之前的隐蔽字幕数据以创建唯一的哈希值序列。表710表示视频片段700中的哈希值序列数据。该哈希值序列数据可以表示哈希值、哈希值的时间以及每个哈希值的时间偏移量。根据实施方式,该时间偏移量表示产生哈希值的时间和产生视频节目中之前的哈希值之间的时间差。
[0190] 因此,表710识别哈希值“W5W4”和“M5M5”中哪一个在位置704之前。根据用于显示隐蔽字幕文本的特定的隐蔽字幕方法以及哈希值的时间偏移量,DVR记录该每个哈希值所产生的时间。此处,哈希值“W5W4”出现在节目开始后经过了时间:06的位置,并且是序列中的第一个哈希值,时间偏移量为0。哈希值“M5M5”出现在节目开始后时间:08的位置,并且在哈希值“W5W4”之后2秒。当DVR识别该哈希序列“W5W4,M5M5”时,DVR可以确定所需要的动作恰好在实际回放位置704之前并执行该适当的动作,例如显示图标。元数据可以表示在识别的哈希序列“W5W4,M5M5”之后2秒显示图标。
[0191] 此外,使用者还可以选择第二位置706,表示出现在:20的视频片段所需部分的结尾。根据实施方式,DVR分析时间:10和:20之间的CC数据,产生三个哈希值“Z1B1、E5Y5和A2R2”,并记录产生哈希值的时间。因此,在该特定实施方式中哈希值“Z1B1”首先出现(在此为时间:12),哈希值“E5Y5”出现在2秒之后,哈希值“A2R2”出现在“E5Y5”4秒之后。综合地,哈希值“Z1B1、E5Y5和A2R2”表示第二位置706的哈希序列。对应于节目的元数据将对此进行说明。
[0192] 因此,在表710中,由于是序列中的第一个哈希值,哈希值“Z1B1”出现在时间0,哈希值“E5Y5”出现在哈希值“Z1B1”2秒之后,哈希值“A2R2”出现在哈希值“E5Y5”4秒之后。可选择的,时间偏移量可以与视频节目、多媒体内容流、视频节目或者流中的位置或者电视片段中的任何部分相关。
[0193] 如哈希值序列数据之于状态机,当DVR利用表710播放多媒体内容流700B时,它分析CC数据702并产生哈希值。一旦DVR识别了哈希值“A2R2”,根据如上所述的用于识别哈希序列的方法,DVR可以立即执行动作,例如在连接到DVR的显示屏上显示图标。因此,当DVR识别出表710中的哈希序列时,DVR可以确定位置704和706之间的视频片段的确切的开始和结束时间。给出了该信息,例如,对应于哈希值序列数据的元数据可以指示DVR跳过位置704和706之间的节目片段或者指示DVR存储位置704和706之间的节目片段。
[0194] 通过利用哈希值序列数据中的时间戳,DVR可以相对于任何多媒体内容流识别视频片段。因此,即使在不同的时间和不同的位置播放或者回放一个视频节目,利用对应于该哈希值的时间戳,相同的视频片段将被识别。更为特殊的,时间戳对应于哈希值的产生,并不是DVR的本地时间或者广播时间。因此,假定当在不同地点或者不同时间回放时大部分的节目是相同的,利用哈希值时间戳依然可以准确地识别视频片段。注意到尽管上述讨论的焦点是隐蔽字幕,但是本申请并不限于该实施方式,并且DVR可以利用任何类型的带内数据(例如ETV信号数据)创建事件标识数据。
[0195] 4.3创建标记的多媒体节目内容
[0196] 识别视频节目的事件或者片段后,DVR 102可以产生标签从而对应于片段或者事件,并将该些标签插入多媒体内容流的适当位置。每个标签都可以包括处理该标签的设备所依据进行转换和执行的命令和控制信息。例如,根据实施方式,如果用户想要跳过位置704和706之间的所有内容,在识别了视频片段相关的哈希序列之后,DVR可以简单地在位置704创建标签,以使DVR可以自动地跳过10秒至位置706,从而跳过该视频片段。
[0197] 此外,该标签数据被作为多媒体内容流的一部分进行处理,并且因而自动地与回放的视频节目同步。通过标签数据,接收多媒体内容流的装置可以自动地跳转到所选择的位置。可选择的,该标签可以包括标识与该视频节目中的位置有关的内容的信息。例如,一个相应于多媒体内容流700A中的位置704的标签可以包括标识例如体育节目中的中场休息的位置的信息。此外,位置706可以为该中场休息的结尾。因此,DVR可以为使用者显示一个使用界面,以说明该体育节目的中场休息是发生在位置704或者时间:10,并且结束在位置706或者时间:20。利用该信息,使用者可以使DVR跳过位置704并直接前进到位置706。
[0198] 并且,当相应于特定的事件或者片段在多媒体内容流中插入标签时,DVR 102可以从多媒体内容流中删除带内数据。例如,根据实施方式,多媒体内容流为包括独立的音频、视频和数据输入的MPEG2传输流。原来的带内数据位于多媒体内容流的数据部分。当产生标签时,该标签被插入多媒体流的数据位置。此外,一旦删除了带内数据,例如,PC 101可以将该多媒体内容流传输至便携式设备101B。由于标签被设置到多媒体内容流中并且删除了隐蔽字幕流,便携式设备101B则不需要显示隐蔽字幕数据。取而代之的,在播放多媒体内容流时,多媒体内容流中的标签被自动地以与多媒体内容流同步的方式处理。关于产生和在多媒体内容流中插入标签的进一步的内容在本申请人的美国申请No.09/665,921、名称为“隐蔽字幕标签系统”的专利申请中进行了说明,并在此全部引用。
[0199] 在其他实施方式中,如DVR 102或PC 101的多媒体装置可以向便携式设备101B简单地提供一个兴趣点的列表。因而,取代多媒体内容流中插入标签,不对内容流进行改变,便携式设备101B可以利用兴趣点列表来识别视频节目中的事件。该兴趣点列表可以与多媒体内容流相分离地提供给便携式设备101B。根据实施方式,兴趣点列表包括用于标识事件发生的相对时间的时间数据。此外,兴趣点列表还可以包括附加数据,例如描述每个事件的数据。便携式设备101B可以决定以任何适当的方式使用兴趣点列表中的数据。
[0200] 根据实施方式,多媒体装置响应用户输入产生兴趣点列表。例如,用户可以利用控制接口选择视频节目中的一个或多个位置。该多媒体装置接收来自于控制接口的信号,并确定该所选位置在视频节目中的位置。多媒体装置通过检验与多媒体内容流相关联的时间数据做出该确定。之后多媒体装置将用于标识每个所选位置的数据与和其相关联的时间数据一起存储到兴趣点列表,并将该列表提供给便携式设备101B。
[0201] 此外,在其他实施方式中,多媒体装置可以在利用带内数据模板识别了视频节目中的事件或片段后生成兴趣点列表。例如,多媒体装置可以在将多媒体内容流提供给便携式设备101B之前对整个多媒体内容流进行处理。当多媒体装置识别了一个带内数据模板,它检测与该带内数据模板相关联的元数据,并标识视频节目中的事件,包括与每个事件相关联的时间数据。利用该时间数据,多媒体装置产生列出了每个事件以及该事件相对于视频节目或者多媒体内容流发生的时间的兴趣点列表。该兴趣点列表被提供给便携式设备101B,以被用于识别视频节目中的位置。
[0202] 4.4共享多媒体内容的事件标识数据
[0203] 如上所述,DVR用户可以将事件标识数据从他的DVR传送至其他的DVR。该传输可以通过与其他DVR连接的网络或者因特网实现。一旦DVR接收到事件标识数据,该DVR用户被通知接收到一个用户定制的节目索引,并被通知该索引与哪个节目相关。该用户可以选择利用该索引播放该节目。
[0204] 此外,DVR服务器担当事件标识数据的分发工作。与节目相关的事件标识数据可以由DVR上传至服务器106A。当服务器106A从DVR接收到该事件标识数据时,它将该事件标识数据存储到本地存储设备或者数据库中。服务器106A将由多个DVR创建的事件标识数据通过网络105提供下载。当其他的DVR 104希望接收与特定节目相关的事件标识数据时,服务器106A通过网络105将该事件标识数据发送至DVR 104。因此,实现了一种用于创建和观看用户定制的视频片段的系统。
[0205] 5.0执行机构
[0206] 图8表示了可实现本发明的计算机系统800的框图。计算机系统800包括总线802或者其他用于信息通信的通信机构,以及与总线802相连接的用于处理信息的处理器804。计算机系统800还包括主存储器806,例如随机存取存储器(RAM)或者其他的动态存储装置,其与总线802相连并存储用于在处理器804上执行的信息和指令。主存储器806还可以被用于存储临时变量或者其他在处理器804执行指令时的中间信息。计算机系统800还包括只读存储器(ROM)808或者其他连接到总线802为处理器804存储静态信息和指令的静态存储装置。存储装置810,如磁盘或者光盘,被连接至总线802以存储信息和指令。
[0207] 计算机系统800可以通过总线802与显示器812(例如阴极射线显像管CRT)相连接,从而为计算机用户提供信息显示。包括文字和数字以及其他输入键的输入装置814与总线802相连接,从而与处理器804进行信息和命令选择的通信。其他类型的输入装置为光标控制器816,例如鼠标跟踪球或者光标方向键,以用于将方向信息和选择命令通信传输至处理器804并控制显示器812上的光标移动。该输入装置通常包括两个轴上的自由度,第一坐标轴(例如X轴)和第二坐标轴(例如Y轴),从而指定平面上的位置。
[0208] 本申请涉及利用计算机系统800实现以下方法。根据本申请的实施方式,响应于处理器804执行主存储器806中存储的一个或多个指令组成的一个或多个序列,计算机系统800执行该方法。该些指令可由其他的机器可读介质(如存储装置810)中读入主存储器806。执行存储在主存储器806中的指令序列使得处理器804执行如下所述的方法步骤。在可选择的实施方式中,利用硬连线(hard-wired)电路代替软件或者与软件指令相结合执行本发明。因此,本申请的实施方式并不仅仅限制于硬件电路和软件的特定组合。
[0209] 此处所用的术语“机器可读介质”是指任何提供数据以使机器以任何特定方式运行的介质。在利用计算机系统800实现的实施方式中,包括多种机器可读介质,为处理器804提供执行的指令。该介质可以是任何形式,包括但不限于,非易失性介质、易失性介质以及传输介质。非易失性介质包括光盘或磁盘,如存储装置810。易失性介质包括动态存储器,如主存储器806。传输介质包括同轴电缆、线和光纤,包括构成总线802的线缆。传输介质还可以为声波或者光波的形式,例如无线电和红外线数字通信中所产生的通信波。所有的介质都必须可以使其载有的指令被物理机构检测并将该指令读入设备中。
[0210] 通常的机器可读介质的形式包括如软盘、柔性碟、硬盘、磁带或者任何其他的磁性介质、CD-ROM、任何其他的光学介质、穿孔卡片、纸带、任何其他的带孔的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他的存储器芯片或者磁带盒、下文所述的载波、或者任何其他的计算机可读的介质。
[0211] 可以利用多种形式的机器可读介质来将由一条或多条指令构成的一个或多个序列提供给处理器804执行。例如,在开始时,指令可以由远端计算机的硬盘存储。该远端计算机可以将该指令装载到他的动态存储器中并利用调制解调器通过电话线发送该指令。设置在计算机系统800中的调制解调器可以接收电话线上的数据并利用红外线发射器将数据转换为红外线信号。红外线检测器可以接收该红外线信号的数据,并且适当的电路将该数据放置到总线802上。总线802将该数据发送至主存储器806,处理器804从主存储器806接收并执行该指令。该些由主存储器806接收的指令可以任选地在处理器804执行之前或之后存储在存储装置810中。
[0212] 计算机系统800还包括连接到总线802的通信接口818。通信接口818提供与连接到本地网络822的网络链接820相连接的双向数据通信。例如,通信接口818可以为综合服务数字网络(ISDN)卡或者用于提供与相应类型的电话线进行数据通信连接的调制解调器。如其他示例,通信接口818可以为局域网(LAN)卡以提供与兼容的LAN的数字通信连接。也可以实现无线链接。在这样的实施中,通信接口818发送和接收承载着代表多种类型信息的数字数据流的电子的、电磁的或者光学的信号。
[0213] 网络链接820通常通过一个或多个网络与其他数据装置进行数据通信。例如,网络链接820可以通过本地网络822与主计算机824或者由互联网服务提供者(ISP)826运行的数据装置连接。接下来ISP 826通过广域数据包数据通信网络(现在通常指因特网828)提供数据通信服务。本地网络822和因特网828都利用承载数字数据流电子的、电磁的或者光学信号。经过不同的网络的信号、在网络链接820上及经过将数字数据传入和传出计算机系统800的通信接口818的信号都是传输信息的载波的示例形式。
[0214] 计算机系统800可以通过网络、网络链接820和通信接口818发送消息和接收包括程序代码的数据。在因特网的示例中,服务器830可以可以通过因特网828、ISP826、本地网络822和通信接口818发送对应用程序的请求代码。
[0215] 所接收的代码可在被接收时由处理器804执行,并/或存储在存储装置810或者其他非易失性存储器中用于之后执行。这样,计算机系统800以载波形式获得应用代码。
[0216] 在上述说明中,通过列举了多个不同执行方式的细节说明了本申请的实施方式。因此,本发明以及本申请人所意图作为发明的唯一的专的标志为根据该申请所提出的权利要求书,并以明确的形式记载在权利要求书中,并包括任何之后的修正。在此对权利要求中的术语所做的任何清楚地说明都表示其用在权利要求中时的含义。因此,在权利要求中没有清楚说明的限定、元素、性质、特点、优点以及属性不应当以任何方式限制权利要求的范围。因此,说明书及附图应当被作为说明而不是限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈