CN117255205A - 视频编解码方法及相应的设备 - Google Patents

视频编解码方法及相应的设备 Download PDF

Info

Publication number
CN117255205A
CN117255205A CN202310477747.5A CN202310477747A CN117255205A CN 117255205 A CN117255205 A CN 117255205A CN 202310477747 A CN202310477747 A CN 202310477747A CN 117255205 A CN117255205 A CN 117255205A
Authority
CN
China
Prior art keywords
coding unit
current
interpolation filter
unit
current coding
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
Application number
CN202310477747.5A
Other languages
English (en)
Inventor
温亮
史为璟
王立众
张滢
朴银姬
楼晓雁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to PCT/KR2023/008291 priority Critical patent/WO2023244035A1/en
Priority to US18/214,197 priority patent/US20230412848A1/en
Publication of CN117255205A publication Critical patent/CN117255205A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例提供了一种视频编解码方法及相应的设备,所述方法包括基于当前编码单元和/或对应参考编码单元的失真感知信息,使用至少一种插值滤波器,确定当前编码单元的第一预测值,至少一种插值滤波器包括人工智能AI插值滤波器;基于当前编码单元的第一预测值,对当前编码单元进行编码处理。其中该方案中的多个步骤可以通过人工智能方法实现。

Description

视频编解码方法及相应的设备
技术领域
本申请涉及视频编解码技术领域,具体而言,本申请涉及一种视频的编解码方法及相应的设备。
背景技术
现有技术中,视频序列中的各帧被划分为多个编码单元,从而对各编码单元进行编码和解码。编码端对各编码单元分别使用帧内预测或者帧间预测获得其预测值,将预测值与原始值之间的差值进行变换和量化后的系数与其他编码信息一起经过熵编码后写入码流。解码端从码流中获得当前待解码块的编码信息和系数信息,根据编码信息获得预测值,对系数进行反量化和反变换后获得差值,将预测值与差值相加后获得各编码单元的重建值。
利用当前编码单元与周围相邻块存在的空间和时间的相关性,在帧间预测过程中,首先根据相邻的已编码或已解码的块获得当前编码单元的运动矢量预测值;在参考图像中导出运动矢量预测值所指向的位置将其作为搜索中心,并在一定的搜索范围内找到当前编码单元的最佳匹配块;由于运动矢量以1/4精度为基本单位,最佳匹配块中各样本点的位置可能为整像素样本点位置,也可能为亚像素样本点位置,其中亚像素样本点位置(例如1/2和1/4精度位置)的值利用周围整像素样本点位置的值插值获得;最佳匹配块位置与搜索中心位置之间的差值为运动矢量差值,最佳匹配块中各样本点的值为当前编码单元中各样本点的预测值。
在现有技术中,存在帧间预测准确度较低的问题。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
第一方面,本申请实施例提供了一种视频编码方法,包括:
基于当前编码单元和/或对应参考编码单元的失真感知信息,使用至少一种插值滤波器,确定当前编码单元的第一预测值,至少一种插值滤波器包括人工智能AI插值滤波器;
基于当前编码单元的第一预测值,对当前编码单元进行编码处理。
在本申请的一种可选实施例中,当前编码单元的失真感知信息包括下述至少一个:当前编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值;和/或
参考编码单元的失真感知信息包括下述至少一个:参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值。
在本申请的一种可选实施例中,当前编码单元的量化参数由参考编码单元的量化参数以及量化参数差值确定得到;和/或
参考编码单元的量化参数由当前编码单元的量化参数以及量化参数差值确定得到。
在本申请的一种可选实施例中,AI插值滤波器包括至少一个卷积单元,至少一个卷积单元包括:至少一个卷积层和至少一个非线性激活层;
其中,至少一个非线性激活层,基于当前编码单元的失真感知信息,对级联的卷积层输出的卷积结果进行处理。
在本申请的一种可选实施例中,其中,至少一个非线性激活层,使用基于当前编码单元的失真感知信息确定的激活参数,对级联的卷积层输出的卷积结果进行处理。
在本申请的一种可选实施例中,其中,当使用至少两种插值滤波器,确定当前编码单元的第一预测值时,方法还包括:
将第一预测值对应的插值滤波器的标识信息写入码流。
在本申请的一种可选实施例中,其中,将第一预测值对应的插值滤波器的标识信息写入码流,包括:
通过预设编码单元CU级标志位将第一预测值对应的插值滤波器的标识信息写入码流。
在本申请的一种可选实施例中,其中,确定当前编码单元的第一预测值,包括:
基于当前编码单元和/或对应参考编码单元的失真感知信息,使用至少一种插值滤波器,确定当前编码单元的各亚像素位置分别对应的第二预测值;
基于当前编码单元的各亚像素位置分别对应的第二预测值,确定当前编码单元的第一预测值。
在本申请的一种可选实施例中,其中,确定当前编码单元的各亚像素位置分别对应的第二预测值,包括:
获取当前编码的整像素位置对应的运动矢量MV;
基于MV对应的参考编码单元,使用至少一种插值滤波器,确定当前编码单元的各亚像素位置分别对应的当前编码单元的第二预测值。
在本申请的一种可选实施例中,其中,基于MV对应的参考编码单元,使用AI插值滤波器,确定当前编码单元的各亚像素位置分别对应的当前编码单元的第二预测值,包括:
基于当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值中的至少一项,使用AI插值滤波器,获取当前编码单元的各亚像素位置分别对应的第二预测值。
在本申请的一种可选实施例中,其中,基于当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值中的至少一项,使用AI插值滤波器,获取当前编码单元的各亚像素位置分别对应的第二预测值,包括:
将参考编码单元扩充至预设尺寸得到对应的输入矩阵;
将输入矩阵,以及下述至少一项:当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值,输入到AI插值滤波器的至少一个级联的卷积单元;
通过卷积单元的卷积层进行卷积操作,并通过卷积单元的非线性激活层对卷积层的卷积结果进行处理,获取当前编码单元在对应的亚像素位置所对应的第二预测值。
在本申请的一种可选实施例中,其中,基于当前编码单元的各亚像素位置分别对应的第二预测值,确定当前编码单元的第一预测值,包括:
基于各第二预测值获取对应的率失真代价,并基于各率失真代价确定当前编码单元的第一预测值。
第二方面,本申请实施例提供了一种视频解码方法,包括:
基于接收的码流确定当前解码单元对应的参考解码单元;
基于当前解码单元和/或对应参考解码单元的失真感知信息,使用人工智能AI插值滤波器,对当前解码单元进行解码处理。
在本申请的一种可选实施例中,该方法还包括:
从码流中获取当前解码单元对应的插值滤波器的标识信息;
基于标识信息,确定使用AI插值滤波器对当前解码单元进行解码处理。
在本申请的一种可选实施例中,当前解码单元的失真感知信息包括下述至少一个:当前解码单元的量化参数、当前解码单元与对应参考解码单元的量化参数差值;和/或
参考解码单元的失真感知信息包括下述至少一个:参考解码单元的量化参数、当前解码单元与对应参考解码单元的量化参数差值。
在本申请的一种可选实施例中,当前解码单元的量化参数由参考解码单元的量化参数以及量化参数差值确定得到;和/或
参考解码单元的量化参数由当前解码单元的量化参数以及量化参数差值确定得到。
在本申请的一种可选实施例中,AI插值滤波器包括至少一个卷积单元,至少一个卷积单元包括:至少一个卷积层和至少一个非线性激活层;
其中,至少一个非线性激活层,基于当前解码单元的失真感知信息,对级联的卷积层输出的卷积结果进行处理。
在本申请的一种可选实施例中,至少一个非线性激活层,使用基于当前解码单元的失真感知信息确定的激活参数,对级联的卷积层输出的卷积结果进行处理。
在本申请的一种可选实施例中,基于当前解码单元和/或对应参考解码单元的失真感知信息,使用AI插值滤波器,对当前解码单元进行解码处理,包括:
基于当前解码单元和/或对应参考解码单元的失真感知信息,以及从码流中获取的运动矢量精度信息,使用AI插值滤波器,获取当前解码单元的预测值。
第三方面,本申请实施例提供了另一种视频解码方法,包括:
从码流中获取当前解码单元对应的插值滤波器的标识信息;
使用插值滤波器的标识信息指示的插值滤波器,对当前编码单元进行解码处理。
在本申请的一种可选实施例中,若插值滤波器的标识信息指示的插值滤波器为人工智能AI插值滤波器,则对当前编码单元进行解码处理,包括:
基于当前解码单元和/或对应参考解码单元的失真感知信息,使用AI插值滤波器,对当前解码单元进行解码处理。
第三方面,本申请实施例提供了一种编码设备,包括存储器和处理器;
存储器中存储有计算机程序;
处理器,用于执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第四方面,本申请实施例提供了一种解码设备,包括存储器和处理器;
存储器中存储有计算机程序;
处理器,用于执行计算机程序以实现第二方面实施例或第二方面任一可选实施例中所提供的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例、第一方面任一可选实施例、第二方面实施例或第二方面任一可选实施例中所提供的方法。
本申请提供的技术方案带来的有益效果是:
在编码阶段,采用包括AI插值滤波器在内的插值滤波器来获取当前编码单元的预测值,同时在插值过程中引入当前编码单元和/或对应参考编码单元的失真感知信息,并基于确定出的预测值对当前编码单元进行编码处理。该方案考虑了失真感知信息,从而提高帧间预测的准确度,提升了编解码效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例的一个示例中整像素样本点、1/2像素样本点和1/4像素样本点的位置示意图;
图2为本申请实施例提供的一种视频编码方法的流程示意图;
图3为本申请实施例的一个示例中编码阶段的帧间预测方法示意图;
图4a为本申请实施例提供的一种视频解码方法的流程示意图;
图4b为本申请实施例提供的另一种视频解码方法的流程示意图;
图5为本申请实施例的一个示例中解码阶段的帧间预测方法示意图;
图6为本申请实施例的一个示例中当前编码单元对应的参考块矩阵和输入矩阵的示意图;
图7为本申请实施例的一个示例中用于帧间预测的深度神经网络的输入输出示意图;
图8为本申请实施例的一个示例中一种用于帧间预测编码端的深度神经网络的结构示意图;
图9为本申请实施例的一个示例中另一种用于帧间预测编码端的深度神经网络的结构示意图;
图10a为本申请实施例的一个示例中又一种用于帧间预测编码端的深度神经网络的结构示意图;
图10b为为本申请实施例的一个示例中一种用于帧间预测解码端的深度神经网络的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
提供下列参考附图的描述以有助于对通过权利要求及其等效物定义的本公开的各种实施例的全面理解。本描述包括各种具体细节以有助于理解但是仅应当被认为是示例性的。因此,本领域普通技术人员将认识到,能够对这里描述的各种实施例进行各种改变和修改而不脱离本公开的范围与精神。此外,为了清楚和简明起见,可以略去对公知功能与结构的描述。
在下面说明书和权利要求书中使用的术语和措词不局限于它们的词典意义,而是仅仅由发明人用于使得能够对于本公开清楚和一致的理解。因此,对本领域技术人员来说应当明显的是,提供以下对本公开的各种实施例的描述仅用于图示的目的而非限制如所附权利要求及其等效物所定义的本公开的目的。
应当理解,单数形式的“一”、“一个”和“该”也可包括复数指代,除非上下文清楚地指示不是如此。因此,例如,对“部件表面”的指代包括指代一个或多个这样的表面。当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。
术语“包括”或“可以包括”指的是可以在本公开的各种实施例中使用的相应公开的功能、操作或组件的存在,而不是限制一个或多个附加功能、操作或特征的存在。此外,术语“包括”或“具有”可以被解释为表示某些特性、数字、步骤、操作、构成元件、组件或其组合,但是不应被解释为排除一个或多个其它特性、数字、步骤、操作、构成元件、组件或其组合的存在可能性。
在本公开的各种实施例中使用的术语“或”包括任意所列术语及其所有组合。例如,“A或B”可以包括A、可以包括B、或者可以包括A和B二者。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
除非不同地定义,本公开使用的所有术语(包括技术术语或科学术语)具有本公开所述的本领域技术人员理解的相同含义。如在词典中定义的通常术语被解释为具有与在相关技术领域中的上下文一致的含义,而且不应理想化地或过分形式化地对其进行解释,除非本公开中明确地如此定义。
本公开实施例中所提供的装置或电子设备中的至少部分功能,可以通过AI模型来实现,如可以通过AI模型实现装置或电子设备的多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与AI相关联的功能。
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,例如中央处理单元(CPU)、应用处理器(AP)等、或者是纯图形处理单元,例如,图形处理单元(GPU)、视觉处理单元(VPU)、和/或AI专用处理器,例如神经处理单元(NPU)。
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(AI)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的AI模型。该学习可以在其中执行根据实施例的AI的装置或电子设备本身中执行,和/或可以通过单独的服务器/系统来实现。
AI模型可以包含多个神经网络层。每一层具有多个权重值,每一层通过该层的输入数据(如前一层的计算结果和/或AI模型的输入数据)和当前层的多个权重值之间的计算来执行神经网络计算。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
本公开提供的方法可以涉及语音、语言、图像、视频或数据智能等技术领域中的一个或多个领域。
可选的,在涉及语音或语言领域时,根据本公开,在电子设备执行的方法中,一种用于识别用户语音并解释用户意图的方法可以经由语音信号采集设备(例如,麦克风)接收作为模拟信号的语音信号,并使用自动语音识别(ASR)模型将语音部分转换成计算机可读文本。用户的话语意图可以通过使用自然语言理解(NLU)模型解释转换后的文本来获得。ASR模型或NLU模型可以是人工智能模型。人工智能模型可以由在为人工智能模型处理指定的硬件结构中设计的人工智能专用处理器来处理。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。语言理解是一种用于识别和应用/处理人类语言/文本的技术,包括例如自然语言处理、机器翻译、对话系统、问答或语音识别/合成。
可选的,在涉及图像或视频领域时,根据本公开,在电子设备中执行的方法中,用于识别对象的方法可以通过使用图像数据作为人工智能模型的输入数据来获得识别图像或图像中的图像特征的输出数据。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。本公开的方法可涉及人工智能技术的视觉理解领域,视觉理解是一种用于像人类视觉一样识别和处理事物的技术,并且包括例如对象识别、对象跟踪、图像检索、人类识别、场景识别、3D重建/定位或图像增强。
可选的,在涉及数据智能处理领域时,根据本公开,在电子设备中执行的方法中,用于推理或预测对象类别的方法可以使用人工智能模型通过使用特征数据来推荐/执行类别识别结果。电子设备的处理器可以对数据执行预处理操作,以转换成适合用作人工智能模型输入的形式。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。推理预测是通过确定信息进行逻辑推理和预测的技术,包括例如基于知识的推理、优化预测、基于偏好的规划或推荐。
在相关技术中,对于相同亚像素位置使用相同的一组滤波器系数进行插值计算。如图1所示,样本位置a0,0、b0,0及c0,0的预测值由水平方向距离插值点最近的8个整数值滤波得到,预测值获取方式如下:
a0,0=Clip1((-A-3,0+4*A-2,0–10*A-1,0+57*A0,0+19*A1,0-7*A2,0+3*A3,0-A4,0+32)>>6);
b 0,0=Clip1((-A-3,0+4*A-2,0–11*A-1,0+40*A0,0+40*A1,0–11*A2,0+4*A3,0-A4,0+32)>>6);
c 0,0=Clip1((-A-3,0+3*A-2,0–7*A-1,0+19*A0,0+57*A1,0–10*A2,0+4*A3,0-A4,0+32)>>6。
样本位置d0,0、h0,0及n0,0的预测值由垂直方向距离插值点最近的8个整数值滤波得到,预测值获取方式如下:
d0,0=Clip1((-A0,-3+4*A0,-2–10*A0,-1+57*A0,0+19*A0,1–7*A0,2+3*A0,3-A0,4+32)>>6)
h0,0=Clip1((-A0,-3+4*A0,-2–11*A0,-1+40*A0,0+40*A0,1–11*A0,2+4*A0,3-A0,4+32)>>6)
n0,0=Clip1((-A0,-3+3*A0,-2–7*A0,-1+19*A0,0+57*A0,1–10*A0,2+4*A0,3-A0,4+32)>>6)
样本位置e0,0、i0,0、p0,0、f0,0、j0,0、q0,0、g0,0、k0,0及r0,0的预测值获取方式如下:
e0,0=Clip1((-a'0,-3+4*a'0,-2-10*a'0,-1+57*a'0,0+19*a'0,1-7*a'0,2+3*a'0,3-a'0,4+(1<<19-BitDepth))>>(20-BitDepth))
i0,0=Clip1((-a'0,-3+4*a'0,-2-11*a'0,-1+40*a'0,0+40*a'0,1-11*a'0,2+4*a'0,3-a'0,4+(1<<19-BitDepth))>>(20-BitDepth))
p0,0=Clip1((-a'0,-3+3*a'0,-2-7*a'0,-1+19*a'0,0+57*a'0,1-10*a'0,2+4*a'0,3-a'0,4+(1<<19-BitDepth))>>(20-BitDepth))
f0,0=Clip1((-b'0,-3+4*b'0,-2-10*b'0,-1+57*b'0,0+19*b'0,1-7*b'0,2+3*b'0,3-b'0,4+(1<<19-BitDepth))>>(20-BitDepth))
j0,0=Clip1((-b'0,-3+4*b'0,-2-11*b'0,-1+40*b'0,0+40*b'0,1-11*b'0,2+4*b'0,3-b'0,4+(1<<19-BitDepth))>>(20-BitDepth))
q0,0=Clip1((-b'0,-3b'0,-2-7*b'0,-1+19*b'0,0+57*b'0,1-10*b'0,2+4*b'0,3-b'0,4+(1<<19-BitDepth))>>(20-BitDepth))
g0,0=Clip1((-c'0,-3+4*c'0,-2-10*c'0,-1+57*c'0,0+19*c'0,1-7*c'0,2+3*c'0,3c'0,4+(1<<19-BitDepth))>>(20-BitDepth))
k0,0=Clip1((-c'0,-3+4*c'0,-2-11*c'0,-1+40*c'0,0+40*c'0,1-11*c'0,2+4*c'0,3-c'0,4+(1<<19-BitDepth))>>(20-BitDepth))
r0,0=Clip1((-c'0,-3c'0,-2-7*c'0,-1+19*c'0,0+57*c'0,1-10*c'0,2+4*c'0,3-c'0,4+(1<<19-BitDepth))>>(20-BitDepth))
其中:
a'0,i=(-A-3,I+4*A-2,i–10*A-1,i+57*A0,i+19*A1,i–7*A2,i+3*A3,i-A4,i+((1<<BitDepth-8)>>1))>>(BitDepth-8)
b'0,i=(-A-3,i+4*A-2,i–11*A-1,i+40*A0,i+40*A1,i–11*A2,i+4*A3,i-A4,i+((1<<BitDepth-8)>>1))>>(BitDepth-8)
c'0,i=(-A-3,i+3*A-2,i–7*A-1,i+19*A0,i+57*A1,i–10*A2,i+4*A3,i-A4,i+((1<<BitDepth-8)>>1))>>(BitDepth-8)
上述式子中,clip()对括号内的数组中小于或者大于某值的部分进行截取操作,并是的被截取的部分等于固定的值,BitDepth是指对应的色度值或亮度值的位深度。
图1给出了亮度样本矩阵中整数样本、1/2样本和1/4样本的位置,其中用大写字母标记的是整数样本位置,用小写字母标记的是1/2和1/4样本位置。这些样本位置与其在1/4精度的亮度样本矩阵中的坐标(fx,fy)的对应关系如表1所示,其中xFracL等于fx&3,yFracL等于fy&3,其中“&”为位运算中的“与”运算。
表1
xFracL的值 yFracL的值 图1中的样本位置
0 0 A0,0
0 1 d0,0
0 2 h0,0
0 3 n0,0
1 0 a0,0
1 1 e0,0
1 2 i0,0
1 3 p0,0
2 0 b0,0
2 1 f0,0
2 2 j0,0
2 3 q0,0
3 0 c0,0
3 1 g0,0
3 2 k0,0
3 3 r0,0
相关技术中采用了1/4、1/2、1、2和4五种运动矢量精度,用来减少编码运动矢量差值所消耗的比特数,从而进一步提高编码效率。在编码端对1/4、1/2、1、2和4五种运动矢量精度进行编码,通过率失真优化过程选择最优的运动矢量精度,并将对应的索引值写入码流。五个运动矢量精度对应的索引值如表2所示。
表2
相关技术没有考虑到各类视频序列在分辨率、颗粒度、纹理特性和运动特性等方面的差异,对于特定类型的视频序列无法获得最优的编码效率和视频质量。也就是说相关技术无法做到针对当前待编码的视频序列自适应地获得最佳预测值,造成帧间预测准确度下降,进而导致编码效率较低。
针对上述问题,本申请实施例提供了一种视频编码方法,具体的涉及到一种视频的帧间预测方法,下面将对该方法进行详细说明。
图2为本申请实施例提供的一种视频的帧间预测方法的流程示意图,该方法在编码端执行,如图2所示,该方法可以包括:
步骤S201,基于当前编码单元和/或对应参考编码单元的失真感知信息,使用至少一种插值滤波器,确定当前编码单元的第一预测值,至少一种插值滤波器包括人工智能AI插值滤波器。
其中,在本申请实施例中当前编码单元或称当前块,参考编码单元或称参考块。
其中,当前编码单元的失真感知信息包括下述至少一个:当前编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值;参考编码单元的失真感知信息包括下述至少一个:参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值。
其中,当前编码单元的量化参数由参考编码单元的量化参数以及量化参数差值确定得到;和/或参考编码单元的量化参数由当前编码单元的量化参数以及量化参数差值确定得到。
其中,在编码过程中,引入当前编码单元的量化参数,可以获得更准确的当前块的预测值,从而提高当前块的编码质量。
具体地,在编码过程中,当前块的QP(Quantization Parameter,量化参数)越大,意味着对当前块进行编码时压缩的程度越大,即在帧间预测时,会使用AI网络对参考块的亮度值进行更大力度的补偿,从而获得更准确的当前块的预测值,从而提高当前块的编码质量。
其中,在编码过程中,引入当前编码单元对应的参考编码单元的量化参数,可以提高当前编码单元与补偿后的当前编码单元对应的参考编码单元的相似度,从而降低码率。
具体地,在编码过程中,当前编码单元对应的参考编码单元为编码后的参考编码单元,其QP越大,意味着编码后的参考编码单元的质量越差,在帧间预测时,使用AI网络对参考编码单元的亮度值进行更大力度的补偿,编码后的参考编码单元的QP越小,意味着编码后的参考编码单元的质量越好,在帧间预测时,使用AI(Artificial Intelligence,人工智能)网络对参考编码单元的亮度值进行更精细的补偿。
具体地,在编码过程中,当当前块的像素精度为亚像素精度时,需要进行插值滤波获取预测值,为了确定出最合适的插值滤波器,可以分别采用多种插值滤波器来获取当前块对应的预测值。然后基于各预测值比较对应的插值滤波器的滤波效果,进而确定出对当前块来说最合适的插值滤波器,即确定出当前块的目标插值滤波器。最后利用目标插值滤波器获取当前块的第一预测值。其中,所采用的多种插值滤波器中包含有AI插值滤波器,该AI插值滤波器可以为基于深度神经网络的插值滤波器,具体来说可以是CNN滤波器。该AI插值滤波器的具体结构将在后文中给出相应示例。
步骤S202,基于当前编码单元的第一预测值,对当前编码单元进行编码处理。
本申请提供的方案,在编码阶段,采用包括AI插值滤波器在内的插值滤波器来获取当前编码单元的预测值,同时在插值过程中引入当前编码单元和/或对应参考编码单元的失真感知信息,并基于确定出的预测值对当前编码单元进行编码处理。该方案考虑了失真感知信息,从而提高帧间预测的准确度,提升了编解码效率。
在编码阶段,如图3所示,本申请实施例提供的帧间预测方案包括以下几个步骤:
步骤1,可以分别采用三种不同的预测模式对当前块进行帧间预测:
预测模式一:对当前编码单元采用跳过模式或直接模式的帧间预测模式获得第一预测值和残差值,并计算对应的率失真代价;
预测模式二:对当前编码单元采用包括AI插值滤波器和普通插值滤波器(即非AI插值滤波器)确定当前编码单元在各亚像素位置的第二预测值,并计算对应的率失真代价,然后基于各第二预测值中率失真代价最小的第二预测值对应的插值滤波器确定为目标插值滤波器,该第二预测值对应的运动矢量(MV)确定为最优MV,并计算对应的率失真代价。该模式又可称为帧间模式。其中,AI插值滤波器利用失真感知插值神经网络,将失真信息(QP)与网络输入相集成,以控制参考块的插值程度。同时,AI插值滤波器失真自适应非线性能力,将失真信息与非线性激活函数(例如Swish函数)集成,自适应调整特征图的对比度,以获得更好的学习效果。
预测模式三:对当前编码单元采用除预测模式一(即跳过模式或直接模式)和预测模式二(即帧间模式)以外的其他帧间预测模式获得第一预测值和残差值,并计算对应的率失真代价。
另外,预测模式一中,包括跳过模式/直接模式与基于深度神经网络的插值滤波器的组合,也包括跳过模式/直接模式与普通插值滤波器的组合。
步骤2,选择率失真代价最小的预测模式作为当前编码单元的最终预测模式。例如,若预测模式二中第一预测值对应的率失真代价最小,则采用预测模式二作为当前编码单元的最终预测模式,具体来说,采用预测模式二中确定出的率失真代价最小的第二预测值对应的目标插值滤波器和最优MV,来确定出当前编码单元的第一预测值,并基于该第一预测值对当前编码单元进行编码处理。
步骤3,将当前编码单元的最终预测模式信息、编码单元类型、插值滤波器模式(或插值滤波器的标识信息)、对残差值变换量化后的残差信息等,进行熵编码,写入码流。
具体地,步骤1中分别采用三种不同的预测模式获取当前块预测值(即第一预测值),然后比较三种不同的预测模式对应的率失真代价,并将率失真代价最小的预测模式确定为编码阶段所采用的最终预测模式。下面分别对这三种预测模式的实现过程进行说明。
对于预测模式一,假设当前编码单元的宽为W,高为H,其左上角位置样本点在当前图像中的位置坐标为(x1,y1)。该编码单元中各样本点的第一预测值的获取过程可以包括以下几个步骤:
1、导出候选MV(Motion Vector,运动矢量)列表。
具体地,基于当前编码单元对应的已编码的相邻块对应的MV获取至少一个候选MV,或采用其他手段获取至少一个候选MV,即得到候选MV列表。对于候选MV列表中通过相邻块得到的候选MV,其对应的插值滤波器模式与对应的相邻块的插值滤波器相同,对于候选MV列表中通过其他手段得到的候选MV,其对应的插值滤波器为传统插值滤波器。具体来说,可以将当前块的相邻块的MV确定为候选MV,并将当前块的相邻块对应的插值滤波器确定为对应的候选MV的插值滤波器。即,如果某一相邻块所采用的插值滤波器为基于AI网络的插值滤波器,那么通过该相邻块得到的候选MV,在获取当前块的第三预测值过程中所采用的插值滤波器也是基于AI网络的插值滤波器。
2、获得各候选MV下的当前编码单元对应的第三预测值。
其中,第一参考块后文也可成为第一参考块矩阵。
具体地,在前述步骤中确定了多个候选MV和各候选MV对应的插值滤波器模式。具体来说,对于采用基于深度神经网络的插值滤波器的各候选MV,其对应的第三预测值获取过程可以包括以下几个步骤:
a、根据当前编码信息导出当前编码单元在参考图像中指向的样本矩阵中左上角位置样本点(x2,y2);
根据当前编码单元其左上角位置样本点在当前图像中的位置坐标(x1,y1)和运动矢量信息,导出当前编码单元指向的参考图像中的参考块矩阵左上角位置(x2,y2)。其中,x2=(x1<<2)+MVx,y2=(y1<<2)+MVy,“<<”为左移位操作,MVx和MVy为当前编码单元的MV(即候选MV)的x分量和y分量,且均以1/4精度为基本单位;x2和y2可能为整像素样本点位置,也可能不是整像素样本点位置。
b、将导出的参考块矩阵左上角位置(x2,y2)按规定好的规则移动到最邻近的整像素样本位置点(x2’,y2’),得到第一参考块矩阵。第一参考块矩阵的宽为W,高为H。
c、根据参考块矩阵左上角位置(x2,y2),得到亚像素点位置xFrac,yFrac;其中xFrac=x2&3,yFrac=y2&3。
d、如果xFrac和yFrac皆为0,即在整像素位置上,将第一参考块矩阵作为当前编码单元的预测值;否则,进行后续e-h操作。
e、根据深度神经网络中卷积核的信息,将第一参考块矩阵进行扩充,获得第一输入矩阵。第一输入矩阵在当前图像中的位置坐标为(x3,y3),宽为W+12,高为H+12,其中x3=x2’-(6<<2),y3=y2’-(6<<2)。
f、根据亚像素点位置,得到基于深度神经网络的插值滤波器对应的神经网络输出层位置index;其中,index=layers[xFrac*4+yFrac-1],layers为亚像素位置与神经网络输出层位置对应关系。
g、将获得的第一参考块的量化参数(或由量化参数导出的量化步长或量化误差)生成第一参考块量化矩阵,第一参考块量化矩阵的大小和输入矩阵相同,其中第一参考块量化矩阵中各样本点位置的元素值均等于第一参考块的量化参数(或由量化参数导出的量化步长或量化误差);将获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)生成当前编码单元量化矩阵(即当前块量化矩阵),当前编码单元量化矩阵的大小和输入矩阵相同,其中当前编码单元量化矩阵中各样本点位置的元素值均等于当前编码单元量化参数(或由量化参数导出的量化步长或量化误差);将获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)与获得的第一参考块量化参数(或由量化参数导出的量化步长或量化误差)做差得到差值,生成差值量化矩阵,差值量化矩阵的大小和输入矩阵相同,其中差值量化矩阵中各样本点位置的元素值均等于获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)与获得的第一参考块的量化参数(或由量化参数导出的量化步长或量化误差)做差得到的差值。
其中,第一参考块的量化参数可以从参考图像的量化参数获取。
h、将各量化矩阵(对应于图3中的QP map)和输入矩阵输入到深度神经网络中,然后将深度神经网络输出的第index层样本矩阵中各样本点的元素值作为当前编码单元的第三预测值。
3、基于各候选MV对应的第三预测值,获取对应的率失真代价,并将各候选MV中率失真代价最小的候选MV确定为最优MV,将该最优MV对应的第三预测值,确定为当前块对应的第一预测值。
对于预测模式二,假设当前编码单元的宽为W,高为H,其左上角位置样本点在当前图像中的位置坐标为(x1,y1)。
在本申请的一种可选实施例中,确定当前编码单元的第一预测值,包括:
基于当前编码单元和/或对应参考编码单元的失真感知信息,使用至少一种插值滤波器,确定当前编码单元的各亚像素位置分别对应的第二预测值;
基于当前编码单元的各亚像素位置分别对应的第二预测值,确定当前编码单元的第一预测值。
进一步地,确定当前编码单元的各亚像素位置分别对应的第二预测值,包括:
获取当前编码的整像素位置对应的运动矢量MV;
基于MV对应的参考编码单元,使用至少一种插值滤波器,确定当前编码单元的各亚像素位置分别对应的当前编码单元的第二预测值。
具体地,首先通过运动搜索获取当前编码单元在整像素单元的MV(第一目标MV)。然后,利用各种插值滤波器确定当前编码单元在不同亚像素位置的第二预测值,并计算各第二预测值的率失真代价,并将最小率失真代价的第二预测值对应的插值滤波器确定为目标插值滤波器,将该第二预测值对应的MV确定为第二目标MV(图3中的最优MV)。进而基于该目标插值滤波器和该第二目标MV进行运动补偿后,获取当前编码单元的第一预测值。其中,各种插值滤波器中包括AI插值滤波器。
在本申请的一种可选实施例中,基于MV对应的参考编码单元,使用AI插值滤波器,确定当前编码单元的各亚像素位置分别对应的当前编码单元的第二预测值,包括:
基当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值中的至少一项,使用AI插值滤波器,获取当前编码单元的各亚像素位置分别对应的第二预测值。
在本申请的一种可选实施例中,基于当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值中的至少一项,使用AI插值滤波器,获取当前编码单元的各亚像素位置分别对应的第二预测值,包括:
将参考编码单元扩充至预设尺寸得到对应的输入矩阵;
将输入矩阵,以及下述至少一项:当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值,输入到AI插值滤波器的至少一个级联的卷积单元;
通过卷积单元的卷积层进行卷积操作,并通过卷积单元的非线性激活层对卷积层的卷积结果进行处理,获取当前编码单元在对应的亚像素位置所对应的第二预测值。
具体来说,至少一个级联的卷积单元的引入,能够在编码过程中获得更准确的当前编码单元的预测值,并进一步提高了当前编码单元的编码质量。其中,每一个卷积单元都由卷积层和激活层组成,且激活层采用了非线性激活函数,用于提高AI网络对非线性纹理的拟合程度,从而增强编码后轮廓的清晰度。
本申请的一种可选实施例,在AI插值滤波器的非线性激活层中使用非线性激活函数,其中,常见的非线性激活函数包括:Sigmoid激活函数,Tanh激活函数,Softmax激活函数,Swish激活函数等。在本实施例中,以Swish激活函数为例,将Siwsh激活函数作为AI插值滤波器中激活函数,并将当前编码单元的量化参数作为激活函数的输入,由此集成的激活函数为QPSwish激活函数。该QPSwish函数会随当前编码单元的量化参数变化,动态调整激活函数对卷积层输出的补偿程度。当当前编码单元QP较大时,激活层会将卷积层输出的卷积结果映射到更小的动态范围,以较大程度提高激活层输出结果的图像对比度。当当前编码单元QP较小时,激活层会将卷积层输出的卷积结果映射到相较于更大QP情况下,更大的动态范围,但此时所指的动态范围应小于原本输出结果的亮度值动态范围,以较小程度的提高激活层输出结果的图像对比度。
本申请的一种可选实施例,对激活函数引入当前编码单元的量化参数,其中量化参数与激活函数可能为以下其中一种数学关系:倒数关系,倍数关系,幂次方关系。在本实施例中以倒数关系和Swish函数为例,则该激活函数的表达式可写为:
QPswish(x)=x·sigmoid(x·1/QP)
其中,QP为当前编码单元的量化参数,x为激活层对应的卷积层的输出结果。
其中,非线性激活层会使用自适应的QP值来调整所述激活函数的非线性补偿程度,从而获得更准确的当前编码单元的预测值,从而进一步提高当前编码单元的编码质量。
其中,第二参考块在后文中又可称为第二参考块矩阵。
具体来说,插值处理的目的是获得与当前块更相似的块。因此,相似度是判断网络结果的最重要指标。此外,参考块的QP值与要编码的块的QP值越接近,就越容易获得两者之间具有高相似性的结果。在该模式下,采用基于深度神经网络的插值滤波器获取当前块的第二预测值可以包括以下几个步骤:
1、运动搜索得到当前最优整像素位置MV(MVx,MVy);其中,MVx,MVy以1/4精度为基本单位。即通过运动搜索获取当前块在整像素位置对应的第一最优MV(即第一目标MV)。
2、根据当前编码信息导出当前编码单元在参考图像中指向的样本矩阵中左上角位置样本点(x2,y2);
根据当前编码单元其左上角位置样本点在当前图像中的位置坐标(x1,y1)和运动矢量信息,导出当前编码单元指向的参考图像中的参考块矩阵左上角位置(x2,y2)。其中,x2=(x1<<2)+MVx,y2=(y1<<2)+MVy,“<<”为左移位操作,MVx和MVy为当前编码单元的运动矢量值的x分量和y分量,且均以1/4精度为基本单位;x2和y2可能为整像素样本点位置,也可能不是整像素样本点位置。
3、将导出的参考块矩阵左上角位置(x2,y2)按规定好的规则移动到最邻近的整像素样本位置点(x2’,y2’),得到第二参考块矩阵。第二参考块矩阵的宽为W,高为H。
4、根据深度神经网络中卷积核的信息,将第二参考块矩阵进行扩充,获得第二输入矩阵。第二输入矩阵在当前图像中的位置坐标为(x3,y3),宽为W+12,高为H+12,其中x3=x2’-(6<<2),y3=y2’-(6<<2)。
5、将第二输入矩阵进一步扩充,向上多取一行,向左多取一列。扩充后的最终第二输入矩阵在当前图像中的位置为(x4,y4),宽为W+13,高位H+13,其中x4=x3-(1<<2),y4=y3-(1<<2)。
6、将所述获得的第二参考块的量化参数(或由量化参数导出的量化步长或量化误差)生成第二参考块量化矩阵,第二参考块量化矩阵的大小和输入矩阵相同,其中第二参考块量化矩阵中各样本点位置的元素值均等于所述第二参考块的量化参数(或由量化参数导出的量化步长或量化误差);将所述获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)生成当前编码单元量化矩阵,当前编码单元量化矩阵的大小和输入矩阵相同,其中当前编码单元量化矩阵中各样本点位置的元素值均等于所述当前编码单元量化参数(或由量化参数导出的量化步长或量化误差);将所述获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)与所述获得的第二参考块的量化参数(或由量化参数导出的量化步长或量化误差)做差得到差值,生成差值量化矩阵,差值量化矩阵的大小和输入矩阵相同,其中差值量化矩阵中各样本点位置的元素值均等于所述获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)与所述获得的第二参考块的量化参数(或由量化参数导出的量化步长或量化误差)做差得到的差值。
其中,第二参考块的量化参数可以从参考图像的量化参数中获取。
7、将各量化矩阵和第二输入矩阵输入到深度神经网络中,将深度神经网络输出的15个亚像素位置对应的预测值存到亚像素预测值矩阵中;其中,每个亚像素位置对应的预测值矩阵的宽为W+1,高为H+1。
8、若当前编码单元的像素精度为1/2像素精度,则继续进行1/2像素位置运动搜索,搜索范围为当前最优整数运动矢量周围8个位置点,即{MVDx1,MVDy1}取值范围为{{-2,0},{-2,2},{0,2},{2,2},{2,0},{2,-2},{0,-2},{-2,-2}}。对每个亚像素位置,从亚像素预测值矩阵中读取对应的第二预测值,从最优整像素位置MV和候选1/2像素位置的MV中选取最优MV,即从第一目标MV和各1/2亚像素位置对应的MV中确定目标MV,此情形下,最优运动矢量记为MVx2,MVy2。当前1/2像素位置MV值为MVx1=MVx+MVDx1,MVy1=MVy+MVDy1。其中,MVDx1为x方向MV的移动值,MVDy1为y方向MV的移动值,且以1/4精度为基本单位;当MVx1<MVx时,对应预测值矩阵的横坐标取0~W,否则取1~W+1;当MVy1<MVy时,对应预测值矩阵的纵坐标取0~H,否则取1~H+1;预测值矩阵的宽为W,高为H。
此情形下,从第一目标MV和各1/2亚像素位置对应的MV中确定目标MV,可以是将最优整像素位置对应的第二预测值以及各1/2亚像素位置对应的第二预测值,分别与当前编码单元的原始值相比较,得出各位置对应的SATD(Sum of Absolute TransformedDifference,残差变换绝对值和),然后比较各位置对应的SATD的大小,并将SATD最小的位置对应的MV作为目标MV。在步骤9中也可以通过比较各位置的SATD大小来确定目标MV。
9、若当前编码单元的像素精度为1/4像素精度,则在步骤8的基础上继续进行1/4像素位置运动搜索,搜索范围为步骤8中的最优运动矢量周围8个位置点,即{MVDx2,MVDy2}取值范围为{{-1,0},{0,1},{1,0},{0,-1},{-1,1},{1,1},{-1,-1},{1,-1}}。对每个亚像素位置,从预测值矩阵中读取对应的第二预测值,从步骤8中的最优MV(即此情形下的第二最优MV或第二目标MV)和当前候选的8个1/4像素位置的运动矢量中选取最优选MV,即从第二目标MV和各1/4亚像素位置对应的MV中确定目标MV,此情形下,最优运动矢量记为MVx4,MVy4。当前1/4像素位置的MV值为MVx3=MVx2+MVDx2,MVy3=MVy2+MVDy2。其中,MVDx2为x方向MV的移动值,MVDy2为y方向MV的移动值,且以1/4精度为基本单位;当MVx3<MVx时,对应预测值矩阵的横坐标取0~W,否则取1~W+1;当MVy3<MVy时,对应预测值矩阵的纵坐标取0~H,否则取1~H+1;预测值矩阵的宽为W,高为H。
图4a为本申请实施例提供的一种视频解码方法,具体的涉及一种帧间预测方法的流程示意图,在解码端执行,如图4a所示,该方法可以包括:
步骤S201,基于接收的码流确定当前解码单元对应的参考解码单元。
具体地,从码流中可以获取当前解码单元在编码阶段所采用的插值滤波器信息、所确定的运动矢量精度信息以及所采用的参考编码单元。在解码阶段,基于该插值滤波器信息和运动矢量精度信息,将该参考编码单元作为参考解码单元,对当前解码单元进行解码处理。
步骤S202,基于当前解码单元和/或对应参考解码单元的失真感知信息,使用人工智能AI插值滤波器,对当前解码单元进行解码处理。
具体地,可以基于当前解码单元和/或对应参考解码单元的失真感知信息,使用人工智能AI插值滤波器,对当前解码单元进行解码处理得到当前解码单元的预测值。
本申请提供的方案,在解码阶段,采用AI插值滤波器来获取当前解码单元的预测值,同时在插值过程中引入当前解码单元和/或对应参考解码单元的失真感知信息,并基于确定出的预测值对当前解码单元进行解码处理。该方案考虑了失真感知信息,从而提高帧间预测的准确度,提升了编解码效率。
在本申请的一种可选实施例中,当前解码单元的失真感知信息包括下述至少一个:当前解码单元的量化参数、当前解码单元与对应参考解码单元的量化参数差值;和/或
参考解码单元的失真感知信息包括下述至少一个:参考解码单元的量化参数、当前解码单元与对应参考解码单元的量化参数差值。
在本申请的一种可选实施例中,当前解码单元的量化参数由参考解码单元的量化参数以及量化参数差值确定得到;和/或
参考解码单元的量化参数由当前解码单元的量化参数以及量化参数差值确定得到。
在本申请的一种可选实施例中,AI插值滤波器包括至少一个卷积单元,至少一个卷积单元包括:至少一个卷积层和至少一个非线性激活层;
其中,至少一个非线性激活层,基于当前解码单元的失真感知信息,对级联的卷积层输出的卷积结果进行处理。
在本申请的一种可选实施例中,至少一个非线性激活层,使用基于当前解码单元的失真感知信息确定的激活参数,对级联的卷积层输出的卷积结果进行处理。
在本申请的一种可选实施例中,基于当前解码单元和/或对应参考解码单元的失真感知信息,使用AI插值滤波器,对当前解码单元进行解码处理,包括:
基于当前解码单元和/或对应参考解码单元的失真感知信息,以及从码流中获取的运动矢量精度信息,使用AI插值滤波器,获取当前解码单元的预测值。
图4b为本申请实施例提供的另一种视频解码方法的流程示意图,具体的涉及一种帧间预测方法的流程示意图,在解码端执行,如图4b所示,该方法可以包括:
步骤S301,从码流中获取当前解码单元对应的插值滤波器的标识信息。
具体地,从码流中获取插值滤波器的标识信息,并将该插值滤波器的标识信息所指示的插值滤波器确定为解码阶段所要使用的差值滤波器。
步骤S302,使用插值滤波器的标识信息指示的插值滤波器,对当前编码单元进行解码处理。
在本申请的一种可选实施例中,若插值滤波器的标识信息指示的插值滤波器为人工智能AI插值滤波器,则对当前编码单元进行解码处理,包括:
基于当前解码单元和/或对应参考解码单元的失真感知信息,使用AI插值滤波器,对当前解码单元进行解码处理。
需要说明的是,在解码阶段,当前解码块也可称为当前块,参考解码块也可称为参考块。
在解码阶段,如图5所示,本申请实施例提供的帧间预测方案包括以下几个步骤:
步骤1:从码流中获取当前编码单元(即当前块)的编码信息;该编码信息中包含有图5中的CU(Coding Unit,编码单元)级flag,该CU级flag即CU级标志位,本申请实施例中可以采用预设CU级标志位作为当前块在编码阶段所使用的插值滤波器的标识信息。
步骤2:根据编码信息导出当前编码单元在参考图像中指向的样本矩阵中左上角位置样本点;
步骤3:导出当前编码单元预测值;
如果使用深度神经网络则首先对在参考图像中指向的样本矩阵进行预处理,根据编码信息导出参考块量化矩阵、当前编码单元量化矩阵、参考块与当前编码单元量化矩阵差值,然后将预处理后的参考图像中指向的样本矩阵和各量化矩阵输入到训练好的深度神经网络;从深度神经网络输出预测样本矩阵;否则使用普通的插值滤波器(或图5中的普通滤波器)计算得到预测样本矩阵;
步骤4:对预测值进行改善,获得当前编码单元的最终的预测值。
具体地,对于采用深度神经网络的插值滤波器(对应于图5中的CNN插值滤波器或CNN滤波器)进行帧间预测可以具体包括以下几个步骤:
1、获得当前编码单元的编码信息。
具体地,编码信息至少包括:编码单元信息、量化参数信息;量化参数信息至少包括:当前编码单元量化参数信息、参考块量化参数信息;编码单元信息至少包括:当前编码单元的宽W,高H,其左上角位置样本点在当前图像中的位置坐标(x1,y1),当前编码单元类型,自适应运动矢量精度索引值(AmvrIndex),预测参考模式,参考索引,运动矢量差信息(x分量的运动矢量差值为MVDx,y分量的运动矢量差值为MVDy),插值滤波器模式。其中x1为横坐标,y1为纵坐标,且x1和y1均为整像素点位置。
如果当前编码单元类型为跳过模式或者直接模式,插值滤波器模式确定方式,与编码端在跳过模式或者直接模式下的插值滤波器模式的确定方式相同;如果当前编码单元类型为除跳过模式和直接模式以外的其他帧间预测模式,则插值滤波器模式可直接从码流中获取。
2、根据编码信息导出当前编码单元在参考图像中指向的样本矩阵中左上角位置样本点(x2,y2)。
根据当前编码单元其左上角位置样本点在当前图像中的位置坐标(x1,y1)和运动矢量信息,导出当前编码单元指向的参考图像中的参考块矩阵左上角位置(x2,y2)。其中,x2=(x1<<2)+MVPx+(MVDx<<AmvrIndex),y2=(y1<<2)+MVPy+(MVDy<<AmvrIndex),“<<”为左移位操作,MVPx和MVPy为根据所述编码单元信息导出的当前编码单元的运动矢量预测值的x分量和y分量,且均以1/4精度为基本单位;x2和y2可能为整像素样本点位置,也可能不是整像素样本点位置。
3、导出当前编码单元的样本矩阵;
如果当前编码单元的插值滤波器模式为深度神经网络插值滤波器,则进入步骤4,否则进入步骤5;
4、应用深度神经网络插值滤波器,获得预测样本矩阵,具体地:
a、将导出的参考块矩阵左上角位置(x2,y2)按规定好的规则移动到最邻近的整像素样本位置点(x2’,y2’),得到参考块矩阵(如图6)。参考块矩阵的宽为W,高为H。
b、根据参考块矩阵左上角位置(x2,y2),得到亚像素点位置xFrac,yFrac;其中xFrac=x2&3,yFrac=y2&3。
c、如果xFrac和yFrac皆为0,即在整像素位置上,将参考块矩阵作为当前编码单元的预测值;否则,进行后续d-g操作。
d、根据神经网络中卷积核的信息,将参考块矩阵进行扩充,获得输入矩阵(如图6)。输入矩阵在当前图像中的位置坐标为(x3,y3),宽为W+12,高为H+12,其中x3=x2’–(6<<2),y3=y2’–(6<<2)。
e、根据亚像素点位置,得到对应神经网络输出层位置index;其中,index=layers[xFrac*4+yFrac-1],layers为亚像素位置与神经网络输出层位置对应关系。
f、将所述获得的参考块的量化参数(或由量化参数导出的量化步长或量化误差)生成参考块量化矩阵,参考块量化矩阵的大小和输入矩阵相同,其中参考块量化矩阵中各样本点位置的元素值均等于所述参考块的量化参数(或由量化参数导出的量化步长或量化误差);
将所述获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)生成当前编码单元量化矩阵,当前编码单元量化矩阵的大小和输入矩阵相同,其中当前编码单元量化矩阵中各样本点位置的元素值均等于所述当前编码单元量化参数(或由量化参数导出的量化步长或量化误差);
将所述获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)与所述获得的参考块的量化参数(或由量化参数导出的量化步长或量化误差)做差得到差值,生成差值量化矩阵,差值量化矩阵的大小和输入矩阵相同,其中差值量化矩阵中各样本点位置的元素值均等于所述获得的当前编码单元的量化参数(或由量化参数导出的量化步长或量化误差)与所述获得的参考块的量化参数(或由量化参数导出的量化步长或量化误差)做差得到的差值。
g、将各量化矩阵和输入矩阵输入到神经网络中,然后将神将网络输出的第index层样本矩阵中各样本点的元素值作为当前编码单元的预测值。
需要说明的是,如图7所示,上述基于深度神经网络的插值滤波器获取预测值(第一预测值或第二预测值)的过程可以包括:
基于所述当前块的量化参数和参考块(ref_pic)的量化参数,获取对应的当前块量化矩阵(cur QP)、参考块量化矩阵(ref QP)以及差值量化矩阵(curQP-refQP);
将当前块量化矩阵、参考块量化矩阵以及差值量化矩阵输入深度神经网络得到对应的预测值。
其中,该深度神经网络的输入特征可以为当前块量化矩阵、当前块量化矩阵和参考块量化矩阵、当前块量化矩阵、参考块量化矩阵以及差值量化矩阵。换言之,基于所述纹理特征获取所述当前块中各样本点的第一预测值、基于所述纹理特征和所述参考块量化矩阵获取所述当前块中各样本点的第一预测值、或基于所述纹理特征、所述当前量化矩阵、所述参考块量化矩阵以及所述差值量化矩阵获取所述当前块中各样本点的第一预测值。
进一步地,该深度神经网络的具体实现可以为以下情形:
如图8所示,前3个CNN层(conv1至conv3)设计为特征提取(feature extraction)层;其中,第一层CNN卷积核为5,共16个卷积核;第二层CNN卷积核为5,共64个卷积核;第三层CNN卷积核为1,共32个卷积核。最后1个CNN层(conv4)设计为预测层,输出15个亚像素位置的预测值(sub-pos pic);其中,CNN的卷积核为5,共15个卷积核。
如图9所示,前5个CNN层(conv1至conv5)设计为特征提取(feature extraction)层;其中,第一层CNN卷积核为3,共16个卷积核;第二层CNN卷积核为3,共64个卷积核;第三层CNN卷积核为3,共64个卷积核;第四层CNN卷积核为3,共64个卷积核;第五层CNN卷积核为1,共32个卷积核。最后1个CNN层(conv6)设计为预测层,输出15个亚像素位置的预测值;其中,CNN的卷积核为5,共15个卷积核。
需要说明的是,图8和图9中“act”表示CNN层后对应的激活层。
在本申请的一种可选实施例中,在编码端,AI插值滤波器包括至少一个卷积单元,至少一个卷积单元包括:至少一个卷积层和至少一个非线性激活层;其中,至少一个非线性激活层,基于当前编码单元的失真感知信息,对级联的卷积层输出的卷积结果进行处理。其中,至少一个非线性激活层,使用基于当前编码单元的失真感知信息确定的激活参数,对级联的卷积层输出的卷积结果进行处理。具体来说,如图10a所示,前5个CNN层(conv1至conv5)设计为特征提取(feature extraction)层;其中,第一层CNN卷积核为3,共16个卷积核;第二层CNN卷积核为3,共64个卷积核;第三层CNN卷积核为3,共64个卷积核;第四层CNN卷积核为3,共64个卷积核;第五层CNN卷积核为1,共32个卷积核。前四层CNN层的非线性激活函数均为基于当前块量化矩阵(Current QP),参考块量化矩阵(Reference QP)以及差值量化矩阵(QP difference)进行自适应调整的Swish函数。最后1个CNN层(conv6)设计为预测层,输出15个亚像素位置的预测值(F0至F14);其中,CNN的卷积核为5,共15个卷积核。该AI插值滤波器通过考虑失真信息可以自适应地调整插值系数。通过对不同特征内容使用不同的滤波器,极大地减少了噪声引入的问题,降低插值错误率。
在本申请的一种可选实施例中,在解码端,AI插值滤波器包括至少一个卷积单元,至少一个卷积单元包括:至少一个卷积层和至少一个非线性激活层;其中,至少一个非线性激活层,基于当前解码单元的失真感知信息,对级联的卷积层输出的卷积结果进行处理。在本申请的一种可选实施例中,至少一个非线性激活层,使用基于当前解码单元的失真感知信息确定的激活参数,对级联的卷积层输出的卷积结果进行处理。具体来说,如图10b所示,前5个CNN层(conv1至conv5)设计为特征提取(feature extraction)层;其中,第一层CNN卷积核为3,共16个卷积核;第二层CNN卷积核为3,共64个卷积核;第三层CNN卷积核为3,共64个卷积核;第四层CNN卷积核为3,共64个卷积核;第五层CNN卷积核为1,共32个卷积核。前四层CNN层的非线性激活函数均为基于当前块量化矩阵(Current QP),参考块量化矩阵(Reference QP)以及差值量化矩阵(QP difference)进行自适应调整的Swish函数。最后1个CNN层(conv6)设计为预测层,输出从码流中获取的运动矢量精度信息对应的亚像素位置的预测值(F0);其中,CNN的卷积核为5,共1个卷积核。该AI插值滤波器通过考虑失真信息可以自适应地调整插值系数。通过对不同特征内容使用不同的滤波器,极大地减少了噪声引入的问题,降低插值错误率。
本申请实施例利用基于深度神经网络在图像处理方面表现出来的优势,使用深度神经网络自适应地生成针对当前编码视频序列的最优的插值滤波器,从而进一步提高帧间预测的准确度,提升编码效率。
下面将对基于深度神经网络的插值滤波器的训练进行详细说明。该训练过程可以包括以下几个步骤:
步骤1:获取若干个包含不同内容特性的视频组合第一视频集合,所述内容特性至少包括:纹理特性,运动特性;
步骤2:将第一视频集合中的各视频输入到视频编码器,视频编码器的编码参数为:量化系数的取值范围是{27,32,38,45};视频编码器输出第一视频集合中的各视频在各量化参数下的码流,组成第一码流集合;
另一种可能的实现方法是:
将编码器中affine、awp、dmvr、bio、interpf、ipc、bgc、obmc工具关闭;量化系数的取值范围是{27,32,38,45};视频编码器输出第一视频集合中的各视频在各量化参数下的码流,组成第一码流集合;
步骤3:将第一码流集合中各码流输入到视频解码器,获取已编码的视频中各图像中的各编码单元信息,以及重建编码单元;
步骤4:根据编码单元信息导出编码单元指向的参考图像中的1/4像素精度及1/2像素精度的样本矩阵的左上角样本点位置(x2,y2);然后,将y2为亚像素点位置,或x2为亚像素点位置的重建编码单元组成第一数据集合;其中,编码单元在当前图像中的位置坐标为(x1,y1),x2=(x1<<2)+(MVDx<<AmvrIndex)+MVPx,y2=(y1<<2)+(MVDy<<AmvrIndex)+MVPy,<<为左移位操作,MVPx和MVPy为根据所述编码单元信息导出的当前编码单元的运动矢量预测值的x分量和y分量,且均以1/4精度为基本单位。
步骤5:根据深度神经网络中卷积核的信息将第一训练数据集合中的重建编码单元进行扩充获得第二训练数据集合;
步骤6:使用传统插值滤波器,导出各编码单元对应的插值后的样本矩阵,组成第二数据集合;
步骤7:将第二数据集合和第一数据集合根据损失函数计算出各编码单元对应的传统插值滤波器下的损失代价,组成损失代价数据集;
步骤8:将第二训练数据集合中编码单元的量化参数(或者量化步长、或者量化误差)、各编码单元指向的参考块的量化参数(或者量化步长、或者量化误差)生成量化矩阵,分别对应获得第一量化矩阵(当前编码单元量化矩阵)、第二量化矩阵(参考块量化矩阵)、第三量化矩阵(当前编码单元与参考块量化参数的差对应的量化矩阵);其中,量化矩阵的大小与扩充后的编码单元大小相同,其中矩阵中各样本点位置的元素值都相同且均等于所述量化参数(或者量化步长、或者量化误差)。
一种可能的实现方法是:
将第二训练数据集合中编码单元的量化参数(或者量化步长、或者量化误差)、各编码单元指向的参考块的量化参数(或者量化步长、或者量化误差)生成量化矩阵,分别对应获得第一量化矩阵(当前编码单元量化矩阵)、第二量化矩阵(参考块量化矩阵)
另一种可能的实现方法是:
将第二训练数据集合中各编码单元指向的参考块的量化参数(或者量化步长、或者量化误差)生成量化矩阵,分别对应获得第一量化矩阵(参考块量化矩阵)
步骤9:将第二训练数据集合和第一量化矩阵、第二量化矩阵、第三量化矩阵集合输入到深度神经网络,将第一训练数据集合中重建编码单元所对应的第一视频集合中的编码单元作为训练深度神经网络的目标,训练获得第一深度神经网络;其中,最后一层CNN网络的各输出层,选取损失代价最小的对应层,当所述层的损失代价数值比对应的采用传统插值滤波器的损失代价小,则更新所述层及网络中其他CNN层。
一种可能的实现方法是:
将第二训练数据集合和第一量化矩阵、第二量化矩阵集合输入到深度神经网络,将第一训练数据集合中重建编码单元所对应的第一视频集合中的编码单元作为训练深度神经网络的目标,训练获得第一深度神经网络;
另一种可能的实现方法是:
将第二训练数据集合和第二量化矩阵集合输入到深度神经网络,将第一训练数据集合中重建编码单元所对应的第一视频集合中的编码单元作为训练深度神经网络的目标,训练获得第一深度神经网络;
一种可能的实现方法是:
将第二训练数据集合输入到深度神经网络,将第一训练数据集合中重建编码单元所对应的第一视频集合中的编码单元作为训练深度神经网络的目标,训练获得第一深度神经网络;
步骤10:将第二训练数据集合和第一量化矩阵、第二量化矩阵、第三量化矩阵集合输入到训练好的深度神经网络,计算输出层中对应的损失代价最小的层,统计各亚像素位置对应的最小的层的出现频次,根据频次,匹配15个亚像素位置与输出层中15个子层的对应关系,记为index=layers[xFrac*4+yFrac-1];其中index为神经网络输出层位置,layers为亚像素位置与神经网络输出层位置对应关系,xFrac,yFrac为亚像素点位置,其中xFrac=x2&3,yFrac=y2&3。
一种可能的实现方法是:
将第二训练数据集合和第一量化矩阵、第二量化矩阵集合输入到深度神经网络;
另一种可能的实现方法是:
将第二训练数据集合和第二量化矩阵集合输入到深度神经网络;
另一种可能的实现方法是:
将第二训练数据集合输入到深度神经网络;
其中损失函数定义为:神经网络每次迭代输出的插值后的编码单元与作为目标的第一视频集合中的相应编码单元大小相同,两个编码单元中各位置元素的SAD(绝对误差和,Sum of Absolute Difference)作为损失函数。
本公开实施例中还提供了一种电子设备,该电子设备包括处理器,可选的,还可包括与处理器耦接的收发器和/或存储器,该处理器被配置为执行本公开任一可选实施例提供的方法的步骤。
图11中示出了本发明实施例所适用的一种电子设备的结构示意图,如图11所示,图11所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本公开实施例的限定。可选的,该电子设备可以是第一网络节点、第二网络节点或第三网络节点。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本公开公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本公开实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本公开实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本公开实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本公开实施例对此不限制。
以上文本和附图仅作为示例提供,以帮助阅读者理解本公开。它们不意图也不应该被解释为以任何方式限制本公开的范围。尽管已经提供了某些实施例和示例,但是基于本文所公开的内容,对于本领域技术人员而言显而易见的是,在不脱离本公开的范围的情况下,可以对所示的实施例和示例进行改变,采用基于本公开技术思想的其他类似实施手段,同样属于本公开实施例的保护范畴。

