CN108293114A - 用于显示流压缩的块预测模式的多区域搜索范围 - Google Patents

用于显示流压缩的块预测模式的多区域搜索范围 Download PDF

Info

Publication number
CN108293114A
CN108293114A CN201680070287.2A CN201680070287A CN108293114A CN 108293114 A CN108293114 A CN 108293114A CN 201680070287 A CN201680070287 A CN 201680070287A CN 108293114 A CN108293114 A CN 108293114A
Authority
CN
China
Prior art keywords
block
pixels
location
pixel
current
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
CN201680070287.2A
Other languages
English (en)
Other versions
CN108293114B (zh
Inventor
N·H·雅各布森
V·提鲁马莱
R·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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN108293114A publication Critical patent/CN108293114A/zh
Application granted granted Critical
Publication of CN108293114B publication Critical patent/CN108293114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

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

Abstract

本发明公开一种用于在恒定位速率视频译码方案的简化块预测模式中译码视频数据块以用于经由显示链路而传输的方法。在一个方面中,所述方法包含确定待用以预测当前切片中的当前块的候选块,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内。所述像素位置范围可包括(i)包含与所述当前块重叠的第一像素行中的一或多个第一像素位置的第一区域,及(ii)包含不与所述当前块重叠的第二像素行中的一或多个第二像素位置的第二区域。所述方法可进一步包括确定及传信指示所述候选块的像素位置的预测向量。

Description

用于显示流压缩的块预测模式的多区域搜索范围
技术领域
本发明是关于视频译码及压缩的领域,且特别是关于用于经由显示链路而传输的视频压缩,例如显示链路视频压缩。
背景技术
数字视频能力可并入到广泛范围的显示器中,所述显示器包含数字电视、个人数字助理(PDA)、膝上型计算机、台式监视器、数字摄影机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏主控台、蜂窝式或卫星无线电电话、视频电传会议装置,及其类似者。显示链路用以将显示器连接到适当源装置。显示链路的带宽要求与显示器的分辨率成比例,且因此,高分辨率显示器需要大带宽显示链路。一些显示链路不具有用以支持高分辨率显示器的带宽。视频压缩可用以缩减带宽要求,使得较低带宽显示链路可用以将数字视频提供到高分辨率显示器。
存在涉及关于像素数据的图像压缩的译码方案。然而,此些方案有时并非视觉上无损的或可在常规显示装置中实施起来为困难且昂贵的。
视电标准协会(Video Electronics Standards Association;VESA)已开发显示流压缩(DSC)作为用于显示链路视频压缩的标准。例如DSC的显示链路视频压缩技术应尤其提供视觉上无损的图片质量(即,具有使得用户不能辨识压缩在作用中的质量等级的图片)。显示链路视频压缩技术还应提供运用常规硬件实时地实施起来为容易且便宜的方案。
发明内容
DSC标准包含数个译码模式,在所述数个译码模式中,每一视频数据块可由编码器编码且相似地由解码器解码。在一些实施中,所述编码器及/或所述解码器可基于经先前译码块来预测待译码的当前块。
然而,现有译码模式(例如,变换译码、微分脉码调制等等)未提供压缩视频数据中的高度复杂区域的令人满意的方式。常常,对于此类型的数据(即,经高度压缩视频数据),待译码的当前块(或所述当前块的构成子块)在内容上相似于已由译码器(例如,编码器或解码器)遭遇的先前块。然而,现有帧内预测可太受限制以致不能提供此当前块的令人满意的预测(例如,充分地相似于所述当前块且将因此得到充分小的残余的所述当前块的预测)。因此,需要一种译码视频数据块的经改进方法。
本发明的系统、方法及装置各自具有若干创新方面,所述方面中无单一者独自地负责本文中所公开的合意属性。
在一个方面中,一种用于在恒定位速率视频译码方案的简化块预测模式中译码视频数据块的方法可包含:确定待用以预测当前切片中的当前块的候选块,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;确定指示所述像素位置范围内的所述候选块的像素位置的预测向量,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块。
在另一方面中,一种经配置以在恒定位速率视频译码方案的简化块预测模式中译码视频数据块的设备可包含:存储器,其经配置以存储视频数据的当前切片的一或多个经重新构建像素;及一或多个处理器,其与所述存储器通信。所述一或多个处理器可经配置以进行以下操作:确定待用以预测所述当前切片中的当前块的候选块,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;确定指示所述像素位置范围内的所述候选块的像素位置的预测向量,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块。
在另一方面中,非暂时性物理计算机存储体可包括经配置以在恒定位速率视频译码方案的简化块预测模式中译码视频数据块的代码。所述代码在经执行时可致使设备进行以下操作:确定待用以预测当前切片中的当前块的候选块,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;确定指示所述像素位置范围内的所述候选块的像素位置的预测向量,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块。
在另一方面中,一种视频译码装置可经配置以在恒定位速率视频译码方案的简化块预测模式中译码视频数据块。所述视频译码装置可包括:用于确定待用以预测当前切片中的当前块的候选块的装置,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;用于确定指示所述像素位置范围内的所述候选块的像素位置的预测向量的装置,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及用于至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块的装置。
附图说明
图1A为说明可利用根据本发明中所描述的方面的技术的实例视频编码及解码系统的框图。
图1B为说明可执行根据本发明中所描述的方面的技术的另一实例视频编码及解码系统的框图。
图2A为说明可实施技术的视频编码器的实例的框图。
图2B为说明可实施技术的视频解码器的实例的框图。
图3为说明用于1-D块的非第一行的搜索空间的框图。
图4为说明用于2-D块的非第一行的搜索空间的框图。
图5为说明用于1-D块的第一行的搜索空间的框图。
图6为说明用于2-D块的第一行的搜索空间的框图。
图7为说明用于在块预测模式中预测视频数据块的方法的流程图。
图8为说明具有分割区的块的框图。
图9为说明用于运用调适性分割区大小的块预测模式的数据流程的框图。
图10为说明用于块内的2×2区域的两个不同分割区选项的框图。
图11为说明用于块预测模式的熵译码群组的框图。
图12为说明用于2×8块的搜索空间的框图。
图13为说明正用于块的不同区域的不同分割区大小的框图。
图14为说明用于使用可变分割区大小而在块预测模式中预测视频数据块的方法的流程图。
图15为说明针对用于4:2:0色度子采样的2×2分割区的实例块预测搜索的框图。
图16为说明针对用于4:2:0色度子采样的1×2分割区的实例块预测搜索的框图。
图17为说明针对用于4:2:2色度子采样的2×2分割区的实例块预测搜索的框图。
图18为说明针对用于4:2:2色度子采样的1×2分割区的实例块预测搜索的框图。
图19为说明用于块预测模式的单一搜索范围的框图。
图20为说明用于块预测模式的多个搜索范围的框图。
图21为说明用于使用多个搜索范围而在块预测模式中预测视频数据块的方法的流程图。
图22为说明用于简化块预测模式的实例搜索区域的框图。
图23为说明用于简化块预测模式的实例搜索区域的框图。
图24为说明用于简化块预测模式的实例搜索区域的框图。
图25为说明用于简化块预测模式的实例搜索区域的框图。
图26为说明用于在简化块预测模式中预测视频数据块的方法的流程图。
具体实施方式
一般来说,本发明是关于改进视频压缩技术(例如显示链路视频压缩中所利用的视频压缩技术)的方法。更具体来说,本发明是关于用于使用调适性搜索范围选择而在块预测模式中译码视频数据块的系统及方法。
虽然本文中在DSC标准(其为显示链路视频压缩技术的实例)的上下文中描述某些实施例,但所属领域的一般技术人员将了解,本文中所公开的系统及方法可适用于任何合适视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多个:国际电信联盟(ITU)电信标准化部门(ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)动画专家群-1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(也被称为ISO/IEC MPEG-4AVC)、高效率视频译码(HEVC),及此些标准的任何延伸。而且,本发明中所描述的技术可变为未来开发的标准的部分。换句话说,本发明中所描述的技术可适用于先前开发的视频译码标准、当前在开发中的视频译码标准,及即将出现的视频译码标准。
DSC标准包含数个译码模式,在所述数个译码模式中,每一视频数据块可由编码器编码且相似地由解码器解码。在一些实施中,所述编码器及/或所述解码器可基于经先前译码块来预测待译码的当前块。
然而,现有译码模式(例如,变换译码、微分脉码调制等等)未提供压缩视频数据中的高度复杂区域的令人满意的方式。常常,对于此类型的数据(即,经高度压缩视频数据),待译码的当前块(或所述当前块的构成子块)在内容上相似于已由译码器(例如,编码器或解码器)遭遇的先前块。然而,现有帧内预测可太受限制以致不能提供此当前块的令人满意的预测(例如,充分地相似于所述当前块且将因此得到充分小的残余的所述当前块的预测)。因此,需要一种译码视频数据块的经改进方法。
在本发明中,描述一种在块预测模式中译码块的经改进方法。举例来说,当搜索待用以预测当前块(或当前块内的当前区域)的候选块(或候选区域)时,可界定搜索范围,使得编码器能够存取可为良好匹配的潜在候选者,同时最小化搜索成本。在另一实例中,编码器可基于速率失真(RD)分析来确定多个搜索范围中的哪一个将用于译码当前块。在又一实例中,编码器可基于例如当前块的部位、RD成本等等的多种因素来确定经先前译码像素中的哪一个待包含于用于译码当前块的搜索范围中。通过在编码器侧执行较多操作(例如,搜索待用于预测当前块的候选块、计算识别候选块相对于当前块的部位的向量、比较与使用不同搜索范围相关联的成本等等,此可消耗计算资源及处理功率),所述方法可缩减解码器复杂度。另外,通过允许多个及/或调适性搜索范围用于在块预测模式中译码块,可增加定位优良候选分割区的可能性,借此改进块预测模式的译码效率及/或译码性能。此外,通过允许编码器调适性地选择待用于译码每一块的搜索范围,可进一步改进块预测方案的性能。
视频译码标准
例如视频图像、TV图像、静态图像或由视频记录器或计算机产生的图像的数字图像可包含以水平行及垂直行而布置的像素或样本。单一图像中的像素的数目通常为数万个。每一像素通常含有明度信息及色度信息。在无压缩的情况下,待从图像编码器传送到图像解码器的信息的绝对量将致使实时图像传输不切实际。为了缩减待传输的信息的量,已开发数种不同压缩方法,例如JPEG、MPEG及H.263标准。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(也被称为ISO/IECMPEG-4AVC),及包含此些标准的延伸的HEVC。
另外,视频译码标准(即,DSC)已由VESA开发。DSC标准为可压缩视频以用于经由显示链路而传输的视频压缩标准。随着显示器的分辨率增加,驱动显示器所需要的视频数据的带宽对应地增加。一些显示链路可不具有用以将所有视频数据传输到用于此些分辨率的显示器的带宽。因此,DSC标准指定用于经由显示链路的可互操作的视觉上无损的压缩的压缩标准。
DSC标准不同于例如H.264及HEVC的其它视频译码标准。DSC包含帧内压缩,但不包含帧间压缩,此意味着时间信息可不由DSC标准用来译码视频数据。与此对比,其它视频译码标准可在其视频译码技术中使用帧间压缩。
视频译码系统
下文中参考随附图式来更充分地描述新颖系统、设备及方法的各种方面。然而,本发明可以数个不同形式予以体现,且不应被认作限于贯穿本发明所呈现的任何特定结构或功能。更确切地,此些方面经提供使得本发明将透彻且完整,且将向所属领域的技术人员充分地传送本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围打算涵盖本文中所公开的新颖系统、设备及方法的任何方面,而无论独立于本发明的任何其它方面而实施还是与本发明的任何其它方面组合地实施。举例来说,可使用本文中所阐述的任何数目个方面来实施一种设备,或可使用本文中所阐述的任何数目个方面来实践一种方法。另外,本发明的范围打算涵盖使用除了本文中所阐述的本发明的各种方面以外或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构与功能性而实践的此设备或方法。应理解,可通过权利要求书的一或多个元素来体现本文中所公开的任何方面。
尽管本文中描述特定方面,但此些方面的许多变化及排列属于本发明的范围内。尽管提及优选方面的一些益处及优点,但本发明的范围并不打算限于特定益处、用途或目标。更确切地,本发明的方面打算广泛地适用于不同无线科技、系统配置、网络及传输协议,其中一些作为实例而在诸图中及在优选方面的以下描述中加以说明。详细描述及图式仅仅说明而非限制本发明,本发明的范围由随附权利要求书及其等效物界定。
随附图式说明实例。随附图式中由参考编号指示的元件对应于以下描述中由类似参考编号指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等等)开始的元件未必暗示所述元件具有特定次序。更确切地,此些序数词仅仅用以是指相同或相似类型的不同元件。
图1A为说明可利用根据本发明中所描述的方面的技术的实例视频译码系统10的框图。如本文中所使用,术语“视频译码器”或“译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指视频编码及视频解码。除了视频编码器及视频解码器以外,本申请案中所描述的方面也可延伸到例如转码器(例如,可解码位流且重新编码另一位流的装置)及中间盒(例如,可修改、变换及/或以其它方式操纵位流的装置)的其它相关装置。
如图1A所展示,视频译码系统10包含产生稍后待由目的地装置14(即,“视频译码装置14”或“译码装置14”)解码的经编码视频数据的源装置12(即,“视频译码装置12”或“译码装置12”)。在图1A的实例中,源装置12及目的地装置14构成单独装置。然而,应注意,源装置12及目的地装置14可在同一装置上或为同一装置的部分,如图1B的实例中所展示。
再次参考图1A,源装置12及目的地装置14可分别包括广泛范围的装置(也被称作视频译码装置)中的任一个,包含台式计算机、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、电话手机(例如所谓的“智能”电话)、所谓的“智能”板、电视、摄影机、显示装置、数字媒体播放器、视频游戏主控台、视频流式传输装置,或其类似者。在各种实施例中,源装置12及目的地装置14可经装备以用于无线通信(即,经配置以经由无线通信而通信)。
视频译码系统10的视频译码装置12、14可经配置以经由无线网络及无线电科技(例如无线广域网(WWAN)(例如,蜂窝式)及/或无线局域网(WLAN)载波)而通信。术语“网络”及“系统”常常可互换地使用。视频译码装置12、14中的每一个可为用户设备(UE)、无线装置、终端机、移动台、用户单元等等。
WWAN载波可包含(例如)无线通信网络,例如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)及其它网络。CDMA网络可实施例如通用陆地无线电存取(UTRA)、CDMA2000等等的无线电科技。UTRA包含宽带CDMA(WCDMA)及CDMA的其它变体。CDMA2000涵盖IS-2000、IS-95及IS-856标准。TDMA网络可实施例如全球移动通信系统(GSM)的无线电科技。OFDMA网络可实施例如演进型UTRA(E-UTRA)、超移动宽带(UMB)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、快闪OFDMA等等的无线电科技。UTRA及E-UTRA为通用移动电信系统(UMTS)的部分。3GPP长期演进(LTE)及高级LTE(LTE-A)为使用E-UTRA的UMTS的新版本。UTRA、E-UTRA、UMTS、LTE、LTE-A及GSM被描述于来自名称为“第三代合作伙伴计划”(3GPP)的组织的文件中。CDMA2000及UMB被描述于来自名称为“第三代合作伙伴计划2”(3GPP2)的组织的文件中。
视频译码系统10的视频译码装置12、14也可根据一或多个标准(例如IEEE 802.11标准,包含(例如)此些修正:802.11a-1999(通常被称为“802.11a”)、802.11b-1999(通常被称为“802.11b”)、802.11g-2003(通常被称为“802.11g”)等等)经由WLAN基站而彼此通信。
目的地装置14可经由链路16来接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在图1A的实例中,链路16可包括通信媒体以使源装置12能够实时地将经编码视频数据传输到目的地装置14。可根据例如无线通信协议的通信标准来调制经编码视频数据,且将经编码视频数据传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如局域网、广域网,或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站,或可有用于促进从源装置12到目的地装置14的通信的任何其它设备。
在图1A的实例中,源装置12包含视频源18、视频编码器20(也被简单地称作编码器20)及输出接口22。在一些状况下,输出接口22可包含调制器/解调器(调制解调器)及/或传输器。在源装置12中,视频源18可包含例如视频检索装置(例如,摄像机)、含有经先前检索视频的视频文件库、用以从视频内容提供者接收视频的视频馈送接口及/或用于产生计算机图形数据作为源视频的计算机图形系统的源,或此些源的组合。作为一个实例,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的“摄影机电话”或“视频电话”,如图1B的实例中所说明。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。
经检索、经预检索或经计算机产生视频可由视频编码器20编码。经编码视频数据可经由源装置12的输出接口22而传输到目的地装置14。而且(或替代地),经编码视频数据可存储到存储装置31上以用于稍后由目的地装置14或其它装置存取以供解码及/或播放。图1A及1B所说明的视频编码器20可包括图2A所说明的视频编码器20或本文中所描述的任何其它视频编码器。
在图1A的实例中,目的地装置14包含输入接口28、视频解码器30(也被简单地称作解码器30)及显示装置32。在一些状况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28可经由链路16及/或从存储装置31接收经编码视频数据。经由链路16所传达或在存储装置31上所提供的经编码视频数据可包含由视频编码器20产生以用于由例如视频解码器30的视频解码器用来解码所述视频数据的多种语法元素。此些语法元素可与在通信媒体上所传输、存储于存储媒体上或存储于文件服务器上的经编码视频数据一起被包含。图1A及1B所说明的视频解码器30可包括图2B所说明的视频解码器30或本文中所描述的任何其它视频解码器。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成式显示装置且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一个,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
在相关方面中,图1B展示实例视频译码系统10',其中源装置12及目的地装置14在装置11上或为装置11的部分。装置11可为电话手机,例如“智能”电话或其类似者。装置11可包含与源装置12及目的地装置14进行操作性通信的处理器/控制器装置13(任选地存在)。图1B的视频译码系统10'及其组件在其它方面相似于图1A的视频译码系统10及其组件。
视频编码器20及视频解码器30可根据例如DSC的视频压缩标准而操作。替代地,视频编码器20及视频解码器30可根据其它专有标准或行业标准(例如ITU-T H.264标准,被替代地称作MPEG-4、Part 10、AVC、HEVC)或此些标准的延伸而操作。然而,本发明的技术并不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2及ITU-T H.263。
尽管图1A及1B的实例中未展示,但视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当MUX-DEMUX单元或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。在一些实例中,适用时,MUX-DEMUX单元可符合ITUH.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
视频编码器20及视频解码器30各自可实施为多种合适编码器电路系统中的任一个,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实施所述技术时,装置可将用于所述软件的指令存储于合适非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一个可包含于一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一个可被集成为各别装置中的组合式编码器/解码器的部分。
视频译码过程
如上文简要地所提及,视频编码器20编码视频数据。视频数据可包括一或多个图片。所述图片中的每一个为形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20编码视频数据(例如,视频译码层(VCL)数据及/或非VCL数据)时,视频编码器20可产生位流。位流可包含形成视频数据的经译码表示的位序列。位流可包含经译码图片及关联数据。经译码图片为图片的经译码表示。VCL数据可包含经译码图片数据(即,与经译码图片的样本相关联的信息),且非VCL数据可包含与一或多个经译码图片相关联的控制信息(例如,参数集及/或补充增强信息)。
为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片及关联数据。关联数据可包含例如量化参数(QP)的译码参数集合。为了产生经译码图片,视频编码器20可将图片分割成相等大小的视频块。视频块可为样本的二维阵列。译码参数可定义用于视频数据的每一块的译码选项(例如,译码模式)。译码选项可经选择以便达成所要RD性能。
在一些实例中,视频编码器20可将图片分割成多个切片。所述切片中的每一个可包含图像(例如,帧)中可在无来自图像或帧中的其余部分的信息的情况下被独立地解码的空间上相异区域。每一图像或视频帧可在单一切片中被编码,或每一图像或视频帧可在若干切片中被编码。在DSC中,经分配以编码每一切片的位的数目可大体上恒定。作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称作“经译码切片”。
DSC视频编码器
图2A为说明可实施根据本发明中所描述的方面的技术的视频编码器20的实例的框图。视频编码器20可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中所描述的技术可在视频编码器20的各种组件之间被共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中所描述的技术中的一些或全部。
出于解释的目的,本发明在DSC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含:色彩空间转换器105;缓冲器110;平坦性检测器115;速率控制器120;预测器、量化器及重新构建器组件125;行缓冲器130;索引色彩历史135;熵编码器140;子流多路复用器145;及速率缓冲器150。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。
色彩空间105转换器可将输入色彩空间转换成用于译码实施中的色彩空间。举例来说,在一个示范性实施例中,输入视频数据的色彩空间在红、绿及蓝(RGB)色彩空间中,且译码实施于明度Y、色度绿Cg及色度橙Co(YCgCo)色彩空间中。色彩空间转换可由包含到视频数据的移位及加法的方法执行。应注意,可处理其它色彩空间中的输入视频数据,且也可执行到其它色彩空间的转换。
在相关方面中,视频编码器20可包含缓冲器110、行缓冲器130及/或速率缓冲器150。举例来说,缓冲器110可在其由视频编码器20的其它部分使用之前保持(例如,存储)经色彩空间转换视频数据。在另一实例中,可将视频数据存储于RGB色彩空间中,且可按需要而执行色彩空间转换,此是由于经色彩空间转换数据可需要较多位。
速率缓冲器150可充当视频编码器20中的速率控制机构的部分,下文将结合速率控制器120来更详细地描述速率缓冲器150。编码每一块所耗费的位的数目可高度地大体上基于块的性质而变化。速率缓冲器150可使经压缩视频的速率变化平滑。在一些实施例中,使用恒定位速率(CBR)缓冲器模型,其中以恒定位速率从速率缓冲器去除存储于速率缓冲器(例如,速率缓冲器150)中的位。在CBR缓冲器模型中,如果视频编码器20将过多位添加到位流,那么速率缓冲器150可溢位。另一方面,视频编码器20可需要添加足够位以便防止速率缓冲器150的反向溢位。
在视频解码器侧,可以恒定位速率将位添加到视频解码器30的速率缓冲器155(参见下文更详细地所描述的图2B),且视频解码器30可去除用于每一块的可变数目个位。为了确保适当解码,视频解码器30的速率缓冲器155不应在经压缩位流的解码期间“反向溢位”或“溢位”。
在一些实施例中,可基于表示当前在缓冲器中的位的数目的值BufferCurrentSize及表示速率缓冲器150的大小的BufferMaxSize(即,可在任何时间点存储于速率缓冲器150中的位的最大数目)来定义缓冲器饱和度(buffer fullness;BF)。可将BF计算为:
BF=((BufferCurrentSize*100)/BufferMaxSize)
平坦性检测器115可检测从视频数据中的复杂(即,非平坦)区到视频数据中的平坦(即,简单或均一)区的改变。术语“复杂”及“平坦”将在本文中用以通常是指视频编码器20编码视频数据的各别区域的难度。因此,如本文中所使用的术语复杂通常将视频数据的区域描述为对于视频编码器20的编码来说复杂,且可(例如)包含纹理化视频数据、高空间频率,及/或对于编码来说复杂的其它特征。如本文中所使用的术语平坦通常将视频数据的区域描述为对于视频编码器20的编码来说简单,且可(例如)包含视频数据中的平滑梯度、低空间频率,及/或对于编码来说简单的其它特征。可由视频编码器20使用复杂区域与平坦区域之间的转变以缩减经编码视频数据中的量化伪影。具体来说,当识别出从复杂区域到平坦区的转变时,速率控制器120以及预测器、量化器及重新构建器组件125可缩减此些量化伪影。
速率控制器120确定译码参数集合,例如,QP。QP可由速率控制器120基于速率缓冲器150的缓冲器饱和度及视频数据的图像活动而调整,以便最大化针对目标位速率的图片质量,此确保速率缓冲器150不会溢位或反向溢位。速率控制器120还选择用于视频数据的每一块的特定译码选项(例如,特定模式),以便达成最优选RD性能。速率控制器120最小化经重新构建图像的失真,使得速率控制器120满足位速率约束,即,总实际译码速率适合目标位速率。
预测器、量化器及重新构建器组件125可执行视频编码器20的至少三个编码操作。预测器、量化器及重新构建器组件125可在数个不同模式中执行预测。一个实例预测模式为中位调适性预测的经修改版本。中位调适性预测可由无损JPEG标准(JPEG-LS)实施。可由预测器、量化器及重新构建器组件125执行的中位调适性预测的经修改版本可允许三个连续样本值的并行预测。另一实例预测模式为块预测。在块预测中,从行的上方中或同一行中的左方的经先前重新构建像素预测样本。在一些实施例中,视频编码器20及视频解码器30可都对经重新构建像素执行相同搜索以确定块预测使用,且因此不需要在块预测模式中发送位。在其它实施例中,视频编码器20可在位流中执行搜索及信号块预测向量,使得视频解码器30不需要执行单独搜索。也可实施中点预测模式,其中使用组件范围的中点来预测样本。中点预测模式可实现即使最差状况样本中的经压缩视频所需要的位的数目的限界。如下文进一步参考图3到26所论述,预测器、量化器及重新构建器组件125可经配置以基于本文中所描述的一或多种技术来译码(例如,编码或解码)视频数据块(或任何其它预测单元)。举例来说,预测器、量化器及重新构建器组件125可经配置以执行图3到26所说明的方法。在其它实施例中,预测器、量化器及重新构建器组件125可经配置以运用视频编码器20的一或多个其它组件来执行本文中所描述的一或多种方法或技术。
预测器、量化器及重新构建器组件125还执行量化。举例来说,可经由可使用移位器而实施的2幂量化器来执行量化。应注意,可代替2幂量化器来实施其它量化技术。由预测器、量化器及重新构建器组件125执行的量化可基于由速率控制器120确定的QP。最终,预测器、量化器及重新构建器组件125也执行包含将经反量化残余与经预测值相加及确保结果不超出样本值的有效范围的重新构建。
应注意,由预测器、量化器及重新构建器组件125执行的上述实例预测、量化及重新构建途径仅仅为说明性的,且可实施其它途径。还应注意,预测器、量化器及重新构建器组件125可包含用于执行预测、量化及/或重新构建的子组件。应进一步注意,可代替预测器、量化器及重新构建器组件125而由若干单独编码器组件执行预测、量化及/或重新构建。
行缓冲器130保持(例如,存储)来自预测器、量化器及重新构建器组件125的输出,使得预测器、量化器及重新构建器组件125以及索引色彩历史135可使用经缓冲视频数据。索引色彩历史135存储最近使用的像素值。此些最近使用的像素值可直接地由视频编码器20经由专用语法而参考。
熵编码器140基于索引色彩历史135及由平坦性检测器115识别的平坦性转变来编码预测残余及从预测器、量化器及重新构建器组件125接收的任何其它数据(例如,由预测器、量化器及重新构建器组件125识别的索引)。在一些实例中,熵编码器140可每时钟每子流编码器编码三个样本。子流多路复用器145可基于无标头包多路复用方案来对位流进行多路复用。此允许视频解码器30并行地执行三个熵解码器,从而促进每时钟三个像素的解码。子流多路复用器145可优化包次序,使得包可由视频解码器30高效地解码。应注意,可实施不同熵译码途径,此可促进每时钟2幂像素(例如,2个像素/时钟或4个像素/时钟)的解码。
DSC视频解码器
图2B为说明可实施根据本发明中所描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中所描述的技术可在视频解码器30的各种组件之间被共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中所描述的技术中的一些或全部。
出于解释的目的,本发明在DSC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图2B的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含:速率缓冲器155;子流多路分用器160;熵解码器165;速率控制器170;预测器、量化器及重新构建器组件175;索引色彩历史180;行缓冲器185;及色彩空间转换器190。视频解码器30的所说明组件类似于上文结合图2A中的视频编码器20所描述的对应组件。因而,视频解码器30的组件中的每一个可以相似于如上文所描述的视频编码器20的对应组件的方式而操作。在一些实施例中,视频编码器20及/或视频解码器30的一或多个组件可由经配置以执行经配置以执行此些组件的任务的软件代码的一或多个硬件处理器实施。在其它实施例中,视频编码器20及/或视频解码器30的一或多个组件可由经配置以执行此些组件的任务的硬件电路系统实施。
DSC中的切片
如上文所提到,切片通常是指图片或帧中可在不使用来自图片或帧中的其余部分的信息的情况下被独立地解码的空间上相异区域。每一图像或视频帧可在单一切片中被编码,或其可在若干切片中被编码。在DSC中,经分配以编码每一切片的目标位可大体上恒定。
块预测模式
单一视频数据块可含有数个像素,且每一视频数据块具有可供译码所述块的数个潜在译码模式。此些译码模式中的一个为块预测模式。在块预测模式中,译码器尝试找到接近于(例如,在像素值上)待译码的当前块的先前经重新构建行中的候选块(例如,如果当前块不在当前切片的第一行中)或同一行中的先前经重新构建块(例如,如果当前块在当前切片的第一行中)。在一些实施例中,通过绝对差总和(SAD)度量来确定像素值之间的接近度。译码器可尝试在由搜索范围(例如,其可为编码器及解码器两者已知的预定值)界定的经先前重新构建块的任何部分中找到候选块。搜索范围经界定使得编码器具有在搜索范围内的潜在候选者以找到良好匹配,同时最小化搜索成本。块预测模式的译码效率来自如下事实:如果探索到良好候选者(即,搜索范围内被确定为在像素值上接近于待译码的当前块的候选者),那么候选块与当前块之间的差(被称为残余)将小。相较于传信当前块的实际像素值所需要的位的数目,小残余将采取较少数目个位进行传信,借此引起较低RD成本且增加由RD机构选择的可能性。由于启用块预测模式而引起的性能提升对于某些类型的图形内容极其显著。
块预测模式中的参数
块预测模式经设计以产生候选块,在给出指定搜索范围的情况下,所述候选块提供与待编码的当前块的最小失真。在一些实施例中,使用SAD来定义最小失真。在本发明的一些实施中,块预测方法由三个参数定义:搜索范围(SR)、偏斜(α),及分割区大小(β)。此些三个参数影响块预测模式的性能,且可在实施期间被调谐(即,被修改或被重新配置)。此些参数可为编码器及解码器两者所知。
块预测模式中的搜索空间
在本发明的一些实施例中,搜索空间(例如,编码器可搜索以便找到候选块的像素的空间部位)可基于当前块的特性而不同。搜索空间可涵盖所有经先前重新构建块/像素,但编码器及/或解码器可将针对候选块的搜索限于搜索空间内的指定部分(例如,由预定义或在位流中传信的一或多个参数界定的“搜索范围”),例如,以缩减计算复杂度。图3到6中说明块预测搜索空间的实例。图3及4说明涉及不在当前切片的第一行中的当前块(例如,当前块308及408)的状况。图5及6说明涉及在当前切片的第一行中的当前块(例如,当前块506及606)的状况。因为切片中的第一行不具有垂直相邻者,所以单独地处置此些两种状况。因此,可充分利用来自当前行的经重新构建像素作为搜索范围(例如,搜索范围508及608)。在本发明中,当前切片中的第一行可被称作FLS,且当前切片中的任何其它行可被称作NFLS。
此外,本文中所描述的块预测技术可实施于使用单一行缓冲器(即,1-D块大小)的编码解码器或使用多个行缓冲器(即,2-D块大小)的编码解码器中。图3及5中展示用于1-D状况的搜索空间的实例,且图4及6中展示用于2-D状况的搜索空间的实例。在2-D状况下,搜索范围可包含来自先前经重新构建行(例如,先前行402)的像素或来自与2-D块中的块(例如,当前行602中的先前块604,其紧接地在当前块606的左方)相同的行的经重新构建块。可水平地或垂直地或既水平地又垂直地分割2-D块。在涉及块分割区的状况下,可针对每一块分割区指定块预测向量。
块预测模式的实例实施
在本发明的一些实施例中,可使用除了SAD以外的失真度量,例如,方差总和(SSD)。替代地或另外,可通过加权来修改失真。举例来说,如果正使用YCoCg色彩空间,那么可将成本计算为:
可在RGB色彩空间或YCoCg色彩空间中执行本文中所描述的块预测技术。另外,替代实施可使用两个色彩空间且将指示两个色彩空间中的哪一个被选择(例如,在速率及失真方面具有最低成本的任一色彩空间)的1位旗标传信到解码器。
在关于FLS的本发明的一些实施例中,可归因于管线作业及定时约束而从搜索范围排除直接先前经重新构建块。举例来说,取决于硬件实施,到当前块由译码器处理时,译码器可能尚未完成直接先前经重新构建块的处理(例如,当译码器开始处理当前块时,可能不知道用于先前块的经重新构建像素),从而引起延迟或失败。在此实施中,通过将先前经重新构建块的使用限定到知道经重新构建像素值所针对的那些块(例如,通过排除直接先前经重新构建块),可解决上文所说明的管线作业问题。在关于NFLS的本发明的一些实施例中,当前块的左方的搜索范围可来自同一行,而非先前经重新构建行。在此些实施例中的一些中,可归因于管线作业及定时约束而从搜索范围排除一或多个先前经重新构建块。
NFLS的实例实施
如图3所展示,块预测方法可将搜索空间中的搜索范围310(SR)仔细搜索一遍以找到用于当前块308的候选者(且在图4的搜索空间400中相似地)。如果待编码的当前块308的第一像素的x坐标位置为j,那么可将搜索空间内的所有候选块的开始位置k的集合给出为:
k∈[j-SR+(α+1),j+α]
在此实例中,参数α使搜索范围310的x坐标位置相对于待编码的当前块偏斜。α的较高值使搜索范围310右移,而α的较低值使搜索范围310左移。举例来说,(i)为32的SR及为15的α可将搜索范围310放置于先前行302的中心,(ii)为32的SR及为0的α可将搜索范围310放置于先前行302的左侧,且(iii)为32的SR及为31的α可将搜索范围310放置于先前行302的右侧。
在本发明的一些实施中,可将在搜索范围内但在切片边界外的像素设定为用于所述像素的动态范围的一半。举例来说,如果内容为RGB888,那么为128的默认值可用于R、G及B。如果内容在YCoCg空间中,那么为128的默认值可用于Y,且为0的默认值可用于Co及Cg(例如,Co及Cg为以0为中心的9位值)。
FLS的实例实施
如图5所展示,搜索范围对于FLS状况可不同。此是因为:因为垂直相邻者在当前帧外,或因为此些垂直相邻者含于不同切片内,所以此些垂直相邻者为不可用的。在关于FLS状况的本发明的一些实施例中,当前行中的像素可用于块预测。在一个实施例中,当前块的左方的当前行中的任何像素可被视为搜索范围的部分。在另一实施例中,可归因于管线作业及定时约束而从搜索范围排除一或多个经先前译码块(例如,紧接地在当前块的左方的先前块504)。
在FLS的一些实施中,用于切片的第一行中的前几个块的可用范围可小于通常针对其它块所预期的搜索范围。此是因为用于候选块的有效位置在行的起点处开始且在当前块之前结束。对于FLS中的前几个块,此有效范围可小于所要范围(例如,32个或64个位置)。因此,对于此些块,可需要调整搜索范围,使得候选块的每一块分割区完全地含于搜索范围内。对于NFLS,搜索范围可左移或右移,使得搜索位置的总数等于经界定搜索范围(例如,32个或64个像素位置)。由于j为当前块中的第一像素,因此当前块中的最后像素将为j+blkWidth-1。出于此原因,搜索范围可需要被左移(blkWidth-1)个像素。
在FLS的一些实施中,如果待编码的当前块的第一像素的x坐标部位被称作j,那么将搜索范围内的所有候选块的开始位置的集合给出为:
(i)如果最近的先前经重新构建块为搜索范围的部分(例如,α=-1),那么:
k∈[j-SR-(blkWidth-1),j-1-(blkWidth-1)]
(ii)如果将从搜索范围排除n个最近的先前经重新构建块,那么:
k∈[j-(n·blkx+SR)-(blkWidth-1),j-(n·blkx+1)-(blkWidth-1)]
其中blkx为块宽度。可将切片边界外的任何像素设定为如上文结合NFLS状况所描述的默认值。还应注意,偏斜参数不需要与FLS状况相关联。
用于在块预测模式中译码的实例流程图
参考图7,将描述用于在块预测模式中译码视频数据块的实例程序。图7所说明的步骤可由视频编码器(例如,图2A中的视频编码器20)、视频解码器(例如,图2B中的视频解码器30)或其组件执行。出于方便起见,将方法700描述为由视频译码器(也被简单地称作译码器)执行,所述视频译码器可为视频编码器20、视频解码器30或另一组件。
方法700开始于块701处。在块705处,译码器确定待用于预测当前切片中的当前块的候选块。候选块可在由一或多个块预测参数界定的部位(或像素位置)范围内。举例来说,块预测参数可包含(i)界定部位范围的大小的搜索范围参数、(ii)界定部位范围相对于当前块的相对部位的偏斜参数,及(iii)界定当前块中的每一分割区的大小的分割区大小参数。在本发明的一些实施例中,搜索范围参数、偏斜参数及分割区大小参数中的每一个空间上而非时间上界定候选块的部位。
在块710处,译码器基于候选块及当前块来确定预测向量。预测向量可识别候选块相对于当前块的部位。预测向量可包含一或多个坐标值(例如,指示1-D空间中的偏移的坐标值)。在块715处,译码器至少部分地经由传信预测向量而在块预测模式中译码当前块。在一些实施例中,译码器也可传信候选块与当前块之间的残余。可通过传信识别候选块的部位的预测向量及表示当前块与候选块之间的差的残余来达成位节省,而非必须传信当前块的实际像素值。方法700结束于块720处。
在方法700中,可去除(例如,不执行)图7所展示的块中的一或多个,及/或可切换所述方法被执行的次序。在一些实施例中,可将额外块添加到方法700。本发明的实施例并不限于图7所展示的实例或并不受到图7所展示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。
在找到候选块之后
在已确定最优选候选块之后,从当前块的像素值减去候选块的像素值,从而产生残余。可基于与块预测模式相关联的经预选择QP来量化残余。可使用码簿(其可为固定长度或可变长度)来编码经量化残余且使用固定长度码或可变长度码来传信经量化残余。经选择码簿可基于译码效率及硬件复杂度要求。举例来说,经选择码簿可为指数-哥伦布(Exp-Golomb)码簿。在本发明的一些实施例中,可使用相似于现有DSC实施的差量大小单元可变长度译码(DSU-VLC)的熵译码方案。在一些实施例中,可在上文所描述的量化之前变换残余(例如,使用直接余弦变换、哈达玛(Hadamard)变换或其它已知变换)。
在本发明的一些实施例中,可将当前块的残余中的样本分割成多个群组(例如,对于含有16个样本的块为每群组4个样本)。如果块中的所有系数为零,那么使用跳过模式来译码块的残余,即,传信每块(每分量)的1位旗标以指示是否使用跳过模式来译码块中的当前分量。如果块内含有至少一个非零值,那么可仅在每一群组具有一个非零值的情况下才使用DSU-VLC来译码所述群组。如果所述群组(例如,残余中的16个样本中的4个样本)不含有任何非零值,那么使用跳过模式来译码所述群组,即,传信每群组的1位旗标以指示是否使用跳过模式来译码所述群组。更具体来说,对于每一群组,可执行搜索以确定所述群组中的所有值是否为零。如果群组中的所有值为零,那么可将为“1”的值传信到解码器;否则(如果至少一个值为非零),可将为“0”的值传信到解码器,接着进行DSU-VLC译码的译码。在替代实例中,如果群组中的所有值为零,那么可传信为“0”的值,且如果群组含有至少一个非零值,那么可传信为“1”的值。
在本发明的一些实施例中,通过传输含有最优选偏移的固定长度码而将最优选候选块明确地传信到解码器。偏移可被称作“向量”。将向量明确地传信到解码器的优点为解码器自身将不必执行块搜索。更确切地,解码器将明确地接收向量且将候选块与经解码的经解量化残余值相加以确定当前块的像素值。
块分割
在本发明的一些实施例中,可分割待译码的当前块,从而产生多个候选块及每块多个向量。在此些实施例中的一些中,可使用固定长度码来明确地传信向量。举例来说,此固定长度码的长度可为log2(SR)。在另一实施例中,可使用可变长度码(例如来自指数-哥伦布或哥伦布-莱斯(Golomb-Rice)码家族的码)来明确地传信向量。可基于与向量相关联的统计分布来选择此码簿。在又一实施例中,可基于经先前译码向量来预测向量,且可使用某一固定长度码或可变长度码来译码向量的残余。在又一实施例中,可基于经先前译码向量来预测向量,且可使用1位旗标以传信两个向量是否相同。此旗标可被称作SameFlag。如果SameFlag=1,那么不需要将向量值自身传信到解码器。如果SameFlag=0,那么将明确地传信向量(例如,使用固定长度码或可变长度码)。图8中说明实例块分割方案。
如图8的图解800中所展示,当前块802含有单一分割区。针对当前块802所传信的信息包括模式标头、向量SameFlag、向量A,及有效负载。当前块804含有两个分割区:分割区A及分割区B。针对当前块804所传信的信息包括模式标头、向量SameFlag、向量A、向量SameFlag、向量B,及有效负载。如上文所描述,可不传信上文所列出的一或多个项目。举例来说,如果向量SameFlag等于1,那么不需要传信后继向量。
分割区大小β可确定将当前块分割成单独子块。在此状况下,可针对每一子块执行单独块预测。举例来说,如果块大小为N=16且分割区大小β=8β=8,那么将针对16/8=2个分割区中的每一个执行搜索。在另一实例中,如果β=N,那么停用块分割。如果β<N,那么可将每一向量明确地传信到解码器。如果不使用向量预测(例如,使用经先前传信向量以定义当前向量),那么将使用固定长度码或可变长度码来传信每一向量。如果使用向量预测,那么可从先前经译码向量(例如,存储于存储器中)预测第一向量,且对于n>0,从向量n-1预测向量n。
块预测模式中的可变分割区大小
以上实例说明可如何在块预测模式中译码具有1×8的大小(例如,具有1个像素的高度及8个像素的宽度)或2×8的大小(例如,具有2个像素的高度及8个像素的宽度)的块。如图8所展示,可将块分割成多个区域且可使用不同分割方案(例如,使用1×2分割区、使用2×2分割区等等)来译码每一区域,且可针对每一分割区指定块预测向量(例如,在位流中传信块预测向量连同与每一分割区相关联的残余)。举例来说,可将每一块分割成含有两个像素的多个1×2分割区(或其它固定大小的分割区)。
在其它实施例中,编码器可确定针对每一块(针对所述块内的每一子区域)最高效的块分割区大小。可基于与使用给定块分割区大小来译码块(或其中的子区域)相关联的速率及失真而测量效率。举例来说,当译码含有四个2×2区域的块时,编码器可确定可通过使用单一分割区(例如,用于每一2×2区域的单一2×2分割区)来译码前三个2×2区域且使用两个分割区(例如,两个1×2分割区)来译码第四2×2区域而达成最大译码效率。通过允许编码器调适性地选择用于每一块的分割区大小,可进一步改进块预测方案的性能。此是因为大分割区可用于平滑区域(例如,展现横越区域的无像素值改变或小于阈值量的像素值改变的区域),借此需要较少位来传信块预测向量(例如,相对于区域的大小),而使用较小分割区可用于复杂区域(其中失真及/或熵译码速率的减小比额外传信成本重要)。举例来说,编码器可确定给定区域或块是否满足平滑度阈值条件,且响应于确定给定区域或块满足平滑度阈值条件而使用较大分割区大小在块预测模式中编码给定区域或块(且否则,使用较小分割区大小在块预测模式中编码给定区域或块)。作为另一实例,编码器可确定给定区域或块是否满足复杂度阈值条件,且响应于确定给定区域或块满足复杂度阈值条件而使用较小分割区大小在块预测模式中编码给定区域或块(且否则,使用较大分割区大小在块预测模式中编码给定区域或块)。调适性地选择不同分割区大小的能力可允许块预测模式用于较大范围的内容类型(例如,图形内容、自然图像、测试图案、精细文本呈现等等)。
在块预测模式中译码的实例数据流程
图9说明用于使用调适性分割区大小而在块预测模式中译码块的实例数据流程900。如图9所说明,待在块预测模式中预测的当前块902包含块分割区904。在一个实例中,块分割区具有1×2或2×2的大小。进行块预测(BP)搜索906以识别已经被译码且可用于在块预测模式中预测当前块902(或块分割区904)的块或分割区。如图9所展示,BP搜索906可在(例如)包含先前行(例如,在译码包含当前块的当前行之前所译码的行,例如紧接先前行或另一先前行)中的一或多个先前经重新构建块907A及/或来自当前行(例如,包含当前块的行)的先前经重新构建块907B的搜索范围内搜索。
编码器基于在搜索范围中所识别的候选块或分割区来确定块预测子908。在块910处从当前块902(或候选块902内的当前块分割区904)减去块预测子908,且在块912处量化基于减法所确定的残余。由熵译码器920熵译码经量化残余。另外,对经量化残余执行反量化914,且在块916处将结果与块预测子908相加以产生经重新构建块918。基于经重新构建块918的失真性能(D)及经熵编码残余的速率性能(R)来执行BP分割区大小选择922。基于经选择BP分割区大小来产生位流924。
举例来说,BP分割区大小选择922可采取当前块902内的每一分割区域(例如,2×2)的速率(例如,R)及失真(例如,D)作为输入,且确定应使用单一块预测向量(BPV)(例如,对于单一2×2分割区总共1个BPV)来译码分割区域抑或使用用于预测的多个BPV(例如,对于两个1×2分割区总共2个BPV,每一个1个BPV)来分割及译码分割区域,此确定是基于两个选项之间的RD取舍。尽管本文中所论述的一些实例涉及2×2的分割区域大小(借此具有1×2、2×1及2×2的分割区大小作为可选择选项),但可由编码器选择的分割区大小并不限于此些实例中所使用的分割区大小(例如,1×2及2×2),且可包含基于块大小及/或区域大小的其它大小(例如,2×1)。
在一些实施例中,分割区大小是固定的(例如,1×2、2×2,或当前分割区域或块中的像素的任何其它子组合)。举例来说,块可具有2×8的块大小,且块可被划分成具有2×2的大小的子块或区域。2×8块内的2×2子块或区域可进一步被分割成具有1×2的大小的分割区。在此实例中,每一1×2分割区可使用单一BPV而独立于其它分割区被预测。在其它实施例中,分割区大小是可变的,且如何在块预测中使用哪些分割区大小来译码每一块、子块及/或区域可由编码器基于每一分割方案的速率及失真性能而确定。举例来说,对于当前块内的2×2区域(例如,当前区域),如果通过将当前区域分割成两个1×2分割区来预测当前区域且单独地使用两个BPV(例如,每一个指向经界定搜索范围内的经先前译码1×2分割区)来预测两个1×2分割区会得到优选速率及/或失真性能(例如,相较于例如2×2的其它分割方案),那么可使用1×2分割方案来预测当前区域。另一方面,如果使用一个BPV(例如,指向经界定搜索范围内的经先前译码2×2分割区)而将当前区域预测为单一2×2分割区会得到优选速率及/或失真性能(例如,相较于例如1×2的其它分割方案),那么可使用2×2分割方案来预测当前区域。下文参考图14来更详细地描述确定待用于在预测模式中译码块的分割方案的过程。
块大小及子块大小
对于M×N的块大小,参考大小为Msub×Nsub的子块(在本文中也被称作区域)来描述一些实施例,其中Msub≤M且Nsub≤N。在一些实施中,出于计算简易起见,将Msub及Nsub两者与M×N块内的熵译码群组对准。块内的每一子块Msub×Nsub可(i)使用单一BPV被预测而不被进一步分割,或(ii)被分割成多个分割区(例如,两个1×2分割区),其中针对每一分割区使用一BPV。针对整个子块使用单一BPV或将子块分割成各自具有其自己的BPV的分割区之间的有效取舍为传信较多BPV将会在位流中招致额外速率,然而,通过使用较多BPV,失真及熵译码速率可减小。换句话说,通过使用较多位以传信额外BPV,可缩减用于传信残余(候选块/区域与当前块/区域之间的差)的位的数目,此可进一步致使用于熵译码的位的数目也缩减。编码器可在RD成本方面比较每一选项(例如,无分割区相对于多个分割区),且基于成本比较来选择是否分割每一子块或区域或从多个分割方案选择提供最优选RD性能的分割方案。
实例分割方案
图10说明图解1000,其说明实例分割方案。在图10中,说明用于2×2子块或区域的两个分割选项。在此实例中,块1002(例如,包含像素X0到X15)具有2×8的大小,且块内的子块或区域1004(例如,包含像素X0、X1、X8及X9)具有2×2的大小。分割选项1006说明子块或区域1004是使用单一BPV被预测的实例,且分割选项1008说明子块或区域1004是针对子块或区域1004内的每一1×2分割区使用两个BPV被预测的实例。在例如高级DSC(Adv-DSC)的一些实施中使用具有2×2的大小的子块或区域,以将所述子块或区域与用于块预测模式的熵译码群组结构1100对准,图11所展示。在图11的实例中,说明熵译码群组0、1、2及3,其各自对应于块内的四个2×2子块或区域中的一个。然而,本文中所描述的技术并不限于此实施例且可延伸到任何块大小M×N及任何子块大小Msub×Nsub。然而,在下文所说明的实例中,使用参数M=2、N=8、Msub=2、Nsub=2。在一些实施例中,可基于熵译码群组来确定子块及/或分割方案。举例来说,可确定子块及/或分割方案,使得每一子块及/或分割方案含于单一熵译码群组内。
确定分割区大小
编码器可基于最小RD成本来确定(i)将每一2×2区域译码为单一2×2分割区或(ii)将所述区域划分成两个1×2分割区且单独地译码每一1×2分割区。可如下文所展示而计算RD成本:
cost(2x2)=D2x2+λ·R2x2
cost(1x2)=D1x2+λ·R1x2
R2x2=1+BPVbits+ECbits2x2
R1x2=1+(2·BPVbits)+ECbits1x2
在一些实施中,运用等于log2(SR)log2(SR)的固定位数目(BPVbits)来传信BPV,其中SR为与块预测模式相关联的搜索空间(或搜索范围)。举例来说,如果搜索空间由64个位置组成,那么使用log2(64)=6个位以传信每一BPV。
用于运用可变分割区大小的块预测的搜索空间可稍微不同于参考图3到6所论述的搜索范围。详细来说,Msub×Nsub子块可利用具有高度Msub的搜索空间。在此些状况下,相对于不运用可变分割区大小的块预测,可需要额外行缓冲器以实施运用可变分割区大小的块预测。图12中针对2×2的子块大小示范此搜索空间的实例。图12说明图解1200,其说明实例搜索范围。如图12所展示,当前行1202包含(i)具有当前子块1206的当前块1204及(ii)先前块1208。在图12的实例中,先前行1210包含可供编码器选择候选子块1214以用于预测当前子块1206的搜索范围1212。用于1-D分割区(例如,1×2)的搜索范围或空间可相似于先前参考图3所描述的搜索范围,此依赖于单一先前经重新构建行。
在一些实施例中,可在YCoCg色彩空间中使用经修改的绝对差总和(SAD)来计算失真D2x2及D1x2。举例来说,可如下计算YCoCg色彩空间中的像素A(例如,在当前子块或分割区中)与像素B(例如,在候选子块或区域中)之间的SAD失真:
SAD(A,B)=|AY-BY|+0.5·|ACo-BCo|+0.5·|ACg-BCg|
如果当前子块或分割区具有多于一个像素,那么可通过求和针对当前子块或分割区中的每一像素所计算的个别SAD来计算针对整个当前子块或分割区的失真。当前子块或分割区的像素值可为实际像素值或经重新构建像素值(例如,基于候选预测子及残余而计算)。在一些实施中,λ参数可固定于为2的值。在其它实施中,此参数可取决于块大小、位速率或其它译码参数而调谐。
可针对每一2×2区域计算熵译码成本ECbits。每一熵译码群组中的四个样本可来自根据单一BPV(例如,2×2分割区)所预测的2×2经量化残余,或利用两个向量(例如,两个1×2分割区)的2×2经量化残余。举例来说,熵译码成本可表示在位流(例如,包含向量及残余)中传信每一熵译码群组所需要的位的数目。基于所计算的熵译码成本,编码器可选择针对每一2×2区域具有最低成本的分割方案。尽管参考具有2×2子块大小、2×2熵译码群组及两个分割方案(1×2及2×2)的2×8块而论述一些实施例,但本文中所描述的技术可延伸到其它块大小、子块大小、熵译码群组及/或分割方案。
在位流中传信译码信息
在图10所展示的2×8块1002中,可基于上文所论述的RD成本分析来分割四个2×2区域中的每一个。举例来说,可将每一2×2区域分割成单一2×2分割区或分割成两个1×2分割区。此分割的四个实例是由图13的图解1300说明。如图13所展示,块1302具有基于2×2分割方案所预测的四个子块,块1304具有基于2×2分割方案所预测的三个子块及基于1×2分割方案所预测的一个子块,块1306具有基于1×2分割方案所预测的四个子块,且块1308具有基于2×2分割方案所预测的一个子块及基于1×2分割方案所预测的三个子块。除了将BPV传信到解码器以外,编码器也可针对每一2×2区域发送一个位,使得解码器可适当地推断分割。在例如Adv-DSC实施的一些实施中,在位流中传信指示针对块内的每一区域(例如,2×8块中的每一2×2区域)所选择的分割方案的四个位的群组。在此些实施中,四个位“1011”可指示块中的第一区域、第三区域及第四区域(例如,2×2子块)将基于第一分割方案(例如,基于1×2分割区)被预测或译码,而第二区域(例如,2×2子块)将基于第二分割方案(例如,基于2×2分割区)被预测或译码。在一些实施例中,在位流中的此些四个位之后,可使用每BPV的固定位来传信BPV。在先前实例(例如,“1011”的位序列)中,可传信7个BPV。
用于在块预测模式中译码的实例流程图
参考图14,将描述用于在块预测模式中译码视频数据块的实例程序。图14所说明的步骤可由视频编码器(例如,图2A中的视频编码器20)或其组件执行。出于方便起见,将方法1400描述为由视频译码器(也被简单地称作译码器)执行,所述视频译码器可为视频编码器20或另一组件。
方法1400开始于块1401处。在块1405处,译码器确定待用于使用第一分割方案来预测当前区域(例如,在块预测模式中所译码的视频数据块内)的一或多个第一候选区域。举例来说,第一候选区域可为2×8块中的2×2区域中的一个。第一分割方案可为将当前区域分割成多个分割区(例如,两个1×2分割区)的分割方案。在一些实施例中,一或多个第一候选区域在与第一分割方案相关联的第一部位范围(例如,与第一分割方案相关联的搜索范围)内。一或多个第一候选区域可存储于视频编码装置的存储器中。
在块1410处,译码器确定待用于使用第二分割方案来预测当前区域的一或多个第二候选区域。举例来说,第二分割方案可为不将当前区域分割成多个分割区(例如,将当前区域译码为单一2×2分割区)的分割方案。在另一实例中,第二分割方案可为将当前区域分割成数目与用于第一分割方案的分割区的数目不同的分割区的分割方案。在一些实施例中,一或多个第二候选区域在与第二分割方案相关联的第二部位范围(例如,与第二分割方案相关联的搜索范围)内。一或多个第二候选区域可存储于视频编码装置的存储器中。
在块1415处,译码器确定与使用第一分割方案来译码当前区域相关联的第一成本大于与使用第二分割方案来译码当前区域相关联的第二成本。举例来说,代码可计算基于与使用第一分割方案来译码当前区域相关联的速率及失真的成本及基于与使用第二分割方案来译码当前区域相关联的速率及失真的成本,且比较所计算的成本。
在块1420处,译码器至少部分地经由传信识别一或多个第二候选区域相对于当前区域的部位的一或多个预测向量而使用第二分割方案来译码当前区域。方法1400结束于块1425处。
在方法1400中,可去除(例如,不执行)图14所展示的块中的一或多个,及/或可切换所述方法被执行的次序。在一些实施例中,可将额外块添加到方法1400。本发明的实施例并不限于图14所展示的实例或并不受到图14所展示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。
到4:2:0色度子采样格式及4:2:2色度子采样格式的延伸
在一些实施中,本发明中所描述的块预测技术(例如,在块预测模式中使用可变分割区大小)可仅用于4:4:4色度采样格式。此格式通常用于图形内容。举例来说,4:4:4色度采样格式利用含有具有相同采样速率(例如,不使用色度子采样)的色彩分量(例如,明度分量及色度分量)的图像或视频数据。然而,4:4:4色度采样格式可较不常用于其它视频应用。归因于色度子采样可提供的显著压缩,4:2:0色度子采样格式及4:2:2色度子采样格式两者通常用于视频应用。举例来说,DSC的一些版本(例如,DSCv1.x)可支持4:2:0及4:2:2。针对此些色度子采样格式的支持可由未来DSC实施利用或需要。因此,在一些实施例中,本发明中所描述的块预测技术(例如,在块预测模式中使用可变分割区大小)延伸到4:2:0格式及/或4:2:2格式。尽管本文中使用4:2:0色度子采样格式及4:2:2色度子采样格式,但本申请案中所描述的各种技术可应用于其它已知采样格式。
在一些实施例中,用于运用可变分割区大小的块预测的算法独立于色度采样格式而很大程度上以相同方式起作用。在此些实施例中,不管格式(例如,4:4:4、4:2:2、4:2:0等等)如何,都可针对明度样本的每一子块或区域(例如,2×2块)进行使用单一分割区(例如,2×2)或使用多个分割区(例如,两个单独1×2分割区)的确定或待用以译码当前子块或区域的分割区的数目(例如,1、2、3、4等等)的确定。然而,每一分割区中或每一块中的色度样本的数目可取决于子采样格式而不同。另外,可需要在4:2:2色度子采样格式及/或4:2:0色度子采样格式中修改编码器决策,此是由于与熵译码群组的对准对于色度分量可不再为可能的。因此,用于编码器决策(例如,当编码器基于最小RD成本来决定将每一2×2区域划分成单一2×2分割区抑或划分成两个1×2分割区时)的每一分割区的速率(例如,与分割区(例如单一2×2分割区或两个单独1×2分割区)相关联的速率值)可独自地依赖于用于4:2:2及4:2:0的明度样本。举例来说,当计算SAD失真时,可将与色度分量相关的任何项设定为零。
针对4:2:0色度子采样格式的BP搜索
对于4:2:0模式(4:2:0色度子采样格式)中的2×2分割区,每一分割区可含有用于色度分量(例如,Co及Cg,或Cb及Cr)中的每一个的单一色度样本。在一些实施例中,待使用的色度样本(例如,用于计算RD成本及/或用于预测当前区域或块中的样本)为与分割区相交的色度样本。在其它实施例中,可从邻近分割区导出待使用的色度样本。图15中展示针对4:2:0模式的实例2×2搜索1500。在图15中,使用“X”来指示色度位点(例如,具有色度样本的样本/像素部位)。举例来说,分割区A的左顶部样本、分割区B的右顶部样本及当前分割区的左顶部样本包括与各别分割区相交的色度位点。此些色度位点可用于针对各别分割区所执行的所有计算(例如,用以使用色度样本值来计算差值)。
对于4:2:0模式中的1×2分割区,可需要区别当前块的第一行中的1×2分割区与当前块的第二行中的1×2分割区,此是因为在当前块的第二行中可不存在色度位点。举例来说,对于当前块的第一行中的分割区,失真值的计算可涉及两个明度样本,及用于每一色度分量的一个色度样本。对于当前块的第二行中的分割区,失真值的计算可仅涉及明度样本(例如,两个明度样本)。在图16的实例1600中,当前1×2分割区A在第一行中且包含色度位点。因此,经选择以用于预测当前1×2分割区A的候选分割区为候选1×2分割区A,其也包含色度位点。相似地,当前1×2分割区B在第二行中且不包含色度位点。因此,经选择以用于预测当前1×2分割区B的候选分割区为候选1×2分割区B,其也不包含色度位点。
针对4:2:2色度子采样格式的BP搜索
对于4:2:2模式(4:2:2色度子采样格式)中的2×2分割区,每一分割区可含有4个明度样本,及用于色度分量(例如,Co及Cg,或Cb及Cr)中的每一个的2个色度样本。图17中展示针对4:2:2模式的实例2×2搜索1700。在图17中,使用“X”来指示色度位点(例如,具有色度样本的像素部位)。举例来说,分割区A的两个左方样本、分割区B的两个右方样本及当前分割区的两个左方样本包括与各别分割区相交的色度位点。此些色度位点可用于针对各别分割区所执行的所有计算(例如,用以使用色度样本值来计算差值)。
对于4:2:2模式中的1×2分割区,每一分割区含有2个明度样本,及用于色度分量(例如,Co及Cg,或Cb及Cr)中的每一个的1个色度样本。不同于在4:2:0模式中,在4:2:2模式中,当前块的第一行中的分割区与当前块的第二行中的分割区之间可不存在区别。图18中说明针对用于4:2:2色度子采样的1×2分割区的实例块预测搜索1800。在图18的实例中,当前1×2分割区A在第一行中且当前1×2分割区B在第二行中,且当前分割区A及B中的每一个包含色度位点。当前分割区A是基于候选1×2分割区A被预测,候选1×2分割区A包含在第一样本中的色度位点,且当前分割区B是基于候选1×2分割区B被预测,候选1×2分割区B包含在第二样本中的色度位点。因此,不管色度位点在候选分割区内位于何处,色度样本都可用以预测当前分割区中的色度样本。
编码器决策
在4:2:2格式及4:2:0格式中,针对每一色度分量可存在每块少于4个熵译码群组。举例来说,四个熵译码群组可用于明度分量,且两个(或一个)熵译码群组可用于橙色度分量,且两个(或一个)熵译码群组可用于绿色度分量。可基于给定块中的明度或色度样本的数目来确定用于译码给定块的熵译码群组的数目。在一些实施例中,由编码器基于给定块被译码的译码模式来确定熵译码群组。在其它实施例中,由适用译码标准(例如,基于给定块被译码的译码模式)设定熵译码群组。
在一些实施例中,量ECbits未由编码器针对色度而确切地确定。在此些实施例中的一些中,编码器可基于仅使用用于4:2:2格式及4:2:0格式的明度样本所计算的熵译码速率来确定使用1×2分割区抑或2×2分割区。在其它实施例中,量ECbits由编码器针对色度而确定,且编码器可基于使用用于4:2:2格式及4:2:0格式的明度样本及色度样本两者所计算的熵译码速率来确定使用1×2分割区抑或2×2分割区。
传信
在一些实施例中,针对每一块或针对每一色彩分量待从编码器传输到解码器的熵译码群组的数目可取决于色度子采样格式而改变。在一些实施中,改变熵译码群组的数目以确保编码解码器吞吐量充分地高。举例来说,在4:4:4模式中,2×8块可包含四个熵译码群组,如图11所说明。在此实例中,可针对每一色彩分量(例如,Y、Co及Cg)使用(例如,由编码器传信)四个熵译码群组。表1描述对用于4:2:2模式及4:2:0模式的熵译码群组的数目的实例改变。对于4:2:2模式及4:2:0模式,上文所描述的传信(例如,BPV的传信、分割方案的指示的传信等等)的剩余部分可不改变(从关于4:4:4:模式所描述的传信)。举例来说,在表1中,分量0可对应于明度(Y),分量1可对应于橙色度(Co),且分量2可对应于绿色度(Cg)。
色度格式 分量0 分量1 分量2
4:4:4 4 4 4
4:2:2 4 2 2
4:2:0 4 1 1
表1:针对不同色度子采样格式的每分量的熵译码群组的数目(假定2×8的块大小)
优点
可使用不对称设计来实施本发明中所描述的一或多种块预测模式技术。不对称设计允许在编码器侧执行较昂贵的程序,从而减小解码器的复杂度。举例来说,因为将向量明确地传信到解码器,所以编码器相较于解码器起主要作用。此是合意的,此是因为编码器常常为系统芯片(SoC)设计的部分,所述系统芯片(SoC)设计在高频率下在先进进程节点(例如,20nm及低于20nm)上执行。同时,解码器很可能实施于具有有限的时钟速度及大得多的进程大小(例如,65nm及高于65nm)的显示驱动器集成电路(DDIC)玻璃上芯片(COG)解决方案上。
另外,块分割区大小的调适性选择允许块预测模式用于较宽范围的内容类型。由于明确地传信BPV可为昂贵的,因此可变分割区大小允许针对可使用2×2分割区良好地预测的图像区域缩减传信成本。对于高度复杂区域,如果可充分地缩减熵译码速率以弥补较高传信成本,或如果可充分地缩减失真使得RD取舍仍有利于1×2,那么可选择1×2分割区大小。举例来说,块分割区大小的调适性选择可横越所有内容类型(包含自然图像、测试图案、精细文本呈现等等)增加性能。在一些实施例中,可通过考虑大于2×2的块分割区大小及/或大于2×8的块大小来延伸本文中所论述的调适性分割技术。
本文中所描述的一或多种技术可实施于使用恒定位速率缓冲器模型的固定位编码解码器中。在此模型的情况下,以恒定位速率从速率缓冲器去除存储于速率缓冲器中的位。因此,如果视频编码器将过多位添加到位流,那么速率缓冲器可溢位。另一方面,视频编码器可需要添加足够位以便防止速率缓冲器的反向溢位。此外,在视频解码器侧,可以恒定位速率将位添加到速率缓冲器,且视频解码器可针对每一块去除可变数目个位。为了确保适当解码,视频解码器的速率缓冲器不应在经压缩位流的解码期间“反向溢位”或“溢位”。本文中所描述的一或多种技术可确保在编码及/或解码期间防止此反向溢位或溢位。在一些实施例中,编码器可在位预算约束下操作,在所述位预算约束中,编码器具有固定数目个位以译码给定区域、切片或帧。在此些实施例中,能够确切地知道(且不必估计)多个译码模式中的每一个将需要多少位以能够译码给定区域、切片或帧对于编码器是至关重要的,使得编码器可确保可满足位预算或其它位/带宽相关约束。举例来说,在给定区域、切片或帧的译码需要估计的较多位的状况下,编码器可在给定译码模式中译码给定区域、切片或帧而不必实施任何预防性措施。
此外,本文中所描述的一或多种技术克服与经由显示链路的传输中的视频压缩科技相关联的特定技术问题。通过允许基于多个候选区域来译码区域(例如,基于多个候选区域中的对应候选区域来预测所述区域中的每一分割区),视频编码器及解码器可基于所述区域的性质(例如,平滑、复杂等等)来提供自订预测,借此改进视频编码器及解码器(例如,硬件及软件编码解码器)性能。
用于块预测模式的多个搜索范围
如参考图3到6所论述,搜索空间(例如,编码器可搜索以便找到候选块的像素的空间部位)可基于当前块的特性而不同。举例来说,搜索空间可潜在地涵盖所有经先前重新构建块/像素。在一些实施例中,编码器及/或解码器可将针对候选块的搜索限于搜索空间内的指定部分(例如,由预定义或在位流中传信的一或多个参数界定的“搜索范围”),例如以缩减计算复杂度。在一些实施中,块预测针对在块预测模式中译码的每一块利用单一搜索范围。在此些实施中,搜索范围相对于当前块的部位可取决于当前块在FLS(切片的第一行)中还是在NFLS(切片的非第一行)中。如图19的图解1900中所展示,如果当前块1910在FLS中,那么搜索范围可在同一块行中的当前块的左方(例如,FLS搜索范围1920),且如果当前块在NFLS中,那么搜索范围可在紧接地在当前块行上方的块行中(例如,NFLS搜索范围1930)。术语块行除了具有其普通涵义以外还可包含属于块的所有光栅扫描行(rasterscan line)。举例来说,如果块大小为2×8像素(高级显示流压缩[ADSC]具有2×8像素的标准块大小),那么块行将包含两个光栅扫描行。
与此对比,在本发明的一些实施例中,编码器及/或解码器可维持多个搜索范围。通过允许多个搜索范围用于在块预测模式中译码块,可增加定位优良候选分割区的可能性(例如,相较于针对在块预测模式中译码的每一块仅考虑单一搜索范围的先前实施),借此改进块预测模式的译码效率及/或译码性能。此外,通过允许编码器调适性地选择待用于译码每一块的搜索范围,可进一步改进块预测方案的性能。
在此些实施例中的一些中,尽管可考虑多个搜索范围以用来在块预测模式中译码给定块,但可允许每次使用所述搜索范围中的仅一个。举例来说,正在块预测模式中译码的每一块可与多个搜索范围中的一个而非两个相关联。在一些实施例中,如果在块预测模式中译码的块具有多个分割区,那么可约束所述分割区的译码,使得将使用针对所述块所选择的同一搜索范围来译码每一分割区。通过限制用于单一块的搜索范围的数目,编码器可容易地使用单一位将哪一搜索范围被使用传信到解码器。在其它实施例中,多于一个搜索范围可用于单一块。举例来说,第一搜索范围可用于译码单一块中的第一分割区,且不同于第一搜索范围的第二搜索范围可用于译码单一块中的第二分割区。
在本发明的一些实施例中,两个搜索范围(SR0及SR1)是由编码器及/或解码器维持,如图20的图解2000中所展示。对于FLS内的块,两个搜索范围之间可不存在区别(或块预测的结果或性能中可不存在差异),此是因为唯一选项是使用当前块行以供参考。举例来说,如果当前块2010在FLS中,那么仅SR0搜索范围2020可用于译码当前块2010,且SR0搜索范围2030可不为可用的。另一方面,如果当前块2010在NFLS内,那么SR0搜索范围2020及SR1搜索范围2030可都是可用的,且搜索范围2020及2030中的任一个可用于在块预测模式中译码当前块2010。如图20所说明,SR0搜索范围2030涉及来自先前经重新构建块行(例如,最近重新构建的一或多个块行)的数据(例如,在译码当前块之前译码的像素),且SR1搜索范围2020涉及来自当前块行(例如,在当前块的左方)的数据(例如,在译码当前块之前译码的像素)。在一些实施例中,可出于管线作业原因而从搜索范围省略一或多个最近重新构建的像素或块。举例来说,可从搜索范围SR1省略紧接地在当前块的左方的一或多个块(例如,阈值数目个像素或块)。从搜索范围省略的像素或块的数目可取决于管线作业约束。
编码器可针对两个搜索范围独立地针对当前块内的所有分割区执行块预测搜索。举例来说,如果当前块具有两个分割区,那么编码器可针对第一搜索范围中的第一分割区执行块预测搜索,且接着针对第一搜索范围中的第二分割区执行块预测搜索。基于搜索,编码器可确定用于使用第一搜索范围中的块或块分割区来译码当前块中的两个分割区的第一成本。接着,编码器可针对第二搜索范围中的第一分割区执行块预测搜索,且接着针对第二搜索范围中的第二分割区执行块预测搜索。基于搜索,编码器可确定用于使用第二搜索范围中的块或块分割区来译码当前块中的两个分割区的第二成本。可选择搜索范围中的块或块分割区,使得针对整个当前块最小化速率及失真成本(例如,用于预测当前块内的所有分割区)。
在已确定针对每一搜索范围的成本(例如,速率及失真估计)的情况下,且编码器可通过最小化RD成本(例如,D+λ·R)而在两个选项之间选择,如本发明中所论述。编码器可选择得到最低RD成本的搜索范围,且使用经选择搜索范围来译码当前块。通过(例如)在位流中明确地传信用于每一块的一位旗标而将待用于解码当前块的搜索范围的指示传输到解码器。因此,通过使用多个搜索范围而成为必要的解码器侧的改变是最小的。基本上,将一个搜索范围替换为另一搜索范围,且可如在不使用多个搜索范围的实施中执行用于块预测的所有其它步骤。
在其它实施例中,可省略传信经选择搜索范围的一位旗标。在此些实施例中,搜索范围可各自与块预测模式的单独例子相关联,其中搜索范围索引可由模式标头隐含地传信。举例来说,如果三个位用以传信与块相关联的译码模式,且仅六个译码模式可用于编码器或解码器,那么同一三位语法元素可用以传信两个额外译码模式(例如,一个用于始终使用第一搜索范围或默认地使用第一搜索范围的块预测模式,且另一个用于始终使用第二搜索范围或默认地使用第二搜索范围的块预测模式)。因此,通过利用用于传信译码模式的现有语法元素,可达成位节省。
使用多个搜索范围而在块预测模式中译码
参考图21,将描述用于在块预测模式中译码视频数据块的实例程序。图21所说明的步骤可由视频编码器(例如,图2A中的视频编码器20)或其组件执行。出于方便起见,将方法2100描述为由译码器执行,所述译码器可为视频编码器20或另一组件。
方法2100开始于块2101处。在块2105处,译码器确定与基于对应于当前块(例如,当前正被译码的视频数据块)的第一部位范围内的第一候选区域来译码当前块相关联的第一成本。第一候选区域可具有与当前块相同的大小(例如,相同尺寸及/或相同数目个像素)。第一候选区域可包含先前被译码且现在正用以译码当前块的块或块的部分。在一些实施例中,第一候选区域可为各自用以译码当前块的不同部分的块或块分割区集合。举例来说,当前块可包含四个块分割区,且可使用第一部位范围内的第一候选区域的不同块或块分割区来预测或译码四个块分割区中的每一个。在一些实施中,可基于第一部位范围内的第一候选区域的同一块或块分割区来译码当前块内的多个块分割区。第一部位范围(例如,第一搜索范围)可为由编码器指定或由适用译码标准指定的搜索范围。第一部位范围可类似于本发明中所论述的实例搜索范围中的一个。第一部位范围可包括经重新构建及使用以预测或译码后续(例如,按译码次序或光栅扫描次序)块及/或块分割区的多个块或块分割区。第一部位范围可包含与当前块重叠的光栅扫描行。在其它实施例中,第一部位范围不包含与当前块重叠的光栅扫描行。与第一候选区域相关联的视频数据可存储于视频编码装置的存储器中。
在块2110处,译码器确定与基于对应于当前块的第二部位范围内的第二候选区域来译码当前块相关联的第二成本。第二候选区域可具有与当前块相同的大小(例如,相同尺寸及/或相同数目个像素)。第二候选区域可包含先前被译码且现在正用以译码当前块的块或块的部分。在一些实施例中,第二候选区域可为各自用以译码当前块的不同部分的块或块分割区集合。举例来说,当前块可包含四个块分割区,且可使用第二部位范围内的第一候选区域的不同块或块分割区来预测或译码四个块分割区中的每一个。在一些实施中,可基于第二部位范围内的第一候选区域的同一块或块分割区来译码当前块内的多个块分割区。第二部位范围可为由编码器指定或由适用译码标准指定的搜索范围。第二部位范围可类似于本发明中所论述的实例搜索范围。第二部位范围可包括经重新构建及使用以预测或译码后续(例如,按译码次序或光栅扫描次序)块及/或块分割区的多个块或块分割区。在一些实施例中,第一部位范围及第二部位范围互斥。替代地或另外,第一部位范围及第二部位范围可占据不同光栅扫描行。第二部位范围可包含与当前块重叠的光栅扫描行。在其它实施例中,第二部位范围不包含与当前块重叠的光栅扫描行。举例来说,如图20所展示,两个搜索范围2020及2030不彼此重叠。与第二候选区域相关联的视频数据可存储于视频编码装置的存储器中。
在块2115处,译码器确定与基于第一候选区域来译码当前块相关联的第一成本是否大于与基于第二候选区域来译码当前块相关联的第二成本。举例来说,译码器可计算基于与使用第一部位范围内(例如,第一搜索范围内)的第一候选区域来译码当前块相关联的速率及失真的成本及基于与使用第二部位范围内(例如,第二搜索范围内)的第二候选区域来译码当前块相关联的速率及失真的成本,且比较所计算的成本。在一些实施例中,当前块可包括多个块分割区。在此些实施例中的一些中,计算第一成本及第二成本可包含:(i)确定相关搜索范围(例如,分别为第一搜索范围及第二搜索范围)内的多个块分割区以用于译码当前块中的对应多个块分割区;(ii)基于相关搜索范围内的多个块分割区来确定用于译码当前块内的个别块分割区的个别成本;及(iii)基于个别成本来计算第一成本及第二成本。举例来说,可通过求和个别成本来计算第一成本及第二成本。替代地,可通过平均化个别成本来计算第一成本及第二成本。
在块2120处,响应于确定第一成本大于第二成本,译码器至少部分地经由提供与第二范围相关联的指示而基于第二部位范围内的第二候选区域来译码当前块。在一些实施例中,指示可为指示当前块待基于(i)第一部位范围内的第一候选区域或(ii)第二部位范围内的第二候选区域被译码的1位旗标。举例来说,如果旗标值等于0,那么旗标可指示当前块待基于第一搜索范围中的一或多个块或块分割区(例如,基于第一部位范围内的第一候选区域)被译码,且如果旗标值等于1,那么旗标可指示当前块待基于第二搜索范围中的一或多个块或块分割区(例如,基于第二部位范围内的第二候选区域)被译码。在其它实施例中,指示可为经配置以指示与当前块相关联的译码模式的多位语法元素。举例来说,语法元素可指示多个译码模式中的哪一个应用以译码当前块。所述译码模式中的一个可为块预测模式。在一些实施例中,如果语法元素具有(多个可能值中的)一个值,那么当前块待在仅使用第一搜索范围的块预测模式(或默认地使用第一搜索范围的块预测模式,除非另有提供)中被译码,且如果语法元素具有(多个可能值中的)另一值,那么当前块待在仅使用第二搜索范围的块预测模式(或默认地使用第二搜索范围的块预测模式,除非另有提供)中被译码。如果语法元素具有(多个可能值中的)又一值,那么当前块可在除了块预测模式以外的译码模式中被译码。方法2100结束于块2125处。
在方法2100中,可去除(例如,不执行)图21所展示的块中的一或多个,及/或可切换所述方法被执行的次序。举例来说,在一些实施例中,如果译码器确定当前块包含不具有同一切片中的任何先前光栅扫描行的光栅扫描行(例如,切片中的第一行),那么可省略块2105、2110及2115中的一或多个。在一些实施例中,可将额外块添加到方法2100。本发明的实施例并不限于图21所展示的实例或并不受到图21所展示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。
使用多个搜索范围的优点
与在块预测模式中译码块时使用多个搜索范围相关的技术改进与块预测模式相关联的译码效率,借此增加译码性能,尤其是对于图形型图像及图形内容。实施此些技术中的一或多个可增加编码器侧的计算复杂度。然而,编码器通常针对增加的计算复杂度展现较大的容限度,此是由于编码器是以较小进程节点(20nm或低于20nm)而实施。重要地,即使多个搜索范围用于在块预测模式中译码块,解码器复杂度仍将保持大部分相同。解码器可通常以大得多的进程大小(60nm及高于60nm)而实施且可经受较严格的硬件要求(例如,门计数必须最小化)。因此,用于在块预测模式中使用多个搜索范围的本发明的技术在计算复杂度的增加相对小的情况下改进译码性能。
简化块预测模式
在一些状况下,可进一步简化用于在块预测模式中译码当前块的上文所描述的技术。举例来说,对于成本约束硬件实施,可去除或修改上文所描述的一或多个特征以缩减译码器的计算复杂度(在编码器侧、在解码器侧,或此两者)。在此些状况下,可对在块预测模式中译码块的方法进行以下改变中的一或多个而不显著地降级性能:(i)译码器可使用单一搜索范围以预测当前块或分割区,而非使用如上文所描述的多个搜索范围;(ii)搜索范围可包含来自先前经重新构建行(例如,紧接地在当前行之前的行)及当前行两者的像素,其中此些行中的样本已经被重新构建(例如,到当前块或分割区被译码时);及/或(iii)使用单一先前经重新构建行以用于预测当前块或分割区,而非使用先前经重新构建块行(其可包含多个行)。
取决于译码性能与硬件复杂度之间的给定实施的所要取舍,可使用用于在本文中所描述的块预测模式(例如,标准块预测模式、使用多个范围的块预测模式、简化块预测模式等等)中译码块的技术的各种版本及修改。可取决于VESA任务群组在性能与硬件复杂度之间的折衷而针对ADSC选择块预测模式的某一版本。
如上文所论述,在一些实施例中,简化块预测模式可使用单一搜索范围。在此些实施例中的一些中,对于某一n,将可能块预测向量的总数确定为2n。举例来说,ADSC通常使用n=6,在此状况下,可能块预测向量的总数将为64个位置。搜索范围内的候选像素可来自三个区域(在本文中被称作区域A、区域B及区域C)中的任一个。表2中说明BPV索引到搜索范围(SR)及搜索范围内位置(SR pos)的实例映射。举例来说,可从相对SR长度SrLeni,i∈{A,B,C}计算此映射。
BPV SR SR pos
0 A 0
25 A 25
26 B 0
33 B 7
34 C 0
64 C 29
表2.从BPV索引到SR及SR内像素位置(SR pos)的映射。
在一些实施例中,编码器明确地传信到解码器的块预测向量可为在范围[0,2n-1]内的整数。从索引到搜索范围的映射可取决于SrLeni。表2说明SrLenA=26、SrLenB=8、SrLenC=30的实例。
在图22的图解2200中,说明简化块预测使用包括来自因果可用图像的不同区域的像素(例如,经先前重新构建像素)的单一搜索范围的实例。每一特定区域中的候选者的数目可取决于编码解码器的参数而调谐。在图22的实例中,SRA/SRB是由先前经重新构建行形成,而SRC是由当前块行形成。举例来说,SRA包含如图22所说明的在当前块2340的正上方(例如,与当前块2340垂直地重叠)或在当前块2340的右方的像素,且SRB包含如图22所说明的在当前块2340的左方(例如,不与当前块2340垂直地重叠且相比于当前块2340中的像素具有较小x坐标值)的像素。图22说明SRA 2220、SRB 2210、SRC 2230,及当前块2240。如图22所说明,SRA 2220及SRB 2210在先前经重新构建行中,且SRC 2230在当前块行中。
在图23的图解2300中,说明运用可变分割区大小设定(2×2)的简化块预测模式的实例。可如本文中所描述而执行SRC内的搜索(例如,通过确定与使用SRC内的2×2块来译码当前块相关联的成本)。对于SRA/SRB内的搜索,可在y方向上延伸或填补候选分割区以建立2×2候选者。图23说明SRA 2320、SRB 2310、SRC 2330,及当前块2340。在图23中,SRA 2320及SRB 2310在先前经重新构建行中,且SRC 2330在当前块行中。
在图24的图解2400中,说明运用可变分割区大小(1×2)的简化块预测模式的实例。可如本文中所描述而执行SRA/SRB内的搜索(例如,通过确定与使用SRA/SRB内的1×2块来译码当前块相关联的成本)。对于SRC(当前块行)内的搜索,从SRC的行l搜索当前块的行l内的分割区。图24说明SRA 2420、SRB 2410、SRC 2430,及当前块2440。在图24中,SRA 2420及SRB 2410在先前经重新构建行中,且SRC 2430在当前块行中。
举例来说,对于区域i,用于特定区域(例如,区域A、区域B或区域C)的搜索位置的数目可在本文中被称作SrLeni。在此实例中,可建立以下约束:SrLenA+SrLenB+SrLenC≤2n。举例来说,如果使用单一搜索范围来执行块预测,且将单一搜索范围中的位置的最大数目界定为2n,那么所述区域中的每一个中的位置的总和将需要小于或等于所述最大数目。用于SrLeni的值可取决于编码解码器的需要而调谐。另外,此些值可容易地基于当前切片内的当前块或分割区的部位而动态地调整。举例来说,如果当前块或分割区位于FLS中,那么编码器及解码器可推断SRA及SRB不可用于译码当前块。因此,较大数目个位置可分配到SRC(例如,高达分派到单一搜索范围的最大值)。
除了使用单一搜索范围以外或作为使用单一搜索范围的替代方案,在简化块预测模式中,也可去除使编码器/解码器存储先前经重新构建块行的要求。代替地,可存储仅一个先前经重新构建行。举例来说,对于任何块大小P×Q,可存储仅一个经重新构建行(且将其包含于例如图24的SRA的搜索范围中),而非P个行。
如果将充分利用可变分割区大小设定,那么可针对简化块预测模式实施以下逻辑改变。
在一些实施中,如果2×2分割区用于译码当前块,那么可在y方向上延伸或填补来自SRA/SRB的任何候选位置以便产生2×2候选者,如上文参考图23所描述。举例来说,如图23所说明,可通过重复样本值而在y方向上延伸或填补1×2候选者2350以产生2×2候选者2360。相似技术可延伸到任意大小的块。举例来说,可在y方向上延伸或填补候选者以匹配于当前块或分割区的高度。另一方面,可原样使用2×2候选者2380而不予以延伸或填补。在其它实施中,当前块内的2×2分割区如何被译码可取决于哪一搜索范围(例如,图22到24中的SRA、SRB或SRC)用以译码2×2分割区。下文参考图25来更详细地描述此些技术。
如果1×2分割区用于译码当前块,那么来自SRC的任何候选位置可选自与当前块中的当前1×2分割区相同的行,如上文参考图24所描述。举例来说,如图24所说明,基于同一行中的1×2候选者2460来预测当前分割区2450,且基于同一行中的1×2候选者2480来预测当前分割区2470。在此实例中,为了找到用于当前分割区2450的候选者,译码器比较基于与当前分割区2450相同的行内的搜索范围2430中的个别1×2块来译码当前分割区2450的成本,且为了找到用于当前分割区2470的候选者,译码器比较基于与当前分割区2470相同的行内的搜索范围2430中的个别1×2块来译码当前分割区2470的成本。
在简化块预测模式中译码的优点
与在简化块预测模式中译码相关的技术在编码器侧及在解码器侧两者提供性能与复杂度之间的取舍。此对于在硬件成本方面受到约束的任何实施可为合意的。
进一步简化所述简化块预测模式
为了缩减用于ASIC/FPGA的ADSC实施的区,可对上文所描述的简化块预测模式中所使用的搜索范围进行进一步修改。ADSC解码器的硬件实施可需要对搜索范围内的所有位置的快速随机存取。举例来说,此硬件实施可包含与搜索范围的大小成比例的触发器的阵列(例如,在最差状况下)。因此,限制搜索范围的每一部分内的可能位置的最大数目(例如,搜索范围内的区域的大小)可为合意的。在一个实例中,搜索范围内的每一区域内的可能位置的最大数目可为如下:SRA=20、SRB=12、SRC=32。举例来说,可将各别区域中的位置的数目限定到此些最大数目,而不管多少位置在其它区域中。如果正被处理的当前块在切片的第一行内的位置x=128处(例如,在同一行内的当前块前方具有128个像素),那么用于搜索范围C的位置的数目将被限定到32,而不管搜索范围A及B不具有可用于译码当前块的像素且额外像素可包含于搜索范围C中而不超过所述搜索范围的最大大小(例如,如果所述搜索范围的最大大小为64个像素,那么128个经先前译码像素中的64个可包含于所述搜索范围中)的事实。可施予此限定以便在损害译码效率的情况下限制硬件中所需要的存储量。根据编码器观点,其它32个搜索范围位置(例如,64位置搜索范围的前20个像素及最后12个像素)对于切片的第一行内的任何当前块可“无效”。在一些实施中,搜索范围的各别部分可始终被指派相同数目个位置,且每一位置可取决于所述位置处的像素存在或在译码当前块时可用于编码器而“有效”或“无效”。可针对此些无效位置跳过块预测搜索及所有其它操作(例如,成本计算及比较)。有效位置的数目将朝向切片的第一行的右方边缘增加(例如,如由图25的第二列所说明,其中搜索范围2520延伸到后继块行中)。在其它实施中,可将搜索范围的各别部分中的位置的数目的总和限定为小于或等于最大数目(例如,64个位置)。在此些实施中,如果正被处理的当前块在切片的第一行内的位置x=128处(例如,在同一行内的当前块前方具有128个像素),那么用于搜索范围C的位置的数目可等于大于32的数目(例如,如果最大数目为64,那么高达64),此是由于其它搜索范围(例如,A及B)将为空白。
为了限制对译码效率的影响,在某些情况下,可使用较少数目个位以在位流中传信块预测向量。举例来说,如果当前块在某一位置范围(例如,切片的第一行)内,那么编码器及解码器两者可推断较少数目个位用以传信块预测向量,且使用在使用数目小于正确地识别搜索范围中的个别位置中的每一个所需要的数目的位(例如,如果搜索范围具有64个位置,那么为6个位)的情况下所传信的块预测向量来正确地识别候选块或分割区。在64个中的32个位置被确定为“无效”的以上实例中,可在切片的第一行的大部分期间使用每块预测向量5个位而非6个,此是由于64个中的仅32个搜索范围位置在所述时间期间有效。
另外,以相对于块定时恒定的速率填充搜索范围触发器的能力对于ADSC的硬件实施可为有利的。此意味着搜索范围应以每块时间一个块宽度有效地移位。因此,一旦当前块前进到切片的下一行,搜索范围C内的某些位置就可技术上在相对于当前块的先前块行中。图25的图解2500中展示此特征的说明错误!未找到参考源。随着当前块2510朝向切片右方边缘移动且接着移动到下一块行,搜索范围2530(例如,当前块行中的搜索范围的部分)保持于先前块行中,如图25的第四列及第五列中所展示。
在一些实施例中,搜索范围B(例如,图25的搜索范围2540的顶部行)可用以产生跨越先前行及当前块行的第一行的2×2预测候选者。如图25所展示,搜索范围2540的顶部行为搜索范围B,且搜索范围2540的底部行为相对于搜索范围B而共置的搜索范围C(例如,搜索范围2530)的部分。因此,在此些实施例中的一些中,代替延伸或填补搜索范围B中的1×2预测候选者以产生2×2预测候选者,译码器可利用包含来自先前经重新构建行的两个像素(例如,来自搜索范围B的两个像素)及来自当前块行的第一行的两个像素(例如,来自搜索范围C的两个像素,相对于搜索范围B中的两个像素而共置)的2×2预测候选者。此途径不能用于搜索范围A(例如,搜索范围2520),此是由于相对于搜索范围A中的像素而共置的来自当前块行的像素(例如,紧接地在搜索范围A中的像素下方)在译码当前块2510时并非因果地可用的。
使用简化搜索范围而在块预测模式中译码
参考图26,将描述用于在块预测模式中译码视频数据块的实例程序。图26所说明的步骤可由视频编码器(例如,图2A中的视频编码器20)或其组件执行。出于方便起见,将方法2600描述为由译码器执行,所述译码器可为视频编码器20或另一组件。
方法2600开始于块2601处。在块2605处,译码器确定待用以预测当前切片中的当前块的候选块,其中候选块在各自对应于当前切片中的经重新构建像素的像素位置范围(例如,搜索范围)内。举例来说,译码器确定与基于像素位置范围中的多个潜在候选块中的每一潜在候选块来译码当前块相关联的成本,且将具有最低成本的所述块中的一个识别为候选块。每一潜在候选块可对应于像素位置范围中的像素位置中的一个。像素位置范围可包含第一区域,其包含当前切片中的第一像素行中的一或多个第一像素位置,其中第一像素行与当前块重叠。举例来说,第一像素行可跨越当前切片的整个宽度,且第一像素行可包含当前块中的至少一个像素。此外,像素位置范围可包含第二区域,其包含当前切片中的第二像素行中的一或多个第二像素位置,其中第二像素行不与当前块重叠。举例来说,第二像素行可跨越当前切片的整个宽度且不包含当前块中的任何像素。第二像素行可紧接地在当前切片中的第一行之前。第一行及第二行中的每一个可为当前切片内的光栅扫描行。在一些实施例中,第一区域及第二区域占据不同光栅扫描行。第一区域可在与当前块重叠的光栅扫描行中(例如,其中光栅扫描行及当前块包含至少一个共同像素)。像素位置范围可进一步包含第三区域,其包含第二行中(例如,包含第二区域的同一行中)的一或多个第三像素位置。举例来说,第三区域中的一或多个第三像素位置中无一者可包含相对于为当前块的部分的第一行中的像素位置而共置(或与当前块垂直地重叠)的第二行中的任何像素位置,而第二区域中的一或多个第二像素位置中的至少一个可包含相对于为当前块的部分的第一行中的像素位置而共置(或与当前块垂直地重叠)的第二行中的一或多个像素位置。如本文中所论述,所述区域可各自包含不同数目个像素位置。举例来说,第一区域中的像素位置的数目可大于第二区域中的像素位置的数目,第二区域相比于第三区域具有较大数目个像素位置。在一些实施例中,当前块为在简化块预测模式中所预测的2×8块内的1×2分割区。在其它实施例中,当前块为在简化块预测模式中所预测的2×8块内的2×2分割区。在一些其它实施例中,当前块为在简化块预测模式中所预测的2z8块。像素位置范围中的每一潜在候选块可对应于(例如,包含为左顶部像素或另一参考像素)像素位置范围中的任何像素位置(例如,第一区域、第二区域或第三区域中的像素位置)。与候选块相关联的视频数据可存储于视频编码装置的存储器中。
在块2610处,译码器确定指示像素位置范围内的候选块的像素位置的预测向量。举例来说,候选块的像素位置可在第一区域或第二区域中的一个中。
在块2615处,译码器至少部分地经由传信预测向量而在简化块预测模式中译码当前块。译码器可使用固定数目个位(例如,唯一地识别像素位置范围中的每一像素位置所需要的最小数目个位)来传信预测向量。举例来说,如果像素位置范围中存在64个像素位置,那么6个位可用于传信每一预测向量。在一些实施例中,如果当前切片内的当前块的部位防止像素位置范围具有大于小于像素位置的最大数目的某一数目个像素位置,那么译码器可使用数目小于唯一地识别像素位置范围中的最大数目个像素位置所需要的数目的位来传信预测向量。举例来说,如果译码器确定像素部位范围归因于当前切片内的当前块的部位而不能具有大于32个像素位置(例如,当前行为当前切片中的第一行且仅存在按光栅扫描次序在当前块之前的32个经重新构建像素),那么可使用缩减数目个位(例如,在此状况下为5个)以传信指示待用以译码当前块的候选块的像素位置的预测向量。方法2600结束于块2620处。
在方法2600中,可去除(例如,不执行)图26所展示的块中的一或多个,及/或可切换所述方法被执行的次序。在一些实施例中,可将额外块添加到方法2600。举例来说,在一些实施例中,译码器可确定当前块包含第一像素行中的至少一个像素及当前切片中的第三像素行中的至少一个像素,其中第三像素行跨越当前切片的整个宽度且包含当前块中的至少一个像素,且其中第三行不同于第一行。基于此确定,译码器可:(i)确定与基于第一块来译码当前块相关联的成本,其中第一块包含第一区域中的至少一个像素及第二区域中的至少一个像素;及(ii)基于与基于第一块来译码当前块相关联的成本而将第一块确定为待用以预测当前块的候选块。在另一实施例中,译码器可确定当前块包含第一像素行中的至少一个像素及当前切片中的第三像素行中的至少一个像素,其中第三像素行跨越当前切片的整个宽度且包含当前块中的至少一个像素,且其中第三行不同于第一行。基于此确定,译码器可:(i)确定与基于相比于当前块具有较少数目个像素的第一块来译码当前块相关联的第一成本,其中第一块包含各自在第二区域中的一或多个像素;(ii)确定与基于相比于当前块具有相同数目个像素的第二块来译码当前块相关联的第二成本,其中第二块包含第一块中的一或多个像素中的全部及各自在第一区域中的一或多个额外像素;及(iii)基于第二成本大于第一成本的确定而将第一块确定为待用以预测当前块的候选块。本发明的实施例并不限于图26所展示的实例或并不受到图26所展示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。
其它考虑
可使用多种不同科技及技术中的任一个来表示本文中所公开的信息及信号。举例来说,可通过电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合来表示可贯穿以上描述而参考的数据、指令、命令、信息、信号、位、符号及码片。
结合本文中所公开的实施例而描述的各种说明性逻辑块及算法步骤可实施为电子硬件、计算机软件,或此两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上在功能性方面描述各种说明性组件、块及步骤。将此功能性实施为硬件或软件取决于特定应用及强加于整个系统上的设计约束。所属领域的技术人员可针对每一特定应用而以变化的方式实施所描述的功能性,但不应将此些实施决策解释为造成脱离本发明的范围。
本文中所描述的技术可以硬件、软件、固件或其任何组合予以实施。此些技术可实施于例如以下各项的多种装置中的任一个中:一般用途计算机、无线通信装置手机,或具有多种用途(包含无线通信装置手机及其它装置中的应用)的集成电路装置。被描述为装置或组件的任何特征可一起实施于集成式逻辑装置中或单独地实施为离散但可互操作的逻辑装置。如果以软件予以实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体实现,所述程序代码包含在经执行时执行上文所描述方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器(RAM),例如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体,及其类似者。另外或替代地,所述技术可至少部分地由计算机可读通信媒体实现,所述计算机可读通信媒体携载或传达呈指令或数据结构的形式且可由计算机存取、读取及/或执行的程序代码,例如传播信号或波。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、一般用途微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA),或其它等效集成式或离散逻辑电路系统。此处理器可经配置以执行本发明中所描述的技术中的任一个。一般用途处理器可为微处理器;但在替代方案中,所述处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构、前述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或设备中的任一个。另外,在一些方面中,本文中所描述的功能性可提供于经配置以用于编码及解码的专用软件或硬件内,或并入于组合式视频编码器-解码器(编码解码器)中。而且,所述技术可完全地实施于一或多个电路或逻辑元件中。
本发明的技术可实施于多种装置或设备中,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如,芯片集)。本发明中描述各种组件或单元以强调经配置以执行所公开技术的装置的功能方面,但未必需要由不同硬件单元实现。更确切地,如上文所描述,各种单元可结合合适的软件及/或固件而组合于编码解码器硬件单元中或由互操作硬件单元的集合提供,所述硬件单元包含如上文所描述的一或多个处理器。
尽管已结合各种不同实施例而描述前文,但可在不脱离本发明的教示的情况下将来自一个实施例的特征或元件与其它实施例组合。然而,各别实施例之间的特征的组合未必限于此情形。已描述本发明的各种实施例。此些及其它实施例在以下权利要求书的范围内。

