一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频编解码的方法、装置、电子设备及存储介质与流程

2021-11-06 06:36:00 来源:中国专利 TAG:


1.本技术实施例涉及视频处理技术领域,尤其涉及一种视频编解码的方法、装置、电子设备及存储介质。


背景技术:

2.当前,主流的视频压缩标准处理的都是yuv格式的数据,yuv数据经过编码后传输至解码端,由解码端进行解码后得到的也是yuv格式的数据,然后显示装置或者后处理部分将yuv数据转换成rgb数据进行显示呈现。
3.普通的视频采用上述视频传输技术是没有问题的,但对于rgba(rgba是代表red(红色)、green(绿色)、blue(蓝色)和阿尔法alpha的色彩空间)格式的视频,当使用上述视频传输技术进行处理时,会将alpha通道信息丢掉,只会进行rgb通道的转码、压码,转码为yuv数据。alpha信息的缺失使得无法进行后续背景剔除、alpha混合处理以及模板处理等。


技术实现要素:

4.本技术提供一种视频编解码的方法、装置、电子设备及存储介质,以对包含alpha数据的视频进行编解码,节省了alpha数据的传输带宽,提高了对存在alpha数据的视频的编解码效率。
5.第一方面,本技术实施例提供了一种视频编码的方法,所述方法包括:
6.将当前包含亮度分量、色度分量以及阿尔法alpha分量的视频帧划分成多个编码单元cu,其中,各编码cu分别包括亮度编码块、色度编码块及阿尔法alpha编码块;
7.在对当前cu进行编码时,分别对所述亮度编码块、色度编码块和阿尔法alpha编码块进行编码压缩处理,并将编码压缩结果以及对应的相关语法元素输入至码流进行传输,所述相关语法元素包括与所述alpha编码块对应的语法元素。
8.第二方面,本技术实施例还提供了一种视频解码的方法,所述方法包括:
9.接收当前帧的待解码视频码流,所述待解码视频码流中包括亮度比特流、色度比特流、alpha比特流以及相关语法元素;
10.根据所述相关语法元素,分别对所述亮度比特流、色度比特流、alpha比特流进行解码,获得包含亮度数据、色度数据以及alpha数据的重建视频帧。
11.第三方面,本技术实施例还提供了一种视频编码的装置,所述装置包括:
12.cu划分模块,用于将当前包含亮度分量、色度分量以及阿尔法alpha分量的视频帧划分成多个编码单元cu,其中,各编码cu分别包括亮度编码块、色度编码块及阿尔法alpha编码块;
13.cu编码模块,用于在对当前cu进行编码时,分别对所述亮度编码块、色度编码块和阿尔法alpha编码块进行编码压缩处理,并将编码压缩结果以及对应的相关语法元素输入至码流进行传输,所述相关语法元素包括与所述alpha编码块对应的语法元素。
14.第四方面,本技术实施例还提供了一种视频解码的装置,所述装置包括:
15.码流接收模块,用于接收当前帧的待解码视频码流,所述待解码视频码流中包括亮度比特流、色度比特流、alpha比特流以及相关语法元素;
16.解码模块,用于根据所述相关语法元素,分别对所述亮度比特流、色度比特流、alpha比特流进行解码,获得包含亮度数据、色度数据以及alpha数据的重建视频帧。
17.第五方面,本技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面的方法。
18.第六方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面或第二方面的方法。
19.本技术具有如下有益效果:
20.在本实施例中,在对cu进行编码压缩时,将alpha数据与yuv数据同步编码压缩,alpha数据保持了和yuv数据一样的压缩率,保证了alpha数据与yuv数据同步性的同时,降低了alpha数据的带宽占用,从而提高视频的压缩效率。
21.另外,在进行解码时,通过对包括亮度比特流、色度比特流、alpha比特流以及相关语法元素的视频码流进行解码,可以获得码流中的alpha数据,便于后续进行后续背景剔除、alpha混合处理以及模板处理等。
附图说明
22.图1是本技术实施例一提供的一种视频编码的方法实施例的流程图;
23.图2是本技术实施例二提供的一种视频解码的方法实施例的流程图;
24.图3是本技术实施例三提供的一种视频编码的装置实施例的结构框图;
25.图4是本技术实施例四提供的一种视频解码的装置实施例的结构框图;
26.图5是本技术实施例五提供的一种电子设备的结构示意图。
具体实施方式
27.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
28.实施例一
29.图1为本技术实施例一提供的一种视频编码的方法实施例的流程图,本实施例可以用于对包含阿尔法通道(alpha通道)数据的视频流进行编码的场景。其中,alpha通道数据用于表征一帧图像中各像素点透明度的附加信息,利用alpha通道的透明特性可以制作丰富的图像效果。例如:一个使用每个像素16比特存储的位图,对于图中的每一个像素而言,可能以5个比特表示红色(r),5个比特表示绿色(g),5个比特表示蓝色(b),最后一个比特是alpha。在这种情况下,它要么表示透明要么表示不透明,因为alpha比特的值有0或1两种不同表示的可能性。又如,一个使用32个比特存储的位图,每8个比特表示rgb和alpha,在这种情况下,就不光可以表示透明和不透明,alpha通道还可以表示256级的半透明度,因为alpha通道有8个比特可以有256种不同的数据表示可能性。
30.本实施例可以应用于编码器中,如图1所示,本实施例可以包括如下步骤:
31.步骤110,将当前包含亮度分量、色度分量以及阿尔法alpha分量的视频帧划分成多个编码单元cu,其中,各编码cu分别包括亮度编码块、色度编码块及阿尔法alpha编码块。
32.在本实施例中,待编码的视频帧中可以包括亮度分量、色度分量以及阿尔法alpha分量,则当前编码器可以为能够对亮度分量、色度分量以及alpha分量进行编码处理的编码器。
33.在一种实施例中,可以采用如下方式获得包含亮度分量、色度分量以及alpha分量的视频帧:
34.从当前待编码的rgba图像格式的视频帧中提取出rgb数据以及alpha数据;将所述rgb数据转换成yuv数据;将所述alpha数据嵌入所述yuv数据中,生成包含亮度分量、色度分量以及阿尔法alpha分量的视频帧。
35.具体的,待编码的视频流可以为rgba格式的视频流,视频流中各视频帧也是rgba格式的图像。其中,rgba数据是代表红色(red)、绿色(green)、蓝色(blue)和透明度信息(alpha)的色彩空间,rgb是工业界的一种颜色标准,通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色。
36.对于rgba格式的视频帧,其每个像素点中的像素值为rgba值,即,每个像素点的像素值包括r分量像素值、g分量像素值、b分量像素值和alpha分量像素值。通过对每个像素点的rgba像素值进行分离,可以得到每个像素点的rgb像素值以及alpha分量像素值。
37.然后对于每个像素点的rgb像素值,可以将其转换为yuv值,其中,y通道数据表示亮度,也即灰阶值;u、v二通道数据表示色度,可以用于指定像素的颜色。
38.在一实施方式中,可以采用如下公式,将各像素的rgb颜色数据转换为yuv数据:
39.y=0.299r 0.587g 0.114b
40.u=

0.1687r

0.3313g 0.5b 128
41.v=0.5r

0.4187g

0.0813b 128
42.在得到每个像素点的yuv数据以后,可以将每个像素点的alpha通道数据与其yuv数据结合,最终生成yuva(yuv alpha)视频帧。
43.针对当前yuva格式的视频帧,可以按照设定分割机制将其划分成多个编码单元cu。其中,根据视频帧内容或者编码标准的不同,可以有不同的分割机制。例如,在高效视频编码(high efficiency video coding,hevc)(也称为h.265和mpeg

h第2部分)中,可以首先将视频帧分为编码树单元(coding treeunit,ctu),这些编码树单元是预定义大小(例如,64个像素
×
64个像素)的块。ctu包括亮度像素点、色度像素点和alpha像素点。然后可以采用编码树将ctu分成块,并递归地细分这些块,直到获得支持进一步编码的配置。比如,可以对帧的亮度分量进行细分,直到各个亮度块(即亮度编码块)包括相对均匀的亮度值;还可以对帧的色度分量进行细分,直到各个色度块包括相对均匀的颜色值;还可以对帧的alpha分量进行细分,直到各个alpha块包括相对均匀的透明度值。
44.步骤120,在对当前cu进行编码时,分别对所述亮度编码块、色度编码块和阿尔法alpha编码块进行编码压缩处理,并将编码压缩结果以及对应的相关语法元素输入至码流进行传输,所述相关语法元素包括与所述alpha编码块对应的语法元素。
45.在本实施例中,基于现有的hevc视频编码技术标准,在亮度数据以及色度数据的基础上,引入alpha通道数据,整个编码环节都新增了对alpha通道数据的处理,从而在对
alpha通道数据进行压缩的同时,保证了alpha通道数据与亮度数据及色度数据的同步处理。
46.基于现有的hevc视频编码技术标准,编码压缩流程可以包括如下处理阶段:预测处理、变换量化处理、熵编码处理、反变换量化处理、滤波处理、重建处理等。具体可以包括如下过程:首先,视频编码器将输入视频图像划分为互不重叠的编码单元;然后进行预测编码,主要利用视频的空间相关性和时间相关性,分别采用帧内预测和帧间预测去除时空域冗余信息,从而得到预测图像块;然后将预测图像块与原始图像块作差得到预测残差块,再对预测残差进行离散余弦变换(discrete cosine transform,简称dct)和量化,获得量化的dct系数;最后对量化后的dct系数进行熵编码,得到压缩码流。
47.在本实施例中,增加了alpha通道数据以后,在预测处理阶段,根据当前cu划分出的多个预测单元pu中,可以包括亮度预测块pb、色度预测块pb以及alpha预测块pb,同时还包括相关的语法元素。然后分别对亮度pb、色度pb以及alpha pb进行帧内预测和帧间预测,以确定亮度pb、色度pb以及alpha pb分别对应的最优预测块;最后分别计算亮度pb、色度pb以及alpha pb与其对应的最优预测块的残差信号,作为预测处理的处理结果。
48.关于各pb的最优预测模式的流程可描述为:基于某种模式选择判据,遍历可能候选模式,计算各种模式在当前判据下的编码代价,选择编码代价最小模式作为最优预测模式。
49.经过预测处理后,得到预测块的残差信号,为了压缩残差信号的统计冗余,需要对残差信号进行变换处理和量化处理。在变换处理阶段,根据当前cu划分出的多个变换单元tu中,可以包括亮度变换块tb、色度变换块tb以及alpha变换块tb,同时还包括相关的语法元素。然后分别对亮度tb、色度tb以及alpha tb进行dct变换处理和量化处理,获得对应的量化参数。其中,变换处理和量化处理的流程可以为:对tb块进行dct变换(discrete cosine transform,离散余弦变换),得到dc系数和ac系数,然后对dc系数进行hadamard(哈达玛积)变换,然后对dc系数和ac系数进行量化。量化是通过多对一的映射,降低比特率。主要有均匀量化、非均匀量化和自适应量化等。根据最优量化器设计准则:最佳量化区间的边界值为相邻两个最佳量化值的平均数,最佳量化值为所在量化区间的均值。
50.在熵编码处理阶段,通过对量化参数进行熵编码,从而将其以比特流的形式输出。本实施例在熵编码阶段产生的熵编码语法中也增加了对alpha数据的描述性语句,以保证解码端可以正确解码还原alpha数据。
51.在一种示例中,熵编码语法中可以包括:包含alpha分量的序列参数sps,如下表所示:
52.seq_parameter_set_rbsp(){c描述符profile_idc u(8)constraint_set0_flag u(1)constraint_set1_flag u(1)constraint_set2_flag u(1)enable_alpha_flag u(1)
53.其中,“enable_alpha_flag”就是新增的关于alpha数据的sps。
54.在另一种示例中,熵编码语法中还可以包括:包含alpha分量的残差熵语法,新增
的alpha分量的残差熵语法如下表所示:
[0055][0056]
其中,上表中,
“……”
部分为现有的熵编码语法,该熵编码语法中可以包括对色度数据、亮度数据的描述信息。
[0057]
在本实施例中,在对cu进行编码压缩时,将alpha数据与yuv数据同步编码压缩,alpha数据保持了和yuv数据一样的压缩率,保证了alpha数据与yuv数据同步性的同时,降低了alpha数据的带宽占用,从而提高视频的压缩效率。
[0058]
实施例二
[0059]
图2为本技术实施例二提供的一种视频解码的方法实施例的流程图,本实施例可以用于对包含阿尔法数据的视频码流进行解码的场景。可以包括如下步骤:
[0060]
步骤210,接收当前帧的待解码视频码流,所述待解码视频码流中包括亮度比特流、色度比特流、alpha比特流以及相关语法元素。
[0061]
步骤220,根据所述相关语法元素,分别对所述亮度比特流、色度比特流、alpha比特流进行解码,获得包含亮度数据、色度数据以及alpha数据的重建视频帧。
[0062]
具体的,视频解码的流程和编码流程正好相反,在进行解码时,首先对码流进行熵
解码,得到扫描后的量化系数,再经过反扫描、反量化和反变换,得到解码后的残差系数,然后经过运动补偿得到解码的重建图像,该重建图像包括亮度数据、色度数据以及alpha数据。
[0063]
解码器输出包含亮度数据、色度数据以及alpha数据的视频帧以后,可以由显示装置或者后处理部分将亮度数据以及色度数据转换成rgb数据,然后将rgb数据与alpha数据结合成rgba数据显示给用户使用。
[0064]
在本实施例中,通过对包括亮度比特流、色度比特流、alpha比特流以及相关语法元素的视频码流进行解码,可以获得码流中的alpha数据,便于后续进行后续背景剔除、alpha混合处理以及模板处理等。
[0065]
实施例三
[0066]
图3为本技术实施例三提供的一种视频编码的装置实施例的结构框图,可以包括如下模块:
[0067]
cu划分模块310,用于将当前包含亮度分量、色度分量以及阿尔法alpha分量的视频帧划分成多个编码单元cu,其中,各编码cu分别包括亮度编码块、色度编码块及阿尔法alpha编码块;
[0068]
cu编码模块320,用于在对当前cu进行编码时,分别对所述亮度编码块、色度编码块和阿尔法alpha编码块进行编码压缩处理,并将编码压缩结果以及对应的相关语法元素输入至码流进行传输,所述相关语法元素包括与所述alpha编码块对应的语法元素。
[0069]
在一种实施例中,所述编码压缩处理包括预测处理,所述cu编码模块320进一步可以包括如下子模块:
[0070]
预测处理子模块,用于将所述cu划分成多个预测单元pu,所述pu包括亮度预测块、色度预测块以及alpha预测块;分别对所述亮度预测块、所述色度预测块以及所述alpha预测块进行帧内预测和帧间预测,以确定所述亮度预测块、所述色度预测块以及所述alpha预测块分别对应的最优预测块;分别计算所述亮度预测块、所述色度预测块以及所述alpha预测块与其对应的最优预测块的残差信号。
[0071]
在一种实施例中,所述编码压缩处理还包括变换量化处理;所述cu编码模块320进一步可以包括如下子模块:
[0072]
变换量化子模块,用于将所述cu划分成多个变换单元tu,所述tu包括亮度变换块、色度变换块以及alpha变换块;分别对所述亮度变换块、色度变换块以及alpha变换块进行dct变换处理和量化处理,获得对应的量化参数。
[0073]
在一种实施例中,所述编码压缩处理还包括熵编码处理;
[0074]
所述cu编码模块320进一步可以包括如下子模块:
[0075]
熵编码子模块,用于分别对所述亮度变换块、色度变换块以及alpha变换块的量化参数进行熵编码,并以比特流的形式输出。
[0076]
在一种实施例中,所述相关语法元素包括熵编码阶段产生的熵编码语法;所述熵编码语法包括:包含alpha分量的序列参数,以及包含alpha分量的残差熵语法。
[0077]
在一种实施例中,所述包含亮度分量、色度分量以及阿尔法alpha分量的视频帧采用如下方式获得:
[0078]
从当前待编码的rgba图像格式的视频帧中提取出rgb数据以及alpha数据;
[0079]
将所述rgb数据转换成yuv数据;
[0080]
将所述alpha数据嵌入所述yuv数据中,生成包含亮度分量、色度分量以及阿尔法alpha分量的视频帧。
[0081]
需要说明的是,本技术实施例所提供的上述一种视频编码的装置可执行本技术实施例一所提供的一种视频编码的方法,具备执行方法相应的功能模块和有益效果。
[0082]
实施例四
[0083]
图4为本技术实施例四提供的一种视频解码的装置实施例的结构框图,可以包括如下模块:
[0084]
码流接收模块410,用于接收当前帧的待解码视频码流,所述待解码视频码流中包括亮度比特流、色度比特流、alpha比特流以及相关语法元素;
[0085]
解码模块420,用于根据所述相关语法元素,分别对所述亮度比特流、色度比特流、alpha比特流进行解码,获得包含亮度数据、色度数据以及alpha数据的重建视频帧。
[0086]
需要说明的是,本技术实施例所提供的上述一种视频解码的装置可执行本技术实施例二所提供的一种视频解码的方法,具备执行方法相应的功能模块和有益效果。
[0087]
实施例五
[0088]
图5为本技术实施例五提供的一种电子设备的结构示意图,如图5所示,该电子设备包括处理器510、存储器520、输入装置530和输出装置540;电子设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;电子设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
[0089]
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术实施例中的方法对应的程序指令/模块。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的方法。
[0090]
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区
[0091]
可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0092]
输入装置530可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
[0093]
实施例六
[0094]
本技术实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由服务器的处理器执行时用于执行实施例一或的实施例二中任一实施例中的方法。
[0095]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本技术可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0096]
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。
[0097]
注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献