CN117793373A - 机器学习视频处理系统和方法 - Google Patents
机器学习视频处理系统和方法 Download PDFInfo
- Publication number
- CN117793373A CN117793373A CN202311842708.7A CN202311842708A CN117793373A CN 117793373 A CN117793373 A CN 117793373A CN 202311842708 A CN202311842708 A CN 202311842708A CN 117793373 A CN117793373 A CN 117793373A
- Authority
- CN
- China
- Prior art keywords
- image data
- machine learning
- parameters
- block
- processor
- 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 title claims abstract description 300
- 238000000034 method Methods 0.000 title claims abstract description 206
- 238000012545 processing Methods 0.000 title claims abstract description 69
- 230000008569 process Effects 0.000 claims description 102
- 238000012549 training Methods 0.000 claims description 72
- 238000013139 quantization Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 4
- 230000000875 corresponding effect Effects 0.000 description 96
- 238000013527 convolutional neural network Methods 0.000 description 35
- 230000005055 memory storage Effects 0.000 description 21
- 238000001914 filtration Methods 0.000 description 20
- 230000001419 dependent effect Effects 0.000 description 17
- 230000000007 visual effect Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
Classifications
-
- 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/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/045—Combinations of networks
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- 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/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及用于机器学习视频处理系统和方法。在实施方案中,视频编码流水线包括主编码流水线,所述主编码流水线通过至少部分地基于编码参数来处理源图像数据,从而压缩对应于图像帧的所述源图像数据以生成经编码图像数据。另外,所述视频编码流水线包括通信地耦接到所述主编码流水线的机器学习块,在所述主编码流水线中,所述机器学习块通过至少部分地基于当所述机器学习块被所述编码参数启用时在所述机器学习块中实现的机器学习参数来处理所述源图像数据,从而分析所述图像帧的内容;并且所述视频编码流水线至少部分地基于期望存在于所述图像帧中的所述内容来自适应地调节所述编码参数,以便于提高编码效率。
Description
本申请是申请日为2018年7月9日、题为“机器学习视频处理系统和方法”的发明专利申请201880056090.2的分案申请。
背景技术
本公开整体涉及视频处理,并且更具体地讲,涉及至少部分地基于机器学习技术来处理(例如,编码、解码、分析和/或滤波)图像数据。
该部分旨在向读者介绍可与下面描述和/或要求保护的本技术的各个方面相关的领域的各个方面。该讨论被认为有助于为读者提供背景信息以便于更好地理解本公开的各个方面。相应地,应当理解,应就此而论阅读这些陈述,而不是作为对现有技术的认可。
为了呈现信息的视觉表示,电子设备可利用电子显示器基于对应的图像数据来显示一个或多个图像(例如,图像帧)。由于图像数据可从另一电子设备接收并且/或者存储在电子设备中,因此可对图像数据进行编码(例如,压缩)以减小大小(例如,位数),并且因此减少用于传输和/或存储图像数据的资源(例如,传输带宽和/或存储器地址)。为了显示图像,电子设备可解码经编码图像数据并指示电子显示器基于经解码图像数据来调节其显示器像素的亮度。
在一些情况下,可至少部分地基于预测技术来对图像数据进行编码。例如,可基于预测样本来对对应于图像帧的一部分(例如,块)的图像数据进行编码,该预测样本指示对图像帧的至少该部分的预测。由于图像帧通常逐渐变化,因此可例如使用帧内预测技术基于来自相同图像帧的图像数据来确定预测样本。另外,由于连续图像帧通常相似,因此可例如使用帧间预测技术基于来自即时先前图像帧和/或即时后续图像帧的图像数据来确定预测样本。
在任何情况下,可基于编码参数来确定预测样本,例如,这些编码参数指示是使用帧间预测技术还是帧内预测技术。改变编码参数可导致不同的预测样本,并且因此导致不同的所得的经编码图像数据。因此,在一些情况下,改变编码参数可影响编码效率(例如,编码图像数据的大小和/或编码吞吐量)、解码效率(例如,解码吞吐量)和/或当对应的经解码图像数据用于显示图像时期望产生的视频质量。
发明内容
下面阐述本文所公开的某些实施方案的概要。应当理解,呈现这些方面仅仅是为了向读者提供这些特定实施方案的简明概要,并且这些方面并非旨在限制本公开的范围。实际上,本公开可涵盖下面可没有阐述的多个方面。
本公开整体涉及例如通过提高编码效率、解码效率和/或当经解码图像数据用于在电子显示器上显示图像(例如,图像帧)时所感知到的视频质量,来改进视频编码和/或视频解码。为了便于减少资源使用,可对图像数据进行编码(例如,压缩)以减小大小。例如,视频编码流水线可至少部分地基于预测技术诸如帧间预测技术和/或帧内预测技术来对源图像数据进行编码。
为了预测编码源图像数据,可通过至少部分地基于编码参数的操作来确定指示对源图像数据的预测的预测样本(例如,预测因子)。基于该预测样本,可确定预测残差,该预测残差指示预测样本和源图像数据之间的差值。预测残差与被实现以确定该预测残差的编码参数一起被转码为经编码图像数据。
在一些情况下,实现不同的编码参数可导致不同的预测样本,并且因此导致源图像数据与这些预测样本之间的匹配程度不同。此外,在一些情况下,匹配程度可影响编码效率(例如,经编码图像数据大小、编码功率消耗和/或编码吞吐量)、解码效率(例如,解码功率消耗和/或解码吞吐量)和/或当经解码图像数据用于显示图像帧时所感知到的图像质量。
因此,本公开提供了改进视频编码和/或视频解码的技术,例如,通过提高预测样本期望匹配对应的源图像数据的程度。为了便于改进视频编码和/或视频解码,在一些实施方案中,可实现机器学习块(例如,在视频编码流水线和/或视频解码流水线中)以利用机器学习技术,诸如卷积神经网络(CNN)技术。当被启用时,机器学习块可分析输入图像数据(例如,源图像数据、经重构图像数据、经解码图像数据和/或经编码图像数据)以确定对应图像的期望特性,诸如纹理、渐变、颜色、动态范围、锐度、运动和/或边缘,并且例如经由一个或多个特征度量来指示这些期望特性。
为了便于识别图像的特性,可训练机器学习块以确定机器学习参数。例如,当机器学习块实现卷积神经网络(CNN)技术时,机器学习参数可指示卷积层的数量、层之间的互连和/或对应于每个卷积层的权重(例如系数)。在训练之后,机器学习块可提供用于自适应地调节编码参数和/或解码参数的内容分析。
例如,当将实现预测技术时,视频编码流水线可通过降采样(例如,源图像数据和/或预测残差)、应用正变换和正量化、应用反量化和反变换,以及向上缩放来确定预测样本。在一些实施方案中,视频编码流水线可基于例如指示目标长径比、目标滤波器(例如,插值)加权和/或目标滤波器模式的编码参数来向下缩放和/或向上缩放。通过利用由机器学习块提供的内容分析,视频编码流水线可以依赖于内容的方式自适应地调节用于确定预测样本的编码参数,这至少在一些情况下可便于例如通过提高预测样本与源图像数据之间的匹配程度而改进视频处理(例如,编码和/或解码)。
为了进一步改善视频质量,可至少部分地基于滤波器参数来滤波经解码图像数据,以降低当用于显示对应的图像时显示可感知视觉伪影的可能性。在一些实施方案中,可通过利用机器学习技术,例如使用机器学习块来消除滤波器参数的手动(例如,试误法)调谐,来确定滤波器参数。通过利用机器学习块,可以依赖于内容的方式自适应地调节将应用于经解码图像数据的滤波器参数,这至少在一些情况下可便于例如通过降低显示可感知视觉伪影的可能性而改善所感知到的视频质量。
附加地或另选地,可通过利用机器学习技术来改进对期望视频质量的确定。在一些实施方案中,可使用例如在视频编码流水线和/或视频解码流水线中实现的机器学习块来确定期望视频质量。为了便于确定期望视频质量,在一些实施方案中,可基于训练图像数据和对应的实际视频质量来训练机器学习块。例如,可通过调节机器学习块的机器学习参数来对机器学习块进行训练,使得基于特征度量确定的期望视频质量与实际视频质量相匹配。
至少部分地基于期望视频质量,在一些实施方案中,可自适应地调节编码参数和/或滤波器参数以便于改善当经解码图像数据用于显示对应的图像时所感知到的视频质量。此外,通过实现机器学习块,可自适应地调节编码参数和/或解码参数以便于提高编码效率和/或解码效率。这样,通过实现(例如,训练和操作)一个或多个机器学习块以依赖于内容的方式自适应地调节图像数据处理,本公开所述的技术可便于改进视频处理(例如,编码、解码、分析和/或滤波)。
附图说明
在阅读以下详细描述并参考附图时可更好地理解本公开的各个方面,在附图中:
图1是根据本公开的实施方案的电子设备的框图;
图2是根据本公开的实施方案的图1的电子设备的一个示例;
图3是根据本公开的实施方案的图1的电子设备的一个示例;
图4是根据本公开的实施方案的图1的电子设备的一个示例;
图5是根据本公开的实施方案的图1的电子设备的一个示例;
图6是根据本公开的实施方案的包括机器学习块的视频编码流水线的框图;
图7是根据本公开的实施方案的图6的机器学习块的示例的框图;
图8是根据本公开的实施方案的用于操作图6的视频编码流水线的过程的流程图;
图9是根据本公开的实施方案的用于在图6的视频编码流水线中训练机器学习块的过程的流程图;
图10是根据本公开的实施方案的用于使用图6的视频编码流水线来处理图像数据的过程的流程图;
图11是根据本公开的实施方案的用于使用图6的视频编码流水线来确定预测样本的过程的流程图;
图12是根据本公开的实施方案的包括机器学习块的视频解码流水线的框图;
图13是根据本公开的实施方案的用于操作图12的视频解码流水线的过程的流程图;
图14是根据本公开的实施方案的包括机器学习块的视频质量流水线的框图;以及
图15是根据本公开的实施方案的用于操作图14的视频质量流水线的过程的流程图。
具体实施方式
下面将描述本公开的一个或多个具体实施方案。这些描述的实施方案仅为目前所公开的技术的示例。另外,试图要提供这些实施方案的简要描述,在本说明书中可没有描述实际具体实施的所有特征。应当了解,在任何此类实际具体实施的开发中,如在任何工程或设计项目中,必须要作出特定于许多具体实施的决策以实现开发者的具体目标,诸如符合可从一个具体实施变化为另一具体实施的与系统相关和与商业相关的约束。而且,应当了解,这样的开发努力可为复杂且耗时的,但对于从本公开中受益的普通技术人员而言,这样的开发努力可仍然是设计、制备和制造的常规任务。
当介绍本公开的各种实施方案的元件时,冠词“一个/一种”和“该/所述”旨在意指存在元件中的一个或多个。术语“包括”、“包含”和“具有”旨在被包括在内,并且意指可存在除列出的元件之外的附加元件。附加地,应当理解,参考本公开的“一个实施方案”或“实施方案”并非旨在被解释为排除也结合所引述的特征的附加实施方案的存在。
为了便于呈现信息的视觉表示,电子显示器可基于对应的图像数据来显示图像(例如,图像帧或图片),这些图像数据指示该图像的目标特性(例如,亮度)。例如,通过将对应的图像数据传送至电子显示器,电子设备可指示电子显示器显示图像。因此,在一些情况下,图像数据可存储在电子设备中,例如存储在存储器中。另外,在一些情况下,图像数据可例如由另一电子设备诸如数字相机在外部生成。因此,图像数据可例如经由通信网络或通信总线传输至电子设备。
为了便于减少资源使用,可对图像数据进行编码(例如,压缩)以减小大小(例如,位数),这例如可便于减少传输带宽使用和/或存储器存储使用。在一些实施方案中,视频编码流水线可至少部分地基于预测技术来对源(例如,输入)图像数据进行编码。例如,由于图像帧通常逐渐变化,视频编码流水线可利用帧内预测技术基于来自相同图像帧的图像数据来对源图像数据进行编码。另外,由于连续图像帧通常相似,因此视频编码流水线可利用帧间预测技术基于来自一个或多个先前图像帧和/或一个或多个后续图像帧的图像数据来对源图像数据进行编码。
为了便于编码,在一些实施方案中,可将图像分成一个或多个编码组。如本文所用,“编码组”旨在描述来自被编码为单元的图像的样本(例如,块),并且因此可以是编码树单元(CTU)、编码单元(CU)、宏块、条带、图片、图片组(GOP)等。这样,可通过相继编码对应于图像中的每个编码组的源图像数据来对图像进行编码。
为了对编码组进行预测编码,可确定指示对对应于该编码组的源图像数据的预测的预测样本(例如,预测因子)。例如,利用帧内预测技术,视频编码流水线可基于来自相同图像的图像数据来确定编码组的预测样本。另外,利用帧间预测技术,视频编码流水线可基于来自一个或多个不同的(例如,先前编码的)图像的图像数据来确定编码组的预测样本。
尽管在概念上相似,但每种预测技术可包括一种或多种预测模式,这些模式各自与不同的编码参数相关联。如此,不同的预测模式可导致不同的预测样本。例如,通过实现与第一帧内预测模式(例如,垂直预测模式)相关联的编码参数,视频编码流水线可产生预测样本,其中每个列被设定为等于对应于在该列正上方的像素的图像数据。另一方面,通过实现与第二帧内预测模式(例如,DC预测模式)相关联的编码参数,视频编码流水线可产生预测样本,该预测样本被设定为等于对应于相邻(例如,邻近)像素的图像数据的平均值。另外,通过实现与第一帧间预测模式(例如,第一参考索引和第一运动矢量)相关联的编码参数,视频编码流水线可基于第一图像帧内的第一位置处的参考样本来产生预测样本。另一方面,通过实现与第二帧间预测模式(例如,第二参考索引和第二运动矢量)相关联的编码参数,视频编码流水线可基于第二图像帧内的第二位置处的参考样本来产生预测样本。
为了便于确定预测样本,在一些实施方案中,可将编码组分成一个或多个预测组。如本文所用,“预测组”旨在描述来自被预测为单元的编码组的样本,并且因此可以是预测单元(PU)等。因此,可通过至少部分地基于对应的预测模式来预测编码组中的每个预测组,从而确定对应于该编码组的预测样本。在一些实施方案中,编码组可包括单个预测单元。在其他实施方案中,编码组可分成多个预测单元。
在任何情况下,可至少部分地基于对应的预测样本来对源图像数据(例如,编码组)进行预测编码。例如,基于预测样本和源图像数据之间的差值,视频编码流水线可确定预测残差。预测残差与被实现以确定该预测残差的编码参数一起可被转码并输出为经编码图像数据。
至少部分地基于该经编码图像数据,视频解码流水线可例如通过实现解码参数(例如,基于经编码图像数据中指示的编码参数来确定的)、处理(例如,FTQ/ITQ)预测残差并应用经处理的预测残差,来确定对应的经解码图像数据。因此,为了便于对后续源图像数据进行编码,视频编码流水线可镜像视频解码流水线的期望操作以确定经重构图像数据,该经重构图像数据指示期望由视频解码流水线确定的对应的经解码图像数据。例如,通过执行正变换和量化(FTQ),之后执行反量化和变换(ITQ),视频编码流水线可处理对应于编码组的预测残差。
为了便于确定经重构图像数据,在一些实施方案中,可将图像分成一个或多个变换组。如本文所用,“变换组”旨在描述来自被变换(例如,正变换和/或反变换)为单元的图像的样本,并且因此可以是变换单元(TU)等。这样,可通过处理预测残差来确定对应于编码组的经重构图像数据,该预测残差导致编码组涵盖每个变换组。在一些实施方案中,编码组可包括单个变换组或多个变换组。在其他实施方案中,变换组可跨多个编码组。
如上所述,预测样本以及因此经编码图像数据可至少部分地基于被实现以生成该经编码图像数据的编码参数而变化。具体地讲,实现不同的编码参数可导致不同的预测样本的确定,从而导致编码组与每个预测样本之间的匹配程度不同。在一些情况下,匹配程度可影响编码效率和/或解码效率。例如,不同匹配程度可导致不同的经编码图像数据大小(例如,位数)、编码功率消耗、编码吞吐量(例如,帧速率和/或位率)、解码功率消耗和/或解码功率吞吐量。此外,当经解码图像数据用于显示对应的图像时,不同的匹配程度可导致不同的视频(例如,图像)质量。
因此,本公开提供了便于例如通过提高预测样本期望匹配对应的源图像数据的程度而改进视频处理(例如,编码、解码和/或滤波)的技术。为了便于改进视频编码,在一些实施方案中,视频编码流水线可包括机器学习块,该机器学习块实现机器学习技术诸如卷积神经网络(CNN)技术。当在视频编码流水线中被启用时,机器学习块可分析输入(例如,源)图像数据以确定对应图像的期望特性,诸如纹理、渐变、颜色、动态范围、锐度、运动和/或边缘,例如,通过相对于相同图像在空间上进行分析和/或相对于其他图像在时间上进行分析。另外,机器学习块可例如经由一个或多个特征度量来指示期望特性,这些特征度量指示实际存在特定特性的可能性。
为了便于识别图像的特性,可训练机器学习块以确定和实现机器学习参数。例如,当机器学习块实现卷积神经网络(CNN)技术时,机器学习参数可指示卷积层的数量、层之间的相互连接和/或对应于每个卷积层的卷积权重(例如,系数)。在一些实施方案中,可通过至少部分地基于通过处理(例如,分析)例如具有已知实际特性的训练图像数据所识别的期望特性(例如,经由一个或多个特征度量指示)而递归地调节机器学习参数来训练机器学习块。
在训练之后,机器学习块可使视频编码流水线至少部分地基于由机器学习块提供的内容分析来确定编码参数。例如,当将实现预测技术并且启用了机器学习块时,视频编码流水线可通过降采样(例如,源图像数据和/或预测残差)、应用正变换和正量化、应用反量化和反变换,以及向上缩放来确定预测样本。在一些实施方案中,视频编码流水线可基于例如指示目标长径比、目标滤波器(例如,插值)加权和/或目标滤波器模式的编码参数来向下缩放和/或向上缩放。通过利用由机器学习块确定的特征度量,视频编码流水线可自适应地调节用于确定预测样本的编码参数。
换句话讲,利用机器学习块,视频编码流水线可以依赖于内容的方式确定编码参数,这至少在一些情况下可便于提高预测样本与输入图像数据(例如,编码组)之间的匹配程度。如上所述,在一些实施方案中,提高匹配程度可便于例如通过减少经编码图像数据中包括的指示预测残差的位数而提高编码效率。此外,在一些实施方案中,提高匹配程度可便于改善当对应的经解码图像数据用于在电子显示器上显示图像时期望产生的视频质量。
为了便于进一步改善视频质量,经解码图像数据可在用于显示对应图像之前进行滤波,例如以降低图像被显示具有可感知的振铃、块、彩色条纹和/或其他视觉伪影的可能性。在一些实施方案中,可通过利用机器学习技术,例如使用机器学习块来消除滤波器参数的手动(例如,试误法)调谐,来确定滤波器参数。如上所述,机器学习块可分析图像数据以确定对应图像的期望特性。因此,通过利用机器学习块,可以依赖于内容的方式自适应地调节将应用于经解码图像数据的滤波器参数,这至少在一些情况下可便于通过降低显示可感知视觉伪影的可能性而改善所感知到的视频质量。
附加地或另选地,可通过利用机器学习技术来改进对期望视频质量的确定。在一些实施方案中,可使用例如在视频编码流水线和/或视频解码流水线中实现的机器学习块来确定期望视频质量。为了便于确定期望视频质量,在一些实施方案中,可基于训练图像数据和对应的实际视频质量来训练机器学习块。例如,可通过调节机器学习块的机器学习参数来对机器学习块进行训练,使得由机器学习块指示的期望视频质量与实际视频质量相匹配。
如上所述,所感知到的视频质量也可至少部分地基于用于确定预测样本的编码参数而变化。因此,为了便于改善所感知到的视频质量,在视频编码流水线中实现机器学习块可便于至少部分地基于期望基于对应的经解码图像数据的显示而产生的视频质量来自适应地调节编码参数。此外,为了便于提高编码效率和/或解码效率,在视频编码流水线中实现机器学习块可便于至少部分地基于经编码图像数据的期望大小、期望编码功率消耗、期望编码吞吐量、期望解码功率消耗和/或期望解码吞吐量来自适应地调节编码参数。这样,如将在下文更详细描述的,通过一个或多个机器学习块以依赖于内容的方式自适应地调节图像数据处理,本公开所述的技术可便于改进视频处理(例如,编码、解码、滤波和/或分析)。
为了帮助说明,图1示出了可利用电子显示器12基于图像数据来显示图像的电子设备10和/或捕获图像数据的图像传感器13。如将在下文更详细描述的,电子设备10可以是任何合适的计算设备,诸如手持式计算设备、平板计算设备、笔记本电脑等。因此,应当指出的是,图1仅为特定具体实施的一个示例,并且旨在示出可存在于电子设备10中的部件的类型。
在所描绘的实施方案中,电子设备10包括电子显示器12、图像传感器13、一个或多个输入设备14、一个或多个输入/输出(I/O)端口16、具有一个或多个处理器或处理器内核的处理器内核复合体18、局部存储器20、主存储器存储设备22、网络接口24、电源26。图1中描述的各种部件可包括硬件元件(例如,电路)、软件元件(例如,存储指令的有形非暂态计算机可读介质)或硬件元件和软件元件的组合。应当指出的是,各种描绘的部件可被组合成较少部件或分离成附加部件。例如,本地存储器20和主存储器存储设备22可被包括在单个部件中。
在任何情况下,如所描绘的,处理器内核复合体18与局部存储器20和主存储器存储设备22可操作地耦接。在一些实施方案中,局部存储器20和/或主存储器存储设备22可以是有形非暂态计算机可读介质,其存储可由处理器内核复合体18执行的指令和/或由处理器内核复合体18处理的数据。例如,本地存储器20可包括随机存取存储器(RAM),并且主存储器存储设备22可包括只读存储器(ROM)、可重写非易失性存储器(诸如闪存存储器、硬盘驱动器、光盘等)。
在一些实施方案中,处理器内核复合体18可执行存储在局部存储器20和/或主存储器存储设备22中的指令以执行操作,诸如编码由图像传感器13捕获的图像数据和/或解码图像数据以在电子显示器12上显示。如此,处理器内核复合体18可包括一个或多个通用微处理器、一个或多个特定于应用的处理器(ASIC)、一个或多个现场可编程逻辑阵列(FPGA)或它们的任何组合。
另外,如所描绘的,处理器内核复合体18与网络接口24可操作地耦接。使用网络接口24,电子设备10可通信地耦接到计算网络和/或其他电子设备。例如,网络接口24可将电子设备10连接到个人局域网(PAN)(诸如蓝牙网络)、局域网(LAN)(诸如802.11x Wi-Fi网络)和/或广域网(WAN)(诸如4G或LTE蜂窝网络)。这样,网络接口24以使电子设备10能够将经编码图像数据传输到网络和/或从网络接收经编码图像数据,以在电子显示器12上显示。
此外,如所描绘的,处理器内核复合体18与I/O端口16可操作地耦接,这可使电子设备10能够与各种其他电子设备进行交互。例如,便携式存储设备可连接到I/O端口16,从而使处理器内核复合体18能够与便携式存储设备传送数据。这样,I/O端口16可使电子设备10能够将经编码图像数据输出到便携式存储设备和/或从便携式存储设备处接收编码图像数据。
如所描绘的,处理器内核复合体18还可操作地耦接到电源26,该电源可以向电子设备10中的各种部件提供电力。电源26可包括任何合适的能量源,诸如可再充电的锂聚合物(Li-poly)电池和/或交流电(AC)电源转换器。此外,如所描绘的,处理器内核复合体18与输入设备14可操作地耦接,该输入设备可使用户能够与电子设备10进行交互。在一些实施方案,输入设备14可包括按钮、键盘、鼠标、触控板等。附加地或另选地,电子显示器12可包括触摸部件,这些触摸部件通过检测物体触摸其屏幕(例如,电子显示器12的表面)的发生和/或位置来启用到电子设备10的用户输入。
除了启用用户输入之外,电子显示器12可通过显示图像帧来呈现信息的视觉表示,诸如操作系统的图形用户界面(GUI)、应用界面、静止图像或视频内容。如上所述,电子显示器12可基于图像数据来显示图像帧。在一些实施方案中,可例如经由网络接口24和/或I/O端口16从另一电子设备10接收图像数据。附加地或另选地,可由电子设备10使用图像传感器13生成来图像数据。在一些实施方案中,图像传感器13可将邻近物理特征的视觉表示数字地捕获为图像数据。
如上所述,可例如由生成图像数据的电子设备10对图像数据进行编码(例如,压缩)以减少用于存储的存储器地址的数量和/或减小用于传输图像数据的带宽。一旦被生成或被接收,经编码图像数据可存储在局部存储器20和/或主存储器存储设备22中。因此,为了显示图像帧,处理器内核复合体18可从存储器提取经编码图像数据,解码经编码图像数据,并且指示电子显示器12显示基于经解码图像数据的图像帧。
如上所述,电子设备10可为任何合适的电子设备。为了便于说明,合适的电子设备10,尤其是手持设备10A的一个示例示于图2中。在一些实施方案中,手持设备10A可以是便携式电话、媒体播放器、个人数据管理器、手持式游戏平台等等。例如,手持设备10A可以是智能电话,诸如可购自Apple inc.的任何型号。
如图所示,手持设备10A包括壳体28(例如外壳)。在一些实施方案中,壳体28可保护内部部件免受物理性损坏,并且/或者屏蔽内部部件使其免受电磁干扰。另外,如图所示,壳体28围绕着电子显示器12。在所描绘的实施方案中,电子显示器12显示具有图标32阵列的图形用户界面(GUI)30。举例来讲,当通过输入设备14或电子显示器12的触摸感测部件选择图标时,可以启动应用程序。
还有,如所描绘的,输入设备14通过壳体28打开。如上所述,输入设备14可使得用户能够与手持设备10A进行交互。例如,输入设备14可使得用户能够激活或去激活手持设备10A、将用户界面导航至home屏幕、将用户界面导航到用户可配置的应用屏幕、激活语音识别特征结构、提供音量控制和/或在震动和响铃模式之间切换。如所描绘的,I/O端口16也通过壳体28打开。在一些实施方案中,I/O端口16可包括例如连接至外部设备的音频插孔。
为了进一步说明,合适的电子设备10,尤其是平板设备10B的另一示例示于图3中。出于例示目的,平板设备10B可为可购自Apple inc.的任何型号。在图4中示出了合适的电子设备10的另一示例,其具体为计算机10C。为了示意性的目的,计算机10C可为可购自Apple Inc.的任何/>或/>型号。合适的电子设备10,尤其是手表10D的另一个示例示于图5中。为了示意性的目的,手表10D可为可购自Apple Inc.的任何Apple/>型号。如图所示,平板设备10B、计算机10C和手表10D各自还包括电子显示器12、输入设备14、I/O端口16和壳体28。
如上所述,可对源(例如,未压缩的或输入的)图像数据进行编码(例如,压缩)以减少资源使用。在一些实施方案中,视频编码流水线可至少部分地基于预测技术诸如帧间预测技术和/或帧内预测技术来对图像数据进行编码。为了便于改进视频编码和/或视频解码,在一些实施方案中,视频编码流水线可利用机器学习技术,诸如卷积神经网络(CNN)技术。
为了帮助说明,图6示出了包括可实现机器学习技术的机器学习块34的视频编码流水线32的示例。在操作中,视频编码流水线32可接收源图像数据36并输出经编码图像数据38。在一些实施方案中,视频编码流水线32的操作可通常由控制器40来控制。尽管被描绘为单个控制器40,但在其他实施方案中,可实现一个或多个单独的控制器40来控制视频编码流水线32的操作。
为了便于控制操作,控制器40可包括控制器处理器42和控制器存储器44。在一些实施方案中,控制器处理器42可执行存储在控制器存储器44中的指令和/或处理数据。在其他实施方案中,控制器处理器42可经由电路诸如一个或多个逻辑门与指令进行硬连线。另外,在一些实施方案中,控制处理器42可包括在(例如,电子显示器中的)处理器内核复合体18和/或单独的处理电路中,并且控制存储器44可包括在(例如,电子显示器12中的)局部存储器20、主存储器存储设备22和/或单独的有形非暂态计算机可读介质中。
如上所述,视频编码流水线32可接收来自图像数据源的源图像数据36。在一些实施方案中,图像数据源可包括图像传感器13和/或生成或存储未压缩的(例如,源)图像数据的任何其他合适的电子设备。另外,视频编码流水线32可将经编码图像数据38输出到输出设备,例如用于存储和/或传输。因此,在一些实施方案中,输出设备可包括局部存储器20、主存储器存储设备22、网络接口24、I/O端口16、控制器存储器44等。
如上所述,视频编码流水线32可对源图像数据36进行操作以生成经编码图像数据38。为了简化讨论,由视频编码流水线32执行的功能(例如,操作)被划分在各个处理块(例如,电路或模块)之间。例如,在所描绘的实施方案中,视频编码流水线32包括机器学习块34、帧间预测块46、帧内预测块48、模式决策块50、重构块52、滤波块54和转码器块56。
应当理解,所描绘的视频编码流水线32仅仅旨在说明而非限制。例如,在一些实施方案中,视频编码流水线32可包括附加块,诸如二进制块。另外,在一些实施方案中,由一个处理块执行的功能可被划分在多个处理块之间。例如,可使用色度重构块和亮度重构块来实现由重构块52执行的功能。
为了便于生成经编码图像数据38,处理块中的一者或多者可以是流水线式的。例如,在所描绘的实施方案中,帧间预测块46、帧内预测块48、模式决策块50、重构块52、滤波块54和转码器块56被组织在主编码流水线45中。为了便于提高操作效率,在其他实施方案中,可使用多个并行数据处理流水线来实现视频编码流水线32。例如,转码器块56可反而在与主编码流水线45分开的转码器流水线中实现。
为了对源图像数据36进行编码,视频编码流水线32可确定并实现编码参数以确定对应的预测残差。具体地讲,视频编码流水线32可例如使用帧间预测块46、帧内预测块48、模式决策块50和/或重构块52来对源图像数据36进行预测编码。更具体地讲,帧内预测块48可确定一个或多个候选帧内预测模式并实现相关联的帧内参数60以确定对应的预测样本。换句话讲,帧内参数60可指示操作参数,这些操作参数由帧内预测块48实现以至少部分地基于对应于与源图像数据36相同的图像的图像数据(例如,经重构图像数据)来确定预测样本。
另外,帧间预测块48可确定一个或多个候选帧间预测模式(例如,运动矢量和参考索引)并实现相关联的帧间参数58以确定对应的预测样本。换句话讲,帧间参数58可指示操作参数,这些操作参数由帧间预测块46实现以至少部分地基于对应于不同图像的图像数据(例如,经重构图像数据)来确定预测样本。此外,模式决策块50可例如至少部分地基于对应的速率失真度量来从候选预测模式选择一个或多个预测模式或者选择跳过模式。在一些实施方案中,模式决策块50可至少部分地基于由模式决策参数61指示的加权因子(例如,λ)来确定速率失真度量。
当选择了预测模式时,重构块52可确定预测残差,该预测残差指示源图像数据36和对应的预测样本之间的差值。为了便于对后续源图像数据36进行预测编码,重构块52可至少部分地基于重构参数62来确定经重构图像数据,该经重构图像数据指示期望的经解码图像数据。例如,重构块52可对预测残差执行正变换和量化(FTQ),执行反变换和量化(ITQ)以确定经重构预测残差,并将经重构预测残差添加到预测样本以确定经重构图像数据。在一些实施方案中,重构参数62可指示由重构块52实现的量化系数以确定经重构图像数据和/或对应图像中变换组的组织。
为了便于对经编码图像数据38进行解码,可在经编码图像数据38中指示由视频编码流水线32实现的编码参数和预测残差。例如,当选择了帧间预测模式时,此类编码参数可包括帧间参数58,当选择了帧内预测模式时,此类编码参数可包括帧内参数60,并且/或者当选择了预测模式时,此类编码参数可包括重构参数62。
如上所述,为了便于改善视频质量,经解码图像数据可在用于显示图像之前进行滤波。在一些实施方案中,滤波块54可确定当应用于经解码图像数据时期望降低可感知视觉伪影的可能性的滤波器参数74。例如,滤波块54可确定期望降低产生可感知块伪影的可能性的滤波器参数74。附加地或另选地,滤波块54可确定期望降低产生其他类型的可感知视觉伪影(诸如彩色条纹伪影和/或振铃伪影)的可能性的滤波器参数74。在一些实施方案中,可并行地确定期望降低产生不同类型的可感知视觉伪影的可能性的滤波器参数74。
当在视频编码流水线32中实现滤波块54时,滤波器参数74可与经编码图像数据38一起传送。如将在下文更详细描述的,在一些实施方案中,滤波块54可附加地或另选地在解码侧实现,例如在视频解码流水线中实现。换句话讲,在一些实施方案中,滤波块54可在环路中实现,以使得滤波过程的结果能够例如通过视频编码流水线32或视频解码流水线用于后续处理中。附加地或另选地,滤波块54可在环路外实现,例如作为预处理块(例如,在视频编码流水线32之前)或后处理块(例如,在视频解码流水线之后)。当实现为后处理块时,在一些实施方案中,视频解码可相对独立于滤波过程而执行,例如使得滤波过程的结果不用于视频解码流水线中。
为了便于进一步提高编码效率,转码器块56可至少部分地基于转码器参数76来熵编码预测残差、编码参数和/或滤波器参数74。在一些实施方案中,可使用符号(例如,语法元素)来指示预测残差、编码参数和/或滤波器参数74。例如,第一语法元素可指示对应于所选择的预测模式的预测参数(例如,帧间参数58或帧内参数60),第二语法元素可指示由重构块52实现的量化系数,第三语法元素可指示滤波器参数74,第四语法元素可指示预测残差。
为了便于熵编码,可例如经由二进制块来对符号进行二进制处理。在一些实施方案中,可通过将符号映射到包括一个或多个二进制数码(例如,“0”或“1”)的对应二进制表示来对符号进行二进制处理。另外,在一些实施方案中,二进制块可使用指数哥伦布编码、固定长度编码、截断一元编码和/或截断莱斯编码来生成二进制表示。通过对符号进行二进制处理,二进制块可生成二进制数码流。
转码器块56然后可将该二进制数码流转化为具有由分数个位表示的一个或多个符号的位流。在一些实施方案中,转码器块56可使用算术编码技术诸如上下文自适应二进制算术编码(CABAC)和/或上下文自适应可变长度编码(CAVLC)将来自二进制数码流的二进制数码压缩成位。为了便于进行算术编码,转码器参数76可包括上下文模型,该上下文模型指示二进制数码是“1”或“0”的概率。基于该二进制数码的概率,转码器块56可将范围分成两个子范围。转码器块56然后可确定经编码的位,使得该位落入两个子范围中的一个范围内以选择该位的实际值。这样,多个位可由单个位表示,从而提高编码效率(例如,源图像数据的大小的减小)。在进行熵编码之后,转码器块56可输出经编码图像数据38。
在一些实施方案中,调节编码参数、滤波器参数74和/或转码器参数76可影响视频编码流水线32的编码效率、解码效率和/或对应的经解码图像数据的期望视频质量。例如,改变包括在编码参数中的预测参数(例如,帧内参数60和/或帧间参数58)可导致源图像数据36和对应预测样本之间的匹配程度不同。如上所述,不同的匹配程度可影响经编码图像数据38的大小、视频编码流水线32的吞吐量、归因于视频编码流水线32的功率消耗、视频解码流水线的吞吐量、归因于视频解码流水线的功率消耗和/或当对应的经解码图像数据用于显示图像时的视频质量。
为了便于改进视频编码和/或视频解码,视频编码流水线32可利用由机器学习块34实现的机器学习技术。在一些实施方案中,机器学习块34可物理地实现在电子设备10中。附加地或另选地,机器学习块34可远程地实现例如在另一电子设备或云中。在此类实施方案中,机器学习块34可例如经由网络接口24通信地耦接到电子设备10,并且因此通信地耦接到主编码流水线45。
机器学习块34可实现机器学习参数64以上下文分析源图像数据36,例如,与先前处理的(例如,分析的或经编码的)图像数据进行比较以确定对应图像的期望特性。至少部分地基于这些特性,视频编码流水线32可以依赖于内容的方式自适应地调节编码参数,这至少在一些情况下可提高编码效率、解码效率和/或所得的经解码图像数据的视频质量。为了便于上下文分析的源图像数据36,在一些实施方案中,机器学习块34可实现卷积神经网络(CNN)技术。
为了帮助说明,图7示出了可实现为机器学习块34的卷积神经网络块34A的示例。一般地讲,卷积神经网络块34A包括一个或多个卷积层66,每个卷积层均实现卷积权重68并经由层互连71连接。例如,在所描绘的实施方案中,卷积神经网络块34A包括实现第一卷积权重68A的第一卷积层66A和实现第二卷积权重68B的第二卷积层66B等。另外,第一卷积层66A的输出可经由一个或多个层互连71连接到第二卷积层66B的输入。
应当理解,所描绘的卷积神经网络块34A仅仅旨在说明而非限制。具体地讲,可通过调节卷积层66的数量、相关联的卷积权重68和/或层互连71的配置(例如,数量和/或互连节点)来调节卷积神经网络块34A的机器学习参数64。换句话讲,卷积神经网络块34A可包括任何合适数量的卷积层66,例如一个卷积层66、两个卷积层66,或者更多。另外,在一些实施方案中,卷积神经网络块34A可包括附加层,诸如一个或多个池化层(未描绘)。
在所描绘的示例中,卷积神经网络块34A可处理输入图像数据70以便于确定对应图像的期望特性。在一些实施方案中,输入图像数据70可包括源图像数据36、经编码图像数据38、经重构图像数据和/或经解码图像数据。为了便于识别特性,卷积神经网络块34A可确定一个或多个特征度量72,例如,指示对应图像中存在特定特性(例如,特征)的可能性的特征度量。
在一些实施方案中,每个卷积层66可输出一个或多个特征度量72。例如,第一卷积层66A可至少部分地基于第一卷积权重68A来处理输入图像数据70以确定第一特征度量72,并且经由对应的层互连71将第一特征度量72传送至第二卷积层66B。另外,在一些实施方案中,连续卷积层66可确定具有不同提取度的特征度量72。这样,后续(例如下游)卷积层66可利用对应图像的由先前(例如上游)卷积层66确定的特性,例如以确定不同提取水平上的特性。
例如,第一卷积层66A可确定指示对应图像中存在弯曲边缘的可能性的第一特征度量72。通过至少部分地基于第二卷积权重68B来处理第一特征度量72和/或输入图像数据70,第二卷积层66B可利用存在弯曲边缘的可能性来确定第二特征度量72,该第二特征度量指示对应图像中存在圆的可能性。以类似的方式,后续(例如下游)卷积层66可利用由先前(例如上游)卷积层66确定的特性,以便于确定对应图像的更复杂特性。例如,第N卷积层66N可至少部分地基于第N卷积权重68N来处理由先前卷积层66和/或输入图像数据70确定的特征度量72,以确定第N特征度量72,该第N特征度量指示对应图像中存在篮球的可能性。
如将在下文更详细描述的,在一些实施方案中,卷积神经网络块34A可另选地或附加地处理其他类型的输入数据并且/或者生成其他类型的输出数据。例如,卷积神经网络块34A可至少部分地基于源图像数据36、先前确定的经编码图像数据38和/或先前确定的经重构图像数据来直接确定预测样本。另外,卷积神经网络块34A可通过处理使用基础预测技术确定的预测残差来确定降低分辨率预测残差。在任何情况下,当机器学习块34(例如,卷积神经网络块34A)输出指示期望图像特性的特征度量72中的一者或多者时,视频编码流水线32可至少部分地基于特征度量72中的一者或多者来自适应地调节编码参数。
例如,返回图6,视频编码流水线32可至少部分地基于特征度量72来调节被实现以确定对应的预测样本的帧间参数58和/或帧内参数60。在一些实施方案中,帧间参数58可指示是通过实现基础帧间预测技术(例如,运动估计)还是通过使用机器学习块34处理(例如,向下缩放、FTQ、ITQ和向上缩放)对应于不同图像的图像数据来确定预测样本。另外,在一些实施方案中,帧内参数60可指示是通过实现基础帧内预测技术(例如,图像数据插值技术)还是通过使用机器学习块34处理(例如,向下缩放、FTQ、ITQ和向上缩放)对应于相同图像的图像数据来确定预测样本。换句话讲,在一些实施方案中,可选择性地启用和禁用机器学习块34。
当机器学习块34被启用时,帧间参数58和/或帧内参数60可指示用于处理图像数据的编码参数。例如,帧间参数58和/或帧内参数60可指示用于向下缩放和/或向上缩放图像数据的目标长径比、目标滤波器权重(例如,系数)和/或目标滤波器模式(例如,算法)。因此,通过至少部分地基于由机器学习块34确定的特征度量72来调节帧间参数58和/或帧内参数60,视频编码流水线32可以依赖于内容的方式自适应地调节对预测样本的确定,相比于基础预测技术,这至少在一些情况下可便于改进编码和/或解码。
附加地或另选地,视频编码流水线32可至少部分地基于由机器学习块34确定的特征度量72来调节重构参数62。在一些实施方案中,重构参数62可指示是实现基础量化系数还是实现至少部分地基于从机器学习块34输出的特征度量72来确定的量化系数。通过至少部分地基于特征度量72来调节重构参数62,视频编码流水线32可以依赖于内容的方式自适应地调节对经重构图像数据的确定,相比于实现基础量化系数时,这至少在一些情况下可便于改进编码和/或解码。
类似地,视频编码流水线32可至少部分地基于由机器学习块64确定的特征度量72来调节模式决策参数61。在一些实施方案中,模式决策参数63可指示是实现基础模式决策加权(例如λ)还是实现至少部分地基于从机器学习块34输出的特征度量72来确定的模式决策加权。通过至少部分地基于特征度量72来调节模式决策参数63,视频编码流水线32可自适应地调节对编码参数的选择,相比于当实现基础模式决策加权时,这至少在一些情况下可便于改进编码和/或解码。
当利用机器学习技术时,视频编码流水线32可输出机器学习参数64以及经编码图像数据38,以便于确定对应的经解码图像数据。在一些实施方案中,可明确指示机器学习参数64。为了便于提高编码效率,在其他实施方案中,机器学习参数64可选自机器学习参数64的预先确定的组。因此,在此类实施方案中,视频编码流水线32可仅通过识别选择了预先确定的组中的哪一组来指示机器学习参数64。在任何情况下,通过利用机器学习技术,视频编码流水线32可以依赖于内容的方式来确定经编码图像数据38,该方式便于提高编码效率、解码效率和/或所得的对应的经解码图像数据的视频质量。
为了帮助说明,图8描述了用于操作视频编码流水线32的过程78的一个示例。一般地讲,过程78包括训练机器学习块(过程框80)、接收源图像数据(过程框82)以及至少部分地基于编码参数来处理源图像数据(过程框84)。在一些实施方案中,可基于在视频编码流水线32中形成的电路连接来实现过程78。附加地或另选地,可通过使用处理电路诸如控制器处理器42、处理器内核复合体18、图形处理单元(GPU)等执行存储在有形非暂态计算机可读介质诸如控制器存储器44、局部存储器20、主存储器存储设备22等中的指令来实现过程78。
在任何情况下,机器学习块34可被训练以实现期望便于提高编码效率、解码效率和/或所得的视频质量的机器学习参数64(过程框80)。例如,可训练机器学习块34,使得当机器学习块34分析输入图像数据70(例如,源图像数据)时,基于所得特征度量72来确定的编码参数期望改善源图像数据36与预测样本之间的匹配。附加地或另选地,可训练机器学习块34,使得当机器学习块34分析输入图像数据70(例如,经重构图像数据)时,基于所得特征度量72来确定的滤波器参数74期望降低显示可感知视觉伪影的可能性。
图9描述了用于训练机器学习块34的过程86的示例。一般地讲,过程86包括确定初始机器学习参数(过程框88)、接收训练图像数据(过程框90)、基于机器学习参数来确定特征度量(过程框92)、至少部分地基于该特征度量来调节机器学习参数(过程框94)、确定机器学习块已被训练的次数是否大于阈值(决策框96),以及当机器学习块已被训练的次数大于该阈值时在机器学习块中实现机器学习参数(过程框98)。
在一些实施方案中,可通过训练设备来实现过程86,例如通过使用处理电路诸如控制器处理器42、处理器内核复合体18、图形处理单元(GPU)等执行存储在有形非暂态计算机可读介质诸如控制器存储器44、局部存储器20、主存储器存储设备22等中的指令。此外,在一些实施方案中,过程86可例如通过产品而离线实现。附加地或另选地,过程86可例如在视频编码流水线32和/或视频解码流水线中在线实现。
在任何情况下,可利用机器学习参数64初始化机器学习块34(过程框88)。在一些实施方案中,用于初始化机器学习块34的机器学习参数64可预先确定,例如选自机器学习参数64的预先确定的组。附加地或另选地,用于初始化机器学习块34的机器学习参数64可以是默认(例如,基础)机器学习参数64。
在初始化之后,可将训练图像数据输入到机器学习块34(过程框90)。如将在下文更详细描述的,可基于训练图像数据递归地训练机器学习块34。在一些实施方案中,机器学习块34可从图像数据源诸如处理器内核复合体18、主存储器存储设备22、局部存储器20、图像传感器13和/或另一(例如,对抗的)机器学习块接收训练图像数据。另外,在一些实施方案中,训练图像数据可预先确定并存储在例如数据库或云中。
通过基于机器学习参数64来处理训练图像数据,机器学习块34可确定一个或多个特征度量72(过程框92)。如上所述,特征度量72可例如通过指示存在特定特性的可能性来指示对应图像的期望特性。因此,通过处理训练图像数据,机器学习块34可确定指示对应于该训练图像数据的图像的期望特性的特征度量72。
至少部分地基于特征度量72,可调节机器学习参数64(过程框94)。由于指示期望图像特性,因此基于特征度量72来调节机器学习参数64可使得能够以依赖于内容的方式进行调节,该方式便于提高所识别特性的准确性,并且因此提高编码效率、解码效率和/或所得的视频质量。为了便于调节机器学习参数64,在一些实施方案中,图像的实际特性可预先确定,并且例如与对应的训练图像数据一起接收。在此类实施方案中,当由特征度量72指示的期望特性(例如,经由均方误差度量)与对应的实际特性不同(例如,超过阈值)时,可调节机器学习参数64。
附加地或另选地,可调节机器学习参数64,使得用机器学习块34处理后续图像数据例如通过降低机器学习块34识别正误识的可能性来识别对应图像的具有提高的准确性的特性。在一些实施方案中,与被训练的机器学习块34分开的对抗机器学习块可生成训练图像数据,如果被选择,该训练图像数据将导致正误识(例如,编码效率提高,但图像质量降低)。通过基于训练图像数据进行调节,可调节机器学习参数64,使得机器学习块34识别正误识的可能性降低。
如上所述,可递归地训练机器学习块34,例如使得对抗机器学习块和被训练的机器学习块34会聚在机器学习参数34上,该机器学习参数在各种因素(例如,编码效率与图像质量)之间实现目标平衡。为了便于确定何时完成递归训练,可跟踪机器学习块34已处理训练图像数据的次数。另外,可将机器学习块34已处理训练图像数据的次数与训练阈值进行比较(决策框96),该训练阈值指示机器学习块34期望被递归地训练的次数。
当不大于训练阈值时,可继续递归地训练机器学习块34(箭头100)。另一方面,当大于训练阈值时,机器学习参数64可在机器学习块34中实现(过程框98)。例如,在实现卷积神经网络技术时,机器学习块34(例如,卷积神经网络块34A)可根据机器学习参数64来实现卷积层66、卷积权重68和/或层互连71。
如上所述,在一些实施方案中,机器学习块34可附加地或另选地处理其他类型的输入数据并且/或者生成其他类型的输出数据。因此,在此类实施方案中,可使用其他类型的输入数据和/或其他类型的输出数据来训练机器学习块34。例如,当将实现机器学习块34以直接确定预测样本时,可至少部分地基于训练图像数据和对应的预测样本训练机器学习块34。另外,当将实现机器学习块34以便于以降低分辨率更新(RRU)模式操作时,可至少部分地基于训练预测残差和对应的降低分辨率预测残差来训练机器学习块34。在任何情况下,可通过递归地调节机器学习参数64来训练机器学习块34。
返回图8的过程78,可将源图像数据36输入到视频编码流水线32(过程框84)。如上所述,视频编码流水线32可从图像数据源诸如处理器内核复合体18、主存储器存储设备22、局部存储器20和/或图像传感器13接收源图像数据36。另外,为了对源图像数据36进行编码,视频编码流水线32可至少部分地基于编码参数来处理源图像数据36,该编码参数例如至少部分地基于对应图像的由机器学习块34输出的特征度量72所指示的期望特性来确定。
为了帮助说明,图10描述了用于对源图像数据36进行编码的过程102的一个实施方案。一般地讲,过程102包括确定编码参数(过程框104)、确定是否启用了机器学习(决策框106)、在未启用机器学习时使用基础技术对源图像数据进行编码(过程框108),以及在启用机器学习时使用机器学习技术对源图像数据进行编码(过程框110)。在一些实施方案中,可基于在视频编码流水线32中形成的电路连接来实现过程102。附加地或另选地,可通过使用处理电路诸如控制器处理器42、处理器内核复合体18、图形处理单元(GPU)等执行存储在有形非暂态计算机可读介质诸如控制器存储器44、局部存储器20、主存储器存储设备22等中的指令来实现过程102。
在任何情况下,视频编码流水线32可确定将被实现以用于对源图像数据36进行编码的编码参数(过程框104)。在一些实施方案中,编码参数可包括将由帧间预测块46实现的帧间参数58和/或由帧内预测块48实现的帧内参数60。如上所述,帧间参数58和/或帧内参数60可指示是实现机器学习技术还是基础技术。
因此,至少部分地基于编码参数,视频编码流水线32可确定是否启用机器了学习(决策框106)。当未启用时,视频编码流水线32可实现基础技术以对源图像数据36进行编码。例如,当帧间参数58指示未启用机器学习时,帧间预测块46可实现基础帧间预测技术(例如,运动估计和/或运动补偿)以确定预测样本。另外,当帧内参数60指示未启用机器学习时,帧内预测块48可实现基础帧内预测技术(例如,图像数据插值)以确定预测样本。
另一方面,当启用了机器学习时,视频编码流水线32可至少部分地基于机器学习技术来对源图像数据36进行编码(过程框110)。为了便于对源图像数据36进行编码,在一些实施方案中,视频编码流水线32可至少部分地基于机器学习参数64来确定预测样本(过程框112)。具体地讲,如上所述,机器学习块34可至少部分地基于机器学习参数64来处理输入数据(例如,源图像数据36、经重构图像数据和/或预测残差)以确定对应图像的期望特性。
为了帮助说明,图11描述了用于使用机器学习技术来确定预测样本的过程114的一个示例。一般地讲,过程114包括对图像数据进行降采样(过程框116)、应用正变换和正量化(过程框118)、应用反量化和反变换(过程框120),以及对图像数据进行上采样(过程框122)。在一些实施方案中,可基于在视频编码流水线32中形成的电路连接来实现过程114。附加地或另选地,可通过使用处理电路诸如控制器处理器42、处理器内核复合体18、图形处理单元(GPU)等执行存储在有形非暂态计算机可读介质诸如控制器存储器44、局部存储器20、主存储器存储设备22等中的指令来实现过程114。
在任何情况下,视频编码流水线32可对图像数据进行降采样(过程框116)。在一些实施方案中,视频编码流水线32可对源图像数据36(例如,对应于图像的一部分或整个图像)进行降采样。另外,在一些实施方案中,视频编码流水线32可至少部分地基于包括在编码参数(例如,帧间参数58和/或帧内参数60)中的降采样参数(例如,目标降采样长径比和/或目标降采样滤波器技术)来对图像数据进行降采样。
为了利用机器学习技术,机器学习块34可处理源图像数据36以确定指示对应图像中的期望特性的特征度量72。至少部分地基于所得特征度量72,视频编码流水线32可自适应地调节降采样(例如,滤波器)参数。通过这样确定降采样参数,视频编码流水线32可至少部分地基于对应于源图像数据36的图像的期望内容来确定经降采样的图像数据。
另外,视频编码流水线32可对经降采样的图像数据应用正变换和正量化(过程框118)。在一些实施方案中,视频编码流水线32可至少部分地基于例如对应图像中由重构参数62所指示的变换组的组织来应用正变换。另外,在一些实施方案中,视频编码流水线32可至少部分地基于例如由重构参数62所指示的量化系数来应用正量化。
此外,视频编码流水线32可应用反变换和反量化以确定重构的经降采样的图像数据(过程框120)。在一些实施方案中,视频编码流水线32可通过执行正量化的反向操作来应用反量化。因此,视频编码流水线32可至少部分地基于量化系数来应用反量化。另外,在一些实施方案中,视频编码流水线32可通过执行正变换的反向操作来应用反变换。
通过向上缩放重构的经降采样图像数据,视频编码流水线32可确定将用于对源图像数据36和/或对应于相同图像帧的其他图像数据进行编码的预测样本(过程框122)。在一些实施方案中,视频编码流水线32可至少部分地基于上采样参数(例如,目标上采样长径比和/或目标上采样滤波器技术)来进行上采样。另外,在一些实施方案中,视频编码流水线32可进行上采样以执行降采样的反向操作,并且因此上采样参数可基于降采样参数来确定,降采样参数(如上所述)是使用机器学习技术确定的。通过这样确定上采样参数,视频编码流水线32可至少部分地基于对应于源图像数据36的图像的期望内容来确定预测样本。
附加地或另选地,机器学习块34可至少部分地基于源图像数据36、先前确定的经编码图像数据38和/或先前确定的经重构图像数据来直接确定预测样本。换句话讲,在一些实施方案中,机器学习块34可通过处理(例如,分析)全分辨率图像数据来确定预测样本。为了确定预测组的预测样本,机器学习块34可分析对应于与当前预测组相关的一个或多个像素窗口(例如,围绕当前预测组以确定帧内预测样本或在不同图像中以确定帧间预测样本)的图像数据。
换句话讲,机器学习块34可在空间上和/或时间上分析与当前预测组相关的像素窗口中的内容,以确定类似特征并因此确定当前预测组的预测样本。例如,为了确定当前预测组的帧内预测样本,可将包括来自相同图像的一个或多个左相邻列和一个或多个顶部相邻行的像素窗口输入到机器学习块34,从而使得机器学习块34能够确定在空间上与当前预测组相邻的内容。至少部分地基于该空间上相关的内容,机器学习块34可通过在当前预测组的期望内容中绘图来确定帧内预测样本。另外,为了确定当前预测组的帧间预测样本,可将来自不同图像的一个或多个像素窗口输入到机器学习块34,从而使得机器学习块34能够确定在时间上与当前预测组相关的内容。
事实上,通过利用机器学习技术,相比于基础预测技术,机器学习块34可扩展分析窗口。例如,为了确定帧内预测样本,机器学习块34可分析对应于不直接邻近当前编码组(例如,包括当前预测组)的编码组的图像数据。另外,为了确定帧间预测样本,机器学习块34可分析对应于由于一个或多个其他图像而与当前图像(例如,包括当前预测组)分开的图像的图像数据。
此外,在一些实施方案中,机器学习块34可扩展分析窗口以包括时间上相关像素窗口和空间上相关像素窗口两者,以便于以混合的帧内/帧间方式确定当前预测组的预测样本。例如,除了对应于时间上相关像素窗口的图像数据之外,可将对应于一个或多个空间上相关像素窗口(例如,在相同图像中与当前预测组相邻)的图像数据输入到机器学习块34。附加地或另选地,可将由视频编码流水线32实现以对一个或多个空间上相关像素窗口进行编码的编码参数(例如,运动矢量和/或加权参数)输入到机器学习块34。基于对此类空间上相关数据的分析,机器学习块34可改进对相对于当前预测组在时间上的关系的确定。通过分析扩展的窗口,可提高机器学习块34识别相似特性的可能性,这至少在一些情况下可便于例如通过提高预测样本与对应的源图像数据36之间的匹配程度而改进视频编码。
在任何情况下,如上所述,为了对源图像数据36进行编码,视频编码流水线32可确定指示预测样本与源图像数据36之间的差值的预测残差。另外,视频编码流水线32可指示经编码图像数据38中的预测残差和/或编码参数(例如,量化系数、参考索引和/或所选择的预测模式)。为了便于提高编码效率,在一些实施方案中,例如当以降低分辨率更新(RRU)模式操作时,视频编码流水线32可指示经编码图像数据38中的降低分辨率预测残差,而不是全分辨率预测残差。在此类实施方案中,例如,通过经由机器学习块34以依赖于内容的方式对全分辨率预测残差进行降采样,视频编码流水线32可利用机器学习技术来生成降低分辨率预测残差。
如上所述,为了便于显示对应图像,可例如通过视频解码流水线对经编码图像数据38进行解码。具体地讲,当接收了经编码图像数据38时,视频解码流水线可至少部分地基于经编码图像数据38中指示的预测残差和/或编码参数来操作,以确定对应的经解码图像数据,该经解码图像数据随后可用于显示对应图像。为了便于改进视频编码和/或视频解码,视频解码流水线还可利用机器学习技术。
为了帮助说明,图12示出了包括可实现机器学习技术的机器学习块34的视频解码流水线124的示例。在操作中,视频解码流水线124可处理经编码图像数据38并输出经解码图像数据126。在一些实施方案中,视频解码流水线124的操作通常可由控制器40控制。尽管被描绘为单个控制器40,但在其他实施方案中,可实现一个或多个单独的控制器40来控制视频解码流水线124的操作。
在任何情况下,视频解码流水线124可例如经由主存储器存储设备22、网络接口24、I/O端口16、控制器存储器44等接收由视频编码流水线32生成的经编码图像数据38。另外,视频编码流水线32可将经编码图像数据38输出到输出设备,例如用于存储和/或显示。因此,在一些实施方案中,输出设备可包括局部存储器20、主存储器存储设备22、电子显示器12等。
如上所述,视频解码流水线124可对经编码图像数据38进行操作以生成经解码图像数据126。为了简化讨论,由视频解码流水线124执行的功能(例如,操作)被划分在各个处理块(例如,电路或模块)之间。例如,在所描绘的实施方案中,视频编码流水线32包括机器学习块34以及组织在主解码流水线130中的解码块128和滤波块54。
应当理解,所描绘的视频编码流水线32仅仅旨在说明而非限制。在一些实施方案中,机器学习块34可物理地实现在电子设备10中。附加地或另选地,在一些实施方案中,机器学习块34可远程地实现例如在另一电子设备或云中。
在任何情况下,为了对经编码图像数据38进行解码,视频解码流水线124可实现解码参数132。在一些实施方案中,视频解码流水线124可通过反向由视频编码流水线32执行的操作来对经编码图像数据38进行解码。因此,视频解码流水线124可至少部分地基于由经编码图像数据38指示的编码参数来确定解码参数132。至少部分地基于解码参数132和/或由经编码图像数据38指示的预测残差,视频解码流水线124可处理经编码图像数据38以确定经解码图像数据126。
如上所述,视频解码流水线124可利用机器学习技术以便于以依赖于内容的方式确定经解码图像数据126。例如,以与在视频编码流水线32中实现滤波块54类似的方式,视频解码流水线124中的滤波块54可至少部分地基于对应图像的由机器学习块34识别的期望特性来确定期望改善视频质量的滤波器参数74。附加地或另选地,当在视频编码流水线32中实现滤波块54时,视频解码流水线124可接收滤波器参数74以及经编码图像数据38,并因此滤波经解码图像数据126。
当在视频编码流水线32和视频解码流水线124两者中实现机器学习块34时,视频解码流水线124可接收在视频编码流水线32中实现的机器学习参数64以及经编码图像数据38。这样,视频解码流水线124可实现机器学习块34中的机器学习参数64,以使得视频解码流水线124能够例如在不单独被训练的情况下确定对应图像的期望特性。在一些实施方案中,为了便于提高编码效率,可通过识别机器学习参数64的多个预先确定的组中的一个组来确定机器学习参数64。在任何情况下,视频解码流水线124可至少部分地基于解码参数132和/或滤波器参数74来操作以确定经解码图像数据126。
为了帮助说明,图13描述了用于操作视频解码流水线124的过程134的一个实施方案。一般地讲,过程134包括确定解码参数和滤波器参数(过程框136)、至少部分地基于解码参数来处理经编码图像数据(过程框138)以及至少部分地基于滤波器参数来滤波解码图像数据(过程框140)。在一些实施方案中,可基于在视频编码流水线32中形成的电路连接来实现过程134。附加地或另选地,可通过使用处理电路诸如控制器处理器42、处理器内核复合体18、图形处理单元(GPU)等执行存储在有形非暂态计算机可读介质诸如控制器存储器44、局部存储器20、主存储器存储设备22等中的指令来实现过程134。
在任何情况下,视频解码流水线124可确定解码参数132和/或滤波器参数74(过程框136)。如上所述,视频解码流水线124可至少部分地基于所指示的编码参数与经编码图像数据38一起来确定解码参数132。当在视频编码流水线32中实现滤波块54时,视频解码流水线124可接收滤波器参数74以及经编码图像数据38。附加地或另选地,视频解码流水线124可例如至少部分地基于对应图像的由机器学习块34识别的期望特性来确定滤波器参数74。
基于解码参数132,视频解码流水线124可处理经编码图像数据38以确定经解码图像数据126(过程框138)。在一些实施方案中,视频解码流水线124可至少部分地基于先前经解码图像数据126来实现解码参数132以重新确定预测样本。如上所述,在一些实施方案中,经编码图像数据38可指示降低分辨率预测残差,以便于提高编码效率。因此,在此类实施方案中,视频解码流水线124可通过将该降低分辨率预测残差向上缩放至完全分辨率来确定预测样本。
另外,视频解码流水线124可例如通过应用正变换、正量化、反量化、反变换、或它们的任何组合来确定并处理由经编码图像数据38指示的预测残差。在处理该预测残差之后,视频解码流水线124可将该预测残差应用于预测样本以确定经解码图像数据126。附加地或另选地,视频解码流水线124中的机器学习块34可直接根据由经编码图像数据38指示的量化系数确定预测样本和/或预测残差。
为了便于改善所感知到的视频质量,在输出经解码图像数据126之前,视频解码流水线124可至少部分地基于滤波器参数74来滤波经解码图像数据126(过程框140)。如上所述,可确定滤波器参数74使得其期望降低产生可感知视觉伪影(例如,彩色条纹、振铃和/或块)的可能性。在滤波之后,可将经解码图像数据126输出到例如电子显示器12,以便于显示对应图像。
如上所述,为了便于改善视频质量,可至少部分地基于期望从视频解码流水线124输出的经解码图像数据126的视频质量来以依赖于内容的方式自适应地调节视频编码和/或视频解码。在一些实施方案中,还可通过利用机器学习技术来确定期望视频质量。如此,可以依赖于内容的方式来确定期望视频质量,相比于当经解码图像数据126用于显示图像时的实际视频质量,这至少在一些情况下可提高期望视频质量的准确性。
为了帮助说明,图14示出了包括视频质量块144和可实现机器学习技术的机器学习块34的流水线142的示例。由于可使用机器学习技术来确定编码参数,因此在一些实施方案中,流水线142可被包括在视频编码流水线32中,例如在主编码流水线45中或者并行于主编码流水线45。附加地或另选地,由于可使用机器学习技术来确定滤波器参数74,因此在一些实施方案中,流水线142可被包括在视频解码流水线124中,例如在主解码流水线130中或并行于主解码流水线130。
在任何情况下,流水线142可处理(例如,分析)输入图像数据70以确定对对应的经解码图像数据126的期望视频质量146的指示。具体地讲,机器学习块34可至少部分地基于机器学习参数64来处理输入图像数据70,以确定对应图像的例如经由一个或多个特征度量72指示的期望特性。至少部分地基于期望特性,视频质量块144可确定当对应于输入图像数据70的经解码图像数据126用于显示图像时的期望视频质量146。
图15描述了用于操作流水线142以确定期望视频质量146的过程148的一个实施方案。一般地讲,过程148包括训练机器学习块(过程框150)、接收输入图像数据(过程框152)、基于机器学习参数来确定特征度量(过程框156)以及基于该特征度量来确定对应于输入图像数据的期望视频质量(过程框158)。在一些实施方案中,可基于在视频编码流水线32和/或视频解码流水线124中形成的电路连接来实现过程148。附加地或另选地,可通过使用处理电路诸如控制器处理器42、处理器内核复合体18、图形处理单元(GPU)等执行存储在有形非暂态计算机可读介质诸如控制器存储器44、局部存储器20、主存储器存储设备22等中的指令来实现过程148。
在任何情况下,可训练机器学习块34以确定并实现机器学习参数64(过程框150)。在一些实施方案中,可例如通过实现图9的过程86并基于训练图像数据和对应于训练图像数据的实际视频质量来离线训练机器学习块34。附加地或另选地,可例如通过反馈由经解码图像数据126的显示而产生的实际视频质量来在线训练机器学习块34。
另外,机器学习块34可接收输入图像数据70(过程框152)。在一些实施方案中,输入图像数据70可以是先前由重构块52确定的经重构图像数据。因此,在此类实施方案中,机器学习块34可从内部帧缓冲区或视频编码流水线32接收输入图像数据70。附加地或另选地,输入图像数据70可以是源图像数据36、经编码图像数据38和/或经解码图像数据126。因此,在一些实施方案中,机器学习块34可从图像数据源诸如处理器内核复合体18、主存储器存储设备22、局部存储器20和/或图像传感器13接收输入图像数据70。
通过至少部分地基于机器学习参数64来处理输入图像数据70,机器学习块34可例如通过输出一个或多个特征度量72来指示对应图像的期望特性(过程框156)。至少部分地基于由机器学习块34识别的期望特性,视频质量块144可确定当对应于输入图像数据70的经解码图像数据126用于显示图像时的期望视频质量146(过程框158)。在一些实施方案中,由机器学习块34确定的特征度量72可直接指示期望视频质量146。附加地或另选地,视频质量块144可解释由机器学习块34确定的特征度量72,例如以在视频质量标度(例如,1到10)上并且/或者经由基础度量诸如峰值信噪比(PSNR)度量和/或均方误差(MSE)度量来指示期望视频质量146。为了便于降低计算复杂性,在一些实施方案中,机器学习块34可直接处理与输入图像数据70相关联的一个或多个基础度量,例如作为处理输入图像数据70的另选形式。
在任何情况下,如上所述,视频编码流水线32和/或视频解码流水线124可以依赖于内容的方式自适应地调节操作,以便于提高编码效率、解码效率和/或所得的感知到的视频质量。因此,为了便于自适应地调节操作,可将期望视频质量146反馈到该机器学习块34或另一机器学习块34。如此,本公开的技术效应包括通过利用机器学习技术以依赖于内容的方式自适应地调节操作来改进视频编码和/或视频解码。此外,期望视频质量146可用于例如通过将系统(例如,视频编码流水线或视频解码流水线)与其他系统进行比较来评估该系统的效能。
其他示例
在一些实施方案中,可实现本文所述的机器学习技术以用于例如在帧间条带中对帧内编码组进行编码。另外,使用机器学习技术来确定预测样本可便于相比于运动补偿降低计算复杂性并且/或者提高可伸缩性。具体地讲,例如由于被加载以执行基础帧间预测技术的数据的量,因此与基础帧间预测技术(例如,运动补偿和/或运动估计)相比,卷积神经网络可具有较低的复杂性。另外,在一些实施方案中,可实现插值以进行帧间编码。在此类实施方案中,可实现卷积神经网络以执行该插值。
关于可伸缩性,可实现卷积神经网络以将图像数据从较低分辨率缩放至较高分辨率。在一些实施方案中,该向上缩放可以是最终阶段。附加地或另选地,该向上缩放可仅用于生成新参考,该新参考随后用于该上下文中的后续预测和编码。另外,在一些实施方案中,向下缩放/向上缩放编码框架可被其他概念诸如减小和/或扩展位深度/动态范围替换。例如,为了便于扩展由图像数据指示的内容的动态范围,可实现卷积神经网络以将该图像数据转化至更高的位深度。
事实上,在一些实施方案中,机器学习系统(例如,块)可实现机器学习技术以将内容例如从标准动态范围(SDR)色调映射至高动态范围(HDR)。如上所述,可在部署之前训练机器学习技术。因此,为了便于使用机器学习技术对内容进行色调映射,可基于先前已分级内容的SDR版本和该内容的对应HDR版本来训练机器学习系统。
此外,在一些实施方案中,机器学习参数(例如,模型)的组可与不同类型的内容相关联。例如,第一组可与动画相关联,而第二组与自然内容(例如,天空和/或草地皮的图像)相关联,并且第三组与屏幕内容相关联。此外,在一些实施方案中,可基于所处理的像素的位置来确定机器学习参数的组,例如以便于对不同类型的视觉伪影进行说明。另外,在一些实施方案中,机器学习参数的组可与不同颜色分量(例如,亮度与色度)相关联。机器学习参数的这些组可以不同的方式来描述,例如具有不同的复杂性和/或准确性。
为了便于降低复杂性,在一些实施方案中,可使用机器学习技术来处理一种颜色分量,而另一种颜色分量则使用基础(例如,非机器学习)技术来处理。此外,在一些实施方案中,可实现机器学习技术以通过分析对应于颜色分量的图像数据以及对应于其他颜色分量的先前经编码图像数据来确定该颜色分量的特性。例如,为了确定色度分量的特性,机器学习块可输入并处理色度图像数据以及来自图像中先前经编码区域的亮度图像数据(例如,包括来自当前组的亮度图像数据)。
在一些实施方案中,当机器学习参数的组被预先确定时,所选择的组可经由“更新”参数来指示,该更新参数包括较小组的参数以便于提高压缩效率(例如,减小开销)。事实上,在一些实施方案中,可例如类似于缓冲参考图像来缓冲预先确定的机器学习参数。信号(例如,每张图片、每个区域、每个条带、每个CTU或每个CU)可指示相关联的一组机器学习参数。适当的管理可用于添加新的、更新和/或移除机器学习参数(例如,模型)的组。
关于确定期望视频质量,在一些实施方案中,机器学习块可处理使用更常规的度量计算的失真测量值,例如而不是直接处理输入图像数据。例如,可确定序列中每个帧的MSE或PSNR、图像中的重叠区域和/或图像中的非重叠区域。机器学习块可然后在空间上和/或时间上分析这些统计信息。这将极大地降低复杂性,并且将例如通过提供这些结果的空间和/或时间池化来提供缺乏其他视频质量分析技术的信息。在一些实施方案中,每区域可计算多个度量或特征。这样,可确定每个帧中每个区域的信息矢量。然后可将此类统计信息输入机器学习以进行分析,例如通过使用滑动窗口和/或非重叠窗口来一次处理N个帧。
在一些实施方案中,可使用传统信号处理概念来增强/适配卷积神经网络技术。例如,这可便于说明并行化(例如,重叠或非重叠区段处理)。此外,可附加地或另选地来实现本公开中所述的技术以改进其他类型的编码,诸如3D/多视图、深度编码、360视频、伸缩编码等。
为了便于改进转码,期望使用较低的位率、可能的较低分辨率和较低的帧速率来转码位流。通过使用机器学习技术进行分析,位流的特性可被确定并且例如在元数据文件中指示和/或在转码器的解码器阶段导出。给定对位流和/或其他相关条件(例如,网络信息、显示/设备能力、当前功率使用、资源信息、在设备上运行的应用程序和/或期望的用户流表现)的分析,卷积神经网络可确定用于对视频进行编码的“编码控制”参数。这些参数可包括用于帧或区域的QP、GOP结构、帧内帧、用于模式决策和运动估计的λ参数(例如,如果由转码器使用)、向下缩放比率以及用于向下缩放的滤波器。在一些实施方案中,可实现卷积神经网络以便于执行运动补偿的时间滤波,该时间滤波至少在一些情况下可进一步有助于通过预滤波的压缩。
另外,在多个流用户具有不同需求的场景中,卷积神经网络可确定(例如,计算)应生成的一个或多个目标率并相应地生成附加位流。在该场景中,自适应流可作为转码与位流转换的混合而发生,例如,其中服务器将N个粗糙位流发送至转码器,该转码器生成可由用户使用自适应流(例如,DASH或HLS方案)拾取的M个更精细位流。
在上述实施方案的一些实施方案中,可实现机器学习技术以便于例如通过在编解码器诸如AVC、HEVC等的编码决策过程中使用识别的特征度量来改进视频处理。例如,关于帧内预测,机器学习块可从编解码器提供的多种候选帧内预测模式中选择一种帧内预测模式。类似地,关于帧间预测,机器学习块可从编解码器提供的多种候选帧内预测模式中选择一种帧间预测模式。
此外,在一些实施方案中,机器学习块可在使用基础预测技术识别的多种候选预测模式之间进行选择。例如,通过使用基础帧间预测技术,帧间预测块可实现基础帧间预测技术以确定各自对应于不同块大小和/或不同参考索引的多种最佳候选帧间预测模式(例如,运动矢量)。通过处理(例如,分析)最佳候选帧间预测模式的结果,机器学习块可确定指示所得的失真的特征度量。可考虑将该特征度量与一个或多个其他度量一起用于模式决策。例如,特征(例如,失真)度量可在(例如,使用拉格朗日优化的)优化模式决策中与位率度量组合使用。
在此类情况下,这可使机器学习编码流水线与非机器学习(例如,常规)解码流水线兼容。此外,在一些实施方案中,机器学习技术可被实现为编解码器中的编码模式,例如作为在主编码或解码流水线中实现的基础编码模式(例如,技术)的可选的另选形式。
在一些编解码器中,为了实现帧间预测,一个或多个插值滤波器可插值图像数据样本。例如,插值滤波器可包括可分离的Nx1水平滤波器和1xN垂直滤波器。通过利用机器学习技术,视频编码流水线可执行具有高于整数精度的帧间预测。在一些实施方案中,机器学习块可实现机器学习技术以便于从插值滤波器参数的多个预先确定的组中选择插值滤波器参数。
已经以示例的方式示出了上述具体实施方案,并且应当理解,这些实施方案可容许各种修改和另选形式。还应当理解,权利要求书并非旨在限于所公开的特定形式,而是旨在覆盖落在本公开的实质和范围内的所有修改、等同物和替代方案。
Claims (20)
1.一种视频编码流水线,包括:
在电子设备中实现的主编码流水线,其中,所述主编码流水线被配置为通过至少部分地基于编码参数来处理训练图像数据和对应于图像帧的至少一部分的源图像数据,从而压缩所述源图像数据以生成经编码图像数据;
机器学习块,所述机器学习块通信地耦接到所述主编码流水线;和
对抗机器学习块,所述对抗机器学习块通信地耦接到所述主编码流水线,其中:
所述机器学习块被配置为:
至少部分地基于一个或多个机器学习参数来处理所述源图像数据以确定所述图像帧的所述至少一部分的一个或多个期望特性,其中,所述一个或多个机器学习参数被配置为确定期望存在于训练图像数据中的一个或多个特性;
所述对抗机器学习块被配置为:
生成附加训练图像数据,所述附加训练图像数据被配置为使所述机器学习块在所述图像帧的所述至少一部分中的至少一个中检测到正误识;
至少部分地基于所述附加训练图像数据和所述图像帧的所述至少一部分的所述一个或多个期望特性来调整所述机器学习块中实现的所述一个或多个机器学习参数,其中,所述机器学习块被配置为至少部分地基于一个或多个调整后的机器学习参数来处理附加源图像数据以确定期望存在于所述图像帧的所述至少一部分中的一个或多个附加期望特性;并且
所述视频编码流水线被配置为至少部分地基于所述一个或多个附加期望特性来自适应地调整所述编码参数。
2.根据权利要求1所述的视频编码流水线,其中,所述一个或多个机器学习参数是使用先前经由所述主编码流水线处理的先前经编码训练图像数据来确定的,其中所述先前经编码训练图像数据与所述训练图像数据相关联。
3.根据权利要求1所述的视频编码流水线,其中,所述机器学习块在一个或多个周期中递归地训练,直到已经执行了一定数量的周期。
4.根据权利要求1所述的视频编码流水线,其中,所述编码参数包括目标采样比、目标采样模式、或两者。
5.根据权利要求1所述的视频编码流水线,其中,所述主编码流水线被配置为:
通过至少部分地基于所述编码参数对所述训练图像数据进行降采样、应用正变换、应用正量化、应用反量化以及上采样来确定预测样本,所述预测样本指示对所述训练图像数据的预测;
至少部分地基于所述预测样本和所述训练图像数据之间的差来确定预测残差;和
生成所述经编码图像数据以至少指示所述编码参数和所述预测残差。
6.根据权利要求1所述的视频编码流水线,其中,所述机器学习块、所述对抗机器学习块或两者与所述电子设备分离,并且经由通信网络通信地耦接到所述电子设备。
7.根据权利要求1所述的视频编码流水线,其中:
所述对抗机器学习块包括:
第一卷积层,所述第一卷积层被配置为通过至少部分地基于所述第一卷积层中实现的第一卷积权重处理所述训练图像数据和所述源图像数据,来确定第一附加特性,所述第一附加特性错误地表示期望存在于所述图像帧的所述至少一部分中的所述一个或多个特性中的第一特性;和
第二卷积层,所述第二卷积层连接在所述第一卷积层的下游,其中所述第二卷积层被配置为至少部分地基于所述第一附加特性以及所述第二卷积层中实现的第二卷积权重来确定第二附加特性,所述第二附加特性错误地表示期望存在于所述图像帧的所述至少一部分中的所述一个或多个特性中的第二特性。
8.根据权利要求7所述的视频编码流水线,其中,所述对抗机器学习块被配置为至少部分地基于所述第一附加特性、所述第二附加特性或两者来自适应地生成所述附加训练图像数据。
9.一种方法,包括:
经由至少一个处理器,至少部分地基于一个或多个机器学习参数来处理训练图像数据以确定图像帧的至少一部分的一个或多个期望特性,其中,所述一个或多个机器学习参数被配置为确定期望存在于所述训练图像数据中的一个或多个特性;
经由所述至少一个处理器,接收附加训练图像数据,所述附加训练图像数据被配置为使所述至少一个处理器在所述图像帧的所述至少一部分中的至少一个中检测到正误识;和
经由至少一个处理器,至少部分地基于所述附加训练图像数据以及所述图像帧的所述至少一部分的所述一个或多个期望特性来调整所述一个或多个机器学习参数,其中,所述至少一个处理器被配置为至少部分地基于一个或多个调整后的机器学习参数来处理源图像数据以确定期望存在于所述图像帧的所述至少一部分中的一个或多个附加期望特性。
10.根据权利要求9所述的方法,其中,所述一个或多个机器学习参数是使用先前经编码训练图像数据来确定的,其中所述先前经编码训练图像数据是先前用所述训练图像数据处理的。
11.根据权利要求9所述的方法,包括:经由所述至少一个处理器,跟踪所述至少一个处理器调整所述一个或多个机器学习参数的周期数量。
12.根据权利要求11所述的方法,包括:经由所述至少一个处理器,将所述周期数量与训练阈值进行比较,其中所述处理器被配置为响应于所述周期数量大于所述训练阈值而调整所述一个或多个机器学习参数。
13.根据权利要求12所述的方法,包括:响应于确定从所述训练图像数据中错误检测到至少所述一个或多个期望特性而增加所述训练阈值。
14.根据权利要求9所述的方法,其中,生成所述附加训练图像数据包括:
经由所述至少一个处理器,至少部分地基于使用在第一卷积层中实现的第一卷积权重处理所述训练图像数据,来确定第一附加特性,所述第一附加特性错误地表示期望存在于所述图像帧的所述至少一部分中的所述一个或多个特性中的第一特性;
经由所述至少一个处理器,至少部分地基于所述第一附加特性以及第二卷积层中实现的第二卷积权重,来确定第二附加特性,所述第二附加特性错误地表示期望存在于所述图像帧的所述至少一部分中的所述一个或多个特性中的第二特性;和
经由所述至少一个处理器,至少部分地基于所述第一附加特性、所述第二附加特性或两者来生成所述附加训练图像数据。
15.一种计算机可读介质,包括计算机可执行指令,所述计算机可执行指令当由处理器执行时被配置为使所述处理器执行包括以下项的操作:
至少部分地基于一个或多个机器学习参数来处理训练图像数据以确定图像帧的至少一部分的一个或多个期望特性,其中,所述一个或多个机器学习参数被配置为确定存在于所述训练图像数据中的一个或多个特性;
生成附加训练图像数据,所述附加训练图像数据被配置为使图像处理系统在所述图像帧的所述至少一部分中的至少一个中检测到正误识;和
至少部分地基于所述附加训练数据以及所述图像帧的所述至少一部分的所述一个或多个期望特性来调整所述一个或多个机器学习参数,其中,所述图像处理系统被配置为至少部分地基于一个或多个调整后的机器学习参数来处理源图像数据以确定期望存在于所述图像帧的所述至少一部分中的一个或多个附加期望特性。
16.根据权利要求15所述的计算机可读介质,其中,所述一个或多个机器学习参数是使用先前由所述处理器处理的经编码训练图像数据来确定的,其中所述先前经编码训练图像数据与所述训练图像数据相关联。
17.根据权利要求15所述的计算机可读介质,其中,所述计算机可执行指令当由所述处理器执行时被配置为使所述处理器执行包括以下项的操作:跟踪所述处理器调整所述一个或多个机器学习参数的周期数量。
18.根据权利要求17所述的计算机可读介质,其中,所述计算机可执行指令当由所述处理器执行时被配置为使所述处理器执行包括以下项的操作:
将所述周期数量与训练阈值进行比较;以及
响应于所述周期数量超过所述训练阈值,调整所述一个或多个机器学习参数。
19.根据权利要求18所述的计算机可读介质,其中,所述计算机可执行指令当由所述处理器执行时被配置为使所述处理器执行包括以下项的操作:响应于所述图像处理系统在所述训练图像数据中错误检测到所述至少一个或多个期望特性,增加所述训练阈值。
20.根据权利要求15所述的计算机可读介质,其中,所述计算机可执行指令当由所述处理器执行时被配置为使所述处理器生成附加训练图像数据包括:
通过至少部分地基于第一卷积层中实现的第一卷积权重处理所述训练图像数据来确定第一附加特性,所述第一附加特性错误地表示期望存在于所述图像帧的所述至少一部分中的所述一个或多个特性中的第一特性;
至少部分地基于所述第一附加特性以及第二卷积层中实现的第二卷积权重来确定第二附加特性,所述第二附加特性错误地表示期望存在于所述图像帧的所述至少一部分中的所述一个或多个特性中的第二特性;和
至少部分地基于所述第一附加特性、所述第二附加特性或两者来生成所述附加训练图像数据。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762553587P | 2017-09-01 | 2017-09-01 | |
US62/553,587 | 2017-09-01 | ||
US15/874,655 US10979718B2 (en) | 2017-09-01 | 2018-01-18 | Machine learning video processing systems and methods |
US15/874,655 | 2018-01-18 | ||
CN201880056090.2A CN111066326B (zh) | 2017-09-01 | 2018-07-09 | 机器学习视频处理系统和方法 |
PCT/US2018/041317 WO2019045883A1 (en) | 2017-09-01 | 2018-07-09 | SYSTEMS AND METHODS FOR AUTOMATIC LEARNING VIDEO PROCESSING |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880056090.2A Division CN111066326B (zh) | 2017-09-01 | 2018-07-09 | 机器学习视频处理系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117793373A true CN117793373A (zh) | 2024-03-29 |
Family
ID=65517970
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311842708.7A Pending CN117793373A (zh) | 2017-09-01 | 2018-07-09 | 机器学习视频处理系统和方法 |
CN201880056090.2A Active CN111066326B (zh) | 2017-09-01 | 2018-07-09 | 机器学习视频处理系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880056090.2A Active CN111066326B (zh) | 2017-09-01 | 2018-07-09 | 机器学习视频处理系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10979718B2 (zh) |
CN (2) | CN117793373A (zh) |
WO (1) | WO2019045883A1 (zh) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9532080B2 (en) | 2012-05-31 | 2016-12-27 | Sonic Ip, Inc. | Systems and methods for the reuse of encoding information in encoding alternative streams of video data |
US9357210B2 (en) | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
CN207517054U (zh) | 2017-01-04 | 2018-06-19 | 意法半导体股份有限公司 | 串流开关 |
US11562115B2 (en) | 2017-01-04 | 2023-01-24 | Stmicroelectronics S.R.L. | Configurable accelerator framework including a stream switch having a plurality of unidirectional stream links |
US10638144B2 (en) | 2017-03-15 | 2020-04-28 | Facebook, Inc. | Content-based transcoder |
TWI755616B (zh) * | 2017-04-21 | 2022-02-21 | 美商時美媒體公司 | 用於編碼器導引自適應性品質演現的系統及方法 |
US10979718B2 (en) * | 2017-09-01 | 2021-04-13 | Apple Inc. | Machine learning video processing systems and methods |
US10475169B2 (en) * | 2017-11-28 | 2019-11-12 | Adobe Inc. | High dynamic range illumination estimation |
US10546393B2 (en) | 2017-12-30 | 2020-01-28 | Intel Corporation | Compression in machine learning and deep learning processing |
US11039146B2 (en) * | 2018-03-01 | 2021-06-15 | Arris Enterprises Llc | Visual artifact detector |
EP3562162A1 (en) * | 2018-04-27 | 2019-10-30 | InterDigital VC Holdings, Inc. | Method and apparatus for video encoding and decoding based on neural network implementation of cabac |
JP2020524418A (ja) * | 2018-05-21 | 2020-08-13 | ジーディーエフラボ カンパニー リミテッド | Ai映像学習プラットフォームベースのvodサービスシステム |
US10803565B2 (en) * | 2018-07-10 | 2020-10-13 | Intel Corporation | Low-light imaging using trained convolutional neural networks |
US20200021815A1 (en) | 2018-07-10 | 2020-01-16 | Fastvdo Llc | Method and apparatus for applying deep learning techniques in video coding, restoration and video quality analysis (vqa) |
US11720997B2 (en) | 2018-10-19 | 2023-08-08 | Samsung Electronics Co.. Ltd. | Artificial intelligence (AI) encoding device and operating method thereof and AI decoding device and operating method thereof |
WO2020080765A1 (en) | 2018-10-19 | 2020-04-23 | Samsung Electronics Co., Ltd. | Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image |
WO2020080873A1 (en) | 2018-10-19 | 2020-04-23 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming data |
WO2020080623A1 (ko) * | 2018-10-19 | 2020-04-23 | 삼성전자 주식회사 | 영상의 ai 부호화 및 ai 복호화 방법, 및 장치 |
WO2020080665A1 (en) * | 2018-10-19 | 2020-04-23 | Samsung Electronics Co., Ltd. | Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image |
KR102622950B1 (ko) * | 2018-11-12 | 2024-01-10 | 삼성전자주식회사 | 디스플레이장치, 그 제어방법 및 기록매체 |
KR20200084516A (ko) * | 2019-01-03 | 2020-07-13 | 삼성전자주식회사 | 디스플레이장치, 영상공급장치, 및 그 제어방법 |
US20200264876A1 (en) * | 2019-02-14 | 2020-08-20 | Microsoft Technology Licensing, Llc | Adjusting activation compression for neural network training |
US10965945B2 (en) * | 2019-03-29 | 2021-03-30 | Bitmovin, Inc. | Optimized multipass encoding |
CN109982092B (zh) * | 2019-04-28 | 2022-11-01 | 华侨大学 | 基于多分支循环卷积神经网络的hevc帧间快速方法 |
CN110246084B (zh) * | 2019-05-16 | 2023-03-31 | 五邑大学 | 一种超分辨率图像重构方法及其系统、装置、存储介质 |
WO2020231049A1 (en) | 2019-05-16 | 2020-11-19 | Samsung Electronics Co., Ltd. | Neural network model apparatus and compressing method of neural network model |
WO2020242738A1 (en) * | 2019-05-26 | 2020-12-03 | Alibaba Group Holding Limited | Ai-assisted programmable hardware video codec |
EP3987443A1 (en) * | 2019-06-18 | 2022-04-27 | XZIMG Limited | Recurrent multi-task convolutional neural network architecture |
EP3987808A4 (en) * | 2019-06-19 | 2023-07-05 | Nokia Technologies Oy | METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR VIDEO CODING AND DECODING |
EP3994619A1 (en) * | 2019-07-02 | 2022-05-11 | VID SCALE, Inc. | Methods and apparatus for kernel tensor and tree partition based neural network compression framework |
CN112218097A (zh) * | 2019-07-12 | 2021-01-12 | 富士通株式会社 | 环路滤波装置和图像解码装置 |
US11445222B1 (en) | 2019-09-30 | 2022-09-13 | Isize Limited | Preprocessing image data |
WO2021072694A1 (en) * | 2019-10-17 | 2021-04-22 | Alibaba Group Holding Limited | Adaptive resolution coding based on machine learning model |
KR102436512B1 (ko) | 2019-10-29 | 2022-08-25 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
KR20210056179A (ko) | 2019-11-08 | 2021-05-18 | 삼성전자주식회사 | Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법 |
KR20210059466A (ko) * | 2019-11-15 | 2021-05-25 | 삼성전자주식회사 | 영상 제공 장치 및 이에 의한 영상 제공 방법, 및 디스플레이 장치 및 이에 의한 디스플레이 방법 |
CN114631312A (zh) * | 2019-11-26 | 2022-06-14 | 谷歌有限责任公司 | 用于快速视频代码化的超轻模型和决策融合 |
KR20210067788A (ko) * | 2019-11-29 | 2021-06-08 | 삼성전자주식회사 | 전자 장치, 시스템 및 그 제어 방법 |
KR20210067783A (ko) | 2019-11-29 | 2021-06-08 | 삼성전자주식회사 | 전자 장치, 그 제어 방법 및 시스템 |
EP3849180A1 (en) * | 2020-01-10 | 2021-07-14 | Nokia Technologies Oy | Encoding or decoding data for dynamic task switching |
US11593609B2 (en) | 2020-02-18 | 2023-02-28 | Stmicroelectronics S.R.L. | Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks |
WO2021168001A1 (en) * | 2020-02-19 | 2021-08-26 | Dolby Laboratories Licensing Corporation | Joint forward and backward neural network optimization in image processing |
US11625632B2 (en) | 2020-04-17 | 2023-04-11 | International Business Machines Corporation | Automated generation of a machine learning pipeline |
JP6908756B1 (ja) * | 2020-04-30 | 2021-07-28 | 株式会社ドワンゴ | 配信者端末、コンテンツ配信システム、コンテンツ生成方法、コンテンツ生成プログラム、および、記録媒体 |
CN111787323B (zh) * | 2020-05-23 | 2021-09-03 | 清华大学 | 一种基于对抗学习的可变比特率生成式压缩方法 |
US11531873B2 (en) | 2020-06-23 | 2022-12-20 | Stmicroelectronics S.R.L. | Convolution acceleration with embedded vector decompression |
FR3112662A1 (fr) * | 2020-07-17 | 2022-01-21 | Fondation B-Com | Procédé et dispositif électronique de décodage d’un flux de données, et flux de données associé |
FR3112661B1 (fr) * | 2020-07-17 | 2024-02-02 | Fond B Com | Procédés de décodage d’un flux de données, dispositifs et flux de données associés |
US20220046237A1 (en) | 2020-08-07 | 2022-02-10 | Tencent America LLC | Methods of parameter set selection in cloud gaming system |
US11582470B2 (en) | 2020-09-03 | 2023-02-14 | Tencent America LLC | Method and apparatus for multi-scale neural image compression with intra-prediction residuals |
CN112351252B (zh) * | 2020-10-27 | 2023-10-20 | 重庆中星微人工智能芯片技术有限公司 | 监控视频编解码装置 |
US11582442B1 (en) * | 2020-12-03 | 2023-02-14 | Amazon Technologies, Inc. | Video encoding mode selection by a hierarchy of machine learning models |
EP4195154A4 (en) * | 2020-12-09 | 2024-01-17 | Samsung Electronics Co., Ltd. | ARTIFICIAL INTELLIGENCE CODING APPARATUS AND OPERATION METHOD THEREFOR, AND ARTIFICIAL INTELLIGENCE DECODING APPARATUS AND OPERATION METHOD THEREFOR |
EP4017003A1 (en) * | 2020-12-17 | 2022-06-22 | Palantir Technologies Inc. | Approaches for lossy compression using machine learning |
US11954830B2 (en) * | 2020-12-17 | 2024-04-09 | Nvidia Corporation | High dynamic range support for legacy applications |
CN116965029A (zh) * | 2021-02-25 | 2023-10-27 | 华为技术有限公司 | 使用卷积神经网络对图像进行译码的装置和方法 |
KR20230145096A (ko) * | 2021-04-01 | 2023-10-17 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 신경망 기반 픽처 프로세싱에서의 보조 정보의 독립적 위치결정 |
US20220358877A1 (en) * | 2021-05-07 | 2022-11-10 | Universal Display Corporation | Adaptive Display |
CN117716691A (zh) * | 2021-07-27 | 2024-03-15 | 北京达佳互联信息技术有限公司 | 用于视频编解码的基于小波变换域卷积神经网络的环路滤波 |
WO2023056449A1 (en) * | 2021-09-30 | 2023-04-06 | Bytedance Inc. | Method, device, and medium for video processing |
US20230144735A1 (en) * | 2021-11-09 | 2023-05-11 | Netflix, Inc. | Techniques for jointly training a downscaler and an upscaler for video streaming |
US11704891B1 (en) | 2021-12-29 | 2023-07-18 | Insight Direct Usa, Inc. | Dynamically configured extraction, preprocessing, and publishing of a region of interest that is a subset of streaming video data |
US11509836B1 (en) | 2021-12-29 | 2022-11-22 | Insight Direct Usa, Inc. | Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file |
TWI830230B (zh) * | 2022-05-18 | 2024-01-21 | 逢甲大學 | 物件自動追蹤系統及其偵測方法 |
US11778167B1 (en) | 2022-07-26 | 2023-10-03 | Insight Direct Usa, Inc. | Method and system for preprocessing optimization of streaming video data |
WO2024195991A1 (ko) * | 2023-03-20 | 2024-09-26 | 현대자동차주식회사 | 암시적 신경망 표현 모델을 이용하는 비디오 코딩을 위한 방법 및 장치 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6075884A (en) * | 1996-03-29 | 2000-06-13 | Sarnoff Corporation | Method and apparatus for training a neural network to learn and use fidelity metric as a control mechanism |
DE60134561D1 (de) * | 2001-12-28 | 2008-08-07 | Texas Instruments France | Verfahren zum Komprimieren von Bildern eines Bildfernsprechsystems |
US7082394B2 (en) * | 2002-06-25 | 2006-07-25 | Microsoft Corporation | Noise-robust feature extraction using multi-layer principal component analysis |
US7400588B2 (en) * | 2003-08-01 | 2008-07-15 | Thomson Licensing | Dynamic rate adaptation using neural networks for transmitting video data |
CN101404767A (zh) * | 2008-11-24 | 2009-04-08 | 崔天龙 | 一种基于图像分析及人工智能的可变参数的自动化视频转码方法 |
CN102065302B (zh) * | 2011-02-09 | 2014-07-09 | 复旦大学 | 一种基于h.264的可伸缩视频编码方法 |
US11232319B2 (en) * | 2014-05-16 | 2022-01-25 | The Trustees Of The University Of Pennsylvania | Applications of automatic anatomy recognition in medical tomographic imagery based on fuzzy anatomy models |
US11221990B2 (en) * | 2015-04-03 | 2022-01-11 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
US10062010B2 (en) * | 2015-06-26 | 2018-08-28 | Intel Corporation | System for building a map and subsequent localization |
US10602153B2 (en) * | 2015-09-11 | 2020-03-24 | Facebook, Inc. | Ultra-high video compression |
CN105120130B (zh) * | 2015-09-17 | 2018-06-29 | 京东方科技集团股份有限公司 | 一种图像升频系统、其训练方法及图像升频方法 |
US10506257B2 (en) * | 2015-09-28 | 2019-12-10 | Cybrook Inc. | Method and system of video processing with back channel message management |
CN108965871B (zh) * | 2015-09-29 | 2023-11-10 | 华为技术有限公司 | 图像预测的方法及装置 |
CN108475415B (zh) * | 2015-12-21 | 2022-05-27 | 商汤集团有限公司 | 用于图像处理的方法和系统 |
US10277896B2 (en) | 2016-01-22 | 2019-04-30 | Apple Inc. | Intra-frame prediction systems and methods |
GB201607994D0 (en) * | 2016-05-06 | 2016-06-22 | Magic Pony Technology Ltd | Encoder pre-analyser |
KR101974261B1 (ko) * | 2016-06-24 | 2019-04-30 | 한국과학기술원 | Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 |
US10283221B2 (en) * | 2016-10-27 | 2019-05-07 | International Business Machines Corporation | Risk assessment based on patient similarity determined using image analysis |
US10599935B2 (en) * | 2017-02-22 | 2020-03-24 | Arm Limited | Processing artificial neural network weights |
US10474896B2 (en) * | 2017-07-18 | 2019-11-12 | Facebook, Inc. | Image compression using content categories |
US10979718B2 (en) * | 2017-09-01 | 2021-04-13 | Apple Inc. | Machine learning video processing systems and methods |
US11729406B2 (en) * | 2019-03-21 | 2023-08-15 | Qualcomm Incorporated | Video compression using deep generative models |
US10426442B1 (en) * | 2019-06-14 | 2019-10-01 | Cycle Clarity, LLC | Adaptive image processing in assisted reproductive imaging modalities |
US20220328189A1 (en) * | 2021-04-09 | 2022-10-13 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems, methods, and apparatuses for implementing advancements towards annotation efficient deep learning in computer-aided diagnosis |
-
2018
- 2018-01-18 US US15/874,655 patent/US10979718B2/en active Active
- 2018-07-09 CN CN202311842708.7A patent/CN117793373A/zh active Pending
- 2018-07-09 WO PCT/US2018/041317 patent/WO2019045883A1/en active Application Filing
- 2018-07-09 CN CN201880056090.2A patent/CN111066326B/zh active Active
-
2021
- 2021-03-23 US US17/210,478 patent/US11616960B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN111066326A (zh) | 2020-04-24 |
US20190075301A1 (en) | 2019-03-07 |
CN111066326B (zh) | 2024-01-09 |
US10979718B2 (en) | 2021-04-13 |
WO2019045883A1 (en) | 2019-03-07 |
US20210211683A1 (en) | 2021-07-08 |
US11616960B2 (en) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111066326B (zh) | 机器学习视频处理系统和方法 | |
CN112291571B (zh) | 视频解码方法及装置以及计算机设备和存储介质 | |
WO2014054267A1 (ja) | 画像符号化装置及び画像符号化方法 | |
US9344732B2 (en) | Image encoding and decoding apparatus and method | |
CN109565587B (zh) | 具有上下文解码和重构旁路的视频编码的方法和系统 | |
US10277896B2 (en) | Intra-frame prediction systems and methods | |
CN107431805B (zh) | 编码方法和装置以及解码方法和装置 | |
US11659193B2 (en) | Framework for video conferencing based on face restoration | |
US11206418B2 (en) | Method of image encoding and facility for the implementation of the method | |
KR20190015218A (ko) | 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템 | |
KR20150093633A (ko) | 다단계 예측을 이용한 영상 부/복호화 방법 및 이러한 방법을 사용하는 부/복호화 장치 | |
CN116349225B (zh) | 视频解码方法和装置、电子设备和存储介质 | |
JP2023528641A (ja) | チャネル間相関情報を用いた適応的画像向上 | |
US20230388490A1 (en) | Encoding method, decoding method, and device | |
WO2023011420A1 (zh) | 编解码方法和装置 | |
WO2023208638A1 (en) | Post processing filters suitable for neural-network-based codecs | |
KR20120088372A (ko) | 고화질 영상을 위한 무손실 영상 압축방법, 압축 해제방법 및 이를 적용한 전자기기 | |
KR20230145096A (ko) | 신경망 기반 픽처 프로세싱에서의 보조 정보의 독립적 위치결정 | |
EP2899975A1 (en) | Video encoder with intra-prediction pre-processing and methods for use therewith | |
Lee et al. | A new intra prediction method using channel correlations for the H. 264/AVC intra coding | |
CN115769576B (zh) | 视频解码方法、视频解码设备以及计算机可读存储介质 | |
WO2024141694A1 (en) | A method, an apparatus and a computer program product for image and video processing | |
WO2024223209A1 (en) | An apparatus, a method and a computer program for video coding and decoding | |
JP5812806B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP2024045681A (ja) | ビデオコーディングのための方法、装置及びプログラム |
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 |