CN101305610A - 对视频编码进行编码模式判定的***和方法 - Google Patents

对视频编码进行编码模式判定的***和方法 Download PDF

Info

Publication number
CN101305610A
CN101305610A CNA2006800391935A CN200680039193A CN101305610A CN 101305610 A CN101305610 A CN 101305610A CN A2006800391935 A CNA2006800391935 A CN A2006800391935A CN 200680039193 A CN200680039193 A CN 200680039193A CN 101305610 A CN101305610 A CN 101305610A
Authority
CN
China
Prior art keywords
value
frame
circuit
video
intersad
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
CNA2006800391935A
Other languages
English (en)
Other versions
CN101305610B (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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor 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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN101305610A publication Critical patent/CN101305610A/zh
Application granted granted Critical
Publication of CN101305610B publication Critical patent/CN101305610B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/136Incoming video signal characteristics or properties
    • 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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria

Landscapes

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

Abstract

一种对当前视频帧(501)的当前宏块进行编码模式判定的方法,该方法包括:确定INTERSAD值,选择至少一个与当前视频帧相关联的视频特性,将INTERSAD值与每一个选择的视频特性的相应范围进行对比,如果INTERSAD值在每一个选择的视频特性的相应范围内则选择帧间编码,如果INTERSAD值是任何一个选择的视频特性的异常值执行帧内预测(505)以提供帧内预测宏块并确定INTRASAD值,如果INTERSAD值大于INTRASAD值则选择帧内编码,否则选择帧间编码。这些视频特性可以基于帧间差之和的平均值、在当前宏块的每一个像素值与当前宏块的平均像素值之间的绝对差之和以及量化参数的任何组合。

Description

对视频编码进行编码模式判定的***和方法
技术领域
本发明一般涉及视频编码,并且更具体地,涉及一种为视频帧的宏块选择编码方法的***和方法。
背景技术
高级视频编码(AVC)标准包括高级压缩技术,该高级视频编码(AVC)标准为MPEG 4(运动图像专家组)的部分10,另外已知为H.264,其中开发该高级压缩技术以能够以较低的比特率传输视频信号或利用较少的存储空间来存储视频信号。为了以较低的比特率支持较高质量的流式视频以及能够进行基于因特网的视频和无线应用等,较新的标准胜过之前的标准的视频压缩技术。该标准没有定义CODEC(编码器/解码器对),而是定义了编码后的视频比特流的语法连同对比特流进行解码的方法。每一个视频帧在宏块(MB)级上被细分并进行编码,其中每一个MB都是16×16像素块。按“帧内”模式对每一个MB进行编码,其中以当前帧内重建的MB为基础形成预测MB,或者按“帧间”模式对每一个MB进行编码,其中以参考帧的MB为基础形成预测MB。帧内编码模式应用了当前的帧内的空间信息,其中由之前已经进行了编码、解码和重建的当前的帧内的取样来形成预测MB。帧间编码模式运用来自之前和/或将来参考帧的时间信息来估计运动,用以形成预测MB。
诸如根据ISO/ITU的JVT(联合视频组)的JM85的所谓“参考CODEC”包括一种为编码器进行编码模式判定的方法。由于该参考CODEC执行帧间与帧内编码,对每一个编码结果计算比特率和失真,并选择具有优越比特率和失真的编码方法,所以它在计算上强度较大。该参考CODEC编码处理包括为了每一个帧间和帧内编码方法而对剩余块或差异块进行计算强度较大的块变换和量化。该参考CODEC编码处理还要求对每一种方法进行真实比率和失真计算,其中通过重建的MB来确定失真,且该比率是对MB编码所必需的比特率。尽管这潜在的实现了优化结果,但是参考CODEC编码处理消耗了昂贵的资源,而且并不认为它是对于许多应用的可行解决方案。例如,即使在拒绝了帧内编码方法时,也对每一个MB执行在计算上昂贵的帧内预测处理。
编码器的复杂性是使用视频的多媒体应用的瓶颈,尤其是在其中限制了计算和电力资源的无线和移动设备中。这要求简化模式判定和平衡帧间编码和帧内编码判定以节约资源同时提供可接受的编码效率和视觉质量。这要求提供一种适当的模式判定处理,它平衡了编码效率、视频质量和计算性能。还要求有利地采用跳过模式以在特定条件下绕过MB的编码处理,比如说,当MB是较大运动对象的一部分时
附图说明
本发明的益处、特征和优势将根据以下的描述和附图而变得更好理解,其中:
图1是表示根据现有技术的利用参考CODEC执行的示范性编码处理的简化流程图;
图2是表示根据本发明实施例所执行的示范性编码处理的简化流程图;
图3和4是表示图2中流程图的部分的可供选择实施例的流程图;
图5是表示根据本发明实施例所执行的编码器的简化方框图;
图6是表示根据本发明实施例的图5的模式判定电路的示范性实施例的简化方框图。
具体实施方式
提供以下描述来使本领域普通技术人员能够在特定应用范围及其必要条件内实现和使用所提供的本发明。然而,对优选实施例的各种修改对本领域技术人员而言将会是显而易见,而且可以将此处所定义的普遍原理应用到其他实施例中。因此,本发明并不打算受此处所示和所述特定实施例的限制,但将与符合在此公开的原理和新颖特征的最大范围一致。
图1是表示根据现有技术的利用参考CODEC执行的示范性编码处理的简化流程图。在第一个模块101处,对正在被进行编码的当前帧的当前宏块(MB)执行运动估计处理。本领域技术人员知道该运动估计处理,所以不对其进行更详细的描述。例如,从最后或之前的编码的帧中识别参考MB,而且传统的运动估计处理在参考MB与当前MB之间确定至少一个运动矢量(MV)。此外,该运动估计处理的副产品是中值MV,它是当前帧的已经编码的邻近或相邻MB的运动矢量的中值。正如本领域技术人员已知的,相邻宏块通常包括关于当前MB的右上MB、中上MB、左上MB和左边MB。以所示实施例中的运动估计为目的,仅使用“亮度”或光亮信息。可以在整体水平上(例如,下至像素级别)识别该参考MB,或为了更大的精确度可选择在诸如1/2或1/4像素分辨率的亚像素级别上识别该参考MB。对于亚像素分辨率,根据周围的像素信息对MB的像素进行内插。在下一个模块103处,对参考MB执行运动补偿处理,并确定运动补偿后的预测MB。以所示实施例中的运动补偿为目的,包括当前MB的色度信息。由于在运动估计处理过程中,如果需要则已经执行了内插,所以在运动补偿过程中,将内插(interpolation)应用到色度信息,用以提供运动补偿后的预测MB。
在下一个模块105处,从当前MB中减去运动补偿后的MB,用以提供作为结果的剩余MB,由于利用来自于另一个帧的信息来确定剩余MB,所以将其称为帧间剩余MB。在下一个模块107处,对帧间剩余MB例如利用离散余弦变换(DCT)或其他任何适当的变换函数来执行块变换。在下一个模块109处,对变换后的结果执行量化处理以提供量化的变换系数。量化处理是一种会导致一些精确度损失的数字舍入(rounding)处理。然后可以对量化后的变换系数进行熵编码来形成压缩后的比特流,用以进行存储或传输。
在下一个模块111处,对量化后的变换系数执行反量化和逆变换函数以获得失真的或“估计的”帧间剩余MB,然后在下一个模块133处将它添加到运动补偿后的预测MB以提供帧间重建的MB。在下一个模块115处,将帧间重建的MB与当前的MB进行比较来分别为帧间编码处理计算比率(R)和失真(D)值RINTER和DINTER
在下一个模块117处执行帧内预测处理来提供帧内预测MB。该帧内预测MB类似于用于帧内编码处理的运动补偿后的预测MB,除了以当前帧内重建的MB为基础之外。在下一个模块119处,从当前MB中减去帧内预测MB来提供帧内剩余MB,然后分别在模块121和123处执行块变换和量化处理。然后可以对量化后的变换系数进行熵编码来形成压缩后的比特流,用以进行存储或传输。在下一个模块125处,对量化后的变换系数执行反量化和逆变换函数以获得估计的帧内剩余MB,然后在下一个模块127处将它添加到帧内预测MB以提供帧内重建的MB。在下一个模块129处,将帧内重建的MB与当前MB进行比较来分别为帧内编码处理计算比率和失真值RINTRA和DINTRA。在下一个模块131处,比较用于帧间编码的RINTER和DINTER值与用于帧内编码的RINTRA和DINTRA值,而且仅选择其中一种编码方法来对当前MB进行编码。在下一个模块133处,询问是否存在多个要编码的宏块。如果要对多个MB进行编码,操作就返回到模块101,其中下一个MB变成当前MB,并重复该处理。如果完成当前帧,则当前帧就变成在之前帧,而下一个帧如果存在就变成要编码的当前的帧。然后对重建的帧进行滤波(例如,去块滤波器(deblocking filter)),然后以帧间编码为目的而将其存储在参考帧数据库内。
如上所述,由于参考CODEC的编码处理执行帧间和帧内编码,计算每一个编码的比特率和失真,并选择提供了优越比特率和失真结果的编码方法的结果,所以它在计算上强度较大。该参考编码处理要求真实比率和失真计算,其中根据重建的MB来确定失真,且该比率是对MB编码所需要的比特率。尽管这可以获得全面的优化结果,但是根据参考CODEC的执行消耗了昂贵的资源,而且并不认为是用于许多应用的可行方案。例如,即使在丢弃结果的情况下没有选择时,也对每一个MB执行在计算上昂贵的帧内预测处理。可以通过包括其中可由相同的函数模块与来自各个编码方法的不同数据来执行多个函数的环路等,来优化参考CODEC的软件或代码执行过程这些不同数据例如帧间剩余MB和帧内剩余MB。
图2是表示根据本发明实施例所执行的示范性编码处理的简化流程图。在第一个模块201处执行运动估计处理,其中确定参考MB、至少一个运动矢量和中值MB。如上所述,如果要求亚像素精确度,则参考MB可以从内插的信息得到。而且,以当前MB和参考MB为基础来计算帧间绝对差值之和(或“INTERSAD”值)。为了确定INTERSAD值,从当前MB的相应像素中减去参考MB的每一个像素值来确定差值,由该差值来确定绝对值,而且所有差值之和相加到一起。照这样,INTERSAD值表示在参考MB与当前MB之间的差异。
操作进行到下一个模块203,在其中询问是否可以跳过当前MB而无需进行编码,比如说,在当前MB形成较大移动对象的一部分时。H.264提供了这样一种跳过模式来高效地进行编码,用以处理全局运动(global motion)。如果确定当前MB为16×16运动模式,如果INTERSAD与量化值相比较小,如果MB等于中值MV,且如果仅一个参考帧(1)用于帧间编码(而且它是以跳过为目的的之前帧),就可以在稍后的编码处理中跳过对当前MB的编码。如果只有最后一个帧是以编码为目的的参考帧,则标记1RF为真。H.264标准支持从16×16(其中为整个MB提供单个MV)下至4×4的亮度取样的范围内的不同运动补偿块尺寸,在该范围内包括多种选择(包括16×8、8×16,以及各种8×8的风味(flavor),包括8×4、4×8和4×4)。将INTERSAD值与F3*QP值进行对比,其中QP是由比率控制器提供的量化参数,在对MB或帧进行编码之后,比率控制器估计比特流内所要求的比特数量。F3是预定的常量或变量,其有效地归一化INTERSAD值和QP用于进行对比,而且星号“*”表示乘法。在实施例中,F3是等于32的常量。来自比率控制器的QP的增加表示例如当与利用有限带宽的复杂场景“斗争”时的编码器的重压。
如果模块203内所列出的其中任何一个条件不为真,则操作进行到模块205,在其中计算或另外确定两个不同的绝对差(SAD)值之和,包括MEANSAD值和SADM值。利用各种不同方法中的任何一种来确定MEANSAD值。在一个实施例中,MEANSAD是整个之前帧的INTERSAD值的平均值。由于在对每一个MB进行的运动估计过程中确定了INTERSAD值,所以在完成对该帧的编码之后,将所有MB的INTERSAD值一同求平均,而且该结果是该帧的MEANSAD值。可供选择地,在编码过程中保持运行平均值(running average)(例如,利用每一个新的MB进行调整),最终平均后的INTERSAD值是该帧的MEANSAD。在一个可供选择的实施例中,MEANSAD仅仅是之前编码后的帧的相邻的MB的平均INTERSAD。因此,不是对整个之前帧的INTERSAD求平均,而是仅使用之前帧的相邻MB的平均INTERSAD。由于已经完成对之前帧的编码,所以相邻块可以包括全部8个相邻的MB(即,左上、中上、右上、左边、右边、左下、中下、右下),或其任何的选择的子集。在另一个可供选择的实施例中,MEANSAD是当前帧的INTERSAD的运行平均值。如上所述,保持INTERSAD的运行平均值,并利用每一个新的INTERSAD来更新该运行平均值,其中当前帧的运行平均值用作MEANSAD。在又一个可供选择的实施例中,MEANSAD是当前帧的相邻MB的INTERSAD的平均值。
SADM值是当前MB的所有16×16像素的SAD值,它与当前MB的平均像素值有关。SADM值是MB方差的近似值,并表示当前MB的相对均匀性。较大的SADM值表示不均匀的MB,它最有可能位于区域边界上。如果SADM相对较大,就认为帧间编码更有可能导致更好的视觉质量,这是因为在帧内模式中存在较小的空间相关性。
然后操作进行到模块207,在其中将T值设置成等于第一函数F1乘MEANSAD、第二函数F2乘SADM、以及第三函数F3乘QP的最小值。函数F1-F3是预定的常量或变量,其有效地归一化并转换MEANSAD、SADM和QP值以与IMTERSAD值进行对比。在实施例中,如上所述,F1是等于1.5的常量,F2是等于1.0的常量,且F3是等于32的常量。分别表示时间、空间和比特率的MEANSAD、SADM和QP值通常是选定的用于确定相对INTERSAD值的视频特性。正如以下还要描述的,以比较为目的而选择其中任何一个或多个视频特性。以其中任何一个视频特性为基础的编码模式判定导致相对于无模式判决确定的改进。相对于忽略任何视频特性,对全部三个视频特性进行对比提供了最佳的总体编码模式判定。
在下一个模块209处,询问INTERSAD是否小于或等于T,T为上述模块207中所列出的三个不同视频特性中的最小值。函数F1、F2和F3为相应的视频特性确定了阈值或“范围”。如果在高斯模型中映射该INTERSAD的分布,就将阈值设置成能够确定并提取该帧内较大的INTERSAD值。一般来说,来自于运动估计处理的相对较大的INTERSAD值表示,ME处理会由于连续帧内的场景变化或非平移运动而失败。有效地将INTERSAD定义为统计意义上的运动“异常(outlier)”。当前MB的INTERSAD值应当在宏块INTERSAD值的平均值的预定偏差内,用以指示平滑或相对均匀的运动模式(例如,相对于之前帧的平均值来检验当前的INTERSAD值,或相对于之前帧内相邻MB的平均值或当前帧内MB的运行平均值等来检验当前的INTERSAD值)。从帧到帧(或在帧内)的INTERSAD值的平均值表示在场景内无明显变化时的平滑和相对均匀的运动模式。在INTERSAD相对于SADM之间的较大差异指示不均匀的MB,它有可能位于该帧内的区域的边界上,因此在该MB及其相邻MB内较少存在空间相关性。在此情况下,判定认为:运用了时间相关性的帧间编码模式更有可能获得当前MB的优越视觉质量。来自比率控制器的QP的增加指示编码器例如当与具有有限带宽的复杂场景进行“斗争”时的重压。在此情况下,认为帧内编码模式导致了较高的比特率,并因此导致情况更坏。
如果如在模块209处所判断的,INTERSAD大于T,操作就进行到模块211,在其中执行帧内预测处理来以之前已经被编码的当前帧内的相邻MB为基础确定帧内预测MB。并且,确定INTERSAD值,其是在当前MB与预测MB之间的SAD。然后操作进行到模块213,在其中将INTERSAD与INTRASAD进行对比。在模块213处执行的比较表示在帧间和帧内编码之间的相对编码“成本”。如果INTERSAD大于INTRASAD,就选择帧内预测模式,以致选择帧内预测MB作为预测MB。操作从模块215进行到下述的模块219。如果在模块203中所有的条件都为真,或者如果在模块209处确定INTERSAD小于或等于T,或者如果在模块213处确定INTERSAD小于或等于INTRASAD,操作则进行到模块217,在其中对参考MB执行运动补偿以提供运动补偿(MC)后的预测MB。
当在模块215中选择帧内预测MB作为预测MB之后,或当在模块217中选择MC预测MB作为预测MB之后,操作进行到模块219,在其中以选择的预测MB为基础来计算剩余MB。注意,对于剩余MB不必区分帧间和帧内,这是因为仅选择一个剩余MB作为预测MB,并从当前MB中减去选择的预测MB来确定剩余MB。然后操作进行到模块221,在其中如上所述地对剩余MB执行块变换。然后操作进行到模块223,在其中执行对来自模块221的变换结果的量化以提供量化的变换系数。然后,操作进行到模块225来提供反量化和逆变换,用以提供估计的剩余MB。然后,操作进行到模块227,在其中将估计的剩余MB添加到选择的预测MB以提供重建的MB。如上所述,通过去块滤波器对重建的帧进行滤波,并将其存储在参考帧数据库内。另外,如下所述,未滤波的重建的MB形成该重建的帧的一部分,其用于帧内预测处理。
图3是表示替换在虚线所示的模块203、211和217之间的图2中模块205、207和209的可供选择实施例的流程图。理解到,图2所示的模块描述了通用的功能方面,而且可以按照许多可供选择的方式来获得用于执行这些功能的实际实现。图3的流程图执行了相同的功能,但允许提高用于软件编码和/或电路实现的计算性能。如图3所示,比如说,在模块203之后,操作可以代之以进行到模块301,在其中询问INTERSAD值是否大于F3*QP。如果是,就不必进一步确定SADM或MEANSAD,操作直接进行到模块211。在该情况下,QP值是可从比率控制器容易获得的,因此它是最简单的检验条件。如果INTERSAD值不大于F3*QP,操作就进行到模块303,在其中确定MEANSAD值,然后操作进行到模块305,在其中询问INTERSAD值是否大于F1*MEANSAD。在此情况下,认为计算MEANSAD要比计算SADM更容易,以致于只有在需要时才确定SADM。如果INTERSAD值大于F1*MEANSAD,如前所述,操作就直接进行到模块211,并跳过对于SADM的计算。如果INTERSAD值不大于F1*MEANSAD,则操作代之以进行到模块307,在其中确定SADM值,然后操作进行到模块309,在其中询问INTERSAD值是否大于F2*SADM。如果INTERSAD值大于F2*SADM,操作就直接进行到模块211,如果不是,操作就进行到模块217。图3所示视频特性比较的特殊顺序只是示意性的,而且如果能获得更好的结果可以改变。比如说,如果确定计算SADM要比计算MEANSAD更容易,所以可以在MEANSAD比较之前执行SADM值和比较。
图4是表示替换在再次以虚线示出的模块203、211和217之间的图2的模块205、207和209的另一个可供选择实施例的流程图,且示出对视频特性和优先权的选择。在此情况下,操作从模块203进行到模块401,其中首先确定MEANSAD值,然后操作进行到模块403以判断INTERSAD值是否小于或等于F1*MEANSAD。在此情况下,认为MEANSAD确定和与INTERSAD值的比较具有超出与QP和SADM进行比较的优先权,以致于首先确定MEANSAD。如果INTERSAD值小于或等于F1*MEANSAD,操作就直接进行到模块217,并选择帧间编码,且绕过对于QP、SADM和INTRASAD的另外比较。如果INTERSAD值大于F1*MEANSAD,操作就代之以进行到模块405,在其中询问INTERSAD是否小于或等于F3*QP,在该实例中认为它是次最高优先权的判断。如果INTERSAD值小于或等于F3*QP,操作就直接进行到模块217,并选择帧间编码,且绕过对于SADM和INTRASAD的另外比较。如果INTERSAD值大于F3*QP,操作则代之以进行到模块407,在其中计算SADM,然后操作进行到模块409,在其中询问INTERSAD值是否小于或等于F2*SADM,在该实例中认为它是最低优先级的判断。如果INTERSAD值小于或等于F2*SADM,操作就进行到模块217,或者反之则操作直接进行到模块211。在该实例中,改变模块205、207和209的功能以区分这些对比的优先权。
可能且预期进行许多其他的变化。比如说,返回参考图2的模块207,可以用MAX函数来代替MIN功能,以致于只要INTERSAD值小于或等于F1*MEANSAD、F2*SADM或F3*QP中的任何一个,就选择帧间编码方法。图4包括用点线表示的几种可供选择的路径来表示功能的多种变化。比如说,如果要求只选择MEANSAD值来进行对比,可供选择的路径411表示如果INTERSAD值大于F1*MEANSAD,则操作直接进行到模块211。或者说,如果要求只选择QP值来进行对比,可供选择的路径413就绕过MEANSAD对比并直接从模块203进行到模块405。另外,提供可供选择的路径415来绕过SADM对比,以致于操作代之以直接进行到模块211。或者说,如果要求只选择SADM值来进行对比,可供选择的路径417就绕过MEANSAD和QP比较而直接从模块203进行到模块407。理解到,可以根据特定配置按照任何适当的顺序来区分这些对比的优先权,而且可以选择或跳过其中任何一个或多个视频特性对比。选择全部的三个视频特性来进行对比提供了在比特率和失真方面的最佳结果。
图5是表示根据本发明实施例所执行的编码器500的简化方框图。帧存储器501提供了用于编码的当前帧F给运动估计(ME)电路503的一个输入端、帧内预测电路505的一个输入端、组合器507(例如,加法器或减法器等)的正输入端、运动补偿(MC)电路511的一个输入端、模式判定电路513的输入端。另一个帧存储器509向ME电路503的另一个输入端以及MC电路511的另一个输入端提供参考帧(REF F)。该参考帧包括一个或多个之前编码和解码的帧。ME电路503在其输出端提供运动估计信息,该输出端连接到MC电路511的另一个输入端和模式判定电路513的另一个输入端。模式判定电路513具有:一个输出端,其向帧内预测电路505的使能输入端提供帧内使能信号INTRAE;还具有另一个输出端,其向MC电路511的使能输入端提供运动补偿使能信号MCE。MC电路511向选择器开关515的第一输入端S1提供运动补偿后的预测信息(例如,帧间预测MB)MC,如图所示选择器开关515是单刀双掷(SPDT),具有输入端S1和S2、控制输入端C和共有端口CP,该共有端口CP提供选择的输入作为其输出。帧内预测电路505向模式判定电路513的输入端和开关515的输入端S2提供帧内预测信息(例如,帧内预测MB)IP。模式判定电路513向开关515的控制端C提供选择信号MSEL以在MC(运动补偿帧间MB)或IP(帧内预测MB)之间进行选择。
开关515的CP端向组合器507的负输入端和另一个组合器517的正输入端提供选择的预测MB,如符号P所示,在所示实施例中,组合器517为加法器。组合器507从当前帧F的当前MB中减去选择的预测MB P,用以向变换电路519的输入端提供剩余MB,如符号R所示。变换电路519执行块变换,例如上述的DCT,并输出变换结果,如符号B所示。向量化电路521提供该变换结果B,量化电路521输出量化后的变换系数,如符号X所示。向熵编码电路525的输入端提供该X系数,该熵编码电路525提供压缩后的比特流来进行传输或存储。熵编码的具体细节超出了目前公开内容的范围,将不对其进行进一步的描述。
向反量化电路527的输入端提供X系数,该反量化电路527输出估计的变换后的信息,如符号B’所示,它表示变换结果B的估计或重建后的版本。向逆变换电路529的输入端提供该估计的变换后的信息B’,该逆变换电路529输出估计的剩余信息,如符号R’所示,它表示剩余MB R的重建后的版本。向组合器517的另一个正输入端提供该重建后的剩余MB R’。在所示实施例中,组合器517向R’添加P以生成未滤波的重建的MB,它变成重建后的帧信息RF的一部分。向帧内预测电路505的另一个输入端和滤波电路531提供该重建后的帧信息RF。滤波电路531是一种去块滤波器(例如,每个H.264规范),它对重建后的帧RF信息进行滤波,并向RF存储器533提供滤波后的重建的帧。向帧存储器509提供一个或两个来自于RF存储器533且之前编码和解码的帧,用以充当参考帧,如本领域技术人员公知以供编码所用。
由图2的流程图来描述编码器500的操作(根据需要利用图3或4的流程图进行修改)。开始,MCE和INTRAE使能信号为假或否定低电平,直至进行模式判定。该MSEL可以默认为二中选一位置(选择端口S1或S2)或者可能位于中间位置(未显示)直至进行模式判定。运动估计电路503如针对模块201所述执行运动估计,并向模式判定电路513和MC电路511提供运动估计的结果。如针对模块203所述,模式判定电路513判断用于模块跳过的条件成立还是用于早期退出的条件成立。如果是,模式判定电路513就肯定(assert)该MCE信号,并且MC电路511被激活以执行上面针对模块217所述的运动补偿功能。另外,肯定该MSEL信号来选择MC电路511的MC输出端。在该情况下,选择帧间编码模式,并完全跳过帧内编码处理。如果模块203中任何一种条件不为真,则如上所述,模式判定电路513就执行模块205、207和209(或301、303、305、307和309、或401、403、405、407和409)的功能,以选择、确定和比较所选择的视频特性(例如,MEANSAD、SADM、QP)。如果选择帧间编码,则模式判定电路513就肯定MCE信号来激活MC电路511,使其执行上面针对模块217描述的运动补偿功能,并确定肯定MSEL信号来选择该MC电路511的MC输出端。在此情况下,完全跳过帧内编码处理。
否则,如果INTERSAD不在选择的视频特性的异常值内,则如上所述地,模式判定电路513肯定INTRAE信号,并且帧内预测电路505被激活以执行帧内预测和确定INTRASAD。向模式判定电路513提供INTRASAD值,如针对模块213所述,该模式判定电路513将INTERSAD(来自于运动估计电路503)和来自帧内预测电路505的INTRASAD进行对比。如果INTERSAD值小于或等于INTRASAD,则模式判定电路513肯定该MCE信号来激活MC电路511,并肯定MSEL信号来选择该MC电路511的MC输出端。尽管在稍后的情况中初始化该帧内预测处理的初始部分,对结果不进行编码,且跳过剩余的的帧内编码模式处理。然而,如果INTERSAD值大于INTRASAD,则模式判定电路513就肯定MSEL信号来选择帧内预测电路505的IP输出。如果选择帧内编码方法,就不激活运动补偿电路511(或拒绝其输出),以致于绕过或忽略另外的运动补偿处理。如针对模块219所述,从当前的帧F的当前MB中减去选择的预测MBP,这导致生成剩余MBR。电路519、521、527和529执行模块221、223和225的功能,并利用组合器517向预测块P添加估计的剩余MBR’,并如上所述地向帧内预测电路505和滤波器531提供结果生成的重建后且未滤波的帧信息RF。理解到,在实际编码处理之前,编码器500的模式判定电路513在帧内编码和帧间编码之间进行初步(preliminary)模式判定,以致于为每一个当前的MB仅对一个预测MB进行编码。
图6是表示根据本发明实施例的模式判定电路513的示范性实施例的简化方框图。向求平均值电路601提供每一个MB的每一个INTERSAD值,求平均值电路601对该选择的INTERSAD值求平均以提供MEANSAD值。如前所述,可以根据之前帧或当前帧对所选择的INTERSAD值求平均,来确定MEANSAD值。向计算电路603提供来自于当前帧F的当前MB,其中计算电路603利用当前MB的每个像素值的平均值,来计算当前MB的每一个像素值的绝对差之和,用以确定SADM值,如之前所述。向范围电路605提供MEANAD、SADM和QP值,该范围电路605将MEANSAD乘以F1,将SADM乘以F2并将QP乘以F3。向模式选择电路607的相应输入端提供F1*MEANSAD、F2*SADM和F3*QP值,该模式选择电路607还接收INTERSAD值和选择信号VIDEO CHAR SEL。如上所述,该VIDEOCHAR SEL信号激活一个或多个视频特性对比,同时还可选地表示优先权。模式选择电路607提供MSEL、MCE和INTRAE信号。
跳过电路609接收运动模式(MOTION MODE)信号、运动矢量MV、中值MV、1RF标记、F3*QP值和当前的INTERSAD值,并如上所述地执行模块203的功能。跳过电路609向模式选择电路607提供SKIP信号。如果肯定该SKIP信号,模式选择信号就肯定该MCE信号来激活运动补偿,并肯定MSEL信号来选择帧间编码方法。否则,模式选择电路607就执行视频特性对比(例如,模块207,或301、305、309,或403、405、409),并判断是否选择帧间编码方法。如果INTERSAD是选择的视频特性的异常值,则模式选择电路607就肯定INTRAE信号来激活帧内预测电路505以执行帧内预测处理。还提供INTRAE信号来激活比较器电路611,比较器电路611对INTERSAD值与来自于帧内预测电路505的INTRASAD值进行对比。该比较器电路611向模式选择电路607返回提供信号COST,该模式选择电路607肯定MSEL信号来如上所述地选择适当的编码模式。
根据本发明实施例所述的模式判定的多种益处和优势相对于参考CODEC编码处理是显而易见的。在两种判定处理中的运动估计处理基本相同。如果当前MB是如在模块203处所确定的用于跳过的侯选者,或者INTERSAD正如在模块209中所判断的那样足够小,就完全跳过帧内编码处理的步骤,同时减少大量处理,选择帧间编码,该操作直接进行到模块217的运动补偿处理。如果INTERSAD并非如模块209中所判定的那样小,就执行帧内预测来确定INTRASAD值,然后将它与INTERSAD值进行对比。因此,只有在变为较可能选择帧内编码方法时,才执行在计算上相对昂贵的帧内预测处理。然而,如果以该对比为基础选择了帧间编码方法,操作就直接进行到运动补偿。否则,如果选择了帧内编码方法,就完全绕过运动补偿处理,同时再次保留处理循环,并选择帧间预测MB来进行编码。通过剩余确定、块变换、量化、逆变换和反量化处理仅对选择的预测MB P进行进一步的处理。换言之,与其对两个单独的数据集执行剩余的和编码处理,并在对于两者的处理之后进行编码判定,还不如在编码处理之前就预先确定该模式判定。另外,由于在编码之前做出该编码判定,所以为了模式判定的目的不再需要进一步处理结果生成的估计的剩余MB(例如,不再需要确定比率和失真值)。在示范性的H.264编码器中执行初步的模式判定,并获得相对于无编码判定的编码器的平均峰值信噪比(PSNR)的提高。
根据本发明实施例实现的编码器充分减少了编码器的复杂性,并显著地减少了在编码处理过程中消耗的编码处理周期,其中该编码器包括在编码处理之前的初步模式判定。该编码器的特殊优势是用于无线和移动设备中,其中限制了计算和电力资源,尽管它可以用在广泛的视频应用中以提高性能。该编码器简化了模式判定,平衡了帧间编码和帧内编码判定以在提供了可接受的编码效率和视觉质量的同时节约资源。该编码器提供了一种适当的模式判定处理,同时平衡了编码效率、视频质量和计算性能。该编码器还有利地采用了跳过模式以在某些条件下,诸如当MB是较大运动对象的一部分时,能够绕过MB的编码处理。
根据本发明实施例的对当前视频帧的当前宏块进行编码模式判定的方法包括:确定INTERSAD值(它是在当前宏块与来自于之前视频帧的参考宏块之间的帧间差之和),选择与当前视频帧相关联的至少一个视频特性,将INTERSAD值与每一个选择的视频特性的对应范围进行对比,如果INTERSAD值在每一个选择的视频特性的对应范围内,就选择帧间编码,如果INTERSAD值是任何一个选择的视频特性的异常值,就执行帧内预测以提供帧内预测宏块,并确定INTRASAD值(它是在当前宏块与帧内预测宏块之间的帧内差之和),如果INTERSAD值大于INTRASAD值就选择帧内编码,否则就选择帧间编码。
该方法可以包括对当前宏块与参考宏块的对应像素值之间的绝对差进行求和,用以确定INTERSAD值。该方法还包括选择和确定MEANSAD值(它是帧间差之和的平均值),该MEANSAD值可以基于之前视频帧的宏块或当前视频帧的宏块。该方法还包括选择和确定SADM值(它是在当前宏块的每一个像素值与当前宏块的平均像素值之间的绝对差之和)。该方法可以包括选择量化参数。
在一个更全面的实施例中,该方法包括:选择和确定MEANSAD值,选择和确定SADM值,选择量化参数,将MEANSAD值乘以第一范围值以提供第一参数,将SADM乘以第二范围值以提供第二参数,将量化值乘以第三范围值以提供第三参数,确定第一、第二和第三参数中的最小值,并将INTERSAD值与该最小值进行对比。
该方法还包括:执行运动估计,并确定来自于之前视频帧的参考宏块和至少一个对应的运动矢量。该方法还包括:如果当前宏块只具有一个运动矢量,如果INTERSAD值小于量化参数,如果当前宏块的运动矢量等于当前帧的相邻宏块的中值运动矢量,如果之前视频帧只是参考帧,则选择帧间编码。该方法还包括:执行参考宏块的运动补偿来提供运动补偿后的宏块,如果选择了帧间编码的话,则选择该运动补偿后的宏块作为预测宏块,而如果选择了帧内编码,就选择帧内预测宏块作为预测宏块,并从当前宏块中减去该选择的预测宏块以提供剩余宏块以供变换。
根据本发明实施例的用于对当前视频帧的当前宏块进行编码模式判定的视频编码器电路包括选择器开关、运动估计电路、运动补偿电路、帧内预测电路和模式判定电路。该选择器开关具有第一和第二输入端、输出端和控制输入端,该控制输入端接收模式信号以在第一和第二输入端之间进行选择。运动估计电路在当前宏块与之前视频帧之间执行运动估计以提供INTERSAD值,并在运动估计电路的输出端处提供参考宏块。该运动补偿电路响应于第一信号而对参考宏块执行运动补偿,用以在该运动补偿电路的输出端处提供帧间预测宏块。帧内预测电路响应于第二信号的肯定而执行帧内预测,用以提供帧内预测宏块并在帧内预测电路的输出端处提供INTRASAD值。该模式判定电路选择与当前视频帧相关联的至少一个视频特性,将INTERSAD值与每一个选择的视频特性的对应范围进行对比,如果所述INTERSAD值在每一个选择的视频特性的相应范围内,则肯定第一信号和模式信号以选择帧间编码,如果INTERSAD值是任何一个选择的视频特性的异常值,则肯定第二信号,以及肯定模式信号以在帧内编码和帧间编码进行选择:如果INTERSAD值大于INTRASAD值,则选择帧内编码;如果INTERSAD值小于或等于INTRASAD值,则选择帧间编码。
模式判定电路可以包括第一、第二和第三电路以及第一和第二比较器。第一电路确定MEANSAD值,第二电路确定SADM值,而第三电路将MEANSAD值乘以第一范围值以提供第一视频特性,将SADM值乘以第二范围值以提供第二视频特性,并将量化参数乘以第三范围值以提供第三视频特性。第一比较器电路将INTERSAD值与第一、第二和第三视频特性进行对比,并提供第一、第二和模式信号。第二比较器电路将INTERSAD值与INTRASAD值进行对比。
用于对当前视频帧的当前宏块进行编码模式判定的视频编码器的模式判定电路包括:用于选择与当前视频帧相关联的至少一个视频特性的装置,用于将来自于运动估计的INTERSAD值与每一个选择的视频特性的相应范围进行对比的装置,用于如果INTERSAD值是所述至少一个视频特性中任何一个的异常值则起动帧内预测的装置,用于将INTERSAD值与INTRASAD值进行对比的装置,以及用于如果INTERSAD值在所述每一个选择的视频特性的相应范围内或如果INTERSAD值小于或等于所述INTRASAD值则选择帧间编码的装置,以及如果INTERSAD值大于INTRASAD值则选择帧内编码的装置。该模式判定单元可以进一步包括装置,该装置用于:确定单个运动模式,将运动矢量与中值运动模式矢量进行对比,并确定单个参考帧计数和提供跳过信号,该跳过信号指示可以对当前宏块跳过编码的可能性。
尽管已经显示和描述了本发明的优选实施例,但是本领域技术人员明白可以基于此处的教导,在不脱离本发明的广泛方面的情况下进行进一步的变化和修改,因此所附的权利要求意图将所有的这些变化和修改涵盖在其范围内,这些变化和修改落在本发明的真实精神和范围内。

Claims (20)

1.一种对当前视频帧的当前宏块进行编码模式判定的方法,包括:
确定INTERSAD值,该INTERSAD值包括在所述当前宏块与来自于之前视频帧的参考宏块之间的帧间差之和;
选择与所述当前视频帧相关联的至少一个视频特性;
将所述INTERSAD值与每一个选择的视频特性的相应范围进行对比;
如果所述INTERSAD值在每一个选择的视频特性的相应范围内,则选择帧间编码;
如果所述INTERSAD值是任何选择的视频特性的异常值,则执行帧内预测以提供帧内预测宏块,并确定INTRASAD值,该INTRASAD值包括在所述当前宏块与所述帧内预测宏块之间的帧内差之和;以及
如果所述INTERSAD值大于所述INTRASAD值,则选择帧内编码,否则选择帧间编码。
2.根据权利要求1的所述方法,其中所述确定INTERSAD值包括对所述当前宏块与所述参考宏块的相应像素值之间的绝对差求和。
3.根据权利要求1的所述方法,其中所述选择至少一个视频特性包括选择和确定MEANSAD值,所述MEANSAD值包括帧间差之和的平均值。
4.根据权利要求3的所述方法,其中所述确定MEANSAD值包括确定所述之前视频帧的多个宏块的帧间绝对差之和的平均值。
5.根据权利要求4的所述方法,其中所述确定之前视频帧的多个宏块的帧间绝对差之和的平均值包括:确定所述之前视频帧的全部宏块的帧间绝对差之和的平均值。
6.根据权利要求4的所述方法,其中所述确定之前视频帧的多个宏块的帧间绝对差之和的平均值包括:确定所述之前视频帧的相邻宏块的帧间绝对差之和的平均值。
7.根据权利要求3的所述方法,其中所述确定MEANSAD值包括确定所述当前视频帧的多个宏块的帧间绝对差之和的平均值。
8.根据权利要求1的所述方法,其中所述选择至少一个视频特性包括选择和确定SADM值,所述SADM值包括所述当前宏块的每一个像素值与所述当前宏块的平均像素值之间的绝对差之和。
9.根据权利要求1的所述方法,其中所述选择至少一个视频特性包括选择量化参数。
10.根据权利要求1的所述方法,进一步包括:
所述选择至少一个视频特性包括:选择和确定MEANSAD值,所述MEANSAD值包括帧间差之和的平均值;选择和确定SADM值,所述SADM包括所述当前宏块的每一个像素值与所述当前宏块的平均像素值之间的绝对差之和;以及,选择量化参数;
将所述MEANSAD值乘以第一范围值以提供第一参数;
将所述SADM值乘以第二范围值以提供第二参数;
将所述量化值乘以第三范围值以提供第三参数;
确定所述第一、第二和第三参数中的最小值;以及
所述比较所述INTERSAD值包括将所述INTERSAD值与所述最小值进行对比。
11.根据权利要求1的所述方法,在所述选择至少一个视频特性之前,进一步包括:执行运动估计,并确定来自于所述之前视频帧的参考宏块和至少一个相应的运动矢量。
12.根据权利要求11的所述方法,在所述选择至少一个视频特性之前,进一步包括:如果所述当前宏块只具有一个运动矢量,如果所述INTERSAD值小于量化参数,如果所述当前宏块的运动矢量等于所述当前帧的相邻宏块的中值运动矢量,且如果所述之前视频帧是唯一的参考帧,则选择帧间编码。
13.根据权利要求1的所述方法,进一步包括:
如果选择帧间编码,则执行所述参考宏块的运动补偿以提供运动补偿后的宏块,并选择所述运动补偿后的宏块作为预测宏块;以及
如果选择帧内编码,则选择所述帧内预测宏块作为所述预测宏块;以及
从所述当前宏块减去所述选择的预测宏块以提供剩余宏块以供变换。
14.一种对当前视频帧的当前宏块进行编码模式判定的视频编码器电路,包括:
选择器开关,具有第一和第二输入端、输出端和控制输入端,所述控制输入端接收模式信号以在所述第一和第二输入端之间进行选择;
运动估计电路,具有用于接收所述当前帧和至少一个之前帧的输入端和输出端,其中,所述运动估计电路在所述当前宏块与之前视频帧之间执行运动估计,以在所述运动估计电路的所述输出端处提供INTERSAD值并且提供参考宏块,其中所述INTERSAD值包括所述当前宏块与来自于所述之前视频帧的所述参考宏块之间的帧间差之和;
运动补偿电路,具有连接到所述运动估计电路的所述输出端的输入端以及连接到所述开关的所述第一输入端的输出端,其中,所述运动补偿电路响应于第一信号而对所述参考宏块执行运动补偿,以在所述运动补偿电路的所述输出端处提供帧间预测宏块;
帧内预测电路,具有用于接收所述当前帧的输入端以及连接到所述开关的所述第二输入端的输出端,其中,所述帧内预测电路响应于对第二信号的肯定而执行帧内预测,以在所述帧内预测电路的所述输出端处提供帧内预测宏块并且提供INTRASAD值,其中所述INTRASAD值包括所述当前宏块与所述帧内预测宏块之间的帧内差之和;以及
模式判定电路,具有用于提供所述第一信号的第一输出端、用于提供所述第二信号的第二输出端和用于提供所述模式选择信号的第三输出端,其中,所述模式判定电路选择与所述当前视频帧相关联的至少一个视频特性,将所述INTERSAD值与每一个选择的视频特性的相应范围进行对比,如果所述INTERSAD值在所述每一个选择的视频特性的相应范围内,则肯定所述第一信号和所述模式信号以选择帧间编码;如果所述INTERSAD值是任何选择的视频特性的异常值,则肯定所述第二信号,以及肯定所述模式信号以在帧内编码和帧间编码之间进行选择,如果所述INTERSAD值大于所述INTRASAD值则选择帧内编码,而如果所述INTERSAD值小于或等于所述INTRASAD值则选择帧间编码。
15.根据权利要求14的所述视频编码器电路,进一步包括:
减法器,具有用于接收所述当前视频帧的第一输入端、连接到所述开关的所述输出端的第二输入端以及输出端,其中,所述减法器从所述当前宏块中减去选择的预测宏块以提供剩余宏块;以及
转换电路,具有连接到所述减法器的所述输出端的第一输入端、用于提供编码后的信息的第一输出端以及用于提供重建的宏块的第二输出端。
16.根据权利要求15的所述视频编码器电路,其中所述转换电路包括:
变换电路,具有连接到所述减法器的所述输出端的输入端,并且具有输出端;
量化电路,具有连接到所述变换宏块的所述输出端的输入端,并且具有输出端;
反量化电路,具有连接到所述量化电路的所述输出端的输入端,并且具有输出端;以及
加法器,具有连接到所述反量化电路的所述输出端的第一输入端、连接到所述开关的所述输出端的第二输入端以及用于提供所述重建的宏块的输出端。
17.根据权利要求14的所述视频编码器电路,其中所述模式判定电路包括:
第一电路,该第一电路确定MEANSAD值,所述MEANSAD值包括帧间差之和的平均值;
第二电路,该第二电路确定SADM值,所述SADM值包括所述当前宏块的每一个像素值与所述当前宏块的平均像素值之间的绝对差之和;
第三电路,该第三电路将所述MEANSAD值乘以第一范围值以提供第一视频特性,将所述SADM值乘以第二范围值以提供第二视频特性,并将量化参数乘以第三范围值以提供第三视频特性;
第一比较器电路,该第一比较器电路将所述INTERSAD值与所述第一、第二和第三视频特性进行对比,并提供所述第一、第二和模式信号;以及
第二比较器电路,该第二比较器电路将所述INTERSAD值与所述INTRASAD值进行对比。
18.根据权利要求14的所述视频编码器电路,进一步包括比较器电路,该比较器电路比较运动模式信号、运动矢量、中值运动模式矢量和参考帧计数,并提供跳过信号,所述跳过信号表示可以对所述当前宏块跳过编码的可能性。
19.一种对当前视频帧的当前宏块进行编码模式判定的视频编码器的模式判定单元,包括:
用于选择与所述当前视频帧相关联的至少一个视频特性的装置;
用于将来自于运动估计的INTERSAD值与每一个选择的视频特性的相应范围进行对比的装置;
用于如果所述INTERSAD值是所述至少一个视频特性的任何一个的异常值则起动帧内预测的装置;
用于将所述INTERSAD值与所述INTRASAD值进行对比的装置;以及
用于如果所述INTERSAD值在所述每一个选择的视频特性的相应范围内或如果所述INTERSAD值小于或等于所述INTRASAD值则选择帧间编码的装置,该装置还用于如果所述INTERSAD值大于所述INTRASAD值则选择帧内编码。
20.根据权利要求19的所述模式判定单元,进一步包括装置,该装置用于确定单个运动模式,将运动矢量与中值运动模式矢量进行对比,并且用于确定单个参考帧计数以及用于提供跳过信号,该跳过信号表示可以对所述当前宏块跳过编码的可能性。
CN2006800391935A 2005-10-19 2006-10-11 对视频编码进行编码模式判定的***和方法 Expired - Fee Related CN101305610B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/253,517 US8155189B2 (en) 2005-10-19 2005-10-19 System and method of coding mode decision for video encoding
US11/253,517 2005-10-19
PCT/US2006/040018 WO2007047412A2 (en) 2005-10-19 2006-10-11 System and method of coding mode decision for video encoding

Publications (2)

Publication Number Publication Date
CN101305610A true CN101305610A (zh) 2008-11-12
CN101305610B CN101305610B (zh) 2010-09-08

Family

ID=37948131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800391935A Expired - Fee Related CN101305610B (zh) 2005-10-19 2006-10-11 对视频编码进行编码模式判定的***和方法

Country Status (5)

Country Link
US (1) US8155189B2 (zh)
JP (1) JP5084733B2 (zh)
KR (1) KR101299421B1 (zh)
CN (1) CN101305610B (zh)
WO (1) WO2007047412A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102256126A (zh) * 2011-07-14 2011-11-23 北京工业大学 混合图像的编码方法
CN101815215B (zh) * 2009-06-29 2012-10-10 香港应用科技研究院有限公司 编码模式选择的方法和装置
CN103402086A (zh) * 2013-07-22 2013-11-20 华为技术有限公司 一种用于视频编码***的性能控制方法及编码器
CN106470341A (zh) * 2015-08-17 2017-03-01 飞思卡尔半导体公司 媒体显示***
CN107409217A (zh) * 2015-03-06 2017-11-28 高通股份有限公司 用于视频编码的自适应模式检查次序
CN107592532A (zh) * 2011-05-20 2018-01-16 株式会社Kt 视频解码方法
CN110381311A (zh) * 2019-07-01 2019-10-25 腾讯科技(深圳)有限公司 视频帧的编码方法、装置、计算机可读介质及电子设备

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4534935B2 (ja) * 2005-10-04 2010-09-01 株式会社日立製作所 トランスコーダ、記録装置及びトランスコード方法
US8306118B1 (en) * 2006-03-01 2012-11-06 Maxim Integrated, Inc. High quality low bitrate video coding by enabling and disabling a non-residual mode
US8311120B2 (en) * 2006-12-22 2012-11-13 Qualcomm Incorporated Coding mode selection using information of other coding modes
JP4799477B2 (ja) * 2007-05-08 2011-10-26 キヤノン株式会社 画像符号化装置及び画像符号化方法
JP4823150B2 (ja) * 2007-05-31 2011-11-24 キヤノン株式会社 符号化装置並びに符号化方法
US8155151B2 (en) * 2008-01-02 2012-04-10 Cisco Technology, Inc. Secure combined interoperable multiplexing
KR100952340B1 (ko) * 2008-01-24 2010-04-09 에스케이 텔레콤주식회사 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치
JP2009182623A (ja) * 2008-01-30 2009-08-13 Panasonic Corp 画像符号化方法
JP4990927B2 (ja) * 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
CN101340581B (zh) * 2008-08-15 2010-06-02 上海富瀚微电子有限公司 一种基于m算法的帧内预测模式选择方法及其实现装置
US8861879B2 (en) * 2009-09-17 2014-10-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
US8705623B2 (en) * 2009-10-02 2014-04-22 Texas Instruments Incorporated Line-based compression for digital image data
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
CN101783951B (zh) * 2010-03-02 2012-01-04 西安交通大学 基于人类视觉***的视频编码帧间预测模式快速确定方法
KR101432771B1 (ko) 2010-03-05 2014-08-26 에스케이텔레콤 주식회사 영상 부호화 장치, 그 영상 부호화 방법, 영상 복호화 장치 및 그 영상 복호화 방법
CN102340659B (zh) * 2010-07-23 2013-09-04 联合信源数字音视频技术(北京)有限公司 一种基于avs的并行的模式决策装置和方法
JP2012175548A (ja) * 2011-02-23 2012-09-10 Hitachi Kokusai Electric Inc 動画像符号化装置及び動画像符号化方法
US8792550B2 (en) 2011-08-04 2014-07-29 Qualcomm Incorporated Color/gray patch prevention for video coding
US9756356B2 (en) * 2013-06-24 2017-09-05 Dialogic Corporation Application-assisted spatio-temporal error concealment for RTP video
EP3324628B1 (en) 2016-11-18 2021-12-29 Axis AB Method and encoder system for encoding video
CN108495130B (zh) * 2017-03-21 2021-04-20 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、终端、服务器和存储介质
CN108810531B (zh) * 2017-05-03 2019-11-19 腾讯科技(深圳)有限公司 视频编码处理方法、装置及电子设备
JP7009821B2 (ja) 2017-08-03 2022-01-26 株式会社ジェイテクト 転がり軸受及び保持器
US10728573B2 (en) * 2017-09-08 2020-07-28 Qualcomm Incorporated Motion compensated boundary pixel padding
US11281312B2 (en) * 2018-01-08 2022-03-22 Immersion Networks, Inc. Methods and apparatuses for producing smooth representations of input motion in time and space
US10924739B2 (en) * 2018-10-31 2021-02-16 Ati Technologies Ulc Efficient quantization parameter prediction method for low latency video coding
CN112118450B (zh) * 2019-06-21 2022-03-29 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
CN112235576B (zh) * 2020-11-16 2024-04-30 北京世纪好未来教育科技有限公司 编码方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493514A (en) * 1993-11-24 1996-02-20 Intel Corporation Process, apparatus, and system for encoding and decoding video signals
US6931063B2 (en) * 2001-03-26 2005-08-16 Sharp Laboratories Of America, Inc. Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding
DE60220047T2 (de) * 2001-05-29 2008-01-10 Koninklijke Philips Electronics N.V. Verfahren und einrichtung zum verbergen von fehlern
US6865227B2 (en) * 2001-07-10 2005-03-08 Sony Corporation Error concealment of video data using motion vector data recovery
FI114433B (fi) * 2002-01-23 2004-10-15 Nokia Corp Otossiirtymän koodaaminen videokoodauksessa
MXPA05000559A (es) 2002-07-15 2005-04-19 Nokia Corp Metodo para ocultamiento de errores en secuencias de video.
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
US8634030B2 (en) * 2002-10-25 2014-01-21 Disney Enterprises, Inc. Streaming of digital data to a portable device
CN100372382C (zh) * 2003-03-24 2008-02-27 华为技术有限公司 一种视频图象编码方法
DE602004026580D1 (de) 2003-06-25 2010-05-27 Thomson Licensing Schnelle modusentscheidung-codierung für interframes
JP4257789B2 (ja) 2004-02-27 2009-04-22 Kddi株式会社 動画像符号化装置
JP4247680B2 (ja) * 2004-07-07 2009-04-02 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US9172973B2 (en) 2005-04-01 2015-10-27 Broadcom Corporation Method and system for motion estimation in a video encoder

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815215B (zh) * 2009-06-29 2012-10-10 香港应用科技研究院有限公司 编码模式选择的方法和装置
CN107592532A (zh) * 2011-05-20 2018-01-16 株式会社Kt 视频解码方法
CN107592532B (zh) * 2011-05-20 2020-04-28 株式会社Kt 视频解码方法
CN107592546B (zh) * 2011-05-20 2020-03-06 株式会社Kt 视频解码方法
CN107592546A (zh) * 2011-05-20 2018-01-16 株式会社Kt 视频解码方法
CN102256126A (zh) * 2011-07-14 2011-11-23 北京工业大学 混合图像的编码方法
CN103402086B (zh) * 2013-07-22 2017-02-15 华为技术有限公司 一种用于视频编码***的性能控制方法及编码器
CN103402086A (zh) * 2013-07-22 2013-11-20 华为技术有限公司 一种用于视频编码***的性能控制方法及编码器
CN107409217A (zh) * 2015-03-06 2017-11-28 高通股份有限公司 用于视频编码的自适应模式检查次序
CN107409217B (zh) * 2015-03-06 2020-02-21 高通股份有限公司 用于对视频数据进行编码的方法、装置和设备
CN106470341A (zh) * 2015-08-17 2017-03-01 飞思卡尔半导体公司 媒体显示***
CN106470341B (zh) * 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示***
CN110381311A (zh) * 2019-07-01 2019-10-25 腾讯科技(深圳)有限公司 视频帧的编码方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
WO2007047412A3 (en) 2007-06-28
US8155189B2 (en) 2012-04-10
KR20080068662A (ko) 2008-07-23
CN101305610B (zh) 2010-09-08
JP2009513073A (ja) 2009-03-26
KR101299421B1 (ko) 2013-08-29
WO2007047412A2 (en) 2007-04-26
JP5084733B2 (ja) 2012-11-28
US20070086523A1 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
CN101305610B (zh) 对视频编码进行编码模式判定的***和方法
CN100566427C (zh) 用于视频编码的帧内预测编码最佳模式的选取方法及装置
KR100984517B1 (ko) 인터프레임 인코딩을 위한 빠른 모드 결정 방법
US7688893B2 (en) Video encoder and portable radio terminal device
KR102026519B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
US8121190B2 (en) Method for video coding a sequence of digitized images
EP2392140B1 (en) Method for decoding a stream representative of a sequence of pictures, method for coding a sequence of pictures and coded data structure
CN102932642B (zh) 一种帧间编码快速模式选择方法
US8189667B2 (en) Moving picture encoding apparatus
CN101911702A (zh) Cabac编码器的基于速率-失真建模的量化
WO2003088676A1 (en) Video data conversion device and video data conversion method
CN102057680A (zh) 运动图像编码/解码方法和装置
CN100455021C (zh) 帧内预测模式的选择方法
US8705618B2 (en) Method and device for coding a video image with a coding error estimation algorithm
KR100669897B1 (ko) H.264/avc에서의 고속 매크로블록 모드 선택 방법
KR100807330B1 (ko) H.264/avc 인코더의 인트라 매크로블록 모드 스킵 방법
EP2404448A1 (en) Method for predicting a block of image data, decoding and coding devices implementing said method
CN113301335A (zh) 视频信号的编码和解码方法
KR20100090519A (ko) 영상 부호화 장치에서 매크로블록 모드 결정 방법 및 그 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20191011