CN104618715B - 一种获取最小率失真代价的方法及装置 - Google Patents
一种获取最小率失真代价的方法及装置 Download PDFInfo
- Publication number
- CN104618715B CN104618715B CN201410351474.0A CN201410351474A CN104618715B CN 104618715 B CN104618715 B CN 104618715B CN 201410351474 A CN201410351474 A CN 201410351474A CN 104618715 B CN104618715 B CN 104618715B
- Authority
- CN
- China
- Prior art keywords
- coding unit
- unit
- reference frame
- adjacent encoder
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种获取最小率失真代价的方法及装置,属于计算机技术领域。所述方法包括:获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。所述装置包括:第一获取模块、选择模块和第二获取模块。本发明能够减小计算最小率失真代价的计算量,提高获取最小率失真代价的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种获取最小率失真代价的方法及装置。
背景技术
目前,视频数据由一帧帧视频图像组成,视频数据的容量非常大,为了节省带宽,在传输视频数据之前,需要对视频数据包括的每一帧视频图像进行压缩编码,以减小视频数据的容量。
目前,可以按如下方式对一帧视频图像进行压缩编码,包括:首先对该帧视频图像进行划分,得到该视频图像包括的每个编码单元。从该视频图像包括的每个编码单元中选择一个编码单元进行压缩编码处理,为了便于说明,将该编码单元称为当前编码单元。从运动矢量集合中选择一个运动矢量,从参考帧集合中选择一个参考帧,将选择的运动矢量和参考帧组成运动参考组合,按上述方式组成所有可能的运动参考组合。根据组成的每个运动参考组合和当前编码单元,分别计算每个运动参考组合对应的率真失代价,从每个运动参考组合对应的率真失代价中选择最小的率失真代价作为当前编码单元的第一最小率真失真代价。然后将当前编码单元划分为等大小的四个子编码单元,对于每个子编码单元,都按照上述方法分别计算每个子编码单元的最小率失真代价。计算四个子编码单元的最小率失真之和,将计算的数值作为当前编码单元的第二最小率失真代价。如果第一最小率失真代价大于或等于第二最小率失真代价,则将第一最小率失真代价对应的运动参考组合包括的参考帧确定为当前编码单元的最佳参考帧,根据该运动参考组合包括的运动矢量和最佳参考帧对当前编码单元进行压缩编码。如果第一最小率失真代价小于第二最小率失真代价,则从四个子编码单元中选择一个子编码单元作为当前编码单元,按照上述方法对当前编码单元进行压缩编码。对于该帧视频图像包括的其他每个编码单元,都同当前编码单元按照上述方法对其他每个编码单元进行压缩编码,以实现对该帧视频图像进行压缩编码。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于参考帧集合中包括大量的参考帧,导致组成大量的运动参考组合,进一步导致计算率失真代价的次数变多,如此使得计算编码单元的最小率失真代价的计算量变的很大,降低了获取最小率失真代价的效率,进一步降低了对视频帧进行压缩编码的效率。
发明内容
为了减小计算最小率失真代价的计算量,提高获取最小率失真代价的效率,本发明提供了一种获取最小率失真代价的方法及装置。所述技术方案如下:
一种获取最小率失真代价的方法,所述方法包括:
获取第一编码单元,所述第一编码单元为视频图像包括的任一编码单元;
从参考帧列表中选择部分参考帧;
根据运动矢量集合和所述选择的部分参考帧,获取所述第一编码单元的第一最小率失真代价。
一种获取最小率失真代价的装置,所述装置包括:
第一获取模块,用于获取第一编码单元,所述第一编码单元为视频图像包括的任一编码单元;
选择模块,用于从参考帧列表中选择部分参考帧;
第二获取模块,用于根据运动矢量集合和所述选择的部分参考帧,获取所述第一编码单元的第一最小率失真代价。
在本发明实施例中,获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。由于从参考帧列表中选择了部分参考帧,而不是使用参考帧列表中包括的全部参考帧,如此在获取第一编码单元的最小率失真代价时可以大大减小计算量,提高获取最小率失真代价的效率。
附图说明
图1是本发明实施例1提供的一种获取最小率失真代价的方法流程图;
图2-1是本发明实施例2提供的一种获取最小率失真代价的方法流程图;
图2-2是本发明实施例2提供的一种视频图像的第一示意图;
图2-3是本发明实施例2提供的一种视频图像的第二示意图;
图3是本发明实施例3提供的一种获取最小率失真代价的装置结构示意图;
图4是本发明实施例4提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本发明实施例提供了一种获取最小率失真代价的方法,包括:
步骤101:获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;
步骤102:从参考帧列表中选择部分参考帧;
步骤103:根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。
优选地,从参考帧列表中选择部分参考帧,包括:
根据第一编码单元,从参考帧列表中选择第一编码单元对应的部分参考帧;或者,
从参考帧列表中,随机选择部分参考帧。
优选地,根据第一编码单元,从参考帧列表中选择第一编码单元对应的部分参考帧,包括:
获取第一编码单元的相邻编码单元并组成相邻编码单元集合,该相邻编码单元集合包括在时域上与第一编码单元相邻的第一相邻编码单元和/或在空域上与第一编码单元相邻的至少一个第二相邻编码单元;
根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量;
根据设置的数量,从参考帧列表中选择第一编码单元对应的部分参考帧。
优选地,根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量,包括:
如果该相邻编码单元集合包括第一相邻编码单元和至少三个第二相邻编码单元,则获取第一相邻编码单元的深度和每个第二相邻编码单元的深度;
根据第一相邻编码单元的深度和每个第二相邻编码单元的深度,设置第一编码单元的参考帧的数量。
优选地,根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量,包括:
如果该相邻编码单元集合不包括第一相邻编码单元或该相邻编码单元集合不包括第二相邻编码单元或包括第二相邻编码单元的数目少于三个,则设置第一编码单元的参考帧的数量为预设数值。
进一步地,获取第一编码单元之后,还包括:
将第一编码单元划分成等大小的四个第二编码单元,为四个第二编码单元中的每个第二编码单元分别选择部分参考帧;
根据运动矢量集合和每个第二编码单元的部分参考帧,计算第一编码单元的第二最小率失真代价;
如果第二最小率失真代价大于或等于第一最小率失真代价,则根据第一最小率失真代价,获取第一编码单元的运动矢量和最佳参考帧;
根据第一编码单元的运动矢量和最佳参考帧,对第一编码单元进行压缩编码。
在本发明实施例中,获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。由于从参考帧列表中选择了部分参考帧,而不是使用参考帧列表中包括的全部参考帧,如此在获取第一编码单元的最小率失真代价时可以大大减小计算量,提高获取最小率失真代价的效率。
实施例2
本发明实施例提供了一种获取最小率失真代价的方法。
为了节省带宽,在传输视频数据之前,需要对视频数据包括的每一帧视频图像进行压缩编码。在对一帧视频图像进行压缩编码时,可以通过本发明实施例提供的方法来获取该帧视频图像包括的每个编码单元和每个编码单元的最小率失真代价,然后根据每个编码单元的最小率失真代价对该帧视频图像进行压缩编码。
参见图2-1,该方法具体包括:
步骤201:获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;
其中,在对一帧视频图像进行压缩编码之前,先将该帧视频图像分割成若干个编码树单元,每个编码树单元的尺寸都相同且为预设尺寸。每个编码树单元都可以划分为至少一个编码单元。一般按照预设处理顺序对一帧视频图像包括的每个编码单元进行压缩编码处理,预设处理顺序可以为从左到右或从右到左的顺序等。
其中,预设尺寸可以为64*64或32*32等。
本步骤具体为,按照预设处理顺序从一帧视频图像包括的每个编码单元中选择一个编码单元,将选择的编码单元称为第一编码单元。
例如,假设预设处理顺序为从左到右,在图2-2中视频图像O为视频图像P的前一帧视频图像。按照从左到右的处理顺序,从如图2-2所示的视频图像P包括的每个编码单元中选择左上角的第一个编码单元0作为第一编码单元。
再如,假设预设处理顺序为从左到右,视频图像P包括的编码单元0、1、2、3和4已经完成了压缩编码处理。按照从左到右的处理顺序,从如图2-2所示的视频图像P中选择编码单元5作为第一编码单元。
其中,获取第一编码单元之后,通过如下步骤202-204的操作为第一编码单元选择部分参考帧。
步骤202:获取第一编码单元的相邻编码单元并组成相邻编码单元集合;
其中,相邻编码单元集合包括在时域上与第一编码单元相邻的第一相邻编码单元和/或在空域上与第一编码单元相邻的至少一个第二相邻编码单元。第一相邻编码单元为前一帧视频图像中与该帧视频图像中第一编码单元相对应的位置处的编码单元。第二相邻编码单元与预设处理顺序有关。预设处理顺序为从左到右时,第二相邻编码单元可以为与第一编码单元相邻且位于第一编码单元的左边、上边或左上角的编码单元。预设处理顺为从右到左时,第二相邻编码单元可以为与第一编码单元相邻且位于第一编码单元的右边、上边或右上角的编码单元。
例如,从如图2-2所示的视频图像中,获取第一编码单元0的相邻编码单元,获取的相邻编码单元包括如图2-2所示的编码单元a,其中编码单元a为第一相邻编码单元,第一编码单元0没有第二相邻编码单元。将获取的第一相邻编码单元a组成相邻编码单元集合U1。
再如,第一编码单元为编码单元5时,从如图2-2所示的视频图像中,获取第一编码单元5的相邻编码单元,获取的相邻编码单元包括如图2-2所示的编码单元f、0、1和4,其中编码单元f为第一相邻编码单元,编码单元0、1和4为第二相邻编码单元。将获取的第一相邻编码单元f和第二相邻编码单元0、1和4组成相邻编码单元集合U2。
其中,由于按照时间先后顺序对视频数据包括的每帧视频图像进行压缩编码处理,所以在对第一编码单元进行处理时,第一相邻编码单元已经处理完成了。由于按照预设处理顺序对一帧视频图像包括的每个编码单元进行压缩编码处理,所以在对第一编码单元进行处理时,第二相邻编码单元也已经处理完成了。
步骤203:根据第一编码单元和相邻编码单元集合,设置第一编码单元的参考帧的数量;
其中,根据相邻编码单元集合中包括的编码单元的不同,本步骤可以通过如下第一和第二两种方式来实现,具体为:
第一,如果相邻编码单元集合不包括第一相邻编码单元或该相邻编码单元集合不包括第二相邻编码单元或包括第二相邻编码单元的数目少于三个,则设置第一编码单元的参考帧的数量为预设数值。
其中,预设数值等于参考帧列表中包括的参考帧的数量。参考帧列表中包括至少一个参考帧,参考帧列表中包括的参考帧均为已完成压缩编码处理的帧。
例如,假设预设数值为16。相邻编码单元集合U1仅包括第一相邻编码单元a,而不包括第二相邻编码单元,则设置第一编码单元0的参考帧的数量为16。
第二,如果相邻编码单元集合包括第一相邻编码单元和至少三个第二相邻编码单元,则按照如下步骤(1)-(4)的操作来设置第一编码单元的参考帧的数量。
(1):获取第一相邻编码单元的深度和每个第二相邻编码单元的深度;
其中,每个完成编码处理的编码单元都具有深度属性,深度属性中记录了编码单元的深度。
本步骤具体为,从第一相邻编码单元的深度属性中获取第一相邻编码单元的深度,从每个第二相邻编码单元的深度属性中分别获取每个第二相邻编码单元的深度。
例如,相邻编码单元集合U2中包括第一相邻编码单元f和第二相邻编码单元0、1和4。从第一相邻编码单元f的深度属性中获取第一相邻编码单元f的深度,分别从第二相邻编码单元0、1和4的深度属性中获取第二相邻编码单元0、1和4的深度,假设获取的第一相邻编码单元f的深度以及第二相邻单元0、1和4的深度均为2。
(2):根据第一相邻编码单元的深度和每个第二相邻编码单元的深度,计算第一编码单元的深度;
具体地,根据第一相邻编码单元的深度和每个第二相邻编码单元的深度,通过如下公式(1)计算第一编码单元的深度。
D=ωA*DA+ωL*DL+ωLA*DLA+ωCO*DCO…(1)
其中,在公式(1)中,D为第一编码单元的深度;ωA为位于第一编码单元上边的第二相邻编码单元的权重值,DA为位于第一编码单元上边的第二相邻编码单元的深度;ωL为位于第一编码单元左边的第二相邻编码单元的权重值,DL为位于第一编码单元左边的第二相邻编码单元的深度;ωLA为位于第一编码单元左上角的第二相邻编码单元的权重值,DLA为位于第一编码单元左上角的第二相邻编码单元的深度;ωCO为第一相邻编码单元的权重值,DCO为第一相邻编码单元的深度;ωA+ωL+ωLA+ωCO=1。
其中,根据编码单元与相邻编码单元的相关性,一般将ωA、ωL、ωLA和ωCO分别设置为0.3、0.3、0.1和0.3。
例如,假设ωA、ωL、ωLA和ωCO分别为0.3、0.3、0.1和0.3。根据第一相邻编码单元f的深度以及第二相邻编码单元0、1和4的深度均为2,通过如下公式(2)计算第一编码单元5的深度为2。
D=0.3*2+0.3*2+0.1*2+0.3*2=2…(2)
(3):根据第一编码单元的深度和第二相邻编码单元的深度,确定第一编码单元的最佳深度划分概率所属的概率等级;
具体地,如果第一编码单元的深度与位于第一编码单元上边和左边的两个第二相邻编码单元的深度均相等,则确定第一编码单元的最佳深度划分概率所属的概率等级为高;如果第一编码单元的深度与位于第一编码单元上边的第二相邻编码单元相等,或者与位于第一编码单元左边的第二相邻编码单元的深度相等,则确定第一编码单元的最佳深度划分概率所属的概率等级为中;如果第一编码单元的深度与位于第一编码单元上边和左边的两个第二相邻编码单元的深度均不相等,则确定第一编码单元的最佳深度划分概率所属的概率等级为低。
其中,编码单元的最佳深度划分概率表示该编码单元为最终划分的编码单元的概率,即不再将该编码单元继续细分为子编码单元的概率。
例如,第一编码单元5的深度为2,位于第一编码单元5上边的第二编码单元1的深度为2,位于第一编码单元5左边的第二编码单元4的深度为2,因此第一编码单元5的深度与位于第一编码单元5上边和左边的两个第二相邻编码单元1和4的深度均相等,确定出第一编码单元5的最佳深度划分概率所属的概率等级为高。
(4):根据第一编码单元的最佳深度划分概率所属的概率等级,设置第一编码单元的参考帧的数量。
具体地,如果第一编码单元的最佳深度划分概率所属的概率等级为高,则设置第一编码单元的参考帧的数量为第一预设数值。如果第一编码单元的最佳深度划分概率所属的概率等级为中,则设置第一编码单元的参考帧的数量为第二预设数值。如果第一编码单元的最佳深度划分概率所属的概率等级为低,则设置第一编码单元的参考帧的数量为第三预设数值。
其中,第一预设数值与参考帧列表中包括的参考帧的数量相等。第二预设数值和第三预设数值均小于参考帧列表中包括的参考帧的数量,且第二预设数值大于第三预设数值。例如,假设参考帧列表中包括的参考帧的数量为16,则第一预设数值为16,第二预设数值可以为2,第三预设数值可以为1。
例如,假设第一预设数值为16。第一编码单元的最佳深度划分概率所属的概率等级为高,设置第一编码单元的参考帧的数量为16。
其中,通过上述步骤202和203的操作设置第一编码单元的参考帧的数量之后,通过如下步骤204的操作为第一编码单元选择部分参考帧。
步骤204:根据设置的数量,从参考帧列表中选择第一编码单元对应的部分参考帧;
其中,参考帧列表中包括的参考帧均为已压缩编码的帧,在对视频图像包括的编码单元进行压缩编码时,每当压缩编码完一个编码单元之后,就将该编码单元的最佳参考帧插入到参考帧列表的开始位置。
本步骤具体为,根据设置的数量,从参考帧列表中的第一个参考帧开始选择设置的数量个参考帧,将选择的参考帧确定为第一编码单元对应的部分参考帧。
例如,根据设置的数量16,从参考帧列表中的第一个参考帧开始选择16个参考帧,将选择的16个参考帧确定为第一编码单元5对应的部分参考帧。
其中,除了按照上述步骤202-204所述的方法根据第一编码单元从参考帧列表中选择第一编码单元对应的部分参考帧以外,还可以直接从参考帧列表中选择第一编码单元对应的部分参考帧,具体为:从参考帧列表中的第一个参考帧开始选择预设个数个参考帧作为第一编码单元对应的部分参考帧。
步骤205:根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价;
其中,运动矢量集合中包括事先设置的至少一个运动矢量。事先设置的运动矢量为在前一帧视频图像到当前帧视频图像的时间内像素点移动的预测位移。
本步骤具体为,从运动矢量集合中选择一个运动矢量,从第一编码单元对应的部分参考帧中选择一个参考帧,将选择的运动矢量和参考帧组成运动参考组合,按上述方式组成所有可能的运动参考组合,根据组成的每个运动参考组合和第一编码单元,通过预设算法分别计算每个运动参考组合对应的率失真代价,从每个运动参考组合对应的率失真代价中选择最小的率失真代价作为第一编码单元的第一最小率失真代价
其中,预设算法可以为拉格朗日率失真最优算法等。
例如,假设运动矢量集合US中包括运动矢量1、2和3。从运动矢量集合US中选择一个运动矢量,假设选择的运动矢量为1。从第一编码单元5对应的16个参考帧中选择一个参考帧,假设选择的参考帧为I1,将选择的运动矢量1和参考帧I1组成运动参考组合(1,I1),按上述方式组成所有可能的运动参考组合,根据组成的每个运动参考组合以及第一编码单元5,通过拉格朗日率失真最优算法分别计算每个运动参考组合对应的率失真代价,从每个运动参考组合对应的率失真代价中选择最小的率失真代价,假设最小的率失真代价为2000,且最小的率失真代价对应的运动参考组合为(1,I1),将最小的率失真代价2000作为第一编码单元5的第一最小率失真代价。
其中,按照上述步骤201-205的操作获取第一编码单元的第一最小率失真代价之后,通过如下步骤206和207的操作获取第一编码单元的第二最小率失真代价。
步骤206:将第一编码单元划分成等大小的四个第二编码单元,为四个第二编码单元中的每个第二编码单元分别选择部分参考帧;
其中,为第二编码单元选择部分参考帧的方法,同上述步骤202-204为第一编码单元选择部分参考帧的方法,在此不再赘述。
例如,如图2-3所示,将第一编码单元5划分成等大小的四个第二编码单元51、52、53和54,从参考帧列表中分别为四个第二编码单元中的每个第二编码单元选择部分参考帧。
进一步地,在将第一编码单元划分为等大小的四个第二编码单元之前,还需要将第一编码单元的尺寸与预设阈值进行比较,如果第一编码单元的尺寸大于预设阈值,则进行本步骤的操作。如果第一编码单元的尺寸等于预设阈值,则不能再将第一编码单元进行细分,根据第一编码单元的第一最小率失真代价,获取第一编码单元的运动矢量和最佳参考帧,根据第一编码单元的运动矢量和最佳参考帧对第一编码单元进行压缩编码。结束操作。
步骤207:根据运动矢量集合和每个第二编码单元的部分参考帧,计算第一编码单元的第二最小率失真代价;
具体地,根据运动矢量集合和每个第二编码单元的部分参考帧,分别获取每个第二编码单元的最小率失真代价。计算每个第二编码单元的最小率失真代价之和作为第一编码单元的第二最小率失真代价。
其中,对于获取第二编码单元的最效率失真代价的方法,同上述步骤205获取第一编码单元的第一最小率失真代价的方法,在此不再赘述。
例如,根据运动矢量集合US和每个第二编码单元的部分参考帧,分别获取每个第二编码单元的最小率失真代价。假设获取的第二编码单元51、52、53和54的最小率失真代价分别为500、1000、500和1000。计算第二编码单元51、52、53和54的最小率失真代价之和为3000,将3000作为第一编码单元5的第二最小率失真代价。
其中,通过上述步骤201-207的操作获取第一编码单元的第一最小率失真代价和第二最小率失真代价之后,通过如下步骤208的操作对第一编码单元进行压缩编码。
步骤208:根据第一编码单元的第一最小率失真代价和第二最小率失真代价,对第一编码单元进行压缩编码。
其中,根据第一最小率失真代价和第二最小率失真代价的大小不同,本步骤可以通过如下第一和第二两种方式来实现,具体为:
第一,如果第二最小率失真代价大于或等于第一最小率失真代价,则根据第一最小率失真代价,获取第一最小率失真代价对应的运动参考组合,将该运动参考组合包括的运动矢量和参考帧分别确定为第一编码单元的运动矢量和最佳参考帧。根据第一编码单元的运动矢量和最佳参考帧,对第一编码单元进行压缩编码。
例如,第一最小率失真代价为2000,第二最小率失真代价为3000,所以第二最小率失真代价大于第一最小率失真代价。根据第一最小率失真代价2000,获取第一最小率失真代价2000对应的运动参考组合(1,I1),将该运动参考组合(1,I1)包括的运动矢量1和参考帧I1分别确定为第一编码单元5的运动矢量和最佳参考帧。根据第一编码单元的运动矢量1和最佳参考帧I1,对第一编码单元5进行压缩编码。
其中,将第一编码单元对应的运动矢量和最佳参考帧作为第一编码单元的压缩数据。接收端在接收到第一编码单元的压缩数据后,根据第一编码单元对应的运动矢量和最佳参考帧就可以构造出第一编码单元。
第二,如果第二最小率失真代价小于第一最小率失真代价,则从四个第二编码单元中选择一个第二编码单元作为第一编码单元,重复执行步骤202-208的操作直到完成对第一编码单元进行压缩编码。
其中,对于视频图像包括的每个编码单元,都同第一编码单元,按照本实施例提供的方法对每个编码单元进行压缩编码,以实现对视频图像进行压缩编码。
在本发明实施例中,获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价和第二最小率失真代价,根据第一编码单元的第一最小率失真代价和第二最小率失真代价对第一编码单元进行压缩编码。由于从参考帧列表中选择了部分参考帧,而不是使用参考帧列表中包括的全部参考帧,如此在获取第一编码单元的最小率失真代价时可以大大减小计算量,提高获取最小率失真代价的效率。
实施例3
参见图3,本发明实施例提供了一种获取最小率失真代价的装置,包括:
第一获取模块301,用于获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;
选择模块302,用于从参考帧列表中选择部分参考帧;
第二获取模块303,用于根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。
其中,选择模块302包括:
第一选择单元,用于根据第一编码单元,从参考帧列表中选择第一编码单元对应的部分参考帧;或者,
第二选择单元,用于从参考帧列表中,随机选择部分参考帧。
其中,第一选择单元包括:
获取子单元,用于获取第一编码单元的相邻编码单元并组成相邻编码单元集合,该相邻编码单元集合包括在时域上与第一编码单元相邻的第一相邻编码单元和/或在空域上与第一编码单元相邻的至少一个第二相邻编码单元;
设置子单元,用于根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量;
选择子单元,用于根据设置的数量,从参考帧列表中选择第一编码单元对应的部分参考帧。
其中,设置子单元,用于如果该相邻编码单元集合包括第一相邻编码单元和至少三个第二相邻编码单元,则获取第一相邻编码单元的深度和每个第二相邻编码单元的深度;根据第一相邻编码单元的深度和每个第二相邻编码单元的深度,设置第一编码单元的参考帧的数量。
其中,设置子单元,用于如果该相邻编码单元集合不包括第一相邻编码单元或该相邻编码单元集合不包括第二相邻编码单元或包括第二相邻编码单元的数目少于三个,则设置第一编码单元的参考帧的数量为预设数值。
进一步地,该装置还包括:
划分模块,用于将第一编码单元划分成等大小的四个第二编码单元,为四个第二编码单元中的每个第二编码单元分别选择部分参考帧;
计算模块,用于根据运动矢量集合和每个第二编码单元的部分参考帧,计算第一编码单元的第二最小率失真代价;
第三获取模块,用于如果第二最小率失真代价大于或等于第一最小率失真代价,则根据第一最小率失真代价,获取第一编码单元的运动矢量和最佳参考帧;
压缩编码模块,用于根据第一编码单元的运动矢量和最佳参考帧,对第一编码单元进行压缩编码。
在本发明实施例中,获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。由于从参考帧列表中选择了部分参考帧,而不是使用参考帧列表中包括的全部参考帧,如此在获取第一编码单元的最小率失真代价时可以大大减小计算量,提高获取最小率失真代价的效率。
实施例4
图4是本发明实施例提供的服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器1900可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;
从参考帧列表中选择部分参考帧;
根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。
优选地,从参考帧列表中选择部分参考帧,包括:
根据第一编码单元,从参考帧列表中选择第一编码单元对应的部分参考帧;或者,
从参考帧列表中,随机选择部分参考帧。
优选地,根据第一编码单元,从参考帧列表中选择第一编码单元对应的部分参考帧,包括:
获取第一编码单元的相邻编码单元并组成相邻编码单元集合,该相邻编码单元集合包括在时域上与第一编码单元相邻的第一相邻编码单元和/或在空域上与第一编码单元相邻的至少一个第二相邻编码单元;
根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量;
根据设置的数量,从参考帧列表中选择第一编码单元对应的部分参考帧。
优选地,根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量,包括:
如果该相邻编码单元集合包括第一相邻编码单元和至少三个第二相邻编码单元,则获取第一相邻编码单元的深度和每个第二相邻编码单元的深度;
根据第一相邻编码单元的深度和每个第二相邻编码单元的深度,设置第一编码单元的参考帧的数量。
优选地,根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量,包括:
如果该相邻编码单元集合不包括第一相邻编码单元或该相邻编码单元集合不包括第二相邻编码单元或包括第二相邻编码单元的数目少于三个,则设置第一编码单元的参考帧的数量为预设数值。
进一步地,获取第一编码单元之后,还包括:
将第一编码单元划分成等大小的四个第二编码单元,为四个第二编码单元中的每个第二编码单元分别选择部分参考帧;
根据运动矢量集合和每个第二编码单元的部分参考帧,计算第一编码单元的第二最小率失真代价;
如果第二最小率失真代价大于或等于第一最小率失真代价,则根据第一最小率失真代价,获取第一编码单元的运动矢量和最佳参考帧;
根据第一编码单元的运动矢量和最佳参考帧,对第一编码单元进行压缩编码。
在本发明实施例中,获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。由于从参考帧列表中选择了部分参考帧,而不是使用参考帧列表中包括的全部参考帧,如此在获取第一编码单元的最小率失真代价时可以大大减小计算量,提高获取最小率失真代价的效率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种获取最小率失真代价的方法,其特征在于,所述方法包括:
获取第一编码单元,所述第一编码单元为视频图像包括的任一编码单元;
获取所述第一编码单元的相邻编码单元并组成相邻编码单元集合,所述相邻编码单元集合包括在时域上与所述第一编码单元相邻的第一相邻编码单元和/或在空域上与所述第一编码单元相邻的至少一个第二相邻编码单元;
根据所述第一编码单元和所述相邻编码单元集合,设置所述第一编码单元的参考帧的数量;
根据所述设置的数量,从参考帧列表中选择所述第一编码单元对应的部分参考帧,所述参考帧列表包括的参考帧均为已压缩编码的帧,所述参考帧列表的开始位置是在对视频图像包括的编码单元进行压缩编码时,每当压缩编码完一个编码单元之后插入的所述编码单元的最佳参考帧;
根据运动矢量集合和所述选择的部分参考帧,获取所述第一编码单元的第一最小率失真代价。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一编码单元和所述相邻编码单元集合,设置所述第一编码单元的参考帧的数量,包括:
如果所述相邻编码单元集合包括所述第一相邻编码单元和至少三个第二相邻编码单元,则获取所述第一相邻编码单元的深度和每个第二相邻编码单元的深度;
根据所述第一相邻编码单元的深度和所述每个第二相邻编码单元的深度,设置所述第一编码单元的参考帧的数量。
3.如权利要求1所述的方法,其特征在于,所述根据所述第一编码单元和所述相邻编码单元集合,设置所述第一编码单元的参考帧的数量,包括:
如果所述相邻编码单元集合不包括所述第一相邻编码单元或所述相邻编码单元集合不包括第二相邻编码单元或包括第二相邻编码单元的数目少于三个,则设置所述第一编码单元的参考帧的数量为预设数值。
4.如权利要求1所述的方法,其特征在于,所述获取第一编码单元之后,还包括:
将所述第一编码单元划分成等大小的四个第二编码单元,为所述四个第二编码单元中的每个第二编码单元分别选择部分参考帧;
根据所述运动矢量集合和所述每个第二编码单元的部分参考帧,计算所述第一编码单元的第二最小率失真代价;
如果所述第二最小率失真代价大于或等于所述第一最小率失真代价,则根据所述第一最小率失真代价,获取所述第一编码单元的运动矢量和所述最佳参考帧;
根据所述第一编码单元的运动矢量和所述最佳参考帧,对所述第一编码单元进行压缩编码。
5.一种获取最小率失真代价的装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一编码单元,所述第一编码单元为视频图像包括的任一编码单元;
选择模块,包括:
获取子单元,用于获取所述第一编码单元的相邻编码单元并组成相邻编码单元集合,所述相邻编码单元集合包括在时域上与所述第一编码单元相邻的第一相邻编码单元和/或在空域上与所述第一编码单元相邻的至少一个第二相邻编码单元;
设置子单元,用于根据所述第一编码单元和所述相邻编码单元集合,设置所述第一编码单元的参考帧的数量;
选择子单元,用于根据所述设置的数量,从参考帧列表中选择所述第一编码单元对应的部分参考帧,所述参考帧列表包括的参考帧均为已压缩编码的帧,所述参考帧列表的开始位置是在对视频图像包括的编码单元进行压缩编码时,每当压缩编码完一个编码单元之后插入的所述编码单元的最佳参考帧;
第二获取模块,用于根据运动矢量集合和所述选择的部分参考帧,获取所述第一编码单元的第一最小率失真代价。
6.如权利要求5所述的装置,其特征在于,所述设置子单元,用于如果所述相邻编码单元集合包括所述第一相邻编码单元和至少三个第二相邻编码单元,则获取所述第一相邻编码单元的深度和每个第二相邻编码单元的深度;根据所述第一相邻编码单元的深度和所述每个第二相邻编码单元的深度,设置所述第一编码单元的参考帧的数量。
7.如权利要求5所述的装置,其特征在于,所述设置子单元,用于如果所述相邻编码单元集合不包括所述第一相邻编码单元或所述相邻编码单元集合不包括第二相邻编码单元或包括第二相邻编码单元的数目少于三个,则设置所述第一编码单元的参考帧的数量为预设数值。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:
划分模块,用于将所述第一编码单元划分成等大小的四个第二编码单元,为所述四个第二编码单元中的每个第二编码单元分别选择部分参考帧;
计算模块,用于根据所述运动矢量集合和所述每个第二编码单元的部分参考帧,计算所述第一编码单元的第二最小率失真代价;
第三获取模块,用于如果所述第二最小率失真代价大于或等于所述第一最小率失真代价,则根据所述第一最小率失真代价,获取所述第一编码单元的运动矢量和所述最佳参考帧;
压缩编码模块,用于根据所述第一编码单元的运动矢量和所述最佳参考帧,对所述第一编码单元进行压缩编码。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,所述程序用于实现如权利要求1至4任一项所述的获取最小率失真代价的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410351474.0A CN104618715B (zh) | 2014-07-22 | 2014-07-22 | 一种获取最小率失真代价的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410351474.0A CN104618715B (zh) | 2014-07-22 | 2014-07-22 | 一种获取最小率失真代价的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618715A CN104618715A (zh) | 2015-05-13 |
CN104618715B true CN104618715B (zh) | 2018-10-30 |
Family
ID=53152971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410351474.0A Active CN104618715B (zh) | 2014-07-22 | 2014-07-22 | 一种获取最小率失真代价的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618715B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872556B (zh) * | 2016-04-11 | 2020-01-03 | 华为技术有限公司 | 视频编码方法和装置 |
CN108989799B (zh) * | 2017-06-02 | 2022-03-08 | 阿里巴巴集团控股有限公司 | 一种编码单元参考帧的选择方法、装置及电子设备 |
CN109688407B (zh) * | 2017-10-18 | 2020-11-06 | 北京金山云网络技术有限公司 | 编码单元的参考块选择方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741418A (zh) * | 2005-09-14 | 2006-03-01 | 南京大学 | 多帧运动估计中的基于模式继承的自适应参考帧选择方法 |
CN103517077A (zh) * | 2012-12-14 | 2014-01-15 | 深圳百科信息技术有限公司 | 一种快速预测模式选择方法和装置 |
WO2014057831A1 (ja) * | 2012-10-09 | 2014-04-17 | ソニー株式会社 | 画像処理装置および方法 |
CN103813166A (zh) * | 2014-01-28 | 2014-05-21 | 浙江大学 | 一种低复杂度的hevc编码多参考帧的选择方法 |
-
2014
- 2014-07-22 CN CN201410351474.0A patent/CN104618715B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741418A (zh) * | 2005-09-14 | 2006-03-01 | 南京大学 | 多帧运动估计中的基于模式继承的自适应参考帧选择方法 |
WO2014057831A1 (ja) * | 2012-10-09 | 2014-04-17 | ソニー株式会社 | 画像処理装置および方法 |
CN103517077A (zh) * | 2012-12-14 | 2014-01-15 | 深圳百科信息技术有限公司 | 一种快速预测模式选择方法和装置 |
CN103813166A (zh) * | 2014-01-28 | 2014-05-21 | 浙江大学 | 一种低复杂度的hevc编码多参考帧的选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104618715A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111047516B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN106296669B (zh) | 一种图像质量评价方法和装置 | |
EP2916543A1 (en) | Method for coding/decoding depth image and coding/decoding device | |
WO2019012363A1 (en) | PREDICTION OF QUANTIFICATION PARAMETER PRESERVING VISUAL QUALITY THROUGH DEEP NEURAL NETWORK | |
EP3068137A1 (en) | Method and device for image processing | |
CN104253929B (zh) | 视频降噪方法及其系统 | |
CN103929644B (zh) | 一种视频指纹库建立、视频指纹识别方法及装置 | |
CN104618715B (zh) | 一种获取最小率失真代价的方法及装置 | |
CN110401836B (zh) | 一种图像解码、编码方法、装置及其设备 | |
CN109922338A (zh) | 图像编码设备和方法、图像解码设备和方法以及存储介质 | |
CN106028047B (zh) | 一种基于Hadamard变换的帧内预测的快速模式选择和PU划分的方法 | |
CN107251053A (zh) | 一种降低有损压缩图像的压缩失真的方法及装置 | |
CN111553471A (zh) | 一种数据分析处理方法及装置 | |
CN104052992B (zh) | 一种图像处理方法及电子设备 | |
CN109698017A (zh) | 医疗病历数据生成方法及装置 | |
CN110536087A (zh) | 电子设备及其运动轨迹照片合成方法、装置和嵌入式装置 | |
CN110381312A (zh) | 一种基于hevc的预测深度划分范围的方法和装置 | |
Liu et al. | Improving lossy compression for sz by exploring the best-fit lossless compression techniques | |
CN110084742A (zh) | 一种视差图预测方法、装置及电子设备 | |
CN105141963B (zh) | 图像运动估计方法和装置 | |
CN102131081A (zh) | 混合维度编解码方法和装置 | |
CN109429282B (zh) | 一种频点配置方法及装置 | |
CN112348855B (zh) | 视觉里程计特征点提取方法、系统、电子设备和存储介质 | |
CN110049339A (zh) | 图像编码中的预测方向选取方法、装置和存储介质 | |
CN107079171A (zh) | 使用改进的预测滤波器编码和解码视频信号的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |