CN117121480A - 用于在媒体比特流内用信号通知神经网络的高级语法 - Google Patents

用于在媒体比特流内用信号通知神经网络的高级语法 Download PDF

Info

Publication number
CN117121480A
CN117121480A CN202280026470.8A CN202280026470A CN117121480A CN 117121480 A CN117121480 A CN 117121480A CN 202280026470 A CN202280026470 A CN 202280026470A CN 117121480 A CN117121480 A CN 117121480A
Authority
CN
China
Prior art keywords
media
nns
bitstream
frames
message
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
CN202280026470.8A
Other languages
English (en)
Inventor
H·雷扎扎德甘·塔瓦科利
F·克里克瑞
E·B·阿克苏
M·M·安尼克塞拉
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN117121480A publication Critical patent/CN117121480A/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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
    • 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Landscapes

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

Abstract

提供了一种示例方法,包括:接收包括一个或多个媒体单元的媒体比特流和第一增强信息消息,其中第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别一个或多个神经网络;对一个或多个媒体单元进行解码;并且基于至少一个目的,使用一个或多个神经网络来增强或过滤所解码的一个或多个媒体单元的一个或多个帧。示例方法包括。还提供了对应的装置和计算机程序产品。

Description

用于在媒体比特流内用信号通知神经网络的高级语法
技术领域
示例和非限制性实施例一般涉及多媒体传送和神经网络,并且更具体地涉及用于在媒体比特流内用信号通知神经网络的高级语法。
背景技术
提供用于神经网络的交换的标准化格式是已知的。
发明内容
一种示例方法,包括接收包括一个或多个媒体单元和第一增强信息消息的媒体比特流,其中所述第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;对所述一个或多个媒体单元进行解码;以及基于所述至少一个目的,使用所述一个或多个神经网络来增强或过滤所解码的一个或多个媒体单元的一个或多个帧。
如权利要求的示例方法还可以包括接收容器,其中容器包括:第二增强信息消息,其中第二增强信息消息包括用于经由参考识别标准神经网络或单独提供的神经网络的信息;以及对所识别的神经网络的更新。
示例方法还可以包括通过使用对所识别的神经网络的更新来更新所识别的NN;以及使用所更新的所识别的NN来增强或过滤已解码的一个或多个媒体单元的一个或多个帧。
另一示例方法,包括:对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码,其中所述第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;以及将所述媒体比特流用信号通知给解码器侧设备,其中所述一个或多个神经网络旨在被用于针对所述至少一个目的来增强或过滤解码的一个或多个媒体单元的一个或多个帧。
又一示例方法包括:对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码,其中第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括关于要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;以及将媒体比特流用信号通知给解码器侧设备,其中一个或多个神经网络旨在由解码器使用以基于至少一个目的来增强或过滤已解码的一个或多个媒体单元的一个或多个帧。
示例方法可以进一步包括,其中所述第一增强信息消息包括神经网络(NN)补充增强信息消息。
示例方法可以进一步包括,其中所述第二独立可解析结构包括MPEG神经网络表示(NNR)比特流。
示例方法可以进一步包括,其中所述一个或多个媒体单元包括一个或多个视频单元,并且其中所述一个或多个视频单元包括一个或多个网络抽象层视频单元。
示例方法可以进一步包括,其中所述至少两个独立可解析结构中的一个或多个包括补充增强信息消息。
示例方法可以进一步包括,其中所述NN SEI消息的有效负载包括用于规定要被应用于所述一个或多个媒体单元的所述一个或多个NN的所述至少一个目的的一个或多个语法元素。
示例方法可以进一步包括,其中所述至少两个独立可解析结构中的一个或多个包括与所述补充增强信息消息相关联的按照预定义顺序的一个或多个语法元素。
示例方法可以进一步包括,其中所述增强信息消息还包括增益增强信息消息,其中所述增益增强信息消息规定在所述一个或多个NN被应用时实现的预期增益。
示例方法可以进一步包括,其中所述第一增强信息消息还包括拓扑增强信息消息,并且其中所述拓扑增强信息消息规定用于执行在所述增强信息消息中规定的所述至少一个目的的拓扑子集。
示例方法可以进一步包括,其中所述第一增强信息消息还包括用于规定增强或过滤器是有效的范围的范围增强信息消息。
示例方法可以进一步包括,还包括对容器进行定义,其中所述容器包括:用于识别所述一个或多个NN中的NN的标识符;以及用于激活时间范围、空间范围或时空范围的过滤器激活增强信息消息。
示例方法可以进一步包括,其中所述第一增强信息消息还包括用于指示所述至少两个独立可解析结构中的哪些是强制被处理以便执行所述增强或过滤的信息。
示例方法可以进一步包括,其中所述范围适用于从增强信息容器结构的位置直到特定事件出现在所述媒体比特流中为止有效。
示例方法可以进一步包括,其中所述第二独立可解析结构将所述一个或多个神经网络识别为预定义NN,并且使用所述一个或多个NN包括使用所述预定义NN来增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
示例方法可以进一步包括,其中所述第二独立可解析结构将所述一个或多个神经网络识别为预定义NN,并且其中所述预定义NN被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
示例方法可以进一步包括,还包括对容器进行定义,其中所述容器包括:第二增强信息消息,其中所述第二增强信息消息还包括用于经由参考识别标准神经网络或单独提供的神经网络的信息;以及对所识别的神经网络的更新。
示例方法可以进一步包括,其中对所述神经网络的所述更新由神经网络表示比特流来表示,例如,MPEG神经网络表示比特流、ISO/IEC 15938-17比特流、或MPEG神经网络表示(ISO/IEC 15938-17)比特流。
示例方法可以进一步包括,更新由所述第二独立可解析结构识别的NN,其中所更新的NN被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
示例方法可以进一步包括,其中解码器侧设备包括所述一个或多个NN的一组拓扑,并且其中拓扑包括NN的架构,所述NN的架构包括以下中的至少一个:层的数量、层的类型、每层的计算单元的数量、每层的卷积通道的数量或层的超参数。
示例方法可以进一步包括,其中所述第一增强信息还包括关于来自一组拓扑的拓扑的信息,所述拓扑要被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
示例方法可以进一步包括,其中所述第一增强信息包括用于识别所述拓扑的独特标识符(ID)。
示例方法可以进一步包括,其中所述第一增强信息包括要被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧的神经网络拓扑的表示。
示例方法可以进一步包括:对所述NNR比特流进行解码以提取所解码的一个或多个NN。
示例方法可以进一步包括,其中所述媒体比特流或所述第一增强信息消息还包括缩放因子标志消息,并且其中所述缩放因子标志消息指示是否需要缩放所述一个或多个NN的输出。
示例方法可以进一步包括,其中所述缩放因子标志消息包括被用于缩放所述一个或多个NN的所述输出的一个或多个值。
示例方法可以进一步包括,其中所述媒体比特流或所述第一增强信息消息还包括缩放因子消息,并且其中所述缩放因子消息包括被用于缩放所述一个或多个NN的所述输出的一个或多个值。
示例方法可以进一步包括,其中所述媒体比特流或所述第一增强信息消息还包括残差过滤标志消息,并且其中所述残差过滤标志消息指示所述一个或多个NN的所述输出是否将被添加到所述一个或多个NN的输入。
示例方法可以进一步包括,其中所述媒体比特流或所述第一增强信息消息还包括规范化标志消息,并且其中所述规范化标志消息指示要被应用于被输入到所述一个或多个NN的所述一个或多个帧的规范化模式。
示例方法可以进一步包括,其中所述规范化标志消息包括要被使用的规范化值,以便对输入到所述一个或多个NN的所述一个或多个帧进行规范化。
示例方法还可以包括,其中媒体比特流或第一增强信息消息还包括规范化消息,并且其中规范化消息包括要使用的规范化值,以便规范化被输入到的一个或多个NN的一个或多个帧。
示例方法可以进一步包括,其中所述媒体包括视频、图像或音频中的至少一个。
又一示例方法包括:接收包括或识别一个或多个神经网络(NN)的独立可解析结构;接收本地或逻辑包括可独立解析结构的媒体比特流;通过使用独立可解析结构来获得一个或多个NN;以及通过使用所获得的一个或多个NN对媒体比特流中的一个或多个媒体帧进行解码。
又一示例方法包括:对包括一个或多个媒体帧和独立可解析结构的媒体比特流进行编码,该独立可解析结构包括或识别一个或多个神经网络(NN);将本地或逻辑包括可独立解析结构的媒体比特流用信号通知给解码器侧设备,其中通过使用可独立解析结构来获得一个或多个NN,并且其中通过使用所获得的一个或多个NN来对媒体比特流的一个或多个媒体帧进行解码。
示例方法还可以包括,其中媒体比特流包括网络抽象层(NAL)单元。
示例方法还可以包括,其中独立可解析结构包括非视频编码层(非VCL)NAL单元。
示例方法还可以包括,其中一个或多个神经网络包括一个或多个预定义NN,并且其中独立可解析结构识别出一个或多个NN包括一个或多个预定义NN,并且其中对媒体比特流的一个或多个媒体帧进行解码包括使用一个或多个预定义NN来对媒体比特流的一个或多个媒体帧进行解码。
示例方法还可以包括,其中一个或多个神经网络包括一个或多个预定义NN,并且其中独立可解析结构识别出一个或多个NN包括一个或多个预定义NN,并且其中一个或多个预定义NN被用于对媒体比特流的一个或多个媒体帧进行解码。
示例方法还可以包括更新一个或多个预定义NN并且使用所更新的一个或多个预定义NN来对媒体比特流的一个或多个媒体帧进行解码。
示例方法还可以包括更新一个或多个预定义NN,其中所更新的一个或多个预定义NN被用于对媒体比特流的一个或多个媒体帧进行解码。
示例方法还可以包括更新一个或多个NN并且使用所更新的NN来对媒体比特流的一个或多个媒体帧进行解码。
示例方法还可以包括更新一个或多个NN,并且其中所更新的NN被用于对媒体比特流的一个或多个媒体帧进行解码。
示例方法还可以包括,其中一个或多个参数集合包括独立可解析结构。
示例方法还可以包括为媒体比特流定义一个或多个自适应参数集合,其中一个或多个自适应参数集合包括独立可解析结构,并且其中自适应参数类型指示神经网络过滤。
示例方法还可以包括,其中一个或多个自适应参数集合包括一个或多个身份(ID),并且其中通过在切片标头或图片标头中用信号通知自适应参数集合的ID,ID使得能够使用在自适应参数集合中用信号通知的NN。
又一示例方法包括:对包括一个或多个媒体帧的媒体比特流进行编码;获得一个或多个神经网络(NN);对包括或识别一个或多个NN的独立可解析结构进行编码,其中媒体比特流本地或逻辑包括可独立解析结构;以及通过使用一个或多个神经网络来重建编码到媒体比特流中的一个或多个媒体帧。
该方法还可以包括使用重建的一个或多个媒体帧作为用于预测其他媒体帧的源。
一种示例装置包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,当计算机程序代码由至少一个处理器执行时使装置:接收包括一个或多个媒体单元和第一增强信息消息的媒体比特流,其中第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构包括关于要被应用于一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的的信息,以及第二独立可解析结构包括或识别一个或多个神经网络;对一个或多个媒体单元进行解码;以及基于至少一个目的,使用一个或多个神经网络来增强或过滤已解码的一个或多个媒体单元的一个或多个帧。
还可以使示例装置执行先前段落中描述的示例方法中的一个或多个。
另一个示例装置包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,当计算机程序代码由至少一个处理器执行时使装置:对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码,其中第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构包括关于要被应用于一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的的信息,以及第二独立可解析结构包括或识别一个或多个神经网络;将媒体比特流用信号通知给解码器侧设备,其中一个或多个神经网络旨在被用于针对至少一个目的来增强或过滤已解码的一个或多个媒体单元的一个或多个帧。
还可以使示例装置执行先前段落中描述的示例方法中的一个或多个。
又一示例装置包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,当计算机程序代码由至少一个处理器执行时使装置:接收包括或识别一个或多个神经网络(NN)的独立可解析结构;接收本地或逻辑包括可独立解析结构的媒体比特流;通过使用独立可解析结构来获得一个或多个神经网络;以及通过使用所获得的一个或多个神经网络对媒体比特流中的一个或多个媒体帧进行解码。
还可以使示例装置执行先前段落中描述的示例方法中的一个或多个。
又一示例装置包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,当计算机程序代码由至少一个处理器执行时使装置:对包括一个或多个媒体帧和独立可解析结构的媒体比特流进行编码,该独立可解析结构包括或识别一个或多个神经网络(NN);以及将本地或逻辑包括可独立解析结构的媒体比特流用信号通知给解码器侧设备,其中通过使用可独立解析结构来获得一个或多个NN,并且其中通过使用所获得的一个或多个NN来对媒体比特流的一个或多个媒体帧进行解码。
还可以使示例装置执行先前段落中描述的示例方法中的一个或多个。
又一示例装置包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,当计算机程序代码由至少一个处理器执行时使装置:对包括一个或多个媒体帧的媒体比特流进行编码;获得一个或多个神经网络(NN);对包括或识别一个或多个NN的独立可解析结构进行编码,其中媒体比特流本地或逻辑包括可独立解析结构;以及通过使用一个或多个神经网络来重建编码到媒体比特流中的一个或多个媒体帧。
还可以使得示例装置使用重建的一个或多个媒体帧作为用于预测其他媒体帧的源。
示例计算机可读介质包括用于执行至少以下操作的程序指令:对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码,其中第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构包括关于要被应用于一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的的信息,以及第二可独立解析结构包括或识别一个或多个神经网络;将媒体比特流用信号通知给解码器侧设备,其中一个或多个神经网络旨在被用于针对至少一个目的来增强或过滤已解码的一个或多个媒体单元的一个或多个帧。
示例计算机可读介质还可以包括,其中计算机可读介质包括非暂时性计算机可读介质。
另一个示例计算机可读介质包括用于执行至少以下操作的程序指令:接收包括或识别一个或多个神经网络(NN)的独立可解析结构;接收本地或逻辑包括可独立解析结构的媒体比特流;通过使用独立可解析结构来获得一个或多个神经网络;以及通过使用所获得的一个或多个神经网络对媒体比特流中的一个或多个媒体帧进行解码。
示例计算机可读介质还可以包括,其中计算机可读介质包括非暂时性计算机可读介质。
又一种计算机可读介质包括用于执行至少以下操作的程序指令:对包括一个或多个媒体帧和独立可解析结构的媒体比特流进行编码,该独立可解析结构包括或识别一个或多个神经网络(NN);以及将本地或逻辑包括可独立解析结构的媒体比特流用信号通知给解码器侧设备,其中通过使用可独立解析结构来获得一个或多个NN,并且其中通过使用所获得的一个或多个NN来对媒体比特流的一个或多个媒体帧进行解码。
示例计算机可读介质还可以包括,其中计算机可读介质包括非暂时性计算机可读介质。
附图说明
上述方面和其他特征在下面的描述中结合附图进行解释,其中:
图1示意性地示出了采用本文所描述的示例的实施例的电子设备。
图2示意性地示出了适合于采用本文所描述的示例的实施例的用户设备。
图3还示意性地示出了采用使用无线和有线网络连接来连接的本文所描述的示例的实施例的电子设备。
图4示意性地示出了一般级别上的编码器的框图。
图5是示出了根据本文所描述的示例的编码器和解码器之间的接口的框图。
图6图示了被配置为支持媒体数据从源到客户端设备的流式传输的系统。
图7是可以根据示例实施例来具体配置的装置的框图。
图8图示了根据实施例的机器的视频代码化(VCM)的流水线。
图9图示了根据实施例的端到端学习方法的示例。
图10图示了根据实施例的可以如何训练端到端学习系统的示例。
图11图示了NNR比特流的示例结构。
图12图示了根据实施例的在解码器侧设备处执行的用于增强媒体帧的操作的示例。
图13图示了根据实施例的基于规范式解码依赖性而获得的媒体比特流。
图14是根据实施例的被配置为在媒体比特流内用信号通知神经网络的示例装置。
图15是根据示例实施例的用于在媒体比特流内接收神经网络的示例方法。
图16是根据另一个示例实施例的在媒体比特流内用信号通知神经网络的另一个示例方法。
图17是可以在其中实践示例实施例的一种可能且非限制性系统的框图。
具体实施方式
可以在说明书和/或附图中找到的以下首字母缩略词和缩写词定义如下:
3GP 3GPP文件格式
3GPP 第三代合作伙伴项目
3GPP TS 3GPP技术规范
4CC 四字符代码
4G 第四代宽带蜂窝网络技术
5G 第五代蜂窝网络技术
5GC 5G核心网络
ACC 准确度
AI 人工智能
AIoT 启用AI的IoT
a.k.a 又称为
AMF 接入和移动性管理功能
AVC 高级视频代码化
CABAC 上下文自适应二进制算术代码化
CDMA 码分多址
CE 核心实验
CU 中央单元
DASH 通过HTTP的动态自适应流式传输
DCT 离散余弦变换
DSP 数字信号处理器
DU 分布式单元
eNB(或eNodeB) 演进节点B(例如,LTE基站)
EN-DC E-UTRA-NR双连接性
en-gNB或En-gNB 朝向UE提供NR用户平面和控制平面协议终止并充当EN-DC中
的辅助节点的节点
E-UTRA 演进通用地面无线电接入,例如LTE无线电接入技术
FDMA 频分多址
f(n) 使用n位(从左到右)写入的固定模式比特串,其中首先左比特。
F1或F1-C CU与DU控制接口之间的接口
gNB(或gNodeB) 用于5G/NR的基站,例如,朝向UE提供NR用户平面和控制平面
协议终止并经由到5GC的NG接口而被连接的节点
GSM 全球移动通信系统
H.222.0 MPEG-2系统的正式名称为ISO/IEC 13818-1和ITU-T版本H.2
22.0
H.26x ITU-T领域中的视频代码化标准系列
HLS 高级语法
IBC 内部块复制
ID 标识符
IEC 国际电工委员会
IEEE 电气和电子工程师协会
I/F 接口
IMD 集成消息收发设备
IMS 即时消息收发服务
IoT 物联网
IP 互联网协议
ISO 国际标准化组织
ISOBMFF ISO基础媒体文件格式
ITU 国际电信联盟
ITU-T ITU电信标准化部门
LTE 长期演进
LZMA Lempel-Ziv-Markov链压缩
LZMA2 可以包括未压缩数据和LZMA数据的简单容器格式
LZO Lempel-Ziv-Oberhumer压缩
LZW Lempel-Ziv-Welch压缩
MAC 媒体访问控制
Mdat 媒体数据框
MME 移动性管理实体
MMS 多媒体消息收发服务
Moov 电影盒
MP4 MPEG-4部分14文件的文件格式
MPEG 运动图像专家组
MPEG-2 由ITU定义的H.222/H.262
MPEG-4 ISO/IEC14496的音频与视频代码化标准
MSB 最高有效比特
NAL 网络抽象层
NDU NN压缩数据单元
ng或NG 新一代
ng-eNB或NG-eNB 新一代eNB
NN 神经网络
NNEF 神经网络交换格式
NNR 神经网络表示
NR 新无线电(5G无线电)
N/W或NW 网络
ONNX 开放神经网络交换
PB 协议缓冲器
PC 个人计算机
PDA 个人数字助理
PDCP 分组数据汇聚协议
PHY 物理层
PID 分组标识符
PLC 电力线通信
PSNR 峰值信噪比
RAM 随机存取存储器
RAN 无线电接入网络
RFC 请求评论
RFID 射频识别
RLC 无线电链路控制
RRC 无线电资源控制
RRH 远程无线电头端
RU 无线电单元
Rx 接收器
SDAP 服务数据适配协议
SGW 服务网关
SMF 会话管理功能
SMS 短消息收发服务
st(v) 编码为ISO/IEC10646中规定的UTF-8字符的空终止字符串
SVC 可扩展视频代码化
S1 eNodeB和EPC之间的接口
TCP-IP 传输控制协议-互联网协议
TDMA 时分多址
trak 轨迹盒
TS 传送流
TV 电视
Tx 发送器
UE 用户设备
ue(v) 无符号整数Exp-Golomb编码语法元素,首先左比特
UICC 通用集成电路卡
UMTS 通用移动电信系统
u(n) 使用n位的无符号整数
UPF 用户平面功能
URI 统一资源标识符
URL 统一资源定位器
UTF-8 8位Unicode变换格式
WLAN 无线局域网
X2 LTE网络中的两个eNodeB之间的互连接口
Xn 两个NG-RAN节点之间的接口
现在将在下文中参考附图更全面地描述一些实施例,在附图中示出了本发明的一些但不是全部实施例。事实上,本发明的各种实施例可以以许多不同的形式来体现,并且不应被解释为局限于本文所阐述的实施例;相反,提供这些实施例是为了使得本公开将满足适用的法律要求。相同的参考标号自始至终指代相同的元件。如本文中所使用的,术语“数据”、“内容”、“信息”和类似术语可以互换地被用来指代能够根据本发明的实施例传送、接收和/或存储的数据。因此,任何此类术语的使用不应被视为限制本发明实施例的精神和范围。
另外,如本文中所使用的,术语“电路系统”指的是(a)纯硬件电路实现(例如,模拟电路和/或数字电路中的实现);(b)电路和计算机程序产品的组合,包括存储在一个或多个计算机可读存储器上的软件和/或固件指令,它们一起工作以使装置执行本文所描述的一个或多个功能;(c)电路,诸如例如微处理器或微处理器的一部分,其需要软件或固件来操作,即使软件或固件物理上不存在。“电路系统”的这种定义适用于该术语在本文中的所有使用,包括在任何权利要求中的所有使用。作为又一示例,如本文中所使用的,术语“电路系统”还包括一种包括一个或多个处理器和/或其部分以及随附软件和/或固件的实现。作为另一个示例,本文中所使用的术语“电路系统”还包括例如用于移动电话的基带集成电路或应用处理器集成电路或者服务器、蜂窝网络设备、其他网络设备和/或其他计算设备中的类似集成电路。
如本文中所定义的,指的是非暂时性物理存储介质(例如,易失性或非易失性存储器设备)的“计算机可读存储介质”可以与指代电磁信号的“计算机可读传输介质”区分开来。
根据示例实施例提供了一种方法、装置和计算机程序产品,以便提供在媒体比特流内用信号通知神经网络。
下面描述根据实施例的用于在编码媒体比特流内用信号通知神经网络的合适装置和可能的机制。在这方面,首先对图1和图2进行参考,其中图1示出了装置50的示例框图。该装置可以是被配置为执行各种功能的物联网(IoT)装置,所述各种功能例如通过一个或多个传感器搜集信息、接收或传送信息、分析由该装置所搜集或接收的信息等等。该装置可以包括视频代码化系统,其可以合并了编解码器。图2示出了根据示例实施例的装置的布局。接下来将解释图1和图2的元件。
电子设备50可以例如是无线通信系统的移动终端或用户设备、传感器设备、标签或低功率设备。然而,应当了解,本文所描述的示例的实施例可以在可以通过神经网络处理数据的任何电子设备或装置内实现。
装置50可以包括用于合并并保护设备的外壳30。装置50还可以包括显示器32,例如以液晶显示器、发光二极管显示器、有机发光二极管显示器等等形式。在本文所描述的示例的其他实施例中,显示器可以是适合于显示媒体或多媒体内容(例如图像或视频)的任何合适的显示技术。装置50还可以包括键盘34。在本文所描述的示例的其他实施例中,可以采用任何合适的数据或用户接口机制。例如,用户接口可以被实现为作为触敏显示器的一部分的数据输入系统或虚拟键盘。
该装置可以包括麦克风36或任何合适的音频输入,其可以是数字或模拟信号输入。装置50还可以包括音频输出设备,在本文所描述的示例的实施例中,该音频输出设备可以是以下中的任何一个:听筒38、扬声器、或者模拟音频或数字音频输出连接。装置50还可以包括电池(或者在本文所描述的示例的其他实施例中,该设备可以由任何合适的移动能源设备供电,诸如太阳能电池、燃料电池或发条发电机)。该装置还可以包括能够记录或捕获图像和/或视频的相机。装置50还可以包括用于与其他设备进行短程视线通信的红外端口。在其他实施例中,装置50还可以包括任何合适的短程通信解决方案,诸如例如无线连接或USB/火线有线连接。
装置50可以包括控制器56、处理器或用于控制装置50的处理器电路系统。控制器56可以连接到存储器58,在本文所描述的示例的实施例中,存储器58可以以图像、音频数据、视频数据的形式存储数据和/或还可以存储用于在控制器56上实现的指令。控制器56还可以连接到编解码器电路系统54,该编解码器电路系统54适合于执行音频、图像和/或视频数据的代码化和/或解码或者协助由控制器执行的代码化和/或解码。
装置50还可以包括卡读取器48和智能卡46,例如UICC和UICC读取器,用于提供用户信息并且适合于提供用于在网络处对用户进行认证和授权的认证信息。
装置50可以包括无线电接口电路系统52,其连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或无线局域网进行通信的无线通信信号。装置50还可以包括连接到无线电接口电路系统52的天线44,用于将在无线电接口电路系统52处生成的射频信号传送到其他装置和/或用于从其他装置接收射频信号。
装置50可以包括能够记录或检测各个帧的相机42,然后将各个帧传递到编解码器54或控制器进行处理。该装置可以在传输和/或存储之前从另一设备接收视频图像数据以供处理。装置50还可以无线地或通过有线连接接收图像以进行代码化/解码。上述装置50的结构元件表示用于执行对应功能的部件的示例。
关于图3,示出了可以在其中利用本文所描述的示例的实施例的系统的示例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络的任意组合,包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA、LTE、4G、5G网络等等)、诸如由任何IEEE 802.x标准定义的无线局域网(WLAN)、个域网、以太网局域网、令牌环局域网、广域网和互联网。
系统10可以包括适合于实现本文所描述的示例的实施例的有线和无线通信设备和/或装置50。
例如,图3中所示的系统示出了移动电话网络11和互联网28的表示。到互联网28的连接性可以包括但不限于长距离无线连接、短距离无线连接以及各种有线连接,包括但不限于电话线、电缆线、电力线和类似的通信路径。
系统10中所示的示例通信设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)和移动电话14的组合、PDA 16、集成消息收发设备(IMD)18、台式计算机20、笔记本计算机22。装置50可以是固定的或者当由移动的个人携带时是移动的。装置50还可以位于运输模式中,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的合适的运输模式。
实施例还可以被实现在机顶盒中;例如,可能有/可能没有显示器或无线功能的数字电视接收器,在平板电脑或(笔记本电脑)个人计算机(PC)中,其具有处理神经网络数据的硬件和/或软件,在各种操作系统中,以及在芯片组、处理器、DSP和/或提供基于硬件/软件代码化的嵌入式系统中。
一些或另外的装置可以发送和接收呼叫和消息,并且通过到基站24的无线连接25来与服务提供通信。基站24可以连接到允许移动电话网络11和互联网28之间的通信的网络服务器26。该系统可以包括附加的通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-互联网协议(TCP-IP)、短消息收发服务(SMS)、多媒体消息收发服务(MMS)、电子邮件、即时消息收发服务(IMS)、IEEE 802.11、3GPP窄带IoT和任何类似的无线通信技术。参与实现本文所描述的示例的各种实施例的通信设备可以使用各种介质来进行通信,包括但不限于无线电、红外、激光、电缆连接和任何合适的连接。
在电信和数据网络中,信道可以指的是物理信道或逻辑信道。物理信道可以指的是诸如有线之类的物理传输介质,而逻辑信道可以指的是能够传达若干逻辑信道的复用介质上的逻辑连接。信道可以被用于从一个或多个发送器(或发送器)向一个或多个接收器传达信息信号,诸如比特流。
实施例还可以在所谓的物联网(IoT)设备中实现。例如,IoT可以被定义为现有互联网基础设施内唯一可识别的嵌入式计算设备的互连。各种技术的汇聚已经并且可能使得嵌入式系统的许多领域(诸如无线传感器网络、控制系统、家庭/楼宇自动化等)能够被纳入物联网(IoT)。为了利用互联网,IoT设备被提供有IP地址作为独特标识符。IoT设备可以被提供有无线电发送器,诸如WLAN或发送器或RFID标签。替代地,IoT设备可以经由有线网络访问基于IP的网络,诸如基于以太网的网络或电力线连接(PLC)。
图1至图3中描述的设备/系统可以被用于编码、解码和/或传送例如神经网络表示和/或媒体流。
ISO/IEC1 3818-1中或等效在ITU-T建议H.222.0中规定的MPEG-2传送流(TS)是用于在多路复用流中携带音频、视频和其他媒体以及编程元数据或其他元数据的格式。分组标识符(PID)被用来识别TS内的基本流(又称为分组化基本流)。因此,MPEG-2TS内的逻辑信道可以被认为对应于特定的PID值。
可用的媒体文件格式标准包括ISO基础媒体文件格式(ISO/IEC 14496-12,其可被缩写为ISOBMFF)和用于NAL单元结构化视频的文件格式(ISO/IEC 14496-15),其从ISOBMFF得出。
视频编解码器由将输入视频变换成适合于存储/传输的压缩表示的编码器和可以将压缩视频表示解压缩回可观看形式的解码器组成。视频编码器和/或视频解码器也可以彼此分离,例如不需要形成编解码器。通常,编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(例如以较低的比特率)表示视频。
典型的混合视频编码器,例如ITU-TH.263和H.264的许多编码器实现,在两个阶段中对视频信息进行编码。首先,例如通过运动补偿方式(查找并指示先前代码化的视频帧之一中与正在代码化的块紧密对应的区域)或通过空间方式(使用要以规定方式进行代码化的块周围的像素值)来预测某个图片区域(或“块”)中的像素值。其次,对预测误差(例如,预测像素块与原始像素块之间的差异)进行代码化。这通常是通过如下来完成的:使用规定的变换(例如,离散余弦变换(DCT)或其变体)来变换像素值的差异、对系数进行量化并对量化的系数进行熵代码化。通过改变量化过程的保真度,编码器可以控制像素表示的准确度(图像质量)和所得代码化视频表示的尺寸(文件尺寸或传输比特率)之间的平衡。
在时间预测中,预测源是先前解码的图片(又称为参考图片)。在帧内块复制(IBC;又称为块内复制预测和当前图片参考)中,预测与时间预测类似地被应用,但是参考图片是当前图片,并且在预测过程中只能参考先前解码的样本。可以类似于时间预测来应用层间或视图间预测,但是参考图片分别是来自另一可缩放层或来自另一视图的已解码图片。在一些情况下,帧间预测可以仅指时间预测,而在其他情况下,帧间预测可以统指帧内块复制、层间预测和视图间预测(只要它们以与时间预测的过程相同或类似的方式执行即可)中的任一个以及时间预测。帧间预测或时间预测有时可以被称为运动补偿或运动补偿预测。
帧间预测也可以被称为时间预测、运动补偿或运动补偿预测,其减少了时间冗余。在帧间预测中,预测源是先前解码的图片。帧内预测利用了同一图片内的相邻像素可能相关的事实。帧内预测可以在空间域或变换域中被执行,例如样本值或变换系数可以被预测。帧内预测通常用于帧内代码化,其中未应用帧间预测。
代码化过程的一个结果是诸如运动矢量和量化变换系数的代码化参数的集合。当首先从空间或时间相邻的参数预测许多参数时,可以更有效地对所述许多参数进行熵代码化。例如,可以根据空间相邻的运动矢量来预测运动矢量,并且可以仅对相对于运动矢量预测器的差异进行代码化。代码化参数的预测和帧内预测可以被统称为图片内预测。
图4示出了视频编码器的一般结构的框图。图4呈现了用于两层的编码器,但是应当了解,所呈现的编码器可以类似地进行扩展以编码多于两层。图4图示了视频编码器,其包括用于基础层的第一编码器部分500和用于增强层的第二编码器部分502。第一编码器部分500和第二编码器部分502中的每一个可以包括用于对传入图片进行编码的类似元件。编码器部分500、502可以包括像素预测器302、402、预测误差编码器303、403以及预测误差解码器304、404。图4还示出了像素预测器302、402的实施例,其包括帧间预测器306、406、帧内预测器308、408、模式选择器310、410、过滤器316、416以及参考帧存储器318、418。第一编码器部分500的像素预测器302接收将在帧间预测器306(其确定图像与运动补偿后的参考帧之间的差异)和帧内预测器308(其仅基于当前帧或图片的已处理部分来确定图像块的预测)两者处编码的视频流的基础层图像300。帧间预测器和帧内预测器两者的输出都被传递到模式选择器310。帧内预测器308可以具有多于一个帧内预测模式。因此,每个模式可以执行帧内预测并将预测信号提供给模式选择器310。模式选择器310还接收基础层图像300的副本。相应地,第二编码器部分502的像素预测器402接收将在帧间预测器406(其确定图像与运动补偿后的参考帧418之间的差异)和帧内预测器408(其仅基于当前帧或图片的已处理部分来确定图像块的预测)两者处编码的视频流的增强层图像400。帧间预测器和帧内预测器两者的输出都被传递到模式选择器410。帧内预测器408可以具有多于一个帧内预测模式。因此,每个模式可以执行帧内预测并将预测信号提供给模式选择器410。模式选择器410还接收增强层图片400的副本。
取决于选择哪种编码模式来对当前块进行编码,帧间预测器306、406的输出或者可选帧内预测器模式之一的输出或者模式选择器内的表面编码器的输出被传递到模式选择器310、410的输出。模式选择器310、410的输出被传递到第一求和设备321、421。第一求和设备可以从基础层图像300或增强层图像400中减去像素预测器302、402的输出,以产生被输入到预测误差编码器303、403的第一预测误差信号320、420。
像素预测器302、402还从初步重建器339、439接收图像块312、412的预测表示与预测误差解码器304、404的输出338、438的组合。初步重建图像314、414可以被传递到帧内预测器308、408以及过滤器316、416。接收初步表示的过滤器316、416可以对初步表示进行过滤并且输出可以被保存在参考帧存储器318、418中的最终重建图像340、440。参考帧存储器318可以连接到帧间预测器306以被用作在帧间预测操作中与未来基础层图像300进行对照的参考图像。根据一些实施例,在基础层被选择并被指示为增强层的层间样本预测和/或层间运动信息预测的源的前提下,参考帧存储器318还可以连接到帧间预测器406以被用作在帧间预测操作中与未来增强层图像400进行对照的参考图像。此外,参考帧存储器418可以连接到帧间预测器406以被用作在帧间预测操作中与未来增强层图像400进行对照的参考图像。
根据一些实施例,在基础层被选择并被指示为用于预测增强层的过滤参数的源的前提下,来自第一编码器部分500的过滤器316的过滤参数可以被提供给第二编码器部分502。
预测误差编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测误差信号320、420变换到变换域。该变换例如是DCT变换。量化器344、444对变换域信号(例如DCT系数)进行量化以形成量化系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出,并执行与预测误差编码器303、403相反的过程以产生解码的预测误差信号338、438,所述解码的预测误差信号338、438当在第二求和设备339、439处与图像块312、412的预测表示进行组合时,产生初步重建图像314、414。预测误差解码器可以被认为包括:去量化器346、446,其对量化系数值(例如,DCT系数)进行去量化,以对变换信号进行重建;以及逆变换单元348、448,其对重建的变换信号执行逆变换,其中逆变换单元348、448的输出包含重建块。预测误差解码器还可以包括块过滤器,其可以根据另外的解码信息和过滤器参数来对重建块进行过滤。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对信号执行适当的熵编码/可变长度编码以提供误差检测和校正功能。熵编码器330、430的输出可以例如由复用器508插入到比特流中。
图5是示出了根据本文所描述的示例的实现神经网络编码503的编码器501和实现神经网络解码505的解码器504之间的接口的框图。编码器501可以体现设备、软件方法或硬件电路。编码器501的目标是将输入数据511(例如,输入视频)压缩为压缩数据512(例如,比特流),使得比特率被最小化,并且分析或处理算法的准确度被最大化。为此,编码器501使用例如编码器或压缩算法来执行神经网络编码503。
一般分析或处理算法可以是解码器504的一部分。解码器504使用例如解码器或解压缩算法来执行神经网络解码505以对压缩数据512(例如,压缩视频)进行解码,所述压缩数据是由编码器501编码的。解码器504产生解压缩数据513(例如,重建数据)。
编码器501和解码器504可以是实现抽象的实体,可以是单独的实体或相同的实体,或者可以是相同物理设备的一部分。
分析/处理算法可以是传统的或从数据学习的任何算法。在从数据学习的算法的情况下,假设该算法可以例如通过使用经由梯度下降的优化而被修改或更新。学习算法的一个示例是神经网络。
示例实施例的方法和装置可以被用在各种各样的系统中,包括依赖于媒体数据以及可能还依赖于关联元数据的压缩和解压缩的系统。然而,在一个实施例中,该方法和装置被配置为压缩从源经由内容递送网络流式传输到客户端设备的媒体数据和关联元数据,在此时,被压缩的媒体数据和关联元数据被解压缩或以其他方式被处理。在这方面,图6描绘了包括媒体数据和关联元数据的源602的这种系统600的示例。在一个实施例中,源可以是服务器。然而,如果期望的话,源可以以其他方式被体现。源被配置为将媒体数据和关联元数据流式传输到客户端设备604。客户端设备可以由以下来体现:媒体播放器、多媒体系统、视频系统、智能电话、移动电话或其他用户设备、个人计算机、平板计算机或被配置为接收和解压缩媒体数据并处理关联元数据的任何其他计算设备。在所图示的实施例中,媒体数据盒和元数据盒经由网络606(诸如多种类型的无线网络和/或有线网络中的任一种)而被流式传输。客户端设备被配置为接收包含媒体、元数据以及包含媒体和元数据的信息的任何其他相关表示的结构化信息,并且对媒体数据进行解压缩并处理关联元数据(例如,用于解压缩的媒体数据的正确回放定时)。
根据如图7中所示的示例实施例提供了装置700。在一个实施例中,图7的装置可以由诸如文件写入器之类的源602来体现,所述文件写入器继而可以由服务器来体现,该服务器被配置为流式传输媒体数据和关联元数据的压缩表示。在替代实施例中,该装置可以由诸如文件读取器之类的客户端设备604来实现,其可以由例如上述各种计算设备中的任何一个来实现。在这些实施例的任一个中并且如图7中所示,示例实施例的装置包括处理电路系统702、一个或多个存储器设备704、通信接口706以及可选的用户接口、与处理电路系统702、一个或多个存储器设备704、通信接口706相关联或与其通信。
处理电路系统702可以经由总线来与存储器设备704通信,用于在装置700的组件之间传递信息。存储器设备可以是非暂时性的并且可以包括例如一个或多个易失性和/或或非易失性存储器。换句话说,例如,存储器设备可以是电子存储设备(例如,计算机可读存储介质),其包括被配置为存储可由机器(例如,如处理电路系统之类的计算设备)检索的数据(例如,位)的门。存储器设备可以被配置为存储信息、数据、内容、应用、指令等,以使得装置能够执行根据本公开的示例实施例的各种功能。例如,存储器设备可以被配置为缓冲用于由处理电路系统处理的输入数据。附加地或替代地,存储器设备可以被配置为存储用于由处理电路系统执行的指令。
在一些实施例中,装置700可以被体现在如上所述的各种计算设备中。然而,在一些实施例中,该装置可以被实现为芯片或芯片组。换句话说,该装置可以包括一个或多个物理封装(例如,芯片),其包括结构组装(例如,基板)上的材料、组件和/或电线。结构组装可以为其上所包括的组件电路系统提供物理强度、尺寸保存和/或电相互作用限制。因此,在一些情况下,该装置可以被配置为在单个芯片上或者作为单个“片上系统”来实现本公开的实施例。如此,在一些情况下,芯片或芯片组可以构成用于执行用于提供本文所描述的功能性的一个或多个操作的部件。
处理电路系统702可以以多种不同的方式来实现。例如,处理电路系统可以被实现为各种硬件处理部件中的一种或多种,诸如协处理器、微处理器、控制器、数字信号处理器(DSP)、具有或不具有伴随DSP的处理元件、或各种其他电路系统,包括集成电路,诸如例如ASIC(专用集成电路)、FPGA(现场可编程门阵列)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等。如此,在一些实施例中,处理电路系统可以包括被配置为独立执行的一个或多个处理核心。多核处理电路系统可以在单个物理封装内实现多重处理。附加地或替代地,处理电路系统可以包括经由总线串联配置的一个或多个处理器,以实现指令、流水线和/或多线程的独立执行。
在示例实施例中,处理电路系统702可以被配置为执行存储在存储器设备704中或者处理电路系统以其他方式可访问的指令。替代地或附加地,处理电路系统可以被配置为执行硬代码化功能性。如此,无论是通过硬件或软件方法来配置,还是通过其组合来配置,处理电路系统都可以表示在相应地进行配置时能够执行根据本公开的实施例的操作的实体(例如,被物理地体现在电路系统中)。因此,例如,当处理电路系统被实现为ASIC、FPGA等时,处理电路系统可以是被专门配置用于实施本文所描述的操作的硬件。替代地,作为另一个示例,当处理电路系统被体现为指令的执行器时,指令可以具体配置处理电路系统以在指令被执行时执行本文所描述的算法和/或操作。然而,在一些情况下,处理电路系统可以是特定设备(例如,图像或视频处理系统)的处理器,其被配置为通过用于执行本文所描述的算法和/或操作的指令对处理电路系统的进一步配置来采用本发明的实施例。处理电路可以包括被配置为支持处理电路系统的操作的时钟、算术逻辑单元(ALU)和逻辑门等。
通信接口706可以是任何部件,诸如以硬件或硬件和软件的组合来体现的设备或电路系统,其被配置为接收和/或传送包括视频比特流的数据。就这一点而言,通信接口可以包括例如天线(或多个天线)以及用于实现与无线通信网络的通信的支持硬件和/或软件。附加地或替代地,通信接口可以包括用于与天线进行交互以引起经由天线的信号的传输或处置经由天线接收的信号的接收的电路系统。在一些环境中,通信接口可以替代地或者还支持有线通信。如此,例如,通信接口可以包括通信调制解调器和/或用于支持经由电缆、数字用户线(DSL)、通用串行总线(USB)或其他机制的通信的其他硬件/软件。
在一些实施例中,装置700可以可选地包括用户接口,该用户接口进而又可以与处理电路系统702通信以向用户提供输出,诸如通过输出编码视频比特流,并且在一些实施例中,接收用户输入的指示。如此,用户接口可以包括显示器,并且在一些实施例中,还可以包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其他输入/输出机制。替代地或附加地,处理电路系统可以包括用户接口电路系统,其被配置为控制一个或多个用户接口元件的至少一些功能,诸如显示器,以及在一些实施例中的扬声器、振铃器、麦克风等等。处理电路系统和/或包括处理电路系统的用户接口电路系统可以被配置为通过存储在处理电路系统可访问的存储器(例如,存储器设备等等)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口元件的一种或多种功能。
神经网络的基础
神经网络(NN)是由若干计算层组成的计算图。每一层由一个或多个单元组成,其中每个单元都执行计算。一个单元连接到一个或多个其他单元,并且连接可以与权重相关联。权重可以被用于缩放通过相关联的连接而传递的信号。权重是可学习的参数,例如可以从训练数据中学习的值。可能还有其他可学习的参数,诸如批量规范化层的参数。
神经网络的架构的几个示例是前馈和循环架构。前馈神经网络是以下这样的以至于没有反馈循环:每一层都从先前层中的一个或多个获取输入,并将其输出提供作为后续层中的一个或多个的输入。此外,某一层内部的单元从前面层中的一个或多个中的单元获取输入,并向后面层中的一个或多个提供输出。
初始层,接近输入数据的那些层,提取语义上的低级特征,例如图像中的边缘和纹理,并且中间层和最终层提取更高级的特征。在特征提取层之后,可能有一个或多个层执行某个任务,例如分类、语义分割、对象检测、去噪、风格转变、超分辨率等等。在循环神经网络中,存在反馈循环,使得神经网络变得有状态,例如,它能够记忆信息或状态。
神经网络正被用于许多不同类型的设备的数量不断增加的应用中,所述设备例如,移动电话、聊天机器人、IoT设备、智能汽车、语音助手等等。这些应用中的一些包括但不限于图像和视频分析和处理、社交媒体数据分析、设备使用数据分析等等。
神经网络和其他机器学习工具的属性之一是它们能够以有监督的方式或无监督的方式从输入数据学习属性。这种学习是训练算法或提供训练信号的元级神经网络的结果。
一般而言,训练算法包括改变神经网络的一些属性,使得其输出尽可能靠近期望输出。例如,在对图像中的对象进行分类的情况下,神经网络的输出可以被用来得出指示输入图像中的对象所属的类别或种别的类别或种别索引。训练通常是通过最小化或减少也称为损失的输出误差来进行的。损失的示例是均方误差、交叉熵等等。在最近的深度学习技术中,训练是一个迭代过程,其中算法在每次迭代时都会修改神经网络的权重,以对网络的输出进行逐步改进,例如逐渐减少损失。
训练神经网络是一个优化过程,但是最终目标不同于典型的优化目标。在优化中,唯一的目标是将函数最小化。在机器学习中,优化或训练过程的目标是使模型从有限训练数据集中学习数据分布的属性。换句话说,目标是学习使用有限训练数据集,以便学习泛化到以前未见过的数据,例如未被用于对模型进行训练的数据。这通常被称为泛化。在实践中,数据通常被拆分为至少两个集合:训练集合和验证集合。训练集合被用于对网络进行训练,例如修改其可学习参数以便将损失最小化。作为模型最终性能的指示,验证集合被用于检查网络在数据上的性能,所述验证集合不被用于将损失最小化。特别地,在训练过程期间监视训练集合和验证集合上的误差,以了解以下内容:
–当网络正在学习时–在这种情况下,训练集合误差应该减少,否则模型处于欠拟合机制。
–当网络正在学习泛化时–在这种情况下,验证集合误差也需要减少,并且不会比训练集合误差高太多。例如,验证集合误差应比训练集合误差高出20%以下。如果训练集合误差较低,例如其训练开始时的值的10%,或者相对于已基于评估指标所确定的阈值,但是验证集合误差远高于训练集合误差,或者它没有减少,或者它甚至增大,则模型处于过拟合机制。这意味着模型刚刚记住了训练的属性,并且仅在该集合上执行良好,但是在未被用于训练或调整其参数的集合上执行不佳。
最近,神经网络已被用于压缩和解压缩诸如图像之类的数据。此类任务最广泛使用的架构是自动编码器,它是一个由两部分组成的神经网络:神经编码器和神经解码器。在各种实施例中,这些神经编码器和神经解码器将被称为编码器和解码器,即使它们指的是从数据学习而不是手动调整的算法。编码器将图像取为输入并产生代码来表示输入图像,该代码比输入图像需要更少的比特。可以通过在编码器之后的二值化或量化处理来获得该代码。解码器接收该代码并重建被输入到编码器的图像。
这样的编码器和解码器通常被训练以将比特率和失真的组合最小化,其中失真通常是均方误差(MSE)、峰值信噪比(PSNR)、结构相似性(SSIM)指数或类似指标。这些失真指标意味着与人类视觉感知质量成反比。
在各种实施例中,术语“模型”、“神经网络”、“神经网”和“网络”可以互换使用,并且神经网络的权重有时可以还被称为可学习参数或被称为参数。
视频/图像代码化的基础
视频编解码器由将输入视频变换成适合于存储/传输的压缩表示的编码器和可以将压缩视频表示解压缩回可观看形式的解码器组成。通常,编码器会丢弃原始视频序列中的一些信息,以便以更紧凑的形式(例如以较低的比特率)表示视频。
典型的混合视频编解码器,例如ITU-T H.263和H.264,在两个阶段中对视频信息进行编码。首先,预测某个图片区域(或“块”)中的像素值。在一个示例中,可以通过利用运动补偿算法来预测像素值。该预测技术包括寻找并指示先前代码化的视频帧之一中与正在代码化的块紧密对应的区域。
在其他示例中,可以通过使用空间预测技术来预测像素值。该预测技术使用要以规定方式代码化的块周围的像素值。其次,对预测误差(例如,预测像素块与原始像素块之间的差异)进行代码化。这通常是通过如下来完成的:使用规定的变换(例如,离散余弦变换(DCT)或其变体)来变换像素值的差异;对系数进行量化;并且对量化系数进行熵代码化。通过改变量化过程的保真度,编码器可以控制像素表示的准确度(例如,图片质量)和所得代码化视频表示的尺寸(例如,文件尺寸或传输比特率)之间的平衡。
也可以被称为时间预测、运动补偿或运动补偿预测的帧间预测利用时间冗余。在帧间预测中,预测源是先前解码的图片。
帧内预测利用了同一图片内的相邻像素可能相关的事实。帧内预测可以在空间域或变换域中被执行,例如样本值或变换系数可以被预测。帧内预测通常用于帧内代码化,其中未应用帧间预测。
代码化过程的一个结果是代码化参数(诸如运动矢量和量化变换系数)的集合。当首先从空间或时间相邻参数预测许多参数时,可以更有效地对所述许多参数进行熵代码化。例如,可以根据空间相邻的运动矢量来预测运动矢量,并且可以仅对相对于运动矢量预测器的差异进行代码化。代码化参数的预测和帧内预测可以被统称为图片内预测。
解码器通过应用与编码器类似的预测技术以形成像素块的预测表示来重建输出视频。例如,使用由编码器创建并以压缩表示存储的运动或空间信息和作为预测误差代码化的逆操作的预测误差解码,在空间像素域中恢复量化的预测误差信号。在应用预测和预测误差解码技术之后,解码器将预测和预测误差信号(例如像素值)相加以形成输出视频帧。解码器和编码器在将输出视频传递以用于显示和/或将所述输出视频存储为视频序列中即将到来的帧的预测参考之前,还可以应用附加的过滤技术来提高所述输出视频的质量。
在典型的视频编解码器中,运动信息用与每个运动补偿图像块相关联的运动矢量来指示。这些运动矢量中的每一个表示要在编码器侧代码化或在解码器侧解码的图片中的图像块与先前代码化或解码的图片之一中的预测源块的位移。
为了有效地表示运动矢量,通常相对于块特定的预测运动矢量对运动矢量进行差分代码化。在典型的视频编解码器中,以预定义的方式创建预测运动矢量,例如计算相邻块的编码或解码运动矢量的中值。
创建运动矢量预测的另一种方式是根据时间参考图片中的相邻块和/或共处块(co-located block)来生成候选预测列表,并且用信号通知所选择的候选作为运动矢量预测器。除了预测运动矢量值之外,还可以预测先前代码化/解码的图片的参考索引。参考索引通常是根据时间参考图片中的相邻块和/或共处块来预测的。
此外,典型的高效视频编解码器采用附加的运动信息代码化/解码机制,通常被称为合并的模式/合并模式,其中预测和使用所有运动场信息而无需任何修改/校正,所述运动场信息包括每个可用参考图片列表的运动矢量和对应的参考图片索引。类似地,使用时间参考图片中的相邻块和/或共处块的运动场信息来执行预测运动场信息,并且在填充有可用相邻块/共处块的运动场信息的运动场候选列表的列表中用信号通知所使用的运动场信息。
在典型的视频编解码器中,在运动补偿之后的预测残差首先利用变换内核(例如DCT)进行变换,然后进行代码化。其原因是残差之间常常仍然存在一些相关性,并且变换在许多情况下可以帮助减少这种相关性并提供更有效的代码化。
典型的视频编码器利用拉格朗日成本函数来寻找最优代码化模式,例如期望的宏块模式和相关联的运动矢量。这种成本函数使用权重因子λ将由于有损代码化方法导致的确切或估计的图像失真以及表示图像区域中的像素值所需的确切或估计的信息量联系在一起:
C=D+λR------等式1
在等式1中,C是要被最小化的拉格朗日成本,D是图像失真,例如考虑模式和运动矢量的均方误差,并且R是包括表示候选运动矢量的数据量的、表示在解码器中重建图像块的所需数据所需的比特数。
分别用于视频编码器的输出和视频解码器的输入的基本单元可以是网络抽象层(NAL)单元。为了通过面向分组的网络进行传送或存储到结构化文件中,NAL单元可以被封装到分组或类似的结构中。封装NAL单元的字节流格式可以被用于不提供成帧结构的传输或存储环境。字节流格式可以通过在每个NAL单元的前面附接起始代码来将NAL单元彼此分开。为了避免NAL单元边界的错误检测,编码器可以运行面向字节的起始代码仿真预防算法,如果起始代码已经发生,则该算法可以将仿真预防字节添加到NAL单元有效负载。为了实现面向分组和面向流的系统之间的直接网关操作,可以执行起始代码仿真预防,而不管是否使用字节流格式。NAL单元可以被定义为语法结构,该语法结构包含要遵循的数据类型的指示以及包含原始字节序列有效负载形式的数据的字节,所述原始字节序列有效负载必要时散布有仿真预防字节。原始字节序列有效负载(RBSP)可以被定义为包含封装在NAL单元中的整数个字节的语法结构。RBSP要么是空的,要么具有包含语法元素的数据比特串的形式,后面跟着RBSP停止比特以及后面跟着零个或更多个等于0的后续比特。
在一些代码化标准中,NAL单元由标头和有效负载组成。NAL单元标头指示NAL单元的类型。在一些代码化标准中,NAL单元标头指示可缩放性层标识符(例如,在H.265/HEVC和H.266/VVC中被称为nuh_layer_id),所述可缩放性层标识符可以例如被用于指示空间或质量层、多视图视频的视图或辅助层(诸如深度图或alpha平面)。在一些代码化标准中,NAL单元标头包括时间子层标识符,所述时间子层标识符可以被用于指示比特流的时间子集,诸如每秒60帧比特流的每秒30帧子集。
NAL单元可以被归类为视频代码化层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元通常是代码化的切片NAL单元。
非VCL NAL单元例如可以是以下类型之一:视频参数集合(VPS)、序列参数集合(SPS)、图片参数集合(PPS)、自适应参数集合(APS)、补充增强信息(SEI)NAL单元、访问单元定界符、序列结束NAL单元、比特流结束NAL单元或填充符数据NAL单元。已解码图片的重建可能需要参数集合,而已解码样本值的重建不需要许多其他非VCL NAL单元。
一些代码化格式规定可以携带解码或已解码图片的重建所需的参数值的参数集合。参数可以被定义为参数集合的语法元素。参数集合可以被定义为语法结构,所述语法结构包含参数并且可以例如使用标识符从另一语法结构指涉或由另一语法结构激活。
下面简要描述一些类型的参数集合,但是需要理解的是,可以存在其他类型的参数集合并且实施例可以被应用但不限于所描述的参数集合类型。
在代码化视频序列中保持不变的参数可以被包括在序列参数集合中。替代地,SPS可以限于应用于引用SPS的层,例如,SPS对于代码化的层视频序列可以保持有效。除了解码过程可能需要的参数之外,序列参数集合可以可选地包含视频可用性信息(VUI),其包括对于缓冲、图片输出定时、渲染和资源预留可能是重要的参数。
图片参数集合包含可能在若干代码化图片中不变的这种参数。图片参数集合可以包括可以由一个或多个代码化图片的VCL NAL单元指涉的参数。
视频参数集合(VPS)可以被定义为包含应用于零个或更多个完整代码化视频序列的语法元素的语法结构,并且可以包含应用于多个层的参数。VPS可以提供关于比特流中层的依赖关系的信息,以及适用于跨整个代码化视频序列中的所有层的所有切片的许多其他信息。
视频参数集合RBSP可以包括可以由一个或多个序列参数集合RBSP指涉的参数。
VPS、SPS和PPS之间的关系和层次结构可以描述如下。在参数集合层次结构以及可缩放性场境中,VPS驻留在SPS上方的一级。VPS可以包括对于跨整个代码化视频序列中的所有层的所有切片来说是公共的参数。SPS包括对于整个代码化视频序列中的特定层中的所有切片来说是公共的参数并且可以由多个层共享。PPS包括对于特定图片中的所有切片来说是公共的并且可能由多个图片中的所有切片共享的参数。
APS可以以诸如H.266/VVC的一些代码化格式来规定。可以允许APS应用于一个或多个图像分段,诸如切片。在H.266/VVC中,APS可以被定义为包含应用于如由在切片标头或图片标头中存在的零个或更多个语法元素所确定的、零个或更多个切片的语法元素的语法结构。APS可以包括类型(H.266/VVC中的aps_params_type)和标识符(H.266/VVC中的aps_adaptation_parameter_set_id)。APS类型和APS标识符的组合可以被用来识别特定APS。H.266/VVC包括三种APS类型:自适应环路过滤(ALF)、带色度缩放的亮度映射(LMCS)和缩放列表APS类型。ALF APS是从切片标头引用的(因此,引用的ALF APS可以逐切片改变),并且LMCS和缩放列表APS是从图片标头引用的(因此,引用的LMCS和缩放列表APS可以逐图片改变)。在H.266/VVC中,APS RBSP具有以下语法:
比特流中可以允许参数集合的许多实例,并且每个实例用独特标识符来识别。为了限制参数集合所需的存储器使用,已对参数集合标识符的值范围进行了限制。每个切片标头(在HEVC中)或每个图片标头(在VVC中)分别包括对于包含该切片的图片或该图片解码有效的图片参数集合的标识符,并且每个图片参数集合包含有效序列参数集合的标识符。因此,图片和序列参数集合的传输不必与切片的传输准确地同步。相反,在引用有效序列和图片参数集合之前的任何时刻接收所述有效序列和图片参数集合就足够了,与用于切片数据的协议相比,这允许使用更可靠传输机制的参数集合的传输“带外”。例如,参数集合可以作为参数被包括在实时传送协议(RTP)会话的会话描述中。当参数集合在带内传输时,可以重复它们以提高误差鲁棒性。
带外传输、信令或存储可以附加地或替代地被用于除了对于传输误差的容限之外的其他目的,诸如易于访问或会话协商。例如,符合ISO基础媒体文件格式的文件中的轨道的样本条目可以包括参数集合,而比特流中的代码化的数据被存储在该文件中的其他地方或另一个文件中。
参数集合可以通过来自切片、图片标头或者来自另一个有效的或引用的参数集合或者在一些情况下来自另一个语法结构的引入(对其标识符的引用)来激活或引用。
视频代码化规范可以使得能够使用补充增强信息(SEI)消息等。一些视频代码化规范包括SEI NAL单元,并且一些视频代码化规范既包含前缀SEI NAL单元又包含后缀SEINAL单元。前缀SEI NAL单元可以开始图片单元等;并且后缀SEI NAL单元可以结束图片单元等。此后,SEI NAL单元可以等效地指代前缀SEI NAL单元或后缀SEI NAL单元。SEI NAL单元包括一个或多个SEI消息,这些消息对于输出图片的解码而言不是必需的,但是可以协助相关处理,诸如图片输出定时、已解码图片的后处理、渲染、误差检测、误差隐藏和资源预留。
SEI NAL单元的语法可以被规定如下:
SEI消息的语法可以被规定如下:
变量payloadType(有效负载类型)可以指示SEI消息的类型,并且变量payloadSize(有效负载尺寸)可以指示SEI消息有效负载,例如sei_payload(),中的字节数。sei_payload()的语法和语义可以取决于payloadType。
H.264/AVC、H.265/HEVC、H.266/VVC和H.274/VSEI标准中规定了若干SEI消息,并且用户数据SEI消息使得组织和公司能够为具体用途而规定SEI消息。标准可能包含针对规定SEI消息的语法和语义,但是可能未定义用于在接收方中处置消息的过程。因此,编码器在它们创建SEI消息时可能需要遵循规定SEI消息的标准,并且解码器可能不需要为了输出顺序一致性而处理SEI消息。将SEI消息的语法和语义纳入标准的原因之一是允许不同的系统规范以相同的方式解释补充信息,从而互操作。意图是,系统规范可以要求在编码端中和在解码端中使用特定SEI消息,并且另外可以规定用于在接收方中处置特定SEI消息的过程。
已针对SEI消息规范遵循的设计原则:SEI消息在标准的未来修正或版本中通常不被扩展。
H.265/HEVC标准中已经规定了SEI前缀指示SEI消息。SEI前缀指示SEI消息携带针对SEI有效负载类型(payloadType)的特定值的SEI消息的一个或多个SEI前缀指示。每个SEI前缀指示是一个比特串,所述一个比特串遵循payloadType的这个值的SEI有效负载语法,并且包含从SEI有效负载中的第一个语法元素开始的数个完整语法元素。
针对payloadType的特定值的SEI消息的每个SEI前缀指示指示payloadType的这个值的一个或多个SEI消息被预期或可能出现在代码化视频序列(CVS)中并且以所提供的比特串开始。开始比特串通常仅包含由payloadType所指示的SEI消息类型的SEI有效负载的真实子集,可以包含完整的SEI有效负载,并且不得包含超过一个完整的SEI有效负载。不禁止不以任何指示的比特串开始的payloadType的指示值的SEI消息存在。
SEI前缀指示应当提供足够的信息来指示需要什么类型的处理或者包括什么类型的内容。前者(处理类型)指示解码器侧处理能力,例如是否需要某种类型的帧解包。后者(内容类型)指示例如比特流是否包含特定语言的字幕。
SEI前缀指示SEI消息的内容可以例如由传送层或系统层处理元件使用,以基于接收系统是否可以正确处理CVS以实现足够的用户体验或者CVS是否满足应用需求来确定CVS是否适合传送到接收和解码系统。
短语沿着比特流(例如,指示沿着比特流)或沿着比特流的代码化单元(例如,指示沿着代码化区块)可以在权利要求和所描述的实施例中被用来指代以下方式的传输、信令或存储:“带外”数据分别与比特流或代码化单元相关联、但是不被包括在所述比特流或代码化单元内。短语沿着比特流或沿着比特流的代码化单元等解码可以指代对分别与比特流或代码化单元相关联的所涉及的带外数据(其可以从带外传输、信令或存储获得)进行解码。例如,当比特流被包含在容器文件(诸如符合ISO基础媒体文件格式的文件)中并且某些文件元数据以将元数据与比特流相关联的方式被存储在文件中(诸如包含比特流的轨道的样本条目中的框、包含比特流的轨道的样本群组、或者与包含比特流的轨道相关联的定时元数据轨道)时,可以使用短语沿着比特流。在另一个示例中,当使比特流作为通信协议上的流可用并且提供诸如流式传输清单之类的媒体描述来描述该流时,可以使用短语沿着比特流。
当语法结构沿着比特流被传送但是根据比特流格式可能被包括在比特流中时,比特流可以被定义为在逻辑上包括诸如NAL单元之类的语法结构。当比特流包括语法结构时,比特流可以被定义为原生地包括语法结构。
容器结构内的可独立解析结构可以被定义为这样的结构,其可以被解析或解码而无需完全解析或解码同一容器结构中的较早结构或语法元素。例如,SEI NAL单元内的SEI消息是可独立解析的,因为可以通过求解payloadSize并跳过payloadSize所指示的字节数来跳过对同一SEI NAL单元中的任何较早的SEI消息的解析。可独立解析结构的另一个示例是容器结构内的预定义比特位置处的语法结构。实现可独立解析结构的又一方式是将可独立解析结构的位置偏移包括到容器结构中,其中可独立解析结构的比特位置可从位置偏移中的一个或多个得出。
视频编解码器中的过滤器
传统的图像和视频编解码器使用过滤器集合来增强预测的视觉内容的视觉质量,并且可以被应用于环内或环外或两者。在环内过滤器的情况下,被应用于当前编码帧中的一个块的过滤器可能影响同一帧中的和/或从当前帧预测的另一帧中的另一块的编码。环内过滤器会影响比特率和/或视觉质量。增强块可以导致原始块与预测且过滤块之间的残差更小,从而在编码器输出的比特流中使用更少比特。环外过滤器可以在帧已经被重建之后被应用到帧上,过滤后的视觉内容可能不是预测的源,并且因此它可能仅影响由解码器输出的帧的视觉质量。
用于机器的视频代码化(VCM)
减少图像和视频压缩中的失真通常旨在提高人类感知质量,因为人类被认为是最终用户,例如,消费或观看已解码的图像或视频。近年来,随着机器学习,尤其是深度学习的出现,存在越来越多的独立于人类而分析数据,并且甚至可以在没有人类干预的情况下基于分析结果做出决策的机器(例如自主智能体)。这种分析的示例是对象检测、场景分类、语义分割、视频事件检测、异常检测、行人跟踪等等。示例用例和应用包括自动驾驶汽车、视频监控摄像头和公共安全、智能传感器网络、智能电视和智能广告、人员重新识别、智能交通监控、无人机等等。因此,当已解码数据被机器消费时,可以定义已解码数据的质量指标,所述已解码数据的质量指标当考虑机器间通信中的媒体压缩时,不同于人类感知质量的质量指标。此外,用于压缩和解压缩供机器消费的数据的专用算法可能与用于压缩和解压缩供人类消费的数据的专用算法不同。用于压缩和解压缩数据以供机器消费的工具和概念集合在这里被称为用于机器的视频代码化。
接收器侧设备很可能具有多个‘机器’或神经网络(NN)。这些多个机器可以按某种组合来使用,该组合例如由协调器子系统确定。例如,可以基于先前使用的机器的输出按时间顺序和/或并行地使用多个机器。例如,压缩然后解压缩的视频可以由一个机器(NN)分析以用于检测行人,由另一个机器(另一个NN)分析以用于检测汽车,并由另一个机器(另一个NN)分析以用于估计帧中的对象的深度。
在各种实施例中,机器和神经网络可以互换地提及,并且可以意指包括分析或处理针对特定任务的数据的任何过程或算法(例如,从数据中学习的或不从数据中学习)。以下段落可以进一步详细规定关于本发明的各种实施例中所考虑的机器所做出的其他假设。
此外,术语‘接收器侧’或‘解码器侧’指的是包含一个或多个机器、电路或算法的物理或抽象实体或设备;并在一些编码和最终解码的视频表示上运行这些一个或多个机器,该视频表示由另一个物理或抽象实体或设备(例如‘编码器侧设备’)编码。
编码的视频数据可以被存储到存储器设备中,例如作为文件。存储的文件稍后可以被提供给另一个设备。
替代地,编码视频数据可以从一个设备流式传输到另一设备。
图8图示了根据实施例的用于机器的视频代码化(VCM)的流水线。VCM编码器802将输入视频编码为比特流804。可以根据比特流804计算808比特率806,以便评估比特流804的尺寸。VCM解码器810对VCM编码器802输出的比特流804进行解码。VCM解码器810的输出可以被称为例如用于机器812的解码数据。该数据可以被认为是解码或重建的视频。然而,在VCM的流水线的一些实现中,用于机器812的解码数据可能不具有与输入到VCM编码器802的原始视频相同或相似的特性。例如,通过简单地将数据渲染在屏幕上,该数据可能不能容易被人类理解。然后,VCM解码器810的输出被输入到一个或多个任务神经网络(任务NN)。为了说明的目的,图8被示出为包括三个示例任务NN:用于对象检测的任务NN 814、用于图像分割的任务816、用于对象跟踪的任务818、以及用于执行任务X的非规定任务NN 820。VCM的目标是获得低比特率,同时保证任务NN在与每个任务相关联的评估指标方面仍然执行良好。
实现用于机器的视频代码化的可能方法之一是端到端学习方法。图9图示了根据实施例的端到端学习方法的示例。在该方法中,VCM编码器902和VCM解码器904主要由神经网络组成。视频被输入到神经网络编码器906。神经网络编码器906的输出被输入到无损编码器908,诸如算术编码器,其输出比特流910。无损编解码器在无损编码器908和无损解码器914中可以是概率模型912,所述概率模型912预测下一个要被编码和解码的符号的概率。概率模型912也可以是学习的,例如它可以是神经网络。在解码器侧,比特流910被输入到诸如算术解码器的无损解码器914,所述无损解码器914的输出被输入到神经网络解码器916。神经网络解码器916的输出是用于机器918的解码数据,所述解码数据可以被输入到一个或多个任务NN,用于对象检测的任务NN 920、用于图像分割的任务922、用于对象跟踪的任务924,以及一个非规定任务,用于执行任务X的任务NN 926。
图10图示了根据实施例的可以如何训练端到端学习系统的示例。为了简单起见,本实施例借助一个任务-NN来解释。然而,可以理解的是,在训练过程中可以类似地使用多个任务NN。可以根据概率模型1006的输出来计算1004速率损失1002。速率损失1002提供例如由神经网络编码器1008对输入视频数据进行编码所需的比特率的近似。任务损失1010可以根据任务NN 1016的任务输出1014来计算1012。
速率损失1002和任务损失1010然后可以被用来训练1018系统中使用的神经网络,诸如神经网络编码器1008、概率模型、神经网络解码器1022。训练可以通过以下来执行:首先计算每个损失相对于贡献或影响该损失的计算的神经网络的梯度。然后,诸如Adam的优化方法使用梯度来更新神经网络的可训练参数。
实现用于机器的视频代码化的另一种可能的方法是使用主要基于更常规组件的视频编解码器,所述更常规组件不是通过机器学习手段获得或得出的组件。例如,可以使用H.266/VVC编解码器。然而,这种编解码器的一些组件仍然可以通过机器学习手段获得或得出。在一个示例中,视频编解码器的环内过滤器中的一个或多个可以是神经网络。在另一个示例中,神经网络可以被用作后处理操作(环外)。神经网络过滤器或其他类型的过滤器可以在环内或环外使用,以适应重建或解码的帧,以便提高一个或多个机器神经网络的性能或准确度。
在一些实现中,机器任务可以在解码器侧(而不是在编码器侧)被执行。在解码器侧执行机器任务的一些原因包括,例如,编码器侧设备可能不具有用于运行执行这些任务的神经网络的能力(计算、功率、存储器等等),或者当解码器侧设备需要任务结果时,任务神经网络的某些方面或性能可能已经改变或改进(例如,不同或附加的语义类别、更好的神经网络架构)。此外,可能存在定制需求,其中不同的客户端可能运行不同的神经网络来执行这些机器学习任务。
图11图示了神经网络表示(NNR)比特流的示例结构。NNR比特流可以符合ISO/IEC15938-17(用于多媒体内容描述和分析的神经网络压缩)。NNR规定高级比特流语法(HLS),以用于作为NNR单元序列在通道中用信号通知压缩神经网络数据信号,如图11中所图示。如图11中所描绘的,根据该结构,NNR比特流1102包括被称为NNR单元的多个基本单元(例如,NNR单元1104a、1104b、1104c、…1104n)。NNR单元(例如1104a)表示基本高级语法结构,并且包括三个语法元素:NNR单元尺寸1106、NNR单元标头1108、NNR单元有效负载1110。
在一些实施例中,NNR比特流可以包括一个或多个聚合NNR单元。聚合NNR单元(例如,聚合NNR单元1112)可以包括NNR单元尺寸1114、NNR单元标头1116和NNR单元有效负载1118。聚合NNR单元的NNR单元有效负载可以包括一个或多个NNR单元。如图11中所示,NNR单元有效负载1118包括NNR单元1120a、NNR单元1120b和NNR1120c。NNR单元1120a、1120b和1120c可以包括NNR单元尺寸、NNR单元标头和NNR单元有效负载,其中每一个都可以包含零个或更多个语法元素。
如上面所提及,可以通过连结若干NNR单元、聚合NNR单元或其组合来形成比特流。NNR单元可以包含不同类型的数据。NNR单元的有效负载中包含的数据的类型定义了NNR单元的类型。该类型在NNR单元标头中被规定。下表规定了NNR单元标头类型及其标识符。
/>
NNR单元是用于携带使用本规范来压缩或表示的神经网络数据和相关元数据的数据结构。NNR单元携带有关神经网络元数据、拓扑信息、完整或部分层数据、过滤器、内核、偏差、量化权重、张量等等的压缩或未压缩信息。NNR单元可以包括以下数据元素:
–NNR单元尺寸:该数据元素用信号通知NNR单元的总字节尺寸,包括NNR单元尺寸。
–NNR单元标头:该数据元素包含有关NNR单元类型和相关元数据的信息。
–NNR单元有效负载:该数据元素包含与神经网络相关的压缩或未压缩数据。
NNR比特流由NNR单元和/或聚合NNR单元的序列组成。NNR比特流中的第一NNR单元应为NNR开始单元(例如类型NNR_STR的NNR单元)。
神经网络拓扑信息可以作为类型NNR_TPL的NNR单元而被携带。压缩的NN信息可以作为类型NNR_NDU的NNR单元而被携带。参数集合可以作为类型NNR_MPS和NNR_LPS的NNR单元而被携带。NNR比特流是通过将这些单元串行化而形成的。
图像和视频编解码器可以在解码器侧在解码循环内或者作为后处理步骤而使用一个或多个神经网络,以用于以人为目标和以机器为目标的压缩。
以下段落描述了这些解码器侧神经网络的目的的一些非详尽示例:
–增强人类消费质量。这可以包括压缩伪影,例如振铃和块化,的隐藏。
–空间上采样,有时被称为超分辨率。
–时间上采样,或帧速率上采样。例如,通过在不同帧之间进行插值。
–传输误差的隐藏。
–特定感知“效果”的应用,例如散景、锐化等等。
–增强机器分析任务的准确性,例如计算机视觉任务。基于特定的计算机视觉任务,此目的可以被分为多个目的,例如:
·对象检测的增强;
·对象分类的增强;
·图像/场景/场境(context)分类的增强;
·视频动作或活动分类的增强;以及
·图像或视频分割的增强。
在视频的情况下,神经网络操作可以单独地被应用于每个帧、单独地被应用于一些帧、联合地被应用于帧集合、被应用于一个或多个帧的一个或多个区域等等。
然而,没有标准化的方式来向解码器侧用信号通知哪个神经网络拓扑和权重集合用于特定的编码图像或帧或帧集合。
需要一种机制来以可扩展的方式用信号通知神经网络(NN)操作的目的并将通用NN表示与所指示的目的相关联。
各种实施例提出了用于用信号通知与一个或多个图像或帧相关联的一个或多个神经网络的目的的机制,其中神经网络将被应用在解码器侧。用信号通知一个或多个神经网络的目的具有多种好处,包括但不限于能够在多个可用的神经网络中选择哪个神经网络适用于客户端等的需要或任务。
在示例实施例中,提出了一种基于SEI消息的高级语法的解决方案。SEI消息包括有关目的的信息以及表示神经网络或神经网络的更新的MPEG-NNR比特流。
在另一个示例实施例中,SEI消息可以包括多个目的,其中与这些目的相关联的神经网络共享层。
在又一个实施例中,SEI消息可以包括持久性范围。
在仍另一个实施例中,SEI消息可以包括指示预定义的过滤器。
基于SEI消息的解决方案
在该实施例中,提出了SEI消息(NN SEI),其包括关于可以在解码操作之内或之外应用的一个或多个神经网络的目的的信息。
图12图示了根据实施例的在解码器侧设备处执行的用于视频帧的增强的操作的示例。在实施例中,视频帧的增强包括视频帧的后处理增强的情况。输入视频比特流1202可以由视频NAL单元(例如,视频NAL单元1204、1206和1208)和NN SEI(例如,NN SEI 1210)组成,其中NN SEI包括该实施例中提出的SEI消息。视频NAL单元1204、1206和1208由诸如H.266兼容解码器之类的视频解码器1212来解码。首先解析NN SEI 1210以便提取MPEG-NNR比特流,然后使用MPEG-NNR兼容解码器(例如NNR解码器1214)来解码NNR比特流。然后,已解码的神经网络(NN)被用于增强或过滤与该NN相关联的已解码视频帧。例如,推断模块或电路1216可以使用NN 1218来增强或过滤来自已解码视频1220的已解码帧,所述已解码帧与NN 1218相关联以输出输出视频1222。
NN SEI消息的示例版本可以包括以下结构:
sei_container{
purpose_sei_message();
filter_sei_message();
}
其中sei_container可以例如是过滤器嵌套SEI消息或SEI NAL单元。sei_container结构可以包括描述一个或多个过滤操作和相关信息的SEI消息。
purpose_sei_message()的SEI消息类型可以被用来识别SEI消息内容的目的。sei_container的有效负载可能需要包含purpose_sei_message()(例如,作为第一SEI消息)。purpose_sei_message()是SEI消息,所述SEI消息规定sei_container()内规定的过滤的目的。该目的可以包括但不限于先前列出的一个或多个目的。
在实施例中,purpose_sei_message()是用于定义目的的任何特定SEI消息的逻辑占位符。换句话说,sei_container()包括这样的SEI消息来取代规定目的的purpose_sei_message()。SEI消息的有效负载类型值可以指示目的,并且SEI消息的有效负载可以包含可以进一步表征目的的参数。根据该实施例,可以通过定义新的SEI消息来引入新的目的,并且可以通过在同一sei_container()中包括多个目的SEI消息来指示用于过滤的多个目的。
在另一个实施例中,purpose_sei_message是SEI消息,所述SEI消息的有效负载可以包括规定目的的一个或多个语法元素。在实施例中,目的可以被列举为已知目的的列表。然后可以在purpose_sei_message()内用信号通知此类信息。
在又一个实施例中,目的可以被指示为sei_container()内的独立语法元素。可以在列举的已知目的的列表中选择语法元素值。
在实施例中,当视频解码器(或类似)没有辨识所包含的SEI消息的SEI消息类型(诸如,purpose_sei_message()的SEI消息类型)时,其应当省略sei_container()。
sei_container的有效负载可能需要包含filter_sei_message()(例如作为第二SEI消息),所述filter_sei_message()是规定要被应用的过滤器的SEI消息。例如,filter_sei_message()可以包含MPEG-NNR比特流。
H.266/VVC规范的相关联的语法的示例如下:
XX1、XX2和XX3是常数值,其旨在在标准化过程期间被选择。在实施例中,手动选择XX1、XX2和XX3值。在另一个实施例中,自动选择XX1、XX2和XX3值。
postprocessing_filter_nesting()是sei_container结构的示例。
resampling_filter_info()是一个purpose_sei_message结构的示例,其规定目的是对输出图片的重采样。
nnr_filter()是filter_sei_message()的一个示例,其将神经网络规定为MPEG-NNR代码化比特流,其中神经网络被用作输出图片的过滤器。
在另一个实施例中,NN数据可以被存储为符合NN处理框架或交换格式(诸如但不限于NNEF、ONNX、PyTorch或Tensorflow)的序列化二进制数据。filter_sei_message()可以包括序列化的二进制神经网络数据。
H.274/VSEI规范的相关联的语法的示例如下:
ppfn_num_seis_minus2plus2规定了嵌套在该后处理过滤器嵌套SEI消息中的SEI消息(sei_message())的数量。
min_scaling_ratio_hor和min_scaling_ratio_ver分别规定了最小水平和垂直缩放比率,针对所述最小水平和垂直缩放比率,建议在8.8定点表示中应用该过滤器。
max_scaling_ratio_hor和max_scaling_ratio_ver分别规定了最大水平和垂直缩放比率,针对所述最大水平和垂直缩放比率,建议在例如8.8定点表示中应用该过滤器。
以下伪代码示出了filter_container结构,其规定了:
–过滤的目的是以水平和垂直方式在从1(不包括)到4(包括)的缩放比率内进行重采样。
–MPEG-NNR比特流,规定了被用于重采样过滤的神经网络过滤器。
在实施例中,使用以下概念语法或类似来用信号通知关联增益:sei_container{
purpose_sei_message();
filter_sei_message();
gain_sei_message();
}
sei_container的有效负载可能还需要包含gain_sei_message()(例如,作为第三SEI消息),所述gain_sei_message()是规定了当在filter_sei_message()中用信号通知的神经网络被应用时可以达成的预期增益的SEI消息,其中相对于与在purpose_sei_message()中规定的目的相关联的一个或多个预定义指标来表达增益。
例如,当目的是场景分类的增强时,增益可以被表达为分类准确度的预期百分点。
在另一个示例中,当目的是视觉质量的增强时,增益可以被表达为预期的PSNR改进或MS-SSIM改进。
这样,解码器侧应用可以基于预期增益和诸如神经网络的计算复杂性、解码器侧设备的可用资源等的其他因素来决定是否应用NN。
在实施例中,代替在gain_sei_message()中用信号通知预期增益,根据以上任何示例的增益可以被包含在purpose_sei_message()内的一个或多个语法元素中。
描述具有共享层的多个目的的示例实施例
在实施例中,使用以下概念语法或类似:
sei_container{
purpose_sei_message();
purpose_specific_topology_sei_message();
filter_sei_message();
}
purpose_sei_message()还可以规定多于一个目的。在该实施例中,purpose_specific_topology_sei_message()存在于sei_container()的有效负载中(例如,作为第二SEI消息),并且规定存在于filter_sei_message()中的NN的拓扑子集,该拓扑子集执行在purpose_sei_message()中规定的目的。
例如,如果存在诸如分割和质量增强的两个目的,则purpose_specific_topology_sei_message()可以规定NN拓扑的两个子集,其中一个子集是用于执行分割的层的列表,而另一子集是用于执行质量增强的层的列表。这两个子集可以共享一些NN层。
在实施例中,purpose_specific_topology_sei_message()规定应用于单个目的的NN拓扑的子集。sei_container()内的SEI消息的顺序可以确定与purpose_specific_topology_sei_message()相关联的目的。例如,紧接在purpose_specific_topology_sei_message()之前的purpose_sei_message()可以包含NN拓扑的子集所应用到的目的。
在实施例中,由purpose_sei_message()中的零个或更多个语法元素规定NN拓扑的子集(如果有的话)。
在实施例中,例如在sei_container()中包含的common_topology_sei_message()中用信号通知用于所指示的所有目的的拓扑的公共子集。例如,拓扑的公共子集可以被指示为层的列表。另外,拓扑的特定目的子集可以不针对所指示的目的中的任一个、针对所指示的目的中一些或所有被用信号通知。
在实施例中,当在sei_container()中指示多于一个目的时(例如,通过具有purpose_sei_message()的多个实例或者通过在单个purpose_sei_message()中包括多个目的),filter_sei_message()可以包含神经网络表示,其具有公共层子集和特定目的层子集。例如,前几层是公共子集,而后面的层表示特定目的层子集,所述特定目的层子集被布置作为从公共层子集中的最后一层分支出的并行分支。例如,可以被用于分割和质量增强的神经网络可以具有初始公共层子集,随后是两个分支。两个分支的输出表示分割和质量增强结果。
指示持久性范围的示例实施例
在实施例中,使用以下概念语法或类似:
sei_container{
purpose_sei_message();
filter_sei_message();
scope_sei_message();
}
sei_container的有效负载可能需要包含规定过滤器有效的范围的SEI消息(例如,作为第三SEI消息)。例如,范围可以被表达为:
–相对于包含SEI消息的图像单元的图片顺序计数(POC)值的POC范围;
–持续时间;
–帧数;或者
–空间范围,其指示过滤器有效的一个或多个帧内的区域。在这种情况下,假设时间范围在解码器侧是已知的。空间范围可以是相对于预定义坐标系的空间坐标的列表或集合。
–时空范围,其中规定了帧内的区域坐标和时间持续时间(等等)。
在一些实施例中,时间或时空范围可以指代视频的非连接部分,例如,可以从帧1到帧150以及从帧400到帧470应用过滤器。
指示持久性范围的另一个示例实施例
sei_container()包含特定神经网络的标识符(例如,ppfn_id)。过滤器激活SEI消息可以包括针对由过滤器激活SEI消息所确定的时间范围、空间范围或时空范围而激活的ppfn_id值。具有特定ppfn_id值的过滤器可以被包含该ppfn_id值的后续sei_container()覆盖或更新。
指示持久性范围的又一示例实施例
在示例中,范围适用于从sei_container结构的位置一直到特定‘事件’出现在比特流中为止有效,所述‘事件’可以例如是以下中的一个或多个:
–代码化视频序列的结束(对于单层比特流)或代码化层视频序列的结束(对于多层比特流);
–出现另一个sei_container结构;或者
–指示先前的sei_container结构被取消的另一个sei_container结构或其他信号。
当可能存在多于一个“事件”类型时,sei_container()有效直到下一个事件为止,无论其类型如何。例如,sei_container()可以有效,直到代码化层视频序列的结束或后续的sei_container(),无论哪个是比特流中的下一个。
sei_container可以包括关闭过滤的‘取消标志’。
在实施例中,使用以下概念语法或类似来用信号通知应用过滤的先决条件:
sei_container{
purpose_sei_message();
filter_sei_message();
prerequisite_sei_message();
}
sei_container的有效负载可以包括prerequisite_sei_message(),所述prerequisite_sei_message()是规定用于在filter_sei_message()中应用过滤的先决条件的SEI消息。先决条件可以包括回放设备的属性(例如环境光强度、屏幕亮度、对比度、像素密度或分辨率等)。
例如,当仅针对某些显示分辨率应用过滤时,prerequisite_sei_message()可以包含过滤有效的分辨率范围。
在实施例中,不是在prerequisite_sei_message()中用信号通知先决条件,而是可以将先决条件包括在purpose_sei_message()内的一个或多个语法元素中。
在实施例中,可以用信号通知一个或多个先决条件的必要性。例如,可以用信号通知必须满足先决条件才能应用过滤。在另一个示例中,可以用信号通知建议满足先决条件以便应用过滤。
在实施例中,prerequisite_sei_message()或任何类似的结构包括复杂性要求,诸如但不限于以下中的一个或多个:存储神经网络所需的存储器(诸如字节数),在临时存储器设备(诸如随机存取存储器(RAM))上临时存储神经网络的解压缩版本所需的存储器(诸如字节数),在临时存储器设备(诸如RAM)上临时存储神经网络的解压缩版本和所传递的中间数据所需的存储器(诸如字节数)、神经网络中的层数、神经网络中的权重数、神经网络中的连接数。复杂性要求值可以被量化,其中量化可以是均匀的或非均匀的。
在实施例中,prerequisite_sei_message()或input_format_sei_message()等指示要被用作神经网络推断的输入的图片格式,其可以包括但不限于以下中的一个或多个:
–原色,例如YCbCr、YCgCo、RGB、GBR、YZX或XYZ;
–色度格式(例如单色、4:2:0、4:2:2、4:4:4)、比特深度(对于所有颜色分量可能是公共的或者逐颜色分量进行指示);
–样本中的图片宽度和高度;
–图片内的有效区域的宽度和高度,诸如一致性裁剪窗口;
–单个神经网络推断过程的样本中的图块(patch)宽度和高度;
–颜色分量排序(例如平面或逐样本交错);
–边界填充模式,其规定了当图片尺寸不是图块尺寸的整数倍时要被应用于图块的填充方法(例如,水平地和垂直地重复图片边界像素,或者从图片的右边缘到图片的左边缘环绕,其可能适用于全景图像);
–神经网络推断的输入图片的数量;
–被应用于输入到神经网络的一个或多个帧的规范化模式。规范化模式的一个示例是规范化,其结果是均值为零并且方差值为一的规范化帧;或者
–规范化值,被使用以便根据规范化模式对输入到神经网络的一个或多个帧进行规范化。例如,均值和标准偏差值。
在实施例中,output_format_sei_message()等指示由神经网络推断产生的图片格式,其可以包括但不限于上面针对input_format_sei_message()列出的一个或多个参数。
在实施例中,缩放因子标志消息(例如scaling_factor_flag_sei_message()等)指示神经网络过滤器的输出是否要被缩放。当该标志被设置为一时,神经网络过滤器的输出将被缩放。缩放操作可以包括将神经网络过滤器的输出乘以一个或多个缩放因子。在一个示例中,由神经网络过滤器输出的YUV帧的Y、U和V分量可以通过三个缩放因子来缩放,其中每个缩放因子销售YUV分量之一。在另一个示例中,由神经网络过滤器输出的YUV帧的Y、U和V分量可以通过相同的缩放因子来缩放。
在实施例中,当scaling_factor_flag_sei_message()指示神经网络过滤器的输出将被缩放时,缩放因子消息(例如scaling_factor_sei_message()等)规定被用于缩放神经网络过滤器的输出的一个或多个值。在另一个实施例中,缩放因子标志消息可以包括被用来缩放一个或多个NN的输出的一个或多个值。
在实施例中,残差过滤标志消息(例如residual_filtering_flag_sei_message()等)指示是否将神经网络过滤器的输出与神经网络过滤器的输入相加。当该标志被设置为1时,神经网络过滤器的输出将与神经网络过滤器的输入相加,并且由相加操作而得到的帧表示过滤过程的最终输出。当scaling_factor_flag_sei_message()被设置为1并且residual_filtering_flag_sei_message()被设置为1时,由scaling_factor_flag_sei_message()指示的缩放操作可以在由residual_filtering_flag_sei_message()指示的加法操作之前被执行。
指示预定义过滤器的又一示例实施例
一些神经网络可以是用于某些目的的事实标准或者可以由标准定义组织来选择。例如,即将推出的机器MPEG视频代码化标准可以定义用于为了动作辨识目的而增强解码帧的标准神经网络。
可以使神经网络与应用神经网络的视频比特流分开地访问,例如用于增强通过解码视频比特流而重建的已解码图片。例如,可以通过统一资源定位符(URL)来获得神经网络。例如,可以提供用于NNR比特流的超文本传输协议(HTTP)URL,并且客户端可以通过发布针对该URL的HTTP GET请求来请求NNR比特流。
指示特定的(事实的)标准神经网络或单独提供的神经网络正在使用中而不是在视频比特流中具有其完整的NNR表示可能是有益的。
在实施例中,sei_container()的有效负载包括SEI消息,其通过诸如统一资源标识符(URI)(它可以是URL)、通用独特标识符(UUID)或已知的或预定义的神经网络的预定义列表的一个或多个索引之类的引用来标识(事实的)标准神经网络或单独提供的神经网络。替代地,SEI消息的语法可以包括引用外部规定的NN(例如NNEF或ONNX)的NNR比特流。在实施例中,sei_container可以包含filter_sei_message(),其类型识别其包含神经网络的标识符。在实施例中,神经网络的标识符在SEI消息中伴随有神经网络的媒体类型(例如MIME类型)。在实施例中,神经网络的标识符和/或媒体类型作为语法元素被直接包括在sei_container中,而不是包含在sei_container()内的SEI消息中。
在实施例中,客户端等从视频比特流或沿着视频比特流解码sei_container(),其中解码包括解码一个或多个目的以及解码神经网络的标识符。客户端等得出结论,一个或多个目的适用于其需求或任务。响应于该结论,客户端等获取由标识符识别的神经网络,除非客户端等已经有权访问该神经网络。此外,响应于该结论,客户端等使用所识别的神经网络来过滤视频比特流的已解码图片。
此外,更新(事实的)标准NN或单独提供的神经网络可能是有益的,例如以使得它适于视频比特流的内容。在实施例中,sei_container()包括:i)SEI消息,其通过引用识别(事实的)标准神经网络或单独提供的神经网络,以及ii)对所识别的神经网络的更新。
在实施例中,神经网络的更新由NNR表示。例如,可以使用MPEG NNR版本2,因为MPEG NNR版本2专注于压缩权重更新。
下面描述示例实现:
在sei_container()内添加另一个SEI消息,其规定使用哪个(事实的)标准NNsei_container{
purpose_sei_message();
base_filter_message();
filter_sei_message();
}
SEI消息base_filter_message()可以包含例如规定URI的UTF8字符串,它识别(事实的)标准NN或与视频比特流分开提供的神经网络。
下面描述另一个示例实现:
在实施例中,sei_container()或filter_sei_message()中的语法元素规定使用哪个(事实的)标准NN或单独提供的神经网络。语法元素例如可以是规定URI的UTF8字符串,它识别(事实的)标准NN或单独提供的神经网络。当为null(空)时,不会通过URI提供“基本”过滤器,并且filter_sei_message()包含整个神经网络。替代地,语法可以是引用外部规定的NN(例如NNEF或ONNX)的NNR比特流。
下面描述又一示例实现:
在sei_container()中,可以存在用于指示预定义过滤器或filter_sei_message()的选择的标志或门控信息。然而,这可能比仅根据base_filter_message()和/或filter_sei_message()的存在推断操作的可扩展性较差。
在实施例中,编码器、文件写入器等在视频比特流中或沿着视频比特流创建SEI前缀指示SEI消息等。SEI前缀指示SEI消息等包含sei_container()的内容的初始部分,其也在相同的视频比特流中或沿着相同的视频比特流。SEI前缀指示SEI消息等可以包括例如purpose_sei_message()的实例和/或sei_container()的prerequisite_sei_message()的实例和/或base_filter_message()的实例。
在实施例中,文件写入器等将包含一个或多个sei_container()结构的视频比特流封装到符合ISO基础媒体文件格式的文件中。用于存储i)包含sei_container()初始部分的SEI前缀指示SEI消息等和ii)sei_container()结构之一或两者的文件格式存储选项可以包括以下中的一个或多个:
–样本条目。在此选项中,NN被存储到文件的元数据存储位置,例如存储在MovieBox中。
–非VCL轨道样本。为了在播放中实现随机访问,同步样本应该在包含视频比特流的数据的视频轨道和非VCL轨道之间被对齐。同一非VCL轨道可以经由轨道引用(“tref”)而被应用于存储相同视频比特流或不同视频比特流的数据的不同视频轨道。
–包含视频比特流的数据的一个或多个视频轨道的样本。
在实施例中,客户端等(例如,解码器、文件读取器或播放器)从视频比特流或沿着视频比特流获得SEI前缀指示SEI消息等,该SEI前缀指示SEI消息等包含sei_container()内容的初始部分,该初始部分也在同一视频比特流中或沿着同一视频比特流。客户端等对SEI前缀指示SEI消息等进行解码。基于已解码的SEI前缀指示SEI消息等,客户端等决定以下中的一个或多个:i)是否抓取视频比特流,ii)抓取哪些sei_container()结构(如果有的话),iii)抓取由sei_container()结构引用的哪个(哪些)NN。例如,SEI前缀指示SEI消息等可以从包含用于特定目的的sei_container()结构的非VCL轨道的表示的初始化分段获得。当SEI前缀指示SEI消息等中指示的目的与客户端的需要或任务匹配时,客户端可以确定抓取包含相应sei_container()结构的非VCL轨道的表示。
用信号通知一个或多个神经网络的目的具有多个益处,包括但不限于i)能够在多个可用神经网络中选择哪个神经网络适用于客户端等的需要或任务;ii)仅抓取多个可用神经网络中选定的神经网络,从而减少用于获得所需神经网络所需的网络带宽和传输时间;iii)仅对选定的神经网络执行推断,从而减少计算和功耗。
描述环内解码依赖性的实施例
以下实施例涉及规范式解码依赖性,并且可以在神经网络处于解码循环内时在端到端学习编解码器或NN增强的传统编解码器(诸如具有NN环内过滤器的H.266/VVC,也可以被称为混合编解码器方法)中部使用。
在实施例中,提出了一种包括信息的专用NAL单元,如在上面在一个或多个基于SEI的实施例中所描述的。
参见图13,其图示了根据实施例的根据规范式解码依赖性的视频比特流。神经网络在视频比特流内例如在非VCL NAL(NN NAL)单元1302和1304内部被信号通知。从NN NAL单元1302和1304中提取神经网络(或神经网络的更新)以通过使用一个或多个解码器(例如解码器1306和1308)解码视频比特流1310、1312的一个或多个单元(例如VCL NAL单元或代码化视频帧)以获得解码视频。例如通过使用预训练的神经网络,或通过使用最新更新的神经网络(这取决于之前用信号通知的NN或NN更新的持久性范围),可以使用‘默认’解码器配置来解码视频1346和1316。
针对SEI消息描述的实施例也类似地适用于NN NAL单元。在不同的实施例中,NNNAL单元可以被视为或者可以包括整个或部分的sei_container()结构,并且sei_container()中包含的SEI NAL单元可以被不同地调用但是可以具有相似的结构。当NNNAL单元在使用中时,由NN NAL单元执行的过滤可以被认为对于解码器是强制性的,并且可以被用来对可以随后被用作用于预测其他图片的参考图片的已解码图片进行过滤。除了过滤之外或者代替过滤,NN NAL单元可以规定其他基于神经网络的解码操作,诸如帧内预测、帧间预测或变换。
在一些实施例中,多于一个的NN可用于执行解码操作。当多于一个NN可用时,可能需要单独或显式地(例如通过ID)对NN进行识别或寻址,以使得在解码操作中使用正确的NN。
可以与参数集合类似地定义NN NAL单元的有效性。NN NAL单元在被引用之前应可供解码器使用。
在实施例中,NN可以作为参数集合的一部分被用信号通知。例如,可以为诸如VVC之类的视频代码化标准定义新的APS类型。换句话说,NN NAL单元可以是具有指示NN过滤的APS类型的自适应参数集合NAL单元。在示例实施例中,以下语法可以被用于APS:
NN_APS可以是预定义的常数值,例如等于3。
在实施例中,nn_data()是NNR比特流。
在实施例中,nn_data()具有类似于sei_container()的语法、语义和子语法结构。然而,可以注意到,nn_data()内的语法结构不一定符合SEI消息语法。
在实施例中,nn_data()包括类似于filter_sei_message()的语法和语义,但是应当注意,nn_data()内的语法结构不一定符合SEI消息语法。
在实施例中,nn_data()包括语法和语义,该语法和语义包括base_filter_message()和filter_sei_message()的组合,但是可以注意到,nn_data()内的语法结构不一定符合SEI消息语法。在该实施例中,nn_data()可以包括识别(事实的)标准神经网络或单独提供的神经网络的参考或标识符(诸如URI)中的一个或两个,以及所识别的神经网络的更新。
APS具有ID,因此可以参考先前的APS。然而,VVC中规定的APS不允许部分更新或预测代码化更新,而是特定类型和ID的APS总是覆盖具有相同类型和ID的先前APS。
在实施例中,被应用于或可以被应用于解码的一个或多个NN通过其在视频比特流的语法结构(诸如切片标头、图片标头、或图片参数集合)中的标识符等(诸如APS ID)来指示。语法结构的范围可以定义一个或多个NN被应用或可以被应用的视频部分。例如,当一个或多个NN标识符被包括在切片标头中时,它们相应的一个或多个NN被应用于或可以被应用于相应的切片。当指示多于一个的NN可应用时,可以逐块地(诸如H.266/VVC中的逐CTU)执行哪个NN被应用的选择。编码器可以将熵代码化索引逐块编码到比特流中(其ID例如在切片标头中被列出),并且解码器可以分别从比特流逐块解码熵代码化索引到已识别的NN列表。
在实施例中,文件写入器等将包含NN APS的视频比特流封装到符合ISO基础媒体文件格式的文件中。基于APS的NN信令的文件格式存储选项可以包括以下中的一个或多个:
–样本条目。在此选项中,NN被存储到文件的元数据存储位置,例如存储在MovieBox中。
–非VCL轨道样本。为了在播放中实现随机访问,同步样本应该在包含视频比特流的数据的视频轨道和非VCL轨道之间被对齐。同一非VCL轨道可以经由轨道引用(“tref”)而被应用于存储相同视频比特流或不同视频比特流的数据的不同视频轨道。
–包含视频比特流的数据的一个或多个视频轨道的样本。
NN数据可以以NNR比特流语法格式来存储,其是如MPEG规范ISO/IEC 15938-17中定义的NNR单元的串行化流,例如:
–NNR单元形式的压缩神经网络比特流,还包含携带神经网络拓扑信息的特定NNR单元;
–NNR单元形式的压缩神经网络比特流,还包含将神经网络拓扑信息引用为外部参考(诸如URL/URI、ID等)的特定NNR单元。这样的ID可以在另一个规范或已知信息源(规范、Web服务、网页、AP等)中被定义或规定和枚举;
–在一个示例中,在MPS类型的NNR单元或类似参数集合相关的NNR单元中,可以用信号通知神经网络和相关参数,其具有表示NN的单个独特ID以及用于默认参数使用的标志,这可能类似于密码本。这种信令中的MPS的内容可以如以下语法示例中所示,其中:
·mps_NN_enum_id可以用信号通知正被利用的NN的枚举id。该id可以由另一个信息源(例如另一个规范、Web服务、网页或资源、SEI消息等)定义并用信号通知。
·mps_NN_default_params_flag可以用信号通知NN对默认配置参数的利用
·NN_params()可以包含非默认配置参数
·NN_params_enum_id可以指示NN和/或NN参数的枚举id、URI/URL或任何独特标识符,使得仅用信号通知该枚举可能就足以配置NN。
其他语法元素如ISO/IEC 15938-17规范中所定义。
/>
在另一个实施例中,在APS的nn_data()中,可以用信号通知以下内容
/>
当解析nn_data()时,解析器可以获得NN相关的枚举和参数,然后将其传递到必要的过程,该过程将在解码/后预处理操作中初始化和使用NN。
下面描述一些另外的实施例:
虽然相对于视频比特流描述了实施例,但是它们通常适用于具有SEI等的任何媒体类型,例如基于MPEG视觉体积视频的代码化(V3C、ISO/IEC 23090-5)具有SEI机制。
sei_container()可以在诸如MPEG音频比特流之类的音频编码比特流中作为诸如包含用户数据的语法元素之类的扩展和/或作为指示这种数据在比特流中的存在的简档指示符而被利用。每个音频通道可能有多个这样的sei_container。
在实施例中,枚举拓扑可以被应用如下:
–解码器侧设备可能已经具有一组N个可能的神经网络拓扑。这里的拓扑是指神经网络的结构或架构,诸如层的数量、层的类型、每层的计算单元的数量、每层的卷积通道的数量、层的超参数等。拓扑信息通常不包括权重值和其他可学习参数的值。计算单元可以被称为人工神经元。人工神经元是形成全连接层的计算单元。
–对于每种拓扑,解码器侧设备可以具有相关联的权重和其他可学习参数。这些权重可以在两个或更多个不同拓扑之间共享。
–在一个实施例中,编码器侧设备可以用信号通知关于要使用哪种拓扑的信息。然后,解码器侧设备将使用该拓扑和相关联的权重。
–在一个实施例中,用信号通知的信息可以是独特标识符(ID)。假设编码器侧设备和解码器侧设备具有将ID与对应的拓扑相关联的查找表。可以在MPEG-NNR标准的高级语法的NNR_TPL单元内用信号通知ID。将在filter_sei_message()内用信号通知MPEG-NNR比特流。
–在另一个实施例中,用信号通知的信息可以是神经网络拓扑的完整表示。例如,它可以是已经存在于解码器侧的拓扑的子集(例如,层的子集),并且在解码器侧仅选择与拓扑的子集相关联的权重。
注意,该设计不限于基于神经网络的过滤器,而是还适用于任何类型的过滤,例如包括自适应环路过滤,其可以与H.266/VVC中规定的相同或相似。在实施例中,sei_container()可以包含任何类型的filter_sei_message(),例如,filter_sei_message()不一定规定基于神经网络的过滤器,而是可以规定任何过滤器,诸如自适应环路过滤器(ALF),例如,如H.266/VVC中规定的,但是用作后处理操作(不影响参考图片的重建)。在实施例中,规定不同类型的sei_container()结构,其中一个或多个类型可以指示基于神经网络的过滤器,而另一种或多种类型可以指示其他类型的过滤器,诸如自适应环路过滤器。例如,sei_container()可以是SEI消息,其有效负载类型指示SEI消息规定哪种类型的过滤器。
在实施例中,在诸如自适应参数集合之类的参数集合中规定或识别过滤器。例如,过滤器可以是基于神经网络的过滤器或自适应环路过滤器,如其他实施例中描述的。此外,sei_container()包含filter_sei_message()等,其识别包含或识别过滤器的参数集合。sei_container可以包含其他结构,诸如purpose_sei_message(),如其他实施例中所描述的。因此,该实施例使得能够在参数集合中用信号通知过滤器并将用信号通知的过滤器与sei_container()中的目的相关联,sei_container()可以例如被包含在SEI NAL单元中。例如,ALF过滤器可以使用ALF APS来规定,并由sei_container()引用,以作为后处理操作进行过滤。由于表达SEI消息的payloadSize(有效负载尺寸)的方式,在参数集合中包含NNR比特流可能比SEI消息在字节计数上更有效。
在实施例中,sei_container()和/或所包含的SEI消息可以指示所包含的哪些SEI消息必须强制被处理以便执行过滤。所包含的一些SEI消息可能会被标记为可选,例如,当它们提供信息或描述不太重要的过滤步骤时。
图14是基于本文所描述的示例的示例装置1400,其可以以硬件来实现,被配置为基于本文描述的示例而在媒体比特流内用信号通知神经网络。装置1400的一些示例包括但不限于装置50、客户端设备604和装置700。装置1400包括处理器1402、包括计算机程序代码1405的至少一个非暂时性存储器1404,其中至少一个存储器1404和计算机程序代码1405被配置为与至少一个处理器1402一起使装置1400基于本文所描述的示例在媒体比特流内用信号通知神经网络1406。装置1400可选地包括可以被用来在渲染期间显示内容的显示器1408。装置1400可选地包括一个或多个网络(NW)接口(I/F)1410。NW I/F 1410可以是有线和/或无线的并且经由任何通信技术通过互联网/其他网络进行通信。NW I/F 1410可以包括一个或多个发送器和一个或多个接收器。
图15是根据实施例的用于在媒体比特流内接收神经网络的示例方法1500。在1502处,该方法包括接收包括一个或多个媒体单元和第一增强信息消息的媒体比特流。第一增强信息消息包括至少两个独立可解析结构,例如,第一独立可解析结构包括关于要被应用于一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的的信息,以及第二独立可解析结构包括或识别一个或多个神经网络。第一增强信息消息的示例包括NN补充增强信息消息。在实施例中,第一增强信息消息被包括在增强信息容器中。该一个或多个媒体单元的示例包括一个或多个视频单元,其中该一个或多个视频单元的示例包括一个或多个网络抽象层视频单元。
在1504处,该方法包括对一个或多个媒体单元进行解码。在1506处,该方法包括基于至少一个目的,使用一个或多个神经网络来增强或过滤已解码的一个或多个媒体单元的一个或多个帧。在示例中,装置1400可以被用于实现方法1500。
图16是根据另一个实施例的用于在媒体比特流内用信号通知神经网络的示例方法1600。在1602处,该方法包括对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码。第一增强信息消息包括至少两个独立可解析结构,例如,第一独立可解析结构包括关于要被应用于一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的的信息,以及第二独立可解析结构包括或识别一个或多个神经网络。在1604处,该方法包括将媒体比特流用信号通知给解码器侧设备,其中一个或多个神经网络旨在被用于针对至少一个目的来增强或过滤已解码的一个或多个媒体单元的一个或多个帧。在一个示例中,装置1400可以用于实现方法1600。
转向图17,该图示出了可以在其中实践示例的一种可能且非限制性示例的框图。图示了用户设备(UE)110、无线电接入网络(RAN)节点170和网络元件190。在图1的示例中,用户设备(UE)110与无线网络100进行无线通信。UE是可以接入无线网络100的无线设备。UE110包括通过一个或多个总线127互连的一个或多个处理器120、一个或多个存储器125、以及一个或多个收发器130。一个或多个收发器130中的每一个包括接收器Rx 132和发送器Tx133。一个或多个总线127可以是地址总线、数据总线或控制总线,并且可以包括任何互连机制,诸如母板或集成电路上的一系列线路、光纤或其他光通信设备等等。一个或多个收发器130连接到一个或多个天线128。一个或多个存储器125包括计算机程序代码123。UE 110包括模块140,模块140包括可以以多种方式来实现的部分140-1和/或140-2中的一个或或两者。模块140可以以硬件而被实现为模块140-1,诸如被实现为一个或多个处理器120的一部分。模块140-1还可以被实现为集成电路或者通过诸如可编程门阵列之类的其他硬件来实现。在另一个示例中,模块140可以被实现为模块140-2,模块140-2被实现为计算机程序代码123并且由一个或多个处理器120执行。例如,一个或多个存储器125和计算机程序代码123可以被配置为与一个或多个处理器120一起使用户设备110执行如本文所描述的操作中的一个或多个。UE 110经由无线链路111来与RAN节点170通信。
该示例中的RAN节点170是提供由诸如UE 110之类的无线设备到无线网络100的接入的基站。RAN节点170例如可以是用于5G的基站,也被称为新无线电(NR)。在5G中,RAN节点170可以是NG-RAN节点,其被定义为gNB或ng-eNB。gNB是朝向UE提供NR用户平面和控制平面协议终止的节点,并且经由NG接口连接到5GC(例如,网络元件190)。ng-eNB是朝向UE提供E-UTRA用户平面和控制平面协议终止端的节点,并且经由NG接口连接到5GC。NG-RAN节点可以包括多个gNB,其还可以包括中央单元(CU)(gNB-CU)196和分布式单元(DU)(gNB-DU),其中示出了DU 195。注意,DU可以包括或耦合到无线电单元(RU)并控制无线电单元(RU)。gNB-CU是托管gNB的无线电资源控制(RRC)、SDAP和PDCP协议或en-gNB的RRC和PDCP协议的逻辑节点,该逻辑节点控制一个或多个gNB-DU的操作。gNB-CU终止与gNB-DU连接的F1接口。F1接口被图示为参考标号198,但是参考标号198还图示了RAN节点170的远程元件与RAN节点170的集中式元件之间(诸如gNB-CU 196与gNB-DU 195之间)的链路。gNB-DU是托管gNB或en-gNB的RLC、MAC和PHY层的逻辑节点,并且其操作部分地由gNB-CU控制。一个gNB-CU支持一个或多个小区。一个小区仅由一个gNB-DU支持。gNB-DU终止与gNB-CU连接的F1接口198。注意,DU195被认为包括例如作为RU一部分的收发器160,但是这种情况的一些示例可以使收发器160作为单独的RU的一部分例如在DU的控制下并连接到DU 195。RAN节点170还可以是用于LTE(长期演进)的eNB(演进型NodeB)基站,或者任何其他合适的基站或节点。
RAN节点170包括通过一个或多个总线157互连的一个或多个处理器152、一个或多个存储器155、一个或多个网络接口(N/WI/F)161以及一个或多个收发器160。一个或多个收发器160中的每一个包括接收器Rx 162和发送器Tx 163。一个或多个收发器160连接到一个或多个天线158。一个或多个存储器155包括计算机程序代码153CU 196可以包括处理器152、存储器155和网络接口161。注意,DU 195还可以包含其自己的一个或多个存储器和处理器、和/或其他硬件,但是这些未被示出。
RAN节点170包括模块150,模块150包括可以以多种方式来实现的部分150-1和/或150-2中的一个或两者。模块150可以以硬件而被实现为模块150-1,诸如被实现为一个或多个处理器152的一部分。模块150-1还可以被实现为集成电路或者通过诸如可编程门阵列之类的其他硬件来实现。在另一个示例中,模块150可以被实现为模块150-2,模块150-2被实现为计算机程序代码153并且由一个或多个处理器152执行。例如,一个或多个存储器155和计算机程序代码153被配置为与一个或多个处理器152一起使RAN节点170执行如本文所描述的操作中的一个或多个。注意,模块150的功能性可以是分布式的,诸如被分布在DU 195和CU 196之间,或者仅被实现在DU 195中。
一个或多个网络接口161通过网络(诸如经由链路176和131)进行通信。两个或多个gNB 170可以使用例如链路176进行通信。链路176可以是有线的或无线的或两者,并且可以例如实现用于5G的Xn接口、用于LTE的X2接口或用于其他标准的其他合适的接口。
一个或多个总线157可以是地址、数据或控制总线,并且可以包括任何互连机制,例如母板或集成电路上的一系列线路、光纤或其他光通信设备、无线信道等等。例如,一个或多个收发器160可以被实现为用于LTE的远程无线电头端(RRH)195或用于5G的gNB实现的分布式单元(DU)195,其中RAN节点170的其他元件可能在物理上位于与RRH/DU不同的位置,并且一个或多个总线157可以被部分地实现为例如光缆或其他合适的网络连接,以将RAN节点170的其他元件(例如中央单元(CU)、gNB-CU)连接到RRH/DU 195。参考标号198还指示那些合适的网络链路。
应注意的是,本文的描述指示“小区”执行功能,但是应当清楚的是,形成小区的设备可以执行功能。该小区构成基站的一部分。也就是说,每个基站可以有多个小区。例如,单个载波频率和相关联的带宽可以有三个小区,每个小区覆盖360度区域的三分之一,以使得单个基站的覆盖范围覆盖近似椭圆形或圆形。此外,每个小区可以对应于单个载波,并且基站可以使用多个载波。因此,当每个载波有3个120度小区并且有两个载波时,则基站总共有6个小区。
无线网络100可以包括一个或多个网络元件190,其可以包括核心网络功能性,并且其经由一个或多个链路181提供与诸如电话网络和/或数据通信网络(例如互联网)之类的另一网络的连接性。用于5G的这种核心网络功能性可以包括接入和移动性管理功能(AMF)和/或用户平面功能(UPF)和/或会话管理功能(SMF)。用于LTE的这种核心网络功能性可以包括MME(移动性管理实体)/SGW(服务网关)功能性。这些仅仅是可以由网络元件190支持的示例功能,并且注意,可以支持5G和LTE功能两者。RAN节点170经由链路131而被耦合到网络元件190。链路131可以被实现为例如用于5G的NG接口、或用于LTE的S1接口、或用于其他标准的其他合适的接口。网络元件190包括通过一个或多个总线185互连的一个或多个处理器175、一个或多个存储器171以及一个或多个网络接口(N/WI/F)180。一个或多个存储器171包括计算机程序代码173。一个或多个存储器171和计算机程序代码173被配置为与一个或多个处理器175一起使网络元件190执行一个或多个操作。
无线网络100可以实现网络虚拟化,其是将硬件和软件网络资源以及网络功能组合到单个基于软件的管理实体(虚拟网络)的过程。网络虚拟化涉及平台虚拟化,通常与资源虚拟化相结合。网络虚拟化可以被归类为:外部网络虚拟化,将许多网络或网络的一部分组合到虚拟单元中;或内部网络虚拟化,将类似于网络的功能性提供给单个系统上的软件容器。注意,由网络虚拟化产生的虚拟化实体在某种程度上仍然使用诸如处理器152或175以及存储器155和171之类的硬件来实现,并且这样的虚拟化实体也产生技术效果。
计算机可读存储器125、155和171可以是适合于本地技术环境的任何类型,并且可以使用任何合适的数据存储技术来实现,诸如基于半导体的存储器设备、闪存、磁存储器设备和系统、光学存储器设备和系统、固定存储器和可移动存储器。计算机可读存储器125、155和171可以是用于执行存储功能的部件。处理器120、152和175可以是适合本地技术环境的任何类型,并且作为非限制性示例,可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个。处理器120、152和175可以是用于执行诸如控制UE 110、RAN节点170、网络元件190之类的功能以及本文所描述的其他功能的部件。
一般而言,用户设备110的各种实施例可以包括但不限于诸如智能电话之类的蜂窝电话、平板电脑、具有无线通信能力的个人数字助理(PDA)、具有无线通信能力的便携式计算机、具有无线通信能力的图像捕获设备诸如数码相机、具有无线通信能力的游戏设备、具有无线通信能力的音乐存储和播放设备、允许无线互联网访问和浏览的互联网设备、具有无线通信能力的平板电脑以及将这种功能组合合并在一起的便携式单元或终端。
模块140-1、140-2、150-1和150-2中的一个或多个可以被配置为基于本文所描述的示例在神经网络的媒体比特流内用信号通知神经网络。计算机程序代码173还可以被配置为基于本文所描述的示例在媒体比特流内用信号通知神经网络。
如上所述,图15和图16包括根据某些示例实施例的装置(例如50、100、604、700或1400)、方法和计算机程序产品的流程图。应当理解,流程图的每个块以及流程图中的块的组合可以通过各种手段来实现,诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其他设备。例如,上述过程中的一个或多个可以由计算机程序指令来体现。就这一点而言,体现上述过程的计算机程序指令可以由采用本发明的实施例的装置的存储器(例如58、125、704或1404)存储并由装置的处理电路系统(例如56、120、702或1402)执行。如将了解的,任何这样的计算机程序指令可以被加载到计算机或其他可编程装置(例如,硬件)上以产生机器,使得最终的计算机或其他可编程装置实现流程图块中规定的功能。这些计算机程序指令还可以被存储在计算机可读存储器中,计算机可读存储器可以引导计算机或其他可编程装置以特定方式起作用,使得存储在计算机可读存储器中的指令产生制品、对制品的执行实现了流程图块中规定的功能。计算机程序指令还可以被加载到计算机或其他可编程装置上,以使在计算机或其他可编程装置上执行一系列操作以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图块中规定的功能的操作。
因此,在其中由至少一个非暂时性计算机可读存储介质存储的那些实例中定义了计算机程序产品,其中计算机程序指令(诸如计算机可读程序代码部分)在执行时被配置为诸如结合图15和图16的流程图执行上述功能。在其他实施例中,诸如计算机可读程序代码部分之类的计算机程序指令不需要由非暂时性计算机可读存储介质存储或以其他方式体现,而是可以由暂时性计算机可读存储介质来体现,其中计算机程序指令(诸如计算机可读程序代码部分)在执行时仍然被配置为执行上述功能。
因此,流程图的块支持用于执行规定功能的部件的组合和用于执行规定功能的操作的组合。还应当理解,流程图的一个或多个块以及流程图中的块的组合可以由执行规定功能的基于专用硬件的计算机系统或者专用硬件和计算机指令的组合来实现。
在一些实施例中,上述操作中的某些操作可以被修改或进一步放大。此外,在一些实施例中,可以包括附加的可选操作。对上述操作的修改、添加或放大可以以任何顺序和任何组合来执行。
在上文中,已经参考SEI消息或SEI NAL单元描述了一些示例实施例。然而,需要理解的是,可以利用任何类似的结构或数据单元来类似地实现实施例。在已经利用结构中包含的SEI消息来描述示例实施例的情况下,任何独立可解析结构同样可以在实施例中被使用。在示例实施例中已经呈现了特定的SEI NAL单元和SEI消息语法结构,但是需要理解的是,实施例一般适用于具有与SEI NAL单元和/或SEI消息类似意图的任何语法结构。
在上文中,已经关于特定类型的参数集合(即自适应参数集合)描述了一些实施例。然而,需要理解的是,实施例可以利用比特流中的任何类型的参数集合或其他语法结构来实现。
在上文中,已经借助比特流的语法描述了一些示例实施例。然而,需要理解的是,对应的结构和/或计算机程序可以驻留在用于生成比特流的编码器处和/或驻留在用于对比特流进行解码的解码器处。
在上文中,在参考编码器描述了示例实施例的情况下,需要理解的是,所得到的比特流和解码器在它们中具有对应的元素。同样,在已经参考解码器描述了示例实施例的情况下,需要理解的是,编码器具有用于生成要由解码器解码的比特流的结构和/或计算机程序。
受益于前述描述和相关附图中呈现的教导的本发明所属领域的技术人员将想到本文所阐述的本发明的许多修改和其他实施例。因此,应当理解,本发明不限于所公开的特定实施例,并且修改和其他实施例旨在被包括在所附权利要求的范围内。此外,虽然前面的描述和相关联的附图在元件和/或功能的某些示例组合的上下文中描述了示例实施例,但是应当了解,在不背离所附权利要求的范围的情况下,元件和/或功能的不同组合可以由替代实施例来提供。就这一点而言,例如,也可以设想与上面明确描述的那些不同的元件和/或功能的组合,如可以在一些所附权利要求中阐述的那样。因此,本说明书旨在涵盖落入所附权利要求的范围内的所有此类替代、修改和变型。尽管在本文中使用了特定术语,但是它们仅用于一般和描述性的含义,而不是出于限制的目的。
应当理解,前述描述仅是说明性的。本领域技术人员可以设计出各种替代和修改。例如,各种从属权利要求中记载的特征可以以任何合适的组合而彼此组合。另外,上述不同实施例的特征可以被选择性地组合成新的实施例。因此,本说明书旨在涵盖落入所附权利要求的范围内的所有此类替代、修改和变型。

Claims (66)

1.一种方法,包括:
接收包括一个或多个媒体单元和第一增强信息消息的媒体比特流,其中所述第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;
对所述一个或多个媒体单元进行解码;以及
基于所述至少一个目的,使用所述一个或多个神经网络来增强或过滤所解码的一个或多个媒体单元的一个或多个帧。
2.一种方法,包括:
对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码,其中所述第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;以及
将所述媒体比特流用信号通知给解码器侧设备,其中所述一个或多个神经网络旨在被用于针对所述至少一个目的来增强或过滤解码的一个或多个媒体单元的一个或多个帧。
3.根据权利要求1或2所述的方法,其中所述第一增强信息消息包括神经网络(NN)补充增强信息(SEI)消息。
4.根据权利要求1或2所述的方法,其中所述第二独立可解析结构包括MPEG神经网络表示(NNR)比特流。
5.根据权利要求1或2所述的方法,其中所述一个或多个媒体单元包括一个或多个视频单元,并且其中所述一个或多个视频单元包括一个或多个网络抽象层视频单元。
6.根据权利要求1或2所述的方法,其中所述至少两个独立可解析结构中的一个或多个包括补充增强信息消息。
7.根据权利要求3所述的方法,其中所述NN SEI消息的有效负载包括:用于规定要被应用于所述一个或多个媒体单元的所述一个或多个NN的所述至少一个目的的一个或多个语法元素。
8.根据权利要求7所述的方法,其中所述至少两个独立可解析结构中的一个或多个包括:与所述补充增强信息消息相关联的、按照预定义顺序的一个或多个语法元素。
9.根据权利要求1或2所述的方法,其中所述第一增强信息消息还包括增益增强信息消息,其中所述增益增强信息消息规定在所述一个或多个NN被应用时实现的预期增益。
10.根据权利要求1或2所述的方法,其中所述第一增强信息消息还包括拓扑增强信息消息,并且其中所述拓扑增强信息消息规定用于执行在所述第一增强信息消息中规定的所述至少一个目的的拓扑子集。
11.根据权利要求1或2所述的方法,其中所述第一增强信息消息还包括:用于规定增强或过滤器是有效的范围的范围增强信息消息。
12.根据权利要求1或2所述的方法,还包括:对容器进行定义,其中所述容器包括:
用于识别所述一个或多个NN中的NN的标识符;以及
用于激活时间范围、空间范围或时空范围的过滤器激活增强信息消息。
13.根据权利要求1或2所述的方法,其中所述第一增强信息消息还包括:用于指示所述至少两个独立可解析结构中的哪些是强制被处理以便执行所述增强或过滤的信息。
14.根据权利要求12所述的方法,其中所述范围适用于从增强信息容器结构的位置直到特定事件出现在所述媒体比特流中为止有效。
15.根据权利要求1所述的方法,其中所述第二独立可解析结构将所述一个或多个神经网络识别为预定义NN,并且使用所述一个或多个NN包括:使用所述预定义NN来增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
16.根据权利要求2所述的方法,其中所述第二独立可解析结构将所述一个或多个神经网络识别为预定义NN,并且其中所述预定义NN被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
17.根据权利要求1所述的方法,还包括:
更新由所述第二独立可解析结构识别的NN;以及
使用所更新的NN来增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
18.根据权利要求2所述的方法,还包括:对容器进行定义,其中所述容器包括:
第二增强信息消息,其中所述第二增强信息消息还包括:用于经由参考识别标准神经网络或单独提供的神经网络的信息;以及
对所识别的神经网络的更新。
19.根据权利要求18所述的方法,其中对所述神经网络的所述更新由神经网络表示比特流来表示。
20.根据权利要求2所述的方法,还包括:更新由所述第二独立可解析结构识别的NN,其中所更新的NN被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
21.根据权利要求1所述的方法,其中解码器侧设备包括所述一个或多个NN的一组拓扑,并且其中拓扑包括NN的架构,所述NN的架构包括以下中的至少一个:层的数量、层的类型、每层的计算单元的数量、每层的卷积通道的数量、或层的超参数。
22.根据权利要求20所述的方法,其中所述第一增强信息还包括关于来自一组拓扑的拓扑的信息,所述拓扑要被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
23.根据权利要求21所述的方法,其中所述第一增强信息包括用于识别所述拓扑的独特标识符(ID)。
24.根据权利要求1或2所述的方法,其中所述第一增强信息包括:要被用于增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧的神经网络拓扑的表示。
25.根据权利要求3所述的方法,还包括:对所述NNR比特流进行解码,以提取所解码的一个或多个NN。
26.根据权利要求1或2所述的方法,其中所述媒体比特流或所述第一增强信息消息还包括缩放因子标志消息,并且其中所述缩放因子标志消息指示是否需要缩放所述一个或多个NN的输出。
27.根据权利要求26所述的方法,其中所述缩放因子标志消息包括:被用于缩放所述一个或多个NN的所述输出的一个或多个值。
28.根据权利要求26所述的方法,其中所述媒体比特流或所述第一增强信息消息还包括缩放因子消息,并且其中所述缩放因子消息包括被用于缩放所述一个或多个NN的所述输出的一个或多个值。
29.根据权利要求1或2所述的方法,其中所述媒体比特流或所述第一增强信息消息还包括残差过滤标志消息,并且其中所述残差过滤标志消息指示所述一个或多个NN的所述输出是否将被添加到所述一个或多个NN的输入。
30.根据权利要求1或2所述的方法,其中所述媒体比特流或所述第一增强信息消息还包括规范化标志消息,并且其中所述规范化标志消息指示要被应用于被输入到所述一个或多个NN的所述一个或多个帧的规范化模式。
31.根据权利要求30所述的方法,其中所述规范化标志消息包括要被使用的规范化值,以便对被输入到所述一个或多个NN的所述一个或多个帧进行规范化。
32.根据权利要求30所述的方法,其中所述媒体比特流或所述第一增强信息消息还包括规范化消息,并且其中所述规范化消息包括要被使用的规范化值,以便对被输入到所述一个或多个NN的所述一个或多个帧进行规范化。
33.根据前述权利要求中任一项所述的方法,其中所述媒体包括视频、图像或音频中的至少一个。
34.根据权利要求1所述的方法,还包括接收容器,其中所述容器包括:
第二增强信息消息,其中所述第二增强信息消息包括用于经由参考识别标准神经网络或单独提供的神经网络的信息;以及
对所识别的神经网络的更新。
35.根据权利要求34所述的方法,还包括:
通过使用对所识别的神经网络的所述更新来更新所识别的NN;以及
使用所更新的识别的NN来增强或过滤所解码的一个或多个媒体单元的所述一个或多个帧。
36.一种方法,包括:
接收包括或识别一个或多个神经网络(NN)的独立可解析结构;
接收本地或逻辑地包括所述可独立解析结构的媒体比特流;
通过使用所述独立可解析结构来获得所述一个或多个NN;以及
通过使用所获得的一个或多个NN,对所述媒体比特流的一个或多个媒体帧进行解码。
37.一种方法,包括:
对包括一个或多个媒体帧和独立可解析结构的媒体比特流进行编码,所述独立可解析结构包括或识别一个或多个神经网络(NN);以及
将本地或逻辑地包括所述可独立解析结构的所述媒体比特流用信号通知给解码器侧设备,其中通过使用所述可独立解析结构来获得所述一个或多个NN,并且其中通过使用所获得的一个或多个NN,对所述媒体比特流的所述一个或多个媒体帧进行解码。
38.根据权利要求36或37所述的方法,其中所述媒体比特流包括网络抽象层(NAL)单元。
39.根据权利要求36或37所述的方法,其中所述独立可解析结构包括非视频代码化层(非VCL)NAL单元。
40.根据权利要求36所述的方法,其中所述一个或多个神经网络包括一个或多个预定义NN,并且其中所述独立可解析结构识别出所述一个或多个NN包括一个或多个预定义NN,并且其中对所述媒体比特流的所述一个或多个媒体帧进行解码包括:使用一个或多个预定义NN来对所述媒体比特流的所述一个或多个媒体帧进行解码。
41.根据权利要求37所述的方法,其中所述一个或多个神经网络包括一个或多个预定义NN,并且其中所述独立可解析结构识别出所述一个或多个NN包括一个或多个预定义NN,并且其中所述一个或多个预定义NN被用于对所述媒体比特流的所述一个或多个媒体帧进行解码。
42.根据权利要求40所述的方法,还包括:更新所述一个或多个预定义NN,并且使用所更新的一个或多个预定义NN来对所述媒体比特流的所述一个或多个媒体帧进行解码。
43.根据权利要求41所述的方法,还包括:更新所述一个或多个预定义NN,其中所更新的一个或多个预定义NN被用于对所述媒体比特流的所述一个或多个媒体帧进行解码。
44.根据权利要求36所述的方法,还包括:更新所述一个或多个NN,并且使用所更新的NN来对所述媒体比特流的所述一个或多个媒体帧进行解码。
45.根据权利要求37所述的方法,还包括:更新所述一个或多个NN,并且其中所更新的NN被用于对所述媒体比特流的所述一个或多个媒体帧进行解码。
46.根据权利要求36或37所述的方法,其中一个或多个参数集合包括所述独立可解析结构。
47.根据权利要求46所述的方法,还包括:为所述媒体比特流定义一个或多个自适应参数集合,其中所述一个或多个自适应参数集合包括所述独立可解析结构,并且其中自适应参数类型指示神经网络过滤。
48.根据权利要求47所述的方法,其中所述一个或多个自适应参数集合包括一个或多个身份(ID),并且其中通过在切片标头或图片标头中用信号通知自适应参数集合的ID,所述ID使得能够使用在所述自适应参数集合中用信号通知的NN。
49.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,所述计算机程序代码在由所述至少一个处理器执行时使所述装置:
接收包括一个或多个媒体单元和第一增强信息消息的媒体比特流,其中所述第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;
对所述一个或多个媒体单元进行解码;以及
基于所述至少一个目的,使用所述一个或多个神经网络来增强或过滤所解码的一个或多个媒体单元的一个或多个帧。
50.根据权利要求49所述的装置,其中还使所述装置执行根据权利要求3至35中的一项或多项所述的方法。
51.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,所述计算机程序代码在由所述至少一个处理器执行时使所述装置:
对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码,其中所述第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;以及
将所述媒体比特流用信号通知给解码器侧设备,其中所述一个或多个神经网络旨在被用于针对所述至少一个目的来增强或过滤所解码的一个或多个媒体单元的一个或多个帧。
52.根据权利要求51所述的装置,其中还使所述装置执行根据权利要求3至35中的一项或多项所述的方法。
53.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,所述计算机程序代码在由所述至少一个处理器执行时使所述装置:
接收包括或识别一个或多个神经网络(NN)的独立可解析结构;
接收本地或逻辑地包括所述可独立解析结构的媒体比特流;
通过使用所述独立可解析结构来获得所述一个或多个NN;以及
通过使用所获得的一个或多个NN,对所述媒体比特流的一个或多个媒体帧进行解码。
54.根据权利要求53所述的装置,其中还使所述装置执行根据权利要求36至48中的一项或多项所述的方法。
55.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,所述计算机程序代码在由所述至少一个处理器执行时使所述装置:
对包括一个或多个媒体帧和独立可解析结构的媒体比特流进行编码,所述独立可解析结构包括或识别一个或多个神经网络(NN);以及
将本地或逻辑地包括所述可独立解析结构的所述媒体比特流用信号通知给解码器侧设备,其中通过使用所述可独立解析结构来获得所述一个或多个NN,并且其中通过使用所获得的一个或多个NN,对所述媒体比特流的所述一个或多个媒体帧进行解码。
56.根据权利要求55所述的装置,其中还使所述装置执行根据权利要求36至48中的一项或多项所述的方法。
57.一种计算机可读介质,包括用于执行至少以下操作的程序指令:
对包括一个或多个媒体单元和第一增强信息消息的媒体比特流进行编码,其中所述第一增强信息消息包括至少两个独立可解析结构,第一独立可解析结构以及第二独立可解析结构,所述第一独立可解析结构包括与要被应用于所述一个或多个媒体单元的一个或多个神经网络(NN)的至少一个目的有关的信息,所述第二独立可解析结构包括或识别所述一个或多个神经网络;以及
将所述媒体比特流用信号通知给解码器侧设备,其中所述一个或多个神经网络旨在被用于针对所述至少一个目的来增强或过滤所解码的一个或多个媒体单元的一个或多个帧。
58.根据权利要求57所述的计算机可读介质,其中所述计算机可读介质包括非暂时性计算机可读介质。
59.一种计算机可读介质,包括用于执行至少以下操作的程序指令:
接收包括或识别一个或多个神经网络(NN)的独立可解析结构;
接收本地或逻辑地包括所述可独立解析结构的媒体比特流;
通过使用所述独立可解析结构来获得所述一个或多个NN;以及
通过使用所获得的一个或多个NN,对所述媒体比特流的一个或多个媒体帧进行解码。
60.根据权利要求57所述的计算机可读介质,其中所述计算机可读介质包括非暂时性计算机可读介质。
61.一种计算机可读介质,包括用于至少执行以下操作的程序指令:
对包括一个或多个媒体帧和独立可解析结构的媒体比特流进行编码,所述独立可解析结构包括或识别一个或多个神经网络(NN);以及
将本地或逻辑地包括所述可独立解析结构的所述媒体比特流用信号通知给解码器侧设备,其中通过使用所述可独立解析结构来获得所述一个或多个NN,并且其中通过使用所获得的一个或多个NN,对所述媒体比特流的所述一个或多个媒体帧进行解码。
62.根据权利要求61所述的计算机可读介质,其中所述计算机可读介质包括非暂时性计算机可读介质。
63.一种方法,包括:
对包括一个或多个媒体帧的媒体比特流进行编码;
获得一个或多个神经网络(NN);
对包括或识别所述一个或多个NN的独立可解析结构进行编码,其中所述媒体比特流本地或逻辑地包括所述可独立解析结构;以及
通过使用所述一个或多个NN,重建被编码到所述媒体比特流中的一个或多个媒体帧。
64.根据权利要求63所述的方法,还包括:使用所重建的一个或多个媒体帧作为用于预测其他媒体帧的源。
65.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,所述计算机程序代码在由所述至少一个处理器执行时,使所述装置:
对包括一个或多个媒体帧的媒体比特流进行编码;
获得一个或多个神经网络(NN);
对包括或识别所述一个或多个NN的独立可解析结构进行编码,其中所述媒体比特流本地或逻辑地包括所述可独立解析结构;以及
通过使用所述一个或多个NN,重建被编码到所述媒体比特流中的一个或多个媒体帧。
66.根据权利要求65所述的装置,其中还使所述装置使用所重建的一个或多个媒体帧作为用于预测其他媒体帧的源。
CN202280026470.8A 2021-02-05 2022-02-03 用于在媒体比特流内用信号通知神经网络的高级语法 Pending CN117121480A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163146224P 2021-02-05 2021-02-05
US63/146,224 2021-02-05
PCT/IB2022/050955 WO2022167977A1 (en) 2021-02-05 2022-02-03 High-level syntax for signaling neural networks within a media bitstream

Publications (1)

Publication Number Publication Date
CN117121480A true CN117121480A (zh) 2023-11-24

Family

ID=80447739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280026470.8A Pending CN117121480A (zh) 2021-02-05 2022-02-03 用于在媒体比特流内用信号通知神经网络的高级语法

Country Status (3)

Country Link
EP (1) EP4289136A1 (zh)
CN (1) CN117121480A (zh)
WO (1) WO2022167977A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023163632A1 (en) * 2022-02-25 2023-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Neural network complexity metric for image processing
FR3137518A1 (fr) * 2022-06-29 2024-01-05 Fondation B-Com Procédé et dispositif de décodage, programme d’ordinateur et flux de données associés
WO2024061331A1 (en) * 2022-09-21 2024-03-28 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
WO2024080904A1 (en) * 2022-10-13 2024-04-18 Telefonaktiebolaget Lm Ericsson (Publ) Selective application of neural network based filtering to picture regions
WO2024078632A1 (en) * 2022-10-14 2024-04-18 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
WO2022167977A1 (en) 2022-08-11
WO2022167977A4 (en) 2022-10-13
EP4289136A1 (en) 2023-12-13

Similar Documents

Publication Publication Date Title
US20220256227A1 (en) High-level syntax for signaling neural networks within a media bitstream
EP3633990B1 (en) An apparatus and method for using a neural network in video coding
EP3120548B1 (en) Decoding of video using a long-term palette
CN117121480A (zh) 用于在媒体比特流内用信号通知神经网络的高级语法
CN113711594A (zh) 用于视频编码和解码的装置、方法和计算机程序
US20230217028A1 (en) Guided probability model for compressed representation of neural networks
EP4161072A1 (en) High-level syntax for signaling neural networks within a media bitstream
WO2023135518A1 (en) High-level syntax of predictive residual encoding in neural network compression
WO2022269415A1 (en) Method, apparatus and computer program product for providng an attention block for neural network-based image and video compression
WO2022238967A1 (en) Method, apparatus and computer program product for providing finetuned neural network
US20230325639A1 (en) Apparatus and method for joint training of multiple neural networks
US20210103813A1 (en) High-Level Syntax for Priority Signaling in Neural Network Compression
US20230196072A1 (en) Iterative overfitting and freezing of decoder-side neural networks
WO2022224113A1 (en) Method, apparatus and computer program product for providing finetuned neural network filter
US20240013046A1 (en) Apparatus, method and computer program product for learned video coding for machine
WO2022269469A1 (en) Method, apparatus and computer program product for federated learning for non independent and non identically distributed data
WO2022224069A1 (en) Syntax and semantics for weight update compression of neural networks
WO2021209907A1 (en) High level syntax and carriage for compressed representation of neural networks
US20230169372A1 (en) Appratus, method and computer program product for probability model overfitting
US20240121387A1 (en) Apparatus and method for blending extra output pixels of a filter and decoder-side selection of filtering modes
US20230186054A1 (en) Task-dependent selection of decoder-side neural network
US20230154054A1 (en) Decoder-side fine-tuning of neural networks for video coding for machines
US20240146938A1 (en) Method, apparatus and computer program product for end-to-end learned predictive coding of media frames
US20230412806A1 (en) Apparatus, method and computer program product for quantizing neural networks
WO2024084353A1 (en) Apparatus and method for non-linear overfitting of neural network filters and overfitting decomposed weight tensors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination