一种在视频资源中使用信息集的方法

文档序号:7651962阅读:724来源:国知局
专利名称:一种在视频资源中使用信息集的方法
技术领域
本发明涉及视频信息处理技术领域,尤其涉及一种在视频资源中使用信息集的方法。
背景技术
现有技术中,一幅图像由若干片组成,每片包含一系列的MB(MacroBlock,宏块)。MB的排列可按光栅扫描顺序,也可不按扫描顺序,光栅扫描将二维矩形光栅映射到一维光栅,一维光栅的入口从二维光栅的第一行开始,然后接着扫描第二行、第三行,依次类推,光栅中的行从左到右扫描。其中,灵活的宏块排序FMO(Flexible macroblock ordering,也被称为条带组slice groups技术)模式是H.264的一大特色,适用于H.264的基本档次和扩展档次的应用。
图像内部预测机制,例如帧内预测或运动矢量预测,仅允许用同一片组里的空间相邻的宏块或条带,每个片独立解码,不同片的宏块不能用于自身片中作预测参考,因此,片的设置不会造成误码扩散。FMO模式通过宏块分配映射技术,把每个宏块分配到不按扫描顺序的片中,FMO模式划分图像的模式包括各种各样,其中,棋盘模式、矩形模式等比较重要,当然FMO模式也可以使一帧中的宏块顺序分割,使得分割后的片的大小小于无线网络的MTU(Maxim Transport Unit,最大传输单元)尺寸,经过FMO模式分割后的图像数据分开进行传输。FMO虽然可以作为单一的传输或纠错单位,但是在这个范围(Slice Group)中,仍然没有任何机制感受用户的操作。
在现有技术中,视频或巨型图像信息都是一个统一的整体,对于视频而言,总是遵循着从第一帧播放到最后一帧的功能,播放器可以通过RTSP(Real-time Streaming Protocol,实时流协议)灵活地实现视频节目的快进快退。对于图像而言,通常是采用搜索某一个位置的固定坐标,然后精确定位到这一个具体位置的方法。不管是对于视频还是图像由于位置方面信息非常有限,例如很难定位到某个帧中某个区域中具体的某个宏块,因此很多应用都不能够顺利展开。尤其是在视频中,这种位置资源的确定仍然是一块空白。
然而,由于视频编码以外其它相关信息(如,服务信息)匮乏,并且视频本身不提供跳转或取回数据的方法和手段,因此把视频和一些服务结合起来以及和用户及时互动会变得比较困难,进而,使现有的IPTV(InternetProtocol Television)系统缺少和用户产生互动的有效方法,因此不可能对用户的数据进行收集。
现有视频资源处理方法中,由于只是单纯的把视频图像推向用户,而无法有效的完成和用户的互动。更由于现有的视频编码本是以视频压缩为目的,利用现有网络传输高质量的视音频信息,本身设计目的也无法实现和用户的互动。在现有的流行编码中比较成熟的有H.264/MPEG 4/MPEG 2/AVS等视频编码,这些编码均是以压缩编码和解压缩为目的。但是随着网络技术的提高,网络带宽问题逐渐解决,用户会对视频提出更多的要求,不光是视频本身质量上的要求,而且需要更多的应用和互动。

发明内容
本发明实施例要解决的问题是提供一种在视频资源中使用信息集的方法,以解决现有技术中视频资源相关信息匮乏,及用户与服务互动不灵活的缺陷。
为了实现上述目的,本发明的实施例提供了一种在视频资源中使用信息集的方法,包括以下步骤服务端在视频资源中通过以视频帧外加入方式或视频帧内加入方式增加信息集;所述视频帧外加入方式包括信息集描述文件方式、服务帧方式或消息通信的方式;所述视频资源包括视频文件、视频帧、视频图像和视频流;所述信息集包括位置集和/或操作集和/或功能集;所述服务端将信息集发送到客户端或在客户端设置信息集;所述服务端包括视频服务端和/或信息集加入服务端;所述客户端根据所述信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活所述位置集和/或操作集所对应功能集,执行对应功能,所述操作集和/或功能集在客户端设置和/或在服务端设置。
所述位置集对应的操作集和功能集在客户端内设置和/或由所述服务端发送到客户端,位置集和/或操作集和/或功能集可以不包含在服务端发送到客户端的信息集中,而在客户端或扩展服务端中设置。
所述位置集进一步包括视频帧内或图像内具体位置的坐标,或者帧内的宏块、条带位置信息;或视频帧内或图像内指定区域或指定区域轮廓或条带组位置信息;或视频帧在整个帧序列中的位置标识;或节目帧序列组标识;或流标识;所述功能集进一步包括取回具体指定位置内容的对象信息、跳转到具体指定位置、向指定对象位置发送信息、打开或插入指定位置的对象、关闭显示指定位置的对象和移动指定位置的对象;所述的指定位置包括网络中具体的URL、硬件设备中某一个设备地址、存储设备中某一个存储位置、显示屏幕中具体位置、浏览器中具体位置、播放器播放窗口中具体位置;所述操作集进一步包括鼠标操作、键盘操作、播放时搜索信息集位置并按预先设定程序操作和消息程序驱动操作;所述位置集、操作集和功能集可以任何比例关系对应包括一个位置集元素多个操作集元素多个功能集元素;多个位置集元素多个操作集元素多个功能集元素;一个位置集元素一个操作集元素多个功能集元素多个位置集元素多个操作集元素一个功能集元素;一个位置集元素多个操作集元素一个功能集元素;多个位置集元素一个操作集元素多个功能集元素;一个位置集元素一个操作集元素一个功能集元素;多个位置集元素一个操作集元素一个功能集元素;在位置集元素中不包含属性或包含一个属性或多个属性。
所述位置集中每个位置都对应一个对象视频帧内或图像内具体位置的坐标,或者帧内的宏块、条带的位置信息-对应一个点对象;或视频帧内或图像内指定区域或指定区域轮廓、条带组位置-对应视频资源内的一个块对象,所述块是点或宏块或条带的集合;或视频资源在整个帧序列中的位置标识-对应一个帧对象;或节目帧序列组标识-对应一个节目对象;
或流标识-对应一个流对象;所述位置对象都包含一种或多种对象的属性信息,所述属性信息包括优先级信息、透明度信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集的加入时间和/或有效时间、从位置集引入新对象的属性;所述对象属性中优先级信息用于不同位置集的合并操作不同优先级的流在同一播放器中同时播放时,播放优先级最高的流;不同优先级的节目帧序列组在同一播放器中同时播放时,播放优先级最高的节目帧序列组;不同优先级的帧在同一个客户端中同时播放时,播放优先级最高的帧;或不同优先级的区域在同一帧内显示时,显示优先级最高的区域;即不同优先级的多个信息处于位置集中同一位置,并且所述信息在同一个播放器中同时播放,只播放优先级最高的信息;所述对象属性中透明度信息用于对位置集对应对象的透明度定义;所述对象属性中加密信息用于对位置集对应对象的加密,包括加密方式、密钥信息;所述对象属性中版权信息用于对位置集对应对象的版权说明和保护,包括版权的归属信息、版权的鉴权信息、版权的使用信息;所述对象属性中客户信息用于对位置集对应对象的客户权限说明和使用客户分类信息,所述客户权限说明包括下载权限、播放权限,所述使用客户分类信息包括对内容本身的分类控制;所述对象属性中从位置集引入新对象的属性用于标识从位置集中引入新对象的属性和功能以及运动情况的说明,所述新对象包括视频、动画、图片、图像、声音、文字;所述从位置集引入新对象的属性包括新对象的创建时间、在位置集中的位置参数、运动状态、持续或结束该对象时间以及和位置集或周围对象关系。
所述位置集中帧内区域获取方法包括采用H.264中FMO模式,通过设置宏块次序映射表来任意地指配宏块到不同的片组,把片组区域作为加入信息集的位置;或采用MPEG4中的VOL的方法,把对象流在帧中对应的显示区域位置作为加入信息集的位置;或采用图像识别算法、对象跟踪算法、前景对象从背景中提取的算法或通过在相隔的数帧分别标明对象区域再通过插值的方法,在视频帧内划分出不同的区域,上述区域作为加入信息集的位置。
客户端和/或服务端和/或扩展服务端设置有信息集全集,包括所有的位置集、操作集和功能集,以及位置集对应对象的属性,而客户端获得的和视频资源对应的信息集作为所述信息集全集的一个子集。
所述客户端根据所述信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活所述位置集中对应功能集,执行对应功能具体包括所述客户端首先判断信息集中的位置集信息是否在位置集的全集中,如果不在,则无操作或操作无效,如果在,则获取当前操作集,然后判断在这个位置集中是否存在相应的在操作集中的操作,所述操作集应该在操作集全集中;如果有,则执行位置集和操作集对应的功能集的程序指令,如果没有,则不执行功能集的程序指令。
所述功能集中包括跳转功能,具体包括从一帧进行对应操作后跳转到另一帧;从一帧内显示区域跳转到另一帧内指定区域;从一帧内显示区域跳转到另一帧;从一帧跳转到另一帧内指定区域。
在视频帧内划分所述区域方式包括以下两种情况,以对象划分区域或自由划分区域。
本发明还提供了一种在视频资源中使用信息集的系统,包括客户端和服务端,所述服务端,在视频资源中通过以视频帧外加入方式或视频帧内加入方式增加信息集,并将信息集发送到所述客户端;所述视频帧外加入方式包括信息集描述文件方式、服务帧方式或消息通信的方式;所述客户端,根据所述信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活所述位置集和/或操作集中对应功能集,执行对应功能,所述操作集和/或功能集在客户端设置和/或在服务端设置。
所述服务端具体包括媒体导入模块,用于将媒体流导入服务端;信息加入模块,用于生成信息集文件和/或将信息集加入媒体文件;媒体存储模块,用于存储所述信息集和/或媒体文件;
网络模块,用于服务端向客户端发送信息集和/或媒体流;所述客户端具体包括网络模块,用于从所述服务端获取信息集和/或媒体流;信息识别模块,用于获取并识别信息集内容,包括位置集、操作集和功能集;操作感应模块,用于获取所述位置集对应的操作集所进行地操作;功能实现模块,用于触发所述位置集和/或操作集所对应的功能集,执行相应功能;媒体播放模块,用于播放对应的媒体信息;所述服务端与一个或多个客户端配合实现信息集对应功能或所述客户端与一个或多个服务端配合实现信息集对应功能。
还包括扩展服务端,所述客户端与扩展服务端配合完成指定的功能;所述扩展服务端包括功能实现模块,用于和客户端功能实现模块配合,完成所述信息集中对应的功能;网络模块,用于所述客户端和所述扩展服务端信息通信;所述扩展服务端与一个或多个客户端配合实现信息集对应功能或所述客户端与一个或多个扩展服务端配合实现信息集对应功能;在系统层面上,服务端、客户端和扩展服务端可以两两合并,即功能上相互独立,也可以放在一个硬件里实现或者放在一个软件平台上实现;位置集、操作和功能集可能以特定的功能形式出项,如把操作集规定在客户端或者服务端或者扩展服务端;功能集也用特定的程序在客户端或者扩展服务端实现。
本发明还提供了一种在视频资源中加入服务帧的方法,包括以下步骤服务端在视频资源中新建服务帧;在所述服务帧中加入信息集内容;所述服务端使用所述服务帧承载信息集,发送到客户端;其中,每一个服务帧对应连续或离散的一个或多个视频帧。
所述服务帧具有基本的帧结构,所述帧结构中封装信息集;所述服务帧承载的信息集包括位置集和所述位置集对应的操作集,以及位置集和/或操作集所对应的功能集;所述位置集中每个位置都对一个对象,所述位置对象都包含一种或多种对象属性,所述位置集对象属性中还包括优先级信息、透明度信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集的加入时间和/或有效时间、从位置集引入新对象的属性。
所述服务帧在创建视频帧文件的同时创建或先生成视频帧文件后再创建服务帧;所述服务帧和视频帧在一条传输通道里面传输或分别在不同传输通道中传输;所述服务帧和视频帧用同一语法结构解析或者用不同的语法结构解析;所述服务帧和视频帧保存在同一文件内或分别保存在不同的文件中;所述服务帧采用压缩的方法或不压缩的方法传输。
本发明还提供了一种在视频资源中加入帧序列组的方法,包括以下步骤在服务端选择具有逻辑关系的多个相邻或不相邻的帧,并把这些帧作为一个有序的集合,即帧序列组;把帧序列组开始和/或结束的位置作为位置集中的一个元素;并把帧序列组这个位置对象的属性加入到对应的位置集中的属性中。
所述帧序列组和逻辑上连续的视频片段相对应,并且帧序列组位置对象的属性包括优先级信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集加入时间和/或有效时间;所述对象属性中加密信息用于对位置集对应对象的加密,包括加密方式、密钥信息;所述对象属性中版权信息用于对位置集对应对象的版权说明和保护,包括版权的归属信息、版权的鉴权信息、版权的使用信息;所述对象属性中客户信息用于对位置集对应对象的客户权限说明和使用客户分类信息,所述客户权限说明包括下载权限、播放权限,所述使用客户分类信息包括对内容的分类控制。
本发明还提供了一种在视频资源中加入区域对象及其区域对象属性的方法,包括以下步骤
服务端在视频资源内划分区域,所述区域划分方式包括以对象划分区域或自由划分区域;服务端根据所述区域作为对象,并为每个对象设置相应的属性信息,并设置对应信息集。
所述对象划分区域包括通过人工标明对象区域,再自动跟踪对象位置,并标识出对象的轮廓信息;或通过人工在相隔的数帧分别标明对象区域,再通过插值的方法,模拟出对象运动轨迹,并且标识出对象的轮廓信息。
本发明还提供了一种在视频资源中加入优先级的方法,包括以下步骤服务端在信息集中位置集的属性信息中加入优先级信息;所述客户端根据所述优先级进行不同位置的合并操作不同优先级的帧在同一个客户端中同时播放时,只播放优先级最高的帧、或不同优先级的区域在同一帧的显示时,显示优先级最高的区域。
本发明还提供了一种通过对视频帧中位置集对象操作收集用户信息的方法,包括以下步骤客户端获得流媒体和所述流媒体对应的信息集;客户端执行和所接收媒体对应的信息集中操作集,并把信息集内容和客户信息发送到扩展服务端;扩展服务端收集来自客户端的客户信息和媒体相关内容信息;所述客户信息包括客户的网络地址、客户ID、客户属性。
本发明还提供了一种在视频帧内使用信息集的方法,包括以下步骤服务端获得需要加入信息集的视频帧;在帧内选择位置加入信息集;所述选择位置包括在视频帧的头部或在视频帧的尾部。
本发明还提供了一种在视频资源中加入区域位置轮廓的方法,包括以下步骤把所述区域位置分割成相同大小的正方形,所述正方形按像素计算包括1×1、2×2、4×4、8×8、16×16、32×32;并把每一种直线穿过正方形的情况用一个号码标记;所述正方形的被区域位置轮廓穿过时,标记穿入和穿出正方形的两点,然后用直线连接所述两点来作为区域位置轮廓的一部分;
当把所述区域位置轮廓全部用穿过正方形的直线段标识时,按照直线穿过正方形的情况找出最接近已有号码标记的一项,再按照预先定义的穿过正方形的情况号码来标记。
本发明还提供了一种在视频帧现有视频结构上设置区域或区域轮廓的方法,包括以下步骤视频编码时,在现有的三维视频数据之上加上新的平面,并在该平面中设置区域或区域轮廓;服务端把新的平面和原有的视频数据一起编码并发送到客户端;所述在平面中设置区域的方法为用区域编号的方法或采用几何形状参数的方法;所述新的平面的数目可以是一个或多个。
本发明还提供了一种确定服务层中位置信息并控制对象的方法,包括以下步骤接收到视频信息,并在普通视频播放层内播放视频信息;在普通视频播放层之上叠加服务层,确定服务层中的位置信息,并在所述服务层内确定的位置控制新媒体对象;所述新媒体对象的位置在信息在信息集中的位置集定义或在客户端通过鼠标或键盘选定的固定位置;所述操作新媒体对象的方法包括本地控制和远端控制,本地控制指通过键盘或鼠标来操控新媒体对象,远端控制是服务端通过信息集的方式来控制新媒体对象;所述控制新媒体对象的方法包括创建对象、移动对象、注销对象、对象变换;所述新媒体对象包括视频、动画、图片、声音或文字。
与现有技术相比,本发明实施例具有以下优点本发明实施例中,引入了位置集对象和位置集对象属性的概念,可以对视频做更精确的控制。改变现有视频技术只重压缩,轻视应用的现状,为视频技术的应用提供了一个很好的实现平台。本发明把应用和视频本身紧密的结合起来,然后配合操作集和功能集完成和视频接收客户端的交互功能。本发明为了更好的发挥位置对象的功能,对位置对象定义了各种属性,这些属性的引入,可以更好的发挥对位置对象的应用。
本发明实施例中,引入位置集、操作集和功能集的概念,以及新的通信传输方法来实现和用户的互动功能;很好的完成了和用户的互动功能,还可以完成精确地对用户信息的采集和分析,因此可以实现服务的个性化,对每一个用户推送其所需要的内容。例如,一个用户经常点击什么样的内容或商品,就给这个用户推送什么样的广告,这样可以实现广告追人,实现广告技术的变革。


图1是本发明一种在视频资源中使用信息集的方法流程图;图2是本发明中位置集、操作集和功能集相互关系示意图;图3是本发明中利用位置集、操作集和功能集进行操作流程图;图4是本发明中位置集包括对象划分示意图;图5是本发明中具有起始码和结束码的节目帧序列组结构图;图6是本发明中在一幅图像内从指定区域跳转到另一指定区域的示意图;图7是本发明中一幅图像中三个区域对应的位置集、操作集和功能集的示意图;图8是本发明中连续帧中实现取回操作示意图;图9是本发明中一帧进行对应操作后跳转到另一帧的示意图;图10是本发明中一帧内显示区域跳转到另一帧内指定区域示意图;图11是本发明中一帧内显示区域跳转到另一帧示意图;图12是本发明中一帧跳转到另一帧的指定区域示意图;图13是本发明中用不同的数字集来表示一个图像内区域的示意图;图14是本发明中采用16分割方法表示一个图像轮廓示意图;图15是本发明中8×8宏块处理示意图;图16是本发明中图13经过中心处理后的示意图;图17是本发明中使用椭圆或矩形标注一个轮廓示意图;图18是本发明中在视频资源中使用信息集的方法流程图;图19是本发明中每一个宏块的位置唯一确定其在图像中的位置示意图;图20是本发明中一种区域划分示意图;
图21是本发明中一种典型的优先级区域划分示意图;图22是本发明中一种在视频资源中加入信息集的系统结构图;图23a和图23b是本发明另一种在视频资源中加入信息集的系统结构图;图24是本发明中新增服务帧示意图;图25a和图25b是本发明视频帧内服务区示意图;图26是本发明在消息驱动的模式下,服务端、客户端和扩展服务端是配合工作的示意图;图27是本发明在生成信息集文件的模式下,服务端、客户端和扩展服务端配合完成功能的示意图;图28是本发明在现有的YUV三维视频编码基础上增加一维或多维来区分区域示意图;图29是本发明服务层的结构示意图;图30是本发明服务层和普通播放层关系图。
具体实施例方式
本发明中,在视频资源中使用信息集,对于一些电视、电影或广告信息可以采用在视频资源中设定位置集,然后把位置集和相关的操作集关联起来,然后把位置集、操作集和某一项具体的功能关联起来实现某种功能。
位置集包括视频帧内或图像内具体位置的坐标,或者帧内的宏块、条带位置信息;或视频帧内或图像内指定区域或指定区域轮廓或条带组位置信息;或视频帧在整个帧序列中的位置标识;或节目帧序列组标识;或流标识;如图3所示,设置位置集的方法如下视频帧内或图像内的具体位置的坐标为(x,y),而帧内的宏块位置可以由帧内宏块号来标识或者由宏块的坐标来标识,条带可以由条带号来标识,条带作为一个单独的传输结构很容易被标识。帧内坐标结构为一个点对象,条带或宏块虽然也是一个区域,但是也是基本的显示单元,因此在本发明实施例中也作为一个点对象处理。在传输的时候可以放在帧内服务区中传输,也可以用服务帧的方式传输。
视频帧内条带组、指定区域或指定区域轮廓在本发明实施例中作为一个区域对象。条带组表示的方法现在已经成熟,有条带组的标号可以表示。指定区域对象可以借用条带组的方法来表示,最后表示为区域号码。在区别不同区域或轮廓的时候,可以采用本发明实施例的区域号码,如图13到17所示。如果采用类似条带组的方法表示区域则需单独编码,如果采用区域号的方式,则不需要单独编码。可以在现有的YUV三维视频编码基础上,增加一维或多维来区分区域,如图28所示,也可以采用服务帧的方法,在服务帧中区分出不同的区域位置。采用上述增加视频现有维度的方法时,可以把增加的信息放在视频帧内服务区来编码传输,也可以放在服务帧中编码传输。当然也可以用控制文件或者消息的方式来传输区域信息。
视频帧在整个帧序列中的位置标识为帧的序列号,每一个帧都有一个编号或起始码/结束码来表示该帧或图像在整个帧序列中的位置。把这个位置信息可以放在服务帧中进行传输,这样方便控制以及操作集和功能的加入。
节目帧序列组的位置可以和视频帧的位置相同,采用一个帧的序列号来标识,或者采用单独的结构,如图5所示。目的是为了能够在连续的视频传输过程中,区分出一个个节目,节目的区分往往需要人为干预。人工的设定哪里是节目的开始,哪里是节目的结束。同样可以采用帧内或帧外的服务控制模式。
视频流标识的方法,可以设置视频流的号码,如1、2、3...。或者采用来自不同的地方的IP地址(包括原地址或目的地址,包括广播地址和非广播地址)来区分不同的流;或者采用每个频道单独的标识编号来进行标识。传输的方法依然是可以采用帧内或者帧外服务两种控制模式。
需要注意的是,由于位置集具有一定的归属关系,例如,一个坐标或一个宏块一定包含在一个区域内,这个区域又进一步包含在一个帧内、一个帧可能包含在一段节目帧序列组内,而这个节目帧序列组一定属于某一个具体的流,这样就使得如果要标识更精确的位置,在图4中表示为更下层的位置,往往需要包含该位置更上层的位置属性,例如,要确定一个区域的位置,往往会以下面一种方式**流>**节目帧序列组>**帧或层>**区域,其中“>”表示区域的层次关系,这种层次关系也在图4中有所表示。
其中层包含有普通视频播放层和本发明中定义的服务层,服务层的大小通常和视频播放层大小相同,但是服务层位于视频播放层之上。在位置集中同样可以精确定位到服务层中的某个区域、区域轮廓或具体坐标位置。
本发明的信息集、操作集和功能集都是抽象的集合概念,并不代表在实际的应用中真的存在这样的功能名称或单位。只要属于本发明的方法逻辑,皆属于本发明保护的内容。
本发明提供了一种在视频资源中使用信息集的方法,如图1所示,包括以下步骤步骤s101,服务端在视频资源中通过以视频帧外加入方式或视频帧内加入方式管理并作为信息集的载体来传送信息集,视频帧外加入方式包括信息集描述文件方式、服务帧方式或消息通信的方式。其中,信息集中包括位置集、操作集和功能集。位置集进一步包括视频帧内或图像内具体位置的坐标,如视频帧内某点或像素的横纵坐标值或球面的经纬坐标值,或者视频帧内的宏块,或条带位置信息;或视频帧内或图像内指定区域或指定区域轮廓、条带组位置信息,轮廓通常和视频资源内某些位置或对象相对应,采用编码的方法区分视频帧内或图像内具体对象的轮廓或位置坐标、视频帧内或图像内划分的不同区域位置或轮廓;视频资源在整个帧序列中的位置标识,如视频资源的起始码、结束码等,即某个具体节目段在这个视频直播点播中对应的开始或结束帧的位置或序列编号等;或节目帧序列组标识,用以标识一段内容相关联的帧的集合,如电视剧的一个剧集、一段录像等;或流标识。
另外,位置集还包括位置的属性信息,属性信息中包括优先级,优先级用于不同位置的合并操作不同优先级的帧在同一个客户端中同时播放时,播放优先级最高的帧、或不同优先级的区域在同一帧的显示时,显示优先级最高的区域。
位置集中每个位置都对应一个对象视频帧内或图像内具体位置的坐标,或者帧内的宏块、条带的位置信息-对应一个点对象;或视频帧内或图像内指定区域或指定区域轮廓、条带组位置-对应视频帧内的一个块对象,这个块是点或宏块或条带的集合;或视频帧在整个帧序列中的位置标识-对应一个帧对象;或节目帧序列组标识-对应一个节目对象;或流标识-对应一个流对象;位置对象都包含一种或多种对象的属性信息,属性信息包括优先级信息、透明度信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集加入时间和/或有效时间等。
对象属性中优先级信息用于不同位置集的合并操作不同优先级的流在同一播放器中同时播放时,播放优先级最高的流;不同优先级的节目帧序列组在同一播放器中同时播放时,播放优先级最高的节目帧序列组;不同优先级的帧在同一个客户端中同时播放时,播放优先级最高的帧;或不同优先级的区域在同一帧内显示时,显示优先级最高的区域;即不同优先级的多个信息处于位置集中同一位置,并且其在同一个播放器中同时播放,只播放优先级最高的信息。对象属性中透明度信息用于对位置集对应对象的透明度定义;对象属性中加密信息用于对位置集对应对象的加密,包括加密方式、密钥信息;对象属性中版权信息用于对位置集对应对象的版权说明和保护,包括版权的归属信息、版权的鉴权信息、版权的使用信息;对象属性中客户信息用于对位置集对应对象的客户权限说明和使用客户分类信息,客户权限说明包括(也可以放在版权信息的DRM中)下载权限、播放权限,使用客户分类信息包括对内容本身的分类控制。
功能集进一步包括取回具体指定位置内容的对象信息、跳转到具体指定位置、向指定对象位置发送信息、打开或插入指定位置的对象、关闭现实指定位置的对象和移动指定位置的对象。其中,指定位置包括网络中具体的URL、硬件设备中某一个设备地址、存储设备中某一个存储位置、显示屏幕中具体位置、浏览器中具体位置、播放器播放窗口中具体位置。为了实现位置集中的优先级功能,需要在功能集中设置优先级信息,对于区域划分在不同的区域设置不同的优先级,然后在同一个图像中对多幅图像叠加显示,确定最终图像各部分优先级。对于区域划分如图21的典型应用,可以在不同的区域设置不同的优先级,优先级用P表示,假设0级为最高级,1级次高,优先级依次降低。可以在不同的图像中设置优先级,然后在同一个图像中叠加显示。比如,图像1和图像2通过优先级叠加后显示为图像3。图像1中A区域的优先级最高为0,要大于图像2中的E区域,所以在图像3中相同位置显示出叠加后的结果为图像1中A区域值。同理,图像1中的B区域优先级要高于图像2中的F区域,因此在图像3中叠加后的结果为图像1中B区域值。同理可以发现图像2中的G和H区域的优先级要大于图像1中相同的位置C和D,因此最终合成了图像3的情形。
操作集又称激活信息集,进一步包括鼠标操作、键盘操作、播放时搜索信息集位置并按预先设定程序操作和消息程序驱动操作等。
所述位置集、操作集和功能集可以采用任何比例关系对应,包括一个位置集元素多个操作集元素多个功能集元素;多个位置集元素多个操作集元素多个功能集元素;一个位置集元素一个操作集元素多个功能集元素多个位置集元素多个操作集元素一个功能集元素;一个位置集元素多个操作集元素一个功能集元素;多个位置集元素一个操作集元素多个功能集元素;一个位置集元素一个操作集元素一个功能集元素;多个位置集元素一个操作集元素一个功能集元素。
在视频帧内或图像某一个区域设置位置集中帧内区域获取的方法有三种一种是采用H.264中FMO模式,通过设置宏块次序映射表(MBAmap)任意指配宏块到不同的片组,把片组区域作为加入信息集的位置。FMO模式打乱了原宏块顺序,降低了编码效率,增加了时延,但增强了抗误码性能。FMO模式划分图像的模式各种各样,重要的有棋盘模式、矩形模式等。当然FMO模式也可以使一帧中的宏块顺序分割,使得分割后的片的大小小于无线网络的MTU尺寸。因此可以把片组位置作为加入信息集的位置,即把片组的标识和某一种具体的信息相对应。
一种是采用MPEG4中的VOL的方法,即一个单独的前景对象流,把对象流在帧中对应的显示区域位置作为加入信息集的位置。
一种是采用图像识别算法、对象跟踪算法、前景对象从背景中提取的算法或通过人工在相隔的数帧分别标明对象区域再通过插值的方法,在帧内划分出不同的区域,上述区域作为加入信息集的位置。
加入的信息要起作用,首先必须能够在视频资源内能够被定位,即位置存在并可以定位,而后才能够提取操作集和功能集。通常处理位置集信息的方法有两种情况,一种是已经在现有的视频资源中,如帧的序列编号等帧信息可以唯一确定某一帧的位置,又如图像的位置坐标(像素表示),这样只需要定义操作集和功能集即可。另一种是现有的视频资源中没有的,如视频资源内的具体对象的轮廓信息,再如把视频资源内划分的区域信息和标识一个完整节目的信息。这些信息都需要在本发明中定义,并把这些位置信息和操作集以及功能集对应起来。
视频帧内服务区可以放在现有的视频帧内,现有视频帧分为帧头部,和视频帧数据两部分,而视频帧服务区可以放在现有视频帧尾部,即视频帧内数据部分后面,或者夹在现有的视频帧头部和视频数据两部分之间,如图25a和图25b所示。
步骤s102,服务端将信息集发送到客户端。位置集通常定义在视频资源中,而操作集和功能集通常有以下两种方法实现。第一种是把操作集和/或功能集的子集信息也通过服务器端向客户端传送,而在客户端定义出操作集和/或功能集的全集,客户端通过预定程序接收服务端的操作集或功能集的子集,然后更具用户的具体操作执行某项功能。在传输的时候,可以把操作和功能的子集看作数据信息或控制信息来传递,现有的传输协议中如RTP协议和RTCP协议往往将语音或视频和控制信息分离,亦或在TS结构中将Video、Audio和data分开打包的方式传输,还可以通过一个单独的文件来传输操作子集和/或功能子集的内容。第二种服务端只传位置集,操作集和功能集只定义在客户端或服务器端。通过程序远程调用(callback)或消息等方法完成操作集和功能集调用,完成预定功能。如图23a和图23b所示,既可以分别用不同端口传输视音频和服务数据,也可以把视音频和服务数据统一封装在一个结构中,通过同一端口传输。如果客户端再接收到视频内容和信息集后,同样再对视频内容加以编辑,加入新的信息集,并把视频内容发给服务端或扩展服务端时,在这种新的交互过程中,其实客户端已经在扮演服务端的角色了。因此实质上还是C/S(客户端/服务端)的模式,本质上没有改变。
实际上客户端只要能够获得信息集,就可以完成本发明实施例的功能。至于从那里获取并不是唯一的,可以从信息集服务端获取,如图22,这时的信息集服务端和媒体服务端统称为服务端,也可以在客户端人工设置信息集内容,来完成指定功能。信息集通常是和媒体服务端放在一起,但也可以将信息集放在和媒体服务端不同的服务器上。
步骤s103,客户端根据信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活位置集和/或操作集所对应功能集,执行对应功能,其中操作集和/或功能集可以在客户端定义和/或在服务端定义。其中,位置集对应的操作集和功能集在客户端预先设置,或者由服务端发送到客户端,而该位置集必须由服务端发送到客户端。操作集和功能集可以不包含在服务端发送到客户端的信息集中,而是预先在客户端或扩展服务端中定义。
客户端可以定义信息集的全集,包括所有的位置集、操作集和功能集,从而可以判断从服务端发送到客户端的信息是否包含在信息集的全集中;服务端可以定义信息的全集,包括所有的位置集、操作集和功能集,从而可以对原始的视频进行处理加入信息集。
下面结合具体实施例进行详细说明,如图2所示,位置集、操作集和功能集三位一体,协同工作。位置集保证在视频资源中某一个位置能够被唯一确定,并且可以保证这一个位置可以被一个或多个固定的操作或自动的操作激活一项或多项新的服务功能。位置集信息可以通过加入到编码中或者以一个单独的文件的方式获取,或者和收看用户建立专门的连接通道通过消息的方式来获取,其中位置集包含在视频资源中,如码流中、视频帧中等。位置集并不一定可以和看到的视频图像中某一个位置相对应,而是一个抽象的感念。位置集和操作集相对应,而某一个位置的一种操作又和一种或多种功能集相对应。而每一种功能往往会对一个位置进行操作或者把功能实现结果返回到某个位置,以上两种位置不在位置集中定义,原因是由于功能的变化多种多样,很难确定的定义出某一个位置作为功能的操作或者返回的位置,几乎所有的位置皆可以作为功能的操作或返回的位置。位置集、操作集和功能都可以设置一个全集的概念,但是由于功能集所描述的功能范围过于开放,也可以不设置全集。操作集信息可以通过用户接收的方式获取或者在用户端程序中规定出这些操作集。操作集中每一项操作又对应一项或多项功能集,功能集信息可以通过用户接收并且在用户端程序中规定出这些功能集,而且在功能集对应的服务端也要规定出所有的功能集并实现这些功能。有时候客户端同时也作为服务器端实现部分功能,例如,跳转功能的实现,用户可以通过点击视频资源中某一具体位置跳转到某一个具体的URL中去,这一个跳转功能作为功能集的子集在服务端可以自动完成。
某一个视频数据或图像中设置的信息集信息,对应一种或几种信息集中的信息类型,对应某一种或几种操作集中的操作,就可以完成功能集中某一种或几种特定的功能。如图3所示,客户端首先判断信息集中的位置集信息是否在位置集的全集中,如果不在,则无操作或操作无效,如果在,则获取当前操作集,然后判断在这个位置集中是否存在相应的在操作集中的操作,所述操作集应该在操作集全集中;如果有,则执行位置集和操作集对应的功能集的程序指令,如果没有,则不执行功能集的程序指令。
在图3中增加服务帧的概念,服务帧的作用是承载服务信息,并尽可能少改变现有帧结构。为了传输的方便,现有的网络上的多数视频均是经过压缩后的视频信息。为了加入特定服务的方便,对应现有的视频帧,如I帧、B帧、P帧,加入服务帧的概念,每一个服务帧对应连续或离散的一个或多个帧;如图24所示,服务帧X对应ABCD四帧。
服务帧包括以下内容服务帧的所对应的视频帧(这里的视频帧指通过压缩的传输视频编码的帧);对应视频帧的消息集,包含位置集、功能集和操作集。服务帧可以放在如图23b所示的视频流中传输,或者放在服务流中传输,如图23a所示。而服务帧所对应离散或连续的一个或多个视频帧。一个服务帧如果对应一个服务帧时,服务帧将承载所提供服务的视频帧所有的服务信息,这些信息包含在消息集中。
本发明的一个重点是把现有的视频流这种非标准的数据结构改成标准的数据结构,其目标是,能够容易定位这个视频流中的任何一个位置,如图4所示,为现有的流标记出,流的编号、节目帧序列组位置和编号、帧位置和编号、对象区域或区域轮廓位置和编号、以及条带/宏块/帧内具体坐标的位置等精确的位置信息,并把这些信息构成一个完整的位置集。
对于帧的位置,现有的MPEG-2系统规范定义了三种数据包(PES、PS和TS)及两种数据流(PS和TS)。将具有共同时间基准的打包基本流(PES-Packetized Elementary Stream)复用而成的单一的数据流称为节目流(PS-Program Stream)。视频基本码流(ES-Elementary Stream)是指只包含1个信源编码器的数据流。每个ES都由若干个视频(包括I、P、或B帧)或者音频存储单元(AU-Access Unit)组成。每个AU包含头部和编码数据两个部分。ES分组为PES之后,每个PES包是由包头、ES特有信息和包数据3个部分组成。PES包头由起始码前缀、数据流识别及PES包长信息3部分构成。包起始码前缀是用23个连续“0”和1个“1”构成的;表示有用信息种类的数据流识别,是1个8bit的整数。由二者合成1个专用的包起始码,可用于识别数据包所属数据流(视频、音频、或其它)的性质及序号。包头和ES特有信息二者可合成1个数据头,包括时间信息预定显示时间PTS和解码时间DTS。PES流的包是可以任意长度的,甚至可以是整个序列的长度。PES进一步可以打成PS包或者TS包,形成节目流或传输流。这一特点决定了节目流PS和传输流TS之间是可以相互转换的。PS包由包头、系统头、PES包3部分构成。其中PS包头由PS包起始码、系统时钟基准(SCR-System ClockReference)的基本部分、SCR扩展部分和PS复用码率4部分组成。因此可以在TS的计算器结构中找到每一个帧的序列号。或者找到GOP(图像组)的位置,然后通过帧在图像组中的序列号找到具体帧的位置。
同样可以自行定义专门的视频帧在整个视频序列中的序列号,并把这个编号放在视频流中传送到客户端加以识别。视频帧序列编号应该大于或等于3个字节,如果按每秒30帧计算,一天内的视频节目总帧数3个字节就可以完整表示。这个帧序列号通常放在传输单元的头部。以上方法为把帧内置标识放在现有的TS中,同样也可以放在RTP结构中。还可以放在本发明定义的服务帧中。
对于流的编号可以放在现有的TS或RTP等传输结构中,如TS包头里面或扩展位等等,也可以放在本发明定义的服务帧中。
对于节目帧组列组编号和位置定义同样可以放在现有的TS或RTP传输结构中,如TS包头里面或扩展位等,也可以放在本发明定义的服务帧中。但是需要注意的是节目帧序列组和现有技术中的GOP(图像组)不同,图像组概念没有节目概念,图像组内不并没有包含图像之间关联的逻辑含义,只是把图像序列单纯的分割为不同的图像组单元。而本发明中的节目帧序列组是逻辑上关联的一组视频帧,往往是一个单独的节目或逻辑上关联的视频片段。
对于视频帧或图像内的区域或条带组或区域轮廓的编号或序号可以放在TS或RTP传输结构中,如包头位置,但是区域的内容或属性则建议放在本发明定义的服务帧中。当然也可以把所有的视频帧或图像内区域信息均放在服务帧中。对于视频内坐标、条带(slice)和宏块也是采用上述处理方法。但是需要注意的是,条带,条带组,宏块的位置在现有技术中已经有明确规定,而其它位置则属于本发明的创造发明特有。
以上所述,凡是在RTP或TS中利用包头或帧内空间承载的方式均属于本发明提到的帧内服务的方式,而利用服务帧或文件的方式均属于帧外服务模式。
视频流中节目帧序列组,节目帧序列组分为具体帧,具体帧中包括条带组、条带、宏块和具体的点坐标,位置集标识的范围实际上是一个对象概念,如节目帧序列组对应于一个有逻辑联系的视频节目或视频片段对象,该对象包含在节目帧序列组的起始码和结束码和结束码之间,同时包含一个该节目帧序列组的编号,以及属性位置,该属性位置又对应该段节目的一些属性。同样,视频帧对应一个图像对象,相当于一个平面,每一个视频帧也有帧的起始码和结束码,也有其自身的属性;帧中的条带组、区域和区域轮廓相当于是一个图像中的区域对象,也有自身的编号或/和属性等信息,自身的范围就在这个区域内或条带组范围内,条带(slice)、宏块,以及集体的帧内的坐标对应一个点的对象,自身的范围在条带内、宏块内或某个具体的坐标内;如图4所示。其中,视频流编号、节目帧序列组、区域以及区域轮廓为本发明引入的新位置,其结构如图5所示,把一系列帧分为一个帧组,帧组通常具有内部的关联性,如一个电视连续剧中的某一剧集,并定义出一个节目起始码和结束码来标注这一段节目,图5只是一种抽象的实现方法,即标明了起始码和结束码、节目编号、节目属性等。这部分可以用现有的TS或RTP方式来承载,即放在现有结构包头中,即是本发明中提到的帧内方式。
如图4中所示,如果采用服务帧的方式,可以控制的位置包括视频流位置、节目帧序列组位置、视频帧位置、对象区域、区域轮廓、条带、空块、坐标位置。而帧内服务区则可以控制除视频流以外的其它位置集信息。需要重点说明的是,图4中服务帧的概念是一个抽象的概念,其目的是为了控制连续或离散的一帧或多帧而设置的,之所以叫服务帧是为了和其它的视频帧区别开。至于这样的服务帧采用什么样的帧结构、帧长度、采用的承载协议均不在本发明讨论范围。本发明只规定该帧内包含的信息集的内容。服务帧的大小也不固定,可以相同也可以不相同。帧内服务区概念是和现有的传输打包方式,以及帧格式对应的一个服务概念,通过在TS流或RTP等视频帧打包传输过程中或在现有帧格式中加入的方式均属于帧内服务区模式。在图4中的服务文件方式是指用文件的方式来标明这些位置信息,当然文件中可能还会包括其它信息集内容。服务文件方式主要是必需要生成一个这样的文件,然后把信息集存储在这个文件中。而消息模式主要是用在服务端和客户端需要实时进行消息交换的方式,这种方式中把信息集,包括位置集、操作集、功能集转换成一条条消息在服务端和客户端之间传送。
本发明中通过在视频资源中加入信息集可以实现对媒体流的控制管理,一般包括帧外管理和帧内管理。其中,帧外管理包括服务文件模式和直接传输模式,服务文件模式使用位置级、操作集和功能集;直接传输模式,使用控制数据(例如服务帧,控制流,控制数据)。帧内管理即在现有的帧结构中增加位置集内容,操作集和/或功能集也可包含其中。例如在现有的编码结构中都预留有视频扩展起始码或者保留码等,这些预留码可以作为信息集的起始码或结束码,来增加的信息集的内容。
例如,在AVS编码中,起始码是一组特定的比特串。在符合GB/T 20090.2的比特流中,除起始码外的任何情况下都不应出现这些比特串。起始码由起始码前缀和起始码值构成。起始码前缀是比特串‘0000 0000 0000 0000 00000001’,所有的起始码都应字节对齐,起始码值是一个8比特整数,用来表示起始码的类型,见表1。
表1 起始码值

部分语法元素取特定值时可得到与起始码前缀相同的比特串,称为伪起始码。这里的保留码B8和视频扩展起始码,乃至系统起始码B9~FF均可以作为信息集的起始码或结束码。总之,在定义一种视频编码时,在编码中都可以留下类似这样的起始码或者暂无使用的码位均可以定义位信息集在视频帧中的起始位置或结束位置。有了以上的信息集起始码,就可以在起始码和结束码(如果存在)之间加入信息集的内容,并可以通过不同的起始码标明来区分不同的信息内容,信息内容也可以在以上定义的起始码以后在明确定义出更具体的信息内容,分层次的定义。如,起始码B8标明信息集开始,而后C9标明是位置集,而后再有D9标明是位置集中的区域位置,E9标明区域职位的属性为优先级属性。这样可以对精确的实现位置及其属性的定义。
比如需要实现节目帧序列组的时候,也可以采用以上帧内控制的方法加入信息集,如B10标明信息集,而后C10标明一下是一个节目序列组的起始码,D10之后开始定义这个节目的属性、分级、加密信息等,这样就可以在解码时明确知道节目的一些内容的属性,从而可以更好的控制节目的播放,如,这个节目不适合儿童观看可以在属性中标明这个节目的分级,这样就可以在播放时,根据播放对象选择是否播放节目内容。又如,可以在属性中加入加密或认证信息,判断该节目是否为合法节目。也可以在其中加入DRM验证内容。以上均属于通过帧内服务区的方式承载信息集的方法。
对象区域也是在本发明中一种特有区域,这种区域和图像中的某一个具体的对象相对应,如图17所示,用椭圆或矩形来标注一个对象区域,对象区域一般是一个封闭区域,如果对象运动到视频边界,则也可以和上下左右四个图像边界构成封闭区域。这个封闭区域内通常采用相同的数据集来标识,比如在区域中的为1,不在区域中的为0等。对象区域还可用一个坐标来表示,在图像中可以用横纵坐标来标识,或者是一个具体的宏块,或宏块中的某一个像素点。
在一幅图像内从指定区域跳转到另一指定区域的示意图如图6所示,具体表示在图像A内由x区域跳转到y区域的情况,其中,显示位置为A:x,对应操作为跳转,跳转位置为A:y。
如图7所示,x、y、z表示图中三个区域,x对应操作集为鼠标操作,对应的功能集为取回某一个位置的信息,该取回信息位置为“http://等网络地址”;y对应的操作集为键盘操作,对应的功能集为取回某一个位置的信息,该取回信息位置为“硬件地址(如硬盘中地址)”;z对应的操作集为其它按键操作,对应的功能集为取回某一个位置的信息,该取回信息位置为“内存地址”。
如图8所示,一些连续的帧中,帧起始码或结束码驱动一些操作,如当读取C帧位置起始码后,自动到内存某一位置取回某些信息;又如在A帧中,进行预定的鼠标操作可以取回网络中HTTP协议指向的信息;再如在A帧中通过键盘操作时,取回本地硬件的信息,比如硬盘中的内容等。
如图9所示,A帧在进行对应的跳转操作后,跳转到了B帧的情况。
如图10所示,A帧中的x区域经过对应跳转操作,跳转到了B帧中的y区域。
如图11所示,A帧中的x区域经过对应的跳转操作,跳转到了B帧的位置。
如图12所示,B帧进行对应的跳转操作,跳转到了A帧的x区域。
如图13,表示用不同的数字集来表示一个图像内区域的方法,在心型图像的边缘宏块用2表示,心型图像内部的宏块用1表示。
如图14所示,采用16分割方法更精确的表示一个图像轮廓。如图15所示,如果一条直线L穿过一个8×8的宏块,和宏块AC边交于m,和CE边交于n,然后判断m是更靠近A还是B,如果假设向上为正,A、B都大于0,即m>A+B2]]>或m≥A+B2,]]>如果成立则把m点移动到和A点重合的位置,如果不等式不成立则把m点移动到B的位置。同理对n点实施相同的处理,这样就可以得到图15中右边那幅图的情形。这样再去比对图14中的编码,可以确定图15的编码变为了“2”这种情况。采用这种方法,再去处理图13中心形图案,变成了图16情况,这样轮廓信息被很好的标记出来。
图17是使用椭圆或矩形标注一个轮廓示意图,用椭圆标注时只需要三个参数,椭圆中心坐标,长轴和短轴值。对于矩形标记同样也只需要三个参数,矩形中心坐标,长边和短边值。当椭圆长短轴相等时,就变成了圆形;当矩形长短边相等时就变成了正方形。
本发明实施例根据实现功能不同,可以包括客户端、服务器1、服务器2和服务器3。服务器1提供媒体数据服务,服务器1需要把位置信息和对应的操作以及操作后的功能告诉客户端;服务器2是功能服务器,功能集通常是由服务器2完成,或者客户端自己完成,或者客户端和功能服务器配合完成。如果需要服务器2完成或客户端和服务器2配合完成则需要把对应的功能通过服务器1告诉服务器2,这样服务器2就可以帮助客户端完成功能集中具体的功能实现。服务器3是统计分析服务器,负责分析和统计客户端用户的行为,比如点击的都是什么样的信息内容等,这样就可以通过分析为具体客户端用户定制个性化的服务,并通过服务器3把用户个性化需求告诉服务器1,保证推送给用户的数据能用更具有吸引力和更好的使用效率。
其中,具体实现过程如图18所示,包括1、服务器1和客户端同步,调用服务器2中存在的服务操作;2、服务器1向客户端发送数据;3、客户端向服务器2发送执行操作请求;4、服务器2向客户端返回操作的功能参数;5、服务器2向服务器3收集客户端操作信息;6、服务器3针对不同的客户端推送不同的数据;7、服务器1针对不同的数据向服务器2同步不同的服务;8、服务器1向客户端发送数据。
在本发明中,由于宏块可以通过宏块的号或宏块的位置确定,如果宏块的类型确定,则宏块的长宽已经确定了,因此每一个宏块的位置可以唯一确定其在图像中的位置。如图19所示,由于图像的水平尺寸和垂直尺寸已经在序列头中定义,所以可以精确的定位出某一个像素点的位置,以亮度为例,如果宏块大小是8×8,宏块位置是(x,y),在宏块中o点的位置是(a,b),用同样的方法可以定义出视频中每一个具体的像素的位置。当然,由于知道图像的水平尺寸和垂直尺寸,也可以用水平坐标m和垂直坐标n来标识一个具体的像素位置。m和n的值可以给出,也可以通过计算得到,假设x、y、a、b、m、n均是从1开始计数则m=8×x+an=8×y+b在帧内划分区域的方法包括以下两种情况,一是以对象划分区域,二是自由划分区域。其中,对象划分区域又分为以下两种方法一种通过人工标明对象区域,再自动跟踪对象位置,并标识出对象的轮廓信息;另一种通过人工在相隔的数帧分别标明对象区域,再通过插值方法,模拟出对象运动轨迹,并且标识出对象的轮廓信息。在标记轮廓的时候可以有精确标记的方法,如图13到图16;也可用图形标记来实现对象的粗略轮廓,如图17所示。自由区域的划分,往往是根据实际需要把屏幕分割成很多块,每一块和周围块不重叠,如图20所示。
本发明还提供了一种在视频资源中加入信息集的系统,如图22所示,包括客户端和服务端。服务端在视频资源中通过以视频帧外加入方式或视频帧内加入方式增加信息集,并将携带信息集的码流发送到客户端;其中,视频帧外加入方式包括信息集描述文件方式、服务帧方式或消息通信的方式;客户端,根据信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活位置集中对应功能集,执行对应功能。
其中,服务端具体包括媒体导入模块,用于将媒体流导入服务端;信息加入模块,用于生成信息集文件和/或将信息集加入媒体文件;媒体存储模块,用于存储信息集和/或媒体文件;网络模块,用于服务端向客户端发送信息集和/或媒体文件。
客户端具体包括网络模块,用于从服务端获取信息集和/或媒体文件;信息识别模块,用于获取并识别信息集内容,包括位置集、操作集和功能集;操作感应模块,用于获取位置集对应的操作集所进行地操作;功能实现模块,用于触发位置集和操作集所对应的功能集,执行相应功能;媒体播放模块,用于播放对应的媒体文件。其中,服务端可以与一个或多个客户端配合实现信息集对应功能或客户端可以与一个或多个服务端配合实现信息集对应功能。
当然,为了系统的升级或扩展需要,可以增加扩展服务端,客户端与扩展服务端配合完成指定的功能;扩展服务端包括功能实现模块,用于和客户端功能实现模块配合,完成信息集中对应的功能;网络模块,用于客户端和扩展服务端通信;扩展服务端可以与一个或多个客户端配合实现信息集对应功能或客户端可以与一个或多个扩展服务端配合实现信息集对应功能。在系统层面上,服务端、客户端和扩展服务端可以两两合并,即功能上相互独立,也可以放在一个硬件里实现或者放在一个软件平台上实现。在实际的运用中,位置集、操作和功能集可能以特定的功能形式出项,如把操作集规定在客户端或者服务端或者扩展服务端;功能集也用特定的程序在客户端或者扩展服务端实现。
值得注意的是,客户端和服务端是概念上的分离,客户端和服务端可以存在于一个硬件和/或软件环境中。例如,当用户在客户端自行加入新对象的时候,这个时候客户端内同时也执行服务端的功能,同样需要信息集,信息集同样包括位置集、操作集和功能集。只是这些部分可以集成到客户端程序语言中或部分集成到客户端程序语言中或者单独的客户端的文件中。信息集传输或读取都有客户端软硬件配合完成。这样的做法主要目的是为了客户可以自由的编辑现有的视频节目或视频文件,这样的文件可以做上传或下载,即,用户可以通过现有的位置集编辑视频或视频文件。
图22中,媒体流通过媒体导入模块导入媒体服务端,然后通过信息加入模块加入信息集(位置集、操作集、功能集)。其中位置集信息是必须加入的,操作集或功能集信息可以根据具体的应用需求选择加入。把通过信息加入模块被加入信息集的媒体通过网络发送到客户端,客户端通过信息识别模块识别媒体服务端加入的信息集,提取信息集中所有信息,并等待用户操作。操作集和(或)功能集的获取可以通过程序预先在客户端设定或者通过网络传输从媒体服务端获得。如果用户执行操作集中预定义操作,则激活对应的客户端中的功能模块,并配合扩展服务端实现预定义的功能。在扩展服务端,有可选的功能实现模块和客户端功能模块配合,可能是C/S的模式或对等的服务模式。也可能不需要扩展服务端的功能模块而由客户端功能模块独立完成某些功能。扩展服务端是针对客户端某些特定的服务而设定的,在整个系统中也是可选设备。
在客户端中可设置有信息集的全集,这样在客户端获得信息集和信息对应的视频资源时,可以根据信息集的全集做判断,而客户端获得的和视频资源对应的信息集实际上可以作为信息集全集的一个子集,这样可以判断所述信息集子集的内容是否合理或是否在定义范围之内。同样所述的信息集全集也可以在服务端或扩展服务端定义。
在图22中,服务端包含了视频服务端和信息集服务端两个功能。视频服务端是将视频资源通过提供给客户端,然后客户端可以通过媒体播放模块进行播放的。而信息集服务端是将信息集提供给客户端,然后客户端可以根据收到的信息集而实现一些特定的功能。在实际的应用中可以将视频服务端和信息集服务端分开放在不同的设备或系统中为客户端提供服务。在图22中,客户端首先要知道是什么样的信息集承载方式,是帧内方式还是帧外方式?然后在先获得信息集的情况下,分析信息集,提取位置集作为自己的激活位置。然后根据对应的操作集和功能集实现特定的功能。
如图26所示,在消息驱动的模式下,服务端、客户端和扩展服务端是配合工作的示意图,也是服务端、客户端和扩展服务端在消息驱动模式下的系统结构图。服务端和客户端通过消息引擎进行实时的通信,消息引擎中包含信息集,而信息集中又包含位置集、操作集和功能集。在这种模式下,流媒体和消息可以放在同一个传输通道或者不同的传输通道中,通过服务端发送到客户端。由于消息传输的实时性,服务端可以实时的加入信息集内容,而且客户端也可以实时的感应到加入的信息集。如服务端可以实时在发送的媒体中某个指定的位置集中加入广告信息,客户端在播放媒体内容时,也会实时检测可能的操作集,如果这时感应到加入的广告信息,并且在操作集中对应的是自动播放广告的操作,则在客户端会实现自动播放服务端插入广告的功能。在一些情况下,如客户端不能单独完成一些复杂的功能时,需要和扩展服务端一起配合工作完成一些功能。客户端和扩展服务端通信的方式有消息、直接的数据交换(包括发送和接收数据)和远端程序调用等方式。在消息驱动模式下,服务端和客户端的消息引擎必须是包含消息集的全集,即所有的位置集、操作集和功能集的定义。
如图27所示,在生成信息集文件的模式下,服务端、客户端和扩展服务端配合完成功能的示意图,也是服务端、客户端和扩展服务端在消息驱动模式下的系统结构图。首先用服务端获取视频信息,然后根据需要,采用专门的编辑工具或者编辑模块生成信息集文件。然后把视频信息和信息集文件发送到客户端,发送的方式可以采用先发送信息集文件再发送视频信息,或者先发送视频信息再发送文件,或者两者同时发送。当客户端获取了信息集文件的时候,会用信息集识别模块或者识别工具来识别信息集内容,然后客户端感应用户在位置集的操作,如果操作包含在获取的信息集中,即为有效操作,则执行操作集和位置集所对应的功能集。如果执行操作不在获取信息的操作集内,则为无效操作。当实现客户端功能时往往需要扩展服务端的配合才能完成信息集内或者保存在客户端或扩展服务端内的功能。
扩展服务器和客户端交互的方法有消息方式、数据交互方式以及远程程序调用等方式。发送数据的时候可以采用XML方式或者文本或者二进制数据等。
如图29所示,客户端包含有播放设备,播放设备中播放窗口,播放窗口中当播放视频媒体时支持普通播放层和服务层。在普通播放层播放由服务端收到的视频内容,服务层用来插入新的对象,这些对象包括视频、动画、图片、声音或文字等。对服务层的控制由信息集来完成。服务层端就是向客户端发送视频媒体信息和信息集。这里服务端和客户端包含所有的图22所示模块。服务层通常是一个透明的层,位于现有的视频播放层之上,但是可以任意插入媒体信息。
如图30所示,标明了普通播放层和服务层之间的关系,服务层在普通播放层之上,是由客户端产生的独立一层。这一层的特点是,可以在这一层插入新媒体对象,所述新媒体对象包括视频、动画、图片、声音或文字等。这一层产生的时间可以是在存在新媒体对象时才创建或存在,或者是在客户端一直存在。这一层除了插入的对象以外是透明,这样可以使用户透过这一层直接看到普通播放层的内容,并且视觉上会把两层合二为一。如图30,在服务层中新对象“五角星”,五角星周围都是头面的,这样当用户看到这一帧时,会看到在现有播放层之上的五角星图案和除五角星区域外的播放层图像。在播放层中会有一个坐标A,这个坐标代表五角星的位置,这个位置在定义的时候可以是五角星的中心位置或左上、右上、左下、右下位置,还可以是包含插入对象的某个几何图形的某个顶点或中心位置,如,一个圆形刚好可以包裹住这个五角星时,定义五角星的位置为这个圆形的中心位置。这样插入对象的位置就可以唯一确定,而这个位置一定可以在普通播放层中找到对应的坐标,然而,信息集中的位置集,是针对视频流中各种位置和对应对象来定义的,明显服务层是在客户端存在,并不在这个视频流结构中,但是普通播放层确在这个流结构中可以找到确定唯一的位置。因此可以把服务层中的对象坐标或位置区域可以在普通播放层中找到相同的位置映射,如图30,服务层中五角星对应的位置坐标a在普通播放层中的位置映射就为A。这样,就可以在普通播放层中某一位置和服务层中某一个对象关联起来,如A和五角星关联,这样就信息集对应的位置集中关联到新的对象,如A关联到五角星,而在本发明中A坐标本身还相当于一个图像或帧中的点对象。所以位置集在视频中同时可以标明一个本身位置对应的对象,如点、帧或图像中区域、帧、帧的集合、流等,还可以标明该位置对应的在服务层层中的新对象。因此就可以用本发明中帧内或帧外携带信息集的方法来对这个新对象进行控制或相关操作。如在A位置插入新对象五角星到服务层中的a位置,A和a存在一一对应关系,知道一个就能知道另外一个,通常是在同一个位置的不同层中,这里是普通播放层和服务层。以上方法是通过普通播放层的位置来控制或操作服务层中的对象的方法,还可以通过在位置集中添加服务层位置的方法来控制或操作服务层中的对象。
对于服务层中的对象的控制方法有两种,一种是通过客户端软件,通过鼠标或键盘或遥控器来控制服务层中的对象。如,通过键盘中定义上下左右键来控制服务层中对象的运动,或用鼠标来标明对象要到达的坐标等;另一种是通过消息集来控制服务层中的对象,该方法首先需要客户端获得消息集,然后再根据消息集中的位置集、操作集和功能集来控制服务层中对象的运动。如,位置集为服务层中的某坐标,该坐标对应一个服务层中的对象,操作为自动操作,功能为把该对象向左移动10个像素;在这里还可以把鼠标或键盘操作放在操作集中,即位置集为对象在服务层中的位置,操作集为鼠标左键或键盘中上下左右键,功能为运动到坐标左键点击位置或键盘按键运动的位置。在对象创建或删除的时候,同样可以用以上两种方法,如在某个具体的服务层内创建一个新对象时,位置集为鼠标选中的位置或信息集中的位置集,操作为自动操作,功能为在那个URL或具体的某个文件位置去提取某一个文件然后在服务层播放。对象还可以通过鼠标或键盘的操作或者信息集中功能集控制进行一些变换操作,如变大、变小、或其它变形等。
扩展服务端和客户端同时配合完成的功能通常包括以下四个方面扩展服务端向客户端发送数据文件典型的应用有扩展服务端向客户端发送数据文件,这些信息包括视频、图像、flash、声音、文字,然后在客户端播放;播放的位置可以是客户端的播放器,客户端的浏览器或者客户端其它支持所述媒体文件的播放软件。在播放的时候可以采用终止现有的视频图像,插播从扩展服务端取回的媒体信息,或者在现有的视频不终止的情况下播放从扩展服务端取回的媒体信息。
客户端向扩展服务端发送数据文件典型的应用有
客户端把一些视音频等媒体文件上传到扩展服务端。如在客户端收到的信息集对应的功能是打开本地的摄像头或录音机等设备,这些设备实际上也被描述为一个地址和一个设备ID,这个时候就会本地创建摄像头或录音机录制的音视频文件。然后将这些文件上传至扩展服务端。上传指令可以包含在信息集对应的功能中,即发送信息,也可以手动上传。
客户端向扩展服务端发送消息典型的应用有扩展服务端需要统计或分析客户端的使用情况,需要收集来自客户端的信息。如信息集对应的功能是在客户端播放广告,为了统计广告的点击率,每一次点击均会把客户端的信息发送到扩展服务端,这样就是可以实时或非实时的进行广告投放的分析,以便将来更精确的投放广告。
扩展服务端向客户端推送消息典型的应用有(1)、扩展服务端向客户端推送消息,并将这些信息保存。或者将这些信息转换成对应的媒体对象在客户端的播放器或者浏览器或者软终端上进行播放,如网络游戏的方法,通过从扩展服务器和客户端的消息交互完成对客户端对象的控制,并把客户端的操作信息发送到扩展服务器,如客户端收到关于客户端对象A的控制数据,把A从视频中x位置运动到视频中y位置。在这个过程中信息集中通常包含A的位置x,包含在位置集中,而A的控制ID属于x位置对象的属性,而功能则是把对象A从x位置运动到y位置。功能包含的内容比较多,例如包括运动的方式、y位置信息、运动时间等。又如,需要在某帧内某个坐标位置创建。
虽然以上有些也需要客户端和扩展服务端交互才能完成,但是主要还是侧重于某一个方面。以下一些典型运用都是需要客户端和扩展服务端充分配合才能完成的,包括(1)、加入版权认证功能与加密功能现有的流行的版权认证系统DRM包括1.权限说明。通常与内容共存的数据,陈述内容可以被如何/在何时/在何处/由谁来使用/复制/存储/分配;2.存取与复制控制。通常称为技术保护措施(TPM),利用技术手段来实施权限管理,防止内容被非授权用户获取及复制;3.确认与跟踪。技术手段(数字水印或指纹识别),确定内容的来源;4.计费与付款子系统。
DRM会保护内容,如果没有合适的权限就不能使用内容。权限通过内容许可提供,它不仅包括用来解锁受保护内容的信息,还指定内容可以如何/在何时/由谁使用。客户端需要的内容许可可以通过扩展服务端来下发。而DRM信息可以放在本发明的帧内服务区、服务帧或者服务文件中,或者通过消息的方式从服务端下发DRM信息。其中DRM和内容保护系统的基础都是加密算法和协议包括1.对称分组加密(AES、3DES);2.非对称公共密匙加密(RSA,椭圆曲线);3.安全Hash算法(SHA-1、-256);4.密匙交换(DiffieHellman);5.认证与数字证书(X.509)。
内容加密内容、加密方法、以及密钥同样可以放在本发明的帧内服务区、服务帧或者服务文件中,或者通过消息的方式传递加密信息。
(2)、在位置集加入新对象和对新对象的控制进入的新对象包括视频对象、动画、语音、图片和文字等。在现有的视频播放层之上建立一个新的对象层,并把这层的控制权交给本发明的帧内服务和帧外服务模式。以图片为例,用户在客户端在视频帧的某个位置加入一个GIF图片,该位置在信息集中的位置集定义。如果要把GIF图像从A位置移动到B位置,则在信息集中加入GIF的起始位置、属性、运动方式、目的地等,而且这种控制是双向的,可以服务端发送到客户端,也可以从客户端发送到服务端。当然在本发明中,当上述客户端把信息集发送到服务端时,实际上客户端起到了服务端的作用,而服务端相当于客户端的位置,因此在概念上是可以互相转换的。在新的视频层的技术可以用现有的DirectShow的基于DirectX的技术来实现,或者用Intel的双显示芯片的技术来实现。服务端在控制客户端视频层之上的服务层的时候,传输的信息集中的位置对象为上述GIF对象,属性中携带上述的起始位置、属性、运动方式、目的地等信息。值得注意的是,服务层和视频编码位数上的拓展实现技术是不一样的,服务层是在传统的视频播放层之上,需要客户端的软硬件支持,服务层是一个抽象概念,使得服务端或客户端可以方便的在视频中插入新的视频对象。新对象加入的方式有一下两种一种是在服务端加入视频对象,传输可以和视频采用相同传输渠道或不同的渠道;第二种是在信息集中存放功能集中确定GIF在客户端的位置,然后在客户端通过信息集中功能集的功能的实现在服务层中插入GIF对象;第三种是在客户端用户自行在服务层加入GIF对象,这时的客户端和服务端是同一个设备或软硬件环境。
(3)、从扩展服务器取回一个网站的URL,并播放这个URL的服务如在信息集内加入一个网站的URL,当客户端播放视频的时候,提取里面的信息集中的位置集、操作集和功能集。在这个例子中位置集可以是某一个具体帧的位置,对应操作集是自动提取,对应的功能集是打开URL指定的网站信息。然后从网站取回这个URL地址的内容,如一个WWW的网页或一个图片,然后播放。
一些简单的功能在不需要单独扩展服务端的情况下客户端也可以完成典型的应用有跳转功能,通过在信息集内设置的位置集进行跳转,当位置集都在视频中则不需要到扩展服务器中取会数据,如果跳转位置在扩展服务器中或扩展服务器的某个媒体文件中,则要到扩展服务器中去取回数据。如,在视频中某一个区域位置和向前跳转功能相关联,当这个位置被点击的时候,将会自动跳转到指定的位置并播放所跳转位置的内容,这样就可以实现指定的时移功能,如跳转到5分钟以前的视频节目。
记录功能,该功能可以包含在版权信息中,用DRM进行来进行管理,在信息集内的位置集对应帧序列组,属性中用户属性为可以下载,功能集为下载,操作集为点击。这时如果客户端用户点击了位置集中的指定位置,则可以在一边播放视频节目的时候一边下载视频。这样就完成了视频的记录功能。
优先级功能,如第一视频帧对应信息集内的位置集为一个指定的区域,优先级为最高,此时如果有第二视频帧对应的信息集的位置集为同一个指定区域,而且这两帧在同一个窗口中同时播放,而第二视频帧对应的这一区域的优先级较低,这个时候将只播放优先级最高的第一帧内的这个所述区域。以相同原理来处理帧内的其它区域,这样就可以实现多路视频流的合并播放。
透明功能,同样可以处理多路视频合并的问题。如有两帧需要在同一个窗口中播放时,可以先根据优先级判断哪一帧在上,那一帧在下,然后再根据透明度属性来确定透明度,透明度通常是从0到100。
本发明还提供了一种在视频流中加入服务帧的方法,包括以下步骤服务端在视频资源中新建服务帧;服务帧在创建视频帧文件的同时创建或先生成视频帧文件后再创建服务帧;服务帧和视频帧在一条传输通道里面传输或分别在不同传输通道中传输;服务帧和视频帧用同一语法结构解析或者用不同的语法结构解析;服务帧和视频帧保存在同一文件内或分别保存在不同的文件中;服务帧可以采用压缩的方法或不压缩的方法传输。服务帧具有基本的帧结构,帧结构中封装信息集;该服务帧承载的信息集包括位置集和位置集对应的操作集、以及位置集和操作集所对应的功能集;该位置集对象属性中还包括对应的各视频帧的优先级、帧内各区域的优先级、帧内区域的位置信息和帧内区域的运动信息。
在该服务帧中加入信息集内容。
服务端使用服务帧承载信息集,发送到客户端;其中,每一个服务帧对应连续或离散的一个或多个视频帧。
本发明还提供了一种在视频资源中加入帧序列组的方法,包括以下步骤在服务端人工选择具有逻辑关系的多个相邻或不相邻的帧,并把这些帧作为一个有序的集合,即帧序列组。
把帧序列组开始和/或结束的位置作为位置集中的一个元素。
并把帧序列组这个位置对象的属性加入到对应的位置集中的属性中。
其中,帧序列组和逻辑上连续的视频片段相对应,并且帧序列组位置对象的属性包括优先级信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集加入时间和/或有效时间;对象属性中加密信息用于对位置集对应对象的加密,包括加密方式、密钥信息;对象属性中版权信息用于对位置集对应对象的版权说明和保护,包括版权的归属信息、版权的鉴权信息、版权的使用信息;对象属性中客户信息用于对位置集对应对象的客户权限说明和使用客户分类信息,客户权限说明包括(这部分可以包含在版权信息的DRM来进行管理)下载权限、播放权限,使用客户分类信息包括对内容的分类控制。
本发明中在位置集中会遇到如何区分不同区域对象的问题,如图28所示,是一个有效的解决方法。现有的视频帧一般都是三维结构,这三维中包含亮度和色度,如YUV。同样RGB也是三维结构。本发明在现有的三维结构上在增加一维用于区别不同的区域,这一维的表示方法在图13到17中做了详细叙述。这一维的增加可以很好的表示出区域的位置和区域的轮廓。还可以在这一维中设置优先级或透明度等参数。这一维的承载方式,可以使用本发明中的帧内服务区域的承载方式。编码方式和压缩方法可以和现有的压缩方法相同,也可以不同。
在这一维中还可以引入新的视频对象,例如,一个黑白的二值图像,如果把每帧的二值图像联系起来,就可以形成在视频播放层上的二值图像动画了。同样的方法可以演变出在现有视频YUV之上的彩色的动画。如果在YUV三维上继续叠加三维或多维,可以实现传输中视频在视频之上的叠加。而且上下视频位置可以由优先级方法来实现,优先级较高的放在上层,遮挡优先级低的视频位置。并且还可以用上层视频的透明度来控制对下层视频的可见程度。以上方法在编码中同样可以在一个码帧中出现,采用现有的压缩方法或编码方案。在编码时,新增维度数据可以采用和现有编码方案相同的方法,即运动预测、DCT、量化、熵编码的方法(解码方法则相反反熵编码、反量化、IDCT、运动补偿),也可以采用别的方法,或者不采用压缩技术。
本发明还提供了一种在视频资源中加入区域对象及其对象属性的方法,包括以下步骤服务端在视频资源内划分区域,区域划分方式包括以对象划分区域或自由划分区域;对象划分区域包括通过人工标明对象区域,再自动跟踪对象位置,并标识出对象的轮廓信息;或通过人工在相隔的数帧分别标明对象区域,再通过插值的方法,模拟出对象运动轨迹,并且标识出对象的轮廓信息。
服务端根据区域作为对象,并为每个对象设置相应的属性信息,并设置对应信息集。
本发明还提供了一种在视频资源中加入优先级的方法,包括以下步骤服务端在信息集中位置集的属性信息中加入优先级信息;客户端根据优先级进行不同位置的合并操作不同优先级的帧在同一个客户端中同时播放时,只播放优先级最高的帧、或不同优先级的区域在同一帧的显示时,显示优先级最高的区域。
本发明还提供了一种通过对视频帧中位置集对象操作收集用户信息的方法,包括以下步骤客户端获得流媒体和流媒体对应的信息集;
客户端执行和所接收媒体对应的信息集中操作集,并把信息集内容和客户信息发送到扩展服务端;扩展服务端收集来自客户端的客户信息和媒体相关内容信息;客户信息包括客户的网络地址、客户ID、客户属性。
本发明还提供了一种在视频帧内使用信息集的方法,包括以下步骤服务端获得需要加入信息集的视频帧;在帧内选择位置加入信息集;选择位置包括在视频帧的头部或在视频帧的尾部。
本发明还提供了一种在视频资源中加入区域位置轮廓的方法,包括以下步骤把区域位置分割成相同大小的正方形,正方形按像素计算包括1×1、2×2、4×4、8×8、16×16、32×32;并把每一种直线穿过正方形的情况用一个号码标记;正方形的被区域位置轮廓穿过时,标记穿入和穿出正方形的两点,然后用直线连接两点来作为区域位置轮廓的一部分;当把区域位置轮廓全部用穿过正方形的直线段标识时,按照直线穿过正方形的情况找出最接近已有号码标记的一项,再按照预先定义的穿过正方形的情况号码来标记。
本发明实施例所描述的技术可以用硬件、软件、或组合执行。如果用软件执行,则该技术可以直接指包含程序代码的计算机可读介质,该程序代码在对视频序列进行编码的设备中执行。在该种情况下,计算机可读介质可以包括RAM(Random Access Memory,随机存储器)、SDRAM(SynchronousDynamic RAM,同步动态随机存储器)、ROM(Read Only Memory,只读存储器)、NVRAM(non-volatile RAM非易失性随机存储器)、EEPROM(Electrically-Erasable Programmable Read-Only Memory,电可擦除只读存储器)、FLASH(闪存)等。
程序编码可以以计算机可读指令的形式存储在存储器中。在该情况下,一个或多个处理器可以执行存储在存储器中的指令,从而执行一个或多个残差编码技术。在一些情况下,处理器可以用DSP(Digital Signal Processing,数字信号处理)设备执行,DSP使用各种硬件元件来加速编码处理;在其它情况下,编码设备可以作为一个或多个微处理器,一个或多个或者多个ASIC(application-specific integrated circuit,专用集成电路)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、或一些其它等效集成或分立逻辑电路或硬件软件组合来执行。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种在视频资源中使用信息集的方法,其特征在于,包括以下步骤服务端在视频资源中通过以视频帧外加入方式或视频帧内加入方式增加信息集;所述视频帧外加入方式包括信息集描述文件方式、服务帧方式或消息通信的方式;所述视频资源包括视频文件、视频帧、视频图像和视频流;所述信息集包括位置集和/或操作集和/或功能集;所述服务端将信息集发送到客户端或在客户端设置信息集;所述服务端包括视频服务端和/或信息集加入服务端;所述客户端根据所述信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活所述位置集和/或操作集所对应功能集,执行对应功能,所述操作集和/或功能集在客户端设置和/或在服务端设置;所述的服务端和客户端设置在一个软件或硬件环境中;或分别设置在两个软件或硬件环境中。
2.如权利要求1所述在视频资源中使用信息集的方法,其特征在于,所述位置集对应的操作集和功能集在客户端内设置和/或由所述服务端发送到客户端;或,位置集和/或操作集和/或功能集不包含在服务端发送到客户端的信息集中,而在客户端或扩展服务端中设置。
3.如权利要求1所述在视频资源中使用信息集的方法,其特征在于,所述位置集进一步包括视频帧内或图像内具体位置的坐标,或者帧内的宏块、条带位置信息;或视频帧内或图像内指定区域或指定区域轮廓或条带组位置信息;或视频帧在整个帧序列中的位置标识、视频帧对应的服务层中的位置;或节目帧序列组标识;或流标识;所述功能集进一步包括取回具体指定位置内容的对象信息、跳转到具体指定位置、向指定对象位置发送信息、打开或插入指定位置的对象、关闭显示指定位置的对象和移动指定位置的对象;所述的指定位置包括网络中具体的URL、硬件设备中某一个设备地址、存储设备中某一个存储位置、显示屏幕中具体位置、浏览器中具体位置、播放器播放窗口中具体位置;所述操作集进一步包括鼠标操作、键盘操作、播放时搜索信息集位置并按预先设定程序操作和消息程序驱动操作;所述位置集、操作集和功能集可以任何比例关系对应包括一个位置集元素多个操作集元素多个功能集元素;多个位置集元素多个操作集元素多个功能集元素;一个位置集元素一个操作集元素多个功能集元素多个位置集元素多个操作集元素一个功能集元素;一个位置集元素多个操作集元素一个功能集元素;多个位置集元素一个操作集元素多个功能集元素;一个位置集元素一个操作集元素一个功能集元素;多个位置集元素一个操作集元素一个功能集元素;在位置集元素中不包含属性或包含一个属性或多个属性。
4.如权利要求3所述在视频资源中使用信息集的方法,其特征在于,所述位置集中每个位置都对应一个对象视频帧内或图像内具体位置的坐标,或者帧内的宏块、条带的位置信息-对应一个点对象;或视频帧内或图像内指定区域或指定区域轮廓、条带组位置-对应视频资源内的一个块对象,所述块是点或宏块或条带的集合;或视频资源在整个帧序列中的位置标识、视频帧对应的服务层-对应一个帧对象;或节目帧序列组标识-对应一个节目对象;或流标识-对应一个流对象;所述位置对象都包含一种或多种对象的属性信息,所述属性信息包括优先级信息、透明度信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集的加入时间和/或有效时间、从位置集引入新对象的属性;所述对象属性中优先级信息用于不同位置集的合并操作不同优先级的流在同一播放器中同时播放时,播放优先级最高的流;不同优先级的节目帧序列组在同一播放器中同时播放时,播放优先级最高的节目帧序列组;不同优先级的帧在同一个客户端中同时播放时,播放优先级最高的帧;或不同优先级的区域在同一帧内显示时,显示优先级最高的区域;即不同优先级的多个信息处于位置集中同一位置,并且所述信息在同一个播放器中同时播放,只播放优先级最高的信息;所述对象属性中透明度信息用于对位置集对应对象的透明度定义;所述对象属性中加密信息用于对位置集对应对象的加密,包括加密方式、密钥信息;所述对象属性中版权信息用于对位置集对应对象的版权说明和保护,包括版权的归属信息、版权的鉴权信息、版权的使用信息;所述对象属性中客户信息用于对位置集对应对象的客户权限说明和使用客户分类信息,所述客户权限说明包括下载权限、播放权限,所述使用客户分类信息包括对内容本身的分类控制;所述对象属性中从位置集引入新对象的属性用于标识从位置集中引入新对象的属性和功能以及运动情况的说明,所述新对象包括视频、动画、图片、图像、声音、文字;所述从位置集引入新对象的属性包括新对象的创建时间、在位置集中的位置参数、运动状态、持续或结束该对象时间以及和位置集或周围对象关系。
5.如权利要求3所述在视频资源中使用信息集的方法,其特征在于,所述位置集中帧内区域获取方法包括采用H.264中FMO模式,通过设置宏块次序映射表来任意地指配宏块到不同的片组,把片组区域作为加入信息集的位置;或采用MPEG4中的VOL的方法,把对象流在帧中对应的显示区域位置作为加入信息集的位置;或采用图像识别算法、对象跟踪算法、前景对象从背景中提取的算法或通过在相隔的数帧分别标明对象区域再通过插值的方法,在视频帧内划分出不同的区域,上述区域作为加入信息集的位置。
6.如权利要求2所述在视频资源中使用信息集的方法,其特征在于,客户端和/或服务端和/或扩展服务端设置有信息集全集,包括所有的位置集、操作集和功能集,以及位置集对应对象的属性,而客户端获得的和视频资源对应的信息集作为所述信息集全集的一个子集。
7.如权利要求2所述在视频资源中使用信息集的方法,其特征在于,所述客户端根据所述信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活所述位置集中对应功能集,执行对应功能具体包括所述客户端首先判断信息集中的位置集信息是否在位置集的全集中,如果不在,则无操作或操作无效,如果在,则获取当前操作集,然后判断在这个位置集中是否存在相应的在操作集中的操作,所述操作集应该在操作集全集中;如果有,则执行位置集和操作集对应的功能集的程序指令,如果没有,则不执行功能集的程序指令。
8.如权利要求1所述在视频资源中使用信息集的方法,其特征在于,所述功能集中包括跳转功能,具体包括从一帧进行对应操作后跳转到另一帧;从一帧内显示区域跳转到另一帧内指定区域;从一帧内显示区域跳转到另一帧;从一帧跳转到另一帧内指定区域。
9.如权利要求3所述在视频资源中使用信息集的方法,其特征在于,在视频帧内划分所述区域方式包括以下两种情况,以对象划分区域或自由划分区域。
10.一种在视频资源中使用信息集的系统,其特征在于,包括客户端和服务端,所述服务端,在视频资源中通过以视频帧外加入方式或视频帧内加入方式增加信息集,并将信息集发送到所述客户端;所述视频帧外加入方式包括信息集描述文件方式、服务帧方式或消息通信的方式;所述客户端,根据所述信息集中的位置集信息确定激活位置,并利用该位置集对应的操作集进行操作、激活所述位置集和/或操作集中对应功能集,执行对应功能,所述操作集和/或功能集在客户端设置和/或在服务端设置。
11.如权利要求10所述在视频资源中使用信息集的系统,其特征在于,所述服务端具体包括媒体导入模块,用于将媒体流导入服务端;信息加入模块,用于生成信息集文件和/或将信息集加入媒体文件;媒体存储模块,用于存储所述信息集和/或媒体文件;网络模块,用于服务端向客户端发送信息集和/或媒体流;所述客户端具体包括网络模块,用于从所述服务端获取信息集和/或媒体流;信息识别模块,用于获取并识别信息集内容,包括位置集、操作集和功能集;操作感应模块,用于获取所述位置集对应的操作集所进行地操作;功能实现模块,用于触发所述位置集和/或操作集所对应的功能集,执行相应功能;媒体播放模块,用于播放对应的媒体信息;所述服务端与一个或多个客户端配合实现信息集对应功能或所述客户端与一个或多个服务端配合实现信息集对应功能。
12.如权利要求10所述在视频资源中加入信息集的系统,其特征在于,还包括扩展服务端,所述客户端与扩展服务端配合完成指定的功能;所述扩展服务端包括功能实现模块,用于和客户端功能实现模块配合,完成所述信息集中对应的功能;网络模块,用于所述客户端和所述扩展服务端信息通信;所述扩展服务端与一个或多个客户端配合实现信息集对应功能或所述客户端与一个或多个扩展服务端配合实现信息集对应功能;在系统层面上,服务端、客户端和扩展服务端可以两两合并,即功能上相互独立,也可以放在一个硬件里实现或者放在一个软件平台上实现;位置集、操作和功能集可能以特定的功能形式出项,如把操作集规定在客户端或者服务端或者扩展服务端;功能集也用特定的程序在客户端或者扩展服务端实现。
13.一种在视频资源中加入服务帧的方法,其特征在于,包括以下步骤服务端在视频资源中新建服务帧;在所述服务帧中加入信息集内容;所述服务端使用所述服务帧承载信息集,发送到客户端;其中,每一个服务帧对应连续或离散的一个或多个视频帧。
14.如权利要求13所述在视频资源中加入服务帧的方法,其特征在于,所述服务帧具有基本的帧结构,所述帧结构中封装信息集;所述服务帧承载的信息集包括位置集和所述位置集对应的操作集,以及位置集和/或操作集所对应的功能集;所述位置集中每个位置都对一个对象,所述位置对象都包含一种或多种对象属性,所述位置集对象属性中还包括优先级信息、透明度信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集的加入时间和/或有效时间、从位置集引入新对象的属性。
15.如权利要求13所述在视频流中加入服务帧的方法,其特征在于,所述服务帧在创建视频帧文件的同时创建或先生成视频帧文件后再创建服务帧;所述服务帧和视频帧在一条传输通道里面传输或分别在不同传输通道中传输;所述服务帧和视频帧用同一语法结构解析或者用不同的语法结构解析;所述服务帧和视频帧保存在同一文件内或分别保存在不同的文件中;所述服务帧采用压缩的方法或不压缩的方法传输。
16.一种在视频资源中加入帧序列组的方法,其特征在于,包括以下步骤在服务端选择具有逻辑关系的多个相邻或不相邻的帧,并把这些帧作为一个有序的集合,即帧序列组;把帧序列组开始和/或结束的位置作为位置集中的一个元素;并把帧序列组这个位置对象的属性加入到对应的位置集中的属性中。
17.如权利要求16所述在视频资源中加入帧序列组的方法,其特征在于,所述帧序列组和逻辑上连续的视频片段相对应,并且帧序列组位置对象的属性包括优先级信息、加密信息、版权信息、客户信息、所支持的操作集、信息的源和/或目标信息、位置集加入时间和/或有效时间;所述对象属性中加密信息用于对位置集对应对象的加密,包括加密方式、密钥信息;所述对象属性中版权信息用于对位置集对应对象的版权说明和保护,包括版权的归属信息、版权的鉴权信息、版权的使用信息;所述对象属性中客户信息用于对位置集对应对象的客户权限说明和使用客户分类信息,所述客户权限说明包括下载权限、播放权限,所述使用客户分类信息包括对内容的分类控制。
18.一种在视频资源中加入区域对象及其区域对象属性的方法,其特征在于,包括以下步骤服务端在视频资源内划分区域,所述区域划分方式包括以对象划分区域或自由划分区域;服务端根据所述区域作为对象,并为每个对象设置相应的属性信息,并设置对应信息集。
19.如权利要求18所述在视频资源中加入区域对象及其区域对象属性的方法,其特征在于,所述对象划分区域包括通过人工标明对象区域,再自动跟踪对象位置,并标识出对象的轮廓信息;或通过人工在相隔的数帧分别标明对象区域,再通过插值的方法,模拟出对象运动轨迹,并且标识出对象的轮廓信息。
20.一种在视频资源中加入优先级的方法,其特征在于,包括以下步骤服务端在信息集中位置集的属性信息中加入优先级信息;所述客户端根据所述优先级进行不同位置的合并操作不同优先级的帧在同一个客户端中同时播放时,只播放优先级最高的帧、或不同优先级的区域在同一帧的显示时,显示优先级最高的区域。
21.一种通过对视频帧中位置集对象操作收集用户信息的方法,其特征在于,包括以下步骤客户端获得流媒体和所述流媒体对应的信息集;客户端执行和所接收媒体对应的信息集中操作集,并把信息集内容和客户信息发送到扩展服务端;扩展服务端收集来自客户端的客户信息和媒体相关内容信息;所述客户信息包括客户的网络地址、客户ID、客户属性。
22.一种在视频帧内使用信息集的方法,其特征在于,包括以下步骤服务端获得需要加入信息集的视频帧;在帧内选择位置加入信息集;所述选择位置包括在视频帧的头部或在视频帧的尾部。
23.一种在视频资源中加入区域位置轮廓的方法,其特征在于,包括以下步骤把所述区域位置分割成相同大小的正方形,所述正方形按像素计算包括1×1、2×2、4×4、8×8、16×16、32×32;并把每一种直线穿过正方形的情况用一个号码标记;所述正方形的被区域位置轮廓穿过时,标记穿入和穿出正方形的两点,然后用直线连接所述两点来作为区域位置轮廓的一部分;当把所述区域位置轮廓全部用穿过正方形的直线段标识时,按照直线穿过正方形的情况找出最接近已有号码标记的一项,再按照预先定义的穿过正方形的情况号码来标记。
24.一种在视频帧现有视频结构上设置区域或区域轮廓的方法,其特征在于,包括以下步骤视频编码时,在现有的三维视频数据之上加上新的平面,并在该平面中设置区域或区域轮廓;服务端把新的平面和原有的视频数据一起编码并发送到客户端;所述在平面中设置区域的方法为用区域编号的方法或采用几何形状参数的方法;所述新的平面的数目可以是一个或多个。
25.一种确定服务层中位置信息并控制对象的方法,其特征在于,包括以下步骤接收到视频信息,并在普通视频播放层内播放视频信息;在普通视频播放层之上叠加服务层,确定服务层中的位置信息,并在所述服务层内确定的位置控制新媒体对象;所述新媒体对象的位置在信息在信息集中的位置集定义或在客户端通过鼠标或键盘选定的固定位置;所述操作新媒体对象的方法包括本地控制和远端控制,本地控制指通过键盘或鼠标来操控新媒体对象,远端控制是服务端通过信息集的方式来控制新媒体对象;所述控制新媒体对象的方法包括创建对象、移动对象、注销对象、对象变换;所述新媒体对象包括视频、动画、图片、声音或文字。
全文摘要
本发明公开了一种在视频资源中使用信息集的方法在客户端、服务端以及扩展服务端通过引入信息集的方法,来实现视频传输内容的扩展,为基于各种应用的视频服务提供良好的平台,所述信息集包括位置集、操作集和功能集。所述位置集更精确的划分可能产生新业务或新应用的位置,并把各种位置和具体对象关联起来,从而为各种位置对象设定了属性信息,各种属性信息的引入更丰富了视频应用。本发明引入了帧内服务和帧外服务的机制,更好的管理现有的位置集、操作集和功能集。本发明改变了现有视频技术只重视压缩和质量的缺点,而把重点放在视频的应用和控制,为未来可能的视频应用技术提供了良好的技术平台和应用模式参考方案。
文档编号H04N7/24GK101035279SQ20071009777
公开日2007年9月12日 申请日期2007年5月8日 优先权日2007年5月8日
发明者孟智平 申请人:孟智平
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1