视频编码的补偿方法、装置及电子设备转让专利

申请号 : CN201810605725.1

文献号 : CN108810543B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱洪波

申请人 : 北京奇艺世纪科技有限公司

摘要 :

本发明实施例提供的一种视频编码的补偿方法、装置及电子设备,通过在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,作为目标条带;所述已获得的各个条带是通过编码单元中各个像素点的像素值确定的;对所述目标条带中各个像素点的像素值进行补偿。本实施例通过选出像素点超过个数阈值的条带,减少了条带数量,因此可以提高编码效率。

权利要求 :

1.一种视频编码的补偿方法,其特征在于,所述方法包括:在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,确定为目标条带;所述已获得的各个条带是通过编码单元中各个像素点的像素值确定的;

对所述目标条带中各个像素点的像素值进行补偿;

对补偿后的目标条带进行编码;

所述对补偿后的目标条带进行编码包括:

根据已获得补偿后的各个目标条带的平均误差,选择平均误差值最小的补偿后的目标条带作为起始目标条带;

按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序;

按照补偿后的各个目标条带排序后的顺序,从所述起始目标条带开始,选择第二预设数量个补偿后的目标条带作为目标编码条带;所述目标编码条带包含起始目标条带;

对所述目标编码条带进行编码。

2.根据权利要求1所述的方法,其特征在于,采用如下步骤,确定所述已获得的各个条带:将已得到的编码单元中各个像素点的像素值进行排序;

按照预设的像素值步长,将排序后的各个像素点的像素值划分为第一预设数量个已获得的条带。

3.根据权利要求1所述的方法,其特征在于,所述对所述目标条带中各个像素点的像素值进行补偿包括:将原始帧图像的像素值与重构后的像素值比较,计算各个目标条带中各个像素点的误差值;

针对各个目标条带,将目标条带中各个像素点的误差值的平均值,作为目标条带的平均误差值;

针对各个目标条带,将目标条带的平均误差值确定为目标条带对应的偏置值;

针对各个目标条带,将目标条带中像素点的像素值,与所述目标条带对应的偏置值相加,对所述目标条带中各个像素点的像素值进行补偿。

4.根据权利要求1所述的方法,其特征在于,采用如下步骤,计算得到个数阈值:将编码单元的长与高相乘的值,作为所述编码单元包含像素点的总个数;

将所述编码单元包含像素点的总个数与预设比例值P相乘的结果作为个数阈值;0

1。

5.一种视频编码的补偿装置,其特征在于,所述装置包括:确定模块,用于在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,确定为目标条带;所述已获得的各个条带是通过编码单元中各个像素点的像素值确定的;

补偿模块,用于对所述目标条带中各个像素点的像素值进行补偿;

编码模块,用于对补偿后的目标条带进行编码,所述编码模块包括:起始子单元,根据已获得补偿后的各个目标条带的平均误差,选择平均误差值最小的补偿后的目标条带作为起始目标条带;

排序子单元,按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序;

选择子单元,按照补偿后的各个目标条带排序后的顺序,从所述起始目标条带开始,选择第二预设数量个补偿后的目标条带作为目标编码条带;所述目标编码条带包含起始目标条带;

编码子单元,对所述目标编码条带进行编码。

6.根据权利要求5所述的装置,其特征在于,所述确定模块还包括:排序子单元,用于将已得到的编码单元中各个像素点的像素值进行排序;

目标子单元,用于按照预设的像素值步长,将排序后的各个像素点的像素值划分为第一预设数量个已获得的条带。

7.根据权利要求5所述的装置,其特征在于,所述补偿模块包括:误差计算子单元,用于将原始帧图像的像素值与重构后的像素值比较,计算各个目标条带中各个像素点的误差值;

误差确定子单元,用于针对各个目标条带,将目标条带中各个像素点的误差值的平均值,作为目标条带的平均误差值;

偏置计算子单元,用于针对各个目标条带,将目标条带的平均误差值确定为目标条带对应的偏置值;

补偿子单元,用于针对各个目标条带,将目标条带中像素点的像素值,与所述目标条带对应的偏置值相加,对所述目标条带中各个像素点的像素值进行补偿。

8.根据权利要求5所述的装置,其特征在于,所述确定模块还包括:像素子单元,用于将编码单元的长与高相乘的值,作为所述编码单元包含像素点的总个数;

阈值子单元,用于将所述编码单元包含像素点的总个数与预设比例值P相乘的结果作为个数阈值;0

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。

说明书 :

视频编码的补偿方法、装置及电子设备

技术领域

[0001] 本发明涉及视频编码技术领域,特别是涉及一种视频编码的补偿方法、装置及电子设备。

背景技术

[0002] 随着高分辨率拍摄设备的普及化,互联网视频量急速增长。现有技术使用新一代视频编码标准HEVC(High Efficiency Video Coding,高效视频编码)对视频进行编码。
[0003] 在HEVC中,编码器将组成视频的原始帧图像分割成CTU(CodingTreeUnit,编码树单元),然后对各个CTU进行编码。编码器以四叉树的形式把CTU分为CU(CodingUnit,编码单元),对CU中像素点的像素值进行重构,使用补偿方法对重构后的像素点的像素值进行补偿,然后对补偿后的像素点进行编码。现有技术中在HEVC中引入SAO(Sample adaptive offset,自适应采样点补偿)中的带状补偿方法,对CU中像素点的像素值进行补偿。使用SAO中的带状补偿方法对CU中像素点的像素值补偿的过程如下:
[0004] 将一个编码单元的像素点的像素值范围0-255均匀分割为32个条带,每个条带的像素值是重构后的像素值。然后将重构后的像素值与原始帧图像的像素值比较,针对每个条带,计算条带包含像素点像素值的平均误差值,将该平均误差值作为条带的平均误差值。利用各个条带的平均误差值计算每个条带对应的偏置值,将每个条带的重构后的像素值上加上对应的条带的偏置值,对CU中的像素值进行补偿。
[0005] 每个条带包含的像素点数目较多,由于现有技术需要计算所有条带对应的偏置值,实现对CU中的所有像素值进行补偿,时间较长,因此视频编码效率不高。

发明内容

