CN105247871A - 帧内块复制预测中的块翻动和跳跃模式 - Google Patents

帧内块复制预测中的块翻动和跳跃模式 Download PDF

Info

Publication number
CN105247871A
CN105247871A CN201480029735.5A CN201480029735A CN105247871A CN 105247871 A CN105247871 A CN 105247871A CN 201480029735 A CN201480029735 A CN 201480029735A CN 105247871 A CN105247871 A CN 105247871A
Authority
CN
China
Prior art keywords
frame
block
prediction
value
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480029735.5A
Other languages
English (en)
Other versions
CN105247871B (zh
Inventor
B·李
J·许
F·吴
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105247871A publication Critical patent/CN105247871A/zh
Application granted granted Critical
Publication of CN105247871B publication Critical patent/CN105247871B/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/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
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial 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/115Selection of the code volume for a coding unit prior to coding
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

在许多情况下,在使用帧内块复制预测来编码或解码块的领域中的各创新都改善了对帧内BC预测的块的编码效率。例如,这些创新中的一些涉及其中帧内BC预测的块相对于参考区域被翻动的块翻动,参考区域可由块矢量值来指示。其他创新涉及对跳跃模式的信号化,在跳跃模式中,当前帧内BC预测的块使用经信号化的BV差但缺少残留数据。

Description

帧内块复制预测中的块翻动和跳跃模式
背景
工程师使用压缩(也叫做源编码(sourcecoding或sourceencoding))来降低数字视频的比特率。压缩通过将视频信息转换成较低比特率的形式来降低存储和传送该信息的成本。解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。“编解码器”是编码器/解码器系统。
在过去的二十年中,已采用了各种视频编解码器标准,包括ITU-TH.261、H.262(MPEG-2或ISO/IEC13818-2)、H.263和H.264(MPEG-4AVC或ISO/IEC14496-10)标准、MPEG-1(ISO/IEC11172-2)和MPEG-4可视(ISO/IEC14496-2)标准以及SMPTE421M(VC-1)标准。最近,H.265/HEVC标准(ITU-TH.265或ISO/IEC23008-2)已被批准。当前,正在开发(例如,针对可缩放视频编码/解码、针对在样本比特深度或色度采样率方面具有较高保真度的视频的编码/解码、或针对多视图编码/解码的)HEVC标准的扩展。视频编解码器标准通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于解码器应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。
帧内块复制(“BC”)是H.265/HEVC扩展的处于开发中的预测模式。对于帧内BC预测模式,图片中的当前块的样本值是使用同一图片中的先前重构的样本值来预测的。块矢量(“BV”)指示从当前块到图片中包括用于预测的先前重构的样本值的区域的位移。BV被信号化在比特流中。帧内BC预测是一种形式的图片内预测—针对图片中的块的帧内BC预测不使用除了同一图片中的样本值以外的任何样本值。
如当前在H.265/HEVC标准中规定并在针对H.265/HEVC标准的某一参考软件中实现的,帧内BC预测模式具有若干问题。具体地,对具有可预测的BC位移的块的编码不会被高效地处理,并且针对具有相反模式的内容的帧内BC预测不会被高效地处理。
概述
总而言之,详细描述呈现了使用帧内块复制(“BC”)预测来编码或解码块的领域中的创新。例如,这些创新中的一些涉及使帧内BC预测的块相对于参考区域翻动的块翻动,该参考区域可由块矢量(“BV”)值来指示。其他创新涉及跳跃模式的信号化,其中当前的帧内BC预测的块使用经信号化的BV差但缺少残留数据。在许多情况下,这些创新改善了针对帧内BC预测的块的编码效率。
根据本文中描述的创新的第一方面,图像或视频编码器基于图片中的参考区域为该图片中的当前块(例如,编码单元、预测单元)确定帧内BC预测区域。帧内BC预测区域被相对于参考区域翻动。例如,帧内BC预测区域被相对于参考区域水平地翻动、相对于参考区域垂直地翻动、或相对于参考区域既水平地又垂直地翻动。
编码器使用帧内BC预测区域来编码当前块,并在比特流中输出经编码的数据。经编码的数据包括帧内BC预测区域是否相对于参考区域被翻动的指示。例如,该指示是比特流中的一个或多个句法元素,其可被信号化成针对当前块或包括当前块的较大块。(诸)句法元素可以是(诸)标志,每一标志指示对翻动方向的判定。(诸)句法元素可联合地与另一句法元素来编码或者被分开地信号化在比特流中。
相应的解码器接收比特流中经编码的数据。经编码的数据包括针对图片中的当前块(例如,编码单元、预测单元)的帧内BC预测区域是否相对于图片中的参考区域被翻动的指示。例如,该指示是比特流中的一个或多个句法元素,其可以被信号化成针对当前块或包括当前块的较大块。(诸)句法元素可以是(诸)标志,每一标志指示对翻动方向的判定。(诸)句法元素可联合地与另一句法元素来编码或者被分开地信号化。
解码器基于图片中的参考区域来确定针对当前块的帧内BC预测区域。帧内BC预测区域相对于参考区域被(例如,水平地和/或垂直地)翻动。解码器使用帧内BC预测区域来解码当前块。
当编码器或解码器确定帧内BC预测区域相对于其参考区域被翻动时,编码器或解码器可(a)确定参考区域,(b)翻动参考区域,并且随后(c)将在经翻动的参考区域的各位置处的样本值分配给在帧内BC预测区域的各位置处的样本值。或者编码器或解码器可(a)确定参考区域,(b)将在参考区域的各位置处的样本值分配给在帧内BC预测区域的各位置处的样本值,并且随后(c)翻动帧内BC预测区域。或者,编码器或解码器可(a)确定参考区域,并且随后(b)将在参考区域的各位置处的样本值分配给在帧内BC预测区域的相应位置处的样本值,其中这些相应位置考虑了翻动。
在一些示例实现中,经编码的数据包括针对当前块的BV值。BV值指示到图片中的参考区域的位移。在编码期间,BV值可以是预测的BV值,或者BV值可在BV估计中被标识出,并且用相对于预测的BV值的BV差来信号化。在解码期间,BV值可以是预测的BV值,或者BV值可通过将BV差添加到预测的BV值中来重构。
根据本文中描述的创新的另一方面,图像或视频编码器确定针对图片中的当前块(例如,编码单元、预测单元)的BV值。该BV值指示到图片中的参考区域的位移。编码器使用针对当前块的BV值和BV预测值(预测的BV值)来确定针对当前块的BV差。比特流可包括索引值,该索引值指示从多个BV预测值候选的集合中对要用作BV预测值的BV预测值候选的选择。或者,可按某一其他方式来选择BV预测值。编码器使用帧内BC预测用该BV值来编码当前块。编码器在比特流中输出经编码的数据,该经编码的数据包括指示当前块是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是使用帧内BC预测以跳跃模式来编码的,因此该比特流包括针对当前块的BV差但缺少针对当前块的残留数据。
在一些示例实现中,如果给定块(例如,当前块、后续块)不是使用帧内BC预测以跳跃模式来编码的,则另一标志可指示该给定块是否是使用帧内BC预测以非跳跃模式来编码的。如果不是使用帧内BC预测以非跳跃模式来编码的,则给定块可以用另一模式(诸如,帧内空间预测模式或图片间模式)来编码,如用一个或多个其他句法元素来指示的。
在一些示例实现中,用跳跃模式帧内BC预测出的给定块(例如,当前块、后续块)具有针对分割模式的定义的值。这会影响对针对分割模式的句法元素的信号化。如果给定块是使用帧内BC预测以非跳跃模式来编码的,则比特流包括指示针对给定块的分割模式的句法元素。然而,如果给定块是使用帧内BC预测以跳跃模式来编码的,则比特流缺少指示针对给定块的分割模式的句法元素,并且针对给定块的分割模式具有定义的值。
在一些示例实现中,用跳跃模式帧内BC预测出的给定块(例如,当前块、后续块)缺少指示给定块的残留数据的存在或缺失的标志。给定块的残留数据被假设为在比特流中是缺失的。同样,如果给定块是使用帧内BC预测以非跳跃模式来编码的,并且针对给定块的分割模式具有定义的值,则比特流缺少指示给定块的残留数据的存在或缺失的标志。在这种情况下,给定块的残留数据被假设为在比特流中是存在的。
否则,如果给定块是使用帧内BC预测以非跳跃模式来编码的,并且针对给定块的分割模式不具有定义的值,则比特流包括指示给定块的残留数据的存在或缺失的标志。
相应的解码器从比特流接收经编码的数据,该经编码的数据包括指示图片中的当前块(例如,编码单元、预测单元)是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是使用帧内BC预测以跳跃模式来编码的,因此比特流包括针对当前块的BV差但缺少针对当前块的残留数据。解码器使用针对当前块的BV差和BV预测值(预测的BV值)来确定当前块的BV值。比特流可包括索引值,该索引值指示从多个BV预测值候选的集合中对要用作BV预测值的BV预测值候选的选择。或者,可按某一其他方式来选择BV预测值。BV值指示到图片中的参考区域的位移。解码器使用帧内BC预测用该BV值来解码当前块。
在当前块是使用帧内BC预测以跳跃模式来编码的时候,针对当前块的帧内BC预测区域可相对于其参考区域被翻动。以上汇总了翻动操作、翻动方向和关于翻动是否被使用的信号化的示例。
针对帧内BC预测的创新可以被实现为方法的一部分、被适配成执行该方法的计算系统的一部分或存储用于使计算系统执行该方法的计算机可执行指令的有形计算机可读介质的一部分。各创新可以结合地或分开地使用。具体地,帧内BC预测中的块翻动可结合针对帧内BC预测的块的跳跃模式来使用。
参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
附图简述
图1是其中可实现所描述的一些实施例的示例计算系统的示图。
图2a和2b是其中可实现所描述的一些实施例的示例网络环境的示图。
图3是结合其可实现所描述的一些实施例的示例编码器系统的示图。
图4是结合其可实现所描述的一些实施例的示例解码器系统的示图。
图5a和5b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。
图6是示出结合其可实现所描述的一些实施例的示例视频解码器的示图。
图7a和7b是分别示出针对图片中的块的帧内BC预测和针对该块的BV预测的示图。
图8a-8d、9a-9c和10a-10c是示出针对各块的参考区域的翻动的示图。
图11和12是分别示出用于编码和解码的技术的流程图,其中帧内BC预测区域相对于参考区域被翻动。
图13和14是示出用于包括针对帧内BC预测的块的跳跃模式的编码的技术的流程图。
图15和16是示出用于包括针对帧内BC预测的块的跳跃模式的解码的技术的流程图。
图17a和17b是示出编码单元的根据现有方法的句法结构的表格。
图18是示出编码单元的可用跳跃模式编码成帧内BC预测的块的新句法结构的表。
详细描述
详细描述呈现了使用帧内块复制(“BC”)预测来编码或解码块的领域中的创新。例如,这些创新中的一些涉及使帧内BC预测的块相对于参考区域翻动的块翻动,该参考区域可由块矢量(“BV”)值来指示。其他创新涉及跳跃模式的信号化,其中当前的帧内BC预测的块使用经信号化的BV差但缺少残留数据。在许多情况下,这些创新改善了针对帧内BC预测的块的编码效率。
虽然本文中描述的操作是被适当描述为由视频编码器或视频解码器来执行,但在许多情况中,这些操作可由另一类型的媒体处理工具(例如图像编码器或图像解码器)来执行。
本文中描述的一些创新是参考专用于H.265/HEVC标准的句法元素和操作来示出的。例如,对H.265/HEVC标志的草稿版本JCTVC-P1005—即2014年2月的“高效视频编码(HEVC)范围扩展文本规范:第6稿”JCTVC-P1005_vl作出参考。本文中描述的各创新还可以被实现为针对其它标准或格式。
本文中描述的一些创新(例如,块翻动)是参考帧内BC预测来描述的。这些创新也可适用于其他上下文(例如,运动补偿中针对参考区域的块翻动)。
更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。
通常,所给出的技术/工具并不解决所有这些问题。
I.示例计算系统
图1示出了其中可实现几个所描述的创新的合适计算系统(100)的概括示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
参考图1,计算系统(100)包括一个或多个处理单元(110、115)和存储器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元(110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是(诸)处理单元可访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或这两者的某一组合。
存储器(120,125)存储实现帧内BC预测中的块翻动和/或跳跃模式的一个或多个创新的软件(180),该软件处于适用于由(诸)处理单元执行的计算机可执行指令的形式。
计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100)中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。
有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、DVD或可用于储存信息并可在计算系统(100)内访问的任何其他介质。存储(140)存储针对实现帧内BC预测中的块翻动和/或跳跃模式的一个或多个创新的软件(180)的指令。
(诸)输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统(100)提供输入的另一设备。对于视频,(诸)输入设备(150)可以是相机、视频卡、TV调谐卡、屏幕捕捉模块或接受模拟或数字形式的视频输入的类似设备、或将视频输入读到计算系统(100)中的CD-ROM或CD-RW。(诸)输出设备(160)可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统(100)的输出的另一设备。
(诸)通信连接(170)允许通过通信介质与另一计算实体通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
各创新可以在计算机可读介质的一般上下文中描述。计算机可读介质是可在计算环境内访问的任何可用有形介质。作为示例而非局限,对于计算系统(100),计算机可读介质包括存储器(120、125)、存储(140)、和以上任意的组合。
各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中所描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
术语“系统”和“设备”在本文中被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般来说,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计算硬件来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的方法中的任一者的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之类的ASIC、图像处理单元(“GPU”)、或诸如场可编程门阵列(“FPGA”)之类的可编程逻辑器件(“PLD”))来实现。
出于介绍的目的,本详细描述使用了如“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
II.示例网络环境
图2a和2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境(201,202)。编码器(220)和解码器(270)使用合适的通信协议通过网络(250)连接。网络(250)可包括因特网或另一计算机网络。
在图2a所示的网络环境(201)中,每个实时通信(“TC”)工具(210)都包括用于双向通信的编码器(220)和解码器(270)两者。给定的编码器(220)可以产生符合H.265/HEVC标准、SMPTE421M标准、ISO/IEC14496-10标准(也称为H.264或AVC)、另一标准、或专用格式的变型或扩展的输出,使得相应的解码器(270)接受来自编码器(220)的经编码的数据。双向通信可以是视频会议、视频电话呼叫或其它双方或多方通信场景的部分。虽然,图2a中的网络环境(201)包括两个实时通信工具(210),但网络环境(201)可改为包括参与多方通信的三个或更多个实时通信工具(210)。
实时通信工具(210)管理编码器(220)做出的编码。图3示出可以被包括在实时通信工具(210)中的示例编码器系统(300)。替换地,实时通信工具(210)使用另一编码器系统。实时通信工具(210)还管理解码器(270)做出的解码。图4示出可以被包括在实时通信工具(210)中的示例解码器系统(400)。替换地,实时通信工具(210)使用另一解码器系统。
在图2b中示出的网络环境(202)中,编码工具(212)包括编码供递送给多个回放工具(214)的视频的编码器(220),此多个回放工具(214)包括解码器(270)。单向通信可被提供用于视频监视系统、web相机监视系统、屏幕捕捉模块、远程桌面会议演示或在其中编码视频并将其从一个位置发送到一个或多个其它位置的其它场景。虽然在图2b中的网络环境(202)包括两个回放工具(214),但该网络环境(202)可以包括更多或更少的回放工具(214)。一般来说,回放工具(214)与编码工具(212)通信以确定回放工具(214)要接收的视频流。回放工具(214)接收该流、缓冲所接收的经编码的数据达合适的时间段并开始解码和回放。
图3示出可以被包括在编码工具(12)中的示例编码器系统(300)。替换地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放工具(214)的连接的服务器侧控制器逻辑。图4示出可以被包括在回放工具(214)中的示例解码器系统(400)。替换地,回放工具(214)使用另一解码器系统。回放工具(214)还可以包括用于管理与一个或多个编码工具(212)的连接的客户机侧控制器逻辑。
III.示例编码器系统
图3是结合其可实现所描述的一些实施例的示例编码器系统(300)的框图。编码器系统(300)可以是能够用多种编码模式中的任一者(诸如用于实时通信的低等待时间编码模式、转码模式和用于从文件或流中产生供回放的媒体的较高等待时间编码模式)操作的通用编码工具,或它可以是适用于一种这样的编码模式的专用编码工具。编码器系统(300)可以适用于编码特定类型的内容(例如屏幕捕捉内容)。编码器系统(300)可以被实现为操作系统模块、应用库的部分、独立的应用。总体上,编码器系统(300)从视频源(310)接收源视频帧序列(311)并产生经编码的数据作为到信道(390)的输出。到该信道的经编码的数据输出可包括在帧内BC预测中使用块翻动和/或跳跃模式编码的内容,如本文中所描述的。
视频源(310)可以是相机、调谐卡、存储介质、屏幕捕捉模块或其它数字视频源。视频源(310)以例如每秒30帧的帧速率产生视频帧序列。如本文中所使用的,术语“帧”一般指代源、经编码的或经重构的图像数据。对于逐行扫描视频,帧是逐行扫描视频帧。对于隔行视频,在各示例实施例中,隔行视频帧可以在编码之前被去隔行。
替换地,两个互补的隔行视频场可以被编码在一起作为单个视频帧或者被编码成两个经分开编码的场。除了指示逐行扫描视频帧或隔行扫描视频帧之外,术语“帧”或“图片”可以指示单个非成对的视频场、互补的成对视频场、表示在给定时间的视频对象的视频对象平面、或较大图像中的感兴趣区域。视频对象平面或区域可以是包括场景的多个对象或区域的较大图像的一部分。
抵达的源帧(311)被存储在包括多个帧缓冲器存储区域(321、322、…、32n)的源帧临时存储器存储区域(320)中。帧缓冲器(321、322等)在源帧存储区域(320)中保持一个源帧。在一个或多个源帧(311)已被存储在帧缓冲器(321,322等)中后,帧选择器(330)从源帧存储区域(320)中选择一个体源帧。帧选择器(330)选择帧以供输入到编码器(340)的次序可不同于视频源(310)产生这些帧的次序,例如某些帧的编码可以被按序延迟,从而允许一些更后面的帧被先编码并由此促成时间上向后的预测。在编码器(340)之前,编码器系统(300)可包括预处理器(未示出),该预处理器在编码之前执行对选中的帧(331)的预处理(例如滤波)。预处理可包括色彩空间转换成主要(例如亮度)和次要(例如偏向红色和偏向蓝色的色度差)分量以及用于编码的重采样处理(例如以减少色度分量的空间分辨率)。通常,在编码之前,视频已被转换成诸如YUV的色彩空间,其中亮度(Y)分量的样本值表示明亮度或强度值,而色度(U,V)分量的样本值表示色差值。色差值(以及从YUV色彩空间到诸如RGB的另一色彩空间和/或从另一色彩空间到YUV色彩空间的转换操作)的精确定义取决于实现。一般来说,如本文中所使用的,术语YUV指示具有亮度(或辉度)分量和一个或多个色度(或色差)分量的任意色彩空间,包括Y’UV、YIQ、Y’IQ和YDbDr以及诸如YCbCr和YCoCg之类的变型。色度样本值可以被子采样到较低的色度采样率(例如用于YUV4:2:0格式),或者色度样本值可以具有与亮度样本值相同的分辨率(例如用于YUV4:4:4格式)。或者,视频可用另一格式(例如,RGB4:4:4格式)来编码。
编码器(340)编码选中的帧(331)以产生经编码的帧(341)并且还产生存储器管理控制操作(“MMCO”)信号(342)或参考图片集(“RPS”)信息。RPS是在针对当前帧或任意后续帧的运动补偿中可用于供参考的帧集。如果当前帧不是已被编码的第一帧,则在执行其编码处理时,编码器(340)可以使用已经被存储在经解码帧的临时存储器存储区域(360)中的一个或多个先前被编码/解码的帧(369)。这样的存储的经解码帧(369)被用作用于当前源帧(331)的内容的帧间预测的参考帧。MMCO/RPS信息(342)向解码器指示哪些经重构的帧可被用作参考帧,并且因此应该被存储在帧存储区域中。
一般来说,编码器(340)包括执行编码任务的多个编码模块,编码任务为诸如分割成小块、帧内预测估计和预测、运动估计和补偿、频率变换、量化和熵编码。由编码器(340)执行的确切操作可以取决于压缩格式而变化。
输出的经编码数据的格式可以是H.265/HEVC格式、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)或其它格式的变型或扩展。
编码器(340)可以将帧分割成相同尺寸或不同尺寸的多个小块。例如,编码器(340)沿小块行和小块列来拆分帧,这些小块行和小块列利用帧边界定义在该帧内的小块的水平和垂直边界,其中每个小块是矩形区域。小块通常被用于提供并行处理的选项。帧还可以被组织成一个或多个片,其中一个片可以是整个帧或该帧的区域。片可以独立于帧中的其它片编码,这改善了错误复原性。出于编码和解码的目的,片或小块的内容被进一步分割成块或其它样本值集。
对于根据H.265/HEVC标准的句法来说,编码器将帧(或片或小块)的内容拆分成编码树单元。编码树单元(“CTU”)包括被组织为亮度编码树块(“CTB”)的亮度样本值和被组织为两个色度CTB的相应的色度样本值。
CTU(及其CTB)的尺寸由编码器来选择,并且可例如为64x64、32x32或16x16个样本值。CTU包括一个或多个编码单元。编码单元(“CU”)具有亮度编码块(“CB”)和两个相应的色度CB。例如,具有64x64亮度CTB和两个64x64色度CTB(YUV4:4:4格式)的CTU可以被拆分成4个CU,其中每个CU包括一32x32亮度CB和两个32x32色度CB,并且每个CU可能被进一步拆分成更小的CU。或者,作为另一示例,具有64x64亮度CTB和两个32x32色度CTB(YUV4:2:0格式)的CTU可以被拆分成4个CU,其中每个CU包括一32x32亮度CB和两个16x16色度CB,并且每个CU可能被进一步拆分成更小的CU。CU的最小允许尺寸(例如8x8、16x16)可被信号化在比特流中。
通常,CU具有诸如帧间或帧内之类的预测模式。出于信号化预测信息(例如预测模式细节、移位值等)和/或预测处理的目的,CU包括一个或多个预测单元。预测单元(“PU”)具有亮度预测块(“PB”)和两个色度PB。对于帧内预测的CU,PU与CU具有相同的尺寸,除非CU具有最小尺寸(例如8x8)。在那个情况下,CU可被拆分成四个较小的PU(例如,如果最小CU尺寸为8x8,则PU为4x4),或者PU可具有最小CU尺寸,如CU的句法元素所指示的。出于残留编码/解码的目的,CU还具有一个或多个变换单元,其中变换单元(“TU”)具有一变换块(“TB”)和两个色度TB。在帧内预测的CU中的PU可以包含单个TU(尺寸与PU相同)或多个TU。编码器决定如何将视频分割成CTU、CU、PU、TU等。
在H.265/HEVC实现中,片可以包括单个片段(独立的片段)或被划分成多个片段(独立的片段和一个或多个从属的片段)。片段是在小块扫描中连续排序的整数个CTU,这些CTU包含在单个网络抽象层(“NAL”)单元中。对于独立的片段,片段头部包括适用于该独立的片段的句法元素的值。对于从属片段,截断的片段头部包括适用于该从属片段的句法元素的几个值,并且从属片段的其它句法元素的值是以解码次序从在前的独立的片段的值中推导出来的。
如本文中所使用的,术语“块”可以指示宏块、预测单元、残留数据单元、或者CB、PB或TB,或者某些其它样本值集,这取决于上下文。
回到图3,编码器根据来自源帧(331)中的其它、先前重构的样本值的预测来表示该帧(331)的帧内编码的块。对于帧内BC预测,图片内估计器估计块相对于其他、先前重构的样本值(或者在一些实现中,为相对于帧(331)中的原始样本值)的位移。帧内预测参考区域是帧中用于生成块的BC预测值的样本区域。参考区域可以用(在BV估计中确定的)块矢量(“BV”)值来指示。参考区域可以相对于块的预测区域被翻动,如本文中所描述的。对于块的帧内空间预测,图片内估计器估计相邻的重构的样本值到该块的外插。图片内估计器可以输出经熵编码的预测信息(例如帧内BC预测的BV值或帧内空间预测的预测模式(方向))。帧内预测预测器应用预测信息来确定帧内预测值。
编码器(340)依据来自参考帧的预测来表示源帧(331)的帧间编码的预测的块。运动估计器估计块相对于一个或多个参考帧(369)的运动。当使用多个参考帧时,这多个参考帧可来自不同的时间方向或相同的时间方向。经运动补偿的预测参考区域是(诸)参考帧中用于生成当前帧中的样本块的经运动补偿的预测值的样本区域。参考区域可相对于块的预测区域被翻动,如本文中所描述的。运动估计器输出诸如运动矢量(“MV”)信息之类被熵编码的运动信息。运动补偿器将MV应用于参考帧(369)以确定用于帧间预测的经运动补偿的预测值。
编码器可以确定在块的预测值(帧内或帧间)和相应的原始值之间的差值(如果有的话)。这些预测残留值将进一步使用频率变换、量化和熵编码来编码。例如,编码器(340)为图片、小块、片和/或视频的其它部分设置量化参数(“QP”)的值,并相应地量化变换系数。编码器(340)的熵编码器压缩经量化的变换系数值以及某些辅助信息(例如MV信息、BV预测值的索引值、BV差、QP值、模式决策、参数选择)。典型的熵编码技术包括指数-Golomb编码、Golomb-ice编码、算术编码、差分编码、Huffman编码、行程长度编码、可变长度到可变长度(“V2V”)编码、可变长度到固定长度(“V2F”)编码、Lempel-Ziv(“LZ”)编码、字典编码、概率区间划分熵编码(“PIPE”)和上述编码的组合。
熵编码器可对不同种类的信息使用不同的编码技术,并可组合地应用多个技术(例如,通过应用Golomb-Rice编码,随后应用算术编码),并可从特定编码技术内的多个码表中进行选择。
自适应去块滤波器可以被包括在编码器(340)中的运动补偿循环内以平滑经解码的帧中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(诸如去振铃滤波、自适应环路滤波(“ALF”)或样本自适应偏移(“SAO”)滤波,未示出)作为内环路滤波操作。
由编码器(340)产生的经编码的数据包括针对各层比特流句法的句法元素。对于根据H.265/HEVC标准的句法,例如,图片参数集(“PPS”)是包含可与图片相关联的句法元素的句法结构。PPS可被用于单个图片,或者PPS可被重用于序列中的多个图片。PPS通常被信号化为与图片的经编码数据分开(例如,针对PPS的一个NAL单元和针对图片的经编码数据的一个或多个其它NAL单元)。在图片的经编码数据内,句法元素指示要为该图片使用哪个PPS。类似地,对于根据H.265/HEVC标准的句法,序列参数集(“SPS”)是包含可与图片序列相关联的句法元素的句法结构。比特流可包括单个SPS或多个SPS。SPS通常被信号化成与序列的其它数据分开,并且其它数据中的句法元素指示要使用哪个SPS。
经编码的帧(341)和MMCO/RPS信息(342)(或与MMCO/RPS信息(342)等价的信息,因为在编码器(340)处已经知道各帧的依赖关系和排序结构)由解码处理仿真器(350)处理。解码处理仿真器(350)实现了解码器的一些功能,例如对任务进行解码以重构参考帧。以与MMCO/RPS信息(342)相一致的方式,解码处理仿真器(350)确定给定的经编码帧(341)是否需要被重构并被存储以供在对要编码的后续帧的帧间预测中用作参考帧。如果经编码的帧(341)需要被存储,则解码处理仿真器(350)对将由解码器进行的解码处理建模,该解码器接收经编码的帧(341)并产生相应的经解码的帧(351)。通过这么做,当编码器(340)已经使用已被存储在经解码帧存储区域(360)中的经解码的帧(369)时,解码处理仿真器(350)还使用来自存储区域(360)的经解码的帧(369)作为解码处理的一部分。
经解码帧临时存储器存储区域(360)包括多个帧缓冲器存储区域(361、362、…、3β)。以与MMCO/RPS信息(342)相一致的方式,解码处理仿真器(350)管理存储区域(360)中的内容,以便标识出具有编码器(340)不再需要将其用作参考帧的帧的任何帧缓冲器(361、362等)。在对解码处理进行建模之后,解码处理仿真器(350)在帧缓冲(361,362等)中存储已经以此方式标识出的新解码的帧(351)。
经编码的帧(341)和MMCO/RPS信息(342)被缓冲在临时的经编码数据区域(370)中。被聚集在经编码数据区域(370)中的经编码数据将一个或多个图片的经编码数据作为基本经编码视频比特流的句法的一部分来包含。聚集在经编码数据区域(370)中的经编码数据还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个补充增强信息(“SEI”)消息或视频可用性信息(“VUI”)消息中的一个或多个参数)。
来自临时经编码数据区域(370)的经聚集的数据(371)由信道编码器(380)处理。信道编码器(380)可以(例如根据诸如ITU-TH.222.0|ISO/IEC13818-1的媒体程序流或传输流格式,或诸如IETFRFC3550的因特网实时传输协议格式)分组化和/或复用经聚集的数据供作为媒体流来传输或存储,在这种情况中,信道编码器(380)可以添加句法元素作为媒体传输流的句法的一部分。或者,信道编码器(380)可以(例如根据诸如ISO/IEC14496-12的媒体容器格式)组织经聚集的数据以供作为文件来存储,在这种情况中,信道编码器(380)可以添加句法元素作为媒体存储文件的句法的一部分。或者,更一般地,信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在这种情况中,信道编码器(380)可以添加句法元素作为(诸)协议的句法的一部分。信道编码器(380)将输出提供给信道(390),该信道(390)表示存储、通信连接或该输出的另一信道。信道编码器(380)或信道(390)还可以包括例如用于前向纠错(“FEC”)编码和模拟信号调制的其它元素(未示出)。
IV.示例解码器系统
图4是结合其可实现所描述的一些实施例的示例解码器系统(400)的框图。解码器系统(400)可以是能够在多种解码模式(例如针对实时通信的低等待时间解码模式以及针对来自文件或流中的媒体回放的较高等待时间解码模式)中的任一者操作的通用解码工具,或它可以是适用于一种这样的解码模式的专用解码工具。解码器系统(400)可以适用于解码特定类型的内容(例如屏幕捕捉内容)。解码器系统(400)可以被实现为操作系统模块、应用库的一部分或独立的应用。总体上,解码器系统(400)从信道(410)接收经编码的数据并产生经重构的帧作为针对输出目的地(490)的输出。经编码的数据可包括已在帧内BC预测中使用块翻动和/或跳跃模式来编码的内容,如本文中所描述的。
解码器系统(400)包括信道(410),该信道(410)可以表示存储、通信连接或针对作为输入的经编码数据的另一信道。信道(410)产生已经被信道编码的经编码数据。信道解码器(420)可以处理经编码的数据。例如,信道解码器(420)可以(例如根据诸如ITU-TH.222.0|ISO/IEC13818-1的媒体程序流或传输流格式,或诸如IETFRFC3550的因特网实时传输协议格式)去分组化和/或去复用已被聚集以供作为媒体流来传输或存储的数据,在这种情况中,信道解码器(420)可以解析所添加的作为媒体传输流的句法的一部分的句法元素。或者,信道解码器(420)可以(例如根据诸如ISO/IEC14496-12的媒体容器格式)来将已被聚集以供作为文件来存储的经编码的视频数据分开,在这种情况中,信道解码器(420)可以解析所添加的作为媒体存储文件的句法的一部分的句法元素。或者,更一般地,信道解码器(420)可以实现一个或多个媒体系统去复用协议或传输协议,在这种情况中,信道解码器(420)可以解析所添加的作为(诸)协议的句法的一部分的句法元素。信道(410)或信道解码器(420)还可以包括例如用于FEC解码和模拟信号解调的其它元素(未示出)。
从信道解码器(420)输出的经编码的数据(421)被存储在临时的经编码数据区域(430)中,直到已经接收到足够数量的这样的数据。经编码的数据(421)包括经编码的帧(431)和MMCO/RPS信息(432)。在经编码数据区域(430)中的经编码数据(421)包含一个或多个图片的经编码数据作为基本编码的视频比特流的句法的一部分。在经编码数据区域(430)中的经编码数据(421)还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个SEI消息或VUI消息中的一个或多个参数)。
一般来说,经编码数据区域(430)临时存储经编码数据(421),直到这样的经编码数据(421)被解码器(450)使用。此时,经编码帧(431)和MMCO/RPS信息(432)的经编码数据被从经编码数据区域(430)传输到解码器(450)。
当解码继续时,新的经编码数据被添加到经编码数据区域(430)并且保留在经编码数据区域(430)中的最旧的经编码数据被传输到解码器(450)。
解码器(450)解码经编码帧(431)以产生相应的经解码帧(451)。在适当时,当执行其解码处理时,解码器(450)可以将一个或多个先前解码的帧(469)用作帧间预测的参考帧。解码器(450)从经解码帧临时存储器存储区域(460)中读取这样的先前解码的帧(469)。通常,解码器(450)包括执行诸如熵解码、帧内预测、运动补偿帧间预测、逆量化、逆频率变换和小块合并之类的解码任务的多个解码模块。由解码器(450)执行的确切操作可以取决于压缩格式而变化。
例如,解码器(450)接收经压缩的帧或帧序列的经编码数据,并产生包括经解码的帧(451)的输出。在解码器(450)中,缓冲器接收针对经压缩的帧的经编码数据,并在适当时,使得接收到的经编码数据对熵解码器可用。熵解码器对经熵编码的量化数据以及经熵编码的辅助信息进行熵解码,通常应用编码器中执行的熵编码的逆来进行熵解码。运动补偿器将运动信息应用于一个或多个参考帧以形成针对正被重构的帧的任何帧间编码块的经运动补偿的预测值。帧间参考区域可以相对于块的预测区域被翻动,如本文中所描述的。帧内预测模块可从相邻的、先前重构的样本值中空间地预测当前块的样本值,或者对于帧内BC预测,使用帧中的帧内预测区域的先前重构的样本值来预测当前块的样本值。帧内参考区域可用BV值来指示。参考区域可以相对于块的预测区域被翻动,如本文中所描述的。解码器(450)还重构预测残留值。逆量化器对经熵解码的数据进行逆量化。例如,解码器(450)基于比特流中的句法元素为图片、小块、片和/或视频的其它部分设置QP值,并相应地对变换系数进行逆量化。
逆频率变换器将量化的频域数据转换成空间域数据。对于帧间预测的块,解码器(450)将重构的预测残留值与经运动补偿的预测值组合。解码器(450)可以类似地将预测残留值与来自帧内预测的预测值组合。自适应去块滤波器被包括在视频解码器(450)中的运动补偿环路内以平滑经解码的帧(451)中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波、ALF或SAO滤波;未示出)作为内环路滤波操作。
经解码帧临时存储器存储区域(460)包括多个帧缓冲器存储区域(461、462、…、46n)。经解码帧存储区域(460)是经解码图片缓冲器的一个示例。解码器(450)使用MMCO/PS信息(432)来标识该解码器可将经解码帧(451)存储在其中的帧缓冲器(461、462等)。解码器(450)将经解码的帧(451)存储在那个帧缓冲器中。
输出序列发生器(480)标识按输出次序将产生的下一帧何时可在经编码帧存储区域(460)中获得。当按输出次序将产生的下一帧(481)可在经解码帧存储区域(460)中获得时,输出序列发生器(480)读取该下一帧并将其输出到输出目的地(490)(例如显示器)。一般来说,输出序列发生器(480)将帧从经解码帧存储区域(460)中输出的次序可以与解码器(450)解码这些帧的次序不同。
V.示例视频编码器
图5a和5b是可结合其实现所描述的一些实施例的通用视频编码器(500)的框图。编码器(500)接收包括当前图片的视频图片序列作为输入视频信号(505)并在经编码视频流(595)中产生经编码的数据作为输出。
编码器(500)是基于块的并使用取决于实现的块格式。块还可在不同的阶段上被进一步细分,例如在预测、频率变换和/或熵编码阶段。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块随后可以被划分成更小的样本值块以用于编码和解码。在针对H.265/HEVC标准的编码的实现中,编码器将图片分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
编码器(500)使用图片内编码和/或图片间编码来压缩图片。编码器(500)的许多组件被用于图片内编码和图片间编码两者。由这些组件执行的确切操作可取决于所压缩的信息的类型而变化。
小块化模块(510)可选地将图片分割成相同尺寸或不同尺寸的多个小块。例如,小块化模块(510)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。在H.265/HEVC实现中,编码器(500)将图片分割成一个或多个片,其中每个片包括一个或多个片段。
通用编码控件(520)接收输入视频信号(505)的图片以及来自编码器(500)的各个模块的反馈(未示出)。整体上,通用编码控件(520)将控制信号(未示出)提供给其它模块(例如小块化模块(510)、变换器/缩放器/量化器(530)、缩放器/逆变换器(535)、图片内估计器(540)、运动估计器(550)以及帧内/帧间切换)以设置和改变编码期间的编码参数。具体地,通用编码控件(520)可以决定在编码期间是否和如何使用帧内BC预测的各方面(例如,跳跃模式、块翻动)。通用编码控件(520)还可以估计编码期间的中间结果,例如执行速率-失真分析来估计。通用编码控件(520)产生指示在编码期间所做出的判定的通用控制数据(522),使得对应的解码器可以作出一致的判定。通用控制数据(522)被提供给头部格式化器/熵编码器(590)。
如果当前图片是使用图片间预测来预测的,则运动估计器(550)相对于一个或多个参考图片估计输入视频信号(505)的当前图片中的样本值块的运动。运动估计器(550)可评估用于翻动图片间编码的块的给定参考区域的选项,如以下所描述的。经解码图片缓冲器(570)缓冲一个或多个重构的先前编码的图片以供用作参考图片。
当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(550)产生诸如MV数据、合并模式索引值、参考图片选择数据和块翻动是否被使用之类的辅助信息运动数据(552)。运动数据(552)被提供给头部格式化器/熵编码器(590)以及运动补偿器(555)。
运动补偿器(555)将MV应用于来自经解码图片缓冲器(570)的(诸)经重构的参考图片。运动补偿器(555)产生针对当前图片的经运动补偿的预测。当块翻动被使用时,运动补偿器(555)可考虑(当前块的)预测区域相对于其参考区域的翻动,如以下所描述的。
在编码器(500)内的分开的路径中,图片内估计器(540)确定如何执行对输入视频信号(505)的当前图片的样本值块的图片内预测。当前图片可全部或部分使用图片内编码来编码。对于帧内空间预测,使用当前图片的重构(538)的值,图片内估计器(540)确定如何从当前图片的邻近的、先前重构的样本值中空间地预测当前图片中的当前块的样本值。或者,对于使用BV值的帧内BC预测,图片内估计器(540)估计当前块的样本值到当前图片内的不同候选参考区域的位移。候选参考区域可包括重构的样本值,或者在一些实现中,出于BV估计的目的,包括来自输入视频的原始样本值。图片内估计器(540)可评估用于相对于相应的候选参考区域翻动(当前块的)帧内BC预测区域的不同选项,如以下所描述的。
图片内估计器(540)产生辅助信息帧内预测数据(542),诸如指示帧内预测使用空间预测还是帧内BC预测的信息、(针对帧内空间预测的)预测模式方向、(针对帧内BC预测的)BV值以及(针对帧内BC预测)块翻动是否被使用。帧内预测数据(542)被提供给头部格式化器/熵编码器(590)以及图片内预测器(545)。
根据帧内预测数据(542),图片内预测器(545)从当前图片的相邻的、先前重构的样本值中空间地预测当前图片中的当前块的样本值。或者,对于帧内BC预测,图片内预测器(545)使用帧内预测参考区域的先前重构的样本值来预测当前块的样本值,帧内预测参考区域由针对当前块的BV值来指示。对于帧内BC预测,图片内预测器(545)可考虑(当前块的)帧内BC预测区域相对于其参考区域的翻动,如以下所描述的。在一些情况中,BV值可以是BV预测值(预测的BV值)。在一些情况中,BV值可不同于其预测的BV值。当图片的色度数据具有与亮度数据相同的分辨率时(例如,当格式为YUV4:4:4格式或RGB4:4:4格式时),对色度块应用的BV值可与对亮度块应用的BV值相同。另一方面,当图片的色度数据相对于亮度数据具有降低的分辨率时(例如,当格式为YUV4:2:0格式时),对色度块应用的BV值可被缩小并可能被舍入以对色度分辨率方面的差异进行调整(例如,通过将BV值的垂直和水平分量除以2并且将其截短或舍入成整数值来调整)。
帧内/帧间切换选择对给定块的预测(558)将是经运动补偿的预测还是图片内预测。对于非跳跃模式块,预测(558)的块和输入视频信号(505)的原始当前图片的对应部分之间的差异(如果有的话)提供残留值(518)。在当前图片的重构期间,对于非跳跃模式块,经重构的残留值与预测(558)组合来从视频信号(505)中产生对原始内容的近似或精确的重构(538)。(在有损压缩中,一些信息从视频信号(505)中丢失。)
在变换器/缩放器/量化器(530)中,频率变换器将空间域视频信息转换为频域(即频谱、变换)数据。对于基于块的视频编码,频率变换器将离散余弦变换(“DCT”)、其整数近似、或另一类型的前向块变换(例如离散正弦变换或其整数近似)应用于预测残留数据的块(或者在预测(558)为空的情况下,应用于样本值数据),从而产生频率变换系数的块。编码器(500)可能还能够指示这样的变换步骤被省略了。缩放器/量化器对变换系数进行缩放和量化。例如,量化器用量化步骤尺寸将死区标量量化应用于的频域数据,该量化步骤尺寸在逐图片的基础上、逐小块的基础上、逐片的基础上、逐块的基础上、因频率而异的基础上或在其他基础上变化。经量化的变换系数数据(532)被提供给头部格式化器/熵编码器(590)。
在缩放器/逆变换器(535)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。逆频率变换器执行逆频率变换,从而产生经重构的预测残留值或样本值的块。对于非跳跃模式块,编码器(500)将经重构的残留值与预测(558)的值(例如,经运动补偿的预测值、图片内预测值)组合以形成重构(538)。对于跳跃模式块,编码器(500)使用预测(558)的值作为重构(538)。
对于图片内预测,重构(538)的值可以被馈送回图片内估计器(540)和图片内预测器(545)。同样,重构(538)的值可以被用于后续图片的运动补偿的预测。重构(538)的值可以被进一步滤波。对于视频信号(505)的给定图片,滤波控件(560)确定如何对重构(538)的值执行去块滤波和SAO滤波。滤波控件(560)生成滤波控制数据(562),它被提供给头部格式化器/熵编码器(590)和合并器/(诸)滤波器(565)。
在合并器/(诸)滤波器(565)中,编码器(500)将来自不同小块的内容合并到图片的经重构版本中。编码器(500)根据滤波器控制数据(562)选择性地执行去块滤波和SAO滤波,以便自适应地平滑各帧中的各边界上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波或ALF;未示出)。取决于编码器(500)的设置,小块边界可以被选择性地滤波或根本不被滤波,并且编码器(500)可以在经编码的比特流内提供指示这样的滤波是否被应用的句法。经解码图片缓冲器(570)缓冲经重构的当前图片以供在后续运动补偿的预测中使用。
头部格式化器/熵编码器(590)格式化和/或熵编码通用控制数据(522)、量化的变换系数数据(532)、帧内预测数据(542)、运动数据(552)以及滤波器控制数据(562)。对于帧内预测数据(542),头部格式化器/熵编码器(590)可以选择(帧内BV预测的)BV预测值索引值并对其进行熵编码。头部格式化器/熵编码器(590)还可对指示是否将块翻动用于帧内BC预测(或运动补偿)的句法元素进行熵编码。在一些情况中,头部格式化器/熵编码器(590)还(相对于BV值的BV预测值)确定BV值的BV差,随后对BV差进行熵编码,例如使用上下文自适应二进制算术编码来对BV差进行熵编码。具体地,对于跳跃模式帧内BC预测的块,BV差被信号化。
头部格式化器/熵编码器(590)在经编码视频比特流(595)中提供经编码的数据。经编码的视频比特流的格式(595)可以是H.265/HEVC格式、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)或其它格式的变型或扩展。
取决于所需的压缩的实现和类型,编码器的模块可被添加、省略、拆分成多个模块、与其它模块组合、和/或用相似的模块来替代。在替换实施例中,具有不同模块和/或其它配置的模块的编码器执行一个或多个所描述的技术。编码器的具体实施例通常使用编码器(500)的变型或补充版本。所示的编码器(500)内的各模块之间的关系指示了信息在编码器中的一般流动;为简明起见,未示出其它关系。
VI.示例视频解码器
图6是结合其可实现所描述的一些实施例的通用解码器(600)的框图。解码器(600)接收经编码的视频比特流(605)中的经编码的数据并产生包括经重构视频(695)的图片的输出。经编码的视频比特流的格式(605)可以是H.265/HEVC格式、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)或其它格式的变型或扩展。
解码器(600)是基于块的并使用取决于实现的块格式。块可以在不同的阶段被进一步细分。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块随后可以被划分成更小的样本值块。在针对H.265/HEVC标准的解码实现中,将图片分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
解码器(600)使用图片内解码和/或图片间解码来对图片进行解压缩。解码器(600)的许多组件被用于图片内解码和图片间解码这两者。由这些组件执行的确切操作可以取决于正被解压缩的信息的类型而变化。
缓冲器在经编码的视频比特流(605)中接收经编码数据,并使得接收到的经编码数据可用于解析器/熵解码器(610)。解析器/熵解码器(610)通常应用在编码器(500)中执行的熵编码的逆(例如上下文自适应二进制算术解码)对经熵编码的数据进行熵解码。作为解析和熵解码的结果,解析器/熵解码器(610)产生通用控制数据(622)、经量化的变换系数数据(632)、帧内预测数据(642)、运动数据(652)以及滤波器控制数据(662)。对于帧内预测数据(642),解析器/熵解码器(610)对(帧内BC预测的)BV预测值索引值进行熵解码。解析器/熵解码器(610)还可对指示是否将块翻动用于帧内BC预测(或运动补偿)的句法元素进行熵解码。在一些情况中,解析器/熵解码器(610)还可以(例如使用上下文自适应二进制算术解码)对BV值的BV差进行熵解码,随后将该BV差与相应的BV预测值组合以重构BV值。具体地,对于跳跃模式的帧内BC预测的块,将BV差从比特流中解析出来,并将其与(例如,用BV预测值索引值指示的)BV预测值组合以重构BV值。
通用解码控件(620)接收通用控制数据(622)并将控制信号(未示出)提供给其它模块(例如缩放器/逆变换器(635)、图片内预测器(645)、运动补偿器(655)以及帧内/帧间切换)以设置和改变解码期间的解码参数。
如果当前图片是使用图片间预测来预测的,则运动补偿器(655)接收运动数据(652),例如MV数据、参考图片选择数据、合并模式索引值以及指示是否(对运动补偿)使用块翻动的句法元素。运动补偿器(655)将MV应用于来自经解码图片缓冲器(670)的(诸)经重构的参考图片。当块翻动被使用时,运动补偿器(655)可考虑(当前块的)预测区域相对于其参考区域的翻动,如以下所描述的。运动补偿器(655)产生针对当前图片中的帧间编码块的运动补偿的预测。经解码图片缓冲器(670)存储一个或多个先前重构的图片以供用作参考图片。
在解码器(600)内的分开路径中,帧内预测预测器(645)接收帧内预测数据(642),例如指示帧内预测使用空间预测还是帧内BC预测的信息、(针对帧内空间预测的)预测模式方向、(针对帧内BC预测的)BV值、以及指示是否(对帧内BC预测)使用块翻动的句法元素。对于帧内空间内预测,根据预测模式数据使用当前图片的重构(638)的值,图片内预测器(645)从当前图片的相邻的、先前重构的样本值中空间地预测当前图片中的当前块的样本值。或者,对于使用BV值的帧内BC预测,图片内预测器(645)使用帧内预测参考区域的先前重构的样本值来预测当前块的样本值,帧内预测参考区域由当前块的BV值来指示。对于帧内BC预测,图片内预测器(645)可考虑(当前块的)帧内BC预测区域相对于其参考区域的翻动,如以下所描述的。
帧内/帧间切换选择对于给定块的预测(658)是经运动补偿的预测还是图片内预测。例如,当遵循H.265/HEVC句法时,可以基于为图片中的CU编码的一个或多个句法元素来控制帧内/帧间切换,该CU可以包括帧内预测的CU和帧间预测的CU。对于非跳跃模式块,解码器(600)将预测(658)与重构的残留值组合以产生来自视频信号的内容的重构(638)。对于跳跃模式块,解码器(600)使用预测(658)的值作为重构(638)。
为了重构非跳跃模式块的残留值,缩放器/逆变换器(635)接收并处理经量化的变换系数数据(632)。在缩放器/逆变换器(635)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。逆频率变换器执行逆频率变换,从而产生经重构的预测残留值或样本值的块。例如,逆频率变换器将逆块变换应用到频率变换系数,从而产生样本值数据或预测残留数据。逆频率变换可以是逆DCT、其整数近似、或另一种类型的逆频率变换(例如逆离散正弦变换或其整数近似)。
对于图片内预测,重构(638)的值可以被馈送回图片内预测器(645)。对于图片间预测,重构(638)的值可以被进一步滤波。在合并器/(诸)滤波器(665)中,解码器(600)将来自不同小块的内容合并到图片的经重构版本中。解码器(600)根据滤波器控制数据(662)和滤波自适应规则来执行去块滤波和SAO滤波,以便自适应地平滑各帧中的各边界上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波或ALF;未示出)。小块边界可以被选择性地滤波或根本不滤波,这取决于解码器(600)的设置或经编码的比特流数据内的句法指示。经解码图片缓冲器(670)缓冲经重构的当前图片以供在后续的运动补偿的预测中使用。
解码器(600)还可包括后处理滤波器。后处理滤波器(608)可以包括去振铃滤波、自适应维纳滤波、膜颗粒再现滤波、SAO滤波或另一种类型的滤波。
取决于所希望的解压缩的实现和类型,解码器的模块可以被添加、省略、拆分成多个模块、与其他模块组合和/或用类似的模块来替代。在替换实施例中,具有不同模块和/或其它配置的模块的解码器执行一个或多个所描述的技术。解码器的具体实施例通常使用解码器(600)的变型或补充版本。所示的解码器(600)内的模块之间的关系指示信息在解码器中的一般流动;为简明起见,未示出其它关系。
VII.帧内块复制预测中的创新
该部分呈现帧内块复制(“BC”)预测的特征。例如,这些特征中的一些涉及其中帧内BC预测区域被相对于参考区域翻动的块翻动,该参考区域可由块矢量(“BV)值来指示。其他特征涉及跳跃模式的信号化,在跳跃模式中,当前的帧内BC预测的块使用经信号化的BV差但缺少残留数据。在许多情况下,这些特征改善了对帧内BC预测的块的编码效率。
具体地,本文中描述的各创新可在编码诸如屏幕捕捉内容之类的某种“人工”创建的视频内容时改善速率-失真性能。屏幕捕捉内容典型地包括重复的结构(例如图形、文本字符),其为帧内BC预测提供了改善性能的机会。屏幕捕捉内容通常用具有高色度采样分辨率的格式(例如YUV4:4:4或RGB4:4:4)来编码,但是它也可以用具有较低的色度采样分辨率(例如YUV4:2:0)的格式来编码。用于编码/解码屏幕捕捉内容的常见场景包括远程桌面会议,和对自然视频或其它“混合内容”视频上的图形覆盖的编码/解码。
A.帧内BC预测模式、BV值和BV预测—介绍
对于帧内BC预测,图片中的当前块的样本值是使用同一图片中的样本值来预测的。BV值指示从当前块到图片中包括用于预测的样本值的区域(“参考区域”)的位移。参考区域为当前块提供预测的值(“帧内BC预测区域”)。用于预测的样本值是先前重构的样本值,由此这些样本值可在编码期间在编码器处获得并在解码期间在解码器处获得。BV值可被信号化在比特流中,并且解码器可使用BV值来确定图片中的参考区域(其已在解码器处被重构)以供用于预测。帧内BC预测是一种形式的图片内预测—针对图片中的块的帧内BC预测不使用除了同一图片中的样本值以外的任何样本值。
图7a示出针对当前帧(710)中的当前块(760)的帧内BC预测。当前块可以是编码单元(“CU”)的编码块(“CB”)、预测单元(“PU”)的预测块(“PB”)、变换单元(“TU”)的变换块(“TB”)或其它块。当前块的尺寸可以是64x64,32x32,16x16,8x8或某个其它尺寸。更一般地,当前块的尺寸为mxn,其中m和n中的每一者都是整数,并且其中m和n可彼此相等或可具有不同的值。替换地,当前块可具有某一其他形状(例如,经编码视频对象的具有非矩形形状的区域)。
BV(761)指示当前块(760)到图片中包括用于预测的样本值的参考区域(780)的位移(或偏移)。由BV(761)指示的参考区域(780)有时被称为当前块(760)的“匹配块”。匹配块可与当前块(760)相同,或它可以是当前块(760)的近似。假设当前块的左上位置在当前帧中的位置(x0,y0)处,并假设参考区域的左上位置在当前帧中的位置(x1,y1)处。BV指示位移(x1-x0,y1-y0)。例如,如果当前块的左上位置在位置(256,128)处,并且参考区域的左上位置在位置(176,104)处,则BV值为(-80,-24)。在本示例中,负水平位移指示在当前块的左边的位置,而负垂直位移指示在当前块之上的位置。
帧内BC预测可以通过利用使用BC操作的冗余性(例如帧内部的重复模式)来改善编码效率。代替直接编码当前块的样本值,使用BV值来表示当前块的样本值。即使当前块的样本值不直接匹配用BV值指示的参考区域的样本值,但是这些差异可能是可忽略的(即在感知上不是显而易见的)。或者,如果这些差异是显著的,则这些差异可被编码成可比当前块的原始样本值更高效地被压缩的残留值。
共同地,使用帧内BC预测编码的块的BV值可消费大量的比特。这些BV值可被熵编码以降低比特率。为了进一步降低BV值的比特率,编码器可使用BV值的预测。BV值通常展示出冗余性—给定块的BV值通常与图片中的先前块的BV值相似或甚至相同。对于BV预测,给定块的BV值是使用BV预测值来预测的。给定块的BV值和BV预测值之间的差(或BV差)随后被熵编码。通常,BV差是针对BV值的水平和垂直分量以及BV预测值来计算的。当BV预测工作良好时,BV差具有支持高效熵编码的概率分布。在H.265/HEVC标准的一个草稿版本(JCTVC-P1005)中,BV预测值是当前CTU内最后编码的CU的BV值(即,当前CTU内的先前帧内BV预测的块的BV值)。替换地,BV预测值是从(例如,在当前块的周围附近的)多个可用BV值中选择的。
图7b示出帧中的当前块(760)的BV(761)以及帧(710)中的先前块(750)的BV(751)。先前块(750)的BV(751)用作当前块(760)的BV(761)的BV预测值。例如,如果BV值为(-80,-24)并且BV预测值为(-80,-32),则为(0,8)的BV差被熵编码。
解码器接收BV值的经熵编码的BV差,并对该BV差进行熵解码。解码器还确定BV值的BV预测值。由解码器确定的BV预测值与由编码器确定的BV预测值相同。解码器将BV预测值和经解码的BV差组合以重构BV值。
B.帧内BC预测中的块翻动
在帧内BC预测的先前方法中,BV值所指示的参考区域为当前块提供帧内BV预测区域。即,参考区域的样本值是当前块的经帧内BC预测的值。
根据本文中描述的创新的一方面,当前块的帧内BC预测区域相对于参考区域被翻动。当前块的BV值可指示参考区域。取代将参考区域直接用作当前块的帧内BC预测区域,该参考区域可被水平地和/或垂直地翻动。具体地,块翻动可改善对屏幕捕捉内容的文本字符的编码效率。
1.块翻动的示例
图8a-8d、9a-9c和10a-10c示出帧内BC预测中的块翻动的示例。
图8a示出当前图片(810)中的当前块(860)。当前块(860)包括文本字符p,如图8b中详述的。当前块(860)的BV(861)指示到当前图片(810)中的参考区域(880)的位移。参考区域(880)包括文本字符d,如图8c中详述的。在没有翻动的情况下,参考区域(880)是当前块(860)的劣质预测值。(当前块(860)和参考区域(880)之间的逐样本的差是显著的。)
编码器和解码器可使用帧内BC预测中的块翻动来改善编码效率。例如,参考区域(880)可被水平和垂直地翻动,如在图8d的经翻动的参考区域(881)中所示的。在该示例中,当参考区域(880)被水平和垂直地翻动时,经翻动的参考区域(881)精确地匹配当前块(860)。(即,帧内BC预测区域对于当前块(880)而言是完美的,并且残留值仅包括零值样本)。
类似地,参考区域(880)可被水平地翻动。例如,如果给定块包括文本字符b,则参考区域(880)的水平翻动可得到精确地匹配给定块的经翻动的参考区域。或者,参考区域(880)可被垂直地翻动。例如,如果给定块包括文本字符q,则参考区域(880)的垂直翻动可得到精确地匹配给定块的经翻动的参考区域。
通过针对许多字体的块翻动,包括文本字符集合(例如,集合b、d、p和q或者集合u和n)中的一文本字符的块可从包括同一文本字符集合中的另一文本字符的参考区域中精确地预测出。对于其他字体,包括文本字符集合中的一文本字符的块可从包括同一文本字符集合中的另一文本字符的参考区域中大致地预测出。更一般地,块翻动可改善对屏幕内容中的文本字符或其他模式的各个字母的编码效率。
由此,通过块翻动,包括文本字符(或其他模式)的块可被帧内BC预测,即使该文本字符(或其他模式)先前没有出现在图片中,这与对块进行编码的其他方法相比可改善编码效率。或者,即使文本字符(或其他模式)先前已出现在图片中,帧内BC预测也可使用相比于具有相同文本字符(或其他模式)的参考区域更靠近块的经翻动的参考区域。较靠近的经翻动的区域的BV值可相比于较远的参考区域的BV值被高效地多的编码。例如,对于包括文本字符q的当前块,假设包括相同的字符q的第一候选参考区域可用BV值(-280,-24)来指示,而包括不同的字符p的第二候选参考区域可用BV值(-32,0)来指示。第二候选参考区域可被水平地翻动以精确地匹配当前块。第二候选参考区域的BV值与第一候选参考区域的BV值相比可被更高效地编码(更少的比特),甚至还考虑信号化句法元素以指示该块翻动。
如图9a-9c所示,块和参考区域可包括多个文本字符。图9a示出包括文本字符dl的当前块(960)。当前块(960)的BV值指示到同一图片中的参考区域(980)的位移。参考区域(980)包括文本字符lb,如图9b中详述的。在没有翻动的情况下,参考区域(980)是当前块(960)的差预测值。然而,如果参考区域(980)被水平地翻动,则经翻动的参考区域(981)精确地匹配当前块(960)。
在上述示例中,块和参考区域包括各完整的文本字符。如图10a-10c所示,块和参考区域可改为包括文本字符、符号或模式的一个或多个部分。图10a示出包括文本字符L的一部分的当前块(1060)。当前块(1060)的BV值指示到同一图片中的参考区域(1080)的位移。参考区域(1080)包括文本字符F的一部分,如图10b中详述的。在没有翻动的情况下,参考区域(1080)是当前块(1060)的差预测值。然而,如果参考区域(1080)被垂直地翻动,则经翻动的参考区域(1081)精确地匹配当前块(1060)。
2.示例翻动操作
当在帧内BC预测中使用块翻动时,块的帧内BC预测区域相对于该块的参考区域被翻动。块翻动操作可取决于实现而用各种方式来实现。
根据执行块翻动操作的一种方法,在确定当前块的帧内BC预测区域时,编码器或解码器(a)确定参考区域,(b)翻动参考区域,以及随后(c)将在经翻动的参考区域的相应位置处的样本值分配给在帧内BC预测区域的相应位置处的样本值。例如,对于16x16块,编码器或解码器确定该块的BV值所指示的16x16参考区域,随后水平地和/或垂直地翻动该16x16参考区域。这涉及创建该16x16参考区域的已经被翻动的副本。随后,在经翻动的参考区域的各位置处的样本值被分配给在帧内BC预测区域的相同位置处的样本值(例如,在经翻动的参考区域的位置(0,0)处的样本值被分配给在帧内BC预测区域的位置(0,0)处的样本值,在经翻动的参考区域的位置(0,1)处的样本值被分配给在帧内BC预测区域的位置(0,1)处的样本值,并以此类推)。
根据执行块翻动操作的另一方法,在确定当前块的帧内BC预测区域时,编码器或解码器(a)确定参考区域,(b)将在参考区域的相应位置处的样本值分配给在帧内BC预测区域的相应位置处的样本值,以及随后(c)翻动帧内BC预测区域。例如,对于16x16块,编码器或解码器确定该块的BV值所指示的16x16参考区域。在参考区域的各位置处的样本值被分配给在帧内BC预测区域的相同位置处的样本值(例如,在参考区域的位置(0,0)处的样本值被分配给在帧内BC预测区域的位置(0,0)处的样本值,在参考区域的位置(0,1)处的样本值被分配给在帧内BC预测区域的位置(0,1)处的样本值,并以此类推)。随后,编码器或解码器水平地和/或垂直地翻动该16x16帧内BC预测。这涉及创建该16x16帧内BC预测的已经被翻动的副本。
根据执行块翻动操作的第三方法,编码器和解码器避免创建参考区域或帧内BC预测区域的中间副本。在确定当前块的帧内BC预测区域时,编码器或解码器(a)确定参考区域,以及随后(b)将在参考区域的相应位置处的样本值分配给在帧内BC预测区域的对应位置处的样本值,其中这些对应位置考虑了块翻动。当水平翻动被使用时,参考区域的第一列提供帧内BC预测区域的最后一列,参考区域的第二列提供帧内BC预测区域的倒数第二列,并以此类推。当垂直翻动被使用时,参考区域的第一行提供帧内BC预测区域的最后一行,参考区域的第二行提供帧内BC预测区域的倒数第二行,并以此类推。当水平和垂直翻动被一起使用时,在向帧内BC预测区域的各位置分配样本时,可按相反的次序水平和垂直地遍历参考区域的各位置。例如,对于16x16块,编码器或解码器确定该块的BV值所指示的16x16参考区域。在参考区域的各位置处的样本值按相反的次序被水平地和/或垂直地分配给在帧内BC预测区域的相应位置处的样本值(例如,在参考区域的位置(0,0)处的样本值被分配给在帧内BC预测区域的位置(15,15)处的样本值,在参考区域的位置(0,1)处的样本值被分配给在帧内BC预测区域的位置(15,14)处的样本值,并以此类推)。
3.对块翻动的示例信号化
当启用针对帧内BC预测的块翻动时,使用或不使用块翻动的判定可取决于实现按各种方式来信号化。
可启用针对序列、图片或其他视频单元的块翻动。(例如SPS中的)序列层句法元素、(例如,PPS中的)图片层句法元素或(例如,片段头部中的)片头部层句法元素可指示块翻动被启用还是被禁用。或者,可启用针对一些编码和解码简档或层的块翻动。启用块翻动的判定可在逐方向的基础上作出(例如,仅水平块翻动、仅垂直块翻动、或水平和垂直块翻动两者)。如果块翻动被启用,则附加句法元素信号化何时以及如何使用块翻动。
当仅垂直翻动被启用时,一标志值可指示垂直翻动在帧内BC预测期间是否被使用。当仅水平翻动被启用时,一标志值可指示水平翻动在帧内BC预测期间是否被使用。当垂直翻动和水平翻动两者都被启用时,两个标志值可为水平和垂直翻动指示翻动在帧内BC预测期间是否被使用,其中每一标志指示针对翻动方向的判定。或者,可使用具有多个值的单个句法元素(例如,具有指示仅垂直翻动、仅水平翻动、水平和垂直翻动两者或不翻动的可能值)。
指示块翻动是否针对当前块被使用的句法元素(例如,标志值)可与当前块的其他句法元素一起被信号化在比特流中。例如,关于针对PU的块翻动的(诸)句法元素被信号化成针对该PU。或者,指示块翻动是否针对当前块被使用的句法元素可被信号化在针对包括当前块的较大块的比特流中。例如,关于针对一个或多个PU的块翻动的(诸)句法元素被信号化成针对包括(诸)PU的CU。替换地,指示块翻动是否针对当前块被使用的句法元素被信号化在比特率中的某一其他层级处。
指示块翻动是否针对当前块被使用的句法元素可被熵编码。例如,当前块的标志值是使用上下文自适应二进制算法编码来编码,并使用上下文自适应二进制算法解码来解码的。替换地,可使用不同形式的熵编码,或者可将句法元素信号化成固定长度的值。
指示块翻动是否针对当前块被使用的(诸)句法元素可被分开且有条件地信号化在比特流中。例如,指示块翻动被使用还是不被使用的标志值在当前块被帧内BC预测的情况下被信号化,但在当前块没有被帧内BC预测的情况下不被信号化。或者,指示块翻动是否针对当前块被使用的(诸)句法元素可与比特流中的另一句法元素一起被联合地编码。例如,指示块翻动被使用还是不被使用的标志值可与指示当前块是否被帧内BC预测的标志值一起被联合地编码。
4.帧内BC预测中利用块翻动的示例编码
图11示出针对编码期间的帧内BC预测中的块翻动的示例技术(1100)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1100)。
编码器基于图片中的参考区域来确定(1110)针对该图片中的当前块的帧内BC预测区域。当前块可以是PU、CU或其他块。在BV估计中标识出的当前块的BV值可指示到该图片中的参考区域的位移。帧内BC预测区域相对于参考区域被翻动。例如,帧内BC预测区域相对于参考区域被水平地和/或垂直地翻动。以上描述了执行块翻动操作的方法的示例(参见章节VII.B.2)。
编码器使用帧内BC预测区域来对当前块进行编码(1120)并在比特流中输出(1130)经编码的数据。经编码的数据包括帧内BC预测区域是否相对于参考区域被翻动的指示。例如,该指示是比特流中的一个或多个句法元素。以上描述了对块翻动是否被使用进行信号化的方法的示例(参见章节VII.B.3)。
编码器可类似地可利用或不利用块翻动在逐块的基础上为片、小块或图片编码其他帧内BC预测块。
5.帧内BC预测中利用块翻动的示例解码。
图12示出针对解码期间的帧内BC预测中的块翻动的示例技术(1200)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1200)。
解码器接收(1210)比特流中的经编码数据。经编码数据包括图片中的当前块的帧内BC预测区域是否相对于图片中的参考区域被翻动的指示。当前块可以是PU、CU或其他块。例如,该指示是比特流中的一个或多个句法元素。以上描述了对块翻动是否被使用进行信号化的方法的示例(参见章节VII.B.3)。
解码器基于图片中的参考区域来确定(1220)针对该图片中的当前块的帧内BC预测区域。当前块的BV值可指示到参考区域的位移。帧内BC预测区域相对于参考区域被翻动。例如,帧内BC预测区域相对于参考区域被水平地和/或垂直地翻动。以上被描述了执行块翻动操作的方法的示例(参见章节VII.B.2)。解码器使用帧内BC预测区域来解码(1230)当前块。
类似地,解码器可利用或不利用块翻动在逐块的基础上为片、小块或图片解码其他帧内BC预测块。
C.帧内BC预测的跳跃模式
在帧内BC预测的一些先前方法中,当前CU的标志指示CU是否是以帧内BC预测模式来编码的。如果为是,则当前CU的第二标志指示该CU是否具有残留数据。该信号化缺少残留数据的帧内BC预测的块的方式在许多屏幕内容编码/解码场景中都是低效的。
根据本文中描述的创新的另一方面,编码器和解码器使用标志来信号化缺少残留数据的帧内BC预测的块。在跳跃模式中,帧内BC预测的块使用BV值,其中BV差被信号化在比特流中,并且在该比特流中不具有残留数据。具体地,对于屏幕捕捉内容,不具有残留数据的帧内BC预测的块是常见的。将单个标志(与多个标志相反)用于信号化不具有残留数据的帧内BC预测的块在这样的场景中是低效的。
1.帧内BC预测跳跃模式的示例信号化
在示例实现中,比特流中的单个标志指示当前块是否是用跳跃模式帧内BC预测的块。如果当前块不是用跳跃模式帧内BC预测的块,则比特流中的第二标志指示当前块是否是(不是用跳跃模式)帧内BC预测的块。如果当前块不是帧内BC预测的块,则比特流中的一个或多个其他句法元素指示当前块的模式(例如,是否为时间跳跃模式的标志、是否为帧内空间预测模式的标志、是否为图片间模式的标志、为帧内空间预测模式还是图片间模式的标志)。如果当前块是用跳跃模式帧内BC预测的块,则第二标志和其他句法元素不存在于当前块的比特流中。
指示当前块是否是跳跃模式中的帧内BC预测的块的标志被信号化在块级别处。当前块可以是尺寸为2Nx2N的CU。例如,对于16x16CU,N为8。替换地,当前块可以是PU或其他类型的块。指示当前块的模式的其他标志和句法元素也可被信号化在比特流中的块级别处。
在一些示例实现中,用跳跃模式帧内BC预测的块缺少残留数据,但在比特流中包括BV差。替换地,跳跃模式中的帧内BC预测的块可使用预测的BV值(并且因此在比特流中缺少BV差)。
2.利用帧内BC预测跳跃模式的示例编码
图13示出用于用跳跃模式来编码帧内BC预测的块的示例技术(1300)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1300)。
编码器确定(1310)图片中的当前块(例如,CU、PU)的BV值,例如使用BV估计来确定当前块的BV值。当前块的BV值指示到图片中的参考区域的位移。
编码器随后使用当前块的BV值和当前块的BV预测值来确定(1320)当前块的BV差。BV预测值可依据规则来选择,或者编码器可从多个BV预测值候选之中选择该BV预测值。
编码器使用帧内BC预测用BV值来编码(1330)当前块。在示例实现中,帧内BC预测可包括使用参考区域来确定当前块的帧内BC预测区域,其中该帧内BC预测区域相对于参考区域被翻动。帧内BC预测区域可相对于参考区域被水平地和/或垂直地翻动。上面描述了用于执行块翻动操作和对块翻动的使用进行信号化的选项。替换地,编码器在帧内BC预测中不使用块翻动。
编码器在比特流中输出(1340)经编码的数据。经编码的数据包括指示当前块是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是用跳跃模式帧内BC预测的块,比特流包括当前块的BV差,但缺少当前块的残留数据。当编码器已从多个BV预测值候选中选择了BV预测值时,该比特流包括指示将所选的BV预测值候选用作当前块的BV预测值的索引值。
图14示出了用于使用帧内BC预测以跳跃模式和/或其他模式来编码图片中的块的示例技术(1400)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1400)。
开始,编码器得到(1410)下一块,并确定(1420)是否使用帧内BC预测以跳跃模式来编码该块。例如,编码器评估帧内BC预测是否为块提供足够的编码效率,并评估残留数据是否包括任何有效值。替换地,编码器考虑其他标准。
编码器可信号化比特流中指示当前块是否是使用帧内BC预测以跳跃模式来编码的标志。对于用跳跃模式帧内BC预测的块,编码器使用在图13的阶段(1310)到(1330)中示出的操作或使用另一方法来用帧内BC预测以跳跃模式编码(1430)该块。作为用跳跃模式帧内BC预测的块,该块在比特流中具有BV差,但在比特流中缺少残留数据。
在其他情况下(块不是用跳跃模式帧内BC预测的块),编码器用另一模式编码(1440)块。该另一模式可以是帧内BC预测非跳跃模式、帧内空间预测模式、图片间模式或其他模式。在这种情况下,一个或多个其他句法元素可指示块的模式。例如,在指示块是否是使用帧内BC预测以跳跃模式编码的第一标志(取决于在阶段1420的判定)之后,当块不是使用帧内BC预测以跳跃模式来编码的时候,第二标志指示该块是否是使用帧内BC预测以非跳跃模式来编码的。如果该块不是使用帧内BC预测以非跳跃模式来编码的,则一个或多个其他句法元素指示该块的编码模式。例如,一标志指示块的预测模式是帧内空间预测还是图片间预测。
在一些示例实现中,使用指示块是否是用跳跃模式帧内BC预测的标志存在附加的优点。在一些情况下,可避免对指示帧内BC预测的块的分割模式(2Nx2N、2NxN、Nx2N或NxN)的句法元素进行信号化。例如,如果块不是使用帧内BC预测以非跳跃模式来编码的,则编码器在比特流中信号化指示块的分割模式的句法元素。另一方面,如果块是使用帧内BC预测以跳跃模式来编码的,则编码器忽略在比特流中对指示块的分割模式的句法元素进行信号化,并且块的分割模式被改为假设具有定义的值(例如,2Nx2N)。由此,在这些情况下,将块标记为用跳跃模式帧内BC预测的早期标志也对块的分割模式具有定义的值进行信号化。
同样,在许多情况下,对指示块的残留数据的存在或缺失的标志的信号化可被避免。当然,如果块是使用帧内BC预测以跳跃模式来编码的,则编码器忽略在比特流中对指示块的残留数据的存在或缺失的标志进行信号化。(将块标记为是用跳跃模式帧内BC预测的早期标志已经信号化了这样的信息)。块的残留数据被假设为不存在于比特流中。
在另一情况下,也可避免对指示残留数据的存在或缺失的标志的信号化。具体地,如果块是使用帧内BC预测以非跳跃模式编码的,并且块的分割模式具有定义的值(例如,2Nx2N),则编码器忽略在比特流中对指示块的残留数据的存在或缺失的标志进行信号化。在这种情况下,块的残留数据被假设为存在于比特流中。(如果块的分割模式是定义的值,并且块缺少残留数据,则块将是用跳跃模式帧内BC预测的块,这已由早期标志指示出。)最后,如果块是使用帧内BC预测以非跳跃模式来编码的,并且块的分割模式不具有定义的值,则编码器在比特流中对指示块的残留数据的存在或缺失的标志进行信号化。
编码器确定(1450)是否继续图片中的下一块。如果如此,则编码器得到(1410)下一块并继续编码。
编码器可在逐图片的基础上、逐小块的基础上、逐片的基础上或某一其他基础上重复技术(1400)。
3.利用帧内BC预测跳跃模式的示例编码
图15示出用于解码用跳跃模式帧内BC预测的块的示例技术(1500)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1500)。
解码器接收(1510)比特流中的经编码数据。经编码的数据包括指示图片中的当前块(例如,CU、PU)是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是用跳跃模式帧内BC预测的块,因此比特流包括当前块的BV差,但缺少当前块的残留数据。
解码器使用当前块的BV差和当前块的BV预测值来确定(1520)当前块的BV值。当前块的BV值指示到该图片中的参考区域的位移。BV预测值可依据规则来选择。或者,使用比特流中用于选择将哪个BV预测值候选用作当前块的BV预测值的索引值,解码器可从多个BV预测值候选中选择BV预测值。
解码器使用帧内BC预测用BV值来解码(1530)当前块。在示例实现中,帧内BC预测可包括使用参考区域来确定当前块的帧内BC预测区域,其中该帧内BC预测区域相对于参考区域被翻动。帧内BC预测区域可相对于参考区域被水平地和/或垂直地翻动。上面描述了用于执行块翻动操作和对块翻动的使用进行信号化的选项。替换地,解码器在帧内BC预测中不使用块翻动。
图16示出了用于使用帧内BC预测以跳跃模式和/或其他模式来解码图片中的块的示例技术(1600)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1600)。
开始,解码器得到(1610)下一块的经编码数据,并确定(1620)是否使用帧内BC预测以跳跃模式来解码该块。例如,解码器可接收比特流中指示块是否是使用帧内BC预测以跳跃模式来编码的标志,并对该标志进行解析。
对于用跳跃模式帧内BC预测的块,解码器使用在图15的阶段(1520)和(1530)中示出的操作或使用另一方法来用帧内BC预测以跳跃模式解码(1630)该块。作为用跳跃模式帧内BC预测的块,该块在比特流中具有BV差,但在比特流中缺少残留数据。
在其他情况下(块不是用跳跃模式帧内BC预测的块),解码器用另一模式解码(1640)该块。该另一模式可以是帧内BC预测非跳跃模式、帧内空间预测模式、图片间模式或其他模式。在这种情况下,一个或多个其他句法元素可指示块的模式。例如,在指示块是否是使用帧内BC预测以跳跃模式编码的第一标志(取决于在阶段(1620)的判定)之后,当块不是使用帧内BC预测以跳跃模式来编码的时候,第二标志指示该块是否是使用帧内BC预测以非跳跃模式来编码的。如果该块不是使用帧内BC预测以非跳跃模式来编码的,则一个或多个其他句法元素指示该块的编码模式。例如,一标志指示块的预测模式是帧内空间预测还是图片间预测。
如在前一章节中提到的,在一些示例实现中,使用指示块是否是用跳跃模式帧内BC预测的标志存在附加的优点。例如,如果块不是使用帧内BC预测以非跳跃模式来编码的,则比特流包括指示块的分割模式的句法元素。另一方面,如果块是使用帧内BC预测以跳跃模式来编码的,则比特流缺少指示块的分割模式的句法元素。解码器推断出块的分割模式是定义的值(例如,2Nx2N)。
同样,在许多情况下,可避免对指示块的残留数据的存在或缺失的标志的信号化。当然,如果块是使用帧内BC预测以跳跃模式来编码的,则比特流缺少指示块的残留数据的存在或缺失的标志。相反,从将块标记为用跳跃模式帧内BC预测的早期标志中,解码器推断出块的残留数据不存在于比特流中。
在另一情况下,也可避免对指示残留数据的存在或缺失的标志的信号化。具体地,如果块是使用帧内BC预测以非跳跃模式来编码的,并且块的分割模式具有定义的值(例如,2Nx2N),则比特流缺少指示块的残留数据的存在或缺失的标志。在这种情况下,解码器推断出块的残留数据存在于比特流中。最后,如果块是使用帧内BC预测以非跳跃模式来编码的,并且块的分割模式不具有定义的值,则比特流包括指示块的残留数据的存在或缺失的标志。
解码器确定(1650)是否继续图片中的下一块。如果如此,则解码器得到(1610)下一块的经编码数据并继续解码。
解码器可在逐图片的基础上、逐小块的基础上、逐片的基础上或某一其他基础上重复技术(1600)。
4.针对编码单元的示例句法
图17a和17b示出根据现有方法的编码单元(“CU”)的句法结构(1700)。JCTVC-P1005中定义了句法结构(1700)中示出的句法元素。本文中汇总了所选的句法元素。
当帧内BC预测被启用(如用intra_block_copy_enabled_flag(帧内块复制启用标志)指示的)时,可对CU的句法元素intra_bc_flag(帧内bc标志)进行信号化。句法元素intra_bc_flag指定CU是否是用帧内BC预测模式来编码的。如果其值为1,则CU是用帧内BC预测模式来编码的。如果其值为0,则CU不是用帧内BC预测模式来编码的。在该情况下(intra_bc_flag为0),句法元素pred_mode_flag(预测模式标志)存在并指示CU是用帧间预测模式来编码的还是用帧内空间预测模式来编码的。
如果块是帧内BC预测的(并在几个其他情况下),则比特流包括CU的part_mode(部分模式)句法元素。part_mode句法元素指示CU的分割模式(即,2Nx2N、2NxN、Nx2N、NxN)。
CU句法结构(1700)随后包括分割的BV值(在CU是帧内BC预测的情况下)、帧内预测方向信息(在CU是帧内空间预测的情况下)或预测单元信息(在CU是帧间预测的情况下)。随后,在一些情况下,CU句法结构(1700)包括rqt_root_cbf(rqt根cbf)句法元素。具体地,如果CU是帧内BC预测的,则存在rqt_root_cbf句法元素。rqt_root_cbf句法元素指示是否存在针对CU的transform_tree()(变换树)句法结构。transform_tree()句法结构针对CU的残留数据。如果rqt_root_cbf为1,则存在针对CU的transform_tree()句法结构。如果rqt_root_cbf为0,则不存在针对CU的transform_tree()句法结构。当不存在rqt_root_cbf时,推断其值为1。因此,如之前提到的,在该方法中,两个标志(intra_bc_flag和rqt_root_cbf)用于指示用跳跃模式帧内BC预测的块。
图18示出可被编码成用跳跃模式帧内BC预测的块的编码单元的新句法结构(1800)。图18中突出显示了相对于图17a和17b中示出的句法结构(1700)的改变。
当帧内BC预测被启用(如用intra_block_copy_enabled_flag(帧内块复制启用标志)指示的)时,可对CU的intra_bc_skip_flag(帧内bc跳跃标志)进行信号化。句法元素intra_bc_skip_flag指示CU是否是用跳跃模式帧内BC预测的块。如果CU是用跳跃模式帧内BC预测的(intra_bc_skip_flag等于1),则句法元素intra_bc_flag和pred_mode_flag与句法元素rqt_root_cbf一样被忽略。同样,在这种情况下,CU的分割模式具有定义的值2Nx2N。
另一方面,如果句法元素intra_bc_skip_flag指示CU不是用跳跃模式帧内BC预测的(intra_bc_skip_flag等于0),则存在句法元素intra_bc_flag。句法元素intra_bc_flag指定CU是否是用帧内BC预测模式来编码的,如参考图17a和17b解释的。此外,如果intra_bc_flag为0,则句法元pred_mode_flag存在并指示CU是用帧间预测模式还是用帧内空间预测模式来编码的,如参考图17a和17b解释的。
如果块是用非跳跃模式帧内BC预测的(即,intra_bc_flag为1且intra_bc_skip_flag为0),则比特流包括CU的part_mode句法元素。part_mode句法元素指示CU的分割模式(例如,2Nx2N、2NxN、Nx2N、NxN)。另一方面,如果块是用跳跃模式帧内BC预测的,则在比特流中没有为CU信号化part_mode句法元素。相反,分割模式被推断为具有为2Nx2N的定义值。由此,对于这样的块,intra_bc_skip_flag对CU的分割模式具有为2Nx2N的定义值进行信号化,并且避免对part_mode句法元素的单独信号化。
在从图18中略去的章节中,句法结构(1800)随后包括分割的BV值(在CU是帧内BC预测的情况下)、帧内预测方向信息(在CU是帧内空间预测的情况下)或预测单元信息(在CU是帧间预测的情况下)。
最后,在一些情况下,句法结构(1800)包括rqt_root_cbf句法元素。具体地,如果CU是用非跳跃模式帧内BC预测的,则存在rqt_root_cbf句法元素,只要CU的分割模式不是为2Nx2N的定义值。当存在时,rqt_root_cbf句法元素的值指示是否针对CU存在的transform_tree()句法结构,如参考图17a和17b解释的。在另一方面,在以下情况下不存在rqt_root_cbf句法元素:(1)如果CU是用跳跃模式帧内BC预测的或者(2)如果CU是帧内BC预测的并且CU的分割模式是为2Nx2N的定义值。如果CU是用跳跃模式帧内BC预测的,则推断rqt_root_cbf的值为0(不存在针对CU的残留数据)。在其他情况下,如果CU是帧内BC预测的并且CU的分割模式是为2Nx2N的定义值,则推断rqt_root_cbf的值为1(存在针对CU的残留数据)。
鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反,本发明的范围由后续的权利要求来界定。我们要求作为我们的发明保护落入这些权利要求范围和精神内的所有内容。。

Claims (27)

1.一种在具有视频编码器或图像编码器的计算设备中的方法,该方法包括:
基于图片中的参考区域来确定所述图片中的当前块的帧内块复制(“BC”)预测区域,其中所述帧内BC预测区域相对于所述参考区域被翻动;
使用所述帧内BC预测区域来编码所述当前块;以及
在比特流中输出经编码的数据,所述经编码的数据包括所述帧内BC预测区域是否相对于所述参考区域被翻动的指示。
2.一种在具有视频解码器或图像解码器的计算设备中的方法,该方法包括:
接收比特流中的经编码的数据,所述经编码的数据包括图片中的当前块的帧内块复制(“BC”)预测区域是否相对于所述图片中的参考区域被翻动的指示;
基于所述参考区域确定所述图片中的所述当前块的所述帧内BC预测区域,其中所述帧内BC预测区域相对于所述参考区域被翻动;以及
使用所述帧内BC预测区域来解码所述当前块。
3.如权利要求1或2所述的方法,其特征在于,所述确定所述帧内BC预测区域包括:
确定所述参考区域;
翻动所述参考区域;以及
将在经翻动的参考区域的相应位置处的样本值分配给在所述帧内BC预测区域的相应位置处的样本值。
4.如权利要求1或2所述的方法,其特征在于,所述确定所述帧内BC预测区域包括:
确定所述参考区域;
将在所述参考区域的相应位置处的样本值分配给在所述帧内BC预测区域的相应位置处的样本值;以及
翻动所述帧内BC预测区域。
5.如权利要求1或2所述的方法,其特征在于,所述确定所述帧内BC预测区域包括:
确定所述参考区域;以及
将在所述参考区域的相应位置处的样本值分配给在所述帧内BC预测区域的对应位置处的样本值,其中所述对应位置考虑了所述翻动。
6.如权利要求1或2所述的方法,其特征在于,所述帧内BC预测区域相对于所述参考区域被水平地翻动。
7.如权利要求1或2所述的方法,其特征在于,所述帧内BC预测区域相对于所述参考区域被垂直地翻动。
8.如权利要求1或2所述的方法,其特征在于,所述帧内BC预测区域相对于所述参考区域被水平和垂直地翻动。
9.如权利要求1或2所述的方法,其特征在于,指示所述帧内BC预测区域是否相对于所述参考区域被翻动的指示是所述比特流中的一个或多个句法元素。
10.如权利要求9所述的方法,其特征在于,所述一个或多个句法元素被信号化在所述当前块的比特流中。
11.如权利要求9所述的方法,其特征在于,所述一个或多个句法元素被信号化在包括所述当前块的较大块的比特流中。
12.如权利要求9所述的方法,其特征在于,所述一个或多个句法元素是各自指示对翻动方向的判定的一个或多个标志。
13.如权利要求9所述的方法,其特征在于,所述一个或多个句法元素与另一句法元素被联合地编码。
14.如权利要求1-13中的任一项所述方法,其特征在于,所述当前块是预测单元。
15.如权利要求1-14中的任一项所述的方法,其特征在于,所述经编码的数据包括所述当前块的块矢量(“BV”)值,所述块矢量值指示到所述参考区域的位移。
16.一种在具有视频编码器或图像编码器的计算设备中的方法,该方法包括:
确定图片中的当前块的块矢量(“BV”)值,所述当前块的所述BV值指示到所述图片中的参考区域的位移;
使用所述当前块的所述BV值以及所述当前块的BV预测值来确定所述当前块的BV差;
使用帧内块复制(“BC”)预测用所述BV值来编码所述当前块;以及
在比特流中输出经编码的数据,所述经编码的数据包括指示所述当前块是使用帧内BC预测以跳跃模式来编码的标志,其中所述比特流包括所述当前块的所述BV差,但缺少所述当前块的残留数据。
17.一种在具有视频解码器或图像解码器的计算设备中的方法,该方法包括:
从比特流中接收经编码的数据,所述经编码的数据包括指示图片中的当前块是使用帧内块复制(“BC”)预测以跳跃模式来编码的标志,其中所述比特流包括所述当前块的块矢量(“BV”)差,但缺少所述当前块的残留数据;
使用所述当前块的所述BV差以及所述当前块的BV预测值来确定所述当前块的BV值,所述当前块的所述BV值指示到所述图片的参考区域的位移;以及
使用帧内BC预测用所述BV值来解码所述当前块。
18.如权利要求16或17所述的方法,其特征在于,所述比特流进一步包括索引值,所述索引值指示从多个BV预测值候选的集合中对要用作所述当前块的所述BV预测值的BV预测值候选的选择。
19.如权利要求16或17所述的方法,其特征在于,对于所述图片中的后续块,第一标志指示所述后续块是否是使用帧内BC预测以跳跃模式来编码的,并且如果所述后续块不是使用帧内BC预测以跳跃模式来编码的,则第二标志指示所述后续块是否是使用帧内BC预测以非跳跃模式来编码的。
20.如权利要求16或17所述的方法,其特征在于,对于所述图片中的后续块:如果所述后续块是使用帧内BC预测以非跳跃模式来编码的,则所述比特流包括指示所述后续块的分割模式的句法元素;以及
如果所述后续块是使用帧内BC预测以跳跃模式来编码的,则所述比特流缺少指示所述后续块的分割模式的句法元素,并且所述后续块的分割模式具有定义的值。
21.如权利要求16或17所述的方法,其特征在于,对于所述图片中的后续块:如果所述后续块是使用帧内BC预测以跳跃模式来编码的,则所述比特流缺少指示所述后续块的残留数据的存在或缺失的标志,并且所述后续块的残留数据被假设为不存在于所述比特流中。
22.如权利要求21所述的方法,其特征在于,对于所述图片中的所述后续块:
如果所述后续块是使用帧内BC预测以非跳跃模式来编码的并且所述后续块的分割模式具有定义的值,则所述比特流缺少指示所述后续块的残留数据的存在或缺失的标志,并且所述后续块的残留数据被假设为存在于所述比特流中;以及
如果所述后续块是使用帧内BC预测以非跳跃模式来编码的并且所述后续块的分割模式不具有所述定义的值,则所述比特流包括指示所述后续块的残留数据的存在或缺失的标志。
23.如权利要求16或17所述的方法,其特征在于,所述帧内BC预测包括:
使用所述参考区域来确定所述当前块的帧内BC预测区域,其中所述帧内BC预测区域相对于所述参考区域被翻动。
24.如权利要求23所述的方法,其特征在于,所述帧内BC预测区域相对于所述参考区域被水平地翻动和/或相对于所述参考区域被垂直地翻动。
25.如权利要求16-23中的任一项所述方法,其特征在于,所述当前块是编码单元。
26.适于执行权利要求1-25中的任一项所述的方法的计算设备。
27.一个或多个存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令使得计算设备因此被编程为执行如权利要求1-25中的任一项所述的方法。
CN201480029735.5A 2014-03-04 2014-03-04 帧内块复制预测中的块翻动和跳跃模式 Active CN105247871B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/072824 WO2015131323A1 (en) 2014-03-04 2014-03-04 Block flipping and skip mode in intra block copy prediction

Publications (2)

Publication Number Publication Date
CN105247871A true CN105247871A (zh) 2016-01-13
CN105247871B CN105247871B (zh) 2020-09-15

Family

ID=54054337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480029735.5A Active CN105247871B (zh) 2014-03-04 2014-03-04 帧内块复制预测中的块翻动和跳跃模式

Country Status (11)

Country Link
US (1) US10368091B2 (zh)
EP (2) EP3253059A1 (zh)
JP (1) JP2017512026A (zh)
KR (2) KR20160129075A (zh)
CN (1) CN105247871B (zh)
AU (1) AU2014385769B2 (zh)
BR (1) BR112016018814A8 (zh)
CA (1) CA2939431C (zh)
MX (1) MX361228B (zh)
RU (1) RU2657210C2 (zh)
WO (1) WO2015131323A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681926A (zh) * 2016-01-18 2016-06-15 四川长虹电器股份有限公司 一种带运动补偿功能液晶电视的画质提升系统及方法
CN106416253A (zh) * 2014-05-22 2017-02-15 联发科技股份有限公司 用于图像以及视频编码的具有翻动的帧内块复制方法
WO2018170793A1 (zh) 2017-03-22 2018-09-27 华为技术有限公司 一种视频数据的解码方法、解码装置、编码方法和编码装置
CN109804623A (zh) * 2016-09-27 2019-05-24 交互数字Vc控股公司 参考样本缺失时改进的帧内预测方法
CN111034198A (zh) * 2017-07-05 2020-04-17 奥兰治 图像编码和解码方法、编码和解码设备及对应计算机程序
CN111971959A (zh) * 2018-02-09 2020-11-20 弗劳恩霍夫应用研究促进协会 基于分区的帧内编码概念
CN113366837A (zh) * 2019-02-05 2021-09-07 高通股份有限公司 改进的子分区帧内预测

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102170169B1 (ko) 2013-10-14 2020-10-26 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐
AU2013403225B2 (en) 2013-10-14 2018-06-14 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US9860559B2 (en) * 2014-03-17 2018-01-02 Mediatek Singapore Pte. Ltd. Method of video coding using symmetric intra block copy
KR102319384B1 (ko) * 2014-03-31 2021-10-29 인텔렉추얼디스커버리 주식회사 템플릿 매칭 기반의 화면 내 픽쳐 부호화 및 복호화 방법 및 장치
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
KR102413529B1 (ko) 2014-06-19 2022-06-24 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
CN105874795B (zh) 2014-09-30 2019-11-29 微软技术许可有限责任公司 在波前并行处理被启用时对图片内预测模式的规则
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
WO2018171890A1 (en) * 2017-03-23 2018-09-27 Huawei Technologies Co., Ltd. Devices and methods for video coding
US10115012B1 (en) * 2017-04-07 2018-10-30 Box, Inc. Capture object boundary jitter reduction
US10674159B2 (en) 2017-07-28 2020-06-02 Microsoft Technology Licensing, Llc Effective intra encoding for screen data
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
TWI822839B (zh) 2018-08-26 2023-11-21 大陸商北京字節跳動網絡技術有限公司 組合的基於歷史的運動矢量預測符和多運動模型解碼
WO2020058895A1 (en) 2018-09-19 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Selection of adjacent neighboring block for intra coding
WO2020122654A1 (ko) * 2018-12-12 2020-06-18 주식회사 윌러스표준기술연구소 현재 픽쳐 참조를 이용한 비디오 신호 처리 방법 및 장치
KR102653088B1 (ko) 2019-02-02 2024-04-01 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 초기화
WO2020156546A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Prediction using extra-buffer samples for intra block copy in video coding
CN113454992A (zh) * 2019-02-19 2021-09-28 韦勒斯标准与技术协会公司 基于帧内预测的视频信号处理方法和设备
WO2020177660A1 (en) * 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Block vector representation for intra block copy in video coding
JP7405861B2 (ja) 2019-03-01 2023-12-26 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのための方向に基づく予測
CN117640927A (zh) * 2019-03-04 2024-03-01 北京字节跳动网络技术有限公司 视频编解码中的帧内块复制中的实施方式方面
EP4300964A3 (en) * 2019-06-21 2024-03-13 VID SCALE, Inc. Precision refinement for motion compensation with optical flow
CN117294841A (zh) 2019-07-06 2023-12-26 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的虚拟预测缓冲
CN114175633B (zh) 2019-07-10 2023-12-29 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的样点标识
JP2022539887A (ja) 2019-07-11 2022-09-13 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのためのビットストリーム適合性の制約
EP4026322A4 (en) 2019-09-07 2024-01-03 Beijing Dajia Internet Information Tech Co Ltd PREDICTIVE MODE SIGNALING IN VIDEO CODING
JP7323709B2 (ja) 2019-09-09 2023-08-08 北京字節跳動網絡技術有限公司 イントラブロックコピーの符号化および復号化
KR20220066166A (ko) 2019-09-27 2022-05-23 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 현재 블록의 예측 방법 및 예측 장치, 디바이스, 저장 매체
JP2023509296A (ja) * 2020-01-03 2023-03-08 インテル コーポレイション 複数のイントラブロックコピーモードを備えるビデオコーディング
US11930208B2 (en) 2020-01-10 2024-03-12 Tencent America LLC Method and apparatus for signaling skip mode flag
CN115633172A (zh) * 2020-12-06 2023-01-20 浙江大华技术股份有限公司 基于ibc模式编码方法、电子设备及存储介质
US11503336B2 (en) * 2020-12-07 2022-11-15 Tencent America LLC Method and apparatus for video coding
WO2022206973A1 (en) * 2021-04-02 2022-10-06 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
US20230135166A1 (en) * 2021-10-28 2023-05-04 Tencent America LLC Intrabc using wedgelet partitioning
US20240022710A1 (en) * 2022-07-12 2024-01-18 Tencent America LLC Prediction of intrabc flip type

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070036226A1 (en) * 2005-08-12 2007-02-15 Samsung Electronics Co., Ltd. Intraprediction encoding/decoding method and apparatus
US20110176614A1 (en) * 2008-07-01 2011-07-21 Kazushi Sato Image processing device and method, and program
JP2011188007A (ja) * 2010-03-04 2011-09-22 Fujitsu Ltd 画像処理装置、画像処理方法、および画像処理プログラム
WO2012144878A2 (en) * 2011-04-21 2012-10-26 Samsung Electronics Co., Ltd. Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium

Family Cites Families (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000102016A (ja) 1998-09-22 2000-04-07 Victor Co Of Japan Ltd 動き補償予測回路
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
US7120196B2 (en) 2002-04-29 2006-10-10 Ess Technology, Inc. Intra-prediction using intra-macroblock motion compensation
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
MXPA05007447A (es) 2003-01-10 2005-09-12 Thomson Licensing Sa Aparato de decodificador y metodo para suavizar artefactos creados durante el ocultamiento de error.
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
JP5052891B2 (ja) 2003-08-26 2012-10-17 トムソン ライセンシング ハイブリッド・イントラ・インター符号化ブロックを符号化する方法及び装置
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR101044934B1 (ko) 2003-12-18 2011-06-28 삼성전자주식회사 움직임 벡터 추정방법 및 부호화 모드 결정방법
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
CA2574590C (en) 2004-07-20 2013-02-19 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
US20070003622A1 (en) * 2004-12-16 2007-01-04 Sovereign Pharmaceuticals, Ltd. Diphenhydramine containing dosage form
JP2006140683A (ja) * 2004-11-11 2006-06-01 Canon Inc 画像符号化装置
JP2006140758A (ja) 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
US7720154B2 (en) 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
KR100679035B1 (ko) 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
JP2007053561A (ja) 2005-08-17 2007-03-01 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
US7986844B2 (en) 2005-11-22 2011-07-26 Intel Corporation Optimized video compression using hashing function
JP5203213B2 (ja) * 2005-11-28 2013-06-05 ガラ・インダストリーズ・インコーポレイテッド 造粒処理を制御する装置及び方法
US8792555B2 (en) 2006-01-31 2014-07-29 Qualcomm Incorporated Methods and systems for resizing multimedia content
CN101026761B (zh) 2006-02-17 2010-05-12 中国科学院自动化研究所 一种具有最小误差的快速变尺寸块匹配的运动估计方法
EP2011342B1 (en) 2006-04-14 2017-06-28 Nxp B.V. Motion estimation at image borders
WO2008004940A1 (en) 2006-07-07 2008-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Video data management
DE102007035204A1 (de) 2006-07-28 2008-02-07 Mediatek Inc. Videoverarbeitungs- und - betriebsvorrichtung
US8472527B2 (en) 2006-09-13 2013-06-25 Texas Instruments Incorporated Hierarchical motion estimation using original frame for sub-sampled reference
FR2906433B1 (fr) 2006-09-22 2009-02-27 Canon Kk Procedes et dispositifs de codage et de decodage d'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
JP2008154015A (ja) 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
CN100527842C (zh) 2007-01-26 2009-08-12 清华大学 基于背景的运动估计编码方法
US8160150B2 (en) 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
JP2009147807A (ja) 2007-12-17 2009-07-02 Fujifilm Corp 画像処理装置
CN101232619B (zh) 2008-01-25 2011-05-11 浙江大学 嵌入帧内编码块的视频编码方法
TWI375472B (en) 2008-02-04 2012-10-21 Ind Tech Res Inst Intra prediction method for luma block of video
BRPI0911061A2 (pt) 2008-04-11 2015-12-29 Thomson Licensing filtragem de desblocagem para predição intra deslocada e correspondência de modelos
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
KR101306834B1 (ko) 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
CA2750735C (en) 2009-02-02 2018-09-18 Calgary Scientific Inc. Image data transmission
RU2420021C2 (ru) 2009-03-24 2011-05-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображений и видеопоследовательностей
EP2249571A1 (en) 2009-05-04 2010-11-10 Thomson Licensing SA Method and device for encoding an image frame comprising macroblocks
US20120275518A1 (en) 2009-07-10 2012-11-01 Shinya Kadono Moving picture coding method, apparatus, program, and integrated circuit
CN101626512A (zh) * 2009-08-11 2010-01-13 北京交通大学 一种基于相关性优化准则的多描述视频编码方法及装置
CN102577392A (zh) 2009-10-20 2012-07-11 夏普株式会社 运动图像编码装置、运动图像解码装置以及数据结构
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
JP5321426B2 (ja) * 2009-11-26 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法
KR101623124B1 (ko) 2009-12-03 2016-05-24 에스케이 텔레콤주식회사 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
CN102860006B (zh) 2010-02-05 2016-11-23 瑞典爱立信有限公司 管理预测运动向量候选
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
ES2713173T3 (es) 2010-03-31 2019-05-20 Orange Procedimientos y dispositivos de codificación y de decodificación de una secuencia de imágenes que implementan una predicción por compensación de movimiento anticipado, y programa de ordenador correspondiente
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8644375B2 (en) 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US8619857B2 (en) 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
WO2011160251A1 (en) 2010-06-21 2011-12-29 Thomson Broadband R&D (Beijing) Co., Ltd. Method and apparatus for encoding/decoding image data
KR101484281B1 (ko) 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
CA3096445C (en) 2010-07-14 2022-02-22 Ntt Docomo, Inc. Low-complexity intra prediction for video coding
FI3962088T3 (fi) 2010-11-04 2023-09-20 Ge Video Compression Llc Kuvankoodaus, joka tukee lohkojen yhdistämistä ja ohittavaa toimintamuotoa
KR101756442B1 (ko) 2010-11-29 2017-07-11 에스케이텔레콤 주식회사 인트라예측모드의 중복성을 최소화하기 위한 영상 부호화/복호화 방법 및 장치
US20120163457A1 (en) 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
KR101739579B1 (ko) 2011-01-04 2017-05-24 에스케이 텔레콤주식회사 코딩 유닛 단위 병렬 인트라예측을 이용한 부호화/복호화 방법 및 장치
KR20120080122A (ko) 2011-01-06 2012-07-16 삼성전자주식회사 경쟁 기반의 다시점 비디오 부호화/복호화 장치 및 방법
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US9787981B2 (en) 2011-01-19 2017-10-10 Renesas Electronics Corporation Image coding device and image decoding device
US8755437B2 (en) 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
US9532066B2 (en) 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
CN107105286B (zh) 2011-03-14 2020-01-21 寰发股份有限公司 推导运动向量预测子的方法与装置
PT2690870T (pt) 2011-03-21 2020-02-10 Lg Electronics Inc Processo de selecção de preditor de vectores de movimento e dispositivo que o utiliza
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
US20120281760A1 (en) 2011-05-04 2012-11-08 Hyung Joon Kim Iterative Grid-Pattern Motion Search
CN102137263B (zh) 2011-05-09 2013-07-03 松日数码发展(深圳)有限公司 基于cnm关键帧分类的分布式视频编码及解码方法
US20120294353A1 (en) 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
CN102238391B (zh) 2011-05-25 2016-12-07 深圳市云宙多媒体技术有限公司 一种预测编码方法、装置
JP5727873B2 (ja) 2011-06-10 2015-06-03 日本放送協会 動きベクトル検出装置、符号化装置、及びこれらのプログラム
CN103688533B (zh) 2011-06-20 2015-12-23 联发科技(新加坡)私人有限公司 可减少行存储器的色度帧内预测方法及装置
EP3223523A1 (en) 2011-06-24 2017-09-27 HFI Innovation Inc. Method and apparatus for removing redundancy in motion vector predictors
EP4270950A3 (en) 2011-06-27 2024-02-14 Sun Patent Trust Encoding apparatus and decoding apparatus
US9060173B2 (en) 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
EP2705668A1 (en) 2011-07-12 2014-03-12 Huawei Technologies Co., Ltd Pixel-based intra prediction for coding in hevc
WO2013023518A1 (en) 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
KR101492104B1 (ko) 2011-08-29 2015-02-11 주식회사 아이벡스피티홀딩스 동영상 복호화 장치
US9578336B2 (en) 2011-08-31 2017-02-21 Texas Instruments Incorporated Hybrid video and graphics system with automatic content detection process, and other circuits, processes, and systems
US9992511B2 (en) 2011-10-21 2018-06-05 Nokia Technologies Oy Method for video coding and an apparatus
GB2495990A (en) 2011-10-28 2013-05-01 Canon Kk Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set.
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
US9392270B2 (en) 2011-11-08 2016-07-12 Google Technology Holdings LLC Devices and methods for sample adaptive offset coding and/or signaling
WO2013068564A1 (en) 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Effective wedgelet partition coding using spatial prediction
US20130121417A1 (en) 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
WO2013072484A1 (en) 2011-11-18 2013-05-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-view coding with efficient residual handling
CN108471532B (zh) 2011-11-25 2021-06-29 太阳专利托管公司 图像解码方法及图像解码装置
RU2493670C2 (ru) 2011-12-15 2013-09-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ блочной межкадровой компенсации движения для видеокодеков
KR20140120891A (ko) 2011-12-20 2014-10-14 모토로라 모빌리티 엘엘씨 효율적인 변환 유닛 인코딩을 위한 방법 및 장치
US20130163664A1 (en) 2011-12-22 2013-06-27 Qualcomm Incorporated Unified partition mode table for intra-mode coding
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
WO2013102293A1 (en) 2012-01-04 2013-07-11 Mediatek Singapore Pte. Ltd. Improvements of luma-based chroma intra prediction
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
JP2013150173A (ja) 2012-01-19 2013-08-01 Sony Corp 画像処理装置および方法
US20130188718A1 (en) 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc without including a temporally neighboring block motion vector in a candidate list
KR101718488B1 (ko) 2012-01-20 2017-03-21 지이 비디오 컴프레션, 엘엘씨 병렬 처리, 전송 디멀티플렉서 및 비디오 비트스트림을 허용하는 코딩 개념
JP2013150215A (ja) 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
US9210438B2 (en) 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
US10244246B2 (en) 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
WO2013128010A2 (en) 2012-03-02 2013-09-06 Canon Kabushiki Kaisha Method and devices for encoding a sequence of images into a scalable video bit-stream, and decoding a corresponding scalable video bit-stream
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US20130258052A1 (en) 2012-03-28 2013-10-03 Qualcomm Incorporated Inter-view residual prediction in 3d video coding
US9838684B2 (en) 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
US20130272409A1 (en) 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
CN104170389B (zh) 2012-04-24 2018-10-26 联发科技股份有限公司 运动向量预测器的产生方法和装置及视点间运动向量预测器候选的产生方法
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9762903B2 (en) 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
CN102752595B (zh) 2012-06-29 2014-07-09 香港应用科技研究院有限公司 用于深度图编码和解码的混合型跳过模式
US9621905B2 (en) 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US9264713B2 (en) * 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9467692B2 (en) 2012-08-31 2016-10-11 Qualcomm Incorporated Intra prediction improvements for scalable video coding
US20140071235A1 (en) 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
US10904551B2 (en) 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
CN103237226B (zh) * 2013-04-07 2016-08-03 宁波大学 一种立体视频宏块丢失错误隐藏方法
US11323747B2 (en) 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
US9300967B2 (en) 2013-06-19 2016-03-29 Apple Inc. Sample adaptive offset control
US10015515B2 (en) 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
US10529013B2 (en) * 2013-07-01 2020-01-07 Intuit Inc. Identifying business type using public information
US20150016516A1 (en) 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
CN105393538B (zh) 2013-07-24 2018-12-04 高通股份有限公司 用于视频编解码的方法、装置及计算机可读存储介质
US9503715B2 (en) * 2013-08-30 2016-11-22 Qualcomm Incorporated Constrained intra prediction in video coding
US20150071357A1 (en) 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
AU2013228045A1 (en) 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
US20150110181A1 (en) 2013-10-18 2015-04-23 Samsung Electronics Co., Ltd. Methods for palette prediction and intra block copy padding
WO2015090219A1 (en) 2013-12-18 2015-06-25 Mediatek Inc. Method and apparatus for palette initialization and management
TWI536811B (zh) 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
US20150271515A1 (en) * 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
GB2522844A (en) 2014-01-29 2015-08-12 Sony Corp Data encoding and decoding
KR102185245B1 (ko) 2014-03-04 2020-12-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사
US11323733B2 (en) 2014-05-23 2022-05-03 Qualcomm Incorporated Predictor palette initialization in palette-based video coding
CN111432220B (zh) 2014-06-19 2022-05-06 Vid拓展公司 采用块向量导出的帧内块复制编码的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070036226A1 (en) * 2005-08-12 2007-02-15 Samsung Electronics Co., Ltd. Intraprediction encoding/decoding method and apparatus
US20110176614A1 (en) * 2008-07-01 2011-07-21 Kazushi Sato Image processing device and method, and program
JP2011188007A (ja) * 2010-03-04 2011-09-22 Fujitsu Ltd 画像処理装置、画像処理方法、および画像処理プログラム
WO2012144878A2 (en) * 2011-04-21 2012-10-26 Samsung Electronics Co., Ltd. Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
THOMAS WIEGAND 等: "《Joint Final Committee Draft (JFCD) of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC)》", 《JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG AND ITU-T VCEG 4TH MEETING: KLAGENFURT, AUSTRIA, 22-26 JULY, 2002,JVT-D157》 *
YUNYANG DAI等: "《EFFICIENT BLOCK-BASED INTRA PREDICTION FOR IMAGE CODING WITH 2D GEOMETRICAL MANIPULATIONS》", 《IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106416253A (zh) * 2014-05-22 2017-02-15 联发科技股份有限公司 用于图像以及视频编码的具有翻动的帧内块复制方法
CN105681926A (zh) * 2016-01-18 2016-06-15 四川长虹电器股份有限公司 一种带运动补偿功能液晶电视的画质提升系统及方法
CN105681926B (zh) * 2016-01-18 2019-03-22 四川长虹电器股份有限公司 一种带运动补偿功能液晶电视的画质提升系统及方法
CN109804623A (zh) * 2016-09-27 2019-05-24 交互数字Vc控股公司 参考样本缺失时改进的帧内预测方法
US11863739B2 (en) 2016-09-27 2024-01-02 Interdigital Vc Holdings, Inc. Method for improved intra prediction when reference samples are missing
WO2018170793A1 (zh) 2017-03-22 2018-09-27 华为技术有限公司 一种视频数据的解码方法、解码装置、编码方法和编码装置
CN111034198A (zh) * 2017-07-05 2020-04-17 奥兰治 图像编码和解码方法、编码和解码设备及对应计算机程序
CN111034198B (zh) * 2017-07-05 2023-12-29 奥兰治 图像编码和解码方法、编码和解码设备及对应计算机程序
CN111971959A (zh) * 2018-02-09 2020-11-20 弗劳恩霍夫应用研究促进协会 基于分区的帧内编码概念
CN113366837A (zh) * 2019-02-05 2021-09-07 高通股份有限公司 改进的子分区帧内预测

Also Published As

Publication number Publication date
KR20160129075A (ko) 2016-11-08
EP3253059A1 (en) 2017-12-06
MX2016011296A (es) 2016-11-08
EP3114842A1 (en) 2017-01-11
US20170070748A1 (en) 2017-03-09
US10368091B2 (en) 2019-07-30
WO2015131323A1 (en) 2015-09-11
EP3114842A4 (en) 2017-02-22
KR20210063485A (ko) 2021-06-01
BR112016018814A8 (pt) 2020-06-23
JP2017512026A (ja) 2017-04-27
CA2939431C (en) 2020-09-22
KR102401946B1 (ko) 2022-05-24
AU2014385769A1 (en) 2016-09-01
RU2657210C2 (ru) 2018-06-08
RU2016135632A (ru) 2018-03-07
RU2016135632A3 (zh) 2018-03-07
MX361228B (es) 2018-11-29
CA2939431A1 (en) 2015-09-11
AU2014385769B2 (en) 2018-12-06
CN105247871B (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
CN105247871A (zh) 帧内块复制预测中的块翻动和跳跃模式
CN105432077B (zh) 在切换色彩空间时调整量化/缩放和逆量化/缩放
CN105230023A (zh) 色彩空间、色彩采样率和/或比特深度的自适应切换
CN105556971B (zh) 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN105264888B (zh) 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
JP6607862B2 (ja) ユニバーサル色空間逆変換コーディング
CN106664405A (zh) 用调色板模式对经逸出编码的像素的稳健编码/解码
CN105917650B (zh) 视频和图像编/解码的方法、计算设备及计算机可读介质
CN105493505A (zh) 统一的帧内块复制和帧间预测模式
RU2666635C2 (ru) Характеристики режима индексной карты основных цветов для кодирования и декодирования видео и изображения
CN105409221A (zh) 用于样本自适应偏移滤波的编码器侧决策
CN105393537A (zh) 用于基于散列的块匹配的散列表构建和可用性检查
CN105359531A (zh) 针对屏幕内容编码的编码器侧判定
KR102621959B1 (ko) 임의의 ctu 크기에 대한 ibc 검색 범위 최적화를 사용하는 인코더, 디코더 및 대응하는 방법
CN105706450A (zh) 根据基于散列的块匹配的结果的编码器决定
CN105765974A (zh) 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN113615198A (zh) 进行帧内预测的编码器、解码器和对应方法
CN105917648A (zh) 具有非对称分区的帧内块复制预测以及编码器侧搜索图案、搜索范围和用于分区的方法
CN105874791A (zh) 在对重叠区域内的经重构样本值的块向量预测和估计方面的创新
CN106031177A (zh) 用于硬件加速的视频编码的主编码器
CN105684409A (zh) 在视频和图像编码和解码中使用散列值来表示各块
CN105284112A (zh) 用于确定量化参数的值的方法和装置
CN105230021A (zh) 屏幕内容的词典编码和解码
CN114270836A (zh) 视频编解码的颜色转换

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant