为了自适应位速率流化而利用自适应量化编码多个视频流的系统和方法_2

文档序号:9602850阅读:来源:国知局
流的子集中的每个流。
[0031 ] 再次在还有另一附加实施例中,附加编码信息包括速率变形信息和量化参数。
[0032]再次在还有另一附加实施例中,像素块是编码树单元。
[0033]再次在还有另一附加实施例中,像素块是编码单元。
[0034]在另一实施例中,像素块是变换单元。
[0035]在还有另一实施例中,用于像素块的量化参数是利用用于像素块的复杂性测量生成的。
[0036]在还有另一实施例中,用于像素块的量化参数是利用之前生成的量化参数生成的。
[0037]再次在还有另一附加实施例中,用于像素块的量化参数是利用变形速率和位速率生成的。
【附图说明】
[0038]图1是根据本发明实施例的自适应流化系统的系统图。
[0039]图2概念性地示出了被配置为编码视频数据的流以用在根据本发明实施例的自适应流化系统中的媒体服务器。
[0040]图3是示出根据本发明实施例、用于在编码视频流时重用块尺寸信息的过程的流程图。
[0041]图4是示出根据本发明实施例、用于在编码视频流时调整块类型决定的过程的流程图。
[0042]图5是示出根据本发明实施例、用于在编码视频流时重用运动向量的过程的流程图。
[0043]图6是示出根据本发明实施例、在视频数据的备选流的编码中用于共享统计数据和编码信息的过程的流程图。
[0044]图7是示出根据本发明实施例、用于为像素块生成复杂性测量的过程的流程图。
[0045]图8是示出根据本发明实施例、用于为像素块生成量化参数的过程的流程图。
[0046]图9是示出根据本发明实施例、利用用于相似像素块的量化参数为像素块生成量化参数的过程的流程图。
[0047]图10A是示出CTU块的复杂性测量(complexity measure)的图表的图。
[0048]图10B是示出CTU块的复杂性测量和量化参数的图表的图。
【具体实施方式】
[0049]现在转向附图,示出了根据本发明实施例、用于为自适应位速率流化而编码多个视频流的系统和方法。根据本发明的实施例,编码器可以从媒体内容分析关于该内容的统计数据,确定用来编码内容的编码信息,并且以不同的分辨率和位速率将内容编码为多个视频流。虽然本发明在以下关于自适应流化系统和基于块的视频编码技术,诸如HEVC/H.265和H.265 AVC,进行描述,但是所述系统和方法同等地适用于其中不同的视频数据流基于网络客户端的连接质量和不是基于块的视频编码技术来选择的常规流化系统。
[0050]在自适应流化系统中,多媒体内容被编码为视频数据的一组备选流。因为视频数据的每个备选流是利用相同的源多媒体内容编码的,因此在视频数据的每个备选流的编码中确定相似的编码信息。编码信息可以包括,但不限于,帧复杂性测量、块尺寸的选择、块模式分布和运动估计结果。根据本发明许多实施例的系统和方法在视频数据的至少另一个备选流的编码中重用在视频数据的一个备选流的编码中确定的编码信息。根据本发明的实施例,通过在视频数据的几个备选流的编码中重用编码信息,可以在视频数据的所述备选流的编码中实现显著的改进并且可以实现特别显著的时间节约。
[0051]自适应流化系统被配置为经网络,诸如互联网,流化以不同的最大位速率和分辨率编码的多媒体内容。自适应流化系统流化最高质量多媒体内容,其可以基于当前流化条件被支持。多媒体内容通常包括视频和音频数据、子标题,以及其它相关元数据。为了提供独立于网络数据率的最高质量视频体验,自适应流化系统被配置为根据各种因素在视频数据的整个输送期间在可用的视频数据源之间切换,其中所述因素包括,但不限于,可用网络数据率和视频解码器性能。当流化条件恶化时,自适应流化系统通常尝试切换到以较低最大位速率编码的多媒体流。在可用网络数据率不能支持以最低最大位速率编码的流的流化时,重放常常被中断,一直到足量的内容可以被缓冲,以重启重放。可以在根据本发明实施例的自适应流化系统中使用的、用于在重放期间在视频流之间切换的系统和方法在于2011 年 8 月 30 日提交、授予 Braness 等人且标题为“Systems and Methods for AdaptiveBitrate Streaming of Media Stored in Matroska Container Files Using HypertextTransfer Protocol”的美国专利申请序列N0.13/221,682中描述,该申请的全部内容通过引用被结合于此。
[0052]为了创建用在自适应流化系统中的多个视频数据源,源编码器可以被配置为从包含在一条多媒体内容中的源视频编码视频数据的多个备选流。用于编码用在自适应流化系统中的源视频的系统和方法在于2011年8月30日提交、授予Braness等人且标题为“Systems and Methods for Encoding Source Media in Matroska Container Files forAdaptive Bitrate Streaming Using Hypertext Transfer Protocol,,的美国专利申请序列N0.13/221,794中描述,该申请的全部内容通过引用被结合于此。根据本发明的实施例,源编码器可以利用媒体源和/或媒体服务器来实现。
[0053]如上所述,基于相同源视频的视频数据的备选流包含相似的内容,因此,从源内容确定的统计数据和为视频数据的一个备选流确定的编码信息可以用在视频数据的一个或多个其它备选流的编码中。根据本发明的实施例,基于相同源视频的视频数据的一组备选流可以包含处于相同分辨率但不同位速率的视频数据。在本发明的许多实施例中,为视频数据的特定备选流的编码计算的运动估计结果可以在视频数据的其它备选流当中重用。如以下讨论的,在视频数据的备选流的编码过程中确定的各种统计数据和编码信息可以在视频数据的备选流当中重用。以下进一步讨论根据本发明实施例、用于在编码视频数据的备选流中共享统计数据和编码信息的系统和方法。
[0054]自适应流化系统体系架构
[0055]根据本发明实施例的自适应流化系统被配置为生成使得可用于流化到用户设备的多个视频流。在本发明的许多实施例中,自适应流化系统包括执行从源媒体编码多个视频流的源编码服务器。根据本发明实施例的自适应流化系统在图1中示出。所示出的自适应流化系统10包括被配置为将源媒体编码为多个备选流的源编码服务器12。源媒体可以存储在编码服务器12上或者从媒体源13检索。如以下进一步讨论的,源编码服务器12生成包含编码流的容器文件,其中至少多个编码流是编码视频的备选流。编码服务器进行收集关于处于每个输出分辨率的内容的统计数据的第一程和将内容编码成多个输出流的第二程,其中流可以具有各种分辨率和位速率。在一些实施例中,第一程在第二程开始之前完成。在其它实施例中,第二程可以在第一程完成之前开始。换句话说,用于第一和第二程的计算过程可以同时运行,其中帧在被(一个或多个)第二程过程处理之前被(一个或多个)第一程过程处理。这些文件被上载到内容服务器14,其可以是HTTP服务器。然后,各种重放设备18、20和22可以经由诸如互联网的网络16从内容服务器14请求编码流的部分。
[0056]虽然用于输送媒体内容流的具体自适应流化系统在上面关于图1进行了讨论,但是各种流化系统中任意一种都可以根据本发明的实施例被用来输送媒体内容流。
[0057]源编码器
[0058]在所说明的实施例中,自适应位速率流化系统包括能够将视频内容的源流化编码成具有不同分辨率和/或位速率的编码视频的备选流的一个或多个源编码器。在许多实施例中,源编码器可以利用能够编码多媒体流的任何设备实现,其中流以不同的分辨率、采样速率和/或最大位速率被编码。根据本发明实施例的自适应流化系统源编码器的基本体系架构在图2中示出。源编码器200包括与存储器230和网络接口 240通信的处理器210。在所说明的实施例中,易失性存储器230包括源编码应用250。处理器被源编码应用250配置为编码来自源视频数据260的多个视频数据流,其中源视频数据260也在易失性存储器中。源视频数据260可以已经在存储器中存在或者可以经由网络接口 240接收。
[0059]在多种实施例中,源编码器包括多个处理器并且编码过程可以在多个处理器当中分布。在许多实施例中,源编码应用250可以发起在一个或多个处理器上执行的多个过程,其中每个过程是编码一个或多个输出流的编码器控制器270。在更多实施例中,每个编码器控制器以相同的分辨率并以不同的位速率编码多个输出流。在几种实施例中,用于三个输出分辨率当中每一个的编码器控制器被发起,在一个或多个处理器上执行,其中输出分辨率是768x 432、1280x 720和1920x 1080。在一些实施例中,编码器控制器270以两个不同的位速率编码768x 432输出流,编码器控制器280以三个不同的位速率编码1280x 720输出流,并且编码器控制器290以三个不同的位速率编码1920x 1080输出流。编码器控制器270、280和290通常在它们执行时驻留在存储器230中。根据本发明的许多实施例,编码器控制器270、280和290在存储器中具有共享的数据缓冲区295,用于统计数据、编码信息和其它信息在控制器之间的数据交换。
[0060]虽然用于源编码器的具体体系架构在图2中示出,但是包括其中视频编码器250位于盘或某种其它形式的储存器上并在运行时加载到存储器30中的体系架构在内的各种体系架构当中任意一种都可以根据本发明的实施例被用来编码多媒体内容。根据本发明实施例、用于在编码视频数据的备选流时重用统计数据和编码信息的系统和方法在以下进一步讨论。
[0061]收集和使用统计数据和编码信息
[0062]在本发明的许多实施例中,在将内容编码成多个输出流之前为一条媒体内容确定统计数据和编码信息。如以下将更详细讨论的,统计数据和编码信息可以被保存并在编码过程之间共享,以加速关于如何编码内容的决定。在第一程中收集的统计数据可以包括(但不限于):平均量化参数、报头位的尺寸、纹理位的尺寸、帧内宏块/CTU的数量、帧间宏块/CTU的数量、跳过宏块/CTU的数量。编码信息可以包括(但不限于):帧复杂性测量、编码树单元(CTU)结构、模式分布和运动信息。以下讨论根据本发明实施例在视频的备选流的编码中编码信息的收集和使用。
[0063]帧复杂性测量
[0064]在编码源内容之前,帧复杂性测量可以被指定给内容的每一帧。帧复杂性测量代表帧中可视信息的复杂性等级并且由此代表将从编码那一帧导致输出内容流的数据的指示(即,按位)。包括本领域中已知算法的算法可以根据本发明的实施例被用来计算帧复杂性测量。这种算法可以考虑帧间(即,之间)和帧内(即,其中)测量,诸如像颜色和亮度的值与跨帧内像素或多帧中的对应像素的平均值的
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1