[0006] 本发明实施例的目的在于提供一种视频编码的补偿方法、装置及电子设备,通过减少不必要的条带数量,实现提高视频编码的效率。具体技术方案如下:
[0007] 第一方面,本发明实施例提供了一种视频编码的补偿方法,包括:
[0008] 在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,确定为目标条带;所述已获得的各个条带是通过编码单元中各个像素点的像素值确定的;
[0009] 对所述目标条带中各个像素点的像素值进行补偿。
[0010] 可选的,可以采用如下步骤,确定所述已获得的各个条带:
[0011] 将已得到的编码单元中各个像素点的像素值进行排序;
[0012] 按照预设的像素值步长,将排序后的各个像素点的像素值划分为第一预设数量个已获得的条带。
[0013] 可选的,所述对所述目标条带中各个像素点的像素值进行补偿包括:
[0014] 将原始帧图像的像素值与重构后的像素值比较,计算各个目标条带中各个像素点的误差值;
[0015] 针对各个目标条带,将目标条带中各个像素点的误差值的平均值,作为目标条带的平均误差值;
[0016] 针对各个目标条带,将目标条带的平均误差值确定为目标条带对应的偏置值;
[0017] 针对各个目标条带,将目标条带中像素点的像素值,与所述目标条带对应的偏置值相加,对所述目标条带中各个像素点的像素值进行补偿。
[0018] 可选的,在所述对所述目标条带中各个像素点的像素值进行补偿之后,所述方法还包括:
[0019] 对补偿后的目标条带进行编码。
[0020] 可选的,所述对补偿后的目标条带进行编码包括:
[0021] 根据已获得补偿后的各个目标条带的平均误差,选择平均误差值最小的补偿后的目标条带作为起始目标条带;
[0022] 按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序;
[0023] 按照补偿后的各个目标条带排序后的顺序,从所述起始目标条带开始,选择第二预设数量个补偿后的目标条带作为目标编码条带;所述目标编码条带包含起始目标条带;
[0024] 对所述目标编码条带进行编码。
[0025] 可选的,可以采用如下步骤,计算得到个数阈值:
[0026] 将编码单元的长与高相乘的值,作为所述编码单元包含像素点的总个数;
[0027] 将所述编码单元包含像素点的总个数与预设比例值P相乘的结果作为个数阈值;0
[0028] 第二方面,本发明实施例提供了一种视频编码的补偿装置,包括:
[0029] 确定模块,用于在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,确定为目标条带;所述已获得的各个条带是通过编码单元中各个像素点的像素值确定的;
[0030] 补偿模块,用于对所述目标条带中各个像素点的像素值进行补偿。
[0031] 可选的,所述确定模块还包括:
[0032] 排序子单元,用于将已得到的编码单元中各个像素点的像素值进行排序;
[0033] 目标子单元,用于按照预设的像素值步长,将排序后的各个像素点的像素值划分为第一预设数量个已获得的条带。
[0034] 可选的,所述补偿模块包括:
[0035] 误差计算子单元,用于将原始帧图像的像素值与重构后的像素值比较,计算各个目标条带中各个像素点的误差值;
[0036] 误差确定子单元,用于针对各个目标条带,将目标条带中各个像素点的误差值的平均值,作为目标条带的平均误差值;
[0037] 偏置计算子单元,用于针对各个目标条带,将目标条带的平均误差值确定为目标条带对应的偏置值;
[0038] 补偿子单元,用于针对各个目标条带,将目标条带中像素点的像素值,与所述目标条带对应的偏置值相加,对所述目标条带中各个像素点的像素值进行补偿。
[0039] 可选的,所述视频编码的补偿装置还包括:
[0040] 编码模块,用于对补偿后的目标条带进行编码。
[0041] 可选的,所述编码模块包括:
[0042] 起始子单元,根据已获得补偿后的各个目标条带的平均误差,选择平均误差值最小的补偿后的目标条带作为起始目标条带;
[0043] 排序子单元,按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序;
[0044] 选择子单元,按照补偿后的各个目标条带排序后的顺序,从所述起始目标条带开始,选择第二预设数量个补偿后的目标条带作为目标编码条带;所述目标编码条带包含起始目标条带;
[0045] 编码子单元,对所述目标编码条带进行编码。
[0046] 可选的,所述确定模块还包括:
[0047] 像素子单元,用于将编码单元的长与高相乘的值,作为所述编码单元包含像素点的总个数;
[0048] 阈值子单元,用于将所述编码单元包含像素点的总个数与预设比例值P相乘的结果作为个数阈值;0
[0049] 在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种视频编码的补偿方法。
[0050] 在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种视频编码的补偿方法。
[0051] 本发明实施例提供的一种视频编码的补偿方法、装置及电子设备,通过在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,作为目标条带;所述已获得的各个条带是通过编码单元中各个像素点的像素值确定的;对所述目标条带中各个像素点的像素值进行补偿。本实施例通过选出包含像素点个数超过个数阈值的条带,减少了条带数量,因此可以提高编码效率。
[0052] 当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

[0053] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0054] 图1为本发明实施例提供的一种视频编码的补偿方法的流程图;
[0055] 图2为本发明实施例提供的一种确定已获得的各个条带的流程图;
[0056] 图3为本发明实施例提供的一种计算个数阈值的流程图;
[0057] 图4为本发明实施例提供的一种对目标条带中各个像素点的像素值补偿的流程图;
[0058] 图5为本发明实施例提供的一种补偿后的目标条带进行编码的流程图;
[0059] 图6为本发明实施例提供的一种视频编码的补偿装置的结构图;
[0060] 图7为本发明实施例提供的一种电子设备的结构图。

具体实施方式

[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
[0062] 针对现有技术通过计算所有条带对应的偏置值,后续实现对CU中的所有像素值进行补偿,时间较长,导致视频编码效率不高的问题,本发明实施例提供的一种视频编码的补偿方法及装置,通过在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,作为目标条带;对所述目标条带中各个像素点的像素值进行补偿。本实施例通过选出包含像素点个数超过个数阈值的条带,减少了条带数量,因此可以提高编码效率。
[0063] 下面首先对本发明实施例提供的一种视频编码的补偿方法作简单介绍。
[0064] 本发明实施例提供的一种视频编码的补偿方法,应用于电子设备,进一步电子设备可以为手机、电脑、服务器、智能移动终端设备、可穿戴式智能移动终端设备等。在此不做限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
[0065] 如图1所示,本发明实施例提供了一种视频编码的补偿方法,包括:
[0066] S101,在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,确定为目标条带;已获得的各个条带是通过编码单元中各个像素点的像素值确定的;
[0067] 其中,个数阈值可以是人为根据行业经验预先设定的数值,预先设定个数阈值可以节省选择目标条带的时间,为后续提高补偿目标条带的效率提供基础。
[0068] 例如:已获得的各个条带分别为[64,71]、[72,79]、[80,87]、[88,95]、[96,103]、[104,111]、[112,119]、[120,127],对应的各个条带包含的像素点个数分别为123、74、198、34、107、23、165、156,个数阈值为100,已获得的条带[72,79]、[88,95]、[96,103]包含的像素点个数少于100,将已获得的条带[64,71]、[80,87]、[104,111]、[112,119]、[120,127]作为目标条带。
[0069] S102,对目标条带中各个像素点的像素值进行补偿。
[0070] 为了实现提高补偿目标条带的效率,上述S102可以采用如下至少一种可能的实现方式,对目标条带中各个像素点的像素值进行补偿:
[0071] 在一种可能的实现方式中,给每个目标条带预先设置对应的偏置值,将目标条带中各个像素点的像素值加上与该目标条带对应偏置值,进行补偿。
[0072] 通过预先设置每个目标条带对应的偏置值的实现方式,可以节省对各个目标条带补偿的时间。
[0073] 本发明实施例通过在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,作为目标条带;对目标条带中各个像素点的像素值进行补偿。本实施例通过选出包含像素点个数超过个数阈值的条带,减少了条带数量,因此可以提高编码效率。
[0074] 在图1所示一种视频编码的补偿方法基础上,如图2所示,本发明实施例一种可选的实施例中,可以通过如下步骤,确定已获得的各个条带:
[0075] S201,将已得到的编码单元中各个像素点的像素值进行排序;
[0076] 为了实现提高补偿目标条带的效率,上述S201可以采用如下至少一种可能的实现方式,将已得到的编码单元中各个像素点的像素值进行排序:
[0077] 在一种可能的实现方式中,可以采用冒泡排序、选择排序、插入排序希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序或者基数排序,任何可以进行排序的方法,对已得到的编码单元中各个像素点的像素值进行从大到小的排序。
[0078] 对已得到的编码单元中各个像素点的像素值进行从大到小的排序,可以为划分目标条带节省时间。
[0079] 在另一种可能的实现方式中,可以采用采用冒泡排序、选择排序、插入排序希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序或者基数排序,任何可以进行排序的方法,对已得到的编码单元中各个像素点的像素值进行从小到大的排序。
[0080] 对已得到的编码单元中各个像素点的像素值进行从小到大的排序,可以为划分目标条带节省时间。
[0081] S202,按照预设的像素值步长,将排序后的各个像素点的像素值划分为第一预设数量个已获得的条带。
[0082] 其中,预设的像素值步长可以是人为根据行业经验设定的值,预设的像素值步长可以修改,以提高划分条带的效率。第一预设数量是人为根据行业经验设定的数值,为减少目标条带的个数,同时保证视频原始帧图像的编码质量,该第一预设数量也可以进行修改。
[0083] 本实施例将已得到的编码单元中各个像素点的像素值进行排序,然后按照预设的像素值步长划分条带,节省了获得各个条带的时间。
[0084] 为了准确选择出目标条带,可以采用如下至少一种可能的实现方式,获得个数阈值:
[0085] 在一种可能的实现方式中,P是人为根据行业经验预先设定的数值。
[0086] 例如,设编码单元大小为宽和高为M和N,则编码单元包含M*N个像素点,假设,预设比例值P为0.5,M为10,N为35,个数阈值P=0.5×10×35=175。
[0087] 人为根据行业经验预先设定的个数阈值的实现方式,可以节省选择目标条带的时间,提高视频编码的效率。
[0088] 在另一种可能的实现方式中,如图3所示,个数阈值还可以通过如下步骤计算获得:
[0089] S301,将编码单元的长与高相乘的值,作为编码单元包含像素点的总个数;
[0090] S302,将编码单元包含像素点的总个数与预设比例值N相乘的结果作为个数阈值;0
[0091] 将编码单元的长与高及预设比例值N相乘的方式可以获得较为准确的个数阈值的实现方式,可以提高选择目标条带的准确率。
[0092] 结合图1和图2的实施例,为了实现提高补偿目标条带的效率,如图4所示,在另一种可能的实现方式中,对目标条带中各个像素点的像素值进行补偿可以通过如下步骤:
[0093] S401,将原始帧图像的像素值与重构后的像素值比较,计算各个目标条带中各个像素点的误差值;
[0094] 为了实现提高补偿目标条带的效率,上述S401将原始帧图像的像素值与重构后的像素值比较,计算各个目标条带中各个像素点的误差值:
[0095] 使用绝对误差计算公式,计算同一像素点的原始帧图像的像素值与重构后的像素值之间的差值,将该像素点的差值各个目标条带中各个像素点的误差值。
[0096] S402,针对各个目标条带,将目标条带中各个像素点的误差值的平均值,作为目标条带的平均误差值;
[0097] S403,针对各个目标条带,将目标条带的平均误差值确定为目标条带对应的偏置值;
[0098] S404,针对各个目标条带,将目标条带中像素点的像素值,与目标条带对应的偏置值相加,对目标条带中各个像素点的像素值进行补偿。
[0099] 例如:目标条带[64,71]、[80,87]的平均误差值分别是:-2、7,则将目标条带[64,71]、[80,87]对应的偏置值分别为-2、7。将目标条带[64,71]各个像素点的像素值加上该目标条带对应的偏置值-2,则补偿后的该目标条带为[62,69]。将目标条带[80,87]各个像素点的像素值加上该目标条带对应的偏置值7,则补偿后的该目标条带为[87,94]。
[0100] 本实施例通过计算各个目标条带中各个像素点的像素值的误差值,得到目标条带的平均误差值,确定为目标条带对应的偏置值,提高了目标条带对应的偏置值的准确性,提高对目标条带中各个像素点的像素值补偿的准确性。
[0101] 结合图1、图2和图4的实施例,为了更好的提高视频编码的效率,在S102之后,本发明实施例提供的一种可选的实现方式,所述方法还包括:对补偿后的目标条带进行编码。
[0102] 为了节省对补偿后的目标条带进行编码的时间,可以通过至少如下一种可能的实现方式对补偿后的目标条带进行编码:
[0103] 在一种可能的实现方式中,按本实施例可以按照补偿后的目标条带中最小像素值的顺序,选择连续第二预设数量个补偿后的目标条带进行编码。
[0104] 例如:补偿后的目标条带分别为[65,72]、[82,89]、[107,114]、[120,127]、[130,137],第二预设数量为4,按照补偿后的目标条带的最小像素值从大至小的顺序,选择补偿后的目标条带[130,137]、[120,127]、[107,114]、[82,89]进行编码。或者,按照补偿后的目标条带的最小像素值从小至大的顺序,选择补偿后的目标条带[65,72]、[82,89]、[107,
114]、[120,127]进行编码。
[0105] 按照补偿后的目标条带中最小像素值的顺序,选择连续第二预设数量的目标条带进行编码的实现方式,可以节省对补偿后的目标条带进行编码的时间,提高视频编码的效率。
[0106] 在另一种可能的实现方式中,可以任选连续第二预设数量个补偿后的目标条带进行编码。
[0107] 例如:对补偿后的目标条带分别为[65,72]、[82,89]、[107,114]、[120,127]、[130,137],第二预设数量为4,任选连续4个补偿后的目标条带[82,89]、[107,114]、[120,127]、[130,137]进行编码。
[0108] 任选连续第二预设数量个补偿后的目标条带进行编码的实现方式,可以节省选择对补偿后的目标条带的时间,提高对补偿后的目标条带编码的效率。
[0109] 在第三种可能的实现方式中,如图5所示,对补偿后的目标条带进行编码还可以通过如下步骤:
[0110] S501,根据已获得补偿后的各个目标条带的平均误差,选择平均误差值最小的补偿后的目标条带作为起始目标条带;
[0111] 为节省对补偿后的目标条带编码的时间,可以提前计算补偿后的各个目标条带的平均误差值作为已获得补偿后的各个目标条带的平均误差,然后选择平均误差值绝对值最小的,补偿后的目标条带作为起始目标条带。
[0112] S502,按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序;
[0113] 为了节省选择目标编码条带的时间,上述S502可以采用如下至少一种可能的实现方式,按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序:
[0114] 在一种可能的实现方式中,可以采用冒泡排序、选择排序、插入排序希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序或者基数排序,任何可以进行排序的方法,按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序。
[0115] 按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带从大到小的排序进行排序的实现方式,为选择出目标编码条带节省时间。
[0116] 在另一种可能的实现方式中,可以采用采用冒泡排序、选择排序、插入排序希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序或者基数排序,任何可以进行排序的方法,对已得到的编码单元中各个像素点的像素值进行从小到大的排序。
[0117] 按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序的实现方式,可以节省视频编码的时间。
[0118] S503,按照补偿后的各个目标条带排序后的顺序,从起始目标条带开始,选择第二预设数量个补偿后的目标条带作为目标编码条带;目标编码条带包含起始目标条带;
[0119] 为了节省了选择目标编码条带的时间,提高视频编码的效率,上述S503可以采用如下至少一种可能的实现方式,按照补偿后的各个目标条带排序后的顺序,从起始目标条带开始,选择第二预设数量个补偿后的目标条带作为目标编码条带:
[0120] 在一种可能的实现方式中,按照补偿后的各个目标条带排序后的顺序,给每一个补偿后的各个目标条带设置序号,从起始目标条带的序号开始,连续的预设数量个序号,将连续的预设数量个序号对应的目标条带作为目标编码条带。
[0121] 例如:第二预设数量为4,补偿后的各个目标条带分别为[65,72]、[149,156]、[107,114]、[82,89]、[120,127]、[130,137]、,补偿后的各个目标条带最小像素值分别是65、149、107、82、120、130,按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序,按照补偿后的各个目标条带排序后的顺序,然后给每一个补偿后的各个目标条带设置序号为:1:[65,72]、2:[82,89]、3:[107,114]、4:[120,127]、5:[130,137]、6:
[149,156];已获得补偿后的各个目标条带的平均误差分别为:-2、7、1、9、-4、6。其中补偿后的目标条带[107,114]的平均误差值的绝对值最小,将目标条带3:[107,114]作为起始目标条带,选择连续的预设数量个序号分别为:3、4、5、6,将序号3、4、5、6分别对应的补偿后的目标条带:3:[107,114]、4:[120,127]、5:[130,137]、6:[149,156]作为目标编码条带。
[0122] 在另一种可能的实现方式中,通过已获得补偿后的各个目标条带的平均误差,选择起始目标条带,对补偿后的各个目标条带,按照补偿后的各个目标条带中最小像素值进行排序,按照补偿后的各个目标条带排序后的顺序,从起始目标条带开始,选择第二预设数量个补偿后的目标条带作为目标编码条带。
[0123] S504,对目标编码条带进行编码。
[0124] 为了实现提高视频编码的效率,上述S504可以采用如下至少一种可能的实现方式,对目标编码条带进行编码:
[0125] 在一种可能的实现方式中,按照目标编码条带的序号顺序,对目标编码条带进行编码。
[0126] 在另一种可能的实现方式中,按照目标编码条带的最小像素值顺序,对目标编码条带进行编码。
[0127] 下面继续对本发明实施例提供的一种视频编码的补偿装置作简单介绍。
[0128] 如图6所示,本发明实施例提供的一种视频编码的补偿装置,包括:
[0129] 确定模块601,用于在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,确定为目标条带;已获得的各个条带是通过编码单元中各个像素点的像素值确定的;
[0130] 补偿模块602,用于对目标条带中各个像素点的像素值进行补偿。
[0131] 可选的,确定模块还包括:
[0132] 排序子单元,用于将已得到的编码单元中各个像素点的像素值进行排序;
[0133] 目标子单元,用于按照预设的像素值步长,将排序后的各个像素点的像素值划分为第一预设数量个已获得的条带。
[0134] 可选的,补偿模块包括:
[0135] 误差计算子单元,用于将原始帧图像的像素值与重构后的像素值比较,计算各个目标条带中各个像素点的误差值;
[0136] 误差确定子单元,用于针对各个目标条带,将目标条带中各个像素点的误差值的平均值,作为目标条带的平均误差值;
[0137] 偏置计算子单元,用于针对各个目标条带,将目标条带的平均误差值确定为目标条带对应的偏置值;
[0138] 补偿子单元,用于针对各个目标条带,将目标条带中像素点的像素值,与目标条带对应的偏置值相加,对目标条带中各个像素点的像素值进行补偿。
[0139] 可选的,本发明实施例提供的一种视频编码的补偿装置还包括:
[0140] 编码模块,用于对补偿后的目标条带进行编码。
[0141] 可选的,编码模块包括:
[0142] 起始子单元,根据已获得补偿后的各个目标条带的平均误差,选择平均误差值最小的补偿后的目标条带作为起始目标条带;
[0143] 排序子单元,按照补偿后的各个目标条带中最小像素值,将补偿后的各个目标条带进行排序;
[0144] 选择子单元,按照补偿后的各个目标条带的排序顺序,以起始目标条带为首,选择第二预设数量个补偿后的目标条带作为目标编码条带;目标编码条带包含起始目标条带;
[0145] 编码子单元,对目标编码条带进行编码。
[0146] 可选的,确定模块还包括:
[0147] 像素子单元,用于将编码单元的长与高相乘的值,作为编码单元包含像素点的总个数;
[0148] 阈值子单元,用于将编码单元包含像素点的总个数与预设比例值P相乘的结果作为个数阈值;0
[0149] 本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
[0150] 存储器703,用于存放计算机程序;
[0151] 处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
[0152] 在已获得的各个条带中,选择包含的像素点个数超过个数阈值的条带,确定为目标条带;已获得的各个条带是通过编码单元中各个像素点的像素值确定的;对目标条带中各个像素点的像素值进行补偿。
[0153] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0154] 通信接口用于上述电子设备与其他设备之间的通信。
[0155] 存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0156] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0157] 在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频编码的补偿方法。
[0158] 在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频编码的补偿方法。
[0159] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0160] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0161] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0162] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。