Claims (24)

1.一种视频编码方法,其特征在于,包括:
基于当前编码单元和/或对应参考编码单元的失真感知信息,使用至少一种插值滤波器,确定所述当前编码单元的第一预测值,所述至少一种插值滤波器包括人工智能AI插值滤波器;
基于所述当前编码单元的第一预测值,对当前编码单元进行编码处理。
2.如权利要求1所述的方法,所述当前编码单元的失真感知信息包括下述至少一个:当前编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值;和/或
所述参考编码单元的失真感知信息包括下述至少一个:参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值。
3.如权利要求2所述的方法,所述当前编码单元的量化参数由参考编码单元的量化参数以及所述量化参数差值确定得到;和/或
所述参考编码单元的量化参数由当前编码单元的量化参数以及所述量化参数差值确定得到。
4.如权利要求1-3中任一项所述的方法,所述AI插值滤波器包括至少一个卷积单元,至少一个卷积单元包括:至少一个卷积层和至少一个非线性激活层;
其中,至少一个非线性激活层,基于当前编码单元的失真感知信息,对级联的卷积层输出的卷积结果进行处理。
5.如权利要求4所述的方法,其中,所述至少一个非线性激活层,使用基于当前编码单元的失真感知信息确定的激活参数,对级联的卷积层输出的卷积结果进行处理。
6.如权利要求1-5中任一项所述的方法,其中,当使用至少两种插值滤波器,确定所述当前编码单元的第一预测值时,所述方法还包括:
将所述第一预测值对应的插值滤波器的标识信息写入码流。
7.如权利要求6所述的方法,其中,将所述第一预测值对应的插值滤波器的标识信息写入码流,包括:
通过预设编码单元CU级标志位将所述第一预测值对应的插值滤波器的标识信息写入码流。
8.如权利要求1-7中任一项所述的方法,其中,确定所述当前编码单元的第一预测值,包括:
基于当前编码单元和/或对应参考编码单元的失真感知信息,使用至少一种插值滤波器,确定当前编码单元的各亚像素位置分别对应的第二预测值;
基于当前编码单元的各亚像素位置分别对应的第二预测值,确定所述当前编码单元的第一预测值。
9.如权利要求8所述的方法,其中,确定当前编码单元的各亚像素位置分别对应的第二预测值,包括:
获取所述当前编码的整像素位置对应的运动矢量MV;
基于所述MV对应的参考编码单元,使用所述至少一种插值滤波器,确定当前编码单元的各亚像素位置分别对应的当前编码单元的第二预测值。
10.如权利要求9所述的方法,其中,基于所述MV对应的参考编码单元,使用所述AI插值滤波器,确定当前编码单元的各亚像素位置分别对应的当前编码单元的第二预测值,包括:
基于当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值中的至少一项,使用所述AI插值滤波器,获取当前编码单元的各亚像素位置分别对应的第二预测值。
11.如权利要求10所述的方法,其中,基于当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值中的至少一项,使用所述AI插值滤波器,获取当前编码单元的各亚像素位置分别对应的第二预测值,包括:
将所述参考编码单元扩充至预设尺寸得到对应的输入矩阵;
将所述输入矩阵,以及下述至少一项:当前编码单元的量化参数、参考编码单元的量化参数、当前编码单元与对应参考编码单元的量化参数差值,输入到所述AI插值滤波器的至少一个级联的卷积单元;
通过所述卷积单元的卷积层进行卷积操作,并通过所述卷积单元的非线性激活层对卷积层的卷积结果进行处理,获取当前编码单元在对应的亚像素位置所对应的第二预测值。
12.如权利要求8-11中任一项所述的方法,其中,基于当前编码单元的各亚像素位置分别对应的第二预测值,确定所述当前编码单元的第一预测值,包括:
基于各第二预测值获取对应的率失真代价,并基于各率失真代价确定所述当前编码单元的第一预测值。
13.一种视频解码方法,其特征在于,包括:
基于接收的码流确定当前解码单元对应的参考解码单元;
基于当前解码单元和/或对应参考解码单元的失真感知信息,使用人工智能AI插值滤波器,对当前解码单元进行解码处理。
14.如权利要求13所述的方法,还包括:
从码流中获取当前解码单元对应的插值滤波器的标识信息;
基于标识信息,确定使用AI插值滤波器对所述当前解码单元进行解码处理。
15.如权利要求13或14所述的方法,所述当前解码单元的失真感知信息包括下述至少一个:当前解码单元的量化参数、当前解码单元与对应参考解码单元的量化参数差值;和/或
所述参考解码单元的失真感知信息包括下述至少一个:参考解码单元的量化参数、当前解码单元与对应参考解码单元的量化参数差值。
16.如权利要求15所述的方法,所述当前解码单元的量化参数由参考解码单元的量化参数以及所述量化参数差值确定得到;和/或
所述参考解码单元的量化参数由当前解码单元的量化参数以及所述量化参数差值确定得到。
17.如权利要求13-16中任一项所述的方法,所述AI插值滤波器包括至少一个卷积单元,至少一个卷积单元包括:至少一个卷积层和至少一个非线性激活层;
其中,至少一个非线性激活层,基于当前解码单元的失真感知信息,对级联的卷积层输出的卷积结果进行处理。
18.如权利要求17所述的方法,其中,所述至少一个非线性激活层,使用基于当前解码单元的失真感知信息确定的激活参数,对级联的卷积层输出的卷积结果进行处理。
19.如权利要求13-18中任一项所述的方法,其特征在于,基于当前解码单元和/或对应参考解码单元的失真感知信息,使用AI插值滤波器,对当前解码单元进行解码处理,包括:
基于当前解码单元和/或对应参考解码单元的失真感知信息,以及从码流中获取的运动矢量精度信息,使用所述AI插值滤波器,获取当前解码单元的预测值。
20.一种视频解码方法,其特征在于,包括:
从码流中获取当前解码单元对应的插值滤波器的标识信息;
使用所述插值滤波器的标识信息指示的插值滤波器,对当前编码单元进行解码处理。
21.如权利要求20所述的方法,其特征在于,若所述插值滤波器的标识信息指示的插值滤波器为人工智能AI插值滤波器,则对当前编码单元进行解码处理,包括:
基于当前解码单元和/或对应参考解码单元的失真感知信息,使用所述AI插值滤波器,对当前解码单元进行解码处理。
22.一种编码设备,其特征在于,包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于执行所述计算机程序以实现权利要求1至12中任一项所述的方法。
23.一种解码设备,其特征在于,包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于执行所述计算机程序以实现权利要求13至21中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至21中任一项所述的方法。
CN202310477747.5A 2022-06-16 2023-04-27 视频编解码方法及相应的设备 Pending CN117255205A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2023/008291 WO2023244035A1 (en) 2022-06-16 2023-06-15 Video encoding/decoding method, and corresponding devices
US18/214,197 US20230412848A1 (en) 2022-06-16 2023-06-26 Video encoding/decoding method, and corresponding devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210687108 2022-06-16
CN2022106871087 2022-06-16

Publications (1)

Publication Number Publication Date
CN117255205A true CN117255205A (zh) 2023-12-19

Family

ID=89130146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310477747.5A Pending CN117255205A (zh) 2022-06-16 2023-04-27 视频编解码方法及相应的设备

Country Status (2)

Country Link
CN (1) CN117255205A (zh)
WO (1) WO2023244035A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
JP2020053724A (ja) * 2018-09-21 2020-04-02 Kddi株式会社 画像復号装置、画像符号化装置、画像処理システム及びプログラム
EP3993414A1 (en) * 2020-11-03 2022-05-04 Ateme Method for image processing and apparatus for implementing the same
CN114598877A (zh) * 2020-12-03 2022-06-07 北京三星通信技术研究有限公司 帧间预测方法及相关设备
CN113709483B (zh) * 2021-07-08 2024-04-19 杭州微帧信息科技有限公司 一种插值滤波器系数自适应生成方法及装置

Also Published As

Publication number Publication date
WO2023244035A1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
CN110163370B (zh) 深度神经网络的压缩方法、芯片、电子设备及介质
Zhao et al. Enhanced bi-prediction with convolutional neural network for high-efficiency video coding
CN111263161B (zh) 视频压缩处理方法、装置、存储介质和电子设备
US20180124425A1 (en) Motion estimation through machine learning
WO2005002235A2 (en) Method and apparatus for multidimensional signal sequences encoding/decoding using block matching
JP2009509418A (ja) 時間予測のための分類フィルタリング
US20180124418A1 (en) Motion compensation using machine learning
JP2009509413A (ja) 不規則な動きベクトルのサンプルに対する時間予測フィルタのための適応動き推定
CN109168003B (zh) 一种生成用于视频预测的神经网络模型的方法
Weinlich et al. Probability distribution estimation for autoregressive pixel-predictive image coding
CN115115512B (zh) 一种图像超分网络的训练方法及装置
US7894527B2 (en) Multi-stage linked process for adaptive motion vector sampling in video compression
US20220198628A1 (en) Image processing apparatus and method of processing multi-frames using the same
Fischer et al. Boosting neural image compression for machines using latent space masking
Uddin et al. A perceptually inspired new blind image denoising method using $ L_ {1} $ and perceptual loss
EP4111686A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
CN117255205A (zh) 视频编解码方法及相应的设备
US20230412848A1 (en) Video encoding/decoding method, and corresponding devices
CN118020306A (zh) 视频编解码方法、编码器、解码器及存储介质
CN116260983A (zh) 图像编解码方法和装置
KR102057395B1 (ko) 기계학습 기반 비디오 보외법을 이용한 영상 생성 방법
CN115699757A (zh) 图像处理网络的输入预处理方法和输出后处理方法及装置
CN112991192A (zh) 图像处理方法、装置、设备及其系统
Rizvi et al. Finite-state residual vector quantization using a tree-structured competitive neural network
Ahonen Image coding for machines: Deep learning based post-processing filters

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication