CN110915214B - 用于运动向量推导的基于部分重构建的模板匹配 - Google Patents

用于运动向量推导的基于部分重构建的模板匹配 Download PDF

Info

Publication number
CN110915214B
CN110915214B CN201880043942.4A CN201880043942A CN110915214B CN 110915214 B CN110915214 B CN 110915214B CN 201880043942 A CN201880043942 A CN 201880043942A CN 110915214 B CN110915214 B CN 110915214B
Authority
CN
China
Prior art keywords
block
neighboring
template
current
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880043942.4A
Other languages
English (en)
Other versions
CN110915214A (zh
Inventor
李翔
谢成郑
陈建乐
张凯
庄孝强
M·卡切维奇
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN110915214A publication Critical patent/CN110915214A/zh
Application granted granted Critical
Publication of CN110915214B publication Critical patent/CN110915214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/583Motion compensation with overlapping blocks
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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

Landscapes

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

Abstract

一种解码视频数据的方法包含通过视频解码器确定当前帧中的相邻块经帧间译码。所述方法包含响应于确定所述相邻块经帧间译码,通过所述视频解码器基于所述相邻块的部分重构建确定用于所述当前帧中的当前块的模板。所述方法包含通过所述视频解码器确定参考帧中的对应于用于所述当前块的所述模板的参考块,及通过所述视频解码器基于所述参考块及所述模板确定所述当前帧的运动向量信息。所述方法包含通过所述视频解码器基于所述运动向量信息产生视频数据的所述当前块的预测性块,及通过所述视频解码器基于所述预测性块解码视频数据的所述当前块。

Description

用于运动向量推导的基于部分重构建的模板匹配
本申请案要求保护2017年7月5日申请的美国临时专利申请案第62/528,918号的权益,所述申请案的全部内容特此以引用的方式并入。
技术领域
本发明涉及视频编码及解码。
背景技术
数字视频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台主控台、蜂窝或卫星无线电电话(所谓的“智能电话”)、视频电传话会议装置、视频流式发射装置及其类似者。数字视频装置实施视频译码技术,诸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、高级视频译码(AVC)第10部分、ITU-T H.265、高效率视频译码(HEVC)所界定的标准及这些标准的延展中所描述的那些技术。视频装置可通过实施此类视频译码技术来更有效地发射、接收、编码、解码及/或存储数字视频信息。
视频译码技术包含空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的一部分)分割成视频块(其也可被称作树块)、译码单元(CU)及/或译码节点。可使用相对于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(I)切片中的视频块。图片的经帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测导致用于待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据予以编码。经帧内译码块是根据帧内译码模式及残余数据编码。为了进一步压缩,可将残余数据从像素域变换至变换域,从而导致可接着进行量化的残余变换系数。可扫描最初布置成二维阵列的经量化变换系数以便产生变换系数的一维向量,且可应用熵译码以实现甚至较多压缩。
发明内容
大体来说,本发明描述关于解码器侧运动向量推导(DMVD)的技术。本发明的这些技术可应用于现有视频编解码器中的任一者(诸如HEVC(高效视频译码)),及/或可为任何未来视频译码标准中的一高效译码工具。更特定来说,本发明描述技术与使用相邻块的一部分重构建应用模板匹配相关。
在一个实例中,一种解码视频数据的方法包含:通过实施于处理电路系统中的视频解码器确定当前帧中的相邻块经帧间译码;响应于确定所述相邻块经帧间译码,通过所述视频解码器基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板;通过所述视频解码器确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;通过所述视频解码器基于所述参考块及所述模板确定所述当前帧的运动向量信息;通过所述视频解码器基于所述运动向量信息产生视频数据的所述当前块的预测性块;及通过所述视频解码器基于所述预测性块解码视频数据的所述当前块。
在另一实例中,一种用于解码视频数据的装置包含经配置以存储所述视频数据的存储器及一或多个处理器。所述一或多个处理器经配置以:确定当前帧中的相邻块经帧间译码;响应于确定所述相邻块经帧间译码,基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板;确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;基于所述参考块及所述模板确定所述当前帧的运动向量信息;基于所述运动向量信息产生视频数据的所述当前块的预测性块;及基于所述预测性块解码视频数据的所述当前块。
在另一实例中,一种非暂时性计算机可读计算机可读媒体经配置有一或多个指令,所述指令在经执行时使得一或多个处理器:确定当前帧中的相邻块经帧间译码;响应于确定所述相邻块经帧间译码,基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板;确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;基于所述参考块及所述模板确定所述当前帧的运动向量信息;基于所述运动向量信息产生视频数据的所述当前块的预测性块;及基于所述预测性块解码视频数据的所述当前块。
在另一实例中,一种装置包括用于确定当前帧中的相邻块经帧间译码的装置;用于响应于确定所述相邻块经帧间译码,基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板的装置;用于确定参考帧中的对应于用于所述当前块的所述模板的参考块的装置,其中所述参考帧不同于所述当前帧;用于基于所述参考块及所述模板确定所述当前帧的运动向量信息的装置;用于基于所述运动向量信息产生视频数据的所述当前块的预测性块的装置;及用于基于所述预测性块解码视频数据的所述当前块的装置。
在另一实例中,一种编码视频数据的方法包含:通过实施于处理电路系统中的视频编码器确定当前帧中的相邻块经帧间译码;响应于确定所述相邻块经帧间译码,通过所述视频编码器基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板;通过所述视频编码器确定参考帧中的对应于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;通过所述视频编码器基于所述参考块及所述模板确定所述当前帧的运动向量信息;通过所述视频编码器基于所述运动向量信息产生视频数据的所述当前块的预测性块;及通过所述视频编码器基于所述预测性块产生视频数据的所述当前块的残余样本值。
在另一实例中,一种用于编码视频数据的装置包含经配置以存储所述视频数据的存储器及一或多个处理器。所述一或多个处理器经配置以:确定当前帧中的相邻块经帧间译码;响应于确定所述相邻块经帧间译码,基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板;确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;基于所述参考块及所述模板确定所述当前帧的运动向量信息;基于所述运动向量信息产生视频数据的所述当前块的预测性块;及基于所述预测性块产生视频数据的所述当前块的残余样本值。
在另一实例中,一种非暂时性计算机可读计算机可读媒体经配置有一或多个指令,所述指令在经执行时使得一或多个处理器:确定当前帧中的相邻块经帧间译码;响应于确定所述相邻块经帧间译码,基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板;确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;基于所述参考块及所述模板确定所述当前帧的运动向量信息;基于所述运动向量信息产生视频数据的所述当前块的预测性块;及基于所述预测性块产生视频数据的所述当前块的残余样本值。
在另一实例中,一种装置包含用于确定当前帧中的相邻块经帧间译码的装置;用于响应于确定所述相邻块经帧间译码,基于所述相邻块的一部分重构建确定用于所述当前帧中的当前块的模板的装置;用于确定参考帧中的对应于用于所述当前块的所述模板的参考块的装置,其中所述参考帧不同于所述当前帧;用于基于所述参考块及所述模板确定所述当前帧的运动向量信息的装置;用于基于所述运动向量信息产生视频数据的所述当前块的预测性块的装置;及用于基于所述预测性块产生视频数据的所述当前块的残余样本值的装置。
在随附图式及以下描述中阐述本发明的一或多个方面的细节。本发明中所描述的技术的其它特征、目标及优点将从描述、图式及权利要求书显而易见。
附图说明
图1为绘示可利用使用相邻块的部分重构建的模板匹配技术的实例视频编码及解码系统的框图。
图2为将单边运动估计(ME)的实例绘示为经执行用于运动补偿的帧速率向上转换(MC-FRUC)的块匹配算法(BMA)的概念图。
图3为将双边ME的实例绘示为经执行用于MC-FRUC的BMA的概念图。
图4A为绘示用于合并模式的空间相邻运动向量(MV)候选者的概念图。
图4B为绘示用于AMVP模式的空间相邻MV候选者的概念图。
图5A为绘示时间运动向量预测子(TMVP)候选者的实例的概念图。
图5B为绘示MV按比例调整的实例的概念图。
图6为绘示光学流轨迹的实例的概念图。
图7为绘示8×4块的双向光学流(BIO)的实例的概念图。
图8为绘示8×4块的经修改BIO的实例的概念图。
图9A至图9B为绘示应用有重叠块运动补偿(OBMC)的子块的实例绘示的概念图。
图10A至图10D为绘示OBMC加权的实例的概念图。
图11A为绘示双边匹配的实例的概念图。
图11B为绘示双边匹配的另一实例的概念图。
图12为绘示模板匹配的实例的概念图。
图13为绘示模板匹配(TM)MV推导及帧间预测的框图。
图14为绘示TM MV推导及帧间预测管线处理的时序图。
图15为绘示使用本文中所描述的一或多种技术的TM MV推导及帧间预测的流程图。
图16为绘示使用本文中所描述的一或多种技术的TM MV推导及帧间预测的时序图。
图17为绘示实例部分重构建的概念图。
图18为绘示视频编码器的实例的框图。
图19为绘示可实施用于双向光学流的技术的视频解码器的实例的框图。
图20为绘示根据本发明中所描述的一或多个技术解码视频数据的实例方法的流程图。
图21为绘示根据本发明中所描述的一或多个技术编码视频数据的实例方法的流程图。
具体实施方式
大体来说,本发明的技术涉及用于视频译码的帧间预测及运动向量推导。更确切地说,本发明的技术涉及基于运动向量推导的模板匹配。本发明的技术可单独地或以任何组合应用于现有视频编解码器中的任一者,诸如HEVC(高效视频译码),或为任何未来视频译码标准中的高效译码工具。
一些视频译码器(例如,视频解码器、视频编码器等)应用使用相邻块的完全重构建的模板匹配。举例来说,视频解码器可推导相邻块的运动向量信息;使用相邻块的所述运动向量信息及残余样本值(例如,残余)产生用于相邻块的样本;及将双向光学流(BIO)及重叠块运动补偿(OBMC)技术应用于所述样本以产生相邻块的完全重构建。在此实例中,在产生相邻块的完全重构建之后,这些视频译码器可开始使用相邻块的完全重构建将模板匹配应用于当前块。
本文中的技术描述经配置以使用相邻块的部分重构建应用模板匹配以译码(例如,解码、编码等)视频数据的当前块的视频译码器(例如,视频解码器、视频编码器等),而不必要等待产生相邻块的完全重构建。如本文所使用,相邻块的部分重构建可指在已启动及/或完成进一步处理步骤(例如,BIO、OBMC等)以产生相邻块的完全重构建之前的相邻块的重构建。这些进一步处理步骤可(例如)在一或多个预测块定位于参考图片中之后但在应用任何类别回路滤波之前。在一些实例中,相邻块的部分重构建可指示不同于相邻块的完全重构建的像素值。举例来说,视频解码器可推导相邻块的运动向量信息,且使用运动向量信息(及相邻块的残余样本值)产生相邻块的部分重构建。在此实例中,与将BIO及OBMC技术应用于用于相邻块的样本并行或在其之前,视频解码器使用相邻块的部分重构建将模板匹配应用于当前块。以此方式,视频解码器可在应用模板匹配技术时移除启动视频数据的块的重构建过程中的非所要延迟,其可减少通过视频译码器的功率使用。
图1为绘示可利用使用相邻块的部分重构建的模板匹配技术的实例视频编码及解码系统10的框图。如图1中所示,系统10包含提供稍后将由目的地装置14解码的经编码视频数据的源装置12。确切地说,源装置12经由计算机可读媒体16将视频数据提供至目的地装置14。源装置12及目的地装置14可包含广泛范围的装置中的任一者,包含台式计算机、笔记型计算机(即,膝上型计算机)、平板计算机、机顶盒、诸如所谓的“智能”电话的电话手持机、所谓的“智能”平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式发射装置或类似者。在一些状况下,源装置12与目的地装置14可经装备以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包含能够将经编码视频数据从源装置12移动至目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包含使得源装置12能够实时地将经编码视频数据直接发射至目的地装置14的通信媒体。可根据通信标准(诸如,无线通信协议)调制经编码的视频数据,且将经编码的视频数据发射至目的地装置14。通信媒体可包含任何无线或有线通信媒体,诸如射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(诸如,局域网、广域网或诸如因特网的全域网络)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12至目的地装置14的通信的任何其它设备。
在一些实例中,可从输出接口22将经编码数据输出至存储装置。类似地,可通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,诸如,硬盘驱动器、蓝光盘片、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在再一实例中,存储装置可对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式发射或下载从存储装置存取存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射至目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码的视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或适合于存取存储于文件服务器上的经编码视频数据的两者的组合。从存储装置的经编码视频数据的发射可为流式发射、下载发射或其组合。
本发明的技术不必限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,诸如,空中电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(诸如,经由HTTP动态自适应流式发射(DASH))、经编码至数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射从而支持诸如视频流式发射、视频播放、视频广播及/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于双向光学流的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(诸如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成显示装置。
图1的所绘示系统10仅是一个实例。可通过任何数字视频编码及/或解码装置来执行用于双向光学流的技术。尽管本发明的技术一般由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术也可由视频预处理器执行。源装置12及目的地装置14仅仅为其中源装置12产生经译码视频数据以供用于发射至目的地装置14的这些译码装置的实例。在一些实例中,装置12、14可以基本上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式发射、视频播放、视频广播或视频电话。
源装置12的视频源18可包含视频捕捉装置,诸如视频相机、含有先前捕捉的视频的视频存档及/或用以自视频内容提供者接收视频的视频馈送接口。作为另一替代,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频及计算机产生的视频的组合。在一些状况下,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明所描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一状况下,经捕捉、经预先捕捉或计算机产生的视频可由视频编码器20编码。经编码视频信息可接着由输出接口22输出至计算机可读媒体16上。
计算机可读媒体16可包含暂时性媒体,诸如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),诸如硬盘、快闪驱动器、光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(图中未示)可从源装置12接收经编码视频数据,且(例如)经由网络发射将经编码视频数据提供至目的地装置14。类似地,诸如光盘冲压设施的媒体生产设施的计算装置可从源装置12接收经编码视频数据且产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义、也由视频解码器30使用的语法信息,所述语法信息包含描述视频数据的特性及/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
视频编码器20及视频解码器30可根据视频译码标准操作,诸如HEVC,其也被称作ITU-T H.265。替代地,视频编码器20及视频解码器30可根据其它专属或行业标准(诸如ITU-T H.264标准,替代地被称作MPEG-4,第10部分,高级视频译码(AVC))或这些标准的延展而操作。然而,本发明的技术受限于不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2及ITU-T H.263。尽管未展示于图1中,但一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当MUX-DEMUX单元或其它硬件及软件以处置共同数据流或单独数据流中的音频及视频两者的编码。若适用,则多路复用器-多路分用器(MUX-DEMUX)单元可遵照ITU H.223多工器协议或诸如用户数据报协议(UDP)的其它协议。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也称作ISO/IECMPEG-4AVC),包含其可调式视频译码(SVC)及多视图视频译码(MVC)延展。
另外,最近已通过ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)以及3D视频译码延展研发联合协作小组(JCT-3V)开发新的视频译码标准(即,高效视频译码(HEVC)或ITU-T H.265),其可包含G.J.Sullivan、J.-R.Ohm、W.-J.Han、T.Wiegand在2012年12月视频技术电路与系统IEEE汇刊第22卷第12期第1649-1668页的“高效视频译码(HEVC)标准的概述(Overview of the High EfficiencyVideo Coding(HEVC)Standard)”中所描述的一或多种技术,包含其范围延展、多视图延展(MV-HEVC)及可调式延展(SHVC)。
最新HEVC规范--在下文中被称作HEVC V4(12/2016)--可自http://handle.itu.int/11.1002/1000/12905获得。ITU-T VCEG(Q6/16)及ISO/IEC MPEG(JTC1/SC29/WG 11)现正研究对于将具有显著超过当前HEVC标准(包含其当前延展及针对屏幕内容译码及高动态范围译码的近期延展)的压缩能力的未来视频译码技术标准化的潜在需要。所述群组正共同致力于联合合作工作(被称为联合视频探索小组(JVET))中的此探索活动,以评估由此领域中的专家提议的压缩技术设计。JVET在2015年10月19日至21日期间第一次会面。且参考软件的最新版本,即联合探索模型6(JEM-6)可自https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-6.0/下载。联合探索测试模型6(JEM-6)的算法描述可通过J.Chen、E.Alshina、G.J.Sullivan、J.-R.Ohm、J.Boyce在2017年4月的“联合开发测试模型6(JEM6)的算法描述(Algorithm descriptionof Joint Exploration Test Model 6(JEM6))”JVET-F1001参考。
如本发明中所使用,术语视频译码一般指视频编码或视频解码。类似地,术语视频译码器可一般指代视频编码器或视频解码器。此外,本发明中关于视频解码所描述的某些技术也可应用于视频编码,且反的也然。举例来说,视频编码器及视频解码器时常经配置以执行相同过程或互逆过程。又,作为确定如何编码视频数据的过程的部分,视频编码器通常执行视频解码。
在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称为“帧”。图片可包含三个样本阵列,指示为SL、SCb及SCr。SL为明度样本的二维阵列(即,块)。SCb为Cb色度样本的二维阵列。SCr为Cr色度样本的二维阵列。色度样本也可在本文中被称作“色度(chroma)”样本。在其它情况下,图片可为单色的,且可仅包含明度样本阵列。
为了产生图片的经编码表示,视频编码器20可产生译码树单元(CTU)的集合。所述CTU中的每一者可包含明度样本的译码树块(CTB)、色度样本的两个对应译码树块,及用于对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包含单一译码树块及用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的N×N块。CTU也可被称作“树块”或“最大译码单元”(LCU)。HEVC的CTU可广泛地类似于诸如H.264/AVC的其它标准的宏块。然而,CTU未必限于特定大小,且可包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续地定序的整数数目个CTU。
CTB含有四元树,所述四元树的节点为译码单元。CTB的大小可介于HEVC主规范中的16×16至64×64的范围(尽管技术上可支持8×8CTB大小)。CU可与CTB具有相同大小,但且小如8×8。每一译码单元使用一个模式译码。当CU经帧间译码时,CU可进一步分割成2个或4个预测单元(PU)或当不应用另一分割时变为仅一个PU。当一个CU中存在两个PU时,其可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。
为产生经译码CTU,视频编码器20可对CTU的译码树块递回地执行四元树分割,以将译码树块划分成译码块,之后命名为“译码树单元”。译码块可为样本的N×N块。CU可包含具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块及色度样本的两个对应译码块,及用于对所述译码块的样本进行译码的语法结构。在单色图片或具有三个单独色彩平面的图片中,CU可包含单个译码块及用于对所述译码块的样本进行译码的语法结构。
视频编码器20可将CU的译码块分割成一或多个预测块。预测块为供应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包含明度样本的预测块、色度样本的两个对应预测块及用以对所述预测块进行预测的语法结构。在单色图片或具有三个单独色彩平面的图片中,PU可包含单一预测块及用于对所述预测块进行预测的语法结构。视频编码器20可针对CU的每一PU的明度预测块、Cb预测块及Cr预测块产生预测性明度块、预测性Cb块及预测性Cr块。
视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。若视频编码器20使用帧内预测产生PU的预测性块,则视频编码器20可基于与PU相关联的图片的经解码样本产生PU的预测性块。如果视频编码器20使用帧间预测以产生PU的预测性块,那么视频编码器20可基于不同于与PU相关联的图片的一或多个图片的经解码样本,产生PU的预测性块。当CU经帧间译码时,可针对每一PU提供运动信息的一个集合。另外,每一PU可用唯一帧间预测模式来译码以推导运动信息集合。
在视频编码器20产生CU的一或多个PU的预测性明度块、预测性Cb块及预测性Cr块之后,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每一样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中的对应样本之间的差异。另外,视频编码器20可产生用于CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的预测性Cb块中的中一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差异。视频编码器20也可产生CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块的中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。
此外,视频编码器20可使用四元树分割以将CU的明度残余块、Cb残余块及Cr残余块分解为一或多个明度变换块、Cb变换块及Cr变换块。变换块为应用相同变换的样本的矩形(即,正方形或非正方形)块。CU的变换单元(TU)可包含明度样本的一变换块、色度样本的两个对应变换块及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可与明度变换块、Cb变换块及Cr变换块相关联。与TU相关联的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独色彩平面的图片中,TU可包含单个变换块及用以对所述变换块的样本进行变换的语法结构。
视频编码器20可将一或多个变换应用于TU的明度变换块以产生TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为纯量。视频编码器20可将一或多个变换应用至TU的Cb变换块,以产生TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块,以产生TU的Cr系数块。
在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可将系数块量化。量化大体上是指将变换系数量化以可能地减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文适应性二进制算术译码(CABAC)。
视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。位流可包含网络抽象层(NAL)单元的序列。NAL单元为含有NAL单元中的数据的类型的指示及含有所述数据的呈按需要穿插有仿真阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头,且封装RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。通过NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封PPS的RBSP,第二类型的NAL单元可囊封经译码切片的RBSP,第三类型的NAL单元可囊封补充增强信息(SEI)消息的RBSP等等。封装视频译码数据的RBSP(与参数集合及SEI消息的RBSP相对)的NAL单元可被称作视频译码层(VCL)NAL单元。
视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以从所述位流获得语法元素。视频解码器30可至少部分基于从位流获得的语法元素而重构建视频数据的图片。重构建视频数据的过程可与由视频编码器20执行的过程大体上互逆。另外,视频解码器30可反量化与当前CU的TU相关联的系数块。视频解码器30可对系数块执行反变换以重构建与当前CU的TU相关联的变换块。视频解码器30可通过将当前CU的PU的预测性块的样本添加至当前CU的TU的变换块的对应样本来重构建当前CU的译码块。通过重构建图片的每一CU的译码块,视频解码器30可重构建图片。
根据本发明的技术,视频编码器20及/或视频解码器30可在运动补偿期间进一步执行模板匹配(及BIO技术),如下文更详细地论述。
视频编码器20及视频解码器30各自可经实施为可适用的多种合适编码器或解码器电路系统中的任一者,诸如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路系统、软件、硬件、固件或其任何组合。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可经集成为组合式视频编码器/解码器(编解码器)的部分。包含视频编码器20及/或视频解码器30的装置可包含集成电路、微处理器及/或无线通信装置(诸如蜂窝电话)。
图2为将单边运动估计(ME)的实例绘示为经执行用于运动补偿的帧速率向上转换(MC-FRUC)的块匹配算法(BMA)的概念图。一般来说,视频译码器(诸如视频编码器20或视频解码器30)通过搜索当前帧100的当前块106的来自参考帧102的最佳匹配块(例如,参考块108)而执行单边ME以获得运动向量(MV),诸如MV 112。随后,视频译码器沿着运动向量112的运动轨迹在经内插帧104中内插经内插块110。即,在图2的实例中,运动向量112通过当前块106、参考块108及经内插块110的中点。
如图2中所示,沿循运动轨迹会涉及三个帧中的三个块。尽管当前帧100中的当前块106属于经译码块,但参考帧102中的最佳匹配块(即,参考块108)无需全部属于经译码块(即,最佳匹配块可能并不落在经译码块边界上,而实际上可与此边界重叠)。同样,经内插帧104中的经内插块110无需全部属于经译码块。因此,块与未填充(孔)区域的重叠区域可出现于经内插帧104中。
为处置重叠,简单FRUC算法仅涉及平均化及覆写经重叠像素。此外,孔可通过来自参考或当前帧的像素值覆盖。然而,这些算法可导致块伪影及模糊。因此,运动场分段、使用离散哈特莱(Hartley)变换的连续外插及图像修复可用以处置孔及重叠而不增加块伪影及模糊。
图3为将双边ME的实例绘示为经执行用于MC-FRUC的BMA的概念图。双边ME为可用以避免由重叠及孔引起的问题的另一解决方案(在MC-FRUC中)。执行双边ME的视频译码器(诸如视频编码器20及/或视频解码器30)使用当前帧120的当前块126与参考帧122的参考块128之间的时间对称性获得通过经内插帧124(其在当前帧120与参考帧122中间)的经内插块130的MV 132、134。因此,视频译码器不产生经内插帧124中的重叠及孔。由于假定当前块126为视频译码器以某一次序处理的块(例如,如同在视频译码的状况中),因此,这些块的序列将在无重叠的情况下覆盖整个中间图片。举例来说,在视频译码的状况下,可以解码次序处理块。因此,如果可在视频译码构架中考虑FRUC想法,那么此方法可更合适。
2009年,图像信号处理国际大会(CISP),S.-F.Tu、O.C.Au、Y.Wu、E.Luo及C.-H.Yeun的“预测性可变块大小运动估计的光流进行帧速率向上转换的新颖框架(A NovelFramework for Frame Rate Up Conversion by Predictive Variable Block-SizeMotion Estimated Optical Flow)”描述用于帧速率向上转换的混合块级别运动估计及像素级别光学流方法。
在HEVC标准中,对于PU分别存在两个帧间预测模式,分别命名为合并(其中跳过模式被视为合并的特殊状况)及高级运动向量预测(AMVP)模式。在AMVP或合并模式中,针对多个运动向量预测子维持运动向量(MV)候选者列表。当前PU的运动向量(以及合并模式中的参考索引)通过自MV候选者列表获取一个候选者而产生。
MV候选者列表含有用于合并模式的至多5个候选者及用于AMVP模式的仅仅两个候选者。合并候选者可含有运动信息的集合,例如,对应于参考图片列表(列表0及列表1)及参考索引两者的运动向量。若由合并索引来识别合并候选者,则参考图片用于当前块的预测,以及确定相关联的运动向量。然而,在针对从列表0或列表1的每一潜在预测方向的AMVP模式下,需要明确地将参考索引连同MV预测子(MVP)索引发信至MV候选者列表,因为AMVP候选者仅含有一运动向量。在AMVP模式中,可进一步改进经预测运动向量。
合并候选者对应于运动信息的完全集合,而AMVP候选者含有用于特定预测方向及参考索引的仅仅一个运动向量。相似地自相同空间及时间相邻块推导用于两个模式的候选者。
图4A及4B为绘示HEVC中的空间相邻候选者的概念图。在一些实例中,视频编码器20及/或视频解码器30可针对特定PU(例如,图4A的PU0 202及图4B的PU0 222,其分别包含于与PU1 204及PU1 224相同的对应CU中),(例如)如图4A及4B中所示,从相邻块推导空间MV候选者,但用于从块产生候选者的方法针对合并模式及AMVP模式而不同。在合并模式中,视频编码器20及/或视频解码器30可根据图4A中用数值展示的次序推导达至四个空间MV候选者,如下:左侧(块212)、上方(块206)、右上方(块208)、左下方(块214),及左上方(块210)。
在AVMP模式中,视频编码器20及/或视频解码器30将相邻块划分成两个群组:左侧群组(包含块232及234)及上方群组(包含块230、226及228),如图4B中所展示。对于每一群组,视频编码器20及/或视频解码器30参考与经发信参考索引所指示的相同的具有最高优先的参考图片,确定相邻块中的潜在候选者,以形成群组的最终候选者。有可能相邻块均未含有指向相同参考图片的运动向量。因此,如果未能找出此候选者,那么视频编码器20及/或视频解码器30可按比例调整第一可用候选者以形成最终候选者,且因此可补偿时间距离差。
图5A展示TMVP候选者的实例,且图5B展示MV按比例调整的实例。时间运动向量预测子(TMVP)候选者(若启用且可用)在空间运动向量候选者之后添加至MV候选者列表中。用于TMVP候选者的运动向量推导的过程对于合并模式及AMVP模式两者相同,然而,合并模式中的TMVP候选者的目标参考索引始终设置为0。
用于TMVP候选者推导的主要块位置为共置型PU右下方块外部(在图5A中展示为块“T”)以补偿用于产生空间相邻候选者的上方及左侧块的偏差。然而,如果块定位于当前CTB列的外部或运动信息不可用,那么块被PU的中央块取代。
用于TMVP候选者的运动向量是从切片级别中所指示的共置型图片的共置型PU推导。用于共置型PU的运动向量称为共置型MV。类似于AVC中的时间直接模式,为推导TMVP候选者运动向量,共置型MV需要经按比例调整以补偿时间距离差,如图5B中所示。
HEVC也利用运动向量按比例调整。假定在呈现时间上运动向量的值与图片的距离成比例。运动向量相关联两个图片,参考图片及含有运动向量的图片(即,含有图片)。当利用一运动向量预测另一运动向量时,基于图片次序计数(POC)值而计算含有图片与参考图片的距离。
对于待预测的运动向量,其相关联的含有图片及参考图片两者可不同。因此,计算新距离(基于POC)。且运动向量基于这些两个POC距离按比例调整。对于空间相邻候选者,用于两个运动向量的含有图片相同,而参考图片不同。在HEVC中,运动向量按比例调整适用于空间及时间相邻候选者的TMVP及AMVP两者。
HEVC也利用人造运动向量候选者产生。如果运动向量候选者列表不完全,那么可产生人造运动向量候选者,且将其插入列表末端,直到列表是完全的为止。在合并模式中,存在两种类型的人造MV候选者:仅针对B-切片推导的组合候选者,及仅针对AMVP使用的零候选者(在第一类型并未提供足够人造候选者的情况下)。对于已在候选者列表中且具有必要运动信息的每一对候选者,双向组合运动向量候选者通过参考列表0中的图片的第一候选者的运动向量与参考列表1中的图片的第二候选者的运动向量的组合推导。
HEVC也针对候选者插入利用精简过程。来自不同块的候选者可恰巧相同,这降低合并/AMVP候选者列表的效率。应用精简过程以解决此问题。精简过程将当前候选者列表中的一个候选者与其它进行比较,以在一定程度上避免插入相同候选者。为减小复杂度,应用仅仅受限制数目个精简过程,而非比较每一潜在候选者与所有其它现有候选者。
现将描述JEM中的双向光学流的方面。图6展示光学流轨迹的实例。BIO利用像素的运动改进,在双向预测的状况下,所述运动改进被实施于块的运动补偿顶部。因为BIO补偿块内部可进行的精细运动,所以启用BIO产生放大的块大小以供运动补偿。样本级别运动改进并不需要竭尽式搜索或信令,这是由于存在针对每一样本给出精细运动向量的明确等式。
假设I(k)为在补偿块运动之后的来自参考k(k=0,1)的明度值,且分别为I(k)梯度的水平及竖直分量。假定光学流是有效的,运动向量场(vx,vy)通过等式给出
针对每一样本的运动轨迹将光学流等式与厄米特内插组合,得出一唯一三阶多项式,其最终匹配函数值I(k)及导出项两者。此多项式的值在t=0下为BIO预测:
此处,τ0及τ1指示至参考帧的距离,如图6上所示。距离τ0及τ1是针对Ref0及Ref1基于POC进行计算:τ0=POC(当前)-POC(Ref0),τ1=POC(Ref1)-POC(当前)。如果预测两者均来自相同时间方向(两者均来自过去或两者均来自未来),那么标识不同τ0·τ1<0。在此状况下,仅当预测并非来自相同时刻(τ0≠τ1)时才应用BIO,参考区域两者均具有非零运动(MVx0,MVy0,MVx1,MVy1≠0),且块运动向量与时间距离成比例(MVx0/MVx1=MVy0/MVy1=-τ01)。
运动向量场(vx,vy)通过最小化点A与点B(图6上的运动轨迹与参考帧平面的相交点)的值之间的差Δ予以确定。模型仅仅将本地泰勒延展的第一线性术语用于Δ:
(1)中的所有值取决于样本位置(i′,j′),其迄今为止被省略。假定运动在局部环境中是恒定的,可最小化位于当前预测点(i,j)中心的(2M+1)×(2M+1)正方形窗Ω内的Δ:
对此最佳化问题,可使用在竖直方向随后在水平方向进行第一最小化的简化解决方案,其得到:
其中,
为避免被零或极小值除,等式(2)、(3)中引入规则化参数r及m。
r=500·4d-8 (8)
m=700·4d-8 (9)
此处,d为输入视频的内部位深度。
在一些状况下,BIO的MV方案可能由于杂讯或不规律运动而不可靠。因此,在BIO中,MV方案的量值经削剪至某些阈值(thBIO)。基于当前图片的所有参考图片是否均来自一个方向而确定所述阈值。如果当前图片的当前图片的所有参考图片来自一个方向,那么阈值设置成12×214-d,否则设置成12×213-d
使用符合HEVC运动补偿过程的操作,在运动补偿内插同时计算BIO的梯度(2D可分离FIR)。根据块运动向量的分数部分,对于此2D可分离FIR的输入与对于运动补偿过程及分数字置(fracX,fracY)的输入为相同参考帧样本。在首先使用BIOfilterS而对应于解调整移位d-8的分数字置fracY竖直插入水平梯度信号的状况下,在对应于解调整移位18-d的分数字置fracX的水平方向中应用梯度滤波器BIOfilterG。在使用BIOfilterG而对应于解调整移位d-8的分数字置fracY竖直应用竖直梯度/>第一梯度滤波器的状况下,使用BIOfilterS在对应于解调整移位18-d的分数字置fracX的水平方向上执行信号移位。用于梯度计算BIOfilterG及信号移位BIOfilterF的内插滤波器的长度较短(6-抽头)以便维持合理的复杂性。表1展示用于BIO中的块运动向量的不同分数字置的梯度计算的滤波器。表2展示用于BIO中的预测信号产生的内插滤波器。
图7为绘示用于8×4块的梯度计算的实例的概念图。用于8×4块,视频译码器提取运动补偿预测子且计算当前块内的所有像素以及像素外部两条线的水平/竖直(HOR/VER)梯度,这是由于求解每一像素的vx及vy需要位于每一像素中心的窗Ω内的像素的HOR/VER梯度值及运动补偿预测子,如等式(4)中所示。且在JEM的一个实例中,此窗的大小设置成5×5。因此,视频译码器(例如,视频编码器20及/或视频解码器30)提取运动补偿预测子,且计算点A及点B周围的像素外部两条线的梯度。
表1:用于BIO中的梯度计算的滤波器
分数像素位置 用于梯度的内插滤波器(BIOfilterG)
0 {8,-39,-3,46,-17,5}
1/16 {8,-32,-13,50,-18,5}
1/8 {7,-27,-20,54,-19,5}
3/16 {6,-21,-29,57,-18,5}
1/4 {4,-17,-36,60,-15,4}
5/16 {3,-9,-44,61,-15,4}
3/8 {1,-4,-48,61,-13,3}
7/16 {0,1,-54,60,-9,2}
1/2 {1,4,-57,57,-4,1}
表2:用于BIO中的预测信号产生的内插滤波器
分数像素位置 用于预测信号的内插滤波器(BIOfilterS)
0 {0,0,64,0,0,0}
1/16 {1,-3,64,4,-2,0}
1/8 {1,-6,62,9,-3,1}
3/16 {2,-8,60,14,-5,1}
1/4 {2,-9,57,19,-7,2}
5/16 {3,-10,53,24,-8,2}
3/8 {3,-11,50,29,-9,2}
7/16 {3,-11,44,35,-10,3}
1/2 {1,-7,38,38,-7,1}
在JEM的实例中,当两个预测来自不同参考图片时,BIO应用于所有双向预测块。当针对CU允用本地照明补偿(LIC)时,停用BIO。
在第5次JVET会议中,提交了提议JVET-E0028以修改BIO操作且缩减存储器存取频宽。在此提议中,无需运动补偿预测子及梯度值用于当前块外部的像素。此外,针对每一像素求解vx及vy被修改以使用当前块内的所有像素的运动补偿预测子及梯度值,如图8中所示。换句话说,等式(4)中的方形窗Ω被修改为等于当前块的窗。此外,考虑将加权因子w(i',j')用于推导vx及vy。w(i',j')为中心像素(i,j)的位置与窗内的像素(I',j')的函数。
图8展示JVET-E0028中所提议的用于8×4块的经修改BIO的实例。JVET-E0028的简化版本稍后经提议以解决块级别与子块级别BIO过程之间的结果的失配问题。代替使用具有CU中的所有像素的相邻Ω,本文中所描述的一或多种技术修改相邻Ω以仅仅包含位于当前像素中心的5×5像素,而无任何内插或梯度计算用于当前CU外部的像素位置。
图9A及9B为绘示与JEM的实例中的OBMC相关的概念的概念图。在JEM的实例中,对运动补偿(MC)块边界执行OBMC,CU的右侧及底部边界除外。此外,其应用于明度及色度分量两者。在JEM的一个实例中,MC块对应于译码块。当CU用子CU模式(包含子CU合并、仿射及FRUC模式)译码时,CU的每一子块均为MC块。为按统一方式处理CU边界,针对所有MC块边界在子块级别执行OBMC,其中子块大小设置为等于4×4,如图9A及9B中所绘示。
当OBMC应用于当前子块时,除当前运动向量之外,四个连接相邻子块的运动向量若可用且不等同于当前运动向量,则也用以推导当前子块的预测块。换句话说,举例来说,视频解码器30及/或视频编码器20可使用除当前运动向量之外的四个连接相邻子块的运动向量(若其可用且不等同于当前运动向量)且在OBMC应用于当前子块时推导当前子块的预测块。基于多个运动向量的这些多个预测块经组合以产生当前子块的最终预测信号。换句话说,举例来说,视频解码器30及/或视频编码器20可组合基于多个运动向量的多个预测块,以产生当前子块的最终预测信号。
图9A至9B及10A至10D为绘示OBMC加权的概念图。图9A至9B绘示基于相邻子块的运动向量的预测块表示为PN,其中N指示相邻子块(图10A)、下方子块(图10C)、左侧子块(图10B)及右侧子块(图10D)的索引,且基于当前子块的运动向量的预测块表示为PC。当PN是基于含有与当前子块相同的运动信息的相邻子块的运动信息时,OBMC不用PN执行。换句话说,举例来说,当PN是基于含有与当前子块相同的运动信息的相邻子块的运动信息时,视频解码器30及/或视频编码器20可能不会执行OBMC。以其它方式,PN的每一像素均被添加至PC中的相同像素,即,四行/四列PN被添加至PC。换句话说,举例来说,当PN是基于不含有与当前子块相同的运动信息的相邻子块的运动信息时,视频解码器30及/或视频编码器20可将PN的每一像素添加至PC中的相同像素,即,四行/四列PN被添加至PC
加权因子{1/4,1/8,1/16,1/32}用于PN,且加权因子{3/4,7/8,15/16,31/32}用于PC。换句话说,举例来说,视频解码器30及/或视频编码器20可将加权因子{1/4,1/8,1/16,1/32}用于PN,且/或视频解码器30及/或视频编码器20可将加权因子{3/4,7/8,15/16,31/32}用于PC。较小MC块除外(即,当译码块的高度或宽度等于4或CU用子CU模式进行译码时),其中仅仅两列/两行PN被添加至PC。在此状况下,加权因子{1/4,1/8}用于PN,且加权因子{3/4,7/8}用于PC。换句话说,举例来说,视频解码器30及/或视频编码器20可将权重{1/4,1/8}用于PN,且/或视频解码器30及/或视频编码器20可在译码块的高度或宽度等于4或CU用子CU模式进行译码时将加权因子{3/4,7/8}用于PC。对于基于竖直(水平)相邻子块的运动向量而产生的PN,PN中位于同一列(行)的像素被添加至具有同一加权因子的PC。换句话说,举例来说,视频解码器30及/或视频编码器20可在PN是基于竖直(水平)相邻子块的运动向量而产生时将PN中位于同一列(行)的像素添加至具有同一加权因子的PC。应注意,BIO也应用于预测块PN的推导。
在JEM中,对于大小小于或等于256个明度样本的CU,发信CU级别旗标以指示是否针对当前CU应用OBMC。换句话说,举例来说,视频编码器20可发信CU级别旗标以指示是否针对当前CU应用OBMC。对于大小大于256个明度样本或未用AMVP模式译码的CU,根据默认而应用OBMC。换句话说,举例来说,视频解码器30及/或视频编码器20可在CU大小大于256个明度样本或未用AMVP模式译码时通过默认应用OBMC。在编码器处,当OBMC应用于CU时,在运动估计阶段期间考虑其影响。通过使用顶部相邻块及左侧相邻块的运动信息的预测信号用以补偿当前CU的原始信号的顶部边界及左侧边界,且接着应用正常运动估计过程。换句话说,举例来说,视频解码器30及/或视频编码器20可通过使用顶部相邻块及左侧相邻块的运动信息补偿当前CU的初始信号的顶部边界及左侧边界,来使用预测信号。在此实例中,视频解码器30及/或视频编码器20可应用正常运动估计过程。
现将描述型样匹配运动向量推导(PMMVD)的方面。PMMVD模式为基于帧速率向上转换(FRUC)技术的特殊合并模式。在使用PMMVD模式的情况下,不发信号通知块的运动信息,而是在解码器侧推导。换句话说,举例来说,视频编码器20可能不会发信号通知块的运动信息。此技术包含于JEM中。
针对CU(在其合并旗标为真时)发信一FRUC旗标。换句话说,举例来说,视频编码器20可在CU的合并旗标为真时针对所述CU发信号通知一FRUC旗标。当FRUC旗标为假时,发信合并索引且使用常规合并模式。换句话说,举例来说,当FRUC旗标为假时,视频编码器20可发信合并索引,且视频解码器30及/或视频编码器20可使用合并模式。当FRUC旗标为真时,发信号通知额外FRUC模式旗标以指示使用哪种方法(双边匹配或模板匹配)导出用于块的运动信息。换句话说,举例来说,视频编码器20可在FRUC旗标为真时发信号通知额外FRUC模式旗标,以指示使用哪种方法(双边匹配或模板匹配)来导出用于块的运动信息。如下为用以译码FRUC的旗标的示范性语法表。
在运动推导过程期间,首先基于双边匹配或模板匹配针对整个CU推导初始运动向量。换句话说,举例来说,视频解码器30及/或视频编码器20可在运动推导过程期间基于双边匹配或模板匹配针对整个CU推导初始运动向量。首先,检查CU的合并列表(或被称作PMMVD种),且选择导致最小匹配成本的候选者作为起始点。换句话说,举例来说,视频解码器30及/或视频编码器20可检查CU的合并列表(或被称作PMMVD种),且选择导致最小匹配成本的候选者作为起始点。
接着,基于双边匹配或模板匹配围绕起始点执行本地搜索且将产生最小匹配成本的MV视为用于整个CU的MV。换句话说,举例来说,视频解码器30及/或视频编码器20可基于双边匹配或模板匹配围绕起始点执行本地搜索且将产生最小匹配成本的MV视为用于整个CU的MV。随后,在子块级别下以所导出CU运动向量为起始点而进一步改进运动信息。换句话说,举例来说,视频编码器20及/或视频解码器30可在子块级别下以所导出CU运动向量为起始点而改进运动信息。
如图11A中所示,使用双边匹配,通过找出沿着两个不同参考图片中的当前块的运动轨迹的两个参考块之间的最佳匹配来推导当前块的运动信息。换句话说,举例来说,视频解码器30及/或视频编码器20可使用双边匹配,通过找出沿着两个不同参考图片中的当前块的运动轨迹的两个参考块之间的最佳匹配来推导当前块的运动信息。在假设连续运动轨迹的情况下,分别指向第一输入参考块302及第二输入参考块304的运动向量MV0 306及MV1308应与当前图片300与第一输入参考块302及与第二输入参考块304之间的时间距离成比例。作为特殊状况,在当前图片300在时间上介于两个参考图片之间,且从当前图片至第一输入参考块302及至第二输入参考块304的时间距离相同时,双边匹配变为基于镜像的双向MV。
图11B展示双边匹配的另一实例。在图11B的实例中,当前图片334的当前块332使用模板匹配进行帧间预测。模板336界定覆盖当前块332的已经解码相邻块的形状。视频解码器(例如,视频解码器30)可(例如)首先将包含于由模板336覆盖的已经解码相邻块中的像素值与包含于由共置型模板338覆盖的已经解码相邻块中的像素值进行比较,所述共置型模板覆盖位于参考图片340的参考图片中的块。视频解码器可接着移动模板至参考图片中的其它位置,且将由模板覆盖的像素值与包含于由模板636覆盖的已经解码相邻块中的像素值进行比较。
基于这些多个比较,视频解码器可确定最佳匹配,诸如在图11B的实例中展示的最佳匹配342。视频解码器可接着确定最佳匹配与共置型模板之间的移位(例如,具有模板336的形状的参考图片340中的块)。此移位(例如,图11B中的移位344)可对应于用以预测当前块332的运动向量信息。
如图11B中所绘示,当块是在DMVD模式中译码时,相较于被直接发信号通知至视频解码器30,块的MV通过视频解码器30搜索。通过模板匹配导致最小失真的MV经选择为块的最终MV。为保持高译码效率,对于视频解码器30,可能必要使用某一数目个模板匹配来选择候选者运动向量作为MV以解码当前块,此可增大解码复杂性。
在图12的实例中,使用模板匹配,通过找出当前图片中的模板(当前块的顶部及/或左侧相邻块)与参考图片(Ref0及Ref1)中的块(与模板具有相同大小)之间的最佳匹配来推导当前块(Cur)的运动信息。模板可包含用以通过搜索R0及R1的相邻块,将所关注块(Cur)与候选者参考(具有MV0的R0及具有MV1的R1)或所推导参考(具有MV 400的R'0及具有MV 402的R'1)进行比较的块的相邻像素。最类似的参考随后用作预测。
在视频编码器20,关于是否将FRUC合并模式用于CU的决策是基于如针对正常合并候选者进行的RD成本选择。即,两个匹配模式(双边匹配及模板匹配)通过使用RD成本选择针对CU两者均被检查。导致最小成本的模式进一步与其它CU模式相比较。如果FRUC匹配模式为最高效模式,那么FRUC旗标对于CU设置成真且使用相关匹配模式。换句话说,举例来说,视频编码器20可发信号通知一指示:在FRUC匹配模式为最高效模式(例如,双边匹配及模板匹配)时,FRUC旗标对于CU设置成真。在此实例中,视频编码器20及/或视频解码器可使用FRUC匹配模式。
在一些系统中,基于模板匹配(TM)的MV推导依赖于相邻块的完全重构建。图13展示基于TM的MV推导及在基于TM的MV推导之后的帧间预测的框图。首先,基于经先前译码块的完全重构建推导当前块的MV信息502。随后,使用MV进行运动补偿(MC)504。此后,进一步应用BIO 506及OBMC 508以产生完全帧间预测。在MC的处理期间,对经译码残余样本值并行执行解量化及反变换(IQIT)510。最终,添加IQIT的输出及完全帧间预测以形成当前块512的完全重构建。
然而,这些设计在以硬件实施时并非为计算高效的。图14绘示TM MV推导及帧间预测的管线处理图式,其中水平且竖直地展示时间阶段及模块。在第一时间(T1)阶段,针对第一块(块1)执行TM MV 602推导。随后,在第二时间(T2),针对第一块并行地进行MC及IQIT604。接着,在第三时间(T3)针对第一块执行BIO 606。随后,在第四时间(T4)针对第一块执行OBMC 608。由于TM MV推导是基于相邻(例如,左侧、顶部等)块的完全重构建,因此针对第二块(块2)的TM MV 610推导未开始,直到第一块的完全重构建可用为止(在T4阶段之后)。因为MC、BIO、OBMC通常在计算上是复杂的,所以T2+T3+T4的潜时可能相对较大,从而导致低效率的硬件管线。
根据本文中所描述的一或多种技术,当使用基于MV推导的模板匹配时,在相邻块经帧间译码的情况下,用于当前块MV推导的模板是基于相邻块的部分重构建(或非完全重构建)。换句话说,举例来说,视频编码器20及/或视频解码器30可确定当前帧中的相邻块经帧间译码。在此实例中,视频编码器20及/或视频解码器30可响应于确定相邻块经帧间译码,基于相邻块的部分重构建确定用于当前帧中的当前块的模板。
在一个实例中,模板匹配是基于部分帧间预测的输出及经反量化经解量化残余样本值,其中部分帧间预测意味着帧间预测过程未完全执行。举例来说,如图15中所示,模板匹配可是基于部分帧间预测的输出及经反量化经解量化残余样本值,其中模板是基于MC的输出加上相邻块的残余样本值(例如,残余样本值指示通过模块IQIT的输出)。换句话说,举例来说,视频编码器20及/或视频解码器30可将运动补偿应用于相邻块的运动向量信息,以产生相邻块的部分重构建。在此实例中,视频编码器20及/或视频解码器30基于相邻块的残余样本值及相邻块的部分重构建确定模板。举例来说,视频编码器20及/或视频解码器30可将相邻块的残余样本值添加至相邻块的预测性块以形成相邻块的部分重构建。在一些实例中,视频解码器30可自视频编码器20接收相邻块的残余样本值的一指示。在此实例中,视频解码器30可将残余样本值添加至相邻块的预测性块,以形成相邻块的部分重构建。
在使用图15中所绘示的一或多种技术的情况下,可在图16中描述TM MV推导及帧间预测的管线图式。举例来说,视频编码器20及/或视频解码器30在第一时间(T1)阶段针对第一块执行TM MV 702推导。在此实例中,视频编码器20及/或视频解码器30在第二时间(T2)针对第一块并行执行MC及IQIT 704。在此实例中,视频编码器20及/或视频解码器30在第三时间(T3)针对第一块执行BIO 706。
根据本文中所描述的一或多种技术,视频编码器20及/或视频解码器30在第三时间(T1)针对第二块进一步执行TM MV 712推导。即,在此实例中,视频编码器20及/或视频解码器30在第三时间使用MC的输出加上相邻块的残余样本值(例如,残余样本值指示通过模块IQIT的输出)针对第二块执行TM MV 712推导(且与针对第一块执行BIO 706并行)。
视频编码器20及/或视频解码器30可在第四时间(T4)针对第一块执行OBMC 708。此外,视频编码器20及/或视频解码器30可在第四时间针对第二块并行执行MC及IQIT 714。即,在此实例中,视频编码器20及/或视频解码器30在第四时间针对第一块执行OBMC 708(针对第二块并行执行MC及IQIT 714)。在此实例中,视频编码器20及/或视频解码器30在于第三时间针对第二块确定模板之后,在第四时间完全地重构建第一块。如所示,过程可针对额外块重复(例如,第三块)。
相较于图14,图15及16的第二块(块2)的TM MV推导过程可在阶段T3(而非阶段T5)起始,从而使得管线的效率得以改进。尽管图14绘示TM MV推导使用MC的输出加上相邻块的残余样本值(例如,残余样本值指示通过模块IQIT的输出)的实例,但在一些实例中,如下文所述,视频编码器20及/或视频解码器30可在其它阶段及/或在不使用残余样本值的情况下执行TM MV推导。
在一些实例中,模板是基于BIO的输出加上相邻块的残余样本值(残余样本值指示解量化及反变换之后的那些)。换句话说,举例来说,视频编码器20及/或视频解码器30可将双向光学应用于用于相邻块的样本,以产生相邻块的部分重构建。在此实例中,视频编码器20及/或视频解码器30可确定模板是基于相邻块的残余样本值及相邻块的部分重构建。举例来说,视频编码器20及/或视频解码器30可将相邻块的残余样本值添加至相邻块的预测性块以形成相邻块的部分重构建。
在一些实例中,模板是基于在考虑或不考虑残余样本值的情况下的部分OBMC的输出,其中部分OBMC意味着OBMC已经部分执行,但未经完全进行。举例来说,视频编码器20及/或视频解码器30可将OBMC应用于相邻块的一些但并非所有样本。换句话说,举例来说,视频编码器20及/或视频解码器30可将部分OBMC应用于用于相邻块的样本,使得OBMC已经部分执行但未经完全执行以产生相邻块的部分重构建。在此实例中,视频编码器20及/或视频解码器30可确定模板是基于相邻块的部分重构建及相邻块的残余样本值,或基于相邻块的部分重构建而不基于相邻块的残余样本值。
在一些实例中,模板在未添加残余样本值的情况下是基于MC的输出。换句话说,举例来说,视频编码器20及/或视频解码器30可在未添加相邻块的残余的情况下将运动补偿应用于相邻块的运动向量信息,以产生相邻块的部分重构建。
在一些实例中,模板在未添加残余样本值的情况下是基于BIO的输出。换句话说,举例来说,视频编码器20及/或视频解码器30可在未添加相邻块的残余的情况下将双向光学应用于用于相邻块的样本以产生相邻块的部分重构建。
在一些实例中,模板在未添加残余样本值的情况下是基于OBMC的输出。换句话说,举例来说,视频编码器20及/或视频解码器30可在未添加相邻块的残余的情况下将具有运动信息的OBMC应用于用于相邻块的样本,使得OBMC已经部分执行但未经完全执行以产生相邻块的部分重构建。举例来说,视频编码器20及/或视频解码器30可将OBMC应用于相邻块的一些但并非所有样本。又,视频编码器20及/或视频解码器30可确定模板是基于相邻块的部分重构建及相邻块的残余样本值,或基于相邻块的部分重构建而不基于相邻块的残余样本值。
在一些实例中,使用块内拷贝(屏幕内容译码工具)进行译码的块被视为经帧间译码块。换句话说,举例来说,视频编码器20及/或视频解码器30可确定在相邻块使用块内拷贝进行译码时,相邻块经帧间译码。
在一些实例中,视频编码器20可向视频解码器30发信号通知模板是基于何输出。举例来说,视频编码器20可向视频解码器30发信号通知,模板在未添加残余样本值的情况下是基于MC的输出。或视频编码器20可向视频解码器30发信号通知,模板在未添加残余样本值的情况下是基于BIO的输出。此信息可在序列级别、图片级别或切片级别发信号通知,诸如在视频参数集(VPS)、序列参数集(SPS)、图片参数集合(PPS)及切片标头中发信号通知。换句话说,举例来说,视频解码器30可在视频数据中接收指定部分重构建模式的语法数据,以产生相邻块的部分重构建。在一些实例中,视频解码器30可使用部分重构建模式产生相邻块的部分重构建。举例来说,视频解码器30可在未添加残余样本值的情况下基于MC的输出确定模板。
在一些实例中,可在顶部及左侧模板中的一者采用部分重构建样本时将不同权重用于所述模板。举例来说,若针对模板匹配,左侧模板使用部分重构建样本且顶部模板使用完全重构建样本,则可相较于顶部模板,将较轻加权因子(例如,小于1)应用于来自左侧模板的SAD值。加权因子可静态地定义,或经由VPS/SPS/PPS/切片标头发信号通知。在一些实例中,可通过反复搜索发现所述加权因子。考虑经部分重构建的左侧模板的相同实例,使用两者的初始搜索针对左侧模板及顶部模板权重等于一,且所述权重可在初始搜索中计算为与左侧模板的SAD值成反比。在第二或连续改进下,可将此权重应用于左侧模板的SAD值以进一步改进运动向量。
当使用基于模板匹配的MV推导时,在相邻块经帧内译码的情况下,模板是基于相邻块的部分重构建。在一些实例中,在相邻块经帧内译码的情况下,当前块MV推导的模板是基于相邻块的完全重构建,且在相邻块经帧间译码的情况下,当前块MV推导的模板是基于相邻块的部分重构建。换句话说,举例来说,视频编码器20及/或视频解码器30可响应于确定相邻块经帧内译码,基于相邻块的完全重构建确定用于当前帧中的当前块的模板。
在一些实例中,块内的部分重构建是基于帧内预测,而未添加残余样本值。换句话说,举例来说,视频编码器20及/或视频解码器30可执行块内的部分重构建是基于帧内预测而未添加残余样本值。
在一些实例中,使用块内拷贝进行译码的块被视为经帧间译码块。换句话说,举例来说,视频编码器20及/或视频解码器30可确定使用块内拷贝进行译码的块为经帧内译码块。
在一些实例中,视频编码器20可发信是否将部分重构建样本用作模板(在其经帧内译码时)。在一些实例中,此旗标可在相邻块经帧内译码时隐藏于所述相邻块的残余中(例如,使用最后一行或最后一列残余样本的同位)。CU之间的此联合最佳化可能需要编码器使用诸如多程编码或超CU的技术。
当使用基于模板匹配的MV推导时,在块经帧间译码的情况下,模板是基于相邻块的经滤波部分重构建,或在块经帧内译码的情况下,模板是基于相邻块的经滤波完全重构建。换句话说,举例来说,视频编码器20及/或视频解码器30可在使用基于模板匹配的MV推导时,在块经帧间译码的情况下基于相邻块的经滤波部分重构建确定模板,或在块经帧内译码的情况下基于相邻块的经滤波完全重构建确定模板。
在一些实例中,滤波过程为样本修匀过程。换句话说,举例来说,视频编码器20及/或视频解码器30可对相邻块的部分重构建进行滤波。
在一些实例中,滤波过程为像素范围截割过程的一过程。换句话说,举例来说,视频编码器20及/或视频解码器30可使用像素范围截割对相邻块的部分重构建进行滤波。
在一些实例中,当反复搜索可适用时,可在通过初始搜索产生的预测样本之间应用交叉边界滤波器,且可将使用部分经重构建样本的模板用作供下一搜索的经改进模板。换句话说,举例来说,在反复搜索可适用时,视频编码器20及/或视频解码器30可在通过初始搜索产生的预测样本之间应用交叉边界滤波器,且将使用部分经重构建样本的模板用作供下一搜索的经改进模板。
在一些实例中,可在初始搜索之后应用解块滤波器,其中可使用双边滤波器、HEVC滤波器还是任何其它内插产生当前块的前4行或列样本。换句话说,举例来说,视频编码器20及/或视频解码器30可在初始搜索之后应用解块滤波器,其中使用双边滤波器、HEVC滤波器还是另一内插产生当前块的前4个样本行或样本列。所述4个样本行或样本列可与具有部分重构建样本的模板组合,以改进模板供进一步搜索。换句话说,举例来说,视频编码器20及/或视频解码器30可将4个样本行或样本列与具有部分重构建样本的模板组合,以改进模板供进一步搜索。
可仅仅针对块中的一些组件或一些区域进行部分重构建。换句话说,举例来说,视频编码器20及/或视频解码器30可仅仅针对块中的一些组件或一些区域进行部分重构建。
在一些实例中,仅仅针对明度分量计算且存储部分重构建。换句话说,举例来说,视频编码器20及/或视频解码器30可基于相邻块的部分重构建确定第一模板用于当前块的明度分量。在此实例中,视频编码器20及/或视频解码器30可基于相邻块的完全重构建确定用于当前块的色度分量的第二模板。在此实例中,视频编码器20及/或视频解码器30可进一步基于第二模板译码视频数据的当前块。举例来说,视频解码器30可使用基于第一模板产生的用于当前块的明度分量的第一样本集合及基于第二模板产生的用于当前块的色度分量的第二样本集合解码当前块。
图17展示可用以计算部分输出的区域700。在一些实例中,仅仅针对M个右侧行752或N个底部列754中的样本(例如,区域700)计算部分重构建。M及N为任何整数。在一个实例中,M及N均为4。换句话说,举例来说,视频编码器20及/或视频解码器30可基于相邻块的部分重构建确定第一模板用于当前块的第一样本集合(例如,区域700)。在此实例中,视频编码器20及/或视频解码器30可基于相邻块的完全重构建确定用于当前块的第二样本集合的第二模板。在此实例中,视频编码器20及/或视频解码器30可进一步基于第二模板译码视频数据的当前块。举例来说,视频解码器30可使用基于第一模板产生的用于当前块的第一样本集合及基于第二模板产生的用于当前块的第二样本集合解码当前块。
图18为绘示可实施用于双向光学流的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的相邻帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的译码模式中的任一者。帧间模式(诸如,单向预测(P模式)或双向预测(B模式))可指代若干基于时间的译码模式中的任一者。
如图18中所示,视频编码器20接收待编码视频帧内的当前视频块。在图18的实例中,视频编码器20包含模式选择单元40、参考图片存储器64(其也可被称为经解码图片缓冲器(DPB))、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40继而包含运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为了视频块重构建,视频编码器20也包含反量化单元58、反变换单元60及求和器62。也可包含解块滤波器(图18中未图示)以便对块边界进行滤波,以自经重构建视频中移除块效应伪影。若需要,解块滤波器将通常滤波求和器62的输出。除了解块滤波器外,也可使用额外滤波器(回路中或回路后)。为简洁起见未展示此类滤波器,但若需要,此类滤波器可对求和器62的输出进行滤波(作为回路内滤波器)。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。可将所述帧或切片划分成多个视频块。运动估计单元42及运动补偿单元44执行所接收视频块相对于一或多个参考帧中的一或多个块的帧间预测性编码以提供时间预测。帧内预测单元46可替代地使用与待译码块相同的帧或切片中的一或多个相邻块的像素帧内预测所接收视频块,以提供空间预测。视频编码器20可执行多个译码遍次,(例如)以选择用于每一视频数据块的适当译码模式。
此外,分割单元48可基于对先前译码遍次中的先前分割方案的评估而将视频数据的块分割成子块。举例来说,分割单元48可初始地将帧或切片分割成LCU,且基于速率-失真分析(例如,速率-失真最佳化)来将所述LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示将LCU分割为子CU的四元树数据结构。四元树的叶节点CU可包含一或多个PU及一或多个TU。
模式选择单元40可(例如)基于误差结果选择帧内或帧间预测模式中的一者,且将所得经预测块提供至求和器50以产生残余数据,且将其提供至求和器62以重构建经编码块以用作参考帧。模式选择单元40也将语法元素(诸如运动向量、帧内模式指示符、分割区信息及其它此类语法信息)提供至熵编码单元56。
运动估计单元42及运动补偿单元44可高度集成,但出于概念目的而单独绘示。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示在当前视频帧或图片内的视频块的PU相对于在参考图片(或其它经译码单元)内的预测性块相对于在所述当前图片(或其它经译码单元)内正经译码的当前块的移位。预测性块为依据像素差被发现紧密地匹配待译码块的一块,所述像素差可通过绝对差总和(SAD)、平方差和(SSD)或其它差度量予以确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置而计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送至熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量提取或产生预测性块。再次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收当前视频块的PU的运动向量之后,运动补偿单元44可在参考图片列表中的一者中定位运动向量所指向的预测性块。求和器50通过从正经译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值,如下文所论述。一般来说,运动估计单元42执行关于明度分量的运动估计,且运动补偿单元44将基于所述明度分量计算的运动向量用于色度分量与明度分量两者。模式选择单元40也可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
此外,运动补偿单元44可经配置以执行本发明技术中的任一者或所有(单独或以任何组合方式)。尽管关于运动补偿单元44论述,但应理解模式选择单元40、运动估计单元42、分割单元48及/或熵编码单元56也可经配置以单独或与运动补偿单元44组合执行本发明的某些技术。在一个实例中,运动补偿单元44可经配置以执行使用本文所论述的相邻块技术的部分重构建的模板匹配。
如上文所描述,作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代,帧内预测单元46可对当前块进行帧内预测。确切地说,帧内预测单元46可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中为模式选择单元40)可从所测试模式中选择适当帧内预测模式来使用。
举例来说,帧内预测单元46可使用对各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在所测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与原始、未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位率(即,位的数目)。帧内预测单元46可自各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现所述块的最佳速率-失真值。
在选择用于块的帧内预测模式后,帧内预测单元46可将指示用于块的所选帧内预测的信息提供至熵编码单元56。熵编码单元56可编码指示所选帧内预测模式的信息。视频编码器20可在所发射的位流中包含以下者:配置数据,其可包含多个帧内预测模式索引表及多个经修改的帧内预测模式索引表(也称作码字映射表);各种块的编码上下文的定义;及待用于所述上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示。
视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将变换(诸如离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括变换系数值的视频块。可使用小波变换、整数变换、子频带变换、离散正弦变换(DST)或其它类型的变换代替DCT。在任何状况下,变换处理单元52将变换应用于残余块,从而产生变换系数的块。变换可将残余信息从像素域转换至变换域,诸如频域。变换处理单元52可将所得变换系数发送至量化单元54。量化单元54量化变换系数以进一步减少位率。量化过程可减小与系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。
在量化之后,熵编码单元56熵译码经量化的变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在通过熵编码单元56的熵译码之后,经编码位流可被发射至另一装置(例如,视频解码器30)或经存档用于稍后发射或检索。
反量化单元58及反变换单元60相应地应用反量化及反变换以重构建像素域中的残余块。确切地说,求和器62将经重构建残余块添加至由运动补偿单元44或帧内预测单元46较早产生的运动补偿预测块,以产生用于存储于参考图片存储器64中的经重构建的视频块。所述经重构建的视频块可由运动估计单元42及运动补偿单元44使用,作为参考块以对后续视频帧中的块进行帧间译码。
图19为绘示可实施用于双向光学流的技术的视频解码器30的实例的框图。在图19的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考图片存储器82及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图18)所描述的编码遍次大体上互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30的熵解码单元70对位流进行熵解码以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转发至运动补偿单元72。视频解码器30可在视频切片级别及/或视频块级别接收语法元素。
当视频切片经译码为经帧内译码(I)切片时,帧内预测处理单元74可基于经发信帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B、P或GPB)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储于参考图片存储器82中的参考图片使用默认构建技术来构建参考帧列表:列表0及列表1。
运动补偿单元72通过剖析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,并使用所述预测信息以产生经解码的当前视频块的预测性块。举例来说,运动补偿单元72使用所接收语法元素中的一些来确定用于译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、所述切片的参考图片列表中的一或多者的构建信息、所述切片的每一经帧间编码视频块的运动向量、所述切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元72也可针对子像素精确度基于内插滤波器执行内插。运动补偿单元72可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元72可从所接收的语法元素确定由视频编码器20所使用的内插滤波器,并使用所述内插滤波器产生预测性块。
此外,运动补偿单元72可经配置以执行本发明技术中的任一者或所有(单独或以任何组合方式)。举例来说,运动补偿单元72可经配置以执行使用本文所论述的相邻块技术的部分重构建的模板匹配。
反量化单元76反量化(即,解量化)位流中所提供且由熵解码单元70解码的经量化变换系数。反量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算的量化参数QPY以确定应应用的量化程度和同样反量化程度。
反变换单元78将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数,以便在像素域中产生残余块。
在运动补偿单元72基于运动向量及其它语法元素产生当前视频块的预测性块后,视频解码器30通过对来自反变换单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器80表示执行此求和运算的所述或所述组件。若需要,也可应用解块滤波器来对经解码块滤波以便移除块效应伪影。也可使用其它回路滤波器(在译码回路内或在译码回路之后)使像素转变平滑,或以其它方式改进视频质量。接着将给定帧或图片中的经解码视频块存储于参考图片存储器82中,所述参考图片存储器存储用于后续运动补偿的参考图片。参考图片存储器82也存储经解码视频以供稍后在显示装置(诸如图1的显示装置32)上呈现。举例来说,参考图片存储器82可存储经解码图片。
图20为绘示根据本发明中所描述的一或多个技术解码视频数据的实例方法的流程图。最初,视频解码器30接收位流,其包含指示相邻块的残余样本值及部分重构建模式的一或多个符号(802)。举例来说,视频解码器30接收位流,其包含指示部分重构建模式包含模板匹配或双边匹配的一或多个符号。尽管图20的实例包含接收位流,其包含指示相邻块的残余样本值的一或多个符号,但在一些实例中,可省略用于产生相邻块的部分重构建的残余样本值。举例来说,视频解码器30接收位流,其包含省略用于产生相邻块的部分重构建的残余样本值的指示的一或多个符号。
部分重构建模式可指示使用相邻块的残余样本值还是不使用相邻块的残余样本值产生相邻块的部分重构建。举例来说,视频解码器30接收位流,其包含指示部分重构建模式包含不使用相邻块的残余样本值产生相邻块的部分重构建的一或多个符号。在一些实例中,视频解码器30接收位流,其包含指示部分重构建模式包含使用相邻块的残余样本值产生相邻块的部分重构建的一或多个符号。
部分重构建模式可指定相邻块的部分重构建。举例来说,视频解码器30接收位流,其包含指示部分重构建模式包含将运动补偿应用于相邻块的运动向量信息以产生相邻块的部分重构建的一或多个符号。在一些实例中,视频解码器30接收一位流,其包含指示部分重构建模式包含将双向光学应用于用于相邻块的样本以产生相邻块的部分重构建的一或多个符号。在一些实例中,视频解码器30接收位流,其包含指示部分重构建模式包含将部分OBMC应用于用于相邻块的样本,使得OBMC已经部分执行但未经完全执行以产生相邻块的部分重构建的一或多个符号。
视频解码器30确定视频数据的当前块使用基于模板的运动向量推导进行预测(804)。在一些实例中,视频解码器30在相邻块使用块内拷贝进行译码时确定相邻块经帧间译码。
视频解码器30部分地重构建相邻块(806)。举例来说,视频解码器30将运动补偿应用于相邻块的运动向量信息以在不应用双向光学或OBMC的情况下产生相邻块的部分重构建。在一些实例中,视频解码器30将双向光学应用于用于相邻块的样本,以在不应用OBMC的情况下产生相邻块的部分重构建。在一些实例中,视频解码器30将部分OBMC应用于用于相邻块的样本,使得OBMC已经部分执行但未经完全执行以产生相邻块的部分重构建。在一些实例中,视频解码器30可使用用于产生相邻块的部分重构建的所接收残余样本值部分地重构建相邻块。又,视频解码器30可根据通过视频编码器20输出的位流中的符号所指示的部分重构建模式部分地重构建相邻块。
视频解码器30对相邻块的部分重构建进行滤波(808)。尽管图20的实例包含对相邻块的部分重构建进行滤波,但在一些实例中,可省略对相邻块的部分重构建进行滤波。
视频解码器30基于相邻块的部分重构建确定用于当前块的模板(810)。举例来说,视频解码器30基于相邻块的部分重构建确定使用模板匹配的模板。在一些实例中,视频解码器30基于相邻块的部分重构建确定使用双边匹配的模板。
视频解码器30完全地重构建相邻块(812)。举例来说,视频解码器30可通过将运动补偿应用于当前块的运动向量信息来完全地重构建相邻块,以产生当前块的第一样本集合。在一些实例中,视频解码器30可通过将双向光学应用于当前块的第一样本集合来完全地重构建相邻块,以产生当前块的第二样本集合。在一些实例中,视频解码器30可通过将重叠块运动补偿应用于当前块的第二样本集合来完全地重构建相邻块,以产生当前块的预测性块。
视频解码器30确定参考帧中的对应(例如,最佳匹配)于用于当前块的模板的参考块(814)。视频解码器30基于参考块及模板确定当前帧的运动向量信息(816)。举例来说,视频解码器30使用模板与参考块之间的移位确定运动向量信息。视频解码器30基于运动向量信息产生当前块的预测性块(818)。视频解码器30基于预测性块解码当前块(820)。
图21为绘示根据本发明中所描述的一或多个技术编码视频数据的实例方法的流程图。最初,视频编码器20选择解码器侧部分重构建模式(852)。举例来说,视频编码器20使用RD成本选择来选择双边匹配或模板匹配。
部分重构建模式可指示使用相邻块的残余样本值还是不使用相邻块的残余样本值产生相邻块的部分重构建。举例来说,视频编码器20使用RD成本选择来选择包含使用相邻块的残余样本值产生相邻块的部分重构建或不使用相邻块的残余样本值产生相邻块的部分重构建的部分重构建模式。
部分重构建模式可指定相邻块的部分重构建。举例来说,视频编码器20使用RD成本选择来选择包含以下项的部分重构建模式:将运动补偿应用于相邻块的运动向量信息以产生相邻块的部分重构建;将双向光学应用于用于相邻块的样本以产生相邻块的部分重构建;或将部分OBMC应用于用于相邻块的样本,使得OBMC已经部分执行但未经完全执行以产生相邻块的部分重构建。
视频编码器20确定视频数据的当前块是使用基于模板的运动向量推导进行预测(854)。视频编码器20部分地重构建相邻块,且产生用于相邻块的部分重构建的残余样本值(856)。尽管图21的实例包含用于产生相邻块的部分重构建的残余样本值,但在一些实例中,可省略用于产生相邻块的部分重构建的残余样本值。
视频编码器20对相邻块的部分重构建进行滤波(858)。尽管图21的实例包含对相邻块的部分重构建进行滤波,但在一些实例中,可省略对相邻块的部分重构建进行滤波。
视频编码器20基于相邻块的部分重构建确定用于当前块的模板(860)。举例来说,视频编码器20基于相邻块的部分重构建确定使用模板匹配的模板。在一些实例中,视频编码器20基于相邻块的部分重构建确定使用双边匹配的模板。举例来说,视频编码器20使用模板与参考块之间的移位确定运动向量信息。
视频编码器20确定参考帧中的对应(例如,最佳匹配)于用于当前块的模板的参考块(862)。视频编码器20基于参考块及模板确定当前帧的运动向量信息(864)。视频编码器20基于运动向量信息产生当前块的预测性块(866)。视频编码器20使用当前块的预测性块产生残余样本值(868)。视频编码器20输出指示用于相邻块的部分重构建的残余样本值、当前块的残余样本值,及解码器侧运动推导模式的位流(870)。
取决于实例,本文中描述的技术中的任一者的某些动作或事件可以不同序列执行,可予以添加、合并或完全省略(例如,并非所有所描述动作或事件为技术的实践所必要)。此外,在某些实例中,可例如经由多线程处理、中断处理或多个处理器同时而非顺序执行动作或事件。
在一或多个实例中,所描述的功能可实施于硬件、软件、固件或其任何组合中。如果实施于软件中,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于诸如数据存储媒体的有形媒体)或通信媒体,所述通信媒体包含(例如)根据通信协议促进计算机程序从一处传送至另一处的任何媒体。以此方式,计算机可读媒体大体可对应于(1)为非暂时形的有形计算机可读存储媒体,或(2)通信媒体,诸如,信号或载波。数据存储媒体可为可通过一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例说明而非限制,这些计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可通过计算机存取的任何其它媒体。又,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或诸如红外线、无线电及微波的无线技术从网站、服务器或其它远程源来发射指令,那么同轴缆线、光纤缆线、双绞线、DSL或诸如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而实情为关于非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。
指令可由一或多个处理器执行,诸如一或多个DSP、通用微处理器、ASIC、FPGA或其它等效集成或离散逻辑电路系统。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所描述的功能性可经提供于经配置以供编码及解码或并入于经组合编解码器中的专用硬件及/或软件模块内。此外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。相反地,如上所述,各种单元可与合适的软件及/或固件一起组合在编解码器硬件单元中或由互操作硬件单元的集合提供,硬件单元包含如上文所描述的一或多个处理器。
各种实例已予以描述。这些及其它实例在以下权利要求书的范围内。

Claims (34)

1.一种解码视频数据的方法,所述方法包括:
通过实施于处理电路系统中的视频解码器确定当前帧中的相邻块经帧间译码;
在将重叠块运动补偿(OBMC)应用于所述相邻块的样本之前,由所述视频解码器生成所述相邻块的部分重构建;
响应于确定所述相邻块经帧间译码,通过所述视频解码器基于所述相邻块的所述部分重构建确定用于所述当前帧中的当前块的模板;
在确定所述当前块的所述模板之后,由所述视频解码器将OBMC应用于所述相邻块的所述样本;
通过所述视频解码器确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;
通过所述视频解码器基于所述参考块及所述模板确定所述当前帧的运动向量信息;
通过所述视频解码器基于所述运动向量信息产生视频数据的所述当前块的预测性块;及
通过所述视频解码器基于所述预测性块解码视频数据的所述当前块。
2.根据权利要求1所述的方法,其包括:
通过所述视频解码器在确定用于所述当前块的所述模板之后完全地重构建所述相邻块。
3.根据权利要求1所述的方法,其包括:
通过所述视频解码器接收所述相邻块的残余样本值的指示;及
通过所述视频解码器将所述残余样本值添加至所述相邻块的预测性块,以形成所述相邻块的所述部分重构建。
4.根据权利要求1所述的方法,其包括:
通过所述视频解码器将运动补偿应用于所述相邻块的运动向量信息,以产生所述相邻块的预测性块;及
通过所述视频解码器将所述相邻块的残余样本值添加至所述相邻块的所述预测性块,以形成所述相邻块的所述部分重构建。
5.根据权利要求1所述的方法,其包括:
通过所述视频解码器将双向光学流应用于用于所述相邻块的样本,以产生所述相邻块的预测性块;及
通过所述视频解码器将所述相邻块的残余样本值添加至所述相邻块的所述预测性块,以形成所述相邻块的所述部分重构建。
6.根据权利要求1所述的方法,其包括:
通过所述视频解码器在未添加所述相邻块的残余的情况下将运动补偿应用于所述相邻块的运动向量信息,以产生所述相邻块的所述部分重构建。
7.根据权利要求1所述的方法,其包括:
通过所述视频解码器在未添加所述相邻块的残余的情况下将双向光学流应用于用于所述相邻块的样本,以产生所述相邻块的所述部分重构建。
8.根据权利要求1所述的方法,其包括:
通过所述视频解码器在所述相邻块使用块内拷贝进行译码时确定所述相邻块经帧间译码。
9.根据权利要求1所述的方法,其包括:
通过所述视频解码器在所述视频数据中接收指定部分重构建模式的语法数据,以产生所述相邻块的所述部分重构建;及
通过所述视频解码器使用所述部分重构建模式产生所述相邻块的所述部分重构建。
10.根据权利要求1所述的方法,其中所述相邻块为第一相邻块,其中所述当前帧为第一当前帧,其中所述当前块为第一当前块,其中所述模板为第一模板,其中所述参考帧为第一参考帧,其中所述运动向量信息为第一运动向量信息,且其中所述预测性块为第一预测性块,所述方法进一步包括:
通过所述视频解码器确定第二当前帧中的第二相邻块经帧内译码;
响应于确定所述第二相邻块经帧内译码,通过所述视频解码器基于所述第二相邻块的完全重构建确定用于所述第二当前帧中的第二当前块的第二模板;
通过所述视频解码器确定第二参考帧中的对应于用于所述第二当前块的所述第二模板的第二参考块,其中所述第二参考帧不同于所述第二当前帧;
通过所述视频解码器基于所述第二参考块及所述第二模板确定所述第二当前帧的第二运动向量信息;
通过所述视频解码器基于所述第二运动向量信息产生视频数据的所述第二当前块的第二预测性块;及
通过所述视频解码器基于所述第二预测性块解码视频数据的所述第二当前块。
11.根据权利要求1所述的方法,其中确定用于所述当前块的所述模板包括:对所述相邻块的所述部分重构建进行滤波。
12.根据权利要求1所述的方法,其中所述模板为第一模板,且其中确定所述第一模板是针对所述当前块的明度分量,所述方法进一步包括:
基于所述相邻块的完全重构建确定用于所述当前块的色度分量的第二模板,其中解码视频数据的所述当前块是进一步基于所述第二模板。
13.根据权利要求1所述的方法,其中所述模板为第一模板,且其中确定所述第一模板是针对所述当前块的第一样本集合,所述方法进一步包括:
基于所述相邻块的完全重构建确定用于所述当前块的第二样本集合的第二模板,其中解码视频数据的所述当前块是进一步基于所述第二模板。
14.根据权利要求1所述的方法,其中产生所述预测性块包括:
将运动补偿应用于所述当前块的所述运动向量信息,以产生所述当前块的第一样本集合;
将双向光学应用于所述当前块的所述第一样本集合,以产生所述当前块的第二样本集合;及
将重叠块运动补偿应用于所述当前块的所述第二样本集合,以产生所述当前块的所述预测性块。
15.一种用于解码视频数据的装置,所述装置包括:
存储器,其经配置以存储所述视频数据;及处理电路系统,其经配置以:
确定当前帧中的相邻块经帧间译码;
在将重叠块运动补偿(OBMC)应用于所述相邻块的样本之前,生成所述相邻块的部分重构建;
响应于确定所述相邻块经帧间译码,基于所述相邻块的所述部分重构建确定用于所述当前帧中的当前块的模板;
在确定所述当前块的所述模板之后,将OBMC应用于所述相邻块的所述样本;
确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;
基于所述参考块及所述模板确定所述当前帧的运动向量信息;
基于所述运动向量信息产生视频数据的所述当前块的预测性块;及基于所述预测性块解码视频数据的所述当前块。
16.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
在确定用于所述当前块的所述模板之后完全地重构建所述相邻块。
17.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
接收所述相邻块的残余样本值的指示;及
将所述残余样本值添加至所述相邻块的预测性块,以形成所述相邻块的所述部分重构建。
18.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
将运动补偿应用于所述相邻块的运动向量信息,以产生所述相邻块的预测性块;及
将所述相邻块的残余样本值添加至所述相邻块的所述预测性块,以形成所述相邻块的所述部分重构建。
19.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
将双向光学流应用于用于所述相邻块的样本,以产生所述相邻块的预测性块;及将所述相邻块的残余样本值添加至所述相邻块的所述预测性块,以形成所述相邻块的所述部分重构建。
20.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
在未添加所述相邻块的残余的情况下将运动补偿应用于所述相邻块的运动向量信息,以产生所述相邻块的所述部分重构建。
21.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
在未添加所述相邻块的残余的情况下将双向光学应用于用于所述相邻块的样本,以产生所述相邻块的所述部分重构建。
22.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
在所述相邻块使用块内拷贝进行译码时确定所述相邻块经帧间译码。
23.根据权利要求15所述的装置,其中所述处理电路系统经配置以:
在所述视频数据中接收指定部分重构建模式的语法数据,以产生所述相邻块的所述部分重构建;及
使用所述部分重构建模式产生所述相邻块的所述部分重构建。
24.根据权利要求15所述的装置,其中所述相邻块为第一相邻块,其中所述当前帧为第一当前帧,其中所述当前块为第一当前块,其中所述模板为第一模板,其中所述参考帧为第一参考帧,其中所述运动向量信息为第一运动向量信息,其中所述预测性块为第一预测性块,且其中所述处理电路系统经配置以:确定第二当前帧中的第二相邻块经帧内译码
响应于确定所述第二相邻块经帧内译码,基于所述第二相邻块的完全重构建确定用于所述第二当前帧中的第二当前块的第二模板;
确定第二参考帧中的对应于用于所述第二当前块的所述第二模板的第二参考块,其中所述第二参考帧不同于所述第二当前帧;
基于所述第二参考块及所述第二模板确定所述第二当前帧的第二运动向量信息;基于所述第二运动向量信息产生视频数据的所述第二当前块的第二预测性块;及基于所述第二预测性块解码视频数据的所述第二当前块。
25.根据权利要求15所述的装置,其中为确定用于所述当前块的所述模板,所述处理电路系统经配置以:
对所述相邻块的所述部分重构建进行滤波。
26.根据权利要求15所述的装置,其中所述模板为第一模板,其中确定所述第一模板是针对所述当前块的明度分量,且其中所述处理电路系统经配置以:
基于所述相邻块的完全重构建确定用于所述当前块的色度分量的第二模板,其中解码视频数据的所述当前块是进一步基于所述第二模板。
27.根据权利要求15所述的装置,其中所述模板为第一模板,其中确定所述第一模板是针对所述当前块的第一样本集合,且其中所述处理电路系统经配置以:
基于所述相邻块的完全重构建确定用于所述当前块的第二样本集合的第二模板,其中解码视频数据的所述当前块是进一步基于所述第二模板。
28.根据权利要求15所述的装置,其中为产生所述预测性块,所述处理电路系统经配置以:
将运动补偿应用于所述当前块的所述运动向量信息,以产生所述当前块的第一样本集合;
将双向光学应用于所述当前块的所述第一样本集合,以产生所述当前块的第二样本集合;及
将重叠块运动补偿应用于所述当前块的所述第二样本集合,以产生所述当前块的所述预测性块。
29.根据权利要求15所述的装置,其中所述装置包括无线通信装置,其进一步包括经配置以接收经编码视频数据的接收器。
30.根据权利要求29所述的装置,其中所述无线通信装置包括电话手机,且其中所述接收器经配置以根据无线通信标准解调制包括所述经编码视频数据的信号。
31.一种编码视频数据的方法,所述方法包括:
通过实施于处理电路系统中的视频编码器确定当前帧中的相邻块经帧间译码;
在将重叠块运动补偿(OBMC)应用于所述相邻块的样本之前,由所述视频编码器生成所述相邻块的部分重构建;
响应于确定所述相邻块经帧间译码,通过所述视频编码器基于所述相邻块的所述部分重构建确定用于所述当前帧中的当前块的模板;
在确定所述当前块的所述模板之后,由所述视频编码器将OBMC应用于所述相邻块的所述样本;
通过所述视频编码器确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;
通过所述视频编码器基于所述参考块及所述模板确定所述当前帧的运动向量信息;
通过所述视频编码器基于所述运动向量信息产生视频数据的所述当前块的预测性块;及
通过所述视频编码器基于所述预测性块产生视频数据的所述当前块的残余样本值。
32.一种用于编码视频数据的装置,所述装置包括:
存储器,其经配置以存储所述视频数据;及处理电路系统,其经配置以:
确定当前帧中的相邻块经帧间译码;
在将重叠块运动补偿(OBMC)应用于所述相邻块的样本之前,生成所述相邻块的部分重构建;
响应于确定所述相邻块经帧间译码,基于所述相邻块的所述部分重构建确定用于所述当前帧中的当前块的模板;
在确定所述当前块的所述模板之后,将OBMC应用于所述相邻块的所述样本;
确定参考帧中的对应于用于所述当前块的所述模板的参考块,其中所述参考帧不同于所述当前帧;
基于所述参考块及所述模板确定所述当前帧的运动向量信息;
基于所述运动向量信息产生视频数据的所述当前块的预测性块;及基于所述预测性块产生视频数据的所述当前块的残余样本值。
33.根据权利要求32所述的装置,其中所述装置包括无线通信装置,其进一步包括经配置以发射经编码视频数据的发射器。
34.根据权利要求33所述的装置,其中所述无线通信装置包括电话手机,且其中所述发射器经配置以根据无线通信标准调制包括所述经编码视频数据的信号。
CN201880043942.4A 2017-07-05 2018-07-02 用于运动向量推导的基于部分重构建的模板匹配 Active CN110915214B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762528918P 2017-07-05 2017-07-05
US62/528,918 2017-07-05
US16/024,032 2018-06-29
US16/024,032 US10757442B2 (en) 2017-07-05 2018-06-29 Partial reconstruction based template matching for motion vector derivation
PCT/US2018/040584 WO2019010123A1 (en) 2017-07-05 2018-07-02 MODEL-BASED MATCHING BASED ON PARTIAL RECONSTRUCTION FOR A MOTION VECTOR DIVERSION

Publications (2)

Publication Number Publication Date
CN110915214A CN110915214A (zh) 2020-03-24
CN110915214B true CN110915214B (zh) 2023-12-12

Family

ID=64903569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880043942.4A Active CN110915214B (zh) 2017-07-05 2018-07-02 用于运动向量推导的基于部分重构建的模板匹配

Country Status (9)

Country Link
US (1) US10757442B2 (zh)
EP (1) EP3649785A1 (zh)
KR (1) KR20200023315A (zh)
CN (1) CN110915214B (zh)
AU (1) AU2018297993A1 (zh)
BR (1) BR112019027821A2 (zh)
SG (1) SG11201910916RA (zh)
TW (1) TW201907724A (zh)
WO (1) WO2019010123A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109155847A (zh) * 2016-03-24 2019-01-04 英迪股份有限公司 用于编码/解码视频信号的方法和装置
WO2018212110A1 (ja) * 2017-05-19 2018-11-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10986360B2 (en) * 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
EP3777167A1 (en) 2018-03-30 2021-02-17 Vid Scale, Inc. Template-based inter prediction techniques based on encoding and decoding latency reduction
US10516885B1 (en) * 2018-07-11 2019-12-24 Tencent America LLC Method and apparatus for video coding
CN110809155B (zh) * 2018-08-04 2023-01-31 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读介质
CN111010569B (zh) 2018-10-06 2023-02-28 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
US20220116656A1 (en) * 2019-01-11 2022-04-14 Vid Scale, Inc. Improved intra planar prediction using merge mode motion vector candidates
WO2020156534A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and intra block copy
CN113383547A (zh) 2019-02-01 2021-09-10 北京字节跳动网络技术有限公司 环路整形和帧间编解码工具之间的相互作用
US11889099B2 (en) * 2019-03-05 2024-01-30 Hfi Innovation Inc. Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
CN114143558B (zh) * 2019-03-12 2024-01-30 北京达佳互联信息技术有限公司 组合帧间和帧内预测模式的受约束和调节的应用
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
KR20220112864A (ko) * 2019-03-15 2022-08-11 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 양방향 광 흐름을 위한 비트-폭 제어를 위한 방법 및 디바이스
WO2020192614A1 (en) 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Restrictions on adaptive-loop filtering parameter sets
WO2020200159A1 (en) * 2019-03-29 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Interactions between adaptive loop filtering and other coding tools
EP3928521A4 (en) * 2019-04-02 2022-08-17 Beijing Bytedance Network Technology Co., Ltd. BIDIRECTIONAL OPTICAL FLOW BASED VIDEO ENCODING AND DECODING
CN113711609B (zh) 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
WO2020211864A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Region based gradient calculation in different motion vector refinements
JP7405870B2 (ja) * 2019-05-24 2023-12-26 華為技術有限公司 Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法
CN114128293A (zh) 2019-06-21 2022-03-01 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
US11272203B2 (en) 2019-07-23 2022-03-08 Tencent America LLC Method and apparatus for video coding
CN117321992A (zh) * 2021-04-09 2023-12-29 抖音视界有限公司 自适应运动候选列表
US20240244222A1 (en) * 2021-05-17 2024-07-18 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
TWI807882B (zh) * 2021-06-25 2023-07-01 香港商鴻穎創新有限公司 用於編碼視訊資料的裝置和方法
WO2023008888A1 (ko) * 2021-07-26 2023-02-02 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
US20230075788A1 (en) * 2021-09-01 2023-03-09 Tencent America LLC Template matching on ibc merge candidates
WO2023132564A1 (ko) * 2022-01-10 2023-07-13 현대자동차주식회사 인터 예측에서 디코더측 움직임벡터 리스트 수정을 위한 방법 및 장치
WO2023194600A1 (en) * 2022-04-08 2023-10-12 Interdigital Ce Patent Holdings, Sas Latency constrained template-based operations
WO2023204675A1 (ko) * 2022-04-21 2023-10-26 엘지전자 주식회사 템플릿 매칭을 이용하는 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
KR20240110509A (ko) * 2023-01-05 2024-07-15 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024178022A1 (en) * 2023-02-20 2024-08-29 Beijing Dajia Internet Information Technology Co., Ltd Methods and devices on intra template matching prediction
WO2024211838A1 (en) * 2023-04-05 2024-10-10 Beijing Dajia Internet Information Technology Co., Ltd. Method and apparatus for adaptive motion compensated filtering

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104704833A (zh) * 2012-09-19 2015-06-10 高通股份有限公司 多视图或3维视频译码中的高级视图间残差预测
WO2017058899A1 (en) * 2015-09-28 2017-04-06 Qualcomm Incorporated Improved bi-directional optical flow for video coding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010525658A (ja) * 2007-04-19 2010-07-22 トムソン ライセンシング イントラ予測のための適応参照画像データ生成
US8873626B2 (en) * 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
TWI444049B (zh) * 2011-01-18 2014-07-01 Univ Nat Chiao Tung 畫面估測系統及其估測方法
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
EP3459244A4 (en) * 2016-01-12 2020-03-04 Telefonaktiebolaget LM Ericsson (publ) VIDEO CODING WITH HYBRID INTRAPREDICTION
WO2017192995A1 (en) * 2016-05-06 2017-11-09 Vid Scale, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
US10567808B2 (en) * 2016-05-25 2020-02-18 Arris Enterprises Llc Binary ternary quad tree partitioning for JVET

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104704833A (zh) * 2012-09-19 2015-06-10 高通股份有限公司 多视图或3维视频译码中的高级视图间残差预测
WO2017058899A1 (en) * 2015-09-28 2017-04-06 Qualcomm Incorporated Improved bi-directional optical flow for video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHEN,Jianle 等."Algorithm Description of Joint Exploration Test Model 6 (JEM 6)".《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 6th Meeting:Hobart,AU》.2017,第8.2.4章. *
CHIEN,Wei-Jung 等."TE 1: Decoder-side motion vector derivation report from Qualcomm".《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting:Geneva,CH》.2010,第1章. *
CHUANG,Hsiao-Chiang 等."A block-based design for Bi-directional optical flow (BIO)".《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 6th Meeting:Hobart,AU》.2017,第2章. *
KAMP,Steffen 等."Description of video coding technology proposal by RWTH Aachen University". 《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 1st Meeting:Dresden,DE》.2010,第2.1、2.1.1、2.1.3、4.6、4.7章. *

Also Published As

Publication number Publication date
US20190014342A1 (en) 2019-01-10
WO2019010123A1 (en) 2019-01-10
BR112019027821A2 (pt) 2020-07-07
TW201907724A (zh) 2019-02-16
AU2018297993A1 (en) 2019-12-19
EP3649785A1 (en) 2020-05-13
KR20200023315A (ko) 2020-03-04
SG11201910916RA (en) 2020-01-30
CN110915214A (zh) 2020-03-24
US10757442B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
CN110915214B (zh) 用于运动向量推导的基于部分重构建的模板匹配
CN110036638B (zh) 解码视频数据的方法、装置、设备及存储媒体
CN110754087B (zh) 用于双向光学流(bio)的高效存储器带宽设计
CN111602399B (zh) 改进的解码器侧运动矢量推导
CN111989922B (zh) 用于对视频数据进行解码的方法、设备和装置
CN110431842B (zh) 解码器侧运动向量导出
CN110301135B (zh) 解码视频数据的方法和装置以及计算机可读存储介质
CN110352598B (zh) 对视频数据进行解码的方法、装置和设备,以及媒体
CN107534766B (zh) 于视频译码中针对子块推导运动信息方法、装置
CN107690810B (zh) 确定用于视频译码的照明补偿状态的系统及方法
CN110089116B (zh) 通过光照补偿和整数运动向量限制进行编码优化
CN110431845A (zh) 约束通过解码器侧运动向量推导导出的运动向量信息
WO2018200960A1 (en) Gradient based matching for motion search and derivation
CN112437299B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018555

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant