CN100587793C - 视频处理方法、电路和系统 - Google Patents
视频处理方法、电路和系统 Download PDFInfo
- Publication number
- CN100587793C CN100587793C CN200710104100A CN200710104100A CN100587793C CN 100587793 C CN100587793 C CN 100587793C CN 200710104100 A CN200710104100 A CN 200710104100A CN 200710104100 A CN200710104100 A CN 200710104100A CN 100587793 C CN100587793 C CN 100587793C
- Authority
- CN
- China
- Prior art keywords
- subframe
- video
- initial
- frame sequence
- metadata
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明涉及一种视频处理设备,生成子帧元数据以用于修改初始视频帧序列,所述视频处理设备包括:视频接口,用于接收表示初始视频帧序列的视频数据;用户接口,用于接收标识子帧的用户输入子帧信息,所述子帧对应初始视频帧序列中至少一个帧中描述的场景中感兴趣的区域;处理电路,用于根据子帧信息生成子帧元数据。与每个子帧相关的编辑信息也可包括在所述子帧元数据中。可特定生成目标子帧元数据,以用于特殊的屏幕或屏幕尺寸。带有小屏幕的第一播放器和带有更大屏幕的第二播放器各自接收不同的子帧元数据文件,并均接收相同的初始视频。根据不同的子帧元数据,初始视频将会以两种不同的形式显示在小屏幕和更大的屏幕上。
Description
技术领域
本发明涉及视频处理设备,更具体地说,涉及一种利用视频数据来运行的交互式视频处理系统,所述视频数据用于在视频显示器上进行回放。
背景技术
电影和其它视频内容通常采用纵横比为16∶9的35mm胶片拍摄。当电影进入初级电影市场,35mm胶片被复制,并分发到各大电影院,从而将电影出售给电影观众。例如,电影院通常使高亮度光通过35mm胶片,来将电影投影到“大屏幕”上,显示给付费观众。一旦电影离开“大屏幕”,该电影通常进入二级市场,其中通过向单个观众销售包括电影的影碟或录影带(例如,VHS录影带、DVD、高清(HD)-DVD、蓝光DVD、以及其它记录媒体)来完成分发。二级市场电影分发的其它选择包括通过互联网下载或者通过电视网络提供商广播。
为了通过二级市场进行分发,35mm胶片的内容被逐个胶片帧转换成原始数字视频。由于HD分辨率要求每胶片帧至少1920×1080像素,这样的原始数字视频可要求大约25GB的存储空间来存储两小时的电影。为了避免这样的存储要求,通常用编码器对原始数字视频进行编码和压缩,显著减小存储要求。编码标准的例子包括但不限于动态图像专家组(MPEG)-1、MPEG-2、高清MPEG-2、MPEG-4AVC、H.261、H.263以及电影及电视工程师学会(SMPTE)VC-1。
为了适应在电话、个人数字助理(PDA)以及其它手持设备上播放电影的要求,通常通过互联网下载或上传压缩数字视频数据,或者将其存储在手持设备中,手持设备解压缩和解码视频数据,从而在与手持设备相关的视频显示器上显示给用户。但是,这种手持设备的尺寸往往限制了手持设备上的视频显示器(屏幕)的尺寸。例如,手持设备上的小屏幕的对角线通常仅为2英寸。相比较而言,电视屏幕的对角线为30-60英寸或者更大。不同屏幕的这种差异对观看者感知到的影像质量有极大的影响。
例如,通常,传统PDA和高端电话具有人眼的屏幕宽高比。在小屏幕上,人眼经常不能感知很小的细节,例如文字、面部特征和远处的物体。例如,在电影院里,观看包含远处活动者和道路标记的宽荧幕,可轻易识别面部表情并读取标识上的文字。在高清电视屏幕上,这样的感知也是可能的。但是,当转换成手持设备的小屏幕时,由于人眼的限制,感知面部表情和文字通常是不可能的。
不管屏幕尺寸多大,屏幕解析度不是受到技术的限制就是受到人眼的限制。但是在小屏幕上,这些限制的影响最大。例如,通常,传统PDA和高端电话的屏幕宽高比为4∶3,常常能以320×240像素的解析度播放QVGA视频。相比较而言,HD电视通常具有16∶9的屏幕比,能够播放高达1920×1080像素的解析度。在转换HD视频以适应小屏幕的极少像素数的处理中,像素数据被合并,细节显著损失。尝试将更小屏幕上的像素数增加到HD电视的像素数可避免转换处理,但是,如前所述,人眼只会加强其自身的限制,细节仍会损失。
视频代码转换和编辑系统通常用来将视频从一种格式和解析度转换成另一种,从而在特定的屏幕上重播。例如,这样的系统可输入DVD视频,在执行转换处理后,输出可在QVGA屏幕上回放的视频。还可随转换处理一起使用交互式编辑功能,以生成经编辑和转换的输出视频。为了支持各种不同的屏幕尺寸、解析度和编码标准,必须生成多个输出视频流或文件。
通过将传统系统与本发明的各方面进行比较,对本领域的技术人员来说,传统和常规方法的更多局限和缺陷会变得明显。
发明内容
本发明涉及一种设备及其运行方法,在附图说明、具体实施方式、以及权利要求中有进一步的描述。
根据本发明的一方面,提供了一种与第一视频显示器一起使用的视频处理电路,用于处理被目标视频播放器电路使用的初始视频帧序列,所述目标视频播放器电路通信地连接到第二视频显示器,所述第一视频显示器具有比第二视频显示器更大的可视区,所述视频处理电路包括:
驱动电路,通信地连接到第一视频显示器;
处理电路,通过所述驱动电路交互,从而在第一视频显示器上显示初始视频帧序列中的至少一个帧;
输入接口电路,将表示用户输入的信号传送到所述处理电路;
所述处理电路通过所述驱动电路进行交互,以在所述第一视频显示器上显示子帧,从而对所述表示用户输入的信号做出响应;
所述子帧对应于所述初始视频帧序列中的所述至少一个帧中由所述表示用户输入的信号所标识的区域;以及
所述处理电路生成与所述子帧对应的元数据(metadata),由所述目标视频播放器电路用于修改初始视频帧序列,从而在所述第二视频显示器上生成与所述子帧对应的全屏显示。
优选地,所述处理电路在所述元数据中包含所述子帧与初始视频帧序列中的多个帧的关联性。
优选地,所述处理电路通过所述驱动电路进行交互,在所述第一视频显示器上显示与所述初始视频帧序列相关的附加子帧,从而对表示用户输入的附加信号做出响应;
所述处理电路生成与所述附加子帧对应的附加元数据,由所述目标视频播放器电路用于修改初始视频帧序列,从而在所述第二视频显示器上生成所述全屏显示;以及
由所述处理电路生成的所述元数据和所述附加元数据共同定义一组子帧。
优选地,所述子帧组中的至少两个子帧与初始视频帧序列中的一个帧相对应。
优选地,所述子帧组中的至少两个子帧包括空间位置在初始视频帧序列上变化的对象。
优选地,所述子帧组中的两个子帧与初始视频帧序列中的至少两个不同帧相对应。
优选地,所述子帧组的至少一部分对应于所述初始视频帧序列上描绘的场景的子场景。
优选地,所述元数据还包括编辑信息,由所述目标视频播放器电路用于编辑显示在第二视频显示器上的子帧。
优选地,所述编辑信息在表示用户输入的信号内标识出来。
优选地,所述编辑信息包括应用于与所述子帧相关的初始视频帧序列部分的可视修改。
优选地,所述编辑信息包括应用于所述子帧的运动信息(motioninformation)。
优选地,所述编辑信息包括应用于所述子帧的调整大小信息。
优选地,所述编辑信息包括应用于所述子帧的媒体。
根据本发明的一方面,提出一种视频处理系统,接收表示初始视频帧序列的视频数据,所述视频处理系统包括:
接收用户输入的用户接口;
所述用户输入包括定义第一子帧和第二子帧的子帧信息,所述第一子帧对应所述初始视频帧序列的至少第一部分内的第一感兴趣区域;所述第二子帧对应所述初始视频帧序列的至少第二部分内的第二感兴趣区域;
处理电路,通信地连接到所述用户输入;
所述处理电路根据所述子帧信息生成元数据,用于修改所述视频数据,从而在根据所述子帧信息修改所述初始视频帧序列后,生成所述初始视频帧序列的全屏显示。
优选地,所述第一子帧对应所述初始视频数据序列的子序列。
优选地,在包括视频播放器的配置中,所述处理电路生成的元数据被所述视频播放器用来根据所述子帧信息修改视频数据。
优选地,所述子帧信息还包括对应所述第一子帧的第一编辑信息、以及对应所述第二字帧的第二编辑信息。
优选地,所述元数据以文本形式显示并可手动编辑。
优选地,所述处理电路创建包含有所述元数据的元数据文件,所述元数据文件内的条目对应所述初始视频帧序列中的至少一个帧。
根据本发明的一方面,提供了一种与初始视频帧序列相关的方法,用于在多个视频显示器中的第一视频显示器上显示所述初始视频帧序列的修改形式,所述多个视频显示器具有不同的尺寸,所述方法包括:
接收包括所述初始视频帧序列的视频数据;
在第一视频显示器上显示所述初始视频帧序列中的至少一个帧;
接收用户输入,所述用户输入标识出与所述初始视频帧序列中的至少一个帧中感兴趣区域相对应的子帧;以及
根据用户输入生成子帧元数据,用于修改所述初始视频帧序列,以显示所述初始视频帧序列的修改形式。
优选地,所述方法还包括基于多个子帧重复所述显示、接收用户输入、以及生成步骤。
优选地,所述方法还包括解码所述视频数据。
优选地,所述方法还包括接收附加的用户输入,所述附加的用户输入表示与所述子帧相关的编辑信息。
优选地,所述编辑信息包括可视的修改。
优选地,所述编辑信息包括应用于所述子帧的运动信息。
优选地,所述编辑信息包括应用于所述子帧的调整大小信息。
优选地,所述编辑信息包括应用于所述子帧的媒体。
从以下参照附图的具体实施方式中,本发明的各种特征和优点将会变得更清楚。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是根据本发明的视频处理系统的示意框图,所述系统生成子帧元数据,用于修改初始视频帧序列,以显示在不同大小的视频显示器上;
图2是根据本发明用于生成子帧元数据的典型视频处理设备的示意框图;
图3是根据本发明的视频处理设备生成子帧元数据的操作的示意框图;
图4是典型的初始视频帧和对应子帧的示意图;
图5是典型的子帧序列的子帧元数据的示意图;
图6是包括子帧编辑信息的典型子帧的示意图;
图7是提供图形用户接口的典型视频处理显示器的示意图,所述图形用户接口包括用于编辑子帧的视频编辑工具;
图8是用于生成多组子帧元数据的典型视频处理设备的示意框图;
图9是为多个目标视频显示器生成多组子帧元数据的典型视频处理系统的示意框图;以及
图10是根据本发明用于生成子帧元数据的典型处理的逻辑流程图。
具体实施方式
图1是根据本发明的视频处理系统100的示意框图,所述系统使视频内容显示在不同大小的视频显示器上。视频处理系统100包括视频处理设备120,例如计算机或者可以处理视频数据110的其它设备;以及显示器130,通信地连接到视频处理设备120,以显示视频数据110。
输入的视频数据110包括以任何格式的初始视频帧序列发送或存储的视频内容。在一个实施例中,视频数据110是高清视频数据,其中每个视频帧都由例如1920×1080像素构成,纵横比为16∶9。在其它实施例中,视频数据110是标准或低清晰度视频数据,其中每个视频帧都由纵横比为4∶3的特定数量的像素组成。例如,如果标准视频数据是国家电视标准委员会(NTSC)视频数据,每个视频帧都由水平x纵向的720×486或720×540像素构成。作为另一个例子,如果标准视频数据是逐行倒相(PAL)视频数据,每个视频帧都由水平x纵向的720×576像素构成。另外,可使用任何编码标准对视频数据110进行编码或压缩,例如,MPEG-1、MPEG-2、高清MPEG-2、MPEG-4AVC、H.261、H.263以及SMPTE VC-1,视频数据110也可是未经压缩但经过编码的,或者未经压缩和编码的。
视频处理设备120还执行子帧元数据生成应用程序140。如在此使用的,术语“子帧元数据生成应用程序”指的是对执行以下讨论的子帧元数据生成应用程序140的功能来说必须的任何类型的硬件、软件和/或固件。总之,子帧元数据生成应用程序140将视频数据110作为输入,并根据视频数据110生成子帧元数据150,用于修改视频数据110,以显示在不同视频显示设备160的不同大小的目标视频显示器165上。
视频显示设备160的例子包括但不限于电视160a、个人数字助理(PDA)160b、蜂窝电话160c以及膝上电脑160d。各视频显示设备160a-160d通信地连接到各自的视频显示器165a-165d,每个显示器有各自的尺寸(或可视区)162、165、166和168。各视频显示器165a-165d的可视区162、165、166和168是沿各显示器165a-165d的对角线测得的。PDA 160b和蜂窝电话160c的视频显示器165b和165c分别代表小视频显示器,而电视160a和膝上电脑160d的视频显示器165a和165d代表大视频显示器。如在此使用的,术语“小视频显示器”指的是可视区(例如,164和166)小于与生成子帧元数据150的视频处理设备120相关的显示器130的可视区的视频显示器。
在典型的运行中,子帧元数据生成应用程序140可用于从视频源(例如,视频摄像机、视频磁盘或者视频录影带)接收视频数据110,在显示器130上向用户显示视频数据110,从对显示的视频数据110做出响应的用户处接收用户输入,并响应用户输入,生成子帧元数据150。更具体来说,子帧元数据生成应用程序140将视频数据110中的初始视频帧序列的至少一个帧在显示器130上显示给用户;接收标识出与所显示帧中描绘的场景中感兴趣的区域相对应的子帧的用户输入子帧信息;并根据所述子帧信息生成子帧元数据150。如在此使用的,术语“子帧”包括初始视频帧的至少一部分,但是也可包括整个初始视频帧。得到的子帧元数据150定义子帧序列,修改初始视频帧序列(视频数据110)以在目标视频显示器165a-165d上产生该子帧的全屏显示。
子帧元数据生成应用程序140生成的子帧元数据150可包括一组或多组子帧元数据150,每组都是为特定的目标视频显示器165a-165d和/或特定尺寸162-168的视频显示器165a-165d而生成。因此,为了在特定视频显示器(例如,显示器165a)上显示,视频显示设备160中的每个显示设备通过接收到的为该视频显示器165特定生成的子帧元数据150中的一个来修改初始视频数据110。例如,在接收到初始视频数据110和一组子帧元数据150(也就是,子帧元数据组C)后,蜂窝电话160c使用所接收到的子帧元数据150来修改初始视频数据110,并在其视频显示器(即视频显示器165c)上显示所修改的视频。
另外,子帧元数据生成应用程序140还可将编辑信息添加到子帧元数据150,供目标视频显示设备应用到初始视频数据110上。例如,在一个实施例中,编辑信息由用户作为附加用户输入提供,作为对初始视频数据110的交互显示做出的响应。该编辑信息由子帧元数据生成应用程序140接收,并且作为一部分添加在所生成的子帧元数据150中。
该编辑信息包括但不限于,镜头移动(pan)方向和镜头移动速率、视图缩放(zoom)率、对比度调整、亮度调整、滤波参数和视频效果参数等。更具体来说,与子帧相关的编辑信息可能有几种,可应用于:a)可视修改,例如,亮度、滤波、视频效果、对比度和色彩调整;b)运动信息,例如,镜头移动、在初始帧序列上子帧运动的加速度、速率、方向;c)调整大小信息,例如,子帧在初始帧序列上的视图缩放(包括放大、缩小和比率);以及d)与初始视频数据的落入子帧内的那些部分相关、合并或者叠加的任何类型的补充媒体(例如、文本或图形覆盖层或补充音频)。
图2是根据本发明用于生成子帧元数据150的典型视频处理设备120的示意框图。视频处理设备120包括视频处理电路200,用于处理视频数据110,并根据视频数据110生成子帧元数据150。视频处理电路200包括处理电路210和通信地连接到处理电路210的本地存储器230。本地存储器230存储与在此示出的至少一些功能相对应的操作指令并由处理电路210对其进行执行。例如,在一个实施例中,本地存储器230维护有操作系统240、子帧元数据生成软件模块250、解码器260以及像素转换模块270。
子帧元数据生成软件模块250包括指令,所述指令由处理电路210执行,以从视频数据110中生成子帧元数据150。因此,子帧元数据生成软件模块250向处理电路210提供指令,以从视频数据110获取初始视频帧序列、将初始视频帧显示给用户、处理对用户对显示的初始视频帧做出响应而输入的用户输入,并响应用户的输入而生成子帧元数据150。
在视频数据110经过编码的实施例中,解码器260包括有由处理电路210执行的指令,从而解码该经过编码的视频数据,以生成被解码的视频数据。例如,在基于离散余弦变换(DCT)的编码/压缩格式中(例如,MPEG-1、MPEG-2、高清MPEG-2、MPEG-4AVC、H.261和H.263),考虑到通常会出现的帧间(inter-frame)或场间(inter-field)运动,使用运动矢量来根据邻近的帧或场来构建基于帧或场的预测。例如,当使用MPEG编码标准时,初始视频帧序列被编码成三种不同类型的帧组成的序列:“I”帧、“B”帧、和“P”帧。“I”帧经过帧内编码(intra-coded),“P”帧和“B”帧经过帧间编码(inter-coded)。因此,I帧是独立的,也就是说它们可被重新构建而不参照任何其它帧,而P帧和B帧是非独立的,也就是说,它们需要依据其它帧进行重新构建。更具体来说,从上一个I帧或P帧前向预测P帧,而可从上一个/下一个I帧或P帧向前预测和向后预测B帧。利用DCT对IPB帧序列进行压缩,从而将“I”帧、“P”帧、或“B”帧中的N×N像素数据块转换成DCT域,其中N通常设置为8,且在DCT域中更容易地执行量化。然后对经量化的位流执行游程编码和熵编码,以生成比特率显著小于初始压缩视频数据的压缩位流。解码器260对压缩的视频数据进行解压缩以生成编码视频数据,然后对该编码视频数据解码,生成初始视频帧序列(经解码的视频数据)。
子帧元数据生成软件模块250将解码后的视频数据提供给处理电路210,以将初始视频帧显示给用户并生成子帧元数据150。例如,在一个实施例中,参照初始视频帧序列生成子帧元数据150。在另一个实施例中,如果使用例如MPEG编码标准(其中初始视频帧序列被编码为“I”、“B”、和“P”帧序列)对视频数据110进行了编码,则参照视频帧的IPB(被编码的)序列生成子帧元数据150。
像素转换模块270包括有由处理电路210所执行的指令,将视频数据110的像素解析度转换成与子帧元数据150相关联的目标视频显示器的像素解析度。例如,在视频数据110的像素解析度为高清解析度(例如,每帧1920×1080像素)、且与子帧元数据150相关的目标视频显示器的解析度仅为每帧320×240像素的实施例中,像素转换模块270将视频数据从每帧1920×1080像素转换为每帧320×240像素,以合适地显示在目标视频显示器上。
处理电路210可使用共享处理设备、单个处理设备、或多个处理设备来实现。这样的处理设备可以是微处理器、微控制器、数字信号处理器、微电脑、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路、和/或任何基于操作指令处理(模拟和/或数字)信号的设备。本地存储器230可以是单个存储设备或多个存储设备。这样的存储设备可以是只读存储器、随机存取存储器、易失存储器、非易失存储器、静态存储器、动态存储器、闪存和/或任何存储数字信息的设备。要注意的是,当处理电路210通过状态机、模拟电路、数字电路和/或逻辑电路来实现它的一个或多个功能时,存储对应操作指令的存储器嵌入在包括所述状态机、模拟电路、数字电路和/或逻辑电路的电路中。
视频处理电路200还包括主显示接口220、第一目标显示接口222、第二目标显示接口224、用户输入接口217、全帧视频和子帧元数据输出接口280、以及全帧视频输出接口290,每个接口通信地连接到本地存储器230和处理电路210。主显示接口220提供了至视频处理设备的主显示器的接口,而第一目标显示接口222和第二目标显示接口224分别提供了至各自的目标视频显示器的接口,通过子帧元数据150修改后的视频数据110将显示在所述目标视频显示器上。用户输入接口217提供了一个或多个接口,用于通过一个或多个输入设备(例如,鼠标、键盘等)从操作视频处理设备的用户处接收用户输入。例如,这样的用户输入可包括用于标识所显示帧中描绘的场景中感兴趣区域(子帧)的子帧信息和用于编辑子帧信息的编辑信息。
视频数据和子帧元数据输出接口280为输出视频数据110和所生成的子帧元数据150提供了一个或多个接口。例如,视频数据和子帧元数据输出接口280可包括至存储视频数据110和子帧元数据150的存储媒介(例如,视频磁盘、视频录影带或其它存储媒介)的接口、至传输视频数据110和子帧元数据150的传输媒介(例如,通过互联网、以太网或其它网络传输)的接口、和/或至对视频数据110和子帧元数据150执行进一步处理的附加处理电路的接口。视频数据输入接口290包括一个或多个用于接收压缩或非压缩格式的视频数据110的接口。例如,视频数据接口290可包括至存储初始视频数据的存储媒介的接口和/或至通过互联网、以太网或其它网络接收视频数据110的传输媒介的接口。
操作过程中,子帧元数据生成软件模块250一旦启动,便向处理电路210提供指令,以通过视频输入接口290接收视频数据110或者从本地存储器230中取回之前存储的视频数据110。如果视频数据110是经过编码的,子帧元数据生成软件模块250还向处理电路210提供指令以访问解码器260,并使用解码器260提供的指令解码该经过编码的视频数据。
然后,子帧元数据生成软件模块250向处理电路210提供指令,从而从视频数据110中获取初始视频帧序列中的至少一个帧,并通过主显示接口220将初始视频帧显示给用户。对通过用户输入接口217接收到的用户输入做出响应,其中所述用户输入标识出与所显示帧中描绘场景的感兴趣区域对应的子帧,接下来,子帧元数据生成软件模块250向处理电路210提供指令以根据用户输入生成子帧元数据150,并将所生成的子帧元数据存储在本地存储器230中。在要求像素转换的实施例中,子帧元数据生成软件模块250还命令处理电路210访问像素转换模块270,以生成具有合适像素解析度的子帧元数据150。
根据子帧元数据生成软件模块250为其编程的目标视频显示器的类型,子帧元数据生成软件模块250生成的子帧元数据150可包括一组或多组字帧元数据150,每一组都针对特定的目标视频显示器生成。例如,在一个实施例中,为了在特定的视频显示器(例如,第一目标视频显示器)上显示,处理电路210通过第一目标显示接口222输出初始视频数据110和针对第一目标视频显示器的子帧元数据150。在另一个实施例中,处理电路210通过输出接口280输出初始视频数据110和一组或多组子帧元数据150,以供后续的处理、存储或传输。
图3是根据本发明的视频处理设备120生成子帧元数据150的操作的示意框图。在图3中,视频数据110被表示为初始视频帧序列310。初始视频帧序列(视频数据110)中的每个帧310被输入给子帧元数据生成应用程序140,由其生成子帧元数据150。另外,初始视频帧序列中的每个帧310都可显示在视频处理设备120的显示器130上,供用户观看和处理,如图2所示。
例如,用户可操作诸如鼠标之类的输入设备320,来控制显示器130上指针330的位置。指针330可用来标识出与显示在显示器130上的当前帧310中感兴趣区域对应的子帧315。例如,用户可利用指针330在显示器上创建窗口,并通过鼠标320执行一系列点击和拖动操作,控制显示器130上的窗口大小和位置。一旦用户使用输入设备320在显示器130上创建了窗口,用户还可利用输入设备320来指出,该窗口定义了一个子帧315,这一操作通过经由用户接口217向子帧元数据生成应用程序140提供用户信号325来实现。根据用户信号325,子帧元数据生成应用程序140生成子帧元数据150。例如,子帧元数据150可标识出当前帧310的窗口中心的空间位置(例如,当前帧310上与窗口中心对应的像素位置)以及窗口大小(例如,以多个像素表示的窗口长度和宽度)。
子帧元数据生成应用程序140包括子帧标识模块340、子帧编辑模块350和元数据生成模块360。一旦接收到创建子帧315的用户信号325,子帧标识模块340分配子帧标识符345给该子帧。子帧标识符345用于标识子帧元数据150所定义的子帧序列中的该子帧。
子帧编辑模块350对附加用户信号325做出响应,对子帧进行编辑。例如,一旦用户使用输入设备320创建了子帧315,用户可进一步使用输入设备320来编辑子帧315,并通过用户接口217将代表编辑的用户信号325提供给子帧元数据生成应用程序140。该用户信号被输入到子帧编辑模块350,以生成编辑信息355,编辑信息355描述了对子帧315执行的编辑。编辑信息355包括在子帧元数据150中,用于显示在目标视频显示器上之前,对目标显示设备上的子帧315进行编辑。虽然编辑信息可被指定应用于全部视频数据,但大多数的编辑信息应用于特定的一个或多个子帧。
编辑信息355包括但不限于镜头移动方向和速率、视图缩放(zoom)率、对比度调整、亮度调整、滤波参数和视频效果参数等。视频效果包括但不限于擦除、渐变、溶解、表面和对象变形、聚光和高光、颜色和样式填充、视频或图形覆盖、颜色校正、3D透视校正和3D纹理映射。视频效果的另一个例子包括“时移”。仅仅通过在元数据中添加有关控制第一子帧放慢的编辑信息,便可在回放时放慢由所述第一子帧定义的第一序列的播放。与第二子帧相关的第二序列可接收正常的回放,而与第三子帧相关的第三序列的回放可被加速。时移的实现包括增大和减小帧速率,或仅仅复制或丢弃所选择的初始视频帧序列中的帧,或者以更加复杂的方式合并帧以生成附加的帧或减少总的数量。
子帧标识模块340分配的子帧标识符345、子帧编辑模块350生成的编辑信息355、当前初始视频帧310和定义子帧315的大小和位置的用户信号325都被输入到子帧元数据生成模块360,用于生成子帧元数据150。通常,对于每个子帧315,子帧元数据150包括子帧标识符345、从中获取子帧315的初始视频帧310的标识符、子帧315相对于初始视频帧310的位置和大小、以及与子帧315相关的任何编辑信息355。
子帧元数据生成模块360为每个子帧315生成子帧元数据150,并输出定义子帧315序列的综合子帧元数据150。子帧315序列可包括每个初始视频帧310的一个子帧315,针对每个初始视频帧310连续显示的多个子帧315,与在初始视频帧310序列中描绘的场景的子场景对应的多个子帧315,或者在初始视频帧310序列中描绘的多个子场景的多个子帧315。例如,子帧元数据150可包括顺序元数据,即标识出一系列子场景,也标识出与该一系列子场景中的每个子场景相关的每个子帧315。
子帧元数据150还指示子场景中的子帧315位置的相对差异。例如,在一个实施例中,子帧元数据150可指出,子场景中的每个子帧315都位于视频显示器130上相同的固定空间位置(例如,每个子帧315包括相同的像素位置)。在另一个实施例中,子帧元数据150可指出,子场景中的每个子帧315的空间位置随子帧而变化。例如,该子场景的子帧序列中的每个子帧315都包括有空间位置在对应的初始视频帧序列上变化的对象。
图4是典型的初始视频帧310和对应子帧315的示意图。在图4中,通过初始视频帧310的第一序列410描绘第一场景405,通过初始视频帧310的第二序列420描绘第二场景408。因此,每个场景405和408均包括有初始视频帧310的对应序列410和420,并通过连续显示初始视频帧310的各序列410和420中的每个初始视频帧310来观看。
但是,为了在小视频显示器上显示每个场景405和408而不降低观看者感知的视频质量,每个场景405和408都可被分割为多个单独显示的子场景。例如,如图4所示,在第一场景405中,有两个子场景406和407;在第二场景408中,有一个子场景409。就像可通过连续显示初始视频帧310的各序列410和420来观看各场景405和408一样,可通过显示各个子帧315序列来观看各个子场景406、407和409。
例如,看到初始视频帧的第一序列410中的第一帧310a,用户可标识两个子帧315a和315b,每个子帧都包含有表示不同子场景406和407的视频数据。假设子场景406和407继续遍及初始视频帧310的第一序列410,用户可进一步标识出初始视频帧310的第一序列410中的各初始视频帧310的两个子帧315,一个子帧对应一个子场景406和407。生成的结果是第一子帧序列430和第二子帧序列440,其中,第一子帧序列430中的每个子帧315a包括表示子场景406的视频内容;第二子帧序列440中的每个子帧315b包括表示子场景407的视频内容。每个子帧序列430和440都被连续地显示。例如,可连续显示对应于第一子场景406的所有子帧315a,之后连续显示对应第二子场景407的所有子帧315。用这种方式,电影保持了场景405的逻辑流,同时允许观众感知场景405中的细节。
类似地,看到初始视频帧的第二序列420中的第一帧310b,用户可标识出与子场景409对应的子帧315c。再次,假设子场景409继续遍及初始视频帧310的第二序列420中,用户可进一步在第二序列420的随后初始视频帧310中标识出包含子场景409的子帧315c。结果产生子帧序列450,其中的每个子帧315c包含表示子场景409的视频内容。
图5是典型的子帧序列的子帧元数据150的示意图。在图5所示的子帧元数据150中,是顺序元数据500,指出子帧的顺序(也就是,显示的顺序)。例如,顺序元数据500可标识出一系列子场景以及每个子场景的一系列子帧。使用图4所示的例子,顺序元数据500可被分割成子帧元数据组520,每个组520对应于特定的子场景。
例如,在第一组520中,顺序元数据500从第一子帧序列(例如,序列430)中的第一子帧开始,之后是第一序列430中的其它子帧。在图5中,第一序列中的第一子帧被标记为初始视频帧A的子帧A,第一序列中最后一个子帧被标记为初始视频帧F的子帧F。在第一序列430的最后一个子帧之后,顺序元数据500继续第二组520,第二组520从第二子帧序列(例如,序列440)的第一子帧(例如,子帧315b)开始,至第二序列440的最后一个子帧结束。在图5中,第二序列的第一子帧被标记为初始视频帧A的子帧G,第一序列中的最后一个子帧被标记为初始视频帧F的子帧L。最后一组520从第三序列(例如,序列450)中的第一子帧(例如,子帧315c)开始,至第三序列450的最后一个子帧结束。在图5中,第三序列的第一个子帧被标记为初始视频帧G的子帧M,第三序列中的最后一个子帧被标记为初始视频帧I的子帧P。
在各组520中的是该组520中的各个子帧的子帧元数据。例如,第一组520包括第一子帧序列430中的各子帧的子帧元数据150。在典型的实施例中,子帧元数据150可被组织为包括多个条目510的元数据文本文件。元数据文本文件中的每个条目510包括有特定子帧的子帧元数据150。因此,元数据文本文件中的每个条目包括有标识出与该元数据相关的特定子帧的子帧标识符,且与初始视频帧序列中的一个帧相关联。
图6是特定子帧的子帧元数据150的示意图。图6中包括各种子帧元数据150,它们可在参照图5讨论的元数据文本文件的条目510中找到。针对每个子帧的子帧元数据150包括通用子帧信息600,例如分配给该子帧的子帧标识符(SF ID)、与从中获取子帧的初始视频帧相关的信息(OF ID,OF计数、回放偏移)、子帧位置和大小(SF位置、SF大小)、以及将在其上显示该子帧的显示器的纵横比(SF比)。此外,如图6所示,特定子帧的子帧信息150可包括有用于编辑子帧的编辑信息355。在图6中示出的编辑信息355包括镜头移动方向和镜头移动速率、视图缩放(zoom)率、颜色调整、滤波参数、图像或视频序列的补足以及其他视频效果和相关的参数。
图7是提供图形用户接口(GUI)710的典型视频处理显示器130的示意图,所述图形用户接口710包括用于编辑子帧315的视频编辑工具。在视频处理显示器130上显示的是当前帧310和当前帧310的子帧315。子帧315包括用户标识出的感兴趣区域内的视频数据,如参照图3所述。一旦标识了子帧315后,用户可使用通过GUI 710提供给用户的一个或多个视频编辑工具来编辑子帧315。例如,如图7所示,用户可通过点击或者选择GUI 710中的一个编辑工具,对子帧315应用滤波器、颜色校正、覆盖或其它编辑工具。另外,GUI 710还允许用户在初始帧和/或子帧之间移动,以查看并比较初始子帧序列与子帧序列。
图8是用于生成多组子帧元数据的典型视频处理设备120的示意框图。根据视频处理设备120需要为其生成子帧元数据的目标视频显示器的数量和类型,视频处理设备120的处理电路210可根据初始视频数据110产生一组或多组子帧元数据150a、150b、。。。150N,其中每组子帧元数据150a、150b、。。。150N都是针对特定的目标视频显示器生成的。例如,在一个实施例中,为了在第一目标视频显示器上显示,处理电路210生成定义了子帧序列的第一组子帧元数据150a。第一组子帧元数据150a用于修改初始视频数据110,从而在第一目标视频显示器上产生该子帧序列的全屏显示。
图9是为多个目标视频显示器165生成多组子帧元数据150的典型视频处理系统100的示意框图。和图1一样,视频处理系统100包括视频处理设备120,例如计算机或者可以处理视频数据110的其它设备,视频处理设备120执行子帧元数据生成应用程序140。子帧元数据生成应用程序140将初始视频数据110作为输入,并生成子帧元数据150,子帧元数据150定义了子帧序列,用于修改初始视频帧序列(视频数据110),从而在视频显示设备160的目标视频显示器165上产生子帧的全屏显示。
图9示出了以下典型视频显示设备:电视160a、个人数字助理(PDA)160b、蜂窝电话160c和膝上电脑160d。各视频显示设备160a-160d通信地连接到各自的视频显示器165a-165d。此外,每个视频显示设备160a-160d还通信连接至各自的媒体播放器910a-910d。每个媒体播放器910a-910d包含有视频播放器电路,用于处理视频内容并在各自的视频显示器910a-910d上显示。媒体播放器910可包括在视频显示设备160中,或者可通信地连接到视频显示设备160上。例如,与电视160a相关的媒体播放器910a可以是VCR、DVD播放器或其它类似的设备。
如以上参照图1所述,子帧元数据生成应用程序140生成的子帧元数据150可包括一组或多组子帧元数据150a-150d,每组分别为特定的目标视频显示器165a-165d生成。例如,如图9所示,子帧元数据生成应用程序140生成四组子帧元数据150a-150d,每一组分别对应视频显示器165a-165d。因此,为了在特定的视频显示器(例如,显示器165a)上显示,通过为该视频显示器165a特定生成的子帧元数据组150a对初始视频数据110进行修改。
操作过程中,每个媒体播放器910通信地连接,以接收包含初始视频帧序列的初始视频数据110以及定义子帧序列的子帧元数据组150。通过从互联网或其它网络下载,通过通信地连接到媒体播放器910的存储设备(例如,VHS录像带、DVD或其它存储媒介)的广播或上传,来接收初始视频数据110和子帧元数据组150。媒体播放器910使用子帧元数据150来修改初始视频帧序列,以在目标视频显示器165产生与该子帧序列对应的全屏显示。例如,媒体播放器910a可通信地连接,以接收初始视频数据110和子帧元数据150a;媒体播放器910b可通信地连接,以接收初始视频数据110和子帧元数据150b;媒体播放器910c可通信地连接,以接收初始视频数据110和子帧元数据150c;媒体播放器910d可通信地连接,以接收初始视频数据110和子帧元数据150d。
图10是根据本发明生成子帧元数据的典型处理1000的逻辑流程图。处理从步骤1010开始,该步骤中,从任意视频源(例如,视频照相机、视频磁盘或视频录像带)接收包括视频内容的初始视频数据。该初始视频数据包括有初始视频帧序列,该初始视频帧包括任意格式的视频内容。另外,所接收的视频数据可以是使用任何编码标准进行了编码和压缩的,或未压缩但经过编码的,或者未压缩且未编码的。如果初始视频数据已经经过了压缩/编码,将对该视频数据解压缩和解码,以产生初始视频帧序列。
处理继续至步骤1020,将初始视频帧序列中的第一帧显示给用户。例如,第一帧可显示在能被用户观看的显示器上。然后处理继续至判断步骤1030,判断第一帧的子帧是否已经被标识。例如,用户可提供用户输入,用于标识与第一帧内的感兴趣区域对应的子帧。如果标识了子帧(步骤1030的“是”分支),处理继续至步骤1040,生成该被标识子帧的子帧元数据。例如,针对特定子帧的子帧元数据可包括该子帧的标识符、从中获取子帧的初始视频帧的标识符、该子帧相对于初始视频帧的位置和大小、以及用于编辑子帧的任何编辑信息。在步骤1050,针对第一帧中被标识的每个子帧重复该处理。因此,如果第一帧中另一个子帧被标识(步骤1050的“是”分支),处理返回到步骤1040,生成针对附加子帧的子帧元数据。
如果在第一帧中没有标识子帧(步骤1030的“否”分支),或者第一帧中没有更多被标识的子帧(步骤1050的“否”分支),处理继续至判断步骤1060,判断在初始视频帧序列中是否有更多的帧。如果有更多的初始视频帧(步骤1060的“是”分支),处理继续至步骤1070,将初始视频帧序列中的下一帧显示给用户,然后在步骤1030重复处理。但是,如果没有更多的初始视频帧(步骤1060的“否”分支),处理继续至步骤1080,将针对每个被标识的子帧生成的子帧元数据存储在元数据文件中。
本领域普通技术人员可知,本申请中所使用的短语“可操作地连接”“可通信地连接”包括直接连接和通过另一个部件、元件、电路或模块间接连接,其中,对于间接连接,介入的部件、元件、电路或模块不会修改信号的信息,但是可能会调整其电流大小、电压大小和/或功率大小。本领域普通技术人员还可理解,推定连接(即推定一个部件与另一个部件连接)包括两个部件之间与“可操作地连接”和“可通信地连接”方式相同直接的和间接的连接。
本发明通过借助方法步骤展示了本发明的特定功能及其关系。所述方法步骤的范围和顺序是为了便于描述任意定义的。只要能够执行特定的功能和顺序,也可应用其它界限和顺序。任何所述或选的界限或顺序因此落入本发明的范围和精神实质。
本发明还借助功能模块对某些重要的功能进行了描述。所述功能模块的界限和各种功能模块的关系是为了便于描述任意定义的。只要能够执行特定的功能,也可应用其它的界限或关系。类似地,此处定义了流程框图,以解释特定的重要功能。只要能达到使用目的,也可应用其它的界限或关系,仍执行特定的重要功能。所述其它的界限或关系也因此落入本发明的范围和精神实质。
本领域普通技术人员还可知,本申请中的功能模块和其它展示性模块和组件可实现为离散组件、专用集成电路、执行恰当软件的处理器和前述的任意组合。
此外,尽管以上是通过一些实施例对本发明进行的描述,本领域技术人员知悉,本发明不局限于这些实施例,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。本发明的保护范围仅由本申请的权利要求书来限定。
Claims (7)
1、一种与第一视频显示器一起使用的视频处理电路,用于处理被目标视频播放器电路使用的初始视频帧序列,所述目标视频播放器电路通信地连接到第二视频显示器组,所述第一视频显示器和第二视频显示器组的可视区尺寸大小不相同,其特征在于,所述视频处理电路包括:
驱动电路,通信地连接到第一视频显示器;
处理电路,通过所述驱动电路交互,从而在第一视频显示器上显示初始视频帧序列中的至少一个帧;
输入接口电路,将表示用户输入的信号传送到所述处理电路;
所述处理电路通过所述驱动电路进行交互,以在所述第一视频显示器上显示子帧,以及与所述初始视频帧序列相关的附加子帧,从而对所述表示用户输入的信号和表示用户输入的附加信号做出响应;
所述子帧对应于所述初始视频帧序列中的所述至少一个帧中由所述表示用户输入的信号所标识的区域;
所述处理电路生成与所述子帧对应的元数据,以及与所述附加子帧对应的附加元数据,由所述目标视频播放器电路用于修改初始视频帧序列,从而在所述第二视频显示器组上生成与所述子帧以对应的全屏显示;以及
由所述处理电路生成的所述元数据和所述附加元数据共同定义一组子帧;该组子帧为顺序子帧,其标示出一系列子场景,且该组子帧可分为多个子组,每个子组对应所述一系列子场景中的一个特定的子场景;
所述附加信号为编辑信息,所述编辑信息包括应用于与所述子帧相关的初始视频帧序列部分的可视修改、应用于所述子帧的运动信息、应用于所述子帧的调整大小信息和应用于所述子帧的媒体;
所述可视修改包括修改亮度、滤波、视频效果、对比度和色彩调整;所述运动信息包括镜头移动、在初始帧序列上子帧运动的加速度、速率和方向;所述调整大小信息包括子帧在初始帧序列上的视图缩放;所述应用于所述子帧的媒体包括与初始视频数据的落入子帧内的那些部分相关、合并或者叠加的补充媒体。
2、根据权利要求1所述的视频处理电路,其特征在于,所述处理电路在所述元数据中包含所述子帧与初始视频帧序列中的多个帧的关联性。
3、根据权利要求2所述的视频处理电路,其特征在于,所述一组子帧中的至少两个子帧与初始视频帧序列中的一个帧相对应。
4、根据权利要求2所述的视频处理电路,其特征在于,所述一组子帧中的至少两个子帧包括空间位置在初始视频帧序列上变化的对象。
5、根据权利要求2所述的视频处理电路,其特征在于,所述一组子帧中的两个子帧与初始视频帧序列中的至少两个不同帧相对应。
6、一种视频处理系统,接收表示初始视频帧序列的视频数据,其特征在于,所述视频处理系统包括:
接收用户输入的用户接口;
所述用户输入包括定义第一子帧和第二子帧的子帧信息,所述第一子帧对应所述初始视频帧序列的至少第一部分内的第一感兴趣区域;所述第二子帧对应所述初始视频帧序列的至少第二部分内的第二感兴趣区域;
处理电路,通信地连接到所述用户输入;
所述处理电路根据所述子帧信息生成元数据,用于修改所述视频数据,从而在根据所述子帧信息修改所述初始视频帧序列后,生成所述初始视频帧序列的全屏显示;
所述第一子帧对应所述初始视频帧序列的第一子序列;
在包括视频播放器的配置中,所述处理电路生成的元数据被所述视频播放器用来根据所述子帧信息修改视频数据;
所述子帧信息还包括对应所述第一子帧的第一编辑信息、以及对应所述第二子帧的第二编辑信息;
所述元数据以文本形式显示并可手动编辑;
所述处理电路创建包含有所述元数据的元数据文件,所述元数据文件内的条目对应所述初始视频帧序列中的至少一个帧;
所述编辑信息包括应用于与所述子帧相关的初始视频帧序列部分的可视修改、应用于所述子帧的运动信息、应用于所述子帧的调整大小信息和应用于所述子帧的媒体;
所述可视修改包括修改亮度、滤波、视频效果、对比度和色彩调整;所述运动信息包括镜头移动、在初始帧序列上子帧运动的加速度、速率和方向;所述调整大小信息包括子帧在初始帧序列上的视图缩放;所述应用于所述子帧的媒体包括与初始视频数据的落入子帧内的那些部分相关、合并或者叠加的补充媒体。
7、一种与初始视频帧序列相关的方法,用于在多个视频显示器中的第一视频显示器上显示所述初始视频帧序列的修改形式,所述多个视频显示器具有不同的尺寸,其特征在于,所述方法包括:
接收包括所述初始视频帧序列的视频数据;
在第一视频显示器上显示所述初始视频帧序列中的至少一个帧;
接收用户输入,所述用户输入标识出与所述初始视频帧序列中的至少一个帧中感兴趣区域相对应的子帧和与所述初始视频帧序列相关的附加子帧;以及
根据用户输入生成子帧元数据和附加元数据,用于修改所述初始视频帧序列,以显示所述初始视频帧序列的修改形式;
基于多个子帧重复以上显示、接收用户输入以及生成步骤;
所述方法还包括解码所述视频数据;
所述方法还包括接收附加的用户输入,所述附加的用户输入表示与所述子帧相关的编辑信息;所述编辑信息包括可视的修改、应用于所述子帧的运动信息、应用于所述子帧的调整大小信息和应用于所述子帧的媒体;
所述可视修改包括修改亮度、滤波、视频效果、对比度和色彩调整;所述运动信息包括镜头移动、在初始帧序列上子帧运动的加速度、速率和方向;所述调整大小信息包括子帧在初始帧序列上的视图缩放;所述应用于所述子帧的媒体包括与初始视频数据的落入子帧内的那些部分相关、合并或者叠加的补充媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80242306P | 2006-05-22 | 2006-05-22 | |
US60/802,423 | 2006-05-22 | ||
US11/474,032 | 2006-06-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101079248A CN101079248A (zh) | 2007-11-28 |
CN100587793C true CN100587793C (zh) | 2010-02-03 |
Family
ID=38906688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710104100A Expired - Fee Related CN100587793C (zh) | 2006-05-22 | 2007-05-21 | 视频处理方法、电路和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100587793C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262439A (zh) * | 2010-05-24 | 2011-11-30 | 三星电子株式会社 | 记录与视频序列的用户交互的方法和系统 |
CA2924504A1 (en) * | 2013-09-13 | 2015-03-19 | Voke Inc. | Video production sharing apparatus and method |
CN104123112B (zh) * | 2014-07-29 | 2018-12-14 | 联想(北京)有限公司 | 一种图像处理方法及电子设备 |
WO2018093851A1 (en) | 2016-11-17 | 2018-05-24 | Intel Corporation | Suggested viewport indication for panoramic video |
-
2007
- 2007-05-21 CN CN200710104100A patent/CN100587793C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101079248A (zh) | 2007-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100912599B1 (ko) | 풀 프레임 비디오 및 서브-프레임 메타데이터를 저장하는이동가능한 미디어의 프로세싱 | |
KR100836667B1 (ko) | 비디오와 서브프레임 메타데이터의 동시 캡쳐 시스템 | |
KR100915367B1 (ko) | 서브-프레임 메타데이터를 생성하는 영상 처리 시스템 | |
KR100906957B1 (ko) | 서브-프레임 메타데이터를 이용한 적응 비디오 프로세싱 | |
KR100904649B1 (ko) | 서브-프레임 메타데이터를 이용한 적응적 비디오 프로세싱회로 및 플레이어 | |
KR100909440B1 (ko) | 서브-프레임 메타데이터 분배 서버 | |
CN1939054B (zh) | 用于在pvr窍门模式回放期间提供可见消息的系统 | |
US6633725B2 (en) | Layered coding of image data using separate data storage tracks on a storage medium | |
JP2003532316A (ja) | 独立コード化領域を特徴とする画像シーケンス圧縮 | |
CN101094407B (zh) | 视频电路、视频系统及其视频处理方法 | |
CN100587793C (zh) | 视频处理方法、电路和系统 | |
CN101686307A (zh) | 图像处理装置、图像处理方法和程序 | |
WO2000079799A2 (en) | Method and apparatus for composing image sequences | |
KR102595431B1 (ko) | 실감형 영상 콘텐츠 제작 및 배포 시스템 및 방법 | |
CN101848381B (zh) | 用于在pvr窍门模式回放期间提供可见消息的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1115218 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1115218 Country of ref document: HK |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100203 Termination date: 20110521 |