CN105874795B - 在波前并行处理被启用时对图片内预测模式的规则 - Google Patents

在波前并行处理被启用时对图片内预测模式的规则 Download PDF

Info

Publication number
CN105874795B
CN105874795B CN201480071878.2A CN201480071878A CN105874795B CN 105874795 B CN105874795 B CN 105874795B CN 201480071878 A CN201480071878 A CN 201480071878A CN 105874795 B CN105874795 B CN 105874795B
Authority
CN
China
Prior art keywords
palette
picture
row
previous
wpp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480071878.2A
Other languages
English (en)
Other versions
CN105874795A (zh
Inventor
B·李
J·徐
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 CN105874795A publication Critical patent/CN105874795A/zh
Application granted granted Critical
Publication of CN105874795B publication Critical patent/CN105874795B/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/96Tree coding, e.g. quad-tree coding

Abstract

各创新促成编码器或解码器在波前并行处理(“WPP”)被启用时对诸如调色板预测模式、帧内块复制模式、帧内行复制模式和帧内串复制模式之类的图片内预测模式的使用。例如,对于调色板编码/解码模式,编码器或解码器使用来自图片的先前WPP行中的先前单元的先前调色板数据来预测该图片的当前WPP行中的初始单元的调色板。或者,作为另一示例,对于帧内复制模式(例如,帧内块复制模式、帧内串复制模式、帧内行复制模式),编码器强制实施归因于WPP的一个或多个约束,或者解码器接收满足归因于WPP的一个或多个约束的经编码的数据,并对该数据进行解码。

Description

在波前并行处理被启用时对图片内预测模式的规则
背景
工程师使用压缩(也叫做源编码(source coding或source encoding))来降低数字视频的比特率。压缩通过将视频信息转换成较低比特率的形式来降低存储和传送该信息的成本。解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。“编解码器”是编码器/解码器系统。
在过去的至少25年中,已采用了各种视频编解码器标准,包括ITU-T H.261、H.262(MPEG-2或ISO/IEC 13818-2)、H.263和H.264(MPEG-4AVC或ISO/IEC 14496-10)标准、MPEG-1(ISO/IEC 11172-2)和MPEG-4可视(ISO/IEC 14496-2)标准以及SMPTE 421M(VC-1)标准。最近,H.265/HEVC标准(ITU-T H.265或ISO/IEC 23008-2)已被批准。目前,(例如,用于可缩放视频编码/解码、用于在样本比特深度或色度采样率方面具有较高保真度的视频的编码/解码、用于屏幕捕捉内容、或用于多视图编码/解码的)H.265/HEVC标准的扩展处于开发中。视频编解码器标准通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于解码器应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。
波前并行处理(“WPP”)是可用于以H.265/HEVC标准进行编码和解码的工具。在WPP被启用时,图片的一部分被划分成几行被称为编码树单元(“CTU”)的专用部分。在编码或解码期间,第一行CTU可被从左到右一个CTU接一个CTU地处理。对第二行CTU的处理(编码或解码)不需要等待对第一行CTU的处理完成。相反,对第二行的处理可在对第一行CTU中的若干CTU的处理完成后开始,其提供在处理第二行的初始CTU时所使用的信息。类似地,对第三行CTU的处理可在对第二行CTU中的若干CTU的处理完成后开始。WPP促成对不同行CTU的并行处理。不同的线程或处理核可在分阶段时间延迟的基础上执行针对不同行CTU的处理。
块内复制(“BC”)是H.265/HEVC扩展的处于开发中的预测模式。对于帧内BC预测模式,图片的当前块的样本值是使用同一图片中的先前重构的样本值来预测的。块向量(“BV”)指示从当前块到图片的包括用于预测的先前重构的样本值的参考块的位移。BV被信号化在比特流中。帧内BC预测是一种形式的图片内预测——针对图片的块的帧内BC预测不使用除了同一图片中的样本值以外的任何样本值。帧内串复制(“SC”)模式和帧内行复制(“LC”)模式是图片内预测模式的其他示例,其与帧内BC预测相同,使用偏移值来指示到被用于预测的先前重构的样本值中的某位置的位移。作为图片内预测模式的另一示例的调色板预测模式预测用于表示诸如编码单元(“CU”)之类的部分中的色彩的调色板。如当前针对H.265/HEVC标准的扩展所指定的,各种图片内预测模式在WPP被启用时没有被高效地使用。
概述
总而言之,详细描述呈现在波前并行处理(“WPP”)被启用时对图片内预测模式强制实施的规则方面的创新。比特流中的句法元素可指示是否对视频序列(一个或多个图片的集合)启用WPP。这些创新促成编码器或解码器在WPP被启用时对诸如调色板预测模式、帧内块复制模式、帧内行复制模式和帧内串复制模式之类的图片内预测模式的使用。
根据本文中描述的创新中的一个方面,编码器在WPP被启用的情况下对图片进行编码。该编码产生经编码的数据。对于调色板编码模式,编码器使用来自图片的先前WPP行中的先前单元的先前调色板数据来预测该图片的当前WPP行中的初始单元的调色板。编码器将经编码的数据作为比特流的一部分来输出。
相应的解码器接收该经编码的数据作为比特流的一部分。解码器在WPP被启用的情况下对经编码的数据进行解码。该解码重构图片。对于调色板解码模式,解码器使用来自图片的先前WPP行中的先前单元的先前调色板数据来预测该图片的当前WPP行中的初始单元的调色板。
根据本文中描述的创新中的另一方面,编码器在WPP被启用的情况下对图片进行编码。该编码产生经编码的数据。对于帧内复制模式(例如,帧内块复制模式、帧内串复制模式、帧内行复制模式),编码器强制实施可归因于WPP的一个或多个约束。编码器将经编码的数据作为比特流的一部分来输出。
相应的解码器接收经编码的数据作为比特流的一部分。对于帧内复制模式(例如,帧内块复制模式、帧内串复制模式、帧内行复制模式),经编码的数据满足可归因于WPP的一个或多个约束。解码器通过启用的WPP对经编码的数据进行解码。该解码重构图片。
本发明可以被实现为方法的部分、被配置为执行所述方法的计算系统的部分或存储用于使得计算系统执行所述方法的计算机可执行指令的有形计算机可读介质的部分。各创新可以结合地或分开地使用。提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
附图简述
图1是其中可实现所描述的一些实施例的示例计算系统的示图。
图2a和2b是其中可实现所描述的一些实施例的示例网络环境的示图。
图3是结合其可实现所描述的一些实施例的示例编码器系统的示图。
图4是结合其可实现所描述的一些实施例的示例解码器系统的示图。
图5a和5b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。
图6是结合其可实现所描述的一些实施例的示例视频解码器的示图。
图7是示出WPP的时序的示图以及图8示出在WPP被启用时可被用于预测的经重构的内容的示图。
图9和10是示出根据所描述的一些实施例的调色板预测的各方面的示图。
图11和12是示出根据所描述的一些实施例的在WPP被启用时分别用调色板预测来进行编码和解码的流程图。
图13和14是示出对图片的当前块的帧内块复制预测的示例的各方面的示图。
图15和16是分别示出帧内行复制预测和帧内串复制预测的示例的各方面的示图。
图17是示出图片的各单元的示例z-扫描次序的示图。
图18是示出根据所描述的一些实施例的在WPP被启用时对帧内复制模式的参考区域的位置的约束的示例的示图。
图19和20是分别示出根据所描述的一些实施例的分别用在WPP被启用时对帧内复制模式强制实施的规则进行编码和解码的流程图。
详细描述
该详细描述呈现在波前并行处理(“WPP”)被启用时对图片内预测模式强制实施的规则方面的创新。例如,这些创新中的一些涉及在WPP被启用时对调色板编码/解码模式的调色板的预测。其他创新涉及在WPP被启用时,在帧内复制模式(诸如,帧内块复制模式、帧内行复制模式或帧内串复制模式)期间被强制实施的约束。这些创新促成编码器或解码器在WPP被启用时对图片内预测模式的使用。
虽然在此所述的操作是被适当描述为由视频编码器或视频解码器来执行,但在许多情况中,所述操作可以由另一类型的媒体处理工具(例如图像编码器或图像解码器)来执行。
在此所述的一些发明是参考针对H.265/HEVC标准的扩展的条款。例如,对H.265/HEVC标准的屏幕内容编码/解码扩展的草稿版本JCTVC-P1005—即2014年8月的“高效视频编码(HEVC)屏幕内容编码:第1稿“JCTVC-R1005_v2作出参考。本文中描述的各创新还可以被实现为用于其它标准或格式。
在此所述的许多发明可以在当编码诸如屏幕捕捉内容之类的某种“人工创建的”视频内容时改善速率-失真性能。通常,与仅相机捕捉的视频内容相比,屏幕捕捉视频(也称为屏幕内容视频)是包含当被呈现给计算机显示器时所捕捉的经渲染的文本、计算机图形、动画生成的内容或其它类似类型的内容的视频。屏幕捕捉内容通常包括重复的结构(例如图形、文本字符)。屏幕捕捉内容一般以具有高色度的采样分辨率的格式(例如,YUV 4:4:4或RGB 4:4:4)来编码,但是也可以具有较低色度的采样分辨率的格式(例如,YUV 4:2:0)来编码。编码/解码屏幕捕捉内容的常见场景包括远程桌面会议和对自然视频或其它“经混合的内容”视频的图形覆盖的编码/解码。在此所述的几种发明适用于编码屏幕内容视频或其它人工创建的视频。这些创新也可以被用于自然视频,但可能不像那样有效。
更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。通常,所给出的技术/工具并不解决所有这些问题。
示例计算系统
图1示出了在其中可实现若干所描述的发明的合适的计算环境(100)的一般化示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
参考图1,计算环境(100)包括一个或多个处理单元(110、115)和存储器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元(110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或两者的某种组合,可由处理单元存取。存储器(120,125)存储实现在WPP被启用时对图片内预测模式强制实施的规则的一个或多个创新的软件(180),该软件用适用于由(诸)处理单元执行的计算机可执行指令的形式。
计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100)中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。
有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、DVD或可用于储存信息并可在计算系统(100)内访问的任何其他介质。存储(140)存储实现在WPP被启用时对图片内预测模式强制实施的规则的一个或多个创新的软件(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)可以产生输出,该输出遵循H.265/HEVC标准、SMPTE 421M标准、ISO/IEC14496-10标准(也称为H.264或AVC)、另一标准的变体或扩展,或遵循针对接受来自编码器(220)的经编码的数据的对应的解码器(270)的专用格式。双向通信可以是视频会议、视频电话呼叫或其它双方或多方通信场景的部分。虽然,图2a中的网络环境(201)包括两个实时通信工具(210),但网络环境(201)可实际包括参与多方通信的三个或更多的实时通信工具(210)。
实时通信工具(210)管理编码器(220)做出的编码。图3示出可以被包括在实时通信工具(210)中的示例编码器系统(300)。替换地,实时通信工具(210)使用另一编码器系统。实时通信工具(210)还管理解码器(270)做出的解码。图4示出可以被包括在实时通信工具(210)中的示例解码器系统(400)。替换地,实时通信工具(210)使用另一解码器系统。
在图2b中示出的网络环境(202)中,编码工具(212)包括编码递送给多个回放工具(214)的视频的编码器(220),所述回放工具包括解码器(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)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,编码系统(300)从视频源(310)接收源视频图片(311)序列并产生经编码的数据作为给信道(390)的输出。输出到信道的经编码的数据可包括使用在WPP被启用时对图片内预测模式强制实施的规则编码的内容。
视频源(310)可以是相机、调谐卡、存储介质、屏幕捕捉模块或其它数字视频源。所述视频源(310)以例如每秒30帧的帧速率产生视频图片序列。如在此所用,术语“图片”一般是指源、已编码的或已重构的图像数据。对于逐行扫描视频,图片是逐行扫描视频帧。对于隔行视频,在各示例实施例中,隔行视频帧可以在编码之前被去隔行。替换地,两个互补的隔行视频场可以被编码在一起作为单个视频帧或者被编码成两个经分开编码的场。除了指示逐行扫描视频帧或隔行扫描视频帧之外,术语“图片”可以指示单个非成对的视频场、互补的成对视频场、表示在给定时间或在较大的图像中的感兴趣区域处的视频对象的视频对象平面。视频对象平面或区域可以是包括场景的多个对象或区域的较大图像的一部分。
正在到达的源图片(311)被存储在包括多个图片缓冲存储区域(321,322,…,32n)的源图片临时存储器存储区域(320)中。图片缓冲(321,322等)在源图片存储区域(320)中保持一个源图片。在已经将一个或多个源图片(311)存储在图片缓冲(321,322等)中之后,图片选择器(330)从源图片存储区域(320)中选择个体源图片。被图片选择器(330)选择用于输入到编码器(340)的图片的顺序可以与视频源(310)所产生的图片的顺序不同,例如某些图片的编码可以被延迟以便,从而允许某些后面的图片被先编码并且这样便利于在时间上的后向预测。在编码器(340)之前,编码器系统(300)可以包括在编码之前执行选中的图片(331)的预处理(例如滤波)的预处理器(未示出)。预处理可包括色彩空间转换成主要(例如亮度)和次要(例如偏向红色和偏向蓝色的色度差)分量以及用于编码的重采样处理(例如以减少色度分量的空间分辨率)。在编码之前,视频可以被转换成诸如YUV的色彩空间,在其中亮度(Y)分量的采样值表示明亮度或强度值,而色度(U,V)分量的样本值表示色差值。色差值(以及从YUV色彩空间到诸如RGB的另一色彩空间和/或从另一色彩空间到YUV色彩空间的转换操作)的精确定义取决于实现。通常,如在此所用,术语YUV指示具有亮度(或照度)分量和一个或多个色度(或色差)分量的任意色彩空间,包括Y’UV、YIQ、Y’IQ和YDbDr以及诸如YCbCr和YCoCg之类的变体。色度样本值可以被子采样到较低的色度采样率(例如用于YUV4:2:0格式),或者色度样本值可以具有与亮度样本值相同的分辨率(例如用于YUV 4:4:4格式)。或者,视频可用另一格式(例如RGB 4:4:4格式、GBR 4:4:4格式或BGR4:4:4格式)来编码。具体地,屏幕内容视频可用RGB 4:4:4格式、GBR 4:4:4格式或BGR4:4:4格式来编码。
编码器(340)编码选中的图片(331)以产生编码的图片(341)并且还产生存储器管理控制操作(“MMCO”)信号(342)或参考图片集(“RPS”)信息。RPS是可以被使用以供在对当前图片或任意后续图片的运动补偿中的参考的图片集。如果当前图片不是已经被编码的第一图片,当执行其编码处理时,所述编码器(340)可以使用已经被存储在经编码的图片的临时存储器存储区域(360)中的一个或多个先前被编码/解码的图片(369)。这样的存储的经解码图片(369)被用作当前的源图片(331)的内容的图片间预测的参考图片。MMCO/RPS信息(342)指示解码器经重构的图片可以被用作参考图片,并且因此应该被存储在图片存储区域中。
通常,编码器(340)包括执行诸如分隔成瓦片、图片内部预测估计和预测、运动估计和补偿、频率变换、量化和熵编码之类的编码任务。由编码器(340)执行的确切操作可以取决于压缩格式而变化。输出的经编码数据的格式可以是H.265/HEVC格式、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)或其它格式的变型或扩展。
编码器(340)可以将图片分隔成相同尺寸或不同尺寸的多个小块。例如,编码器(340)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。小块通常被用于提供并行处理的选项。图片还可以被组织为一个或多个片,其中一个片可以是整个图片或图片的部分。片可以独立于图片中的其它片被编码,这改善了错误复原力。出于编码和解码的目的,片或小块的内容被进一步分隔成块或其它样本值集。某些块的行(例如,根据H.265/HEVC标准对片的树单元进行编码的行)可使用WPP被并行地编码,如以下进一步解释的。
对于基于H.265/HEVC标准的语法来说,编码器将图片(或片或小块)的内容拆分成编码树单元。编码树单元(“CTU”)包括被组织为亮度编码树块(“CTB”)的亮度样本值,并且对应的色度样本值被组织为两个色度CTB。CTU(和其CTB)的大小由编码器选择。亮度CTB可以包含例如64x64,、32x32或16x16亮度样本值。CTU包括一个或多个编码单元。编码单元(“CU”)具有亮度编码块(“CB”)和两个对应的色度CB。例如,具有64x64亮度CTB和两个64x64色度CTB(YUV 4: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。根据H.265/HEVC标准,对于帧内预测CU,PU与CU具有相同的尺寸,除非CU具有最小尺寸(例如8x8)。在那个情况下,CU可被拆分成四个较小的PU(例如,如果最小CU尺寸为8x8,则每个PU为4x4),或者PU可具有最小CU尺寸,如CU的句法元素所指示的。然而,对于帧内BC预测中使用的对称或非对称分区,较大的CU可被拆分成多个PU。
出于残差编码和解码的目的,CU还具有一个或多个变换单元,其中变换单元(“TU”)具有亮度变换块(“TB”)和两个色度TB。在帧内预测的CU中的PU可以包含单个TU(尺寸与PU相同)或多个TU。编码器决定如何将视频分割成CTU、CU、PU、TU等。
在H.265/HEVC实现中,片可以包括单个片段(独立的片段)或被划分成多个片段(独立的片段和一个或多个从属的片段)。片段是在小块扫描中包含在单个网络抽象层(“NAL”)单元中的连续排序的整数个CTU。对于独立的片段,片段头部包括适用于该独立的片段的句法元素的值。对于从属片段,截断的片段头部包括适用于该从属片段的句法元素的几个值,并且从属片段的其它句法元素的值是以解码顺序从在前的独立的片段的值中推导出来的。
如在此所用,术语“块”可以指示宏块、残余数据单元、CB、PB或TB,或某些其它样本值集,这取决于上下文。术语“单元”可以指示宏块、CTU、CU、PU、TU或某些块集,或它可指示单个块,这取决于上下文。
参考图3,编码器根据来自源图片(331)中的其它、先前重构的样本值的预测来表示该图片(331)的帧内编码的块、行或串。对于帧内复制预测,图片内估计器估计从当前块、行或串到该其它、先前重构的样本值中的一位置的位移。图片中的样本值的参考块、行或串被用于生成当前块、行或串的预测值。例如,对于帧内块复制(“BC”)预测,图片内估计器估计从当前块到图片中的先前重构的样本值中的一位置的位移。参考块是图片中提供针对当前块的BC预测值的样本值的块。参考块可以用块向量(“BV”)值(在BV估计中确定)来指示。作为另一示例,对于帧内行复制(“LC”)预测,图片内估计器估计从(当前块的)当前行到图片中的先前重构的样本值中的一位置的位移。参考行是图片中提供针对当前行的LC预测值的样本值的行。参考行可用偏移值来指示,偏移值指示从当前行到参考行的位移。作为另一示例,对于帧内串复制(“SC”)预测,图片内估计器估计从(当前块的)当前行到图片中先前重构的样本值中的一位置的位移。参考串是图片中被用于生成当前串的SC预测值的一系列样本值。参考串可用(指示从当前串到参考串的位移的)偏移值以及串长度值来指示。取决于实现,编码器可以使用输入样本值或经重构的样本值(同一图片中的先前编码的样本值)对块、行或串执行偏移估计。当WPP被启用时,图片内估计器可确定与对参考区域位置的约束一致的位移(例如,在帧内BC预测中针对BV值或在帧内SC预测或帧内BC预测中针对偏移值),如以下所解释的。
对于对块的帧内空间预测,图片内估计器估计相邻的经重构的样本值到该块的外插。
图片内估计器可以输出预测信息(例如对于帧内BC预测而言为BV值,对于帧内LC预测或帧内SC预测而言为偏移值,或者对于帧内空间预测而言为预测模式(方向)),该预测信息被熵编码。图片内预测预测器应用该预测信息来确定帧内预测器。
对于调色板编码模式,编码器(340)使用调色板来表示CU或其他单元的至少一些样本值。调色板表示在单元中使用的色彩。例如,调色板将索引值0,1,2,…,p映射到对应的色彩。在对该单元进行编码期间,适当的索引值取代了该单元内的各位置处的各样值。可以使用逸出代码值和文字值来编码单元中的稀有值,以取代在调色板中使用索引值。调色板可以随单元而改变,并且说明调色板的信息可被信号化在比特流中。
编码器(340)依据来自参考图片的预测表示源图片(331)的经图片间编码的经预测的块。运动估计器估计块相对于一个或多个参考图片(369)的运动。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。经运动补偿的预测参考区域是(诸)参考图片中用于生成当前图片的样本值块的经运动补偿的预测器的样本值区域。运动估计器输出诸如运动向量(“MV”)信息之类的运动信息,该运动信息被熵编码。运动补偿器将MV应用于参考图片(369)以确定用于图片间预测的经运动补偿的预测器。
编码器可以确定块的预测器(帧内或帧间)和对应的原始值之间的差值(如果有的话)。这些预测残留值将使用频率变换(如果该频率变换不被跳过)、量化和熵编码来被进一步编码。例如,编码器(340)为图片、小块、片和/或视频的其它部分设置量化参数(“QP”)的值,并相应地量化变换系数。编码器(340)的熵编码器压缩经量化的变换系数值以及某些辅助信息(例如MV信息、BV信息、QP值、模式判定、参数选择)。典型的熵编码技术包括指数-Golomb编码、Golomb-Rice编码、算术编码、差分编码、Huffman编码、行程长度编码、可变长度对可变长度(“V2V”)编码、可变长度对固定长度(“V2F”)编码、Lempel-Ziv(“LZ”)编码、字典编码、概率区间划分熵编码(“PIPE”)和上述编码的组合。熵编码器可对不同种类的信息使用不同的编码技术,并可组合地应用多个技术(例如,通过应用Golomb-Rice编码,随后应用算术编码),并可从特定编码技术内的多个码表中进行选择。在一些实现中,可以跳过频率变换。在这种情况中,可以对预测残留值进行量化和熵编码。当调色板编码模式被使用时,熵编码器可对调色板数据进行编码。编码器(340)可使用调色板预测,如以下所解释的。
自适应去块滤波器可以被包括在编码器(340)中的运动补偿环路(也即“内环路”滤波)中以平滑经解码的图片中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(诸如去振铃滤波、自适应环路滤波(“ALF”)或样本自适应偏移(“SAO”)滤波,未示出)作为内环路滤波操作。
由编码器(340)产生的经编码的数据包括针对各层位流句法的句法元素。对于根据H.265/HEVC的标准的句法,例如,图片参数集(“PPS”)是包含了与图片相关联的句法元素的句法结构。PPS可被用于单个图片,或者PPS可被重用于序列中的多个图片。PPS通常被信号化为与图片的经编码数据分开(例如,针对PPS的一个网络提取层(“NAL“)单元和针对图片的经编码数据的一个或多个其它NAL单元)。在图片的经编码数据内,句法元素指示要为该图片使用哪个PPS。类似地,对于根据H.265/HEVC的标准的句法,序列参数集(“SPS”)是包含了与图片的序列相关联的句法元素的句法结构。位流可包括单个SPS或多个SPS。SPS通常被信号化成与序列的其它数据分开,并且其它数据中的句法元素指示要使用哪个SPS。
经编码的图片(341)和MMCO/RPS信息(342)(或与MMCO/RPS信息(342)等价的信息,因为编码器(340)处已经知道各图片的依赖关系和排序结构)而由解码处理仿真器(350)处理。解码处理仿真器(350)实现了解码器的一些功能,例如对任务进行解码以重构参考图片。以与MMCO/RPS信息(342)相一致的方式,解码处理仿真器(350)确定给定的经编码帧(341)是否需要被重构并被存储以供在对要编码的后续图片的图片间预测中用作参考帧。如果经编码的图片(341)需要被存储,则解码处理仿真器(350)对将由解码器进行的解码处理建模,该解码器接收经编码的图片(341)并产生相应的经解码的图片(351)。通过这么做,当编码器(340)已经使用已被存储在经解码图片存储区域(360)中的经解码的(诸)图片(369)时,解码处理仿真器(350)还使用来自存储区域(360)的经解码的图片(369)作为解码处理的一部分。
经解码图片临时存储器存储区域(360)包括多个图片缓冲存储区域(361,362,…,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)可以是能够在多种解码模式(例如针对实时通信的低等待时间解码模式以及针对来自文件或流中的媒体回放的较高等待时间解码模式)中的任一者操作的通用解码工具,或它可以是适用于一种这样的解码模式的专用解码工具。解码器系统(300)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,解码器系统(400)从信道(410)接收经编码的数据并产生经重构的帧作为针对输出目的地(490)的输出。接收到的经编码的数据可包括使用在WPP被启用时对图片内预测模式强制实施的规则编码的内容。
解码器系统(400)包括信道(410),该信道(410)可以表示存储、通信连接或针对作为输入的经编码数据的另一信道。信道(410)产生已经被信道编码的经编码数据。信道解码器(420)可以处理经编码的数据。例如,信道解码器(420)可以(例如根据诸如ITU-TH.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)。图片可以被组织为相同尺寸或不同尺寸的多个小块。一个图片还可以被组织成一个或多个片。片或小块的内容可以被进一步分隔成块或其它样本值集。如果图片是在WPP被启用的情况下(即使用WPP或在其他情况下按与在解码期间使用WPP一致的方式)被编码的,则某些块的行(例如,根据H.265/HEVC标准的各CTU行)可使用WPP被并行地解码,如以下进一步解释的。
当执行其解码处理时,在适当时,解码器(450)可以将一个或多个先前解码的图片(469)作为图片间预测的参考图片。解码器(450)从经解码的图片临时存储器存储区域(460)中读取这样的先前解码的图片(469)。通常,解码器(450)包括执行诸如熵解码、图片内预测、运动补偿图片间预测、逆量化、逆频率变换(如果未被跳过)和合并小块之类的解码任务的多个解码模块。由解码器(450)执行的确切操作可以取决于压缩格式而变化。
例如,解码器(450)接收经压缩的图片或图片序列的经编码数据,并生成包括经解码图片(451)的输出。
在解码器(450)中,缓冲接收经压缩的图片的经编码数据,并在适当时,使得所接收的经编码数据对熵解码器可用。
熵解码器对经熵编码的量化数据以及经熵编码的辅助信息进行熵解码,通常应用编码器中执行的熵编码的逆来进行熵解码。当使用了调色板解码模式时,熵解码器可以解码调色板数据。编码器(450)可使用调色板预测,如以下所解释的。
运动补偿器将运动信息应用于一个或多个参考帧以形成针对正被重构的图片的任何帧间编码块的经运动补偿的预测器。帧内预测模块可以从邻近的、先前重构的样本值中空间地预测当前块的样本值。或者,对于帧内BC预测、帧内LC预测或帧内SC预测,图片内预测模块可以使用图片中用位移值指示的参考块、行或串的先前重构的样本值来预测当前块、行或串的样本值。具体地,参考块/行/串可以用BV值(对于帧内BC预测)、偏移值(对于帧内LC预测)或偏移值和串长度值(对于帧内SC预测)来指示。当WPP被启用时,位移(例如,在帧内BC预测中针对BV值或者在帧内SC预测或帧内LC预测中针对偏移值)与对参考区域位置的约束一致,如以下解释的。
解码器(450)还重构预测残留值。逆量化器对经熵解码的数据进行逆量化。例如,解码器(450)基于比特流中的句法元素来设置图片、小块、片和/或其它视频部分的QP值,并相应地对变换系数进行逆量化。逆频率变换器将量化的频域数据转换成空间域数据。在一些实现中,可以跳过频率变换,在这样的情况中逆频率变换也被跳过。如果这样,预测残留值可以被熵解码并被逆量化。对于图片间预测块,解码器(450)将重构的预测残留值与运动补偿预测器相组合。解码器(450)可以类似地将预测残留值与来自图片内预测的预测器相组合。
对于调色板解码模式,解码器(450)使用表示CU或其它单元的样本值中的至少一些的调色板。调色板将索引值映射到对应的色彩。在解码期间,对于单元中的位置,来自调色板的索引值被适当的样本值取代。单元中的逸出编码值可以使用逸出代码值和文字值来解码。调色板可以随单元而改变,并且说明调色板的信息可被信号化在比特流中。
自适应去块滤波器被包括在视频解码器(450)中的运动补偿环路内以平滑经解码的图片(451)中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波、ALF或SAO滤波;未示出)作为内环路滤波操作。
经解码图片临时存储器存储区域(460)包括多个图片缓冲存储区域(461,462,…,46n)。经解码的图片存储区域(460)是经解码的图片缓冲器的一个示例。解码器(450)使用MMCO/PS信息(432)来标识该解码器可将经解码的图片(451)存储在其中的图片缓冲器(461、462等)。解码器(450)将经解码的图片(451)存储在那个图片缓冲器中。
输出序列发生器(480)标识按输出次序将产生的下一图片何时可在经编码图片存储区域(460)中获得。。当将按输出次序产生的下一图片(481)可在经解码图片存储区域(460)中获得时,输出序列发生器(480)读取该下一图片并将其输出到输出目的地(490)(例如显示器)。一般来说,输出序列发生器(480)将图片从经解码图片存储区域(460)中输出的次序可以与解码器(450)解码这些帧的次序不同。
V.示例视频编码器。
图5a和5b是结合其可实现所描述的一些实施例的通用视频编码器(500)的框图。编码器(500)接收包括当前图片的视频图片序列作为输入视频信号(505)并在经编码视频位流(595)中产生经编码数据作为输出。
编码器(500)是基于块的并使用取决于实现的块格式。块还可在不同的阶段(例如在预测、频率变换和/或熵编码阶段)被进一步细分,。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块随后可以被划分成更小的样本值块以用于编码和解码。在针对H.265/HEVC标准的编码的实现中,编码器将图片分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
编码器(500)使用图片内编码和/或图片间编码来压缩图片。编码器(500)的许多组件被用于图片内编码和图片间编码两者。由这些组件执行的确切操作可取决于所压缩的信息的类型而变化。
小块化模块(510)可选地将图片分割成相同尺寸或不同尺寸的多个小块。例如,小块化模块(510)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。在H.265/HEVC实现中,编码器(500)将图片分割成一个或多个片,其中每个片包括一个或多个片段。某些块的行(例如,根据H.265/HEVC标准的片的CTU的行)可使用WPP被并行地编码,如以下进一步解释的。
通用编码控件(520)接收输入视频信号(505)的图片以及来自编码器(500)的各个模块的反馈(未示出)。整体上,通用编码控件(520)在编码期间将控制信号(未示出)提供给其它模块(例如小块化模块(510)、变换器/缩放器/量化器(530)、缩放器/逆变换器(535)、图片内估计器(540)、运动估计器(550)以及帧内/帧间切换)以设置和改变编码参数。具体地,通用编码控件(520)可在编码期间决定是否以及如何使用调色板预测、帧内BC预测、帧内LC预测和帧内SC预测。通用编码控件(520)还可在编码期间评估中间结果,例如执行速率-失真分析。通用编码控件(520)产生指示在编码期间作出的判定的通用控制数据(522),使得对应的解码器可以作出一致的判定。通用控制数据(522)被提供给头部格式化器/熵编码器(590)。
如果当前图片是使用图片间预测来预测的,则运动估计器(550)相对于一个或多个参考图片来估计输入视频信号(505)的当前图片的样本值的块的运动。经解码的图片缓冲器(570)缓冲一个或多个经重构的先前编码的图片以供用作参考图片。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(550)产生诸如MV数据、合并模式索引值和参考图片选择数据之类的辅助信息运动数据(552)。运动数据(552)被提供给头部格式化器/熵编码器(590)以及运动补偿器(555)。
运动补偿器(555)将MV应用于来自经解码的图片缓冲器(570)的(诸)经重构的参考图片。运动补偿器(555)产生针对当前图片的经运动补偿的预测。
在编码器(500)内的分开的路径中,图片内估计器(540)确定如何执行对输入视频信号(505)的当前图片的样本值块的图片内预测。当前图片可全部或部分使用图片内编码来编码。对于帧内空间预测,图片内估计器(540)使用当前图片的重构(538)的值来确定如何从当前图片的邻近的、先前重构的样本值中空间地预测当前图片的当前块的样本值。
或者,对于帧内复制预测,图片内估计器(540)估计从当前块、行或串到其它、先前重构的样本值中的一位置的位移。图片中的样本值的参考块、行或串被用于生成当前块、行或串的预测值。例如,对于帧内BC预测,图片内估计器(540)估计从当前块到可用BV值来指示的参考块的位移。作为另一示例,对于帧内LC预测,图片内估计器(540)估计从(当前块的)当前行到可用偏移值指示的参考行的位移(从而指示从当前行到参考行的位移)。作为另一示例,对于帧内SC预测,图片内估计器估计从(当前块的)当前串到可用偏移值指示的参考串的位移(从而指示从当前串到参考串的位移)。当WPP被启用时,图片内估计器(540)可确定与对参考区域的位置的约束一致的位移(例如,在帧内BC预测中针对BV值,或者在帧内SC预测或帧内LC预测中针对偏移值),如以下所解释的。
取决于实现,图片内估计器(540)可以使用输入样本值、内环路滤波之前重构的样本值,或内环路滤波之后重构的样本值来执行对当前块、行或串的偏移估计。一般来说,通过将输入样本值或未经滤波的、经重构的样本值用于偏移估计,图片内估计器(540)可避免顺序处理瓶颈(该瓶颈可能由在偏移估计/帧内复制预测之前对参考块、行、串等的经重构的样本值进行滤波而导致)。另一方面,存储所述未经滤波的、经重构的样本值使用了额外的存储器。而且,如果内环路滤波在偏移估计之前被应用,则可能存在重叠在将在当前块/行/串被解码之后应用的滤波处理和正被用于偏移估计/帧内复制预测的区域之间的影响区域。在这样的情况中,偏移估计/帧内复制预测将在滤波操作的那个方面之前被应用。在一些实现中,编码器可在偏移估计/帧内复制预测之前应用一些内环路滤波操作,并且在稍后的处理阶段中执行附加的或替换的滤波。
图片内估计器(540)产生帧内预测数据(542)作为辅助信息,诸如指示帧内预测使用空间预测、帧内BC预测、帧内LC预测还是帧内SC预测的信息、预测模式方向(对于帧内空间预测的情况)、BV值(针对帧内BC预测的情况)、偏移值(针对帧内LC预测的情况)或偏移值和长度值(针对帧内SC预测的情况)。帧内预测数据(542)被提供给头部格式化器/熵编码器(590)以及图片内预测器(545)。
根据帧内预测数据(542),图片内预测器(545)从当前图片的邻近的先前重构的样本值中在空间上预测当前图片的当前块的样本值。或者,对于帧内复制预测,图片内预测器(545)使用由针对当前块、行、串等的位移(BV值、偏移值等)指示的参考块、行、串或其他部分的先前重构的样本值来预测当前块、行、串或其他部分的样本值。在一些情况中,BV值(或其他偏移值)可以是预测的值。在其它情况中,BV值(或其他偏移值)可不同于其预测的值,在该情况中差异指示预测的值和BV值(或其它偏移值)之间的差。对于帧内SC模式,图片内预测器(545)在预测当前串的样本值时还使用串长度值。
对于调色板编码模式,编码器(500)使用调色板来表示CU或其它单元的至少一些样本值。调色板表示该单元中使用的色彩。例如,调色板将索引值0,1,2,…,p映射到对应的色彩,该色彩可采用RGB 4:4:4格式、BGR 4:4:4格式、GBR 4:4:4格式、YUV 4:4:4格式或另一格式(色彩空间、色彩采样率)。索引值可表示像素的RGB三元组、BGR三元组或GBR三元组,其中像素是一组共置样本值。对于对该单元的编码,索引值取代该单元内的各像素的样本值。取代使用调色板中的索引值,可使用逸出代码值和文字值来对单元中的稀有值进行编码。调色板可随单元而改变,并且详细说明调色板的调色板数据可被信号化在比特流中。
帧内/帧间切换选择对给定块的预测(558)将是经运动补偿的预测还是图片内预测。
在一些示例实现中,对于用调色板编码模式或帧内复制模式(帧内BC预测、帧内LC预测或帧内SC预测)编码的单元,不计算残留值。实际上,残差值编码被跳过,并且预测的样本值被用作经重构的样本值。
当残差值编码没有被跳过时,预测(558)的块和输入视频信号(505)的原始当前图片的对应部分之间的差(如果有的话)提供各残留(518)值。在当前图片的重构期间,当残留值已经被编码/信号化,经重构的残留值与预测(558)组合以从视频信号(505)中生成对原始内容的近似重构或准确重构(538)。(在有损压缩中,一些信息从视频信号(505)中丢失。)
作为残留值编码的一部分,在变换器/缩放器/量化器(530)中,当频率变换没有被跳过时,频率变换器将空间域视频信息转换成频域(即频谱变换)数据。对于基于块的视频编码,频率变换器将离散余弦变换(“DCT”)、其整数近似、或其它类型的前向块变换(例如离散正弦变换或其整数近似)应用于预测残留数据块(如果预测(558)为空则应用于样本值数据),从而产生频率变换系数块。变换器/缩放器/量化器(530)可应用具有可变块尺寸的变换。在这种情况中,变换器/缩放器/量化器(530)可确定要对当前块的残留值使用哪些块尺寸的变换。缩放器/量化器对变换系数进行缩放和量化。例如,量化器将以逐图片基础、逐小块基础、逐片基础、逐块基础、频率专用基础或其它基础来变化的量化步进尺寸将死区标量量化应用于频域数据。经量化的变换系数数据(532)被提供给头部格式化器/熵编码器(590)。如果频率变换被跳过,则缩放器/量化器可对预测残留数据块(或如果预测(558)为空则对样本值)进行缩放和量化,从而生成要提供给头部格式化器/熵编码器(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)进行格式化和/或熵编码。对于运动数据(552),头部格式化器/熵编码器(590)可选择合并模式索引值并对其进行熵编码,或可使用默认的MV预测器。在一些情况中,头部格式化器/熵编码器(590)还确定MV值(相对于MV值的MV预测器)的MV差异,随后例如使用上下文自适应二进制算术编码对该MV差异进行熵编码。对于帧内预测数据(542),可使用预测来编码BV值(或其他偏移值)。预测可使用默认预测器(例如来自一个或多个邻近块的BV值或其他偏移值)。当多个预测器可能时,预测器索引可指示要将此多个预测器中的哪个预测器用于预测BV值(或其他偏移值)。头部格式化器/熵编码器(590)可以选择预测器索引值并对其进行熵编码(用于帧内复制预测的情况),或者可以使用默认预测器。在一些情况中,头部格式化器/熵编码器(590)还确定(相对于BV值或其他偏移值的预测器)的差,随后例如使用上下文自适应二进制算术编码对该差进行熵编码。对于调色板编码模式,头部格式化器/熵编码器(590)可以对调色板数据进行编码。具体地,头部格式化器/熵编码器(590)可使用调色板预测,如以下所解释的。
头部格式化器/熵编码器(590)在经编码的视频位流(595)中提供经编码数据。经编码的视频比特流的格式(595)可以是H.265/HEVC格式、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)或其它格式的变型或扩展。
取决于期望的实现和压缩类型,编码器(500)的模块可被添加、省略、拆分成多个模块、与其它模块组合、和/或用相似的模块来替代。在替换实施例中,具有不同模块和/或其它配置的模块的编码器执行一个或多个所描述的技术。编码器的具体实施例通常使用编码器(500)的变型或补充版本。所示的编码器(500)内的各模块之间的关系指示信息在编码器中的一般流动;为简明起见,未示出其它关系。
VI.示例视频解码器。
图6是结合其可实现所描述的一些实施例的通用解码器(600)的框图。解码器(600)接收经编码的视频比特流(605)中的经编码数据并产生包括经重构视频(695)的图片的输出。经编码的视频比特流的格式(605)可以是H.265/HEVC格式、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)或其它格式的变型或扩展。
图片可以被组织为相同尺寸或不同尺寸的多个小块。一个图片还可以被组织成一个或多个片。片或小块的内容还可被组织成块或其它样本值集。解码器(600)是基于块的并使用取决于实现的块格式。块可以在不同的阶段被进一步细分。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块随后可以被划分成更小的样本值块。在针对H.265/HEVC标准的解码实现中,将图片分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。如果图片是在WPP被启用的情况下(即使用WPP或用与在解码期间对WPP的使用一致的方式)被编码的,则某些块的行(例如,根据H.265/HEVC标准的CTU的行)可使用WPP被并行地解码,如以下进一步解释的。
解码器(600)使用图片内解码和/或图片间解码来对图片进行解压缩。解码器(600)的许多组件被用于图片内解码和图片间解码这两者。由这些组件执行的确切操作可取决于正被解压缩的信息的类型而变化。
缓冲器接收经编码的视频比特流(605)中的经编码数据,并使得接收到的经编码数据可用于解析器/熵解码器(610)。解析器/熵解码器(610)通常应用在编码器(500)中执行的熵编码的逆(例如上下文自适应二进制算术解码)对经熵编码的数据进行熵解码。作为解析和熵解码的结果,解析器/熵解码器(610)产生通用控制数据(622)、经量化的变换系数数据(632)、帧内预测数据(642)、运动数据(652)以及滤波器控制数据(662)。对于帧内预测数据(642),如果预测器索引值被信号化,解析器/熵解码器(610)可以例如使用上下文自适应二进制算术解码来熵解码预测器索引值。在一些情况中,解析器/熵解码器(610)还可熵解码(例如使用上下文自适应二进制算术解码)BV值或其他偏移值的差,随后将该差与对应的预测器组合以重构BV值(或其他偏移值)。在其它情况中,该差可被从比特流中忽略,并且BV值(或其他偏移值)仅是(例如用预测器索引值指示的)预测器。对于调色板解码模式,解析器/熵解码器(610)可以解码调色板数据。具体地,解析器/熵解码器(610)可使用调色板预测,如以下所解释的。
通用解码控件(620)接收通用控制数据(622)并将控制信号(未示出)提供给其它模块(例如缩放器/逆变换器(635)、图片内预测器(645)、运动补偿器(655)以及帧内/帧间切换)以设置和改变解码期间的解码参数。
如果当前图片是使用图片间预测来预测的,则运动补偿器(655)接收运动数据(652),例如MV数据、参考图片选择数据以及合并模式索引值。运动补偿器(655)将MV应用于来自经解码的图片缓冲器(670)的(诸)经重构的参考图片。运动补偿器(655)产生对当前图片的帧间编码块的经运动补偿的预测。经解码图片缓冲器(670)存储一个或多个先前重构的图片以供用作参考图片。
在解码器(600)内的分开路径中,图片内预测器(645)接收帧内预测数据(642),例如指示图片内预测是使用空间预测、帧内BC预测、帧内LC预测还是帧内SC预测的信息以及预测模式方向(对于帧内空间预测的情况)、BV值(对于帧内BC预测的情况)、偏移值(对于帧内LC预测的情况)或偏移值和长度值(对于帧内SC预测的情况)。对于帧内空间预测,根据预测模式数据使用当前图片的重构(638)的值,图片内预测器(645)从当前图片的相邻的、先前重构的样本值中空间地预测当前图片的当前块的样本值。或者,对于帧内复制预测,图片内预测器(645)使用由针对当前块、行、串等的位移(BV值、偏移值等)指示的参考块、行、串或其他部分的先前重构的样本值来预测当前块、行、串或其他部分的样本值。在一些情况中,BV值(或其他偏移值)可以是被预测的值。在其它情况中,BV值(或其他偏移值)可不同于其预测的值,在该情况中该BV值(或其他偏移值)是使用差异和预测的值来重构的。对于帧内SC模式,图片内预测器(645)在预测当前串的样本值时还使用串长度值。
对于调色板解码模式,解码器(600)使用表示CU或其它单元的至少一些样本值的调色板。调色板将索引值映射到在单元中使用的对应的色彩。例如,调色板将索引值0,1,2,……,p映射到对应的色彩,该色彩可采用RGB 4:4:4格式、BGR 4:4:4格式、GBR 4:4:4格式、YUV 4:4:4格式或另一个格式(色彩空间、色彩采样率)。索引值可以表示像素的RGB三元组、BGR三元组或GBR三元组。在解码期间,对于单元中的位置,来自调色板的索引值被适当的样本值取代。在单元中的逸出编码值可以使用逸出代码值和文字值来解码。调色板可基于信号化在比特流中的调色板数据逐单元地改变。
帧内/帧间切换选择经运动补偿的预测或图片内预测的值用作给定块的预测(658)。例如,当H.265/HEVC句法被遵循时,可以基于为图片中的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滤波或另一种类的滤波。尽管“内环路”滤波是在运动补偿环路中对图片的经重构的样本值执行的,并因此影响参考图片的样本值,但后处理滤波器(608)是在经重构的样本值被输出以供显示之前在运动补偿环路外部被应用于经重构的样本值的。
取决于实现和期望的解压缩类型,解码器(600)的模块可被添加、被省略、被拆分成多个模块、被与其他模块组合和/或被替换为类似的模块。在替换实施例中,具有不同模块和/或其它配置的模块的解码器执行一个或多个所描述的技术。解码器的具体实施例通常使用解码器(600)的变型或补充版本。所示的解码器(600)内的模块之间的关系指示该解码器中的一般信息流动;为简明起见,未示出其它关系。
VII.WPP被启用时针对各图片内预测模式的规则。
本章节呈现在波前并行处理(“WPP”)被启用时针对各图片内预测模式的规则的示例。这些创新促成编码器或解码器在WPP被启用时对诸如调色板预测模式、帧内块复制(“BC”)模式、帧内行复制(“LC”)模式和帧内串复制(“SC”)模式之类的图片内预测模式的使用。
波前并行处理—介绍。
一般来说,WPP是通过将针对图片中的各行单元的处理的开始不同地延迟来促成并行处理的编码/解码工具。当WPP被启用时,图片中的不同行单元可被并行地编码或解码。在编码或解码期间,第一行单元可被从左到右一个单元接一个单元地处理。对第二行单元的处理(编码或解码)不需要等待针对整个第一行单元的处理的完成。相反,对第二行单元的处理可在针对第一行单元中的若干单元的处理完成后开始,这提供在处理第二行中的初始单元时所使用的信息。类似地,对第三行单元的处理可在针对第二行单元中的若干单元的处理完成后开始。由此,WPP促成对不同行单元的并行处理——不同的线程或处理内核可在分阶段的时间延迟的基础上执行针对不同行单元的处理。
例如,根据H.265/HEVC标准,当WPP被启用时,片被划分成诸行CTU。在编码或解码期间,第一行CTU可被一个CTU接一个CTU地处理。对第二行CTU的处理可在针对第一行中的前两个CTU的处理完成后开始,这提供在处理第二行的初始CTU时所使用的信息(例如,经重构的样本值、经重构的MV值或BV值、上下文模型信息)。类似地,对第三行CTU的处理可在针对第二行中的前两个CTU的处理完成后开始。
图7示出根据H.265/HEVC标准的当前图片(710)的WPP的时序(700)。图片(710)被分割成各CTU,这些CTU被组织在各CTU列和各CTU行中。不同的CTU行可使用WPP被并行地编码或解码。WPP的时序反映了编码或解码期间各CTU之间的依赖关系。在该示例中,给定CTU可依赖于来自以下的信息(诸如经重构的样本值、经重构的MV值或BV值、上下文模型信息):(1)其左边的(诸)相邻CTU,(2)其左上方的(诸)相邻CTU,(3)该给定CTU上方的(诸)相邻CTU,以及(4)该给定CTU右上方的(诸)相邻CTU,其中这样的相邻CTU(1)-(4)是获得的(例如,在图片内的相同片和小块中)。每一相邻CTU进而可取决于其相邻CTU(1)-(4)(如果可获得的话)。图8示出第五CTU行的初始CTU的级联依赖关系。第五CTU行的初始CTU依赖于第四CTU行的前两个CTU,这第四行CTU行的前两个CTU一起取决于第三CTU行的前三个CTU,并以此类推。
参考图7,对于WPP,对于波0,第一CTU行(即,CTU行0)被一个CTU接一个CTU地处理。对于波1,对CTU行1中的初始CTU的处理可在对CTU行0中的第二CTU的编码/解码结束后开始。类似地,对于波2,对CTU行2中的初始CTU的处理可在对CTU行1中的第二CTU的编码/解码结束后开始。对于波3,对CTU行3中的初始CTU的处理可在对CTU行2中的第二CTU的编码/解码结束后开始,并且对于波4,对CTU行4中的初始CTU的处理可在对CTU行3中的第二CTU的编码/解码结束后开始。
即使在各CTU行被并行处理时,该分阶段、时间延迟处理仍确保在针对某CTU行的处理开始时各CTU之间的依赖关系被满足。在图7中,每一CTU行的双CTU引导在处理期间被维护。对于每一CTU行,针对当前CTU的处理(以粗轮廓线示出)比针对下一CTU行中的当前CTU的处理提前两个CTU。然而,在实践中,针对给定CTU行的处理可停止或慢下来,从而导致针对在后CTU行的处理的级联延迟,针对在后CTU行的处理(直接或间接)取决于针对给定CTU行中的某CTU的处理的完成。对于在后CTU行中的给定CTU,依赖关系从先前CTU行向下级联。在图8中示出的示例(800)中,对于帧(810)的第五CTU行中的初始CTU,第四CTU行中的前两个CTU已经被处理。否则,针对第五CTU行中的初始CTU的处理不可能开始。作为扩展,第三CTU行中的第三CTU已经被处理,因为否则针对第四CTU行中的第二CTU的处理不可能已经开始。类似地,作为针对第三CTU行中的第三CTU的处理的先决条件,第二CTU行中的第四CTU已经被处理。最后,作为针对第二CTU行中的第四CTU的处理的先决条件,第一CTU行中的第五CTU已经被处理。图8由此示出保证在WPP被启用时可用于预测波4(第五CTU行)中的初始CTU的经重构的内容。
相反,当WPP没有被启用时,在CTU行中从左到右地并对图片从上到下一个CTU行接一个CTU行地处理各CTU。供给定CTU使用的上下文模型信息(也被称为CABAC状态信息或熵编码信息)可考虑处理图片(或片/小块)的相同CTU行和任何先前CTU行中的任何先前CTU(其是编码/解码次序中的较早的CTU)的结果。例如,对某CTU行中的第二CTU的处理取决于对该CTU行中的第一CTU的处理的结果,并以此类推。作为另一示例,对某CTU行中的初始CTU的处理取决于对图片(或片/小块)中的先前CTU行中的最后一个CTU的处理的结果。
另一方面,在WPP被启用时,对某CTU行中的初始CTU的处理不取决于对图片(或片/小块)中的先前CTU行中的最后一个CTU的处理的结果。对某CTU行中的初始CTU的处理可在对图片(或片/小块)中的先前CTU行中的第二CTU的处理完成之后开始,即使来自先前CTU行中的最后一个CTU的上下文模型信息不可用。对先前CTU行中的第三CTU的处理仍取决于对那个CTU行中的第二CTU的处理的结果,就像WPP没有被启用时一样。
在WPP被启用时,编码器在编码期间实际上可使用或可不使用WPP。无论如何,编码器强制实施在WPP实际上被使用时适用的约束和预测规则。类似地,当WPP被启用时,解码器在解码期间实际上可使用或可不使用WPP。比特流中的句法元素可指示是否对视频序列、图片集合或图片启用WPP。例如,该句法元素可被信号化在比特流中的SPS、PPS或其他句法结构中。例如,在H.265/HEVC实现中,被信号化在PPS句法结构中的句法元素entropy_coding_sync_enabled_flag(熵_编码_同步_启用标志)的值指示是否对与该PPS句法结构相关联的(诸)图片启用WPP。如果entropy_coding_sync_enabled_flag等于1,则对(诸)图片启用了WPP。否则,没有对(诸)图片启用WPP。
B.调色板编码/解码模式及调色板预测—介绍。
一般来说,调色板编码/解码模式使用调色板来表示单元(例如,H.265/HEVC实现中的CU或其他单元)的至少一些样本值。例如,调色板将索引值0,1,2,…,p映射到对应的色彩,该色彩可采用RGB 4:4:4格式、BGR 4:4:4格式、GBR 4:4:4格式、YUV 4:4:4格式或另一个格式(色彩空间、色彩采样率)。索引值可表示像素的RGB三元组、BGR三元组或GBR三元组。图9示出调色板的两个示例。当前单元的调色板(即,“当前调色板”)包括p个索引值0,…,p-1,这些索引值与RGB三元组相关联。先前单元的调色板(表示在“先前调色板数据”中)包括q个索引值0,…,q-1,这些索引值与RGB三元组相关联。P和q的值可相同或不同。在编码期间,编码器可使用索引值来替换像素的样本值,该索引值可例如使用熵编码来被进一步编码。在解码期间,解码器可例如在对索引值进行熵解码后,使用调色板从该索引值中恢复像素的样本值。
具体地,调色板编码/解码模式在单元包括相对较少的不同色彩时可能是高效的,这是屏幕内容视频的共有特征。例如,采用RGB 4:4:4格式的64x64CU包括64x64=4096个像素,但可包括少的多的色彩(例如,1到20个色彩)。可以使用逸出代码值和(相应样本值的)文字值来编码单元中的稀有值,而不是将稀有色彩直接包括在调色板中。
两个单元可使用相同的调色板,但色彩通常在图片中逐单元地改变。由此,调色板通常在图片内逐单元地改变。对于调色板,编码器将调色板数据信号化在比特流中,该调色板数据可被熵编码。解码器接收并解析调色板数据、在适当时对调色板数据进行熵解码并重构调色板。编码器和解码器可使用调色板预测来降低与信号化调色板数据相关联的比特率。
一般来说,调色板预测可以是编码或解码期间被用于使用来自针对先前单元的一个或多个调色板的调色板数据(先前调色板数据)来预测当前单元的调色板(当前调色板)的值的任何方法。虽然色彩通常在图片内逐单元地改变,但在许多情况下,给定单元中的至少一些色彩也可在相邻单元中被使用。调色板预测采用那个观察来降低调色板数据的比特率。
图9示出其中当前单元的调色板(当前调色板)是使用先前单元的调色板(被表示在先前调色板数据中)来预测的调色板预测的简化示例(900)。例如,如果在当前单元之前被编码或解码的先前单元使用了调色板编码/解码模式,则先前调色板数据可来自由该先前单元使用的调色板。如果先前单元没有使用调色板编码/解码模式,则当前单元的先前调色板数据可“继承”自该先前单元。也就是说,对先前单元可用的先前调色板数据可作为对当前单元可用的先前调色板数据被重新使用。(在一些示例实现中,先前调色板数据实际上是当前单元的状态或状态信息。本身不使用调色板编码/解码模式的给定单元仍具有先前调色板数据,该先前调色板数据可被下一单元继承。)由此,通过继承链,当前单元的先前调色板数据可包括来自使用了调色板编码/解码模式的最新近的、先前处理的单元(如果有的话)的调色板的调色板数据。
对于调色板预测,编码器可确定当前调色板是否与先前调色板数据相同。如果如此,则编码器可简单地指示先前调色板数据将作为当前调色板被重新使用。否则(当前调色板不同于先前调色板数据),编码器确定先前调色板数据和当前调色板之间的改变,并信号化指示这些改变的句法元素。例如,如图9所示,对于当前调色板的给定索引值,编码器信号化该给定索引值的相应色彩是先前调色板数据中的色彩(“先前”)还是新色彩(“新”)。如果相应色彩是先前调色板数据中的色彩,则编码器信号化针对先前调色板数据中的该色彩的(来自先前调色板数据的)索引值,该先前调色板数据可被用于填充当前调色板。在图9中,针对先前调色板数据的索引值1的色彩被重新分配给当前调色板中的索引值0,并且针对先前调色板数据的索引值0的色彩被重新分配给当前调色板中的索引值2。由此,色彩可逐调色板地改变位置,例如使得最常用的色彩具有最小的索引值,这可改善熵编码的效率。如果针对给定索引值的相应色彩是新色彩,则编码器信号化该新色彩的三元组。例如,在图9中,对于当前调色板中的索引值1,编码器信号化新三元组(215,170,200),其被用于更新当前调色板。
基于由编码器信号化的句法元素,解码器可确定当前调色板是否与在解码器处可用的先前调色板数据相同。如果如此,则解码器可将先前调色板数据作为当前调色板重新使用。否则(当前调色板不同于先前调色板数据),解码器接收并解析指示先前调色板数据和当前调色板之间的改变的句法元素。例如,如图9所示,对于当前调色板的给定索引值,解码器确定该给定索引值的相应色彩是先前调色板数据中的色彩(“先前”)还是新色彩(“新”)。如果相应色彩是先前调色板数据中的色彩,则解码器接收并解析指示针对先前调色板数据中的色彩的(来自先前调色板数据的)索引值的句法元素,该先前调色板数据可被用于填充当前调色板。如果针对给定索引值的相应色彩是新色彩,则解码器接收并解析指示该新色彩的句法元素。
在构造了当前调色板后,编码器和解码器更新下一单元的先前调色板数据,以存储来自当前调色板的调色板数据。该新“先前调色板数据”可被用于预测下一单元的调色板。
图9示出简化的示例(900)。具体地,被用于信号化调色板数据的句法元素和规则可能更复杂。对于示例实现中的关于调色板编码/解码和调色板预测的附加细节,参见例如JCTVC-R1005的章节7.3.8.8、7.4.9.6和8.4.1。替换地,另一方法被用于信号化调色板数据。
C.WPP被启用时的调色板预测。
一般来说,用于调色板预测目的的先前调色板数据被用来预测当前单元的调色板(当前调色板)。例如,(如果在当前单元之前编码或解码的邻居单元使用了调色板编码/解码模式),先前调色板数据可以是来自该邻居单元的实际调色板数据。或者(如果邻居单元没有使用调色板编码/解码模式),则对邻居单元可用的先前调色板数据可作为当前单元的先前调色板数据被重新使用(或者“继承”)。
在一些示例实现中,当WPP没有被启用时,对于当前行中的初始单元,先前调色板数据来自先前行中的最后一个单元(例如,在最后一个单元使用了调色板编码/解码模式的情况下,来自最后一个单元的调色板;否则,是对最后一个单元可用的先前调色板数据)。当WPP被启用时,对于当前行中的初始单元,来自先前行中的最后一个单元的先前调色板数据可能不是可用的。然而,在每一单元行开始处重置调色板预测(当前单元中没有用于初始单元的调色板预测的预测器)可对编码效率具有负面影响。
相反,在WPP被启用时,编码器或解码器可使用来自先前行中的前两个单元之一(例如,先前行的前两个CTU中的前两个CU之一)的先前调色板数据,该前两个单元之一已被按需处理以用于对要开始的当前行中的初始单元的处理。例如,对于当前行中的初始单元,用于调色板预测目的的先前调色板数据来自先前行的第二单元(如果第二单元使用了调色板编码/解码模式,则为第二单元的实际调色板数据,或者否则,为对先前行的第二单元可用的先前调色板数据)。由此,对于当前行中的初始单元,如果第二单元没有使用调色板编码/解码模式,则先前调色板数据(在来自先前行的第一单元使用了调色板编码/解码模式的情况下)可能为该第一单元的调色板数据,或者(在先前行中的前两个单元都没有使用调色板编码/解码模式的情况下)为来自先前行的第一单元的先前调色板数据,该先前调色板数据可取决于先前行之前的行的第二单元的调色板,并以此类推。(替换地,如果先前行中的前两个单元都没有使用调色板编码/解码模式,则先前调色板数据可为空—没有预测器—或使用默认预测器。)在当前行中的初始单元之后,对于当前单元,用于调色板预测目的的先前调色板数据(在于当前单元之前编码或解码的邻居单元使用了调色板编码/解码模式的情况下)为来自该邻居单元的调色板数据,或者(在该邻居单元没有使用调色板编码/解码模式的情况下)为对该邻居单元可用的先前调色板数据,就像WPP没有被启用时一样。
图10示出根据一些示例实现的针对在WPP被启用的情况下被处理的当前图片(1010)的调色板预测依赖关系(1000)。图片(1010)通过各CTU行和CTU列来组织。在图10的示例中,每一CTU包括单个CU。更一般地,给定CTU可被递归地拆分成多个CU(例如,单个CU可被拆分成四个CU,这些CU中的每一者可被进一步拆分成更小的CU)。处理状态(例如,当前CTU正被编码或解码)一般对应于图7中示出的处理状态。图10中的箭头示出在WPP被启用时调色板预测的方向。对于第一CTU行中的初始CU,不存在预测器。替换地,可使用默认预测器。对于第一CTU行中的每一在后CU,先前调色板数据来自左边的CU。对于第一CTU行之后的任何CTU行中的初始CU,先前调色板数据来自先前行的第二CU。对于第一CTU行之后的任何CTU行中的每一在后CU,先前调色板数据来自同一行中的先前CU。对于使用调色板编码/解码模式的任何CU,其调色板被用于构造用于预测下一CU的调色板的先前调色板数据。如果给定CU没有使用调色板编码/解码模式,则对给定CU可用的先前调色板数据被保持作为下一CU的先前调色板数据。
当CTU包括多个CU时,出于针对当前CU的调色板预测的目的,先前CU可以是z扫描次序中的较早的CU。较早的CU可以在相同的CTU或不同的CTU中(针对该CTU的第一CU)。参考图17,在一些示例实现中,章节VII.D解释了z扫描次序的示例。
编码器和解码器可使用存储器来存储被用于调色板预测的先前调色板数据。所保存的先前调色板数据的调色板数据的量取决于实现。一般来说,先前调色板数据可包括先前调色板数据中的色彩的计数C和这些色彩的样本值的细节(例如,采用RGB 4:4:4格式、GBR 4:4:4格式、BGR 4:4:4格式、YUV 4:4:4格式或另一格式的色彩三元组)。编码器和解码器可保存先前调色板的所有调色板数据。然而,对于大型调色板而言,保存先前调色板的所有调色板数据可消耗显著量的存储器。替换地,在一些情况下为了降低存储器消耗,编码器和解码器通过阈值计数来限制C,其中该阈值计数取决于实现。在该情况下,编码器和解码器保存针对先前调色板中的前C个不同色彩的先前调色板数据,其中C通过阈值计数来限制。例如,阈值计数为16或32。或者,当WPP被启用时,对于针对当前行的初始单元的调色板预测,编码器和解码器最多保存前C1个不同色彩的先前调色板数据。在此之后,编码器和解码器最多保存针对当前行内用于调色板预测的前C2个不同色彩的先前调色板数据。例如,C1为16或32,并且C2为64。
图11示出在WPP被启用时用于进行编码的一般技术(1100),该技术包括调色板预测。编码器(诸如图3或图5a和5b中示出的编码器或其他编码器)可执行技术(1100)。图12示出在WPP被启用时用于进行解码的一般技术(1200),该技术包括调色板预测。解码器(诸如参考图4或图6中示出的解码器或其他解码器)可执行技术(1200)。
参考图11,编码器在WPP被启用的情况下对图片进行编码(1110)。编码(1110)产生经编码的数据。作为编码(1110)的一部分,对于调色板编码模式,编码器使用来自图片的先前WPP行中的先前单元的先前调色板数据来预测图片的当前WPP行中的初始单元的调色板。编码器将经编码的数据作为比特流的一部分来输出(1120)。
参考图12,解码器将经编码的数据作为比特流的一部分来接收(1210)。解码器在WPP被启用的情况下对经编码的数据进行解码(1220)。解码(1220)重构图片。作为解码(1220)的一部分,对于调色板解码模式,解码器使用来自图片的先前WPP行中的先前单元的先前调色板数据来预测图片的当前WPP行中的初始单元的调色板。
在一些示例实现中,在编码器或解码器处,当前WPP行和先前WPP行是CTU行,并且初始单元和先前单元是CU。替换地,WPP行是另一种类型的单元的行,和/或初始和先前单元是另一种类型的单元。比特流中的句法元素可指示是否对视频序列、图片集合或图片启用WPP。该句法元素可被信号化在比特流中的SPS句法结构、PPS句法结构(例如,在H.265/HEVC实现中为句法元素entropy_coding_sync_enabled_flag)或另一句法结构中。
一般来说,在编码或解码期间,当前WPP行中的初始单元的调色板表示在当前WPP行中的初始单元中所使用的至少一些色彩。(如果先前WPP行中的先前单元使用了调色板编码/解码模式),来自该先前单元的先前调色板数据可表示在先前WPP行中的该先前单元的调色板中所使用的至少一些色彩。或者(如果该先前单元没有使用调色板编码/解码模式),则来自先前WPP行中的该先前单元的先前调色板数据可能已被来自较早的单元的先前单元继承,该较早的单元可能已使用了调色板编码/解码模式或者本身继承了先前调色板数据。没有表示在调色板中的色彩可被逸出编码。先前WPP行可以是紧接在当前WPP行上方的WPP行。先前WPP行中的先前单元可在当前WPP行中的初始单元的上方(例如,在图10中为先前行中的第一单元),或者它可在当前WPP行中的初始单元的右上方(例如,在图10中为先前行中的第二单元)。在处理了当前WPP行中的初始单元后,为了得到图片的当前WPP行中的后续单元的调色板,编码器或解码器可使用来自当前WPP行中的初始单元的调色板的调色板数据来预测(该后续单元的)调色板。
在编码或解码期间,调色板预测可包括若干阶段。例如,在编码期间,编码器可(基于当前调色板与先前调色板数据的比较)确定是否将来自先前WPP行中的先前单元的先前调色板数据作为当前WPP行中的初始单元的调色板(当前调色板)来重新使用。在解码期间,解码器可(基于由编码器信号化的信息)确定是否将来自先前WPP行中的先前单元的先前调色板数据作为当前WPP行中的初始单元的调色板(当前调色板)来重新使用。作为另一示例,在编码期间,在存在对调色板的改变时,编码器可从来自先前WPP行的先前单元的先前调色板数据中选择一个或多个色彩以包括在当前WPP行的初始单元的调色板(当前调色板)中。编码器信号化指示所选的色彩的句法元素。接着,在解码期间,解码器可接收并解析该句法元素,并基于该句法元素来从来自先前WPP行中的先前单元的先前调色板数据中选择一个或多个色彩以包括在当前WPP行中的初始单元的调色板(当前调色板)中。替换地,编码器和解码器可使用另一种方法来信号化调色板数据。
编码器和解码器可存储来自先前WPP行中的先前单元的所有先前调色板数据。例如,对于来自先前WPP行中的先前单元的先前调色板数据中的C个色彩中的每一色彩,编码器和解码器可保存一个或多个色彩分量值。替换地,在一些情况下,为了降低存储器消耗,编码器和解码器可通过先前调色板数据的阈值计数来限制C,使得通过阈值计数来限制的前C个色彩的调色板数据被存储用于调色板预测。
D.帧内复制预测-介绍。
一般来说,帧内复制模式使用帧内复制预测,在帧内复制预测中,图片中的当前块、行、串或其他部分是使用同一图片中的参考块、行、串或其他部分中的先前重构的样本值来预测的。例如,帧内复制模式可使用帧内块复制(“BC”)预测、帧内行复制(“LC”)预测或帧内串复制(“SC”)预测。
一般来说,帧内BC模式使用帧内BC预测,在帧内BC预测中图片的当前块的样本值是使用同一图片中的样本值来预测的。块向量(“BV”)值指示从当前块到该图片的包括用于预测的样本值的块(“参考块”)的位移。参考块提供了当前块的预测器。用于预测的样本值是先前重构的样本值,由此这些样本值可在编码期间在编码器处获得并在解码期间在解码器处获得。BV值被信号化在比特流中,并且解码器可使用BV值来确定图片的参考块以供预测使用。
图13示出了针对当前图片(1310)的当前块(1330)的帧内BC预测的示例(1300)。当前块可以是编码单元(“CU”)的编码块(“CB”)、预测单元(“PU”)的预测块(“PB”)、变换单元(“TU”)的变换块(“TB”)或其它块。当前块的尺寸可以是64×64、32×32、16×16、8×8或某个其它尺寸。出于帧内BC预测的目的,块可被对称地或非对称地分割成较小块。更一般地,当前块的尺寸为m×n,其中m和n中的每一者都是整数,并且其中m和n可彼此相等或可具有不同的值。这样,当前块可以是正方形或矩形。替换地,当前块可具有某种其它形状。
BV(1340)指示从当前块(1330)到该图片的包括用于预测的样本值的参考块(1350)的位移(或偏移)。参考块(1350)可以等同于当前块(1330),或它可以是当前块(1330)的近似。假设当前块的左上位置在当前图片的位置(x0,y0)处,并假设参考块的左上位置在当前图片的位置(x1,y1)处。BV指示位移(x1-x0,y1-y0)。例如,如果当前块的左上位置在位置(256,128)处,并且参考块的左上位置在位置(126,104)处,则BV值是(-130,-24)。在本示例中,负水平位移指示在当前块的左边的位置,而负垂直位移指示在当前块的上方的位置。
帧内BC预测可使用BC操作通过利用冗余性(例如在图片内部的重复的图案)来改善编码效率。然而,考虑到编码器可评估的候选参考块的数目,寻找当前块的匹配参考块可能是计算上复杂并耗时的。图14示出了解说在WPP没有被启用时的当前图片(1410)的当前块(1430)的候选参考块中的一些的示例(1400)。四个BV(1441,1442,1443,1444)指示四个候选参考块的位移。在WPP没有被启用时,候选参考块可在当前图片(1410)的经重构内容内内的任何地方。(通常从左向右随后从上到下地编码块。)候选参考块可以与其它候选参考块重叠,如针对由BV值(1443,1444)所指示的候选参考块示出的。在一些示例实现中,参考块被约束为在与当前块相同的片或小块内。这样的帧内BC预测不使用在其它片或小块中的样本值。参考块的位置可以经受一个或多个其它约束,例如在WPP被启用时的约束,如以下所描述的。
具有帧内BC预测的预测模式的块可以是CB、PB或其它块。当块是CB时,该块的BV值可在CU级处被信号化(且该CU中的其它CB使用相同的BV或其经缩放的版本)。或者,当块是PB时,该块的BV可在PU级处被信号化(而PU中的其它PB使用相同的BV或其经缩放的版本)。更一般地,帧内BC预测块的BV被信号化在该块的适当句法级别处。
一般来说,帧内LC模式使用帧内LC预测,在帧内LC预测中,图片的当前块的当前行的样本值是使用同一图片中的样本值来预测的。偏移值指示从当前行到图片的包括用于预测的样本值的行(“参考行”)的位移。该偏移值被信号化在比特流中,并且解码器可使用该偏移值来确定参考行以供预测使用。
图15示出了针对当前图片的当前块(1530)的行的帧内BC预测的示例(1500)。当前块可以是CU的CB、PU的PB、TU的TB或其他块。当前块的尺寸可以是64×64、32×32、16×16、8×8或某个其它尺寸。更一般地,当前块的尺寸为m×n,其中m和n中的每一者都是整数,并且其中m和n可彼此相等或可具有不同的值。这样,当前块可以是正方形或矩形。对于帧内LC预测,块被拆分成水平行或垂直行。水平行具有1样本高度并具有当前块的宽度。垂直行具有1样本宽度并具有当前块的高度。
在图15中,第一偏移(1551)指示从当前块(1530)的第一行(1541)到包括用于预测第一行(1541)的样本值的参考行(1561)的位移。参考行可等同于给定行,或者它可以是给定行的近似。第二偏移(1552)指示从当前块(1530)的第二行(1542)到包括用于预测第二行(1542)的样本值的参考行(1562)的位移。偏移值(1551,1552)与BV值相似,因为它指示当前图片内的位移。虽然图15示出水平行,但当前块(1530)可改为被拆分成用于帧内LC预测的各垂直行。每个块、每个单元或每个图片的句法元素可指示是水平行还是垂直行被用于帧内LC预测。
帧内LC预测可使用LC操作通过利用冗余性(例如在图片内部的重复的图案)来改善编码效率。在WPP没有被启用时,候选参考行可在当前图片的经重构内容内的任何地方。候选参考行可与其他候选参考行重叠。在一些示例实现中,参考行被约束为在与当前行相同的片或小块内。参考行的位置可以经受一个或多个其它约束,例如在WPP被启用时的约束,如以下所描述的。
通常,帧内SC模式使用帧内SC预测,在帧内SC预测中,图片的当前块的当前串的样本值是使用同一图片中的样本值来预测的。偏移值指示从当前串到图片的包括用于预测的样本值的串(“参考串”)的位移。串长度值根据样本值来指示串的长度。偏移值和串长度值被信号化在比特流中,并且解码器可使用偏移值和串长度值来确定参考串以供预测使用。
图16示出针对当前图片的当前块(1630)的串的帧内SC预测的示例(1600)。当前块可以是CU的CB、PU的PB、TU的TB或其他块。当前块的尺寸可以是64×64、32×32、16×16、8×8或某个其它尺寸。更一般地,当前块的尺寸为m×n,其中m和n中的每一者都是整数,并且其中m和n可彼此相等或可具有不同的值。这样,当前块可以是正方形或矩形。对于帧内SC预测,块被拆分成一个或多个串。在图16中,当前块(1630)被拆分成三个串。块的串在给定行中可被水平地—即从左到右地—扫描,随后下一行被扫描,并以此类推。或者,块的串在给定列中可被垂直地—即从上到下—扫描,随后下一列被扫描,并以此类推。在图16中串被水平地扫描。
在图16中,第一偏移(1651)指示从当前块(1630)的第一串(1641)到包括用于预测第一串(1641)的样本值的参考串(1661)的位移。第一串(1641)和相应的参考串(1661)中的每一者的长度为6个样本值。参考串可等同于给定串,或者它可以是给定串的近似。第二偏移(1652)指示从当前块(1630)的第二串(1642)到包括用于预测第二串(1642)的样本值的参考串(1662)的位移。第二串(1642)和相应的参考串(1662)中的每一者的长度为14个样本值。没有示出针对当前块(1630)的第三串的偏移,该第三串具有44个样本的长度。类似BV值,偏移值(1651,1652)指示当前图片内的位移。虽然图16示出水平扫描,但当前块(1630)可改为被拆分成被垂直地扫描以用于帧内SC预测的串。每个块、每个单元或每个图片的句法元素可指示是水平扫描次序还是垂直扫描次序被用于帧内SC预测。
帧内SC预测可使用SC操作通过利用冗余性(诸如图片内部的重复的图案)来改善编码效率。帧内SC预测比帧内BC预测或帧内LC预测更灵活(从而允许分割成任意串,而不只是固定的分割),但信号化更多信息(除了偏移值外,还有串长度值)。在WPP没有被启用时,候选参考串可在当前图片的经重构内容内的任何地方。候选参考串可与其他候选参考串重叠。在一些示例实现中,参考串被约束为在与当前串相同的片或小块内。参考串的位置可以经受一个或多个其它约束,例如在WPP被启用时的约束,如以下所描述的。
帧内BC模式、帧内LC模式或帧内SC模式的帧内复制预测操作可在CB级别处(在BV值或其他偏移值是根据CB或其部分来信号化的情况下)或者PB级别处(在BV值或其他偏移值是根据PB或其部分来信号化的情况下)被应用。在这种情况中,参考区域被约束为不与当前区域或包括当前区域的块重叠。替换地,即使在BV值或其他偏移值被针对PB或CB(或其部分)来信号化时,帧内复制预测操作仍可被应用于PB或CB内的较小部分。例如,对于块的第一部分,参考区域包括在该块之外的位置。然而,对于块的第二部分,帧内复制预测操作中使用的参考区域可包括在同一块的先前重构的第一部分中的位置。通过这种方式中,BV值或偏移值可参考同一PB或CB中的位置。允许帧内复制预测操作被应用于PB或CB内的各部分促成对具有相对较小的量级的BV值或其他偏移的使用。
在当前单元中的当前区域的参考区域可包括同一单元内的位置时,编码器可通过考虑当前区域和参考区域(其在相同的片和相同的小块中)的z扫描次序来检查BV值或其他偏移值的有效性。例如,编码器检查包含参考区域的右下位置(x0+offsetx+m-1,y0+offsety+n-1)的块的z扫描次序小于包含当前区域的左上位置(x0,y0)的块的z扫描次序,其中offset(偏移)指示偏移值,并且当前区域和参考区域具有维度m x n。如果如此,则包含参考区域的右下位置的块已在先前被重构(并且因此具有参考区域的剩余部分)。编码器还可以检查偏移值满足条件offsetx+m≤0和offsety+n≤0中的至少一个,从而确保参考区域不与当前区域重叠。
一般来说,z扫描次序遵循分割图片的单元的顺序指定的排序。图17示出针对当前区域(1730)和可包括参考区域的右下位置的单元的示例z扫描次序(1700)。当前区域(1730)可以是CB、PB或其他块、行或包括串的矩形。通常,z扫描次序在一行中被从左到右顺序地分配给各单元,并从上到下地在后继行中重复。当单元被拆分时,z扫描次序被递归地在拆分的单元内分配。对于H.265/HEVC标准的编码/解码的实现,z扫描次序沿着CTU光栅扫描模式(在一CTU行中为从左到右,并从上到下地在后继CTU行中重复)逐CTU地继续。如果CTU被拆分,则z扫描次序遵循针对经拆分的CTU内的四叉树的CU的光栅扫描模式。并且,如果CU被拆分(例如,被拆分成多个CU或被拆分成多个PU),则z扫描次序遵循针对经拆分的CU内的块的光栅扫描模式。
在一些示例实现中,BV值或其他偏移值针对CU、PU或其他单元来被信号化,并被应用于该单元的所有块。取决于色彩空间和色彩采样率,BV值或其他偏移值可被用于所有块而无需缩放,或者它可针对不同的色彩分量中的块被缩放。替换地,不同的BV值或其他偏移值可针对单元的不同块被信号化。在一些示例实现中,相同的预测模式(例如,帧内BC模式)适用于单元的所有块。替换地,不同的块可具有不同的预测模式。
E.WPP被启用时对帧内复制预测的约束。
一般来说,帧内BC预测、帧内LC预测和帧内SC预测使用图片中的先前重构的样本值来预测同一图片的当前块、行或串的样本值。作为规则,在WPP被启用时图片的包括先前重构的样本值的区域不同于WPP没有被启用时该图片的包括先前重构的样本值的区域。对于帧内复制预测,对参考区域的位置的一些约束被强制实施,而不管WPP是否被启用。对参考区域的位置的一个或多个其他约束在WPP被启用时应用。对参考区域的位置的约束可采用对帧内BC预测允许的BV值的限制或对帧内LC预测或帧内SC预测允许的偏移值的限制的形式。
图18示出根据一些示例实现的在WPP被启用时对图片(1810)的当前区域(1830)的参考区域的位置的约束的示例(1800)。图片(1810)通过各CTU行和CTU列来组织。
当前区域(1830)用帧内复制模式来编码或解码。当前区域(1830)是当前CTU的一部分。对于当前CTU,依赖关系从先前CTU行向下级联。当WPP被启用时,为了处理要开始的当前CTU,同一行中其左边的(诸)CTU已经被处理,并且先前行中一直到右上方的CTU的各CTU已经被处理。类似地,对于这些已经被处理的CTU中的任一者,同一行中的左边的各CTU以及先前行中一直到右上方的CTU的各CTU已经被处理。如图18中所示,这些先前处理的CTU提供保证在WPP被启用时可用于帧内复制预测的经重构的内容。
图18示出当前图片(1810)的当前区域(1830)的候选参考区域中的一些。四个偏移值(1841,1842,1843,1844)指示四个候选参考区域的位移。候选参考区域可与其他候选参考区域重叠。候选参考区域可在当前图片(1810)的经重构内容内的任何地方。在WPP没有被启用时,当前图片(1810)的经重构的内容一般包括在当前CTU左边的各CTU以及先前CTU行中的所有CTU。然而,在WPP被启用时,较少的经重构的内容可用,如图18中所示出的。在图18中,三个偏移值(1841、1842、1843)指示有效参考区域。这些有效参考区域仅包括在保证在WPP被启用时可用于帧内复制预测的经重构的内容内的样本值。偏移值之一(1844)指示有效参考区域,该有效参考区域包括在保证在WPP被启用时可用于帧内复制预测的经重构的内容外部的至少一些样本值。
通过WPP被启用时对帧内复制模式的约束来进行编码和解码。
图19示出用在WPP被启用时对帧内复制模式强制实施的规则进行编码的一般技术(1900)。编码器(诸如图3或图5a和5b中示出的编码器或其他编码器)可执行技术(1900)。图20示出用在WPP被启用时对帧内复制模式强制实施的规则进行解码的一般技术(2000)。解码器(诸如在图4或图6中示出的解码器或其他解码器)可执行技术(2000)。
参考图19,编码器在WPP被启用的情况下对图片进行编码(1910)。编码(1910)产生经编码的数据。作为编码(1910)的一部分,对于帧内复制模式(例如,使用帧内BC预测、帧内LC预测或帧内SC预测的模式),编码器强制实施归因于WPP的一个或多个约束。编码器将经编码的数据作为比特流的一部分来输出(1920)。
参考图20,解码器将经编码的数据作为比特流的一部分来接收(2010)。对于帧内复制模式(例如,使用帧内BC预测、帧内LC预测或帧内SC预测的模式),经编码的数据满足归因于WPP的一个或多个约束。解码器在WPP被启用的情况下对经编码的数据进行解码(2020)。解码(2020)重构图片。
比特流中的句法元素可指示是否对视频序列、图片集合或图片启用WPP。该句法元素可被信号化在比特流中的SPS句法结构、PPS句法结构(例如,在H.265/HEVC实现中为句法元素entropy_coding_sync_enabled_flag(熵编码同时启用标志))或另一句法结构中。
帧内复制模式可以是帧内BC模式。在该情况下,对于图片中的当前块,偏移值指示到图片中的参考块的位移。参考块包括先前重构的样本值。或者,帧内复制模式可以是帧内LC模式。在该情况下,对于图片的块中的当前行,偏移值指示到图片中的参考行的位移。参考行包括以行扫描方向(其可以是水平的或垂直的)扫描的先前重构的样本值。或者,帧内复制模式可以是帧内SC模式。在该情况下,对于图片的块中的当前串,偏移值指示到图片中的参考串的位移。参考串包括以串扫描次序(其可以是水平的或垂直的)扫描的先前重构的样本值。对于当前串,长度值指示当前串和参考串中的每一者的长度。或者,帧内复制模式可以是使用偏移值来为图片中的当前块、行、串或其他部分寻找相同图片中的参考块、行、串或其他部分的某一其他模式,其中参考块、行、串等包括先前重构的样本值。
归因于WPP的(诸)约束可包括从参考区域到当前区域的水平位移值小于或等于从当前区域到参考区域的垂直位置值的约束。例如,水平位移值测量从包括参考区域的右边缘的WPP列到包括当前区域的左边缘的WPP列的差异,并且垂直位移值测量从包括当前区域的上边缘的WPP行到包括参考区域的下边缘的WPP行的差异。在一些示例实现中,每一个WPP列都是CTU列,并且每一WPP行均是CTU行。替换地,归因于WPP的(诸)约束包括一个或多个其他和/或附加约束。
如果帧内复制模式是帧内BC模式,则当前区域是当前块,并且参考区域是参考块。如果帧内复制模式是帧内LC模式,则当前区域是当前行,并且参考区域是参考行。如果帧内复制模式是帧内SC模式,则当前区域是包括当前串的矩形,并且参考区域是包括参考串的矩形。编码器或解码器可通过以串扫描次序(例如,水平的、垂直的)确定包括当前串的开始位置、当前串的结束位置、以及当前串的开始位置和结束位置之间的任何位置的矩形来标识包括当前串的矩形。编码器或解码器可使用被应用于包括当前串的矩形的偏移值来标识包括参考串的矩形。
编码器还可强制实施不归因于WPP的一个或多个其他约束。例如,编码器可检查当前区域的左上位置和参考区域的左上位置在同一片(如果合适的话)中并在同一小块中(如果合适的话)。作为另一示例,编码器可检查当前区域的左上位置和参考区域的右下位置在同一片中(如果合适的话)并在同一小块中(如果合适的话)。作为又一示例,编码器可检查下述三个条件之一被满足:(a)包括参考区域的下边缘的CTU行在包括当前区域的上边缘的CTU行上方;(b)如果包括参考区域的下边缘的CTU行等于包括当前区域的上边缘的CTU行,则包括参考区域的右边缘的CTU列在包括当前区域的左边缘的CTU列的左边;以及(c)如果包括参考区域的下边缘的CTU行等于包括当前区域的上边缘的CTU行并且如果包括参考区域的右边缘的CTU列等于包括当前区域的左边缘的CTU列,则在z扫描次序中参考区域的右下位置比当前区域的左上位置更早。
以下章节详述根据一些示例实现的编码器可在WPP被启用时对帧内BC预测、帧内LC预测和帧内SC预测强制实施的约束的示例。
在WPP被启用时对帧内BC预测的BV值的示例约束。
本章节详述编码器可在WPP被启用时对帧内BC预测强制实施的约束的示例。对于当前块,约束验证由BV值指示的候选参考块包括将在当前块被编码或解码时可用的经重构的样本值。
定义当前块从相对于当前图片的左上位置的位置(x0,y0)处开始。当前块(block)的宽度和高度分别为wblock和hblock。当前块是当前CU的一部分。CTU尺寸为S。当前CU从相对于图片的左上位置的(xCU,yCU)处开始。块向量为(BVx,BVy)。
编码器验证所有下述约束被满足。
第一约束。编码器验证位置(x0,y0)和位置(x0+BVx,y0+BVy)在同一片中并在同一小块中。也就是说,编码器验证当前块的左上位置和参考块的左上位置在同一片中并在同一小块中。如果这两个位置在不同的片或不同的小块中,则第一约束不被满足。
第二约束。编码器验证位置(x0,y0)和位置(x0+BVx+wblock-1,y0+BVy+hblock-1)在同一片和同一小块中。也就是说,编码器验证当前块的左上位置和参考块的右下位置在同一片中并在同一小块中。如果这两个位置在不同的片或不同的小块中,则第二约束不被满足。
对于第一和第二约束,如果没有使用多个片,则被检查的两个位置必然在同一片中,并且针对片不需要检查第一和第二约束。类似地,如果没有使用多个小块,则被检查的两个位置必然在同一小块中,并且针对小块不需要检查第一和第二约束。当前块的所有位置是在单个片或单个小块中。如果第一和第二约束被满足,则参考块的所有位置也在那个片和小块中。编码器检查第一和第二约束,而不管WPP是否被启用。
第三约束。对于第三约束,编码器验证以下三个条件之一被满足。编码器检查第三约束,而不管WPP是否被启用。
第三约束的第一条件。编码器检查是否(y0+BVy+hblock-1)/S<y0/S。也就是说,编码器计算包括参考块的下边缘的CTU行:(y0+BVy+hblock-1)/S。编码器还计算包括当前块的上边缘的CTU行:y0/S。编码器随后检查包括参考块的下边缘的CTU行是否在包括当前块的上边缘的CTU行上方。如果如此,则至少在WPP没有被启用时,参考块必然包括先前重构的样本值。
第三约束的第二条件。当(y0+BVy+hblock-)/S==y0/S时,编码器检查是否(x0+BVx+wblock-1)/S<x0/S。也就是说,如果包括参考块的下边缘的CTU行等于包括当前块的上边缘的CTU行(同一CTU行),则编码器计算(a)包括参考块的右边缘的CTU列((x0+BVx+wblock-1)/S),和(b)包括当前块的左边缘的CTU列(x0/S)。编码器随后检查包括参考块的右边缘的CTU列是否在包括当前块的左边缘的CTU列的左边。如果如此,则参考块必然包括先前重构的样本值。
第三约束的第三条件。当(y0+BVy+hblock-1)/S==y0/S并且(x0+BVx+wblock-1)/S==x0/S时,编码器检查位置(x0+BVx+wblock-1,y0+yBV+hblock-1)的z扫描次序是否小于位置(x0,y0)的z扫描次序。也就是说,如果包括参考块的下边缘的CTU行等于包括当前块的上边缘的CTU行(同一CTU行),并且包括参考块的右边缘的CTU列等于包括当前块的左边缘的CTU列(同一CTU列),则编码器检查参考块的右下位置是否在z扫描次序中比当前块的左上位置更早。第三条件在来自当前CU内的预测被允许的情况下应用。如果来自当前CU内的预测不被允许,则(x0,y0)应该是(xCU,yCU)。
第四约束。在WPP被启用时,编码器检查第四约束。对于第四约束,编码器验证(x0+BVx+wblock-1)/S-x0/S<=y0/S-(y0+BVy+hblock-1)/S。也就是说,编码器计算包括参考块的右边缘的CTU列和包括当前块的左边缘的CTU列之间的差异(x0+BVx+wblock-1)/S-x0/S。编码器还计算包括当前块的上边缘的CTU行和包括参考块的下边缘的CTU行之间的差异:y0/S-(y0+BVy+hblock-1)/S。编码器验证(CTU列之间的)第一差异小于或等于(CTU行之间的)第二差异。如图8或图18中从当前CTU向上并向右的各CTU的锯齿形行中示出的,这验证参考块是保证在WPP被启用时可用于预测的经重构内容的一部分。在WPP被启用时对帧内LC预测的偏移值的示例约束。
本章节详述编码器在WPP被启用时可对帧内LC预测强制实施的约束的示例。对于当前行,这些约束验证由偏移值指示的候选参考行包括在当前行被编码或解码时将可用的经重构的样本值,即使在WPP被启用时。
定义当前块在相对于当前图片的左上位置的位置(x0,y0)处开始。当前块的宽度和高度分别为wblock和hblock。当前块是当前CU的一部分。该CTU的尺寸为S。当前行的偏移值为(offsetx,offsety)。当前块中的L行已经被处理。
编码器定义当前块的当前行的开始位置和结束位置。位置(xcurr_line_start,ycurr_line_start)是当前行的开始位置,并且(xcurr_line_end,ycurr_line_end)是当前行的结束位置。当水平扫描(也被称为行模式)被使用时,每一行为当前块的行:(xcurr_line_start,ycurr_line_start)=(x0,y0+L)且(xcurr_line_end,ycurr_line_end)=(x0+wblock-1,y0+L)。当垂直扫描(也被称为列模式)被使用时,每一行为当前块的列:(xcurr_line_start,ycurr_line_start)=(x0+L,y0)且(xcurr_line_end,ycurr_line_end)=(x0+L,y0+hblock-1)。
编码器还定义预测当前行的候选参考行的开始位置和结束位置。位置(xref_line_start,yref_line_start)是参考行的开始位置。位置(xref_line_end,yref_line_end)是参考行的结束位置。参考行可以是行(在水平扫描被使用时)或列(在垂直扫描被使用时)。无论水平扫描(行模式)还是垂直扫描(列模式)被使用:(xref_line_start,yref_line_start)=(xcurr_line_start,ycurr_line_start)+(offsetx,offsety)且(xref_line_end,yref_end)=(xcurr_line_end,ycurr_line_end)+(offsetx,offsety)。
编码器验证所有以下约束被满足。对于这些约束中的一些,当前块的左上位置(x0,y0)被考虑。替换地,对于这样的约束,代替当前块的左上位置(x0,y0),当前行的开始位置(xcurr_line_start,ycurr_line_start)可被检查。
第一约束。编码器验证位置(x0,y0)和位置(xref_line_start,yref_line_start)在同一片中并在同一小块中。也就是说,编码器验证当前块的左上位置和参考行的开始位置在同一片中并在同一小块中。如果这两个位置在不同的片或不同的小块中,则第一约束不被满足。
第二约束。编码器验证位置(x0,y0)和位置(xref_line_end,yref_line_end)在同一片及同一小块中。也就是说,编码器验证当前块的左上位置和参考行的结束位置在同一片中且在同一小块中。如果这两个位置在不同的片或不同的小块中,则第二约束不被满足。
对于第一和第二约束,如果没有使用多个片,则被检查的两个位置必然在同一片中,并且针对片不需要检查第一和第二约束。类似地,如果没有使用多个小块,则被检查的两个位置必然在同一小块中,并且针对小块不需要检查第一和第二约束。当前行的所有位置都在单个片和单个小块中。如果第一和第二约束被满足,则参考行的所有位置也在那个片和小块中。编码器检查第一和第二约束,而不管WPP是否被启用。
第三约束。对于第三约束,编码器验证以下三个条件之一被满足。编码器检查第三约束,而不管WPP是否被启用。
第三约束的第一条件。编码器检查是否(yref_line_end/S<y0/S。也就是说,编码器计算包括参考行的下边缘或位置的CTU行:yref_line_end/S。编码器还计算包括当前块的上边缘的CTU行:y0/S。编码器随后检查包括参考行的下边缘或位置的CTU行是否在包括当前块的上边缘的CTU行上方。如果如此,至少在WPP没有被启用时,参考行必然包括先前重构的样本值。
第三约束的第二条件。当yref_line_end/S==y0/S时,编码器检查是否xref_line_end/S<x0/S。也就是说,如果包括参考行的下边缘或位置的CTU行等于包括当前块的上边缘的CTU行(同一CTU行),则编码器计算(a)包括参考行的右边缘或位置的CTU列(xref_line_end/S),和(b)包括当前块的左边缘的CTU列(x0/S)。编码器随后检查包括参考行的右边缘或位置的CTU列是否在包括当前块的左边缘的CTU列的左边。如果如此,则参考行必然包括先前重构的样本值。
第三约束的第三条件。当yref_line_end/S==y0/S且xref_line_end/S==x0/S时,编码器检查位置(xref_line_end,yref_line_end)的z扫描次序是否小于位置(xcurr_line_start,ycurr_line_start)的z扫描次序。也就是说,如果包括参考行的下边缘或位置的CTU行等于包括当前块的上边缘的CTU行(同一CTU行),并且包括参考行的右边缘或位置的CTU列等于包括当前块的左边缘的CTU列(同一CTU列),则编码器检查参考行的结束位置在z扫描次序中是否早于当前行的开始位置。第三条件在来自当前CU内的预测被允许的情况下应用。如果来自当前CU内的预测不被允许,则(xcurr_line_start,ycurr_line_start)应该是(x0,y0)。
第四约束。当WPP被启用时,编码器检查第四约束。对于第四约束,编码器验证xref_line_end/S-x0/S<=y0/S-yref_line_end/S。也就是说,编码器计算包括参考行的右边缘或位置的CTU列和包括当前块的左边缘的CTU列之间的差异:xref_line_end/S-x0/S。编码器还计算包括当前块的上边缘的CTU行和包括参考行的下边缘或位置的CTU行之间的差异:y0/S-yref_line_end/S。编码器验证(各CTU列之间的)第一差异小于或等于(各CTU行之间的)第二差异。
在WPP被启用时对帧内SC预测的偏移值的示例约束。
本章节详述了编码器在WPP被启用时可对帧内SC预测强制实施的约束的示例。对于当前串,约束验证由偏移值和长度值指示的候选参考串包括在当前串被编码或解码时将可用的经重构的样本值,即使在WPP被启用时。
定义。当前块在相对于当前图片的左上位置的位置(x0,y0)处开始。当前块的宽度和高度分别为wblock和hblock。当前块是当前CU的一部分。该CTU的尺寸为S。当前串的偏移(offset)值为(offsetx,offsety),并且当前串的串(string)长度(length)值为lengthstring。当前块的K个像素已使用帧内SC预测被处理。
编码器定义当前块的当前串(current string)的开始(start)位置和结束(end)位置。位置(xcurr_string_start,ycurr_string_start)是当前串的开始位置,并且(xcurr_string_end,ycurr_string_end)是当前串的结束位置。编码器还定义包含当前串的开始位置、当前串的结束位置以及当前串的开始和结束位置之间的任何位置(处于串扫描次序)的边界矩形。边界矩形的左上位置为(xcurr_rect_TL,ycurr_rect_TL)。边界矩形的右下位置为(xcurr_rect_BR,ycurr_rect_BR)。编码器将(包括参考串的)参考矩形定义为移位了偏移值的边界矩形。参考矩形的左上位置为(xref_rect_TL,yref_rect_TL)。边界矩形的右下位置为(xref_rect_BR,yref_rect_BR)。
在水平串扫描被使用时(即在当前块的某行中从左到右,并从顶行到底行),开始位置为(xcurr_string_start,ycurr_string_start)=(x0+K%wblock,y0+K/wblock)。结束位置是:(xcurr_string_end,ycurr_string_end)=(x0+(K+lengthstring-1)%wblock,y0+(K+lengthstring-1)/wblock)。在当前串的开始位置和结束位置在当前块的同一行中时,(xcurr_rect_TL,ycurr_rect_TL)=(xcurr_string_start,ycurr_string_start)并且(xcurr_rect_BR,ycurr_rect_BR)=(xcurr_string_end,ycurr_string_end)。否则,边界矩形的左上位置为(xcurr_rect_TL,ycurr_rect_TL)=(x0,y0+K/wblock),并且边界矩形的右下位置为(xcurr_rect_BR,ycurr_rect_BR)=(x0+wblock-1),y0+(K+lengthstring-1)/wblock)。
在垂直扫描被使用时(在当前块的列中从上到下,并从左列到右列),开始位置为:(xcurr_string_start,ycurr_string_start)=(x0+K/hblock,y0+K%hblock)。结束位置为:(xcurr_string_end,ycurr_string_end)=(x0+(K+lengthstring-1)/hblock,y0+(K+lengthstring-1)%hblock)。在当前串的开始位置和结束位置在当前块的同一列中时,(xcurr_rect_TL,ycurr_rect_TL)=(xcurr_string_start,ycurr_string_start)并且(xcurr_rect_BR,ycurr_rect_BR)=(xcurr_string_end,ycurr_string_end)。否则,边界矩形的左上位置为(xcurr_rect_TL,ycurr_rect_TL)=(x0+K/hblock,y0),并且边界矩形的右下位置为(xcurr_rect_BR,ycurr_rect_BR)=(x0+(K+lengthstring-1)/hblock),y0+hblock-1)。
不论水平扫描还是垂直扫描被使用,参考矩形的左上位置都为(xref_rect_TL,yref_rect_TL)=(xcurr_rect_TL,ycurr_rect_TL)+(offsetx,offsety),且参考矩形的右下位置都为(xref_rect_BR,yref_rect_BR)=(xcurr_rect_BR,ycurr_rect_BR)+(offsetx,offsety)。最后,参考串的开始位置为(xref_string_start,yref_string_start)=(xcurr_string_start,ycurr_string_start)+(offsetx,offsety)。
编码器验证所有下述约束被满足。对于这些约束中的一些,当前块的左上位置(x0,y0)被考虑。替换地,对于这样的约束,代替当前块的左上位置(x0,y0),可检查当前串的开始位置或边界矩形的左上位置。
第一约束。编码器验证位置(x0,y0)和位置(xref_rect_TL,yref_rect_TL)在同一片中并在同一小块中。也就是说,编码器验证当前块的左上位置和参考块的左上位置在同一片中并在同一小块中。如果这两个位置在不同的片或不同的小块中,则第一约束不被满足。
第二约束。编码器验证位置(x0,y0)和位置(xref_rect_BR,yref_rect_BR)在同一片中并在同一小块中。也就是说,编码器验证当前块的左上位置和参考矩形的右下位置在同一片中并在同一小块中。如果这两个位置在不同的片或不同的小块中,则第二约束不被满足。
对于第一和第二约束,如果没有使用多个片,则被检查的两个位置必然在同一片中,并且针对片不需要被检查第一和第二约束。类似地,如果没有使用多个小块,则被检查的两个位置必然在同一小块中,并且针对小块不需要检查第一和第二约束。当前串的所有位置是在单个片和单个小块中。如果第一和第二约束被满足,则参考矩形(并且此处为参考串)的所有位置也在那个片和小块中。编码器检查第一和第二约束,而不管WPP是否被启用。
第三约束。对于第三约束,编码器验证以下三个条件之一被满足。编码器检查第三约束,而不管WPP是否被启用。
第三约束的第一条件。编码器检查是否yref_rect_BR/S<y0/S。也就是说,编码器计算包括参考矩形的下边缘的CTU行:yref_rect_BR/S。编码器还计算包括当前块的上边缘的CTU行:y0/S。编码器随后检查包括参考矩形的下边缘的CTU行是否在包括当前块的上边缘的CTU行上方。如果如此,则至少在WPP没有被启用时,参考矩形必然包括先前重构的样本值。
第三约束的第二条件。当yref_rect_BR/S==y0/S时,编码器检查是否xref_rect_BR/S<x0/S。也就是说,如果包括参考矩形的下边缘的CTU行等于包括当前块的上边缘的CTU行(同一CTU行),则编码器计算(a)包括参考矩形的右边缘的CTU列(xref_rect_BR/S),和(b)包括当前块的左边缘的CTU列(x0/S)。编码器随后检查包括参考矩形的右边缘的CTU列是否在包括当前块的左边缘的CTU列的左边。如果如此,则参考矩形必然包括先前重构的样本值。
第三约束的第三条件。当yref_rect_BR/S==y0/S and xref_rect_BR/S==x0/S时,编码器检查是否位置(xref_rect_BR,yref_rect_BR)的z扫描次序小于位置(x0,y0)的z扫描次序。也就是说,如果包括参考矩形的下边缘的CTU行等于包括当前块的上边缘的CTU行(同一CTU行),且包括参考矩形的右边缘的CTU列等于包括当前块的左边缘的CTU列(同一CTU列),则编码器检查参考矩形的右下位置在z扫描次序中是否早于当前块的左上位置。
第三约束的第四条件。如果来自当前CU内的预测被允许,则当yref_string_start==y0时,编码器检查xref_string_start<x0。也就是说,如果来自当前CU内的预测被允许,则第三约束可在当前串和参考串在同一行开始,并且参考串在当前串的左边开始的情况下被满足。
第四约束。在WPP被启用时,编码器检查第四约束。对于第四约束,编码器验证xref_rect_BR/S-x0/S<=y0/S-yref_rect_BR/S。也就是说,编码器计算包括参考矩形的右边缘或位置的CTU列和包括当前块的左边缘的CTU列之间的差异:xref_rect_BR/S-x0/S。编码器还计算包括当前块的上边缘的CTU行和包括参考矩形的下边缘的CTU行之间的差异:y0/S-yref_rect_BR/S。编码器验证(CTU列之间的)第一差异小于或等于(CTU行之间的)第二差异。
第五约束。对于第五约束,编码器验证K+lengthstring<=wblock*hblock。也就是说,考虑已经被处理的位置的计数,编码器检查当前块包括当前串的足够位置。
F.替换和变型
在本文中描述的许多示例中,在分开的组件或过程中实现帧内复制预测和运动补偿,并且在分开的组件或过程中实现偏移估计和运动估计。替换地,帧内复制预测可被实现为运动补偿的特定情况,而偏移估计可被实现为运动估计的特定情况,对于这些情况,当前图片被用作参考图片。在这样的实现中,偏移值可以被信号化为MV值,但用于(在当前图片内)的帧内复制预测,而非图片间预测。当以下术语在本文中被使用时,“帧内复制预测”指示在当前图片内的预测,无论该预测是使用图片内预测模块、运动补偿模块、或某种其它模块提供的。类似地,可使用MV值或使用不同类型的参数或语法元素来表示BV值或其他偏移值,并且可使用图片内估计模块、运动补偿模块、或某种其它模块来提供偏移估计。
鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反,本发明的范围由后续的权利要求来界定。我们要求作为我们的发明保护落入这些权利要求范围和精神内的所有内容。

Claims (9)

1.一种在计算系统中的方法,包括:
在波前并行处理WPP被启用的情况下对图片进行编码,其中所述编码产生经编码的数据,包括对于调色板编码模式,使用来自所述图片的先前WPP行中的先前单元的先前调色板数据来预测所述图片的当前WPP行中的初始单元的调色板;以及
将所述经编码的数据作为比特流的一部分来输出;
其中使用来自所述图片的先前WPP行中的先前单元的先前调色板数据来预测所述图片的当前WPP行中的初始单元的调色板包括:
确定当前调色板是否与所述先前调色板数据相同;
如果相同,则指示将所述先前调色板数据作为所述当前调色板来被重新使用;
如果不同,则确定所述先前调色板数据和所述当前调色板之间的改变,并信号化指示这些改变的句法元素。
2.一种在计算系统中的方法,包括:
将经编码的数据作为比特流的一部分来接收;以及
在波前并行处理WPP被启用的情况下对所述经编码的数据进行解码,其中所述解码重构图片,包括对于调色板解码模式,使用来自所述图片的先前WPP行中的先前单元的先前调色板数据来预测所述图片的当前WPP行中的初始单元的调色板;
其中使用来自所述图片的先前WPP行中的先前单元的先前调色板数据来预测所述图片的当前WPP行中的初始单元的调色板包括:
确定当前调色板是否与先前调色板数据相同;
如果相同,则将所述先前调色板数据作为当前调色板重新使用;
如果不同,则接收并解析指示所述先前调色板数据和所述当前调色板之间的改变的句法元素。
3.如权利要求1或2所述的方法,其特征在于:
所述当前WPP行中的初始单元的调色板表示在所述当前WPP行中的初始单元中使用的至少一些色彩;
来自所述先前WPP行中的所述先前单元的所述先前调色板数据(a)表示在所述先前WPP行中的先前单元的调色板中使用的至少一些色彩或者(b)被所述先前WPP行中的先前单元继承;
所述先前WPP行紧接在所述当前WPP行上方;以及
所述先前WPP行中的先前单元在所述当前WPP行中的初始单元上方或在所述当前WPP行中的初始单元的右上方。
4.如权利要求1或2所述的方法,其特征在于,进一步包括:
使用来自所述图片的所述当前WPP行中的初始单元的调色板的调色板数据来预测所述图片的所述当前WPP行中的后续单元的调色板。
5.如权利要求1或2所述的方法,其特征在于,所述当前WPP行和所述先前WPP行是编码树单元行,并且其中所述当前WPP行中的初始单元以及所述先前WPP行中的先前单元是编码单元。
6.如权利要求1或2所述的方法,其特征在于,来自所述先前WPP行中的先前单元的所述先前调色板数据包括针对C个色彩中的每一者的一个或多个色彩分量值,并且其中C通过来自所述先前WPP中的先前单元的所述先前调色板数据的阈值计数来限制。
7.如权利要求1或2所述的方法,其特征在于,所述预测包括以下中的一者或多者:
确定是否将来自所述先前WPP行中的先前单元的所述先前调色板数据作为所述当前WPP行中的初始单元的调色板来重新使用;以及
从所述先前WPP行中的先前单元的所述先前调色板数据中选择一个或多个色彩以包括在所述当前WPP行中的初始单元的调色板中。
8.一个或多个存储计算机可执行指令的计算机可读介质,所述计算机可执行指令用于使得计算设备因此被编程为执行任一前述权利要求所述的方法。
9.一种被配置成执行如权利要求1-7中的任一项所述的方法的计算系统。
CN201480071878.2A 2014-09-30 2014-09-30 在波前并行处理被启用时对图片内预测模式的规则 Active CN105874795B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/087885 WO2016049839A1 (en) 2014-09-30 2014-09-30 Rules for intra-picture prediction modes when wavefront parallel processing is enabled

Publications (2)

Publication Number Publication Date
CN105874795A CN105874795A (zh) 2016-08-17
CN105874795B true CN105874795B (zh) 2019-11-29

Family

ID=55629266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480071878.2A Active CN105874795B (zh) 2014-09-30 2014-09-30 在波前并行处理被启用时对图片内预测模式的规则

Country Status (10)

Country Link
US (4) US10812817B2 (zh)
EP (2) EP3202150B1 (zh)
JP (1) JP2017535145A (zh)
KR (2) KR102330740B1 (zh)
CN (1) CN105874795B (zh)
AU (1) AU2014408228B2 (zh)
CA (2) CA2959682C (zh)
MX (1) MX2017004211A (zh)
RU (1) RU2679201C2 (zh)
WO (1) WO2016049839A1 (zh)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
CN105765974B (zh) 2013-10-14 2019-07-02 微软技术许可有限责任公司 用于视频和图像编码和解码的帧内块复制预测模式的特征
WO2015054812A1 (en) 2013-10-14 2015-04-23 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
RU2669005C2 (ru) 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
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
KR102268090B1 (ko) * 2014-03-14 2021-06-23 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN106797473A (zh) * 2014-10-01 2017-05-31 株式会社Kt 用于处理视频信号的方法和设备
GB2531001B (en) * 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US10666974B2 (en) * 2014-11-12 2020-05-26 Hfi Innovation Inc. Methods of escape pixel coding in index map coding
CN105704491B (zh) * 2014-11-28 2020-03-13 同济大学 图像编码方法、解码方法、编码装置和解码装置
EP3241351B1 (en) * 2015-01-30 2021-04-28 MediaTek Inc. Methods for entropy coding of source samples with large alphabet
WO2016124158A1 (en) * 2015-02-05 2016-08-11 Mediatek Inc. Methods and apparatus of decoding process for palette syntax
US9955185B2 (en) * 2015-02-12 2018-04-24 Mediatek Inc. Method and apparatus of constrained intra block copy for coding video
JP6711353B2 (ja) * 2015-06-05 2020-06-17 ソニー株式会社 画像処理装置および画像処理方法
GB2539211A (en) * 2015-06-08 2016-12-14 Canon Kk Enhanced coding and decoding using intra block copy mode
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US20160366439A1 (en) * 2015-06-12 2016-12-15 Qualcomm Incorporated Palette copy extension
CN107071450B (zh) * 2016-02-10 2021-07-27 同济大学 数据压缩的编码、解码方法及装置
US10764576B2 (en) 2016-05-04 2020-09-01 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
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
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
GB2570879B (en) * 2018-02-06 2022-08-17 Advanced Risc Mach Ltd Encoding data arrays
EP3777168B1 (en) * 2018-03-29 2023-07-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Accelerating video encoding and decoding
EP3806471A4 (en) * 2018-06-01 2022-06-08 Sharp Kabushiki Kaisha PICTURE DECODING DEVICE AND PICTURE CODING DEVICE
CN112655208B (zh) * 2018-07-09 2023-12-15 弗劳恩霍夫应用研究促进协会 用于编码图片的通用空间划分的编码器和解码器、编码方法和解码方法
US11606575B2 (en) 2018-07-10 2023-03-14 Qualcomm Incorporated Multiple history based non-adjacent MVPs for wavefront processing of video coding
TWI826532B (zh) 2018-09-19 2023-12-21 大陸商北京字節跳動網絡技術有限公司 基於歷史資訊的幀內模式編解碼
US11172236B2 (en) 2018-09-21 2021-11-09 Tencent America LLC Method and apparatus for video decoding that defines a search range for a reference block indicated by a block vector
US10848782B2 (en) 2018-09-21 2020-11-24 Tencent America LLC Method and apparatus for video coding
MX2021003682A (es) * 2018-10-04 2021-05-31 Lg Electronics Inc Metodo de codificacion de imagen a base de historial, y aparato del mismo.
AU2018278914A1 (en) * 2018-12-12 2020-07-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
AU2018278915A1 (en) * 2018-12-12 2020-07-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
WO2020130139A1 (ja) * 2018-12-21 2020-06-25 シャープ株式会社 動画像符号化装置および動画像復号装置
US11025935B2 (en) * 2019-01-10 2021-06-01 Tencent America LLC Method and apparatus for history based motion information buffer update with parallel processing capability
US10771799B2 (en) 2019-01-15 2020-09-08 Tencent America LLC Method and apparatus for video coding
WO2020169106A1 (en) 2019-02-24 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Determining conditions of screen content coding
US10924750B2 (en) * 2019-03-01 2021-02-16 Alibaba Group Holding Limited Palette size constraint in palette mode for video compression system
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
US11677969B2 (en) * 2019-03-22 2023-06-13 Tencent America LLC Method and apparatus for video coding
CN109982079B (zh) * 2019-04-03 2021-04-02 北京电子工程总体研究所 一种结合纹理空间相关性的帧内预测模式选择方法
KR20210154806A (ko) 2019-04-24 2021-12-21 바이트댄스 아이엔씨 코딩 된 비디오의 양자화된 잔차 차동 펄스 코드 변조 표현
CN113728631B (zh) * 2019-04-27 2024-04-02 北京字节跳动网络技术有限公司 帧内子块分割和多变换选择
EP3942799A4 (en) * 2019-05-01 2022-06-08 ByteDance Inc. INTRACODED VIDEO USING QUANTIZED RESIDUAL PULSE CODE MODULATION ENCODING
JP2022530240A (ja) 2019-05-02 2022-06-28 北京字節跳動網絡技術有限公司 複数の参照フィルタを使用するイントラビデオコーディング
CN113785306A (zh) 2019-05-02 2021-12-10 字节跳动有限公司 基于编解码树结构类型的编解码模式
WO2020231220A1 (ko) * 2019-05-15 2020-11-19 현대자동차주식회사 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치
CN113853789A (zh) * 2019-05-15 2021-12-28 现代自动车株式会社 用于运动图像数据的并行编码和解码的方法和装置
CN113906758A (zh) 2019-05-31 2022-01-07 字节跳动有限公司 调色板模式与帧内块复制预测
JP7328373B2 (ja) * 2019-06-28 2023-08-16 バイトダンス インコーポレイテッド スクリーンコンテンツ符号化におけるクロマイントラモードの導出
MX2022000110A (es) 2019-07-10 2022-02-10 Beijing Bytedance Network Tech Co Ltd Identificacion de muestras para la copia intra-bloque en codificacion de video.
CN114097221B (zh) * 2019-07-11 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的比特流一致性约束
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
CN114145013B (zh) 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
US11627327B2 (en) * 2019-08-05 2023-04-11 Qualcomm Incorporated Palette and prediction mode signaling
EP4000269A4 (en) 2019-08-15 2022-09-07 ByteDance Inc. PALLET MODE WITH DIFFERENT DIVISION STRUCTURES
KR20220044279A (ko) 2019-08-15 2022-04-07 바이트댄스 아이엔씨 팔레트 이스케이프 심벌에 대한 엔트로피 코딩
US20220295046A1 (en) * 2019-08-30 2022-09-15 Kt Corporation Method and device for processing video signal
KR20220053580A (ko) 2019-09-09 2022-04-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 블록 복제 코딩 및 디코딩
JP2022548220A (ja) 2019-09-10 2022-11-17 エックスリス、コーポレーション 映像信号符号化/復号化方法及びそのための装置
MX2022002617A (es) * 2019-09-12 2022-03-25 Bytedance Inc Uso de predictor de paleta en codificacion de video.
KR102624438B1 (ko) 2019-09-19 2024-01-15 바이트댄스 아이엔씨 팔레트 모드에 대한 양자화 파라미터 도출
WO2021188796A1 (en) 2020-03-20 2021-09-23 Bytedance Inc. Use of subpicture information in video coding
US20200228801A1 (en) * 2020-03-24 2020-07-16 Intel Corporation Content and quality adaptive wavefront split for parallel video coding
US11595694B2 (en) * 2020-04-01 2023-02-28 Tencent America LLC Method and apparatus for video coding
BR112022021342A2 (pt) 2020-04-20 2022-12-13 Bytedance Inc Método de processamento de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
CN115668924A (zh) 2020-05-21 2023-01-31 字节跳动有限公司 参考图片信息的约束
WO2021237178A1 (en) 2020-05-22 2021-11-25 Bytedance Inc. Coding of picture order count in video bitstreams
CN114827618B (zh) * 2020-06-02 2023-03-14 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法及相关设备
CN112073719B (zh) * 2020-08-21 2021-09-14 浙江大华技术股份有限公司 一种串匹配预测方法、装置、系统及计算机可读存储介质
CN114125464B (zh) * 2020-08-27 2024-02-06 扬智科技股份有限公司 视频解码方法与视频解码装置
US11627328B2 (en) 2020-10-16 2023-04-11 Tencent America LLC Method and apparatus for video coding
US11949894B2 (en) * 2020-12-07 2024-04-02 Tencent America LLC Method and apparatus for string matching with reference location constraints
US11503336B2 (en) * 2020-12-07 2022-11-15 Tencent America LLC Method and apparatus for video coding
CA3229953A1 (en) * 2021-08-26 2023-03-02 Yue Yu Operation range extension for versatile video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103238332A (zh) * 2010-12-28 2013-08-07 松下电器产业株式会社 运动图像解码方法、运动图像编码方法、运动图像解码装置、运动图像编码装置以及运动图像编解码装置

Family Cites Families (311)

* 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
US8505108B2 (en) 1993-11-18 2013-08-06 Digimarc Corporation Authentication using a digital watermark
US5508942A (en) 1993-11-24 1996-04-16 Intel Corporation Intra/inter decision rules for encoding and decoding video signals
US5999189A (en) 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
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 動き補償予測回路
BR0009534B1 (pt) 1999-04-02 2012-01-24 disco ótico, método e dispositivo de gravação para gravação de um disco ótico e método e dispositivo de reprodução para reprodução de um disco ótico.
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
US7031540B2 (en) 2001-09-12 2006-04-18 Mobitv, 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
DK1487113T3 (da) 2002-05-02 2006-11-20 Fraunhofer Ges Forschung Kodning og afkodning af transformationskoefficienter i billede- eller videokodere
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US7085420B2 (en) 2002-06-28 2006-08-01 Microsoft Corporation Text detection in continuous tone image segments
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7072512B2 (en) 2002-07-23 2006-07-04 Microsoft Corporation Segmentation of digital video and images into continuous tone and palettized regions
BR0317962A (pt) 2003-01-10 2005-11-29 Thomson Licensing Sa Aparelho decodificador e método para suavizar artefatos criados durante ocultação de erro
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
KR101050828B1 (ko) 2003-08-26 2011-07-21 톰슨 라이센싱 하이브리드 인트라-인터 코딩된 블록을 디코딩하기 위한 방법 및 장치
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
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
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 画像符号化装置
JP2006140758A (ja) 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
US7720154B2 (en) 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
KR100679035B1 (ko) 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
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 画像符号化装置および画像符号化方法
DE602006005689D1 (de) 2005-08-19 2009-04-23 Ericsson Telefon Ab L M Texturkomprimierung auf der basis zweier farbtöne mit modifizierter helligkeit
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
US8582905B2 (en) 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
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
WO2007119198A1 (en) 2006-04-14 2007-10-25 Nxp B.V. Motion estimation at image borders
US7965861B2 (en) 2006-04-26 2011-06-21 The Board Of Regents Of The University Of Texas System Methods and systems for digital image security
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
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
CN102833544A (zh) 2006-09-22 2012-12-19 汤姆森许可贸易公司 多通道视频编码和解码的方法及装置
US20080084924A1 (en) 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US8170101B2 (en) 2006-10-27 2012-05-01 Sharp Laboratories Of America, Inc. Methods and systems for low-complexity data compression
US8218640B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
JP2008154015A (ja) 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
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 清华大学 基于背景的运动估计编码方法
ES2393226T3 (es) 2007-02-23 2012-12-19 Nippon Telegraph And Telephone Corporation Método de predicción Intra de codificación de video y método de descodificación, su dispositivo, su programa y medio de programa grabado
US8031937B2 (en) 2007-04-04 2011-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Frame buffer compression and decompression method for graphics rendering
US8160150B2 (en) 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
WO2008130367A1 (en) 2007-04-19 2008-10-30 Thomson Licensing Adaptive reference picture data generation for intra prediction
US7903873B2 (en) 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
CN101420606A (zh) 2007-10-23 2009-04-29 青岛海信电器股份有限公司 图像处理方法和装置
KR101365444B1 (ko) 2007-11-19 2014-02-21 삼성전자주식회사 영상의 해상도의 조정을 통하여 동영상을 효율적으로부호화/복호화하는 방법 및 장치
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 深圳市融创天下科技发展有限公司 一种用于视频编码的空间预测方法
JP5413923B2 (ja) 2008-04-11 2014-02-12 トムソン ライセンシング 変位イントラ予測およびテンプレート・マッチングのためのデブロッキング・フィルタリング
JP2009260473A (ja) 2008-04-14 2009-11-05 Canon Inc 色処理方法及び装置、プログラム、記録媒体
JP2010035137A (ja) 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
CN102113326A (zh) 2008-08-04 2011-06-29 杜比实验室特许公司 重叠块差异估计和补偿体系结构
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
US8345994B2 (en) 2009-02-02 2013-01-01 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
US8837587B2 (en) 2009-06-22 2014-09-16 Thomson Licensing Process for coding and decoding video data of a sequence of images and corresponding encoder and decoder
US20120275518A1 (en) 2009-07-10 2012-11-01 Shinya Kadono Moving picture coding method, apparatus, program, and integrated circuit
CN101626512A (zh) 2009-08-11 2010-01-13 北京交通大学 一种基于相关性优化准则的多描述视频编码方法及装置
EP2485490B1 (en) 2009-10-01 2015-09-30 SK Telecom Co., Ltd. Method and apparatus for encoding/decoding image using split layer
EP2493195A1 (en) 2009-10-20 2012-08-29 Sharp Kabushiki Kaisha Video encoding device, video decoding device, and data structure
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
JP5321426B2 (ja) 2009-11-26 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法
KR101623124B1 (ko) 2009-12-03 2016-05-24 에스케이 텔레콤주식회사 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
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 富士通株式会社 画像処理装置、画像処理方法、および画像処理プログラム
WO2011121227A1 (fr) 2010-03-31 2011-10-06 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en œuvre une prediction par compensation de mouvement avant, flux et programme d'ordinateur correspondants
CN105472386B (zh) 2010-04-09 2018-09-18 Lg电子株式会社 处理视频数据的方法和装置
US8644375B2 (en) 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8619857B2 (en) 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
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 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
US9036932B2 (en) 2010-06-21 2015-05-19 Thomson Licensing Method and apparatus for encoding/decoding image data
CN106851292A (zh) 2010-07-02 2017-06-13 数码士有限公司 用于帧内预测的解码图像的方法
KR101484281B1 (ko) 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
PT2594076T (pt) 2010-07-14 2017-04-05 Ntt Docomo Inc Intra previsão de complexidade reduzida para codificação de vídeo
CN103119937B (zh) 2010-07-20 2016-02-10 Sk电信有限公司 用于解块滤波的方法和装置以及利用该方法和装置进行编码和解码的方法和装置
CN107071491B (zh) 2010-11-04 2020-11-03 Ge视频压缩有限责任公司 支持区块合并和跳过模式的图像编码
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 에스케이텔레콤 주식회사 인트라예측모드의 중복성을 최소화하기 위한 영상 부호화/복호화 방법 및 장치
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
KR20120080122A (ko) 2011-01-06 2012-07-16 삼성전자주식회사 경쟁 기반의 다시점 비디오 부호화/복호화 장치 및 방법
KR101929026B1 (ko) 2011-01-07 2018-12-13 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
KR102222957B1 (ko) 2011-01-14 2021-03-04 지이 비디오 컴프레션, 엘엘씨 엔트로피 인코딩 및 디코딩 방식
WO2012097376A1 (en) 2011-01-14 2012-07-19 General Instrument Corporation Spatial block merge mode
WO2012097377A1 (en) 2011-01-14 2012-07-19 General Instrument Corporation Joint spatial and temporal block merge mode for hevc
US8755437B2 (en) 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
CN103329534B (zh) 2011-01-19 2017-03-08 瑞萨电子株式会社 图像编码装置及图像解码装置
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
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
US9788019B2 (en) 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
AU2011362447B2 (en) 2011-03-14 2015-09-24 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
US9374598B2 (en) 2011-03-21 2016-06-21 Lg Electronics Inc. Method for selecting motion vector predictor and device using same
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
RU2647652C1 (ru) 2011-04-21 2018-03-16 Самсунг Электроникс Ко., Лтд. Способ квантования коэффициентов кодирования с линейным предсказанием, способ кодирования звука, способ деквантования коэффициентов кодирования с линейным предсказанием, способ декодирования звука и носитель записи
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
WO2012157443A1 (ja) 2011-05-16 2012-11-22 ソニー株式会社 画像処理装置、及び、画像処理方法
CN102238391B (zh) 2011-05-25 2016-12-07 深圳市云宙多媒体技术有限公司 一种预测编码方法、装置
JP5727873B2 (ja) 2011-06-10 2015-06-03 日本放送協会 動きベクトル検出装置、符号化装置、及びこれらのプログラム
WO2012175003A1 (en) 2011-06-20 2012-12-27 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
KR101566848B1 (ko) 2011-06-24 2015-11-06 미디어텍 인크. 모션 벡터 예측기에서의 중복성을 제거하는 방법 및 장치
MY169636A (en) 2011-06-27 2019-04-24 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
WO2013003823A1 (en) 2011-06-30 2013-01-03 Huawei Technologies, Co., Ltd. Lossless coding and associated signaling methods for compound video
US9060173B2 (en) 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
EP2705668A1 (en) 2011-07-12 2014-03-12 Huawei Technologies Co., Ltd Pixel-based intra prediction for coding in hevc
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
CN103748877B (zh) 2011-08-17 2017-05-10 联发科技(新加坡)私人有限公司 帧内预测方法和装置
MX343471B (es) 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion 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
CN103999468A (zh) 2011-10-21 2014-08-20 诺基亚公司 用于视频编码的方法和装置
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.
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
BR112014011150B1 (pt) 2011-11-08 2022-08-09 Google Technology Holdings LLC Método de determinação de palavras de código binárias para coeficientes de transformada
CN104094601B (zh) 2011-11-08 2018-01-19 谷歌技术控股有限责任公司 用于采样自适应偏移编码和/或信令的装置和方法
CN103918273B (zh) 2011-11-08 2017-11-17 谷歌技术控股有限责任公司 确定用于变换系数的二进制码字的方法
EP2777284B1 (en) 2011-11-11 2018-09-05 GE Video Compression, LLC 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
EP2781091B1 (en) 2011-11-18 2020-04-08 GE Video Compression, LLC Multi-view coding with efficient residual handling
CN103621097B (zh) 2011-11-25 2018-04-24 太阳专利托管公司 图像处理方法及图像处理装置
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 画像処理装置および方法
JP2013150215A (ja) 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
CA2861951C (en) 2012-01-20 2020-08-11 Thomas Schierl Coding concept allowing parallel processing, transport demultiplexer and video bitstream
US9210438B2 (en) 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
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
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
WO2013148002A2 (en) 2012-03-26 2013-10-03 Euclid Discoveries, Llc Context based video encoding and decoding
US20130258052A1 (en) 2012-03-28 2013-10-03 Qualcomm Incorporated Inter-view residual prediction in 3d video coding
US10129540B2 (en) 2012-04-10 2018-11-13 Texas Instruments Incorporated Reduced complexity coefficient transmission for adaptive loop filtering (ALF) in 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
CA2864002A1 (en) 2012-04-24 2013-10-31 Mediatek Inc. Method and apparatus of motion vector derivation for 3d video coding
US9521410B2 (en) 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US20130294524A1 (en) 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
US9762903B2 (en) 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9621905B2 (en) 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
CN102752595B (zh) 2012-06-29 2014-07-09 香港应用科技研究院有限公司 用于深度图编码和解码的混合型跳过模式
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9467692B2 (en) 2012-08-31 2016-10-11 Qualcomm Incorporated Intra prediction improvements for scalable video coding
US20140071235A1 (en) 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
CA2882792C (en) 2012-09-26 2021-08-03 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN104685881B (zh) 2012-09-28 2018-05-15 夏普株式会社 图像解码装置、图像编码装置以及图像解码方法
WO2014053099A1 (en) 2012-10-03 2014-04-10 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 华为技术有限公司 深度图像的编解码方法和编解码装置
EP2944080B1 (en) 2013-01-11 2018-09-12 HFI Innovation Inc. Method and apparatus for efficient coding of depth lookup table
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
US11259020B2 (en) 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
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
US9609336B2 (en) 2013-04-16 2017-03-28 Fastvdo Llc Adaptive coding, transmission and efficient display of multimedia (acted)
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 上海交通大学 基于滚动哈希和块级别帧内预测的帧内编码方法
US9787989B2 (en) 2013-06-11 2017-10-10 Blackberry Limited Intra-coding mode-dependent quantization tuning
CN111800641B (zh) 2013-06-13 2023-08-25 上海天荷电子信息有限公司 同模式采用不同种类重构像素的图像编码解码方法和装置
US10104374B2 (en) 2013-06-18 2018-10-16 Vid Scale, Inc. Inter-layer parameter set for HEVC extensions
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
US20150016533A1 (en) * 2013-07-12 2015-01-15 Qualcomm Incorporated Intra motion compensation extensions
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US20150016516A1 (en) 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
US9756347B2 (en) 2013-07-23 2017-09-05 Futurewei Technologies, Inc. Screen content coding systems and methods
WO2015010226A1 (en) 2013-07-24 2015-01-29 Qualcomm Incorporated Simplified advanced motion prediction for 3d-hevc
CN112383781B (zh) 2013-08-16 2023-05-02 上海天荷电子信息有限公司 参考块的位置决定其重构阶段的块匹配编解码方法和装置
US9774879B2 (en) 2013-08-16 2017-09-26 Sony Corporation Intra-block copying enhancements for HEVC in-range-extension (RExt)
CN103428498A (zh) 2013-08-21 2013-12-04 江苏新瑞峰信息科技有限公司 一种无损图像压缩系统
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
WO2015054812A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
CN105765974B (zh) 2013-10-14 2019-07-02 微软技术许可有限责任公司 用于视频和图像编码和解码的帧内块复制预测模式的特征
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
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
US10834412B2 (en) 2013-12-10 2020-11-10 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding blocks of pixel
RU2653270C2 (ru) 2013-12-10 2018-05-07 Кэнон Кабусики Кайся Улучшенный палитровый режим в hevc
WO2015090219A1 (en) 2013-12-18 2015-06-25 Mediatek Inc. Method and apparatus for palette initialization and management
WO2015091879A2 (en) 2013-12-19 2015-06-25 Canon Kabushiki Kaisha Improved encoding process using a palette mode
GB2521606A (en) 2013-12-20 2015-07-01 Canon Kk Method and apparatus for transition encoding in video coding and decoding
TWI536811B (zh) 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
US10230983B2 (en) 2013-12-30 2019-03-12 Qualcomm Incorporated Simplification of delta DC residual coding in 3D video coding
CN105900432B (zh) 2014-01-02 2019-05-10 Vid拓展公司 用于屏幕内容编码的二维调色板编码
US9872040B2 (en) 2014-01-02 2018-01-16 Qualcomm Incorporated Color index coding for palette-based video coding
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
RU2669005C2 (ru) 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
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
US20150237356A1 (en) 2014-02-18 2015-08-20 Microsoft Corporation Host encoder for hardware-accelerated video encoding
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
KR101908205B1 (ko) 2014-02-21 2018-10-15 미디어텍 싱가폴 피티이. 엘티디. 인트라 화상 블록 카피에 기초한 예측을 이용하는 비디오 코딩 방법
CA2939431C (en) 2014-03-04 2020-09-22 Microsoft Techology Licensing, Llc Block flipping and skip mode in intra block copy prediction
CN105393537B (zh) 2014-03-04 2019-08-27 微软技术许可有限责任公司 用于基于散列的块匹配的散列表构建和可用性检查
US20150262404A1 (en) 2014-03-13 2015-09-17 Huawei Technologies Co., Ltd. Screen Content And Mixed Content Coding
KR102268090B1 (ko) 2014-03-14 2021-06-23 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
US9681135B2 (en) * 2014-03-14 2017-06-13 Hfi Innovation Inc. Method for palette table initialization and management
EP3108658B1 (en) 2014-03-14 2020-05-06 HFI Innovation Inc. Method of color index coding with palette stuffing
KR20220133337A (ko) 2014-03-16 2022-10-04 브이아이디 스케일, 인크. 무손실 비디오 코딩의 시그널링을 위한 방법 및 장치
US20150264348A1 (en) * 2014-03-17 2015-09-17 Qualcomm Incorporated Dictionary coding of video content
US20150312573A1 (en) * 2014-03-17 2015-10-29 Nokia Technologies Oy Method and technical equipment for video encoding and decoding
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
US9654806B2 (en) 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
CN103957412B (zh) 2014-05-06 2017-04-12 北京大学 一种针对屏幕视频帧间残差的基础色索引映射算法
EP3140987A4 (en) 2014-05-09 2017-12-06 Nokia Technologies Oy Method and technical equipment for video encoding and decoding using palette coding
AU2014202682A1 (en) 2014-05-16 2015-12-03 Canon Kabushiki Kaisha Method, apparatus and system for copying a block of video samples
US10038915B2 (en) 2014-05-22 2018-07-31 Qualcomm Incorporated Escape sample coding in palette-based video coding
US10264285B2 (en) 2014-05-22 2019-04-16 Qualcomm Incorporated Coding runs in palette-based video coding
US10750198B2 (en) 2014-05-22 2020-08-18 Qualcomm Incorporated Maximum palette parameters in palette-based video coding
US10291940B2 (en) 2014-05-23 2019-05-14 Qualcomm Incorporated Coding runs with escape in palette-based video coding
US10382749B2 (en) 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding
US11323733B2 (en) 2014-05-23 2022-05-03 Qualcomm Incorporated Predictor palette initialization in palette-based video coding
AU2014202921B2 (en) 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
US10136141B2 (en) 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
US9924175B2 (en) 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
CN106576178B (zh) 2014-06-19 2020-03-13 Vid拓展公司 采用块向量导出的帧内块复制编码的方法
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
KR101748620B1 (ko) 2014-06-20 2017-07-04 성균관대학교산학협력단 영상의 부호화/복호화 방법 및 이를 이용하는 장치
WO2015194187A1 (en) 2014-06-20 2015-12-23 Sharp Kabushiki Kaisha Harmonized palette coding
US9948949B2 (en) 2014-06-20 2018-04-17 Qualcomm Incorporated Intra block copy block vector signaling for video coding
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
AU2014216056A1 (en) 2014-08-25 2016-03-10 Canon Kabushiki Kaisha Method, apparatus and system for predicting a block of video samples
US10812817B2 (en) * 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US20160112713A1 (en) 2014-10-20 2016-04-21 Google Inc. Mapping spherical image to 2d representations
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
WO2016172314A1 (en) 2015-04-21 2016-10-27 Vid Scale, Inc. Artistic intent based video coding
US10638140B2 (en) 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10062181B1 (en) 2015-07-30 2018-08-28 Teradici Corporation Method and apparatus for rasterizing and encoding vector graphics
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103238332A (zh) * 2010-12-28 2013-08-07 松下电器产业株式会社 运动图像解码方法、运动图像编码方法、运动图像解码装置、运动图像编码装置以及运动图像编解码装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FAST INTRA BLOCK COPY(INTRABC) SEARCH FOR HEVC SCREEN CONTENT CODING;KWON DO-KYOUNG ET AL;《2014 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS》;20140724;全文 *
Non-RCE3: 2-D MV Supported Intra Motion Compensation;PANG C ET AL;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-TSG16 WP3 and ISO/IEC JTC 1/SC29/WG11》;20130716;全文 *
Non-RCE4: Major color table (palette) sharing;LAI P ET AL;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-TSG16 WP3 and ISO/IEC JTC 1/SC29/WG11》;20140104;第一页到第七页 *
Non-SCCE3: Palette predictor resetting;SEREGIN V ET AL;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-TSG16 WP3 and ISO/IEC JTC 1/SC29/WG11》;20140709;第一页到第五页 *
Wavefront Parallel Processing for HEVC Encoding and Decoding;GORDON C ET AL;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-TSG16 WP3 and ISO/IEC JTC 1/SC29/WG11》;20110101;全文 *

Also Published As

Publication number Publication date
CA2959682A1 (en) 2016-04-07
EP3202150A1 (en) 2017-08-09
EP3202150A4 (en) 2017-12-20
EP3917146A1 (en) 2021-12-01
CA2959682C (en) 2022-12-06
US11363283B2 (en) 2022-06-14
MX2017004211A (es) 2017-11-15
US11758162B2 (en) 2023-09-12
US20170238001A1 (en) 2017-08-17
KR102330740B1 (ko) 2021-11-23
RU2679201C2 (ru) 2019-02-06
RU2017110397A (ru) 2018-10-01
BR112017004041A2 (pt) 2017-12-05
KR20170063885A (ko) 2017-06-08
KR20210040195A (ko) 2021-04-12
KR102245704B1 (ko) 2021-04-27
AU2014408228A1 (en) 2017-03-16
CN105874795A (zh) 2016-08-17
WO2016049839A1 (en) 2016-04-07
US20230353767A1 (en) 2023-11-02
RU2017110397A3 (zh) 2018-10-01
CA3171803A1 (en) 2016-04-07
JP2017535145A (ja) 2017-11-24
US20200404301A1 (en) 2020-12-24
US20220264131A1 (en) 2022-08-18
AU2014408228B2 (en) 2019-09-19
US10812817B2 (en) 2020-10-20
EP3202150B1 (en) 2021-07-21

Similar Documents

Publication Publication Date Title
CN105874795B (zh) 在波前并行处理被启用时对图片内预测模式的规则
CN105917648B (zh) 具有非对称分区的帧内块复制预测以及编码器侧搜索图案、搜索范围和用于分区的方法
CN105874791B (zh) 在对重叠区域内的经重构样本值的块向量预测和估计方面的创新
CN105393537B (zh) 用于基于散列的块匹配的散列表构建和可用性检查
CN105359531B (zh) 用于针对屏幕内容编码的编码器侧判定的方法和系统
CN105264888B (zh) 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
CN106416254B (zh) 在媒体编码期间跳过评估阶段
CN105765974B (zh) 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN105659602B (zh) 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN105706450B (zh) 根据基于散列的块匹配的结果的编码器决定
CN105230023B (zh) 色彩空间、色彩采样率和/或比特深度的自适应切换
CN105556971B (zh) 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
CN106797479B (zh) 对于并行处理的帧内块复制预测限制
CN105981382B (zh) 用于视频编码的基于散列的编码器判定
CN105432077B (zh) 在切换色彩空间时调整量化/缩放和逆量化/缩放
CN105900420B (zh) 选择运动向量精度
CN105659606B (zh) 用于视频和图像编码和解码的方法、系统和介质
CN105493505B (zh) 统一的帧内块复制和帧间预测模式
CN106464881B (zh) 块自适应颜色空间转换译码的方法和装置
CN105684409B (zh) 在视频和图像编码和解码中使用散列值来表示各块
CN105917650A (zh) 视频和图像编码/解码中的块向量预测
CN109716771A (zh) 用于视频译码的线性模型色度帧内预测
CN104205829B (zh) 合并信令及环路滤波器开/关信令
CN104704843B (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