CN115151941A - 用于视频编码的方法和设备 - Google Patents

用于视频编码的方法和设备 Download PDF

Info

Publication number
CN115151941A
CN115151941A CN202180016162.2A CN202180016162A CN115151941A CN 115151941 A CN115151941 A CN 115151941A CN 202180016162 A CN202180016162 A CN 202180016162A CN 115151941 A CN115151941 A CN 115151941A
Authority
CN
China
Prior art keywords
picture
format
video
subsampled
prediction
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
CN202180016162.2A
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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN115151941A publication Critical patent/CN115151941A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/136Incoming video signal characteristics or properties
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 colour or a chrominance component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

本公开内容的各方面提供用于视频处理的方法和设备。在一些示例中,用于视频处理的设备包括处理电路。处理电路将颜色空间中的子采样格式的图片转换成颜色空间中的非子采样格式。然后,处理电路在将非子采样格式的图片作为输入提供给基于神经网络的滤波器之前,对非子采样格式的图片的颜色分量的值进行裁剪。

Description

用于视频编码的方法和设备
引用合并
本申请要求2021年8月31日提交的美国专利申请第17/463,352号“METHOD ANDAPPARATUS FOR VIDEO CODING”的优先权权益,该美国专利申请要求2020年12月29日提交的美国临时申请第63/131,656号的“APPLICATION OF CLIPPING TO IMPROVE PRE-PROCESSING IN A NEURAL NETWORK BASED IN-LOOP FILTER IN A VIDEO CODEC”的优先权权益。在此通过引用将在先申请的全部公开内容全部并入。
技术领域
本公开内容描述总体上涉及视频编码的实施方式。更具体地,本公开内容提供了用于改进基于神经网络的环路内滤波器的技术。
背景技术
本文提供的背景技术描述是为了总体上呈现本公开内容的上下文的目的。当前署名的发明人的工作,就在该背景技术部分中描述该工作的程度而言,以及在提交时可能不构成现有技术的说明书的各方面,既未明示地也未隐含地被承认为是本公开内容的现有技术。
可以使用具有运动补偿的图片间预测来执行视频编码和解码。未压缩数字视频可以包括一系列图片,每个图片具有例如1920×1080个亮度样本和相关色度样本的空间维度。该系列图片可以具有例如每秒60幅图片或60Hz的固定或可变的图片速率(非正式地也称为帧速率)。未压缩视频具有特定的比特率要求。例如,每样本8比特的1080p60 4:2:0视频(60Hz帧速率的1920×1080亮度样本分辨率)需要接近1.5Gbit/s带宽。一小时的这样的视频需要超过600千兆字节(GByte)的存储空间。
视频编码和解码的一个目的可以是通过压缩减少输入视频信号中的冗余。压缩可以帮助减少前述带宽或存储空间要求,在一些情况下减少两个数量级或更多。可以采用无损压缩和有损压缩两者及其组合。无损压缩是指可以由压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建信号可能与原始信号不相同,但是原始信号与重建信号之间的失真足够小,以使得重建信号对于预期应用有用。在视频的情况下,广泛采用有损压缩。容许的失真量取决于应用;例如,某些消费者流式传输应用的用户可以比电视分发应用的用户容忍更高的失真。可实现的压缩比可以反映:较高的可允许/可容忍的失真可以产生较高的压缩比。
视频编码器和解码器可以利用来自若干宽泛类别的技术,包括例如运动补偿、变换、量化和熵编码。
视频编解码技术可以包括被称为帧内编码的技术。在帧内编码中,在不参考来自先前重建的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,将图片在空间上细分为样本块。当所有的样本块都以帧内模式编码时,该图片可以是帧内图片。帧内图片及其派生(例如独立解码器刷新图片)可以用于重置解码器状态,并且因此可以用作经编码视频比特流和视频会话中的第一图片,或用作静止图片。可以使帧内块的样本经受变换,并且可以在熵编码之前量化变换系数。帧内预测可以是使预变换域的样本值最小的技术。在一些情况下,变换之后的DC值越小,且AC系数越小,在给定量化步长尺寸下表示熵编码之后的块所需的比特越少。
传统的帧内编码,例如从例如MPEG-2代编码技术中已知的帧内编码,不使用帧内预测。然而,一些较新的视频压缩技术包括从例如在空间相邻的并且按解码顺序在前的数据块的编码/解码期间获得的周围样本数据和/或元数据进行尝试的技术。这样的技术此后被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自重建中的当前图片而不是来自参考图片的参考数据。
可以有许多不同形式的帧内预测。当在给定视频编码技术中可以使用多于一种的这样的技术时,可以以帧内预测模式对所使用的技术进行编码。在某些情况下,模式可以具有子模式和/或参数,并且这些子模式和/或参数可以被单独地编码或被包括在模式码字中。对于给定模式/子模式/参数组合要使用哪些码字可能对通过帧内预测的编码效率增益有影响,并且用于将码字转换成比特流的熵编码技术也是如此。
帧内预测的特定模式被引入H.264,在H.265中被改进,并且在诸如联合探索模型(joint exploration model,JEM)、通用视频编码(versatile video coding,VVC)和基准集(benchmark set,BMS)的较新的编码技术中被进一步改进。可以使用属于已经可用的样本的相邻样本值来形成预测器块。根据方向将相邻样本的样本值复制到预测器块中。对使用方向的参考可以在比特流中编码或可以自身预测。
参照图1A,在右下方描绘了从H.265的33个可能的预测器方向(对应于35个帧内模式的33个角模式)中已知的九个预测器方向的子集。箭头会聚的点(101)表示被预测的样本。箭头表示样本被预测的方向。例如,箭头(102)指示样本(101)是从与水平成45度角的右上的一个或更多个样本预测的。类似地,箭头(103)指示样本(101)是从样本(101)的与水平成22.5度角的左下方的一个或更多个样本来预测的。
仍然参照图1A,在左上方,描绘了4×4个样本的方块(104)(由虚粗体线指示)。方块(104)包括16个样本,每个样本用“S”、其在Y维度上的位置(例如,行索引)和其在X维度上的位置(例如,列索引)来标记。例如,样本S21是Y维度上的第二样本(从顶部)和X维度上的第一样本(从左侧)。类似地,样本S44是块(104)中在Y维度和X维度上的第四样本。由于块的大小是4×4个样本,所以S44在右下。进一步显示了遵循类似编号方案的参考样本。参考样本用R、其相对于块(104)的Y位置(例如,行索引)和X位置(列索引)来标记。在H.264和H.265两者中,预测样本与重建中的块相邻;因此不需要使用负值。
通过复制来自由用信号指示的预测方向所划定的相邻样本的参考样本值,可以进行帧内图片预测。例如,假设经编码视频比特流包括以下信令:对于该块,该信令指示与箭头(102)一致的预测方向,也就是说,从与水平成45度角的右上方的一个或更多个预测样本来对样本进行预测。在这种情况下,样本S41、样本S32、样本S23和样本S14是从相同的参考样本R05预测的。然后从参考样本R08预测样本S44。
在某些情况下,多个参考样本的值可以例如通过插值来组合,以便计算参考样本;尤其是当方向不能以45度均匀地划分时。
随着视频编码技术的发展,可能的方向的数目也在增加。在H.264(2003年)中,可以表示九个不同的方向。在H.265(2013年)中增加到33,并且在公开时JEM/VVC/BMS可以支持多达65个方向。已经进行了实验来识别最可能的方向,并且熵编码中的某些技术被用于以少量的比特表示那些可能的方向,从而对于较不可能的方向接受某些惩罚。此外,有时可以从在相邻的已解码的块中使用的相邻方向来预测方向本身。
图1B示出了描绘根据JEM的65个帧内预测方向以示出预测方向的数目随时间的增加的示意图(180)。
经编码视频比特流中表示方向的帧内预测方向比特的映射可以随视频编码技术不同而不同;并且范围可以例如从预测方向到帧内预测模式的简单直接映射、到码字、到涉及最可能模式的复杂自适应方案以及类似技术。然而,在所有情况下,可以存在统计上与某些其他方向相比在视频内容中更不可能出现的某些方向。由于视频压缩的目标是减少冗余,所以在良好工作的视频编码技术中,与更可能的方向相比,那些较不可能的方向将由更多的比特来表示。
运动补偿可以是有损压缩技术,并且可以涉及这样的技术:来自先前重建的图片或其部分(参考图片)的样本数据块在由运动向量(此后称为MV)指示的方向上进行空间移位之后,被用于预测新重建的图片或图片部片。在一些情况下,参考图片可以与当前正在重建的图片相同。MV可以具有两个维度X和Y,或三个维度,第三个维度是使用中的参考图片的指示(后者可以间接地是时间维度)。
在一些视频压缩技术中,可应用于样本数据的某个区域的MV可以从其他MV预测,例如从与空间上邻近重建中的区域并且在解码顺序中在该MV之前的样本数据的另一区域相关的MV。这样做可以显著减少编码MV所需的数据量,从而消除冗余并增加压缩。MV预测可以有效地工作,例如,因为当对从摄像机得到的输入视频信号(称为自然视频)进行编码时,存在比单个MV所适用的区域更大的区域沿相似方向移动的统计可能性,并且因此在某些情况下可以使用从相邻区域的MV得到的相似运动向量来预测。这导致针对给定区域所发现的MV与从周围MV预测的MV相似或相同,并且转而可以在熵编码之后,用比直接编码MV将使用的比特数更少的比特数来表示。在一些情况下,MV预测可以是从原始信号(即,样本流)得出的信号(即,MV)的无损压缩的示例。在其他情况下,MV预测本身可能是有损的,例如,因为当从若干周围MV计算预测器时的舍入误差。
H.265/HEVC(ITU-T Rec.H.265,“High Efficiency Video Coding”,2016年12月)中描述了各种MV预测机制。在H.265提供的许多MV预测机制中,本文描述的是一种此后被称为“空间合并”的技术。
参照图2,当前块(201)包括在运动搜索过程期间由编码器发现能够从已经空间移位的相同大小的先前块预测的样本。代替直接编码MV,可以使用与表示为A0、A1和B0、B1、B2(分别为202至206)的五个周围样本中的任一个相关联的MV,从与一个或更多个参考图片相关联的元数据,例如从最近的(按解码顺序)参考图片来得出MV。在H.265中,MV预测可以使用来自相邻块正在使用的相同参考图片的预测器。
发明内容
本公开内容的各方面提供了用于视频处理的方法和设备。在一些示例中,用于视频处理的设备包括处理电路。处理电路将颜色空间中的子采样格式的图片转换为颜色空间中的非子采样格式。然后,处理电路在将非子采样格式的图片作为输入提供给基于神经网络的滤波器之前,裁剪非子采样格式的图片的颜色分量的值。
在一些示例中,处理电路将非子采样格式的图片的颜色分量的值裁剪到颜色分量的有效范围中。在示例中,处理电路将非子采样格式的图片的颜色分量的值裁剪到基于位深度确定的范围中。在另一示例中,处理电路将非子采样格式的图片的颜色分量的值裁剪到预定的范围中。
在一些示例中,处理电路基于来自携带图片的比特流的解码信息确定用于将值进行剪裁的范围,并且然后将非子采样格式的图片的颜色分量的值裁剪到确定的范围中。在示例中,处理电路从比特流中的序列参数集、图片参数集、切片头部和图块头部中的至少一个解码指示范围的信号。
在一些示例中,处理电路基于来自比特流的经解码信息重建子采样格式的图片,并且对子采样格式的图片应用解块滤波器。在一些示例中,处理电路将基于神经网络的滤波器应用于具有经裁剪值的非子采样格式的图片以生成非子采样格式的经滤波图片,并且将非子采样格式的经滤波图片转换为子采样格式的经滤波图片。
在一些示例中,将具有经裁剪值的非子采样格式的图片存储在存储装置中。然后,可以提供具有经裁剪值的非子采样格式的所存储的图片作为训练输入,以训练基于神经网络的滤波器中的神经网络。
本公开内容的各方面还提供了一种非暂态计算机可读介质,其存储指令,所述指令在由计算机执行以用于视频解码时使计算机执行用于视频处理的方法。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将变得更加明显,在附图中:
图1A是帧内预测模式的示例性子集的示意性图示;
图1B是示例性帧内预测方向的图示;
图2是一个示例中的当前块及其周围空间合并候选的示意性图示;
图3是根据实施方式的通信系统(300)的简化框图的示意性图示;
图4是根据实施方式的通信系统(400)的简化框图的示意性图示;
图5是根据实施方式的解码器的简化框图的示意性图示;
图6是根据实施方式的编码器的简化框图的示意性图示;
图7示出了根据另一实施方式的编码器的框图;
图8示出了根据另一实施方式的解码器的框图;
图9示出了一些示例中的环路滤波器单元的框图。
图10示出了一些示例中的另一环路滤波器单元的框图。
图11示出了一些示例中的基于神经网络的滤波器的框图。
图12示出了一些示例中的预处理模块的框图。
图13示出了一些示例中的神经网络结构的框图。
图14示出了密集残差单元的框图。
图15示出了一些示例中的后处理模块的框图。
图16示出了一些示例中的预处理模块的框图。
图17示出概述过程示例的流程图。
图18是根据实施方式的计算机系统的示意性图示。
具体实施方式
图3示出了根据本公开内容的实施方式的通信系统(300)的简化框图。通信系统(300)包括多个终端设备,这些终端设备可以经由例如网络(350)彼此通信。例如,通信系统(300)包括经由网络(350)互连的第一对终端设备(310)和(320)。在图3的示例中,第一对终端设备(310)和(320)执行数据的单向传输。例如,终端设备(310)可以对视频数据(例如,由终端设备(310)捕获的视频图片的流)进行编码,以经由网络(350)传输到另一终端设备(320)。编码的视频数据可以以一个或更多个经编码视频比特流的形式被发送。终端设备(320)可以从网络(350)接收经编码视频数据,解码该经编码视频数据以恢复视频图片,并且根据所恢复的视频数据显示视频图片。单向数据传输在媒体服务应用等中可能是常见的。
在另一示例中,通信系统(300)包括第二对终端设备(330)和(340),其执行可能例如在视频会议期间发生的经编码视频数据的双向传输。对于数据的双向传输,在示例中,终端设备(330)和(340)中的每个终端设备可以对视频数据(例如,由终端设备捕获的视频图片的流)进行编码以经由网络(350)传输到终端设备(330)和(340)中的另一终端设备。终端设备(330)和(340)中的每个终端设备还可以接收由终端设备(330)和(340)中的另一终端设备传输的经编码视频数据,并且可以解码经编码视频数据以恢复视频图片,并且可以根据所恢复的视频数据在可访问显示设备处显示视频图片。
在图3的示例中,终端设备(310)、(320)、(330)和(40)可以被图示为服务器、个人计算机和智能电话,但是本公开内容的原理可以不限于此。本公开内容的实施方式可应用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络(350)表示在终端设备(310)、(320)、(330)和(340)之间传送经编码视频数据的任意数量的网络,包括例如有线(连线)和/或无线通信网络。通信网络(350)可以在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于当前讨论的目的,除非以下在本文中说明,否则网络(350)的架构和拓扑结构对于本公开内容的操作可能是不重要的。
图4示出作为所公开的主题的应用的示例的视频编码器和视频解码器在流式传输环境中的布置。所公开的主题可以同样适用于其他具有视频功能的应用,包括例如视频会议、数字TV、将经压缩视频存储在包括CD、DVD、记忆棒等的数字媒介上。
流式传输系统可以包括捕获子系统(413),该捕获子系统可以包括视频源(401),例如数字摄像机,该视频源创建例如未压缩的视频图片流(402)。在示例中,视频图片流(402)包括由数字摄像机拍摄的样本。被描绘为粗线以强调与编码的视频数据(404)(或经编码视频比特流)相比时的高数据量的视频图片流(402)可以由包括耦合至视频源(401)的视频编码器(403)的电子设备(420)来处理。视频编码器(403)可以包括硬件、软件或其组合,以实施或实现如下面更详细描述的所公开的主题的各方面。被描绘为细线以强调与视频图片流(402)相比时的较低的数据量的编码的视频数据(404)(或编码的视频比特流(404))可以存储在流式传输服务器(405)上以供将来使用。一个或更多个流式传输客户端子系统,例如图4中的客户端子系统(406)和(408),可以访问流式传输服务器(405)以检索编码的视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子设备(430)中的视频解码器(410)。视频解码器(410)对编码的视频数据的输入副本(407)进行解码,并且创建可以在显示器(412)(例如,显示屏)或其他呈现设备(未描绘)上呈现的视频图片(411)的输出流。在一些流式传输系统中,可以根据某些视频编码/压缩标准对编码的视频数据(404)、(407)以及(409)(例如,视频比特流)进行编码。这些标准的示例包括ITU-T建议H.265。在示例中,正在开发中的视频编码标准被非正式地称为通用视频编码(VersatileVideo Coding,VVC)。所公开的主题可以在VVC的上下文中使用。
注意,电子设备(420)和(430)可以包括其他部件(未示出)。例如,电子设备(420)可以包括视频解码器(未示出),并且电子设备(430)也可以包括视频编码器(未示出)。
图5示出了根据本公开内容的实施方式的视频解码器(510)的框图。视频解码器(510)可以被包括在电子设备(530)中。电子设备(530)可以包括接收器(531)(例如,接收电路)。视频解码器(510)可以用来代替图4示例中的视频解码器(410)。
接收器(531)可以接收要由视频解码器(510)解码的一个或更多个经编码视频序列;在相同或另一实施方式中,每次一个经编码视频序列,其中每个经编码视频序列的解码独立于其他经编码视频序列。可以从信道(501)接收经编码视频序列,该信道可以是到存储编码的视频数据的存储装置的硬件/软件链路。接收器(531)可以接收具有其他数据的编码的视频数据,例如经编码音频数据和/或辅助数据流,其可以被转发到它们各自的使用实体(未描绘)。接收器(531)可以将经编码视频序列与其他数据分开。为了对抗网络抖动,缓冲存储器(515)可以耦合在接收器(531)与熵解码器/解析器(520)(此后称为“解析器(520)”)之间。在某些应用中,缓冲存储器(515)是视频解码器(510)的一部分。在其他实施方式中,缓冲存储器可以在视频解码器(510)外部(未描绘)。在其他实施方式中,在视频解码器(510)外部可以有缓冲存储器(未描绘),例如以对抗网络抖动,并且另外在视频解码器(510)内部可以有另一缓冲存储器(515),例如以处理播放定时。当接收器(531)从具有足够带宽和可控性的存储/转发设备或从等同步网络接收数据时,可能不需要缓冲存储器(515),或者缓冲存储器可以很小。为了在诸如因特网的尽力而为分组网络上使用,可能需要缓冲存储器(515),其可以相对较大,并且可以有利地具有自适应大小,并且可以至少部分地在视频解码器(510)外部的操作系统或类似元件(未描绘)中实现。
视频解码器(510)可以包括解析器(520)以从经编码视频序列重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息,以及潜在地包括用于控制呈现设备的信息,所述呈现设备是诸如不是电子设备(530)的组成部分但是可以耦合至电子设备(530)的呈现设备(512)(例如,显示屏),如图5所示。用于呈现设备的控制信息可以是补充增强信息(SEI消息)或视频可用性信息(Video Usability Information,VUI)参数集片段(未描绘)的形式。解析器(520)可以解析/熵解码所接收的经编码视频序列。经编码视频序列的编码可以根据视频编码技术或标准,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文敏感的算术编码等。解析器(520)可以基于与组相对应的至少一个参数、从经编码视频序列中提取用于视频解码器中的像素的子组中的至少一个的子组参数的集合。子组可以包括图片组(Groups of Picture,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(PredictionUnit,PU)等。解析器(520)还可以从经编码视频序列中提取诸如变换系数、量化器参数值、运动向量等的信息。
解析器(520)可以对从缓冲存储器(515)接收的视频序列执行熵解码/解析操作,以便创建符号(521)。
根据经编码视频图片或其部分的类型(例如:帧间图片和帧内图片、帧间块和帧内块)和其他因素,符号(521)的重建可以涉及多个不同的单元。涉及到哪些单元以及如何涉及这些单元能够由被解析器(520)从经编码视频序列解析的子组控制信息来控制。为了清楚起见,没有描绘在解析器(520)与下面的多个单元之间的这样的子组控制信息的流。
除了已经提到的功能块之外,视频解码器(510)可以在概念上细分为多个功能单元,如下所述。在商业约束下操作的实际实现中,这些单元中的许多彼此紧密地交互,并且可以至少部分地集成到彼此中。然而,为了描述所公开的主题的目的,以下概念上细分成功能单元是合适的。
第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收量化变换系数以及控制信息作为符号(521),该控制信息包括要使用何种变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可以输出包括可以被输入到聚合器(555)中的样本值的块。
在一些情况下,缩放器/逆变换(551)的输出样本可以涉及帧内编码块;即:不使用来自先前重建的图片的预测性信息,而是可以使用来自当前图片的先前重建部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前图片缓冲器(558)获取的周围的已经重建的信息来生成与重建中的块相同大小和形状的块。当前图片缓冲器(558)缓冲例如部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(555)基于每个样本将帧内预测单元(552)已经生成的预测信息添加到由缩放器/逆变换单元(551)提供的输出样本信息。
在其他情况下,缩放器/逆变换单元(551)的输出样本可以与经帧间编码的并且可能经运动补偿的块有关。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以获取用于预测的样本。在根据与块相关的符号(521)对所获取的样本进行运动补偿之后,这些样本可以由聚合器(555)添加到缩放器/逆变换单元(551)的输出(在这种情况下称为残差样本或残差信号),以便生成输出样本信息。运动补偿预测单元(553)从其获取预测样本的参考图片存储器(557)内的地址可以由运动向量控制,所述运动向量可以以可以具有例如X、Y和参考图片分量的符号(521)的形式被运动补偿预测单元(553)使用。运动补偿还可以包括当子样本精确运动向量在使用中时从参考图片存储器(557)获取的样本值的插值、运动向量预测机制等。
聚合器(555)的输出样本可以在环路滤波器单元(556)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,其由被包括在经编码视频序列(也称为经编码视频比特流)中的参数控制,并且作为来自解析器(520)的符号(521)可用于环路滤波器单元(556),但是也可以响应于在对经编码图片或经编码视频序列的先前(按解码顺序)部分进行解码期间获得的元信息,以及响应于先前重建和环路滤波的样本值。
环路滤波器单元(556)的输出可以是样本流,其可以被输出到呈现设备(512)以及被存储在参考图片存储器(557)中以供在将来的帧间图片预测中使用。
某些经编码图片一旦被完全重建,就可以被用作用于未来预测的参考图片。例如,一旦对应于当前图片的经编码图片被完全重建并且经编码图片已经被识别为参考图片(例如,通过解析器(520)),则当前图片缓冲器(558)可以变为参考图片存储器(557)的一部分,并且新的当前图片缓冲器可以在开始重建随后的经编码图片之前被重新分配。
视频解码器(510)可以根据标准(例如ITU-T建议H.265)中的预定视频压缩技术来执行解码操作。在经编码视频序列遵守视频压缩技术或标准的语法及视频压缩技术或标准中所记载的配置文件两者的意义上,经编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为按照该配置文件可用的仅有工具。合规性所必需的还有,经编码视频序列的复杂度在由视频压缩技术或标准的等级所限定的范围内。在一些情况下,等级限制最大图片大小、最大帧速率、最大重建采样率(例如以每秒百万样本来测量)、最大参考图片大小等。在一些情况下,由等级设置的限制可以通过假设参考解码器(Hypothetical ReferenceDecoder,HRD)规范和在经编码视频序列中用信号指示的用于HRD缓冲器管理的元数据来进一步限制。
在实施方式中,接收器(531)可以接收具有编码的视频的附加(冗余)数据。附加数据可以被包括作为经编码视频序列的一部分。附加数据可以由视频解码器(510)使用以适当地解码数据和/或更准确地重建原始视频数据。附加数据可以是例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等的形式。
图6示出了根据本公开内容的实施方式的视频编码器(603)的框图。视频编码器(603)被包括在电子设备(620)中。电子设备(620)包括发送器(640)(例如,发送电路)。视频编码器(603)可以用来代替图4的示例中的视频编码器(403)。
视频编码器(603)可以从视频源(601)(其不是图6的示例中的电子设备(620)的一部分)接收视频样本,该视频源可以捕获要由视频编码器(603)编码的视频图像。在另一示例中,视频源(601)是电子设备(620)的一部分。
视频源(601)可以以数字视频样本流的形式提供要由视频编码器(603)编码的源视频序列,该数字视频样本流可以具有任何适当的位深度(例如:8位、10位、12位、……)、任何颜色空间(例如,BT.601Y CrCB、RGB、……)以及任何适当的采样结构(例如Y CrCb 4:2:0、Y CrCb 4:4:4)。在媒体服务系统中,视频源(601)可以是存储预先准备的视频的存储设备。在视频会议系统中,视频源(601)可以是捕获本地图像信息作为视频序列的摄像机。视频数据可以作为在顺序观看时赋予运动的多个单独图片来提供。图片本身可以被组织为像素的空间阵列,其中,取决于使用中的采样结构、颜色空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。下面的描述集中在样本上。
根据实施方式,视频编码器(603)可以实时地或在应用所需的任何其他时间约束下将源视频序列的图片编码和压缩为经编码视频序列(643)。强制实行适当的编码速度是控制器(650)的一个功能。在一些实施方式中,控制器(650)控制如下所述的其他功能单元,并且在功能上耦合至其他功能单元。为了清楚起见,没有描绘该耦合。由控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、速率失真优化技术的λ值……)、图片大小、图片组(group of picture,GOP)布局、最大运动向量搜索范围等。控制器(650)可以被配置成具有与针对特定系统设计而优化的视频编码器(603)有关的其他适当功能。
在一些实施方式中,视频编码器(603)被配置成在编码环路中操作。作为过于简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片和参考图片创建诸如符号流的符号)和嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以与(远程)解码器也将创建的类似的方式(因为符号与经编码视频比特流之间的任何压缩在所公开的主题中考虑的视频压缩技术中是无损的)来重建符号以创建样本数据。将重建的样本流(样本数据)输入到参考图片存储器(634)。由于符号流的解码导致与解码器位置(本地或远程)无关的位精确(bit-exact)结果,所以参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是位精确的。换句话说,编码器的预测部分“看到”当解码器在解码期间使用预测时将“看到”的完全相同的样本值作为参考图片样本。参考图片同步性(以及如果例如由于信道误差而不能保持同步性而导致的漂移)的这种基本原理也被用在一些相关技术中。
“本地”解码器(633)的操作可以与“远程”解码器相同,“远程”解码器是例如已经结合图5在上面详细描述的视频解码器(510)。然而,简要地参照图5,由于符号是可用的并且通过熵编码器(645)和解析器(520)将符号编码/解码为经编码视频序列可以是无损的,所以视频解码器(510)的熵解码部分(包括缓冲存储器(515)和解析器(520))可能不能完全在本地解码器(633)中实现。
在这一点上可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必须以基本相同的功能形式存在于相应的编码器中。为此,所公开的主题集中于解码器操作。编码器技术的描述可以被简化,因为它们是全面描述的解码器技术的相反技术。下面仅在某些领域需要并提供更详细的描述。
在操作期间,在一些示例中,源编码器(630)可以执行运动补偿预测性编码,其参考来自视频序列的被指定为“参考图片”的一个或更多个先前经编码图片预测性地编码输入图片。以该方式,编码引擎(632)对输入图片的像素块与可以被选为输入图片的预测参考的参考图片的像素块之间的差异进行编码。
本地视频解码器(633)可以基于由源编码器(630)创建的符号对可以被指定为参考图片的图片的经编码视频数据进行解码。编码引擎(632)的操作可以有利地是有损过程。当可以在视频解码器(图6中未示出)处解码经编码视频数据时,重建的视频序列通常可以是具有一些错误的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码过程,并且可以使得重建的参考图片被存储在参考图片缓存(634)中。以此方式,视频编码器(603)可以本地存储重建的参考图片的副本,所述副本具有与将由远端视频解码器获得的重建的参考图片共同的内容(不存在传输错误)。
预测器(635)可以执行对编码引擎(632)的预测搜索。也就是说,对于要编码的新图片,预测器(635)可以从参考图片存储器(634)搜索可以充当用于新图片的适当预测参考的样本数据(作为候选参考像素块)或诸如参考图片运动向量、块形状等的特定元数据。预测器(635)可以样本块逐像素块地进行操作以找到适当的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片获得的预测参考。
控制器(650)可以管理源编码器(630)的编码操作,包括例如用于编码视频数据的参数和子组参数的设置。
所有前述功能单元的输出可以在熵编码器(645)中经历熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对符号无损压缩,将由各种功能单元生成的符号转换为经编码视频序列。
发送器(640)可以缓冲由熵编码器(645)创建的经编码视频序列,以准备经由通信信道(660)进行传输,该通信信道可以是到将存储编码的视频数据的存储设备的硬件/软件链路。发送器(640)可以将来自视频编码器(603)的经编码视频数据与要发送的其他数据(例如,经编码音频数据和/或辅助数据流(未示出源))合并。
控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以向每个经编码图片指定某个经编码图片类型,这可以影响可以应用于相应图片的编码技术。例如,图片通常可以被指定为以下图片类型中的一个:
帧内图片(I图片)可以是在不使用序列中的任何其他图片作为预测源的情况下可以被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。本领域技术人员知道I图片的那些变型及其各自的应用和特征。
预测性图片(P图片)可以是使用帧内预测或帧间预测来编码和解码的图片,其中帧内预测或帧间预测使用至多一个运动向量和参考索引来预测每个块的样本值。
双向预测性图片(B图片)可以是使用帧内预测或帧间预测来编码和解码的图片,其中帧内预测或帧间预测使用至多两个运动向量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联的元数据以用于重建单个块。
源图片通常可以在空间上细分为多个样本块(例如,每个4×4、8×8、4×8或16×16个样本的块)并且被逐块地编码。可以参考通过应用于块的相应图片的编码分配所确定其他(已经编码)块来预测性地编码块。例如,I图片的块可以被非预测地编码,或者它们可以参考同一图片的已经编码的块被预测地编码(空间预测或帧内预测)。P图片的像素块可以参考一个先前经编码参考图片经由空间预测或经由时间预测被预测性地编码。B图片的块可以参考一个或两个先前经编码参考图片经由空间预测或经由时间预测被预测性地编码。
视频编码器(603)可以根据预定视频编码技术或标准(例如ITU-T建议H.265)执行编码操作。在其操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,经编码视频数据可以符合由所使用的视频编码技术或标准指定的语法。
在实施方式中,发送器(640)可以与编码的视频一起发送附加数据。源编码器(630)可以包括这样的数据作为经编码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、诸如冗余图片和切片的其他形式的冗余数据、SEI消息、VUI参数集片段等。
视频可以被捕获为时间序列中的多个源图片(视频图片)。帧内图片预测(通常缩写为帧内预测)利用给定图片中的空间相关性,并且图片间预测利用图片之间的(时间或其他)相关性。在示例中,将被称为当前图片的、正在被编码/解码的特定图片划分为块。在当前图片中的块类似于视频中的先前经编码且仍缓冲的参考图片中的参考块时,可以通过被称为运动向量的向量来编码当前图片中的块。运动向量指向参考图片中的参考块,并且在使用多个参考图片的情况下,可以具有标识参考图片的第三维。
在一些实施方式中,双向预测技术可以用于帧间图片预测。根据双向预测技术,使用两个参考图片,例如第一参考图片和第二参考图片,其按照解码顺序均在视频中的当前图片之前(但可能在显示顺序上分别在过去和未来)。可以通过指向第一参考图片中的第一参考块的第一运动向量和指向第二参考图片中的第二参考块的第二运动向量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来对块进行预测。
此外,可以在帧间图片预测中使用合并模式技术以提高编码效率。
根据本公开内容的一些实施方式,以块为单位执行诸如帧间图片预测和帧内图片预测的预测。例如,根据HEVC标准,将视频图片序列中的图片划分成编码树单元(codingtree unit,CTU)以供压缩,图片中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。通常,CTU包括三个编码树块(coding tree block,CTB),它们是一个亮度CTB和两个色度CTB。可以将每个CTU递归地以四叉树分割成一个或多个编码单元(coding unit,CU)。例如,64×64像素的CTU可以被分割成64×64像素的一个CU,或32×32像素的4个CU,或16×16像素的16个CU。在示例中,分析每个CU以确定CU的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,将CU分割成一个或更多个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(prediction block,PB)和两个色度PB。在实施方式中,以预测块为单位执行编码(编码/解码)中的预测操作。使用亮度预测块作为预测块的示例,预测块包括像素(例如,8×8像素、16×16像素、8×16像素、16×8像素等)的值(例如,亮度值)的矩阵。
图7示出了根据本公开内容的另一实施方式的视频编码器(703)的图。视频编码器(703)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码为作为经编码视频序列的部分的经编码图片。在示例中,使用视频编码器(703)代替图4的示例中的视频编码器(403)。
在HEVC示例中,视频编码器(703)接收处理块(例如,8×8样本的预测块等)的样本值的矩阵。视频编码器(703)例如使用率失真优化来确定是否使用帧内模式、帧间模式或双向预测模式最佳地编码处理块。当处理块将以帧内模式被编码时,视频编码器(703)可以使用帧内预测技术来将处理块编码成经编码图片;并且当处理块将以帧间模式或双向预测模式编码时,视频编码器(703)可以分别使用帧间预测或双向预测技术将处理块编码成经编码图片。在某些视频编码技术中,合并模式可以是帧间图片预测子模式,其中,在不借助预测器外部的已编码运动矢量分量的情况下,从一个或更多个运动向量预测器得到运动向量。在某些其他视频编码技术中,可能存在可适用于主题块的运动向量分量。在示例中,视频编码器(703)包括其他部件,例如用于确定处理块的模式的模式决策模块(未示出)。
在图7的示例中,视频编码器(703)包括如图7所示耦合在一起的帧间编码器(730)、帧内编码器(722)、残差计算器(723)、开关(726)、残差编码器(724)、通用控制器(721)以及熵编码器(725)。
帧间编码器(730)被配置成接收当前块(例如,处理块)的样本,将块与参考图片中的一个或更多个参考块(例如,先前图片和后续图片中的块)进行比较,生成帧间预测信息(例如,根据帧间编码技术的冗余信息的描述、运动向量、合并模式信息),并且使用任何合适的技术基于帧间预测信息来计算帧间预测结果(例如,已预测块)。在一些示例中,参考图片是基于编码的视频信息解码的经解码参考图片。
帧内编码器(722)被配置成接收当前块(例如,处理块)的样本,在一些情况下将该块与同一图片中已经被编码的块进行比较,在变换之后生成量化系数,并且在一些情况下还生成帧内预测信息(例如,根据一个或更多个帧内编码技术的帧内预测方向信息)。在示例中,帧内编码器(722)还基于同一图片中的参考块和帧内预测信息来计算帧内预测结果(例如,已预测块)。
通用控制器(721)被配置成确定通用控制数据,并且基于通用控制数据来控制视频编码器(703)的其他部件。在示例中,通用控制器(721)确定块的模式,并且基于该模式向开关(726)提供控制信号。例如,当模式是帧内模式时,通用控制器(721)控制开关(726)以选择供残差计算器(723)使用的帧内模式结果,并且控制熵编码器(725)以选择帧内预测信息并且将帧内预测信息包括在比特流中;并且当模式是帧间模式时,通用控制器(721)控制开关(726)以选择供残差计算器(723)使用的帧间预测结果,并且控制熵编码器(725)以选择帧间预测信息并且将帧间预测信息包括在比特流中。
残差计算器(723)被配置成计算接收到的块与从帧内编码器(722)或帧间编码器(730)选择的预测结果之间的差(残差数据)。残差编码器(724)被配置成基于残差数据进行操作以对残差数据进行编码以生成变换系数。在示例中,残差编码器(724)被配置成将残差数据从空间域转换到频域,并且生成变换系数。然后,对变换系数进行量化处理,以获得量化的变换系数。在各种实施方式中,视频编码器(703)还包括残差解码器(728)。残差解码器(728)被配置成执行逆变换,并且生成解码的残差数据。解码的残差数据可以由帧内编码器(722)和帧间编码器(730)适当地使用。例如,帧间编码器(730)可以基于解码残差数据和帧间预测信息来生成解码块,并且帧内编码器(722)可以基于解码的残差数据和帧间预测信息来生成解码块。在一些示例中,解码块被适当地处理以生成解码的图片,并且解码的图片可以在存储器电路(未示出)中被缓冲并且被用作参考图片。
熵编码器(725)被配置成格式化比特流以包括编码的块。熵编码器(725)根据诸如HEVC标准的合适标准被配置成包括各种信息。在示例中,熵编码器(725)被配置成包括通用控制数据、所选择的预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和在比特流中的其他合适的信息。注意,根据所公开的主题,当在帧间模式或双向预测模式的合并子模式下对块进行编码时,不存在残差信息。
图8示出了根据本公开内容的另一实施方式的视频解码器(810)的图。视频解码器(810)被配置成接收作为经编码视频序列的一部分的经编码图片,并且对经编码图片进行解码以生成重建图片。在示例中,使用视频解码器(810)代替图4的示例中的视频解码器(410)。
在图8的示例中,视频解码器(810)包括如图8所示耦合在一起的熵解码器(871)、帧间解码器(880)、残差解码器(873)、重建模块(874)以及帧内解码器(872)。
熵解码器(871)可以被配置成根据经编码图片重建表示构成经编码图片的语法元素的某些符号。这样的符号可以包括例如对块进行编码的模式(诸如,帧内模式、帧间模式、双向预测模式,后两者的合并子模式或另一子模式)、可以识别分别用于由帧内解码器(872)或帧间解码器(880)进行的预测的某些样本或元数据的预测信息(诸如,帧内预测信息或帧间预测信息)、例如呈量化变换系数的形式的残差信息等。在示例中,当预测模式是帧间模式或双向预测模式时,帧间预测信息被提供给帧间解码器(880);并且当预测类型是帧内预测类型时,帧内预测信息被提供给帧内解码器(872)。残差信息可以经过逆量化,并且被提供给残差解码器(873)。
帧间解码器(880)被配置成接收帧间预测信息,并且基于帧间预测信息生成帧间预测结果。
帧内解码器(872)被配置成接收帧内预测信息,并且基于帧内预测信息生成预测结果。
残差解码器(873)被配置成执行逆量化以提取解量化的变换系数,并且处理解量化的变换系数以将残差从频域转换到空间域。残差解码器(873)也可能需要某些控制信息(以包括量化器参数(Quantizer Parameter,QP)),并且该信息可以由熵解码器(871)提供(未标示数据路径,因为这仅仅是低量控制信息)。
重建模块(874)被配置成在空间域中组合由残差解码器(873)输出的残差和预测结果(视情况而由帧间预测模块或帧内预测模块输出)以形成重建的块,该重建的块可以是重建的图片的一部分,该重建的图片又可以是重建的视频的一部分。应当注意,可以执行其他合适的操作,例如解块操作等,以改善视觉质量。
注意,可以使用任何合适的技术来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在实施方式中,视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)可以使用一个或更多个集成电路来实现。在另一实施方式中,视频编码器(403)、(603)和(603)以及视频解码器(410)、(510)和(810)可以使用执行软件指令的一个或更多个处理器来实现。
神经网络技术可以与视频编码技术一起使用,并且利用神经网络的视频编码技术可以被称为混合视频编码技术。例如,环路滤波器单元例如环路滤波器单元(556)可以应用各种环路滤波器以用于样本滤波。一个或更多个环路滤波器可以由神经网络实现。本公开内容的各方面提供了混合视频编码技术中的环路内滤波技术以用于使用神经网络来改善图片质量。具体地,根据本公开内容的一方面,可以在将数据馈送到基于神经网络的环路内滤波器的内核之前使用裁剪数据的技术。
根据本公开内容的一方面,环路滤波器是影响参考数据的滤波器。例如,由环路滤波器单元(556)滤波的图像存储在缓冲器中,例如参考图片存储器(557)中,作为进一步预测的参考。环路内滤波器可以提高视频编解码器中的视频质量。
图9示出了一些示例中的环路滤波器单元(900)的框图。在示例中,可以使用环路滤波器单元(900)来代替环路滤波器单元(556)。在图9的示例中,环路滤波器单元(900)包括解块滤波器(901)、样本自适应偏移(sample adaptive offset,SAO)滤波器(902)和自适应环路滤波器(adaptive loop filter,ALF)滤波器(903)。在一些示例中,ALF滤波器(903)可以包括交叉分量自适应环路滤波器(cross component adaptive loop filter,CCALF)。
在操作期间,在示例中,环路滤波器单元(900)接收重建的图片,对重建的图片应用各种滤波器,并且响应于重建的图片生成输出图片。
在一些示例中,解块滤波器(901)和SAO滤波器(902)被配置成去除在使用块编码技术时引入的块效应。解块滤波器(901)可以平滑在使用块编码技术时形成的形状边缘。SAO滤波器(902)可以将特定偏移应用于样本,以减少相对于视频帧中的其他样本的失真。ALF(903)可以将分类应用于例如样本的块,并且然后将与分类相关联的滤波器应用于样本的块。在一些示例中,滤波器的滤波器系数可以由编码器确定并且用信号通知给解码器。
在一些示例(例如,JVET-T0057)中,可以在解块滤波器(901)与SAO滤波器(902)之间插入被称为基于密集残差卷积神经网络的环路内滤波器(dense residualconvolutional neural network based in-loop filter,DRNLF)的附加滤波器。DRNLF可以进一步提高图像质量。
图10示出了一些示例中的环路滤波器单元(1000)的框图。在示例中,可以使用环路滤波器单元(1000)来代替环路滤波器单元(556)。在图10的示例中,环路滤波器单元(1000)包括解块滤波器(1001)、SAO滤波器(1002)、ALF滤波器(1003)和位于解块滤波器(1001)与SAO滤波器(1002)之间的DRNLF滤波器(1010)。
解块滤波器(1001)类似地被配置为解块滤波器(901),SAO滤波器(1002)类似地被配置为SAO滤波器(902),并且ALF滤波器(1003)类似地被配置为ALF滤波器(903)。
DRNLF滤波器(1010)接收由解块的图片(1011)示出的解块滤波器(1001)的输出,并且还接收重建的图片的量化参数(quantization parameter,QP)映射。QP映射包括重建的图片中的块的量化参数。DRNLF滤波器(1010)可以输出由具有提高的质量的经滤波图片(1019)示出的图片,并且经滤波图片(1019)被馈送到SAO滤波器(1002)以用于进一步的滤波处理。
根据本发明的一方面,用于视频处理的神经网络可以包括用于处理颜色空间中的颜色分量的多个通道。在示例中,可以使用YCbCr模型来定义颜色空间。在YCbCr模型中,Y表示亮度分量(明度),并且Cb和Cr表示色度分量。应当注意,在下面的描述中,使用YUV来描述使用YCbCr模型编码的格式。
根据本公开的一方面,神经网络中的多个通道被配置成对相同大小的颜色分量进行操作。在一些示例中,图片可以由不同大小的颜色分量来表示。例如,人类视觉系统对明度的变化比对颜色的变化敏感得多,因此视频系统可以压缩色度分量以减小文件大小并节省传输时间,而不会产生人眼所感知到的大的视觉差异。在一些示例中,利用人类视觉系统对颜色差异的敏锐度不如对亮度的敏锐度,而使用色度子采样技术来实现色度信息的分辨率小于亮度信息的分辨率。
在一些示例中,子采样可以表示为三部分比率,例如4:4:4、4:2:0、4:2:2、4:1:1等。例如,4:4:4(也称为YUV444)指示YCbCr分量的每一个具有相同的采样率而没有子采样;4:2:0(也称为YUV420)指示色度分量被子采样,每四个像素(或Y分量)可以对应于Cb分量和Cr分量。应当注意,在以下描述中使用YUV420作为子采样格式的示例来说明本公开内容中所公开的技术。所公开的技术可以用于其他子采样格式。为了便于描述,具有相同采样率而没有子采样的颜色分量的格式(例如,YUV444)被称为非子采样格式;并且具有被子采样的至少一个颜色分量的格式(例如,YUV420、YUV422、YUV411等)被称为子采样格式。
通常,神经网络可以对非子采样格式(例如,YUV444)的图片进行操作。因此,对于子采样格式的图片,图片在作为输入被提供给神经网络之前被转换成非子采样格式。
图11示出了一些示例中的DRNLF滤波器(1100)的框图。在示例中,可以使用DRNLF滤波器(1100)来代替DRNLF滤波器(1010)。DRNLF滤波器(1100)包括如图11所示耦合在一起的QP映射量化器(1110)、预处理模块(1120)、主处理模块(1130)和后处理模块(1140)。主处理模块(1130)包括如图11所示耦合在一起的分块抓取器(1131)、基于分块的DRNLF内核处理模块(1132)和分块重组器(1133)。
在一些示例中,QP映射包括被应用于重建当前重建的图片中的各个块的QP值的映射。QP映射量化器(1110)可以将值量化为一组预定值。在示例(例如,JVET-T0057)中,可以通过QP映射量化器(1110)将QP值量化为22、27、32和37中的一个。
预处理模块(1120)可以接收第一格式的经解块图片,并且将其转换为由主处理模块(1130)使用的第二格式。例如,主处理模块(1130)被配置成处理具有YUV444格式的图片。当预处理模块(1120)接收到与YUV444格式不同的格式的经解块图片时,预处理模块(1120)可以处理不同格式的经解块图片,并且输出YUV444格式的经解块图片。例如,预处理模块(1120)接收YUV420格式的经解块图片,并且然后以因数2对U色度通道和V色度通道水平和垂直地进行插值以生成YUV444格式的经解块图片。
主处理模块(1130)可以接收YUV444格式的经解块图片和量化的QP映射作为输入。分块抓取器(1131)将输入拆分为分块。DRNLF内核处理模块(1132)可以基于DRNLF内核分别处理每个分块。分块重组器(1133)可以将由DRNLF内核处理模块(1132)处理的分块组装成YUV444格式的经滤波图片。
后处理模块(1140)将第二格式的经滤波图片转换回第一格式。例如,后处理模块(1140)接收(从主处理模块(1130)输出的)YUV444格式的经滤波图片,并且输出YUV420格式的滤波图片。
图12示出了一些示例中的预处理模块(1220)的框图。在示例中,使用预处理模块(1220)来代替预处理模块(1120)。
预处理模块(1220)可以接收YUV420格式的经解块图片,将经解块图片转换为YUV444格式并且输出YUV444格式的经解块图片。具体地,预处理模块(1220)在三个输入通道中接收经解块图片,所述三个输入通道包括用于Y分量的亮度输入通道以及分别用于U(Cb)分量和V(Cr)分量的两个色度输入通道。预处理模块(1220)通过三个输出通道输出经解块图片,所述三个输出通道包括用于Y分量的亮度输出通道以及分别用于U(Cb)分量和V(Cr)分量的两个色度输出通道。
在示例中,当经解块图片具有YUV420格式时,Y分量具有大小(H,W),U分量具有大小(H/2,W/2)并且V分量具有大小(H/2,W/2),其中H表示经解块图片的高度(例如,以样本为单位)并且W表示经解块图片的宽度(例如,以样本为单位)。
在图12的示例中,预处理模块(1220)不调整Y分量的大小。预处理模块(1220)从亮度输入通道接收大小为(H,W)的Y分量,并且将大小为(H,W)的Y分量输出到亮度输出通道。
预处理模块(1220)分别调整U分量和V分量的大小。预处理模块(1220)包括分别处理U分量和V分量的第一调整大小单元(1221)和第二调整大小单元(1222)。例如,第一调整大小单元(1221)接收大小为(H/2,W/2)的U分量,将U分量的大小调整为大小(H,W),并且将大小为(H,W)的U分量输出到用于U分量的色度输出通道。第二调整大小单元(1222)接收大小为(H/2,W/2)的V分量,将V分量的大小调整为大小(H,W),并且将大小为(H,W)的V分量输出到用于V分量的色度输出通道。在一些示例中,第一调整大小单元(1221)基于插值例如使用Lanczos插值滤波器来调整U分量的大小。类似地,在一些示例中,第二调整大小单元(1222)基于插值例如使用Lanczos插值滤波器来调整V分量的大小。
在一些示例中,诸如使用Lanczos插值滤波器等的插值操作不能保证插值操作的输出是有意义的值,例如对于有意义的U(Cb)分量和V(Cr)分量是非负的。在一些示例中,可以存储预处理之后的YUV444格式的经解块图片,然后可以在神经网络的训练过程中使用所存储的YUV444格式的图片。U(Cb)分量和V(Cr)分量的负值会不利地影响神经网络的训练过程的结果。
图13示出了神经网络结构(1300)的框图。在一些示例中,神经网络结构(1300)用于基于密集残差卷积神经网络的环路内滤波器(dense residual convolutional neuralnetwork based in-loop filter,DRNLF),并且可以用于代替基于分块的DRNLF内核处理模块(1132)。神经网络结构(1300)包括一系列密集残差单元(dense residual unit,DRU),例如DRU(1301)至DRU(1304),并且DRU的数目由N表示。在图13中,卷积内核的数目由M表示,并且M也是用于卷积的输出通道的数目。例如,“CONV 3×3×M”指示具有内核大小为3×3的M个卷积内核的标准卷积,“DSC 3×3×M”指示具有内核大小为3×3的M个卷积内核的深度可分离卷积。可以针对计算效率与性能之间的权衡设置N和M。在示例(例如,JVET-T0057)中,将N设置为4并且将M设置为32。
在操作期间,神经网络结构(1300)通过分块(patch)来处理经解块图片。对于YUV444格式的经解块图片的每个分块,对分块进行标准化(例如,在图13的示例中除以1023),并且从标准化的分块中去除经解块图片的均值,以获得内部输入(1313)的第一部分(1311)。内部输入(1313)的第二部分来自QP映射。例如,从QP映射获得与形成第一部分(1311)的分块相对应的QP映射的分块(称为QP映射分块)。将QP映射分块标准化(例如,在图13中除以51)。标准化QP映射分块是内部输入(1313)的第二部分(1312)。将第二部分(1312)与第一部分(1311)串接(concatenate)以获得内部输入(1313)。将内部输入(1313)提供给第一规则卷积块(1351)(由CONV 3×3×M表示)。然后,由N个DRU处理第一规则卷积块(1351)的输出。
对于每个DRU,接收并处理中间输入。将DRU的输出与中间输入串接以形成用于接下来的DRU的中间输入。使用DRU(1302)作为示例,DRU(1302)接收中间输入(1321),处理中间输入(1321)并生成输出(1322)。将输出(1322)与中间输入(1321)串接以形成用于DRU(1303)的中间输入(1323)。
注意,由于中间输入(1321)具有多于M个通道的原因,可以将“CONV1×1×M”的卷积操作应用于中间输入(1321)以生成M个通道以用于由DRU(1302)进一步处理。还要注意,第一规则卷积块(1351)的输出包括M个通道,因此该输出可以由DRU(1301)处理而无需使用“CONV1×1×M”的卷积操作。
最后的DRU的输出被提供给最后的规则卷积块(1359)。例如通过将经解块图片的均值相加并乘以1023,将最后的规则卷积块(1359)的输出转换为规则图片分块值,如图13所示。
图14示出了密集残差单元(dense residual unit,DRU)(1400)的框图。在一些示例中,可以使用DRU(1400)来代替图13中的每个DRU,例如DRU(1301)、DRU(1302)、DRU(1303)和DRU(1304)。
在图14示例中,DRU(1400)接收中间输入x,并且通过捷径(1401)将中间输入x直接传播到随后的DRU。DRU(1400)还包括规则处理路径(1402)。在一些示例中,规则处理路径(1402)包括规则卷积层(1411)、深度可分离卷积(depthwise separable convolution,DSC)层(1412)和(1414)、以及整流线性单元(rectified linear unit,ReLU)层(1413)。例如,将中间输入x与规则处理路径(1402)的输出串接以形成用于后续DRU的中间输入。
在一些示例中,DSC层(1412)和(1414)用于降低计算成本。
根据本公开内容的一方面,神经网络结构(1300)包括分别对应于Y、U(Cb)、V(Cr)分量的三个通道。在一些示例中,这三个信道可以被称为Y信道、U信道和V信道。DRNLF滤波器(1100)可以应用于帧内图片和帧间图片。在一些示例中,用信号发送附加标志以指示在图片级和CTU级处DRNLF滤波器(1100)的开/关。
图15示出了一些示例中的后处理模块(1540)的框图。在示例中,可以使用后处理模块(1540)来代替后处理模块(1140)。后处理模块(1540)包括裁剪单元(1541)至(1543),这些裁剪单元分别将Y分量、U分量和V分量的值裁剪到预定的非负范围[a,b]中。在示例中,非负范围的下限a和上限b可以设置为a=16×4和b=234×4。此外,后处理模块(1540)包括分别将经裁剪的U分量和V分量从大小(H,W)调整到大小(H/2,W/2)的调整大小单元(1545)和调整大小单元(1546),其中,H是原始图片(例如,经解块图片)的高度并且W是原始图片的宽度。
本公开内容的各方面提供了预处理的技术。预处理的数据可以存储并用于神经网络的训练,并且得到更好的训练和推理结果。
图16示出了一些示例中的预处理模块(1620)的框图。在示例中,使用预处理模块(1620)来代替预处理模块(1120)。
预处理模块(1620)可以接收YUV420格式的经解块图片,将经解块图片转换为YUV444格式并输出YUV444格式的经解块图片。具体地,预处理模块(1620)在三个输入通道中接收经解块图片,所述三个输入通道包括用于Y分量的亮度输入通道以及分别用于U(Cb)分量和V(Cr)分量的两个色度输入通道。预处理模块(1620)通过三个输出通道输出经解块图片,所述三个输出通道包括用于Y分量的亮度输出通道以及分别用于U分量和V分量的两个色度输出通道。
在示例中,当经解块图片具有YUV420格式时,Y分量具有大小(H,W),U分量具有大小(H/2,W/2)并且V分量具有大小(H/2,W/2),其中,H表示经解块图片的高度(例如,以样本为单位)并且W表示经解块图片的宽度(例如,以样本为单位)。
在图16示例中,预处理模块(1620)不调整Y分量的大小。预处理模块(1620)从亮度输入通道接收大小为(H,W)的Y分量,并且将大小为(H,W)的Y分量输出到亮度输出通道。
预处理模块(1620)分别调整U分量和V分量的大小。预处理模块1620包括分别处理U分量和V分量的第一调整大小单元(1621)和第二调整大小单元(1622)。例如,第一调整大小单元(1621)接收大小为(H/2,W/2)的U分量,将U分量的大小调整为大小(H,W),并且将大小为(H,W)的U分量输出到用于U分量的色度输出通道。第二调整大小单元(1622)接收大小为(H/2,W/2)的V分量,将V分量的大小调整为大小(H,W),并且将大小为(H,W)的V分量输出到用于V分量的色度输出通道。在一些示例中,第一调整大小单元(1621)基于插值例如使用Lanczos插值滤波器调整U分量的大小。类似地,在一些示例中,第二调整大小单元(1622)基于插值例如使用Lanczos插值滤波器调整V分量的大小。
在一些示例中,诸如使用Lanczos插值滤波器等的插值操作不能保证插值操作的输出是有意义的值,诸如对于有意义的U(Cb)分量和V(Cr)分量是非负的。
在图16的示例中,预处理模块(1620)包括裁剪单元(1625)和裁剪单元(1626),以分别将插值后的U分量和V分量的值裁剪到[c,d]的范围中。在一些示例中,用于预处理的Y分量、U分量和V分量的值具有位深度(bitdepth)10,则c和d可以设置为c=0且d=2bitdepth-1=1023。
在示例中,预定义并使用c值和d值。在另一示例中,预定义多对c值和d值,并且可以在比特流中(例如,在序列参数集(sequence parameter set,SPS)、图片参数集(pictureparameter set,PPS)、切片或图块头部中)用信号指示用于裁剪的成对c值和d值的索引。
在一些示例中,可以将U分量和V分量的经裁剪值以及Y分量的值存储为YUV444格式的经解块图片。在一些实施方式中,YUV444格式的存储图片可以用作神经网络(例如主处理模块(1130)中的神经网络)的训练过程中的输入。在一些示例中,将U分量和V分量的值裁剪到将不会不利地影响神经网络的训练过程的范围内。在示例中,将U分量和V分量的值裁剪为非负的。
在一些示例中,在使用以YUV444格式存储的具有经裁剪值的图片的情况下,由于通过避免训练期间的预处理(例如,调整大小、裁剪)步骤而节省了时间,因此可以加速神经网络的训练。另外,可以用能够提高压缩效率和/或图片质量的更好的模型参数来训练神经网络。
在一些示例中,在预处理模块(1620)中添加裁剪单元(1625)和裁剪单元(1626)可以例如以较低的Bjontegaard德尔塔速率(Bjontegaard delta rate,BD-rate)来提高压缩效率和/或质量。
图17示出了概述根据本公开内容的实施方式的过程(1700)的流程图。该过程(1700)可以用于视频处理。在各种实施方式中,过程(1700)由处理电路执行,处理电路例如是终端设备(310)、(320)、(330)和(340)中的处理电路、执行视频编码器(403)的功能的处理电路、执行视频解码器(410)的功能的处理电路、执行视频解码器(510)的功能的处理电路、执行视频编码器(603)的功能的处理电路等。在一些实施方式中,过程(1700)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(1700)。该过程在(S1701)处并且进行至(S1710)。
在(S1710)处,将色彩空间中的子采样格式的图片转换为色彩空间中的非子采样格式。在一些示例中,转换是基于插值而执行,并且可能产生无效值。在示例中,转换可能产生对YCbCr模型无效的负值。
在(S1720)处,在将非子采样格式的图片作为输入提供给基于神经网络的滤波器之前,对非子采样格式的图像的一个或更多个颜色分量的值进行裁剪。在一些示例中,一个或更多个颜色分量可以是色度分量。然后,处理进行至(S1799)。
在示例中,将非子采样格式的图片的颜色分量的值裁剪到该颜色分量的有效范围中。在示例中,将非子采样格式的图片的颜色分量的值裁剪为非负。在另一示例中,基于位深度来确定范围。例如,该范围的下限是0,并且该范围的上限设置为(2bitdepth)-1。
在一些示例中,该范围是预定的。在一些示例中,基于来自携带图片的比特流的经解码信息来确定范围。在一些示例中,从比特流中的序列参数集、图片参数集、切片头部和图块头部中的至少一个解码指示范围的信号。
在示例中,可以预先确定多个范围。然后,可以在比特流中的序列参数集、图片参数集、切片头部和图块头部之一中携带指示多个范围中的一个的索引。
在一些示例中,在解码器中使用过程(1700)。例如,基于来自比特流的经解码信息来重建子采样格式的图片,并且在将子采样格式的图片从子采样格式转换为非子采样格式之前,对子采样格式的图片应用解块滤波器。在另一示例中,将基于神经网络的滤波器应用于具有经裁剪值的非子采样格式的图片,以生成非子采样格式的经滤波图片,并且然后将非子采样格式的经滤波图片转换为子采样格式的经滤波图片。
在一些示例中,将具有经裁剪值的非子采样格式的图片存储在存储装置中。然后,可以提供具有经裁剪值的非子采样格式的图片以及其他图片作为训练输入,以训练基于神经网络的滤波器中的神经网络。
应当注意,以上描述中的各种单元、块和模块可以通过各种技术(例如处理电路、执行软件指令的处理器、硬件和软件的组合等)来实现。
可以使用计算机可读指令将上述技术实现为计算机软件,并且将其物理地存储在一个或更多个计算机可读介质中。例如,图18示出了适于实现所公开的主题的某些实施方式的计算机系统(1800)。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,其可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(central processing unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)等直接执行,或者通过解释、微代码执行等来执行。
指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图18中所示的计算机系统(1800)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。也不应该将部件的配置解释为具有与计算机系统(1800)的示例性实施方式中示出的任一部件或其组合相关的任何依赖性或要求。
计算机系统(1800)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于一个或更多个人类用户通过例如触觉输入(诸如:键击、滑动、数据手套移动)、音频输入(诸如:语音、拍手)、视觉输入(诸如:手势)、嗅觉输入(未描绘)的输入。人机接口设备还可以用于捕获不一定与人的有意识输入直接相关的某些媒体,诸如音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静止图像摄像机获得的摄影图像)、视频(诸如:二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下中的一个或更多个(每个仅描绘一个):键盘(1801)、鼠标(1802)、轨迹板(1803)、触摸屏(1810)、数据手套(未示出)、操纵杆(1805)、麦克风(1806)、扫描仪(1807)、摄像机(1808)。
计算机系统(1800)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏(1810)、数据手套(未示出)或操纵杆(1805)的触觉反馈,但是还可以存在不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器(1809)、耳机(未描绘))、视觉输出设备(诸如屏幕(1810),以包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每一者具有或不具有触摸屏输入能力,每一者具有或不具有触觉反馈能力——其中的一些可以通过诸如立体图形输出、虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘)的装置来输出二维视觉输出或多于三维输出),以及打印机(未描绘)。
计算机系统(1800)还可以包括人类可访问的存储设备及其相关联的介质,诸如包括具有CD/DVD等介质(1821)的CD/DVD ROM/RW(1820)的光学介质、拇指驱动器(1822)、可移动硬盘驱动器或固态驱动器(1823)、诸如磁带和软盘的传统磁介质(未描绘)、诸如安全软件狗的基于专用ROM/ASIC/PLD的设备(未描绘)等。
本领域技术人员还应当理解,结合本发明所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬态信号。
计算机系统(1800)还可以包括至一个或更多个通信网络(1855)的接口(1854)。网络可以例如是无线的、有线的、光学的。网络还可以是本地的、广域的、城市的、车载的和工业的、实时的、延迟容忍的等。网络的示例包括:诸如以太网的局域网;无线LAN;包括GSM(Global System for Mobile Communication)、3G(Third Generation)、4G(FourthGeneration)、5G(Fifth Generation)、LTE(Long Term Evolution)等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线连接或无线广域数字网络;包括CAN总线的车载和工业网络等。某些网络通常需要外部网络接口适配器,其附接至某些通用数据端口或外围总线(1849)(例如,计算机系统(1800)的USB端口);其他网络通常通过附接至如下所述的系统总线而集成到计算机系统(1800)的核(例如以太网接口集成到PC计算机系统或蜂窝网络接口集成到智能电话计算机系统)中。使用这些网络中的任何一个,计算机系统(1800)可以与其他实体通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如,至某些CAN总线设备的CAN总线)、或双向的,例如,到使用局域或广域数字网络的其他计算机系统。可以在如上所述的这些网络和网络接口中的每个网络和网络接口上使用某些协议和协议栈。
上述人机接口设备、人可访问的存储设备以及网络接口可以附接至计算机系统(1800)的核(1840)。
核(1840)可以包括一个或更多个中央处理单元(Central Processing Unit,CPU)(1841)、图形处理单元(Graphics Processing Unit,GPU)(1842)、现场可编程门区(FieldProgrammable Gate Area,FPGA)形式的专用可编程处理单元(1843)、用于某些任务的硬件加速器(1844)、图形适配器(1850)等。这些设备,连同只读存储器(Read-only memory,ROM)(1845)、随机存取存储器(1846)、诸如内部非用户可访问硬盘驱动器的内部大容量存储装置、SSD(1847)等,可以通过系统总线(1848)连接。在一些计算机系统中,系统总线(1848)可以以一个或更个物理插头的形式访问,以使得能够通过附加的CPU、GPU等来扩展。外围设备可以直接或通过外围总线(1849)附接至核的系统总线(1848)。在示例中,屏幕(1810)可以连接至图形适配器(1850)。外围总线的架构包括PCI、USB等。
CPU(1841)、GPU(1842)、FPGA(1843)和加速器(1844)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(1845)或RAM(1846)中。过渡数据也可以存储在RAM(1846)中,而永久数据可以存储在例如内部大容量存储装置(1847)中。可以通过使用高速缓冲存储器来实现对任何存储器设备的快速存储和检索,所述高速缓冲存储器可以与一个或更多个CPU(1841)、GPU(1842)、大容量存储装置(1847)、ROM(1845)、RAM(1846)等紧密关联。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本公开的目的而专门设计和构造的介质和计算机代码,或者它们可以是计算机软件领域的技术人员公知和可用的类型的。
作为示例而非限制,具有架构的计算机系统(1800),并且尤其是核(1840)可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如上所述的用户可访问大容量存储装置以及诸如核内部大容量存储装置(1847)或ROM(1845)的具有非暂态性的核(1840)的特定存储装置相关联的介质。实现本公开内容的各种实施方式的软件可以存储在这样的设备中并且由核(1840)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核(1840)并且具体地使其中的处理器(包括CPU、GPU、FPGA等)执行本文描述的特定过程或特定过程的特定部分,包括定义存储在RAM(1846)中的数据结构以及根据由软件定义的过程修改这样的数据结构。另外或作为替选,计算机系统可以提供作为硬连线或以其他方式包含在电路(例如:加速器(1844))中的逻辑的结果的功能,该逻辑可以代替软件或与软件一起操作以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包含逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如集成电路(integrated circuit,IC))、包含用于执行的逻辑的电路、或存储用于执行的软件的电路以及包含用于执行的逻辑的电路两者。本公开内容包含硬件和软件的任何合适的组合。
附录A:首字母缩写
JEM:联合探索模型
VVC:通用视频编码
BMS:基准集
MV:运动向量
HEVC:高效视频编码
SEI:补充增强信息
VUI:视频可用性信息
GOP:图片组
TU:变换单元
PU:预测单元
CTU:编码树单元
CTB:编码树块
PB:预测块
HRD:假设参考解码器
SNR:信噪比
CPU:中央处理单元
GPU:图形处理单元
CRT:阴极射线管
LCD:液晶显示器
OLED:有机发光二极管
CD:致密盘
DVD:数字视频光盘
ROM:只读存储器
RAM:随机存取存储器
ASIC:专用集成电路
PLD:可编程逻辑设备
LAN:局域网
GSM:全球移动通信系统
LTE:长期演进
CANBus:控制器局域网总线
USB:通用串行总线
PCI:外围部件互连
FPGA:现场可编程门区
SSD:固态驱动器
IC:集成电路
CU:编码单元
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替代等同物。因此,应当理解,本领域技术人员将能够设计出虽然未在本文明确示出或描述但体现本公开内容的原理并且因此在本公开内容的精神和范围内的许多系统和方法。

Claims (20)

1.一种视频处理的方法,包括:
由处理电路将颜色空间中的子采样格式的图片转换成所述颜色空间中的非子采样格式;以及
在将所述非子采样格式的图片作为输入提供给基于神经网络的滤波器之前,由所述处理电路对所述非子采样格式的图片的颜色分量的值进行裁剪。
2.根据权利要求1所述的方法,还包括:
将所述非子采样格式的图片的颜色分量的值裁剪到所述颜色分量的有效范围内。
3.根据权利要求1所述的方法,还包括:
将所述非子采样格式的图片的颜色分量的值裁剪到基于位深度确定的范围内。
4.根据权利要求1所述的方法,还包括:
将所述非子采样格式的图片的颜色分量的值裁剪到预定的范围内。
5.根据权利要求1所述的方法,还包括:
基于来自携带所述图片的比特流的经解码信息来确定用于将所述值进行剪裁的范围;以及
将所述非子采样格式的图片的颜色分量的值裁剪到确定的范围内。
6.根据权利要求5所述的方法,还包括:
从所述比特流中的序列参数集、图片参数集、切片头部和图块头部中的至少一个解码指示所述范围的信号。
7.根据权利要求1所述的方法,还包括:
基于来自比特流的经解码信息来重建所述子采样格式的图片。
8.根据权利要求1所述的方法,还包括:
对具有经裁剪值的所述非子采样格式的图片应用基于神经网络的滤波器,以生成所述非子采样格式的经滤波图片;以及
将所述非子采样格式的经滤波图片转换为所述子采样格式的经滤波图片。
9.根据权利要求1所述的方法,还包括:
存储具有经裁剪值的所述非子采样格式的图片。
10.根据权利要求9所述的方法,还包括:
提供具有所述经裁剪值的所述非子采样格式的所存储图片作为训练输入以训练所述基于神经网络的滤波器中的神经网络。
11.一种用于视频处理的设备,其包括处理电路,所述处理电路被配置成:
将颜色空间中的子采样格式的图片转换成所述颜色空间中的非子采样格式;以及
在将所述非子采样格式的图片作为输入提供给基于神经网络的滤波器之前,对所述非子采样格式的图片的颜色分量的值进行裁剪。
12.根据权利要求11所述的设备,其中,所述处理电路被配置成:
将所述非子采样格式的图片的颜色分量的值裁剪到所述颜色分量的有效范围内。
13.根据权利要求11所述的设备,其中,所述处理电路被配置成:
将所述非子采样格式的图片的颜色分量的值裁剪到基于位深度确定的范围内。
14.根据权利要求11所述的设备,其中,所述处理电路被配置成:
将所述非子采样格式的图片的颜色分量的值裁剪到预定的范围内。
15.根据权利要求11所述的设备,其中,所述处理电路被配置成:
基于来自携带所述图片的比特流的经解码信息来确定用于将所述值进行剪裁的范围;以及
将所述非子采样格式的图片的颜色分量的值裁剪到确定的范围内。
16.根据权利要求15所述的设备,其中,所述处理电路被配置成:
从所述比特流中的序列参数集、图片参数集、切片头部和图块头部中的至少一个解码指示所述范围的信号。
17.根据权利要求11所述的设备,其中,所述处理电路被配置成:
基于来自比特流的经解码信息来重建所述子采样格式的图片。
18.根据权利要求11所述的设备,其中,所述处理电路被配置成:
对具有经裁剪值的所述非子采样格式的图片应用基于神经网络的滤波器,以生成所述非子采样格式的经滤波图片;以及
将所述非子采样格式的经滤波图片转换为所述子采样格式的经滤波图片。
19.根据权利要求11所述的设备,还包括:
存储装置,其被配置成存储具有经裁剪值的所述非子采样格式的图片。
20.根据权利要求19所述的设备,其中,所述处理电路被配置成:
提供具有所述经裁剪值的所述非子采样格式的所存储图片作为训练输入以训练所述基于神经网络的滤波器中的神经网络。
CN202180016162.2A 2020-12-29 2021-09-08 用于视频编码的方法和设备 Pending CN115151941A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063131656P 2020-12-29 2020-12-29
US63/131,656 2020-12-29
US17/463,352 US11838522B2 (en) 2020-12-29 2021-08-31 Method and apparatus for video coding
US17/463,352 2021-08-31
PCT/US2021/049516 WO2022146503A1 (en) 2020-12-29 2021-09-08 Method and apparatus for video coding

