CN108028925A - 用于显示流压缩(dsc)的块预测模式的可变分区大小 - Google Patents

用于显示流压缩(dsc)的块预测模式的可变分区大小 Download PDF

Info

Publication number
CN108028925A
CN108028925A CN201680053248.1A CN201680053248A CN108028925A CN 108028925 A CN108028925 A CN 108028925A CN 201680053248 A CN201680053248 A CN 201680053248A CN 108028925 A CN108028925 A CN 108028925A
Authority
CN
China
Prior art keywords
proparea
candidate regions
block
area
splitting scheme
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
CN201680053248.1A
Other languages
English (en)
Other versions
CN108028925B (zh
Inventor
纳坦·海姆·雅各布森
维贾伊拉加哈万·提鲁马莱
瑞珍·雷克斯曼·乔许
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN108028925A publication Critical patent/CN108028925A/zh
Application granted granted Critical
Publication of CN108028925B publication Critical patent/CN108028925B/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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/146Data rate or code amount at the encoder output
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

公开一种用于在恒定位速率视频译码方案的块预测模式中对视频数据块译码以在显示链路上传输的方法。在一个方面中,所述方法包含:使用第一分割方案确定待用于预测所述视频数据块内的当前区的一或多个第一候选区;使用第二分割方案确定待用于预测所述当前区的一或多个第二候选区;确定与使用所述第一分割方案对所述当前区译码相关联的第一成本大于与使用所述第二分割方案对所述当前区译码相关联的第二成本;以及使用所述第二分割方案对所述当前区译码。

Description

用于显示流压缩(DSC)的块预测模式的可变分区大小
技术领域
本公开涉及视频译码和压缩的领域,且确切地说,涉及用于经由显示链路传输的视频压缩,例如显示链路视频压缩。
背景技术
数字视频能力可并入到广泛范围的显示器中,包含数字电视、个人数字助理(PDA)、笔记本电脑、桌面监视器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话、视频电话会议装置等等。显示链路用于将显示器连接到适当源装置。显示链路的带宽要求与显示器的分辨率成比例,且因此,高分辨率显示器需要大带宽显示链路。一些显示链路不具有支持高分辨率显示器的带宽。可使用视频压缩减少带宽要求,使得可使用较低带宽显示链路将数字视频提供到高分辨率显示器。
存在涉及对像素数据进行图像压缩的译码方案。然而,此类方案有时并非视觉上无损,或可能在常规显示装置中实施起来困难且昂贵。
视频电子标准协会(VESA)已开发了显示流压缩(DSC)作为用于显示链路视频压缩的标准。例如DSC的显示链路视频压缩技术应尤其提供视觉无损的图片质量(即,图片具有使得用户不能断定压缩为作用中的质量等级)。显示链路视频压缩技术还应提供用常规硬件实时实施起来简单且廉价的方案。
发明内容
显示流压缩(DSC)标准包含数个译码模式,在所述数个译码模式中每一视频数据块可由编码器编码且类似地,由解码器解码。在一些实施方案中,编码器和/或解码器可基于经先前译码块预测待译码的当前块。
然而,现有译码模式(例如,变换译码、差分脉码调制等)不提供压缩视频数据中高度复杂的区的令人满意的方式。对于此类型的数据(即,经高度压缩的视频数据),待译码的当前块(或当前块的组成子块)在内容方面常常类似于译码器(例如,编码器或解码器)已遇到的先前块。然而,现有帧内预测可能过于受限,以无法提供对此当前块的令人满意的预测(例如,足够类似于当前块且因此将产生足够小的残差的当前块的预测)。因此,需要一种译码视频数据块的改进方法。
本公开的系统、方法和装置各自具有若干创新方面,其中没有单个方面单独负责本文中所公开的合乎需要的属性。
在一个方面中,用于在恒定位速率视频译码方案的块预测模式中对视频数据块译码的方法可包含:基于与块预测模式相关联的第一分割方案确定待用于预测视频数据块内的当前区的一或多个第一候选区,一或多个第一候选区在与当前区相关联的位置的第一范围内,其中一或多个第一候选区存储于视频编码装置的存储器中;基于与块预测模式相关联的第二分割方案确定待用于预测当前区的一或多个第二候选区,一或多个第二候选区在与当前区相关联的位置的第二范围内,其中一或多个第二候选区存储于视频编码装置的存储器中;确定与基于第一分割方案对当前区译码相关联的第一成本是否大于与基于第二分割方案对当前区译码相关联的第二成本;以及响应于确定第一成本大于第二成本,基于一或多个第二候选区在位流中对当前区译码。
在另一方面中,经配置以在恒定位速率视频译码方案的块预测模式中对视频数据块译码的设备可包含:经配置以存储与一或多个候选区相关联的视频数据的存储器,和与存储器通信的一或多个处理器。一或多个处理器可经配置以:基于与块预测模式相关联的第一分割方案确定待用于预测视频数据块内的当前区的一或多个第一候选区,一或多个第一候选区在与当前区相关联的位置的第一范围内;基于与块预测模式相关联的第二分割方案确定待用于预测当前区的一或多个第二候选区,一或多个第二候选区在与当前区相关联的位置的第二范围内;确定与基于第一分割方案对当前区译码相关联的第一成本是否大于与基于第二分割方案对当前区译码相关联的第二成本;以及响应于确定第一成本大于第二成本,基于一或多个第二候选区在位流中对当前区译码。
在另一方面中,非暂时性物理计算机存储装置可包括经配置以在恒定位速率视频译码方案的块预测模式中对视频数据块译码的代码。译码在被执行时可使设备:基于与块预测模式相关联的第一分割方案确定待用于预测视频数据块内的当前区的一或多个第一候选区,一或多个第一候选区在与当前区相关联的位置的第一范围内;基于与块预测模式相关联的第二分割方案确定待用于预测当前区的一或多个第二候选区,一或多个第二候选区在与当前区相关联的位置的第二范围内;确定与基于第一分割方案对当前区译码相关联的第一成本是否大于与基于第二分割方案对当前区译码相关联的第二成本;以及响应于确定第一成本大于第二成本,基于一或多个第二候选区在位流中对当前区译码。
在另一方面中,视频译码装置可经配置以在恒定位速率视频译码方案的块预测模式中对视频数据块译码。视频译码装置可包括:用于确定一或多个第一候选区的装置,所述一或多个第一候选区用以基于与块预测模式相关联的第一分割方案预测视频数据块内的当前区,一或多个第一候选区在与当前区相关联的位置的第一范围内;用于确定一或多个第二候选区的装置,所述一或多个第二候选区用以基于与块预测模式相关联的第二分割方案预测当前区,一或多个第二候选区在与当前区相关联的位置的第二范围内;用于确定与基于第一分割方案对当前区译码相关联的第一成本是否大于与基于第二分割方案对当前区译码相关联的第二成本的装置;以及用于响应于确定第一成本大于第二成本而基于一或多个第二候选区在位流中对当前区译码的装置。
附图说明
图1A是说明可利用根据本公开中所描述的方面的技术的实例视频编码和解码系统的框图。
图1B是说明可执行根据本公开中所描述的方面的技术的另一实例视频编码和解码系统的框图。
图2A是说明可实施技术的视频编码器的实例的框图。
图2B是说明可实施技术的视频解码器的实例的框图。
图3是说明用于1-D块的非第一行的搜索空间的框图。
图4是说明用于2-D块的非第一行的搜索空间的框图。
图5是说明用于1-D块的第一行的搜索空间的框图。
图6是说明用于2-D块的第一行的搜索空间的框图。
图7是说明用于在块预测模式中预测视频数据块的方法的流程图。
图8是说明具有分区的块的框图。
图9是说明具有自适应分区大小的块预测模式的数据流的框图。
图10是说明对于块中的2×2区的两个不同分区选项的框图。
图11是说明用于块预测模式的熵译码组的框图。
图12是说明2x8块的搜索空间的框图。
图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分区的实例块预测搜索的框图。
具体实施方式
一般来说,本公开涉及改进例如显示链路视频压缩中利用的那些视频压缩技术的方法。更具体地说,本公开涉及用于使用可变分区大小在块预测模式中对视频数据块译码的系统和方法。
虽然本文在DSC标准的上下文中描述了某些实施例,所述DSC标准是显示链路视频压缩技术的实例,但所属领域的技术人员应了解本文中所公开的系统和方法可适用于任何合适的视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多个:国际电信联盟(ITU)电信标准化部门(ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)移动图像专家组-1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(也称为ISO/IEC MPEG-4 AVC)、高效率视频译码(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/IEC MPEG-4AVC),以及包含此类标准的扩展的HEVC。
此外,视频译码标准(即,DSC)已由VESA开发。DSC标准是可压缩视频以用于在显示链路上传输的视频压缩标准。随着显示器的分辨率增加,驱动显示器需要的视频数据的带宽相应地增加。针对此类分辨率,一些显示链路可能不具有带宽来将所有视频数据传输到显示器。因此,DSC标准规定用于在显示链路上的可互操作的视觉无损压缩的压缩标准。
DSC标准不同于其它视频译码标准,例如,H.264和HEVC。DSC包括帧内压缩,但不包括帧间压缩,意味着在对视频数据译码时DSC标准可不使用时间信息。相比之下,其它视频译码标准可在其视频译码技术中使用帧间压缩。
视频译码系统
下文参考附图更充分地描述新颖系统、设备和方法的各个方面。然而,本公开可以许多不同形式来体现,且不应被解释为限于贯穿本公开所呈现的任何特定结构或功能。而是,提供这些方面以使得本公开将透彻且完整,且将向所属领域的技术人员充分传达本公开的范围。基于本文中的教示,所属领域的技术人员应了解,本公开的范围既定涵盖无论是独立于本公开的任何其它方面而实施还是与之组合而实施的本文中所公开的新颖系统、设备和方法的任何方面。举例来说,可以使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本公开的范围既定涵盖使用除本文中所阐述的本公开的各种方面之外的或不同于本文中所阐述的本公开的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所公开的任何方面。
尽管本文中描述了特定方面,但这些方面的许多变化和排列落在本公开的范围内。尽管提及了优选方面的一些益处和优点,但本公开的范围意图限于特定益处、用途或目标。而是,本公开的方面既定广泛地适用于不同无线技术、系统配置、网络和传输协议,其中的一些是借助于实例而在图中以及在优选方面的以下描述中说明。详细描述和图式仅说明本公开,且不具有限制性,本公开的范围由所附权利要求书和其等效物界定。
附图说明若干实例。由附图中的参考标号指示的元件对应于在以下描述中由相同参考标号指示的元件。在本公开中,具有以序数词(例如,“第一”、“第二”、“第三”等)开始的名称的元件不一定暗示所述元件具有特定顺序。而是,这些序数词仅用于指代相同或类似类型的不同元件。
图1A是说明可利用根据本公开中所描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”或“译码器”一般是指视频编码器和视频解码器两者。在本公开中,术语“视频译码”或“译码”一般可是指视频编码和视频解码。除了视频编码器和视频解码器外,本申请中所描述的方面可扩展到其它相关装置,例如,转码器(例如,可对位流解码且对另一位流重新编码的装置)和中间设备(例如,可修改、变换和/或以其它方式操纵位流的装置)。
如图1A中所展示,视频译码系统10包含源装置12(即,“视频译码装置12”或“译码装置12”),其产生将在稍后时间由目的地装置14(即,“视频译码装置14”或“译码装置14”)解码的经编码视频数据。在图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、Flash-OFDMA等。UTRA和E-UTRA是通用移动通信系统(UMTS)的部分。3GPP长期演进(LTE)和LTE高级(LTE-A)是UMTS的使用E-UTRA的新版本。UTRA、E-UTRA、UMTS、LTE、LTE-A和GSM描述于来自名为“第三代合作伙伴计划”(3GPP)的组织的文献中。CDMA2000和UMB描述于来自名为“第三代合作伙伴计划2”(3GPP2)的组织的文献中。
视频译码系统10的视频译码装置12、14还可根据例如IEEE 802.11标准等一或多个标准经由WLAN基站彼此通信,所述IEEE 802.11标准包含例如这些修正:802.11a-1999(通常称为“802.11a”)、802.11b-1999(通常称为“802.11b”)、802.11g-2003(通常称为“802.11g”)等。
目的地装置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第10部分、AVC、HEVC或此类标准的扩展)操作。但是,本公开的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
尽管图1A和1B的实例中未展示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件和软件以处理对共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可以符合ITU H.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可使经压缩视频的速率变化平稳。在一些实施例中,采用恒定位速率(CBR)缓冲器模型,其中存储在速率缓冲器(例如,速率缓冲器150)中的位以恒定位速率从速率缓冲器移除。在CBR缓冲器模型中,如果视频编码器20将过多的位添加到位流,那么速率缓冲器150可上溢。另一方面,视频编码器20可能需要添加足够位以便防止速率缓冲器150的下溢。
在视频解码器侧上,可以恒定位速率将位添加到视频解码器30的速率缓冲器155(见下文进一步详细描述的图2B),且视频解码器30可针对每一块移除可变位数。为了确保适当解码,视频解码器30的速率缓冲器155在对经压缩位流的解码期间不应“下溢”或“上溢”。
在一些实施例中,可基于表示当前在缓冲器中的位数的值BufferCurrentSize和表示速率缓冲器150的大小(即,在任一时间点可存储在速率缓冲器150中的最大位数)的BufferMaxSize来界定缓冲器满度(BF)。BF可计算为:
BF=((缓冲器当前大小*100)/缓冲器最大大小)
平度检测器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到18进一步论述,预测器、量化器和重构器组件125可经配置以基于本文中所描述的一或多种技术来对视频数据块(或任何其它预测单元)译码(例如,编码或解码)。举例来说,预测器、量化器和重构器组件125可经配置以执行图7和14中所说明的方法。在其它实施例中,预测器、量化器和重构器组件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块大小)的编解码器实施。编解码器可以是固定位编解码器,其中1-D状况的搜索空间的实例展示于图3和5中,2-D状况的搜索空间的实例展示于图4和6中。在2-D状况下,搜索范围可包含来自先前经重构行(例如,先前行402)或来自如2-D块中那些行相同的行的经重构块(例如,紧靠着当前块606左侧的当前行602中的先前块604)的像素。可水平地或垂直地或在这两个方向上分割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)SR 32和α15可将搜索范围310放置于先前线302的中心,(ii)SR 32和α0可将搜索范围310放置于先前线302的左侧,以及(iii)SR 32和α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量化残差。经量化残差可使用码本(其可为固定长度或可变长度)来编码且使用固定长度代码或可变长度代码用信号发送。所选码本可基于译码效率和硬件复杂度要求。举例来说,所选码本可为指数-哥伦布码本。在本公开的一些实施例中,可使用类似于现有DSC实施方案的增量大小单元可变长度译码(DSU-VLC)的熵译码方案。在一些实施例中,可在上文所描述的量化之前变换残差(例如,使用直接余弦变换、哈达玛变换或其它已知变换)。
在本公开的一些实施例中,当前块的残差中的样本可分割成多个组(例如,对于含有16个样本的块,每组4个样本)。如果块中的所有系数为零,那么使用跳过模式对块的残差译码,即,用信号发送每块(每分量)的1位标记以指示块中的当前分量是否使用跳过模式进行译码。如果块内含有至少一个非零值,那么可仅当所述组具有一个非零值时才使用DSU-VLC对每一组译码。如果所述组(例如,残差中的16个样本中的4个样本)不含有任何非零值,那么使用跳过模式对所述组译码,即,用信号发送每组的1位标记以指示所述组是否使用跳过模式进行译码。更确切地说,对于每一组,可执行搜索以确定所述组中的所有值是否为零。如果所述组中的所有值为零,那么可将值‘1’用信号发送到解码器;否则(如果至少一个值为非零),可将值‘0’用信号发送到解码器,接着以DSU-VLC译码。在替代实例中,如果所述组中的所有值为零,那么可用信号发送值‘0’,且如果所述组含有至少一个非零值,那么可用信号发送值‘1’。
在本公开的一些实施例中,通过发射含有最佳偏移的固定长度代码将最佳候选块显式地用信号发送到解码器。偏移可被称为“向量”。将向量显式地用信号发送到解码器的优势在于解码器自身将不必执行块搜索。实际上,解码器将显式地接收向量且将候选块添加到经解码、解量化残差值以确定当前块的像素值。
块分割
在本公开的一些实施例中,可分割待译码的当前块,得到多个候选块和每块的多个向量。在此类实施例中的一些中,可使用固定长度代码显式地用信号发送一或多个向量。举例来说,此固定长度代码的长度可为log2(SR)。在另一实施例中,可使用可变长度代码显式地用信号发送一或多个向量,例如来自指数哥伦布或哥伦布莱斯码族的代码。可基于与一或多个向量相关联的统计分布选择此码本。在又一实施例中,可基于先前经译码的向量预测向量,且可使用一些固定长度或可变长度代码对向量的残差译码。在又一实施例中,可基于先前经译码向量预测向量,且1位标记可用于用信号发送两个向量是否相同。此标记可被称为SameFlag。如果SameFlag=1,那么向量值自身无需用信号发送到解码器。如果SameFlag=0,那么将显式地用信号发送向量(例如,使用固定长度或可变长度代码)。在图8中说明实例块分割方案。
如图8中所展示,当前块802含有单个分区。针对当前块802用信号发送的信息包含模式标头、向量SameFlag、向量A和有效负载。当前块804含有两个分区:分区A和分区B。针对当前块804用信号发送的信息包含模式标头、向量SameFlag、向量A、向量SameFlag、向量B和有效负载。如上文所描述,上文所列的一或多个项目可能不被用信号发送。举例来说,如果向量SameFlag等于1,那么无需用信号发送以下向量。
分区大小β可确定当前块分割成单独子块。在此状况下,可针对每一子块执行单独块预测。举例来说,如果块大小为N=16且分区大小β=8,那么将针对16/8=2分区中的每一个执行搜索。在另一个实例中,如果β=N,那么停用块分割。如果β<N,那么可将每一向量显式地用信号发送到解码器。如果不采用向量预测(例如,使用先前用信号发送的向量界定当前向量),那么将使用固定长度或可变长度代码用信号发送每一向量。如果采用向量预测,那么可从先前经译码向量(例如,存储于存储器中)预测第一向量,且对于n>0,从向量n-1预测向量n。
块预测模式中的可变分区大小
上文的实例说明可如何在块预测模式中对具有1x8(例如,具有1像素高度和8像素宽度)或2x8(例如,具有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处,块预测器908从当前块902(或候选块902内的当前块分区904)减去,且在框912处量化基于减法而确定的残差。经量化残差由熵译码器920进行熵译码。此外,对经量化残差执行逆量化914且在框916处将结果添加到块预测器908以产生经重构块918。基于经重构块918的失真性能(D)和经熵编码残差的性能(R)执行BP分区大小选择922。基于所选BP分区大小产生位流924。
举例来说,BP分区大小选择922可将当前块902内的每一分区区(例如,2×2)的速率(例如,R)和失真(例如,D)当作输入且确定是否应使用单个块预测向量(BPV)(例如,单个2×2分区共1BPV)对分区区译码或使用多个BPV(例如,共2BPV,1BPV各自用于两个1×2分区)对分区区分割和译码,以基于两个选项之间的RD权衡进行预测。尽管本文中所论述的一些实例涉及2×2的分区区大小(由此具有作为可选选项的1×2、2×1和2×2的分区大小),但可由编码器选择的分区大小不限于此类实例中所用的那些分区大小(例如,1×2和2×2),且可包含基于块大小和/或区大小的其它大小(例如,2×1)。
在一些实施例中,分区大小是固定的(例如,1×2、2×2或当前分区区或块中像素的任何其它子组合)。举例来说,块可具有2x8的块大小,且块可被分成具有2×2大小的子块或区。2x8块内的2×2子块或区可进一步被分割成具有1×2大小的分区。在此实例中,可独立于其它分区使用单个BPV预测每一1×2分区。在其它实施例中,分区大小是可变的,且可基于每一分割方案的速率和失真性能通过编码器确定如何使用哪个分区大小在块预测中对每一块、子块和/或区译码。举例来说,对于当前块内的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)具有2x8的大小,且块内子块或区1004(例如,包含像素X0、X1、X8和X9)具有2×2的大小。分割选项1006说明其中使用单个BPV预测子块或区1004的实例,且分割选项1008说明其中使用用于子块或区1004内每一1×2分区的两个BPV预测子块或区1004的实例。具有2×2大小的子块或区用于例如先进DSC(Adv-DSC)的一些实施方案中以使子块或区与图11中所展示的用于块预测模式的熵译码组结构1100对准。在图11的实例中,说明熵译码组0、1、2和3,每一熵译码组对应于块内四个2×2子块或区中的一个。然而,本文中所描述的技术不限于此实施例且可扩展到任何块大小M×N和任何子块大小Msub×Nsub。然而,在下文所说明的实例中,使用参数M=2,N=8,Msub=2,Nsub=2。在一些实施例中,可基于熵译码组确定子块和/或分割方案。举例来说,可确定子块和/或分割方案,使得每一子块和/或分割方案含于单个熵译码组内。
确定分区大小
编码器可确定是否(i)将每一2×2区作为单个2×2分区译码或(ii)将区分成两个1×2分区且基于最低RD成本单独地对每一1×2分区译码。RD成本可计算为如下所示:
成本(2x2)=D2x2+λ·R2x2
成本(1x2)=D1x2+λ·R1x2
R2x2=1+BPVbits+ECbits2x2
R1x2=1+(2·BPVbits)+ECbits1x2
在一些实施方案中,使用等于log2(SR)的固定数目的位(BPVbits)来用信号发送BPV,其中SR是与块预测模式相关联的搜索空间(或搜索范围)。举例来说,如果搜索空间由64个位置组成,那么使用log2(64)=6位来用信号发送每一BPV。
具有可变分区大小的块预测的搜索空间可略微不同于参考图3到6所论述的搜索范围。确切地说,Msub×Nsub子块可利用具有高度Msub的搜索空间。在此等状况下,相对于无可变分区大小的块预测,可能需要额外线缓冲器来实施具有可变分区大小的块预测。对于2×2子块大小,在图12中表明此搜索空间的实例。图12说明图式1200,其说明实例搜索范围。如图12中所展示,当前行1202包含(i)具有当前子块1206的当前块1204和(ii)先前块1208。在图12的实例中,先前行1210包含搜索范围1212,编码器可从所述搜索范围1212选择候选子块1214,以用于预测当前子块1206。用于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子块大小的2x8块、2×2熵译码组和两个分割方案(1×2和2×2)论述一些实施例,但本文中所描述的技术可扩展到其它块大小、子块大小、熵译码组,和/或分割方案。
在位流中用信号发送译码信息
在图10中所展示的2x8块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实施方案等一些实施方案中,在位流中用信号发送指示经选择用于块内每一区(例如,2x8块中的每一2×2区)的分割方案的四个位的组。在此类实施方案中,四个位“1011”可指示块中的第一、第三和第四区(例如,2×2子块)将基于第一分割方案(例如,基于1×2分区)预测或译码,而第二区(例如,2×2子块)将基于第二分割方案(例如,基于2×2分区)预测或译码。在一些实施例中,在在位流中的这四个位之后,可使用每BPV固定位来用信号发送BPV。在先前实例(例如,位序列“1011”)中,可用信号发送7BPV。
在块预测模式中译码的实例流程图
参考图14,将描述用于在块预测模式中对视频数据块译码的实例程序。图14中所说明的步骤可由视频编码器(例如,图2A中的视频编码器20)或其一或多个组件执行。为方便起见,将方法1400描述为由译码器执行,所述译码器可为视频编码器20或另一组件。
方法1400开始于框1401处。在框1405处,译码器基于第一分割方案确定待用于预测当前区(例如,在块预测模式中经译码的视频数据块内)的一或多个第一候选区。举例来说,当前区可以是2x8块中2×2区中的一个。第一分割方案可以是其中将当前区分割成多个分区(例如,两个1×2分区或具有基于当前区的大小确定的分区大小的分区的其它组合)的分割方案。替代地,第一分割方案可以是其中将当前区用作整体(例如,作为2×2分区)且不分割成多个分区的分割方案。在一些实施例中,一或多个第一候选区在与第一分割方案相关联的位置的第一范围(例如,与第一分割方案相关联的搜索范围)内。一或多个第一候选区可存储于视频编码装置的存储器中。
在框1410处,译码器确定待用以基于第二分割方案预测当前区的一或多个第二候选区。举例来说,第二分割方案可以是其中不将当前区分割成多个分区(例如,将当前区作为单个2×2分区进行译码)的分割方案。在另一实例中,第二分割方案可以是其中将当前区分割成与用于第一分割方案的分区数目不同的数个分区的分割方案。在又另一实例中,第二分割方案可以是其中将当前区分割成多个分区(例如,两个1×2分区,或具有基于当前区的大小确定的分区大小的分区的其它组合)的分割方案。在一些实施例中,一或多个第二候选区在与第二分割方案相关联的位置的第二范围(例如,与第二分割方案相关联的搜索范围)内。在一些实施例中,第二范围与用于识别一或多个第一候选区的第一范围相同。在一些状况下,一或多个第二候选区可相同于一或多个第一候选区。在其它状况下,一或多个第二候选区包含一或多个第一候选区。替代地,一或多个第一候选区可包含一或多个第一候选区。在一些状况下,一或多个第二候选区不与一或多个第二候选区重叠。一或多个第二候选区的大小可不同于一或多个第一候选区的大小。在其它实施例中,第二范围不同于用于识别一或多个第一候选区的第一范围。一或多个第二候选区可存储于视频编码装置的存储器中。
在框1415处,译码器确定与基于第一分割方案对当前区译码相关联的第一成本是否大于与基于第二分割方案对当前区译码相关联的第二成本。举例来说,译码可基于与基于第一分割方案对当前区译码相关联的速率和失真计算第一成本且基于与基于第二分割方案对当前区译码相关联的速率和失真计算第二成本,且比较计算出的第一成本和第二成本。在一个实例中,第一成本可确定为(第一失真值+(λ参数*第一速率值)),其中第一失真值可基于关于一或多个第一候选区的YCoCg色彩空间中当前区(或其分区)中个别像素的经修改SAD计算出,且第二成本可确定为(第二失真值+(λ参数*第二速率值)),其中第二失真值可基于关于一或多个第二候选区的YCoCg色彩空间中当前区(或其分区)中个别像素的经修改SAD计算出。在一些实施例中,译码器可至少部分地基于(i)当前区与第一候选区一或多个之间的绝对差总和以及(ii)在位流中用信号发送一或多个预测向量和对应残差所需的位数来确定第一成本,且至少部分地基于(i)当前区与第二候选区一或多个之间的绝对差总和以及(ii)在位流中用信号发送一或多个预测向量和对应残差所需的位数来确定第二成本。
在框1420处,如果译码器已确定与基于第一分割方案对当前区译码相关联的第一成本大于与基于第二分割方案对当前区译码相关联的第二成本,那么方法1400进行到框1425。否则,方法1400进行到框1430。
在框1425处,译码器基于一或多个第二候选区将当前区译码到位流中。译码器可在位流中用信号发送指示一或多个第二候选区关于当前区的位置的一或多个预测向量和指示一或多个第二候选区与当前区之间的差(例如,对应像素值之间的差)的经量化残差。举例来说,译码器可用信号发送指示一或多个第二候选区的第一或初始像素的位置的单个向量,其中单个向量的值是基于此第一或初始像素与当前区的第一或初始像素之间的距离。如果一或多个预测向量包括多个向量,那么译码器可用信号发送多个向量,所述多个向量各自指示待用于预测当前区的分区中的一个的相应候选区的位置。
在框1430处,译码器基于一或多个第一候选区将当前区译码到位流中。译码器可在位流中用信号发送指示一或多个第一候选区关于当前区的位置的一或多个预测向量和指示一或多个第一候选区与当前区之间的差的经量化残差。举例来说,译码器可用信号发送指示一或多个第一候选区的第一或初始像素的位置的单个向量,其中单个向量的值是基于此第一或初始像素与当前区的第一或初始像素之间的距离。如果一或多个预测向量包括多个向量,那么译码器可用信号发送多个向量,所述多个向量各自指示待用于预测当前区的分区中的一个的相应候选区的位置。译码器可进一步在位流中用信号发送分区指示符,分区指示符指示与块内每一区相关联的分割方案,块包括除当前区外的至少一个区。举例来说,分区指示符可指示当前区与第二分割方案相关联。分区指示符可进一步指示除块中当前区外的至少一个区与不同于第二分割方案的第一分割方案相关联。方法1400在在框1435处结束。
在方法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分区,每一分区可含有针对色度分量中的每一个(例如,Co和Cg,或Cb和Cr)的4个亮度样本和2个色度样本。图17中展示针对4:2:2模式的实例2×2搜索1700。在图17中,使用“X”指示色度位点(例如,具有色度样本的像素位置)。举例来说,分区A的两个左侧样本、分区B的两个右侧样本和当前分区的两个左侧样本包括与相应分区相交的色度位点。此类色度位点可以用于对于相应分区执行的所有计算(例如,使用色度样本值计算差值)。
对于4:2:2模式中的1×2分区,每一分区含有针对色度分量中的每一个(例如,Co和Cg,或Cb和Cr)的2个亮度样本和1个色度样本。不同于在4:2:0模式中,在4:2:2模式中,当前块的第一行中的分区与当前块的第二行中的分区之间可能不存在差异。图18中说明用于4:2:2色度子采样的1×2分区的实例块预测搜索1800。在图18的实例中,当前1×2分区在第一行中且当前1×2分区B在第二行中,且当前分区A和B中的每一个包含色度位点。基于候选1×2分区A预测当前分区A,所述候选1×2分区A包含第一样本中的色度位点,且基于候选1×2分区B预测当前分区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模式中,2x8块可包含四个熵译码组,如图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:对于不同色度子采样格式每分量熵译码组的数目(假设2x8的块大小)
优势
可使用不对称设计实施本公开中所描述的一或多个块预测模式技术。不对称设计允许在编码器侧上执行更多昂贵程序,从而降低解码器复杂度。举例来说,由于将向量显式地用信号发送到解码器,所以编码器相较于解码器起主要作用。这是合乎需要的,因为编码器常常是芯片上系统(SoC)设计的一部分,以高频率在切削边缘过程节点(例如,20nm和低于20nm)上运行。同时,很可能在具有受限时钟速度和大得多的过程大小(例如,65nm和多于65nm)的显示驱动器集成电路(DDIC)玻璃片上芯片(COG)解决方案上实施解码器。
另外,对块分区大小的自适应选择允许将块预测模式用于更广范围的内容类型。由于显式地用信号发送BPV可能是昂贵的,因此可变分区大小允许降低可使用2×2分区充分预测的图像区的传信成本。对于高度复杂的区,如果可充分降低熵译码速率以补偿较高的传信成本,或如果可充分降低失真使得RD权衡仍有利于1×2,那么可选择1×2分区大小。举例来说,对块分区大小的自适应选择可增加所有内容类型的性能,内容类型包含自然图像、测试图案、精细文本呈现等。在一些实施例中,通过考虑大于2×2的块分区大小和/或大于2x8的块大小可扩展本文中所论述的自适应分割技术。
本文中所描述的一或多种技术可在采用恒定位速率缓冲器模型的固定位编解码器中实施。存储于速率缓冲器中的此模型、位以恒定位速率从速率缓冲器移除。因此,如果视频编码器添加过多位到位流,那么速率缓冲器可能上溢。另一方面,视频编码器可能需要添加足够位以便防止速率缓冲器的下溢。另外,在视频解码器侧上,位可以恒定位速率添加到速率缓冲器,且视频解码器可对于每一块移除可变数目个位。为了确保适当解码,视频解码器的速率缓冲器在对经压缩位流的解码期间不应“下溢”或“上溢”。本文中所描述的一或多种技术可确保防止在编码和/或解码期间的此类下溢或上溢。在一些实施例中,编码器可位预算约束下操作,在所述位预算约束中编码器具有固定数目个位来对给定区、图块或帧译码。在此类实施例中,能够准确知道(且不必估计)多个编码模式中的每一个编码模式需要能够对给定区、图块或帧译码的位数对于编码器是关键的,使得编码器可以确保可以满足位预算或其它位/带宽相关约束。举例来说,编码器可在给定译码模式中对给定区、图块或帧译码,而在对给定区、图块或帧的译码需要更多估计的位的情况下无须实施任何预防措施。
另外,本文中所描述的一或多种技术解决了在显示链路上传输时与视频压缩技术相关联的特定技术问题。通过允许基于多个候选区(例如,基于多个候选区中的对应一个预测的区中的每一分区)对区译码,视频编码器和解码器可基于区的性质(例如,平滑、复杂等)提供自定义预测,由此提高视频编码器和解码器(例如,硬件和软件编解码器)性能。
其它考虑因素
可使用多种不同技术和技艺中的任一个来表示本文中所公开的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。
结合本文中所公开的实施例所描述的各种说明性逻辑块和算法步骤可实施为电子硬件、计算机软件,或两者的组合。为清楚说明硬件与软体的此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块和步骤。此类功能性是实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可以针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起对本公开的范围的偏离。
本文中所描述的技术可在硬件、软件、固件或其任何组合中实施。此类技术可实施于多种装置中的任一个中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机和其它装置中的应用的多种用途。被描述为装置或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路系统。此处理器可经配置以执行本公开中所描述的技术中的任一个。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如DSP和微处理器的组合、多个微处理器、与DSP核心结合的一或多个微处理器,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一个、上述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(CODEC)中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本公开的技术可实施于多种多样的装置或设备中,包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。本公开中描述各种组件或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以配合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
虽然已经结合各种不同实施例描述了前文,但可在不脱离本公开的教示的情况下将来自一个实施例的特征或元件与其它实施例组合。然而,相应实施例之间的特征的组合不一定限于此。已描述本公开的各种实施例。这些和其它实施例在所附权利要求书的范围内。

Claims (30)

1.一种用于在恒定位速率视频译码方案的块预测模式中对视频数据块译码的方法,所述方法包括:
基于与块预测模式相关联的第一分割方案确定待用于预测所述视频数据块内的当前区的一或多个第一候选区,所述一或多个第一候选区在与所述当前区相关联的位置的第一范围内,其中所述一或多个第一候选区存储于视频编码装置的存储器中;
基于与块预测模式相关联的第二分割方案确定待用于预测所述当前区的一或多个第二候选区,所述一或多个第二候选区在与所述当前区相关联的位置的第二范围内,其中所述一或多个第二候选区存储于所述视频编码装置的存储器中;
确定与基于所述第一分割方案对所述当前区译码相关联的第一成本是否大于与基于所述第二分割方案对所述当前区译码相关联的第二成本;以及
响应于确定所述第一成本大于所述第二成本,基于所述一或多个第二候选区将所述当前区译码到位流中。
2.根据权利要求1所述的方法,其进一步包括在所述位流中用信号发送指示所述一或多个第二候选区关于所述当前区的位置的一或多个预测向量和指示所述一或多个第二候选区与所述当前区之间的差的残差。
3.根据权利要求2所述的方法,其中所述残差包括亮度残差和色度残差,所述方法进一步包括(i)使用第一数目个熵译码组对所述亮度残差执行熵译码,以及(ii)使用不同于所述第一数目的第二数目个熵译码组对所述色度残差执行熵译码。
4.根据权利要求2所述的方法,进一步包括在所述位流中,用信号发送指示一或多个第一候选区关于所述块内至少一个其它区的位置的一或多个预测向量,其中用信号发送用于所述至少一个其它区的预测向量的数目不同于用信号发送用于所述当前区的预测向量的数目。
5.根据权利要求1所述的方法,其中所述一或多个第一候选区和所述一或多个第二候选区包括一或多个相同候选区。
6.根据权利要求1所述的方法,其进一步包括至少部分地基于(i)所述当前区与所述一或多个第二候选区之间的绝对差总和以及(ii)在所述位流中用信号发送所述一或多个预测向量和对应残差所需的位数来确定所述第二成本。
7.根据权利要求1所述的方法,其进一步包括在所述位流中用信号发送分区指示符,所述分区指示符指示与所述块内的每一区相关联的分割方案,所述块包括除所述当前区外的至少一个区。
8.根据权利要求7所述的方法,其中所述分区指示符指示当前区与所述第二分割方案相关联且除所述块中的所述当前区外的所述至少一个区与不同于所述第二分割方案的所述第一分割方案相关联。
9.根据权利要求1所述的方法,其中所述一或多个第一候选区和所述一或多个第二候选区具有不同大小。
10.根据权利要求1所述的方法,其中所述一或多个第一候选区和所述一或多个第二候选区具有相同大小。
11.根据权利要求1所述的方法,其中所述视频数据块与4:2:0色度子采样格式或4:2:2色度子采样格式中的一个相关联。
12.根据权利要求1所述的方法,其中所述一或多个第二候选区包含具有第一数目个色度样本的第一区和具有不同于所述第一数目的第二数目个色度样本的第二区,其中所述第一区与所述第二区不重叠。
13.根据权利要求1所述的方法,其中所述一或多个第二候选区包含与任何色度样本不相关联的至少一个区。
14.根据权利要求1所述的方法,其中所述当前区包含与第一数目个色度样本相关联的第一当前区和与不同于所述第一数目的第二数目个色度样本相关联的第二当前区,其中所述一或多个第二候选区包含:包含所述第一数目个色度样本的所述一或多个第二候选区中的第一第二候选区和包含所述第二数目个色度样本的所述一或多个第二候选区中的第二第二候选区。
15.一种经配置以在恒定位速率视频译码方案的块预测模式中对视频数据块译码的设备,所述设备包括:
存储器,其经配置以存储与一或多个候选区相关联的视频数据;
一或多个处理器,其与所述存储器通信,所述一或多个处理器经配置以:
基于与块预测模式相关联的第一分割方案确定待用于预测所述视频数据块内的当前区的一或多个第一候选区,所述一或多个第一候选区在与所述当前区相关联的位置的第一范围内;
基于与块预测模式相关联的第二分割方案确定待用于预测所述当前区的一或多个第二候选区,所述一或多个第二候选区在与所述当前区相关联的位置的第二范围内;
确定与基于所述第一分割方案对所述当前区译码相关联的第一成本是否大于与基于所述第二分割方案对所述当前区译码相关联的第二成本;以及
响应于确定所述第一成本大于所述第二成本,基于所述一或多个第二候选区将所述当前区译码到位流中。
16.根据权利要求15所述的设备,其中所述一或多个处理器进一步经配置以在所述位流中用信号发送指示所述一或多个第二候选区关于所述当前区的位置的一或多个预测向量以及指示所述一或多个第二候选区与所述当前区之间的差的残差。
17.根据权利要求16所述的设备,其中所述残差包括亮度残差和色度残差,所述方法进一步包括(i)使用第一数目个熵译码组对所述亮度残差执行熵译码,以及(ii)使用不同于所述第一数目的第二数目个熵译码组对所述色度残差执行熵译码。
18.根据权利要求16所述的设备,其中所述一或多个处理器进一步经配置以在所述位流中,用信号发送指示一或多个第一候选区关于所述块内至少一个其它区的位置的一或多个预测向量,其中用信号发送用于所述至少一个其它区的预测向量的数目不同于用信号发送用于所述当前区的预测向量的数目。
19.根据权利要求15所述的设备,其中所述一或多个第一候选区和所述一或多个第二候选区包括一或多个相同候选区。
20.根据权利要求15所述的设备,其中所述一或多个处理器进一步经配置以至少部分地基于(i)所述当前区与所述一或多个第二候选区之间的绝对差总和以及(ii)在所述位流中用信号发送所述一或多个预测向量和对应残差所需的位数来确定所述第二成本。
21.根据权利要求15所述的设备,其中所述一或多个处理器进一步经配置以在所述位流中用信号发送分区指示符,所述分区指示符指示与所述块内每一区相关联的分割方案,所述块包括除所述当前区外的至少一个区,其中所述分区指示符指示当前区与所述第二分割方案相关联且除所述块中的所述当前区外的所述至少一个区与不同于所述第二分割方案的所述第一分割方案相关联。
22.根据权利要求15所述的设备,其中所述一或多个第二候选区包含具有第一数目个色度样本的第一区和具有不同于所述第一数目的第二数目个色度样本的第二区,其中所述第一区与所述第二区不重叠。
23.根据权利要求15所述的设备,其中所述一或多个第二候选区包含与任何色度样本不相关联的至少一个区。
24.根据权利要求15所述的设备,其中所述当前区包含与第一数目个色度样本相关联的第一当前区和与不同于所述第一数目的第二数目个色度样本相关联的第二当前区,其中所述一或多个第二候选区包含:包含所述第一数目个色度样本的所述一或多个第二候选区中的第一第二候选区和包含所述第二数目个色度样本的所述一或多个第二候选区中的第二第二候选区。
25.一种非暂时性物理计算机存储装置,其包括经配置以在恒定位速率视频译码方案的块预测模式中对视频数据块译码的代码,其中所述代码在被执行时使设备:
基于与块预测模式相关联的第一分割方案确定待用于预测所述视频数据块内的当前区的一或多个第一候选区,所述一或多个第一候选区在与所述当前区相关联的位置的第一范围内;
基于与块预测模式相关联的第二分割方案确定待用于预测所述当前区的一或多个第二候选区,所述一或多个第二候选区在与所述当前区相关联的位置的第二范围内;
确定与基于所述第一分割方案对所述当前区译码相关联的第一成本是否大于与基于所述第二分割方案对所述当前区译码相关联的第二成本;以及
响应于确定所述第一成本大于所述第二成本,基于所述一或多个第二候选区将所述当前区译码到位流中。
26.根据权利要求25所述的非暂时性物理计算机存储装置,其中所述代码进一步使所述设备在所述位流中用信号发送指示所述一或多个第二候选区关于所述当前区的一或多个预测向量和指示所述一或多个第二候选区与所述当前区之间的差的残差。
27.根据权利要求25所述的非暂时性物理计算机存储装置,其中所述代码进一步使所述设备在所述位流中用信号发送分区指示符,所述分区指示符指示与所述块内每一区相关联的分割方案,所述块包括除所述当前区外的至少一个区,其中所述分区指示符指示当前区与所述第二分割方案相关联且除所述块中的所述当前区外的所述至少一个区与不同于所述第二分割方案的所述第一分割方案相关联。
28.一种经配置以在恒定位速率视频译码方案的块预测模式中对视频数据块译码的视频译码装置,所述视频译码装置包括:
用于基于与块预测模式相关联的第一分割方案确定待用于预测所述视频数据块内的当前区的一或多个第一候选区的装置,所述一或多个第一候选区在与所述当前区相关联的位置的第一范围内;
用于基于与块预测模式相关联的第二分割方案确定待用于预测所述当前区的一或多个第二候选区的装置,所述一或多个第二候选区在与所述当前区相关联的位置的第二范围内;
用于确定与基于所述第一分割方案对所述当前区译码相关联的第一成本是否大于与基于所述第二分割方案对所述当前区译码相关联的第二成本的装置;以及
用于响应于确定所述第一成本大于所述第二成本而基于所述一或多个第二候选区将所述当前区译码到位流中的装置。
29.根据权利要求28所述的视频译码装置,其进一步包括用于在所述位流中用信号发送指示所述一或多个第二候选区关于所述当前区的位置的一或多个预测向量和指示所述一或多个第二候选区与所述当前区之间的差的残差的装置。
30.根据权利要求28所述的视频译码装置,其进一步包括用于在所述位流中用信号发送分区指示符的装置,所述分区指示符指示与所述块内每一区相关联的分割方案,所述块包括除所述当前区外的至少一个区,其中所述分区指示符指示当前区与所述第二分割方案相关联且除所述块中的所述当前区外的所述至少一个区与不同于所述第二分割方案的所述第一分割方案相关联。
CN201680053248.1A 2015-09-18 2016-09-15 用于显示流压缩(dsc)的块预测模式的可变分区大小 Active CN108028925B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562220699P 2015-09-18 2015-09-18
US62/220,699 2015-09-18
US201562244690P 2015-10-21 2015-10-21
US62/244,690 2015-10-21
US15/265,743 2016-09-14
US15/265,743 US20170085886A1 (en) 2015-09-18 2016-09-14 Variable partition size for block prediction mode for display stream compression (dsc)
PCT/US2016/051987 WO2017048991A1 (en) 2015-09-18 2016-09-15 Variable partition size for block prediction mode for display stream compression (dsc)

