CN106416254B - 在媒体编码期间跳过评估阶段 - Google Patents

在媒体编码期间跳过评估阶段 Download PDF

Info

Publication number
CN106416254B
CN106416254B CN201580026724.6A CN201580026724A CN106416254B CN 106416254 B CN106416254 B CN 106416254B CN 201580026724 A CN201580026724 A CN 201580026724A CN 106416254 B CN106416254 B CN 106416254B
Authority
CN
China
Prior art keywords
picture
unit
encoder
size
coding
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
CN201580026724.6A
Other languages
English (en)
Other versions
CN106416254A (zh
Inventor
李斌
许继征
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 CN106416254A publication Critical patent/CN106416254A/zh
Application granted granted Critical
Publication of CN106416254B publication Critical patent/CN106416254B/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/127Prioritisation of hardware or computational resources
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本文中呈现了媒体编码方面的各种创新。具体地,这些创新可通过在编码期间选择性地跳过某些评估阶段来减少编码的计算复杂性。例如,基于对在编码较早期作出的判定的分析或者基于对要被编码的媒体的分析,编码器可选择性地跳过对一些编码工具(诸如残量编码或率失真优化量化)的评估、跳过对某些参数值或设置(诸如,候选单元尺寸或变换尺寸、或针对运动补偿的候选分割模式)的评估、和/或跳过对不预期在编码期间提升率失真性能的某些编码模式(诸如,频率变换跳过模式)的评估。

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标准的扩展处于开发中。视频编解码器标准通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于解码器应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。
随着新的视频编解码器标准和格式已被开发,可用于编码器的编码工具的数目已稳定增长,并且在编码期间对参数值、模式、设置等进行评估的选项的数目也已增长。同时,消费者已要求时间分辨率(例如,帧率)、空间分辨率(例如,帧尺寸)和被编码的视频质量方面的提升。作为这些因素的结果,根据当前视频编解码器标准和格式的视频编码是非常计算密集的。尽管计算机硬件方面有所提升,但在许多编码场景中,视频编码依然为耗时且资源密集的。
概述
总而言之,详细描述提出媒体编码方面的创新。具体地,这些创新可通过在编码期间选择性地跳过某些评估阶段来降低媒体编码的计算复杂性。例如,基于对在编码较早期作出的判定分析,或者基于对要编码的媒体的分析,媒体编码器可(例如通过降低比特率和/或提升质量来)跳过对某些编码工具、参数值或设置、或者不预期提升编码的率失真性能的编码模式的评估。
根据本文中描述的这些创新中的一个方面,媒体编码器对第一图片进行编码以产生经编码的数据,编码器输出该经编码的数据。对于第一图片,编码器确定阈值单元尺寸,该阈值单元尺寸指示以下单元尺寸:即当处于或低于该单元尺寸时,第一图片的阈值内容比例被达到。编码器还对按照编码次序在第一图片之后的第二图片进行编码,以产生经编码的数据,编码器输出该经编码的数据。在对第二图片进行编码时,编码器至少部分地基于第一图片的阈值单元尺寸来限制第二图片的至少一部分的单元尺寸。通过这种方式,基于第一图片中主要使用的(诸)单元尺寸,编码器可避免对在针对第二图片的编码期间不可能提升率失真性能的候选单元尺寸的评估,这趋于加速编码。
根据本文中描述的这些创新中的另一方面,媒体编码器对图片进行编码以产生经编码的数据,随后输出该经编码的数据。作为该编码的一部分,在对图片的单元进行编码时,编码器在残量编码跳过模式开启的情况下评估针对上下文运动模式的多个候选运动向量(“MV”)中的每一者。基于那个评估的结果,编码器在残量编码跳过模式关闭的情况下仅评估针对上下文运动模式的候选MV的子集。通过这种方式,当候选MV在编码期间不可能提升率失真性能时,编码器可在残量编码跳过模式关闭的情况下避免对那些候选MV的评估,这趋于加速编码。
根据本文中描述的这些创新中的另一方面,媒体编码器对图片进行编码以产生经编码的数据,随后输出该经编码的数据。作为该编码的一部分,编码器评估一个或多个条件。取决于该评估的结果,编码器选择性地应用率失真优化量化(“RDOQ”)或其他量化。通过这种方式,当RDOQ在编码期间不可能提升率失真性能时,编码器可避免对RDOQ的使用,这趋于加速编码。
根据本文中描述的这些创新中的另一方面,媒体编码器对图片进行编码以产生经编码的数据,随后输出该经编码的数据。作为该编码的一部分,编码器为该图片的当前单元设置单元尺寸。通过这样做,编码器确定至少一个毗邻单元(例如,同一图片中空间上毗邻的单元或另一图片中时间上毗邻的单元)的单元尺寸,并至少部分地基于(诸)毗邻单元的(诸)单元尺寸,选择性地跳过对当前单元的候选单元尺寸的评估。通过这种方式,基于各毗邻单元中使用的单元尺寸,编码器可避免对在编码期间不可能提升率失真性能的候选单元尺寸的评估,这趋于加速编码。
根据本文中描述的这些创新中的另一方面,媒体编码器对第一图片进行编码以产生经编码的数据,编码器输出该经编码的数据。对于第一图片,编码器测量对变换跳过模式的使用。编码器还对按照编码次序跟随第一图片的第二图片进行编码,以产生经编码的数据,编码器输出该经编码的数据。在对第二图片进行编码时,编码器至少部分地基于针对第一图片对变换跳过模式的使用来选择性地对第二图片禁用变换跳过模式。通过这种方式,基于测量到的在第一图片中对编码跳过模式的使用,当变换跳过模式在针对第二图片的编码期间不可能提升率失真性能时,编码器可避免对变换跳过模式的评估,这趋于加速编码。
根据本文中描述的这些创新中的另一方面,媒体编码器对图片进行编码以产生经编码的数据,随后输出该经编码的数据。作为该编码的一部分,编码器为该图片的单元设置变换尺寸或变换尺寸的组合。通过这样做,编码器评估当前变换尺寸时的条件。取决于对该条件的评估的结果,编码器选择性地跳过对是否将单元从当前变换尺寸拆分成具有更小变换尺寸的多个单元的评估。通过这种方式,当在编码期间拆分不可能提升率失真性能时,编码器可避免对针对单元的拆分的评估,这趋于加速编码。
根据本文中描述的这些创新中的另一方面,媒体编码器对图片进行编码以产生经编码的数据,随后输出该经编码的数据。作为该编码的一部分,编码器为图片的单元迭代地评估多个候选分割模式。对于给定候选分割模式,编码器取决于相对于阈值预测质量的预测质量来选择性地执行残量编码,该阈值预测质量至少部分地基于先前评估的候选分割模式的预测质量来设置。通过这种方式,编码器可避免针对在编码期间不可能提升率失真性能的候选分割模式的残量编码,这趋于加速编码。
本发明可以被实现为方法的部分、被配置为执行所述方法的计算系统的部分或存储用于使得计算系统执行所述方法的计算机可执行指令的有形计算机可读介质的部分。各创新可以结合地或分开地使用。例如,在一些实现中,本文中描述的所有创新都被纳入到媒体编码判定中。提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
附图简述
图1是可用于实现所描述的一些实施例的示例计算系统的框图。
图2a和2b是可用于实现所描述的一些实施例的示例网络环境的示图。
图3是结合其可实现所描述的一些实施例的示例编码器系统的示图。
图4a和4b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。
图5是示出用于评估图片的单元的候选单元尺寸的示例技术的流程图。
图6a-6d是示出具有在确定是否跳过对当前单元的候选单元尺寸的评估时考虑的单元尺寸的空间上毗邻的单元的示例的示图。
图7是示出组织在各时间层中的视频序列中的各图片的示图。
图8a和8b是示出具有在确定是否跳过对当前单元的候选单元尺寸的评估时考虑的单元尺寸的时间上毗邻的单元的示例的示图。
图9是示出用于对图片进行编码的通用技术的流程图,其中对图片的单元的候选单元尺寸的评估取决于至少一个毗邻单元的单元尺寸被选择性地跳过。
图10和11是示出用于设置图片的单元的单元尺寸的示例技术的流程图,其中对候选单元尺寸的评估取决于各毗邻单元的单元尺寸被选择性地跳过。
图12是示出确定并使用第一图片的阈值单元尺寸来限制另一图片中的各单元的单元尺寸的示例的示图。
图13是示出用于使用第一图片的阈值单元尺寸来限制另一图片中的各单元的单元尺寸的通用技术的流程图。
图14是用于设置图片的单元的单元尺寸的示例技术的流程图,其中来自另一图片的阈值单元尺寸限制该单元尺寸。
图15是示出使用针对第一图片的变换跳过模式使用的测量来选择性地禁用变换跳过模式在另一图片中的使用的示例的示图。
图16a和16b是示出用于使用针对第一图片的变换跳过模式使用的测量来限制变换跳过模式在另一图片中的使用的通用技术的流程图。
图17a和17b是分别示出在残量编码跳过模式开启或关闭的情况下为上下文运动模式考虑的候选运动向量(“MV”)的示例的示图。
图18是示出用于对图片进行编码的通用技术的流程图,该通用技术包括在残量编码跳过模式关闭的情况下选择性地跳过对针对上下文运动模式的候选MV的评估。
图19是示出用于对单元进行编码的示例技术的流程图,该示例技术包括在残量编码跳过模式关闭的情况下选择性地跳过对针对上下文运动模式的候选MV的评估。
图20a和20b是示出用于在编码期间选择性地使用率失真优化量化的技术的流程图。
图21是示出残量四叉树的示例的示图。
图22是示出用于对图片进行编码的通用技术的流程图,该通用技术包括选择性地跳过对是否将单元拆分成具有更小变换尺寸的多个单元的评估。
图23是示出使用运动补偿编码的单元的分割模式的示例的示图。
图24是示出用于对图片进行编码的通用技术的流程图,该通用技术包括选择性地跳过对针对用给定分割模式进行编码的残量编码的评估。
图25是示出用于选择性地跳过对针对用给定分割模式进行编码的残量编码的评估的示例技术的流程图。
详细描述
详细描述提出媒体编码方面的创新。具体地,这些创新可通过在编码期间选择性地跳过某些评估阶段来降低媒体编码的计算复杂性。例如,基于在编码较早期作出的判定分析,或者基于对要被编码的媒体的分析,媒体编码器可(例如通过降低比特率和/或提升质量来)跳过对某些编码工具、参数或设置的值、或者在编码期间不预期提升率失真性能的编码模式的评估。同时,跳过对编码工具、参数或设置的值、编码模式等的评估趋于加速编码。
虽然本文中描述的操作被适当描述为由视频编码器来执行,但在许多情况中,这些操作可由另一类型的媒体处理工具(例如图像编码器)来执行。
本文中描述的一些创新是参考专用于H.265/HEVC标准的条款来示出的。本文中描述的创新也可针对其他标准或格式(例如,VP9格式、H.264/AVC标准)来实现。
在本文中描述的示例中,不同的图中的相同参考标记指示相同的组件、模块或操作。取决于上下文,给定组件或模块可接受不同类型的信息作为输入和/或产生不同类型的信息作为输出。
更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。通常,所给出的技术/工具并不解决所有这些问题。
I.示例计算系统。
图1示出了在其中可实现若干所描述的发明的合适的计算环境(100)的一般化示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
参考图1,计算环境(100)包括一个或多个处理单元(110、115)和存储器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元(110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或两者的某种组合,可由处理单元存取。存储器(120,125)存储实现用于在媒体编码期间跳过各评估阶段的一个或多个创新的软件(180),该软件采用适用于由(诸)处理单元执行的计算机可执行指令的形式。
计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100)中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。
有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、诸如CD-ROM、DVD之类的光学媒体或可用于储存信息并可在计算系统(100)内访问的任何其他介质。存储(140)存储实现用于在媒体编码期间跳过各评估阶段的一个或多个创新的软件(180)的指令。
(诸)输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统(100)提供输入的另一设备。对于视频,(诸)输入设备(150)可以是相机、视频卡、TV调谐卡、屏幕捕捉模块或接受模拟或数字形式的视频输入的类似设备、或将视频输入读到计算系统(100)中的CD-ROM或CD-RW。(诸)输出设备(160)可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统(100)的输出的另一设备。
(诸)通信连接(170)允许通过通信介质与另一计算实体通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
各创新可以在计算机可读介质的一般上下文中描述。计算机可读介质是可在计算环境内访问的任何可用有形介质。作为示例而非局限,对于计算系统(100),计算机可读介质包括存储器(120、125)、存储(140)、和以上任意的组合。
各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中所描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
术语“系统”和“设备”在此被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计算硬件来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的方法中的任一者的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之类的ASIC、图像处理单元(“GPU”)、或诸如场可编程门阵列(“FPGA”)之类的可编程逻辑器件(“PLD”))来实现。
为了呈现起见,本详细描述使用了如“确定”和“评估”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
II.示例网络环境。
图2a和2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境(201,202)。编码器(220)和解码器(270)使用合适的通信协议通过网络(250)连接。网络(250)可包括因特网或另一计算机网络。
在如图2a中所示的网络环境(201)中,每个实时通信(“RTC”)工具(210)包括用于双向通信的编码器(220)和解码器(270)两者。给定的编码器(220)可以产生输出,该输出遵循H.265/HEVC标准、SMPTE 421M标准、ISO/IEC 14496-10标准(也称为H.264或AVC)、另一标准、或者诸如VP8或VP9之类的专有格式、或者那些标准或格式的变体或扩展,且相应的解码器(270)接受来自编码器(220)的经编码的数据。双向通信可以是视频会议、视频电话呼叫或其它双方或多方通信场景的部分。虽然,图2a中的网络环境(201)包括两个实时通信工具(210),但网络环境(201)可改为包括参与多方通信的三个或更多的实时通信工具(210)。
实时通信工具(210)管理编码器(220)做出的编码。图3示出可以被包括在实时通信工具(210)中的示例编码器系统(300)。替换地,实时通信工具(210)使用另一编码器系统。实时通信工具(210)还管理解码器(270)做出的解码。
在图2b中示出的网络环境(202)中,编码工具(212)包括编码递送给多个回放工具(214)的视频的编码器(220),所述回放工具包括解码器(270)。单向通信可被提供用于视频监视系统、web相机监视系统、远程桌面会议演示或在其中编码视频并将视频从一个位置发送到一个或多个其它位置的其它场景。虽然在图2b中的网络环境(202)包括两个回放工具(214),该网络环境(202)可以包括更多或更少的回放工具(214)。一般来说,回放工具(214)与编码工具(212)通信以确定回放工具(214)要接收的视频流。回放工具(214)接收该流、缓冲所接收的经编码数据达合适的时间段并开始解码和回放。
图3示出可以被包括在编码工具(212)中的示例编码器系统(300)。替换地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放工具(214)的连接的服务器侧控制器逻辑。回放工具(214)可包括用于管理与编码工具(212)的连接的客户机侧控制器逻辑。
III.示例编码器系统。
图3是结合其可实现一些所述的实施例的示例编码器系统(300)的框图。编码器系统(300)可以是能够用多种编码模式中的任一者(诸如用于实时通信的低等待时间编码模式、转码模式和用于从文件或流中产生供回放的媒体的较高等待时间编码模式)操作的通用编码工具,或它可以是适用于一种这样的编码模式的专用编码工具。编码器系统(300)可适用于对特定类型的内容进行编码或者适用于通用视频编码。编码器系统(300)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,编码系统(300)从视频源(310)接收源视频图片(311)序列并产生经编码的数据作为给信道(390)的输出。输出到信道的经编码的数据可包括使用本文中描述的一个或多个创新编码的内容。
视频源(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之类的变体。色度样本值可以被子采样到较低的色度采样率(例如针对YUV 4:2:0格式或YUV 4:2:2格式的情况),或者色度样本值可以具有与亮度样本值相同的分辨率(例如针对YUV 4:4:4格式的情况)。替换地,视频可根据另一格式(例如RGB4:4:4格式、GBR 4:4:4格式或BGR 4: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)、VPx格式、或前述标准或格式之一的变型或扩展、或者另一格式。
编码器(340)可以将图片分隔成相同尺寸或不同尺寸的多个小块。例如,编码器(340)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。小块通常被用于提供并行处理的选项。图片还可以被组织为一个或多个片,其中一个片可以是整个图片或图片的部分。片可以独立于图片中的其它片被编码,这改善了错误复原力。出于编码和解码的目的,片或小块的内容被进一步分隔成块或其它采样值集。
对于基于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可具有为64x64、32x32、16x16或8x8的尺寸(涉及CU中的亮度CB的尺寸)。
通常,CU具有诸如帧间或帧内之类的预测模式。出于信号化预测信息(例如预测模式细节、移位值等)和/或预测处理的目的,CU包括一个或多个预测单元。预测单元(“PU”)具有亮度预测块(“PB”)和两个对应的色度PB。根据H.265/HEVC标准,对于图片内预测的CU,PU具有与该CU相同的尺寸,除非该CU具有最小尺寸(例如8x8)。在那个情况下,CU可被拆分成更小的PU(例如,如果最小CU尺寸为8x8,则被拆分成四个4x4PU,对于图片内预测情况),或者PU可具有最小CU尺寸,如CU的句法元素所指示的。对于图片间预测的CU,该CU可具有一个、两个或四个PU,其中拆分成四个PU仅在该CU具有最小可允许尺寸的情况下被允许。当CU具有一个分割(即所谓的2Nx2N分割)时,PU和CU是同延的。当CU具有四个PU(所谓的NxN分割)时,每一PU覆盖该CU的一象限。当CU具有两个PU时,这两个PU可按以下各分割模式中的任一分割模式来配置:上半部和下半部(即所谓的2NxN分割)、左半部和右半部(即所谓的Nx2N分割)、顶部的四分之一和其余部分(即所谓的2NxnU分割)、底部的四分之一和其余部分(即所谓的2NxnD分割)、左边的四分之一和其余部分(即所谓的nLx2N分割)或右边的四分之一和其余部分(即所谓的nRx2N分割)。
出于残量编码和解码的目的,CU还具有一个或多个变换单元,其中变换单元(“TU”)具有亮度变换块(“TB”)和两个色度TB。CU可包含单个TU(在尺寸上等于该CU)或多个TU。根据四叉树句法,TU可被拆分为四个更小的TU,这些TU可进而根据四叉树句法被拆分成更小的TU。在一些示例实现中,TU可具有为32x32、16x16、8x8或4x4的尺寸(表示TU中的亮度TB的尺寸)。编码器决定如何将视频分割成CTU、CU、PU、TU等。
在H.265/HEVC实现中,片可以包括单个片段(独立的片段)或被划分成多个片段(独立的片段和一个或多个从属的片段)。片段是在小块扫描中包含在单个网络抽象层(“NAL”)单元中的连续排序的整数个CTU。对于独立的片段,片段头部包括适用于该独立的片段的句法元素的值。对于从属片段,截短的片段头部包括适用于该从属片段的句法元素的几个值,并且从属片段的其它句法元素的值是以解码顺序从在前的独立的片段的值中推导出来的。
如本文中所使用的,术语“块”可以指示残量数据单元、CTB、CB、PB或TB,或某些其它采样值集,这取决于上下文。术语“单元”可以指示宏块、CTU、CU、PU、TU或某些其他块集,或它可指示单个块,这取决于上下文。
回到图3,编码器根据来自源图片(331)中的其它、先前重构的样本值的预测来表示该图片(331)的经图片内编码的块。对于块的帧内空间预测,图片内估计器估计相邻的经重构样本值到该块的外插。图片内估计器可以输出经熵编码的预测信息(例如帧内空间预测的预测模式(方向))。图片内预测预测器应用预测信息来确定帧内预测值。编码器(340)依据来自参考图片的预测表示源图片(331)的经图片间编码的经预测的块。运动估计器估计块相对于一个或多个参考图片(369)的运动。对于上下文运动模式,运动估计器可评估在运动补偿时对某些相邻块使用的或者以其他方式依据规则推导出的运动向量(“MV”)(即所谓的H.265/HEVC标准中的合并模式MV,或者通过MV竞争方法推导出的其他MV)。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。经运动补偿的预测参考区域是(诸)参考图片中用于生成当前图片的样本值块的经运动补偿的预测值的样本值区域。运动估计器输出诸如MV量信息之类的运动信息,该运动信息被熵编码。具体地,指示上下文运动模式(例如,H.265/HEVC标准中的合并模式或其他MV竞争方法)是否被使用的信息以及在上下文运动模式被使用的情况下指示针对上下文运动模式的候选MV的信息可被高效地信号化。运动补偿器将MV应用于参考图片(369)以确定用于图片间预测的经运动补偿的预测值。
编码器可确定块的预测值(帧内或帧间)和相应的原始值之间的差值(如果有的话)。这些预测残量使用频率变换(如果该频率变换不被跳过)、量化和熵编码被进一步编码。在一些实现中,可以跳过频率变换。在这种情况中,可以对预测残量进行量化和熵编码。具体地,在对屏幕内容视频进行编码时,变换跳过模式可能是有用的。
对于量化,编码器(340)为图片、小块、片和/或视频的其它部分设置量化参数(“QP”)的值,并相应地量化变换系数。在量化变换系数时,编码器(340)可使用各种方法中的任一种,包括率失真优化量化(“RDOQ”)或其他量化。
编码器(340)的熵编码器压缩经量化的变换系数值以及某些辅助信息(例如MV信息、QP值、模式判定、参数选择)。典型的熵编码技术包括指数-Golomb编码、Golomb-Rice编码、算术编码、差分编码、Huffman编码、行程长度编码、可变长度对可变长度(“V2V”)编码、可变长度对固定长度(“V2F”)编码、Lempel-Ziv(“LZ”)编码、字典编码、概率区间分割熵编码(“PIPE”)和上述编码的组合。熵编码器可对不同种类的信息使用不同的编码技术,并可组合地应用多个技术(例如,通过应用Golomb-Rice编码,随后应用算术编码),并可从特定编码技术内的多个码表中进行选择。在一些情况下,对于某单元,可跳过对预测残量的编码。以下进一步详述了残量编码跳过模式的示例。
自适应去块滤波器可以被包括在编码器(340)中的运动补偿循环(也即“循环内”滤波)中以平滑经解码的图片中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(诸如去振铃滤波、自适应环路滤波(“ALF”)或样本自适应偏移(“SAO”)滤波,未示出)作为内环路滤波操作。
由编码器(340)产生的经编码的数据包括针对各层比特流句法的句法元素。对于根据H.265/HEVC的标准的句法,例如,图片参数集(“PPS”)是包含了与图片相关联的句法元素的句法结构。PPS可被用于单个图片,或者PPS可被重用于序列中的多个图片。PPS典型地与图片的经编码的数据分开地发送信号(例如PPS的一个NAL单元和用于图片的经编码的数据的一个或多个其它NAL单元)。在图片的经编码数据内,句法元素指示要为该图片使用哪个PPS。类似地,对于根据H.265/HEVC的标准的句法,序列参数集(“SPS”)是包含了与图片的序列相关联的句法元素的句法结构。比特流可包括单个SPS或多个SPS。SPS通常被信号化成与序列的其它数据分开,并且其它数据中的句法元素指示要使用哪个SPS。
经编码的图片(341)和MMCO/RPS信息(342)(或与MMCO/RPS信息(342)等价的信息,因为在编码器(340)处已经知道各图片的依赖关系和排序结构)而由解码处理仿真器(350)处理。解码处理仿真器(350)实现了解码器的一些功能,例如对任务进行解码以重构参考图片。以与MMCO/RPS信息(342)相一致的方式,解码处理仿真器(350)确定给定的经编码帧(341)是否需要被重构并被存储以供在对要编码的后续图片的图片间预测中用作参考帧。如果经编码的图片(341)需要被存储,则解码处理仿真器(350)对将由解码器进行的解码处理建模,该解码器接收经编码的图片(341)并产生相应的经解码的图片(351)。通过这么做,当编码器(340)已经使用已被存储在经解码图片存储区域(360)中的经解码的(诸)图片(369)时,解码处理仿真器(350)还使用来自存储区域(360)的经解码的图片(369)作为解码处理的一部分。
经解码图片临时存储器存储区域(360)包括多个图片缓冲存储区域(361,362,…,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/IEC 13818-1或因特网实时传输协议格式(例如IETF RFC 3550)),在这种情况中,信道编码器(380)可以添加句法元素作为媒体传输流的句法的一部分。或者,信道编码器(380)可以组织经聚集的数据以供存储成文件(例如根据媒体容器格式,诸如ISO/IEC 14496-12),在这种情况中信道编码器(380)可添加句法元素作为媒体存储文件的句法的一部分。或者,更一般地,信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在这种情况中,信道编码器(380)可以添加句法元素作为(诸)协议的句法的一部分。信道编码器(380)将输出提供给信道(390),该信道(390)表示存储、通信连接或该输出的另一信道。信道编码器(380)或信道(390)还可以包括例如用于前向纠错(“FEC”)编码和模拟信号调制的其它元素(未示出)。
IV.示例视频编码器
图4a和4b是可结合其实现所描述的一些实施例的通用视频编码器(400)的框图。编码器(400)接收包括当前图片的视频图片序列作为输入视频信号(405)并在经编码视频比特流(495)中产生经编码数据作为输出。
编码器(400)是基于块的并使用取决于实现的块格式。块还可在不同的阶段上被进一步细分,例如在预测、频率变换和/或熵编码阶段。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块随后可以被划分成更小的样本值块以用于编码和解码。在针对H.265/HEVC标准的编码的实现中,编码器将图片分割成各CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
编码器(400)使用图片内编码和/或图片间编码来压缩图片。编码器(400)的许多组件被用于图片内编码和图片间编码两者。由这些组件执行的确切操作可取决于正压缩的信息的类型而变化。
小块化模块(410)可选地将图片分割成相同尺寸或不同尺寸的多个小块。例如,小块化模块(410)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。在H.265/HEVC实现中,编码器(400)将图片分割成一个或多个片,其中每个片包括一个或多个片段。
通用编码控件(420)接收输入视频信号(405)的图片以及来自编码器(400)的各个模块的反馈(未示出)。整体上,通用编码控件(420)将控制信号(未示出)提供给其它模块(例如小块化模块(410)、变换器/缩放器/量化器(430)、缩放器/逆变换器(435)、图片内估计器(440)、运动估计器(450)以及帧内/帧间切换)以设置和改变编码期间的编码参数。通用编码控件(420)还可评估编码期间的中间结果,通常考虑不同选项的比特率成本和/或失真成本。具体地,通用编码控件(420)可决定在编码期间如何将图片拆分成CU(CB)、PU(PB)和TU(TB)。通过这么做,通用编码控件(420)可评估如章节V和/或VI中所述的条件以决定何时跳过对某些CU尺寸的评估。或者,通用编码控件(420)可评估如章节X中所述的条件以决定何时跳过对某些TU尺寸的评估。或者,通用编码控件(420)与运动估计器(450)一起工作可决定上下文运动模式的哪些候选MV要完全评估(如章节VIII中所描述的)或决定哪些分割模式有益于全面深入评估(如章节XI中所描述的)。或者,通用编码控件(420)可决定在编码期间是否以及如何使用变换跳过模式,如在章节VII中描述的。或者,通用编码控件(420)可决定何时使用RDOQ或更简单的方法来量化系数,如在章节IX中描述的。通用编码控件(420)产生指示在编码期间作出的判定的通用控制数据(422),使得对应的解码器可以作出一致的判定。通用控制数据(422)被提供给头部格式化器/熵编码器(490)。
如果当前图片是使用图片间预测来预测的,则运动估计器(450)估计输入视频信号(405)的当前图片的样本值块相对于一个或多个参考图片的运动,从而潜在地评估上下文运动模式中的候选MV以及其他候选MV。对于上下文运动模式,作为当前单元的候选MV,运动估计器(450)评估在运动补偿时对局部邻域中的某些相邻单元使用的一个或多个MV或依据规则推导出的一个或多个MV。针对上下文运动模式的候选MV可包括来自空间上毗邻的单元的MV、来自时间上毗邻的单元的MV以及依据规则推导出的MV。H.265/HEVC标准中的合并模式是上下文运动模式的示例。更一般地,上下文运动模式涉及多个推导出的MV之间的竞争以及对多个推导出的MV之一的选择。当运动在局部区域内一致时,存在针对上下文运动模式的候选MV之一将提供对当前块的充分的经运动补偿的预测的良好机会,使得运动估计器(450)可在早期终止运动估计。运动估计器(450)可针对当前图片的给定单元的分割(例如,在H.265/HEVC标准中为CU的各PU的2N×2N、2N×N、N×2N或N×N分割)评估运动补偿的不同分割模式。
经解码图片缓冲器(470)缓冲一个或多个经重构的先前编码的图片以供用作参考图片。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(450)产生运动数据(452)作为辅助信息。具体地,运动数据(452)可包括指示上下文运动模式(例如,在H.265/HEVC标准中为合并模式)是否被使用的信息,以及如果上下文运动模式被使用,则包括指示上下文运动模式(例如,H.265/HEVC标准中的合并模式索引值)的候选MV的信息。更一般地,运动数据(452)可包括MV数据和参考图片选择数据。运动数据(452)被提供给头部格式化器/熵编码器(490)以及运动补偿器(455)。运动补偿器(455)将MV应用于来自经解码图片缓冲器(470)的(诸)经重构的参考图片。运动补偿器(455)产生针对当前图片的经运动补偿的预测。
在编码器(400)内的分开的路径中,图片内估计器(440)确定如何执行对输入视频信号(405)的当前图片的样本值块的图片内预测。当前图片可全部或部分使用图片内编码来编码。对于空间内预测,使用当前图片的重构(438)的值,图片内估计器(440)确定如何从当前图片的邻近的、先前重构的样本值中空间地预测当前图片的当前块的样本值。图片内估计器(440)产生帧内预测数据(442)作为辅助信息,诸如指示帧内预测是否使用空间预测的信息以及(帧内空间预测的)预测模式方向。图片内预测数据(442)被提供给头部格式化器/熵编码器(490)以及图片内预测器(445)。根据图片内预测数据(442),图片内预测器(445)从当前图片的邻近的先前重构的样本值中在空间上预测当前图片的当前块的采样值。
帧内/帧间切换选择对给定块的预测(458)将是经运动补偿的预测还是图片内预测。当残量编码没有被跳过时,预测(458)的块和输入视频信号(405)的原始当前图片的对应部分之间的差(如果有的话)提供残量(418)的值,该残量被进一步编码。在当前图片的重构期间,当残量已被编码/信号化时,经重构的残量与预测(458)组合来从视频信号(405)中产生对原始内容的近似或实际重构(438)。(在有损压缩中,一些信息从视频信号(405)中丢失。)在一些情况下,没有为单元计算残量。相反,残量编码被跳过,并且预测的样本值被用作经重构的样本值。对于一些类型的单元(例如,仅图片间编码单元)或所有类型的单元,关于是否跳过残量编码的判定可在逐单元的基础上(例如,在H.265/HEVC标准中在逐CU的基础上)作出。
作为残量编码的一部分,在变换器/缩放器/量化器(430)中,频率变换器将空间域视频信息转换为频域(即频谱、变换)数据。对于基于块的视频编码,频率变换器将离散余弦变换(“DCT”)、其整数近似、或另一类型的前向块变换(例如离散正弦变换或其整数近似)应用于预测残量(418)的值块(或者如果预测(458)为空则应用于样本值数据),从而产生频率变换系数块。变换器/缩放器/量化器(430)可以应用具有可变块尺寸的变换。在这种情况中,变换器/缩放器/量化器(430)可以确定要对当前块的残量使用哪些尺寸的变换。例如,在H.265/HEVC实现中,编码器/缩放器/量化器(430)可通过四叉树分解将TU拆分成四个更小的TU,这些TU中的每一者可进而被拆分成四个更小的TU,向下至最小TU尺寸。TU尺寸可以为32x32、16x16、8x8或4x4(涉及TU中的亮度TB的尺寸)。
在H.265/HEVC实现中,可以跳过频率变换。在这种情况下,可以对残量(418)的值进行量化和熵编码。具体地,变换跳过模式在对屏幕内容视频进行编码时可以是有用的,但在对其他类型的视频进行编码时不是特别有用。关于是否跳过频率变换的判定可在逐单元的基础上(例如,在H.265/HEVC标准中为在逐TU的基础上)对一些单元(例如,具有诸如4x4之类的特定尺寸的TU)或者对所有单元作出。变换跳过模式可在逐图片的基础上(例如,在H.265/HEVC标准中为根据PPS中的句法元素)被启用或禁用。
缩放器/量化器对变换系数进行缩放和量化。例如,量化器将以逐图片基础、逐小块基础、逐片基础、逐块基础、频率专用基础或其它基础来变化的量化步进尺寸将死区标量量化应用于频域数据。经量化的变换系数数据(432)被提供给头部格式化器/熵编码器(490)。如果频率变换被跳过,则缩放器/量化器可对预测残量数据块(或如果预测(458)为空则对样本值)进行缩放和量化,从而生成要提供给头部格式化器/熵编码器(490)的经量化的值。在量化变换系数时,编码器(400)可使用率失真优化量化(“RDOQ),这是非常耗时的。对于RDOQ,编码器为每一系数设置最优量化级别,从而基于率失真效率适应性地调整系数值。替换地,编码器(400)可应用较简单的量化规则,例如在章节IX中所描述的。
为了重构残量,在缩放器/逆变换器(435)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。当变换阶段尚未被跳过时,逆频率变换器执行逆频率变换,从而产生经重构的预测残量或样本值的块。如果变换阶段已经被跳过,则也跳过逆频率变换。在这种情况下,缩放器/逆量化器可对预测残量数据(或样本值数据)的块执行逆缩放和逆量化,从而产生经重构的值。当残量已经被编码/信号化时,编码器(400)将经重构的残量与预测(458)的值(例如,运动补偿预测值、图片内预测值)组合以形成重构(438)。当残量尚未被编码/信号化时,编码器(400)使用预测(458)的值作为重构(438)。
对于图片内预测,重构(438)的值可以被馈送回图片内估计器(440)和图片内预测器(445)。重构(438)的值可以被用于后续图片的运动补偿预测。重构(438)的值可被进一步滤波。对于视频信号(405)的给定图片,滤波控件(460)确定如何对重构(438)的值执行去块滤波和SAO滤波。滤波控件(460)产生滤波控制数据(462),它被提供给头部格式化器/熵编码器(490)和合并器/(诸)滤波器(465)。
在合并器/(诸)滤波器(465)中,编码器(400)将来自不同小块的内容合并到图片的经重构版本中。编码器(400)根据滤波器控制数据(462)和滤波器自适应规则选择性地执行去块滤波和SAO滤波,以便自适应地平滑各图片中的边界上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波或ALF;未示出)。取决于编码器(400)的设置,边界可选择性地被滤波或根本不被滤波,并且编码器(400)可在编码比特流内提供句法元素以指示是否应用这样的滤波。经解码图片缓冲器(470)缓冲经重构的当前图片以供在后续的经运动补偿的预测中使用。
头部格式化器/熵编码器(490)对通用控制数据(422)、经量化的变换系数数据(432)、帧内预测数据(442)、运动数据(452)以及滤波器控制数据(462)进行格式化和/或熵编码。对于运动数据(452),头部格式化器/熵编码器(490)可以选择上下文运动模式索引值、参考图片选择数据或其他MV数据并对其进行熵编码。在一些情况中,头部格式化器/熵编码器(490)还(相对于MV值的MV预测值)确定MV值的MV差分,随后例如使用上下文自适应二进制算术编码对该MV微分进行熵编码。头部格式化器/熵编码器(490)在经编码的视频比特流(495)中提供经编码的数据。经编码的视频位流的格式(495)可以是H.265/HEVC格式、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)、VPx格式、前述标准或格式之一的变型或扩展、或另一格式。
取决于实现和期望的压缩类型,编码器(400)的模块可被添加、省略、拆分成多个模块、与其它模块组合、和/或用相似的模块来替代。在替换实施例中,具有不同模块和/或其它配置的模块的编码器执行一个或多个所描述的技术。编码器的具体实施例通常使用编码器(400)的变型或补充版本。所示的编码器(400)内的各模块之间的关系指示信息在编码器中的一般流动;为简明起见,未示出其它关系。
V.取决于毗邻单元的单元尺寸跳过对候选单元尺寸的评估。
本章节呈现包括取决于毗邻单元(例如,空间上毗邻的单元和/或时间上毗邻的单元)的单元尺寸选择性地跳过对候选单元尺寸的评估的编码示例。在许多情况中,在当前单元的编码期间,基于毗邻单元中使用的单元尺寸,编码器可避免对不可能提升率失真性能的候选单元尺寸的评估,这趋于加速编码。
A.通过递归式完全评估来选择单元尺寸。
在一些方法中,为了提升率失真效率,编码器检查单元的每一可能单元尺寸。图5示出用于使用完全递归式评估来评估图片的单元的候选单元尺寸的示例技术(500)。诸如参考图3描述的编码器(340)、参考图4a和4b描述的编码器(400)之类的编码器或其他编码器可执行技术(500)。
开始,编码器确定(510)对具有当前单元尺寸的当前单元进行编码的成本。例如,根据H.265/HEVC标准,当前单元为CU。替换地,单元为另一类型的单元。当前单元尺寸为64x64、32x32、16x16、8x8或某一其他单元尺寸。该成本可使用任何可用的度量根据速率成本和/或失真成本来测量,并且可以是估计值或取决于实际编码的结果。
编码器检查(520)是否将当前单元拆分成多个更小的单元。例如,根据四叉树分解,多个更小的单元是当前单元的四叉树。编码器可检查当前单元是否已达到单元的最小尺寸,并且如果为否,则进一步拆分当前单元。
如果当前单元没有被拆分,则编码器返回(560)最佳单元尺寸和用于对当前单元进行编码的相应最佳成本的组合。在该情况下,最佳单元尺寸是当前单元尺寸,且最佳成本是对处于当前单元尺寸的当前单元进行编码的成本。
否则,如果当前单元将被拆分,则编码器将当前单元拆分(530)成具有更小单元尺寸的多个新单元,并为具有更小单元尺寸的新单元中的每一者调用(540)评估例程。在评估例程中,具有更小单元尺寸的新单元被评估(如图5所示),并且(诸)最佳单元尺寸和用于对新单元进行编码的相应最佳成本的组合被返回(560)。
随后,编码器比较(550)(a)(来自阶段510的)对处于当前单元尺寸的当前单元进行编码的成本与(b)(从阶段540中的多个调用返回的)对处于更小单元尺寸的(经拆分的)新单元进行编码的聚集成本。从这两个选项中,编码器返回(560)(诸)最佳单元尺寸和用于对当前单元进行编码的相应最佳成本的组合—即具有更小成本的一个或多个单元尺寸与更小成本的值。
通过这种方式,编码器可穷尽地为当前单元内的更小单元评估单元尺寸的不同组合。例如,编码器可确定对64x64CU进行编码的成本,随后将该64x64CU拆分成四个32x32CU。对于此四个32x32CU中的每一者,编码器可确定对该32x32CU进行编码的成本,随后将该32x32CU拆分成四个16x16CU。这会继续,直到编码器达到具有最小CU尺寸(例如,16x16或8x8)的CU,该CU不被进一步拆分,并且其编码成本被返回。在那时,利用从四个更小的CU返回的结果,编码器将对处于最小CU尺寸的四个CU(例如,四个8x8CU)进行编码的聚集成本与对包括那四个CU的CU(例如,一个16x16CU)进行编码的成本进行比较。编码器返回具有更小成本的(诸)单元尺寸。例如对于16x16CU,(诸)单元尺寸的最佳组合可以是一个16x16CU或四个8x8CU。类似地,对于一个32x32CU,(诸)单元尺寸的最佳组合可以是一个32x32CU、四个16x16CU、三个16x16CU和16x16象限中的四个8x8CU、两个16x16CU和两个16x16象限中的八个8x8CU、一个16x16CU和三个16x16象限中的十二个8x8CU、或者十六个8x8CU。对于64x64CU,单元尺寸的最佳组合可以是64x64CU、四个32x32CU、或涉及这些32x32CU中的一者或多者已被如以上所描述地拆分的任何组合。
B.取决于空间上毗邻的单元的单元尺寸跳过对候选单元尺寸的评估的示例。
为了加速编码过程,编码器可取决于空间上相邻的单元的单元尺寸而跳过对当前单元的一些候选单元尺寸的评估。例如,编码器考虑在当前单元左边的单元和在当前单元上方的单元的单元尺寸。替换地,编码器考虑其他的和/或附加的相对于当前单元在空间上毗邻的单元的单元尺寸。如果空间上毗邻的单元的单元尺寸一致地小,则当前单元的小单元尺寸可能是合适的,并且编码器可跳过对当前单元的大单元尺寸的评估。相反,如果空间上毗邻的单元的单元尺寸一致地大,则当前单元的大单元尺寸可能是合适的,并且编码器可跳过对当前单元的小单元尺寸的评估。
单元尺寸可作为相对于最大单元尺寸的起始深度的深度被跟踪。假设当前单元具有最大单元尺寸。在该情况下,当前单元的深度为0。如果当前单元的尺寸为最大单元尺寸的1/4,则当前单元的深度为1,并以此类推。由此,如果最大单元尺寸为64x64,则64x64单元的深度为0,32x32单元的深度为1,16x16单元的深度为2,并且8x8单元的深度为3。
编码器在决定要跳过哪些候选单元尺寸时可按各种方式使用空间上毗邻的单元的单元尺寸。例如,根据一个规则,编码器确定空间上毗邻的单元的单元尺寸之中的最小单元尺寸,并使用该最小单元尺寸来限制为当前单元评估哪些候选单元尺寸。编码器可跳过对比(空间上毗邻的单元之中的)最小单元尺寸小的任何候选单元尺寸的评估。或者,编码器可跳过对比(空间上毗邻的单元之中的)最小单元尺寸小一个以下单元尺寸的任何候选单元尺寸的评估。当单元尺寸作为深度被跟踪时,编码器可确定空间上毗邻的单元的深度之中的最大深度,并跳过对具有比该最大深度大的深度(或替换地,最大深度+1)的任何候选单元尺寸的评估。
或者,作为另一示例规则,编码器确定空间上毗邻的单元的单元尺寸之中的最大单元尺寸,并使用该最大单元尺寸来限制为当前单元评估哪些候选单元尺寸。编码器可跳过对比(空间上毗邻的单元之中的)最大单元尺寸大的任何候选单元尺寸的评估。或者,编码器可跳过对比(空间上毗邻的单元之中的)最大单元尺寸大一个以上单元尺寸的任何候选单元尺寸的评估。当单元尺寸作为深度被跟踪时,编码器可确定空间上毗邻的单元的深度之中的最小深度,并跳过对具有比该最小深度小的深度(或替换地,最小深度-1)的任何候选单元尺寸的评估。
图6a-6d示出具有在确定是否跳过对当前单元的候选单元尺寸的评估时考虑的单元尺寸的空间上毗邻单元的示例。在图6a-6d中,供拆分成一个或多个单元的当前区域(610)被评估。例如,在H.265/HEVC实现中,当前区域(610)为当前CTU,并且这些单元为CU。替换地,该区域是另一类型的区域,并且单元是另一类型的单元。在当前区域上方的毗邻区域(650)(例如,上CTU)和在当前区域左边的毗邻区域(630)(例如,左CTU)可包括空间上毗邻当前区域(610)的当前单元的各单元(例如,CU)。在图6a-6d的示例中,上区域(650)和左区域(630)各自在先前编码期间被拆分成多个单元(例如,CU)。
在图6a-6d的示例中,编码器考虑在当前单元上方的单元和在当前单元左边的单元的单元尺寸。为了确定哪个单元在当前单元左边或在当前单元上方,编码器考虑当前单元的左上位置。上单元是包括紧接在当前单元的左上位置上方的位置的单元。左单元是包括紧接在当前单元的左上位置左边的位置的单元。毗邻(左或上)单元可具有与当前单元相同的尺寸,或者它可具有不同的尺寸。毗邻(左或上)单元可在当前区域(610)或毗邻区域中,这取决于当前单元在当前区域(610)内的位置。替换地,编码器应用其他规则来确定当前单元的左单元和上单元。
在图6a中,当前区域(610)包括具有为64x64的尺寸的单个当前单元(611)。编码器在评估当前单元(611)的候选单元尺寸时考虑处于左区域(630)的16x16单元(631)和处于上区域(650)的16x16单元(651)的单元尺寸假设编码器跳过对比左单元(631)和上单元(651)之中的最大单元尺寸(16x16)大一个以上尺寸的任何候选单元尺寸的评估。在该情况下,编码器跳过对64x64当前单元(611)的评估。
图6b示出在稍后阶段的评估。在图6b中,当前区域(610)已通过四叉树分解被拆分成四个32x32单元。当前单元(612)具有为32x32的尺寸。编码器在评估当前单元(612)的候选单元尺寸时考虑处于左区域(630)的16x16单元(631)和处于上区域(650)的16x16单元(651)的单元尺寸。假设编码器跳过对比左单元(631)和上单元(651)之中的最大单元尺寸(16x16)大一个以上尺寸的任何候选单元尺寸的评估。在该情况下,编码器执行对32x32当前单元(612)的评估。
图6c示出在比图6b晚的阶段的评估。在图6c中,当前区域(610)已通过四叉树分解被拆分成四个32x32单元,并且第一32x32单元已通过四叉树分解被进一步拆分成四个16x16单元。当前单元(613)具有为16x16的尺寸。编码器在评估当前单元(613)的候选单元尺寸时考虑处于左区域(630)的8x8单元(633)和处于当前区域(610)的16x16单元(653)的单元尺寸。假设编码器跳过对比左单元(633)和上单元(653)之中的最大单元尺寸(16x16)大一个以上尺寸的任何候选单元尺寸的评估。在该情况下,编码器执行对16x16当前单元(613)的评估。
最后,图6d示出在比图6c晚的阶段的评估。在图6d中,当前区域(610)已通过四叉树分解被拆分成四个32x32单元,并且前两个32x32单元已通过四叉树分解被进一步拆分成更小的单元。当前单元(614)具有为32x32的尺寸。编码器在评估当前单元(614)的候选单元尺寸时考虑处于左区域(630)的左8x8单元(633)和处于当前区域(610)的上8x8单元的单元尺寸。假设编码器跳过对比左单元和上单元之中的最大单元尺寸(8x8)大一个以上尺寸的任何候选单元尺寸的评估。在该情况下,编码器跳过对32x32当前单元(614)的评估。
C.取决于时间上毗邻的单元的单元尺寸跳过对候选单元尺寸的评估的示例。
为了加速编码过程,编码器可取决于时间上相邻的单元的单元尺寸而跳过对当前单元的一些候选单元尺寸的评估。例如,编码器考虑显示次序中的下一图片中的并置单元(与当前单元的位置相同)的单元尺寸和/或显示次序中的前一图片中的并置单元的单元尺寸。替换地,编码器考虑其他的和/或附加的时间上毗邻的单元的单元尺寸。如果时间上毗邻的单元的单元尺寸一致地小,则当前单元的小单元尺寸可能是合适的,并且编码器可跳过对当前单元的大单元尺寸的评估。相反,如果时间上毗邻的单元的单元尺寸一致地大,则当前单元的大单元尺寸可能是合适的,并且编码器可跳过对当前单元的小单元尺寸的评估。如前一章节所解释的,单元尺寸可作为相对于最大单元尺寸的起始深度的深度被跟踪。
编码器在决定要跳过哪些候选单元尺寸时可按各种方式使用时间上毗邻的单元的单元尺寸。例如,根据一个规则,编码器确定时间上毗邻的单元的单元尺寸之中的最小单元尺寸,并使用该最小单元尺寸来限制为当前单元评估哪些候选单元尺寸。编码器可跳过对比(时间上毗邻的单元之中的)最小单元尺寸小的任何候选单元尺寸的评估。或者,编码器可跳过对比(时间上毗邻的单元之中的)最小单元尺寸小一个以下单元尺寸的任何候选单元尺寸的评估。当单元尺寸作为深度被跟踪时,编码器可确定时间上毗邻的单元的深度之中的最大深度,并跳过对具有比该最大深度大的深度(或替换地,最大深度+1)的任何候选单元尺寸的评估。
或者,作为另一示例规则,编码器确定时间上毗邻的单元的单元尺寸之中的最大单元尺寸,并使用该最大单元尺寸来限制为当前单元评估哪些候选单元尺寸。编码器可跳过对比(时间上毗邻的单元之中的)最大单元尺寸大的任何候选单元尺寸的评估。或者,编码器可跳过对比(时间上毗邻的单元之中的)最大单元尺寸大一个以上单元尺寸的任何候选单元尺寸的评估。当单元尺寸作为深度被跟踪时,编码器可确定时间上毗邻的单元的深度之中的最小深度,并跳过对具有比该最小深度小的深度(或替换地,最小深度-1)的任何候选单元尺寸的评估。
图7示出组织在各时间层中的视频序列中的各图片的示例(700)。时间层0包括显示次序中的图片0和16,并且时间层1包括显示次序中的图片8。时间层2包括显示次序中的图片4和12。时间层3包括显示次序中的图片2、6、10和14。最后,时间层4包括显示次序中的图片1、3、5、7、9、11、13和15。图7中示出的编码结构可例如在B图片的编码中被使用,以实现时间分级,其中I-图片在时间层0中,P-图片在时间层1中,且B-图片在时间层2-4中。在该情况下,如果参考图片关系被适当地设置,则时间层4中的图片可被丢弃,而不会干扰时间层0-3中的图片的回放。或者,时间层3和4中的图片可被丢弃,而不会干扰时间层0-2中的图片的回放。
通常,越低时间层中的图片用越小的量化步长尺寸(越高的质量)来编码,并且越高时间层中的图片用越大的量化步长尺寸(越低质量)来编码。类似地,对于单元尺寸,越低时间层中的图片通常用越小的单元来编码,并且越高时间层中的图片通常用越大的单元来编码。
在对给定时间层中的图片的当前单元进行编码时,编码器找出更低时间层中的时间上毗邻图片中的并置单元。更低时间层可以是次低时间层,或者它可以低若干时间层。编码器在决定是否评估当前单元的候选单元尺寸时评估时间上毗邻单元的单元尺寸。
图8a和8b示出具有在确定是否跳过对当前图片中的当前单元的候选单元尺寸的评估时考虑的单元尺寸的时间上毗邻单元的示例。在图8a和8b中,供拆分成一个或多个单元的当前区域(810)被评估。例如,在H.265/HEVC实现中,当前区域(810)为当前CTU,并且这些单元为CU。替换地,该区域是另一类型的区域,并且单元是另一类型的单元。显示次序中的下一图片中的并置区域(830)(例如,CTU)以及显示次序中的前一图片中的并置区域(820)(例如,CTU)包括时间上毗邻当前区域(810)的当前单元的各单元(例如,CU)。在图8a的示例中,并置区域(820)在先前编码期间被拆分成多个单元(例如,CU)。
在图8a和8b的示例中,编码器考虑时间上毗邻当前单元的各并置单元的单元尺寸。为了确定哪些单元被并置,编码器考虑当前单元的左上位置。并置单元是另一图片中包括该左上位置的单元。并置单元可具有与当前单元相同的尺寸,或者它可具有不同的尺寸。替换地,编码器应用另一规则来确定当前单元的并置单元。
在图8a中,当前区域(810)包括具有为64x64的尺寸的单个当前单元(811)。在评估当前单元(811)的候选单元尺寸时,编码器考虑前一图片中的并置区域(820)中的32x32并置单元(821)以及下一图片中的并置区域(830)中的64x64并置单元(831)的单元尺寸。假设编码器跳过对比并置单元(821,831)之中的最小单元尺寸(32x32)小的任何候选单元的评估。在该情况下,编码器执行对64x64当前单元(811)的评估。
图8b示出在稍后阶段的评估。在图8b中,当前区域(810)已通过四叉树分解被拆分成四个32x32单元,并且第三象限中的32x32单元已被进一步拆分成四个16x16单元。当前单元(812)具有为16x16的尺寸。在评估当前单元(812)的候选单元尺寸时,编码器考虑前一图片中的并置区域(820)中的32x32并置单元(822)以及下一图片中的并置区域(830)中的64x64并置单元(831)的单元尺寸。假设编码器跳过对比并置单元(822,831)之中的最小单元尺寸(32x32)小的任何候选单元的评估。在该情况下,编码器跳过对16x16当前单元(812)的评估。有效地,当前单元尺寸一等于时间毗邻单元之中的最小单元尺寸,编码器就可停止评估进一步的拆分选项。
D.通常取决于毗邻单元的单元尺寸跳过对候选单元尺寸的评估。
图9示出用于对图片进行编码的通用技术(900),其中对图片的单元的候选单元尺寸的评估取决于至少一个毗邻单元的单元尺寸被选择性地跳过。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可执行技术(900)。
编码器对图片进行编码(910)以产生经编码的数据,编码器输出(920)该经编码的数据。作为编码(910)的一部分,编码器设置图片的当前单元的单元尺寸。通过这么做,编码器确定至少一个毗邻单元的单元尺寸,并至少部分地基于(诸)毗邻单元的(诸)单元尺寸来选择性地跳过对当前单元的候选单元尺寸的评估。例如,当前单元和(诸)毗邻单元是具有CU尺寸的CU(在H.265/HEVC实现中)。替换地,当前单元和(诸)毗邻单元是具有其他单元尺寸的其他类型的单元。编码器还可确定当前单元的当前单元尺寸,其中对候选单元尺寸的评估的跳过还取决于当前单元尺寸。例如,编码器取决于将当前单元的当前单元尺寸与至少一个毗邻单元的单元尺寸进行比较的结果,跳过对当前单元的候选单元尺寸的评估。
(诸)毗邻单元可以是相对于该图片的当前单元空间上毗邻的单元。图10示出用于为图片的单元设置单元尺寸的示例技术(1000),其中对候选单元尺寸的评估取决于空间上毗邻的单元的单元尺寸被选择性地跳过。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(1000)。图10中示出的技术(1000)的许多阶段与图5中示出的技术(500)的阶段相同,并且此处将不重复这样的阶段的描述。
为了确定至少一个空间上毗邻的单元的单元尺寸,编码器获得(1010)在当前单元左边的第一毗邻单元的单元尺寸(在该左毗邻单元可用的情况下)以及在当前单元上方的第二毗邻单元的单元尺寸(在上单元可用的情况下)。编码器随后确定第一毗邻单元的单元尺寸和第二毗邻单元的单元尺寸之中的最大单元尺寸。
编码器确定(1020)是否检查当前单元尺寸,并且如果如此,则检查(510)对处于当前单元尺寸的当前单元进行编码的成本。否则,编码器将当前单元直接拆分(530)成具有更小单元尺寸的多个新单元。例如,编码器跳过对距至少一个毗邻单元的单元尺寸(此处为第一和第二毗邻单元之中的最大单元尺寸)多于阈值差异的任何候选单元尺寸(当前单元尺寸)的评估。在比较(1050)(a)对处于当前单元尺寸的当前单元进行编码的成本(来自阶段510)与(b)对处于更小单元尺寸的(经拆分的)新单元进行编码的聚集成本(来自阶段540)时,对处于当前单元尺寸的当前单元进行编码的成本可能不是可用的。否则,比较阶段(1050)与参考图5描述的相应阶段(550)相同。
替换地,作为确定第一和第二毗邻单元之中的最大单元尺寸的替换或附加,编码器确定第一毗邻单元的单元尺寸和第二毗邻单元的单元尺寸之中的最小单元尺寸。编码器可随后使用该最小单元尺寸来限制评估当前单元的哪些候选单元尺寸,如章节V.B中所解释的。
(诸)毗邻单元也可以是相对于图片的当前单元时间上毗邻的单元(例如,在时间分层结构中较低的图片之中时间上毗邻的图片的并置单元)。图11是示出用于为图片的单元设置单元尺寸的示例技术的流程图,其中对候选单元尺寸的评估取决于时间上毗邻的单元的单元尺寸被选择性地跳过。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(1100)。图11中示出的技术(1100)的许多阶段与图5中示出的技术(500)的阶段相同,并且此处将不重复这样的阶段的描述。
在确定(510)处于当前单元尺寸的当前单元进行编码的成本后,为了确定至少一个时间上毗邻的单元的单元尺寸,编码器获得(1110)一个或多个时间上毗邻的单元中的每一者的单元尺寸。(诸)时间上毗邻的单元可包括分别时间分层结构中较低的图片之中的第一和第二时间上毗邻的图片中的第一和第二并置单元。编码器随后确定第一并置单元的单元尺寸和第二并置单元的单元尺寸之中的最小单元尺寸。
编码器确定(1120)它在当前单元的时间邻域中是否已达到该单元尺寸。如果如此,则编码器终止拆分,并返回(560)当前单元的最佳单元尺寸和相应最佳编码成本的组合。否则,编码器检查(530)是否进一步拆分当前单元。例如,编码器跳过对小于至少一个毗邻单元的单元尺寸(此处为第一和第二并置单元之中的最小单元尺寸)的任何候选单元尺寸的评估。
替换地,作为确定第一和第二并置单元之中的最小单元尺寸的替换或附加,编码器确定第一并置单元的单元尺寸和第二并置单元的单元尺寸之中的最大单元尺寸。编码器可随后使用该最大单元尺寸来限制评估当前单元的哪些候选单元尺寸,如章节V.C中所解释的。
编码器在确定是否跳过对当前单元的候选单元尺寸的评估时可考虑空间上毗邻的单元的单元尺寸并考虑时间上毗邻的单元的单元尺寸。例如,编码器可跳过对大于空间上毗邻的单元的最大单元尺寸的任何候选单元尺寸的评估(参见图10)并跳过对小于空间上毗邻的单元的最小单元尺寸的任何候选单元尺寸的评估(参见图11)。
VI.取决于跟踪到的单元尺寸的使用跳过对候选单元尺寸的评估。
本章节呈现包括取决于前一图片中对各单元尺寸的先前使用来选择性地跳过对当前图片的当前单元的候选单元尺寸的评估的编码示例。在许多情况下,基于第一图片中主要使用的(诸)单元尺寸,在另一图片的编码期间,编码器可避免对不可能提升率失真性能的候选单元尺寸的评估,这趋于加速编码。
A.使用跟踪到的对单元尺寸的使用来选择性地跳过对候选单元尺寸的评估的示例。
通常,编码器使用图片内编码单元来对视频中的新内容进行编码。对于图片中的新内容,编码器通常无法找出参考图片中的良好匹配。同样,为了实现更好的图片内预测,图片内编码单元通常具有小的单元尺寸。使用图片内预测的小单元尺寸缩短了(在单元的边缘处的)已知样本值和(较远离单元的边缘的)未知样本值之间的距离,这往往提升对自然视频内容或样本值方面具有复杂变型的其他内容的预测结果。另一方面,对于某些平滑内容(例如,计算机生成的内容),使用图片内编码单元的大单元尺寸可提升总编码效率。
在许多情况下,视频序列周期性地包括图片内编码的图片,并且不同的图片内编码的图片被具有图片间编码的内容和图片内编码的内容的混合的其他图片隔开。通常,被最频繁地用于图片内编码的图片中的各单元的一个或多个单元尺寸也可在后续图片的图片内编码的内容中被最频繁地使用。例如,如果图片内编码的图片的大多数单元具有为16x16或更小的单元尺寸,则后续图片中的图片内编码单元趋于具有16x16或更小的单元尺寸。另一方面,如果图片内编码的图片中的许多单元具有大单元尺寸,则后续图片中的图片内编码单元更可能具有大单元尺寸。基于图片内编码的图片中主要使用的(诸)单元尺寸,在对后续图片的图片内编码单元的编码期间,编码器可避免对不可能提升率失真性能的候选单元尺寸的评估。
更一般地,在许多情况下,第一图片中被最频繁地针对各单元使用的一个或多个单元尺寸也是在后续图片中被最频繁地使用的(诸)单元尺寸。基于第一图片中主要使用的(诸)单元尺寸,在针对后续图片的编码期间,编码器可避免对不可能提升率失真性能的候选单元尺寸的评估。
图12示出确定第一图片(1201)的阈值单元尺寸并使用其来限制另一图片中的单元的单元尺寸的示例(1200)。在图12中,第一图片(1201)包括64x64单元、32x32单元和16x16单元的混合。编码器确定处于其时第一图片(1201)的阈值比例被达到的单元尺寸。阈值比例取决于实现(例如,为85%,90%,95%)。阈值比例可根据第一图片(1201)的样本值或对第一图片(1201)的区域的某一其他测量来评估。在图12的示例中,阈值比例为90%,超过第一图片(1201)的阈值比例被32x32单元或16x16单元共同达到,即覆盖第一图片(1201)。由此,阈值单元尺寸为32x32。
第二图片(1202)包括区域(1211、1212、1213),来自第一图片(1201)的阈值单元尺寸(32x32)在这些区域(1211,1212,1213)内限制单元尺寸。在区域(1211,1212,1213)内,编码器评估处于或小于阈值单元尺寸的候选单元尺寸,但不评估更大的单元尺寸。在第二图片(1202)的其他区域中,阈值单元尺寸不约束各单元的单元尺寸。替换地,阈值单元尺寸可约束第二图片(1202)中的所有单元的单元尺寸。
作为另一示例,假设图片内编码的图片(第一图片)是使用64x64单元、32x32单元、16x16单元和8x8单元的混合来编码的。在图片内编码的图片被编码后,编码器确定该图片的阈值单元尺寸。编码器计算在对图片内编码的图片(第一图片)进行编码时使用的单元尺寸中的每一者的数目:n64x64个64x64单元、n32x32个32x32单元、n16x16个16x16单元和n8x8个8x8单元。编码器随后计算在该图片的相应单元尺寸的单元中的样本值的数目。(具体地,编码器可考虑该图片的一个分量平面(例如亮度平面)或者该图片的多个分量平面。)64x64单元覆盖n64x64*64*64个样本值,32x32单元覆盖n32x32*32*32个样本值,16x16单元覆盖n16x16*16*16个样本值,并且8x8覆盖n8x8*8*8个样本值。图片的样本值的总数为宽度*高度样本值。从最小单元尺寸开始,编码器确定处于或小于其时该图片的阈值比例t1被达到(即,被各单元的样本值覆盖)的单元尺寸。阈值比例t1取决于实现(例如,为90%)。例如,编码器检查是否n8x8*8*8>=t1*宽度*高度。如果如此,则阈值单元尺寸为8x8。否则,编码器检查是否n16x16*16*16+n8x8*8*8>=t1*宽度*高度。如果如此,则阈值单元尺寸为16x16。否则,编码器检查是否n32x32*32*32+n16x16*16*16+n8x8*8*8>=t1*宽度*高度。如果如此,则阈值单元尺寸为32x32。否则,阈值单元尺寸为64x64。在对以下图片中的图片内编码单元进行编码时,编码器可使用阈值单元尺寸来跳过对大于阈值单元尺寸的单元尺寸的评估。
或者,作为另一示例,假设第一图片包括图片内编码单元和图片间编码单元的混合。编码器可使用先前段落中描述的方法(但使用图片内编码单元中的总样本的阈值比例t1,而非t1*宽度*高度)来确定第一图片中的图片内编码单元的阈值单元尺寸。随后,在对以下图片中的图片内编码单元进行编码时,编码器可使用阈值单元尺寸来跳过对大于阈值单元尺寸的各单元尺寸的评估。
B.通常取决于跟踪到的单元尺寸的使用跳过对候选单元尺寸的评估。
图13示出用于使用第一图片的阈值单元尺寸来限制另一图片中的各单元的单元尺寸的通用技术(1300)。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(1300)。
编码器对多个图片中的第一图片进行编码(1310)以产生第一图片的经编码的数据,编码器随后输出(1330)该经编码的数据。同样,编码器确定(1320)第一图片的阈值单元尺寸。阈值单元尺寸指示处于或低于其时第一图片的阈值比例的内容被达到的单元尺寸。阈值比例取决于实现。例如,阈值比例在80%和95%之间。当单元为CU时,阈值单元尺寸为阈值CU尺寸。
编码器对多个图片中的下一图片进行编码(1340)以产生下一图片的经编码的数据,并且编码器输出(1350)该经编码的数据。下一图片按照编码次序跟随前一图片(例如,第二图片按照编码次序跟随第一图片)。在对下一图片进行编码(1340)时,编码器至少部分地基于第一图片的阈值单元尺寸来限制下一图片的至少一部分的单元尺寸。在下一图片的单元为CU时,被限制的单元尺寸为CU尺寸。
出于确定(1320)阈值单元尺寸的目的,第一图片的内容可以是第一图片的图片内编码单元。例如,第一图片完全是使用图片内编码单元来编码的,下一图片至少部分是使用图片间编码单元来编码的,并且下一图片中的任何图片内编码单元的单元尺寸被限制。或者,作为另一示例,第一图片部分是使用图片内编码单元来编码的,下一图片至少部分是使用图片间编码单元来编码的,并且下一图片中的任何图片内编码单元的单元尺寸被限制。替换地,出于确定(1320)阈值单元尺寸的目的,第一图片的内容可以是第一图片的所有单元。
在输出(1350)下一图片的经编码的数据后,编码器检查(1360)是否继续对下一图片进行编码。如果如此,则编码器对另一图片(例如,第三图片、第四图片等等)进行编码(1340),从而至少部分地基于第一图片的阈值单元尺寸来限制其他图片的至少一部分的单元尺寸。
图14示出用于设置图片的单元的单元尺寸的示例技术(1400),其中来自另一图片的阈值单元尺寸限制该单元尺寸。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(1400)。图14中示出的技术(1400)的许多阶段与图5中示出的技术(500)和/或图10中示出的技术(1000)的阶段相同,并且此处将不重复这样的阶段的描述。
编码器获得(1410)第一图片的阈值单元尺寸。例如,阈值单元尺寸是在本章节中在早期描述的阈值单元尺寸。编码器确定(1420)是否检查当前单元尺寸,并且如果如此,则检查(510)对处于当前单元尺寸的当前单元进行编码的成本。否则,编码器将当前单元直接拆分(530)成具有更小单元尺寸的多个新单元。例如,编码器跳过对大于阈值单元尺寸的任何候选单元尺寸的评估。
VII.跳过对变换跳过模式的评估。
本章节呈现包括选择性地跳过对变换跳过模式的评估的编码示例。在许多情况下,基于测量到的第一图片中变换跳过模式的使用率,在对另一图片的编码期间,在变换跳过模式不可能提升率失真性能时,编码器可避免对变换跳过模式的评估,这趋于加速编码。
A.使用跟踪到的对变换跳过模式的使用来选择性地跳过对变换跳过模式的评估的示例。
其中编码器跳过单元的频率变换并改为对样本值进行量化和熵编码的变换跳过模式在对屏幕内容视频或其他人工创建的内容进行编码时非常有用。另一方面,在对摄像机捕捉到的视频进行编码时,变换跳过模式较不可能提升编码效率。
在许多情况下,视频序列周期性地包括图片内编码图片,并且不同的图片内编码图片被具有图片间编码内容和图片内编码内容的混合的其他图片隔开。基于图片内编码图片中变换跳过模式的使用率,在对后续图片进行编码期间,在变换跳过模式不可能提升率失真性能时,编码器可避免对变换跳过模式的评估。更一般地,在许多情况下,第一图片中变换跳过模式的使用率也适用于后续图片。基于跟踪到的第一图片中变换跳过模式的使用率,在对后续图片进行编码期间,在变换跳过模式不可能提升率失真性能时,编码器可避免对变换跳过模式的评估。
图15示出使用针对第一图片(1501)的变换跳过模式的使用率的测量来选择性地限制另一图片中变换跳过模式的使用率的示例(1500)。在图15中,第一图片(1501)包括用变换跳过模式编码的单元(1511)和不是用变换跳过模式编码的单元(其是第一图片(1501)中的其余单元)的混合。编码器测量第一图片(1501)中变换跳过模式的使用率。变换跳过模式的使用率可根据第一图片(1501)的样本值或对第一图片(1501)的区域的某一其他测量来评估。
第二图片(1502)是用变换跳过模式来编码的,该变换跳过模式取决于第一图片(1501)中变换跳过模式的使用率相比于第一图片(1501)的阈值比例被选择性地禁用。阈值比例取决于实现(例如,1%,2%,5%)。在图15的示例中,阈值比例为2%,并且多于第一图片(1501)的阈值比例是使用变换跳过模式来编码的。由此,在图15的示例中,在对第二图片(1502)进行编码时,变换跳过模式被启用,因为测量到的第一图片(1501)中变换跳过模式的使用率大于阈值比例(2%)。
作为另一示例,假设图片内编码图片(第一图片)是在变换跳过模式启用的情况下被编码的,从而它潜在地包括用变换跳过模式编码的单元和不用变换跳过模式编码的单元的混合。在图片内编码图片被编码后,编码器测量在该图片中变换跳过模式的使用率。编码器计算用变换跳过模式编码的单元中的样本值的数目。(具体地,编码器可考虑该图片的一个分量平面(例如亮度平面)或者该图片的多个分量平面。)图片的样本值的总数为宽度*高度个样本值。编码器确定用变换跳过模式编码的单元中的样本值的数目是否多于该图片的样本值的阈值比例t2。在对接下来的图片进行编码时,如果(第一图片中)用变换跳过模式编码的单元中的样本值的数目小于第一图片的样本值的阈值比例t2,则编码器可禁用变换跳过模式。否则,如果变换跳过模式被启用,则接下来的图片的单元可用变换跳过模式或不用变换跳过模式(即,使用频率变换)来编码。
或者,作为另一示例,假设第一图片包括图片内编码单元和图片间编码单元的混合。编码器可在使用先前段落中描述的方法对第一图片进行编码时确定变换跳过模式的使用率。随后,在对接下来的图片进行编码时,编码器可使用(针对第一图片)测量到的变换跳过模式的使用率来选择性地跳过对变换跳过模式的评估。
B.通常取决于跟踪到的变换跳过模式的使用率来跳过对变换跳过模式的评估。
图16a和16b示出用于使用针对第一图片的变换跳过模式使用率的测量来限制另一图片中变换跳过模式的使用率。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(1600)。
编码器对多个图片中的第一图片进行编码(1610)以产生第一图片的经编码的数据,编码器随后输出(1630)该经编码的数据。同样,编码器测量(1620)第一图片的变换跳过模式的使用率。测量到的变换跳过模式的使用率指示第一图片中使用变换跳过模式编码的内容的比例。
编码器对多个图片中的下一图片进行编码(1640)以产生下一图片的经编码的数据,并且编码器输出(1650)该经编码的数据。下一图片按照编码次序跟随前一图片(例如,第二图片按照编码次序跟随第一图片)。在对下一图片进行编码(1640)时,编码器至少部分地基于第一图片的对变换跳过模式的使用率相对于阈值比例来选择性地对下一图片禁用变换跳过模式。阈值比例取决于实现。例如,阈值比例在1%和3%之间。
例如,如图16b的技术(1601)中示出的,编码器将针对第一图片的变换跳过模式的使用率与阈值比例进行比较(1641)。如果第一图片的对变换跳过模式的使用率小于阈值比例,则编码器对下一图片禁用(1642)变换跳过模式并对下一图片进行编码(1643)。
否则(针对第一图片的变换跳过模式的使用率大于阈值比例),则编码器对下一图片进行编码(1643)。通过这么做,编码器为下一图片的至少一些单元评估变换跳过模式和变换模式两者。
出于测量(1620)变换跳过模式的使用率的目的,第一图片可完全是使用图片内编码单元来编码的,并且下一图片可至少部分是使用图片间编码单元来编码的。或者,作为另一示例,第一图片可部分是使用图片内编码单元来编码的,并且下一图片可至少部分是使用图片间编码单元来编码的。
返回图16a,在输出(1650)下一图片的经编码的数据后,编码器检查(1660)是否继续对下一图片进行编码。如果如此,则编码器对另一图片(例如,第三图片、第四图片等等)进行编码(1640),从而至少部分地基于针对第一图片的变换跳过模式的使用率来对下一图片选择性地禁用变换跳过模式。
VIII.跳过对针对上下文运动模式的候选MV的全面的评估。
本章节呈现包括选择性地跳过对针对上下文运动模式的候选运动向量(“MV”)的全面评估的编码示例。在许多情况下,在当前单元的编码期间,在那些候选MV不可能提升率失真性能时,编码器可避免对针对上下文运动模式的候选MV的全面评估,这趋于加速编码。
A.选择性地跳过对上下文运动模式的一些候选MV的全面评估的示例。
在上下文运动模式中,当前单元的候选MV是从空间上相邻的单元、时间相邻单元和/或规则的MV中推导出的。在运动估计期间,编码器可评估针对上下文运动模式的候选MV中的一者或多者。如果针对上下文运动模式的候选MV是为当前单元选择的,则编码器可信号化指示上下文运动模式被用于当前单元的信息以及标识哪个候选MV被用于当前单元的信息。相比于将MV信息信号化为相对于预测MV的差别,这样的信号化可非常高效。在解码期间,解码器可为当前单元推导出上下文运动模式的相同候选MV,随后选择通过经信号化的信息标识出的候选MV。H.265/HEVC标准中的合并模式是上下文运动模式的示例。更一般地,上下文运动模式涉及多个推导出MV之间的竞争以及对多个推导出MV之一的选择。
在编码期间,编码器可计算当前单元的预测值和当前单元的原始样本值之间的差异。这些差异定义当前单元的预测残量或残量。出于频率变换、量化或熵编码的目的,残量可被拆分成更小的单元。或者,对残量的编码可被跳过。具体地,如果残量的样本值全部为零或大部分为零或者如果残量的经量化的变换系数全部为零或大部分为零,则编码器可跳过对残量的编码,这或者为了通过忽略残量来降低比特率(即使残量具有大量的值),或者为了通过忽略该残量来降低编码复杂性(以及解码复杂性)(即使残量具有大量的值),或者为了某个其他原因。在大多数编解码器标准和格式中,编码器可高效地信号化对于某单元跳过还是不跳过残量编码。在H.265/HEVC标准中,例如CU的标志指示对于该CU是否已跳过了残量编码。(在H.265/HEVC标准中,“经跳过的”CU也被定义为具有2Nx2N分割模式。也就是说,除了缺少残量数据外,CU还具有单个PU,并且没有出于运动补偿的目的而被拆分成更小的PU。)基于经信号化的信息,解码器可确定对于某单元是否跳过残量编码。
编码器可并发地评估针对上下文运动模式和残量编码的选项,以便在考虑残量编码的情况下,标识上下文运动模式的提供最佳总性能的候选MV。考虑评估针对量化残量的选项的操作、重构这些残量的操作以及评估重构后的质量的操作,评估针对残量编码的选项可能在计算上是复杂的并且是耗时的。为了加速编码,编码器可选择性地跳过对针对上下文运动模式的一些候选MV的残量编码选项的评估。
图17a和17b是示出在残量编码跳过模式开启或关闭的情况下为上下文运动模式考虑的候选MV的示例的视图。图17a示出针对当前单元(1711)的针对上下文运动模式的候选MV。候选MV包括空间上毗邻的单元(1721-1725)的MV,其具有相对于当前单元(1711)的左上位置、右上位置或左下位置定义的位置。也就是说,两个空间上毗邻的单元(1722、1721)被定义为包括分别在当前单元(1711)的右上位置上方的位置和右上方的位置的单元。另一空间上毗邻的单元(1723)被定义为包括在当前单元(1711)的左上位置上方和左边的位置的单元。两个其他空间上毗邻的单元(1724、1725)被定义为包括分别在当前单元(1711)的左下位置左边的位置和左下方的位置的单元。候选MV还包括另一图片中的并置单元(1731)的MV。
在编码期间,编码器在残量编码跳过模式开启的情况下评估针对上下文运动模式的候选MV(包括来自空间上毗邻的单元1721-1725的MV和来自时间上毗邻的单元(1731)的MV)。也就是说,编码器在残量编码被跳过的情况下评估相应的候选MV,并且在H.265/HEVC实现中,用2Nx2N的分割模式来进行该评估。由于残量编码被跳过,编码器跳过对针对残量的编码选项的评估。相反,编码器相对快速地计算针对上下文运动模式的相应候选MV的适用性的度量。该度量可以是考虑与信号化针对上下文运动模式的候选MV信息相关联的比特率的率失真成本、对预测残量的比特率的估计以及与预测误差相关联的失真。或者,该度量可以是某个其他类型的测量。
编码器根据性能度量的计算值对针对上下文运动模式的候选MV进行排序。编码器标识针对上下文运动模式的候选MV的子集。该子集可包括在残量编码跳过模式开启的情况下具有最佳性能的单个候选MV、在残量编码跳过模式开启的情况下的前两个候选MV、或针对上下文运动模式的某个其他数目的候选MV。在图17b中,针对上下文运动模式的候选MV的子集包括两个空间上毗邻的单元(1722、1723)的MV。
对于针对上下文运动模式的候选MV的子集,编码器在残量编码跳过模式关闭的情况下评估(诸)候选MV。也就是说,当编码器评估该子集中的候选MV时,编码器评估针对残量编码的选项。结果,在使用候选MV的运动补偿后,可为单元编码残量的至少一些值。由于针对残量编码的选项被评估,并且残量被重构以评估质量,该评估过程更耗时。然而,编码器避免了这样的对针对上下文运动模式的候选MV中在该子集外部的至少一些候选MV的残量编码的选项的耗时的评估。
为上下文运动模式评估的候选MV的数目取决于实现。例如,编码器评估图17a中示出的候选MV中的3个、4个、5个、6个或某个其他数目的候选MV。替换地,编码器评估其他和/或不同的针对上下文运动模式的候选MV。例如,如果空间上毗邻的单元或时间上毗邻的单元的MV之一缺失,或者如果相同的候选MV被排除考虑,则编码器评估根据规则推导出的候选MV。
编码器还可评估当前单元(1711)的其他编码选项。例如,在评估针对上下文运动模式的候选MV后,编码器评估当前单元的其他MV。对于H.265/HEVC实现,编码器可评估除2Nx2N以外的分割模式。
B.通常选择性地跳过对上下文运动模式的一些候选MV的全面评估。
图18示出用于对图片进行编码的通用技术(1800),包括在残量编码跳过模式关闭的情况下选择性地跳过对针对上下文运动模式的候选MV的评估。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(1800)。
编码器对图片进行编码(1810)以产生经编码的数据,随后输出(1820)该经编码的数据。作为编码(1810)的一部分,在对图片的单元(例如,CU)进行编码时,编码器在残量编码跳过模式开启的情况下评估针对上下文运动模式的多个候选MV中的每一者。例如,针对上下文运动模式的多个候选MV包括各自与该图片中的一空间上毗邻的单元相关联的一个或多个MV。图17a示出空间上毗邻的单元的示例。针对上下文运动模式的候选MV可包括各自与另一图片中的一时间上毗邻的单元相关联的一个或多个MV。图17a还示出了时间上毗邻的单元的示例。针对上下文运动模式的候选MV可进一步包括各自依据规则推导出的一个或多个MV。替换地,针对上下文运动模式的候选MV包括其他和/或附加MV。在残量编码跳过模式开启的情况下,单元缺少残量数据,因此评估相对快速。在H.265/HEVC实现中,在残量编码跳过模式开启的情况下,该单元是具有单个PU的CU(2Nx2N分割模式)。
基于(在残量编码跳过模式开启的情况下对针对上下文运动模式的候选MV的)那个评估的结果,编码器在残量编码跳过模式关闭的情况下仅评估针对上下文运动模式的多个候选MV的子集。例如,该子集包括上下文运动模式的各候选MV中的单个候选MV。或者,该子集包括上下文运动模式的各候选MV中的两个候选MV。或者,该子集包括上下文运动模式的各候选MV中的更多个候选MV。当在残量编码跳过模式关闭的情况下评估了针对上下文运动模式的候选MV的子集后,编码器可评估该单元的其他编码选项(例如,在残量编码跳过模式开启或关闭的情况下,评估不同的MV、不同的分割模式)。
更详细的,图19示出用于对单元进行编码的示例技术(1900),包括在残量编码跳过模式关闭的情况下选择性地跳过对针对上下文运动模式的候选MV的评估。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(1900)。
编码器在残量编码跳过模式开启的情况下使用针对上下文运动模式的多个候选MV中的每一者来测量(1910)对单元进行编码的结果作为第一结果。该单元例如是具有为64x64、32x32、16x16或8x8的尺寸的CU或另一类型的单元。由此,编码器评估针对上下文运动模式的候选MV,而没有编码残量。
基于第一结果,编码器标识(1920)针对上下文运动模式的多个候选MV的子集。例如,根据某个诸如率失真成本之类的准则,编码器标识上下文运动模式的前x个候选MV,其中x取决于实现(例如,x为1、2或某个其他数字)。编码器在残量编码跳过模式关闭的情况下(例如,评估残量的编码选项)使用候选MV的子集中的每一者来测量(1930)对该单元进行编码的第二结果。任选地,编码器还可评估(1940)对单元进行编码的其他选项(例如,在残量编码跳过模式开启或关闭的情况下,评估不同的MV、不同的分割模式)。
编码器至少部分地基于第一结果和第二结果来确定(1950)如何对该单元进行编码。例如,编码器选择为该单元提供最佳性能的编码选项。随后,编码器对该单元进行编码(1960)。由此,该单元可在残量编码跳过模式开启的情况下使用针对上下文运动模式的候选MV之一、在残量编码跳过模式关闭的情况下使用针对上下文运动模式的候选MV子集中的一个候选MV、或者使用某个其他模式被编码。
IX.跳过对RDOQ的评估。
本章节呈现包括取决于由编码器评估的一个或多个条件来选择性地应用率失真优化量化(“RDOQ”)或其他量化的编码的示例。在许多情况下,在当前单元的编码期间,当RDOQ不可能提升率失真性能时,编码器可避免对RDOQ的使用,这趋于加速编码。
A.选择性地应用RDOQ的示例。
对于RDOQ,编码器为每一系数设置最优量化级别,从而基于率失真效率适应性地调整系数值。RDOQ趋于非常耗时,但可提供极好的率失真效率。
其他形式的量化应用起来更简单。例如,在一种简单形式的量化中,编码器通过确定经量化的系数Q(x)=sign(x)×floor(abs(x)÷s+f)来量化系数x,其中Q(x)表示系数x的经量化的版本,函数sign(n)返回输入n的符号,函数abs(n)返回输入n的绝对值,函数floor(n)返回不大于输入n的最大整数,÷运算符是除法运算符(但不是整除运算符),s是量化步长尺寸(其取决于帧、单元、分量块等的量化参数(“QP”)集合),并且f是控制四舍五入的偏移。四舍五入控制值f取决于实现。如果f=0,则经量化的系数朝向0四舍五入,这趋于导致较多为0值的经量化的系数,因为较多的低值被量化为0而非1。如果f=1/2,则经量化的系数被四舍五入为最接近的整数,这趋于导致较少为0值的经量化的系数。通常,f的值在范围[0,1/2]中。f的值可取决于图片类型或分量平面而不同。例如,在对系数的量化期间,对于图片内编码的图片而言f=1/3,并且对于图片间编码的图片而言f=1/6。
当RDOQ更可能提升率失真性能时,编码器可选择性地应用RDOQ,但否则应用计算上更简单的某种其他形式的量化(例如,如前一段落中描述的)。编码器在确定应用RDOQ还是另一形式的量化时可评估若干条件中的任一者。
例如,对于第一条件,编码器考虑其变换系数被量化的单元的单元尺寸。如果该单元小于阈值单元尺寸,则编码器将RDOQ应用于该单元的变换系数。否则,编码器将其他更简单形式的量化应用于该单元的变换系数。其尺寸被评估的单元可以是CU、TU或其他类型的单元。例如,阈值单元尺寸为32x32。编码器在单元尺寸为32x32或者更高的情况下跳过RDOQ,但在单元尺寸为16x16或更低的情况下应用RDOQ。替换地,阈值单元尺寸具有某个其他值。
作为另一示例,对于第二条件,编码器考虑其中变换系数被量化的图片的图片次序。编码器每n个图片地应用一次RDOQ,其中n的值取决于实现。否则,编码器应用其他更简单形式的量化。n的值可以为4个、8个、16个或某个其他数目的图片。由n所反应的时段可对应于时间层(例如,时间层0)或图片层(例如,图片内编码的图片)。当图片的次序被用图片次序计数(“POC”)值指示出时,编码器可检查是否POC%n==0。如果如此,则编码器将RDOQ应用于图片中的各单元的变换系数。否则,编码器将对图片中的各单元的变换系数执行其他更简单形式的量化。
作为另一示例,对于第三条件,编码器预处理图片的一个单元或图片的多个单元以确定是否应用RDOQ。该预处理可包括例如按与如以上所解释的公式Q(x)=sign(x)×floor(abs(x)÷s+f)一致的方式将简单形式的量化应用于变换系数。对于这样的预处理,四舍五入控制值f可被设为趋于保留非零值系数的值。例如,对于亮度分量的系数的预处理而言f=1/2,且对于色度分量的系数的预处理而言f=1/3。编码器随后确定变换系数是否包括大量的值。例如,编码器计算经量化的变换系数的绝对值之和。如果这些系数的绝对值之和高于阈值,则编码器在对这些系数进行编码时应用RDOQ。否则,RDOQ被跳过,并且编码器在对这些系数进行编码时应用其他更简单形式的量化。如果阈值为0,则具有非零变换系数的任何单元(在预处理/简单量化后)使用RDOQ被量化。替换地,阈值可具有更高的值,或者编码器可使用关于变换系数的重要性的不同测量。替换地,预处理可包括用于评估其中的图片或(诸)单元的其他操作。
B.通常选择性地应用RDOQ
图20a示出用于在编码期间选择性地使用RDOQ的通用技术(2000)。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(2000)。
编码器对图片进行编码(2010)以产生经编码的数据,随后输出(2020)该经编码的数据。作为编码(2010)的一部分,编码器评估一个或多个条件。(诸)经评估的条件可包括:(1)图片的单元的单元尺寸(例如,CU的CU尺寸、TU的TU尺寸);(2)图片的POC;和/或(3)预处理的结果(例如,应用简单量化的结果)。替换地,(诸)经评估的条件包括其它和/或附加条件。
取决于该评估的结果,编码器选择性地应用RDOQ或其他量化。例如,如果图片的单元的单元尺寸小于阈值单元尺寸,则应用RDOQ,但是如果该单元的单元尺寸大于阈值单元尺寸,则应用其他量化。通过跳过针对大单元尺寸的RDOQ,编码器可通过在RDOQ不太可能提升编码效率时省略RDOQ来加速编码。或者,作为另一示例,取决于图片的POC,在视频序列的各图片之间周期性地应用RDOQ。通过周期性地应用RDOQ,编码器可通过在RDOQ最可能有利时(例如,对将成为运动补偿的参考图片的图片)应用RDOQ来加速编码。或者,作为另一示例,RDOQ仅在预处理的结果指示存在阈值活动量的情况下才被应用。例如,预处理包括对图片的单元的系数应用简单量化,并且阈值活动量为至少一个非零系数。通过这种方式,在编码期间,当RDOQ不太可能提升率失真性能时,编码器可避免对RDOQ的使用,这趋于加速编码。通过在RDOQ不太可能提升率失真效率时选择性地省略RDOQ,量化快得多,这可显著地降低总编码时间,而对编码效率没有太多惩罚。
图20b示出用于在编码期间选择性地使用RDOQ的示例技术(2001)。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(2001)。
编码器对图片的单元进行预处理(2011),例如对该单元的变换系数执行简单量化。编码器决定(2012)是否对该单元的变换系数使用RDOQ,并随后对该单元的变换系数使用(2013)RDOQ或使用(2014)其他量化。例如,编码器计算经量化的变换系数的绝对值之和,随后将该和与阈值(诸如零)进行比较。如果绝对值之和高于该阈值,则编码器在对这些系数进行编码时使用(2013)RDOQ。否则,RDOQ被跳过,并且编码器在对这些系数进行编码时使用(2014)其他更简单形式的量化。例如,编码器按与如上所述的公式Q(x)=sign(x)×floor(abs(x)÷s+f)一致的方式来量化系数。
替换地,阈值可具有更高的值,或者编码器可使用关于变换系数的重要性的不同测量。
X.跳过对是否为了变换将单元拆分成更小的单元的评估。
本章节呈现包括选择性地跳过对是否出于频率变换的目的将一单元(例如,TU)拆分成更小的单元的评估的编码的示例。在许多情况下,在当前单元的编码期间,当拆分不太可能提升率失真性能时,编码器可避免拆分当前单元,这趋于加速编码。
A.变换拆分评估的选择性跳过的示例。
图21示出针对残量四叉树(“RQT”)的示例组织(2101、…、2108),这些示例组织在残量值块如何被组织以用于频率变换方面不同。RQT的许多其他可能的组织没有被示出。在RQT中,块对应于单元(例如,TU)中的块。一般来说,给定单元中的各块是使用同一模式来拆分的(即色度块被拆分,如果可以的话,就像相应的亮度块那样)。
在一些方法中,为了提升率失真效率,编码器检查单元的每一可能变换尺寸。例如,编码器对单元的变换尺寸的可能组合使用全递归式评估,其一般跟随图5所示的评估方法,但是评估变换尺寸。开始,编码器确定对具有当前变换尺寸的当前单元进行编码的成本。例如,根据H.265/HEVC标准,当前单元为CU。替换地,单元为另一类型的单元。当前变换尺寸为32x32、16x16、8x8、4x4或某一其他变换尺寸。该成本可使用任何可用度量根据速率成本和/或失真成本来测量,并且可以是估计值或取决于实际编码的结果。
编码器检查是否将当前单元拆分成具有更小变换尺寸的多个更小的单元(例如,根据四叉树分解,为当前单元的四叉树)。编码器可检查当前单元是否已达到最小变换尺寸,并且如果为否,则进一步拆分当前单元。如果当前单元没有被拆分,则编码器返回当前变换尺寸和对处于当前变换尺寸的当前单元进行编码的成本(作为针对当前单元的最佳变换尺寸和相应最佳成本的组合)。
否则,如果当前单元将被拆分,则编码器将当前单元拆分成具有更小变换尺寸的多个新单元,并为具有更小变换尺寸的新单元中的每一者调用评估例程。在评估例程中,具有更小变换尺寸的新单元被类似地评估,其中针对该新单元的最佳变换尺寸和相应最佳成本的组合被返回。
随后,当对具有更小变换尺寸的新单元的评估的结果已被返回时,编码器比较(a)对处于当前变换尺寸的当前单元进行编码的成本与(b)对处于更小变换尺寸的(经拆分的)新单元进行编码的聚集成本。从这两个选项中,编码器返回针对当前单元的最佳变换尺寸和相应的最佳成本的组合—即具有更小编码成本的一个或多个变换尺寸以及该更小编码成本的值。通过这种方式,编码器可穷尽地为当前单元内的更小单元评估变换尺寸的不同组合。例如,编码器可确定对32x32TU进行编码的成本,随后将该32x32TU拆分成四个16x16TU。对于此四个16x16TU中的每一者,编码器可确定对该16x16TU进行编码的成本,随后将该16x16TU拆分成四个8x8TU。这会继续,直到编码器达到具有最小TU尺寸(例如,4x4)的TU,该TU不被进一步拆分。在那个时间点,编码器将对处于最小TU尺寸的四个TU(例如,四个4x4TU)进行编码的聚集成本与对包括那四个TU的TU(例如,具有8x8变换的8x8TU)进行编码的成本进行比较。编码器返回具有该更小编码成本的(诸)变换尺寸。对于8x8TU,例如,(诸)变换尺寸的最佳组合可以为一8x8TU或四个4x4TU。类似地,对于16x16TU,(诸)变换尺寸的最佳组合可以为一16x16TU、四个8x8TU、三个8x8TU以及一8x8象限中的四个4x4TU、两个8x8象限中的2个8x8TU和8个4x4TU、三个8x8象限中的1个8x8TU和12个4x4TU或者16个4x4TU。对于32x32TU,(诸)变换尺寸的最佳组合可以为一32x32TU、四个16x16TU或涉及如上所述那样拆分的16x16TU中的一者或多者。对针对变换尺寸的选项的全递归式评估可能是耗时且计算上密集的。
为了加速编码过程,编码器可取决于由编码器评估的一个或多个条件跳过对一些变换尺寸的评估。例如,编码器考虑在当前变换尺寸处当前单元的经量化的变换系数是否全部为零。如果如此,则更小的变换尺寸不太可能提升编码效率,并且为当前单元终止评估更小变换尺寸的过程。相反,如果在当前变换尺寸处存在至少一个非零变换系数,则使用更小的变换尺寸可能提升编码效率,因此编码器评估用于对用更小的变换尺寸对当前单元进行编码的选项。替换地,编码器在决定是否跳过对更小变换尺寸的评估时考虑另一条件(例如,经量化的变换系数的非零值的幅度、预测残量的值的幅度、预测残量的值的空间变化)。编码器可针对当前单元的所有分量块检查该条件。或者,编码器可针对当前单元的仅一个分量块(例如,亮度块)检查该条件。
B.通常跳过对变换拆分选项的评估。
图22示出用于对图片进行编码的通用技术(2200),包括选择性地跳过对是否将单元拆分成具有更小变换尺寸的多个单元的评估。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(2200)。
编码器对图片进行编码(2210)以产生经编码的数据,随后输出(2220)该经编码的数据。作为编码(2210)的一部分,编码器为图片的单元(例如,在H.265/HEVC实现中为TU)设置变换尺寸或变换尺寸的组合。通过这样做,编码器评估当前变换尺寸处的条件。例如,该条件是该单元在当前变换尺寸处是否具有任何非零值系数。编码器可仅对该单元的亮度块检查该条件,或者编码器可对该单元的亮度块和色度块检查该条件。替换地,编码器检查另一条件。取决于该条件的评估的结果,编码器选择性地跳过对是否将单元从当前变换尺寸拆分为具有更小变换尺寸的多个单元的评估。通过这种方式,在编码期间,当这样的拆分不太可能提升率失真性能时,编码器可避免为了频率变换将该单元拆分成更小的单元,这趋于加速编码。
XI.选择性地跳过对候选分割模式的全面评估。
本章节呈现包括选择性地跳过对用于运动补偿的候选分割模式的全面评估的编码的示例。在许多情况下,在当前单元的编码期间,编码器可避免对针对不太可能提升率失真性能的候选分割模式的残量编码的选项的评估,这趋于加速编码。
A.候选分割模式的全面评估的选择性跳过的示例。
图23示出针对使用运动补偿编码的单元的示例分割模式(2300)。示例分割模式(2300)包括2Nx2N、Nx2N、2NxN、NxN、nLx2N、nRx2N、2NxnU和2NxnD模式。当单元具有一个分割(即所谓的2Nx2N分割模式)时,该分割和单元是同延的。当单元具有四个分割(即所谓的NxN分割模式)时,每一分割覆盖该单元的一象限。当单元具有两个分割时,这两个分割可按以下各模式中的任一种来配置:上半部和下半部(即所谓的2NxN分割模式)、左半部和右半部(即所谓的Nx2N分割模式)、左边的四分之一和其余部分(即所谓的nLx2N分割模式)、右边的四分之一和其余部分(即所谓的nRx2N分割模式)、顶部的四分之一和其余部分(即所谓的2NxnU分割模式)或底部的四分之一和其余部分(即所谓的2NxnD分割模式)。例如,在H.265/HEVC实现中,16x16单元可具有单个16x16分割(2Nx2N)、四个8x8分割(NxN)(当16x16为最小允许CU尺寸时)、两个16x8分割(2NxN)、两个8x16分割(Nx2N)、一4x16分割和12x16分割(nLx2N)、一12x16分割和4x16分割(nRx2N)、一16x4分割和16x12分割(2NxnU)或一16x12分割和16x4分割(2NxnD)。在一些实现中,对于一些单元尺寸(例如,8x8单元),NxN分割模式不被允许,并且不均匀的分割模式(nLx2N、nRx2N、2NxnU和2NxnD)不被允许。
在一些方法中,为了提升率失真效率,编码器在对单元进行编码时检查每一可能分割尺寸。对于给定分割模式,编码器为该单元的(诸)分割执行运动补偿、确定预测残量、对预测残量进行编码、重构预测残量、以及使用率失真度量或其他度量评估该编码的结果。具体地,评估针对残量编码的选项可能是非常耗时的。
为了加速编码过程,编码器可跳过针对一些分割模式的残量编码(包括对针对残量编码的选项的评估和对残量值的重构,以评估质量)。编码器跟踪针对各分割模式的运动补偿预测的质量,并且它使用所跟踪的预测质量来选择性地跳过对针对较不可能提升编码效率的那些分割模式的残量编码的全面评估。编码器可测量运动补偿预测的预测质量作为运动补偿预测之后的预测误差的幅度(例如,各残量的值的绝对值之和)或使用某一其他测量。
例如,编码器执行针对第一分割模式的运动估计、测量运动补偿预测的质量、以及确定预测残量。编码器执行残量编码和重构,随后测量使用第一分割模式对单元进行编码的总成本。该总成本可包括比特率成本和/或失真成本。变量total_costbest(总_成本最佳)跟踪到目前为止的任何分割模式的最佳总成本。变量pred_qualitybest(预测_质量最佳)跟踪到目前为止的具有最佳总成本的分割模式的预测质量。最初,第一分割模式的总成本为到目前为止的最佳总成本(total_costbest),并且第一分割模式的预测质量为到目前为止的最佳预测质量(pred_qualitybest)。
编码器随后转而评估其他分割模式。对于给定分割模式,编码器执行运动估计,并测量运动补偿预测的质量。如果运动补偿预测的质量比阈值预测质量差(这取决于pred_qualitybest,如下一段落中解释的),编码器跳过残量编码并通过评估下一分割模式来继续。否则(对给定分割模式的运动补偿预测的质量比阈值预测质量好),则编码器为给定分割模式执行残量编码和重构,随后测量使用给定分割模式对单元进行编码的总成本。如果使用给定分割模式对该单元进行编码的总成本比到目前为止的最佳总成本(total_costbest)好,则编码器将该最佳总成本(total_costbest)更新为使用给定分割模式对该单元进行编码的总成本,并且编码器将最佳预测质量(pred_qualitybest)更新为该单元在使用给定分割模式来编码时的预测质量。在一些场景中,选择性地跳过针对低效分割模式的残量编码可显著地加速编码。
阈值预测质量基于到目前为止已评估的分割模式中已产生最佳总编码成本的分割模式的预测质量(pred_qualitybest)。例如,阈值预测质量为t3*pred_qualitybest,其中t3为取决于实现的阈值比例。例如,(当较低的预测质量值指示较好的质量,且较高的预测质量值指示较差的质量时)阈值比例为105%、110%或高于100%的某一其他值。
B.通常跳过对候选分割模式的全面评估。
图24示出用于对图片进行编码的通用技术(2400),包括选择性地跳过对针对用给定分割模式进行编码的残量编码的评估。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(2400)。
编码器对图片进行编码(2410)以产生经编码的数据,随后输出(2420)该经编码的数据。作为该编码(2410)的一部分,编码器迭代地评估图片的单元的多个候选分割模式。例如,对于H.265/HEVC实现,单元是CU,并且候选分割模式中的每一者将该CU拆分成一个或多个PU的不同配置。多个候选分割模式可以是图23中示出的分割模式。替换地,多个候选分割模式包括其他和/或附加的分割模式。
对于给定候选分割模式,编码器取决于预测质量相对于阈值预测质量选择性地执行残量编码。阈值预测质量是至少部分地先前评估的候选分割模式的预测质量来设置的。例如,阈值预测质量是多个候选分割模式中到目前为止的最佳预测质量的阈值比例。阈值比例的值取决于实现。例如,阈值比例在105%和120%之间。
图25示出用于对图片的单元的候选分割模式进行评估的一个示例技术(2500),包括选择性地跳过对针对用给定分割模式进行编码的残量编码的评估。诸如参考图3所述的编码器(340)、参考图4a和4b所述的编码器(400)之类的编码器或其它编码器可以执行技术(2500)。
编码器获得(2510)针对图片的单元的下一分割模式(其作为给定分割模式被处理),随后对根据那个分割模式分割的单元执行(2520)运动估计。编码器至少部分地基于针对该单元的运动估计的结果来测量(2530)针对给定分割模式的预测质量。例如,编码器基于单元的样本值和通过运动估计得到的运动补偿预测值之间的差异确定预测误差,随后至少部分地基于该预测误差(例如,该预测误差的绝对值之和)计算针对给定分割模式的预测质量。该预测质量可包括比特率因子和/或失真因子。
随后,编码器确定(用给定分割模式编码的)单元的预测质量是否比阈值预测质量好(例如,将给定分割模式的预测质量与阈值预测质量进行比较)。取决于该结果,编码器选择性地执行针对该单元的预测误差的残量编码。由此,如果(用给定分割模式编码的)单元的预测质量好于阈值预测质量,则编码器执行(2550)残量编码以获得该单元的预测误差,计算(2560)用给定分割模式对该单元进行编码的总成本,并选择性地更新(2570)最佳总成本和阈值预测质量。例如,编码器至少部分地基于残量编码的结果来测量用于(用给定分割模式)对该单元进行编码的总成本。该总成本可包括比特率因子和/或失真因子。如果用于(用给定分割模式)对该单元进行编码的总成本小于到目前为止的最佳总成本,则编码器基于用于(用给定分割模式)对该单元进行编码的总成本来更新最佳总成本,并且编码器基于针对给定分割模式的预测质量来更新阈值预测质量。编码器检查(2280)它是否已评估了最后一个分割模式。如果不是这样,则编码器通过获得(2510)下一分割模式来继续。
另一方面,如果(用给定分割模式编码的)单元的预测质量比阈值预测质量差,则编码器跳过针对该单元的预测误差的残量编码。跳过针对不太可能提升编码效率的分割模式的残量编码可显著地加速总编码。编码器检查(2280)它是否已评估了最后一个分割模式。如果不是这样,则编码器通过获得(2510)下一分割模式来继续。
XII.其他特征。
除了被纳入权利要求书的特征外,本文中描述的各创新的特征包括但不限于以下:
XIII.替换和变型
在本文中描述的许多示例中,当前单元的属性(例如,当前单元尺寸、预测质量)或图片的属性(例如,变换跳过模式的使用率)被与阈值(例如,(诸)毗邻单元的单元尺寸、阈值单元尺寸、阈值比例、阈值预测质量)进行比较。在这样的示例中,属性等于阈值的情况可通过选择该比较的两个可能的结果中的任一者来处理,这取决于实现。也就是说,属性等于阈值的情况可像属性大于阈值的情况一样被处理。或者,替换地,属性等于阈值的情况可像属性小于阈值的情况一样被处理。
鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反,本发明的范围由后续的权利要求来界定。我们要求作为我们的发明保护落入这些权利要求范围和精神内的所有内容。

