CN112673625A - 混合视频以及特征编码和解码 - Google Patents

混合视频以及特征编码和解码 Download PDF

Info

Publication number
CN112673625A
CN112673625A CN201880097388.8A CN201880097388A CN112673625A CN 112673625 A CN112673625 A CN 112673625A CN 201880097388 A CN201880097388 A CN 201880097388A CN 112673625 A CN112673625 A CN 112673625A
Authority
CN
China
Prior art keywords
video
feature
bitstream
features
image
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
CN201880097388.8A
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.)
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 CN112673625A publication Critical patent/CN112673625A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开公开涉及混合视频和特征编码和解码,图像特征的编码和解码被独立地或差分地执行。在单独的层(例如,基础层和增强层)中对视频和特征进行编码和解码。提取视频帧的特征,提供基于帧的特征视频关联。从在增强层中编码的未压缩视频中将特征提取为特征比特流。将视频编码为视频比特流,通过将两个流多路复用为输出比特流,特征比特流嵌入到视频比特流中。可以是差分图像特征的图像特征被包括在视频的帧头信息的序列增强信息SEI消息中。将输出比特流作为输入比特流提供给解码器,使用帧头的SEI消息将输入比特流解复用为视频比特流和特征比特流。将两个比特流在各自的层中进行解码,并且使用基于帧的特征视频关联将图像特征定位在视频中。

Description

混合视频以及特征编码和解码
技术领域
本公开公开涉及视频图像和视频图像的图像特征的混合编码和解码。
背景技术
视频编码(视频编码和解码)广泛用于各种数字视频应用,例如,广播数字电视、互联网和移动网络上的视频传输,实时对话应用例如视频聊天,视频会议,DVD和蓝光光盘,视频内容获取和编辑系统,以及安全应用的摄录机。
自1990年在H.261标准中开发基于块的混合视频编码方法以来,新的视频编码技术和工具得到了发展,并且形成了新视频编码标准的基础。大多数视频编码标准的一个目标是将比特率降低到低于之前产品的水平,而不牺牲图片质量。进一步地,视频编码标准包括MPEG-1视频、MPEG-2视频、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、高级视频编码(advanced video coding,AVC)、ITU-T H.265、高效视频编码(highefficiency video coding,HEVC)以及上述标准的扩展,例如,可伸缩性和/或三维(three-dimensional,3D)扩展。
视频图像的编码和解码(即,压缩和解压缩)也与应用相关,例如,在视频监控中,需要检测和标识静止和/或运动目标对象。在目前的视频监控方案中,视频在终端侧(用户或客户端)(例如,在摄像机等处)被压缩,并且被传输到服务器,该服务器可以是云端的一部分。然后,在云端重建压缩视频并进行进一步分析。视频的编码和解码可以由标准视频编码器和解码器执行,如图1至图4所示,例如,与H.264/AVC或HEVC(H.265)或下一代兼容的标准视频编码器和解码器。
一方面,计算机视觉(computer vision,CV)算法(例如,对象检测或面部识别)用于从视频(即,视频图像)中提取有用的信息。典型的检测和识别CV算法基本上基于从视频提取的特征,或更准确地说,从视频序列的各个帧中提取的特征。特征包括常规特征,例如,尺度不变特征变换(scale invariant feature transform,SIFT)、加速鲁棒特征(speededup robust feature,SURF)和二进制鲁棒独立基本特征(binary robust independentelementary feature,BRIEF),或者近年来基于卷积神经网络(convolutional neuralnetwork,CNN)的特征。后一种类型的特征通常被称为机器学习特征,即,机器学习模型提取和/或分类的特征(包括CNN等)。另一方面,为寻找CV算法可能丢失的信息,或者为了证明CV算法结果的正确性,人们也被雇佣来观看视频。然而,人们并不了解用于执行视频图像分析的CV算法的特征,因此人们实际上是在服务器侧(云端)观看视频的。因此,在视频监控中,视频被编码和传输(例如,上传到云服务器),并且CV算法也采用高质量特征,以提供快速准确的图像分析结果。
发明内容
独立权利要求的特征定义了本申请的实施方式,从属权利要求的特征定义了实施方式的进一步有利实现。
根据本公开公开的一个方面,提供了一种用于对视频进行编码的装置,包括处理电路,该处理电路被配置为将该视频编码为视频比特流;从该视频中提取图像特征;将该图像特征编码为特征比特流;以及将该特征比特流和该视频比特流多路复用为输出比特流。
从未压缩视频(即,原始视频)中提取图像特征,具有高质量特征的优点,可用于视频监控中的主体和对象标识。具体地,使用高质量特征可以提高对象检测和标识的准确性和可靠性,这是计算机视觉算法执行的关键任务,并且应用于视频监控、计算机视觉驱动特征编码和自动驾驶系统。
在编码器侧(即,终端侧)从无损未压缩视频中提取一个或多个图像特征,可以进一步在终端侧执行计算机视觉任务,从而加快解码器侧(云端)的最终计算机视觉分析。
根据本公开公开的一个方面,装置的处理电路还被配置为提取该视频的帧的图像特征。
根据本公开公开的一个方面,该处理电路还被配置为将该特征比特流和该视频比特流多路复用为该输出比特流,其中,该多路复用定义与视频帧有关的该视频比特流和与该帧有关的该特征比特流之间的关联。
逐帧特征提取以及特征比特流与视频比特流的基于帧的关联,允许基于提取特征的帧在重建视频中定位特征。这意味着无需解码整个视频,只需解码包含特征的视频帧。
在一个示例性实施方式中,该多路复用包括将该视频的图像特征包括在序列增强信息(sequence enhancement information,SEI)消息中,该SEI消息属于该视频的帧头信息。
这提供了视频(即,输出比特流)结构紧凑的优点,包括特征比特流和视频比特流。具体地,将图像特征嵌入到视频的SEI报头具有以下优点:视频比特流还包括关于特征本身、特征类型和帧索引等信息。由此,可以同步特征比特流和视频比特流,并在不同的层中对两者进行编码。
根据本公开公开的一个方面,该处理电路还被配置为通过差分编码对该图像特征进行编码,包括:从该视频比特流重建该视频;从重建视频提取该图像特征;通过从该视频的提取图像特征中减去该重建视频的提取图像特征来确定差分图像特征;以及将该差分图像特征编码为该特征比特流。
差分编码的可能性提供了通过使用从重建视频中提取的图像特征作为预测因子提高特征压缩率的优点。换句话说,差分特征编码非常有效。
在一个示例性实施方式中,该图像特征是尺度不变特征变换SIFT、加速鲁棒特征SURF、二进制鲁棒独立基本特征BRIEF或基于机器学习模型提取的特征中的任意一个。
由于特征的多样性,使用不同类型的特征及其可能的不同表示形式(浮点数、整数或二进制数)可以提高执行计算机视觉任务的准确性和可靠性。
根据本公开公开的一个方面,提供了一种用于对视频进行重建的装置,装置包括处理电路,该处理电路被配置为将编码视频的输入比特流解复用为视频比特流和特征比特流;从该视频比特流解码该视频;从该特征比特流解码该视频的图像特征;以及定位该视频中的该图像特征。
根据一个示例性实施方式,所述图像特征用于该视频的帧。
根据本公开公开的一个方面,该输入比特流以多路复用的方式包括该特征比特流和该视频比特流,其中,该多路复用定义与视频帧有关的该视频比特流和与该帧有关的该特征比特流之间的关联,该装置的处理电路还被配置为根据该帧将该输入比特流解复用为该视频比特流和该特征比特流。
在本公开公开的一个示例性实施例中,该输入比特流以多路复用的方式包括在序列增强信息SEI消息中的该图像特征中,该SEI消息属于该视频的帧头信息,该处理电路还被配置为从该SEI消息解复用所述图像特征。
逐帧视频特征关联可以快速定位视频中的特征的各个视频比特流。因此,可以快速检索视频帧,并用于提取一个或多个不同于包括在特征比特流中的图像特征的附加特征。这进一步提高了使用用于计算机视觉(computer vision,CV)任务的图像特征的CV系统的性能,包括主体和/或对象的检测和标识,例如,使用面部特征的面部识别。
根据本公开公开的一个方面,该装置的处理电路还被配置为通过差分解码对包括该视频的差分图像特征的该特征比特流进行解码,包括:从重建视频中提取该图像特征;以及通过将该重建视频的提取图像特征与该差分图像特征相加,来确定该视频的图像特征。
根据本公开公开的一个方面,提供了一种对视频进行编码的方法,包括将该视频编码为视频比特流;从该视频中提取图像特征;将该图像特征编码为特征比特流;以及将该特征比特流和该视频比特流多路复用为输出比特流的步骤。
根据本公开公开的一个方面,提供了一种对视频进行重建的方法,该方法包括从输入比特流解复用视频比特流和特征比特流;从该视频比特流解码所述视频;从该特征比特流解码该视频的图像特征;以及定位该视频中的该图像特征的步骤。
根据本公开公开的一个方面,提供了一种计算机可读非暂时性存储介质,该计算机可读非暂时性存储介质存储有指令,当该指令在处理器上执行时,使得该处理器执行所述的方法步骤。
附图和说明书阐述了一个或多个实施例的细节。说明书、附图和权利要求将清晰地描述其它特征、对象和优点。
附图说明
在下文中,参考附图将更详细地描述本申请实施例,其中:
图1是示出被配置为实现本申请的实施例的视频编码器的示例的框图。
图2是示出被配置为实现本申请的实施例的视频解码器的示例结构的框图。
图3是示出被配置为实现本申请的实施例的视频编码系统的示例的框图。
图4是视频编码器(编码器或解码器)及其接口的框图。
图5是执行具有独立特征编码的混合视频和特征编码的实施例的装置的框图。
图6是执行具有差分特征编码的混合视频和特征编码的实施例的装置的框图。
图7是执行具有独立特征解码的混合视频和特征解码的实施例的装置的框图。
图8是执行具有差分特征解码的混合视频和特征解码的实施例的装置的框图。
图9是示出了轻型浮点特征编码器和解码器的框图,包括N位到q位量化和去量化。
图10是使用32至q位量化图像特征的面部识别的示意图。
图11是用于二进制特征的算术编码器和解码器的框图。
图12是元数据容器的语法的图示。
图13是计算机视觉系统的系统框图,包括混合视频以及特征编码器和解码器,基于独立编码/解码的图像特征对视频进行计算机视觉分析。
图14是计算机视觉系统的系统框图,包括混合视频以及特征编码器和解码器,基于差分编码/解码的图像特征对视频进行计算机视觉分析。
图15是利用CNN从未压缩视频的像斑中提取特征进行面部识别,并与已知面部的预定数据库特征进行比较的图示。
在下文中,相同的附图标记表示相同或至少功能相当的特征。
具体实施方式
下面参考附图进行描述,附图作为本公开公开的一部分,描述性地示出了本申请的实施例的具体方面或可以使用本申请的实施例的具体方面。应理解,本申请的实施例可以用于其他方面,包括未在附图中描述的结构或逻辑变化。因此,下面的详细描述不应被理解为限制性的,且本申请的范围由所附权利要求限定。
例如,应理解,与所述方法相关的公开也可适用于配置为执行该方法的相应设备或系统,反之亦然。例如,如果描述了一个或多个具体方法步骤,则相应的设备可以包括一个或多个单元(例如,功能单元),以执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元中的而每一个单元执行多个步骤中的一个或多个步骤),即使在附图中未明确描述或示出这样的一个或多个单元。另一方面,例如,如果基于一个或多个单元(例如,功能单元)描述具体装置,则相应的方法可以包括一个执行一个或多个单元的功能的步骤(例如,执行一个或多个单元的功能的一个步骤,或多个步骤中的每一个执行多个单元中的一个或多个步骤的功能),即使在附图中未明确描述或示出这样的一个或多个步骤。还应理解,除非另有具体说明,此处描述的各示例性实施例和/或方面的特征可以彼此组合。
视频编码通常是指对一系列图片的处理,这些图片构成视频或视频序列。在视频编码领域中,术语帧或图像可以作为同义词使用,而不能使用术语图片。视频编码包括视频编码和视频解码两个部分。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图片,以减少表示视频图片所需的数据量(以便更有效地存储和/或传输)。视频解码在目标侧执行,通常包括与编码器相对的逆处理,以重建视频图片。涉及视频图片(或通用图片,将稍后说明)的“编码”的实施例应被理解为与视频图片的“编码”和“解码”两者均有关。编码部分和解码部分的组合也被称为CODEC(COding和DECoding)。
在无损视频编码的情况下,可以重建原始视频图片,即,重建视频图片具有与原始视频图片相同的质量(假设在存储或传输期间没有传输损耗或其他数据丢失)。在有损视频编码的情况下,执行进一步的压缩(例如,通过量化)以减少代表视频图片的数据量,其数据量不能在解码器处完全重建,即,与原始视频图片的质量相比,重建视频图片的质量更低或更差。
自H.261以来的几种视频编码标准都属于“有损混合视频编解码器”组(即,在样本域中的结合时间和空间预测以及二维变换编码,以在变换域中应用量化)。视频序列的每个图片通常被划分为一组不重叠的块,并且通常在块级别上执行编码。换句话说,在编码器处,通常在块(视频块)级别上处理(即,编码)视频,例如,通过使用空间(图片内)预测和时间(图片间)预测以生成预测块,从当前块(当前已处理/待处理的块)中减去预测块,以获取残差块,对残差块进行变换并在变换域中对残差块进行量化,以减少待传输(压缩)的数据量,而在解码器处,与编码器相对的逆处理被用于编码或压缩块,以重建用于表示的当前块。另外,编码器复制解码器处理循环,使得两者都将生成相同的预测(例如,帧内和帧间预测)和/或用于处理(即,编码)后续块的重建。
由于视频图片处理(又被称为运动图片处理)和静止图片处理(术语处理包括编码)共享许多概念、技术或工具,下文中的术语“图片”用于指代视频序列(如上所述)的视频图片和/或静态图片,以避免不必要的重复,以及视频图片与静态图片间不必要的区别。在描述仅涉及静止图片(或静止图像)的情况下,应使用术语“静止图片”。
在下文中,基于图1至图3描述了编码器100、解码器200和编码系统300的实施例(在基于图18至图12对本申请实施例进行更详细地描述之前)。
图3是示出了编码系统300(例如,图片编码系统300)的实施例的示意框图,其中,编码系统300包括源设备310,该源设备310被配置为将编码数据330(例如,编码图片330)提供给,例如,目的地设备320,用于解码编码数据330。
源设备310包括编码器100或编码单元100,并且可以附加地,即,可选地,包括图片源312、预处理单元314(例如,图片预处理单元314)以及通信接口或通信单元318。
图片源312可以包括或可以是任意类型(例如,用于捕获真实世界图片)的图片捕获设备,和/或任意类型的图片生成设备(例如,用于生成计算机动画图片的计算机图形处理器),或用于获取和/或提供真实世界图片、计算机动画图片(例如,屏幕内容,虚拟现实(VR)图片)的任意类型的设备和/或上述任意组合(例如,增强现实(AR)图片)。在下文中,除非另有具体说明,所有这些类型的图片和其他任意类型的图片都将被称为“图片”;而除非另有明确说明,先前关于术语“图片”涵盖了“视频图片”和“静止图片”的说明仍然成立。
(数字)图片是、也可以被视为具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以被称为像素(图片像素的缩写)或像素点(pel)。阵列或图片在水平和垂直方向(或轴向)上的样本数量决定了图片的大小和/或分辨率。对于颜色的表示,通常采用三个颜色分量,即,图片可以由三个样本阵列表示,或包括三个样本阵列。在RBG格式或色彩空间中,图片包括相应的红色、绿色和蓝色样本阵列。然而,在视频编码中,每个像素通常用亮度/色度格式或色彩空间表示,例如,YCbCr,其包括由Y表示的亮度分量(有时也用L代替)和由Cb和Cr表示的两个色度分量。亮度(或短亮度)分量Y表示亮度或灰度强度(例如,像在灰度图片中),而两个色度(或短色度)分量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被配置为接收编码图片数据171或编码数据330,例如,直接从源设备310或从其他任意源(例如,存储器,例如,编码图片数据存储器)接收。
通信接口318和通信接口322可以被配置为通过源设备310和目的地设备320之间的直接通信链路(例如,直接有线或无线连接)分别发送接收编码图片数据171或编码数据330,或通过任意类型的网络(例如,有线或无线网络或其任意组合),或任意类型的私有和公共网络,或任意组合来进行。
例如,通信接口318可以被配置为将编码图片数据171封装为适当的格式(例如,封装),以便在通信链路或通信网络上传输,并可以进一步包括数据丢失保护和数据丢失恢复。
例如,形成通信接口318的对应物的通信接口322可以被配置为对编码数据330进行解封装以获取编码图片数据171,还可以被配置为执行数据丢失保护和数据丢失恢复,例如,包括错误隐藏。
如图3所示,从源设备310指向目的地设备320的箭头表示编码图片数据330,通信接口318和通信接口322都可以被配置为单向通信接口或双向通信接口,并可以被配置为,例如,发送并接受信息,例如,以建立连接、确认和/或重新发送包括图片数据的丢失或延迟数据,并交换与通信链路和/或数据传输有关的其他任意信息,例如,编码图片数据传输。
解码器200被配置为接收编码图片数据171,并提供解码图片数据231或解码图片231(例如,将基于图2进一步描述细节)。
目的地设备320的后处理器326被配置为对解码图片数据231(例如,解码图片231)进行后处理,以获取后处理图片数据327(例如,后处理图片327)。例如,由后处理单元326执行的后处理可以包括颜色格式转换(例如,从YCbCr到RGB)、颜色校正、裁剪、或重新采样、或其他任意处理,例如,用于准备解码图片数据231,例如,通过显示设备328显示。
目的地设备320的显示设备328被配置为接收后处理图片数据327,例如,用于向用户或观看者显示图片。显示设备328可以是或可以包括用于表示重建图片的任意类型的显示器,例如,集成或外部显示器或监控器。显示器可以包括,例如,阴极射线管(cathode raytube,CRT)、液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light emitting diodes,OLED)显示器或任意类型的其他显示器,例如,投影仪、全息图(three dimensional,3D)等。
尽管图3将源设备310和目的地设备320描绘为单独的设备,但是设备的实施例还可包括两者或两者的功能、源设备310或相应的功能以及目的地设备320或相应的功能。在这种实施例中,可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合,实现源设备310或相应的功能和目的地设备320或相应的功能。
基于说明书,对于本领域技术人员显而易见的是,如图3所示,源设备310和/或目的地设备320内的不同单元的功能或不同功能的存在和(精确)拆分可以根据实际设备和应用而不同。
因此,如图3所示的源设备310和目的地设备320仅是本申请的示例实施例,本申请的实施例不限于图3所示的实施例。
源设备310和目的地设备320可以包括多种设备中的任意一种,包括任意类型的手持或固定设备(例如,笔记本或膝上型计算机、移动电话、智能电话、平板或平板计算机、摄像机、台式计算机、机顶盒、电视、显示设备、数字媒体播放器、视频游戏机、视频流设备、广播接收器设备等),可能不使用任意操作系统或任意类型的操作系统。
编码器和编码方法
图1示出了编码器100(例如,图片编码器100)的实施例的示意框图,包括输入102、残差计算单元104、变换单元106、量化单元108、逆量化单元110、逆变换单元112、重建单元114、缓冲器118、环路滤波器120、解码图片缓冲器(decoded picture buffer,DPB)130、预测单元160、帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154、模式选择单元162、熵编码单元170和输出172。图1所示的视频编码器100也可以被称为混合视频编码器,或根据混合视频编解码器被称为视频编码器。
例如,残差计算单元104、变换单元106、量化单元108和熵编码单元170形成编码器100的前向信号路径,例如,逆量化单元110、逆变换单元112、重建单元114、缓冲器118、环路滤波器120、解码图片缓冲器(DPB)130、帧间预测单元144和帧内预测单元154形成编码器的后向信号路径,其中编码器的信号路径对应于解码器的信号路径(参见图2的解码器200)。
编码器被配置为,例如,通过输入102接收图片101或图片101的图片块103,例如,形成视频或视频序列的一系列图片的图片。图片块103也可以被称为当前图片块或要编码的图片块,图片101也可以被称为当前图片或要编码的图片(具体地,在视频编码中,为区分当前图片与其他图片,例如,相同视频序列的先前编码和/或解码图片,即,也包括当前图片的视频序列)。
编码器100的实施例可以包括划分单元(未在图1中示出)(例如,也可以被称为图片划分单元),该划分单元被配置为将图片103划分为多个块,例如,类似块103的块,通常被划分为多个不重叠的块。划分单元可以被配置为针对视频序列的所有图片和定义块大小的相应网格使用相同的块大小,或者改变图片或图片子集或图片组之间的块大小,并将每个图片划分为相应的块。
例如,在高效视频编码(high efficiency video coding,HEVC)中,图片被细分为所谓的编码树单元(coding tree units,CTUs)。CTU具有相同的大小,可以由某些信令参数确定,或由标准固定。CTU通常不重叠。然后,将每个CTU进一步拆分成编码和/或变换单元,即,分别为其执行预测和/或变换的块。通过为将每个块进一步拆分为另外四个块(四叉树分区)或另外两个块(二叉树分区)或其他任意类型的分区提供可能性,递归地执行拆分。换句话说,HEVC将CTU建立为基于树的层次拆分的根,例如,将CTU和CU的四叉树拆分为四个最大深度的方形CU,该最大深度对应于CU可取的最小尺寸。可以通过速率失真优化来确定是否拆分CTU,并确定每个CTU块的深度。然而,通常,也可以基于其他标准来定义拆分,例如,CTU是否存在边缘等。因此,在本公开中,当提及作为图像一部分的“块”或“单元”时,指的是CTU或通过CTU拆分获取的任意单元-正方形或矩形,而不是正方形。通常,重叠块的实施例是可能的。
与图片101一样,块103也可以被视为具有强度值(样本值)的样本的二维阵列或矩阵,尽管其尺寸小于图片101。换句话说,块103可以包括,例如,一个样本阵列(例如,在单色图片101的情况下的亮度阵列)或三个样本阵列(例如,在彩色图片101的情况下的亮度和两个色度阵列)或其他任意数量和/或类型的阵列,取决于所应用的颜色格式。块103在水平和垂直方向(或轴向)上的样本数量决定了块103的大小。
如图1所示的编码器100被配置为逐块的编码图片101,例如,对每个块103执行编码和预测。
例如,残差计算单元104被配置为基于图片块103和预测块165计算残差块105(预测块165的更多细节将稍后讨论),例如,通过从图片块103的样本值中减去预测块165的样本值,逐样(逐像素)在样本域中获得残差块105。残差值(形成残差信号)对应预测误差(预测误差信号)。
变换单元106被配置为应用转换(例如,残差块105的样本值上应用空间频率变换或线性空间(频率)变换,例如,离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST),以获取变换域中的变换系数107。变换系数107也可以被称为变换残差系数,表示变换域中的残差块105。
变换单元106可以被配置为应用DCT/DST的整数近似值,例如,为HEVC/H.265指定的核心变换。与正交DCT变换相比,这种整数近似值通常按一定因子缩放。为了保留由正向和逆向变换处理的残差块的规则,附加的缩放因子被用作变换过程的一部分。通常基于某些约束条件来选择缩放因子,例如,缩放因子是移位操作的2次幂、转换系数的位深度、精度和实现成本之间的折衷等。例如,为逆变换指定的特定缩放因子由,例如,逆变换单元212在解码器200处(例如,在编码器100处通过逆变换单元112进行相应的逆变换),用于正变换的相应的缩放因子,例如,由变换单元106在编码器100处进行相应的指定。
量化单元108被配置为量化变换后的系数107以获取量化系数109,例如,通过应用标量量化或向量量化。量化系数109也可以被称为量化残差系数109。例如,对于标量量化,可以应用不同的缩放以实现更精细或更粗略的量化。较小的量化步长对应于较精细的量化,而较大的量化步长对应于较粗略的量化。适用的量化步长可以由量化参数(QP)指示。例如,量化参数可以是适用的量化步长的预定义集合的索引。例如,小量化参数可以对应于精细量化(小量化步长),大量化参数可以对应于粗略量化(大量化步长),反之亦然。量化可以包括与量化步长的除法,以及相应的反量化或逆反量化,例如,通过逆量化110,可以包括与量化步长的乘法。根据HEVC,实施例可以被配置为使用量化参数来确定量化步长。通常,可以使用包括除法的等式的定点近似基于量化参数来计算量化步长。可以引入附加的缩放因子进行量化和反量化,以恢复残差块的规则,由于在量化步长和量化参数的方程式的定点近似中使用了缩放,因此可能会对其进行修改。在一个示例实施方式中,可以组合逆变换和反量化的缩放。替代地,可以使用定制的量化表,例如,在比特流中将其从编码器发送信号到解码器。量化是有损操作,其中,损失随着量化步长的增加而增加。
编码器100(或每个量化单元108)的实施例可以被配置为,例如,通过相应的量化参数来输出量化方案和量化步长,使得解码器200可以接收并应用相应的逆量化。编码器100(或量化单元108)的实施例可以被配置为输出量化方案和量化步长,例如,直接地或通过熵编码单元170或其他任意熵编码单元进行熵编码。
逆量化单元110被配置为将量化单元108的逆量化应用于量化系数,以获取反量化系数111,例如,通过量化单元108基于或使用与量化单元108相同的量化步骤大小应用逆量化方案。反量化系数111也可以被称为反量化残差系数111,尽管由于量化损失而通常与变换系数不相同,但其与变换系数108相对应。
逆变换单元112被配置为应用由变换单元106应用的变换的逆变换,例如,逆离散余弦变换(DCT)或逆离散正弦变换(DST),以获取样本域中的逆变换块113。逆变换块113也可以被称为逆变换反量化块113或逆变换残差块113。
重建单元114被配置为结合逆变换块113和预测块165,以获取样本域中的重建块115,例如,通过将解码的残差块113的样本值与预测块165的样本值逐样本相加。
缓冲器单元116(或短“缓冲器”116),例如,线性缓冲器116,被配置为缓冲或存储重建块和各个样本值,例如,用于帧内估计和/或帧内预测。在进一步的实施例中,编码器可以被配置为将未滤波的重建块和/或存储在缓冲器单元116中的各个样本值,用于任意类型的估计和/或预测。
编码器100的实施例可以被配置为,例如,使得缓冲器单元116不仅用于存储用于帧内估计152和/或帧内预测154的重建块115,而且还用于环路滤波器单元120(图1中未示出),和/或,例如,使得缓冲器单元116和解码图片缓冲器单元130形成一个缓冲器。进一步的实施例可以被配置为使用滤波块121和/或来自解码图片缓冲器130(均未在图1中示出)的块或采样作为帧内估计152和/或帧内预测154的输入或基础。
环路滤波器单元120(或短“环路滤波器”120)被配置为对重建块115进行滤波以获取滤波块121,例如,通过应用解块滤波器、样本自适应偏移(sample-adaptive offset,SAO)滤波器或其他滤波器,例如,锐化或平滑滤波器或协作滤波器。滤波块121也可以被称为滤波重建块121。
环路滤波器单元120的实施例可以包括(图1中未示出)滤波器分析单元和实际滤波器单元,其中滤波器分析单元被配置为确定用于实际滤波器的环路滤波器参数。滤波器分析单元可以被配置为将固定的预定滤波器参数应用于实际环路滤波器,从一组预定滤波器参数中自适应地选择滤波器参数,或者针对实际环路滤波器自适应地计算滤波器参数,这将在下面详细讨论。
环路滤波器单元120的实施例可以包括(图1中未示出)一个或多个滤波器,例如,一个或多个不同类型或种类的滤波器,例如,以串联或并联或以其任意组合连接,其中每个滤波器可单独包括或与多个滤波器中的其他滤波器联合包括滤波器分析单元,以确定各自的环路滤波器参数,例如,如上一段所述。
编码器100(各个环路滤波器单元120)的实施例可以被配置为输出环路滤波器参数,例如,直接或通过熵编码单元170或其他任意熵编码单元进行熵编码,例如,使得解码器200可以接收并应用相同的环路滤波器参数进行解码。
解码图片缓冲器(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可以被配置为基于速率失真优化(rate distortion optimization,RDO)确定预测模式,即,选择预测模式,该预测模式提供最小速率失真优化或者相关的速率失真至少满足预测模式选择标准。
下面将详细说明由示例编码器100执行的预测处理(例如,预测单元160)和模式选择(例如,通过模式选择单元162进行)。
如上所述,编码器100被配置为从一组(预定)预测模式中确定或选择最佳或最优预测模式。该组预测模式可以包括,例如,帧内预测模式和/或帧间预测模式。
该组帧内预测模式可以包括32个不同的帧内预测模式,例如,类似DC(或均值)模式和平面模式的非定向模式,或者,例如,H.264中定义的定向模式,或者可以包括65个不同的帧内预测模式,例如,类似DC(或均值)模式和平面模式的非定向模式,或定向模式,例如,H.265中定义的模式。
一组(或可能的)帧间预测模式取决于可用的参考图片(即,先前至少部分解码的图片,例如,存储在DBP 230中)和其他帧间预测参数,例如,是整个参考图片还是仅一部分,例如,参考图片的当前块区域周围的搜索窗口区域用于搜索最优匹配的参考块,和/或,例如,是否应用像素插值,例如,半/半像素和/或四分之一像素插值。
除了上述预测模式之外,可以应用跳过模式和/或直接模式。
预测单元160还可以被配置为将块103划分为较小的块分区或子块,例如,迭代地使用四叉树划分(QT)、二叉划分(BT)或三叉树划分(TT)或其他任意组合,并执行,例如,针对每个块分区或子块的预测,其中模式选择包括选择分区块103的树结构和应用于每个块分区或子块的预测模式子块。
帧间估计单元142,也被称为图片间估计单元142,被配置为接收或获取图片块103(当前图片101的当前图片块103)和解码图片231,或至少一个或多个先前重建块,例如,用于帧间估计(或“图片间估计”)的一个或多个其他/不同的先前解码图片231的重建块。例如,视频序列可以包括当前图片和先前解码图片231,或者换句话说,当前图片和先前解码图片231可以是视频序列的一系列图片的一部分或形成视频序列的一系列图片。
例如,编码器100可以被配置为从多个其他图片的相同或不同图片的多个参考块中选择参考块,并将参考图片(或参考图片索引)和/或参考块的位置(x,y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。此偏移也被称为运动向量(motion vector,MV)。帧间估计也被称为运动估计(motion estimation,ME),帧间预测也被称为运动预测(motion prediction,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和/或环路滤波器参数上的熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC方案(context adaptiveVLC scheme,CALVC)、算术编码方案、上下文自适应二进制算术编码(context adaptivebinary arithmetic coding,CABAC)),以获取编码图片数据171,该图片数据可以由输出172输出,例如,以编码比特流171的形式。
解码器和解码方法
图2示出了示例性视频解码器200,该视频解码器被配置为接收编码图片数据(例如,编码比特流)171,例如,由编码器100编码,以获取解码图片231。
解码器200包括输入202、熵解码单元204、逆量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图片缓冲器230、预测单元260、帧间预测单元244、帧内预测单元254、模式选择单元260和输出232。
熵解码单元204被配置为对编码图片数据171执行熵解码,以获取,例如,量化系数209和/或解码编码参数(图2中未示出),例如,(解码)帧间预测参数143、帧内预测参数153和/或环路滤波器参数的任意一个或全部。
在解码器200的实施例中,逆量化单元210、逆变换单元212、重建单元214、缓冲器216、环路滤波器220、解码图片缓冲器230、预测单元260和模式选择单元260被配置为执行编码器100(和各个功能单元)的逆处理,以对编码图片数据171进行解码。
具体地,逆量化单元210的功能可以与逆量化单元110的功能相同,逆变换单元212的功能可以与逆变换单元112的功能相同,重建单元214的功能可以与功能重建单元114的功能相同,缓冲器216的功能可以与缓冲器116相同,环路滤波器220的功能可以与环路滤波器120相同(关于实际环路滤波器,由于环路滤波器220通常不包括用于滤波器分析单元,基于原始图像101或块103确定滤波器参数,但是,例如,环路滤波器(例如,从熵解码单元204)(明确或隐含地)接收或获取用于编码的滤波器参数),解码图片缓冲器230的功能可以与解码后图片缓冲器130的功能相同。
预测单元260可以包括帧间预测单元244和帧间预测单元254,其中帧间预测单元144的功能可以与帧间预测单元144的功能相同,帧间预测单元154的功能可以与帧内预测单元154的功能相同。预测单元260和模式选择单元262通常被配置为执行块预测和/或仅从编码数据171获取预测块265(没有关于原始图像101的其他任意信息),并且(明确或隐含地)接收或获取预测参数143或153和/或有关所选择的预测模式的信息(例如,来自熵解码单元204的信息)。
解码器200被配置为(例如,通过输出232)输出解码图片230,以便呈现或展示给用户。
图4是根据本公开公开实施例的视频编码设备400的示意图。视频编码设备400适合于实现本公开所描述的公开实施例,例如,作为编码器或解码器。视频编码设备400包括入口端口410和接收器单元(receiver units,Rx)420,用于接收数据;处理器、逻辑单元或中央处理单元(central processing unit,CPU)430,用于处理数据;发送器单元(transmitter units,Tx)440和出口端口450,用于发送数据;以及存储器460,用于存储数据。视频编码装置400还可以包括耦合到入口端口410、接收器单元420、发射器单元440和出口端口450的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用于光或电信号的进出。在一些实例中,视频编码装置400还可以包括无线发射器和/或接收器。
处理器430由硬件和软件实现。处理器430可以被实现为一个或多个CPU芯片、核(例如,作为多核处理器)、现场可编程门阵列(field-programmable gate arrays,FPGAs)、专用集成电路(application specific integrated circuits,ASICs)和数字信号处理器(digital signal processors,DSPs)。处理器430与入口端口410、接收器单元420、发射器单元440、出口端口450和存储器460通信。装置430包括编码模块470。编码模块470实现上述公开的实施例。例如,编码模块470实现、处理、准备或提供各种编码操作。因为具有编码模块470,所以为视频编码设备400的功能提供了实质性的改进,并且实现了视频编码设备400到不同状态的转换。替代地,编码模块470被实现为存储在存储器460中的指令,并由处理器430执行。
存储器460包括一个或多个磁盘、磁带驱动器和固态驱动器,并可以用作溢出数据存储设备,以在选择执行这些程序时存储程序,并存储在程序执行期间读取的指令和数据。存储器460可以是易失性的和/或非易失性的,可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternarycontent-addressable memory,TCAM)和/或静态随机存取存储器(static random-accessmemory,SRAM)。
视频编码可用于摄像机或系统中,具有来自一个或多个摄像机的输入,或者可在计算机上运行以对视频进行编码/压缩或转码。摄像机系统的一个挑战性应用是视频监控、驾驶员辅助、自动驾驶或计算机视觉驱动的特征编码和解码,以及提高特征的压缩率。
监控系统的一项主要任务是在视频图像的各个帧中,使用视频图像的特征进行检测和标识和/或对象(包括人物、机动车或非机动车等)的识别。例如,这种特征或图像特征可以是尺度不变特征变换SIFT、加速鲁棒特征SURF和二进制鲁棒独立基本特征BRIEF。近年来,基于卷积神经网络CNN的特征也越来越突出,通常可以被称为机器学习模型特征,即,通过机器学习模型从视频图像中或从视频的一帧或一些帧中提取的特征。这种模型包括神经网络(neural networks,NN)、卷积神经网络CNN、全连接神经网络(fully connectedneural networks,FCNN)、支持向量机(support vector machines,SVM)等。这些特征用于计算机视觉目的。
视频监控等应用依赖于对视频图像中目标对象的准确可靠的检测和标识。到目前为止,由于终端侧(客户端)的计算能力通常被限制,因此在当前的监控系统中,仅在终端处编码视频图像,并发送和/或上传到云端的服务器。
在云端(服务器),对编码视频进行解压缩(重建),并从重建视频中提取图像特征。这些特征用于计算机视觉算法中,以基于这些特征(例如,对象识别和/或标识)对视频进行进一步分析。然而,由于所使用的图像特征是从重建视频图像中提取的,所以这种标识过程的结果往往不够准确。换句话说,图像特征的来源本身已经容易出错,因此从中得出的所有图像量都是低质量的。因此,使用低质量特征的视频监控结果不太准确。这意味着,例如,在视频监控的情况下,由于目标对象的检测和/或标识精度较低,因此监控不可靠。
因此,需要来自视频图像的高质量图像特征,以便在计算机视觉应用(包括视频监控、驾驶员辅助、自动驾驶或计算机视觉驱动特征编码和解码等)中提供准确可靠的结果。在许多情况下,图像特征和视频会从视频和特征的获取来源(终端)上传到外部服务器(例如,在云端),其中可以通过计算机视觉算法对两者进行图像分析。
由于假设摄像机等视频图像捕获设备具有越来越多的计算资源,因此这些设备能够执行部分或全部CV算法(例如,对象检测或面部检测)以及计算检测到的对象和面孔的图像特征。换句话说,视频的计算机视觉分析的部分任务已经在终端/客户端侧执行。在视频压缩之前,先从终端侧的原始视频中提取特征,因此更加准确。
使用这些高质量图像特征,如果将高质量图像特征与压缩视频一起传输/上传到云端(服务器),则可以提高云端中CV算法的精度。
如本申请的以下示例性实施例中所公开的,本公开公开提供了一种方法,以解决如何在终端侧在视频图像上编码图像特征并将其与视频一起发送/上传到云端(服务器)的问题,其中视频图像和特征分开并分别编码。在云端,图像特征还用于计算机视觉算法中,以使用图像特征对视频进行分析。
根据一个实施例,提供了一种用于在视频图像上对图像特征进行编码的装置。本公开也将之称为混合视频和特征(编码)编码/压缩。这意味着将视频图像编码为视频比特流,放置在与基础层相对应的第一层中,并且将图像特征编码为特征比特流,放置在与增强层相对应的第二层中。根据未压缩(即,原始)视频,分别确定特征的各个图像特征。将两种编码比特流组合成输出流,包括压缩视频和编码图像特征。
图5示出了示例性实施例,例如,针对独立特征编码的情况的混合视频和特征编码的装置500。这意味着将从未压缩视频中提取的图像特征直接二进制化(无需预测编码)。二进制化对应于生成要包括在特征比特流中的二进制数据,并且可以附加地包括图像特征值的量化。该特征编码在增强层中执行。在基础层中,对包括多个视频帧的未压缩视频图像进行编码,例如,在视频编码器100中,基于编码参数以生成视频比特流。
编码可以是已知的视频或静止图像压缩标准之一,例如,AVC、HEVC、JPEG2000等。在下文中,术语“视频”、“视频图像”、“视频帧”或“帧”可互换使用。
特征由特征提取器510从原始(即,未压缩)视频中提取。
针对视频图像的帧提取图像特征。替代地,可以针对视频图像的一些或所有帧提取特征,对应于图像特征的逐帧、基于帧、帧到帧的提取。逐帧提取以规则和/或不规则的方式执行。这意味着,例如,可以针对视频的每四帧(规则顺序)从未压缩视频提取图像帧,可选的,可以从帧1、2、5、6、8、9、10等提取图像特征,对应于不规则提取,可选的,可以在某个第一预定持续时间(例如,10ms)内以规则的方式执行特征提取,然后在第二预定持续时间(例如,20ms)中进行不规则提取。通常,可以结合不同持续时间来执行规则和不规则特征提取。
这些特征或图像特征可以包括尺度不变特征变换SIFT、加速鲁棒特征SURF、二进制鲁棒独立基本特征BRIEF或基于机器学习模型提取的特征。由机器学习模型提取的特征被称为基于网络的特征。下文将进一步提供这些特征的示例。机器学习模型可以是神经网络NN、卷积神经网络CNN、全连接神经网络FCNN、支持向量机SVM等中的任意一种。
在下文中,将更详细地说明上述类型的特征的各个特征描述符。然而,特征的类型不限于所列出的特征。根据应用,可以附加地或替代地使用其他任意特征或特征描述符。特征或特征描述符可以分别由二进制符号“0”和“1”表示的浮点数、整数或二进制数表示,或由浮点数、整数或二进制符号的向量表示。通常,向量还可以包括与不同类型(浮点型、整数型、布尔型)有关的元素。布尔值由一位比特有利地表示,即,零或一,分别表示“真”和“假”,反之亦然。
SIFT特征可以表示为浮点数(实值特征)的向量。SIFT特征的计算基于“关键位置/关键点”的概念,由此进行计算。为此,定义此类关键位置(例如,参考图像操作符),然后对其进行检测。当应用高斯差时(运算符),平滑处理视频图像,并重新采样为不同的尺度。在图像操作后,在这种情况下根据局部最大值和最小值的位置定义关键点。
然后,通过考虑关键位置半径附近的像素,获取对局部仿射失真具有鲁棒性的SIFT描述符,并在视频图像的每个样本处计算梯度方向和大小。然后,使用以关键点为中心的高斯窗口对大小进行加权。因此,像素越靠近关键点,权重越大。描述符由向量构成,包括所有方向直方图项的值。基于所有梯度方向的出现和梯度方向的大小来确定直方图。
例如,D·G·Lowe在2004年发表于《国际计算机视觉杂志》的《尺度不变关键点的独特图像特征》一文中提供了有关SIFT特征的更多详细信息。
通常,在特征依赖于关键点(例如,SIFT、BRIEF等)的情况下,特征包括特征描述符(通常与特征同义使用)和关键点。两者均由视频(或其部分,例如,一个或多个帧)确定,并作为图像特征编码为特征比特流。
与SIFT相关的其他特征描述符包括定向梯度的直方图(histogram of orientedgradients,HOG)或加速鲁棒特征(speed up of robust features,SURF)。这些可以被用作那些已经描述的替代或附加。
作为典型示例,16x16像斑以非重叠的方式分为4x4像素阵列。4x4像素阵列的数量为16。在每个4x4阵列中,计算出的梯度大小被累积到八个方向块的直方图中。因此,本示例中的SIFT特征描述符由每个关键点的4x4x8=128个元素特征向量给出,具有每个向量分量的实数值项。
由于SIFT特征通常是128个元素浮点数的向量,因此经常使用向量量化器。尽管向量量化可以最小化值的向量的量化误差,但与标量量化相比,计算复杂度高得多,其中性能改进受到限制。另外,向量量化器需要使用一些训练数据进行训练,这在实际应用中通常是不可行的。
根据本公开公开的内容,使用具有标量量化器的轻型编解码器,其与SIFT特征完全兼容,因此SIFT特征描述符可以被压缩而无需特殊训练。下文通过图9和图10所示的示例性实施例更详细地说明轻型编解码器。在SIFT特征的情况下,在编码之前,先对浮点SIFT特征进行量化。
与SIFT特征描述符类似,BRIEF特征是基于关键点确定的,在任何情况下,关键点检测器都会检测到这些关键点。这意味着任意关键点检测器都与BRIEF特征兼容。一旦检测到关键点,便会在关键点周围一定大小的像斑中计算BRIEF特征描述符。与SIFT特征相反,BRIEF特征的各个BRIEF特征描述符是二进制值的向量。换句话说,BRIEF特征描述符中的每个元素值均为0或1。因此,对于大小为M的二进制特征向量,其中每个M个向量元素都是二进制“0”或“1”,可以用一位来表示M个二进制特征中的每个特征。
首先,通过将平滑内核应用于关键点周围某个大小的视频的像斑,计算出BRIEF特征描述符。然后,使用特定采样几何体以确定计算元素值的位置。BRIEF特征中的元素数量可以是128、256或512中的任意一个。然而,BRIEF特征向量的元素数量可能不限于2的幂。BRIEF向量通常可以具有任意大小,适合用作计算机视觉中的特征描述符。
在每个采样位置应用一个测试/滤波器。例如,如果滤波器/测试的结果为正,则特征向量的元素值为0,否则为1。以这种方式,BRIEF特征描述符被表示为二进制符号0或1的向量,要求每个向量分量测试(例如,通过对计算出的整数值或实数值特征进行阈值化)是否为真。
由于BRIEF特征描述符是二进制值,因此与实数值SIFT特征描述符相反,不使用量化,其中仍需要对实数进行量化。换句话说,BRIEF特征描述符被直接压缩(即,编码),而没有进行任何先前量化。因此,如图10的示例性实施例所示,将BRIEF特征描述符直接提供给编码器,例如,用于压缩的算术编解码器。因此,无论BRIEF特征是被独立压缩还是被差分压缩,BRIEF特征编码总是无损的。在差分编码的情况下,二进制特征描述符之间的减法运算成为XOR运算。
例如,Choi和Bajic在2018年2月12日于arXiv:1802.03931v1发表的《用于协作对象检测的深度特征压缩》(“Deep Feature Compression for Collaborative ObjectDetection”arXiv:1802.03931v1)中进行了详细描述:CNN特征通常是指由机器学习模型提取的特征,包括神经网络NN、卷积神经网络CNN、全连接神经网络FCNN、支持向量机SVM等。
在本公开的示例性实施例中,具有29个卷积层的CNN网络(例如,ResNet)用于生成,例如,用于面部识别实验的面部特征。该网络模型本质上是K.He,X.Zhang,S.Ren和J.Sun在2016年于IEEE计算机视觉和模式识别会议(computer vision and patternrecognition,CVPR)发表的《用于图像识别的深度残差学习》(内华达州拉斯维加斯,2016年,第770-778页)(“Deep Residual Learning for Image Recognition”,Las Vegas,NV,2016,pp.770-778)中ResNet-34网络的改编版本,其中删除了几层,并减少了每层滤波器的数量。
CNN的输出是128个浮点数的向量。因此,在这种情况下,CNN特征向量与SIFT特征描述符非常相似,因此需要在编码之前进行量化。例如,AlexNet、GoogleNet、VGG等其他CNN也可以生成特征描述符。此外,这些CNN的许多改编版本(例如,输入/输出大小发生变化)也可以用于生成特征描述符。
附加地,CNN中间层的输出也可以附加地或替代地用作特征描述符。这通常被称为特征图,因为中间层的输出是矩阵而不是向量。通常,基于CNN的特征描述符可以由CNN的最终输出值和/或中间层的最终输出值给出。
实际上,计算机视觉中使用的基于CNN的特征的元素通常是浮点数。因此,图9所示的特征CODEC适用于对基于CNN的特征进行编码,其中,在编码之前量化特征。
然而,基于CNN的特征可以不仅限于浮点特征。替代地,CNN特征也可以是BRIEF型特征,其中CNN特征用二进制表示。
因此,在具有不同表示形式的计算机视觉应用中,可以使用不同类型的CNN或基于机器学习的特征,即浮点(SIFT类型)和/或二进制(BRIEF类型)。换句话说,可以组合浮点和二进制基于机器学习的特征,以执行计算机视觉任务,例如,面部识别等。
由于包括一个特征或多个图像特征的图像特征是从原始(即,未压缩)视频中提取的,因此增强层中的图像特征在视频压缩中没有信息丢失。换句话说,特征比特流是无损的,使得图像特征具有高精度。这些高质量特征可以(在解码后)用于服务器端(例如,云端)的计算机视觉算法,以高精度执行监控任务,例如,通过面部识别进行对象标识。
然后,在特征编码器520中将图像特征编码为特征比特流。例如,如图9和图10的示例性实施例所示,用于特征编码的编码器520可以是算术编码器。替代地,可以通过可变长度编码(VLC)或其他任意熵编码来执行特征编码。熵编码器可以是上下文自适应的。例如,MPEG CDVS标准特征编码器包括向量量化器和熵编码器。视频编码器也经常用于压缩CNN的特征图。
现在,将通过在其各自的第一(基本)层和第二(增强)层中进行编码而生成的两种类型的比特流组合为单位流。这由多路复用器530实现,该多路复用器530将特征比特流和视频比特流多路复用为输出比特流。
将特征视频多路复用到输出比特流中,使得与从中提取特征的帧有关的特征比特流与有关视频帧的视频比特流相关联。换句话说,即使分别在第一层和第二层中对视频和提取的特征进行编码,编码比特流也彼此关联,参考从中提取图像特征的帧。例如,这种视频特征关联可以是特征比特流中包括的图像特征帧索引。可以替代地或附加地使用帧的每个视频的时间戳来同步特征比特流和视频比特流。
特征视频多路复用包括进一步将图像特征嵌入到序列增强信息消息(sequenceenhancement information,SEI)消息中,该SEI消息是视频图像的帧头信息的一部分。这意味着特征的压缩(即,编码)数据作为元数据被包括在压缩视频比特流的SEI报头中。特征的元数据可以进一步包括提取的特征的类型。这样,压缩视频和压缩特征都被合并到输出比特流的紧凑结构中,具有相当低的系统复杂度。
因此,上述视频特征关联,其特征元数据被嵌入视频比特流的SEI报头中,使得视频比特流包括了关于不同特征、特征类型、帧索引和/或时间戳的信息。这意味着,基于SEI报头特征信息,可以从解码视频比特流的重建视频中确定从未压缩视频中提取并编码为特征比特流的任意特征。
有几种可能的实施方式:
-例如,可以在标准中预定义要提取的和在比特流中指示的特征的特征类型。在这种情况下,比特流中不需要特征类型的信令。
-对于整个视频序列,特征类型可以相同。因此,特征类型在序列的开始处发送信号,并且不需要与每个帧或每个特征一起发送信号。
-比特流中传输了多个特征,这些特征可能与同一帧有关。在这种情况下,
特征类型可以与特征值一起发送信号。
上述实施方式的进一步示例和组合是可能的。
图5中的虚线箭头522示出了特征编码器520可以使用压缩视频。接下来将讨论特征编码的替代选项。
图6示出了示例性实施例,例如,混合视频和特征编码的装置600,其中,从未压缩(即,原始)视频提取的图像特征被差分编码。
特征的差分(编码)意味着从基础层(第一层)的重建视频中提取特征,并将这些提取的特征用作预测因子,对增强层(第二层)中的特征进行编码。通过使用较低的比特率,提供了较高的编码效率的优点。这样既可以节省带宽,又不会损失任何精度。
如图6所示,差分编码包括通过视频解码器200(例如,通过编码器100的内置解码器部分)在终端侧对压缩视频比特流进行解码,以获取重建视频。随后,特征提取器510从重建视频中提取图像特征。这样提取的图像特征是有损的,即,由于重建视频已经有损,因此容易出错。然后,在从原始视频中提取的图像特征中减去提取的图像特征,从而得到差分图像特征。
和独立特征编码的情况一样,差分图像特征由特征编码器520编码为差分图像特征的特征比特流,然后将其与视频比特流多路复用530为输出比特流。差分编码中的多路复用还包括将图像特征嵌入到序列增强信息消息SEI消息中,SEI消息是视频图像的帧头信息的一部分。这意味着特征的压缩(即,编码)数据作为元数据被包括在压缩视频比特流的SEI报头中。这样,压缩视频和压缩特征都被合并到输出比特流的紧凑结构中,这提供了较低的系统复杂度和降低的比特率。
换句话说,本申请的实施例可以同时启用图像特征编码和差分特征编码,通过包括一比特的模式(m)发送信号。下面将在讨论元数据容器的语法以包括图像特征时对此进行说明。
虽然输出比特流同时包括特征比特流和视频比特流,但在许多情况下,增强层中的特征足以满足目标CV算法,这些目标CV算法是为特定特征而设计的。然而,针对更广泛的CV算法,稍后仍可使用基础层中的视频来计算其他类型的特征。
此外,在视频监控领域,将视频的有趣部分(例如,识别目标人物面部的视频片段)提供给人类,以反复检查CV算法提供的结果的正确性。值得注意的是,只有图像和视频可以作为法庭证据,而特征不能。因此,视频也被传输,并且通常被存储在服务器中。然后,可以使用图像特征来检索视频的有趣部分。
然后,进一步处理生成的输出比特流,例如,从终端侧上传到云端的服务器。可以通过任意传输方法来执行上传,包括有线或无线通信(数据广播)、网络等。
云端可以包括CV图像分析系统,上传的输出比特流被提供给CV图像分析系统作为输入比特流。
根据实施例,提供了一种用于从输入比特流重建视频的装置,包括特征比特流和视频比特流。本公开也将其称为混合视频和特征解码/解压缩。这意味着将输入比特流分为其分量特征比特流和视频比特流,并对这两个流进行解码,以获取重建视频和未压缩的图像特征。
图7示出了示例性实施例,例如,混合视频和特征解码的装置700,其中视频比特流被视频解码器200解压缩或解码,提供重建视频。
解码可以是已知的视频或静止图像压缩标准之一,例如,AVC、HEVC、JPEG2000等。
输入比特流包括视频比特流和特征比特流,由用于混合视频和特征编码的装置生成,提供输出比特流作为输出,如本公开的先前实施例参考图5和图6所述。
换句话说,提供给用于重建视频的装置的输入比特流是由用于混合视频和特征编码的装置提供的输出比特流。因此,输入比特流具有与输出比特流相同的特征。为了完整性,下面将重复这些特征的一部分。对于其他特征,我们参考本公开的先前实施例参考图5和图6的讨论。
在视频解码之前,通过解复用器710将输入比特流解复用为视频比特流和特征比特流。
根据本公开,由于输入比特流和输出比特流相同,所以输入比特流以多路复用的方式包括特征比特流和视频比特流。这意味着输入比特流的视频比特流和特征比特流通过视频的帧彼此关联,由此在终端侧提取图像特征。
然而,视频比特流和特征比特流仍然属于不同的层,视频比特流在基础层(第一层)中,特征比特流在增强层(第二层)中。例如,这种关联可以是特征比特流中包括的图像特征帧索引。因此,参考使用的帧(在终端侧)从中提取图像特征来执行解复用。
然后,特征解码器720从特征比特流中解码图像特征。
通过特征比特流包括在输入比特流中的图像特征被插入(通过复用)到属于视频的帧头信息的序列增强信息SEI消息中。这意味着特征的压缩(即,编码)数据作为元数据被包括在压缩视频比特流的SEI报头中。因此,可以通过解复用SEI消息从输入比特流获取图像特征。
解码图像特征适用于视频的帧。这是视频比特流和特征比特流之间基于帧的关联的结果。替代地,图像特征可以用于视频的一些或所有帧。这意味着视频和特征之间的帧关联可以是规则的和/或不规则的。这意味着以规则或不规则的方式从视频中提取图像特征,例如,针对视频的每四帧(规则顺序)。可选的,可以从帧1、2、5、6、8、9、10等提取图像特征,对应于不规则提取。可以以规则方式在某个第一预定持续时间内(例如,10ms)中执行特征提取,然后在第二预定持续时间(例如,20ms)中进行不规则提取。通常,可以结合不同持续时间以任意顺序来执行规则和不规则特征提取。这直接转换为输入比特流的视频比特流和特征比特流的规则和/或不规则关联。
当两个比特流(视频和特征)都被解码时,图像特征现在可以位于视频中。
在图7所示的示例性实施例中,由特征定位器734(例如,基于解码的特征,例如,还包括特征的定位)执行图像特征的定位(例如,定位与图像特征相关的像斑),其可以是通过特征分析器732执行图像特征分析的计算机视觉CV分析器730的一部分。
例如,定位一个特征或多个图像特征可以包括访问包括一个或多个图像特征的视频的帧。替代地,可以访问多个帧。由于一个特征或多个特征通过一个帧或多个帧与视频相关联,一个特征或多个特征已从中提取,因此任意特征都可以通过基于帧的特征视频关联位于重建视频中。
附加地或替代地,特征定位可以包括视频检索,例如,其可以存储在存储设备或其他设备上。这意味着仅检索视频中包括所搜索图像特征的部分(即,一帧或多帧)。
在用于面部识别的CNN特征的情况下,可以通过图15所示的面部识别实施例1500的示例进一步示出。从已经位于终端侧的未压缩视频(这里是视频帧1510)中裁剪面部的像斑1520。例如,像斑1520可以被转发到CNN 1530,对斑进行分类并提供特征(例如,特征向量)1540作为输出。然后,将该特征与已知目标面部的预定特征“0”、“1”、“2”等进行比较,这些特征已经用相同的CNN进行了预计算机处理。通过将所确定的特征与预定特征进行比较(例如,存储在数据库表1550中),可以基于来自原始(即,未压缩)视频裁剪的像斑的特征来标识人物。
CNN对像斑的分类可以已经在终端侧执行,在终端侧可以将提取的特征编码为特征比特流。在云端,在视频特征比特流解复用之后,从特征比特流中对特征进行编码,并与数据库的已知特征进行比较。换句话说,可以完全在终端侧执行面部识别,或者可选地以分布式方式执行面部识别。这意味着与面部识别有关的任务部分可以在终端侧执行(例如,像斑裁剪和基于CNN的特征提取),而其他部分则在云侧(例如,与数据库特征进行特征比较)执行。
然而,为提高识别的准确性,面部识别可以使用一个或多个附加特征,CNN可能尚未在终端侧从像斑中提取这些特征。在这种情况下,CNN可以从云端的视频帧中提取这些附加特征。这意味着CNN还可以使用视频的实际部分(例如,各个帧),在终端一侧从视频的实际部分中预先提取了第一特征。因此,该特征位于视频中的各个视频比特流中。由基于帧的视频特征关联实现。因此,只有视频比特流部分被检索,并被解码为包括第一特征的视频帧。然后,该视频帧可以由CNN和/或CV分析器的其他部分进一步使用并转发给CNN和/或CV分析器的其他部分,以便确定面部识别所需的特征的附加类型。
附加地或替代地,图像定位可以包括渲染视频。这意味着仅示出和/或显示视频中包括所搜索图像特征的部分(即,一帧或多帧)。另外,在示出视频帧时,可将各个图像帧叠加或标记/标识在帧中。替代地,可以将一个或多个特征渲染帧与视频的其他帧一同示出,而不包括那些图像特征。
然后,在图7的示例中,将图像特征所在的视频帧作为输入提供给特征分析器732,其中可以进一步分析该帧。例如,这包括基于图像特征“面部”的人物标识(即,面部识别)。该分析可以包括从一帧或多个帧中附加地或替代地确定一个或多个特征,该特征不同于用于定位一个或多个帧的图像特征。
通常,图像特征可以是尺度不变特征变换SIFT、加速鲁棒特征SURF、二进制鲁棒独立基本特征BRIEF或基于机器学习模型提取的特征中的任意一个。
这些特征不限于所列出的特征,并且根据应用,可以附加地或替代地使用任意其他类型的图像特征。在视频监控的情况下,通常使用SIFT、SURF、BRIEF和CNN特征。上文参考用于混合视频和特征编码的装置的实施例进一步说明了如何定义和确定这些类型的特征。
如前所述,混合视频和特征解码器的输入比特流与混合视频和特征编码器的输出比特流相同。因此,输入比特流和输出比特流包括相同的图像特征。
图7中的虚线箭头722示出了特征解码器720可以使用重建视频。接下来将讨论特征解码的替代选项。
图8示出了示例性实施例,例如,混合视频和特征解码的装置800,包括重建视频和从重建视频提取的图像特征,用于确定视频的图像特征。这是指差分特征解码。
特征的差分解码意味着从基础层(第一层)中的重建视频中提取图像特征,然后将其用作在增强层(第二层)中对特征进行编码的预测变量。通过使用较低的比特率,提供了较高的解码效率的优点。这样既可以节省带宽,又不会损失任何精度。
因此,在差分解码中,基础层(视频)和增强层(特征)相互作用,以获取视频的图像特征。这进一步暗示,包括在输入比特流的特征比特流中的图像特征是差分图像特征。因此,差分解码是差分编码的对立者,其中差分图像特征被生成并被包括在由混合视频和特征编码器提供的输出比特流的特征比特流中。
参考图6,本申请的示例性实施例说明了如何实现这一点。
简而言之,通过从未压缩(即,原始)视频中提取的特征中减去从重建视频中提取的特征,以生成差分图像特征(在终端侧,即,编码器)。对于相同的特征,由于重建视频是有损的,因此预期特征值会有所不同。因此,与从原始视频提取的无损特征相反,相应的图像特征是有损的。
因此,目标是在服务器侧(即,解码器)确定来自差分特征的图像特征和从重建视频提取的特征。
如图8所示,差分解码需要由特征提取器510从重建视频中提取特征,这是通过视频解码器200对视频比特流进行编码而预先确定的。如前所述,提取的图像特征是有损的,即,由于重建视频已经有损,因此容易出错。
在图7实施例中所示的独立特征解码的情况下,特征解码器720解压缩特征比特流,该特征现在是差分图像特征。然后,将差分特征添加到从重建视频中提取的图像特征中,获取视频的近无损图像特征。
换句话说,本申请的公开参考图7和图8对图像特征和差分图像特征进行解码。解码器在哪种模式(m)(独立或差分)中必须对特征比特流进行解码,通过输入比特流的各个编码器的输出比特流发送信号(通过一比特)到解码器。模式(m)信息包括在元数据中,是SEI消息的一部分,SEI信息属于视频的帧头信息。
当讨论元数据容器的语法以将图像特征包括到视频比特流中时,本公开实施例参考图11进行了说明。
与先前实施例的独立特征解码的情况一样,当两个比特流(视频和特征)都被解码时,现在可以通过特征定位器734将图像特征定位在视频中。参考图7所示的独立解码,对重建视频执行进一步分析(例如,CV分析器730)。例如,该分析器可以执行面部识别,其中图像特征可以由特征分析器732进一步分析。这包括通过基于帧的特征视频关联在重建视频的一帧或多帧中定位该图像特征(或多个图像特征)。帧被提供给特征分析器732,特征分析器732可以基于图像特征进一步处理视频帧和/或可以附加地或替代地确定不同于特征比特流的图像特征的其他图像特征。
在参考图5至图8讨论的先前实施例中,无论是从未压缩(即,原始)视频中提取的特征的类型如何,一个特征或多个图像特征都被独立地或差分地编码。适合计算机视觉的图像特征示例现已介绍说明,包括SIFT特征、BRIEF特征和CNN特征。
在本公开的一个示例性实施例中,特征编码和解码由算术编码器/解码器执行,如图9和图11所示。替代地,可以使用可变长度编码VLC和/或熵编码。
在特征编码之前,图像特征是否可以被量化,取决于特征是表示为浮点的向量(例如,SIFT、CNN等)还是二进制向量(BRIEF等)。具体地,当图像特征是浮点时,特征向量的向量量化用于实现SIFT特征压缩的最优性能。然而,需要基于一些训练数据来训练向量量化。在CNN特征的情况下,有数百种不同的CNN类型和变体,如果使用向量量化器进行压缩,则当从一个CNN切换到另一个时,需要重新训练向量量化器。这限制了向量量化器在实践中的可行性。
如参考图9在本公开的以下实施例中所讨论的,引入了与标量量化器对应的轻型特征编解码器,其不需要任何训练或再训练。如将在下文进一步详细描述的,在标量轻型特征编解码器中,只有参数q需要针对每种不同类型的浮点CNN特征进行确定或适用。因此,标量量化器的系统复杂度较低,因此,具体适用于浮点机器学习模型特征,例如,CNN特征。
图9示出了示例性实施例,例如,包括轻型特征编解码器的编码器和解码器900的系统。在图9和图10的示例中,浮点图像特征被差分编码。替代地,可以按照以下详细描述的相同处理或过程来独立地量化和编码特征。在下文中,术语特征是指图像特征(独立编码)或差分特征(差分编码)。
假设浮点输入特征是N位值的向量,根据计算体系结构,通常为32位或64位浮点数。然后,通过量化器910将N位浮点值量化为q<N的q位定点值。在图9的示例中,q位包括1个符号位、表示整数部分的qi位、以及分数部分的qf位。因此,可以将q位写为q=1+qi+qf。
在对q位进行qi-qf除法后,将q位值转换为二进制字符串并使用算术编码器520进行编码。使用以下示例性伪代码进行量化,x是输入的N位浮点值:
编码器:
int y=(int)((x)*(1<<(N-qi-1)))
取最高有效q位(包括符号位),并截断其余N-q位。
在服务器端,执行包括算术解码720和反量化920的逆运算,并重建增强层特征,以伪代码为例,x_r是重建的N位浮点值:
解码器:
取q位值,附加Nq个零位并将其转换为整数y
float x_r=((float)(y))/(1<<(N-qi-1))
可以通过以下示例进一步理解上述二进制移位运算符(左移位),假设x=0.3,N=32位,q=16(二进制1000),qi=7(二进制0111)和qf=8(二进制1000)。
编码器:
步骤1:0.3*(1<<(32-7-1))=0.3*(2^24)=5033164.8
步骤2:将数字转换为整数→5033164
步骤3:将数字转换为N位的二进制字符串:00000000 01001100 1100110011001100
步骤4:取最高有效q位:00000000 01001100
解码器:
步骤1:获取q位值并在后面加上0:00000000 01001100 00000000 00000000
步骤2:将二进制字符串转换为十进制数:图4980736
步骤3:将数字转换为浮点:图4980736.0
步骤4:4980736.0/(1<<(32-7-1))=4980736.0/2^24=0.296875
该示例显示,当保持图像特征值的高精度(0.3对0.296875对应1%的错误,同时减少两位位数)时,可以在N-q量化后以低得多的q位表示x=0.3(由N=32位表示)的浮点特征值。
整数可以是有符号的,也可以是无符号的,在这种情况下,qf=0和q=1+qi(有符号),qf=0和q=qi(无符号)。
然后,对有符号和无符号的整数进行量化,如下所示:
编码器:
步骤1:取最高有效q位
步骤2:截断其余的Nq位。
解码器:
步骤1:取q位值并附加N-q个零位
步骤2:将二进制数转换为整数y。
如果是类似BRIEF的二进制特征,则每个元素值都是二进制,并被视为一位的无符号整数。因此,可以通过轻型CODEC设置qf=0和q=qi=1对二进制元素值进行编码和解码。然后,以与无符号整数相同的方式执行二进制特征值的量化。
图10示出了实施例,例如,针对原始N=32位差分图像特征(例如,面部)的上述示例的编码器1000,朝向相同差分特征的较低数量的q位的特征量化910,在原始特征的重建之后,用于面部识别1310。
算术编码器和解码器是常规的,并且是无损的。
实际上,建议将位深度参数q设置为原始位深度的一半。例如,对于N=32位特征,将q设置为16位,包括1位符号、7位整数部分和8位小数部分。同样,对于N=32位特征,将q设置为32位,包括1位符号、15位整数部分和16位小数部分。
设定不限于以上数值。当然,也可以基于输入特征将参数q、qi和qf设置为不同的值或自适应地确定。在后一种情况下,这些参数将被发送信号到解码器侧。
图11示出了一个附加的示例性实施例,例如,由特征编码器的编码器和解码器1100组成的系统,轻型特征编码器适用于该系统,这一点将在下文在讨论图12所示的特征元数据的语法时清楚说明。与图9所示的实施例类似,图11的实施例是指图像特征是差分图像特征的示例性情况。相反,特征可以是独立编码的图像特征,即,不需要从基础层的重建视频中提取图像特征。
在图11的示例中,将N位图像特征直接提供给终端侧的算术编码器520,然后在云端上也将其直接解码720而不进行量化和反量化。因此,图像特征是指二进制图像特征,例如上面已经详细说明的BRIEF。
现在,视频和图像特征已在其各自的层中进行了编码,并且通过轻型编解码器对图像特征进行了量化,与编码特征有关的信息被打包为与编码视频比特流兼容的合适格式。如前所述,通过将图像特征作为元数据包括在视频比特流的SEI报头中,将特征比特流与视频比特流(视频特征多路复用)组合为输出比特流。
图12示出了元数据容器1200的语法的示例性实施例,允许将由轻型编码器编码的图像特征作为元数据包括在视频比特流的SEI报头中。
无论是进行直接编码还是差分编码,都要使用一位发送编码模式(m)的信号。此外,一到四位用于发送表示特征值的整数部分(qi)的位深度的信号,另外二到四位用于发送表示特征值的分数部分(qf)的位深度的信号。
借助这些参数{m,qi,qf},解码器可以正确解释解码的定点特征值并重建浮点值。当然,也可以使用其他图像特征信息,例如,视频或帧中的特征的大小、特征的数量以及特征的定位。除了元数据容器之外,还可以添加此信息。元数据可以包括指示特征类型的附加参数。元数据容器的语法的进一步实施例可以不使用(不包括)编码模式(m),例如,在模式是预定的或不改变(即,固定)的情况下,例如,对于整个视频图像序列、整个视频,或通常,例如,通过系统配置。
元数据容器的这种语法还允许管理非浮点特征,如在BRIEF特征的情况下的二进制特征向量。由于浮点特征和二进制特征都可以独立或差分编码,因此在任一情况下都可设置模式位m。例如,可以将m分别设置为零(m=0)以发送独立编码信号,设置为m=1以发送差分编码信号,反之亦然。对于整数和小数位深度qi和qf,由于BRIEF特征已经是二进制的,所以位深度qf是虚拟变量。因此,在二进制特征的情况下,qf设置为零。此外,由于二进制特征的值可以是二进制“0”或“1”,因此表示一个二进制特征的位数N为N=1。因此,对于大小为M的二进制特征向量(即,有M个具有二进制值的元素),例如,每个M个二进制特征元素的相应元数据为{m,1,0}。具有这些设置的轻型特征CODEC也可以处理二进制特征向量。
当从视频帧中提取多个特征时,所有提取的图像特征都被放到一个元数据容器中,其被添加到视频比特流中视频帧的SEI报头,例如,H264或H265标准视频流或更新的视频编码标准。以这种方式,增强层中的特征与视频流同步。换句话说,与帧有关的特征比特流和与帧有关的视频比特流相关联。
以下示例性实施例示出了一种计算机视觉系统,其中将混合视频和特征编码器和解码器组合到一个系统中。图13的计算机视觉(CV)系统1300包括编码和解码部分,示出了独立于视频对特征进行编码和解码的情况下的系统。图14示出了CV系统1400的实施例,包括编码部分和解码部分,特征被差分编码和解码,因此需要在终端侧(客户端)从重建视频中提取特征并在服务器侧(云)进行解码。
图13示出了本公开的示例性实施例,其中,图5和图7的实施例的编码器和解码器被组合到一个系统中。通过标准编码器(例如,根据H.265)在基础层中对视频进行编码(例如,通过开源X265编码器),(视频编码器100),并通过特征编码器520在加强层中独立于视频对特征进行编码,例如,通过算术编码。图像特征可以是面部特征,其由面部特征提取器510从未压缩的视频流中提取。编码特征比特流作为视频比特流的元数据,被封装在视频比特流的SEI报头中。
例如,在服务器端,通过标准解码器在基础层中对视频进行解码(即,重建),例如,根据H.265(例如,通过开源X265解码器),(视频解码器200),从视频SEI报头中取出视频比特流,并由特征解码器720独立于重建视频对其进行解码。增强层中的解码特征(例如,面部特征)用于由CV分析器730执行的一些目标CV算法,其中可以包括面部识别1310。
在本公开的示例性实施例中,特征定位器734对图像特征的定位包括使用增强层中的特征以及基础层中的视频,从包括存储的重建视频的视频存储器1330中进行视频检索1320。因此,视频检索是指标识和提取重建视频的一部分或多个部分的过程,其包括某些特定特征,例如,某个目标人物的面部。由于图像特征是逐帧提取的,并与视频的各个帧相关联,因此,例如,可以基于帧索引在重建视频中标识解码特征比特流的一个特征或多个图像特征。
在图13所示的实施例中,图像特征的编码在增强层中独立执行,而不需要在终端处进行视频重建,也不需要从重建视频中提取特征。由于(几乎无损的)图像特征已经被编码为特征比特流,因此在服务器侧解码的复杂度降低,这是因为不需要在服务器侧进行进一步的特征提取。
因此,在服务器侧,在将输入比特流解复用为视频比特流和特征比特流之后,仅当一些特征指示视频中存在一些有趣的部分时,例如,目标人物出现或汽车超过速度限制时,才需要对视频比特流进行解码。这意味着,例如,在基于CV的视频监控的第一阶段,可以仅需要这些特征,以检查是否识别目标主体或对象。在此阶段,不需要视频本身。仅在识别到目标对象时,才对视频中包括相应特征的部分进行编码。换句话说,仅在需要时,才基于(独立编码的)图像特征访问和/或检索视频。如果对监控视频的大部分都没有兴趣(对应于视频中不存在现有目标特征),那么在多数情况下,无需在监控过程中对视频进行解码。因此,可以大大降低云端(服务器)处的解码复杂度。
图14示出了本公开的示例性实施例,其中,图6和图8的实施例的编码器和解码器被组合到一个系统中。本实施例与图13所示的先前实施例的唯一区别在于,特征被差分编码和解码,并且由相同的特征编解码器执行。通常,特征编解码器被配置为执行独立和差分特征编码和解码。
在图14的实施例中,编解码器用于对从未压缩视频(面部特征提取器510)中提取的特征和在基础层中从重建视频提取的特征之间的差异进行编码(X265解码器200和面部特征提取器510)。编码特征差(特征编码520)的比特流被当作元数据并封装在视频流的SEI报头中。在服务器侧,对特征差进行解码(特征解码720),并将其添加到在基础层(X265解码器200和面部特征提取器510)中从重建视频提取的特征中,从而重建增强特征。
然后,可以以与前述关于图13中所示的实施例相似或相同的方式使用解码图像特征和重建视频,包括,基于图像特征,视频检索1320从存储在视频存储装置1330中的重建视频中检索重建视频的一部分(一帧)或多个部分(一些帧),在此之后,CV分析器730执行面部识别1310。
相比图13所示的实施例(独立特征(解)编码),图14的实施例的优点在于,由于基于从基础层视频中提取的特征进行了预测特征编码,增强层中的特征的编码效率明显更高。
根据实施例,提供了一种用于对视频进行编码的方法,包括将视频编码为视频比特流;从视频中提取图像特征;将图像特征编码为特征比特流;以及将特征比特流和视频比特流多路复用为输出比特流的步骤。
根据实施例,提供了一种用于对视频进行重建的方法,包括从输入比特流解复用视频比特流和特征比特流;从视频比特流解码视频;从特征比特流解码视频的图像特征;以及定位视频中的图像特征的步骤。
根据实施例,一种计算机可读非暂时性介质存储程序,该计算机可读非暂时性存储介质存储有指令,当指令在处理器上执行时,使得处理器执行用于编码视频和/或重建视频的方法步骤。
程序可以是执行用于依次编码和重建视频的指令的一个程序。替代地,程序可以包括用于对视频进行编码的第一程序,以及不同于第一程序的用于重建视频的第二程序。
由于使用高质量图像特征,本申请的实施例使得能够通过计算机视觉算法更准确和可靠地执行计算机视觉分析。这些图像特征是在终端侧确定的,其中,由摄像机拍摄视频,并从未压缩(即,未失真)视频中提取图像特征。因此,提取的特征是无损的,而不是像通常执行的那样从有损的重建视频中提取。因此,可以以高精度执行典型的计算机视觉任务,例如,面部检测和面部识别。
对于这种计算机视觉任务,重要的是一个或多个图像特征是高质量的,以便在诸如视频监控、计算机视觉特征编码或自动驾驶等应用中实现高精度。
同时,重要的是对提取的高质量图像特征进行有效编码(压缩),以确保将特征快速编码到特征比特流中,并将其与视频比特流多路复用到最终输出比特流中。
这由本申请的轻型编码器的实施例实现,轻型编码器是标量量化器,因此,和向量量化器的情况一样,不需要任何预训练或再训练。在这种情况下,N位浮点特征由q位量化,q通常是原始位深度的一半。这大大降低了比特率,因此轻型量化器可提高编码特征的改进压缩率并保留带宽,不会损失图像特征质量。
本申请的实施例公开的方法可以在芯片上、在监控摄像机中或在具有基于相机的计算机视觉算法的其他消费设备中使用和实现。
总而言之,本公开涉及混合视频和特征编码和解码,图像特征的编码和解码被独立地或差分地执行。视频和特征分别在基础层和增强层中进行编码和解码。提取视频帧的特征,提供基于帧的特征视频关联。从在增强层中编码的未压缩视频中将特征提取为特征比特流。将视频编码为视频比特流,通过将两个流多路复用为输出比特流,将特征比特流嵌入到视频比特流中。可以是差分图像特征的图像特征被包括在视频的帧头信息的序列增强信息SEI消息中。将输出比特流作为输入比特流提供给解码器,使用帧头的SEI消息将输入比特流解复用为视频比特流和特征比特流。将两个比特流在各自的层中进行解码,并且使用基于帧的特征视频关联将图像特征定位在视频中。
注意,本说明书提供了图片(帧)的说明,但是在隔行图片信号的情况下,场代替了图片。
尽管主要基于视频编码描述了本申请的实施例,但是应当注意,如权利要求中所指定并在本申请中描述的不使用图片间预测的任意实施例是或者也可以被配置用于静止图片特征提取和静止图片处理或编码(即,用于特征提取),以及基于独立于任意先前或连续图片的单个图片进行处理或编码(如视频编码)。本公开提供的关于视频图片实施例的公开内容同样适用于静止图片实施例。与视频特征提取和视频编码相比,唯一的区别是没有使用图片间预测进行编码。
本领域技术人员将理解,各种附图(方法和装置)的“块”(“单元”)表示或描述了本申请实施例的功能(而不一定是硬件或软件中的单个“单元”),因此同样描述了装置实施例以及方法实施例的功能或特征(单元=步骤)。
“单元”的术语仅用于编码器/解码器的实施例的功能的说明性目的,而无意于限制本公开。
在本申请所提供的几个实施例中,应该理解,所公开的系统、装置和方法可以通过其它的方式实现。例如,所描述的装置实施例仅是示例性的。例如,单元划分仅仅是一种逻辑功能划分,在实际实现方式中可以是其他划分。例如多个单元或组件可以结合或者可以集成到另一个系统,或可以额忽略或不执行一些特征。另外,可以通过使用一些接口来实现所显示或讨论的相互之间的耦合或直接耦合或通信连接。设备或单元之间的间接耦合或通信连接,可以以电性、机械或其它的形式实现。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也各个单元可以在物理上单独存在,也可以两个或两个以上单元集成在一个单元中。
本申请的实施例可以进一步包括装置,例如编码器和/或解码器,包括处理电路,该处理电路被配置为执行本公开所述的任意方法和/或过程。
本申请的实施例,例如编码器100和/或解码器200的实施例,可以实现为硬件、固件、软件或其任意组合。例如,编码器/编码或解码器/解码的功能可以由具有或不具有固件或软件的处理电路来执行,例如处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。
任意一个实施例的功能,例如,编码器100(和相应的编码方法100)和/或解码器200(和相应的解码方法200),可以由存储在计算机可读介质上的程序指令来实现。当执行程序指令时,该程序指令使得处理电路、计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是包括非暂时性存储介质的任意介质,该计算机可读介质存储程序,例如蓝光光盘、DVD、CD、USB(闪存)驱动器、硬盘、可通过网络可用的服务器存储等。
本申请的实施例包括计算机程序,或者是计算机程序,当在计算机上执行计算机程序时,用于执行本公开描述的任意方法的程序代码。
本申请的实施例包括计算机可读非暂时性存储介质,或者是计算机可读非暂时性存储介质,该计算机可读非暂时性存储介质包括程序代码,当程序代码由处理器执行时,使得计算机系统执行本公开所述的任意方法。
参考符号列表
图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 解码器
202 输入(端口/接口)
204 熵解码
209 量化系数
210 逆量化
211 去量化系数
212 逆变换(缩放)
213 逆变换块
214 重建(单元)
215 重建块
216 (行)缓冲器
217 参考样本
220 环路滤波器(管路滤波器)
221 滤波块
230 解码图片缓冲器(DPB)
231 解码图片
232 输出(端口/接口)
244 帧间预测(帧间/图片间预测)
245 帧间预测块
254 帧内预测(帧内/图片内预测)
255 帧内预测块
260 模式选择
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
500 装置
510 特征提取器
520 特征编码器
522 可选的差分编码
530 比特流多路复用器
图6
600 装置
图7
700 装置
710 比特流解复用器
720 特征解码器
722 可选的差分解码
730 CV分析仪
732 特征分析仪
734 特征定位器
图8
800 装置
图9
900 装置
910 量化器
920 去量化器
图10
1000 装置
1310 面部识别
图11
1100 特征编解码器
图12
1200 元数据容器
图13
1300 计算机视觉系统
1310 面部识别
1320 视频检索
1330 视频存储
图14
1400 计算机视觉系统
图15
1500 面部识别
1510 图像帧
1520 帧的像斑
1530 卷积神经网络CNN
1540 特征
1550 表

Claims (15)

1.一种用于对视频进行编码的装置(500、600),其特征在于,包括:
处理电路被配置为:
将所述视频编码(100)为视频比特流;
从所述视频中提取(510)图像特征;
将所述图像特征编码(520)为特征比特流;以及
将所述特征比特流和所述视频比特流多路复用(530)为输出比特流。
2.根据权利要求1所述的装置,其特征在于,其中,所述处理电路还被配置为提取所述视频的帧的所述图像特征。
3.根据权利要求1和2所述的装置,其特征在于,其中,所述处理电路还被配置为将所述特征比特流和所述视频比特流多路复用为所述输出比特流,其中,所述多路复用定义与视频帧有关的所述视频比特流和与所述帧有关的所述特征比特流之间的关联。
4.根据权利要求1至3所述的装置,其特征在于,其中,所述多路复用包括将所述视频的图像特征包括在序列增强信息SEI消息中,所述SEI消息属于所述视频的帧头信息。
5.根据权利要求1至4所述的装置,其特征在于,其中,所述处理电路还被配置为通过差分编码对所述图像特征进行编码,包括:
从所述视频比特流重建(200)所述视频;
从所述重建视频提取(510)所述图像特征;
通过从所述视频的提取图像特征中减去所述重建视频的提取图像特征来确定差分图像特征;以及
将所述差分图像特征编码(520)为所述特征比特流。
6.根据权利要求1至5所述的装置,其特征在于,其中,所述图像特征是尺度不变特征变换SIFT、加速鲁棒特征SURF、二进制鲁棒独立基本特征BRIEF或基于机器学习模型提取的特征中的任意一个。
7.一种用于对视频进行重建的装置(700,800),其特征在于,所述装置包括:
处理电路被配置为
将编码视频的输入比特流解复用(710)为视频比特流和特征比特流;
从所述视频比特流解码(200)所述视频;
从所述特征比特流解码(720)所述视频的图像特征;以及
定位(734)所述视频中的所述图像特征。
8.根据权利要求7所述的装置,其特征在于,其中,所述图像特征用于所述视频的帧。
9.根据权利要求7和8所述的装置,其特征在于,其中,所述输入比特流以多路复用的方式包括所述特征比特流和所述视频比特流,其中,所述多路复用定义与视频帧有关的所述视频比特流和与所述帧有关的所述特征比特流之间的关联,所述处理电路还被配置为根据所述帧将所述输入比特流解复用为所述视频比特流和所述特征比特流。
10.根据权利要求7至9所述的装置,其特征在于,其中,所述输入比特流以多路复用的方式包括在序列增强信息SEI消息中的所述图像特征中,所述SEI消息属于所述视频的帧头信息,所述处理电路还被配置为从所述SEI消息解复用所述图像特征。
11.根据权利要求7至10所述的装置,其特征在于,其中,所述处理电路还被配置为通过差分解码对包括所述视频的差分图像特征的所述特征比特流进行解码,包括:
从所述重建视频中提取(510)所述图像特征;以及
通过将所述重建视频的提取图像特征与所述差分图像特征相加,来确定所述视频的图像特征。
12.根据权利要求7至11所述的装置,其特征在于,其中,所述图像特征是尺度不变特征变换SIFT、加速鲁棒特征SURF、二进制鲁棒独立基本特征BRIEF或基于机器学习模型提取的特征中的任意一个。
13.一种对视频进行编码的方法,其特征在于,包括:
将所述视频编码为视频比特流;
从所述视频中提取图像特征;
将所述图像特征编码为特征比特流;以及
将所述特征比特流和所述视频比特流多路复用为输出比特流。
14.一种对视频进行重建的方法,其特征在于,所述方法包括:
从输入比特流解复用视频比特流和特征比特流;
从所述视频比特流解码所述视频;
从所述特征比特流解码所述视频的图像特征;以及
定位所述视频中的所述图像特征。
15.一种计算机可读非暂时性存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令在处理器上执行时,使得所述处理器执行如权利要求13和/或权利要求14所述的方法。
CN201880097388.8A 2018-09-10 2018-09-10 混合视频以及特征编码和解码 Pending CN112673625A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2018/000592 WO2020055279A1 (en) 2018-09-10 2018-09-10 Hybrid video and feature coding and decoding

Publications (1)

Publication Number Publication Date
CN112673625A true CN112673625A (zh) 2021-04-16

Family

ID=64051651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880097388.8A Pending CN112673625A (zh) 2018-09-10 2018-09-10 混合视频以及特征编码和解码

Country Status (4)

Country Link
US (1) US20210203997A1 (zh)
EP (1) EP3834409A1 (zh)
CN (1) CN112673625A (zh)
WO (1) WO2020055279A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023082107A1 (zh) * 2021-11-10 2023-05-19 Oppo广东移动通信有限公司 解码方法、编码方法、解码器、编码器和编解码系统

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220147641A (ko) * 2020-02-28 2022-11-03 엘지전자 주식회사 영상 특징 정보 시그널링을 위한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
EP4133740A4 (en) * 2020-04-07 2024-04-17 Nokia Technologies Oy FEATURE DOMAIN RESIDUE FOR VIDEO CODING FOR MACHINES
US20220060887A1 (en) * 2020-08-18 2022-02-24 Qualcomm Incorporated Encoding a data set using a neural network for uplink communication
US20220092827A1 (en) * 2020-09-23 2022-03-24 Electronics And Telecommunications Research Institute Method, apparatus, system and computer-readable recording medium for feature information
US20210241025A1 (en) * 2020-10-28 2021-08-05 Beijing More Health Technology Group Co. Ltd. Object recognition method and apparatus, and storage medium
US11736748B2 (en) * 2020-12-16 2023-08-22 Tencent America LLC Reference of neural network model for adaptation of 2D video for streaming to heterogeneous client end-points
WO2022141734A1 (en) * 2021-01-04 2022-07-07 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Recovering picture features
CN116686009A (zh) * 2021-01-04 2023-09-01 Oppo广东移动通信有限公司 基于特征提取和图像合成的视频编码
US20220303642A1 (en) * 2021-03-19 2022-09-22 Product Development Associates, Inc. Securing video distribution
WO2022260934A1 (en) * 2021-06-07 2022-12-15 Op Solutions, Llc Encoder and decoder for video coding for machines (vcm)
US20230024288A1 (en) * 2021-07-13 2023-01-26 Tencent America LLC Feature-based multi-view representation and coding
CN113784147B (zh) * 2021-08-10 2023-06-09 浙江万里学院 一种基于卷积神经网络的高效视频编码方法及系统
CN113709497A (zh) * 2021-09-10 2021-11-26 广东博华超高清创新中心有限公司 一种基于avs3编码框架下的嵌入人工智能特征信息的方法
WO2023055141A1 (ko) * 2021-09-29 2023-04-06 엘지전자 주식회사 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2023075488A1 (ko) * 2021-10-28 2023-05-04 엘지전자 주식회사 엔트로피 코딩에 기반한 피쳐 부호화/복호화 방법, 장치, 비트스트림을 저장한 기록 매체 및 비트스트림 전송 방법
WO2023085897A1 (ko) * 2021-11-15 2023-05-19 엘지전자 주식회사 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11599856B1 (en) * 2022-01-24 2023-03-07 My Job Matcher, Inc. Apparatuses and methods for parsing and comparing video resume duplications
WO2023172014A1 (ko) * 2022-03-07 2023-09-14 엘지전자 주식회사 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2023172017A1 (ko) * 2022-03-07 2023-09-14 엘지전자 주식회사 피쳐 부호화/복호화 방법, 장치, 비트스트림을 저장한 기록 매체 및 비트스트림 전송 방법
WO2023172090A1 (ko) * 2022-03-11 2023-09-14 엘지전자 주식회사 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN114449280B (zh) * 2022-03-30 2022-10-04 浙江智慧视频安防创新中心有限公司 一种视频编解码方法、装置及设备
WO2024077799A1 (en) * 2022-10-11 2024-04-18 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and system for image data processing
CN116170581B (zh) * 2023-02-17 2024-01-23 厦门瑞为信息技术有限公司 一种基于目标感知的视频信息编解码方法和电子设备
CN116437102B (zh) * 2023-06-14 2023-10-20 中国科学技术大学 可学习通用视频编码方法、系统、设备及存储介质
CN117152752B (zh) * 2023-10-30 2024-02-20 之江实验室 一种自适应权重的视觉深度特征重建方法和装置
CN117395425A (zh) * 2023-12-11 2024-01-12 浙江大华技术股份有限公司 视频编码、解码方法、编码器、解码器及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100303364A1 (en) * 2006-10-19 2010-12-02 Nec Corporation Image quality evaluation method, image quality evaluation system and image quality evaluation program
US20130208814A1 (en) * 2010-07-30 2013-08-15 Deutsche Telekom Ag Methods and apparatuses for temporal synchronisation between the video bit stream and the output video sequence
US20140245367A1 (en) * 2012-08-10 2014-08-28 Panasonic Corporation Method for providing a video, transmitting device, and receiving device
US20160277769A1 (en) * 2015-03-16 2016-09-22 Microsoft Technology Licensing, Llc Standard-guided video decoding performance enhancements
CN107566798A (zh) * 2017-09-11 2018-01-09 北京大学 一种数据处理的系统、方法及装置
CN107943903A (zh) * 2017-11-17 2018-04-20 广州酷狗计算机科技有限公司 视频检索方法及装置、计算机设备、存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100303364A1 (en) * 2006-10-19 2010-12-02 Nec Corporation Image quality evaluation method, image quality evaluation system and image quality evaluation program
US20130208814A1 (en) * 2010-07-30 2013-08-15 Deutsche Telekom Ag Methods and apparatuses for temporal synchronisation between the video bit stream and the output video sequence
US20140245367A1 (en) * 2012-08-10 2014-08-28 Panasonic Corporation Method for providing a video, transmitting device, and receiving device
US20160277769A1 (en) * 2015-03-16 2016-09-22 Microsoft Technology Licensing, Llc Standard-guided video decoding performance enhancements
CN107566798A (zh) * 2017-09-11 2018-01-09 北京大学 一种数据处理的系统、方法及装置
CN107943903A (zh) * 2017-11-17 2018-04-20 广州酷狗计算机科技有限公司 视频检索方法及装置、计算机设备、存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DEEANN CHEN SCOTT: "A two-part predictive coder for multitask signal compression", pages 2 - 3 *
LUCA BAROFFIO: "A survey on compact features for visual content analysis" *
LUCA BAROFFIO: "Hybrid coding of visual content and local image features", pages 1 - 3 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023082107A1 (zh) * 2021-11-10 2023-05-19 Oppo广东移动通信有限公司 解码方法、编码方法、解码器、编码器和编解码系统

Also Published As

Publication number Publication date
US20210203997A1 (en) 2021-07-01
EP3834409A1 (en) 2021-06-16
WO2020055279A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
US20210203997A1 (en) Hybrid video and feature coding and decoding
US11671632B2 (en) Machine-learning-based adaptation of coding parameters for video encoding using motion and object detection
CN112534816B (zh) 用于视频图像编码的编码参数的基于事件自适应
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
CN115695785B (zh) 图像预测方法及装置
CN112954367B (zh) 使用调色板译码的编码器、解码器和相应方法
CN111225206B (zh) 视频解码方法和视频解码器
CN116803079A (zh) 视频和相关特征的可分级译码
CN112400323B (zh) 图像编码器、图像解码器、以及对应方法
CN111416981B (zh) 视频图像解码、编码方法及装置
CN113785573A (zh) 编码器、解码器和使用自适应环路滤波器的对应方法
CN113170202A (zh) 用于构建应用多假设预测的块的mpm列表的编码器、解码器及相应方法
CN113660489B (zh) 用于帧内子划分的解码方法、装置、解码器和存储介质
TW202239209A (zh) 用於經學習視頻壓縮的多尺度光流
CN110868590B (zh) 图像划分方法及装置
CN112544085A (zh) 执行去块的装置和方法
CN110876061B (zh) 色度块预测方法及装置
CN114846789A (zh) 用于指示条带的图像分割信息的解码器及对应方法
CN116320486A (zh) 编码器、解码器及对应的使用帧内模式译码进行帧内预测的方法
RU2779474C1 (ru) Устройство обработки изображений и способ выполнения эффективного удаления блочности
RU2801326C2 (ru) Кодер, декодер и соответствующие способы, использующие выделенный буфер ibc, и значение по умолчанию, обновляющее компонент яркости и цветности
CN118158440A (zh) 图像划分方法及装置
JP2024056596A (ja) 多次元データの符号化におけるエンドツーエンド特徴圧縮のためのシステム及び方法
CN118158441A (zh) 图像划分方法及装置
CN115299070A (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