视频数据编码和被配置为执行视频数据编码的视频编码器的制作方法

文档序号:14881153发布日期:2018-07-07 09:46阅读:218来源:国知局

本申请要求于2016年12月28日在韩国知识产权局(kipo)递交的韩国专利申请no.10-2016-0180916的优先权,其全部内容通过引用合并于此。

示例实施例总体涉及视频处理,更具体地,涉及对视频数据进行编码以自适应地调整画面组(gop)的结构的方法、执行该方法的视频编码器以及包括视频编码器的电子系统。



背景技术:

iso/iec(国际标准化组织/国际电工委员会)下的mpeg(运动图像专家组)和itu-t(国际电信联盟电信)下的vceg(视频编码专家组)是视频编码/解码的领先标准。例如,已经建立和使用了视频编码/解码的各种国际标准,比如mpeg-1、mpeg-2、h.261、h.262(或mpeg-2第2部分)、h.263、mpeg-4、avc(高级视频编码)、hevc(高效视频编码)等。avc也称为h.264或mpeg-4第10部分,并且hevc也称为h.265或mpeg-h第2部分。根据对高分辨率和高质量视频(比如,高清(hd)视频、超高清(uhd)视频等)的需求日益增长,研究聚焦于用于实现提高的压缩性能的视频编码。



技术实现要素:

因此,提供本公开以基本消除由于相关技术的限制和缺点而引起的一个或多个问题。

本公开的至少一个示例实施例提供了一种对视频数据进行编码的方法,所述方法能够基于输入画面的特性来自适应地调整画面组(gop)的结构。

本公开的至少一个示例实施例提供了一种执行对视频数据进行编码的方法的视频编码器。

本公开的至少一个示例实施例提供了一种包括视频编码器的电子系统。

根据一些示例实施例,一种对视频数据进行编码的方法可以包括:接收多个输入画面,所述多个输入画面包括具有一个或多个输入画面的多个子组,每个子组的大小小于画面组(gop)的大小。所述方法可以包括:对于每个给定子组,通过根据单独的、独立的编码方案对给定子组中所包括的一个或多个输入画面进行多次编码来生成与给定子组相关联的多个候选编码组。所述方法可以包括:对于每个给定子组,通过将与给定子组相关联的多个候选编码组的编码成本和编码质量中的至少一个编码参数彼此进行比较,来将与给定子组相关联的多个候选编码组中的一个候选编码组选择为与给定子组相关联的多个编码画面。所述方法可以包括:基于所述选择来生成视频显示,所述视频显示包括分别与所述多个子组相关联的多个编码画面。

根据一些示例实施例,一种视频编码器可以包括存储指令程序的存储器和处理器。所述处理器可以被配置为执行所述指令程序以进行以下操作:接收多个输入画面;将所述多个输入画面输出为具有一个或多个输入画面的多个子组,每个子组的大小小于画面组(gop)的大小;对于每个给定子组,通过根据单独的、独立的编码方案对给定子组中所包括的一个或多个输入画面进行多次编码来生成与给定子组相关联的多个候选编码组;对于每个给定子组,将与给定子组相关联的多个候选编码组存储在缓存池中;对于每个给定子组,通过将与给定子组相关联的多个候选编码组的编码成本和编码质量中的至少一个编码参数彼此进行比较,来将与给定子组相关联的多个候选编码组中的一个候选编码组选择为与给定子组相关联的多个编码画面;以及基于所述选择来生成视频显示,所述视频显示包括分别与所述多个子组相关联的多个编码画面。

根据一些示例实施例,一种电子系统可以包括存储指令程序的存储器和处理器。所述处理器可以被配置为执行所述指令程序,以提供多个输入画面,并且对所述多个输入画面进行编码。所述编码可以包括:接收所述多个输入画面;将所述多个输入画面输出为具有一个或多个输入画面的多个子组,每个子组的大小小于画面组(gop)的大小;对于每个给定子组,通过根据单独的、独立的编码方案对给定子组中所包括的一个或多个输入画面进行多次编码来生成与给定子组相关联的多个候选编码组;将所述多个候选编码组存储在多个缓存器中;对于每个给定子组,通过将与给定子组相关联的多个候选编码组的编码成本和编码质量中的至少一个编码参数彼此进行比较,来将与给定子组相关联的多个候选编码组中的一个候选编码组选择为与给定子组相关联的多个编码画面;以及基于所述选择来生成视频显示,所述视频显示包括分别与所述多个子组相关联的多个编码画面。

根据一些示例实施例,一种电子设备可以包括存储指令程序的存储器和处理器。所述处理器可以被配置为执行所述指令程序以进行以下操作:接收多个输入画面,所述多个输入画面包括具有一个或多个画面的多个子组,每个子组的大小小于画面组(gop)的大小;对于每个给定子组,通过根据单独的、独立的编码方案对给定子组中所包括的一个或多个输入画面进行多次编码来生成与给定子组相关联的多个候选编码组;对于每个给定子组,通过将与给定子组相关联的多个候选编码组的编码成本和编码质量中的至少一个编码参数彼此进行比较,来将与给定子组相关联的多个候选编码组中的一个候选编码组选择为与给定子组相关联的多个编码画面;以及基于所述选择来生成视频显示,所述视频显示包括分别与所述多个子组相关联的多个编码画面。

在根据一些示例实施例的对视频数据进行编码的方法和视频编码器中,可以选择通过对每个子组进行多次编码而生成的多个候选编码组中的一个(例如,最优的一个、最佳的一个、最适当的一个...)。换句话说,gop的结构可以不是固定的,而可以是变化的。可以自适应地选择当前画面的最优编码画面和最优画面类型,由此可以提高编码效率和性能。此外,根据一些示例实施例的对视频数据进行编码的方法可以有效地适用于画面的特性急剧地或激烈地改变的示例(例如,在场景改变的情况下)。

附图说明

根据结合附图的以下详细描述,将更清楚地理解说明性的非限制性示例实施例。

图1是示出了根据一些示例实施例的对视频数据进行编码的方法的流程图。

图2是示出了根据一些示例实施例的视频编码器的框图。

图3是示出了根据一些示例实施例的具有规则结构的gop的示例的图。

图4是示出了根据一些示例实施例的对视频数据进行编码的方法的流程图。

图5是示出了图4中的生成第一子组的候选编码组的示例的流程图。

图6是示出了图4中的选择第一子组的编码画面的示例的流程图。

图7是用于描述图4的对视频数据进行编码的方法的图。

图8是用于描述根据一些示例实施例的对视频数据进行编码的方法的图。

图9是示出了图4中的选择第一子组的编码画面的另一示例的流程图。

图10a、图10b和图10c是用于描述图4的对视频数据进行编码的方法的图。

图11是用于描述图4的对视频数据进行编码的方法的图。

图12是示出了图4中的生成第一子组的候选编码组的另一示例的流程图。

图13和图14是用于描述图4的对视频数据进行编码的方法的图。

图15是示出了根据一些示例实施例的视频编码器中所包括的编码模块的示例的框图。

图16是示出了根据一些示例实施例的视频解码器的框图。

图17是示出了根据一些示例实施例的视频编码和解码系统的框图。

图18是示出了根据一些示例实施例的电子系统的框图。

具体实施方式

将参考附图更全面地描述各种示例实施例,附图中示出了实施例。然而,本公开可以以许多不同的形式来体现,并且不应被解释为受限于本文所阐述的实施例。在本申请中,类似的附图标记表示类似的元件。

图1是示出了根据一些示例实施例的对视频数据进行编码的方法的流程图。图1中所示的方法可以全部或部分地由如本文中所述的一个或多个视频编码器、电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。

在一些示例实施例中,包括图1中所示的示例实施例,视频数据包括多个画面,并且该多个画面是基于画面组(gop)和子组而被编码的。如将参考图3所描述的那样,通过将多个画面中的单独的画面集合分别指定为一个或多个帧内画面和一个或多个帧间画面来确定gop,其中每个帧内画面是在不参考多个输入画面中的任何其他(“单独”)画面的情况下进行编码的(例如,独立于其他输入画面进行编码),并且每个帧间画面是参考多个输入画面中的一个或多个其他(“单独”)画面进行编码的(例如,依赖于一个或多个其他输入画面进行编码)。

参考图1,在根据一些示例实施例的对视频数据进行编码的方法中,以多个子组为单位来提供和/或接收至少部分地包括视频数据的实例的多个输入画面(例如,多个输入画面包括多个子组,并且每个子组包括一个或多个输入画面)(步骤s100)。每个子组的大小(例如,每个子组中的输入画面的数量)小于gop的大小(例如,gop中的输入画面的数量)。gop的大小可以表示单个gop中所包括的画面的数目(“数量”),并且每个子组的大小可以表示单个子组中所包括的画面的数目。例如,单个子组可以包括多于两个的画面。将参考图3和图7来描述gop和子组的配置。

可以根据诸如mpeg-2、h.261、h.262、h.263、mpeg-4、h.264、hevc等标准以画面为单位对视频数据进行编码。例如,每个画面可以与逐行扫描形式的帧或隔行扫描形式的场相对应。

基于以独立且不同的方案(例如,单独的、独立的编码方案)对每个子组中所包括的一个或多个输入画面进行多次编码来生成每个子组的多个候选编码组(步骤s200)。重申,对于每个给定的子组,可以基于根据单独的、独立的编码方案对给定子组中所包括的一个或多个输入画面进行多次编码来生成与给定子组相关联的多个候选编码组。例如,可以以独立且不同的方案(“编码方案”)对单个子组进行多于两次地编码,然后,可以生成单个子组的多于两个的候选编码组(与每个子组相关联的候选编码组)。可以以子组为单位依次地执行多个(例如,多于两个)编码操作。在单个子组(“与单个子组相关联”)的多个(例如,多于两个)候选编码组中,一个候选编码组中所包括的候选编码画面的画面类型和画面顺序(例如,布置顺序)可以与另一候选编码组中所包括的候选编码画面的画面类型和画面顺序不同。

对于每个给定的子组,可以基于将与给定子组相关联的多个候选编码组的编码成本和编码质量中的至少一个编码参数彼此进行比较,来将与给定子组相关联的多个候选编码组中的一个候选编码组选择为与给定子组中所包括的输入画面相关联的一个或多个编码画面的集合。因此,可以以子组为单位依次地选择和输出与多个输入画面相对应的多个编码画面(例如,可以针对单独的各个子组来选择单独的多个编码画面)。重申,对于每个给定的子组,可以基于将与给定子组相关联的多个候选编码组的编码成本和编码质量中的至少一个编码参数彼此进行比较,来将与给定子组相关联的多个候选编码组中的一个候选编码组选择为与给定子组相关联的多个编码画面。

可以执行上述生成和选择(s200和s300)以生成编码视频数据,该编码视频数据包括所选择的分别与多个子组相关联的多个编码画面。在一些示例实施例中,至少基于所述选择来生成视频显示,使得视频显示(本文中也简称为“视频”)包括分别与多个子组相关联的多个编码画面(s400)。视频显示可以是编码画面的序列,包括分别与多个子组相关联的多个编码画面。生成视频显示可以包括:在显示接口(“输入/输出(i/o)设备”)中显示编码画面的序列和/或(例如,经由视频流)向远程设备发送编码画面的序列,使得编码画面的序列显示在远程设备的显示接口中。

在根据一些示例实施例的对视频数据进行编码的方法中,可以选择通过对每个子组进行多次编码而生成的多个候选编码组中的一个(例如,最优的一个、最佳的一个、最适当的一个...)。换句话说,在根据一些示例实施例的对视频数据进行编码的方法中,gop的结构可以不是固定的,而可以是可变的。可以自适应地选择当前画面的最优编码画面和最优画面类型,由此可以提高编码效率和性能。结果,被配置为至少执行对视频数据的编码的视频编码器、电子系统和/或电子设备的操作性能可以提高。此外,根据一些示例实施例的对视频数据进行编码的方法可以有效地适用于画面的特性急剧地或激烈地改变的示例(例如,在场景改变的情况下)。结果,被配置为至少执行对视频数据的编码的视频编码器、电子系统和/或电子设备可以被配置为在这样的情况下提高视频编码性能和效率。由此,可以提高基于视频数据的编码的视频显示的生成。

图2是示出了根据一些示例实施例的视频编码器的框图。图2中所示的视频编码器可以全部地或部分地由如本文中所述的一个或多个电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。例如,图2中所示的视频编码器可以全部或部分地由图18的电子系统1000的处理器1030来实现,处理器1030执行存储在电子系统1000的存储设备1050(例如,存储器)上的指令程序。

参考图2,视频编码器10包括输入缓存器100、编码模块200、控制模块400和缓存池500。视频编码器10还可以包括上下文缓存器300和输出缓存器600。

输入缓存器100接收多个输入画面inp,并且以子组为单位输出多个输入画面inp。每个子组的大小小于gop的大小。例如,单个gop可以包括多个输入画面inp中的n个输入画面,其中n是自然数。多个子组sg中的每一个可以包括m个输入画面,其中m是等于或大于2且小于n的自然数。

编码模块200通过以独立且不同的方案对每个子组中所包括的m个输入画面进行多次编码,来为多个子组sg中的每一个生成多个候选编码组cg。例如,就每个子组而言,每个候选编码组可以包括m个候选编码画面。将参考图15描述编码模块200的详细配置。

在一些示例实施例中,每个候选编码组中所包括的m个候选编码画面中的每一个可以是帧间画面。换句话说,可以仅应用或采用根据一些示例实施例的方法和视频编码器来对帧间画面进行编码。可以不对帧内画面进行多次编码,而是可以仅对其编码一次。这里,不参考其他画面而被编码(例如,被编码和/或解码)的帧内画面可以被称作i画面和/或idr(瞬时解码刷新)画面,并且参考其他画面而被编码的帧间画面可以被称作p画面(预测画面)和/或b画面(双向预测画面)。可以参考相对于p画面而言的之前画面来对p画面进行编码,并且可以参考相对于b画面而言的之前画面和在后画面两者来对b画面进行编码。

在一些示例实施例中,编码模块200可以基于上下文值ctx来执行编码操作。例如,上下文值ctx可以是表示视频编码器10的当前状态的上下文和/或要被编码的当前画面或当前子组的上下文。

上下文缓存器300可以存储上下文值ctx。在对当前画面或当前子组执行单个编码操作之后,可以改变或更新上下文值ctx。因此,如果要对相同(“共同”)画面或子组(例如,当前画面或当前子组)执行多次编码操作,则应当在执行第一编码操作之前将上下文值ctx存储在上下文缓存器300中。编码模块200可以基于上下文值ctx来对当前画面或当前子组执行第一编码操作,并且可以基于从上下文缓存器300加载的上下文值ctx来对当前画面或当前子组执行第二编码操作和在第二编码操作之后的编码操作。

控制模块400通过将每个子组的多个候选编码组cg的编码成本cs和编码质量qs中的至少一个编码参数彼此进行比较,来将多个子组sg中的每一个的多个候选编码组cg之一选择为每个子组中所包括的m个输入画面的m个编码画面。

控制模块400可以包括成本/质量计算器(c/qcal)410、成本/质量比较器(c/qcomp)420和成本/质量策略确定器(c/qpol)430。

成本/质量计算器410可以生成多个候选编码组cg的编码成本cs和编码质量qs。例如,成本/质量计算器410可以为每个候选编码组计算编码成本和编码质量。

在一些示例实施例中,编码成本可以表示每个候选编码组中所包括的m个候选编码画面的比特数(“数量”)。编码质量可以表示与每个候选编码组中所包括的m个候选编码画面相关联的峰值信噪比(psnr)和结构相似性指数(ssim)中的至少一个。在一些示例实施例中,编码成本和编码质量可以包括用于确定最优编码画面的各种准则中的至少一个。

成本/质量策略确定器430可以设置用于将多个候选编码组cg的编码成本cs和编码质量qs彼此进行比较的成本/质量策略,并且可以生成与成本/质量策略相对应的策略信号ps。

在一些示例实施例中,成本/质量策略可以是固定的。例如,成本/质量策略可以在制造视频编码器10时被确定,并且可以被存储在视频编码器10中。在一些示例实施例中,成本/质量策略可以是可变的。例如,成本/质量策略可以基于用户的控制(例如,基于用户设置信号)或基于当前画面(例如,基于分析当前画面的结果)而改变。

成本/质量比较器420可以基于成本/质量策略(例如,基于策略信号ps)通过以下操作来生成选择信号sel:将多个候选编码组cg的编码成本cs彼此进行比较,将多个候选编码组cg的编码质量qs彼此进行比较,或者将多个候选编码组cg的编码成本cs和编码质量qs两者彼此进行比较。选择信号sel可以用于将多个子组sg中的每一个的多个候选编码组cg之一选择为每个子组中所包括的m个输入画面的m个编码画面。

在一些示例实施例中,成本/质量比较器420可以将包括具有最小比特数的候选编码画面的候选编码组选择为编码子组。在一些示例实施例中,成本/质量比较器420可以将具有最高psnr或最大ssim的候选编码组选择为编码子组。在其他示例实施例中,成本/质量比较器420可以综合地评价每个候选编码组的比特数、psnr、ssim等,用以给每个候选编码组打分,并且可以将具有最高得分的候选编码组选择为编码子组。

缓存池500可以包括存储多个候选编码组cg的多个缓存器(buf1、...、bufi)510a、...、510i。缓存池500可以基于选择信号sel选择每个子组的多个候选编码组cg中的一个,并且可以输出所选择的编码组selg。

输出缓存器600可以从缓存池500接收输出,并且可以输出与多个输入画面inp相对应的多个编码画面enp。例如,如将参考图7所描述的,输出缓存器600可以输出每个子组的所选择的编码组中所包括的所有编码画面。对于另一示例,如将参考图10a、图10b和图10c所描述的,输出缓存器600可以基于每个子组的所选择的编码组中的第一编码画面的画面类型,来输出所选择的编码组中所包括的编码画面中的所有或一些。

在一些示例实施例中,如将参考图4所描述的,可以以子组为单位来执行编码模块200的编码操作、缓存池500的存储操作、控制模块400的总体操作(例如,计算、比较和选择)和输出缓存器600的输出操作。

图3是示出了根据一些示例实施例的具有规则结构的gop的示例的图。

参考图3,可以通过所指定的i画面的间隔来确定gop的大小,并且可以通过所指定的p画面和/或b画面的布置来确定gop的结构。可以通过p画面和/或b画面(即,参考其他画面被编码的帧间画面)的适当布置来减少编码数据的比特数。可以通过限制gop的大小,即,通过规则地或不规则地指定不参考其他画面而被编码的i画面,使得gop包括帧间画面的不规则布置,来限制和/或防止通过连续帧间画面的错误传播。

图3示出了通过规则地指定i画面而具有正常大小n的gop设置的示例。换句话说,gop的大小可以是固定的。被指定为i画面的第一画面至第n画面可以形成第一gopgop1,并且被指定为下一i画面的第(n+1)画面至第2n画面可以形成第二gopgop2。以相同的方式,从第(2n+1)画面起的n个画面形成第三gopgop3。

在图3中的第一示例情况1中,可以在单个gop中仅重复p画面。在图3中的第二示例情况2中,可以在单个gop中交替地重复b画面和p画面。如将参考图8所描述的,当如示例情况1和情况2那样规则地设置单个gop时(比如,当单个gop具有规则结构时),编码效率可能降低。

虽然图3中未示出,但是可以不同地确定具有规则结构的单个gop。例如,可以在单个gop中交替地重复两个b画面和一个p画面(例如,“b-b-p”结构),或者可以在单个gop中交替地重复一个b画面和两个p画面(例如,“b-p-p”结构或“p-b-p”结构)。对于另一示例,可以在单个gop中以各种模式中的一种来重复b画面和p画面。

此外,图3中的画面编号pn可以表示显示顺序,并且根据gop的结构,显示顺序可以与编码顺序基本上相同(例如,在制造公差和/或材料公差内相同)或者不同。例如,在第一示例情况1中,显示顺序可以与编码顺序基本上相同(例如,在制造公差和/或材料公差内相同)。在第二示例情况2中,显示顺序可以与编码顺序不同。在第二示例情况2中,第三画面(例如,p画面)必须在第二画面(例如,b画面)之前被编码,然后可以参考编码后的第三画面来对第二画面进行编码。

在下文中,将基于对单个gop执行编码操作的示例来描述示例实施例。

图4是示出了根据一些示例实施例的对视频数据进行编码的方法的流程图。图5是示出了图4中的生成第一子组的候选编码组的示例的流程图。图6是示出了图4中的选择第一子组的编码画面的示例的流程图。图7是用于描述图4的对视频数据进行编码的方法的图。图4至图7中所示的操作中的一个或多个可以全部或部分地由如本文中所述的一个或多个视频编码器、电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。

参考图2、图4和图7,在根据一些示例实施例的对视频数据进行编码的方法中,可以接收多个输入画面inp(步骤s110),并且可以以子组sg为单位输出多个输入画面inp(步骤s120)。例如,多个输入画面inp可以包括单个gop中所包括的n个输入画面t1、t2、t3、t4、t5、...、t(n-1)和tn,其中n是自然数。

步骤s110和s120可以包括在图1的步骤s100中,并且可以由输入缓存器100执行。从不同的角度来看,步骤s120可以被描述为以子组sg为单位加载多个输入画面inp的操作。

虽然图4中未示出,但是还可以在步骤s110和步骤s120之间包括输出输入画面t1的步骤和通过对输入画面t1进行编码来生成编码画面i1的步骤,其中该输入画面t1布置在gop的最前面并且被指定为帧内画面。

在步骤s120之后,可以通过对指定为帧间画面的输入画面t2至tn进行编码来以子组为单位依次地生成编码画面。

例如,可以独立地生成第一子组sg1的候选编码组cg1和cg2(步骤s210)。候选编码组cg1和cg2可以具有不同的画面顺序或不同的画面类型布置。此外,可以基于候选编码组cg1和cg2来选择第一子组sg1的最优编码画面p2和p31(步骤s310)。在图7的示例中,每个子组可以包括两个输入画面,然后可能的画面顺序的数目(例如,可能的候选编码组的类型的数目)可以是2。

参考图2、图4、图5和图7,在步骤s210中,可以在对第一子组sg1中所包括的输入画面t2和t3执行第一编码操作(例如,图7中的箭头①)之前,将表示当前状态的上下文值ctx存储在上下文缓存器300中(步骤s211a)。

可以通过基于上下文值ctx对第一子组sg1中所包括的输入画面t2和t3执行第一编码操作来生成第一候选编码组cg1(步骤s213a)。第一候选编码组cg1可以包括第一候选编码画面p2和第二候选编码画面p31,并且可以具有第一画面顺序。可以通过对输入画面t2进行编码来生成第一候选编码画面p2,并且可以通过对输入画面t3进行编码来生成第二候选编码画面p31。第一候选编码画面p2和第二候选编码画面p31可以具有相同的画面类型(“共同画面类型”)。例如,第一候选编码画面p2和第二候选编码画面p31可以是帧间画面,并且第一候选编码画面p2和第二候选编码画面p31中的每一个可以是p画面。换句话说,第一画面顺序可以与“p-p”结构相对应。

可以计算第一候选编码组cg1的第一编码成本和第一编码质量(步骤s215a)。例如,第一编码成本可以表示第一候选编码画面p2和第二候选编码画面p31中所包括的比特数。第一编码质量可以表示与第一候选编码画面p2和第二候选编码画面p31相关联的psnr和ssim中的至少一个参数。

在步骤s213a和s215a之后,可以在对第一子组sg1中所包括的输入画面t2和t3执行第二编码操作(例如,图7中的箭头②)之前,从上下文缓存器300加载上下文值ctx(步骤s211b)。

可以通过基于从上下文缓存器300加载的上下文值ctx对第一子组sg1中所包括的输入画面t2和t3执行第二编码操作来生成第二候选编码组cg2(步骤s213b)。第一编码操作和第二编码操作可以独立地执行,由此可以在没有第一编码操作的信息(例如,与第一编码操作相关联的统计信息)的情况下执行第二编码操作。第二候选编码组cg2可以包括第三候选编码画面b2和第四候选编码画面p32,并且可以具有与第一画面顺序不同的第二画面顺序。可以通过对输入画面t2进行编码来生成第三候选编码画面b2,并且可以通过对输入画面t3进行编码来生成第四候选编码画面p32。第三候选编码画面b2和第四候选编码画面p32可以具有不同的画面类型(例如,可以与不同的画面类型相关联)。例如,第三候选编码画面b2和第四候选编码画面p32可以是帧间画面,第三候选编码画面b2可以是b画面,并且第四候选编码画面p32可以是p画面。换句话说,第二画面顺序可以与“b-p”结构相对应。

可以计算第二候选编码组cg2的第二编码成本和第二编码质量(步骤s215b)。

步骤s211a和s211b可以由编码模块200和上下文缓存器300执行,步骤s213a和s213b可以由编码模块200执行,并且步骤s215a和s215b可以由成本/质量计算器410执行。

参考图2、图4、图6和图7,在步骤s310中,可以通过将第一候选编码组cg1的第一编码成本和第一编码质量中的至少一个与第二候选编码组cg2的第二编码成本和第二编码质量中的至少一个相比较,来确定第一候选编码组cg1和第二候选编码组cg2中的哪一个是较好的(步骤s311)。例如,可以基于参考图2所描述的各种准则中的至少一个来确定较好的或最佳的候选编码组。例如,可以确定具有较低成本(例如,较少的比特数)和较高质量(例如,较高的psnr或较高的ssim)的编码画面是较好的。

当确定第一候选编码组cg1优于或好于第二候选编码组cg2时(步骤s311:是),可以将第一候选编码组cg1中所包括的第一候选编码画面p2和第二候选编码画面p31选择为第一子组sg1中所包括的输入画面t2和t3的编码画面(步骤s313)。当确定第二候选编码组cg2优于或好于第一候选编码组cg1时(步骤s311:否),可以将第二候选编码组cg2中所包括的第三候选编码画面b2和第四候选编码画面p32选择为第一子组sg1中所包括的输入画面t2和t3的编码画面(步骤s315)。图7示出了其中将第一候选编码画面p2和p31选择为输入画面t2和t3的编码画面的示例。

虽然图6中未示出,但是可以从缓存池500中删除在步骤s313或步骤s315中未选择的候选编码组(例如,图7中的第二候选编码组cg2)。

可以将所选择的候选编码组cg1中所包括的所有候选编码画面p2和p31输出(“选择”)为第一子组sg1的编码画面(步骤s317)。换句话说,编码画面p2和p31可以被输出(“选择”)为对第一子组sg1的最优编码操作的结果。

步骤s311、s313和s315可以由成本/质量比较器420执行,并且步骤s317可以由缓存池500和输出缓存器600执行。

再次参考图2、图4和图7,与步骤s210和s310一样,可以独立地生成第一子组sg1之后的第二子组sg2的候选编码组cg3和cg4(步骤s220),并且可以基于候选编码组cg3和cg4来选择第二子组sg2的最优编码画面b4和p52(步骤s320)。以相同的方式,可以独立地生成第k子组sgk的候选编码组cg(2k-1)和cg2k(步骤s230),并且可以基于候选编码组cg(2k-1)和cg2k来选择第k子组sgk的最优编码画面b(n-1)和pn2(步骤s330),其中k是小于n的自然数。

步骤s220和s230可以分别与步骤s210基本上相同(例如,在制造公差和/或材料公差内相同),并且步骤s320和s330可以分别与步骤s310基本上相同(例如,在制造公差和/或材料公差内相同)。

例如,在步骤s220中,可以将上下文值ctx存储在上下文缓存器300中。可以通过基于上下文值ctx对第二子组sg2中所包括的输入画面t4和t5执行第三编码操作(例如,图7中的箭头③)来生成第三候选编码组cg3。第三候选编码组cg3可以包括第五候选编码画面p4和第六候选编码画面p51,并且可以具有第一画面顺序。可以计算第三候选编码组cg3的第三编码成本和第三编码质量。可以从上下文缓存器300加载上下文值ctx。可以在没有第三编码操作的信息的情况下,通过基于所加载的上下文值ctx对输入画面t4和t5执行第四编码操作(例如,图7中的箭头④)来生成第四候选编码组cg4。第四候选编码组cg4可以包括第七候选编码画面b4和第八候选编码画面p52,并且可以具有第二画面顺序。可以计算第四候选编码组cg4的第四编码成本和第四编码质量。

在步骤s320中,可以通过将第三候选编码组cg3的第三编码成本和第三编码质量中的至少一个与第四候选编码组cg4的第四编码成本和第四编码质量中的至少一个相比较,来确定第三候选编码组cg3和第四候选编码组cg4中的哪一个是较好的,然后可以选择较好或最佳的候选编码组。可以将第四候选编码组cg4中所包括的第七候选编码画面b4和第八候选编码画面p52选择为第二子组sg2中所包括的输入画面t4和t5的编码画面,并且可以将所选择的候选编码组cg4中所包括的所有候选编码画面b4和p52输出为第二子组sg2的编码画面。

在步骤s230中,可以将上下文值ctx存储在上下文缓存器300中。可以通过基于上下文值ctx对第k子组sgk中所包括的输入画面t(n-1)和tn执行编码操作(例如,图7中的箭头⑤)来生成候选编码组cg(2k-1)。候选编码组cg(2k-1)可以包括候选编码画面p(n-1)和pn1,并且可以具有第一画面顺序。可以计算候选编码组cg(2k-1)的编码成本和编码质量。可以从上下文缓存器300加载上下文值ctx。可以在没有编码操作⑤的信息的情况下,通过基于所加载的上下文值ctx对输入画面t(n-1)和tn执行编码操作(例如,图7中的箭头⑥)来生成候选编码组cg2k。候选编码组cg2k可以包括候选编码画面b(n-1)和pn2,并且可以具有第二画面顺序。可以计算候选编码组cg2k的编码成本和编码质量。

在步骤s330中,可以通过将候选编码组cg(2k-1)的编码成本和编码质量中的至少一个与候选编码组cg2k的编码成本和编码质量中的至少一个相比较,来确定候选编码组cg(2k-1)和cg2k中的哪一个是较好的,然后可以选择较好或最佳的候选编码组。可以将候选编码组cg2k中所包括的候选编码画面b(n-1)和pn2选择为第k子组sgk中所包括的输入画面t(n-1)和tn的编码画面,并且可以将所选择的候选编码组cg2k中所包括的所有候选编码画面b(n-1)和pn2输出为第k子组sgk的编码画面。

在一些示例实施例中,如图7中所示,如果单个gop包括n个输入画面和k个子组并且如果单个子组包括两个输入画面(例如,m=2),则n可以基本上等于(例如,在制造公差和/或材料公差内相同)2*k+1(例如,n=2*k+1)。

在图7的示例中,与第一画面顺序相对应的编码操作①、③和⑤可以被称作第一编码路径,并且与第二画面顺序相对应的编码操作②、④和⑥可以被称作第二编码路径。在根据一些示例实施例的方法和视频编码器中,关于第一编码路径的编码操作和关于第二编码路径的编码操作可以不以gop为单位交替地执行,而是可以以子组为单位交替地执行。换句话说,在根据一些示例实施例的方法和视频编码器中,编码顺序可以不是①、③、⑤、②、④和⑥的顺序,而可以是①、②、③、④、⑤和⑥的顺序。因此,可以以子组为单位依次地提供或输出最优编码画面i1、p2、p31、b4、p52、...、b(n-1)和pn2,可以提高编码效率和性能,并且可以将编码处理和响应有效地适用于实时情况。

与图3中的示例情况1和情况2不同,根据一些示例实施例被编码的gop可以具有不规则结构。换句话说,可以在根据一些示例实施例被编码的单个gop中不规则地布置编码画面p2至pn2(例如,帧间画面)。然而,虽然gop具有不规则结构,但是gop的大小可以是固定的。

虽然图7示出了根据一些示例实施例被编码的单个gop,但是,可以如图7的示例那样根据一些示例实施例来对多个gop中的每一个进行编码,由此这多个gop可以具有不同的结构。此外,候选编码画面和编码画面i1至pn2的布置可以表示显示顺序,并且根据候选编码组的结构,显示顺序可以与编码顺序基本上相同(例如,在制造公差和/或材料公差内相同)或者不同,如参考图3所述的那样。

图8是用于描述根据一些示例实施例的对视频数据进行编码的方法的图。图8中所示的操作中的一个或多个可以全部或部分地由如本文中所述的一个或多个视频编码器、电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。在图8中,情况1和情况2分别与图3中的情况1和情况2相对应,并且情况3可以表示根据一些示例实施例生成的编码画面。在图8中,横轴和纵轴分别表示时间t的流逝和比特数#。

参考图8,可以依次地提供输入画面t(x-2)、t(x-1)、tx和t(x+1),并且在第x输入画面tx中可能发生场景改变,其中x是自然数。

在将所有输入画面编码为p画面p(x-2)、p(x-1)、px和p(x+i)的第一示例情况1中,第x输入画面tx的第x编码画面px中所包括的比特数可急剧地或激烈地增加。在将输入画面交替地编码为p画面p(x-1)和p(x+i)和b画面b(x-2)和bx的第二示例情况2中,第x输入画面tx的第x编码画面bx中所包括的比特数可以小于第一示例情况1中的第x编码画面px中所包括的比特数,然而,另一编码画面(例如,第(x-2)编码画面b(x-2))中所包括的比特数可以大于第一示例情况1中的对应编码画面(例如,第(x-2)编码画面p(x-2))中所包括的比特数。

在根据一些示例实施例将输入画面编码为具有不规则结构的第三示例情况3中,可以实时地自适应地选择当前画面的最优画面类型,由此可以有效地生成最优编码画面p(x-2)、p(x-1)、bx和p(x+1)。

图9是示出了图4中的选择第一子组的编码画面的另一示例的流程图。图10a、图10b和图10c是用于描述图4的对视频数据进行编码的方法的图。图9至图10c中所示的操作中的一个或多个可以全部或部分地由如本文中所述的一个或多个视频编码器、电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。

参考图2、图4、图9和图10a,步骤s110、s120和s210可以与参考图4和图5描述的步骤s110、s120和s210基本上相同(例如,在制造公差和/或材料公差内相同)。

在步骤s310中,图9中的步骤s311、s313和s315可以分别与图6中的步骤s311、s313和s315基本上相同(例如,在制造公差和/或材料公差内相同)。

可以基于布置在所选择的候选编码组cg1的最前面的编码画面p2的画面类型,将所选择的候选编码组cg1中所包括的候选编码画面p2和p31中的所有或一些输出为第一子组sg1的编码画面(步骤s318)。例如,如图10a所示,当布置在所选择的候选编码组cg1的最前面的编码画面p2是p画面时,可以仅将编码画面p2输出为第一子组sg1的编码画面。对于另一示例,如将参考图10b所描述的,当布置在所选择的候选编码组cg4’的最前面的编码画面b3是b画面时,可以将所有编码画面b3和p42输出为第二子组sg2’的编码画面。

与图6中的步骤s317一样,步骤s318可以由缓存池500和输出缓存器600执行。

参考图2、图4和图10b,与步骤s210和s310一样,可以独立地生成第一子组sg1之后的第二子组sg2’的候选编码组cg3’和cg4’(步骤s220),并且可以基于候选编码组cg3’和cg4’来选择第二子组sg2’的最优编码画面b3和p42(步骤s320)。根据对之前子组(例如,第一子组sg1)编码的结果,两个邻近的子组(例如,第一子组sg1和第二子组sg2’)可以共同包括至少一个输入画面(例如,输入画面t3)。

例如,当作为对第一子组sg1编码的结果仅输出输入画面t2的编码画面p2时,可以将第二子组sg2’设置为包括输入画面p2之后的两个输入画面t3和t4。换句话说,图10b中的第二子组sg2’的大小可以与图7中的第二子组sg2的大小基本上相同(例如,在制造公差和/或材料公差内相同),并且图10b中的第二子组sg2’的起始点可以与图7中的第二子组sg2的起始点不同。

可以通过依次地且独立地对第二子组sg2’中所包括的输入画面t3和t4执行编码操作(例如,图10b中的箭头③’和④’),来生成候选编码组cg3’和cg4′。候选编码组cg3’可以包括候选编码画面p33和p41,并且可以具有第一画面顺序。候选编码组cg4’可以包括候选编码画面b3和p42,并且可以具有第二画面顺序。例如,图10b中的候选编码画面p33可以与图10a中的候选编码画面p31基本上相同(例如,在制造公差和/或材料公差内相同),然后可以省略候选编码画面p33的生成。

可以通过计算和比较候选编码组cg3’和cg4’的编码成本和编码质量来选择较好或最佳的候选编码组(例如,候选编码组cg4’)。由于布置在所选择的候选编码组cg4’的最前面的编码画面b3是b画面,因此可以将所有编码画面b3和p42输出为第二子组sg2’的编码画面。

参考图10c,与步骤s210和s310一样,可以独立地生成第二子组sg2’之后的第三子组sg3’的候选编码组cg5’和cg6’,并且可以基于候选编码组cg5’和cg6’来选择第三子组sg3’的最优编码画面p5和p61。

当作为对第二子组sg2’编码的结果输出输入画面t3和t4的所有编码画面b3和p42时,可以将第三子组sg3’设置为包括输入画面t4之后的两个输入画面t5和t6。可以不存在第二子组sg2’和第三子组sg3’中共同包括的输入画面。

可以通过依次地且独立地对第三子组sg3’中所包括的输入画面t5和t6执行编码操作(例如,图10c中的箭头⑤’和⑥’),来生成候选编码组cg5’和cg6’。候选编码组cg5’可以包括候选编码画面p5和p61,并且可以具有第一画面顺序。候选编码组cg6’可以包括候选编码画面b5和p62,并且可以具有第二画面顺序。

可以通过计算和比较候选编码组cg5’和cg6’的编码成本和编码质量来选择较好或最佳的候选编码组(例如,候选编码组cg5’)。由于布置在所选择的候选编码组cg5’的最前面的编码画面p5是p画面,因此可以仅将编码画面p5输出为第三子组sg3’的编码画面。

与图7的示例不同,在图10a、图10b和图10c的示例中也可以自适应地改变每个子组的起始点,由此可以提高编码效率和性能。与图7的示例相比较,在图10a、图10b和图10c的示例中,单个gop中所包括的子组的数目可以增加。

图11是用于描述图4的对视频数据进行编码的方法的图。图11中所示的操作中的一个或多个可以全部或部分地由如本文中所述的一个或多个视频编码器、电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。

图11的示例可以与图7的示例类似,除了在图11的示例中单个子组包括三个输入画面。

参考图2、图4、图5和图11,步骤s110和s120可以与参考图4描述的步骤s110和s120基本上相同(例如,在制造公差和/或材料公差内相同)。

在步骤s210中,可以通过依次地且独立地对第一子组sga中所包括的输入画面t2、t3和t4执行编码操作(例如,图11中的箭头),来生成候选编码组cga和cgb(步骤s211a、s213a、s211b和s213b)。候选编码组cga可以包括候选编码画面p2a、p3a和p4a,并且可以具有“p-p-p”的画面顺序。候选编码组cgb可以包括候选编码画面b2a、b3a和p4b,并且可以具有“b-b-p”的画面顺序。可以计算候选编码组cga和cgb的编码成本和编码质量(步骤s215a和s215b)。

在步骤s310中,可以通过比较候选编码组cga和cgb的编码成本和编码质量来选择较好或最佳的候选编码组(例如,候选编码组cgb)。

在一些示例实施例中,可以将所选择的候选编码组cgb中所包括的所有候选编码画面b2a、b3a和p4b输出为第一子组sga的编码画面。在一些示例实施例中,可以基于布置在所选择的候选编码组cgb的最前面的编码画面b2a的画面类型,将所选择的候选编码组cgb中所包括的候选编码画面b2a、b3a和p4b中的所有或一些输出为第一子组sga的编码画面。

在一些示例实施例中,可以基于图7的示例来执行针对第一子组sga之后的每个子组的编码操作。在一些示例实施例中,可以基于图10a、图10b和图10c的示例来执行针对第一子组sga之后的每个子组的编码操作。

图12是示出了图4中的生成第一子组的候选编码组的另一示例的流程图。图13和图14是用于描述图4的对视频数据进行编码的方法的图。图12至图14中所示的操作中的一个或多个可以全部或部分地由如本文中所述的一个或多个视频编码器、电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。

参考图2、图4、图12和图13,步骤s110和s120可以与参考图4所描述的步骤s110和s120基本上相同(例如,在制造公差和/或材料公差内相同),并且步骤s211a、s213a、s215a、s211b、s213b和s215b可以与参考图5和图11所描述的步骤s211a、s213a、s215a、s211b、s213b和s215b基本上相同(例如,在制造公差和/或材料公差内相同)。

在步骤s215b之后,可以再次从上下文缓存器300加载上下文值ctx(步骤s211c)。可以通过基于所加载的上下文值ctx附加地对第一子组sga中所包括的输入画面t2、t3和t4执行编码操作(例如,图13中的箭头)来生成候选编码组cgc(步骤s213c)。可以在没有编码操作的信息的情况下执行编码操作候选编码组cgc可以包括候选编码画面b2b、p3b和p4c,并且可以具有与候选编码组cga和cgb的画面顺序不同的画面顺序“b-p-p”。可以计算候选编码组cgc的编码成本和编码质量(步骤s215c)。

在步骤s310中,可以通过比较候选编码组cga、cgb和cgc的编码成本和编码质量来选择较好或最佳的候选编码组(例如,候选编码组cgc)。

与图11的示例相比较,在图13的示例中还可以包括包含编码操作的第三编码路径。在根据一些示例实施例的方法和视频编码器中,可以以子组为单位交替地执行关于第一编码路径、第二编码路径和第三编码路径的编码操作,由此可以以子组为单位依次地提供或输出最优编码画面。

参考图2、图4和图14,步骤s110和s120可以与参考图4所描述的步骤s110和s120基本上相同(例如,在制造公差和/或材料公差内相同),并且步骤s211a、s213a、s215a、s211b、s213b、s215b、s211c、s213c和s215c可以与参考图12和图13所描述的步骤s211a、s213a、s215a、s211b、s213b、s215b、s211c、s213c和s215c基本上相同(例如,在制造公差和/或材料公差内相同)。

在步骤s215c之后,可以再次从上下文缓存器300加载上下文值ctx。可以通过基于所加载的上下文值ctx附加地对第一子组sga中所包括的输入画面t2、t3和t4执行编码操作(例如,图14中的箭头)来生成候选编码组cgd。可以在没有编码操作和e的信息的情况下执行编码操作候选编码组cgd可以包括候选编码画面p2b、b3b和p4d,并且可以具有与候选编码组cga、cgb和cgc的画面顺序不同的画面顺序“p-b-p”。可以计算候选编码组cgd的编码成本和编码质量。

在步骤s310中,可以通过比较候选编码组cga、cgb、cgc和cgd的编码成本和编码质量来选择较好或最佳的候选编码组(例如,候选编码组cgd)。

与图13的示例相比较,在图14的示例中还可以包括包含编码操作的第四编码路径。在根据一些示例实施例的方法和视频编码器中,可以以子组为单位交替地执行关于第一编码路径、第二编码路径、第三编码路径和第四编码路径的编码操作,由此可以以子组为单位依次地提供或输出最优编码画面。

在图13和图14的示例中,可以基于图7的示例或者基于图10a、图10b和图10c的示例来执行针对第一子组sga之后的每个子组的编码操作。

在图11、图13和图14的示例中,每个子组可以包括三个输入画面,然后可能的画面顺序的数目(例如,可能的候选编码组的类型的数目)可以大于3。根据一些示例实施例,单个子组中所包括的输入画面的数目和/或单个子组的可能的画面顺序的数目可以变化。

如本领域技术人员将理解的,本公开可以被实施为系统、方法、计算机程序产品和/或在具有实施在其上的计算机可读程序代码的一个或多个计算机可读介质中实施的计算机程序产品。可以将计算机可读程序代码提供至通用计算机、专用计算机或其他可编程数据处理装置的处理器。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是可以包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备相关的程序的任何有形介质。例如,计算机可读介质可以是非暂时性计算机可读介质。

图15是示出了根据一些示例实施例的视频编码器中所包括的编码模块的示例的框图。图15中所示的编码模块可以全部地或部分地由如本文中所述的一个或多个电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。例如,图15中所示的编码模块可以全部或部分地由图18的电子系统1000的处理器1030来实现,其中处理器1030执行存储在电子系统1000的存储设备1050(例如,存储器)上的指令程序。

参考图15,编码模块200可以包括模式判定块(md)210、压缩块220、熵编码器(ec)230、重构块240和存储块(stg)250。

模式判定块210可以基于当前画面ty和参考画面ref来生成预测画面pre,并且可以根据预测操作、预测操作的结果、语法元素、上下文值等来生成包括预测模式的编码信息inf。模式判定块210可以包括运动估计单元(me)212、运动补偿单元(mc)214和帧内预测单元(intp)216。运动估计单元212可以生成或获得运动向量。运动补偿单元214可以基于该运动向量来执行补偿操作。帧内预测单元216可以执行帧内预测。运动估计单元212和运动补偿单元214可以被称作执行帧间预测的帧间预测单元。

压缩块220可以对当前画面ty进行编码以生成编码数据ecd。压缩块220可以包括减法器222、变换单元(t)224和量化单元(q)226。减法器222可以从当前画面ty中减去预测画面pre以生成残差画面res。变换单元224和量化单元226可以对残差画面res进行变换和量化以生成编码数据ecd。

重构块240可以用于通过对编码数据ecd(例如,有损编码数据)进行反向解码来生成重构画面ty’。重构块240可以包括逆量化单元(q-1)242、逆变换单元(t-1)244和加法器246。逆量化单元242和逆变换单元244可以对编码数据ecd进行逆量化和逆变换以生成残差画面res’。加法器246可以将残差画面res’与预测画面pre相加以生成重构画面ty’。

熵编码器230可以对编码数据ecd和编码信息inf执行无损编码,以生成编码画面ey。重构画面ty’可以被存储到存储器250中,并且可以用作用于对其他画面进行编码的另一参考画面。

图16是示出了根据一些示例实施例的视频解码器的框图。图16中所示的视频解码器可以全部地或部分地由如本文中所述的一个或多个电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。例如,图16中所示的视频解码器可以全部或部分地由图18的电子系统1000的处理器1030来实现,其中处理器1030执行存储在电子系统1000的存储设备1050(例如,存储器)上的指令程序。

参考图16,视频解码器700可以包括熵解码器(ed)710、预测块720、重构块730和存储器740。视频解码器700可以通过对由视频编码器中所包括的编码模块(例如,图15的编码模块200)编码的画面进行反向解码来生成重构画面或解码画面。

熵解码器710可以对编码画面ey进行解码(例如,可以对编码画面ey执行无损解码),以生成编码数据ecd和编码信息inf。

预测块720可以基于参考画面ref和编码信息inf来生成预测画面pre’。预测块720可以包括运动补偿单元722和帧内预测单元724,其中运动补偿单元722和帧内预测单元724分别与图15中的运动补偿单元214和帧内预测单元216基本上相同(例如,在制造公差和/或材料公差内相同)。

重构块730可以包括逆量化单元732、逆变换单元734和加法器736。重构块730、逆量化单元732、逆变换单元734、加法器736和存储器740可以分别与图15中的重构块240、逆量化单元242、逆变换单元244、加法器246和存储器250基本上相同(例如,在制造公差和/或材料公差内相同)。重构画面ty’可以用作用于对其他画面进行编码的另一参考画面,或者可以被提供至显示设备(例如,图17中的显示设备826)。

在一些示例实施例中,可以将单个画面划分成多个画面块,并且图15的编码模块200和图16的视频解码器700可以以单个画面中所包括的画面块为单位来执行编码和解码操作。例如,每个画面块可以被称作h.264标准中的宏块。备选地,每个画面块可以被称作hevc标准中的编码单元(cu)、预测单元(pu)或变换单元(tu)。

图17是示出了根据一些示例实施例的视频编码和解码系统的框图。图17中所示的视频编码和解码系统可以全部地或部分地由如本文中所述的一个或多个电子系统和/或电子设备来实现,包括参考图18所示出和描述的电子系统和/或电子设备。例如,图17中所示的视频编码和解码系统可以全部或部分地由图18的电子系统1000的处理器1030来实现,其中处理器1030执行存储在电子系统1000的存储设备1050(例如,存储器)上的指令程序。

参考图17,视频编码和解码系统800可以包括第一设备810和第二设备820。第一设备810可以经由信道830与第二设备820进行通信。例如,信道830可以包括有线信道和/或无线信道。

可以分别将第一设备810和第二设备820称作源设备和目的设备。为了便于说明,在图17中省略了与视频编码和解码系统800的操作不相关的第一设备810和第二设备820的一些元件。

第一设备810可以包括视频源(src)812、视频编码器814和发送机(tr)816。视频源812可以提供视频数据。视频编码器814可以对视频数据进行编码。发送机816可以经由信道813向第二设备820发送编码后的视频数据。视频编码器814可以是根据一些示例实施例的视频编码器。第二设备820可以包括接收机(rc)822、视频解码器824和显示设备(disp)826。接收机822可以接收从第一设备810发送的编码后的视频数据。视频解码器824可以对编码后的视频数据进行解码。显示设备826可以基于解码后的视频数据来显示视频或图像。

在一些示例实施例中,根据一些示例实施例的视频编码器可以与视频解码器合并在相同集成电路和/或对应软件中,然后可以将合并后的设备称作视频编码器/解码器(编解码器)。

图18是示出了根据一些示例实施例的电子系统的框图。在一些示例实施例中,图18中所示的电子系统1000可以是电子设备。

参考图18,电子系统1000包括视频源1010和视频编解码器1020。电子系统1000还可以包括处理器1030、连接模块1040、存储设备1050、输入/输出(i/o)设备1060和电源1070。

视频源1010提供多个输入画面inp。例如,视频源1010可以包括视频拾取设备、存储器等。

视频编解码器1020包括根据一些示例实施例的视频编码器和视频解码器。视频编码器可以对多个输入画面inp进行编码。

处理器1030可以执行各种计算功能,比如特定计算和任务。连接模块1040可以与外部设备通信,并且可以包括发送机1042和/或接收机1044。存储设备1050可以作为用于由电子系统1000处理的数据的数据存储器或者作为工作存储器来操作。i/o设备1060可以包括至少一个输入设备(例如,键区、按钮、麦克风、触摸屏等)和/或至少一个输出设备(例如,扬声器、显示设备1062等)。电源1070可以向电子系统1000供电。处理器1030可以执行存储设备1050中所存储的一个或多个指令程序,以实现本文所示和所述的操作和/或设备中的一些或所有。

本公开可以应用于对视频数据进行编码的各种设备和/或系统。特别地,本发明构思的一些示例实施例可以应用于与诸如mpeg、h.261、h.262、h.263和h.264之类的标准兼容的视频编码器。在以下技术领域中可以采用本发明构思的一些示例性实施例:比如,catv(光网络、铜线等上的有线电视)、dbs(直播卫星视频服务)、dsl(数字用户线视频服务)、dttb(数字地面电视广播)、ism(交互式存储介质(光盘等))、mmm(多媒体邮件)、mspn(分组网络的多媒体服务)、rtc(实时会话服务(视频会议、视频电话等))、rvs(远程视频监控)、ssm(串行存储介质(数字vtr等))。

前述是对示例实施例的说明,且不应被解释为对其的限制。虽然已经描述了一些示例实施例,但是本领域技术人员将容易理解,在不实质上脱离本公开的新颖教义和优点的前提下,可以在示例实施例中进行多种修改。因此,所有这种修改旨在被包括在如权利要求中限定的本公开的范围内。因此,将理解到,前述是对各种示例实施例的说明,而不应被解释成限制为所公开的具体示例实施例,并且对所公开的示例实施例的修改以及其他示例实施例旨在被包括在所附权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1