CN105432082B - 用于兴趣区编码的运动约束图块集合 - Google Patents

用于兴趣区编码的运动约束图块集合 Download PDF

Info

Publication number
CN105432082B
CN105432082B CN201380075400.2A CN201380075400A CN105432082B CN 105432082 B CN105432082 B CN 105432082B CN 201380075400 A CN201380075400 A CN 201380075400A CN 105432082 B CN105432082 B CN 105432082B
Authority
CN
China
Prior art keywords
segment
picture
mcts
segment set
control data
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
CN201380075400.2A
Other languages
English (en)
Other versions
CN105432082A (zh
Inventor
吴勇军
G.J.萨利文
Y.张
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 CN105432082A publication Critical patent/CN105432082A/zh
Application granted granted Critical
Publication of CN105432082B publication Critical patent/CN105432082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Landscapes

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

Abstract

运动约束图块集合(“MCTS”)的控制数据表明指定图块集合内部的画面间预测处理被约束成只涉及依照解码(或编码)顺序排列的先前画面中的相同图块集合内部的区域。例如,视频编码器对被分成图块的多个画面进行编码来产生编码数据。该编码器输出编码数据以及控制数据(例如在补充增强信息消息中),并且该控制数据表明一个或多个图块的指定图块集合在图块集合边界上的画面间预测依赖性受到约束。视频解码器或其他工具接收编码数据和MCTS控制数据,并且对编码数据进行处理。用信号传递和使用MCTS控制数据可以促成兴趣区解码和显示,通过转码来将编码数据局限于选定的图块集合,丢失鲁棒性,编码和/或解码的并行化,以及其他视频处理。

Description

用于兴趣区编码的运动约束图块集合
背景技术
工程师使用压缩处理(也被称为源编码或信源编码)来减小数字视频比特率。该压缩处理通过将信息转换成低比特率的形式来降低存储和传送视频信息的成本。解压缩处理(也被称为解码)则是从压缩形式中重建初始信息版本。一个“编解码器”即为一个编码器/解码器***。
在过去的二十年中,采用了不同的视频编解码标准,包括ITU-T H.261、H.262(MPEG-2或ISO/IEC 13818-2)、H.263和H.264(AVC或ISO/IEC 14496-10)标准,MPEG-1(ISO/IEC 11172-2和MPEG-4Visual(ISO/IEC 14496-2)标准,以及SMPTE 421M标准。最近,HEVC标准(ITU-T H.265或ISO/IEC 23008-2)业已获得批准。视频编解码标准通常定义编码视频比特流语法的选项,由此详尽说明在将特定特征用于编码和解码处理时的比特流参数。在很多情况下,视频编解码标准还提供了与解码器应执行、以便在解码过程中得到一致结果的解码操作相关的细节。除了编解码标准之外,各种专用的编解码格式还定义了与编码视频比特流的语法有关的其他选项以及相应的解码操作。
在2013年1月发布的HEVC标准的版本中(参见Bross等人于2013年1月发表于JCTVC-L1003_v34的“High Efficiency Video Coding(HEVC)Text Specification Draft8”)中,画面可被分成多个图块(tile),并且这些图块是矩形区域。当语法元素tiles_enabled_flag等于1时,画面是用图块构造的。该图块限定了画面内部的水平和垂直边界,并且在画面内部依照图块列和图块行组织。在使用图块时,HEVC比特流语法和HEVC解码处理被构造成消除同一画面内部的图块边界上的画面内(intra-picture)预测依赖性,以及消除同一画面内部的图块边界上的熵解码依赖性。然而,对于图块边界来说,依照2013年1月发布的HEVC标准版本,其画面间(inter-picture)预测依赖性并未受到约束。
发明内容
总的来说,这里的详细描述给出的是在用信号传递(signaling)和使用运动约束图块集合(“MCTS”)的控制数据方面的创新。例如,此类创新支持用信号传递以及使用该控制数据,由此指示一个或多个指定图块集合内部的画面间预测处理被约束成只涉及其他画面中的每一个相应图块集合内部的区域。这样做可以促成兴趣区编码、解码以及显示、转码以将编码数据局限于选定的图块集合,丢失鲁棒性(loss robustness),以及将编码和/或解码并行化。
根据这里描述的创新的一个方面,一种视频编码器或其他工具编码多个画面来产生编码数据,其中每个画面被分成多个图块。例如,该工具确定是否约束图块集合的特定边界上的画面间预测依赖性,如果是的话,则在编码过程中约束运动估计,由此回避该图块集合的特定边界上的画面间预测依赖性。在一些实施方式中,该特定边界是从一个画面到另一个画面的相同图块集合的边界,但在其他实施方式中,该特定边界可以是另一图块集合或是用于画面间预测的一个或多个别的区域的边界。该工具输出编码数据和控制数据,其中该控制数据表明多个图块中的一个或多个图块的指定图块集合的特定边界上的画面间预测依赖性受到约束。约束多个图块集合的画面间预测依赖性,可以促使在编码过程中使用并行处理,还能帮助提供兴趣区解码功能或渐进式解码器刷新功能。
根据这里描述的创新的另一个方面,一种视频解码器或其他工具接收多个画面的编码数据,其中所述多个画面中的每个画面被分成多个图块。该工具还接收控制数据,并且该控制数据表明多个图块中的一个或多个图块的指定图块集合的特定边界上的画面间预测依赖性受到约束。然后,该工具对编码数据进行处理,例如解码画面内部作为兴趣区的指定图块集合,但不解码指定图块集合以外的画面部分。或者,作为编码数据处理的一部分,该工具对编码数据进行转码,由此移除指定图块集合以外的画面部分的编码数据,以及将指定图块集合的编码数据组织成新比特流。或者,作为编码数据处理的一部分,一旦检测到损失了指定图块集合之外的至少一些编码数据,那么作为损失恢复处理的一部分,解码器解码该指定图块集合。此外,约束多个图块集合的画面间预测依赖性,还可以促成在解码过程中使用并行处理。
在例示的实施方式中,指定图块集合在控制数据中被参数化成包含该图块集合中的一个或多个图块的一个或多个图块矩形。例如,对图块集合中的指定图块矩形来说,控制数据包含了用于标识该图块矩形的两个拐角(例如图块矩形的左上角和图块矩形的右下角)的语法元素。该控制数据还可以包括图块集合的标识符,用于指示图块集合中的图块矩形个数的计数参数,以及用于表明图块集合中的每个图块矩形的图块矩形位置的语法元素。
在例示实施方式中,多个画面以相同的方式划分,以便产生每一个画面内部的图块。通常,对于每一个画面而言,指定图块集合都是相同的。然而在一些情况中,至少在一些画面之间,该图块集合有可能存在差异。作为替换,不同画面可以用不同方式划分成图块。
在例示的实施方式中,控制数据是一个用于指示图块集合的图块集合边界上的画面间预测依赖性受到约束的辅助增强信息(“SEI”)消息。一个SEI消息针对的是单个图块集合的画面间预测依赖性,并且不同的SEI消息可以针对不同图块集合。作为替换,单个SEI消息针对的是多个图块集合中的每一个图块集合的画面间预测依赖性。或者,作为SEI消息的替换,控制数据可以是一个标记,所述标记的值表明是否对图块集合的图块集合边界上的画面间预测依赖性进行约束。或者,该控制数据还可以采用其他某种形式。
这种用信号传递和使用MCTS控制数据既可以作为方法的一部分来实施,也可以作为被适配成执行所述方法的计算设备的一部分来实施,还可以作为存储了导致计算设备执行所述方法的计算机可执行指令的有形计算机可读媒体的一部分来实施。
从后续参考附图进行的详细描述中将更清楚地了解本发明的前述和其他目标、特征及优点。
附图说明
图1是可以实施所描述的一些实施例的例示计算***的图示。
图2a和2b是可以实施所描述的一些实施例的例示网络环境的图示。
图3是可以协同实施所描述的一些实施例的例示编码器***的图示。
图4是可以协同实施所描述的一些实施例的例示解码器***的图示。
图5a和5b是示出了可以协同实施所描述的一些实施例的例示视频编码器的图示。
图6是示出了可以协同实施所描述的一些实施例的例示视频解码器的图示。
图7a-7g是示出了被分成图块的例示帧的图示,其中所述图块可被组织成图块集合。
图8是示出了在未对图块集合边界上的运动进行约束的情况下的用于图块集合中的预测单元的运动估计和运动补偿预测的图示。
图9是示出了在对图块集合边界上的运动进行约束的情况下的用于图块集合中的预测单元的运动估计和运动补偿预测的图示。
图10是示出了用于带有MCTS的画面的并行编码和并行解码示例的图示。
图11是示出了用于带有MCTS的画面的兴趣区解码示例的图示。
图12是示出了用于带有MCTS的画面的转码处理示例的图示。
图13是示出了用于带有MCTS的画面的渐进式解码器刷新功能的示例的图示。
图14a-14c是示出了例示实施方式中的用于MCTS的SEI消息语法的表格。
图15是示出了用信号传递MCTS控制数据的概括性技术的流程图。
图16是示出了通过有选择地使用MCTS来编码的例示技术的流程图。
图17是示出了用于处理与MCTS控制数据一起用信号传递的编码数据的概括性技术的流程图。
具体实施方式
本具体实施方式部分给出的是用信号传递和/或使用运动约束图块集合(“MCTS”)的控制数据的方法。特别地,本具体实施方式部分给出的是针对用信号传递和使用控制数据的创新,其中该控制数据表明指定图块集合内部的画面间预测处理被约束成只涉及其他画面中的相同图块集合内部的区域。在不同示例中给出了MCTS控制数据的辅助增强信息(“SEI”)消息的语法和语义。所述MCTS控制数据可以促成兴趣区解码和显示处理的复杂度伸缩性(complexity scalability),将编码数据局限于选定图块集合的转码处理,丢失鲁棒性以及并行编码和/或解码。
虽然这里描述的操作在某些地方被描述成是由编码器(例如视频编码器)、解码器(例如视频解码器)或转码工具(例如视频转码器)执行的,但在很多情况下,该操作也可以改由别的类型的媒体处理工具(例如用于上采样的视频处理器,用于下采样的视频处理器)来执行。
这里描述的一些创新是参考了HEVC标准特有的语法元素和操作例证的。例如,在这里参考了2013年1月发布于JCTVC-L1003_v34的HEVC标准草案版本JCTVC-L1003-“HighEfficiency Video Coding(HEVC)Text Specification Draft 8”,其中该标准的公开内容在此引入作为参考。此外,这里描述的创新还可以针对其他的标准或格式来实施。
一般来说,关于这里描述的示例的各种替换方案都是可行的。例如,这里描述的一些方法可以通过改变所描述的方法行为的排序,通过拆分、重复或省略某些方法行为等等而被修改。所公开的技术的不同方面既可以结合使用,也可以单独使用。不同的实施例使用所描述的一个或多个创新。这里描述的一些创新针对的是在背景技术部分中指出的一个或多个问题。通常,给定的技术/工具并未解决所有这样的问题。
I.例示的计算***
图1示出的是可以实施所描述的若干创新的适当计算***100的概括性示例。计算***100并非旨在表明针对用途或功能范围所做的任何限制,因为这些创新可以在各种通用或专用计算***中实施。
参考图1,计算***100包括一个或多个处理单元110、115以及存储器120、125。处理单元110、115执行计算机可执行指令。该处理单元可以是通用中央处理单元(“CPU”),专用集成电路(“ASIC”)中的处理器或其他任何类型的处理器。在多重处理***中,计算机可执行指令由多个处理单元执行,由此提升处理能力。例如,图1显示了一个中央处理器110和一个图形处理单元或协处理单元115。有形存储器120、125可以是能被一个或多个处理单元访问的易失存储器(例如寄存器、缓存器、RAM)、非易失存储器(例如ROM、EEPROM、闪存等等)或是其某种组合。存储器120、125以适于一个或多个处理单元运行的计算机可执行指令的形式来存储用于实施用信号传递和/或使用MCT控制数据的一个或多个创新的软件180。
计算***可以具有附加特征。例如,计算***100包括存储器140,一个或多个输入设备150,一个或多个输出设备160,以及一个或多个通信连接170。计算***100的组件用总线、控制器或网络之类的互连机制(未显示)相互连接。通常,操作***软件(未显示)为其他那些在计算***100中运行的软件提供了一个工作环境,并且协调计算***100中的组件的活动。
有形存储器140可以是可移除或不可移除的,其包括磁盘,磁带或磁带盒,CD-ROM,DVD,或是可用于存储信息且能在计算***100内部访问的其他任何介质。存储器140存储的是用于实施用信号传递和/或使用MCTS控制数据的一个或多个创新的软件180的指令。
一个或多个输入设备150可以是触摸输入设备,例如键盘、鼠标、指示笔或轨迹球、语音输入设备、扫描设备或是向计算***100提供输入的别的设备。对视频而言,所述一个或多个输入设备150既可以是摄像机、视频卡、电视调谐卡或接受模拟或数字形式的视频输入的类似设备,也可以是将视频采样读入计算***100的CD-ROM或CD-RW。一个或多个输出设备160可以是显示器、打印机、扬声器、CD刻录机或是提供来自计算***100的输出的别的设备。
一个或多个通信连接170能在通信介质上与别的计算实体通信。该通信介质在调制数据信号中传达信息,例如计算机可执行指令,音频或视频输入或输出,或是其他数据。调制数据信号是这样一种信号,其中该信号的一个或多个特性是用一种对信号中的信息进行编码的方式设置或改变的。作为示例而不是限制,通信媒体可以使用电学、光学、RF或其他载体。
这些创新可以在计算机可读媒体的通用上下文中描述。计算机可读媒体是能在计算环境内部访问的任何可用的有形媒体。作为示例而不是限制,用于计算***100的计算机可读媒体包括内存120、125,存储器140以及上述各项的组合。
这里的创新可以在计算机可执行指令的通用上下文中描述,例如包含在程序模块中并在目标真实或虚拟处理器上的计算***中运行的计算机可执行指令。通常,程序模块包含了执行特定任务或实施特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等等。在不同的实施例中,程序模块的功能可以根据需要而被组合或者在程序模块之间拆分。程序模块的计算机可执行指令可以在本地或分布式计算***内部运行。
在这里,术语“***”和“设备”是可以交换使用的。除非上下文以别的方式清楚指示,否则该术语并不意味着对计算***或计算设备的类型进行任何限制。通常,计算***或计算设备可以是本地或分布式的,并且可以包括专用硬件和/或通用硬件与用于实施这里描述的功能的软件的任何组合。
所公开的方法还可以通过使用被配置成执行所公开的任一方法的专用计算硬件来实施。例如,所公开的方法可以由一个专门被设计或配置成实施所公开的任一方法的集成电路(例如ASIC(例如ASIC数字信号处理单元(“DSP”)、图形处理单元(“GPU”)或是诸如现场可编程门阵列(“FPGA”)的可编程逻辑设备(“PLD”))来实施。
为了进行说明,本具体实施方式部分使用了“确定”和“使用”这类术语来描述计算***中的计算机操作,此类术语是对计算机执行的操作的高度抽象,并且不应该与人工执行的行为相混淆。与这些术语相对应的实际计算机操作会依照实施方式而改变。
II.例示的网络环境
图2a和2b显示的是包含视频编码器220和视频解码器270的例示网络环境201、202。该编码器220和解码器270在网络250上用恰当的通信协议相连。网络250可以包括因特网或别的计算机网络。
在图2a所示的网络环境201中,每一个实时通信(“RTC”)工具210都包括用于双向通信的编码器220和解码器270。所给出的编码器220可以产生符合HEVC标准、SMPTE 421M标准、ISO-IEC 14496-10标准(也被称为H.264或AVC)、别的标准或专有格式的输出,并且相应解码器接受来自编码器220的编码数据。该双向通信可以是视频会议、视频电话呼叫或其他两方通信场景的一部分。虽然图2a的网络环境201包含两个实时通信工具210,但是该网络环境201也可改为包含参与多方通信的三个或更多实时通信工具210。
实时通信工具210管理编码器220的编码处理。图3显示了一个可被包含在实时通信工具210中的例示编码器***300。作为替换,该实时通信工具210使用别的编码器***。实时通信工具210还管理解码器270的解码处理。图4显示了一个可被包含在实时通信工具210中的例示解码器***400。作为替换,该实时通信工具210也可使用别的解码器***。
在图2b显示的网络环境202中,编码工具212包括一个将视频进行编码来将其递送至包含解码器270的多个回放工具214的编码器220。单向通信可被提供给视频监控***,网络摄像头监视***,远程桌面会议演示,或是用于编码视频并将其从一个位置发送到一个或多个其他位置的其他场景。虽然图2b的网络环境202包括两个回放工具214,但是该网络环境202也可包含更多或更少的回放工具214。通常,回放工具214与编码工具212通信来确定回放工具214所要接收的视频流。回放工具214接收所述流,将接收到的编码数据缓冲恰当时段,以及开始解码和回放。
图3显示的是一个可被包含在编码工具212中的例示编码器***300。作为替换,编码工具212使用别的编码器***。编码工具212还可以包括用于管理与一个或多个回放工具214的连接的服务器端控制器逻辑。图4显示了一个可被包含在回放工具214中的例示解码器***400。作为替换,回放工具214也可使用别的解码器***。该回放工具214还可以包括用于管理与编码工具212的连接的客户机端控制器逻辑。
III.例示的编码器***
图3是可以协同实施所描述的一些实施例的例示编码器***300的框图。该编码器***300可以是一个能以多种编码模式中的任一模式工作的通用编码工具,例如用于实时通信的低等待时间编码模式、转码模式以及用于回放来自文件或流的媒体的常规编码模式,或者所述编码器***也可以是与一种这样的编码模式相适配的专用编码工具。编码器***300可作为操作***模块、应用库的一部分或是独立应用来实施。总的来说,编码器***300从视频源310接收一系列的源视频帧311,并且产生输出到信道(390)的编码数据。输出到信道的编码数据可以包括MCTS控制数据(例如用于MCTS的SEI消息)。
视频源310可以是摄像机、调谐卡、存储媒体或其他数字视频源。该视频源310以例如30帧/秒的帧速率来产生一系列视频帧。这里使用的术语“帧”通常是指源、编码或重建的图像数据。对于逐行视频来说,所述帧是逐行视频帧。对于隔行视频来说,在例示实施方式中,隔行视频帧会在编码之前去隔行(de-interlaced)。作为替换,两个互补隔行视频场可作为隔行视频帧或单独的场而被编码。除了指示逐行视频帧之外,术语“帧”或“画面”还可以指示单独的非配对视频场,互补视频场对,表示处于指定时间的视频对象的视频对象平面,或是更大图像中的兴趣区。视频对象平面或区域可以是包含多个对象或场景区域的更大图像的一部分。
已到达的源帧311被存入包含多个帧缓冲存储区域321、322、……、32n的源帧临时记忆存储区域320。一个帧缓冲器321、322、……等会在源帧存储区域320保持一个源帧。在将一个或多个源帧311存入帧缓冲器321、322、……等之后,帧选择器330周期性地从源帧存储区域320中选择单个源帧。帧选择器330选择输入至编码器340的帧的顺序有可能不同于视频源310产生所述帧的顺序,举个例子,某个帧的顺序有可能会被提前,以便促成逆向时间预测。在编码器340之前,编码器***300可以包含一个在编码前对所选择的帧331执行预处理(例如滤波)的前置处理器(未显示)。所述预处理还可以包括将色彩空间转换成主要和次要成分,以便进行编码。
编码器340编码所选择的帧331来产生编码帧341,并且还产生存储器管理控制操作(“MMCO”)信号342或参考画面集合(“RPS”)信息。如果当前帧不是第一个编码帧,那么在对其执行编码处理时,编码器340可以使用解码帧临时记忆存储区域360中保存的一个或多个先前编码/解码的帧369。所存储的这种解码帧369可被用作当前源帧331内容的帧间预测处理的参考帧。通常,编码器340包含了用于执行编码任务的多个编码模块,作为示例,这些编码任务可以是分割成图块,运动估计和补偿,频率变换,量化以及熵编码。编码器340执行的具体操作可以依照压缩格式而改变。所输出的编码数据格式可以是HEVC格式、WindowsMedia Video格式、VC-1格式、MPEG-x格式(例如MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如H.261、H.262、H.263、H.264)或别的格式。
编码器340可以将一个帧划分成具有相同尺寸或不同尺寸的多个图块。例如,编码器340沿着图块行和图块列来拆分所述帧,其中所述图块行和图块列结合帧边界限定了帧内部的图块的水平和垂直边界,其中每一个图块都是矩形区域。然后,编码器340可以将图块划分成一个或多个图块集合,其中图块集合是一个或多个图块构成的群组。图块集合中的一个或多个图块在帧中可以是连续的。或者,图块集合可包含的图块在帧中也可以是不连续的。通常,为一个帧定义的一个或多个图块集合和为一系列的帧(例如一组帧,整个序列)中的其他帧定义的一个或多个图块集合是相同的。
编码器340依照源于参考帧的预测表示一个帧间编码(inter-coded)预测帧。运动估计器对照一个或多个参考帧369来估计源帧311的块或其他采样集合的运动。在使用多个参考帧时,多个参考帧可以源于不同时间向度或相同时间向度。作为运动估计的一部分,编码器340可以约束处于当前帧的图块集合内部的块的运动矢量,以使运动补偿预测参考区域落入一个或多个参考帧中的相同图块集合。该运动补偿预测参考区域是用于为当前帧的采样的预测单元(例如块)生成运动补偿预测值的一个或多个参考帧中的采样区域。运动补偿预测可以包括分数位置(fractional-position)内插之类的处理,所述处理会对一个或多个参考帧中略大于预测单元尺寸的区域的采样执行滤波。换句话说,由于所使用的内插滤波器支持超出标称预测单元尺寸边界的扩展,因此,与预测单元相比,用于为当前帧的预测单元计算运动补偿预测值的运动补偿预测参考区域的尺寸相对较大。通过使用这种MCTS,可以促成图块集合的兴趣区解码功能,转码处理以及并行解码处理。运动估计器输出经过熵编码的运动信息,例如运动矢量信息。运动补偿器则将运动矢量应用于参考帧369,以便确定运动补偿预测值。
编码器确定块的运动补偿预测值与相应初始值之间的差值(如果存在的话)。通过使用频率变换、量化和熵编码,可以进一步编码这些预测残差值。例如,编码器340设置画面、图块、切片和/或视频中的其他部分的量化参数(“QP”)的值,并且相应地量化变换系数。同样,对于内预测来说,编码器340可以确定块的内预测值,确定预测残差值,以及对预测残差值进行编码(通过使用频率变换、量化和熵编码)。特别地,编码器340的熵编码器对经过量化的变换系数值和某些边信息(例如运动矢量信息,QP信息,模式决策,参数选择)进行压缩。典型的熵编码技术包括指数哥伦布编码,算术编码,差分编码,霍夫曼编码,游程长度编码,可变长度-可变长度(“V2V”)编码,可变长度-固定长度(“V2F”)编码,LZ编码,字典编码,概率区间分割熵编码(“PIPE”),以及上述各项的组合。熵编码器可以为不同类型的信息使用不同的编码技术,并且可以从特定编码技术内部的多个码表中进行选择。
编码帧341和MMCO/RPS信息342由解码处理仿真器350进行处理。该解码处理仿真器350实施解码器的一些功能,例如用于重建编码器340在运动估计和补偿过程中使用的参考帧的解码任务。解码处理仿真器350使用MMCO/RPS信息342来确定是否需要重建和存储所给出的编码帧341,以便在对所要编码的后续帧的帧间预测的过程中将其用作参考帧。如果MMCO/RPS信息342表明需要存储编码帧341,那么解码处理仿真器350对由接收编码帧341并产生相应解码帧351的解码器实施的解码处理进行建模。如此一来,当编码器340使用保存在解码帧存储区域360中的一个或多个解码帧369时,作为解码处理的一部分,解码处理仿真器350同样使用来自存储区域360的一个或多个解码帧369。
解码帧临时记忆存储区域360包括多个帧缓冲存储区域361、362、……、36n。解码处理仿真器350使用MMCO/RPS信息342来管理存储区域360的内容,以便识别出具有不再需要被编码器340用作参考帧的帧的任何帧缓冲器361、362等。在对解码处理建模之后,解码处理仿真器350会将新近解码的帧351存入以这种方式标识的帧缓冲器361、362等。
编码帧341和MMCO/RPS信息342被缓冲在临时编码数据区域370中。作为基本编码视频比特流语法的一部分,聚合在编码数据区域370中的编码数据包括一个或多个画面的编码数据。聚合在编码数据区域370中的编码数据还可以包括与编码视频数据关联的媒体元数据(例如作为一个或多个SEI消息或视频可用性信息(“VUI”)消息中的一个或多个参数)。此类媒体元数据可以包括用于指示MCTS控制数据(例如用于MCTS的SEI消息)的语法元素。
信道编码器380对来自临时编码数据区域370的聚合数据371进行处理。该信道编码器380可以将聚合数据分组化,以便将其作为媒体流来传输(例如依照ISO/IEC 14496-12之类的媒体容器格式),在这种情况下,信道编码器380可以添加作为媒体传输流语法的一部分的语法元素。该语法可以包括用于指示MCTS控制数据的语法元素。或者,信道编码器380可以组织聚合数据,以便将其存储成文件(例如依照ISO/IEC 14496-12之类的媒体容器格式),在这种情况下,信道编码器380可以添加作为媒体存储文件语法的一部分的语法元素。此类语法可以包括用于指示MCTS控制数据的语法元素。或者,一般来说,信道编码器380可以实施一个或多个媒体***复用协议或传输协议,在这种情况下,信道编码器380可以添加作为所述一个或多个协议语法的一部分的语法元素。同样,此类语法可以包括用于指示MCTS控制数据的语法元素。该信道编码器380向信道390提供输出,其中所述信道代表的是存储器、通信连接或别的输出信道。
IV.例示的解码器***
图4是可以协同实施所描述的一些实施例的例示解码器***400的框图。解码器***400可以是能以多种解码模式中的任一模式工作的通用解码工具,例如用于实时通信的低等待时间解码模式和用于回放来自文件或流的媒体的常规解码模式,或者它也可以是与一种这样的解码模式相适配的专用解码工具。解码器***400可以作为操作***的模块、作为应用库的一部分或者作为独立的应用来实施。总的来说,解码器***400从信道410接收编码数据,并且产生作为针对输出目的地490的输出的重建帧。编码数据可以包括用于指示MCTS控制数据的语法元素。
解码器***400包括信道410,对作为输入的编码数据来说,该信道可以代表存储器、通信连接或别的信道。信道410产生经过信道编码的编码数据。信道解码器420可以对编码数据进行处理。例如,对于那些为了作为媒体流传输而被聚合的数据,信道解码器420会将该数据去分组化(例如依照ISO/IEC 14496-12之类的媒体容器格式),在这种情况下,信道解码器420可以解析作为媒体传输流语法一部分添加的语法元素。此类语法可以包括用于指示MCTS控制数据的语法元素。或者,对于那些为了作为文件存储而被聚合的编码视频数据,信道解码器420对该编码视频数据进行分离(例如依照ISO/IEC 14496-12之类的媒体容器格式),在这种情况下,信道解码器420可以解析作为媒体存储文件语法一部分添加的语法元素。该语法可以包括用于指示MCTS控制数据的语法元素。或者,一般来说,信道解码器420可以实施一个或多个媒体***解复用协议或传输协议,在这种情况下,信道解码器420可以解析作为一个或多个协议语法的一部分添加的语法元素。同样,此类语法可以包括用于指示MCTS控制数据的语法元素。
从信道解码器420输出的编码数据421被存入临时编码数据区域430,直至接收到足够数量的此类数据。该编码数据421包括编码帧431和MMCO/RPS信息432。作为基本编码视频比特流语法的一部分,编码数据区域430中的编码数据421包括一个或多个画面的编码数据。编码数据区域430中的编码数据421还可以包括与编码视频数据关联的媒体元数据(例如作为一个或多个SEI消息或VUI消息中的一个或多个参数),此类媒体元数据可以包括用于指示MCTS控制数据的语法元素(例如作为SEI消息的一部分)。
通常,在解码器450使用编码数据421之前,编码数据区域430临时存储此类编码数据421。此时,编码帧431的编码数据和MMCO/RPS信息432被从编码数据区域430传送到解码器450。随着解码处理的继续,新的编码数据被添加至编码数据区域430,而保留在编码数据区域430中的最早的编码数据则被传送至解码器450。
解码器450周期性地对编码帧431进行解码,以便产生相应解码帧451。在执行其解码处理时,解码器450可能会酌情使用一个或多个先前解码的帧469,以此作为帧间预测参考帧。该解码器450从解码帧临时记忆存储区域460中读取这种先前解码的帧469。通常,解码器450包括多个执行解码任务的解码模块,作为示例,所述解码任务可以是熵解码、反量化、逆频率变换、运动补偿以及图块合并。解码器450执行的具体操作可以依照压缩格式而改变。
例如,解码器450接收压缩帧或帧序列的编码数据,并且产生包含解码帧451的输出。在解码器450中,缓冲器接收压缩帧的编码数据,并且在恰当时间使所接收的编码数据对熵解码器可用。熵解码器则对经过熵编码的量化数据和熵编码端信息执行熵解码,并且通常应用与编码器中执行的熵编码相反的处理。运动补偿器将运动信息应用于一个或多个参考帧,以便形成被重建的帧的子块和/或块(通常是块)的运动补偿预测。内预测模块可以在空间上从先前重建的相邻采样值中预测出当前块的采样值。解码器450还重建预测残差。反量化器对经过熵解码的数据进行反量化。例如,解码器450基于比特流中的语法元素来设置画面、图块、切片和/或其他视频部分的QP值,并且相应地对变换系数执行反量化处理。逆频率变换器将量化频域数据转换成空域信息。对于预测帧,解码器450将重建的预测残差与运动补偿预测结合在一起,以便形成一个重建帧。该解码器450可以采用类似方式来将预测残差与源于内预测的空间预测结合在一起。视频解码器450中的运动补偿环路包括一个用于平滑解码帧451中的块边界行和/或列上的不连续性的自适应去块滤波器。
解码器450可以依照实施方式并采用多种方式来使用MCTS控制数据。例如,在确定并行解码不同图块集合时,解码器450可以使用MCTS控制数据。或者,在确定只解码作为兴趣区显示的选定图块集合而不解码该图块集合之外的帧的部分时,解码器450可以使用MCTS控制数据。
解码帧临时记忆存储区域460包括多个帧缓冲存储区域461、462、……、46n。所述解码帧存储区域460是解码画面缓冲器的一个示例。解码器450使用MMCO/RPS信息432来识别可供其存储解码帧451的帧缓冲器461、462等。该解码器450将解码帧451存入所述帧缓冲器。
输出定序器480使用MMCO/RPS信息432来识别在解码帧存储区域460中依照输出顺序产生的下一个帧何时可用。当解码帧存储区域460中依照输出顺序产生的下一个帧481可用时,输出定序器480将会读取所述帧,并且将其输出至输出目的地490(例如显示器)。通常,输出定序器480输出来自解码帧存储区域460的帧的顺序有可能不同于解码器450解码所述帧的顺序。
V.例示的视频编码器
图5a和5b是可以协同实施所描述的一些实施例的概括性视频编码器500的框图。编码器500接收作为输入视频信号505包含当前画面的视频画面序列,并且生成编码视频比特流595中的编码数据,以此作为输出。
编码器500是以块为基础的,并且其使用的是取决于实施方式的块格式。所述块可以在诸如频率变换和熵编码阶段之类的不同阶段被进一步细分。作为示例,一个画面可被分成64x64个块,32x32个块或16x16个块,这些块可以转而被分成具有用于编码和解码的像素值的更小的块和子块。
编码器500使用画面内编码和/或画面间编码来压缩画面。所述编码器500中的很多组件被用于画面内编码和画面间编码二者。这些组件执行的具体操作可以依照压缩信息的类型而改变。
图块化模块510可选地将一个画面分成具有相同尺寸或不同尺寸的多个图块。例如,图块化模块510沿着图块行和图块列拆分画面,所述图块行和图块列结合画面边界限定了画面内部的图块的水平和垂直边界,其中每一个图块都是矩形区域。然后,图块化模块510可以将图块分成一个或多个图块集合,其中图块集合是一个或多个图块构成的群组。图块集合中的一个或多个图块在画面中可以是连续的。或者,图块集合可以包括在画面中不连续的图块。通常,为一个画面定义的一个或多个图块集合与为一系列画面(例如为一组画面,为整个序列)中的其他画面定义的一个或多个图块集合是相同的。
通用编码控制器520接收输入视频信号505的画面以及编码器500中的各种模块的反馈(未显示)。总的来说,通用编码控制器520将控制信号(未显示)提供给其他模块(例如图块化模块510,变换器/缩放器/量化器530,缩放器/逆变换器535,画面内估计器540,运动估计器550以及内/间切换器),以便在编码过程中设置和改变编码参数。作为示例,通用编码控制器520还可以在编码过程中评估中间结果,由此执行速率失真分析。该通用编码控制器520产生用于指示在编码过程中做出的决定的通用控制数据522,以使相应解码器可以做出一致的决定。所述通用控制数据522被提供给头端格式化器(header formatter)/熵编码器590。通用编码控制器520可以确定是否在编码过程中使用MCTS。
如果当前画面是用画面间预测处理预测的,那么运动估计器550会对照一个或多个参考画面来估计输入视频信号505的当前画面的块、子块或其他像素值集合的运动。解码画面缓冲器570会缓冲被重建的一个或多个先前编码画面,以便将其用作参考画面。在使用多个参考画面时,所述多个参考画面有可能源于不同时间向度或是相同时间向度。对于当前画面的MCTS,作为运动估计的一部分,运动估计器550可以约束图块集合内部的块的运动矢量,以使供运动补偿预测处理参考的区域落入所述一个或多个参考画面中的相同图块集合。
运动估计器550产生作为边信息的运动数据552,例如运动矢量数据和参考画面选择数据。这些运动数据552则被提供给头端格式化器/熵编码器590以及运动补偿器555。
运动补偿器555将运动矢量应用于源自解码画面缓冲器570的所重建的一个或多个参考画面。该运动补偿器555产生当前画面的运动补偿预测。
在编码器500内部的单独路径上,画面内估计器540确定如何为输入视频信号505的当前画面的块、子块或其他像素值集合执行画面内预测。当前画面可以完全或部分用画面内编码处理编码。通过使用当前画面的重建值538,画面内估计器540确定如何在空间上从与当前画面相邻的先前重建的像素值中预测出当前画面的当前的块、子块等等的像素值。画面内预测估计器540产生作为边信息的内预测数据542,例如预测模式数据。所述内预测数据542被提供给头端格式化器/熵编码器590以及画面内预测器545。依照该预测模式数据,画面内预测器545在空间上从与当前画面相邻的先前重建的像素值中预测当前画面的当前块或子块的像素值。
内/间切换器选择运动补偿预测值或画面内预测值,以便将其用作指定的块、子块或其他像素值集合的预测558。所述预测的子块、块等与输入视频信号505的初始当前画面的相应部分之间的差别(如果有的话)是所述子块、块等等的残差518。在重建当前画面的过程中,重建的残差值与预测558相结合,以便从视频信号505中产生初始内容的重建538。然而,在有损压缩中,一些信息仍会从视频信号505中丢失。
在变换器/缩放器/量化器530中,频率变换器将空域视频信息转换成频域(即频谱,变换)数据。对基于块的视频编码而言,频率变换器对预测残差数据(如果预测558为空,则是像素值数据)的块或子块应用离散余弦变换、其整数近似或别的类型的前向块变换,以便产生频率变换系数的块/子块。然后,缩放器/量化器缩放和量化变换系数。例如,量化器使用基于逐个帧、逐个图块、逐个切片、逐个块等等改变的步长来将非均匀的标量量化处理应用于频域数据。经过量化的变换系数数据532将被提供给头端格式化器/熵编码器590。
在缩放器/逆变换器535中,缩放器/反量化器对量化变换系数执行逆缩放和反量化处理。逆频率变换器执行逆频率变换处理,由此产生具有重建的预测残差或像素值的块/子块。编码器500则将重建的残差与预测值558(例如运动补偿预测值,画面内预测值)结合在一起,以便形成重建538。
对于画面内预测而言,重建值538可被反馈给画面内估计器540和画面间估计器545。对于画面间预测而言,重建值538可被进一步滤波。对于视频信号505的指定画面,滤波控制器560确定如何对重建值538执行去块滤波和采样自适应偏移(“SAO”)滤波。该滤波控制器560产生滤波控制数据562,该数据则被提供给头端格式化器/熵编码器590以及一个或多个合并器/滤波器565。
在一个或多个合并器/滤波器565中,编码器500将源自不同图块的内容并入画面的重建版本。该编码器500根据滤波控制数据562来有选择地执行去块滤波和SAO滤波,以便自适应地平滑帧中边界上的不连续性。依照编码器500的设置,既可以有选择地对图块边界执行滤波,也可以完全不对其执行滤波。解码画面缓冲器570缓冲被重建的当前画面,以便在后续的运动补偿预测中使用。
头端格式化器/熵编码器590对通用控制数据522、量化变换系数数据532、内预测数据542、运动数据552以及滤波控制数据562执行格式化和/或熵编码。例如,头端格式化器/熵编码器590使用上下文自适应的二进制算术编码来对各种语法元素执行熵编码。头端格式化器/熵编码器590提供编码视频比特流595中的编码数据。该编码视频比特流595的格式可以是HEVC格式、Windows Media Video格式、VC-1格式、MPEG-x格式(例如MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如H.261、H.262、H.263、H.264)或别的格式。
依照实施方式和所预期的压缩类型,可以添加、省略编码器的模块,将其拆分成多个模块、将其与其他模块合并和/或采用类似的模块替换。在替换实施例中,具有不同模块和/或其他模块配置的编码器执行所描述的一种或多种技术。编码器的具体实施例通常使用编码器500的变体或增补版本。该编码器500内部的模块之间的关系指示的是编码器中的常规信息流动;为了简单起见,在这里没有显示其他关系。
VI.例示的视频解码器
图6是可以协同实施所描述的若干实施例的概括性解码器600的框图。解码器600接收编码视频比特流605中的编码数据,并且产生包含了重建视频695画面的输出。编码视频比特流605的格式可以是HEVC格式、Windows Media Video格式、VC-1格式、MPEG-x格式(例如MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如H.261、H.262、H.263、H.264)或别的格式。
解码器600是以块为基础的,并且是依照实施方式来使用块格式的。例如,一个画面可被分成64x64个块、32x32个块或16x16个块,这些块可以转而拆分成具有用于解码的像素值的更小的块或子块。
解码器600使用画面内解码和/或画面间解码来解压缩画面。该解码器600的很多组件可以同时用于画面内解码和画面间解码。这些组件执行的具体操作可以依照被解码信息的类型而改变。
缓冲器接收编码视频比特流605中的编码数据,并使所接收的编码数据对于解析器/熵解码器610可用。解析器/熵解码器610对熵编码数据进行熵解码,通常应用的是与编码器500中执行的熵编码相反的处理(例如上下文自适应二进制算术解码)。作为解析和熵解码的结果,解析器/熵解码器610产生通用控制数据622,经过量化的变换系数数据632、内预测数据642、运动数据652以及滤波控制数据662。
通用解码控制器620接收通用控制数据622,并且向其他模块(例如缩放器/逆变换器635,画面内预测器645,运动补偿器655以及内/间切换器)提供控制信号(未显示),由此在解码过程中设置和改变解码参数。基于MCTS控制数据,通用解码控制器620可以确定如何在解码过程中使用MCTS(例如用于选定图块集合的兴趣区解码,用于不同图块集合的并行解码)。
如果当前画面是用画面间预测处理预测的,那么运动补偿器655接收运动数据652,例如运动矢量数据和参考画面选择数据。该运动补偿器655将运动矢量应用于源自解码画面缓冲器670的所重建的一个或多个参考画面。该运动补偿器655生成当前画面的子块和/或块的运动补偿预测。解码画面缓冲器670则会存储一个或多个先前重建的画面,以便将其用作参考画面。
在解码器600内部的单独路径中,画面内预测器645接收内预测数据642,例如预测模式数据。依照预测模式数据,使用当前画面的重建值638,画面内预测器645在空间上从与当前画面相邻的先前重建像素值中预测当前画面的当前块或子块的像素值。
内/间切换器选择运动补偿预测值或画面内预测值,以便将其用作指定的块、子块或其他像素值集合的预测658。解码器600将所述预测658与重建的残差值相结合,以便从视频信号中产生内容重建638。
为了构造残差,缩放器/逆变换器635接收并处理量化变换系数数据632。在缩放器/逆变换器635中,缩放器/反量化器对量化变换系数执行逆缩放和反量化。逆频率变换器执行逆频率变换来产生被重建的预测残差的块/子块或像素值。举例来说,逆频率变换器对频率变换系数应用逆块变换处理来产生像素值数据或预测残差数据。所述逆频率变换可以是逆离散余弦变换、其整数近似或别的类型的逆频率变换。
对于画面内预测来说,重建值638可被反馈给画面内预测器645。对于画面间预测来说,重建值638可被进一步滤波。在一个或多个合并器/滤波器665中,解码器600将来自不同图块的内容并入画面的重建版本。该解码器600依照用于滤波自适应处理的滤波控制数据662和规则来有选择地执行去块滤波和SAO滤波,由此自适应地平滑帧内边界上的不连续性。依照解码器600的设置,图块边界既可以被有选择地滤波,也可以完全不被滤波。解码画面缓冲器570缓冲被重建的当前画面,以便在后续的运动补偿预测中使用。
解码器600还可以包含后置处理去块滤波器。该后置处理去块滤波器可选地平滑重建画面中的不连续性。作为后置处理滤波的一部分,其他的滤波处理(例如去环(de-ring)滤波处理)也是可以应用的。
依照期望的实施方式和解码类型,可以添加、省略解码器的模块,将其拆分成多个模块,将其与其他模块合并和/或用类似的模块替换。在替换实施例中,所描述的一种或多种技术是由具有不同模块和/或其他模块配置的解码器执行的。解码器的具体实施例通常使用解码器600的变体或增补版本。解码器600内部的模块之间的关系指示的是解码器中的常规信息流动;为了简单起见,在这里没有显示其他关系。
VII.用信号传递和使用运动约束图块集合的控制数据
本节给出的是各种与用信号传递和使用运动约束图块集合(“MCTS”)的控制数据有关的创新。一般来说,MCTS控制数据表明一个或多个指定图块集合(“一个或多个MCTS”)内部的画面间预测处理被约束成只涉及特定区域(例如其他画面中的每个相应图块集合内部的区域)。这些创新可以允许解码器正确解码处于编码视频序列画面内部的特定MCTS,而不需要解码每一个画面的全部内容。通过提供编码视频中的画面间预测依赖性何时会在特定边界(例如图块集合边界)上受到约束的显性指示,MCTS控制数据可以促成兴趣区解码和显示的复杂度伸缩性,并且能够实现简单的转码处理,提供改进的丢失鲁棒性,以及实现增强的解码器并行化处理。
这里提供的是针对依照HEVC标准版本而在补充增强信息(“SEI”)消息中用信号传递的MCTS控制数据的不同示例。此类MCTS控制数据SEI消息很容易并入HEVC格式。
A.例示的图块和图块集合
一般来说,图块是画面中的矩形区域。在画面内部,图块依照图块列和图块行排列。由此,图块限定了画面内部的水平和垂直边界。在画面内部,图块尺寸可以是相同的,或者在画面内部,图块尺寸是可以改变的。
举例来说,在2013年1月发布的HEVC标准版本中,画面可被分成多个图块。tiles_enabled_flag语法元素是在画面参数集合(“PPS”)中用信号传递的。当tiles_enabled_flag是1时,画面被分成图块,并且用信号传递的是图块列数量、图块行数量和尺寸信息。该尺寸信息可以指示用于所有图块的相同尺寸,或者也可以用信号传递逐个块的特定尺寸。相关内容参见Bross等人于2013年1月发表于JCTVC-L1003_v34的“High Efficiency VideoCoding(HEVC)Text Specification Draft 8”。
一般来说,对于一些编码处理而言,图块是以与其他图块无关的方式编码的。根据2013年1月发布的HEVC标准版本,在使用图块时,HEVC比特流语法和HEVC解码处理被构造成消除(1)相同画面内部的图块边界上的画面内预测依赖性,以及(2)相同画面内部的图块边界上的熵编码/解码依赖性。在图块边界上有选择地禁用环路滤波,但其在一些情况中是被允许的。然而,图块边界有关的画面间预测依赖性并没有受到约束。图块中的预测单元可以参考位于参考画面中的同位置的图块的空间边界以外的参考画面区域。由此,对于2013年1月发布的HEVC标准版本中的图块来说,相对于用作画面间预测参考的其他画面内部的其他图块不需要图块的独立关系。
图块集合是画面中的一个或多个图块的排列。图块集合可被指定成画面内部的一个或多个图块范围。如在下一节中说明的那样,运动约束图块集合(“MCTS”)是将画面间预测依赖性局限于一个接一个画面的图块集合内部的区域的图块集合。在简单的情况下,一个系列中的画面具有相同的图块集合配置,由此,当前画面中的图块集合在它的一个或多个参考画面中具有同位置的图块集合。
图7a显示的是被分成16个同等大小的图块的帧701。图块个数取决于实施方式,并且可以具有其他某个值(例如9、20或25个图块)。在图7b-7g中,图块是以不同方式划分成图块集合的。
一个图块集合可以包括多个图块。例如,图7b显示了一个帧702,其中处于帧702中心的四个图块组成一个图块集合——图块集合A。作为替换,一个图块集合也可以包含单个图块。在极端情况下,画面中的每个图块都可以被定义成其自身的图块集合(例如,16个图块集合分别对应于图7a中的帧的16个图块)。
图块集合中的图块个数和图块集合内部的图块配置可以是从可用图块中任意指定的。例如,图7c显示了一个帧703,所述帧703的六个图块组成了一个图块集合——图块集合A。剩余图块未处于任何图块集合中。帧的指定图块既可以被分配给图块集合,也可以不计入图块集合。
图7d显示了一个将所有16个图块全都分配给图块集合的帧704。图块集合A包括处于帧704中心的四个图块,并且图块集合B包含了在帧704中围绕图块集合A中的图块的剩余12个图块。
在图7b-7d中,指定图块集合中的图块是连续的,但是图块集合中的图块并不是必须连续的。例如,图7e显示了一个将8个图块分配给图块集合A以及将8个图块分配给图块集合B的帧705。所述图块集合B中的8个图块被分离至位于帧705中的图块集合A的两侧的两个区域。
在很多情况下,与图7b-7e一样,一个图块集合包含了位于帧中心的一个或多个图块。这种图块配置对兴趣区解码处理而言可能非常有用(例如在预定焦点位于中心或者在所识别的区域包含了视频会议说话人的时候)。图7b和7d显示的配置提供的进一步的优点在于不会改变中心图块集合(图块集合A)与帧之间的宽高比。
另一方面,图7f显示了一个将图块分配给覆盖整个帧706的四个图块集合A、B、C、D的帧706。每个图块集合都具有四个图块。这种图块集合配置可以促成并行编码和解码。特别地,对MCTS而言,图块集合A、B、C和D的运动估计(在编码过程中)和运动补偿(在编码和解码过程中)是可以并行执行的。
在图7d-7f中,一个图块是至多一个图块集合的一部分。然而在一些实施方式中,一个图块可以是多个图块集合的一部分。图7g显示了帧707的三个不同视图,在这些视图中,一些图块是多个图块集合的一部分,一些图块是单个图块集合的一部分,一些图块则不是图块集合的部分。在图7g显示的帧707中,顶行图块中的图块是图块集合A、图块集合B(其覆盖图块集合A)和图块集合C(其覆盖图块集合A和图块集合B)的一部分。第二行图块是图块集合B和图块集合C的一部分。第三行图块是图块集合C的一部分,以及第四行图块不是图块集合的部分。当用于编码和解码指定画面的图块集合随着序列内部的画面改变时,或者在允许图块集合的可参考区域的尺寸、形状和/或位置随序列内部的画面改变时,这种图块配置可以促成渐进式解码器刷新之类的功能。
B.运动约束图块集合,通用
运动约束图块集合(“MCTS”)是将画面间预测依赖性限制在一个或多个指定区域的图块集合。在很多情况下,该特定区域位于一个接一个画面的相同图块集合的内部。然而在其他情况中,该特定区域处于用于画面间预测的参考画面的另一个图块集合或是其他的某个或某些区域的内部。一般来说,针对指定MCTS的运动补偿可能是在与该MCTS之外的其他图块集合或区域的解码处理无关的情况下执行的。可能出现这种情况的原因在于:画面间预测被约束成不会参考参考画面中除MCTS之外(也就是参考画面中的同位置的图块集合之外)的任何区域。
MCTS的编码处理可以通过在运动估计过程中约束搜索运动矢量来实施。运动矢量的搜索范围受图块集合边界限制。
图8显示的是在未对图块集合边界上的运动进行约束的情况下的针对图块集合中的预测单元的运动估计和运动补偿预测。当前帧820包括图块集合A 822,该图块集合A具有作为采样块或子块的预测单元824。预测单元824的运动矢量826与参考帧810中用于产生预测单元824的运动补偿预测值的区域814相关联。区域814局部位于参考帧810中的同位置的图块集合A 812的内部,并且局部位于参考帧810中的图块集合A 812的外部。图块集合A并不是MCTS,由此没有约束参考了图块集合A以外的采样值位置的图块集合A中的预测单元的画面间预测处理。结果,当前帧820中的预测单元824的正确解码取决于参考帧810中的图块集合A 812以外的值的重建。
相比之下,图9显示的是在对图块集合边界施加运动约束的情况下的针对图块集合中的预测单元的运动估计和运动补偿预测。当前帧920包括图块集合A 922,该图块集合A具有作为采样块或子块的预测单元924。预测单元924的运动矢量926与参考帧910中用于为预测单元924生成运动补偿预测值的区域914相关联。即使局部或完全位于图块集合(A)以外的区域有可能为预测单元924提供更好的预测,但由于约束了运动估计范围,编码器使用完全处于参考帧910中同位置的图块集合A 912内部的区域914。图块集合A是一个MCTS,因此,针对图块集合A中的预测单元的画面间预测处理不会参考图块集合A以外的采样值的位置。结果,当前帧920中的预测单元924的正确解码并不取决于参考帧910中的图块集合A912以外的值的重建。
由此,利用MCTS,画面间预测依赖性在图块集合边界上受到约束。然而,在图块集合内部的图块边界上仍旧允许运动。对图块的画面内预测依赖性和算术编码依赖性的约束仍旧是适用的。当在图块边界上执行滤波操作(例如去块滤波)时,一些图块集合边界有可能受到影响。结果,编码过程中使用的参考帧的采样值可能未必精确匹配于在解码过程中使用的参考帧的采样值。特别地,如果在解码过程中只解码MCTS,那么,由于在此类图块集合边界上没有执行环路滤波处理,因此,在参考帧中,MCTS图块集合边界上的采样值有可能是不同的。与全画面解码相比,这种情况对于纯MCTS解码质量的负面影响相对较小。
MCTS解码不涉及改变核心解码处理。然而,如以下说明的那样,解码器可以使用MCTS控制数据来确定如何将画面中不同部分的独立图块集合进行并行化解码,或者确定执行ROI解码。
C.MCTS和MCTS控制数据的例示用途
本节描述的是MCTS和MCTS控制数据的各种用途,其中包括并行的编码和解码,兴趣区解码和显示,简化的转码处理,以及损失恢复。MCTS控制数据能够启用有益于常规视频编码/解码处理的功能,并且可被看作是复杂度伸缩性的伸缩性扩展。
1.并行编码和/或并行解码
编码器针对多个编码操作可以并行地编码单独的MCTS。该编码器以图块集合所限定的区域的区域特有方式来将其编码处理分段。通过使用MCTS控制数据,相应解码器针对多个解码操作可以并行解码单独的MCTS。该解码器采用图块集合所限定的区域的区域特有方式来将其解码处理分段。特别地,对于指定图块集合的运动补偿,编码器(或解码器)不需要访问指定图块集合以外的区域的参考画面的采样值。由此,不同的MCTS可被并行编码或解码,而不需要等待重建整个参考画面。
图10显示的是针对带有MCTS的画面的并行编码和并行解码示例1000。在图10中,编码器1010接收输入视频信号1005,将其图块化成四个图块集合A、B、C、D(与图7f中一样),以及并行地编码相应图块集合。(对不同图块集合来说,编码器1010的一些编码处理并不是并行执行的,例如环路滤波)。该编码器1010产生带有图块集合A、B、C和D的编码数据的编码视频比特流1015。该编码视频比特流1015还包含了MCTS控制数据。
编码视频比特流1015通过网络1020被传递至解码器1030。使用MCTS控制数据识别并行解码时机,解码器1030以并行方式解码相应图块集合,合并被重建的图块集合的内容,以及产生重建视频1035(对不同图块集合来说,解码器1030的一些解码处理并不是并行执行的,例如环路滤波)。
虽然图10同时显示了并行编码和并行解码,但是作为替换,所实施的可以仅仅是并行编码或者仅仅是并行解码。并且,虽然图10显示出的是并行处理的实例数量与图块集合数量(即4)相匹配的编码和解码,但是作为替换,并行处理的实例数量少于图块集合的数量。
2.ROI解码
在约束图块集合边界上的画面间预测时,对于兴趣区(“ROI”)解码和显示来说,图块集合可以以独立的方式解码和显示。解码器可以使用MCTS控制数据来用于一个或多个选定图块集合的ROI解码和显示。在这种情况下,只有一个或多个图块集合的指定图块子集而不是整个画面被解码和显示。例如,解码器只解码包含了一个或多个选定图块集合的编码数据的编码视频比特流子集,而不会解码整个画面的编码数据。
图11显示的是针对带有MCTS的画面的ROI解码的示例1100。在图11中,编码器1110接收输入视频信号1105,将其图块化来包含图块集合A(与图7b中一样),以及对视频进行编码。编码器1110将图块集合A编码成MCTS。该编码器1110产生带有整个画面的编码数据的编码视频比特流1115,包括作为MCTS的图块集合A。所述编码视频比特流1115还包含了MCTS控制数据。
编码视频比特流1115通过网络1120传递至解码器1130。使用MCTS控制数据识别ROI解码时机,解码器1130解码图块集合A的编码数据,并且产生图块集合A的重建视频1135。
当用于ROI解码的选定图块集合是单个矩形区域时,ROI解码处理特别有用,该矩形区域既可以是单个图块,也可以是如图7b或7d那样的连续矩形图块区域。作为示例,可以解码单个矩形区域以便显示在小型显示设备上。或者,可以解码单个矩形区域将其作为画中画显示窗口来显示。或者,可以解码单个矩形区域,将其作为带有从其他比特流中创建的小型区域的复合体的一部分来显示(例如用于多方会议)。
此外,在例如实时通信这类带宽受限的场景中,用信号传递和使用MCTS能够实现新的ROI伸缩性维度,其中不同的流传输比特率对应于不同的解码/显示分辨率。在通过异构信道将视频内容递送到不同设备的场景中,该处理可能是有用的。例如,比特流可以组织成MCTS,所述MCTS被配置成围绕中心MCTS的一个或多个同中心的“环形”区域,由此,(a)中心MCTS提供最小比特率和画面尺寸,(b)中心MCTS加上第一个同中心的环形区域提供较高比特率和画面尺寸,(c)中心MCTS加上前两个同中心的环形区域提供仍然较高的比特率和画面尺寸,依此类推。或者,MCTS也可以用其他方式组织,以便将其组合在一起。
用于指定一个或多个ROI解码区域的MCTS控制数据可以与平移扫描(pan-scan)元数据协同使用。例如,平移扫描SEI消息允许指定用于ROI显示的矩形。在MCTS SEI消息控制ROI解码的情况下,平移扫描SEI消息可以进一步地启用ROI显示。
3.转码处理
在一些情况中,转码器执行简单的低延迟转码操作来从用于画面尺寸较大的视频的编码视频比特流中提取一个或多个选定图块集合的编码数据,由此产生具有画面尺寸较小的视频的新编码视频比特流。例如,对HEVC转码处理来说,当MCTS是矩形区域时,那么转码器通过修改高级语法元素即可产生用于MCTS的新编码视频比特流,而不需要完全解码和重新编码低级数据(例如处于编码树单元等级或是更低等级的数据)。
图12显示的是针对带有MCTS的画面的转码处理的示例1200。在图12中,编码器1210接收输入视频信号1205,将其图块化来使其包含图块集合A(与图7b中一样),以及对视频进行编码。编码器1210将图块集合A编码成MCTS。该编码器1210产生带有整个画面的编码数据的编码视频比特流1215,其中包括作为MCTS的图块集合A。该编码视频比特流1215还包含了MCTS控制数据。
编码视频比特流1215通过网络1220传递至转码器1230。使用MCTS控制数据识别转码时机,转码器1230丢弃图块集合A以外的画面区域的编码数据,并且产生只带有图块集合A的编码数据的编码视频比特流1235。
在HEVC实施过程中,在一些情况下,即使MCTS不是矩形或者其是矩形但未被转码,也可以在将数据发送至能够操作此类MCTS比特流子集的解码器之前提取解码MCTS必需的比特流子集。
4.丢失鲁棒性和恢复
用信号传递和使用MCTS控制数据还可以改善数据丢失鲁棒性和数据丢失恢复处理。在其他区域(图块集合)的编码数据损坏或以其他方式丢失的时候,通过为解码器提供关于解码画面内部的逐个区域的依存关系的显性指示,解码器可能能够完成一些区域(图块集合)的解码。
5.渐进式解码器刷新
在一些实施方式中,编码器可以使用MCTS控制数据来实施渐进式解码器刷新功能。例如,当一个图块可能是多个图块集合的部分时(与图7g的示例一样),顶行图块可以限定一个MCTS,前两行图块限定第二MCTS,前三行图块限定第三MCTS,依此类推。编码器可将这种MCTS用于渐进式解码器刷新功能。
图13显示的是带有MCTS的渐进式解码器功能的示例1300。针对一系列画面(图13中的画面30)中的一个画面1301,编码器刷新针对MCTS A的区域。该编码器使用画面内编码来编码顶行图块(其在后续的帧中被编码成MCTS A)。画面1301中的其他行的编码并未受到约束。
针对该系列(图13中的画面31)中的下一个画面1302,编码器通过使用依赖于MCTSA区域的画面间预测和画面内编码来刷新针对MCTS B的区域。该编码器将顶行图块编码成MCTS。该MCTS(作为MCTS A)可以使用针对先前画面中的同位置的图块集合(画面30中的顶行图块)的画面间预测而被编码。该编码器使用画面内编码来编码画面1302中的第二行图块。画面1302中的其他行的图块的编码并未受到约束。
针对该系列(图13中的画面32)中的下一个画面1303,编码器使用依赖于MCTS B中的区域的画面间预测和画面内编码来刷新针对MCTS C的区域。该编码器将前两行图块编码成MCTS。该MCTS(MCTS B)可以使用针对先前画面中的同位置的图块集合(画面31中的前两行图块)的画面间预测而被编码。编码器使用画面内编码来编码该画面1303的第三行图块。画面1303中的其他行的图块的编码并未受到限制。
至于该系列(图13中的画面33)中的最后一个画面1304,编码器使用依赖于MCTS C中的区域的画面间预测和画面内编码来刷新该画面。编码器将前三行图块编码成MCTS。该MCTS(MCTS C)可以使用针对先前画面中的同位置的图块集合(画面32中的前三行图块)的画面间预测而被编码。编码器使用画面内编码来编码该画面1304中的最后一行图块。此时,画面中的各行图块都已被渐进式刷新。
作为替换,编码器可以通过允许使用画面内编码或是针对已刷新参考画面中的“次级”非相应区域的画面间编码来编码图13中的灰色阴影区域(画面内编码区域),由此实施渐进式解码器刷新功能。编码器可以基于逐个块而在画面内部编码与此类画面间编码之间做出决定。例如,第三个画面1303中的阴影区域的块可以用针对刚刚刷新的第二画面1302中的区域(前两行图块)的画面间编码或画面内编码来编码。这种附加灵活性可以提高压缩性能。
图13显示的是(a)在参考画面中参考的一个或多个区域与(b)取决于这些区域的当前画面中的一个或多个区域之间的关系随画面动态改变的更通用场景的一个特例。在此类场景中,图块集合的可参考区域尺寸、形状和/或位置是允许随序列内部的画面改变的。
一种用于实施此类动态改变的方法是用信号传递逐个画面的MCTS控制数据。画面的MCTS控制数据可以标识对于该画面的编码和解码而言处于活动状态的MCTS,其中,画面间预测依赖性被约束成落入用于所标识的MCTS的任一参考画面中同位置的图块集合内。举例来说,如果为当前画面标识的是MCTS B,那么画面间预测依赖性将被约束成落入任一参考画面的MCTS B的区域内(即便是在没有为该参考画面标识MCTS B的情况下也是如此)。
当可以逐画面地用信号传递MCTS控制数据时,一种方法是显性指定为该画面标识的MCTS中的图块。另一种方法则是为编码视频序列(或画面群组)中的所有画面使用通用的MCTS集合,然后使用该通用MCTS集合内部的标识符值来标识用于该画面的处于活动状态的MCTS。举例来说,所述通用MCTS集合包括四个、五个或六个(有可能重叠的)MCTS,并且用于指定画面的MCTS控制数据将MCTS 2标识成对于该画面的编码和解码而言处于活动状态的MCTS。
另一种实施此类动态改变的方法是用信号传递逐个画面的MCTS控制数据,其中MCTS控制数据标识了用于该画面的处于活动状态的MCTS,并且还标识了参考画面的一个或多个图块集合参考区域。作为示例,MCTS控制数据标识了所指定的当前画面的MCTS,并且标识了参考画面中的图块集合参考区域。对当前画面而言,在不同的参考画面中可以标识不同的图块集合参考区域。所标识的图块集合参考区域可以与所标识的当前画面的MCTS处于相同位置(正如这里描述的众多示例中假设的那样),或者其可以具有不同的尺寸、形状或位置。对当前画面来说,一个或多个图块集合参考区域可以显性地通过源自应用于相应参考画面的通用MCTS集合的标识符值来用信号传递(作为图块矩形或是作为任意区域)或标识。例如,一个参考画面可以与在编码该参考画面时定义的一个或多个MCTS相关联,并且后续画面(依照编码顺序)可以通过先前为参考画面定义的一个或多个MCTS的标识符值来指定参考画面中的图块集合参考区域。
D.用信号传递MCTS控制数据的示例
本节描述的是MCTS控制数据的语法和语义的示例。
1.MCTS SEI消息的第一个例示语法和语义
图14a显示的是一个例示实施方式中的MCTS SEI消息的语法1401。在图14a中,motion_constrained_tile_set SEI消息包含了使用左位在前的无符号整数型零阶指数哥伦布码编码的各种语法元素(ue(v)),以及作为标记用信号传递的一些语法元素。MCTS SEI消息的语法1401符合HEVC标准,并且本节包含了对于HEVC标准中定义的各种语法元素的参考。
对图14a显示的MCTS SEI消息来说,该MCTS SEI消息的范围是整个编码视频序列。当在编码视频序列的任一访问单元中出现了MCTS SEI消息时,该消息是为依照解码顺序的编码视频序列的第一个访问单元呈现的。该MCTS SEI消息还可以是为编码视频序列中的其他访问单元呈现的。
对于编码视频序列中处于活动状态的任一画面参数集合(“PPS”)来说,如果其tiles_enabled_flag为零,那么将不会出现用于该编码视频序列的MCTS SEI消息。在这种情况下(tiles_enabled_flag为零),至少有一些画面是没有启用图块的。即使为编码视频序列中的画面启用了图块,所述编码视频序列中的画面也应该以等同的方式划分成图块。换言之,除非针对编码视频序列处于活动状态的每个PPS的语法元素num_tile_columns_minus1、num_tile_rows_minus1、uniform_spacing_flag、column_width_minus1[i]以及row_height_minus1[i]具有相同的值,否则不会出现用于该编码视频序列的MCTS SEI消息,其中所述语法元素规定的是如何将画面划分成图块。该约束类似于与tiles_fixed_structure_flag等于1相关联的约束(如果在视频可用性信息中用信号传递的tiles_fixed_structure_flag是1,那么用于该编码视频序列且处于活动状态的所有PPS都具有相同数量的图块列、相同数量的图块行以及相同的尺寸信息;如果tiles_fixed_structure_flag为零,那么这些信息有可能在不同的PPS中发生变化)。
MCTS SEI消息标识了一个图块集合,即MCTS。MCTS SEI消息的存在表明画面间预测受到约束,由此,对于所标识的MCTS内部的任一采样的画面间预测,不会使用所识别的MCTS以外的采样值,并且不会使用位于使用所标识的MCTS之外的一个或多个采样值得到的分数采样位置上的采样值。在下文中定义了用于标识MCTS的语法元素。
与1相加的语法元素num_tile_rects_in_set_minus1规定了所标识的MCTS中的矩形图块(图块矩形的示例)区域的数量。num_tile_rects_in_set_minus1的值的范围介于且包含0到(num_tile_columns_minus1+1)*(num_tile_rows_minusl+1)–1。
语法元素left_tile_column[i]和top_tile_row[i]分别标识了MCTS的矩形区域(图块矩形的示例)中左上角的图块的图块列和图块行。与1相加的语法元素width_in_tile_columns_minus1[i]指示的是以图块列为单位的MCTS的矩形区域(图块矩形的示例)的宽度。所述width_in_tile_columns_minus1[i]的值的范围介于且包含0到num_tile_columns_nimus1-left_tile_column[i]。与1相加的语法元素height_in_tile_rows_minus1[i]指示以图块行为单位的MCTS的矩形区域(图块矩形的示例)的高度。height_in_tile_rows_minus1[i]的值的范围介于并包括0到num_tile_rows_minus1-top_tile_column[i]。
由此,MCTS是在MCTS SEI消息中标识的图块的一个或多个矩形区域(图块矩形的示例)的组合。
在图14a中,MCTS SEI消息包括可供解码器用于评定在纯MCTS解码过程中是否会对质量产生不利影响的语法元素。如果语法元素exact_sample_value_match_flag等于0,那么在编码视频序列内部,当(a)处于MCTS之外的编码树块未被解码以及(b)为了解码处理而将MCTS边界视为画面边界时,所识别的MCTS中的每个采样的值与解码该画面的所有编码树块时的相同采样的值有可能不完全相同。另一方面,如果exact_sample_value_match_flag等于1,那么在编码视频序列内部,当(a)没有对不属于MCTS的编码树块进行解码以及(b)为了解码处理而将MCTS的边界视为画面边界时,MCTS中的每个采样值与解码该编码视频序列中的所有画面的所有编码树块时获取的采样值是完全相同的。利用下列语法元素的值的某些组合,可以将exact_sample_value_match_flag设置成1:loop_filter_across_tiles_enabled_flag、pps_loop_filter_across_slices_enabled_flag、pps_deblocking_filter_disabled_flag、slice_loop_filter_across_slices_enabled_flag、slice_deblocking_filter_disabled_flag、sample_adaptive_offset_enabled_flag、slice_sao_luma_flag以及slice_sao_chroma_flag。
在图14a中,MCTS SEI消息包括可用于与ROI解码协同进行的ROI显示的其他语法元素。当pan_scan_rect_flag为0时,在MCTS SEI消息中不存在mcts_psr_id元素。当pan_scan_rect_flag为1时,这时将会存在mcts_psr_id。语法元素mcts_psr_id指示的是所标识的MCTS至少覆盖了平移扫描矩形,并且pan_scan_rect_id等于编码视频序列中的mcts_psr_id。当pan_scan_rect_flag为1时,在编码视频序列中存在至少一个平移扫描矩形,并且pan_scan_rect_id等于mcts_psr_id。
至于图14a所示的MCTS SEI消息的语法1401,多个MCTS SEI消息可以与编码视频序列相关联,其中每一个消息都标识了一个MCTS。由此,在编码视频序列中会有一个以上的不同MCTS处于活动状态。
2.MCTS SEI消息的第二个例示语法和语义
图14b显示另一个例示实施方式中的MCTS SEI消息的语法1402。与图14a一样,motion_constrained_tile_group_set SEI消息包括使用ue(v)编码进行编码的各种语法元素,以及作为标记用信号传递的一些语法元素。该MCTS SEI消息的语法1402符合HEVC标准,并且本节包含了在HEVC标准中定义各种语法元素的参考。
如果图14b所示的MCTS SEI消息出现,那么对于编码视频序列中的所有处于活动状态的PPS来说,tiles_enabled_flag等于1(表明画面具有图块),并且在该编码视频序列中,tiles_fixed_structure_flag等于1。这表明用于该编码视频序列且处于活动状态的所有PPS为编码视频序列中的画面指定了相同数量的图块列,相同数量的图块行,以及相同的尺寸信息。
如果存在MCTS SEI消息,那么该消息只会在其与编码视频序列的第一基本画面、断链访问(“BLA”)画面或即时解码刷新(“IDR”)画面相关联的情况下出现。该MCTS SEI消息的目标画面集合包含了依照解码顺序的所有连续基本编码画面,其以相关联的第一基本编码画面为开始(包含性),并且结束于(a)后续的基本编码BLA或IDR画面(排除性)或(b)在没有后续的基本编码BLA或IDR画面时依照解码顺序的编码视频序列中的最后一个基本编码画面(包含性)。
所述MCTS SEI消息标识了一个图块集合,即MCTS,该图块集合是一个或多个图块的选集。用于所述MCTS的一个或多个图块的组(图块矩形示例)是用top_left[i]和bottom_right[i]语法元素标识的。当separate_colour_plane_flag是1时,术语“基本编码画面”代表的是与具有相同colour_plane_id的NAL单元相对应的相应基本编码画面的一些部分。至于目标画面集合中的每一个画面,MCTS SEI消息指示的是以如下方式约束画面间预测。针对MCTS内部的任一采样的画面间预测都不会使用MCTS之外的采样值,并且不会使用通过使用所述MCTS以外的一个或多个采样值得到的分数采样位置上的采样值。
MCTS是在MCTS SEI消息中标识的一个或多个矩形图块区域的组合(图块群组,其是图块矩形的一个示例),与1相加的元素num_tile_group_in_set_minus1指定的是MCTS中的图块群组(图块矩形的示例)的数量。所允许的num_tile_group_in_set_minus1的范围介于且包含0到(num_tile_columns_minus1+1)x(num_tile_rows_minus1+1)-1。
语法元素top_left[i]和bottom_right[i]分别规定的是以编码树块为单位且画面间预测受到约束的图块群组(图块矩形的示例)的左上角和右下角。所述top_left[i]和bottom_right[i]的值是画面光栅扫描中的图块群组单元位置。对于每一个矩形i,top_left[i]和bottom_right[i]的值服从以下约束:
·top_left[i]小于或等于bottom_right[i];
·bottom_right[i]小于PicSizeInCtbsY;
·(top_left[i]%PicWidthInCtbsY)小于或等于(bottom_right[i]%PicWidthlnCtbsY)的值;以及
·top_left[i]和bottom_right[i]指定的矩形包含了一个或多个完整图块。
在图14b中,MCTS SEI消息包含了可用于与ROI解码协同进行的ROI显示的其他语法元素。当语法元素pan_scan_rect_flag为0时,这时不存在pan_scan_rect_id。当pan_scan_rect_flag为1时,pan_scan_rect_id是存在的。语法元素pan_scan_rect_id表明所指定的MCTS至少覆盖了目标画面集合内部由pan_scan_rect_id指定的平移扫描矩形。
对图14b所示的MCTS SEI消息的语法1402来说,多个MCTS SEI消息可以与同一个目标画面集合相关联。由此,目标画面集合内部可能会有一个以上的MCTS处于活动状态。
3.MCTS SEI消息的第三个例示语法和语义
图14c显示了另一个例示实施方式中的MCTS SEI消息的语法1403。所述MCTS SEI消息的存在表明间预测受到约束,由此,针对所标识的图块集合内部的任一采样的间预测,不会使用所标识的每一个图块集合之外的采样值,并且不会使用位于通过使用所标识的图块集合之外的一个或多个采样值得到的分数采样位置上的采样值。除了本节所指示的内容之外,图14c所示的MCTS SEI消息的语法1403与图14a所示的MCTS SEI消息的语法1401是相同的。
当在编码视频序列的访问单元内部存在一个以上的MCTS SEI消息时,这些消息应该包含相同的内容。每一个访问单元中的MCTS SEI消息的数量不应该超过5。
与1相加的num_sets_in_message_minus1指定的是在SEI消息中标识的MCTS的数量。num_sets_in_message_minus1的值的范围介于并包含0到255。
mcts_id[i]语法元素包含了一个识别编号,其可用于识别所标识的第i个图块集合的用途。例如,mcts_id[i]语法元素可以用于识别出从编码视频序列中提取的用于特定目的的区域。mcts_id[i]的值的范围应该介于并包含0到232-2。从0到255以及从512到231-1的mcts_id[i]的值可以依照应用确定的方式使用。从256到511以及从231到232-2的mcts_id[i]的值是被保留供以后使用的。如果解码器遭遇到处于范围256到511或231到232-2的mcts_id[i]值,那么解码器会忽略所述mcts_id[i](从比特流中移除并丢弃)。
剩余的语法元素num_tile_rects_in_set_minus1[i]、left_tile_column[i][j]、top_tile_row[i][j]、width_in_tile_columns_minusl[i][j]、height_in_tile_rows_minusl[i][j]、exact_sample_value_match_flag[i]、pan_scan_rect_flag[i]以及mcts_psr_id[i]通常具有参考图14a中的例示MCTS SEI消息的语法1401所说明的含义。然而,对于每一个语法元素,循环计数器变量i指示的是在MCTS SEI消息中规定的第i个MCTS的语法元素的值,并且循环计数器变量j指示的是所指定的MCTS中的第j个图块矩形的值。作为替换,不同于使用left_tile_column[i][j]、top_tile_row[i][j]、width_in_tile_columns_minusl[i][j]以及height_in_tile_rows_minusl[i][j],所指定的图块矩形的两个语法元素可以依照图块光栅扫描顺序来分别标识图块矩形中的左上角图块的图块位置和图块矩形中的右下角图块的图块位置。
4.MCTS控制数据的替换语法和语义
在前两节中,一个MCTS SEI消息指定了一个MCTS,并且标识了该MCTS中的一个或多个图块。对该方法而言,如果存在用于单个编码视频序列的多个MCTS,那么用于MCTS控制数据的SEI消息有可能是多个,其中每一个MCTS SEI消息都指定了相同编码视频序列中的一个不同的MCTS。
作为替换,单个MCTS SEI消息可以规定多个MCTS。例如,对于相应的MCTS来说,MCTS SEI消息语法中的外层循环将会迭代。对于指定的MCTS来说,其语法和语义可以遵循前两节中的一节的示例,以便标识该MCTS的图块区域(图块矩形),相关联的平移扫描矩形等等。
在前两节中,MCTS SEI消息暗示所标识的图块集合是一个MCTS。作为替换,MCTSSEI消息可以将画面分解成多个图块集合,并且MCTS SEI消息中的每个图块集合的标记表明该图块集合是否为MCTS。
在前两节中,MCTS SEI消息的范围可以是一个编码视频序列(与图14a的示例一样),或者可以是一个BLA或IDR画面(包含性的)与另一个BLA或IDR画面之间的画面群组(与图14b的示例一样)。作为替换,MCTS SEI消息可以逐画面地用信号传递,或者可以具有其他某个范围。
在前两节中,受MCTS SEI消息影响的画面具有相同的图块集合配置,由此,在编码视频序列(或画面群组)内部,图块集合和图块不会随画面改变。作为替换,在编码视频序列(或画面群组)内部,MCTS的可参考区域的尺寸、形状和/或位置可以随画面改变。
在前两节中,MCTS控制数据是一个SEI消息。作为替换,MCTS控制数据可以是基本视频比特流中的其他某种形式的元数据或语法元素,其中该元素表明所指定的图块集合在图块集合边界上的画面间预测依赖性受到约束。
F.用信号传递和使用MCTS控制数据的技术
图15显示的是用信号传递MCTS控制数据的概括性技术1500。该技术1500是由如在上文中参考图3或5描述的视频编码器或是其他工具执行的。
该工具编码1510多个画面来产生编码数据。所述多个画面中的每一个都被划分成多个图块,例如,多个画面中的每一个被分成图块行和图块列,其限定了画面的多个图块,并且所述多个图块中的每一个都是矩形区域。在例示实施方式中,多个画面中的每一个都以等同的方式划分,由此在多个画面中的每一个画面内部产生多个图块。作为替换,不同的画面可以用不同的方式划分成图块。
该工具输出1520编码数据以及控制数据,其中该控制数据表明多个图块中的一个或多个图块的指定图块集合(MCTS)在特定边界(例如图块集合边界)上的画面间预测依赖性受到约束。该控制数据可以包含一个或多个语法元素,其中该语法元素标识的是多个图块中的哪些图块处于所给出的MCTS中。
在例示实施方式中,所给出的图块集合在控制数据中被参数化成包含了图块集合中的一个或多个图块的一个或多个图块矩形。例如,对图块集合中的指定图块矩形来说,该控制数据包含了用于标识图块矩形的两个拐角(例如图块矩形左上角和图块矩形右下角)的语法元素。该控制数据还可以包含图块集合的标识符,用于指示图块集合中的图块矩形个数的计数参数,以及为图块集合中的每个图块矩形指示图块矩形位置(例如图块矩形的位置、宽度和高度)的语法元素。
一般来说,一个或多个语法元素可以包括用于指示所给出的MCTS中的图块区域个数的计数参数,其中每一个图块区域都覆盖了多个图块中的一个或多个图块。所述一个或多个语法元素还可包括用于指定图块集合中的每一个图块区域的一个或多个位置参数,所述参数指示的是图块区域位置(例如图块区域的位置、宽度和高度)。
控制数据可以包括其他语法元素。例如,该控制数据包括一个标记,该标记表明(a)在没有解码指定MCTS之外的多个画面部分的情况下为所给出的MCTS重建的采样是否精确匹配于(b)在解码了所给出的MCTS之外的多个画面部分的情况下为该指定MCTS重建的采样。或者,该控制数据包括所给出的MCTS覆盖的平移扫描矩形的标识符。
在例示实施方式中,控制数据是用于单个MCTS的SEI消息,其表明所给出的MCTS在图块集合边界上的画面间预测依赖性受到约束。在这种情况下,该控制数据可以为所给出的每一个MCTS以及一个或多个其他MCTS都包含一个不同的SEI消息。作为替换,该控制数据是用于包括所给出的MCTS以及一个或多个其他MCTS在内的多个MCTS的单个SEI消息。或者,该控制数据可以是一个标记,并且该标记的值表明所给出的图块集合在图块集合边界上的画面间预测依赖性是否受到约束。或者,该控制数据也可采用其他某种形式。
在例示实施方式中,多个画面中的每个画面的指定图块集合都是相同的。作为替换,在多个画面中的至少一些画面之间,指定图块集合是存在差异的。
控制数据还可以指示多个图块中一个或多个其他图块集合中的每一个图块集合在特定边界上的画面间预测依赖性受到约束。作为示例,如果编码处理1510为指定MCTS以及一个或多个其他MCTS的至少某个编码阶段使用了并行处理,那么将会出现这种情况。
该工具可以基于逐个单位(例如基于逐个序列,基于逐个群组)来重复执行所述技术1500。为了简单起见,图15没有显示所述技术1500如何与其他编码处理协同工作。
图16显示的是有选择地使用MCTS来执行编码的例示技术1600。该技术1600是用如在上文中参考图3或5描述的视频编码器或其他工具执行的。
该工具将当前画面划分成1610图块以便编码。该工具决定1620是否约束一个或多个图块的指定集合的运动。如果是的话,那么该工具在对图块集合边界施加运动约束的情况下对MCTS的一个或多个图块进行编码1630,由此在编码过程中约束运动估计,从而避免该MCTS的图块集合边界上的画面间预测依赖性。该工具输出1640编码数据和控制数据,其中该控制数据表明该图块集合的图块集合边界上的画面间预测依赖性受到约束。否则(没有约束图块的运动),该工具在未对图块集合边界施加运动约束的情况下编码1650一个或多个图块,并且输出1660编码数据。该工具检查1670是否继续为画面中的其他任何图块执行编码处理,如果是的话,则确定1620是否将一个或多个剩余图块编码成MCTS。在编码了当前画面之后,该工具确定1680是否继续处理一系列画面中的下一个画面。
图17显示的是用于处理与MCTS控制数据一起用信号传递的编码数据的概括性技术1700。该技术1700是用如在上文中参考图4或6描述的视频解码器或其他工具执行的。
该工具接收1710多个画面的编码数据。所述多个画面中的每一个画面都被分成多个图块。例如,所述多个画面中的每一个都被分成图块行和图块列,其中所述图块行和图块列限定了该画面的多个图块,并且所述多个图块中的每一个都是矩形区域。在例示实施方式中,多个画面中的每一个画面都以相同方式划分,以便在多个画面中的每一个画面内部产生多个图块。作为替换,不同的画面可以用不同方式划分成图块。
该工具还接收1720控制数据,并且该控制数据表明多个图块中的一个或多个图块的指定图块集合(MCTS)在特定边界(例如图块集合边界)上的画面间预测依赖性受到约束。该控制数据可以包含用于标识多个图块中的哪些图块处于指定MCTS之中的一个或多个语法元素。
在例示实施方式中,指定图块集合在控制数据中被参数化成包含了图块集合中的一个或多个图块的一个或多个图块矩形。举例来说,对于图块集合中的指定图块矩形,该控制数据包括用于标识图块矩形的两个拐角(例如图块矩形的左上角和图块矩形的右下角)的语法元素。该控制数据还可以包括图块集合的标识符,用于指示图块集合中的图块矩形个数的计数参数,以及用于为图块集合中的每一个图块矩形指示图块矩形位置(例如图块矩形的位置,宽度和高度)的语法元素。
一般来说,所述一个或多个语法元素可以包括用于指示所给出的MCTS中的图块区域个数的计数参数,其中每一个图块区域都覆盖了多个图块中的一个或多个图块。对于所给出的图块集合中的每一个图块区域来说,所述一个或多个语法元素还可以包括用于指示所述图块区域的位置(例如图块区域的位置、宽度和高度)的一个或多个位置参数。
控制数据可以包括其他语法元素。例如,该控制数据包括一个标记,用于指示(a)在没有解码所给出的MCTS之外的多个画面部分的情况下为所给出的MCTS重建的采样是否精确匹配于(b)在解码了所给出的MCTS之外的多个画面部分的情况下为所给出的MCTS重建的采样。或者,该控制数据包括由所给出的MCTS覆盖的平移扫描矩形的标识符。
在例示实施方式中,控制数据是用于单个MCTS的SEI消息,并且该消息表明所给出的MCTS在图块集合边界上的画面间预测依赖性受到约束。在这种情况下,该控制数据可以为所给出的每个MCTS以及一个或多个其他MCTS都包含一个不同的SEI消息。作为替换,该控制数据是用于包括指定MCTS以及一个或多个其他MCTS在内的多个MCTS的单个SEI消息。或者,该控制数据可以是一个标记,并且所述标记的值表明所给出的图块集合在图块集合边界上的画面间预测依赖性是否受到约束。或者,该控制数据还可以采用其他某种形式。
在例示的实施方式中,多个画面中的每一个画面的指定图块集合都是相同的。作为替换,在多个画面中的至少一些画面之间,指定图块集合是存在差异的。
该工具处理1730编码数据。举例来说,作为编码数据处理的一部分,该工具解码多个画面内部作为兴趣区的指定MCTS,但不解码指定MCTS之外的多个画面部分。或者,作为编码数据处理的一部分,该工具通过移除指定MCTS之外的多个画面部分的编码数据以及将用于指定MCTS的编码数据组织成新的比特流来转码所述编码数据。该控制数据还可以表明一个或多个其他MCTS中的每一个MCTS在特定边界上的画面间预测依赖性受到约束。在这种情况下,编码数据的处理可以包括解码,该解码为针对所给出的MCTS以及一个或多个其他MCTS的解码的至少一些阶段使用并行处理。
该工具可以基于逐个单元(例如基于逐个序列,基于逐个群组)来重复执行该技术1700。为了简单起见,图17没有显示该技术1700如何与其他解码处理协同工作。
鉴于可以应用所公开的发明原理的众多可能的实施例,应该认识到的是,所示出的实施例只是本发明的优选示例,其不应被看作是对本发明的范围进行限制。相反,本发明的范围是由后续权利要求限定的。由此,我们宣称落入这些权利要求的范围和实质以内的所有内容都是我们的发明。

Claims (10)

1.一种计算机***,包括一个或多个处理单元以及存储器,其中所述计算机***实现编码器***,所述编码器***被配置为执行操作,所述操作包括:
编码多个画面来产生编码数据,其中所述多个画面中的每一个都被划分成多个图块;以及
输出所述编码数据以及控制数据,所述控制数据指示所述多个图块中的一个或多个图块的指定图块集合的特定边界上的画面间预测依赖性受到约束,其中所述指定图块集合在所述控制数据中被参数化成覆盖了所述多个图块中的所述一个或多个图块的一个或多个图块区域,并且其中所述控制数据包括:
标记,所述标记指示(a)在所述指定图块集合之外的所述多个画面的部分未被解码的情况下为所述指定图块集合重建的采样值是否被约束为精确地匹配(b)在所述指定图块集合之外的所述多个画面的全部所述部分都被解码的情况下为所述指定图块集合重建的采样值;以及
针对所述指定图块集合中的所述一个或多个图块区域中的指定图块区域,标识所述指定图块区域的两个角的语法元素。
2.根据权利要求1所述的计算机***,其中所述控制数据还包括:
所述指定图块集合的标识符。
3.根据权利要求1所述的计算机***,其中所述控制数据是指示所述指定图块集合的图块集合边界上的画面间预测依赖性受到约束的补充增强信息(“SEI”)消息。
4.根据权利要求1所述的计算机***,其中所述操作还包括:
确定所述指定图块集合的特定边界上的画面间预测依赖性是否受到约束;以及
如果是的话,则在所述编码期间约束运动估计,以便避免所述指定图块集合的特定边界上的画面间预测依赖性。
5.根据权利要求1所述的计算机***,其中所述控制数据还指示所述多个图块中的一个或多个其他图块集合中的每一个图块集合在特定边界上的画面间预测依赖性受到约束,并且其中所述编码(1)为针对所述指定图块集合以及所述一个或多个其他图块集合的至少一些编码阶段使用并行处理,或者(2)将所述指定图块集合以及一个或多个其他图块集合配置成提供渐进式解码器刷新功能。
6.一种在计算机***中的方法,包括:
接收多个画面的编码数据,其中所述多个画面中的每一个都被划分成多个图块;
接收用于指示所述多个图块中的一个或多个图块的指定图块集合在特定边界上的画面间预测依赖性受到约束的控制数据,其中所述指定图块集合在所述控制数据中被参数化成覆盖所述多个图块中的所述一个或多个图块的一个或多个图块区域,并且其中所述控制数据包括:
能够用于评定所述指定图块集合的质量是否仅在解码所述指定图块集合时能够被不利地影响的语法元素;以及
针对所述指定图块集合中的所述一个或多个图块区域中的指定图块区域,标识所述指定图块区域的两个角的语法元素;以及
对编码数据进行处理。
7.根据权利要求6所述的方法,其中所述一个或多个图块区域是一个或多个图块矩形。
8.根据权利要求6所述的方法,其中所述两个角是所述指定图块区域的左上角和所述指定图块区域的右下角。
9.根据权利要求6所述的方法,其中所述控制数据还包括:
所述指定图块集合的标识符。
10.一个或多个计算机可读介质,其存储计算机可执行指令,所述计算机可执行指令用于导致由此编程的一个或多个处理单元执行操作,所述操作包括:
接收多个画面的编码数据,其中所述多个画面中的每一个都被划分成多个图块;
接收控制数据,所述控制数据指示所述多个图块中的一个或多个图块的指定图块集合在特定边界上的画面间预测依赖性受到约束,其中所述指定图块集合在所述控制数据中被参数化成覆盖了所述多个图块中的所述一个或多个图块的一个或多个图块区域,并且其中所述控制数据包括:
标记,所述标记指示(a)在所述指定图块集合之外的所述多个画面的部分未被解码的情况下为所述指定图块集合重建的采样值是否被约束为精确地匹配(b)在所述指定图块集合之外的所述多个画面的全部所述部分都被解码的情况下为所述指定图块集合重建的采样值;以及
针对所述指定图块集合中的所述图块区域中的指定图块区域,标识所述指定图块区域的两个角的语法元素;以及
对编码数据进行处理。
CN201380075400.2A 2013-04-08 2013-09-20 用于兴趣区编码的运动约束图块集合 Active CN105432082B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361809427P 2013-04-08 2013-04-08
US61/809427 2013-04-08
US14/021,883 US9749627B2 (en) 2013-04-08 2013-09-09 Control data for motion-constrained tile set
US14/021883 2013-09-09
PCT/US2013/061057 WO2014168650A1 (en) 2013-04-08 2013-09-20 Motion-constrained tile set for region of interest coding

Publications (2)

Publication Number Publication Date
CN105432082A CN105432082A (zh) 2016-03-23
CN105432082B true CN105432082B (zh) 2019-10-18

Family

ID=51654447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380075400.2A Active CN105432082B (zh) 2013-04-08 2013-09-20 用于兴趣区编码的运动约束图块集合

Country Status (11)

Country Link
US (2) US9749627B2 (zh)
EP (2) EP2984823B1 (zh)
JP (1) JP6449852B2 (zh)
KR (1) KR102178769B1 (zh)
CN (1) CN105432082B (zh)
AU (1) AU2013385808B2 (zh)
BR (2) BR112015025393B1 (zh)
CA (1) CA2908007C (zh)
MX (1) MX358071B (zh)
RU (1) RU2648592C2 (zh)
WO (1) WO2014168650A1 (zh)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815727B1 (ko) * 2011-08-11 2018-01-05 선 페이턴트 트러스트 화상 부호화 방법 및 화상 부호화 장치
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
CN109587573B (zh) 2013-01-18 2022-03-18 佳能株式会社 生成设备和方法、显示设备和方法以及存储介质
US9749627B2 (en) 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
CN104125463A (zh) * 2013-04-26 2014-10-29 华为技术有限公司 一种图像预测编码方法及图像编码器
US9298778B2 (en) 2013-05-14 2016-03-29 Google Inc. Presenting related content in a stream of content
US9367568B2 (en) * 2013-05-15 2016-06-14 Facebook, Inc. Aggregating tags in images
JP6202912B2 (ja) * 2013-07-12 2017-09-27 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN106210746B (zh) * 2013-07-12 2019-10-11 索尼公司 图像解码装置和方法
KR101879519B1 (ko) 2013-07-29 2018-07-17 코닌클리즈케 케이피엔 엔.브이. 타일 비디오 스트림을 클라이언트에게 제공하는 방법
US9179096B2 (en) * 2013-10-11 2015-11-03 Fuji Xerox Co., Ltd. Systems and methods for real-time efficient navigation of video streams
GB2542282B (en) * 2013-10-22 2018-08-01 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data in a server
JP6692087B2 (ja) * 2013-12-27 2020-05-13 サン パテント トラスト 配信方法、およびシステム
US10070070B2 (en) * 2014-05-28 2018-09-04 Mediatek Inc. Video processing apparatus with transform unit size selection, mode information unit size selection and/or picture width/height decision, and related video processing method thereof
US10694192B2 (en) 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
GB2534420B (en) * 2015-01-26 2021-01-13 Advanced Risc Mach Ltd Data processing systems
JP6642573B2 (ja) * 2015-06-24 2020-02-05 ソニー株式会社 符号化装置、復号装置及び伝送制御方法
US10715843B2 (en) * 2015-08-20 2020-07-14 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
WO2017060423A1 (en) 2015-10-08 2017-04-13 Koninklijke Kpn N.V. Enhancing a region of interest in video frames of a video stream
CA3197905A1 (en) 2016-02-09 2017-08-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
FI20165114A (fi) * 2016-02-17 2017-08-18 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
US10419768B2 (en) 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
EP3226561A1 (en) 2016-03-31 2017-10-04 Thomson Licensing Method and apparatus for coding a video into a bitstream carrying region-based post processing parameters into an sei nesting message
CN116546206A (zh) * 2016-04-08 2023-08-04 韩国电子通信研究院 用于导出运动预测信息的方法和装置
WO2018011042A1 (en) * 2016-07-14 2018-01-18 Koninklijke Kpn N.V. Video coding
US10334277B2 (en) * 2016-09-02 2019-06-25 Qualcomm Incorporated Signaling target display parameters of color remapping information supplemental enhancement information messages
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
US11140417B2 (en) 2016-11-01 2021-10-05 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
KR20190060846A (ko) * 2016-12-14 2019-06-03 에스지 디제이아이 테크놀러지 코., 엘티디 비디오 비트 스트림 스위칭을 지원하는 시스템 및 방법
JP7052732B2 (ja) * 2016-12-27 2022-04-12 ソニーグループ株式会社 画像処理装置および方法
WO2018124818A1 (ko) * 2017-01-02 2018-07-05 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3349459A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing A method and a device for image encoding and decoding
KR102424829B1 (ko) 2017-02-22 2022-07-25 에스케이텔레콤 주식회사 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
WO2018155939A1 (ko) 2017-02-22 2018-08-30 에스케이텔레콤 주식회사 영상 복호화 방법 및 장치
US10687055B2 (en) 2017-03-03 2020-06-16 Qualcomm Incorporated Coding MCTS-EIS SEI messages of an access unit
KR102553762B1 (ko) * 2017-03-20 2023-07-11 지이 비디오 컴프레션, 엘엘씨 고급 비디오 데이터 스트림 추출 및 다중 해상도 비디오 송신
SG11202100010SA (en) * 2017-07-03 2021-02-25 Univ Hanyang Ind Univ Coop Found Method and device for decoding image by using partition unit including additional region
KR102336987B1 (ko) * 2017-07-04 2021-12-08 엘지전자 주식회사 360도 비디오의 영역 기반 처리 방법 및 장치
KR20190024212A (ko) * 2017-08-31 2019-03-08 세종대학교산학협력단 타일 구조의 구성 방법 및 이의 장치
WO2019103126A1 (en) * 2017-11-22 2019-05-31 Sharp Kabushiki Kaisha Systems and methods for signaling tile structures for pictures of coded video
CN118018761A (zh) * 2017-12-28 2024-05-10 韩国电子通信研究院 图像编码和解码的方法和装置以及存储比特流的记录介质
CN110035331B (zh) 2018-01-12 2021-02-09 华为技术有限公司 一种媒体信息的处理方法及装置
CN108600863A (zh) * 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
WO2019189890A1 (en) * 2018-03-30 2019-10-03 Sharp Kabushiki Kaisha Systems and methods for signaling tile structures for pictures of coded video
EP4274234A3 (en) * 2018-04-03 2024-02-28 Huawei Technologies Co., Ltd. File format signaling of error mitigation in sub-picture bitstream based viewport dependent video coding
GB2572770B (en) * 2018-04-09 2022-11-02 Canon Kk Method and apparatus for encoding or decoding video data with frame portions
US10567781B2 (en) * 2018-05-01 2020-02-18 Agora Lab, Inc. Progressive I-slice reference for packet loss resilient video coding
US10638147B2 (en) * 2018-06-01 2020-04-28 Apple Inc. Gradual decoder refresh techniques with management of reference pictures
MX2020013864A (es) * 2018-06-21 2021-03-25 Ericsson Telefon Ab L M Particiones de mosaicos con sub-mosaicos en codificacion de video.
RU2760850C1 (ru) * 2018-06-21 2021-11-30 Телефонактиеболагет Лм Эрикссон (Пабл) Гибкие разбиения тайлов
JP7278719B2 (ja) 2018-06-27 2023-05-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN112640463B (zh) * 2018-07-02 2023-09-15 诺基亚技术有限公司 视频编码中用于图块相对寻址的方法和装置
US10841602B2 (en) * 2018-07-16 2020-11-17 Tencent America LLC Hierarchical tiles
TWI822863B (zh) 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
EP3861754A1 (en) * 2018-10-02 2021-08-11 Telefonaktiebolaget LM Ericsson (publ) Picture tile attributes signaled using loop(s) over tiles
CN112823525A (zh) * 2018-10-02 2021-05-18 瑞典爱立信有限公司 基于图块组id对图片进行编码和解码
KR102466900B1 (ko) * 2018-10-11 2022-11-14 삼성전자주식회사 타일 및 타일 그룹을 이용하는 비디오 부호화 및 복호화 방법, 타일 및 타일 그룹을 이용하는 비디오 부호화 및 복호화 장치
MX2021006014A (es) * 2018-11-26 2021-08-24 Fraunhofer Ges Forschung Concepto de interprediccion que utiliza restricciones de independencia de mosaicos.
US20230027997A1 (en) * 2018-11-30 2023-01-26 FG Innovation Company Limited Systems and methods for signaling tile structures for pictures of coded video
AU2019392557A1 (en) * 2018-12-04 2021-06-24 Vid Scale, Inc. Tile group partitioning
CN113228519A (zh) * 2018-12-14 2021-08-06 华为技术有限公司 任意和环绕分块分组
CN114710668B (zh) * 2018-12-17 2023-05-12 华为技术有限公司 光栅扫描分块组与矩形分块组协调的解码方法、设备和介质
US11140403B2 (en) * 2018-12-20 2021-10-05 Tencent America LLC Identifying tile from network abstraction unit header
US11477445B2 (en) * 2018-12-28 2022-10-18 Hfi Innovation Inc. Methods and apparatuses of video data coding with tile grouping
CN113273193A (zh) * 2018-12-31 2021-08-17 华为技术有限公司 用于分块配置指示的编码器,解码器及对应方法
DK3906665T3 (da) 2019-01-09 2023-07-31 Huawei Tech Co Ltd Underbilleddimensionering i videokodning
US20200236377A1 (en) * 2019-01-22 2020-07-23 Tencent America LLC Method for tile group identification
WO2020175904A1 (ko) * 2019-02-26 2020-09-03 엘지전자 주식회사 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
WO2020175908A1 (ko) * 2019-02-26 2020-09-03 엘지전자 주식회사 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
WO2020175905A1 (ko) * 2019-02-26 2020-09-03 엘지전자 주식회사 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
WO2020185145A1 (en) * 2019-03-08 2020-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing encoding/decoding of dependent/independent partitions and related devices
EP3939271A1 (en) * 2019-03-11 2022-01-19 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Encoder and decoder, encoding method and decoding method with profile and level dependent coding options
MX2021010353A (es) * 2019-03-11 2021-09-30 Ericsson Telefon Ab L M Codificacion de video que comprende se?alizacion de grupos de mosaicos rectangulares.
GB2619435B (en) * 2019-03-20 2024-02-21 V Nova Int Ltd Low complexity enhancement video coding
KR20210130764A (ko) * 2019-03-21 2021-11-01 가온미디어 주식회사 픽쳐 분할을 처리하는 영상 부호화 방법, 영상 복호화 방법 및 그 장치
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
WO2021044974A1 (ja) * 2019-09-06 2021-03-11 株式会社ソニー・インタラクティブエンタテインメント 送信装置、受信装置、送信方法、受信方法及びプログラム
EP4035387A4 (en) 2019-09-27 2023-10-18 Nokia Technologies Oy FACTIONAL ARBITRARY TILE GROUPING
JP7469488B2 (ja) 2020-02-14 2024-04-16 北京字節跳動網絡技術有限公司 インループフィルタリングと映像スライスとの間の相互作用
US20230254489A1 (en) * 2022-02-07 2023-08-10 Tencent America LLC Adaptive context-based adaptive binary arithmetic coding (cabac) initial state selection from coded pictures
FR3139260A1 (fr) 2022-08-25 2024-03-01 S.A. Vitec Lissage hors boucle de codage d’une frontière entre deux zones d’image

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1965321A (zh) * 2003-09-07 2007-05-16 微软公司 视频编解码器中的片层
CN102647589A (zh) * 2011-02-18 2012-08-22 Arm有限公司 并行视频解码

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638128A (en) 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
US6404814B1 (en) 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
JP2003204439A (ja) * 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
FI114679B (fi) 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP2005533444A (ja) * 2002-07-16 2005-11-04 ノキア コーポレイション 画像符号化におけるランダム・アクセス及び段階的画像更新に対する方法
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
EP1935182B1 (en) 2005-10-11 2016-11-23 Nokia Technologies Oy System and method for efficient scalable stream adaptation
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US20100232504A1 (en) * 2009-03-13 2010-09-16 The State of Oregon acting by and through the State Board of Higher Education on behalf of the Supporting region-of-interest cropping through constrained compression
KR102405997B1 (ko) 2010-04-13 2022-06-07 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
US9300976B2 (en) 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
US20120243614A1 (en) 2011-03-22 2012-09-27 Danny Hong Alternative block coding order in video coding
US9338465B2 (en) * 2011-06-30 2016-05-10 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US9521418B2 (en) * 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
BR112013027865B1 (pt) * 2012-02-03 2023-03-21 Hfi Innovation Inc Método e aparelho de processamento de filtro em loop para pixels de fronteira através de uma fronteira de bloco
US9681155B2 (en) * 2013-03-15 2017-06-13 Sony Interactive Entertainment America Llc Recovery from packet loss during transmission of compressed video streams
US9749627B2 (en) 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1965321A (zh) * 2003-09-07 2007-05-16 微软公司 视频编解码器中的片层
CN102647589A (zh) * 2011-02-18 2012-08-22 Arm有限公司 并行视频解码

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ROI tile sections;Yan Ye等;《JCT-VC 11th Meeting: Shanghai, Document: JCTVC-K0248》;20121019;摘要、正文第1-2、4部分 *

Also Published As

Publication number Publication date
BR112015025393B1 (pt) 2022-12-20
AU2013385808B2 (en) 2017-09-21
JP6449852B2 (ja) 2019-01-09
CN105432082A (zh) 2016-03-23
KR102178769B1 (ko) 2020-11-13
EP3606068A1 (en) 2020-02-05
MX2015014202A (es) 2016-05-05
RU2648592C2 (ru) 2018-03-26
AU2013385808A1 (en) 2015-10-22
WO2014168650A1 (en) 2014-10-16
JP2016519516A (ja) 2016-06-30
BR112015025393A2 (pt) 2017-08-29
US10523933B2 (en) 2019-12-31
RU2015142850A (ru) 2017-04-12
EP2984823B1 (en) 2019-12-04
KR20150140360A (ko) 2015-12-15
BR122022001588B1 (pt) 2022-12-20
CA2908007A1 (en) 2014-10-16
EP2984823A1 (en) 2016-02-17
US9749627B2 (en) 2017-08-29
MX358071B (es) 2018-08-03
US20140301464A1 (en) 2014-10-09
US20170318288A1 (en) 2017-11-02
CA2908007C (en) 2020-07-28

Similar Documents

Publication Publication Date Title
CN105432082B (zh) 用于兴趣区编码的运动约束图块集合
CN105900420B (zh) 选择运动向量精度
CN105659606B (zh) 用于视频和图像编码和解码的方法、***和介质
CN105264888B (zh) 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
CN105230023B (zh) 色彩空间、色彩采样率和/或比特深度的自适应切换
CN105432077B (zh) 在切换色彩空间时调整量化/缩放和逆量化/缩放
CN105027570B (zh) 用来简化视频拼接的缓冲信息的语法和语义
CN106797479B (zh) 对于并行处理的帧内块复制预测限制
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN105874795B (zh) 在波前并行处理被启用时对图片内预测模式的规则
CN104584560B (zh) 在去块时使用色度量化参数偏移
CN109076241A (zh) 利用样本值的非相邻参考线进行帧内图片预测
CN107409229A (zh) 指示编码区域的结束的语法结构
CN107211155A (zh) 图内块拷贝预测模式下的合并的色度块的特殊情况处理
CN107211150A (zh) 动态更新质量至较高的色度采样率
CN107113422A (zh) 用于视频编码和解码的灵活的参考图片管理
CN105917650A (zh) 视频和图像编码/解码中的块向量预测
KR20150067158A (ko) 고해상도 크로마 샘플링 포맷들의 프레임 팩킹 및 언팩킹 기법
CN106031177A (zh) 用于硬件加速的视频编码的主编码器
CN105230021B (zh) 屏幕内容的词典编码和解码
CN107439008A (zh) 减轻数字视频的互操作性情景中的损失
CN113574896B (zh) 获取帧内预测模式的方法、设备和电子设备
CN107409212A (zh) 用于编码和解码的使用变换系数的逐渐更新
KR20220165274A (ko) 비디오 코딩을 위한 방법 및 장치
RU2808148C1 (ru) Способ и устройство для кодирования видео

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