技术领域
[0001] 本申请属于流媒体技术领域,具体涉及一种图像处理方法及其装置。
相关背景技术
[0002] 在日常生活中,用户可以通过电子设备存储或传输图像,例如图片格式的图像或视频图像。为了降低图像存储所需的内存或图像传输所需的带宽,以及保证图像的高清画质,电子设备可以采用较低的码率对图像数据进行编码,实现图像的高清低码。
[0003] 通常,电子设备可以根据图像数据的规格(例如分辨率或帧率等),设置固定的码率对图像数据进行编码。然而,由于电子设备是采用固定的码率直接对图像数据编码的,因此无法保证图像的编码效果,从而目前的图像处理方法无法实现高清低码的效果。
具体实施方式
[0024] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
[0025] 本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0026] 本申请的术语“至少一个(项)”、“至少之一”等指其包含对象中的任意一个、任意两个或两个以上的组合。例如,a、b、c中的至少一个(项),可以表示:“a”、“b”、“c”、“a和b”、“a和c”、“b和c”以及“a、b和c”,其中a,b,c可以是单个,也可以是多个。同理,“至少两个(项)”是指两个或两个以上,其表达的含义与“至少一个(项)”类似。
[0027] 下面对本申请实施例中涉及的一些术语和名词进行解释说明。
[0028] 编码:是指通过技术去除编码帧的帧内与帧间冗余,实现数据高效压缩。常用的技术包括预测编码,变换编码与熵编码为代表H.264/AVC、H.265/HEVC、H.266/VVC、JPEG等传统编码,新兴的技术使用神经网络进行数据压缩。
[0029] 码率:单位时间内输出的比特数,单位一般为kbps。对于同一图像/视频,编码码率越高,编码质量越好,压缩率越低。
[0030] 量化参数:变换编码时采用的量化步长,也称QP(Quantization Parameter)。编码有损误差的唯一来源,QP越大,质量越差,压缩率越高。
[0031] 去压缩失真:去除编码产生的失真,失真一般包括清晰度低的模糊问题,块效应,噪声,rings等瑕疵问题。去压缩失真是编解码增强算法的一种主要形式。
[0032] 增强:是指通过算法对退化的特征进行处理,提升图像/视频的质量和清晰度,不局限于去噪,锐化,超分,去压缩失真等技术。
[0033] 高清低码:也称窄带高清,是指编码时用较低的码率,实现高清的画质。
[0034] 下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像处理方法进行详细地说明。
[0035] 本申请实施例可以应用于对图像进行编码的场景。具体的,电子设备对图像数据进行编码,以存储或传输码流信息。
[0036] 通常,为了降低图像存储所需的内存或图像传输所需的带宽,以及保证图像的高清画质,电子设备需要根据图像数据的规格,设置固定的码率对图像数据进行编码。然而,由于电子设备采用固定的码率对图像数据编码,在部分图像中码率会冗余,造成资源的浪费,而在部分图像中码率会不足,导致图像无法实现高清画质,无法保证整个图像的编码效果,从而当前图像处理方法实现高清低码的效果较差。
[0037] 本申请实施例提供一种图像处理方法,可以采用第一分辨率对图像数据进行编码,得到第一码流信息和第一量化参数,并基于第一分辨率和小于第一分辨率的第二分辨率,确定图像数据的第一决策量化参数值,该第一量化参数值为图像数据在第一分辨率下的编码失真临界值,然后可以基于第一量化参数和第一决策量化参数值,对所述图像数据进行处理,输出第一码流信息,或者输出采用小于第一分辨率的一个分辨率编码得到的码流信息。本方案中,由于电子设备可以采用第一分辨率对图像数据进行编码得到第一量化参数,并且电子设备可以基于第一分辨率和第二分辨率确定图像数据的第一决策量化参数值,从而电子设备可以先采用任意一个分辨率对图像数据进行编码,得到第一量化参数,然后根据比该任意一个分辨率小的一个分辨率,确定出图像数据在当前分辨率下的编码失真临界值,再基于该编码失真临界值判断输出的码流信息,即输出第一码流信息,或者采用小于第一分辨率的一个分辨率编码得到的码流信息,也就是说基于第一量化参数和编码失真临界值,能够确定出编码失真程度不超过该编码失真临界值、且编码使用的分辨率较低的码流信息,因此通过选择合适的分辨率对图像数据进行编码的方式,避免码率的冗余和不足,以使得图像数据在编码的过程中实现码率较低的同时保证图像画质,如此,保证电子设备对图像编码时的高清低码效果。
[0038] 本申请实施例提供的图像处理方法的执行主体可以为图像处理装置,或者电子设备,或者电子设备中的功能模块。以下以电子设备为例,对本申请实施例提供的技术方案进行说明。
[0039] 图1示出了本申请实施例提供的一种图像处理方法的流程图,如图1所示,本申请实施例提供的图像处理方法可以包括下述的步骤201至步骤203。
[0040] 步骤201、电子设备采用第一分辨率对图像数据进行编码,得到第一码流信息和第一量化参数。
[0041] 可选地,本申请实施例中,上述第一分辨率可以为预设分辨率集合中的任意一个分辨率,也可以为用户自定义的分辨率。该预设分辨率集合包含有预先设定的图像数据编码时可用的至少两个分辨率。
[0042] 本申请实施例中,电子设备可以采用任意一个分辨率(例如预设分辨率集合中的最大分辨率)开始对图像数据进行编码,以根据得到的量化参数确定是否重新选择其他合适的分辨率对图像数据编码,从而存储或传输采用合适的分辨率编码得到的码流信息。
[0043] 本申请实施例中,上述图像数据为图像或视频帧像素组成的矩阵。
[0044] 可选地,本申请实施例中,上述图像数据可以为未处理(例如压缩处理)的原始图片数据或原始视频帧数据,或者也可以为处理后的图片数据或视频帧数据。其中,在图像数据为视频中的一帧图像数据的情况下,视频中的每帧图像数据均可以通过本申请的方案选择合适的分辨率编码得到每帧图像数据的码流信息。
[0045] 可选地,本申请实施例中,上述图像数据可以为二维图像数据或三维图像数据等形态。
[0046] 本申请实施例中,编码是在给定码率和分辨率的情况下,通过调用编码工具进行编码,输出码流信息的过程。编码是通过技术去除编码帧的帧内与帧间冗余,以实现数据的高效压缩。
[0047] 可选地,本申请实施例中,上述编码工具可以包括但不限于以下至少一项:预测编码、变换编码与熵编码为代表的多功能视频编码(Versatile Video Coding,H.266/VVC)、高效视频编码(High Efficiency Video Coding,H.265/HEVC)、高级视频编码(Advanced Video Coding,H.264/AVC)、联合图像专家组(Joint Photographic Experts Group,JPEG)等常用编码方式,也可以为基于神经网络的编码方式。
[0048] 需要说明的是,上述码率为单位时间内输出的比特数。对于同一图像,编码码率越高,编码质量越好,压缩率越低。在码率固定的情况下,分辨率与画质(例如清晰度)成反比关系,分辨率越高,图像越不清晰,分辨率越低,图像越清晰。在分辨率固定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰,码率越低,图像越不清晰。本申请实施例中,电子设备通过选择一个合适的分辨率,使得图像数据在编码的过程中实现码率较低的同时保证图像画质较好,即达到高清低码的效果。
[0049] 本申请实施例中,上述第一码流信息为图像数据在第一分辨率下对应的码流信息,又称为编码数据,通常是一系列二进制序列或者其他形式的数据,这些数据可以有效地减少图像文件的大小,便于存储和传输。可选地,图像的编码数据可以是经过压缩的图像文件,例如联合图像专家组、便携式网络图形(Portable Network Graphics,PNG)、图形交换格式(Graphics Interchange Format,GIF)等格式的文件;也可以是图像的描述性数据,例如矢量图形数据。
[0050] 本申请实施例中,上述第一量化参数为图像数据在第一分辨率下对应的量化参数,又称为变换编码时采用的量化步长(Quantization Parameter,QP)。由于编码采用有损压缩的形式,在图像编码时,会带来压缩失真,又称为有损误差,如模糊效应,块效应,噪声,环形效应等。而量化参数是编码有损误差的唯一来源,图像编码时采用的量化参数越大,压缩失真的问题越严重,图像质量越差,图像压缩率越高;图像编码时采用的量化参数越小,压缩失真的问题越轻微,图像质量越好,图像压缩率越低。本申请实施例通过量化参数的判断来选择一个合适的分辨率编码,使得图像数据在编码的过程中实现码率较低的同时保证图像画质较好。
[0051] 步骤202、电子设备基于第一分辨率和第二分辨率,确定图像数据的第一决策量化参数值。
[0052] 本申请实施例中,上述第一决策量化参数值为图像数据在第一分辨率下的编码失真临界值,上述第二分辨率小于第一分辨率。
[0053] 可选地,本申请实施例中,上述第二分辨率可以为预设分辨率集合中的分辨率,或者也可以为电子设备将第一分辨率降低至预设比例后的分辨率(例如降低至第一分辨率的90%)。
[0054] 本申请实施例中,在第二分辨率为预设分辨率集合中的分辨率的情况下,第二分辨率可以为预设分辨率集合中小于第一分辨率的任意一个分辨率。
[0055] 本申请实施例中,电子设备可以利用分辨率决策算法,对当前帧(即上述图像数据)进行处理,以得到该帧在当前分辨率(即第一分辨率)与第二分辨率下的决策QP值,即编码失真临界值,用于判断在第一分辨率下,对图像数据的编码产生的有损误差是否处于容许限度内。本申请实施例可以从预设分辨率中的最大分辨率依次往下决策,根据每个分辨率对应的量化参数和决策QP值,选择该帧的合适且较大的分辨率,打破给定码率固定分辨率编码方式,有效去除了码率冗余,得到画质更高清的效果。
[0056] 可选地,本申请实施例中,上述分辨率决策算法可以包括但不限于以下至少一项:机器学习支持向量回归类算法、神经网络回归类算法等。
[0057] 步骤203、电子设备基于第一量化参数和第一决策量化参数值,对图像数据进行处理并输出第二码流信息。
[0058] 本申请实施例中,上述第二码流信息为第一码流信息,或者为采用小于第一分辨率的一个分辨率编码得到的码流信息。
[0059] 本申请实施例中,电子设备可以对比第一量化参数和第一决策量化参数值的大小关系,以判断输出第一码流信息,还是采用比第一分辨率更小的分辨率对图像数据编码得到并输出对应的码流信息。
[0060] 本申请实施例中,在第一量化参数小于或等于第一决策量化参数值的情况下,认为使用第一分辨率编码的编码失真程度较小,在可接收范围内,即对图像数据的编码产生的有损误差处于容许限度内。或者,在第一量化参数大于第一决策量化参数值的情况下,认为使用第一分辨率编码的编码失真程度较大,不在可接收范围内,即对图像数据的编码产生的有损误差处于容许限度外。
[0061] 可选地,本申请实施例中,结合图1,如图2所示,上述步骤203具体可以通过下述的步骤301实现。
[0062] 步骤301、在第一量化参数小于或等于第一决策量化参数值的情况下,电子设备输出第一码流信息。
[0063] 如此,在第一量化参数小于或等于第一决策量化参数值的情况下,电子设备判断在第一分辨率下,电子设备对图像数据进行编码产生的有损误差处于容许限度内,以触发输出第一分辨率编码得到的码流信息,从而电子设备输出编码产生的有损误差处于容许限度内的码流信息,减少了编码的有损误差,提升了图像画质。
[0064] 可选地,本申请实施例中,结合图1,如图3所示,上述步骤203具体可以通过下述的步骤401至步骤403实现。
[0065] 步骤401、在第一量化参数大于第一决策量化参数值的情况下,电子设备采用第二分辨率对图像数据进行编码,得到第三码流信息和第二量化参数。
[0066] 步骤402、电子设备基于第二分辨率和第三分辨率,确定图像数据的第二决策量化参数值。
[0067] 本申请实施例中,上述第二决策量化参数值为图像数据在第二分辨率下的编码失真临界值,上述第三分辨率小于第二分辨率。
[0068] 可选地,本申请实施例中,上述第二分辨率可以为预设分辨率集合中的分辨率,或者也可以为电子设备将第一分辨率降低至预设比例后的分辨率(例如降低至第一分辨率的90%)。
[0069] 本申请实施例中,在第二分辨率为预设分辨率集合中的分辨率的情况下,第二分辨率可以为预设分辨率集合中小于第一分辨率的任意一个分辨率。
[0070] 可选地,本申请实施例中,上述第三分辨率可以为预设分辨率集合中的分辨率,或者也可以为电子设备将第二分辨率降低至预设比例后的分辨率(例如降低至第二分辨率的90%)。
[0071] 本申请实施例中,在第三分辨率为预设分辨率集合中的分辨率的情况下,第三分辨率可以为预设分辨率集合中小于第二分辨率的任意一个分辨率。
[0072] 步骤403、在第二量化参数小于或等于第二决策量化参数值的情况下,电子设备输出第三码流信息。
[0073] 需要说明的是,针对步骤401至步骤403的实现方式,与上述步骤201至步骤203的实现方式类似,可以参见上述实施例的描述,此处不予赘述。
[0074] 可以理解,本申请实施例中,在第一量化参数大于第一决策量化参数值的情况下,电子设备可以采用第i个分辨率对图像数据进行编码,得到第i个量化参数;然后,电子设备可以基于第i分辨率和第i+1个分辨率,确定图像数据的第i个决策量化参数值,该第i个决策量化参数值为图像数据在第i个分辨率下的编码失真临界值,该第i+1个分辨率小于第i个分辨率;在第N个量化参数小于或等于第N个决策量化参数值的情况下,输出采用第N个分辨率对图像数据编码得到的码流信息。其中,i和N为正整数。
[0075] 需要说明的是,电子设备可以从任意一个分辨率开始,例如电子设备可以从预设分辨率集合中的最大分辨率开始,即i=1时,第1个分辨率为预设分辨率集合中的最大分辨率。电子设备在采用低于预设最小分辨率的分辨率对图像数据进行编码时,可以直接输出采用该分辨率得到的码流信息,该预设最小分辨率为预设分辨率集合中的最小分辨率。
[0076] 本申请实施例中,在上述第二量化参数大于第二决策量化参数值的情况下,电子设备可以采用第三分辨率对图像数据进行编码,得到第四码流信息和第四量化参数。然后电子设备可以基于第三分辨率和第四分辨率,确定图像数据的第三决策量化参数值,第四分辨率小于第三分辨率,并在第四量化参数小于或等于第三决策量化参数值的情况下,电子设备输出第四码流信息。以此类推,在电子设备判断使用当前分辨率对图像数据进行编码产生的有损误差超越容许限度的情况下,电子设备可以选择小于当前分辨率的一个分辨率,将图像数据压缩至该分辨率,并重复上述步骤,直至电子设备判断出对图像数据进行编码产生的有损误差处于容许限度内的分辨率,则输出采用该分辨率编码得到的码流信息。
[0077] 示例性地,电子设备采用分辨率a对图像数据进行编码,得到量化参数a1和码流信息a2,电子设备确定出小于分辨率a的分辨率b,基于分辨率a和分辨率b,确定出图像数据的决策量化参数值a3。若量化参数a1大于决策量化参数值a3,则认为不满足输出码流信息a2的条件(即编码产生的有损误差处于容许限度外),从而电子设备继续采用分辨率b对图像数据进行编码,得到量化参数b1和码流信息b2,电子设备确定出小于分辨率b的分辨率c,基于分辨率b和分辨率c,确定出图像数据的决策量化参数值b3。若量化参数b1大于决策量化参数值b3,则认为不满足输出码流信息b2的条件,从而电子设备继续采用分辨率c对图像数据进行编码,得到量化参数c1和码流信息c2,电子设备确定出小于分辨率c的分辨率d,基于分辨率c和分辨率d,确定出图像数据的决策量化参数值c3。若量化参数c1大于决策量化参数值c3,则认为不满足输出码流信息c2的条件,从而电子设备继续采用分辨率d对图像数据进行编码并判断分辨率d是否满足输出码流信息的条件。重复上述步骤,直至电子设备通过分辨率x对图像数据进行编码得到的量化参数x1小于或等于决策量化参数x3,从而电子设备可以输出码流信息x2。
[0078] 可选地,本申请实施例中,电子设备输出第三码流信息可以为电子设备通过网络传输第三码流信息,或者可以为电子设备将第三码流信息存储到本地文件中。
[0079] 如此,在第一分辨率对应的码流信息的有损误差超越容许限度的情况下,电子设备可以判断下一低分辨率是否符合上述输出码流信息的条件,以在符合条件的情况下输出该分辨率对应的码流信息,从而电子设备输出编码产生的有损误差处于容许限度内的码流信息,减少了编码的有损误差,提升了图像画质。
[0080] 本申请实施例提供一种图像处理方法,由于电子设备可以采用第一分辨率对图像数据进行编码得到第一量化参数,并且电子设备可以基于第一分辨率和第二分辨率确定图像数据的第一决策量化参数值,从而电子设备可以先采用任意一个分辨率对图像数据进行编码,得到第一量化参数,然后根据比该任意一个分辨率小的一个分辨率,确定出图像数据在当前分辨率下的编码失真临界值,再基于该编码失真临界值判断输出的码流信息,即输出第一码流信息,或者采用小于第一分辨率的一个分辨率编码得到的码流信息,也就是说基于第一量化参数和编码失真临界值,能够确定出编码失真程度不超过该编码失真临界值、且编码使用的分辨率较低的码流信息,因此通过选择合适的分辨率对图像数据进行编码的方式,避免码率的冗余和不足,以使得图像数据在编码的过程中实现码率较低的同时保证图像画质,如此,保证电子设备对图像编码时的高清低码效果。
[0081] 可选地,本申请实施例中,结合图1,如图4所示,在上述步骤203之后,本申请实施例提供的图像处理方法还包括下述的步骤501和步骤502。
[0082] 步骤501、电子设备对第二码流信息进行解码,得到图像数据对应的像素值矩阵和第三量化参数。
[0083] 本申请实施例中,解码是将图像数据经过编码得到的码流信息转换为图像数据原始形式的过程。
[0084] 本申请实施例中,上述像素值矩阵为表示图像的一种方式,其为一个二维数组,其中每个元素代表图像中对应位置像素的数值。对于灰度图像,每个像素的数值通常在0到255之间,表示该像素的灰度值;而对于彩色图像,每个像素通常由三个数值(红、绿、蓝)组成,每个数值的范围也在0到255之间,表示该像素在红、绿、蓝三个通道上的色彩强度。
[0085] 本申请实施例中,量化参数可以从码流信息中直接获取,反映了编码的失真程度,是编码有损误差的唯一来源。
[0086] 可选地,本申请实施例中,上述第三量化参数可以为帧QP级别的单个数值(可以称为帧量化参数),或者可以为QP图级别的矩阵(可以称为量化参数矩阵)。
[0087] 需要说明的是,上述帧量化参数为一个固定值,适用于整个帧。而上述量化参数矩阵则允许在同一帧内部对不同区域设置不同的量化参数。通过这种方式,可以在保持总体码率不变的前提下,对画面中的重要区域(如人脸、文本等)赋予较高的图像质量,而对背景等次要区域则可以适当降低质量,以减少码率。量化参数矩阵可以是一个二维数组,其中每个元素代表画面中对应位置的量化参数值。
[0088] 步骤502、电子设备基于第三量化参数,对像素值矩阵进行画质增强处理,输出像素值矩阵对应的图像帧。
[0089] 本申请实施例中,上述画质增强处理为通过增强算法对图像数据中退化的特征进行处理,去除伪影(artifact),提升图像的质量和清晰度,得到更高清的效果。
[0090] 可选地,本申请实施例中,上述画质增强可以包括但不限于以下至少一项:去噪、锐化处理、超分、去压缩失真等。
[0091] 可选地,本申请实施例中,上述增强算法可以包括但不限于以下至少一项:卷积神经网络、循环神经网络、transformer网络。
[0092] 可选地,本申请实施例中,在上述像素值矩阵对应的图像帧为一帧图像的情况下,电子设备可以以图片格式显示该一帧图像。或者,在上述像素值矩阵对应的图像帧为视频帧图像的情况下,电子设备可以通过播放模块播放视频帧图像。
[0093] 可选地,本申请实施例中,结合图4,如图5所示,上述步骤502具体可以通过下述的步骤601和步骤602实现。
[0094] 步骤601、电子设备将第三量化参数转换为强度系数,并采用强度系数调整预设增强网络中的强度参数。
[0095] 可选地,本申请实施例中,电子设备可以将第三量化参数转换为0至1之间的强度系数,例如采用分段线性化方式转换,从而对预设增强网络(即上述增强算法)的强度进行调节。
[0096] 步骤602、电子设备基于调整强度参数后的预设增强网络,对像素值矩阵进行画质增强处理,输出像素值矩阵对应的图像帧。
[0097] 本申请实施例中,电子设备可以将像素值矩阵输入到调整强度参数后的预设增强网络中,以对像素值矩阵进行增强处理,得到增强后的图像帧,并计算该增强后的图像帧与像素值矩阵的差值,然后计算该差值与上述强度系数的乘积,再将像素值矩阵与该乘积之和作为像素值矩阵对应的图像帧,即得到增强后的高清图像帧。
[0098] 示例性地,如图6所示,示出了一种图像增强方式的结构图。电子设备可以将像素值矩阵输入到预设增强网络(例如AI神经网络)中进行增强处理,得到增强后的图像帧,然后根据QP数值(即第三量化参数)转换为0‑1的强度系数QP_coff,对预设增强网络(例如AI神经网络)的强度进行调节,以输出增强后的高清图像帧。
[0099] 例如,解码帧(像素值矩阵)表示为input_img,AI神经网络输出的是temp_img,增强后的高清图像帧表示为enhance_img,上述强度调节方式为:enhance_img=input_img+(temp_img‑input_img)*QP_coff。
[0100] 如此,该方式可以根据QP对增强算法的强度进行调节,实现自适应调节,通过强度控制的方式得到更好的增强效果,并且该方式与神经网络训练解耦,可以作为通用工具插入其它算法中,因此不仅对神经网络增强算法的增强效果进行自适应调节,在预设增强网络为其他增强算法时,也可以进行自适应调节,从而提升图像的清晰度。
[0101] 可选地,本申请实施例中,结合图4,如图7所示,上述步骤502具体可以通过下述的步骤701和步骤702实现。
[0102] 步骤701、电子设备基于第三量化参数,对像素值矩阵进行特征提取,得到像素值矩阵的特征信息。
[0103] 本申请实施例中,上述特征信息为用于描述或刻画图像数据的属性、变量或指标。电子设备可以将第三量化参数作为先验信息,通过网络对齐对像素值矩阵进行特征提取,提供更多线索帮助算法解决压缩失真问题,恢复图像细节,从而提高图像清晰度。
[0104] 需要说明的是,上述特征提取为从图像中提取有意义的信息的过程。在机器学习和深度学习中,特征提取通常通过训练有素的模型来进行,这些模型能够自动学习数据中表示重要属性的特征。特征提取的质量直接影响到后续图像处理的准确性,如物体检测、场景理解和行为分析等。
[0105] 上述网络对齐为在特征提取的过程中,将不同来源或不同时间的图像数据对齐到一个共同的特征空间中。通过对齐,可以确保这些数据在特征层面上的兼容性和一致性,对于图像识别、分类和分析至关重要。在深度学习中,网络对齐还会涉及到特征图的对齐,有助于捕捉图像的内在结构和外观特性。
[0106] 步骤702、电子设备基于特征信息,对像素值矩阵进行画质增强处理,输出像素值矩阵对应的图像帧。
[0107] 示例性地,如图8所示,示出了另一种图像增强方式的结构图。电子设备可以将像素值矩阵输入到预设增强网络(例如AI神经网络)中进行增强处理,得到增强后的图像帧,然后根据QP数值(即第三量化参数)对像素值矩阵进行特征提取,得到像素值矩阵的特征信息,从而根据提取的特征信息,对像素值矩阵进行针对性的增强处理,以输出增强后的高清图像帧。
[0108] 如此,电子设备可以将第三量化参数作为先验信息,对像素值矩阵进行特征提取,以使得电子设备可以根据提取到的特征信息,对像素值矩阵进行针对性的增强处理,提供更多的线索帮助算法更好地去除artifact,从而更好的修复图像细节,提升图像的清晰度,实现更高清的画质效果。
[0109] 可选地,本申请实施例中,本申请实施例提供的图像处理方法还包括下述的步骤801。
[0110] 步骤801、电子设备基于能力信息,调整图像数据的决策量化参数值。
[0111] 本申请实施例中,上述能力信息表征对解码后的图像帧的画质增强能力。
[0112] 可选地,本申请实施例中,电子设备可以将决策量化参数值(例如上述第一决策量化参数值或第二决策量化参数值)增加一定数值,也可以为设置新的决策量化参数值,具体由增强网络的能力决定,本申请实施例不作具体限制。
[0113] 本申请实施例中,电子设备可以在编码过程中结合解码端的增强算法能力,适当增大分辨率决策算法将图像切换至低分辨率的决策量化参数值的数值临界点,进一步提高降低分辨率的门槛,从而降低高分辨率所需的码率。
[0114] 如此,在解码端的增强算法能力较强时,可以解决较为严重的压缩失真问题,可以弥补电子设备在高分辨率下对图像数据进行编码时的码率不足的问题,从而电子设备可以在编码过程中考虑解码端增强算法能力,适当增大分辨率决策算法切换低分辨率的决策量化参数值的数值临界点,进一步提高降低分辨率的门槛,从而电子设备可以在码率不变情况下,以高分辨率进行编码,提高了图像清晰度。换言之,通过进一步加强编码与增强的联合,降低高分辨率所需的码率,更好地实现高清低码。具体地说,从码率角度,同等码率编码更大分辨率,有效地降低了高分辨率的码率;从画质角度,编码更大分辨率保留更多的图像细节,弥补增强网络恢复逼真高清像素不足的缺点,得到更高清的画质。
[0115] 可选地,本申请实施例中,用户可以通过调节图像数据的决策量化参数值。电子设备中包括调节强度选择模块和调节QP模块。用户调节强度选择模块允许用户选择是否对QP数值进行调节。若用户认为当前播放效果符合其要求,则不行进行调节,否则进行调节。调节QP模块对具体QP数值进行调节,若用户认为当前增强效果偏强,如画质过于平滑,则减少QP,减弱增强效果;反之若当前增强效果偏弱,如画质有明显artifact,则增大QP,加大增强效果。
[0116] 如此,用户可以通过调节强度系数,以触发电子设备对QP数值进行调节,控制失真程度,调节的增强效果,进而得到更符合个人需求的高清视觉效果。
[0117] 图9为本申请实施例提供的图像处理方法的执行过程的示意图。如图9所示,本申请实施例提供的图像处理方法可以包括下述的步骤10至步骤18。
[0118] 步骤10、电子设备获取输入的图像数据。
[0119] 步骤11、电子设备采用当前分辨率对图像数据进行编码,得到码流信息和量化参数。
[0120] 步骤12、电子设备基于当前分辨率和下一低分辨率得到图像数据对应的决策量化参数值。
[0121] 可以理解,电子设备可以选择小于当前分辨率的任意分辨率作为下一低分辨率,例如从预设分辨率集合中选择,又例如将当前分辨率降低至预设比例后得到。
[0122] 步骤13、电子设备判断量化参数是否大于决策量化参数值。
[0123] 如果量化参数值大于决策量化参数值,则执行下述的步骤14。
[0124] 步骤14、电子设备降低图像数据的分辨率为下一低分辨率。
[0125] 在执行上述步骤14后,则继续从上述的步骤11开始执行。此时步骤11和步骤12中的当前分辨率就是步骤14所选择的小于第一分辨率的分辨率。
[0126] 如果量化参数值小于或等于决策量化参数值,则执行下述的步骤15。
[0127] 步骤15、电子设备传输或存储当前分辨率下编码得到的码流信息。
[0128] 步骤16、电子设备对码流信息进行解码,得到像素值矩阵。
[0129] 步骤17、电子设备对像素值矩阵进行增强,得到增强后的图像帧。
[0130] 步骤18、电子设备播放图像帧。
[0131] 需要说明的是,上述步骤10至步骤15为编码过程,即编码端的执行步骤,上述步骤16至步骤18为解码过程,即解码端的执行步骤。
[0132] 本申请实施例中,在编码端通过分辨率决策算法选择合适的分辨率,保留更多原始信息,减少编码码率冗余进而降低码率。在解码端根据量化参数QP,获取图像的失真情况,指导增强网络进行增强,实现更高清的画质。通过编解码两端的有效策略,更好地实现了高清低码。
[0133] 上述各个方法实施例,或者各个方法实施例中的各种可能的实现方式均可以单独执行,也可以任意两个或两个以上相互结合执行,具体可以根据实际使用需求确定,本申请实施例对此不做限制。
[0134] 本申请实施例提供的图像处理方法,执行主体可以为图像处理装置。本申请实施例中以图像处理装置执行图像处理方法为例,说明本申请实施例提供的图像处理装置。
[0135] 图10示出了本申请的一些实施例中涉及的图像处理装置的一种可能的结构示意图。如图10所示,该图像处理装置70可以包括:编码模块71、确定模块72和输出模块73。
[0136] 其中,编码模块71,用于采用第一分辨率对图像数据进行编码,得到第一码流信息和第一量化参数。
[0137] 确定模块72,用于基于第一分辨率和第二分辨率,确定图像数据的第一决策量化参数值,该第一决策量化参数值为图像数据在第一分辨率下的编码失真临界值,该第二分辨率小于第一分辨率。
[0138] 输出模块73,用于基于编码模块71得到的第一量化参数和确定模块72确定的第一决策量化参数值,对图像数据进行处理并输出第二码流信息,该第二码流信息为第一码流信息,或者为采用小于第一分辨率的一个分辨率编码得到的码流信息。
[0139] 在一种可能的实现方式中,输出模块72,具体用于在第一量化参数小于或等于第一决策量化参数值的情况下,输出第一码流信息。
[0140] 在一种可能的实现方式中,输出模块71,具体用于:在第一量化参数大于第一决策量化参数值的情况下,采用第二分辨率对图像数据进行编码,得到第三码流信息和第二量化参数;基于第二分辨率和第三分辨率,确定图像数据的第二决策量化参数值,该第二决策量化参数值为图像数据在第二分辨率下的编码失真临界值,第三分辨率小于第二分辨率;具体用于在第二量化参数小于或等于第二决策量化参数值的情况下,输出第三码流信息。
[0141] 在一种可能的实现方式中,本申请实施例提供的图像处理装置70还包括:解码模块和处理模块。解码模块,用于在输出模块输出第二码流信息之后,对该第二码流信息进行解码,得到图像数据对应的像素值矩阵和第三量化参数。处理模块,用于基于解码模块得到的第三量化参数,对像素值矩阵进行画质增强处理,输出该像素值矩阵对应的图像帧。
[0142] 在一种可能的实现方式中,处理模块,具体用于:将第三量化参数转换为强度系数,并采用该强度系数调整预设增强网络中的强度参数;以及,基于调整强度参数后的预设增强网络,对像素值矩阵进行画质增强处理,输出该像素值矩阵对应的图像帧。
[0143] 在一种可能的实现方式中,处理模块,具体用于:基于第三量化参数,对像素值矩阵进行特征提取,得到该像素值矩阵的特征信息;以及,基于该特征信息,对像素值矩阵进行画质增强处理,输出该像素值矩阵对应的图像帧。
[0144] 在一种可能的实现方式中,本申请实施例提供的图像处理装置70还包括调整模块。该调整模块,用于基于能力信息,调整图像数据的决策量化参数值,该能力信息表征对解码后的图像帧的画质增强能力。
[0145] 本申请实施例提供一种图像处理装置,由于图像处理装置可以采用第一分辨率对图像数据进行编码得到第一量化参数,并且图像处理装置可以基于第一分辨率和第二分辨率确定图像数据的第一决策量化参数值,从而图像处理装置可以先采用任意一个分辨率对图像数据进行编码,得到第一量化参数,然后根据比该任意一个分辨率小的一个分辨率,确定出图像数据在当前分辨率下的编码失真临界值,再基于该编码失真临界值判断输出的码流信息,即输出第一码流信息,或者采用小于第一分辨率的一个分辨率编码得到的码流信息,也就是说基于第一量化参数和编码失真临界值,能够确定出编码失真程度不超过该编码失真临界值、且编码使用的分辨率较低的码流信息,因此通过选择合适的分辨率对图像数据进行编码的方式,避免码率的冗余和不足,以使得图像数据在编码的过程中实现码率较低的同时保证图像画质,如此,保证图像处理装置对图像编码时的高清低码效果。
[0146] 本申请实施例中的图像处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
[0147] 本申请实施例中的图像处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
[0148] 本申请实施例提供的图像处理装置能够实现上述方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0149] 可选地,如图11所示,本申请实施例还提供一种电子设备1000,包括处理器1001和存储器1002,存储器1002上存储有可在所述处理器1001上运行的程序或指令,该程序或指令被处理器1001执行时实现上述图像处理方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0150] 需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0151] 图12为实现本申请实施例的一种电子设备的硬件结构示意图。
[0152] 该电子设备100包括但不限于:射频单元101、网络模块102、音频输出单元103、输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、以及处理器110等部件。
[0153] 本领域技术人员可以理解,电子设备100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图12中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
[0154] 其中,上述处理器110,用于采用第一分辨率对图像数据进行编码,得到第一码流信息和第一量化参数。
[0155] 上述处理器110,还用于基于第一分辨率和第二分辨率,确定图像数据的第一决策量化参数值,该第一决策量化参数值为图像数据在第一分辨率下的编码失真临界值,该第二分辨率小于第一分辨率。
[0156] 上述处理器110,还用于基于第一量化参数和第一决策量化参数值,对图像数据进行处理并输出第二码流信息,该第二码流信息为第一码流信息,或者为采用小于第一分辨率的一个分辨率编码得到的码流信息。
[0157] 本申请实施例提供一种电子设备,由于电子设备可以采用第一分辨率对图像数据进行编码得到第一量化参数,并且电子设备可以基于第一分辨率和第二分辨率确定图像数据的第一决策量化参数值,从而电子设备可以先采用任意一个分辨率对图像数据进行编码,得到第一量化参数,然后根据比该任意一个分辨率小的一个分辨率,确定出图像数据在当前分辨率下的编码失真临界值,再基于该编码失真临界值判断输出的码流信息,即输出第一码流信息,或者采用小于第一分辨率的一个分辨率编码得到的码流信息,也就是说基于第一量化参数和编码失真临界值,能够确定出编码失真程度不超过该编码失真临界值、且编码使用的分辨率较低的码流信息,因此通过选择合适的分辨率对图像数据进行编码的方式,避免码率的冗余和不足,以使得图像数据在编码的过程中实现码率较低的同时保证图像画质,如此,保证电子设备对图像编码时的高清低码效果。
[0158] 可选地,上述处理器110,具体用于在第一量化参数小于或等于第一决策量化参数值的情况下,输出第一码流信息。
[0159] 可选地,上述处理器110,具体用于:在第一量化参数大于第一决策量化参数值的情况下,采用第二分辨率对图像数据进行编码,得到第三码流信息和第二量化参数;基于第二分辨率和第三分辨率,确定图像数据的第二决策量化参数值,该第二决策量化参数值为图像数据在第二分辨率下的编码失真临界值,第三分辨率小于第二分辨率;具体用于在第二量化参数小于或等于第二决策量化参数值的情况下,输出第三码流信息。
[0160] 可选地,上述处理器110,还用于:在输出第二码流信息之后,对该第二码流信息进行解码,得到图像数据对应的像素值矩阵和第三量化参数;基于第三量化参数,对像素值矩阵进行画质增强处理,输出该像素值矩阵对应的图像帧。
[0161] 可选地,上述处理器110,具体用于:将第三量化参数转换为强度系数,并采用该强度系数调整预设增强网络中的强度参数;以及,基于调整强度参数后的预设增强网络,对像素值矩阵进行画质增强处理,输出该像素值矩阵对应的图像帧。
[0162] 可选地,上述处理器110,具体用于:基于第三量化参数,对像素值矩阵进行特征提取,得到该像素值矩阵的特征信息;以及,基于该特征信息,对像素值矩阵进行画质增强处理,输出该像素值矩阵对应的图像帧。
[0163] 可选地,上述处理器110,还用于基于能力信息,调整图像数据的决策量化参数值,该能力信息表征对解码后的图像帧的画质增强能力。本申请实施例提供的电子设备能够实现上述方法实施例实现的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。本实施例中各种实现方式具有的有益效果具体可以参见上述方法实施例中相应实现方式所具有的有益效果,为避免重复,此处不再赘述。
[0164] 应理解的是,本申请实施例中,输入单元104可以包括图形处理器(Graphics Processing Unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元106可包括显示面板1061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板
1061。用户输入单元107包括触控面板1071以及其他输入设备1072中的至少一种。触控面板
1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
[0165] 存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器109可以包括易失性存储器或非易失性存储器,或者,存储器109可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read‑Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器109包括但不限于这些和任意其它适合类型的存储器。
[0166] 处理器110可包括一个或多个处理单元;可选的,处理器110集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
[0167] 本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0168] 其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
[0169] 本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0170] 应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0171] 本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0172] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0173] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
[0174] 上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。