CN111819576B - 使用分离的学习通路和滤波通路的视频代码化 - Google Patents
使用分离的学习通路和滤波通路的视频代码化 Download PDFInfo
- Publication number
- CN111819576B CN111819576B CN201980017194.7A CN201980017194A CN111819576B CN 111819576 B CN111819576 B CN 111819576B CN 201980017194 A CN201980017194 A CN 201980017194A CN 111819576 B CN111819576 B CN 111819576B
- Authority
- CN
- China
- Prior art keywords
- learning model
- copy
- reconstructed frame
- stage
- frame
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
在视频解码器内引入用于滤波和机器学习的分离通路。第一通路对重构帧的第一副本进行滤波以产生滤波帧,所述滤波帧被包括在输出视频流中以供显示。第二通路使用学习模型处理所述重构帧的第二副本,诸如用于训练和/或推理。所述第一通路和所述第二通路是在编码器或解码器的所述重构级之后被引入的。因此,所述第一通路和所述第二通路中的每一个的输入都在没有使用非内射函数的情况下产生的,而且虽然所述第一通路包括至少一个非内射函数,但是所述第二通路没有。因此,与使用所述滤波帧训练所述学习模型相比,使用所述重构帧的所述第二副本训练所述学习模型会导致分类精度上限更大。
Description
背景技术
数字视频流可以使用帧或静止图像的序列来表示视频。数字视频能够被用于各种应用,包括例如视频会议、高清晰度视频娱乐、视频广告或用户生成的视频共享。数字视频流能够包含大量数据并且消耗计算设备的大量计算或通信资源以进行视频数据的处理、传输或存储。已经提出各种方法(包括编码或者解码技术)来减少视频流中的数据量。
发明内容
根据本公开的实施方式的解码器包括熵解码级、去量化级、逆变换级、重构级、第一后置重构通路和第二后置重构通路。熵解码级对表示来自编码比特流的编码视频帧的语法元素进行熵解码,以产生量化变换系数。去量化级对量化变换系数进行去量化,以产生变换系数。逆变换级对变换系数进行逆变换,以产生预测残差。重构级重构预测残差,以产生重构帧。第一后置重构通路使用一种或多种滤波技术对重构帧的第一副本进行滤波,以产生滤波帧,其中,滤波帧被包括在输出视频流中,以在用户设备上显示。第二后置重构通路使用重构帧的第二副本训练学习模型。与使用滤波帧训练学习模型相比,使用重构帧的第二副本训练学习模型会导致学习模型的分类精度上限更大。
根据本公开的实施方式的方法包括对表示编码视频数据的量化变换系数进行去量化,以产生变换系数。方法进一步包括对变换系数进行逆变换,以产生预测残差。方法进一步包括重构预测残差,以产生重构帧。方法进一步包括对重构帧的第一副本进行滤波,以产生滤波帧。方法进一步包括使用学习模型处理重构帧的第二副本,以标识视频内容。
根据本公开的实施方式的集成电路包括执行指令的处理器。指令包括从编码比特流中解码编码视频数据,以产生重构帧。指令进一步包括使用环内滤波器在第一解码通路上处理重构帧的第一副本,以产生输出视频流以用于在用户设备上显示。指令进一步包括通过使用学习模型在第二解码通路上处理重构帧的第二副本,以标识视频内容。
在以下对实施方式、所附权利要求和附图的详细描述中公开了本公开的这些和其它方面。
附图说明
这里的描述参考下面描述的附图,其中,贯穿若干视图,相似的附图标记指代相似的部分。
图1是视频编码和解码系统的示例的示意图。
图2是可以实现发送站或接收站的计算设备的示例的框图。
图3是待编码并随后解码的视频流的示例的图。
图4是根据本公开的实施方式的编码器的示例的框图。
图5是根据本公开的实施方式的解码器的示例的框图。
图6是包括分离的学习和滤波通路的编码器的示例的框图。
图7是包括分离的学习和滤波通路的解码器的示例的框图。
图8是用于使用分离的学习和滤波通路的视频代码化的技术的示例的流程图。
图9是使用用于视频编码的学习模型来训练和推理的技术的示例的流程图。
具体实施方式
视频压缩方案可以包括将相应的图像或帧分解成较小的部分(诸如块),并且使用限制输出中的相应块所包括的信息的技术生成压缩比特流。压缩比特流可以被解码,以从有限的信息重新创建源图像。典型的视频压缩和解压缩技术使用许多工具来提高代码化效率,该编码效率可以通过速率和失真两者来测量。这些工具中有许多使用在输入和输出之间具有一对一映射的内射函数。因此,内射函数的输入可以从此内射函数的输出中标识和恢复。然而,那些工具中有一些使用在输入和输出之间具有一对多映射的非内射函数。非内射函数的使用会导致一些信息丢失。
例如,典型的解码器通过一系列解码级处理压缩比特流,并且最终在输出视频流中发送最后解码级的输出。每个解码级都对它从系列中较早的解码级接收的输入应用函数,并且产生输出以供系列中较晚的解码级使用。这些解码级中有许多(例如熵解码级、去量化级、逆变换级、预测级和重构级)只使用内射函数;然而,这些解码级中有一些(例如滤波级)使用非内射函数。非内射函数的使用会使输出视频流不再与压缩比特流有一对一的映射。
在一些情况下,编码器或解码器可以包括机器学习方面,诸如用于训练学习模型以标识视频内容和/或用于对视频内容进行推理。视频代码化中常用的机器学习方法是使用解码管道的输出作为学习模型的输入。因此,在解码过程中,最后解码级(例如滤波)的输出被用作学习模型的输入。同样地,在编码过程中,最后重构路径级(例如滤波)的输出可以被用作学习模型的输入。
然而,这种方法存在缺陷,因为使用非内射函数进行视频代码化会导致信息丢失。例如,在编码或解码过程中执行的滤波技术为了人类观看的目的而对视频数据进行表面处理,诸如通过减少视频帧内的块效应,以改善视频的整体外观。通过滤波做出的改变会导致信息丢失,这可能会对学习模型的性能产生负面影响。例如,学习模型可能会因为滤波所导致的信息丢失而对通过滤波输出的视频内容进行错误分类。这种错误分类可能会损害或限制机器学习的精度。
因此,可以想象的是,编码器或解码器的机器学习方面可以得益于编码器或解码器中的非内射函数(例如滤波级)的删除。然而,那些非内射函数对于编码或解码过程可能仍然很重要。例如,典型的编码器或解码器可以缓存滤波级的输出,以用于未来帧的预测。因此,从编码器和解码器中删除非内射函数是不可行的。
本公开的实施方式解决了诸如在视频编码器中使用用于滤波和用于机器学习的分离通路的问题。第一通路对重构帧的第一副本进行滤波,以产生滤波帧,该滤波帧被包括在输出视频流中,以在用户设备上显示。第二通路使用学习模型处理重构帧的第二副本(例如用于训练和/或推理)。第一通路和第二通路是在编码器或解码器的重构级之后引入的。因此,第一通路和第二通路中的每一个的输入都是在没有使用非内射函数的情况下产生的,而且虽然第一通路包括至少一个非内射函数,但是第二通路没有。
因此,与使用滤波帧训练学习模型相比,使用重构帧的第二副本训练学习模型会导致学习模型的分类精度上限更大。因此,使用重构帧的第二副本训练学习模型改善了或至少保持了学习模型当时的性能上限。分离学习通路和滤波通路进一步有利于视频编码器的机器学习方面,因为学习通路避免了与滤波视频数据相关联的计算复杂性。
在此首先参考可以在其中实现它们的系统来描述用于使用分离的学习和滤波通路的视频代码化的技术的更多细节。图1是视频编码和解码系统100的示意图。发送站102可以是例如具有硬件的内部配置的计算机,诸如关于图2中描述的计算机。然而,发送站102的其它实施方式是可能的。例如,发送站102的处理能够分布在多个设备当中。
网络104能够连接发送站102和接收站106以用于对视频流进行编码和解码。具体地,能够在发送站102中对视频流进行编码,并且能够在接收站106中对编码视频流进行解码。网络104可以是例如因特网。网络104也可以是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、蜂窝电话网络、或将视频流从发送站102在此示例中转移到接收站106的任何其它手段。
在一个示例中,接收站106可以是具有硬件的内部配置的计算机,诸如在图2中描述的计算机。然而,接收站106的其它合适的实施方式是可能的。例如,接收站106的处理能够分布在多个设备当中。
视频编码和解码系统100的其它实施方式是可能的。例如,一个实施方式能够省略网络104。在另一实施方式中,能够对视频流进行编码,并且然后存储编码视频流以供在以后的时间发送到接收站106或具有存储器的任何其它设备。在一个实施方式中,接收站106(例如,经由网络104、计算机总线和/或某种通信路径)接收编码视频流并且存储该视频流以供以后解码。在一个示例实施方式中,实时传输协议(RTP)被用于通过网络104发送编码视频。在另一实施方式中,可以使用除RTP以外的传输协议,例如,基于超文本传输协议(HTTP)的视频流协议。
例如,当用在视频会议系统中时,发送站102和/或接收站106可以包括如下所述既对视频流进行编码又对视频流进行解码的能力。例如,接收站106可能是视频会议参与者,该视频会议参与者从视频会议服务器(例如,发送站102)接收编码视频比特流以解码和查看,并且进一步对他或者她自己的视频比特流进行编码并发送到视频会议服务器以供由其它参与者解码和查看。
在一些实施方式中,视频编码和解码系统100可替代地用于对视频数据以外的数据进行编码和解码。例如,视频编码和解码系统100可以用于处理图像数据。图像数据可以包括来自图像的数据块。在这样的实施方式中,发送站102可以用于对图像数据进行编码,而接收站106可以用于对图像数据进行解码。
可替代地,接收站106可以表示存储编码的图像数据以供以后使用的计算设备,诸如在从发送站102接收到编码的或预编码的图像数据之后。作为又一可替代方案,发送站102可以代表对图像数据进行解码的计算设备,诸如在将解码的图像数据发送到接收站106进行显示之前。
图2是能够实现发送站或接收站的计算设备200的示例的框图。例如,计算设备200能够实现图1的发送站102和接收站106中的一者或两者。计算设备200的形式可以为包括多个计算设备的计算系统,或者形式为一个计算设备,例如,移动电话、平板计算机、膝上型计算机、笔记本计算机、台式计算机等。
计算设备200中的处理器202可以是传统的中央处理单元。可替代地,处理器202可以是任何其它类型的设备,或现存的或此后开发的能够操纵或处理信息的多个设备。例如,尽管所公开的实施方式能够用如所示的一个处理器(例如,处理器202)来实践,但是能够通过使用不止一个处理器来实现速度和效率上的优势。
在实施方式中,计算设备200中的存储器204可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。然而,能够将任何其它合适类型的存储设备用作存储器204。存储器204能够包括由处理器202使用总线212来访问的代码和数据206。存储器204能够进一步包括操作系统208和应用程序210,应用程序210包括允许处理器202执行本文所述的技术的至少一个程序。例如,应用程序210能够包括应用1至应用N,这些应用进一步包括执行本文所述的技术的视频和/或图像代码化应用。
计算设备200也能够包括辅助存储214,该辅助存储214例如可以是与移动的计算设备一起使用的存储卡。因为视频通信会话可以包含大量信息,所以能够将它们全部或部分地存储在辅助存储214中并且视需要加载到存储器204中以进行处理。
计算设备200也能够包括一个或多个输出设备,诸如显示器218。在一个示例中,显示器218可以是将显示器与可操作来感测触摸输入的触敏元件组合在一起的触敏显示器。显示器218能够经由总线212耦合到处理器202。除了显示器218之外或作为显示器218的替代方案,还能够提供允许用户对计算设备200进行编程或以其它方式使用计算设备200的其它输出设备。当输出设备是显示器或包括显示器时,能够以各种方式实现该显示器,包括通过液晶显示器(LCD)、阴极射线管(CRT)显示器、或发光二极管(LED)显示器,诸如有机LED(OLED)显示器。
计算设备200也能够包括图像感测设备220或与之通信,该图像感测设备220例如为相机或现存的或此后开发的能够感测图像例如操作计算设备200的用户的图像的任何其它图像感测设备220。图像感测设备220能够被定位为使得它朝向操作计算设备200的用户定向。在一个示例中,图像感测设备220的位置和光轴能够被配置为使得视场包括与显示器218直接相邻并且显示器218可见的区域。
计算设备200也能够包括声音感测设备222或与之通信,该声音感测设备222例如为麦克风或现存的或此后开发的能够感测计算设备200附近的声音的任何其它声音感测设备。声音感测设备222能够被定位为使得它朝向操作计算设备200的用户定向,并且能够被配置成接收由该用户在该用户操作计算设备200的同时做出的声音,例如语音或其它话语。
尽管图2将计算设备200的处理器202和存储器204描绘为被集成到一个单元中,但是能够利用其它配置。处理器202的操作能够分布在能够直接或跨越局域网或其它网络耦合的多个机器(其中个别机器可以具有一个或多个处理器)之上。存储器204能够分布在多个机器例如基于网络的存储器或执行计算设备200的操作的多个机器中的存储器之上。
尽管在这里被描绘为一条总线,但是计算设备200的总线212能够由多条总线组成。另外,辅助存储214能够直接耦合到计算设备200的其它组件或者能够经由网络访问并且能够包括一个集成单元(诸如存储卡)或多个单元(诸如多个存储卡)。因此能够以各种广泛的配置实现计算设备200。
图3是要编码并随后解码的视频流300的示例的图。视频流300包括视频序列302。在下一个级别,视频序列302包括多个相邻帧304。虽然将三个帧描述为相邻帧304,但是视频序列302能够包括任何数目的相邻帧304。然后能够将相邻帧304进一步细分成单独帧,例如,帧306。
在下一个级别,能够将帧306划分成一系列平面或分段(segments)308。例如,分段308可以是允许并行处理的帧的子集。分段308也可以是能够将视频数据分离成分离颜色的帧的子集。例如,彩色视频数据的帧306能够包括亮度平面和两个色度平面。可以以不同的分辨率对分段308进行采样。
无论帧306是否被划分成分段308,都可以将帧306进一步细分成块310,这些块310能够包含与例如帧306中的16×16个像素相对应的数据。块310也能够被布置成包括来自像素数据的一个或多个分段308的数据。块310也可以具有任何其它合适的大小,诸如4×4个像素、8×8个像素、16×8个像素、8×16个像素、16×16个像素或更大。除非另有说明,否则术语块和宏块在本文中可互换使用。
图4是编码器400的示例的框图。如上所述,能够诸如通过提供存储在存储器例如存储器204中的计算机软件程序来在发送站102中实现编码器400。计算机软件程序能够包括机器指令,这些机器指令当由诸如处理器202的处理器执行时,使发送站102以在图4中描述的方式对视频数据进行编码。也能够将编码器400实现为例如发送站102中包括的专用硬件。在一个特别可取的实施方式中,编码器400是硬件编码器。
编码器400具有在(由实线连接线示出的)正向路径中执行各种功能以使用视频流300作为输入来产生编码或压缩比特流420的以下级:帧内/帧间预测级402、变换级404、量化级406和熵编码级408。编码器400也可以包括(由虚线连接线示出的)重构路径以重构用于对将来块进行编码的帧。在图4中,编码器400具有在重构路径中执行各种功能的以下级:去量化级410、逆变换级412、重构级414和环路滤波级416。编码器400的其它结构变型能够用于对视频流300进行编码。
当呈现视频流300以对诸如帧306的相应的相邻帧304进行编码时,能够以块为单位处理帧306。在帧内/帧间预测级402处,能够使用帧内预测(也称作帧内预测)或帧间预测(也称作帧间预测)来对相应块进行编码。在任何情况下,都能够形成预测块。在帧内预测的情况下,预测块可以由当前帧中的先前已经被编码和重构的样本形成。在帧间预测的情况下,预测块可以由一个或多个先前构建的参考帧中的样本形成。
接下来,能够在帧内/帧间预测级402处从当前块减去预测块以产生残差块(也称作残差)。变换级404使用基于块的变换来将残差变换成例如频域中的变换系数。量化级406使用量化器值或量化水平来将变换系数转换成离散量子值,这些离散量子值被称为量化变换系数。例如,可以将变换系数除以量化器值并截断。
量化变换系数然后由熵编码级408进行熵编码。然后将经熵编码的系数与用于对块进行解码的其它信息(其可以包括例如语法元素,诸如被用于指示所用的预测类型、变换类型、运动矢量、量化器值等)一起输出到压缩比特流420。可以使用诸如可变长度代码化(VLC)或算术编码编译的各种技术来对压缩比特流420进行格式化。压缩比特流420也能够被称为编码视频流或编码视频比特流,并且将在本文中互换地使用这些术语。
(由虚线连接线示出的)重构路径能够用于确保编码器400和(在下面参考图5描述的)解码器500都使用相同的参考帧来对压缩比特流420进行解码。重构路径执行与在解码过程期间进行的功能类似的(下面参考图5所描述的)功能,包括在去量化级410处对量化变换系数进行去量化和在逆变换级412处对去量化变换系数进行逆变换以产生导数残差块(也称作导数残差)。
在重构级414处,能够将在帧内/帧间预测级402处预测的预测块添加到导数残差以创建重构块。环路滤波级416可以将环内滤波器或其他滤波器应用于重构块,以减少诸如块效应的失真。滤波器的示例包括但不限于:如在H.264、VP9、H.265(HEVC)和AV1中的解块滤波器;如在AV1中的约束方向增强滤波器;以及如在AV1中的环路恢复滤波器。
编码器400的其它变型能够用于对压缩比特流420进行编码。在一些实施方式中,基于非变换的编码器能够针对某些块或帧在没有变换级404的情况下直接对残差信号进行量化。在一些实施方式中,编码器能够使量化级406和去量化级410被组合成公共级。在一些实施方式中,编码器400可以具有分离的学习和滤波通路。下面相对于图6示出并描述具有分离的学习和滤波通路的编码器的实施方式和示例。
图5是解码器500的示例的框图。能够例如通过提供存储在存储器204中的计算机软件程序来在接收站106中实现解码器500。计算机软件程序能够包括机器指令,这些机器指令当由诸如处理器202的处理器执行时,使接收站106以在图5中描述的方式对视频数据进行解码。也能够在例如发送站102或接收站106中包括的硬件中实现解码器500。
与上面讨论的编码器400的重构路径类似,解码器500在一个示例中包括执行各种功能以从压缩比特流420产生输出视频流516的以下级:熵解码级502、去量化级504、逆变换级506、帧内/帧间预测级508、重构级510、环路滤波级512和后置滤波器级514。解码器500的其它结构变型能够用于对压缩比特流420进行解码。
当呈现压缩比特流420以进行解码时,压缩比特流420内的数据元素能够由熵解码级502解码以产生一组量化变换系数。去量化级504(例如,通过将量化变换系数乘以量化器值)对量化变换系数进行去量化,并且逆变换级506对去量化变换系数进行逆变换以产生导数残差,该导数残差可以与在编码器400中由逆变换级412创建的导数残差相同。使用从压缩比特流420解码的报头信息,解码器500能够使用帧内/帧间预测级508来创建与在编码器400中(例如在帧内/帧间预测级402处)创建的相同的预测块。
在重构级510处,能够将预测块添加到导数残差以创建重构块。能够对重构块应用环路滤波级512以减少块伪像。能够对重构块应用其它滤波。在此示例中,后置滤波器级514被应用于重构块以减少块失真,并且结果作为输出视频流516被输出。也能够将输出视频流516称为解码视频流,并且将在本文中互换地使用这些术语。
解码器500的其他变型可以用于解码压缩比特流420。在一些实施方式中,解码器500可以在没有后置滤波器级514的情况下产生输出视频流516。在一些实施方式中,解码器500可以具有分离的学习通路和滤波通路。下面关于图7示出和描述了具有分离的学习通路和滤波通路的解码器的实施方式和示例。
参考图4和图5,编码器400和解码器500的一些级执行内射函数,而编码器400和解码器500的其他级(例如环路滤波级416和环路滤波级512)执行非内射函数。利用内射函数,期望输出是基于输入,使得两个输入不会给出相同的输出。然而,利用非内射函数,可能有两个不同的输入给出相同的输出。
环路滤波级416和环路滤波级512执行非内射函数,该非内射函数设计为升级或平滑视频帧,诸如以使那些视频帧在人眼中看起来更好。然而,这种升级和平滑对学习模型是有害的,因为学习模型通常是分类器。学习模型试图将输入分类为几种类别中的一种。因此,使输入模糊会导致学习模型分类不准确。参考以下数据处理不等式:
I(f(X);Y)≤I(X;Y)
其中,X和Y是随机变量,f(·)是任意确定性函数,I(X;Y)表示X和Y之间的交互信息,并且I(f(X);Y)表示f(X)和Y之间的交互信息。当f(·)是内射的时,数据处理不等式变成以下数据处理等式:
I(f(X);Y)=I(X;Y)
此外,数据处理不等式变成以下数据处理严格不等式:
I(f(X);Y)<I(X;Y)
当存在两个符号x1≠x2时,使得
和f(x1)=f(x2)
其中,是从X获得的随机变量,如下:
在机器学习的背景下,变量X代表机器学习方面的输入,并且变量Y代表机器学习方面的输出。我们可以处理X和Y,以确定它们之间的相关程度。X和Y之间的交互信息越多,它们之间的相关程度就越高。X和Y之间的相关程度越高,机器学习就越有可能执行得更好。因此,相关程度代表机器学习将如何执行的度量。
因为非内射函数具有一对多的映射,使得输入和输出之间的交互信息量不会很高,所以X和Y之间的相关程度就必然很低。因此,上述数据处理不等式和数据处理等式两者都暗示,内射数据处理是允许的,但是主要目的可能是降低训练和/或推理中的计算复杂性。同样地,上述数据处理不等式和数据处理严格不等式暗示,非内射数据处理可能会对学习性能产生负面影响,例如,在分类精度和/或学习复杂性方面。
现在参考图6和图7,描述了具有分离的学习通路和滤波通路的编码器和解码器的实施方式和示例。图6是包括分离的学习和滤波通路的编码器600的示例的框图。编码器600包括帧内/帧间预测级602、变换级604、量化级606和熵代码化级608,例如,它们分别可以是图4所示的帧内/帧间预测级402、变换级404、量化级406和熵编码级408。编码器600接收图3所示的输入视频流300,并且使用帧内/帧间预测级602、变换级604、量化级606和熵代码化级608处理输入视频流300,以产生压缩比特流610。
编码器600进一步包括如虚线连接线所示的重构路径。该重构路径包括去量化级612、逆变换级614和重构级616,例如,它们分别可以是图4所示的去量化级410、逆变换级412和重构级414。编码器600的重构路径包括用于处理重构级616的输出的两个后置重构通路。第一后置重构通路(也称为第一通路)包括环路滤波级618,该环路滤波级618可以例如是图4所示的环路滤波级416。
第二后置重构通路(也称为第二通路)包括学习模型级620。学习模型级620使用重构级616的输出训练学习模型。可替代地或另外,学习模型级620使用学习模型对重构级616的输出执行推理操作。例如,学习模型级620可以训练学习模型,以标识使用重构级616产生的重构帧内的视频内容和/或图像内容。学习模型指代机器学习模型或其他机器学习或人工智能方法。例如,学习模型可以是或包括神经网络、深层神经网络、支持向量机、集群网络、贝叶斯网络或另一种方法。
在一些情况下,可以在学习模型级620使用与环路滤波级618相关联的信息。例如,学习模型级620可以使用来自环路滤波级618的滤波器侧信息。滤波器侧信息指示用于在环路滤波级618对重构帧进行滤波的参数、配置或其他信息。在这种情况下,在学习模型级620执行的操作可以包括确定是否将滤波器侧信息用于学习。如果确定不将滤波器侧信息用于学习,则可以丢弃或忽略滤波器侧信息。
第一后置重构通路的输出被反馈到帧内/帧间预测级602。因此,第一后置重构通路的输出可以用于产生压缩比特流610。相反,第二后置重构通路的输出被输出作为学习输出622。学习输出622不会用于产生压缩比特流610。更确切地说,学习输出622表示学习模型级620的输出。学习模型级620的输出可以指代来自在学习模型级620执行的训练操作的输出、来自在学习模型级620执行的推理操作的输出或两者。
与使用在环路滤波级618产生的滤波帧训练学习模型相比,在学习模型级620使用重构帧(例如没有对其进行滤波)训练学习模型会导致学习模型的分类精度上限更大。也就是说,对重构帧进行滤波会使重构帧的一些信息丢失(例如通过减少其中的块效应等)。因此,可能减少了重构帧和滤波帧之间的交互信息量。用作学习模型级620的输入的重构帧与学习输出622之间的交互信息量可能比滤波帧和学习输出622之间的交互信息量高。因此,与滤波帧和学习输出622之间的相关性相比,重构帧和学习输出622之间的相关性更高。
在一些实施方式中,第二后置重构通路可以开始于环路滤波级618的输入。例如,代替第二后置重构通路是作为重构级616的分离输出开始,第二后置重构通路和第一后置重构通路都可以是作为重构级616的相同输出开始的。因此,环路滤波级618的输入也可以用于开始第二后置重构通路。
在一些实施方式中,环路滤波级618可以由另一个滤波级代替。例如,环路滤波级618可以由解块滤波级、去噪滤波级、样本自适应偏移滤波级、后置滤波器级、另一个滤波级或它们的组合代替。
图7是包括分离的学习通路和滤波通路的解码器700的示例的框图。解码器700接收压缩比特流702,该压缩比特流例如可以是使用图6所示的编码器600产生的压缩比特流610。解码器700使用熵解码级704、去量化级706、逆变换级708、重构级710和帧内/帧间预测级712(例如这些级分别可以是图5所示的熵解码级502、去量化级504、逆变换级506、重构级510和帧内/帧间预测级508)从压缩比特流702中解码编码数据。
解码器700进一步包括用于处理重构级710的输出的两个后置重构通路。解码器700的第一后置重构通路(也称为第一通路)包括环路滤波级714和后置滤波器级716,例如,这些级分别可以是图5所示的环路滤波级512和后置滤波器级514。解码器700的第一后置重构通路的输出是输出视频流718。输出视频流718是被输出以在用户设备上显示的视频流。在一些情况下,后置滤波器级716可以从解码器700的第一后置重构通路中省略。
解码器700的第二后置重构通路(也称为第二通路)包括学习模型级720。例如,学习模型级720可以执行与使用图6所示的编码器600的学习模型级620执行的那些操作相同或相似的操作。因此,学习模型级720使用重构级710的输出训练学习模型。可替代地或另外,学习模型级720使用学习模型对重构级的输出执行推理操作。学习模型级720的输出是学习输出722。学习输出722可以与使用图6所示的学习模型级620产生的学习输出622相同或相似。
在一些情况下,可以在学习模型级720使用与环路滤波级714相关联的信息。例如,学习模型级720可以使用来自环路滤波级714的滤波器侧信息。滤波器侧信息指示用于在环路滤波级714对重构帧进行滤波的参数、配置或其他信息。在这种情况下,在学习模型级720执行的操作可以包括确定是否将滤波器侧信息用于学习。如果确定不将滤波器侧信息用于学习,则可以丢弃或忽略滤波器侧信息。学习模型级720可以接收来自环路滤波级714的滤波器侧信息。可替代地,学习模型级720可以接收来自熵解码级704的滤波器侧信息。
类似于上面关于学习输出622所描述的,与使用在环路滤波级714产生的滤波帧训练学习模型相比,在学习模型级720使用重构帧的第二副本训练学习模型会导致学习模型的分类精度上限更大。这是因为用作学习模型级720的输入的重构帧与学习输出722之间的交互信息量因此可能高于滤波帧和学习输出722之间的交互信息量。
在一些实施方式中,第二后置重构通路可以开始于环路滤波级714的输入。例如,代替第二后置重构通路是作为重构级710的分离输出开始的,第二后置重构通路和第一后置重构通路都可以是作为重构级710的相同输出开始的。因此,环路滤波级714的输入也可以用于开始第二后置重构通路。
现在描述使用分离的学习通路和滤波通路进行视频代码化的技术的进一步的细节。图8是使用分离的学习通路和滤波通路进行视频代码化的技术800的示例的流程图。图9是使用用于进行视频代码化的学习模型进行训练和推理的技术900的示例的流程图。
例如,技术800和/或技术900可以实施为软件程序,该软件程序可以由计算设备(诸如发送站102或接收站106)执行。例如,软件程序可以包括机器可读指令,这些机器可读指令可以存储在存储器(诸如存储器204或辅助存储214)中并且在被处理器(诸如处理器202)执行时可以使计算设备执行技术800和/或技术900。技术800和/或技术900可以使用专用硬件或固件来实施。例如,硬件组件配置为执行技术800和/或技术900。如上所述,一些计算设备可以具有多个存储器或处理器,并且技术800和/或技术900中所描述的操作可以使用多个处理器、存储器或两者进行分配。
为了便于解释,技术800和技术900两者均被描绘和描述成一系列的步骤或操作。然而,根据本公开的步骤或操作可以按照各种顺序和/或同时发生。另外,可以使用本文中没有呈现和描述的其他步骤或操作。此外,可能并不需要所有所示的步骤或操作来实施根据所公开的主题的技术。
首先参考图8,示出了使用分离的学习通路和滤波通路进行视频代码化的技术800。在802中,对表示视频和/或图像数据的量化变换系数进行去量化。例如,量化变换系数可以表示要编码的视频块或要解码的编码视频块的量化变换系数。变换系数是由于去量化而产生的。在804中,对变换系数进行逆变换。预测残差是由于逆变换而产生的。在806中,重构预测残差,以产生重构帧。重构帧是视频帧或图像,其包括基于预测残差而重构的视频块或图像块。
从806开始有两条通路。第一通路包括808和810中所执行的操作。第二通路包括812和814中所执行的操作。第一通路和第二通路两者均对重构帧(例如806中所产生的重构帧)执行它们的相应操作。因此,第一通路的功能性可以关于重构帧的第一副本进行描述,并且第二通路的功能性可以关于重构帧的第二副本进行描述。然而,在这种情况下使用术语“副本”并不一定意味着重构帧(例如806中所产生的重构帧)实际上已经被复制。更确切地说,使用术语“第一副本”和“第二副本”只是为了表示第一通路和第二通路两者都可以接收相同的重构帧作为输入。
根据第一通路,在808中,对重构帧的第一副本进行滤波。对重构帧进行滤波包括使用一种或多种滤波技术。滤波技术指的是使用视频或图像编解码器的一个或多个滤波器执行的非内射函数。例如,滤波器可以是环内滤波器、解块滤波器、去噪滤波器、样本自适应偏移滤波器、后置滤波器、另一个滤波器或它们的组合。滤波帧是由于对重构帧的第一副本进行滤波而产生的。在810中,输出滤波帧。例如,可以将滤波帧包括在输出视频流中,以在用户设备上显示。
根据第二通路,在812中,使用学习模型处理重构帧的第二副本。使用学习模型处理重构帧的第二副本可以包括使用重构帧的第二副本训练学习模型。例如,使用重构帧的第二副本训练学习模型包括使用重构帧的第二副本训练学习模型,以标识视频内容。学习模型对重构帧的第二副本的内容进行分类。此分类的输出然后可以用于标识视频内容,诸如其他视频帧中的对象或其他视觉效果。
另外或可替代地,使用学习模型处理重构帧的第二副本可以包括使用经训练的学习模型对重构帧的第二副本执行一个或多个推理操作。例如,使用经训练的学习模型对重构帧的第二副本执行推理操作可以包括根据经训练的分类模型对重构帧的第二副本进行分类,确定对其进行的分类中的类索引,或使用经训练的视频语义模型标识与重构帧的第二副本相关联的视频语义。
在814中,输出学习模型数据。例如,输出的学习模型数据可以指与对学习模型的训练相关联的数据,诸如残差训练误差、对验证集的分类的精度或两者。在另一个示例中,输出的学习模型数据可以指与使用经训练的学习模型执行的推理相关联的数据,诸如分类中的类索引、与重构帧的第二副本的一些或全部相关联的标记段或标注或两者。
在去量化级、逆变换级、重构级和第二后置重构通路执行的每个函数都是内射函数。然而,在第一通路执行的函数中的一些或全部(例如用于产生滤波帧的滤波函数)是非内射函数。因此,滤波帧是使用至少一个非内射函数产生的,而重构帧的第二副本是在没有使用非内射函数的情况下产生的。因此,与使用滤波帧训练学习模型相比,使用重构帧的第二副本训练学习模型会导致学习模型的分类精度上限更大。
在一些实施方式中,训练学习模型的操作可以包括使用重构帧的第二副本和滤波器侧信息训练学习模型。例如,滤波器侧信息可以指示关于在第一通路所执行的滤波的信息。滤波器侧信息可以是从第一通路(例如从环内滤波器或对第一通路执行滤波的其他滤波器)接收的。可替代地,滤波器侧信息还可以是用于在第一通路对重构帧的第一副本进行滤波的信息。
在一些这样的实施方式中,使用重构帧的第二副本和滤波器侧信息训练学习模型的操作可以包括确定滤波器侧信息对训练学习模型是否有用。如果确定滤波器侧信息对训练学习模型没有用,则可以丢弃或忽略滤波器侧信息。
在一些实施方式中,第二通路可以包括训练学习模型。例如,训练学习模型可以包括将学习模型的输出与预期输出进行比较。也就是说,可以使用成本函数来测量实际学习模型输出和预期学习模型输出之间的差异。然后,可以使用由成本函数产生的值来训练学习模型。
在一些实施方式中,技术800可以包括在802中对系数进行去量化之前从编码比特流中熵解码语法元素的操作。例如,在技术800是使用解码器(图7所示的解码器700)来执行的或用于解码编码视频和/或图像数据(诸如编码视频帧)的情况下,技术800可以是通过对表示来自编码比特流的编码视频帧的语法元素进行熵解码(诸如以产生量化变换系数)开始的。然后,可以对量化变换系数进行去量化。在熵解码级执行的每个函数都是内射函数。
在一些实施方式中,第二通路可以包括对重构帧的第二副本或其他编码视频数据或编码图像数据执行推理操作。例如,代替使用重构帧的第二副本训练学习模型,可能已经对学习模型进行了训练。因此,学习模型可以用于对重构帧的第二副本进行推理,诸如以标识其内容。在一些这样的实施方式中,第二通路可以省略训练学习模型的操作。因此,第二通路的输出将是推理数据,而不是训练数据。
接下来参考图9,示出了使用用于视频代码化的学习模型进行训练的推理的技术900。具体地,技术900描述了训练操作和推理操作,两者均在编码器或解码器(例如图6所示的编码器600或图7所示的解码器700)的第二通路执行。例如,关于技术900描述的训练操作和推理操作可以在不同的时间执行,诸如在训练操作是在推理操作之前执行的情况下。
在902中,基于第一编码视频数据产生第一重构帧。产生第一重构帧可以包括对量化变换系数进行去量化以产生变换系数,对变换系数进行逆变换以产生预测残差,以及重构预测残差以产生第一重构帧。在904中,使用第一重构帧来训练学习模型。在一些情况下,也可以使用滤波器侧信息来训练学习模型。
在906中,基于第二编码视频数据产生第二重构帧。产生第二重构帧可以包括对量化变换系数进行去量化以产生变换系数,对变换系数进行逆变换以产生预测残差,以及重构预测残差以产生第二重构帧。在908中,使用经训练的学习模型对第二重构帧执行一个或多个推理操作。
第一编码视频数据和第二编码视频数据可以或不可以从共用源得出。例如,第一编码视频数据可以与视频流或比特流的第一视频帧对应,并且第二编码视频数据可以与同一视频流或比特流的第二视频帧对应。在视频流或比特流的代码化和/或显示顺序中,第二视频帧晚于第一视频帧(例如紧接在第一视频帧之后或在第一视频帧之后)。在另一个示例中,第一编码视频数据可以与第一视频流或比特流的视频帧对应,并且第二编码视频数据可以与第二视频流或比特流的视频帧对应。第二视频流或第二比特流可以在第一视频流或第二比特流之后的某个时间处理。
上面描述的编码和解码的各方面图示编码和解码技术的一些示例。然而,要理解的是,当在权利要求中使用那些术语,编码和解码能意指对数据的压缩、解压缩、变换或任何其它处理或改变。
单词“示例”在本文中用于意指用作示例、实例或图示。在本文中被描述为“示例”的任何方面或设计不一定被解释为优于其它方面或设计为是优选的或有利的。相反,单词“示例”的使用旨在以具体方式呈现构思。如本申请中所使用的,术语“或”旨在意指包括性“或”而不是排他性“或”。也就是说,除非另外指定或者通过上下文中另外清楚指示,否则陈述“X包括A或B”旨在意指其自然包含性排列中的任一种。也就是说,如果X包括A;X包括B;或者X包括A和B两者,则在上述实例中的任一个下满足“X包括A或B”。此外,除非另外指定或者通过上下文中另外指示为针对单数形式,否则如本申请和所附权利要求中所使用的冠词“一”和“一个”通常应该被解释成意指“一个或多个”。此外,贯穿本公开使用术语“实施方式”或术语“一个实施方式”不旨在意指同一实施例,除非被如此描述。
发送站102和/或接收站106的实施方式(以及存储在其上并且/或者由此(包括由编码器400或者600和解码器500或者700)执行的算法、方法、指令等)可用硬件、软件或其任何组合加以实现。硬件可包括例如计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微码、微控制器、服务器、微处理器、数字信号处理器或任何其它适合的电路。在权利要求中,术语“处理器”应该被理解为单独地或相结合地包含上述硬件中的任一个。术语“信号”和“数据”可互换地使用。另外,发送站102和接收站106的各部分不一定必须被以相同的方式实现。
另外,在一个方面中,例如,可使用具有计算机程序的通用计算机或通用处理器来实现发送站102或接收站106,所述计算机程序当被执行时,执行本文描述的各个方法、算法和/或指令中的任一种。此外或可替代地,例如,可利用专用计算机/处理器,所述专用计算机/处理器可以包含用于执行本文描述的方法、算法或指令中的任一种的其它硬件。
可以例如在视频会议系统中的计算机上实现发送站102和接收站106。可替代地,可在服务器上实现发送站102,并且可在与服务器分开的设备(诸如手持通信设备)上实现接收站106。在此实例中,发送站102可以使用编码器400或者600来将内容编码成编码视频信号并将该编码视频信号发送到通信设备。进而,通信设备然后可使用解码器500或者700来对编码视频信号进行解码。可替代地,通信设备可对本地存储在通信设备上的内容(例如,不由发送站102发送的内容)进行解码。其它适合的发送和接收实施方式方案是可用的。例如,接收站106可以是通常固定的个人计算机而不是便携式通信设备,并且/或者包括编码器400或者600的设备也可以包括解码器500或者700。
另外,本公开的实现方式的全部或一部分可采取例如从计算机可用介质或计算机可读介质可访问的计算机程序产品的形式。计算机可用介质或计算机可读介质可以是可例如有形地包含、存储、传送或者输送程序以供由任何处理器使用或者连同任何处理器一起使用的任何设备。介质可以是例如电子、磁、光学、电磁或半导体设备。其它适合的介质也是可用的。
已描述了上述实施方式和其它方面以便促进容易理解本公开并且不限制本公开。相反,本公开旨在涵盖包括在所附权利要求的范围内的各种修改和等同布置,该范围应被赋予如在法律下许可的最广泛解释使得包含所有这样的修改和等效布置。
Claims (20)
1.一种解码器,包括:
熵解码级,所述熵解码级被配置为对表示来自编码比特流的编码视频帧的语法元素进行熵解码,以产生量化变换系数;
去量化级,所述去量化级被配置为对所述量化变换系数进行去量化,以产生变换系数;
逆变换级,所述逆变换级被配置为对所述变换系数进行逆变换,以产生预测残差;
重构级,所述重构级被配置为重构所述预测残差,以产生重构帧;
第一后置重构通路,所述第一后置重构通路被配置为使用一种或多种滤波技术对所述重构帧的第一副本进行滤波,并且输出滤波帧,所述滤波帧在输出视频流内,以在用户设备上显示;以及
第二后置重构通路,所述第二后置重构通路被配置为使用所述重构帧的第二副本来训练学习模型以用于视频内容标识并且输出经训练的学习模型,其中,与使用所述滤波帧训练所述学习模型相比,使用所述重构帧的所述第二副本训练所述学习模型导致了所述学习模型的更大分类精度上限。
2.根据权利要求1所述的解码器,其中,所述第二后置重构通路被配置为使用所述重构帧的所述第二副本和从所述第一后置重构通路接收到的滤波器侧信息来训练所述学习模型。
3.根据权利要求1所述的解码器,其中,在所述熵解码级、所述去量化级、所述逆变换级、所述重构级和所述第二后置重构通路执行的每个函数都是内射函数,其中,在所述第一后置重构通路执行的至少一个函数是非内射函数。
4.根据权利要求1所述的解码器,其中,所述重构帧是第一重构帧,其中,所述重构级被进一步配置为产生第二重构帧,其中,所述第一后置重构通路被配置为对所述第二重构帧的第一副本进行滤波,其中,所述第二后置重构通路被配置为使用经训练的学习模型对所述第二重构帧的第二副本执行一个或多个推理操作。
5.根据权利要求1所述的解码器,其中,所述一种或多种滤波技术包括使用环内滤波器执行的滤波技术。
6.一种方法,包括:
对表示编码视频数据的量化变换系数进行去量化,以产生变换系数;
对所述变换系数进行逆变换,以产生预测残差;
重构所述预测残差,以产生重构帧;
对所述重构帧的第一副本进行滤波,以产生滤波帧以包括在输出视频流内;以及
训练并输出学习模型,其中训练所述学习模型包括处理所述重构帧的第二副本以标识视频内容。
7.根据权利要求6所述的方法,其中,训练并输出所述学习模型包括:
使用所述重构帧的所述第二副本训练所述学习模型,以标识所述视频内容。
8.根据权利要求7所述的方法,与使用所述滤波帧训练所述学习模型相比,使用所述重构帧的所述第二副本训练所述学习模型导致了所述学习模型的更大分类精度上限。
9.根据权利要求7所述的方法,其中,使用所述重构帧的所述第二副本训练所述学习模型以标识所述视频内容包括:
使用滤波器侧信息来训练所述学习模型,其中,所述滤波器侧信息被用于对所述重构帧的所述第一副本进行滤波。
10.根据权利要求6所述的方法,其中,所述滤波帧是使用至少一个非内射函数产生的,其中,所述重构帧的所述第二副本是在没有使用所述至少一个非内射函数的情况下产生的。
11.根据权利要求6所述的方法,其中,对所述重构帧的所述第一副本进行滤波以产生所述滤波帧以包括在输出视频流内包括:
使用环内滤波器来处理所述重构帧的所述第一副本。
12.根据权利要求6所述的方法,其中,所述编码视频数据是第一编码视频数据,所述方法进一步包括:
使用经训练的学习模型对第二编码视频数据执行一个或多个推理操作。
13.根据权利要求6所述的方法,其中,所述编码视频数据是从编码比特流中解码的,所述方法进一步包括:
在所述输出视频流中输出所述滤波帧,以在用户设备上显示。
14.一种包括执行指令的处理器的集成电路,所述指令包括用于以下操作的指令:
对来自编码比特流的编码视频数据进行解码,以产生重构帧;
使用环内滤波器经由第一解码通路来处理所述重构帧的第一副本,以产生输出视频流,以用于在用户设备上显示;以及
经由第二解码通路来处理所述重构帧的第二副本以训练并输出学习模型,以用于标识视频内容。
15.根据权利要求14所述的集成电路,其中,用于对来自所述编码比特流的所述编码视频数据进行解码以产生所述重构帧的所述指令包括用于以下操作的指令:
对表示所述编码视频数据的量化变换系数进行去量化,以产生变换系数;
对所述变换系数进行逆变换,以产生预测残差;以及
重构所述预测残差,以产生重构帧。
16.根据权利要求14所述的集成电路,其中,用于经由所述第二解码通路来处理所述重构帧的所述第二副本以训练并输出学习模型以用于标识所述视频内容的所述指令包括用于以下操作的指令:
使用所述重构帧的所述第二副本训练所述学习模型。
17.根据权利要求16所述的集成电路,其中,用于使用所述重构帧的所述第二副本训练所述学习模型的所述指令包括用于以下操作的指令:
使用来自所述第一解码通路的滤波器侧信息来训练所述学习模型。
18.根据权利要求14所述的集成电路,其中,所述编码视频数据从编码比特流解码,并且所述指令包括用于以下操作的指令:
使用所述经训练的学习模型对第二编码视频数据执行一个或多个推理操作。
19.根据权利要求14所述的集成电路,其中,与通过处理滤波帧来训练所述学习模型相比,通过处理所述重构帧的所述第二副本来训练所述学习模型导致了所述学习模型的更大分类精度上限,所述滤波帧是通过使用所述环内滤波器对所述重构帧的所述第一副本进行滤波而产生的。
20.根据权利要求14所述的集成电路,其中,经由所述第一解码通路来处理所述重构帧的所述第一副本包括:使用至少一个非内射函数,其中,经由所述第二解码通路来处理所述重构帧的所述第二副本省略了使用所述至少一个非内射函数。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/127,637 | 2018-09-11 | ||
| US16/127,637 US10694216B2 (en) | 2018-09-11 | 2018-09-11 | Video coding using separate learning and filtering pathways |
| PCT/US2019/047137 WO2020055550A1 (en) | 2018-09-11 | 2019-08-20 | Video coding using separate learning and filtering pathways |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111819576A CN111819576A (zh) | 2020-10-23 |
| CN111819576B true CN111819576B (zh) | 2025-02-07 |
Family
ID=67809737
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201980017194.7A Active CN111819576B (zh) | 2018-09-11 | 2019-08-20 | 使用分离的学习通路和滤波通路的视频代码化 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10694216B2 (zh) |
| EP (1) | EP3750105A1 (zh) |
| CN (1) | CN111819576B (zh) |
| WO (1) | WO2020055550A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10812827B2 (en) * | 2018-05-11 | 2020-10-20 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
| US11568248B2 (en) * | 2020-03-31 | 2023-01-31 | Ati Technologies Ulc | Feature reordering based on similarity for improved memory compression transfers during machine learning jobs |
| US11197004B1 (en) * | 2020-07-02 | 2021-12-07 | Google Llc | Inter-prediction mode-dependent transforms for video coding |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2595382B1 (en) * | 2011-11-21 | 2019-01-09 | BlackBerry Limited | Methods and devices for encoding and decoding transform domain filters |
| US9369732B2 (en) * | 2012-10-08 | 2016-06-14 | Google Inc. | Lossless intra-prediction video coding |
| US9584814B2 (en) | 2014-05-15 | 2017-02-28 | Intel Corporation | Content adaptive background foreground segmentation for video coding |
| WO2017002283A1 (ja) | 2015-07-01 | 2017-01-05 | パナソニックIpマネジメント株式会社 | 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置 |
| US10009622B1 (en) * | 2015-12-15 | 2018-06-26 | Google Llc | Video coding with degradation of residuals |
| WO2017123487A1 (en) * | 2016-01-15 | 2017-07-20 | Vid Scale, Inc. | System and method for enhanced motion compensation using adaptive filtering |
-
2018
- 2018-09-11 US US16/127,637 patent/US10694216B2/en active Active
-
2019
- 2019-08-20 EP EP19762075.0A patent/EP3750105A1/en active Pending
- 2019-08-20 CN CN201980017194.7A patent/CN111819576B/zh active Active
- 2019-08-20 WO PCT/US2019/047137 patent/WO2020055550A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2020055550A1 (en) | 2020-03-19 |
| US10694216B2 (en) | 2020-06-23 |
| EP3750105A1 (en) | 2020-12-16 |
| US20200084478A1 (en) | 2020-03-12 |
| CN111819576A (zh) | 2020-10-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113287306B (zh) | 用于从比特流中解码编码的视频块的方法、装置和解码器 | |
| US12445656B2 (en) | Guided restoration of video data using neural networks | |
| CN107205149B (zh) | 通过参考帧缓冲器跟踪的运动矢量参考选择 | |
| CN111801945A (zh) | 具有基于边信息的视频编译的混合运动补偿神经网络 | |
| US20250182470A1 (en) | Systems and techniques for retraining models for video quality assessment and for transcoding using the retrained models | |
| US10506240B2 (en) | Smart reordering in recursive block partitioning for advanced intra prediction in video coding | |
| CN110169068A (zh) | Dc系数符号代码化方案 | |
| CN110679150A (zh) | 相同帧运动估计和补偿 | |
| CN110169059B (zh) | 视频代码化的复合预测 | |
| CN114600459B (zh) | 用于预测残差代码化的向量量化 | |
| CN110731084B (zh) | 使用上下文树来代码化视频语法元素 | |
| US20170302965A1 (en) | Adaptive directional loop filter | |
| CN111819576B (zh) | 使用分离的学习通路和滤波通路的视频代码化 | |
| US20190098302A1 (en) | Image processing for compression | |
| CN110692247B (zh) | 复合运动补偿的预测 | |
| CN116830574A (zh) | 具有指定比特深度精度的调色板模式代码化 | |
| WO2024144978A1 (en) | Delayed frame filtering in in-loop filtering | |
| WO2024178432A1 (en) | Switchable machine-learning models on common inference hardware for video coding |
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 |