CN117730537A - 经由基于学习神经网络的过滤器对机器视觉任务的性能改进 - Google Patents
经由基于学习神经网络的过滤器对机器视觉任务的性能改进 Download PDFInfo
- Publication number
- CN117730537A CN117730537A CN202280048124.XA CN202280048124A CN117730537A CN 117730537 A CN117730537 A CN 117730537A CN 202280048124 A CN202280048124 A CN 202280048124A CN 117730537 A CN117730537 A CN 117730537A
- Authority
- CN
- China
- Prior art keywords
- information
- filter
- decoder
- encoder
- block
- 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
- 238000013528 artificial neural network Methods 0.000 title claims description 195
- 230000006872 improvement Effects 0.000 title claims description 10
- 238000000034 method Methods 0.000 claims abstract description 114
- 238000005192 partition Methods 0.000 claims description 41
- 238000012805 post-processing Methods 0.000 claims description 41
- 239000013598 vector Substances 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000000153 supplemental effect Effects 0.000 claims description 6
- 230000011664 signaling Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 239000010410 layer Substances 0.000 description 46
- 238000012549 training Methods 0.000 description 35
- 230000002123 temporal effect Effects 0.000 description 30
- 238000013139 quantization Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000001514 detection method Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 230000009466 transformation Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000001537 neural effect Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000004438 eyesight Effects 0.000 description 4
- 239000011229 interlayer Substances 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013442 quality metrics Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000016776 visual perception 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/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/142—Detection of scene cut or scene change
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- 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)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种方法包括接收辅助信息和/或至少一个辅助特征,至少一个辅助特征基于辅助信息;其中辅助信息包括在解码器内可得到的信息,或者辅助信息包括从使用编码器编码的数据输出的比特流;接收使用解码器生成的经解码的数据;以及经由将过滤器应用于经解码的数据,使用辅助信息和/或至少一个辅助特征,用至少一个过滤器生成经过滤的数据;其中至少一个过滤器包括学习过滤器;其中经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
Description
导致本申请的项目已经获得ECSEL联合企业(JU)根据第783162号拨款协议的资助。联合企业得到了欧盟地平线2020研究和创新计划以及荷兰(Netherlands)、捷克共和国(Czech Republic)、芬兰(Finland)、西班牙(Spain)和意大利(Italy)的支持。
技术领域
示例和非限制性实施例总体上涉及多媒体传输和机器学习,并且更具体地,涉及经由基于学习神经网络的过滤器对机器视觉任务的性能改进。
背景技术
已知在多媒体系统中执行数据压缩和解码。
附图说明
结合附图,在以下描述中解释了前述方面和其他特征,其中:
图1示意性地示出了采用本文所述的示例的实施例的电子设备。
图2示意性地示出了适合于采用本文所述的示例的实施例的用户装备。
图3进一步示意性地示出了使用无线和有线网络连接进行连接的采用本文所述的示例的实施例的电子设备。
图4示意性地示出了用于一般等级的数据压缩的编码器的框图。
图5示出了神经网络作为通用编解码器的管线的组件可以如何运转的示例。
图6示出了通用视频编码管线的再次使用,其中大部分或全部组件被神经网络替代。
图7示出了神经自动编码器架构,其中分析网络是编码器NN,合成网络是解码器NN。
图8示出了基于神经网络的端到端学习视频编码系统。
图9是用于机器的视频编码的管线的一般图示。
图10示出了用于机器的视频编码的端到端学习方法的管线的示例。
图11示出了可以如何训练用于机器的视频编码的端到端学习系统的示例。
图12示出了使用任务NN进行视频编码和解码的示例基线系统。
图13示出了包括后处理神经网络的示例基线系统。
图14示出了利用VVC编解码器的辅助信息。
图15A示出了块划分图的示例,其中在二进制图像中标记划分边界。
图15B示出了块划分图的另一示例,其中通过将划分块中的所有像素分配给指示该块的值来生成灰度图像。
图16是基于本文所述示例的被配置为实现用于至少一个机器任务的基于学习神经网络的过滤器的示例装置。
图17是基于本文所述示例的经由基于学习神经网络的过滤器实现机器视觉任务的示例方法。
具体实施方式
本文描述了用于通过使用后处理过滤器来改进任务NN性能的方法,该后处理过滤器根据辅助信息进行训练,该辅助信息可以从通用编解码器获得。
下文详细描述了根据实施例的用于视频/图像编码过程的合适装置和可能机制。就此而言,首先参考图1和图2,其中图1示出了装置50的示例框图。该装置可以是被配置为执行各种功能的物联网(IoT)装置,诸如,例如,通过一个或多个传感器收集信息、接收或传输信息、分析由该装置收集或接收的信息等。该装置可以包括可以结合编解码器的视频编解码系统。图2示出了根据示例实施例的装置的布局。接下来解释图1和图2的元素。
电子设备50例如可以是无线通信系统的移动终端或用户装备、传感器设备、标签或其他低功率设备。然而,应当了解,本文所述的示例的实施例可以在可以通过神经网络处理数据的任何电子设备或装置内实现。
装置50可以包括外壳30,用于结合和保护设备。装置50可以进一步包括呈液晶显示器形式的显示器32。在本文所述的示例的其他实施例中,显示器可以是适合于显示图像或视频的任何合适的显示技术。装置50可以进一步包括小键盘34。在本文所述的示例的其他实施例中,可以采用任何合适的数据或用户接口机制。例如,用户接口可以被实现为作为触敏显示器的部分的虚拟键盘或数据输入系统。
该装置可以包括麦克风36、或可以是数字或模拟信号输入的任何合适的音频输入。装置50可以进一步包括音频输出设备,在本文所述的示例的实施例中,该音频输出设备可以是以下中的任一种:耳机38、扬声器、或模拟音频或数字音频输出连接件。装置50还可以包括电池(或者在本文所述的示例的其他实施例中,该设备可以由任何合适的移动能量设备供电,诸如太阳能电池、燃料电池或发条发电机)。该装置可以进一步包括能够记录或捕获图像和/或视频的相机。装置50可以进一步包括红外端口,用于与其他设备的短程视距通信。在其他实施例中,装置50可以进一步包括任何合适的短程通信解决方案,诸如,例如蓝牙无线连接或USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56、处理器或处理器电路装置(circuitry)。控制器56可以连接到存储器58,在本文所述的示例的实施例中,该存储器可以存储呈图像和音频数据形式的数据、和/或还可以存储用于在控制器56上实现的指令。控制器56可以进一步连接到编解码器电路装置54,该编解码器电路装置适合于进行音频和/或视频数据的编码和/或解码、或协助由控制器进行的编码和/或解码。
装置50可以进一步包括读卡器48和智能卡46,例如UICC和UICC读写器,用于提供用户信息并且适合于提供认证信息,以用于在网络上对用户进行认证和授权。
装置50可以包括无线电接口电路装置52,该无线电接口电路装置连接到控制器并且适合于生成无线通信信号,例如用于与蜂窝通信网络、无线通信系统或无线局域网进行通信。装置50可以进一步包括连接到无线电接口电路装置52的天线44,用于将在无线电接口电路装置52处生成的射频信号传输到其他装置和/或用于从其他装置接收射频信号。
装置50可以包括能够记录或检测各个帧的相机,然后该各个帧被传递到编解码器54或控制器用于处理。该装置可以在传输和/或存储之前从另一设备接收视频图像数据用于处理。装置50还可以无线地或通过有线连接来接收图像,用于编码/解码。上述装置50的结构元素代表用于执行对应功能的部件的示例。
关于图3,示出了可以利用本文所述的示例的实施例的系统的示例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线网络或无线网络的任何组合,包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA、LTE、4G、5G网络等)、诸如由IEEE 802.x标准中的任一个定义的无线局域网(WLAN)、蓝牙个人区域网、以太网局域网、令牌环局域网、广域网和互联网。
系统10可以包括适合于实现本文所述的示例的实施例的有线和无线通信设备和/或装置50。
例如,图3所示的系统示出了移动电话网络11、和互联网28的表示。与互联网28的连接可以包括但不限于长程无线连接、短程无线连接和各种有线连接,包括但不限于电话线、电缆线、电力线和类似的通信路径。
系统10中所示的示例通信设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)和移动电话的组合14、PDA 16、集成消息设备(IMD)18、台式计算机20、笔记本计算机22。当由正在移动的个人携带时,装置50可以是固定的或移动的。装置50也可以位于交通工具中,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的合适的交通工具。
实施例也可以在机顶盒(即,数字电视接收器,其可以具有/可以不具有显示能力或无线能力)中、在平板计算机或(膝上型)个人计算机(PC)(其具有处理神经网络数据的硬件和/或软件)中、在各种操作系统中、以及在芯片组、处理器、DSP和/或提供基于硬件/软件的编码的嵌入式系统中实现。
一些或其他装置可以发送并且接收呼叫和消息,并且通过与基站24的无线连接25与服务提供商进行通信。基站24可以连接到网络服务器26,该网络服务器允许移动电话网络11与互联网28之间的通信。该系统可以包括附加的通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动通信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-互联网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、蓝牙、IEEE 802.11、3GPP窄带IoT和任何类似的无线通信技术。在实现本文所述的示例的各种实施例中涉及的通信设备可以使用各种介质进行通信,包括但不限于无线电、红外、激光、线缆连接和任何合适的连接。
在电信和数据网络中,通道可以是指物理通道或逻辑通道。物理通道可以是指诸如电线的物理传输介质,而逻辑通道可以是指能够传送数个逻辑通道的多路复用介质上的逻辑连接。通道可以用于从一个或数个发送器(或发射器)向一个或数个接收器传送信息信号,例如比特流。
实施例也可以在所谓的IoT设备中实现。例如,物联网(IoT)可以被定义为现有互联网基础设施内唯一可标识的嵌入式计算设备的互连。各种技术的融合已经并且可以使得许多领域的嵌入式系统(诸如无线传感器网络、控制系统、家庭/楼宇自动化等)包括在物联网(IoT)中。为了利用互联网,IoT设备被提供有作为唯一标识符的IP地址。IoT设备可以被提供有无线电发射器,诸如WLAN或蓝牙发射器或RFID标签。替代地,IoT设备可以经由有线网络,诸如基于以太网的网络或电力线连接(PLC),接入基于IP的网络。
在ISO/IEC 13818-1中或等效地在ITU-T建议H.222.0中规定的MPEG-2传输流(TS)是一种在多路复用流中用于携载音频、视频和其他媒体以及程序元数据或其他元数据的格式。包标识符(PID)用于标识TS内的基本流(也称为分组化基本流)。因此,MPEG-2TS内的逻辑通道可以被认为对应于特定的PID值。
可用的媒体文件格式标准包括ISO基本媒体文件格式(ISO/IEC 14496-12,其可以缩写为ISOBMFF)和源自ISOBMFF的用于NAL单元结构化视频的文件格式(ISO/IEC 14496-15)。
视频编解码器由将输入视频变换为适合于存储/传输的压缩表示的编码器和可以将压缩视频表示解压缩回可视形式的解码器组成。视频编码器和/或视频解码器也可以彼此分开,即不需要形成编解码器。典型的编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即,以更低的比特率)表示视频。
典型的混合视频编码器,例如ITU-T H.263和H.264的许多编码器实现,分两个阶段对视频信息进行编码。首先,例如通过运动补偿手段(在先前编码的视频帧中的一个视频帧中找到并且指示与正被编码的块紧密对应的区域)或通过空间手段(以特定方式使用要被编码的块周围的像素值)来预测某个图片区域(或“块”)中的像素值。其次,对预测误差(即预测的像素块和原始像素块之间的差异)进行编码。这通常通过使用指定的变换(例如,离散余弦变换(DCT)或其变型)来变换像素值的差异、量化系数以及对量化的系数进行熵编码来完成。通过改变量化过程的保真度,编码器可以控制像素表示的精度(图片质量)与所得编码的视频表示的大小(文件大小或传输比特率)之间的平衡。
在时间预测中,预测的来源是先前解码的图片(也称为参考图片、或参考帧)。在帧内块复制(IBC;也称为帧内块复制预测和当前图片参考)中,预测类似地应用于时间预测,但是参考图片是当前图片,并且在预测过程中只可以参考先前解码的样本。帧间层预测或帧间视图预测可以类似地应用于时间预测,但是参考图片是分别来自另一可缩放层或来自另一视图的解码的图片。在一些情况下,帧间预测可以仅是指时间预测,而在其他情况下,帧间预测可以共同地是指任何时间预测、以及帧内块复制、帧间层预测和帧间视图预测,前提是它们以与时间预测相同或相似的过程执行。帧间预测或时间预测有时可以被称为运动补偿或运动补偿预测。
帧间预测,其也可以被称为时间预测、运动补偿或运动补偿预测,减少了时间冗余。在帧间预测中,预测的来源是先前解码的图片。帧内预测利用了同一图片内的相邻像素可能相关的事实。可以在空间域或变换域中执行帧内预测,即,可以预测样本值或变换系数。帧内预测通常用于帧内编码,其中不应用帧间预测。
编码程序的一个结果是编码参数集,诸如运动向量和量化的变换系数。如果首先根据空间上或时间上相邻的参数来预测参数,则许多参数可以被更有效地熵编码。例如,可以从空间上相邻的运动向量预测运动向量,并且可以仅对相对于运动向量预测器的差异进行编码。编码参数的预测和帧内预测可以统称为图片内预测。
图4示出了视频编码器的一般结构的框图。图4呈现了用于两层的编码器,但是应当了解,所呈现的编码器可以类似地扩展到编码多于两层。图4示出了包括用于基层的第一编码器部分500和用于增强层的第二编码器部分502的视频编码器。第一编码器部分500和第二编码器部分502中的每个部分可以包括用于对进入的图片进行编码的类似元素。编码器部分500、502可以包括像素预测器302、402、预测误差编码器303、403和预测误差解码器304、404。图4还示出了像素预测器302、402的实施例,作为包括帧间预测器306、406(P帧间)、帧内预测器308、408(P帧内)、模式选择器310、410、过滤器316、416(F)和参考帧存储器318、418(RFM)。第一编码器部分500的像素预测器302接收300要在帧间预测器306(其确定图像与运动补偿参考帧318之间的差异)和帧内预测器308(其仅基于当前帧或图片的已处理部分来确定图像块的预测)处编码的视频流的基层图像(I0,n)。帧间预测器和帧内预测器的输出都被传递到模式选择器310。帧内预测器308可以具有多于一个帧内预测模式。因此,每个模式可以执行帧内预测,并且将预测的信号提供给模式选择器310。模式选择器310还接收基层图片300的副本。对应地,第二编码器部分502的像素预测器402接收400要在帧间预测器406(其确定图像与运动补偿参考帧418之间的差异)和帧内预测器408(其仅基于当前帧或图片的已处理部分来确定图像块的预测)处编码的视频流的增强层图像(I1,n)。帧间预测器和帧内预测器的输出都被传递到模式选择器410。帧内预测器408可以具有多于一个帧内预测模式。因此,每个模式可以执行帧内预测,并且将预测的信号提供给模式选择器410。模式选择器410还接收增强层图片400的副本。
根据选择哪种编码模式对当前块进行编码,帧间预测器306、406的输出或任选的帧内预测器模式中的一个模式的输出或模式选择器内的表面编码器的输出被传递到模式选择器310、410的输出。模式选择器的输出被传递到第一求和设备321、421。第一求和设备可以从基层图片300/增强层图片400中减去像素预测器302、402的输出,以产生被输入到预测误差编码器303、403的第一预测误差信号320、420(Dn)。
像素预测器302、402进一步从初步重构器339、439接收图像块的预测表示312、412(P’n)和预测误差解码器304、404的输出338、438(D’n)的组合。初步重构的图像314、414(I’n)可以被传递到帧内预测器308、408和过滤器316、416。接收初步表示的过滤器316、416可以过滤初步表示并输出可以保存在参考帧存储器318、418中的最终重构的图像340、440(R’n)。参考帧存储器318可以连接到帧间预测器306,以用作在帧间预测操作中未来基层图片300与之比较的参考图像。根据一些实施例,以基层被选择并指示为用于增强层的帧间层样本预测和/或帧间层运动信息预测的来源为条件,参考帧存储器318也可以连接到帧间预测器406,以用作在帧间预测操作中未来增强层图片400与之比较的参考图像。此外,参考帧存储器418可以连接到帧间预测器406,以用作在帧间预测操作中未来增强层图片400与之比较的参考图像。
根据一些实施例,以基层被选择并且指示为用于预测增强层的过滤参数的来源为条件,来自第一编码器部分500的过滤器316的过滤参数可以被提供给第二编码器部分502。
预测误差编码器303、403包括变换单元342、442(T)和量化器344、444(Q)。变换单元342、442将第一预测误差信号320、420变换为变换域。该变换例如是DCT变换。量化器344、444量化变换域信号,例如DCT系数,以形成量化的系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出并且执行预测误差编码器303、403的相反过程,以产生解码的预测误差信号338、438,当其在第二求和设备339、439处与图像块的预测表示312、412组合时,产生初步重构的图像314、414。预测误差解码器304、404可以被认为:包括去量化器346、446(Q-1),使量化的系数值(例如DCT系数)去量化以重构变换信号;以及逆变换单元348、448(T-1),对重构的变换信号执行逆变换,其中逆变换单元348、448的输出包含重构的块。预测误差解码器还可以包括块过滤器,该块过滤器可以根据进一步解码的信息和过滤器参数对重构的块进行过滤。
熵编码器330、430(E)接收预测误差编码器303、403的输出并且可以对信号执行合适的熵编码/可变长度编码,以提供误差检测和校正能力。熵编码器330、430的输出可以例如由多路复用器508(M)插入到比特流中。
神经网络的基础
神经网络(NN)是由数个层计算组成的计算图。每层由一个或多个单元组成,其中每个单元执行基本计算。一个单元连接到一个或多个其他单元,并且该连接可以与权重相关联。权重可以用于缩放通过相关联的连接传递的信号。权重是可学习参数,即可以从训练数据中学习的值。可以有其他可学习参数,诸如批量归一化层的那些参数。
神经网络的最广泛使用的两种架构是前馈架构和递归架构。前馈神经网络不存在反馈回路:每一层从之前层中的一个或多个层获取输入,并且提供其输出作为后续层中的一个或多个层的输入。此外,某一层内的单元从先前层中的一个或多个层中的单元获取输入,并且向随后层中的一个或多个层提供输出。
初始层(靠近输入数据的那些层)提取语义低级特征,诸如图像中的边缘和纹理等,并且中间层和最终层提取更高级特征。在特征提取层之后,可能有执行特定任务的一个或多个层,诸如分类、语义分割、对象检测、去噪、风格转换、超分辨率等。在递归神经网络中,有反馈回路,因此网络变得有状态,即,它能够记忆信息或状态。
神经网络正用于许多不同类型设备(诸如移动电话)的越来越多的应用程序中。示例包括图像和视频分析及处理、社交媒体数据分析、设备使用数据分析等。
神经网络(和其他机器学习工具)的属性中的一个属性是,它们能够以监督方式或以无监督方式从输入数据中学习属性。这样的学习是训练算法的结果,或者是提供训练信号的元级神经网络的结果。
一般来说,训练算法由改变神经网络的一些属性组成,使得它的输出尽可能接近期望的输出。例如,在对图像中的对象进行分类的情况下,神经网络的输出可以用于导出指示输入图像中的对象所属的类别或种类的类别或种类索引。训练通常通过最小化或减少输出的误差(也被称为损失)来进行。损失的示例为均方误差、交叉熵等。在最近的深度学习技术中,训练是迭代过程,其中在每次迭代时,算法修改神经网络的权重,以使网络的输出逐渐提高,即逐渐减少损失。
本文所述的示例可互换地使用术语“模型”、“神经网络(neural network)”、“神经网(neural net)”和“网络”,并且神经网络的权重有时也被称为可学习参数或简称为参数。
训练神经网络是优化过程,但最终目标不同于优化的典型目标。在优化中,唯一的目标是最小化应变量。在机器学习中,优化或训练过程的目标是使模型从有限的训练数据集中学习数据分布的特性。换言之,目标是学习使用有限的训练数据集,以便学习泛化到先前未见过的数据,即未用于训练模型的数据。这通常被称为泛化。在实践中,数据通常被分成至少两个集,训练集和验证集。训练集用于训练网络,即修改其可学习参数,以便最小化损失。验证集用于检查网络对未用于最小化损失的数据的性能,作为模型的最终性能的指示。特别地,在训练过程期间监测训练集上和验证集上的误差,以理解以下事情(1-2):
1.如果网络全然正在学习-在这种情况下,训练集误差应该减小,否则模型处于欠拟合状态。
2.如果网络正在学习泛化-在这种情况下,验证集误差也需要减少,并且不能比训练集误差高太多。如果训练集误差低,但是验证集误差比训练集误差高得多,或者它不减小,或者它甚至增大,则模型处于过拟合状态。这意味着模型刚刚记住了训练集的特性,并且仅在该集上表现良好,但是在未用于调整其参数的集上表现不佳。
最近,神经网络已用于压缩和解压缩诸如图像的数据,即用于图像编解码器中。用于实现图像编解码器的一个组件的最广泛使用的架构是自动编码器,它是由两个部分组成的神经网络:神经编码器和神经解码器(在本说明书中,这些被简单地称为编码器和解码器,但是本文的描述可以是指从数据学习而不是手动调整的算法)。编码器将图像作为输入,并且产生比输入图像需要更少比特的代码。该代码可以通过对编码器的输出应用二进制化或量化过程来获得。解码器接收该代码并重构输入到编码器的图像。
通常对这样的编码器和解码器进行训练,以最小化比特率和失真的组合,其中失真可以基于以下度量中的一个或多个:均方误差(MSE)、峰值信噪比(PSNR)、结构相似性指标(SSIM)等。这些失真度量意味着与人类视觉感知质量相关,使得最小化或最大化这些失真度量中的一个或多个度量导致改进人类感知的经解码的图像的视觉质量。
视频/图像编码的基础
视频编解码器由将输入视频变换为适合存储/传输的压缩表示的编码器和将压缩视频表示解压缩回可视形式的解码器组成。通常,编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即,以更低的比特率)表示视频。
典型的混合视频编解码器,例如ITU-T H.263和H.264,分两个阶段对视频信息进行编码。首先,例如通过运动补偿手段(在先前编码的视频帧中的一个视频帧中找到并我指示与正被编码的块紧密对应的区域)或通过空间手段(以特定方式使用要被编码的块周围的像素值)来预测某个图片区域(或“块”)中的像素值。其次,对预测误差(即预测的像素块和原始像素块之间的差异)进行编码。这通常通过使用指定的变换(例如,离散余弦变换(DCT)或其变型)来变换像素值的差异、量化系数以及对量化的系数进行熵编码来完成。通过改变量化过程的保真度,编码器可以控制像素表示的精度(图片质量)与所得编码的视频表示的大小(文件大小或传输比特率)之间的平衡。
帧间预测,其也可以被称为时间预测、运动补偿或运动补偿预测,利用了时间冗余。在帧间预测中,预测的来源是先前解码的图片。
帧内预测利用了同一图片内的相邻像素可能相关的事实。可以在空间域或变换域中执行帧内预测,即,可以预测样本值或变换系数。帧内预测通常用于帧内编码,其中不应用帧间预测。
编码程序的一个结果是编码参数集,诸如运动向量和量化的变换系数。如果首先根据空间上或时间上相邻的参数来预测参数,则许多参数可以被更有效地熵编码。例如,可以从空间上相邻的运动向量预测运动向量,并且可以仅对相对于运动向量预测值的差异进行编码。编码参数的预测和帧内预测可以统称为图片内预测。
解码器通过应用类似于编码器的预测手段以形成像素块的预测表示(使用由编码器创建并且存储在压缩表示中的运动信息或空间信息)、和预测误差解码(恢复空间像素域中的量化的预测误差信号的预测误差编码的逆操作)来重构输出视频。在应用预测手段和预测误差解码手段之后,解码器对预测和预测误差信号(像素值)进行求和,以形成输出视频帧。解码器(和编码器)还可以应用附加的过滤手段以改进输出视频的质量,之后传递其用于显示和/或将其存储作为用于视频序列中即将到来的帧的预测参考。
在典型的视频编解码器中,运动信息用与每个运动补偿图像块相关联的运动向量指示。这些运动向量中的每个运动向量都表示要编码(在编码器侧)或解码(在解码器侧)的图片中的图像块和先前编码或解码的图片中的一个图片中的预测来源块的位移。为了有效地表示运动向量,通常相对于特定于块的预测的运动向量区别地进行编码。在典型的视频编解码器中,预测的运动向量是以预定义的方式创建的,例如计算相邻块的编码或解码的运动向量的中值。创建运动向量预测的另一方式是从时间参考图片中的相邻块和/或协同定位的块中生成候选预测的列表,并且发信号通知所选择的候选作为运动向量预测值。除了预测运动向量值之外,还可以预测先前编码/解码的图片的参考索引。参考索引通常是从时间参考图片中的相邻块和/或协同定位块来预测的。此外,典型的高效视频编解码器采用附加的运动信息编码/解码机制,通常称为合并(merging)/合并(merge)模式,其中在没有任何修改/校正的情况下预测并使用所有的运动场信息,该运动场信息包括每个可用参考图片列表的运动向量和对应参考图片索引。类似地,使用时间参考图片中的相邻块和/或协同定位块的运动场信息来进行预测运动场信息,并且在填充有可用的相邻/协同定位块的运动场信息的运动场候选列表的列表中,发信号通知所使用的运动场信息。
在典型的视频编解码器中,运动补偿后的预测残差首先用变换核(如DCT)进行变换,并且然后编码。这样的原因是在残差之中通常仍然存在一些相关性,并且在许多情况下变换可能有助于减少这种相关性并提供更有效的编码。
典型的视频编码器利用拉格朗日成本函数(Lagrangian cost functions)寻找最佳编码模式,例如期望的宏块模式和相关联的运动向量。这种成本函数使用加权因子λ将由于有损编码方法引起的(精确的或估计的)图像失真与表示图像区域中的像素值所需的信息的(精确的或估计的)量联系在一起:
C=D+λR
其中,C是要最小化的拉格朗日成本,D是在考虑模式和运动向量的情况下的图像失真(例如,均方误差),并且R是表示在解码器中重构图像块的所需数据所需的比特数(包括表示候选运动向量的数据的量)。
视频编码规范可以允许使用补充增强信息(SEI)消息等。一些视频编码规范包括SEI NAL单元,并且一些视频编码规范包含前缀SEI NAL单元和后缀SEI NAL单元,其中前一种类型可以开始图像单元等,而后一种类型可以结束图像单元等。SEI NAL单元包含一个或多个SEI消息,这些SEI消息不是输出图像的解码所需的,但是可以协助相关的过程,诸如图片输出定时、解码的图片的后处理、渲染、误差检测、误差隐藏和资源预留。在H.264/AVC、H.265/HEVC、H.266/VVC和H.274/VSEI标准中指定了数个SEI消息,并且用户数据SEI消息使得组织和公司能够指定SEI消息供他们自己使用。该标准可以包含用于指定的SEI消息的句法和语义,但可能未定义用于在接收方处理消息的过程。因此,编码器在创建SEI消息时可能需要遵循指定SEI消息的标准,而解码器可能不需要为了输出顺序符合而处理SEI消息。在标准中包括SEI消息的句法和语义的原因之一是允许不同的系统规范相同地解释补充信息,并且因此交互操作。希望的是,系统规范可以要求在编码端和在解码端都使用特定的SEI消息,并且另外可以指定用于在接收方处理特定SEI消息的过程。
已遵循了SEI消息规范的设计原则:在标准的未来修订版或版本中,通常不扩展SEI消息。
在文件JVET-S2002中描述了关于VVC/H.266的编码工具的细节。
视频编解码器中过滤器的背景
常规的图像和视频编解码器使用一组过滤器来增强预测的视觉内容的视觉质量,并且可以应用于环路内或环路外,或应用于两者。在环路内过滤器的情况下,应用于当前编码帧中的一个块的过滤器影响同一帧中和/或从当前帧预测的另一帧中的另一块的编码。环路内过滤器可以影响比特率和/或视觉质量。事实上,增强块导致更小的残差(原始块与预测且过滤的块之间的差异),因此需要编码更少的比特。在帧已经重构之后,对帧应用环路外过滤器,经过滤的视觉内容将不会作为用于预测的来源,并且因此它可能仅影响由解码器输出的帧的视觉质量。
关于基于神经网络的图像/视频编码的背景信息
最近,神经网络(NN)通过以下主要两种方法用于图像和视频压缩的情况中。
在一种方法中,NN用于替代通用编解码器(诸如VVC/H.266)的组件中的一个或多个组件。这里,“通用”意指其组件和参数通常不是从数据中学习的编解码器。这样的组件的示例为:
附加环路内过滤器,例如通过相对于通用环路过滤器,将NN作为附加环路内过滤器。
单环路内过滤器,例如通过用NN替代所有通用环路内过滤器。
帧内预测。
帧间预测。
变换和/或逆变换。
用于算术编解码器的概率模型。
等。
图5示出了根据实施例的NN作为通用编解码器的管线的组件运转的示例。具体地,图5示出了编码器,其也包括解码环路。图5被示为包括下述组件:
-亮度帧内预测块或电路501。该块或电路例如通过使用来自同一帧的已经重构的数据,在亮度域中执行帧内预测。亮度帧内预测块或电路501的操作可以由深度神经网络诸如卷积自动编码器来执行。
-色度帧内预测块或电路522。该块或电路例如通过使用来自同一帧的已经重构的数据,在色度域中执行帧内预测。色度帧内预测块或电路522可以执行交叉分量预测,例如,从亮度预测色度。色度帧内预测块或电路522的操作可以由深度神经网络诸如卷积自动编码器来执行。
-帧内预测块或电路503和帧间预测块或电路504。这些块或电路分别执行帧内预测和帧间预测。帧内预测块或电路503和帧间预测块或电路504可以对所有分量(例如,亮度和色度)执行预测。帧内预测块或电路503和帧间预测块或电路504的操作可以由两个或更多个深度神经网络诸如卷积自动编码器来执行。
-用于熵编码的概率估计块或电路505。该块或电路对要编码或解码的下一符号执行概率预测,然后将其提供给熵编码模块512,诸如算术编码模块,以编码或解码下一符号。概率估计块或电路505的操作可以由神经网络来执行。
-变换和量化(T/Q)块或电路506。这些实际上是两个块或电路。变换和量化块或电路506可以执行将输入数据变换为不同域,例如,FFT变换将数据变换为频域。变换和量化块或电路506可以将其输入值量化为可能值的较小的一组可能值。在解码环路中,可以有逆量化块或电路和逆变换块或电路513。变换块或电路和量化块或电路中的一个或两个可以被一个或两个或更多个神经网络替代。逆变换块或电路和逆量化块或电路513中的一个或两个电路可以被一个或两个或更多个神经网络替代。
-环路内过滤器块或电路507。环路内过滤器块或电路507的操作在解码环路中执行,并且它对逆变换块或电路的输出、或不管怎样对重构的数据执行过滤,以便相对于一个或多个预定质量度量增强重构的数据。该过滤器可能影响经解码的数据的质量和由编码器输出的比特流的比特率。环路内过滤器块或电路507的操作可以由神经网络诸如卷积自动编码器来执行。在示例中,环路内过滤器的操作可以由多个步骤或过滤器来执行,其中一个或多个步骤可以由神经网络来执行。
-后处理过滤器块或电路528。后处理过滤器块或电路528可以仅在解码器侧执行,因为它不会影响编码过程。后处理过滤器块或电路528对由环路内过滤器块或电路507输出的重构的数据进行过滤,以便增强重构的数据。后处理过滤器块或电路528可以被神经网络诸如卷积自动编码器替代。
-分辨率适配块或电路509:该块或电路可以在编码之前对输入视频帧进行下采样。然后,在解码环路中,可以通过上采样块或电路510将重构的数据上采样到原始分辨率。分辨率适配块或电路509块或电路的操作可以由神经网络诸如卷积自动编码器来执行。
-编码器控制块或电路511。该块或电路执行编码器参数的优化,诸如使用什么变换、使用什么量化参数(QP)、使用什么帧内预测模式(N个帧内预测模式中的)等等。编码器控制块或电路511的操作可以由神经网络诸如分类器卷积网络、或诸如回归卷积网络来执行。
-ME/MC块或电路514执行运动估计和/或运动补偿,这是在执行帧间预测时要执行的两个操作。ME/MC代表运动估计/运动补偿。
在另一种方法(通常称为“端到端学习压缩”)中,NN用作图像/视频编解码器的主要组件。在该第二种方法中,有两个主要选项:
选项1:再次使用视频编码管线,但用NN替代大部分或所有组件。参考图6,其示出了根据实施例的基于神经网络的经修改的视频编码管线的示例。神经网络的示例可以包括但不限于神经网络的压缩表示。图6被示为包括以下组件:
-神经变换块或电路602:该块或电路将求和/减法操作603的输出变换为该数据的新表示,该新表示可以具有较低的熵并且因此更加可压缩。
-量化块或电路604:该块或电路将输入数据601量化为较小的可能值集。
-逆变换和逆量化块或电路606。这些块或电路分别执行变换和量化的逆操作或近似逆操作。
-编码器参数控制块或电路608。该块或电路可以控制并且优化编码过程的一些或所有参数,诸如编码块或电路中的一个或多个的参数。
-熵编码块或电路610。该块或电路可以例如基于熵来执行无损编码。一种流行的熵编码技术是算术编码。
-神经帧内编解码器块或电路612。该块或电路可以是图像压缩和解压缩块或电路,其可以用于对内部帧进行编码和解码。编码器614可以是编码器块或电路,诸如自动编码器神经网络的神经编码器部分。解码器616可以是解码器块或电路,诸如自动编码器神经网络的神经解码器部分。帧内编码块或电路618可以是在编码器与解码器之间执行一些中间步骤(诸如量化、熵编码、熵解码和/或逆量化)的块或电路。
-深环路过滤器块或电路620。该块或电路对重构的数据执行过滤,以便增强该重构的数据。
-解码图片缓冲器块或电路622。该块或电路是保存解码的帧,例如要用于帧间预测的重构的帧624和增强的参考帧626的存储缓冲器。
-帧间预测块或电路628。该块或电路执行帧间预测,例如,从时间上邻近的帧(例如,帧632)进行预测。ME/MC 630执行运动估计和/或运动补偿,这是在执行帧间预测时要执行的两个操作。ME/MC代表运动估计/运动补偿。
选项2:重新设计整个管线,如下。选项2在图7中详细描述。-编码器NN:执行非线性变换
-编码器神经网络的输出的量化和无损编码。
-无损解码和去量化。
-解码器NN:执行非线性逆变换。
图7描绘了根据实例的作为神经自动编码器架构的部分的编码器NN和解码器NN。在图7中,分析网络701是编码器NN,并且合成网络702是解码器NN,它们可以一起被称为空间相关工具703,或被称为神经自动编码器。
在选项2中,输入数据704由编码器NN、分析网络701进行分析,该分析网络输出该输入数据的新表示。新表示可能更加可压缩。该新表示然后可以由量化器705量化成离散数量的值。然后,可以例如通过算术编码器706对量化的数据进行无损编码,从而获得比特流707。图7所示的示例包括算术解码器708和算术编码器706。在一些实施例中,算术编码器706、或算术解码器708、或算术编码器706和算术解码器708的组合可以被称为算术编解码器。在解码侧,首先,例如,通过使用算术编解码器708对比特流进行无损解码。无损经解码的数据被去量化,并且然后被输入到解码器NN、合成网络702。输出是重构或经解码的数据709。
在有损压缩的情况下,有损步骤可以包括编码器NN和/或量化。
为了训练该系统的神经网络,通常利用被称为‘训练损失’的训练目标函数,其通常包括一个或多个项、或损失项,或简单地损失。虽然这里选项1和图6被认为是用于描述训练目标函数的示例,但是类似的训练目标函数也可以用于训练用于图4和图5中系统的神经网络。在一个示例中,训练损失包括重构损失项和率损失项。重构损失促使系统根据某种相似性度量来解码与输入数据相似的数据。重构损失的示例为:
-源自均方误差(MSE)的损失;
-源自多尺度结构相似性(MS-SSIM)的损失,例如1减去MS-SSIM,或1-MS-SSIM;
-源自使用预训练的神经网络的损失。例如error(f1,f2),其中f1和f2分别是预训练神经网络对输入的(未压缩的)数据和解码的(重构的)数据提取的特征,并且error()是误差函数或距离函数,诸如L1范数或L2范数;
-源自使用与端到端学习编解码器同时训练的神经网络的损失。例如,可以使用对抗损失,其是由鉴别器神经网络提供的损失,该鉴别器神经网络按照在生成对抗网络(GAN)及其变型的上下文中提出的设置,以相对于编解码器对抗的方式进行训练。
率损失促使系统压缩编码阶段的输出,诸如算术编码器的输出。例如,‘压缩’意味着减少由编码阶段输出的比特的数量。
当使用基于熵的无损编码器时,诸如算术编码器,率损失通常促使编码器NN的输出具有低熵。可以根据编码器NN的输出、或根据量化操作的输出、或根据概率模型的输出来计算率损失。率损失的示例如下:
-熵的可微估计。
-稀疏化损失,例如,促使编码器NN的输出或量化的输出具有许多零的损失。示例是L0范数、L1范数、L1范数除以L2范数。
-应用于概率模型的输出的交叉熵损失,其中概率模型可以是用于估计要由算术编码器编码的下一个符号的概率的NN。
可以使用重构损失中的一个或多个重构损失,并且可以使用率损失中的一个或多个率损失。然后,所有损失项可以组合,例如作为加权和,以获得训练目标函数。通常,不同的损失项使用不同的权重进行加权,并且这些权重决定了最终系统在率-失真损失方面的表现。例如,如果相对于率损失对重构损失中的一个或多个给予更大的权重,则系统可以学习压缩得更少,但是以更高的精度重构,如通过与重构损失相关的度量所测量的。这些权重通常被认为是训练期的超参数,并且可以由设计训练期的操作者手动设置,或者例如通过网格搜索或通过使用附加的神经网络来自动设置。
为便于解释,在各种实施例中,视频被认为是数据类型。然而,应当理解,这些实施例也适用于其他媒体项目,例如图像和音频数据。
应当理解,即使在端到端学习方法中,也可以存在不从数据中学习的组件,诸如算术编解码器。
关于基于神经网络的端到端学习视频编码的另外信息
如图8所示,典型的基于神经网络的端到端学习视频编码系统800包含编码器804、量化器806、概率模型808、熵编解码器810/814(例如算术编码器/解码器)、去量化器816和解码器818。编码器804和解码器818通常是两个神经网络,或者主要包括神经网络组件。概率模型808也可以主要包括神经网络组件。量化器806、去量化器816和熵编解码器810/814通常不基于神经网络组件,但是它们也可以潜在地包括神经网络组件。
在编码器侧,编码器组件804将视频802作为输入,并将视频从其原始信号空间转换成可以包括输入的更加可压缩表示的潜在表示。在输入图像的情况下,潜在表示可以是三维张量,其中二两个维度表示垂直空间维度和水平空间维度,并且第三维度表示包含在该特定位置处的信息的“通道”。如果输入图像802是128×128×3RGB图像(水平大小为128个像素,竖直大小寸为128个像素,以及红、绿、蓝颜色分量的3个通道),并且如果编码器804对输入张量进行2倍下采样并且将通道尺寸扩展至32个通道,则潜在表示是尺寸(或“形状”)为64×64×32(即,水平大小为64个元素,竖直大小为64个元素,和32个通道)的张量。注意,不同维度的顺序可能根据所使用的惯例而有所不同;在一些情况下,对于输入图像,通道维度可以是第一维度,因此对于以上示例,输入张量的形状可以表示为3×128×128,而不是128×128×3。在输入视频(而不仅仅是输入图像)的情况下,输入张量中的另一维度可以用于表示时间信息。考虑到一组预定义的量化等级,量化器组件806将潜在表示量化成离散值。概率模型808和算术编解码器组件810/814一起工作来对量化的潜在表示执行无损压缩,并且生成要发送到解码器侧的比特流812。考虑到要被编码成比特流812的符号,概率模型808基于从当前编码/解码状态下的可用信息(诸如已经被编码/经解码的数据)构建的上下文来估计该符号的所有可能值的概率分布。然后,算术编码器810使用估计的概率分布将输入符号编码成比特流812。
在解码器侧,执行相反的操作。算术解码器814和概率模型808首先解码来自比特流812的符号,以恢复量化的潜在表示。然后,去量化器816以连续值重构潜在表示,并且将其传递到解码器818,以恢复输入视频/图像,作为输出视频/图像820。注意,该系统中的概率模型808是在编码系统与解码系统之间共享的。实际上,这意味着在编码器侧使用概率模型808的副本,而在解码器侧使用另一精确副本。
在该系统中,编码器804、概率模型808和解码器818通常基于深度神经网络。通过最小化以下率-失真损失函数,以端到端方式训练系统:
L=D+λR,
其中D是失真损失项,R是率损失项,并且是λ控制两种损失之间平衡的权重。失真损失项可以是均方误差(MSE)、结构相似性(SSIM)或评估重构的视频的质量的其他度量。可以使用多个失真损失并且将其整合成D,诸如MSE和SSIM的加权和。率损失项通常是量化的潜在表示的估计熵,其指示表示编码的符号所需的比特数,例如每像素比特数(bpp)。
对于无损视频/图像压缩,该系统仅包含概率模型808和算术编码器/解码器810/814。系统损失函数只包含率损失,因为失真损失总是为零(即没有信息损失)。
关于用于机器的视频编码(VCM)的背景信息
减少图像和视频压缩中的失真通常旨在提高人类感知质量,因为人类被认为是最终用户,即消费/观看经解码的图像。最近,随着机器学习,尤其是深度学习的出现,越来越多的机器(即,自主代理)独立于人类分析数据,并且甚至可以在没有人类干预的情况下基于分析结果做出决策。这样的分析的示例是对象检测、场景分类、语义分割、视频事件检测、异常检测、行人跟踪等。示例使用案例和应用是自动驾驶汽车、视频监测相机和公共安全、智能传感器网络、智能电视和智能广告、行人重标识、智能交通监测、无人机等。这可能会提出以下问题:当机器消费经解码的数据时,当考虑机器间通信中的媒体压缩时,系统/模型不应该以不同的质量度量而不是人类感知质量为目标吗?此外,用于压缩和解压缩供机器消费的数据的专用算法可能不同于那些用于压缩和解压缩供人类消费的数据的算法。该组用于压缩和解压缩供机器消费的数据的工具和概念在这里被称为用于机器的视频编码。
接收器侧设备可能具有多个“机器”或任务神经网络(任务-NN)。这些多个机器可以以例如由编排器子系统确定的某种组合的形式使用。基于先前使用的机器的输出,多个机器可以例如接连地使用,和/或并行使用。例如,被压缩且然后解压缩的视频可以由一个机器(NN)分析以用于检测行人,由另一机器(另一NN)分析以用于检测汽车,并且由另一机器(另一NN)分析以用于估计帧中所有像素的深度。
注意,对于本文所述的示例,“机器”和“任务神经网络”可互换地指代,并且这意指分析或处理特定任务数据的任何过程或算法(从数据中学习或不从数据中学习)。在本说明书的其余部分中,详细说明了关于本文所述的示例中考虑的机器的其他假设。
此外,术语“接收器侧”或“解码器侧”是指物理或抽象实体或设备,其包含一个或多个机器、并且在由另一物理或抽象实体或设备(“编码器侧设备”)编码的一些编码和最终解码的视频表示上运行这些一个或多个机器。
编码的视频数据可以例如作为文件存储到存储器设备中。存储的文件可以在以后提供给另一设备。
备选地,编码的视频数据可以从一个设备流向另一设备。
图9是用于机器的视频编码的管线900的一般图示。VCM编码器904将输入视频902编码成比特流906。可以从比特流906计算(908)比特率910,以便评估比特流906的大小。VCM解码器912对由VCM编码器904输出的比特流906进行解码。在图9中,VCM解码器的输出被称为“用于机器的经解码的数据”914。该数据可以被认为是解码的或重构的视频。然而,在该管线的一些实现中,该数据可能不具有与输入到VCM编码器的原始视频相同或相似的特征。例如,该数据可能无法通过简单地将数据呈现在屏幕上而容易地被人类理解。VCM解码器914的输出然后被输入到一个或多个任务神经网络916。在图9中,为了说明可以有任何数量的任务-NN 916,有三个示例任务-NN(一个用于对象检测916-1,一个用于对象分割916-2,和另一个用于对象跟踪916-3)以及一个未指定的任务-NN(任务-NN×916-4)。VCM的目标是获得低比特率,同时保证任务-NN在与每个任务相关联的评估度量方面仍然表现良好。
用于机器的视频编码的管线900中还示出了各种任务NN的评估918(包括相应的评估918-1、918-2、918-3和918-4)、以及各种任务NN的性能920(包括相应的性能920-1、920-2、920-3和920-4)。
实现用于机器的视频编码的可能方法中的一个方法是端到端学习方法。在这种方法中,VCM编码器1004和VCM解码器1012主要由神经网络组成。图10示出了用于端到端学习方法的管线1001的示例。视频1002被输入到神经网络编码器1024。神经网络编码器1024的输出被输入到无损编码器1026,诸如算术编码器,该无损编码器输出比特流1006。无损编解码器可以是既在无损编码器1026中又在无损解码器1030中的概率模型1028(包括1028和1028-2),该概率模型预测要被编码和解码的下一个符号的概率。概率模型1028也可以是学习的,例如它可以是神经网络。在解码器侧,比特流1006被输入到无损解码器1030,诸如算术解码器,该无损解码器的输出被输入到神经网络解码器1032。神经网络解码器1032的输出是可以被输入到一个或多个任务-NN 1016的用于机器的经解码的数据1014。
如图10进一步所示,每个任务NN 1016(包括任务NN 1016-1、1016-2、1016-3和1016-4)具有输出1022,分别示为输出1022-1、1022-2、1022-3和1022-4。
图11示出了可以如何训练端到端学习系统的示例。为了简单起见,仅示出了一个任务-NN 1116。可以从概率模型1128的输出来计算(在1134)率损失1136。率损失1136提供了编码输入视频数据所需的比特率的近似值。可以从任务-NN 1116的输出1122计算(在1140)任务损失1142。
然后,率损失1136和任务损失1142可以用于训练(在1138和1144)系统中使用的神经网络,诸如神经网络编码器1124、概率模型1128和神经网络解码器1132。可以通过首先计算每个损失相对于神经网络的梯度来执行训练,该梯度有助于或影响该损失的计算。然后,该梯度被诸如Adam的优化方法使用,用于更新神经网络的可训练参数。
如图11进一步所示,视频1102被输入到神经网络编码器1124中,并且训练1138的输出和神经网络编码器1124的输出被输入到神经网络解码器1132,该神经网络解码器生成用于机器的经解码的数据1114。
出于多种原因,可以在解码器侧(而不是编码器侧)执行机器任务,例如,因为编码器侧设备不具备运行执行这些任务的神经网络的能力(计算、功率、存储),或者因为等到解码器侧设备需要任务结果(例如,不同或附加的语义类别、更好的神经网络架构)时,任务神经网络的某些方面或性能可能已改变或改进。此外,可能存在定制需要,其中不同的客户端将运行不同的神经网络,用于执行这些机器学习任务。
作为端到端训练编解码器的备选,可以通过使用诸如H.266/VVC的通用编解码器来实现用于机器的视频编解码器。
备选地,如上文已经针对用于人类的视频编码的情况所述,另一种可能的设计可以包括使用诸如H.266/VVC的通用编解码器,该通用编解码器包括一个或多个神经网络。在一个可能的实现中,一个或多个神经网络可以替代通用编解码器的组件中的一个组件,诸如:
-一个或多个环路内过滤器。
-一个或多个帧内预测模式。
-一个或多个帧间预测模式。
-一个或多个变换。
-一个或多个逆变换。
-一个或多个概率模型,用于无损编码。
-一个或多个后处理过滤器。
在另一可能的实现中,一个或多个神经网络可以充当附加组件,诸如:
-一个或多个附加环路内过滤器。
-一个或多个附加帧内预测模式。
-一个或多个附加帧间预测模式。
-一个或多个附加变换。
-一个或多个附加逆变换。
-一个或多个附加概率模型,用于无损编码。
-一个或多个附加后处理过滤器。
备选地,另一可能的设计可以包括使用任何编解码器架构(诸如通用编解码器、或包括一个或多个神经网络的通用编解码器、或端到端学习编解码器),并具有适配解码器的输出的后处理神经网络,使得其可以被一个或多个机器或任务神经网络更有效地分析。例如,编码器和解码器可以符合H.266/VVC标准,后处理神经网络获取解码器的输出,并且然后后处理神经网络的输出被输入到对象检测神经网络。在该示例中,对象检测神经网络是机器或任务神经网络。
在VCM编解码器由通用视频编解码器(诸如H.266/VVC)组成的情况下,该编解码器可能无法在计算机视觉任务(诸如对象跟踪和对象分割)上表现良好,因为通用编解码器进行了优化以针对人类消费目的表现良好。
该想法是使用通用图像/视频编解码器(例如,H.265/HEVC或H.266/VVC)用于对内容进行编码和解码,并且然后通过应用后处理NN使经解码的数据适应目标任务网络。
本文所述的示例为后处理NN提供一种或多种类型的信息作为辅助输入,这些信息可在常规解码器内和/或在由常规编码器输出的比特流中容易得到。该信息可能与内部编解码器的决策相关,诸如划分信息、帧内预测模式和帧间预测模式、变换类型等。该信息用于增强任务性能。重要的是,相对于针对人类消费的情况由通用编码器输出的比特率,该信息在比特率方面没有额外的成本,因为它已经可在解码器侧得到用于常规解码器的正常运转。辅助信息在训练阶段和推理阶段两者都被提供给NN过滤器。
借助辅助信息,可以以较低质量对内容进行编码,并且在解码后进行增强,这导致比特率较低,同时在以较高质量对其进行编码时实现相同或更高的任务性能。
应注意的是,备选地或除通用/常规编解码器之外,也可以考虑最初设计用于针对人类消费使用情况的学习编解码器,其中比特流或学习解码器可以包括或可以输出可以用作后处理NN的辅助输入的信息。
在一个备选或附加实施例中,由解码器的一个或多个操作输出的比特流或信息可以被输入到一个或多个处理操作,其中一个或多个处理操作可以是神经网络。一个或多个处理操作的输出可以用作被输入到后处理NN的辅助信息。在这个实施例中,一个或多个处理操作起到将由解码器的一个或多个操作输出的比特流或信息映射成更适合被输入到后处理NN的信息的作用。
初步信息和假设
本文考虑的是压缩和解压缩被机器消费的数据的情况。相对于当机器消费解压缩的数据时,解压缩的数据也可以同时或在不同的时间被人类消费。编解码器可以由多个部分组成,其中一些部分用于压缩或解压缩供机器消费的数据,并且一些其他部分用于压缩或解压缩供人类消费的数据。
如本文所述,假设编码器侧设备通过使用编码器来执行压缩或编码操作。解码器侧设备通过使用解码器来执行解压缩或解码操作。编码器侧设备也可以使用一些解码操作,例如在编码环路中。编码器侧设备和解码器侧设备可以是相同的物理设备,或者可以是不同的物理设备。
本文所述的示例不限于任何特定类型的数据。然而,为了简单起见,本文所述的示例考虑视频数据。如本文所用,除非另有说明,否则“视频”可以意指一个或多个视频帧。其他示例类型的数据是图像、音频、语音、文本。
机器也可以被称为任务神经网络、或任务-NN。任务-NN的示例是执行对象检测任务的对象检测神经网络。另一示例是执行语义分割(例如,语义图像分割)的语义分割神经网络。任务-NN的输入可以是一个或多个视频帧。任务-NN的输出可以是任务结果、或任务输出。对于对象检测任务-NN的情况,任务结果的示例是多个边界框中的一个边界框的坐标集,表示检测到的对象的位置和空间范围。此外,对象检测任务-NN可以输出其他数据,诸如检测到的对象的种类或类别、以及指示检测到的对象的边界框和/或其类别正确的概率的估计值的置信度值。对于语义分割任务N-N的情况,任务结果的示例是形状的张量(K,H,W),其中K可以是任务-NN考虑的语义类别的总数,H和W可以是被输入到任务-NN的输入视频帧的高度和宽度。大小为H×W的K个矩阵中的每个矩阵可以表示第K类的分割,即,它可以指示输入视频帧的每个像素是否属于第K类。在被输入到任务-NN的视频帧的数量是T的情况下,任务-NN的输出可以是形状的张量(T,K,H,W)。
假设任务-NN(机器)中的至少一些是模型,诸如神经网络,可以计算这些模型的输出相对于它们的输入的梯度。例如,如果它们是参数模型,则可能的是通过使用数学中的微分连锁律,来计算它们的输出首先相对于它们的内部参数以及然后相对于它们的输入的梯度。在神经网络的情况下,反向传播可以用来获得NN的输出相对于其输入的梯度。
图12示出了使用任务NN进行视频编码和解码的示例基线系统。参考图12,基线系统包括至少一个编码器1204、至少一个解码器1208和至少一个任务-NN 1212。所述的实施例建立在该基线系统之上。
在图12中,编码器1204可以是任何通用视频编码器,诸如符合H.266/VVC标准的通用编码器、或将通用编码器与一个或多个神经网络组合的编码器。
解码器1208可以是任何通用视频解码器,诸如符合H.266/VVC标准的通用解码器、或将通用解码器与一个或多个神经网络组合的解码器。
对于将通用编解码器与一个或多个神经网络组合的编解码器的更多细节,请参考本说明书的前面部分,包括图5的描述。
任务-NN 1212可以是执行分析任务或处理任务的任何任务神经网络。如本文所述,语义分割被认为是示例任务。
在该基线系统中,编码器1204将输入图像/视频1202编码成比特流1206。解码器1208将比特流1206解码成经解码的图像/视频1210。经解码的图像/视频1210作为输入被提供给任务-NN 1212。任务-NN 1212输出一些分析或处理结果1214。任务-NN 1212的输出1214可以可互换地被称为“输出”或“结果”。
参考图13,基线系统可以包括后处理神经网络1310,该后处理神经网络可以是解码器1208的部分、或可以相对于解码器1208在外部。后处理神经网络1310可以后处理经解码的图像/视频1210。后处理的解码数据1312然后可以被输入到任务-NN 1212。图13示出了具有后处理神经网络1310的示例基线系统。这里,PP-NN是指后处理神经网络1310,并且PP解码视频是指后处理的解码视频1312。
参考图14,本文描述了将基于后处理神经网络的过滤器1416以改进目标计算机视觉任务的精度的方式应用于解码的/重构的图像和视频1406的方法。后处理NN过滤器1416被应用于经解码的数据1406,该经解码的数据可以由诸如VVC 1402的通用编解码器、或与一个或多个神经网络组合的通用编解码器输出。
为了改进任务-NN的精度(例如,任务网络1420的精度),在训练和/或测试阶段中过滤器1416利用来自诸如VVC 1402的通用编解码器的辅助信息1404、和/或一个或多个辅助特征1410,该一个或多个辅助特征由一个或多个辅助特征生成器1408从来自诸如VVC1402的通用编解码器的辅助信息1404生成。注意,可以从一种类型的辅助信息1404生成多于一个辅助特征1410。另外注意,相反地,多种类型的辅助信息1404可以被组合以生成(经由1408)一个辅助特征1410。
在另一实施例中,辅助信息1404和/或一个或多个辅助特征1410可以用作任务网络1420的一个或多个输入(见项1422),例如,被注入到任务网络1420的中间层中的一个层中。
在又一实施例中,可以基于随时间推移提供的数个项辅助信息1404的聚集来生成(经由1408)辅助特征1410。该组信息可以包括在一段时间内可得到的相同数据或数个段数据。辅助特征的聚集和生成可以经由学习算法或预定方案来实现。
辅助特征1410可以是具有两个空间维度和一个通道维度的三维张量。空间分辨率可以与重构的图像1406相同,或者可以与下采样或上采样的重构的图像相同。辅助特征的通道可以包含每个像素的辅助信息,例如,指示特定编码工具的使用的二进制值、编码工具的所选模式的索引值、或与像素相关联的特性的整数或浮点值。
在另一实施例中,解码器侧可以有多个后置过滤器。公共后置过滤器可以用于一般的机器任务或未知的机器任务。特定后置过滤器可以用于某些类型的任务,例如,后置过滤器专用于类似于对象检测的机器任务,而另一后置过滤器专用于人脸识别任务。每个后置过滤器可以使用不同的辅助信息集。
图14示出了如何通过利用VVC编解码器的辅助信息1404和/或辅助特征1410来使用本文所述的示例的方法的示例。如图14进一步所示,前置-后置过滤器1412可以被应用于辅助信息1404和/或一个或多个辅助特征1410,并且前置-后置过滤器1412的输出可以被提供给后置过滤器1416。操作1414包括后置过滤器1416,其中后置过滤器1416生成经过滤的/增强的图像1418。如图14所示,经过滤的/增强的图像1418经由操作1414被提供给任务网络1420。操作1414包括后置过滤器1416和经过滤的/增强的图像1418。
来自通用编解码器的解码器侧辅助信息1404可以是以下项中的一个或多个:
-高级信息,诸如图片/切片类型(例如,帧内/帧间图片/切片、或视频编码规范中定义的任何其他图片/切片类型,诸如IDR、CRA、RADL、RASL等)。
-图片/切片/CTU/CU/Pu的量化参数。
-图片/切片的时间层ID。具有特定ID值的时间层(也称为子层、子-层、时间子层或时间子-层)不依赖于任何具有更大ID值的时间层。因此,ID 0的时间层可以在没有任何其他时间层(大于0)的情况下被解码;时间层ID 0和1的图片可以在没有ID大于1的任何图片的情况下被解码,等等。时间层提供时间可伸缩性,并且可以对应于某一图片率。例如,对具有ID 0的时间层的解码可以产生30Hz图片率,而对时间层0和1的解码可以产生60Hz图片率。
-块划分信息,诸如CTU划分、CU划分、子块划分等。
-块级编码模式信息,诸如帧内编码块或帧间编码块。
-块级帧内预测信息,诸如帧内预测方向、帧内预测模式等。
-块级帧间预测信息,诸如帧间预测模式(仿射、合并、AMVP等)、用于帧间预测的参考图片、块级或子块级中的运动向量或运动向量场信息。
-参考图片重采样信息,诸如当前图片和(多个)参考图片的缩放窗口。
-块级变换模式,诸如DCT、DST、或对应的LFNST变换模式或子块变换编码信息。
-关于该块的残余信息的块级信息。例如,该块是否包括任何残余编码。辅助信息也可以包括块级残差。
-关于环路内过滤器和后处理过滤器的信息,诸如自适应环路过滤器(ALF)、样本自适应偏移(SAO)、去块过滤器(DBF)等。例如,该信息可以按块指示在图片中使用了哪个ALF过滤器。
-关于编码配置的信息,诸如指示编码器的编码模式选择中率与失真之间的权重的λ值等、或图片/切片/CTU/CU/PU的比特预算。这样的信息可以通过例如底层编解码器的SEI消息机制被递送给本文所述的示例的方法。
-关于编码器侧分析结果的信息,诸如场景切换检测。这样的信息可以通过例如底层编解码器的SEI消息机制被递送给本文所述的示例的方法。
-关于编码前的预处理操作的信息,例如运动补偿时间过滤(MCTF)、去噪等。这样的信息可以通过例如底层编解码器的SEI消息机制被递送给本文所述的示例的方法。
注意,术语块可以是指编码单元(CU)、预测单元(PU)、变换单元(TU)、编码树单元(CTU)、图块、切片等。
在实施例中,解码器侧辅助信息1404可以是对应图像/视频的块划分信息(诸如图15A和图15B所示的那样)。块划分信息可以表示计算机视觉任务的感兴趣区域。例如,较小的块可以表示图像内该区域的重要性,并且它可以指导后处理过滤器1416对这些区域进行更好的增强。本文所述的示例可以使用图像/视频的不同通道的划分信息中的一个或多个划分信息,例如,呈RGB颜色格式的R、G、B通道信息中的一个或多个通道信息、或呈YCbCr颜色格式的Y、Cb、Cr通道信息中的一个或多个通道信息。
在实施例中,使用块划分信息生成的辅助信息1404和/或使用块划分信息生成的辅助特征1410可以是呈图像格式的块划分图。块划分图可以具有与重构的图像1406相同或不同的分辨率。图15A中示出了块划分图的示例,其中在二进制图像中标记了划分边界(诸如,边界1502)。图15B中示出了块划分图的另一示例,其中通过将划分块中的所有像素分配给指示该块的值来生成图像。在下一实施例中描述细节。
在实施例中,在后处理过滤器中使用划分图之前,可以对划分图中的不同块进行标记。预定义的值可以被分配给不同的块大小。备选地,每个块的标签值可以对应于该块的大小。这个实施例的示例在图15B中示出。每个通道的块划分信息的标记可以是以相同的方式或以不同的方式。
在实施例中,可以在解码器侧中用其他辅助信息来标记块划分图,诸如帧内预测方向、量化参数、运动向量、变换模式等。
在实施例中,辅助信息1404和/或辅助特征1410可以是每帧中块的帧内预测信息。例如,帧内预测模式,诸如角度预测模式、基于矩阵的帧内预测模式、交叉分量线性模型(CCLM)模式、帧内子划分模式(ISP)、帧内块复制(IBC)、多参考线(MRL)模式、位置相关预测组合(PDPC)、块差分脉冲编码调制(BDPCM)或用于特定块的任何其他帧内预测工具。
在实施例中,辅助信息1404和/或辅助特征1410可以是每帧中块的帧间预测信息。例如,它可以是帧间预测模式,诸如仿射模式、合并模式、AMVP模式、几何划分模式(GPM)、带MVD的合并模式(MMVD)、对称MVD(SMVD)、基于子块的时间运动向量预测(SbTMVP)、自适应运动向量分辨率(AMVR)、CU级双向加权预测(BCW)、双向光流(BDOF)、解码器侧运动向量细化(DMVR)、帧间帧内联合预测(CIIP)、或编解码器中的任何其他帧间预测模式。
在另一实施例中,帧间预测块的运动向量信息可以用作后处理过滤器1416的辅助信息1404、或用作后处理过滤器1416的辅助特征1410。为此,可以使用块级或子块级(4×4、8×8或任何其他子块大小)的运动向量。
在实施例中,可以根据目标任务NN 1420的参考图片来缩放运动信息或运动向量。例如,在通用编解码器中,帧N使用帧M作为运动估计和/或运动补偿的参考,但是任务NN(例如对象跟踪)使用视频序列的帧P作为参考,则运动向量/运动信息可以以它们与目标任务NN的参考匹配的方式来缩放。缩放可以基于当前帧与通用编解码器中的(多个)参考帧以及目标任务NN中的(多个)参考帧的时间距离来完成。备选地,缩放可以基于学习方法,即,通过学习基于图像和/或视频的数据库执行缩放的方式,例如通过训练神经网络以输出一个或多个缩放因子来完成,其中训练可以基于最小化诸如率-失真函数的损失函数。
在实施例中,变换信息,例如DCT或DST的选择,可以用作用于NN过滤器1416的附加信息。为此,变换信息可以包括每个块的初级变换和/或次级变换(例如,LFNST)选择。在使用LFNST的情况下,也可以使用对应的LFNST索引。从这些类型的信息生成的辅助特征的通道可以包含用于像素的变换信息。
在另一实施例中,解码器侧中的残余信息可以被认为是NN过滤器1416的辅助信息1404或辅助特征1410。为此,每个块的残差可以被直接馈送到NN过滤器1416。以备选的方式,每个块的残差的量可以用作标记以上实施例中讨论的划分图的机制。在这种情况下,如果一个块没有任何残差,则划分图信息中的某个标签/值被分配给该块,或者如果一个块包含高等级的残差,则一组不同的标签/值被分配给该块的对应的划分图。以替代的方式,基于每个块的残余信息来标记或分配重要性值可以根据预定义的阈值来完成。例如,可以基于该块的残余值的平均值或绝对平均值来定义多个阈值。以类似的方式,为每个划分图标记或分配重要性值可以基于该块的对应变换的系数来完成。
在实施例中,NN过滤器1416的辅助信息1404和/或辅助特征1410可以基于或源自与通用视频编解码器中的环路内过滤器/后处理过滤器中的一个或多个相关的信息。例如,VVC的ALF、CCALF、SAO、DBF过滤器的块级使用可以用作NN过滤器的附加信息。在ALF和CCALF的情况下,可以使用在该块或CTU中使用的过滤器参数。在SAO的情况下,SAO过滤器的类型(频带偏移或边缘偏移)可以用作辅助信息。在DBF的情况下,辅助信息可以是每个块中过滤器的边界强度信息,并且可以被认为是NN过滤器的附加输入。需要理解的是,这些情况仅仅是可以如何使用通用编解码器的过滤信息的不同方面的示例,并且本文所述的示例不限于此;在解码器侧中可得到的任何信息都可以被认为是NN过滤器(1412、1414、1416)的辅助输入(1404、1410)。
在另一实施例中,NN过滤器1416的辅助信息1404和/或辅助特征1410可以包括编码器侧预处理信息。例如,关于预处理过滤的一些信息可以用作NN过滤器的辅助信息。作为示例,运动补偿时间过滤器(MCTF)可以用作编码前的预处理过滤器。MCTF过滤器在序列级、帧级、CTU级或CU级中的强度可以用作用于通过NN过滤器改进任务性能的附加信息。在仅使用编码器侧工具的情况下,对应的辅助信息需要例如通过当前编解码器的SEI消息机制被递送到解码器侧。
在实施例中,从通用编解码器中选择合适的辅助信息1404可以基于目标任务NN1420来完成。对于公共后置过滤器或任务特定后置过滤器,可以使用所描述信息的全部或子集。为每个任务NN选择解码器侧信息的正确子集可以基于学习方法,例如,使用特征选择技术来完成。
根据另一实施例,可以在不使用通用视频编解码器的信息的情况下,以在一个或多个任务NN 1420中提供合理改进的方式训练基线NN过滤器1416。然后,可以通过使用解码器侧信息的全部或子集,以比基线过滤器为目标任务NN提供更好的任务性能的方式,为一个或多个任务NN微调基线NN过滤器。
在另一实施例中,可以通过使用解码器侧信息的子集,以辅助信息1404的子集为一个或多个任务NN 1420提供合理改进的方式训练基线NN过滤器1416。然后,可以通过使用解码器侧信息的另一个集或子集,以当与基线NN过滤器相比时为一个或多个目标任务NN带来更多改进的方式,微调基线NN过滤器。
在实施例中,可以例如通过SEI消息或任何其他机制向解码器1402发信号通知解码器侧信息的选择。编码器可以经由代理任务网络来确定解码器侧信息的选择,该代理任务网络是用于在没有任务信息也没有任务网络细节的情况下估计任务网络1420的性能的网络。这样的代理任务网络的示例是可以用于计算编解码器的感知损失的VGG网络的子集。在具有多个任务NN和多个后置过滤器的情况下,其中解码器侧信息的子集对于任务特定后置过滤器中的一个或多个可以不同,可以向解码器发信号通知解码器侧信息的对应子集。
在实施例中,编码器侧可以向解码器侧发信号通知是否将辅助信息输入到后处理过滤器。
在实施例中,编码器可以发信号通知关于是否在解码器侧使用后处理过滤器的一些信息。信令机制可以考虑应用后处理过滤器是否提供对一个或多个任务NN的改进。这可以通过用于编码器侧中的任务性能改进的预定义的阈值来完成。备选地,代替发信号通知后处理过滤器的使用,是否在一个或多个任务上使用后处理过滤器的决定可以通过在解码器侧中分析经解码的数据来完成。这也可以通过分析解码器侧信息中的一个或多个来完成。例如,关于对经解码的数据使用后置过滤器的决定(在视频级、图像级、切片级、图块级、CTU级、CU级等)可以通过检查该数据单元的量化参数来完成。
在实施例中,如果在解码器侧中有多个后处理过滤器可用,则可以向解码器发信号通知最佳后处理过滤器的选择。例如,在解码器侧中,基线过滤器以及一个或多个增强的后处理过滤器(用一个或多个解码器侧辅助信息训练)可以是可用的。编码器可以向解码器发信号,以针对某个任务或任务的子集使用合适的过滤器。替代地,在解码器侧选择哪个版本的过滤器的决定可以通过应用对经解码的数据和/或解码器侧辅助信息的分析来完成。
在实施例中,编码器侧可以向解码器侧发信号通知可以用于处理辅助信息的一个或多个参数,并且然后处理后的辅助信息可以被输入到后处理过滤器。辅助信息的处理的示例可以是辅助信息的一个或多个值的缩放(相乘),并且由编码器侧发信号通知的一个或多个参数可以是可以用于缩放或乘以辅助信息的一个或多个值的一个或多个缩放值。
应注意的是,备选地或除了作为通用/常规编解码器之外,也可以考虑最初设计用于针对人类消费使用情况的学习编解码器,其中比特流或学习解码器可以包括或可以输出可以用作后处理NN的辅助输入的信息。
在一个备选或附加实施例中,由解码器的一个或多个操作输出的比特流或信息可以被输入到一个或多个处理操作,其中一个或多个处理操作可以是神经网络。一个或多个处理操作的输出可以用作被输入到后处理NN 1416的辅助信息1404。在这个实施例中,一个或多个处理操作起到将由解码器的一个或多个操作输出的比特流或信息映射成更适合被输入到后处理NN的信息的作用。
图16是基于本文所述的示例的示例装置1600,该示例装置可以以硬件实现、被配置为实现用于至少一个机器任务的学习过滤器。基于本文所述的示例,装置1600包括处理器1602、包括计算机程序代码1605的至少一个非暂态或暂时性存储器1604,其中至少一个存储器1604和计算机程序代码1605被配置为,借助至少一个处理器1602,使得装置实现用于至少一个机器任务1607的过滤器1606(机器任务1607任选地被包括在计算机程序代码1605和装置1600内)。装置1600任选地包括显示器或I/O 1608,该显示器或I/O可以用于在运动估计期间显示内容、或从例如小键盘接收用户输入。装置1600任选地包括一个或多个网络(N/W)接口(I/F)1610。N/W I/F 1610可以是有线和/或无线的,并且经由任何通信技术通过互联网/其他网络进行通信。N/W I/F 1610可以包括一个或多个发射器和一个或多个接收器。N/W I/F 1610可以包括标准的公知组件,诸如放大器、过滤器、变频器、(解调器)调制器、和编码器/解码器电路装置以及一个或多个天线。在一些示例中,处理器1602被配置为在不使用存储器1604的情况下实现过滤器1606或机器任务1607。
可以使用任何合适的数据存储技术实现存储器1604,诸如基于半导体的存储器设备、闪存、磁性存储器设备和系统、光学存储器设备和系统、固定存储器和可移动存储器。存储器1604可以包括用于存储数据的数据库。如图16所示,接口1612使得装置1600的各个项目之间能够进行数据通信。接口1612可以是一条或多条总线,或者接口1612可以是被配置为在计算机程序代码1605内传递数据的一个或多个软件接口。例如,接口1612可以是软件中的面向对象接口,或者接口1612可以是一条或多条总线,诸如地址总线、数据总线或控制总线,并且可以包括任何互连机制,诸如母板或集成电路上的一系列线路、光纤或其他光通信装备等。装置1600不需要包括提到特征中的每个特征,或者也可以包括其他特征。装置1600可以是图1至图14所示的装置中的任一个的实施例,包括那些装置的任何组合。装置1600可以是编码器或解码器。
图17是基于本文所述的示例的经由学习过滤器实现机器视觉任务的示例方法1700。在1702,该方法包括接收辅助信息和/或至少一个辅助特征,至少一个辅助特征基于辅助信息。在1704,该方法包括其中辅助信息包括在解码器内可得到的信息,或者辅助信息包括从使用编码器编码的数据输出的比特流。在1706,该方法包括接收使用解码器生成的经解码的数据。在1708,该方法包括经由将过滤器应用于经解码的数据,使用辅助信息和/或至少一个辅助特征,用至少一个过滤器生成经过滤的数据。在1710,该方法包括其中至少一个过滤器包括学习过滤器。在1712,该方法包括其中经过滤的数据被配置为用于使用模型执行的至少一个机器任务。方法1700可以用编码器装置、解码器装置、或编解码器装置来实现。
对‘计算机’、‘处理器’等的引用应当理解为不仅涵盖具有不同架构的计算机,诸如单处理器架构/多处理器架构和顺序架构/并行架构,还涵盖专用电路,诸如现场可编程门阵列(FPGA)、专用电路(ASIC)、信号处理设备和其他处理电路装置。对计算机程序、指令、代码等的引用应当理解为涵盖用于可编程处理器或固件的软件,诸如,例如硬件设备的可编程内容,诸如用于处理器的指令,或者用于固定功能设备、门阵列或可编程逻辑设备的配置设置等。
如本文所用,术语‘电路装置’、‘电路’及其变型可以是指以下项中的任一种:(a)硬件电路实现,诸如模拟电路装置和/或数字电路装置中的实施,和(b)电路和软件(和/或固件)的组合,诸如(如适用的话):(i)处理器的组合、或(ii)处理器/软件的部分,包括数字信号处理器、软件和存储器,它们一起工作以使得装置执行各种功能,以及(c)电路,诸如微处理器或微处理器的一部分,它们需要软件或固件用于操作,即使该软件或固件物理上不存在。作为另一示例,如本文所用,术语‘电路装置’也将覆盖仅一个处理器(或多个处理器)或处理器的一部分及它的(或它们的)伴随软件和/或固件的实现。例如并且如果适用于特定元素,术语‘电路装置’还将覆盖用于移动电话的基带集成电路或应用处理器集成电路、或者服务器、蜂窝网络设备或另一网络设备中的类似集成电路。电路装置或电路也可以用于意指用于执行方法的功能或过程。
一种示例方法包括接收辅助信息和/或至少一个辅助特征,至少一个辅助特征基于辅助信息;其中辅助信息包括在解码器内可得到的信息,或者辅助信息包括从使用编码器编码的数据输出的比特流;接收使用解码器生成的经解码的数据;以及经由将过滤器应用于经解码的数据,使用辅助信息和/或至少一个辅助特征,用至少一个过滤器生成经过滤的数据;其中至少一个过滤器包括学习过滤器;其中经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
该方法还可以进一步包括,其中至少一个过滤器用神经网络实现。
该方法可以进一步包括,其中模型包括神经网络。
该方法还可以进一步包括,其中:解码器包括通用视频编解码器、或使用神经网络用于一些操作的视频编解码器;并且编码器包括通用视频编解码器、或使用神经网络用于一些操作的视频编解码器。
该方法还可以进一步包括,其中解码器包括学习解码器,并且编码器包括学习编码器。
该方法还可以进一步包括,使用至少一个处理操作来生成辅助特征,该至少一个处理操作将辅助信息映射成适合于使用过滤器生成经过滤的数据的信息。
该方法还可以进一步包括,其中至少一个处理操作包括神经网络。
该方法还可以进一步包括,其中经解码的数据包括经解码的图像,并且经过滤的数据包括经过滤的图像。
该方法还可以进一步包括,将辅助信息或辅助特征作为一个或多个输入提供给机器任务。
该方法还可以进一步包括,基于随时间提供的多项辅助信息的集合来生成辅助特征。
该方法还可以进一步包括,其中辅助特征包括具有两个空间维度和一个通道维度的三维张量,该三维张量具有与经解码的数据或经解码的数据的下采样或上采样版本基本上相同的空间分辨率,并且辅助特征的通道包括用于图像的像素的辅助信息。
该方法还可以进一步包括,其中至少一个过滤器包括公共过滤器和专用过滤器,该方法进一步包括:响应于机器任务是已知的,使用专用过滤器生成经过滤的数据;响应于机器任务是未知的,使用公共过滤器生成经过滤的数据;并且其中公共过滤器和专用过滤器使用辅助信息或至少一个辅助特征的不同方面。
该方法还可以进一步包括,其中在解码器内可得到的信息包括对应的图像/视频的块划分信息。
该方法还可以进一步包括,其中辅助特征是使用块划分信息生成的,并且辅助特征包括呈图像格式的块划分图。
该方法还可以进一步包括,其中在二进制图像中标记块划分图的划分边界。
该方法还可以进一步包括,其中块划分图包括经由将划分块中的像素分配给指示划分块的值而生成的图像。
该方法还可以进一步包括,其中在至少一个过滤器中使用块划分图之前,标记块划分图的不同块。
该方法还可以进一步包括,其中:辅助信息包括图像帧中块的帧内预测信息;或辅助信息包括图像帧中块的帧间预测信息。
该方法还可以进一步包括,其中辅助信息包括图像帧的帧间预测块的运动向量信息。
该方法还可以进一步包括,其中辅助信息包括缩放的运动信息或运动向量,该运动信息或运动向量已经基于机器任务的参考图片进行缩放。
该方法还可以进一步包括,其中辅助信息包括在解码器内可得到的信息的变换,或者辅助信息包括从使用编码器编码的数据输出的比特流的变换,变换是离散余弦变换、离散正弦变换、或低频不可分离变换。
该方法还可以进一步包括,其中辅助信息包括解码器的残余信息。
该方法还可以进一步包括,其中辅助信息源自与视频编解码器的一个或多个环路内过滤器/后处理过滤器相关的信息。
该方法还可以进一步包括,其中辅助信息包括来自编码器的预处理信息。
该方法还可以进一步包括,基于机器任务,从编解码器中选择辅助信息。
该方法还可以进一步包括,使用解码器侧信息的子集来训练所述至少一个过滤器,使得辅助信息的子集提供对机器任务的改进。
该方法还可以进一步包括,通过至少一个补充增强信息消息向解码器发信号通知对在解码器内可得到的信息的选择。
该方法还可以进一步包括,从编码器向解码器发信号通知是否将辅助信息或辅助特征输入到过滤器。
该方法还可以进一步包括,在将辅助信息或辅助特征输入到过滤器之前,从编码器向解码器发信号通知用于处理辅助信息的一个或多个参数。
一种示例装置包括:至少一个处理器;以及至少一个非暂态存储器,包括计算机程序代码;其中至少一个存储器和计算机程序代码被配置为,借助至少一个处理器,使得装置至少:接收辅助信息和/或至少一个辅助特征,至少一个辅助特征基于辅助信息;其中辅助信息包括在解码器内可得到的信息,或者辅助信息包括从使用编码器编码的数据输出的比特流;接收使用解码器生成的经解码的数据;以及经由将过滤器应用于经解码的数据,使用辅助信息和/或至少一个辅助特征,用至少一个过滤器生成经过滤的数据;其中至少一个过滤器包括学习过滤器;其中经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
一种示例装置包括:用于接收辅助信息和/或至少一个辅助特征的部件,至少一个辅助特征基于辅助信息;其中辅助信息包括在解码器内可得到的信息,或者辅助信息包括从使用编码器编码的数据输出的比特流;用于接收使用解码器生成的经解码的数据的部件;以及用于经由将过滤器应用于经解码的数据,使用辅助信息和/或至少一个辅助特征,用至少一个过滤器生成经过滤的数据的部件;其中至少一个过滤器包括学习过滤器;其中经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
提供了一种示例可由机器读取的非暂态程序存储设备,有形地体现可用机器执行的用于执行操作的指令的程序,该操作包括:接收辅助信息和/或至少一个辅助特征,至少一个辅助特征基于辅助信息;其中辅助信息包括在解码器内可得到的信息,或者辅助信息包括从使用编码器编码的数据输出的比特流;接收使用解码器生成的经解码的数据;以及经由将过滤器应用于经解码的数据,使用辅助信息和/或至少一个辅助特征,用至少一个过滤器生成经过滤的数据;其中至少一个过滤器包括学习过滤器;其中经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
应当理解,前述描述仅是说明性的。本领域技术人员可以设想各种替代方案和修改。例如,在各种从属权利要求中叙述的特征可以以任何合适的组合的形式彼此组合。此外,来自上述不同实施例的特征可以选择性地组合成新的实施例。因此,本说明书旨在包含落入所附权利要求范围内的所有这些替代方案、修改和变化。
可以在说明书和/或附图中找到的以下首字母缩写词和缩写词定义如下:
3GPP 第三代合作伙伴计划
4G 第四代宽带蜂窝网络技术
5G 第五代蜂窝网络技术
802.x 处理局域网和城域网的IEEE标准系列
ALF 自适应环路过滤器
AMVP 高级运动向量预测
ASIC 专用集成电路
AVC 高级视频编码
CCALF 交叉分量自适应环路过滤器
CDMA 码分多址
CRA 清理随机接入
CTU 编码树单元
CU 编码单元
DBF 去块过滤器
DCT 离散余弦变换
DSP 数字信号处理器
DST 离散正弦变换
FDMA 频分多址
FPGA 现场可编程门阵列
GSM 全球移动通信系统
H.222.0 MPEG-2系统,动态图片和相关联的音频信息的通用编码标准
H.2xx ITU-T领域中的视频编码标准系列
HEVC 高效视频编码
IBC 帧内块复制
ID 标识符
IDR 即时解码器刷新
IEC 国际电工委员会
IEEE 电气与电子工程师协会
I/F 接口
IMD 集成消息设备
IMS 即时消息服务
I/O 输入/输出
IoT 物联网
IP 互联网协议
ISO 国际标准化组织
ISOBMFF ISO基本媒体文件格式
ITU 国际电信联盟
ITU-T ITU电信标准化部门
JVET 联合视频专家组
LFNST 低频不可分离变换
LTE 长期演进
MC 运动补偿
ME 运动估计
MMS 多媒体消息服务
MPEG-2 由ITU定义的H.222/H.262,其中MPEG是动态图片专家组
MSE 均方误差
MVD 运动向量差异
NAL 网络抽象层
net 网络
NN 神经网络
N/W 网络
PC 个人计算机
PDA 个人数字助理
PID 包标识符
PLC 电力线通信
pred 预测
PP 后处理
PU 预测单元
RADL 随机接入可解码前置图片
RASL 随机接入跳过前置图片
RFID 射频标识
RGB 红绿蓝
RFM 参考帧存储器
SAO 样本自适应偏移
SEI 补充增强信息
SMS 短消息服务
TCP-IP 传输控制协议-互联网协议
TDMA 时分多址
TS 传输流
TV 电视
UICC 通用集成电路卡
UMTS 通用移动通信系统
USB 通用串行总线
VCM 用于机器的视频编码
VGG 牛津大学视觉几何组
VSEI 多功能补充增强信息
VVC 多功能编码/编解码器
WLAN 无线局域网
YCbCr 颜色空间,其中Y是亮度分量,Cb是蓝差色度分量,并且Cr是红差色度分量。
Claims (32)
1.一种方法,包括:
接收辅助信息和/或至少一个辅助特征,所述至少一个辅助特征基于所述辅助信息;
其中所述辅助信息包括在解码器内可用的信息,或者所述辅助信息包括从使用编码器编码的数据输出的比特流;
接收使用所述解码器生成的经解码的数据;以及
经由将至少一个过滤器应用于所述经解码的数据,使用所述辅助信息和/或所述至少一个辅助特征,利用所述过滤器来生成经过滤的数据;
其中所述至少一个过滤器包括学习过滤器;
其中所述经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
2.根据权利要求1所述的方法,其中所述至少一个过滤器利用神经网络而被实现。
3.根据权利要求1所述的方法,其中所述模型包括神经网络。
4.根据权利要求1所述的方法,其中:
所述解码器包括通用视频编解码器、或使用神经网络用于一些操作的视频编解码器;并且
所述编码器包括所述通用视频编解码器、或使用神经网络用于一些操作的所述视频编解码器。
5.根据权利要求1所述的方法,其中所述解码器包括学习解码器,并且所述编码器包括学习编码器。
6.根据权利要求1所述的方法,还包括:使用至少一个处理操作来生成所述辅助特征,所述至少一个处理操作将所述辅助信息映射为适合于使用所述过滤器生成所述经过滤的数据的信息。
7.根据权利要求6所述的方法,其中所述至少一个处理操作包括神经网络。
8.根据权利要求1所述的方法,其中所述经解码的数据包括经解码的图像,并且所述经过滤的数据包括经过滤的图像。
9.根据权利要求1所述的方法,还包括:向所述机器任务提供所述辅助信息或所述辅助特征作为一个或多个输入。
10.根据权利要求1所述的方法,还包括:基于随时间提供的多项所述辅助信息的聚合来生成所述辅助特征。
11.根据权利要求1所述的方法,其中所述辅助特征包括具有两个空间维度和一个通道维度的三维张量,所述三维张量具有与所述经解码的数据、或所述经解码的数据的下采样或上采样版本基本上相同的空间分辨率,并且所述辅助特征的通道包括用于图像的像素的所述辅助信息。
12.根据权利要求1所述的方法,其中所述至少一个过滤器包括公共过滤器和专用过滤器,所述方法还包括:
响应于所述机器任务是已知的,使用所述专用过滤器来生成所述经过滤的数据;
响应于所述机器任务是未知的,使用所述公共过滤器来生成所述经过滤的数据;并且
其中所述公共过滤器和所述专用过滤器使用所述辅助信息或所述至少一个辅助特征的不同方面。
13.根据权利要求1所述的方法,其中在所述解码器内可用的所述信息包括对应图像/视频的块划分信息。
14.根据权利要求13所述的方法,其中所述辅助特征是使用所述块划分信息而被生成,并且所述辅助特征包括呈图像格式的块划分图。
15.根据权利要求14所述的方法,其中所述块划分图的划分边界在二进制图像中被标记。
16.根据权利要求14所述的方法,其中所述块划分图包括经由将划分块中的像素分配给指示所述划分块的值而生成的图像。
17.根据权利要求14所述的方法,其中所述块划分图的不同块在所述至少一个过滤器中使用所述块划分图之前被标记。
18.根据权利要求1所述的方法,其中:
所述辅助信息包括图像帧中块的帧内预测信息;或
所述辅助信息包括图像帧中块的帧间预测信息。
19.根据权利要求1所述的方法,其中所述辅助信息包括图像帧的帧间预测块的运动向量信息。
20.根据权利要求1所述的方法,其中所述辅助信息包括缩放的运动信息或运动向量,所述运动信息或运动向量已经基于所述机器任务的参考图片而被缩放。
21.根据权利要求1所述的方法,其中所述辅助信息包括在所述解码器内可用的所述信息的变换,或者所述辅助信息包括从使用所述编码器编码的所述数据输出的所述比特流的变换,所述变换是离散余弦变换、离散正弦变换、或低频不可分离变换。
22.根据权利要求1所述的方法,其中所述辅助信息包括所述解码器的残余信息。
23.根据权利要求1所述的方法,其中所述辅助信息源自与视频编解码器的一个或多个环路内过滤器/后处理过滤器有关的信息。
24.根据权利要求1所述的方法,其中所述辅助信息包括来自所述编码器的预处理信息。
25.根据权利要求1所述的方法,还包括:基于所述机器任务,从编解码器中选择所述辅助信息。
26.根据权利要求1所述的方法,还包括:使用解码器侧信息的子集来训练所述至少一个过滤器,使得所述辅助信息的子集提供对所述机器任务的改进。
27.根据权利要求1所述的方法,还包括:通过至少一个补充增强信息消息向解码器发信号通知对在所述解码器内可用的所述信息的选择。
28.根据权利要求1所述的方法,还包括:从所述编码器向所述解码器发信号通知是否将所述辅助信息或所述辅助特征输入到所述过滤器。
29.根据权利要求1所述的方法,还包括:在将所述辅助信息或所述辅助特征输入到所述过滤器之前,从所述编码器向所述解码器发信号通知用于处理所述辅助信息的一个或多个参数。
30.一种装置,包括:
至少一个处理器;以及
至少一个非暂态存储器,包括计算机程序代码;
其中所述至少一个存储器和所述计算机程序代码被配置为,利用所述至少一个处理器,使所述装置至少:
接收辅助信息和/或至少一个辅助特征,所述至少一个辅助特征基于所述辅助信息;
其中所述辅助信息包括在解码器内可用的信息,或者所述辅助信息包括从使用编码器编码的数据输出的比特流;
接收使用所述解码器生成的经解码的数据;以及
经由将至少一个过滤器应用于所述经解码的数据,使用所述辅助信息和/或至少一个辅助特征,利用所述过滤器来生成经过滤的数据;
其中所述至少一个过滤器包括学习过滤器;
其中所述经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
31.一种装置,包括:
用于接收辅助信息和/或至少一个辅助特征的部件,所述至少一个辅助特征基于所述辅助信息;
其中所述辅助信息包括在解码器内可用的信息,或者所述辅助信息包括从使用编码器编码的数据输出的比特流;
用于接收使用所述解码器生成的经解码的数据的部件;以及
用于经由将至少一个过滤器应用于所述经解码的数据,使用所述辅助信息和/或至少一个辅助特征,利用所述过滤器生成经过滤的数据的部件;
其中所述至少一个过滤器包括学习过滤器;
其中所述经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
32.一种由机器可读取的非暂态程序存储设备,有形地体现能够用所述机器执行的用于执行操作的指令的程序,所述操作包括:
接收辅助信息和/或至少一个辅助特征,所述至少一个辅助特征基于所述辅助信息;
其中所述辅助信息包括在解码器内能得到的信息,或者所述辅助信息包括从使用编码器编码的数据输出的比特流;
接收使用所述解码器生成的经解码的数据;以及
经由将至少一个过滤器应用于所述经解码的数据,使用所述辅助信息和/或至少一个辅助特征,利用所述过滤器生成经过滤的数据;
其中所述至少一个过滤器包括学习过滤器;
其中所述经过滤的数据被配置为用于使用模型执行的至少一个机器任务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163218646P | 2021-07-06 | 2021-07-06 | |
US63/218,646 | 2021-07-06 | ||
PCT/EP2022/066777 WO2023280558A1 (en) | 2021-07-06 | 2022-06-21 | Performance improvements of machine vision tasks via learned neural network based filter |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117730537A true CN117730537A (zh) | 2024-03-19 |
Family
ID=82446575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280048124.XA Pending CN117730537A (zh) | 2021-07-06 | 2022-06-21 | 经由基于学习神经网络的过滤器对机器视觉任务的性能改进 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240314362A1 (zh) |
EP (1) | EP4367889A1 (zh) |
CN (1) | CN117730537A (zh) |
WO (1) | WO2023280558A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023208638A1 (en) * | 2022-04-25 | 2023-11-02 | Nokia Technologies Oy | Post processing filters suitable for neural-network-based codecs |
CN116108601B (zh) * | 2023-02-21 | 2023-11-14 | 国网吉林省电力有限公司长春供电公司 | 电力缆线深度几何信息补全方法、检测器、设备及介质 |
WO2024193709A1 (en) * | 2023-03-22 | 2024-09-26 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for visual data processing |
-
2022
- 2022-06-21 WO PCT/EP2022/066777 patent/WO2023280558A1/en active Application Filing
- 2022-06-21 CN CN202280048124.XA patent/CN117730537A/zh active Pending
- 2022-06-21 US US18/577,010 patent/US20240314362A1/en active Pending
- 2022-06-21 EP EP22738349.4A patent/EP4367889A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4367889A1 (en) | 2024-05-15 |
US20240314362A1 (en) | 2024-09-19 |
WO2023280558A1 (en) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11375204B2 (en) | Feature-domain residual for video coding for machines | |
US11575938B2 (en) | Cascaded prediction-transform approach for mixed machine-human targeted video coding | |
US20240314362A1 (en) | Performance improvements of machine vision tasks via learned neural network based filter | |
US11341688B2 (en) | Guiding decoder-side optimization of neural network filter | |
US11558628B2 (en) | Caching and clearing mechanism for deep convolutional neural networks | |
US20220303568A1 (en) | Multi-scale optical flow for learned video compression | |
EP4360000A1 (en) | Method, apparatus and computer program product for defining importance mask and importance ordering list | |
WO2022269415A1 (en) | Method, apparatus and computer program product for providng an attention block for neural network-based image and video compression | |
WO2022238967A1 (en) | Method, apparatus and computer program product for providing finetuned neural network | |
WO2023208638A1 (en) | Post processing filters suitable for neural-network-based codecs | |
US20240146938A1 (en) | Method, apparatus and computer program product for end-to-end learned predictive coding of media frames | |
US20230186054A1 (en) | Task-dependent selection of decoder-side neural network | |
US20240013046A1 (en) | Apparatus, method and computer program product for learned video coding for machine | |
WO2023031503A1 (en) | A method, an apparatus and a computer program product for video encoding and video decoding | |
WO2022269441A1 (en) | Learned adaptive motion estimation for neural video coding | |
US20240357104A1 (en) | Determining regions of interest using learned image codec for machines | |
US20230232015A1 (en) | Predictive and Residual Coding of Sparse Signals for Weight Update Compression | |
WO2024209131A1 (en) | An apparatus, a method and a computer program for video coding and decoding | |
WO2024068081A1 (en) | A method, an apparatus and a computer program product for image and video processing | |
WO2024074231A1 (en) | A method, an apparatus and a computer program product for image and video processing using neural network branches with different receptive fields | |
WO2024068190A1 (en) | A method, an apparatus and a computer program product for image and video processing | |
WO2024002579A1 (en) | A method, an apparatus and a computer program product for video coding | |
WO2023194650A1 (en) | A method, an apparatus and a computer program product for video coding | |
WO2024141694A1 (en) | A method, an apparatus and a computer program product for image and video processing | |
WO2023151903A1 (en) | A method, an apparatus and a computer program product 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 |