首页> 中国专利> 用来改善时间搜索操作的技术

用来改善时间搜索操作的技术

摘要

说明了用来改进时间搜索操作的技术。一种装置可包括具有媒体内容搜索模块的数字媒体服务器。该媒体内容搜索模块可响应于时间搜索请求来为媒体内容执行视频序列报头对准。还说明了和要求了其它的实施例。

著录项

  • 公开/公告号CN101009830A

    专利类型发明专利

  • 公开/公告日2007-08-01

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN200610064135.X

  • 发明设计人 A·A·罗佩斯-埃斯特拉达;

    申请日2006-12-30

  • 分类号H04N7/26;H04N7/24;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人李亚非

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 18:54:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-14

    未缴年费专利权终止 IPC(主分类):H04N21/2387 授权公告日:20111214 终止日期:20171230 申请日:20061230

    专利权的终止

  • 2011-12-14

    授权

    授权

  • 2007-09-26

    实质审查的生效

    实质审查的生效

  • 2007-08-01

    公开

    公开

说明书

技术领域

本发明涉及一种包括具有媒体内容搜索模块的数字媒体服务器的装置、系统以及用来改善时间搜索操作的方法。

背景技术

如今数字媒体的使用在逐步更加普遍。例如,在家庭网络中,越来越多的设备能够处理数字内容。由此,家庭网络用户可用的使用模型变得越来越复杂并且这些用户也要求更加强大的能力在家中分享数字内容。然而,使用简单对于家庭网络环境中的用户也是势在必行的。

家庭网络环境中的任何使用模型的一个关键的特征是操纵媒体内容的能力。除了正常的重放操作,如播放、暂停以及停止,还可使用“技巧模式”或“技巧播放”来操纵多媒体内容。技巧模式允许用户利用如快进、快倒、时间搜索、跳到电影的一个场景等动作等等来操纵数字内容。媒体内容播放器如视频家庭系统(VHS)和数字通用光盘(DVD)播放器的用户已经对这些特征很熟悉,并且因此希望这些功能的一部分,假如不是全部,对于他们来说在其它的使用模式中可以使用。虽然现在对于用户来说通过数字内容进行搜索并且执行基本的技巧播放如快进和/或快倒是可能的,但是这些特征远远不够先进并且不是非常用户友好。因此,需要在这些技术方面的改进。

发明内容

根据本发明的一个方面,提供了一种包括具有媒体内容搜索模块的数字媒体服务器的装置,所述媒体内容搜索模块响应于时间搜索请求来对媒体内容执行视频序列报头对准。

根据本发明的另一个方面,提供了一种系统,包括:通信媒质;以及数字媒体服务器,该数字媒体服务器具有媒体内容搜索模块,所述媒体内容搜索模块响应于时间搜索请求来对媒体内容执行视频序列报头对准。

根据本发明的另一个方面,提供了一种方法,包括:接收时间搜索请求;和响应于所述时间搜索请求来对媒体内容执行视频序列报头对准。

根据本发明的另一个方面,提供了一种包括机器可读存储介质的物品,该机器可读存储介质包含如果执行使得系统能够接收时间搜索请求并且响应于所述时间搜索请求来对媒体内容执行视频序列报头对准的指令。

附图说明

图1示出了媒体处理系统的一个实施例。

图2示出了视频帧的第一序列的一个实施例。

图3示出了视频帧的第二序列的一个实施例。

图4示出了第一媒体内容搜索操作的一个实施例。

图5示出了第二媒体内容搜索操作的一个实施例。

图6示出了数字媒体服务器的一个实施例。

图7示出了逻辑流的一个实施例。

图8示出了第三媒体内容搜索操作的一个实施例。

图9示出了第四媒体内容搜索操作的一个实施例。

具体实施方式

各种实施例可着眼于改进时间搜索操作的技术。例如,各种实施例可着眼于改进用于诸如数字电缆系统、数字卫星系统、视频点播(VOD)系统等的数字家庭系统使用的流音频/视频信号的时间搜索操作的技术。时间搜索操作可响应于技巧模式或技巧播放操作,如快进、快倒、时间搜索、跳到电影的某个场景等来实施。并不是为了适当的搜索对准和操作而对编码器施加约束,而是各个实施例可在媒体服务器上实施时间搜索操作。通过这种方式,时间搜索操作不取决于编码的内容,而是取决于服务器的实现,使它成为用于过去的内容和更广泛的源阵列的更具有吸引力的解决方案,这些内容和源阵列不需要满足由各种不同的媒体处理标准提出的编码准则。

图1示出了媒体处理系统的一个实施例。图1示出了媒体处理系统100的框图。例如,在一个实施例中,媒体处理系统100可以包括多个节点。节点可包括在媒体处理系统100中用于处理和/或传输信息的任何物理或逻辑实体,并且可如给定的设计参数或性能约束所期望的实现为硬件、软件、或任何两者的结合。虽然在某种拓扑结构中以有限的节点示出了图1,可以理解的是,媒体处理系统100可在对于给定的实施所期望的任何类型的拓扑结构中包括更多或更少的节点。该实施方式并不限于此上下文。

在不同的实施例中,节点可包括或实现为,计算机系统、计算机子系统、计算机、设备、工作站、终端、服务器、个人计算机(PC)、膝上电脑、超级膝上电脑、手持计算机、个人数字助理(PDA)、电视、数字电视、机顶盒(STB)、电话、移动电话、蜂窝电话、手持机、无线接入点、基站(BS)、用户站(SS)、移动用户中心(MSC)、无线网络控制器(RNC)、微处理器、注入专用集成电路(ASIC)、可编程逻辑器件(PLD)之类的集成电路、诸如通用处理器、数字信号处理器(DSP)和/或网络处理器之类的处理器、接口、输入/输出(I/O)设备(例如,键盘、鼠标、显示器、打印机)、路由器、集线器、网关、桥接器、交换机、电路、逻辑门、寄存器、半导体器件、芯片、晶体管、或其它任何设备、机器、工具、设备、组件、或上述的组合。实施方式并不限于此。

在不同的实施例中,节点可包括或实现为软件、软件模块、应用程序、程序、子程序、指令集、计算代码、字、值、符号或上述的组合来实施。节点可根据预定的计算机语言、方式或语法来实现,用于指示处理器执行某个功能。计算机语言的示例可包括C,C++,Java,BASIC、Perl、Matlab、Pascal、VB、汇编语言、机器代码、用于处理器的微代码等。实施方式并不限于此。

在不同的实施例中,媒体处理系统100可根据一个或多个协议来通信、管理、或处理信息。协议可包括一组预先定义的用于管理节点间通信的规则或指令。协议可由一个或多个由标准化组织发布的标准来定义,该标准化组织如国际电信联盟(ITU)、国际标准化组织(ISO)、国际电子委员会(IEC)、电气和电子工程师协会(IEEE)、因特网工程任务组(IETF)、运动图像专家组(MPEG)等等。例如,所说明的实施例可根据用于媒体处理的标准来运行,如国家电视系统委员会(NTSC)标准、高级电视系统委员会(ATSC)标准、逐行倒相制式(PAL)标准、MPEG-1标准、MPEG-2标准、MPEG-4标准、数字视频广播地面(DVB-T)广播标准、DVB卫星(DVB-S)广播标准、DVB有线(DVB-C)广播标准、开放缆线标准、电影电视工程师协会(SMPTE)视频编解码器(VC-1)标准、ITU/IEC H.263标准、用于低比特率通信的视频编码、2000年十一月公布的ITU-T建议H.263v3和/或ITU/IEC H.264标准、用于非常低的比特率通信的视频编码、2003年5月公布的ITU-T建议H.264等等。实施方式并不限于此。

在不同的实施例中,媒体处理系统100的节点可配置用来通信、管理或处理不同类型的信息,如媒体信息和控制信息。媒体信息的示例通常可包括任何表示对于用户有意义的内容的数据或信号,如媒体内容、话音信息、视频信息、音频信息、图像信息、文本信息、数字信息、文字数字符号、图形等等。控制信息可指任何表示对于自动系统有意义的命令、指令或控制字的数据或信号。例如,控制信息可用来将媒体信息通过系统路由、在设备之间建立连接、指示节点按照预先确定的方式处理该媒体信息、进行状态的监视或传输、执行同步等等。实施方式并不限于此。

在不同的实施方式中,媒体处理系统100可作为有线通信系统、无线通信系统或者两者的组合来实现。虽然,出于示例的方式使用特定的通信媒体示出了系统100,可以理解的是在此所讨论的原理和技术可使用任何类型的通信媒体及其附带的技术来实现。实施方式并不限于此。

当实现为有线系统时,例如,媒体处理系统100可包括一个或多个节点,该节点配置为在一个或多个有线通信介质上进行信息的通信。有线通信介质的示例可包括电线、缆线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等等。可使用输入/输出(I/O)适配器来将有线通信介质连接到节点。该I/O适配器可配置为使用任何合适的技术来操作,用于在节点间使用一组期望的通信协议、业务或操作过程来控制信息信号。该I/O适配器还可包括合适的物理连接器来将该I/O适配器与相应的通信媒质相连。I/O适配器的示例可包括网络接口、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等等。实施方式并不限于此。

当实现为无线系统时,例如,媒体处理系统100可包括一个或多个无线节点,该节点配置为在一种或多种类型的无线通信介质上进行信息的通信。无线通信介质的示例可包括部分无线频谱、如RF频谱。该无线节点可包括适用于在指定的无线频谱上传输信息信号的组件和接口,如一个或多个天线、无线发送机/接收机(“收发器”)、放大器、滤波器、控制逻辑、天线等等。实施方式并不限于此。

在不同的实施例中,媒体处理系统100可包括一个或多个媒体源节点102-1-n。媒体源节点102-1-n可包括任何能够发起或传递媒体信息和/或控制信息到媒体处理节点106的媒体源。尤其是,媒体源节点102-1-n可包括任何能够发起或传输数字音频和/或视频(AV)信号到媒体处理节点106的媒体源。媒体源节点102-1-n的示例可包括任何能够存储和/或传递媒体信息的硬件或软件设备,如DVD设备、VHS设备、数字VHS设备、个人视频记录器、计算机、游戏控制器、压缩盘(CD)播放器、计算机可读或机器可读存储器、数码相机、摄像机、视频监视系统、电话会议系统、电话系统、医疗和测量仪器、扫描器系统、复印机系统、电视系统、数字电视系统、机顶盒、个人视频记录、服务器系统、计算机系统、个人计算机系统、数字音频设备(如,MP3播放器)等等。媒体源节点102-1-n的其它示例可包括将广播或流传送的模拟或数字AV信号提供给媒体处理节点106的媒体发布系统。如,媒体发布系统的示例可包括,空中广播(OTA)系统、地面有线系统(CATV)、卫星广播系统等等。值得注意的是,媒体源节点102-1-n可处于媒体处理节点106的内部或外部,这取决于给定的实施方式。实施方式并不限于此。

在不同的实施例中,媒体处理系统100可包括通过一个或多个通信介质104-1-m连接到媒体源节点102-1-n的媒体处理节点106。媒体处理节点106可包括任何前面所描述的配置为处理从媒体源节点102-1-n接收到的信息的节点。在不同的实施例中,媒体处理节点106可包括或被实现为,一个或多个媒体处理设备,具有处理系统、处理子系统、处理器、计算机、设备、编码器、解码器、编码器/解码器(编解码器)、滤波设备(如,图像扫描设备、解块(deblock)滤波设备)、信息转换设备、娱乐系统、显示器、或任何其它的处理结构。实施方式并不限于此。

在不同的实施例中,媒体处理系统100可包括为消费者的使用而设计的数字家庭结构。可替换的,媒体处理系统100可包括数字办公室结构。因此,媒体处理系统100可根据为使得消费者的使用方便以及各种媒体设备之间的互操作性(可能不同类的)而设计的不同的标准、协议或规则来实现。这些标准的示例可包括通用即插即用(UPnP)标准、由Intel公司开发的2005年2.1版网络媒体产品要求(NMPR)标准、2005年1.0版数字生活网络联盟(DLNA)标准等等。这些标准中的每一个都试图预见数字家庭中的通用使用模型并且定义使得在这些模型中的互操作性和使用便利的协议和标准。虽然可以示例的方式使用DLNA和/或UpnP标准来说明一些实施例,但可以理解的是如给定实现所希望的,可使用其它的关于网络上的流媒体内容的媒体标准。实施方式并不限于此。

在一个实施例中,例如,媒体处理系统100可以作为使用DLNA和/或UPnP标准的数字家庭架构的一部分来实现。例如,当根据DLNA标准实现时,媒体源节点102可作为数字媒体服务器(DMS)来实现,并且媒体处理节点106可作为数字媒体播放器(DMP)来实现。例如,当根据UPnP标准来实现时,DMP 106可进一步分离来包括数字媒体呈现器(DMR:Digital Media Renderer)108以及控制点(CP)110。DMS 102和DMP 106可在通信介质104(如,有线或无线)上进行媒体和控制信息的通信。DMS 102和CP 110可在通信介质112(如,有线或无线)上进行媒体和控制信息的通信。实施方式并不限于此。

DLNA和UpnP标准可着眼于数字家庭结构的不同方面。例如,UPnP主要处理媒体设备的通信方面。它定义了标准业务和相关的动作,某个设备需要它以便对于其它设备“可见”并与之“通话”。DLNA进一步发展了互操作性并且定义了媒体设备为了兼容而需要支持的一些基本能力。这可包括用于典型的音频和视频编解码器的基本格式型(profile)。它们进一步扩展了处理新的使用模型的标准定义,例如扩展超文本传输协议(HTTP)用来处理技巧模式。虽然可以根据给定实现的期望使用其它的媒体格式,但是用于音频/视频(A/V)内容的基本媒体格式为将MPEG-2视频与MPEG-2、AC3或者LPCM音频封装在一起的MPEG-2系统流。

根据UPnP标准,DMS 102可作为媒体内容130的信源来操作,并且DMP 106可作为消费媒体内容130的信宿来运行。CP 110可配置用来发现网络中的设备、协商DMS 102和DMP 106之间的格式、并且建立这些设备间的连接。CP 110还可额外包括用户接口140。用户接口140可允许用户执行用于媒体内容130的不同的标准控制模式操作和技巧模式操作。标准控制模式操作的示例可包括播放、停止和暂停操作。技巧模式的示例可包括快进(FF)、倒带(REW)、快倒、时间搜索、跳到电影中的一个场景等等。发现和协商操作可使用UpnP指定的协议来执行,如IETF简单业务发现协议(SSDP)以及可扩展标记语言(XML)协议工作组简单对象访问协议(SOAP)。例如,一旦建立了连接,则使用不同的带外非UpnP特定的协议,例如HTTP,将媒体内容130在介质104上/从DMS 102直接流传送到DMP 106。在连接建立了之后,CP 110可执行不同的传输控制操作,如标准控制模式操作(如,播放、暂停和停止)和技巧模式操作(如,FF和REW)。CP 110可根据SOAP动作所定义的标准来执行这种传输控制操作。然而,设备能力(如,用于每一设备的格式)通常超出了UPnP标准的范围。因此,并不能保证两个UPnP设备可以成功的进行互操作。由此,DLNA标准可用来改进媒体处理系统100中不同的媒体设备之间的互操作性。

根据DLNA标准,媒体处理系统100可为DMS 102和DMP 106定义基本的设备能力以改进这些设备之间互操作性。DLNA标准如今仅定义了两种类型的设备,包括DMS 102和DMP 106。在UPnP方面,可进一步定义DMP 106包括耦合到DMP 108的CP 110。由于这些元件可在单个设备、硬件组件、软件组件、或软件/硬件组件的组合中实现,因此,DLNA标准没有定义DMR 108和CP 110之间的通信。然而,DLNA将来的版本可与目前的UPnP方案相似将DMR 108和CP 110分开,或者可代替地识别新型设备。该实施方式可包含这些将来的对DLNA标准的增强。

在通常的运行中,DMS 102可在介质传输104上将媒体内容如A/V内容传输或流传送到DMP 106。DMS 102可包括流编码器,用来在编码管道接收数字“原始”音频和视频,压缩该A/V数据,将所压缩的A/V数据形成分组,并且将该A/V复用为可用于在通信介质104上传输的单个比特流。相似地,DMP 106可接收编码的流,解复用该编码的A/V信号,解分组该A/V压缩数据,并且将所压缩的A/V数据解压缩为最初的A/V内容。

在一个实施例中,例如,可根据MPEG-2标准来编码和解码媒体内容。MPEG-2标准定义了两种类型的系统流,包括节目流(PS)和传输流(TS)。PS格式用于较可靠的环境,如从本地媒体存储/检索。这种格式典型的由DVD设备使用。TS格式通过提供用于差错恢复的增加的元数据冗余和较小的分组来用于较容易出错的环境。这种格式典型的用于卫星和地面广播(如,ATSC)。

虽然MPEG-2定义了比特流的格式,MPEG-2对DMS 102和DMP 106之间同步所要求的某些分组的周期和规律性没有强加任何要求。进一步,除了比特流定义,MPEG-2在底层音频和视频压缩结构上典型地没有强加要求。一些为视频源所具体定义的结构可参考图2来详细说明。

图2示出了视频帧的第一个序列的一个实施例。图2示出了由DMS 102编码的媒体内容130的媒体流200。如图2所示,媒体流200可以包括媒体内容130的不同帧。一个图像组(GOP)标志一系列不依赖于先前帧的已编码帧的开始。因此,GOP的开始典型地用于随机接入媒体流200。该GOP可具有不同的帧类型,如索引(I)帧、随后为预测(P)帧和双向预测(B)帧。GOP可包括MPEG-2系统流的一部分,这结合图3作了详细的说明。

图3示出了视频帧的第二序列的一个实施例。图3示出了媒体流300。媒体流300可表示MPEG-2系统流。如图3所示,媒体流300可包括分组报头(PH)302-1-q、视频序列报头(VSH)304-1-r、GOP报头(GH)306-1-s,以及帧308-1-t。PH 302-1-q可包括加上如在分组的基本流(PES)中出现的额外的分组化的TS或PS报头。VSH 304-1-r可包括MPEG-2视频序列报头。GH 306-1-s可包括GOP报头。帧308-1-t可包括如结合图2所说明的媒体流200的不同的已编码帧(如,I帧、P帧以及B帧)。如图3所示,可以理解的是GH306-1-s不需要对准,且进一步的,VSH 304-1-r不需要在每一个GOP的开始中出现。此外,GH 306-1-s不需要周期性地编码。

在一种实施例中,例如,VSH 304-1-r可包括MPEG-2视频序列报头,虽然该实施例并不限于此。VSH 304-1-r可在视频组装层指定。VSH 304-1-r可包括一个或多个视频序列参数,该视频序列参数可提供对于DMP 106和/或DMR 108执行的视频参数刷新的有用信息。视频序列参数的示例可包括horizontal_size_value(以象素为单位)、vertical_size_value(以象素为单位)、aspect_ratio_information(如,4∶3宽高比、16∶9宽高比等等)、frame_rate_code(如,30帧每秒,24帧每秒等等)、bit_rate_value、intra_quantiser_matrix、non_intra_quantiser_martrix等等。对于正确的解码操作需要部分或全部这些参数。

由于许多原因,传统的用来对如媒体流300之类的A/V媒体流执行时间搜索操作的技术对网络环境不能满意。例如,一种技术是下载和高速缓存内容。对于具有记录能力的设备(如硬盘或持久存储器)来说,可能将该内容本地高速缓存到媒体,这接着使得能够进行搜索操作作为文件系统输入/输出(I/O)操作。然而这种技术对于没有持久媒质的瘦客户或具有低存储能力的设备效果不好。另一种技术可使用字节范围。在解码端,设备请求流传送特定的范围从而实现搜索操作。这通常假定解码/呈现端点具有将基于时间的搜索翻译为字节范围的信息。这也意味着呈现端点可同步或调整它本身到请求的字节范围。然而,另一种技术可包括时间搜索范围,其对于DLNA系统是特定的。DLNA标准定义了时间搜索HTTP报头,其允许呈现端点(如,DMP)指定在媒体流内的什么地方进行搜索。那么DMS则负责确定对应于该指定的时间的媒体流内的字节位置。DLNA时间搜索范围技术的限制可结合图4进行更详细的说明。

图4示出了第一媒体内容搜索操作的一个实施例。图4示出了如DLNA标准定义的第一时间搜索范围技术。为了使用时间搜索范围技术来完成时间搜索,DLNA为了允许“可搜索”媒体强制使用某些约束。进一步的,这些约束仅在某些编码型(profile)中强制使用,如MPEG_PS_NTSC、MPEG_PS_PAL以及TS方式(如,MPEG_TS_xxx)。该可互操作的搜索解决方案的问题为强制使用在编码源的限制,不能保证每一个源内容将是可搜索的。例如,考虑到通过视频序列报头来刷新视频参数,在传输流内容服务器行为上不强制使用约束。

作为示例,假定用户当前正在观看时刻T1的电影,并且想搜索到时刻T2。假如位置T2落在与T1相同的视频序列中(如,使用相同的视频参数),智能服务端点可决定在时刻T’2在较近的GOP报头(如GH 403-3)开始,以保证随机搜索对准。然而,假如业务端点没有与GH 404-3对齐,则由呈现端点负责去扫描以重新与较近的GH对准。

这种技术导致了网络和处理带宽的浪费。例如,假定媒体播放器尝试在比特流中的随机位置进行搜索。假如服务器没有对准到GH或VSH,播放器不能准确预测字节偏移位置,这可导致播放器丢弃无用的数据向前扫描下一个同步点或者请求多个范围来发现同步点。假如播放器能保证服务端点会执行同步,则可将用于不需要数据的额外带宽节省下来用于其它网络业务。此外,盲目的猜—搜(guess-and-seek)导致不必要的处理循环。

除了浪费网络和处理带宽,这种技术可提供贫乏的用户经验。从用户的角度说,假如媒体播放器为了同步而必须往前或往后扫描,其将作为不必要的操作等待时间而反映出来。进一步,同步点可不靠近用户所请求的时间搜索位置,尤其是如果用户在猜测同步点位置时刚好错过了上一个同步点。第二个导致贫乏用户经验的情况是,基于时间的搜索间隔尺寸。根据同步点报头(如GH或VSH)的频率和周期,不会以足够的间隔尺寸将可用的同步点提供给用户以在已编码的比特流中发现期望的导航点。

当T2落在当前视频序列的范围之外,降低的网络效率和贫乏的用户经验的不期望的结果可进一步增加。这可结合图5来更详细地说明。

图5示出了第二媒体内容搜索操作的一个实施例。图5示出了如DLNA标准定义的第二时间搜索范围技术。更具体的,图5示出了当T2落在当前视频序列范围之外的情况。在这种情况下,不能保证服务器会向前或向后扫描到下一个视频序列报头。而且,如果呈现端点决定向前扫描下一个可用的VSH,则实际的搜索时间和期望的搜索时间之间的差别可能太大(如,VSH可能离的太远)。这种行为从用户的考虑来说可导致非常贫乏的用户经验和低的搜索间隔尺寸。

各种实施例可试图解决这些或其它问题。各种实施例可着眼于管理媒体内容。例如,各种实施例可着眼于操作媒体内容,尤其是用于包括时间搜索操作的某种技巧模式操作。以下的说明假定使用了UPnP方案,但是该实施例不限于此。因此,例如,可采用替代的实施例,其中将CP 110和DMR 108集成为单个的设备或者处理(如DLNA中的DMP)和/或使用非UPnP协议。此外,虽然以下的说明仅假定了音频/视频的内容,但是该实施例不限于此,并且可以应用于数字内容的任何形式和/或组合。

在一个实施例中,例如,DMS 102可包括媒体内容搜索模块(MCSM)120。MCSM 120可配置为响应于时间搜索请求为媒体内容执行视频序列报头对准。假如时间搜索请求包括在第一视频序列中的时间值,MCSM 120可执行图像组报头对准。假如时间搜索请求包括第二视频序列中的时间值,MCSM 120可执行视频序列报头对准。假如时间值小于视频序列报头的预定数目的时间单元(如秒),MCSM 120可执行视频序列报头对准。假如时间值大于视频序列报头的预定数目的时间单元,MCSM 120可执行视频序列报头重传。通常DMS 102,尤其是MCSM120可结合图6来进行更详细的说明。

图6示出了数字媒体服务器的一种实施例。图6示出了适用于与结合图1所说明的媒体处理系统100(例如DMS 102)一起使用的数字媒体服务器的框图。然而,该实施例并不限于图6给出的示例。

如图6所示,DMS 102可包括多个元件。如给定的一组设计或性能约束所期望的,一个或多个元件可使用一个或多个电路、组件、寄存器、处理器、软件子程序、模块或这些的任何组合来实现。虽然图6以示例的方式以某种拓扑结构示出了有限数目的元件,但可以理解的是,如给定的实现所期望的,可以在DMS 102中使用任何适用的拓扑结构中的更多更少的元件。该实施例不限于此。

在不同的实施例中,DMS 102可包括处理器602。处理器602可使用任何处理器或逻辑设备来实现,如复杂指令集计算机(CISC)微处理器、精简指令集计算机(RISC)微处理器、超长指令字(VLIW)微处理器、实现指令集组合的处理器、或者其它处理器设备。在一个实施例中,例如,处理器602还可以作为通用处理器来实现,如由Intel公司,Santa Clara,California生产的处理器。处理器602还可以作为专用处理器来实现,如控制器、微控制器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、媒体处理器、输入/输出(I/O)处理器、媒体接入控制(MAC)处理器、无线基带处理器、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)等等。该实施例并不限于此。

在一个实施例中,DMS102可包括耦合到处理器602的存储器604。存如给定的实现所期望的,储器604可通过通信总线614或者在处理器602和存储器604之间的专用通信总线耦合到处理器602。存储器604可使用任何机器可读或计算机可读的能存储数据的媒体来实现,包括易失和非易失存储器。例如,存储器604可包括只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EPROM)、闪速存储器、聚合物存储器如铁电聚合物存储器、双向存储器、相位变换或铁电存储器、硅氧化氮氧化硅(SONOS)存储器、磁或光卡、或任何其它类型的适用于存储信息的媒质。值得注意的是,存储器604的一部分或全部可包括在与处理器602同样的集成电路上,或者可替换地,存储器604的部分或全部可设置在集成电路或其它媒质,如硬盘驱动器上,位于处理器602的集成电路之外。该实施例并不限于此。

在各种实施例中,DMS 102可包括收发机606。收发机606可在DMS 102作为无线设备实现时使用。收发机606可以为任何根据期望的无线协议来操作的无线发送机和/或接收机。适用的无线协议的示例可包括各种无线局域网(WLAN)协议,包括IEEE 802.xx系列协议,如IEEE 802.11a/b/g/n、IEEE 802.16、IEEE 802.20等等。无线协议的其它示例可包括各种无线广域网络(WWAN)协议,如具有通用分组无线业务(GPRS)的全球移动通信系统(GSM)蜂窝无线电话系统协议、具有1xRTT的码分多址(CDMA)蜂窝无线电话通信系统、全球演变的增强数据速率(EDGE)系统等等。无线协议的进一步的示例可包括无线个人区域网络(PAN)协议,如红外协议、蓝牙专家兴趣小组(SIG)系列协议中的协议,包括具有增强数据速率(EDR)的蓝牙规范版本v1.0、v1.1、v1.2、v2.0、v2.0以及一个或多个蓝牙模型(在此总称为蓝牙规范)等等。其它适用的协议包括超宽带(UWB)、数字办公室(DO)、数字家庭、可信平台模块(TPM)、ZigBee以及其它协议。该实施例并不限于此。

在各种实施例中,DMS 102可包括一个或多个大容量存储设备610。大容量存储设备610的示例可包括硬盘、软盘、致密盘只读存储盘(CD-ROM)、可记录致密盘(CD-R)、可重复写入致密盘(CD-RW)、光盘、磁介质、磁光介质、抽取式存储卡或盘、各种类型的DVD设备、磁带、盒式磁带设备等。该实施例并不限于此。

在各种实施例中,DMS 102可包括一个或多个I/O适配器612。I/O适配器612的示例可包括通用串行总线(USB)端口/适配器、IEEE 1394火线端口/适配器等等。当作为有线设备实现时,I/O适配器612可包括网络接口及相关的物理连接器。该实施例并不限于此。

在各种实施例中,DMS 102可包括一个或多个模块。如给定的一组设计或性能约束所期望的,该模块包括或可实现为以下设备,一个或多个系统、子系统、处理器、设备、机器、工具、组件、电路、寄存器、应用程序、程序、子程序或任何组合。该实施例并不限于此。

在一个实施例中。例如,DMS 102可包括MCSM 120。MCSM 120可对在DMS 102和DMP 106之间流传送的媒体内容130执行各种时间搜索操作。该时间搜索操作可响应通过用户接口140从CP 110所接收到的技巧模式或技巧播放操作(如,FF和REW)来实现。在各种实施例中,MCSM 120可作为处理602器执行的软件、诸如媒体处理器或电路的专用硬件或者二者的组合来实现。该实施例并不限于此。

除了别的之外,MCSM 120可设置为操作两种类型的MPEG-2流,包括PS和TS。不是为了正确的搜索对准和操作而对编码器强制约束,而是DMS 102的MCSM 120可实现搜索操作并且保证在呈现端点如DMP 106上有适当的行为。这样,搜索操作不依赖于已编码的内容,而依赖于服务器的实现,使之成为对过去的内容和更广泛的源阵列更具有吸引力的解决方案,这些内容和源不需要满足由DLNA标准提出的编码规则。MCSM 120可设置用来处理PS和TS内容两者。

用于上述实施例的操作可进一步结合随后的附图及其示例来说明。一些附图可包括逻辑流。虽然在此出现的图可包括具体的逻辑流,可以理解的是逻辑流仅仅提供了在此所说明的一般功能是如何能被实现的示例。进一步,除非另有指定,给出的逻辑流不需要必须以这种顺序执行。此外,给出的逻辑流可通过硬件元件、处理器执行的软件元件、或其的任何组合来实现。该实施例并不限于此。

