用于视频编码的方法和装置与流程
- 国知局
- 2024-11-21 11:33:51
本公开内容总体上涉及视频编码,并且更具体地涉及一种视频编码的方法和装置。
背景技术:
1、本文中提供的背景技术描述的目的在于从总体上呈现本公开内容的背景。就此背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交时可不被另外限定为现有技术的描述的方面既没有明确地也没有隐含地承认为针对本公开内容的现有技术。
2、可以使用具有运动补偿的图片间预测来执行视频编码和解码。未压缩的数字视频可以包括一系列图片,每个图片具有例如1920×1080亮度样本和相关色度样本的空间维度。该一系列图片可以具有固定的或可变的图片速率(非正式地,也被称为帧速率),例如每秒60幅图片或60hz。未压缩的视频具有特定的比特率要求。例如,每样本8比特的1080p604:2:0视频(60hz帧速率下1920×1080亮度样本分辨率)要求接近1.5gbit/s的带宽。一小时这样的视频需要大于600gb的存储空间。
3、视频编码和视频解码的一个目的可以是通过压缩来降低输入视频信号的冗余度。压缩可以有助于降低上述带宽需求和/或存储空间需求,在一些情况下可以降低两个或更多个数量级。可以采用无损压缩、有损压缩及其组合。无损压缩是指可以根据被压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建的信号可能与原始信号不同,但是原始信号与重建的信号之间的失真足够小,使得重建的信号能够用于目标应用。在视频的情况下,广泛地采用有损压缩。可以被容许的失真量取决于应用;例如,与电视发行应用的用户相比,某些消费者流式传输应用的用户可能容许较高的失真。可实现的压缩比可以反映出:越高的可允许/可容许的失真可以产生越高的压缩比。
4、视频编码器和视频解码器可以利用来自例如包括运动补偿、变换、量化和熵编码的若干大类的技术。
5、视频编解码器技术可以包括被称为帧内编码的技术。在帧内编码中,在不参考来自先前重构的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当所有的样本块都以帧内模式编码时,该图片可以是帧内图片。帧内图片及其派生(例如,独立解码器刷新图片)可以用于重置解码器状态,并且因此可以用作已编码视频比特流和视频会话中的第一图片或用作静止图像。可以使帧内块的样本进行变换,并且可以在熵编码之前对变换系数进行量化。帧内预测可以是使预变换域中的样本值最小化的技术。在一些情况下,变换之后的dc值越小,并且ac系数越小,在给定量化步长下表示熵编码之后的块所需的比特就越少。
6、传统的帧内编码,例如从mpeg-2代编码技术中已知的帧内编码,不使用帧内预测。然而,一些较新的视频压缩技术包括从例如在空间上邻近并且在解码顺序上在前的数据块的编码和/或解码期间获得的元数据和/或周围样本数据来进行尝试的技术。这样的技术此后被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自正在重建的当前图片的参考数据,而不使用来自参考图片的参考数据。
7、可以存在许多不同形式的帧内预测。当可以在给定视频编码技术中使用多于一种的这样的技术时,可以在帧内预测模式下对使用的技术进行编码。在某些情况下,模式可以具有子模式和/或参数,并且这些子模式和/或参数可以被单独编码或被包括在模式码字中。针对给定模式、子模式和/或参数组合使用哪种码字可以对通过帧内预测的编码效率增益产生影响,并且因此可以对用于将码字转换成比特流的熵编码技术产生影响。
8、帧内预测的某些模式由h.264引入、在h.265中被细化,并且在诸如联合勘探模型(joint exploration model,jem)、通用视频编码(versatile video coding,vvc)、和基准集(benchmark set,bms)的较新编码技术中被进一步细化。可以使用属于已经可用的样本的邻近样本值来形成预测器块。根据方向将邻近样本的样本值复制到预测器块中。对使用的方向的参考可以被编码在比特流中或者其本身可以被预测。
9、随着视频编码技术的发展,可能的方向的数量也在增加。然而,在所有情况下,均会存在统计上比某些其他方向更不可能出现在视频内容中的某些方向。由于视频压缩的目标是减少冗余,所以在工作良好的视频编码技术中,那些较不可能的方向将比更可能的方向由更大的比特数来表示。
10、因此,本发明需要解决的问题是如何有效获取用于视频解码的最可能的预测方向,以减少因大量预测方向的存储而带来的资源浪费和减少对大范围的预测方向的冗余搜索。
技术实现思路
1、本公开内容的各方面提供用于视频编码/解码的方法和装置。
2、本公开内容的各方面提供了一种用户视频解码的方法,包括:基于所述当前块的编码模式和历史缓冲器来确定所述当前块中的当前样本单元的当前矢量信息,所述历史缓冲器被配置成至少存储先前以ibc模式解码的块和先前以所述串复制模式解码的串的矢量信息;以及基于所述当前矢量信息来重建所述当前样本单元。
3、本公开内容的各方面还提供了一种用户视频解码的方法,包括:对当前块的编码信息进行解码,所述编码信息指示以串复制模式对所述当前块进行编码;基于所述编码信息确定所述当前块中的当前串的串矢量(sv)和串长度,所述串长度是n3乘以l,n3和l是正整数,并且l大于1;以及基于所述当前串的sv和串长度来重建所述当前串。
4、在一些示例中,用于视频解码的装置包括处理电路。处理电路可以被配置成对当前图片的当前块的编码信息进行解码。编码信息可以指示当前块的编码模式是以下模式中的一个:帧内块复制(intra block copy,ibc)模式和串复制模式。处理电路可以被配置成基于当前块的编码模式和历史缓冲器来确定当前块中的当前样本单元的当前矢量信息。历史缓冲器可以被配置成至少存储先前以ibc模式解码的块和先前以串复制模式解码的串的矢量信息。处理电路可以被配置成基于当前矢量信息来重建当前样本单元。
5、在实施方式中,当前块的编码模式是ibc模式。当前样本单元是当前块。处理电路可以被配置成至少基于历史缓冲器中的矢量信息来确定当前块的bv预测器候选列表,并且基于bv预测器候选列表来确定当前矢量信息中的当前bv。
6、在实施方式中,当前块的编码模式是串复制模式。当前样本单元是当前块中的当前串。处理电路可以被配置成从历史缓冲器中的矢量信息中确定当前矢量信息中的当前sv。当前sv是用于当前串。
7、在实施方式中,处理电路可以被配置成:如果当前矢量信息与历史缓冲器中的一个或更多个矢量信息不同,则将当前矢量信息存储在历史缓冲器中。在示例中,处理电路被配置成当当前矢量信息中的当前矢量与历史缓冲器中的一个或更多个矢量信息的每个先前矢量之间的差大于预定阈值时,确定当前矢量信息与历史缓冲器中的一个或更多个矢量信息不同。
8、在示例中,处理电路可以被配置成基于当前矢量信息的当前单元尺寸与一个或更多个矢量信息中的每一个的先前单元尺寸之间的尺寸差大于预定尺寸阈值,确定当前矢量信息与历史缓冲器中的一个或更多个矢量信息不同。当前矢量信息的当前单元尺寸可以指示当前单元中的样本数,历史缓冲器中的矢量信息可以用于解码先前样本单元,该先前样本单元包括先前以ibc模式解码的块和先前以串复制模式解码的串。先前单元尺寸可以指示相应先前单元中的样本数。在示例中,处理电路被配置成基于当前矢量与一个或更多个矢量信息中的一个矢量信息的先前矢量之间的差不大于预定阈值,从历史缓冲器中移除一个或更多个矢量信息中的该一个矢量信息。
9、在实施方式中,一个或更多个矢量信息包括:(i)历史缓冲器中的矢量信息的子集;或者(ii)历史缓冲器中的矢量信息。
10、在实施方式中,历史缓冲器中的矢量信息中的一个包括串矢量和以下中的一个:(i)串位置;以及(ii)先前以串复制模式解码的串的串尺寸。串位置是先前以串复制模式解码的串中的预定样本的位置。串尺寸是先前以串复制模式解码的串中的样本数。
11、在实施方式中,历史缓冲器中的矢量信息包括先前矢量和先前单元尺寸,以及包括先前以ibc模式解码的块和先前以串复制模式解码的串的对应先前解码样本单元的先前单元位置。处理电路可以被配置成:基于以下中的至少一个将存储在历史缓冲器中的矢量信息中的每一个分类到多个类别中的一个类别:(i)相应矢量信息的先前单元尺寸;(ii)相应矢量信息的先前单元位置;或者(iii)使用相应矢量信息以预测一个或更多个先前解码样本单元的次数。历史缓冲器可以是基于类的历史缓冲器。在示例中,当前块的编码信息还包括索引。处理电路可以被配置成将当前矢量信息确定为由索引指示的多个类别中的一个类别中的第一条目。
12、根据本公开内容的各方面,处理电路可以被配置成对当前块的编码信息进行解码。编码信息可以指示以串复制模式对当前块进行编码。处理电路可以被配置成基于编码信息来确定当前块中的当前串的串矢量(sv)和串长度。串长度可以是n3乘以l,其中n3和l是正整数,并且l大于1。处理电路可以被配置成基于当前串的sv和串长度来重建当前串。
13、在示例中,当前块是亮度块并且l是4。
14、在示例中,当前块是色度块。色度子采样格式是4:2:0,指示色度块具有对应亮度块的高度的一半和宽度的一半。基于色度块与对应亮度块被联合编码,l为2;并且基于色度块与对应亮度块被分开编码,l为4。
15、在示例中,当前块包括具有当前串的一个或更多个串。当前块还包括处于一个或更多个串之外的逃逸样本。逃逸样本的数目是l的一倍或多倍。在示例中,当前块的同一行中的逃逸样本的数目是l的一倍或多倍。
16、在实施方式中,编码信息还包括指示串长度的语法元素。语法元素的编码值是串长度除以l。语法元素的编码值是从1到(m1/l-1)的范围内的整数,其中m1是当前块中的样本数。在示例中,处理电路被配置成对语法元素进行解码,并且还将串长度确定为语法元素的编码值乘以l。
17、在实施方式中,处理电路被配置成解码指示用于sv的分辨率的语法元素。在示例中,语法元素具有1位,指示sv的分辨率是(i)1样本和(ii)4样本中之一。基于sv的分辨率是4样本,处理电路被配置成根据编码信息确定中间sv并且将sv确定为中间sv乘以4。
18、在示例中,当前块包括具有当前串的多个串,并且未用信号发送多个串中的待编码的最后的串的最后串长度。在示例中,基于以下来确定最后串长度:(i)当前块中的样本数;以及(ii)多个串中的一个或更多个剩余串的一个或更多个串长度。在示例中,编码信息包括指示当前串是否是最后的串的标志。
19、本公开内容的各方面还提供了存储指令的非暂态计算机可读介质,该指令在由计算机为了进行视频编码/解码而执行时使计算机执行用于视频解码的方法中的任何方法。
20、本公开内容的各方面还提供了一种用于视频解码的装置,包括:解码单元,其被配置成对当前图片的当前块的编码信息进行解码,所述编码信息指示所述当前块的编码模式是以下模式中的一个:帧内块复制(ibc)模式和串复制模式;确定单元,其被配置成基于所述当前块的编码模式和历史缓冲器来确定所述当前块中的当前样本单元的当前矢量信息,所述历史缓冲器被配置成至少存储先前以ibc模式解码的块和先前以所述串复制模式解码的串的矢量信息;以及重建单元,其被配置成基于所述当前矢量信息来重建所述当前样本单元。
21、本公开内容的各方面还提供了一种用于视频解码的装置,包括:解码单元,其被配置成对当前块的编码信息进行解码,所述编码信息指示以串复制模式对所述当前块进行编码;确定单元,其被配置成基于所述编码信息来确定所述当前块中的当前串的串矢量(sv)和串长度,所述串长度是n3乘以l,n3和l是正整数,并且l大于1;以及重建单元,其被配置成基于所述当前串的sv和串长度来重建所述当前串。
22、本公开内容的各方面还提供了一种计算机设备,所述设备包括处理器以及存储器。所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行:基于所述当前块的编码模式和历史缓冲器来确定所述当前块中的当前样本单元的当前矢量信息,所述历史缓冲器被配置成至少存储先前以ibc模式解码的块和先前以所述串复制模式解码的串的矢量信息;以及基于所述当前矢量信息来重建所述当前样本单元。
23、本公开内容的各方面还提供了一种计算机设备。该设备包括:包括处理器以及存储器。所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行:对当前块的编码信息进行解码,所述编码信息指示以串复制模式对所述当前块进行编码;基于所述编码信息确定所述当前块中的当前串的串矢量(sv)和串长度,所述串长度是n3乘以l,n3和l是正整数,并且l大于1;以及基于所述当前串的sv和串长度来重建所述当前串。
24、根据本公开内容提供的用于视频解码的方法和装置,对当前块的参考块的搜索范围和块矢量施加约束,从而使得搜索范围的尺寸在ctb尺寸之内。另外,矢量预测可以包括ibc模式下的bv预测和/或串复制模式下的sv预测。矢量预测可以包括跳过模式矢量预测、合并模式(或直接模式)矢量预测和/或使用差分编码的矢量预测。在跳过模式矢量预测和合并模式矢量预测中,可以从预测器(或矢量预测器,例如bv预测器、sv预测器)直接恢复矢量(例如,bv、sv),而无需使用差分编码。
本文地址:https://www.jishuxx.com/zhuanli/20241120/331796.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表