Publications (1)

Publication Number Publication Date
CN115151941A true CN115151941A (zh) 2022-10-04

Family

ID=82119936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180016162.2A Pending CN115151941A (zh) 2020-12-29 2021-09-08 用于视频编码的方法和设备

Country Status (6)

Country Link
US (1) US11838522B2 (zh)
EP (1) EP4081977A4 (zh)
JP (1) JP7443559B2 (zh)
KR (1) KR20220130183A (zh)
CN (1) CN115151941A (zh)
WO (1) WO2022146503A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11765011B2 (en) * 2021-07-06 2023-09-19 Huawei Technologies Co., Ltd. Method and apparatus for transmitting and receiving data
US20240080463A1 (en) * 2022-09-02 2024-03-07 Tencent America LLC Cross component sample clipping
WO2024078635A1 (en) * 2022-10-14 2024-04-18 Douyin Vision Co., Ltd. Down-sampling methods and ratios for super-resolution based video coding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003051035A1 (en) * 2001-10-02 2003-06-19 Hewlett-Packard Company Reduction of chromatic bleeding artifacts inimage
US8085277B2 (en) * 2004-01-30 2011-12-27 Broadcom Corporation System and method for clipping values of pixels in one color space so not to exceed the limits of a second color space
KR100700984B1 (ko) * 2005-06-20 2007-03-29 삼성전자주식회사 영상처리장치
US8279240B2 (en) 2008-09-29 2012-10-02 Intel Corporation Video scaling techniques
US10034007B2 (en) * 2011-05-20 2018-07-24 Nvidia Corporation Non-subsampled encoding techniques
EP2804378A1 (en) * 2013-05-14 2014-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Chroma subsampling
US9524450B2 (en) * 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
WO2016186547A1 (en) * 2015-05-21 2016-11-24 Telefonaktiebolaget Lm Ericsson (Publ) Pixel pre-processing and encoding
GB201512278D0 (en) * 2015-07-14 2015-08-19 Apical Ltd Hybrid neural network
US11113800B2 (en) * 2017-01-18 2021-09-07 Nvidia Corporation Filtering image data using a neural network
EP3685577A4 (en) 2017-10-12 2021-07-28 MediaTek Inc. METHOD AND DEVICE OF A NEURAL NETWORK FOR VIDEO ENCODING
US20220014723A1 (en) * 2018-12-03 2022-01-13 Google Llc Enhancing performance capture with real-time neural rendering
US10999606B2 (en) * 2019-01-08 2021-05-04 Intel Corporation Method and system of neural network loop filtering for video coding
JP2022526107A (ja) * 2019-03-24 2022-05-23 オッポ広東移動通信有限公司 フィルタリング方法、装置、エンコーダ及びコンピュータ記憶媒体
CN115243056A (zh) * 2019-03-24 2022-10-25 抖音视界有限公司 视频处理中的多参数自适应环路滤波
WO2020216176A1 (en) * 2019-04-20 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Signaling of chroma syntax elements in video coding
US11412262B2 (en) 2019-06-24 2022-08-09 Qualcomm Incorporated Nonlinear extensions of adaptive loop filtering for video coding
KR20220088427A (ko) * 2019-11-04 2022-06-27 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 교차 성분 적응적 루프 필터
US20220182618A1 (en) * 2020-12-08 2022-06-09 Electronics And Telecommunications Research Institute Method, apparatus and storage medium for image encoding/decoding using filtering

Also Published As

Publication number Publication date
EP4081977A1 (en) 2022-11-02
US20220210446A1 (en) 2022-06-30
US11838522B2 (en) 2023-12-05
EP4081977A4 (en) 2023-05-10
JP2023515890A (ja) 2023-04-14
KR20220130183A (ko) 2022-09-26
JP7443559B2 (ja) 2024-03-05
WO2022146503A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
CN111837390B (zh) 用于视频编码、解码的方法和相关装置
CN112789850B (zh) 一种视频编解码方法、装置、设备和介质
CN111989918B (zh) 视频解码的方法、装置及存储介质
CN110708555B (zh) 视频解码方法、装置、计算机设备以及存储介质
CN112470478B (zh) 视频解码方法、装置和计算机设备
CN116389735A (zh) 一种用于视频编码的方法和相关装置
CN111050178B (zh) 视频解码的方法、装置、电子设备、存储介质
CN112753223B (zh) 用于视频解码的方法、装置和计算机可读介质
CN113597763A (zh) 视频编解码的方法及装置
CN113557527A (zh) 通用视频编解码中色彩变换的方法和装置
US11838522B2 (en) Method and apparatus for video coding
CN113574894A (zh) 用于帧内预测模式与块差分脉冲编码调制模式之间交互的方法和装置
US20220201307A1 (en) Method and apparatus for video coding
CN112235573B (zh) 视频编解码的方法、装置、电子设备、存储介质
CN110798686A (zh) 视频解码的方法、装置、计算机设备及计算机可读存储介质
CN112840657A (zh) 用于视频编码的方法和设备
CN115428461A (zh) 用于视频编解码的方法和装置
CN111989929B (zh) 视频解码方法、装置及计算机可读介质
CN114375570A (zh) 用于视频编码的方法及装置
CN115428024A (zh) 解耦变换分割技术
CN115486075A (zh) 视频编解码的方法和装置
CN115176461A (zh) 视频编解码的方法和装置
CN113728649A (zh) 用于视频编解码的方法和装置
CN114342384A (zh) 用于去块操作的高级控制
CN115997383A (zh) 具有多变换选择的自适应扫描

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40075484

Country of ref document: HK