图7示出了逻辑流的一个实施例。图7示出了逻辑流700。逻辑流700可以表示在此所说明的一个或多个实施例所执行的操作,如媒体处理系统100、DMS102、和/或MCSM 120。如逻辑流700中所示,来自客户的时间搜索请求可在块702接收。在块706能进行确定是否该时间搜索请求在第一视频序列或第二视频序列的范围之内的第一确定。若时间搜索请求在第一视频序列的范围之内,则可以在块708执行GOP报头对准操作。若时间搜索请求不在第一视频序列的范围之内,或肯定的声称在第二视频序列的范围之内,则在块712可以进行确定是否时间搜索请求包括一个小于预定数目的视频序列报头的时间单元的时间值的第二确定。若该时间值小于预定数目的时间单元,那么可以在块714执行视频序列报头对准操作。若时间值大于预定数目的时间单元,那么,可以在块720执行视频序列报头重传操作。例如,在块704、710、716可以使用或更新索引记录来协助其他操作,例如与块706有关的操作。该实施例并不限于此。

结合附图1-7所说明的实施例可以示例的方式进行更详细的说明。如结合图7所说明的,在块702从客户接收时间搜索请求。客户的示例包括DMP 106、DMR108或者CP 110。用户可以使用CP 110的用户接口140来发起时间搜索请求。例如,用户可以选择FF来搜索A/V帧,该帧位于流传送的内容媒体130的将来的时刻。例如,该时间搜索请求可以由DMS 102来接收。在块706,DMS 102的MCSM 120可确定该请求的搜索是在当前视频序列(例如第一视频序列)的范围之内还是在当前视频序列的范围之外(例如,第二视频序列)。MCSM 120可使用在块704接收到的索引记录来加速该确定。例如,索引记录可包括用于不同的所要求索引的字节位置,如视频序列字节偏移和GOP报头字节偏移。

若时间搜索请求在第一视频序列的范围之内,在块708,MCSM 120可执行GOP报头对准操作来努力将搜索响应对准到“较近”的GOP报头。在块710,索引记录可被更新。

然而,若搜索请求落在当前视频序列的范围之外,则MCSM 120试图计算该“最接近的”视频序列报头在时刻上有多近。在块712,MCSM 120可确定时间搜索请求是否包括小于预定数目的视频序列报头的时间单元的时间值。例如,预定数目的时间单元可包括T秒,其中T为任意的正整数。

假如时间值在预先确定的时间增量(ΔT秒)内,则在块714,MCSM 120可执行视频序列报头对准操作,以试图将时间搜索响应对准该最接近的的视频序列报头。MCSM 120在块716可更新索引记录。然而如果时间值大于预定数目的时间单元,则在块720,MCSM 120可执行视频序列报头的重传操作。视频序列报头对准操作以及视频序列报头重传操作可结合附图8和9进行更详细的说明。

图8示出了第三媒体内容搜索操作的一个实施例。图8示出了媒体流800。媒体流800可以表示MPEG-2系统流,与媒体流300、400相似。媒体流800可包括VSH 802-1-u、GH 804-1-v,以及其它的媒体和控制信息(如各种已编码的帧)。

如图8所示,媒体流800可包括来自媒体内容130的已编码的媒体内容的连续流。当在时刻T1,在DMS 102上发出一个时间搜索请求时,MCSM 120可执行对T2时间值的时间搜索。然而,时间值T2在VSH 802-1所定义的第一视频序列(例如当前视频序列)之外。时间值T2实际上在由VSH 802-2所定义的第二视频序列之内。VSH 802-2的视频序列参数可与VSH 802-1的不同。例如,VSH 802-1可具有被设置为4∶3宽长比的aspect_ratio_information参数,而VSH 802-2可具有被设置为16∶9宽长比的aspect_ratio_information参数。若DMS 102发送一个对于不包括VSH 802-2的媒体内容的时间搜索请求的时间搜索响应,DMP 106和/或DMR 108可能没有解码该媒体内容的能力。

为了避免这个问题,MCSM 120可搜索最接近T2的VSH。如果最接近的序列报头在T秒的时间增量之内,MCSM 120可向前或向后扫描到该最接近的视频序列报头分组。在图8的示例中,最接近T2的VSH可包括VSH 802-2。MCSM 120则可以发送具有VSH 802-2的VHS边界以及媒体内容130的连续流的随后部分的时间搜索响应,如GH 804-10以及下列等等。由此,若T2为期望的请求的时间位置,DMS 102的MCSM 120可从实际返回的相应T’2的位置提供媒体内容。DMP106可为该内容保持一个序列报头的记录,以便知道这些在编码比特流中的位置从而有助于对准操作。

图9示出了第四媒体内容搜索操作的一个实施例。图9示出了媒体流900。媒体流900可以表示MPEG-2系统流,与媒体流300、400以及800相似。媒体流900可包括VSH 902-1-w、GH904-1-x,以及其它的媒体和控制信息(如各种已编码的帧)。

如图9所示,媒体流900可包括媒体内容130的已编码媒体内容的连续流。当在时刻T1,在DMS 102上发出一个时间搜索请求时,MCSM 120可执行对T2时间值的时间搜索。然而,时间值T2在VSH 902-1所定义的第一视频序列(例如当前视频序列)之外。时间值T2实际上在由VSH 902-2所定义的第二视频序列之内。VSH 902-2的视频序列参数可与VSH 902-1的不同。若DMS 102发送一个对于具有不包括VSH 902-2的媒体内容的时间搜索请求的时间搜索响应,DMP 106和/或DMR 108可能没有解码该媒体内容的能力。

为了避免这个问题,MCSM 120可搜索最接近T2的VSH。若最接近的序列报头在T秒的时间差量之内,MCSM 120可向前或向后扫描到该最接近的视频序列报头分组。在图9的示例中,最接近T2的VSH可包括VSH902-2。然而,VSH902-2可大于T秒的时间差量。当在DMS 102发出时间搜索请求时,所请求的位置对应于一个利用新的序列参数所编码的新的视频,并且较近VSH的接近程度大于T秒的时间差量,MCSM 120可以发送携带媒体内容的时间搜索响应到包含最后所看见VSH的客户,随后为对准到最接近所请求位置的GOP报头的分组。如图9所示,在请求时刻T2最后看到的VSH为VSH 902-2。由于VSH 902-2在预先配置的时间差量之外,MCSM120可重新发送具有VSH 902-2的分组,随后紧跟最接近的GOP报头,在这种情况下,为GH 904-p。值得注意的是,MCSM120能够使用索引记录来帮助流的重新组包从而实现该结果。这些索引记录可包括字节偏移量和VSH分组和/或GH分组的长度。

在此所阐述的大量的具体细节提供了对于各实施例的彻底的理解。然而,本领域技术人员可以理解的是,没有这些具体的细节这些实施例也可以实施。在其它实例中,公知的操作、组件以及电路在此没有详细的说明以便不会使该实施例不清楚。可以理解的是,在此所公开的具体的结构和功能细节可以是代表性的并且不是必须限定该实施例的范围。

可使用一个或多个硬件元件来实现各种实施例。通常,硬件元件指的是任何为执行某种操作而配置的硬件结构。在一个实施例中,例如,硬件元件可包括任何在基片上构建的模拟或数字的电的或电子的元件。例如,该构造可使用硅集成电路(IC)技术来实施,如互补型金属氧化物半导体(CMOS)、双极性、以及双极性CMOS(BiCM0S)技术。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻、电容、电感等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。该实施例并不限于此。

各种实施例可以使用一个或多个软件元件来实现。通常,软件元件指的是设置用来执行某种操作的任何软件结构。例如,在一个实施例中,软件元件可包括适用于硬件元件如处理器执行的程序指令和/或数据。程序指令可包括以预定的语法排列的包括字、值或符号的命令的有组织的清单,当执行时,可以使处理器执行相应的一组操作。软件可用编程语言编写或编码。编程语言的示例可包括C、C++、BASIC、Perl、Matlab、Pascal、Visual BASIC、JAVA、ActiveX、汇编语言、机器代码等等。软件可使用任何类型的计算机可读媒质或机器可读媒质存储。进一步,软件可作为源代码或目标代码在媒质上存储。该软件可作为压缩和/或加密的数据来在媒质上存储。软件的示例可包括任何软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、程序、子程序、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或上述的任何组合。该实施例并不限于此。

可使用“耦合”和“连接”及其衍生的表达来说明一些实施例。应当理解的是,这些术语并不预定用作为彼此的同义词。例如,一些实施例可使用术语“连接”来指示两个或多个元件之间彼此直接物理或电连接。在另一个示例中,一些实施例可使用术语“耦合”描述来指示两个或多个元件为直接物理或电联系。然而,术语“耦合”还意味着两个或多个元件彼此之间没有直接接触,但是还彼此合作或相互作用。该实施例并不限于此。

例如,可使用任何计算机可读介质、机器可读介质或能够存储软件的物品来实现一些实施例。该介质或物品可包括任何适当类型的存储单元、存储设备、存储物品、存储介质、储存设备、储存物品、储存介质和/或储存单元,例如结合存储器406所说明的任何示例。该介质或物品可包括存储器、抽取式或非抽取式介质、可擦除或不可擦除介质、可写或可重复写入介质、数字或模拟介质、硬盘、软盘、致密盘只读存储盘(CD-ROM)、可记录致密盘(CD-R)、可重复写入致密盘(CD-RW)、光盘、磁介质、磁光介质、抽取式存储卡或盘、各种类型的DVD设备、用户识别模块、磁带、盒式磁带设备等。指令可包括任何适当类型的代码,如源代码、目标代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。指令可使用任何适用的高级、低级、面向对象、可视化、编译和/或解释的编程语言来实现,如C、C++、Java、BASIC、Perl、Matlab、Pascal、Visual BASIC、JAVA、ActiveX、汇编语言、机器代码等等。该实施例并不限于此。

除非专门声明,可以理解的是,诸如“处理”、“计算”、“确定”等术语指的是计算机或计算系统或相似的电子计算设备的行动和/或处理,上述设备在计算系统的寄存器和/或存储器中将表示物理量(如,电子)的数据操作和/或转换为在计算系统的存储器、寄存器或其它信息存储物质、发送和显示设备中的类似地表示为物理量的其它数据。该实施例并不限于此。

如在此所用的,引用“一种实施例”或“实施例”意味着结合该实施例所说明的特定的元件、特性、结构或特征包括在至少一种实施例中。在说明书的不同地方出现的短语“在一种实施例中”并不是全部都指同一实施例。

虽然在此如所说明的示出了实施例的某些特性,但是现在对于本领域技术人员来说还可以进行很多修改、代替、变化以及等同。因此,可以理解的是,随后的权利要求意图覆盖所有这些落在实施例的真正精神范围之内的这些修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号