CN117897736A - 用于机器视频编码(vcm)的编码器和解码器 - Google Patents
用于机器视频编码(vcm)的编码器和解码器 Download PDFInfo
- Publication number
- CN117897736A CN117897736A CN202280047141.1A CN202280047141A CN117897736A CN 117897736 A CN117897736 A CN 117897736A CN 202280047141 A CN202280047141 A CN 202280047141A CN 117897736 A CN117897736 A CN 117897736A
- Authority
- CN
- China
- Prior art keywords
- encoder
- feature
- video
- vcm
- decoder
- 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
Links
- 238000010801 machine learning Methods 0.000 claims description 61
- 238000013528 artificial neural network Methods 0.000 claims description 22
- 238000013527 convolutional neural network Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 22
- 238000011176 pooling Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 description 85
- 230000033001 locomotion Effects 0.000 description 59
- 230000008569 process Effects 0.000 description 58
- 238000004422 calculation algorithm Methods 0.000 description 47
- 238000012549 training Methods 0.000 description 32
- 239000013598 vector Substances 0.000 description 32
- 230000006870 function Effects 0.000 description 17
- 238000000638 solvent extraction Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000013139 quantization Methods 0.000 description 14
- 210000004027 cell Anatomy 0.000 description 10
- 230000006835 compression Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 10
- 238000012417 linear regression Methods 0.000 description 9
- 230000002123 temporal effect Effects 0.000 description 8
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013479 data entry Methods 0.000 description 6
- 238000003066 decision tree Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000007635 classification algorithm Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000012706 support-vector machine Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000007477 logistic regression Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013476 bayesian approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2355—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4355—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种机器视频编码(VCM)编码器,包括第一视频编码器,该第一视频编码器配置成将输入视频编码成比特流。VCM编码器包括特征提取器,该特征提取器配置成检测输入视频中的至少一个特征。所述VCM编码器包括第二编码器,该第二编码器配置成根据输入视频和至少一个特征来编码特征比特流。
Description
技术领域
本发明总体上涉及视频编码和解码领域。具体地,本发明涉及用于机器视频编码(video coding for machine,VCM)的编码器和解码器。
背景技术
视频编解码器可以包括用于压缩或解压缩数字视频的电子电路或软件。它可以将未压缩的视频转换为压缩格式,反之亦然。在视频压缩的背景下,对视频进行压缩(和/或执行其某些功能)的设备通常可以称为编码器,并且对视频进行解压缩(和/或执行其某些功能)的设备可以称为解码器。
压缩数据的格式可以符合标准视频压缩规范。压缩可能是有损的,因为压缩的视频缺少存在于原始视频中的一些信息。这种结果可能包括解压缩的视频将具有比原始未压缩的视频更低的质量,因为没有足够的信息来准确地重构原始视频。
在视频质量、用于表示视频的数据量(例如,由比特率确定的)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑容易度、随机访问、端到端延迟(例如,等待时间)等之间可能存在复杂的关系。
运动补偿可以包括通过考虑相机和/或视频中的对象的运动来预测针对给定参考帧(例如先前和/或未来帧)的视频帧或其部分的方法。它可以用于视频数据的编码和解码以用于视频压缩,例如用于使用运动图像专家组(MPEG)的高级视频编码(AVC)标准(也称为H.264)的编码和解码。运动补偿可以根据参考图片到当前图片的变换来描述图片。与当前图片比较时,参考图片可以在时间上是先前的图片,或与当前图片比较时,参考图片可以在时间上是将来的图片。当可以根据先前传输和/或存储的图像精确地合成图像时,可以提高压缩效率。
视频在传统上是用于人类消费的媒体,并且视频压缩方法侧重于在解压缩之后保持由人类观看者感知的视频的保真度。然而,目前,大量的视频正由机器分析。因此,对开发和优化针对机器分析而优化的视频压缩方法有越来越多的需求。根据应用,机器将不需要根据视频内容的相同信息来执行分析和功能。相反,视频信号中的某些特征将是足够的。机器视频编码(VCM)是通过压缩传统视频流以及从其中提取的非常适于机器分析的特征两者来生成压缩的比特流的方法。
发明内容
提供了一种用于包括编码器和解码器的机器视频编码(VCM)的***。VCM编码器包括第一视频编码器,其优选地配置成将输入视频信号编码成比特流。VCM编码器还包括特征提取器,其配置成检测输入视频中的至少一个特征。第二编码器配置成根据输入视频和至少一个特征来编码特征比特流。
在一些实施例中,视频解码器耦合到特征提取器以从其接收特征信号。优选地,机器模型可以包括在特征提取器中或提供给特征提取器。可以提供多路复用器以将编码的视频和特征信号组合成比特流以传输到解码器。
在一些优选实施例中,特征提取器还包括配置成输出至少一个特征图的机器学习模型。仍然优选地,机器学习模型还可以包括卷积神经网络。在一些实施例中,卷积神经网络包括多个卷积层和多个池化层。
特征提取器还可以包括分类器,其配置成将机器学习模型的输出分类为至少一个特征。在某些实施例中,分类器是深度神经网络。
特征提取器可以配置成生成多个特征图并且在编码之前在空间上布置多个特征图的至少一部分。可以基于特征图的参数(例如纹理)在空间上布置特征图。
在又一实施例中,第二编码器还可以配置成根据至少一个特征的分类对特征图进行分组。
一种VCM解码器,其配置成接收编码的混合比特流。VCM解码器包括接收混合比特流并提供视频比特流和来自混合比特流的特征比特流的解复用器。提供特征解码器。该特征解码器从解复用器接收经编码的特征比特流,并提供用于机器处理的经解码的特征集合。机器模型优选地耦合到特征解码器。提供视频解码器以从解复用器接收经编码的视频比特流并提供适于人类消耗的经解码视频信号。
在一些实施例中,VCM解码器可以配置成接收包括多个空间性布置的特征图的比特流,对空间性布置的特征图解码,以及重构特征图的原始序列。
本领域技术人员在结合附图参考本发明的特定非限制性实施例的以下描述时,本发明的非限制性实施例的这些以及其它方面和特征将变得明了。
附图说明
为了说明本发明,附图示出了本发明的一个或多个实施例的各个方面。然而,应当理解,本发明并不限于附图中所示的精确布置方式和机构,其中:
图1是示出了VCM编码器和解码器***的示例性实施例的简化框图;
图2是示出了VCM编码器和解码器***的示例性实施例的简化框图;
图3是示出了机器模型的示例性实施例的示意图;
图4是示出了用于组合卷积单元的过程的示例性实施例的示意图;
图5是示出了在编码单元和卷积单元表示中的视频的示例性实施例的框图;
图6是示出了帧间预测处理的示例性实施例的框图;
图7是示出了帧内预测处理的示例性实施例的框图;
图8是示出了视频输入图片和对应卷积层的示例性实施例的示意图;
图9是示出了视频解码器的示例性实施例的简化框图;
图10是示出了视频编码器的示例性实施例的框图;
图11是示出了机器学习模块的示例性实施例的框图;以及
图12是可用于实现本文公开的任何一个或多个方法及其任何一个或多个部分的计算***的框图。
附图并不一定是按比例绘制的,并且可以用虚线、示意图表示和局部视图示出。在某些实例中,可以省略对于理解实施例不必要的细节或者难以感知到的其它细节。
具体实施方式
在实施例中,VCM编码器将能够以视频或混合模式操作。在任一模式中,VCM编码器可以将待解码的视频比特流提供为由人观看的输出视频。
现在参考图1,示出了用于机器视频编码(VCM)的编码器的示例性实施例。可以使用包括但不限于数字和/或模拟电路的任何电路来实现VCM编码器100。可以使用硬件配置、软件配置、固件配置和/或其任何组合来配置VCM编码器100。VCM编码器100可以被实现为计算设备和/或计算设备的组件,其可以包括但不限于如下所述的任何计算设备。在一个实施例中,VCM编码器100可以配置成接收输入视频104并且生成输出比特流108。可以以下面描述的任何方式完成对输入视频104的接收。比特流可以包括但不限于如下所述的任何比特流。VCM编码器100可以包括但不限于预处理器112、视频编码器116、特征提取器120、优化器124、特征编码器128和/或多路复用器132。预处理器112可以接收输入视频104流并解析出该流的视频、音频和元数据子流。预处理器112可以包括解码器和/或与解码器通信,如下面进一步详细描述的。换句话说,预处理器112可以具有解码输入流的能力。在非限制性示例中,这可以允许对输入视频104进行解码,其可以促进下游像素域分析。
进一步参考图1,VCM编码器100可以以混合模式和/或视频模式操作。当处于混合模式时,VCM编码器100可以配置成编码旨在用于人类使用者的视觉信号并且编码旨在用于机器使用者的特征信号。机器使用者可以包括但不限于任何设备和/或组件,其包括但不限于下文进一步详细描述的计算设备。可以例如在混合模式下通过预处理器112传递输入信号。
仍然参考图1,编码视频信号以供人类使用的视频编码器116可以包括但不限于下文进一步详细描述的任何视频编码器116。当VCM编码器100处于混合模式时,VCM编码器100可以将未修改的输入视频104发送到视频编码器116以及将相同输入视频104的副本和/或以某种方式修改的输入视频104发送到特征提取器120。对输入视频104的修改可以包括本领域技术人员在参考本公开的全部内容时可能进行的任何缩放、变换或其它修改。例如但不限于,可以将输入视频104的大小调整为较小的分辨率,可以丢弃输入视频104中的图片序列中的一定数量的图片,从而减少输入视频104的帧率,可以修改颜色信息,例如但不限于通过将RGB视频转换为灰度级视频等。
仍然参考图1,视频编码器116和特征提取器120彼此连接并且可以在两个方向上交换有用信息。例如但不限于,视频编码器116可以将运动估计信息传送到特征提取器120,反之亦然。视频编码器116可以向特征提取器120提供基于感兴趣区域(regions ofinterest,ROI)的量化映射和/或其描述性数据,或反之亦然,其中视频编码器116和/或特征提取器120可识别该感兴趣区域。视频编码器116可以基于在输入视频104、输入信号和/或其任何帧和/或子帧中存在和/或标识的特征,向特征提取器120提供描述了一个或多个划分决策的数据;特征提取器120可以基于在输入视频104、输入信号和/或其任何帧和/或子帧中存在和/或标识的特征,向视频编码器116提供描述了一个或多个划分决策的数据。视频编码器116和特征提取器120可以共享和/或彼此传送用于最佳图片组(group ofpictures,GOP)决策的时间信息。在不存在限制的情况下,可以执行这些技术和/或过程中的每一者,如下面进一步详细描述的。
继续参考图1,特征提取器120可以以离线模式或线模式操作。特征提取器120可以识别和/或以其它方式作用于和/或操纵特征。在本公开中使用的“特征”是数据的特定结构和/或内容属性。特征的示例可以包括尺度不变特征变换(scale invariant featuretransforms,SIFT)、音频特征、颜色直方图、运动直方图、语音水平、响度水平等。特征可以是加时间戳的。每个特征可以与帧组中的单个帧相关联。特征可以包括高级内容特征,例如时间戳、视频中的人物和对象的标签、对象和/或感兴趣区域的坐标、用于基于区域的量化的帧掩膜、和/或本领域技术人员在参考本公开的全部内容时可能采用的任何其它特征。作为另一非限制性示例,特征可以包括描述帧或帧组的空间和/或时间特性的特征。描述空间和/或时间特性的特征的示例可以包括运动、纹理、颜色、亮度、边计数、模糊度、块效应等。当处于离线模式时,可以将下文进一步详细描述的所有机器模型存储在编码器处和/或存储在编码器的存储器中和/或可供编码器访问。这种模型的示例可以包括但不限于整体或部分卷积神经网络、关键点提取器、边缘检测器、显著映射构造器等。当处于在线模式时,一个或多个模型可以由远程机器实时地或在提取之前的某个点处被传送到特征提取器120。
仍然参考图1,特征编码器128被配置用于编码特征信号,例如但不限于由特征提取器120生成的特征信号。在一个实施例中,在提取特征之后,特征提取器120可以将提取的特征传递到特征编码器128。
特征编码器128可以使用熵编码和/或类似的技术(例如但不限于如下所述的)以产生特征流,该特征流可以被传递到多路复用器132。
视频编码器116和/或特征编码器128可以经由优化器124彼此连接;优化器124可以在视频编码器116和特征编码器128之间交换有用信息。例如但不限于,与用于熵编码的码字构造和/或长度相关的信息可以经由优化器124被交换和重用以用于最优压缩。
在一个实施例中,并且继续参考图1,视频编码器116可以产生视频流;视频流可以被传递到多路复用器132。多路复用器132可以将视频流与由特征编码器128生成的特征流多路复用。可替代地或附加地,视频和特征比特流可以在不同的信道、不同的网络、不同的设备上和/或以不同的时间或时间间隔(时间多路复用)传输。可以以适合于实现本公开中描述的任何比特流的任何方式来实现视频流和特征流中的每一者。在一个实施例中,多路复用的视频流和特征流可以产生混合比特流,其可以如下文进一步详细描述的方式传输。
仍然参考图1,在VCM编码器100处于视频模式的情况下,VCM编码器100可以使用视频编码器116用于视频和特征编码。特征提取器120可以将特征传输到视频编码器116;视频编码器116可以将特征编码成可以由对应的视频解码器144解码的视频流。应当注意,VCM编码器100可以使用单一视频编码器116用于视频编码和特征编码,在这种情况下,它可以将不同的参数组用于视频和特征;可替代地,VCM编码器100可以使用两个独立的视频编码器116,这两个独立的视频编码器可以并行操作。
仍然参考图1,***100可以包括VCM解码器136和/或与VCM解码器136通信。可以使用适于如上所述的VCM编码器100配置的任何电路和/或配置类型来实现VCM解码器136和/或其元件。VCM解码器136可以包括但不限于解复用器140。如果如上所述多路复用比特流,则解复用器140可以操作以解复用比特流。例如但不限于,解复用器140可以将包含一个或多个视频比特流和一个或多个特征比特流的多路复用比特流分离成单独的视频比特流和特征比特流。
继续参考图1,VCM解码器136可以包括视频解码器144。视频解码器144可被实现为但不限于下文进一步详细描述的适合解码器的任何方式。在一个实施例中,在不存在限制的情况下,视频解码器144可以生成输出视频,该输出视频可以由具有视觉感应能力的人类或其它生物和/或设备查看。
仍然参考图1,VCM解码器136可以包括特征解码器148。在一个实施例中,在不存在限制的情况下,特征解码器148可以配置成向机器提供一个或多个解码数据。机器可以包括但不限于任何计算设备,包括但不限于任何微控制器、处理器、嵌入式***、芯片上***、网络节点等。机器可以操作、存储、训练、接收来自机器模型的输入、产生输出和/或以其它方式与机器模型交互,如下面进一步详细描述的。机器可以包括在物联网(Internet ofThings,IoT)中,物联网被定义为具有处理和通信组件的对象的网络,其中一些可能不是诸如台式计算机、膝上型计算机和/或移动设备的常规计算设备。IoT中的对象可以包括但不限于具有嵌入式微处理器和/或微控制器的任何设备以及用于与局域网(LAN)和/或广域网(WAN)接口的一个或多个组件;一个或多个组件可以包括但不限于无线收发器,例如在2.4-2.485GHz范围内通信的无线收发器,例如蓝牙收发器,其遵循华盛顿柯克兰(Kirkland,Wash)的蓝牙SIG公司(Bluetooth SIG,Inc.)颁布的协议和/或根据法国吕埃·马迈松(Rueil-Malmaison,France)的施耐德电气SE(Schneider Electric SE)发布的MODBUS协议操作的网络通信组件,和/或电气与电子工程师协会(IEEE)颁布的IEEE 802.15.4标准的ZIGBEE规范。本领域技术人员在参考本公开的全部内容时,将意识到可以与本公开一致地使用的支持这种协议的各种替代或附加通信协议和设备,其每一者被设想为在本公开的范围内。
继续参考图1,VCM编码器100和/或VCM解码器136中的每一者可以被设计和/或配置成以任何顺序和以任何重复程度执行本公开中描述的任何实施例中的任何方法、方法步骤或方法步骤序列。例如,VCM编码器100和/或VCM解码器136中的每一者可以配置成重复执行单个步骤或序列,直到达到期望的或命令的结果;步骤或步骤序列的重复可以使用先前重复的输出作为后续重复的输入来迭代和/或递归地执行,聚集重复的输入和/或输出以产生聚集结果,一个或多个变量(例如全局变量)的减少或递减和/或将较大处理任务划分为迭代寻址的较小处理任务的集合。VCM编码器100和/或VCM解码器136中的每一者可以并行执行如在本公开中描述的任何步骤或步骤序列,例如使用两个或更多个并行线程、处理器核等同时和/或大致同时执行两次或更多次的步骤;可以根据适合于迭代之间的任务划分的任何协议来执行并行线程之间和/或进程之间的任务划分。本领域技术人员在参考本公开的全部内容时,将意识到可以使用迭代、递归和/或并行处理来细分、共享或以其它方式处理步骤、步骤序列、处理任务和/或数据的各种方式。
现在参考图2,示出了以视频模式操作的VCM编码器100的示例性实施例200。VCM编码器100可以配置成在接收到来自用户、程序、存储器位置和/或与VCM编码器100交互的一个或多个附加设备(未示出)的指令时在视频模式和混合模式之间切换。在视频模式中,VCM编码器100可以配置成操作第二视频编码器204。
第二视频编码器204可以以适合于如上所述的特征编码器128和/或视频编码器116的任何方式对特征和/或第二视频比特流编码。第二视频编码器204可以从特征提取器120和/或优化器124接收数据和/或向特征提取器120和/或优化器124传输数据。继续参考图2,视频模式可用于对可表示为视觉信息的任何或所有类型的特征编码。作为非限制性示例,视频模式可用于对显著映射、过滤图像(例如表示边缘、线等的图像)、卷积神经网络的特征图(如下面进一步详细描述的)等编码。
现在参考图3,示出了用于VCM编码器100的卷积神经网络(CNN)的示例性实施例300。如在本公开中使用的,“神经网络”(也称为人工神经网络)是具有一个或多个输入、一个或多个输出和基于输入确定输出的函数的“节点”或数据结构的网络。这种节点可以被组织在网络中,例如但不限于卷积神经网络,包括节点的输入层、一个或多个中间层和节点的输出层。可以凭借“训练”网络的过程来创建节点之间的连接,在该过程中来自训练数据集的元素被应用到输入节点,然后使用合适的训练算法(例如Levenberg-MarQuardt、共轭梯度、模拟退火或其它算法)来调整神经网络的相邻层中的节点之间的连接和权重,以在输出节点处产生期望的值。该过程有时被称为深度学习。
仍然参考图3,节点可以包括但不限于多个输入xi,其可以从包含节点的神经网络的输入和/或从其它节点接收数值。节点可以使用乘以相应输入xi的权重wi来执行输入的加权之和。附加地或可替代地,可以将偏差b添加到输入的加权之和,使得偏移量被添加到神经网络层中的与层的输入无关的每个单元。然后,可以将加权之和输入到可以生成一个或多个输出y的函数中。施加到输入xi的权重wi可以指示输入是否是“兴奋的”和/或是“抑制的”,“兴奋的”是指其例如通过具有大数值的对应权重对一个或多个输出y具有强影响,“抑制的”是指其例如通过具有小数值的对应权重对一个或多个输入y具有弱影响。可以通过使用训练数据训练神经网络来确定权重wi的值,训练数据可以使用如上所述的任何合适的过程来执行。在一个实施例中,在不存在限制的情况下,神经网络可以根据使用本公开中描述的机器学习过程导出的权重wi来接收作为输入的语义单元和输出表示这种语义单元的向量。如在本公开中使用的“卷积神经网络”是其中至少一个隐藏层是卷积层的神经网络以及一个或多个附加层(例如池化层)、完全连接层等,该卷积层将输入与已知为“内核”的输入子集一起卷积到该层。CNN可以包括但不限于深度神经网络(DNN)扩展,其中DNN被定义为具有两个或更多个隐藏层的神经网络。
在一个实施例中,继续参考图3,CNN和/或其它模型可用于编码、调整和/或重新排列特征图以适应针对输入图片的标准视频编码器116要求。在示例性实施例中,输入图像的宽度W和高度H可以输入到CNN和/或其它模型。通过被称为卷积和池化的一系列操作,输入图片中的图像可以被转换成一个或多个特征图(feature map)。作为输出的CNN的每个层可以包括若干特征图。可能总共具有n个卷积(C)层和池化(P)层。每一层可以具有表示为宽度w和高度h的相同或不同尺寸的卷积和池化核;例如,卷积层1可以具有宽度C1_w和高度C1_h,池化层1可以具有宽度P1_w和高度P1_h,卷积层2可以具有宽度C2_w和高度C2_h,池化层2可以具有宽度P2_w和高度P2_h,等等。
在一些实施例中,并且仍然参考图3,在最终池化操作之后,输出向量可以被传递到分类器,例如但不限于深度神经网络,其可以用于输入向量的分类。如在本公开中使用的,“分类算法”是如下进一步详细描述的机器学习算法和/或过程,其将输入分类成数据的类别或箱(bin),输出与其相关联的数据的类别或箱和/或标签;如在本公开中使用的“分类器”是机器学习模型,例如数学模型、神经网络或由机器学习过程生成的程序,如下面进一步详细描述的。分类器可以配置成输出至少一个数据,该数据标记或以其它方式标识被聚集在一起、被发现在如下所述的距离度量下是接近的一组数据等。计算设备和/或另一设备可以使用分类算法来生成分类器,所述分类算法被定义为计算设备从训练数据导出分类器的过程。除了神经网络分类器(例如DNN分类器)之外,分类可以使用但不限于线性分类器(例如但不限于逻辑回归和/或朴素贝叶斯分类器)、最近邻分类器(例如k最近邻分类器)、支持向量机、最小二乘支持向量机、Fisher线性判别、二次分类器、决策树、增强树、随机森林分类器、学习向量量化和/或基于神经网络的分类器。
在一个实施例中,并且仍然参考图3,VCM编码器100可以使用输出神经元的值的组合来确定存在或不存在某类兴趣。例如,具有两个输出的神经网络可以被训练成如果检测到人则输出组合[0,1],如果检测到汽车则输出组合[1,0]等。因为作为输出的卷积和池化可以具有值的二维矩阵,所以这种值的二维矩阵可以表示为视觉图像。该图片也可以称为“特征图”。在一些实现方式中,但不限于,VCM编码器100可以包含完整的CNN,在这种情况下,特征提取器120的输出可以包括最终的、池化的向量或DNN的中间或最后层的输出。在其它实现方式中,VCM编码器100可以仅包含CNN的一部分。例如,VCM编码器100可以包含CNN的第一k层,其可以表示为C1、P1、C2、P2、…、Ck、Pk,其中k可以包括1至n-1(包括n-1)之间的任何整数。在这种情况下,特征提取器120的输出可以包括来自最终层(k)的一组特征图。在一些实施例中,如果特征提取器120的输出包括来自卷积层和/或池化层的一组特征图,则可以使用视频编码器116对该输出编码。在将设置的特征图发送到视频编码器116之前,特征提取器120可以调整和/或重新布置每个特征图,使其适合作为视频编码器116的输入。由于特征图通常比视频编码器116所使用的典型图片尺寸小得多,重新排列一组特征图的一种方式可以包括将其组装成适于视频编码的较大矩形单元。
仍然参考图3,可以使用下文进一步详细描述的任何机器学习过程来训练CNN、DNN和/或用于特征重新排列和/或映射的任何其它模型和/或过程。
现在参考图4,示出了用于空间重组的过程400的示例性实施例。在一个实施例中,可以将来自本文描述的卷积层和/或其它层和/或元素的一组特征图布置成矩形单元;可替代地或另外地,单元可以具有任何其它合适的形状,包括将矩形形式组合成切片和/或图块,和/或具有多边形和/或弯曲周边的任何形状。这样一种形状可以围绕另一这种形状,形成圆环状或其它包围结构。可以通过简单的顺序排列来确定单个图的空间位置,其中图被定位在对应于卷积操作中其顺序次序的象限中。可替代地或另外地,可以布置单元中的图的空间位置,从而优化所得视频编码。可应用于这种优化的操作的一个示例是将具有相似纹理的图彼此相邻设置,从而提高视频编码器116的帧内预测的效率,例如但不限于如下所述的。对纹理的测量可以表示为图中像素值的方差。此外,从单个卷积层组装的特征单元可以与来自其它卷积层的特征单元以空间或时间方式组合。
现在参考图5,示出了从定义为如图4中生成的布置输出的单元组装的一组图片映射的示例性实施例。作为非限制性示例,卷积单元可以被组装为由视频编码器116编码的图片内的相邻块。注意,在一些实例中,将单元边界与视频编码器116的编码单元的边界对准将是有益的。在不存在限制的情况下,这可以通过使用具有编码单元的匹配大小(例如,64×64像素或128×128像素)的卷积核,或者通过重新缩放卷积单元以匹配编码单元大小来实现。可以使用应用于卷积单元的像素的简单线性或双三次重缩放技术(bicubicrescaling technique)来实现重缩放。
仍然参考图5,图片的单个编码单元可以包含一个或多个卷积单元,例如如图5的右下角所示。在不存在限制的情况下,可以基于卷积单元的顺序次序来计算特定布置中卷积单元的空间位置,或者通过使用将具有相似特性(例如纹理)的单元设置在附近的优化算法来计算卷积单元的空间位置。除了视频编码的帧内预测的改进之外,还可以考虑到空间位置的时间映射,因为视频编码器116也可以在单元上应用时间预测和/或帧间预测。
现在参考图6,示出了使用运动估计来计算的帧间预测并且得到运动向量(MV)的示例性实施例的描述。由于卷积映射的均匀性以及因此连续图片中的单元的相似性取决于输入视频104中的变化,因此视频编码器116可以应用动态分辨率变化以实现最佳压缩。例如,当相关卷积映射的数量减少时,视频编码器116可以降低图片的分辨率。这将在输入视频104从包含许多对象和感兴趣区域的场景切换到具有一个对象和/或较小感兴趣区域的场景的情况下发生。在这种情况下,可以减少卷积单元的数量;结果,降低编码图像的分辨率将是有益的。在本领域技术人员在参考本公开的全部内容时,可以发生分辨率的改变以任何方式发信号给解码器,包括但不限于使用报头信息。可使用补充增强信息(supplemental enhancement information,SEI)流或其它类似元数据流对与卷积映射相关的其它适当信息和/参数编码。诸如SEI的元数据流也可以用于对描述机器模型的相关信息编码。
仍然参考图6,虽然可以通过速率-失真优化(rate-distortion optimization,RDO)(其可以是大多数标准编码器中固有的)来为给定输入图片保证视频编码器116的最佳性能,但是一些参数也可以由特征提取器120调整和更新。这种调整的原因可以包括这样的事实,即视频编码器116可以针对编码视频的视觉质量而被优化,而机器的效用函数在某些情况下可能偏离该测量。例如但不限于,与CNN中的权重的有效值相关联的特征图可以被标记为更重要的,并且在这种意义上,可能需要调整视频编码器116对它们的压缩。这种功能的一个非限制性示例可以是将编码器的量化水平更新为与给定卷积单元相关联的一个或多个权重的幅度成反比。与CNN中的所有权重相比,权重的幅度可以表示为相对值。
现在参考图7,示出了用于运动向量映射的过程的示例性实施例。在一个实施例中,运动向量映射可以包括特征提取器120和视频编码器116之间的交互和/或由该交互驱动;该交互可以在混合模式和/或视频模式下发生。在一个实施例中,运动估计信息可以从特征提取器120传送到视频编码器116和/或从视频编码器116传送到特征提取器120。在具有时间依赖性的输入视频104的情况下,其中连续图片表示一些真实世界运动,可以使用帧间预测利用运动估计来估计运动。所得运动向量(MV)可以表示连续帧之间的预测单元的位移。
作为示例,并且继续参考图7,可以使用具有两个分量MVx、MVy的运动向量(MV)来描述简单的平移运动,分量MVx、MVy描述当前帧和/或从一帧到下一帧的块、编码单元、编码树单元、卷积单元和/或像素的位移。可以使用仿射运动向量(affine motion vector)来描述更复杂的运动(例如旋转、缩放和/或翘曲),其中如在本公开中使用的,“仿射运动向量”是描述在视频图片和/或图片中表示的像素或点集合的均匀位移的向量,诸如示出在运动期间在视频中横跨视图移动而不改变表观形状的对象的像素集合。用于视频编码和/或解码的一些方法可以使用四参数或六参数仿射模型来在帧间图像编码中进行运动补偿。
例如,仍然参考图7,六参数仿射运动可以描述为:
X’=ax+x+cy’=dx+ey+f
四参数仿射运动可以描述为:
X’=ax+x+cy’=-bx+ay+f
其中(x,y)和(x’,y’)分别是当前图片和参考图片中的像素位置;a、b、c、d、e和f是仿射运动模型的参数。
仍然参考图7,并且如上所述,可以在卷积单元上和/或更一般地在特征图上进行运动估计。在视频模式的情况下,可以由视频编码器116执行这种估计。然而,在一些情况下,可以在特征提取器120本身中实现快速和简单的运动估计,从而允许在将特征图发送到特征编码器128之前去除特征图之间的时间依赖性。以这种方式获得的运动信息可以被视频编码器116重用以对输入视频104进行编码。由于对较低分辨率特征图的运动估计可以更有效,这可以显著降低视频编码器116的复杂性。换句话说,可以如上所述地生成特征图,可以从特征图导出运动向量,并且可以将运动向量发信号给视频编码器116。视频编码器116可以使用这种发信号的运动向量来编码视频比特流,例如但不限于如下所述的。
在一些情况下,并且仍然参考图7,运动向量映射可以由视频编码器116计算,并且被传送到特征提取器120。这可以用来提高特征模态中运动向量的精度。可以通过应用与卷积单元和图像预测单元的分辨率差成比例的适当缩放常数在模式之间(例如在特征和视频模式之间)传送运动向量。现在参考图8,示出了基于可以从特征图到视频的ROI的量化映射的过程的示例性实施例。在一个实施例中,视频编码器116可以基于RDO对编码单元应用量化,以使给定比特预算的编码单元的视觉质量最大化。在一些情况下,图片的某些部分在感知上可能比其它部分更重要,并且可以用更高质量编码,而图片的其余部分可以用稍低质量编码。在感知上重要的部分的示例是包含人脸、对象、低纹理等的部分。图片部分的重要性也可以由效用函数来确定。例如,在监视视频中,保存关于脸部和感兴趣的小对象的细节可能是最重要的。使用由特征提取器120获得的信息,可以指定图片的这些部分。这可以使用可以表示为边界框的感兴趣区域来完成;可以以任何合适的方式定义边界框,包括但不限于图片和/或特征图内的位置的坐标x、y,例如其左上角,以及宽度和高度w、h,如像素值所表示的。该空间信息可以被传递到视频编码器116,视频编码器116可以在RDO计算中为ROI内的所有编码单元分配较低的失真和较高的速率。
进一步参考图8,可以根据显著性系数SN来确定、存储和/或用信号通知显著性,该显著性系数SN可以由外部专家提供和/或基于例如但不限于被定义为卷积单元、编码单元、编码树单元等的图片中的区域的特性来计算。如本文所使用的,区域的“特性”是基于其内容确定的区域的可测量属性;可以使用在第一区域上执行的一次或多次计算的输出来数值性地表示特性。一次或多次计算可以包括对由第一区域表示的任何信号的任何分析。一个非限制性示例可以包括在质量建模应用中为具有平滑背景的区域分配较高的SN并且为具有较不平滑背景的区域分配较低的SN;作为非限制性示例,可以使用Canny边缘检测来确定平滑度以确定边缘的数量,其中较低的数量表示更高的平滑度。自动平滑度检测的另一示例可以包括在区域上的空间变量中的信号上使用快速傅立叶变换(FFT),其中可以在任何二维坐标系上分析信号,并且在表示红-绿-蓝颜色值等的信道上使用快速傅立叶变换;如使用FFT计算的,较低频率分量的频域中的较大相对优势可表示更高的平滑度,而较高频率的较大相对优势可表示在背景区域上颜色和/或阴影值的更频繁且快速的转变,这将产生较低的平滑度分数;语义上重要的对象可以由用户输入来识别。可以根据边缘配置和/或纹理图案替代地或另外地检测语义重要性。在不存在限制的情况下,可以通过接收和/或检测代表重要或“前景”对象(例如脸或其它项)的区域的一部分(包括但不限于语义重要对象)来识别背景。另一示例可以包括为包含语义上重要的对象(例如,人脸)的区域分配更高的SN。
在示例性实施例中,并且仍然参考图8,在本公开中描述的CNN或其它元素可以在第一特征图中检测层Cn中的面部。可以将对应的边界框映射到由视频编码器116编码的图片。指定的编码单元可以被分配较高的优先级并且用适当的RDO更新来编码。在其它示例中,可以从诸如关键点提取器、边缘检测器、显著性映射构造器等的其它特征模型执行推导。
继续参考图8,VCM编码器100可以利用例如但不限于使用从特征提取器120提供给视频编码器116信息基于特征来执行划分决策。在一个实施例中,视频编码器116可以使用从特征提取器120接收的相关信息来更新其它编码参数(例如划分)。例如但不限于,对于感兴趣区域内的单元(例如但不限于边界框),可以增加编码单元树的深度。在另一示例中,视频编码器116可以将最小编码单元的大小与相关边界框的大小对准,以尽可能多地保留细节并且避免在预测单元之间的块边界上引入的失真。
仍然参考图8,从特征提取器120发送到视频编码器116或从视频编码器116发送到特征提取器120的信息可以包括时间信息。在非限制性示例中,特征提取器120可用于检测输入视频104中的显著变化(例如但不限于场景变化),并且将时间戳发信号给视频编码器116;视频编码器116可以使用该信息来最佳地决定一组或多组图片(GOP)的结构和长度。在非限制性示例中,关键帧或换句话说的帧内编码帧可以对应于场景的第一图片。在一个实施例中,连续图片的可变性可以确定在GOP中在帧内(I)和帧间(P,B)之间使用的帧的最佳类型以及这种帧的数目和/或序列。另一方面,由视频编码器116获得的信息可以由特征提取器120使用,例如在特征提取器120不包含运动估计的情况下。在这种情况下,视频编码器116的运动估计可用于改进特征提取器120的运动跟踪和活动检测。
图9是示出了示例性解码器的***框图,其可以适于实现视频解码器144和/或特征解码器148以解码来自压缩混合比特流的视频和特征。解码器900可以包括熵解码器处理器904、逆量化和逆变换处理器908、解块滤波器912、帧缓冲器916、运动补偿处理器920、和/或帧内预测处理器924。
在操作中,并且仍然参考图9,比特流928可以由解码器900接收并且输入到熵解码器处理器904,熵解码器处理器904可以将比特流的部分熵解码成量化系数。量化系数可以被提供给逆量化和逆变换处理器908,逆量化和逆变换处理器908可以执行逆量化和逆变换以创建残差信号,该残差信号可以根据处理模式被添加到运动补偿处理器920或帧内预测处理器924的输出。运动补偿处理器920和帧内预测处理器924的输出可以包括基于先前解码的块的块预测量。预测量和残差量之和可以由解块滤波器912处理并存储在帧缓冲器916中。
在一个实施例中,并且仍然参考图9,解码器900可以包括配置成以任何顺序和以任何程度的重复来实现如上所述的任何实施例中的如上所述的任何操作的电路。例如,解码器900可以配置成重复执行单个步骤或序列,直到达到期望的或命令的结果;可以使用先前重复的输出作为后续重复的输入来迭代和/或递归地执行步骤或步骤序列的重复,聚集重复的输入和/或输出以产生聚集结果,一个或多个变量(例如全局变量)的减少或递减和/或将较大处理任务划分为迭代地寻址的较小处理任务的集合。解码器可以并行执行如在本公开中描述的任何步骤或步骤序列,例如使用两个或更多个并行线程、处理器核等同时和/或大致同时执行两次或更多次的步骤;可以根据适合于迭代之间的任务划分的任何协议来执行并行线程之间和/或进程之间的任务划分。本领域技术人员在参考本公开的全部内容时,将意识到可以使用迭代、递归和/或并行处理来细分、共享或以其它方式处理步骤、步骤序列、处理任务和/或数据的各种方式。
图10是示出了能够自适应剪切的示例性视频编码器116 1000的***框图。示例性视频编码器116可以接收输入视频104 1004,可以根据诸如树结构化宏块划分方案(例如,四叉树加二叉树)的处理方案对输入视频104 1004进行初始分段或划分。树结构化宏块划分方案的示例可以包括将图像帧划分成被称为编码树单元(CTU)的大块元素。在一些实现方式中,每个CTU可以进一步一次或多次被划分成被称为编码单元(CU)的若干子块。该划分的最终结果可以包括可以被称为预测单元(PU)的一组子块。也可以使用变换单元(TU)。
仍然参考图10,示例性视频编码器116 1000可以包括帧内预测处理器1008、运动估计/补偿处理器1012、变换/量化处理器1016、逆量化/逆变换处理器1020、环内滤波器1024、解码图片缓冲器1028和/或熵编码处理器1032。运动估计/补偿处理器1012也可以称为帧间预测处理器并能够构建运动向量候选列表,包括将全局运动向量候选添加到运动向量候选列表。比特流参数可以被输入到熵编码处理器1032以包含在输出比特流1036中。
在操作中,并且继续参考图10,对于输入视频104 1004的帧的每个块,可以确定是经由帧内图片预测来处理块还是使用运动估计/补偿来处理块。块可以被提供给帧内预测处理器1008或运动估计/补偿处理器1012。如果要经由帧内预测来处理块,则帧内预测处理器1008可以执行处理以输出预测值。如果要经由运动估计/补偿来处理块,则运动估计/补偿处理器1012可以执行包括构建运动向量候选列表的处理,包括将全局运动向量候选添加到运动向量候选列表(如果适用)。
进一步参考图10,可以通过从输入视频104中减去预测值来形成残差量。该残差量可以由变换/量化处理器1016接收,其可以执行变换处理(例如,离散余弦变换(DCT))以产生可以被量化的系数。量化的系数和任何相关联的信令信息可以被提供给熵编码处理器1032以用于熵编码和包含在输出比特流1036中。熵编码处理器1032可以支持与编码当前块相关的信令信息的编码。此外,量化的系数可被提供给可重建像素的逆量化/逆变换处理器1020,像素可与预测值组合并由环内滤波器1024处理,其输出可存储在解码图片缓冲器1028中以供运动估计/补偿处理器1012使用,该运动估计/补偿处理器1012能够构建运动向量候选列表,包括将全局运动向量候选值添加到运动向量候选列表。
继续参考图10,尽管上面已经详细描述了一些变型,但是其它修改或添加也是可能的。例如,在一些实现方式中,当前块可以包括任何对称块(8×8、16×16、32×32、64×64、128×128等)以及任何非对称块(8×4、16×8等)。
在一些实现方式中,并且仍然参考图10,可以实现四叉树加二叉决策树(QTBT)。在QTBT中,在编码树单元级别,可以动态地导出QTBT的划分参数以适应本地特性,而不传送任何开销。随后,在编码单元级别,联合分类器决策树结构可以消除不必要的迭代并控制错误预测的风险。在一些实现方式中,作为在QTBT的每个叶节点处可用的附加选项,LTR帧块更新模式可以是可用的。
在一些实现方式中,并且仍然参考图10,可以以比特流的不同层次级别信号通知附加语法元素。例如,可以通过包括序列参数集(SPS)中编码的使能标志来对整个序列形成使能标志。此外,可以以编码树单元(CTU)级别对CTU标志编码。
一些实施例可以包括存储指令的非瞬时性计算机程序产品(即,物理实现的计算机程序产品),当所述指令由一个或多个计算***的一个或多个数据处理器执行时,该指令使至少一个数据处理器执行本文中的操作。
仍然参考图10,编码器1000可以包括配置成以任何顺序和以任何程度的重复来实现上文在任何实施例中描述的任何操作的电路。例如,编码器1000可以配置成重复执行单个步骤或序列,直到实现期望的或命令的结果;可以使用先前重复的输出作为后续重复的输入来迭代和/或递归地执行步骤或步骤序列的重复,聚集重复的输入和/或输出以产生聚集结果,一个或多个变量(例如全局变量)的减少或递减和/或将较大处理任务划分为迭代寻址的较小处理任务的集合。编码器1000可以并行执行如在本公开中描述的任何步骤或步骤序列,例如使用两个或更多个并行线程、处理器核等同时和/或大致同时执行两次或更多次的步骤;可以根据适合于迭代之间的任务划分的任何协议来执行并行线程之间和/或进程之间的任务划分。本领域技术人员在参考本公开的全部内容时,将意识到可以使用迭代、递归和/或并行处理来细分、共享或以其它方式处理步骤、步骤序列、处理任务和/或数据的各种方式。
继续参考图10,非暂时性计算机程序产品(即,物理实现的计算机程序产品)可以存储指令,当所述指令被一个或多个计算***的一个或多个数据处理器执行时,该指令使得至少一个数据处理器执行本公开中描述的操作和/或其步骤,包括但不限于上述解码器900和/或编码器1000可以配置成执行的操作。类似地,还描述了可以包括一个或多个数据处理器和耦合到一个或多个数据处理器的存储器的计算机***。存储器可以暂时或永久地存储导致至少一个处理器执行本文所述的一个或多个操作的指令。此外,方法可以由单个计算***内的一个或多个数据处理器实现,或者由分布在两个或多个计算***之间的一个或多个数据处理器实现。这种计算***可以被连接并且可以经由一个或多个连接来交换数据和/或命令或其它指令等,所述连接包括网络(例如,因特网、无线广域网、局域网、广域网、有线网络等)上的连接、经由多个计算***中的一个或多个之间的直接连接等。
现在参考图11,示出了可以执行如在本公开中描述的一个或多个机器学习过程的机器学习模块1100的示例性实施例。机器学习模块可以使用机器学习过程来执行本公开中描述的确定、分类和/或分析步骤、方法、过程等。如在本公开中使用的“机器学习过程”是自动使用训练数据1104来生成算法的过程,该算法将由计算设备/模块执行以产生输出1108给定作为输入提供的数据1112。这与非机器学习软件程序不同,在非机器学习软件程序中,要执行的命令通常由用户预先确定并且以编程语言编写。
仍参考图11,如本文所使用的“训练数据”是包含机器学习过程可用于对两类或更多类别的数据元素之间的关系建模的相关性的数据。例如但不限于,训练数据1104可以包括多个数据条目,每个条目表示一起记录、接收和/或生成的一组数据元素;数据元素可以通过给定数据条目中的共享存在、给定数据条目中的邻近等来关联。训练数据1104中的多个数据条目可以证明数据元素类别之间的相关性的一个或多个趋势;例如但不限于,属于第一数据元素类别的第一数据元素的较高值可以趋向于与属于第二数据元素类别的第二数据元素的较高值相关,指示链接属于两个类别的值的可能的比例或其它数学关系。可以根据各种相关性在训练数据1104中关联多类数据元素;相关性可指示数据元素类别之间的因果和/或预测性链接,其可通过机器学习过程建模为诸如数学关系的关系,如下面进一步详细描述的。例如可以通过将数据元素与对应于数据元素的类别的一个或多个描述符相关联而通过数据元素的类别来格式化和/或组织训练数据1104。作为非限制性示例,训练数据1104可以包括由人或过程以标准化形式输入的数据,使得在给定字段中以表格形式输入给定数据元素可以映射到类别的一个或多个描述符。训练数据1104中的元素可以通过标签、令牌或其它数据元素链接到类别的描述符;例如但不限于,可以以固定长度格式、将数据的位置链接到诸如逗号分隔值(comma-separated value,CSV)格式的类别的格式和/或诸如可扩展标记语言(extensible markup language,XML)、JavaScript对象表示等的自描述格式来提供训练数据1104,从而使得过程或设备能够检测数据的类别。
可替代地或附加地,并且继续参考图11,训练数据1104可以包括未被分类的一个或多个元素;也就是说,训练数据1104可以不被格式化或者不包含用于一些数据元素的描述符。机器学习算法和/或其它过程可以使用例如自然语言处理算法、标记化、检测原始数据中的相关值等来根据一个或多个分类对训练数据1104进行排序;可以使用相关和/或其它处理算法来生成类别。作为非限制性示例,在文本的语料库中,组成复合词的数目“n”的短语,诸如由其它名词修改的名词,可以根据包含该词的n-gram的在统计上重要的流行度以特定顺序来识别;这种n-gram可以被分类为语言元素,例如要被跟踪的“词”,类似于单个词,从而作为统计分析的结果生成新的类别。类似地,在包括一些文本数据的数据条目中,可以通过参考列表、字典或其它术语纲要来识别人的姓名,以允许通过机器学习算法进行自组织分类,和/或将数据条目中的数据与描述符或以给定格式自动关联。自动地对数据条目进行分类的能力可以使得相同的训练数据1104可应用于两个或更多个不同的机器学习算法,如下面进一步详细描述的。机器学习模块1100使用的训练数据1104可以将本公开中描述的任何输入数据与本公开中描述的任何输出数据相关联。
进一步参考图11,可以使用一个或多个被监督和/或未被监督的机器学习过程和/或模型来过滤、排序和/或选择训练数据,如下面进一步详细描述的;这种模型可以包括但不限于训练数据分类器1116。训练数据分类器1116可以包括如在本公开中使用的如下定义的机器学习模型的“分类器”,诸如数学模型、神经网络或由机器学习算法生成的程序,所述机器学习算法被称为“分类算法”,如以下进一步详细描述的,其将输入分类为数据的类别或箱,输出数据的类别或箱和/或与其相关联的标签。分类器可以配置成输出至少一个数据,该数据标记或以其它方式标识被聚集在一起且被发现在如下所述的距离度量下是接近的一组数据等。机器学习模块1100可以使用分类算法生成分类器,该分类算法被定义为计算设备和/或在其上操作的任何模块和/或组件从训练数据1104导出分类器的过程。
可以使用但不限于线性分类器(例如但不限于逻辑回归和/或朴素贝叶斯分类器)、最近邻分类器(例如k-最近邻分类器)、支持向量机、最小二乘支持向量机、Fisher线性判别、二次分类器、决策树、增强树、随机森林分类器、学习向量量化和/或基于神经网络的分类器。
仍然参考图11,机器学习模块1100可配置成执行延迟学习过程1120和/或协议,其可替代地被称为“延迟加载”或“需要时调用”过程和/或协议,并且可以是这样的过程,即通过组合输入和训练集以导出用于按需产生输出的算法,在接收到要转换为输出的输入时进行机器学习。例如,可以执行初始仿真集合以覆盖输出和/或关系处的初始启发式(heuristic)和/或“第一猜测”。作为非限制性示例,初始启发式可以包括输入和训练数据1104的元素之间的关联的排序。启发式可以包括选择一些最高等级的关联和/或训练数据1104元素。延迟学习可以实现任何合适的延迟学习算法,包括但不限于k-最近邻算法、延迟朴素贝叶斯算法等;本领域技术人员在参考本公开的全部内容时,将意识到可应用于产生如本公开中描述的输出的各种延迟学习算法,包括但不限于下文进一步详细描述的机器学习算法的延迟学习应用。
可替代地或附加地,并且继续参考图11,可以使用如在本公开中描述的机器学习过程来生成机器学习模型1124。如在本公开中使用的,“机器学习模型”是输入和输出之间的关系的数学和/或算法表示,如使用包括但不限于如上所述的任何过程的任何机器学习过程生成的,并且存储在存储器中;输入一旦创建就被提交到机器学习模型1124,其基于导出的关系生成输出。例如但不限于,使用线性回归算法生成的线性回归模型可以使用在机器学习过程期间导出的系数来计算输入数据的线性组合以计算输出数据。作为另一个非限制性示例,可以通过创建人工神经网络(例如卷积神经网络)来生成机器学习模型1124,该人工神经网络包括节点的输入层、一个或多个中间层和节点的输出层。节点之间的连接可以通过“训练”网络的过程来创建,其中来自训练数据1104集的元素被应用到输入节点,然后使用合适的训练算法(例如,Levenberg-MarQuardt、共轭梯度、模拟退火或其它算法)来调整神经网络的相邻层中的节点之间的连接和权重,以在输出节点处产生期望的值。这个过程有时被称为深度学习。
仍然参考图11,机器学习算法可以至少包括监督的机器学习过程1128。如本文所定义的,监督的机器学习过程1128至少包括接收将多个输入与多个输出相关联的训练集的算法,并且寻求找到将输入与输出相关联的一个或多个数学关系,其中所述一个或多个数学关系中的每一者根据使用一些评分函数指定给所述算法的一些准则是最佳的。例如,监督学习算法可以包括如本公开所述的输入作为输入,如本公开所述的输出作为输出,以及表示要在输入和输出之间检测的期望形式的关系的评分函数;例如,评分函数可以寻求最大化给定输入和/或元素输入的组合与给定输出相关联的概率,以最小化给定输入不与给定输出相关联的概率。评分函数可以表示为风险函数,该风险函数表示与输入到输出相关的算法的“预期损失”,其中损失被计算为误差函数,该误差函数表示当与在训练数据1104中提供的给定输入-输出对相比较时由该关系生成的预测不正确的程度。本领域技术人员在参考本公开的全部内容时,将意识到可以用于确定输入和输出之间的关系的至少被监督的机器学习过程1128的各种可能的变化。监督的机器学习过程可以包括如上所述的分类算法。
进一步参考图11,机器学习过程可以包括至少一个无监督的机器学习过程1132。如本文所使用的,无监督机器学习过程是不考虑标签而导出数据集中的推断的过程;结果,无监督机器学习过程可以自由地发现数据中提供的任何结构、关系和/或相关性。无监督过程将不需要响应变量;无监督过程可用于发现变量之间的感兴趣模式和/或推断,以确定两个或更多个变量之间的相关性程度等。
仍然参考图11,机器学***方;可以修改所得线性方程的系数以改进最小化。线性回归模型可以包括脊回归方法,其中要最小化的函数包括最小二乘函数加上将每个系数的平方乘以标量以惩罚大系数的项。线性回归模型可以包括最小绝对收缩和选择算子(LASSO)模型,其中脊回归与将最小二乘项乘以因子1除以两倍样本数量相结合。线性回归模型可以包括多任务lasso模型,其中在lasso模型的最小二乘项中应用的范数是等于所有项的平方和的平方根的Frobenius范数。线性回归模型可以包括弹性网模型、多任务弹性网模型、最小角度回归模型、LARS lasso模型、正交匹配追踪模型、贝叶斯回归模型、逻辑回归模型、随机梯度下降模型、感知器模型、被动侵略性算法、鲁棒性回归模型、Huber回归模型或本领域技术人员在参考本公开的全部内容时可能产生的任何其它合适的模型。在一个实施例中,线性回归模型可以概括为多项式回归模型,由此寻求提供最佳预测输出/实际输出拟合的多项式方程(例如,二次方程、三次方程或高阶方程);可以应用与上述方法相似的方法来最小化误差函数,这对于本领域技术人员在参考本公开的全部内容时是明了的。
继续参考图11,机器学习算法可以包括但不限于线性判别分析。机器学习算法可以包括二次判别分析。机器学习算法可以包括核脊回归。机器学习算法可以包括支持向量机,包括但不限于基于支持向量分类的回归过程。机器学习算法可以包括随机梯度下降算法,包括基于随机梯度下降的分类和回归算法。机器学习算法可以包括最近邻算法。机器学习算法可以包括各种形式的潜伏空间正则化,例如变分正则化。机器学习算法可以包括高斯过程,例如高斯过程回归。机器学习算法可以包括交叉分解算法,包括偏最小二乘和/或正则相关分析。机器学习算法可以包括纯贝叶斯方法。机器学习算法可以包括基于决策树的算法,诸如决策树分类或回归算法。机器学习算法可以包括集成方法,诸如打包元估计器、随机树林、AdaBoost、梯度树提升和/或投票分类器方法。机器学习算法可以包括神经网络算法,包括卷积神经网络过程。
应当注意,本文描述的任何一个或多个方面和实施例可以方便地使用根据本说明书的教导而编程的一个或多个机器(例如,用作电子文档的用户计算设备的一个或多个计算设备、诸如文档服务器等的一个或多个服务器设备)来实现,这对于计算机领域的普通技术人员是明了的。适当的软件编码可以容易地由本领域技术人员基于本公开的教导来准备,这对于软件领域的普通技术人员是明了的。上面讨论的采用软件和/或软件模块的方面和实现方式还可以包括用于协助实现软件和/或软件模块的机器可执行指令的适当硬件。
这种软件可以是采用机器可读存储介质的计算机程序产品。机器可读存储介质可以是能够存储和/或编码用于由机器(例如,计算设备)执行的指令序列并且使得机器执行本文描述的方法和/或实施例中的任何一者的任何介质。机器可读存储介质的示例包括但不限于磁盘、光盘(例如,CD、CD-R、DVD、DVD-R等)、磁光盘、只读存储器(ROM)设备、随机存取存储器(RAM)设备、磁卡、光卡、固态存储器设备、EPROM、EEPROM及其任何组合。如本文所使用的机器可读介质旨在包括单个介质以及物理上分离的介质的集合,例如与计算机存储器组合的压缩盘或一个或多个硬盘驱动器的集合。如本文所使用的,机器可读存储介质不包括瞬时性传输的信号形式。
这种软件还可以包括在诸如载波之类的数据载波上作为数据信号携带的信息(例如,数据)。例如,机器可执行信息可以被包括为实现在数据载体中的数据承载信号,在该数据载体中,该信号对指令序列或其一部分进行编码,以便由机器(例如,计算设备)执行,以及使机器执行本文描述的方法和/或实施例中的任何一者的任何相关信息(例如,数据结构和数据)。
计算设备的示例包括但不限于电子书读取设备、计算机工作站、终端计算机、服务器计算机、手持设备(例如,平板计算机、智能电话等)、网络设备、网络路由器、网络交换机、网桥、能够执行指定该机器要采取动作的指令序列的任何机器,以及它们的任何组合。在一个示例中,计算设备可以包括和/或被包括在自助服务终端(kiosk)中。
图12示出了计算机***1200的示例性形式的计算设备的一个实施例的示意性表示,其中可以执行用于使控制***执行本公开的任何一个或多个方面和/或方法的指令集。还可以想到,可以利用多个计算设备来实现用于使一个或多个设备执行本公开的任何一个或多个方面和/或方法的特殊配置的指令集。计算机***1200包括处理器1204和存储器1208,处理器1204和存储器1208经由总线1212彼此通信并且与其它部件通信。总线1212可以包括若干类型的总线结构中的任一种,包括但不限于使用各种总线体系结构中的任一种的存储器总线、存储器控制器、***总线、局部总线及其任何组合。
处理器1204可以包括任何合适的处理器,例如但不限于包含用于执行算术和逻辑操作的逻辑电路的处理器,例如算术和逻辑单元(ALU),其可以用状态机调节并且由来自存储器和/或传感器的操作输入指导;处理器1204可以根据作为非限制性示例的冯·诺依曼和/或哈佛架构来组织。处理器1204可以包括、结合和/或被结合到(但不限于)微控制器、微处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、图形处理单元(GPU)、通用GPU、张量处理单元(TPU)、模拟或混合信号处理器、可信平台模块(TPM)、浮点单元(FPU)和/或芯片上的***(SoC)。
存储器1208可以包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任何组合。在一个示例中,基本输入/输出***1216(BIOS)可以存储在存储器1208中,基本输入/输出***1216包括帮助在计算机***1200内的元件之间传送信息的基本例程,例如在启动期间。存储器1208还可以包括(例如,存储在一个或多个机器可读介质上)指令(例如,软件)1220,其体现本公开的任何一个或多个方面和/或方法。在另一示例中,存储器1208还可以包括任意数量的程序模块,包括但不限于操作***、一个或多个应用程序、其它程序模块、程序数据及其任意组合。
计算机***1200还可以包括存储设备1224。存储设备(例如,存储设备1224)的示例包括但不限于硬盘驱动器、磁盘驱动器、与光学介质组合的光盘驱动器、固态存储设备及其任何组合。存储设备1224可以通过适当的接口(未示出)连接到总线1212。示例性接口包括但不限于,SCSI、高级技术附件(ATA)、串行ATA、通用串行总线(USB)、IEEE 1394(FIREWIRE)及其任何组合。在一个示例中,存储设备1224(或其一个或多个部件)可以可移除地与计算机***1200交互(例如,经由外部端口连接器(未示出))。特别地,存储设备1224和相关联的机器可读介质1228可以为计算机***1200提供机器可读指令、数据结构、程序模块和/或其它数据的非易失性和/或易失性存储。在一个示例中,软件1220可以全部或部分地驻留在机器可读介质1228内。在另一示例中,软件1220可以完全或部分地驻留在处理器1204内。
计算机***1200还可以包括输入设备1232。在一个示例中,计算机***1200的用户可以经由输入设备1232将命令和/或其它信息输入到计算机***1200中。输入设备1232的示例包括但不限于,字符数字输入设备(例如,键盘)、指示设备、操纵杆、游戏板、音频输入设备(例如,麦克风、语音响应***等)、光标控制设备(例如,鼠标)、触摸板、光学扫描仪、视频捕获设备(例如,静态相机、视频相机)、触摸屏及其任何组合。输入设备1232可以经由多种接口(未示出)中的任何接口(包括但不限于串行接口、并行接口、游戏端口、USB接口、FIREWIRE接口、到总线1212的直接接口及其任何组合)与总线1212交互。输入设备1232可以包括触摸屏接口,其可以是显示器1236的一部分或与显示器1236分离,这将在下面进一步讨论。输入设备1232可以用作用户选择设备,用于选择如上所述的图形界面中的一个或多个图形表示。
用户还可以经由存储设备1224(例如,可移动磁盘驱动器、闪存驱动器等)和/或网络接口设备1240向计算机***1200输入命令和/或其它信息。网络接口设备(例如网络接口设备1240)可用于将计算机***1200连接到各种网络(例如网络1244)中的一个或多个以及连接到一个或多个远程设备1248。网络接口设备的示例包括但不限于网络接口卡(例如,移动网络接口卡、LAN卡)、调制解调器及其任何组合。网络的示例包括但不限于广域网(例如,因特网、企业网络)、局域网(例如,与办公室、建筑物、校园或其它相对较小的地理空间相关联的网络)、电话网络、与电话/语音提供商相关联的数据网络(例如,移动通信提供商数据和/或语音网络)、两个计算设备之间的直接连接及其任意组合。网络(例如网络1244)可以采用有线和/或无线通信模式。总体上,可以使用任何网络拓扑。可以经由网络接口设备1240将信息(例如,数据、软件1220等)传送到计算机***1200和/或从计算机***1200传送信息。计算机***1200还可以包括视频显示适配器1252,其用于将可显示图像传送到显示设备,例如显示设备1236。显示装置的示例包括但不限于液晶显示器(LCD)、阴极射线管(CRT)、等离子体显示器、发光二极管(LED)显示器及其任何组合。
显示适配器1252和显示设备1236可以与处理器1204结合使用以提供本公开的方面的图形表示。除了显示设备之外,计算机***1200可以包括一个或多个其它***输出设备,包括但不限于音频扬声器、打印机及其任何组合。这种***输出设备可以经由***接口1256连接到总线1212。***接口的示例包括但不限于串行端口、USB连接、FIREWIRE连接、并行连接及其任何组合。
前面已经详细描述了本发明的说明性实施例。可以在不脱离本发明的精神和范围的情况下进行各种修改和添加。上述各种实施例中的每一者的特征可以适当地与其它所描述的实施例的特征组合,以便在相关联的新实施例中提供多种特征组合。此外,虽然前面描述了许多单独的实施例,但是这里描述的仅仅是对本发明原理的应用的说明。另外,尽管本文中的特定方法可以被图示和/或描述为以特定顺序执行,但是为了实现根据本公开的方法、***和软件,该顺序对于普通技术人员是可变的。因此,这种描述意味着仅作为示例,而不是限制本发明的范围。
已经在上面公开并且在附图中示出了示例性实施例。本领域技术人员将理解,在不脱离本发明的精神和范围的情况下,可以对本文具体公开的内容进行各种改变、省略和添加。
Claims (15)
1.一种机器视频编码(VCM)编码器,所述VCM编码器包括:
第一视频编码器,所述第一视频编码器配置成将输入视频编码成比特流;
特征提取器,所述特征提取器配置成检测所述输入视频中的至少一个特征;和
第二编码器,所述第二编码器配置成根据所述输入视频和所述至少一个特征来编码特征比特流。
2.根据权利要求1所述的VCM编码器,其中,所述特征提取器还包括配置成输出至少一个特征图的机器学习模型。
3.根据权利要求2所述的VCM编码器,其中,所述机器学习模型还包括卷积神经网络。
4.根据权利要求3所述的VCM编码器,其中,所述卷积神经网络包括:多个卷积层和多个池化层。
5.根据权利要求2所述的VCM编码器,其中,所述特征提取器还包括分类器,所述分类器配置成将所述机器学习模型的输出分类为至少一个特征。
6.根据权利要求5所述的VCM编码器,其中,所述分类器还包括深度神经网络。
7.根据权利要求5所述的VCM编码器,其中,所述第二编码器还配置成根据对所述至少一个特征的分类将所述至少一个特征图的特征图进行分组。
8.根据权利要求1所述的VCM编码器,其中,所述第二编码器还包括特征编码器。
9.根据权利要求1所述的VCM编码器,其中,所述第二编码器还包括视频编码器。
10.根据权利要求1所述的VCM编码器,其中,所述第一视频编码器与所述特征提取器耦合并且从所述特征提取器接收特征信号。
11.根据权利要求1所述的VCM编码器,还包括多路复用器,所述多路复用器配置成将所述视频比特流和所述特征比特流组合。
12.根据权利要求1所述的VCM编码器,其中,所述特征提取器配置成生成多个特征图,并且其中,所述特征图在编码之前被空间性地布置。
13.根据权利要求12所述的VCM编码器,其中,所述特征图至少部分地基于所述特征图的纹理分量被空间性地布置。
14.一种VCM解码器,其配置成接收编码的混合比特流,所述解码器包括:
解复用器,所述解复用器接收所述混合比特流;
特征解码器,所述特征解码器从所述解复用器接收经编码的特征比特流并且提供用于机器处理的经解码的特征集合;
机器模型,所述机器模型与所述特征解码器耦合;和
视频解码器,所述视频解码器从所述解复用器接收经编码的视频比特流并且提供用于人类使用的经解码的视频信号。
15.根据权利要求14所述的VCM解码器,其中,所述特征解码器配置成接收包括多个空间性布置的特征图的比特流,对所述空间性布置的特征图解码,以及重构所述特征图的原始序列。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163197834P | 2021-06-07 | 2021-06-07 | |
US63/197,834 | 2021-06-07 | ||
PCT/US2022/032048 WO2022260934A1 (en) | 2021-06-07 | 2022-06-03 | Encoder and decoder for video coding for machines (vcm) |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117897736A true CN117897736A (zh) | 2024-04-16 |
Family
ID=84425308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280047141.1A Pending CN117897736A (zh) | 2021-06-07 | 2022-06-03 | 用于机器视频编码(vcm)的编码器和解码器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240107088A1 (zh) |
EP (1) | EP4352701A1 (zh) |
JP (1) | JP2024520682A (zh) |
KR (1) | KR20240051076A (zh) |
CN (1) | CN117897736A (zh) |
WO (1) | WO2022260934A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024147601A1 (ko) * | 2023-01-03 | 2024-07-11 | 엘지전자 주식회사 | 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11019355B2 (en) * | 2018-04-03 | 2021-05-25 | Electronics And Telecommunications Research Institute | Inter-prediction method and apparatus using reference frame generated based on deep learning |
CN112673625A (zh) * | 2018-09-10 | 2021-04-16 | 华为技术有限公司 | 混合视频以及特征编码和解码 |
-
2022
- 2022-06-03 KR KR1020237044890A patent/KR20240051076A/ko unknown
- 2022-06-03 EP EP22820800.5A patent/EP4352701A1/en active Pending
- 2022-06-03 WO PCT/US2022/032048 patent/WO2022260934A1/en active Application Filing
- 2022-06-03 JP JP2023574502A patent/JP2024520682A/ja active Pending
- 2022-06-03 CN CN202280047141.1A patent/CN117897736A/zh active Pending
-
2023
- 2023-12-04 US US18/528,099 patent/US20240107088A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240051076A (ko) | 2024-04-19 |
EP4352701A1 (en) | 2024-04-17 |
WO2022260934A1 (en) | 2022-12-15 |
US20240107088A1 (en) | 2024-03-28 |
JP2024520682A (ja) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI806199B (zh) | 特徵圖資訊的指示方法,設備以及電腦程式 | |
US20240107088A1 (en) | Encoder and decoder for video coding for machines (vcm) | |
WO2021178643A1 (en) | An encoding device and method for utility-driven video compression | |
WO2023122132A2 (en) | Video and feature coding for multi-task machine learning | |
US20240267531A1 (en) | Systems and methods for optimizing a loss function for video coding for machines | |
US20240283942A1 (en) | Systems and methods for object and event detection and feature-based rate-distortion optimization for video coding | |
US20240236342A1 (en) | Systems and methods for scalable video coding for machines | |
US20240291999A1 (en) | Systems and methods for motion information transfer from visual to feature domain and feature-based decoder-side motion vector refinement control | |
US20240185572A1 (en) | Systems and methods for joint optimization training and encoder side downsampling | |
WO2023122149A2 (en) | Systems and methods for video coding of features using subpictures | |
KR20240128005A (ko) | 서브픽처를 사용하여 특징의 비디오 코딩을 위한 시스템 및 방법 | |
WO2023081091A2 (en) | Systems and methods for motion information transfer from visual to feature domain and feature-based decoder-side motion vector refinement control | |
WO2023122244A1 (en) | Intelligent multi-stream video coding for video surveillance | |
US20240137543A1 (en) | Systems and methods for decoder-side synthesis of video sequences | |
US20240114185A1 (en) | Video coding for machines (vcm) encoder and decoder for combined lossless and lossy encoding | |
CN118414829A (zh) | 用于对象和事件检测以及用于视频编码的基于特征的率失真优化的***和方法 | |
CN118119951A (zh) | 用于联合优化训练和编码器侧下采样的***和方法 | |
US20240070927A1 (en) | Image compression performance optimization for image compression | |
US20230007276A1 (en) | Encoding Device and Method for Video Analysis and Composition | |
WO2023158649A1 (en) | Systems and methods for video coding for machines using an autoencoder | |
KR20240128019A (ko) | 멀티-태스크 기계 학습을 위한 비디오 및 특징 코딩 | |
WO2023137003A1 (en) | Systems and methods for privacy protection in video communication systems | |
WO2023172593A1 (en) | Systems and methods for coding and decoding image data using general adversarial models | |
CN118451713A (zh) | 用于视频编码的***和方法 | |
WO2023076108A1 (en) | Systems and methods for video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |