发明内容
本发明涉及一种装置和操作方法,在附图说明、具体实施方式和权利要求中进行了详细的描述。
根据本发明的一方面,提供了一种与编码源视频和显示器结合使用的视频播放器电路,该视频播放器电路包括:
解码器电路,用于接收所述编码源视频,并对所述编码源视频进行解码,以生成视频数据全帧序列;
预处理电路,用于根据子帧信息,从所述视频数据全帧序列中生成多个视频数据子帧序列,所述多个视频数据子帧序列中的第一序列在所述视频数据全帧序列中的中心点不同于所述多个视频数据子帧序列中的第二序列在所述视频数据全帧序列中的中心点;
后处理电路,用于根据补充信息调整所述多个视频数据子帧序列,以生成输出;
接口电路,用于传送所述输出以便随后在所述显示器上显示。
在本发明所述的视频播放器电路中,所述视频播放器电路和所述显示器设置在单一壳体中。
在本发明所述的视频播放器电路中,所述视频播放器电路设置在第一壳体中,所述显示器设置在第二壳体中。
在本发明所述的视频播放器电路中,所述解码器电路和用于生成所述多个视频数据子帧序列的所述预处理电路是集成在一起的。
在本发明所述的视频播放器电路中,所述解码器电路在所述预处理电路生成所述多个视频数据子帧序列之前对所述编码源视频进行解码。
在本发明所述的视频播放器电路中,所述子帧信息包括子帧元数据,所述预处理电路包括子帧元数据处理电路。
在本发明所述的视频播放器电路中,所述子帧信息和所述补充信息包括子帧元数据。
在本发明所述的视频播放器电路中,
所述视频数据全帧序列具有第一分辨率;
所述多个视频数据子帧序列具有第二分辨率,所述第二分辨率小于所述第一分辨率。
在本发明所述的视频播放器电路中,
所述视频数据全帧序列具有第一宽高比;
所述多个视频数据子帧序列具有第二宽高比,所述第二宽高比不同于所述第一宽高比。
在本发明所述的视频播放器电路中,所述显示器包括目标显示器,而所述输出包括剪裁后(tailored)的输出。
在本发明所述的视频播放器电路中,所述预处理电路和所述后处理电路共同包括子帧元数据处理电路。
在本发明所述的视频播放器电路中,所述预处理电路和所述后处理电路共同包括子帧元数据处理电路和目标显示剪裁电路。
在本发明所述的视频播放器电路中,所述解码电路、所述预处理电路和所述后处理电路中的至少一部分包括通用处理电路,该通用处理电路根据程序代码执行基本功能。
根据本发明的一方面,提供了一种用于在显示器上生成视频显示的方法,包括:
接收视频数据全帧序列;
使用第一子帧定义和第二子帧定义从所述视频数据全帧序列中分别生成视频数据子帧第一序列和视频数据子帧第二序列;
传送输出视频序列以显示在所述显示器上,所述输出视频序列包括视频数据子帧第一序列和视频数据子帧第二序列。
在本发明所述的方法中,本方法还包括使用第一补充信息来处理所述视频数据子帧第一序列,使用第二补充信息来处理所述视频数据子帧第二序列,其中所述第一补充信息不同于所述第二补充信息。
在本发明所述的方法中,所述显示器具有显示器参数,所述方法还包括基于所述显示器参数处理所述输出视频序列。
在本发明所述的方法中,本方法还包括:
接收编码源视频;
对所述编码源视频进行解码,生成所述视频数据全帧序列。
根据本发明的一个方面,提供了一种与编码源视频和显示器结合使用的视频播放器软件应用,包括:
解码器,用于从所述编码源视频中生成视频数据全帧序列;
子帧处理器,用于从所述视频数据全帧序列中,基于第一位置和尺寸信息生成视频数据子帧第一序列,基于第二位置和尺寸信息生成视频数据子帧第二序列;
显示器接口,用于传送所述视频数据子帧第一序列和所述视频数据子帧第二序列,进而在所述显示器上进行全屏显示。
在本发明所述的视频播放器软件应用中,所述视频播放器软件应用运行在视频播放器设备上。
在本发明所述的视频播放器软件应用中,所述视频播放器软件应用运行在终端客户端设备上。
在本发明所述的视频播放器软件应用中,所述第一位置和尺寸信息以及所述第二位置和尺寸信息共同包含从所述子帧处理器接收到的子帧元数据。
在本发明所述的视频播放器软件应用中,所述子帧元数据还包括显示器信息;所述视频播放器软件应用还包括补充处理,其基于所述显示器信息剪裁所述视频数据子帧第一序列和所述视频数据子帧第二序列。
通过下面参考附图对本发明进行的具体描述,本发明的多个方面和优点将变得更加清晰。
具体实施方式
图1是根据本发明多个实施例构造的多个视频播放器***的结构示意图。如图所示,本发明的视频播放器***可包含在单个设备中,也可分布在多个设备中。视频播放器26和34展示了将本发明的视频播放器***包含在单个设备中的方式。视频播放器***20和28展示了将本发明的视频播放器***分布在多个设备中的方式。视频播放器***20包含视频播放器22和视频显示设备24。视频播放器***28包括视频播放器和视频显示设备30。
图1所示的视频播放器***通常包含三种功能。第一种功能是多模式视频电路和应用(MC&A)功能。MC&A功能可工作在第一模式或第二模式下,也可同时工作这两种模式下。当MC&A功能工作在第一模式下时,例如视频显示设备30通过通信链路或者从诸如DVD等媒介中接收源视频11和元数据(metadata)15。当MC&A功能工作在第一模式下时,视频显示设备30在处理和播放操作过程中同时使用源视频11和元数据15,以此来显示视频。
视频显示设备30收到的源视频11可以是编码源视频12或者原始源视频14。元数据15可以是相似显示器元数据16或目标显示器元数据18。通常,编码源视频12和原始源视频14包含相似的内容,区别在于前者进行了编码,而后者未进行编码。通常,源视频11包含由视频摄像机拍摄的视频数据的全帧序列。将参考图4—图9对全帧的拍摄进行详细的描述。
元数据15是用于在视频处理操作过程中调整视频数据全帧序列的附加信息,特别是用于生成在目标视频播放器的目标视频显示器上回放的视频。元数据15的创建方式以及其与源视频11之间的关系将参考图4—图9做进一步描述。在MC&A第一模式操作中,视频显示设备30结合使用源视频11和元数据15生成用于其视频显示器的输出。通常,相似显示器元数据16具有专门为一类或一组目标视频播放器而剪裁(tailored)的属性。该类或该组中的目标视频播放器具有近似的屏幕分辨率、近似的宽高比或其他相似的特征,这些特征非常适合于调整源视频以生成可在该类视频播放器的视频显示器上显示的调整后源视频。可选地,目标显示器元数据18包含专门应用于某一品牌(make)/某一型号/某一种视频播放器的信息。当视频播放器,例如视频显示设备30,使用目标显示器元数据18来调整源视频11,则调整后视频是专门为视频显示设备30的视频显示器而剪裁的。
当本发明视频播放器***的MC&A功能处于第二操作模式时,视频显示设备30接收并显示先前已由另一视频播放器32使用元数据15进行处理后的视频(编码视频或原始视频)。例如,在视频播放器***28中,视频播放器32先前已经使用元数据15对源视频11进行处理,并生成传送至视频显示设备30的输出视频。通过MC&A功能的第二操作模式,视频显示设备30接收用于显示的视频播放器32的输出,并将这种输出显示在视频显示器上。视频显示设备30的MC&A功能还可进一步调整从视频播放器32接收到的视频数据。
图1中一个或多个视频播放器***26和/或34所加载的另一功能包括集成视频电路和应用功能(IC&A)。图1中的视频播放器***26和34的IC&A功能接收源视频11和元数据15,并对它们进行处理,以生成视频输出,进而在如视频播放器34等对应视频播放器上显示。视频播放器***26和34中的每一个均通过各自的通信链路接收源视频11和元数据15,且其各自的IC&A功能对源视频11和元数据15进行处理以生成视频,进而在对应视频播放器***26和34的视频显示器上显示。
根据图1的另一方面,视频播放器***还可包括分布式视频电路和应用(DC&A)功能。视频播放器32的DC&A功能接收源视频11和元数据15,并结合元数据15对源视频11进行处理,以生成子帧视频数据。视频播放器22和32的DC&A功能将其各自的输出分别传送至对应的视频显示设备24和30。对应的视频播放器24和30使用其各自的功能对收到的视频输入进行调整,然后将视频显示在其各自的显示器上。
根据图1中视频播放器***的具体实现方式和特定操作,它们的功能可分布在多个设备上,例如,对于视频播放器***20而言,视频播放器22和视频显示设备24均具备DC&A功能。该分布式DC&A功能可配置在多种操作中,以便共同承担可由二者之一或者二者共同执行的处理任务。此外,对于视频播放器***28而言,根据其当前的特定配置,视频播放器32和视频显示设备30可共享随时间变化的处理功能。
图2是根据本发明一实施例构造的视频播放器***的结构示意图。图2所示的视频播放器***40包括可由硬件、软件或硬软件的结合来实现的功能部件。视频播放器***40包括目标显示器42、解码器44、元数据处理电路46、目标显示剪裁(tailoring)电路48、数字权限电路52和计费电路54。视频播放器***40接收源视频11,该源视频中可包含编码源视频12和原始源视频14中的一个或两个。视频播放器***40进一步接收元数据15,该元数据包括一个或多个相似显示器元数据15和目标显示元数据18。通常,视频播放器***40的目标显示器42显示由元数据处理电路46或目标显示剪裁电路48生成的输出视频。
解码器44用于接收和解码编码源视频12,生成视频数据全帧序列。元数据处理电路46用于接收从解码器44接收得到的视频数据全帧序列。作为选择地,元数据处理电路46还可直接将原始源视频14接收为视频数据全帧序列。在每一种情况下,元数据处理电路46都可根据元数据15(或者是相似显示元数据16或者是目标显示元数据18)来处理视频数据全帧序列。通常,根据元数据15,元数据处理电路46可从视频数据全帧序列中生成多个视频数据子帧序列。在一项操作中,上述多个视频数据子帧序列中的第一序列与其第二序列相比,在视频数据全帧序列中的中心点不尽相同。这些概念将参考图5—图9做进一步地详细描述。
目标视频剪裁电路48可根据补充信息例如目标显示器参数50执行后处理操作,以此来调整多个视频数据子帧序列,生成输出。目标视频剪裁电路48的输出随后通过目标显示器42显示出来。若未使用目标视剪裁电路48对多个视频数据子帧序列进行后处理,则元数据处理电路46的输出将直接发往目标显示器42。
视频播放器***40的数字权限电路52用于判断视频播放器***40是否有权使用/修改源视频11和/或元数据15,和/或以此来生成在目标显示器42上显示的视频。数字权限电路52可与远端服务器或其它交换***(commutingsystem)交互,以此确定是否存在这种数字权限。然而,数字权限电路52还可简单地查看部分源视频11和/或元数据15,来判断视频播放器***40是否有权对这些数据进行操作。视频播放器***40的计费电路54用于在本地或远端生成计费记录,以此来对源视频11和/或元数据15的使用情况进行计费。计费电路54还可与远端服务器协同操作,以发起该计费记录的生成。
图3是根据本发明对应实施例构造的多个视频播放器***的通信互连示意图。通常源视频11和元数据15通过通信链路/网络304或可触式媒体(tangible media)306传送到视频播放器***308、310、320和314。通信链路/网络304可包括互联网、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、电话网、有线调制解调器网络、卫星通信网络、全球微波接入互通(WiMAX)网络和/或其他有线和/或无线通信链路中的一个或多个。若源视频11和/或元数据15是包含在媒体如DVD或CD306中的,对应的视频播放器***308、310、312或314便从媒体驱动器中接收媒体306,使用媒体驱动器来读取媒体306。如图所示,上文参考图1描述的多种电路和应用功能DC&A、MC&A和IC&A由视频播放器***308、310、312和314来实现。正如将要通过下文参考图12—图15所描述的那样,这些电路/应用的功能可分布在多个设备上。
图4是根据本发明一实施例构造的视频拍摄/子帧元数据生成***的结构示意图。图4中的视频拍摄/子帧元数据生成(SMG)***100包括摄像机110和SMG***120。视频摄像机110拍摄与场景102有关的视频数据的原始全帧序列。视频摄像机110还可通过麦克风111a和111b来获取音频。视频摄像机110可将视频数据的全帧发往控制台140或运行SMG***120。视频摄像机110或控制台140的SMG***120通过用户输入设备121或123从用户处接收输入。根据用户的输入,SMG***120在视频显示器上显示一个或多个子帧,该视频显示器上同样显示视频数据的全帧序列。根据从用户输入和其他信息创建的子帧,SMG***120创建元数据15。视频拍摄/子帧元数据生成***100的视频数据输出是一个或多个编码源视频12或原始源视频14。视频拍摄/子帧元数据生成***100还输出元数据15,该元数据可以是相似显示元数据16和/或目标显示元数据18。视频拍摄/子帧元数据生成***100还可输出目标显示信息20。
摄像机110拍摄的原始视频帧序列为场景102。场景102可以是摄像机110拍摄的任一种场景。例如,场景102可以是有很多细节的相对较大撷取区域的风景。此外,场景102还可以是互相对话的演员的头部照。另外,场景102还可以是狗追球的动作画面。在拍摄原始视频帧的过程中,场景102的类型通常会随时间发生变化。
在现有的视频拍摄***中,用户操作摄像机110来拍摄场景102的原始视频帧,这些帧进行了优化,以适应“大屏幕”格式。在本发明中,这些原始视频帧随后才会进行转换,以便最终由配有各自的视频显示器的目标视频播放器显示出来。因为子帧元数据生成***120会随时间拍摄不同类型的场景,对所拍摄的视频进行转换以生成用于在目标视频播放器上观看的子帧的方式也会随时间发生变化。“大屏幕”格式并不总是能够很好的转换为小屏幕类型上。因此,本发明的子帧元数据生成***120支持这样一种原始视频帧拍摄方式,即在转换到较小格式时,这种方式可以提供高质量的视频子帧,以供显示在目标视频播放器的一个或多个视频显示器上。
编码源视频12可使用基于离散余弦变换(DCT)的编码/压缩格式(例如MPEG-1、MPEG-2、用于HD的增强型MPEG-2、MPEG-4AVC、H.261和H.263)中的一种或几种来编码,使用运动向量来从相邻帧或场(field)构建基于帧或场的预测,这是通过通常存在的帧间或场间的运动来实现的。例如,在使用MPEG编码标准时,原始视频帧序列将被编码为由三种不同类型的帧组成的序列:“I”帧、“B”帧和“P”帧。“I”帧是帧内编码的,“P”帧和“B”帧是帧间编码的。因此,“I”帧是独立的,也就是说它们无需参考其他帧即可进行重建,而“P”帧和“B”帧是相关的,也就是说,它们需要依靠其他帧来进行重建。具体来说,P帧是从上一I帧或P帧向前预测的,B帧是同时从上一/下一I帧或P帧向前预测和向后预测的。IPB帧序列将使用DCT进行压缩,将“I”、“P”或“B”帧中的N×N(N通常设置为8)像素数据块转换到DCT域,以便更容易进行量化。随后对量化后的比特流应用游程编码和熵编码,生成压缩比特流,与原始的未压缩视频数据相比,压缩比特流的比特率明显降低。
图5是示范性原始视频帧和对应子帧的结构示意图。如图所示,视频显示器400包含一个可视区域,其中显示了代表图4中场景102的原始视频帧序列。根据图5所示的实施例,SMG***120还用于响应代表用户输入的其他信号,除子帧402以外,在视频显示器400上还显示与原始视频帧序列相关联的其他子帧404和406。这些子帧402中的每一个都具有与多个目标视频显示器其中之一相对应的宽高比和尺寸。此外,SMG***120生成与每一个子帧402、404和406相关的元数据15。子帧元数据生成***120所生成的与子帧402、404和406相关的元数据15使得对应的目标视频显示器在其视频显示器上生成对应的显示场景。在图5所示的实施例中,SMG***120包括单个视频显示器400,每个子帧402、404和406正是通过该显示器显示出来的。在另一实施例中,视频处理***生成的多个子帧中的每一个将独立地显示在对应的目标视频播放器上。
在图5所示的实施例中,在子帧组中至少有两个子帧404和406与原始视频帧序列中的一个帧相对应。因此,例如,在特定的目标视频播放器中,子帧404和406以及其中包含的相关视频信息将会在不同的时间显示在单个目标视频播放器上。在图5所示的实施例中,目标视频播放器所显示视频的第一部分展示的是子帧404中包含的狗追球的场景,而目标视频播放器所显示视频的第二部分展示的是子帧406中描述的反弹球的场景。因此,在本实施例中,目标视频播放器中在时间上相邻的视频序列是由单个原始视频帧序列生成的。
此外,在图5所示的实施例中,在子帧组中至少有两个子帧包含空间位置随原始视频帧序列变化的物体。在这种帧中,显示狗的子帧404的空间位置会随与显示反弹球的子帧406有关的原始视频帧序列变化。此外,在图5所示的实施例中,在子帧组中的两个子帧可对应于原始视频帧序列中的至少两个不同的帧。在该实施例中,子帧404和406会对应显示在视频显示器400上的原始视频帧序列中的不同帧。在该实施例中,在第一时间段,选择子帧404以便在一段时间内显示狗的图象。此外,在该实施例中,子帧406对应不同的时间段,用于显示反弹球。在该实施例中,子帧组404和406中的至少一部分对应由原始视频帧序列所描述场景的一个子场景。所描述的序列可在整个显示器400上显示,也可在子帧402中显示。
图6是包含用于创建子帧的视频编辑工具的图形用户接口(GUI)的视频处理***显示器一实施例的示意图。视频处理显示器502上显示的是当前帧504及其子帧506。子帧506包括由用户指定的感兴趣区域内的视频数据。一旦指定了子帧506,用户便可使用通过GUI508提供给用户的一种或多种视频编辑工具来编辑子帧506。例如,如图6所示,通过点击或选择GUI508中的一种编辑工具,用户可对子帧506应用滤光镜、色彩修正、叠加或其他编辑工具。此外,GUI508还可使得用户在原始帧和/或子帧之间移动,以便观看和比较原始子帧序列和子帧序列。
图7是示范性原始视频帧和对应子帧的示意图。在图7中,第一场景602由原始视频帧606的第一序列604描述,第二场景608由原始视频帧606的第二序列610描述。因此,每个场景602和608包含原始视频帧606的各自序列604和610,通过顺序的显示原始视频帧606的各序列604和610中的每个原始视频帧606来观看。
但是,要想在小视频显示器上显示每个场景602和608,而又不会降低观众所能感觉得到的视频质量,每个场景602和608可分割为分开显示的子场景。例如,如图7所示,在第一场景602中,存在两个子场景612和614,在第二场景608中,存在一个子场景616。如同每个场景602和608可以通过顺序显示原始视频帧606的各自序列604和610来观看一样,每个子场景612、614和616也可通过显示各自的子帧618(618a、618b和618c)序列来观看。
例如,来看原始视频帧第一序列604中的第一帧606a,用户可指定两个子帧618a和618b,每一个子帧包含代表不同子场景612和614的视频数据。假设子场景612和614连续贯穿于原始视频帧的606第一序列604之中,用户可进一步在原始视频帧606的第一序列604中随后的每个原始视频帧606a中为每个子场景612和614分别指定两个子帧618a和618b。这样便得到子帧618a第一序列620,其中包含的每个子帧618a都包含代表子场景612的视频内容;还可得到子帧618b第二序列630,其中包含的每个子帧618b都包含代表子场景614的视频内容。子帧618a和618b的各序列620和630可顺序显示。例如,按顺序显示对应于第一子场景612的每个子帧618a,然后顺序显示对应于第二子场景614的每个子帧618b。通过这种方式,电影仍能保持场景602的逻辑流,并且能让观众看到场景602的细微细节。
同理,来看原始视频帧606第二序列610中的第一帧606b,用户可指定对应子场景616的子帧618c。再次假设子场景616连续贯穿于原始视频帧606第二序列610,用户可进一步在原始视频帧606第二序列610中的后续每个原始视频帧606中指定包含子场景616的子帧618c。这样便得到子帧618c序列640,其中的每个子帧618c都包含代表子场景616的视频内容。
图8是子帧序列的示范性子帧元数据的示意图。图8中展示的子帧元数据150中包含的是顺序元数据(sequencing metadata)700,用于指示子帧的顺序(也就是显示顺序)。例如,顺序元数据700可标识子场景序列和各子场景的子帧序列。使用图8中展示的例子,顺序元数据700可分成子帧元数据150的多个组720,其中每个组720对应特定的子场景。
例如,在第一个组720中,顺序元数据700开始于子帧第一序列(也就是序列620)中的第一子帧(例如子帧618a),其后是第一序列620中的各其他子帧。在图8中,第一序列中的第一子帧被标记为原始视频帧A的子帧A,第一序列中的最后一个子帧被标记为原始视频帧F的子帧F。在第一序列620的最后一个子帧之后,顺序元数据700延续到第二个组720,其开始于子帧第二序列(例如序列630)中的第一子帧(例如子帧618b),结束于第二序列630的最后一个子帧。在图8中,第二序列中的第一子帧被标记为原始视频帧A的子帧G,第二序列中的最后一个子帧被标记为原始视频帧F的子帧L。最后一个组720开始于子帧第三序列(也就是序列640)的第一子帧(例如子帧618c),结束于第三序列640中的最后一个子帧。在图8中,第三序列中的第一子帧被标记为原始视频帧G的子帧M,第三序列中的最后一个子帧被标记为原始视频帧I的子帧P。
每个组720中包含的是该组720中每一个单独子帧的子帧元数据。例如第一个组720包括子帧第一序列620中每个子帧的子帧元数据150。在一个示范性实施例中,子帧元数据150可组成其中包含一定数量的条目710的元数据文本文件。元数据文本文件中的每个条目710包括该特定子帧的子帧元数据150。因此,元数据文本文件中的每个条目710包含标识与该元数据相关联的特定子帧的子帧标识符,并引用原始视频帧序列中的一个帧。
编辑信息包括但不限于,摇摄方向和摇摄率、缩放率、对比度调整、亮度调整、滤光镜参数和视频效果参数。具体来说,与子帧相关联,存在几种类型可以应用的编辑信息,它们与下列内容有关:a)视觉调整,例如亮度、滤光、视频效果、对比度和色彩调整;b)运动信息,例如摇摄、加速、速率、子帧在原始帧序列上的移动方向;c)尺寸调整信息,例如子帧在原始帧序列上的缩放(包括放大、缩小和缩放比例);d)与原始视频数据落入子帧中的那些部分相关联、合并或被其叠加的任何类型的补充媒介(例如叠加的文本或图形或补充的音频)。
图9是包含子帧编辑信息的示范性子帧元数据的示意图。子帧元数据包括元数据报头802。元数据(MD)报头802包括元数据参数、数字权限管理(DRM)参数和计费管理参数。元数据参数包括与该元数据有关的信息,如创建日期、过期日期、创建者标识、目标视频设备种类、目标视频设备类别、源视频信息和通常与所有元数据有关的其他信息。元数据报头802中的数字权限管理部分包括用于判断子帧元数据是否可用以及将该子帧元数据可用到何种程度的信息。元数据报头802中的计费管理参数包括在元数据开始使用时用于启动计费操作的信息。
子帧元数据包含在子帧文本文件的条目804中。每个子帧的子帧元数据150包括子帧常规信息806,例如分配给该子帧的子帧标识符(SF ID)、与从中提取除该子帧的原始视频帧相关联的信息(OFID、OF计数、播放偏移量)、子帧位置和尺寸(SF位置、SF尺寸)以及将要显示该子帧的显示器的宽高比(SF比)。此外,如图9所示,特定子帧的子帧信息804可包括用于编辑该子帧的编辑信息806。图9中所示的编辑信息806的例子包括摇摄方向和摇摄率、缩放比例、色彩调整、滤光镜参数、对图像或视频序列的补充以及其他视频效果和相关参数。
图10是根据本发明一实施例构造的视频播放器***的结构示意图。视频播放器***900包括视频显示器902、本地存储器904、用户输入接口916、通信接口918、显示器接口920和处理电路922。在这一特定实施例中,视频播放器***900的视频显示器902和位于同一壳体内的其他部件。但是,在其他实施例中,例如图1中的视频播放器***20和28,视频播放器***900为处于不同壳体内的视频显示器924服务。视频显示器924甚至还可以处于不同的位置,通过通信接口连接到视频播放器***900。若视频显示器924设置在远端,则视频播放器***900的显示器接口920通过通信链路与视频显示器924通信。
视频播放器***900通过其通信接口918接收源视频11和元数据15。视频播放器***900通过其用户输入接口916接收用户输入。处理电路922可以是通用处理器,例如微处理器或数字信号处理器、专用集成电路或能够执行软件指令并处理数据的其他类型的处理电路。本地存储器904包括随机访问存储器、只读存储器、光驱、硬盘驱动器、可移动存储介质或能够存储指令和数据的存储介质中的一种或几种。本地存储器904存储操作***906、视频播放器软件908、视频数据910、目标显示信息912以及编码器和/或解码器软件914。视频播放器软件908包括MC&A、IC&A和/或DC&A功能中的一种或几种。
在根据本发明的一项特定操作中,视频播放器***900接收编码源视频12,生成输出,并发往视频显示器902或924。处理电路922运行视频播放器软件908和编码器软件914,从编码源视频12中生成视频数据全帧序列。视频播放器软件908包括子帧处理器应用,其通过处理视频数据全帧序列,根据第一位置和尺寸信息生成视频数据子帧的第一序列,同时根据第二位置和尺寸信息生成视频数据子帧的第二序列。第一位置和尺寸信息以及第二位置和尺寸信息一起组成元数据15。在视频播放器***900的这项特定操作中,显示器接口920传送视频数据子帧第一序列和第二序列,以供在显示器902和924上进行全帧显示。
对原始源视频14也可采用类似的操作。在这些操作中可使用相似显示元数据16和/或目标显示元数据18。在另一项特定操作中,视频播放器***900处理目标显示信息912,对视频子帧第一序列和第二序列进行剪裁,生成专门供视频显示器902或视频显示器924使用的视频数据。
图11是根据本发明一实施例构造的视频播放器***的结构示意图。在图11所示的特定结构中,视频播放器***1100包括解码器1102、元数据处理电路1104、元数据剪裁电路1106、管理电路1108、目标显示剪裁电路1110和显示器1112。解码器1102接收编码源视频12并生成原始视频。作为选择,原始源视频14可直接输入到视频播放器***1100中。
管理电路1108接收目标显示器信息20,该电路在视频播放器***1100中通信连接到元数据剪裁电路1106、解码器1102、元数据处理电路1104和目标视频剪裁电路1110。元数据剪裁电路1106接收元数据15。根据管理电路1108输入的信息,元数据剪裁电路1106对元数据进行调整,以使其更为适合显示器1112。在这种情况下,元数据剪裁电路1106收到的元数据15可以是图1中描述的相似显示元数据15。目标显示器信息20包括与显示器1112有关的信息。根据目标显示器信息20,管理电路1108向元数据剪裁电路1106输入数据,元数据剪裁电路1106使用该输入数据调整元数据15。
元数据处理电路1104接收原始视频、元数据剪裁电路1106输入的数据和管理电路1108输入的数据。元数据处理电路1104对输入的数据进行处理,生成输出,并发往目标显示器剪裁电路1110。目标显示器剪裁电路1110对从元数据处理电路1104收到的输入进行处理,生成输出,并发往显示器1112。
在视频播放器***1100的一项特定操作中,解码器电路1102接收编码源视频12,生成视频数据(原始视频)全帧序列。元数据处理电路1104(预处理电路)根据子帧信息(元数据剪裁电路1106的输出),从视频数据(原始视频)全帧序列中生成多个视频数据子帧序列。这些视频数据子帧序列包括视频数据子帧第一序列,其在全帧序列中的位置不同于同样在元数据处理电路1104中生成的视频数据子帧第二序列。元数据处理电路1104还将多个视频数据子帧序列中的第一序列与第二序列组合,生成输出,并发往目标显示器剪裁电路1110。
目标显示器剪裁电路1110(后处理电路)对多个视频数据子帧序列进行调整,生成输出。目标显示器剪裁电路1110所进行的调整操作是基于从管理电路1108收到的输入来进行的。目标显示器剪裁电路1110从管理电路1108收到的输入是基于目标显示器信息20的。目标显示器剪裁电路1110生成的输出将被传送到显示器1112以进行后续显示。
根据本发明的一些操作,原始源视频14和/或编码源视频12具有源视频分辨率。该源视频分辨率可称为第一分辨率。但是,元数据处理电路1104生成的多个视频数据子帧序列具有与显示器1112的特性相对应的第二分辨率。在多数情况下,第二分辨率要低于第一分辨率。这种情况通常是由显示器1112的尺寸小于预期用于显示源视频的显示器尺寸造成的。此外,显示器1112的宽高比可能不同于预期用于显示源视频12和14的显示器的宽高比。因此,尽管视频数据12和14的全帧序列具有第一宽高比,而元数据处理电路1104和目标显示器剪裁电路1110生成的输出则具有不同于第一宽高比的第二宽高比。
在视频播放器***1100的一些实施例中,部件1102到1112可包含在单个壳体中。作为选择,显示器1112还可配置在与部件1102到部件1110分离的壳体中。在其他实施例中,部件1102—部件1112可合并在一起,也可分布在许多不同的设备结构中。这些结构将参考图12—图15进行描述。
图12是根据本发明的分布式视频播放器***第一实施例的结构示意图。在图12所示的实施例中,显示了由分隔线1202、1204和1206分隔开的视频播放器***的功能部件(component)。这些分隔线1202、1204和1206将不同处理设备、单个设备中的不同处理组件(element)和/或不同处理操作分隔开。具体来说,分隔线1202将解码器1102和元数据剪裁电路1106与视频播放器电路中的其他部件分隔开。此外,分隔线1204将元数据处理电路1104与目标显示器剪裁电路1110分隔开。另外,分隔线1206将目标显示器剪裁电路1110与显示器1112分隔开。
图12中的部件类似于上文中参考图11所描述的部件,并保留了相同的标号。通过相同的标号和相同的功能配置,解码器1102、元数据处理电路1104、元数据剪裁电路1106、目标显示器剪裁电路1110和显示器1112接收与图11中所述相同或相似的输入,实现或执行相同和/或相似的功能。分隔线1202、1204和1206展示了如何在物理上、逻辑上或者时间上将多种组件1102—1112所执行的功能彼此分隔开。
图13是根据本发明的分布式视频播放器***第二实施例的结构示意图。与图11和图12中的结构相比,集成的解码和元数据处理电路1302既执行解码操作又执行元数据处理操作。集成的解码和元数据处理电路1302接收编码源视频12、原始源视频14和目标显示器元数据18。在具体操作中,集成的解码和元数据处理电路1302可接收任意特定的视频数据全帧序列的编码源视频12和原始源视频14二者其中之一。集成的解码和元数据处理电路/功能1302还接收来自元数据剪裁电路1106的输入。元数据剪裁功能1106接收相似显示器元数据16和目标显示器信息20。元数据剪裁电路1106基于目标显示器信息20调整相似显示器元数据16,生成剪裁后的元数据。元数据剪裁电路1106生成的剪裁后的元数据可结合目标显示器元数据18一起使用,也可替代目标显示元数据18。
目标显示器剪裁电路1110接收集成的解码和元数据处理电路1302的输出,基于目标显示器信息20进一步调整或剪裁由集成的解码和元数据处理电路1302生成的多个视频数据子帧,生成输出并发往显示器1112。分隔线1304、1306和/或1308展示了如何在物理上、逻辑上和/或时间上将集成的编码和元数据处理电路1302、目标显示器剪裁电路1110和显示器1112彼此分隔开。
图14是根据本发明的分布式视频播放器***第三实施例的结构示意图。如图所示的视频播放器***包括集成在一起的解码、目标显示器剪裁和元数据处理电路1404,补充目标显示器剪裁电路1406和显示器1112。集成在一起的解码、目标显示器剪裁和元数据处理电路1404接收编码源视频12、原始源视频14、目标显示器元数据18、相似显示器元数据16和/或目标显示器信息20。基于解码后的编码源视频12或直接基于原始源视频14,集成在一起的解码、目标显示器剪裁和元数据处理电路1404处理源视频的视频数据的全帧序列。这种处理是基于元数据16或18和/或目标显示器信息20进行的。集成在一起的解码、目标显示器剪裁和元数据处理电路1404生成多个视频数据子帧序列,并将它们发往补充目标显示器剪裁电路1406。补充目标显示器剪裁电路1406基于目标显示器信息20对多个视频数据子帧序列进行额外的剪裁。这种目标剪裁包括针对显示器1112调整多个视频数据子帧序列。分隔线1408和1410展示了如何在物理上、逻辑上和/或时间上将集成在一起的解码、目标显示器剪裁和元数据处理电路1404、补充目标显示器剪裁电路1406和显示器1202彼此分隔开。
图15是根据本发明的分布式视频播放器***第四实施例的结构示意图。解码器1502接收编码源视频12,生成未编码视频13。集成的目标显示器剪裁和元数据处理电路1504接收并处理未编码视频13和/或原始源视频14。集成的目标显示器剪裁和元数据处理电路1504还接收目标显示器元数据18、相似显示器元数据16和/或目标显示器信息20。未编码视频13或原始源视频14包括视频数据全帧序列。集成的目标显示器剪裁和元数据处理电路1504基于目标显示器元数据18、相似显示器元数据16和目标显示器信息20中的一个或多个信息来处理视频数据全帧序列,生成多个视频数据子帧序列,并发往补充目标显示器剪裁电路1506。补充目标显示器剪裁电路1506基于目标显示器信息20调整这些视频数据子帧序列,生成剪裁后的输出并发往显示器1508。显示器1508接收补充目标显示器剪裁电路1506的输出,显示包含在其中的视频数据内容。
可在功能、物理和/或时间上将模块1504、1506和1508的功能彼此分开。例如,在一个实施例中,解码器1502和集成的目标显示器剪裁和元数据处理电路1504可由单个处理设备来执行。在该实施例下,补充目标显示器剪裁电路1506可包含在显示器1508内。
在其他实施例中,模块1502、1504、1506个1508可设置在不同的壳体内、设置在不同的位置、由不同的功能组件来执行和/或在不同时间执行。因此,分隔线1510和1512可代表物理边界、功能边界和/或时间边界。
图16是根据本发明的用于在分布式视频播放器***中传送视频数据、元数据和其他信息的示意图。图16中展示了图12—图15中多种部件的连接方式。通信传输1602可包括通信链路/网络连接1604和/或物理介质1606。分界线1612和1614可包括分割线1202—1206、1304—1308、1408—1410和/或1510—1512中的任一组。在这种情况下,信息通过通信链路/网络1604或介质1606穿过这些分界线来传送。
在一项特定操作中,数据以未编码格式进行传送。但是,在另一实施例中,信息则由编码器1608进行编码,通过通信链路/网络连接1604传送,然后在进行后续处理之前由解码器1610进行解码。
图17是根据本发明一实施例的视频处理和重播过程的流程图。根据本发明,视频处理电路的操作1700开始于接收视频数据(步骤1710)。当接收的视频数据为编码格式时,视频处理电路对视频数据进行解码(步骤1712)。视频处理电路随后接收元数据(步骤1714)。该元数据可以是本文所描述的普通元数据、相似元数据或剪裁后的元数据。当收到的是相似元数据或普通元数据时,图17中的操作包括基于目标显示器信息对元数据进行剪裁(步骤1716)。步骤1716是可选的。
随后,图17中的操作包括基于元数据对视频数据进行子帧处理(步骤1718)。随后的操作包括基于目标显示器信息20剪裁在步骤1718生成的视频数据子帧输出序列(步骤1720)。步骤1720的操作生成剪裁后的视频数据子帧输出序列。随后,可选的,该视频数据子帧输出序列将进行编码(步骤1722)。最后,视频数据子帧序列将输出到存储器中存储、通过网络输出到目标设备或者以其他方式输出或者输出到其他位置(步骤1724)。
根据图17中展示的一个特定实施例,视频处理***接收代表视频数据全帧序列的视频数据。视频处理***随后对视频数据进行子帧处理,生成视频数据子帧第一序列和视频数据子帧第二序列。视频数据子帧第一序列由至少第一参数来定义,视频数据子帧第二序列由至少第二参数来定义,该至少第一参数和至少第二参数共同组成元数据。通过将视频数据子帧第一序列和视频数据子帧第二序列合并,视频处理***随后生成视频数据子帧第三序列。
在本实施例中,视频数据子帧第一序列可对应视频数据全帧序列中的第一区域,视频数据子帧第二序列可对应视频数据全帧序列中的第二区域,其中第一区域不同于第二区域。
本领域的技术人员应当明白,本文所使用的术语“可用连接”和“通信连接”包含直接连接,以及经由另一组件、元件、电路或模块进行的间接连接。对于间接连接而言,中间组件、元件、电路或模块并不改变信号信息,只是可能调整其电流、电压和/或功率水平。本领域的技术人员还应当明白,推断连接(也就是通过推论得知一个组件连接到另一组件)包括两个组件之间以与上述“可用连接”和“通信连接”相同的方式进行直接和间接的连接。
本发明的描述过程还借助方法步骤的方式来描述特定功能的执行过程及其相互关系。为便于描述,文中对这些功能性模块和方法步骤的边界和顺序进行了专门的定义。在使这些功能及其关系可正常工作的前提下,也可重新定义他们的边界和顺序。但这些对边界和顺序的重新定义都将落入本发明的主旨和所声明的保护范围之中。
本发明的描述过程借助功能性模块的方法来描述某些重要功能的执行过程。为便于描述,文中对这些功能性模块边界进行了专门的定义。在使这些功能可正常工作的前提下,也可重新定义他们的边界。类似地,流程图中的步骤也是为描述某些重要功能而专门定义的。为将这些流程图的应用得到扩展,可重新定义流程图中模块的边界和顺序,同时,重新定义后,这些模块仍然完成原来的重要功能。这种对功能性模块和流程图步骤和顺序的重新定义也都将落入本发明的主旨和所声明的保护范围之中。
可通过离散元件、特定用途集成电路、执行适用软件的处理器以及其他类似物及其组合来实现本发明的这些功能模块以及其它所示的模块、原理框图和组件。
此外,本发明是通过一些实施例进行描述的,但本发明不局限于这些实施例。本领域技术人员知悉,在不脱离本发明的精神和范围的情况下,可以进行各种改变或修改。