CN116437083A - 视频处理方法和视频处理装置 - Google Patents

视频处理方法和视频处理装置 Download PDF

Info

Publication number
CN116437083A
CN116437083A CN202211457059.4A CN202211457059A CN116437083A CN 116437083 A CN116437083 A CN 116437083A CN 202211457059 A CN202211457059 A CN 202211457059A CN 116437083 A CN116437083 A CN 116437083A
Authority
CN
China
Prior art keywords
pictures
picture
target
video
source
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
Application number
CN202211457059.4A
Other languages
English (en)
Inventor
邱志尧
陈俊嘉
徐志玮
庄子德
陈庆晔
黄毓文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN116437083A publication Critical patent/CN116437083A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/27Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving both synthetic and natural picture components, e.g. synthetic natural hybrid coding [SNHC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种视频处理方法和相关装置。视频处理方法包括基于滤波间隔确定多个目标图片,包括视频的多个源图片的第一子集,多个源图片中的每一个具有时间标识符,标识时间序列中相应源图片的时间位置;为多个目标图片中的每一个确定参考图片,参考图片中的每一个为多个源图片的第二子集的源图片;生成多个已滤波图片,每个已滤波图片对应于多个目标图片中的相应一个,并且通过基于对应于各个目标图片的参考图片执行基于像素的滤波来生成已滤波图片;以及使用已滤波图片和多个源图片的第二子集将视频编码成比特流。本发明的视频处理方法和相关装置改进了预编码延迟。

Description

视频处理方法和视频处理装置
【技术领域】
本公开涉及视频编解码,并且更具体地,涉及用于对包含采用运动补偿时间滤波(motion compensated temporal filtering)的帧的视频进行编码的方法和装置。
【背景技术】
除非本文另有说明,否则本节中描述的方法不是权利要求的现有技术,并且不被包含在本节中而被承认为现有技术。
视频编解码通常涉及通过编码器将视频(即原始视频)编码成比特流,将比特流传输到解码器,并通过解码器解析和处理比特流,从比特流中解码视频,以产生一个重构的视频。编码器可以使用各种编解码模式或工具来对视频进行编码,目的是减少要传输到解码器的比特流的总大小,同时仍向解码器提供关于原始视频的足够信息,例如解码器可以生成令人满意地忠实于原始视频的重构视频。因此,除了视频的数据之外,比特流还可以包括所使用的编解码工具本身的一些信息,解码器需要这些信息才能从比特流中成功地重建视频。
除了对原始视频进行编码以减小比特流大小之外,编码器还可以在实际编码操作发生之前对视频进行预处理。也就是说,编码器可以检查原始视频的图片帧以理解视频的某些特征,然后在对原始视频执行编码操作之前,根据检查结果处理(manipulate)或以其他方式调整图片帧的某些方面。预处理可以提供诸如进一步减小在编码器端的输出处实现的比特流大小和/或在解码器端增强所得到的重构视频的某些特征的好处。
【发明内容】
以下概述仅是说明性的,并不旨在以任何方式进行限制。也就是说,提供以下概述以介绍本文描述的新颖和进步的技术的概念、要点、益处和优点。下面在详细描述中进一步描述选择实现。因此,以下发明内容并非旨在标识所要求保护的主题的必要特征,也不旨在用于确定所要求保护的主题的范围。
本发明提供了一种视频处理方法,包括基于滤波间隔确定多个目标图片,包括视频的多个源图片的第一子集,多个源图片中的每一个具有时间标识符,标识时间序列中相应源图片的时间位置;为多个目标图片中的每一个确定参考图片,参考图片中的每一个为多个源图片的第二子集的源图片;生成多个已滤波图片,每个已滤波图片对应于多个目标图片中的相应一个,并且通过基于对应于各个目标图片的参考图片执行基于像素的滤波来生成已滤波图片;以及使用已滤波图片和多个源图片的第二子集将视频编码成比特流。
本发明还提供了一种视频处理装置,包括:处理器,被配置为接收包括在时间序列中的多个源图片的视频,多个源图片中的每一个具有标识时间序列中相应源图片的时间位置的时间标识符;目标图片缓冲器,被配置为存储由处理器基于滤波间隔确定的多个目标图片,多个目标图片包括多个源图片的第一子集;参考图片缓冲器,其被配置为针对多个目标图片中的每一个存储由处理器确定的一个或多个参考图片,一个或多个参考图片中的每一个是多个源图片的第二子集的源图片,其中,多个源图片的第二子集包括不在第一子集中的多个源图片;运动补偿(MC)模块,被配置为通过基于对应于相应目标图片的一个或多个参考图片对多个目标图片中的相应目标图片执行基于像素的滤波来生成多个已滤波图片,多个已滤波图片中的每一个由MC模块生成;以及视频编码器,被配置为将多个已滤波图片和多个源图片的第二子集编码成表示视频的比特流。
本公开的一个目的是提供与使用基于像素的滤波(例如运动补偿时间滤波)对视频流中的视频图片帧进行预编码处理有关的方案、概念、设计、技术、方法和设备。相信通过本公开中的各种实施例,实现了包括改进的预编码延迟、更高的编解码增益和/或减少的硬件开销的好处。
【附图说明】
包括附图以提供对本公开的进一步理解,并且附图被并入并构成本公开的一部分。附图示出了本公开的实施方式,并且与说明书一起用于解释本公开的原理。可以理解的是,附图不一定按比例绘制,因为为了清楚地说明本公开的概念,一些部件可能被示出为与实际实施中的尺寸不成比例。
图1是根据本公开的实施方式的示例设计的图。
图2说明可以如何对图1的目标图片执行整数像素搜索。
图3说明具有时间序列的视频,其包括多个混合图片。
图4是根据本公开的实施方式的示例设计的图。
图5包括根据本公开的实施方式的示例设计的图。
图6包括根据本公开的实施方式的另一示例设计的图。
图7示出了利用硬件并行的实施例。
图8图示了根据本公开的实施方式的示例设计。
图9图示了根据本公开的实施方式的示例设计。
图10示出了示例视频编码器。
图11说明了视频编码器实现预编码处理模块的部分。
图12示出了示例视频解码器。
图13图示了根据本公开的实施方式的示例过程。
图14图示了根据本公开的实施方式的示例过程。
图15图示了根据本公开的实施方式的示例过程。
图16概念性地示出了实现本公开的一些实施例的电子系统。
【具体实施方式】
以下描述是实现本发明的最佳方案。进行该描述是为了说明本发明的一般原理,而不应被视为具有限制意义。本发明的范围通过参考所附权利要求确定。
本文公开了要求保护的主题的详细实施例和实施方式。然而,应当理解,所公开的实施例和实施方式仅是对可以以各种形式体现的要求保护的主题的说明。然而,本公开可以以许多不同的形式来体现并且不应被解释为限于这里阐述的示例性实施例和实施方式。相反,提供这些示例性实施例和实施方式是为了使本公开的描述透彻和完整,并且将向本领域技术人员充分传达本公开的范围。在下面的描述中,可以省略众所周知的特征和技术的细节以避免不必要地混淆所呈现的实施例和实现。
根据本公开的实施方式涉及与利用运动补偿时间滤波(motion compensatedtemporal filtering,简写为MCTF)预编码处理对视频进行编码有关的各种技术、方法、方案和/或解决方案。根据本公开,可以单独或联合实施多个可能的解决方案。即,尽管这些可能的解决方案可以在下面单独描述,但是这些可能的解决方案中的两个或更多个可以以一种组合或另一种组合来实现。
I.使用MCTF进行预编码处理
如上所述,代替直接编码源视频的图片帧,编码器可以在实际编码视频之前处理源视频帧。图1是根据本公开的实施方式的示例设计的图,其中视频编码器130被示为具有预编码处理模块132以及编码模块134(传统意义上的视频编码器)。视频编码器130被配置为从视频源105接收包括多个源视频帧的时间序列190的视频流。预编码处理模块132被配置为通过执行预编码过程改变或调整时间序列190的源视频帧的某些特征,以使编码模块134能够执行更有效的编码过程,这可能导致更优越的编码结果,例如,比特流195的较小编码视频大小和/或将由访问比特流195的视频解码器解码的视频的更高主观/客观视频质量。
通常,视频由以时间序列呈现的多个图片或“帧”组成。即,一系列图片,当以一定的时间顺序捕捉或显示时,被称为视频。例如,摄像机或摄录一体机可以使用一系列图片帧在一段时间内捕获运动对象的视频,每个图片帧包含对象在不同时刻的“快照”,即,对象在一段时间内特定时刻的记录。当以与相机记录对象相同的时间顺序显示时,视频是该时间段内运动对象的忠实再现。
可以通过除了相机之外的方式来生成视频。例如,视频游戏或卡通动画可能包括由计算机图形算法或人类绘图生成的一系列图片。在一些实施例中,可以组合多个源以生成视频。无论其创建者或生成方法如何,视频都包括多个图片,它们之间具有时间关系。即,视频具有按时间顺序呈现或记录的多个图片。为了将图片呈现为视频(例如,在显示器上),必须保持图片之间的时间关系。也就是说,图片的顺序,即时间序列中每个图片的时间位置,将被记录或以其他方式指定。
如图1所示,预编码处理模块132对时间序列190执行某些操作,从而将时间序列190修改为另一个时间序列193,将其传递给编码模块134。时间序列190的一部分在时间序列193中保持不变,而其其他部分由预编码处理模块132改变,如下文详细描述。
图1还示出了由时间序列190和193采用的时间序列记录方案,其中可以记录图片之间的时间关系。如图1所示,时间序列190包括一系列图片,例如图片100、图片101、图片102、图片103、...、图片106、图片107、图片108、图片109和图片110,它们以时间序列190呈现,其中在图片之间存在时间关系。时间关系表现为时间序列190中图片的顺序。例如,图片100是时间序列190的第一张图片。也就是说,图片100代表时间序列190作为视频呈现(例如,录制或显示)时的第一帧。在时间序列190中,图片101之后是图片102,之后是图片103等。类似地,图片106之后是图片107,图片107之后是图片108,其之后是图片109,之后是图片110,以此类推。此外,图1的视频的每张图片具有称为“图片顺序计数(picture ordercount,简写为POC)”的时间标识符,其是用于记录或以其他方式标识时间序列190中相应图片的时间位置的整数。如图1所示,图片100具有被指定或以其他方式记录为POC=0的相应时间标识符,而图片101的POC被指定为POC=1。类似地,将图片102、103…106、107、108、109和110的POC值分别指定为POC=2、3…6、7、8、9和10,如图1所示。使用该方案,记录图片之间的时间关系。特定图片的POC值标识了图片在视频时间序列中的时间位置。时间序列中的每张图片具有唯一的POC值,并且具有小于第二张图片的POC值的第一张图片必须在视频的时间序列中的第二张图片之前。POC信息对于编码器执行预编码过程很重要,如将在下文别处详细公开的。
根据本公开的预编码处理的大概思想如下。在本公开中,术语“帧”、“图片帧”和“源图片”可互换使用,指的是在执行预编码过程之前视频中的图片,但不限于录制的图片或相机由其他方式生成的图片。如图1所示,视频编码器130从视频源105接收的视频包括时间序列190中的源图片100、101、...、109、110等。这些源图片中的一些图片(例如,源图片100和108)被选为“目标图片”,预编码处理模块132将对其执行某些预编码处理操作。时间序列190中的其余源图片,即未选择作为目标图片的那些,称为“参考图片”(例如,源图片101、102、……、107和109、110等)。具体而言,预编码处理单元132会为每一目标图片产生一个“处理后的图片”,或者有时称为“滤波后的图片”,例如图片180和188。参考图片中的一个或多个可以在预编码过程采用或以其他方式参考用于生成处理后的图像。预编码过程可以使用参考图片的不同子集来为不同的目标图片生成处理后的图片。由预编码处理单元132执行的预编码过程将时间序列190改变或以其他方式修改为时间序列193,其包括已滤波图片180和188,以及参考图片101、102、...、107和109、110。值得注意的是,时间序列190中的图片的时间关系在时间序列193中被继承或以其他方式保持。即,处理后的图片180和188分别保持与目标图片100和108相同的POC值。
根据本公开的预编码处理涉及将运动补偿时间滤波(MCTF)应用于某些参考图片以生成用于目标图片的处理后的图片。因此,在本公开中,术语“处理的图片(处理后的图片)”和“已滤波图片(也称为滤波的图片、滤波后的图片、滤波图片等)”可以互换使用。MCTF的主要概念是通过对一组与目标图片相关联或以其他方式相关的参考图片执行具有运动补偿(MC)的离散小波变换来为目标图片生成已滤波图片。通常,MCTF使用或以其他方式引用的参考图片是目标图片的相邻帧。例如,如果图片108是目标图片,则MCTF要使用的对应参考图片组可以包括图片106、107、109和110。在替代实施例中,目标图片108的对应参考图片可以包括图片107和109,或者图片106和107,或者图片109和119。在一些实施例中,MCTF可以仅参考一个参考图片,即图片107或图片109,以生成已滤波图片为目标图片108。
在为目标图片选择或以其他方式确定对应的参考图片之后,MCTF涉及在每个参考图片中找到目标图片的相似物(resemblance)。这可以使用通常在基于帧间编解码中使用的基于块的运动估计(ME)和运动补偿(MC)技术来执行,尤其是那些使用块匹配的技术算法。
具体地,可以将目标图片划分为多个不重叠的预测块,每个预测块是目标图片的矩形区域。对于目标图片的每个预测块,要在每个参考图片中找到相同大小的最佳匹配块。可以使用整数像素搜索算法在参考图片的特定搜索范围内找到最佳匹配块。如单词“search”所示,编码器将检查该搜索范围内的所有候选块,然后在候选块中找到与目标图片的预测块相比具有最小差异量(例如,最低失真)的候选块。对于与目标图片相邻的参考图片,候选块通常是预测块的位移版本(displaced version)。参考图片的每个候选块具有与预测块相同的大小(即,宽度和高度)。对于整数像素搜索,候选块在水平方向或垂直方向上彼此相差一个像素。
为了找到最佳匹配块,编码器计算每个候选块与预测块之间的差异。损失值可用于表示每个候选块与预测块之间的差异,损失值越小表示越相似。在一些实施例中,可以使用误差矩阵来计算损失值(loss value),例如跨特定候选块的所有块像素的平方差之和(sum of squared differences,简写为SSD)或绝对差之和(sum of absolutedifferences,简写为SAD)。具有最小损失值的候选块是与预测块最佳匹配的块,因此是最佳匹配块。因此,整数像素搜索算法为每个预测块确定来自每个参考图片的相应MC结果,其中MC结果包括最佳匹配块本身和与最佳匹配块相关联的损失值。
以目标图片108为例。图2说明可以如何对图1的目标图片108执行整数像素搜索。如图2所示,目标图片108被划分为多个预测块,例如预测块211、212、213、214、215、216和217。此外,已确定参考一组参考图片,即源图片106、107、109和110,以生成目标图片108的滤波图片208。也就是说,源图片106、107、109和110是对应于目标图片108的参考图片。已滤波图片208可以是已滤波图片188的一个实施例。对于目标图片108的每个预测块,编码器要从每个参考图片中找到一个对应块。对应的块将是与预测块非常相似的块。实际上,对应块将是对应图片上在其上的特定搜索范围内与预测块最佳匹配的块。
例如,在预编码过程中,编码器将在参考图片106、107、109和110中的每一个上搜索与预测块217匹配的相应一个最佳匹配块。具体地,为找到对于各个最佳匹配块,编码器将在参考图片106、107、109和110中的每一个上搜索矩形区域,其中矩形区域对应于预测块217及其周围区域。被称为“搜索范围”的矩形区域对于参考图片106、107、109和110中的每一个都是相同的。参考图2,搜索参考图片106上的搜索范围269以找到参考图片106上与目标块108的预测块217最佳匹配的块。类似地,分别搜索参考图片107上的搜索范围279、参考图片10上的搜索范围299和参考图片110上的搜索范围209,以分别找到参考图片107、109和110上的最佳匹配块。相应地,最佳匹配块263、273、293和203分别由参考图片106、107、109和110的整数像素搜索算法分别确定。如图2所示,最佳匹配块263、273、293和203中的每一个都在相应的搜索范围内,即使其在相应参考图片中的位置可能与预测块217在目标图片108中的确切位置不同。
通常,搜索范围将大于预测块的大小。假设预测块217具有32x32的大小(即,宽度为32像素,高度为32像素),则搜索范围269、279、289、299和209中的每一个可以具有(32+delta)像素乘以(32+delta)像素的大小,例如43x43或50x50。
在预编码过程中,运动补偿步骤在整数像素搜索步骤之后,其中包括最佳匹配块263、273、293和203的整数像素搜索的结果被存储或以其他方式缓冲用于运动补偿步骤之后的滤波步骤。例如,运动补偿步骤存储由整数像素搜索算法输出的MC结果262,因为该算法已经确定了最佳匹配块263。MC结果262包括最佳匹配块263本身(即,像素其值),以及用于量化或以其他方式表示预测块217和最佳匹配块263之间的差异的损失值264。可以使用各种矩阵来计算损失值264,例如SSD,SAD等,如上所述。同样,运动补偿步骤还存储MC结果272、292和202,它们是由整数像素搜索算法在算法分别确定最佳匹配块273、293和203时输出的。如图2所示,MC结果272包括最佳匹配块273,以及损失值274,其量化预测块217和最佳匹配块273之间的差异。类似地,MC结果292包括最佳匹配块293以及量化预测块217和最佳匹配块293之间的差异的损失值294,而MC结果202包括最佳匹配块203以及量化预测块217和最佳匹配块203之间的差异的损失值204。所有损失值,即损失值264、274、294和204,都是使用相同的损失计算矩阵计算的,因此可以有意义地相互比较。
运动补偿步骤之后的滤波步骤将MC结果262、272、292和202作为步骤的输入,并相应地生成滤波图像208的滤波块287。滤波步骤可以采用基于像素的双边滤波(290),其中滤波块287的每个像素可以根据加权和方程(weighted sum equation)计算,如下所示:
Figure BDA0003954150480000091
其中,Fn表示滤波的块287的第n个像素的值,k表示对应于目标图片108的参考图片(即,参考图片106、107、109和110)的总数,Bi,n表示在第i个参考图片中找到的最佳匹配块的第n个像素的值,wi是实数,表示当Bi,n来自第i个参考图片时像素值的加权。加权是一个实数。在一些实施例中,加权wi是使用损失值(即损失值264、274、294和204)确定的,并且并非所有加权wi可以具有相同的值。
如图2所示,滤波图像208包括多个滤波的块,例如滤波的块287,以及滤波的块281、282、283、284、285和286。滤波的块中的每一个以类似于如上所述如何生成滤波的块287的方式生成,从而生成对应于目标图片108的已滤波图片208。
在一些实施例中,时间序列190可以包括多个目标图片,即,除了图片108之外的目标图片。对于每个目标图片,可以确定对应的一组参考图片,这些参考图片随后由编码器以类似于如何生成目标图片108的已滤波图片208的方式生成对应于相应目标图片的已滤波图片。
在一些实施例中,编码器可以确定滤波间隔(filtering interval),并且可以基于滤波间隔来选择目标图片。具体地,滤波间隔确定在具有多个源图片的时间序列中多长时间或多频繁地生成已滤波图片。例如,编码器可为时间序列190确定八帧的滤波间隔。相应地,预编码过程将使用八帧增量来选择目标图片。例如,对于时间序列190,除了源图片108之外,还可以选择源图片100作为目标图片。在选择目标图片时,可以将POC编号与滤波间隔一起使用,并且POC值为滤波间隔的倍数的每个源图片被选择作为应用MCTF的目标图片。例如,8帧的滤波间隔可能导致具有POC=0、8、16、24、32、40、48、56、64、……等的源图片成为目标图片。类似地,10帧的滤波间隔可以导致POC=0、10、20、30、40、50、60、……等的源图片成为目标图片。即任意两个连续目标图片的POC差值等于滤波间隔。在一些实施例中,编码器可以使用默认值或预定值而不是基于任何算法或时间序列的任何细节来确定滤波间隔。例如,编码器可以为任何时间序列使用8帧的默认滤波间隔,而无需基于时间序列190的任何细节来确定滤波间隔。
在一些实施例中,包括整数像素搜索和分数像素(fractional pixel)搜索的分层像素搜索方法可以用于预编码过程。也就是说,一个或多个额外的分数像素搜索步骤可以在整数像素搜索步骤之后,这使得编码器能够找到与仅使用整数像素搜索相比更好的匹配块。分数像素搜索的操作类似于整数像素搜索,只是候选块在水平方向或垂直方向上彼此相差一个像素的分数。此外,搜索范围可以自适应地调整以包括从整数像素及其周围区域搜索得到的最佳匹配块。例如,如果编码器要在找到最佳匹配块263之后执行分数像素搜索,则可以将用于随后的分数像素搜索的搜索范围调整到包含最佳匹配块263以及一些周围区域的矩形区域。
在一些实施例中,用于分数像素搜索的预测块的大小可以小于用于整数像素搜索的预测块的大小。例如,目标图片108的每个预测块可以被进一步划分为用于分数像素搜索的预测块。假设预测块217的大小为32x32;当编码器执行分数像素搜索时,预测块217可以被分成四个较小的块,每个较小的块具有16x16的大小,并且每个较小的块可以单独经过运动补偿过程以在每个参考图片106、107、109和110中找到16x16大小的最佳匹配块。为了执行分数像素搜索,编码器需要使用插值技术(interpolation techniques)来使用参考图片的像素值来生成分数像素值。例如,如果1/2像素(即半像素)搜索跟随整数像素搜索,则编码器将通过插值使用参考图片的整数像素值来生成参考图片中的半像素。相应地,候选块在水平方向或垂直方向上彼此相差1/2像素。此外,如果1/4像素(即四分之一像素)搜索随后跟随1/2像素搜索,则编码器将通过插值使用参考图片的整数像素值和1/2像素值来生成1/4像素值,其中候选块在水平方向或垂直方向上彼此相差1/4像素。
在完成预编码处理之后,编码器继续将视频编码成比特流。编码器不是直接对源视频的原始源图片进行编码,而是将参考图片和滤波后的图片编码到比特流中,而不将目标图片留在比特流之中。即,滤波后的图片在编码过程中替代了目标图片。例如,当编码器将时间序列190编码成比特流时,滤波后的图片208将替换源图片108。滤波后的图片将恢复或以其他方式继承其对应目标图片的POC值,以便滤波后的图片替换视频中它们各自时间位置的目标图片。例如,已滤波图片208将因此具有POC=8,即与其对应的目标图片-源图片108相同的POC值。
如上所述,将目标图片替换为从预编码过程中生成的相应已滤波图片有助于实现更有效的视频编码,这通常表现为更小的比特流大小和/或更高的主观/客观视频质量。在根据如上所述的MCTF预编码处理的一些实施例中,对于4K分辨率的视频可以获得高达6%的编解码增益。
II.基于子图片的预编码处理
在根据本公开的实施例中,对于包含混合源图片的视频,可以实现更高的编解码增益和/或更短的处理时间。混合图片包括自然图像(natural图像,简写为NI)的区域以及屏幕内容图像(screen content图像,简写为SCI)的区域。通常,自然图像是包含现实世界中存在的对象的图像,而屏幕内容图像包含计算机生成的对象或文本,例如屏幕截图、网页、视频游戏图像和其他计算机图形。
现在各种视频用例在视频中具有混合图片,其中NI内容和SCI内容呈现在同一图片中。例如,在电视体育赛事转播过程中,电视屏幕上可能会显示运动场、运动员的运动表现、观众欢呼、天上的云朵等,这是屏幕的NI内容。此外,可能有SCI内容,例如球员统计数据、记分牌、广告消息、来自电视观众的实时文本评论等,与NI内容同时呈现在同一屏幕上。
如果将MCTF模糊地应用于帧中的NI内容和SCI内容两者,则这不是执行如上所述的预编码处理的最有效方式。我们的实验数据表明,MCTF能够为NI内容带来不错的和令人满意的编解码增益,而从MCTF滤波的SCI内容获得的编解码增益则相当微不足道。因此,当MCTF对NI内容使用更多参考图片而对SCI内容使用更少参考图片时,实现了更有效的预编码过程。在一些实施例中,MCTF可以仅将参考图片用于NI内容,而不用于SCI内容。即,MCTF仅应用于目标图片的NI部分,而不应用于其SCI部分,从而节省了用于对SCI内容执行MCTF的处理时间、功耗和硬件开销,因为对SCI内容执行这些操作将导致编解码收获甚微。
在一些实施例中,不将MCTF应用于SCI内容所节省的(例如,在处理时间和/或硬件开销方面)可用于NI内容以改进所得到的编码视频。例如,在将MCTF应用于视频的NI内容时,可以包含更多帧作为参考图片。一般来说,使用的参考帧越多,可以找到更好的匹配块,从而可以得到更高的编解码增益。替代地或附加地,整数或分数像素搜索的搜索范围(例如,搜索范围269、279、299和209)可以更大,这也增加了找到更好匹配块的机会。
在混合画面中,NI内容和SCI内容通常呈现在混合画面的单独子画面中。子图片是图片的部分区域。子图片可以是图片的一个或多个图块(tile)和/或切片(slice)。在视频编解码过程中,通常将一个图片划分为多个编解码树块(CTB),每个CTB是图片的一个矩形区域,用作对图片进行编码或解码的基本单元。切片是图片的片段,由相关(按光栅扫描顺序)CTB形成,而图块是图片的矩形分割,包含多个相邻CTB。每个图块或切片可以被独立编码、解码或以其他方式处理。混合图片可以包括一个或多个NI子图片和一个或多个SCI子图片。
图3是根据本公开的实施方式的示例设计的图。具体来说,图3说明具有时间序列390的视频,其包括多个混合图片,例如源图片305、306、307、308和309。对于预编码处理,编码器确定源图片308是目标图片。编码器进一步确定目标图片308参考源图片305、306、307和309用于MCTF。即,源图片305、306、307和309是参考图片组,用于为目标图片308生成MCTF滤波图片,如上文结合图2所述。如图3所示,源画面305、306、307、308和309中的每一个包括具有NI内容的第一子图片和具有SCI内容的第二子图片。例如,源图片305具有NI子图片315和SCI子图片325。类似地,源图片306具有NI子图片316和SCI子图片326;源图片307具有NI子图片317和SCI子图片327;源图片308具有NI子图片318和SCI子图片328;源图片309具有NI子图片319和SCI子图片329。图3是对应于目标图片308的已滤波图片388。编码器通过仅参考参考图片306、307、308和309的NI子图片(即,子图片315、316、317和319),而不参考其任何SCI子图片(即子图325、326、327和329)来生成已滤波图片388。具体地,当使用如上文结合图2描述的过程来应用MCTF时,只有来自NI子图片315、316、317和319的预测块经历运动补偿步骤和双边滤波步骤。也就是说,以双边滤波步骤作为输入的MC结果仅来自对NI子图片315、316、317和319的那些预测块执行的运动补偿。相应地,已滤波图片388包括已滤波的NI子图片358,其由MCTF使用参考子图片315、316、317和319以及未滤波的SCI子图片328产生。也就是说,已滤波图片388的SCI内容是原始目标图片308的SCI内容的直接副本。
在图3所示的示例设计中,每张图片具有一个NI子图片和一个SCI子图片,但本发明实施例不限于此。即,一个目标图片可以有多个NI子图片和/或多个SCI子图片,MCTF应用于所有的多个子图片,而不应用于任一SCI子图片。由于MCTF预编码处理仅应用于NI子图片而不是全帧,因此预编码过程变得更加高效,使用更少的计算能力,具有更少的处理延迟和/或更短的处理时间。此外,存储MC结果所需的硬件(例如内存缓冲区)的大小更小,因为最佳匹配块的大小仅与NI内容,而不是全帧一样大。
在根据本公开的一些实施例中,编码器基于滤波间隔来确定目标图片的参考图片的数量。假设编码器已经确定滤波间隔为N,即视频流中每第N个图片都被选为目标图片。在目标图片仅包含NI内容的情况下,编码器可以确定在将MCTF应用于目标图片时参考几个N相邻帧(Nneighboring frames)。然而,如果目标图片是包含NI子图片和SCI子图片的混合图片,编码器可以禁用目标图片的SCI子图片的MCTF,同时保持NI子图片的MCTF,MCTF应用于目标图片时可参考N个相邻帧。或者,编码器甚至可以将NI子图片的参考图片数量从N增加到N+k,其中k是正整数。
III.MCTF的硬件考虑
如上所述,使用MCTF的预编码过程涉及基于块的像素搜索、运动估计和运动补偿的操作。如后文所述,这些操作也是在视频的实际编码中执行的必需的操作,尤其是由其图片间预测模块执行的操作。鉴于这些某些类似的功能在预编码处理和实际编码阶段都执行,并且预编码处理发生在实际编码发生之前,因此可以和预编码处理共享图片间预测模块内部的一些硬件组件。也就是说,可以使用图片间预测模块内部的某些硬件,例如整数运动估计(IME)内核和分数运动估计(FME)内核,而不是具有专用于MCTF预编码处理的单独硬件用于MCTF预编码过程。
为了共享为执行视频编码的图片间预测而设计的IME和FEM,可能需要对MCTF预编码过程施加某些限制,其中一些将在本节中介绍。在一些实施例中,可以为视频中不同类型的目标图片确定不同数量的参考帧。通常,要编码为比特流的视频帧属于以下三种帧类型之一:帧内编解码帧(intra-coding frame,也称为I帧(I-frame))、预测帧(predictedframe,也称为P帧(P-frame))和双向预测帧(bi-directional predicted frame,也称为B帧(B-frame))。I帧仅使用空间压缩而不使用时间信息。即,I帧仅使用自身内部的信息,而不使用来自其他帧的信息来进行运动估计和运动补偿。因此,I帧占用视频流中的最多位。相比之下,P帧预测与先前(即,过去,具有较小POC值)帧相比发生了什么变化,从而导致空间和时间压缩的组合。因此,P帧提供比I帧更好的压缩。B帧在使用空间和时间压缩的组合方面类似于P帧,除了B帧更进一步并参考过去和未来(就POC而言)帧进行运动估计和运动补偿。因此,与P帧和I帧相比,B帧通常提供最高的压缩率并在视频流中占用最少的比特。
在根据本公开的一些实施例中,编码器基于滤波间隔来确定目标图片的参考图片的数量。假设编码器已经确定滤波间隔为N,即视频流中每第N个图片都被选为目标图片。根据每个目标图片的帧类型,编码器确定要用于MCTF步骤的相应数量的参考图片。在一些实施例中,I帧目标图片具有相邻N帧作为其MCTF参考图片,而P帧目标图片具有相邻N/2帧作为其MCTF参考图片。此外,对于B帧目标图片,MCTF被禁用。也就是说,编码器不对B帧进行预编码处理,因此没有为它们确定参考图片。例如,如果视频的滤波间隔被确定为每八张图片(即N=8),则POC=0、8、16、24、32、40、48、56、64、...等的源图片,被选为目标图片。进一步假设POC=32的帧为I帧,POC=16的帧为P帧,POC=8和24的帧为B帧。因此,编码器可以确定POC=32目标图片具有8个MCTF参考图片,即具有POC=28、29、30、31、33、34、35和36的相邻帧。此外,编码器可以确定POC=16的目标图片具有四个MCTF参考图片,即具有POC=14、15、17和18的相邻帧。编码器可以进一步确定不对POC=8和24的目标帧应用MCTF,以及因此它们的参考图片数量为零。
在一些实施例中,可以定制用于目标图片的参考图片的确定以改进由MCTF预编码过程引起的硬件开销和/或处理延迟。图4是根据本公开的实施方式的示例设计的图。参考图4,图410图示了MCTF预编码处理被禁用的视频流的时序图。图表410的第一行表示时序的源图片,源图片被标记为POC=0、1、2、3、4、5、...、32。图表410的第二行显示MCTF预编码被禁用。此外,图表410的第三行显示编码器是空闲的并且直到已经接收到POC=32的帧才开始图片帧的实际编码。这是因为视频的图片组(group-of-pictures,简写为GOP)大小为32帧。即POC=0-31的帧属于同一个GOP。GOP是已编码的视频流中连续图片的集合。编码后的视频流由连续的相同大小的GOP组成,每个GOP是一个独立的编码和解码单元,因为所有帧间编解码帧(inter-coded frame)的运动估计和运动补偿只参考GOP内的图片,加上下一个GOP的第一帧。因此,编码器无法开始编码由POC=0–31的帧组成的GOP,直到所有POC=0–32的帧都已被编码器拥有。一个GOP有一个I帧,它是GOP的第一帧。因此,视频流的GOP大小是两个连续I帧之间的距离(以帧数衡量)。从解码器的角度来看,在已编码视频流中遇到一个新的GOP意味着解码器不需要任何先前的帧来解码接下来的帧。
图420图示了图410中的相同视频流的时序图,但是启用了MCTF预编码处理。对于MCTF过程,滤波间隔为8帧。如图420所示,POC=0、8、16、24、32和40的图片帧被不同地标记以表明它们是目标图片(即,滤波间隔=8帧)。此外,每个图片帧周围的一个或多个相邻帧也被不同地标记,以显示相应目标图片要针对MCTF参考的对应参考图片组。例如,目标图片POC=0具有两个帧POC=1和2作为其参考图片,而图420的其余目标图片中的每一个具有四个参考图片。例如,目标图片POC=8具有帧POC=6、7、9和10作为其参考图片,如图表420中标记的那样。图表420的第二行显示视频的MCTF预编码处理的活动。当编码器接收POC=0–2的帧作为相机输入时,MCTF处于空闲状态。在接收到POC=0–2的帧后,编码器能够开始对目标图片POC=0的MCTF处理,因为这是处理POC=0帧所需的参考图片都在编码器中的最早时间,即POC=1和2的帧都在编码器中。如图420所示,MCTF硬件花费四帧的时间来完成对POC=0目标图片的MCTF处理。也就是说,当相机输入发送POC=3-6的帧时,编码器正在为MCTF处理POC=0的目标帧,并在发送POC=6的帧时完成处理。随后,在编码器接收帧POC=7–10期间,MCTF硬件再次空闲,因为编码器需要POC=6、7、9和10的帧的信息来处理POC=8的目标图片,因为POC=6、7、9和10的帧是其参考图片。POC=8的目标图片完成MCTF需要8帧时间,是POC=0目标图片执行MCTF时间的两倍。这是因为POC=0的目标图片只有两个参考图片,而POC=8的目标图片有四个参考图片。
比较图410和420发现引入了10帧时间的延迟,如下所述。在禁用MCTF预编码的图410中,编码器能够在接收到POC=32帧之后开始实际的视频编码。然而,当启用MCTF预编码时,编码必须在更晚的时候开始。假设POC=32为目标图片,实际的视频编码要等到POC=32的目标图片对应的已滤波图片生成后才能开始。如图420所示,当接收POC=35-42的源图片时,正在执行POC=32的目标图片的MCTF。因此,编码器可以开始对包含POC=0–31的帧的GOP进行编码的最早时间是下一个周期,即当正在接收POC=43的帧时。与图410相比,由于MCTF预编码处理的启用,引入了10帧长度的延迟412。MCTF造成的延迟直接转化为硬件成本。也就是说,因此需要一个内存缓冲区来在帧进入时的延迟期间临时存储这些帧,以便以后需要时可以在缓冲区引用它们。例如,在图420中描绘的场景中,当编码器接收POC=33–42的源图片时,编码器需要一个内存缓冲区来临时存储POC=33–42的源图片,因为在此期间MCTF硬件正被POC=24和32的目标图片的预编码处理。内存缓冲区保存POC=33-42的源图片,直到MCTF硬件准备好以后使用它们,例如,当MCTF硬件处理POC=32和40的目标图片时。
IV.MCTF的延迟考虑
可以对上文其他地方描述的MCTF预编码过程进行各种修改,以缩短产生的等待时间/延迟并由此推断所需的存储器缓冲器的大小。在一些实施例中,编码器可以为靠近GOP末端的一个或多个目标图片确定较少数量的参考图片。图5包括根据本公开的实施方式的示例设计的图。图5中,图520说明其中POC值是视频的GOP大小的倍数的目标图片与POC值不是GOC大小的倍数的另一目标图片相比具有更少参考图片的实施例。具体地,图520中所示的视频具有32帧的GOP大小,并且滤波间隔被确定为每8帧。对于POC=8、16和24的目标图片,由于它们的POC值不是GOP大小的倍数,因此每个目标图片都有四个参考图片,包括两个过去帧和两个未来帧。而对于POC=32的目标图片,只有两个参考图片,即POC=31和33的帧。因此,对POC=32目标帧的MCTF处理只需要四帧时间即可完成。与图410中的场景相比,该实施例将POC=0的帧的实际编码开始拉到与POC=39的源图片的接收对齐。该实施例将延迟从10帧(由延迟412表示)减少到6帧(由延迟512表示)。减少的延迟也直接转化为所需的更小的内存缓冲区,因为图表520中描述的场景的内存缓冲区只需要缓冲POC=33–38的帧,而不是需要缓冲如图420所示的POC=33–42的帧。
图6包括根据本公开的实施方式的另一示例设计的图。参照图6,图620示出了其中POC值是视频的GOP大小的倍数的目标图片与POC值不是GOC大小的倍数的另一目标图片相比具有更少参考图片的实施例。具体地,图620中所示的视频具有32帧的GOP大小,并且滤波间隔被确定为每8帧。对于POC=8、16和24的目标图片,由于它们的POC值不是GOP大小的倍数,因此每个目标图片都有四个参考图片,包括两个过去帧和两个未来帧。而对于POC=32的目标图片,只有两个过去的帧作为其参考图片,即POC=30和31的帧。由此可见,对POC=32的目标帧的MCTF处理只需要四帧时间去完成。与图410中的场景相比,该实施例将POC=0的帧的实际编码开始拉到与POC=39的源图片的接收对齐,其中POC=0的帧的实际编码开始与POC=43的帧对齐。该实施例将延迟从10帧(由延迟412表示)减少到6帧(由延迟612表示)。减少的延迟也直接转化为所需的更小的内存缓冲区,因为图620中描述的场景的内存缓冲区只需要缓冲POC=33–38的帧,而不是需要缓冲如图420所示的POC=33–42的帧。
减少由MCTF预编码处理引起的等待时间/延迟的另一种方式是采用硬件并行(hardware parallelism),其两个实施例在图7中示出。图7示出了利用硬件并行的实施例。参考图7,图710图示了利用两倍的硬件并行度针对与图420中呈现的相同的目标图片和对应的参考图片集的MCTF处理。两倍的硬件并行度将生成MCTF滤波图片的处理时间减少了一半。比较图420和710,由于硬件并行性,MCTF处理POC=0的目标帧所花费的时间从四帧时间减少到两帧时间。同样,针对POC=8、16、24和32目标帧中的每一个的MCTF处理所花费的时间也减少了一半,从图420中的八帧时间减少到图710中的四帧时间。因此,实际视频编码的开始从如图420所示的与POC=43帧的接收对齐,到如图710所示的与POC=39帧的接收对齐,减少了四帧的时间。与禁用MCTF的图410相比,利用硬件并行,图710的MCTF引起的延迟减少到六帧,如延迟711所示。
类似地,图720图示了利用两倍的硬件并行度针对与图620中呈现的那些相同的目标图片和对应的参考图片集的MCTF处理。比较图620和720,由于硬件并行性,MCTF处理POC=0和32的目标帧中的每一个所花费的时间从四帧时间减少到两帧时间。同样,针对POC=8、16和24的目标帧中的每一个的MCTF处理所花费的时间也减少了一半,从图620中的八帧时间减少到图720中的四帧时间。因此,实际视频编码的开始从如图420所示的与POC=39帧的接收对齐,到如图720所示的与POC=35帧的接收对齐,减少了四帧的时间。与禁用MCTF的图410相比,利用硬件并行,图720的MCTF引起的延迟减少到两帧,如延迟712所示。
V.MCTF的编解码增益考虑
如图420、520、620、710和720中的每一个中所示,MCTF硬件并不总是忙,而是具有间歇性空闲时间。在一些实施例中,编码器可以通过在为目标图片生成已滤波图片时包括更多参考图片来减少MCTF硬件的空闲时间。这种方法可以在不引入额外延迟的情况下实现更全面的MCTF硬件利用率。通过包含更多的参考图片,可以得到更好的滤波图片,从而提高编码器的编码增益。
在一些实施例中,编码器旨在包括更多用于POC=0的目标图片的参考图片。图8说明了两个这样的实施例,分别由图810和820表示。图810与图420相同,除了POC=0的目标图片包括额外参考图片POC=3的帧。即,MCTF硬件在为POC=0的目标图片生成已滤波图片时参考了三个参考图片,即POC=1-3的帧。如图810所示,实际视频编码的开始仍然与POC=43的帧的接收对齐,与图420相同,因此没有引入额外的延迟。鉴于POC=0目标图片的参考图片数量从2个增加到3个,预期更好的已滤波图片代替POC=0的目标图片编码到比特流中,因此预期比特流具有更好(即更大或更多)编解码增益。这也减少了紧随POC=0的目标图片处理之后的MCTF硬件空闲时间,从图420中所示的四帧减少到图810中所示的仅一帧。
类似地,图表820与图表710相同,除了POC=0的目标图片包括两个额外参考图片,即POC=3和4的帧。即,MCTF硬件在为POC=0目标图片生成已滤波图片时参考了四个参考图片,即POC=1-4的帧。如图820所示,实际视频编码的开始仍然与POC=39帧的接收对齐,与图710相同,因此没有引入额外的延迟。鉴于POC=0的目标图片的参考图片数量从2个增加到4个,一个更好的已滤波图片有望代替POC=0的目标图片被编码到比特流中,因此比特流有望具有甚至比图810更好(即更大或更多)的编解码增益。这也减少了紧随POC=0目标图片处理后的MCTF硬件空闲时间,从图710中所示的六帧减少到如图820所示两帧。
在根据本公开的一些实施例中,编码器基于滤波间隔来确定目标图片的参考图片的数量。假设编码器已经确定滤波间隔为N,即视频流中每第N个图片都被选为目标图片。具体地,对于POC=0的帧以外的目标图片,编码器可以确定将N个相邻帧作为目标图片的MCTF参考图片,其中N个参考图片的一半具有的POC值小于该目标图片的POC值,以及N个参考图片的另一半具有的POC值大于该目标图片的POC值。对于POC=0的目标图片,编码器可以将POC=0的目标图片之后的(N/2+k)帧确定为其MCTF参考图片,其中k为正整数。
在一些实施例中,编码器旨在通过包括目标图片的更多相关参考帧来提高目标编解码增益,尤其是在相对靠近目标图片发生视频的场景改变时。在视频流中,在主题更改之前呈现的帧与在主题更改之后出现的帧具有不同的“主题”。因此,主题变化之前的帧的内容与主题变化之后的帧的内容通常是完全无关的。由于两组帧的不相关性,将MCTF应用于包括主题更改之前和之后的帧的一组参考帧不会导致太多的编解码增益,因为主题更改之前的帧不会有助于预测主题更改后出现的任何帧,反之亦然。根据目标图片是在主题更改之前还是之后呈现的,MCTF将更有效地参考仅在主题更改之前或之后呈现的帧。也就是说,如果在目标图片与其参考图片之一之间发生主题变化,则MCTF将不会那么有效。另一方面,当目标图片与其所有参考图片之间没有任何主题变化时,MCTF是有效的。
图9图示了根据本公开的实施方式的示例设计。参考图9,图910图示了与图710的实施例相同的实施例,除了图910中的视频包括紧接在POC=8的目标图片之前的场景改变(scene change)915。在图表710中,编码器将POC=6、7、9和10的帧确定为POC=8的目标图片的MCTF参考图片。然而,这对于图910中的场景来说不是理想的选择,因为POC=6和7的帧中的内容由于场景改变915与POC=8的目标图片的相关性不大。相反,如如图910所示,编码器将POC=9、10、11和12的帧确定为POC=8的目标图片的MCTF参考图片,因为在POC=8的目标图片和POC=9、10、11和12的参考图片之间没有场景改变。如此一来,可获得更佳的编解码增益。
同样,图表920图示了与图表710的实施例相同的实施例,除了图表920中的视频包括紧跟POC=8的目标图片之后的场景改变925。在图表710中,编码器将POC=6、7、9和10的帧确定为POC=8的目标图片的MCTF参考图片。然而,这对于图910中的场景来说不是理想的选择,因为POC=9和10的帧中的内容由于场景改变925与POC=8的目标图片的相关性不大。相反,如如图920所示,编码器将POC=4、5、6和7的帧确定为POC=8的目标图片的MCTF参考图片,因为在POC=8的目标图片和POC=4、5、6和7的参考图片之间没有引入场景改变。如此一来,可获得更佳的编解码增益。
VI.示例的实现方式
图10示出了示例视频编码器1000。如图所示,视频编码器1000从视频源1005接收输入视频信号并将该信号编码为比特流1095。视频编码器1000具有用于对来自视频源1005的信号进行编码的若干组件或模块,至少包括选自预编码处理模块1080、变换模块1010、量化模块1011、逆量化模块1014、逆变换模块1015、图片内估计模块(intra-pic tureestimation module)1020、帧内预测(intra-prediction)模块1025、运动补偿模块1030、运动估计模块1035、环路滤波器1045、重构图片缓冲器1050、运动矢量(MV)缓冲器1065、MV预测模块1075和熵编码器1090的部分组件。运动补偿模块1030和运动估计模块1035是帧间预测模块1040的一部分。帧间预测模块1040可以包括被配置为执行整数像素搜索的整数运动估计(IME)内核,以及被配置为执行分数像素搜索的分数运动估计(FME)内核。整数像素搜索和小数像素搜索都是运动补偿模块1030和运动估计模块1035的基本功能。预编码处理模块1080可以是预编码处理模块132的一个实施例,而视频编码器1000的其余的部分可以共同体现视频编码器134。
在一些实施例中,如上所列的模块1010-1090是由计算设备或电子装置的一个或多个处理单元(例如,处理器)执行的软件指令模块。在一些实施例中,模块1010-1090是由电子设备的一个或多个集成电路(IC)实现的硬件电路模块。尽管模块1010–1090被示为单独的模块,但一些模块可以组合成单个模块。
视频源1005提供原始视频信号,其呈现每个视频帧的像素数据而不进行压缩。即,视频源1005提供包括以时间序列呈现的源图片的视频流。预编码处理模块1080将视频流作为输入,并根据上文其他地方描述的一个或多个实施例执行预编码MCTF处理。处理后的视频数据,包括所有未被选为用于预编码MCTF处理的目标图片的源图片,以及在时间序列中替换目标图片的已滤波图片,被发送到视频编码器1000的其他模块以用于视频的实际编码。
减法器1008计算由预编码处理模块1080生成的经处理视频数据与来自运动补偿模块1030或帧内预测模块1025的预测像素数据1013之间的差。变换模块1010将差(或残差像素数据或残差信号1009)转换成变换系数1016(例如,通过执行离散余弦变换或称为DCT)。量化模块1011将变换系数量化为已量化数据(或已量化系数)1012,其由熵编码器1090编码成比特流1095。
逆量化模块1014对已量化数据(或已量化系数)1012进行去量化以获得变换系数,并且逆变换模块1015对变换系数进行逆变换以产生重构残差1019。重构残差1019与预测的像素数据1013相加一起产生重构的像素数据1017。在一些实施例中,重构的像素数据1017被临时存储在行缓冲器(未示出)中用于图片内预测和空间MV预测。重构的像素由环路滤波器645滤波并存储在重构图片缓冲器1050中。在一些实施例中,重构图片缓冲器1050是视频编码器1000外部的存储器。在一些实施例中,重构图片缓冲器1050是视频编码器1000内部的存储器。
图片内估计模块1020基于重构的像素数据1017执行帧内预测以产生帧内预测数据。帧内预测数据被提供给熵编码器1090以被编码成比特流1095。帧内预测数据还被帧内预测模块1025用来产生预测的像素数据1013。
运动估计模块1035通过产生MV以参考存储在重构图片缓冲器1050中的先前解码帧的像素数据来执行帧间预测。这些MV被提供给运动补偿模块1030以产生预测的像素数据。
视频编码器1000不是对比特流中的完整实际MV进行编码,而是使用MV预测来生成预测的MV,并且用于运动补偿的MV与预测的MV之间的差异被编码为残差运动数据并存储在比特流1095中。
MV预测模块1075基于为编码先前视频帧而生成的参考MV,即用于执行运动补偿的运动补偿MV,生成预测的MV。MV预测模块1075从MV缓冲器1065中撷取来自先前视频帧的参考MV。视频编码器1000将针对当前视频帧生成的MV存储在MV缓冲器1065中作为用于生成预测的MV的参考MV。
MV预测模块1075使用参考MV来创建预测的MV。预测的MV可以通过空间MV预测或时间MV预测来计算。熵编码器1090将当前帧的预测的MV和运动补偿MV(MC MV)之间的差(残差运动数据)编码到比特流1095中。
熵编码器1090通过使用诸如上下文自适应二进制算术编解码(CABAC)或霍夫曼编码的熵编解码技术将各种参数和数据编码到比特流1095中。熵编码器1090将各种报头元素、标志连同量化的变换系数1012和残差运动数据作为语法元素编码到比特流1095中。比特流1095继而存储在存储设备中或通过网络等通讯媒介传输到解码器。
环路滤波器1045对重构的像素数据1017执行滤波或平滑操作以减少编解码的伪影,特别是在像素块的边界处。在一些实施例中,所执行的滤波操作包括样本自适应偏移(sample adaptive offset,简写为SAO)。在一些实施例中,滤波操作包括自适应环路滤波器(adaptive loop filter,简写为ALF)。
图11说明了视频编码器1000实现预编码处理模块1080的部分。如图所示,预编码处理模块1080包括处理器1110、目标图片缓冲器1105、参考缓冲器1120、运动补偿模块1130、MC结果缓冲器1140、双边滤波模块1150和滤波图片缓冲器1160。处理器1110被配置为接收和分析来自视频源1005的原始像素帧的原始视频流,以识别或解析视频流的某些参数,例如GOP大小。处理器1110还可识别每一帧是否包括NI子图片和SCI子图片。处理器1110可以进一步识别视频流中场景改变事件的位置(如果有的话)。处理器1110可以基于对原始视频数据的分析,确定MCTF滤波间隔以及要应用MCTF的多个目标图片。处理器1110可以将多个目标图片存储在目标图片缓冲器1105中。另外,处理器1110可以为每个目标图片确定要用于MCTF的一个或多个参考图片。处理器1110可以将每个目标图片的一个或多个参考图片存储在参考图片缓冲器1120中。
运动补偿模块1130被配置为访问参考图片缓冲器1120并且对参考图片执行运动估计(ME)和运动补偿(MC)操作,以产生用于目标图片的MC结果,如本文上文其他地方所述。在运动补偿模块1130执行ME和MC操作之前,运动补偿模块1130可以将每个目标图片和每个对应的参考图片划分为多个预测块。运动补偿模块1130可以包括整数运动估计(IME)内核1132,其被配置为执行整数像素搜索以找到用于参考图片中的预测块的最佳匹配块。运动补偿模块1130还可以包括分数运动估计(FME)内核1134,其被配置为执行分数像素搜索(例如,1/2像素搜索或1/4像素搜索),用于为参考图片中的预测块找到最佳匹配块。运动补偿模块1130可以通过涉及IME内核1132和/或FME内核1134来执行ME和MC操作。在一些实施例中,视频编码器1000可以共享或重用相同电路或硬件,该电路或硬件用作IME内核1132以及帧间预测模块1040内的IME内核。同样,视频编码器1000可以共享或重用用作FME内核1134以及帧间预测模块1040内的FME内核的相同电路或硬件。运动补偿模块1130产生的MC结果可以存储在MC结果缓冲器1140中。
双边滤波模块1150可以访问MC结果缓冲器1140并且相应地对MC结果执行逐像素双边滤波,从而为每个目标图片生成已滤波图片,如上文其他地方所述。生成的滤波图片可以存储在滤波图片缓冲器1160中。存储在参考图片缓冲器1120中的参考图片和存储在滤波图片缓冲器1160中的已滤波图片随后由视频编码器1000的其他模块编码到比特流1095中。
图12示出了示例视频解码器1200。如图所示,视频解码器1200是接收比特流1295并将比特流1295的内容解码为视频帧的像素数据以供显示的图像解码或视频解码电路。视频解码器1200具有用于解码比特流1295的若干组件或模块,包括选自逆量化模块1211、逆变换模块1210、帧内预测模块1225、运动补偿模块1230、环路滤波器1245、解码图片缓冲器1250、MV缓冲器1265、MV预测模块1275和解析器1290的一些组件。运动补偿模块1230是帧间预测模块1240的一部分。
在一些实施例中,模块1210-1290是由计算设备的一个或多个处理单元(例如,处理器)执行的软件指令模块。在一些实施例中,模块1210-1290是由电子设备的一个或多个IC实现的硬件电路模块。尽管模块1210-1290被示为单独的模块,但一些模块可以组合成单个模块。
解析器(例如,熵解码器)1290接收比特流1295并根据由视频编解码或图片编解码标准定义的语法执行初始解析。解析的句法元素包括各种头部元素、标志以及量化的数据(或量化的系数)1212。解析器1290通过使用熵编码技术解析出各种句法元素,例如上下文自适应二进制算术编解码(CABAC)或霍夫曼编码。
逆量化模块1211对量化的数据(或量化的系数)1212进行去量化以获得变换系数,并且逆变换模块1210对变换系数1216执行逆变换以产生重构的残差信号1219。重构的残差信号12112与来自帧内预测模块1225或运动补偿模块1230的预测的像素数据1213相加以产生解码的像素数据1217。解码像素数据由环路滤波器1245滤波并存储在解码图片缓冲器1250中。在一些实施例中,解码图片缓冲器1250是视频解码器1200外部的存储器。在一些实施例中,解码图片缓冲器1250是视频解码器1200内部的存储器。
帧内预测模块1225从比特流1295接收帧内预测数据,并且据此,从存储在解码图片缓冲器1250中的解码的像素数据1217产生预测的像素数据1213。在一些实施例中,解码的像素数据1217也被存储在行缓冲器(未示出)中,用于图片内预测和空间MV预测。
在一些实施例中,解码图片缓冲器1250的内容用于显示。显示设备1255或者撷取解码图片缓冲器1250的内容用于直接显示,或者撷取解码图片缓冲器的内容到显示缓冲器。在一些实施例中,显示设备通过像素传输从解码图片缓冲器1250接收像素值。
运动补偿模块1230根据运动补偿MV(MC MV)从解码图片缓冲器1250中存储的解码的像素数据1217产生预测的像素数据1213。通过将从比特流1295接收的残差运动数据与从MV预测模块1275接收的预测的MV相加来解码这些运动补偿MV。
MV预测模块1275基于为解码先前视频帧而生成的参考MV,例如用于执行运动补偿的运动补偿MV,生成预测的MV。MV预测模块1275从MV缓冲器1265中撷取先前视频帧的参考MV。视频解码器1200将为解码当前视频帧而生成的运动补偿MV存储在MV缓冲器1265中作为用于产生预测的MV的参考MV。
环路滤波器1245对解码的像素数据1217执行滤波或平滑操作以减少编解码的伪影,特别是在像素块的边界处。在一些实施例中,所执行的滤波操作包括样本自适应偏移(SAO)。在一些实施例中,滤波操作包括自适应环路滤波器(ALF)。
VII.过程说明
图13图示了根据本公开的实施方式的示例过程1300和1305。过程1300和过程1305可以各自代表实现上述各种提出的设计、概念、方案、系统和方法的一个方面。更具体地,过程1300和过程1305可以各自表示与根据本公开的视频流的预编码过程有关的提出的概念和方案的一个方面。过程1300和过程1305可以各自包括一个或多个操作、动作或功能,如块1310、1320、1330、1340、1350、1360、1370和1380中的一个或多个所示。取决于期望的实现,过程1300或过程1305可以被划分为额外的块、组合成更少的块或被消除。此外,过程1300和过程1305的块/子块可以按图13所示的顺序,或者以不同的顺序执行。此外,过程1300或过程1305的一个或多个块/子块可以重复或迭代地执行。过程1300和过程1305中的每一个都可以由装置1000及其任何变体实施或在装置1000中实施。仅出于说明性目的并且不限制范围,过程1300和过程1305在以下作为预编码处理单元1080的装置1000的上下文中被描述。过程1300可以开始于块1310。过程1305也可以开始于块1310。
在1310,过程1300和过程1305可以涉及装置1080的处理器1110接收具有以时间序列呈现(例如,记录或显示)的源图片的视频流。每个源图片可以与标识时间序列中源图片的时间位置的时间标识符(temporal identifier)(例如,POC值)相关联。处理器1110可以相应地确定滤波间隔(filtering interval),表示为每隔一定数量的帧重复,基于该滤波间隔应用MCTF。过程1300可以从1310进行到1320。过程1305也可以从1310进行到1320。
在1320,过程1300和过程1305可以涉及处理器1110基于滤波间隔确定或选择多个目标图片。每个目标图片是视频流的源图片。目标图片可以存储在目标图片缓冲器1105中。过程1300可以从1320进行到1330。过程1305可以从1320进行到1360。
在1330,过程1300可以涉及处理器1110分析存储在目标图片缓冲器1105中的目标图片,并且为每个目标图片寻找或以其他方式识别包含自然图像(NI)的区域和包含屏幕内容图像(SCI)的区域。在一些实施方式中,区域可以是一个或多个子图片。子图片可以是由多个相邻CTU组成的一个或多个切片或图块。过程1300可以从1330进行到1340。
在1340,过程1300可以涉及处理器1110识别视频流的GOP大小。过程1300可以从1340进行到1350。
在1350,过程1300可以涉及处理器识别视频流中场景改变的位置(如果有的话)。过程1300可以从1350进行到1360。
在1360,过程1300和过程1305可以涉及处理器1110为每个目标图片确定一个或多个参考图片。过程1300可以从1360进行到1370。过程1305也可以从1360进行到1370。
在一些实施方式中,在为每个目标图片确定一个或多个参考图片时,处理器1110可以根据目标图片的POC值是否为GOP的倍数,为不同的目标图片生成不同数量的参考图片。在POC值是GOP大小的倍数的情况下,处理器1110可以为目标图片确定更少的参考图片。在POC值不是GOP大小的倍数的情况下,处理器1110可以为目标图片确定更多参考图片。
在一些实施方式中,在目标图片的POC值是GOP大小的倍数的情况下,处理器1110可以确定目标图片的参考图片与目标图片相比仅包括过去的帧,即POC值小于目标图片的POC值的帧。即,只有在视频流的时间序列中具有比目标图片的时间位置更早的时间位置的帧可以是目标图片的参考图片。
在一些实施方式中,如果在视频的时间序列中紧接在目标图片之前存在场景改变,则处理器1110可以确定目标图片的参考图片仅包括与目标图片相比的未来帧,即POC值大于目标图片的POC值的帧。即,只有在视频流的时间序列中具有比目标图片的时间位置晚的时间位置的帧可以是目标图片的参考图片。
在一些实施方式中,如果在视频的时间序列中紧跟在目标图片之后存在场景改变,则处理器1110可以确定目标图片的参考图片仅包括与目标图片相比过去的帧,即POC值小于目标图片的POC值的帧。即,只有在视频流的时间序列中具有比目标图片的时间位置更早的时间位置的帧可以是目标图片的参考图片。
在一些实施方式中,处理器1110可以确定目标图片的参考图片,使得在目标图片和为目标图片确定的参考图片之间没有视频的场景改变事件发生。
在1370,过程1300和过程1305可以涉及装置1080为每个目标图片生成滤波的图片。滤波的图片的生成涉及装置1080使用对应于相应目标图片的参考图片来执行基于像素的滤波(例如,MCTF)。过程1300和过程1305还可以涉及装置1080将双边滤波模块1150生成的滤波的图片存储到滤波图片缓冲器1160中。过程1300可以从1370进行到1380。过程1305也可以从1370进行到1380。
在一些实施方式中,在生成已滤波图片时,装置1080仅对NI子图片而不对SCI子图片应用基于像素的滤波。也就是说,基于像素的滤波只适用于目标图片的NI子图片,而不适用于目标图片的任何SCI子图片。
在一些实施方式中,在生成每个已滤波图片时,装置1080对NI和SCI子图片两者应用基于像素的滤波。然而,装置1080为目标图片的NI子图片参考更多参考图片,但为SCI子图片参考更少参考图片。
在一些实施方式中,在生成滤波图片时,过程1300和过程1305可以涉及运动补偿模块1130将每个目标图片划分为多个预测块。预测块可以具有相同大小或不同大小。过程1300和过程1305还可以涉及运动补偿模块1130为每个预测块确定多个MC结果,其中每个MC结果是基于对应于目标图片的参考图片的相应参考图片确定的。过程1300和过程1305还可以涉及运动补偿模块1130对每个预测块的每个像素执行双边滤波,其中双边滤波的执行基于所确定的MC结果。
在一些实施方式中,预测块的每个MC结果包括最佳匹配块和损失值。最佳匹配块可以具有与相应预测块相同的宽度和高度。此外,损失值可以表示最佳匹配块和相应预测块之间的差异。此外,过程1300和过程1305可以涉及双边滤波模块1150通过针对预测块的每个像素基于最佳匹配块的对应像素值和MC的损失值计算加权和来执行双边滤波。
在一些实施方式中,在确定每个预测块的MC结果时,过程1300和过程1305可以涉及运动补偿模块1130基于相应的预测块和一张或多张参考图片执行整数像素搜索、分数像素搜索或两者。
在1380,过程1300和过程1305可以涉及视频编码器1000将视频编码到比特流1095中。具体地,视频编码器1000可以对由装置1080生成并且存储在滤波图片缓冲器1160中的滤波的图片进行编码。视频编码器1000还可将未被确定为目标图片的源图片也编码到比特流1095中。
图14图示了根据本公开的实施方式的示例过程1400。过程1400可以表示实现上述各种提出的设计、概念、方案、系统和方法的一个方面。更具体地,过程1400可以表示与根据本公开的视频流的预编码过程有关的提出的概念和方案的一个方面。过程1400可以包括如块1410、1420、1430、1440、1450、1460、1470和1480中的一个或多个所示的一个或多个操作、动作或功能。虽然被示为离散块,但过程1400的各个块可以是根据所需的实现,分为额外的块、组合成更少的块或消除。此外,过程1400的块/子块可以按图14所示的顺序,或者以不同的顺序执行。此外,可以重复或迭代地执行过程1400的一个或多个块/子块。过程1400可以由装置1080或其任何变体实施或在装置1080中实施。仅出于说明性目的并且在不限制范围的情况下,过程1400在以下作为预编码处理单元1080的装置1000的上下文中被描述。过程1400可以开始于块1410。
在1410,过程1400可以涉及装置1080的处理器1110确定每N帧的滤波间隔。过程1400可以从1410进行到1420。
在1420,过程1400可以涉及运动补偿模块1130从目标图片缓冲器1105撷取目标图片。过程1400可以从1420进行到1430。
在1430,过程1400可以涉及处理器1110确定目标图片是否是I帧。在目标图片是I帧的情况下,过程1400可以从1430进行到1440。在目标图片不是I帧的情况下,过程1400可以从1430进行到1450。
在1440,过程1400可以涉及装置1080对N个参考图片执行MCTF,其中N等于滤波间隔。过程1400可以从1440进行到1480。
在1450,过程1400可以涉及处理器1110确定目标图片是否是P帧。在目标图片是P帧的情况下,过程1400可以从1450进行到1460。在目标图片不是P帧的情况下,过程1400可以从1450进行到1470。
在1460,过程1400可以涉及装置1080用N/2个参考图片执行MCTF,其中N等于滤波间隔。过程1400可以从1460进行到1480。
在1470,过程1400可以涉及处理器1110将目标图片复制到滤波图片缓冲器1160以存储为其已滤波图片。
在1480,过程1400可以涉及处理器1110将已滤波图片存储到滤波图片缓冲器1160。
图15图示了根据本公开的实施方式的示例过程1500。过程1500可以表示实现上述各种提出的设计、概念、方案、系统和方法的一个方面。更具体地,过程1500可以表示与根据本公开的视频流的预编码过程有关的提出的概念和方案的一个方面。过程1500可以包括如块1510、1520、1530、1540、1550和1560中的一个或多个所示的一个或多个操作、动作或功能。虽然被示为离散的块,但是取决于所需的实现过程,1500的各个块可以被划分为附加的块,组合成更少的块,或消除。此外,过程1500的块/子块可以按图15所示的顺序,或者以不同的顺序执行。此外,可以重复或迭代地执行过程1500的一个或多个块/子块。过程1500可以由装置1080或其任何变体实施或在装置1080中实施。仅出于说明性目的并且不限制范围,过程1500在以下作为预编码处理单元1080的装置1000的上下文中被描述。过程1500可以开始于块1510。
在1510,过程1500可以涉及装置1080的处理器1110确定每N帧的滤波间隔。处理器1110可以进一步确定视频的GOP大小。过程1500可以从1510进行到1520。
在1520,过程1500可以涉及运动补偿模块1130从目标图片缓冲器1105中撷取目标图片。过程1500可以从1520进行到1530。
在1530,过程1500可以涉及处理器1110确定目标图片是否具有是GOP大小的倍数的POC值。在目标图片具有是GOP大小的倍数的POC值的情况下,过程1500可以从1530进行到1540。在目标图片具有不是GOP大小的倍数的POC值的情况下,过程1500可以从1530进行到1550。
在1540,过程1500可以涉及装置1080用N/2个参考图片执行MCTF,其中N等于滤波间隔。在一些实施例中,N/2个参考图片中的每一个具有小于目标图片的POC值。过程1500可以从1540进行到1560。
在1550,过程1500可以涉及装置1080用N个参考图片执行MCTF,其中N等于滤波间隔。在一些实施例中,N个参考图片的一半具有小于目标图片的POC值的POC值,而N个参考图片的另一半具有大于目标图片的POC值的POC值。过程1500可以从1550进行到1560。
在1560处,过程1500可以涉及处理器1110将已滤波图片存储到滤波图片缓冲器1160。
VIII.示例的电子系统
上述特征和应用中的许多被实现为被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的一组指令的软件过程。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器内核或其他处理单元)执行时,它们使处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、随机存取存储器(RAM)芯片、硬盘驱动器、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等。计算机可读介质不包括通过无线或有线连接传递的载波和电子信号。
在本说明书中,术语“软件”意在包括驻留在只读存储器中的固件或存储在磁存储器中的应用程序,其可以读入存储器以供处理器处理。此外,在一些实施例中,多个软件发明可以实现为更大程序的子部分,同时保留不同的软件发明。在一些实施例中,多个软件发明也可以实现为单独的程序。最后,共同实现此处描述的软件发明的单独程序的任何组合都在本公开的范围内。在一些实施例中,当安装软件程序以在一个或多个电子系统上运行时,定义一个或多个执行和执行软件程序的操作的特定机器实现。
图16概念性地示出了实现本公开的一些实施例的电子系统1600。电子系统1600可以是计算机(例如,台式计算机、个人计算机、平板计算机等)、电话、PDA或任何其他种类的电子设备。这种电子系统包括各种类型的计算机可读介质和用于各种其他类型的计算机可读介质的接口。电子系统1600包括总线1605、处理单元1610、图形处理单元(GPU)1615、系统存储器1620、网络1625、只读存储器1630、永久存储设备1635、输入设备1640和输出设备1645。
总线1605共同表示通信连接电子系统1600的众多内部设备的所有系统、外围设备和芯片组总线。例如,总线1605将处理单元1610与GPU 1615、只读存储器1630、系统存储器1620和永久存储设备1635可通信地连接。
从这些各种存储器单元中,处理单元1610撷取要执行的指令和要处理的数据,以便执行本公开的过程。在不同的实施例中,处理单元可以是单个处理器或多核处理器。一些指令被传递到GPU 1615并由其执行。GPU 1615可以卸载各种计算或补充由处理单元1610提供的图片处理。
只读存储器(ROM)1630存储由处理单元1610和电子系统的其他模块使用的静态数据和指令。另一方面,永久存储设备1635是读写存储设备。该设备是即使在电子系统1600关闭时也存储指令和数据的非易失性存储单元。本公开的一些实施例使用大容量存储设备(例如磁盘或光盘及其对应的磁盘驱动器)作为永久存储设备1635。
其他实施例使用可移动存储设备(例如软盘、闪存设备等,及其对应的磁盘驱动器)作为永久存储设备。与永久存储设备1635一样,系统存储器1620是读写存储器设备。然而,与存储设备1635不同,系统存储器1620是易失性读写存储器,例如随机存取存储器。系统存储器1620存储处理器在运行时使用的一些指令和数据。在一些实施例中,根据本公开的过程被存储在系统存储器1620、永久存储设备1635和/或只读存储器1630中。例如,各种存储器单元包括用于根据本公开的一些实施例处理多媒体剪辑的指令。从这些各种存储器单元中,处理单元1610撷取要执行的指令和要处理的数据,以便执行一些实施例的过程。
总线1605还连接到输入和输出设备1640和1645。输入设备1640使用户能够向电子系统传达信息和选择命令。输入设备1640包括字母数字键盘和定点设备(也称为“光标控制设备”)、照相机(例如网络摄像头)、麦克风或用于接收语音命令的类似设备等。输出设备1645显示由电子系统生成的图片或其他输出数据。输出设备1645包括打印机和显示设备,例如阴极射线管(CRT)或液晶显示器(LCD),以及扬声器或类似的音频输出设备。一些实施例包括用作输入和输出设备的设备,例如触摸屏。
最后,如图16所示,总线1605还通过网络适配器(未示出)将电子系统1600耦合到网络1625。以这种方式,计算机可以是计算机网络(例如局域网(“LAN”))、广域网(“WAN”)或内联网的一部分,或者是网络的网络。电子系统1600的任何或所有组件可以与本公开结合使用。
一些实施例包括将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读媒介)中的电子组件,例如微处理器、存储器和可读存储介质。这种计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字多功能光盘(例如,DVD-ROM,双层DVD-ROM)、各种可刻录/可重写DVD(例如,DVD-RAM,DVD-RW,DVD+RW等)、闪存(例如,SD卡,mini-SD卡、微型SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录Blu-
Figure BDA0003954150480000351
光盘、超密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可以存储可由至少一个处理单元执行并且包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括诸如由编译器产生的机器代码,以及包括由计算机、电子组件或使用解释器的微处理器执行的高级代码的文件。
虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但上述许多特征和应用由一个或多个集成电路执行,例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,这样的集成电路执行存储在电路本身上的指令。此外,一些实施例执行存储在可编程逻辑器件(PLD)、ROM或RAM器件中的软件。
如在本说明书和本申请的任何权利要求中使用的,术语“计算机”、“服务器”、“处理器”和“存储器”均指电子或其他技术设备。这些术语不包括人或人群。出于本说明书的目的,术语显示或显示是指在电子设备上显示。如在本说明书和本申请的任何权利要求中所使用的,术语“计算机可读介质”、“计算机可读媒介”和“机器可读介质”完全限于有形的物理对象,这些对象以可由电脑读取的形式存储信息。这些术语不包括任何无线信号、有线下载信号和任何其他转瞬即逝的信号。
尽管已经参考许多具体细节描述了本公开,但是本领域普通技术人员将认识到,本公开可以以其他特定形式实施而不背离本公开的精神。
文中描述的主题有时示出了包含在其它不同部件内的或与其它不同部件连接的不同部件。应当理解:这样描绘的架构仅仅是示例性的,并且,实际上可以实施实现相同功能的许多其它架构。在概念意义上,实现相同功能的部件的任何布置是有效地“相关联的”,以使得实现期望的功能。因此,文中被组合以获得特定功能的任意两个部件可以被视为彼此“相关联的”,以实现期望的功能,而不管架构或中间部件如何。类似地,这样相关联的任意两个部件还可以被视为彼此“可操作地连接的”或“可操作地耦接的”,以实现期望的功能,并且,能够这样相关联的任意两个部件还可以被视为彼此“操作上可耦接的”,以实现期望的功能。“操作上可耦接的”的具体示例包含但不限于:物理地可联结和/或物理地相互、作用的部件、和/或无线地可相互作用和/或无线地相互作用的部件、和/或逻辑地相互作用的和/或逻辑地可相互作用的部件。
此外,关于文中基本上任何复数和/或单数术语的使用,只要对于上下文和/或应用是合适的,本领域技术人员可以将复数变换成单数,和/或将单数变换成复数。
本领域技术人员将会理解,通常,文中所使用的术语,特别是在所附申请专利范围(例如,所附申请专利范围中的主体)中所使用的术语通常意在作为“开放性”术语(例如,术语“包含”应当被解释为“包含但不限干”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限干”等)。本领域技术人员还将理解,如果意在所介绍的申请专利范围陈述对象的具体数目,则这样的意图将会明确地陈述在权利要求书中,在缺乏这样的陈述的情况下,不存在这样的意图。例如,为了帮助理解,所附权利要求可以包含使用介绍性短语“至少一个”和“一个或更多个”来介绍权利要求陈述对象。然而,这样的短语的使用不应当被解释为:用不定冠词“一个(a或an)”的权利要求陈述对象的介绍将包含这样介绍的权利要求陈述对象的任何权利要求限制为只包含一个这样的陈述对象的发明,即使在同一权利要求包含介绍性短语“一个或更多个”或“至少一个”以及诸如“一个(a)”或“一个(an)”之类的不定冠词的情况下(例如,“一个(a)”和/或“一个(an)”应当通常被解释为意味着“至少一个”或“一个或更多个”)也如此;上述对以定冠词来介绍权利要求陈述对象的情况同样适用。另外,即使明确地陈述了介绍的权利要求陈述对象的具体数目,但本领域技术人员也会认识到:这样的陈述通常应当被解释为意味着至少所陈述的数目(例如,仅有“两个陈述对象”而没有其他修饰语的陈述通常意味着至少两个陈述对象,或两个或更多个陈述对象)。此外,在使用类似于“A、B和C中的至少一个等”的惯用语的情况下,通常这样的结构意在本领域技术人员所理解的该惯用语的含义(例如,“具有A、B和C中的至少一个的系统”将包含但不限于具有单独的A、单独的B、单独的C、A和B—起、A和C一起、B和C一起和/或A、B和C一起的系统等)。在使用类似于“A、B或C中的至少一个等”的惯用语的情况下,通常这样的结构意在本领域技术人员所理解的该惯用语的含义(例如,“具有A、B或C中的至少一个的系统”将包含但不限于具有单独的A、单独的B、单独的C、A和B—起、A和C一起、B和C一起和/或A、B和C一起的系统等)。本领域技术人员将进一歩理解,不管在说明书、权利要求书中还是在附图中,表示两个或更多个可替换的术语的几乎任意析取词和/或短语应当理解成考虑包含术语中的一个、术语中的任一个或所有两个术语的可能性。例如,短语“A或B”应当被理解成包含“A”、“B”、或“A和B”的可能性。
尽管已经在文中使用不同的方法、装置以及系统来描述和示出了一些示例性的技术,但是本领域技术人员应当理解的是:可以在不脱离所要求保护的主题的情况下进行各种其它修改以及进行等同物替换。此外,在不脱离文中描述的中心构思的情况下,可以进行许多修改以使特定的情况适应于所要求保护的主题的教导。因此,意在所要求保护的主题不限制于所公开的特定示例,而且这样的要求保护的主题还可以包含落在所附权利要求的范围内的所有实施及它们的等同物。

Claims (12)

1.一种视频处理方法,包括:
基于滤波间隔确定多个目标图片,该多个目标图片包括该视频的多个源图片的第一子集,该视频包括时间序列中的该多个源图片,该多个源图片中的每一个具有时间标识符,标识该时间序列中相应源图片的时间位置;
为该多个目标图片中的每一个确定一个或多个参考图片,该一个或多个参考图片中的每一个为该多个源图片的第二子集的源图片,其中该多个源图片的该第二子集包括不在该第一子集中的多个源图片;
生成多个已滤波图片,每个已滤波图片对应于该多个目标图片中的相应一个,并且通过基于对应于各个目标图片的该一个或多个参考图片执行基于像素的滤波来生成该多个已滤波图片;以及
使用该多个已滤波图片和该多个源图片的该第二子集将该视频编码成比特流。
2.如权利要求1所述的视频处理方法,其中:
该多个目标图片中的至少一个目标图片包括属于第一组的第一子图片和属于第二组的第二子图片,
为该至少一个目标图片生成对应的已滤波图片包括基于对应于该至少一个目标图片的该一个或多个参考图片的第一数量的参考图片对该第一子图片执行基于像素的滤波,
为该至少一个目标图片生成对应的已滤波图片还包括基于对应于该至少一个目标图片的该一个或多个参考图片的第二数量的参考图片对该第二子图片执行基于像素的滤波,以及
该第一数量与该第二数量不同。
3.如权利要求1所述的视频处理方法,其中:
该多个目标图片中的至少一个目标图片包括自然图像的第一子图片和屏幕内容图像的第二子图片,以及
为该至少一个目标图片生成对应的已滤波图片包括基于对应于该至少一个目标图片的该一个或多个参考图片对该第一子图片而不对该第二子图片执行基于像素的滤波。
4.如权利要求1所述的视频处理方法,其中:
该多个目标图片中的至少一个目标图片包括自然图像的第一子图片和屏幕内容图像的第二子图片,
为该至少一个目标图片生成对应的已滤波图片包括基于对应于该至少一个目标图片的该一个或多个参考图片的第一数量的参考图片对该第一子图片执行基于像素的滤波,
为该至少一个目标图片生成对应的已滤波图片还包括基于对应于该至少一个目标图片的该一个或多个参考图片的第二数量的参考图片对该第二子图片执行基于像素的滤波,以及
该第一数量大于该第二数量。
5.如权利要求1所述的视频处理方法,其中,执行基于像素的滤波包括:
将各个目标图片划分为多个预测块;
对于相应目标图片的每个预测块,确定多个运动补偿结果,每个运动补偿结果基于对应于该相应目标图片的该一个或多个参考图片中的相应一个;以及
对该多个预测块中的每一个的每个像素执行基于该多个运动补偿结果的双边滤波。
6.如权利要求5所述的视频处理方法,其中:
该多个运动补偿结果中的每一个包括最佳匹配块和损失值,该最佳匹配块具有与相应预测块相同的宽度和高度,该损失值表示该最佳匹配块和该相应预测块之间的差异,以及
双边滤波的执行包括针对该预测块的每个像素,基于该多个运动补偿结果中的每一个的该最佳匹配块的对应像素值和该损失值计算加权和。
7.如权利要求5所述的视频处理方法,其中确定该多个运动补偿结果包括基于该相应预测块和该一个或多个参考图片执行整数像素搜索、分数像素搜索或两者。
8.如权利要求1所述的视频处理方法,还包括:
确定该视频的图片组大小,
其中:
该多个目标图片包括多个第一类目标图片和多个第二类目标图片,每个该第一类目标图片具有对应的时间标识符,该时间标识符是该图片组大小的倍数,每个该第二类目标图片具有对应的时间标识符,该时间标识符并非该图片组大小的倍数,
该一个或多个参考图片的确定包括为每个该第一类目标图片指定来自该第二子集的第一数量的源图片,
该一个或多个参考图片的确定还包括为每个该第二类目标图片指定来自该第二子集的第二数量的源图片,以及
该第一数量小于该第二数量。
9.如权利要求1所述的视频处理方法,还包括:
确定该视频的图片组大小,
其中:
该多个目标图片包括多个第一类目标图片和多个第二类目标图片,每个该第一类目标图片具有对应的时间标识符,该时间标识符是该图片组大小的倍数,每个该第二类目标图片具有对应的时间标识符,该时间标识符并非该图片组大小的倍数,以及
对于每个该第一类目标图片,对应的该一个或多个参考图片仅包括在该时间序列中具有比相应的该第一类目标图片的时间位置更早的时间位置的一个或多个源图片。
10.如权利要求1所述的视频处理方法,其中:
该多个目标图片包括特殊目标图片,其中在该时间序列中紧接在该特殊目标图片之前引入场景变化,以及
对应于该特殊目标图片的该一张或多张参考图片仅包括在该时间序列中比该特殊目标图片的时间位置晚的时间位置的一个或多个源图片。
11.如权利要求1所述的视频处理方法,其中,该视频在该多个目标图片中的每一个与针对该相应目标图片确定的该一个或多个参考图片之间的该时间序列中不包括场景改变。
12.一种视频处理装置,包括:
处理器,被配置为接收包括在时间序列中的多个源图片的视频,该多个源图片中的每一个具有标识该时间序列中相应源图片的时间位置的时间标识符;
目标图片缓冲器,被配置为存储由该处理器基于滤波间隔确定的多个目标图片,该多个目标图片包括该多个源图片的第一子集;
参考图片缓冲器,其被配置为针对该多个目标图片中的每一个存储由该处理器确定的一个或多个参考图片,该一个或多个参考图片中的每一个是该多个源图片的第二子集的源图片,其中,该多个源图片的该第二子集包括不在该第一子集中的该多个源图片;
运动补偿模块,被配置为通过基于对应于相应目标图片的该一个或多个参考图片对该多个目标图片中的该相应目标图片执行基于像素的滤波来生成多个已滤波图片,该多个已滤波图片中的每一个由该运动补偿模块生成;以及
视频编码器,被配置为将该多个已滤波图片和该多个源图片的该第二子集编码成表示该视频的比特流。
CN202211457059.4A 2021-11-23 2022-11-16 视频处理方法和视频处理装置 Pending CN116437083A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163282210P 2021-11-23 2021-11-23
US63/282,210 2021-11-23
US17/892,933 2022-08-22
US17/892,933 US11973985B2 (en) 2021-11-23 2022-08-22 Video encoder with motion compensated temporal filtering

Publications (1)

Publication Number Publication Date
CN116437083A true CN116437083A (zh) 2023-07-14

Family

ID=86383496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211457059.4A Pending CN116437083A (zh) 2021-11-23 2022-11-16 视频处理方法和视频处理装置

Country Status (3)

Country Link
US (1) US11973985B2 (zh)
CN (1) CN116437083A (zh)
TW (1) TW202322630A (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7042946B2 (en) * 2002-04-29 2006-05-09 Koninklijke Philips Electronics N.V. Wavelet based coding using motion compensated filtering based on both single and multiple reference frames
US7728877B2 (en) * 2004-12-17 2010-06-01 Mitsubishi Electric Research Laboratories, Inc. Method and system for synthesizing multiview videos
KR100746006B1 (ko) * 2005-07-19 2007-08-06 삼성전자주식회사 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치
SG130962A1 (en) * 2005-09-16 2007-04-26 St Microelectronics Asia A method and system for adaptive pre-filtering for digital video signals
US8750390B2 (en) * 2008-01-10 2014-06-10 Microsoft Corporation Filtering and dithering as pre-processing before encoding
US8160132B2 (en) * 2008-02-15 2012-04-17 Microsoft Corporation Reducing key picture popping effects in video
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
TWI538487B (zh) * 2013-12-05 2016-06-11 財團法人工業技術研究院 螢幕視訊之預測編碼的方法與系統
US11223832B2 (en) * 2014-07-24 2022-01-11 Qualcomm Incorporated Methods and apparatus for encoding video data using block palettes and sub-block and pixel scanning orders
US20190082178A1 (en) * 2016-03-30 2019-03-14 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video using picture division information
ES2853700T3 (es) * 2016-04-15 2021-09-17 Magic Pony Tech Limited Compensación de movimiento utilizando interpolación de imagen temporal
US10448014B2 (en) * 2017-05-23 2019-10-15 Intel Corporation Content adaptive motion compensated temporal filtering for denoising of noisy video for efficient coding
US20190082176A1 (en) * 2017-09-11 2019-03-14 Qualcomm Incorporated Non-local bilateral filter
US11736687B2 (en) * 2017-09-26 2023-08-22 Qualcomm Incorporated Adaptive GOP structure with future reference frame in random access configuration for video coding

Also Published As

Publication number Publication date
US11973985B2 (en) 2024-04-30
US20230164358A1 (en) 2023-05-25
TW202322630A (zh) 2023-06-01

Similar Documents

Publication Publication Date Title
USRE49727E1 (en) System and method for decoding using parallel processing
US9872018B2 (en) Random access point (RAP) formation using intra refreshing technique in video coding
KR101775936B1 (ko) 비디오 코딩 방법 및 장치
US8218641B2 (en) Picture encoding using same-picture reference for pixel reconstruction
US11792427B2 (en) Method for encoding and/or decoding images on macroblock level using intra-prediction
US20090010337A1 (en) Picture decoding using same-picture reference for pixel reconstruction
KR20200128138A (ko) 비디오 코딩을 위한 방법 및 장치
CA2797569C (en) Method and device for video predictive encoding
US10178390B2 (en) Advanced picture quality oriented rate control for low-latency streaming applications
KR20110071231A (ko) 부호화 방법, 복호화 방법 및 장치
GB2487200A (en) Video encoding and decoding with improved error resilience
JP2009544225A (ja) ビデオ圧縮用並列処理装置
GB2492778A (en) Motion compensated image coding by combining motion information predictors
US8594189B1 (en) Apparatus and method for coding video using consistent regions and resolution scaling
US11212536B2 (en) Negative region-of-interest video coding
EP4037320A1 (en) Boundary extension for video coding
KR101375667B1 (ko) 영상의 부호화, 복호화 방법 및 장치
US20180227592A1 (en) Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program
USRE47004E1 (en) Moving image coding device and method
US11973985B2 (en) Video encoder with motion compensated temporal filtering
KR102171119B1 (ko) 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
US20230199171A1 (en) Search Memory Management For Video Coding
US20100111181A1 (en) Video processing apparatus and methods
JP2014230031A (ja) 画像符号化装置、及び画像符号化プログラム
TWI834269B (zh) 視訊處理方法及裝置

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