Nothing Special   »   [go: up one dir, main page]

CN105917650A - 视频和图像编码/解码中的块向量预测 - Google Patents

视频和图像编码/解码中的块向量预测 Download PDF

Info

Publication number
CN105917650A
CN105917650A CN201480072214.8A CN201480072214A CN105917650A CN 105917650 A CN105917650 A CN 105917650A CN 201480072214 A CN201480072214 A CN 201480072214A CN 105917650 A CN105917650 A CN 105917650A
Authority
CN
China
Prior art keywords
value
current block
predictive value
block
predictive
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
CN201480072214.8A
Other languages
English (en)
Other versions
CN105917650B (zh
Inventor
L·朱
G·沙利文
J·许
S·桑库拉提
B·A·库马
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 CN105917650A publication Critical patent/CN105917650A/zh
Application granted granted Critical
Publication of CN105917650B publication Critical patent/CN105917650B/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/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/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/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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

在块向量(“BV”)值的预测方面的创新改善了使用帧内块复制(“BC”)预测对块进行编码或解码。例如,创新中的一些涉及使用具有非零值的默认BV预测值。其它创新涉及使用当前块的多个BV预测值候选中的被选择的一个BV预测值候选。又一些创新涉及使用跳跃模式,其中当前帧内BC预测的块使用预测的BV值。

Description

视频和图像编码/解码中的块向量预测
背景
工程师使用压缩(也叫做源编码(source coding或source encoding))来降低数字视频的比特率。压缩通过将视频信息转换成较低比特率的形式来降低存储和传送该信息的成本。解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。“编解码器”是编码器/解码器系统。
在过去的二十年中,已采用了各种视频编解码器标准,包括ITU-T H.261、H.262(MPEG-2或ISO/IEC 13818-2)、H.263和H.264(MPEG-4AVC或ISO/IEC14496-10)标准、MPEG-1(ISO/IEC 11172 1 172-2)和MPEG-4视觉(ISO/IEC14496-2)标准以及SMPTE 421M(VC-1)标准。最近,HEVC标准(ITU-T H.265或ISO/IEC 23008-2)已被批准。当前,正在开发(例如,针对可缩放视频编码/解码、针对在样本比特深度或色度采样率方面具有较高保真度的视频的编码/解码、或针对多视图编码/解码的)HEVC标准的扩展。视频编解码器标准通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于解码器应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。
帧内块复制(“BC”)是H.265/HEVC扩展的处于开发中的预测模式。对于帧内BC预测模式,图片的当前块的样本值是使用同一图片中的先前重构的样本值来预测的。块向量(“BV”)指示从当前块到图片的包括用于预测的先前重构的样本值的区域的位移。BV被信号化在比特流中。帧内BC预测是一种形式的图片内预测——针对图片的块的帧内BC预测不使用除了同一图片中的样本值以外的任何样本值。
如当前在HEVC标准中规定并在针对HEVC标准的某一参考软件中实现的,帧内BC预测模式具有若干问题。具体来说,在许多情形下,BV值没有被有效地信号化,并且采用可预测BC移位的块编码不能高效率地被处理。
概述
概括来说,详细的描述呈现了在使用帧内块复制(“BC”)预测对块进行编码和/或解码期间在块向量(“BV”)值的预测方面的创新。例如,创新中的一些涉及使用具有非零值的默认BV预测值。其它创新涉及使用当前块的多个BV预测值候选中的被选择的一个BV预测值候选。又一些创新涉及使用跳跃模式,其中当前帧内BC预测的块使用预测的BV值。在许多情形下,创新改善了BV值的编码效率,或者以其他方式改善帧内BC预测的块的编码效率。
根据本文中描述的创新的第一方面,编码器确定图片的当前块的默认BV预测值。默认BV预测值包括具有非零值的BV预测值分量。例如,默认BV预测值的垂直和水平BV分量中的一个为零,而另一个具有非零值。编码器使用默认BV预测值来对当前块进行编码。例如,编码器使用当前块的BV值来执行帧内块复制(“BC”)预测、使用当前块的BV值和默认BV预测值来确定BV差、以及随后对BV差进行编码。或者,编码器直接使用默认BV预测值来执行帧内BC预测。
对应的解码器确定图片的当前块的默认BV预测值。默认BV预测值包括具有非零值的BV预测值分量。例如,默认BV预测值的垂直和水平BV分量中的一个为零,而另一个具有非零值。解码器使用默认BV预测值来对当前块进行解码。例如,解码器对当前块的BV差进行解码,随后将经解码的BV差与默认BV预测值组合以重构当前块的BV值。解码器使用BV值来执行帧内BC预测。或者,解码器直接使用默认BV预测值来执行帧内BC预测。
编码器或解码器可取决于图片的前一个块的实际BV值是否可用来有条件地使用默认BV预测值。例如,编码器/解码器检查图片的前一个块的实际BV值是否可用。如果是,则前一个块的实际BV值被用作为当前块的BV预测值。否则,默认BV预测值被用作为当前块的BV预测值。在一些实现中,如果(1)前一个块和当前块是给定编码树单元的一部分,并且(2)前一个块的预测模式是帧内BC预测模式,则前一个块的实际BV值是可用的。
根据本文中描述的创新的第二方面,编码器使用BV预测来确定图片的当前块的BV值。当前块的BV值指示到图片中的区域的位移。编码器使用帧内BC用BV值(此处为BV预测值)来对当前块进行编码。编码器在比特流中输出当前块是以跳跃模式编码的指示,并且比特流缺少当前块的BV差和残留数据。
对应的解码器从比特流中接收图片的当前块是以跳跃模式编码的指示。比特流缺少当前块的BV差和残留数据。解码器使用BV预测来确定当前块的BV值。解码器随后使用帧内块复制预测用BV值(此处为BV预测值)来对当前块进行解码。
对于被跳过的块,比特流可包括索引值,该索引值指示从多个BV预测值候选的集合中对要用作当前块的BV值(此处为BV预测值)的BV预测值候选的选择。索引值可以是标志值或整数值。
根据本文中描述的创新的第三方面,编码器确定图片的当前块的多个BV预测值候选的集合,随后选择要用于当前块的一个BV预测值候选。编码器使用所选择的BV预测值候选来对当前块进行编码,在比特流中输出指示所选择的BV预测值候选的索引值。
对应的解码器从比特流中接收索引值。解码器确定图片的当前块的多个BV预测值候选的集合,并且基于索引值来选择要用于当前块的一个BV预测值候选。解码器使用所选择的BV预测值候选对当前块进行解码。
在一些情况下,比特流包括当前块的BV差(当前块是非跳跃模式、非合并模式块)。BV差指示所选择的BV预测值候选和当前块的BV值之间的差。在其它情况下,当前块是合并模式块,并且比特流缺少当前块的BV差但是可包括当前块的残留数据。在又一些其它情况下,比特流中的值指示当前块是跳跃模式块。在这些情况下,比特流缺少当前块的BV差,并且比特流缺少当前块的残留数据。
总得来说,多个BV预测值候选包括多至x个之前的块的实际BV值。之前的块可以至少部分基于当前块周围的邻居(例如,当前块的左边、上边以及右上的块)的位置来标识。或者,之前的块可至少部分基于与当前块相比的解码顺序来标识(例如,最后三个帧内BC预测的块)。多个BV预测值候选还可包括一个或多个默认BV预测值。
针对BV预测的创新可以被实现为方法的一部分、被适配成执行该方法的计算设备的一部分或存储用于使计算设备执行该方法的计算机可执行指令的有形计算机可读介质的一部分。各创新可以结合地或分开地使用。具体来说,针对BV预测的合并模式可与具有非零运动的默认BV预测值和/或针对帧内BC预测的块的跳跃模式结合使用。针对帧内BC预测的块的跳跃模式可与具有非零运动的默认BV预测值结合使用。
参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
附图简述
图1是其中可实现所描述的一些实施例的示例计算系统的示图。
图2a和2b是其中可实现所描述的一些实施例的示例网络环境的示图。
图3是结合其可实现所描述的一些实施例的示例编码器系统的示图。
图4是结合其可实现所描述的一些实施例的示例解码器系统的示图。
图5a和5b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。
图6是示出结合其可实现所描述的一些实施例的示例视频解码器的示图。
图7a-7d分别是示出针对图片的块的帧内BC预测、针对块的BV预测、默认(0,0)BV预测值、以及具有非零值的默认BV预测值的示图。
图8和9是示出包括使用具有非零值的默认BV预测值的编码的技术的流程图。
图10和11是示出包括使用具有非零值的默认BV预测值的解码的技术的流程图。
图12和13分别是示出包括针对帧内BC预测的块的跳跃模式的编码和解码的技术的流程图。
图14是示出图片中的之前的块的实际BV值中的BV预测值候选的示图。
图15是示出图片中的相邻块的实际BV值中的BV预测值候选的示图。
图16a和16b是示出包括在多个BV预测值候选中进行选择的编码的技术的流程图。
图17a和17b是示出包括在多个BV预测值候选中进行选择的解码的技术的流程图。
详细描述
详细的描述呈现了在使用帧内块复制(“BC”)预测对块进行编码和/或解码期间在块向量(“BV”)值的预测方面的创新。例如,创新中的一些涉及使用具有非零值的默认BV预测值。其它创新涉及使用当前块的多个BV预测值候选中的被选择的一个BV预测值候选。又一些创新涉及使用跳跃模式,其中当前帧内BC预测的块使用预测的BV值。在许多情形下,创新改善了BV值的编码效率,这可降低比特率和/或改善质量,或者以其他方式改善帧内BC预测的块的编码效率。
虽然本文中描述的操作是被适当描述为由视频编码器或视频解码器来执行,但在许多情况中,这些操作可由另一类型的媒体处理工具(例如图像编码器或图像解码器)来执行。
本文中描述的一些创新是参考专用于HEVC标准的句法元素和操作来示出的。例如,对HEVC标准的草稿版本JCTVC-O1005——即2013年11月的“高效视频编码(HEVC)范围扩展文本规范:第5稿”作出参考。本文中描述的各创新还可以被实现为用于其它标准或格式。
更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。通常,所给出的技术/工具并不解决所有这些问题。
I.示例计算系统
图1示出了其中可实现所描述的若干创新的合适计算系统(100)的概括示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
参考图1,计算系统(100)包括一个或多个处理单元(110、115)和存储器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元(110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是(诸)处理单元可访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或这两者的某一组合。存储器(120,125)存储实现针对帧内块向量预测的一个或多个创新的软件(180),该软件用适用于由(诸)处理单元执行的计算机可执行指令的形式。
计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100)中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。
有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、DVD或可用于储存信息并可在计算系统(100)内访问的任何其他介质。存储(140)存储实现针对块向量预测的一个或多个创新的软件(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)中,每个实时通信(“RTC”)工具(210)都包括用于双向通信的编码器(220)和解码器(270)两者。给定的编码器(220)可以产生符HEVC标准(也被称为H.265)、SMPTE 421M标准、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示出可以被包括在编码工具(212)中的示例编码器系统(300)。替换地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放工具(214)的连接的服务器侧控制器逻辑。图4示出可以被包括在回放工具(214)中的示例解码器系统(400)。替换地,回放工具(214)使用另一解码器系统。回放工具(214)还可以包括用于管理与一个或多个编码工具(212)的连接的客户机侧控制器逻辑。
III.示例编码器系统。
图3是结合其可实现所描述的一些实施例的示例编码器系统(300)的框图。编码器系统(300)可以是能够用多种编码模式中的任一者(诸如用于实时通信的低等待时间编码模式、转码模式和用于从文件或流中产生供回放的媒体的较高等待时间编码模式)操作的通用编码工具,或它可以是适用于一种这样的编码模式的专用编码工具。编码器系统(300)可以被实现为操作系统模块、应用库的部分、独立的应用。总体上,编码器系统(300)从视频源(310)接收源视频帧序列(311)并产生经编码数据作为到信道(390)的输出。输出到信道的经编码的数据可包括使用如本文中所述的BV预测中的创新来编码的内容。
视频源(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 4:2:0格式),或者色度样本值可以具有与亮度样本值相同的分辨率(例如用于YUV 4:4:4格式)。或者,视频可用另一格式(例如,RGB 4:4:4格式)来编码。
编码器(340)编码选中的帧(331)以产生经编码的帧(341)并且还产生存储器管理控制操作(“MMCO”)信号(342)或参考图片集(“RPS”)信息。如果当前帧不是已被编码的第一帧,则在执行其编码处理时,编码器(340)可以使用已经被存储在经解码帧的临时存储器存储区域(360)中的一个或多个先前被编码/解码的帧(369)。这样的存储的经解码帧(369)被用作用于当前源帧(331)的内容的帧间预测的参考帧。MMCO/RPS信息(342)向解码器指示哪些经重构的帧可被用作参考帧,并且因此应该被存储在帧存储区域中。
一般来说,编码器(340)包括执行编码任务的多个编码模块,编码任务为诸如分割成小块、帧内预测估计和预测、运动估计和补偿、频率变换、量化和熵编码。由编码器(340)执行的确切操作可以取决于压缩格式而变化。输出的经编码数据的格式可以是HEVC格式(H.265)、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)或其它格式的变型或扩展。
编码器(340)可以将帧分割成相同尺寸或不同尺寸的多个小块。例如,编码器(340)沿小块行和小块列来拆分帧,这些小块行和小块列利用帧边界定义在该帧内的小块的水平和垂直边界,其中每个小块是矩形区域。小块通常被用于提供并行处理的选项。帧还可以被组织成一个或多个片,其中一个片可以是整个帧或该帧的区域。片可以独立于帧中的其它片编码,这改善了错误复原性。出于编码和解码的目的,片或小块的内容被进一步分割成块或其它样本值集。
对于根据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(YUV 4:2:0格式)的CTU可以被拆分成4个CU,其中每个CU包括一32x32亮度CB和两个16x16色度CB,并且每个CU可能被进一步拆分成更小的CU。CU的最小允许尺寸(例如8×8、16×16)可被信号化在位流中。
通常,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。如本文中所使用的,术语“块”可以指示CB、PB、TB或某些其它样本值集,这取决于上下文。编码器决定如何将视频分割成CTU、CU、PU、TU等。
回到图3,编码器根据来自源帧(331)中的其它、先前重构的样本值的预测来表示该帧(331)内编码的块。对于帧内BC预测,图片内估计器估计块相对于其它、先前重构的采样值的块的位移。帧内预测参考区域是帧中用于生成块的BC预测值的样本区域。帧内预测区域可以用(在BV估计中确定的)块向量(“BV”)值来指示。对于块的空间内预测,图片内估计器估计相邻的经重构的样本值到该块的外插。图片内估计器可以输出经熵编码的预测信息(例如帧内BC预测的BV值或帧内空间预测的预测模式(方向))。帧内预测预测器应用预测信息来确定帧内预测值。
编码器(340)依据来自参考帧的预测来表示源帧(331)的帧间编码的预测的块。运动估计器估计块相对于一个或多个参考帧(369)的运动。当使用多个参考帧时,这多个参考帧可来自不同的时间方向或相同的时间方向。经运动补偿的预测参考区域是(诸)参考帧中用于生成当前帧中的样本块的经运动补偿的预测值的样本区域。运动估计器输出经熵编码的诸如运动向量(“MV”)信息之类的运动信息。运动补偿器将MV应用于参考帧(369)以确定用于帧间预测的经运动补偿的预测值。
编码器可以确定在块预测值(帧内或帧间)和对应的原始值之间的差值(如果有的话)。这些预测残留值将进一步使用频率变换、量化和熵编码来编码。例如,编码器(340)为图片、小块、片和/或视频的其它部分设置量化参数(“QP”)的值,并相应地量化变换系数。编码器(340)的熵编码器压缩经量化的变换系数值以及某些辅助信息(例如MV信息、BV预测值的索引值、BV差、QP值、模式决策、参数选择)。典型的熵编码技术包括指数-Golomb编码、Golomb-Rice编码、算术编码、差分编码、Huffman编码、行程长度编码、可变长度对可变长度(“V2V”)编码、可变长度对固定长度(“V2F”)编码、Lempel-Ziv(“LZ”)编码、字典编码、概率区间划分熵编码(“PIPE”)和上述编码的组合。熵编码器可对不同种类的信息使用不同的编码技术,并可组合地应用多个技术(例如,通过应用Golomb-Rice编码,随后应用算术编码),并可从特定编码技术内的多个码表中进行选择。
自适应去块滤波器可以被包括在编码器(340)中的运动补偿循环内以平滑经解码的帧中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(诸如去振铃滤波、自适应环路滤波(“ALF”)或样本自适应偏移(“SAO”)滤波,未示出)作为内环路滤波操作。
经编码的帧(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、…、36n)。以与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-T H.222.0|ISO/IEC13818-1的媒体程序流或传输流格式,或诸如IETF RFC 3550的因特网实时传输协议格式)分组化和/或复用经聚集的数据供作为媒体流来传输或存储,在这种情况中,信道编码器(380)可以添加句法元素作为媒体传输流的句法的一部分。或者,信道编码器(380)可以(例如根据诸如ISO/IEC 14496-12的媒体容器格式)组织经聚集的数据以供作为文件来存储,在这种情况中,信道编码器(380)可以添加句法元素作为媒体存储文件的句法的一部分。或者,更一般地,信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在这种情况中,信道编码器(380)可以添加句法元素作为(诸)协议的句法的一部分。信道编码器(380)将输出提供给信道(390),该信道(390)表示存储、通信连接或该输出的另一信道。信道编码器(380)或信道(390)还可以包括例如用于前向纠错(“FEC”)编码和模拟信号调制的其它元素(未示出)。
IV.示例解码器系统。
图4是结合其可实现所描述的一些实施例的示例解码器系统(400)的框图。解码器系统(400)可以是能够在多种解码模式(例如针对实时通信的低等待时间解码模式以及针对来自文件或流中的媒体回放的较高等待时间解码模式)中的任一者操作的通用解码工具,或它可以是适用于一种这样的解码模式的专用解码工具。解码器系统(400)可以被实现为操作系统模块、应用库的一部分或独立的应用。总体上,解码器系统(400)从信道(410)接收经编码数据并产生经重构的帧作为针对输出目的地(490)的输出。经编码的数据可包括已使用本文中所描述的BV预测中的创新来编码的内容。
解码器系统(400)包括信道(410),该信道(410)可以表示存储、通信连接或针对作为输入的经编码数据的另一信道。信道(410)产生已经被信道编码的经编码数据。信道解码器(420)可以处理经编码数据。例如,信道解码器(420)可以(例如根据诸如ITU-T H.222.0|ISO/IEC 13818-1的媒体程序流或传输流格式,或诸如IETF RFC 3550的因特网实时传输协议格式)去分组化和/或去复用已被聚集以供作为媒体流来传输或存储的数据,在这种情况中,信道解码器(420)可以解析所添加的作为媒体传输流的句法的一部分的句法元素。或者,信道解码器(420)可以(例如根据诸如ISO/IEC 14496-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块,这些块随后可以被划分成更小的样本值块以用于编码和解码。在针对HEVC标准的编码的实现中,编码器将图片分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
编码器(500)使用图片内编码和/或图片间编码来压缩图片。编码器(500)的许多组件被用于图片内编码和图片间编码两者。由这些组件执行的确切操作可取决于所压缩的信息的类型而变化。
小块化模块(510)可选地将图片分割成相同尺寸或不同尺寸的多个小块。例如,小块化模块(510)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。
通用编码控件(520)接收输入视频信号(505)的图片以及来自编码器(500)的各个模块的反馈(未示出)。整体上,通用编码控件(520)将控制信号(未示出)提供给其它模块(例如小块化模块(510)、变换器/缩放器/量化器(530)、缩放器/逆变换器(535)、图片内估计器(540)、运动估计器(550)以及帧内/帧间切换)以设置和改变编码期间的编码参数。具体来说,通用编码控件(520)可决定在编码期间是否以及如何使用BV预测的各方面(例如,采用预测的BV值的跳跃模式、用于BV预测的合并模式)。通用编码控件(520)还可以估计编码期间的中间结果,例如执行速率-失真分析来估计。通用编码控件(520)产生指示在编码期间所做出的决定的通用控制数据(522),使得对应的解码器可以作出一致的决定。通用控制数据(522)被提供给头部格式化器/熵编码器(590)。
如果使用图片间预测来预测当前的图片,运动估计器(550)相对于一个或多个参考图片估计输入视频信号(505)的当前图片的采样值的块的运动。经解码的图片缓冲器(570)缓冲一个或多个经重构的先前编码的图片以供用作参考图片。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(550)产生诸如MV数据、合并模式索引值和参考图片选择数据的辅助信息运动数据(552)。运动数据(552)被提供给头部格式化器/熵编码器(590)以及运动补偿器(555)。
运动补偿器(555)将MV应用于来自经解码的图片缓冲器(570)的(诸)经重构的参考图片。运动补偿器(555)产生针对当前图片的经运动补偿的预测。
在编码器(500)内的分开的路径中,图片内估计器(540)确定如何执行对输入视频信号(505)的当前图片的样本值块的图片内预测。当前图片可全部或部分使用图片内编码来编码。对于帧内空间预测,图片内估计器(540)使用当前图片的重构(538)的值来确定如何从当前图片的邻近的、先前重构的样本值中空间地预测当前图片的当前块的样本值。或者,对于使用BV值的帧内BC预测,图片内估计器(540)估计当前块的样本值到当前图片内的不同候选区域的位移。
图片内估计器(540)产生辅助信息帧内预测数据(542),诸如指示帧内预测使用空间预测还是帧内BC预测的信息(例如,每帧内块的标志值)、预测模式方向(针对帧内空间预测的情况)、以及BV值(针对帧内BC预测的情况)。图片内预测数据(542)被提供给头部格式化器/熵编码器(590)以及图片内预测器(545)。
根据帧内预测数据(542),图片内预测器(545)从当前图片的邻近的先前重构的样本值中在空间上预测当前图片的当前块的样本值。或者,对于帧内BC预测,图片内预测器(545)使用帧内预测参考区域的先前重构的样本值来预测当前块的样本值,帧内预测参考区域由针对当前块的BV值来指示。在一些情况下(例如,对于跳跃模式块或合并模式块),BV值可以是BV预测值(经预测的BV值)。当图片的色度数据具有与亮度数据相同的分辨率时(例如,当格式为YUV 4:4:4格式或RGB 4:4:4格式时),对色度块应用的BV值可与对亮度块应用的BV值相同。另一方面,当图片的色度数据相对于亮度数据具有降低的分辨率时(例如,当格式为YUV 4: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)还(相对于BV值的BV预测值)确定BV值的BV差,随后对BV差进行熵编码,例如使用上下文自适应二进制算术编码来对BV差进行熵编码。对于跳跃模式块或合并模式块,BV差被忽略。
头部格式化器/熵编码器(590)在经编码的视频位流(595)中提供经编码数据。经编码的视频比特流(595)的格式可以是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)的格式可以是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块,这些块随后可以被划分成更小的样本值块。在针对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)还可以(例如使用上下文自适应二进制算术解码)对BV值的BV差进行熵解码,随后将该BV差与相应的BV预测值组合以重构BV值。对于跳跃模式或合并模式块,BV差被从比特流中省略,并且BV值就直接是BV预测值(例如,以BV预测值索引值来指示)。
通用解码控件(620)接收通用控制数据(622)并将控制信号(未示出)提供给其它模块(例如缩放器/逆变换器(635)、图片内预测器(645)、运动补偿器(655)以及帧内/帧间切换)以设置和改变解码期间的解码参数。
如果当前图片是使用图片间预测来预测的,则运动补偿器(655)接收运动数据(652),例如MV数据、参考图片选择数据以及合并模式索引值。运动补偿器(655)将MV应用于来自经解码的图片缓冲器(670)的(诸)经重构的参考图片。运动补偿器(655)产生针对当前图片中的帧间编码块的运动补偿的预测。经解码图片缓冲器(670)存储一个或多个先前重构的图片以供用作参考图片。
在解码器(600)内的分开路径中,帧内预测预测器(645)接收帧内预测数据(642),诸如指示帧内预测是使用空间预测还是帧内BC预测的信息(例如,每个帧内块的标记值)、预测模式方向(针对帧内空间预测的情况)、和BV值(针对帧内BC预测的情况)。对于帧内空间预测,根据预测模式数据使用当前图片的重构(638)的值,图片内预测器(645)从当前图片的相邻的、先前重构的样本值中空间地预测当前图片的当前块的样本值。或者,对于使用BV值的帧内BC预测,图片内预测器(645)使用帧内预测区域的先前重构的样本值来预测当前块的样本值,图片内预测区域的先前重构的样本值由针对当前块的BV值来指示。
帧内/帧间切换选择经运动补偿的预测或图片内预测的值用作给定块的预测(658)。例如,当遵循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.块向量预测方面的创新。
本章节介绍块向量(“BV”)预测的各个特征。特征中的一些涉及默认BV预测值的使用,而其它特征涉及针对BV预测值的合并模式或针对帧内块复制(“BC”)预测的跳跃模式。这些特征可促成在速率-失真性能方面更有效的帧内BC预测。
具体地,本文中描述的各创新可在编码诸如屏幕捕捉内容之类的某种“人工”创建的视频内容时改善速率-失真性能。屏幕捕捉内容典型地包括重复的结构(例如图形、文本字符),其为帧内BC预测提供了改善性能的机会。屏幕捕捉内容通常用具有高色度采样分辨率的格式(例如YUV 4:4:4或RGB 4:4:4)来编码,但是它也可以用具有较低的色度采样分辨率(例如YUV 4:2:0)的格式来编码。编码/解码屏幕捕捉内容的常见场景包括远程桌面会议和对自然视频或其它“经混合的内容”视频的图形覆盖的编码/解码。
A.帧内BC预测模式、BV值和BV预测—介绍
对于帧内BC预测,图片的当前块的样本值是使用同一图片中的样本值来预测的。BV值指示从当前块到图片的包括用于预测的样本值的区域的位移。用于预测的样本值是先前重构的样本值。BV值可以在比特流中被信号化,并且解码器可以使用BV值来确定图片的区域以用于预测,其也在解码器处被重构。帧内BC预测是一种形式的图片内预测——针对图片的块的帧内BC预测不使用除了同一图片中的样本值以外的任何样本值。
图7a示出针对当前帧(710)的当前块(760)的帧内BC预测。当前块可以是编码单元(“CU”)的编码块(“CB”)、预测单元(“PU”)的预测块(“PB”)、变换单元(“TU”)的变换块(“TB”)或其它块。当前块的尺寸可以是64×64、32×32、16×16、8×8或某个其它尺寸。更一般地,当前块的尺寸为m×n,其中m和n中的每一者都是整数,并且其中m和n可彼此相等或可具有不同的值。替换地,当前块可具有某一其他形状(例如,经编码视频对象的具有非矩形形状的区域)。
BV(761)指示当前块(760)到图片的包括用于预测的样本值的区域(762)的位移(或偏移)。由BV(761)指示的帧内预测区域(762)有时被称为当前块(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差具有支持高效熵编码的概率分布。在HEVC标准的当前草稿版本(JCTVC-O1005)中,BV预测值是当前CTU内最后编码的CU的BV值(即,当前CTU内的先前帧内BC预测的块的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值。
在HEVC标准的当前草稿版本(JCTVC-O1005)中,基于实际BV值的BV预测值在一些情形下不可用。例如,前一实际BV值对于给定CTU中的第一个帧内BC预测的块不可用。当前一实际BV值对于BV预测值不可用时(如图7c中所示),(0,0)的默认值被用作为BV预测值。事实上,这意味着在没有BV值对CTU中的前一帧内BC预测的块可用时,BV预测被跳过。
B.具有非零分量的默认BV预测值
根据本文中描述的创新的一个方面,当前一实际BV值不可用作为当前块的BV值的BV预测值时,编码器和解码器使用具有非零分量的默认BV预测值。相比于为零值的默认BV预测值,具有非零分量的默认BV预测值趋于更接近于当前块的BV值,这导致对BV差的更高效的熵编码。另外,具有非零值的默认BV预测值能够提供对于BV预测采用跳跃模式还是合并模式的有用选项。
1.示例默认BV预测值
如图7d中所示,对于当前块(760)的BV值(761),默认BV预测值(763)可具有非零水平分量。例如,默认BV预测值是一个水平向量(BVx,0)。水平BV分量BVx的值可以是一个固定的非零值。或者,BVx的值可以是当前块的宽度,该宽度是避免当前块和参考区域之间重叠的水平BV分量BVx的最小值。
例如,当当前块是具有宽度W和高度H的CU的CB时,水平BV分量BVx的值的默认BV预测值可以是等于CU的宽度W的负偏移。也就是说,默认BV预测值可以是(-W,0)。每当(基于前一个块的实际BV值的)常规BV预测值不可用时,默认BV预测值(BVx,0)可被使用。或者,默认BV预测值(BVx,0)可以取决于当前块的BV值而有条件地使用。例如,如果当前块的BV值的垂直BV分量小于-H,则默认BV预测值为(-W,0)。否则(当前块的BV值的垂直BV分量不小于-H),默认BV预测值为(0,0)。这一条件确保了在当前块的BV值具有显著垂直BV分量时不应用默认BV预测值(-W,0)。替代地,非零默认BV预测值(BVx,0)根据另一条件而被有条件地应用。
替代具有为-W的负偏移,默认BV预测值可具有另一负偏移。例如,默认BV预测值可以为(-2*W,0)。
替代地,默认BV预测值是垂直向量(0,BVy)。垂直BV分量BVy的值可以是一个固定的非零值,或者BVy的值可以是当前块的高度,该高度是避免当前块和参考区域之间重叠的BVy的最小值。例如,当当前块是具有宽度W和高度H的CU的CB时,默认BV预测值可以是(0,-H)。默认BV预测值(0,BVy)可在每当常规BV预测值不可用时被使用,或者默认BV预测值(0,BVy)可取决于当前块的BV值有条件地使用。
替代地,默认BV预测值可具有非零水平分量和非零垂直分量。
2.采用默认BV预测值的示例编码
图8示出用于在编码期间使用具有非零分量的默认BV预测值的通用技术(800)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(800)。
编码器确定(830)图片的当前块的默认BV预测值。例如,在HEVC实现中,当前块是编码树单元的编码单元的一部分。默认BV预测值包括具有非零值的BV预测值分量。例如,具有非零值的BV预测值分量是水平BV分量。取决于实现,非零水平BV分量可具有固定的值(与当前块的大小无关)、等于当前块的宽度的值、或者某个其它非零值。或者,具有非零值的BV预测值分量是垂直BV分量。取决于实现,非零垂直BV分量可具有固定的值(与当前块的大小无关)、等于当前块的高度的值、或者某个其它非零值。或者,默认BV预测值可包括非零水平BV分量和非零垂直BV分量。默认BV预测值可以是为如章节C中描述的跳跃模式或者为如章节D中描述的合并模式所聚集的一组多个BV预测值候选的一部分。
编码器使用默认BV预测值来对当前块进行编码(850)。例如,编码器(a)使用当前块的BV值来执行帧内BC预测、(b)使用当前块的BV值和默认BV预测值来确定BV差、以及(c)对BV差进行编码。替代地,编码器直接使用默认BV预测值来执行帧内BC预测。
图9示出用于在编码期间使用具有非零分量的默认BV预测值的更详细的示例技术(900)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(900)。
作为开始,编码器标识(910)图片的当前块的BV值。编码器可使用任何形式的BV估计来标识当前块的BV值。在HEVC实现中,当前块是编码树单元的编码单元的一部分。
编码器检查(920)实际BV值是否可用作为BV预测值。例如,编码器检查图片的前一个块的实际BV值是否可用。在HEVC实现中,如果(1)前一个块和当前块是同一CTU的一部分,并且(2)前一个块的预测模式是帧内BC预测模式,则前一个块的实际BV值是可用的。例如,前一个块的实际BV值对于给定CTU中的第一个帧内BC预测的块不可用。
如果实际BV不可用作为BV预测值,则编码器使用(940)实际BV作为BV预测值。另一方面,如果没有任何之前的块的实际BV可用作为BV预测值,则编码器确定(930)当前块的默认BV预测值。默认BV预测值包括具有非零值的BV预测值分量。例如,如以上结合图8的动作(830)所描述的来确定默认BV预测值。
编码器确定(950)当前块的BV值和BV预测值之间的BV差。编码器对该BV差进行熵编码(960)。
3.采用默认BV预测值的示例解码
图10示出用于在解码期间使用具有非零分量的默认BV预测值的通用技术(1000)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1000)。
解码器确定(1030)图片的当前块的默认BV预测值。例如,在HEVC实现中,当前块是编码树单元的编码单元的一部分。默认BV预测值包括具有非零值的BV预测值分量。例如,具有非零值的BV预测值分量是水平BV分量。取决于实现,非零水平BV分量可具有固定的值(与当前块的大小无关)、等于当前块的宽度的值、或者某个其它非零值。或者,具有非零值的BV预测值分量是垂直BV分量。取决于实现,非零垂直BV分量可具有固定的值(与当前块的大小无关)、等于当前块的高度的值、或者某个其它非零值。或者,默认BV预测值可包括非零水平BV分量和非零垂直BV分量。默认BV预测值可以是为如章节C中描述的跳跃模式或者为如章节D中描述的合并模式所聚集的一组多个BV预测值候选的一部分。
解码器使用默认BV预测值来对当前块进行解码(1050)。例如,解码器(a)对当前块的BV差进行解码、(b)将经解码的BV差与默认BV预测值组合以重构当前块的BV值、以及(c)使用当前块的BV值来执行帧内BC预测。替代地,解码器直接使用默认BV预测值来执行帧内BC预测。
图11示出用于在解码期间使用具有非零分量的默认BV预测值的更详细的示例技术(1100)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1100)。
解码器检查(1120)实际BV是否可用作为图片的当前块的BV值的BV预测值。例如,解码器检查图片的前一个块的实际BV值是否可用。在HEVC实现中,如果(1)前一个块和当前块是同一CTU的一部分,并且(2)前一个块的预测模式是帧内BC预测模式,则前一个块的实际BV值是可用的。前一个块的实际BV值例如对于给定CTU中的第一个帧内BC预测的块不可用。
如果实际BV不可用作为BV预测值,则解码器使用(1140)实际BV作为BV预测值。另一方面,如果没有任何之前的块的实际BV可用作为BV预测值,则解码器确定(1130)当前块的默认BV预测值。默认BV预测值包括具有非零值的BV预测值分量。例如,如以上结合图10的动作(1030)所描述的来确定默认BV预测值。
解码器还对当前块的BV差进行熵解码(1150)。解码器随后将BV差与BV预测值组合(1160)以重构当前块的BV值。
4.替换和变型
在以上描述的默认BV预测值的各示例中,默认BV预测值的值不受当前块的位置约束。替代地,默认BV预测值的值可以受当前块的位置约束。例如,如果当前块处于图片的边缘处使得默认BV预测值将指向图片之外的位置,则默认BV预测值被约束为指向图片内的位置,或者使用(0,0)BV预测值。或者,作为其中BV值被约束为引用某个CTU集合(例如,当前CTU和前一CTU)中的位置的HEVC实现的另一示例,默认BV预测值被约束为引用该CTU集合内的位置。或者,作为其中图片包括多个小块或多个切片的HEVC实现的另一示例,BV值(以及默认BV预测值)可被约束为引用当前小块(和/或当前切片)内的位置。
在以上描述的默认BV预测值的各示例中,默认BV预测值的值不取决于当前块的位置而切换。替代地,默认BV预测值的值可以取决于当前块的位置而切换。例如,如果当前块处于除了图片(或小块、或切片,如果使用的话)的左边缘以外的任何位置,则默认BV预测值是水平BV预测值(BVx,0)。如果当前块处于图片(或小块、或切片,如果使用的话)的左边缘,或者默认水平BV预测值否则将引用图片(或小块、或切片,如果使用的话)之外的位置,则默认BV预测值是垂直BV预测值(0,BVy)。并且,如果当前块处于图片(或小块、或切片,如果使用的话)的左上角,或者默认水平BV预测值和垂直BV预测值否则将引用图片(或小块、或切片,如果使用的话)之外的位置,则默认BV预测值是(0,0)BV预测值。
C.帧内BC预测的跳跃模式
根据本文中描述的创新的另一方面,编码器和解码器针对某些帧内BC预测的块使用跳跃模式。在跳跃模式中,帧内BC预测的块使用预测的BV值并且在比特流中不具有残留数据。在一些情形下,使用针对帧内BC预测的块的跳跃模式能够显著地改善速率-失真效率。
总得来说,编码器决定何时为当前帧内BC预测的块使用跳跃模式。编码器能够基于帧内BC预测区域与当前块有多接近地匹配、基于残留值的感知重要性、基于可用于对残留值进行编码的比特率、和/或基于其它因素来决定使用跳跃模式。在其中编码速度是约束的例如实时编码的某些编码模式下,编码器可偏好为帧内BC预测的块使用跳跃模式。
图12示出包括针对帧内BC预测的块的跳跃模式的编码的通用技术(1200)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1200)。
对于图片的当前块,如果当前块是以跳跃模式编码的帧内BC预测的块,则编码器使用(1210)BV预测来确定当前块的BV值。当前块的BV值指示在该图片中的一区域的位移。BV预测可包括合并模式预测、使用最后编码的帧内BC预测的块的BV值的预测、使用相邻的帧内BC预测的块的BV值的分量级中值的预测、或者某种其它形式的BV预测。当前块是例如CTU的CU的一部分。
编码器使用帧内BC预测用BV值(此处为预测的BV值)来编码(1220)当前块。编码器在比特流中输出(1230)当前块是以跳跃模式编码的指示。由于该块是以跳跃模式编码的,因此比特流缺少当前块的BV差和残留数据。然而,比特流可包括索引值,该索引值指示从多个BV预测值候选的集合中对要用作当前块的BV值的BV预测值候选的选择。例如,当多个BV预测值候选的集合具有两个BV预测值候选时,该索引值是一个标志(flag)值。或者,当多个BV预测值候选的集合具有不止两个BV预测值候选时,该索引值是一个整数值。该索引值可使用例如算术编码来进行熵编码。
图13示出包括针对帧内BC预测的块的跳跃模式的解码的通用技术(1300)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1300)。
对于图片的当前块,如果当前块是以跳跃模式编码的帧内BC预测的块,则解码器从比特流中接收(1310)该当前块是以跳跃模式编码的指示。由于该块是以跳跃模式编码的,因此比特流缺少当前块的BV差和残留数据。然而,如以上所描述的,比特流可包括索引值,该索引值指示从多个BV预测值候选的集合中对要用作当前块的BV值的BV预测值候选的选择。当前块是例如CTU的CU的一部分。
解码器使用(1320)BV预测来确定当前块的BV值。BV预测一般与编码器处执行的BV预测成镜像。BV预测可包括合并模式预测、使用最后编码的帧内BC预测的块的BV值的预测、使用相邻的帧内BC预测的块的BV值的分量级中值的预测、或者某种其它形式的BV预测。解码器使用帧内BC预测用BV值(此处为预测的BV值)来解码(1330)当前块。
D.针对BV预测的合并模式
根据本文中描述的创新的另一方面,编码器和解码器使用针对BV预测的合并模式。合并模式能够显著地改善BV预测的质量,这进而降低了比特流中的BV差所消耗的比特的量。
对于合并模式,在确定块的BV预测值时,编码器聚集BV预测值候选的集合,选择BV预测值候选中的一个以用作为该块的BV预测值,并且在比特流中信号化指示该被选择的BV预测值候选的索引值。解码器聚集该BV预测值候选的集合,并且基于被信号化的索引值来选择BV预测值候选中要用作为该块的BV预测值的那个BV预测值候选。尽管索引值消耗比特流中的比特,但是合并模式能够显著地改善BV预测并且因此减少BV差所消耗的比特,从而得到整体的比特率降低。
在示例实现中,针对BV预测的合并模式与针对帧内BC预测的块的跳跃模式组合使用。替代地,针对BV预测的合并模式可在即使未采用针对帧内BC预测的块的跳跃模式的情况下使用。
1.示例BV预测值候选以及索引值
当确定合并模式下块的BV预测值时,编码器或解码器聚集BV预测值候选的集合。该BV预测值候选的集合的构成取决于实现,但是在编码器侧和解码器侧是相同的。
在一个方法中,BV预测值候选是从图片中的之前编码的块的实际BV值中聚集出来的。总得来说,编码器和解码器确定图片中的多至x个之前的块的实际BV值。之前的块是图片中的之前编码的帧内BC预测的块。具体来说,它们是按照在解码顺序上比当前块更早的最近的x个帧内BC预测的块。x的值取决于实现并且可以是例如2、3、4、5或某个其它数字。使用更多BV预测值候选一般会提高索引值的比特率,但是会改善BV预测的质量,这进而减少了BV差消耗的比特。
之前的帧内BC预测的块不需要是当前块的邻居。如果少于x个具有实际BV值的之前的块可用,则BV预测值候选的集合可包括少于x个BV预测值候选。
图14示出了这一方法的示例。在图14中,三个之前的帧内BC预测的块(1430,1440,1450)的三个BV值(1431,1441,1451)提供用于当前帧(1410)的当前块(1460)的BV预测值的合并模式的BV预测值候选。尽管在图14的示例中,之前的块(1430,1440,1450)是连续的,但是之前的块不需要是连续的。(也就是说,提供BV预测值候选的之前的帧内BC预测的块可以被图片中的其它非帧内BC预测的块隔开。)
BV预测值候选的集合可进一步包括一个或多个默认BV预测值。在图14的示例中,BV预测值候选的集合包括具有水平位移的默认BV预测值(BVx,0)以及具有垂直位移的默认BV预测值(0,BVy)。具体来说,具有水平位移和垂直位移的默认BV预测值趋于对文本内容来说是有用的,文本内容一般遵循完全水平或垂直的方向。
合并模式索引值与相应的BV预测值候选相关联。典型的,越小的索引值与越可能被选择的BV预测值候选相关联,而越大的索引值与越不可能被选择的BV预测值候选相关联,这趋于在熵编码后降低索引值的比特率。在图14中,根据预期的选择可能性,索引值idx 0…idx 4被指派给具有BV值(1451,1441,1431)和默认BV预测值的BV预测值候选。
例如,在一些实现中,之前编码的块的两个实际BV值被存储为BV预测值候选BVcand0和BVcand1。在新的BV值被使用之后,较旧的BV预测值候选BVcand1被替换为较新的BV预测值候选BVcand0,而较新的BV预测值候选BVcand0被替换为刚刚使用的BV值。在编码器侧,对于当前块,编码器选择BVcand0和BVcand1中的一个以用作为BV预测值。作为合并模式索引值,编码器信号化指示BVcand0和BVcand1中的哪一个被编码器使用并且应当被解码器使用的标志值。在解码器侧,解码器接收并解析标志值,并且基于该标志值选择BVcand0和BVcand1中的要用作为当前块的BV预测值的那个。在这一方法中,编码器和解码器各自存储和更新两个BV预测值候选BVcand0和BVcand1
作为另一示例,在一些其它实现中,之前编码的块的一个实际BV值被存储为第一BV预测值候选BVcand0,而默认BV预测值被存储为第二BV预测值候选BVcand1。例如,默认BV预测值是(BVx,0),其中BVx可以是等于当前块的宽度W或具有某个其它非零值的负偏移。在新的BV值被使用之后,第一BV预测值候选BVcand0被替换为刚刚使用的BV值,但是第二BV预测值BVcand1不改变。在编码器侧,对于当前块,编码器选择BVcand0和BVcand1中的一个以用作为BV预测值。编码器信号化指示BVcand0和BVcand1中的哪一个被编码器使用并且应当被解码器使用的标志值。解码器接收并解析标志值,并且基于该标志值选择BVcand0和BVcand1中的要用作为当前块的BV预测值的那个。在这一方法中,编码器和解码器各自存储两个BV预测值候选BVcand0和BVcand1,并且在编码或解码期间,第一BV预测值候选BVcand0被更新。
在另一方法中,BV预测值候选是从邻近图片中的当前块的之前编码的块的实际BV值中聚集出来的。编码器和解码器确定多至x个相邻块的实际BV值。相邻的块是图片中在当前块左边、在当前块上边、在当前块右上方的之前编码的帧内BC预测的块。x的值取决于实现并且可以是例如2、3、4、5或某个其它数字。如果少于x个具有实际BV值的相邻块可用,则BV预测值候选的集合可包括少于x个BV预测值候选。
图15示出了这一方法的示例。在图15中,三个相邻帧内BC预测的块(1530,1540,1550)的三个BV值(1531,1541,1551)提供用于当前帧(1510)的当前块(1560)的BV预测值的合并模式的BV预测值候选。如果相邻块中的一个不可用(例如,不是帧内BC预测的块,或者在图片、小块或切片之外),则在一些情况下,另一相邻块可被添加(例如,当前块左上方的块)。如图15中所示,BV预测值候选的集合包括一个或多个默认BV预测值(诸如具有水平位移的默认BV预测值(BVx,0)以及具有垂直位移的默认BV预测值(0,BVy))。在图15中,根据预期的选择可能性,索引值idx 0…idx 4被指派给具有BV值(1541,1531,1551)和默认BV预测值的BV预测值候选。
对BV预测值候选中的冗余值的处理取决于实现。在一些实现中,用于合并模式的BV预测值候选的集合可包括冗余值——也就是说,冗余BV预测值候选不被移除或替代。在其它实现中,在聚集用于合并模式的BV预测值候选的集合时,编码器和解码器不向该集合添加冗余的BV预测值。这一方法可导致较小的BV预测值候选的集合,这可降低编码的索引值的比特率。在又一些其它实现中,在聚集用于合并模式的BV预测值候选的集合时,编码器和解码器将会与集合中已存在的BV预测值候选冗余的BV预测值候选替换为(例如,来自另一之前编码的帧内BC预测的块、来自另一相邻的帧内BC预测的块、来自另一默认BV预测值选项的)不同的BV预测值候选。例如,如果之前的第三个帧内BC预测的块的BV值与之前的第一个帧内BC预测的块或之前的第二个帧内BC预测的块的BV值相同,则编码器/解码器替代地将之前的第四个帧内BC预测的块的BV值添加到BV预测值候选的集合。如果该BV值将是冗余的,则编码器/解码器替代地添加之前的第五个、第六个等帧内BC预测的块的BV值。或者,编码器/解码器添加另一默认BV预测值。
2.采用所选择的BV预测值的示例编码
图16a示出包括针对BV预测值的合并模式的编码的通用技术(1600)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1600)。
作为开始,编码器确定(1610)图片的当前的帧内BC预测的块的多个BV预测值候选的集合。当前块是例如CTU的CU的一部分。编码器可使用参照图14和15描述的方法中的一个或使用另一方法来确定BV预测值候选的集合。总得来说,BV预测值候选可分别包括多至x个之前块的实际BV值,其中x取决于实现(例如,x是2、3、4、5或某个其它数字)。x个之前的块可以至少部分基于当前块周围的邻居的位置(参见例如图15)和/或与当前块相比的解码顺序(参见例如图14)来标识。BV预测值候选还可包括一个或多个默认BV预测值(例如,各自具有带有非零值的BV预测值分量)。
编码器选择(1620)多个BV预测值候选中要用于当前的帧内BC预测的块的一个BV预测值候选。例如,在当前块将使用帧内BC预测用所选的BV预测值候选来编码时,编码器依据某一度量(例如,绝对差之和、均方差)来选择针对其的参考帧内预测区域最接近地匹配当前块的BV预测值候选。或者,当当前块具有将被用于帧内BC预测的BV值(通过BV估计标识出),则编码器选择最接近匹配当前块的BV值的BV预测值候选。该选择导致最小的BV差,这趋于改善熵编码的效率。
编码器使用所选择的BV预测值候选来对当前帧内BC预测的块进行编码(1630)。图16b示出示例实现中对当前块进行编码(1630)的细节。编码器检查(1632)当前块是否是以跳跃模式编码的。如果是,则编码器使用帧内BC预测用所选择的BV预测值而不是使用任何残留数据来编码(1633)当前块。否则(不是跳跃模式),则编码器检查(1634)当前块是否是以合并模式编码的。如果是,则编码器使用帧内BC预测用所选择的BV预测值来编码(1635)当前块。在合并模式中,编码器可选地对当前块的残留数据进行编码。否则(不是合并模式),则编码器使用帧内BC预测用当前块的BV值来编码(1637)当前块,可选地编码当前块的残留数据。
编码器在比特流中输出(1640)指示所选择的BV预测值候选的索引值。当BV预测值候选的集合包括两个BV预测值候选时,该索引值可以是一个标志值。或者,当存在不止两个BV预测值候选时,该索引值可以是一个整数值。索引值可被熵编码或信号化为固定长度值。如果帧内BC预测模式语法元素指示当前块是使用帧内BC预测模式来编码的,则索引值可以被(有条件地)在比特流中信号化作为单独的语法元素。或者,索引值可以被与另一语法元素(例如,指示当前块是否是使用帧内BC预测模式来编码的语法元素)联合地在比特流中信号化。
编码器还输出当前块的任何经编码的数据。比特流中的值可指示当前块是否是以跳跃模式编码的。如果当前块是跳跃模式块,则比特流缺少当前块的BV差并且缺少当前块的残留数据。如果当前块是合并模式块,则比特流缺少当前块的BV差但是可包括当前块的残留数据。否则(当前块是非跳跃模式、非合并模式块),比特流包括当前块的BV差(指示所选择的BV预测值候选和当前块的BV值之间的差)并且还可包括当前块的残留数据。
当编码器使用数据结构来跟踪被用于之前的帧内BC预测的块的实际BV值时,编码器可用当前块的BV值来更新数据结构。
3.采用所选择的BV预测值的示例解码
图17a示出包括针对BV预测值的合并模式的解码的通用技术(1700)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1700)。
作为开始,解码器从比特流中接收(1710)图片的当前块的索引值。当前块是例如CTU的CU的一部分。索引值指示多个BV预测值候选的集合中被选择的BV预测值候选。当BV预测值候选的集合包括两个BV预测值候选时,该索引值可以是一个标志值。或者,当存在不止两个BV预测值候选时,该索引值可以是一个整数值。索引值可被熵编码(在这种情况下,解码器对索引值进行熵解码)或信号化为固定长度值。如果帧内BC预测模式语法元素指示当前块是使用帧内BC预测模式来编码的,则索引值可以被(有条件地)在比特流中信号化作为单独的语法元素。或者,索引值可以被与另一语法元素(例如,指示当前块是否是使用帧内BC预测模式来编码的语法元素)联合地在比特流中信号化。
解码器还接收当前块的任何经编码的数据。解码器在解码的适当阶段对经编码的数据进行熵解码。比特流中的值可指示当前块是否是以跳跃模式编码的。如果当前块是跳跃模式块,则比特流缺少当前块的BV差并且缺少当前块的残留数据。如果当前块是合并模式块,则比特流缺少当前块的BV差但是可包括当前块的残留数据。否则(当前块是非跳跃模式、非合并模式块),则比特流包括当前块的BV差并且还可包括当前块的残留数据。
解码器确定(1720)当前块的多个BV预测值候选的集合。解码器可使用参照图14和15描述的方法中的一个或使用另一方法来确定BV预测值候选的集合。总得来说,BV预测值候选可包括多至x个之前块的实际BV值,其中x取决于实现(例如,x是2、3、4、5或某个其它数字)。x个之前的块可以至少部分基于当前块周围的邻居的位置(参见例如图15)和/或与当前块相比的解码顺序(参见例如图14)来标识。BV预测值候选还可包括一个或多个默认BV预测值(例如,各自具有带有非零值的BV预测值分量)。
基于索引值,解码器选择(1730)多个BV预测值候选中要用于当前块的一个BV预测值候选。解码器使用所选择的BV预测值候选对当前块进行解码(1740)。图17b示出示例实现中对当前块进行解码(1740)的细节。解码器检查(1742)当前块是否是以跳跃模式编码的。如果是,则解码器使用帧内BC预测用所选择的BV预测值而不是使用任何残留数据来解码(1743)当前块。否则(不是跳跃模式),则解码器检查(1744)当前块是否是以合并模式编码的。如果是,则解码器使用帧内BC预测用所选择的BV预测值来解码(1745)当前块。在合并模式中,解码器对当前块的残留数据(如果存在)进行解码。否则(不是合并模式),则解码器使用帧内BC预测用当前块的BV值来解码(1747)当前块(用相对于所选择的BV预测值的BV差来解码),还对当前块的残留数据(如果存在)进行解码。
当解码器使用数据结构来跟踪被用于之前的帧内BC预测的块的实际BV值时,解码器可用当前块的BV值来更新数据结构。
4.合并模式的示例实现
在HEVC实现中,CU的语法和语义可被修改以信号化用于BV预测的合并模式和/或用于帧内BC预测的块的跳跃模式的语法元素。
在HEVC规范的草稿(JCTVC-O1005_v3)中,cu_skip_flag[x0][y0]指示当前CU是否被跳过,但是该标志仅在当前切片是预测性(“P”)切片或双向预测性(“B”)切片的情况下被信号化。索引x0,y0指定了被考虑的CB的左上亮度样本相对于图片的左上亮度样本的位置(x0,y0)。如果cu_skip_flag[x0][y0]为1,则当前CU被跳过,并且对于该CU,cu_skip_flag[x0][y0]之后不再解析更多的语法元素,除了合并候选索引merge_idx[x0][y0]。如果cu_skip_flag[x0][y0]为0,则当前CU不被跳过。当cu_skip_flag[x0][y0]不存在,则其被推断为0。
根据一个可能的修改,cu_skip_flag[x0][y0]也可在当前切片是帧内(“I”)切片的情况下被信号化。当帧内BC预测被启用(根据顺序参数集中的标志intra_block_copy_enabled_flag),如果cu_skip_flag[x0][y0]的值为1,则当前CU被跳过,并且对于该CU,cu_skip_flag[x0][y0]之后不再解析更多的语法元素,除了BV预测值索引值idx。具体来说,对于当前被跳过的CU,没有BV差被信号化。另一方面,如果cu_skip_flag[x0][y0]的值为0,则当前CU不被跳过。
在HEVC规范的草稿(JCTVC-O1005_v3)中,intra_bc_flag[x0][y0]指示当前CU是否是以帧内BC预测模式编码的。数组索引x0,y0指定了被考虑的CB的左上亮度样本相对于图片的左上亮度样本的位置(x0,y0)。如果intra_bc_flag[x0][y0]为1,则当前CU是以帧内BC预测模式编码的。如果intra_bc_flag[x0][y0]为0,则当前CU是以帧内空间预测来编码的。当不存在时,intra_bc_flag的值被推断为是0。
根据一个可能的修改,对于intra_bc_flag[x0][y0],当intra_bc_flag[x0][y0]为1时,当前CU的语法包括指示对BV预测值候选的选择的BV预测值索引值idx。索引值idx可以是一个标志值,用以指示在两个BV预测值候选之间的选择,或者是一个整数值,用以指示在不止两个BV预测值候选中的选择。该索引值可使用例如算术编码来进行熵编码。
或者,根据另一可能的修改,对于intra_bc_flag[x0][y0],语法元素是整数值而不是二进制标志。如JCTVC-O1005_v3中所述,如果intra_bc_flag[x0][y0]为0,则当前CU是以帧内空间预测来编码的。另一方面,如果intra_bc_flag[x0][y0]大于0,则当前CU是以帧内BC预测模式编码的,并且intra_bc_flag[x0][y0]还指示BV预测值索引值idx。例如,如果intra_bc_flag[x0][y0]为1,则idx为1;如果intra_bc_flag[x0][y0]为2,则idx为2;依此类推。换言之,BV预测值索引值idx与空间或BC预测的二进制值联合编码在单个语法元素中。
对于修改intra_bc_flag[x0][y0]和信号化索引值idx的任意一种方式,变量BvIntraPredictor[compIdx]规定要用于当前CU的帧内BC预测的BV预测值候选。例如,在图14的示例中,BvIntraPredictor[0][compIdx]、BvIntraPredictor[1][compIdx]和BvIntraPredictor[2][compIdx]存储多达三个最近的之前帧内BC预测的块的BV值。或者,在图15的示例中,BvIntraPredictor[0][compIdx]、BvIntraPredictor[1][compIdx]和BvIntraPredictor[2][compIdx]存储多达三个相邻的帧内BC预测的块的BV值。BvIntraPredictor[3][compIdx]和BvIntraPredictor[4][compIdx]分别存储水平和垂直方向上的默认BV预测值。水平BV分量被指派compIdx=0,而垂直BV分量被指派compIdx=1。
对于跳跃模式块或合并模式块,不为该块信号化BV差。该块的BV值是被选择的BV预测值候选。
对于非跳跃模式、非合并模式块,在比特流中信号化BV差。变量BvdIntra[x0][y0][compIdx]规定BV差。数组索引x0,y0指定了被考虑的PB的左上亮度样本相对于图片的左上亮度样本的位置(x0,y0)。水平BV差分量被指派compIdx=0,而垂直BV差分量被指派compIdx=1。对于compIdx=0..1,块的BV值是BvIntra[x0][compIdx]=BvdIntra[x0][y0][compIdx]+BvIntraPredictor[compIdx]。
变量BvIntraPredictor[compIdx]可随后被更新以包括当前CU的BV值。
5.替换和变型
在当前块具有通过BV估计而标识的BV值时,编码器可使用任何形式的BV估计来标识当前块的BV值。在当前块的BV估计期间,编码器可通过估计可用于当前块的一个或多个BV预测值候选来开始。用BV预测值候选来开始BV估计可帮助快速标识合适的BV值,以避免对其它BV值进行评估。编码器根据需要对其它BV值进行评估。编码器可使用数据结构来跟踪BV预测值候选。当BV值可应用于不同尺寸的块(例如,用于32x32CU、16x16CU、8x8CU或更小的TU或CU)时,数据结构可包括针对不同大小的块的不同BV预测值候选(例如,用于32x32CU的一个或多个BV预测值候选、用于16x16CU的一个或多个BV预测值候选等等)。对于当前块,编码器首先评估存储在数据结构中的针对当前块的级别(尺寸)的BV预测值候选,随后如果需要的话继续对其它BV值进行评估。
鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反,本发明的范围由后续的权利要求来界定。我们要求作为我们的发明保护落入这些权利要求范围和精神内的所有内容。

Claims (39)

1.一种在具有视频编码器或图像编码器的计算设备中的方法,所述方法包括:
确定图片的当前块的默认块向量(“BV”)预测值,所述默认BV预测值包括具有非零值的BV预测值分量;以及
使用所述默认BV预测值来对所述当前块进行编码。
2.如权利要求1所述的方法,其特征在于,使用所述默认BV预测值来对所述当前块进行编码包括:
使用所述当前块的BV值来执行帧内块复制(“BC”)预测;
使用所述当前块的BV值以及所述当前块的默认BV预测值来确定所述当前块的BV差;以及
对所述当前块的BV差进行编码。
3.如权利要求1所述的方法,其特征在于,使用所述默认BV预测值来对所述当前块进行编码包括使用所述默认BV预测值来执行帧内BC预测。
4.一种在具有视频解码器或图像解码器的计算设备中的方法,所述方法包括:
确定图片的当前块的默认块向量(“BV”)预测值,所述默认BV预测值包括具有非零值的BV预测值分量;以及
使用所述默认BV预测值来对所述当前块进行解码。
5.如权利要求4所述的方法,其特征在于,使用所述默认BV预测值来对所述当前块进行解码包括:
对所述当前块的BV差进行解码;
将经解码的所述当前块的BV差与所述当前块的默认BV预测值组合以重构所述当前块的BV值;以及
使用所述当前块的BV值来执行帧内块复制(“BC”)预测。
6.如权利要求4所述的方法,其特征在于,使用所述默认BV预测值来对所述当前块进行解码包括使用所述默认BV预测值来执行帧内BC预测。
7.如权利要求1-6中的任意一项所述的方法,其特征在于,所述默认BV预测值是经聚集的多个BV预测值候选的集合的一部分。
8.如权利要求1-6中的任意一项所述的方法,其特征在于,还包括:
检查所述图片的前一个块的实际BV值是否可用,其中所述当前块的默认BV预测值仅在所述图片的任何一个之前的块的实际BV值都不可用的情况下被使用。
9.如权利要求8所述的方法,其特征在于,如果(1)所述前一个块和所述当前块是给定编码树单元的一部分,并且(2)所述前一个块的预测模式是帧内BC预测模式,则所述前一个块的实际BV值是可用的。
10.如权利要求1-9中的任意一项所述的方法,其特征在于,所述当前块是编码单元的一部分。
11.如权利要求1-10中的任意一项所述的方法,其特征在于,所述具有非零值的BV预测值分量是水平BV分量。
12.如权利要求1-10中的任意一项所述的方法,其特征在于,所述具有非零值的BV预测值分量是垂直BV分量。
13.如权利要求1-10中的任意一项所述的方法,其特征在于,所述非零值是所述当前块的高度或宽度。
14.如权利要求1-10中的任意一项所述的方法,其特征在于,所述非零值是与所述当前块的尺寸无关的固定值。
15.一种在具有视频编码器或图像编码器的计算设备中的方法,所述方法包括:
使用块向量(“BV”)预测来确定图片的当前块的BV值,所述当前块的BV值指示到所述图片内的区域的位移;
使用帧内块复制预测用所述BV值来对所述当前块进行编码;以及
在比特流中输出所述当前块是以跳跃模式编码的指示,其中所述比特流缺少所述当前块的BV差和残留数据。
16.一种在具有视频解码器或图像解码器的计算设备中的方法,所述方法包括:
从比特流中接收图片的当前块是以跳跃模式编码的指示,其中所述比特流缺少所述当前块的块向量(“BV”)差和残留数据;
使用BV预测来确定所述当前块的BV值,所述当前块的BV值指示到所述图片内的区域的位移;以及
使用帧内块复制预测用所述BV值来对所述当前块进行解码。
17.如权利要求15或16所述的方法,其特征在于,所述比特流包括索引值,所述索引值指示从多个BV预测值候选的集合中对要用作所述当前块的BV值的BV预测值候选的选择。
18.如权利要求17所述的方法,其特征在于,所述索引值是标志值,所述多个BV预测值候选的集合具有两个BV预测值候选。
19.如权利要求17所述的方法,其特征在于,所述索引值是整数值,所述多个BV预测值候选的集合具有不止两个BV预测值候选。
20.如权利要求19所述的方法,其特征在于,所述多个BV预测值候选包括一个或多个默认BV预测值,所述一个或多个默认BV预测值中的每一个包括具有非零值的BV预测值分量。
21.一种在具有视频编码器或图像编码器的计算设备中的方法,所述方法包括:
确定图片的当前块的多个块向量(“BV”)预测值候选的集合;
选择所述多个BV预测值候选中要用于当前块的一个BV预测值候选;
使用所选择的BV预测值候选来对所述当前块进行编码;以及
在比特流中输出指示所选择的BV预测值候选的索引值。
22.一种在具有视频解码器或图像解码器的计算设备中的方法,所述方法包括:
从比特流中接收索引值;
确定图片的当前块的多个块向量(“BV”)预测值候选的集合;
基于所述索引值,选择所述多个BV预测值候选中的要用于所述当前块的一个BV预测值候选;以及
使用所选择的BV预测值候选来对所述当前块进行解码。
23.如权利要求21或22所述的方法,其特征在于,所述当前块是合并模式块,并且其中所述比特流缺少所述当前块的BV差。
24.如权利要求23所述的方法,其特征在于,所述比特流缺少所述当前块的残留数据。
25.如权利要求23所述的方法,其特征在于,所述比特流包括所述当前块的残留数据。
26.如权利要求21或22所述的方法,其特征在于,所述比特流中的值指示所述当前块是跳跃模式块,其中所述比特流缺少所述当前块的BV差,并且其中所述比特流缺少所述当前块的残留数据。
27.如权利要求21或22所述的方法,其特征在于,所述比特流包括所述当前块的BV差,所述BV差指示所选择的BV预测值候选和所述当前块的BV值之间的差。
28.如权利要求21-27中的任意一项所述的方法,其特征在于,所述索引值是标志值,所述多个BV预测值候选的集合具有两个BV预测值候选。
29.如权利要求21-27中的任意一项所述的方法,其特征在于,所述索引值是整数值,所述多个BV预测值候选的集合具有不止两个BV预测值候选。
30.如权利要求21-29中的任意一项所述的方法,其特征在于,所述多个BV预测值候选包括多至x个之前的块的实际BV值。
31.如权利要求30所述的方法,其特征在于,x至少为2。
32.如权利要求30所述的方法,其特征在于,所述之前的块是至少部分基于所述当前块周围的邻居的位置来标识的。
33.如权利要求30所述的方法,其特征在于,所述之前的块是至少部分基于与所述当前块相比的解码顺序来标识的。
34.如权利要求21-33中的任意一项所述的方法,其特征在于,所述多个BV预测值候选包括一个或多个默认BV预测值,所述一个或多个默认BV预测值中的每一个包括具有非零值的BV预测值分量。
35.如权利要求21-34中的任意一项所述的方法,其特征在于,所述索引值在所述比特流中被信号化作为指示所述当前块是否是使用帧内块复制预测模式来编码的语法元素的一部分。
36.如权利要求21-34中的任意一项所述的方法,其特征在于,如果帧内块复制预测模式语法元素指示所述当前块是使用帧内块复制预测模式来编码的,则所述索引值被有条件地在所述比特流中信号化。
37.如权利要求21至36中的任意一项所述的方法,其特征在于,还包括:
更新用来跟踪之前的块的实际BV值的数据结构。
38.一种被适配成执行权利要求1-37中的任一项所述的方法的计算设备。
39.一个或多个存储计算机可执行指令的计算机可读介质,所述计算机可执行指令使得计算设备因此被编程为执行如权利要求1-37中的任一项所述的方法。
CN201480072214.8A 2014-01-03 2014-01-03 视频和图像编/解码的方法、计算设备及计算机可读介质 Active CN105917650B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/070072 WO2015100726A1 (en) 2014-01-03 2014-01-03 Block vector prediction in video and image coding/decoding

Publications (2)

Publication Number Publication Date
CN105917650A true CN105917650A (zh) 2016-08-31
CN105917650B CN105917650B (zh) 2019-12-24

Family

ID=53493035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480072214.8A Active CN105917650B (zh) 2014-01-03 2014-01-03 视频和图像编/解码的方法、计算设备及计算机可读介质

Country Status (12)

Country Link
US (4) US10469863B2 (zh)
EP (2) EP3090553B1 (zh)
JP (1) JP6355744B2 (zh)
KR (2) KR102353787B1 (zh)
CN (1) CN105917650B (zh)
AU (1) AU2014376061B8 (zh)
BR (1) BR112016015080A2 (zh)
CA (1) CA2934699A1 (zh)
ES (1) ES2924392T3 (zh)
MX (1) MX360926B (zh)
RU (1) RU2669005C2 (zh)
WO (1) WO2015100726A1 (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572647A (zh) * 2018-06-05 2019-12-13 北京字节跳动网络技术有限公司 帧内块复制与可选时域运动矢量预测的交互
CN110719465A (zh) * 2018-07-14 2020-01-21 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测
CN110933440A (zh) * 2018-09-19 2020-03-27 北京字节跳动网络技术有限公司 基于历史信息的帧内模式编码
WO2020143741A1 (en) * 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
US10778997B2 (en) 2018-06-29 2020-09-15 Beijing Bytedance Network Technology Co., Ltd. Resetting of look up table per slice/tile/LCU row
WO2020221258A1 (en) * 2019-04-28 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Symmetric motion vector difference coding
US10873756B2 (en) 2018-06-29 2020-12-22 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
WO2020253823A1 (zh) * 2019-06-21 2020-12-24 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及存储介质
US20200413044A1 (en) 2018-09-12 2020-12-31 Beijing Bytedance Network Technology Co., Ltd. Conditions for starting checking hmvp candidates depend on total number minus k
WO2021047544A1 (en) * 2019-09-09 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Intra block copy coding and decoding
WO2021056454A1 (zh) * 2019-09-27 2021-04-01 Oppo广东移动通信有限公司 当前块的预测方法及装置、设备、存储介质
US11134267B2 (en) 2018-06-29 2021-09-28 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: FIFO, constrained FIFO
US11134244B2 (en) 2018-07-02 2021-09-28 Beijing Bytedance Network Technology Co., Ltd. Order of rounding and pruning in LAMVR
US11140383B2 (en) 2019-01-13 2021-10-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between look up table and shared merge list
US11140385B2 (en) 2018-06-29 2021-10-05 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in LUT
US11146785B2 (en) 2018-06-29 2021-10-12 Beijing Bytedance Network Technology Co., Ltd. Selection of coded motion information for LUT updating
US11159807B2 (en) 2018-06-29 2021-10-26 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
US11159817B2 (en) 2018-06-29 2021-10-26 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating LUTS
US11172196B2 (en) 2018-09-24 2021-11-09 Beijing Bytedance Network Technology Co., Ltd. Bi-prediction with weights in video coding and decoding
US11197003B2 (en) 2018-06-21 2021-12-07 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
US11197007B2 (en) 2018-06-21 2021-12-07 Beijing Bytedance Network Technology Co., Ltd. Sub-block MV inheritance between color components
US11528500B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a HMVP candidate to merge/AMVP
US11641483B2 (en) 2019-03-22 2023-05-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11792421B2 (en) 2018-11-10 2023-10-17 Beijing Bytedance Network Technology Co., Ltd Rounding in pairwise average candidate calculations
US11895318B2 (en) 2018-06-29 2024-02-06 Beijing Bytedance Network Technology Co., Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US11956464B2 (en) 2019-01-16 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Inserting order of motion candidates in LUT

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015054811A1 (en) 2013-10-14 2015-04-23 Microsoft Corporation Features of intra block copy prediction mode for video and image coding and decoding
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
CA2925183C (en) 2013-10-14 2020-03-10 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and 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
JP6355744B2 (ja) 2014-01-03 2018-07-11 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化/デコーディングにおけるブロックベクトル予測
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
CN109889850A (zh) * 2014-02-21 2019-06-14 联发科技(新加坡)私人有限公司 视频编解码方法
JP6482191B2 (ja) * 2014-06-12 2019-03-13 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US9948949B2 (en) * 2014-06-20 2018-04-17 Qualcomm Incorporated Intra block copy block vector signaling for video coding
CN105392008B (zh) * 2014-08-22 2018-09-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
AU2014408228B2 (en) 2014-09-30 2019-09-19 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9854237B2 (en) 2014-10-14 2017-12-26 Qualcomm Incorporated AMVP and merge candidate list derivation for intra BC and inter prediction unification
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
EP3499887B1 (en) * 2016-08-10 2021-10-20 Panasonic Intellectual Property Corporation of America Video coding method and device skipping arithmetic coding
FR3068557A1 (fr) 2017-07-05 2019-01-04 Orange Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
FR3068558A1 (fr) 2017-07-05 2019-01-04 Orange Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
FR3062010A1 (fr) 2017-07-05 2018-07-20 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'une sequence d'images
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
KR102491349B1 (ko) * 2018-07-04 2023-01-27 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
CN110858904B (zh) 2018-08-26 2023-04-18 北京字节跳动网络技术有限公司 基于多运动模型的视频编码和解码
US10764601B2 (en) * 2018-10-06 2020-09-01 Tencent America LLC Method and apparatus for video coding
WO2020141853A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
KR102653088B1 (ko) 2019-02-02 2024-04-01 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 초기화
CN113383549A (zh) 2019-02-02 2021-09-10 北京字节跳动网络技术有限公司 使用用于视频编解码中的帧内块复制的帧内缓冲区样点的预测
WO2020177661A1 (en) 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Order-based updating for intra block copy in video coding
CN113508597B (zh) 2019-03-01 2023-11-21 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的基于方向的预测
CN117640927A (zh) 2019-03-04 2024-03-01 北京字节跳动网络技术有限公司 视频编解码中的帧内块复制中的实施方式方面
US11012686B2 (en) * 2019-03-08 2021-05-18 Tencent America LLC Unified block vector prediction for intra picture block compensation
WO2020200236A1 (en) 2019-04-01 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Using interpolation filters for history based motion vector prediction
BR112021020026A2 (pt) 2019-04-12 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento vídeo, aparelho para processar de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitórios
CN113924775B (zh) 2019-05-31 2023-11-14 北京字节跳动网络技术有限公司 基于矩阵的帧内预测中的限制的上采样
KR102662603B1 (ko) 2019-06-06 2024-04-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 움직임 후보 리스트 구성
CN113950838A (zh) 2019-06-06 2022-01-18 北京字节跳动网络技术有限公司 基于子块的帧内块复制
US11039156B2 (en) * 2019-06-11 2021-06-15 Tencent America LLC Unified position dependent prediction combination process
CN113966612A (zh) 2019-06-16 2022-01-21 北京字节跳动网络技术有限公司 屏幕内容编解码根据与运动信息之间的相互作用
CN112118451B (zh) * 2019-06-20 2022-09-27 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
WO2020259426A1 (en) 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for intra block copy mode
BR112022000187A2 (pt) 2019-07-06 2022-02-22 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento não transitório legível por computador, meio de gravação não transitório legível por computador
AU2020312053B2 (en) 2019-07-10 2023-09-14 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
CN114097221B (zh) 2019-07-11 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的比特流一致性约束
CN114258674A (zh) * 2019-07-19 2022-03-29 Lg 电子株式会社 使用ibc的图像编码/解码方法和装置,以及发送比特流的方法
BR112022001279A2 (pt) 2019-07-26 2022-03-22 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
CN114270856A (zh) 2019-08-20 2022-04-01 北京字节跳动网络技术有限公司 视频处理中的备选插值滤波器的选择性使用
US11516477B2 (en) * 2021-02-11 2022-11-29 Qualcomm Incorporated Intra block copy scratch frame buffer
CA3178206A1 (en) 2021-09-30 2023-03-30 Comcast Cable Communications, Llc Video compression using block vector predictor refinement
US11683509B1 (en) * 2021-10-28 2023-06-20 Meta Platforms, Inc. Prediction unit skip detection in encoder
US20230388513A1 (en) * 2022-05-25 2023-11-30 Tencent America LLC Subblock level temporal motion vector prediction with multiple displacement vector predictors and an offset
WO2024155106A1 (ko) * 2023-01-17 2024-07-25 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 이를 위한 장치

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101422047A (zh) * 2006-04-14 2009-04-29 Nxp股份有限公司 图像边界处的运动估计
WO2012128540A2 (ko) * 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
CN102835113A (zh) * 2010-04-09 2012-12-19 Lg电子株式会社 处理视频信号的方法和设备
WO2012174990A1 (en) * 2011-06-24 2012-12-27 Mediatek Inc. Method and apparatus for removing redundancy in motion vector predictors
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.
CN103385003A (zh) * 2011-03-17 2013-11-06 联发科技股份有限公司 用于导出候选空间运动矢量与候选运动矢量预测的方法与装置
CN103392340A (zh) * 2011-03-14 2013-11-13 联发科技股份有限公司 推导时间运动向量预测的方法与装置
CN103430540A (zh) * 2011-03-08 2013-12-04 高通股份有限公司 在视频译码中用于双向预测帧间模式的运动向量预测符(mvp)
US20140002599A1 (en) * 2011-01-06 2014-01-02 Samsung Electronics Co., Ltd. Competition-based multiview video encoding/decoding device and method thereof

Family Cites Families (248)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2114404B (en) 1982-01-28 1986-07-02 British Broadcasting Corp Generating a colour video signal representative of a stored picture
JPH087553B2 (ja) 1988-10-27 1996-01-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 色画像量子化方法及び装置
US5706290A (en) 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
US6389162B2 (en) 1996-02-15 2002-05-14 Canon Kabushiki Kaisha Image processing apparatus and method and medium
JPH10262258A (ja) 1997-03-19 1998-09-29 Sony Corp 画像符号化装置及び方法
JP2000102016A (ja) 1998-09-22 2000-04-07 Victor Co Of Japan Ltd 動き補償予測回路
JP2001251507A (ja) 2000-03-03 2001-09-14 Fujitsu Ltd 画像処理装置
US6701012B1 (en) 2000-07-24 2004-03-02 Sharp Laboratories Of America, Inc. Out-of-layer pixel generation for a decomposed-image layer
US6748116B1 (en) 2000-08-22 2004-06-08 Airzip, Inc. Apparatus and method for compressing and decompressing image files
DE10049571C1 (de) 2000-10-06 2002-06-13 Siemens Ag Verfahren und Anordnung zum Übertragen eines Vektors
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
US6853755B2 (en) 2001-03-28 2005-02-08 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive compression of scanned documents
WO2003023698A1 (en) 2001-09-12 2003-03-20 Idetic, Inc. Transformation to increase the lempel-ziv compressibility of images with minimal visual distortion
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 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
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.
DE10301362B4 (de) 2003-01-16 2005-06-09 GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
US7373005B2 (en) 2003-04-10 2008-05-13 Micron Technology, Inc. Compression system for integrated sensor devices
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
KR101089738B1 (ko) 2003-08-26 2011-12-07 톰슨 라이센싱 하이브리드 인트라-인터 코딩된 블록을 인코딩하기 위한 방법 및 장치
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 삼성전자주식회사 움직임 벡터 추정방법 및 부호화 모드 결정방법
JP4591657B2 (ja) 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US8036271B2 (en) 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
JP4338654B2 (ja) 2004-03-18 2009-10-07 三洋電機株式会社 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
JP4418762B2 (ja) 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
WO2006012383A2 (en) 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
JP2006140683A (ja) 2004-11-11 2006-06-01 Canon Inc 画像符号化装置
US7720154B2 (en) 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
JP2006140758A (ja) 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
KR100679035B1 (ko) 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
US20060274070A1 (en) 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
US20060282855A1 (en) 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
KR101211665B1 (ko) 2005-08-12 2012-12-12 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP2007053561A (ja) 2005-08-17 2007-03-01 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
EP1924970B1 (en) 2005-08-19 2009-03-11 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Texture compression based on two hues with modified brightness
US7986844B2 (en) 2005-11-22 2011-07-26 Intel Corporation Optimized video compression using hashing function
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
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 中国科学院自动化研究所 一种具有最小误差的快速变尺寸块匹配的运动估计方法
US7668382B2 (en) 2006-02-24 2010-02-23 Microsoft Corporation Block-based fast image compression
US7616816B2 (en) 2006-03-20 2009-11-10 Sarnoff Corporation System and method for mission-driven visual information retrieval and organization
US8457200B2 (en) 2006-07-07 2013-06-04 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
BRPI0716540A2 (pt) 2006-09-22 2012-12-25 Thomson Licensing mÉtodo e aparelho para codificaÇço e decodificaÇço de vÍdeo de passos méltiplos
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
US20080084924A1 (en) 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US8218640B2 (en) * 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
JP2008154015A (ja) 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
US7907783B2 (en) 2007-01-24 2011-03-15 Samsung Electronics Co., Ltd. Apparatus and method of matching symbols in a text image coding and decoding system
CN100527842C (zh) 2007-01-26 2009-08-12 清华大学 基于背景的运动估计编码方法
US8472522B2 (en) 2007-02-23 2013-06-25 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
US8160150B2 (en) * 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
JP2010525658A (ja) 2007-04-19 2010-07-22 トムソン ライセンシング イントラ予測のための適応参照画像データ生成
US7903873B2 (en) 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
CN101420606A (zh) 2007-10-23 2009-04-29 青岛海信电器股份有限公司 图像处理方法和装置
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
CN101552924B (zh) 2008-03-31 2011-08-03 深圳市融创天下科技发展有限公司 一种用于视频编码的空间预测方法
CN102090062B (zh) 2008-04-11 2013-12-11 汤姆森特许公司 用于位移帧内预测和模板匹配的去块滤波
JP2009260473A (ja) 2008-04-14 2009-11-05 Canon Inc 色処理方法及び装置、プログラム、記録媒体
JP2010035137A (ja) 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
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 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
US8254704B2 (en) 2008-10-30 2012-08-28 Microsoft Corporation Remote computing platforms providing high-fidelity display and interactivity for clients
US8180165B2 (en) 2008-12-19 2012-05-15 Microsoft Corp. Accelerated screen codec
KR101359490B1 (ko) 2008-12-23 2014-02-10 에스케이 텔레콤주식회사 컬러 영상 부호화/복호화 방법 및 장치
TW201028018A (en) 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
WO2010085899A1 (en) 2009-02-02 2010-08-05 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
JP5566455B2 (ja) 2009-06-22 2014-08-06 トムソン ライセンシング 画像系列のビデオデータを符号化する方法及びエンコーダ並びに現在のブロックを復号化する方法及びデコーダ
CN102077597A (zh) 2009-07-10 2011-05-25 松下电器产业株式会社 运动图像编码方法、装置、程序、以及集成电路
CN101626512A (zh) 2009-08-11 2010-01-13 北京交通大学 一种基于相关性优化准则的多描述视频编码方法及装置
KR101698499B1 (ko) 2009-10-01 2017-01-23 에스케이텔레콤 주식회사 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
EP2493195A1 (en) 2009-10-20 2012-08-29 Sharp Kabushiki Kaisha Video encoding device, video decoding device, and data structure
JP5321426B2 (ja) 2009-11-26 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法
KR101623124B1 (ko) 2009-12-03 2016-05-24 에스케이 텔레콤주식회사 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
WO2011095260A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
JP5375676B2 (ja) 2010-03-04 2013-12-25 富士通株式会社 画像処理装置、画像処理方法、および画像処理プログラム
EP2553927B1 (fr) 2010-03-31 2018-11-28 Orange Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en oeuvre une prediction par compensation de mouvement avant, et programme d'ordinateur correspondant
US8619857B2 (en) 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US8644375B2 (en) 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
KR101789634B1 (ko) 2010-04-09 2017-10-25 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
US20110261880A1 (en) 2010-04-27 2011-10-27 Sony Corporation Boundary adaptive intra prediction for improving subjective video quality
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
CN103141091A (zh) 2010-06-21 2013-06-05 汤姆逊许可公司 图像数据编码/解码的方法及其设备
EP2942957A1 (en) 2010-07-02 2015-11-11 HUMAX Holdings Co., Ltd. Apparatus for decoding images for intra-prediction
KR101484281B1 (ko) 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
MX367865B (es) 2010-07-14 2019-09-05 Ntt Docomo Inc Intrapredicción de baja complejidad para la codificación de video.
CN105227958B (zh) 2010-07-20 2019-06-25 Sk电信有限公司 用于解码视频信号的解码装置
RS62555B1 (sr) 2010-11-04 2021-12-31 Ge Video Compression Llc Kodiranje slike koje podražava objedinjavanje blokova i režim preskakanja
US8787459B2 (en) * 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
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
US8767835B2 (en) 2010-12-28 2014-07-01 Mitsubishi Electric Research Laboratories, Inc. Method for coding videos using dictionaries
KR101739579B1 (ko) 2011-01-04 2017-05-24 에스케이 텔레콤주식회사 코딩 유닛 단위 병렬 인트라예측을 이용한 부호화/복호화 방법 및 장치
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
SI3554079T1 (sl) * 2011-01-07 2023-01-31 Lg Electronics Inc. Postopek za kodiranje video informacij, postopek za dekodiranje video informacij in dekodirna naprava za dekodiranje video informacij
EP2664146A1 (en) 2011-01-14 2013-11-20 Motorola Mobility LLC Joint spatial and temporal block merge mode for hevc
US9066104B2 (en) * 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
DK2768144T3 (da) 2011-01-14 2016-04-04 Ge Video Compression Llc Entropikodnings- og afkodningssystem
US9787981B2 (en) * 2011-01-19 2017-10-10 Renesas Electronics Corporation Image coding device and image decoding device
US9532066B2 (en) 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US8548057B2 (en) 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9788019B2 (en) 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
MX354812B (es) 2011-04-21 2018-03-22 Samsung Electronics Co Ltd Método para cuantificar coeficientes de codificación predictiva lineal, método de codificación de sonido, método para decuantificar coeficientes de codificación predictiva lineal, método de decodificación de sonido y medio de grabación.
US20140050414A1 (en) 2011-04-29 2014-02-20 Telefonaktiebolaget L M Ericsson (Publ) Encoder, Decoder and Methods Thereof for Texture Compression
US20120281760A1 (en) * 2011-05-04 2012-11-08 Hyung Joon Kim Iterative Grid-Pattern Motion Search
US8971416B2 (en) 2011-05-05 2015-03-03 Vixs Systems, Inc Video decoder with vector processor and methods for use therewith
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
JPWO2012157443A1 (ja) 2011-05-16 2014-07-31 ソニー株式会社 画像処理装置、及び、画像処理方法
CN102238391B (zh) 2011-05-25 2016-12-07 深圳市云宙多媒体技术有限公司 一种预测编码方法、装置
JP5727873B2 (ja) 2011-06-10 2015-06-03 日本放送協会 動きベクトル検出装置、符号化装置、及びこれらのプログラム
US9565428B2 (en) 2011-06-20 2017-02-07 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
EP2725793A4 (en) 2011-06-27 2014-12-03 Panasonic Ip Corp America IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING / DECODING DEVICE
US9060173B2 (en) 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US9516349B2 (en) 2011-07-12 2016-12-06 Futurewei Technologies, Inc. Pixel-based intra prediction for coding in HEVC
CN102223541B (zh) 2011-07-14 2013-07-03 北京工业大学 一种混合图像的编码方法
US9232237B2 (en) 2011-08-05 2016-01-05 Texas Instruments Incorporated Block-based parallel deblocking filter in video coding
US9769472B2 (en) 2011-08-17 2017-09-19 Mediatek Singapore Pte. Ltd. Method and apparatus for Intra prediction using non-square blocks
MX351933B (es) 2011-08-29 2017-11-01 Ibex Pt Holdings Co Ltd Método para generar un bloque de predicción en modo de predicción de vector de movimiento avanzada (amvp).
US8804816B2 (en) 2011-08-30 2014-08-12 Microsoft Corporation Video encoding enhancements
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
AU2011379313A1 (en) * 2011-10-21 2014-05-22 Nokia Technologies Oy Method for video coding and an apparatus
US9484952B2 (en) 2011-11-03 2016-11-01 Qualcomm Incorporated Context state and probability initialization for context adaptive entropy coding
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
US9774853B2 (en) 2011-11-08 2017-09-26 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
EP3739886A1 (en) 2011-11-18 2020-11-18 GE Video Compression, LLC Multi-view coding with efficient residual handling
KR102061214B1 (ko) 2011-11-25 2019-12-31 선 페이턴트 트러스트 화상 처리 방법 및 화상 처리 장치
RU2493670C2 (ru) 2011-12-15 2013-09-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ блочной межкадровой компенсации движения для видеокодеков
CN104012092A (zh) 2011-12-20 2014-08-27 摩托罗拉移动有限责任公司 高效变换单元编码的方法和设备
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
US20130163664A1 (en) 2011-12-22 2013-06-27 Qualcomm Incorporated Unified partition mode table for intra-mode coding
US9900615B2 (en) 2011-12-28 2018-02-20 Microsoft Technology Licensing, Llc Representative motion information for temporal motion prediction in video encoding and decoding
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
US9749661B2 (en) 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
JP2013150173A (ja) 2012-01-19 2013-08-01 Sony Corp 画像処理装置および方法
IN2014KN01699A (zh) 2012-01-20 2015-10-23 Fraunhofer Ges Forschung
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
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
JP2015515806A (ja) 2012-03-26 2015-05-28 ユークリッド・ディスカバリーズ・エルエルシーEuclid Discoveries,Llc コンテキストベースの映像符号化及び映像復号化
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
US9521410B2 (en) 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
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
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
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
CN108769698B (zh) 2012-09-26 2021-07-02 威勒斯媒体国际有限公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置
EP2903285A4 (en) * 2012-09-28 2016-06-01 Sharp Kk IMAGE DECODING DEVICE AND IMAGE CODING DEVICE
US9998755B2 (en) 2012-10-03 2018-06-12 Mediatek Inc. Method and apparatus for motion information inheritance in three-dimensional video coding
US9357214B2 (en) * 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US9615090B2 (en) 2012-12-28 2017-04-04 Qualcomm Incorporated Parsing syntax elements in three-dimensional video coding
US9826244B2 (en) 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
CN103067716B (zh) 2013-01-10 2016-06-29 华为技术有限公司 深度图像的编解码方法和编解码装置
US9800857B2 (en) 2013-03-08 2017-10-24 Qualcomm Incorporated Inter-view residual prediction in multi-view or 3-dimensional video coding
US9516306B2 (en) 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
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 宁波大学 一种立体视频宏块丢失错误隐藏方法
WO2014166104A1 (en) 2013-04-12 2014-10-16 Mediatek Singapore Pte. Ltd. Removal of parsing dependency for illumination compensation
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
CN103281538B (zh) 2013-06-06 2016-01-13 上海交通大学 基于滚动哈希和块级别帧内预测的帧内编码方法
CN111800640B (zh) 2013-06-13 2023-11-10 上海天荷电子信息有限公司 方向交替变换来回扫描串匹配的图像编码解码方法和装置
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
GB2516422A (en) 2013-07-09 2015-01-28 Sony Corp Data encoding and decoding
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US20150016533A1 (en) 2013-07-12 2015-01-15 Qualcomm Incorporated Intra motion compensation extensions
US20150016516A1 (en) 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
EP3028466B1 (en) * 2013-07-24 2022-01-26 Qualcomm Incorporated Simplified advanced motion prediction for 3d-hevc
US9774879B2 (en) * 2013-08-16 2017-09-26 Sony Corporation Intra-block copying enhancements for HEVC in-range-extension (RExt)
CN112383780B (zh) 2013-08-16 2023-05-02 上海天荷电子信息有限公司 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
US10313682B2 (en) 2013-08-26 2019-06-04 Qualcomm Incorporated Determining regions when performing intra block copying
US9503715B2 (en) 2013-08-30 2016-11-22 Qualcomm Incorporated Constrained intra prediction in video coding
CN104427338B (zh) 2013-09-07 2019-11-05 上海天荷电子信息有限公司 一种使用块匹配的图像编码以及图像解码的方法和装置
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
US10009629B2 (en) 2013-10-11 2018-06-26 Sony Corporation Video coding system with search range and method of operation thereof
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
WO2015054811A1 (en) 2013-10-14 2015-04-23 Microsoft Corporation Features of intra block copy prediction mode for video and image coding and decoding
CA2925183C (en) 2013-10-14 2020-03-10 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
US20150110181A1 (en) 2013-10-18 2015-04-23 Samsung Electronics Co., Ltd. Methods for palette prediction and intra block copy padding
US10291827B2 (en) * 2013-11-22 2019-05-14 Futurewei Technologies, Inc. Advanced screen content coding solution
CN110336999B (zh) 2013-12-18 2021-09-03 寰发股份有限公司 利用调色板编码的编码视频数据区块的方法和装置
TWI536811B (zh) * 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
JP6355744B2 (ja) 2014-01-03 2018-07-11 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化/デコーディングにおけるブロックベクトル予測
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
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
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
GB2522844A (en) 2014-01-29 2015-08-12 Sony Corp Data encoding and decoding
US9699468B2 (en) 2014-02-10 2017-07-04 Microsoft Technology Licensing, Llc Adaptive screen and video coding scheme
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CN109889850A (zh) * 2014-02-21 2019-06-14 联发科技(新加坡)私人有限公司 视频编解码方法
US10567754B2 (en) 2014-03-04 2020-02-18 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
JP2017512026A (ja) 2014-03-04 2017-04-27 マイクロソフト テクノロジー ライセンシング,エルエルシー イントラブロックコピー予測におけるブロック反転及びスキップモード
EP3117608B1 (en) 2014-03-14 2021-05-12 HFI Innovation Inc. Method for palette management
CN106464888A (zh) 2014-03-17 2017-02-22 诺基亚技术有限公司 用于视频编码和解码的方法和技术设备
US20150264348A1 (en) 2014-03-17 2015-09-17 Qualcomm Incorporated Dictionary coding of video content
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
US10477232B2 (en) 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
AU2014202682A1 (en) * 2014-05-16 2015-12-03 Canon Kabushiki Kaisha Method, apparatus and system for copying a block of video samples
US11323733B2 (en) 2014-05-23 2022-05-03 Qualcomm Incorporated Predictor palette initialization in palette-based video coding
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
CN111432220B (zh) * 2014-06-19 2022-05-06 Vid拓展公司 采用块向量导出的帧内块复制编码的方法和系统
US9948949B2 (en) * 2014-06-20 2018-04-17 Qualcomm Incorporated Intra block copy block vector signaling for video coding
KR101748620B1 (ko) * 2014-06-20 2017-07-04 성균관대학교산학협력단 영상의 부호화/복호화 방법 및 이를 이용하는 장치
US20150381994A1 (en) 2014-06-27 2015-12-31 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
AU2014408228B2 (en) 2014-09-30 2019-09-19 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US10638140B2 (en) 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
WO2017205621A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc Jvet coding block structure with asymmetrical partitioning
JP2018032949A (ja) 2016-08-23 2018-03-01 キヤノン株式会社 動きベクトル検出装置およびその制御方法
US10817747B2 (en) 2019-03-14 2020-10-27 Ubicquia Iq Llc Homography through satellite image matching

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101422047A (zh) * 2006-04-14 2009-04-29 Nxp股份有限公司 图像边界处的运动估计
CN102835113A (zh) * 2010-04-09 2012-12-19 Lg电子株式会社 处理视频信号的方法和设备
US20140002599A1 (en) * 2011-01-06 2014-01-02 Samsung Electronics Co., Ltd. Competition-based multiview video encoding/decoding device and method thereof
CN103430540A (zh) * 2011-03-08 2013-12-04 高通股份有限公司 在视频译码中用于双向预测帧间模式的运动向量预测符(mvp)
CN103392340A (zh) * 2011-03-14 2013-11-13 联发科技股份有限公司 推导时间运动向量预测的方法与装置
CN103385003A (zh) * 2011-03-17 2013-11-06 联发科技股份有限公司 用于导出候选空间运动矢量与候选运动矢量预测的方法与装置
WO2012128540A2 (ko) * 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
WO2012174990A1 (en) * 2011-06-24 2012-12-27 Mediatek Inc. Method and apparatus for removing redundancy in motion vector predictors
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.

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DAVID FLYNN: "High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 5", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 15TH MEETING: GENEVA, CH, 23 OCT. – 1 NOV. 2013》 *
GARY J. SULLIVAN等: "Overview of the High Efficiency Video Coding (HEVC) Standard", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *
HONGGANG QI等: "A Study on the Motion Vector Prediction Schemes for AVS", 《VISUAL COMMUNICATIONS AND IMAGE PROCESSING》 *
M. NACCARI: "HEVC Range extensions test model 5 encoder description", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 15TH MEETING: GENEVA, CH, 23 OCT. – 1 NOV. 2013》 *

Cited By (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509915B2 (en) 2018-06-05 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Interaction between IBC and ATMVP
CN110572647B (zh) * 2018-06-05 2022-07-29 北京字节跳动网络技术有限公司 帧内块复制与可选时域运动矢量预测的交互
CN110572647A (zh) * 2018-06-05 2019-12-13 北京字节跳动网络技术有限公司 帧内块复制与可选时域运动矢量预测的交互
US11973962B2 (en) 2018-06-05 2024-04-30 Beijing Bytedance Network Technology Co., Ltd Interaction between IBC and affine
US11831884B2 (en) 2018-06-05 2023-11-28 Beijing Bytedance Network Technology Co., Ltd Interaction between IBC and BIO
US11202081B2 (en) 2018-06-05 2021-12-14 Beijing Bytedance Network Technology Co., Ltd. Interaction between IBC and BIO
US11523123B2 (en) 2018-06-05 2022-12-06 Beijing Bytedance Network Technology Co., Ltd. Interaction between IBC and ATMVP
US11146786B2 (en) 2018-06-20 2021-10-12 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in LUT
US11197007B2 (en) 2018-06-21 2021-12-07 Beijing Bytedance Network Technology Co., Ltd. Sub-block MV inheritance between color components
US11659192B2 (en) 2018-06-21 2023-05-23 Beijing Bytedance Network Technology Co., Ltd Sub-block MV inheritance between color components
US11895306B2 (en) 2018-06-21 2024-02-06 Beijing Bytedance Network Technology Co., Ltd Component-dependent sub-block dividing
US11968377B2 (en) 2018-06-21 2024-04-23 Beijing Bytedance Network Technology Co., Ltd Unified constrains for the merge affine mode and the non-merge affine mode
US11197003B2 (en) 2018-06-21 2021-12-07 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
US11477463B2 (en) 2018-06-21 2022-10-18 Beijing Bytedance Network Technology Co., Ltd. Component-dependent sub-block dividing
US11909989B2 (en) 2018-06-29 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Number of motion candidates in a look up table to be checked according to mode
US11153557B2 (en) 2018-06-29 2021-10-19 Beijing Bytedance Network Technology Co., Ltd. Which LUT to be updated or no updating
US11134267B2 (en) 2018-06-29 2021-09-28 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: FIFO, constrained FIFO
US11528501B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
US11140385B2 (en) 2018-06-29 2021-10-05 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in LUT
US11146785B2 (en) 2018-06-29 2021-10-12 Beijing Bytedance Network Technology Co., Ltd. Selection of coded motion information for LUT updating
US11706406B2 (en) 2018-06-29 2023-07-18 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11528500B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a HMVP candidate to merge/AMVP
US11877002B2 (en) 2018-06-29 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Update of look up table: FIFO, constrained FIFO
US11695921B2 (en) 2018-06-29 2023-07-04 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11159807B2 (en) 2018-06-29 2021-10-26 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
US11895318B2 (en) 2018-06-29 2024-02-06 Beijing Bytedance Network Technology Co., Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US11159817B2 (en) 2018-06-29 2021-10-26 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating LUTS
US10873756B2 (en) 2018-06-29 2020-12-22 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
US10778997B2 (en) 2018-06-29 2020-09-15 Beijing Bytedance Network Technology Co., Ltd. Resetting of look up table per slice/tile/LCU row
US11973971B2 (en) 2018-06-29 2024-04-30 Beijing Bytedance Network Technology Co., Ltd Conditions for updating LUTs
US12034914B2 (en) 2018-06-29 2024-07-09 Beijing Bytedance Network Technology Co., Ltd Checking order of motion candidates in lut
US12058364B2 (en) 2018-06-29 2024-08-06 Beijing Bytedance Network Technology Co., Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US11245892B2 (en) 2018-06-29 2022-02-08 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in LUT
US11463685B2 (en) 2018-07-02 2022-10-04 Beijing Bytedance Network Technology Co., Ltd. LUTS with intra prediction modes and intra mode prediction from non-adjacent blocks
US11153558B2 (en) 2018-07-02 2021-10-19 Beijing Bytedance Network Technology Co., Ltd. Update of look-up tables
US11134244B2 (en) 2018-07-02 2021-09-28 Beijing Bytedance Network Technology Co., Ltd. Order of rounding and pruning in LAMVR
US11134243B2 (en) 2018-07-02 2021-09-28 Beijing Bytedance Network Technology Co., Ltd. Rules on updating luts
US11153559B2 (en) 2018-07-02 2021-10-19 Beijing Bytedance Network Technology Co., Ltd. Usage of LUTs
CN110719465A (zh) * 2018-07-14 2020-01-21 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测
CN110719465B (zh) * 2018-07-14 2022-11-22 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测
US20210297659A1 (en) 2018-09-12 2021-09-23 Beijing Bytedance Network Technology Co., Ltd. Conditions for starting checking hmvp candidates depend on total number minus k
US11159787B2 (en) 2018-09-12 2021-10-26 Beijing Bytedance Network Technology Co., Ltd. Conditions for starting checking HMVP candidates depend on total number minus K
US20200413044A1 (en) 2018-09-12 2020-12-31 Beijing Bytedance Network Technology Co., Ltd. Conditions for starting checking hmvp candidates depend on total number minus k
US11997253B2 (en) 2018-09-12 2024-05-28 Beijing Bytedance Network Technology Co., Ltd Conditions for starting checking HMVP candidates depend on total number minus K
US11503284B2 (en) 2018-09-19 2022-11-15 Beijing Bytedance Network Technology Co., Ltd. Intra mode coding based on history information
CN110933440A (zh) * 2018-09-19 2020-03-27 北京字节跳动网络技术有限公司 基于历史信息的帧内模式编码
CN110933412A (zh) * 2018-09-19 2020-03-27 北京字节跳动网络技术有限公司 用于帧内块复制的基于历史的运动矢量预测值
CN110933412B (zh) * 2018-09-19 2023-07-25 北京字节跳动网络技术有限公司 用于帧内块复制的基于历史的运动矢量预测值
CN110933440B (zh) * 2018-09-19 2023-08-29 北京字节跳动网络技术有限公司 用于视频处理的方法、装置和非暂时性计算机可读介质
US11765345B2 (en) 2018-09-19 2023-09-19 Beijing Bytedance Network Technology Co., Ltd Multiple prediction blocks for one intra-coded block
US11870980B2 (en) 2018-09-19 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Selection of adjacent neighboring block for intra coding
US11616945B2 (en) 2018-09-24 2023-03-28 Beijing Bytedance Network Technology Co., Ltd. Simplified history based motion vector prediction
US11172196B2 (en) 2018-09-24 2021-11-09 Beijing Bytedance Network Technology Co., Ltd. Bi-prediction with weights in video coding and decoding
US11202065B2 (en) 2018-09-24 2021-12-14 Beijing Bytedance Network Technology Co., Ltd. Extended merge prediction
US11792421B2 (en) 2018-11-10 2023-10-17 Beijing Bytedance Network Technology Co., Ltd Rounding in pairwise average candidate calculations
US11589071B2 (en) 2019-01-10 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Invoke of LUT updating
WO2020143741A1 (en) * 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Invoke of lut updating
US11140383B2 (en) 2019-01-13 2021-10-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between look up table and shared merge list
US11909951B2 (en) 2019-01-13 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Interaction between lut and shared merge list
US11956464B2 (en) 2019-01-16 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Inserting order of motion candidates in LUT
US11962799B2 (en) 2019-01-16 2024-04-16 Beijing Bytedance Network Technology Co., Ltd Motion candidates derivation
US11641483B2 (en) 2019-03-22 2023-05-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11792406B2 (en) 2019-04-28 2023-10-17 Beijing Bytedance Network Technology Co., Ltd Symmetric motion vector difference coding
WO2020221258A1 (en) * 2019-04-28 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Symmetric motion vector difference coding
US11463703B2 (en) 2019-04-28 2022-10-04 Beijing Bytedance Network Technology Co., Ltd. Symmetric motion vector difference coding
WO2020253823A1 (zh) * 2019-06-21 2020-12-24 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及存储介质
WO2020253828A1 (zh) * 2019-06-21 2020-12-24 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及存储介质
US12075066B2 (en) 2019-06-21 2024-08-27 Hangzhou Hikvision Digital Technology Co., Ltd. Coding/decoding method and device, and storage medium
US11930216B2 (en) 2019-09-09 2024-03-12 Beijing Bytedance Network Technology Co., Ltd Recursive splitting of video coding blocks
WO2021047544A1 (en) * 2019-09-09 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Intra block copy coding and decoding
US12069309B2 (en) 2019-09-09 2024-08-20 Beijing Bytedance Network Technology Co., Ltd Intra block copy coding and decoding
US12003764B2 (en) 2019-09-27 2024-06-04 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Prediction method for current block and electronic device
WO2021056454A1 (zh) * 2019-09-27 2021-04-01 Oppo广东移动通信有限公司 当前块的预测方法及装置、设备、存储介质

Also Published As

Publication number Publication date
US11910005B2 (en) 2024-02-20
WO2015100726A1 (en) 2015-07-09
AU2014376061A1 (en) 2016-07-07
KR102258427B1 (ko) 2021-06-01
ES2924392T3 (es) 2022-10-06
CA2934699A1 (en) 2015-07-09
KR102353787B1 (ko) 2022-01-19
EP4096221A1 (en) 2022-11-30
US11388433B2 (en) 2022-07-12
US20220295093A1 (en) 2022-09-15
AU2014376061A8 (en) 2019-05-30
AU2014376061B8 (en) 2019-05-30
MX360926B (es) 2018-11-22
EP3090553A4 (en) 2017-12-20
EP3090553B1 (en) 2022-07-06
KR20210060650A (ko) 2021-05-26
MX2016008784A (es) 2016-09-08
JP2017510115A (ja) 2017-04-06
US20160330471A1 (en) 2016-11-10
RU2669005C2 (ru) 2018-10-05
EP3090553A1 (en) 2016-11-09
BR112016015080A2 (pt) 2017-08-08
RU2016125260A (ru) 2017-12-28
CN105917650B (zh) 2019-12-24
US10469863B2 (en) 2019-11-05
US20240146955A1 (en) 2024-05-02
US20200092579A1 (en) 2020-03-19
KR20160105510A (ko) 2016-09-06
JP6355744B2 (ja) 2018-07-11
AU2014376061B2 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
CN105917650A (zh) 视频和图像编码/解码中的块向量预测
CN105393537B (zh) 用于基于散列的块匹配的散列表构建和可用性检查
CN105556971B (zh) 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
CN105432077B (zh) 在切换色彩空间时调整量化/缩放和逆量化/缩放
CN105359531B (zh) 用于针对屏幕内容编码的编码器侧判定的方法和系统
CN105874795B (zh) 在波前并行处理被启用时对图片内预测模式的规则
CN105874791B (zh) 在对重叠区域内的经重构样本值的块向量预测和估计方面的创新
CN105659602B (zh) 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN105684409B (zh) 在视频和图像编码和解码中使用散列值来表示各块
CN105765974B (zh) 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN105684441B (zh) 视频和图像编码中的基于散列的块匹配
CN105917648B (zh) 具有非对称分区的帧内块复制预测以及编码器侧搜索图案、搜索范围和用于分区的方法
CN106416254B (zh) 在媒体编码期间跳过评估阶段
CN106797479B (zh) 对于并行处理的帧内块复制预测限制
CN105493505B (zh) 统一的帧内块复制和帧间预测模式
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN105981382B (zh) 用于视频编码的基于散列的编码器判定
KR102318785B1 (ko) 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
CN106664405A (zh) 用调色板模式对经逸出编码的像素的稳健编码/解码
CN109716771A (zh) 用于视频译码的线性模型色度帧内预测
CN105900420A (zh) 选择运动向量精度
CN105247871A (zh) 帧内块复制预测中的块翻动和跳跃模式
CN105706450A (zh) 根据基于散列的块匹配的结果的编码器决定
CN107113422A (zh) 用于视频编码和解码的灵活的参考图片管理
CN108353167A (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