CN101658044A - 以低编码器和解码器复杂度进行视频编码的高精度运动矢量 - Google Patents

以低编码器和解码器复杂度进行视频编码的高精度运动矢量 Download PDF

Info

Publication number
CN101658044A
CN101658044A CN200880010887A CN200880010887A CN101658044A CN 101658044 A CN101658044 A CN 101658044A CN 200880010887 A CN200880010887 A CN 200880010887A CN 200880010887 A CN200880010887 A CN 200880010887A CN 101658044 A CN101658044 A CN 101658044A
Authority
CN
China
Prior art keywords
pixel
sample
shift
motion vector
precision
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
CN200880010887A
Other languages
English (en)
Other versions
CN101658044B (zh
Inventor
K·乌尔
J·莱内马
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN101658044A publication Critical patent/CN101658044A/zh
Application granted granted Critical
Publication of CN101658044B publication Critical patent/CN101658044B/zh
Active 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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

可以提供两阶段内插用于在四分之一像素和更精准精度情况下的帧预测样本。四分之一像素和更精准精度的所有样本在双线性内插中可以使用半或全/整数像素,以允许使用更高精度运动矢量,诸如八分之一像素精度运动矢量。可以按照以下方式来限制这些运动矢量:不允许它们指向子像素网格上每个可能的子像素样本,而是指向那些子像素样本的子集。另外,可用于获得四分之一像素样本的相同的全/整数和半像素样本还可以用于获得与该四分之一像素样本相连的八分之一像素样本。因此,对于每个四分之一像素样本,运动矢量可以指向具有八分之一像素精度的两个附加地点/位置,其中,可以使用用于获得四分之一像素样本的相同的半或整数像素样本来计算这两个附加地点/位置。因此,可以在不需要执行附加内插阶段或增加被配置成解码运动矢量数据的解码器的复杂度的情况下获得任意的运动矢量精度。

Description

以低编码器和解码器复杂度进行视频编码的高精度运动矢量
技术领域
本发明总体上涉及视频编码。更具体地,本发明涉及在不增加编码复杂度的情况下,利用更高精度的运动矢量来改进运动补偿的预测视频编码。
背景技术
该部分旨在提供在权利要求中记载的本发明的背景或上下文。在此的描述可以包括所实行的概念,但是不一定是先前已经构想或实行的概念。因此,除非在此另外指示,在该部分中所描述的内容对于本申请中的说明书和权利要求来说不是现有技术,并且不认为通过包括在该部分而成为现有技术。
运动补偿预测(MCP)是视频压缩标准用来减少编码比特流的大小的一种技术。在MCP中,使用先前编码的帧来形成对当前帧的预测,其中仅对原始信号和预测信号(表示当前帧和预测帧)之间的差进行编码并发送到解码器。通过首先将当前帧划分成块(例如,宏块)并且在参考帧中搜索对每个块的最佳匹配,从而形成表示预测帧的预测信号。如此,确定了相对于参考帧的块的运动,并且将该运动信息编码成比特流作为运动矢量。通过对在比特流中编码的运动矢量数据进行解码,解码器能够重构精确的预测帧。
运动矢量不仅限于具有全像素精度(full-pixel accuracy),而且也可以具有分像素精度(fractional-pixel accuracy)。也就是说,运动矢量可以指向参考帧的分像素地点/位置,其中分像素位置可以指的是例如图像像素“之间(in between)”的位置。为了获得在分像素位置处的样本,在MCP过程中使用内插滤波器。常规的视频编码标准描述了解码器可如何通过定义内插滤波器来以分像素精度获得样本。在MPEG-2中,例如,运动矢量最多可以具有半像素精度,其中,通过简单地平均在全像素位置处的相邻样本来获得在半像素位置处的样本。H.264/AVC视频编码标准支持具有高达四分之一像素精度的运动矢量。此外,在H.264/AVC视频编码标准中,通过使用对称和可分离的6抽头滤波器来获得半像素样本,而通过平均最近的半像素样本或全像素样本来获得四分之一像素样本。
已知可以通过使用更高精度的运动矢量来获得在MCP过程中的更好预测。例如,使用具有1/8(八分之一)像素精度的运动矢量,可以增加视频编码系统的编码效率。然而,对高精度运动矢量的常规使用(例如在文献研究中并且如在开发H.264/AVC视频编码标准期间所考虑的)通常增加了编码和解码这二者的复杂度,其中该复杂度的增加涉及两个因素。第一因素是:编码器必须执行附加的运动估计步骤来检查候选的八分之一像素精度位置。第二因素是:需要编码器和解码器都执行附加且通常复杂的内插来获得八分之一像素样本。
例如,在下面的参考文献中描述了用于八分之一像素精度的两种不同的内插技术:T.Wedi,“1/8-pel motion vector resolution for H.26L”,ITU-TQ.15/SG16,doc.Q15-K-21,Porland,Oregon,USA,2000年8月;以及T.Wedi“Complexity reduced motion compensated prediction with 1/8-peldisplacement vector resolution”,ITU-T Q.6/SG 16,doc.VCEG-L20,Eibsee,Germany,2001年1月。第一常规算法使用三阶段内插过程来如图1所示在帧106中获得至少八分之一像素样本。相对于帧102和104使用6抽头(或8抽头)滤波,可以分别获得至少半像素样本和四分之一像素样本,并且使用双线性滤波可以获得八分之一像素样本。特别地,可以利用6抽头或8抽头的两个实例,例如,滤波器108和滤波器110,同时可以利用双线性滤波的单个实例,例如,滤波器112。利用该常规方法,由于需要例如执行相对于全帧100所应用的至少两个级联的6抽头内插,因此,四分之一像素样本和八分之一像素样本这二者的内插复杂度显著大于H.264/AVC视频编码标准的内插复杂度。另外,编码器将需要在存储单元中存储至少四分之一像素的上采样数据(upsampled data),以便实现有效运动估计。
第二算法涉及使用对四分之一和八分之一像素样本的直接内插来降低解码复杂度。因此,直接内插可以指的是仅通过使用整数样本而获得的四分之一和八分之一像素样本。以这样的方式,不需要执行具有长级联滤波的操作。该常规算法具有与H.264/AVC视频编码标准类似的解码复杂度。然而,该算法具有关于编码器复杂度的缺点。这是因为:编码器需要在运动估计阶段对每个候选的四分之一和八分之一像素运动矢量实现高复杂度内插。实现这样的高复杂度内插使编码过程的复杂度增加了可观的数量。
又一备选方案是在帧编码过程和将其存储在存储器中之前预先计算四分之一和八分之一像素样本。然而,该方法显著增加了编码器所需的存储器。因此,需要一种系统和方法,其利用不增加编码和/或解码过程的复杂度而增加系统和方法的编码效率的高精度运动矢量。
发明内容
各种实施例提供了用于在四分之一像素和更精准精度的情况下对帧预测样本的两阶段内插。也就是说,具有四分之一像素和更精准精度的所有样本在双线性内插中可以使用半像素或全/整数像素,以便允许使用更高精度的运动矢量,诸如八分之一像素精度运动矢量。可以按照以下方式来限制这些运动矢量:不允许它们指向子像素网格上每个可能的子像素样本,而是指向那些子像素样本的子集。另外,可用于获得四分之一像素样本的相同的全/整数和半像素样本还可以用于获得与所述四分之一像素样本相连的八分之一像素样本。因此,对于每个四分之一像素样本,运动矢量可以指向具有八分之一像素精度的两个附加位置,其中,可以使用用于获得四分之一像素样本的相同的半或整数像素样本来计算所述两个附加位置。因此,可以在不需要执行附加内插阶段或增加被配置来解码运动矢量数据的解码器的复杂度的情况下,获得任意的运动矢量精度。
当结合附图进行下面的详细描述时,本发明的这些和其它优点和特征连同本发明的组织和操作方式将变得显而易见,在附图中,贯穿下文所描述的若干附图中的相同元件具有相同的标记。
附图说明
图1图示了常规的三阶段内插结构;
图2示出了与本发明一起使用的通用多媒体通信系统;
图3是可以在本发明的实现中使用的移动设备的立体图;
图4是图3的移动设备的设备电路的示意性表示;
图5是根据一个实施例的所允许的像素位置和连接的图形表示;
图6是根据另一个实施例的所允许的像素位置和连接的图形表示;
图7是分数内插结构的图形表示;以及
图8示出了根据各种实施例所利用的表示法以表示全和子像素位置。
具体实施方式
图2示出了与本发明一起使用的通用多媒体通信系统。如图2所示,数据源200提供了按照模拟、未压缩数字或压缩数字格式或者这些格式的任何组合的源信号。编码器210将源信号编码成编码媒体比特流。编码器210能够对不止一个媒体类型进行编码,诸如音频和视频,或者可能需要不止一个编码器210来对不同媒体类型的源信号进行编码。编码器210还可以合成地获得所产生的输入,诸如图形和文本,或者它能够产生合成媒体的编码比特流。在下文中,仅考虑了对一种媒体类型的一个编码媒体比特流的处理,以便简化描述。然而,应当注意,通常实时广播服务包括若个个流(通常是至少一个音频、视频和文本子标题流)。还应当注意,该系统可以包括很多编码器,但是在下文中仅考虑了一个编码器210,以便在不失一般性的情况下简化描述。
应当理解,尽管在此所包含的文本和例子可以具体地描述编码过程,但是本领域的技术人员将很容易理解相同的概念和原理还应用于相应的解码过程,并且反之亦然。
编码媒体比特流被传送到存储器220。存储器220可以包括任何类型的大容量存储器以存储编码媒体比特流。在存储器220中的编码媒体比特流的格式可以是基本的自容式(elementary self-contained)比特流格式,或者可以将一个或多个编码媒体比特流封装到容器文件中。一些系统“现场”操作,即,省略存储器并且从编码器210将编码媒体比特流直接传送到发送机230。然后根据需要,将编码媒体比特流传送到也被称为服务器的发送机230。在传输中所使用的格式可以是基本的自容式比特流格式、分组流格式,或者可以将一个或多个编码媒体比特流封装到容器文件中。编码器210、存储器220和发送机230可以驻留在同一物理设备中,或者它们可以被包括在分离的设备中。编码器210和发送机230可以利用现场实时内容来操作,在这种情况下,通常不永久存储编码媒体比特流,而是在内容编码器210中和/或在发送机230中缓冲小的时段,从而消除处理延迟、传送延迟和编码媒体比特率中的变化。
发送机230使用通信协议栈来发送编码媒体比特流。该栈可以包括但不限于实时传输协议(RTP)、用户数据报协议(UDP)和网际协议(IP)。当通信协议栈面向分组时,发送机230将编码媒体比特流封装到分组中。例如,当使用RTP时,发送机230根据RTP有效载荷格式将编码媒体比特流封装到RTP分组中。通常,每个媒体类型均具有专用RTP有效载荷格式。再次应当注意,该系统可以含有不止一个发送机230,但是出于简化起见,下面的描述仅考虑了一个发送机230。
发送机230可以通过通信网络连接到或不连接到网关240。网关240可以实现不同类型的功能,例如,将根据一个通信协议栈的分组流转换成另一通信协议栈、使数据流合并和分叉,以及根据下行链路和/或接收机能力来操纵数据流(诸如根据现行下行链路网络状况来控制转发流的比特速率)。网关240的例子包括多点会议控制单元(MCU)、在电路交换与分组交换视频电话之间的网关、基于蜂窝的一键通(PoC)服务器、在手持式数字视频广播(DVB-H)系统中的IP封装器,或者将广播传输本地转发到家用无线网络的机顶盒。当使用RTP时,网关240被称为RTP混合器并且用作RTP连接的端点。
该系统包括一个或多个接收机250,其通常能够对所传送的信号进行接收、解调并解封装成编码媒体比特流。通常通过解码器260来进一步处理编解码器媒体比特流,解码器260的输出是一个或多个未压缩的媒体流。最后,举例来说,呈递器270可以利用扬声器或显示器来再现未压缩的媒体流。接收机250、解码器260和呈递器270可以驻留在同一物理设备中,或者它们可以被包括在分离的设备中。
应当注意,可以从位于虚拟的任何类型的网络中的远程设备接收待解码的比特流。另外,可以从本地硬件或软件接收比特流。
关于比特率、解码复杂度和图片大小的可扩缩性是对于非均匀和易错环境所期望的特性。期望该特性是为了对抗诸如比特速率约束、显示分辨率、网络吞吐量和接收设备中的计算能力的限制。
本发明的通信设备可以使用各种传输技术来通信,包括但不限于:码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议/网际协议(TCP/IP)、短消息传递服务(SMS)、多媒体消息传递服务(MMS)、电子邮件、即时消息传递服务(IMS)、蓝牙、IEEE 802.11等。通信设备可以使用各种媒体通信,包括但不限于无线电、红外、激光、线缆连接等。
图3和图4示出了可以在其中实现本发明的一个代表性移动设备12。然而,应当理解,本发明并不旨在受限于一种特定类型的移动设备12或其它电子设备。可以将图3和图4中所图示的一些或所有特征合并到图2中所表示的任何或所有设备中。
图3和图4的移动设备12包括壳体30、液晶显示器形式的显示器32、键板34、扩音器36、耳机38、电池40、红外端口42、天线44、根据本发明的一个实施例的UICC形式的智能卡46、读卡器48、无线电接口电路52、编解码器电路54、控制器56和存储器58。各个电路和元件是本领域公知的所有类型,例如诺基亚的移动电话系列。
各种实施例可以扩展常规的两阶段子像素内插算法(例如在H.264/AVC视频编码标准中所使用的算法),以便在不需要执行附加内插阶段或增加解码器的复杂度的情况下实现任意精度。也就是说,运动矢量可以被限制,从而使得允许它们仅指向这样的地点/位置,即,那些地点/位置直接位于可用于对四分之一像素样本进行内插的全像素样本与半像素样本之间。结果,可以从导出了最近的四分之一像素样本的相同的全和半像素样本导出子像素样本,而这些子像素样本可以比那些最近的四分之一像素样本具有更精准的精度。应当注意,除了H.264/AVC视频编码标准之外,还可以通过和/或结合其它视频编码标准来实现各种实施例。
一个实施例可以用于具有八分之一样本精度的运动矢量。在该示例性实施例中,图5中示出了当将各种实施例应用于H.264/AVC分数内插结构时允许运动像素指向的八分之一像素样本。类似地,图6中示出了在另一分数内插结构中允许运动矢量指向的八分之一像素样本,其中,在图7中示出了该结构(具体而言,子像素双线性内插结构)。在图5和图6中,这些八分之一像素样本分别由阴影圆501-524和601-624指示,并且被示为用箭头连接到相邻的四分之一像素样本。四分之一像素样本在图5中由三角形530-541指示并且在图6中由三角形630-641指示。半像素样本在图5和图6中分别由无阴影圆550-554和650-654指示。全/整数像素样本在图5和图6中分别由正方形560-563和660-663指示。
因此,图5和图6图示了还可以如何使用可用于获得四分之一像素样本的相同的全和半像素样本来获得该四分之一像素样本所连接的八分之一像素样本。在常规的两阶段内插中,可以使用两个最接近的半像素样本或整数像素样本的双线性滤波来计算四分之一像素。根据各种实施例,该技术可以被扩展应用于八分之一像素精度。也就是说,对于每个四分之一像素样本,运动矢量可以指向具有八分之一像素精度的两个附加地点/位置,其中,可以使用用于获得四分之一像素样本的相同的半或全/整数像素样本来计算这两个附加位置。
图5和图6示出了对于每个四分之一像素的这两个附加位置。例如,八分之一像素样本501和502在图5中被连接到四分之一像素样本530。举例来说,图6也将八分之一像素样本608和612示为连接到四分之一像素样本635。应当注意,在一个实施例中,可以利用八分之一像素偏移(one_eighth_pixel_offset)语义元素来指示这两个附加位置中的每一个位置以及与这一组两个附加位置相连的原始的四分之一像素位置。还应当注意,举例来说,仅当运动矢量没有指向全或半像素地点/位置时,才需要传送该八分之一像素偏移语义元素。
根据一个实施例,因为运动矢量受限于八分之一像素分辨率,所以可以利用与常规编码技术不同的运动矢量编码技术。例如,可以按照相对于H.264/AVC编码标准所常规执行的相同方式来对全、半和四分之一像素运动矢量进行编码。然而,如果初始传送的运动矢量具有四分之一像素精度,则可以传送附加的语义元素以指示至少一个八分之一像素偏移(如果存在的话)。可选地,运动矢量可以具有大于八分之一像素精度的精度,在这种情况下,语义元素可以指示适合于更高精度级别的偏移。
根据各种实施例,存在可以保存用于传送上述偏移的比特的特定方法。一种方法可以涉及根据相邻宏块来预测偏移,因而重新布置所利用的可变长度代码。另一种方法可以涉及基于在比特流中编码的运动矢量差来预测偏移(例如,如果在比特流中指示了零运动矢量差,则可以使用从用于为该块生成预测运动矢量的运动矢量所导出的偏移)。可以利用又一方法,其中可以为图片、图片组、宏块、宏块组或块来指示运动精度。例如,可以在宏块报头中设置指示,其中该指示可以用信号通知:仅四分之一像素运动精度被应用于宏块。在这种情况下,不需要在宏块中为运动矢量传送附加语义。可选地,可以取决于宏块的模式来配置该指示。例如,在宏块仅具有一个运动矢量的情形下(例如,运动分区大小是16×16),该指示不会保存很多比特并且因此可以避免该指示。
下面详细描述了根据可以支持八分之一像素精度运动矢量的视频编码系统和方法的各种实施例通过和/或结合编码器和解码器所执行的示例性过程。然而,应当注意,各种实施例可以扩展成以更精准的精度八分之一像素精度来操作。
相对于示例性解码操作/算法,可以获得一个或多个八分之一像素位置。关于示例性编码器操作/算法,可以找到一个或多个八分之一像素精度运动矢量。应当注意,对于解码器/编码器算法可以进行特定的假设。例如,可以假设对每个四分之一像素运动矢量传送至少八分之一像素偏移语义元素,而对宏块报头中所出现的另一语义元素没有任何依赖性。如果对于改进编码效率存在依赖性,则可以以直接的方式来扩展下面在表1中描述的算法。另外,可以假设并不根据相邻宏块来预测八分之一像素偏移。然而,如果期望根据相邻宏块来预测八分之一像素,则应当注意,也可以直接扩展这些算法。
根据示例性解码操作,在解码了运动矢量之后,如果所解码的运动矢量对应于四分之一像素精度,则解码器(例如解码器260)可以读取八分之一像素偏移语义元素。使用四分之一像素运动矢量,解码器260可以计算该运动矢量所指向的四分之一像素位置。图8图示了可以与下面在表1中所描述的算法一起利用的可能的表示结构。换句话说,使用四分之一像素位置和八分之一像素偏移,解码器260可以使用表1中所出现的公式,以获得相关的八分之一像素精度样本。例如,可以将图8所示的表示结构应用于图5所示的各种像素位置。也就是说,图8的四分之一像素位置“a”可以指的是图5的四分之一像素位置530,其中“-1”八分之一像素偏移可以指的是八分之一像素样本501,并且“1”八分之一像素偏移可以指的是八分之一像素样本502。应当注意,下面描述的公式/算法可应用于H.264/AVC视频编码标准的分数内插结构以及图7所示的子像素双线性内插结构。然而,这些公式/算法可以扩展/适用于与分数内插结构一起使用,包括但不限于H.241/RCDO。
四分之一像素位置 八分之一像素偏移 用于H.264/AVC的公式/算法   用于图7的子像素双线性内插结构的公式/算法
  a   -1   (3*A+b+2)>>2   (3*A+b+2)>>2
  0   (A+b+1)>>1   (A+b+1)>>1
  1   (A+3*b+2)>>2   (A+3*b+2)>>2
  c   -1   (3*b+B+2)>>2   (3*b+B+2)>>2
  0   (b+B+1)>>1   (b+B+1)>>1
  1   (b+3*B+2)>>2   (b+3*B+2)>>2
  d   -1   (3*A+h+2)>>2   (3*A+h+2)>>2
  0   (A+h+1)>>1   (A+h+1)>>1
  1   (A+3*h+2)>>2  (A+3*h+2)>>2
  e   -1   (3*b+h+2)>>2  (3*A+j+2)>>2
  0   (b+h+1)>>1  (A+j+1)>>1
  1   (b+3*h+2)>>2  (A+3*j+2)>>2
  f   -1   (3*b+h+2)>>2  (7*b+b0+4)>>3
  0   (b+h+1)>>1  (3*b+b0+2)>>2
  1   (b+3*h+2)>>2  (5*b+3*b0+4)>>3
  g   -1   (3*b+h0+2)>>2  (3*B+j+2)>>2
  0   (b+h0+1)>>1  (B+j+1)>>1
  1   (b+3*h0+2)>>2  (B+3*j+2)>>2
  i   -1   (3*h+j+2)>>2  (7*h+h0+4)>>3
  0   (h+j+1)>>1  (3*h+h0+2)>>2
  1   (h+3*j+2)>>2  (5*h+3*h0+4)>>3
  k   -1   (3*j+h0+2)>>2  (h+7*h0+4)>>3
  0   (j+h0+1)>>1  (h+3*h0+2)>>2
  1   (j+3*h0+2)>>2  (3*h+5*h0+4)>>3
  l   -1   (3*h+C+2)>>2  (3*h+C+2)>>2
  0   (h+C+1)>>1  (h+C+1)>>1
  1   (h+3*C+2)>>2  (h+3*C+2)>>2
  m   -1   (3*h+b0+2)>>2  (3*j+C+2)>>2
  0   (h+b0+1)>>1  (j+C+1)>>1
  1   (h+3*b0+2)>>2  (j+3*C+2)>>2
  n   -1   (3*j+b0+2)>>2  (3*b+5*b0+4)>>3
  0   (j+b0+1)>>1  (b+3*b0+2)>>2
  1   (j+3*b0+2)>>2  (b+7*b0+4)>>3
  o   -1   (3*h0+b0+2)>>2  (3*j+D+2)>>2
  0   (h0+b0+1)>>1  (j+D+1)>>1
  1   (h0+3*b0+2)>>2  (j+3*D+2)>>2
表1
根据用于发现八分之一像素运动矢量的示例性编码操作,应当注意,可以优化编码器算法用于低复杂性。然而,如果需要的话,可以利用更高复杂度编码操作来实现更好的编码效率。示例性编码操作被配置以便找到最佳的全/整数和半像素精度运动矢量。此后,进行对相邻的四分之一像素位置的搜索。对于四分之一像素位置,可以适当地修改代价函数以便包括作为零的对八分之一像素偏移的指示。如果给出最低代价的运动矢量具有四分之一像素精度,则可以使用在表1中描述的公式来完成对两个候选的八分之一像素偏移(即,-1和1)的搜索。应当注意,对于该搜索,可以适当地修改代价函数,以便包括作为1或-1的对八分之一像素偏移的指示。
因此,各种实施例可以在四分之一像素和更精准精度的情况下提供用于所有样本的两阶段内插(即,所有四分之一像素和更精准的精度样本在双线性内插中使用半和/或全/整数像素)。如上所述,这可以通过以下方式来实现:限制运动矢量,从而使得不允许它们指向子像素网格上每个可能的子像素样本,而是指向每个可能的子像素样本的子集。
在方法步骤或过程的一般上下文中描述了文中所描述的各种实施例,这可以通过由联网环境中的计算机执行的计算机程序产品而在一个实施例中实现,所述计算机程序产品体现在计算机可读介质中,包括诸如程序代码的计算机可执行指令。计算机可读介质可以包括可装卸和非可装卸的存储设备,包括但不限于:只读存储器(ROM)、随机访问存储器(RAM)、光盘(CD)、数字多用途光盘(DVD)等。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。与数据结构相关联的计算机可执行指令以及程序模块表示用于执行在此公开的方法的步骤的程序代码的例子。这样的可执行指令的特定序列或关联的数据结构表示用于实现在这样的步骤或过程中所描述的功能的相应动作的例子。
本发明的实施例可以以软件、硬件、应用逻辑或软件、硬件和应用逻辑的组合来实现。软件、应用逻辑和/或硬件可以驻留在例如芯片集、移动设备、台式计算机、膝上型计算机或服务器上。各种实施例的软件和Web实现可以利用具有基于规则的逻辑和其它逻辑的标准编程技术来实现,从而实现各种数据库搜索步骤或过程、相关步骤或过程、比较步骤或过程以及判决步骤或过程。各种实施例还可以完全或部分地在网络元件或模块内实现。应当注意,如在此和在下面的权利要求中使用的,措辞“组件”和“模块”旨在涵盖使用一行或多行软件代码的实现和/或硬件实现,和/或用于接收手动输入的设备。
在前述例子中描述的各个结构和特定结构应当被理解为构成用于执行在下面的权利要求中所描述的特定功能的装置的代表性结构,尽管如果在此没有使用术语“装置”,则在权利要求中的限制不应当被解释成构成“装置加功能”的限制。另外,在前述描述中使用术语“步骤”不应当用于将权利要求中的任何特定限制解释为构成“步骤加功能”的限制。至于在此描述或以其它方式提及的各个引用,包括授权的专利、专利申请和非专利公开,这样的引用并不旨在并且也不应当被解释为显示下面的权利要求的范围。
已经出于说明和描述的目的给出了对前述实施例的描述。前述描述并不旨在将本发明的实施例穷尽或限制成所公开的确切形式,并且鉴于以上教导可以进行修改和变化,或者从各种实施例的实践中获取修改和变化。选择和描述在此讨论的实施例是为了解释各种实施例的原理和性质及其实践应用,以使得本领域技术人员能够在各种实施例中利用本发明,并且各种修改适于特定的预期使用。在此描述的实施例的特征可以在方法、装置、模块、系统和计算机程序产品的所有可能的组合中进行组合。

Claims (37)

1.一种对在比特流中编码的运动矢量数据进行解码的方法,其包括:
确定在比特流中对像素偏移语义元素进行了编码并且运动矢量具有至少四分之一像素精度;
读取所述像素偏移语义元素;
利用具有所述至少四分之一像素精度的运动矢量,计算所述运动矢量所指向的具有所述至少四分之一像素精度的第一样本的位置;以及
利用分数内插结构算法来获得具有大于第一样本的像素精度的第二样本。
2.根据权利要求1所述的方法,其中所述像素偏移语义元素包括八分之一像素偏移语义元素,并且所述第二样本包括八分之一像素精度样本。
3.根据权利要求1所述的方法,其中所述像素偏移语义元素和所述第二样本具有大于八分之一像素精度的精度。
4.根据权利要求1所述的方法,其中所述第二样本表示与所述第一样本相关联的至少两个附加样本位置中的一个,所述至少两个附加样本位置各自具有大于所述至少四分之一像素精度的精度。
5.根据权利要求4所述的方法,其中,使用全像素样本位置和半像素样本位置中的至少一个来计算所述至少两个附加样本位置,并且其中,所述全像素样本位置和所述半像素样本位置中的所述至少一个是用于确定具有所述至少四分之一像素精度的第一样本的相同样本位置。
6.根据权利要求1所述的方法,其中所述像素偏移语义元素表示像素偏移,并且所述像素偏移指示所述第二样本的位置。
7.根据权利要求6所述的方法,其中所述像素偏移语义元素并不依赖于宏块报头中所出现的另一像素偏移语义元素,并且不根据相邻宏块报头来预测所述像素偏移。
8.根据权利要求6所述的方法,其中所述像素偏移是根据相邻宏块来预测的。
9.根据权利要求6所述的方法,其中所述像素偏移是基于在所述比特流中编码的运动矢量差来预测的。
10.根据权利要求6所述的方法,其中所述像素偏移为与所述像素偏移有关的图片、图片组、宏块、宏块组和块中的至少一个指示了运动精度。
11.根据权利要求10所述的方法,其中所述运动精度取决于至少所述宏块的模式。
12.根据权利要求6所述的方法,其进一步包括:如果所述偏移语义元素取决于另一偏移语义元素,则利用扩展的分数内插结构算法。
13.根据权利要求1所述的方法,其中所述运动矢量不指向在包括至少所述第一样本和所述第二样本的子像素网格上的每个可能的子像素样本。
14.一种体现在计算机可读介质上的计算机程序产品,其包括被配置以便实现权利要求1的过程的计算机代码。
15.一种装置,其包括:
处理器;以及
存储单元,所述存储单元在操作上连接到所述处理器并且包括:
被配置以便确定在比特流中对像素偏移语义元素进行了编码并且在所述比特流中编码的运动矢量具有至少四分之一像素精度的计算机代码;
被配置以便读取所述像素偏移语义元素的计算机代码;
被配置以便利用具有所述至少四分之一像素精度的运动矢量来计算所述运动矢量所指向的具有所述至少四分之一像素精度的第一样本的位置的计算机代码;以及
被配置以便利用分数内插结构算法来获得具有大于第一样本的像素精度的第二样本的计算机代码。
16.根据权利要求15所述的装置,其中所述像素偏移语义元素包括八分之一像素偏移语义元素,并且所述第二样本包括八分之一像素精度样本。
17.根据权利要求15所述的装置,其中所述第二样本表示与所述第一样本相关联的至少两个附加样本位置中的一个,所述至少两个附加样本位置各自具有大于所述至少四分之一像素精度的精度。
18.根据权利要求17所述的装置,其中使用全像素样本位置和半像素样本位置中的至少一个来计算所述至少两个附加样本位置,并且其中,所述全像素样本位置和所述半像素样本位置中的所述至少一个是用于确定具有所述至少四分之一像素精度的第一样本的相同样本位置。
19.根据权利要求15所述的装置,其中所述像素偏移语义元素表示像素偏移,并且所述像素偏移指示所述第二样本的位置。
20.根据权利要求15所述的装置,其中限制所述运动矢量不指向在包括至少所述第一样本和所述第二样本的子像素网格上的每个可能的子像素样本。
21.一种在比特流中对运动矢量进行编码的方法,其包括:
确定最优全像素精度运动矢量和最优半像素精度运动矢量中的至少一个;
搜索与所述最优全像素精度运动矢量和所述最优半像素精度运动矢量中的所述至少一个相邻的至少一个四分之一像素精度位置;
应用代价函数分析来确定最低代价运动矢量是否具有四分之一像素精度;
在确定最低代价运动矢量具有四分之一像素精度时,搜索至少两个候选像素偏移,所述至少两个候选像素偏移中的每一个指示具有大于四分之一像素精度的精度的样本;以及
在比特流中对至少一个像素偏移语义元素进行编码,所述至少一个像素偏移语义元素指示在最低代价运动矢量的情况下所述至少两个候选像素偏移中的至少一个。
22.根据权利要求21所述的方法,其中所述像素偏移语义元素包括八分之一像素偏移语义元素,并且所述样本包括八分之一像素精度样本。
23.根据权利要求21所述的方法,其中所述像素偏移语义元素和所述样本具有大于八分之一像素精度的精度。
24.根据权利要求21所述的方法,其进一步包括:当所述运动矢量没有指向全像素位置和半像素位置之一时,传送所述像素偏移语义元素。
25.根据权利要求21所述的方法,其中所述像素偏移语义元素不依赖于宏块报头中所出现的另一像素偏移语义元素,并且并不根据相邻宏块报头来预测所述像素偏移。
26.根据权利要求21所述的方法,其中所述至少两个候选像素偏移是根据相邻宏块来预测的。
27.根据权利要求21所述的方法,其中所述至少两个候选像素偏移是基于在所述比特流中编码的运动矢量差来预测的。
28.根据权利要求21所述的方法,其进一步包括:为与所述像素偏移有关的图片、图片组、宏块、宏块组和块中的至少一个指示运动精度。
29.根据权利要求28所述的方法,其中,在图片、图片组、宏块、宏块组和块中的所述至少一个应用了四分之一像素精度的情况下,不传送所述像素偏移语义元素。
30.根据权利要求28所述的方法,其中取决于至少所述宏块的模式来配置对运动精度的指示。
31.根据权利要求21所述的方法,其中限制所述运动矢量不指向在包括至少所述第一样本和所述第二样本的子像素网格上的每个可能的子像素样本。
32.一种体现在计算机可读介质上的计算机程序产品,其包括被配置以便实现权利要求21的过程的计算机代码。
33.一种装置,其包括:
处理器;以及
存储单元,所述存储单元在操作上连接到所述处理器并且包括:
被配置以便确定最优全像素精度运动矢量和最优半像素精度运动矢量中的至少一个的计算机代码;
被配置以便搜索与所述最优全像素精度运动矢量和所述最优半像素精度运动矢量中的所述至少一个相邻的至少一个四分之一像素精度位置的计算机代码;
被配置以便应用代价函数分析来确定最低代价运动矢量是否具有四分之一像素精度的计算机代码;
被配置以便在确定最低代价运动矢量具有四分之一像素精度时,搜索至少两个候选像素偏移的计算机代码,所述至少两个候选像素偏移中的每一个指示具有大于四分之一像素精度的精度的样本;以及
被配置以便在比特流中对至少一个像素偏移语义元素进行编码的计算机代码,所述至少一个像素偏移语义元素指示在最低代价运动矢量的情况下所述至少两个候选像素偏移中的至少一个。
34.根据权利要求33所述的装置,其中所述像素偏移语义元素包括八分之一像素偏移语义元素,并且所述样本包括八分之一像素精度样本。
35.根据权利要求33所述的装置,其中所述像素偏移语义元素和所述样本具有大于八分之一像素精度的精度。
36.根据权利要求33所述的装置,其进一步包括:当所述运动矢量没有指向全像素位置和半像素位置之一时,传送所述像素偏移语义元素。
37.根据权利要求33所述的装置,其中限制所述运动矢量不指向在包括至少所述样本的子像素网格上的每个可能的子像素样本。
CN2008800108875A 2007-04-09 2008-04-08 以低编码器和解码器复杂度进行视频编码的高精度运动矢量 Active CN101658044B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US91078307P 2007-04-09 2007-04-09
US60/910,783 2007-04-09
PCT/IB2008/051325 WO2008122956A2 (en) 2007-04-09 2008-04-08 High accuracy motion vectors for video coding with low encoder and decoder complexity

Publications (2)

Publication Number Publication Date
CN101658044A true CN101658044A (zh) 2010-02-24
CN101658044B CN101658044B (zh) 2012-11-14

Family

ID=39745237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800108875A Active CN101658044B (zh) 2007-04-09 2008-04-08 以低编码器和解码器复杂度进行视频编码的高精度运动矢量

Country Status (9)

Country Link
US (1) US8275041B2 (zh)
EP (1) EP2132941B1 (zh)
JP (1) JP2010524379A (zh)
KR (1) KR101129972B1 (zh)
CN (1) CN101658044B (zh)
BR (1) BRPI0809668B1 (zh)
CA (1) CA2681210C (zh)
MX (1) MX2009010527A (zh)
WO (1) WO2008122956A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106576171A (zh) * 2014-08-22 2017-04-19 高通股份有限公司 统一帧内块复制和帧间预测
CN110099278A (zh) * 2014-01-08 2019-08-06 微软技术许可有限责任公司 选择运动向量精度
CN110460861A (zh) * 2014-01-08 2019-11-15 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
US10515134B2 (en) 2001-08-30 2019-12-24 Nokia Technologies Oy Implementation of a transform and of a subsequent quantization
CN117939147A (zh) * 2024-03-25 2024-04-26 北京中星微人工智能芯片技术有限公司 视频编解码装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US8804831B2 (en) * 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US8705615B1 (en) * 2009-05-12 2014-04-22 Accumulus Technologies Inc. System for generating controllable difference measurements in a video processor
KR20110017302A (ko) * 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
WO2011046587A1 (en) * 2009-10-14 2011-04-21 Thomson Licensing Methods and apparatus for adaptive coding of motion information
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
CN102742270B (zh) * 2010-02-05 2016-02-03 瑞典爱立信有限公司 用于子像素插值的改进的方法和设备
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN101990103B (zh) * 2010-11-10 2013-01-16 香港应用科技研究院有限公司 用于多视点视频编码的方法和装置
WO2013006386A1 (en) 2011-07-01 2013-01-10 General Instrument Corporation Motion vector prediction design simplification
WO2013067440A1 (en) * 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
KR101682999B1 (ko) 2012-04-16 2016-12-20 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
CA2873496A1 (en) * 2012-05-14 2013-11-21 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
EP3264768A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
EP1237376B1 (en) * 1997-06-09 2015-08-05 Hitachi, Ltd. Image information recording medium
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
JP3797209B2 (ja) * 2001-11-30 2006-07-12 ソニー株式会社 画像情報符号化方法及び装置、画像情報復号方法及び装置、並びにプログラム
JP2003274410A (ja) * 2002-03-13 2003-09-26 Hitachi Ltd 監視映像の符号化装置及び復号装置並びに符号化方法
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US20040252766A1 (en) * 2003-06-11 2004-12-16 Daeyang Foundation (Sejong University) Motion vector search method and apparatus
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
EP1730967B1 (en) 2004-03-31 2013-07-03 Samsung Electronics Co., Ltd. Method and apparatus for effectively compressing motion vectors in multi-layer structure
KR100587561B1 (ko) * 2004-04-08 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 구현하는 방법 및 장치
KR100586882B1 (ko) * 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
KR20060059769A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 영상신호의 엔코딩시에 베이스 레이어 픽처의 벡터를이용하기 위한 미세정보를 코딩하는 방법과 그 미세정보를이용하는 디코딩 방법
US20060133507A1 (en) * 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
KR100772390B1 (ko) * 2006-01-23 2007-11-01 삼성전자주식회사 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치
US8208553B2 (en) * 2006-05-04 2012-06-26 Altera Corporation Methods and apparatus for quarter-pel refinement in a SIMD array processor

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515134B2 (en) 2001-08-30 2019-12-24 Nokia Technologies Oy Implementation of a transform and of a subsequent quantization
CN110099278A (zh) * 2014-01-08 2019-08-06 微软技术许可有限责任公司 选择运动向量精度
CN110460861A (zh) * 2014-01-08 2019-11-15 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
CN110099278B (zh) * 2014-01-08 2022-10-14 微软技术许可有限责任公司 选择运动向量精度
CN110460861B (zh) * 2014-01-08 2022-11-18 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
US11546629B2 (en) 2014-01-08 2023-01-03 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US11638016B2 (en) 2014-01-08 2023-04-25 Microsoft Technology Licensing, Llc Selection of motion vector precision
CN106576171A (zh) * 2014-08-22 2017-04-19 高通股份有限公司 统一帧内块复制和帧间预测
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
CN106576171B (zh) * 2014-08-22 2019-11-19 高通股份有限公司 一种对视频数据进行编码、解码的方法以及装置
CN117939147A (zh) * 2024-03-25 2024-04-26 北京中星微人工智能芯片技术有限公司 视频编解码装置
CN117939147B (zh) * 2024-03-25 2024-05-28 北京中星微人工智能芯片技术有限公司 视频编解码装置

Also Published As

Publication number Publication date
US8275041B2 (en) 2012-09-25
KR20100005211A (ko) 2010-01-14
JP2010524379A (ja) 2010-07-15
WO2008122956A2 (en) 2008-10-16
MX2009010527A (es) 2009-10-26
CA2681210C (en) 2021-03-02
EP2132941B1 (en) 2017-05-17
WO2008122956A3 (en) 2008-12-24
CA2681210A1 (en) 2008-10-16
EP2132941A2 (en) 2009-12-16
BRPI0809668B1 (pt) 2020-07-28
BRPI0809668A2 (pt) 2014-10-07
KR101129972B1 (ko) 2012-03-26
US20080253459A1 (en) 2008-10-16
CN101658044B (zh) 2012-11-14

Similar Documents

Publication Publication Date Title
CN101658044B (zh) 以低编码器和解码器复杂度进行视频编码的高精度运动矢量
CN104822062A (zh) 用于视频编码中扩展空间可分级性的改进层间预测
CN101755458B (zh) 可缩放视频编码方法和装置以及可缩放视频解码方法和装置
CN109479143B (zh) 一种帧间预测的图像编解码方法和装置
CN101263718B (zh) 集成数字译码方法
CN101335896B (zh) 用于前向预测的隔行扫描视频帧的场的预测运动矢量
CN101263717A (zh) 任意分辨率改变尺寸缩小解码器
CN101233760A (zh) 在视频编码中用于改进的编码模式控制的方法、设备和模块
CN101816016A (zh) 利用像素对准的方向性自适应插值滤波器的视频编码
KR20090133126A (ko) 모션 벡터 예측을 위한 방법 및 시스템
JP2011501542A (ja) フレーム間予測符号化の方法および装置
KR20080044874A (ko) 비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치
CN102318347A (zh) 图像处理设备和方法
RU2427099C2 (ru) Кодирование с преобразованием и пространственным улучшением
EP3809705B1 (en) Motion vector prediction method and device, and codec
WO2017005096A2 (zh) 一种多路视频流的编码方法及装置
CN109922336A (zh) 视频数据的帧间预测方法和装置
CN103167286A (zh) 用于运动估计的详尽的子宏块形状候选保存和恢复协议
Grecos et al. Advances in video networking: standards and applications
KR101165212B1 (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160205

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj