CN117635486A - 图像处理方法、装置、设备及存储介质 - Google Patents
图像处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117635486A CN117635486A CN202311288899.7A CN202311288899A CN117635486A CN 117635486 A CN117635486 A CN 117635486A CN 202311288899 A CN202311288899 A CN 202311288899A CN 117635486 A CN117635486 A CN 117635486A
- Authority
- CN
- China
- Prior art keywords
- image
- mask
- pixel
- mask value
- frame image
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 115
- 238000000034 method Methods 0.000 claims abstract description 92
- 238000006073 displacement reaction Methods 0.000 claims abstract description 49
- 230000008859 change Effects 0.000 claims abstract description 8
- 230000033001 locomotion Effects 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 53
- 239000013598 vector Substances 0.000 claims description 53
- 238000005070 sampling Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 14
- 230000007704 transition Effects 0.000 abstract description 11
- 238000009877 rendering Methods 0.000 description 74
- 230000006870 function Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 25
- 239000000872 buffer Substances 0.000 description 17
- 230000008439 repair process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 238000002156 mixing Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本申请提供的图像处理方法、装置、设备及存储介质,涉及图像处理技术领域。其中,该方法,包括:在第一真实帧图像和第二真实帧图像之间满足插帧条件时,对第一真实帧图像进行位移处理得到第一图像、用于标记第一图像中待修复区域和有效像素区域的第一掩膜图像,对第一掩膜图像中的第三区域进行处理以使得第三区域的掩膜值从第一掩膜值线性渐变至第二掩膜值,得到第二掩膜图像,基于第二掩膜图像、第一图像的颜色数据和第二真实帧图像的颜色数据,对第一图像中的待修复区域进行像素数据修复。该技术方案实现了待修复区域与有效像素区域平滑过度,提高了修复像素的数据填充质量,达到了修复效果好,执行效率高的目的。
Description
本申请是分案申请,原申请的申请号为202211058801.4,原申请日为2022年08月31日,原申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、设备及存储介质。
背景技术
随着计算机图形学的不断深入发展,渲染预测帧图像是提高帧率的主要手段,其能够减少图像渲染过程中的渲染功耗,减少图像显示的卡顿感。预测帧图像是基于运动矢量对真实帧图像进行像素或像素块位移后得到的,由于预测帧图像中的某些区域是从图像以外位移进来的,存在相关信息的缺失,因而,需要对其进行像素修复。
现阶段,预测帧图像的像素修复主要是通过像素填充技术实现,但是存在修复效果差、效率低的问题。
发明内容
本申请实施例提供一种图像处理方法、装置、设备及存储介质,以解决预测帧图像修复过程中存在的修复效果差、修复效率低的问题。
本申请第一方面提供一种图像处理方法,包括:GPU在获取到相邻的第一真实帧图像和第二真实帧图像时,若第一真实帧图像和第二真实帧图像之间满足插帧条件,则对第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,其中,该第一掩膜图像携带有第一掩膜值和第二掩膜值,第一掩膜值用于指示第一图像中的第一区域为待修复区域,第二掩膜值用于指示第一图像中的第二区域为有效像素区域,再对第一掩膜图像中掩膜值等于第一掩膜值的第三区域进行处理,以使得第三区域的掩膜值从第一掩膜值线性渐变至第二掩膜值,得到第二掩膜图像,最后基于第二掩膜图像、第一图像的颜色数据和第二真实帧图像的颜色数据,对第一图像中的待修复区域进行像素数据修复,生成用于在第一真实帧图像和第二真实帧图像之间显示的预测帧图像。
在本实施例中,在利用两真实帧图像对预测帧图像中的待修复区域进行像素修复的过程中,基于第一掩膜图像标记预测帧图像中的待修复区域,并对第一掩膜图像中用于标记待修复区域的一部分区域进行了掩膜值渐变处理,从而实现了待修复区域与有效像素区域平滑过度,提高了修复像素的数据填充质量,达到了修复效果好,执行效率高的目的。
在第一方面的一种可能实现方式中,所述对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像,包括:在所述第一掩膜图像中,定位出所述第一掩膜值与所述第二掩膜值的边界像素;基于预置渐变宽度、所述边界像素的位置和所述第一掩膜图像中像素的掩膜值,确定所述第一掩膜图像中的第三区域;根据所述预置渐变宽度、所述第三区域中各像素与所述边界像素的距离,计算所述第三区域中各像素的掩膜值;利用所述第三区域中各像素的掩膜值更新所述第一掩膜图像,将更新后的第一掩膜图像确定为第二掩膜图像。在该可能实现方式中,利用运动矢量信息计算第一掩膜图像(Mask纹理)中待修复像素在运动矢量方向上离最近的不需要进行修复的像素的距离,将一定距离范围内的像素数据作从第一掩膜值到第二掩膜值的渐变过渡,可以保证生成的预测帧图像中真实的图像像素范围(有效像素区域)与待修复的图像像素范围(待修复区域)之间的色彩平滑过渡。
在第一方面的一种可能实现方式中,所述基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像,包括:根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素;响应于所述掩膜值指示的所述第一图像中的像素为待修复像素,则基于所述第一图像的颜色数据、所述第二真实帧图像的颜色数据和所述掩膜值,对所述第一图像中的所述像素进行颜色填充,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像;响应于所述掩膜值指示的所述第一图像中的像素不是待修复像素,不对所述第一图像中的所述像素进行处理,保留所述第一图像中所述像素的数据信息。
在该可能的实现方式中,通过生成预测帧图像进行插帧显示提高了图像的显示帧率,同时,图像渲染过程中,仅对第一图像中的修复像素进行数据修复,保留第一图像中的有效像素,复用了像素填充算法的中间数据,在保证预测帧图像颜色完整的前提下,显著减少了访存次数和单次访存的数据量,有效降低了设备功耗。
可选的,所述根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素,包括:逐像素采样所述第二掩膜图像的掩膜值;若采样像素的掩膜值等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素不是待修复像素;若采样像素的掩膜值不等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素是待修复像素。通过采样第二掩膜图像的掩膜值确定是否需要对第一图像中像素进行修复,可以降低访存量,降低需要的传输带宽,为降低功耗奠定了基础。
在第一方面的一种可能实现方式中,在所述对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像之前,所述方法还包括:对所述第一图像中的所述待修复区域进行像素初始化处理,得到第二图像,所述第二图像中的所述待修复区域的像素颜色数据等于位移方向上采样到的最近有效像素的颜色数据;
所述基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,包括:基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复。在该可能实现方式中,通过对第一图像中待修复区域的像素进行初始化处理,可以降低生成的完整预测帧图像的色彩差异,提高视觉质感。
可选的,所述基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复,包括:根据所述第二掩膜图像的掩膜值,确定出所述第一图像中的待修复像素;根据所述待修复像素对应于所述第二掩膜图像中的掩膜值,确定第一权重和第二权重,所述第一权重等于所述掩膜值,所述第二权重等于1与所述第一权重的差值,所述第一权重和所述第二权重均大于或等于0且小于或等于1;基于所述待修复像素的位置,采样所述第二图像中对应位置处的第一颜色数据和所述第二真实帧图像中对应位置处的第二颜色数据;将所述第一权重与所述第一颜色数据、所述第二权重与所述第二颜色数据进行加权求和,得到所述待修复像素的目标颜色数据;利用所述目标颜色数据对所述第一图像中的所述待修复像素进行颜色填充。在该可能实现方式中,利用两真实帧图像之间的运动矢量信息,对真实帧图像进行像素偏移,然后基于缺失区域的像素坐标采样另外的一帧真实帧图像,并在拼接处进行平滑过度,生成效果好,算法效率高。
在第一方面的一种可能实现方式中,所述第一掩膜值等于1.0,所述第二掩膜值等于0.0,所述第三区域中像素的掩膜值位于1.0至0.0之间。第一掩膜图像和第二掩膜图像中像素的掩膜值通过1和0表示时,其是单通道的8位mask图,对于第一图像上不需要做修复的像素,仅仅只需要对8bit的Mask数据进行一次读操作,而不是对32bit的图像数据做一次读和一次写的操作,减少了访存的数据量。
在第一方面的一种可能实现方式中,所述第一真实帧图像和所述第二真实帧图像之间满足插帧条件包括第一真实帧图像和所述第二真实帧图像之间的运动幅度小于预设的幅度阈值且所述第一真实帧图像中不存在半透明模型。这样,通过设置插帧条件使得GPU在满足插帧条件时再进行插帧处理,从而可保证生成预测帧图像的质量,进而提高图像的视觉效果。
在第一方面的一种可能实现方式中,所述对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,包括:采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像;根据所述第一图像中各像素的A通道数据,生成所述第一图像对应的第一掩膜图像。在该可能实现方式中,基于运动矢量对第一真实帧图像中进行偏移处理生成第一图像,基于A通道数据生成第一图像的第一掩膜图像。这样能够生成的第一掩膜图像能够准确标记第一图像中的待修复区域和有效像素区域。
可选的,所述采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像,包括:逐像素采样所述第一真实帧图像的坐标,得到各采样坐标;将所述第一真实帧图像的各采样坐标加上运动矢量,计算各采样坐标位移后的各像素坐标,得到第一图像;其中,所述第一图像中不在目标范围内的像素坐标的A通道数据等于第一掩膜值,所述第一图像中位于目标范围内的像素坐标的A通道数据等于第二掩膜值。在该种可能实现方式中,第一图像是基于运动矢量对采样坐标进行叠加实现,提高了生成第一图像的准确度。
本申请第二方面提供一种图像处理装置,该图像处理装置可以通过电子设备中的图形处理器GPU实现。可选的,该图像处理装置,包括:
获取单元,用于获取第一真实帧图像和第二真实帧图像;
处理单元,用于在所述第一真实帧图像和所述第二真实帧图像之间满足插帧条件时,对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,所述第一掩膜图像携带有第一掩膜值和第二掩膜值,所述第一掩膜值用于指示所述第一图像中的第一区域为待修复区域,所述第二掩膜值用于指示所述第一图像中的第二区域为有效像素区域;
所述处理单元,还用于对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像;
修复单元,用于基于所述第二掩膜图像、所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像。
在第二方面的一种可能实现方式中,在对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像时,所述处理单元,具体用于:在所述第一掩膜图像中,定位出所述第一掩膜值与所述第二掩膜值的边界像素;基于预置渐变宽度、所述边界像素的位置和所述第一掩膜图像中像素的掩膜值,确定所述第一掩膜图像中的第三区域;根据所述预置渐变宽度、所述第三区域中各像素与所述边界像素的距离,计算所述第三区域中各像素的掩膜值;利用所述第三区域中各像素的掩膜值更新所述第一掩膜图像,将更新后的第一掩膜图像确定为第二掩膜图像。
在第二方面的一种可能实现方式中,在基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像时,所述修复单元,具体用于:根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素;响应于所述掩膜值指示的所述第一图像中的像素为待修复像素,则基于所述第一图像的颜色数据、所述第二真实帧图像的颜色数据和所述掩膜值,对所述第一图像中的所述像素进行颜色填充,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像;响应于所述掩膜值指示的所述第一图像中的像素不是待修复像素,不对所述第一图像中的所述像素进行处理,保留所述第一图像中所述像素的数据信息。
可选的,在根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素时,所述处理单元,具体用于:逐像素采样所述第二掩膜图像的掩膜值;若采样像素的掩膜值等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素不是待修复像素;若采样像素的掩膜值不等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素是待修复像素。
在第二方面的一种可能实现方式中,在对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像之前,所述处理单元,还用于:对所述第一图像中的所述待修复区域进行像素初始化处理,得到第二图像,所述第二图像中的所述待修复区域的像素颜色数据等于位移方向上采样到的最近有效像素的颜色数据;
所述基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,包括:基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复。
可选的,在基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复时,所述修复单元,具体用于:根据所述第二掩膜图像的掩膜值,确定出所述第一图像中的待修复像素;根据所述待修复像素对应于所述第二掩膜图像中的掩膜值,确定第一权重和第二权重,所述第一权重等于所述掩膜值,所述第二权重等于1与所述第一权重的差值,所述第一权重和所述第二权重均大于或等于0且小于或等于1;基于所述待修复像素的位置,采样所述第二图像中对应位置处的第一颜色数据和所述第二真实帧图像中对应位置处的第二颜色数据;将所述第一权重与所述第一颜色数据、所述第二权重与所述第二颜色数据进行加权求和,得到所述待修复像素的目标颜色数据;利用所述目标颜色数据对所述第一图像中的所述待修复像素进行颜色填充。
在第二方面的一种可能实现方式中,所述第一掩膜值等于1.0,所述第二掩膜值等于0.0,所述第三区域中像素的掩膜值位于1.0至0.0之间。
在第二方面的一种可能实现方式中,所述第一真实帧图像和所述第二真实帧图像之间满足插帧条件包括第一真实帧图像和所述第二真实帧图像之间的运动幅度小于预设的幅度阈值且所述第一真实帧图像中不存在半透明模型。
在第二方面的一种可能实现方式中,在对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像时,所述处理单元,具体用于:采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像;根据所述第一图像中各像素的A通道数据,生成所述第一图像对应的第一掩膜图像。
在第二方面的一种可能实现方式中,在采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像时,所述处理单元,具体用于:逐像素采样所述第一真实帧图像的坐标,得到各采样坐标;将所述第一真实帧图像的各采样坐标加上运动矢量,计算各采样坐标位移后的各像素坐标,得到第一图像;其中,所述第一图像中不在目标范围内的像素坐标的A通道数据等于第一掩膜值,所述第一图像中位于目标范围内的像素坐标的A通道数据等于第二掩膜值。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第五方面,本申请实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第六方面,本申请提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
应当理解的是,本申请的第二方面至第六方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1是图像渲染的过程示意图;
图2是电子设备的一种结构示意图;
图3是本申请实施例的电子设备的软件结构框图;
图4是本申请实施例提供的一种图像处理方法的流程示意图;
图5是第一掩膜图像生成的一种过程示意图;
图6是第一掩膜图像生成的另一种过程示意图;
图7是本申请实施例中生成第二图像的过程示意图;
图8是基于第一掩膜图像生成第二掩膜图像的过程示意图;
图9是生成第一像素的颜色数据的过程示意图;
图10是预测帧图像生成的流程示意图;
图11是基于真实帧图像生成预测帧图像的过程示意图;
图12是本申请实施例提供的图像处理装置的结果示意图;
图13是本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,以下,对本申请实施例中所涉及的部分术语和技术进行简单介绍:
1、渲染
渲染是指软件由模型生成图像的过程。其中,模型可以理解为对象、物体,是待渲染画面中的用语言或者数据结构进行严格定义的三维物体或虚拟场景,它包括几何、视点、纹理、照明等信息。
2、纹理数据
纹理数据是指显卡可以识别且可以处理的数据,纹理数据的格式可以包括多种,例如,纹理数据的格式可以为RGB格式、RGBA格式、DirectX纹理压缩(Direct DrawSurface,DDS)格式等。
图像纹理数据是指:未被压缩编码的纹理数据,即图像纹理数据的数据格式为纹理格式。图像纹理数据的数据尺寸用于指示图像纹理数据所包括的像素的数量;例如,若图像纹理数据的数据尺寸为128×128,则该数据尺寸表示该图像纹理数据包括128×128个像素。
3、待渲染数据
待渲染数据包括模型数据和材质数据,模型数据是指由三角网格组成的模型中各个三角顶点的坐标数据、位置坐标、法线坐标、纹理坐标、切线坐标等;若三维场景中包含有动画,则模型数据还包括动画信息。材质数据可以包括高光贴图、材质贴图物理的颜色贴图、反射率贴图(物质表面反射和折射的比例)等,即,材质数据通过贴图的方式保存数据。
4、渲染数据
渲染数据可以包括颜色数据和亮度数据,即,待渲染数据在渲染过程中生成的数据。
5、预测帧
在实际应用中,预测帧也称预测帧图像,两者可以互换。在游戏领域,插帧即在两真实帧图像之间插入一预测帧图像是提高帧率的主要手段。其中,预测帧图像的生成方式为:首先计算前后两真实帧图像之间的运动矢量,然后基于运动矢量对真实帧图像的像素或者像素块进行位移,从而生成预测帧图像。
6、掩膜图像
掩膜图像是指通过对图像(全部或局部)进行遮挡处理生成的图像,可以利用掩膜图像来标记图像中的目标处理区域。
7、相机:在本实施例中,相机是图形渲染场景中的虚拟相机,通过该虚拟相机可从某个角度和某个方向观察三维场景,从而获取到虚拟场景的外观显示。通常情况下,通过改变该虚拟相机的角度和朝向,可看到虚拟场景的不同外观显示。
8、其他术语
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a--c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
随着计算机图形学的不断深入发展,渲染作为计算机图形学中最重要的研究课题,逐渐被应用到计算机、视频、游戏、电影或者电视特效以及可视化设计等各种领域。在使用电子设备中的游戏、建模、家居设计等需要显示大量且复杂的图像的应用时,电子设备需要完成大量的渲染处理,然后显示图像。
示例性的,图1是图像渲染的过程示意图。如图1所示,在电子设备中,当应用程序(如游戏应用)需要显示图像时,可以向电子设备的中央处理器(central processingunit,CPU)发出针对该图像的渲染命令,该渲染指令中包括待渲染数据。CPU可以根据该渲染命令,将待渲染数据传输至电子设备的图形处理器(graphics processing unit,GPU),进而控制GPU对该图像进行渲染,得到渲染数据,该渲染数据可存储至电子设备的内存中。在电子设备需要显示某一图像时,GPU可以从内存中读取该图像的渲染数据,并渲染至显示屏,从而实现图像的显示。
在图形渲染相关的应用中,例如,游戏,虚拟仿真,虚拟现实(virtual reality,VR)/增强现实(augmented reality,AR)等,电子设备在对图像进行渲染过程中,通常需要处理大量的纹理数据,纹理数据属于一种存储数据,且占用内存比较大。但在游戏等需要显示屏的具有高刷新率的情况下,电子设备中显示屏具有刷新率高的特点,在高刷新率的情况下,分辨率高的纹理数据会导致电子设备的渲染功耗高,而且在绘制图像时易出现绘制卡顿的现象,导致显示图像卡顿的问题。
为了减少图像卡顿感以及降低画面渲染功耗,预测帧技术应运而生,预测帧图像是在两真实帧图像之间生成的预测图像,插入两真实帧之间可能够提升显示图像的帧率,达到减少卡顿感以及降低游戏渲染功耗的目的。预测帧图像的生成如下:首先计算前后两帧真实帧图像之间的运动矢量,然后基于该运动矢量对真实帧图像做像素或者像素块的位移。在通常情况下,被移出图像范围的像素或者像素块被直接丢弃,而从图像以外位移进图像范围的像素需要被进行特殊处理,例如,像素填充,这是因为从图像以外位移进图像范围的像素缺失了相关信息。在本申请的实施例中,从图像以外位移进图像范围的像素称为待修复像素。
可选的,根据预测帧图像与真实帧图像的关系,可以将预测帧图像分给内插帧图像和外插帧图像。针对外插帧图像中缺失的像素一般通过像素填充技术来恢复数据,而针对内插帧图像中缺失的像素可以利用前后两真实帧图像的颜色数据来恢复像素数据。例如,分别计算预测帧图像在前后两真实帧图像两个方向的运动矢量,然后确定出其在前后两真实帧上的像素偏移量,进而对像素偏移后的数据做加权平均得到预测帧图像中缺失的像素数据。但不管是像素填充,还是真实帧的加权平均都难以获得高质量的结果,存在像素修复效果差的问题。
为了提高像素修复的效果,可以采用基于随机采样一致算法来修复预测帧图像中的缺失像素数据,即,分别计算前后两张图像中一致的关键像素集合,然后估算两张图像的像素点之间的变换矩阵,基于变换矩阵将两张图像按位置重合在一起形成一张可显示范围更大的图像,但是该方法计算时间长,计算量大,运行效率低,难以实时运行在移动端中。
针对上述技术问题,本申请技术方案的构思过程如下:发明人在实践中发现,RGBA颜色空间是一种代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。其中,RGB是采用的颜色模型,Alpha一般用作不透明度参数。如果一个像素的Alpha通道(即A通道)数值为0%,那它就是完全透明的(也就是看不见的),而Alpha通道数值为100%则意味着它是一个完全不透明的像素(传统的数字图像)。因而,在预测帧图像的生成过程中,可以采用A通道的不同数值标记需要修复的像素和无需修复的像素,进而生成预测帧图像的掩膜图像,为了实现预测帧图像中真实图像像素范围与修复图像像素范围之间的过度平滑,可以对掩膜图像进行渐变过渡,以降低待修复区域的色差效果,从而基于渐变过渡的掩膜图像对预测帧图像中的待修复区域进行处理,生成完整的预测帧图像。
基于上述技术构思过程,本申请实施例提供了一种图像处理方法,首先对第一真实帧图像进行位移处理生成待修复预测帧图像,根据该待修复预测帧图像中的待修复区域和有效像素区域,生成待修复预测帧图像对应的第一掩膜图像,然后对第一掩膜图像中用于标记待修复区域的掩膜值进行处理,以使得掩膜值从第一掩膜值线性渐变至第二掩膜值,得到第二掩膜图像,最后逐像素采样第二掩膜图像的掩膜值,确定待修复预测帧图像中对应位置的像素是否需要进行修复,若是,根据待修复预测帧图像的颜色数据、第二真实帧图像的颜色数据以及待修复像素的掩膜值,生成待修复像素的目标颜色数据,并将待修复像素的目标颜色数据更新到待修复预测帧图像中,生成修复后的预测帧图像。该技术方案利用两真实帧图像对预测帧图像中的待修复区域进行像素修复,而且基于掩膜值渐进变化的第二掩膜图像对待修复区域与有效像素区域进行了平滑过度,提高了修复像素的数据填充质量,实现了修复效果好,执行效率高的目的。
以下结合附图对本申请实施例提供的方案进行详细说明。
需要说明的是,本申请实施例提供的图像处理方法,可以应用于电子设备中。本申请实施例的电子设备可以为任意形式的终端设备,例如,终端设备可以包括具有图像处理功能的手持式设备、车载设备等。例如,一些电子设备为:手机(mobile phone)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
作为示例而非限定,在本申请实施例中,该电子设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
此外,在本申请实施例中,电子设备还可以是物联网(internet of things,IoT)系统中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。
本申请实施例中的电子设备也可以称为:终端设备、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
在本申请实施例中,电子设备或各个网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
可理解,本申请实施例不对该电子设备的具体形态进行特殊限制。在一些实施例中,该电子设备可以具有显示功能。比如,电子设备可以根据应用程序下发的渲染命令进行图像渲染,并向用户展示渲染的图像。
为了能够更好地理解本申请实施例,下面对本申请实施例的电子设备的结构进行介绍:
图2是电子设备的一种结构示意图。如图2所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED),低温多晶氧化物(low temperature polycrystalline oxide,LTPO)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
值得说明的是,本申请实施例的产品实现形态是包含在机器学习、深度学习平台软件中,并部署在电子设备上的程序代码。本申请实施例的程序代码可以存储在电子设备内部。运行时,程序代码运行于电子设备的主机内存和/或GPU内存。
在实际应用中,电子设备的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构等。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。
示例性的,图3是本申请实施例的电子设备的软件结构框图。如图3所示,电子设备的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序层内可以安装相机,图库,日历,通话,地图,短信息,导航,蓝牙,音乐,视频,设置等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括输入管理服务(input manager service,IMS)。当然,应用程序框架层中还可以包括显示策略服务、电源管理服务(power managerservice,PMS)、显示管理服务(display manager service,DMS)、活动管理器、窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等,本申请实施例对此不作任何限制。
安卓运行时(Android runtime)包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:状态监测服务,表面管理器(surfacemanager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。状态监测服务用于根据内核层上报的监测数据确定手机的具体朝向、柔性屏幕的物理状态等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,传感器驱动,TP驱动,摄像头驱动,音频驱动等,本申请实施例对此不做任何限制。
可选的,如图3所示,应用程序框架层以下的系统库和内核层等可称为底层系统,底层系统中包括用于提供显示服务的底层显示系统,例如,底层显示系统包括内核层中的显示驱动以及系统库中的表面管理器等。
下面结合图1至图3所示的示意图,通过具体实施例对本申请的技术方案进行详细说明,也即,对预测帧图像中缺失的像素修复流程进行解释说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
可理解,在本实施例中,参照上述图1所述的示意图,内存中存储有某真实帧图像的渲染数据,GPU可以基于真实帧图像和内存中存储的真实帧图像的渲染数据执行本申请实施例提供的技术方案生成完整的预测帧图像。
示例性的,图4是本申请实施例提供的一种图像处理方法的流程示意图。本实施例以电子设备中的GPU作为执行主体进行解释说明。如图4所示,在本实施例中,该图像处理方法可以包括如下步骤:
S401、获取第一真实帧图像和第二真实帧图像。
其中,第一真实帧图像和第二真实帧图像是GPU基于获取到的待渲染数据执行渲染操作后生成的图像。在图像渲染过程后,该第一真实帧图像和第二真实帧图像的渲染数据均存储在内存中。
可理解,待渲染数据是目标应用发送给CPU的渲染命令中的数据,并在图像渲染过程中,由CPU传输至GPU的数据。示例性的,目标应用可以是游戏应用、虚拟仿真应用等需要高刷新率显示的相关应用。
在实际应用中,第一真实帧图像和第二真实帧图像可以是GPU基于待渲染数据渲染生成的多帧真实帧图像中的任意两连续真实帧图像,即第一真实帧图像和第二真实帧图像是经过绘制渲染能够直接得到的真实图像。通常情况下,这多帧真实帧图像是按照时间顺序生成的,不同真实帧图像中可以包括不同数量的渲染模型,因而,内存中可以存储有多帧真实帧图像的渲染数据,本申请实施例并不对其进行限定。
S402、在第一真实帧图像和第二真实帧图像之间满足插帧条件时,对第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像。
其中,该第一掩膜图像用于标记第一图像中的待修复区域和有效像素区域。
示例性的,第一掩膜图像携带有第一掩膜值和第二掩膜值,第一掩膜值用于指示第一图像中的第一区域为待修复区域,第二掩膜值用于指示第一图像中的第二区域为有效像素区域。
在本申请的实施例中,GPU在基于CPU的渲染命令生成真实帧图像的渲染数据后,可以判断连续的两真实帧图像之间是否满足插帧条件,若是,则采用确定的运动矢量对获取到的第一真实帧图像进行像素或像素块移动生成第一图像;若否,则不执行本申请的技术方案,直接执行真实帧图像的渲染过程。
可选的,插帧条件可以包括两真实帧图像之间的运动幅度小于预设的幅度阈值且真实帧图像中不存在半透明模型。即,若两真实帧图像之间的运动幅度大于或等于预设的幅度阈值,相邻的两真实帧之间缺失的像素信息过多,无法通过这两真实帧图像恢复出缺失的像素信息,如果在这时执行插帧会导致生成的预测帧图像与前后两真实帧图像不一致,用户视觉体验差。若真实帧图像中存在半透明物体,这时对像素的A通道数据进行处理会损坏原始图像的视觉效果,因而也不能进行插帧。
可理解,真实帧图像中是否存在半透明对象可以理解为真实帧图像中是否存在透明度大于透明度阈值的对象。该透明度阈值可以是用户基于实际场景预置到GPU中的,此处不作赘述。图像中的对象也可以解释为物体等,本实施例不对其进行限定。
在本申请的实施例中,第一真实帧图像和第二真实帧图像之间满足插帧条件可以是第一帧真实帧图像和第二真实帧图像之间的运动幅度小于预设的幅度阈值且真实帧图像中不存在半透明模型。
在获取第一真实帧图像和第二真实帧图像之后,GPU可以首先判定第一真实帧图像中是否存在半透明对象,若是,则确定第一真实帧图像和所述第二真实帧图像之间不满足插帧条件;若否,计算第一真实帧图像和第二真实帧图像之间的第一运动幅度,并判定该第一运动幅度是否小于幅度阈值;若是,则确定第一真实帧图像和第二真实帧图像之间满足插帧条件;若否,则确定第一真实帧图像和所述第二真实帧图像之间不满足插帧条件。
可理解,本申请实施例并不限定两个条件的判断先后顺序,即GPU也可以首先计算第一真实帧图像和第二真实帧图像之间的第一运动幅度,并判定该第一运动幅度是否小于幅度阈值,再判断真实帧图像中是否存在半透明对象,其可以根据实际场景确定,此处不作赘述。
也即,在第一真实帧图像中不存在半透明对象,且第一真实帧图像和第二真实帧图像之间的第一运动幅度小于幅度阈值时,确定第一真实帧图像和第二真实帧图像之间满足插帧条件;在第一真实帧图像中存在半透明对象和/或第一真实帧图像和第二真实帧图像之间的第一运动幅度大于或等于幅度阈值,确定第一真实帧图像和第二真实帧图像之间不满足插帧条件。
在本申请的实施例中,通过设置插帧条件使得GPU在满足插帧条件时再进行插帧处理,从而可保证生成预测帧图像的质量,进而提高图像的视觉效果。
示例性的,在预测帧生成过程中,该运动矢量可以理解为连续的两真实帧图像之间的位移量。例如,在游戏领域的预测帧技术中,通常通过计算或者获取连续两真实帧图像之间的运动矢量来对真实帧图像进行像素或者像素块的偏移,从而得到预测帧图像。即,首先计算连续的两真实帧图像之间的运动矢量,然后利用该运动矢量对真实帧图像进行图像扭曲操作,得到预测帧图像。
可选的,位移处理可以理解为对图像沿着一个方向做平移处理。相应的,对所述第一真实帧图像进行位移处理可以是基于运动矢量对第一真实帧图像沿着指定方向进行平移或偏移处理。
可理解,在实际应用中,预测帧图像还可以基于第一真实帧图像中模型的运动轨迹生成,本申请实施例并不对其进行限定。
可选的,在预测帧生成过程中,虚拟相机的镜头转动会造成预测帧图像的边缘区域缺失,使得产生的预测帧图像中存在待修复区域。即,在本申请的实施例中,将存在待修复区域的预测帧图像称为第一图像。可理解,该第一图像中还可以包括有效像素区域。其中,待修复区域就是第一真实帧图像中缺失的边缘区域,有效像素区域可以解释为第一真实帧图像中无需修复数据的像素区域。
可理解,在本申请的实施例中,通过该虚拟相机的镜头可确定出虚拟场景的不同外观显示,即生成不同的真实帧图像。
在实际应用中,RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间,其是RGB颜色空间与Alpha通道(简称为A通道)的组合。由于图像中像素的RGB通道能够正确的表示像素的颜色信息,因而,在实际应用中,可以利用A通道的数值来标记第一图像中的待修复像素和无需修复像素(有效像素)。
示例性的,在第一图像中,待修复像素的A通道数值设为0.0,无需修复像素的A通道数值设为1.0。具体的,在生成第一图像的过程中,逐像素计算采样位移后像素坐标(该像素坐标是第一真实帧图像中的像素坐标加上位移矢量计算得到的坐标),若位移后的像素坐标不在[0.0,1.0]范围内,则第一图像中该位置处像素的A通道数值设为0.0,若位移后的像素坐标位于[0.0,1.0]范围内,则第一图像中该位置处的A通道数值设为1.0。
在本申请的实施例中,对第一真实帧图像进行位移处理时或者对第一图像进行A通道数据采集,可以获得第一图像对应的第一掩膜图像。其中,第一掩膜图像是一张单通道8位的Mask贴图,用于通过第一掩膜值来标记第一图像中无需执行像素修改的有效像素区域和通过第二掩膜值来标记第一图像中像素数据缺失的待修复区域。
在本实施例中,可以通过不同的方式生成第一图像对应的第一掩膜图像,第一掩膜图像与第一图像的大小相同,像素位置一一对应。
在本申请实施例的一种可能实现中,对第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,包括:采用运动矢量对所述第一真实帧图像执行两次图像扭曲操作,生成第一图像,根据所述第一图像中各像素的A通道数据,生成第一图像对应的第一掩膜图像。
其中,采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像,包括:逐像素采样第一真实帧图像的坐标,得到各采样坐标;将第一真实帧图像的各采样坐标加上运动矢量,计算各采样坐标位移后的各像素坐标,得到第一图像;其中,第一图像中不在目标范围内的像素坐标的A通道数据等于第一掩膜值,第一图像中位于目标范围内的像素坐标的A通道数据等于第二掩膜值。
具体的,可以首先采用运动矢量对第一真实帧图像执行图像扭曲操作生成第一图像,第一图像中缺失数据的像素的A通道数据设为0.0,未缺失数据的像素的A通道设为1.0,然后根据第一图像中像素的A通道数据的取值,生成第一图像对应的第一掩膜图像。
可理解,第一掩膜图像也可以称为第一图像中待修复区域所属范围的Mask遮罩,通过采样第一图像可以将位移后需要修复的图像区域标记出来,需要修复区域的采样像素的A通道数值为0.0,对应位置写入mask数据等于1.0,无需修复区域的采样像素的A通道数值为1.0,对应位置写入mask数据等于0.0。在本申请的实施例中,第一掩膜值等于1.0,第二掩膜值等于0.0。
示例性的,图5是第一掩膜图像生成的一种过程示意图。如图5所示,首先对图5的(a)所示的第一真实帧图像基于运动矢量(motion vector,MV)进行偏移处理(该处理过程也可以称为运动补偿)后可以生成图5的(b)所示的第一图像,且第一图像中待修复像素的A通道数值等于0.0,无需修复像素的A通道数值等于1.0,相应的,在生成第一掩膜图像之前,首先可以生成一张掩膜值全为1.0的掩膜纹理图像,如图5的(c)所示的,然后基于第一图像中像素的A通道数据的取值对掩膜纹理图像进行处理,若第一图像中A通道数值等于0.0,则保留掩膜纹理图像中像素的掩膜值(mask数据),即1.0,若第一图像中A通道数值等于1.0,则将掩膜纹理图像中像素的掩膜值(mask数据)由1.0更新为0.0,从而生成了第一图像对应的第一掩膜图像,参照图5的(d)所示。即,在第一掩膜图像中,mask数据等于0.0用于指示对应于第一图像中的像素为有效像素,mask数据等于1.0用于指示对应于第一图像中的像素为待修复像素。
在本申请实施例的一种可能实现中,利用运动矢量对第一真实帧图像执行图像扭曲操作的过程中,可以利用多渲染目标(multiple render targets,MRT)技术同时生成第一图像和该第一图像对应的第一掩膜图像。例如,通过逐像素采样第一真实帧图像,然后将采样坐标加上运动矢量实现像素或者像素块的偏移,同时,利用MRT技术绑定两个渲染目标,进而在一次渲染过程中,同时生成第一图像和第一图像对应的第一掩膜图像。即,利用运动矢量对第一真实帧图像执行图像扭曲操作的过程中,可以利用多渲染目标(multiplerender targets,MRT)技术将图像扭曲后的图像数据分别写到不同的渲染目标,从而生成了第一图像和第一图像对应的第一掩膜图像,其中,在第一图像中,缺失数据的像素的A通道数据设为0.0,未缺失数据的像素的A通道设为1.0,在第一掩膜图像中,用于指示第一图像中缺失数据的像素的mask数据为1.0,用于指示第一图像中未缺失数据的像素的mask数据为0.0。
示例性的,图6是第一掩膜图像生成的另一种过程示意图。如图6所示,对如图6的(a)所示的第一真实帧图像基于运动矢量(motion vector,MV)进行运动补偿处理,并逐像素计算采样位移后像素坐标(该像素坐标是第一真实帧图像中的像素坐标加上位移矢量计算得到的坐标),若位移后的像素坐标位于[0.0,1.0]范围内,即位于相机的视觉范围内,则在第一图像中该位置处的A通道数据为1.0,控制预先生成的初始值全为1.0的掩膜纹理图像(如图6的(b))的mask数据更新为0.0,即在第一掩膜图像中该位置处的mask数据为0.0,若位移后的像素坐标超出[0.0,1.0]范围,即位于相机的视觉范围外,则在第一图像中该位置处的A通道数据为0.0,控制预先生成的初始值全为1.0的掩膜纹理图像的mask数据保持1.0不变,即在第一掩膜图像中该位置处的mask数据为1.0,具体参照图6的(b)至图6的(d)所示。
在实际应用中,基于MRT技术可以同时向不同的内存区域放数据,即可以同时生成多种不同的目标。因而,在本实施例中,利用MRT技术,可以同时绑定第一掩膜图像和第一图像(位移后的第一真实帧图像)作为渲染目标,进而,当在第一真实帧图像上应用运动矢量时,可以同时生成第一掩膜图像和存在待修复区域的第一图像。
具体的,基于MRT技术同时生成第一掩膜图像和第一图像的原理如下:
1,GPU创建多个渲染缓冲区;比如,若想创建两个渲染缓冲区,例如,渲染缓冲区M1和渲染缓冲区M2,GPU可以基于CPU发送的第一调用指令,例如,glFramebufferTexture指令,将M1和M2作为参数传入当前渲染过程,这样,当前渲染过程的渲染目标就同时绑定了渲染缓冲区M1和渲染缓冲区M2,即可以同时向渲染缓冲区M1和渲染缓冲区M2写数据;
2,GPU可以基于CPU的接口调用指令,调用glDrawBuffers接口,以指定渲染目标绑定的渲染缓冲区个数;例如,在本实施例中,需要同时生成第一图像和第一掩膜图像,则指定渲染目标绑定的缓冲区个数为2,例如,上述的渲染缓冲区M1和渲染缓冲区M2;
3,在像素着色器的算法中,由于指定的渲染目标有两个,则GPU定义两个不同的输出目标,例如,color1和color2,其中,color1用于渲染生成第一图像,color2用于渲染生成第一图像的第一掩膜图像;
4,GPU可以基于CPU的调用绘制指令glDrawIndex,利用第一真实帧图像扭曲后的数据同时对color1和color2进行渲染,并将针对color1的渲染结果写入到绑定的渲染缓冲区M1,同时将针对color2的渲染结果写入到绑定的渲染缓冲区M2,实现了在一次渲染过程同时输出到渲染缓冲区M1和渲染缓冲区M2的目的,从而得到了第一掩膜图像和第一图像。
S403、对第一图像中待修复区域的像素进行初始化处理,得到第二图像,该第二图像中待修复区域的像素颜色数据等于位移方向上采样到的最近有效像素的颜色数据。
可选的,在本申请的实施例中,为了降低生成的完整预测帧图像的色彩差异,提高视觉质感,可以对第一图像中待修复区域的像素进行初始化处理。
示例性的,可以设置像素采样的过滤模式为像素重复(GL_REPEATE),即对待修复区域的像素数据进行初始化时,针对每个待修复像素,可以在运动矢量方向(位移方向)上采样第一图像中距离该待修复像素最近的有效像素数据,然后,将该待修复像素的颜色数据初始化为位移方向上采样到的最近有效像素的颜色数据(RGB数据)。可选的,该待修复像素的A通道数值为0.0。
示例性的,图7是本申请实施例中生成第二图像的过程示意图。在图7的(a)所示的第一图像中,A=0.0的区域是第一图像中像素数据缺失的待修复区域,A=1.0的区域是有效像素区域,其中,有效像素区域中的像素无需修复。
在本实施例中,对第一图像中待修复区域的像素数据进行颜色初始化处理,可以生成如图7的(b)所示的第二图像,该第二图像中待修复区域的像素的颜色数据等于位移方向上的最近有效像素的颜色数据。其中,在图7的(b)中所示的第二图像中,待修复区域与有效像素区域的交界处的各像素(小方块)为待修复像素在位移方向上的最近有效像素。
可理解,在本实施例中,以待修复像素的颜色数据等于位移方向上的最近有效像素的颜色数据进行解释说明,在实际应用中,待修复像素的颜色数据也可以等于位移方向上其他有效像素的颜色数据,例如,次近的有效像素的颜色数据,或其他至少两个有效像素的颜色数据的平均值等。可理解,本实施例并不对待修复像素的颜色数据的参考像素进行限定,其可以根据实际场景确定,此处不作赘述。
S404、对第一掩膜图像中掩膜值等于第一掩膜值的第三区域进行处理,以使得第三区域的掩膜值从第一掩膜值线性渐变至第二掩膜值,得到第二掩膜图像。
可理解,在本实施例中,该第二掩膜图像用于标记第一图像和/或第二图像中待修复区域和有效像素区域,并通过处理后的第三区域来标记第一图像和/或第二图像中待修复区域和有效像素区域的渐变范围。
在本申请的实施例中,为了保证生成的预测帧图像中真实的图像像素范围(有效像素区域)与待修复的图像像素范围(待修复区域)之间的色彩平滑过渡。可选的,通过对第一掩膜图像中用于标记待修复区域和有效像素区域的部分进行渐变处理,可以生成第二掩膜图像。即,利用运动矢量信息计算第一掩膜图像(Mask纹理)中待修复像素在运动矢量方向上离最近的不需要进行修复的像素的距离,将一定距离范围内的像素数据作从第一掩膜值到第二掩膜值的渐变过渡。
在一种可能的实现方式中,GPU首先可以在第一掩膜图像中,定位出第一掩膜值与第二掩膜值的边界像素,然后基于预置渐变宽度、该边界像素的位置和第一掩膜图像中像素的掩膜值,确定第一掩膜图像中的第三区域,再根据预置渐变宽度、第三区域中各像素与边界像素的距离,计算第三区域中各像素的掩膜值,最后利用第三区域中各像素的掩膜值更新第一掩膜图像,将更新后的第一掩膜图像称为第二掩膜图像。
示例性的,对第一掩膜图像中mask数据等于1.0且与mask数据等于0.0临界的区域进行渐变处理。可选的,渐变处理的范围可预先设置为M个像素的长度。
示例性的,图8是基于第一掩膜图像生成第二掩膜图像的过程示意图。如图8的(a)和(b)所示,首先逐像素采样第一掩膜图像的mask数据,若该像素的mask数据等于0.0,则直接将该像素的mask数据输出到渲染目标,即第二掩膜图像;若该像素的mask数据等于1.0,参照图8的(b)所示,则将该像素坐标沿着运动矢量的方向移动M个像素,利用计算出的这个坐标采样Mask图像,如果采样像素的mask数据等于1.0,则直接输出1.0到第二掩膜图像。如果采样像素的mask数据等于0.0,则利用二分查找法,迭代指定次数寻找mask数据等于0.0的区域和mask数据等于1的区域之间的像素边界L,如图8的(b)所示。
可理解,在本实施例中,利用二分查找法确定mask数据等于0.0的区域和mask数据等于1的区域之间的像素边界L的方式即光线步进算法。具体的,如图8的(b)所示,首先基于M个像素的步长沿着运动矢量的方向移动,当从mask数据等于1.0的区域移动到mask数据等于0.0的区域时,将移动步长减半,例如,M/2,移动方向取反,继续取值像素处的mask数据,当从mask数据等于0.0的区域移动到mask数据等于1.0的区域,移动步长再减半,移动方向再取反,重复上述步骤,直到迭代指定次数,将最终确定的像素点确定为mask数据等于0.0的区域和mask数据等于1的区域之间的像素边界点,同理可确定出如图8的(b)中所示的像素边界L。
可选的,基于预先设定的渐变处理范围等于M个像素的长度,可以向运动矢量的反方向(即,待修复区域)延伸M个像素的长度,从而确定出第一掩膜图像中的第三区域Q,如图8的(c)所示。
示例性的,假设第三区域的宽度为M,这时可以逐像素采样mask数据等于1的区域中的各像素坐标与像素边界点之间的距离Hi。若该距离Hi与宽度M之间的比值大于1,则该距离Hi对应的像素坐标处的mask数据等于1,若该距离Hi对应的像素坐标处的mask数据小于或等于1,即位于第三区域内,则确定该距离Hi对应的像素坐标处的mask数据等于Hi与M的取值(Hi/M),并将该Hi/M的取值作为mask数据输出到第二掩膜图像。
例如,参照图8的(c)所示,H1与宽度M之间的比值大于1,则H1对应的像素坐标P1处的mask数据等于1,而H2对应的像素坐标P2处的mask数据小于或等于1,则确定像素坐标P2处的mask数据等于H2/M,且H2/M的取值介于0~1之间。参照图8的(d)所示,将第三区域Q内的各像素的mask数据分别更新到第一掩膜图像,便生成了第二掩膜图像。
S405、逐像素采样第二掩膜图像的掩膜值,根据采样的掩膜值确定掩膜值指示的第一图像中的第一像素是否为待修复像素;若是,执行S406和S407;若否,执行S408。
在本申请的实施例中,可以逐像素采样第二掩膜图像的掩膜值,若采样像素的掩膜值等于第二掩膜值,则确定采样像素对应于第一图像中的像素不是待修复像素,若采样像素的掩膜值不等于第二掩膜值,则确定采样像素对应于第一图像中的像素是待修复像素。
可选的,在本申请的实施例中,可以基于第二掩膜图像的掩膜值确定第一图像中对应位置的像素是否需要进行修复。示例性的,若第二掩膜图像中像素的掩膜值等于0.0,则该掩膜值指示的第一图像中对应位置处的像素无需修复;若第二掩膜图像中像素的掩膜值不等于0.0,则该掩膜值指示的第一图像中对应位置处的像素需要修复。
可理解,在实际应用中,响应于掩膜值指示的第一图像中的第一像素为待修复像素,这时可以基于第一图像的颜色数据和第二真实帧图像的颜色数据和掩膜值,对第一图像中的待修复像素进行颜色填充。
可选的,当GPU通过S403的处理方式对第一图像进行像素初始化处理时,在掩膜值指示的第一图像中的第一像素为待修复像素时,可以基于第二图像的颜色数据和第二真实帧图像的颜色数据和掩膜值,对第一图像中的第一像素进行颜色填充,即下述S406。
S406、根据该第一像素处的掩膜值、第二图像的颜色数据和第二真实帧图像的颜色数据,生成第一像素的颜色数据。
其中,第二真实帧图像与第一真实帧图像是相邻的真实帧图像。
作为一种示例,响应于第一图像中的像素需要进行修复,可以基于第二掩膜图像中该第一像素处的掩膜值,采样第一图像初始化后的第二图像中对应位置处的颜色数据和第二真实帧图像中对应位置处的颜色数据,混合生成第一像素的颜色数据。
可选的,在本申请的实施例中,GPU可以根据第一像素处的掩膜值,确定第一权重和第二权重,该第一权重等于掩膜值,第二权重等于1与第一权重的差值,第一权重和第二权重均大于或等于0且小于或等于1,然后基于第一像素的位置,采样第二图像中对应位置处的第一颜色数据和第二真实帧图像中对应位置处的第二颜色数据,再将第一权重与第一颜色数据、第二权重与第二颜色数据进行加权求和,得到第一像素的目标颜色数据,最后利用目标颜色数据对第一图像中的第一像素进行颜色填充。
可选的,在实际应用中,在图像渲染过程中,可以基于OpenGL函数实现图像颜色的混合,例如,本实施例中首先可以开启半透明混合方式,即通过调用指令glEnable(GL_BLEND)打开Alpha混合的开关,然后通过调用指令glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)和glBlendEquation(GL_FUNC_ADD)来设置颜色数据的混合函数为AlphaAdd。
在RGB模式下,可以使用第二真实帧图像的像素RGBA值与帧缓存中的RGBA值(上述第二图像的像素RGBA值)相融合的融合函数来计算第一像素的RGBA值。缺省时,融合功能是未激活的,可以使用glEnable(GL_BLEND)来激活融合功能。当激活融合功能时,可以使用glBlendFunc函数定义融合操作,并使用glBlendEquation(GL_FUNC_ADD)来指定混合函数。
示例性的,在本申请的实施例中,假设第二图像中的颜色数据用A表示,第二真实帧图像的颜色数据用B表示,则可以采用混合函数AlphaAdd“A*(1-α)+B*α”来计算第一图像中各像素的颜色数据。
可理解,混合函数还可以是“B*α”、“B*(1-α)”等各种形式,本实施例并不对其进行限定。
下述以本实施例中采用的混合函数为“A*(1-α)+B*α”为例进行解释说明。
示例性的,图9是生成第一像素的颜色数据的过程示意图。在图9所示的实施例中,以第一像素点为P进行解释说明。在本实施例中,可以将存在待修复区域的第一图像作为渲染目标,开启半透明混合,如图9的(a)所示,逐像素采样第二掩膜图像的Mask数据。可选的,若第一像素处的mask数据大于0,则需要对该第一像素处的颜色数据进行混合处理。例如,将第一像素处的坐标减去运动矢量后得到的坐标确定为第一像素在第二真实帧图像上的坐标。
示例性的,如图9的(b)所示,假设第二图像中第一像素P处的颜色数据为A1,记为P(A1),如图9的(c)所示,第一像素P在第二真实帧图像中的颜色数据为B1,记为P(B1),因而,可以将第二图像中第一像素P处的颜色数据A1乘以α、第二真实帧图像中第一像素P处的颜色数据B1乘以(1-α)后相加,将相加后的结果A1*(1-α)+B1*α作为该第一像素P的颜色数据,如图9的(d)所示,并将该P点的颜色数据更新到第一图像。
S407、将第一像素的颜色数据更新到第一图像中。
可选的,在计算出第一图像中第一像素的颜色数据后,便可以将该颜色数据写入到第一图像的相应位置处。
S408、不对第一像素进行处理,保留第一像素处的颜色数据。
S409、在确定第一图像中的各像素均具有颜色数据时,生成用于在第一真实帧图像和第二真实帧图像之间显示的预测帧图像。
可选的,若第二掩膜图像的掩膜值为0.0,此时,第一图像中对应位置处的第一像素不是待修复像素,此时可以不对该第一像素进行处理,即保留第一像素处的颜色数据。
可理解,在图像显示的过程中,通常采用RGBA四通道数据,此时可以将第一真实帧图像中A通道数据作为第一图像中各像素的A通道数据,并将其与第一图像中的颜色数据组成RGBA四通道数据输出到第一图像,生成第一真实帧图像的预测帧数据。
在本实施例中,基于第二掩膜图像中各像素的mask数据,对第一图像中的各像素经过上述S405至S408的步骤后,可以保证第一图像中所有待修复像素均具有对应的颜色数据,从而生成了用于在第一真实帧图像和第二真实帧图像之间显示的预测帧图像,参照上述图9所示的(e)。
在本申请的实施例中,利用两真实帧图像之间的运动矢量信息,对真实帧图像进行像素偏移,然后基于缺失区域的像素坐标采样另外的一帧真实帧图像,并在拼接处进行平滑过度,生成效果好,算法效率高。
示例性的,下述通过游戏领域中生成内插帧的示例进行解释说明。
示例性的,图10是预测帧图像生成的流程示意图。图11是基于真实帧图像生成预测帧图像的过程示意图。在本实施例中,可以基于游戏真实帧图像N和游戏真实帧图像N+1生成介于游戏真实帧图像N和游戏真实帧图像N+1之间的预测帧图像。如图10所示,预测帧生成过程具体如下:
第一,获取游戏真实帧图像N和游戏真实帧图像N+1。示例性的,游戏真实帧图像N如图11的(a)所示,游戏真实帧图像N+1如图11的(e)所示。
第二,基于获取到的运动矢量对游戏真实帧图像N进行图像扭曲操作,可以生成具有待修复边缘的预测帧图像,如图11的(b)所示,其中,待修复的边缘称为待修复区域,预测帧图像中除待修复边缘的区域称为有效像素区域。
作为一种示例,利用MRT技术,基于运动矢量对游戏真实帧图像N进行图像扭曲操作,同时生成具有待修复边缘的预测帧图像和第一掩膜图像。可选的,具有待修复边缘的预测帧图像如图11的(b)所示,第一掩膜图像如图11的(c)所示。其中,第一掩膜图像中的1.0用于指示具有待修复边缘的预测帧图像中的待修复区域,第一掩膜图像中的0.0用于指示具有待修复边缘的预测帧图像中的有效像素区域。
作为另一种示例,基于待修复边缘的预测帧的A通道数据生成第一掩膜图像。可理解,本申请实施例并不限定第一掩膜图像的生成方式,其可根据实际需求确定,此处不作赘述。
第三,对第一掩膜图像中掩膜值进行处理,得到第二掩膜图像。示例性的,参照图11的(c)和图11的(d)所示,对第一掩膜图像中掩膜值等于1.0的第三区域Q进行处理,得到第二掩膜图像,在第二掩膜图像中,第三区域的掩膜值α从左至右,从1.0渐变为0.0。
第四,基于运动矢量、游戏真实帧N的颜色数据和游戏真实帧N+1的颜色数据对具有待修复边缘的预测帧图像进行图像边缘修复,可以得到修复边缘后的预测帧图像。
示例性的,在图11的(d)所示的第二掩膜图像的基础上,基于运动矢量、游戏真实帧N的颜色数据和图11的(e)所示的游戏真实帧N+1的颜色数据对上述图11的(b)所示的具有待修复边缘的预测帧图像进行图像边缘修复,可以得到如图11的(f)所示的修复边缘的预测帧图像。
可理解,具有待修复边缘的预测帧图像不会显示,修复边缘后的预测帧图像可以插在第一真实帧图像和第二真实帧图像之间进行显示,从而呈现给用户。
可选的,继续参见图10和图11所示,下述对图像边缘修复的具体实现进行解释说明。
在本实施例中,GPU中预置有图像边缘修复的模式以及处理方式。示例性的,若图像边缘修复的模式为半透明混合,此时,半透明混合的混合方式可以是A·(1-α)+B·α等。
可选的,参照图10所示,采样第二掩膜图像中第一像素的掩膜值,判断掩膜值是否等于0.0,若是,则不对具有待修复边缘的预测帧图像中对应位置的像素进行处理,即不对第一像素对应于具有待修复区域的预测帧图像中的像素进行处理,保留对应位置处的像素值,例如,不对图11的(b)中有效像素区域中的像素进行处理;若否,则基于运动矢量采样游戏真实帧图像N+1和待修复的游戏帧的颜色数据,再基于第二掩膜图像中的掩膜值α对游戏真实帧图像N+1和待修复的游戏帧的颜色数据进行加权求和,生成第一像素的颜色数据,例如,从图11的(e)所示的真实帧图像N+1中,采样P点的颜色数据B1,从图11的(b)所示的具有待修复区域的预测帧图像中,采样P点的颜色数据A1,并基于A·(1-α)+B·α计算第一像素的颜色数据(A1·(1-α)+B1·α),最后将该颜色数据输出到具有待修复的预测帧图像中的相应位置处。
可选的,通过上述各操作可对待修复的预测帧图像中的各待修复像素进行颜色填充,并将填充至对应的位置,得到修复边缘的预测帧图像。
关于图10所示实施例中各操作的具体实现和有益效果可参见上述图4所示实施例中的记载,此处不作赘述。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的方法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对实现图像处理方法的装置进行功能模块的划分,例如可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图12是本申请实施例提供的图像处理装置的结果示意图。该图像处理装置可以通过电子设备中的图形处理器GPU实现。如图12所示,该图像处理装置,包括:
获取单元1201,用于获取第一真实帧图像和第二真实帧图像;
处理单元1202,用于在所述第一真实帧图像和所述第二真实帧图像之间满足插帧条件时,对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,所述第一掩膜图像携带有第一掩膜值和第二掩膜值,所述第一掩膜值用于指示所述第一图像中的第一区域为待修复区域,所述第二掩膜值用于指示所述第一图像中的第二区域为有效像素区域;
所述处理单元1202,还用于对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像;
修复单元1203,用于基于所述第二掩膜图像、所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像。
在本实施例的一种可能实现方式中,在对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像时,所述处理单元1202,具体用于:在所述第一掩膜图像中,定位出所述第一掩膜值与所述第二掩膜值的边界像素;基于预置渐变宽度、所述边界像素的位置和所述第一掩膜图像中像素的掩膜值,确定所述第一掩膜图像中的第三区域;根据所述预置渐变宽度、所述第三区域中各像素与所述边界像素的距离,计算所述第三区域中各像素的掩膜值;利用所述第三区域中各像素的掩膜值更新所述第一掩膜图像,将更新后的第一掩膜图像确定为第二掩膜图像。
在本实施例的一种可能实现方式中,在基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像时,所述修复单元1203,具体用于:根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素;响应于所述掩膜值指示的所述第一图像中的像素为待修复像素,则基于所述第一图像的颜色数据、所述第二真实帧图像的颜色数据和所述掩膜值,对所述第一图像中的所述像素进行颜色填充,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像;响应于所述掩膜值指示的所述第一图像中的像素不是待修复像素,不对所述第一图像中的所述像素进行处理,保留所述第一图像中所述像素的数据信息。
可选的,在根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素时,所述处理单元1202,具体用于:逐像素采样所述第二掩膜图像的掩膜值;若采样像素的掩膜值等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素不是待修复像素;若采样像素的掩膜值不等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素是待修复像素。
在本实施例的一种可能实现方式中,在对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像之前,所述处理单元1202,还用于:对所述第一图像中的所述待修复区域进行像素初始化处理,得到第二图像,所述第二图像中的所述待修复区域的像素颜色数据等于位移方向上采样到的最近有效像素的颜色数据;
所述基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,包括:基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复。
可选的,在基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复时,所述修复单元1203,具体用于:根据所述第二掩膜图像的掩膜值,确定出所述第一图像中的待修复像素;根据所述待修复像素对应于所述第二掩膜图像中的掩膜值,确定第一权重和第二权重,所述第一权重等于所述掩膜值,所述第二权重等于1与所述第一权重的差值,所述第一权重和所述第二权重均大于或等于0且小于或等于1;基于所述待修复像素的位置,采样所述第二图像中对应位置处的第一颜色数据和所述第二真实帧图像中对应位置处的第二颜色数据;将所述第一权重与所述第一颜色数据、所述第二权重与所述第二颜色数据进行加权求和,得到所述待修复像素的目标颜色数据;利用所述目标颜色数据对所述第一图像中的所述待修复像素进行颜色填充。
在本实施例的一种可能实现方式中,所述第一掩膜值等于1.0,所述第二掩膜值等于0.0,所述第三区域中像素的掩膜值位于1.0至0.0之间。
在本实施例的一种可能实现方式中,所述第一真实帧图像和所述第二真实帧图像之间满足插帧条件包括第一真实帧图像和所述第二真实帧图像之间的运动幅度小于预设的幅度阈值且所述第一真实帧图像中不存在半透明模型。
在本实施例的一种可能实现方式中,在对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像时,所述处理单元1202,具体用于:采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像;根据所述第一图像中各像素的A通道数据,生成所述第一图像对应的第一掩膜图像。
在本实施例的一种可能实现方式中,在采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像时,所述处理单元1202,具体用于:逐像素采样所述第一真实帧图像的坐标,得到各采样坐标;将所述第一真实帧图像的各采样坐标加上运动矢量,计算各采样坐标位移后的各像素坐标,得到第一图像;其中,所述第一图像中不在目标范围内的像素坐标的A通道数据等于第一掩膜值,所述第一图像中位于目标范围内的像素坐标的A通道数据等于第二掩膜值。
本申请实施例提供的图像处理装置可用于执行上述图4所示的图像处理方法,其实现原理和有效效果可参见上述实施例中的记载,此处不作赘述。
示例性的,图13是本申请实施例提供的一种芯片的结构示意图。如图13所示,芯片1300包括一个或两个以上(包括两个)处理器1301、通信线路1302、通信接口1303和存储器1304。
其中,处理器1301通过GPU实现,或者,处理器1301由CPU和GPU实现。
在一些实施方式中,存储器1304存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
上述本申请实施例描述的方法可以应用于处理器1301中,或者由处理器1301实现。处理器1301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1301中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1301可以实现或者执行本申请实施例中的公开的各处理相关的方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1304,处理器1301读取存储器1304中的信息,结合其硬件完成上述方法的步骤。
处理器1301、存储器1304以及通信接口1303之间可以通过通信线路1302进行通信。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
本申请实施例还提供一种计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程图像处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (15)
1.一种图像处理方法,其特征在于,包括:
获取第一真实帧图像和第二真实帧图像;
对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,所述第一掩膜图像携带有第一掩膜值和第二掩膜值,所述第一掩膜值用于指示所述第一图像中的第一区域为待修复区域,所述第二掩膜值用于指示所述第一图像中的第二区域为有效像素区域;
对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像;
基于所述第二掩膜图像、所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成预测帧图像,所述预测帧图像显示于所述第一真实帧图像和所述第二真实帧图像之间。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像,包括:
在所述第一掩膜图像中,确定出所述第一掩膜值与所述第二掩膜值的边界像素;
基于预置渐变宽度、所述边界像素的位置和所述第一掩膜图像中像素的掩膜值,确定所述第一掩膜图像中的第三区域;
根据所述预置渐变宽度、所述第三区域中各像素与所述边界像素的距离,确定所述第三区域中各像素的掩膜值;
利用所述第三区域中各像素的掩膜值更新所述第一掩膜图像,将更新后的第一掩膜图像确定为第二掩膜图像。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像,包括:
根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素;
响应于所述掩膜值指示的所述第一图像中的像素为待修复像素,则基于所述第一图像的颜色数据、所述第二真实帧图像的颜色数据和所述掩膜值,对所述第一图像中的所述像素进行颜色填充,生成用于在所述第一真实帧图像和所述第二真实帧图像之间显示的预测帧图像;
响应于所述掩膜值指示的所述第一图像中的像素不是待修复像素,不对所述第一图像中的所述像素进行处理,保留所述第一图像中所述像素的数据信息。
4.根据权利要求3所述的方法,其特征在于,所述根据从所述第二掩膜图像中逐像素采样的掩膜值,确定所述掩膜值指示的所述第一图像中的像素是否为待修复像素,包括:
逐像素采样所述第二掩膜图像的掩膜值;
若采样像素的掩膜值等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素不是待修复像素;
若采样像素的掩膜值不等于第二掩膜值,则确定所述掩膜值指示的所述第一图像中的像素是待修复像素。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像之前,所述方法还包括:
对所述第一图像中的所述待修复区域进行像素初始化处理,得到第二图像,所述第二图像中的所述待修复区域的像素颜色数据等于位移方向上采样到的最近有效像素的颜色数据;
所述基于所述第二掩膜图像、基于所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,包括:
基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第二图像的颜色数据、第二真实帧图像的颜色数据和所述第二掩膜图像的掩膜值,对所述第一图像中的所述待修复区域进行像素数据修复,包括:
根据所述第二掩膜图像的掩膜值,确定出所述第一图像中的待修复像素;
根据所述待修复像素对应于所述第二掩膜图像中的掩膜值,确定第一权重和第二权重,所述第一权重等于所述掩膜值,所述第二权重等于1与所述第一权重的差值,所述第一权重和所述第二权重均大于或等于0且小于或等于1;
基于所述待修复像素的位置,采样所述第二图像中对应位置处的第一颜色数据和所述第二真实帧图像中对应位置处的第二颜色数据;
将所述第一权重与所述第一颜色数据、所述第二权重与所述第二颜色数据进行加权求和,得到所述待修复像素的目标颜色数据;
利用所述目标颜色数据对所述第一图像中的所述待修复像素进行颜色填充。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一掩膜值等于1.0,所述第二掩膜值等于0.0,所述第三区域中像素的掩膜值位于1.0至0.0之间。
8.根据权利要求1至7任一项所述的方法,其特征在于,对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,包括:
在所述第一真实帧图像和所述第二真实帧图像之间满足插帧条件时,对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述第一真实帧图像和所述第二真实帧图像之间满足插帧条件包括第一真实帧图像和所述第二真实帧图像之间的运动幅度小于预设的幅度阈值且所述第一真实帧图像中不存在半透明模型。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,包括:
采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像;
根据所述第一图像中各像素的A通道数据,生成所述第一图像对应的第一掩膜图像。
11.根据权利要求10所述的方法,其特征在于,所述采用运动矢量对所述第一真实帧图像沿指定方向位移处理,生成第一图像,包括:
逐像素采样所述第一真实帧图像的坐标,得到各采样坐标;
将所述第一真实帧图像的各采样坐标加上运动矢量,计算各采样坐标位移后的各像素坐标,得到第一图像;
其中,所述第一图像中不在目标范围内的像素坐标的A通道数据等于第一掩膜值,所述第一图像中位于目标范围内的像素坐标的A通道数据等于第二掩膜值。
12.一种图像处理装置,其特征在于,包括:
获取单元,用于获取第一真实帧图像和第二真实帧图像;
处理单元,用于对所述第一真实帧图像进行位移处理,得到第一图像和第一图像对应的第一掩膜图像,所述第一掩膜图像携带有第一掩膜值和第二掩膜值,所述第一掩膜值用于指示所述第一图像中的第一区域为待修复区域,所述第二掩膜值用于指示所述第一图像中的第二区域为有效像素区域;
所述处理单元,还用于对所述第一掩膜图像中掩膜值等于所述第一掩膜值的第三区域进行处理,以使得所述第三区域的掩膜值从所述第一掩膜值线性渐变至所述第二掩膜值,得到第二掩膜图像;
修复单元,用于基于所述第二掩膜图像、所述第一图像的颜色数据和所述第二真实帧图像的颜色数据,对所述第一图像中的待修复区域进行像素数据修复,生成预测帧图像,所述预测帧图像显示于所述第一真实帧图像和所述第二真实帧图像之间。
13.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,以执行如权利要求1-11任一项所述的图像处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1-11任一项所述的图像处理方法。
15.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得电子设备执行如权利要求1-11任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311288899.7A CN117635486A (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置、设备及存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311288899.7A CN117635486A (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置、设备及存储介质 |
CN202211058801.4A CN116091329B (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置、设备及存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211058801.4A Division CN116091329B (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117635486A true CN117635486A (zh) | 2024-03-01 |
Family
ID=86197979
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211058801.4A Active CN116091329B (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置、设备及存储介质 |
CN202311288899.7A Pending CN117635486A (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置、设备及存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211058801.4A Active CN116091329B (zh) | 2022-08-31 | 2022-08-31 | 图像处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116091329B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670641A (zh) * | 2022-08-31 | 2024-03-08 | 荣耀终端有限公司 | 数据处理方法、装置、设备及存储介质 |
CN116958203B (zh) * | 2023-08-01 | 2024-09-13 | 杭州知存算力科技有限公司 | 一种图像处理方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5161427B2 (ja) * | 2006-02-20 | 2013-03-13 | 株式会社東芝 | 画像撮影装置、画像処理装置及びプログラム |
US8508612B2 (en) * | 2010-09-30 | 2013-08-13 | Apple Inc. | Image signal processor line buffer configuration for processing ram image data |
US8786625B2 (en) * | 2010-09-30 | 2014-07-22 | Apple Inc. | System and method for processing image data using an image signal processor having back-end processing logic |
CN107396111B (zh) * | 2017-07-13 | 2020-07-14 | 河北中科恒运软件科技股份有限公司 | 介导现实中自动视频插帧补偿方法及系统 |
CN111105382B (zh) * | 2019-12-31 | 2021-11-16 | 北京大学 | 视频修复方法 |
-
2022
- 2022-08-31 CN CN202211058801.4A patent/CN116091329B/zh active Active
- 2022-08-31 CN CN202311288899.7A patent/CN117635486A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116091329B (zh) | 2023-10-20 |
CN116091329A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116091329B (zh) | 图像处理方法、装置、设备及存储介质 | |
US20240220080A1 (en) | User interface for third party use of software development kit | |
CN112381918A (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
US11698822B2 (en) | Software development kit for image processing | |
CN106575228A (zh) | 图形处理中的渲染目标命令重新排序 | |
KR20100004119A (ko) | 포스트-렌더링 그래픽스 오버레이 | |
CN111400024A (zh) | 渲染过程中的资源调用方法、装置和渲染引擎 | |
CN113763856A (zh) | 环境光照强度确定方法、装置及存储介质 | |
CN114780012B (zh) | 电子设备的锁屏壁纸的显示方法和相关装置 | |
CN113342703A (zh) | 一种渲染效果实时调试方法、装置、开发设备及存储介质 | |
CN115018692B (zh) | 一种图像渲染方法及电子设备 | |
CN117557703A (zh) | 渲染的优化方法、电子设备和计算机可读存储介质 | |
CN116563083A (zh) | 渲染图像的方法和相关装置 | |
EP4459558A1 (en) | Rendering method and apparatus, and device and storage medium | |
CN115937380A (zh) | 图形渲染方法、装置及存储介质 | |
EP4379647A1 (en) | Render format selection method and device related thereto | |
CN116095221B (zh) | 一种游戏中的帧率调整方法及相关装置 | |
CN114359081A (zh) | 液体材质溶解方法、装置、电子设备及存储介质 | |
WO2024045701A9 (zh) | 数据处理方法、装置、设备及存储介质 | |
CN117115276B (zh) | 一种画面处理的方法、设备及存储介质 | |
WO2023280241A1 (zh) | 图像画面渲染方法及电子设备 | |
CN116740241B (zh) | 一种图像处理方法及电子设备 | |
CN117746762B (zh) | 显示处理方法、装置及电子设备 | |
CN116672707B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN118916120A (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 |