CN102845062A - 用于几何运动分割的定点实施方案 - Google Patents

用于几何运动分割的定点实施方案 Download PDF

Info

Publication number
CN102845062A
CN102845062A CN201180018707XA CN201180018707A CN102845062A CN 102845062 A CN102845062 A CN 102845062A CN 201180018707X A CN201180018707X A CN 201180018707XA CN 201180018707 A CN201180018707 A CN 201180018707A CN 102845062 A CN102845062 A CN 102845062A
Authority
CN
China
Prior art keywords
subregion
value
mask
pixel
intercept
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
CN201180018707XA
Other languages
English (en)
Other versions
CN102845062B (zh
Inventor
拉詹·L·乔希
陈培松
马尔塔·卡切维奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/012,126 external-priority patent/US8879632B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102845062A publication Critical patent/CN102845062A/zh
Application granted granted Critical
Publication of CN102845062B publication Critical patent/CN102845062B/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)

Abstract

在一个实例中,一种设备包括视频编码器,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一分区及第二分区;计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来编码所述第一分区及所述第二分区;以及输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。这可允许定点实施方案。视频解码器可接收所述斜率值及y截距值以计算所述掩码且基于所述掩码来解码所述块。

Description

用于几何运动分割的定点实施方案
本申请案主张2010年2月18日申请的第61/305,892号美国临时申请案、2010年4月12日申请的第61/323,233号美国临时申请案及2010年4月12日申请的第61/323,244号美国临时申请案的优先权,所述临时申请案中的每一者的全部内容以引用的方式明确地并入本文中。
相关申请案的交叉参考
本专利申请案与以下共同待决的美国专利申请案相关:陈(Chen)等人的“平滑从几何运动分割产生的重叠区域(SMOOTHING OVERLAPPED REGIONS RESULTINGFROM GEOMETRIC MOTION PARTITIONING)”,所述申请案具有代理人案号101050U1,与本专利申请案同时申请,已转让给本受让人,且以引用的方式明确地并入本文中;陈(Chen)等人的“用于几何运动分割的自适应性变换尺寸选择(ADAPTIVETRANSFORM SIZE SELECTION FOR GEOMETRIC MOTION PARTITIONING)”,所述申请案具有代理人案号101050U2,与本专利申请案同时申请,已转让给本受让人,且以引用的方式明确地并入本文中;以及陈(Chen)等人的“编码用于几何运动分割的运动向量(ENCODING MOTION VECTORS FOR GEOMETRIC MOTION PARTITIONING)”,所述申请案具有代理人案号101050U3,与本专利申请案同时申请,已转让给本受让人,且以引用的方式明确地并入本文中。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似者。数字视频装置实施视频压缩技术(例如,在MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分“高级视频译码(AVC)”所定义的标准及这些标准的扩展中所描述的技术),以更有效率地发射及接收数字视频信息。
视频压缩技术执行空间预测及/或时间预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,可将视频帧或片段分割为多个宏块。可进一步分割每一宏块。使用关于相邻宏块的空间预测来编码经帧内译码(I)帧或片段中的宏块。经帧间译码(P或B)帧或片段中的宏块可使用关于同一帧或片段中的相邻宏块的空间预测或关于其它参考帧的时间预测。
发明内容
一般来说,本发明描述用于支持视频块的几何运动分割的技术。也就是说,本发明的技术提供使用任意分区边界来分割矩形块(被称为几何运动分割),而非将所述块分割为两个或两个以上严格矩形分区。为了支持几何运动分割,本发明提供用于在分区边界处针对分区的重叠部分执行运动补偿的技术。本发明还提供用于自适应性地选择经分割块的子块的变换尺寸的技术。此外,本发明提供用于个别地编码分区的运动向量的技术。此外,可使用定点或浮点实施方案来执行本发明的技术。
在一个实例中,一种方法包括:使用几何运动分割线将视频数据块分割为第一分区及第二分区;使用滤波器来计算所述块的在过渡区域中的像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的在所述过渡区域中的所述像素的残余值;以及输出所述像素的所述残余值。
在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一分区及第二分区;使用滤波器来计算所述块的在过渡区域中的像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的在所述过渡区域中的所述像素的残余值;以及输出所述像素的所述残余值。
在另一实例中,一种设备包括:用于使用几何运动分割线将视频数据块分割为第一分区及第二分区的装置;用于使用滤波器来计算所述块的在过渡区域中的像素的预测值的装置,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;用于基于所述过渡区域中的所述像素的所述预测值来计算所述块的在所述过渡区域中的所述像素的残余值的装置;以及用于输出所述像素的所述残余值的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:使用几何运动分割线将视频数据块分割为第一分区及第二分区;使用滤波器来计算所述块的在过渡区域中的像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的在所述过渡区域中的所述像素的残余值;以及输出所述像素的所述残余值。
在另一实例中,一种方法包括:接收经编码视频数据块、将所述经编码块分割为第一分区及第二分区的几何运动分割线的定义及所述块的在过渡区域中的像素的残余值;使用滤波器来计算所述块的在所述过渡区域中的所述像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述预测值及所述残余值来计算所述块的在所述过渡区域中的所述像素的经重构值;以及输出所述像素的所述经重构值。
在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以:接收经编码视频数据块、将所述经编码块分割为第一分区及第二分区的几何运动分割线的定义及所述块的在过渡区域中的像素的残余值;使用滤波器来计算所述块的在所述过渡区域中的所述像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述预测值及所述残余值来计算所述块的在所述过渡区域中的所述像素的经重构值;以及输出所述像素的所述经重构值。
在另一实例中,一种设备包括:用于接收经编码视频数据块、将所述经编码块分割为第一分区及第二分区的几何运动分割线的定义及所述块的在过渡区域中的像素的残余值的装置;用于使用滤波器来计算所述块的在所述过渡区域中的所述像素的预测值的装置,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;用于基于所述预测值及所述残余值来计算所述块的在所述过渡区域中的所述像素的经重构值的装置;以及用于输出所述像素的所述经重构值的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:接收经编码视频数据块、将所述经编码块分割为第一分区及第二分区的几何运动分割线的定义及所述块的在过渡区域中的像素的残余值;使用滤波器来计算所述块的在所述过渡区域中的所述像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述预测值及所述残余值来计算所述块的在所述过渡区域中的所述像素的经重构值;以及输出所述像素的所述经重构值。
在另一实例中,一种方法包括:使用几何运动分割线将视频数据块分割为第一几何分区及第二几何分区,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来编码所述几何运动分割线所穿过的所述子块中的至少一者。
在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一几何分区及第二几何分区,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来编码所述几何运动分割线所穿过的所述子块中的至少一者。
在另一实例中,一种设备包括:用于使用几何运动分割线将视频数据块分割为第一几何分区及第二几何分区的装置,其中所述块包含N×N个像素;用于将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块的装置;以及用于使用小于(N/2)×(N/2)的变换尺寸来编码所述几何运动分割线所穿过的所述子块中的至少一者的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:使用几何运动分割线将视频数据块分割为第一几何分区及第二几何分区,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来编码所述几何运动分割线所穿过的所述子块中的至少一者。
在另一实例中,一种方法包括:接收通过几何运动分割线分割为第一几何分区及第二几何分区的经编码视频数据块,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来逆变换所述几何运动分割线所穿过的所述子块中的至少一者。
在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以:接收通过几何运动分割线分割为第一几何分区及第二几何分区的经编码视频数据块,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来逆变换所述几何运动分割线所穿过的所述子块中的至少一者。
在另一实例中,一种设备包括:用于接收通过几何运动分割线分割为第一几何分区及第二几何分区的经编码视频数据块的装置,其中所述块包含N×N个像素;用于将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块的装置;以及用于使用小于(N/2)×(N/2)的变换尺寸来逆变换所述几何运动分割线所穿过的所述子块中的至少一者的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:接收通过几何运动分割线分割为第一几何分区及第二几何分区的经编码视频数据块,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来逆变换所述几何运动分割线所穿过的所述子块中的至少一者。
在另一实例中,一种方法包括:使用几何运动分割线将视频数据块分割为第一分区及第二分区;确定所述第一分区的第一运动向量及所述第二分区的第二运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来编码所述第一运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来编码所述第二运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及输出所述经编码的第一及第二运动向量。
在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一分区及第二分区;确定所述第一分区的第一运动向量及所述第二分区的第二运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来编码所述第一运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来编码所述第二运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及输出所述经编码的第一及第二运动向量。
在另一实例中,一种设备包括:用于使用几何运动分割线将视频数据块分割为第一分区及第二分区的装置;用于确定所述第一分区的第一运动向量及所述第二分区的第二运动向量的装置;用于基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来编码所述第一运动向量的装置;用于基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来编码所述第二运动向量的装置,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及用于输出所述经编码的第一及第二运动向量的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:确定相邻于经分割块的块集合;确定所述块集合的包含相邻于第一分区的块的第一子集;以及独立于确定所述第一子集而确定所述块集合的包含相邻于所述第二分区的块的第二子集。
在另一实例中,一种方法包括:接收通过几何运动分割线分割为第一分区及第二分区的视频数据块、所述第一分区的第一经编码运动向量及所述第二分区的第二经编码运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来解码所述第一经编码运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来解码所述第二经编码运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及使用所述经解码的第一及第二运动向量来解码所述块。
在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以:接收通过几何运动分割线分割为第一分区及第二分区的视频数据块、所述第一分区的第一经编码运动向量及所述第二分区的第二经编码运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来解码所述第一经编码运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来解码所述第二经编码运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及使用所述经解码的第一及第二运动向量来解码所述块。
在另一实例中,一种设备包括:用于接收通过几何运动分割线分割为第一分区及第二分区的视频数据块、所述第一分区的第一经编码运动向量及所述第二分区的第二经编码运动向量的装置;用于基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来解码所述第一经编码运动向量的装置;用于基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来解码所述第二经编码运动向量的装置,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及用于使用所述经解码的第一及第二运动向量来解码所述块的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:接收通过几何运动分割线分割为第一分区及第二分区的视频数据块、所述第一分区的第一经编码运动向量及所述第二分区的第二经编码运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来解码所述第一经编码运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来解码所述第二经编码运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及使用所述经解码的第一及第二运动向量来解码所述块。
在另一实例中,一种方法包括:使用几何运动分割线将视频数据块分割为第一分区及第二分区;计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来编码所述第一分区及所述第二分区;以及输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一分区及第二分区;计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来编码所述第一分区及所述第二分区;以及输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
在另一实例中,一种设备包括:用于使用几何运动分割线将视频数据块分割为第一分区及第二分区的装置;用于计算所述几何运动分割线的斜率值及y截距值的装置,其中所述斜率值及所述y截距值包含整数值;用于计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码的装置;用于基于所述掩码来编码所述第一分区及所述第二分区的装置;以及用于输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:使用几何运动分割线将视频数据块分割为第一分区及第二分区;计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来编码所述第一分区及所述第二分区;以及输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
在另一实例中,一种方法包括:接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及输出所述经解码块。
在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以:接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及输出所述经解码块。
在另一实例中,一种设备包括:用于接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块的装置;用于接收定义所述几何运动分割线的斜率值及y截距值的装置,其中所述斜率值及所述y截距值包含整数值;用于计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码的装置;用于基于所述掩码来解码所述块的所述第一分区及所述第二分区的装置;以及用于输出所述经解码块的装置。
在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器:接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及输出所述经解码块。
在附图及以下描述中阐述一个或一个以上实例的细节。其它特征、目标及优点将从所述描述及图式中以及从权利要求书中显而易见。
附图说明
图1为说明可利用用于几何运动分割的技术的实例视频编码及解码系统的框图。
图2为说明可实施用于几何运动分割的技术的视频编码器的实例的框图。
图3为说明可解码包括经几何运动分割块的经编码视频序列的视频解码器的实例的框图。
图4为说明已使用几何运动分割线及用以定义几何运动分割线的参数分割的块的概念图。
图5为说明已使用几何运动分割线及在几何运动分割线附近的过渡区域中的像素分割的块的概念图。
图6为说明3×3像素阵列的概念图。
图7为说明用于在计算用几何运动分割线分割的块的残余值时执行平滑的实例方法的流程图。
图8为说明待使用自适应性变换尺寸选择变换的实例块的概念图。
图9为待使用自适应性变换尺寸选择变换的另一实例块的概念图。
图10为说明用于确定N×N块的子块的变换尺寸的实例方法的流程图。
图11为说明经几何分割块及相邻子块的框图。
图12为说明用于编码视频数据块的几何运动分区的运动向量的实例方法的流程图。
图13为说明用于使用定点实施方案来编码视频数据块的实例方法的流程图。
具体实施方式
一般来说,本发明描述用于支持视频块的几何运动分割的技术。也就是说,本发明的技术提供使用任意分区边界来分割矩形块(被称为几何运动分割),而非将所述块分割为两个或两个以上严格矩形分区。可使用两个参数来定义分割线:垂直于分割线且发源于经分割块的中心点处的线段的长度ρ(rho);以及垂直线相对于穿过经分割块的中心点的水平线的角度θ(theta)。在一些实例中,可通过定界每一分区的像素的阶式线来实现分割线,使得分割线不穿过所述块的任何像素。
出于实例及解释的目的,本发明描述用于宏块的几何运动分割的技术。然而,应理解,这些技术通常可应用于分割任何视频数据块。术语“宏块”指代用于使用二维像素阵列(通常具有16×16个像素的尺寸)来译码数字图片及视频数据的数据结构。宏块可包括色度数据及亮度数据。通常,水平地及垂直地将色度数据相对于亮度数据缩小取样为二分之一。因此,宏块可包括四个亮度块及两个色度块。所述四个亮度块中的每一者可包含8×8个像素,且所述宏块的每一转角可被所述亮度块中的恰好一者的转角触碰。所述两个色度块可为8×8像素块,使得所述色度块中的每一者的转角触碰所述宏块的相应转角。因此,色度块可彼此重叠且与亮度块重叠。
视频译码标准通常提供用于编码视频数据块的各种预测模式。帧内预测涉及相对于片段或帧的其它块来编码所述同一片段或帧的一个块。帧间预测允许使用运动估计及运动补偿技术而相对于一个或一个以上其它片段或帧来编码一个片段或帧的块。
本发明的技术(其大体上是针对几何运动分割)可允许任意分区尺寸及形状。也就是说,使用上文所描述的ρ及θ值所定义的分割线可允许使用非矩形分区来编码宏块。明确地说,本发明的技术描述用于产生几何运动分区的运动向量且用于基于几何运动分区来执行运动补偿的技术。几何运动分割线不限于将块分割为矩形分区。尽管在一些实例中几何运动分割线可将N×N块分割为N×M块,但几何运动分割还提供将块分割为非矩形分区(例如,三角形分区)的能力。以此方式,几何运动分割线可与块的一个水平边界及所述块的一个垂直边界相交。
在一些实例中,支持几何运动分割包括使用修改型运动补偿技术。明确地说,修改型运动补偿技术可提供用于在几何运动分割线附近的过渡区域中的像素的平滑滤波器。本发明的运动补偿技术可包括确定这些重叠像素的残余值。在一个实例中,本发明的技术定义低通滤波器(例如,平滑滤波器)以在此边界区域中执行运动补偿。也就是说,可定义使在几何分割线处的分区之间的过渡平滑的各种滤波器。如果像素属于过渡区域内,则可通过应用这些滤波器中的一者以确定所述像素的预测值(其中所述滤波器应用来自由分区的运动向量识别的预测块的值)且接着确定预测值与待编码像素的值之间的差来执行针对所述像素的运动补偿。此差可表示像素的残余值。
在另一实例中,为了在经几何分割块的边界区域处执行运动补偿,可使用加权平均值。也就是说,为了确定像素的运动补偿值,可计算来自两个分区的像素的值的加权平均值。与像素相对地较接近的分区的值可与另一分区的值相比被加权得较重。可以此方式计算像素的预测值,接着使用所述预测值以计算残余值,或通过将经接收残余值应用于预测值来重构经编码块。
本发明还包括用于编码使用几何运动分区所分割的块的残余部分的技术。为了编码具有几何分区的块的残余部分,可基于分割线的位置来使用自适应性变换尺寸。一般来说,对于N×N个像素的每一子块的块,如果分区不越过所述块,则可使用N×N变换尺寸来编码子块的残余部分;否则,可将N×N子块再划分为N/2×N/2子块,所述N/2×N/2子块中的每一者可关于分割线是否越过所述子块来被再分析。
举例来说,假设块尺寸为16×16。对于在内部的每一8×8子块,如果在8×8块内部的所有像素均属于同一分区,则可使用8×8变换,否则,可使用四个4×4变换。作为另一实例,当块尺寸为32×32或64×64时,对于每一32×32或16×16内部子块,如果在16×16块内部的所有像素均属于同一分区,则可使用16×16变换,否则,可针对每一16×16子块重复所述逻辑。
本发明进一步提供用于编码使用几何运动分割线所分割的块的分区的运动向量的技术。这些技术可包括选择运动向量的运动预测因子,且运动预测因子的候选者可针对同一块的两个分区的运动向量有所不同。运动预测因子的候选者还可包括比针对常规编码标准的运动预测因子多的潜在运动预测因子。
本发明的技术还可应用于定点实施方案中。明确地说,可使用表示几何运动分割线的斜率(m)及y截距(c)的定点(例如,整数)值来定义所述线。编码器及解码器可各自经配置以使用定点算术来评估几何运动分区,使得编码器及解码器根据定点值创建相同掩码。编码器及解码器可经配置以如下计算掩码:对于掩码的每一点(x,y),如果y-m*x<c,则掩码中的(x,y)处的点的值为1,且如果y-m*x>=c,则掩码中的(x,y)处的点的值为0。以此方式,编码器及解码器可经配置以计算掩码(包含由相应x值及y值定义的点集合),使得对于掩码中的每一点,将掩码中的点的值设定为指示以下两者之间的差是否大于线的y截距值的值:点的y值;以及线的斜率值与点的x值的乘积。掩码中的每一点的值可包含1位值。
掩码中的具有值0的点对应于区域0,而掩码中的具有值1的点对应于区域1。区域0可为一个分区,且区域1可为另一分区,如由几何运动分区所定义。因此,编码器及解码器可经配置以基于角度θ(theta)及中心点值而使用斜率m及y截距c的定点整数值来计算掩码,而非使用浮点算术从所述角度及到几何运动分区的中心点的距离ρ(rho)计算掩码。本发明的技术还可包括用信号通知几何运动分割是否用于特定块或块集合,且如果几何运动分割用于特定块或块集合,则用信号通知是定点运算还是浮点运算待用于所述块或块集合。
图1为说明可利用用于几何运动分割的技术的实例视频编码及解码系统10的框图。如图1所示,系统10包括源装置12,源装置12经由通信信道16将经编码视频发射到目的地装置14。源装置12及目的地装置14可包含广泛范围的装置中的任一者。在一些情况下,源装置12及目的地装置14可包含无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可经由通信信道16传送视频信息的任何无线装置,在此情况下,通信信道16为无线的。然而,关于几何运动分割的本发明的技术未必限于无线应用或设定。举例来说,这些技术可应用于空中电视广播、有线电视发射、卫星电视发射、因特网视频发射、经编码到存储媒体上的经编码数字视频或其它情形。因此,通信信道16可包含适于发射经编码视频数据的无线或有线媒体的任何组合。
在图1的实例中,源装置12包括视频源18、视频编码器20、调制器/解调器(调制解调器)22及发射器24。目的地装置14包括接收器26、调制解调器28、视频解码器30及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于几何运动分割的技术。在其它实例中,源装置及目的地装置可包括其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包括集成式显示装置。
图1的所说明系统10仅仅为一个实例。可由任何数字视频编码及/或解码装置执行用于几何运动分割的技术。尽管通常由视频编码装置执行本发明的技术,但还可由视频编码器/解码器(通常被称为“编解码器”)执行所述技术。此外,还可由视频预处理器执行本发明的技术的特定方面。源装置12及目的地装置14仅仅为此些译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以大致上对称方式进行操作,使得装置12、14中的每一者包括视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单程或双程视频发射,例如,用于视频串流、视频重放、视频广播或视频电话。
源装置12的视频源18可包括例如摄像机等视频俘获装置、含有经先前俘获视频的视频档案及/或来自视频内容提供者的视频馈入。作为另外替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,则源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线及/或有线应用。在每一情况下,可由视频编码器20编码经俘获视频、经预俘获视频或计算机产生的视频。可接着由调制解调器22根据通信标准来调制经编码视频信息,且经由发射器24将经编码视频信息发射到目的地装置14。调制解调器22可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包括经设计以用于发射数据的电路,包括放大器、滤波器及一个或一个以上天线。
目的地装置14的接收器26经由信道16接收信息,且调制解调器28解调所述信息。此外,视频编码过程可将本文所描述的技术中的一者或一者以上实施到几何运动分割。经由信道16所传送的信息可包括由视频编码器20定义的语法信息(其还由视频解码器30使用),所述语法信息包括描述宏块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图1的实例中,通信信道16可包含任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线,或无线媒体与有线媒体的任何组合。通信信道16可形成例如局域网、广域网或全域网(例如,因特网)等基于包的网络的部分。通信信道16大体上表示用于将视频数据从源装置12发射到目的地装置14的任何合适通信媒体或不同通信媒体的集合,包括有线或无线媒体的任何合适组合。通信信道16可包括路由器、交换器、基站,或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
视频编码器20及视频解码器30可根据视频压缩标准(例如,ITU-T H.264标准,或者被称为MPEG-4第10部分“高级视频译码(AVC)”)进行操作。然而,本发明的技术不限于任何特定译码标准。其它实例包括MPEG-2及ITU-T H.263。尽管图1中未图示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包括适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。在适用时,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
ITU-T H.264/MPEG-4(AVC)标准已由ITU-T视频译码专家组(VCEG)连同ISO/IEC动画专家组(MPEG)制订为被称为联合视频小组(JVT)的集体合作伙伴的产品。在一些方面中,本发明中所描述的技术可应用于通常符合H.264标准的装置。H.264标准由ITU-T研究组描述于ITU-T推荐标准H.264“用于通用视听服务的高级视频译码”中且日期为2005年3月,其在本文中可被称为H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
视频编码器20及视频解码器30可各自实施为多种合适编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器20及视频解码器30中的每一者可包括于一个或一个以上编码器或解码器中,所述一个或一个以上编码器或解码器中的任一者可在相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器或其类似者中集成为组合式编码器/解码器(编解码器)的部分。
视频序列通常包括一系列视频帧,还被称为视频图片。图片群组(GOP)通常包含一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头中或在别处包括语法数据,所述语法数据描述包括于GOP中的帧的数目。每一帧可包括描述相应帧的编码模式的帧语法数据。视频编码器20通常对个别视频帧内的视频块进行操作,以便编码视频数据。视频块可对应于宏块、宏块的分区,或大于宏块的块。视频块可具有固定或变化尺寸,且视频块的尺寸可根据指定的译码标准而有所不同。每一视频帧可包括一个或一个以上片段。每一片段可包括多个宏块,所述多个宏块可被布置为分区,还被称为子块。
作为实例,ITU-T H.264标准支持以下各者:在各种块尺寸中的帧内预测,例如针对亮度分量的16乘16、8乘8或4乘4及针对色度分量的8×8;以及在各种块尺寸中的帧间预测,例如针对亮度分量的16×16、16×8、8×16、8×8、8×4、4×8及4×4及针对色度分量的对应经按比例缩放尺寸。在本发明中,“N×N”及“N乘N”可互换地用以依据垂直及水平尺度来指代块的像素尺度,例如,16×16个像素或16乘16个像素。一般来说,16×16块在垂直方向上将具有16个像素(y=16)且在水平方向上将具有16个像素(x=16)。同样地,N×N块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可按列及行来布置块中的像素。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包含N×M个像素,其中M未必等于N。
小于16乘16的块尺寸可被称为16乘16宏块的分区。视频块可包含在像素域中的像素数据块,或在变换域中的变换系数块,例如,在将变换(例如,离散余弦变换(DCT)、整数变换、小波变换,或概念上类似的变换)应用于表示经译码视频块与预测性视频块之间的像素差的残余视频块数据之后。在一些情况下,视频块可包含在变换域中的经量化变换系数块。
较小视频块可提供较好分辨率,且可用于视频帧的包括高细节等级的位置。一般来说,可将宏块及各种分区(有时被称为子块)视为视频块。另外,可将片段视为多个视频块,例如宏块及/或子块。每一片段可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或帧的其它部分可被定义为可解码单元。术语“经译码单元”或“译码单元”可指代视频帧的任何可独立解码单元,例如整个帧、帧的片段、还被称为序列的图片群组(GOP),或根据适用译码技术所定义的另一可独立解码单元。
根据本发明的技术,视频编码器20可经配置以在块(例如,宏块)的帧间模式编码期间使用几何运动分割。也就是说,视频编码器20可确定可使用几何运动分割线(还被称为几何分区)来最好地编码块。假定原点处于块的中心。接着,由垂直于定义分区边界的线的穿过原点的线定义每一几何运动分割线。也就是说,视频编码器20可使用两个参数来定义几何运动分割线:垂直于分割线且发源于经分割块的中心点处的线段的长度ρ(rho);以及垂直线相对于穿过经分割块的中心点的水平线的角度θ(theta)。换句话说,由垂直线与X轴所对向的角度以及分割线与原点相隔的距离定义几何运动分割线。视频编码器20可经配置以确定应将块分割为两个分区且计算最好地拟合所述两个分区之间的划分的根据(ρ,θ)所定义的分割线。以下方程式(1)定义几何运动分割线:
y = - 1 tan ( &theta; ) x + &rho; sin ( &theta; ) = mx + c . - - - ( 1 )
在各种实例中,视频编码器20可经配置以使用固定或可变尺寸的块,例如,16×16、32×32及/或64×64块。一般来说,对于N×N块,视频编码器20可选择在[0,(N/2)-1](包括在内)的范围内的ρ的值。因此,对于16×16块,视频编码器20可经配置以选择在[0,7](包括在内)的范围内的ρ的值。作为另一实例,对于32×32块,视频编码器20可经配置以选择在[0,15](包括在内)的范围内的ρ的值。作为又一实例,对于64×64块,视频编码器20可经配置以选择在[0,31](包括在内)的范围内的ρ的值。在一些实例中,视频编码器20可经配置以选择在[0,31](包括在内)的范围内的θ的值。因此,θ的值的范围可具有11.25度的步长。在这些实例中,可存在针对16×16的块尺寸的256个可能几何分区、针对32×32的块尺寸的512个可能几何分区及针对64×64的块尺寸的1024个可能几何分区。然而,块尺寸以及ρ与θ的步长的选择未必限于上文所提及的值。
视频编码器20及视频解码器30可经配置以确定特定像素对应于哪一几何运动分区,且应经配置成使得所述编码器及解码器两者针对给定像素选择同一分区。在一些实例中,当使用几何运动分区来分割块时,视频编码器20及视频解码器30可使用定点计算。像素是对应于区域0还是对应于区域1的指示可被有效率地存储为二进制掩码,其中0指示像素属于区域0且1指示像素属于区域1。归因于可能几何分区及块尺寸的数目,可能禁止将所有掩码存储于视频编码器20及视频解码器30处。因此,本发明包括用于在运作中计算掩码且在一些实例中使用定点算术的技术。
公式(1)中的斜率m及y截距c含有三角函数,且因此,严格地基于此公式在运作中计算掩码将需要浮点实施方案。在一些情况下,难以或甚至不可能使两个装置具有匹配的浮点实施方案。因此,可使用定点算术来计算掩码。因此,计算过渡区域中的像素的预测值可包括计算指示所述块的在第一分区中的像素及所述块的在第二分区中的像素的掩码,以及使用定点算术而基于掩码来定位第一分区中的相邻于过渡区域中的像素的至少一个相邻像素及第二分区中的至少一个相邻像素。
在使用定点算术的实例中,可排除θ=0及θ=π的情况,因为几何运动分区将为具有无限斜率及无限y截距的垂直线。对于剩余情况,可使用定点值来表示1/tanθ及1/sinθ。可能已将另一参数ρ表达为整数。对于1/tanθ,针对θ的剩余值的最大绝对值为5.0273,且1/tanθ的两个相继值之间的最大绝对差可为0.1989。类似地,对于1/sinθ,最大绝对值可为5.1258,且1/sinθ的两个相继值之间的最大绝对差可为0.0196。为了将掩码计算转换为定点运算,视频编码器20可将1/tanθ及1/sinθ乘以2的合适幂,且将结果舍位到最近的整数。
在一个实例中,对于定点实施方案,视频编码器20可将1/tanθ及1/sinθ乘以220或1048576,且将1/tanθ及1/sinθ乘以220或1048576舍位到最近的整数。由于ρ的最大值在高达64×64的块尺寸且步长为1的实例中为32,因此25位的带正负号的实施方案足以表示y截距值。因为在表达式“mx”中的x可取从-32到31的值,所以mx也可表示为25位的带正负号的整数。在一些实例中,对于θ的32个值中的每一者,视频编码器20及视频解码器30可使用32位的带正负号的整数来存储1/tanθ及1/sinθ的值。归因于sin及tan函数的对称性质,视频编码器20及视频解码器30可经配置以仅存储斜率及截距的8个值作为32位的带正负号的整数。如早先所指示,当θ=0及θ=π时,无需使用这些经存储值。
视频编码器20及视频解码器30可经配置以使用定点运算来导出相同掩码。此情形可避免在视频编码器20与视频解码器30之间引起漂移误差,其原本可由几何运动分割引起。使区域0被定义成使得对于区域0中的任何点(x0,y0),y0-m*x0>=c。类似地,使区域1被定义成使得对于区域1中的任何点(x1,y1),y1-m*x1<c。对于任何几何运动分区及任何点(x,y),视频编码器20可以定点方式计算y-m*x,且将结果与y截距进行比较以确定所述点是属于区域0还是属于区域1。当θ=0或θ=π时,几何运动分区为由x=ρ定义的垂直线。在所述情况下,在x<ρ的情况下来自块的所有点均可被定义为属于分区0,且剩余点(x>=ρ)可被定义为属于分区1。视频编码器20及视频解码器30可经配置以迭代通过块中的每一点,以计算指示哪些点对应于区域0及哪些点对应于区域1的所述块的掩码。在使用定点运算来计算块的掩码之后,针对基于几何的运动分区的剩余计算可基于所述掩码。
以此方式,视频编码器20可对应于如下视频编码器的实例,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一分区及第二分区;计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来编码所述第一分区及所述第二分区;以及输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
使用几何运动分区来分割块可产生所述块的两个非矩形分区,所述两个非矩形分区各自具有相应运动向量。所述分区可对应于正被编码的块的预测值。视频编码器20还可编码几何运动分区的运动向量。视频编码器20可相对于运动预测因子来编码运动向量。视频编码器20可将运动预测因子选择为已经被编码的相邻块(例如,在当前块上方、左侧及右上方的块)的运动向量的中值(当编码所述块时假定光栅扫描定序)。本发明的技术包括从比常规译码标准中所使用的候选运动向量集合广的候选运动向量集合选择中值,以及针对块的每一运动向量使用潜在不同的候选运动向量。也就是说,视频编码器20可确定针对单一块的几何运动分区的运动向量使用不同运动预测因子。
另外,视频编码器20计算块的残余值。一般来说,块的像素的残余值对应于块的像素的实际值与块的并置像素的预测值之间的差。在一个实例中,本发明的技术包括使横越几何运动分割线的过渡平滑。为此,视频编码器20可经配置有围绕分割线的特定过渡区域。作为实例,视频编码器20可经配置以使用以当前像素为中心的3×3像素窗。作为实例,如果紧接的上部、下部、左侧及右侧像素中的至少两者属于不同分区,则视频编码器20可经配置以确定当前像素处于过渡区域中。作为另一实例,如果紧接的八个相邻像素中的至少两者属于不同分区,则视频编码器20可经配置以确定当前像素处于过渡区域中。在其它实例中,这些方案可扩展到以当前像素为中心的窗的不同尺寸,在确定当前像素是否属于过渡区域中时考虑所述窗中的像素。
为了使过渡平滑,视频编码器20可经配置以横越分割线应用低通滤波器。滤波器可对应于以待滤波像素为中心的系数矩阵,例如,3×3矩阵。因此,滤波器可以过渡区域中的像素为中心。低通滤波器可具有各种系数。低通滤波器的一个实例可为:
1       2     1
2       3     2
1       2     1,
其中“3”系数对应于当前像素,且其它系数对应于相邻于当前像素的其它紧接相邻像素。低通滤波器的另一实例可为:
0       1     0
1       4     1
0       1     0,
其中“4”系数对应于当前像素,且其它系数对应于相邻于当前像素的其它紧接相邻像素。为了计算过渡区域中的像素的预测值,视频编码器20可计算滤波器的系数与同所述系数并置的像素的值的乘积(当滤波器是以过渡区域中的像素为中心时),计算所述乘积的总和,且将所述乘积的总和除以所述系数的总和。
以此方式,视频编码器20对应于如下视频编码器的实例,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一分区及第二分区;使用滤波器来计算所述块的在过渡区域中的像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的在所述过渡区域中的所述像素的残余值;以及输出所述像素的所述残余值。
在一些实例中,对于过渡区域中的平滑,视频编码器20基于以当前像素为中心的各种条件来选择性地执行滤波。所述条件可包括沿着垂直于分割线的方向的像素值的差(或特定形式的梯度)、块的两个分区之间的运动向量差、分割线方向、参考帧索引、量化参数及两个分区的像素的数目。还可分析其它条件以确定是否及如何对过渡区域中的像素进行滤波。
用于改进视觉质量的另一方法包括使在过渡区域内部的像素的两个预测重叠。视频编码器20可使用块的分区的每一运动向量来产生属于过渡区域的像素的两个预测。视频编码器20可接着使用加权和来组合所述两个预测。举例来说,如果像素属于分区1且还处于过渡区域中,则视频编码器20可使用2/3的权重来加权来自第一分区值的预测值,且使用1/3的权重来加权来自另一分区的预测值。在其它实例中,可应用例如(3/4,1/4)或(1/2,1/2)等其它权重值。在一些实例中,可自适应性地确定权重值。
在一些实例中,基于以当前像素为中心的各种条件来确定用于加权和运算的加权系数。所述条件可包括沿着垂直于分割线的方向的像素值的差(或特定形式的梯度)、块的两个分区之间的运动向量差、分割线方向、参考帧索引、量化参数及两个分区的像素的数目。还可分析其它条件以确定是否及如何对过渡区域中的像素进行滤波。
视频编码器20可将变换(例如,离散余弦变换、4×4整数变换、8×8变换、16×16变换或其它变换)应用于残余值。在一个实例中,视频编码器20可基于几何运动分割线是否穿过块的分区而自适应性地选择所述分区的残余部分的变换尺寸。在此例子中,术语“分区”指代N×N块的(N/2)×(N/2)或更小分区,这与几何运动分区相对。
作为实例,假设使用几何运动分割线来分割N×N块。视频编码器20可将N×N块划分为四个非重叠(N/2)×(N/2)块。接着,对于每一(N/2)×(N/2)块,视频编码器20可确定几何运动分区是否穿过(N/2)×(N/2)。如果几何运动分割线不穿过(N/2)×(N/2)块,则视频编码器20可针对所述块使用(N/2)×(N/2)的变换尺寸。另一方面,如果几何运动分割线穿过(N/2)×(N/2),则视频编码器20可递归地执行方法:将(N/2)×(N/2)划分为四个非重叠(N/4)×(N/4)块,以及确定几何运动分割线是否穿过(N/4)×(N/4)块中的任一者。视频编码器20可经配置有最小变换尺寸(例如,4×4),此时,视频编码器20可针对子块选择最小变换尺寸,而不管几何运动分割线是否穿过所述子块。
以此方式,视频编码器20可对应于如下视频编码器的实例,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一几何分区及第二几何分区,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来编码所述几何运动分割线所穿过的所述子块中的至少一者。
在用以产生预测性数据及残余数据的帧内预测性或帧间预测性译码之后,且在用以产生变换系数的任何变换(例如,在H.264/AVC中所使用的4×4或8×8整数变换,或离散余弦变换DCT)之后,可执行变换系数的量化。量化大体上指代其中量化变换系数以可能地减少用以表示所述系数的数据的量的过程。所述量化过程可减小与所述系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值下舍入到m位值,其中n大于m。
在量化之后,可(例如)根据内容自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)或另一熵译码方法来执行经量化数据的熵译码。经配置以用于熵译码的处理单元或另一处理单元可执行其它处理功能,例如经量化系数的零游程长度译码及/或语法信息(例如,经译码块型样(CBP)值、宏块类型、译码模式、经译码单元(例如,帧、片段、宏块或序列)的最大宏块尺寸,或其类似者)的产生。
视频编码器20可(例如)在帧标头、块标头、片段标头或GOP标头中进一步将语法数据(例如,基于块的语法数据、基于帧的语法数据及基于GOP的语法数据)发送到视频解码器30。举例来说,在视频编码器20提供定义几何运动分区的角度及长度值的整数的情况下,为了允许定点算术,视频编码器20可用信号通知整数的使用。视频编码器20可在序列参数集合或图片参数集合中用信号通知此使用。或者,视频编码器20可使用重定义的分布曲线及/或水平集合,且因此可选择指示整数值的使用的分布曲线指示符(profile_idc)或水平指示符(level_idc)值以允许关于几何运动分区的定点算术。视频编码器20还可用信号通知是否针对图片序列及/或个别图片启用几何运动分区。
此外,视频编码器20可用信号通知是否已针对块启用平滑,且如果已针对块启用平滑,则用信号通知如何实现平滑(例如,平滑滤波器的指示)。举例来说,视频编码器20可用信号通知平滑滤波器的系数。视频编码器20还可用信号通知是否启用自适应性变换尺寸选择。视频编码器20还可用信号通知是否针对图片准许扩展型候选运动向量集合,以相对于运动预测因子来编码运动向量。
视频解码器30可经配置以在解码经接收视频数据时使用本发明的技术。视频解码器30所应用的技术可基本上与视频编码器20所应用的技术对称。举例来说,视频解码器30可接收定义经编码块的几何运动分区的斜率及截距的定点值,以便实现这些技术的定点实施方案。因此,视频解码器30可基于几何运动分区的斜率及截距而在运作中计算所述块的掩码,其迭代通过所述块的每一像素位置以确定所述像素是属于区域0中还是属于区域1中。
以此方式,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以:接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及输出所述经解码块。
作为另一实例,视频解码器30可实施平滑技术以使在块的几何运动分割线处的所述块的过渡区域平滑。视频解码器30可接收块的每一几何运动分区的运动向量,以确定块的像素的预测值。视频解码器30可将平滑滤波器应用于几何运动分区过渡区域中的像素,如上文所描述。因此,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以:接收经编码视频数据块、将所述经编码块分割为第一分区及第二分区的几何运动分割线的定义及所述块的在过渡区域中的像素的残余值;使用滤波器来计算所述块的在所述过渡区域中的所述像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述预测值及所述残余值来计算所述块的在所述过渡区域中的所述像素的经重构值;以及输出所述像素的所述经重构值。
作为又一实例,视频解码器30可基于自适应性变换尺寸选择而接收各种尺寸的残余值的关键词。这些关键词(其可对应于可变长度码)可基于块的变换尺寸而对应于不同字典。因此,视频解码器30可基于几何运动分割线是否穿过特定块而确定所述块的变换尺寸。以此方式,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以:接收通过几何运动分割线分割为第一几何分区及第二几何分区的经编码视频数据块,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来逆变换所述几何运动分割线所穿过的所述子块中的至少一者。
作为再一实例,视频解码器30可相对于运动预测因子来解码几何运动分区的运动向量。根据本发明的技术,视频解码器30可从较大候选运动向量集合确定运动预测因子,且可个别地确定每一几何分区的运动预测因子。以此方式,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以:接收通过几何运动分割线分割为第一分区及第二分区的视频数据块、所述第一分区的第一经编码运动向量及所述第二分区的第二经编码运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来解码所述第一经编码运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来解码所述第二经编码运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及使用所述经解码的第一及第二运动向量来解码所述块。
在适用时,视频编码器20及视频解码器30可各自实施为多种合适编码器或解码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20及视频解码器30中的每一者可包括于一个或一个以上编码器或解码器中,所述一个或一个以上编码器或解码器中的任一者可集成为组合式视频编码器/解码器(编解码器)的部分。包括视频编码器20及/或视频解码器30的设备可包含集成电路、微处理器及/或无线通信装置(例如,蜂窝式电话)。
视频编码器20及视频解码器30可经配置以执行本发明的技术的任何组合。也就是说,视频编码器20及视频解码器30可经配置以按任何组合执行以下各者中的任何一者或一者以上:用于几何运动分割的定点实施方案、由几何运动分区边界定义的过渡区域的平滑、编码每一几何运动分区的运动向量及/或基于几何运动分割线是否穿过子块的针对子块的自适应性变换尺寸选择。
在一些实例中,尽管视频编码器20及视频解码器30可实施本发明中所描述的特定技术,但可停用所述技术,或视频编码器20及视频解码器30中的一者可能不支持同一技术集合。因此,视频编码器20可用信号通知哪些技术用于特定视频流,且视频解码器30可基于视频解码器30是否支持用以编码所述视频流的技术而选择是否检索或使用所述视频流。举例来说,视频编码器20可使用分布曲线指示符(profile_idc值)、水平指示符(level_idc值)、标头数据或其它描述性数据来用信号通知哪些技术用于序列参数集合、图片参数集合中。
图2为说明可实施用于几何运动分割的技术的视频编码器20的实例的框图。视频编码器20可执行视频帧内的块(包括宏块,或宏块的分区或子分区)的帧内及帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。尽管图2中描绘用于帧间模式编码的组件,但应理解,视频编码器20可进一步包括用于帧内模式编码的组件。然而,为了简洁及清楚起见,未说明此些组件。
如图2所示,视频编码器20接收待编码视频帧内的当前视频块。在图2的实例中,视频编码器20包括模式选择单元40、运动估计单元42、运动补偿单元44、帧内预测单元46、参考帧存储装置64、求和器50、变换单元52、量化单元54及熵译码单元56。对于视频块重构,视频编码器20还包括逆量化单元58、逆变换单元60及求和器62。还可包括去块滤波器(图2中未图示)以对块边界进行滤波,以便从经重构视频移除成块效应假影。在需要时,去块滤波器将通常对求和器62的输出进行滤波。
在编码过程期间,视频编码器20接收待译码的视频帧或片段。可将所述帧或片段划分为多个视频块。运动估计单元42及运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块来执行经接收视频块的帧间预测性译码,以提供时间压缩。帧内预测单元还可相对于与待译码块相同的帧或片段中的一个或一个以上相邻块来执行经接收视频块的帧内预测性译码,以提供空间压缩。
模式选择单元40可(例如)基于误差结果而选择译码模式(帧内或帧间)中的一者,且将所得经帧内译码块或经帧间译码块提供到求和器50以产生残余块数据及提供到求和器62以重构经编码块以用作参考帧。
运动估计单元42及运动补偿单元44可为高度集成的,但出于概念性目的而单独地说明。运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示预测性参考帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测性块为依据像素差被发现紧密地匹配于待译码块的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差量度来确定。运动向量还可指示宏块的分区的位移。运动补偿可涉及基于通过运动估计确定的运动向量来提取或产生预测性块。此外,在一些实例中,运动估计单元42及运动补偿单元44可为功能上集成的。
在一些实例中,运动估计单元42可确定应使用几何运动分割线来分割块。运动估计单元42可计算几何运动分割线的参数,例如,从经分割块的原点到几何运动分割线的中点的线的角度θ及距离ρ。在一些实例中,运动估计单元42可确定作为几何运动分割线的斜率m及y截距c的参数,以便允许这些技术的定点实施方案。另外,视频编码器20及视频解码器30(图1及3)可存储针对θ的不同值的1/tan(θ)及1/sin(θ)的查找表的相同复本。对于几何模式,视频编码器20可在输出位流中用信号通知θ及ρ的值。视频解码器30可经配置以使用经用信号通知的值来执行定点计算,以便计算与由视频编码器20计算的掩码相同的掩码。
运动估计单元42通过将经帧间译码帧的视频块与参考帧存储装置64中的参考帧的视频块(或分区)进行比较来计算经帧间译码帧的视频块或其几何运动分区的运动向量。运动补偿单元44还可内插参考帧(例如,I帧或P帧)的次整数像素。ITU H.264标准将参考帧称为“列表”。因此,存储于参考帧存储装置64中的数据可存储于列表中。运动估计单元42将来自参考帧存储装置64的一个或一个以上参考帧的块与当前帧(例如,P帧或B帧)的待编码块进行比较。当参考帧存储装置64中的参考帧包括次整数像素的值时,由运动估计单元42计算的运动向量可指代参考帧的次整数像素位置。
在一些实例中,运动估计单元42可计算运动向量与运动预测因子之间的差,以便编码运动向量。运动估计单元42可将运动预测因子选择为在正被编码的当前块上方、左侧、上方及左侧以及上方及右侧的块的运动向量的中值。运动估计单元42还可确定是否已分割在当前块的上方及左侧的块,且如果已分割在当前块的上方及左侧的块,则确定这些分区是否具有相异运动向量。如果这些分区具有相异运动向量,则运动估计单元42可从所有这些候选运动向量的中值选择运动预测因子。在确定运动预测因子之后,运动估计单元42可计算运动向量与运动预测因子之间的差。运动估计单元42将所计算的差发送到熵译码单元56,且将所计算的运动向量发送到运动补偿单元44。
运动补偿单元44可基于预测性块而计算预测数据。视频编码器20通过从正被译码的原始视频块减去来自运动补偿单元44的预测数据来形成残余视频块。求和器50表示执行此减法运算的组件。
在一些实例中,根据本发明的技术,运动补偿单元44可在由块的几何运动分割线定义的过渡区域处对所述块中的像素进行滤波。举例来说,运动补偿单元44可使用3×3像素滤波器来计算过渡区域中的像素的预测值,所述滤波器考虑来自区域0及区域1两者的值,其中区域0及区域1对应于几何运动分区。作为另一实例,运动补偿单元44可通过计算区域0中的像素的值与区域1中的像素的值的加权和来计算过渡区域中的像素的预测值。在计算过渡区域中的像素的预测值之后,求和器50可将像素的残余值计算为像素的预测值与实际值之间的差。以此方式,由求和器50计算的残余值可基于由运动补偿单元44计算的平滑预测值。
变换单元52将变换(例如,离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包含残余变换系数值的视频块。变换单元52可执行其它变换,例如H.264标准所定义的变换,所述变换在概念上类似于DCT。还可使用小波变换、整数变换、次频带变换或其它类型的变换。在任何情况下,变换单元52将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素值域转换到变换域,例如频域。
在一些实例中,变换单元52可从运动补偿单元44接收各种尺寸的块。运动补偿单元44可经配置以基于块是否触碰几何运动分割线来选择块尺寸。举例来说,假设原始块为16×16块。运动补偿单元44可将原始块划分为四个8×8块。接着,运动补偿单元44可将触碰几何运动分割线的四个8×8块中的任一者划分为4×4块。变换单元52可经配置有针对每一潜在块尺寸的变换。以此方式,当计算经几何运动分割块的残余值时,视频编码器20可执行针对所述块的自适应性变换尺寸选择。尽管描述16×16块的实例,但类似技术可应用于其它尺寸的块(例如,32×32、64×64,等等)。此外,运动补偿单元44可经配置有最小块尺寸(例如,4×4)。
量化单元54量化残余变换系数以进一步减小位速率。量化过程可减小与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。
在量化之后,熵译码单元56对经量化变换系数进行熵译码。举例来说,熵译码单元56可执行内容自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)或另一熵译码技术。在由熵译码单元56进行熵译码之后,可将经编码视频发射到另一装置或将经编码视频存档以供稍后发射或检索。在上下文自适应性二进制算术译码的情况下,上下文可基于相邻宏块。
在一些情况下,除了执行熵译码以外,熵译码单元56或视频编码器20的另一单元可经配置以还执行其它译码功能。举例来说,熵译码单元56可经配置以确定宏块及分区的CBP值。而且,在一些情况下,熵译码单元56可执行宏块或其分区中的系数的游程长度译码。明确地说,熵译码单元56可应用曲折扫描或其它扫描型样来扫描宏块或分区中的变换系数,且编码零游程以供进一步压缩。熵译码单元56还可用适当语法元素来构造标头信息,以用于在经编码视频位流中发射。
逆量化单元58及逆变换单元60分别应用逆量化及逆变换,以在像素域中重构残余块,例如,以供稍后用作参考块。运动补偿单元44可通过将残余块加到参考帧存储装置64的帧中的一者的预测性块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重构残余块,以计算次整数像素值以用于运动估计中。求和器62将经重构残余块加到由运动补偿单元44产生的经运动补偿预测块,以产生经重构视频块以用于存储于参考帧存储装置64中。运动估计单元42及运动补偿单元44可将经重构视频块用作参考块,以帧间译码后续视频帧中的块。
图3为说明解码经编码视频序列的视频解码器30的实例的框图。在图3的实例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考帧存储装置82及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图2)所描述的编码遍次大体上互逆的解码遍次。帧内预测单元74可使用在位流中所接收的帧内预测模式从空间邻近块中形成预测块。
运动补偿单元72可基于从熵解码单元70所接收的运动向量而产生预测数据。当使用几何运动分割线来分割经编码块时,运动补偿单元72可接收所述块的几何运动分割线的定义,以便确定所述块的哪些像素对应于哪一分区。在一些实例中,所述线的定义可根据从块的原点到几何运动分割线的中心的线的角度θ及长度ρ。在一些实例中,所述线的定义可根据几何运动分割线的斜率m及y截距c,使得运动补偿单元72可使用定点算术来计算指示块的像素对应于哪一几何分区的掩码。
运动补偿单元72可使用在位流中所接收的运动向量来识别参考帧存储装置82中的参考帧中的预测块。在一些实例中,可相对于选自经先前编码块或其分区的运动预测因子来编码运动向量。因此,运动补偿单元72可通过确定块或分区的运动预测因子,接着将所接收的差值加到运动预测因子来解码运动向量。
运动补偿单元72还可经配置以使用平滑滤波器来计算几何运动分区之间的过渡区域中的像素的预测值。举例来说,运动补偿单元72可将3×3像素滤波器应用于这些像素,以便确定预测值。作为另一实例,运动补偿单元72可使用来自第一分区的值与来自第二分区的值的加权和来计算过渡区域中的像素的预测值。
逆量化单元76逆量化(即,去量化)在位流中所提供且由熵解码单元70解码的经量化块系数。逆量化过程可包括常规过程,例如,如H.264解码标准所定义。逆量化过程还可包括使用由编码器50针对每一宏块计算以确定量化程度且同样地确定应被应用的逆量化程度的量化参数QPY。
逆变换单元58将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中产生残余块。运动补偿单元72产生经运动补偿块,从而可能地基于内插滤波器来执行内插。待以次像素精度用于运动估计的内插滤波器的识别符可包括于语法元素中。运动补偿单元72可在视频块的编码期间使用如由视频编码器20使用的内插滤波器,以计算参考块的次整数像素的内插值。运动补偿单元72可根据经接收语法信息来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
在一些实例中,逆变换单元78可从运动补偿单元72接收经编码块的变换尺寸的指示。运动补偿单元72可确定块是否触碰几何运动分区,且如果块触碰几何运动分区,则将变换尺寸减小一半,降到最小变换尺寸(例如,4×4个像素)。在一些实例中,经变换块可包括描述待应用变换的尺寸的语法信息。
运动补偿单元72可使用用以确定用以编码经编码视频序列的帧的宏块的尺寸的语法信息、描述如何分割经编码视频序列的帧的每一宏块的分割信息、指示如何编码每一分区的模式、每一经帧间编码宏块或分区的一个或一个以上参考帧及用以解码经编码视频序列的其它信息。
求和器80对残余块与由运动补偿单元72或帧内预测单元产生的对应预测块进行求和,以形成经解码块。在需要时,还可应用去块滤波器来对经解码块进行滤波,以便移除成块效应假影。接着将经解码视频块存储于参考帧存储装置82中,参考帧存储装置82提供参考块以用于后续运动补偿,且还产生经解码视频以用于呈现于显示装置(例如,图1的显示装置32)上。
图4为说明已使用几何运动分割线116分割的块110的概念图。几何运动分割线116将块110分割为两个分区:区域112及区域114。
在一些实例中,可根据垂直线120的特性来定义几何运动分割线116。明确地说,将x轴113与y轴111的相交点定义为块110的原点。垂直线120垂直于几何运动分割线116,且在点124处与几何运动分割线116相交。角度118对应于垂直线120相对于x轴113的角度。距离122对应于在块110的原点与几何运动分割线116的点124之间的距离,所述距离也为几何运动分割线116与块110的原点相隔的垂直距离。角度118还可被称为θ(theta),而距离122还可被称为ρ(rho),θ及ρ如上文所定义。以此方式,可使用角度118与距离122的组合来针对块110定义几何运动分割线116。
或者,可根据斜率126及y截距128来定义几何运动分割线116。倾斜角126对应于几何运动分割线116的斜率。y截距128对应于几何运动分割线116与y轴111相交的点。还可使用m来表达斜率126,而可使用c来表达y截距128,如上文所定义。斜率126及y截距128可表达为整数值,以准许使用定点算术来计算块110的掩码,所述掩码指示像素是处于区域112中还是处于区域114中。斜率126及y截距128通过上文的方程式(1)而在数学上与角度118及距离120相关,为了方便起见,下文再现方程式(1):
y = - 1 tan ( &theta; ) x + &rho; sin ( &theta; ) = mx + c . - - - ( 1 )
图5为说明已使用几何运动分割线138分割的块130的概念图。几何运动分割线138将块130划分为两个区域:区域132及区域134。过渡区域136包括在几何运动分割线138附近的像素。在一些实例中,过渡区域136可被定义为包括具有区域132中的至少一个相邻像素及区域134中的至少一个相邻像素的像素。所述相邻像素可包括以下各者中的任一者或全部:上方相邻像素、下方相邻像素、左侧相邻像素、右侧相邻像素、左上方相邻像素、右上方相邻像素、左下方相邻像素及/或右下方相邻像素。
过渡区域136中的像素被说明为具有各种阴影等级,以指示像素是较接近于区域132还是较接近于区域134。明确地说,在此实例中,较浅阴影像素较接近于区域132,而较深阴影像素较接近于区域134。在一个实例中,当相邻于一像素的大部分相邻像素处于特定区域中时,所述像素可称为较接近于所述区域。在一些实例中,视频编码器20及/或视频解码器30可经配置以将平滑滤波器应用于过渡区域136中的像素。
图6为说明3×3像素阵列140的概念图。像素阵列140包括当前像素142及相邻像素144A到144H(相邻像素144)。明确地说,在图6的实例中,像素144B对应于上方相邻像素,像素144G对应于下方相邻像素,像素144D对应于左侧相邻像素,像素144E对应于右侧相邻像素,像素144A对应于左上方相邻像素,像素144C对应于右上方相邻像素,像素144F对应于左下方相邻像素,且像素144H对应于右下方相邻像素。
当确定当前像素142是否处于过渡区域(即,在几何运动分割线附近的区域)中时,可使用像素阵列140。当相邻像素144中的两者或两者以上处于不同区域中时,当前像素142可称为包括于过渡区域中。举例来说,如果相邻像素144D处于区域0中且相邻像素144E处于区域1中,则当前像素142可称为处于过渡区域中。在一些实例中,当大部分相邻像素处于特定区域中时,当前像素142可称为较接近于所述区域。举例来说,如果相邻像素144A、144B、144C、144D及144F处于区域0中且相邻像素144E、144G及144H处于区域1中,则当前像素142可称为较接近于区域0。
像素阵列140还可用以定义3×3平滑滤波器以调整当前像素142的值。所述滤波器可具有针对当前像素142及相邻像素144中的每一者的经定义权重。为了计算当前像素142的值,可将像素阵列140中的像素中的每一者的权重乘以对应位置处的像素的值,接着相加且除以权重的总和。在一个实例中,相邻像素144A具有权重1,相邻像素144B具有权重2,相邻像素144C具有权重1,相邻像素144D具有权重2,相邻像素144E具有权重2,相邻像素144F具有权重1,相邻像素144G具有权重2,相邻像素144H具有权重1,且当前像素142具有权重3。可将这些权重乘以相应像素的值,且接着除以15(1+2+1+2+3+2+1+2+1)以计算当前像素142的平滑值。
在另一实例中,相邻像素144A具有权重0,相邻像素144B具有权重1,相邻像素144C具有权重0,相邻像素144D具有权重1,相邻像素144E具有权重1,相邻像素144F具有权重0,相邻像素144G具有权重1,相邻像素144H具有权重0,且当前像素142具有权重4。可将这些权重乘以相应像素的值,接着除以8(1+1+4+1+1)以计算当前像素142的平滑值。在其它实例中,还可将其它权重指派到相邻像素144及当前像素142,以创建其它平滑滤波器。此外,指派到相邻像素144的权重未必需要为对称的。此外,还可定义较大平滑滤波器(例如,5×5、7×7,等等)。
图7为说明用于在计算用几何运动分割线分割的块的残余值时执行平滑的实例方法的流程图。尽管出于实例的目的而关于视频编码器20进行描述,但应理解,可由任何其它处理单元执行图7的方法。举例来说,还可由视频解码器30应用图7的方法。
最初,视频编码器20接收待编码的视频数据块(150)。出于此实例的目的而假定所述块对应于经帧间预测编码帧(例如,P帧或B帧)的块。运动估计单元42可执行针对所述块的运动搜索。作为所述运动搜索的结果,运动估计单元42可确定应使用几何运动分割线来分割块(152)。因而,运动估计单元42可使用几何运动分割线来分割块,从而产生两个运动向量,每一几何运动分区一个运动向量。
运动估计单元42可将运动向量连同几何运动分割线的定义发送到运动补偿单元44。在一些实例中,可使用从块的原点到几何运动分割线的垂直线的角度及距离值或使用几何运动分割线的斜率及y截距值表达几何运动分割线的定义。运动补偿单元44可使用几何运动分割线的定义来计算块的掩码。当使用垂直线的角度及长度来定义线时,可使用浮点算术进行计算。当使用几何运动分割线的斜率及y截距来定义线时,可使用定点算术进行计算。
运动补偿单元44可确定所述块中的对应于过渡区域的像素(154)。这些像素可对应于具有几何运动分区中的一者中的至少一个相邻像素及另一几何运动分区中的另一相邻像素的像素。相邻像素集合可仅包括像素的直接相邻者(例如,直接在像素上方、下方及旁边),或可包括与像素成对角的对角相邻者。运动补偿单元44可接着针对过渡区域中的像素开始平滑过程。
根据定义,过渡区域中的像素包括块的两个几何运动分区中的相邻者。因此,通过使用来自块的两个分区的值来计算过渡区域中的像素的预测值而在所述两个分区之间发生平滑(156)。在一些实例中,通过计算来自每一分区的在过渡区域中的并置像素的值的加权和而发生过渡区域中的像素的平滑。
在一些实例中,通过对环绕过渡区域中的像素的像素的值求平均值以计算过渡区域中的像素(其包括每一分区中的相邻像素)的预测值而发生过渡区域中的像素的平滑。因此,运动补偿单元44可通过应用滤波器来计算过渡区域中的像素的预测值,所述滤波器具有作为系数而指派到待滤波像素及相邻像素的权重。运动补偿单元44可接着通过将所述值中的每一者相加且除以所述权重的总和来对这些值求平均值,以产生经滤波像素的预测值。
运动补偿单元44可以类似方式计算过渡区域中的像素中的每一者的预测值。接着,视频编码器20可通过(例如)使用求和器50从原始块减去预测值来计算块的残余值(158)。如下文更详细地所描述,视频编码器20可将块的残余部分划分为待由变换单元52变换的具有变化尺寸的子块。可基于几何分割线是否穿过分区而自适应性地确定应用于子块的过渡的尺寸。视频编码器20还可输出所计算的残余部分。输出可包括经由网络进行发射、广播、存储到计算机可读媒体,或以其它方式输出数据。
图7的方法可概述为如下方法,所述方法包括:使用几何运动分割线将视频数据块分割为第一分区及第二分区;使用滤波器来计算所述块的在过渡区域中的像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的在所述过渡区域中的所述像素的残余值;以及输出所述像素的所述残余值。
可由视频解码器30执行类似方法。此方法可包括:接收经编码视频数据块、将所述经编码块分割为第一分区及第二分区的几何运动分割线的定义及所述块的在过渡区域中的像素的残余值;使用滤波器来计算所述块的在所述过渡区域中的所述像素的预测值,所述滤波器应用来自所述第一分区的至少一个相邻像素的值及来自所述第二分区的至少一个相邻像素的值;基于所述预测值及所述残余值来计算所述块的在所述过渡区域中的所述像素的经重构值;以及输出所述像素的所述经重构值。
图8为说明待使用自适应性变换尺寸选择变换的实例块170的概念图。已使用几何运动分割线172来分割块170。在图8的实例中,块170为16×16像素块。变换单元52(图2)可经配置有不同尺寸的各种变换,以便使用不同变换来变换块170的子块。视频编码器20可首先将块170划分为四个8×8块174A到174D (8×8块174),其中Tr表示指示变换尺寸的“变换”。
对于8×8块174中的每一者,视频编码器20可确定几何运动分割线172是否穿过所述8×8块。如果几何运动分割线172穿过8×8块,则视频编码器20可将8×8块进一步划分为4×4块。否则,视频编码器20可使用8×8变换来变换8×8块。
在图8的实例中,几何运动分割线172穿过8×8块174B、174C及174D。因此,将8×8块174B、174C及174D进一步划分为非重叠4×4块。因此,在此实例中,将使用4×4变换来变换8×8块174B、174C及174D的4×4子块。视频编码器20可经配置有4×4的最小变换尺寸,且因此不进一步划分4×4块。然而,最小变换尺寸无需为4×4,而是可为2×2,或视频编码器20可不经配置有最小变换尺寸。在一些实例中,最小变换尺寸可大于4×4。在此实例中,几何运动分割线172不穿过8×8块174A,且因此,8×8变换将应用于8×8块174A。
图9为待使用自适应性变换尺寸选择变换的另一实例块180的概念图。在此实例中,块180包含已通过几何运动分割线182分割的32×32块。最初,视频编码器20可将块180分割为四个16×16块184A到184D (16×16块184)。视频编码器20可接着确定几何运动分割线182是否穿过16×16块184中的任一者。
在此实例中,几何运动分割线182不穿过16×16块184A。因此,视频编码器20可使用16×16分区来变换16×16分区184A。视频编码器20可将16×16块184B、184C及184D进一步划分为8×8块,如图9所示,因为几何运动分割线182穿过16×16块184B、184C及184D。视频编码器20可将几何运动分割线182所穿过的8×8块中的每一者进一步划分为4×4块,再次如图9的实例中所示。在此实例中,将16×16块184B的一个8×8块进一步划分为4×4块;将16×16块184C的一个8×8块进一步划分为4×4块,且将16×16块184D的8×8块中的三者进一步划分为4×4块。出于实例的目的,假定视频编码器20经配置有4×4的最小变换尺寸。
视频编码器20可使用8×8变换尺寸来变换未经划分的8×8块,且使用4×4变换尺寸来变换4×4块中的每一者。视频编码器20可使用16×16变换来变换16×16块184A。以此方式,视频编码器20可基于块180的子块是否触碰几何运动分割线182而自适应性地确定所述子块的变换尺寸。
图10为说明用于确定N×N块的子块的变换尺寸的实例方法的流程图。尽管出于实例的目的而关于视频编码器20进行描述,但应理解,可由任何其它处理单元执行图10的方法。举例来说,还可由视频解码器30应用图10的方法来确定N×N块的子块的变换尺寸,例如,以逆变换所述子块。
最初,视频编码器20接收N×N块(200)。N×N块可为已被分割的完整块或其子块。视频编码器20可确定几何运动分割线是否穿过N×N块(202)。如果几何运动分割线不穿过N×N块(202的“否”分支),则视频编码器20可使用N×N变换尺寸来变换N×N块(204)。
另一方面,如果几何运动分割线确实穿过N×N块(202的“是”分支),则视频编码器20可将N×N块划分为四个非重叠(N/2)×(N/2)块(206)。接着,视频编码器20可确定每一(N/2)×(N/2)块的变换尺寸(208)。为此,视频编码器20可针对每一(N/2)×(N/2)块进行对图10的方法的递归调用。也就是说,视频编码器20可确定几何运动分割线是否穿过每一(N/2)×(N/2)块。对于几何运动分割线不穿过的块,视频编码器20可使用(N/2)×(N/2)变换尺寸进行变换,且对于几何运动分割线穿过的块,视频编码器20可将所述块进一步再划分为四个(N/4)×(N/4)块且确定每一(N/4)×(N/4)块的变换尺寸,这再次潜在地使用图10的方法的递归例子。视频编码器20可接着输出经变换子块。输出可包括经由网络进行发射、广播、存储到计算机可读媒体,或以其它方式输出数据。
类似于图10的方法的实例方法可包括:使用几何运动分割线将视频数据块分割为第一几何分区及第二几何分区,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来编码所述几何运动分割线所穿过的所述子块中的至少一者。
可由视频解码器30执行类似方法。由视频解码器执行的实例方法可包括:接收通过几何运动分割线分割为第一几何分区及第二几何分区的经编码视频数据块,其中所述块包含N×N个像素;将所述视频数据块划分为四个相等尺寸的非重叠(N/2)×(N/2)子块;以及使用小于(N/2)×(N/2)的变换尺寸来逆变换所述几何运动分割线所穿过的所述子块中的至少一者。
以下伪码提供用于确定起点为(x,y)的块的变换尺寸的实例函数“determineTransformSize”,作为图10的方法的实例部分实施方案。变量“斜率”及“截距”为定义块的几何运动分割线的斜率及截距值。variable_minTransform为根据最小变换尺寸(水平地及垂直地两者)所定义的全局变量,例如,4。变量currSize为当前变换尺寸,其可针对已被几何运动分割的N×N块用(N/2)进行初始化。
变量startPartition对应于所述块的在(x,y)处的起始像素的分区,而变量curPartition跟踪块的当前像素的分区。使用c状条件算子“?”来计算值startPartition及curPartition,其中“condition?result1:result2”在“condition”为真的情况下返回result1,否则,返回result2。两个for循环迭代通过块的像素。如果在某一点处,当前像素的分区不匹配于起始像素的分区,则几何运动分割线穿过所述块。此情形引起for循环中断,且引起在当前变换尺寸currSize被减小一半的情况下对determineTransformSize的递归调用。否则,如果块的所有像素均保持于同一分区中,则变换尺寸currSize可用以变换所述块。
Figure BDA00002246965000311
Figure BDA00002246965000321
图11为说明经几何分割块220及相邻子块228A到228F(相邻子块228)的框图。几何运动分割线226将块220划分为两个分区:分区222及分区224。例如视频编码器20等视频编码器可相对于相邻子块228中的相应相邻子块的运动向量来编码分区222、224的运动向量。也就是说,视频编码器20可确定相邻子块228中的哪些相邻子块被视为相邻于分区222、224中的每一者的相邻者。
相邻于分区222的相邻者未必被视为相邻于分区224的相邻者,且同样地,相邻于分区224的相邻者未必被视为相邻于分区222的相邻者。举例来说,视频编码器20可确定子块228中的每一者为相邻于分区222的相邻者,但子块228中无一者为相邻于分区224的相邻者。对于子块228A及228E中的每一者,如果位于其右侧边限处的像素为一分区的相邻者,则所述子块可被视为相邻于所述分区的相邻者。对于子块228B及228F中的每一者,如果位于其下部边限处的像素为一分区的相邻者,则所述子块可被视为相邻于所述分区的相邻者。如果子块228D的右下转角像素为相邻于一分区的相邻者,则子块228D可被视为相邻于所述分区的相邻者。如果子块228C的左下转角像素为相邻于一分区的相邻者,则子块228C可被视为相邻于所述分区的相邻者。在另一实例中,如果一子块的部分边限像素为相邻者,则所述子块可被视为相邻于所述分区。
视频编码器20可计算被视为相邻于一分区的子块228的运动向量的中值,以便确定所述分区的运动预测因子。被视为相邻于一分区的子块228的运动向量还可被称为候选运动预测因子集合。出于实例的目的而假定子块228中的每一者被确定为相邻于分区222,则视频编码器20可计算子块228中的每一者的运动向量的中值以确定分区222的运动预测因子。视频编码器20可接着计算分区222的运动向量与分区222的运动预测因子之间的差以编码运动向量。
出于实例的目的而假定子块228C、228E及228F被确定为相邻于分区224,则视频编码器20可计算子块228C、228E及228F的运动向量的中值以确定分区224的运动预测因子。视频编码器20可接着计算分区224的运动向量与分区224的运动预测因子之间的差以编码运动向量。
以此方式,视频编码器或视频解码器可从比常规方法大的候选运动预测因子集合选择运动预测因子,所述常规方法仅从子块228A、228B、228C及228D进行选择。此外,视频编码器或视频解码器可独立于另一分区(例如,分区224)的运动预测因子而选择一个分区(例如,分区222)的运动预测因子。因此,分区222、224的运动预测因子可有所不同,尽管分区222、224为同一块220的分区。因此,视频编码器或解码器可基于与候选运动预测因子相关的子块是否相邻于一分区(而非含有所述分区的块(即,一部分是由所述分区形成的块))来选择所述分区的运动预测因子。
图12为说明用于编码视频数据块的几何运动分区的运动向量的实例方法的流程图。尽管出于实例的目的而关于视频编码器20进行描述,但应理解,可由任何其它处理单元执行图12的方法。举例来说,还可由视频解码器30应用图12的方法来解码已被几何运动分割的块的经编码运动向量。
最初,视频编码器20可接收视频数据块(250)。视频编码器20可接着使用几何运动分区来分割块(252)。视频编码器20可接着确定第一几何运动分区的候选预测因子集合(254)。也就是说,视频编码器20可确定相邻于块的子块集合中的哪些子块被视为还相邻于第一分区。接着,视频编码器20可检索相邻于第一分区的子块的运动向量。视频编码器20可接着计算这些运动向量的中值,且使用所计算的中值作为第一分区的运动预测因子(256)。视频编码器20可接着计算第一分区的运动向量与第一分区的运动预测因子之间的差以相对于第一分区的预测因子来编码运动向量(258)。
接下来,视频编码器20可确定第二几何运动分区的候选预测因子集合(260)。也就是说,视频编码器20可确定相邻于块的子块集合中的哪些子块被视为相邻于第二分区。接着,视频编码器20可检索相邻于第二分区的子块的运动向量。视频编码器20可接着计算这些运动向量的中值,且使用所计算的中值作为第二分区的运动预测因子(262)。视频编码器20可接着计算第二分区的运动向量与第二分区的运动预测因子之间的差以相对于第二分区的预测因子来编码运动向量(264)。视频编码器20可接着输出经编码运动向量。输出可包括经由网络进行发射、广播、存储到计算机可读媒体,或以其它方式输出数据。
以此方式,视频编码器20可使用针对块的每一几何运动分区独立地选择的候选运动预测因子来独立于彼此而编码所述分区的运动向量。因此,视频编码器20可执行如下方法,所述方法包括:使用几何运动分割线将视频数据块分割为第一分区及第二分区;确定所述第一分区的第一运动向量及所述第二分区的第二运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来编码所述第一运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来编码所述第二运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及输出所述经编码的第一及第二运动向量。视频编码器20还可从比常规使用大的运动向量集合选择候选运动预测因子,如关于图11所论述。
视频解码器30可利用类似方法来解码经编码块的经编码运动向量。视频解码器30可接收经编码运动向量且将经编码运动向量的值加到运动预测因子以解码运动向量,而非计算运动预测因子与运动向量之间的差。因此,视频解码器30可执行如下方法,所述方法包括:接收通过几何运动分割线分割为第一分区及第二分区的视频数据块、所述第一分区的第一经编码运动向量及所述第二分区的第二经编码运动向量;基于选自相邻于所述第一分区的块的运动向量的第一运动预测因子来解码所述第一经编码运动向量;基于选自相邻于所述第二分区的块的运动向量的第二运动预测因子来解码所述第二经编码运动向量,其中相邻于所述第二分区的所述块是独立于相邻于所述第一分区的所述块来确定的;以及使用所述经解码的第一及第二运动向量来解码所述块。
图13为说明用于使用定点实施方案来编码视频数据块的实例方法的流程图。尽管出于实例的目的而关于视频编码器20进行描述,但应理解,可由其它处理单元执行类似于图13的方法的方法。举例来说,还可由视频解码器30应用类似于图13的方法的方法以按定点实施方案来解码视频数据。
最初,视频编码器20可接收视频数据块(280)。视频编码器20可接着使用几何运动分区来分割块(282)。视频编码器20可根据垂直于用以分割块的几何运动分割线且始于块的原点的线段的角度θ及长度ρ来定义所述几何运动分割线。
视频编码器20可经配置有角度及长度值的步长,使得可通过具有特定数目个位的整数来存储角度及长度值。作为实例,视频编码器20可经配置以在五位数字内存储定义几何运动分割线的角度值。角度值可具有步长1且具有在0与31(包括在内)之间的范围。因此,在角度值中的两个相继步进之间的差可表示11.25度的差。长度值可取决于块的尺寸,且可对应于具有0到N/2-1(包括在内)的范围的带正负号的整数,其中N表示块尺寸。因此,举例来说,对于16×16块,长度值可对应于在0与7之间的带正负号的整数;对于32×32块,长度值可对应于在0与15之间的带正负号的整数;且对于64×64块,长度值可对应于在0与31之间的带正负号的整数。
然而,为了允许定点实施方案,视频编码器20可(例如)根据公式(1)来计算几何运动分割线的斜率及y截距(284)。视频编码器20可将斜率及y截距表达为整数值。也就是说,视频编码器20可从角度及长度值计算斜率及y截距值、将斜率及y截距值乘以整数值(例如,65536),接着将所计算的斜率及y截距值舍位到最近的整数。视频编码器20可将所得斜率及y截距值存储为合适尺寸的位向量(例如,32位整数值)。
视频编码器20可接着使用斜率及y截距值来计算块的掩码(286)。也就是说,视频编码器20可迭代通过块的每一点以确定所述点是处于区域0中还是处于区域1中(例如,在图11的实例中为分区222或分区224)。视频编码器20可在编码块时参考掩码,即,基于掩码来编码块(288)。举例来说,视频编码器20可确定块的每一分区的边界,以便计算块的残余部分。也就是说,视频编码器20可参考掩码以确定是使用与第一分区相关联的运动向量还是使用与第二分区相关联的运动向量来检索块的像素的值。
视频编码器20可使用这些运动向量来检索像素的值,且通过计算这些值与待编码块之间的差而计算块的残余部分。以此方式,视频编码器20可使用掩码来确定块中的像素是对应于第一分区还是对应于第二分区,从由第一分区的运动向量指示的参考块检索第一分区中的像素的预测值,且从由第二分区的运动向量指示的参考块检索第二分区中的像素的预测值。
在一些实例中,视频编码器20可使用本发明中所描述的平滑技术而使分区之间的过渡平滑。也就是说,视频编码器20可确定所述块的在过渡区域中的像素集合,且基于由第一分区的运动向量指示的参考块及由第二分区的运动向量指示的参考块来计算过渡区域中的像素集合的预测值。
视频编码器20可接着输出经编码块,以及定义几何运动分割线的斜率及y截距值(290)。输出可包括经由网络进行发射、广播、存储到计算机可读媒体,或以其它方式输出数据。视频编码器20可使用本发明的技术来进一步编码分区的运动向量,且可在变换残余部分的子块时应用本发明的自适应性变换尺寸选择技术。
以此方式,可由例如视频编码器20等视频编码器执行的对应于图13的方法的实例方法可包括:使用几何运动分割线将视频数据块分割为第一分区及第二分区;计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来编码所述第一分区及所述第二分区;以及输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
例如视频解码器30等视频解码器可执行用于解码视频数据的类似方法。解码视频数据的实例方法可包括:接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及输出所述经解码块。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,则所述功能可作为一个或一个以上指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行传输,且由基于硬件的处理单元执行。计算机可读媒体可包括计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包括(例如)根据通信协议促进将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包括计算机可读媒体。
借助于实例而非限制,所述计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。并且,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电及微波)从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包括于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包括连接、载波、信号或其它暂时性媒体,而是针对于非暂时性有形存储媒体。如本文所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘借助激光以光学方式再现数据。以上各者的组合也应包括于计算机可读媒体的范围内。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行指令。因此,如本文所使用的术语“处理器”可指代上述结构中的任一者或适于实施本文所描述的技术的任何其它结构。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。并且,可将所述技术完全地实施于一个或一个以上电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,所述装置或设备包括无线手持机、集成电路(IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要由不同硬件单元来实现。而是,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包括如上文所描述的一个或一个以上处理器)的集合结合合适的软件及/或固件来提供所述单元。
已描述了各种实例。这些及其它实例是在所附权利要求书的范围内。

Claims (44)

1.一种编码视频数据的方法,所述方法包含:
使用几何运动分割线将视频数据块分割为第一分区及第二分区;
计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;
计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;
基于所述掩码来编码所述第一分区及所述第二分区;以及
输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
2.根据权利要求1所述的方法,其中计算所述掩码包含仅使用定点算术来计算所述掩码。
3.根据权利要求1所述的方法,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中计算所述掩码包含针对所述掩码中的每一点,将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值。
4.根据权利要求1所述的方法,其中基于所述掩码来编码所述第一分区及所述第二分区包含:
使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区;
从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值;以及
从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值。
5.根据权利要求4所述的方法,其进一步包含:
确定所述块的在过渡区域中的像素集合;以及
基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值。
6.根据权利要求1所述的方法,其中计算所述几何运动分割线的所述斜率值及所述y截距值包含:
基于角度值及长度值来计算初始斜率值及初始y截距值,所述角度值包含垂直于所述几何运动分割线且穿过原点的线相对于x轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动分割线交会的点的距离;
计算所述初始斜率值及所述初始y截距值与包含2的幂的一个或一个以上值的乘积;以及
将所述乘积舍位到最近的整数值以形成所述斜率值及所述y截距值。
7.一种用于编码视频数据的设备,所述设备包含视频编码器,所述视频编码器经配置以:使用几何运动分割线将视频数据块分割为第一分区及第二分区;计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来编码所述第一分区及所述第二分区;以及输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
8.根据权利要求7所述的设备,其中所述视频编码器经配置以仅使用定点算术来计算所述掩码。
9.根据权利要求7所述的设备,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中为了计算所述掩码,所述视频编码器经配置以针对所述掩码中的每一点,将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值。
10.根据权利要求7所述的设备,其中为了基于所述掩码来编码所述第一分区及所述第二分区,所述视频编码器经配置以:使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区;从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值;以及从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值。
11.根据权利要求10所述的设备,其中所述视频编码器经配置以:确定所述块的在过渡区域中的像素集合;以及基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值。
12.根据权利要求7所述的设备,其中为了计算所述几何运动分割线的所述斜率值及所述y截距值,所述视频编码器经配置以:基于角度值及长度值来计算初始斜率值及初始y截距值,所述角度值包含垂直于所述几何运动分割线且穿过原点的线相对于x轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动分割线交会的点的距离;计算所述初始斜率值及所述初始y截距值与包含2的幂的一个或一个以上值的乘积;以及将所述乘积舍位到最近的整数值以形成所述斜率值及所述y截距值。
13.一种用于编码视频数据的设备,所述设备包含:
用于使用几何运动分割线将视频数据块分割为第一分区及第二分区的装置;
用于计算所述几何运动分割线的斜率值及y截距值的装置,其中所述斜率值及所述y截距值包含整数值;
用于计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码的装置;
用于基于所述掩码来编码所述第一分区及所述第二分区的装置;以及
用于输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值的装置。
14.根据权利要求13所述的设备,其中所述用于计算所述掩码的装置包含用于仅使用定点算术来计算所述掩码的装置。
15.根据权利要求13所述的设备,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中所述用于计算所述掩码的装置包含用于针对所述掩码中的每一点将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值的装置。
16.根据权利要求13所述的设备,其中所述用于基于所述掩码来编码所述第一分区及所述第二分区的装置包含:
用于使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区的装置;
用于从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值的装置;以及
用于从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值的装置。
17.根据权利要求16所述的设备,其进一步包含:
用于确定所述块的在过渡区域中的像素集合的装置;以及
用于基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值的装置。
18.根据权利要求13所述的设备,其中所述用于计算所述几何运动分割线的所述斜率值及所述y截距值的装置包含:
用于基于角度值及长度值来计算初始斜率值及初始y截距值的装置,所述角度值包含垂直于所述几何运动分割线且穿过原点的线相对于x轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动分割线交会的点的距离;
用于计算所述初始斜率值及所述初始y截距值与包含2的幂的一个或一个以上值的乘积的装置;以及
用于将所述乘积舍位到最近的整数值以形成所述斜率值及所述y截距值的装置。
19.一种计算机程序产品,其包含在其上存储有指令的计算机可读存储媒体,所述指令在被执行时致使处理器:
使用几何运动分割线将视频数据块分割为第一分区及第二分区;
计算所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;
计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;
基于所述掩码来编码所述第一分区及所述第二分区;以及
输出所述经编码的第一分区、所述经编码的第二分区、所述斜率值及所述y截距值。
20.根据权利要求19所述的计算机程序产品,其中所述致使所述处理器计算所述掩码的指令包含致使所述处理器仅使用定点算术来计算所述掩码的指令。
21.根据权利要求19所述的计算机程序产品,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中所述致使所述处理器计算所述掩码的指令包含致使所述处理器针对所述掩码中的每一点将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值的指令。
22.根据权利要求19所述的计算机程序产品,其中所述致使所述处理器基于所述掩码来编码所述第一分区及所述第二分区的指令包含致使所述处理器进行以下操作的指令:
使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区;
从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值;以及
从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值。
23.根据权利要求22所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令:
确定所述块的在过渡区域中的像素集合;以及
基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值。
24.根据权利要求19所述的计算机程序产品,其中所述致使所述处理器计算所述几何运动分割线的所述斜率值及所述y截距值的指令包含致使所述处理器进行以下操作的指令:
基于角度值及长度值来计算初始斜率值及初始y截距值,所述角度值包含垂直于所述几何运动分割线且穿过原点的线相对于x轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动分割线交会的点的距离;
计算所述初始斜率值及所述初始y截距值与包含2的幂的一个或一个以上值的乘积;以及
将所述乘积舍位到最近的整数值以形成所述斜率值及所述y截距值。
25.一种解码视频数据的方法,所述方法包含:
接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;
接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;
计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;
基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及输出所述经解码块。
26.根据权利要求25所述的方法,其中计算所述掩码包含仅使用定点算术来计算所述掩码。
27.根据权利要求25所述的方法,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中计算所述掩码包含针对所述掩码中的每一点,将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值。
28.根据权利要求25所述的方法,其中基于所述掩码来解码所述第一分区及所述第二分区包含:
使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区;
从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值;以及
从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值。
29.根据权利要求28所述的方法,其进一步包含:
确定所述块的在过渡区域中的像素集合;以及
基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值。
30.一种用于解码视频数据的设备,所述设备包含视频解码器,所述视频解码器经配置以:接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及输出所述经解码块。
31.根据权利要求30所述的设备,其中所述视频解码器经配置以仅使用定点算术来计算所述掩码。
32.根据权利要求30所述的设备,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中为了计算所述掩码,所述视频解码器经配置以针对所述掩码中的每一点,将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值。
33.根据权利要求30所述的设备,其中为了基于所述掩码来解码所述第一分区及所述第二分区,所述视频解码器经配置以:使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区;从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值;以及从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值。
34.根据权利要求33所述的设备,其中所述视频解码器经配置以:确定所述块的在过渡区域中的像素集合;以及基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值。
35.一种用于解码视频数据的设备,所述设备包含:
用于接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块的装置;
用于接收定义所述几何运动分割线的斜率值及y截距值的装置,其中所述斜率值及所述y截距值包含整数值;
用于计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码的装置;
用于基于所述掩码来解码所述块的所述第一分区及所述第二分区的装置;以及用于输出所述经解码块的装置。
36.根据权利要求35所述的设备,其中所述用于计算所述掩码的装置包含用于仅使用定点算术来计算所述掩码的装置。
37.根据权利要求35所述的设备,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中所述用于计算所述掩码的装置包含用于针对所述掩码中的每一点将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值的装置。
38.根据权利要求35所述的设备,其中所述用于基于所述掩码来解码所述第一分区及所述第二分区的装置包含:
用于使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区的装置;
用于从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值的装置;以及
用于从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值的装置。
39.根据权利要求38所述的设备,其进一步包含:
用于确定所述块的在过渡区域中的像素集合的装置;以及
用于基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值的装置。
40.一种计算机程序产品,其包含在其上存储有指令的计算机可读媒体,所述指令在被执行时致使处理器:
接收已通过几何运动分割线分割为第一分区及第二分区的经编码视频数据块;
接收定义所述几何运动分割线的斜率值及y截距值,其中所述斜率值及所述y截距值包含整数值;
计算指示所述块的在所述第一分区中的像素及所述块的在所述第二分区中的像素的掩码;
基于所述掩码来解码所述块的所述第一分区及所述第二分区;以及
输出所述经解码块。
41.根据权利要求40所述的计算机程序产品,其中所述致使所述处理器计算所述掩码的指令包含致使所述处理器仅使用定点算术来计算所述掩码的指令。
42.根据权利要求40所述的计算机程序产品,其中所述掩码包含点集合,所述点集合包含相应的x值及y值,且其中所述致使所述处理器计算所述掩码的指令包含致使所述处理器针对所述掩码中的每一点将所述掩码中的所述点的值设定为指示所述点的所述y值与所述斜率值和所述点的所述x值的乘积之间的差是否大于所述y截距值的值的指令。
43.根据权利要求40所述的计算机程序产品,其中所述致使所述处理器基于所述掩码来解码所述第一分区及所述第二分区的指令包含致使所述处理器进行以下操作的指令:
使用所述掩码来确定所述块中的像素是对应于所述第一分区还是对应于所述第二分区;
从由所述第一分区的运动向量指示的参考块检索所述第一分区中的像素的预测值;以及
从由所述第二分区的运动向量指示的参考块检索所述第二分区中的像素的预测值。
44.根据权利要求43所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令:
确定所述块的在过渡区域中的像素集合;以及
基于由所述第一分区的所述运动向量指示的所述参考块及由所述第二分区的所述运动向量指示的所述参考块来计算所述过渡区域中的所述像素集合的预测值。
CN201180018707.XA 2010-04-12 2011-04-11 用于几何运动分割的定点实施方案 Active CN102845062B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US32323310P 2010-04-12 2010-04-12
US32324410P 2010-04-12 2010-04-12
US61/323,244 2010-04-12
US61/323,233 2010-04-12
US13/012,126 2011-01-24
US13/012,126 US8879632B2 (en) 2010-02-18 2011-01-24 Fixed point implementation for geometric motion partitioning
PCT/US2011/031997 WO2011130186A2 (en) 2010-04-12 2011-04-11 Fixed point implementation for geometric motion partitioning

Publications (2)

Publication Number Publication Date
CN102845062A true CN102845062A (zh) 2012-12-26
CN102845062B CN102845062B (zh) 2015-04-29

Family

ID=44626017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180018707.XA Active CN102845062B (zh) 2010-04-12 2011-04-11 用于几何运动分割的定点实施方案

Country Status (6)

Country Link
EP (1) EP2559248A2 (zh)
JP (2) JP2013524730A (zh)
KR (1) KR101515696B1 (zh)
CN (1) CN102845062B (zh)
TW (1) TW201220851A (zh)
WO (1) WO2011130186A2 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106105207A (zh) * 2014-03-25 2016-11-09 高通股份有限公司 用于视频译码的具有行程长度码的调色板预测器信令
WO2017101091A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Content based video encoding for wireless display
CN107852506A (zh) * 2015-05-12 2018-03-27 三星电子株式会社 用于执行帧内预测的图像解码方法及其装置以及用于执行帧内预测的图像编码方法及其装置
CN109690626A (zh) * 2016-10-19 2019-04-26 谷歌有限责任公司 用于对表面的几何表示的法线进行编码和/或解码的方法和装置
US10469841B2 (en) 2016-01-29 2019-11-05 Google Llc Motion vector prediction using prior frame residual
CN110662048A (zh) * 2018-06-28 2020-01-07 华为技术有限公司 一种图像编码方法以及设备
CN111034197A (zh) * 2017-08-22 2020-04-17 松下电器(美国)知识产权公司 图像编码器、图像解码器、图像编码方法和图像解码方法
WO2020088689A1 (en) * 2018-11-02 2020-05-07 Beijing Bytedance Network Technology Co., Ltd. Usage of hmvp candidates in geometry partition prediction mode
US10798408B2 (en) 2016-01-29 2020-10-06 Google Llc Last frame motion vector partitioning
WO2021056920A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频编解码的方法和装置
CN112970263A (zh) * 2018-11-06 2021-06-15 北京字节跳动网络技术有限公司 基于条件的具有几何分割的帧间预测
CN114556953A (zh) * 2019-10-10 2022-05-27 北京字节跳动网络技术有限公司 视频编解码中非矩形分割的使用

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016074744A1 (en) * 2014-11-14 2016-05-19 Huawei Technologies Co., Ltd. Systems and methods for processing a digital image
KR102138650B1 (ko) 2014-11-14 2020-07-28 후아웨이 테크놀러지 컴퍼니 리미티드 디지털 이미지의 블록을 처리하는 시스템 및 방법
KR102093802B1 (ko) 2014-11-14 2020-05-27 후아웨이 테크놀러지 컴퍼니 리미티드 디지털 이미지의 블록의 마스크 기반 처리를 위한 시스템 및 방법
EP3340621B1 (en) * 2015-08-20 2023-01-25 Nippon Hoso Kyokai Image decoding device, and programs therefor
TWI603564B (zh) * 2015-10-28 2017-10-21 群邁通訊股份有限公司 感測器裝置及具有該感測器裝置之可穿戴裝置
CN111213379B (zh) * 2017-10-16 2023-11-21 数字洞察力有限公司 用于将图像编码/解码的方法、装置和存储比特流的记录介质
CN112602324A (zh) * 2018-06-22 2021-04-02 Op方案有限责任公司 块水平几何划分
KR20210118154A (ko) 2019-01-28 2021-09-29 오피 솔루션즈, 엘엘씨 적응형 개수의 영역들을 갖는 기하학적 파티셔닝에서의 인터 예측
BR112022003641A2 (pt) 2019-09-01 2022-05-24 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665342B1 (en) * 1999-07-02 2003-12-16 International Business Machines Corporation System and method for producing a still image representation of a motion video
CN101536528A (zh) * 2006-10-30 2009-09-16 惠普开发有限公司 用于分解视频序列帧的方法
CN101605261A (zh) * 2009-07-13 2009-12-16 清华大学 一种用于视频图像分块的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100477649B1 (ko) * 2002-06-05 2005-03-23 삼성전자주식회사 다양한 프레임 사이즈를 지원하는 정수 코딩 방법 및 그를적용한 코덱 장치
JP4313710B2 (ja) * 2004-03-25 2009-08-12 パナソニック株式会社 画像符号化方法および画像復号化方法
US8606023B2 (en) * 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
CN101822056B (zh) * 2007-10-12 2013-01-02 汤姆逊许可公司 用于视频编解码几何划分的双向预测模式划分的方法和装置
JP2009284275A (ja) * 2008-05-23 2009-12-03 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラムおよびそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665342B1 (en) * 1999-07-02 2003-12-16 International Business Machines Corporation System and method for producing a still image representation of a motion video
CN101536528A (zh) * 2006-10-30 2009-09-16 惠普开发有限公司 用于分解视频序列帧的方法
CN101605261A (zh) * 2009-07-13 2009-12-16 清华大学 一种用于视频图像分块的方法及装置

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106105207A (zh) * 2014-03-25 2016-11-09 高通股份有限公司 用于视频译码的具有行程长度码的调色板预测器信令
CN106105207B (zh) * 2014-03-25 2019-12-20 高通股份有限公司 用于编码/解码视频数据的方法和设备
CN107852506A (zh) * 2015-05-12 2018-03-27 三星电子株式会社 用于执行帧内预测的图像解码方法及其装置以及用于执行帧内预测的图像编码方法及其装置
WO2017101091A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Content based video encoding for wireless display
US10104373B2 (en) 2015-12-18 2018-10-16 Intel Corporation Content based video encoding for wireless display
US10798408B2 (en) 2016-01-29 2020-10-06 Google Llc Last frame motion vector partitioning
US10469841B2 (en) 2016-01-29 2019-11-05 Google Llc Motion vector prediction using prior frame residual
CN109690626B (zh) * 2016-10-19 2023-10-03 谷歌有限责任公司 用于对表面的几何表示的法线进行编码和/或解码的方法和装置
CN109690626A (zh) * 2016-10-19 2019-04-26 谷歌有限责任公司 用于对表面的几何表示的法线进行编码和/或解码的方法和装置
CN115118994B (zh) * 2017-08-22 2024-02-06 松下电器(美国)知识产权公司 图像编码器、图像解码器、和比特流生成设备
CN115118993B (zh) * 2017-08-22 2024-02-06 松下电器(美国)知识产权公司 图像编码方法、图像解码方法、和比特流生成方法
CN115150613B (zh) * 2017-08-22 2024-02-06 松下电器(美国)知识产权公司 图像编码器、图像解码器、和比特流生成设备
CN115118995B (zh) * 2017-08-22 2024-02-06 松下电器(美国)知识产权公司 图像编码器、图像解码器、和比特流生成设备
CN115118992B (zh) * 2017-08-22 2024-02-06 松下电器(美国)知识产权公司 图像编码器、图像解码器、和比特流生成设备
CN111034197A (zh) * 2017-08-22 2020-04-17 松下电器(美国)知识产权公司 图像编码器、图像解码器、图像编码方法和图像解码方法
CN115150613A (zh) * 2017-08-22 2022-10-04 松下电器(美国)知识产权公司 图像编码器、图像解码器、和非暂态计算机可读介质
CN111034197B (zh) * 2017-08-22 2022-07-12 松下电器(美国)知识产权公司 图像编码器、图像解码器、图像编码方法和图像解码方法
CN115118992A (zh) * 2017-08-22 2022-09-27 松下电器(美国)知识产权公司 图像编码器、图像解码器、和非暂态计算机可读介质
CN115118995A (zh) * 2017-08-22 2022-09-27 松下电器(美国)知识产权公司 图像编码器、图像解码器、和非暂态计算机可读介质
CN115118993A (zh) * 2017-08-22 2022-09-27 松下电器(美国)知识产权公司 图像编码方法、图像解码方法、和非暂态计算机可读介质
CN115118994A (zh) * 2017-08-22 2022-09-27 松下电器(美国)知识产权公司 图像编码器、图像解码器、和非暂态计算机可读介质
CN110662048A (zh) * 2018-06-28 2020-01-07 华为技术有限公司 一种图像编码方法以及设备
US11700371B2 (en) 2018-11-02 2023-07-11 Beijing Bytedance Network Technology Co., Ltd Table maintenance for HMVP candidate storage
US11122266B2 (en) 2018-11-02 2021-09-14 Beijing Bytedance Network Technology Co., Ltd. Table maintenance for HMVP candidate storage
CN111147847A (zh) * 2018-11-02 2020-05-12 北京字节跳动网络技术有限公司 几何分割模式中基于历史的运动矢量预测候选的使用
WO2020088689A1 (en) * 2018-11-02 2020-05-07 Beijing Bytedance Network Technology Co., Ltd. Usage of hmvp candidates in geometry partition prediction mode
CN111147847B (zh) * 2018-11-02 2024-05-10 北京字节跳动网络技术有限公司 几何分割模式中基于历史的运动矢量预测候选的使用
CN112970263A (zh) * 2018-11-06 2021-06-15 北京字节跳动网络技术有限公司 基于条件的具有几何分割的帧间预测
WO2021056920A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频编解码的方法和装置
CN114556953A (zh) * 2019-10-10 2022-05-27 北京字节跳动网络技术有限公司 视频编解码中非矩形分割的使用

Also Published As

Publication number Publication date
KR20130025903A (ko) 2013-03-12
KR101515696B1 (ko) 2015-04-27
JP2013524730A (ja) 2013-06-17
JP2014209743A (ja) 2014-11-06
CN102845062B (zh) 2015-04-29
EP2559248A2 (en) 2013-02-20
WO2011130186A2 (en) 2011-10-20
TW201220851A (en) 2012-05-16
WO2011130186A3 (en) 2012-03-08

Similar Documents

Publication Publication Date Title
CN102845062B (zh) 用于几何运动分割的定点实施方案
CN102763415B (zh) 起因于几何运动划分的平滑重叠区域
CN102783149B (zh) 用于视频译码的适应性运动分辨率
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
CN103891293B (zh) 用于色度分量的自适应环路滤波的方法及设备
CN103609118B (zh) 用于视频译码的并行化友好合并候选者
CN103339936B (zh) 用于视频译码的单一参考图片列表建构
CN103141100B (zh) 用于视频译码的帧内平滑滤波器
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
CN103238323A (zh) 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
CN103703781A (zh) 使用自适应运动向量分辨率的视频译码
CN103597832A (zh) 用于使用相邻模式的视频译码的增强的帧内预测模式信令
CN108141597A (zh) 用于具有重组的视频译码的非可分离二次变换
CN103202016A (zh) 用于视频译码的自适应运动向量分辨率信令
CN104813661A (zh) 在视频译码中跨越受约束块内边界进行环路滤波
CN103636215A (zh) 对视频数据应用非正方形变换
CN105191307A (zh) 在视频译码过程中用于系数级别译码的莱斯参数更新
CN105075259A (zh) 用于视频译码预测的存储器减少
CN103250413A (zh) 视频译码中的并行上下文计算
CN102792698A (zh) 用于运动内插法的色度高精度运动滤波
CN103329523A (zh) 使用经映射变换和扫描模式的视频译码
CN103688541A (zh) 在视频译码中缓冲预测数据
CN103891279A (zh) 用于帧内预测译码的最大概率变换
CN103636223A (zh) 用于视频译码的多区扫描次序
CN103999465A (zh) 自适应性重叠块运动补偿

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