Claims (30)

1.一种用于在恒定位速率视频译码方案的简化块预测模式中译码视频数据块的方法,所述方法包括:
确定待用以预测当前切片中的当前块的候选块,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;
确定指示所述像素位置范围内的所述候选块的像素位置的预测向量,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及
至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块。
2.根据权利要求1所述的方法,其中所述第一像素行及所述第二像素行包括所述当前切片的两个邻近光栅扫描行。
3.根据权利要求1所述的方法,其中所述当前块为在简化块预测模式中所预测的2×8块内的1×2分割区。
4.根据权利要求1所述的方法,其中所述当前块为在简化块预测模式中所预测的2×8块内的2×2分割区。
5.根据权利要求1所述的方法,其中所述像素位置范围进一步包含包括所述第二像素行中的一或多个第三像素位置的第三区域,其中所述一或多个第三像素位置不包含相对于为所述当前块的部分的所述第一行中的像素位置而共置的所述第二行中的任何像素位置。
6.根据权利要求5所述的方法,其中所述第二区域及所述第三区域占据同一光栅扫描行。
7.根据权利要求5所述的方法,其中所述第一区域包含第一数目个像素位置,所述第二区域包含第二数目个像素位置,且所述第三区域包含第三数目个像素位置,其中所述第一数目大于所述第二数目且大于所述第三数目。
8.根据权利要求7所述的方法,其中所述第一数目、所述第二数目及所述第三数目彼此不同。
9.根据权利要求1所述的方法,其进一步包括:
确定与基于多个潜在候选块中的每一潜在候选块来译码所述当前块相关联的成本,所述多个潜在候选块各自对应于所述第一区域及所述第二区域中的所述第一像素位置及所述第二像素位置中的一个;及
将具有最低成本的所述第一区域及所述第二区域中的所述多个潜在候选块中的一个识别为所述候选块。
10.根据权利要求1所述的方法,其中唯一地识别所述像素位置范围中的每一像素位置所需要的位的数目等于第一数目,所述方法进一步包括:
确定所述当前块在所述当前切片内的预定区域内;及
使用小于所述第一数目个位来传信所述预测向量。
11.根据权利要求1所述的方法,其进一步包括:
确定所述当前块包含所述第一像素行中的至少一个像素及所述当前切片中的第三像素行中的至少一个像素,所述第三像素行包含所述当前块中的至少一个像素且跨越所述当前切片的所述整个宽度,其中所述第三行不同于所述第一行;
确定与基于第一块来译码所述当前块相关联的成本,所述第一块包含所述第一区域中的至少一个像素及所述第二区域中的至少一个像素;及
基于与基于所述第一块来译码所述当前块相关联的所述成本而将所述第一块确定为待用以预测所述当前块的所述候选块。
12.根据权利要求1所述的方法,其进一步包括:
确定所述当前块包含所述第一像素行中的至少一个像素及所述当前切片中的第三像素行中的至少一个像素,所述第三像素行包含所述当前块中的至少一个像素且跨越所述当前切片的所述整个宽度,其中所述第三行不同于所述第一行;
确定与基于相比于所述当前块具有较少数目个像素的第一块来译码所述当前块相关联的第一成本,所述第一块包含各自在所述第二区域中的一或多个像素;
确定与基于相比于所述当前块具有相同数目个像素的第二块来译码所述当前块相关联的第二成本,所述第二块包含所述第一块中的所述一或多个像素中的全部及各自在所述第一区域中的一或多个额外像素;及
基于所述第二成本大于所述第一成本的确定而将所述第一块确定为待用以预测所述当前块的所述候选块。
13.一种用于在恒定位速率视频译码方案的简化块预测模式中译码视频数据块的设备,所述设备包括:
存储器,其经配置以存储视频数据的当前切片的一或多个经重新构建像素;及一或多个处理器,其与所述存储器通信且经配置以进行以下操作:
确定待用以预测所述当前切片中的当前块的候选块,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;
确定指示所述像素位置范围内的所述候选块的像素位置的预测向量,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及
至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块。
14.根据权利要求13所述的设备,其中所述第一像素行及所述第二像素行包括所述当前切片的两个邻近光栅扫描行。
15.根据权利要求13所述的设备,其中所述当前块为在简化块预测模式中所预测的2×8块内的1×2分割区。
16.根据权利要求13所述的设备,其中所述当前块为在简化块预测模式中所预测的2×8块内的2×2分割区。
17.根据权利要求13所述的设备,其中所述像素位置范围进一步包含包括所述第二像素行中的一或多个第三像素位置的第三区域,其中所述一或多个第三像素位置不包含相对于为所述当前块的部分的所述第一行中的像素位置而共置的所述第二行中的任何像素位置。
18.根据权利要求17所述的设备,其中所述第二区域及所述第三区域占据同一光栅扫描行。
19.根据权利要求17所述的设备,其中所述第一区域包含第一数目个像素位置,所述第二区域包含第二数目个像素位置,且所述第三区域包含第三数目个像素位置,其中所述第一数目大于所述第二数目且大于所述第三数目。
20.根据权利要求19所述的设备,其中所述第一数目、所述第二数目及所述第三数目彼此不同。
21.根据权利要求13所述的设备,其中所述一或多个处理器经进一步配置以进行以下操作:
确定与基于多个潜在候选块中的每一潜在候选块来译码所述当前块相关联的成本,所述多个潜在候选块各自对应于所述第一区域及所述第二区域中的所述第一像素位置及所述第二像素位置中的一个;及
将具有最低成本的所述第一区域及所述第二区域中的所述多个潜在候选块中的一个识别为所述候选块。
22.根据权利要求13所述的设备,其中唯一地识别所述像素位置范围中的每一像素位置所需要的位的数目等于第一数目,所述一或多个处理器经进一步配置以进行以下操作:
确定所述当前块在所述当前切片内的预定区域内;及
使用小于所述第一数目个位来传信所述预测向量。
23.根据权利要求13所述的设备,其中所述一或多个处理器经进一步配置以进行以下操作:
确定所述当前块包含所述第一像素行中的至少一个像素及所述当前切片中的第三像素行中的至少一个像素,所述第三像素行包含所述当前块中的至少一个像素且跨越所述当前切片的所述整个宽度,其中所述第三行不同于所述第一行;
确定与基于第一块来译码所述当前块相关联的成本,所述第一块包含所述第一区域中的至少一个像素及所述第二区域中的至少一个像素;及
基于与基于所述第一块来译码所述当前块相关联的所述成本而将所述第一块确定为待用以预测所述当前块的所述候选块。
24.根据权利要求13所述的设备,其中所述一或多个处理器经进一步配置以进行以下操作:
确定所述当前块包含所述第一像素行中的至少一个像素及所述当前切片中的第三像素行中的至少一个像素,所述第三像素行包含所述当前块中的至少一个像素且跨越所述当前切片的所述整个宽度,其中所述第三行不同于所述第一行;
确定与基于相比于所述当前块具有较少数目个像素的第一块来译码所述当前块相关联的第一成本,所述第一块包含各自在所述第二区域中的一或多个像素;
确定与基于相比于所述当前块具有相同数目个像素的第二块来译码所述当前块相关联的第二成本,所述第二块包含所述第一块中的所述一或多个像素中的全部及各自在所述第一区域中的一或多个额外像素;及
基于所述第二成本大于所述第一成本的确定而将所述第一块确定为待用以预测所述当前块的所述候选块。
25.一种非暂时性物理计算机存储体,其包括经配置以在恒定位速率视频译码方案的简化块预测模式中译码视频数据块的代码,其中所述代码在经执行时致使设备进行以下操作:
确定待用以预测当前切片中的当前块的候选块,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;
确定指示所述像素位置范围内的所述候选块的像素位置的预测向量,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及
至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块。
26.根据权利要求25所述的非暂时性物理计算机存储体,其中所述像素位置范围进一步包含包括所述第二像素行中的一或多个第三像素位置的第三区域,其中所述一或多个第三像素位置不包含相对于为所述当前块的部分的所述第一行中的像素位置而共置的所述第二行中的任何像素位置。
27.根据权利要求26所述的非暂时性物理计算机存储体,其中所述第一区域包含第一数目个像素位置,所述第二区域包含第二数目个像素位置,且所述第三区域包含第三数目个像素位置,其中所述第一数目大于所述第二数目且大于所述第三数目。
28.一种视频译码装置,其经配置以在恒定位速率视频译码方案的简化块预测模式中译码视频数据块,所述视频译码装置包括:
用于确定待用以预测当前切片中的当前块的候选块的装置,所述候选块在各自对应于所述当前切片中的经重新构建像素的像素位置范围内,所述像素位置范围至少包括:(i)包含所述当前切片中的第一像素行中的一或多个第一像素位置的第一区域,所述第一像素行包含所述当前块中的至少一个像素且跨越所述当前切片的整个宽度;及(ii)包含所述当前切片中的第二像素行中的一或多个第二像素位置的第二区域,所述第二像素行不包含所述当前块中的任何像素,但跨越所述当前切片的所述整个宽度;
用于确定指示所述像素位置范围内的所述候选块的像素位置的预测向量的装置,所述候选块的所述像素位置在所述第一区域或所述第二区域中的一个中;及
用于至少部分地经由传信所述预测向量而在简化块预测模式中译码所述当前块的装置。
29.根据权利要求28所述的视频译码装置,其中所述像素位置范围进一步包含包括所述第二像素行中的一或多个第三像素位置的第三区域,其中所述一或多个第三像素位置不包含相对于为所述当前块的部分的所述第一行中的像素位置而共置的所述第二行中的任何像素位置。
30.根据权利要求29所述的视频译码装置,其中所述第一区域包含第一数目个像素位置,所述第二区域包含第二数目个像素位置,且所述第三区域包含第三数目个像素位置,其中所述第一数目大于所述第二数目且大于所述第三数目。
CN201680070287.2A 2015-12-07 2016-12-06 用于显示流压缩的块预测模式的多区域搜索范围 Active CN108293114B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562264087P 2015-12-07 2015-12-07
US62/264,087 2015-12-07
US201662304879P 2016-03-07 2016-03-07
US62/304,879 2016-03-07
US15/369,723 US10368073B2 (en) 2015-12-07 2016-12-05 Multi-region search range for block prediction mode for display stream compression (DSC)
US15/369,723 2016-12-05
PCT/US2016/065186 WO2017100206A1 (en) 2015-12-07 2016-12-06 Multi-region search range for block prediction mode for display stream compression (dsc)

Publications (2)

Publication Number Publication Date
CN108293114A true CN108293114A (zh) 2018-07-17
CN108293114B CN108293114B (zh) 2022-04-01

Family

ID=58800491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680070287.2A Active CN108293114B (zh) 2015-12-07 2016-12-06 用于显示流压缩的块预测模式的多区域搜索范围

Country Status (10)

Country Link
US (1) US10368073B2 (zh)
EP (1) EP3387832B1 (zh)
JP (1) JP7198665B2 (zh)
KR (1) KR102102066B1 (zh)
CN (1) CN108293114B (zh)
BR (1) BR112018011398B1 (zh)
CA (1) CA3004185C (zh)
HU (1) HUE049810T2 (zh)
TW (1) TWI692244B (zh)
WO (1) WO2017100206A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
CN110546956B (zh) * 2017-06-30 2021-12-28 华为技术有限公司 一种帧间预测的方法及装置
US10564890B2 (en) * 2017-07-07 2020-02-18 Seagate Technology Llc Runt handling data storage system
US10685031B2 (en) * 2018-03-27 2020-06-16 New Relic, Inc. Dynamic hash partitioning for large-scale database management systems
US10516885B1 (en) * 2018-07-11 2019-12-24 Tencent America LLC Method and apparatus for video coding
US10965315B2 (en) * 2018-08-09 2021-03-30 Andrew Kamal Data compression method
US10798419B2 (en) * 2018-11-19 2020-10-06 Sony Corporation Embedded codec circuitry for sub-block based encoding of quantized prediction residual levels
CN111787322B (zh) * 2020-08-04 2022-05-13 北京百度网讯科技有限公司 视频编码的方法、装置、电子设备及计算机可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237232A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
CN101483775A (zh) * 2007-12-11 2009-07-15 阿尔卡特朗讯公司 用于在视频编码器和视频解码器之间通过无线双向信道传送视频流的方法
CN102946532A (zh) * 2011-09-02 2013-02-27 斯凯普公司 视频编码
US20130148734A1 (en) * 2010-05-21 2013-06-13 JVC Kenwood Corporation Image coding apparatus, image coding method and image coding program, and image decoding apparatus, image decoding method and image decoding program
CN103609123A (zh) * 2011-06-20 2014-02-26 高通股份有限公司 统一合并模式和自适应运动向量预测模式候选者选择
US20140092957A1 (en) * 2012-10-03 2014-04-03 Broadcom Corporation 2D Block Image Encoding
US20140205013A1 (en) * 2013-01-23 2014-07-24 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus
WO2015108793A1 (en) * 2014-01-17 2015-07-23 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
CN104937932A (zh) * 2012-09-28 2015-09-23 英特尔公司 可适性视频编码的增强参考区域利用
US20150271517A1 (en) * 2014-03-21 2015-09-24 Qualcomm Incorporated Search region determination for intra block copy in video coding
US20150304675A1 (en) * 2014-04-21 2015-10-22 Qualcomm Incorporated System and method for coding in block prediction mode for display stream compression (dsc)

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145950B2 (en) * 2003-07-14 2006-12-05 Primax Electronics Ltd. Method of motion vector determination in digital video compression
US8285037B2 (en) * 2005-02-28 2012-10-09 Nxp B.V. Compression format and apparatus using the new compression format for temporarily storing image data in a frame memory
KR101228020B1 (ko) * 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
WO2010027170A2 (ko) * 2008-09-03 2010-03-11 에스케이텔레콤 주식회사 예측 방향 전환과 선택적 부호화를 이용한 영상 부호화/복호화 장치 및 방법
GB2471323B (en) * 2009-06-25 2014-10-22 Advanced Risc Mach Ltd Motion vector estimator
TWI412281B (zh) * 2010-12-28 2013-10-11 Nat Univ Chung Cheng A Method of Calculating Reverse Conversion of Low Complexity
US8681170B2 (en) * 2011-05-05 2014-03-25 Ati Technologies Ulc Apparatus and method for multi-streaming for more than three pixel component values
US8963944B2 (en) * 2012-05-15 2015-02-24 Omnivision Technologies, Inc. Method, apparatus and system to provide video data for buffering
US9781418B1 (en) * 2012-06-12 2017-10-03 Google Inc. Adaptive deadzone and rate-distortion skip in video processing
US9813711B2 (en) * 2012-10-03 2017-11-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Hybrid transform-based compression
RU2608465C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
JP5845202B2 (ja) * 2013-03-22 2016-01-20 株式会社東芝 画像圧縮装置および画像処理システム
EP3087733B1 (en) * 2014-03-18 2019-10-09 MediaTek Inc. Data processing apparatus for transmitting/receiving compressed display data with improved error robustness and related data processing method
US9866853B2 (en) * 2014-04-15 2018-01-09 Qualcomm Incorporated System and method for lagrangian parameter calculation for display stream compression (DSC)
US9930346B2 (en) * 2014-04-15 2018-03-27 Qualcomm Incorporated System and method for flatness detection for display stream compression (DSC)
US9848193B2 (en) * 2014-04-15 2017-12-19 Qualcomm Incorporated System and method for selecting quantization parameter (QP) in display stream compression (DSC)
US10104397B2 (en) * 2014-05-28 2018-10-16 Mediatek Inc. Video processing apparatus for storing partial reconstructed pixel data in storage device for use in intra prediction and related video processing method
GB201409634D0 (en) * 2014-05-30 2014-07-16 Canon Kk Intra block copy mode encoding choice
US20160127771A1 (en) * 2014-10-30 2016-05-05 Broadcom Corporation System and method for transporting hd video over hdmi with a reduced link rate
US9716889B2 (en) * 2014-12-09 2017-07-25 Sony Corporation Intra and inter-color prediction for Bayer image coding
US9936203B2 (en) * 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US10200697B2 (en) * 2015-07-09 2019-02-05 Qualcomm Incorporated Display stream compression pixel format extensions using subpixel packing
US20170085886A1 (en) 2015-09-18 2017-03-23 Qualcomm Incorporated Variable partition size for block prediction mode for display stream compression (dsc)
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
US10091533B2 (en) * 2016-02-18 2018-10-02 Cisco Technology, Inc. Generalized filter for removing video compression artifacts
US10567803B2 (en) * 2017-04-12 2020-02-18 Qualcomm Incorporated Midpoint prediction error diffusion for display stream compression

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237232A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
CN101483775A (zh) * 2007-12-11 2009-07-15 阿尔卡特朗讯公司 用于在视频编码器和视频解码器之间通过无线双向信道传送视频流的方法
US20130148734A1 (en) * 2010-05-21 2013-06-13 JVC Kenwood Corporation Image coding apparatus, image coding method and image coding program, and image decoding apparatus, image decoding method and image decoding program
CN103609123A (zh) * 2011-06-20 2014-02-26 高通股份有限公司 统一合并模式和自适应运动向量预测模式候选者选择
CN102946532A (zh) * 2011-09-02 2013-02-27 斯凯普公司 视频编码
CN104937932A (zh) * 2012-09-28 2015-09-23 英特尔公司 可适性视频编码的增强参考区域利用
US20140092957A1 (en) * 2012-10-03 2014-04-03 Broadcom Corporation 2D Block Image Encoding
US20140205013A1 (en) * 2013-01-23 2014-07-24 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus
WO2015108793A1 (en) * 2014-01-17 2015-07-23 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US20150271517A1 (en) * 2014-03-21 2015-09-24 Qualcomm Incorporated Search region determination for intra block copy in video coding
US20150304675A1 (en) * 2014-04-21 2015-10-22 Qualcomm Incorporated System and method for coding in block prediction mode for display stream compression (dsc)

Also Published As

Publication number Publication date
CA3004185C (en) 2023-04-25
CA3004185A1 (en) 2017-06-15
TWI692244B (zh) 2020-04-21
US20170163986A1 (en) 2017-06-08
EP3387832A1 (en) 2018-10-17
KR20180091003A (ko) 2018-08-14
BR112018011398A2 (pt) 2018-12-04
KR102102066B1 (ko) 2020-04-17
EP3387832B1 (en) 2020-04-22
JP7198665B2 (ja) 2023-01-04
WO2017100206A1 (en) 2017-06-15
HUE049810T2 (hu) 2020-10-28
US10368073B2 (en) 2019-07-30
JP2018536364A (ja) 2018-12-06
BR112018011398B1 (pt) 2024-01-23
TW201725909A (zh) 2017-07-16
CN108293114B (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
CN108293114A (zh) 用于显示流压缩的块预测模式的多区域搜索范围
CN106797465B (zh) 一种解码视频数据的方法及装置
CN108028925A (zh) 用于显示流压缩(dsc)的块预测模式的可变分区大小
CN106717004B (zh) 视频译码中的跨分量预测和自适应色彩变换的协调
CN106256127B (zh) 用于针对显示流压缩(dsc)在块预测模式中译码的系统和方法
CN105723707B (zh) 用于视频译码的色彩残差预测
CN102783150B (zh) 视频译码中的块类型信令
CN107211124B (zh) 用于译码视频数据的方法、装置和计算机可读存储媒体
CN103597832B (zh) 用于使用相邻模式的视频译码的增强的帧内预测模式信令
CN106416248B (zh) 用于对视频数据进行熵编码和熵解码的方法和装置
CN103959777B (zh) 视频译码中的与自适应环路滤波器合并的样本自适应偏移
CN104509113B (zh) 视频压缩中的变换跳过模式
CN107787583A (zh) 在块内复制模式中的参考图片列表构建
CN109716774A (zh) 用于视频译码的可变数目的帧内模式
CN102474621B (zh) 视频编码中的非零舍入与预测模式选择技术
CN108028932A (zh) 用于视频译码的调色板预测初始化及合并
CN109716771A (zh) 用于视频译码的线性模型色度帧内预测
CN109417617A (zh) 帧内预测方法和装置
CN108028940A (zh) 调色板模式视频译码中转义像素信号值的限制
CN109196869A (zh) 帧内预测模式的基于邻近的发信号
CN106664428B (zh) 用于调色板模式译码的方法和设备
CN108028931A (zh) 用于视频编解码的自适应帧间预测的方法及装置
CN108353176A (zh) 在图像编译系统中的基于amvr的图像编译方法和装置
US20130202030A1 (en) Method and device for image encoding/decoding using block split prediction
CN108353177A (zh) 在显示流压缩dsc中用于降低切片边界视觉假象的系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant