掌桥专利:专业的专利平台
掌桥专利
首页

编码模式确定方法和装置

文献发布时间:2023-06-19 12:25:57


编码模式确定方法和装置

技术领域

本申请涉及视频编码技术领域,尤其涉及一种编码模式确定方法和装置。

背景技术

在视频编码技术中,为了避免编码后的码率过大,通常要对视频数据进行压缩编码,这样,在编码后,视频数据会产生损失,也就是说,编码前的视频数据与经过编码再解码恢复出的视频数据并不完全相同,这样,在编解码结束后,视频数据产生了失真。编码后的码率越小,解码后的失真越大,反之亦然。这样,视频编码中存在的一个问题是,如何兼顾编码后的码率与失真。

目前,在视频编码技术中,通常针对视频编码的多个方面设置了选项,例如,设置了宏块类型、帧间预测方向、运动向量等选项,这些选项中的每个都存在多种可能的选择,不同的选择对应于不同的编码模式。

在不同的编码模式下,编码后的码率和解码后的失真也不同。

为了从多种不同的编码模式中选出最优的编码模式,即进行编码模式决策,例如采用率失真优化准则。在率失真优化准则下,采用率失真代价来指示编码后的码率和失真之间的关系,使率失真代价最优化的编码模式被确定为最优的编码模式。

目前已有的模式决策方法包括基于统计的模式决策方法和基于机器学习的模式决策方法。在基于统计的模式决策方法中,通常对先前的编码结果进行统计,并基于统计结果进行模式决策。基于机器学习的模式决策方法包括基于传统机器学习的方法和基于深度学习的方法。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

发明内容

发明人发现,在已有的视频编码技术中,基于统计的模式决策方法虽然简单、复杂度较低,但是由于统计的对象通常来自于有限的数据信息,导致通用性较差,决策结果的准确度无法得到保证;在基于机器学习的模式决策方法中,如果机器学习所基于的特征是人工设计的(传统的机器学习方法),为了保持较高的通用性,需要选用高维度特征(即由多种类信息组合而成的特征),但选用高维度特征也会导致较高的训练复杂度以及特征提取复杂度,如果机器学习所基于的特征是机器自动选取的(基于深度学习的方法),则该学习方法的复杂度通常较高。

为了解决上述问题或类似问题,本发明实施例提供了一种编码模式确定方法和装置,能够兼具较高的通用性和较低的复杂度。

根据本发明实施例的第一方面,提供一种编码模式确定方法,其中,该方法包括:获取视频数据以及使用第一编码模式对该视频数据进行编码得到的编码数据的第一特征,该第一特征与用于对该视频数据进行编码的第一编码模式相关;根据该视频数据,基于预设准则选择第二编码模式;将该第一特征和该第二编码模式组合为训练数据对机器学习模型进行训练,获得第一模型;以及基于该第一模型对使用第三编码模式进行编码得到的编码数据的第三特征进行处理,以确定第四编码模式,该第三特征与该第三编码模式相关。

根据本发明实施例的第二方面,提供一种编码模式确定装置,其中,该装置包括:获取单元,其获取视频数据以及使用第一编码模式对该视频数据进行编码得到的编码数据的第一特征,该第一特征与用于对该视频数据进行编码的第一编码模式相关;第一处理单元,其根据该视频数据,基于预设准则选择第二编码模式;以及第二处理单元,其将该第一特征和该第二编码模式组合为训练数据对机器学习模型进行训练,获得第一模型,并基于该第一模型对使用第三编码模式进行编码得到的编码数据的第三特征进行处理,以确定第四编码模式,该第三特征与该第三编码模式相关。

本发明实施例的一个有益效果在于,通过使用与对视频数据进行编码时选择的第一编码模式相关的第一特征(即,该特征与编码时判定出的最优编码模式具有高相关性)作为机器学习的对象的至少一部分,获得用于对使用第三编码模式进行编码得到的编码数据的第三特征进行处理的第一模型,这样,能够在保证相同的编码模式决策准确度的情况下,降低机器学习所基于的特征的维度(即减少该特征所涉及的信息的种类),由此,能够同时提供较高的通用性和较低的复杂度。

参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施方式,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本发明实施例1的编码模式确定方法的一个示意图。

图2是本发明实施例1的编码模式确定方法的应用环境的一个示意图。

图3是本发明实施例1的步骤101的一个示意图。

图4是本发明实施例1的步骤103的一个示意图。

图5是本发明实施例2的编码模式确定装置的一个示意图。

图6是本发明实施例2的获取单元501的一个示意图。

图7是本发明实施例2的第一处理单元502的一个示意图。

具体实施方式

参照附图,通过下面的说明书,本发明的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本发明的特定实施方式,其表明了其中可以采用本发明的原则的部分实施方式,应了解的是,本发明不限于所描述的实施方式,相反,本发明包括落入所附权利要求的范围内的全部修改、变型以及等同物。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

在本发明实施例中,术语“第一”、“第二”等用于对不同元素从称谓上进行区分,但并不表示这些元素的空间排列或时间顺序等,这些元素不应被这些术语所限制。术语“和/或”包括相关联列出的术语的一种或多个中的任何一个和所有组合。

在本发明实施例中,单数形式“一”、“该”等包括复数形式,应广义地理解为“一种”或“一类”而并不是限定为“一个”的含义;此外术语“所述”应理解为既包括单数形式也包括复数形式,除非上下文另外明确指出。此外术语“根据”应理解为“至少部分根据……”,术语“基于”应理解为“至少部分基于……”,除非上下文另外明确指出。

应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。

还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。

下面结合附图对本发明实施例的各种实施方式进行说明。这些实施方式只是示例性的,不是对本发明实施例的限制。

实施例1

本实施例1提供一种编码模式确定方法。

图1是本实施例的编码模式确定方法的一个示意图。如图2所示,该方法包括:

步骤101,获取视频数据以及使用第一编码模式对该视频数据进行编码得到的编码数据的第一特征,该第一特征与用于对该视频数据进行编码的第一编码模式相关;

步骤103,根据该视频数据,基于预设准则选择第二编码模式;

步骤105,将该第一特征和该第二编码模式组合为训练数据对机器学习模型进行训练,获得第一模型;

步骤107,基于该第一模型对使用第三编码模式进行编码得到的编码数据的第三特征进行处理,以确定第四编码模式,该第三特征与该第三编码模式相关。

图2是本实施例的方法的应用环境的一个示意图。如图2所示,视频数据201由多个数据帧201-1、201-2、……、201-n构成,将视频数据201输入到编码器202进行视频编码,在视频编码过程中,对该多个数据帧分别进行编码,在对每个数据帧进行编码时,可以将数据帧划分为宏块,基于宏块以特定的编码模式进行编码。本实施例的上述方法可用于确定编码器202中采用的编码模式。

在本实施例中,第一特征是从使用第一编码模式进行编码得到的编码数据中提取出的特征,该第一特征与编码时选择的第一编码模式相关,换言之,第一特征与编码时判定出的最优编码模式具有相关性。最优编码模式可以基于预设准则来选择。例如,该预设准则可以是率失真代价准则。

在上述实施例中,使用与对视频数据进行编码时选择的第一编码模式相关的第一特征作为机器学习的对象的至少一部分(即,该特征与编码时判定出的最优编码模式具有高相关性),由此获得用于对使用第三编码模式进行编码得到的编码数据的第三特征进行处理的第一模型,这样,能够在保证相同的编码模式决策准确度的情况下,降低机器学习所基于的特征的维度(即减少该特征所涉及的信息的种类),由此,能够同时提供较高的通用性和较低的复杂度。

图3是本实施例的步骤101的实现方式的一个示意图。如图3所示,上述步骤101可以包括:

步骤301,获取视频数据;

步骤303,通过编码器对该视频数据进行编码,得到编码数据;以及

步骤305,通过解码器对通过该编码器得到的编码数据进行解码,以获取该编码数据的第一特征。

但本实施例不限于上述实施方式,也可以不使用解码器而直接从编码器获取第一特征。

在本实施例中,编码器可以是硬件编码器、软件编码器或者二者的组合。解码器可以是硬件解码器、软件解码器或者二者的组合。

在一个实施方式中,上述编码器为硬件编码器,上述解码器为软件编码器,上述步骤303通过硬件编码器对视频数据进行硬件编码,得到编码数据,上述步骤305中通过软件解码器对硬件编码器得到的编码数据进行软件解码,以获取该编码数据的第一特征。这样,能够获得较高的编码速度,并且,硬件编码与软件解码可以异步进行,因此,编解码步骤303、305对方法带来的复杂度的增加量很低。但本实施例不限于此。

在本实施例中,第一特征可以包括当前编码块的模式信息。编码块例如可以是视频数据帧中包含的宏块。编码块的模式信息例如可以是H.264编码块中的宏块类型信息,例如,16×16、8×16等;编码块的模式信息例如还可以是H.265编码块中的CTU、PU、TU、B帧的帧间预测方向信息,例如L0、L1、双向等;编码块的模式信息例如还可以是H.264编码块中的运动向量估计精度信息,例如,整数精度、1/4精度等。

第一特征可以仅包括上述模式信息,也可以进一步包括用于使用第一编码模式对视频数据进行编码的编码器生成的中间结果,例如可以包括编码块标志、编码量化系数、编码块消耗的比特数、或者编码器生成的其他中间结果。

图4是本实施例的步骤103的一个示意图。如图4所示,步骤103可以包括:

步骤401,从视频数据中提取第二特征;以及

步骤403,基于该第二特征和预设准则选择第二编码模式。

在上述步骤401中,可采用现有技术中的方式提取第二特征。在上述步骤403中,该预设准则例如可以是率失真代价准则,但本实施例并不以此作为限制,该预设准则只要满足能够使得根据该准则选择出的第二编码模式成为具有高压缩率的模式即可