Claims (7)

1.一种在计算机系统中的媒体编码方法,包括:
对多个图片之中的第一图片进行编码以产生所述第一图片的经编码的数据;
确定所述第一图片的阈值单元尺寸,所述阈值单元尺寸指示处于或低于其时所述第一图片的内容的阈值比例被达到的单元尺寸;
输出所述第一图片的经编码的数据;
对所述多个图片之中的第二图片进行编码以产生所述第二图片的经编码的数据,所述第二图片按照编码次序跟随所述第一图片,包括至少部分地基于所述第一图片的阈值单元尺寸来限制所述第二图片的至少一部分的单元尺寸,其中限制所述第二图片的至少一部分的单元尺寸通过跳过对于所述第二图片中大于所述阈值单元尺寸的候选单元尺寸的评估来实现;以及
输出所述第二图片的经编码的数据。
2.如权利要求1所述的方法,其特征在于,为了所述阈值单元尺寸的目的,所述第一图片的内容为所述第一图片的图片内编码单元。
3.如权利要求2所述的方法,其特征在于,所述第一图片完全是使用图片内编码单元来编码的,其中所述第二图片至少部分是使用图片间编码单元来编码的,并且其中所述第二图片中的任何图片内编码单元的单元尺寸被限制。
4.如权利要求2所述的方法,其特征在于,所述第一图片部分是使用图片内编码单元来编码的,其中所述第二图片至少部分是使用图片间编码单元来编码的,并且其中所述第二图片中的任何图片内编码单元的单元尺寸被限制。
5.如权利要求1所述的方法,其特征在于,所述阈值比例在80%和95%之间,其中所述第一图片的阈值单元尺寸为所述第一图片的阈值编码单元(“CU”)尺寸,并且其中所述第二图片的至少一部分的单元尺寸为CU尺寸。
6.一种计算机系统,包括实现媒体编码器的处理器和存储器,所述媒体编码器被配置成执行如权利要求1-5中的任一项所述的方法。
7.一种存储计算机可执行指令的计算机可读介质,所述计算机可执行指令用于使得计算机系统在因此被编程时执行如权利要求1-5中的任一项所述的方法。
CN201580026724.6A 2015-02-06 2015-02-06 在媒体编码期间跳过评估阶段 Active CN106416254B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/072408 WO2016123792A1 (en) 2015-02-06 2015-02-06 Skipping evaluation stages during media encoding

Publications (2)

Publication Number Publication Date
CN106416254A CN106416254A (zh) 2017-02-15
CN106416254B true CN106416254B (zh) 2019-08-02

Family

ID=56563336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580026724.6A Active CN106416254B (zh) 2015-02-06 2015-02-06 在媒体编码期间跳过评估阶段

Country Status (4)

Country Link
US (1) US10924743B2 (zh)
EP (1) EP3254463A4 (zh)
CN (1) CN106416254B (zh)
WO (1) WO2016123792A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6834939B2 (ja) * 2015-02-17 2021-02-24 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
EP3306922A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for encoding a picture using rate-distortion based block splitting
JP6565885B2 (ja) * 2016-12-06 2019-08-28 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
KR20200015885A (ko) * 2017-07-04 2020-02-13 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
EP3468196A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Methods and apparatuses for video encoding and video decoding
EP3499885B1 (en) * 2017-12-18 2024-07-17 Canon Kabushiki Kaisha Method and device for encoding video data
CN112236999B (zh) * 2018-03-29 2022-12-13 弗劳恩霍夫应用研究促进协会 依赖性量化
WO2019229683A1 (en) 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
KR20240007298A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
EP3794824A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Conditions for updating luts
CN114125450B (zh) 2018-06-29 2023-11-17 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
KR102627814B1 (ko) 2018-06-29 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
TWI752331B (zh) 2018-06-29 2022-01-11 大陸商北京字節跳動網絡技術有限公司 當向Merge/AMVP添加HMVP候選時的部分/完全修剪
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
CN114466197A (zh) 2018-06-29 2022-05-10 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
TWI719526B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 查找表的更新
CN116418992A (zh) 2018-08-26 2023-07-11 北京字节跳动网络技术有限公司 组合的基于历史的运动矢量预测符和多运动模型解码
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
CN113597760A (zh) 2019-01-02 2021-11-02 北京字节跳动网络技术有限公司 视频处理的方法
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
WO2020219733A1 (en) 2019-04-24 2020-10-29 Bytedance Inc. Quantized residual differential pulse code modulation representation of coded video
CN113796069B (zh) 2019-05-01 2024-03-08 字节跳动有限公司 使用量化残差差分脉冲编解码调制编解码的帧内编解码视频
CN113785306B (zh) 2019-05-02 2024-06-14 字节跳动有限公司 基于编解码树结构类型的编解码模式
CN117692630A (zh) 2019-05-11 2024-03-12 北京字节跳动网络技术有限公司 视频处理中编解码工具的选择性使用
CN113812155B (zh) 2019-05-11 2023-10-27 北京字节跳动网络技术有限公司 多种帧间编解码方法之间的交互
WO2020228717A1 (en) 2019-05-13 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Block dimension settings of transform skip mode
CN113853787B (zh) 2019-05-22 2023-12-22 北京字节跳动网络技术有限公司 基于子块使用变换跳过模式
EP3970369A4 (en) 2019-06-28 2022-07-20 ByteDance Inc. TECHNIQUES FOR MODIFYING QUANTIZATION PARAMETERS IN TRANSFORM SKIP MODE
KR20220038060A (ko) 2019-07-27 2022-03-25 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 참조 픽처 유형들에 따른 툴들의 사용의 제한들
CN110430427B (zh) * 2019-08-07 2021-08-17 杭州微帧信息科技有限公司 一种基于skip模式编码结果的快速视频编码决策方法与系统
WO2021032145A1 (en) 2019-08-20 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Residual coding for transform skipped blocks
CN114270817B (zh) 2019-08-20 2024-07-05 北京字节跳动网络技术有限公司 基于位置的系数缩放
CN114342408A (zh) 2019-08-26 2022-04-12 北京字节跳动网络技术有限公司 视频编码中帧内编码模式的扩展
KR20210025507A (ko) * 2019-08-27 2021-03-09 현대자동차주식회사 차등 부호화를 이용하는 비디오 부호화 및 복호화
WO2021037258A1 (en) 2019-08-30 2021-03-04 Beijing Bytedance Network Technology Co., Ltd. Sub-partitioning in intra coding
WO2021052495A1 (en) * 2019-09-20 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Adaptive resolution change and scalable coding for screen contents
WO2021068954A1 (en) 2019-10-12 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. High level syntax for video coding tools
JP7393550B2 (ja) 2019-12-11 2023-12-06 北京字節跳動網絡技術有限公司 クロス成分適応ループフィルタリングのためのサンプルパディング
KR20220152299A (ko) * 2020-03-12 2022-11-15 인터디지털 브이씨 홀딩스 프랑스 비디오 인코딩 및 디코딩을 위한 방법 및 장치
EP4173290A4 (en) 2020-06-30 2024-01-10 Beijing Bytedance Network Technology Co., Ltd. BOUNDARY LOCATION FOR ADAPTIVE LOOP FILTERING

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006339774A (ja) * 2005-05-31 2006-12-14 Kddi R & D Laboratories Inc 動画像符号化装置

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6753878B1 (en) 1999-03-08 2004-06-22 Hewlett-Packard Development Company, L.P. Parallel pipelined merge engines
US6876703B2 (en) 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
EP1294194B8 (en) 2001-09-10 2010-08-04 Texas Instruments Incorporated Apparatus and method for motion vector estimation
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US6763068B2 (en) 2001-12-28 2004-07-13 Nokia Corporation Method and apparatus for selecting macroblock quantization parameters in a video encoder
JP4039076B2 (ja) 2002-02-19 2008-01-30 ソニー株式会社 符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラム
US20030198294A1 (en) * 2002-04-23 2003-10-23 Andre Zaccarin Methods and apparatuses for selecting encoding options based on decoding energy requirements
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
DK1400954T3 (da) 2002-09-04 2008-03-31 Microsoft Corp Entropi-kodning ved tilpasning af kodning mellem niveau- og runlængde/niveau-moduser
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
GB0229354D0 (en) 2002-12-18 2003-01-22 Robert Gordon The University Video encoding
EP1582064A4 (en) 2003-01-09 2009-07-29 Univ California VIDEO PROCESSING AND DEVICES
US20070036215A1 (en) 2003-03-03 2007-02-15 Feng Pan Fast mode decision algorithm for intra prediction for advanced video coding
US8094715B2 (en) 2003-03-10 2012-01-10 Mitsubishi Denki Kabushiki Kaisha Video signal encoding device and video signal encoding method
NO318318B1 (no) 2003-06-27 2005-02-28 Tandberg Telecom As Fremgangsmate for forbedret koding av video
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR100987765B1 (ko) 2003-09-30 2010-10-13 삼성전자주식회사 동영상 부호화기에서의 예측 수행 방법 및 장치
US20050201469A1 (en) 2004-03-11 2005-09-15 John Sievers Method and apparatus for improving the average image refresh rate in a compressed video bitstream
EP1578131A1 (en) 2004-03-18 2005-09-21 STMicroelectronics S.r.l. Encoding/decoding methods and systems, computer program products therefor
KR100627329B1 (ko) 2004-08-19 2006-09-25 전자부품연구원 H.264 비디오 코덱을 위한 적응형 움직임 예측 및 모드결정 장치 및 그 방법
TWI256258B (en) * 2004-12-16 2006-06-01 Ind Tech Res Inst Method to speed up the mode decision of video coding
US8514933B2 (en) 2005-03-01 2013-08-20 Qualcomm Incorporated Adaptive frame skipping techniques for rate controlled video encoding
US7580456B2 (en) 2005-03-01 2009-08-25 Microsoft Corporation Prediction-based directional fractional pixel motion estimation for video coding
CN100358365C (zh) 2005-06-02 2007-12-26 上海交通大学 网络视频编码器多维尺度码率控制方法
US7733380B1 (en) 2005-07-19 2010-06-08 Maxim Integrated Products, Inc. Method and/or architecture for controlling encoding parameters using integrated information from camera ISP
KR100695158B1 (ko) 2005-08-03 2007-03-14 삼성전자주식회사 영상 부호화장치 및 방법과 그 복호화장치 및 방법
US20070030894A1 (en) 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
EP1761069A1 (en) 2005-09-01 2007-03-07 Thomson Licensing Method and apparatus for encoding video data using block skip mode
US8121194B2 (en) 2005-12-16 2012-02-21 Texas Instruments Incorporated Fast macroblock encoding with the early qualification of skip prediction mode using its temporal coherence
US7843995B2 (en) 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US7903733B2 (en) 2006-01-26 2011-03-08 Qualcomm Incorporated Adaptive filtering to enhance video encoder performance
KR100739790B1 (ko) 2006-02-02 2007-07-13 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
US8077775B2 (en) 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US20070274396A1 (en) 2006-05-26 2007-11-29 Ximin Zhang Complexity adaptive skip mode estimation for video encoding
WO2007148428A1 (ja) 2006-06-20 2007-12-27 Nikon Corporation 画像処理方法、画像処理装置、及び画像処理プログラム
KR100763917B1 (ko) 2006-06-21 2007-10-05 삼성전자주식회사 고속으로 움직임을 추정하는 방법 및 장치
KR101351730B1 (ko) 2006-08-28 2014-01-16 톰슨 라이센싱 디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법및 장치
US7456760B2 (en) 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
TWI386064B (zh) 2006-10-10 2013-02-11 Nippon Telegraph & Telephone 內部預測編碼控制方法及裝置,其程式,以及記錄有程式之記憶媒體
US8467448B2 (en) 2006-11-15 2013-06-18 Motorola Mobility Llc Apparatus and method for fast intra/inter macro-block mode decision for video encoding
WO2008126135A1 (ja) 2007-03-20 2008-10-23 Fujitsu Limited 動画像符号化方法及び装置並びに動画像復号装置
US7957600B2 (en) 2007-05-08 2011-06-07 Arris Group, Inc. Methods and systems for rate-distortion optimized quantization of transform blocks in block transform video coding
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
CN100566427C (zh) 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
US8908765B2 (en) 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
US9098902B2 (en) 2007-11-16 2015-08-04 Thomson Licensing System and method for encoding video
JP2009182623A (ja) 2008-01-30 2009-08-13 Panasonic Corp 画像符号化方法
US8295356B2 (en) 2008-03-07 2012-10-23 International Business Machines Corporation Method and system for coding mode selection in video compression systems
KR101608426B1 (ko) 2008-03-28 2016-04-04 삼성전자주식회사 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
US8270467B1 (en) 2008-05-13 2012-09-18 Marvell International Ltd. Encoding image data
US8571106B2 (en) 2008-05-22 2013-10-29 Microsoft Corporation Digital video compression acceleration based on motion vectors produced by cameras
KR100949917B1 (ko) 2008-05-28 2010-03-30 한국산업기술대학교산학협력단 적응적 인트라 예측을 통한 고속 부호화 방법 및 시스템
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US9479786B2 (en) 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
FR2936926B1 (fr) 2008-10-06 2010-11-26 Thales Sa Systeme et procede de determination de parametres de codage
TWI382770B (zh) 2008-12-11 2013-01-11 Univ Nat Taiwan 視訊影像傳輸中遇到封包遺失時的有效選取方法
CN102292745B (zh) 2009-01-23 2015-08-12 日本电气株式会社 图像签名提取设备
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
CN102308586B (zh) 2009-02-06 2015-03-25 汤姆森特许公司 用于视频编码器和解码器隐式和半隐式帧内模式信令的方法和装置
US20100215104A1 (en) 2009-02-26 2010-08-26 Akira Osamoto Method and System for Motion Estimation
JP5133290B2 (ja) * 2009-03-31 2013-01-30 株式会社Kddi研究所 動画像符号化装置および復号装置
US8379728B2 (en) 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
US8902985B2 (en) 2009-06-22 2014-12-02 Panasonic Intellectual Property Corporation Of America Image coding method and image coding apparatus for determining coding conditions based on spatial-activity value
KR20110009058A (ko) 2009-07-20 2011-01-27 삼성전자주식회사 계층 구조의 영상 부호화/복호화에서 색 채널을 부호화/복호화하는 방법 및 장치
US8848799B2 (en) 2009-09-02 2014-09-30 Sony Computer Entertainment Inc. Utilizing thresholds and early termination to achieve fast motion estimation in a video encoder
KR20110050283A (ko) 2009-11-06 2011-05-13 삼성전자주식회사 다중 참조 영상을 이용한 고속 움직임 추정 방법
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
WO2011080925A1 (ja) 2009-12-28 2011-07-07 パナソニック株式会社 画像符号化装置および方法
US8532408B2 (en) 2010-02-17 2013-09-10 University-Industry Cooperation Group Of Kyung Hee University Coding structure
KR101503269B1 (ko) 2010-04-05 2015-03-17 삼성전자주식회사 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치
WO2012040183A1 (en) 2010-09-24 2012-03-29 Ethicon Endo-Surgery, Inc. Laparoscopic instrument with attachable end effector
KR101483179B1 (ko) 2010-10-06 2015-01-19 에스케이 텔레콤주식회사 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9137544B2 (en) 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
US20120195366A1 (en) 2011-02-01 2012-08-02 Mediatek Singapore Pte. Ltd. Method and Apparatus of Adaptive Inter Mode Coding Using Variable Length Codes
CN102148989B (zh) 2011-04-22 2012-07-25 西安交通大学 一种h.264中全零块检测的方法
US20120281760A1 (en) 2011-05-04 2012-11-08 Hyung Joon Kim Iterative Grid-Pattern Motion Search
CN103563377B (zh) 2011-06-28 2017-05-10 太阳专利托管公司 解码方法及解码装置
JP2013012905A (ja) 2011-06-29 2013-01-17 Sony Corp 画像処理装置および方法
KR101572535B1 (ko) 2011-06-30 2015-11-27 후아웨이 테크놀러지 컴퍼니 리미티드 합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법
EP2705668A1 (en) 2011-07-12 2014-03-12 Huawei Technologies Co., Ltd Pixel-based intra prediction for coding in hevc
US20130021488A1 (en) 2011-07-20 2013-01-24 Broadcom Corporation Adjusting Image Capture Device Settings
RU2011131824A (ru) 2011-07-28 2013-02-10 ЭлЭсАй Корпорейшн Поиск интра-режима для кодирования видеоинформации
GB2493777A (en) 2011-08-19 2013-02-20 Skype Image encoding mode selection based on error propagation distortion map
US9369703B2 (en) 2011-09-29 2016-06-14 Texas Instruments Incorporated Method and apparatus for SSIM-based bit allocation
US9398300B2 (en) 2011-10-07 2016-07-19 Texas Instruments Incorporated Method, system and apparatus for intra-prediction in video signal processing using combinable blocks
WO2013063784A1 (en) 2011-11-03 2013-05-10 Thomson Licensing Video encoding and decoding based on image refinement
KR20130049522A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
US9344715B2 (en) 2011-11-07 2016-05-17 Futurewei Technologies, Inc. Angular table for improving intra prediction
US9253482B2 (en) 2011-11-08 2016-02-02 Texas Insturments Incorporated Method and apparatus for sample adaptive offset without sign coding
US8693551B2 (en) 2011-11-16 2014-04-08 Vanguard Software Solutions, Inc. Optimal angular intra prediction for block-based video coding
US9628789B2 (en) 2011-11-18 2017-04-18 Qualcomm Incorporated Reference mode selection in intra mode coding
EP3399753B1 (en) * 2012-01-20 2019-12-11 Velos Media International Limited Multiple sign bit hiding within a transform unit
WO2013143103A1 (en) 2012-03-29 2013-10-03 Mediatek Singapore Pte. Ltd. Methods and apparatuses of intra mode coding for scalable extension of high efficiency video coding (hevc)
US9584802B2 (en) 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
CN102665078A (zh) 2012-05-08 2012-09-12 北方工业大学 用于hevc的基于方向矢量的帧内预测模式决策
WO2013181821A1 (en) 2012-06-07 2013-12-12 Mediatek Singapore Pte. Ltd. Improved intra transform skip mode
US9426466B2 (en) 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
US9749645B2 (en) 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
CN103533325B (zh) 2012-07-06 2017-07-07 乐金电子(中国)研究开发中心有限公司 一种深度图像帧内编解码方法、装置及编解码器
US9264710B2 (en) * 2012-07-06 2016-02-16 Texas Instruments Incorporated Method and system for video picture intra-prediction estimation
KR101367777B1 (ko) * 2012-08-22 2014-03-06 주식회사 핀그램 적응 이미지 압축시스템 및 그 방법
US20140064359A1 (en) 2012-08-31 2014-03-06 Qualcomm Incorporated Intra prediction most probable mode order improvement for scalable video coding
WO2014083491A2 (en) 2012-11-27 2014-06-05 Squid Design Systems Pvt Ltd System and method of mapping multiple reference frame motion estimation on multi-core dsp architecture
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US9426473B2 (en) 2013-02-01 2016-08-23 Qualcomm Incorporated Mode decision simplification for intra prediction
CN103118262B (zh) 2013-02-04 2016-03-16 深圳广晟信源技术有限公司 率失真优化方法及装置、视频编码方法及系统
US20140219331A1 (en) 2013-02-06 2014-08-07 Magnum Semiconductor, Inc. Apparatuses and methods for performing joint rate-distortion optimization of prediction mode
US9148667B2 (en) 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US9998750B2 (en) 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
US10904551B2 (en) 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
CN103384327A (zh) 2013-04-22 2013-11-06 张新安 基于自适应阈值的avs快速模式选择算法
CN103248895B (zh) 2013-05-14 2016-06-08 芯原微电子(北京)有限公司 一种用于hevc帧内编码的快速模式估计方法
CN103281538B (zh) 2013-06-06 2016-01-13 上海交通大学 基于滚动哈希和块级别帧内预测的帧内编码方法
US20140369413A1 (en) 2013-06-18 2014-12-18 Vmware, Inc. Systems and methods for compressing video data using image block matching
US20150189269A1 (en) 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
CN103763570B (zh) 2014-01-20 2017-02-01 华侨大学 一种基于satd的hevc快速帧内预测方法
US9924183B2 (en) 2014-03-20 2018-03-20 Nanjing Yuyan Information Technology Ltd. Fast HEVC transcoding
US9807398B2 (en) 2014-09-30 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Mode complexity based coding strategy selection
CN107197251B (zh) * 2017-06-27 2019-08-13 中南大学 一种新视频编码标准的基于分层b帧的帧间模式快速选择方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006339774A (ja) * 2005-05-31 2006-12-14 Kddi R & D Laboratories Inc 動画像符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Fast CU Size Decision Algorithm Based on Adaptive Depth Selection for HEVC Encoder;HUADE SHI et al.;<2014 IEEE international conference on audio, language and image processing>;20140707;第II部分

Also Published As

Publication number Publication date
EP3254463A4 (en) 2018-02-21
CN106416254A (zh) 2017-02-15
US20180014017A1 (en) 2018-01-11
EP3254463A1 (en) 2017-12-13
US10924743B2 (en) 2021-02-16
WO2016123792A1 (en) 2016-08-11

Similar Documents

Publication Publication Date Title
CN106416254B (zh) 在媒体编码期间跳过评估阶段
CN105359531B (zh) 用于针对屏幕内容编码的编码器侧判定的方法和系统
CN105917648B (zh) 具有非对称分区的帧内块复制预测以及编码器侧搜索图案、搜索范围和用于分区的方法
CN105659602B (zh) 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN105706450B (zh) 根据基于散列的块匹配的结果的编码器决定
CN105981382B (zh) 用于视频编码的基于散列的编码器判定
CN105874791B (zh) 在对重叠区域内的经重构样本值的块向量预测和估计方面的创新
CN105874795B (zh) 在波前并行处理被启用时对图片内预测模式的规则
CN105765974B (zh) 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN105393537B (zh) 用于基于散列的块匹配的散列表构建和可用性检查
CN105684409B (zh) 在视频和图像编码和解码中使用散列值来表示各块
CN105556971B (zh) 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
CN105264888B (zh) 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
CN105900420B (zh) 选择运动向量精度
CN105493505B (zh) 统一的帧内块复制和帧间预测模式
CN105230023B (zh) 色彩空间、色彩采样率和/或比特深度的自适应切换
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN105684441B (zh) 视频和图像编码中的基于散列的块匹配
CN105432077B (zh) 在切换色彩空间时调整量化/缩放和逆量化/缩放
CN109076241A (zh) 利用样本值的非相邻参考线进行帧内图片预测
CN105659606B (zh) 用于视频和图像编码和解码的方法、系统和介质
CN107431814B (zh) ρ域速率控制的变化的方法、系统及计算机可读存储器
CN106664405A (zh) 用调色板模式对经逸出编码的像素的稳健编码/解码
CN105409221A (zh) 用于样本自适应偏移滤波的编码器侧决策
CN105917650A (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