CN1921610A - 基于客户端的视频流互动处理方法及处理*** - Google Patents

基于客户端的视频流互动处理方法及处理*** Download PDF

Info

Publication number
CN1921610A
CN1921610A CN200610112906.8A CN200610112906A CN1921610A CN 1921610 A CN1921610 A CN 1921610A CN 200610112906 A CN200610112906 A CN 200610112906A CN 1921610 A CN1921610 A CN 1921610A
Authority
CN
China
Prior art keywords
interactive
video
data
client
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200610112906.8A
Other languages
English (en)
Other versions
CN1921610B (zh
Inventor
龚湘明
龚湘京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canal Age Beijing Technology Development Co ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN2006101129068A priority Critical patent/CN1921610B/zh
Publication of CN1921610A publication Critical patent/CN1921610A/zh
Application granted granted Critical
Publication of CN1921610B publication Critical patent/CN1921610B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于客户端的视频流互动处理方法,以及用于实现这种方法的装置及***。根据本发明的基于客户端的视频流互动处理***用于对视频数据流进行整体上的识别处理;以及如果获得了互动逻辑数据流数据,当视频数据流单帧解码成功,则对所述视频流执行帧间处理。采用了本发明的方法和可以大大丰富视频应用的方法和领域,这种通用的设计也避免了用户对应用的频繁升级更新,更好地达到了降低使用成本的目的。

Description

基于客户端的视频流互动处理方法及处理***
技术领域
本发明涉及一种基于客户端的视频流互动处理方法,以及用于实现这种方法的装置及***。
背景技术
现阶段,可见的视频互动技术都是在服务器完成最终的画面及声音的合成并将合成后的视频内容编码处理为视频流,也就是说有关情节/场景的播放顺序、互动程序逻辑限制的视频背景画面、前景显示元素、伴音音频处理等等均是在服务器端实现的。而客户端的功能在于接收编码后的视频流并采用诸如电视机、机顶盒、计算机之类的设备将其解码并还原成视频图像及声音以实现视频回放,以及用于输入诸如播放、停止、快进、快退等控制命令以实现对视频流的简单控制。
如图1所示,显示了现有技术的基于服务器端的视频流处理***的结构图。从图中可以看出,在现有技术中,互动视频流是在服务器端生成的。由于实时改变画面显示内容需要极其庞大的运算量,而目前这一功能主要是通过各种硬件字幕机、特技机和编辑机并采用各种操作复杂的计算机程序来实现的。
由于每一路互动视频都需要具备很大的剩余运算能力的专门的设备和/或服务器来实现,这就导致以服务器端处理为基础的这类互动视频***能够承载的用户数非常有限,通常情况下,一套互动音视频编辑合成服务器仅支持有限的几路互动视频,可同时处理的互动请求通常只有一路。因此,这种服务器数据集中处理模式造成了互动视频技术的发展瓶颈。
此外,绝大部分互动视频处理技术主要是简单的增加一个选单界面,用户仅能通过简单的控制操作来选取视频影片章节/片段。但在实际操作过程中,有大量业务需要在视频上叠加更多的信息,诸如能够更细微地播放针对具体视频帧的某个场景,具体地对画面中的某个元素进行操作,或者实现一定的自动逻辑处理能力。这些复杂的互动视频处理技术对于传统的集中式互动视频***而言是非常困难的。
互动视频的逻辑流程控制往往需要较多的专业操作知识以及专业制作工具,也需要大量的制作时间,而所生成的互动视频内容不易实时地修改或调整,这也造成了具体应用开发上的不便。由于各种视频文件格式、编解码算法繁多,各有所长,但是除了一些原始设计就包含互动应用的多媒体视频格式之外,其他大部分视频格式都不包含章节、情节的索引信息,而为了最大限度的保持兼容和通用性,又不能任意定义文件格式或添加额外的元数据流支持,这样就造成某些互动应用相对困难。
传统的视频互动技术,要么是服务器生成视频画面数据流再传输到终端播放器(特定或通用播放器)上直接画面回放,要么就是特殊设计的视频文件格式用专用的播放器播放,如Real Network的RM/RMVB格式,以及微软的WMV格式,上述两家公司的视频媒体格式由于其播放器的开放性和兼容性设计不够,以及用户使用习惯等原因,阻碍了其互动功能的推广应用。而本技术是独立于文件格式和播放器之外的另一种解决方案。可以将终端上近乎任何视频播放程序上加上视频与外部应用互动的功能(不管是新开发还是较为过时的程序),大大丰富了视频应用的方法和领域。通用的设计避免了用户对应用的频繁升级更新,也能更好的达到降低使用成本的目的。
发明内容
本发明的目的在于提供一种基于客户端的视频流互动处理方法,以及用于实现这种方法的装置及***。
根据本发明的基于客户端的视频流互动处理方法,包括以下步骤:对视频数据流进行整体上的识别处理;以及如果获得了互动逻辑数据流数据,当视频数据流单帧解码成功,则对所述视频流执行帧间处理。
其中对视频数据流进行整体上的识别处理包括以下步骤:执行数据流识别;对识别后的数据流进而识别其中的视频帧信息;获取与所识别的视频帧相关的互动逻辑数据;以及对所获得的互动逻辑数据元素进行预处理。
其中所述帧间处理包括以下步骤:对用户输入信息以及帧内容的变化进行响应;实时计算互动元素的状态属性;执行元素的效果处理和图元缓存处理;以及输出视频并执行互动逻辑。
根据本发明的基于客户端的视频流互动处理***,包括:数据流处理单元11,用于对视频数据流进行整体上的识别处理;以及单帧处理单元12,用于对所述视频流执行帧间处理。
其中数据流处理单元11进一步包括:数据流识别模块111,用于识别数据流的来源;视频帧信息提取模块112,用于识别视频帧的各种属性信息;获取互动逻辑数据模块113,用于从服务器中提取客户所提供的各种互动信息;以及互动元素预处理模块114,将所获得的互动元素进行诸如队列化索引及缓冲等之类的预处理。
所述单帧处理单元12进一步包括:输入模块121,用于由用户输入相关信息从而对帧内容的变化进行响应;实时计算模块122,用于实时计算互动元素的状态属性;处理模块123,用于对所述元素进行效果处理和图元缓存处理;以及输出模块124,用于输出视频并执行其他的视频操作指令。
附图说明
图1显示了现有技术的基于服务器端的视频流处理***的结构图;
图2显示了根据本发明的面向终端的交互式视频处理***的方框图;
图3是根据本发明的面向终端的交互式视频处理方法的流程图;
图4是一种示例数据流识别方法流程图;
图5是一种示例识别视频帧信息的流程图;
图6是一种示例的获取互动逻辑数据流的流程图;
图7是一种示例的互动元素预处理流程图;
图8是当模块为帧间处理时,对画面变化和用户输入的变更进行数据提取及预处理的流程图;
图9是示例的帧间实时计算互动元素状态属性的流程图;
图10是示例的互动元素视频渲染及和图元缓存处理的流程图;
图11是示例的输出视频并执行互动逻辑的子模块。
具体实施方式
现在参照附图,对本发明的***及方法进行具体的描述。
图2显示了根据本发明的面向终端的交互式视频处理***的方框图。如图2所示,面向终端的交互式视频处理***包括数据流处理单元11及单帧处理单元12。其中所述数据流处理单元11包括:数据流识别模块111,用于识别数据流的来源;视频帧信息提取模块112,用于识别视频帧的各种属性信息;获取互动逻辑数据模块113,用于从服务器中提取客户所提供的各种互动信息;以及互动元素预处理模块114,将所获得的互动元素进行诸如队列化索引及缓冲等之类的预处理。此外,所述单帧处理单元12进一步包括:输入模块121,用于由用户输入相关信息从而对帧内容的变化进行响应;实时计算模块122,用于实时计算互动元素的状态属性;处理模块123,用于对所述元素进行效果处理和图元缓存处理;以及输出模块124,用于输出视频并执行互动逻辑。
可以采用多种方式来将本发明的面向终端的交互式视频处理***加载到计算机***中,比如:利用公开媒体播放器或其他视频功能软件的第三方扩展接口或内置程序代码主动加载本***;或者,对于老式的没有第三方模块加载功能的播放器或其他视频功能软件,但利用操作***的视频规范中保留的扩展接口,自动加载本***;或者,如果播放器或其他视频功能软件未利用操作***标准的扩展接口或者对扩展接口加以限制,可针对视频显示窗口(屏幕)设置Hook,从而加载本***;此外,对于一些与硬件连接或直播特性的视频功能性软件,如摄像头、视频采集卡等,还可以通过对***硬件驱动层的API的监听跟踪,在数据流上动态加载本***。在所述扩展接口及API等等上加载程序的方式是本领域中的已有技术,在此不再赘述。在加载过程中,本发明***通过检测播放程序、视频文件和硬件模块的特点,自动地选择最佳的方式进行加载。
通用视频互动模块加载完成之后,会等待***将压缩处理的数据解码后的视频触发消息及其数据存放地址,一旦模块检测到视频数据后,互动模块会实际根据情况作出不同的处理,如第一次数据流触发时,会做视频的预处理,获取整个视频数据流、视频文件信息及索引信息、播放器、***信息等数据,并将采集到的数据做一定处理,向互动应用服务器提交,并取回数据进行处理等操作。当视频数据流再次触发时,则根据是否获得互动数据以及互动数据的具体指令来确认是否执行帧间处理的相关功能。
视频数据流处理单元11的数据流识别模块111首先根据视频流的数据编码格式以及所连接的动态模块,判别数据流是来自数字视频采集设备,还是来自网络视频流包或者是来自本地硬盘、光盘上的文件。之后识别数据帧的信息,比如视频宽、高、色彩位数、色深、视频元数据、视频帧率、帧数、播放时间、当前时间(处理线程不同步模式和在线视频直播时,预处理帧号可以不为起始帧0)等等信息,当视频数据流中特定位置中含有特殊的定义标记时,对此帧数据进行数字水印提取处理,获取数字水印中隐藏的信息。
在视频数据流处理单元11的处理过程中,基于作了特殊标记的帧,来获取数字水印信息。采用这个技术主要是为了更好的解决媒体情节、内容章节的定位问题。通过利用数字水印技术,可以不依赖具体的文件格式和编码算法来实现对内容特定场景、情节的索引。由于这种数字水印的提取技术是现有技术中经常采用的技术手段,在此不作赘述。应用此技术之后,一旦片源进行了数字水印保护,在绝大部分情况下,原始视频即便被执行转换视频编码、视频画面缩放、拉伸、轻量柔化、锐化等有损图形处理之后,仍可以还原出原始信息,这将进一步扩展互动视频功能的应用面和增加通用性。
在视频帧信息提取模块112提取完视频的各种基本信息之后,客户端会将视频的各种基本信息连同客户端的***参数发送到服务端进行处理。服务端将对上传的数据进行归类,并存入相关的数据库。最后根据采集到的信息,完成客户端权限的查询、媒体识别、情节和场景识别与时间轴修正定位等处理,再根据数据库内该媒体/情节对应的互动应用的业务逻辑模块,动态的生成相应的互动应用数据脚本。最终经过加密处理后,传送回客户端。这一过程是由获取互动逻辑数据模块113来完成的。
客户端收到互动数据模块之后,会将脚本一一解析,将脚本中互动元素进行队列化索引处理,之后根据统计互动元素应用时间长短,采用互动元素预处理模块114对使用频繁会导致大量资源消耗的互动元素进行缓冲处理。
程序运行到此时,数据流预处理流程结束,此后主要以视频帧之间的帧间处理为主。
帧间处理是指,两个连续的原始视频画面之间的处理过程,通过实时性强的帧间处理帧上的互动元素效果,实现对原始视频画面的视觉重构。当播放器播放视频时,任意两帧画面间都会加载帧间处理功能模块。帧间处理主要包括下列主要流程:(1)由输入模块121来检测视频内容的变化和用户的各种输入,并形成互动元素的显示优先级等数据输出,(2)由实时计算模块1222动态地执行互动控制脚本,计算互动元素属性变化,(3)由处理模块123对互动元素进行渲染以及缓存处理,(4)输出模块124,输出视频并执行其他的视频操作指令。
在帧间处理过程中,会自动获取当前帧的流水号,与此同时对视频数据流进行水印检测和数据提取,这个流程和预处理流程中水印的处理过程类似。其次就是检测有没有数据流附加数据标志,如果有且能被识别,则对附加数据加以提取。然后检测鼠标、键盘等外部输入设备的最后位置的消息事件,如果输入设备事件落到视频窗口内,则根据输入的信息,在上一次帧间处理时产生的临时互动元素缓冲区中队列的互动元素中,进行视频/互动元素的碰撞检测和互动元素的碰撞/遮蔽检测。在这个流程中将无法显示的视觉元素,打上跳过的标记。同时根据输入设备的信息,对互动元素的逻辑层次进行修正和排序,以求达到减少***的资源消耗的效果。
确定了互动元素的显示优先级以及逻辑图层关系之后,就要实时的根据互动逻辑脚本计算每个互动元素的属性。运行时此模块先获取当前帧的互动元素的缓存队列。然后开始一个一个对元素的属性进行计算并渲染。
在进行互动元素计算渲染之前,先通过实时限定器打一个时间戳标记,然后再从队列中获取一个未处理的互动元素,对其进行缓冲检测,如果存在缓冲数据就执行下一步,否则建立一个新数据对象并缓冲。然后检测互动元素各个属性是否需要变化(如屏幕位置、长宽、3轴旋转角度、颜色等等属性),如果在脚本时间轴的对应帧上存在相关属性的对应活动脚本及指令,就根据指令修改或在内部虚拟机上执行动态脚本,实现元素属性的动态变化,再通知渲染器按新参数重新渲染此互动元素,否则直接告知渲染器用原始缓冲图像进行渲染。最后进入实时限定器估算帧间剩余时间。如果剩余时间不够,则放弃一些元素的动态渲染而直接提取上一帧缓存数据输出,以求确保处理的实时特性。
由于终端播放视频必需解决实时性问题,因此如果不能解决实时性问题,将造成用户终端播放视频文件时产生跳帧的现象,将降低用户的收看质量。因此本发明采用实时限定器技术,统计和计算每个元素的渲染时间,合理的调配利用互动元素的渲染能力和图形缓存,借助人类视觉暂留的生理特点,最大限度地减小互动元素的直接渲染次数,在有限的计算资源下实现,更多的画面元素的实时处理能力。通过上述技术处理,基本可以让视频画面渲染能力提高近30%的效能。
本技术的视频渲染模块,有两大特点,其一是内置包括几十种常见的各种图形处理技术,图像默认处理模式包括:缩放、锐化、模糊、羽化、马赛克、反色、灰度、线条化、浮雕、平衡、色调、噪声、颗粒化、抠像、扭曲、折叠、遮盖、复制、平铺、融合、透明等数十种图形处理方法。并可以通过插件外挂更多的图形处理模块,最终实现更多的处理效果。其二视频渲染处理是直接基于视频帧的数据格式来直写处理的,与传统视频处理技术需要进行RGB-RGB图形处理,再从RGB色系转换到视频的YUV色系相比,期间不需要再进行复杂繁琐的数据格式转换操作,也一定程度提高了视频渲染的速度。
最后完成视频渲染之后,在进入下一轮帧间处理之前,互动逻辑执行模块会执行当前帧定义的或外部设备激活的相关指令。通过执行相关指令,可以调用外部的第三方程序,或者对视频数据流的播放进行控制、或者读取另外的互动视频逻辑指令等等。
图3是根据本发明的面向终端的交互式视频处理方法的流程图。首先要执行的是对视频数据流进行整体上的识别处理,其包括在步骤S301,执行数据流识别;在步骤S302对识别后的数据流进而识别其中的视频帧信息;之后在步骤S303,获取与所识别的视频帧相关的互动逻辑数据,所述数据包括例如文字、图像、动画、视频、音频、控制逻辑代码脚本等;并在步骤S304,对所获得的互动逻辑数据元素进行预处理,在这一步骤中需要对互动元素的特征进行解析,以分析出互动元素的例如出场时间及场景排序等,并将互动元素输出到对象缓冲区。在执行了视频数据流的整体识别之后,接着要进行视频帧的单帧处理。如果获得了互动逻辑数据流数据,当视频数据流单帧解码成功,就进入帧间处理流程,每两帧画面之间都要执行以下的操作:在步骤S305,对用户输入信息以及帧内容的变化进行响应;在步骤S306,实时计算互动元素的状态属性,所述状态属性例如屏幕位置、长宽、3轴旋转角度、颜色等等;接着在步骤S307,执行元素的效果处理和图元缓存处理;在步骤S308输出视频并执行互动逻辑;在步骤S309判断视频数据流是否结束,如果未结束则返回执行步骤S305-S308直至所有的视频帧全部处理结束。
下面参见图4-图10,举例说明了本发明的面向终端的交互式视频处理方法的具体操作。图4举例说明了一种数据流识别方法。所述方法包括执行一个专门的看门狗代码,其在步骤401监视与视频相关的***API接口,以及鼠标、键盘、硬盘/光盘、视频外设等IO消息;接着在步骤S402,判断***视频模块是否被激活。如果***视频模块被激活则执行步骤S403;在步骤S403对硬件设备进行检测,所述硬件设备例如摄像头/采集卡/显卡/USB/IEEE1394;之后在步骤S404和S405,进行网络数据流检测以及本地、光盘文件模块视频播放检测,然后方法进行到步骤S405。如果在步骤S402所述***视频模块没有被激活,则直接进行到步骤S406。在S406,输出检测结果数据。最后对是否要卸载看门狗进行判断(S407),如果需要卸载则方法结束,如果不需要下载则方法返回执行步骤S401。即,当发现有视频相关的模块被使用之后,先确定视频的来源是本地或光盘或网络流或外部硬件采集设备,将识别出的数据组成特定的数据流发到下一个处理模块,模块以相对独立线程运行,会一直等到获得退出的线程消息之后,才会进行自我拆卸。
图5中举例说明了一种识别视频帧信息的方法。这一方法例如可以采用独立的线程方式运行。在步骤S501,以同步的方式读取视频流数据,当然在必要时也可以采用异步的方式来读取所述视频流数据。然后在步骤S502,识别视频帧的数据格式。在步骤S503判断所述视频帧的格式是否是所支持的视频帧格式。如果不是支持的视频帧格式,则直接执行步骤S508。如果是支持的视频帧格式,则在步骤S504提取视频大小、色彩位数等信息用来设定互动前景帧缓冲区的大小。并在步骤S505提取内置的视频元数据,所述视频元数据例如包括视频名称、著作权人、视频说明等元信息,以及在步骤S506获取视频流播放完整时间、帧率、帧数、当前帧等元信息。然后在步骤S507检测视频流中的数据水印信息,其中将可能的流水印戳或数字水印还原成指定信息格式。并最终在步骤S508将上述收集到的视频帧的识别结果数据流输出到下一级模块并直接结束识别视频帧信息的处理。
图6举例说明了一种获取互动逻辑数据流的方法。其中,在步骤S601,客户端将收集到的视频各种元信息和数据水印信息提交到应用网关,接着在S602,应用网关将客户端的提交的视频信息进行解码及读取,并进行分析归类,接着将不同的信息提交到具体的应用或查询服务(步骤S603-S607)。然后在步骤S608-S614,***根据用户的基本信息获得其在***或具体业务上的权限和权利,并结合视频的基本信息(显示尺寸、节目时间、帧率和数据流格式、当前时间)、元信息(视频名称、版权、著作权人等)和数据水印附加信息等等,进一步定位出视频的特性、版权的归属和内容情节场景,通过检索场景情节控制的业务逻辑和互动元素资源的生成器,形成了视频情节互动控制的策略服务,并配合视频播放控制的控制策略,就能生成用于客户端控制的互动控制脚本。接着在步骤S615将所得到的策略返回具体服务/数据查询以生成客户端控制的互动数据。然后由应用网关将互动数据进行打包及编码压缩处理(S616),并下载到客户端的电脑上。最后,客户端接收并解码互动数据(S617)并向其它模块输出互动数据。
图7举例说明了一种互动元素预处理的方法。其中在步骤S701从服务器上读取互动控制数据,在步骤702对从服务器上获得的互动控制数据流进行解析,从而得到互动元素特征定义描述数据和互动元素行为描述数据。然后在步骤S703,将互动元素按出现频率进行再排序,例如先按照出场的时间和场景顺序等进行排序,接着在步骤S704再针对元素使用频率排序,从而形成优先处理队列。然后在步骤S705对是否出现频率大、或x秒内需要显示的元素进行判断。如果出现则生成互动元素对象内容(S706)并输出到对象缓冲区中(S707)。如果未出现则所述处理直接结束。
图8举例说明了一种当模块为帧间处理时对画面变化和用户输入的变更进行数据提取及预处理的方法。其中包括三种信息或事件的检测,即检测视频流数据水印、检测视频流附加数据标记、以及检测鼠标键盘活动事件。具体地说,在步骤S801,先对视频单帧数据流做数字水印是否存在的检测,如果不存在数据水印,则方法直接进行到步骤S803,否则如果存在数字水印则在步骤S802提取水印信息,之后方法进行到步骤S803。在步骤S803再对数据流附加数据信息是否存在进行检测,如果存在可识别且有用的信息,则在步骤S804进行提取,接着进行到S805;否则如果不存在,方法直接进行到步骤S805。然后在步骤S805,提取鼠标和键盘事件队列。如果存在输入事件的发生,则进行视频、互动元素的热区检测(S806)和碰撞/遮蔽检测(S807),然后执行步骤S808输出互动元素状态信息并结束处理;如果不存在输入事件的发生,则直接输出互动元素状态信息,然后结束处理。
图9举例说明了一种帧间实时计算互动元素状态属性的方法。所述方法是以异步线程方式来独立地运行的,即以独立的子线程向服务器提交互动操作数据请求,而不是采用主线程同时进行数据处理和向服务器获取数据,这样的方式提高了***的操作效率,并且避免了播放时跳帧现象的出现。首先在步骤S901获取互动元素状态信息。每当接受到互动元素的状态信息之后,就执行实时运行限定器,给数据处理打上一个处理的时间戳(S902)。然后在步骤S903,从互动元素队列中提取一个未处理的互动元素。并在步骤904判断该互动元素对象是否被缓存。如果未缓存则步骤进行到S905,建立相关对象并缓存该互动元素数据。进行缓存可大大地降低CPU处理时间,也就是说如果画面元素过多,而视频又是每秒24-30帧的连续画面,在实时性要求较高的帧间处理中,临时建立一个互动元素图元对象的处理时间是较大的,如果将互动元素和其元素画面缓存起来,仅到使用时才进行合并处理,将大大降低CPU时间,在一些复杂的应用中帧间处理提高效率约30-50%。执行了数据缓冲之后,在步骤S906判断互动元素的属性是否变化。如果有则根据基本运行环境和用户输入的鼠标键盘信息,计算互动元素的动态属性(S907),然后步骤进行到S908。如果没有则直接进行到S908。在步骤S908,最后将互动元素对象变化的消息进行广播。最后在步骤S909实时限定器根据运行时间确定是否再进行下一个互动元素处理。这样的模式主要是为了确保实时处理的特性。
图10举例说明了一种互动元素视频渲染及和图元缓存处理的方法。所示例的互动元素视频渲染和图元缓存处理的方法以异步线程的方式独立地运行。在步骤S1001线程监听***消息,并在步骤S1002进行判断互动元素源效果是否需要更新。如果需要更新,进行下一步的判断,即是否是可视检测(S1003)。如果不需要进行更新,则步骤直接跳转到S1008。如果在步骤S1003判断了该元素是可视的,则执行步骤S1004,试图生成此元素的视觉图形,并将此源图形缓存起来。之后依次对图像进行缩放与旋转处理(S1005)、调用其他的扩展图形处理接口(S1006)、并将获得的图形再次缓存起来放入临时图元缓存区(S1007)。接着在步骤S1008在对画面进行遮罩、虚化、位置处理,最后在步骤S1009叠加进视觉前景缓冲区并暂时结束或挂起本模块。
图11举例说明了输出视频并执行互动逻辑的方法。具体地说,在步骤S1101以独立的进程监听帧刷新的消息。然后在步骤S1102判断是否有更新帧的消息。如果有更新帧的消息,则在步骤S1103将视觉互动前景帧和视频数据帧的画面进行融合,并在步骤S1104立即把合成的视频数据流输出到任何屏幕或下一级的编解码器等。如果判断没有更新帧的消息则直接执行步骤S1104。在步骤S1105判断是否存在其他的互动控制指令。如果还存在其他的互动控制指令,则在步骤S1106根据指令进行视频流暂停、跳转、切换控制等,并根据情况,在步骤S1107调用其他扩展接口的执行更多的互动功能,直至此次帧间处理完成,最终暂时挂起或终止所述处理。如果不存在其他的互动控制指令则直接地转到暂挂起或终止处理步骤。
以上给出了本发明的示例方法的具体步骤以及本发明的示例***的示例结构。但是上述示例仅仅是说明性的而并非是对本发明的限定。本发明的保护范围由所附加的权利要求书中的权利要求来界定。在不脱离本发明附加的权利要求的范围的情况下,可以对本发明进行适应性的改进和/或改变。

Claims (32)

1.一种基于客户端的视频流互动处理方法,包括以下步骤:
对视频数据流进行整体上的识别处理;以及
如果获得了互动逻辑数据流数据,当视频数据流单帧解码成功,则对所述视频流执行帧间处理。
2.一种如权利要求1所述的基于客户端的视频流互动处理方法,其中对视频数据流进行整体上的识别处理包括以下步骤:
执行数据流识别;
对识别后的数据流进而识别其中的视频帧信息;
获取与所识别的视频帧相关的互动逻辑数据;以及
对所获得的互动逻辑数据元素进行预处理。
3.一种如权利要求2所述的基于客户端的视频流互动处理方法,其中按照下述操作来执行数据流识别:
监视与视频相关的***API接口;
判断***视频模块是否被激活;
如果***视频模块被激活对硬件设备进行检测;
进行网络数据流检测和文件模块视频播放检测;以及
输出检测结果数据。
4.一种如权利要求2所述的基于客户端的视频流互动处理方法,其中对识别后的数据流进而识别其中的视频帧信息包括以下步骤:
读取视频流数据并识别视频帧的数据格式;
如果该数据格式是可支持的视频帧格式,则提取相关信息用来设定互动前景帧缓冲区的大小;
提取内置的视频元数据并获取视频流播放有关的元信息;
检测视频流中的数据水印信息,将可能的流水印戳或数字水印还原成指定信息格式;
输出视频帧的识别结果。
5.一种如权利要求4所述的基于客户端的视频流互动处理方法,其中读取视频流数据的操作是以同步的方式进行的。
6.一种如权利要求4所述的基于客户端的视频流互动处理方法,其中读取视频流数据的操作是以异步的方式进行的。
7.一种如权利要求2所述的基于客户端的视频流互动处理方法,其中获取与所识别的视频帧相关的互动逻辑数据包括以下步骤:
客户端将收集到的视频各种元信息和数据水印信息提交到应用网关;以及
应用网关将客户端的提交的视频信息进行解码及读取,并进行分析归类,接着将不同的信息提交到具体的应用或查询服务。
8.一种如权利要求2所述的基于客户端的视频流互动处理方法,其中获取与所识别的视频帧相关的互动逻辑数据进一步包括以下步骤:
***根据用户的基本信息获得其在***或具体业务上的权限和权利,并结合视频帧的相关信息而定位出视频的属性;
利用业务逻辑和互动元素资源的生成器形成视频情节互动控制的策略服务,从而生成用于客户端控制的互动控制脚本;
将所得到的策略返回具体服务/数据查询以生成客户端控制的互动数据;以及
将上述数据返回给客户端。
9.一种如权利要求2或7或8所述的基于客户端的视频流互动处理方法,其中所述互动逻辑数据包括文字、图像、动画、视频、音频、控制逻辑代码脚本。
10.一种如权利要求2所述的基于客户端的视频流互动处理方法,其中对所获得的互动逻辑数据元素进行预处理包括以下步骤:
从服务器上读取互动控制数据;
对所获得的互动控制数据流进行解析,得到互动元素特征定义描述数据和互动元素行为描述数据;
将互动元素按出现频率进行排序,并且针对元素使用频率进行排序,从而形成优先处理队列;以及
如果有需要显示的元素,则生成互动元素对象内容并输出到对象缓冲区中。
11.一种如权利要求1所述的基于客户端的视频流互动处理方法,其中所述帧间处理包括以下步骤:
对用户输入信息以及帧内容的变化进行响应;
实时计算互动元素的状态属性;
执行元素的效果处理和图元缓存处理;以及
输出视频并执行互动逻辑。
12.一种如权利要求11所述的基于客户端的视频流互动处理方法,其中所述对用户输入信息以及帧内容的变化进行响应包括以下步骤:
如果存在着视频单帧数据流做数字水印则提取该水印信息;
如果存在数据流附加数据信息则提取该信息;
提取输入事件;
如果存在输入事件,则进行视频、互动元素的热区检测和碰撞/遮蔽检测;以及
输出互动元素状态信息。
13.一种如权利要求11所述的基于客户端的视频流互动处理方法,其中所述实时计算互动元素的状态属性包括以下步骤:
获取互动元素状态信息,并执行实时运算限定器,给数据处理打上一个处理的时间戳;
从互动元素队列中提取一个未处理的互动元素;
如果所述互动元素未缓存则建立相关对象并缓存该互动元素;
如果所述互动元素的属性发生变化则根据基本运行环境和用户的输入信息而计算互动元素的动态属性;以及
将互动元素对象变化的消息进行广播。
14.一种如权利要求13所述的基于客户端的视频流互动处理方法,其中所述实时计算互动元素的状态属性的方法是以异步线程的方式来独立地运行的。
15.一种如权利要求11所述的基于客户端的视频流互动处理方法,其中所述执行元素的效果处理和图元缓存处理包括以下步骤:
线程监听***消息;
判断互动元素源效果是否需要更新,如果需要更新,则判断是否是可视检测,如果该元素是可视的,则生成此元素的视觉图形,并缓存所述图形;
对图像进行缩放与旋转处理;
调用其他的扩展图形处理接口,并将所获得的图形再次缓存到临时图元缓存区;以及
对画面进行遮罩、虚化、位置处理,并将其叠加进视觉前景缓冲区。
16.一种如权利要求11所述的基于客户端的视频流互动处理方法,其中所述输出视频并执行互动逻辑包括以下步骤:
以独立的进程监听帧刷新的消息;
如果有更新帧的消息,则将视觉互动前景帧和视频数据帧的画面进行融合,并把合成的视频数据流输出到任何屏幕或下一级的编解码器中;以及
如果还存在其他的互动控制指令,则根据所述指令进行相应的视频流控制操作,并调用其他扩展接口的执行更多的互动功能,直至本次帧间处理完成。
17.一种基于客户端的视频流互动处理***,所述***包括:
数据流处理单元(11),用于对视频数据流进行整体上的识别处理;以及
单帧处理单元(12),用于对所述视频流执行帧间处理。
18.一种如权利要求17所述的基于客户端的视频流互动处理***,其中所述数据流处理单元(11)进一步包括:
数据流识别模块(111),用于识别数据流的来源;
视频帧信息提取模块(112),用于识别视频帧的各种属性信息;
获取互动逻辑数据模块(113),用于从服务器中提取客户所提供的各种互动信息;以及
互动元素预处理模块(114),将所获得的互动元素进行诸如队列化索引及缓冲等之类的预处理。
19.一种如权利要求17所述的基于客户端的视频流互动处理***,其中所述单帧处理单元(12)进一步包括:
输入模块(121),用于由用户输入相关信息从而对帧内容的变化进行响应;
实时计算模块(122),用于实时计算互动元素的状态属性;
处理模块(123),用于对所述元素进行效果处理和图元缓存处理;以及
输出模块(124),用于输出视频并执行其他的视频操作指令。
20.一种如权利要求18所述的基于客户端的视频流互动处理***,其中所述数据流识别模块(111)执行以下具体的操作:
监视与视频相关的***API接口;
判断***视频模块是否被激活;
如果***视频模块被激活对硬件设备进行检测;
进行网络数据流检测和文件模块视频播放检测;以及
输出检测结果数据。
21.一种如权利要求18所述的基于客户端的视频流互动处理***,其中所述视频帧信息提取模块(112)执行以下具体的操作:
读取视频流数据并识别视频帧的数据格式;
如果该数据格式是可支持的视频帧格式,则提取相关信息用来设定互动前景帧缓冲区的大小;
提取内置的视频元数据并获取视频流播放有关的元信息;
检测视频流中的数据水印信息,将可能的流水印戳或数字水印还原成指定信息格式;
输出视频帧的识别结果。
22.一种如权利要求21所述的基于客户端的视频流互动处理***,其中读取视频流数据的操作是以同步的方式进行的。
23.一种如权利要求21所述的基于客户端的视频流互动处理***,其中读取视频流数据的操作是以异步的方式进行的。
24.一种如权利要求18所述的基于客户端的视频流互动处理***,其中所述获取互动逻辑数据模块(113)执行以下具体的操作:
客户端将收集到的视频各种元信息和数据水印信息提交到应用网关;以及
应用网关将客户端的提交的视频信息进行解码及读取,并进行分析归类,接着将不同的信息提交到具体的应用或查询服务。
25.一种如权利要求18所述的基于客户端的视频流互动处理***,其中所述获取互动逻辑数据模块(113)还用于进一步地执行以下具体的操作:
***根据用户的基本信息获得其在***或具体业务上的权限和权利,并结合视频帧的相关信息而定位出视频的属性;
利用业务逻辑和互动元素资源的生成器形成视频情节互动控制的策略服务,从而生成用于客户端控制的互动控制脚本;
将所得到的策略返回具体服务/数据查询以生成客户端控制的互动数据;以及
将上述数据返回给客户端。
26.一种如权利要求18或24或25所述的基于客户端的视频流互动处理方法,其中所述互动逻辑数据包括文字、图像、动画、视频、音频、控制逻辑代码脚本。
27.一种如权利要求18所述的基于客户端的视频流互动处理***,其中所述互动元素预处理模块(114)执行以下具体的操作:
从服务器上读取互动控制数据;
对所获得的互动控制数据流进行解析,得到互动元素特征定义描述数据和互动元素行为描述数据;
将互动元素按出现频率进行排序,并且针对元素使用频率进行排序,从而形成优先处理队列;以及
如果有需要显示的元素,则生成互动元素对象内容并输出到对象缓冲区中。
28.一种如权利要求19所述的基于客户端的视频流互动处理***,其中所述输入模块(121)用于执行下述操作:
如果存在着视频单帧数据流做数字水印则提取该水印信息;
如果存在数据流附加数据信息则提取该信息;
提取输入事件;
如果存在输入事件,则进行视频、互动元素的热区检测和碰撞/遮蔽检测;以及
输出互动元素状态信息。
29.一种如权利要求19所述的基于客户端的视频流互动处理***,其中所述实时计算模块(122)用于执行下述操作:
获取互动元素状态信息,并执行实时运算限定器,给数据处理打上一个处理的时间戳;
从互动元素队列中提取一个未处理的互动元素;
如果所述互动元素未缓存则建立相关对象并缓存该互动元素;
如果所述互动元素的属性发生变化则根据基本运行环境和用户的输入信息而计算互动元素的动态属性;以及
将互动元素对象变化的消息进行广播。
30.一种如权利要求29所述的基于客户端的视频流互动处理***,其中所述实时计算互动元素的状态属性的方法是以异步线程的方式来独立地运行的。
31.一种如权利要求19所述的基于客户端的视频流互动处理***,其中所述处理模块(123)用于执行下述操作:
线程监听***消息;
判断互动元素源效果是否需要更新,如果需要更新,则判断是否是可视检测,如果该元素是可视的,则生成此元素的视觉图形,并缓存所述图形;
对图像进行缩放与旋转处理;
调用其他的扩展图形处理接口,并将所获得的图形再次缓存到临时图元缓存区;以及
对画面进行遮罩、虚化、位置处理,并将其叠加进视觉前景缓冲区。
32.一种如权利要求19所述的基于客户端的视频流互动处理***,其中所述输出模块(124)用于执行下述操作:
以独立的进程监听帧刷新的消息;
如果有更新帧的消息,则将视觉互动前景帧和视频数据帧的画面进行融合,并把合成的视频数据流输出到任何屏幕或下一级的编解码器中;以及
如果还存在其他的互动控制指令,则根据所述指令进行相应的视频流控制操作,并调用其他扩展接口的执行更多的互动功能,直至本次帧间处理完成。
CN2006101129068A 2006-09-11 2006-09-11 基于客户端的视频流互动处理方法及处理*** Active CN1921610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101129068A CN1921610B (zh) 2006-09-11 2006-09-11 基于客户端的视频流互动处理方法及处理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101129068A CN1921610B (zh) 2006-09-11 2006-09-11 基于客户端的视频流互动处理方法及处理***

Publications (2)

Publication Number Publication Date
CN1921610A true CN1921610A (zh) 2007-02-28
CN1921610B CN1921610B (zh) 2011-06-22

Family

ID=37779145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101129068A Active CN1921610B (zh) 2006-09-11 2006-09-11 基于客户端的视频流互动处理方法及处理***

Country Status (1)

Country Link
CN (1) CN1921610B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384311A (zh) * 2013-07-18 2013-11-06 博大龙 互动视频批量自动生成方法
CN103458320A (zh) * 2013-08-29 2013-12-18 上海美琦浦悦通讯科技有限公司 基于水印技术的版权控制***及视频添加数字水印的方法
CN103491196A (zh) * 2013-10-09 2014-01-01 百度在线网络技术(北京)有限公司 网页中多媒体地址的获取方法和装置
CN104079838A (zh) * 2014-07-08 2014-10-01 丽水桉阳生物科技有限公司 一种具有财经数据字幕制播功能的字幕机
CN105049955A (zh) * 2015-07-02 2015-11-11 浙江工商大学 一种实时传屏的方法和***
CN106851332A (zh) * 2017-01-04 2017-06-13 北京百度网讯科技有限公司 视频流处理方法、装置和***
CN108024117A (zh) * 2017-11-29 2018-05-11 广东技术师范学院 一种对视频流进行环路滤波处理的方法及***
CN112104909A (zh) * 2019-06-18 2020-12-18 上海哔哩哔哩科技有限公司 互动视频播放方法、装置、计算机设备及可读存储介质
CN112639718A (zh) * 2018-05-04 2021-04-09 谷歌有限责任公司 自动化助手功能的免热词调配
CN115037732A (zh) * 2022-06-01 2022-09-09 中国电力科学研究院有限公司 通过流媒体进行远程真机调试的方法、装置、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG119229A1 (en) * 2004-07-30 2006-02-28 Agency Science Tech & Res Method and apparatus for insertion of additional content into video

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384311A (zh) * 2013-07-18 2013-11-06 博大龙 互动视频批量自动生成方法
CN103458320B (zh) * 2013-08-29 2016-12-28 上海赛特斯信息科技股份有限公司 实现视频添加数字水印的方法
CN103458320A (zh) * 2013-08-29 2013-12-18 上海美琦浦悦通讯科技有限公司 基于水印技术的版权控制***及视频添加数字水印的方法
CN103491196A (zh) * 2013-10-09 2014-01-01 百度在线网络技术(北京)有限公司 网页中多媒体地址的获取方法和装置
CN103491196B (zh) * 2013-10-09 2017-01-04 百度在线网络技术(北京)有限公司 网页中多媒体地址的获取方法和装置
CN104079838A (zh) * 2014-07-08 2014-10-01 丽水桉阳生物科技有限公司 一种具有财经数据字幕制播功能的字幕机
CN105049955A (zh) * 2015-07-02 2015-11-11 浙江工商大学 一种实时传屏的方法和***
CN105049955B (zh) * 2015-07-02 2019-02-05 浙江工商大学 一种实时传屏的方法和***
CN106851332A (zh) * 2017-01-04 2017-06-13 北京百度网讯科技有限公司 视频流处理方法、装置和***
CN106851332B (zh) * 2017-01-04 2019-09-20 北京百度网讯科技有限公司 视频流处理方法、装置和***
CN108024117A (zh) * 2017-11-29 2018-05-11 广东技术师范学院 一种对视频流进行环路滤波处理的方法及***
CN112639718A (zh) * 2018-05-04 2021-04-09 谷歌有限责任公司 自动化助手功能的免热词调配
CN112104909A (zh) * 2019-06-18 2020-12-18 上海哔哩哔哩科技有限公司 互动视频播放方法、装置、计算机设备及可读存储介质
CN115037732A (zh) * 2022-06-01 2022-09-09 中国电力科学研究院有限公司 通过流媒体进行远程真机调试的方法、装置、设备及介质
CN115037732B (zh) * 2022-06-01 2024-04-23 中国电力科学研究院有限公司 通过流媒体进行远程真机调试的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN1921610B (zh) 2011-06-22

Similar Documents

Publication Publication Date Title
CN1921610B (zh) 基于客户端的视频流互动处理方法及处理***
CN112291627B (zh) 一种视频编辑方法、装置、移动终端和存储介质
JP4726097B2 (ja) 適応制御を行うことができるmpegコード化オーディオ・ビジュアル対象物をインターフェースで連結するためのシステムおよび方法
US11418832B2 (en) Video processing method, electronic device and computer-readable storage medium
US7286132B2 (en) System and methods for using graphics hardware for real time two and three dimensional, single definition, and high definition video effects
US6573898B1 (en) Analysis of properties of effects for rendering and caching of media data
CN109325145B (zh) 视频缩略图的获取方法、终端及计算机可读存储介质
CN101076106A (zh) Iptv二维帧标记信息互动视频***
WO1998044435A1 (en) Method and apparatus for integrating hyperlinks in video
WO2006115604A2 (en) Media timeline sorting
JP2008263648A (ja) インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法
US20150117515A1 (en) Layered Encoding Using Spatial and Temporal Analysis
CN116210221A (zh) Mpeg和gltf媒体的时间对齐
US7941739B1 (en) Timeline source
EP4089515A2 (en) User interface engine for cloud ui rendering
CN1205539C (zh) 程控生成连续性媒体表示的***和方法
JP2001167037A (ja) Javaを利用した動的なマルチメディア・ウェッブ・カタロギング・システムおよびその方法
KR20080044872A (ko) 컴퓨터 상에서 정보 또는 데이터를 처리하기 위한 시스템및 방법
US7692562B1 (en) System and method for representing digital media
CA2352962A1 (en) Web-based video-editing method and system
Black et al. A compendium of robust data structures
CN111447490A (zh) 流媒体文件处理方法及装置
US20240251008A1 (en) Auxiliary mpds for mpeg dash to support preroll and midrolls and their playback using w3c mse/eme
AU2022433628A1 (en) Auxiliary mpds for mpeg dash to support prerolls, midrolls and endrolls with stacking properties
Huang et al. Design and implementation of an efficient MPEG-4 interactive terminal on embedded devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181211

Address after: 100000 room 1403-2, 37 Building, 34 hospital, Chaoyang District, Beijing.

Patentee after: Beijing Xinguang digital cinema line Co., Ltd.

Address before: 100034 Building 303, No. 6, Xisi Bingma Hutong, Xicheng District, Beijing

Co-patentee before: Gong Xiangjing

Patentee before: Gong Xiangming

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220526

Address after: 100124 room 4026, 4 / F, building 24, second courtyard, shimencun Road, Chaoyang District, Beijing

Patentee after: Canal age (Beijing) Technology Development Co.,Ltd.

Address before: 100000 room 1403-2, 37 Building, 34 hospital, Chaoyang District, Beijing.

Patentee before: Beijing Xinguang Digital Cinema Line Co.,Ltd.