一种对码流进行编码的方法、编码的装置、传输码流的设备以及流媒体系统与流程
- 国知局
- 2024-08-02 12:41:57
本发明大体上涉及视频编码、解码和图像分割方法。
背景技术:
1、即使在视频较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量受限的通信网络中发送或以其它方式发送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中发送。由于内存资源可能有限,当在存储设备中存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件,以在发送或存储之前对视频数据进行译码,从而减少用来表示数字视频图像所需的数据量。然后,压缩数据在目的地侧由用于对视频数据进行解码的视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
2、传统方案中,存在多种分割约束元素,每个元素针对不同类型的分割方法约束图像(如视频)的分割。这些不同类型的分割方法具体包括二叉树分割、四叉树分割和三叉树分割。通常在包括编码图像的码流中指示分割约束元素。下文描述了一些重要的分割约束元素。
3、可以定义最小译码块大小(mincbsizey)。在一个示例中,mincbsizey可以等于8,即大小为8×8的父块不能使用任何分割(划分)方法进行划分,因为所得到的子块必然会小于mincbsizey(宽度或高度)。根据第二示例,如果mincbsizey等于8,则不能使用四叉树划分(分割)等对大小为8×16的父块进行分割,因为所得到的四个子块的大小为4×8(宽度等于4,高度等于8),所得到的子块的宽度小于mincbsizey。在第二示例中,假设mincbsizey对块的宽度和高度都适用,但可以使用两个不同的语法元素来分别限制宽度和高度。
4、最大译码树块大小(ctbsizey)可以表示以亮度像素点数表示最大译码块的大小。
5、最大二叉树大小(maxbtsizey)可以定义为以像素点数表示,可以使用二叉树分割方法进行划分的译码块的最大亮度分量尺寸(宽度或高度)。例如,如果maxbtsizey等于64,则不能使用二叉树划分来划分大小(宽度或高度)大于64的译码块。即大小为128×128的块不能使用二叉树划分进行划分,而大小为64×64的块可以使用二叉树划分进行划分。
6、最小二叉树大小(minbtsizey)可以定义为以像素点数表示,可以使用二叉树分割方法进行划分的译码块的最小亮度分量尺寸(宽度或高度)。例如,如果minbtsizey等于16,则不能使用二叉树划分来划分大小(宽度或高度)小于或等于16的译码块。即大小为8×8的块不能使用二叉树划分进行划分,而大小为32×32的块可以使用二叉树划分进行划分。
7、最小四叉树大小(minqtsizey)可以定义为译码树单元(coding tree unit,ctu)的四叉树划分得到的叶节点图像块的最小亮度分量尺寸。大小可以表示以像素点数计算的块的宽度或高度。对于正方形块,它还可以表示宽度和高度。例如,如果minqtsizey等于16,则大小小于或等于16的译码块不能使用四叉树划分方法分割成子块。传统方案中,使用minqtsizey(及其指示的语法元素‘log2_min_qt_size_intra_slices_minus2’和‘log2_min_qt_size_inter_slices_minus 2’)表示最小四叉树块大小。需要说明的是,大小的语法元素可以是间接语法元素,即log2_min_qt_size_intra_slices_minus2可以是最小四叉树块的亮度像素点数的二进制对数(底为2)。
8、最小变换块大小(mintbsizey)可以定义为以像素点数表示,可以使用三叉树分割方法进行划分的译码块的最小变换块大小。例如,如果mintbsizey等于16,则不能使用三叉树划分来划分大小(宽度或高度)小于或等于16的译码块。即大小为8×8的块不能使用三叉树划分进行划分,而大小为32×32的块可以使用三叉树划分进行划分。
9、最大多类型树深度(maxmttdepth)可以定义为四叉树叶或ctu的多类型树划分得到的译码单元的最大层级深度。ctu或译码树块(coding tree block,ctb)描述了用于分割图像帧的最大块大小。maxmttdepth描述了可以用于获得子块的连续二叉树或三叉树划分的次数上限。例如,假设ctu大小为128×128(宽度等于128,高度等于128),且maxmttdepth等于1,则每个父块(大小为128×128)可以首先使用二叉树划分来划分成两个128×64的子块。然而,子块不能应用任何连续的二叉树划分(产生128×32或64×64子块),因为已达到允许的二叉树划分的最大次数。需要说明的是,maxmttdepth可以控制最大二叉树划分深度或最大三叉树划分深度,也可以同时控制这两者。如果maxmttdepth同时控制二叉树和三叉树划分深度,则一次二叉树划分接一次三叉树划分可以算作两次层次划分。传统方案中,使用maxmttdepth(及其语法元素‘max_mtt_hierarchy_depth_inter_slices’和‘max_mtt_hierarchy_depth_intra_slices’)表示多类型树产生的译码单元的最大层级深度。
10、此外,‘pic_width_in_luma_samples’是表示图像大小元素,即以亮度像素点为单位的每个解码图像的宽度的语法元素。pic_width_in_luma_samples通常不等于0,应为mincbsizey的整数倍。
11、类似地,‘pic_height_in_luma_samples’是表示图像大小元素,即以亮度像素点为单位的每个解码图像的高度的语法元素。pic_height_in_luma_samples通常不等于0,应为mincbsizey的整数倍。
12、视频译码的目的之一是可以提供高质量和低码率。有助于实现这一目的方法之一是提高码流结构的效率。
技术实现思路
1、鉴于上述问题,本发明的实施例旨在改进图像分割的当前实现方式。具体地,目的是提高不同图像分割方法(即二叉树、四叉树和三叉树分割方法)的可用性和灵活性。一个目标是可以对更多的图像大小进行编码和解码。
2、本发明的实施例在所附独立权利要求中提供。本发明的有利实现方式在从属权利要求中进一步定义。
3、上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中显而易见。
4、具体实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。
5、在本发明的实施例中,建立了新的分割规则,具体是设置各分割约束元素之间的关系,并在码流中与编码图像一起指示这些关系。这些分割规则可以用于将视频数据编码为码流并将码流解码为解码视频数据。
6、根据第一方面,本发明涉及用于对包括编码图像的码流进行解码或处理的设备。所述设备包括电路,所述电路用于:从所述码流(101)获取语法元素;获取四叉树划分得到的亮度叶节点图像块最小尺寸minqtsizey(105)的信息,所述亮度叶节点图像块最小尺寸minqtsizey(105)用亮度像素点数量表示;根据minqtsizey(105)的所述信息和所获得的语法元素,确定允许使用二叉树划分进行划分的亮度根节点图像块的最大尺寸maxbtsizey(102),所述亮度根节点图像块的最大尺寸maxbtsizey(102)用亮度像素点数量表示。
7、通过设置这些分割约束元素之间的关系来定义新的分割规则,解码设备有助于提高不同图像分割方法,特别是四叉树和二叉树划分的可用性和灵活性。
8、根据所述第一方面,在所述方法的一种可能实现方式中,所述电路用于:在考虑到所述maxbtsizey的下限为所述minqtsizey的情况下,确定所述maxbtsizey。
9、根据所述第一方面或上述实现方式,在所述方法的一种可能实现方式中,所述语法元素为所述minqtsizey(105)的底为2的对数与所述maxbtsizey(102)的底为2的对数之间的差值的语法元素(301)。
10、因此,例如在解码端,可以容易地推断出相关的分割约束元素,同时减少码流中的信息开销。差值是关系的一个示例。然而,该关系也可以是可以从minqtsizey推断出maxbtsizey的比例因子、计算方案等。
11、根据所述第一方面或上述实现方式,在所述方法的一种可能实现方式中,所述语法元素为所述minqtsizey(105)与所述maxbtsizey(102)之间的差值的语法元素(301),所述差值的语法元素(即log2_diff_max_bt_size_min_qt_size)可以发送所述差值以2为底的对数值。这种差值语法元素以紧凑的方式来指示差值。
12、根据所述第一方面或上述实现方式,在所述方法的一种可能实现方式中,所述电路用于:从所述码流获取所述语法元素,其中,所述语法元素是基于四叉树叶节点图像块的多类型树划分得到的译码单元的最大层级深度(maxmttdepth)。因此,例如在解码端,可以推断出相关的分割约束元素,同时减少码流中的信息开销。
13、另外或或者,所述电路可以用于:如果maxmttdepth等于0,则不从所述码流获取所述maxbtsizey的任何语法元素。
14、另外或或者,所述电路可以用于:如果所述maxmttdepth(103)不等于0,则不从所述码流(101)获取所述语法元素。
15、根据第二方面,本发明涉及一种用于生成或处理包括编码图像的码流的设备,其中,所述设备用于:确定四叉树划分得到的叶节点图像块的最小亮度分量尺寸minqtsizey;根据所述minqtsizey,确定待使用二叉树划分进行划分的译码块的最大亮度分量尺寸maxbtsizey;并将所述确定的minqtsizey的信息添加到所述码流中。
16、该方法实现了高效的编码器实现方式,其中,生成的流具有紧凑的语法,并且使解码器可以高效地推断出约束参数。上文针对解码端所述的优点也适用于生成码流的编码端。
17、根据所述第二方面或上述实现方式,在所述方法的一种可能实现方式中,所述设备(其处理电路)用于:在考虑到所述maxbtsizey的下限为所述minqtsizey的情况下,确定所述maxbtsizey。
18、根据所述第二方面或上述实现方式,在所述方法的一种可能实现方式中,所述用于生成或处理码流的设备还可以用于:将所述minqtsizey(105)的底为2的对数与所述maxbtsizey(102)的底为2的对数之间的差值的语法元素添加到所述码流(101)中。
19、根据所述第二方面或上述实现方式,在所述方法的一种可能实现方式中,所述语法元素为所述minqtsizey(105)与所述maxbtsizey(102)之间的差值的语法元素(301),所述差值的语法元素发送所述差值以2位底的对数值。
20、根据所述第二方面或上述实现方式,在所述方法的一种可能实现方式中,所述设备用于:根据译码单元的最大层级深度maxmttdepth将maxbtsizey的语法元素添加到所述码流中,其中,所述译码单元是基于多类型树划分得到。
21、另外或或者,所述设备用于:如果所述maxmttdepth等于0,则不将所述maxbtsizey的任何语法元素添加到所述码流中。
22、另外或或者,所述设备用于:如果所述maxmttdepth不等于0,则将所述maxbtsizey的任何语法元素添加到所述码流中。
23、根据第三方面,本发明涉及一种用于生成或处理码流(包括编码图像)的方法,包括以下步骤:确定四叉树划分得到的叶节点图像块的最小亮度分量尺寸minqtsizey;根据所述minqtsizey,确定待使用二叉树划分进行划分的译码块的最大亮度分量尺寸maxbtsizey;并将所述确定的minqtsizey(105)的信息添加到所述码流中。
24、根据第四方面,本发明涉及一种用于对包括编码图像的码流进行解码或处理的方法,包括以下步骤:从所述码流(101)获取语法元素;获取四叉树划分得到的亮度叶节点图像块最小尺寸minqtsizey(105)的信息,所述亮度叶节点图像块最小尺寸minqtsizey(105)用亮度像素点数量表示;根据minqtsizey(105)的所述信息和所获得的语法元素,确定允许使用二叉树划分进行划分的亮度根节点图像块的最大尺寸maxbtsizey(102),所述亮度根节点图像块的最大尺寸maxbtsizey(102)用亮度像素点数量表示。
25、所述方法还可以包括:根据所述maxbtsizey确定是否可以对图像块应用二叉树划分;根据所述确定的结果获得所述图像块的译码块;并获取所述译码块的重建像素点值。
26、所述图像块可以是编码图像的亮度块。
27、所述语法元素可以表示所述maxbtsizey(102)的底为2的对数与所述minqtsizey(105)的底为2的对数之间的差值;或所述语法元素可以表示所述maxbtsizey与所述minqtsizey之间的差值。
28、所述语法元素可以来自所述码流的条带头(slice header)。
29、本发明第三方面所述的方法可由本发明第一方面所述的装置执行。本发明第一方面所述的方法的其它特征和实现方式对应于本发明第三方面所述的装置的特征和实现方式。
30、本发明第四方面所述的方法可由本发明第二方面所述的装置执行。本发明第二方面所述的方法的其它特征和实现方式对应于本发明第四方面所述的装置的特征和实现方式。
31、第二方面所述的方法可以扩展为对应于第一方面所述的第一装置的实现方式。因此,所述方法的实现方式包括所述第一装置的对应实现方式的一个或多个特征。
32、第四方面所述的方法的优点与第三方面所述的方法的对应实现方式的优点相同。
33、根据第五方面,本发明涉及一种用于对视频流进行解码的装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行根据所述第三方面所述的方法。
34、根据第六方面,本发明涉及一种用于对视频流进行编码的装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行根据所述第四方面所述的方法。
35、根据第七方面,提供一种储存有指令的计算机可读存储介质,在执行所述指令时使一个或多个处理器对视频数据进行译码。所述指令使所述一个或多个处理器执行根据所述第三方面或第四方面或所述第三方面或第四方面任意可能的实施例所述的方法。
36、根据第八方面,本发明涉及一种计算机程序,包括程序代码,在计算机中执行所述程序代码时,执行根据所述第三方面或第四方面或所述第三方面或第四方面任意可能的实施例所述的方法。
37、附图和以下描述对一个或多个实施例的细节进行了阐述。其它特征、目的和优点在说明书、附图以及权利要求中是显而易见的。
38、根据一个实施例,提供了一种计算机程序产品,包括程序代码,当所述设备的一个或多个处理器执行所述程序代码时,用于控制设备执行上述任一种方法。
39、为了清楚起见,本文公开的任一实施例可以与其它实施例中的任意一个或多个实施例结合,在本发明的范围内产生新的实施例。
40、根据以下详细说明结合附图和权利要求能更清楚地理解这些和其它特征。
41、需要说明的是,本技术中所述的所有设备、元件、单元和构件都可以在软件或硬件元件或其任何种类的组合中实现。本技术中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行该特定步骤或功能的该实体的具体详述元件的描述中反映,但是技术人员应该清楚,这些方法和功能可以在相应的硬件或软件元件或其任意组合中实现。
本文地址:https://www.jishuxx.com/zhuanli/20240802/237387.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表