该第二特征为现有的编码模式决策方法中从视频数据中提取出的用于模式决策的特征。例如,该第二特征可以是当前编码块的运动信息、CU划分深度信息等,也可以是当前编码块的周边块的运动信息、CU划分深度信息等,还可以是当前编码块的参考图像的相同位置的编码块的周边块的运动信息、CU划分深度信息等,还可以是编码过程外产生的纹理特征、全局运动信息等。

在本实施例中,步骤105中可以采用机器学习的常规的训练(training)方式,对机器学习模型进行训练,从而获得第一模型;步骤107中可以采用机器学习的常规的推理(inference)方式对输入的使用第三编码模式进行编码得到的编码数据(即,待处理的编码数据)的、与第三编码模式相关的第三特征进行处理,由此确定第四编码模式。其中,第三特征的解释和具体实现可分别与上述第一特征类似,但由于第三特征和第一特征对应于不同的编码数据(即,分别用作训练数据和待处理数据),该不同的编码数据可能采用相同或不同的编码模式,因此,第三特征与第一特征可以相同或不同。

并且,在步骤105和步骤107中,机器学习可以是传统的机器学习,也可以是深度学习。

通过本实施例的编码模式确定方法,能够在保证相同的编码模型决策准确度的情况下,降低机器学习所基于的特征的维度(即减少该特征所涉及的信息的种类),由此,能够同时提供较高的通用性和较低的复杂度。

实施例2

本实施例2提供一种编码模式决策装置。本实施例2与实施例1相同的内容不再赘述,以下针对本实施例2与实施例1不同的内容进行说明。

图5是本实施例的编码模式决策装置的一个示意图。如图5所示,编码模式确定装置500包括获取单元501、第一处理单元502和第二处理单元503。获取单元501获取视频数据以及使用第一编码模式对该视频数据进行编码得到的编码数据的第一特征,该第一特征与用于对该视频数据进行编码的第一编码模式相关;第一处理单元502根据该视频数据,基于预设准则选择第二编码模式;第二处理单元503将该第一特征和该第二编码模式组合为训练数据对机器学习模型进行训练,获得第一模型,并基于该第一模型对使用第三编码模式进行编码得到的编码数据的第三特征进行处理,以确定第四编码模式,该第三特征与该第三编码模式相关。

本实施例中的第一特征、第三特征与实施例1中相同,此处不再赘述。

图6是本实施例的获取单元501的一个示意图。如图6所示,获取单元501可以包括视频数据获取单元601、编码器602和解码器603。其中,视频数据获取单元601获取视频数据,编码器602对该视频数据进行编码,得到编码数据;解码器603对通过编码器602得到的编码数据进行解码,以获取该编码数据的第一特征。

在本实施例中,编码器602可以为硬件编码器,该硬件编码器对视频数据进行硬件编码,得到编码数据;解码器603可以为软件解码器,该软件解码器对硬件编码器得到的编码数据进行软件解码,以获取该编码数据的第一特征。

图7是本实施例的第一处理单元502的一个示意图。如图7所示,第一处理单元502可以包括提取单元701和确定单元702。提取单元701从视频数据中提取第二特征;确定单元702基于第二特征和预设准则选择第二编码模式。

第一处理单元502、第二处理单元503可直接体现为硬件、由处理器执行的软件模块或二者组合。它们既可以对应于计算机程序流程的各个软件模块,亦可以对应于各个硬件模块。这些软件模块,可以分别对应于图1中所示的步骤103、步骤105和步骤107。这些硬件模块例如可利用现场可编程门阵列(FPGA)将这些软件模块固化而实现。

第一处理单元502和第二处理单元503分别对应的硬件模块可以各自独立设置,也可以设置于同一硬件器件。

软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域已知的任何其它形式的存储介质。可以将一种存储介质耦接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该软件模块可以存储在设备的存储器中,也可以存储在可插入设备的存储卡中。例如,若设备采用的是较大容量的MEGA-SIM卡或者大容量的闪存装置,则该软件模块可存储在该MEGA-SIM卡或者大容量的闪存装置中。

本实施例的编码模式确定装置可以设置于电子设备。

在本发明实施例中,术语“电子设备”包括用户设备与网络设备。其中,所述用户设备包括但不限于智能手机、平板电脑等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。

需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。

通过本实施例的编码模式确定装置,能够在保证相同的编码模式决策准确度的情况下,降低机器学习所基于的特征的维度(即减少该特征所涉及的信息的种类),由此,能够同时提供较高的通用性和较低的复杂度。

以上结合具体的实施方式对本申请进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本申请保护范围的限制。本领域技术人员可以根据本申请的原理对本申请做出各种变型和修改,这些变型和修改也在本申请的范围内。

相关技术
  • 编码模式决定装置、图像编码装置、编码模式决定方法和编码模式决定程序
  • 一种编码模式确定方法、装置、设备及存储介质
技术分类

06120113294689