CN104937936B - 用于视频译码的方法和装置 - Google Patents

用于视频译码的方法和装置 Download PDF

Info

Publication number
CN104937936B
CN104937936B CN201480005928.7A CN201480005928A CN104937936B CN 104937936 B CN104937936 B CN 104937936B CN 201480005928 A CN201480005928 A CN 201480005928A CN 104937936 B CN104937936 B CN 104937936B
Authority
CN
China
Prior art keywords
pattern
intra prediction
mode
prediction mode
current collection
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
CN201480005928.7A
Other languages
English (en)
Other versions
CN104937936A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104937936A publication Critical patent/CN104937936A/zh
Application granted granted Critical
Publication of CN104937936B publication Critical patent/CN104937936B/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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

Landscapes

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

Abstract

本发明大体上描述用于当从多个不同预测模式进行选择时减少模式选择的复杂性的技术。包括处理器的视频译码装置可执行所述技术。所述处理器可计算当前集合中识别的帧内预测模式的预定义集合的近似成本。帧内预测模式的所述当前集合可包含比帧内预测模式的总数目少的模式。所述处理器可将针对一或多个最可能帧内预测模式计算的近似成本与阈值进行比较,且以一或多个最可能帧内预测模式替换所述当前集合的所述帧内预测模式中的一或多者。所述处理器可相对于所述当前集合中识别的每一帧内预测模式执行速率失真分析,且使用所述当前集合的模式执行相对于当前块的帧内预测译码。

Description

用于视频译码的方法和装置
技术领域
本发明涉及视频译码,并且更确切地说,涉及视频译码的帧内预测方面。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似者。数字视频装置实施视频压缩技术(例如,由MPEG-2、MPEG-4、ITU-T H.263或ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准及这些标准的扩展中所描述的视频压缩技术),以较有效地发射及接收数字视频信息。人们正在研发新视频译码标准,例如,由“视频译码联合开发团队”(JCT-VC)开发的高效率视频译码(HEVC)标准,其为MPEG与ITU-T之间的合作成果。新出现的的HEVC标准有时被称作ITU-T H.265,但此名称尚未正式确定。
发明内容
一般来说,本发明描述用于当从多个不同预测模式进行选择时减少模式选择的复杂性的技术。通常,视频译码器可使用帧内模式编码(例如,相对于同一图片的其它块而编码)或帧间模式编码(相对于先前译码的图片块而编码)对图片块进行译码。在一些实例中,视频译码器可从大量不同模式中选择译码给定块的模式。视频译码器可基于表示选定模式的近似失真速率的对应近似成本值而选择模式。并非确定每一可能的预测模式的近似成本值,视频译码器可通过初始地选择更可能提供低失真的模式的子集且随后以针对提供低失真的额外模式的搜索精炼所述选定子集而减少模式的数目。
在一个实施例中,一种对视频数据进行编码的方法包含计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本。帧内预测模式的当前集合可包含比可用于对视频数据的当前块进行译码的帧内预测模式的总数少的帧内预测模式。所述方法还可包含计算基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本。所述方法可进一步包含将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较。所述方法还可包含基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者。所述方法可进一步包含相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本。所述方法还可包含基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码。
在一个实施例中,一种视频译码装置可经配置以执行帧内预测过程以对视频数据进行译码,所述视频译码装置。所述视频译码装置可包含处理器,所述处理器经配置以计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本,其中帧内预测模式的所述当前集合包含比可用于对所述视频数据的当前块进行译码的帧内预测模式的总数目少的帧内预测模式。所述视频译码装置可进一步经配置以计算基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本。所述视频译码装置还可经配置以将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较。所述视频译码装置可进一步经配置以基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者。所述视频译码装置还可经配置以相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本。所述视频译码装置可进一步经配置以基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码。
在一个实施例中,一种视频译码装置可经配置以执行帧内预测过程以对视频数据进行译码,所述视频译码装置包含用于计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本的装置,其中帧内预测模式的所述当前集合包含比可用于对所述视频数据的当前块进行译码的帧内预测模式的总数目少的帧内预测模式。所述视频译码装置还可包含用于计算 基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本的装置。所述视频译码装置可进一步包含用于将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较的装置。所述视频译码装置还可包含用于基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者的装置。所述视频译码装置可进一步包含用于相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本的装置。所述视频译码装置还可包含用于基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码的装置。
在一个实施例中,一种非暂时性计算机可读存储媒体包含存储于其上的指令,所述指令当经执行时致使一或多个处理器计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本,其中帧内预测模式的所述当前集合包含比可用于对所述视频数据的当前块进行译码的帧内预测模式的总数目少的帧内预测模式。所述非暂时性计算机可读存储媒体还可包含存储于其上的指令,所述指令当经执行时致使一或多个处理器计算基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本。所述非暂时性计算机可读存储媒体还可包含存储于其上的指令,所述指令当经执行时致使一或多个处理器将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较。所述非暂时性计算机可读存储媒体还可包含存储于其上的指令,所述指令当经执行时致使一或多个处理器基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者。所述非暂时性计算机可读存储媒体还可包含存储于其上的指令,所述指令当经执行时致使一或多个处理器相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本。所述非暂时性计算机可读存储媒体还可包含存储于其上的指令,所述指令当经执行时致使一或多个处理器基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码。
随附图式及以下描述中陈述一或多个实例的细节。其它特征、目标及优势将从描述 及附图以及从权利要求书中显而易见。
附图说明
图1是说明可经配置以利用本发明中描述的技术以在从多个不同预测模式进行选择时减少模式选择的复杂性的实例视频编码和解码系统的框图。
图2是说明可实施技术以当从多个不同预测模式进行选择时减少模式选择的复杂性的视频编码器的实例的框图。
图3是图解说明可实施本发明中描述的技术的实例视频解码器的框图。
图4A是说明根据本发明中描述的技术的视频译码器可选择的帧内预测模式的概念表示的框图。
图4B是说明根据本发明中描述的技术的待进行帧内预测性译码的当前块和相邻块的概念表示的框图。
图5是说明当从多个不同预测模式进行选择时减少模式选择的复杂性的例如图2中所示的视频编码器等视频译码器的示范性操作的流程图。
图6是说明根据本发明的技术初始地构造帧内预测模式的当前集合的例如图2中所示的视频编码器等视频译码器的示范性操作的流程图。
图7A是说明例如图2中所示的视频编码器等视频译码器对帧内预测模式的当前集合进行后处理的示范性操作的流程图。
图7B是说明例如图2中所示的视频编码器等视频译码器对帧内预测模式的当前集合进行后处理的示范性操作的流程图。
图8是说明例如图2中所示的视频编码器等视频译码器对帧内预测模式的当前集合进行精炼的示范性操作的流程图。
具体实施方式
本发明中描述可使例如视频编码器的视频译码器能够在从多个不同预测模式进行选择时减少模式选择的复杂性的技术。总的来说,经编码的视频数据可包含预测数据和残余数据。举例来说,视频编码器可在帧内预测模式或帧间预测模式期间产生预测数据。帧内预测例如大体上涉及相对于图片的相邻经先前译码块中的参考样本预测同一图片的块中的像素值,其中所述选定经先前译码块可被称为参考块。帧内预测也可被称作空间预测,因为所述选定参考块是来自与待预测的块相同的图片。帧间预测通常涉及相对于经时间移除图片中的一或多个参考样本预测图片的块中的像素值。出于此原因,帧间 预测可被称为时间预测,因为所述选定参考块是来自与具有待预测的块的图片不同(并且因此经时间移除)的图片。
当执行帧内预测时,视频编码器可从多个不同帧内预测模式当中进行选择。当执行帧内预测时,视频编码器常常分析与35个帧内预测模式中的每一者相关联的近似成本。此近似成本可近似全速率失真成本。计算全速率失真成本通常要求视频编码器使用帧内预测模式中的每一者计算经预测块。视频编码器随后确定经预测块中的每一者与当前块之间的差异(通常被称为“残余块”,其指定上文参考的残余像素值)且将残余块中的每一者从空间域变换到频域。接着,视频编码器可量化经变换残余块中的每一者以产生对应经编码视频块。最后,视频编码器可对经编码视频块进行解码,将经解码视频块中的每一者与当前块进行比较以确定失真度量。此外,此全速率失真分析涉及针对帧内预测模式中的每一者计算用以用信号表示经编码视频块中的每一者的位的量。因此,视频编码器可针对使用35个帧内预测模式中的对应一者预测的块中的每一者计算近似成本而不是执行此速率失真分析。
在一些实例中,视频编码器可计算针对帧内预测模式中的每一者预测的预测块中的每一者的近似成本。举例来说,视频编码器可初始地计算对应于35个帧内预测模式中的每一者的35个近似成本。视频编码器可随后针对帧内预测模式的某个子集执行全速率失真分析,因为在某些情况下近似成本可能不正确地近似速率失真成本。
虽然上文使用子集的简化与强力搜索相比可减少所需的计算量,但此些技术总体可仍需要对应于35个帧内预测模式中的每一者的近似成本的35次计算。虽然此些技术可减少视频编码器执行计算上密集的全速率失真分析的次数,但在给定计算35个模式中的每一者的近似成本所需的复杂性和时间的情况下,此过程可能不会良好适合于视频数据的实时编码或近实时编码。在一些实时视频编码环境中,计算所有可能的模式的近似成本的处理要求可超过设计约束。
根据本发明中描述的技术,视频编码器可减少执行近似、且在某些情况下全速率失真分析的模式的数目,进而潜在地减少与执行帧内预测过程相关联的时间和复杂性。通过减少与执行帧内预测过程相关联的时间和复杂性,视频编码器可执行实时视频编码或近实时视频编码。
在操作中,视频编码器可计算包含至少一个帧内预测模式但少于可用于对视频数据的当前块进行译码的帧内预测模式的总数的帧内预测模式的预定义集合中识别的每一帧内预测模式的近似成本。此预定义集合常常包含已经观测为以统计方式更可能当执行帧内预测时使用的那些模式。在一些情况下,此预定义集合可为固定的。在一个实例中, 此预定义集合包含模式0、1和26。此预定义集合可在此时包括用于当前块的帧内预测模式的当前集合。在一些情况下,所述预定义集合可通过平面模式、最可能模式以及以取样偏移取样的角度模式形成。
视频编码器可随后在精炼过程中搜索额外帧内预测模式,从而将额外帧内预测模式添加到帧内预测模式的当前集合。在一些实例中,此搜索可类似于对分搜索,从帧内预测模式的预定义集合中在针对帧内预测模式的所述预定义集合中识别的每一模式计算的近似成本当中具有最低相对计算近似成本的模式开始。
为了说明,在当前实例中模式26可具有最低近似成本。在此假设下,对分搜索可从模式26开始,其中模式值(即,26)以某个偏移F递减和递增而到达26+F和26-F。视频编码器可随后计算模式26+F和26-F中的每一者的近似成本且选择模式26、26+F和26-F当中具有最低近似成本的模式。视频编码器可随后基于此比较而替换当前集合中的模式,例如,以模式26、26+F和26-F当中具有最低近似成本的选定模式替换当前集合中的模式26。
所述搜索随后以此方式重复,将F减半到F/2,使搜索再聚焦于模式26(如果模式26+F和模式26-F都不具有小于模式26的近似成本)、模式26+F(如果模式26+F被添加到当前集合)或模式26-F(如果模式26-F被添加到当前集合)。搜索过程继续直到F被划分成分数(假定F作为二的幂的值而开始)。因此如果F设定成例如4,那么过程以F=4重复一次,以F=2重复一次,以F=1重复一次且随后当F=0.5时终止。
以此方式,视频编码器可基于针对帧内预测模式的当前集合中识别的帧内预测模式的所计算近似成本而搜索额外帧内预测模式。视频编码器可随后计算额外帧内预测模式中的每一者的近似成本,基于针对帧内预测模式的当前集合中识别的帧内预测模式中的每一者计算的近似成本与针对额外帧内预测模式计算的近似成本的比较而将额外帧内预测模式添加到帧内预测模式的当前集合。因此,本发明的技术可简化帧内预测中的模式决策且同时不会显著减少预测的精度,且不会显著影响译码效率。所提议的技术在一些实例中可将近似成本计算的数目和全速率失真成本计算的数目减少二分之一以上。
图1是说明可经配置以利用本发明中描述的技术来在从多个不同预测模式进行选择时减少模式选择的复杂性的实例视频编码和解码系统10的框图。如图1的实例中所示,系统10包含源装置12,其产生经编码视频用于通过目的地装置14解码。源装置12可以经由通信信道16向目的地装置14发射经编码视频,或者可以在存储媒体34或文件服务器36上存储所述经编码视频,以使得目的地装置14可以按期望接入经编码视频。源装置12和目的地装置14可包括任何广泛多种装置,包含桌上型计算机、笔记型(即, 膝上型)计算机、平板计算机、机顶盒、电话手持机(包含蜂窝电话或手持机以及所谓的智能电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台或类似装置。
在许多情况下,此类装置可以经配备用于无线通信。因此,通信信道16可包括无线信道。或者,通信信道16可包括适合于发射经编码的视频数据的有线信道、无线和有线信道的组合或任何其它类型的通信信道或通信信道的组合,例如射频(RF)频谱或一或多个物理发射线路。在一些实例中,通信信道16可形成例如局域网(LAN)、广域网(WAN)或例如因特网等全球网络等分组网络的一部分。通信信道16因此大体上表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适的组合。通信信道16可包含路由器、交换器、基站或可以用于促进从源装置12到目的地装置14的通信的任何其它装备。
如图1的实例中进一步展示,源装置12包含视频源18、视频编码器20、调制器/解调器22(“调制解调器22”)和发射器24。在源装置12中,视频源18可包含例如视频俘获装置等源。借助于实例,视频俘获装置可包含摄像机、含有先前俘获的视频的视频档案、用以从视频内容提供者接收视频的视频馈送接口和/或用于产生计算机图形数据作为源视频的计算机图形系统中的一或多者。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的摄像机电话或视频电话。但是,本发明中描述的技术不限于无线应用或设置,并且可以应用于包含视频编码和/或解码能力的非无线装置。因此,源装置12和目的地装置14仅是可以支持本文所述的技术的译码装置的实例。
视频编码器20可以对俘获、预俘获或计算机产生的视频进行编码。一旦经编码,视频编码器20可以向调制解调器22输出此经编码视频。调制解调器22可以接着根据一种通信标准(例如无线通信协议)调节经编码视频,于是发射器24可以向目的地装置14发射经调制的经编码视频数据。数据机22可包含各种混合器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计用于发射数据的电路,包含放大器、滤波器及一或多个天线。
被视频编码器20编码的俘获、预先俘获或计算机产生的视频还可存储到存储媒体34或文件服务器36上以用于日后检索、解码和消耗。存储媒体34可包含蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码视频的任何其它合适的数字存储媒体。目的地装置14可以存取存储在存储媒体34或文件服务器36上的经编码视频,并且对此经编码视频进行解码以产生经解码视频并且回放此经解码视频。
文件服务器36可为任何类型的能够存储经编码视频且将经编码视频发射到目的地 装置14的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置、本机磁盘驱动器或任何其它类型的能够存储经编码的视频数据并且将经编码的视频数据发射到目的地装置的装置。经编码的视频数据从文件服务器36的发射可能是流式发射、下载发射或两者的组合。目的地装置14可以根据任何标准数据连接(包含因特网连接)接入文件服务器36。这个连接可包含无线信道(例如,Wi-Fi连接或无线蜂窝式数据连接)、有线连接(例如,DSL、电缆调制解调器等)、有线和无线信道两者的组合或任何其它类型的适合于接入存储在文件服务器上的经编码视频数据的通信信道。
在图1的实例中,目的地装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。目的地装置14的接收器26经由信道16接收信息,并且调制解调器28对所述信息进行解调以产生用于视频解码器30的经解调位流。经由信道16传送的信息可包含由视频编码器20产生用于视频解码器30在对相关联经编码视频数据进行解码时使用的多种语法信息。此类语法还可包含在存储于存储媒体34或文件服务器36上的经编码的视频数据中。视频编码器20和视频解码器30中的每一者可以形成能够对视频数据进行编码或解码的相应编码器-解码器(编解码器)的一部分。
目的地装置14的显示装置32表示任何类型的能够呈现视频数据以供观看者消费的显示器。虽然展示为与目的地装置14集成,但是显示装置32可以与目的地装置14集成或者在其外部。在一些实例中,目的地装置14可包含集成式显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30可根据视频压缩标准(例如,目前正在开发的高效率视频译码(HEVC)标准)来操作,且可符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是ITU-T H.264标准,也被称为MPEG 4第10部分高级视频译码(AVC)或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件及软件以处置对共同数据流或单独数据流中的音频或视频两者的编码。在一些实例中,如果适用的话,多路复用器-多路分用器单元可以复合ITU H.223多路复用器协议,或例如用户 数据报协议(UDP)等其它协议。
视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。
JCT-VC正在致力于开发HEVC标准。所述HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演进模型。HM假设视频译码装置根据例如ITU-T H.264/AVC相对于现有装置的几个额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是HM可提供多达三十五种帧内预测编码模式。
总的来说,HM的工作模型描述视频帧或图片可以分成包含亮度和色度样本两者的一连串树块或最大译码单元(LCU)。树块具有与H.264标准的宏块类似的目的。切片包含译码次序的多个连续树块。视频帧或图片可以分割成一或多个切片。每一树块可以根据四叉树而分裂成多个译码单元(CU)。举例来说,作为四叉树的根节点的树块可分裂成四个子节点,且每一子节点又可为父代节点且可分裂成另外四个子节点。最后的未经分裂的子节点(作为四叉树的叶节点)包括译码节点,即,经译码视频块。与经译码位流相关联的语法数据可界定树块可分裂的最大次数,且还可界定译码节点的最小大小。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小且形状必须是正方形。CU的大小范围可从8x8像素到具有最大64x64像素或更大的树块的大小。每一CU可含有一或多个PU及一或多个TU。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可以在CU被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码之间有区别。PU可分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树到一或多个TU的分割。TU可为正方形或非正方形形状。
HEVC标准允许根据TU进行的变换,TU可针对不同CU而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而确定,但情况可能并非始终如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU残余样本可以使用一种被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。RQT的叶节点可被称作变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,所述变换系 数可以经量化。
一般来说,PU包含与预测过程有关的数据。举例来说,当PU经帧内模式编码时,PU可包括描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含界定PU的一或多个运动向量的数据。举例来说,定义运动向量的数据可描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片、运动向量的预测方向(双向预测还是单向预测)及/或参考列表(例如,列表0、列表1,或列表C)。
一般来说,TU用于变换和量化过程。具有一或多个PU的给定CU还可包含一或多个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,所述像素差值可变换成变换系数、经量化且使用TU进行扫描以产生串行化变换系数以用于熵译码。本发明通常使用术语“视频块”来指CU的译码节点。在一些特定情况下,本发明还可使用术语“视频块”来指包含译码节点以及PU及TU的树块,即,LCU或CU。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列一或多个视频图片。GOP可包含GOP的标头、图片中的一或多者的标头或其它处的语法数据,其描述GOP中所包含的图片的数目。图片的每一切片可包含切片语法数据,其描述用于相应切片的编码模式。视频编码器20通常对个别视频切片内的视频块操作以便编码视频数据。视频块可以对应于CU内的译码节点。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同大小。
作为实例,HEVC支持各种PU大小的预测。假设特定CU的大小为2Nx2N,那么HM支持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HM还支持用于2NxnU、2NxnD、nLx2N及nRx2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但是另一方向分割成25%及75%。CU的对应于25%分割区的部分表示成“n”,接着是用“上”、“下”、“左”或“右”指示。因而,举例来说,“2NxnU”是指水平地分割的2Nx2N CU,其中顶部为2Nx0.5N PU,而底部为2Nx1.5N PU。
在本发明中,“NxN”及“N乘N”可以互换使用以指在垂直尺寸及水平尺寸方面的视频块的像素尺寸,例如,16x16像素或16乘16像素。一般来说,16x16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,NxN块一般来说在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成行及列。此外,块未必需要在水平方向与垂直方向上具 有相同数目的像素。举例来说,块可包括NxM像素,其中M未必等于N。
在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可以计算CU的TU的残余数据。PU可包括空间域(还被称作像素域)中的像素数据,且在将变换应用到残余视频数据之后,TU可包括变换域中的系数,所述变换例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。
在任何用于产生变换系数的变换之后,视频编码器20可以执行变换系数的量化。量化通常是指将变换系数量化以可能减少用以表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值向下舍入到m位值,其中n大于m。
在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对一维向量进行熵编码。视频编码器20还可对与经编码的视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码时使用。
为了执行CABAC,视频编码器20可以向待发射的符号指派上下文模型内的上下文。举例来说,所述上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可以选择用于待发射的符号的可变长度码。VLC中的码字可经构造使得相对较短码对应于更有可能符号,而较长码对应于不太可能符号。以此方式,使用VLC可例如实现优于针对待发射的每一符号使用等长度码字的位节省。概率确定可基于指派给符号的上下文。
如先前描述,当选择用于帧内预测的模式时,一些过程可需要计算对应于每一可能的帧内预测模式的近似成本。虽然一些过程可减少视频编码器执行计算上密集的全速率失真分析的次数,但给定计算可能的帧内预测模式中的每一者的近似成本所需的复杂性和时间,此过程可能不良好适合于视频数据的实时编码或近实时编码。
根据本发明的技术,视频编码器20可实施用于帧内预测的快速模式决策技术。视频编码器20可通过均匀地取样所有可能的帧内预测模式且过滤掉切割列表中的一或多个预测模式来初始地构造初步模式的当前集合。视频编码器20可随后对当前集合的模 式执行精炼搜索。最后,视频编码器20可基于最可能模式和非最可能模式的相应近似成本的关系以与最低近似成本相关联的最可能模式替换具有最大近似成本的当前集合的非最可能模式。本发明的此些技术可在一些实例中将近似成本计算的数目减少到小于17且将全速率失真成本计算的数目减少到3(对于4x4和8x8的PU大小)和2(对于大于8x8的PU大小)。
在一个实例中,视频编码器20初始地确定可以统计方式更可能在执行帧内预测时使用的预定义预测模式的集合。视频编码器20可随后通过搜索提供近似成本的额外帧内预测模式,例如基于针对帧内预测模式的当前集合中识别的帧内预测模式计算的近似成本而搜索额外帧内预测模式,来精炼所述子集。举例来说,视频编码器20可在搜索中识别提供较低近似成本的帧内预测模式。基于与所识别帧内预测模式相关联的近似失真成本,视频编码器20可将所识别模式添加到当前集合(包含预定义预测模式)和/或以所识别模式替换所述子集中的预定义模式。
以此方式,视频编码器20可精炼预测模式的当前集合以包含提供低近似成本的模式,同时仅针对所有可能帧内预测模式的子集产生近似成本。因此,视频编码器20可仅针对在当前集合(例如,帧内预测模式的子集)中识别的那些帧内预测模式而不是所有可能的帧内预测模式执行全速率失真分析。由于当前集合中的帧内预测模式的数目可小于帧内预测模式的总数且提供较低近似成本,因此本发明的技术可减少执行模式选择的复杂性和处理要求。在一些实例中,减少此些处理要求可改善并行和/或串行处理视频译码器中的视频译码性能。
视频解码器30可接收包括经译码数据的位流且根据从视频编码器20接收的对应语法元素对所述数据进行解码。视频解码器30可大体上执行与上文相对于视频编码器20描述的那些操作互逆的操作。也就是说,视频解码器30可对经编码视频数据的每一块进行熵解码,执行逆量化以解量化经编码视频数据的块,且应用逆变换以将经编码视频数据的解量化块从频域变换到空间域。经编码视频数据的此经变换块可表示残余数据的经重构版本。在预测过程中,视频解码器30可选择对应预测模式以基于用信号表示预测模式的语法元素而对给定块进行解码。也就是说,视频编码器20可根据本发明的技术发送用信号表示用于给定块的预测模式的一或多个语法元素,视频解码器30可随后使用所述语法元素来对给定块进行解码。
图2是说明可实施技术以当从多个不同预测模式进行选择时减少模式选择的复杂性的视频编码器20的实例的框图。视频编码器20可以执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的 空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。
在图2的实例中,视频编码器20包含分割单元40、预测单元41、参考图片存储器64、求和器50、变换处理单元52、量化单元54,及熵编码单元56。预测单元41包含运动估计单元42、运动补偿单元44及帧内预测单元46。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换处理单元60,及求和器62。还可包含解块滤波器(图2中未图示)以便对块边界进行滤波,以从经重构视频移除成块效应假象。必要时,解块滤波器将通常对求和器62的输出进行滤波。除了解块滤波器之外,还可使用额外环路滤波器(环路中或环路后)。视频编码器20还包含模式选择单元43。模式选择单元43可例如基于错误结果选择帧内或帧间译码模式中的一者。如图2中进一步描述,模式选择单元43可实施用于减少当从多个不同预测模式进行选择时存储速率失真值所需的空间的技术。
如图2中所示,视频编码器20接收视频数据,且分割单元40将所述数据分割成视频块。此分割还可包含分割成切片、图像块或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。视频编码器20一般说明编码待编码的视频切片内的视频块的组件。一般来说,切片可划分成多个视频块(且可能划分成被称作瓦片的视频块集合)。
模式选择单元43可基于错误结果(例如,译码速率及失真等级)针对当前视频块选择多种可能译码模式中的一者,例如多种帧内译码模式中的一者或多种帧间译码模式中的一者。预测单元41可将所得的经帧内或帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重构经编码块以用于用作参考图片。在一些实例中,模式选择单元43可分析经重构视频块中的每一者以通过通常被称为“速率失真优化”的过程(可简称为“RDO”)选择最佳速率-失真比。下文描述的图2的进一步细节说明根据本发明的一或多个方面的模式选择技术。
本发明的方面大体上涉及帧内译码。因此,本发明的某些技术可由模式选择单元43执行。也就是说,举例来说,模式选择单元43可执行下文相对于图2-8描述的本发明的技术。在其它实例中,视频编码器20的一或多个其它单元(例如,帧内预测单元46)可另外、共同地或可替代地负责执行本发明的技术。
预测单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测性块执行当前视频块的帧间预测性译码以提供时间压缩。运动估计单元42可经配置以根据用于视频序列的预定模式确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
预测性块是被发现在像素差方面与待译码的视频块的PU密切匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可以计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值。因此,运动估计单元42可以相对于全像素位置及分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在参考图片存储器64中的一个或多个参考图片。运动估计单元42向熵编码单元56和运动补偿单元44发送计算出的运动向量。
通过运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量获取或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元44可即刻在参考图片列表中的一者中定位所述运动向量指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于所述块的残余数据,并且可包含亮度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
预测单元41内的帧内预测单元46可相对于与待译码当前块在同一图片或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。因此,作为如上文所描述由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。
确切地说,模式选择单元43可基于对应于给定模式和块的速率失真的量而确定用以对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可使用例如在单独的编码遍次期间从模式选择单元43接收的各种帧内预测模式对当前块进行编码。
模式选择单元43可使用针对各种经测试帧内预测模式的速率失真分析计算速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。模式选择单元43可以根据用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。根据所提议的HEVC标准,可存在多达35个帧内预测模式,且每一帧内预测模式可与索引相关联。
当执行帧内预测时,模式选择单元43可分析与每一可能帧内预测模式相关联的近似成本而不是执行全速率失真分析。此近似成本可近似速率失真成本。计算全速率失真成本通常要求视频编码器使用帧内预测模式中的每一者计算经预测块,确定预测块中的每一者与当前块之间的差异(通常被称为“残余块”,其指定上文参考的残余像素值),将残余块中的每一者从空间域变换到频域,量化经变换残余块中的每一者中的系数值以产生系数的对应经编码视频块,且随后对经编码视频块进行解码,从而将经解码视频块中的每一者与当前块进行比较以确定失真度量。此外,此全速率失真分析可涉及在给定量化层级的情况下针对帧内预测模式中的每一者计算用以用信号表示经编码视频块中的每一者的位的量。
如上文所描述,模式选择单元43可计算一或多个帧内预测模式的近似成本,而不是针对使用35个帧内预测模式中的对应一者预测的预测块中的每一者执行全速率失真分析。模式选择单元43可使用各种数学过程计算全速率失真成本的近似。一些实例过程可大体上称为拉格朗日速率失真近似。为了从大量可能的模式中确定最佳模式,可应用拉格朗日乘数以测量每一不同模式的成本。拉格朗日乘数可基于失真测量D和速率测量R。所述失真测量可针对不同实施方案不同地界定,例如平方误差总和(SSE)、绝对差总和(SAD)或绝对变换差总和(SATD)。所述速率测量表示需要多少位来对当前模式信息进行编码。举例来说,速率测量可包含用以用信号表示预测模式类型、帧内模式索引或运动向量等的位。一旦获得D和R的值,便可如等式(1)中所示计算成本C,其中λ是预定义常数:
C=D+λ*R (1)
模式选择单元43可通过选择产生最小C的模式而选择最佳模式。
作为一个实例,模式选择单元43可计算平方失真总和(SSD)、绝对差总和(SAD)以及绝对变换差总和(SATD)。模式选择单元43可计算SATD作为用来近似速率失真成本的方法。模式选择单元43可根据以下等式(2)计算SATD:
在等式(2)中,表示当前块X的预测块,TNxN(·)是NxN变换(例如阿达马变换),λ是拉格朗日乘数(其可凭经验选定),且R模式是用以对模式进行编码的数目位。因此,J(SATD)成本可为具有减少复杂性的全速率失真的近似。
通常,在当前块是4x4或8x8的大小时,视频编码器可分析与剩余27到25个帧内预测模式相比具有最低近似成本的八到十个帧内预测模式。在当前块大于8x8时,视频编码器可分析与剩余32到30个帧内预测模式相比具有最低近似成本的三到五个帧内预测模式。在一些实例中,视频编码器还可在帧内预测译码期间考虑所谓的“最可能”帧内预测模式。为了识别此最可能模式,视频编码器可识别经先前编码块的帧内预测模式(常常是邻近于当前块的相邻块)。所述最可能模式可具有由于相邻块到当前块的空间接近度而与当前块相同或类似的相对高概率。
在HEVC中,存在三个最可能模式。前两个是左上方PU的帧内预测模式,前提是那些PU可用且是使用帧内预测模式译码。将任何不可用预测模式视为帧内DC模式。当两个最可能模式不相等时,将第三最可能模式设定成等于Intra_Planar、Intra_DC或Intra_Angular[26](垂直)(根据按此次序的这些模式中哪一者不是前两个模式中的一者的重复)。当前两个最可能模式相同时,如果此第一模式具有值Intra_Planar或Intra_DC,那么将第二和第三最可能模式指派为Intra_Planar、Intra_DC或Intra_Angular[26](根据按此次序的这些模式中哪一者不是重复)。当前两个最可能模式相同且第一模式具有Intra_Angular值时,将第二和第三最可能模式选择为最接近于第一模式的角度(即k的值)的两个角度预测模式。
在一些实例中,视频编码器可针对预测的预测块中的每一者和帧内预测模式中的每一者计算近似成本。举例来说,视频编码器可初始地计算对应于35个帧内预测模式中的每一者的35个近似成本。视频编码器可随后针对帧内预测模式的某个子集执行全速率失真分析,因为在某些情况下近似成本可能不正确地近似速率失真成本。
虽然对模式的子集执行全速率失真分析的简化与强力搜索相比可减少需要的计算量,但此些技术总体仍需要对应于35个帧内预测模式中的每一者的近似成本的35次计算。因此,虽然这些技术可减少视频编码器执行计算上密集的全速率失真分析的次数,但给定计算35个模式中的每一者的近似成本所需的复杂性和时间,此过程可能不良好适合于视频数据的实时编码或近实时编码。
为了减少模式选择的复杂性,本发明描述通过初始地选择更可能提供低近似成本的模式子集且随后以针对提供较低近似成本的额外模式的搜索精炼所述选定子集而减少使用全速率失真分析应用的模式的数目的技术。所述技术可使例如视频编码器20等视频编码器能够选择最佳模式,例如具有最低速率失真的模式,来对当前块进行编码。通过减少与执行帧内预测过程相关联的时间和复杂性,所述技术可促进经改善的实时视频编码和/或近实时视频编码。
为了说明,模式选择单元43可初始地执行本发明中描述的技术以确定当前块以从分割单元40进行编码。模式选择单元43可计算包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本。帧内预测模式的当前集合可包含比可用于对视频数据的当前块进行译码的帧内预测模式的总数少的帧内预测模式。帧内预测模式的预定义集合常常包含已经观测为以统计方式更可能当执行帧内预测时使用的那些模式。也就是说,在一些实例中,模式选择单元43可确定指示选择一或多个模式的发生次数的一或多个统计数据。至少部分基于所述统计数据,模式选择单元43可选择帧内预测模式的第一集合中包含的模式。
在一些情况下,所述预定义集合可为固定的。在一个实例中,此预定义集合包含模式0、1和26。此预定义集合此时可包括用于当前块的帧内预测模式的当前集合。在一些情况下,所述预定义集合可通过平面模式、最可能模式以及以取样偏移取样的角度模式形成,如下文进一步描述。由于平面模式和最可能模式可常常作为最终选定模式而出现,因此模式选择单元43可确定这些相应模式和对当前集合的模式的近似成本。
为了识别包含预定义集合的最可能模式,模式选择单元43可识别经先前编码块的一或多个帧内预测模式,如相对于图4A-4B和5进一步描述。经先前编码块可为邻近于当前块的相邻块。这些所谓的相邻块的帧内预测模式由于相邻块到当前块的空间接近度而可具有与提供当前块的低速率失真的帧内预测模式相同或类似的相对高概率。因此,视频编码器20可将相邻块的这些帧内模式识别为最可能模式,计算所述最可能模式的近似成本,且在当前集合中包含所述模式。
为了使用取样偏移识别一或多个角度模式,模式选择单元43可对所有可能角度帧内预测模式的群组中包含的一或多个角度模式进行取样,如相对于本发明的图6进一步描述。模式选择单元43可不计算所有角度预测模式的近似成本以便减少近似成本计算的次数。实际上,模式选择单元43可使用偏移对一或多个角度模式进行取样。也就是说,通过使用偏移来选择用于近似成本计算的模式,模式选择43可对总体可能的角度预测模式的子集进行均匀地取样。
在取样过程中,模式选择单元43可针对所有可能角度模式的经取样子集确定每一相应经取样角度模式是否包含于切割列表中。切割列表可包含以低或最少概率出现的一或多个帧内预测模式。举例来说,所述一或多个帧内预测模式可与并不满足阈值(例如,小于阈值)的相应概率和/或频率相关联。如果相应经取样角度模式包含于切割列表中,那么模式选择单元43可不计算所述模式的近似成本且将所述模式添加到当前集合。此外,在一些实例中,如果模式选择单元43已经计算相应经取样角度模式的近似成本,那么模式选择单元43可不计算所述模式的近似成本。通过对一或多个角度模式进行取样的此过程,模式选择单元43可在帧内预测模式的预定义集合中包含一或多个经取样角度模式。
在一些实例中,当前集合可具有按近似成本(例如,SATD成本)的升序的长度N的预定义模式。在HM中,针对4x4和8x8的PU大小将N设定成8,针对大于8x8的PU大小将N设定成3。变量N的值越小,模式选择单元43可执行的全速率失真成本计算的次数越少。为了平衡复杂性和译码效率折中,模式选择单元43可针对4x4和8x8的PU大小将N设定为3,且可针对16x16和32x32的PU大小将N设定为2。
在初始地构造包含模式的预定义集合的当前集合之后且在如下文进一步描述的当前集合的后处理之前,模式选择单元43可执行精炼当前集合的搜索。图8中进一步说明精炼当前集合的实例技术。在一个实例中,模式选择单元43可选择帧内预测模式的预定义集合中在针对帧内预测模式的预定义集合中识别的每一模式计算的近似成本当中具有最低相对近似成本的模式。为了说明,在帧内预测模式的预定义集合中模式26可具有最低近似成本。模式选择单元43可因此开始从模式26的搜索,其中模式值(即,26)以某个偏移F递减和递增而到达26+F和26-F。模式选择单元43可随后计算模式26+F和26-F中的每一者的近似成本且选择模式26、26+F和26-F当中具有最低近似成本的模式。模式选择单元43可随后基于此比较而替换当前集合中的模式,例如,以模式26、26+F和26-F当中具有最低近似成本的选定模式替换当前集合中的模式26。
模式选择单元43可以此方式重复搜索,将F减半到F/2,将搜索再聚焦于模式26(模式26+F或模式26-F都不具有小于模式26的近似成本)、模式26+F(如果模式26+F被添加到当前集合)或模式26-F(如果模式26-F被添加到当前集合)。在其它实例中,模式选择单元43可将F除以任何合适的值d,其中在当前实例中d等于2。模式选择单元43可继续搜索过程直到F被划分成分数(假定F作为二的幂的值而开始)。因此如果F设定成例如4,那么过程以F=4重复一次,以F=2重复一次,以F=1重复一次,且随后当F=0.5时终止。
在初始地产生包含预定义帧内预测模式和/或使用精炼过程选择的角度帧内预测模式的当前集合之后,模式选择单元43可即刻对当前列表执行后处理,如图7A、7B中进 一步说明。虽然最可能模式可作为用来对块进行帧内预测的模式而以较高概率发生,但最可能模式可能不一定具有较小的近似成本。因此,仅使用当前集合中的最可能模式可导致实质性能损失。因此,模式选择单元43可使用最可能模式和近似成本两者来对当前集合进行后处理且选择对当前块进行帧内预测的模式。也就是说,模式选择单元43可对当前集合执行后处理以使得当前集合包含具有最可能模式和相对小近似成本两者的模式。
为了对当前集合进行后处理,模式选择单元43可从所有可能的最可能模式确定具有最低近似成本的最可能模式。模式选择单元43可将具有最低近似成本的此最可能帧内预测模式与阈值进行比较。在一些实例中,所述阈值比较可根据以下等式而界定:
在以上等式中,变量J可为当前集合中的非最可能帧内预测模式的近似成本(例如,SATD),而变量JM是所有可能的最可能模式中具有最低近似成本的最可能帧内预测模式的近似成本。在以上等式中,变量T指代阈值,通常具有0与1之间的值。所述等式提供如果JM与J之间的差除以J的绝对值小于阈值T,那么模式选择单元43添加所述最可能模式代替所述最可能模式所比较的非最可能模式。以此方式,模式选择单元43可基于所述比较以一或多个最可能帧内预测模式替换帧内预测模式的当前集合中识别的帧内预测模式中的一或多者。
根据在本说明书中阐述的技术,模式选择单元43可因此提供用于帧内预测的快速模式决策过程。这些技术可将近似成本计算的次数减少到小于17。在一些实例中,这些技术可将全速率失真成本计算的次数减少到3(对于4x4和8x8的PU大小)和2(对于大于8x8的PU大小)。
模式选择单元43可随后相对于经后处理帧内预测模式的当前集合中识别的每一帧内预测模式执行全速率失真分析以确定帧内预测模式的当前集合中识别的每一帧内预测模式的全速率失真成本。帧内预测单元46可随后基于所确定的速率失真成本根据帧内预测模式的当前集合中识别的帧内预测模式中的一者相对于当前块执行帧内预测以对当前块进行编码。帧内预测单元46常常执行具有最低速率失真成本的模式。
如上文所描述,在一些实例中,模式选择单元43可确定是否执行针对额外帧内预测模式的精炼搜索。作为一个实例,在精炼搜索之前的初始构造的当前集合可包含模式0、1和角度模式26。模式选择单元43可基于针对模式26计算的近似成本是否为相对于针对模式0和模式1计算的近似成本的最低近似成本而确定是否执行精炼搜索。也就 是说,模式选择单元43可确定与例如平面模式或最可能模式对比,当前集合中的最低近似成本是否与角度模式相关联。在这方面中,如果最低近似成本与当前集合中的角度模式相关联,那么模式选择单元43可基于帧内预测模式的当前集合中识别的帧内预测模式的所计算近似成本而搜索额外帧内预测模式。相比之下,如果模式0、1和26全部在当前集合中且模式26不与相对于针对模式0和模式1计算的近似成本的最低近似成本相关联,那么模式选择单元43可不对当前集合执行精炼搜索。因此,在一些情况下,模式选择单元43可在与最低近似成本相关联的模式是角度模式时执行上述精炼搜索。
在一些实例中,在对当前集合进行后处理之后,帧内预测单元46可即刻根据由帧内预测模式的经后处理当前集合识别的帧内预测模式中的一者执行帧内预测以对当前块进行编码。使用选定模式,帧内预测单元46可确定预测性块以对当前块进行编码。举例来说,预测模式可指示将评估哪一块或块群组帧内预测模式来选择预测性块。
在帧内预测单元46确定当前视频块的预测性块之后,求和器50通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含在一或多个TU中且应用到变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变换系数以进一步减小位率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可随后执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码单元56可以执行所述扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法或技术。熵编码单元56还可对正被编码的当前视频切片的运动向量及其它语法元素进行熵编码。在熵编码单元56进行的熵编码之后,可将经编码位流发射到视频解码器30,或将经编码位流存档以供稍后发射或由视频解码器30检索。
熵译码单元56可根据本发明的技术编码指示所述选定帧内预测模式的信息。视频编码器20可在所发射的位流中包含配置数据、一或多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)、用于各种块的编码上下文的定义、经编码视频数据等。视频编码器20可在所发射的位流中包含的这些类型的信息是示范性的,且许多其它类型的信息也可以包含于位流中。
逆量化单元58及逆变换处理单元60分别应用逆量化及逆变换以在像素域中重构残余块,以供稍后用作参考图片的参考块。运动补偿单元44可以通过将残余块加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构残余块以计算子整数像素值以用于运动估计。求和器62将经重构的残余块加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块以用于存储在参考图片存储器64中。参考块可供运动估计单元42及运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。
图3是说明可实施本发明中描述的技术的实例视频解码器30的框图。在图3的实例中,视频解码器30包含熵解码单元70、预测单元73、逆量化单元76、逆变换处理单元78、求和器80和参考图片存储器82。预测单元73包含运动补偿单元72和帧内预测单元74。在一些实例中,视频解码器30可执行一般与关于图2的视频编码器20描述的编码遍次互逆的解码遍次。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。根据本发明的技术,除了其它信息外,经编码位流可包含对应于块且如先前相对于图2描述由模式选择单元43选择的预测模式。视频解码器30的熵解码单元70可对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元70可将运动向量和其它语法元素转发到预测单元73。视频解码器30可以接收视频切片层级及/或视频块层级的语法元素。
当视频切片经译码为经帧内译码(I)切片时,预测单元73的帧内预测单元74可以基于发信号通知的帧内预测模式和来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。帧内预测单元74可基于对应于用于当前块的帧内预测模式的索引而确定用于对当前视频数据块进行解码的适当帧内预测模式。所述帧内预测模式可能已经如先前相对于图2描述由模式选择单元43先前选择,且所述索引可能已经包含于由视频编码器20发送到视频解码器30的经编码位流中。帧内预测单元74可基于对应于所述索引的帧内预测模式而选择预测性块。求和器80可将来自逆变换处理单元78的预测性块数据和残余块数据相加以产生经解码当前块。存储器82可存储经解码当前块,其可随后由显示装置输出或发送到另一计算装置。
如上所述,本发明的方面大体上涉及帧内译码。因此,本发明的某些技术可由帧内预测单元74执行。也就是说,举例来说,帧内预测单元74可执行相对于下文图4A-8描述的本发明的技术。在其它实例中,视频解码器30的一或多个其它单元可另外或替代地负责执行本发明的技术。
当视频图片作为经帧间译码(例如,B、P或GPB)切片经译码时,预测单元73的运动补偿单元72基于从熵解码单元70接收的运动向量和其它语法元素产生当前视频切片的视频块的预测性块。所述预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储在参考图片存储器82中的参考图片使用默认构造技术构造参考图片列表(列表0和列表1)。
运动补偿单元72通过剖析运动向量及其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码的当前视频块的预测性块。举例来说,运动补偿单元72使用所接收语法元素中的一些语法元素确定用于译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元72还可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据所接收语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
逆量化单元76将提供于位流中且由熵解码单元70解码的经量化变换系数逆量化,例如,解量化。逆量化过程可包含使用视频编码器20针对视频切片中的每一视频块计算以确定应应用的量化程度和同样逆量化程度的量化参数。逆变换处理单元78对变换系数应用逆变换(例如,逆DCT、逆整数变换,或概念上类似的逆变换过程),以便产生像素域中的残余块。
在运动补偿单元72基于运动向量及其它语法元素产生当前视频块的预测性块后,视频解码器30通过对来自逆变换处理单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器80表示执行此求和运算的一或多个组件。必要时,还可应用解块滤波器以对经解码块进行滤波以便去除成块效应假象。其它环路滤波器(译码环路中或译码环路之后)也可用于使像素转变变平滑或以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,所述参考图片存储器存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。
图4A是说明根据本发明中描述的技术的视频译码器可选择的帧内预测模式的概念表示的框图。例如H.264/AVC、MPEG-2和HEVC等视频译码标准使用基于块的混合视 频译码框架。在此些框架中,将图片划分成不同大小的块,所述块在HEVC中称为CU(译码单元)。如先前描述,每一CU可分裂成用于预测(PU)或变换(TU)的较小块。每一PU可在帧内模式的情况下在当前切片内预测或在帧间模式的情况下从时间相邻切片预测。使用如图1到3中描述的可变长度译码技术对预测误差进行变换、量化和译码。
在视频数据中,在矩形区域中的样本与紧邻于所述区域的样本之间可存在相对高相关。在一些实例中,例如HEVC等视频译码技术使用帧内预测来从邻近的经先前译码PU中的样本预测当前PU。在HEVC中,帧内预测提供用于不同PU的35个模式。所述35个模式包含平面模式(模式0)、DC模式(模式1)以及对应于角+/-[0,2,5,9,13,17,21,26,32]/32的33个预测方向的33个角度预测模式。
图4A说明HEVC中经界定的所有模式的35个角度预测方向。在平面模式(标示为“模式0”或“0”)中,视频编码器20可从邻近于当前块的左边列的列中的像素值和邻近于当前块的上方行的行中的像素值预测当前块的像素值。在DC模式(标示为“模式1”或“1”)中,视频编码器20可从当前块的顶部行上方的行中的像素的值以及邻近于当前块的最左边列的列中的像素的值的总和的平均计算预测性块。在角度预测模式中,视频编码器20可通常从当前块的顶部行上方的行的像素值或邻近于当前块的最左边列的列的像素值沿着给定角度(上文展示为帧内预测模式2-34)预测像素。
当执行帧内预测时,视频编码器可从多个不同帧内预测模式之中进行选择。当执行帧内预测时,视频编码器常常分析与35个帧内预测模式中的每一者相关联的近似成本。此近似成本可近似速率失真成本。计算速率失真成本通常要求视频编码器使用帧内预测模式中的每一者计算经预测块,确定预测块中的每一者与当前块之间的差(通常被称为“残余块”,其指定上文参考的残余像素值),将残余块中的每一者从空间域变换到频域,量化经变换残余块中的每一者以产生对应经编码视频块,且随后对经编码视频块进行解码,从而将经解码视频块中的每一者与当前块进行比较以确定失真度量。此外,此速率失真分析涉及针对帧内预测模式中的每一者计算用以用信号表示经编码视频块中的每一者的位的量。因此,视频编码器可针对使用所述35个帧内预测模式中的对应一者预测的预测块中的每一者计算近似成本而不是执行此速率失真分析。
在一些实例中,视频编码器可针对使用帧内预测模式中的每一者预测的预测块中的每一者计算近似成本。举例来说,视频编码器可初始地计算对应于35个帧内预测模式中的每一者的35个近似成本。视频编码器可随后针对帧内预测模式的某个子集执行全速率失真分析,因为在某些情况下近似成本可能不正确地近似速率失真成本。
虽然上文使用子集的简化与强力搜索相比可减少需要的计算量,但此些技术总体仍 需要对应于35个帧内预测模式中的每一者的近似成本的35次计算。虽然此些技术可减少视频编码器执行计算上密集的速率失真分析的次数,但给定计算35个模式中的每一者的近似成本所需的复杂性和时间,此过程可能不良好适合于视频数据的实时编码或近实时编码。在一些实时视频编码环境中,计算所有可能的模式的近似成本的处理要求可超过设计约束。
根据本发明中描述的技术,视频编码器20可进一步减少速率失真分析所执行的模式的数目,进而潜在地减少与执行帧内预测过程相关联的时间和复杂性。举例来说,视频编码器20可初始地确定以统计方式更可能在执行帧内预测时使用的预定义预测模式的子集。视频编码器20可随后通过搜索提供较低速率失真近似成本的额外帧内预测模式而精炼所述子集。举例来说,视频编码器20可在所述搜索中识别提供较低速率失真近似成本的帧内预测模式。
基于与所识别帧内预测模式相关联的近似失真成本,视频编码器20可将所识别模式添加到所述子集和/或以所识别模式替换所述子集中的预定义模式。以此方式,视频编码器20可精炼预测模式的子集以包含提供较低速率失真近似成本的模式。因此,视频编码器20可仅针对帧内预测模式的子集中识别的那些帧内预测模式而不是所有可能的帧内预测模式执行全速率失真分析。由于当前集合中的帧内预测模式的数目可小于帧内预测模式的总数且提供较低速率失真近似成本,因此本发明的技术可减少执行模式选择的复杂性和处理要求。在一些实例中,减少此些处理要求可改善并行和/或串行处理视频译码器中的视频译码性能。通过减少与执行帧内预测过程相关联的时间和复杂性,视频编码器20可执行实时视频编码或近实时视频编码。
图4B是说明根据本发明中描述的技术的待进行帧内预测性译码的当前块和相邻块的概念表示的框图。图4B说明可被称为当前译码单元(“当前CU”)的当前块100以及可在帧内译码期间考虑的两个相邻块块102(“块A”)和块104(“块B”)的实例。举例来说,视频编码器可将用以对相邻块102(定位于当前块的左边)和相邻块104(定位于当前块的上方)进行译码的帧内预测模式视为当前块的最可能帧内模式。
如图2和4A中先前描述,视频编码器可计算可近似速率失真成本的近似成本而不是计算全速率失真成本。替代于计算可能的帧内预测模式中的每一者的近似成本,视频编码器可在帧内预测译码期间识别一或多个所谓的“最可能”帧内预测模式。为了识别最可能模式,视频编码器可识别经先前编码块的帧内预测模式(常常是邻近于当前块的相邻块)。这些所谓的相邻块的帧内模式由于相邻块到当前块的空间接近度而可具有与当前块相同或类似的相对高概率。视频编码器可仅对这些最可能模式或者这些最可能模式和 与其它模式相比以统计方式更可能当执行帧内预测时使用的其它可能模式(例如平面和DC模式)减少近似成本计算的数目。
视频编码器可形成上文识别的大小的列表(对于大小8x8或以下的块为8到10且对于大于8x8的大小的块为3到5),从而对列表中具有最低近似成本的帧内预测模式按其相应成本进行排序。也就是说,最低成本模式可首先定位于列表中,随后是第二最低成本模式等。视频编码器可随后基于用以对相邻块进行编码的帧内预测模式而识别最可能模式且将这些模式添加到列表,或将这些模式附加到列表。在一些情况下,这些最可能模式可能已经存在于列表中,于是视频编码器并不将此最可能模式再添加到列表。视频编码器可随后相对于列表中的模式执行全速率失真分析,进而减少视频编码器执行全速率失真分析的预测块的数目。
虽然此过程可减少视频编码器执行计算上密集的速率失真分析的次数,但假定执行35个模式中的每一者的近似成本计算需要的复杂性和时间,此过程仍可能不会良好适合于视频数据的实时编码或近实时编码。根据本发明中描述的技术,并行视频编码器,例如在一些实例中的视频编码器20(意味着与对当前块100进行编码同时地对相邻块102和104进行编码的视频编码器),可仅针对图4A中说明的总共35个帧内预测模式的子集计算近似成本,其可进而减少模式选择的复杂性且提供视频编码器20的制作方面的成本节省。
在操作中,视频编码器20可计算包含至少一个帧内预测模式但少于可用于对视频数据的当前块进行译码的帧内预测模式的总数的帧内预测模式的预定义集合中识别的每一帧内预测模式的近似成本。此预定义集合常常包含已经观测为以统计方式更可能当执行帧内预测时使用的那些模式。在一些情况下,此预定义集合可为固定的。此预定义集合此时可包括用于当前块的帧内预测模式的当前集合。在一些情况下,所述预定义集合可通过平面模式、模式可能模式以及以取样偏移取样的角度模式。
视频编码器20可随后搜索额外帧内预测模式(例如,如图4A所示),从而将额外帧内预测模式添加到帧内预测模式的当前集合。在一些实例中,此搜索可类似于对分搜索,其中视频编码器20从帧内预测模式的预定义集合中在针对帧内预测模式的预定义集合中识别的每一模式计算的近似成本当中具有最低相对计算近似成本的模式开始。
为了说明,模式26可具有最低近似成本。在此假设下,视频编码器20可从模式26开始搜索,其中模式值(即,26)以某个偏移F递减和递增而到达26+F和26-F。视频编码器20可随后计算模式26+F和26-F中的每一者的近似成本且选择模式26、26+F和26-F当中具有最低近似成本的模式。视频编码器20可随后基于此比较而替换当前集合中的 模式,例如,以模式26、26+F和26-F当中具有最低近似成本的选定模式替换当前集合中的模式26。
视频编码器20随后以此方式重复搜索,将F减半到F/2,将搜索再聚焦于模式26(模式26+F或模式26-F都不具有小于模式26的近似成本)、模式26+F(如果模式26+F被添加到当前集合)或模式26-F(如果模式26-F被添加到当前集合)。视频编码器20继续搜索过程直到F划分成分数(假定F作为二的幂的值而开始)。
以此方式,视频编码器20可基于帧内预测模式的当前集合中识别的帧内预测模式的所计算近似成本搜索额外帧内预测模式且计算所述额外帧内预测模式中的每一者的近似成本。视频编码器20可基于针对帧内预测模式的当前集合中识别的帧内预测模式中的每一者计算的近似成本与针对额外帧内预测模式计算的近似成本的比较而将额外帧内预测模式添加到帧内预测模式的当前集合。
图5是说明当从多个不同预测模式进行选择时减少模式选择的复杂性的例如图2中所示的视频编码器20等视频译码器的示范性操作的流程图。具体来说,视频编码器20可构造包含预定义模式的初始候选集合且对当前集合进行后处理。虽然图5中未图示,但在一些实例中,视频编码器20可精炼当前集合以进一步识别具有低近似成本的模式,如图8中进一步说明。在执行本发明的这些技术中,视频编码器20可减少当前集合中的模式的数目。视频编码器20可在速率失真优化过程中使用经后处理的候选者列表且选择最佳模式(例如,最低速率失真)来帧内预测当前块。
初始地,视频编码器20可计算包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本(120)。帧内预测模式的当前集合可包含比可用于对视频数据的当前块进行译码的帧内预测模式的总数少的帧内预测模式。帧内预测模式的预定义集合可包含已经观测为以统计方式更可能当执行帧内预测时使用的那些模式。也就是说,在一些实例中,视频编码器20可确定指示选择一或多个模式发生的次数的一或多个统计数据,且至少部分基于所述统计数据,视频编码器20可选择帧内预测模式的第一集合中包含的模式。
如图2中先前描述,所述预定义集合可通过平面模式、模式可能模式以及以取样偏移取样的角度模式形成。由于平面模式和最可能模式可常常作为最终选定模式而出现,因此视频编码器20可如下文进一步描述确定当前集合中的这些相应模式的近似成本。
为了识别包含预定义集合的最可能模式,视频编码器20可识别经先前编码块的一或多个帧内预测模式。先前经编码块可为如图4B中所说明的邻近于当前块的相邻块。所述最可能模式可具有由于相邻块到当前块的空间接近度而与当前块相同或类似的相 对高概率。因此,视频编码器20可识别最可能模式,计算最可能模式的近似成本,且在当前集合中包含相应模式(122)。
为了使用取样偏移识别一或多个角度模式,视频编码器20可对所有可能的角度帧内预测模式的群组中包含的一或多个角度模式进行取样,如相对于图6进一步描述。视频编码器20可不计算所有角度预测模式的近似成本以便减少近似成本计算的次数。实际上,视频编码器20可使用偏移对一或多个角度模式进行取样。在一些实例中,通过使用偏移来选择用于近似计算的模式,视频编码器20可对全体可能的角度预测模式的子集进行均匀地取样。使用如图2和6中描述的切割列表,视频编码器20可从当前集合排除一或多个经取样角度模式。
在初始地产生包含预定义帧内预测模式和/或角度帧内预测模式的当前集合之后,视频编码器20可即刻对当前列表执行后处理(图7A、7B中进一步说明)。虽然最可能模式可作为用来对块进行帧内预测的模式而以较高概率发生,但最可能模式可能不一定具有较小的近似成本。
为了对当前集合进行后处理,视频编码器20可从所有可能的最可能模式确定具有最低近似成本的最可能模式。举例来说,视频编码器20可从所有可能的最可能模式的群组选择与最低近似成本相关联的模式(124)。模式选择单元43可将具有最低近似成本的此最可能帧内预测模式与阈值进行比较。
视频编码器20可确定所述比较是否满足阈值(126)。举例来说,如果视频编码器20确定具有最低近似成本的最可能帧内预测模式的近似成本与当前集合中的非最可能帧内预测模式的近似成本之间的差小于阈值(130),那么视频编码器20可添加所述最可能模式以代替所述最可能模式所比较的非最可能模式(132)。在一些实例中,视频编码器20可当执行比较时进一步将所述差除以所述非最可能模式的近似成本。在其它实例中,如果视频编码器20确定近似成本的比较并不满足阈值(128),那么视频编码器20可确定是否选择另一最可能模式。
视频编码器20可确定是否选择所有可能的最可能模式中的另一最可能模式(124)。举例来说,如果视频编码器20确定视频编码器20尚未评估的另一最可能模式存在(例如,具有下一最低近似成本的最可能模式),那么视频编码器20可选择与新选定最可能模式相关联的近似成本(124)且重复操作(124)-(134)中的一或多者。或者,如果没有未经检查的最可能模式存在和/或视频编码器20并不选择另一最可能模式(138),那么视频编码器20可产生当前集合中识别的每一帧内预测模式的全速率失真成本(140)。
在产生当前集合的相应帧内预测模式的全速率失真成本之后,视频编码器20可即刻基于全速率失真成本从当前集合选择帧内预测模式(142)。在替代实例中,视频编码器20可不对当前集合的一或多个模式执行全速率失真分析且基于近似成本从当前集合选择帧内预测模式。在任何情况下,视频编码器20可选择例如帧内预测模式。在其它实例中,视频编码器20可选择不与最低近似成本相关联的帧内预测模式。
在选择帧内预测模式之后,视频编码器20可即刻执行帧内预测以使用选定模式对当前块进行编码(144)。以此方式,在本说明书中阐述的技术可提供用于帧内预测的快速模式决策过程。这些技术在一些情况下可将近似成本计算的次数减少到小于17。在一些实例中,这些技术可将全速率失真成本计算的次数减少到3(对于4x4和8x8的PU大小)和2(对于大于8x8的PU大小)。
图6是说明根据本发明的技术初始地构造帧内预测模式的当前集合的例如图2中所示的视频编码器20等视频译码器的示范性操作的流程图。具体来说,在图6中,视频编码器20可构造包含一或多个预定义模式和/或角度模式的初始当前集合。
初始地,视频编码器20可确定一或多个预定义帧内预测模式且计算每一模式的近似成本(160)。此些预定义帧内预测模式的实例可包含模式0(平面模式)和模式1,因为这些模式常常出现在最终选定帧内预测模式中。视频编码器20可确定所述模式的近似成本且将所述模式插入当前集合中,所述当前集合可具有长度N。在一些实例中,视频编码器20按近似成本的升序将所述模式插入当前集合中。在HM中,对于4x4和8x8的PU大小将N设定成8,对于大于8x8的PU大小将N设定成3。数目N越小,视频编码器20可执行的速率失真成本计算的次数越少。为了获得复杂性和译码效率的经改善的折中,视频编码器20可对于4x4和8x8的PU大小将N设定为3,且对于16x16和32x32的PU大小将N设定为2。
视频编码器20可接着确定一或多个最可能模式且计算每一模式的近似成本(162)。为了识别最可能模式,视频编码器20可识别经先前编码块的帧内预测模式。经先前编码块可为邻近于当前块的相邻块。在一些情况下,存在三个最可能模式。前两个是左上方PU的帧内预测模式,前提是那些PU可用且是使用帧内预测模式译码。将任何不可用预测模式视为帧内DC模式。当两个最可能模式不相等时,将第三最可能模式设定成等于Intra_Planar、Intra_DC或Intra_Angular[26](垂直)(根据按此次序的这些模式中哪一者不是前两个模式中的一者的重复)。当前两个最可能模式相同时,如果此第一模式具有值Intra_Planar或Intra_DC,那么将第二和第三最可能模式指派为Intra_Planar、Intra_DC或Intra_Angular[26](根据按此次序的这些模式中哪一者不是重复)。当前两个最可能模式相同且第一模式具有Intra_Angular值时,将第二和第三最可能模式选择为最接近于第一模式的角度(即k的值)的两个角度预测模式。
所述最可能模式可具有由于相邻块到当前块的空间接近度而与当前块相同或类似的相对高概率。因此,视频编码器20可确定最可能模式的近似成本且将所述模式插入当前集合中。在一些实例中,视频编码器20按近似成本的升序将所述模式插入当前集合中。
视频编码器20还可将一或多个角度帧内预测模式添加到当前集合。为了减少近似成本计算的次数,视频编码器20可不计算每一可能的角度帧内预测模式的近似成本。实际上,视频编码器20可以偏移对角度帧内预测模式进行均匀地取样。在一些实例中,视频编码器20还可不计算如下文进一步描述的切割列表中包含的一或多个帧内预测模式的近似成本。
为了对一或多个角度模式进行取样,视频编码器20可选择初始角度模式(164)。在一些实例中,所述初始角度模式可为具有模式索引2的角度模式。在其它实例中,视频编码器20可基于偏移确定初始角度。举例来说,视频编码器20可选择具有等于偏移或至少部分基于所述偏移的值的索引的模式作为初始模式。
视频编码器20可接着确定所述选定角度模式的索引是否大于可能的角度模式的总数(166)。举例来说,角度模式的总数可等于33且视频编码器20可确定所述选定角度模式(例如,帧内预测模式2)是否小于33。在确定所述选定角度模式的索引小于可能的角度模式的总数之后(168),视频编码器20可即刻确定所述选定角度模式是否在切割列表中。切割列表切割列表可包含以低或最少概率选择的帧内预测模式。在一些实例中,视频编码器20可基于收集的统计数据确定切割列表。举例来说,视频编码器20可确定33个角度模式中的冗余度。作为一个实例,视频编码器20可使用模式2和模式34来预测图像中的同一边缘方向。由于当视频编码器20按升序选择角度模式时视频编码器20可首先检查模式2,因此视频编码器20不大可能将模式34插入当前集合中。在一些实例中,模式34可以极低概率发生。
在一些实例中,视频编码器20可通过确定通过全速率失真优化选择的模式的数目而获得切割列表。以此方式,视频编码器20可导出帧内预测模式的分布。举例来说,由视频编码器20选择的帧内预测模式的概率可取决于一或多个最可能模式,也就是说,经先前译码相邻PU的帧内预测模式,例如当前PU左边和上方的PU。
作为基于一或多个最可能模式的切割列表的一个实例,视频编码器可使用值4作为偏移。对于32x32PU,由视频编码器20选择的切割列表可取决于左边PU的预测模式,且包含多个切割列表的切割列表表可经界定为:
UInt Modes2Cut[35][6]={{34,14,18,22,2,30},{34,14,18,30,22,2},{14,22,18,34,30,10},{18,22,14,30,34,2},{22,14,18,34,30,2},{22,18,14,30,34,2},{22,34,18,30,14,2},{22,34,18,14,30,2},{22,18,34,30,14,2},{22,18,34,2,14,30},{34,18,22,2,14,30},{18,22,34,2,30,14},{22,34,2,18,30,14},{34,22,2,18,30,6},{34,30,2,18,22,6},{34,2,22,30,10,18},{34,2,22,30,10,14},{34,2,22,30,14,10},{34,30,2,14,22,10},{34,14,2,30,10,22},{14,34,30,2,10,6},{34,14,30,2,10,18},{34,14,18,2,10,30},{14,34,18,2,10,30},{14,18,34,2,6,30},{34,14,18,2,30,22},{34,18,14,22,2,30},{14,34,18,2,22,30},{14,34,18,22,2,6},{14,18,34,22,2,6},{18,14,22,34,6,2},{14,18,22,34,6,10},{14,18,22,34,6,10},{22,14,18,10,6,30},{22,14,18,30,10,6}}。
因此,如果左边相邻PU的帧内预测模式是2,那么由视频编码器20选择的切割列表是{14,22,18,34,30,10}。在以上表中,模式{34,14,18,22}出现最多次数。因此,在一些实例中,独立于相邻块的切割列表可为{34,14,18,22}。
在一些实例中,视频编码器20可基于相邻PU的预测模式和最可能模式而构造切割列表。例如如果左边相邻PU和上方相邻PU的预测模式是相同的,那么视频编码器20可确定与高概率相关联的那些模式,而与高概率模式正交(例如,90度角)的模式不大可能被选择。因此,视频编码器20可基于相邻块的模式而构造包含不大可能被选择的模式的切割列表。
视频编码器20在一些实例中还可确定不大可能的模式的索引与相邻模式或最可能模式的索引之间的差近似为在11到13之间或等于11到13的值。视频编码器20可在切割列表中包含模式索引与最可能模式索引相差近似在11到13之间或等于11到13的值的那些模式。因此,如果视频编码器20确定两个相邻模式接近但不相等,那么视频编码器20可在切割列表中包含在数值上处于具有大于V的差的模式的两侧的那些模式。在一些实例中,V可等于8与12之间的值(例如,10)。或者,如果视频编码器20确定所述两个相邻模式分隔较远(例如,所述两个模式的模式索引之间的大的差),那么视频编码器20可在切割列表中包含处于所述两个相邻模式的中点处和/或在具有所述两个相邻模式的相应模式索引之间的模式索引的模式中的一或多个模式。
在图5的实例中,视频编码器20可确定所述选定角度模式是否在切割列表中(170)。如果所述选定角度模式在切割列表中(172),那么视频编码器20可不确定所述模式的近似成本且将所述选定角度模式插入当前集合中。视频编码器20可随后基于由视频编码器20选择的偏移而确定下一角度索引。举例来说,视频编码器20可在一个实例中将所述选定角度模式的索引递增所述偏移。在另一个实例中,视频编码器20可使用所述偏移将一函数应用于所述选定角度的索引以确定下一角度模式索引。
如果视频编码器20确定所述选定角度模式不在切割列表中(174),那么视频编码器 可接着确定是否先前已针对所述选定角度模式计算近似成本(176)。如果先前已针对所述选定角度模式计算近似成本(178),那么视频编码器20可随后基于由视频编码器20选择的偏移而确定下一角度模式索引,如上文所描述。然而,如果尚未针对所述选定角度模式计算近似成本(180),那么视频编码器20可计算所述选定模式的近似成本(182)。视频编码器20可接着将角度模式插入当前集合中(184)。在一些实例中,视频编码器20随后基于由视频编码器20选择的偏移确定下一角度索引,如上文所描述。如图6中说明,视频编码器20可仅在一角度模式不在切割列表中且尚未经检查的情况下计算所述模式的近似成本。因此,近似成本计算的次数N1可为:
其中偏移是用于角度模式的取样偏移且K是切割列表的长度。
在一些实例中,如果下一产生的角度模式索引大于可能的角度模式的总数(167),那么视频编码器20可确定当前集合中的最低近似成本是否与角度模式相关联(188)。如果当前集合中的最低近似成本与角度模式相关联(190),那么视频编码器20可进一步精炼当前集合中的帧内预测模式。图8中描述精炼操作的进一步细节。或者,如果视频编码器20确定当前集合中的最低近似成本不与角度模式相关联(例如,最低近似成本与当前集合中包含的例如平面或DC模式等预定义模式中的一者相关联),那么视频编码器20可如图7A和7B中进一步描述对当前集合进行后处理(194)而无需进一步精炼当前集合。
图7A是说明例如图2中所示的视频编码器20等视频译码器对帧内预测模式的当前集合进行后处理的示范性操作的流程图。具体来说,在图5中,视频编码器20可执行由视频编码器20先前产生的帧内预测模式的集合(例如,当前集合)的后处理。
在一些实例中,视频编码器20可识别以高概率和/或出现次数而选择的最可能模式。由于近似成本仅是全速率失真成本的近似,因此最可能模式可能不具有小近似成本。另一方面,在一些实例中仅使用最可能模式作为候选模式来执行全速率失真分析可导致减少的性能。因此,由视频编码器20实施的本发明的技术当选择一或多个帧内预测模式时可采用最可能模式和近似成本两者,如图7A和7B中进一步说明。也就是说,在一些实例中,帧内预测模式的当前集合可包含最可能模式和具有小近似成本的模式。图7A和7B说明基于近似成本和最可能模式的当前集合的后处理。在一些实例中,当前集合可为根据图6中说明的技术产生的帧内预测模式的当前集合。在一些实例中,当前集合可为根据图8中说明的技术精炼的帧内预测模式的当前集合。
如在图6的实例中先前描述,视频编码器20可确定当前列表中不包含的一或多个最可能模式是否具有比当前集合中的一或多个模式低的近似成本值。如果视频编码器20确定当前集合中不包含的最可能模式与当前集合中的非最可能模式之间的近似成本的差小于阈值,那么视频编码器20可例如通过替换所述非最可能模式而在当前集合中包含所述最可能模式。
初始地,视频编码器20可从所有可能的最可能模式确定具有最低近似成本的最可能模式。举例来说,视频编码器20可初始地从最可能模式列表选择模式(210)。由视频编码器20选择的第一最可能模式可为与最可能模式索引相关联的最可能模式。在选择最可能模式之后,视频编码器20可即刻确定所述选定最可能模式是否在当前集合中(212)(例如,使用图6和/或图8中说明的技术产生的当前集合)。
如果视频编码器20确定所述选定最可能模式包含于当前集合中(214),那么视频编码器20可确定所有可能的最可能模式的群组中是否有任何额外最可能模式尚未经评估(226)。如果额外最可能模式仍待评估(228),那么视频编码器20可选择所有可能的最可能模式的群组中包含的下一未经评估最可能模式(210)。
如果视频编码器20确定所述选定最可能模式不包含于当前集合中(216),那么视频编码器20可确定与所述选定最可能模式相关联的近似成本。视频编码器20可确定与所述选定最可能模式相关联的近似成本是否为由视频编码器20先前检查的最可能模式的最低近似成本(218)。也就是说,视频编码器20可在执行图7A的操作同时保持具有最低近似成本的模式的索引(以及在一些实例中,模式的对应近似成本)。如果视频编码器20确定与所述选定最可能模式相关联的近似成本不低于任何先前检查的最可能模式的近似成本(222),那么视频编码器20可确定所有可能的最可能模式的群组中是否有任何额外最可能模式尚未经检查(226)。也就是说,视频编码器20可不保持所述选定最可能模式作为所有可能的最可能模式中具有最低近似成本的模式。
然而,如果视频编码器20确定所述选定最可能模式的近似成本小于所有先前检查的最可能模式的近似成本(220),那么视频编码器20可将所述选定最可能模式设定为具有最低近似成本的模式(224)。举例来说,视频编码器20可存储所述选定最可能模式的索引作为所有经评估最可能模式中具有最低近似成本的模式。以此方式,视频编码器20可当迭代通过所有可能的模式可能模式的群组中的每一最可能模式时更新与最低近似成本相关联的最可能模式。因此,视频编码器20可使用这些技术来搜索所有可能的模式可能模式的群组以选择具有最低近似成本的最可能模式。
如上文所描述,视频编码器20可随后确定所有可能的最可能模式的群组中是否有任何额外最可能模式尚未经评估(226)。如果额外最可能模式尚未经评估(228),那么视频编码器20可选择下一未经检查的最可能模式(210)。然而,如果视频编码器20确定所有最可能模式已经评估(230),那么视频编码器20可接着确定与最大近似成本相关联的模式包含当前集合(232)。
在图7B中,视频编码器20可从当前集合选择此模式(例如,与最大近似成本相关联的模式包含当前集合)(234)。在选择模式之后,视频编码器20可即刻确定从当前集合选择的模式是否为最可能模式(234)。如果所述选定模式是最可能模式(240),那么视频编码器20可选择当前集合中的下一模式。举例来说,如果模式的当前集合是基于近似成本而按降序排序且视频编码器20初始地选择与最高近似成本相关联的模式,那么视频编码器20可选择当前集合中与下一最高近似成本相关联的下一未经评估模式(234)。
如果视频编码器20确定所述选定模式不是最可能模式(238),那么视频编码器20可确定从当前集合选择的模式(即,非最可能模式)的近似成本与在(224)处由视频编码器20先前选择为具有最低近似成本的最可能模式的近似成本之间的差(242)。视频编码器20可确定所述差是否满足阈值(244)。举例来说,视频编码器可以如下方式确定所述差是否满足阈值:
其中J是非最可能模式的近似成本,JM是在(224)处由视频编码器20先前选择为具有最低近似成本的最可能模式的近似成本,且T是阈值。举例来说,当商(例如,值)小于阈值时所述差可满足所述阈值。在不同实例中,当所述商大于或等于阈值时所述差可满足阈值。
如果视频编码器20确定所述差满足阈值(246),那么视频编码器20可以在(224)处由视频编码器20先前选择为具有最低近似成本的最可能模式替换当前集合的所述选定模式(250)。如果视频编码器20确定所述差并不满足阈值(248),那么视频编码器20可不以在(224)处由视频编码器20先前选择为具有最低近似成本的最可能模式替换所述选定模式。
视频编码器20可随后从当前集合选择模式以对当前块进行帧内预测(252)。也就是说,视频编码器20可使用已根据图7A和7B中说明的操作后处理的当前集合中包含的模式执行当前块的速率失真分析。举例来说,视频编码器20可从经后处理当前集合选择模式以对当前块进行帧内译码。在一些实例中,视频编码器20可从当前集合选择与最低近似成本相关联的最佳模式。在选择模式之后,视频编码器20可即刻执行帧内预测以根据选定模式对当前块进行编码,如图2的实例中进一步描述。以此方式,帧内预 测是基于针对视频编码器20从中选择最佳模式的模式的经后处理当前集合中识别的每一帧内预测模式计算的近似成本。
在一些实例中,也可能使用除SATD成本外的近似成本,例如SSD、SAD或估计位速率。在一些实例中,视频编码器20可执行以上技术的若干反复直到当前集合不再改变。在又其它实例中,视频编码器20评估少于全部的最可能模式,例如将评估限制于一个(当左边PU的帧内模式等于上方PU的帧内模式时)或两个MPM(当左边PU的帧内模式不等于上方PU的帧内模式时)以减少搜索过程的复杂性。
图8是说明当从多个不同预测模式进行选择时减少模式选择的复杂性的例如图2中所示的视频编码器20等视频译码器的示范性操作的流程图。具体来说,在图8中,视频编码器20可精炼由视频编码器20先前产生的帧内预测模式的集合(例如,当前集合)。如图6中先前说明,视频编码器初始地产生预定义帧内预测模式的当前集合。然而,部分由于角度模式的近似取样,当前集合中的模式可能不一定具有所有可能的帧内预测模式的最小近似成本。在图8的实例操作中,视频编码器20可实施精炼过程以检索具有比初始构造的当前集合中包含的那些模式低的近似成本的一或多个模式。
初始地,视频编码器20可从当前集合选择具有最低近似成本的初始模式,即角度模式M。举例来说,视频编码器20可初始地确定精炼过程中用于选择模式的步长值(270)。在一些实例中,所述步长值可等于由视频编码器20用来对图6中的角度模式进行取样的偏移值。视频编码器20可随后从当前集合选择模式(272)。如果视频编码器20确定所述选定模式不是角度模式(276),那么视频编码器20可选择当前集合中的下一模式(272)。如果视频编码器20确定所述选定模式是角度模式且具有当前集合中当前包含的角度模式的最低近似成本(278),那么视频编码器20可继续更新所述步长值。举例来说,经更新的步长值可等于当前步长值除以一数字。举例来说,经更新的步长值可等于当前步长值除以2,即,经更新的设定值=(当前步长值/2)。
视频编码器20可接着确定经更新的步长值是否满足阈值。举例来说,视频编码器20可将阈值确定为0。当经更新的步长值小于阈值时,视频编码器20可继续当前集合的后处理以执行帧内预测(296),如图7A和7B中进一步说明。
如果所述步长值确实满足阈值(例如,所述步长值大于0)(284),那么视频编码器20可确定两个相邻模式M-步长与M+步长的近似成本,其中M可指代在(274)处先前选择的模式的索引。举例来说,视频编码器20可确定具有等于步长值和当前选定模式(即,初始地产生的当前集合中与最低近似成本相关联的先前选定角度模式)的模式索引的差的模式索引的模式的近似成本(288)。举例来说,如果初始地产生的当前集合中与最低近 似成本相关联的先前选定角度模式的索引是M,那么视频编码器20可确定具有索引M-步长(即,模式索引M与步长值步长之间的差)的模式的近似成本。
视频编码器20还可确定具有等于步长值和当前选定模式(即,初始地产生的当前集合中与最低近似成本相关联的先前选定角度模式)的模式索引的总和的模式索引的模式的近似成本(290)。举例来说,如果初始地产生的当前集合中与最低近似成本相关联的先前选定角度模式的索引是M,那么视频编码器20可确定具有索引M+步长(即,模式索引M和步长值步长之间的总和)的模式的近似成本。
当模式M的索引是例如2或34的边界模式时,视频编码器20可裁剪(即,不选择)相邻模式中的一或多者,且改为选择模式M自身。或者,视频编码器20可在相反数字方向上选择模式。例如如果模式M=2,那么视频编码器20可通过削减到2或选择相反方向上的邻近模式(导致模式34)而获得相邻模式M-步长。在此些实例中,视频编码器20可将两个相邻模式2和34按近似成本的升序取决于其近似成本是否小于当前集合中的那些近似成本而插入当前集合中。
在确定模式M+步长和M-步长的近似成本之后,视频编码器20可即刻存储当前集合中的两个相应模式中的每一者。在一些实例中,视频编码器20可进一步存储与当前集合中的每一相应模式相关联的近似成本。在任何情况下,视频编码器20可选择模式M、M+步长和M-步长当中具有最低近似成本的模式作为视频编码器20将评估的下一选定模式(294)。也就是说,视频编码器20可使用以下表达式确定下一选定模式:
在某一实施方案中,为了进一步减少在获得近似成本时的计算的数目,如果首先计算M-步长(M+步长)的近似成本且发现M-步长(M+步长)的近似成本小于模式M的近似成本,那么可跳过M+步长(M-步长)的近似成本的进一步计算且以M-步长(M+步长)替换模式M。在某一实施方案中,在精炼搜索之前的初始地构造的当前集合可包含模式0、1和角度模式26,且模式26不与相对于针对平面模式0和DC模式1计算的近似成本的最低近似成本相关联,随后可跳过以上精炼搜索。
在选择模式M、M+步长和M-步长当中具有最低近似成本的模式之后,视频编码器20可即刻更新步长值(280)。举例来说,经更新的步长值可等于(当前步长值/2)。如上文所描述,如果视频编码器20确定经更新的步长值并不满足阈值(例如,小于零)(286),那么视频编码器20可继续对当前集合进行后处理以对当前块执行帧内预测(296)。如果视频编码器20确定经更新的步长值满足阈值(例如,大于零)(284),那么视频编码器20可 使用模式M、M+步长和M-步长当中具有最低近似成本的模式作为选定模式再次执行图8中说明的过程。
图8的实例技术可导致近似成本计算的数目N2(SATD)等于2log(offset)。视频编码器20可因此反复通过一或多个角度模式,以具有较低近似成本的角度模式精炼当前集合,直到不再满足阈值。在其中取样偏移是图6中的4的实例情况中,当反复通过当前集合的角度帧内预测模式时在图8的操作(280)-(294)中可存在4次近似成本计算。因此,近似计算的总数目(SATD)可表达为:
在其中偏移=4的实例中,对于32x32的PU大小,切割列表的长度可为4,因此本发明的技术可将近似成本(例如,SATD)计算的总数目减少到13。以此方式,与在其它实施方案(例如,HM)中执行35次近似成本计算相比,本发明的技术可提供复杂性减少。
在一些实例中,为了产生平均具有较小近似成本的模式的当前集合,视频编码器20可重复图8的技术。举例来说,如果在初始经评估模式前方的模式在先前步骤中经更新,那么视频编码器20可针对候选者列表中的此经更新的模式(现在是具有最小近似成本的角度模式)重复操作(280)-(294)。如果在初始经评估模式前方的模式在(294)处未在先前步骤中经更新,那么视频经编码20可针对具有下一最小近似成本的角度模式重复操作(280)-(294)。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果实施于软件中,则可将功能作为一或多个指令或代码而存储在计算机可读媒体上或经由计算机可读媒体进行传输。计算机可读媒体可包含计算机数据存储媒体或通信媒体,通信媒体包含促进将计算机程序从一处传送到另一处的任何媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。借助于实例而非限制,此些计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以携载或存储呈指令或数据结构的形式且可由计算机存取的所需程序代码的任何其它媒体。并且,任何连接被适当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波的无线技术包含于媒体的定义中。本文中使用的磁盘和光盘包含压缩光盘(CD)、激光盘、光盘、数字多功能光盘(DVD)、软磁盘和 蓝光盘,其中磁盘通常是以磁性方式再现数据,而光盘是用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
代码可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所述的功能性可在经配置用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可以在广泛多种装置或设备中实施,包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元实现。相反地,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或者由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述各种实例。这些和其它实例在所附权利要求书的范围内。

