CN112534818B - 使用运动和对象检测的用于视频编码的译码参数的基于机器学习的自适应 - Google Patents

使用运动和对象检测的用于视频编码的译码参数的基于机器学习的自适应 Download PDF

Info

Publication number
CN112534818B
CN112534818B CN201880096397.5A CN201880096397A CN112534818B CN 112534818 B CN112534818 B CN 112534818B CN 201880096397 A CN201880096397 A CN 201880096397A CN 112534818 B CN112534818 B CN 112534818B
Authority
CN
China
Prior art keywords
image
block
motion
sample
video
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.)
Active
Application number
CN201880096397.5A
Other languages
English (en)
Other versions
CN112534818A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112534818A publication Critical patent/CN112534818A/zh
Application granted granted Critical
Publication of CN112534818B publication Critical patent/CN112534818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/124Quantisation
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本公开涉及:使用译码参数对视频图像进行编码,上述译码参数是基于视频图像的运动和机器学习模型的输出进行自适应的,视频图像的块的样本和样本的运动信息被馈送至该机器学习模型。基于从运动信息中确定的运动强度,使用上述输入以及纹理,机器学习模型将视频图像分割为区域。基于运动和纹理检测视频中的对象,且基于运动强度和所检测到的对象是否移动,确定空间‑时间译码参数。使用输入了运动信息和块样本的机器学习模型并结合对象的纹理信息,能够进行更准确的图像分割,并因此能够就不太相关的背景和动态图像内容而言根据图像内容的重要性来优化译码参数,该动态图像内容包括快速移动和缓慢移动的不同尺寸的对象。

Description

使用运动和对象检测的用于视频编码的译码参数的基于机器 学习的自适应
技术领域
本公开涉及使用译码参数对视频图像进行编码。
背景技术
视频译码(视频编码和解码)广泛用于数字视频应用,例如广播数字TV、互联网和移动网络上的视频传输、视频聊天和视频会议等实时会话应用、DVD和蓝光光盘、视频内容采集和编辑系统、以及安全应用的可携式摄像机。
随着1990年H.261标准中基于块的混合型视频译码方式的发展,新的视频译码技术和工具得到发展,并且形成新的视频译码标准的基础。大多数视频译码标准的目标之一是在保证图像质量的情况下,实现相比前一个标准更低的码率。其他视频译码标准包括MPEG-1视频、MPEG-2视频、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(advanced video coding,AVC)、ITU-T H.265、高效视频译码(highefficiencyvideocoding,HEVC)、以及这些标准的扩展,例如,可扩展性和/或三维(three-dimensional,3D)扩展。
在兼容H.264/AVC或HEVC(H.265)或下一代的标准视频编码器和解码器中,诸如帧率、图像尺寸、或量化参数(quantizationparameter,QP)等用于视频图像编码的译码参数通常是预设的,并向编码器信令通知这些译码参数。然而,特别是对于视频监控应用,一个关键的问题是如何确定这些译码参数,以使计算机视觉设备的性能最优化。在监控问题中,一个关键的方面是检测在除图像背景之外的视频图像中是否存在诸如人、机动车、或非机动车等感兴趣的对象、这些对象是否在移动、以及移动得有多快。根据以上因素,可以随时调整译码参数,从而达到最佳的监控效果。
发明内容
实施例由独立权利要求的特征定义,并且实施例的其他有利实施方式由从属权利要求的特征定义。
根据本公开的一个方面,提供了一种用于对视频图像的样本进行编码的装置,该装置包括处理电路,该处理电路用于确定视频图像中的样本的运动信息;基于基于机器学习的模型(machine-learning-based model,也称为机器学习模型)的输出确定译码参数,该机器学习模型以运动信息和样本为输入;通过应用该译码参数对样本进行编码。
使用机器学习模型可以提供以下优点:通过利用基于运动信息分类视频图像的机器学习模型,改进了对译码参数的确定。
在本公开的一个示例性实施方式中,该样本是块中预定数量的多个样本之一,并且该样本的运动信息是基于块的运动矢量确定的。
根据本公开的一个方面,该装置的处理电路还用于将视频图像划分成相同尺寸的译码树单元(coding tree unit);将该译码树单元之一分层地拆分成多个译码单元(coding unit);为多个译码单元中的每个译码单元确定运动矢量;向机器学习模型输入译码树单元和为该译码树单元的多个译码单元确定的相应的运动矢量。
在译码树的数据片段中向机器学习模型提供包括视频图像和运动矢量的输入,可以提供确保与标准视频码兼容的优点。
根据本公开的一个方面,处理电路用于向机器学习模型输入:(i)译码树单元;(ii)块,块的尺寸为译码树单元的尺寸,对于译码树单元中的每个样本,该块包括该每个样本所属译码单元的运动矢量的水平分量;(iii)块,块的尺寸为译码树单元的尺寸,对于译码树单元中的每个样本,该块包括该每个样本所属译码单元的运动矢量的垂直分量。
在本公开的一个示例性实施例中,机器学习模型包括第一基于机器学习的子模型,该子模型以译码树单元为输入;第二基于机器学习的子模型,该子模型以运动矢量为输入;第三基于机器学习的子模型,该子模型以第一基于机器学习的子模型的输出和第二基于机器学习的子模型的输出为输入。
这可以提供以下优点:由中间的第一子模型和第二子模型以单独的方式对输入数据执行预处理。特别地,由中间子模型进行的预处理可以包括对包括运动矢量分量和译码树单元在内的输入数据的单独分类,每个子模型针对其特定类型的输入进行优化。由此,可以更准确地对译码参数进行自适应。
根据本公开的一个方面,机器学习模型用于将输入的样本分类为属于感兴趣区域(region of interest,ROI)或非感兴趣区域(region of non-interest,RONI)。
根据本公开的一个方面,处理电路还用于获得作为机器学习模型的输出的图(map),该图指定视频图像中的ROI和RONI,其中,对于每个样本或样本块,该图包括对上述样本或样本块是属于ROI还是RONI的指示。
这可以提供以下优点:通过使用ROI-RONI图,以快速的方式对译码参数进行自适应。
根据本公开的一个方面,机器学习模型用于使用机器学习模型检测视频图像内的对象。
例如,处理电路用于通过根据运动对视频图像的帧率进行自适应,以确定译码参数。
在一个示例性实施例中,处理电路还用于基于样本所在的块的运动矢量的度量,计算样本的运动。
根据本公开的一个方面,处理电路还用于通过以下方式对帧率进行自适应:将在视频帧中检测到对象的情况下的帧率设置为高于没有检测到对象的情况下的帧率,和/或根据视频图像中检测到的运动的总量设置帧率。
这提供了以下优点:针对不同尺寸和不同移动速度的对象优化了译码参数。特别地,对于小型且快速移动的对象,可以对译码参数进行调优以实现最优的编码视频图像。
在本公开的一个示例性实施例中,处理电路用于通过基于是否在视频图像中检测到对象对空间分辨率进行自适应,以确定译码参数。
在本公开的一个示例性实施例中,处理电路还用于,在视频图像中检测到对象的情况下,将空间分辨率设置成高于在视频图像中没有检测到对象的情况,且空间分辨率是每个视频图像的样本数量。
根据对象检测结果和对象运动强度对译码参数进行自适应可以提供以下优点:根据视频图像内的对象存在及其移动特性确定更准确的译码参数。
例如,与空间分辨率相关的译码参数是量化参数(quantization parameter,QP)。
在本公开的一个示例性实施例中,处理电路还用于,将在样本属于ROI的情况下的样本的量化参数设置为低于在样本属于RONI的情况下的样本的量化参数。
结合使用ROI-RONI和对象检测进行译码参数的自适应可以提供以下优点:在快速变化的环境下进行快速且更准确的背景提取和小型对象的检测,上述背景提取和检测与视频监控、计算机视觉驱动的视频编(解)码、或自动驾驶相关,其中,纹理、运动、以及对象检测都很重要。
根据本公开的一个方面,提供了一种用于对视频图像的样本进行编码的方法,该方法包括以下步骤:确定视频图像中的块的样本的运动信息;基于机器学习模型的输出确定译码参数,该机器学习模型以运动信息和块的样本为输入;通过应用译码参数对视频帧进行编码。
根据本公开的一个方面,该方法还包括以下步骤:将视频图像划分成相同尺寸的译码树单元;将该译码树单元之一分层地拆分成多个译码单元;为多个译码单元中的每个译码单元确定运动矢量;向机器学习模型输入译码树单元和为该译码树单元的多个译码单元确定的相应的运动矢量。
根据本公开的一个方面,该方法还包括以下步骤:向机器学习模型输入:(i)译码树单元;(ii)块,块的尺寸为译码树单元的尺寸,对于译码树单元中的每个样本,该块包括该每个样本所属译码单元的运动矢量的水平分量;(iii)块,块的尺寸为译码树单元的尺寸,对于译码树单元中的每个样本,该块包括该每个样本所属译码单元的运动矢量的垂直分量。
在本公开的一个示例性实施例中,与机器学习模型相关的方法步骤包括以下步骤:将译码树单元输入第一基于机器学习的子模型中;将运动矢量输入第二基于机器学习的子模型中;将第一基于机器学习的子模型的输出和第二基于机器学习的子模型的输出输入第三基于机器学习的子模型中。
在本公开的一个示例性实施例中,该方法包括以下步骤:由机器学习模型将输入样本分类为属于感兴趣区域(region of interest,ROI)或非感兴趣区域(region of non-interest,RONI)。
根据本公开的一个方面,方法步骤包括:获得作为机器学习模型的输出的图,该图指定视频图像中的ROI和RONI,其中,对于每个样本或样本块,该图包括对上述样本或样本块是属于ROI还是RONI的指示。
在本公开的一个示例性实施方式中,该方法还包括使用机器学习模型检测视频图像内的对象的步骤。
在本公开的一个示例性实施方式中,该方法还包括通过根据运动对视频图像的帧率进行自适应,以确定译码参数的步骤。
例如,该方法步骤包括基于样本所在的块的运动矢量的度量,计算样本的运动。
根据本公开的一个方面,该方法包括通过以下方式对帧率进行自适应:将在视频帧中检测到对象的情况下的帧率设置为高于没有检测到对象的情况下的帧率,和/或根据视频图像中检测到的运动的总量设置帧率。
在本公开的一个示例性实施例中,该方法包括通过基于是否在视频图像中检测到对象对空间分辨率进行自适应,以确定译码参数的步骤。
根据本公开的一个方面,方法步骤还包括,将在视频图像中检测到对象的情况下的空间分辨率设置成高于在视频图像中没有检测到对象的情况下的空间分辨率,且空间分辨率是每个视频图像的样本数量。
在本公开的一个示例性实施例中,方法步骤包括,将在样本属于ROI的情况下的样本的量化参数设置成低于在样本属于RONI的情况下的样本的量化参数。
根据本公开的一个方面,提供了一种用于存储程序的计算机可读非暂时性介质,包括指令,该指令在处理器上执行时使处理器执行方法步骤。
在以下附图和说明书中,描述了一个或多个实施例的细节。根据说明书、附图、以及权利要求,其他特征、对象、以及优点将显而易见。
附图说明
下文结合附图和图示对实施例进行详细描述,在附图中:
图1为示出用于实现本发明实施例的视频编码器的示例的框图。
图2为示出用于实现本发明实施例的视频解码器的示例结构的框图。
图3为示出用于实现本发明实施例的视频译码系统的示例的框图。
图4为示出视频译码器(编码器或解码器)及其接口的框图。
图5为示出说明了不同尺寸的对象的检测问题的示意图。
图6为示出说明了使用运动但不使用纹理的非感兴趣对象的错误检测的示意图。
图7为CNN仅使用纹理进行像素级背景分割的框图。
图8为实施例的框图,在该实施例中,使用运动信息根据机器学习模型的输出对译码参数进行自适应。
图9为根据实施例的装置的框图,该装置包括用于机器学习和译码参数自适应的各种模块。
图10A为数据结构的示意图,该数据结构用于将图像内容CTU块与相同尺寸的运动矢量MV合并,以输入CNN进行ROI-RONI分类。
图10B为数据结构的示意图,类似于图10A,运动矢量MV在调整该MV的尺寸后与CTU尺寸相同,并输入CNN。
图10C为尺寸数据结构的示意图,该数据结构不调整MV尺寸,但使用了额外的子网2和3,这两个子网进行数据处理以使这两个子网的输出尺寸相同尺寸,以便合并。
图11A为具有用于帧率自适应的运动分析模块的框图。
图11B为图11A的框图,增加了图像尺寸调整。
图11C为图11B的框图,增加了QP图发生器。
图12为具有机器学习模型、ST自适应、QP图生成器、编码器、以及图像捕捉元件和云外包的系统的框图。
在下文中,相同的附图标记指代相同或至少功能上等同的特征。
具体实施方式
以下描述中,参考附图,附图构成本公开一部分并以图示的方式示出实施例的具体方面或可使用描述的实施例的具体方面。应理解,实施例可在其他方面中使用,并且可以包括未在附图中绘制出的结构变化或逻辑变化。因此,下述具体实施方式并不作为限定,本发明的范围由所附权利要求书界定。
例如,应理解,结合所描述方法的公开内容对于用于执行该方法的对应设备或系统也同样适用,反之亦然。例如,如果描述的是一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元分别执行多个步骤中的一个或多个),即使附图中未明确描述或示出这种一个或多个单元。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述具体装置,则对应的方法可以包括一个步骤来实现一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤分别执行多个单元中一个或多个单元的功能),即使附图中未明确描述或示出这种一个或多个步骤。此外,应理解,除非另有特别说明,否则本文描述的各种示例性实施例和/或方面的特征可彼此组合。
视频译码通常是指对构成视频或视频序列的图像序列进行处理。在视频译码领域,术语“帧(frame)”与“图像(picture/image)”可以用作同义词。视频译码(coding)包括两部分:视频编码(encoding)和视频解码(decoding)。视频编码在源侧执行,通常包括处理(例如,压缩)原始视频图像,以减少表示视频图像所需的数据量(从而实现更高效的存储和/或传输)。视频解码在目的侧执行,通常包括相对于编码器作逆处理,以重建视频图像。实施例涉及的视频图像(或通常称为图像,将在下文解释)的“译码(coding)”应理解为同时涉及视频图像的“编码”和“解码”。编码部分和解码部分也合称为编解码(编码和解码,CODEC)。
在无损视频译码(lossless video coding)情况下,可以重建原始视频图像,即重建的视频图像与原始视频图像具有相同的质量(假设在存储或传输期间没有传输损耗或其他数据丢失)。在有损视频译码(lossy video coding)情况下,通过量化等进行进一步压缩,来减少表示视频图像所需的数据量,而解码器侧无法完全重建视频图像,即重建的视频图像的质量相比原始视频图像的质量较低或较差。
自H.261以来的几个视频译码标准属于“有损混合视频编解码(lossy hybridvideo codec)”组(即,将样本域中的空间预测和时间预测与变换域中用于应用量化的2D变换译码结合)。视频序列中的每个图像通常分割成不重叠块的集合,通常在块级进行译码。换句话说,在编码器侧,通常在块(视频块)级对视频进行处理(即编码),例如,通过空间(帧内)预测和时间(帧间)预测来生成预测块;从当前块(当前处理的块/待处理的块)中减去预测块,得到残差块;在变换域中对残差块进行变换和量化,以减少待传输(压缩)的数据量,而在解码器侧,将相对于编码器的逆处理应用于经编码或压缩的块,以重建当前块以进行表示。此外,编码器和解码器的处理步骤相同,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于对后续块进行处理(即译码)。
由于视频图像处理(也称为移动图像处理)和静止图像处理(术语“处理”包括译码)共享许多概念和技术或工具,所以在下文中,术语“图像”用于指视频序列中的视频图像(如上文所解释)和/或静止图像,以避免在不需要时对视频图像与静止图像之间进行不必要的重复和区分。如果描述仅仅是指静止图像,应使用术语“静止图像”。
在以下实施例中,基于图1至图3描述了编码器100、解码器200、和译码系统300,然后基于图8至图12更详细地描述本发明的实施例。
图3是示出了译码系统300(例如,图像译码系统300)的实施例的示意性框图,译码系统300包括源设备310,源设备310用于将编码数据330(例如,编码图像330)提供给目的地设备320等,以对编码数据330进行解码。
源设备310包括编码器100或编码单元100,并且还(即可选地)可以包括图像源312、预处理单元314(例如,图像预处理单元314)、以及通信接口或通信单元318。
图像源312可以包括或可以是任何类型的图像捕获设备,用于捕获真实世界图像等;和/或任何类型的图像生成设备,例如,用于生成计算机动画图像的计算机图形处理器;或任何类型的设备,用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像)和/或其任何组合(例如,增强现实(augmentedreality,AR)图像)。在下文中,除非另有特别描述,否则“图像”将指所有这些类型的图像和任何其他类型的图像,而之前关于术语“图像”(涵盖“视频图像”和“静止图像”)的解释仍然适用,除非有明确的不同规定。
(数字)图像为或可以看作具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以称为像素(pixel/pel)(图像元素的简称)。阵列或图像在水平方向和垂直方向(或轴)上的样本数量限定了图像的尺寸和/或分辨率。为了表示颜色,通常采用三种颜色分量,即图像可以表示为或包括三个样本阵列。在RGB格式或颜色空间中,图像包括对应的红色、绿色和蓝色样本阵列。然而,在视频译码中,每个像素通常由亮度/色度格式或在颜色空间中表示,例如,YCbCr,包括通过Y指示的亮度分量(有时也用L指示)和通过Cb和Cr指示的两个色度分量。亮度(luminance,简称luma)分量Y表示亮度或灰度级强度(例如,类似在灰度图像中),而两个色度(chrominance,简称chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图像包括亮度样本值(Y)的亮度样本阵列和色度值(Cb和Cr)的两个色度样本阵列。RGB格式的图像可以转换或变换成YCbCr格式,反之亦然。该过程也称为颜色变换或颜色转换。如果图像是单色的,则该图像可以仅包括亮度样本阵列。
图像源312可以是用于捕获图像的相机、包括或存储先前捕获或生成的图像的存储器(例如,图像存储器),和/或任何类型的用于获取或接收图像的(内部或外部)接口等。例如,上述相机可以是集成在源设备中的本地或集成相机,上述存储器可以是集成在源设备等中的本地或集成存储器。例如,上述接口可以是从外部视频源接收图像的外部接口,其中,上述外部视频源为诸如相机等的外部图像捕获设备、外部存储器,或诸如外部计算机图形处理器、计算机或服务器等的外部图像生成设备。上述接口可以是任何类型的根据任何专有或标准化接口协议的接口,例如,有线或无线接口、光接口。用于获取图像数据312的接口可以是与通信接口318相同的接口,或作为通信接口318的一部分。
为了区分预处理单元314和预处理单元314执行的处理,图像或图像数据313也可以称为原始图像或原始图像数据313。
预处理单元314用于接收(原始)图像数据313并对图像数据313进行预处理,以获得经预处理的图像315或经预处理的图像数据315。预处理单元314执行的预处理可以包括调整、颜色格式转换(例如,从RGB到YCbCr)、颜色校正、或去噪等。
编码器100用于接收经预处理的图像数据315并提供经编码的图像数据171(将基于图1等进一步描述细节)。
源设备310的通信接口318可以用于接收经编码的图像数据171,并将其直接传输到其他设备(例如,目的地设备320或任何其他用于存储或直接重建的设备);或分别用于在存储编码数据330和/或将编码数据330传输到其他设备(例如,目的地设备320,或任何其他用于解码或存储的设备)之前,处理经编码的图像数据171。
目的地设备320包括解码器200或解码单元200,并且还(即可选地)可以包括通信接口或通信单元322、后处理单元326和显示设备328。
目的地设备320的通信接口322用于直接从源设备310或从存储器(例如,编码图像数据存储器)等任何其它源接收经编码的图像数据171或编码数据330。
通信接口318和通信接口322可以用于经由源设备310与目的地设备320之间的直接通信链路(例如,直接有线或无线连接),或经由任何类型的网络(例如,有线网络、无线网络、或其任意组合),或任何类型的私网、公网、或其任意组合,分别发送或接收经编码的图像数据171或编码数据330。
例如,通信接口318可以用于将经编码的图像数据171封装成合适的格式(例如,数据包),以便经由通信链路或通信网络进行传输,并且还可以包括数据丢失保护和数据丢失恢复。
例如,与通信接口318对应的通信接口322可以用于对编码数据330进行解封装,以获取经编码的图像数据171,并且还可以用于执行数据丢失保护和数据丢失恢复(例如,包括差错隐藏)。
通信接口318和通信接口322均可配置为单向通信接口(如图3中从源设备310指向目的地设备320的经编码的图像数据330的箭头所指示),或双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认和/或重新发送丢失或延迟的数据(包括图像数据)、以及交换与通信链路和/或数据传输(例如,经编码的图像数据传输)相关的任何其他信息等。
解码器200用于接收经编码的图像数据171并提供经解码的图像数据231或解码图像231(将基于图2等进一步描述细节)。
目的地设备320的后处理器326用于对经解码的图像数据231(例如,解码图像231)进行后处理,以获得经后处理的图像数据327(例如,后处理图像327)。例如,后处理单元326执行的后处理可以包括颜色格式转换(例如,从YCbCr到RGB)、颜色校正、调整、或重采样,或任何其他处理,以便准备经解码的图像数据231供显示设备328等显示。
目的地设备320的显示设备328用于接收经后处理的图像数据327,以向用户或观看者等显示图像。显示设备328可以是或可以包括任何类型的用于表示重建图像的显示器,例如,集成或外部的显示器或监视器。例如,显示器可以包括阴极射线管(cathoderaytube,CRT)、液晶显示器(liquidcrystaldisplay,LCD)、等离子显示器、有机发光二极管(organiclightemittingdiode,OLED)显示器、或任何其他类型的显示器(例如,射束器、全息图(3D)等)。
尽管图3将源设备310和目的地设备320作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备310或对应功能以及目的地设备320或对应功能。在这类实施例中,源设备310或对应功能以及目的地设备320或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
基于描述,图3所示的源设备310和/或目的地设备320中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而变化,这对技术人员来说显而易见的。
因此,图3所示的源设备310和目的地设备320仅仅是示例性实施例,且实施例不限于图3所示的实施例。
源设备310和目的地设备320可以包括多种设备中的任一种,包括任何类型的手持或固定设备,例如,笔记本(notebook/laptop)电脑、手机、智能手机、平板电脑(tablet/tabletcomputer)、相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备、广播接收器设备等,并且可以不使用或使用任何类型的操作系统。
编码器和编码方法
图1示出了编码器100(例如,图像编码器100)的实施例的示意性/概念性框图,编码器100包括输入端102、残差计算单元104、变换单元106、量化单元108、反量化单元110、逆变换单元112、重建单元114、缓冲器118、环路滤波器120、解码图像缓冲器(decodedpicturebuffer,DPB)130、预测单元160、帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154、模式选择单元162、熵编码单元170、和输出端172。图1所示的视频编码器100也可以指混合视频编码器或根据混合视频编解码(hybrid videocodec)的视频编码器。
例如,残差计算单元104、变换单元106、量化单元108、和熵编码单元170等形成编码器100的正向信号路径,而例如,反量化单元110、逆变换单元112、重建单元114、缓冲器118、环路滤波器120、解码图像缓冲器(DPB)130、帧间预测单元144、和帧内预测单元154等形成编码器的反向信号路径,其中,编码器的反向信号路径与解码器(参见图2中的解码器200)的信号路径对应。
编码器用于通过输入端102等接收图像101或图像101中的图像块103,其中,图像101是形成视频或视频序列的图像序列中的图像等。图像块103也可以指当前图像块或待编码图像块,图像101也可以指当前图像或待编码图像(特别是在视频译码中,以便区分当前图像与其他图像(例如,同一视频序列(即,也包括当前图像的视频序列)中的先前编码和/或解码的图像))。
分割
编码器100的实施例可以包括分割单元(图1中未描绘),例如,分割单元也可以指图像分割单元,用于将图像103分割成多个块(像块103一样的块等),通常分割成多个不重叠块。分割单元可用于对视频序列的所有图像和限定块尺寸的对应网格使用相同的块尺寸,或者用于改变图像或图像子集或图像组之间的块尺寸,并将每个图像分割成对应块。
例如,在HEVC中,图像被细分为所谓的译码树单元(coding tree unit,CTU)。CTU具有相同的尺寸,该尺寸可以由一些信令参数确定或由标准固定。CTU通常不重叠。然后,每个CTU可进一步拆分为译码和/或变换单元,即分别对其执行预测和/或变换的块。通过提供将每个块进一步划分为四个进一步的块(四叉树分割)、或两个进一步的块(二叉树分割)、或任何其它分割类型的可能性,递归地执行拆分。可以由率失真优化决定是否划分CTU以及将CTU的每个块划分到哪种深度。然而一般情况下,也可以基于其他准则对拆分进行限定,该准则例如为在CTU中存在边缘等。因此,在本公开中,当提到作为图像一部分的“块”或“单元”时,是指CTU或通过CTU拆分获得的任何单元(正方形或非正方形的矩形)。一般来说,块可以重叠的实施例是可能的。
与图像101一样,块103同样是或可以看作是具有强度值(样本值)的样本的二维阵列或矩阵,但是块103的尺寸比图像101小。换句话说,例如,根据所应用的颜色格式,块103可以包括一个样本阵列(例如,单色图像101情况下的亮度阵列)或三个样本阵列(例如,彩色图像101情况下的一个亮度阵列和两个色度阵列)或任何其他数量和/或类型的阵列。块103的水平方向和垂直方向(或轴线)上的样本数量限定了块103的尺寸。
图1所示的编码器100用于逐块对图像101进行编码,例如,按块103进行编码和预测。
残差计算
残差计算单元104用于通过如下等方式基于图像块103和预测块165(下文详细介绍预测块165)计算残差块105:逐个样本地(逐个像素地)从图像块103的样本值中减去预测块165的样本值,以获得样本域中的残差块105。残差值(形成残差信号)对应于预测误差(预测误差信号)。
变换
变换单元106用于对残差块105的样本值应用空间频率变换或线性空间(频率)变换等变换(例如,离散余弦变换(discretecosinetransform,DCT)或离散正弦变换(discretesinetransform,DST)),以获得变换域中的变换系数107。变换系数107也可以称为经变换的残差系数,表示变换域中的残差块105。
变换单元106可以用于应用DCT/DST的整数近似法,如针对H.265/HEVC指定的核变换。与正交DCT变换相比,这类整数近似法通常通过某一因子按比例缩放。为了维持经过正变换和逆变换处理的残差块的范数,将附加缩放因子的应用作为变换过程的一部分。缩放因子通常基于某些约束来选择,例如,缩放因子是用于移位运算的2的幂、变换系数的比特深度、准确性与实施成本之间的权衡等。例如,在解码器200侧,通过逆变换单元212等为逆变换(以及在编码器100侧,通过逆变换单元112等为对应的逆变换)指定具体的缩放因子;相应地,可以在编码器100侧,通过变换单元106等为正变换指定对应的缩放因子。
量化
量化单元108用于通过应用标量量化或矢量量化等对变换系数107进行量化,以获得量化系数109。量化系数109也可以称为经量化的残差系数109。例如,对于标量量化,可以应用不同程度的缩放来实现较精细或较粗糙的量化。较小的量化步长对应于较精细的量化,而较大的量化步长对应于较粗糙的量化。可以通过量化参数(quantizationparameter,QP)指示合适的量化步长。量化参数可以是例如合适的量化步长的预定义集合的索引。例如,小的量化参数可以对应精细的量化(小量化步长),大的量化参数可以对应粗糙的量化(大量化步长),反之亦然。量化可以包括除以量化步长,而反量化单元110等执行的对应或反解量化可包括乘以量化步长。根据HEVC的实施例可用于使用量化参数确定量化步长。通常,可以基于量化参数使用包括除法的等式的定点近似来计算量化步长。由于在量化步长和量化参数的等式的定点近似中使用的缩放,可能会使残差块的范数被修改,量化和解量化可以引入附加缩放因子以恢复残差块的范数。在一种示例性实施方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表,并且将自定义量化表在位流等中从编码器用信号发送到解码器。量化是有损操作,其中量化步长越大,损耗越大。
编码器100的实施例(或相应地,量化单元108的实施例)可用于通过对应的量化参数的方式等输出量化方案和量化步长,使得解码器200可以接收和应用对应的反量化。编码器100(或量化单元108)的实施例可用于输出量化方案和量化步长,例如直接输出或经由熵编码单元170或任何其他熵编码单元所熵编码的输出。
反量化单元110用于通过基于或使用与量化单元108相同的量化步长应用量化单元108所应用的量化方案的逆过程等,对量化系数应用量化单元108的反量化,以获得解量化系数111。解量化系数111也可以称为经解量化的残差系数111,对应于变换系数107,但是由于量化造成的损耗,解量化系数111通常与变换系数不同。
逆变换单元112用于应用变换单元106所应用的变换的逆变换,例如逆DCT或逆DST,以获得样本域中的逆变换块113。逆变换块113也可以称为经逆变换的解量化块113或经逆变换的残差块113。
重建单元114用于通过按样本将经解码残差块113的样本值和预测块165的样本值相加等,合并逆变换块113和预测块165以获得样本域中的重建块115。
缓冲单元116(或简称“缓冲器”116)(例如线缓冲器116)用于缓冲或存储重建块和相应的样本值,以进行帧内估计和/或帧内预测等。在其他实施例中,编码器可用于使用存储在缓冲单元116中的未滤波的重建块和/或相应的样本值以进行任何类型的估计和/或预测。
编码器100的实施例可用于使得例如缓冲单元116不仅用于存储用于帧内估计152和/或帧内预测154的重建块115,而且用于存储用于环路滤波器单元120的重建块(图1中未示出),和/或可用于使得例如缓冲单元116和解码图像缓冲单元130形成一个缓冲器。其他实施例可用于使用滤波块121和/或解码图像缓冲器130中的块或样本(两者均未在图1中示出)作为帧内估计152和/或帧内预测154的输入或基础。
环路滤波器单元120(或简称“环路滤波器”120)用于通过应用去块滤波器、样本自适应偏移(sample-adaptiveoffset,SAO)滤波器、或其他滤波器(例如,锐化或平滑滤波器或协同滤波器)等,对重建块115进行滤波以获得滤波块121。滤波块121也可以称为经滤波的重建块121。
环路滤波器单元120的实施例可以包括(图1中未示出)滤波器分析单元和实际滤波器单元,其中,滤波器分析单元用于为实际滤波器确定环路滤波器参数。滤波器分析单元可用于将固定的预定滤波器参数应用于实际环路滤波器、从预定滤波器参数集合中自适应地选择滤波器参数、或自适应地为实际环路滤波器计算滤波器参数,如将在下文中详细描述。
环路滤波器单元120的实施例可以包括(图1中未示出)一个或多个滤波器,例如,一个或多个不同种类或类型的滤波器,这些滤波器以例如串联、或并联、或其任何组合的方式连接,其中,每个滤波器都可以单独或与多个滤波器中的其他滤波器联合包括滤波器分析单元,以确定相应的环路滤波器参数,例如,如前一段落所描述。
编码器100(相应地,环路滤波器单元120)的实施例可用于输出环路滤波器参数,例如直接输出或经由熵编码单元170或任何其他熵译码(entropy coding)单元所熵编码的输出,使得例如解码器200可以接收和应用相同的环路滤波器参数用于解码。
解码图像缓冲器(decoded picture buffer,DPB)130用于接收和存储滤波块121。解码图像缓冲器130还可用于存储同一当前图像或不同图像(例如,先前重建的图像)的其他先前滤波块(例如,先前重建和滤波块121),并且可提供完整的先前重建(即解码)的图像(和对应的参考块和样本)和/或部分重建的当前图像(和对应的参考块和样本),用于帧间估计和/或帧间预测等。
其他实施例还可以用于将解码图像缓冲器130的先前滤波块和对应的滤波样本值用于任何类型的估计或预测,例如,帧内估计和帧内预测以及帧间估计和帧间预测。
预测单元160(也称为块预测单元160)用于接收或获取图像块103(当前图像101的当前图像块103)和经解码或至少经重建的图像数据,例如,来自缓冲器116的同一(当前)图像的参考样本和/或来自解码图像缓冲器130的一个或多个先前解码图像的经解码的图像数据231,并且用于处理此类数据以进行预测(即,提供预测块165)。预测块165可以是帧间预测块145或帧内预测块155。
模式选择单元162可用于选择预测模式(例如,帧内预测或帧间预测模式)和/或对应的预测块145或155,以用作预测块165用于残差块105的计算和重建块115的重建。
模式选择单元162的实施例可用于(例如,从预测单元160支持的预测模式中)选择预测模式,预测模式提供最佳匹配或者说最小残差(最小残差表示为了传输或存储进行更好的压缩)、或提供最小信令开销(最小信令开销表示为了传输或存储进行更好的压缩)、或者同时考虑或平衡以上两者。模式选择单元162可用于基于率失真优化(ratedistortionoptimization,RDO)确定预测模式,即选择提供了最小率失真优化的预测模式,或者选择关联率失真至少满足预测模式选择标准的预测模式。
下文将更详细地解释由示例性编码器100执行的预测处理(例如,通过预测单元160)和模式选择(例如,通过模式选择单元162)。
如上所述,编码器100用于从(预定的)预测模式集合中确定或选择最佳或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。
帧内预测模式集合可以包括32种不同的帧内预测模式,例如,如DC(或均值)模式和平面模式等非方向性模式,或者如在H.264等中定义的方向性模式,或者可以包括65种不同的帧内预测模式,例如,如DC(或均值)模式和平面模式的非方向性模式或者如在H.265等中定义的方向性模式。
(或可能的)帧间预测模式集合取决于可用参考图像(即,例如存储在DPB230中的先前至少部分解码的图像)和其他帧间预测参数,例如取决于是否使用整个参考图像或只使用参考图像的一部分(例如,当前块所在区域附近的搜索窗口区域)来搜索最佳匹配参考块,和/或取决于例如是否应用像素内插(例如,二分之一/半像素内插和/或四分之一像素内插)。
除以上预测模式外,还可以应用跳过模式和/或直接模式。
预测单元160还可以用于将块103分割成更小的块分割或子块,例如,迭代使用四叉树(quad-tree,QT)分割、二叉树(binary-tree,BT)分割、或三叉树(triple-tree,TT)分割、或其任何组合,并且用于对每个块分割或子块进行预测等,其中,模式选择包括选择分割块103的树形结构以及应用于每个块分割或子块的预测模式。
帧间估计单元142(也称为帧间图像估计单元142)用于接收或获得图像块103(当前图像101的当前图像块103)和解码图像231,或至少一个或多个先前重建块(例如,一个或多个其他/不同的先前解码图像231的重建块),以用于帧间估计(或“帧间图像估计”)。例如,视频序列可以包括当前图像和先前解码图像231,或者换句话说,当前图像和先前解码图像231可以是构成视频序列的图像序列的一部分或构成该图像序列。
例如,编码器100可用于从多个其他图像中的同一或不同图像的多个参考块中选择参考块,并将参考图像(或参考图像索引)和/或参考块位置(x坐标、y坐标)与当前块位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。这一偏移也称为运动矢量(motionvector,MV)。帧间估计也称为运动估计(motionestimation,ME),帧间预测也称为运动预测(motionprediction,MP)。
帧间预测单元144用于获得(例如,接收)帧间预测参数143,并基于或使用帧间预测参数143进行帧间预测,以获得帧间预测块145。
尽管图1示出了两个不同的用于帧间译码的单元(或步骤),即帧间估计142和帧间预测152,但是这两种功能可以作为一个整体执行(帧间估计需要/包括计算帧间预测块,即,该帧间预测154或“一种”帧间预测154),例如,通过迭代测试可能的帧间预测模式的所有可能的或预定的子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并将该当前最佳的帧间预测模式和相应的帧间预测块作为(最终的)帧间预测参数143和帧间预测块145,而无需再执行一次帧间预测144。
帧内估计单元152用于获得(例如,接收)图像块103(当前图像块)和同一图像的一个或多个先前重建块(例如,经重建的相邻块),以进行帧内估计。例如,编码器100可用于从多个帧内预测模式中选择帧内预测模式,并将该帧内预测模式作为帧内估计参数153提供给帧内预测单元154。
编码器100的实施例可用于基于最小残差(例如,提供与当前图像块103最相似的预测块155的帧内预测模式)或最小率失真等优化标准选择帧内预测模式。
帧内预测单元154用于基于帧内预测参数153(例如,所选择的帧内预测模式153)确定帧内预测块155。
尽管图1示出了两个不同的用于帧内译码的单元(或步骤),即帧内估计152和帧内预测154,但是这两种功能可以作为一个整体执行(帧内估计包括计算帧内预测块,即,该帧内预测154或“一种”帧内预测154),例如,通过迭代测试可能的帧内预测模式的所有可能的或预定的子集,同时存储当前最佳的帧内预测模式和相应的帧内预测块,并将该当前最佳的帧内预测模式和相应的帧内预测块作为(最终的)帧内预测参数153和帧内预测块155,而无需再执行一次帧内预测154。
熵编码单元170用于单独地或联合地(或完全不联合地)对经量化的残差系数109、帧间预测参数143、帧内预测参数153、和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度译码(variablelengthcoding,VLC)方案、上下文自适应VLC(contextadaptiveVLC,CALVC)方案、算术译码方案(arithmetic coding scheme)、上下文自适应二进制算术译码(contextadaptivebinaryarithmeticcoding,CABAC),以获得编码图像数据171。输出端172可以以编码位流171等形式输出编码图像数据171。
图2示出了示例性视频解码器200,用于接收例如由编码器100编码的经编码的图像数据(例如,经编码的位流)171,以获得解码图像231。
解码器200包括输入端202、熵解码单元204、反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260、帧间预测单元244、帧内预测单元254、模式选择单元262、以及输出端232。
熵解码单元204用于对编码图像数据171执行熵解码,以获得量化系数209和/或经解码的译码参数(图2中未示出)等,例如,帧间预测参数143、帧内预测参数153、和/或环路滤波器参数中的(经解码的)任一者或全部。
在解码器200的实施例中,反量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260、以及模式选择单元262用于执行编码器100(及相应功能单元)的逆处理,以对编码图像数据171进行解码。
特别地,反量化单元210可以与反量化单元110功能相同;逆变换单元212可以与逆变换单元112功能相同;重建单元214可以与重建单元114功能相同;缓冲器216可以与缓冲器116功能相同;环路滤波器220可以与环路滤波器120功能相同(关于实际的环路滤波器,因为环路滤波器220通常不包括用于基于原始图像101或块103来确定滤波器参数的滤波器分析单元,而是从熵解码单元204等(显式或隐式地)接收或获得用于编码的滤波器参数);解码图像缓冲器230可以与解码图像缓冲器130功能相同。
预测单元260可以包括帧间预测单元244和帧内预测单元254,其中,帧间预测单元244可以与帧间预测单元144功能相同;帧内预测单元254可以与帧内预测单元154功能相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171获得预测块265(无需原始图像101的任何其他信息)以及用于从熵解码单元204等(显式或隐式地)接收或获得预测参数143或153和/或与所选择的预测模式的信息。
解码器200用于经由输出端232等输出解码图像230,用于呈现给用户或供用户观看。
图4是根据本公开实施例的视频译码设备400的示意图。视频译码设备400适于实现为编码器或解码器等本文中描述的本公开实施例。视频译码设备400包括入端口410、接收器单元(Rx)420、处理器、逻辑单元、或中央处理单元(centralprocessing unit,CPU)430、发射器单元(transmitter unit,Tx)440、出端口450、存储器460,入端口410和接收器单元(Rx)420用于接收数据;处理器、逻辑单元、或中央处理单元(centralprocessingunit,CPU)430用于处理数据;发射器单元(transmitter unit,Tx)440和出端口450用于发送数据;存储器460用于存储数据。视频译码设备400还可以包括光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,其耦合到入端口410、接收器单元420、发射器单元440、以及出端口450,用于光信号或电信号的输入或输出。在一些示例中,视频译码设备400还可以包括无线发射器和/或接收器。
处理器430通过硬件和软件实现。处理器430可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gatearray,FPGA)、专用集成电路(applicationspecificintegratedcircuit,ASIC)、以及数字信号处理器(digitalsignalprocessor,DSP)。处理器430与入端口410、接收器单元420、发射器单元440、出端口450、以及存储器460进行通信。处理器430包括译码模块470。译码模块470实现上述公开实施例。例如,译码模块470实现、处理、准备、或提供各种译码操作。因此,将译码模块470包括在内为视频译码设备400的功能提供了实质性改进,并实现了视频译码设备400向不同状态的转换。可选地,译码模块470实现为存储在存储器460中且由处理器430执行的指令。
存储器460包括一个或多个磁盘、磁带驱动器、以及固态驱动器,并且可以用作溢出数据存储设备,以在选择要执行的程序时存储这些程序,并存储在程序执行过程中读取的指令和数据。存储器460可以是易失性的和/或非易失性的,并且可以是只读存储器(read-onlymemory,ROM)、随机存取存储器(random-accessmemory,RAM)、三态内容寻址存储器(ternarycontent-addressablememory,TCAM)、和/或静态随机存取存储器(staticrandom-accessmemory,SRAM)。
应注意,本说明书提供了图像(帧)的解释,但是在隔行图像信号的情况下,用场(field)替代图像。
尽管主要基于视频译码描述了实施例,但应当注意的是,编码器100和解码器200(以及对应地,系统300)的实施例还可以用于静止图像处理或译码,即在视频译码中独立于任何之前或连续的图像的单个图像的处理或译码。一般而言,在图像处理译码仅限于单图像101的情况下,只有帧间估计142、帧间预测144、242不可用。视频编码器100和视频解码器200的大部分(如果不是全部)其它功能(也称为工具或技术)可以等同地用于静止图像,这些功能例如是分割、变换(缩放)106、量化108、反量化110、逆变换112、帧内估计152、帧内预测154、254、和/或环路滤波120、220、以及熵译码170和熵解码204。
本领域技术人员将理解,各种图式(方法和装置)中的“框”(“单元”)表示或描述实施例的功能(而不一定是硬件或软件中的单独“单元”),因此等同地描述装置实施例以及方法实施例的功能或特征(单元=步骤)。
术语“单元”仅仅用于说明编码器/解码器的实施例的功能,并非旨在限制本公开。
在本申请提供的若干个实施例中,应当理解的是,所公开的系统、装置、以及方法可以通过其他方式实现。例如,描述的装置实施例仅仅是示例性的。例如,单元的划分仅仅是逻辑功能划分,且在实际实现时可以有其他划分方式。例如,多个单元或组件可以合并或集成在另一个系统中,或可以忽略或不执行一些特征。此外,所显示或讨论的相互耦合或直接耦合或通信连接可以使用一些接口来实现。装置或单元之间的间接耦合或通信连接可以通过电、机械、或其他形式来实现。
作为单独部件描述的单元可以在物理上分离,也可以不在物理上分离,显示为单元的部件可以是物理单元,也可以不是物理单元,可以位于一个位置,也可以分布在多个网络单元上。可以根据实际需要选择部分或全部的单元,以实现实施例的解决方案的目的。
此外,实施例中的功能单元可以集成在一个处理单元中,或每个单元可以在物理上单独存在,或两个或更多单元可以集成在一个单元中。
实施例还可以包括装置,例如编码器和/或解码器,该编码器和/或解码器包括用于执行本文描述的任何方法和/或过程的处理电路。
编码器100和/或解码器200的实施例可以实现为硬件、固件、软件、或其任意组合。例如,编码器/编码或解码器/解码的功能可以由具有或不具有固件或软件的处理电路执行,例如处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)等。
编码器100(以及对应的编码方法100)和/或解码器200(以及对应的解码方法200)的功能可以通过存储在计算机可读介质上的程序指令来实现。程序指令在执行时使处理电路、计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是包括非瞬时性存储介质的存储程序的任何介质,例如蓝光光盘、DVD、CD、USB(闪存)驱动器、硬盘、经由网络可用的服务器存储器等。
实施例包括或是一种计算机程序,包括程序代码,该程序代码在计算机上执行时,执行本文所描述的任何方法。
实施例包括或是一种计算机可读非瞬时性介质,包括程序代码,该程序代码在由处理器执行时,使计算机系统执行本文所描述的任何方法。
视频编码可以在相机或是具有来自一个或多个相机的输入的系统中使用,或者可以在计算机上运行以编码/压缩或转码视频。相机系统的挑战性应用之一是监控和/或驾驶员辅助。
监控系统的一项主要任务是,检测和跟踪(通常还有识别)在除通常不重要的图像背景之外的视频图像(相应地,视频图像的帧)中的对象,包括人、机动车、或非机动车等。通常,在执行更详细的对象识别前,首先将视频(相应地,视频的帧)分割成前景图像和背景图像,其中,在大多数情况下,前景图像包含将进一步处理的图像细节。通常,通过对视频图像的(相应地,帧的)一个像素或一组像素分类来执行分割,视频图像的分类是基于一定的分类标准将一个像素或一组像素分类为属于前景或属于背景。这些标准是事先规定的。下面的图5和图6说明了当仅使用有限的信息集合时,错误地将对象分类为属于不感兴趣的背景或感兴趣的前景的问题。这一问题最终导致整个视频图像的错误分割。
图5示出了沿街道510位于不同距离处的三个行人520至540,距离不同使得尺寸不同。鉴于该示例性图像的纹理相当同质,可能尤其难以仅使用图像纹理来检测远处的行人。然而,如果额外地使用(基于运动矢量或光流等的)图像的运动信息,则即使视频图像具有同质的纹理,也可以检测到小型对象。换句话说,运动信息是一个强特征,通过该特征可以将视频图像中的一个区域识别为相关且对应于感兴趣的区域。这些区域也可以称为感兴趣区域(region of interest,ROI),例如,在感兴趣区域中,一个或多个对象的运动等于或大于预定值。术语“运动(motion)”指的是例如视频图像内的对象的速度,该速度表示对象在视频图像内改变的位置量。可以从例如视频图像的运动矢量和/或光流中获得一个或多个对象的这种速度信息。在按照像素单元提供视频图像的情况下,可以以像素/秒(pixel persecond)[pps]为单位规定这种速度。通过为速度或相关量预定义一个或多个阈值,可以规定对象的运动强度,并且可以触发对应的装置和/或方法任务。例如,可以根据对象的运动是否超出预定义阈值决定该对象本身在视频图像内或视频图像的帧内的存在。而在视频图像中,不感兴趣或较不感兴趣的区域可以称为非感兴趣区域(region of non-interest,RONI),在非感兴趣区域中,在例如对象的运动小于预定义阈值时,对象的运动不明显或较不明显。
图6示出了类似情景,由于图6中不仅包括街道610上的行人620,而且还包括具有移动内容的LED广告显示屏630和一组轻微摆动的树640,所以当前的图像纹理更为复杂。在这种情景中,如果仅使用运动信息,则树作为图像背景的一部分,会被检测为作为ROI的一部分的那些对象。然而,如果运动信息与纹理(在此为树的纹理)结合使用,由于树属于(通常不感兴趣的)背景,则树会被(正确地)检测为RONI的一部分。
图7说明了根据M.Braham和M.VanDroogenback的方法(2016年,系统、信号、以及图像处理会议(IWSSIP),“使用场景特定的卷积神经网络的深度背景减除(Deep backgroundsubtraction with scene-specific convolutional neural networks)”,伯拉第斯拉瓦,2016年,第1页到4页)将图像分割成背景和前景。在他们的像素级方法中,基于先前图像生成和维护背景图像710。然后将这些图像输入卷积神经网络(convolutional neuralnetwork,CNN)730中以进行网络训练,仅使用纹理将当前图像720的每个像素分类为属于背景740的像素(即,RONI像素)或属于(前景)对象的像素(即,属于感兴趣区域ROI的像素)。这种方法在为了对输入图像的每个像素进行分类而执行的情况下具有缺点,会因此而具有较高的计算复杂度。而且,需要显式地生成和维护背景图像710。此外,不使用运动信息(即,尺寸不同的可能的感兴趣对象的运动统计)可能会导致帧被错误地分割为ROI和RONI。
如本发明的以下示例性实施例所公开的,本公开运用机器学习模型,该模型以视频图像的运动信息和帧为输入,以对用于编码视频图像的一个或多个译码参数进行自适应。
根据实施例,提供了一种装置,在该装置中使用译码参数对包括多个视频帧的视频图像进行编码,以提供视频位流作为输出。该编码可以是诸如AVC、HEVC、JPEG2000等已知的压缩标准之一。在下文中,术语“视频”、“视频图像”、“视频帧”、或“帧”可以互换使用。
图8示出了一个示例性实施例,其中,在模块830中编码视频图像,以基于译码参数生成视频位流。在图8的实施例中,译码参数也在模块830内进行自适应。该参数基于机器学习模型820的输出以及由模块810确定的运动信息进行自适应。基于视频图像和确定的运动信息确定机器学习模型820的输出,取决于机器学习模型的类型,视频图像和确定的运动信息在训练阶段期间和/或操作期间作为输入提供给机器学习模型820。视频图像可包含纹理信息,机器学习模型820将该纹理信息与运动信息结合使用,以执行视频图像的前景-背景分割。机器学习模型820的分割结果被输出并作为输入提供给模块830,以结合运动信息执行译码参数自适应。如将在下面的实施例中进一步解释的,通过机器学习模型进行的图像分割基于对样本或一组样本属于感兴趣区域ROI或非感兴趣区域RONI的分类。
术语“纹理信息”对应于视频图像的帧的样本或一组样本的纹理,纹理信息提供与视频图像内或视频图像的样本/像素区域内的颜色(色度(chroma))和/或强度(亮度(luma))的空间变化和/或分布的信息。换句话说,本文使用术语“纹理”表示视频图像在空间域中的样本。
视频图像的帧用于确定视频图像的样本的运动信息810。该样本可以对应于视频图像的一个样本或多个样本,即一个或多个亮度和/或颜色(即色度)分量的样本。样本可以对应于视频帧的一个像素。将运动信息和与该运动信息相关的视频图像样本提供给机器学习模型820作为输入,该机器学习模型可以是在接受训练的,或者可选地可以是已经训练好的。
机器学习模型820可以是以下任何一种:神经网络(neural network,NN)、深度神经网络(deep neural network,DNN)、卷积神经网络(convolutional neural network,CNN)、全连接神经网络(fully connected neural network,FCNN)、支持矢量机(supportvector machine,SVM)、或任何其他基于学习的模型。
运动信息810和机器学习模型820的输出用作编码器830的输入。机器学习模型820确定用于设置译码参数的输入。在这一示例性实施例中,编码器830通过根据其输入(包括运动信息和机器学习模型的输出)对译码参数进行自适应,以确定译码参数。
然而,实施例并不限于上述方法,并且一般地,可以将机器学习模型训练为直接传送译码参数,然后将这些参数输入编码器830。可以针对视频图像的一个样本或一组样本确定译码参数。因此,不同单样本或不同样本组的译码参数可以不同。
通过应用经确定的译码参数对样本进行编码。编码器430执行一个或多个样本的编码,并将经编码的视频图像提供为位流视频。样本的编码可以包括一个样本或一组样本的编码。编码器可以根据不同的译码参数对一个样本或一组样本进行不同的编码。例如,样本组可以是块。在目前的编解码中,一些译码参数可以基于块而变化,其他译码参数可以基于一个或多个图像(视频帧)而变化。可选地,可以通过分割和/或块检测确定样本组,而无需块光栅。
在图8的实施例中,装置的处理电路用于执行译码参数的自适应和编码。然而,译码参数的自适应和图像编码可以由布置在相同或不同芯片上的不同电路代替执行。可选地,译码参数的自适应可以由机器学习模型820的电路执行。换句话说,此后讨论的任何任务可以由单个电路或不同电路以组合方式执行。取决于应用,也可以将部分任务组合在任何适合的组合中。
在标准的视频编码器中,由用户(例如,使用编码器的应用程序和/或用编码器的人)将帧率、空间分辨率、或压缩强度等译码参数输入编码器。另一方面,一些编码器实施方式可以基于率失真优化或率失真复杂度优化等确定其他译码参数,甚至可以对输入的译码参数进行自适应。
在本公开中,输入编码器的译码参数是基于内容特性(即,纹理(即样本值)和运动)自动(预先)确定的。上述功能不一定是编码器电路的一部分,可以在单独的集成电路或其它软件和/或硬件中实现。然而,本公开不限于这种实施方式,译码参数的确定可以在与编码器相同的硬件(集成电路(integratedcircuit,IC)或处理器等)内实现。
而编码器(电路)可以生成运动矢量,可以使用该运动矢量作为运动信息以输入到机器学习模型。然而,应注意的是,本公开的运动信息不限于由编码器确定的运动矢量。可选地,作为译码参数确定的输入的运动矢量的确定可以与编码器分开。此外,运动信息不限于运动矢量,而是可以由光流提供。也可以使用其他量化参数,例如运动速度和/或运动方向。可选地或另外地,如在以下实施例中详述的,可以基于(即使用)运动矢量和/或光流确定运动信息。
根据图9所示的实施例,装置900的处理电路(用虚线框标记)用于执行机器学习模型910的任务、由运动分析器930基于运动信息执行的运动分析、以及译码参数自适应,该译码参数自适应包括帧率自适应940、图像尺寸自适应950、以及由QP图生成器960生成QP图以用于QP自适应。
译码参数中的图像尺寸和量化参数(quantization parameter,QP)是指空间分辨率的参数。帧率是指时间分辨率。图像尺寸和帧率的自适应也表示为ST自适应。自适应以用于编码vie图像的译码参数不限于帧率、图像尺寸、或量化参数。其他用于编码的参数可以包括块拆分(视频帧如何分割成可能不同尺寸和/或形状的块)、预测类型或预测模式等。
在本文中,编码器(相应地,电路)与译码参数自适应,即模块940、950、960分开。编码器例如根据视频图像的运动矢量提供运动信息并执行编码。
运动信息可以不限于运动矢量。可选地,运动信息可以基于视频图像的光流,光流可以通过包括Lucas-Kanade、Horn-Schunck、Buxton-Buxton、Black-Jepson等公知的方法获得。
使编码器电路(即,编码器本身)与其他电路分开允许视频编码器(例如H.264/AVC或HEVC(H.265),如上文中参考图1和图2所述)的使用,在这种情况下,编码器需要与其他模块的外部功能块连接。这些模块之后基于运动信息和机器学习模型的输出执行译码参数的自适应,并通过信令通知等方式向编码器提供经自适应的译码参数。从以上描述中可以清楚的是,装置的每个功能块通常可以有其自己的电路,这种电路实现为硬件和/或软件。
实施例将机器学习模型用于译码参数的自适应,将运动信息和视频图像信息作为输入提供给学习模型。此类学习模型包括NN、DNN、CNN、FCNN、SVM等,这些模型要求其输入具有适合的格式以便于后续的处理。
为了保证与诸如H.264/AVC或HEVC(H.265)等标准视频编码器兼容,需要对包括运动信息和视频图像在内的输入数据进行格式转换,以适合于作为机器学习模型的输入。
在HEVC中,图像被细分为所谓的译码树单元(coding tree unit,CTU)。CTU具有相同的尺寸,该尺寸可以由一些信令参数确定或由标准固定。CTU可以进一步拆分成译码单元(coding unit,CU)和/或变换单元。换句话说,HEVC将CTU建立为基于树的分层拆分的根,例如对CTU和CU进行四叉树拆分,以拆分为四个正方形CU,直到达到最大深度,该最大深度对应于CU允许具有的最小尺寸。
在图10A至图10C中示出的以下实施例中,通过卷积神经模型(convolutionalneural model,CNN)的示例进一步详细说明了如何将运动信息与当前的CTU框架进行拼接。
图10A的第一示例性实施例示出了如何通过电路实现这一点,该电路用于将视频图像划分为相等尺寸的译码树单元CTU 1010。CTU被进一步分层拆分为多个译码单元CU。如前所述,在H.264/AVC或HEVC(H.265)中,这些CTU/CU是基本的块单元,这些块单元被称为块。默认地,高清(high defintion,HD)视频的块尺寸为64x64(以CTU为单位),32x32也是适合的。对于4k视频,推荐的块尺寸为128x128,也可以使用64x64。
接下来,基于块的运动矢量(motion vector,MV)确定块的样本的运动信息。通常,一个块可以包括一个样本或多个样本。术语“块”指的是矩形的译码单元,可以是但不一定是正方形。以适合的格式将CTU和运动矢量输入到机器学习模型。
编码器提供运动矢量(MV)作为运动信息。编码器可以为每个样本提供运动矢量,这种运动矢量对应于样本/像素级运动矢量。可选地,可以为每个块(即,多个CU中的每个CU或CTU)提供运动矢量。这种运动矢量对应于块级运动矢量。
运动矢量具有水平x分量和垂直y分量,即MV=MV(x,y)。该坐标通常表示起点位于参考图像中的同位块所在的位置的矢量,该同位块在参考图像中的位置与当前块在当前帧(图像)中的位置相同,运动矢量是为该当前块确定的。终点位置是(在搜索空间中有限数量的候选块中)与当前块最相似的块的移位,其中,由代价函数(例如,绝对差和(sumofabsolutedifference,SAD))确定相似度。
在图10A的实施例中,运动矢量矩阵的尺寸与CTU相同尺寸。换句话说,CTU的每个样本/像素关联一个运动矢量。
之后将二维(two dimensional,2D)运动矢量矩阵MV(x,y)1020拆分为其x和y(即水平和垂直)分量MVx 1022和MVy1024,这两个分量的尺寸也与CTU相同。由此,之后可以将二维MV分量MVx和MVy与CTU矩阵(阵列)1010拼接为一个公共三维(three dimensional,3D)矩阵。之后该经拼接的三维数据1030以适合的格式作为卷积神经网络(CNN)1040的输入,该三维数据1030包括三个尺寸相等的二维数据矩阵CTU 1010、MVx 1022、以及MVy 1024。
图10B的第二示例性实施例示出了当运动矢量(MV)不是像素级MV而是块级MV时,如何准备机器学习模型的输入。这意味着例如由编码器提供的MV不是为CTU的每个样本(即,像素)确定的,而是为CTU的每个(子)块(即译码单元)确定的。
由于CTU的译码单元数量小于CTU的像素数量,所以块级MV(x,y)1120的尺寸通常小于CTU 1110的尺寸。由此,块级运动矢量1120的分量MVx 1122和MVy 1124也小于CTU1110。这一点在图10B中示出。由于CTU与MV(相应地,分量MVx 1122和MVy 1124)尺寸不同,所以需要首先将MV(相应地,分量MVx 1122和MVy 1124)调整为与CTU相同的尺寸。之后将这些数据(包括CTU 1110和尺寸经过调整的分量MVx 1126和MVy 1128)拼接为3D数据1130。然后将数据1130以适合的格式输入到CNN 1140。
图10C的第三示例性实施例考虑与图10B的第二示例性实施例类似的情况,即运动矢量MV 1220(相应地,其分量MVx 1222和MVy 1224)小于CTU 1210的情况。与第二实施例的区别之处在于,当前将第一机器学习模型1242和第二机器学习模型1244包括为中间机器学习模型。
将CTU输入第一子网1242。将运动矢量分量MVx 1222和MVy 1224的拼接数据1226输入第二子网1244。第二子网1244用于处理输入数据1226,使得子网1244的输出1234与子网1242的输出1232尺寸相同。由此,可以将这两组输出数据1232和1234拼接成多维数据1230,该多维数据1230具有适合于CNN 140的格式。之后将数据1230输入CNN 1240。
通常,全部的三个网络1240、1242和1244可以是不同的。在图10C所示的示例性实施例中,在将经预处理的数据1232和1234融合(即合并或拼接)到数据1230并输入子网1240之前,子网1242和1244可以单独执行预处理。在这个示例中,中间子网1242和1244仅提供中间结果作为输出,而不具有特定的物理意义。例如,预处理可以包括对输入数据进行滤波等。
或者具体地,中间子网可以例如用于提供物理输出作为预处理的结果。由于所有子网可以是不同的,所以可以选择每个子网以执行特定的分类,针对该分类对相应的子网进行特定设计。例如,预处理运动矢量的子网1244可以是经优化而用于分类运动信息的网络。由此,子网1244可以例如非常快速且准确地对视频图像中由于对象运动而产生的时间变化进行分类。另一方面,预处理CTU的子网1242可以是经优化而使用纹理(或类似的图像特征)对(本文中是基于CTU的)图像进行分类的网络。由此,子网1242可以例如非常快速且准确地基于图像特征对CTU进行分类,该图像特征可以是静止图像特征和/或动态图像特征。而由于子网1240使用子网1242和1244的特定输出数据作为输入来执行对拼接数据的分类,所以子网1240可以是相比于子网1242和1244可能不太特定的网络。换句话说,子网1240可以是经优化以对混合型输入数据进行分类的网络,该混合型输入数据包括例如运动信息和纹理。图10C的实施例不限于图中所示的一种,可以包括其他网络配置,这些网络配置包括不同类型的网络、不同数量的网络,以及这些网络如何相互连接。
上述图10A到图10C的三个实施例说明了当前的视频标准,在当前的视频标准中,将CTU(包括其译码单元)用作被编码的视频图像的基本单元。然而,实施例不限于基于CTU/CU的数据结构,而是可用于任何适合用于下一代编码-解码技术的其它数据结构。例如,依赖于根据分层树分割的帧分割的H.264/AVC或HEVC(H.265)的标准CTU/CU,可以部分或完全地由其他基于集群和/或使用机器学习模型的图像分割技术所替代,其中,运动信息可以不必基于一个块的样本和/或一组块的样本的运动矢量和/或光流。
数据1030、1130、和/或1230以参照图10A至图10C的上述方式进行格式化,且机器学习模型820或910使用这些数据作为输入,并对输入的样本执行分类,以将其分类为属于感兴趣区域(region of interest,ROI)或非感兴趣区域(region of non-interest,RONI)。对块的样本进行的这种ROI-RONI分类的结果是对视频图像(相应地,视频图像的帧)的图像分割。
为了对未知视频的未知样本和/或一组未知样本执行分类,模型使用从已知视频图像中获得的已知输入数据进行了学习。例如,已知视频图像表示视频的图像信息是已知的,该图像信息包括样本颜色强度、纹理、运动信息、视频内是否存在一个或多个对象、对象类型等,这些信息是已知且用于模型的训练/学习。具体地,将样本或块的样本分类为属于ROI还是RONI取决于块的样本或样本块的运动信息和纹理。
根据实施例,处理电路用于获得作为机器学习模型的输出的图,该图指定视频图像的ROI和RONI。对于每个样本或样本块,该图包括对该样本或样本块属于ROI还是RONI的指示。
可以用各种方式执行上述指示,其中,该图是例如位图。在这种情况下,通过针对ROI将比特设置为1,针对RONI将比特设置为0,该图(也称为重要性图(importance map))在1比特级别上指示样本或样本块是ROI还是RONI。换句话说,对于视频图像的每个样本,该图可以包括指示相应样本是属于ROI还是RONI的指示(例如单个比特)。可选地,该指示可以包括更多个比特,并指示相应样本属于哪个群集(对象)。
在基于CTU/CU的数据结构的情况下,机器学习模型可以将整个CTU或CU分类为ROI或RONI,而不是将每个样本单独分类。换句话说,图包括的指示所针对的可以不是视频帧的每个样本,而是视频帧的每个块(CU)。该指示可以是一个或多个比特。一比特的指示可以分别针对RONI或ROI取值“1”或“0”。这种基于1比特图的ROI-RONI指示只是一个示例,并不限于该示例。可以使用诸如“真/假”、“是/否”等其他布尔型指示符。
因此,同时使用纹理信息和运动信息,改善了图像样本(像素)的ROI-RONI分类。由此,前景-背景图像分割变得更加准确和可靠。可以对视频的帧(图像)进行分割,也可以仅对部分帧进行分割。
根据实施例,机器学习模型用于检测视频图像内的对象。该模型使用样本或一组样本的纹理和运动信息(例如,运动矢量)检测视频图像内的对象。机器学习模型的输出包括视频图像中是否存在一个或多个对象的检测结果。译码参数自适应模块还使用该输出以根据对象的存在对译码参数进行自适应。
与仅使用ROI-RONI分类进行译码-参数自适应相比,对象检测提供的优点是提供了关于视频图像的更详细的信息。然而,与仅使用ROI-RONI分类的系统相比,这可能会导致更高的系统复杂度。
结合使用纹理和运动信息,可以对特别是可能缓慢移动(例如位于远距离处)的小型对象实现更可靠且准确的检测。
到目前为止描述的实施例描述了机器学习模型的输出,该输出包括作为比特级重要性图的ROI-RONI图和对象检测结果。如图9所示,包括帧率、图像尺寸、和/或量化参数(QP)的译码参数的自适应不仅取决于学习模型的输出,还取决于即将描述的执行运动分析的运动分析器930的输出。
在图9对应的实施例中,计算出的运动仅确定帧率的自适应。可选地,该运动可以确定与空间分辨率和/或时间分辨率相关的任何其他译码参数。
根据实施例,处理电路还用于基于样本所在的块的运动矢量的度量,计算该样本的运动。
运动矢量的度量可以是p范数(p-norm),p是大于或等于1的正整数。也可以使用满足公知度量条件的其他类型的度量。例如,可以将运动计算为矢量的长度,即计算为矢量分量的平方和的平方根(平方范数,即p=2),或者仅计算为一个或两个运动矢量分量的尺寸等。应注意的是,运动矢量分量可以以四分之一像素(quarter pixel/pel)为单位计数,四分之一像素、二分之一像素、一像素分别对应于尺寸一、二、四。
术语“运动”指的是块的样本或块的一组样本的时间变化,包括视频图像内和/或视频的不同(例如相邻)帧之间的亮度和/或颜色强度的变化。确定诸如变化可以不限于将运动矢量确定为运动信息。可以使用光流等替代。
如图11A至图11C所示,由运动分析器1330确定运动。将例如由视频编码器1320提供的运动矢量作为示例性运动信息输入分析器。
运动分析器可以基于运动矢量将各种量计算为运动。例如,运动可以是根据最大运动速度测量的视频帧的最大运动。
在运动为最大运动速度的情况下,运动分析器用于执行以下步骤(假设p范数中p=2)
步骤1:针对每个CTU单独收集运动矢量(motion vector,MV)。
步骤2:针对每个MV=(vx,vy)计算运动速度大小v=sqrt(vx2+vy2)
步骤3:根据每个CTU的最大速度的一定比例(例如,10%),滤除每个CTU的速度异常值。
步骤4:针对整个视频帧,确定其余所有速度值中的最大值vmax=MAX(v)。
步骤5:测试是否vmax<T(T是启发式预定义阈值,可以是例如100个像素)。
步骤6:对于视频帧的滑动窗口,如果步骤5中的条件始终为“真”,直到包括当前帧,则将较低的视频帧率信令通知视频编码器以进行译码。
步骤7:对于当前视频帧,如果步骤5中的条件为“假”,则将原始视频帧率信令通知视频编码器以进行译码。
另外地或可选地,可以计算其他类型的运动。例如,可以使用像素级运动矢量或块级运动矢量计算与运动统计相关的统计信息,包括例如(运动)速度的均值(即平均运动或中值运动)、和/或标准差、和/或偏度。除学习模型的输出外,可以根据任何此类值,相应地对任何与时间或空间分辨率相关的译码参数进行自适应。
在上述步骤流程图中,由于运动分析器也执行自适应和向视频编码器1320信令通知经自适应的帧率,所以帧率自适应1340是运动分析器1330的一部分。
然而,如图11A至图11C的示例性实施例所示,运动分析器1330和帧率自适应1340可以通过不同的处理电路单独执行运动计算和参数自适应。这意味着,帧率自适应1340执行向编码器1320信令通知经自适应的帧率。
描述的实施例指定了如何确定用作输入数据的信息,该输入数据用于执行当前的译码参数自适应。回顾一下,通过使用运动信息(例如通过视频图像的运动矢量获得的)并结合图像纹理以及对象检测来获得全部信息。
下面参考图11A至图11C,描述运动分析器1330和机器学习模型1310的输出如何由示例性模块:帧率自适应1340、图像尺寸自适应1350、以及QP图生成器1360用于对相应译码参数进行自适应。参照图11A至图11C描述这些功能。
根据实施例,处理电路用于通过根据运动对视频图像进行帧率自适应,以确定译码参数。
根据实施例,根据在视频图像中检测到的运动的总量对帧率进行自适应。另外地或可选地,当在视频帧中检测到对象时,通过将帧率的值设置成高于没有检测到对象的情况,对帧率进行自适应。
例如,将最大运动速度vmax作为运动,当vmax大于或等于预设值T时,提高帧率;而当对象移动缓慢,对应的vmax小于预设阈值T时,可以维持或降低帧率。
换句话说,基于视频帧中包含的运动的总量(即运动分析器1330的计算输出)和/或是否在视频帧中检测到对象(即机器学习模型1310的输出),对帧率进行自适应。
例如,当检测到对象并且运动大于某个(经验)预定义值时,帧率可以从15fps(fps:framepersecond,帧每秒)提高到30fps。对于正常和快速运动的视频片段,帧率通常是30fps。而当没有检测到任何对象,对应地,机器学习模型没有将样本或样本块分类为ROI时,则不考虑运动信息,并且将帧率降低到例如1fps。
下面将讨论与空间分辨率相关的译码参数的自适应。
根据实施例,处理电路用于通过基于是否在视频图像中检测到对象对空间分辨率进行自适应,以确定译码参数。与空间分辨率相关的参数是例如图像尺寸。
此外,根据实施例,当在视频图像中检测到对象时,将与空间分辨率相关的译码参数设置成高于在没有检测到对象时的空间分辨率的值,上述与空间分辨率相关的译码参数是每个视频图像的样本数量。
如图11B所示,图像尺寸自适应1350模块使用机器学习模型1310的输出(即,对象检测结果)作为输入,并基于该对象检测结果对图像尺寸进行自适应(即,使用原始分辨率或替代分辨率)。如果到目前为止,在滑动窗口中一直没有检测到任何对象,则调低分辨率,使其低于默认分辨率,调低的分辨率对应于较小的图像尺寸。如果在当前帧中检测到任何对象,则采用原始(即较高的)分辨率。模块1350将经自适应的译码参数图像尺寸信令通知给视频编码器1320。
在全高清(fullHD)中,默认分辨率是1920x1080(对应于图像尺寸)。可选的较低分辨率是960x540。因此,图像尺寸是与空间分辨率相关的译码参数。指定图像尺寸的指定像素数不限于此。随着视频图像和显示技术朝更高的空间分辨率发展,这些像素数可能会变化,从而得到更大的图像尺寸。例如,在4k技术中,默认分辨率将是3840x2160,其中,1920x1080或960x540为较低的可选分辨率。
根据实施例,与空间分辨率相关的译码参数是量化参数(quantizationparameter,QP)。
量化参数是指用于编码的比特的倒数(inversenumber)。因此,小QP值对应大比特数,相应地,对应大量的较小增量。由此,可以对视频图像内更精细的空间变化进行编码,提高图像质量。
根据实施例,在样本属于ROI的情况下,将样本的量化参数设置成低于样本属于RONI的情况。
如图11C所示,由QP图生成器1360执行量化参数的自适应(即,设置),该QP图生成器使用重要性图(即,ROI-RONI图)作为输入。该重要性图由机器学习模型1310作为输出提供。QP图生成器使用该重要性图生成对应的量化参数图。如前所述,ROI-RONI图可以是位图,其中按比特指示样本或样本块是属于ROI还是RONI。
在标准HEVC编解码的情况下,出于兼容性原因,基于CTU/CU进行这一指示。当使用位图时,对于视频帧的每个CTU,如果该CTU为ROI或RONI,则该位图的条目包含值“1”或“0”。QP图生成器1360使用该位图,并且根据位图中的相应条目是“1”还是“0”对每个CTU/CU的译码参数QP进行自适应。如重要性图中的比特值“1”所指示,当CTU(或译码块)为ROI时,模块1360将QP数值设置为较低值(对应于较高的比特分辨率)。换句话说,图像内容中(在亮度和/或色度方面)的空间渐变可通过更多(不同)的值解析。
而当CTU/CU是如比特值“0”所指示的RONI时,QP值增加。例如当CTU/CU的图像内容是天空的一部分,并且具有弱的(即,几乎同质的)纹理和/或无运动时,后一种情况适用。因此,在这种示例性情况下,内容不显示强的空间变化。对应于大QP值的(较)少数量的比特足以用于编码帧的这一部分。
QP图生成器1360基于重要性(位)图生成相应的QP图,该OP图中包含有用于帧的CTU/CU的经自适应的QP值。模块1360向视频编码器1320信令通知该QP图。
对象检测进一步导致了ROI的一些边界框。例如,如果译码块CTU/CU完全或部分在ROI内,则将较小的QP值分配给该块。这会使图像质量较高。而当译码块完全在RONI内时,将较大的QP值分配给该块,从而使图像质量较低。
对于HEVC,较小的QP与较大的QP之间的差值可以是12。然而,这一差值可以根据ROI所需的图像质量而改变。
根据实施例,提供了一种用于对视频图像的样本进行编码的方法,该方法包括以下步骤:确定视频图像中的块的样本的运动信息;基于机器学习模型的输出确定译码参数,该机器学习模型以运动信息和块的样本作为输入;通过应用该译码参数对视频帧进行编码。
根据实施例,一种存储程序的计算机可读非暂时性介质,包括指令,该指令在处理器上执行时,使处理器执行上述方法的步骤。
图12示出了示例性实施例,其中,之前描述的机器学习引擎、编码器、运动分析器、以及参数自适应是完整的面向机器视觉的视频编(解)码(encoding/coding)系统的一部分。
终端侧存在由图像信号处理器(image signal processor,ISP)1402、由CNN进行的对象检测1410、以及视频编码器1440形成的流水线。来自相机传感器(包括透镜1401)的原始数据由ISP处理后产生了例如RGB格式的视频帧。诸如YUV、YCbCr等其他可选格式是可能的。接下来,使用CNN作为一种可能的机器学习模型,将对象检测算法应用于每一个RGB图像。最后,在空间-时间自适应1420和QP图生成器1430中使用该检测结果进行视频译码。通过网络1450将经译码的视频传输到云侧1480(例如,云服务器),该网络1450可以是有线/无线和/或移动/非移动网络。
实施例使用机器学习模型实现了对视频图像执行更准确且可靠的图像分割,其中,该机器学习模型馈送有帧的运动信息(例如,运动矢量)和视频图像(包括图像纹理)。将视频图像的块(例如,CTU/CU)的样本或一组块的样本分类为属于ROI或RONI,并且使用纹理进行对象检测,允许根据对象检测结果、ROI-RONI分割、以及运动信息对空间和时间译码参数进行自适应。
由此,实施例通过根据图像变化(即,帧率等时间分辨率)、检测到的一个或多个运动对象的重要性和尺寸(即,图像尺寸或量化参数等空间分辨率),对这些参数进行调优,实现了对视频图像和/或其中一帧内的区域的译码复杂度进行自适应。
这改善了用于机器视觉应用的自动化计算机视觉算法和装置的性能,上述应用包括以最优的译码参数进行图像编码/编码(encoding/coding)。
因此,实施例提供了以下有益效果:与视频监控、计算机视觉驱动的视频编(解)码、或自动驾驶相关的更准确的背景提取和对象检测,其中,纹理、运动、以及对象检测都很重要。
实施例公开的方法可以在监控相机或其他具有带对象检测功能的相机的消费者设备的芯片上使用和实施。
综上,本公开涉及:使用译码参数对视频图像进行编码,上述译码参数是基于视频图像的运动和机器学习的模型的输出进行自适应的,视频图像的块的样本和样本的运动信息被馈送至该机器学习模型。基于从运动信息中确定的运动强度,使用上述输入以及纹理,机器学习模型将视频图像分割为区域。基于运动和纹理检测视频中的对象,且基于运动强度和所检测到的对象是否移动,确定空间-时间译码参数。使用馈送有运动信息和块样本的机器学习模型并结合对象的纹理信息,允许更准确的图像分割,并因此允许根据不太相关的背景和动态图像内容方面的图像内容的重要性来优化译码参数,该动态图像内容包括快速移动和缓慢移动的不同尺寸的对象。
参考符号列表
图1
100 编码器
103 图像块
102 输入端(例如输入端口、输入接口)
104 残差计算[单元或步骤]
105 残差块
106 变换(例如另外包括缩放)[单元或步骤]
107 变换系数
108 量化[单元或步骤]
109 量化系数
110 反量化[单元或步骤]
111 解量化系数
112 逆变换(例如另外包括缩放)[单元或步骤]
113 逆变换块
114 重建[单元或步骤]
115 重建块
116 (列)缓冲器[单元或步骤]
117 参考样本
120 环路滤波器[单元或步骤]
121 滤波块
130 解码图像缓冲器(DPB)[单元或步骤]
142 帧间估计(或图像间估计)[单元或步骤]
143 帧间估计参数(例如参考图像/参考图像索引,运动矢量/偏移)
144 帧间预测(或图像间估计)[单元或步骤]
145 帧间预测块
152 帧内估计(或图像内估计)[单元或步骤]
153 帧内预测参数(例如帧内预测模式)
154 帧内预测(帧/图像内预测)[单元或步骤]
155 帧内预测块
162 模式选择[单元或步骤]
165 预测块(帧间预测块145或帧内预测块155)
170 熵编码[单元或步骤]
171 编码图像数据(例如位流)
172 输出端(输出端口、输出接口)
231 解码图像
图2
200 解码器
171 编码图像数据(例如位流)
202 输入端(端口/接口)
204 熵解码
209 量化系数
210 反量化
211 解量化系数
212 逆变换(缩放)
213 逆变换块
214 重建(单元)
215 重建块
216 (列)缓冲器
217 参考样本
220 环路滤波器(环内滤波器)
221 滤波块
230 解码图像缓冲器(DPB)
231 解码图像
232 输出端(端口/接口)
244 帧间预测(帧/图像间预测)
245 帧间预测块
254 帧内预测(帧/图像内预测)
255 帧内预测块
262 模式选择
265 预测块(帧间预测块245或帧内预测块255)
图3
300 译码系统
310 源设备
312 图像源
313 (原始)图像数据
314 预处理器/预处理单元
315 预处理图像数据
318 通信单元/接口
320 目的地设备
322 通信单元/接口
326 后处理器/后处理单元
327 后处理图像数据
328 显示设备/单元
330 发送/接收/通信(编码)的图像数据
图4
400 视频译码设备
410 入端口
420 接收器单元(Rx)
430 中央处理器(CPU)
440 发射器单元
450 出端口
460 存储器
470 译码模块
图5
510 街道
520 近距离处的较大的行人
530 中等距离处的中等尺寸的行人
540 远距离处的较小的行人
图6
610 街道
620 行人
630 具有移动内容的LED广告屏
640 一组轻微晃动的树木
图7
710 背景图像
720 当前图像
730 CNN网络
740 像素级背景分割
图8
810 运动信息
820 机器学习模型
830 译码参数+编码
图9
910 终端处的AI–使用纹理和运动的基于CNN的检测
920 视频编码器
930 运动分析器
940 帧率自适应
950 图像尺寸自适应
960 QP图生成器
图10A
1010 CTU
1020 MV(x,y)
1022 x=MVx=MV(x,y)的x分量
1024 y=MVy=MV(x,y)的y分量
1030 经拼接的CTU,MVx,MVy
1040 CNN
图10B
1110 CTU
1120 MV(x,y)
1122 x=MVx=MV(x,y)的x分量
1124 y=MVy=MV(x,y)的y分量
1126 X:MV(x,y)的尺寸经过调整的x分量
1128 Y:MV(x,y)的尺寸经过调整的y分量
1130 经拼接的CTU和尺寸经过调整的MVx、MVy
1140 CNN
图10C
1210 CTU
1220 MV(x,y)
1222 x=MVx=MV(x,y)的x分量
1224 y=MVy=MV(x,y)的y分量
1226 MVx和MVy的经拼接的x和y
1230 分类后的CTU和分类后的经拼接的MVx和MVy的经拼接的数据
1232 CNN子网2的数据输出
1234 CNN子网3的数据输出
1240 CNN子网1
1242 CNN子网2
1244 CNN子网3
图11A
1310 终端处的AI–使用运动和纹理的基于CNN的检测
1320 视频编码器
1330 运动分析器
1340 帧率自适应
图11B
1310 终端处的AI–使用运动和纹理的基于CNN的检测
1320 视频编码器
1330 运动分析器
1340 帧率自适应
1350 图像尺寸自适应
图11C
1310 终端处的AI–使用运动和纹理的基于CNN的检测
1320视频编码器
1330 运动分析器
1340 帧率自适应
1350 图像尺寸自适应
1360 QP图生成器
图12
1401 透镜
1402 传感器/isp
1410 终端处的AI–基于CNN的检测
1420 ST自适应
1430 QP图生成器
1440 编码器
1450 网络
1460 元数据
1470 解码器
1480 云端AI
1490 大数据驱动

Claims (13)

1.一种用于对视频图像的样本进行编码的装置(100,900),包括:
处理电路,用于:
确定所述视频图像中的样本的运动信息(810);
基于以所述运动信息和所述样本为输入的机器学习模型(820,910)的输出,确定译码参数(830,940,950,960);以及
通过应用所述译码参数对所述样本进行编码(830,920);
其中,所述机器学习模型用于使用所述机器学习模型检测所述视频图像内的对象;
其中,所述处理电路还用于通过根据样本的运动(930)对所述视频图像的帧率(940)进行自适应确定,以确定所述译码参数;
其中,所述处理电路还用于基于样本所在的块的运动矢量的度量,计算所述样本的运动(930);
其中,所述处理电路还用于通过以下方式对所述帧率进行自适应确定:
将在所述视频图像中检测到对象的情况下的所述帧率设置为高于没有检测到对象的情况下的所述帧率;和/或
根据所述视频图像中检测到的所述样本的运动(930)的总量设置所述帧率。
2.根据权利要求1所述的装置,其中,所述样本是块中的预定数量的多个样本之一,并且所述样本的所述运动信息是基于所述块的运动矢量(1020,1120,1220)确定的。
3.根据权利要求2所述的装置,其中,所述处理电路还用于:
将所述视频图像划分成相同尺寸的译码树单元(1010);
将所述译码树单元之一分层地拆分成多个译码单元;
为所述多个译码单元中的每个译码单元确定运动矢量(1020);
向所述机器学习模型输入所述译码树单元(1010)和为所述译码树单元的所述多个译码单元确定的相应的运动矢量(1020)。
4.根据权利要求3所述的装置,其中,所述处理电路用于向所述机器学习模型输入:
i)所述译码树单元;
ii)块(1022),所述块(1022)的尺寸为所述译码树单元的尺寸,对于所述译码树单元的每个样本,所述块(1022)包括所述每个样本所属的所述译码单元的所述运动矢量(1022)的水平分量;
iii)块(1024),所述块(1024)的尺寸为所述译码树单元的尺寸,对于所述译码树单元的每个样本,所述块(1024)包括所述每个样本所属的所述译码单元的所述运动矢量(1024)的垂直分量。
5.根据权利要求3或4所述的装置,其中,所述机器学习模型包括:
第一基于机器学习的子模型(1242),以所述译码树单元为输入;
第二基于机器学习的子模型(1244),以所述运动矢量为输入;以及
第三基于机器学习的子模型(1240),以所述第一基于机器学习的子模型的输出(1232)和所述第二基于机器学习的子模型的输出(1234)为输入。
6.根据权利要求1至4中任一项所述的装置,其中,所述机器学习模型用于将输入的所述样本分类为属于感兴趣区域ROI或非感兴趣区域RONI。
7.根据权利要求6所述的装置,其中,所述处理电路还用于获得作为所述机器学习模型的所述输出的图,所述图指定所述视频图像的所述ROI和所述RONI,其中,对于每个样本或样本块,所述图包括对所述样本或所述样本块是属于所述ROI还是所述RONI的指示。
8.根据权利要求1所述的装置,其中,所述处理电路用于通过基于是否在所述视频图像中检测到对象对空间分辨率(950)进行自适应确定,以确定所述译码参数。
9.根据权利要求8所述的装置,其中
所述处理电路还用于,将在所述视频图像中检测到对象的情况下的所述空间分辨率设置为高于在所述视频图像中没有检测到对象的情况下的所述空间分辨率,以及
所述空间分辨率是每个视频图像的样本数量。
10.根据权利要求8所述的装置,其中,与所述空间分辨率相关的所述译码参数是量化参数QP。
11.根据权利要求10所述的装置,其中,所述处理电路还用于,将样本属于ROI的情况下的样本的所述量化参数(960)设置为低于所述样本属于RONI的情况下的所述样本的所述量化参数。
12.一种用于对视频图像的样本进行编码的方法,包括
确定所述视频图像中的块的样本的运动信息;
基于所述运动信息和所述块的所述样本被输入到的机器学习模型的输出,确定译码参数;以及
通过应用所述译码参数对所述样本进行编码;
其中,所述机器学习模型用于使用所述机器学习模型检测所述视频图像内的对象;
其中,所述方法还包括通过根据样本的运动对所述视频图像的帧率进行自适应确定,以确定所述译码参数;
其中,所述方法还包括基于样本所在的块的运动矢量的度量,计算所述样本的运动;
其中,所述方法还包括通过以下方式对所述帧率进行自适应确定:
将在所述视频图像中检测到对象的情况下的所述帧率设置为高于没有检测到对象的情况下的所述帧率;和/或
根据所述视频图像中检测到的所述样本的运动的总量设置所述帧率。
13.一种存储程序的计算机可读非暂时性介质,包括指令,所述指令在处理器上执行时,使所述处理器执行根据权利要求12所述的方法。
CN201880096397.5A 2018-08-14 2018-08-14 使用运动和对象检测的用于视频编码的译码参数的基于机器学习的自适应 Active CN112534818B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2018/000530 WO2020036502A1 (en) 2018-08-14 2018-08-14 Machine-learning-based adaptation of coding parameters for video encoding using motion and object detection

Publications (2)

Publication Number Publication Date
CN112534818A CN112534818A (zh) 2021-03-19
CN112534818B true CN112534818B (zh) 2024-04-26

Family

ID=63832469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880096397.5A Active CN112534818B (zh) 2018-08-14 2018-08-14 使用运动和对象检测的用于视频编码的译码参数的基于机器学习的自适应

Country Status (4)

Country Link
US (1) US11671632B2 (zh)
EP (1) EP3808086A1 (zh)
CN (1) CN112534818B (zh)
WO (1) WO2020036502A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7213662B2 (ja) * 2018-11-09 2023-01-27 キヤノン株式会社 画像処理装置、画像処理方法
EP3900327A1 (en) * 2019-02-27 2021-10-27 Huawei Technologies Co., Ltd. An image processing apparatus and method
CN112087624A (zh) * 2019-06-13 2020-12-15 深圳市中兴微电子技术有限公司 基于高效率视频编码的编码管理方法
US11481540B2 (en) 2019-11-19 2022-10-25 Salesforce.Com, Inc. Discrepancy resolution processor and methods for implementing the same
CN111277827B (zh) * 2020-02-24 2022-12-20 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置、设备以及可读存储介质
CN110996131B (zh) * 2020-03-02 2020-11-10 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备及存储介质
EP4133730A4 (en) * 2020-06-10 2023-08-23 Plantronics, Inc. COMBINATION OF HIGH QUALITY FOREGROUND AND IMPROVED LOW QUALITY BACKGROUND
US11889096B2 (en) * 2020-06-26 2024-01-30 Intel Corporation Video codec assisted real-time video enhancement using deep learning
KR20220043694A (ko) * 2020-09-29 2022-04-05 삼성전자주식회사 영상을 처리하는 디바이스 및 그 동작 방법
EP4009635A1 (en) * 2020-12-07 2022-06-08 Axis AB Method and system for producing streams of image frames
US20230028426A1 (en) * 2021-07-15 2023-01-26 Teraki Gmbh Method and system for optimizing image and video compression for machine vision
US11653047B2 (en) 2021-07-29 2023-05-16 International Business Machines Corporation Context based adaptive resolution modulation countering network latency fluctuation
CN113630619A (zh) * 2021-08-12 2021-11-09 三星电子(中国)研发中心 节目录制方法和装置
WO2023055266A1 (en) * 2021-09-28 2023-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Rate-control using machine vision performance
CN114554211A (zh) * 2022-01-14 2022-05-27 百果园技术(新加坡)有限公司 内容自适应视频编码方法、装置、设备和存储介质
US20230325964A1 (en) * 2022-03-17 2023-10-12 Plainsight Corp. Systems and methods for generating and running computer vision pipelines for processing of images and/or video
US20230370653A1 (en) * 2022-05-16 2023-11-16 Microsoft Technology Licensing, Llc Streaming video with internally-variable frame quality based on intelligent identification of high-relevance regions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998035318A1 (en) * 1997-02-10 1998-08-13 At & T Corp. A method and apparatus for segmenting images prior to coding
CN107105278A (zh) * 2017-04-21 2017-08-29 中国科学技术大学 运动矢量自动生成的视频编解码框架

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075884A (en) * 1996-03-29 2000-06-13 Sarnoff Corporation Method and apparatus for training a neural network to learn and use fidelity metric as a control mechanism
JP2001245303A (ja) * 2000-02-29 2001-09-07 Toshiba Corp 動画像符号化装置および動画像符号化方法
US6650705B1 (en) * 2000-05-26 2003-11-18 Mitsubishi Electric Research Laboratories Inc. Method for encoding and transcoding multiple video objects with variable temporal resolution
US20030048846A1 (en) * 2001-07-31 2003-03-13 Myeong-Hwan Lee Motion image compression apparatus capable of varying frame rate and method of compressing motion image using the same
US20060256857A1 (en) * 2005-05-16 2006-11-16 Douglas Chin Method and system for rate control in a video encoder
US8019170B2 (en) * 2005-10-05 2011-09-13 Qualcomm, Incorporated Video frame motion-based automatic region-of-interest detection
US8761248B2 (en) 2006-11-28 2014-06-24 Motorola Mobility Llc Method and system for intelligent video adaptation
KR101271692B1 (ko) * 2009-09-16 2013-06-04 후지쯔 가부시끼가이샤 동화상 재생 장치, 동화상 재생 프로그램, 및 동화상 재생 방법
KR102001415B1 (ko) * 2012-06-01 2019-07-18 삼성전자주식회사 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템
CN103959802B (zh) * 2012-08-10 2018-01-26 松下电器(美国)知识产权公司 影像提供方法、发送装置以及接收装置
US10375405B2 (en) * 2012-10-05 2019-08-06 Qualcomm Incorporated Motion field upsampling for scalable coding based on high efficiency video coding
US10425641B2 (en) * 2013-05-30 2019-09-24 Intel Corporation Quantization offset and cost factor modification for video encoding
US9584814B2 (en) * 2014-05-15 2017-02-28 Intel Corporation Content adaptive background foreground segmentation for video coding
US10007977B2 (en) * 2015-05-11 2018-06-26 Netflix, Inc. Techniques for predicting perceptual video quality
WO2017219353A1 (en) * 2016-06-24 2017-12-28 Qualcomm Incorporated Methods and systems of performing rate control based on scene dynamics and channel dynamics
WO2018008678A1 (ja) * 2016-07-08 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、符号化装置、復号方法及び符号化方法
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10591971B2 (en) * 2017-04-01 2020-03-17 Intel Corporation Adaptive multi-resolution for graphics

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998035318A1 (en) * 1997-02-10 1998-08-13 At & T Corp. A method and apparatus for segmenting images prior to coding
CN107105278A (zh) * 2017-04-21 2017-08-29 中国科学技术大学 运动矢量自动生成的视频编解码框架

Also Published As

Publication number Publication date
WO2020036502A8 (en) 2021-01-28
EP3808086A1 (en) 2021-04-21
US20210168408A1 (en) 2021-06-03
US11671632B2 (en) 2023-06-06
WO2020036502A1 (en) 2020-02-20
CN112534818A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112534818B (zh) 使用运动和对象检测的用于视频编码的译码参数的基于机器学习的自适应
US11490092B2 (en) Event-based adaptation of coding parameters for video image encoding
US20210203997A1 (en) Hybrid video and feature coding and decoding
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
CN111107356B (zh) 图像预测方法及装置
CN112954367B (zh) 使用调色板译码的编码器、解码器和相应方法
CN111355951B (zh) 视频解码方法、装置及解码设备
CN111837389A (zh) 适用于多符号位隐藏的块检测方法及装置
CN111385572B (zh) 预测模式确定方法、装置及编码设备和解码设备
CN112400323B (zh) 图像编码器、图像解码器、以及对应方法
CN117241014A (zh) Mpm列表构建方法、色度块的帧内预测模式获取方法及装置
CN115918074A (zh) 基于通道间相关信息的自适应图像增强
AU2024201357A1 (en) Picture prediction method and apparatus, and computer-readable storage medium
CN111355959B (zh) 一种图像块划分方法及装置
CN115349257B (zh) 基于dct的内插滤波器的使用
CN114503558B (zh) 插值滤波器在仿射运动补偿中的适应性使用
US20230388490A1 (en) Encoding method, decoding method, and device
WO2020253681A1 (zh) 融合候选运动信息列表的构建方法、装置及编解码器
US20230269385A1 (en) Systems and methods for improving object tracking in compressed feature data in coding of multi-dimensional data
CN110868590B (zh) 图像划分方法及装置
CN112822498B (zh) 图像处理设备和执行有效去块效应的方法
CN111901593B (zh) 一种图像划分方法、装置及设备
CN110958452B (zh) 视频解码方法及视频解码器
EP4354862A1 (en) Systems and methods for end-to-end feature compression in coding of multi-dimensional data
WO2020125761A1 (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
GR01 Patent grant
GR01 Patent grant