视频编码和视频解码的制作方法

文档序号:30353350发布日期:2022-06-08 16:06阅读:103来源:国知局
视频编码和视频解码的制作方法

1.本公开涉及视频编解码器。更具体地,它涉及视频编解码器中的帧内预测。


背景技术:

2.帧内预测包括通过使用从同一帧内提取的参考样本在视频帧的样本块中执行预测。这样的预测可以通过不同的技术来获取,在传统的编解码器架构中被称为“模式”。
3.视频压缩标准目前正在由国际标准组织(iso)和国际电工委员会(iec)共同建立的运动图像专家组(mpeg)工作组的联合视频专家组(jvet)进行开发。该标准草案被称为通用视频编码(versatile video coding)(vvc)。在vvc的上下文中,样本的帧被细分成多个块,被称为编码单元(cu)。
4.在目前的vvc草案规范中,帧内预测可以使用各种不同的模式来执行。传统的帧内预测模式包括角度帧内预测或者通过诸如平面预测或者dc预测的公知技术执行的预测。角度预测模式可以通过多种不同模式中的一种来执行(这依赖于cu形状,其可以包括广角扩展)。除此之外,当对样本块进行帧内预测时,可以使用多种工具。交叉分量线性模型(cclm)可以用于从同一cu的重建亮度样本来预测色度样本。位置相关的帧内预测组合(pdpc)可用于将未滤波的边界参考样本与使用滤波样本获取的预测进行组合。帧内子分区(isp)对cu的较小子分区独立执行预测和变换。
5.进一步,在最新的vvc草案规范中,提议使用基于矩阵的帧内预测(mip)来预测亮度样本块。mip在于将参考样本乘以固定矩阵,以获取当前块的预测。这样的矩阵基于预先训练来获取,以确保可以获取有意义的预测。与使用不同的矩阵相对应,可以采用多种不同模式。这些矩阵的推导通过基于神经网络(nn)的方法的训练来产生,其中网络中的系数使用由不同分辨率下的不同内容的各种序列所形成的训练集来训练。
附图说明
6.图1是概括地图示出根据本文中描述的实施例的编码方法的示意图;
7.图2是图示出根据实施例的帧内预测所基于的数学运算的示意图;
8.图3是根据实施例的通信网络的示意图;
9.图4是图3的通信网络的发射器的示意图;
10.图5是图示出在图4的发射器上实现的编码器的示意图;
11.图6是在图5的编码器的预测模块处执行的预测过程的流程图;
12.图7是图3的通信网络的接收器的示意图;
13.图8是图示出在图6的接收器上实现的解码器的示意图;并且
14.图9是在图8的解码器的预测模块处执行的预测过程的流程图。
具体实施方式
15.本公开的方面可以与所附权利要求的主题相对应。
16.神经网络(nn)和其他复杂的基于学习的技术可以被视为黑盒,因为学习的模型通常难以解释。在本文公开的方面中,应用了一种方法,由此分析基于nn的帧内预测方法以确定对黑盒的操作的理解。该分析的目的是获取简化且清晰的方法,该方法可以实现与基于nn的方法相似的结果。
17.图1概念性地图示出可以根据本文中公开的实施例采取的方法。
18.具体地,可以通过操纵参考样本来获取预测。不同的“模式”可用于产生块的预测,其中每个模式使用不同的参数。
19.在本公开的一个方面,对给定模式的这样的操纵包括将两个分量相加,一个分量依赖于参考样本,而一个分量不依赖于参考样本。
20.样本式预测(m是参考样本的数量)可以表示为:
[0021][0022]
其中和在[-1,1]范围中,即:
[0023][0024]

[0025][0026]
因此,范围[0,1023]中的样本式预测可以表示为:
[0027][0028]
第二项可以认为是“偏置”项。在这种情况下,如果则“偏置”项主要依赖于β。否则,“偏置”项主要依赖于α。
[0029]
在以上表达式中,k表示各种可能模式当中的一组可能的参数,每个模式标识一组可能的参数。数值512仅仅是示例,它可以依赖于输入信号的比特深度。也可以使用其他值。
[0030]
以上是可用于预测预测块中的样本的函数的示例。通常,给定样本的预测可以获取为如下所示的两个分量的总和:
[0031]
p
(k)
=f(r,α
(k)
)+g(α
(k)
,β
(k)
)
[0032]
同样,在该表达式中,k表示各种可能模式中的一组可能的参数,每个模式标识一组可能的参数。以上表示了被计算为依赖于参考样本r的分量和不依赖于参考样本的分量之和的预测。
[0033]
图2将该数学运算图示出为数据过程。
[0034]
作为示例,每个样本的预测的依赖于参考样本的分量可以通过限定一组权重来获取。给定的权重与给定的参考样本相乘;然后将这些乘法的结果加在一起,以形成预测的依赖于参考样本的第一分量。
[0035]
作为示例,权重的特性可以由在预测块中的样本的位置来控制。作为示例,权重的和可以依赖于每个预测样本到参考样本的距离。作为示例,关于在预测块中的样本的位置
的信息可以用于导出权重。
[0036]
作为示例,每个样本的预测的不依赖于参考样本的分量可以依赖于各种参数。它可以依赖于用于计算预测的依赖于参考样本的第一分量的权重。它也可以依赖于独立于用于计算预测的依赖于参考样本的第一分量的权重的固定参数。它可以通过这两者的组合来获取。
[0037]
作为另一示例,每个样本的预测的不依赖于参考样本的分量可以基于用于预测块的当前模式来获取,或者它可以依赖于当前块的其它特性(诸如它的权重或者高度),和/或它可以依赖于先前解码的块的特性,诸如它们的预测模式或者它们的大小。
[0038]
作为另一示例,可以从查找表(lut)中提取固定参数,其中可以限定各种lut。索引可以在比特流中以信号传递,以引用lut中的特定项。作为另一示例,lut中的正确元素可以依赖于用于预测块的当前模式,或者它可以依赖于当前块的其它特性(诸如它的权重或者高度),和/或它可以依赖于先前解码的块的特性,诸如它们的预测模式或者它们的大小。
[0039]
作为另一示例,可以基于在解码期间发生的学习机制来获取每个样本的预测的不依赖于参考样本的分量。
[0040]
作为另一示例,可以基于从比特流中提取的参数来获取每个样本的预测的不依赖于参考样本的分量。作为示例,它可以依赖于用于计算预测的依赖于参考样本的第一分量的权重,其中这样的权重可以从比特流中提取。它还可以依赖于独立于用于计算预测的依赖于参考样本的第一分量的权重的固定参数,其中这样的固定参数可以从比特流中提取。它可以通过这两者的组合来获取。
[0041]
作为示例,权重或者固定参数可以基于在解码器处执行的推导过程来获取。可替换地,它们可以基于从比特流中提取的信息和基于在解码器处执行的推导过程来计算。
[0042]
作为另一示例,推导过程可以依赖于分析权重的总和。例如,在权重之和等于或者接近数值1的情况下,可以仅基于或者主要基于固定参数来获取每个样本的预测的不依赖于参考样本的分量;或者相反地,在权重之和不接近数值1的情况下,可以仅基于或者主要基于权重来获取每个样本的预测的不依赖于参考样本的分量。
[0043]
作为另一示例,每个样本的预测的不依赖于参考样本的分量可以通过从比特流中提取该分量的幅度来导出。作为另一示例,每个样本的预测的不依赖于参考样本的分量可以通过从比特流中提取其符号(即分量的值是否大于或者等于零)来导出。
[0044]
预测的两个分量(即依赖于参考样本的分量和不依赖于参考样本的分量)可以组合使用,或者可以专门依赖于预测的两个分量中的一个或另一个。这些分量中的每一个可以与其他帧内预测方法共同或者单独使用。例如,可以对块使用角度预测模式,并且然后可以将这样的预测的结果添加到不依赖于参考样本的预测的分量,以获取块的最终预测。
[0045]
这些技术中的任何一种的使用可以在比特流中作为一组新的不同模式以信号传递。该信号传递可以依赖于比特流中是否存在指示这些新模式的使用的标志。该信号传递可以依赖于先前解码的块是否使用了特定的帧内预测模式来构建当前块的最可能模式(mpm)的列表。
[0046]
本公开的其他方面可以由所附权利要求确定。
[0047]
现在将描述体现本公开的上述方面的通信网络的实现。
[0048]
如图3中所图示,布置包括示意性的视频通信网络10,其中发射器20和接收器30经
由通信信道40进行通信。在实践中,通信信道40可以包括卫星通信信道、电缆网络、基于地面的无线电广播网络、诸如用于向家庭和小型商业场所提供互联网服务的通过公共交换电话网络实现的通信信道、光纤通信系统或者任何上述的和任何其他可想到的通信介质的组合。
[0049]
此外,本公开还扩展到通过物理传输的存储介质的通信,在存储介质上存储有编码比特流的机器可读记录,用于传送到能够读取介质并从中获取比特流的合适配置的接收器。这方面的示例是提供数字多功能光盘(dvd)或者等同物。下文的描述集中于诸如通过电子或者电磁信号载体的信号传输,但是不应当被理解为排除前述涉及存储介质的方法。
[0050]
如图4中所示,发射器20在结构和功能上是计算机装置。它可以与通用计算机装置共享某些特征,但是在给定发射器20的特定功能的情况下,一些特征可以是针对特定实现的。读者将理解哪些特征可以是通用类型的,以及哪些特征可能需要特别配置以用于视频发射器。
[0051]
因此,发射器20包括被配置用于在处理图形和类似操作中的特定使用的图形处理单元(gpu)202。发射器20还包括一个或者多个其他处理器204,其通常被提供或者被配置用于诸如数学运算、音频处理、管理通信信道等的其他目的。
[0052]
输入接口206提供用于接收用户输入动作的装置。这样的用户输入动作可以例如由用户与特定输入单元的交互来引起,特定输入单元包括一个或多个控制按钮和/或开关、键盘、鼠标或者其他指点设备、能够接收语音并将其处理成控制命令的语音识别单元、被配置成接收和控制来自诸如平板电脑或者智能电话的另一设备的过程的信号处理器或者远程控制接收器。该列表将被理解为非穷举的,并且读者可以想到其他形式的输入,无论是用户发起的还是自动的。
[0053]
类似地,输出接口214可操作为提供用于向用户或者另一设备输出信号的装置。这样的输出可以包括用于驱动本地视频显示单元(vdu)或者任何其他设备的显示信号。
[0054]
通信接口208实现与一个或多个信号接收者的通信信道,无论是广播还是端到端的。在本实施例的上下文中,通信接口被配置成发射承载限定由发射器20编码的视频信号的比特流的信号。
[0055]
在编码器的操作中,处理器204,并且特别是为了本公开的权益,gpu 202可操作为执行计算机程序。在这样做时,采用了由大容量存储设备208提供的数据存储装置,大容量存储装置208被实现为提供大规模数据存储,尽管访问速度相对较慢,并且将在实践中存储计算机程序,并且在当前上下文中存储视频呈现数据,以准备执行编码过程。
[0056]
只读存储器(rom)210预先配置有被设计成提供发射器20的核心功能的可执行程序,并且随机存取存储器(ram)212被提供用于在执行计算机程序的过程中快速访问和存储数据和程序指令。
[0057]
现在将参考图5描述发射器20的功能。图5示出了由在发射器20上实现的编码器通过可执行指令对表示视频呈现的数据文件执行的处理流水线,该视频呈现包括用于顺序显示为图片序列的多个帧。
[0058]
数据文件还可以包括伴随视频呈现的音频回放信息,以及诸如电子节目指南信息、字幕或元数据的进一步的补充信息,以能够将呈现编成目录。数据文件的这些方面的处理与本公开无关。
[0059]
参考图5,图像序列中的当前图片或者帧被传递到划分模块230,其中它被划分成给定大小的矩形块以供编码器处理。该处理可以是顺序的或者并行的。该方法可以依赖于特定实现的处理能力。
[0060]
每个块然后被输入到预测模块232,预测模块232寻求丢弃序列中存在的时间和空间冗余,并使用先前编码的内容获取预测信号。能够计算这样的预测的信息被编码在比特流中。该信息应当足以实现计算,包括在接收器处对完成预测所需的其他信息进行推导的可能性。
[0061]
从原始信号中减去预测信号以获取残差信号。该残差信号然后被输入到变换模块234,变换模块234试图通过使用更合适的数据表示来进一步减少块内的空间冗余。读者将注意到,在一些实施例中,域变换可以是可选的阶段,并且可以完全省略。域变换或者其他的应用可以在比特流中以信号传递。
[0062]
然后,结果信号通常由量化模块236量化,并且最终将由系数和计算当前块的预测所需的信息形成的结果数据输入到熵编码模块238,熵编码模块238使用统计冗余,通过短二进制码以紧凑形式表示信号。再次,读者将注意到,在一些实施例中,熵编码可以是可选的特征,并且在某些情况下可以完全省略。熵编码的采用以及诸如熵编码(例如,霍夫曼编码)的模式和/或编码本的索引的能够解码的信息可以在比特流中以信号传递。
[0063]
通过发射器20的编码装置的重复动作,可以构造块信息元的比特流,用于根据具体情况传输到一个或者多个接收器。比特流还可以承载跨多个块信息元应用的信息元,并且因此,保持在独立于块信息元的比特流语法中。这样的信息元的示例包括配置选项、适用于帧序列的参数以及与视频呈现整体相关的参数。
[0064]
现在将参考图6更详细地描述预测模块232。可以理解,这仅仅是示例,并且也是可以想到在本公开和所附权利要求的范围内的其他方法。
[0065]
预测模块232被配置成对于从帧中划分出的给定块,确定是否要采用帧内预测,并且,如果是,则确定要使用多个预定帧内预测模式中的哪一个。预测模块然后应用所选择的帧内预测模式(如果适用的话),并且然后确定预测,基于该预测然后可以如前所描述生成残差。在比特流中以信号传递所采用的预测,用于由合适配置的解码器接收和解释。
[0066]
图6中图示出在预测模块232处执行的过程。
[0067]
图6图示出根据所描述的实施例的方法,用于参考指定的一组参考样本来确立将帧内预测模式的预定的选择中的哪一个用于视频数据帧的特定块。
[0068]
在步骤s1-2中,候选预测基于帧内预测模式的库来开发。这些帧内预测模式包括传统的帧内预测模式,诸如在早期的视频编码技术或者vvc规范的早期草案中存在的模式。库还包括被开发为用于帧内预测的nn(或者其他机器学习)方法的模型的一个或多个帧内预测模式。也就是说,基于训练数据,nn将辨别合适的帧内预测模式,并且然后可以如上所描述对这些模式进行建模。
[0069]
通常,这样的模式产生包括两个分量(即依赖于参考样本的分量和不依赖于参考样本的分量)的帧内预测,可以组合使用,或者可以专门依赖于预测的两个分量中的一个或另一个。
[0070]
然后,基于分值,诸如基于每种模式可实现的压缩率,在步骤s1-4中选择模式中的一种。对于所选择的模式,生成残差,该残差包括使得能够从残差和参考块的等效数据中重
建块的数据。
[0071]
一旦计算残差,在步骤s1-8中,它们在比特流上以信号传递。
[0072]
最后,如果需要,在比特流s1-10上以信号传递所选择的模式。注意,在某些情况下,模式选择可以是隐含的,并且不需要以信号传递。在现有视频编码标准和vvc标准草案的上下文中已经讨论了信号传递模式的各种方法,并且信号传递的精确方法不在本公开的范围内。
[0073]
在图7中图示出接收器的结构体系。它具有作为计算机实现的装置的元件。因此,接收器30包括被配置用于处理图形和类似操作中的特定使用的gpu 302。接收器30还包括一个或者多个其他处理器304,其通常被提供或者被配置用于诸如数学运算、音频处理、管理通信信道等的其他目的。
[0074]
如读者将认识到,接收器30可以以机顶盒、手持个人电子设备、个人计算机或者适用于视频呈现的回放的任何其他设备的形式来实现。
[0075]
输入界面306提供用于接收用户输入动作的装置。这样的用户输入动作可以例如由用户与特定输入单元的交互来引起,特定输入单元包括一个或多个控制按钮和/或开关、键盘、鼠标或者其他指点设备、能够接收语音并将其处理成控制命令的语音识别单元、被配置成接收和控制来自诸如平板电脑或者智能手机的另一设备的过程的信号处理器或者远程控制接收器。该列表将被理解为非穷举的,并且读者可以想到其他形式的输入,无论是用户发起的还是自动的。
[0076]
类似地,输出接口314可操作为提供用于向用户或者另一设备输出信号的装置。这样的输出可以包括用于驱动本地电视设备的合适格式的电视信号。
[0077]
通信接口308实现与一个或多个信号接收者的通信信道,无论是广播还是端到端的。在本实施例的上下文中,通信接口被配置成发射承载限定由接收器30编码的视频信号的比特流的信号。
[0078]
在接收器的操作中,处理器304,并且特别是为了本公开的权益,gpu 302可操作为执行计算机程序。在这样做时,采用了由大容量存储装置308提供的数据存储装置,大容量存储装置308被实现为提供大规模数据存储,尽管访问速度相对较慢,并且将在实践中存储计算机程序,并且在当前上下文中存储由接收过程的执行产生的视频呈现数据。
[0079]
rom 310预先配置有被设计成提供接收器30的核心功能的可执行程序,并且ram 312被提供用于在执行计算机程序的过程中快速访问和存储数据和程序指令。
[0080]
现在将参考图8描述接收器30的功能。图8示出了由在接收器20上实现的解码器通过可执行指令对在接收器30处接收的比特流执行的处理流水线,该比特流包括可以从中导出视频呈现的结构化信息,包括由发射器20的编码器功能编码的帧的重建。
[0081]
图8中所图示的解码过程旨在将在编码器处执行的过程进行逆转。读者将理解,这并不表示解码过程是编码过程的精确逆过程。
[0082]
接收的比特流包括一系列的编码信息元,每个元素与块相关。在熵解码模块330中解码块信息元,以获取系数块和计算当前块的预测所需的信息。系数块通常在去量化模块332中被去量化,并且通常由变换模块334逆变换到空域。
[0083]
如上所述,读者将认识到,如果在发射器处分别采用了熵编码、量化和变换,则仅需要在接收器处采用熵解码、去量化和逆变换。
[0084]
如前所述,预测信号由预测模块336从来自当前或者先前帧的先前解码的样本并使用从比特流解码的信息来生成。然后,在重建块338中,原始图像块的重建从所解码的残差信号和所计算的预测块中导出。预测模块336响应于比特流上的信息,以信号传递帧内预测的使用,并且如果这样的信息存在,则从比特流中读取信息,该信息使得解码器能够确定已经采用了哪种帧内预测模式,并且因此,确定在块信息样本的重建中应该采用哪种预测技术。
[0085]
通过解码功能对连续接收的块信息元的重复动作,图像块可以被重建为帧,然后这些帧可以被组合以产生用于回放的视频呈现。
[0086]
图9中图示出补充先前描述的编码器算法的示例性解码器算法。本质上,该过程在结构上是传统的,其中,在步骤s2-2中,从比特流中读取残差,并且在步骤s2-4中,从比特流中读取所采用的帧内预测模式。然后,在步骤s206中,基于以信号传递的帧内预测模式来重建块。
[0087]
该方法的独特之处在于可用的帧内预测模式的性质。也就是说,如同(或者,在一些实施例中,代替)传统的帧内预测模式,模式在由机器学习开发的模型的上下文中来限定。
[0088]
如前所述,接收器30的解码器功能从比特流中提取由发射器20的编码器装置所编码的一系列块信息元、限定块信息和附带的配置信息。
[0089]
通常,解码器利用来自先前预测的信息来构建当前块的预测。在这样做时,解码器可以将来自帧间预测(即来自先前帧)以及帧内预测(即来自同一帧中的另一块)的知识进行组合。本实施例涉及帧内预测的实现,具体地,涉及帧内预测模式被实现的特定情况。
[0090]
如读者将看到的,在解码器侧,本文描述的实施例可以在当前vvc草案规范中提出的布置以及提交的对其修改的提议之外简化解码过程。
[0091]
应当理解,本发明不限于上述实施例,并且可以进行各种修改和改进,而不脱离本文描述的概念。除了相互排斥的情况之外,任何特征可以单独使用或者与任何其他特征结合使用,而且本公开延伸到并包括本文描述的一个或者多个特征的所有组合和子组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1