CN116918329A - 一种视频帧的压缩和视频帧的解压缩方法及装置 - Google Patents
一种视频帧的压缩和视频帧的解压缩方法及装置 Download PDFInfo
- Publication number
- CN116918329A CN116918329A CN202180076647.0A CN202180076647A CN116918329A CN 116918329 A CN116918329 A CN 116918329A CN 202180076647 A CN202180076647 A CN 202180076647A CN 116918329 A CN116918329 A CN 116918329A
- Authority
- CN
- China
- Prior art keywords
- video frame
- current video
- neural network
- frame
- feature
- 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
- 238000007906 compression Methods 0.000 title claims abstract description 450
- 230000006835 compression Effects 0.000 title claims abstract description 436
- 238000000034 method Methods 0.000 title claims abstract description 206
- 230000006837 decompression Effects 0.000 title claims description 58
- 238000013528 artificial neural network Methods 0.000 claims abstract description 618
- 230000008569 process Effects 0.000 claims abstract description 98
- 238000012545 processing Methods 0.000 claims description 73
- 238000009826 distribution Methods 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 14
- 230000005284 excitation Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 239000000523 sample Substances 0.000 claims 2
- 239000000758 substrate Substances 0.000 claims 2
- 238000012549 training Methods 0.000 description 155
- 238000010586 diagram Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 37
- 230000003287 optical effect Effects 0.000 description 34
- 238000004891 communication Methods 0.000 description 26
- 238000013473 artificial intelligence Methods 0.000 description 17
- 230000009286 beneficial effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/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
-
- 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
-
- 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
-
- 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
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
- 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/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive 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/124—Quantisation
-
- 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/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
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种视频帧的压缩和视频帧的解压缩方法及装置,方法包括:根据网络选择策略从多个神经网络中确定目标神经网络,通过目标神经网络生成与当前视频帧对应的压缩信息,若压缩信息通过第一神经网络得到,则压缩信息包括当前视频帧的第一特征的第一压缩信息,当前视频帧的参考帧用于当前视频帧的第一特征的压缩过程;若压缩信息通过第二神经网络得到,则压缩信息包括当前视频帧的第二特征的第二压缩信息,当前视频帧的参考帧用于当前视频帧的第二特征的生成过程。当压缩信息通过第一神经网络得到时,避免了误差在逐帧之间累积,以提高视频帧的重建帧的质量;综合第一神经网络和第二神经网络的优点,以尽量减少需要传输的数据量。
Description
本申请要求于2020年11月13日提交中国专利局、申请号为202011271217.8、发明名称为“一种压缩编码、解压缩方法以及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及人工智能领域,尤其涉及一种视频帧的压缩和视频帧的解压缩方法及装置。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
目前,基于深度学习(deep learning)的神经网络对视频帧进行压缩是人工智能常见的一个应用方式。具体的,编码器通过神经网络计算当前视频帧相对于当前视频帧的参考帧的光流,生成原始的当前视频视频帧相对于参考帧的光流,将前述光流进行压缩编码,得到压缩后的光流,当前视频帧的参考帧和当前视频帧均归属于当前视频序列,当前视频帧的参考帧为对当前视频帧进行压缩编码时需要参考的视频帧。对该压缩后的光流进行解压缩得到解压缩后的光流,根据解压缩后的光流和参考帧,生成预测的当前视频帧,通过神经网络计算原始的当前视频帧与预测的当前视频帧之间的残差,对前述残差进行压缩编码。将压缩后的光流和压缩后的残差发送给解码器,从而解码器可以根据解压缩后的参考帧、解压缩后的光流以及解压缩后的残差,通过神经网络得到解压缩后的当前视频帧。
由于在上述通过神经网络得到解压缩后的视频帧的过程中,过于依赖解压缩后的参考帧的质量,且误差会逐帧累积,因此,一种提高视频帧的重建帧的质量的方案亟待推出。
发明内容
本申请提供了一种视频帧的压缩和视频帧的解压缩方法及装置,当压缩信息通过第一神经网络得到时,当前视频帧的重建帧的质量不会依赖于当前视频帧的参考帧的重建帧的质量,进而避免了误差在逐帧之间累积,以提高视频帧的重建帧的质量;此外,综合第一神经网络和第二神经网络的优点,以实现在尽量减少需要传输的数据量的基础上,提高视频帧的重建帧的质量。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种视频帧的压缩方法,可将人工智能技术应用于视频帧编解码领域中。方法可以包括:编码器根据网络选择策略从多个神经网络中确定目标神经网络, 多个神经网络包括第一神经网络和第二神经网络;通过目标神经网络对当前视频帧进行压缩编码,以得到与当前视频帧对应的压缩信息。
其中,若压缩信息通过第一神经网络得到,则压缩信息包括当前视频帧的第一特征的第一压缩信息,当前视频帧的参考帧用于当前视频帧的第一特征的压缩过程,且当前视频帧的参考帧不用于当前视频帧的第一特征的生成过程;也即当前视频帧的第一特征是仅基于当前视频帧就能得到的,当前视频帧的第一特征的生成过程中不需要借助当前视频帧的参考帧。若压缩信息通过第二神经网络得到,则压缩信息包括当前视频帧的第二特征的第二压缩信息,当前视频帧的参考帧用于当前视频帧的第二特征的生成过程。
当前视频帧为包括于当前视频序列中的原始视频帧;当前视频帧的参考帧可以是当前视频序列中的原始视频帧,也可以不是当前视频序列中的原始视频帧。当前视频帧的参考帧可以是通过编码网络对原始的参考帧进行变换编码,再通过解码网络进行逆变换解码后得到的视频帧;或者,当前视频帧的参考帧是编码器对原始的参考帧进行压缩编码并进行解压缩后得到的视频帧。
本实现方式中,由于当压缩信息通过第一神经网络得到时,压缩信息携带的是当前视频帧的第一特征的压缩信息,而当前视频帧的参考帧仅用于当前视频帧的第一特征的压缩过程,不用于当前视频帧的第一特征的生成过程,从而解码器在根据第一压缩信息执行解压缩操作以得到当前视频帧的第一特征后,不需要借助当前视频帧的参考帧就能够得到当前视频帧的重建帧,所以当压缩信息通过第一神经网络得到时,该当前视频帧的重建帧的质量不会依赖于该当前视频帧的参考帧的重建帧的质量,进而避免了误差在逐帧之间累积,以提高视频帧的重建帧的质量;此外,由于当前视频帧的第二特征是根据当前视频帧的参考帧生成的,第二特征的第二压缩信息所对应的数据量比第一特征的第一压缩信息所对应的数据量小,编码器可以利用第一神经网络和第二神经网络,来对当前视频序列中不同的视频帧进行处理,以综合第一神经网络和第二神经网络的优点,以实现在尽量减少需要传输的数据量的基础上,提高视频帧的重建帧的质量。
在第一方面的一种可能实现方式中,第一神经网络包括编码(Encoding)网络和熵编码层,其中,通过编码网络从当前视频帧中获取当前视频帧的第一特征;通过熵编码层对当前视频帧的第一特征进行熵编码,以输出第一压缩信息。进一步地,当前视频帧的第一特征为通过第一编码网络对当前视频帧进行变换编码,在进行变换编码之后会再进行量化后得到的。
在第一方面的一种可能实现方式中,第二神经网络包括卷积网络和熵编码层,卷积网络包括多个卷积层和激励ReLU层,其中,通过卷积网络利用所述当前视频帧的参考帧得到所述当前视频帧的残差,通过熵编码层对当前视频帧的残差进行熵编码处理,以输出第二压缩信息。
在第一方面的一种可能实现方式中,若压缩信息通过第二神经网络得到,则编码器通过目标神经网络对当前视频帧进行压缩编码,以得到与当前视频帧对应的压缩信息,可以包括:编码器生成原始的当前视频帧相对于当前视频帧的参考帧的光流,将前述光流进行压缩编码,得到压缩后的光流,其中,当前视频帧的第二特征包括原始的当前视频帧相对 于当前视频帧的参考帧的光流。
可选地,编码器还可以对该压缩后的光流进行解压缩得到解压缩后的光流,根据解压缩后的光流和当前视频帧的参考帧,生成预测的当前视频帧;编码器计算原始的当前视频帧与预测的当前视频帧之间的残差;其中,当前视频帧的第二特征包括原始的当前视频帧相对于当前视频帧的参考帧的光流和原始的当前视频帧与预测的当前视频帧之间的残差。
在第一方面的一种可能实现方式中,网络选择策略与如下任一种或多种因素相关:当前视频帧的位置信息或当前视频帧所携带的数据量。
在第一方面的一种可能实现方式中,编码器根据网络选择策略从多个神经网络中确定目标神经网络,包括:编码器获取当前视频帧在当前视频序列中的位置信息,其中,位置信息用于指示当前视频帧为当前视频序列的第X帧,当前视频帧在当前视频序列中的位置信息具体可以表现为索引号,该索引号具体可以表现为字符串的形式。编码器根据位置信息,从多个神经网络中选取目标神经网络。或者,编码器根据网络选择策略从多个神经网络中确定目标神经网络,包括:编码器根据当前视频帧的属性,从多个神经网络中选取目标神经网络,其中,当前视频帧的属性用于反映当前视频帧所携带的数据量,当前视频帧的属性包括以下中的任一种或多种的组合:当前视频帧的熵、对比度和饱和度。
本实现方式中,根据当前视频帧在当前视频序列中的位置信息,从多个神经网络中选取目标神经网络;或者,可以根据当前视频的至少一种属性,从多个神经网络中选取目标神经网络,进而能够利用目标神经网络生成当前视频帧的压缩信息,提供了多种简单、易操作的实现方案,提高了本方案的实现灵活性。
在第一方面的一种可能实现方式中,方法还可以包括:编码器生成并发送与一个或多个压缩信息一一对应的至少一个指示信息。其中,每个指示信息用于指示一个压缩信息通过第一神经网络和第二神经网络中的目标神经网络得到,也即该一个指示信息用于指示一个压缩信息是通过第一神经网络和第二神经网络中的哪一个神经网络得到的。
本实现方式中,解码器能够获取到与多个压缩信息对应的多个指示信息,从而解码器能够得知当前视频序列中的每个视频帧是采用第一神经网络和第二神经网络中的哪个神经网络来执行解压缩操作,有利于提高解码器对压缩信息进行解码的时间,也即有利于提高整个编码器和解码器进行视频帧传输的效率。
在第一方面的一种可能实现方式中,若压缩信息通过第一神经网络得到,则编码器通过目标神经网络对当前视频帧进行压缩编码,以得到与当前视频帧对应的压缩信息,可以包括:编码器通过编码网络从所述当前视频帧中获取当前视频帧的第一特征;通过熵编码层根据当前视频帧的参考帧,对当前视频帧的特征进行预测,以生成当前视频帧的预测特征;其中,当前视频帧的预测特征为当前视频帧的第一特征的预测结果,当前视频帧的预测特征和当前视频帧的第一特征的数据形状相同。编码器根据通过熵编码层当前视频帧的预测特征,生成当前视频帧的第一特征的概率分布;当前视频帧的第一特征的概率分布包括当前视频帧的第一特征的均值和当前视频帧的第一特征的方差。编码器通过熵编码层根据当前视频帧的第一特征的概率分布,对当前视频帧的第一特征进行熵编码,得到第一压缩信息。
本实现方式中,由于编码器为根据当前视频帧的预测特征生成当前视频帧的第一特征的概率分布,进而根据当前视频帧的第一特征的概率分布,对当前视频帧的第一特征进行压缩编码,从而得到当前视频帧的第一压缩信息,由于当前视频帧的预测特征与第一特征之间的相似度越高,对第一特征的压缩率就会越大,最后得到的第一压缩信息就会越小,而当前视频帧的预测特征为根据当前视频帧的参考帧,对当前视频帧的特征进行预测得到的,以提高当前视频帧的预测特征与当前视频帧的第一特征之间的相似度,从而能够降低压缩后的第一压缩信息的大小,也即不仅能够保证解码器获得的重建帧的质量,也能减少编码器与解码器传输的数据量的大小。
在第一方面的一种可能实现方式中,第一神经网络和第二神经网络均为执行过训练操作的神经网络,第一神经网络的模型参数是根据第一神经网络的第一损失函数进行更新的。其中,第一损失函数包括第一训练视频帧和第一训练重建帧之间的相似度的损失项和第一训练视频帧的压缩信息的数据大小的损失项,第一训练重建帧为第一训练视频帧的重建帧;第一损失函数的训练目标包括拉近第一训练视频帧和第一训练重建帧之间的相似度,还包括减小第一训练视频帧的第一压缩信息的大小。在根据一个或多个第二训练视频帧、第二训练视频帧的参考帧和第二损失函数对第二神经网络进行训练的过程中,第二损失函数包括第二训练视频帧和第二训练重建帧之间的相似度的损失项和第二训练视频帧的压缩信息的数据大小的损失项。其中,第二训练重建帧为第二训练视频帧的重建帧,第二训练视频帧的参考帧为经过第一神经网络处理过的视频帧;第二损失函数的训练目标包括拉近第二训练视频帧和第二训练重建帧之间的相似度,还包括减小第二训练视频帧的第二压缩信息的大小。
本实现方式中,由于在执行阶段,第二神经网络所采用的参考帧可能是经过第一神经网络处理过的,则采用由第一神经网络处理过的参考帧来对第二神经网络执行训练操作,有利于保持训练阶段和执行阶段的一致性,以提高执行阶段的准确率。
第二方面,本申请实施例提供了一种视频帧的压缩方法,可将人工智能技术应用于视频帧编解码领域中。编码器通过第一神经网络对当前视频帧进行压缩编码,以得到当前视频帧的第一特征的第一压缩信息,当前视频帧的参考帧用于当前视频帧的第一特征的压缩过程;通过第一神经网络生成第一视频帧,第一视频帧为当前视频帧的重建帧。
编码器通过第二神经网络对当前视频帧进行压缩编码,以得到当前视频帧的第二特征的第二压缩信息,当前视频帧的参考帧用于当前视频帧的第二特征的生成过程;通过第二神经网络生成第二视频帧,第二视频帧为当前视频帧的重建帧。
编码器根据第一压缩信息、第一视频帧、第二压缩信息和第二视频帧,确定与当前视频帧对应的压缩信息,其中,确定的压缩信息是通过第一神经网络得到的,确定的压缩信息为第一压缩信息;或者,确定的压缩信息是通过第二神经网络得到的,确定的压缩信息为第二压缩信息。
本实现方式中,根据至少一个当前视频帧的第一压缩信息、第一视频帧、当前视频帧的第二压缩信息以及第二视频帧,从第一压缩信息和第二压缩信息中选取最终需要发送的压缩信息;相对于按照网络选择策略从多个神经网络中确定目标神经网络,再利用目标神 经网络生成目标压缩信息的方式,能够尽量提高整个当前视频序列所对应的压缩信息的性能。
在第二方面的一种可能实现方式中,针对当前视频序列中不同的视频帧,编码器可以采用相同的目标压缩信息的选取方式。具体的,编码器根据第一压缩信息和第一视频帧,计算与第一压缩信息对应的第一评分值(也即第一神经网络所对应的第一评分值),根据第二压缩信息和第二视频帧,计算与第二压缩信息对应的第二评分值(也即第二神经网络所对应的第二评分值),编码器从第一评分值和第二评分值中选取取值最低的评分值,从第一压缩信息和第二压缩信息中确定取值最低的评分值所对应的压缩信息确定为当前视频帧的压缩信息,也即确定取值最低的评分值所对应的神经网络为目标神经网络。
本实现方式中,对于当前视频序列中的每个视频帧,编码器均先通过第一神经网络和第二神经网络对当前视频帧执行压缩操作,并获取与第一压缩信息对应的第一评分值,以及与第二压缩信息对应的第二评分值,并从中确定取值最低的评分值,能够尽量使得与整个当前视频序列中所有视频帧的评分值较低,以提高整个当前视频序列所对应的压缩信息的性能。
在第二方面的一种可能实现方式中,编码器可以将一个周期作为计算单位,根据与一个周期内的前两个当前视频帧对应的两个第一评分值,生成与一个周期内多个第一评分值对应的第一拟合公式的系数和偏移量的值;并根据与一个周期内的前两个当前视频帧对应的两个第二评分值,生成与一个周期内多个第二评分值对应的第二拟合公式的系数和偏移量的值。编码器根据第一拟合公式和第二拟合公式,从第一压缩信息和第二压缩信息中确定当前视频帧的压缩信息,其中,优化目标为使得一个周期内的总评分值的平均值最小,也即优化目标为使得一个周期内的总评分值的取值最小。
本申请实施例中,技术人员在研究中发现单个周期内的第一评分值和第二评分值的变化规律,并将一个周期内的总评分值的平均值最低做为优化目标,也即在确定与每个当前视频帧对应的目标压缩信息时,不仅要考虑当前视频帧的评分值,还会考虑整个周期内的评分值的平均值,以进一步降低与整个当前视频序列中所有视频帧所对应的评分值,以进一步提高整个当前视频序列所对应的压缩信息的性能。
本申请实施例的第二方面中,编码器还可以执行第一方面的各个可能实现方式中编码器执行的步骤,对于本申请实施例第二方面以及第二方面的各种名词的含义、各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第三方面,本申请实施例提供了一种视频帧的压缩方法,可将人工智能技术应用于视频帧编解码领域中。方法可以包括:编码器通过第一神经网络对第三视频帧进行压缩编码,以得到与第三视频帧对应的第一压缩信息,第一压缩信息包括第三视频帧的第一特征的压缩信息,第三视频帧的参考帧用于第三视频帧的第一特征的压缩过程;编码器通过第二神经网络对第四视频帧进行压缩编码,以得到与第四视频帧对应的第二压缩信息,第二压缩信息包括第四视频帧的第二特征的压缩信息,第四视频帧的参考帧用于第四视频帧的第二特征的生成过程。
本申请实施例的第三方面中,编码器还可以执行第一方面的各个可能实现方式中编码器执行的步骤,对于本申请实施例第三方面以及第三方面的各种名词的含义、各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第四方面,本申请实施例提供了一种视频帧的解压缩方法,可将人工智能技术应用于视频帧编解码领域中。解码器获取当前视频帧的压缩信息,根据当前视频帧的压缩信息,通过目标神经网络执行解压缩操作,以得到当前视频帧的重建帧。其中,目标神经网络为为从多个神经网络中选择出的一个神经网络,多个神经网络包括第三神经网络和第四神经网络。若目标神经网络为第三神经网络,则压缩信息包括当前视频帧的第一特征的第一压缩信息,当前视频帧的参考帧用于第一压缩信息的解压缩过程,以得到当前视频帧的第一特征,当前视频帧的第一特征用于当前视频帧的重建帧的生成过程;若目标神经网络为第四神经网络,则压缩信息包括当前视频帧的第二特征的第二压缩信息,第二压缩信息用于供解码器执行解压缩操作以得到当前视频帧的第二特征,当前视频帧的参考帧和当前视频帧的第二特征用于当前视频帧的重建帧的生成过程,当前视频帧的重建帧和当前视频帧的参考帧被包括于当前视频序列。
在第四方面的一种可能实现方式中,第三神经网络包括熵解码层和解码Decoding网络,其中,通过熵解码层利用当前视频帧的参考帧执行当前视频帧的第一压缩信息的熵解码过程,通过解码网络利用当前视频帧的第一特征生成当前视频帧的重建帧。
进一步地,若压缩信息为通过第三神经网络进行解压缩,则解码器根据当前视频帧的压缩信息,通过目标神经网络执行解压缩操作,以得到当前视频帧的重建帧,可以包括:解码器根据当前视频帧的预测特征,生成第一特征的概率分布,其中,当前视频帧的预测特征为根据当前视频帧的参考帧,对第一特征进行预测得到的。解码器根据第一特征的概率分布,对压缩信息进行熵解码,得到第一特征,对第一特征进行逆变换解码以得到当前视频帧的重建帧。
在第四方面的一种可能实现方式中,第四神经网络包括熵解码层和卷积网络,其中,通过熵解码层对第二压缩信息进行熵解码,通过卷积网络利用当前视频帧的参考帧和当前视频帧的第二特征执行当前视频帧的重建帧的生成过程。
进一步地,若压缩信息为通过第四神经网络进行解压缩,则解码器根据当前视频帧的压缩信息,通过目标神经网络执行解压缩操作,以得到当前视频帧的重建帧,可以包括:解码器对第二压缩信息进行解压缩处理,得到第四视频帧的第二特征,也即得到了原始的当前视频帧相对于当前视频帧的参考帧的光流和原始的当前视频帧与预测的当前视频帧之间的残差。编码器根据原始的当前视频帧相对于当前视频帧的参考帧的光流和当前视频帧的参考帧,对当前视频帧进行预测,得到预测的当前视频帧;根据原始的当前视频帧与预测的当前视频帧之间的残差和预测的当前视频帧,生成当前视频帧的重建帧。
在第四方面的一种可能实现方式中,方法还可以包括:解码器获取与至少一个压缩信息一一对应的至少一个指示信息;根据该至少一个指示信息和当前视频帧的压缩信息,从包括第三神经网络和第四神经网络的多个神经网络中确定与当前视频帧对应的目标神经网 络。
对于本申请实施例第四方面以及第四方面的各种名词的含义和每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第五方面,本申请实施例提供了一种视频帧的解压缩方法,可将人工智能技术应用于视频帧编解码领域中。解码器通过第三神经网络对第三视频帧的第一压缩信息进行解压缩,以得到第三视频帧的重建帧,第一压缩信息包括第三视频帧的第一特征的压缩信息,第三视频帧的参考帧用于第一压缩信息的解压缩过程,以得到第三视频帧的第一特征,第三视频帧的第一特征用于第三视频帧的重建帧的生成过程。解码器通过第四神经网络对第四视频帧的第二压缩信息进行解压缩,以得到解压缩后的第四视频帧,第二压缩信息包括第四视频帧的第二特征的压缩信息,第二压缩信息用于供解码器执行解压缩操作以得到第四视频帧的第二特征,第四视频帧的参考帧和第四视频帧的第二特征用于第四视频帧的重建帧的生成过程。
本申请实施例的第五方面中,解码器还可以执行第四方面的各个可能实现方式中解码器执行的步骤,对于本申请实施例第五方面以及第五方面的各种名词的含义、各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第四方面中各种可能的实现方式中的描述,此处不再一一赘述。
第六方面,本申请实施例提供了一种编码器,其特征在于,包括处理电路,用于执行上述第一方面、第二方面、第三方面、第四方面或第五方面中任一方面所述的方法。
第七方面,本申请实施例提供了一种解码器,其特征在于,包括处理电路,用于执行上述第一方面、第二方面、第三方面、第四方面或第五方面中任一方面所述的方法。
第八方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述第一方面、第二方面、第三方面、第四方面或第五方面中任一方面所述的方法。
第九方面,本申请实施例提供了一种编码器,可以包括一个或多个处理器,非瞬时性计算机可读存储介质,耦合到所述处理器,存储有所述处理器执行的程序指令,其中,所述程序指令在由所述处理器执行时,使得所述编码器实现上述第一方面、第二方面或第三方面所述的视频帧的压缩方法。
第十方面,本申请实施例提供了一种解码器,可以包括一个或多个非瞬时性计算机可读存储介质,耦合到所述处理器,存储有所述处理器执行的程序指令,其中,所述程序指令在由所述处理器执行时,使得所述解码器执行时实现上述第四方面或第五方面所述的视频帧的解压缩方法。
第十一方面,本申请实施例提供了一种非瞬时性计算机可读存储介质,所述非瞬时性计算机可读存储介质包括程序代码,当包括程序代码在计算机上运行时,使得计算机执行上述第一方面、第二方面、第三方面、第四方面或第五方面中任一方面所述的方法。
第十二方面,本申请实施例提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面、第二方面、第三方面、第四方面或第五方面中任一方面所述的方法。
第十三方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各个方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
图1a为本申请实施例提供的人工智能主体框架的一种结构示意图;
图1b为本申请实施例提供的视频帧的压缩及解压缩方法的一种应用场景图;
图1c为本申请实施例提供的视频帧的压缩及解压缩方法的另一种应用场景图;
图2为本申请实施例提供的视频帧的压缩方法的一种原理示意图;
图3为本申请实施例提供的视频帧的压缩方法的一种流程示意图;
图4为本申请实施例提供的视频帧的压缩方法中当前视频帧的位置与采用的目标神经网络之间对应关系的一种示意图;
图5a为本申请实施例提供的第一神经网络的一种结构示意图;
图5b为本申请实施例提供的第二神经网络的一种结构示意图;
图5c为本申请实施例提供的视频帧的压缩方法中第一特征和第二特征的一种对比示意图;
图6为本申请实施例提供的视频帧的压缩方法的另一种原理示意图;
图7a为本申请实施例提供的视频帧的压缩方法的另一种流程示意图;
图7b为本申请实施例提供的视频帧的压缩方法中第一评分值和第二评分值的一个示意图;
图7c为本申请实施例提供的视频帧的压缩方法中计算第一拟合公式的系数和偏移量的值以及第二拟合公式的系数和偏移量的一个示意图;
图8为本申请实施例提供的视频帧的压缩方法的另一种流程示意图;
图9为本申请实施例提供的视频帧的压缩方法的一个示意图;
图10a为本申请实施例提供的视频帧的解压缩方法的一种流程示意图;
图10b为本申请实施例提供的视频帧的解压缩方法的另一种流程示意图;
图11为本申请实施例提供的视频帧的解压缩方法的另一种流程示意图;
图12为本申请实施例提供的视频帧的压缩以及解压缩系统的训练方法一种流程示意图;
图13为本申请实施例提供的视频编解码系统的一种系统架构图;
图14为本申请实施例提供的视频编解码系统的另一种系统架构图;
图15为本申请实施例提供的视频译码设备的一种示意图;
图16为本申请实施例提供的装置的一种简化框图。
本申请的说明书和权利要求书及上述附图中的术语“第一”、第二”等是用于区别类似 的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
首先对人工智能系统总体工作流程进行描述,请参见图1a,图1a示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,作为示例,该智能芯片包括中央处理器(central processing unit,CPU)、神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field programmable gate array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理, 语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、智慧城市等。
本申请实施例主要可以应用于对上述各种应用领域中需要对视频中的视频帧进行编解码的场景中。具体的,为了更直观地理解本方案的应用场景,请参阅图1b,图1b为本申请实施例提供的视频帧的压缩及解压缩方法的一种应用场景图。参阅图1b,例如客户端的相册中可以存储有视频,就会存储将相册中的视频发送至云端服务器的需求,则客户端(也即编码器)可以利用AI技术将视频帧进行压缩编码,得到每个视频帧所对应的压缩信息;将每个视频帧所对应的压缩信息传输给云端服务器,对应的,云端服务器(也即解码器)可以利用AI技术进行解压缩,以得到视频帧的重建帧,应理解,图1b中的示例仅为方便理解本方案,不用于限定本方案。
作为另一示例,例如智慧城市领域中,监控会需要将采集到的视频发送给管理中心,则监控(也即编码器)在将视频发送给管理中心之前,需要对视频中的视频帧进行压缩,对应的,管理中心(也即解码器)需要对视频中的视频帧进行解压缩,以得到视频帧。
作为另一示例,为了更直观地理解本方案的应用场景,请参阅图1c,图1c为本申请实施例提供的视频帧的压缩及解压缩方法的另一种应用场景图。图1c中以本申请实施例应用于直播场景中为例,主播利用客户端进行视频的采集,客户端需要将采集的视频发送给服务器,再由服务器将视频分发给观看用户,则客户端(也即编码器)在将视频发送给服务器之前,需要利用AI技术对视频中的视频帧进行压缩编码,对应的,用户所使用的客户端(也即解码器)需要利用AI技术进行解压缩操作,以得到视频帧的重建帧等等,应理解,图1c中的示例仅为方便理解本方案,不用于限定本方案。
需要说明,此处举例仅为方便对本申请实施例的应用场景进行理解,不对本申请实施例的应用场景进行穷举。
本申请实施例中是利用AI技术(也即神经网络)对视频帧进行压缩编码和解压缩的,则本申请实施例中会包括前述神经网络的推理阶段和前述神经网络的训练阶段,神经网络的推理阶段和训练阶段的流程有所不同,以下分别对推理阶段和训练阶段进行描述。
一、推理阶段
参阅上述描述可知,在本申请实施例提供的压缩编码以及解压缩方法中,由编码器执行压缩编码的操作,由解码器执行解压缩的操作,以下对编码器和解码器的操作分别进行描述。进一步地,由于编码器中配置有多个神经网络,针对编码器生成与当前视频对应的目标压缩信息的过程。在一种实现方式中,编码器可以先根据网络选择策略从多个神经网络中确定目标神经网络,再通过目标神经网络生成当前视频帧的目标压缩信息。在另一种实现方式中,编码器可以分别通过多个神经网络分别生成当前视频帧的多个压缩信息,根据生成的多个压缩信息,确定与当前视频帧对应的目标压缩信息。由于前述两种实现方式的实现流程有所不同,以下将分别进行描述。
(一)、编码器先从多个神经网络中选择目标神经网络
本申请的一些实施例中,编码器是先利用网络选择策略从多个神经网络中选择一个用于处理当前视频帧的目标神经网络,为更直观地理解本方案,请参阅图2,图2为本申请实施例提供的视频帧的压缩方法的一种原理示意图。如图2所示,针对当前视频序列中的任一视频帧(也即图2中的当前视频帧),编码器会根据网络选择策略从多个神经网络中选择一个目标神经网络,并利用目标神经网络对当前视频帧进行压缩编码,得到当前视频帧所对应的目标压缩信息,应理解,图2中的示例仅为方便理解本方案,不用于限定本方案。具体的,参阅图3,图3为本申请实施例提供的视频帧的压缩方法的一种流程示意图,本申请实施例提供的视频帧的压缩方法可以包括:
301、编码器根据网络选择策略从多个神经网络中确定目标神经网络。
本申请实施例中,编码器配置有多个神经网络,该多个神经网络至少包括第一神经网络、第二神经网络或其他用于执行压缩操作的神经网络,第一神经网络、第二神经网络和其他类型的神经网络均为执行过训练操作的神经网络。在编码器对当前视频序列中的一个当前视频帧进行处理的过程中,编码器可以根据网络选择策略从多个神经网络中确定目标神经网络,并通过目标神经网络对当前视频帧进行压缩编码,以得到与当前视频帧对应的目标压缩信息,目标压缩信息指的是编码器最终决定发送给解码器的压缩信息,也即目标压缩信息是多个神经网络中的一个目标神经网络生成的。
需要说明的是,本申请的后续实施例中,仅以多个神经网络中包括第一神经网络和第二神经网络为例进行说明,对于多个神经网络中包括三个或三个以上的神经网络的情况,可以参阅本申请实施例中对于多个神经网络中包括第一神经网络和第二神经网络的描述,本申请实施例中不再一一赘述。
其中,视频编码通常是指处理形成视频或视频序列的图像序列。在视频编码领域,术语“图像(picture)”、“视频帧(frame)”或“图片(image)”可以用作同义词。视频编码在源侧执行,通常包括处理(例如,压缩)原始视频帧以减少表示该视频帧所需的数据量(从而更高效存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建视频帧。编码部分和解码部分也合称为编解码(编码和解码,CODEC)。
网络选择策略与如下任一种或多种因素相关:当前视频帧的位置信息或当前视频帧所携带的数据量。
具体的,针对根据网络选择策略从多个神经网络中选择目标神经网络的过程。在一种实现方式中,步骤301可以包括:编码器可以获取当前视频帧在当前视频序列中的位置信息,位置信息用于指示当前视频帧为当前视频序列的第X帧;编码器根据网络选择策略,从包括第一神经网络和第二神经网络的多个神经网络中选取与当前视频序列的位置信息对应的目标神经网络。
其中,当前视频帧在当前视频序列中的位置信息具体可以表现为索引号,该索引号具体可以表现为字符串的形式,作为示例,例如当前视频帧的索引号具体可以为00000223、00000368或其他字符串等等,此处不做穷举。
网络选择策略可以为按照一定的规律交替选择第一神经网络或第二神经网络,也即编 码器在采用第一神经网络对当前视频帧的n个视频帧进行压缩编码,再采用第二神经网络对当前视频帧的m个视频帧进行压缩编码;或者,编码器在采用第二神经网络对当前视频帧的m个视频帧进行压缩编码后,再采用第一神经网络对当前视频帧的n个视频帧进行压缩编码。n和m的取值均可以为大于或等于1的整数,n和m的取值可以相同或不同。
作为示例,例如n和m的取值均为1,则网络选择策略可以为采用第一神经网络对当前视频序列中的奇数帧进行压缩编码,采用第二神经网络对当前视频序列中的偶数帧进行压缩编码;或者,网络选择策略可以为采用第二神经网络对当前视频序列中的奇数帧进行压缩编码,采用第一神经网络对当前视频序列中的偶数帧进行压缩编码。作为另一示例,例如n的取值为1,m的取值为3,网络选择策略可以为每采用第一神经网络对当前视频序列中的一个视频帧进行压缩编码后,就会采用第二神经网络对当前视频序列中连续的三个视频帧进行压缩编码等等,此处不做穷举。
为更直观地理解本方案,请参阅图4,图4为本申请实施例提供的视频帧的压缩方法中当前视频帧的位置与采用的目标神经网络之间对应关系的一种示意图。图3中以n的取值为1,m的取值为3为例进行说明,如图4所示,编码器采用第一神经网络对第t帧视频帧进行压缩编码后,采用第二神经网络分别对第t+1帧、第t+2帧和第t+3帧视频帧进行压缩编码,并再次采用第一神经网络对第t+4帧进行压缩编码,也即每采用第一神经网络对一个当前视频帧执行一次压缩编码后,就会采用第二神经网络对三个当前视频帧执行一次压缩编码,应理解,图4中的示例仅为方便理解本方案,不用于限定本方案。
在另一种实现方式中,步骤301可以包括:编码器可以获取当前视频帧的属性,从第一神经网络和第二神经网络中选取目标神经网络,其中,当前视频帧的属性用于指示当前视频帧所携带的数据量,当前视频帧的属性包括以下中的任一种或多种的组合:当前视频帧的熵、对比度、饱和度和其他类型的属性等,此处不做穷举。
进一步地,当前视频帧的熵越高,证明当前视频帧所携带的数据量越多,目标神经网络采用第二神经网络的概率越大,当前视频帧的熵越低,目标神经网络采用第二神经网络的概率越小;当前视频帧的对比度越高,证明当前视频帧所携带的数据量越多,目标神经网络采用第二神经网络的概率越大,当前视频帧的对比度越低,目标神经网络采用第二神经网络的概率越小。
本申请实施例中,根据当前视频帧在当前视频序列中的位置信息,从多个神经网络中选取目标神经网络;或者,可以根据当前视频的至少一种属性,从多个神经网络中选取目标神经网络,进而能够利用目标神经网络生成当前视频帧的压缩信息,提供了多种简单、易操作的实现方案,提高了本方案的实现灵活性。
在另一种实现方式中,编码器可以从第一神经网络和第二神经网络中任意选取一个神经网络作为目标神经网络,以利用目标神经网络生成当前视频帧的目标压缩信息。可选地,编码器可以分别配置第一神经网络的第一选取概率和第二神经网络的第二选取概率,第二选取概率的取值大于或等于第一选取概率,进而根据第一选取概率和第二选取概率执行目标神经网络的选取操作。作为示例,例如第一选取概率的取值为0.2,第二选取概率的取值为0.8;作为另一示例,例如第一选取概率的取值为0.3,第二选取概率的取值为0.7等, 此处不对第一选取概率和第二选取概率的取值进行穷举。
302、编码器通过目标神经网络对当前视频帧进行压缩编码,以得到与当前视频帧对应的目标压缩信息。
本申请实施例中,目标神经网络可以为第一神经网络、第二神经网络或其他用于对视频帧进行压缩的网络等。若目标压缩信息通过第一神经网络得到,则目标压缩信息包括当前视频帧的第一特征的第一压缩信息,当前视频帧的参考帧用于当前视频帧的第一特征的压缩过程,且当前视频帧的参考帧不用于当前视频帧的第一特征的生成过程。
其中,当前视频帧的参考帧和当前视频帧均来源于当前视频序列;当前视频帧为包括于当前视频序列中的原始视频帧。在一种实现方式中,当前视频帧的参考帧可以为当前视频序列中的原始视频帧,该参考帧在当前视频序列中的排序位置可以位于当前视频帧之前,也可以位于当前视频帧之后,也即当播放该当前视频序列时,参考帧出现的时间可以早于当前视频帧,也可以晚于当前视频帧。
在另一种实现方式中,当前视频帧的参考帧可以不是当前视频序列中的原始视频帧,与当前视频帧的参考帧对应的原始的参考帧在当前视频序列中的排序位置可以位于当前视频帧之前,也可以位于当前视频帧之后。当前视频帧的参考帧可以是编码器对原始的参考帧进行变换编码并进行逆变换解码后得到的视频帧;或者,当前视频帧的参考帧是编码器对原始的参考帧进行压缩编码并进行解压缩后得到的视频帧。更进一步地,前述压缩操作可以为通过第一神经网络实现,也可以为通过第二神经网络实现。
参阅专利申请号为CN202011271217.8的申请文件中的描述,第一神经网络至少可以包括编码(Encoding)网络和熵编码层,其中,通过编码网络从当前视频帧中获取当前视频帧的第一特征;通过熵编码层利用当前视频帧的参考帧执行当前视频帧的第一特征的压缩过程,输出当前视频帧对应的第一压缩信息。
为更直观地理解本方案,请参阅图5a,图5a为本申请实施例提供的第一神经网络的一种结构示意图。如图5a所示,将当前视频帧通过编码网络进行编码,并进行量化处理后,得到当前视频帧的第一特征。通过熵编码层利用当前视频帧的参考帧,对当前视频帧的第一特征进行压缩处理,输出当前视频帧对应的第一压缩信息(也即当前视频帧对应的目标压缩信息的一个示例),应理解,图5a中的示例仅为方便理解本方案,不用于限定本方案。
具体的,针对编码器通过第一神经网络生成与当前视频帧对应的第一压缩信息的过程。编码器可以通过第一编码网络(Encoding Network)对当前视频帧进行变换编码,在进行变换编码之后会再进行量化后得到当前视频帧的第一特征,也即当前视频帧的第一特征是仅基于当前视频帧就能得到的,该第一特征的生成过程中不需要借助当前视频帧的参考帧。
进一步地,第一编码网络具体可以表现为一个多层的卷积网络。第一特征中包括M个像素的特征,具体可以表现为L维的张量,作为示例,例如可以为一维的张量(也即向量)、二维的张量(也即矩阵)、三维的张量或更高维的张量等,此处不做穷举。
编码器根据当前视频帧的N个参考帧,对当前视频帧的特征进行预测,以生成当前视频帧的第一预测特征,根据当前视频帧的第一预测特征,生成当前视频帧的第一特征的概率分布。编码器根据当前视频帧的第一特征的概率分布,对当前视频帧的第一特征进行熵 编码,得到第一压缩信息。
其中,当前视频帧的第一预测特征为当前视频帧的第一特征的预测结果,当前视频帧的第一预测特征也包括M个像素的特征,当前视频帧的第一预测特征具体也可以表现为张量,当前视频帧的第一预测特征的数据形状与当前视频帧的第一特征的数据形状相同,第一预测特征和第一特征的形状相同指的是第一预测特征和第一特征均为L维张量,且第一预测特征的L维中的第一维和第一特征的L维中的第二维的尺寸相同,L为大于或等于1的整数,第一维为第一预测特征的L维中的任一维,第二维为第一特征的L维中与第一维相同的维度。
当前视频帧的第一特征的概率分布包括当前视频帧的第一特征的均值和当前视频帧的第一特征的方差。进一步地,第一特征的均值和第一特征的方式均可以表现为L维的张量,第一特征的均值的数据形状与第一特征的数据形状相同,第一特征的方差的形状与第一特征的数据形状相同,从而第一特征的均值中包括与M个像素中每个像素对应的值,第一特征的方差中包括与M个像素中每个像素对应的值。
具体的,针对编码器根据当前视频帧的N个参考帧,对当前视频帧的特征进行预测,以生成当前视频帧的第一预测特征的具体实现方式,以及,编码器根据当前视频帧的第一预测特征,生成当前视频帧的第一特征的概率分布的具体实现方式,均可以参阅专利申请号为CN202011271217.8的申请文件中的描述。
区别在于,专利申请号为CN202011271217.8的申请文件中是基于N个第二视频帧,对第一视频帧的特征进行预测,以生成第一视频帧的第一预测特征,并根据第一视频帧的第一预测特征,生成第一视频帧的第一特征的概率分布。本申请实施例中是基于当前视频帧的N个参考帧,对当前视频帧进行预测,以生成当前视频帧的第一预测特征,并根据当前视频帧的第一预测特征,生成当前视频帧的第一特征的概率分布。也即将专利申请号为CN202011271217.8的“第一视频帧”替换为本申请实施例中的“当前视频帧”,将专利申请号为CN202011271217.8的“第二视频帧”替换为本申请实施例中的“当前视频帧的参考帧”,具体实现方式可以参阅专利申请号为CN202011271217.8的申请文件中的描述,此处不做赘述。
本申请实施例中,由于编码器为根据当前视频帧所对应的第一预测特征生成当前视频帧的第一特征的概率分布,进而根据当前视频帧的第一特征的概率分布,对当前视频帧的第一特征进行压缩编码,从而得到当前视频帧的第一压缩信息,由于第一预测特征与第一特征之间的相似度越高,对第一特征的压缩率就会越大,最后得到的第一压缩信息就会越小,而当前视频帧的第一预测特征为根据当前视频帧的N个参考帧,对当前视频帧的特征进行预测得到的,以提高当前视频帧的第一预测特征与当前视频帧的第一特征之间的相似度,从而能够降低压缩后的第一压缩信息的大小,也即不仅能够保证解码器获得的重建帧的质量,也能减少编码器与解码器传输的数据量的大小。
若目标压缩信息通过第二神经网络得到,则目标压缩信息包括当前视频帧的第二特征的第二压缩信息,当前视频帧的参考帧用于当前视频帧的第二特征的生成过程。第二神经网络包括卷积网络和熵编码层,卷积网络包括多个卷积层和激励ReLU层,其中,通过卷 积网络利用当前视频帧的参考帧执行当前视频帧的第二特征的生成过程,通过熵编码层对当前视频帧的第二特征进行压缩,输出当前视频帧所对应的第二压缩信息。
本申请实施例中,提供了第一神经网络和第二神经网络的具体网络结构,提高了本方案与具体应用场景的结合度。
具体的,编码器在生成原始的当前视频帧相对于当前视频帧的参考帧之间的光流后,可以将前述光流进行压缩编码,得到压缩后的光流。当前视频帧的第二特征可以仅包括原始的当前视频帧相对于当前视频帧的参考帧的光流。
可选地,编码器还可以根据原始的当前视频帧相对于当前视频帧的参考帧的光流和当前视频帧的参考帧,生成预测的当前视频帧;编码器计算原始的当前视频帧与预测的当前视频帧之间的残差,并对原始的当前视频帧相对于当前视频帧的参考帧之间的光流,和原始的当前视频帧与预测的当前视频帧之间的残差进行压缩编码,输出当前视频帧所对应的第二压缩信息。其中,当前视频帧的第二特征包括原始的当前视频帧相对于当前视频帧的参考帧的光流和原始的当前视频帧与预测的当前视频帧之间的残差。
进一步地,编码器在得到当前视频帧的第二特征之后,由于当前视频帧的第二特征的数据量较小,编码器可以直接对当前视频帧的第二特征执行压缩操作,以得到与当前视频帧对应的第二压缩信息。其中,前述压缩操作可以通过神经网络实现,也可以通过非神经网络的方式实现,作为示例,例如前述压缩编码的方式可以为熵编码。
为更直观地理解本方案,请参阅图5b,图5b为本申请实施例提供的第二神经网络的一种结构示意图。如图5b所示,编码器将当前视频帧和当前视频帧的参考帧输入至卷积网络,通过卷积网络进行光流估计,得到当前视频帧相对于当前视频帧的参考帧的光流。编码器根据当前视频帧相对于当前视频帧的参考帧的光流,和当前视频帧的参考帧,通过卷积网络生成当前视频帧的重建帧;并获取当前视频帧的重建帧和当前视频帧之间的残差。编码器可以通过熵编码层对当前视频帧相对于当前视频帧的参考帧的光流,和,当前视频帧的重建帧和当前视频帧之间的残差进行压缩,输出当前视频帧的第二压缩信息,应理解,图5b中的示例仅为方便理解本方案,不用于限定本方案。
为了更直观地理解第一特征和第二特征的区别,请参阅图5c,图5c为本申请实施例提供的视频帧的压缩方法中第一特征和第二特征的一种对比示意图。图5c包括(a)和(b)两个子示图,图5c的(a)子示意图代表生成当前视频帧的第一特征的一种示意图,图5c的(b)子示意图代表生成当前视频帧的第二特征的一种示意图。先参阅图5c的(a)子示意图,将当前视频帧输入至编码网络,在通过编码网络进行变换编码之后会再进行量化(quantization,Q)后,得到当前视频帧的第一特征。
再参阅图5c的(b)子示意图,图5c的(b)子示意图的虚线框中的内容代表当前视频帧的第二特征,由于图5c的(b)子示意图中已经详细的展示了当前视频帧的第二特征不仅包括原始的当前视频帧相对于当前视频帧的参考帧的光流,还包括原始的当前视频帧与预测的当前视频帧之间的残差,此处不再一一赘述当前视频帧的第二特征的生成过程。通过对比图5c的(a)子示意图和图5c的(b)子示意图可知,当前视频帧的第一特征的生成过程完全不依赖当前视频帧的参考帧,而当前视频帧的第二特征的生成过程需要依赖 当前视频帧的参考帧,应理解,图5c中的示例仅为方便理解第一特征和第二特征的概念,不用于限定本方案。
需要说明的是,编码器中也可以配置其他用于对视频帧进行压缩编码的神经网络(为方便描述,后续称为“第五神经网络”),但编码器至少配置有第一神经网络和第二神经网络,对于采用第一神经网络和第二神经网络进行压缩编码的详细过程,将在后续实施例中进行描述,此处暂时不做介绍。作为示例,例如第五神经网络可以为直接对当前视频帧进行压缩的神经网络,也即编码器可以将当前视频帧输入第五神经网络,通过第五神经网络直接对当前视频帧进行压缩,得到第五神经网络输出的与当前视频帧对应的第三压缩信息。进一步地,第五神经网络具体可以采用卷积神经网络。
303、编码器生成与目标压缩信息对应的指示信息,指示信息用于指示目标压缩信息通过第一神经网络和第二神经网络中的目标神经网络得到。
本申请实施例中,编码器在得到一个或多个当前视频帧的目标压缩信息后,还可以生成与至少一个当前视频帧的目标压缩信息一一对应的至少一个指示信息,前述至少一个指示信息用于指示每个目标压缩信息通过第一神经网络和第二神经网络中的目标神经网络得到,也即该一个指示信息用于指示一个目标压缩信息是通过第一神经网络和第二神经网络中的哪一个神经网络得到的。
其中,与当前视频序列中的多个视频帧的目标压缩信息对应的多个指示信息具体可以表现为字符串或其他形式。作为示例,例如与当前视频序列中的多个视频帧的目标压缩信息对应的多个指示信息具体可以为0010110101,前述字符串中的一个字符代表一个指示信息,当一个指示信息为0时,代表与该指示信息对应的当前视频帧采用第一神经网络进行压缩处理;当一个指示信息为1时,代表与该指示信息对应的当前视频帧采用第二神经网络进行压缩处理。
具体的,在一种实现方式中,编码器可以每获取到一个当前视频帧的目标压缩信息后,就生成与一个当前视频帧的目标压缩信息对应的一个指示信息,也即编码器可以交替执行步骤303和步骤301至302。
在另一种实现方式中,编码器也可以通过步骤301生成预设个数的当前视频帧的目标压缩信息后,再生成与前述预设个数的当前视频帧对应的预设个数的指示信息,该预设个数为大于1的整数,作为示例,例如可以为3、4、5、6或其他数值等,此处不做限定。
在另一种实现方式中,编码器也可以通过步骤301和302生成与整个当前视频序列对应的多个目标压缩信息后,再通过步骤303生成与整个当前视频序列对应的多个指示信息,具体实现方式,此处不做限定。
304、编码器发送当前视频帧的目标压缩信息。
本申请实施例中,编码器可以基于文件传输协议(file transfer protocol,FTP)的约束,向解码器发送当前视频序列中至少一个当前视频帧的目标压缩信息。
具体的,在一些实现方式中,编码器可以直接将至少一个目标压缩信息发送给解码器;在另一种实现方式中,编码器也可以为将至少一个目标压缩信息发送给服务器或管理中心等中间设备,由中间设备发送给解码器。
可选地,若目标压缩信息为通过第一神经网络生成的,则参阅专利申请号为CN202011271217.8的申请文件中的描述,编码器还可以根据生成当前视频帧的第一预测特征的方式,在向解码器发送当前视频帧的第一压缩信息的同时,向解码器发送与当前视频帧对应的第一帧间边信息、第二帧间边信息、第一帧内边信息、第二帧内边信息中的一种或两种信息;对应的,解码器可以接收到与当前视频帧对应的第一帧间边信息、第二帧间边信息、第一帧内边信息、第二帧内边信息中的一种或两种信息。具体发送那种信息需要结合在对当前视频帧的第一压缩信息进行解压缩过程中需要哪种类型的信息来确定。
进一步地,对于第一帧间边信息、第二帧间边信息、第一帧内边信息以及第二帧内边信息的含义和作用,均可以参阅专利申请号为CN202011271217.8的申请文件中的描述,此处不再一一进行赘述。
305、编码器发送与当前视频帧的目标压缩信息对应的指示信息。
本申请实施例中,步骤305为可选步骤,若未执行步骤303,则不执行步骤305,若执行步骤303,则执行步骤305。若执行步骤305,则步骤305可以与步骤304可以同时执行,也即编码器基于FTP协议(也即文件传输协议的简称)的约束,向解码器发送当前视频序列中至少一个当前视频帧的目标压缩信息,以及与前述至少一个当前视频帧的目标压缩信息一一对应的至少一个指示信息。或者,步骤304和步骤305也可以分开执行,本申请实施例不限定步骤304和步骤305的执行顺序。
对应的,解码器能够获取到与多个目标压缩信息对应的多个指示信息,从而解码器能够得知当前视频序列中的每个视频帧是采用第一神经网络和第二神经网络中的哪个神经网络来执行解压缩操作,有利于提高解码器对压缩信息进行解码的时间,也即有利于提高整个编码器和解码器进行视频帧传输的效率。
本申请实施例中,由于当压缩信息通过第一神经网络得到时,压缩信息携带的是当前视频帧的第一特征的压缩信息,而当前视频帧的参考帧仅用于当前视频帧的第一特征的压缩过程,不用于当前视频帧的第一特征的生成过程,从而解码器在根据第一压缩信息执行解压缩操作以得到当前视频帧的第一特征后,不需要借助当前视频帧的参考帧就能够得到当前视频帧的重建帧,所以当压缩信息通过第一神经网络得到时,该当前视频帧的重建帧的质量不会依赖于该当前视频帧的参考帧的重建帧的质量,进而避免了误差在逐帧之间累积,以提高视频帧的重建帧的质量;此外,由于当前视频帧的第二特征是根据当前视频帧的参考帧生成的,第二特征的第二压缩信息所对应的数据量比第一特征的第一压缩信息所对应的数据量小,编码器可以利用第一神经网络和第二神经网络,来对当前视频序列中不同的视频帧进行处理,以综合第一神经网络和第二神经网络的优点,以实现在尽量减少需要传输的数据量的基础上,提高视频帧的重建帧的质量。
(二)、编码器通过多个神经网络分别进行压缩编码后,再确定目标压缩信息
本申请的一些实施例中,编码器是先通过多个不同的神经网络分别对当前视频帧进行压缩编码,再确定与当前视频帧对应的目标压缩信息,为更直观地理解本方案,请参阅图6,图6为本申请实施例提供的视频帧的压缩方法的另一种原理示意图。图6中仅以多个神经网络包括第一神经网络和第二神经网络为例,编码器通过第一神经网络对当前视频帧进 行压缩编码,得到当前视频帧的第一特征的第一压缩信息(也即图6中的r
p),并根据第一压缩信息,生成当前视频帧的重建帧(也即图6中的d
p)。通过第二神经网络对当前视频帧进行压缩编码,得到当前视频帧的第二特征的第二压缩信息(也即图6中的r
r),根据第二压缩信息,生成当前视频帧的重建帧(也即图6中的d
r)。编码器根据r
p、d
p、r
r、d
r和网络选择策略,从第一压缩信息和第二压缩信息中确定当前视频帧所对应的目标压缩信息,应理解,图6中的示例仅为方便理解本方案,不用于限定本方案。
具体的,参阅图7a,图7a为本申请实施例提供的视频帧的压缩方法的另一种流程示意图,本申请实施例提供的视频帧的压缩方法可以包括:
701、编码器通过第一神经网络对当前视频帧进行压缩编码,以得到当前视频帧的第一特征的第一压缩信息,当前视频帧的参考帧用于当前视频帧的第一特征的压缩过程。
本申请实施例中,编码器在得到当前视频帧后,可以通过多个神经网络中的第一神经网络对当前视频帧进行压缩编码,以得到当前视频帧的第一特征的第一压缩信息。其中,当前视频帧的第一特征的含义、当前视频帧的第一特征的第一压缩信息的含义以及步骤701的具体实现方式均可以参阅图3对应实施例中的描述,此处不做赘述。
702、编码器通过第一神经网络生成第一视频帧,第一视频帧为当前视频帧的重建帧。
本申请的一些实施例中,编码器在通过第一神经网络生成当前视频帧的第一特征的第一压缩信息后,还可以通过第一神经网络进行解压缩处理,以生成第一视频帧,第一视频帧为当前视频帧的重建帧。
其中,第一压缩信息包括当前视频帧的第一特征的压缩信息,当前视频帧的参考帧用于第一压缩信息的解压缩过程,以得到当前视频帧的第一特征,当前视频帧的第一特征用于当前视频帧的重建帧的生成过程。也即编码器在对第一压缩信息进行解压缩处理后,不再需要借助当前视频帧的参考帧就能得到当前视频帧的重建帧。
第一神经网络还可以包括熵解码层和解码(Decoding)网络,其中,通过熵解码层利用当前视频帧的参考帧执行当前视频帧的第一压缩信息的解压缩过程,通过解码网络利用当前视频帧的第一特征生成当前视频帧的重建帧。
具体的,编码器可以通过熵解码层根据当前视频帧的N个参考帧的重建帧,对当前视频帧的特征进行预测,以得到当前视频帧的第一预测特征,并通过熵解码层根据当前视频帧的第一预测特征,生成当前视频帧的第一特征的概率分布。编码器通过熵解码层根据当前视频帧的第一特征的概率分布,对当前视频帧的第一压缩信息进行熵解码,得到当前视频帧的第一特征。编码器还会通过第一解码(decoder)网络,对当前视频帧的第一特征进行逆变换解码,得到当前视频帧的重建帧。其中,第一解码网络与第一编码网络是对应的,第一解码网络也可以表现为一个多层的卷积网络。
更具体的,编码器根据当前视频帧的N个参考帧的重建帧生成当前视频帧的第一预测特征的具体实现方式,与编码器根据当前视频帧的N个参考帧生成当前视频帧的第一预测特征的具体实现方式类似;编码器根据当前视频帧的第一预测特征,生成当前视频帧的第 一特征的概率分布的具体实现方式,与编码器根据当前视频帧的第一预测特征,生成当前视频帧的第一特征的概率分布的具体实现方式类似;前述步骤的具体实现方式均可以参阅图3对应实施例中对步骤302的描述,此处不做赘述。
703、编码器通过第二神经网络对当前视频帧进行压缩编码,以得到当前视频帧的第二特征的第二压缩信息,当前视频帧的参考帧用于当前视频帧的第二特征的生成过程。
本申请实施例中,编码器在得到当前视频帧后,可以通过多个神经网络中的第二神经网络对当前视频帧进行压缩编码,以得到当前视频帧的第二特征的第二压缩信息。其中,当前视频帧的第二特征的含义、当前视频帧的第二特征的第二压缩信息的含义以及步骤701的具体实现方式均可以参阅图3对应实施例中的描述,此处不做赘述。
704、编码器通过第二神经网络生成第二视频帧,第二视频帧为当前视频帧的重建帧。
本申请的一些实施例中,编码器在通过第二神经网络生成当前视频帧的第二特征的第二压缩信息后,还可以通过第二神经网络进行解压缩处理,以生成第二视频帧,第二视频帧为当前视频帧的重建帧。
其中,第二神经网络还可以包括熵解码层和卷积网络,通过熵解码层对第二压缩信息进行熵解码,通过卷积网络利用当前视频帧的参考帧和当前视频帧的第二特征执行当前视频帧的重建帧的生成过程。
具体的,编码器可以通过熵解码层对第二压缩信息进行熵解码,得到当前视频帧的第二特征,也即得到了原始的当前视频帧相对于当前视频帧的参考帧的光流;可选地,当前视频帧的第二特征还包括原始的当前视频帧与预测的当前视频帧之间的残差。
编码器根据原始的当前视频帧相对于当前视频帧的参考帧的光流和当前视频帧的参考帧,对当前视频帧进行预测,得到预测的当前视频帧;编码器还会根据原始的当前视频帧与预测的当前视频帧之间的残差和预测的当前视频帧,生成第二视频帧(也即当前视频帧的重建帧)。
705、编码器根据第一压缩信息、第一视频帧、第二压缩信息和第二视频帧,确定与当前视频帧对应的目标压缩信息,其中,确定的目标压缩信息是通过第一神经网络得到的,确定的目标压缩信息为第一压缩信息;或者,确定的目标压缩信息是通过第二神经网络得到的,确定的目标压缩信息为第二压缩信息。
本申请实施例中,编码器可以根据第一压缩信息和第一视频帧,计算与第一压缩信息对应的第一评分值(也即第一神经网络所对应的第一评分值),根据第二压缩信息和第二视频帧,计算与第二压缩信息对应的第二评分值(也即第二神经网络所对应的第二评分值),编码器根据第一评分值和第二评分值,确定与当前视频帧对应的目标压缩信息。其中,若确定的目标压缩信息为通过第一神经网络得到的第一压缩信息,则目标神经网络为第一神经网络;或者,若确定的目标压缩信息是通过第二神经网络得到的第二压缩信息,则目标神经网络为第二神经网络。
第一评分值用于反映采用第一神经网络对当前视频帧执行压缩操作的性能,第二评分值用于反映采用第二神经网络对当前视频帧执行压缩操作的性能。进一步地,第一评分值的取值越低,证明通过第一神经网络处理当前视频帧的性能越好,第一评分值的取值越高, 证明通过第一神经网络处理当前视频帧的性能越差;第二评分值的取值越低,证明通过第二神经网络处理当前视频帧的性能越好,第二评分值的取值越高,证明通过第二神经网络处理当前视频帧的性能越差。
针对第一评分值和第二评分值的计算过程。具体的,编码器在得到第一压缩信息和第一视频帧后,可以得到第一压缩信息的数据量,计算第一压缩信息相对于当前视频帧的第一压缩率,并计算第一视频帧的图像质量,进而根据第一压缩信息相对于当前视频帧的第一压缩率和第一视频帧的图像质量,生成第一评分值。其中,第一压缩信息的数据量越大,则第一评分值的取值越大;第一压缩信息的数据量越小,则第一评分值的取值越小。第一视频帧的图像质量越低,第一评分值的取值越大,第一视频帧的图像质量越高,第一评分值的取值越小。
进一步地,第一压缩信息相对于当前视频帧的第一压缩率指的可以为第一压缩信息的数据量与当前视频帧的数据量之间的比值。
编码器可以计算当前视频帧与第一视频帧之前的结构相似性(structural similarity index,SSIM),以根据“结构相似性”这一指标来指示第一视频帧的图像质量,需要说明的是,编码器还可以通过其他指标来衡量第一视频帧的图像质量,作为示例,例如“结构相似性”这一指标还可以被替换为多尺度结构相似性(multiscale structural similarity index,MS-SSIM)、峰值信噪比(peak signal to noise ratio,PSNR)或其他指标等等,此处不做穷举。
编码器在得到第一压缩信息相对于当前视频帧的第一压缩率和第一视频帧的图像质量之后,可以将第一压缩率和第一视频帧的图像质量进行加权求和,以生成与第一神经网络对应的第一评分值。需要说明的是,编码器在得到第一压缩率和第一视频帧的图像质量之后,还可以采用其他方式来得到第一评分值,作为示例,例如将第一压缩率和第一视频帧的图像质量相乘等,具体根据第一压缩率和第一视频帧的图像质量得到第一评分值的方式,可以结合实际应用场景灵活确定,此处不做穷举。
对应地,编码器在得到第二压缩信息和第二视频帧后,可以计算第二压缩信息的数据量以及第二视频帧的图像质量,进而根据第二压缩信息的数据量和第二视频帧的图像质量,生成第二评分值;第二评分值的生成方式与第一评分值的生成方式类似,可参阅上述描述,此处不做赘述。
针对根据第一评分值和第二评分值,确定与当前视频帧对应的目标压缩信息的过程。具体的,在一种实现方式中,编码器在得到计算与第一压缩信息对应的第一评分值,和与第二压缩信息对应的第二评分值后,可以从第一评分值和第二评分值中选择取值较小的目标评分值,并将与目标评分值对应的压缩信息确定为目标压缩信息。编码器针对视频序列中的每个视频帧都执行前述操作,以得到每个视频帧所对应的目标压缩信息。
在另一种实现方式中,由于技术人员在研究中发现,请参阅图7b,图7b为本申请实施例提供的视频帧的压缩方法中第一评分值和第二评分值的一个示意图。其中,图7b的横坐标代表一个视频帧在当前视频序列中的位置信息,图7b的纵坐标代表与每个视频帧对应的评分值,A1代表在对当前视频序列中的多个视频帧进行压缩处理的过程中第一评分值所 对应的折线,A2代表在对当前视频序列中的多个视频帧进行压缩处理的过程中第二评分值所对应的折线。A3代表与分别采用第一神经网络和第二神经网络对视频帧1进行压缩处理时,所得到的第一评分值和第二评分值,通过图7b可知,采用第一神经网络对视频帧1所得到的评分值更低,因此编码器会采用第一神经网络对视频帧1进行处理,在采用第一神经网络对视频帧1进行处理后,与视频帧2(也即当前视频序列中视频帧1的下一个视频帧)对应的第一评分值和第二评分值均大幅下降;也即每当采用第一神经网络对一个视频帧执行压缩操作之后,就会触发开启一个新的周期。在一个周期内,第一评分值的取值呈线性增长,第二评分值的取值也呈线性增长,且第二评分值的增长率高于第一评分值的增长率。应理解,图7b中的示例仅为方便理解本方案,不用于限定本方案。
为了能更直观地理解本方案,在一个周期内,多个第一评分值可以拟合成如下公式:
l
pi+t*k
pi;(1)
其中,l
pi代表与一个周期内的多个第一评分值对应的直线的起始点,也即与多个第一评分值对应的第一拟合公式的偏移量,k
pi代表与一个周期内的多个第一评分值对应的直线的斜率,也即与多个第一评分值对应的第一拟合公式的系数,t代表一个周期内的任一个当前视频帧与该周期内第一个视频帧之间的间隔的视频帧的数量,作为示例,例如一个周期内的第二个视频帧所对应的t的取值为1。
在一个周期内,多个第二评分值可以拟合成如下公式:
l
pr+t*k
pr;(2)
其中,l
pi代表与一个周期内的多个第二评分值对应的直线的起始点,也即与多个第二评分值对应的第二拟合公式的偏移量,k
pi代表与一个周期内的多个第二评分值对应的直线的斜率,也即与多个第二评分值对应的第二拟合公式的系数,t的含义参阅上述对式(1)的描述。
一个周期所对应的总的评分值可以拟合成公式:
loss=l
pr+(l
pr+k
pr)+…+(l
pr+(T-2)*k
pr)+l
pi+(T-1)*k
pi;(3)
其中,loss代表一个周期内所有评分值的和,T代表一个周期内的视频帧的总数量,由于当采用第一神经网络对一个视频帧进行压缩处理时,会触发进入一个新的周期,则一个周期内的前T-1个视频帧是采用第二神经网络进行压缩处理的,最后一个视频帧是采用第一神经网络进行压缩处理的,因此,l
pr+(l
pr+k
pr)+…+(l
pr+(T-2)*k
pr)代表一个周 期内采用第二神经网络进行压缩处理的所有视频帧所对应的至少一个第二评分值的和,l
pi+(T-1)*k
pi代表一各周期内与最后一个视频帧对应的第一评分值。
则编码器可以将一个周期作为计算单位,目标为使得每个周期内的总评分值的平均值最小。为更直观地理解本方案,以下通过公式的形式展示:
其中,T的含义和loss的含义可参阅上述对式(3)的描述,此处不做赘述,
代表目标为一个周期内的总评分值的平均值的取值最小。
将式(3)带入式(4)可以得到如下公式:
其中,技术人员在研究过程中发现l
pi>l
pr,且k
pr>k
pi,则b>0,且a>0,因此,当
时,每个周期内的总评分值的平均值最小。
结合上述公式推理,具体的,在一种实现方式中,针对与当前视频序列对应的多个周期中的任一个周期,编码器先获取与一个周期内的前两个当前视频帧对应的两个第一评分值,编码器获取与一个周期内的前两个当前视频帧对应的两个第二评分值;对于与一个当前视频帧对应的第一评分值和与一个当前视频帧对应的第二评分值的获取方式可参阅上述描述,此处不做赘述。
编码器根据与一个周期内的前两个当前视频帧对应的两个第一评分值,生成与一个周期内多个第一评分值对应的第一拟合公式的系数和偏移量的值,也即可以生成l
pi和k
pi的值。编码器根据与一个周期内的前两个当前视频帧对应的两个第二评分值,生成与一个周期内多个第二评分值对应的第二拟合公式的系数和偏移量的值,也即可以生成l
pr和k
pr的值。
针对编码器在得到第一拟合公式的系数和偏移量的值和第二拟合公式的系数和偏移量的值之后,确定当前视频帧的目标压缩信息的过程。在一种实现方式中,当t等于0时,编码器将与一个周期内的第一个视频帧对应的第二压缩信息确定为该当前视频帧(也即一个周期内的第一个视频帧)的目标压缩信息,也即与一个周期内的第一个视频帧对应的目标神经网络为第二神经网络,并继续对t等于1时的情况进行处理。
当t等于1时,也即编码器获取到与一个周期内的前两个当前视频帧对应的两个第一评分值,并且获取到与一个周期内的前两个当前视频帧对应的两个第二评分值后,可以基于公式(5),计算T的取值。若T<3,则编码器将与一个周期内的第二个视频帧对应的第一压缩信息确定为该当前视频帧(也即一个周期内的第二个视频帧)的目标压缩信息,也即与一个周期内的第二个视频帧对应的目标神经网络为第一神经网络,并触发进入下一个周期。
若T≥3,则编码器将与一个周期内的第二个视频帧对应的第二压缩信息确定为该当前视频帧(也即一个周期内的第二个视频帧)的目标压缩信息,也即与一个周期内的第二个视频帧对应的目标神经网络为第二神经网络,并继续对t等于2时的情况进行处理。
当t等于2时,编码器获取与一个周期内第三个视频帧(也即当前视频帧的一种示例)对应的第一评分值和第二评分值,具体一个当前视频帧所对应的第一评分值和第二评分值的生成方式,此处不做赘述。编码器根据与一个周期内前三个视频帧对应的三个第一评分值,重新计算第一拟合公式的系数和偏移量的值(也即重新计算的l
pi和k
pi的值),根据与一个周期内前三个视频帧对应的三个第二评分值,重新计算第二拟合公式的系数和偏移量的值(也即重新计算的l
pr和k
pr的值),并根据重新计算的第一拟合公式的系数和偏移量的值和重新计算的第二拟合公式的系数和偏移量的值,重新计算T的取值。
若T<t+2,则编码器可以将与一个周期内的第三个视频帧对应的第一压缩信息确定为该当前视频帧(也即一个周期内的第三个视频帧)的目标压缩信息,也即与一个周期内的第三个视频帧对应的目标神经网络为第一神经网络,并触发进入下一个周期。
若T≥t+2,则编码器可以将与一个周期内的第三个视频帧对应的第二压缩信息确定为该当前视频帧(也即一个周期内的第三个视频帧)的目标压缩信息,也即与一个周期内的第三个视频帧对应的目标神经网络为第二神经网络,并继续对t等于3时的情况进行处理。
当t的取值为3、4或更大的数值时,编码器的处理方式与t等于2时的处理方式类似,此处不做赘述。
在另一种实现方式中,当t等于0时,编码器将与一个周期内的第一个视频帧对应的第二压缩信息确定为该当前视频帧(也即一个周期内的第一个视频帧)的目标压缩信息,也即与一个周期内的第一个视频帧对应的目标神经网络为第二神经网络,并继续对t等于1时的情况进行处理。
当t等于1时,编码器可以获取到与一个周期内的前两个当前视频帧对应的两个第一评分值,并且获取到与一个周期内的前两个当前视频帧对应的两个第二评分值后,计算得到第一拟合公式的系数和偏移量的值(也即l
pi和k
pi的值),以及第二拟合公式的系数和偏 移量的值(也即l
pr和k
pr的值),基于公式(5),计算采用第一神经网络对该周期内的第二个视频帧(也即当前视频帧的一个示例)进行压缩处理后得到整个周期的总评分值的第一平均值,并计算采用第二神经网络对该周期内的第二个视频帧(也即当前视频帧的一个示例)进行压缩处理,且采用第一神经网络对该周期内的第三个视频帧进行压缩处理后得到的整个周期的总评分值的第二平均值。
若第一平均值大于第二平均值,则编码器确定该周期内的第二个视频帧对应的目标压缩信息为该当前视频帧的第一压缩信息,也即与该周期内的第二个视频帧对应的目标神经网络为第一神经网络,并触发进入新的周期。
若第一平均值等于第二平均值,则编码器可以将该周期内的第二个视频帧对应的第一压缩信息确定为该当前视频帧的目标压缩信息,也即与该周期内的第二个视频帧对应的目标神经网络为第一神经网络,并触发进入新的周期。或者,编码器也可以将与该周期内的第二个视频帧对应的第二压缩信息确定为该当前视频帧的目标压缩信息,也即与该周期内的第二个视频帧对应的目标神经网络为第二神经网络,并继续对t等于2的情况进行处理。
若第一平均值小于第二平均值,则编码器将与该周期内的第二个视频帧对应的第二压缩信息确定为该当前视频帧的目标压缩信息,也即与该周期内的第二个视频帧对应的目标神经网络为第二神经网络,并继续对t等于2的情况进行处理。
当t等于2时,编码器可以获取与一个周期内的第三个视频帧对应的第一评分值,并且获取到与一个周期内的前两个当前视频帧对应的第二评分值,具体一个当前视频帧所对应的第一评分值和第二评分值的生成方式,此处不做赘述。编码器根据与一个周期内前三个视频帧对应的三个第一评分值,重新计算第一拟合公式的系数和偏移量的值(也即重新计算的l
pi和k
pi的值),根据与一个周期内前三个视频帧对应的三个第二评分值,重新计算第二拟合公式的系数和偏移量的值(也即重新计算的l
pr和k
pr的值),并根据重新计算的第一拟合公式的系数和偏移量的值和重新计算的第二拟合公式的系数和偏移量的值,计算更新后的第一平均值和更新后的第二平均值。其中,更新后的第一平均值为采用第一神经网络对该周期内的第三个视频帧(也即当前视频帧的一个示例)进行压缩处理后得到整个周期的总评分值的平均值,更新后的第二平均值为采用第二神经网络对该周期内的第三个视频帧(也即当前视频帧的一个示例)进行压缩处理,且采用第一神经网络对该周期内的第四个视频帧进行压缩处理后得到的整个周期的总评分值的平均值。
若更新后的第一平均值大于更新后的第二平均值,则编码器确定该周期内的第三个视频帧对应的目标压缩信息为该当前视频帧的第一压缩信息,也即与该周期内的第三个视频帧对应的目标神经网络为第一神经网络,并触发进入新的周期。
若更新后的第一平均值等于更新后的第二平均值,则编码器可以将该周期内的第三个 视频帧对应的第一压缩信息确定为该当前视频帧的目标压缩信息,也即与该周期内的第三个视频帧对应的目标神经网络为第一神经网络,并触发进入新的周期。或者,编码器也可以将与该周期内的第三个视频帧对应的第二压缩信息确定为该当前视频帧的目标压缩信息,也即与该周期内的第三个视频帧对应的目标神经网络为第二神经网络,并继续对t等于3的情况进行处理。
若更新后的第一平均值小于更新后的第二平均值,则编码器将与该周期内的第三个视频帧对应的第二压缩信息确定为该当前视频帧的目标压缩信息,也即与该周期内的第三个视频帧对应的目标神经网络为第二神经网络,并继续对t等于3的情况进行处理。
当t的取值为3、4或更大的数值时,编码器的处理方式与t等于2时的处理方式类似,此处不做赘述。
本申请实施例中,技术人员在研究中发现单个周期内的第一评分值和第二评分值的变化规律,并将一个周期内的总评分值的平均值最低做为优化目标,也即在确定与每个当前视频帧对应的目标压缩信息时,不仅要考虑当前视频帧的评分值,还会考虑整个周期内的评分值的平均值,以进一步降低与整个当前视频序列中所有视频帧所对应的评分值,以进一步提高整个当前视频序列所对应的压缩信息的性能;此外,提供了两种不同的实现方式,提高了本方案的实现灵活性。
在另一种实现方式中,编码器也是以一个周期作为计算单位,目标为使得每个周期内的总评分值的平均值最小。且对于t等于0和1时的具体实现方式,可参阅B情况中第一个实现方式中的描述,此处不做赘述。
若编码器执行到t=2的情况,编码器不再获取与一个周期内第三个视频帧(也即当前视频帧的一种示例)对应的第一评分值和第二评分值,也不再重新计算第一拟合公式的系数和偏移量的值以及第二拟合公式的系数和偏移量的值,而是直接获取t=1的情况中计算得到的T的取值,若T<t+2,则编码器可以将与一个周期内的第三个视频帧对应的第一压缩信息确定为该当前视频帧(也即一个周期内的第三个视频帧)的目标压缩信息,也即与一个周期内的第三个视频帧对应的目标神经网络为第一神经网络,并触发进入下一个周期。
若T≥t+2,则编码器可以将与一个周期内的第三个视频帧对应的第二压缩信息确定为该当前视频帧(也即一个周期内的第三个视频帧)的目标压缩信息,也即与一个周期内的第三个视频帧对应的目标神经网络为第二神经网络,并继续对t等于3时的情况进行处理。
当t的取值为3、4或更大的数值时,编码器的处理方式与t等于2时的处理方式类似,此处不做赘述。
为更直观地理解本方案,请参阅图7c,图7c为本申请实施例提供的视频帧的压缩方法中计算第一拟合公式的系数和偏移量的值以及第二拟合公式的系数和偏移量的一个示意图。如图7c所示,两个垂直方向的虚线之间代表的是对一个周期内的视频帧进行处理,一个周期内包括通过第二神经网络对多个视频帧进行压缩编码,和通过第一神经网络对周期内最后一个视频帧进行压缩编码。编码器先获取到与一个周期内的前两个当前视频帧(也即第一个视频帧和第二个视频帧)对应的两个第一评分值,并且获取到与一个周期内的前两个当前视频帧对应的两个第二评分值后,计算得到第一拟合公式的系数和偏移量的值(也 即l
pi和k
pi的值),以及第二拟合公式的系数和偏移量的值(也即l
pr和k
pr的值),并基于公式(5),计算该周期内T的最优值。编码器执行到t=2的情况,不再获取与一个周期内第三个视频帧对应的第一评分值和第二评分值,也不再重新计算第一拟合公式的系数和偏移量的值以及第二拟合公式的系数和偏移量的值,应理解,图7c中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,在一个周期内,仅根据与一个周期内的前两个视频帧对应的两个第一评分值和两个第二评分值,计算得到第一拟合公式的系数和偏移量的值以及第二拟合公式的系数和偏移量的值,进而以整个周期内的总评分值的平均值最低为优化目标,得到当前周期内最优的视频帧的数量,由于仍然是以整个周期内的总评分值的平均值最低为优化目标,所以仍然能够进一步降低与整个当前视频序列中所有视频帧所对应的评分值;且由于从t=2的情况后,不再更新第一拟合公式的系数和偏移量的值以及第二拟合公式的系数和偏移量的值,也即节省了第一拟合公式和第二拟合公式的参数的计算时长,从而提高了生成当前视频序列的压缩信息的效率。
在另一种实现方式中,编码器也是以一个周期作为计算单位,目标为使得每个周期内的总评分值的平均值最小。且对于t等于0和1时的具体实现方式,可参阅B情况中第一个实现方式中的描述,此处不做赘述。
若编码器执行到t=2的情况,编码器只获取与一个周期内第三个视频帧(也即当前视频帧的一种示例)对应的第二评分值,不再获取与一个周期内第三个视频帧(也即当前视频帧的一种示例)对应的第一评分值;进而只重新计算第二拟合公式的系数和偏移量的值,不再重新计算第一拟合公式的系数和偏移量的值;编码器根据未更新的第一拟合公式和更新后的第二拟合公式,计算t=2的情况中T的取值。若T<t+2,则编码器可以将与一个周期内的第三个视频帧对应的第一压缩信息确定为该当前视频帧(也即一个周期内的第三个视频帧)的目标压缩信息,也即与一个周期内的第三个视频帧对应的目标神经网络为第一神经网络,并触发进入下一个周期。
若T≥t+2,则编码器可以将与一个周期内的第三个视频帧对应的第二压缩信息确定为该当前视频帧(也即一个周期内的第三个视频帧)的目标压缩信息,也即与一个周期内的第三个视频帧对应的目标神经网络为第二神经网络,并继续对t等于3时的情况进行处理。
当t的取值为3、4或更大的数值时,编码器的处理方式与t等于2时的处理方式类似,此处不做赘述。
本申请实施例中,根据至少一个当前视频帧的第一压缩信息、第一视频帧、当前视频帧的第二压缩信息以及第二视频帧,选取最终需要发送的压缩信息;相对于按照预定的网络选择策略从第一神经网络和第二神经网络中确定目标神经网络,再利用目标神经网络生成目标压缩信息的方式,能够尽量提高整个当前视频序列所对应的压缩信息的性能。
706、编码器生成与目标压缩信息对应的指示信息,指示信息用于指示目标压缩信息通过第一神经网络和第二神经网络中的目标神经网络得到。
707、编码器发送当前视频帧的目标压缩信息。
708、编码器发送与当前视频帧的目标压缩信息对应的指示信息。
本申请实施例中,步骤706和708为必选步骤,步骤706至步骤708的具体实现方式可参阅图3对应实施例中对步骤303至305的描述,此处不做赘述。需要说明的是,本申请实施例不限定步骤707和708的执行顺序,可以同时执行步骤707和708,也可以先执行步骤707,再执行步骤708,也可以先执行步骤708,再执行步骤707。
本申请实施例中,根据至少一个当前视频帧的第一压缩信息、第一视频帧、当前视频帧的第二压缩信息以及第二视频帧,从第一压缩信息和第二压缩信息中选取最终需要发送的压缩信息;相对于按照网络选择策略从多个神经网络中确定目标神经网络,再利用目标神经网络生成目标压缩信息的方式,能够尽量提高整个当前视频序列所对应的压缩信息的性能。
本申请实施例中,请参阅图8,图8为本申请实施例提供的视频帧的压缩方法的另一种流程示意图,本申请实施例提供的视频帧的压缩方法可以包括:
801、编码器通过第一神经网络对第三视频帧进行压缩编码,以得到与第三视频帧对应的第一压缩信息,第一压缩信息包括第三视频帧的第一特征的压缩信息,第三视频帧的参考帧用于第三视频帧的第一特征的压缩过程。
本申请实施例中,编码器在处理到当前视频帧中的第三视频帧时,确定第三视频帧的目标压缩信息为由第一神经网络生成的第三视频帧所对应的第一压缩信息。其中,第三视频帧为当前视频序列中的一个视频帧,第三视频帧的概念与当前视频帧的概念类似,第三视频帧的第一特征的含义可参阅上述图3对应实施例中对“当前视频帧的第一特征”的含义的介绍,“第三视频帧的参考帧”的含义、编码器生成第三视频帧对应的第一压缩信息的具体实现方式,以及编码器确定最后需要发送给解码器的第三视频帧的压缩信息的具体实现方式可参阅图3对应实施例中的描述,此处不做赘述。
802、编码器通过第二神经网络对第四视频帧进行压缩编码,以得到与第四视频帧对应的第二压缩信息,第二压缩信息包括第四视频帧的第二特征的压缩信息,第四视频帧的参考帧用于第四视频帧的第二特征的生成过程,第三视频帧和第四视频帧为同一视频序列中不同的视频帧。
本申请实施例中,编码器在处理到当前视频帧中的第四视频帧时,确定第四视频帧的目标压缩信息为由第二神经网络生成的第四视频帧所对应的第二压缩信息。其中,第四视频帧为当前视频序列中的一个视频帧,第四视频帧的概念与当前视频帧的概念类似,第三视频帧和第四视频帧为同一当前视频序列中不同的视频帧。
其中,第四视频帧的第二特征的含义可参阅上述图3对应实施例中对“当前视频帧的第二特征”的含义的介绍,“第四视频帧的参考帧”的含义、编码器生成第四视频帧对应的第二压缩信息的具体实现方式,以及编码器确定最后需要发送给解码器的第四视频帧的压缩信息的具体实现方式可参阅图3对应实施例中的描述,此处不做赘述。
需要说明的是,本申请实施例不限定步骤801和802的具体实现顺序,可以先执行步骤801,再执行步骤802,也可以先执行步骤802,再执行步骤801,具体需要结合实际应 用场景确定,此处不做限定。
803、编码器生成指示信息,指示信息用于指示第一压缩信息通过第一神经网络得到且第二压缩信息通过第二神经网络得到。
本申请实施例中,与图3对应实施例中的步骤303类似,编码器在生成当前视频序列中的一个或多个当前视频帧的目标压缩信息后,可以生成与一个或多个目标压缩信息一一对应的指示信息,其中,目标压缩信息具体表现为第一压缩信息或第二压缩信息,前述目标压缩信息以及指示信息的含义可参阅上述图3对应实施例中步骤303中的描述,此处不做赘述。
具体的,编码器可以先执行步骤801和802多次后,再通过步骤803生成与整个当前视频序列中每个视频帧的目标压缩信息一一对应的指示信息。或者,编码器也可以为在每执行一次步骤801或执行一次步骤802后,就执行一次步骤803。或者,编码器也可以在执行步骤801和/或步骤802达到预设次数后,执行一次步骤803,该预设次数的取值为大于1的整数,作为示例,例如可以为3、4、5、6或其他数值等,此处不做限定。
需要说明的是,若步骤801或802中,编码器为采用图7a对应实施例中示出的方式来确定当前视频帧(也即第三视频帧或第四视频帧)的目标压缩信息,则步骤803为必选步骤。若步骤801或802中,编码器为采用图3对应实施例中示出的方式来获取当前视频帧(也即第三视频帧或第四视频帧)的目标压缩信息,则步骤803为可选步骤。步骤803的具体实现方式可参阅图3对应实施例中步骤303的描述,此处不做赘述。
804、编码器发送与当前视频帧对应的目标压缩信息,目标压缩信息为第一压缩信息或第二压缩信息。
本申请实施例中,编码器在生成与至少一个第三视频帧一一对应的至少一个第一压缩信息,和/或编码器在生成与至少一个第四视频帧一一对应的至少一个第二压缩信息之后,可以基于FTP协议的约束,向解码器发送与至少一个当前视频帧(也即第三视频帧和/或第四视频帧)一一对应的至少一个目标压缩信息(也即第一压缩信息和/或第二压缩信息)。步骤804的具体实现方式可参阅图3对应实施例中步骤304中的描述,此处不做赘述。
为更直观地理解本方案,请参阅图9,图9为本申请实施例提供的视频帧的压缩方法的一个示意图。如图9所示,编码器采用第三神经网络对当前视频序列中的部分视频帧进行压缩编码,采用第四神经网络对当前视频序列中的另一部分视频帧进行压缩编码,进而发送与当前视频序列中所有当前视频帧所对应的目标压缩信息,目标压缩信息为第一压缩信息或第二压缩信息,应理解,图9中的示例仅为方便理解本方案,不用于限定本方案。
805、编码器发送与与当前视频帧对应的指示信息。
本申请实施例中,步骤805为可选步骤,若未执行步骤803,则不执行步骤805,若执行步骤803,则执行步骤805。若执行步骤805,则步骤805可以与步骤804可以同时执行,步骤805的具体实现方式可参阅上述图3对应实施例中对步骤305的描述,此处不做赘述。
本申请实施例中,当通过第一神经网络对当前视频序列中的第三视频帧进行压缩编码时,第一压缩信息携带的是当前视频帧的第一特征的压缩信息,而当前视频帧的参考帧仅用于当前视频帧的第一特征的压缩过程,不用于当前视频帧的第一特征的生成过程,从而 解码器在根据第一压缩信息执行解压缩操作以得到当前视频帧的第一特征后,不需要借助当前视频帧的参考帧就能够得到当前视频帧的重建帧,所以当目标压缩信息通过第一神经网络得到时,该当前视频帧的重建帧的质量不会依赖于该当前视频帧的参考帧的重建帧的质量,进而避免了误差在逐帧之间累积,以提高视频帧的重建帧的质量;当通过第二神经网络对第四视频帧进行压缩编码时,由于第四视频帧的第二特征是根据第四视频帧的参考帧生成的,第二压缩信息所对应的数据量比第一压缩信息所对应的数据量小,同时利用第一神经网络和第二神经网络,来对当前视频序列中不同的视频帧进行处理,以综合第一神经网络和第二神经网络的优点,以实现在尽量减少需要传输的数据量的基础上,提高视频帧的重建帧的质量。
接下来,结合图10a至图12对解码器执行的步骤进行详细描述,图10a为本申请实施例提供的视频帧的解压缩方法的一种流程示意图,本申请实施例提供的视频帧的解压缩方法可以包括:
1001、解码器接收与至少一个当前视频帧对应的目标压缩信息。
本申请实施例中,编码器可以在FTP协议的约束下,向解码器发送与当前视频序列中的至少一个当前视频帧对应的至少一个目标压缩信息;对应的,解码器可以接收与当前视频序列中的至少一个当前视频帧一一对应的至少一个目标压缩信息。
具体的,在一种实现方式中,解码器可以直接从编码器接收与至少一个当前视频帧对应的目标压缩信息;在另一种实现方式中,解码器也可以从服务器或管理中心等中间设备处,接收与至少一个当前视频帧对应的目标压缩信息。
1002、解码器接收与目标压缩信息对应的指示信息。
本申请的一些实施例中,若编码器发送与至少一个目标压缩信息一一对应的至少一个指示信息,对应的,解码器会接收与至少一个目标压缩信息一一对应的至少一个指示信息。对于指示信息的含义可参阅图3对应实施例中的描述,此处不做赘述。
需要说明的是,步骤1002为可选步骤,若执行步骤1002,本申请实施例不限定步骤1001和1002的执行顺序,可以同时执行步骤1001和1002。
1003、解码器从多个神经网络中选择与当前视频帧对应的目标神经网络,多个神经网络包括第三神经网络和第四神经网络。
本申请实施例中,解码器在得到与至少一个当前视频帧一一对应的至少一个目标压缩信息之后,需要通过从多个神经网络中选择出一个目标神经网络来执行解压缩操作,以得到每个当前视频帧的重建帧。其中,多个神经网络包括第三神经网络和第四神经网络,第三神经网络和第四神经网络均为用于执行解压缩操作的神经网络。
进一步地,第三神经网络与第一神经网络对应,也即若一个当前视频帧的目标压缩信息是通过第一神经网络得到的该当前视频帧的第一压缩信息,则解码器需要通过第三神经网络对该当前视频帧的第一压缩信息执行解压缩操作,以得到该当前视频帧的重建帧。
第四神经网络与第二神经网络对应,也即若一个当前视频帧的目标压缩信息是通过第二神经网络得到的该当前视频帧的第二压缩信息,则解码器需要通过第四神经网络对该当前视频帧的第二压缩信息进行解压缩操作,以得到该当前视频帧的重建帧。
需要说明的是,解码器通过第三神经网络或第四神经网络对目标压缩信息执行解压缩操作的具体实现方式,将在后续实施例中进行描述,此处暂时不做赘述。
针对解码器确定目标神经网络的过程。具体的,在一种实现方式中,若执行步骤1002,则解码器可以直接根据与多个目标压缩信息一一对应的多个指示信息,确定与每个目标压缩信息对应的目标神经网络为第一神经网络和第二神经网络中的哪一个神经网络。
为更直观地理解本方案,请参阅图10b,图10b为本申请实施例提供的视频帧的解压缩方法的另一种流程示意图。如图10b所示,解码器获取与当前视频帧对应的目标压缩信息以及与目标压缩信息对应的指示信息后,可以根据与目标压缩信息对应的指示信息,从第三神经网络和第四神经网络中确定目标神经网络,并利用目标神经网络对当前视频帧所对应的目标压缩信息进行解压缩,得到当前视频帧的重建帧,应理解,图10b中的示例仅为方便理解本方案,不用于限定本方案。
在另一种实现方式中,若未执行步骤1002,则解码器可以获取与每个目标压缩信息一一对应的当前视频帧在当前视频序列中的位置信息,位置信息用于指示与每个目标压缩信息一一对应的当前视频帧为当前视频序列中的第X帧;解码器根据预设规则,从第三神经网络和第四神经网络中,选取与当前视频序列的位置信息对应的目标神经网络。
其中,位置信息的含义均可以参阅图3对应实施例中的描述,此处不做赘述。预设规则可以为按照一定的规律交替选择第三神经网络或第四神经网络,也即解码器在采用第三神经网络对当前视频帧的n个视频帧进行压缩编码,再采用第四神经网络对当前视频帧的m个视频帧进行压缩编码;或者,编码器在采用第四神经网络对当前视频帧的m个视频帧进行压缩编码后,再采用第三神经网络对当前视频帧的n个视频帧进行压缩编码。n和m的取值均可以为大于或等于1的整数,n和m的取值可以相同或不同。
解码器根据预设规则,从包括第三神经网络和第四神经网络的多个神经网络中选取与当前视频序列的位置信息对应的目标神经网络的具体实现方式,与编码器根据网络选择策略,从包括第一神经网络和第二神经网络的多个神经网络中选取与当前视频序列的位置信息对应的目标神经网络的具体实现方式类似,区别在于,将图3对应实施例中的“第一神经网络”替换为本实施例中的“第三神经网络”,将图3对应实施例中的“第二神经网络”替换为本实施例中的“第四神经网络”,可直接参阅上述图3对应实施例中的描述,此处不做赘述。
1004、解码器根据目标压缩信息,通过目标神经网络执行解压缩操作,以得到当前视频帧的重建帧,其中,若目标神经网络为第三神经网络,则目标压缩信息包括当前视频帧的第一特征的第一压缩信息,当前视频帧的参考帧用于第一压缩信息的解压缩过程,以得到当前视频帧的第一特征,当前视频帧的第一特征用于当前视频帧的重建帧的生成过程;若目标神经网络为第四神经网络,则目标压缩信息包括当前视频帧的第二特征的第二压缩信息,第二压缩信息用于供解码器执行解压缩操作以得到当前视频帧的第二特征,当前视频帧的参考帧和当前视频帧的第二特征用于当前视频帧的重建帧的生成过程。
本申请实施例中,若目标神经网络为第三神经网络,目标压缩信息包括当前视频帧的第一特征的第一压缩信息,第三神经网络包括熵解码层和解码网络;其中,通过熵解码层 利用当前视频帧的参考帧执行当前视频帧的第一压缩信息的熵解码过程,通过解码网络利用当前视频帧的第一特征生成当前视频帧的重建帧。
具体的,在目标神经网络为第三神经网络这一情况下,解码器执行步骤1004的具体实现方式可参阅图7a对应实施例中步骤702的描述,区别在于,步骤702中是编码器根据当前视频帧所对应的第一压缩信息,通过第一神经网络进行解压缩处理,得到当前视频帧的重建帧;步骤1004中是解码器根据当前视频帧所对应的第一压缩信息,通过第三神经网络进行解压缩处理,得到当前视频帧的重建帧。
若目标神经网络为第四神经网络,则目标压缩信息包括当前视频帧的第二特征的第二压缩信息,第四神经网络包括熵解码层和卷积网络;其中,通过熵解码层对第二压缩信息进行熵解码,通过卷积网络利用当前视频帧的参考帧和当前视频帧的第二特征执行当前视频帧的重建帧的生成过程。
具体的,在目标神经网络为第四神经网络这一情况下,解码器执行步骤1004的具体实现方式可参阅图7a对应实施例中步骤704的描述,区别在于,步骤704中是编码器根据当前视频帧所对应的第二压缩信息,通过第二神经网络进行解压缩处理,得到当前视频帧的重建帧;步骤1004中是解码器根据当前视频帧所对应的第二压缩信息,通过第四神经网络进行解压缩处理,得到当前视频帧的重建帧。
本申请实施例还提供了一种视频帧的解压缩方法,请参阅图11,图11为本申请实施例提供的视频帧的解压缩方法的另一种流程示意图,本申请实施例提供的视频帧的解压缩方法可以包括:
1101、解码器接收与当前视频帧对应的目标压缩信息,目标压缩信息为第一压缩信息或第二压缩信息。
1102、解码器接收与当前视频帧对应的指示信息,指示信息用于指示第一压缩信息通过第三神经网络进行解压缩且第二压缩信息通过第四神经网络进行解压缩。
本申请实施例中,步骤1101和1102的具体实现方式,可参阅图10a对应实施例中步骤1001和1002的描述,此处不做赘述。
1103、解码器通过第三神经网络对第三视频帧的第一压缩信息进行解压缩,以得到第三视频帧的重建帧。
本申请实施例中,解码器从多个神经网络中选择由第三神经网络对第三视频帧的第一压缩信息进行解压缩,“从多个神经网络中选择与第三视频帧对应的第三神经网络”的具体实现过程可参阅图10a对应实施例中步骤1003中的描述,此处不做赘述。
其中,第三神经网络包括熵解码层和解码网络,通过熵解码层利用当前视频帧的参考帧执行当前视频帧的第一压缩信息的熵解码过程,通过解码网络利用当前视频帧的第一特征生成当前视频帧的重建帧。解码器通过第三神经网络对第三视频帧的第一压缩信息进行解压缩的具体实现方式可参阅图7a对应实施例中对步骤702的描述,此处不做赘述。
第一压缩信息包括第三视频帧的第一特征的压缩信息,第三视频帧的参考帧用于第一压缩信息的解压缩过程,以得到第三视频帧的第一特征,第三视频帧的第一特征用于第三视频帧的重建帧的生成过程,第三视频帧的重建帧和第三视频帧的参考帧均包括于当前视 频序列。也即解码器在对第一压缩信息进行解压缩处理后,不再需要借助第三视频帧的参考帧就能得到第三视频帧的重建帧。
进一步地,“第三视频帧的第一特征”的含义可参阅上述对“当前视频帧的第一特征”的含义进行理解,“第三视频帧的参考帧”的含义可参阅上述对“当前视频帧的参考帧”的含义进行理解,此处均不做赘述。第三视频帧的重建帧指的是利用第一压缩信息执行解压缩操作得到的与第三视频帧对应的视频帧。
1104、解码器通过第四神经网络对第四视频帧的第二压缩信息进行解压缩,以得到第四视频帧的重建帧。
本申请实施例中,解码器从多个神经网络中选择由第四神经网络对第四视频帧的第一压缩信息进行解压缩,“从多个神经网络中选择与第四视频帧对应的第四神经网络”的具体实现过程可参阅图10a对应实施例中步骤1003中的描述,此处不做赘述。
其中,第四神经网络包括熵解码层和卷积网络,通过熵解码层对第二压缩信息进行熵解码,通过卷积网络利用当前视频帧的参考帧和当前视频帧的第二特征执行当前视频帧的重建帧的生成过程。解码器通过第四神经网络对第四视频帧的第二压缩信息进行解压缩的具体实现方式可参阅图7a对应实施例中对步骤704的描述,此处不做赘述。
第二压缩信息包括第四视频帧的第二特征的压缩信息,第二压缩信息用于供解码器执行解压缩操作以得到第四视频帧的第二特征,第四视频帧的参考帧和第四视频帧的第二特征用于第四视频帧的重建帧的生成过程,第四视频帧的重建帧和第四视频帧的参考帧均包括于当前视频序列。
进一步地,“第四视频帧的第二特征”的含义可参阅上述对“当前视频帧的第二特征”的含义进行理解,“第四视频帧的参考帧”的含义可参阅上述对“当前视频帧的参考帧”的含义进行理解,此处均不做赘述。第四视频帧的重建帧指的是利用第二压缩信息执行解压缩操作得到的与第四视频帧对应的视频帧。
二、训练阶段
请参阅图12,图12为本申请实施例提供的视频帧的压缩以及解压缩系统的训练方法一种流程示意图,本申请实施例提供的视频帧的压缩以及解压缩系统的训练方法可以包括:
1201、训练设备通过第一神经网络对第一训练视频帧进行压缩编码,以得到与第一训练视频帧对应的第一压缩信息。
本申请实施例中,训练设备中预先存储有训练数据集合,训练数据集合中包括多个第一训练视频帧,步骤1201的具体实现方式可参阅图8对应实施例中步骤801的描述,此处不做赘述。区别在于,第一,将步骤801中的“第三视频帧”替换为本实施例中的“第一训练视频帧”;第二,步骤1201中训练设备不需要执行从第一神经网络和第二神经网络中选取目标神经网络的步骤,或者说,步骤1201中训练设备不需要执行从第一压缩信息和第二压缩信息中选取目标压缩信息的步骤。
1202、训练设备通过第三神经网络对第一训练视频帧的第一压缩信息进行解压缩,以得到第一训练重建帧。
本申请实施例中,训练设备执行步骤1202的具体实现方式可参阅图11对应实施例中 步骤1103的描述,此处不做赘述。区别在于,第一,将步骤1103中的“第三视频帧”替换为本实施例中的“第一训练视频帧”;第二,步骤1202中训练设备不需要执行从第三神经网络和第四神经网络中选取目标神经网络的步骤。
1203、训练设备根据第一训练视频帧、第一训练重建帧、第一压缩信息和第一损失函数,对第一神经网络和第三神经网络进行训练,直至满足预设条件。
本申请实施例中,训练设备根据第一训练视频帧、第一训练重建帧以及第一训练视频帧所对应的第一压缩信息,可以通过第一损失函数,对第一神经网络和第三神经网络进行迭代训练,直至满足第一损失函数的收敛条件。
其中,第一损失函数包括第一训练视频帧和第一训练重建帧之间的相似度的损失项和第一训练视频帧的第一压缩信息的数据大小的损失项,第一训练重建帧为第一训练视频帧的重建帧。第一损失函数的训练目标包括拉近第一训练视频帧和第一训练重建帧之间的相似度。第一损失函数的训练目标还包括减小第一训练视频帧的第一压缩信息的大小。第一神经网络指的是对视频帧进行压缩编码过程中所采用到的神经网络;第二神经网络指的是基于压缩信息,执行解压缩操作的神经网络。
具体的,训练设备根据第一训练视频帧、第一训练重建帧以及第一训练视频帧所对应的第一压缩信息,可以计算第一损失函数的函数值,并根据第一损失函数的函数值生成梯度值,继而反向更新第一神经网络和第三神经网络的权重参数,以完成对第一神经网络和第三神经网络的一次训练,训练设备通过重复执行步骤1201至1203,以实现对第一神经网络和第三神经网络的迭代训练。
1204、训练设备根据第二训练视频帧的参考帧,通过第二神经网络对第二训练视频帧进行压缩编码,得到与第二训练视频帧对应的第二压缩信息,第二训练视频帧的参考帧为训练后的第一神经网络处理过的视频帧。
本申请实施例中,训练设备执行步骤1202的具体实现方式可参阅图8对应实施例中步骤802的描述,此处不做赘述。区别在于,第一,将步骤802中的“第四视频帧”替换为本实施例中的“第二训练视频帧”;第二,步骤1204中训练设备不需要执行从第一神经网络和第二神经网络中选取目标神经网络的步骤,或者说,步骤1204中训练设备不需要执行从第一压缩信息和第二压缩信息中选取目标压缩信息的步骤。
其中,第二训练视频帧的参考帧可以为训练数据集合中的原始的视频帧,也可以为经过成熟的第一神经网络(也即执行过训练操作的第一神经网络)处理过的视频帧。
具体的,在一种实现方式中,由于第一神经网络包括第一编码网络,第三神经网络包括第一解码网络,则训练设备可以将第二训练视频帧的原始的参考帧输入成熟的第一神经网络(也即执行过训练操作的第一神经网络)中的第一编码网络中,以对第二训练视频帧进行编码操作,得到编码结果,将前述编码结果输入成熟的第三神经网络(也即执行过训练操作的第三神经网络)中的第一解码网络中,以对该编码结果执行解码操作,得到第二训练视频帧的处理后的参考帧。进而训练设备将前述第二训练视频帧的处理后的参考帧和第二训练视频帧输入至第二神经网络,以通过第二神经网络生成第二训练视频帧所对应的第二压缩信息。
在另一种实现方式中,训练设备可以将第二训练视频帧的原始的参考帧输入成熟的第一神经网络,以通过成熟的第一神经网络生成第二训练视频帧的原始的参考帧所对应的第一压缩信息,并利用成熟的第三神经网络,根据第二训练视频帧的原始的参考帧所对应的第一压缩信息执行解压缩操作,得到第二训练视频帧的处理后的参考帧。进而训练设备将前述第二训练视频帧的处理后的参考帧和第二训练视频帧输入至第二神经网络,以通过第二神经网络生成第二训练视频帧所对应的第二压缩信息。
本申请实施例中,由于在执行阶段,第二神经网络所采用的参考帧可能是经过第一神经网络处理过的,则采用由第一神经网络处理过的参考帧来对第二神经网络执行训练操作,有利于保持训练阶段和执行阶段的一致性,以提高执行阶段的准确率。
1205、训练设备通过第四神经网络对第二训练视频帧的第二压缩信息进行解压缩,以得到第二训练重建帧。
本申请实施例中,训练设备执行步骤1202的具体实现方式可参阅图11对应实施例中步骤1104的描述,此处不做赘述。区别在于,第一,将步骤1104中的“第四视频帧”替换为本实施例中的“第二训练视频帧”;第二,步骤1205中训练设备不需要执行从第三神经网络和第四神经网络中选取目标神经网络的步骤。
1206、训练设备根据第二训练视频帧、第二训练重建帧、第二压缩信息和第二损失函数,对第二神经网络和第四神经网络进行训练,直至满足预设条件。
本申请实施例中,训练设备根据第二训练视频帧、第二训练重建帧以及第二训练视频帧所对应的第二压缩信息,可以通过第二损失函数,对第二神经网络和第四神经网络进行迭代训练,直至满足第二损失函数的收敛条件。
其中,第二损失函数包括第二训练视频帧和第二训练重建帧之间的相似度的损失项和第二训练视频帧的第二压缩信息的数据大小的损失项,第二训练重建帧为第二训练视频帧的重建帧。第二损失函数的训练目标包括拉近第二训练视频帧和第二训练重建帧之间的相似度。第二损失函数的训练目标还包括减小第二训练视频帧的第二压缩信息的大小。第二神经网络指的是对视频帧进行压缩编码过程中所采用到的神经网络;第四神经网络指的是基于压缩信息,执行解压缩操作的神经网络。
具体的,训练设备根据第二训练视频帧、第二训练重建帧以及第二训练视频帧所对应的第二压缩信息,可以计算第二损失函数的函数值,并根据第二损失函数的函数值生成梯度值,继而反向更新第二神经网络和第四神经网络的权重参数,以完成对第二神经网络和第四神经网络的一次训练,训练设备通过重复执行步骤1204至1206,以实现对第二神经网络和第四神经网络的迭代训练。
由于第一神经网络和第三神经网络均由多个独立的神经网络模块组成,对应的,第二神经网络和第四神经网络也由多个独立的神经网络模块组成。其中,独立的神经网络模块指的是具有独立功能的神经网络模块,作为示例,例如第一神经网络中的第一编码网络就是一个独立的神经网络模块,作为另一示例,例如第二神经网络中的第一解码网络就是一个独立的神经网络模块。
则可选地,若第二神经网络和第四神经网络与第一神经网络和第三神经网络中存在相 同的神经网络模块,则可以先根据训练后的第一神经网络和训练后的第三神经网络初始化第二神经网络和第四神经网络的参数,也即将训练后的第一神经网络和训练后的第三神经网络中的参数赋值给前述相同的神经网络模块,并在第二神经网络和第四神经网络的训练过程中,保持前述相同的神经网络模块的参数不变,对第二神经网络和第四神经网络中的剩余神经网络模块的参数进行调整,以减少第二神经网络和第四神经网络的训练过程的总时长,提高第二神经网络和第四神经网络的训练效率。
本申请实施例中,不仅提供了神经网络的执行过程,还提供了神经网络的训练过程,扩展了本方案的应用场景,提高了本方案的全面性。
为了对本申请实施例所带来的有益效果有更为直观的认识,以下结合附图对本申请实施例所带来的有益效果作进一步的介绍,本实验中以每采用第一神经网络对一个视频帧执行压缩操作后,就采用第二神经网络对一个视频帧执行压缩操作为例,以下通过表1对实验数据进行展示。
表1
其中,参阅上述表1可知,在三组不同的分辨率的视频序列中,采用本申请实施例提供的方案对视频序列中的视频帧进行压缩,相对于仅采用第二神经网络对视频序列中的视频帧进行压缩,图像质量均得到了提升。
本实验中以生成第一拟合公式的偏移量和斜率,并生成第二拟合公式的偏移量和斜率,且不断更新第一拟合公式和第二拟合公式的偏移量和斜率为例,以下通过表2对实验数据进行展示。
表2
其中,参阅上述表2可知,在两组不同的分辨率的视频序列中,采用本申请实施例提供的方案对视频序列中的视频帧进行压缩,相对于仅采用第二神经网络对视频序列中的视频帧进行压缩,图像质量均得到了提升。
接下来介绍本申请实施例还提供了一种视频编解码系统,请参阅图13,图13为本申请实施例提供的视频编解码系统的一种系统架构图,图13为示例性视频编解码系统10的示意性框图,视频编解码系统10中的视频编码器20(或简称为编码器20)和视频解码器30(或简称为解码器30)代表可用于基于本申请中描述的各种示例执行各技术的设备等。
如图13所示,视频编解码系统10包括源设备12,源设备12用于将编码图像等编码 图像数据21提供给用于对编码图像数据21进行解码的目的设备14。
源设备12包括编码器20,另外即可选地,可包括图像源16、图像预处理器等预处理器(或预处理单元)18、通信接口(或通信单元)22。
图像源16可包括或可以为任意类型的用于捕获现实世界图像等的图像捕获设备,和/或任意类型的图像生成设备,例如用于生成计算机动画图像的计算机图形处理器或任意类型的用于获取和/或提供现实世界图像、计算机生成图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像和/或其任意组合(例如增强现实(augmented reality,AR)图像)的设备。所述图像源可以为存储上述图像中的任意图像的任意类型的内存或存储器。
为了区分预处理器(或预处理单元)18执行的处理,图像(或图像数据17)也可称为原始图像(或原始图像数据)17。
预处理器18用于接收(原始)图像数据17,并对图像数据17进行预处理,得到预处理图像(或预处理图像数据)19。例如,预处理器18执行的预处理可包括修剪、颜色格式转换(例如从RGB转换为YCbCr)、调色或去噪。可以理解的是,预处理单元18可以为可选组件。
视频编码器(或编码器)20用于接收预处理图像数据19并提供编码图像数据21。
源设备12中的通信接口22可用于:接收编码图像数据21并通过通信信道13向目的设备14等另一设备或任何其它设备发送编码图像数据21(或其它任意处理后的版本),以便存储或直接重建。
目的设备14包括解码器30,另外即可选地,可包括通信接口(或通信单元)28、后处理器(或后处理单元)32和显示设备34。
目的设备14中的通信接口28用于直接从源设备12或从存储设备等任意其它源设备接收编码图像数据21(或其它任意处理后的版本),例如,存储设备为编码图像数据存储设备,并将编码图像数据21提供给解码器30。
通信接口22和通信接口28可用于通过源设备12与目的设备14之间的直连通信链路,例如直接有线或无线连接等,或者通过任意类型的网络,例如有线网络、无线网络或其任意组合、任意类型的私网和公网或其任意类型的组合,发送或接收编码图像数据(或编码数据)21。
例如,通信接口22可用于将编码图像数据21封装为报文等合适的格式,和/或使用任意类型的传输编码或处理来处理所述编码后的图像数据,以便在通信链路或通信网络上进行传输。
通信接口28与通信接口22对应,例如,可用于接收传输数据,并使用任意类型的对应传输解码或处理和/或解封装对传输数据进行处理,得到编码图像数据21。
通信接口22和通信接口28均可配置为如图13中从源设备12指向目的设备14的对应通信信道13的箭头所指示的单向通信接口,或双向通信接口,并且可用于发送和接收消息等,以建立连接,确认并交换与通信链路和/或例如编码后的图像数据传输等数据传输相关的任何其它信息,等等。
视频解码器(或解码器)30用于接收编码图像数据21并提供解码图像数据(或解码 图像数据)31,其中,解码图像数据也可以称为重建后的图像数据、视频帧的重建帧或其他名称等,指的是基于编码图像数据21进行解压缩操作后得到的图像数据。
后处理器32用于对解码后的图像等解码图像数据31进行后处理,得到后处理后的图像等后处理图像数据33。后处理器32执行的后处理可以包括例如颜色格式转换(例如从YCbCr转换为RGB)、调色、修剪或重采样,或者用于产生供显示设备34等显示的解码图像数据31等任何其它处理。
显示设备34用于接收后处理图像数据33,以向用户或观看者等显示图像。显示设备34可以为或包括任意类型的用于表示重建后图像的显示器,例如,集成或外部显示屏或显示器。例如,显示屏可包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED显示器、硅基液晶显示器(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor,DLP)或任意类型的其它显示屏。
视频编解码系统10还包括训练引擎25,训练引擎25用于训练编码器20或解码器30中的神经网络,也即上述方法实施例中示出的第一神经网络、第二神经网络、第三神经网络和第四神经网络。训练数据可以存入数据库(未示意)中,训练引擎25基于训练数据训练得到神经网络。需要说明的是,本申请实施例对于训练数据的来源不做限定,例如可以是从云端或其他地方获取训练数据进行神经网络训练。
训练引擎25训练得到的神经网络可以应用于视频编解码系统10以及视频编解码系统40中,例如,应用于图13所示的源设备12(例如编码器20)或目的设备14(例如解码器30)。训练引擎25可以在云端训练得到上述神经网络,然后视频编解码系统10从云端下载并使用该神经网络。
尽管图13示出了源设备12和目的设备14作为独立的设备,但设备实施例也可以同时包括源设备12和目的设备14或同时包括源设备12和目的设备14的功能,即同时包括源设备12或对应功能和目的设备14或对应功能。在这些实施例中,源设备12或对应功能和目的设备14或对应功能可以使用相同硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
基于描述,图13所示的源设备12和/或目的设备14中的不同单元或功能的存在和(准确)划分可能基于实际设备和应用而有所不同,这对技术人员来说是显而易见的。
请参阅图14,图14为本申请实施例提供的视频编解码系统的另一种系统架构图,结合上述图13进行描述,编码器20(例如视频编码器20)或解码器30(例如视频解码器30)或两者都可通过如图14所示的处理电路实现,例如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件、视频编码专用处理器或其任意组合。编码器20可以通过处理电路46实现,以包含参照图14编码器20论述的各种模块和/或本文描述的任何其它解码器系统或子系统。解码器30可以通过处理电路46实现,以包含参照图15解码器30论述的各种模块和/或本文描述的任何其它解码器系统或子系统。所述处理电路46可用于执行下文论述的各种操作。如图16所示,如 果部分技术在软件中实施,则设备可以将软件的指令存储在合适的非瞬时性计算机可读存储介质中,并且使用一个或多个处理器在硬件中执行指令,从而执行本申请技术。视频编码器20和视频解码器30中的其中一个可作为组合编解码器(encoder/decoder,CODEC)的一部分集成在单个设备中,如图14所示。
源设备12和目的设备14可包括各种设备中的任一种,包括任意类型的手持设备或固定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板或平板电脑、相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备(例如,内容业务服务器或内容分发服务器)、广播接收设备、广播发射设备,等等,并可以不使用或使用任意类型的操作系统。在一些情况下,源设备12和目的设备14可配备用于无线通信的组件。因此,源设备12和目的设备14可以是无线通信设备。
在一些情况下,图13所示的视频编解码系统10仅仅是示例性的,本申请提供的技术可适用于视频编码设置(例如,视频编码或视频解码),这些设置不一定包括编码设备与解码设备之间的任何数据通信。在其它示例中,数据从本地存储器中检索,通过网络发送,等等。视频编码设备可以对数据进行编码并将数据存储到存储器中,和/或视频解码设备可以从存储器中检索数据并对数据进行解码。在一些示例中,编码和解码由相互不通信而只是编码数据到存储器和/或从存储器中检索并解码数据的设备来执行。
图14是基于一示例性实施例的包含视频编码器20和/或视频解码器30的视频编解码系统40的实例的说明图。视频编解码系统40可以包含成像设备41、视频编码器20、视频解码器30(和/或藉由处理电路46实施的视频编/解码器)、天线42、一个或多个处理器43、一个或多个内存存储器44和/或显示设备45。
如图14所示,成像设备41、天线42、处理电路46、视频编码器20、视频解码器30、处理器43、内存存储器44和/或显示设备45能够互相通信。在不同实例中,视频编解码系统40可以只包含视频编码器20或只包含视频解码器30。
在一些实例中,天线42可以用于传输或接收视频数据的经编码比特流。另外,在一些实例中,显示设备45可以用于呈现视频数据。处理电路46可以包含专用集成电路(application-specific integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。视频编解码系统40也可以包含可选的处理器43,该可选处理器43类似地可以包含专用集成电路(application-specific integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。另外,内存存储器44可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(static random access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性实例中,内存存储器44可以由超速缓存内存实施。在其它实例中,处理电路46可以包含存储器(例如,缓存等)用于实施图像缓冲器等。
在一些实例中,通过逻辑电路实施的视频编码器20可以包含(例如,通过处理电路46或内存存储器44实施的)图像缓冲器和(例如,通过处理电路46实施的)图形处理单元。图形处理单元可以通信耦合至图像缓冲器。图形处理单元可以包含通过处理电路46实施的视频编码器20,以实施参照图14的视频解码器20和/或本文中所描述的任何其它编码 器系统或子系统所论述的各种模块。逻辑电路可以用于执行本文所论述的各种操作。
在一些实例中,视频解码器30可以以类似方式通过处理电路46实施,以实施参照图14的视频解码器30和/或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。在一些实例中,逻辑电路实施的视频解码器30可以包含(通过处理电路46或内存存储器44实施的)图像缓冲器和(例如,通过处理电路46实施的)图形处理单元。图形处理单元可以通信耦合至图像缓冲器。图形处理单元可以包含通过处理电路46实施的视频解码器30。
在一些实例中,天线42可以用于接收视频数据的经编码比特流。如所论述,经编码比特流可以包含本文所论述的与编码视频帧相关的数据、指示符、索引值、模式选择数据等,例如与编码分割相关的数据(例如,变换系数或经量化变换系数,(如所论述的)可选指示符,和/或定义编码分割的数据)。视频编解码系统40还可包含耦合至天线42并用于解码经编码比特流的视频解码器30。显示设备45用于呈现视频帧。
应理解,本申请实施例中对于参考视频编码器20所描述的实例,视频解码器30可以用于执行相反过程。关于信令语法元素,视频解码器30可以用于接收并解析这种语法元素,相应地解码相关视频数据。在一些例子中,视频编码器20可以将语法元素熵编码成经编码视频比特流。在此类实例中,视频解码器30可以解析这种语法元素,并相应地解码相关视频数据。
需要说明的是,本申请所描述的编解码过程存在于绝大部分视频编解码器中,例如H.263、H.264、MPEG-2、MPEG-4、VP8、VP9、基于AI的端到端的图像编码等对应的编解码器中。
图15为本申请实施例提供的视频译码设备400的一种示意图。视频译码设备400适用于实现本文描述的公开实施例。在一个实施例中,视频译码设备400可以是解码器,例如图14中的视频解码器30,也可以是编码器,例如图14中的视频编码器20。
视频译码设备400包括:用于接收数据的入端口410(或输入端口410)和接收单元(receiver unit,Rx)420;用于处理数据的处理器、逻辑单元或中央处理器(central processing unit,CPU)430;例如,这里的处理器430可以是神经网络处理器430;用于传输数据的发送单元(transmitter unit,Tx)440和出端口450(或输出端口450);用于存储数据的存储器460。视频译码设备400还可包括耦合到入端口410、接收单元420、发送单元440和出端口450的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用于光信号或电信号的出口或入口。
处理器430通过硬件和软件实现。处理器430可实现为一个或多个处理器芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430与入端口410、接收单元420、发送单元440、出端口450和存储器460通信。处理器430包括译码模块470(例如,基于神经网络NN的译码模块470)。译码模块470实施上文所公开的实施例。例如,译码模块470执行、处理、准备或提供各种编码操作。因此,通过译码模块470为视频译码设备400的功能提供了实质性的改进,并且影响了视频译码设备400到不同状态的切换。或者,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。
存储器460包括一个或多个磁盘、磁带机和固态硬盘,可以用作溢出数据存储设备,用于在选择执行程序时存储此类程序,并且存储在程序执行过程中读取的指令和数据。存储器460可以是易失性和/或非易失性的,可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。
请参阅图16,图16为示例性实施例提供的装置500的一种简化框图,装置500可用作图13中的源设备12和目的设备14中的任一个或两个。
装置500中的处理器502可以是中央处理器。或者,处理器502可以是现有的或今后将研发出的能够操控或处理信息的任何其它类型设备或多个设备。虽然可以使用如图所示的处理器502等单个处理器来实施已公开的实现方式,但使用一个以上的处理器速度更快和效率更高。
在一种实现方式中,装置500中的存储器504可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作系统508和应用程序510,应用程序510包括允许处理器502执行本文所述方法的至少一个程序。例如,应用程序510可以包括应用1至N,还包括执行本文所述方法的视频译码应用。
装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是将显示器与可用于感测触摸输入的触敏元件组合的触敏显示器。显示器518可以通过总线512耦合到处理器502。
虽然装置500中的总线512在本文中描述为单个总线,但是总线512可以包括多个总线。此外,辅助储存器可以直接耦合到装置500的其它组件或通过网络访问,并且可以包括存储卡等单个集成单元或多个存储卡等多个单元。因此,装置500可以具有各种各样的配置。
Claims (21)
- 一种视频帧的压缩方法,其特征在于,所述方法包括:根据网络选择策略从多个神经网络中确定目标神经网络,所述多个神经网络包括第一神经网络和第二神经网络;通过所述目标神经网络对当前视频帧进行压缩编码,以得到与所述当前视频帧对应的压缩信息;其中,若所述压缩信息通过所述第一神经网络得到,则所述压缩信息包括所述当前视频帧的第一特征的第一压缩信息,所述当前视频帧的参考帧用于所述当前视频帧的第一特征的压缩过程;若所述压缩信息通过所述第二神经网络得到,则所述压缩信息包括所述当前视频帧的第二特征的第二压缩信息,所述当前视频帧的参考帧用于当前视频帧的第二特征的生成过程。
- 根据权利要求1所述的方法,其特征在于,所述第一神经网络包括编码Encoding网络和熵编码层,其中,通过编码网络从所述当前视频帧中获取所述当前视频帧的第一特征;通过熵编码层利用所述当前视频帧的参考帧执行所述当前视频帧的第一特征的熵编码过程,以输出所述第一压缩信息;和/或所述第二神经网络包括卷积网络和熵编码层,卷积网络包括多个卷积层和激励ReLU层,其中,通过卷积网络利用所述当前视频帧的参考帧得到所述当前视频帧的残差,通过所述熵编码层对所述当前视频帧的残差进行熵编码处理,以输出所述第二压缩信息,其中所述第二特征为所述残差。
- 根据权利要求1或2所述的方法,其特征在于,所述网络选择策略与如下任一种或多种因素相关:所述当前视频帧的位置信息或所述当前视频帧所携带的数据量。
- 根据权利要求3所述的方法,其特征在于,所述根据网络选择策略从多个神经网络中确定目标神经网络,包括:根据所述当前视频帧在所述当前视频序列中的位置信息,从所述多个神经网络中选取所述目标神经网络,所述位置信息用于指示所述当前视频帧为所述当前视频序列的第X帧;或者,所述根据网络选择策略从多个神经网络中确定目标神经网络,包括:根据所述当前视频帧的属性,从所述多个神经网络中选取所述目标神经网络,其中,所述当前视频帧的属性用于指示所述当前视频帧所携带的数据量,所述当前视频帧的属性包括以下中的任一种或多种的组合:所述当前视频帧的熵、对比度和饱和度。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:生成并发送与所述压缩信息对应的指示信息,所述指示信息用于指示所述压缩信息通过所述第一神经网络和所述第二神经网络中的所述目标神经网络得到。
- 根据权利要求1至5中任一项所述的方法,其特征在于,若所述目标神经网络为所述第一神经网络,所述通过所述目标神经网络对当前视频帧进行压缩编码,以得到与所述 当前视频帧对应的压缩信息,包括:通过编码网络从所述当前视频帧中获取所述当前视频帧的第一特征;通过熵编码层根据所述当前视频帧的参考帧,对所述当前视频帧的第一特征进行预测,以生成所述当前视频帧的预测特征,所述当前视频帧的预测特征为所述当前视频帧的第一特征的预测结果;通过熵编码层根据所述当前视频帧的预测特征,生成所述当前视频帧的第一特征的概率分布;通过熵编码层根据所述当前视频帧的第一特征的概率分布,对所述当前视频帧的第一特征进行熵编码,得到所述第一压缩信息。
- 一种视频帧的压缩方法,其特征在于,所述方法包括:通过第一神经网络对当前视频帧进行压缩编码,以得到当前视频帧的第一特征的第一压缩信息,所述当前视频帧的参考帧用于所述当前视频帧的第一特征的压缩过程;通过所述第一神经网络生成第一视频帧,所述第一视频帧为所述当前视频帧的重建帧;通过第二神经网络对所述当前视频帧进行压缩编码,以得到所述当前视频帧的第二特征的第二压缩信息,所述当前视频帧的参考帧用于当前视频帧的第二特征的生成过程;通过所述第二神经网络生成第二视频帧,所述第二视频帧为所述当前视频帧的重建帧;根据所述第一压缩信息、所述第一视频帧、所述第二压缩信息和所述第二视频帧,确定与所述当前视频帧对应的压缩信息,其中,所述确定的压缩信息是通过所述第一神经网络得到的,所述确定的压缩信息为所述第一压缩信息;或者,所述确定的压缩信息是通过所述第二神经网络得到的,所述确定的压缩信息为所述第二压缩信息。
- 根据权利要求7所述的方法,其特征在于,所述第一神经网络包括编码Encoding网络和熵编码层,其中,通过编码网络从所述当前视频帧中获取所述当前视频帧的第一特征,通过熵编码层对所述当前视频帧的第一特征进行熵编码,以输出所述第一压缩信息;和/或所述第二神经网络包括卷积网络和熵编码层,卷积网络包括多个卷积层和激励ReLU层,其中,通过卷积网络利用所述当前视频帧的参考帧得到所述当前视频帧的残差,通过熵编码层对所述当前视频帧的残差进行熵编码处理,以输出所述第二压缩信息。
- 一种视频帧的压缩方法,其特征在于,所述方法包括:通过第一神经网络对第三视频帧进行压缩编码,以得到与所述第三视频帧对应的第一压缩信息,所述第一压缩信息包括所述第三视频帧的第一特征的压缩信息,所述第三视频帧的参考帧用于所述第三视频帧的第一特征的压缩过程;通过第二神经网络对第四视频帧进行压缩编码,以得到与所述第四视频帧对应的第二压缩信息,所述第二压缩信息包括所述第四视频帧的第二特征的压缩信息,所述第四视频帧的参考帧用于所述第四视频帧的第二特征的生成过程,所述第三视频帧和所述第四视频帧为同一视频序列中不同的视频帧。
- 根据权利要求9所述的方法,其特征在于,所述第一神经网络包括编码Encoding网络和熵编码层,其中,通过编码网络从所述当前视频帧中获取所述当前视频帧的第一特征,通过熵编码层对所述当前视频帧的第一特征进行熵编码,以输出所述第一压缩信息;和/或所述第二神经网络包括卷积网络和熵编码层,卷积网络包括多个卷积层和激励ReLU层,其中,通过卷积网络利用所述当前视频帧的参考帧得到所述当前视频帧的残差,通过熵编码层对所述当前视频帧的残差进行熵编码处理,以输出所述第二压缩信息。
- 一种视频帧的解压缩方法,其特征在于,所述方法包括:获取当前视频帧的压缩信息;从多个神经网络中选择与所述当前视频帧对应的目标神经网络,所述多个神经网络包括第三神经网络和第四神经网络;根据所述压缩信息,通过所述目标神经网络执行解压缩操作,以得到所述当前视频帧的重建帧;其中,若所述目标神经网络为所述第三神经网络,则所述压缩信息包括所述当前视频帧的第一特征的第一压缩信息,所述当前视频帧的参考帧用于所述第一压缩信息的解压缩过程,以得到所述当前视频帧的第一特征,所述当前视频帧的第一特征用于所述当前视频帧的重建帧的生成过程;若所述目标神经网络为所述第四神经网络,则所述压缩信息包括所述当前视频帧的第二特征的第二压缩信息,所述第二压缩信息用于供所述解码器执行解压缩操作以得到所述当前视频帧的第二特征,所述当前视频帧的参考帧和所述当前视频帧的第二特征用于所述当前视频帧的重建帧的生成过程。
- 根据权利要求11所述的方法,其特征在于,所述第三神经网络包括熵解码层和解码Decoding网络,其中,通过熵解码层利用所述当前视频帧的参考帧执行所述当前视频帧的第一压缩信息的熵解码过程,通过解码网络利用所述当前视频帧的第一特征生成所述当前视频帧的重建帧;和/或所述第四神经网络包括熵解码层和卷积网络,其中,通过熵解码层对所述第二压缩信息进行熵解码,通过卷积网络利用所述当前视频帧的参考帧和所述当前视频帧的第二特征执行所述当前视频帧的重建帧的生成过程。
- 根据权利要求11或12所述的方法,其特征在于,所述方法还包括:获取与所述压缩信息对应的指示信息;所述从多个神经网络中选择与所述当前视频帧对应的目标神经网络,包括:根据所述指示信息,从所述多个神经网络中确定所述目标神经网络。
- 一种视频帧的解压缩方法,其特征在于,所述方法包括:通过第三神经网络对第三视频帧的第一压缩信息进行解压缩,以得到所述第三视频帧的重建帧,所述第一压缩信息包括所述第三视频帧的第一特征的压缩信息,所述第三视频帧的参考帧用于所述第一压缩信息的解压缩过程,以得到所述第三视频帧的第一特征,所 述第三视频帧的第一特征用于所述第三视频帧的重建帧的生成过程;通过第四神经网络对第四视频帧的第二压缩信息进行解压缩,以得到所述第四视频帧的重建帧,所述第二压缩信息包括所述第四视频帧的第二特征的压缩信息,所述第二压缩信息用于供所述解码器执行解压缩操作以得到所述第四视频帧的第二特征,所述第四视频帧的参考帧和所述第四视频帧的第二特征用于所述第四视频帧的重建帧的生成过程。
- 根据权利要求14所述的方法,其特征在于,所述第三神经网络包括熵解码层和解码Decoding网络,其中,通过熵解码层利用所述当前视频帧的参考帧执行所述当前视频帧的第一压缩信息的熵解码过程,通过解码网络利用所述当前视频帧的第一特征生成所述当前视频帧的重建帧;和/或所述第四神经网络包括熵解码层和卷积网络,其中,通过熵解码层对所述第二压缩信息进行熵解码,通过卷积网络利用所述当前视频帧的参考帧和所述当前视频帧的第二特征执行所述当前视频帧的重建帧的生成过程。
- 一种编码器,其特征在于,包括处理电路,用于执行如权利要求1-10任一项所述的方法。
- 一种解码器,其特征在于,包括处理电路,用于执行如权利要求11-15任一项所述的方法。
- 一种计算机程序产品,其特征在于,包括程序代码,当所述程序代码在计算机或处理器上执行时,用于执行如权利要求1-15任一项所述的方法。
- 一种编码器,其特征在于,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器,存储有所述处理器执行的程序指令,其中,所述程序指令在由所述处理器执行时,使得所述编码器执行如权利要求1-10任一项所述的方法。
- 一种解码器,其特征在于,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器,存储有所述处理器执行的程序指令,其中,所述程序指令在由所述处理器执行时,使得所述解码器执行如权利要求11-15任一项所述的方法。
- 一种非瞬时性计算机可读存储介质,其特征在于,包括程序代码,当所述程序代码由计算机设备执行时,用于执行基于权利要求1-15任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020112712178 | 2020-11-13 | ||
CN202011271217.8A CN114501031B (zh) | 2020-11-13 | 2020-11-13 | 一种压缩编码、解压缩方法以及装置 |
PCT/CN2021/112077 WO2022100173A1 (zh) | 2020-11-13 | 2021-08-11 | 一种视频帧的压缩和视频帧的解压缩方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116918329A true CN116918329A (zh) | 2023-10-20 |
Family
ID=81491074
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011271217.8A Active CN114501031B (zh) | 2020-11-13 | 2020-11-13 | 一种压缩编码、解压缩方法以及装置 |
CN202180076647.0A Pending CN116918329A (zh) | 2020-11-13 | 2021-08-11 | 一种视频帧的压缩和视频帧的解压缩方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011271217.8A Active CN114501031B (zh) | 2020-11-13 | 2020-11-13 | 一种压缩编码、解压缩方法以及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230281881A1 (zh) |
EP (1) | EP4231644A4 (zh) |
JP (1) | JP2023549210A (zh) |
CN (2) | CN114501031B (zh) |
WO (2) | WO2022100140A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529457B (zh) * | 2022-09-05 | 2024-05-14 | 清华大学 | 基于深度学习的视频压缩方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2646575A1 (fr) * | 1989-04-26 | 1990-11-02 | Labo Electronique Physique | Procede et structure pour la compression de donnees |
KR102124714B1 (ko) * | 2015-09-03 | 2020-06-19 | 미디어텍 인크. | 비디오 코딩에서의 신경망 기반 프로세싱의 방법 및 장치 |
US10748062B2 (en) * | 2016-12-15 | 2020-08-18 | WaveOne Inc. | Deep learning based adaptive arithmetic coding and codelength regularization |
CN107105278B (zh) * | 2017-04-21 | 2019-10-25 | 中国科学技术大学 | 运动矢量自动生成的视频编解码系统 |
CN107172428B (zh) * | 2017-06-06 | 2019-06-28 | 西安万像电子科技有限公司 | 图像的传输方法、装置和系统 |
CN107197260B (zh) * | 2017-06-12 | 2019-09-13 | 清华大学深圳研究生院 | 基于卷积神经网络的视频编码后置滤波方法 |
CN107396124B (zh) * | 2017-08-29 | 2019-09-20 | 南京大学 | 基于深度神经网络的视频压缩方法 |
US10924755B2 (en) * | 2017-10-19 | 2021-02-16 | Arizona Board Of Regents On Behalf Of Arizona State University | Real time end-to-end learning system for a high frame rate video compressive sensing network |
CN115115720A (zh) * | 2018-04-25 | 2022-09-27 | 杭州海康威视数字技术股份有限公司 | 一种图像解码、编码方法、装置及其设备 |
US11240492B2 (en) * | 2019-01-22 | 2022-02-01 | Apple Inc. | Neural network based residual coding and prediction for predictive coding |
CN111641832B (zh) * | 2019-03-01 | 2022-03-25 | 杭州海康威视数字技术股份有限公司 | 编码方法、解码方法、装置、电子设备及存储介质 |
CN110913220A (zh) * | 2019-11-29 | 2020-03-24 | 合肥图鸭信息科技有限公司 | 一种视频帧编码方法、装置及终端设备 |
CN111083494A (zh) * | 2019-12-31 | 2020-04-28 | 合肥图鸭信息科技有限公司 | 一种视频编码方法、装置及终端设备 |
CN111263161B (zh) * | 2020-01-07 | 2021-10-26 | 北京地平线机器人技术研发有限公司 | 视频压缩处理方法、装置、存储介质和电子设备 |
CN111447449B (zh) * | 2020-04-01 | 2022-05-06 | 北京奥维视讯科技有限责任公司 | 基于roi的视频编码方法和系统以及视频传输和编码系统 |
-
2020
- 2020-11-13 CN CN202011271217.8A patent/CN114501031B/zh active Active
-
2021
- 2021-07-21 WO PCT/CN2021/107500 patent/WO2022100140A1/zh active Application Filing
- 2021-08-11 WO PCT/CN2021/112077 patent/WO2022100173A1/zh active Application Filing
- 2021-08-11 JP JP2023528362A patent/JP2023549210A/ja active Pending
- 2021-08-11 EP EP21890702.0A patent/EP4231644A4/en active Pending
- 2021-08-11 CN CN202180076647.0A patent/CN116918329A/zh active Pending
-
2023
- 2023-05-12 US US18/316,750 patent/US20230281881A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022100173A1 (zh) | 2022-05-19 |
EP4231644A1 (en) | 2023-08-23 |
JP2023549210A (ja) | 2023-11-22 |
CN114501031A (zh) | 2022-05-13 |
CN114501031B (zh) | 2023-06-02 |
US20230281881A1 (en) | 2023-09-07 |
EP4231644A4 (en) | 2024-03-20 |
WO2022100140A1 (zh) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111868751B (zh) | 在视频代码化的机器学习模型中使用应用于量化参数的非线性函数 | |
CN109218727B (zh) | 视频处理的方法和装置 | |
TWI806199B (zh) | 特徵圖資訊的指示方法,設備以及電腦程式 | |
TWI834087B (zh) | 用於從位元流重建圖像及用於將圖像編碼到位元流中的方法及裝置、電腦程式產品 | |
TWI830107B (zh) | 通過指示特徵圖資料進行編碼 | |
WO2022155974A1 (zh) | 视频编解码以及模型训练方法与装置 | |
CN114339238A (zh) | 视频编码的方法、视频解码的方法及其装置 | |
JP2023543520A (ja) | 機械学習を基にしたピクチャコーディングにおけるクロマサブサンプリングフォーマット取り扱いのための方法 | |
US20240007637A1 (en) | Video picture encoding and decoding method and related device | |
US20230281881A1 (en) | Video Frame Compression Method, Video Frame Decompression Method, and Apparatus | |
CN114554205B (zh) | 一种图像编解码方法及装置 | |
CN115604485A (zh) | 视频图像的解码方法及装置 | |
TWI826160B (zh) | 圖像編解碼方法和裝置 | |
CN115499666A (zh) | 视频的压缩方法、解压缩方法、装置、设备和存储介质 | |
JP2024507924A (ja) | 階層的オーディオ/ビデオ又は画像圧縮法及び装置 | |
KR20230145096A (ko) | 신경망 기반 픽처 프로세싱에서의 보조 정보의 독립적 위치결정 | |
CN118020306A (zh) | 视频编解码方法、编码器、解码器及存储介质 | |
WO2024007820A1 (zh) | 数据编解码方法及相关设备 | |
KR20240064698A (ko) | 특징 맵 인코딩 및 디코딩 방법 및 장치 | |
WO2024060161A1 (zh) | 编解码方法、编码器、解码器以及存储介质 | |
WO2023279968A1 (zh) | 视频图像的编解码方法及装置 | |
TW202416712A (zh) | 使用神經網路進行圖像區域的並行處理-解碼、後濾波和rdoq | |
Fu et al. | Hybrid-context-based multi-prior entropy modeling for learned lossless image compression | |
TW202420815A (zh) | 使用神經網路進行圖像區域的並行處理-解碼、後濾波和rdoq | |
WO2024002496A1 (en) | Parallel processing of image regions with neural networks – decoding, post filtering, and rdoq |
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 |