Publications (2)

Publication Number Publication Date
CN108028925A true CN108028925A (zh) 2018-05-11
CN108028925B CN108028925B (zh) 2021-08-17

Family

ID=58283635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680053248.1A Active CN108028925B (zh) 2015-09-18 2016-09-15 用于显示流压缩(dsc)的块预测模式的可变分区大小

Country Status (8)

Country Link
US (1) US20170085886A1 (zh)
EP (1) EP3350991B1 (zh)
JP (1) JP2018532317A (zh)
KR (1) KR20180056688A (zh)
CN (1) CN108028925B (zh)
BR (1) BR112018005434A2 (zh)
CA (1) CA2996190A1 (zh)
WO (1) WO2017048991A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020043145A1 (en) * 2018-08-29 2020-03-05 Huawei Technologies Co., Ltd. Apparatus and method and for boundary partition
WO2023197998A1 (en) * 2022-04-13 2023-10-19 Mediatek Inc. Extended block partition types for video coding

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10491906B2 (en) * 2015-11-05 2019-11-26 Mediatek Inc. Method and apparatus for block prediction using variable block-size in image compression
US10368073B2 (en) 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
US10567803B2 (en) 2017-04-12 2020-02-18 Qualcomm Incorporated Midpoint prediction error diffusion for display stream compression
US10743032B2 (en) 2017-05-24 2020-08-11 Qualcomm Incorporated Substream multiplexing for display stream compression
WO2019234605A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Extended quad-tree with asymmetric sub-blocks and different tree for chroma
US10602147B2 (en) * 2018-07-10 2020-03-24 Samsung Display Co., Ltd. Efficient entropy coding group grouping methodology for transform mode
US10863179B1 (en) * 2018-09-05 2020-12-08 Amazon Technologies, Inc. Overlapped rate control for high-quality segmented video encoding
KR102239193B1 (ko) * 2019-08-08 2021-04-09 광운대학교 산학협력단 영상 압축 장치 및 영상 압축 방법
CN114342400B (zh) * 2019-09-02 2024-06-28 北京字节跳动网络技术有限公司 基于色彩格式的编解码模式确定
CN115280772A (zh) * 2020-04-08 2022-11-01 谷歌有限责任公司 有损压缩的二重标准块分割启发法
WO2023028965A1 (en) * 2021-09-02 2023-03-09 Nvidia Corporation Hardware codec accelerators for high-performance video encoding
CN116114245A (zh) 2021-09-02 2023-05-12 辉达公司 在视频编码过程中视频帧的并行处理

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080055331A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Texture compression techniques
US20110292997A1 (en) * 2009-11-06 2011-12-01 Qualcomm Incorporated Control of video encoding based on image capture parameters
CN103765886A (zh) * 2011-08-29 2014-04-30 苗太平洋控股有限公司 以amvp模式产生预测区块的方法
CN104247427A (zh) * 2011-11-11 2014-12-24 弗兰霍菲尔运输应用研究公司 使用分区编码的有效预测
CN104704833A (zh) * 2012-09-19 2015-06-10 高通股份有限公司 多视图或3维视频译码中的高级视图间残差预测

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775415B1 (en) * 1999-05-25 2004-08-10 George Mason University Fractal image compression using reinforcement learning
EP1109409A3 (en) * 1999-12-17 2011-11-30 Canon Kabushiki Kaisha Digital signal coding with division into tiles
US8718140B1 (en) * 2005-05-12 2014-05-06 Visualon, Inc. Encoding video data
US8259794B2 (en) * 2008-08-27 2012-09-04 Alexander Bronstein Method and system for encoding order and frame type selection optimization
US8494056B2 (en) * 2009-05-21 2013-07-23 Ecole De Technologie Superieure Method and system for efficient video transcoding
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US8831108B2 (en) * 2011-05-04 2014-09-09 Cavium, Inc. Low latency rate control system and method
US9807403B2 (en) * 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
CN104185988B (zh) * 2011-11-08 2019-05-10 韩国电子通信研究院 用于共享候选者列表的方法和装置
US9805442B2 (en) * 2012-10-03 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Fine-grained bit-rate control
US20140341302A1 (en) * 2013-05-15 2014-11-20 Ce Wang Slice level bit rate control for video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080055331A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Texture compression techniques
US20110292997A1 (en) * 2009-11-06 2011-12-01 Qualcomm Incorporated Control of video encoding based on image capture parameters
CN103765886A (zh) * 2011-08-29 2014-04-30 苗太平洋控股有限公司 以amvp模式产生预测区块的方法
CN104247427A (zh) * 2011-11-11 2014-12-24 弗兰霍菲尔运输应用研究公司 使用分区编码的有效预测
CN104704833A (zh) * 2012-09-19 2015-06-10 高通股份有限公司 多视图或3维视频译码中的高级视图间残差预测

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020043145A1 (en) * 2018-08-29 2020-03-05 Huawei Technologies Co., Ltd. Apparatus and method and for boundary partition
US11539953B2 (en) 2018-08-29 2022-12-27 Huawei Technologies Co., Ltd. Apparatus and method for boundary partition
WO2023197998A1 (en) * 2022-04-13 2023-10-19 Mediatek Inc. Extended block partition types for video coding

Also Published As

Publication number Publication date
WO2017048991A1 (en) 2017-03-23
EP3350991A1 (en) 2018-07-25
JP2018532317A (ja) 2018-11-01
KR20180056688A (ko) 2018-05-29
CA2996190A1 (en) 2017-03-23
US20170085886A1 (en) 2017-03-23
EP3350991B1 (en) 2021-03-10
BR112018005434A2 (pt) 2018-10-09
CN108028925B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN108028925A (zh) 用于显示流压缩(dsc)的块预测模式的可变分区大小
CN106256127B (zh) 用于针对显示流压缩(dsc)在块预测模式中译码的系统和方法
CN106416248B (zh) 用于对视频数据进行熵编码和熵解码的方法和装置
CN102474621B (zh) 视频编码中的非零舍入与预测模式选择技术
US10362310B2 (en) Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling
CN108293114A (zh) 用于显示流压缩的块预测模式的多区域搜索范围
CN106165418B (zh) 译码视频数据的设备、方法及计算机可读媒体
CN106576173B (zh) 对视频数据进行译码的方法和设备及计算机可读存储介质
CN106165421B (zh) 用于译码视频数据的设备、方法及计算机可读媒体
CN106663085A (zh) 用于再使用变换结构用于多分区变换的系统和方法
CN106664406A (zh) 用于确定用于显示流压缩的缓冲器满度的系统和方法
JP2019507530A (ja) ディスプレイストリーム圧縮(dsc)におけるひずみを計算するためのシステムおよび方法
CN106233731B (zh) 用于针对显示流压缩(dsc)在图案模式中译码的系统和方法
US20160044339A1 (en) System and method for reordering of prefixes and suffixes in variable length coding to increase throughput
JP2018525901A (ja) ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更

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