CN113574888A - 利用神经网络的预测性编码 - Google Patents
利用神经网络的预测性编码 Download PDFInfo
- Publication number
- CN113574888A CN113574888A CN202080010479.0A CN202080010479A CN113574888A CN 113574888 A CN113574888 A CN 113574888A CN 202080010479 A CN202080010479 A CN 202080010479A CN 113574888 A CN113574888 A CN 113574888A
- Authority
- CN
- China
- Prior art keywords
- neural network
- prediction
- block
- encoding
- generating
- 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.)
- Granted
Links
Images
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06N3/09—Supervised learning
-
- 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/103—Selection of coding mode or of prediction mode
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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
-
- 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/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/176—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 block, e.g. a macroblock
-
- 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
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Discrete Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了用于视频压缩的系统和方法,该系统和方法利用神经网络进行预测视频编码。所采用的过程将多个神经网络库与编解码器系统部件组合以执行视频数据的编码和解码。
Description
背景技术
本公开涉及视频压缩技术。
神经网络已应用于各种领域内的无数应用,包括医学、金融、工程和物理学。一般来讲,神经网络被训练成基于观察结果来预测感兴趣的信息。训练可通过监督学习过程来实现,其中学习了示例性的多对输入数据(观察)和输出数据(感兴趣的信息)之间的相关性。神经网络越大,神经网络就可更好地对输入数据与输出数据之间的复杂关系进行建模;但是,网络越大,训练计算的复杂性也越大。终端用户计算机的计算能力的最新增加使得大型神经网络的训练更加实用,从而使得神经网络成为用于分析复杂数据的合理解决方案。同时,机器学习技术的最新发展如今使得神经网络能够更好地应用于图像和视频压缩领域,从而解决对高清晰度(HD)、高动态范围(HDR)和广色域(WCG)内容进行流式传输的日益关注的问题。
一般来讲,神经网络由在给定架构(通常为层)中在空间上连接的节点(“神经元”)的系统构成,一个层中的节点为连接至其的下一个层中的节点馈送信息。训练神经网络导致由节点间连接的强度(“突触权重”)表示的“知识”。神经网络的输入数据作为加权组合被馈送到网络的第一层的每个节点中。接下来,根据激活函数转换每个节点的输入加权组合,从而得到节点的输出数据。然后在网络的其他中间层中传播和类似地处理来自第一层的输出数据,其中最后一层提供输出数据。因此,神经网络通过其节点的结构和这些节点的激活函数来表征。与每个节点的输入(即,每个节点的连接强度)相关联的权重通过迭代训练过程(例如,反向传播算法)根据训练参数(学习速率和成本函数)并基于对应的输入和输出数据的示例来学习。
附图说明
图1是根据本公开的一个方面的编码系统的功能框图。
图2是根据本公开的一个方面的解码系统的功能框图。
图3是根据本公开的一个方面的基于单库神经网络的预测器的框图。
图4是根据本公开的一个方面的基于多库神经网络的预测器的框图。
图5是根据本公开的一个方面的基于多库神经网络的编码器和解码器的框图。
图6是根据本公开的一个方面的自动编码器的框图。
图7是根据本公开的一个方面的编码器和解码器的框图。
具体实施方式
在本公开中,机器学习技术被集成到预测视频编码系统中,其中神经网络库与编解码器系统部件组合以执行视频数据的编码和解码。
现在将详细地参考本公开的方面,其示例在附图中示出。在下面的详细描述中给出了许多具体细节,以便提供对本发明的彻底理解。但是,对本领域技术人员将显而易见的是,本发明可在没有这些具体细节的情况下被实施。在其他情况下,没有详细地描述众所周知的方法、过程、部件和电路,从而不会不必要地使实施方案的各个方面晦涩难懂。
本公开中描述的系统和方法包括用于利用基于神经网络(NN)的编码以及基于变换的编码来对视频流进行编码的技术。在一个方面,对于待编码的输入帧的像素块,可以使用基于NN的预测或基于帧内/帧间的预测来生成像素块预测;可基于从视频流的先前编码的数据的参考数据导出的输入数据来执行像素块预测。残差块可以由像素块与像素块预测之间的差生成,并且可以被编码,从而产生编码的残差块。然后,残差块可以被编码并且可以与编码视频流中的相关联的编码参数一起被封装。可以根据基于NN的编码方法对残差块进行编码。另选地,当与基于NN的编码相关联的置信度分数低于某个阈值时,可基于基于变换的编码来执行对残差块的编码。
本公开的各方面还描述了用于对编码视频流进行解码的系统和方法。在一个方面,对于待解码的编码残差块,可以从编码视频流中提取编码残差块和相关联的编码参数。可以使用基于NN的解码或基于变换的解码基于编码参数对编码残差块进行解码,从而得到解码残差块。然后,可基于编码视频流的先前解码数据的参考数据生成像素块预测。并且,然后可以获得重构像素块作为解码残差块和像素块预测的和。类似于由编码器所执行的预测,解码器中的像素块预测可由基于NN的预测或基于帧内/帧间的预测来执行。
图1是根据本公开的一个方面的编码系统100的功能框图。编码系统100可包括编码器110、解码器120、回路滤波器130、参考画面缓冲器140、预测器150、控制器160、熵编码器170和语法单元180。预测器150可预测在新呈现的输入帧105的编码期间使用的图像数据;它可以基于从参考画面缓冲器140检索到的参考数据为输入帧105提供估计值。编码器110然后可对每个输入帧与其预测版本(即残差帧)之间的差异进行编码,从而应用基于NN的编码、基于变换的编码或这两种技术的组合。接下来,编码器110可将编码残差帧提供给熵编码器170。通常,熵编码是无损过程,即,熵编码器的输入处的编码数据可以从熵编码器的输出处的熵编码数据完全恢复。熵编码器170可以进一步减小由编码器110生成的代码的带宽,从而实现熵编码方法,诸如运行长度编码、霍夫曼编码、哥伦布编码、上下文自适应二进制算术编码或任何其他合适的编码方法。在熵编码之后,将熵编码帧呈现给语法单元180。语法单元180可以将熵编码帧与对应的编码参数一起被封装在符合管理编码协议的编码视频流中。编码器110还可将编码帧提供给解码器120。解码器120可对编码帧进行解码,从而生成解码帧,即重构帧。接下来,回路滤波器130可对重构帧执行一个或多个滤波操作,该一个或多个滤波操作可解决由编码器110和解码器120执行的处理所引入的伪影。参考画面缓冲器140可以存储经滤波的重构帧。然后预测器150可使用这些存储的参考帧来预测稍后接收的帧。
本文相对于帧所述的编码过程可相对于帧的子区域以较低粒度执行。例如,编码器110、解码器120和预测器150可独立于帧的每个像素块、片段、最大编码单元(“LCU”)或编码树单元(“CTU”)操作,无论该操作涵盖一个帧还是多个帧。
编码器110可包括减法器112、基于变换的编码器114、基于NN的编码器116和代码选择器118。基于变换的编码器114通常包括变压器和量化器。编码器110可在减法器112的输入处接收输入帧105。减法器112可从由预测器150提供的其对应的预测帧中减去所接收的帧,反之亦然。该减法运算可导致残差帧。编码器110然后可决定采用基于NN的编码116或基于变换的编码114将什么编码技术应用于残差帧(或该残差帧内的每个像素块)。例如,代码选择器118可从基于NN的编码器116接收置信度分数。如果该置信度分数低于某个阈值,则代码选择器118可选择由基于变换的编码器118提供的代码;否则,其可选择由基于NN的编码器116提供的代码。另选地,编码器110可例如基于编码参数(例如,预测元数据)来确定针对某个帧或块可应用基于变换的编码114还是基于NN的编码116。
如果应用基于变换的编码,则基于变换的编码器114可以变换所接收的残差帧或像素块—将残差帧或像素块从其原始像素域映射到变换域中,从而产生由变换系数组成的变换帧或块。在该变换之后,量化器可量化变换系数。另选地,如果应用基于NN的编码,则基于NN的编码器116可对所接收的残差帧或像素块进行编码,如下文所详述。如所讨论的,基于变换的编码器114和基于NN的编码器116均可并行使用,并且代码选择器118可例如基于置信度分数来选择任一者的输出。
基于变换的编码器114可以利用多种变换模式M,如可以由控制器160确定的。一般来讲,基于变换的编码通过将像素的能量压缩成变换块内的较少变换系数来减少像素块内的空间冗余,从而允许在高能量系数上花费更多比特,同时在低能量系数上花费更少比特或根本不花费比特。例如,基于变换的编码器114可以应用变换模式,诸如离散余弦变换(“DCT”)、离散正弦变换(“DST”)、Walsh-Hadamard变换、Haar变换或Daubechies小波变换。在一个方面,控制器160可以:选择待应用的变换模式M;相应地配置基于变换的编码器114的变压器;以及将编码模式M明确地或隐含地存储在编码参数的记录中。在变压器的操作之后,基于变换的编码器114的量化器可根据一个或多个量化参数QP操作,并且可根据可由控制器160确定的设置应用均匀或非均匀量化技术。在一个方面,量化参数QP可以是向量。在这种情况下,量化操作可以针对每个变换块和每个变换块内的每个系数或系数组采用不同的量化参数。
如上所述,控制器160可设置可用于配置编码器110的编码参数,包括基于变换的编码器114的参数(例如,变压器和量化器的参数)和基于NN的编码器116的参数。此外,此类编码参数可包括控制确定是基于变换的编码器还是基于NN的编码器用于对特定帧或像素块进行编码的逻辑的参数。控制器160可以设置可用于另外配置熵编码器170和语法单元180的编码参数。编码参数可与编码残差一起被封装在编码视频流190中,从而可用于解码系统200(图2)。相关的编码参数也可用于解码器120-使编码参数可用于基于变换的解码器124和基于NN的解码器126。
依赖于预测性编码技术的视频编码系统通常包括解码功能。在一个方面,图1的视频编码100包括解码器120,该解码器恢复被指定为“参考帧”的帧的图像数据,该参考帧是指将用于由预测器150进行预测的帧。在不存在传输误差或其他操作异常的情况下,解码器120应产生与由图2的远端视频解码系统200生成的恢复参考帧相同的恢复帧。一般来讲,解码器120反转编码器110所施加的编码操作。例如,解码器120可包括基于变换的解码器124、基于NN的解码器126和加法器122。基于变换的解码器124可包括逆量化器和逆变压器。逆量化器可反转基于变换的编码器114的量化器的操作,从而执行如由QP所指定的均匀或非均匀去量化。类似地,逆变压器可使用如由M所指定的变换模式反转基于变换的编码器114的变压器的操作。因此,为了反转基于变换的编码器114的编码操作,逆量化器和逆变压器可使用相同的量化参数QP和变换模式M作为它们的对应物。需注意,量化是有损运算,因为变换系数被量化器(根据QP)截断,因此这些系数的初始值不能被逆量化器恢复,从而导致编码误差。
加法器122可以反转由减法器112所执行的操作。因此,基于变换的解码器124或基于NN的解码器126的输出可以是由减法器112输出的残差帧的编码/解码版本,即重构的残差帧。加法器122可以将重构的残差帧添加到由预测器150提供的预测帧(通常是与预测器150在减法器112的输出处提供的用于生成残差帧的预测帧相同的预测帧)。因此,可在加法器122的输出处获得输入帧105的编码/解码版本,即重构的输入帧。
回路滤波器130可从加法器122获得重构的输入帧,并且可对重构的输入帧执行各种滤波操作,特别是以减轻通过独立地处理来自不同像素块的数据而生成的伪影,如可由编码器110和解码器120执行的。因此,回路滤波器130可以包括例如去块滤波器132和样本自适应偏移(“SAO”)滤波器134。回路滤波器130还可采用执行自适应回路滤波(“ALF”)、基于最大似然(“ML”)的滤波方案、去振铃、去带环、锐化、分辨率缩放和其他此类操作的其他滤波器。在滤波之后,经滤波的重构输入帧可被存储在参考画面缓冲器140中。
预测器150可包括模式选择器152、基于帧内的预测器154、基于帧间的预测器156和基于NN的预测器158。预测器150可以将帧或像素块预测基于能够从存储在参考画面缓冲器140中的参考数据访问的先前编码/解码帧或像素块。可以根据可以由模式选择器152确定的多个预测模式中的一个预测模式来完成预测。例如,在基于帧内的预测模式中,预测器可以使用来自相同当前编码的输入帧的先前编码/解码的像素块来生成来自该当前编码的输入帧的像素块的估计。因此,参考画面缓冲器140可以存储其当前正在编码的输入帧的编码/解码像素块。相比之下,在基于帧间的预测模式中,预测器可以使用来自先前帧或当前帧和先前帧的先前编码/解码的像素块来生成来自当前编码的输入帧的像素块的估计。参考画面缓冲器140可以存储这些编码/解码的参考帧。另选地,模式选择器152可以选择基于NN的预测模式,以便生成当前编码的输入帧的估计或来自当前编码的输入帧的像素块的估计。
因此,基于帧间的预测器156可接收待编码的新输入帧105的输入像素块。为此,基于帧间的预测器可以在参考画面缓冲器140中搜索要用于预测该输入像素块的匹配像素块。另一方面,基于帧内的预测器154可以搜索参考画面缓冲器140,从而将其搜索限制为与属于相同输入帧105的参考块匹配。并且,基于NN的预测器158可使用来自相同输入帧和/或来自先前帧的信息来执行预测。所有这些预测器可生成预测元数据PM、用于预测的记录参数,例如所使用的一个或多个参考帧的标识符、所使用的参考块的位置(例如,运动向量)或所使用的神经网络库的索引和/或参数。
模式选择器152可以确定预测模式或选择最终预测模式。例如,基于基于帧内的预测器154、基于帧间的预测器156和/或基于NN的预测器158的预测性能,模式选择器152可选择导致更准确预测的预测模式。然后可以将与所选择的预测模式对应的预测帧或像素块提供给减法器112,该减法器112可基于该预测帧或像素块生成残差帧或块。通常,模式选择器152选择在给定目标比特率预算的情况下实现最低编码失真的模式。当编码模式被选择为满足编码系统100可遵循的其他策略,诸如满足特定信道行为、或支持随机接入或数据刷新策略时,可能出现例外。在一个方面,可以采用多假设预测模式,在这种情况下,可以针对多个预测假设中的每个预测假设重复基于帧内的预测器154、基于帧间的预测器156和/或基于NN的预测器158的操作。
控制器160可以控制编码系统100的整个操作。控制器160可以基于输入像素块的分析和/或基于外部约束诸如编码比特率目标和其他操作参数来选择编码器110和预测器150的操作参数。例如,模式选择器152可以向控制器160输出预测元数据PM,包括预测模式和对应的参数。然后,控制器160可将那些预测元数据添加到所有其他编码参数(例如,M和QP)的记录,并且可将那些编码参数递送到语法单元180以与编码残差一起被封装。
如上所述,在操作期间,控制器160能够以视频帧的不同粒度(逐像素块或以较大粒度级别(例如,逐帧、逐片、逐LCU或逐CTU))设置编码器110的操作参数。例如,可在编码帧内逐像素地修改基于变换的编码器114的量化器的量化参数。另外,如所讨论的,控制器160可以控制解码器120、回路滤波器130、预测器150、熵编码器170和语法单元180的操作。例如,预测器150可以接收关于模式选择的控制数据,例如,要采用的特定模式以及参考数据内的搜索窗口的大小。回路滤波器130可接收关于滤波器选择及其参数的控制数据。
图2是根据本公开的一个方面的解码系统200的功能框图。解码系统200可包括解码器210、回路滤波器230、参考画面缓冲器240、预测器250、控制器260、熵解码器270和语法单元280。
该语法单元280可以接收图1的编码视频流190,并且可以将该数据流解析成其组成部分,包括表示编码参数和熵编码残差的数据。表示编码参数的数据可以被递送给控制器260,而表示熵编码残差的数据可以被递送给熵解码器270。熵解码器270可以执行熵解码以反转由熵编码器170执行的过程,并且可以向解码器210呈现编码残差(由图1的编码器110产生)。预测器250可以使用由编码参数中提供的预测元数据PM指定的这些参考帧或像素块,基于参考画面缓冲器240中可用的参考帧来预测当前解码的帧或块。然后,可将预测的帧或块提供给解码器210。解码器210通常可通过反转编码器110所施加的编码操作来产生重构视频帧。回路滤波器230可对重构视频帧进行滤波。然后可从解码系统输出经滤波的重构视频帧,即输出视频290。如果经滤波的重构视频帧被指定为用作参考帧,则它们可被存储在参考画面缓冲器240中。
与编码器110协作,并且以相反顺序,解码器210可包括基于变换的解码器214、基于NN的解码器216和加法器212。类似地,基于变换的解码器214和基于NN的解码器216可反转分别由基于变换的编码器114和基于NN的编码器216执行的过程。例如,对于由基于变换的编码器114编码的那些帧或像素块,逆量化器可反转量化操作,并且逆变压器可反转可由基于变换的编码器114执行的变换操作。因此,逆量化器可使用由从编码视频流解析的编码参数提供的量化参数QP。类似地,逆变压器可以使用由从编码视频流解析的编码参数提供的变换模式M。如所讨论的,在基于变换的编码中,通常,量化操作是编码失真的主要原因—量化器截断其量化的数据,并且因此截断逆量化器的输出,继而,当与分别呈现给基于变换的编码器114的量化器和变压器的输入相比时,在逆变压器的输出处重构的残差帧具有编码误差。
加法器212可反转由图1的减法器112所执行的操作。从预测器250接收预测帧或像素块,加法器212可以将这些预测数据添加到由基于变换的解码器214或基于NN的解码器216提供的对应的重构残差帧或像素块。因此,加法器212可以将重构视频帧输出到回路滤波器230。
回路滤波器230可对所接收的重构视频帧执行各种滤波操作,如由从编码视频流190解析的编码参数所指定的。例如,回路滤波器230可包括去块滤波器232和SAO滤波器234。其他滤波器可执行ALF、基于ML的滤波方案、去振铃、去带环、锐化或分辨率缩放。回路滤波器230也可采用其他类似的操作。这样,回路滤波器230的操作可模拟编码系统100的对应回路滤波器130的操作。因此,回路滤波器230可输出经滤波的重构视频帧,即,输出视频290。输出视频290可由主机系统使用(例如,显示、存储和/或处理)和/或可进一步传输到另一个系统。
参考画面缓冲器240可存储参考视频帧,诸如由回路滤波器230提供的经滤波的重构视频帧。那些参考视频帧可用于其他帧或像素块的后续预测。因此,预测器250可以访问存储在参考画面缓冲器240中的参考帧或像素块,并且可以检索在预测元数据PM中指定的那些参考帧或像素块。同样,预测器250可以采用如在预测元数据PM中指定的预测方法及其相关参数。预测元数据可以是从编码视频流190解析的编码参数的一部分。预测器250然后可执行预测,并且可将预测的帧或像素块提供给解码器210。
控制器260可以控制解码系统200的整个操作。因此,控制器260可基于从编码视频流190解析的编码参数来设置解码器210、回路滤波器230、预测器250和熵解码器270的操作参数。能够以视频帧的各种粒度设置编码参数,例如,逐像素块、逐帧、逐片、逐LCU、逐CTU或基于针对输入图像定义的其他类型的区域。这些操作参数可以包括量化参数QP、变换模式M和预测元数据PM。编码参数还可包括将由基于NN的解码器216和基于NN的预测器250使用的基于NN的编码参数。与神经网络库相关联的参数可包括相对于某个像素块使用的库的索引以及与每个库相关联的权重。例如,编码参数可包括神经网络库的参数,该参数用于预测某个帧或块并且可被提供给预测器250。在特定帧或块的预测中使用的神经网络库的权重可从服务器访问或者可以是编码参数的一部分。
基于NN的预测器158可采用一个或多个神经网络来执行预测。图3示出了基于单库NN的预测器。例如,神经网络310可接收能够从参考画面缓冲器140访问的当前编码帧和/或先前编码帧提取的先前编码的像素块(参考数据)作为输入。另选地或除此之外,神经网络310可接收先前编码的像素块的经处理版本作为输入。然后,基于权重320,W预测器,网络可生成预测数据,例如像素块预测,其预测当前编码的像素块。通常,W预测器通过训练过程获得,其中神经网络“学习”多对输入数据(观察)和输出数据(感兴趣的信息)之间的相关性。因此,当与新观察一起呈现时,库基于其学习的权重来预测感兴趣的信息。如本文所公开的方面所应用的,神经网络310可被训练以基于先前编码的像素块(通常在该当前编码的像素块的时空邻域内)或基于这些先前编码的像素块的表示来预测当前编码的像素块。此类表示可包括例如通过将参考数据从像素域变换为变换域或者通过从参考数据提取特征向量来提供的变换系数。如所讨论的,为了在解码器中再现某个像素块预测,预测器250可获得对与编码器中在该某个像素块的预测中使用的相同库相关的数据的访问–例如,库索引、库的权重和用于预测的参考数据(例如,要预测的像素块的预先确定的邻域中的先前编码的像素块)。
在一个方面,可以使用多于一个库来生成像素块的预测。图4示出了基于NN的预测器,其可包括预处理器410、多个神经网络库(库420、430和440)以及混频器450。预处理器410的输入可以是能够从参考画面缓冲器140访问的参考数据。此类参考数据可包括先前编码的图像信息,诸如来自当前编码帧或其他先前编码帧的先前编码的像素块。参考数据可由预处理器410进一步处理以生成多个版本InBn。例如,预处理器410可将参考数据从其像素域转换成其他数据域和/或可从参考数据中提取特征向量。另选地或除此之外,预处理器410可将参考数据按原样递送到库420、430和440。在一个方面,预处理器410可从当前编码块的各个邻域内的参考数据中提取数据,其中这些邻域的时空大小和图像分辨率可变化。例如,可以对参考数据进行二次采样以生成不同分辨率的图像金字塔,可以分级处理该图像金字塔以生成预测数据。因此,预测器(基于NN或基于帧间/基于帧内的预测器)可基于参考数据的低分辨率版本来执行初始预测,然后可基于参考数据的较高分辨率来细化该初始预测。此类分级处理提供了更稳定和准确的预测,尤其是在处理高运动视频内容时。
构成基于NN的预测器158的库的数量以及它们的预测可被组合的方式可由神经网络学习。因此,例如,可以训练库n以预测像素块,从而得到预测PBn以及预测该预测的可能性(表示为Pn)。然后混频器450可分别基于其可能性P1、P2、...、PN来组合各种像素块预测PB1、PB2、...、PBN。例如,混频器450可基于线性组合或更一般地经由任何非线性函数PB=f(PBn,Pn):n=[1,N]来组合预测。可通过选择具有最高可能性的预测器的子集来确定要在某个像素块的预测中使用的库的数量–其中较高可能性可对应于较低预测误差。
在本公开的一个方面,神经网络还可用于对残差帧进行编码和解码。因此,当与残差帧一起呈现时,可训练基于NN的编码器116以生成编码残差帧,并且当与编码残差帧一起呈现时,可训练基于NN的解码器216以生成解码残差帧。在一个方面,预测相关数据也可被馈送到基于NN的编码器116和基于NN的解码器216中。预测相关数据可以包括块预测和对应的预测参数。例如,预测参数可包括所使用的预测器的类型(基于NN的、基于帧间或基于帧内的预测器)。如果使用基于NN的预测器,则预测参数还可包括所使用的库的索引及其可能性Pn。
类似于基于NN的预测器,基于NN的编码器116和基于NN的解码器216可包括一个或多个神经网络库。图5示出了基于NN的编码器510和基于NN的解码器550。基于NN的编码器510可包括预处理器520、库530、532和534以及混频器540。同样,基于NN的解码器550可包括预处理器560、库570、572和574,以及混频器580。基于NN的编码器510可接收包括残差数据、预测相关数据或它们的组合的输入数据515。输入数据515可为帧子区域(诸如像素块、片、LCU或CTU)的粒度。例如,当编码相对于像素块时,输入数据515可以包括残差块和对应的预测相关数据(块预测和/或其预测参数)。基于NN的编码器510可生成编码残差数据545。例如,当编码相对于像素块时,编码残差数据545可以包括编码残差块。类似地,基于NN的解码器550可接收输入数据555,包括编码残差数据、预测相关数据或它们的组合。输入数据555可为帧子区域(诸如像素块、片、LCU或CTU)的粒度。例如,当解码相对于像素块时,输入数据555可以包括编码残差块和对应的预测相关数据(块预测和/或其预测参数)。基于NN的解码器550可生成解码残差数据585。例如,当编码相对于像素块时,解码残差数据585可以包括解码残差块。
预处理器520可处理输入数据515,从而创建这些数据的若干版本-InB1、InB2和InBN-以分别呈现给库530、532和534。例如,预处理器520可将输入数据515从一个域(例如,像素域)变换到另一个域(例如,频域)和/或可从输入数据515提取特征向量。另选地或除此之外,预处理器520可将输入数据按原样递送到库530、532和534。类似地,预处理器560可处理输入数据555,从而创建这些数据的若干版本-InB1、InB2和InBN-以分别呈现给库570、572和574。例如,预处理器560可将输入数据555从代码域变换为变换域和/或可从输入数据555提取特征向量。另选地或除此之外,预处理器560可将输入数据555原样递送到库570、572和574。
编码器的混频器540和解码器的混频器580可以组合从它们相应的库生成的输出。构成基于NN的编码器510和基于NN的解码器550的库的数量以及它们的输出可被组合的方式可由神经网络学习。因此,例如,可训练编码器510的库n以生成编码残差块,从而得到CRBn,以及预测该代码的可能性,表示为Pn。然后,混频器540可以分别基于其可能性P1、P2、...、P2来组合各种编码残差块CRB1、CRB2、...、CRBN。例如,混频器540可基于线性组合或更一般地经由任何非线性函数CRB=f(CRBn,Pn):n=[1,N]来组合编码残差块。可通过选择具有最高可能性的CRB1、CRB2、...、CRBN的子集来确定要在某个残差块的编码中使用的库的数量-其中较高可能性可对应于较低编码误差。同样,可训练解码器550的库n以生成解码残差块,从而得到RBn,以及预测该解码残差块的可能性,表示为Pn。然后,混频器580可以分别基于其可能性P1、P2、...、PN来组合各种解码残差块RB1、RB2、...、RBN。例如,混频器580可基于线性组合RBnPn或更一般地经由任何非线性函数RB=f(RBn,Pn):n=[1,N]来组合解码残差块。还可通过选择具有最高可能性的RB1、RB2、...、RBN的子集来确定解码中要使用的库的数量,其中较高可能性可对应于较低编码误差。需注意,当基于NN的编码器510和基于NN的解码器550被训练时,基于NN的编码器510的输出可用于基于NN的解码器550的训练过程。
在一个方面,可以使用自动编码器完成残差块的编码和解码。图6示出了自动编码器相对于基于NN的编码器116和基于NN的解码器216的库对的训练。一般来讲,自动编码器是被训练以输出其输入的副本的神经网络。因此,自动编码器的神经网络可分为两个网络(库)-编码器库610和解码器库620。在一个方面,自动编码器600的输入可以是输入数据X(例如,残差块),并且自动编码器600的输出可以是重构的输入数据XR(例如,重构的残差块)。而表示为h的隐藏层的输出数据可构成编码器库610的输出和解码器库620的输入。因此,自动编码器可由编码函数h=f(X)表示,该编码函数被设计成提供输入数据X的压缩表示和重构函数XR=g(h)=g(f(X))。为了获得足够接近输入数据X的重构输入数据XR,通过使X与XR之间的距离最小化的学习过程来训练自动编码器,即,学习过程使距离函数D(X,g(f(X))最小化。学习过程可导致编码器库的权重615和解码器库的权重625稍后(在实时操作中)可分别用于对残差块进行编码和解码。
在一个方面,自动编码器600可以利用除输入数据X之外的辅助数据XA来产生XR。例如,编码器库610可接收由预测器150生成的残差块以及预测相关数据(例如,块预测和/或其预测参数)作为输入。辅助数据可以允许利用残差块与其对应的预测相关数据之间可能存在的任何相关性。在这种情况下,编码函数可以是h=f(X,XA)。因此,为了获得足够接近输入数据X的重构输入数据XR,可以训练自动编码器,使得距离函数D(X,g(f(X,XA))最小化。
在本公开的一个方面,图4的库420、430和440以及图5的库530、532、534、570、572和574可为不同类型,其特征在于例如它们的网络架构、激活函数(例如,单极sigmoid、双极sigmoid、正切双曲线或径向基函数)、超参数、训练成本函数和训练数据类别。典型的超参数可以是学习速率、动量、批量大小或权重衰减速率。例如,可训练基于NN的预测器158、基于NN的编码器116和基于NN的解码器126的不同库以不同比特率或以不同端到端成本函数操作。类似地,可基于来自不同类别的数据来训练不同库,这可能是因为视频帧可能包含非静止数据,其中视频的统计属性跨一个帧(在空间上)和跨多个帧(在时间上)变化。因此,本公开的各方面可通过针对特定类别的视频特征训练每个库来对此类不同的特征进行建模。
支持多个库可以增加解码器的操作的复杂性,尤其是相对于在对残差块216进行解码时或在执行基于NN的预测250时将用于从一个库切换到另一个库的存储器带宽。另一方面,可使用一大组库来满足不同的视频内容特征。因此,利用库的参数(即,库的特性和权重)之间的相似性来减少解码过程中使用的库的总数可能是有利的。另外,尽管可预定义(例如,可从服务器访问)库的参数,但也可将它们编码并封装在编码视频流中。在这种情况下,利用与相邻像素块相关联的库之间的相似性可允许将这些库的参数更有效地编码到编码视频流中。例如,解码器200在使用基于NN的预测器预测某个像素块时,可利用神经网络库,该神经网络库通过使用相同的库(或使用其变型)已经被用于相邻像素块的预测。因此,相对于某个块,编码器100可向解码器200(作为与该某个块相关联的预测参数的一部分)提供库的参数以用于预测该某个块,或者,相反,编码器可提供指示解码器基于与先前预测的块相关联的库的参数来导出新库的参数的指示。因此,在一个方面,解码器可能需要的用于预测某个像素块的库的参数可以从已经用于预测相邻像素块的库的参数导出。类似地,在另一方面,解码器可能需要的用于对特定残差块进行解码的库的参数可以从已经用于对相邻残差块进行解码的库的参数导出。
在本文所公开的一个方面,库的权重可利用在线机器学习技术使用动态训练来细化。例如,基于NN的预测器158可包括其中基于最新可用的训练数据来更新库的参数的操作。最新可用的训练数据可以是多对(当前处理的像素块的)参考数据和对应的预测数据。这些对应的预测数据可以是由基于帧内的预测器154、基于帧间的预测器156或任何其他预测方法生成的数据。类似地,基于NN的编码器116可包括其中基于最新可用的训练数据来更新库的参数的操作。最新可用的训练数据可以是当前处理的残差块、预测相关数据和对应的编码残差块。例如,对应的编码残差块可以是由基于变换的编码器114生成的数据。
图7示出了本公开的另一个方面。其中,视频编码器710可接收视频流715并且可产生编码视频流755。编码视频流755可被提供给视频解码器750,该视频解码器继而可产生重构的视频流790。可使用基于NN的预测器、基于帧内的预测器或基于帧间的预测器基于参考数据生成像素块的预测(框720)。可通过从所生成的像素块预测中减去像素块来产生残差块(框725)。然后可以使用基于NN的编码器或基于变换的编码器执行残差块的编码(框730)。经编码的残差可与相应的编码参数一起被封装在编码视频流中(框735)。编码视频流可被存储以供稍后参考,或者可通过通信链路传输到接收终端,其中编码视频流可由解码器750进行解码(由箭头755表示)。
在解码过程期间,可以提取编码残差块和相应的编码参数(框760)。使用基于NN的解码器或基于变换的解码器,可以对编码残差块进行解码(框765),从而得到重构的残差块。基于参考数据生成像素块预测,从而复制框720中所示的预测(框770)。解码器可以将重构的残差块添加到像素块预测,从而得到重构的像素块(框775)。编码器710和解码器750能够以像素块的粒度操作,如图7所示,或者如所讨论的,也能够以其他粒度级别操作。
前述讨论已在视频编码器和解码器的上下文中描述了本公开各个方面的操作。这些部件常常作为电子设备来提供。视频解码器和/或控制器可以被嵌入在集成电路中,诸如专用集成电路、现场可编程门阵列和/或数字信号处理器。另选地,它们可以被嵌入到在相机设备、个人计算机、笔记本电脑、平板电脑、智能电话或计算机服务器上执行的计算机程序中。此类计算机程序通常存储在物理存储介质诸如基于电子、基于磁性的存储设备和/或基于光学的存储设备中,在这些介质中,它们被读取到处理器中并被执行。解码器常常被封装在消费电子设备中,诸如智能电话、平板电脑、游戏系统、DVD播放器、便携式媒体播放器等。它们也可以被封装在消费软件应用中,诸如视频游戏、媒体播放器、媒体编辑器等等。并且,当然,这些部件可被提供作为根据需要在专用硬件部件和经编程的通用处理器上具有分布式功能的混合系统。
视频编码器和解码器可以多种方式通过信道来交换视频。它们可以经由通信和/或计算机网络彼此通信,如图1所示。在其他应用中,视频编码器可以将视频数据输出给存储设备,诸如电、磁和/或光学存储介质,所述存储设备可以在稍后某个时候被提供给解码器。在此类应用中,解码器可以从存储设备检索所编码的视频数据并对其进行解码。
本文具体示出和/或描述了本发明的若干实施方案。然而,应当理解,在不脱离本发明的实质和预期范围的情况下,本发明的修改和变型由上述教导内容涵盖并且在所附权利要求的范围内。
Claims (29)
1.一种用于对视频流进行编码的方法,包括:
对于待编码的输入帧的像素块,基于根据所述视频流的先前编码的数据的参考数据得到的输入数据生成像素块预测;
生成表示所述像素块与所述像素块预测之间的差的残差块;
对所述残差块进行编码;以及
将所述编码残差块和相关联的编码参数封装在编码视频流中,
其中所述生成像素块预测和所述对所述残差块进行编码中的至少一者使用基于神经网络的过程来执行。
2.根据权利要求1所述的方法,还包括:
当所述基于神经网络的过程是基于神经网络的预测时,使用基于帧间的预测和基于帧内的预测中的一者生成第二像素块预测;以及
当与所述像素块预测相关联的失真的估计高于与所述第二像素块预测相关联的失真的估计时,使用所述第二像素块预测来生成残差块。
3.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的预测时,所述基于神经网络的预测包括从所述参考数据提取特征向量。
4.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的预测时,所述基于神经网络的预测包括将所述参考数据从像素域变换到变换域。
5.根据权利要求1所述的方法,其中所述基于神经网络的过程基于神经网络库的输出与这些输出的对应可能性的组合。
6.根据权利要求1所述的方法,其中在所述基于神经网络的过程中使用的神经网络库通过网络架构、激活函数、超参数、训练成本函数、训练数据类别、权重或它们的任何组合来表征。
7.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的编码时,所述对所述残差块进行编码包括当与所述基于神经网络的编码相关联的置信度分数低于阈值时执行基于变换的编码。
8.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的编码时,所述基于神经网络的编码包括基于与所述生成像素块预测相关的数据进行编码。
9.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的编码时,所述基于神经网络的编码包括从所述残差块提取特征向量。
10.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的编码时,所述基于神经网络的编码包括将所述残差块从像素域变换到变换域。
11.根据权利要求1所述的方法,其中在所述基于神经网络的过程中使用的神经网络库被训练成以与用于训练所述基于神经网络的过程的其他神经网络库的比特率或成本函数不同的比特率或不同的成本函数操作。
12.根据权利要求1所述的方法,其中所述生成像素块预测基于所述像素块的时空邻域内的参考数据并且以一个或多个数据分辨率进行。
13.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的预测时,基于参考数据和预测数据来更新在所述基于神经网络的预测中使用的神经网络库的权重,所述预测数据在所述视频流的编码期间根据所述参考数据生成。
14.根据权利要求13所述的方法,其中所述预测数据使用所述基于神经网络的预测、基于帧内的预测或基于帧间的预测来生成。
15.根据权利要求1所述的方法,其中当所述基于神经网络的过程是基于神经网络的编码时,基于残差块和编码残差块来更新在所述基于神经网络的编码中使用的神经网络库的权重,所述编码残差块在所述视频流的编码期间根据所述残差块生成。
16.根据权利要求15所述的方法,其中所述编码残差块通过所述基于神经网络的编码或基于变换的编码生成。
17.根据权利要求15所述的方法,其中基于在所述视频流的编码期间生成的预测相关数据来更新所述权重。
18.一种用于对编码视频流进行解码的方法,所述方法包括:
对于待解码的编码残差块,从所述编码视频流提取所述编码残差块和相关联的编码参数;
基于所述编码参数对所述编码残差块进行解码,从而生成解码残差块;
基于根据所述编码视频流的先前解码数据的参考数据得到的输入数据生成像素块预测;以及
生成重构像素块,所述重构像素块是所述解码残差块和所述像素块预测的和,
其中所述生成像素块预测和对所述编码残差块进行解码中的至少一者使用基于神经网络的过程来执行。
19.根据权利要求18所述的方法,其中所述基于神经网络的过程基于神经网络库的输出与这些输出的对应可能性的组合。
20.根据权利要求18所述的方法,其中在所述基于神经网络的过程中使用的神经网络库通过网络架构、激活函数、超参数、训练成本函数、训练数据类别、权重或它们的任何组合来表征。
21.根据权利要求18所述的方法,其中当所述基于神经网络的过程是基于神经网络的解码时,所述基于神经网络的解码包括基于与所述生成像素块预测相关的数据进行解码。
22.根据权利要求18所述的方法,其中当所述基于神经网络的过程是基于神经网络的预测时,所述生成像素块预测包括:
基于从以下权重得到的权重来生成像素块预测:由所述基于神经网络的预测使用以用于生成相邻像素块预测的神经网络库的权重。
23.根据权利要求18所述的方法,其中当所述基于神经网络的过程是基于神经网络的解码时,所述对所述编码残差块进行解码包括:
基于从以下权重得到的权重来生成解码残差块:由所述基于神经网络的解码使用以用于对相邻残差块进行解码的神经网络库的权重。
24.一种计算机系统,包括:
至少一个处理器;
至少一个存储器,所述至少一个存储器包括被配置为由所述至少一个处理器执行以执行以下方法的指令,所述方法包括:
对于待解码的编码残差块,从所述编码视频流提取所述编码残差块和相关联的编码参数;
基于所述编码参数对所述编码残差块进行解码,从而生成解码残差块;
基于根据所述编码视频流的先前解码数据的参考数据得到的输入数据生成像素块预测;以及
生成重构像素块,所述重构像素块是所述解码残差块和所述像素块预测的和,
其中所述生成像素块预测和对所述编码残差块进行解码中的至少一者使用基于神经网络的过程来执行。
25.根据权利要求24所述的系统,其中所述基于神经网络的过程基于神经网络库的输出与这些输出的对应可能性的组合。
26.根据权利要求24所述的系统,其中在所述基于神经网络的过程中使用的神经网络库通过网络架构、激活函数、超参数、训练成本函数、训练数据类别、权重或它们的任何组合来表征。
27.根据权利要求24所述的系统,其中当所述基于神经网络的过程是基于神经网络的解码时,所述基于神经网络的解码包括基于与所述生成像素块预测相关的数据进行解码。
28.根据权利要求24所述的系统,其中当所述基于神经网络的过程是基于神经网络的预测时,所述生成像素块预测包括:
基于从以下权重得到的权重来生成像素块预测:由所述基于神经网络的预测使用以用于生成相邻像素块预测的神经网络库的权重。
29.根据权利要求24所述的系统,其中当所述基于神经网络的过程是基于神经网络的解码时,所述对所述编码残差块进行解码包括:
基于从以下权重得到的权重来生成解码残差块:由所述基于神经网络的解码使用以用于对相邻残差块进行解码的神经网络库的权重。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/254,528 | 2019-01-22 | ||
| US16/254,528 US11240492B2 (en) | 2019-01-22 | 2019-01-22 | Neural network based residual coding and prediction for predictive coding |
| PCT/US2020/013279 WO2020154119A1 (en) | 2019-01-22 | 2020-01-13 | Predictive coding with neural networks |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113574888A true CN113574888A (zh) | 2021-10-29 |
| CN113574888B CN113574888B (zh) | 2024-08-13 |
Family
ID=69500872
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202080010479.0A Active CN113574888B (zh) | 2019-01-22 | 2020-01-13 | 利用神经网络的预测性编码 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US11240492B2 (zh) |
| CN (1) | CN113574888B (zh) |
| DE (1) | DE112020000471T5 (zh) |
| WO (1) | WO2020154119A1 (zh) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4546785A3 (en) * | 2017-10-13 | 2025-07-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Intra-prediction mode concept for block-wise picture coding |
| CN114096987A (zh) * | 2019-07-03 | 2022-02-25 | 韩国科学技术院 | 视频处理方法及装置 |
| CN112235583B (zh) * | 2019-07-15 | 2021-12-24 | 华为技术有限公司 | 基于小波变换的图像编解码方法及装置 |
| EP4035376A1 (en) * | 2019-09-24 | 2022-08-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multiple stage residual coding in modern hybrid image and video coding solutions |
| CN114731396B (zh) * | 2019-11-08 | 2025-09-26 | 交互数字Ce专利控股有限公司 | 图像块的深度帧内预测 |
| WO2021107965A1 (en) * | 2019-11-26 | 2021-06-03 | Google Llc | Ultra light models and decision fusion for fast video coding |
| WO2021112652A1 (ko) * | 2019-12-05 | 2021-06-10 | 한국전자통신연구원 | 영역 차등적 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체 |
| US11284071B2 (en) * | 2019-12-12 | 2022-03-22 | Google Llc | Combination of mode-dependent and fixed transform types in video coding |
| US11223833B2 (en) * | 2020-01-05 | 2022-01-11 | Isize Limited | Preprocessing image data |
| CN114286099B (zh) | 2020-09-28 | 2025-03-21 | 华为技术有限公司 | 帧内预测方法及装置 |
| CN114501031B (zh) * | 2020-11-13 | 2023-06-02 | 华为技术有限公司 | 一种压缩编码、解压缩方法以及装置 |
| WO2022147745A1 (zh) * | 2021-01-08 | 2022-07-14 | 深圳市大疆创新科技有限公司 | 编码方法、解码方法和编码装置、解码装置 |
| US11670011B2 (en) * | 2021-01-11 | 2023-06-06 | Industry-Academic Cooperation Foundation Yonsei University | Image compression apparatus and learning apparatus and method for the same |
| US11915457B2 (en) * | 2021-01-19 | 2024-02-27 | Tencent America LLC | Method and apparatus for adaptive neural image compression with rate control by meta-learning |
| EP4262207A4 (en) | 2021-02-22 | 2024-03-27 | Samsung Electronics Co., Ltd. | Device for image encoding and decoding using ai and method for image encoding and decoding by same |
| EP4250729A4 (en) | 2021-02-22 | 2024-05-01 | Samsung Electronics Co., Ltd. | Ai-based image encoding and decoding apparatus, and method by same |
| EP4289137A1 (en) * | 2021-05-07 | 2023-12-13 | Google LLC | Video inter/intra compression using mixture of experts |
| EP4354871A4 (en) * | 2021-08-06 | 2024-08-21 | Samsung Electronics Co., Ltd. | Ai-based image encoding and decoding device, and method performed thereby |
| WO2023043154A1 (ko) | 2021-09-17 | 2023-03-23 | 삼성전자 주식회사 | Ai를 이용하여 영상을 부호화 및 복호화하는 장치, 및 방법 |
| WO2023055267A1 (en) * | 2021-09-29 | 2023-04-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Efficient transmission of decoding information |
| EP4432233A1 (en) | 2021-11-09 | 2024-09-18 | Samsung Electronics Co., Ltd. | Image encoding device and image decoding device using ai, and method for encoding and decoding image by same |
| CN114463227B (zh) * | 2022-02-24 | 2025-02-28 | 复旦大学 | 一种适用于神经网络滤波器的残差映射方法 |
| CN115529457B (zh) * | 2022-09-05 | 2024-05-14 | 清华大学 | 基于深度学习的视频压缩方法和装置 |
| KR20240081971A (ko) | 2022-12-01 | 2024-06-10 | 삼성전자주식회사 | 뉴럴 코덱 및 뉴럴 코덱의 학습 방법 |
| US20240223785A1 (en) * | 2022-12-29 | 2024-07-04 | Samsung Electronics Co., Ltd. | Electronic device and method with image encoding and decoding |
| US12380547B2 (en) * | 2023-04-20 | 2025-08-05 | Charter Communications Operating, Llc | Avatar based mitigation of sporadic pixelation in digital video |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107396124A (zh) * | 2017-08-29 | 2017-11-24 | 南京大学 | 基于深度神经网络的视频压缩方法 |
| CN107925762A (zh) * | 2015-09-03 | 2018-04-17 | 联发科技股份有限公司 | 基于神经网络的视频编解码处理方法和装置 |
| WO2018199051A1 (ja) * | 2017-04-25 | 2018-11-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法および復号方法 |
| CN108737823A (zh) * | 2018-04-04 | 2018-11-02 | 中国传媒大学 | 基于超分辨技术的图像编码方法和装置、解码方法和装置 |
| WO2019009491A1 (ko) * | 2017-07-06 | 2019-01-10 | 삼성전자 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0551524A4 (en) | 1991-08-05 | 1994-08-10 | Kawasaki Steel Co | Signal processor and learning method thereof |
| RU2492586C2 (ru) | 2008-10-27 | 2013-09-10 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ автоматического формирования процедуры генерации прогнозируемого значения пикселя, способ кодирования изображений, способ декодирования изображений, соответствующее устройство, соответствующие программы и носители информации, которые хранят программы |
| US8724701B1 (en) | 2011-04-18 | 2014-05-13 | Google Inc. | Using object decomposition to improve the selection of example-based predictors |
| US8805104B1 (en) | 2011-05-11 | 2014-08-12 | Google Inc. | Selecting example-based predictors based on spatial continuity |
| GB2491391B (en) | 2011-06-02 | 2014-09-03 | Canon Kk | Encoding mode values representing prediction modes |
| WO2014158050A1 (en) * | 2013-03-28 | 2014-10-02 | Huawei Technologies Co., Ltd. | Method for determining predictor blocks for a spatially scalable video codec |
| EP3310058B1 (en) * | 2015-06-12 | 2023-02-22 | Panasonic Intellectual Property Management Co., Ltd. | Image coding method, image decoding method, image coding device and image decoding device |
| WO2017178783A1 (en) * | 2016-04-15 | 2017-10-19 | Pony Technology Limited Magic | Motion compensation using machine learning |
| KR102252298B1 (ko) * | 2016-10-21 | 2021-05-14 | 삼성전자주식회사 | 표정 인식 방법 및 장치 |
| EP3603070A1 (en) * | 2017-05-26 | 2020-02-05 | Google LLC | Tiled image compression using neural networks |
| WO2019009452A1 (ko) | 2017-07-06 | 2019-01-10 | 삼성전자 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
| US20190043193A1 (en) * | 2017-08-01 | 2019-02-07 | Retina-Ai Llc | Systems and Methods Using Weighted-Ensemble Supervised-Learning for Automatic Detection of Retinal Disease from Tomograms |
| EP3451293A1 (en) * | 2017-08-28 | 2019-03-06 | Thomson Licensing | Method and apparatus for filtering with multi-branch deep learning |
| US20190087712A1 (en) * | 2017-09-18 | 2019-03-21 | Qualcomm Incorporated | Neural Network Co-Processing |
| KR102535361B1 (ko) * | 2017-10-19 | 2023-05-24 | 삼성전자주식회사 | 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법 |
| US10841577B2 (en) * | 2018-02-08 | 2020-11-17 | Electronics And Telecommunications Research Institute | Method and apparatus for video encoding and video decoding based on neural network |
| GB2575628A (en) * | 2018-07-09 | 2020-01-22 | Nokia Technologies Oy | Video processing |
| US10769310B2 (en) * | 2018-07-20 | 2020-09-08 | Nxp B.V. | Method for making a machine learning model more difficult to copy |
| US11601644B2 (en) * | 2018-12-11 | 2023-03-07 | Google Llc | Image and video coding using machine learning prediction coding models |
-
2019
- 2019-01-22 US US16/254,528 patent/US11240492B2/en active Active
-
2020
- 2020-01-13 WO PCT/US2020/013279 patent/WO2020154119A1/en not_active Ceased
- 2020-01-13 CN CN202080010479.0A patent/CN113574888B/zh active Active
- 2020-01-13 DE DE112020000471.6T patent/DE112020000471T5/de active Pending
-
2022
- 2022-01-04 US US17/568,266 patent/US12192440B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107925762A (zh) * | 2015-09-03 | 2018-04-17 | 联发科技股份有限公司 | 基于神经网络的视频编解码处理方法和装置 |
| WO2018199051A1 (ja) * | 2017-04-25 | 2018-11-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法および復号方法 |
| WO2019009491A1 (ko) * | 2017-07-06 | 2019-01-10 | 삼성전자 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
| CN107396124A (zh) * | 2017-08-29 | 2017-11-24 | 南京大学 | 基于深度神经网络的视频压缩方法 |
| CN108737823A (zh) * | 2018-04-04 | 2018-11-02 | 中国传媒大学 | 基于超分辨技术的图像编码方法和装置、解码方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE112020000471T5 (de) | 2021-10-14 |
| US12192440B2 (en) | 2025-01-07 |
| US20220191473A1 (en) | 2022-06-16 |
| CN113574888B (zh) | 2024-08-13 |
| US11240492B2 (en) | 2022-02-01 |
| WO2020154119A1 (en) | 2020-07-30 |
| US20200236349A1 (en) | 2020-07-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113574888B (zh) | 利用神经网络的预测性编码 | |
| Hu et al. | Improving deep video compression by resolution-adaptive flow coding | |
| Lombardo et al. | Deep generative video compression | |
| CN115956363A (zh) | 用于后滤波的内容自适应在线训练方法及装置 | |
| JP7356513B2 (ja) | ニューラルネットワークのパラメータを圧縮する方法および装置 | |
| US12108050B2 (en) | Method, an apparatus and a computer program product for video encoding and video decoding | |
| JP7434604B2 (ja) | ニューラル画像圧縮における画像置換を用いたコンテンツ適応型オンライン訓練 | |
| CN115604485B (zh) | 视频图像的解码方法及装置 | |
| KR20200109904A (ko) | Dnn 기반 이미지 또는 비디오 코딩을 위한 시스템 및 방법 | |
| EP4413501A1 (en) | Transformer based neural network using variable auxiliary input | |
| Han et al. | Deep generative video compression | |
| CN119156819A (zh) | 用于视觉数据处理的方法、设备和介质 | |
| CN115735359A (zh) | 用于神经图像压缩中的内容自适应在线训练的方法和设备 | |
| JP2025502448A (ja) | データ処理の方法、装置及び媒体 | |
| WO2024217530A1 (en) | Method and apparatus for image encoding and decoding | |
| WO2024170794A1 (en) | Method and data processing system for lossy image or video encoding, transmission and decoding | |
| CN116114248B (zh) | 用于视频编码的方法和设备及计算机可读存储介质 | |
| CN115209155B (zh) | 用于低码率视频压缩的微量处理 | |
| CN115604486B (zh) | 视频图像的编解码方法及装置 | |
| CN118844064A (zh) | 用于数据处理的方法、装置及介质 | |
| CN118020306A (zh) | 视频编解码方法、编码器、解码器及存储介质 | |
| Dhungel et al. | An efficient video compression network | |
| Diaz-Honrubia et al. | CTU splitting algorithm for H. 264/AVC and HEVC simultaneous encoding | |
| Jadhav | Variable rate video compression using a hybrid recurrent convolutional learning framework | |
| US20240305785A1 (en) | Efficient warping-based neural video codec |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |