CN114173136A - 编码方法、解码方法、编码器、解码器以及编码*** - Google Patents
编码方法、解码方法、编码器、解码器以及编码*** Download PDFInfo
- Publication number
- CN114173136A CN114173136A CN202010948811.XA CN202010948811A CN114173136A CN 114173136 A CN114173136 A CN 114173136A CN 202010948811 A CN202010948811 A CN 202010948811A CN 114173136 A CN114173136 A CN 114173136A
- Authority
- CN
- China
- Prior art keywords
- target image
- neural network
- identifier
- image frame
- target
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 238000013528 artificial neural network Methods 0.000 claims abstract description 213
- 238000001914 filtration Methods 0.000 claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 58
- 241000023320 Luma <angiosperm> Species 0.000 claims description 84
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 84
- 230000008569 process Effects 0.000 claims description 24
- 230000003044 adaptive effect Effects 0.000 claims description 21
- 238000003062 neural network model Methods 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 18
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 27
- 238000004590 computer program Methods 0.000 description 21
- 238000013139 quantization Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 13
- 238000007906 compression Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种编码方法、解码方法、编码器、解码器以及编码***。该方法包括:获取目标图像帧;输出针对该目标图像帧进行编码后的目标码流,该目标码流包括以下标识中的至少一项:第一标识、第二标识或第三标识。其中,该第一标识用于指示该目标图像帧所属的序列允许或不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为GPU或CPU;该第三标识用于指示该目标图像帧中的目标分量允许或不允许基于神经网络进行滤波。能够保证解码端的重建视频与编码端的编码视频保持一致,进而能够保证解码端正常解析接收到的码流。
Description
技术领域
本申请实施例涉及图像处理领域,更为具体地,涉及一种编码方法、解码方法、编码器、解码器以及编码***。
背景技术
数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。随着互联网视频的激增以及人们对视频清晰度的要求越来越高,尽管已有的数字视频压缩标准能够实现视频解压缩,但目前仍然需要追求更好的数字视频压缩技术,以保证解码端正常解析接收到的码流。
发明内容
提供了一种编码方法、解码方法、编码器、解码器以及编码***,能够保证解码端的重建视频与编码端的编码视频保持一致,进而能够保证解码端正常解析接收到的码流。
第一方面,提供了一种编码方法,包括:
获取目标图像帧;
输出针对该目标图像帧进行编码后的目标码流,该目标码流包括以下标识中的至少一项:
第一标识、第二标识或第三标识;
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为图像处理器GPU,或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为中央处理器CPU;该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
第二方面,提供了一种解码方法,包括:
获取目标码流;
输出针对该目标码流进行解码后的目标图像帧,该目标码流包括以下标识中的至少一项:
第一标识、第二标识或第三标识;
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为图像处理器GPU,或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为中央处理器CPU;该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
第三方面,提供了一种编码器,用于执行上述第一方面或其各实现方式中的方法。具体地,该编码器包括用于执行上述第一方面或其各实现方式中的方法的功能单元。
第四方面,提供了一种解码器,用于执行上述第二方面或其各实现方式中的方法。具体地,该解码器包括用于执行上述第二方面或其各实现方式中的方法的功能单元。
第五方面,提供了一种编码器,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第六方面,提供了一种解码器,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
第七方面,提供了一种芯片,用于实现上述第一方面至第二方面中的任一方面或其各实现方式中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第八方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第九方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
基于以上技术方案,通过在目标码流中携带第一标识和/或第三标识,编码端或解码端可基于该第一标识和/或该第三标识,确定是否基于神经网络进行滤波。通过在目标码流中携带第二标识,编码端或解码端可以在确定基于神经网络进行滤波的情况下,利用该第二标识指示的处理器,基于神经网络进行滤波。
相当于,针对编码框架中的环路滤波部分,通过为基于神经网络的滤波明确使用标识,由此,能够节省硬件实现开销以及编解码时间。
例如,由于编码端可以选择使用GPU或CPU进行编码,解码端也可以使用GPU或CPU进行解码。考虑到计算的精度不同或者网络框架与平台的不同,可能存在CPU与GPU编码得到的码流不匹配,即CPU下的解码器不能解GPU所编码得到的码流,GPU下的解码器不能解CPU所编码得到的码流。本申请实施例中,通过该第二标识,能够保证解码端和编码端采用相同的处理器处理该目标图像帧所属的序列,由此,能够保证解码端的重建视频与编码端的编码视频保持一致,进而能够保证解码端正常解析接收到的码流。
再如,通过该第一标识和该第三标识,能够保证编码端和解码端对是否基于神经网络进行滤波的理解一致,由此,能够保证解码端的重建视频与编码端的编码视频保持一致,进而能够保证解码端正常解析接收到的码流。
附图说明
图1本申请实施例提供的编码框架的示意性框图。
图2是本申请实施例提供的解码框架的示意性框图。
图3至图5是本申请实施例提供的编码方法的示意性流程图。
图6至图8是本申请实施例提供的解码方法的示意性流程图。
图9是本申请实施例提供的编码器的示意性框图。
图10是本申请实施例提供的解码器的示意性框图。
图11是本申请实施例提供的电子设备的示意性框图。
具体实施方式
本申请可应用于图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域。例如,本申请的方案可结合至音视频编码标准(Audio Video coding Standard,AVS)。例如,H.264/音视频编码(Audio Video coding,AVC)标准,H.265/高效视频编码(High Efficiency Video Coding,HEVC)标准以及H.266/多功能视频编码(Versatile Video Coding,VVC)标准。
为了便于理解,先对本申请提供的编码框架进行简单介绍。
图1是本申请实施例提供的编码框架100的示意性框图。应理解,该编码框架可用于对图像进行有损压缩(lossy compression),也可用于对图像进行无损压缩(losslesscompression)。该无损压缩可以是视觉无损压缩(visually lossless compression),也可以是数学无损压缩(mathematically lossless compression)。
作为示例,该编码框架100可应用于亮度色度(YcbCr,YUV)格式的图像数据上。例如,YUV比例可以为4:2:0、4:2:2或者4:4:4,Y表示明亮度(Luma),Cb(U)表示蓝色色度,Cr(V)表示红色色度,U和V表示为色度(Chroma)用于描述色彩及饱和度。例如,在颜色格式上,4:2:0表示每4个像素有4个亮度分量,2个色度分量(YYYYCbCr),4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),4:4:4表示全像素显示(YYYYCbCrCbCrCbCrCbCr)。
例如,编码框架100可对不通颜色格式的数字视频读取不相等的像素,包含亮度分量和色度分量。换言之,编码框架100可读取一副黑白或者彩色图像,即待编码的目标图像帧。该编码框架100读取到目标图像帧后,将该目标图像帧划分成为块数据,并基于块数据进行编码。例如,该编码框架100读取到目标图像帧后,可将目标图像帧划分成若干个编码树单元(Coding Tree Unit,CTU),一个编码树单元又可以继续被划分成若干个编码单元块(Coding Unit,CU),CU可以为矩形块也可以为方形块。即编码框架100可基于CTU或CU进行编码。
如图1所示,该编码框架100可包括帧内估计单元111、帧内预测单元112、运动估计单元113、运动估计单元114、残差单元121、变换量化单元122、以及头信息编码单元或熵编码单元140。该编码框架100也可称为混合框架编码模式。
在编码框架100中,换言之,帧内估计单元111和帧内预测单元112可参考待编码图像帧的相邻图像块对目标图像块进行预测,以输出预测块。或者,运动补偿单元113和运动估计单元114可参考待编码图像帧的相邻图像块对目标图像块进行预测,以输出预测块。残差单元121可基于预测块与待编码的目标图像块计算残差块,即预测块和待编码的目标图像块的差值,该残差块也可称为残差信息。该残差块经由变换量化单元122变换与量化等过程,可以去除人眼不敏感的信息,以消除视觉冗余。可选的,经过变换量化单元122变换与量化之前的残差块可称为时域残差块,经过变换量化单元122变换与量化之后的时域残差块可称为频率残差块或频域残差块。头信息编码单元或熵编码单元140接收到变化量化单元122输出的量化后的变化系数后,可基于该量化后的变化系数和帧内估计单元111和帧内预测单元112输出的帧内预测数据或运动补偿单元113和运动估计单元114输出的运动数据,输出目标码流。例如,头信息编码单元或熵编码单元140可根据目标上下文模型以及二进制码流的概率信息消除字符冗余。例如,头信息编码单元或熵编码单元140可以用于基于上下文的自适应二进制算术熵编码(CABAC)。
解码端接收并解析码流后,经过反变换与反量化等步骤得到时域残差块,将解码端预测得到的预测块叠加时域残差块后,即可得到重建块。可选的,在本申请中,该目标图像块也可称为原始图像块或待编码的图像块,预测块也可称为预测图像块或图像预测块,重建块也可称为重建图像块或图像重建块。此外,针对编码端,该目标图像块也可称为目标编码块或目标编码图像块,针对解码端,该目标图像块也可称为目标解码块或目标解码图像块。
可选的,该目标图像块可以是目标CTU或目标CU。
该帧内估计单元111和帧内预测单元112可用于帧内预测,帧内预测只参考同一帧图像的信息,预测目标图像块内的像素信息,用于消除空间冗余;帧内预测所使用的帧可以为I帧。运动补偿单元113以及运动估计单元114可用于帧间预测,帧间预测可以参考不同帧的图像信息,利用运动估计搜索最匹配目标图像块的运动矢量信息,用于消除时间冗余;帧间预测所使用的帧可以为P帧和/或B帧,P帧指的是向前预测帧,B帧指的是双向预测帧。
以帧内预测过程为例,目标图像块不能参考不同图像帧的信息,只能借助同一图像帧的相邻图像块作为参考信息进行预测。
例如,可根据从左至右、从上到下的编码顺序,目标图像块可以参考左上侧图像块,上侧图像块以及左侧图像块作为参考信息来预测目标图像块,而目标图像块又作为下一个图像块的参考信息,如此,可对整幅图像进行预测。若输入的数字视频为彩色格式,例如YUV 4:2:0格式,则该数字视频的每一图像帧的每4个像素点由4个Y分量和2个UV分量组成,编码框架100可对Y分量和UV分量分别进行编码。类似的,解码端也可根据格式进行相应的解码。
再如,帧内预测可借助角度预测模式与非角度预测模式对目标编码块进行预测,以得到预测块,根据预测块与目标图像块计算得到的率失真信息,筛选出目标图像块最优的预测模式,并将该预测模式经码流传输到解码端。解码端解析出预测模式,预测得到目标解码块的预测块并叠加经码流传输而获取的时域残差块,可得到重建块。可选的,该非角度预测模式可包括均值模式和平面模式。可选的,该角度预测模式可包括各种数字视频编码的规定的模式。
以国际数字视频编码标准H系列为例,H.264/AVC标准涉及有8种角度预测模式和1种非角度预测模式;H.265/HEVC标准涉及有33种角度预测模式和2种非角度预测模式;H.266/VVC标准涉及有67种预测模式,其中包括2种非角度预测模式,将角度模式从H.265的33种扩展到了65种。毋庸置疑,随着角度模式的增加,帧内预测将会更加精确,也更加符合对高清以及超高清数字视频发展的需求。
换言之,本申请实施例涉及的角度预测模式和非角度预测模式也可以是随标准的更新定义的新的预测模式。
应理解,解码端接收到目标码流后,基于目标码流获取时域残差块和预测块,进而可基于时域残差块和预测块构建重建块,对该重建块滤波后,可生成解码图像。
如图1所示,该编码框架100还可包括反变换反量化单元131、滤波器控制分析单元132、基于神经网络的滤波单元133、缓存单元134。相当于,在编码框架100中设置一个解码器。由此,预测单元100可基于已有的参考帧可以对目标帧做帧内或者帧间预测,进而能够保证编码端和解码端的对参考帧的理解一致。
换言之,编码器复制解码器的处理环路,可与解码端产生相同的预测。具体而言,量化的变换系数通过反变换反量化单元131反扩展、反变换来复制解码端的近似残差信号。该近似残差信号加上预测块后可经过基于神经网络的滤波单元133,以平滑滤除由于基于块处理和量化产生的块效应等影响。基于神经网络的滤波单元133输出的图像块可存储在已解码图像的缓存单元134中,以便用于后续图像的预测。
需要说明的是,基于神经网络的滤波单元133在亮度分量和色度分量上的网络结构可以有所不同。
例如,亮度分量的网络结构可以由残差层、卷积层、激活层、跳跃连接等部分组成。其中,残差层可以由两个卷积层、一层激活函数(ReLU)激活层和残差跳转连接组成。此外,亮度分量的网络结构还可包括一个全局的残差跳转连接。跳转连接可以使得网络专注于学习残差,以加速网络的收敛过程。
再如,考虑到亮度分量包含更多的视觉信息,本申请中,可以采用亮度分量指导色度分量的滤波,以提升色度分量的重建质量。例如,色度分量的网络的主要框架可以与亮度分量相似,由残差层、卷积层、激活层、池化层和跳转连接组成。可选的,可以对色度分量先进行上采样,以保证亮度分量的分辨率和色度分量的分辨率保持一致。可选的,可以直接拷贝邻近像素(Nearest Neighbor),以增加色度分量的分辨率,并避免在上采样过程中引入其他噪声。亮度分量与色度分量分别经过卷积层、激活层之后,可基于得到的特征图进行合并,并完成后续的操作。在神经网络的末端,使用池化层对色度分量进行下采样。
应理解,图1仅为本申请的示例,不应理解为对本申请的限制。
例如,该编码框架100还可以包括环路滤波单元,该环路滤波单元可包括去块滤波器(DBF)和样点自适应补偿滤波(SAO)。DBF的作用是去方块效应,SAO的作用是去除振铃效应。
换言之,该编码框架100可采用基于神经网络的环路滤波算法,以提高视频的压缩效率。或者说,该编码框架100可以是基于深度学习的神经网络的视频编码混合框架。例如,在编码框架100中,可以在去块滤波器和样点自适应补偿滤波基础上,采用基于卷积神经网络的模型推断计算对像素滤波后的结果。
图2是本申请实施例提供的解码框架200的示意性框图。
如图2所示,该解码框架200可包括:
头信息解码单元或熵解码单元210、反变换反量化单元220、残差单元230、运动补偿单元240、帧内预测单元250、基于神经网络的滤波单元260、解码图像缓存单元270。
例如,头信息解码单元或熵解码单元210接收并解析目标码流后,以获取预测块和频域残差块,针对频域残差块,通过反变换反量化单元220进行反变换与反量化等步骤,可获取时域残差块,残差单元230将运动补偿单元240或帧内预测单元250预测得到的预测块叠加至经过通过反变换反量化单元220进行反变换与反量化之后的时域残差块,可得到重建块。例如,运动补偿单元240或帧内预测单元250可通过解码目标码流的头信息,获取预测块。
图3是本申请实施例提供的编码方法300的示意性流程图。应理解,该编码方法300可由编码端执行。例如应用于图1所示的编码框架100。为便于描述,下面以编码端为例进行说明。
如图3所示,该编码方法300可包括:
S310,获取目标图像帧。
S320,输出针对该目标图像帧进行编码后的目标码流,该目标码流包括以下标识中的至少一项:第一标识、第二标识或第三标识。
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波。
该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为图像处理器(Graphics Processing Unit,GPU),或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为中央处理器(Central Processing Unit,CPU)。
该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
例如,编码端在生成该目标码流的过程中,可以将该第一标识、该第二标识或该第三标识中的至少一项,写入该目标码流。
例如,编码端获取数字视频信息后划分成若干个编码树单元CTU,并将每个CTU划分成若干个或矩形或方形的编码单元块CU,编码端可以对CTU或CU进行编码。为便于描述,下面以目标图像块为例进行说明。换言之,目标图像块可以为目标CTU或目标CU。编码端可以针对该目标图像块进行帧内预测或帧间预测,以得到该目标图像块的预测块,通过该目标图像块的预测块与该目标图像块相减处理,可得到该目标图像块的时域残差块,时域残差块经过变换和量化后可得到频域残差块,目标码流可包括针对该频域残差块的编码数据;另外,编码端中的解码器通过变化与量化、反变换与反量化之后的时域残差块,以及预测块可得到该目标图像块的重建块,由此,针对该目标图像块的重建块,可以基于神经网络进行滤波。
再如,解码端可通过目标码流获取频域残差块和预测块,频域残差块通过反变换与反量化之后可得到时域残差块,基于此,解码端可基于该预测块和时域残差块得到该目标图像块的重建块,由此,针对该目标图像块的重建块,可以基于神经网络进行滤波。
由此可见,通过在目标码流中携带第一标识和/或第三标识,编码端或解码端可基于该第一标识和/或该第三标识,确定是否基于神经网络进行滤波。通过在目标码流中携带第二标识,编码端或解码端可以在确定基于神经网络进行滤波的情况下,利用该第二标识指示的处理器,基于神经网络进行滤波。
相当于,针对编码框架中的环路滤波部分,通过为基于神经网络的滤波明确使用标识,由此,能够节省硬件实现开销、编解码时间、提升编码效率以及减少编解码复杂度。
例如,由于编码端可以选择使用GPU或CPU进行编码,解码端也可以使用GPU或CPU进行解码。考虑到计算的精度不同或者网络框架与平台的不同,可能存在CPU与GPU编码得到的码流不匹配,即CPU下的解码器不能解GPU所编码得到的码流,GPU下的解码器不能解CPU所编码得到的码流。本申请实施例中,通过该第二标识,能够保证解码端和编码端采用相同的处理器处理该目标图像帧所属的序列,基于此,能够保证解码端的重建视频与编码端的原始编码视频保持一致,进而能够保证解码端正常解析接收到的码流。
再如,通过该第一标识和该第三标识,能够保证编码端和解码端对是否基于神经网络进行滤波的理解一致,基于此,能够保证解码端的重建视频与编码端的原始编码视频保持一致,进而能够保证解码端正常解析接收到的码流。
需要说明的是,该目标图像帧所属的序列可以是数字视频,也可以是针对数字视频进行抽帧后获取的图像帧序列。例如,该目标图像帧所属的序列可以包括对数字视频进行抽帧后形成的由多个图像帧形成的序列。基于神经网络进行滤波可以是基于神经网络进行环路滤波。此外,本申请对第一标识、第二标识以及第三标识的名称不作限定。例如,该第一标识也可称为序列级基于神经网络的环路滤波允许标志(cnnlf_enable_flag,或CnnlfEnableFlag)。该第二标识也可称为CPU与GPU模式允许标志(cgpu_enable_flag、或CgpuEnableFlag)。该第三标识也可称为帧级基于神经网络环路滤波允许标志(picture_cnnlf_enable_flag[compIdx]、PictureCnnlfEnableFlag[compIdx]、picture_cnnlf_enable_flag、或PictureCnnlfEnableFlag)。
作为本申请的示例,该第一标识、该第二标识或该第三标识均可以是一个二值变量。
例如,该第一标识可以为一个二值变量。例如,该第一标识的值为‘1’,该第一标识用于表示该目标图像帧所属的序列允许基于神经网络进行滤波;再如,该第一标识的值为‘0’,该第一标识用于表示该目标图像帧所属的序列不允许基于神经网络进行滤波。
例如,该第二标识可以一个二值变量。例如,该第二标识的值为‘1’,该第二标识用于表示基于神经网络处理该目标图像帧所属的序列的处理器为GPU;再如,该第二标识的值为‘0’,该第二标识用于表示基于神经网络处理该目标图像帧所属的序列的处理器为CPU。
例如,该第三标识可以是一个二值变量。例如,该第三标识的值为‘1’,该第三标识用于指示该目标图像帧中的目标分量允许基于神经网络进行滤波;再如,该第三标识的值为‘0’,或该第三标识用于指示该目标分量不允许基于神经网络进行滤波。
需要说明的是,本申请对该第一标识、该第二标识以及该第三标识的确定方式不作具体限定。例如,可以通过用户设定该第一标识、该第二标识以及该第三标识。再如,可以预定义该第一标识、该第二标识以及该第三标识。再如,可以通过显示屏上的输入窗口获取该第一标识、该第二标识以及该第三标识。
作为本申请的一个示例,该第三标识用于指示该目标图像帧中的所有分量均不允许基于神经网络进行滤波,或该第三标识用于指示该所有分量均允许基于神经网络进行滤波。所有分量可以包括亮度分量、Cb分量、Cr分量,或所有分量可包括亮度分量和色度分量。
作为本申请的另一个示例,该第三标识可通过至少一个标识指示该目标分量。可选的,目标分量可包括以下中的至少一项:亮度分量,蓝色色度分量(Cb)或红色色度(Cr)分量。换言之,通过至少一个标识,该第三标识可以是用于指示亮度分量、蓝色色度分量以及红色色度分量是否允许基于神经网络进行滤波,也可以分别用于指示亮度分量是否允许基于神经网络进行滤波、用于指示蓝色色度分量是否允许基于神经网络进行滤波、以及用于指示红色色度分量是否允许基于神经网络进行滤波。当然,目标分量也可包括亮度分量或色度分量。
换言之,该目标码流还可以包括至少一个标识,该目标分量包括该至少一个标识指示的至少一个分量。该至少一个分量可包括色度分量或亮度分量。或者,该至少一个分量可包括以下中的至少一项:亮度分量,蓝色色度分量(Cb)或红色色度(Cr)分量。可选的,目标分量可包括亮度分量或色度分量。
例如,该至少一个标识用compIdx表示,以指示至少一个目标分量。例如,标识‘0’(compIdx为0)用于指示亮度分量,标识‘1’(compIdx为1)用于表示蓝色色度分量,标识‘2’(compIdx为2)表示红色色度分量。换言之,该至少一个标识可以包括标识‘0’、标识‘1’、或标识‘2’中的至少一项。
下面结合序列头的格式说明该第一标识和该第三标识。
表1
序列头定义 | 描述符 |
sequence_header(){ | |
video_sequence_start_code | f(32) |
… | … |
cgpu_enable_flag | u(1) |
cnnlf_enable_flag | u(1) |
} | |
… | r(2) |
next_start_code() |
如表1所示,sequence_header可表示序列头,video_sequence_start_code可用于表示视频序列开始编码,cgpu_enable_flag可用于表示该第一标识,cnnlf_enable_flag可用于表示该第二标识,next_start_code()可用于表示下一次开始编码。
表2
如表2所示,intra_picture_header可用于表示帧内预测图像头,intra_picture_start_code可用于表示帧内预测图像头开始编码,CnnlfEnableFlag可用于表示该第二标识,compIdx可用于表示第x个分量。例如,CnnlfEnableFlag为标识‘1’,表示当前图像的第compIdx个分量可使用基于神经网络的滤波;CnnlfEnableFlag为标识‘0’,表示当前图像的第compIdx个分量不应使用基于神经网络的滤波。例如,compIdx为标识‘0’,表示亮度分量;compIdx为标识‘1’,表示Cb分量;compIdx为标识‘2’,表示Cr分量。picture_cnnlf_enable_flag可用于表示当前图像的所有分量是否可使用基于神经网络的滤波。例如,[compIdx]为标识‘1’表示当前图像的所有分量可使用基于神经网络的滤波;[compIdx]为标识‘0’,表示当前图像的所有分量不应使用基于神经网络的滤波。next_start_code()表示下一次开始编码。
应理解,神经网络也可称为人工神经网络(Artificial Neural Network,ANN),神经网络可以理解为从信息处理角度对人脑神经元网络进行抽象,建立某种模型,按不同的连接方式组成不同的网络。例如,本申请涉及的神经网络可以为深度学习神经网络。例如,深度神经网络、卷积神经网络、深度置信网络和递归神经网络。
在本申请的一些实施例中,该基于神经网络处理该目标图像帧所属的序列包括基于神经网络滤波处理该目标图像帧所属的序列。
换言之,GPU或CPU可基于神经网络进行各种类型的处理。例如,GPU或CPU可基于神经网络进行滤波处理。再如,GPU或CPU可基于神经网络进行帧内预测处理。也即是说,若编码端的针对序列的处理包括基于神经网络的处理,该第二标识用于指示基于神经网络处理所对应的处理器为GPU,或该第二标识用于指示基于神经网络处理所对应的处理器为中央处理器CPU。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波,该目标码流仅包括该第一标识。
例如,编码端或解码端基于该第一标识确定不基于神经网络进行滤波。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,该目标码流包括该第一标识、该第二标识以及该第三标识。
例如,编码端或解码端基于该第一标识和该第三标识,确定是否基于神经网络进行滤波,并在确定基于神经网络进行滤波的情况下,采用该第二标识指示的处理器,基于神经网络进行滤波。
在本申请的一些实施例中,该目标码流还包括第四标识(ctu_cnnlf_flag/cnnlf_flag),该第四标识用于指示该目标图像帧中的目标图像块不允许基于神经网络进行滤波,或该第四标识用于指示该目标图像块允许基于神经网络进行滤波。
例如,该第四标识用于指示该目标图像帧中的目标CTU或目标CU不允许基于神经网络进行滤波,或该第四标识用于指示该目标CTU或目标CU允许基于神经网络进行滤波。
例如,该第四标识可以为一个二值变量。例如,该第四标识的值为‘1’,该第四标识用于指示该目标图像块允许基于神经网络进行滤波;再如,该第一标识的值为‘0’,该第四标识用于指示该目标图像块不允许基于神经网络进行滤波。
在本申请的一些实施例中,该方法300还可包括:
确定该第四标识。
在本申请的一些实施例中,可以通过以下步骤确定该第四标识:
1)、获取该目标图像块的第一亮度分量重建块;
2)、利用该第二标识指示的处理器,基于亮度分量神经网络模型,以该第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块;
3)、获取该目标图像块的第一色度分量重建块;
4)、对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,该第三亮度分量重建块的大小与该第一色度分量重建块的大小相同;例如,在该第一亮度分量重建块或该第二亮度分量重建块,与该第一色度分量重建块的大小不同的情况下,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块;
5)、利用该第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块;
6)、基于该第二亮度分量重建块和该第二色度分量重建块,确定该目标图像块的率失真代价;
7)、基于该目标图像块的率失真代价确定该第四标识。
在本申请的一些实施例中,若该率失真代价小于0,确定该第四标识为第一数值,以指示该目标图像块允许基于神经网络进行滤波;若该率失真代价大于等于0,确定第四标识为第二数值,以指示该目标图像块不允许基于神经网络进行滤波,该第一数值和该第二数值不同。
通过对第一亮度重建块或第二亮度重建块进行降采样,以获取该第三亮度分量重建块,避免了对色度分量重建块进行上采样,以得到与亮度分量重建块同样大小的色度分量重建块。由于在上采样过程中,一个色度分量重建块需要额外三倍于原始色度分量重建块大小的寄存器,针对蓝色色度分量重建块和红色色度分量重建块,需要额外六个原始色度分量重建块大小的寄存器;对亮度分量重建块进行降采样,以得到与色度分量重建块同等大小的亮度分量重建块,仅需要一个原始色度分量重建块大小的寄存器,硬件开销减少五倍。
此外,使用亮度分量重建块降采样的方案匹配色度分量重建块,可以降低神经网络模型的输入块的大小,相应的,神经网络模型的网络层数也可以做相应调整,有利于设计更轻量化的网络,缩短模型加载与推理时间,有效减少编解码复杂度。
在本申请的一些实施例中,通过二维六抽头滤波器或二维四抽头,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取该第三亮度分量重建块。
例如,可以通过以下公式,获取该第三亮度分量重建块:
PixelDSTemp[i,j]=(RecLuma(i–1,j)+2*RecLuma(i,j)+RecLuma(i+1,j)+RecLuma(i–1,j+1)+2*RecLuma(i,j+1)+RecLuma(i+1,j+1))>>3。
其中,PixelDSTemp表示降采样后的第三亮度分量重建块,RecLuma为未降采样的第一亮度分量重建块或第二亮度分量重建块,(i,j)表示位于重建块的第i列,第j行的像素,>>3表示二进制序列右移三位,>>3等价于(RecLuma(i–1,j)+2*RecLuma(i,j)+RecLuma(i+1,j)+RecLuma(i–1,j+1)+2*RecLuma(i,j+1)+RecLuma(i+1,j+1))的值除以8,通过移位操作能够更好的实现降采样操作。
再如,可以通过以下公式,获取该第三亮度分量重建块:
PixelDSTemp[i,j]=Max(RecLuma(i,j),RecLuma(i+1,j),RecLuma(i,j+1),RecLuma(i+1,j+1))。
其中,Max(a,b,c,d)表示返回a、b、c与d中的最大值。
当然,在其他可替代实施例中,Max()还可以替换成Min(),以表示返回最小值,Max()还可以替换成Average(),以表示返回均值。换言之,可以使用二维四抽头进行最大值滤波降采样、均值滤波降采样,或最小值滤波降采样,以,获取该第三亮度分量重建块。
需要说明的是,上述降采样的方式仅为本申请的示例,不应理解为对本申请的限制。例如,也可以采用随机采样的方式,进行降采样。
图4是本申请实施例提供的编码方法400的另一示意性流程图。
如图4所示,该编码方法400可包括:
S410,编码端获取第一标识、第二标识以及第三标识。
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为GPU,或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为CPU;该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
例如,编码端获取编码信息,该编码信息包括该第一标识、该第二标识以及该第三标识,编码端获取待编码的目标图像帧后,可以将该目标图像帧划分为若干个CTU,每个CTU又被划分成若干个或矩形或方形的CU,编码端可以针对CTU或CU执行操作S420~S492。为便于描述,下面以目标图像块为例进行说明。可选的,该目标图像块可以是目标CTU或目标CU。
S420,编码端确定该第一标识是否用于指示目标图像帧所属的序列允许基于神经网络进行滤波,该第三标识是否用于指示该目标图像帧中的目标分量允许基于神经网络进行滤波。
例如,若该第一标识用于指示目标图像帧所属的序列允许基于神经网络进行滤波,且该第三标识用于指示该目标图像帧中的目标分量允许基于神经网络进行滤波,则执行步骤S430;若该第一标识用于指示目标图像帧所属的序列不允许基于神经网络进行滤波,且该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,则执行步骤S492。
S430,编码端获取该目标图像帧中的目标图像块的第一亮度分量重建块。可选的,该第一亮度分量重建块可以为经环路滤波处理或未经环路滤波处理的亮度分量重建块。该环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
S431,编码端利用该第二标识指示的处理器,基于亮度分量神经网络模型,以第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块。
S432,编码端对第一亮度分量重建块或第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,该第三亮度分量重建块的大小与该第一色度分量重建块的大小相同。
S440,编码端获取该目标图像帧中的目标图像块第一色度分量重建块。可选的,该第一色度分量重建块可以为经环路滤波处理或未经环路滤波处理的色度分量重建块。该环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
S450,编码端利用该第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块。
S460,编码端基于该第二亮度分量重建块和该第二色度分量重建块,确定该目标图像块的率失真代价。
S470,若该率失真代价小于0,编码端将该第四标识置1并写入该目标码流,以指示该目标图像块允许基于神经网络进行滤波;若该率失真代价大于等于0,编码端将该第四标识置0并写入该目标码流,以指示该目标图像块不允许基于神经网络进行滤波。
S680,编码端确定是否已编码完目标图像帧。
S481,若确定未编码完目标图像帧,编码端获取该目标图像帧的下一图像块,该下一图像块作为目标图像块,从S430和S440重新开始。
S490,若已编码完目标图像帧,编码端确定是否已编码完所有图像,即确定是否已编码完目标图像帧所属的序列。
S491,若已编码完所有图像,编码端输出目标码流。
S492,若未编码完所有图像,编码端获取下一图像帧,该下一图像帧作为目标图像帧,从S420重新开始。
应理解,图4仅为本申请的示例,不应理解为对本申请的限制。
例如,图5为对图4所示的方法进行变型后的方法400-1的示意性流程图。应理解,该方法400-1中的S411和S412可等效为方法400中的S410,该方法400-1中的S421和S422可等效为方法400中的S420。该方法400-1中的其余步骤可参考方法400中的步骤。为避免重复,此处不再赘述。
如图5所示,所述方法400-1可包括:
S411,编码端通过解析目标码流,获取编码信息,该编码信息包括第一标识、第二标识以及第三标识。
S412,编码端通过解析目标码流,获取目标图像帧的图像信息,并将该目标图像帧划分为多个图像块。
S421,编码端确定该第一标识是否用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,并将该第一标识和该第二标识写入目标码流。换言之,针对一个序列的该第一标识和该第二标识,需要写入该目标码流。或者说,针对一个序列的目标码流,在该目标码流中仅需要写入一次该第一标识和该第二标识。
S422,在第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波的情况下,编码端确定该第三标识是否用于指示该目标图像帧中的目标分量允许基于神经网络进行滤波,并将该第三标识写入该目标码流。换言之,针对每一帧图像的第三标识,均需要写入该目标码流。或者说,针对一个序列的目标码流,在该目标码流中需要写入每一帧图像的第三标识。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。另外,本申请实施例中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。具体地,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
上文中结合图1至图5,从编码端的角度详细描述了根据本申请实施例的编码方法,下面将结合图6至图8,从解码端的角度描述根据本申请实施例的解码方法。
图6是本申请实施例提供的解码方法500的示意性流程图。应理解,该解码方法500可以由解码端执行。例如,图2所示的解码框架200。还应理解,方法500中的步骤可以参考方法300中的相应步骤,为了简洁,在此不再赘述。
S510,获取目标码流。
S520,输出针对该目标码流进行解码后的目标图像帧,该目标码流包括以下标识中的至少一项:第一标识、第二标识或第三标识。
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为图像处理器GPU,或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为中央处理器CPU;该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
在本申请的一些实施例中,该基于神经网络处理该目标图像帧所属的序列包括基于神经网络滤波处理该目标图像帧所属的序列。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波,该目标码流仅包括该第一标识。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,该目标码流包括该第一标识、该第二标识以及该第三标识。
在本申请的一些实施例中,该目标码流还包括第四标识,该第四标识用于指示该目标图像帧中的目标图像块不允许基于神经网络进行滤波,或该第四标识用于指示该目标图像帧中的目标图像块允许基于神经网络进行滤波。
在本申请的一些实施例中,该S520可包括:
确定该目标图像块的重建块。
在本申请的一些实施例中,该第四标识用于指示该目标图像块允许基于神经网络进行滤波;基于此,可通过以下步骤确定该目标图像块的重建块:
1)、获取该目标图像块的第一亮度分量重建块;
2)、利用该第二标识指示的处理器,基于亮度分量神经网络模型,以该第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块;
3)、获取该目标图像块的第一色度分量重建块;
4)、对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,该第三亮度分量重建块的大小与该第一色度分量重建块的大小相同;例如,在该第一亮度分量重建块或该第二亮度分量重建块,与该第一色度分量重建块的大小不同的情况下,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块;
5)、利用该第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块;
6)、将该第二亮度分量重建块和该第二色度分量重建块,确定为该目标图像块的重建块。
在本申请的一些实施例中,通过二维六抽头滤波器或二维四抽头,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取该第三亮度分量重建块。
在本申请的一些实施例中,该第一亮度分量重建块为经环路滤波处理或未经环路滤波处理的亮度分量重建块,该第一色度分量重建块为经环路滤波处理或未经环路滤波处理的色度分量重建块。
在本申请的一些实施例中,该环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
在本申请的一些实施例中,该第三标识用于指示该目标图像帧中的所有分量均不允许基于神经网络进行滤波,或该第三标识用于指示该所有分量均允许基于神经网络进行滤波。
在本申请的一些实施例中,该第三标识通过至少一个标识指示该目标分量。
在本申请的一些实施例中,该目标分量包括亮度分或色度分量。
图7是本申请实施例提供的解码方法600的示意性流程图。
如图7所示,该解码方法600可包括:
S610,解码端获取目标码流,该目标码流包括第一标识、第二标识以及第三标识。
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为GPU,或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为CPU;该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
例如,解码端获取目标码流后,通过解析该目标码流可获取该第一标识、该第二标识以及该第三标识,编码端获取目标码流后,通过解析该目标码流以得到预测块和频域残差块,并对得到的频域残差信息进行反变换、反量化后可得到时域残差块,基于该预测块和时域残差块可以构建重建块,解码端可以针对重建块执行操作S620~S690。为便于描述,下面以目标图像块为例进行说明。可选的,该目标图像块可以是目标CTU或目标CU。
S620,解码端确定该第一标识是否用于指示目标图像帧所属的序列允许基于神经网络进行滤波,该第三标识是否用于指示该目标图像帧中的目标分量允许基于神经网络进行滤波。
例如,若该第一标识用于指示目标图像帧所属的序列允许基于神经网络进行滤波,且该第三标识用于指示该目标图像帧中的目标分量允许基于神经网络进行滤波,则执行步骤S630;若该第一标识用于指示目标图像帧所属的序列不允许基于神经网络进行滤波,且该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,则执行步骤S682。
S630,解码端获取该目标图像帧中的图像块的第一亮度分量重建块。可选的,该第一亮度分量重建块可以为经环路滤波处理或未经环路滤波处理的亮度分量重建块。该环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
S631,解码端利用该第二标识指示的处理器,基于亮度分量神经网络模型,以第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块。
S632,对第一亮度分量重建块或第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,该第三亮度分量重建块的大小与该第一色度分量重建块的大小相同。
S640,解码端获取该目标图像帧中的图像块的第一色度分量重建块。可选的,该第一色度分量重建块可以为经环路滤波处理或未经环路滤波处理的色度分量重建块。该环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
S650,解码端利用该第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块。
S660,解码端将该第二亮度分量重建块和该第二色度分量重建块,确定为该目标图像块的重建块。
S670,解码端确定是否已解码完目标图像帧。
S680,若确定已解码完目标图像帧,解码端确定是否已解码完目标图像帧所属的序列。
S681,若确定未解码完目标图像帧,解码端获取该目标图像帧的下一图像块,该下一图像块作为目标图像块,从S630和S640重新开始。
S682,若未解码完目标图像帧所属的序列,解码端获取下一图像帧并将其作为目标图像帧,从S620重新开始。
S690,若已解码完目标图像帧所属的序列,解码端输出解码图像并终止解码过程。
应理解,图8仅为本申请的示例,不应理解为对本申请的限制。
例如,图8为对图7所示的方法进行变型后的方法600-1的示意性流程图。应理解,该方法600-1中的S611和S612可等效为方法600中的S610,该方法400-1中的S421和S422可等效为方法400中的S420。该方法600-1中的其余步骤可参考方法600中的步骤。为避免重复,此处不再赘述。
如图8所示,该方法600-1可包括:
S611,解码端获取解析目标码流,获取目标图像帧。
S612,解码端获取解析目标码流,获取第一标识、第二标识以及第三标识。
S621,解码端确定该第一标识是否用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,并将该第一标识和该第二标识写入目标码流。换言之,针对一个序列的该第一标识和该第二标识,需要写入该目标码流。或者说,针对一个序列的目标码流,在该目标码流中仅需要写入一次该第一标识和该第二标识。
S622,在第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波的情况下,解码端确定该第三标识是否用于指示该目标图像帧中的目标分量允许基于神经网络进行滤波,并将该第三标识写入该目标码流。换言之,针对每一帧图像的第三标识,均需要写入该目标码流。或者说,针对一个序列的目标码流,在该目标码流中需要写入每一帧图像的第三标识。
上文结合图1至图8,详细描述了本申请的方法实施例,下文结合图9至图11,详细描述本申请的装置实施例。
图9是本申请实施例提供的编码器700的示意性框图。
如图9所示,该编码器700可包括:
获取单元710,用于获取目标图像帧;
编码单元720,用于输出针对该目标图像帧进行编码后的目标码流,该目标码流包括以下标识中的至少一项:第一标识、第二标识或第三标识。
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为图像处理器GPU,或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为中央处理器CPU;该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
在本申请的一些实施例中,该基于神经网络处理该目标图像帧所属的序列包括基于神经网络滤波处理该目标图像帧所属的序列。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波,该目标码流仅包括该第一标识。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,该目标码流包括该第一标识、该第二标识以及该第三标识。
在本申请的一些实施例中,该目标码流还包括第四标识,该第四标识用于指示该目标图像帧中的目标图像块不允许基于神经网络进行滤波,或该第四标识用于指示该目标图像块允许基于神经网络进行滤波。
在本申请的一些实施例中,该编码单元720还用于:
确定该第四标识。
在本申请的一些实施例中,该编码单元720具体用于:
1)、获取该目标图像块的第一亮度分量重建块;
2)、利用该第二标识指示的处理器,基于亮度分量神经网络模型,以该第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块;
3)、获取该目标图像块的第一色度分量重建块;
4)、对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,该第三亮度分量重建块的大小与该第一色度分量重建块的大小相同;例如,在该第一亮度分量重建块或该第二亮度分量重建块,与该第一色度分量重建块的大小不同的情况下,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块;
5)、利用该第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块;
6)、基于该第二亮度分量重建块和该第二色度分量重建块,确定该目标图像块的率失真代价;
7)、基于该目标图像块的率失真代价确定该第四标识。
在本申请的一些实施例中,该编码单元720具体用于:
若该率失真代价小于0,确定该第四标识为第一数值,以指示该目标图像块允许基于神经网络进行滤波;若该率失真代价大于等于0,确定第四标识为第二数值,以指示该目标图像块不允许基于神经网络进行滤波,该第一数值和该第二数值不同。
在本申请的一些实施例中,该对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,包括:
通过二维六抽头滤波器或二维四抽头,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取该第三亮度分量重建块。
在本申请的一些实施例中,该第一亮度分量重建块为经环路滤波处理或未经环路滤波处理的亮度分量重建块,该第一色度分量重建块为经环路滤波处理或未经环路滤波处理的色度分量重建块。
在本申请的一些实施例中,该环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
在本申请的一些实施例中,该第三标识用于指示该目标图像帧中的所有分量均不允许基于神经网络进行滤波,或该第三标识用于指示该所有分量均允许基于神经网络进行滤波。
在本申请的一些实施例中,该第三标识通过至少一个标识指示该目标分量。
在本申请的一些实施例中,该目标分量包括亮度分量或色度分量。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图9所示的编码器700可以对应于执行本申请实施例的方法300或400中的相应主体,并且编码器700中的各个单元的前述和其它操作和/或功能分别为了实现方法300或400等各个方法中的相应流程,为了简洁,在此不再赘述。
图10是本申请实施例提供的解码器800的示意性框图。
如图10所示,该解码器800可包括:
获取单元810,用于获取目标码流;
解码单元820,用于输出针对该目标码流进行解码后的目标图像帧,该目标码流包括以下标识中的至少一项:第一标识、第二标识或第三标识。
其中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,或该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波;该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为图像处理器GPU,或该第二标识用于指示基于神经网络处理该目标图像帧所属的序列的处理器为中央处理器CPU;该第三标识用于指示该目标图像帧中的目标分量不允许基于神经网络进行滤波,或该第三标识用于指示该目标分量允许基于神经网络进行滤波。
在本申请的一些实施例中,该基于神经网络处理该目标图像帧所属的序列包括基于神经网络滤波处理该目标图像帧所属的序列。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列不允许基于神经网络进行滤波,该目标码流仅包括该第一标识。
在本申请的一些实施例中,该第一标识用于指示该目标图像帧所属的序列允许基于神经网络进行滤波,该目标码流包括该第一标识、该第二标识以及该第三标识。
在本申请的一些实施例中,该目标码流还包括第四标识,该第四标识用于指示该目标图像帧中的目标图像块不允许基于神经网络进行滤波,或该第四标识用于指示该目标图像帧中的目标图像块允许基于神经网络进行滤波。
在本申请的一些实施例中,该解码单元820具体用于:
确定该目标图像块的重建块。
在本申请的一些实施例中,该第四标识用于指示该目标图像块允许基于神经网络进行滤波;该解码单元820具体用于:
1)、获取该目标图像块的第一亮度分量重建块;
2)、利用该第二标识指示的处理器,基于亮度分量神经网络模型,以该第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块;
3)、获取该目标图像块的第一色度分量重建块;
4)、对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,该第三亮度分量重建块的大小与该第一色度分量重建块的大小相同;例如,在该第一亮度分量重建块或该第二亮度分量重建块,与该第一色度分量重建块的大小不同的情况下,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取第三亮度分量重建块;
5)、利用该第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块;
6)、将该第二亮度分量重建块和该第二色度分量重建块,确定为该目标图像块的重建块。
在本申请的一些实施例中,该解码单元820具体用于:
通过二维六抽头滤波器或二维四抽头,对该第一亮度分量重建块或该第二亮度分量重建块进行降采样,以获取该第三亮度分量重建块。
在本申请的一些实施例中,该第一亮度分量重建块为经环路滤波处理或未经环路滤波处理的亮度分量重建块,该第一色度分量重建块为经环路滤波处理或未经环路滤波处理的色度分量重建块。
在本申请的一些实施例中,该环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
在本申请的一些实施例中,该第三标识用于指示该目标图像帧中的所有分量均不允许基于神经网络进行滤波,或该第三标识用于指示该所有分量均允许基于神经网络进行滤波。
在本申请的一些实施例中,该第三标识还通过至少一个标识指示该目标分量。
在本申请的一些实施例中,该目标分量包括亮度分量或色度分量。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图10所示的解码器800可以对应于执行本申请实施例的方法500或600中的相应主体,并且解码器800中的各个单元的前述和其它操作和/或功能分别为了实现方法500或600等各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能单元的角度描述了本申请实施例的装置和***。应理解,该功能单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件单元组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。可选地,软件单元可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图11是本申请实施例提供的电子设备900的示意性框图。
如图11所示,该电子设备900可包括:
存储器910和处理器920,该存储器910用于存储计算机程序911,并将该程序代码911传输给该处理器920。换言之,该处理器920可以从存储器910中调用并运行计算机程序911,以实现本申请实施例中的方法。
例如,该处理器920可用于根据该计算机程序911中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器920可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器910包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序911可以被分割成一个或多个单元,该一个或者多个单元被存储在该存储器910中,并由该处理器920执行,以完成本申请提供的录制页面的方法。该一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序911在该电子设备900中的执行过程。
如图11所示,该电子设备900还可包括:
收发器940,该收发器940可连接至该处理器920或存储器910。
其中,处理器920可以控制该收发器940与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器940可以包括发射机和接收机。收发器940还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备900中的各个组件通过总线***相连,其中,总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (29)
1.一种编码方法,其特征在于,包括:
获取目标图像帧;
输出针对所述目标图像帧进行编码后的目标码流,所述目标码流包括以下标识中的至少一项:
第一标识、第二标识或第三标识;其中,
所述第一标识用于指示所述目标图像帧所属的序列允许基于神经网络进行滤波,或所述第一标识用于指示所述目标图像帧所属的序列不允许基于神经网络进行滤波;
所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为图像处理器GPU,或所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为中央处理器CPU;
所述第三标识用于指示所述目标图像帧中的目标分量不允许基于神经网络进行滤波,或所述第三标识用于指示所述目标分量允许基于神经网络进行滤波。
2.根据权利要求1所述的方法,其特征在于,所述基于神经网络处理所述目标图像帧所属的序列包括基于神经网络滤波处理所述目标图像帧所属的序列。
3.根据权利要求1或2所述的方法,其特征在于,所述第一标识用于指示所述目标图像帧所属的序列不允许基于神经网络进行滤波,所述目标码流仅包括所述第一标识。
4.根据权利要求1或2所述的方法,其特征在于,所述第一标识用于指示所述目标图像帧所属的序列允许基于神经网络进行滤波,所述目标码流包括所述第一标识、所述第二标识以及所述第三标识。
5.根据权利要求1或2所述的方法,其特征在于,所述目标码流还包括第四标识,所述第四标识用于指示所述目标图像帧中的目标图像块不允许基于神经网络进行滤波,或所述第四标识用于指示所述目标图像块允许基于神经网络进行滤波。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述目标图像块的第一亮度分量重建块;
利用所述第二标识指示的处理器,基于亮度分量神经网络模型,以所述第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块;
获取所述目标图像块的第一色度分量重建块;
对所述第一亮度分量重建块或所述第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,所述第三亮度分量重建块的大小与所述第一色度分量重建块的大小相同;
利用所述第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块;
基于所述第二亮度分量重建块和所述第二色度分量重建块,确定所述目标图像块的率失真代价;
基于所述目标图像块的率失真代价确定所述第四标识。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标图像块的率失真代价确定所述第四标识,包括:
若所述率失真代价小于0,确定所述第四标识为第一数值,以指示所述目标图像块允许基于神经网络进行滤波;若所述率失真代价大于等于0,确定第四标识为第二数值,以指示所述目标图像块不允许基于神经网络进行滤波,所述第一数值和所述第二数值不同。
8.根据权利要求6所述的方法,其特征在于,所述对所述第一亮度分量重建块或所述第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,包括:
通过二维六抽头滤波器或二维四抽头,对所述第一亮度分量重建块或所述第二亮度分量重建块进行降采样,以获取所述第三亮度分量重建块。
9.根据权利要求6所述的方法,其特征在于,所述第一亮度分量重建块为经环路滤波处理或未经环路滤波处理的亮度分量重建块,所述第一色度分量重建块为经环路滤波处理或未经环路滤波处理的色度分量重建块。
10.根据权利要求9所述的方法,其特征在于,所述环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
11.根据权利要求1或2所述的方法,其特征在于,所述第三标识用于指示所述目标图像帧中的所有分量均不允许基于神经网络进行滤波,或所述第三标识用于指示所述所有分量均允许基于神经网络进行滤波。
12.根据权利要求1或2所述的方法,其特征在于,所述第三标识通过至少一个标识指示所述目标分量。
13.根据权利要求12所述的方法,其特征在于,所述目标分量包括亮度分量或色度分量。
14.一种解码方法,其特征在于,包括:
获取目标码流;
输出针对所述目标码流进行解码后的目标图像帧,所述目标码流包括以下标识中的至少一项:
第一标识、第二标识或第三标识;其中,
所述第一标识用于指示所述目标图像帧所属的序列允许基于神经网络进行滤波,或所述第一标识用于指示所述目标图像帧所属的序列不允许基于神经网络进行滤波;
所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为图像处理器GPU,或所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为中央处理器CPU;
所述第三标识用于指示所述目标图像帧中的目标分量不允许基于神经网络进行滤波,或所述第三标识用于指示所述目标分量允许基于神经网络进行滤波。
15.根据权利要求14所述的方法,其特征在于,所述基于神经网络处理所述目标图像帧所属的序列包括基于神经网络滤波处理所述目标图像帧所属的序列。
16.根据权利要求14或15所述的方法,其特征在于,所述第一标识用于指示所述目标图像帧所属的序列不允许基于神经网络进行滤波,所述目标码流仅包括所述第一标识。
17.根据权利要求14或15所述的方法,其特征在于,所述第一标识用于指示所述目标图像帧所属的序列允许基于神经网络进行滤波,所述目标码流包括所述第一标识、所述第二标识以及所述第三标识。
18.根据权利要求14或15所述的方法,其特征在于,所述目标码流还包括第四标识,所述第四标识用于指示所述目标图像帧中的目标图像块不允许基于神经网络进行滤波,或所述第四标识用于指示所述目标图像帧中的目标图像块允许基于神经网络进行滤波。
19.根据权利要求18所述的方法,其特征在于,所述输出针对所述目标码流进行解码后的目标图像帧,包括:
确定所述目标图像块的重建块。
20.根据权利要求19所述的方法,其特征在于,所述第四标识用于指示所述目标图像块允许基于神经网络进行滤波;所述确定所述目标图像块的重建块,包括:
获取所述目标图像块的第一亮度分量重建块;
利用所述第二标识指示的处理器,基于亮度分量神经网络模型,以所述第一亮度分量重建块为输入,输出滤波后的第二亮度分量重建块;
获取所述目标图像块的第一色度分量重建块;
对所述第一亮度分量重建块或所述第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,所述第三亮度分量重建块的大小与所述第一色度分量重建块的大小相同;
利用所述第二标识指示的处理器,基于色度分量神经网络模型,以第三亮度分量重建块和第一色度分量重建块作为输入,输出滤波后的第二色度分量重建块;
将所述第二亮度分量重建块和所述第二色度分量重建块,确定为所述目标图像块的重建块。
21.根据权利要求20所述的方法,其特征在于,所述对所述第一亮度分量重建块或所述第二亮度分量重建块进行降采样,以获取第三亮度分量重建块,包括:
通过二维六抽头滤波器或二维四抽头,对所述第一亮度分量重建块或所述第二亮度分量重建块进行降采样,以获取所述第三亮度分量重建块。
22.根据权利要求20所述的方法,其特征在于,所述第一亮度分量重建块为经环路滤波处理或未经环路滤波处理的亮度分量重建块,所述第一色度分量重建块为经环路滤波处理或未经环路滤波处理的色度分量重建块。
23.根据权利要求22所述的方法,其特征在于,所述环路滤波处理包括以下中的至少一项:去块效应滤波、样点自适应补偿滤波或自适应环路滤波。
24.根据权利要求14或15所述的方法,其特征在于,所述第三标识用于指示所述目标图像帧中的所有分量均不允许基于神经网络进行滤波,或所述第三标识用于指示所述所有分量均允许基于神经网络进行滤波。
25.根据权利要求14或15所述的方法,其特征在于,所述第三标识通过至少一个标识指示所述目标分量。
26.根据权利要求25所述的方法,其特征在于,所述目标分量包括亮度分量或色度分量。
27.一种编码器,其特征在于,包括:
获取单元,用于获取目标图像帧;
编码单元,用于输出针对所述目标图像帧进行编码后的目标码流,所述目标码流包括以下标识中的至少一项:
第一标识、第二标识或第三标识;
其中,所述第一标识用于指示所述目标图像帧所属的序列允许基于神经网络进行滤波,或所述第一标识用于指示所述目标图像帧所属的序列不允许基于神经网络进行滤波;所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为图像处理器GPU,或所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为中央处理器CPU;所述第三标识用于指示所述目标图像帧中的目标分量不允许基于神经网络进行滤波,或所述第三标识用于指示所述目标分量允许基于神经网络进行滤波。
28.一种解码器,其特征在于,包括:
获取单元,用于获取目标码流;
解码单元,用于输出针对所述目标码流进行解码后的目标图像帧,所述目标码流包括以下标识中的至少一项:
第一标识、第二标识或第三标识;
其中,所述第一标识用于指示所述目标图像帧所属的序列允许基于神经网络进行滤波,或所述第一标识用于指示所述目标图像帧所属的序列不允许基于神经网络进行滤波;所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为图像处理器GPU,或所述第二标识用于指示基于神经网络处理所述目标图像帧所属的序列的处理器为中央处理器CPU;所述第三标识用于指示所述目标图像帧中的目标分量不允许基于神经网络进行滤波,或所述第三标识用于指示所述目标分量允许基于神经网络进行滤波。
29.一种编解码***,其特征在于,包括:
根据权利要求1至13中任一项所述的编码器;
以及根据权利要求14至26中任一项所述编码器的解码器。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010948811.XA CN114173136A (zh) | 2020-09-10 | 2020-09-10 | 编码方法、解码方法、编码器、解码器以及编码*** |
PCT/CN2021/099025 WO2022052533A1 (zh) | 2020-09-10 | 2021-06-08 | 编码方法、解码方法、编码器、解码器以及编码*** |
CN202180060378.9A CN116235496A (zh) | 2020-09-10 | 2021-06-08 | 编码方法、解码方法、编码器、解码器以及编码*** |
TW110130847A TW202211684A (zh) | 2020-09-10 | 2021-08-20 | 編碼方法、解碼方法、編碼器、解碼器以及編碼系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010948811.XA CN114173136A (zh) | 2020-09-10 | 2020-09-10 | 编码方法、解码方法、编码器、解码器以及编码*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114173136A true CN114173136A (zh) | 2022-03-11 |
Family
ID=80475751
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010948811.XA Withdrawn CN114173136A (zh) | 2020-09-10 | 2020-09-10 | 编码方法、解码方法、编码器、解码器以及编码*** |
CN202180060378.9A Pending CN116235496A (zh) | 2020-09-10 | 2021-06-08 | 编码方法、解码方法、编码器、解码器以及编码*** |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180060378.9A Pending CN116235496A (zh) | 2020-09-10 | 2021-06-08 | 编码方法、解码方法、编码器、解码器以及编码*** |
Country Status (3)
Country | Link |
---|---|
CN (2) | CN114173136A (zh) |
TW (1) | TW202211684A (zh) |
WO (1) | WO2022052533A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834925A (zh) * | 2023-12-27 | 2024-04-05 | 北京中星天视科技有限公司 | 压缩后视频质量增强方法、装置、电子设备和可读介质 |
WO2024145745A1 (zh) * | 2023-01-03 | 2024-07-11 | Oppo广东移动通信有限公司 | 编解码方法、装置、编码设备、解码设备以及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023197230A1 (zh) * | 2022-04-13 | 2023-10-19 | Oppo广东移动通信有限公司 | 滤波方法、编码器、解码器以及存储介质 |
WO2024077573A1 (zh) * | 2022-10-13 | 2024-04-18 | Oppo广东移动通信有限公司 | 编解码方法、编码器、解码器、码流以及存储介质 |
WO2024083247A1 (en) * | 2022-10-21 | 2024-04-25 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for visual data processing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107925762B (zh) * | 2015-09-03 | 2020-11-27 | 联发科技股份有限公司 | 基于神经网络的视频编解码处理方法和装置 |
CN109471718B (zh) * | 2018-10-12 | 2023-09-22 | 平安科技(深圳)有限公司 | 基于人脸识别的计算资源配置方法、装置、设备及介质 |
US10999606B2 (en) * | 2019-01-08 | 2021-05-04 | Intel Corporation | Method and system of neural network loop filtering for video coding |
CN111064958B (zh) * | 2019-12-28 | 2021-03-30 | 复旦大学 | 一种针对b帧和p帧的低复杂度神经网络滤波算法 |
-
2020
- 2020-09-10 CN CN202010948811.XA patent/CN114173136A/zh not_active Withdrawn
-
2021
- 2021-06-08 CN CN202180060378.9A patent/CN116235496A/zh active Pending
- 2021-06-08 WO PCT/CN2021/099025 patent/WO2022052533A1/zh active Application Filing
- 2021-08-20 TW TW110130847A patent/TW202211684A/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024145745A1 (zh) * | 2023-01-03 | 2024-07-11 | Oppo广东移动通信有限公司 | 编解码方法、装置、编码设备、解码设备以及存储介质 |
CN117834925A (zh) * | 2023-12-27 | 2024-04-05 | 北京中星天视科技有限公司 | 压缩后视频质量增强方法、装置、电子设备和可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116235496A (zh) | 2023-06-06 |
WO2022052533A1 (zh) | 2022-03-17 |
TW202211684A (zh) | 2022-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114173136A (zh) | 编码方法、解码方法、编码器、解码器以及编码*** | |
CN114868386B (zh) | 编码方法、解码方法、编码器、解码器以及电子设备 | |
US20240107015A1 (en) | Encoding method, decoding method, code stream, encoder, decoder and storage medium | |
CN115604488A (zh) | 环路滤波的方法与装置 | |
US20050259747A1 (en) | Context adaptive binary arithmetic code decoder for decoding macroblock adaptive field/frame coded video data | |
CN113784128B (zh) | 图像预测方法、编码器、解码器以及存储介质 | |
US20230396780A1 (en) | Illumination compensation method, encoder, and decoder | |
CN113766233B (zh) | 图像预测方法、编码器、解码器以及存储介质 | |
KR20230111256A (ko) | 비디오 인코딩 및 디코딩 방법과 시스템, 비디오 인코더및 비디오 디코더 | |
CN116803078A (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
CN115086664A (zh) | 未匹配像素的解码方法、编码方法、解码器以及编码器 | |
CN116848844A (zh) | 编解码方法、编解码设备、编解码***以及计算机可读存储介质 | |
WO2023197230A1 (zh) | 滤波方法、编码器、解码器以及存储介质 | |
WO2024016156A1 (zh) | 滤波方法、编码器、解码器、码流以及存储介质 | |
WO2023193254A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023123398A1 (zh) | 滤波方法、滤波装置以及电子设备 | |
CN114554195B (zh) | 图像处理方法、设备及存储介质 | |
WO2023184747A1 (zh) | 视频编解码方法、装置、设备、***及存储介质 | |
WO2023220946A1 (zh) | 视频编解码方法、装置、设备、***及存储介质 | |
WO2023236113A1 (zh) | 视频编解码方法、装置、设备、***及存储介质 | |
WO2024092425A1 (zh) | 视频编解码方法、装置、设备、及存储介质 | |
WO2024077553A1 (zh) | 视频编解码方法、装置、设备、***、及存储介质 | |
WO2023193253A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023197229A1 (zh) | 视频编解码方法、装置、设备、***及存储介质 | |
CN114979628A (zh) | 图像块预测样本的确定方法及编解码设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220311 |
|
WW01 | Invention patent application withdrawn after publication |