基于运动的动态分辨率多比特率视频编码的制作方法

文档序号:7911813阅读:304来源:国知局
专利名称:基于运动的动态分辨率多比特率视频编码的制作方法
基于运动的动态分辨率多比特率视频编码背景随着通过诸如因特网之类的网络播放流传输音频和视频越来越流行,需要优化从服务器传输到客户机的数据,以使得即使回放期间的网络条件不一致,也能最大化客户机的体验。优化客户机的体验涉及选择用于编码视频回放的音频和视频部分的质量级别,以使得视频可以被不中断地传输和重构,而同时维持视频内容的质量。质量级别一般是由为输入流的已编码的音频或视频部分指定的比特率规定的。较高的比特率一般指示编码和保留了关于原始音频或视频的较大信息量,因此,在视频回放期间将呈现原始输入音频或视频的更准确的再现。相反,较低的比特率指示编码和保留了关于原始输入音频或视频的较少信息,如此,在视频回放期间将呈现原始音频或视频的较不准确的再现。一般而言,基于若干因素,指定用于编码音频和视频中的每一个的比特率。第一因素是服务器和客户机之间的网络条件。可以传输大量数据的网络连接指示可以为随后通过该网络连接传输的输入视频指定较高的比特率。第二因素是期望的启动等待时间。启动等待时间是由于必须接收、处理和缓冲的大量数据而首次启动时视频回放工具体验的延迟。 第三因素是对假信号的容差。假信号是由于数据丢失而导致视频回放必须停止的情况。在大多数情况下,任何量的启动等待时间或假信号都是无法忍受的,因此,期望优化指定的比特率,以便最小化或消除启动等待时间和假信号。当前可用的商业流传输媒体系统依赖于多比特率(MBR)编码来执行编码速率控制。在MBR编码中,源视频内容以不同的编码速率被编码为替换的比特流,并通常存储在服务器处的同一媒体文件中。这允许根据变化的网络条件通常使用段之间的比特流切换且以对应于不同的编码速率的变化的质量级别,来以段或块对内容进行流传输。当前可用的多比特率视频流传输系统使用恒定比特率方法来编码每一个替换的视频流。然而,典型的视频一般将包括具有各种可视复杂性的场景。然而,恒定比特率方法不能以不同的质量来有效地编码视频段。恒定比特率方法不必要地花费太多的比特用于编码低复杂性视频段,相反,高复杂性场景被分配太少的比特。因此,编码替换的流的恒定比特率方法导致不期望且不一致的用于因特网流传输的视频质量。当前可用的多比特率视频流传输系统还具有使最终显示分辨率被固定的进一步的要求。通过维持固定的显示分辨率,多比特率的视频流可以全部被解码,并被缩放到此同一最终显示分辨率,以便实现无假信号的视频呈现。利用固定显示分辨率,各种替换的视频流可以具有从每秒几兆比特到每秒几千比特的范围广泛的比特率。一个问题是将适当的视频分辨率与每一个视频流比特率匹配。当前可用的多比特率视频流传输系统使用预先定义的编码分辨率,该分辨率可能也不非常适合于视频场景的变化的复杂性(例如,细节和/或运动)。概述下面的具体实施方式
涉及用于基于运动的动态分辨率多比特率视频编码的技术 (通过方法、设备、和系统实现),这些技术旨在更好地使用对每一个比特率可用的比特,以便实现一般而言较高质量的视频。根据此处所描述的一种技术,基于运动的动态分辨率多比特率视频编码器动态地改变已编码的视频的视频分辨率。视频编码器在分辨率调整大小的决定中考虑视频内容的运动复杂性(例如,在每组图像(GOP)的基础上)。为带有较少(较慢)运动的视频内容选择较高分辨率,而为带有较多(较快)运动的视频内容选择较低的分辨率。通过在视频编码期间分析运动矢量(例如,运动矢量幅度),来确定运动复杂性。根据此处所描述的另一种技术,基于运动的动态分辨率多比特率视频编码器基于运动复杂性和纹理复杂性来动态地改变已编码的视频的视频分辨率。多比特率视频编码器为具有较少纹理复杂性和较少运动复杂性的图像组选择较高视频分辨率,而为具有较高纹理复杂性和较高运动复杂性的图像组分配较低的分辨率。此动态分辨率方法可允许多比特率视频编码器为给定比特率取得一般而言更好的视频质量。对于每一个比特率,视频编码器基于场景的视频内容(可以包括一组或多组图像)来动态地决定分辨率,以便取得更好的可视质量。提供本概述以便以简化形式介绍将在以下的具体实施方式
中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。通过下面的结合附图对本发明的各实施例进行的详细描述,本发明的附加特征和优点将变得更加显而易见。附图简述

图1是以可变比特率提供视频的分段的流传输的视频流传输系统的框图。图2是图1的视频流传输系统的用于以变化的比特率对流进行编码的视频编码器的一般化实现的框图。图3是多比特率视频编码系统的处理流程图,该系统使用图2的通过图1的系统进行流传输的视频编码器,来对编码视频应用可变比特率方法和动态分辨率方法。图4是供动态分辨率选择的三点采样法中使用的、示例流的分辨率、量化步长和编码长度之间的关系图。图5是由多比特率视频编码系统进行动态分辨率决定的处理流程图。图6描绘了由多比特率视频编码系统作出的运动复杂性分辨率决定的示例处理流程图。 图7描绘了示例运动调整大小的比例图。图8是由多比特率视频编码系统使用基于运动的动态分辨率来编码的视频段的可视表示。图9是可以用来实现各种所描述的实施例的一般化操作环境的框图。
具体实施例方式下面的具体实施方式
涉及用于使用基于运动的动态分辨率进行视频编码以便以多比特率产生用于流传输的视频流的各种技术和系统。虽然是在应用到多比特率流传输应用的上下文中来描述这些技术的,但是,这些技术也可以更广泛地应用于其他视频编码应用。此处所描述的各种技术和工具可以独立地使用。一些技术和工具可以组合地使
6用。下面将参考处理动作的流程图来描述各种技术。流程图所示出的各种处理动作可以被合并为较少的动作或分离成更多的动作。为简单起见,特定流程图所示出的动作与在别处所描述的动作的关系常常未示出。在很多情况下,流程图中的动作可以被重新排序。I.多比特率视频流传输图1描绘了用于对索引的视频流文件中所包含的多媒体内容的分段流传输的系统100的一般化框图。索引的文件一般将多媒体节目的视频分割为多个流传输段,并包含表示各种比特率的视频段的许多已压缩的比特流。虽然MBR视频流被描述为分开的编码的流,但是,替换实现可以使MBR视频流的某些或全部作为带有多个编码层的一个经编码的压缩视频流来编码。在系统100中,服务器110(例如,诸如标准HTTP服务器之类的服务器计算机系统)通过网络130(例如,因特网)将多媒体内容提供到客户机120(例如,诸如膝上型计算机或台式计算机之类的客户机计算机系统,或诸如PDA或移动电话之类的另一种类型的计算设备)。在系统100中,服务器110将节目存储在索引的文件中。客户机120包括客户机侧的速率控制软件和/或硬件。在一个具体示例实现中,服务器110是没有除为文件服务的能力以外的任何专用流传输功能的标准HTTP服务器。由于服务器110不支持任何专用比特率选择功能,因此,客户机120必须执行所有比特率选择活动。在此实现中,客户机120执行所有比特率选择活动。例如,客户机120可以使用从服务器110获得的索引信息(例如,单独或与诸如客户机缓冲信息、网络带宽等等之类的其他信息相结合)来执行速率控制。然而,在其他实现中, 可以在服务器处发生速率控制功能中的某些或全部。一般而言,用于多比特率流传输的索引的文件可以被标准HTTP服务器用来以多比特率服务于多媒体内容,比特率选择(速率控制)在客户机侧执行(例如,排他地在客户机侧)。客户机可以通过首先从服务器获得描述可用于流传输节目的段的各种比特率的索引信息来执行速率控制。基于索引信息,可能,还有其他信息(例如,网络带宽、缓冲信息等等),客户机可以决定要从服务器下载哪些比特率流传输段,以提供期望的用户体验(例如,基于可用的比特率和当前网络条件,可能的最佳用户体验)。其他类型的计算设备(例如,除传统的HTTP服务器以外)可以使用索引的文件来提供文件。例如,计算设备(例如,个人计算机、服务器计算机或专用的流传输媒体服务器) 可以使用索引的文件布局,使用各种文件服务协议(例如,文件传输协议(FTP)、超文本传输协议(HTTP)、实时流传输协议(RTSP)、MMS (Microsoft媒体服务)等等),来服务于多媒体内容。为了支持比特率切换,节目被分成称为“流传输段”的时间块(自包含的单元)。 服务器以一种或多种比特率存储每一个流传输段(例如,每一个流传输段一比特率组合是分开的流传输段编码)。每一个流传输段对于一个节目的特定轨道(例如,诸如英语音轨之类的特定音轨,或特定视频轨)都包括一个或多个可用的比特率编码。然后,客户机从可用的比特率(例如,从可用的流传输段编码)确定要为每一个流传输段下载哪个比特率。例如,客户机可以获取以250Kb/sec (千比特每秒)编码的视频轨的第一流传输段(从第一流传输段的一个或多个可用的流传输段编码),以500Kb/sec编码的视频轨的第二流传输段 (从第二流传输段的一个或多个可用的流传输段编码),以及以IMb/sec (兆比特每秒)编码的视频轨的第三流传输段(从第三流传输段的一个或多个可用流传输段编码)。在所示出的流传输系统100中,索引的文件中所包含的每一个流传输段被视频编码器以可变比特率(VBR)和可变分辨率来编码,如下面所描述的。II.视频编码器概览图2描绘了可以用于对视频编码用于多比特率视频流传输的视频编码器200的一个示例。视频编码器200具有用于接收视频内容的“原始”(未经压缩的)帧以及该视频内容的先前计算出的运动信息的输入端210,220。然后,视频编码器对视频内容的参考帧执行帧内编码,并使用运动信息来对该视频内容的预测的帧执行帧间编码。可以根据诸如 Windows 媒体视频格式、SMPTE 421-M格式、MPEG-x 格式(例如,MPEG_1、MPEG_2 或 MPEG-4)、 H. 26x格式(例如,H. 26UH. 262,H. 263或H.沈4),或其他格式之类的已知视频编码标准来执行编码。然而,在帧间编码的情况下,视频编码器可以选择使用用于对预测的帧的帧间编码的预先计算出的运动信息,而并非对于帧执行其自己的运动估计。视频编码器将视频内容编码为作为输出230提供的压缩比特流。视频编码器也可以输出运动信息,它将该运动信息用于将输入视频内容帧间压缩为运动信息输出MO (诸如用于对较低比特率的视频流编码用于多比特率视频流传输)。图2是示出了用于使用可变比特率和可变分辨率编码来为多比特率视频流传输系统100产生多比特率视频流的视频编码器200的一个示例的合适实现的一般化框图。视频编码器200接收视频图像(帧)序列作为其原始视频内容输入210,并产生压缩比特流 230作为输出。视频编码器200处理视频图像。术语“图像”一般是指源、编码的或重构的图像数据。对于逐行扫描视频,图像是逐行扫描视频帧。对于隔行扫描视频,取决于上下文,图像可以是指隔行扫描视频帧、上半帧、或下半帧。视频编码器200压缩输入视频的帧间编码的、预测的图像和输入视频的帧内编码的图像。为了演示,图2示出了用于通过编码器200的帧内编码的帧的路径和用于帧间编码的预测的帧的路径。许多视频编码器200的组件被用于压缩帧内编码的内容和帧间编码的预测的内容。通过那些组件执行的确切操作可以取决于正在被压缩的信息的类型而变化。—般而言,在视频编码器200内,帧间编码的预测的帧(作为图像)根据先前重构的内容(作为一个或多个其他图像,这些图像通常被称为参考图像或锚)的预测来表示。例如,在一给定时间的内容被编码为逐行扫描的P帧或B帧、隔行扫描P半帧或B半帧、或隔行扫描的P帧或B帧。在视频编码器200内,预测残余是预测的信息和对应的帧内编码的帧之间的差异。基于运动信息,路径间(inter-path)上的输入视频110内容被编码为预测的图像。如果满足某些条件,则视频编码器100使用来自输入120的预先计算出的运动信息(如选择开关256所示),该信息可以对于宏块的运动矢量的集合或序列、或相对于一个或多个参考图像的路径间视频图像的其他样本集。一般而言,使用预先计算出的运动信息的选择可以基于首先,预先计算出的运动信息的可用性;其次,哪些编码参数从运动信息的先前计算中改变且编码参数是否从运动信息的先前计算中改变、以及这些参数是否用于对视频内容的当前编码。在一个示例中,如果先前计算出的运动信息是为利用与视频编码器当前正在编码所采用的不同的视频分辨率来编码视频内容而计算的,则视频编码器将选择不使用来自输入130的该先前计算出的运动信息。
然而,视频编码器100可以改为选择(同样由选择开关256示出)利用运动估计器258来对于路径间视频内容110执行新运动估计。运动估计器258估计宏块或视频图像的其他样本集相对于一个或多个参考图像的运动,参考图像表示先前编码的视频内容帧的重构。图像存储264缓存此重构的视频内容266作为一个或多个参考图像。当使用多个参考图像时,这多个参考图像可以来自于不同的时间方向或相同的时间方向。运动估计器258 输出诸如运动矢量信息之类的运动信息沈0。当形成经运动补偿的当前图像沈8时,运动补偿器262将运动矢量应用到某些重构的视频内容266(存为参考图像)。在经运动补偿的图像沈8的块和原始路径间视频图像的对应的块之间的差异(如果有的话)是该块的预测残余270。在稍后对路径间视频帧的重构过程中(例如,在视频解码器处),重构的预测残余被添加到经运动补偿的残余视频 268,以获得更接近于原始路径间视频256的重构的内容。然而,在有损压缩中,一些信息仍会从原始路径间视频中丢失。可另选地,运动估计器和运动补偿器应用另一种类型的运动估计/补偿。频率变换器280将空间域视频信息转换为频率域(即频谱变换)数据。对于基于块的视频内容,频率变换器280对样本块或预测残余数据应用DCT、DCT的变体、或其他前向块变换,从而产生频率变换系数块。频率变换器280可以应用8X8,8X4,4X8,4X4或其他大小的频率变换。然后,量化器282然后量化变换系数块。量化器282以逐图像地、逐宏块地或其他方式空间变化的步长对频谱数据应用非均勻的标量量化。另外,在某些情况下,量化器在层间残余视频图像的颜色通道之间改变量化。量化器282还可以应用另一种类型的量化,例如,对于至少某些频谱数据系数应用均勻或自适应量化,或在不使用频率变换的编码器系统中直接量化空间域数据。当需要重构的视频内容用于随后的对路径间视频图像的运动估计/补偿时,逆量化器290对已量化的频谱数据系数执行逆量化。逆频率变换器292执行逆频率转换, 从而产生重构的预测残余的块(对于预测的路径间残余视频内容)或样本(对于路径内 (intra-path)残余视频内容)。如果残余视频内容256是经运动补偿预测的,则将重构的预测残余添加到经运动补偿的预测器268,以形成重构的残余视频。图像存储264缓存重构的残余视频,用于随后的经运动补偿的预测。熵编码器观4压缩量化器观2的输出以及某些辅助信息(例如,量化参数值)。典型的熵编码技术包括算术编码、差分编码、霍夫曼编码、行程长度编码、LZ编码、字典式编码,和以上的组合。熵编码器284通常针对不同种类的信息使用不同的编码技术,并可以从特定编码技术内的多个代码表中选择。当视频编码器240对路径内视频内容执行帧内压缩时,编码器把它帧内压缩为帧内编码的图像,没有运动补偿。视频256被直接提供到频率变换器观0、量化器观2以及熵编码器观4,并作为编码视频输出。帧内编码的视频的重构版本可以被缓存,以用于随后的对其他路径间视频的运动补偿。控制器294接收来自诸如运动估计器258、频率变换器观0、量化器观2、逆量化器 290和熵编码器284之类的各种模块的输入。控制器294评估编码过程中的中间结果,例如,设置量化步长和执行速率一失真分析。控制器294与其他模块一起协作,以设置和改变编码过程中的编码参数。当控制器294评估不同的编码参数选择时,控制器294可以反复执行某些阶段以评估不同的参数设置,或者控制器294可以联合地评估不同的编码参数。要评估的编码参数判决的树以及对应的编码的定时取决于实现。在某些实施例中,控制器四4 还从编码会话向导界面、其他编码器应用接口、或其他源接收输入,以使用特定规则来指定要编码的视频。III.对MBR流的可变比特率编码对于多比特率视频流传输系统100(图1),多比特率视频编码系统使用依次递减的总比特率单独地将输入视频编码为经压缩视频流的组。虽然此处是作为编码单独的各 MBR视频流来描述的,但是,MBR视频流传输系统和编码系统的替换实现可以将MBR视频流中的一个或多个编码为具有多个可分开的编码层的压缩比特流。多比特率视频编码系统包括MBR编码引擎(未示出),该引擎驱动视频编码器200(图2),以根据多比特率编码过程 (如图3所示)利用变化的编码参数来编码输入视频,编码过程实现可变比特率和在本部分以及下面的部分所描述的基于运动的动态分辨率方法。MBR编码引擎可以提供用户界面或控制台,用于接收用户输入以配置用于MBR视频流编码的参数(或者可另选地,提供应用程序编程接口以从调用应用程序接收这样的输入),诸如流的数量,及下文所提及的其他参数。与其他当前可用的多比特率视频流传输系统(使用恒定比特率方法来编码多个视频流)不同,多比特率视频流传输系统100的MBR编码系统旨在为每一个视频流提供恒定的或一致的质量。对于顶部MBR视频流(一般而言,具有最高的总比特率),视频编码器 200利用被约束低于指定的高峰比特率而同时满足指定的平均比特率的变化比特率来编码视频流。对于底部MBR流(一般而言,具有集合的最低的比特率),视频编码器使用恒定块速率方法。在多比特率视频流传输系统的上下文中,术语“块”是指视频流被分段的一组图像(GOP),并定义视频流传输系统可以在视频流之间切换播放各个段的粒度级。恒定块速率方法使视频流传输系统能够保证流传输的可预测性,因为当最低比特率或质量视频流被流传输时,客户机将以恒定速率接收图像的块量,以便保持最小的连续播放视频的质量。在最低和最高总比特率流之间,视频编码器还在旨在保持恒定视频质量的高峰比特率和平均比特率的约束内使用编码的可变比特率来编码一个或多个中间视频流。可以指定中间视频流的高峰和平均比特率约束,以便以成比例的、对数或其他缩小方式逐渐地缩小。例如,中间流的平均比特率可以成比例地缩小到最高比特率视频流的平均比特率约束的3/4、1/2和1/4。以此方式,视频流传输系统100能够提供从保证的低恒定块速率切换到最高质量可变速率比特流的瞬时开始和快速视频。高峰和平均比特率以及恒定块速率是可以由用户来配置的编码参数。这些参数可以由用户显式地配置,或者由MBR编码系统引擎基于由用户输入的更一般化的参数来计算。例如,MBR编码引擎可以具有自动模式,在该模式下,用户(或调用应用程序)只是指定最小和最大目标比特率和多个视频流或层。然后,此自动模式下的引擎计算均勻、对数或其他分布空间的所有中间比特率约束(高峰和平均)。现在参考图3,MBR编码系统利用使用两遍编码方法的过程300来编码MBR视频流的组。此过程包括分析遍和编码遍。分析遍的目标是基于编码配置以及输入视频源材料本身来发现视频内容的场景复杂性(空间和/或运动复杂性)。一旦在分析遍提取了此信息,下面的编码遍就生成MBR视频流的组。MBR编码过程300从初始化步骤310开始。在此步骤中,MBR编码过程从用户输入确定用于编码的参数,包括MBR视频流的数量、流的高峰和平均比特率约束,以及最低质量 MBR视频流的恒定块速率,运动搜索范围参数,以及段参数,等等。MBR编码过程300的分析遍包括动作311-314。在分析遍,MBR编码引擎逐帧来分析输入源视频帧。分析包括多个不同的任务,包括场景变化检测,将场景变化边界之间的视频序列分段为图像段的组,以及视频帧复杂性测量(例如,空间和/或运动复杂性)。基于场景变化检测,MBR编码引擎标记在视频中发生场景变化的边界。在视频序列的被标记的边界之间(序列标记内和序列标记外位置),MBR编码过程300进一步确定在用户指定的约束内划分视频序列的图像段的组的总数(如指定的平均GOP长度和场景内的最大允许的GOP 长度),并设置每一组图像的边界。一旦定义了 GOP边界,由MBR编码引擎来计算每一 GOP 内的帧的总数。MBR编码引擎计算用于下一节中所描述的可变分辨率编码的每一组图像的每一帧的一组三个纹理测量。三个纹理测量包括帧全局纹理、帧水平纹理和帧垂直纹理测量。MBR编码引擎还计算用于下一节中所描述的可变分辨率编码的每一组图像的每一帧的运动矢量的幅度的中值。在特定实现中,运动矢量的幅度是运动矢量的χ和y分量的绝对值的总和。同样,在特定实现中,为GOP中的每一预测的(例如,P和/或B)帧来计算中值。MBR引擎将这些分析遍结果(场景和GOP边界、纹理测量以及运动矢量测量)写入到日志文件中,如动作314所示出的。在特定实现中,MBR引擎计算每一 GOP的平均中值运动矢量值(从GOP的帧的中值运动矢量幅度值),并将平均中值运动矢量值存储在日志文件中。对于编码遍(动作315-324),MBR引擎应用分析遍的结果,以使用视频编码器200 来编码MBR视频流(图2)。MBR引擎导致视频编码器200编码所有MBR流(动作318)的每一段(动作317)。对于MBR视频流的每一段,MBR编码引擎控制视频编码器200的编码参数,以尝试达到用户指定的平均比特率的目标。如果源视频内容太复杂而难以以目标比特率编码,则MBR编码引擎开始提高量化步长,以便实现更好的可视质量。顶部或最好质量视频流是服从满足用户指定的MBR编码参数的最大高峰比特率约束下编码的。对于底部或最低质量视频流,MBR引擎控制视频编码器以产生满足恒定块速率约束的对视频流的编码, 这有助于用于播放流传播视频的客户机侧的可预测性。在中间视频流中,MBR引擎导致视频编码器利用编码参数来编码源视频,以产生落入相应的中间流的最大高峰和平均比特率约束内的可变比特率的视频流。作为编码遍的结果,MBR引擎然后输出使用视频编码器所产生的MBR流组的压缩视频比特流,以及日志文件。利用此MBR编码过程300的可变比特率方法,MBR引擎产生对于每一 GOP从顶部到底部质量流均勻地降低的一组MBR视频流。利用此组MBR视频流,MBR 系统100(图1)可以根据可用的连接带宽,为视频序列提供期望的恒定或一致的可视质量。IV.对MBR流的可变分辨率编码MBR编码引擎还应用动态地改变对于MBR视频流中的每一个进行编码的分辨率的技术。对于从MBR视频流中的顶部到底部的每一个视频流,MBR编码引擎动态地决定用于编码每一视频GOP的分辨率以产生更好的可视质量。对于每一个视频流,MBR编码引擎给低空间复杂性GOP (或段)分配较高分辨率,而给在空间上更复杂的GOP (或段)分配低的编码分辨率。除空间复杂性之外或代替空间复杂性,当动态地改变分辨率时,可以考虑运动复杂性。具体而言,对于带有显著的运动的GOP(或段),可以降低分辨率。编码带有快速运动场景的视频内容对于视频编码器可能是有挑战的。例如,在某些情况下,运动估计例程不能跟踪快速运动场景,因为在决定运动搜索范围时的限制和/ 或试探。如果运动搜索范围太小(或先退出),则运动估计例程可以生成不准确的运动矢量。不准确的运动矢量进而生成大的错误信号。为了满足目标比特率,编码器可以通过提高量化参数来补偿大的错误信号。最终结果是带有高的区块效应(blockiness)的帧。另一方面,如果运动搜索范围太大,则运动估计例程可以消耗高百分比的编码时间。这会导致长编码而增益很少(因为快速运动场景通常在屏幕上模糊地飞过)。另外,不准确运动矢量可以导致对象的不连贯的运动。属于对象的宏块可以被分配不连贯的运动矢量。这导致在帧中相同对象的块在看起来随机的方向移动。MBR编码引擎可以利用视频内容中的运动复杂性来调谐速率控制机制。此方法可使MBR编码引擎在带有运动的场景中调整分辨率的大小。例如,可以通过计算视频图像(例如,在预测的图像中,如P和/或B图像)中的运动矢量的幅度的中值,来确定视频内容的运动复杂性。然后,可以对一段或GOP中的图像(例如,帧)求中值的平均值(例如,对GOP 中的所有P帧求平均值)。平均中值是段或GOP中的运动的量的函数,其中,较高平均中值暗示该段或GOP中的更快的感觉到的运动。运动补偿的准确性部分地取决于运动搜索范围,其中,较大的搜索范围给出更准确的运动矢量组。在使用SMPTE 421-M视频编解码器的MBR编码引擎的特定实现中,使用自适应运动搜索范围。自适应运动搜索范围在逐帧的基础上变化,取决于内容中的运动量, 从0适应到3。可另选地,运动搜索范围可以被设置为固定值(例如,用户可设置的选项)。 在使用SMPTE 421-M编解码器的编码引擎的特定实现中,根据经验找出了 2或更大的运动搜索范围,以得到能够指示已编码的视频内容是否包含显著的运动(例如,足以确定视频内容中存在的运动范围,从几乎没有或没有运动到快速运动)的运动矢量。对于带有显著的运动的视频内容,降低分辨率可以提供多个编码效率/改进。例如,降低的分辨率会降低运动搜索范围,从而提高运动估计例程得出准确的运动矢量的机率,而降低的分辨率会导致编码速度提高。另外,更准确的运动矢量会产生较小的错误信号,这会导致已编码的视频流中的较小的量化参数和较少的区块效应。最后,更准确的运动矢量可允许属于同一个对象的在空间上相邻的区块以连贯的方式移动。图8描绘了由多比特率视频编码系统使用基于运动的动态分辨率编码来编码的视频段的可视表示800。在可视表示800中,描绘了两种情况其中,以三种不同的比特率编码三个GOP (比特率1表示较高比特率,比特率3表示较低比特率)。GOP 1表示慢运动视频内容,GOP 2表示中值运动视频内容,而GOP 3表示高运动视频内容。在810,编码三个G0P,而无需动态分辨率(即,它们全部以同样的分辨率来编码)。在820,至少部分地使用基于运动的动态分辨率、以三种不同的比特率来编码三个 G0P。在820可以看出,对于所有三个比特率,以一种分辨率编码慢运动G0P(G0P 1)(可另选地,在某些编码情况下,较低比特率编码可以按降低的分辨率)。以与GOP 1的比特率1 同样的分辨率来编码比特率1的中值运动G0P(G0P 2),而以较低的(降低的)分辨率编码比特率2和比特率3。类似地,以(与对于GOP 1和2的比特率1)同样的分辨率来编码比
12特率1的高运动GOP(G0P 3),而以甚至更低(更为降低的)的分辨率来编码比特率2和3。 在可视表示800中,通过相对应的框的大小来反映每一 GOP编码的相对分辨率。取决于特定编码情况和/或特定视频内容,与在可视表示800中所描绘的相比,可以对分辨率执行更多或更小的调整大小。在一示例实现中,MBR编码引擎应用决定以动态地调整视频的场景边界处的每一 GOP的分辨率的大小。这避免了产生在视频场景中调整视频分辨率的大小可能产生的任何不希望有的视觉效果。例如,在以“讲话头部”为特征的场景中,改变视频分辨率中场景会引入明显的凸出或脉冲,因为场景中的细节边缘和特征随着分辨率变化而锐化或软化。因此,MBR编码引擎对于场景的一个或多个GOP执行下面所描述的过程(例如,对于上文所描述的分析阶段中已标识的场景变化边界之后的第一 G0P)。在动态分辨率编码的一个示例实现中,MBR编码引擎使用三点采样法来作出动态分辨率决定。每一采样点都表示使用视频分辨率和量化步长的三个不同的对来对GOP进行编码的结果(按照实际编码的比特率或大小来表示)。利用这三个采样点结果,MBR引擎建立分辨率、量化步长和编码长度之间的关系的模型,该关系在图4中用图形方式示出。从视频序列的该动态地提取的模型,MBR编码引擎可以随后决定MBR视频流的每一个目标比特率的分辨率。在替换实现中,MBR编码引擎可以使用更多采样点来建立模型。然而,发现三采样点方法足以建立该模型,而出于编码速度目的仍是最切实可行的。图5示出了由MBR视频编码引擎为对于每一视频流的GOP作出动态分辨率决定所执行的过程500。过程500从获取编码结果的三个样本点开始(动作510)。MBR编码引擎控制视频编码器200,以利用分辨率和量化步长的三个参数组合来对段或GOP进行编码。可以基于对于视频的期望的显示分辨率,来选择初始样本分辨率。可以根据视频编码器所使用的特定编解码器标准,来选择初始样本量化步长。例如,在SMPTE 421-M视频编解码器的情况下,可以将初始样本量化步长选为4。在视频编码器使用H. 264标准的情况下,适当的初始样本量化步长可以是观。然而,可以改为选择其他初始样本量化步长和分辨率。在所示出的模型中,MBR视频编码引擎对于初始样本分辨率和量化步长参数对 (R,Qp)以及以初始样本分辨率的四分之一(即,(R/4,Qp))且以初始样本量化步长的两倍 (即,(R,Qp*2))来执行编码。可另选地,可以使用对于样本点的其他参数对,如二分之一分辨率,四倍量化步长等等。MBR视频编码引擎观察通过利用三个分辨率和量化步长参数对来对视频流的GOP进行编码所得到的已编码比特大小(Si、S2,以及S3)。在下一动作511中,MBR引擎建立两个线性模型一个是针对量化步长和已编码大小之间的关系(在图4的图中,被标记为GraphQpS),一个是针对分辨率和已编码的大小之间的关系(GraphRS)。量化步长和已编码大小之间的关系是由已编码大小确定的,已编码大小是从两个样本点所得到的,其中,量化步长是变化的,而分辨率保持恒定,相反,分辨率和已编码大小之间的关系是从两个样本点确定的,其中,分辨率是变化的,而量化步长保持恒定。在动作512,MBR引擎使用已编码大小与量化步长的关系来得出产生对应于期望的比特率的已编码大小的量化步长。这是应该产生对于视频流的GOP的目标比特率的、以全采样分辨率R来建模的结果量化步长(被标记为Qp')。然后,MBR引擎将建模的结果量化步长与根据经验确定的阈值进行比较(在很宽的视频内容范围内,从测量视频纹理的实验确定)。如果建模的结果量化步长小于阈值,那么,在动作514中,MBR引擎决定使用全采样分辨率和建模的结果量化步长,S卩,(R,Qp')。更具体而言,MBR引擎基于在输入视频内容的分析阶段(上文所讨论的)作出的每一帧纹理测量,来确定适当的量化步长阈值。MBR引擎通过对GOP中的所有帧的帧纹理测量进行平均,来计算GOP的纹理测量。这产生了 GOP全局纹理、GOP水平纹理和GOP垂直纹理测量。在这些测量中,GOP全局纹理测量确定控制何时调整视频分辨率大小的量化步长阈值。从对较大范围的视频内容的实验结果(包括体育、电视、电影等等),已经确定等于12 的Qp的量化步长阈值(对于利用SMPTE 421M标准来编码的视频)适用于带有典型的GOP 全局纹理测量的视频。换言之,如果建模的结果量化步长Qp'超过12,则MBR编码器应该调整大小到较低的视频分辨率,以便以较低的Qp进行编码。然而,在一示例实现中,MBR编码器还可以取决于视频的总全局纹理测量来改变用于调整大小的量化步长阈值。MBR编码器已经建立了全局纹理和用于调整大小的量化步长阈值之间的线性关系。对于具有低总全局纹理的视频,预期较低的量化步长阈值。这可允许MBR编码器更积极地调低具有大量平稳区域(调整大小到较低的分辨率将不会产生伪像)的视频内容的视频分辨率。而对于带有高全局纹理的视频,MBR编码器预期较高的用于调整大小的量化步长阈值。这样的较高的阈值使得MBR编码器在调低具有大量细节的帧的视频分辨率时更小心,以便避免对那些帧的详细区域的平滑化处理。在替换实现中,可以以其他量化步长确定量化步长阈值,诸如, 与其他视频编码标准一起使用,或在调整视频分辨率的大小时实现期望的积极性/警告。另一方面,在动作515中,如果建模的结果(在上面的512中确定的建模的结果量化步长Qp')大于由视频纹理所定义的阈值,则MBR引擎改为使用已编码的大小和分辨率之间的关系(GraphRS)来发现产生对应于视频流的目标比特率的已编码的大小的建模的结果分辨率(R')。在特定实现中,动作515的结果是从GraphRS确定的纹理缩放因子。示例纹理缩放因子是0. 8 (其中,1. 0是全分辨率R),指示分辨率降低为0. 8*R。另外,在516,如果建模的结果大于由视频纹理所定义的阈值(上面的动作515), 那么,在分辨率调整大小的计算中还考虑运动复杂性。一般而言,对于带有高运动的视频内容(通常是模糊的),可以进一步降低分辨率,而不会显著影响质量。在特定实现中,如在图 6中所描绘的,执行运动复杂性计算。图6描绘了由多比特率视频编码系统作出的基于运动的分辨率决定的示例处理流程图。在610,将平均中值运动矢量值(例如,如上文参考图3所讨论地计算出的每一 GOP 平均中值运动矢量值)与运动调整大小阈值“N”(平均中值运动矢量阈值)进行比较。在一些实现中,平均中值运动矢量值和阈值是归一化值(例如,从0到1)。例如,可以基于视频分辨率和运动搜索范围,线性地归一化平均中值运动矢量值。在特定实现中,通过检查一组代表性的视频剪辑来确定阈值N,并选择该阈值来区分带有很少(或没有显著的)运动的剪辑和带有低或高运动的剪辑。在620,如果平均中值运动矢量值大于运动阈值,那么,运动调整大小比例值被确定。在特定实现中,使用运动调整大小比例映射函数来确定运动调整大小比例值。在图7 中描绘了示例运动调整大小比例图700。在图7中,比例图700的χ轴表示归一化(从0到 1)平均中值运动矢量值(基于视频分辨率和运动搜索范围来线性地归一化),而y轴表示运动调整大小比例值(从0到1归一化)。图7中所描绘的运动调整大小比例映射函数是两块式线性函数。从归一化平均中值运动矢量值0到阈值N的视频段或GOP被视为没有显著的运动(或不是保证分辨率降低的足够的运动)。对于从阈值N和向上(到值1.0)的归一化平均中值运动矢量值,运动调整大小比例值被应用,指示分辨率的调整大小。例如,使用比例图700,大致0. 9的平均中值运动矢量值指示大致0. 6的运动调整大小比例值。代替分段式线性运动调整大小比例映射函数,也可以使用其他函数(例如,带有更多段的分段式线性函数、非线性函数、或对于不同类型的视频内容的不同函数)。在特定实现中,比例图是带有五段的线性函数,第一段是从归一化平均中值运动矢量值0到阈值N的无运动段。在该特定实现中,通过确定一组代表性的视频剪辑中的最佳调整大小来获取五段式线性函数。例如,以不同的分辨率来查看剪辑,以取得区块效应对平滑化(或模糊化)。在该特定实现中,相对于块状的图像,优选稍微模糊的图像。然后,选择最佳分辨率,以便在变化运动剪辑中有很少或没有区块效应。在630,可以通过利用运动调整大小比例值来调整纹理缩放因子(从上面的动作 515所产生的),来计算最后的调整大小比例值。在特定实现中,将纹理缩放因子乘以运动调整大小缩放因子,以确定最后的调整大小比例值。例如,如果纹理缩放因子是0. 8,而运动调整大小比例值是0.6(例如,从运动调整大小比例图700确定,其中,归一化平均中值MV 值是0. 9),那么,最后的调整大小比例值将是0. 8*0. 6 = 0. 48 (大约原始分辨率的像素区域的一半)。另一方面,在640,如果平均中值MV值不大于运动阈值,那么,不应用运动调整大小的比例值,而应用纹理缩放因子,而无需对运动复杂性的补偿。可另选地,可以以其他方式来计算最后的调整大小比例值。例如,可以通过取纹理缩放因子和运动调整大小比例值两者中的最小,来计算最后的调整大小比例值。在某些编码情况下,可能需要阻止过度缩放分辨率。在特定实现中,使用下限值来限制由运动复杂性计算所执行的缩放量。例如,可以限制运动调整大小比例值,或者也可以限制经调整大小的像素分辨率。可以对纹理缩放因子和/或运动调整大小比例值独立地应用最低值。另外,还可以应用最小最后的调整大小分辨率(例如,64像素的最小调整大小分辨率,水平地和/或垂直地)。返回到图5,MBR引擎可以决定均勻地(即,相同水平和垂直分辨率缩放)或非均勻地调整分辨率的大小。在特定实现中,使用GOP平均水平和垂直纹理测量值来控制在每一个方向上对视频分辨率调整多少大小。MBR引擎计算GOP水平和垂直纹理测量的比率。 一旦确定调整分辨率的大小(动作515和516),并且MBR引擎已计算出最后的调整大小比例值,则MBR引擎基于GOP水平和垂直纹理测量的比率来确定如何在垂直和水平方向上分布调整大小的量。具体而言,如果在水平和垂直纹理测量之间有大的差异或增量(即,比率是不统一),则MBR引擎如此分布该调整大小,以在较低的细节方向比在较高细节方向施加更多的调整大小。例如,当比率是2时,MBR引擎将在垂直方向上是比水平方向上调整大小的两倍。否则,如果GOP的水平和垂直纹理测量之间的增量是低的(比率接近统一),那么, MBR引擎在两个方向之间相等地调整分辨率的大小。然后,MBR引擎在动作517中使用量化步长和已编码的大小之间的关系 (GraphQpS)及分辨率和已编码的大小之间的关系(Graph RS)以及相应的视频流的目标比特率,来为特定目标比特率建立分辨率和量化步长之间的关系(图4的左上位置示出的GraphQpR)。在动作518中,MBR引擎使用在动作517中建立的关系(GraphQpR)来查找在动作 516中决定的建模的结果分辨率R'的量化步长(Qp')的建模的结果。MBR引擎决定以建模的结果量化步长和分辨率(R',Qp')来编码此视频流的此G0P。在特定实现中,使用最后的调整大小比例值来调整较低层的最后的调整大小比例值。具体而言,为顶层(最高比特率流)计算最后的调整大小比例值。然后,当为下一较低层(下一较低的比特率流)计算最后的调整大小比例值时,将它乘以顶层的最后的调整大小比例值,依次类推。例如,如果顶层GOP最后的调整大小比例值是0. 9,而下一较低层GOP 最后的调整大小比例值是0.8,那么,下一较低层GOP最后的调整大小比例值将被调整为 0. 9*0. 8 = 0. 72。然后,将0. 72值用作下一较低层的乘数,依次类推,直到计算出了最低层。 在一些实现中,为每一层计算纹理比例值,而只计算一次运动比例值,并用于所有层。可另选地,可以独立地为每一层计算最后的调整大小比例值。通过使用此动态分辨率方法,MBR编码系统能够给不太复杂的视频和/或较低的运动段(或G0P)指定较大的编码分辨率,这会维持更多的可视细节。另一方面,给比较复杂的和/或和/或较高的运动视频段(或G0P)指定降低可视伪像的较小的分辨率。此方法可以提供用于多比特率流传输的更好的可视体验。V.代表性的计算环境图9示出了其中可以实现所描述的实施例、技术,以及技术的合适的计算环境900 的一般化示例。操作环境900不旨在对技术的使用范围或功能提出任何限制,因为技术可以在各种通用或专用计算环境中实现。例如,所公开的技术可以使用包括处理单元、存储器,以及存储了实现此处所描述的视频编码技术的计算机可执行指令的存储的计算设备 (例如,计算机、手持式设备、移动设备、PDA等等)来实现。还可以利用其他计算机系统配置来实现所公开的技术,包括手持式设备、多处理器系统,基于微处理器的或可编程消费电子产品、网络PC、小型计算机、大型计算机,等等。所公开的技术也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。参考图9,计算环境900包括至少一个处理单元910和存储器920。对于上文所讨论的多核运动信息预计算,计算机包括具有多个CPU核的多核CPU。在图9中,此最基本配置930包括在虚线内。中央处理单元910执行计算机可执行指令,并可以是现实的或虚拟的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力,如此,多个处理器可以同时运行。存储器920可以是易失性存储器(例如,寄存器、高速缓存、RAM)、 非易失性存储器(例如,R0M、EEPR0M、闪存等等),或两者的某种组合。存储器920存储可以例如实现此处所描述的技术的软件980。计算环境可以具有附加特征。例如,计算环境 900包括存储器940、一个或多个输入设备950、一个或多个输出设备960,以及一个或多个通信连接970。诸如总线、控制器或网络之类的互连机制(未示出)将计算环境900的组件互连在一起。通常,操作系统软件(未示出)为在计算环境900中执行的其他软件提供操作环境,并协调计算环境900的各组件的活动。存储设备940可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、⑶-ROM、 CD-RW、DVD,或能用于存储信息且可以在计算环境900内被访问的任何其他介质。存储设备940存储可以实现此处所描述的技术的软件980的指令。输入设备950可以是诸如键盘、键区、鼠标、笔或轨迹球之类的触摸输入设备、语音输入设备、扫描设备、或向计算环境900提供输入的另一设备。对于音频,输入设备950 可以是声卡、接受模拟或数字形式的音频输入的类似的设备,或将音频采样读取到计算环境900中的⑶-ROM读取器。输出设备960可以是显示器、打印机、扬声器、⑶-写入器,或从计算环境900提供输出的另一设备。通信连接970允许通过通信介质(连接网络)与另一个计算实体进行通信。通信介质在已调数据信号中传送诸如计算机可执行指令、压缩图形信息之类的信息或其他数据。计算机可读介质是可以在计算环境900内被访问的任何可用介质。作为示例而非限制,对于计算环境900,计算机可读介质包括存储器920和/或存储940。如应该轻松地理解的,术语“计算机可读存储介质”包括诸如存储器920和存储940之类的数据存储的介质,而不是诸如已调制数据信号之类的传输介质。此处所描述的方法中的任何一个都可以通过包括(例如,具有或存储)用于执行 (例如,导致计算设备、音频和/或视频处理设备,或计算机执行)这样的方法的计算机可执行指令的一个或多个计算机可读介质(例如,存储器或其他有形的介质)来执行。操作可以是全自动的、半自动的,或涉及人工干预。已经在详细描述和各附图中描述和示出了本发明的原理,应认识到,在不偏离这些原理的情况下可以在安排和细节方面修改各实施例。应该理解,此处所描述的程序、进程或方法未涉及或仅限于任何特定类型的计算环境,除非另外特别声明。根据此处所描述的原理,可以使用各种类型的的通用或专门的计算环境,或执行操作。可以以硬件实现以软件示出的实施例的元件,反之亦然。鉴于可以应用本发明的原理的许多可能的实施例,作为本发明我们声明所有这样的实施例都在下面的权利要求书以及又等效内容的范围和精神内。
权利要求
1.一种使用计算设备来处理用于多比特率视频流传输的分段的压缩视频流的基于运动的动态分辨率编码的输入视频的方法,所述计算设备包括处理单元和存储器,所述方法包括利用所述计算设备对一个或多个段中的输入视频内容进行编码,每一个段都包括一组或多组图像,其中, 所述编码包括对于所述一组或多组图像中的一组图像,获取对于变化的分辨率和量化步长的至少三个编码样本(510);为所述图像组,建立与分辨率、量化步长以及所产生的编码大小有关的模型(511); 为所述图像组,计算平均中值运动矢量值(610);至少部分地基于所述平均中值运动矢量值、运动阈值以及所述模型,决定视频分辨率 (516)和量化步长(518);以及利用所述已决定的视频分辨率和量化步长,对所述图像组进行编码(500)。
2.如权利要求1所述的方法,其特征在于,还包括 对于所述图像组中的每一个P图像从所述P图像的所述运动矢量中,计算运动矢量幅度的中值; 其中,所述平均中值运动矢量值是所述图像组中的所述P图像中的每一个的所述中值的平均值。
3.如权利要求1所述的方法,其特征在于,所述决定所述视频分辨率和量化步长包括 将所述平均中值运动矢量值与所述运动阈值进行比较;当所述平均中值运动矢量值超出所述运动阈值时,确定用于对所述图像组的分辨率进行调整大小的运动调整大小比例值;以及在决定所述视频分辨率和量化步长时,使用所述运动调整大小比例值。
4.如权利要求3所述的方法,其特征在于,使用分段式线性运动调整大小比例映射函数来确定所述运动调整大小比例值。
5.如权利要求1所述的方法,其特征在于,所述决定所述视频分辨率和量化步长包括 将所述平均中值运动矢量值与所述运动阈值进行比较;如果所述比较指示所述平均中值运动矢量值大于所述运动阈值,则基于运动复杂性来决定降低所述图像组的分辨率;以及否则,基于所述运动复杂性来决定不降低所述图像组的分辨率。
6.如权利要求1所述的方法,其特征在于,所述决定所述视频分辨率和量化步长进一步基于对所述图像组执行的纹理测量。
7.如权利要求1所述的方法,其特征在于,还包括 对所述图像组执行纹理测量;基于所述纹理测量确定用于对分辨率进行调整大小的量化阈值;确定产生对应于所述图像组的期望的比特率的已编码的大小的量化步长;将所述已确定的量化步长与用于对分辨率进行调整大小的所述量化阈值进行比较;以及如果所述比较指示调整分辨率的大小,则计算所述图像组的纹理缩放因子,其中,所述决定视频分辨率和量化步长进一步基于所述纹理缩放因子。
8.如权利要求7所述的方法,其特征在于,还包括将所述平均中值运动矢量值与所述运动阈值进行比较;以及基于所述平均中值运动矢量值与所述运动阈值的比较,确定运动调整大小比例值;其中,所述确定所述视频分辨率包括将所述运动调整大小比例值乘以所述纹理缩放因子。
9.如权利要求1所述的方法,其特征在于,还包括 检测所述输入视频内容中的场景变化;以及其中,所述决定视频分辨率包括在图像组之间的场景变化边界处应用动态视频分辨率变化。
10.如权利要求1所述的方法,其特征在于,所述建立所述模型包括基于所述图像组的所述至少三个编码样本中的至少两个,建立量化步长与给定的视频分辨率的已编码大小的关系的线性模型,其中,所述已编码的大小是以给定视频分辨率和变化的量化步长来采样的。
11.一种存储了用于使所述计算设备被编程从而执行权利要求1-10中的任一权利要求所述的方法的计算机可执行指令的计算机可读存储介质。
12.一种用于对用于多比特率视频流传输的分段的压缩视频流的基于运动的动态分辨率编码的视频处理系统,所述系统包括用于存储要编码的原始视频内容的存储器(920);用于在包括图像组的段中使用可变比特率和基于运动的动态分辨率方法来将所述原始视频内容编码为多个压缩视频流的计算机处理装置(910),其中,所述由所述计算机处理装置进行的编码包括对于所述一组或多组图像中的一组图像,获取对于变化的分辨率和量化步长的至少三个编码样本(510);为所述图像组,建立与分辨率、量化步长以及所产生的编码大小有关的模型(511); 为所述图像组,计算平均中值运动矢量值(610);至少部分地基于所述平均中值运动矢量值、运动阈值以及所述模型,决定视频分辨率 (516)和量化步长(518);以及利用所述已确定的视频分辨率和量化步长,对所述图像组进行编码(500)。
13.如权利要求12所述的视频处理系统,其特征在于,还包括 对于所述图像组中的每一个P图像从所述P图像的所述运动矢量中,计算运动矢量幅度的中值; 其中,所述平均中值运动矢量值是所述图像组中的所述P图像中的每一个的所述中值的平均值。
14.如权利要求12所述的视频处理系统,其特征在于,所述决定所述视频分辨率和量化步长包括将所述平均中值运动矢量值与所述运动阈值进行比较;当所述平均中值运动矢量值超出所述运动阈值时,确定用于对所述图像组的分辨率进行调整大小的运动调整大小比例值;以及在决定所述视频分辨率和量化步长时,使用所述运动调整大小比例值。
15.如权利要求12所述的视频处理系统,其特征在于,所述确定所述视频分辨率和量化步长包括将所述平均中值运动矢量值与所述运动阈值进行比较;如果所述比较指示所述平均中值运动矢量值大于所述运动阈值,则基于运动复杂性来决定降低所述图像组的分辨率;以及否则,基于所述运动复杂性来决定不降低所述图像组的分辨率。
全文摘要
一种视频编码系统使用准许已编码的分辨率至少部分地基于运动复杂性而变化的方法来编码用于多比特率视频流传输的视频流。视频编码系统动态地决定多比特率视频流的段的编码分辨率,该编码分辨率随着视频复杂性变化而变化,以便实现用于多比特率流传输的更好的可视体验。在作出分辨率决定时,可以与空间复杂性分开地或与空间复杂性一起考虑运动复杂性。
文档编号H04N7/50GK102461169SQ201080026388
公开日2012年5月16日 申请日期2010年6月9日 优先权日2009年6月12日
发明者F·福尔塔, K·W·霍, S·斯皮尔斯, 何亚明, 詹钧维, 陈淳中, 顾创 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1