Claims (40)

1.一种对视频数据进行编码的方法,所述方法包括:
计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本,其中帧内预测模式的所述当前集合包含比可用于对所述视频数据的当前块进行译码的帧内预测模式的总数目少的帧内预测模式;
计算基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本;
将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较;
基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者;
相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本;以及
基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码。
2.根据权利要求1所述的方法,其进一步包括:
基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的近似成本而搜索额外帧内预测模式;
计算所述额外帧内预测模式中的每一者的近似成本;以及
基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式中的至少一者计算的所述近似成本与针对所述额外帧内预测模式计算的所述近似成本中的至少一者的比较而将所述额外帧内预测模式添加到帧内预测模式的所述当前集合。
3.根据权利要求1所述的方法,其进一步包括:
确定所述当前集合中包含的与最低近似成本相关联的模式是否为角度模式;以及
响应于确定所述当前集合中包含的与所述最低近似成本相关联的所述模式为角度模式,基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的所述近似成本而搜索额外帧内预测模式。
4.根据权利要求1所述的方法,其进一步包括:
从多个角度模式中选择角度模式;
确定所述角度模式是否包含于切割列表中,其中所述切割列表包括以并不满足阈值的概率发生的至少一个帧内预测模式;以及
响应于确定所述角度模式包含于所述切割列表中,不确定所述角度模式的近似成本。
5.根据权利要求4所述的方法,其中所述角度模式是第一角度模式,所述方法进一步包括:
至少部分基于从所述第一角度模式的偏移而确定第二角度模式;
响应于确定所述第二角度模式不包含于切割列表中:
计算与所述第二角度模式相关联的近似成本;以及
将所述第二角度模式插入到所述当前集合中。
6.根据权利要求1所述的方法,其进一步包括:
从多个最可能模式中确定与最低近似成本相关联的最可能模式;
至少部分基于所述最可能模式与所述当前集合中的至少一个模式之间的差而确定值;以及
响应于确定所述值满足阈值,将所述最可能模式插入所述当前集合中以替换所述当前集合中的所述至少一个模式。
7.根据权利要求6所述的方法,
其中所述当前集合中的所述至少一个模式与所述当前集合中的最大近似成本相关联;以及
其中当所述值小于所述阈值时所述值满足所述阈值。
8.根据权利要求1所述的方法,其进一步包括:
确定所述当前集合中与最低近似成本相关联的第一角度模式,其中所述第一角度模式与第一模式索引相关联;
确定与第二模式索引相关联的第二角度模式,所述第二模式索引包括所述第一角度模式索引与步长值的总和;以及
确定与第三模式索引相关联的第三角度模式,所述第三模式索引包括所述第一角度模式索引与所述步长值的差。
9.根据权利要求8所述的方法,其中与所述第一角度模式相关联的所述最低近似成本是第一近似成本,所述方法进一步包括:
确定与所述第二角度模式相关联的第二近似成本;
确定与所述第三角度模式相关联的第三近似成本;以及
响应于确定所述第二或第三近似成本中的至少一者小于所述第一近似成本,将分别与小于所述第一近似成本的所述第二或第三近似成本中的所述至少一者相关联的所述第二或第三模式插入到所述当前集合中以替换第一模式。
10.根据权利要求9所述的方法,其中插入到所述当前集合中的所述第二或第三模式中的所述至少一者是选定模式,所述方法进一步包括:
确定至少部分基于所述步长值和所述选定模式的经更新步长值;
响应于确定所述经更新步长值满足所述阈值,选择所述当前集合中与最低全速率失真成本相关联的模式以执行相对于所述当前块的帧内预测译码;以及
响应于确定所述经更新步长值并不满足所述阈值:
确定与第四模式索引相关联的第四角度模式,所述第四模式索引包括与所述选定模式相关联的索引与所述经更新步长值的总和;以及
确定与第五模式索引相关联的第五角度模式,所述第五模式索引包括与所述选定模式相关联的所述索引与所述经更新步长值的差,以及
响应于确定所述第四角度模式的第四近似成本或所述第五角度模式的第五近似成本中的至少一者小于与所述选定模式相关联的近似成本,将分别与小于与所述选定模式相关联的所述近似成本的所述第四或第五近似成本中的所述至少一者相关联的所述第四或第五模式插入到所述当前集合中。
11.一种视频译码装置,其经配置以执行帧内预测过程以对视频数据进行译码,所述视频译码装置包括:
处理器,其经配置以:
计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本,其中帧内预测模式的所述当前集合包含比可用于对所述视频数据的当前块进行译码的帧内预测模式的总数目少的帧内预测模式;
计算基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本;
将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较;
基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者;
相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本;以及
基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码。
12.根据权利要求11所述的视频译码装置,其中所述处理器进一步经配置以:
基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的近似成本而搜索额外帧内预测模式;
计算所述额外帧内预测模式中的每一者的近似成本;以及
基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式中的至少一者计算的所述近似成本与针对所述额外帧内预测模式计算的所述近似成本中的至少一者的比较而将所述额外帧内预测模式添加到帧内预测模式的所述当前集合。
13.根据权利要求11所述的视频译码装置,其中所述处理器进一步经配置以:
确定所述当前集合中包含的与最低近似成本相关联的模式是否为角度模式;以及
响应于确定所述当前集合中包含的与所述最低近似成本相关联的所述模式为角度模式,基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的所述近似成本而搜索额外帧内预测模式。
14.根据权利要求11所述的视频译码装置,其中所述处理器进一步经配置以:
从多个角度模式中选择角度模式;
确定所述角度模式是否包含于切割列表中,其中所述切割列表包括以并不满足阈值的概率发生的至少一个帧内预测模式;以及
响应于确定所述角度模式包含于所述切割列表中,不确定所述角度模式的近似成本。
15.根据权利要求14所述的视频译码装置,其中所述角度模式为第一角度模式,其中所述处理器进一步经配置以:
至少部分基于从所述第一角度模式的偏移而确定第二角度模式;
响应于确定所述第二角度模式不包含于切割列表中:
计算与所述第二角度模式相关联的近似成本;以及
将所述第二角度模式插入到所述当前集合中。
16.根据权利要求11所述的视频译码装置,其中所述处理器进一步经配置以:
从多个最可能模式中确定与最低近似成本相关联的最可能模式;
至少部分基于所述最可能模式与所述当前集合中的至少一个模式之间的差而确定值;以及
响应于确定所述值满足阈值,将所述最可能模式插入所述当前集合中以替换所述当前集合中的所述至少一个模式。
17.根据权利要求16所述的视频译码装置,
其中所述当前集合中的所述至少一个模式与所述当前集合中的最大近似成本相关联;以及
其中当所述值小于所述阈值时所述值满足所述阈值。
18.根据权利要求11所述的视频译码装置,其中所述处理器进一步经配置以:
确定所述当前集合中与最低近似成本相关联的第一角度模式,其中所述第一角度模式与第一模式索引相关联;
确定与第二模式索引相关联的第二角度模式,所述第二模式索引包括所述第一角度模式索引与步长值的总和;以及
确定与第三模式索引相关联的第三角度模式,所述第三模式索引包括所述第一角度模式索引与所述步长值的差。
19.根据权利要求18所述的视频译码装置,其中与所述第一角度模式相关联的所述最低近似成本是第一近似成本,其中所述处理器进一步经配置以:
确定与所述第二角度模式相关联的第二近似成本;
确定与所述第三角度模式相关联的第三近似成本;以及
响应于确定所述第二或第三近似成本中的至少一者小于所述第一近似成本,将分别与小于所述第一近似成本的所述第二或第三近似成本中的所述至少一者相关联的所述第二或第三模式插入到所述当前集合中以替换第一模式。
20.根据权利要求19所述的视频译码装置,其中插入到所述当前集合中的所述第二或第三模式中的所述至少一者是选定模式,其中所述处理器进一步经配置以:
确定至少部分基于所述步长值和所述选定模式的经更新步长值;
响应于确定所述经更新步长值满足所述阈值,选择所述当前集合中与最低全速率失真成本相关联的模式以执行相对于所述当前块的帧内预测译码;以及
响应于确定所述经更新步长值并不满足所述阈值:
确定与第四模式索引相关联的第四角度模式,所述第四模式索引包括与所述选定模式相关联的索引与所述经更新步长值的总和;以及
确定与第五模式索引相关联的第五角度模式,所述第五模式索引包括与所述选定模式相关联的所述索引与所述经更新步长值的差,以及
响应于确定所述第四角度模式的第四近似成本或所述第五角度模式的第五近似成本中的至少一者小于与所述选定模式相关联的近似成本,将分别与小于与所述选定模式相关联的所述近似成本的所述第四或第五近似成本中的所述至少一者相关联的所述第四或第五模式插入到所述当前集合中。
21.一种视频译码装置,其经配置以执行帧内预测过程以对视频数据进行译码,所述视频译码装置包括:
用于计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本的装置,其中帧内预测模式的所述当前集合包含比可用于对所述视频数据的当前块进行译码的帧内预测模式的总数目少的帧内预测模式;
用于计算基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本的装置;
用于将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较的装置;
用于基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者的装置;
用于相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本的装置;以及
用于基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码的装置。
22.根据权利要求21所述的视频译码装置,其进一步包括:
用于基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的近似成本而搜索额外帧内预测模式的装置;
用于计算所述额外帧内预测模式中的每一者的近似成本的装置;以及
用于基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式中的至少一者计算的所述近似成本与针对所述额外帧内预测模式计算的所述近似成本中的至少一者的比较而将所述额外帧内预测模式添加到帧内预测模式的所述当前集合的装置。
23.根据权利要求21所述的视频译码装置,其进一步包括:
用于确定所述当前集合中包含的与最低近似成本相关联的模式是否为角度模式的装置;以及
用于响应于确定所述当前集合中包含的与所述最低近似成本相关联的所述模式为角度模式而基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的所述近似成本而搜索额外帧内预测模式的装置。
24.根据权利要求21所述的视频译码装置,其进一步包括:
用于从多个角度模式中选择角度模式的装置;
用于确定所述角度模式是否包含于切割列表中的装置,其中所述切割列表包括以并不满足阈值的概率发生的至少一个帧内预测模式;以及
用于响应于确定所述角度模式包含于所述切割列表中而不确定所述角度模式的近似成本的装置。
25.根据权利要求24所述的视频译码装置,其中所述角度模式是第一角度模式,所述视频译码装置进一步包括:
用于至少部分基于从所述第一角度模式的偏移而确定第二角度模式的装置;
响应于确定所述第二角度模式不包含于切割列表中:
用于计算与所述第二角度模式相关联的近似成本的装置;以及
用于将所述第二角度模式插入到所述当前集合中的装置。
26.根据权利要求21所述的视频译码装置,其进一步包括:
用于从多个最可能模式中确定与最低近似成本相关联的最可能模式的装置;
用于至少部分基于所述最可能模式与所述当前集合中的至少一个模式之间的差而确定值的装置;以及
用于响应于确定所述值满足阈值而将所述最可能模式插入所述当前集合中以替换所述当前集合中的所述至少一个模式的装置。
27.根据权利要求26所述的视频译码装置,
其中所述当前集合中的所述至少一个模式与所述当前集合中的最大近似成本相关联;以及
其中当所述值小于所述阈值时所述值满足所述阈值。
28.根据权利要求21所述的视频译码装置,其进一步包括:
用于确定所述当前集合中与最低近似成本相关联的第一角度模式的装置,其中所述第一角度模式与第一模式索引相关联;
用于确定与第二模式索引相关联的第二角度模式的装置,所述第二模式索引包括所述第一角度模式索引与步长值的总和;以及
用于确定与第三模式索引相关联的第三角度模式的装置,所述第三模式索引包括所述第一角度模式索引与所述步长值的差。
29.根据权利要求28所述的视频译码装置,其中与所述第一角度模式相关联的所述最低近似成本是第一近似成本,所述视频译码装置进一步包括:
用于确定与所述第二角度模式相关联的第二近似成本的装置;
用于确定与所述第三角度模式相关联的第三近似成本的装置;以及
用于响应于确定所述第二或第三近似成本中的至少一者小于所述第一近似成本而将分别与小于所述第一近似成本的所述第二或第三近似成本中的所述至少一者相关联的所述第二或第三模式插入到所述当前集合中以替换第一模式的装置。
30.根据权利要求29所述的视频译码装置,其中插入到所述当前集合中的所述第二或第三模式中的所述至少一者是选定模式,所述视频译码装置进一步包括:
用于确定至少部分基于所述步长值和所述选定模式的经更新步长值的装置;
用于响应于确定所述经更新步长值满足所述阈值而选择所述当前集合中与最低全速率失真成本相关联的模式以执行相对于所述当前块的帧内预测译码的装置;以及
响应于确定所述经更新步长值并不满足所述阈值:
用于确定与第四模式索引相关联的第四角度模式的装置,所述第四模式索引包括与所述选定模式相关联的索引与所述经更新步长值的总和;以及
用于确定与第五模式索引相关联的第五角度模式的装置,所述第五模式索引包括与所述选定模式相关联的所述索引与所述经更新步长值的差,以及
用于响应于确定所述第四角度模式的第四近似成本或所述第五角度模式的第五近似成本中的至少一者小于与所述选定模式相关联的近似成本而将分别与小于与所述选定模式相关联的所述近似成本的所述第四或第五近似成本中的所述至少一者相关联的所述第四或第五模式插入到所述当前集合中的装置。
31.一种具有存储于其上的指令的非暂时性计算机可读存储媒体,所述指令当经执行时致使一或多个处理器:
计算在包含具有至少一个帧内预测模式的帧内预测模式的预定义集合的帧内预测模式的当前集合中识别的每一帧内预测模式的近似成本,其中帧内预测模式的所述当前集合包含比可用于对所述视频数据的当前块进行译码的帧内预测模式的总数目少的帧内预测模式;
计算基于用以对邻近于所述当前块的视频数据的一或多个相邻块进行编码的帧内预测模式而确定的所述当前块的一或多个最可能帧内预测模式的近似成本;
将针对所述一或多个最可能帧内预测模式计算的所述近似成本中的每一者与阈值进行比较;
基于所述比较以所述一或多个最可能帧内预测模式替换帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一或多者;
相对于帧内预测模式的所述当前集合中识别的每一帧内预测模式执行速率失真分析以确定帧内预测模式的所述当前集合中识别的每一帧内预测模式的速率失真成本;以及
基于所述所确定的速率失真成本根据帧内预测模式的所述当前集合中识别的所述帧内预测模式中的一者执行相对于所述当前块的帧内预测译码以对所述当前块进行编码。
32.根据权利要求31所述的非暂时性计算机可读存储媒体,其中所述指令当经执行时致使所述一或多个处理器:
基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的近似成本而搜索额外帧内预测模式;
计算所述额外帧内预测模式中的每一者的近似成本;以及
基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式中的至少一者计算的所述近似成本与针对所述额外帧内预测模式计算的所述近似成本中的至少一者的比较而将所述额外帧内预测模式添加到帧内预测模式的所述当前集合。
33.根据权利要求31所述的非暂时性计算机可读存储媒体,其中所述指令当经执行时致使所述一或多个处理器:
确定所述当前集合中包含的与最低近似成本相关联的模式是否为角度模式;以及
响应于确定所述当前集合中包含的与所述最低近似成本相关联的所述模式为角度模式,基于针对帧内预测模式的所述当前集合中识别的所述帧内预测模式计算的所述近似成本而搜索额外帧内预测模式。
34.根据权利要求31所述的非暂时性计算机可读存储媒体,其中所述指令当经执行时致使所述一或多个处理器:
从多个角度模式中选择角度模式;
确定所述角度模式是否包含于切割列表中,其中所述切割列表包括以并不满足阈值的概率发生的至少一个帧内预测模式;以及
响应于确定所述角度模式包含于所述切割列表中,不确定所述角度模式的近似成本。
35.根据权利要求34所述的非暂时性计算机可读存储媒体,其中所述角度模式是第一角度模式,其中所述指令当经执行时致使所述一或多个处理器:
至少部分基于从所述第一角度模式的偏移而确定第二角度模式;
响应于确定所述第二角度模式不包含于切割列表中:
计算与所述第二角度模式相关联的近似成本;以及
将所述第二角度模式插入到所述当前集合中。
36.根据权利要求31所述的非暂时性计算机可读存储媒体,其中所述指令当经执行时致使所述一或多个处理器:
从多个最可能模式中确定与最低近似成本相关联的最可能模式;
至少部分基于所述最可能模式与所述当前集合中的至少一个模式之间的差而确定值;以及
响应于确定所述值满足阈值,将所述最可能模式插入所述当前集合中以替换所述当前集合中的所述至少一个模式。
37.根据权利要求36所述的非暂时性计算机可读存储媒体,
其中所述当前集合中的所述至少一个模式与所述当前集合中的最大近似成本相关联;以及
其中当所述值小于所述阈值时所述值满足所述阈值。
38.根据权利要求31所述的非暂时性计算机可读存储媒体,其中所述指令当经执行时致使所述一或多个处理器:
确定所述当前集合中与最低近似成本相关联的第一角度模式,其中所述第一角度模式与第一模式索引相关联;
确定与第二模式索引相关联的第二角度模式,所述第二模式索引包括所述第一角度模式索引与步长值的总和;以及
确定与第三模式索引相关联的第三角度模式,所述第三模式索引包括所述第一角度模式索引与所述步长值的差。
39.根据权利要求31所述的非暂时性计算机可读存储媒体,其中与所述第一角度模式相关联的所述最低近似成本是第一近似成本,其中所述指令当经执行时致使所述一或多个处理器:
确定与所述第二角度模式相关联的第二近似成本;
确定与所述第三角度模式相关联的第三近似成本;以及
响应于确定所述第二或第三近似成本中的至少一者小于所述第一近似成本,将分别与小于所述第一近似成本的所述第二或第三近似成本中的所述至少一者相关联的所述第二或第三模式插入到所述当前集合中以替换第一模式。
40.根据权利要求39所述的非暂时性计算机可读存储媒体,其中插入到所述当前集合中的所述第二或第三模式中的所述至少一者是选定模式,其中所述指令当经执行时致使所述一或多个处理器:
确定至少部分基于步长值和所述选定模式的经更新步长值;
响应于确定所述经更新步长值满足所述阈值,选择所述当前集合中与最低全速率失真成本相关联的模式以执行相对于所述当前块的帧内预测译码;以及
响应于确定所述经更新步长值并不满足所述阈值:
确定与第四模式索引相关联的第四角度模式,所述第四模式索引包括与所述选定模式相关联的索引与所述经更新步长值的总和;以及
确定与第五模式索引相关联的第五角度模式,所述第五模式索引包括与所述选定模式相关联的所述索引与所述经更新步长值的差,以及
响应于确定所述第四角度模式的第四近似成本或所述第五角度模式的第五近似成本中的至少一者小于与所述选定模式相关联的近似成本,将分别与小于与所述选定模式相关联的所述近似成本的所述第四或第五近似成本中的所述至少一者相关联的所述第四或第五模式插入到所述当前集合中。
CN201480005928.7A 2013-02-01 2014-01-03 用于视频译码的方法和装置 Active CN104937936B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/756,659 2013-02-01
US13/756,659 US9426473B2 (en) 2013-02-01 2013-02-01 Mode decision simplification for intra prediction
PCT/US2014/010231 WO2014120389A1 (en) 2013-02-01 2014-01-03 Mode decision simplification for intra prediction

Publications (2)

Publication Number Publication Date
CN104937936A CN104937936A (zh) 2015-09-23
CN104937936B true CN104937936B (zh) 2018-05-08

Family

ID=50033784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480005928.7A Active CN104937936B (zh) 2013-02-01 2014-01-03 用于视频译码的方法和装置

Country Status (8)

Country Link
US (1) US9426473B2 (zh)
EP (1) EP2951996B1 (zh)
JP (1) JP6284954B2 (zh)
KR (1) KR101752989B1 (zh)
CN (1) CN104937936B (zh)
ES (1) ES2625821T3 (zh)
HU (1) HUE032054T2 (zh)
WO (1) WO2014120389A1 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012077928A1 (ko) * 2010-12-07 2012-06-14 한국전자통신연구원 초고해상도 영상을 부호화하는 장치 및 방법, 그리고 복호화 장치 및 방법
US9148667B2 (en) 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
US10003792B2 (en) 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
WO2015139165A1 (en) 2014-03-17 2015-09-24 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
US20150271491A1 (en) * 2014-03-24 2015-09-24 Ati Technologies Ulc Enhanced intra prediction mode selection for use in video transcoding
EP3140988B1 (en) * 2014-06-26 2019-09-11 Huawei Technologies Co., Ltd. Method and device for reducing a computational load in high efficiency video coding
CN107005701A (zh) * 2014-09-23 2017-08-01 英特尔公司 使用减少数量的角模式来降低帧内预测复杂度及其后续改进
US9807398B2 (en) * 2014-09-30 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Mode complexity based coding strategy selection
US10142626B2 (en) 2014-10-31 2018-11-27 Ecole De Technologie Superieure Method and system for fast mode decision for high efficiency video coding
GB2534606A (en) * 2015-01-29 2016-08-03 Canon Kk Method and device for encoding or decoding an image comprising encoding of decoding information representing prediction modes
CN106416254B (zh) 2015-02-06 2019-08-02 微软技术许可有限责任公司 在媒体编码期间跳过评估阶段
US10085027B2 (en) * 2015-03-06 2018-09-25 Qualcomm Incorporated Adaptive mode checking order for video encoding
CN105100799B (zh) * 2015-04-25 2018-07-31 芯原微电子(北京)有限公司 一种减少hevc编码器中帧内编码时延的方法
US10038917B2 (en) * 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
US9432668B1 (en) * 2016-03-15 2016-08-30 NGCodec Inc. Apparatus and method for inter and intra mode selection and block partitioning
EP3453174A1 (en) 2016-05-06 2019-03-13 VID SCALE, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
FR3051309A1 (fr) * 2016-05-10 2017-11-17 Bcom Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
US20170347094A1 (en) * 2016-05-31 2017-11-30 Google Inc. Block size adaptive directional intra prediction
KR102410424B1 (ko) * 2016-10-04 2022-06-17 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10750169B2 (en) 2016-10-07 2020-08-18 Mediatek Inc. Method and apparatus for intra chroma coding in image and video coding
KR20180041833A (ko) * 2016-10-17 2018-04-25 디지털인사이트 주식회사 화면 내 예측에 대한 참조 모드 리스트를 사용하는 비디오 코딩 방법 및 장치
US20180146191A1 (en) * 2016-11-22 2018-05-24 Futurewei Technologies, Inc. System and Method for Coding Intra Prediction Mode using a Second Set of Most Probable Modes
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
KR101967028B1 (ko) * 2016-12-21 2019-04-09 전자부품연구원 고효율 비디오 부호화 모드 결정방법 및 결정장치
US10609367B2 (en) * 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
KR102539354B1 (ko) * 2016-12-28 2023-06-02 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10469877B1 (en) * 2017-04-28 2019-11-05 Mozilla Corporation Systems and methods for reduced complexity entropy coding
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes
CN107222743B (zh) * 2017-07-04 2020-02-04 西安万像电子科技有限公司 一种图像处理方法、装置和系统
CN109587491B (zh) 2017-09-28 2022-09-23 腾讯科技(深圳)有限公司 一种帧内预测方法、装置及存储介质
US11178405B2 (en) 2017-10-18 2021-11-16 Samsung Electronics Co., Ltd. Method and apparatus for video decoding, and method and apparatus for video encoding
WO2019083284A1 (ko) * 2017-10-24 2019-05-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치
KR102391834B1 (ko) * 2017-11-17 2022-04-27 에프쥐 이노베이션 컴퍼니 리미티드 조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법
WO2019129166A1 (en) * 2017-12-29 2019-07-04 Fg Innovation Ip Company Limited Device and method for coding video data based on mode list including different mode groups
CN108881905B (zh) * 2018-08-04 2021-08-31 福州大学 基于概率的帧内编码器优化方法
US10771778B2 (en) 2018-09-14 2020-09-08 Tencent America LLC Method and device for MPM list generation for multi-line intra prediction
US11265544B2 (en) 2018-09-18 2022-03-01 Sony Corporation Apparatus and method for image compression based on optimal sequential encoding scheme
EP3893506A4 (en) 2019-01-02 2022-01-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD FOR DETERMINING A PREDICTION METHOD, DECODER AND COMPUTER STORAGE MEDIUM
US20220167009A1 (en) * 2019-03-12 2022-05-26 Sharp Kabushiki Kaisha Systems and methods for performing intra prediction coding in video coding
CN110139098B (zh) * 2019-04-09 2023-01-06 中南大学 基于决策树的高效率视频编码器帧内快速算法选择方法
CN110611819B (zh) * 2019-08-01 2021-07-27 杭州当虹科技股份有限公司 一种提升h.264中b帧质量的编码方法
CN114270825A (zh) * 2019-08-19 2022-04-01 北京字节跳动网络技术有限公司 基于计数器的帧内预测模式的初始化
CN110868391A (zh) * 2019-09-06 2020-03-06 深圳市朗强科技有限公司 一种远距离传输方法、系统及设备
CN110868426A (zh) * 2019-11-28 2020-03-06 深圳市朗强科技有限公司 一种数据传输方法、系统及设备
JP6849781B2 (ja) * 2019-12-20 2021-03-31 日本電信電話株式会社 画像符号化装置、画像符号化方法及びコンピュータプログラム
CN111277824B (zh) * 2020-02-12 2023-07-25 腾讯科技(深圳)有限公司 图像预测处理方法、装置、终端及计算机可读存储介质
WO2023014164A1 (ko) * 2021-08-05 2023-02-09 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101971631A (zh) * 2007-12-21 2011-02-09 艾利森电话股份有限公司 自适应帧内模式选择
WO2012044886A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Intra smoothing filter for video coding

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003304404A (ja) * 2002-04-09 2003-10-24 Canon Inc 画像符号化装置
BRPI0408087A (pt) 2003-03-03 2006-02-14 Agency Science Tech & Res método de intrapredição de codificação de vìdeo avançada (avc) para codificar vìdeo digital, aparelho que utiliza essa intrapredição e produto de programa de computador
JP2005184241A (ja) * 2003-12-17 2005-07-07 Kddi Corp 動画像フレーム内モード判定方式
JP4501631B2 (ja) * 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
BRPI0517069A (pt) 2004-11-04 2008-09-30 Thomson Licensing previsão rápida intra modo para um codificador de vìdeo
JP2007251865A (ja) 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP4921240B2 (ja) * 2007-05-10 2012-04-25 キヤノン株式会社 画像処理装置およびその方法
JP2007267414A (ja) * 2007-05-24 2007-10-11 Toshiba Corp フレーム内画像符号化方法及びその装置
JP2009055542A (ja) 2007-08-29 2009-03-12 Toshiba Corp 動画像符号化装置および動画像符号化方法
KR101712915B1 (ko) 2007-10-16 2017-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US20090161757A1 (en) 2007-12-21 2009-06-25 General Instrument Corporation Method and Apparatus for Selecting a Coding Mode for a Block
JP2009177357A (ja) * 2008-01-22 2009-08-06 Canon Inc 符号化装置及び符号化方法
KR101353301B1 (ko) 2008-04-11 2014-01-21 에스케이 텔레콤주식회사 인트라 예측 모드 결정 방법 및 그 장치와 이를 이용한영상 부호화/복호화 방법 및 그 장치
US8665964B2 (en) * 2009-06-30 2014-03-04 Qualcomm Incorporated Video coding based on first order prediction and pre-defined second order prediction mode
KR101702553B1 (ko) 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US20110002386A1 (en) 2009-07-06 2011-01-06 Mediatek Singapore Pte. Ltd. Video encoder and method for performing intra-prediction and video data compression
KR101507344B1 (ko) 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
EP2478702B8 (en) 2009-09-14 2017-09-06 Thomson Licensing DTV Methods and apparatus for efficient video encoding and decoding of intra prediction mode
US9467705B2 (en) 2009-12-30 2016-10-11 Ariscale Inc. Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block
KR101432771B1 (ko) * 2010-03-05 2014-08-26 에스케이텔레콤 주식회사 영상 부호화 장치, 그 영상 부호화 방법, 영상 복호화 장치 및 그 영상 복호화 방법
PL3125560T3 (pl) * 2010-08-17 2019-01-31 M&K Holdings Inc. Urządzenie do dekodowania trybu intra-predykcji
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US8811760B2 (en) * 2011-10-25 2014-08-19 Mitsubishi Electric Research Laboratories, Inc. Coding images using intra prediction modes
US9148667B2 (en) 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101971631A (zh) * 2007-12-21 2011-02-09 艾利森电话股份有限公司 自适应帧内模式选择
WO2012044886A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Intra smoothing filter for video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Fast Intra Prediction for High Efficiency Video Coding;HAO ZHANG ET AL;《ADVANCES IN MULTIMEDIA INFORMATION PROCESSING PCM 2012,SPRINGER BERLIN HEIDELBERG》;20121204;摘要,图8,第2.3节,第4节 *
Fast sum of absolute transformed difference based 4x4 intra-mode decision of H.264/AVC video coding standard;GOLAM SARWER M ET AL;《SIGNAL PROCESSING.IMAGE COMMUNICATION,ELSEVIER SCIENCE PUBLISHERS,AMSTERDAM,NL.》;20080901;第23卷(第8期);第568-577页 *

Also Published As

Publication number Publication date
KR20150115833A (ko) 2015-10-14
WO2014120389A1 (en) 2014-08-07
EP2951996A1 (en) 2015-12-09
US20140219342A1 (en) 2014-08-07
KR101752989B1 (ko) 2017-07-03
ES2625821T3 (es) 2017-07-20
EP2951996B1 (en) 2017-02-22
CN104937936A (zh) 2015-09-23
HUE032054T2 (en) 2017-08-28
JP2016511975A (ja) 2016-04-21
US9426473B2 (en) 2016-08-23
JP6284954B2 (ja) 2018-02-28

Similar Documents

Publication Publication Date Title
CN104937936B (zh) 用于视频译码的方法和装置
CN104969552B (zh) 存储减少的帧内预测模式决策
CN103959775B (zh) 一种视频数据编解码的方法及设备
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
CN105308959B (zh) 用于视频译码的自适应颜色变换
CN106105198B (zh) 对视频数据译码的方法、装置以及计算机可读介质
CN103477638B (zh) 用于视频译码的变换系数的译码
CN104685875B (zh) 用于视频译码的方法、设备、计算机可读存储媒体
CN103931182B (zh) 帧内预测视频译码中的非正方形变换
CN103959777B (zh) 视频译码中的与自适应环路滤波器合并的样本自适应偏移
CN104081777B (zh) 对视频数据进行编码或解码的方法、装置、设备及非暂时计算机可读媒体
CN104604224B (zh) 可缩放视频译码中的变换基底调整
RU2533196C2 (ru) Кодирование видео при помощи больших макроблоков
CN104221378B (zh) 在视频译码中用于量化矩阵的均匀粒度
CN104272742B (zh) 加权预测参数译码
CN109716771A (zh) 用于视频译码的线性模型色度帧内预测
CN104429072B (zh) 自适应差域空间和时间参考重构及平滑
CN104412591A (zh) 用于差域帧内预测的帧内模式扩展
CN104221380A (zh) 用于并行运动估计的共同空间候选块
CN104137546A (zh) 用信号发送用于视频译码的量化矩阵
CN104429076B (zh) 用于可缩放视频译码和3d视频译码的一般化残差预测
CN103141100A (zh) 用于视频译码的帧内平滑滤波器
CN103339939A (zh) 具有自适应分接头大小的低复杂性内插滤波
CN103238323A (zh) 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
CN104737537A (zh) 用于可缩放视频译码的加权预测模式

Legal Events

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