CN103975594A - 用于残差预测的运动估计方法 - Google Patents

用于残差预测的运动估计方法 Download PDF

Info

Publication number
CN103975594A
CN103975594A CN201180075209.9A CN201180075209A CN103975594A CN 103975594 A CN103975594 A CN 103975594A CN 201180075209 A CN201180075209 A CN 201180075209A CN 103975594 A CN103975594 A CN 103975594A
Authority
CN
China
Prior art keywords
value
pixel value
predetermined value
reference pixel
difference
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
CN201180075209.9A
Other languages
English (en)
Other versions
CN103975594B (zh
Inventor
S-H·李
F·付
Z·雷
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN103975594A publication Critical patent/CN103975594A/zh
Application granted granted Critical
Publication of CN103975594B publication Critical patent/CN103975594B/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

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

Abstract

描述了包括以下操作的系统、装置和方法:通过减小参考像素值的比特长度并且将第一预定值与该结果相加来确定第一值;以及通过从当前像素值中减去残差像素值以产生差值、减小所述差值的比特长度并且将所述第一预定值与该结果相加来确定第二值。随后可以通过以下操作来对所述第二值的范围进行限幅:当所述第二值等于或小于第二预定值时,将所述第二值设置为零,并且当所述第二值等于或大于第四预定值时,将所述第二值设置为第三预定值。随后可以将所述第一值和所述第二值用于可伸缩视频编码(SVC)系统中的层间残差预测。

Description

用于残差预测的运动估计方法
背景技术
可伸缩视频编码(SVC)是H.264/AVC视频编码标准的扩展。SVC允许将多层视频流编码为由基础层和可选的附加增强层构成的单一比特流,该附加增强层可以提高分辨率、帧速率和质量。层间残差预测是SVC中的关键压缩技术。由于基础层中的运动向量和增强层中的运动向量趋向于相似,所以来自于基础层的上采样残差块也趋向于与增强层中的对应宏块(MB)具有相似的残差。因此,可以将基础层残差用作针对增强层残差的预测因子。编码器可以通过对使用了层间预测和不使用层间预测的情况下的残差能量进行比较来决定是否使用残差预测。
在常规运动估计中,编码器寻找使得当前MB和给定参考MB之间的失真最小化的运动向量。当使用绝对差值的和(SAD)作为失真测量结果时,当前像素c和各个参考像素p之间的差值由︱c-p︱给出。基于给定的块大小对该差值求和以获得块失真。假定像素深度是8比特,c和p都是8比特的值。
为了进行残差预测,编码器在搜索范围内寻找使得︱c-p-r︱的值最小化的运动向量,其中r是来自基础层的残差值。由于c和r是针对给定MB的预定值,而只有p在搜索范围内变化,所以可以将该表达式重写为︱(c-r)-p︱。一般地,c和p具有8比特的值,而r具有-255至255范围内的9比特的值,因此,(c-r)将是-255至510范围内的10比特的值。
残差预测的困难是,由于与(c-r)相关联的增加的比特深度,从而不能够直接使用典型的运动估计引擎。使用10比特而非8比特的值会由于增加的数据路径宽度和算术运算中增加的准确性而导致显著的成本。将(c-r)转换为8比特值的一种方法是限幅(clipping)。然而,限幅错误可能影响运动估计质量,尤其是当c非常亮(接近255)或非常暗(接近0)和/或当r的幅度很大时。
附图说明
在附图中通过示例而非限制来说明本文中所描述的材料。为了说明的简单和清楚,图中示出的元件不必按照比例绘制。例如,为了清楚起见,可以将某些元件的尺寸相对于其它元件放大。此外,在认为适当的情况下,已在附图之间将附图标记重复用以表示对应的或类似的元件。在附图中:
图1是示例性视频编码器系统的示意图;
图2更详细地示出了图1的系统的一部分;
图3示出了示例性逐位运算;
图4是示例性残差预测过程的流程图;
图5是示例性系统的示意图;并且
图6是示例性设备的示意图,以上所述全部根据本公开至少一些实施方式来设置。
具体实施方式
现在参考所附附图来描述一个或多个实施例或实施方式。尽管讨论了具体配置和设置,应当理解这仅是出于示例性的目的而完成的。相关领域技术人员将意识到,在不脱离本说明书精神和范围的情况下可以采用其它配置和设置。对相关技术领域技术人员来说显而易见的是,还可以将本中所描述的技术和/或设置应用在除本文中所描述的系统和应用以外的各种其它的系统和应用。
尽管下面的描述阐述了在例如片上系统(SoC)架构的架构中显然的各种实施方式,但是本文中所描述的技术和/或设置的实现并不受限于特定架构和/或计算系统,并且可以由针对类似目的的任意架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装、和/或各种计算设备和/或消费电子(CE)设备(例如机顶盒、智能电话等)的各种架构可以实现本文中所描述的技术和/或设置。此外,尽管下面的描述可以阐述许多具体的细节,例如逻辑实现、系统组件的类型和相互关系、逻辑划分/集成选择等,但是可以在不具有这些具体细节的情况下实践所要求保护的主题。在其它实例中,可以不详细示出某些材料,例如控制结构和全软件指令序列,以免模糊本文中公开的材料。
可以以硬件、固件、软件、或其任意组合来实现本文中公开的材料。还可以将本文中公开的材料实现为存储在机器可读介质上的指令,该指令可以被一个或多个处理器读取或执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式来存储或传输信息的任意介质和/或机构。例如,机器可读介质可以包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储器介质;光学存储器介质;闪存设备;电的、光学的、声学的或其它形式的传播信号(例如,载波、红外信号、数字信号等)以及其它。
说明书中提到的“一种实施方式”、“实施方式”、“示例性实施方式”等表示所描述的实施方式可以包括特定特征、结构或特性,但是每一个实施方式可以不必包括所述特定特征、结构或特性。而且,这样的短语不一定指的是同一个实施方式。进一步的,当结合实施方式来描述特定特征、结构或特性时,应当认为,无论本文中有没有明确地描述,结合其它实施方式来实现这些特征、结构或特性在本领域技术人员的知识范围内。
图1示出了根据本公开的示例性视频编码器系统100。在各种实施方式中,视频编码器系统100可以被配置为进行视频压缩和/或根据一个或多个先进的视频编解码标准来实现视频编解码,所述先进的视频编解码标准例如H.264标准(参见ISO/IEC JTC1和ITU-T,H.264/AVC-“Advanced videocoding for generic audiovisual services”,ITU-T Rec.H.264和ISO/IEC14496-10(MPEG-4第10部分),版本3,2005),以及包括可伸缩视频编码(SVC)扩展的H.264标准的扩展(参见Joint Draft ITU-T Rec.H.264和ISO/IEC14496-10/Amd.3Scalable video coding,7月5日,2007)(在下文中称为“SVC标准”)。尽管为了说明和解释的目的,可以在SVC标准的背景下描述系统100和/或其它系统、方案或过程,但是本公开并不受限于任意特定的视频编码标准或规范。
在各种实施例中,视频编码器系统100可以实现至少两个不同的编码层,包括较低空间分辨率基础层102和至少一个较高空间分辨率增强层120。例如,在基础层102中的图像帧可以具有352×288像素的分辨率(CIF分辨率),而增强层120可以具有760×480像素的分辨率(SD分辨率),等等。进一步地,在各种实施方式中,不同的层可以具有不同的帧速率。例如,基础层102可以具有每秒15帧(fps)的帧速率,而增强层120可以具有30fps的帧速率,等等。尽管图1示出了两个层,即基础层102和增强层120,本领域技术人员可以意识到被配置为进行可伸缩视频编码的编码器系统,例如系统100,可以包括多个增强层。例如,系统100可以包括一个或多个附加增强层(未示出),并且本文中描述的技术和/或方案也可以应用于这些附加增强层,本公开不受限于任何特定的可伸缩视频方案或格式。基础层102可以包括各种模块,例如:帧内/帧间(intra/inter)预测模块104、变换和量化模块106、去量化和反变换模块108、去块滤波器模块110、帧缓冲器模块112以及熵编码模块114。模块104-114的功能是公知的(参见例如SVC标准),并且将不在本文中更详细地描述。增强层120可以包括各种模块,例如:帧内/帧间预测模块122、变换和量化模块124、去量化和反变换模块126、去块滤波器模块128、帧缓冲器模块130以及熵编码模块132。增强层120的模块122-132的功能与对应标号的基础层102的模块104-114相类似,并且将不在本文中更详细地描述。如将在下文中更详细地描述的,增强层120还可以包括运动预测模块134和残差预测模块136。
在各种实施方式中,视频编码器系统100还可以包括各种层间预测模块140,该层间预测模块140包括层间帧内预测模块142、层间运动预测模块144、以及层间残差预测模块146。层间帧内预测模块142可以为基础层102的内部块进行结构预测,从而在基础层102中预测的帧内块可以被用作针对增强层120中的一个或多个块的预测因子。层间运动预测模块144可以操作以识别在基础层102中产生的运动向量,运动预测模块134可以使用该运动向量以对增强层120中的块进行运动预测。
在各种实施方式中,可以使用层间残差预测模块146以识别基础层102的残差值,残差预测模块136可以使用该残差值以在增强层120中进行残差预测。在各种实施方式中,可以在系统100中对一些或所有帧间编码的宏块(MB)进行层间残差预测。例如,可以将标记添加到针对增强层120的MB语法中,以表示针对给定MB的层间残差预测的使用。例如,当该残差预测标记具有为1的值时,基础层102的对应子MB的残差信号可以经由层间残差预测模块146(例如,通过使用双线性滤波器)被上采样至增强层120,并且可以被残差预测模块136用作预测因子来协助增强层120MB的残差信号的产生。在各种实施方式中,层间残差预测模块146可以以残差像素值(r)的形式向残差预测模块136提供预测因子。对于8比特的图像深度,残差像素值(r)可以是9比特的整数值。
图2更详细地示出了根据本公开的系统100的残差预测模块136。在各种实施方式中,残差预测模块136可以包括第一预处理模块202、第二预处理模块204、以及运动估计模块206。在各种实施方式中,可以以硬件实现第一预处理模块202,并且可以以软件实现第二预处理模块204。然而,本公开并不在这方面受限制,并且可以以硬件、软件或固件或其任意组合来实现模块202和/或模块204。
根据本公开,残差预测模块136可以使用第一预处理模块202来执行对参考像素值(p)的各种操作以产生修改的参考像素值(p’),并使用第二预处理模块204来执行对当前像素值(c)连同残差像素值(r)的各种操作以产生修改的当前像素值(c’)。随后,运动估计模块206可以进行已知的运动估计技术,例如通过至少部分使用p’和c’值来确定绝对差值的和(SAD),以获得针对给定增强层MB的最佳运动向量(MV)和相关联的残差信号(失真)。
根据本公开,第一预处理模块202可以接收参考像素值(p)作为输入,并可以首先将参考像素值的比特长度减小1,并且随后将预定值与得到的减小了比特长度的值相加。在各种实施方式中,可以使用对参考像素值进行右移来减小参考像素值的比特长度。例如,对于8比特的图像深度,其中参考像素值(p)是8比特的值,可以将值64与将p右移一位的结果相加以产生修改的参考像素值p’,该值p’具有8比特并且其值范围为从64至191。由第一预处理模块202对8比特输入值进行的操作的结果可以由以下表达式来表示:
p'=(p>>1)+64 (1)
根据本公开,第二预处理模块204可以接收当前像素值(c)和残差像素值(r)作为输入,可以确定差值(c-r),可以通过将差值右移一位来减小该差值的比特长度,将预定值与右移后的差值相加,并且随后将结果限制或限幅到特定范围的值。例如,对于8比特的图像深度,其中当前像素值(c)是8比特的值,残差像素值(r)是9比特的值,且差值(c-r)是10比特的值,可以将值64与经右移的差值相加以产生具有在-255和512范围之间的值的中间结果。随后可以对该中间结果值进行限幅,以使得在-255和-128范围之间的值被设置为值0,并使得在从383至512范围内的值被设置为值255。由第二预处理模块204对8比特输入当前像素值和9比特输入残差像素值进行的操作的结果可以由以下表达式表示:
c'=CLIP255(((C-R)>>1)+64) (2)
表1总结了与针对8比特图像深度的等式(1)和(2)相关联的各种值。
表1
变量 类型 整数范围
当前像素值(c) 8比特二进制 0-255
参考像素值(p) 8比特二进制 0-255
残差像素值(r) 9比特二进制 -255-255
差值=(c-r) 10比特二进制 -255-510
((c-r)>>1)+64 9比特二进制 -64-319
c’=CLIP255(((c-r)>>1+64) 8比特二进制 0-255
p’=(p>>1)+64 8比特二进制 64-191
在各种实施方式中,如本文中所用的术语“右移”可以对应于逐位运算,逐位运算在寄存器内将表示值(例如p或(c-r))的数据字的位向右移动一个或多个比特位置。在各种实施方式中,执行右移可以包括执行算数移位或逻辑移位。例如,图3示出了以对具有8比特长度(即,8比特的值)的示例性二进制值执行的算数右移操作302和逻辑右移操作304的形式示出了右移一位。例如,如本领域技术人员会意识到的,在各种软件语言(例如C、C++等)中,右移操作符可以由符号“>>”来表示(如本文中所用的,例如,在等式(1)和(2)中),并且当操作数是带符号的整数时,对应的操作可以是算数右移。在这种表示法中,可以将要移动的位置的数目提供作为第二自变量。
图4示出了根据本公开各种实施方式的用于残差预测的示例性过程400的流程图。过程400可以包括如由图4的一个或多个块402、404、406和408所示出的一个或多个操作、功能或动作。通过非限制性示例,将参考图1和图2的示例性系统100来在本文中描述过程400。在各种实施方式中,当执行增强层120中的运动估计时,编码器(例如系统100)可以进行过程400。过程400可以在块402处由以下操作开始:通过减小参考像素值的比特长度并且将第一预定值与该结果相加来确定第一值。在各种实施方式中,块402可以涉及:视频编码器系统100使用残差预测模块136的预处理模块202来右移输入参考像素值(p)并按照如上所述将预定的常数值与该结果相加。例如,对于8比特参考像素值,预处理模块202可以通过将该参考像素值右移一位并将该结果与64相加来实施等式(1)的等同操作。
在块404处,可以通过从当前像素值中减去残差像素值以产生差值、减小该差值的比特长度并且随后将第一预定值与该结果相加来确定第二值。在各种实施方式中,块404可以涉及:视频编码器系统100使用残差预测模块136的预处理模块204来从当前像素值(c)减去残差像素值(r)以产生差值(c-r)、右移该差值、并随后将第一预定值与该经右移的结果相加。例如,对于8比特的当前像素值和9比特的残差像素值,差值(c-r)是10比特的值,并且块404可以涉及将该差值右移一位并将64与该结果相加。
在块406处,当第二值等于或小于第二预定值时,第二值可以被设置为0,并且当第二值等于或大于第四预定值时,第二值可以被设置为第三预定值。在各种实施方式中,块406可以涉及:视频编码器系统100使用残差预测模块136的预处理模块204来将块404的结果限幅或限制到特定范围的值。例如,对于8比特图像深度,块404的结果可以具有在-255和512范围之间的整数值。随后,块406可以涉及对块404的输出进行限幅以使得在-255和-128范围之间的值(第二预定值)被设置为值0,并使得在383(第四预定值)至512范围内的值被设置为值255(第三预定值)。
在进行块404和406时,预处理模块204可以实现如前面阐述的等式(2)的等同操作。因此,对于8比特图像深度,等式(2)的实现可以将值范围为从-255至-128的修改的当前像素值(c’)截短至值0,并将值范围为从383至512的修改的当前像素值(c’)截短至值255。对于值范围为从-128至383的修改的当前像素值(c’),等式(2)的实现可以仅导致该范围内奇数值的最低有效位(LSB)的丢失。
在块408处,为了层间残差预测的目的,可以使用从块402得到的第一值和从块406得到的第二值来执行运动估计。因此,在各种实施方式中,从块402得到的修改的参考像素值(p’)和从块406得到的修改的当前像素值(c’)随后可以由运动估计引擎206用以在块408处执行运动估计。例如,为此,运动估计引擎206可以采用已知的块匹配算法,该算法基于各种失真测量结果或估计度量来使用p’和c’,所述各种失真测量结果或估计度量例如为绝对差值的和(SAD)、均方误差(MSE)、平均绝对差值(MAD)、均方误差的和(SSE)、绝对变换差值的和(SATD)等。
在各种实施方式中,当在块408处执行针对残差预测的运动估计时,运动估计引擎206可以确定使得当前MB和给定参考MB之间的失真最小化的运动向量。例如,当使用SAD作为用于根据本公开的残差预测的失真测量结果时,运动估计引擎206可以确定在搜索范围上使得︱c’-p’︱最小化的运动向量。此外,通过应用根据本公开产生的修改的参考像素(p’)值和修改的当前像素(c’)值,视频编码器系统可以避免明显的限幅错误。另外,编码器可以通过对使用了层间预测和没有使用层间预测的情况下的残差能量进行比较来决定是否使用过程400进行残差预测。
尽管如图4所示的示例性过程400的实现可以包括按照所示出的顺序进行所有的块,但是本公开并不在这方面受限制,并且在各种示例中,过程400的实现可以包括仅进行所示出的块的子集和/或以与示出的顺序不同的顺序来进行块。另外,可以响应于由一个或多个计算机程序产品提供的指令来进行图4中任意一个或多个块。这种程序产品可以包括提供指令的信号承载介质,当该指令例如由处理器执行时可以提供本文描述的功能。可以以任意形式的计算机可读介质来提供计算机程序产品。因此,例如,包括一个或多个处理器内核的处理器可以响应于由计算机可读介质传递给该处理器的指令来进行图4中示出的一个或多个块。
如在本文中描述的任意实施方式中所使用的,术语“模块”指的是被配置为提供本文所述的功能的软件、固件、和/或硬件的任意组合。软件可以被具体实现为软件包、代码和/或指令集或指令,而硬件,如在本文中描述的任意实施方式中所使用的,例如可以包括单独的以下部件或其任意组合:硬连线的电路、可编程电路、状态机电路、和/或存储由可编程电路执行的指令的固件。所述模块可以被共同地或个别地具体实施为形成了较大系统(例如,集成电路(IC)、片上系统(SoC)等)的一部分的电路。
图5示出了根据本公开的示例性系统500。在各种实施方式中,系统500可以是介质系统,尽管系统500并不限于这种情况。例如,系统500可以包含在以下设备中:个人计算机(PC)、膝上型计算机、超薄膝上型计算机、平板电脑、触摸平板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能手机、智能平板或智能电视机)、移动互联网设备(MID)、通讯设备、数据通信设备等等。
在各种实施方式中,系统500包括耦合到显示器520的平台502。平台502可以接收来自内容设备的内容,内容设备例如内容服务设备530或内容传递设备540或其它类似的内容源。导航控制器550包括可以用于与例如平台502和/或显示器520互动的一个或多个导航特征。下面更加详细地描述这些组件中的每一个组件。
在各种实施方式中,平台502可以包括以下设备的任意组合:芯片集505、处理器510、内存512、存储器514、图形子系统515、应用516和/或无线电设备518。芯片集505可以提供处理器510、内存512、存储器514、图形子系统515、应用516和/或无线电设备518之间的互相通信。例如,芯片集505可以包括能够提供与存储器514的互相通信的存储器适配器(未描述)。
处理器510可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多内核、或任意其它微处理器或中央处理单元(CPU)。在各种实施方式中,处理器510可以是双核处理器、双核移动处理器等等。内存512可以被实现为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
存储器514可以被实现为非易失性存储器设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储器设备、附加存储器设备、快速存储器、电池后备SDRAM(同步DRAM)、和/或网络可访问存储器设备。在各种实施方式中,当包括多个硬盘驱动器时,存储器514可以包括用于增加对有价值的数字介质的存储器性能增强保护的工艺。
图形子系统515可以执行图像(例如静止的图像或视频图像)处理以用于显示。图形子系统515可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口来通信地耦合图形子系统515和显示器520。例如,接口可以是以下各项中的任意一种:高分辨率多媒体接口、显示端口(DisplayPort)、无线HDMI、和/或无线HD兼容技术。图形子系统515可以集成在处理器510或芯片集505中。在一些实施方式中,图形子系统515可以是通信地耦合到芯片集505的独立的插板。
可以在各种硬件架构中实现本文所描述的图形和/或视频处理技术。例如,可以将图形和/或视频功能集成在芯片集内。可选地,可以使用分立的图形和/或视频处理器。作为另一个实施方式,可以由包括多核处理器的通用处理器提供图形和/或视频功能。在进一步的实施例中,可以在消费者电子设备中实现所述功能。
无线电设备518可以包括一个或多个能够使用各种适当的无线通信技术来发送和接收信号的无线电设备。这种技术可以涉及跨越一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨越这些网络的通信中,可以根据任何版本的一个或多个适用标准来操作无线电设备518。
在各种实施方式中,显示器520可以包括任何电视类型监视器或显示器。显示器520可以包括例如:计算机显示屏、触摸屏显示器、视频监视器、类电视设备、和/或电视机。显示器520可以是数字的和/或模拟的。在各种实施方式中,显示器520可以是全息显示器。而且,显示器520可以是可接收视觉投影的透明表面。这种投影可以传递各种形式的信息、图像、和/或对象。例如,这种投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用516的控制之下,平台502可以在显示器520上显示用户界面522。
在各种实施方式中,内容服务设备530可以以任意国家的、国际的、和/或独立的服务为主机,并因此是可以由平台502经由例如因特网来访问的。内容服务设备530可以耦合到平台502和/或显示器520。平台502和/或内容服务设备530可以耦合到网络560以向/从网络560传输(例如,发送和/或接收)媒体信息。内容传递设备540还可以耦合到平台502和/或显示器520。
在各种实施方式中,内容服务设备530可以包括有线电视盒、个人计算机、网络、电话、可使用互联网的设备或能够传递数字信息和/或内容的电器、以及能够在内容提供商和平台502和/显示器520之间单向地或双向地(经由网络560或直接地)传输内容的任何其它类似设备。应该意识到,可以经由网络560向和从系统500中组件以及内容提供商中的任何一个单向地和/或双向地传输内容。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等等。
内容服务设备530可以接收例如包括媒体信息、数字信息的有线电视节目的内容,和/或其它内容。内容提供商的示例可以包括任何有线内容提供商或卫星电视内容提供商或无线内容提供商或互联网内容提供商。所提供的示例并不意味着以任何方式限制根据本公开的实施方式。
在各种实施方式中,平台502可以从具有一个或多个导航特征的导航控制器550接收控制信号。控制器550的导航特征可以被用于与例如用户界面522互动。在实施例中,导航控制器550可以是定点设备,该定点设备可以是允许用户输入空间(例如,连续的且多维的)数据到计算机中的计算机硬件组件(具体地,人机接口设备)。很多系统(诸如图形用户界面(GUI))以及电视机和监视器允许用户使用形体姿势来控制并提供数据给计算机或电视机。
控制器550的导航特征的运动可以通过显示在显示器(例如显示器520)上的指针、光标、聚焦环或其它视觉指示符的运动而被复制在显示器上。例如,在软件应用516的控制之下,位于导航控制器550上的导航特征可以被映射成例如显示在用户界面522上的虚拟导航特征。在实施例中,控制器550可以不是单独的组件而是可以被集成到平台502和/或显示器520中。然而,本公开不限于本文示出或描述的元件或上下文。在各种实施方式中,驱动器(未示出)可以包括例如在使能时,使用户能够在初始启动之后通过触摸按钮来立刻打开和关闭平台502(像电视机一样)的技术。程序逻辑可以允许平台502将内容流式传输到媒体适配器或其它内容服务设备530或内容传递设备540,即使当平台被“关闭”时。另外,芯片集505可以包括支持例如5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件。驱动器可以包括用于所集成的图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围组件互联(PCI)高速图形卡。
在各种实施方式中,可以集成系统500中示出的任意一个或多个组件。例如,可以集成平台502和内容服务设备530,或可以集成平台502和内容传递设备540,或可以集成例如平台502、内容服务设备530以及内容传递设备540。在各种实施例中,平台502和显示器520可以是一个集成单元。例如可以集成显示器520和内容服务设备530,或可以集成显示器520和内容传递设备540。这些示例并不意味着限制本公开。
在各种实施例中,系统500可以被实现为无线系统、有线系统或两者的组合。当被实现为无线系统时,系统500可以包括适于通过无线共享介质进行通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等等。无线共享介质的一个示例可以包括部分的无线频谱(例如RF频谱等等)。当被实现为有线系统时,系统500可以包括适于通过有线通信介质进行通信的组件和接口,例如输入/输出(I/O)适配器、物理连接器(用对应的有线通信介质来连接I/O适配器)、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可以包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换结构、半导体材料、双绞线、同轴电缆、光纤等等。平台502可以建立一个或多个逻辑信道或物理信道以传输信息。信息可以包括媒体信息和控制信息。媒体信息可以指的是代表针对用户的内容的任何数据。内容的示例可以包括例如来自以下各项的数据:语音对话、视频会议、流媒体视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等。来自语音对话的数据可以是例如:谈话信息、静默时段、背景噪声、舒适噪声、音调等等。控制信息可以指的是代表针对自动化系统的命令、指令、或控制字的任何数据。例如,控制信息可以用于通过系统来路由媒体信息,或指示节点以预定的方式来处理该媒体信息。然而,该实施例并不受限于图5中示出或描述的元件或上下文。
如上所述,系统500可以以被实施为各种物理形式或物理规格。图6示出了小型设备600的实施方式,在该小型设备600中可以实施系统500。在实施例中,例如,设备600可以被实现为具有无线功能的移动计算设备。移动计算设备可以指的是具有处理系统和移动电源或移动供电设备(例如一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包括:个人计算机(PC)、膝上型计算机、超薄膝上型计算机、平板电脑、触摸平板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能手机、智能平板或智能电视机)、移动互联网设备(MID)、通讯设备、数据通信设备等等。
移动计算设备的示例还可以包括被设置为由人穿戴的计算机,例如:腕上计算机、指上计算机、指环计算机、眼镜计算机、带夹计算机、环臂计算机、鞋式计算机、衣式计算机、以及其它可穿戴计算机。在各种实施例中,例如,移动计算设备可以被实现为能够执行计算机应用、以及语音通信和/或数据通信的智能电话。尽管一些实施例可以通过示例的方式被描述为使得移动计算设备被实现为智能电话,但是应当理解,也可以使用其它无线移动计算设备来实现其它的实施例。这些实施例并不受限于该上下文。
如图6所示,设备600可以包括壳体602、显示器604、输入/输出(I/O)设备606、以及天线608。设备600还可以包括导航特征612。显示器604可以包括用于显示适于移动计算设备的信息的任意适当的显示单元。I/O设备606可以包括用于输入信息到移动计算设备中的任意适当的I/O设备。I/O设备606的示例可以包括字母数字键盘、数字键板、触摸平板、输入键盘、按钮、开关、摇臂开关、话筒、扬声器、语音识别设备和软件等等。还可以通过话筒(未示出)将信息输入到设备600中。这种信息可以被由语音识别设备(未示出)来数字化。这些实施例不受限于该上下文。
可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。软件的示例可以包括:软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据以下许多因素来变化:例如所希望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能限制。
至少一个实施例的一个或多个方面可以由存储在机器可读介质中的代表性指令来实现,该机器可读介质呈现处理器内的各种逻辑,当该逻辑由机器读取时,引起机器构造用以执行本文中描述的技术的逻辑。这种被称为“IP内核”的表示可以存储在有形的机器可读介质上并供应给各种消费者或制造工厂以加载到实际制成所述逻辑或处理器的制造机器中。尽管参考了各种实施方式来描述本文中阐述的某些特征,但本说明书并不是要被解释为限制的意义。因此,对本公开所涉及领域的技术人员来说显而易见的、本文所描述的实施方式的各种修改以及其它实施方式被视为处于本公开的精神和范围内。

Claims (30)

1.一种计算机实现的方法,包括:
在视频编码器处:
通过减小参考像素值的比特长度并且将第一预定值与该结果相加来确定第一值;
通过从当前像素值中减去残差像素值以产生差值、减小所述差值的比特长度并且将所述第一预定值与该结果相加来确定第二值;以及
当所述第二值等于或小于第二预定值时,将所述第二值设置为零,并且当所述第二值等于或大于第四预定值时,将所述第二值设置为第三预定值。
2.根据权利要求1所述的方法,其中,所述视频编码器包括可伸缩视频编码(SVC)编码器,并且其中,所述SVC编码器被配置为执行层间残差预测。
3.根据权利要求2所述的方法,其中,所述残差像素值包括基础层的残差像素值,并且其中,所述参考像素值和所述当前像素值包括增强层的像素值。
4.根据权利要求1所述的方法,其中,减小所述参考像素值的所述比特长度包括右移所述参考像素值,并且其中,减小所述差值的所述比特长度包括右移所述差值。
5.根据权利要求4所述的方法,其中,右移所述参考像素值包括将所述参考像素值右移一位,并且其中,右移所述差值包括将所述差值右移一位。
6.根据权利要求1所述的方法,其中,所述参考像素值和所述当前像素值包括8比特的值,并且其中,所述残差像素值包括9比特的值。
7.根据权利要求6所述的方法,其中,所述第一预定值包括64,其中,所述第二预定值包括-128,其中,所述第三预定值包括255,并且其中,所述第四预定值包括383。
8.根据权利要求1所述的方法,还包括:
至少部分使用所述第一和第二值来执行运动估计。
9.一种包括计算机程序产品的制品,该计算机程序产品具有存储在其中的指令,如果执行所述指令,则导致:
在视频编码器处:
通过减小参考像素值的比特长度并且将第一预定值与该结果相加来确定第一值;
通过从当前像素值中减去残差像素值以产生差值、减小所述差值的比特长度并且将所述第一预定值与该结果相加来确定第二值;以及
当所述第二值等于或小于第二预定值时,将所述第二值设置为零,并且当所述第二值等于或大于第四预定值时,将所述第二值设置为第三预定值。
10.根据权利要求9所述的制品,其中,所述视频编码器包括可伸缩视频编码(SVC)编码器,并且其中,所述SVC编码器被配置为执行层间残差预测。
11.根据权利要求10所述的制品,其中,所述残差像素值包括基础层的残差像素值,并且其中,所述参考像素值和所述当前像素值包括增强层的像素值。
12.根据权利要求9所述的制品,其中,减小所述参考像素值的所述比特长度包括右移所述参考像素值,并且其中,减小所述差值的所述比特长度包括右移所述差值。
13.根据权利要求12所述的制品,其中,右移所述参考像素值包括将所述参考像素值右移一位,并且其中,右移所述差值包括将所述差值右移一位。
14.根据权利要求9所述的制品,其中,所述参考像素值和所述当前像素值包括8比特的值,并且其中,所述残差像素值包括9比特的值。
15.根据权利要求14所述的制品,其中,所述第一预定值包括64,其中,所述第二预定值包括-128,其中,所述第三预定值包括255,并且其中,所述第四预定值包括383。
16.根据权利要求9所述的制品,具有存储在其中的指令,如果执行所述指令,则导致:
至少部分使用所述第一和第二值来执行运动估计。
17.一种装置,包括:
处理器,其被配置为:
通过减小参考像素值的比特长度并且将第一预定值与该结果相加来确定第一值;
通过从当前像素值中减去残差像素值以产生差值、减小所述差值的比特长度并且将所述第一预定值与该结果相加来确定第二值;以及
当所述第二值等于或小于第二预定值时,将所述第二值设置为零,并且当所述第二值等于或大于第四预定值时,将所述第二值设置为第三预定值。
18.根据权利要求17所述的装置,其中,所述处理器被配置为实现可伸缩视频编码(SVC)编码器,以及执行层间残差预测。
19.根据权利要求18所述的装置,其中,所述残差像素值包括基础层的残差像素值,并且其中,所述参考像素值和所述当前像素值包括增强层的像素值。
20.根据权利要求17所述的装置,其中,所述处理器被配置为通过右移所述参考像素值来减小所述参考像素值的所述比特长度,并且其中,所述处理器被配置为通过右移所述差值来减小所述差值的所述比特长度。
21.根据权利要求20所述的装置,其中,右移所述参考像素值包括将所述参考像素值右移一位,并且其中,右移所述差值包括将所述差值右移一位。
22.根据权利要求17所述的装置,其中,所述参考像素值和所述当前像素值包括8比特的值,并且其中,所述残差像素值包括9比特的值。
23.根据权利要求22所述的装置,其中,所述第一预定值包括64,其中,所述第二预定值包括-128,其中,所述第三预定值包括255,并且其中,所述第四预定值包括383。
24.一种系统,包括:
发送经编码的视频数据的天线;以及
视频编码器,其中,所述视频编码器通信地耦合到所述天线,并且其中,所述视频编码器将至少部分通过以下操作来产生所述经编码的视频数据:
通过减小参考像素值的比特长度并且将第一预定值与该结果相加来确定第一值;
通过从当前像素值中减去残差像素值以产生差值、减小所述差值的比特长度并且将所述第一预定值与该结果相加来确定第二值;以及
当所述第二值等于或小于第二预定值时,将所述第二值设置为零,并且当所述第二值等于或大于第四预定值时,将所述第二值设置为第三预定值。
25.根据权利要求24所述的系统,其中,所述视频编码器包括可伸缩视频编码(SVC)编码器,并且其中,所述SVC编码器被配置为执行层间残差预测。
26.根据权利要求25所述的系统,其中,所述残差像素值包括基础层的残差像素值,并且其中,所述参考像素值和所述当前像素值包括增强层的像素值。
27.根据权利要求24所述的系统,其中,减小所述参考像素值的所述比特长度包括右移所述参考像素值,并且其中,减小所述差值的所述比特长度包括右移所述差值。
28.根据权利要求27所述的系统,其中,右移所述参考像素值包括将所述参考像素值右移一位,并且其中,右移所述差值包括将所述差值右移一位。
29.根据权利要求24所述的系统,其中,所述参考像素值和所述当前像素值包括8比特的值,并且其中,所述残差像素值包括9比特的值。
30.根据权利要求29所述的系统,其中,所述第一预定值包括64,其中,所述第二预定值包括-128,其中,所述第三预定值包括255,并且其中,所述第四预定值包括383。
CN201180075209.9A 2011-12-01 2011-12-01 用于残差预测的运动估计方法 Active CN103975594B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/062778 WO2013081615A1 (en) 2011-12-01 2011-12-01 Motion estimation methods for residual prediction

Publications (2)

Publication Number Publication Date
CN103975594A true CN103975594A (zh) 2014-08-06
CN103975594B CN103975594B (zh) 2017-08-15

Family

ID=48535908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180075209.9A Active CN103975594B (zh) 2011-12-01 2011-12-01 用于残差预测的运动估计方法

Country Status (6)

Country Link
US (1) US9386311B2 (zh)
EP (1) EP2786576B1 (zh)
KR (1) KR20140098107A (zh)
CN (1) CN103975594B (zh)
TW (1) TWI551118B (zh)
WO (1) WO2013081615A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451305A (zh) * 2018-10-26 2019-03-08 西安科锐盛创新科技有限公司 带宽压缩中的预测方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103975594B (zh) 2011-12-01 2017-08-15 英特尔公司 用于残差预测的运动估计方法
US10547839B2 (en) * 2017-07-17 2020-01-28 Intel Corporation Block level rate distortion optimized quantization
CN117490002B (zh) * 2023-12-28 2024-03-08 成都同飞科技有限责任公司 基于流量监测数据的供水管网流量预测方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575604A (zh) * 2001-10-26 2005-02-02 皇家飞利浦电子股份有限公司 编码
CN101129072A (zh) * 2005-01-12 2008-02-20 诺基亚公司 用于可扩展视频编码中的层间预测模式编码的方法和系统
WO2009051692A2 (en) * 2007-10-15 2009-04-23 Thomson Licensing Methods and apparatus for inter-layer residue prediction for scalable video
US7864857B1 (en) * 2004-06-30 2011-01-04 Teradici Corporation Data comparison methods and apparatus suitable for image processing and motion search

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7706440B2 (en) * 2005-02-08 2010-04-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Method for reducing bit rate requirements for encoding multimedia data
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
WO2007116551A1 (ja) * 2006-03-30 2007-10-18 Kabushiki Kaisha Toshiba 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
KR100826511B1 (ko) 2006-06-27 2008-05-02 삼성전자주식회사 스터핑 바이트를 이용하여 에러정정 능력을 높일 수 있는장치와 방법
TWI332799B (en) 2006-09-13 2010-11-01 Realtek Semiconductor Corp A video data source system and an analog back end device
KR101365596B1 (ko) * 2007-09-14 2014-03-12 삼성전자주식회사 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
EP2051527A1 (en) * 2007-10-15 2009-04-22 Thomson Licensing Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs
EP2061248A1 (en) * 2007-11-13 2009-05-20 IBBT vzw Motion estimation and compensation process and device
PL2835976T3 (pl) * 2008-04-16 2017-04-28 Ge Video Compression, Llc Skalowalność głębi bitowej
US20100098156A1 (en) * 2008-10-16 2010-04-22 Qualcomm Incorporated Weighted prediction based on vectorized entropy coding
US8615043B2 (en) 2010-03-04 2013-12-24 Texas Instruments Incorporated Fixed length coding based image data compression
WO2013009716A2 (en) * 2011-07-08 2013-01-17 Dolby Laboratories Licensing Corporation Hybrid encoding and decoding methods for single and multiple layered video coding systems
CN103975594B (zh) 2011-12-01 2017-08-15 英特尔公司 用于残差预测的运动估计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575604A (zh) * 2001-10-26 2005-02-02 皇家飞利浦电子股份有限公司 编码
US7864857B1 (en) * 2004-06-30 2011-01-04 Teradici Corporation Data comparison methods and apparatus suitable for image processing and motion search
CN101129072A (zh) * 2005-01-12 2008-02-20 诺基亚公司 用于可扩展视频编码中的层间预测模式编码的方法和系统
WO2009051692A2 (en) * 2007-10-15 2009-04-23 Thomson Licensing Methods and apparatus for inter-layer residue prediction for scalable video

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451305A (zh) * 2018-10-26 2019-03-08 西安科锐盛创新科技有限公司 带宽压缩中的预测方法

Also Published As

Publication number Publication date
CN103975594B (zh) 2017-08-15
TWI551118B (zh) 2016-09-21
WO2013081615A1 (en) 2013-06-06
EP2786576A1 (en) 2014-10-08
US20130279581A1 (en) 2013-10-24
KR20140098107A (ko) 2014-08-07
TW201334551A (zh) 2013-08-16
EP2786576B1 (en) 2017-11-22
EP2786576A4 (en) 2015-08-05
US9386311B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
US9532048B2 (en) Hierarchical motion estimation employing nonlinear scaling and adaptive source block size
CN103581665A (zh) 转码视频数据
CN104782124B (zh) 利用编码器硬件对视频内容进行预处理
CN104541506A (zh) 层间像素样本预测
CN104219524A (zh) 使用感兴趣对象的数据对视频成码的比特率控制
CN104541505A (zh) 层间内部模式预测
JP2014534746A (ja) クロスチャネル残差予測
CN104584553A (zh) 层间残差预测
CN104335588A (zh) 基于感兴趣区域的3d视频译码
US20140254678A1 (en) Motion estimation using hierarchical phase plane correlation and block matching
CN105359533A (zh) 用于低功率图像压缩和显示的技术
TWI571111B (zh) 包括在多個獨立寫碼串流之間共享移動估測的視訊寫碼技術
JP6060394B2 (ja) クロスレイヤー・クロスチャネル残差予測
TWI559749B (zh) 層間移動資料繼承之技術
KR101425286B1 (ko) 모션 추정을 위한 완전한 서브 매크로블록 형상 후보 저장 및 복구 프로토콜
CN103975594A (zh) 用于残差预测的运动估计方法
CN104272738A (zh) 用于可扩展视频编码的自适应滤波
US20130148732A1 (en) Variable block sized hierarchical motion estimation
US9247256B2 (en) Prediction method using skip check module
JP6177966B2 (ja) クロスチャネル残差予測
JP6227698B2 (ja) クロスチャネル残差予測

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