CN104796725A - 具有帧内预测预处理的视频编码器及与其一起使用的方法 - Google Patents

具有帧内预测预处理的视频编码器及与其一起使用的方法 Download PDF

Info

Publication number
CN104796725A
CN104796725A CN201510028862.XA CN201510028862A CN104796725A CN 104796725 A CN104796725 A CN 104796725A CN 201510028862 A CN201510028862 A CN 201510028862A CN 104796725 A CN104796725 A CN 104796725A
Authority
CN
China
Prior art keywords
data
prediction
intra
infra
frame prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510028862.XA
Other languages
English (en)
Other versions
CN104796725B (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.)
ViXS Systems Inc
Original Assignee
ViXS Systems 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
Priority claimed from US14/159,829 external-priority patent/US9294765B2/en
Application filed by ViXS Systems Inc filed Critical ViXS Systems Inc
Publication of CN104796725A publication Critical patent/CN104796725A/zh
Application granted granted Critical
Publication of CN104796725B publication Critical patent/CN104796725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开涉及具有帧内预测预处理的视频编码器及与其一起使用的方法。一种帧内预测模块,包括帧内预测预处理器,该帧内预测预处理器配置为处理来自画面数据块的像素数据,以确定对应于块的多个像素的边缘强度数据和边缘角范围数据,并且还配置为基于边缘强度数据和边缘角范围数据生成帧内预测候选数据。帧内预测候选数据指示选自多个帧内预测分区的第一子集和选自多个帧内预测模式的第二子集。率失真优化处理器基于帧内预测候选数据确定最终的帧内预测数据。

Description

具有帧内预测预处理的视频编码器及与其一起使用的方法
技术领域
本公开内容涉及在诸如视频编码器/解码器的设备中使用的编码。
背景技术
视频编码已经成为现代视频处理设备的重要问题。健壮的编码算法允许视频信号以减少的带宽发送并以更少的存储器存储。但是,这些编码方法的准确度面临已变得习惯于更大分辨率和更高画面质量的用户的推敲。对于许多编码方法已经颁布了标准,包括也被称为MPEG-4,部分10或者高级视频编码(AVC)的H.264标准。虽然这个标准阐述了许多强大的技术,但是,对于改进此类方法实现的性能和速度,进一步的改进是可能的。由这些编码方法编码的视频信号必须类似地解码,以便在大部分视频显示设备上重放。
视频信号的高效且快速的编码和解码对于许多视频设备的实现是重要的,尤其是被指定为家用的视频设备。运动估计对于视频编码会是重要的。准确的帧内预测节省编码中的位并且对于编码质量也会是重要的,尤其是在高量化水平。
附图说明
图1-3给出了根据本公开内容实施例的各种视频设备的形象图表示。
图4给出了根据本公开内容实施例的视频设备的框图表示。
图5给出了根据本公开内容实施例的视频编码器/解码器的框图表示。
图6给出了根据本公开内容实施例的视频编码操作的方框流程图。
图7给出了根据本公开内容实施例的视频解码操作的方框流程图。
图8给出了根据本公开内容实施例的帧内预测模块的框图表示。
图9给出了根据本公开内容实施例的方法的流程图表示。
图10给出了根据本公开内容实施例的方法的流程图表示。
图11给出了根据本公开内容实施例的方法的流程图表示。
图12给出了根据本公开内容实施例的方法的流程图表示。
图13给出了根据本公开内容实施例的视频分发系统375的框图表示。
图14给出了根据本公开内容实施例的视频存储系统179的框图表示。
具体实施方式
图1-3给出了根据本公开内容实施例的各种视频设备的形象图表示。特别地,具有内置数字视频记录器功能的机顶盒10或者独立的数字视频记录器、计算机20和便携式计算机30说明了结合视频设备125的电子设备,其中视频设备125包括本公开内容的一个或多个特征或功能。虽然说明了这些特定的设备,但是视频处理设备125包括能够根据结合图4-14和所附权利要求所描述的方法和系统编码、解码和/或转码视频内容的任何设备。
图4给出了根据本公开内容实施例的视频设备的框图表示。特别地,这种视频设备包括接收模块100,诸如电视接收器、有线电视接收器、卫星广播接收器、宽带调制解调器、3G收发器,或者能够接收被接收的信号98并且经时分解复用、频分解复用或其它解复用技术提取一个或多个视频信号110的其它信息接收器或收发器。视频处理设备125包括视频编码器/解码器102并且耦合到接收模块100,以便编码、解码或转码视频信号,用于以对应于视频显示设备104的格式存储、编辑和/或重放。
在本公开内容的实施例中,被接收的信号98是广播视频信号,诸如电视信号、高清晰度电视信号、增强清晰度电视信号,或者已经经无线介质直接地或者通过一个或多个卫星或其它中继站或通过有线网络、光学网络或其它传输网络发送的其它广播视频信号。此外,被接收的信号98可以从所存储的视频文件生成,从诸如磁带、磁盘或光盘的记录介质重放,并且可以包括经诸如局域网、广域网、城域网或互联网的公共或私有网络发送的流化视频信号。
视频信号110可以包括以任意多种视频格式格式化的模拟视频信号,其中的视频格式包括国家电视系统委员会(NTSC)、相位交替行(PAL)或者顺序与存储彩色电视系统(SECAM)。处理后的视频信号112可以包括遵守诸如H.264、MPEG-4部分10高级视频编码(AVC)的数字视频编解码器标准或者诸如运动图像专家组(MPEG)格式(诸如MPEG1、MPEG2或MPEG4)、QuickTme格式、Real Media格式、Windows媒体视频(WMV)或音频视频交织(AVI)等的另一数字格式的数字视频信号。
视频显示设备104可以包括电视机、监视器、计算机、手持式设备或者,作为流化视频信号或者通过所存储的数字视频文件的重放,基于解码处理后的视频信号112直接或间接地,例如通过投影,创建光学图像流的其它视频显示设备。
图5给出了根据本公开内容实施例的视频编码器/解码器的框图表示。特别地,视频编码器/解码器102可以是根据高效视频编码标准(HEVC)、H.264标准、MPEG-4标准、VC-1(SMPTE标准421M)或其它标准的许多功能和特征操作的视频编解码器,以便通过编码、解码或转码视频信号110生成处理后的视频信号112。视频信号110可选地由用于编码、解码或转码的信号接口198格式化。
视频编码器/解码器102包括可以利用单个处理设备或多个处理设备实现的处理模块200。这种处理设备可以是微处理器、协处理器、微控制器、数字信号处理器、微型计算机、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路系统、模拟电路系统、数字电路系统,和/或基于存储在存储器,诸如存储器模块202,中的操作指令操纵信号(模拟的和/或数字的)的任何设备。存储器模块202可以是单个存储器设备或多个存储器设备。这种存储器设备可以包括硬盘驱动器或其它盘驱动器、只读存储器、随机存取存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存存储器、高速缓存存储器,和/或存储数字信息的任何设备。应当指出,当处理模块经状态机、模拟电路系统、数字电路系统和/或逻辑电路系统实现其一个或多个功能时,存储对应操作指令的存储器可以嵌到包括所述状态机、模拟电路系统、数字电路系统和/或逻辑电路系统的电路系统中,或者在其外部。
处理模块200和存储器模块202经总线221耦合到信号接口198和多个其它模块,诸如运动搜索模块204、运动精炼模块206、直接模式模块208、帧内预测模块210、模式决定模块212、重构模块214、熵编码/重新排序模块216、邻居管理模块218、正向变换和量化模块220、去块过滤器模块222,及场景检测模块230。在本公开内容的实施例中,视频编码器/解码器102的模块可以经由VIXSSystems公司出售的XCODE处理设备连同软件或固件一起实现。作为选择,依赖于特定的实现,这些模块当中的一个或多个可以利用其它硬件实现,诸如包括状态机、模拟电路系统、数字电路系统和/或逻辑电路系统并且独立地或者在处理模块200或一个或多个其它模块的控制和/或指示下操作的另一处理器或硬件引擎。还应当指出,本公开内容的软件实现可以存储在有形的存储介质上,诸如磁或光盘、只读存储器或随机存取存储器,并且也作为制造物品被生产。虽然示出了特定的总线结构,但是利用一个或多个模块之间的直接连接和/或附加总线的备选体系结构同样可以根据本公开内容实现。
视频编码器/解码器102可以按包括编码模式和解码模式的各种操作模式操作,其中模式由模式选择信号的值设定,该模式选择信号可以是用户定义的参数、用户输入、寄存器值、存储器值或其它信号。此外,在视频编码器/解码器102中,由编码或解码模式用来编码或解码输入信号的特定标准可以由标准选择信号来确定,该标准选择信号也可以是用户定义的参数、用户输入、寄存器值、存储器值或其它信号。在本公开内容的实施例中,编码模式的操作利用多个模块,每个模块执行特殊的编码功能。解码操作也利用这多个模块当中的至少一个在解码过程中执行类似的功能。以这种方式,诸如运动精炼模块206和帧内预测模块210的模块可以在编码和解码过程都使用,以便当视频编码器/解码器102在集成电路上实现时节省体系架构占用面积或者实现其它的效率。此外,为了类似的目的,直接模式模块208、模式决定模块212、重构模块214、变换和量化模块220、去块过滤器模块222或特定于其它功能的模块当中的一些或全部部件也可以在编码和解码过程都使用。
运动补偿模块150包括基于把视频信号110的帧和/或场的列和行分成像素值的宏块来处理来自视频信号110的画面的运动搜索模块204,其中宏块诸如64像素×64像素、32像素×32像素、16像素×16像素或者某种其它尺寸。在本公开内容的实施例中,运动搜索模块为视频信号的场和/或帧的每个宏块或宏块对确定一个或多个运动矢量,这些运动矢量代表宏块(或子块)从视频信号的参考帧或参考场到当前帧或场的位移。在操作中,运动搜索模块在搜索范围内操作,以便以整数像素水平准确度在当前帧或场中定位宏块(或子块),诸如1-像素的分辨率。候选位置是基于成本公式来评估的,以确定具有最有利(诸如最低)成本的位置和对应运动矢量。
虽然以上已经结合全分辨率搜索描述了运动搜索模块204,但是运动搜索模块204可以操作成部分地基于缩放的或减小分辨率的画面确定候选运动搜索运动矢量。特别地,运动搜索模块204可以通过缩小进入的画面和参考画面来操作,以生成多个缩小的画面。然后,运动搜索模块204基于缩小的画面在缩小的分辨率生成多个运动矢量候选。基于运动矢量候选,运动搜索模块204对全尺寸画面进行操作,以便以全分辨率生成运动搜索运动矢量。在另一种实施例中,完全基于缩小分辨率的画面,运动搜索模块204可以生成运动搜索运动矢量,用于随后被运动精炼模块206精炼。
运动估计对视频编码会是重要的。准确的运动估计节省编码中的位并且对编码质量也会是重要的,尤其是在高量化水平。对于许多视频流,存在具有很少细节的区域。当较小的块尺寸用于运动估计时,存在许多类似的局部成本最小值。如果使用较大的块尺寸,则被包含不同运动的块覆盖的较大区域的搜索结果可能是错的。
在本公开内容的实施例中,运动搜索模块204经动态搜索区域和块合并方法为选定的画面的区域确定运动搜索运动矢量。特别地,运动搜索模块204通过基于与选定的画面的多个块关联的成本矩阵的评估合并选定的画面的多个块中选定的块来确定区域。当在缩放的运动估计中采用时和/或对于具有很少细节或重复模式的区域,尤其是对于支持块分区的许多选项的HEVC,这种方法会是高效的。关于这种过程的更多细节在标题为“VIDEO ENCODER WITH BLOCKMERGING AND METHODS FOR USE THEREWITH”的共同未决申请中给出,该申请的内容通过引用被结合于此,用于任何和所有目的。
基于运动搜索运动矢量,运动精炼模块206为多个宏块中的每个宏块生成精炼的运动矢量。在本公开内容的实施例中,运动精炼模块为视频信号110的场和/或帧的每个宏块或宏块对确定精炼的运动矢量,该精炼的运动矢量代表宏块从视频信号的参考帧或参考场到当前帧或场的位移。
基于像素和插值像素,运动精炼模块206以更大的像素水平准确度精炼宏块在当前帧或场中的位置,诸如1/4像素的分辨率或者其它子像素分辨率。候选位置还基于成本公式来评估,以确定具有最有利(诸如最低)成本的位置和精炼的运动矢量。就像在关于运动搜索模块的情况下,成本公式可以基于参考宏块与候选宏块像素值之间的绝对差之和(SAD)以及一个加权比率项,该加权比率项代表编码候选运动矢量与预测运动矢量(PMV)或估计的预测运动矢量之间的差异所需花费的位数,其中预测运动矢量(PMV)是基于在当前宏块右边的邻居宏块的并且基于来自视频信号前一行的邻居当前宏块的运动矢量,而估计的预测运动矢量是基于来自视频信号前一行的邻居当前宏块的运动矢量确定的。在本公开内容的实施例中,成本计算避免使用当前宏块中的邻居子块。以这种方式,运动精炼模块206能够对宏块进行操作,以便同时为该宏块的每个子块确定运动搜索运动矢量。
当使用估计的预测运动矢量时,成本公式避免使用来自当前行的运动矢量,并且运动搜索模块204和运动精炼模块206都可以并行地对视频信号110的整个行进行操作,以便同时为该行中的每个宏块确定精炼的运动矢量。
基于与每个宏块相邻的宏块,直接模式模块208为每个宏块生成直接模式运动矢量。在本公开内容的实施例中,直接模式模块208操作成基于用于视频信号110的B条的候选直接模式运动矢量的成本来确定直接模式运动矢量和与直接模式运动矢量关联的成本,诸如以由H.264或HEVC标准定义的方式。
虽然之前的模块集中在运动矢量的帧间预测,但是帧内预测模块210为多个宏块中的每个宏块生成最佳帧内预测模式。在本公开内容的实施例中,帧内预测模块210如由HEVC或H.264标准所定义的那样操作,但是,其它帧内预测技术同样可以采用。特别地,帧内预测模块210操作成基于从邻居宏块确定的运动矢量来评估多个帧内预测模式,诸如亮度预测模式、色度预测或其它帧内编码,以确定最佳帧内预测模式和关联的成本。
在本公开内容的实施例中,帧内预测模块210包括生成帧内预测候选数据的预处理。在另一实施例中,帧内预测候选数据被进一步筛选。特别地,预处理和筛选试图缩小在最终处理中考虑的可能的帧内预测分区和帧内预测模式。包括几个可选功能和特征的更多细节结合以下的图8-12来描述。
基于与精炼的运动矢量、直接模式运动矢量和最佳帧内预测模式关联的成本以及尤其是产生最有利(最低)成本或别的可接受成本的方法,模式决定模块212为多个宏块中的每个宏块确定最终的宏块成本。通过为多个宏块中的每个宏块生成残余亮度和/或色度像素值,重构模块214完成运动补偿。
通过把残余像素值变换编码并量化成可以被进一步编码的量化的变换系数,诸如通过熵编码模块216中的熵编码、被去块过滤器模块222过滤,视频编码器/解码器102的正向变换和量化模块220生成处理后的视频信号112。在本公开内容的实施例中,进一步的格式化和/或缓冲可以可选地由信号接口198执行,并且处理后的视频信号112可以表示为从其输出。
如以上所讨论的,运动补偿模块150的许多模块基于为邻居宏块确定的运动矢量来操作。邻居管理模块218为多个宏块中的至少一个宏块生成并存储邻居数据,用于在对这多个宏块的至少一个邻居宏块进行操作时被运动搜索模块204、运动精炼模块206、直接模式模块208、帧内预测模块210、熵编码模块216和去块过滤器模块222当中至少一个检索。在本公开内容的实施例中,诸如链表、数组或一个或多个寄存器的数据结构被用来在缓冲区、高速缓存、共享内存或其它存储器结构中关联并存储用于每个宏块的邻居数据。邻居数据包括来自邻居宏块和/或子块的运动矢量、参考索引、量化参数、编码的块模式、宏块类型、帧内/帧间预测模块类型、邻居像素值和/或其它数据,这些数据被本公开内容的一个或多个模块或过程用来为当前宏块计算结果。例如,为了确定用于运动搜索模块204和运动精炼模块206的预测模式矢量,需要邻居的运动矢量和参考索引。除了这种数据,直接模式模块208还需要之前参考画面的共同定位的宏块的运动矢量。去块过滤器模块222根据一组过滤强度操作,其中这组过滤强度通过使用邻居的运动矢量、量化参数、参考索引和编码的块模式等来确定。对于熵编码模块216中的熵编码,需要运动矢量差值(MVD)、宏块类型、量化参数增量、帧间预测类型等。
考虑其中特定宏块MB(x,y)需要来自宏块MB(x-1,y-1)、MB(x,y-1)、MB(x+1,y-1)和MB(x-1,y)的邻居数据的例子。在现有技术的编解码器中,邻居数据的准备需要计算相关邻居子块的位置。但是,计算不像常规视频编码标准中那么直接。例如,在H.264编码中,多个分区类型的支持使得用于子块的尺寸和形状显著变化。此外,宏块自适应帧和场(MBAFF)编码的支持允许宏块处于帧模式或场模式。对于每种模式,都在H.264中定义一种邻居推导方法。因此,计算需要相应地考虑每种模式。此外,为了获得全部所需的邻居数据,推导需要被调用四次,因为涉及四个邻居---MB(x-1,y-1)、MB(x,y-1)、MB(x+1,y-1)和MB(x-1,y)。因此,当前宏块MB(x,y)的编码直到四个邻居的位置都已经确定并且其数据已经从存储器中取出才能开始。
在本公开内容的实施例中,当处理每个宏块并且确定最终的运动矢量和编码的数据时,邻居数据存储在用于将需要这种数据的每个邻居宏块的数据结构中。由于邻居数据是事先准备的,因此当前宏块MB(x,y)可以在它准备好被处理时立刻开始。指出邻居的正确位置的负担实际上重新分配到其前面的宏块。因此,宏块的编码可以更流畅和更快。例如,当为MB(x-1,y-1)确定最终的运动矢量时,为还未被处理的每个邻居宏块,包括MB(x,y)以及诸如MB(x,y-1)、MB(x-2,y)、MB(x-1,y)的其它邻居宏块,存储邻居数据。类似地,当为MB(x,y-1)、MB(x+1,y-1)和MB(x-1,y)确定最终的运动矢量时,为对应于这些宏块当中每一个的还未被处理的每个邻居宏块,包括MB(x,y),存储邻居数据。以这种方式,当MB(x,y)准备好被处理时,邻居数据已经存储在对应于这个宏块的数据结构中,供快速检索。
然后,运动补偿可以利用检索出的数据继续前进。特别地,运动搜索模块204和/或运动精炼模块206可以利用检索出的邻居数据为多个宏块当中的每个宏块生成至少一个预测的运动矢量(诸如标准PMV或者估计的预测运动矢量)。另外,直接模式模块208可以利用检索出的邻居数据为多个宏块当中的每个宏块生成至少一个直接模式运动矢量,并且帧内预测模块210可以利用检索出的邻居数据为多个宏块当中的每个宏块生成最佳帧内预测模式,并且编码模块216可以在熵编码中使用检索出的邻居数据,这些每个都如在HEVC标准、H.264标准、MPEG-4标准、VC-1(SMPTE标准421M)中所阐述的那样或者通过其它标准或其它方式。
场景检测模块230基于例如视频信号110中的运动检测来检测视频信号110中的场景变化。在本公开内容的实施例中,场景检测模块23为每个画面视频信号110生成运动识别信号。每个画面,诸如视频场(或者,如果是逐行扫描视频源的话就是帧),中的运动可以由被称为全局运动(GM)的参数来表示。与之前相同奇偶性(same-parity)的场相比,GM的值量化场的变化。依据每个宏块对,顶部场与顶部场比较,底部场与底部场比较,等等。GM的值可以作为场或帧中所有像素的像素运动(PM)之和来计算,其中PM的值是对场或帧中的每个像素计算的。
参数GM可以用来检测视频信号110中的场景变化。当关于一个场发生场景变化时,与“正常”场相比,该场将生成显著更高的GM值。场景变化可以通过分析沿连续场的GM模式来检测,例如通过检测连续场中超过场景检测阈值的GM的增加或减小。一旦检测到对应于特定图像的场景变化,编码器/解码器102的编码参数就被调整,以实现最佳结果。例如,场景变化的检测可以用来触发新画面组(GOP)的开始。在另一个例子中,通过调整QP的值来补偿场景变化、通过启用或禁用视频过滤器或者通过调整或修改由编码器/解码器102进行的编码、解码、转码或其它处理的其它参数,编码器/解码器102对场景变化检测作出响应。
虽然没有明确示出,但是编码器/解码器102可以包括存储器高速缓存、共享内存、存储器管理模块、梳状过滤器或者其它视频过滤器,和/或支持把视频信号110编码成处理后的视频信号112的其它模块。
一般性编码和解码过程的更多细节将结合图6和7更具体地描述。
图6给出了根据本公开内容实施例的视频编码操作的方框流程图。特别地,示出了使用结合图5描述的许多特定于功能的模块来实现类似编码操作的示例视频编码操作。运动搜索模块204基于当前帧/场260和一个或多个参考帧/场262为多个宏块当中的每个宏块生成运动搜索运动矢量。运动精炼模块206基于运动搜索运动矢量为多个宏块当中的每个宏块生成精炼的运动矢量。帧内预测模块210为多个宏块当中的每个宏块评估并选择最佳帧内预测模式。模式决定模块212基于与精炼的运动矢量关联的成本以及最佳帧内预测模式为多个宏块当中的每个宏块确定最终的运动矢量。
通过由差值电路282从当前帧/场260的像素值中减去,重构模块214为多个宏块当中的每个宏块生成对应于最终的运动矢量的残余像素值,并且通过利用加法电路284再添加(通过变换和量化模块220处理的)残余像素值而生成未过滤的重构帧/场。变换和量化模块220在变换模块270和量化模块272中变换和量化残余像素值并且通过在逆变换模块276和去量化模块274中的逆变换和去量化重新形成残余像素值。此外,量化和变换后的残余像素值被重新排序模块278重新排序并且被熵编码/重新排序模块216的熵编码模块280熵编码,以形成网络抽象层输出281。
去块过滤器模块222从未过滤的重构帧/场形成当前的重构帧/场264。还应当指出,当前的重构帧/场264可以被缓冲,以便为未来的当前帧/场260生成参考帧/场262。
如结合图5所讨论的,视频编码器/解码器102的一个或多个模块也可以在解码过程中使用,如以下将结合图7进一步描述的。
图7给出了根据本公开内容实施例的视频解码操作的方框流程图。特别地,这种视频解码操作包含许多结合图6描述的共同元件,这些共同元件由共同的标号指出。在这种情况下,运动补偿模块207、帧内补偿模块211、模式开关213处理参考帧/场262,以生成当前的重构帧/场264。此外,重构模块214重用加法电路284并且变换和量化模块重用逆变换模块276和逆量化模块274。应当指出,虽然熵编码/重新排序模块216被重用,代替产生网络抽象层输出281的重新排序模块278和熵编码模块280,但是网络抽象层输入287被熵解码模块286和重新排序模块288处理。
虽然已经结合图6和7的具体编码和解码操作描述了模块的重用,诸如特定于特定功能的硬件引擎,但是本公开内容可以同样类似地用于结合图1-5和8-14所描述的本公开内容的其它实施例,和/或具有结合视频编码和解码使用的特定于其它功能的模块。
图8给出了根据本公开内容实施例的帧内预测模块的框图表示。给出了包括帧内预测预处理器300、候选筛选预处理器310和最终帧内预测处理器320的帧内预测模块210。特别地,帧内预测预处理器300从形式为当前帧/场数据260的输入画面生成帧内预测候选数据302。帧内预测候选数据302被候选筛选预处理器310进一步筛选,以生成筛选出的帧内预测数据312。最终帧内预测处理器320基于筛选出的帧内预测数据312操作,以生成最终的帧内预测数据325。帧内预测预处理器300、候选筛选预处理器310和最终帧内预测处理器320可以经单个处理设备,诸如专用或共享处理设备,或者经一个或多个独立的处理设备实现。
考虑其中帧内预测模块210根据HEVC标准操作以生成最终的帧内预测数据325的例子。4x4、8x8、16x16、32x32和64x64的块尺寸可以结合关联的分区来考虑。在每种情况下,评估多达33种不同的定向模式以及平面和DC模式。由最终帧内预测处理器320执行的处理可以包括率失真优化(rate distortion optimization)。虽然这个处理会产生准确的帧内预测,但它是以高计算复杂性为代价的。用于每个块尺寸/分区和模式的率失真优化给帧内预测模块210带来负担。在操作中,由帧内预测预处理器300和候选筛选预处理器310执行的预处理和候选筛选试图缩小在由最终帧内预测处理器320执行的最终处理中考虑的可能帧内预测分区和帧内预测模式。以这种方式,不可能的候选被不太严格的技术消除。更有限的候选集合接受更严格的最终处理。另外,当候选识别和筛选产生明显占优势的候选时,最终帧内预测预处理可以完全被跳过/绕过。
在实施例中,帧内预测预处理器300配置为评估多个预测块尺寸。来自画面数据的像素数据,诸如当前帧/场260,经边缘算子或其它基于边缘的处理被处理,以确定对应于这些块的多个像素的边缘强度数据和边缘角范围数据。帧内预测预处理器300基于边缘强度数据和边缘角范围数据生成帧内预测候选数据302。特别地,帧内预测候选数据302指示选自多个全部可能帧内预测分区的分区子集和选自多个全部可能帧内预测模式的模式子集。
在一种操作模式中,边缘角范围数据提供对可能方向的一个离散集合的索引。对于多个像素中的每一个,边缘强度数据和边缘角范围数据对应于画面梯度。边缘强度数据可以指示梯度的量值,而边缘角范围数据可以指示角度范围,即,梯度的近似方向或方向范围。基于用于具有多个可能边缘角范围值当中共同的一个的每个像素的边缘强度数据的累积,帧内预测预处理器300从可能的分区选择分区子集。以这种方式,对这些像素梯度,可以识别出一个或多个占优势的边缘角范围,连同用于每个方向的对应强度。
在实施例中,帧内预测预处理器300确定是包括还是排除候选分区和对应的块尺寸。例如,帧内预测预处理器300为特定的块尺寸确定多个边缘角范围值中具有边缘强度数据的第二最高累积的边缘角范围值,比较边缘强度数据的第二最高累积与阈值,并且当边缘强度数据的第二最高累积与阈值相比更有利时从分区子集中排除该特定块尺寸的分区。
另外,帧内预测预处理器可以为预测块尺寸并且为那个预测块尺寸的每个分区的子块确定多个边缘角范围值中具有边缘强度数据的最高累积的边缘角范围值,比较用于该块尺寸的边缘强度数据的最高累积与用于每个分区的子块的边缘强度数据的最高累积之和,并且当用于全块尺寸的边缘强度数据的最高累积与用于每个分区的子块的边缘强度数据的最高累积相比更不利时在分区子集中包括分区。
在另一种操作模式中,帧内预测预处理器300基于用于具有多个可能边缘角范围值当中共同的一个的每个像素的边缘强度数据的累积选择模式子集。例如,对于特定的预测块尺寸,当用于特定边缘角范围值的边缘强度数据的累积与阈值相比更有利时,帧内预测预处理器在模式子集中包括对应于该特定边缘角范围值的那些候选模式。以这种方式,占优势的方向可以被包括。另外,当用于特定边缘角范围值的边缘强度数据的累积与边缘强度数据的最高累积相比更不利时,帧内预测预处理器300可以从第二子集中排除对应于该特定边缘角范围值的模式。以这种方式,不占优势的方向可以从模式候选中被排除。
考虑其中帧内预测模块210根据HEVC进行操作的例子,对至多三种模式支持最可能模式指示。在实施例中,帧内预测预处理器300选择性地启用和禁用包括在帧内预测候选数据302中的最可能模式指示器,供候选筛选预处理器310和/或最终帧内预测处理器320考虑。
根据下面进一步的例子考虑帧内预测预处理器300的操作。帧内预测候选数据302包括候选分区和候选模式以及MPM是否应当启用或禁用的指示器。首先,关于每个像素的画面梯度可以通过对由当前帧/场260表示的原始输入画面或者对当前帧/场260的预平滑或缩小版本应用边缘检测算子(诸如Sobel算子,其它基于边缘的算子或者其它梯度预测方法)来估计。在一个例子中,梯度dx和dy的x和y坐标可以确定为:
dx=P(x+1,y)-P(x-1,y)
dy=P(x,y+1)-P(x,y-1)
其中P(i,j)代表在位置(i,j)的像素值。
进一步考虑180°范围被划分成多个不同的定向范围。例如,定向范围的边界可以利用等于{无穷小,-8,-4,-2,-4/3,-1,-3/4,-1/2,-1/4,-1/8,0,1/8,1/4,1/2,3/4,1,4/3,2,4,8,无穷大}的正切值来设置。无相除/无相乘的数值方法可以用来为每个像素确定边缘角范围和近似边缘强度的对应值。
帧内预测预处理器300迭代地考虑不同的块尺寸,从最小块尺寸到最大块尺寸。对于每个块中的所有像素,它累积对应于相同边缘角范围的边缘强度。以这种方式,具有相同边缘角范围的每个像素的强度被累积。每个边缘角范围基于块中的像素中的哪些(如果有的话)像素具有该边缘角范围以及具有该边缘角范围的每个像素的对应边缘强度值而具有对应的对应的强度累积。
在这个例子中,帧内预测预处理器300使用七个阈值来确定帧内预测候选数据302。
1)maxSplitCost:指示如果块被进一步分区时四个子块的分割和模式的最大成本。
2)minSplitCost:指示如果块被进一步分区时四个子块的分割和模式的最小成本。
3)avgSplitCost:指示如果块被进一步分区时四个子块的分割和模式的平均成本。
4)minModeCost:编码除最可能模式(MPM)之外的其它模式的最小模式成本。
5)maxModeCost:编码除MPM之外的其它模式的最大模式成本。
6)edgeTolerance:当最大累积强度与其它边缘角范围的累积强度之间的强度差小于这个阈值时,对应于这些其它角范围的方向也应当是模式候选。
7)LargeDirectionNumber:如果所包括的方向的个数满足或超过这个数字,则确定没有用于该块的具体方向。
这些阈值当中的每一个都可以基于在编码器/解码器102中使用的QP的值而变。帧内预测预处理器300可以包括查找表、状态机或者基于QP的当前值选择上述每个阈值的值的其它设备或算法。
对于具有从第二最小尺寸到最大尺寸的块尺寸的每个块,预测块尺寸预先确定方法如下确定要包括在分区子集中的分区候选和对应的块尺寸。
1)如果第二最大累积强度小于minSplitCost,则不需要包括该块的分区。
2)否则,如果4个子块的最大累积强度之和比当前块的最大累积强度小多于maxSplitCost,则这个块尺寸应当被分区,并且块最大累积强度应当用4个子块的最大累积强度之和加avgSplitCost来代替。
3)否则,该块的分区和非分区(全块尺寸)都应当作为候选被包括。
对于每个被包括的块尺寸,预测模式预先确定方法如下确定模式子集:
1)包括对应于大于minModeCost的累积强度,包括最大累积强度,的所有方向,以及其累积强度比最大累积强度低少于edgeTolerance的其它方向。
2)检查所包括的候选的个数,如果在步骤1中包括了多于LargeDirectionNumber个方向,则对于该块没有具体的方向。因此,还应当包括非定向模式DC和/或平面。
3)如果最大强度小于maxModeCost,则启用MPM。
候选筛选预处理器310配置为处理对应于块的多个像素的画面数据块-基于帧内预测候选数据302。这种处理包括筛选帧内预测候选数据302,以生成指示筛选出的分区和模式候选的筛选出的帧内预测候选数据312。筛选出的帧内预测候选数据312包括选自多个全部帧内预测分区的分区子集和选自多个全部可能帧内预测模式的模式子集,以及可选地MPM是启用还是禁用的指示器。在一种操作模式中,最终帧内预测处理器320基于筛选出的帧内预测候选数据312确定最终的帧内预测数据325。在其它情况下,当帧内预测候选数据312指示单个候选时,由最终帧内预测处理器320执行的处理可以被绕过。在这些情况下,最终的帧内预测数据325可以被简单地选为由帧内预测候选数据312指示的单个候选。
在实施例中,候选筛选预处理器310基于第一成本函数和第二成本函数生成筛选出的帧内预测候选数据312。第一成本函数和第二成本函数可以包括绝对差之和以及绝对变换差之和,但是,其它基于非率失真的成本函数也可以使用。另外,候选筛选预处理器可以基于一个或多个允许的变换尺寸并且还基于在编码器/解码器102中选定的QP的当前值生成筛选出的帧内预测候选数据。
在实施例中,候选筛选预处理器310提供比帧内预测预处理器更深入的处理,但没有最终帧内预测处理器320使用的技术那么严格。通过为最终的帧内预测处理进一步消除一些模式和/或分区候选,由候选筛选预处理器310执行的筛选可以缩小由帧内预测预处理器300识别出的那些候选。此外,为了消除候选,如果必要,则筛选可以恢复某些模式或分区候选。例如,候选筛选预处理器不仅可以评估在帧内预测候选数据中识别出的方向,而且可以评估具有与识别出的候选相邻的方向的模式,用于被帧内预测预处理器300包括。
候选筛选预处理器310的操作可以依照下面的例子来描述,这些例子是建立在结合帧内预测预处理器300给出的例子上。特别是,候选筛选预处理器310基于HEVC帧内预测过程和原始块边界筛选并调整模式和分区候选。SAD和SATD相异措施被用来评估来自预处理的候选帧内预测分区和模式。此外,可能的变换尺寸基于原始像素的边界和纹理连续性信息来筛选。
步骤1:
对于从最小到最大的每个候选分区:
a)把定向模式的相邻模式添加到候选列表;
b)把候选列表中的每个定向模式分成对应于所允许的不同变换尺寸的不同候选;
c)对于所有候选,计算原始和预测块之间的SAD成本;
d)在使用较小变换块的任何时候,把对应的变换单元分割成本添加到SAD;
e)选择其SAD成本小于minSAD+SADTolerance的候选作为新的候选。
步骤2:
如果有多于一个候选,则对每个候选评估以下:
a)在预测块和原始块之间把modeCost设置成SATD;
b)当使用较小的变换块时,把对应的变换单元分割成本添加到modeCost;
c)如果在当前块的邻居中没有相似的方向,则把modeCost添加到当前成本;
d)选择其modeCost小于minCost+costTolerance的候选作为新的候选。
步骤3:
a)比较当前成本与具有更小分区的相同块的成本(添加预测单元分割成本);
b)如果一个成本比另一个成本小至少partition_threshold,则启用对应的分区;否则启用这两个分区和全块尺寸;
c)如果在b)中一个成本更小,则当前成本被更新成较小的一个。
步骤4:
a)如果所有候选的最小成本都比来自预处理的边缘强度超过MPM_threshold,则启用MPM;
b)如果还剩下多于一个候选(如果在预处理和/或这个步骤中被启用,则包括MPM),则生成筛选出的帧内预测候选数据312,以包括全候选列表;
c)否则,输出该唯一的候选作为最终的帧内预测数据325。应当指出,以上每个常量和阈值都可以基于在编码器/解码器102中使用的QP的值而变。候选筛选预处理器310可以包括查找表、状态机或者基于QP的当前值选择以上常量和阈值当中每一个的值的其它设备或算法。
根据这个例子,最终帧内预测处理器320利用构造的像素基于由筛选出的帧内预测数据312指示的最终预测单元/变换单元分区和模式决定来执行率失真优化(RDO)或者其它最终帧内预测。首先计算筛选出的模式和分区候选的RDO成本。如果在预处理中MPM被帧内预测预处理器300启用或者通过由候选筛选预处理器310执行的筛选而被启用,则MPM模式的RDO成本也被计算。一般而言,最终帧内预测处理器320通过选择具有最小RDO成本的候选生成最终的帧内预测数据325。但是,最终帧内预测处理器320可以可选地评估相邻的块,以确定具有相同模式的块是否可以合并成更大的分区。
图9给出了根据本公开内容实施例的方法的流程图表示。特别地,给出了结合视频处理设备一起使用的方法,其中视频处理设备具有与图1-8关联描述的一个或多个特征和功能。步骤340包括生成边缘角范围和边缘强度数据。步骤342包括基于边缘角范围和边缘强度数据生成分区候选。步骤344包括基于边缘角范围和边缘强度数据生成模式候选。
图10给出了根据本公开内容实施例的方法的流程图表示。特别地,给出了结合视频处理设备一起使用的方法,其中视频处理设备具有与图1-9关联描述的一个或多个特征和功能。步骤350包括执行第一成本筛选。步骤352包括执行第二成本筛选。步骤354包括确定最终帧内预测处理是否可以被跳过。
图11给出了根据本公开内容实施例的方法的流程图表示。特别地,给出了结合视频处理设备一起使用的方法,其中视频处理设备具有与图1-10关联描述的一个或多个特征和功能。步骤400包括处理来自画面数据块的像素数据,以确定对应于块的多个像素的边缘强度数据和边缘角范围数据。步骤402包括基于边缘强度数据和边缘角范围数据生成帧内预测候选数据,其中帧内预测候选数据指示选自多个帧内预测分区的第一子集和选自多个帧内预测模式的第二子集。步骤404包括基于帧内预测候选数据确定最终的帧内预测数据。
步骤402可以包括基于用于具有多个可能边缘角范围值当中共同的一个的每个像素的边缘强度数据的累积选择第一子集。步骤402可以包括为多个预测块尺寸当中选定的一个确定多个边缘角范围值当中具有边缘强度数据的第二最高累积的边缘角范围值;比较边缘强度数据的第二最高累积与阈值;并且当边缘强度数据的第二最高累积与阈值相比更有利时从第一子集中排除多个块尺寸中选定的一个的分区。
步骤402可以包括为多个预测块尺寸中选定的一个并且为多个预测块尺寸中选定的一个的每个分区的子块确定多个边缘角范围值当中具有边缘强度数据的最高累积的边缘角范围值;比较用于多个块尺寸中选定的一个的边缘强度数据的最高累积与用于每个分区的子块的边缘强度数据的最高累积之和;并且当用于多个块尺寸中选定的一个的边缘强度数据的最高累积与用于每个分区的子块的边缘强度数据的最高累积之和相比更不利时在第一子集中包括用于多个块尺寸中选定的一个的分区。
步骤402可以包括基于用于具有多个可能边缘角范围值当中共同的一个的每个像素的边缘强度数据的累积选择第二子集。步骤402可以包括当用于特定边缘角范围值的边缘强度数据的累积与阈值相比更有利时在第二子集中包括多个模式中对应于该特定边缘角范围值的一个。步骤402可以包括当用于特定边缘角范围值的边缘强度数据的累积与边缘强度数据的最高累积相比更不利时从第二子集中排除多个模式中对应于该特定边缘角范围值的一个。
图12给出了根据本公开内容实施例的方法的流程图表示。特别地,给出了结合视频处理设备一起使用的方法,其中视频处理设备具有与图1-11关联描述的一个或多个特征和功能。步骤410包括基于对应于块的多个像素的帧内预测候选数据处理画面数据块,其中帧内预测候选数据指示选自多个帧内预测分区的第一子集和选自多个帧内预测模式的第二子集,其中该处理包括筛选帧内预测候选数据,以生成筛选出的帧内预测候选数据,筛选出的帧内预测候选数据指示选自多个帧内预测分区的第三子集和选自多个帧内预测模式的第四子集。步骤412包括基于经率失真优化对筛选出的帧内预测候选数据的评估来确定最终的帧内预测数据。
筛选可以基于第一成本函数和第二成本函数。第一成本函数和第二成本函数可以是基于非率失真的成本。第一成本函数可以基于绝对差之和,而第二成本函数可以基于绝对变换差之和。
在实施例中,生成筛选出的帧内预测候选数据可以基于至少一个允许的变换尺寸。生成第四子集可以包括评估具有与第二子集相邻的方向的模式。当筛选出的帧内预测数据指示单个候选时,步骤412可以被绕过。
图13给出了根据本公开内容实施例的视频分发系统375的框图表示。特别地,处理后的视频信号112从第一视频编码器/解码器102经传输路径122发送到作为解码器操作的第二视频编码器/解码器102。视频编码器/解码器102操作成解码处理后的视频数据112,用于在诸如电视机12、计算机14或其它显示设备的显示设备上显示。
传输路径122可以包括根据无线局域网协议,诸如802.11协议、WIMAX协议、蓝牙协议等,操作的无线路径。另外,传输路径可以包括根据有线协议,诸如通用串行总线协议、以太网协议或其它高速协议,操作的有线路径。
图14给出了根据本公开内容实施例的视频存储系统179的框图表示。特别地,设备11是具有内置数字视频记录器功能的机顶盒、独立的数字视频记录器、DVD记录器/播放器或者存储处理后的视频信号112的其它设备,用于在诸如电视机12的视频显示设备上显示。虽然视频编码器/解码器102示为单独的设备,但是它可以进一步结合到设备11中。在这种配置中,视频编码器/解码器102还可以操作成当处理后的视频信号112从储存器中被检索出来时对其进行解码,以便以适合由视频显示设备12显示的格式生成视频信号。虽然说明了这些特定的设备,但是视频存储系统179可以包括硬驱、闪存存储器设备、计算机、DVD刻录机,或者能够根据结合本文所述本公开内容的特征和功能所描述的方法和系统生成、存储、解码和/或显示处理后的视频信号112的视频内容的任何其它设备。
如可以在本文中使用的,术语“基本上”和“近似”为其对应的项和/或项之间的相关性提供业内可接受的容限。这种业内可接受的容限从小于百分之一到百分之五十变动并且对应于,但不限于,部件值、集成电路过程变量、温度变化、上升和下降时间,和/或热噪声。项之间的这种相关性从百分之几的差异到巨大的差异变动。如也可以在本文中使用的,术语“配置为”、“操作耦合到”、“耦合到”和/或“耦合”包括项之间的直接耦合和/或项之间经中间项(例如,包括但不限于部件、元件、电路和/或模块的项)的间接耦合,其中,对于间接耦合的例子,中间项不修改信号的信息但是可以调整其电流水平、电压水平和/或功率水平。如也可以在本文中使用的,以与“耦合”相同的方式,推断耦合(即,其中一个元件通过推断耦合到另一个元件)包括两个项之间的直接和间接耦合。如也可以在本文中使用的,术语“配置为”、“可操作成”、“耦合到”或者“可操作耦合到”指示项包括电源连接、输入、输出等当中的一个或多个,以便在被激活时执行其一个或多个对应功能,并且还可以包括到一个或多个其它项的推断耦合。如也可以在本文中使用的,术语“与...关联”包括独立项的直接和/或间接耦合和/或一个项嵌入到另一个项当中。
如可以在本文中使用的,术语“与...相比更有利”指示两个或更多个项、信号等之间的比较提供期望的关系。例如,当期望的关系是信号1比信号2具有更大的量值时,有利的比较可以在信号1的量值大于信号2的量值或者在信号2的量值小于信号1的量值时实现。
如也可以在本文中使用的,术语“处理模块”、“预处理器”、“处理器”和/或“处理单元”可以是单个处理设备、共享的处理设备或者多个处理设备。这种处理设备可以是微处理器、微控制器、数字信号处理器、微型计算机、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路系统、模拟电路系统、数字电路系统,和/或基于电路系统的硬编码和/或操作指令操纵信号(模拟和/或数字的)的任何设备。处理模块、模块、处理电路和/或处理单元可以是,或者进一步包括,存储器和/或集成的存储器元件,其中存储器元件可以是单个存储设备、多个存储设备和/或另一处理模块、模块、处理电路和/或处理单元的嵌入式电路系统。这种存储设备可以是只读存储器、随机存取存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存存储器、高速缓冲存储器和/或存储数字信息的任何设备。应当指出,如果处理模块、模块、处理电路和/或处理单元包括多于一个处理设备,则处理设备可以集中定位(例如,通过有线和/或无线总线结构直接耦合到一起),或者可以分散定位(例如,经由经局域网和/或广域网的间接耦合的云计算)。还应当指出,如果处理模块、模块、处理电路和/或处理单元经由状态机、模拟电路系统、数字电路系统和/或逻辑电路系统实现其一个或多个功能时,则存储对应操作指令的存储器和/或存储元件可以嵌入到包括所述状态机、模拟电路系统、数字电路系统和/或逻辑电路系统的电路系统中,或者在其外面。还应当指出,存储器元件可以存储,并且处理模块、模块、处理电路和/或处理单元执行,对应于在一个或多个附图中说明的至少一些步骤和/或功能的硬编码和/或操作指令。这种存储器设备或存储器元件可以包括在制造物品中。
以上已经借助说明所规定功能及其关系的执行的方法步骤描述了一种或多种实施例。为了方便描述,这些功能构建块和方法步骤的边界和顺序在本文中是任意定义的。备选的边界和顺序也可以定义,只要所规定的功能和关系被适当执行就可以。因此,任何这种备选的边界和顺序都在权利要求的范围和主旨内。另外,为了方便描述,这些功能构建块的边界是任意定义的。备选边界也可以定义,只要某些显著的功能被适当执行就可以。类似地,流程图方框在本文中也是任意定义,以说明某些显著的功能。就使用的程度而言,流程图方框的边界和顺序是以别的方式定义。但是仍然执行某些显著的功能。因此,功能构建块和流程图方框和顺序的这种备选定义在权利要求的范围和主旨内。本领域的普通技术人员也将认识到,所述功能构建块和其它说明性块、模块及其中的部件可以如所说明的那样实现,或者由分立元件、专用集成电路、执行适当软件等的处理器或者其任意组合实现。
一种或多种实施例在本文中用来说明一个或多个方面、一个或多个特征、一个或多个概念,和/或一个或多个例子。装置、制造物品、机器,和/或过程的物理实施例可以包括参考本文所讨论的一种或多种实施例描述的一个或多个方面、特征、概念、例子等。另外,从一个图到另一个图,实施例可以结合可使用相同或不同标号的相同或相似命名的功能、步骤、模块等,并且,因此,所述功能、步骤、模块等可以是相同或相似的功能、步骤、模块等,或者是不同的功能、步骤、模块。
除非专门相反地声明,否则在本文给出的任意附图的图示中到元件、来自元件和/或元件之间的信号可以是模拟的或数字的、连续时间的或离散时间的,以及单端的或差分的。例如,如果信号路径被示为单端路径,则它也代表差分信号路径。类似地,如果信号路径被示为差分路径,则它也代表单端信号路径。虽然本文描述了一个或多个特定的体系架构,但是,如本领域普通技术人员认识到的,使用未明确示出的一个或多个数据总线、元件之间的直接连接和/或其它元件之间的间接耦合的其它体系架构同样可以实现。
术语“模块”在一种或多种实施例的描述中使用。模块包括处理模块、处理器、功能块、硬件和/或存储用于执行如可在本文描述的一个或多个功能的操作指令的存储器。应当指出,如果模块经硬件实现,则硬件可以独立地和/或与软件和/或固件相结合地操作。如也在本文中使用的,模块可以包含一个或多个子模块,其中每个子模块可以是一个或多个模块。
本文已经明确地描述了一种或多种实施例的各种功能和特征的特定组合,但是这些特征和功能的其它组合同样是可能的。本公开内容不受本文所公开的特定例子的限制,并且明确地结合这些其它组合。
对相关申请的交叉引用
本申请根据35U.S.C.119(e)要求于2014年1月7日提交的、标题为“VIDEO ENCODER WITH INTRA-PREDICTION PRE-PROCESSING AND METHODS FOR USE THEREWITH”且申请序列号为61/924,453的临时提交的申请的优先权,该申请的内容通过引用被结合于此,用于任何和所有目的。

Claims (15)

1.一种在编码包括画面数据的视频信号的视频编码器中使用的帧内预测模块,该帧内预测模块包括:
候选筛选预处理器,配置为基于与所述画面数据的块的多个像素对应的帧内预测候选数据来处理所述画面数据的所述块,其中所述帧内预测候选数据指示选自多个帧内预测分区的第一子集和选自多个帧内预测模式的第二子集,其中所述处理包括筛选所述帧内预测候选数据以生成筛选出的帧内预测候选数据,所述筛选出的帧内预测候选数据指示选自所述多个帧内预测分区的第三子集和选自所述多个帧内预测模式的第四子集;以及
最终帧内预测处理器,耦合到候选筛选预处理器,基于所述筛选出的帧内预测候选数据确定最终的帧内预测数据。
2.如权利要求1所述的帧内预测模块,其中候选筛选预处理器基于第一成本函数和第二成本函数生成所述筛选出的帧内预测候选数据,其中第一成本函数和第二成本函数是基于非率失真的成本。
3.如权利要求1或2所述的帧内预测模块,还包括:
帧内预测预处理器,配置为处理来自所述画面数据的所述块的像素数据,以确定对应于所述块的所述多个像素的边缘强度数据和边缘角范围数据,并且还配置为基于所述边缘强度数据和所述边缘角范围数据生成帧内预测候选数据。
4.如权利要求3所述的帧内预测模块,其中,所述帧内预测预处理器基于具有多个可能的边缘角范围值当中共同的一个边缘角范围值的每个像素的边缘强度数据的累积来选择第一子集。
5.如权利要求3或4所述的帧内预测模块,其中帧内预测预处理器为多个预测块尺寸当中选定的一个预测块尺寸确定所述多个可能的边缘角范围值当中具有边缘强度数据的第二最高累积的边缘角范围值,比较边缘强度数据的第二最高累积与阈值,并且当边缘强度数据的第二最高累积与阈值相比更有利时从第一子集中排除多个预测块尺寸当中所述选定的一个预测块尺寸的分区。
6.如权利要求3、4或5所述的帧内预测模块,其中帧内预测预处理器为多个预测块尺寸当中选定的一个预测块尺寸并且为所述多个预测块尺寸当中所述选定的一个预测块尺寸的每个分区的子块确定所述多个可能的边缘角范围值当中具有边缘强度数据的最高累积的边缘角范围值,比较所述多个预测块尺寸当中所述选定的一个预测块尺寸的边缘强度数据的最高累积与每个分区的子块的边缘强度数据的最高累积之和,并且当所述多个预测块尺寸当中所述选定的一个预测块尺寸的边缘强度数据的最高累积与每个分区的子块的边缘强度数据的最高累积之和相比更不利时在第一子集中包括所述多个预测块尺寸当中所述选定的一个预测块尺寸的分区。
7.如权利要求3至6中任一项所述的帧内预测模块,其中帧内预测预处理器基于具有多个可能的边缘角范围值当中共同的一个边缘角范围值的每个像素的边缘强度数据的累积选择第二子集。
8.如权利要求3至7中任一项所述的帧内预测模块,其中,对于多个块尺寸当中选定的一个块尺寸,当特定边缘角范围值的边缘强度数据的累积与阈值相比更有利时,帧内预测预处理器在第二子集中包括所述多个帧内预测模式当中对应于该特定边缘角范围值的一个帧内预测模式。
9.如权利要求3至8中任一项所述的帧内预测模块,其中,对于多个块尺寸当中选定的一个块尺寸,当特定边缘角范围值的边缘强度数据的累积与边缘强度数据的最高累积相比更不利时,从第二子集中排除所述多个帧内预测模式当中对应于该特定边缘角范围值的一个帧内预测模式。
10.如任意之前的权利要求所述的帧内预测模块,其中包括以下的一个或多个:
候选筛选预处理器通过评估具有与第二子集相邻的方向的模式来生成第四子集;
最终帧内预测处理器在候选筛选预处理器指示单个候选时被绕过;和/或
候选筛选预处理器有选择地启用和禁用最有可能的模式指示器。
11.一种在编码包括画面数据的视频信号的视频编码器中使用的方法,该方法包括:
基于与所述画面数据的块的多个像素对应的帧内预测候选数据来处理所述画面数据的所述块,其中所述帧内预测候选数据指示选自多个帧内预测分区的第一子集和选自多个帧内预测模式的第二子集,其中所述处理包括筛选所述帧内预测候选数据以生成筛选出的帧内预测候选数据,所述筛选出的帧内预测候选数据指示选自所述多个帧内预测分区的第三子集和选自所述多个帧内预测模式的第四子集;以及
基于经由率失真优化的所述筛选出的帧内预测候选数据的评估来确定最终的帧内预测数据。
12.如权利要求11所述的方法,还包括:
处理来自所述画面数据的所述块的像素数据,以确定对应于所述块的所述多个像素的边缘强度数据和边缘角范围数据,并且还配置为基于所述边缘强度数据和所述边缘角范围数据生成帧内预测候选数据。
13.如权利要求12所述的方法,其中,第一子集是基于具有多个可能的边缘角范围值当中共同的一个边缘角范围值的每个像素的边缘强度数据的累积来选择的。
14.如权利要求12或13所述的方法,其中,第二子集是基于具有多个可能的边缘角范围值当中共同的一个边缘角范围值的每个像素的边缘强度数据的累积来选择的。
15.如权利要求11至14中任一项所述的方法,包括以下中的一者或两者:
生成第四子集包括评估具有与第二子集相邻的方向的模式;和/或
最终帧内预测数据在筛选出的帧内预测数据指示单个候选时被绕过。
CN201510028862.XA 2014-01-21 2015-01-21 具有帧内预测预处理的视频编码器及与其一起使用的方法 Active CN104796725B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/159,829 US9294765B2 (en) 2014-01-07 2014-01-21 Video encoder with intra-prediction pre-processing and methods for use therewith
US14/159,829 2014-01-21

Publications (2)

Publication Number Publication Date
CN104796725A true CN104796725A (zh) 2015-07-22
CN104796725B CN104796725B (zh) 2019-10-01

Family

ID=53673690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510028862.XA Active CN104796725B (zh) 2014-01-21 2015-01-21 具有帧内预测预处理的视频编码器及与其一起使用的方法

Country Status (1)

Country Link
CN (1) CN104796725B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111567045A (zh) * 2017-10-10 2020-08-21 韩国电子通信研究院 使用帧间预测信息的方法和装置
CN111866504A (zh) * 2020-07-17 2020-10-30 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102948151A (zh) * 2010-06-17 2013-02-27 夏普株式会社 图像滤波装置、解码装置、编码装置及数据结构
US20140010293A1 (en) * 2012-07-06 2014-01-09 Texas Instruments Incorporated Method and system for video picture intra-prediction estimation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102948151A (zh) * 2010-06-17 2013-02-27 夏普株式会社 图像滤波装置、解码装置、编码装置及数据结构
US20140010293A1 (en) * 2012-07-06 2014-01-09 Texas Instruments Incorporated Method and system for video picture intra-prediction estimation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MATHIAS WIEN: ""Variable Block-Size Transforms for Hybrid Video Coding"", 《VON DER FAKULTAT FUR ELEKTROTECHNIK UND INFORMATIONSTECHNIK DER RHEINISCH-WESTFALISCHEN TECHNISCHEN HOCHSCHULE AACHEN》 *
SHUNQING YAN 等: ""Group-Based Fast Mode Decision Algorithm for Intra Prediction in HEVC"", 《2012 EIGHTH INTERNATIONAL CONFERENCE ON SIGNAL IMAGE TECHNOLOGY AND INTERNET BASED SYSTEMS》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111567045A (zh) * 2017-10-10 2020-08-21 韩国电子通信研究院 使用帧间预测信息的方法和装置
CN111866504A (zh) * 2020-07-17 2020-10-30 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质
CN111866504B (zh) * 2020-07-17 2022-06-21 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质

Also Published As

Publication number Publication date
CN104796725B (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US9053544B2 (en) Methods and apparatuses for encoding/decoding high resolution images
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
CN104320664B (zh) 图像处理设备和方法
US9294765B2 (en) Video encoder with intra-prediction pre-processing and methods for use therewith
US9591313B2 (en) Video encoder with transform size preprocessing and methods for use therewith
RU2761511C2 (ru) Окно ограниченного доступа к памяти для уточнения вектора движения
WO2010001917A1 (ja) 画像処理装置および方法
CN102415098B (zh) 图像处理设备和方法
JP2007053561A (ja) 画像符号化装置および画像符号化方法
WO2011064673A1 (en) Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames
US20110243227A1 (en) Moving picture decoding method and device, and moving picture encoding method and device
US20120219054A1 (en) Multi-pass video encoder and methods for use therewith
EP2645721A2 (en) Method and device to identify motion vector candidates using a scaled motion search
JP2023139206A (ja) 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置
CN102572424A (zh) 图像处理设备、方法和程序
US8355440B2 (en) Motion search module with horizontal compression preprocessing and methods for use therewith
US20140233645A1 (en) Moving image encoding apparatus, method of controlling the same, and program
CN104754342B (zh) 带有块合并的视频编码器以及与其一起使用的方法
US8767830B2 (en) Neighbor management module for use in video encoding and methods for use therewith
US8437396B2 (en) Motion search module with field and frame processing and methods for use therewith
US9654775B2 (en) Video encoder with weighted prediction and methods for use therewith
CN102396231A (zh) 图像处理设备及方法
KR100987921B1 (ko) 선택적 움직임 검색영역을 이용한 움직임 보상기법이 적용되는 동영상 압축부호화장치및 복호화 장치와 움직임 보상을 위한 선택적 움직임 검색영역 결정방법.
US20150208082A1 (en) Video encoder with reference picture prediction and methods for use therewith
US20120141041A1 (en) Image filtering method using pseudo-random number filter and apparatus thereof

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