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

编码模式确定方法、装置、电子设备及存储介质与流程

2021-10-23 01:35:00 来源:中国专利 TAG:编码 电子设备 装置 模式 方法


1.本技术涉及视频编码技术领域,具体而言,本技术涉及一种编码模式 确定方法、装置、电子设备及存储介质。


背景技术:

2.视频是由多个视频帧按序组成的视频序列,由于视频的数据量较大, 在对视频数据进行传输、处理之前,可以通过编码的方式对视频进行压缩, 视频编码的目的是对视频数据进行压缩。
3.现有的视频编码标准,如:hevc,vvc,各编码单元对应多种编码 模式,但不同的编码模式的编码效率不同,现有技术中需要对编码单元的 所有编码模式进行遍历得到最佳编码模式,再利用遍历得到的最佳编码模 式进行视频编码,该种确定编码模式的过程复杂、耗时时间长,导致确定 编码模式的效率较低。


技术实现要素:

4.本技术的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术 方案:
5.第一方面,提供了一种基于预分析信息的编码模式确定方法,包括:
6.获取待编码单元对应的预分析单元以及所述待编码单元对应的多个 待选编码模式;其中,对所述待编码单元进行采样获得其对应的预分析单 元;
7.计算所述预分析单元的帧内编码代价及帧间编码代价,基于所述帧内 编码代价及帧间编码代价对所述多个待选编码模式进行过滤处理;
8.获取对所述多个待选编码模式过滤处理后的可选编码模式,从所述可 选编码模式中确定所述待编码单元的编码模式。
9.在第一方面的可选实施例中,所述基于所述帧内编码代价及帧间编码 代价对所述多个待选编码模式进行过滤处理的步骤,包括:
10.当所述帧内编码代价与帧间编码代价的比值大于第一阈值时,过滤掉 所述待选编码模式中的帧内编码模式;
11.当所述帧间编码代价与帧内编码代价的比值大于第二阈值时,过滤掉 所述待选编码模式中的帧间编码模式;其中,所述第一阈值、第二阈值为 不小于1且不大于10的实数。
12.在第一方面的可选实施例中,所述获取待编码单元对应的预分析单元 的步骤,包括:
13.获取预设规格的预分析子单元对应的编码子块大小;其中,预分析单 元由至少一个预设规格的预分析子单元组成;
14.当待编码单元包含多个编码子块时,将所述待编码单元分割为多个编 码子块,并获得每个编码子块对应的预分析子单元。
15.在第一方面的可选实施例中,所述基于所述帧内编码代价及帧间编码 代价对所
述多个待选编码模式进行过滤处理的步骤,包括:
16.计算各个编码子块对应的预分析子单元的帧内编码代价及帧间编码 代价;
17.基于各个预分析子单元对应的帧内编码代价之和及帧间编码代价之 和对所述多个待选编码模式进行过滤。
18.在第一方面的可选实施例中,所述基于各个预分析单元对应的帧内编 码代价之和及帧间编码代价之和对所述多个待选编码模式进行过滤的步 骤,包括:
19.当所述帧内编码代价之和与帧间编码代价之和的比值大于第三阈值 时,过滤掉所述待选编码模式中的帧内编码模式;
20.当所述帧间编码代价之和与帧内编码代价之和的比值大于第四阈值 时,过滤掉所述待选编码模式中的帧间编码模式;其中,所述第三阈值、 第四阈值为不小于1且不大于10的实数。
21.在第一方面的可选实施例中,所述从所述可选编码模式中确定所述待 编码单元的编码模式的步骤,包括:
22.遍历所述可选编码模式,获得所述可选编码模式下待编码单元的帧间 编码代价,并将其中最小帧间编码代价对应的可选编码模式确定为最优编 码模式。
23.在第一方面的可选实施例中,当所述待编码单元包括多个编码子块时, 所述将其中最小帧间编码代价对应的可选编码模式确定为最优编码模式 的步骤,包括:
24.当所述最小帧间编码代价大于预设阈值时,计算所述编码子块不同预 测方向上的多个帧内编码代价;
25.将所述多个帧内编码代价与所述最小帧间编码代价进行对比;
26.当任一帧内编码代价小于所述最小帧间编码代价时,将所述任一帧内 编码作为待编码单元的最优编码模式。
27.第二方面,提供了一种基于预分析信息的编码模式确定装置,包括:
28.获取待选编码模式模块,用于获取待编码单元对应的预分析单元以及 所述待编码单元对应的多个待选编码模式;其中,对所述待编码单元进行 采样获得其对应的预分析单元;
29.过滤编码模式模块,用于计算所述预分析单元的帧内编码代价及帧间 编码代价,基于所述帧内编码代价及帧间编码代价对所述多个待选编码模 式进行过滤处理;
30.确定编码模式模块,用于获取对所述多个待选编码模式过滤处理后的 可选编码模式,从所述可选编码模式中确定所述待编码单元的编码模式。
31.在第二方面的可选实施例中,过滤编码模式模块,还包括:
32.第一过滤帧内编码模式单元,用于当所述帧内编码代价与帧间编码代 价的比值大于第一阈值时,过滤掉所述待选编码模式中的帧内编码模式;
33.第一过滤帧间编码模式单元,用于当所述帧间编码代价与帧内编码代 价的比值大于第二阈值时,过滤掉所述待选编码模式中的帧间编码模式; 其中,所述第一阈值、第二阈值为不小于1且不大于10的实数。
34.在第二方面的可选实施例中,获取待选编码模式模块,还包括:
35.获取编码子块大小单元,用于获取预设规格的预分析子单元对应的编 码子块大小;其中,预分析单元由至少一个预设规格的预分析子单元组成;
36.分割单元,用于当待编码单元包含多个编码子块时,将所述待编码单 元分割为多个编码子块,并获得每个编码子块对应的预分析子单元。
37.在第二方面的可选实施例中,过滤编码模式模块,还包括:
38.计算编码代价单元,用于计算各个编码子块对应的预分析子单元的帧 内编码代价及帧间编码代价;
39.过滤待选编码模式单元,用于基于各个预分析子单元对应的帧内编码 代价之和及帧间编码代价之和对所述多个待选编码模式进行过滤。
40.在第二方面的可选实施例中,过滤待选编码模式单元,还包括:
41.第二过滤帧内编码模式子单元,用于当所述帧内编码代价之和与帧间 编码代价之和的比值大于第三阈值时,过滤掉所述待选编码模式中的帧内 编码模式;
42.第二过滤帧间编码模式子单元,用于当所述帧间编码代价之和与帧内 编码代价之和的比值大于第四阈值时,过滤掉所述待选编码模式中的帧间 编码模式;其中,所述第三阈值、第四阈值为不小于1且不大于10的实 数。
43.在第二方面的可选实施例中,确定编码模式模块,包括:
44.遍历可选编码模式单元,用于遍历所述可选编码模式,依次获得所述 可选编码模式下待编码单元的帧间编码代价,并将其中最小帧间编码代价 对应的可选编码模式确定为最优编码模式。
45.在第二方面的可选实施例中,当所述待编码单元包括多个编码子块时, 所述遍历可选编码模式单元,还包括:
46.计算帧内编码代价子单元,用于当所述最小帧间编码代价大于预设阈 值时,计算所述编码子块不同预测方向上的帧内编码代价;
47.对比子单元,用于将所述多个帧内编码代价与所述最小帧间编码代价 进行对比;
48.确定最优编码模式子单元,用于当任一帧内编码代价小于所述最小帧 间编码代价时,将所述任一帧内编码作为待编码单元的最优编码模式。
49.第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储 器上并可在处理器上运行的计算机程序,处理器执行程序时实现本技术第 一方面所示的基于预分析信息的编码模式确定方法。
50.第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上 存储有计算机程序,该程序被处理器执行时实现本技术第一方面所示的基 于预分析信息的编码模式确定方法。
51.本技术提供的技术方案带来的有益效果是:
52.本技术提供的基于预分析信息的编码模式确定方法,利用编码分析过 程中预分析单元的帧内编码代价和帧间编码代价对待编码单元进行待选 编码模式的过滤,获得对待选编码模式过滤处理后的可选编码模式,从所 述可选编码模式中进行确定最终的编码模式,可选编码模式的数量与待选 编码模式的数量相比,已实现数量上的部分减少,因此,从可选编码模式 中进一步确定编码模式,与直接从待选编码模式中确定编码模式相比,提 高了确定最终编码模式的效率。
53.而且,通过预分析单元的帧内编码代价及帧间编码代价过滤可选编码 模式,无需进行绝对误差等高复杂度的计算,简化了编码模式的过滤及确 定过程,利用最终确定的编
码模式能够提高视频编码速度。
54.本技术附加的方面和优点将在下面的描述中部分给出,这些将从下面 的描述中变得明显,或通过本技术的实践了解到。
附图说明
55.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描 述中将变得明显和容易理解,其中:
56.图1为本技术一个实施例提供的一种编码过程的示意图;
57.图2为本技术一个实施例提供的一种基于预分析信息的编码模式确 定方法的流程图;
58.图3为本技术一个实施例提供的一种规格为16x16的编码单元及其对 应的预分析单元的结构示意图;
59.图4为本技术一个实施例提供的一种规格为32x32的编码单元及其对 应的预分析单元的结构;
60.图5为本技术一个实施例提供的一种规格为64x64的编码单元及其对 应的预分析单元的结构;
61.图6为本技术一个实施例提供的当待编码单元包括多个编码子块时, 基于所述帧内编码代价及帧间编码代价对所述多个待选编码模式进行过 滤处理的流程图;
62.图7为本技术实施例提供的一种基于预分析信息的编码模式确定装 置的结构示意图;
63.图8为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
64.下面详细描述本技术的实施例,实施例的示例在附图中示出,其中自 始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能 的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术, 而不能解释为对本技术的限制。
65.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式
ꢀ“
一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是, 本技术的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、 元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、 步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连 接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也 可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接 或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的 全部或任一单元和全部组合。
66.本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包 括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一 般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语, 应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像 这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
67.i帧:帧内预测帧,利用帧内信息进行预测。
68.p帧:帧间预测帧,可采用帧内预测和帧间预测,可前向参考预测。
69.b帧:帧间预测帧,可采用帧内预测和帧间预测,可前向、后向、双 向参考预测。
70.一个图像组gop中包括i帧(帧内编码帧)、剩余帧都是帧间编码帧 (p/b帧)。其中i帧为序列gop的第一帧,以i帧为基础帧,以i帧预测p 帧,再由i帧和p帧预测b帧。
71.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本 申请实施方式作进一步地详细描述。
72.本技术提供的基于预分析信息的编码模式确定方法、基于预分析信息 的编码模式确定装置、电子设备及存储介质,旨在解决现有技术的如上技 术问题,能够适用于如:在线视频、视频聊天和会议,远程医疗、视频教 学、视频监控、视频游戏、虚拟现实等场景中。
73.本技术提供的基于预分析信息的编码模式确定方法,可以应用于视频 编码标准如:hevc、vvc等中,对视频帧的p帧、b帧等帧间预测帧进 行编码模式的确定。
74.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如 何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结 合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将 结合附图,对本技术的实施例进行描述。
75.本技术提供的编码过程如图1所示,包括:预分析—编码决策—编码, 即在视频编码过程,对待编码的视频片段进行预分析,基于预分析的信息 来进行后续的编码决策,得到最佳的编码模式之后,再对待编码的视频片 段进行编码。其中,本技术分析过程中采用的编码帧的分辨率为原始编码 帧分辨率的1/4,即分析过程中的编码帧在水平方向和垂直方向上的像素 均为原始编码帧的1/2。
76.基于该特点,本技术根据预分析过程中,帧内编码单元对应的预分析 编码代价分布情况对待编码单元进行快速的编码模式选择,以提升待编码 单元的编码模式的确定速度。
77.本技术实施例中提供了一种可能的实现方式,如图2所示,提供了一 种基于预分析信息的编码模式确定方法,该方案可在上传视频的客户端执 行,也可以在下发视频的服务器端执行,包括以下步骤:
78.步骤s201,获取待编码单元对应的预分析单元以及所述待编码单元 对应的多个待选编码模式;其中,对所述待编码单元进行采样获得其对应 的预分析单元;
79.步骤s202,计算所述预分析单元的帧内编码代价及帧间编码代价, 基于所述帧内编码代价及帧间编码代价对所述多个待选编码模式进行过 滤处理;
80.步骤s203,获取对所述多个待选编码过滤处理后的可选编码模式, 从所述可选编码模式中确定所述待编码单元的编码模式。
81.获取待编码单元之后,通过预设采样率对待编码单元进行下采样,获 得待编码单元对应的预分析单元。
82.通过对待编码单元进行采样得到表征当前待编码单元的预分析单元, 下采样的采样率可以采用1/2,对两个像素求平均获得对应的预分析像素 单元,比如待编码单元的大小为16x16,按照1/2的采样率采样之后对应 的大小为8x8。
83.由于预分析单元是对待编码单元采样获得的,预分析单元中保留了能 够表征待编码单元的信息,因此,可以通过对预分析单元的分析确定待编 码单元的编码模式。
84.视频编码包括帧内编码和帧间编码,其中,帧内编码是利用同一帧中 的像素值进
行编码,帧间编码是利用相邻帧中的像素值进行编码。编码代 价越大,为了达到相同视频质量所需码率(数据传输时单位时间传送的数 据位数)就越高。
85.不同类型的编码帧对应的待选编码模式存在差异,获取待编码的预分 析单元及对应的待选编码模式,所述待编码模式可以是待编码单元对应的 所有待选编码模式,本技术提供的待选编码模式至少包括:帧内编码模式、 帧间编码模式。本技术提供的待编码单元可以为帧内编码单元,当帧内编 码单元为p帧编码帧时,其对应的待选编码模式包括:skip模式、merge 模式、帧内编码模式、帧间编码模式,其中,帧内编码模式包括:intra 2nx2n、intra nxn等,帧间编码模式包括:inter 2nx2n、inter 2nxn、inter nx2n等。
86.本技术提供的预分析单元的预设规格是nxn,基于预分析过程中编码 帧的分辨率与原始帧的分辨率之间的关系,对应的编码子块大小为2nx2n。 由于预分析过程中编码帧的分辨率一般为原始帧的1/4,因此,对于大小 为16x16的帧内编码单元,其对应的预分析单元的大小为8x8,如图3所 示。
87.帧内编码代价及帧间编码代价可采用现有的代价计算方法计算,如: 计算预分析单元的帧内编码代价及帧间编码代价,预编码代价的公式可以 为:cost=d λr;,相应地,帧内编码代价可以通过如下方式计算: cost(intra)=d(intra) λr(intra),帧间编码代价可以通过如下方式计算: cost(inter)=d(inter) λr(inter),其中,cost为编码代价,d表示编码单元 对应的图像编码块的失真程度,d采用绝对差值和sad(绝对误差和)运 算获取,λ为拉格朗日常数,r表示编码单元对应的图像编码块占用的比 特数目。在其它的实施方式中,编码代价也可以只用d表示,即cost=d。 在其它的实施方式中,还可以根据预测残差估计编码代价,帧内编码代价 和帧间编码代价的区别在于帧内代价是用帧内预测模式(即角度预测)进 行预测得到的代价,而帧间代价是用帧间预测模式(即运动搜索)进行预 测得到的代价。
88.利用帧内编码代价及帧间编码代价过滤多个待选编码模式,具体地, 当帧内编码代价与帧间编码代价的比值符合预设条件时,过滤掉待选编码 模式中的部分编码模式,减少待选编码模式的数量。
89.获得对待选编码模式过滤处理后的可选编码模式,从所述可选编码模 式中进行确定最终的编码模式,确定的编码模式可以为最优编码模式,由 于对待选编码模式进行了一次过滤,因此,可选编码模式的数量与待选编 码模式的数量相比,已实现数量上的部分减少,因此,从可选编码模式中 进一步确定编码模式,与直接从待选编码模式中确定编码模式相比,提高 了确定最终编码模式的效率。
90.而且,由于在运动估计和编码代价计算中会涉及大量的绝对误差和及 变换后的绝对误差和等高复杂度的计算,而本技术提供的过滤过程并未涉 及对码率或绝对误差等的复杂计算,减少确定最终编码模式的数据计算复 杂度。
91.本技术提供的基于预分析信息的编码模式确定方法,利用编码分析过 程中的帧内编码代价和帧间编码代价对待编码单元进行待选编码模式的 过滤,减少用待编码单元进行确定的编码模式的数量,避免待编码单元对 所有待选编码模式进行遍历确定最终的编码模式,简化编码模式的确定过 程,若最终确定的编码模式为最优编码模式,该方案能够提高最优的编码 模式的确定效率,利用最优编码模式提高视频编码速度。
92.由于分析过程中的编码帧的分辨率大约为原始编码帧分辨率的四分 之一,采用
预分析单元的编码代价过滤待选编码模式,与利用原始编码单 元进行过滤的方式相比,大大减少了数据处理量,有利于提高获得编码代 价及确定编码模式的速度。
93.为了更清楚本技术提供的编码模式的过滤方案及其技术效果,接下来 以多个实施例对其具体实施方案进行详细阐述。
94.本技术实施例中提供了一种可能的实现方式,步骤s201公开的获取 待编码单元对应的预分析单元的步骤,包括:
95.a1、获取预设规格的预分析子单元对应的编码子块大小;其中,预分 析单元由至少一个预设规格的预分析子单元组成;
96.a2、当待编码单元包含多个编码子块时,将所述待编码单元切分为多 个编码子块,并获得每个编码子块对应的预分析子单元。
97.其中,预设规格为预分析子单元的大小,假设预分析子单元的预设规 格是nxn,如:8x8,基于预分析过程中编码帧的分辨率与原始帧的分辨 率之间的关系,对应的编码子块大小为2nx2n。当待编码单元包含多个编 码子块时,将待编码单元切分为多个编码子块,每个编码子块对应一个预 分析单元,预分析单元是由至少一个预设规格的预分析子单元组成的,即 待编码单元对应的预分析单元可以划分为至少一个预分析子单元,以便后 续基于每个预分析单元的帧内编码代价及帧间编码代价确定待编码单元 的编码模式。
98.当预分析子单元的预设规格大小为8x8时,其对应的编码子块大小为 16x16,若待编码单元的大小为32x32,可以将该待编码单元分割为4个 16x16的编码子块,对应的编码子块分别为:编码子块1、编码子块2、 编码子块3、编码子块4。待编码单元对应的预分析单元大小为16x16, 其中,大小为16x16的预分析单元可以划分为4个预设规格的预分析子单 元,每个编码子块对应一个预设规格的预分析子单元,如图4所示。
99.当待编码单元大小为64x64时,该待编码单元包括4个32x32的编码 单元,包括16个16x16的编码子块,对应的预分析单元大小为32x32, 预分析单元可以划分为16个8x8的预分析子单元,如图5所示。
100.本技术将大规格的待编码单元划分为多个编码子块,以便后续针对每 个编码子块进行预分析,基于每个编码子块的预分析信息能够准确获得待 编码单元的编码代价,基于准确的编码代价进行编码模式的过滤、确定, 有利于获得最佳的编码模式。
101.本技术实施例还提供了一种可能的实现方式,步骤s202的基于所述 帧内编码代价及帧间编码代价对所述多个待选编码模式进行过滤处理的 步骤,包括:
102.b1、当所述帧内编码代价与帧间编码代价的比值大于第一阈值时,过 滤掉所述待选编码模式中的帧内编码模式;
103.b2、当所述帧间编码代价与帧内编码代价的比值大于第二阈值时,过 滤掉所述待选编码模式中的帧间编码模式;其中,所述第一阈值、第二阈 值为不小于1且不大于10的实数。
104.其中,第一阈值、第二阈值可以通过预先对大量视频序列进行训练, 寻求符合收敛条件时对应的阈值参数,本技术提供的第一阈值、第二阈值 为不小于1且不大于10的实数,可以为整数或小数,第二阈值与第一阈 值可以相同,也可以不同,根据训练结果而定,基于此训练完成的网络可 以被用于编码模式的选择。
105.若预分析单元对应的帧内编码代价与帧间编码代价的比值大于第一 阈值,表明:
帧内编码代价较大,选用帧内编码模式进行编码会导致编码 代价大,编码效率低,因此,针对该种情况的待编码单元,过滤掉待选模 式中的帧内编码模式。
106.若预分析单元对应的帧间编码代价与帧内编码代价的比值大于第二 阈值,表明:预分析单元对应的帧间编码代价较大,若选用帧内编码模式 对待编码单元进行编码,会导致待编码单元的编码代价大,编码效率低, 因此,针对该种情况的待编码单元,过滤掉待选模式中的帧间编码模式。
107.本技术实施例提供的方案,根据预设的第一阈值及第二阈值、预分析 单元对应的帧间编码模式代价及帧内编码代价的比值确定待过滤的编码 模式,简化了待选编码模式的过滤过程,实现对编码模式的快速过滤,以 便后续对编码模式的迅速确定。
108.进一步地,当待编码单元包括多个编码子块时,基于所述帧内编码代 价及帧间编码代价对所述多个待选编码模式进行过滤处理的步骤,可以通 过如下方式进行,其流程图如图6所示,包括:
109.s610,计算各个编码子块对应的预分析子单元的帧内编码代价及帧间 编码代价;
110.s620,基于各个预分析子单元对应的帧内编码代价之和及帧间编码代 价之和过滤所述多个待选编码模式进行过滤。
111.可选地,步骤s620可以通过如下方式实现,包括:
112.s621,获得各预分析子单元对应的帧内编码代价之和及帧间编码代价 之和;
113.s622,判断帧内编码代价之和与帧间编码代价之和的比值是否大于第 三阈值,若是,过滤掉待选编码模式中的帧内编码模式;
114.s623,判断帧间编码代价之和与帧内编码代价之和的比值是否大于第 四阈值,若是,过滤掉待选编码模式中的帧间编码模式。
115.其中,第三阈值及第四阈值可以通过对大量视频序列的训练寻求最优 指标确定,第三阈值、第四阈值为不小于1且不大于10的实数,可以为 整数或小数,第三阈值与第四阈值可以相同,也可以不同,根据训练结果 而定,基于此训练完成的网络可以被用于编码模式的选择。
116.可选地,结合图4所示,当待编码单元的大小为32x32时,将该待编 码单元分割为4个16x16的编码子块,对应的编码子块分别为:编码子块 1、编码子块2、编码子块3、编码子块4。其中,待编码单元对应的预分 析单元大小为16x16,将大小为16x16的预分析单元划分为4个预设规格 (8x8)的预分析子单元,每个编码子块对应一个预设规格的预分析子单 元,如图4所示的预分析单元0、1、2、3,各预分析子单元对应的帧内 编码代价分别为:pintracost0,pintracost1,pintracost2,pintracost3,各预 分析子单元对应的帧间编码代价分别为:pintercost0,pintercost1, pintercost2,pintercost3,各预分析子单元的帧内编码代价之和 pintracostsum=pintracost0 pintracost1 pintracost2 pintracost3;各 预分析子单元的帧间编码代价之和pintercostsum=pintercost0 pintercost1 pintercost2 pintercost3。
117.如果pintracostsum>a1*pintercostsum(a1为第三阈值),则过滤掉 可选编码模式中的帧内编码模式,如:intra 2nx2n、intranxn等。
118.如果pintercostsum>b1*pintracostsum(b1为第四阈值),则过滤掉 可选编码模式中的帧间编码模式,如:inter 2nx2n、inter 2nxn、 inter nx2n等帧间模式。
119.可选地,结合图5所示,当待编码单元大小为64x64时,该待编码单 元包括4个32x32的编码单元,包括16个16x16的编码子块,待编码单 元对应的预分析单元大小为32x32,可以划分为16个预设规格(8x8)的 预分析子单元,每个编码子块对应一个预设规格的预分析子单元,如图5 所示的预分析子单元0、1、2、
……
、15,各预分析子单元对应的帧内编 码代价分别为:pintracost0,pintracost1,pintracost2,
……
,pintracost15, 各预分析子单元对应的帧内编码代价之和为:pintracostsum=pintracost0 pintracost1

pintracost14 pintracost15;各预分析子单元对应的 帧间编码代价之和为:pintercostsum=pintercost0 pintercost1

pintrercost14 pintercost15。
120.若pintracostsum>a2*pintercostsum(a2为第三阈值),则过滤掉可 选编码模式中的帧内编码模式,如:intra 2nx2n、intranxn等。
121.若pintercostsum>b2*pintracostsum(b2为第四阈值),则过滤掉可 选编码模式中的帧间编码模式,如:inter 2nx2n、inter 2nxn、internx2n等帧间模式。
122.由于待编码单元的规格不同,对应的第三阈值大小存在差别,因此, 第三阈值在两种规格下采用了两个参数,即a1、a2进行表征,第四阈值 同理。
123.本技术实施例提供的方案,通过将规格较大的待编码单元分割成多个 规格较小的编码子块,通过编码子块对应的预分析信息,即各编码子块对 应的预分析子单元的帧内编码代价及帧间编码代价的比值与预设阈值相 比较,根据比较结果确定待过滤的编码模式,将编码代价较大的编码模式 过滤掉,实现减少编码模式数量的同时,得到的编码代价之和能够较准确 地表征待编码单元的编码代价。
124.本技术还提供了一种可行的实施方式,步骤s203提供的从可选编码 模式中确定所述待编码单元的编码模式的步骤,包括:
125.遍历所述可选编码模式,获得可选编码模式下待编码单元的帧间编码 代价,并将其中最小帧间编码代价对应的可选编码模式确定为最优编码模 式。
126.该实施例针对待编码对应单个预分析单元的情况,对待编码单元遍历 所有可选编码模式,获得待编码单元的帧间编码代价,将帧间编码代价最 小的编码模式确定为最优编码模式,帧间编码代价最小,获得同等质量的 视频帧时所消耗的码率较小,有利于降低传输视频的带宽。
127.本技术还提供了一种可行的实施方式,当待编码单元包括多个编码子 块时,将其中最小帧间编码代价对应的可选编码模式确定为最优编码模式 的步骤,包括:
128.c1、当所述最小帧间编码代价大于预设阈值时,计算所述编码子块在 不同预测方向上的多个帧内编码代价;
129.c2、将所述多个帧内编码代价与所述最小帧间编码代价进行对比;
130.c3、当任一帧内编码代价小于所述最小帧间编码代价时,将所述任一 帧内编码代价作为待编码单元的最优编码模式。
131.本技术实施例提供的方案适用于待编码单元中包括多个编码子块的 情形,针对任一编码子块,计算不同预测方向的帧内编码代价,获得多个 帧内编码代价,将多个帧内编码代价与最小帧间编码代价分别进行对比, 若检测到任一帧内编码代价小于最小帧间编码代价,获得小于所述最小帧 间编码代价的帧内编码代价对应的编码模式,并将这种编码模式作为最优 编码模式。
132.可选地,若存在多个帧内编码代价小于最小帧间编码代价,从多个帧 内编码代价中选择代价最小的帧内编码作为最优帧内编码,比较最小帧间 编码代价与最优帧内编码代价的大小,若最小帧间编码代价小于最优帧内 编码代价,则将帧间编码作为最优编码模式,若最小帧间编码代价大于最 优帧内编码代价,则将帧内编码作为最优编码模式。
133.本技术实施例提供的方案,利用各预测方向上的帧内编码代价与最小 帧间编码代价对比确定最优编码模式,最优编码模式对应的编码代价最小, 利用最优编码模式对视频帧编码,有利于提高视频编码效率。
134.本技术实施例还提供了一种可能的实现方式,如图7所示,提供了一 种基于预分析信息的编码模式确定装置700,包括:获取待选编码模式模 块701、过滤编码模式模块702、确定编码模式模块703,具体如下:
135.获取待选编码模式模块701,用于获取待编码单元对应的预分析单元 以及所述待编码单元对应的多个待选编码模式;其中,对所述待编码单元 进行采样获得其对应的预分析单元;
136.过滤编码模式模块702,用于计算所述预分析单元的帧内编码代价及 帧间编码代价,基于所述帧内编码代价及帧间编码代价对所述多个待选编 码模式进行过滤处理;
137.确定编码模式模块703,用于获取对所述多个待选编码模式过滤处理 后的可选编码模式,从所述可选编码模式中确定所述待编码单元的编码模 式。
138.本技术提供的基于预分析信息的编码模式确定装置,利用编码分析过 程中预分析单元的帧内编码代价和帧间编码代价对待编码单元进行待选 编码模式的过滤,获得对待选编码模式过滤处理后的可选编码模式,从所 述可选编码模式中进行确定最终的编码模式,可选编码模式的数量与待选 编码模式的数量相比,已实现数量上的部分减少,因此,从可选编码模式 中进一步确定编码模式,与直接从待选编码模式中确定编码模式相比,提 高了确定最终编码模式的效率。
139.本技术实施例提供的可选实施例中,过滤编码模式模块702,还包括:
140.第一过滤帧内编码模式单元,用于当所述帧内编码代价与帧间编码代 价的比值大于第一阈值时,过滤掉所述待选编码模式中的帧内编码模式;
141.第一过滤帧间编码模式单元,用于当所述帧间编码代价与帧内编码代 价的比值大于第二阈值时,过滤掉所述待选编码模式中的帧间编码模式; 其中,所述第一阈值、第二阈值为不小于1且不大于10的实数。
142.在第二方面的可选实施例中,获取待选编码模式模块701,还包括:
143.获取编码子块大小单元,用于获取预设规格的预分析子单元对应的编 码子块大小;其中,预分析单元由至少一个预设规格的预分析子单元组成;
144.分割单元,用于当待编码单元包含多个编码子块时,将所述待编码单 元分割为多个编码子块,并获得每个编码子块对应的预分析子单元。
145.在第二方面的可选实施例中,过滤编码模式模块702,还包括:
146.计算编码代价单元,用于计算各个编码子块对应的预分析子单元的帧 内编码代价及帧间编码代价;
147.过滤待选编码模式单元,用于基于各个预分析子单元对应的帧内编码 代价之和及帧间编码代价之和对所述多个待选编码模式进行过滤。
148.在第二方面的可选实施例中,过滤待选编码模式单元,还包括:
149.第二过滤帧内编码模式子单元,用于当所述帧内编码代价之和与帧间 编码代价之和的比值大于第三阈值时,过滤掉所述待选编码模式中的帧内 编码模式;
150.第二过滤帧间编码模式子单元,用于当所述帧间编码代价之和与帧内 编码代价之和的比值大于第四阈值时,过滤掉所述待选编码模式中的帧间 编码模式;其中,所述第三阈值、第四阈值为不小于1且不大于10的实 数。
151.在第二方面的可选实施例中,确定编码模式模块703,包括:
152.遍历可选编码模式单元,用于遍历所述可选编码模式,依次获得所述 可选编码模式下待编码单元的帧间编码代价,并将其中最小帧间编码代价 对应的可选编码模式确定为最优编码模式。
153.在第二方面的可选实施例中,当所述待编码单元包括多个编码子块时, 所述遍历可选编码模式单元,还包括:
154.计算帧内编码代价子单元,用于当所述最小帧间编码代价大于预设阈 值时,计算所述编码子块不同预测方向上的帧内编码代价;
155.对比子单元,用于将所述多个帧内编码代价与所述最小帧间编码代价 进行对比;
156.确定最优编码模式子单元,用于当任一帧内编码代价小于所述最小帧 间编码代价时,将所述任一帧内编码作为待编码单元的最优编码模式。
157.本技术实施例的基于预分析信息的编码模式确定装置可执行本技术 的实施例所提供的一种基于预分析信息的编码模式确定方法,其实现原理 相类似,本技术各实施例中的基于预分析信息的编码模式确定装置中的各 模块所执行的动作是与本技术各实施例中的基于预分析信息的编码模式 确定方法中的步骤相对应的,对于基于预分析信息的编码模式确定装置的 各模块的详细功能描述具体可以参见前文中所示的对应的基于预分析信 息的编码模式确定方法中的描述,此处不再赘述。
158.基于与本技术的实施例中所示的方法相同的原理,本技术的实施例中 还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器; 存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指 令执行实施例所示的基于预分析信息的编码模式确定方法。与现有技术相 比,本技术中提供的基于预分析信息的编码模式确定方法可以利用编码分 析过程中预分析单元的帧内编码代价和帧间编码代价对待编码单元进行 待选编码模式的过滤,提高了确定最终编码模式的效率。
159.在一个可选实施例中提供了一种电子设备,如图8所示,图8所示的 电子设备4000可以为客户端或服务器端,包括:处理器4001和存储器 4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。 可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应 用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术 实施例的限定。
160.处理器4001可以是cpu(central processing unit,中央处理器), 通用处理器,dsp(digital signal processor,数据信号处理器),asic (application specific integrated circuit,专用集成电路),fpga(fieldprogrammable gate array,现场可编程门阵列)或者其他可编程逻辑器件、 晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申 请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器
4001 也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp 和微处理器的组合等。
161.总线4002可包括一通路,在上述组件之间传送信息。总线4002可以 是pci(peripheral component interconnect,外设部件互连标准)总线或 eisa(extended industry standard architecture,扩展工业标准结构)总线 等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示, 图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
162.存储器4003可以是rom(read only memory,只读存储器)或可存 储静态信息和指令的其他类型的静态存储设备,ram(random accessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存 储设备,也可以是eeprom(electrically erasable programmable read onlymemory,电可擦可编程只读存储器)、cd-rom(compact disc read onlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光 碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储 设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代 码并能够由计算机存取的任何其他介质,但不限于此。
163.存储器4003用于存储执行本技术方案的应用程序代码,并由处理器 4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序 代码,以实现前述方法实施例所示的内容。
164.其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接 收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体 播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字 tv、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例, 不应对本技术实施例的功能和使用范围带来任何限制。
165.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介 质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前 述方法实施例中相应内容。与现有技术相比,本技术中的基于预分析信息 的编码模式确定方法可以在根节点上添加尾子树节点,将找零操作得到的 差额存储到尾子树节点上,避免将差额货币按照预设规则重新存储到二叉 树中产生的资源消耗。
166.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次 显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文 中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他 的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步 骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成, 而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以 与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替 地执行。
167.需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号 介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存 储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导 体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更 具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计 算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可 擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读 存储器(cd-rom)、光存储器件、磁存
储器件、或者上述的任意合适的 组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有 形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使 用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波 一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的 数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任 意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的 任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用 于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于: 电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
168.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独 存在,而未装配入该电子设备中。
169.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个 程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
170.可以以一种或多种程序设计语言或其组合来编写用于执行本技术的 操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言 —诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如
ꢀ“
c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上 执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在 用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器 上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网 络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可 以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
171.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法 和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程 图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该 模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能 的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的 功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的 方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这 依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、 以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的 专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合 来实现。
172.描述于本技术实施例中所涉及到的模块可以通过软件的方式实现,也 可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对 该模块本身的限定,例如,过滤编码模式模块还可以被描述为“过滤待选 编码模块”。
173.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本 领域技术人员应当理解,本技术中所涉及的公开范围,并不限于上述技术 特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的 情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方 案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特 征进行互相替换而形成的技术方案。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