CN114449283B - 一种数据处理方法、装置、计算机设备及存储介质 - Google Patents
一种数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114449283B CN114449283B CN202011188933.XA CN202011188933A CN114449283B CN 114449283 B CN114449283 B CN 114449283B CN 202011188933 A CN202011188933 A CN 202011188933A CN 114449283 B CN114449283 B CN 114449283B
- Authority
- CN
- China
- Prior art keywords
- distortion cost
- image block
- frame
- intra
- minimum rate
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 29
- 238000003672 processing method Methods 0.000 title abstract description 14
- 230000007704 transition Effects 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims description 99
- 238000013139 quantization Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 12
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 35
- 238000005516 engineering process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000005192 partition Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、计算机设备及存储介质,该方法包括:获取视频数据中的目标视频帧以及目标视频帧的图像块;在目标视频帧的帧类型为第一类型时获取第一模式决策条件;在第一预测块不满足第一跳转条件时获取帧间编码模式;帧间编码模式用于预测得到第二预测块;将与第二预测块相关联的率失真代价,确定为初始最小率失真代价;获取亚像素调整条件,基于初始最小率失真代价以及亚像素调整条件,确定过渡最小率失真代价;获取帧内预测条件,基于过渡最小率失真代价和帧内预测条件,确定目标最小率失真代价,根据目标最小率失真代价所对应的编码模式确定目标编码模式。采用本申请实施例,可以提高模式决策的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
在视频数据传输场景中,通常会对该视频数据进行编码压缩传输。其中,在对视频数据进行编码处理时,需要从视频数据中获取待进行编码处理的目标视频帧,进而可以对该目标视频帧中的图像块进行编码处理,以生成与视频数据相关联的视频码流。可以理解的是,在对图像块进行编码处理的过程中,往往需要从多个编码模式中,选择最合适的编码模式对应的编码模式作为目标编码模式。具体地,在编码过程中需要分别计算该图像块数据在每个编码模式下的率失真代价,进而可以将具有最小的率失真代价的编码模式,作为该图像块的最终进行编码处理的目标编码模式。
因此,在选择对图像块进行编码处理的目标编码模式时,需要遍历每个编码模式,并依次计算出该图像块分别在每个编码模式下的率失真代价,导致在选取图像块的目标编码模式时,耗费时间久,降低了模式决策的效率,进而使得后续编码效率过低。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备及存储介质,可以提高模式决策的效率。
本申请实施例一方面提供一种数据处理方法,包括:
获取视频数据中的目标视频帧以及目标视频帧的图像块;
在目标视频帧的帧类型为第一类型时,获取用于优化图像块的率失真代价的第一模式决策条件;第一模式决策条件中至少包括第一编码模式以及第一跳转条件;第一编码模式用于预测得到图像块对应的第一预测块;
在第一预测块不满足第一跳转条件时,获取图像块对应的帧间编码模式;帧间编码模式用于预测得到图像块对应的第二预测块;
将与第二预测块相关联的率失真代价,确定为图像块对应的初始最小率失真代价;
获取亚像素调整条件,基于初始最小率失真代价以及亚像素调整条件,确定图像块对应的过渡最小率失真代价;
获取帧内预测条件,基于过渡最小率失真代价和帧内预测条件,确定图像块对应的目标最小率失真代价,根据目标最小率失真代价所对应的编码模式确定图像块的目标编码模式。
本申请实施例一方面提供一种数据处理装置,包括:
图像块获取模块,用于获取视频数据中的目标视频帧以及目标视频帧的图像块;
第一决策条件获取模块,用于在目标视频帧的帧类型为第一类型时,获取用于优化图像块的率失真代价的第一模式决策条件;第一模式决策条件中至少包含第一编码模式以及第一跳转条件;第一编码模式用于预测得到图像块对应的第一预测块;
帧间模式获取模块,用于在第一预测块不满足第一跳转条件时,获取图像块对应的帧间编码模式;帧间编码模式用于预测得到图像块对应的第二预测块;
初始代价确定模块,用于将与第二预测块相关联的率失真代价,确定为图像块对应的初始最小率失真代价;
过渡代价确定模块,用于获取亚像素调整条件,基于初始最小率失真代价以及亚像素调整条件,确定图像块对应的过渡最小率失真代价;
第一目标模式确定模块,用于获取帧内预测条件,基于过渡最小率失真代价和帧内预测条件,确定图像块对应的目标最小率失真代价,根据目标最小率失真代价所对应的编码模式确定图像块的目标编码模式。
其中,该图像块获取模块包括:
目标视频帧获取单元,用于获取通过图像采集器采集的视频数据,从视频数据中获取待进行编码的视频帧,将所获取到的视频帧作为目标视频帧;
图像块划分处理单元,用于通过视频编码器对目标视频帧进行图像块划分处理,得到视频帧对应的图像块。
其中,该装置还包括:
预测块确定模块,用于基于第一编码模式,对图像块进行预测处理,得到图像块对应的第一预测块;
量化参数确定模块,用于确定第一预测块与图像块之间的内容变化度,基于内容变化度,确定第一预测块与图像块之间的残差块,对残差块进行变换量化处理,得到图像块对应的量化参数;
第一确定模块,用于若量化参数的值均为零,则确定第一预测块满足第一跳转条件,且将第一编码模式作为图像块的目标编码模式;
第二确定模块,用于若量化参数具有非零值,则确定第一预测块不满足第一跳转条件。
其中,该帧间模式获取模块包括:
帧间预测处理单元,用于在第一预测块不满足第一跳转条件时,获取图像块对应的第一帧间编码模式,基于第一帧间编码模式,对图像块进行预测处理,得到第一帧间预测块;
第一确定单元,用于基于图像块、第一帧间预测块、以及与第一帧间编码模式相关联的编码辅助参数,确定图像块对应的第一率失真代价;
第二确定单元,用于基于图像块、第一预测块、以及与第一编码模式相关联的编码辅助参数,确定图像块对应的第二率失真代价;
最小代价确定单元,用于将从第一率失真代价和第二率失真代价中所确定的最小率失真代价,作为图像块对应的第一最小率失真代价;
帧间模式获取单元,用于获取块划分跳转条件,基于第一最小率失真代价、块划分跳转条件,获取图像块对应的帧间编码模式。
其中,该帧间模式获取单元包括:
块划分跳转条件获取子单元,用于获取块划分跳转条件,确定块划分跳转条件中的第一阈值;
第一确定子单元,用于若第一最小率失真代价小于第一阈值,则确定图像块满足块划分跳转条件,将第一最小率失真代价对应的编码模式确定为图像块对应的帧间编码模式;
帧间预测块确定子单元,用于若第一最小率失真代价大于或者等于第一阈值,则确定图像块不满足块划分跳转条件,并基于第二帧间编码模式,确定图像块对应的第二帧间预测块;
第二确定子单元,用于基于第一最小率失真代价、图像块、第二帧间预测块以及与第二帧间编码模式相关联的编码辅助参数,确定图像块对应的第二最小率失真代价,将第二最小率失真代价对应的编码模式作为图像块对应的帧间编码模式。
其中,该装置还包括:
编码模式获取模块,用于在目标视频帧的帧类型为第一类型时,获取图像块对应的第一帧间编码模式;第一帧间编码模式用于预测得到图像块对应的第三预测块;
第二决策条件获取模块,用于获取用于优化图像块的率失真代价的第二模式决策条件;第二模式决策条件至少包含第二编码模式以及第二跳转条件;第二编码模式用于预测得到图像块对应的第四预测块;第一编码模式与第二编码模式相同;
候选代价确定模块,用于基于图像块、第三预测块、与第一帧间编码模式相关联的编码辅助参数、第四预测块、以及与第二编码模式相关联的编码辅助参数,确定图像块对应的最小率失真代价,将所确定的最小率失真代价作为候选最小率失真代价;
第三确定模块,用于若候选最小率失真代价小于第二跳转条件中的初始阈值,则确定图像块满足第二跳转条件,且将候选最小率失真代价所对应的编码模式确定为图像块的目标编码模式;
第四确定模块,用于若候选最小率失真代价大于或者等于初始阈值时,则确定图像块不满足第二跳转条件,获取块划分跳转条件,基于候选最小率失真代价、块划分跳转条件,获取图像块对应的帧间编码模式。
其中,第二预测块为基于帧间编码模式,对图像块进行预测处理后所得到的具有最小率失真代价的预测块;
该过渡代价确定模块包括:
亚像素调整条件获取单元,用于获取亚像素调整条件,确定亚像素调整条件中的第二阈值;
第三确定单元,用于若初始最小率失真代价小于第二阈值,则确定图像块满足亚像素调整条件,将初始最小率失真代价确定为图像块的过渡最小率失真代价;
亚像素位置代价确定单元,用于若初始最小率失真代价大于或者等于第二阈值,则确定图像块不满足亚像素调整条件,确定第二预测块的亚像素位置的率失真代价;
第四确定单元,用于将从亚像素位置的率失真代价和初始最小率失真代价中所确定的最小率失真代价,作为图像块对应的过渡最小率失真代价。
其中,第一目标模式确定模块包括:
帧内预测条件获取单元,用于获取帧内预测条件,确定帧内预测条件中的第三阈值;
第五确定单元,用于若过渡最小率失真代价小于第三阈值,则确定图像块满足帧内预测条件,且将过渡最小率失真代价作为图像块的对应的目标最小率失真代价;
第六确定单元,用于若过渡最小率失真代价大于或者等于第三阈值,则确定图像块不满足帧内预测条件,基于图像块对应的帧内编码模式,确定图像块对应的目标最小率失真代价;
目标模式确定单元,用于将目标最小率失真代价所对应的编码模式,确定为图像块的目标编码模式。
其中,第六确定单元包括:
帧内模式获取子单元,用于若过渡最小率失真代价大于或者等于第三阈值,则确定图像块不满足帧内预测条件,从图像块对应的帧内编码模式中,获取图像块对应的第一帧内编码模式;
帧内预测处理子单元,用于基于第一帧内编码模式对图像块进行预测处理,得到图像块对应的第一帧内预测块,基于图像块、第一帧内预测块、以及与第一帧内编码模式相关联的编码辅助参数,确定图像块对应的第一帧内率失真代价;
第一帧内条件获取子单元,用于获取第一帧内跳转条件,基于第一帧内率失真代价、过渡最小率失真代价以及第一帧内跳转条件,确定图像块对应的第三最小率失真代价;
第二帧内条件获取子单元,用于获取第二帧内跳转条件,基于第三最小率失真代价以及第二帧内跳转条件,确定图像块对应的第四最小率失真代价;
目标代价确定子单元,用于将第四最小率失真代价作为图像块对应的目标最小率失真代价。
其中,第一帧内条件获取子单元还用于:
若第一帧内率失真代价大于或者等于过渡最小率失真代价,则确定图像块满足第一帧内跳转条件,将过渡最小率失真代价确定为第三最小率失真代价;
若第一帧内率失真代价小于过渡最小率失真代价,则确定图像块不满足第一帧内跳转条件,从帧内编码模式中获取第二帧内编码模式,基于第二帧内编码模式,对图像块进行预测处理,得到图像块对应的第二帧内预测块;
获取与第二帧内编码模式相关联的第一业务关键条件,基于图像块、第二帧内预测块、与第二帧内编码模式相关联的编码辅助参数、以及第一业务关键条件,确定图像块对应的第二帧内率失真代价;
将从第二帧内率失真代价和第一帧内率失真代价中所确定的最小率失真代价,作为图像块对应的第三最小率失真代价。
其中,第二帧内条件获取子单元还用于:
若第三最小率失真代价为过渡最小率失真代价,则确定图像块满足第二帧内跳转条件,将第三最小率失真代价确定为图像块对应的第四最小率失真代价;
若第三最小率失真代价为第一帧内率失真代价或者第二帧内率失真代价,则确定图像块不满足第二帧内跳转条件,从帧内编码模式中获取第三帧内编码模式,基于第三帧内编码模式,对图像块进行预测处理,得到图像块对应的第三帧内预测块;
获取与第三帧内编码模式相关联的第二业务关键条件,基于图像块、第三帧内预测块、与第三帧内编码模式相关联的编码辅助参数、以及第二业务关键条件,确定图像块对应的第三帧内率失真代价;
将从第三帧内率失真代价和第三最小率失真代价中所确定的最小率失真代价,作为图像块对应的第四最小率失真代价。
其中,该装置还包括:
目标代价确定模块,用于在目标视频帧的帧类型为第二类型时,基于帧内预测条件以及图像块对应的帧内编码模式,确定图像块对应的目标最小率失真代价;
第二目标模式确定模块,用于将目标最小率失真代价对应的编码模式作为图像块的目标编码模式。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
该处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面中的方法。
在本申请实施例中,具有视频编码功能的计算机设备在对图像块进行模式决策的过程中,无需对所有编码模式对应的率失真代价进行遍历计算,可以根据当前已经预测过的编码模式,确定图像块的先验信息。换言之,该先验信息可以为执行到当前步骤所得到的图像块的最小率失真代价。例如,初始最小率失真代价、过渡最小率失真代价以及目标最小率失真代价。进一步地,该计算机设备可以根据该先验信息以及第一模式决策条件中的第一跳转条件、块划分跳转条件、亚像素调整条件以及帧内预测条件等,确定图像块是否满足相关跳转条件。在该图像块满足上述某一跳转条件时,可以智能的跳过对应跳转条件下的编码模式,从而可以有效减少计算量,进而可以提高图像块的模式决策效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种图像块划分处理的场景示意图;
图5是本申请实施例提供的一种数据处理方法的流程示意图;
图6是本申请实施例提供的一种图像块的目标编码模式的决策流程图;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括服务器10和用户终端集群。该用户终端集群可以包括一个或者多个用户终端,这里将不对用户终端的数量进行限制。如图1所示,具体可以包括用户终端100a、用户终端100b、用户终端100c、…、用户终端100n。如图1所示,用户终端100a、用户终端100b、用户终端100c、…、用户终端100n可以分别与上述服务器10进行网络连接,以便于每个用户终端可以通过该网络连接与服务器10进行数据交互。其中,这里的网络连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。
其中,该用户终端集群中的每个用户终端均可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备、智能家居、头戴设备等具有数据处理功能的智能终端。应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有目标应用(即应用客户端),当该应用客户端运行于各用户终端中时,可以分别与上述图1所示的服务器10之间进行数据交互。其中,该应用客户端可以包括社交客户端、多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、教育客户端、直播客户端等具有视频编码功能的应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
如图1所示,本申请实施例中的服务器10可以为该应用客户端对应的服务器。该服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端。例如,本申请实施例可以将图1所示的用户终端100a作为目标用户终端,该目标用户终端中可以集成有具备视频编码功能的目标应用(即应用客户端)。此时,该目标用户终端可以通过该应用客户端对应的业务数据平台与服务器10之间实现数据交互。
应当理解,本申请实施例中的具有视频编码功能的计算机设备(例如,用户终端100a)可以通过云技术,实现对多媒体数据(例如,视频数据)的数据编码以及数据传输。其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术可以是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
例如,本申请实施例提供的数据处理方法可以应用于视频通话场景、视频传输场景、云会议场景、直播场景等高分辨率、高帧率的场景。其中,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前国内云会议主要集中在以SaaS(Software as a Service,软件即服务)模式为主体的服务内容,包括电话、网络、视频等服务形式,基于云计算的视频会议就叫云会议。在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而获得众多用户欢迎,已广泛应用在政府、军队、交通、运输、金融、运营商、教育、企业等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。
应当理解,本申请实施例所涉及到的图像块是指从编码视频帧(例如,目标视频帧)中所划分得到的宏块(Macroblock,简称MB),宏块是指视频编码技术中的一个基本概念。在视频数据中的每个视频帧中,若干宏块被排列成片的形式,视频编码算法可以以宏块为单位,对宏块进行逐个编码,封装成连续的视频码流。其中,一个宏块可以由一个亮度像素块和附加的两个色度像素块组成。一般来说,亮度块为16x16大小的像素块,而两个色度图像像素块的大小依据其图像的采样格式而定。例如:对于YUV420采样图像,色度块为8x8大小的像素块。
其中,视频数据中的视频帧的帧类型可以包括第一类型和第二类型。其中,本申请实施例可以将前向预测编码帧(predictive-frame,简称P帧)或者双向预测编码帧(bi-directional interpolated prediction frame简称B帧)这种帧类型称之为第一类型,将帧内编码帧(intra picture,简称I帧)这种帧类型称之为第二类型。可以理解的是,视频帧的帧类型不同,在对该视频帧的图像块进行编码处理时,确定目标编码模式的方法也不同。
可以理解的是,本申请实施例中所提及的编码模式可以包括SKIP模式、帧间编码模式以及帧内编码模式。其中,帧间编码模式可以包括第一帧间编码模式(例如,帧间16×16)和第二帧间编码模式(例如,帧间8×8、帧间16×8,帧间8×16等)。帧内编码模式可以包括第一帧内编码模式(例如,帧内16×16)、第二帧内编码模式(例如,帧内8×8)以及第三帧内编码模式(帧内4×4)。可以理解的是,用于对图像块进行预测处理的编码模式数量较多,为了有效减少计算量,提高图像块的模式决策效率,本申请实施例中的计算机设备无需对所有编码模式对应的率失真代价进行遍历计算,可以根据当前已经预测过的编码模式,得到先验信息(即最小率失真代价),以便在后续满足部分跳转条件时,可以智能的跳过对应跳转条件下的编码模式。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种进行数据交互的场景示意图。如图2所示,本申请实施例中的用户终端2a和用户终端2b均可以为上述图1所示的用户终端集群中的任意一个用户终端。其中,用户终端2a可以为用于发送视频数据(例如,图2所示的视频数据1)的发送终端,该用户终端2a对应的用户可以为用户A。用户终端2b可以为用于接收该视频数据1的接收终端,该用户终端2b对应的用户可以为用户B。其中,图2所示的服务器200可以为与用户终端2a和用户终端2b均具有网络连接关系的服务器,该服务器200可以为上述图1所示的服务器10。
应当理解,在视频通话场景中,用户终端2a可以通过图像采集器件(例如,摄像头)采集与用户A相关联的视频数据1。其中,视频数据1可以包括视频帧20x、视频帧20y以及视频帧20z。可以理解的是,视频帧20x可以为视频帧20y的前一帧,视频帧20y可以为视频帧20z的前一帧。进一步地,该用户终端2a需要通过视频编码器(例如,x264视频编码器)对该视频数据1进行编码处理,以生成与该视频数据1相关联的视频码流1。此时,用户终端2a可以将该视频码流1发送至服务器200,以使该服务器200可以将该视频码流1转发至用户终端2b。用户终端2b在接收到该视频码流1时,可以通过视频解码器对该视频码流1进行解码,以得到视频数据1,从而可以实现用户A与用户B之间的视频通话。当然,用户终端2b还可以对与用户B相关联的视频数据2进行编码处理,并将编码处理后所得到的视频码流2通过服务器200转发至用户终端2a,在此不做赘述。
其中,可以理解的是,该用户终端2a在对视频数据1进行数据传输时,可以从视频数据1中获取需要进行编码处理的目标视频帧(例如,图2所示的视频帧20y),并可以从该目标视频帧中获取图像块,进而能够对图像块进行模式决策,以得到该图像块的目标编码模式。在目标视频帧的帧类型为第一类型(例如,P帧或者B帧)时,用户终端2a可以获取用于优化该图像块的率失真代价的第一模式决策条件。其中,本申请实施例中的第一模式决策条件可以用于指示视频编码器率先评估编码模式中SKIP模式(即第一编码模式)。该第一模式决策条件中可以包括第一跳转条件、第一编码模式。这里的第一跳转条件用于指示视频编码器结束对该图像块的模式判决过程。这里的第一编码模式可以用于预测得到该图像块对应的第一预测块。
在该第一预测块满足第一跳转条件时,该用户终端2a可以将该第一编码模式确定为该图像块的目标编码模式。可选的,在该第一预测块不满足该第一跳转条件时,该用户终端2a可以获取该图像块对应的帧间编码模式。这里的帧间编码模式可以包括帧间编码模式1(例如,帧间16×16)、帧间编码模式2(例如,帧间8×8)、帧间编码模式3(例如,帧间16×8)以及帧间编码模式4(例如,帧间8×16)等。该帧间编码模式可以用于预测得到该图像块对应的第二预测块。该第二预测块可以为该图像块经过第一编码模式预测和帧间预测,所得到的具有最优预测结果的率失真代价(即最小率失真代价)对应的预测块。
此时,该用户终端2a可以将与该第二预测块相关联的率失真代价确定为该图像块对应的初始最小率失真代价。进一步地,该用户终端2a可以获取亚像素调整条件,并基于该初始最小率失真代价以及该亚像素调整条件,确定该图像块对应的过渡最小率失真代价。其中,亚像素调整条件用于指示视频编码器对初始最小率失真代价对应的第二预测块进行亚像素调整。
进一步地,该用户终端2a可以获取帧内预测条件。其中,帧内预测条件可以用于指示视频编码器对图像块进行帧内预测。该帧内预测条件中可以包括帧内编码模式,该帧内编码模式可以包括帧内编码模式1(例如,帧内16×16)、帧内编码模式2(例如,帧内8×8)以及帧内编码模式3(例如,帧内4×4)等。应当理解,用户终端2a可以基于过渡最小率失真代价和帧内预测条件,确定图像块对应的目标最小率失真代价,进而可以根据目标最小率失真代价所对应的编码模式,确定图像块的目标编码模式。
可选的,在目标视频帧的帧类型为第二类型(例如,I帧)时,用户终端2a可以获取图像块对应的帧内预测条件以及图像块对应的帧内编码模式,快速确定该图像块对应的目标最小率失真代价,进而可以将该目标最小率失真代价对应的编码模式作为该图像块的目标编码模式。
在对该图像块进行编码处理的过程中,该用户终端2a可以将该目标编码模式对应的预测块作为目标预测块,进而可以确定该目标预测块与图像块之间的内容变化度,并基于该内容变化度确定图像块对应的残差块。此时,该计算机设备可以对该残差块进行离散余弦变换处理和量化处理,以得到量化参数,进而可以对量化参数进行熵编码,以得到该图像块对应的压缩码流。其中,量化参数(Quantizer Parameter,简称QP)反映了空间细节压缩情况。一般取值为0~51之间,QP值越小,量化越精细,图像质量越高,产生的码流也越长。例如,QP值小,大部分的细节都会被保留。QP值越大,编码失真越大,图像质量越低,一些图像细节丢失,编码码率越小。
同理,该用户终端2a可以确定该视频数据1中的目标视频帧的每个图像块分别对应的目标编码模式,从而可以对每个图像块进行逐个编码,得到每个图像块分别对应的压缩码流,进而可以将这些压缩码流封装成与该视频数据1相关联的视频码流1。
由此可见,用户终端2a在通过视频编码器,对目标视频帧中的图像块进行编码处理的过程中,无需对所有编码模式进行遍历计算,可以确定一些已经计算得到的先验信息(例如,第一预测块、初始最小率失真代价、过渡最小率失真代价等)。进一步地,用户终端2a可以基于先验信息,确定图像块是否满足相关跳转条件。在该图像块满足相关跳转条件时,可以智能的跳过对应跳转条件下的编码模式,减少计算量,以快速确定出图像块的目标编码模式,从而提高了模式决策的效率。由于模式决策的效率提高,从而导致编码速度得以提升,进而能够有效减少中央处理器(central processing unit,简称CPU)的占用,节省客户端资源。
其中,具有视频编码功能的计算机设备可以获取预先设定的跳转条件以及用于对图像块进行预测处理的编码模式,确定目标视频帧中的图像块的先验信息,以对图像块进行模式决策,从而得到该图像块的目标编码模式的具体实现方式可以参见下述图3-图7所对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法可以由具有视频编码功能的计算机设备执行,该计算机设备可以为用户终端(例如,上述图1所示的用户终端100a),也可以为服务器(例如,上述图1所示的服务器10),在此不做限定。为便于理解,本申请实施例以该方法由用户终端执行为例进行说明,该方法至少可以包括以下步骤S101-步骤S106:
步骤S101,获取视频数据中的目标视频帧以及目标视频帧的图像块。
具体地,具有视频编码功能的计算机设备(例如,用户终端)可以在视频数据传输场景中,获取通过图像采集器(例如,用户终端的摄像头)采集的视频数据。进一步地,该计算机设备可以从视频数据中获取待进行编码的视频帧,将所获取到的视频帧作为目标视频帧。可以理解的是,该计算机设备可以通过视频编码器,对目标视频帧进行图像块划分处理,得到视频帧对应的图像块(即宏块)。
其中,本申请实施例中对视频数据进行编码处理的视频编码器可以为x264视频编码器,x264视频编码器是一个开源的H.264/MPEG-4AVC视频编码函数库,是最好的有损视频编码器之一。这里的视频数据还可以为其他场景下的任意一个需要被进行编码处理的视频数据。例如,该视频数据可以为在音视频通话场景中,通过用户终端的摄像头所采集的视频数据,该视频数据也可以为用户终端的相册中所保存的视频数据,该视频数据还可以为用户终端在网络上所下载的视频数据,在此不做限定。
步骤S102,在目标视频帧的帧类型为第一类型时,获取用于优化图像块的率失真代价的第一模式决策条件。
具体地,该计算机设备可以确定目标视频帧的帧类型。其中,视频数据中的帧类型可以包括第一类型(例如,P帧或B帧)和第二类型(例如,I帧)。在目标视频帧的帧类型为第一类型时,该计算机设备可以获取用于优化图像块的率失真代价的第一模式决策条件。其中,第一模式决策条件用于指示计算机设备的视频编码器率先评估编码模式中SKIP模式(即第一编码模式)。
可以理解的是,率失真代价可以作为编码性能的评估标准,选择最小率失真代价对应的编码模式能够获取最优编码性能。因此,该计算机设备在对图像块进行预测处理的过程中,可以基于与编码模式相关联的编码辅助参数(例如,编码码率、编码失真)确定图像块的率失真代价。其中,编码码率也表现为数据压缩的程度,编码码率越低,视频数据压缩的越厉害。在实际应用中,计算机设备常采用平均误差(SSE)、均方误差(MSE)、绝对误差和(SAD)以及峰值信噪比(PSNR)等客观质量评估标准作为编码失真的失真测度。
这里的率失真代价可以为编码码率与编码失真结合的代价函数,具体地,率失真代价的计算公式可以参见下述公式(1):
RD_cost=D+λ*R, (1)
其中,RD_cost是指率失真代价,D是指与编码模式相关联的编码失真,R是指与编码模式相关联的编码码率,λ是拉格朗日因子。
可以理解的是,这里的第一跳转条件和下述的第二跳转条件均可以统称为跳转条件,这里的跳转条件用于指示该计算机设备结束图像块的模式决策过程。例如,该跳转条件可以为量化参数的值均为0。其中,量化参数是由计算机设备通过图像块的最小率失真代价对应的预测块所确定的。该跳转条件还可以为该图像块的最小率失真代价(或者最小编码失真)小于某一阈值(例如,初始阈值)。该跳转条件还可以为其他能够结束图像块模式决策过程的条件,在此不做限定。
其中,该计算机设备所获取的第一模式决策条件中可以包括SKIP模式。其中,由于SKIP模式在所有编码模式中引入的计算量最低。因此,在图像块的模式决策过程中,该计算机设备可以率先评估SKIP模式,以提升编码速度。此时,本申请实施例可以在对图像块的模式决策过程中,将率先评估的SKIP模式称之为第一编码模式。本申请实施例中的第一跳转条件可以为以量化参数的值均为零为例,用以阐述图像块的率先评估SKIP模式的过程。
应当理解,该计算机设备可以基于第一编码模式,对图像块进行预测处理,得到图像块对应的第一预测块。此时,该计算机设备可以确定第一预测块与图像块之间的内容变化度,进而基于内容变化度,确定第一预测块与图像块之间的残差块。进一步地,该计算机设备可以对残差块进行变换量化处理,以得到图像块对应的量化参数。其中,这里的变换量化处理可以包括离散余弦变换(即DTC变换)处理以及量化处理。
可以理解的是,若量化参数的值均为零,则该计算机设备可以确定第一预测块满足第一跳转条件,且将第一编码模式作为图像块的目标编码模式。换言之,该图像块的目标编码模式可以提前确定为SKIP模式,以略过其他编码模式的评估,进而可以减少计算量。可选的,若量化参数具有非零值,则该计算机设备可以确定第一预测块不满足第一跳转条件,进而可以执行步骤S103。
步骤S103,在第一预测块不满足第一跳转条件时,获取图像块对应的帧间编码模式。
具体地,在第一预测块不满足第一跳转条件时,该计算机设备可以获取图像块对应的第一帧间编码模式(例如,帧间16×16),进而可以基于第一帧间编码模式,对图像块进行预测处理,得到第一帧间预测块。此时,该计算机设备可以基于图像块、第一帧间预测块、以及与第一帧间编码模式相关联的编码辅助参数,确定图像块对应的第一率失真代价。与此同时,该计算机设备还可以基于图像块、第一预测块、以及与第一编码模式(例如,SKIP模式)相关联的编码辅助参数,确定图像块对应的第二率失真代价。进一步地,该计算机设备可以将从第一率失真代价和第二率失真代价中所确定的最小率失真代价,作为图像块对应的第一最小率失真代价。此时,该计算机设备可以获取块划分跳转条件,并且可以基于第一最小率失真代价、块划分跳转条件,获取图像块对应的帧间编码模式。其中,块划分跳转条件可以用于指示计算机设备结束对图像块的帧间预测。
可选的,在所述目标视频帧的帧类型为第一类型时,该计算机设备可以获取帧间编码模式中的第一帧间编码模式(例如,帧间16×16),进而可以基于该第一帧间编码模式,对图像块进行预测处理,以得到图像块对应的第三预测块。进一步地,该计算机设备可以获取用于优化图像块的率失真代价的第二模式决策条件(例如,SKIP模式)以及第二跳转条件。其中,第二模式决策条件可以用于后评估编码模式中的SKIP模式。可以理解的是,该计算机设备可以基于SKIP模式,对图像块进行预测处理,以得到图像块对应的第四预测块。其中,第一编码模式和第二编码模式均为SKIP模式,其区别在于进行预测处理的顺序不同。为便于理解,本申请实施例中的第二跳转条件可以以最小率失真代价小于某一阈值(即初始阈值)为例,用以阐述图像块的后评估SKIP模式的过程。
此时,该计算机设备可以基于图像块、第三预测块、与第一帧间编码模式相关联的编码辅助参数、第四预测块、与第二编码模式(即SKIP模式)相关联的编码辅助参数,确定该图像块对应的最小率失真代价,进而可以将所确定的最小率失真代价作为候选率失真代价。可以理解的是,若候选最小率失真代价小于第二跳转条件中的初始阈值,则该计算机设备可以确定图像块满足第二跳转条件,且将候选最小率失真代价所对应的编码模式确定为图像块的目标编码模式。换言之,该图像块的目标编码模式可以提前确定为SKIP模式,以略过其他剩余编码模式的评估,进而可以减少计算量。可选的,若候选最小率失真代价大于或者等于初始阈值时,则该计算机设备可以确定图像块不满足第二跳转条件,进而可以获取块划分跳转条件,基于候选最小率失真代价、块划分跳转条件,获取图像块对应的帧间编码模式。其中,候选最小率失真代价与第一最小率失真代价相同。
其中,可以理解的是,本申请实施例中的块划分跳转条件可以为最小率失真代价小于第一阈值(例如,TH1),其中,第一阈值是一个大于或者等于0的阈值,该第一阈值与QP值有关,且QP值越大第一阈值越大。具体地,第一阈值的计算公式可以参见公式(2):
THx=a*|QP|^b, (2)
其中,a和b均可以为一个常数,a可以为0.0018,b可以为2.412。QP可以为量化参数。
应当理解,计算机设备可以根据上述公式(1),确定块划分跳转条件中的第一阈值。可以理解的是,若第一最小率失真代价小于第一阈值,则该计算机设备可以确定图像块满足块划分跳转条件,进而可以无需对该图像块进行二次图像块划分处理,直接将第一最小率失真代价对应的编码模式确定为图像块对应的帧间编码模式。可选的,若第一最小率失真代价大于或者等于第一阈值,则该计算机设备可以确定图像块不满足块划分跳转条件,进而可以基于第二帧间编码模式,确定图像块对应的第二帧间预测块。其中,这里的第二帧间编码模式可以包括帧间8×8,帧间16×8以及帧间8×16。
进一步地,该计算机设备可以基于第一最小率失真代价、图像块、第二帧间预测块以及与第二帧间编码模式相关联的编码辅助参数,确定图像块对应的第二最小率失真代价,且将第二最小率失真代价对应的编码模式作为图像块对应的帧间编码模式。
为便于理解,进一步地,请参见图4,图4是本申请实施例提供的一种图像块划分处理的场景示意图。如图4所示,图像块40a可以为具有视频编码功能的计算机设备从目标视频帧所获取的宏块,该图像块40a可以为16×16大小的像素块。
其中,该计算机设备所获得的第一编码模式(例如,SKIP模式)可以用于预测得到图像块对应的预测块(即第一预测块,例如,预测块1),帧间编码模式中的第一帧间编码模式(例如,帧间16×16)可以用于预测得到图像块对应的预测块(即第一帧间预测块,例如,帧间预测块1)。该计算机设备通过图像块40a、预测块1、与第一编码模式相关联的编码辅助参数、帧间预测块1、与第一帧间编码模式相关联的编码辅助参数,所确定的最小率失真代价可以称之为第一最小率失真代价。
应当理解,当计算机设备在该图像块40a的模式决策过程中,基于第一最小率失真代价确定该图像块40a不满足块划分跳转条件时,该计算机设备可以按照第二帧间编码模式(例如,帧间8×8,帧间16×8以及帧间8×16等)。对图像块40a进行二次图像块划分处理,进而可以基于该第二帧间编码模式,对划分后的图像块进行预测处理,以得到具有最小率失真代价的预测块(即第二预测块)。
如图4所示,在该计算机设备所获取的第二帧间编码模式为帧间16×8时,该计算机设备可以按照帧间16×8,对图像40a进行二次图像块划分处理,得到划分处理后的图像块(例如,图4所示的图像块40b)。其中,该图像块40b可以包括像素块0和像素块1这两个16×8的像素块。进一步地,该计算机设备可以基于帧间16×8,对该图像块40b进行预测处理,以得到对应的预测块(例如,帧间预测块2)。此时,该计算机设备可以通过图像块40a、帧间预测块2、以及与帧间16×8相关联的编码辅助参数,根据上述公式(1)确定图像块40a对应的率失真代价(例如,率失真代价41)。
可选的,在该计算机设备所获取的第二帧间编码模式为帧间8×16时,该计算机设备可以按照帧间8×16,对图像40a进行二次图像块划分处理,得到划分处理后的图像块(例如,图4所示的图像块40c)。其中,该图像块40c可以包括像素块0和像素块1这两个8×16的像素块。进一步地,该计算机设备可以基于帧间8×16,对该图像块40c进行预测处理,以得到对应的预测块(例如,帧间预测块3)。此时,该计算机设备可以通过图像块40a、帧间预测块3、以及与帧间8×16相关联的编码辅助参数,根据上述公式(1)确定图像块40a对应的率失真代价(例如,率失真代价42)。
可选的,在该计算机设备所获取的第二帧间编码模式为帧间8×8时,该计算机设备可以按照帧间8×8,对图像40a进行二次图像块划分处理,得到划分处理后的图像块(例如,图4所示的图像块40d)。其中,该图像块40d可以包括像素块0、像素块1、像素块2以及像素块3这四个8×8的像素块。进一步地,该计算机设备可以基于帧间8×8,对该图像块40d进行预测处理,以得到对应的预测块(例如,帧间预测块4)。此时,该计算机设备可以通过图像块40a、帧间预测块4、以及与帧间8×8相关联的编码辅助参数,根据上述公式(1)确定图像块40a对应的率失真代价(例如,率失真代价43)。
其中,本申请实施例可以帧间预测块2、帧间预测块3以及帧间预测块4统称为第二帧间预测块。进一步地,该计算机设备可以从第一最小率失真代价、率失真代价41、率失真代价42以及率失真代价43中,确定最小率失真代价,进而可以将所确定的最小率失真代价称之为该图像块对应的第二最小率失真代价,且将第二最小率失真代价对应的编码模式作为图像块对应的帧间编码模式。
例如,若该计算机设备所确定的第二最小率失真代价为率失真代价42,则该计算机设备可以将帧间编码模式中的帧间8×16这一第二帧间编码模式作为该图像块的帧间编码模式。
步骤S104,将与第二预测块相关联的率失真代价,确定为图像块对应的初始最小率失真代价。
其中,第二预测块可以为该计算机设备基于帧间编码模式,对图像块进行预测处理后所得到的具有最小率失真代价的预测块。此时,该计算机设备可以将与该第二预测块相关联的率失真代价确定为图像块对应的初始最小率失真代价。
例如,若该第二预测块为第一编码模式所预测得到的预测块(即第一预测块),则该图像块对应的初始最小率失真代价可以为第二率失真代价。可选的,若该第二预测块为帧间编码模式中的第一帧间编码模式(例如,帧间16×16)对应的第一帧间预测块,则该图像块对应的初始最小率失真代价可以为第一率失真代价。若该第二预测块为帧间编码模式中第二帧间编码模式对应的第二帧间预测块(例如,帧间16×8),则图像块对应的初始最小率失真代价可以为帧间16×8对应的率失真代价。
步骤S105,获取亚像素调整条件,基于初始最小率失真代价以及亚像素调整条件,确定图像块对应的过渡最小率失真代价。
具体地,该计算机设备可以获取亚像素调整条件,进而可以确定亚像素调整条件中的第二阈值。其中,这里的亚像素调整条件用于指示计算机设备的视频编码器对第二预测块进行亚像素调整。该亚像素调整条件可以为初始最小率失真代价小于第二阈值(例如,TH2),其中,第二阈值是一个大于或者等于0的阈值,该第二阈值与QP值有关,且QP值越大第二阈值越大。该第二阈值可以根据上述公式(2)所确定。可以理解的是,若初始最小率失真代价小于第二阈值,则该计算机设备可以确定图像块满足亚像素调整条件,无需对该第二预测块进行亚像素位置调整,可以直接将初始最小率失真代价确定为图像块的过渡最小率失真代价。可选的,若初始最小率失真代价大于或者等于第二阈值,则该计算机设备可以确定图像块不满足亚像素调整条件,进而可以确定第二预测块的亚像素位置的率失真代价,且将从亚像素位置的率失真代价和初始最小率失真代价中所确定的最小率失真代价,作为图像块对应的过渡最小率失真代价。
应当理解,计算机设备在模式决策过程中所得到的初始最小率失真代价对应的预测块可以称之为第二预测块。例如,这里的第二预测块可以为该计算机设备在该图像块的参考视频帧(例如,目标视频帧的前一帧或后一帧)中所获得的与该图像块相匹配的参考块。可以理解的是,实际具有最优预测结果的预测块并不一定是像素的整数倍,因此需要将运动估计的精度提升到亚像素级别。通过使用更多邻近像素点进行亚像素精度插值,从而可以计算该第二预测块的周围亚像素位置的率失真代价。其中,亚像素精度可以包括1/2,1/3,1/4等。
例如,若该计算机设备所确定的亚像素精度为1/2,则该计算机设备可以在该第二预测块中的每个像素点周围插值8个亚像素点,以得到新的预测块,此时,该计算机设备可以确定这个新的预测块的率失真代价。进一步地,该计算机设备可以从新的预测块的率失真代价和初始最小率失真代价中确定最小率失真代价,进而可以将所确定的最小率失真代价作为该图像块的过渡最小率失真代价。
步骤S106,获取帧内预测条件,基于过渡最小率失真代价和帧内预测条件,确定图像块对应的目标最小率失真代价,根据目标最小率失真代价所对应的编码模式确定图像块的目标编码模式。
具体地,该计算机设备可以获取帧内预测条件,进而可以确定帧内预测条件中的第三阈值。其中,帧内预测条件用于指示计算机设备的视频编码器对图像块进行帧内预测。该帧内预测条件可以为过渡最小率失真代价小于第三阈值(例如,TH3),其中,第三阈值是一个大于或者等于0的阈值,该第三阈值与QP值有关,且QP值越大第三阈值越大。该第三阈值可以根据上述公式(2)所确定。可以理解的是,若过渡最小率失真代价小于第三阈值,则该计算机设备确定图像块满足帧内预测条件,无需对该图像块进行帧内预测,可以直接将过渡最小率失真代价作为图像块的对应的目标最小率失真代价。可选的,若过渡最小率失真代价大于或者等于第三阈值,则该计算机设备可以确定图像块不满足帧内预测条件,此时,该计算机设备可以基于帧内预测条件中的帧内编码模式,确定图像块对应的目标最小率失真代价。进一步地,该计算机设备可以将目标最小率失真代价所对应的编码模式,确定为图像块的目标编码模式。
其中,帧内预测条件中的帧内编码模式可以包括第一帧内编码模式(例如,帧内16×16)、第二帧内编码模式(例如,帧内8×8)以及第三帧内编码模式(例如,帧内4×4)。
可以理解的是,若过渡最小率失真代价大于或者等于第三阈值,则该计算机设备可以确定图像块不满足帧内预测条件,此时,该计算机设备可以从图像块对应的帧内编码模式中,获取图像块对应的第一帧内编码模式(例如,帧内16×16)。进一步地,该计算机设备可以基于第一帧内编码模式对图像块进行预测处理,得到图像块对应的第一帧内预测块(例如,帧内预测块1),进而可以基于图像块、第一帧内预测块、以及与第一帧内编码模式相关联的编码辅助参数,确定图像块对应的第一帧内率失真代价(例如,帧内率失真代价1)。
进一步地,该计算机设备可以获取第一帧内跳转条件。其中,这里的第一帧内跳转条件用于指示计算机设备中的视频编码器对图像块进行第二帧内编码模式(例如,帧内8×8)预测。其中,这里的第一帧内跳转条件可以为第一帧内率失真代价大于或者等于过渡最小率失真代价。此时,该计算机设备可以基于第一帧内率失真代价、过渡最小率失真代价以及第一帧内跳转条件,确定图像块对应的第三最小率失真代价。
其中,可以理解的是,若第一帧内率失真代价大于或者等于过渡最小率失真代价,则该计算机设备可以确定图像块满足第一帧内跳转条件,进而可以无需对该图像块进行第二帧内编码模式的预测,直接将过渡最小率失真代价确定为第三最小率失真代价。可选的,若第一帧内率失真代价小于过渡最小率失真代价,则该计算机设备可以确定图像块不满足第一帧内跳转条件,换言之,当前具有最优预测结果的率失真代价可以为第一帧内率失真代价。
进一步地,计算机设备可以从帧内编码模式中获取第二帧内编码模式(例如,帧内8×8),进而可以基于第二帧内编码模式,对图像块进行预测处理,得到图像块对应的第二帧内预测块。应当理解,该计算机设备可以获取与第二帧内编码模式相关联的第一业务关键条件。其中,这里的第一业务关键条件可以用于指示计算机设备中的视频编码器暂停对图像块进行第二帧内编码模式的预测。
其中,该第一业务关键条件可以如下述公式(3)所示:
其中,Intra8×8_cost是指该计算机设备基于第二帧内编码模式,对图像块进行预测处理时所得到的率失真代价总和。TH4是指该第一业务关键条件中的第四阈值,该第四阈值的取值可以为1.5,Mincost可以为该计算机设备在当前模式决策过程中所得到的最小率失真代价(即第一帧内率失真代价)。idx可以表示当前执行第二帧内编码模式的像素块的序号。其中,idx的取值范围可以为0~3。
进一步地,该计算机设备可以基于图像块、第二帧内预测块、与第二帧内编码模式相关联的编码辅助参数、以及第一业务关键条件,确定图像块对应的第二帧内率失真代价,将从第二帧内率失真代价和第一帧内率失真代价中所确定的最小率失真代价,作为图像块对应的第三最小率失真代价。
应当理解,如上述图4所示,该计算机设备在基于第二帧内编码模式(例如,帧内8×8),对图像块40a进行预测处理时,可以对图像块40a进行二次图像块划分处理,得到图像块40d。其中,图像块40d可以包括像素块0、像素块1、像素块2以及像素块3这四个8×8的像素块。
当基于第二帧内编码模式,该计算机设备对像素块0(即idx为0)进行预测处理,以得到像素块0对应的第二帧内预测子块(例如,帧内预测子块0)。此时,该计算机设备可以确定该帧内预测子块0的率失真代价(即第二帧内率失真代价),进而可以基于所确定的帧内预测子块0的率失真代价,确定图像块40a是否满足上述公式(3)所示的第一业务关键条件。若该图像块40a所得到的帧内预测子块0满足第一业务关键条件,则该计算机设备可以停止对像素块1、像素块2以及像素块3的预测处理,直接将过渡最小率失真代价确定为图像块40a对应的第三最小率失真代价。
若该图像块40a所得到的帧内预测子块0不满足第一业务关键条件,则该计算机设备可以基于第二帧内编码模式,继续对像素块1(即idx为1)进行预测处理,以得到像素块1对应的第二帧内预测子块(例如,帧内预测子块1)。此时,该计算机设备可以确定该帧内预测子块1的率失真代价,并可以将帧内预测子块0的率失真代价和帧内预测子块1的率失真代价之和确定为第二帧内率失真代价,进而可以基于所确定第二帧内率失真代价,确定图像块40a是否满足上述公式(3)所示的第一业务关键条件。若该图像块40a所得到的帧内预测子块0和帧内预测子块1满足第一业务关键条件,则该计算机设备可以停止对像素块2以及像素块3的预测处理,直接将过渡最小率失真代价确定为图像块40a对应的第三最小率失真代价。
若该图像块40a所得到的帧内预测子块0和帧内预测子块1不满足第一业务关键条件,则该计算机设备可以基于第二帧内编码模式,继续对像素块2(即idx为2)进行预测处理,以得到像素块2对应的第二帧内预测子块(例如,帧内预测子块2)。此时,该计算机设备可以确定该帧内预测子块2的率失真代价,并可以将帧内预测子块0的率失真代价、帧内预测子块1的率失真代价以及帧内预测子块2的率失真代价之和确定为第二帧内率失真代价,进而可以基于所确定第二帧内率失真代价,确定图像块40a是否满足上述公式(3)所示的第一业务关键条件。若该图像块40a所得到的帧内预测子块0、帧内预测子块1以及帧内预测子块2满足第一业务关键条件,则该计算机设备可以停止对像素块3的预测处理,直接将过渡最小率失真代价确定为图像块40a对应的第三最小率失真代价。
若该图像块40a所得到的帧内预测子块0、帧内预测子块1以及帧内预测子块2不满足第一业务关键条件,则该计算机设备可以基于第二帧内编码模式,继续对像素块3(即idx为3)进行预测处理,以得到像素块3对应的第二帧内预测子块(例如,帧内预测子块3)。此时,该计算机设备可以确定该帧内预测子块3的率失真代价,并可以将帧内预测子块0的率失真代价、帧内预测子块1的率失真代价、帧内预测子块2的率失真代价以及帧内预测子块3的率失真代价之和确定为第二帧内率失真代价。此时,该计算机设备可以将从第二帧内率失真代价和第一帧内率失真代价中所确定的最小率失真代价,作为图像块40a对应的第三最小率失真代价。
进一步地,该计算机设备还可以获取第二帧内跳转条件。其中,这里的第二帧内跳转条件用于指示计算机设备中的视频编码器对图像块进行第三帧内编码模式(例如,帧内4×4)预测。其中,这里的第二帧内跳转条件可以为第三率失真代价为过渡最小率失真代价。此时,该计算机设备可以基于第三最小率失真代价以及第二帧内跳转条件,确定图像块对应的第四最小率失真代价,进而可以将第四最小率失真代价作为图像块对应的目标最小率失真代价。
其中,可以理解的是,若第三最小率失真代价为过渡最小率失真代价,则该计算机设备可以确定图像块满足第二帧内跳转条件,进而可以无需对该图像块进行第三帧内编码模式的预测,直接将第三最小率失真代价确定为图像块对应的第四最小率失真代价。可选的,若第三最小率失真代价为第一帧内率失真代价或者第二帧内率失真代价,则该计算机设备可以确定图像块不满足第二帧内跳转条件。此时,该计算机设备可以从帧内编码模式中获取第三帧内编码模式(帧内4×4),进而可以基于第三帧内编码模式,对图像块进行预测处理,得到图像块对应的第三帧内预测块。应当理解,该计算机设备可以从第一模式决策条件中,获取与第三帧内编码模式相关联的第二业务关键条件。其中,这里的第二业务关键条件可以用于指示计算机设备中的视频编码器暂停对图像块进行第三帧内编码模式的预测。
其中,该第二业务关键条件可以如下述公式(4)所示:
其中,Intra4×4_cost是指该计算机设备基于第三帧内编码模式,对图像块进行预测处理时所得到的率失真代价总和。TH5是指该第二业务关键条件中的第五阈值,该第五阈值的取值可以为1.5,Mincost可以为该计算机设备在模式决策过程中所得到的第三最小率失真代价。idx可以表示当前执行第三帧内编码模式的像素块的序号。其中,idx的取值范围可以为0~15。
进一步地,该计算机设备可以基于图像块、第三帧内预测块、与第三帧内编码模式相关联的编码辅助参数、以及第二业务关键条件,确定图像块对应的第三帧内率失真代价,将从第三帧内率失真代价和第三最小率失真代价中所确定的最小率失真代价,作为图像块对应的第四最小率失真代价。
其中,该计算机设备基于第三帧内编码模式对图像块进行预测处理的具体实施方式可以参见,上述基于第二帧内编码模式对图像块进行预测处理的具体实施方式,在此将不再继续进行赘述。
进一步地,该计算机设备可以将第四最小率失真代价作为图像块对应的目标最小率失真代价,且将该目标最小率失真代价所对应的编码模式确定为该图像块的目标编码模式。
由此可见,该计算机设备在对图像块进行模式决策的过程中,可以根据第一跳转条件、块划分跳转条件、亚像素调整条件以及帧内预测条件等,计算得到图像块的先验信息(例如,执行到当前步骤所得到的最小率失真代价),进而可以在满足上述条件时,智能的跳过部分编码模式,从而可以有效减少计算量,以提高图像块的模式决策效率。
进一步地,请参见图5,图5是本申请实施例提供的一种数据处理方法的流程示意图。如图5所示,该方法可以由具有视频编码功能的计算机设备执行,该计算机设备可以为用户终端(例如,上述图1所示的用户终端100a),也可以为服务器(例如,上述图1所示的服务器10),在此不做限定。为便于理解,本申请实施例以该方法由用户终端执行为例进行说明,该方法至少可以包括以下步骤S201-步骤S208:
步骤S201,获取视频数据中的目标视频帧以及目标视频帧的图像块。
应当理解,在该计算机设备在执行完步骤S201,确定目标视频帧的帧类型为第一类型(例如,B帧或者P帧)时,该计算机设备可以确定该图像块的目标编码模式,该方法至少可以包括以下步骤S202-步骤S206。
步骤S202,在目标视频帧的帧类型为第一类型时,获取用于优化图像块的率失真代价的第一模式决策条件。
步骤S203,在第一预测块不满足第一跳转条件时,获取图像块对应的帧间编码模式。
步骤S204,将与第二预测块相关联的率失真代价,确定为图像块对应的初始最小率失真代价。
步骤S205,获取亚像素调整条件,基于初始最小率失真代价以及亚像素调整条件,确定图像块对应的过渡最小率失真代价。
步骤S206,获取帧内预测条件,基于过渡最小率失真代价和帧内预测条件,确定图像块对应的目标最小率失真代价,根据目标最小率失真代价所对应的编码模式确定图像块的目标编码模式。
其中,该步骤S201-步骤S206的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S106的描述,这里将不再赘述。
应当理解,在该计算机设备在执行完步骤S201,确定目标视频帧的帧类型为第二类型(例如,I帧)时,该计算机设备可以跳转执行步骤S207-步骤S208。
步骤S207,在目标视频帧的帧类型为第二类型时,基于帧内预测条件以及图像块对应的帧内编码模式,确定图像块对应的目标最小率失真代价。
步骤S208,将目标最小率失真代价对应的编码模式作为图像块的目标编码模式。
其中,该计算机设备基于帧内预测条件以及帧内编码模式,确定图像块对应的目标最小率失真代价的具体实施方式可以参见上述步骤S206的描述方式,在此将不再继续进行赘述。
为便于理解,进一步地,请参见图6,图6是本申请实施例提供的一种图像块的目标编码模式的决策流程图。如图6所示,本申请实施例中的计算机设备可以为具有视频编码功能的计算机设备,该计算机设备可以为用户终端,也可以为服务器,在此不做限定。本申请实施例提供的目标编码模式的决策流程图可以应用于一种高分辨率、高帧率的摄像头场景。
应当理解,该计算机设备在传输视频数据时,可以获取视频数据中的目标视频帧,以及在该目标视频帧中获取待进行编码的图像块。如图6所示,在确定该目标视频帧的帧类型为第一类型(例如,P帧或者B帧)时,该计算机设备可以获取用于优化图像块的率失真代价的第一模式决策条件,进而可以执行步骤S611,以判决是否需要率先评估SKIP模式。
在需要率先评估SKIP模式时,本申请实施例可以将SKIP模式称之为第一编码模式,进而可以执行步骤S612,即该计算机设备可以基于第一编码模式,对图像块进行预测处理,以得到图像块对应的第一预测块。进一步地,该计算机设备可以执行步骤S613,以确定该第一预测块是否满足第一跳转条件。可以理解的是,若该第一预测块满足该第一跳转条件,则该计算机设备可以直接结束对图像块的模式决策,进而可以将第一编码模式作为该图像块的目标编码模式。若该第一预测块不满足该第一跳转条件,则该计算机设备可以执行步骤S614,获取第一帧间编码模式(例如,帧间16×16),进而可以基于该第一帧间编码模式,对该图像块进行预测处理,以得到第一帧间预测块。此时,该计算机设备可以基于图像块、第一预测块、第一帧间编码模式、与第一编码模式相关联的编码辅助参数、与第一帧间编码模式相关联的编码辅助参数,确定图像块对应的最小率失真代价(即第一最小率失真代价),进而可以执行步骤S615。
可选的,在不需要率先评估SKIP模式时,该计算机设备可以跳转执行步骤S625,获取第一帧间编码模式(例如,帧间16×16),进而可以基于该第一帧间编码模式,对该图像块进行预测处理,以得到图像块对应的第三预测块。进一步地,该计算机设备可以执行步骤S626,获取第二模式决策条件,进而可以基于第二模式决策条件中的第二编码模式(即SKIP模式),对图像块进行预测处理,以得到图像块对应的第四预测块。此时,该计算机设备可以执行步骤S627,以确定该图像块是否满足第二跳转条件。若该图像块满足该第二跳转条件,则该计算机设备可以直接结束对图像块的模式决策,进而可以将最小率失真代价(即上述候选最小率失真代价)对应的编码模式作为该图像块的目标编码模式。若该图像块不满足该第二跳转条件,则该计算机设备可以执行步骤S615。
应当理解,在执行步骤S615时,该计算机设备可以获取块划分跳转条件,进而可以确定该图像块是否满足块划分跳转条件。若该图像块满足该块划分跳转条件,则该计算机设备可以将最小率失真代价(即上述的候选最小率失真代价或者第一最小率失真代价)确定为初始最小率失真代价,以跳转执行步骤S617。若该图像块不满足该块划分跳转条件,则该计算机设备可以执行步骤S616,获取第二帧间编码模式(例如,帧间16×8、帧间8×16以及帧间8×8等),进而可以预测得到具有最优预测结果的第二预测块。此时,该计算机设备可以将与第二预测块相关联的率失真代价(即第二最小率失真代价)确定为初始最小率失真代价,进而可以执行步骤S617。
进一步地,该计算机设备在执行步骤S617时,可以获取亚像素调整条件。在图像块满足该亚像素调整条件时,该计算机设备可以直接将初始最小率失真代价确定为过渡最小率失真代价,以跳转执行步骤S619。在图像块不满足该亚像素调整条件时,该计算机设备可以执行步骤S618,对第二预测块进行亚像素调整,进而可以将具有最优预测结果的率失真代价确定为过渡最小率失真代价,进而可以执行步骤S619。
应当理解,该计算机设备在执行步骤S619时,可以获取帧内预测条件。在图像块满足该帧内预测条件时,该计算机设备可以将过渡最小率失真代价确定为图像块的目标最小率失真代价,进而可以将目标最小率失真代价对应的编码模式作为图像块的目标编码模式,以结束对图像块的模式决策。在图像块不满足该帧内预测条件时,该计算机设备可以执行步骤S620,获取第一帧内编码模式(例如,帧内16×16),进而可以基于该第一帧内编码模式,对图像块进行预测处理,以得到图像块对应的第一帧内预测块。此时,该计算机设备可以确定图像块对应的第一帧内率失真代价。
进一步地,该计算机设备可以执行步骤S621,确定图像块是否满足第一帧内跳转条件。在该图像块满足第一帧内跳转条件时,该计算机设备可以将过渡最小率失真代价确定为第三最小率失真代价,以跳转执行步骤S623。在该图像块不满足第一帧内跳转条件时,该计算机设备可以执行步骤S622,获取第二帧内编码模式(例如,帧内8×8)、进而可以基于第二帧内编码模式,对图像块进行预测处理,以得到第二帧内预测块。该计算机设备可以获取与第二帧内编码模式相关联的第一业务关键条件,进而可以基于图像块、第二帧内预测块、与第二帧内编码模式相关联的编码辅助参数、以及第一业务关键条件,确定图像块对应的第二帧内率失真代价。此时,该计算机设备可以将从第二帧内率失真代价和第一帧内率失真代价中所确定的最小率失真代价,作为图像块对应的第三最小率失真代价,进而可以执行步骤S623。
进一步地,该计算机设备在执行步骤S623时,可以确定图像块是否满足第二帧内跳转条件。在该图像块满足第二帧内跳转条件时,该计算机设备可以将第三最小率失真代价确定为目标最小率失真代价,进而可以将目标最小率失真代价对应的编码模式作为图像块的目标编码模式,以结束对图像块的模式决策。在该图像块不满足第二帧内跳转条件时,该计算机设备可以执行步骤S624,从帧内编码模式中获取第三帧内编码模式(例如,帧内4×4),进而基于第三帧内编码模式,对图像块进行预测处理,得到图像块对应的第三帧内预测块。进一步地,该计算机设备可以获取与第三帧内编码模式相关联的第二业务关键条件,进而基于图像块、第三帧内预测块、与第三帧内编码模式相关联的编码辅助参数、以及第二业务关键条件,确定图像块对应的第三帧内率失真代价。此时,该计算机设备可以将从第三帧内率失真代价和第三最小率失真代价中所确定的最小率失真代价,作为图像块对应的目标最小率失真代价,进而可以将目标最小率失真代价对应的编码模式作为图像块的目标编码模式,以结束对图像块的模式决策。
可以理解的是,通过本申请实施例提供的这种数据处理方法能够对具有视频编码功能的计算机设备的视频编码器进行优化,在视频会议场景中通过优化后的视频编码器,对1080p的摄像头序列(即视频数据)进行编码处理。其中,优化后,中央处理器(简称CPU)占有率明显有下降。其中,Windows端开启1080p的CPU占有率下降了2.26%~3.13%,Mac端开启1080p的CPU占有率下降了4.09%。优化前后,Windows端和Mac端的图形处理器(GraphicsProcessing Unit,简称GPU)保持一致。优化前后,Windows端和Mac端的内存保持一致。优化前后,Windows端和Mac端的编码码率基本保持一致,解码码率也基本保持一致。
进一步地,请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图。如图7所示,该数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图7所示,该数据处理装置1可以运行于具有视频编码功能的计算机设备。该数据处理装置1可以包括:图像块获取模块11,第一决策条件获取模块12,帧间模式获取模块13,初始代价确定模块14,过渡代价确定模块15,第一目标模式确定模块16,预测块确定模块17,量化参数确定模块18,第一确定模块19,第二确定模块20,编码模式获取模块21,第二决策条件获取模块22,候选代价确定模块23,第三确定模块24,第三确定模块25,目标代价确定模块26以及第二目标模式确定模块27。
该图像块获取模块11,用于获取视频数据中的目标视频帧以及目标视频帧的图像块。
其中,该图像块获取模块11包括:目标视频帧获取单元111以及图像块划分处理单元112。
该目标视频帧获取单元111,用于获取通过图像采集器采集的视频数据,从视频数据中获取待进行编码的视频帧,将所获取到的视频帧作为目标视频帧;
该图像块划分处理单元112,用于通过视频编码器对目标视频帧进行图像块划分处理,得到视频帧对应的图像块。
其中,该目标视频帧获取单元111以及图像块划分处理单元112的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
该第一决策条件获取模块12,用于在目标视频帧的帧类型为第一类型时,获取用于优化图像块的率失真代价的第一模式决策条件;第一模式决策条件中至少包含第一编码模式以及第一跳转条件;第一编码模式用于预测得到图像块对应的第一预测块;
该帧间模式获取模块13,用于在第一预测块不满足第一跳转条件时,获取图像块对应的帧间编码模式;帧间编码模式用于预测得到图像块对应的第二预测块。
其中,该帧间模式获取模块13包括:帧间预测处理单元131,第一确定单元132,第二确定单元133,最小代价确定单元134以及帧间模式获取单元135。
该帧间预测处理单元131,用于在第一预测块不满足第一跳转条件时,获取图像块对应的第一帧间编码模式,基于第一帧间编码模式,对图像块进行预测处理,得到第一帧间预测块;
该第一确定单元132,用于基于图像块、第一帧间预测块、以及与第一帧间编码模式相关联的编码辅助参数,确定图像块对应的第一率失真代价;
该第二确定单元133,用于基于图像块、第一预测块、以及与第一编码模式相关联的编码辅助参数,确定图像块对应的第二率失真代价;
该最小代价确定单元134,用于将从第一率失真代价和第二率失真代价中所确定的最小率失真代价,作为图像块对应的第一最小率失真代价;
该帧间模式获取单元135,用于获取块划分跳转条件,基于第一最小率失真代价、块划分跳转条件,获取图像块对应的帧间编码模式。
其中,该帧间模式获取单元135包括:块划分跳转条件获取子单元1351,第一确定子单元1352,帧间预测块确定子单元1353以及第二确定子单元1354。
该块划分跳转条件获取子单元1351,用于获取块划分跳转条件,确定块划分跳转条件中的第一阈值;
该第一确定子单元1352,用于若第一最小率失真代价小于第一阈值,则确定图像块满足块划分跳转条件,将第一最小率失真代价对应的编码模式确定为图像块对应的帧间编码模式;
该帧间预测块确定子单元1353,用于若第一最小率失真代价大于或者等于第一阈值,则确定图像块不满足块划分跳转条件,并基于第二帧间编码模式,确定图像块对应的第二帧间预测块;
该第二确定子单元1354,用于基于第一最小率失真代价、图像块、第二帧间预测块以及与第二帧间编码模式相关联的编码辅助参数,确定图像块对应的第二最小率失真代价,将第二最小率失真代价对应的编码模式作为图像块对应的帧间编码模式。
其中,该块划分跳转条件获取子单元1351,第一确定子单元1352,帧间预测块确定子单元1353以及第二确定子单元1354的具体实现方式可以参见上述图3所对应实施例中对帧间编码模式的描述,这里将不再继续进行赘述。
其中,该帧间预测处理单元131,第一确定单元132,第二确定单元133,最小代价确定单元134以及帧间模式获取单元135的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
该初始代价确定模块14,用于将与第二预测块相关联的率失真代价,确定为图像块对应的初始最小率失真代价;
该过渡代价确定模块15,用于获取亚像素调整条件,基于初始最小率失真代价以及亚像素调整条件,确定图像块对应的过渡最小率失真代价。
其中,第二预测块为基于帧间编码模式,对图像块进行预测处理后所得到的具有最小率失真代价的预测块;
该过渡代价确定模块15包括:亚像素调整条件获取单元151,第三确定单元152,亚像素位置代价确定单元153以及第四确定单元154。
该亚像素调整条件获取单元151,用于获取亚像素调整条件,确定亚像素调整条件中的第二阈值;
该第三确定单元152,用于若初始最小率失真代价小于第二阈值,则确定图像块满足亚像素调整条件,将初始最小率失真代价确定为图像块的过渡最小率失真代价;
该亚像素位置代价确定单元153,用于若初始最小率失真代价大于或者等于第二阈值,则确定图像块不满足亚像素调整条件,确定第二预测块的亚像素位置的率失真代价;
该第四确定单元154,用于将从亚像素位置的率失真代价和初始最小率失真代价中所确定的最小率失真代价,作为图像块对应的过渡最小率失真代价。
其中,该亚像素调整条件获取单元151,第三确定单元152,亚像素位置代价确定单元153以及第四确定单元154的具体实现方式可以参见上述图3所对应实施例中对步骤S105的描述,这里将不再继续进行赘述。
该第一目标模式确定模块16,用于获取帧内预测条件,基于过渡最小率失真代价和帧内预测条件,确定图像块对应的目标最小率失真代价,根据目标最小率失真代价所对应的编码模式确定图像块的目标编码模式。
其中,第一目标模式确定模块16包括:帧内预测条件获取单元161,第五确定单元162,第六确定单元163以及目标模式确定单元164。
该帧内预测条件获取单元161,用于获取帧内预测条件,确定帧内预测条件中的第三阈值;
该第五确定单元162,用于若过渡最小率失真代价小于第三阈值,则确定图像块满足帧内预测条件,且将过渡最小率失真代价作为图像块的对应的目标最小率失真代价;
该第六确定单元163,用于若过渡最小率失真代价大于或者等于第三阈值,则确定图像块不满足帧内预测条件,基于图像块对应的帧内编码模式,确定图像块对应的目标最小率失真代价。
其中,第六确定单元163包括:帧内模式获取子单元1631,帧内预测处理子单元1632,第一帧内条件获取子单元1633,第二帧内条件获取子单元1634以及目标代价确定子单元1635。
该帧内模式获取子单元1631,用于若过渡最小率失真代价大于或者等于第三阈值,则确定图像块不满足帧内预测条件,从图像块对应的帧内编码模式中,获取图像块对应的第一帧内编码模式;
该帧内预测处理子单元1632,用于基于第一帧内编码模式对图像块进行预测处理,得到图像块对应的第一帧内预测块,基于图像块、第一帧内预测块、以及与第一帧内编码模式相关联的编码辅助参数,确定图像块对应的第一帧内率失真代价;
该第一帧内条件获取子单元1633,用于获取第一帧内跳转条件,基于第一帧内率失真代价、过渡最小率失真代价以及第一帧内跳转条件,确定图像块对应的第三最小率失真代价;
其中,该第一帧内条件获取子单元1633还用于:
若第一帧内率失真代价大于或者等于过渡最小率失真代价,则确定图像块满足第一帧内跳转条件,将过渡最小率失真代价确定为第三最小率失真代价;
若第一帧内率失真代价小于过渡最小率失真代价,则确定图像块不满足第一帧内跳转条件,从帧内编码模式中获取第二帧内编码模式,基于第二帧内编码模式,对图像块进行预测处理,得到图像块对应的第二帧内预测块;
获取与第二帧内编码模式相关联的第一业务关键条件,基于图像块、第二帧内预测块、与第二帧内编码模式相关联的编码辅助参数、以及第一业务关键条件,确定图像块对应的第二帧内率失真代价;
将从第二帧内率失真代价和第一帧内率失真代价中所确定的最小率失真代价,作为图像块对应的第三最小率失真代价。
第二帧内条件获取子单元1634,用于获取第二帧内跳转条件,基于第三最小率失真代价以及第二帧内跳转条件,确定图像块对应的第四最小率失真代价;
其中,该第二帧内条件获取子单元1634还用于:
若第三最小率失真代价为过渡最小率失真代价,则确定图像块满足第二帧内跳转条件,将第三最小率失真代价确定为图像块对应的第四最小率失真代价;
若第三最小率失真代价为第一帧内率失真代价或者第二帧内率失真代价,则确定图像块不满足第二帧内跳转条件,从帧内编码模式中获取第三帧内编码模式,基于第三帧内编码模式,对图像块进行预测处理,得到图像块对应的第三帧内预测块;
获取与第三帧内编码模式相关联的第二业务关键条件,基于图像块、第三帧内预测块、与第三帧内编码模式相关联的编码辅助参数、以及第二业务关键条件,确定图像块对应的第三帧内率失真代价;
将从第三帧内率失真代价和第三最小率失真代价中所确定的最小率失真代价,作为图像块对应的第四最小率失真代价。
目标代价确定子单元1635,用于将第四最小率失真代价作为图像块对应的目标最小率失真代价。
其中,该帧内模式获取子单元1631,帧内预测处理子单元1632,第一帧内条件获取子单元1633,第二帧内条件获取子单元1634以及目标代价确定子单元1635的具体实现方式可以参见上述图3所对应实施例中对目标最小率失真代价的描述,这里将不再继续进行赘述。
该目标模式确定单元164,用于将目标最小率失真代价所对应的编码模式,确定为图像块的目标编码模式。
其中,该帧内预测条件获取单元161,第五确定单元162,第六确定单元163以及目标模式确定单元164的具体实现方式可以参见上述图3所对应实施例中对步骤S106的描述,这里将不再继续进行赘述。
该预测块确定模块17,用于基于第一编码模式,对图像块进行预测处理,得到图像块对应的第一预测块;
该量化参数确定模块18,用于确定第一预测块与图像块之间的内容变化度,基于内容变化度,确定第一预测块与图像块之间的残差块,对残差块进行变换量化处理,得到图像块对应的量化参数;
该第一确定模块19,用于若量化参数的值均为零,则确定第一预测块满足第一跳转条件,且将第一编码模式作为图像块的目标编码模式;
该第二确定模块20,用于若量化参数具有非零值,则确定第一预测块不满足第一跳转条件。
该编码模式获取模块21,用于在目标视频帧的帧类型为第一类型时,获取图像块对应的第一帧间编码模式;第一帧间编码模式用于预测得到图像块对应的第三预测块;
第二决策条件获取模块22,用于获取用于优化图像块的率失真代价的第二模式决策条件;第二模式决策条件至少包含第二编码模式以及第二跳转条件;第二编码模式用于预测得到图像块对应的第四预测块;第一编码模式与第二编码模式相同;
该候选代价确定模块23,用于基于图像块、第三预测块、与第一帧间编码模式相关联的编码辅助参数、第四预测块、以及与第二编码模式相关联的编码辅助参数,确定图像块对应的最小率失真代价,将所确定的最小率失真代价作为候选最小率失真代价;
该第三确定模块24,用于若候选最小率失真代价小于第二跳转条件中的初始阈值,则确定图像块满足第二跳转条件,且将候选最小率失真代价所对应的编码模式确定为图像块的目标编码模式;
该第三确定模块25,用于若候选最小率失真代价大于或者等于初始阈值时,则确定图像块不满足第二跳转条件,获取块划分跳转条件,基于候选最小率失真代价、块划分跳转条件,获取图像块对应的帧间编码模式。
该目标代价确定模块26,用于在目标视频帧的帧类型为第二类型时,基于帧内预测条件以及图像块对应的帧内编码模式,确定图像块对应的目标最小率失真代价;
该第二目标模式确定模块27,用于将目标最小率失真代价对应的编码模式作为图像块的目标编码模式。
其中,该图像块获取模块11,第一决策条件获取模块12,帧间模式获取模块13,初始代价确定模块14,过渡代价确定模块15,第一目标模式确定模块16,预测块确定模块17,量化参数确定模块18,第一确定模块19,第二确定模块20,编码模式获取模块21,第二决策条件获取模块22,候选代价确定模块23,第三确定模块24,第三确定模块25,目标代价确定模块26以及第二目标模式确定模块27的具体实现方式可以参见上述图5所对应实施例中对步骤S201-步骤S208的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图8,图8是本申请实施例提供的一种计算机设备的示意图。如图8所示,该计算机设备1000可以为上述图2对应实施例中的用户终端2A,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的计算机设备1000中,网络接口1004主要用于与服务器进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取视频数据中的目标视频帧以及目标视频帧的图像块;
在目标视频帧的帧类型为第一类型时,获取用于优化图像块的率失真代价的第一模式决策条件;第一模式决策条件中至少包括第一编码模式以及第一跳转条件;第一编码模式用于预测得到图像块对应的第一预测块;
在第一预测块不满足第一跳转条件时,获取图像块对应的帧间编码模式;帧间编码模式用于预测得到图像块对应的第二预测块;
将与第二预测块相关联的率失真代价,确定为图像块对应的初始最小率失真代价;
获取亚像素调整条件,基于初始最小率失真代价以及亚像素调整条件,确定图像块对应的过渡最小率失真代价;
获取帧内预测条件,基于过渡最小率失真代价和帧内预测条件,确定图像块对应的目标最小率失真代价,根据目标最小率失真代价所对应的编码模式确定图像块的目标编码模式。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图5所对应实施例中对该数据处理方法的描述,也可执行前文图7所对应实施例中对该数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3和图5中各个步骤所提供的数据传输方法,具体可参见图3以及图5各个步骤所提供的实现方式,在此不再赘述。
计算机可读存储介质可以是前述任一实施例提供的数据传输装置或者计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmedia card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图3或者图5所对应实施例中对数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包括。例如包括了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取视频数据中的目标视频帧以及所述目标视频帧的图像块;
在所述目标视频帧的帧类型为第一类型时,获取用于优化所述图像块的率失真代价的第一模式决策条件;所述第一模式决策条件中至少包含第一编码模式以及第一跳转条件;所述第一编码模式用于预测得到所述图像块对应的第一预测块;
在所述第一预测块不满足所述第一跳转条件时,获取所述图像块对应的帧间编码模式;所述帧间编码模式用于预测得到所述图像块对应的第二预测块;所述第二预测块为基于所述帧间编码模式,对所述图像块进行预测处理后所得到的具有最小率失真代价的预测块;
将与所述第二预测块相关联的率失真代价,确定为所述图像块对应的初始最小率失真代价;
获取亚像素调整条件,确定所述亚像素调整条件中的第二阈值;
若所述初始最小率失真代价小于所述第二阈值,则确定所述图像块满足所述亚像素调整条件,将所述初始最小率失真代价确定为所述图像块的过渡最小率失真代价;
若所述初始最小率失真代价大于或者等于所述第二阈值,则确定所述图像块不满足所述亚像素调整条件,确定所述初始最小率失真代价对应的第二预测块的亚像素位置的率失真代价;
将从所述亚像素位置的率失真代价和所述初始最小率失真代价中所确定的最小率失真代价,作为所述图像块对应的过渡最小率失真代价;
获取帧内预测条件,基于所述过渡最小率失真代价和所述帧内预测条件,确定所述图像块对应的目标最小率失真代价,根据所述目标最小率失真代价所对应的编码模式确定所述图像块的目标编码模式。
2.根据权利要求1所述的方法,其特征在于,所述获取视频数据中的目标视频帧以及所述目标视频帧的图像块,包括:
获取通过图像采集器采集的视频数据,从所述视频数据中获取待进行编码的视频帧,将所获取到的视频帧作为目标视频帧;
通过视频编码器对所述目标视频帧进行图像块划分处理,得到所述视频帧对应的图像块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第一编码模式,对所述图像块进行预测处理,得到所述图像块对应的第一预测块;
确定所述第一预测块与所述图像块之间的内容变化度,基于所述内容变化度,确定所述第一预测块与所述图像块之间的残差块,对所述残差块进行变换量化处理,得到所述图像块对应的量化参数;
若所述量化参数的值均为零,则确定所述第一预测块满足所述第一跳转条件,且将所述第一编码模式作为所述图像块的目标编码模式;
若所述量化参数具有非零值,则确定所述第一预测块不满足所述第一跳转条件。
4.根据权利要求1所述的方法,其特征在于,所述在所述第一预测块不满足所述第一跳转条件时,获取所述图像块对应的帧间编码模式,包括:
在所述第一预测块不满足所述第一跳转条件时,获取所述图像块对应的第一帧间编码模式,基于所述第一帧间编码模式,对所述图像块进行预测处理,得到第一帧间预测块;
基于所述图像块、所述第一帧间预测块、以及与所述第一帧间编码模式相关联的编码辅助参数,确定所述图像块对应的第一率失真代价;
基于所述图像块、所述第一预测块、以及与所述第一编码模式相关联的编码辅助参数,确定所述图像块对应的第二率失真代价;
将从所述第一率失真代价和所述第二率失真代价中所确定的最小率失真代价,作为所述图像块对应的第一最小率失真代价;
获取块划分跳转条件,基于所述第一最小率失真代价、所述块划分跳转条件,获取所述图像块对应的帧间编码模式。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一最小率失真代价、所述块划分跳转条件,获取所述图像块对应的帧间编码模式,包括:
获取块划分跳转条件,确定所述块划分跳转条件中的第一阈值;
若所述第一最小率失真代价小于所述第一阈值,则确定所述图像块满足所述块划分跳转条件,将所述第一最小率失真代价对应的编码模式确定为所述图像块对应的帧间编码模式;
若所述第一最小率失真代价大于或者等于所述第一阈值,则确定所述图像块不满足所述块划分跳转条件,并基于第二帧间编码模式,确定所述图像块对应的第二帧间预测块;
基于所述第一最小率失真代价、所述图像块、所述第二帧间预测块以及与所述第二帧间编码模式相关联的编码辅助参数,确定所述图像块对应的第二最小率失真代价,将所述第二最小率失真代价对应的编码模式作为所述图像块对应的帧间编码模式。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标视频帧的帧类型为第一类型时,获取所述图像块对应的第一帧间编码模式;所述第一帧间编码模式用于预测得到所述图像块对应的第三预测块;
获取用于优化所述图像块的率失真代价的第二模式决策条件;所述第二模式决策条件至少包含第二编码模式以及第二跳转条件;所述第二编码模式用于预测得到所述图像块对应的第四预测块;所述第一编码模式与所述第二编码模式相同;
基于所述图像块、所述第三预测块、与所述第一帧间编码模式相关联的编码辅助参数、所述第四预测块、以及与所述第二编码模式相关联的编码辅助参数,确定所述图像块对应的最小率失真代价,将所确定的最小率失真代价作为候选最小率失真代价;
若所述候选最小率失真代价小于所述第二跳转条件中的初始阈值,则确定所述图像块满足所述第二跳转条件,且将所述候选最小率失真代价所对应的编码模式确定为所述图像块的目标编码模式;
若所述候选最小率失真代价大于或者等于所述初始阈值时,则确定所述图像块不满足所述第二跳转条件,获取块划分跳转条件,基于所述候选最小率失真代价、所述块划分跳转条件,获取所述图像块对应的帧间编码模式。
7.根据权利要求1所述的方法,其特征在于,所述获取帧内预测条件,基于所述过渡最小率失真代价和所述帧内预测条件,确定所述图像块对应的目标最小率失真代价,根据所述目标最小率失真代价所对应的编码模式确定所述图像块的目标编码模式,包括:
获取帧内预测条件,确定所述帧内预测条件中的第三阈值;
若所述过渡最小率失真代价小于所述第三阈值,则确定所述图像块满足所述帧内预测条件,且将所述过渡最小率失真代价作为所述图像块的对应的目标最小率失真代价;
若所述过渡最小率失真代价大于或者等于所述第三阈值,则确定所述图像块不满足所述帧内预测条件,基于所述图像块对应的帧内编码模式,确定所述图像块对应的目标最小率失真代价;
将所述目标最小率失真代价所对应的编码模式,确定为所述图像块的目标编码模式。
8.根据权利要求7所述的方法,其特征在于,所述若所述过渡最小率失真代价大于或者等于所述第三阈值,则确定所述图像块不满足所述帧内预测条件,基于所述图像块对应的帧内编码模式,确定所述图像块对应的目标最小率失真代价,包括:
若所述过渡最小率失真代价大于或者等于所述第三阈值,则确定所述图像块不满足所述帧内预测条件,从所述图像块对应的帧内编码模式中,获取所述图像块对应的第一帧内编码模式;
基于所述第一帧内编码模式对所述图像块进行预测处理,得到所述图像块对应的第一帧内预测块,基于所述图像块、所述第一帧内预测块、以及与所述第一帧内编码模式相关联的编码辅助参数,确定所述图像块对应的第一帧内率失真代价;
获取第一帧内跳转条件,基于所述第一帧内率失真代价、所述过渡最小率失真代价以及所述第一帧内跳转条件,确定所述图像块对应的第三最小率失真代价;
获取第二帧内跳转条件,基于所述第三最小率失真代价以及所述第二帧内跳转条件,确定所述图像块对应的第四最小率失真代价;
将所述第四最小率失真代价作为所述图像块对应的目标最小率失真代价。
9.根据权利要求8所述的方法,其特征在于,所述基于所述第一帧内率失真代价、所述过渡最小率失真代价以及所述第一帧内跳转条件,确定所述图像块对应的第三最小率失真代价,包括:
若所述第一帧内率失真代价大于或者等于所述过渡最小率失真代价,则确定所述图像块满足所述第一帧内跳转条件,将所述过渡最小率失真代价确定为第三最小率失真代价;
若所述第一帧内率失真代价小于所述过渡最小率失真代价,则确定所述图像块不满足所述第一帧内跳转条件,从所述帧内编码模式中获取第二帧内编码模式,基于所述第二帧内编码模式,对所述图像块进行预测处理,得到所述图像块对应的第二帧内预测块;
获取与所述第二帧内编码模式相关联的第一业务关键条件,基于所述图像块、所述第二帧内预测块、与所述第二帧内编码模式相关联的编码辅助参数、以及所述第一业务关键条件,确定图像块对应的第二帧内率失真代价;
将从所述第二帧内率失真代价和所述第一帧内率失真代价中所确定的最小率失真代价,作为所述图像块对应的第三最小率失真代价。
10.根据权利要求9所述的方法,其特征在于,所述基于所述第三最小率失真代价以及所述第二帧内跳转条件,确定所述图像块对应的第四最小率失真代价,包括:
若所述第三最小率失真代价为所述过渡最小率失真代价,则确定所述图像块满足所述第二帧内跳转条件,将所述第三最小率失真代价确定为所述图像块对应的第四最小率失真代价;
若所述第三最小率失真代价为所述第一帧内率失真代价或者所述第二帧内率失真代价,则确定所述图像块不满足所述第二帧内跳转条件,从所述帧内编码模式中获取第三帧内编码模式,基于所述第三帧内编码模式,对所述图像块进行预测处理,得到所述图像块对应的第三帧内预测块;
获取与所述第三帧内编码模式相关联的第二业务关键条件,基于所述图像块、所述第三帧内预测块、与所述第三帧内编码模式相关联的编码辅助参数、以及所述第二业务关键条件,确定所述图像块对应的第三帧内率失真代价;
将从所述第三帧内率失真代价和所述第三最小率失真代价中所确定的最小率失真代价,作为所述图像块对应的第四最小率失真代价。
11.根据权利要求1~10任一项所述的方法,其特征在于,所述方法还包括:
在所述目标视频帧的帧类型为第二类型时,基于所述帧内预测条件以及所述图像块对应的帧内编码模式,确定所述图像块对应的目标最小率失真代价;
将所述目标最小率失真代价对应的编码模式作为所述图像块的目标编码模式。
12.一种数据处理装置,其特征在于,包括:
图像块获取模块,用于获取视频数据中的目标视频帧以及所述目标视频帧的图像块;
第一决策条件获取模块,用于在所述目标视频帧的帧类型为第一类型时,获取用于优化所述图像块的率失真代价的第一模式决策条件;所述第一模式决策条件中至少包含第一编码模式以及第一跳转条件;所述第一编码模式用于预测得到所述图像块对应的第一预测块;
帧间模式获取模块,用于在所述第一预测块不满足所述第一跳转条件时,获取所述图像块对应的帧间编码模式;所述帧间编码模式用于预测得到所述图像块对应的第二预测块;所述第二预测块为基于所述帧间编码模式,对所述图像块进行预测处理后所得到的具有最小率失真代价的预测块;
初始代价确定模块,用于将与所述第二预测块相关联的率失真代价,确定为所述图像块对应的初始最小率失真代价;
过渡代价确定模块,用于获取亚像素调整条件,确定所述亚像素调整条件中的第二阈值;
所述过渡代价确定模块,还用于若所述初始最小率失真代价小于所述第二阈值,则确定所述图像块满足所述亚像素调整条件,将所述初始最小率失真代价确定为所述图像块的过渡最小率失真代价;
所述过渡代价确定模块,还用于若所述初始最小率失真代价大于或者等于所述第二阈值,则确定所述图像块不满足所述亚像素调整条件,确定所述初始最小率失真代价对应的第二预测块的亚像素位置的率失真代价;
所述过渡代价确定模块,还用于将从所述亚像素位置的率失真代价和所述初始最小率失真代价中所确定的最小率失真代价,作为所述图像块对应的过渡最小率失真代价;
第一目标模式确定模块,用于获取帧内预测条件,基于所述过渡最小率失真代价和所述帧内预测条件,确定所述图像块对应的目标最小率失真代价,根据所述目标最小率失真代价所对应的编码模式确定所述图像块的目标编码模式。
13.一种计算机设备,其特征在于,包括:处理器、存储器、网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1-11任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011188933.XA CN114449283B (zh) | 2020-10-30 | 2020-10-30 | 一种数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011188933.XA CN114449283B (zh) | 2020-10-30 | 2020-10-30 | 一种数据处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114449283A CN114449283A (zh) | 2022-05-06 |
CN114449283B true CN114449283B (zh) | 2024-06-07 |
Family
ID=81358148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011188933.XA Active CN114449283B (zh) | 2020-10-30 | 2020-10-30 | 一种数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114449283B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210741A (zh) * | 2016-09-10 | 2016-12-07 | 天津大学 | 一种基于视点间相关性的深度视频编码算法 |
CN107864380A (zh) * | 2017-12-14 | 2018-03-30 | 杭州电子科技大学 | 基于dct的3d‑hevc快速帧内预测决策方法 |
CN110996104A (zh) * | 2019-12-05 | 2020-04-10 | 华中科技大学 | 一种光场焦点堆栈图像序列编、解码方法、装置及系统 |
CN111277824A (zh) * | 2020-02-12 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 图像预测处理方法、装置、终端及计算机可读存储介质 |
WO2020181476A1 (zh) * | 2019-03-11 | 2020-09-17 | 华为技术有限公司 | 视频图像预测方法及装置 |
-
2020
- 2020-10-30 CN CN202011188933.XA patent/CN114449283B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210741A (zh) * | 2016-09-10 | 2016-12-07 | 天津大学 | 一种基于视点间相关性的深度视频编码算法 |
CN107864380A (zh) * | 2017-12-14 | 2018-03-30 | 杭州电子科技大学 | 基于dct的3d‑hevc快速帧内预测决策方法 |
WO2020181476A1 (zh) * | 2019-03-11 | 2020-09-17 | 华为技术有限公司 | 视频图像预测方法及装置 |
CN110996104A (zh) * | 2019-12-05 | 2020-04-10 | 华中科技大学 | 一种光场焦点堆栈图像序列编、解码方法、装置及系统 |
CN111277824A (zh) * | 2020-02-12 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 图像预测处理方法、装置、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114449283A (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7529348B2 (ja) | エンコーダ、デコーダ、および対応するイントラ予測方法 | |
CN107005698B (zh) | 支持尽力服务解码的元数据提示 | |
CN114501010B (zh) | 图像编码方法、图像解码方法及相关装置 | |
CN104012096A (zh) | 执行视频译码的运动向量预测 | |
CN104284197A (zh) | 视频编码器及其操作方法 | |
KR20140008498A (ko) | 공유된 비디오 코딩 정보에 기반된 다수의 프로파일 및 표준들 그리고 다수의 시간적으로 스케일된 비디오를 갖는 실시간 비디오 코딩 시스템 | |
CN112235582B (zh) | 一种视频数据处理方法、装置、计算机设备及存储介质 | |
CN112204962B (zh) | 图像预测方法、装置和计算机可读存储介质 | |
CN105900419A (zh) | 屏幕内容数据的视频编码 | |
CN114845102A (zh) | 光流修正的提前终止 | |
CN111385572B (zh) | 预测模式确定方法、装置及编码设备和解码设备 | |
CN107079159B (zh) | 基于多核系统的并行视频解码的方法和设备 | |
CA2817790A1 (en) | Method for h264 transcoding with code stream information reuse | |
JP2023179684A (ja) | ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体 | |
JP2023017955A (ja) | 動きベクトル取得方法および装置 | |
CN117579820B (zh) | 编码参数确定方法、装置、电子设备以及存储介质 | |
CN111416977A (zh) | 视频编码器、视频解码器及相应方法 | |
CN111355959A (zh) | 一种图像块划分方法及装置 | |
JP7331105B2 (ja) | フレーム間予測方法及び関連する装置 | |
CN111432219B (zh) | 一种帧间预测方法及装置 | |
WO2020155791A1 (zh) | 帧间预测方法和装置 | |
CN114449283B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
KR20130023444A (ko) | 다단계 화면간 예측을 이용한 영상 부호화/복호화 장치 및 방법 | |
CN111327899A (zh) | 视频译码器及相应方法 | |
CN111901593A (zh) | 一种图像划分方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |