CN113810717A - 图像处理方法及装置 - Google Patents

图像处理方法及装置 Download PDF

Info

Publication number
CN113810717A
CN113810717A CN202010531794.XA CN202010531794A CN113810717A CN 113810717 A CN113810717 A CN 113810717A CN 202010531794 A CN202010531794 A CN 202010531794A CN 113810717 A CN113810717 A CN 113810717A
Authority
CN
China
Prior art keywords
bit
bits
bit string
matrix
string
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
CN202010531794.XA
Other languages
English (en)
Other versions
CN113810717B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010531794.XA priority Critical patent/CN113810717B/zh
Publication of CN113810717A publication Critical patent/CN113810717A/zh
Application granted granted Critical
Publication of CN113810717B publication Critical patent/CN113810717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本申请公开了一种图像处理方法及装置,涉及图像处理领域,该方法提高了图像的编码效率,从而节省了存储图像的存储资源,以及节省了传输图像的传输带宽。该方法应用于编码装置。该方法包括:确定待编码比特;基于待编码比特的上下文,估计待编码比特的概率分布;其中,待编码比特的上下文包括:第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的比特;其中,第二比特串用于表示第一子带中的另一个系数;根据待编码比特的概率分布,编码待编码比特,以得到待处理图像的编码信息。

Description

图像处理方法及装置
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法及装置。
背景技术
随着互联网科技的迅猛发展,以及人们物质精神文化的日益丰富,在互联网中针对图像、视频的应用需求越来越多,从而使得高清图像、高清视频的数据量越来越大。并且,人们对图像、视频质量的要求也越来越高。例如,图像的空间分辨率越来越大,视频除了空间分辨率越来越大之外,帧率也有所增加。
通过现有技术将这些图像和视频压缩编码后,在用户端或者服务器端,仍然需要大量的存储空间来存储这些压缩编码后的图像和视频。并且,高质量的图像和视频经现有方法进行压缩编码后,在带宽有限的互联网中传输时效率仍然较低。因此,如何提高图像和视频的编码效率(或称为压缩效率),从而缓解图像、视频在存储和传输上的压力,是亟待解决的技术问题。
发明内容
本申请提供了一种图像处理方法及装置,提高了图像(或视频)的编码效率,从而节省了存储图像(或视频)的存储资源,以及节省了传输图像(或视频)的传输带宽。
为达上述目的,本申请提供如下技术方案:
第一方面,本申请提供了一种图像处理方法,应用于图像处理装置。该方法包括:确定待编码比特;其中,该待编码比特是第一比特串中的任一个比特,该第一比特串是第一比特矩阵所包括的多个二进制比特串中的任一个二进制比特串,该第一比特串用于表示第一子带中的一个系数,第一比特矩阵是待处理图像经处理后得到的多个比特矩阵中的任一个比特矩阵,该第一比特矩阵是三维比特矩阵。基于所确定的待编码比特的上下文,估计待编码比特的概率分布;这里,待编码比特的上下文包括:第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的比特;其中,第二比特串用于表示第一子带中的另一个系数。根据待编码比特的概率分布,编码待编码比特,以得到待处理图像的编码信息。
通过本申请提供的方法,图像处理装置通过在待处理图像经处理后得到的多个二进制化的比特矩阵中,确定待编码比特的上下文,并基于该上下文估计待编码比特的概率分布。其中,该上下文包括与待编码比特所在比特串(即第一比特串)属于同一子带的比特串(即第二比特串)中的比特。通过这种方法,能够提高图像处理装置所估计的待编码比特的概率分布的准确度。进一步的,图像处理装置基于所估计到的、相比现有技术准确度更高的待编码比特的概率分布,对待编码比特进行编码,从而提高了编码效率。
在一种可能的实现方式中,如果上述多个二进制比特串分别用于表示不同子带中的系数,则上述第二比特串是第二比特矩阵中的二进制比特串,该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。或者,如果上述多个二进制比特串均用于表示第一子带中的系数,则第二比特串是第一比特矩阵中,位于第一比特串预设范围内的二进制比特串。
通过该可能的实现方式,若待处理图像经处理后得到的多个比特矩阵是经聚合的比特矩阵,即第一比特矩阵中的多个二进制比特串均用于表示第一子带中的系数。这样的话,则提高了图像处理装置获取待编码比特的上下文的速度,从而提高的编码速度。
在另一种可能的实现方式中,上述待编码比特的上下文还包括:第三比特串和/或第四比特串中,与待编码比特对应的预设范围内的比特。该第三比特串用于表示第二子带中的一个系数,该第四比特串用于表示第二子带中的另一个系数。其中,
如果第一比特矩阵中的多个二进制比特串分别用于表示不同子带中的系数,则第三比特串是第一比特矩阵中的二进制比特串,第四比特串是第二比特矩阵中的二进制比特串。该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。该第二子带是,位于第一比特串预设范围内的二进制比特串所对应的子带。或者,
如果第一比特矩阵中的多个二进制比特串均用于表示第一子带中的系数,即多个比特矩阵与多个子带一一对应,则第三比特串和第四比特串均是第三比特矩阵中的二进制比特串。该第三比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。该第二子带是第三比特矩阵对应的子带。
通过该可能的实现方式,若待处理图像经处理后得到的多个比特矩阵是经聚合的比特矩阵,即第一比特矩阵中的多个二进制比特串均用于表示第一子带中的系数。这样的话,则提高了图像处理装置获取待编码比特的上下文的速度,从而提高的编码速度。
在另一种可能的实现方式中,在上述“确定待编码比特”之前,上述方法还包括:获取待处理图像对应的多个二维系数块。该多个二维系数块中的每个二维系数块包括多个系数,该多个系数分别是不同子带中的系数。将多个二维系数块中的每个系数二进制化,以得到上述的多个比特矩阵。
在另一种可能的实现方式中,上述“将多个二维系数块中的每个系数二进制化”包括:按照定长的二进制化方式,将上述多个二维系数块中的每个系数二进制化。
通过该两种可能的实现方式,图像处理装置可以得到待处理图像对应的多个二进制化的比特矩阵。这样,图像处理装置才可以在该二进制化的比特矩阵中获取待编码比特的上下文,并基于该上下文估计出相比现有技术中准确度更高的待编码比特的概率分布。从而提高了编码效率。
在另一种可能的实现方式中,在上述“获取待处理图像对应的多个二维系数块”之前,上述方法还包括:获取待处理图像,该待处理图像包括图片或者视频中的图像帧。上述“获取待处理图像对应的多个二维系数块”包括:对待处理图像进行分块和变换,以得到多个二维系数块。
在另一种可能的实现方式中,上述“确定待编码比特”包括:按照预设的编码顺序,在多个比特矩阵中确定待编码比特。
在另一种可能的实现方式中,上述“基于待编码比特的上下文,估计待编码比特的概率分布”包括:基于待编码比特的上下文,通过概率估计网络估计待编码比特的概率分布。
在另一种可能的实现方式中,上述“根据待编码比特的概率分布,编码待编码比特”包括:根据待编码比特的概率分布,对待编码比特进行熵编码。
第二方面,本申请提供了一种图像处理方法,该方法应用于图像处理装置。该方法包括:确定待解码比特的位置。其中,该待解码比特是第一比特串中的任一个比特,该第一比特串是第一比特矩阵包括的多个二进制比特串中的任一个二进制比特串,该第一比特串用于表示第一子带中的一个系数,该第一比特矩阵是待处理图像对应的多个比特矩阵中的任一个比特矩阵,该第一比特矩阵是三维比特矩阵。基于待解码比特的上下文,估计该待解码比特的概率分布。这里,该待解码比特的上下文包括:第一比特串和/或第二比特串中,与待解码比特对应的预设范围内的比特。其中,第二比特串用于表示第一子带中的另一个系数。基于待解码比特的位置、待解码比特的概率分布以及待处理图像的编码信息,解码待解码比特,以得到待处理图像对应的多个比特矩阵。
在一种可能的实现方式中,如果上述多个二进制比特串分别用于表示不同子带中的系数,则第二比特串是第二比特矩阵中的二进制比特串。这里,该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。或者,如果上述多个二进制比特串均用于表示第一子带中的系数,则第二比特串是第一比特矩阵中,位于第一比特串预设范围内的二进制比特串。
在另一种可能的实现方式中,上述待解码比特的上下文还包括:第三比特串和/或第四比特串中,与待解码比特对应的预设范围内的比特。该第三比特串用于表示第二子带中的一个系数,该第四比特串用于表示第二子带中的另一个系数。其中,
如果上述多个二进制比特串分别用于表示不同子带中的系数,则第三比特串是第一比特矩阵中的二进制比特串,第四比特串是第二比特矩阵中的二进制比特串。该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。该第二子带是,位于第一比特串预设范围内的二进制比特串所对应的子带。或者,
如果上述多个二进制比特串均用于表示第一子带中的系数,即多个比特矩阵与多个子带一一对应,则第三比特串和第四比特串均是第三比特矩阵中的二进制比特串。该第三比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。该第二子带是第三比特矩阵对应的子带。
在另一种可能的实现方式中,上述方法还包括:将解码得到的多个比特矩阵中的二进制比特串逆二进制化,得到该多个比特矩阵对应的多个二维系数块。其中,该多个二维系数块中的每个二维系数块包括多个系数,该多个系数分别是不同子带中的系数。对该多个二维系数块逆变换,得到待处理图像。其中,该待处理图像包括图片或者视频中的图像帧。
在另一种可能的实现方式中,上述“将解码得到的多个比特矩阵中的二进制比特串逆二进制化”包括:按照定长的逆二进制化方式,将解码得到的多个比特矩阵中的二进制比特串逆二进制化。
在另一种可能的实现方式中,上述“确定待解码比特的位置”包括:按照预设的解码顺序,在待处理图像对应的多个比特矩阵中确定待解码比特的位置。
在另一种可能的实现方式中,上述“基于待解码比特的上下文,估计待解码比特的概率分布”包括:基于待解码比特的上下文,通过概率估计网络估计待解码比特的概率分布。
在另一种可能的实现方式中,上述“基于待解码比特的位置、待解码比特的概率分布以及待处理图像的编码信息,解码待解码比特”包括:基于待解码比特的位置、待解码比特的概率分布以及待处理图像的编码信息,对待解码比特进行熵解码。
以上第二方面及其任一种可能的实现方式的有益效果,均可以参考第一方面及其任一种可能的实现方式的有益效果的描述,这里不再赘述。
第三方面,本申请提供了一种图像处理装置。
在一种可能的设计方式中,该图像处理装置用于执行上述第一方面或第二方面提供的任一种方法。本申请可以根据上述第一方面或二方面提供的任一种方法,对该图像处理装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。示例性的,本申请可以按照功能将该图像处理装置划分为确定单元、估计单元以及编码单元等,或者,本申请可以按照功能将该图像处理装置划分为确定单元、估计单元以及解码单元等。上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第一方面或其相应的可能的设计提供的技术方案,或者可以参考上述第二方面或其相应的可能的设计提供的技术方案,此处不再赘述。
在另一种可能的设计中,该图像处理装置包括:存储器和一个或多个处理器,存储器和处理器耦合。存储器用于存储计算机指令,处理器用于调用该计算机指令,以执行如第一方面及其任一种可能的设计方式提供的任一种方法,或者,执行如第二方面及其任一种可能的设计方式提供的任一种方法。
第四方面,本申请提供了一种计算机可读存储介质,如计算机非瞬态的可读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在图像处理装置上运行时,使得该图像处理装置执行上述第一方面中或第二方面中的任一种可能的实现方式提供的任一种方法。
第五方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有根据上述第一方面中的任一种可能的实现方式提供的任一种图像处理方法所获得的编码信息。
第六方面,本申请提供了一种计算机程序产品,当其在图像处理装置上运行时,使得第一方面中或第二方面中的任一种可能的实现方式提供的任一种方法被执行。
第七方面,本申请提供了一种芯片***,包括:处理器,处理器用于从存储器中调用并运行该存储器中存储的计算机程序,执行第一方面中或第二方面中的实现方式提供的任一种方法。
可以理解的是,上述提供的任一种装置、计算机存储介质、计算机程序产品或芯片***等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
在本申请中,上述图像处理装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种图像处理***的示意图;
图2为本申请实施例提供的图像编码装置和图像解码装置应用于终端设备的示意图;
图3为本申请实施例提供的一种图像处理装置的硬件结构图;
图4为本申请实施例提供的一种图像处理方法的流程示意图一;
图5为本申请实施例提供的一种图像分块的示意图;
图6为本申请实施例提供的一种二维系数块的示意图;
图7为本申请实施例提供的三维比特矩阵的示意图;
图8为本申请实施例提供的一种多个比特矩阵的编码顺序示意图;
图9为本申请实施例提供的二进制比特串的示意图;
图10为本申请实施例提供的第一比特矩阵的预设范围的示意图;
图11为本申请实施例提供的一种上下文模型的示意图一;
图12为本申请实施例提供的第一比特串的预设范围的的示意图;
图13a为本申请实施例提供的一种上下文模型的示意图二;
图13b为本申请实施例提供的一种估计待编码比特的概率分布的示意图一;
图13c为本申请实施例提供的一种估计待编码比特的概率分布的示意图二;
图14为本申请实施例提供的一种子带聚合方法的示意图;
图15为本申请实施例提供的一种图像处理方法的流程示意图二;
图16为本申请实施例提供的一种图像处理装置的结构示意图一;
图17为本申请实施例提供的一种图像处理装置的结构示意图二;
图18为本申请实施例提供的一种芯片***的结构示意图;
图19为本申请实施例提供的计算机程序产品的结构示意图。
具体实施方式
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“***”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
本申请实施例提供一种图像处理方法,该方法可以用于提高图像的编码效率,从而减少存储图像(或视频)所耗费的存储资源,以及减少传输图像(或视频)所耗费的传输带宽。其中,该图像处理方法可以包括图像编码方法和图像解码方法。
本申请实施例还提供一种图像处理装置,该图像处理装置可以包括图像编码装置和图像解码装置。该图像编码装置可以用于执行上述的图像编码方法,该图像解码装置可以用于执行上述的图像解码方法。
参考图1,本申请实施例还提供一种图像处理***10。如图1所示,图像处理***10包括图像编码装置101和图像解码装置102。图像编码装置101用于对待处理图像对应的比特矩阵进行编码,以得到编码码流(也可以称为压缩码流或比特流)。该编码码流可以通过有线或无线的传输方式,从图像编码装置101传输到图像解码装置102。图像解码装置102用于对接收到的编码码流进行解码,以得到待处理图像对应的比特矩阵,并基于该比特矩阵还原该待处理图像。其中,待处理图像对应的比特矩阵的有关描述请参看下文,这里不作赘述。
上述的图像编码装置和图像解码装置,可以应用于终端设备,该终端设备可以是手机、平板电脑、可穿戴电子设备等便携式设备,也可以是车载设备、智能机器人等设备,还可以是个人计算机(personal computer,PC)、个人数字助理(personal digitalassistant,PDA)、上网本、服务器等计算设备,对此不作限定。
上述的图像编码装置和图像解码装置,还可以应用于有图像转码需求的无线设备或核心网设备等。
示例性的,本申请实施例提供的图像编码装置可以是上述终端设备、无线设备或者核心网设备中的图像编码器。本申请实施例提供的图像解码装置可以是上述终端设备、该无线设备或者核心网设备中的图像解码器。对此不作限定。
在本申请实施例中,将部署有图像编码装置的终端设备、无线设备或者核心网设备,称为编码端设备。将部署有图像解码装置的终端设备、无线设备或者核心网设备,称为解码端设备。可以理解,编码端设备和解码端设备可以是同一个设备,也可以是不同的设备,对此不作限定。
应理解,上述的编码端设备还可以包括信道编码装置(例如信道编码器),上述的解码端设备还可以包括信道解码装置(例如信道解码器),对此不作限定。其中,信道编码装置可以用于对图像信号进行信道编码,信道解码装置可以用于对图像信号进行信道解码。
参考图2,图2为本申请实施例提供的图像编码装置和图像解码装置应用于终端设备的示意图。如图2所示,第一终端设备20可以包括:图像编码装置201和信道编码装置202。第二终端设备21可以包括:图像解码装置211和信道解码装置212。第一终端设备20连接无线或者有线的第一网络通信设备22,第一网络通信设备22和无线或者有线的第二网络通信设备23之间通过数字信道连接,第二终端设备21连接无线或者有线的第二网络通信设备23。其中,上述无线或者有线的网络通信设备可以泛指信号传输设备,例如通信基站,数据交换设备等,对此不做具体限定。
参考图3,本申请实施例提供一种图像处理装置30的硬件结构图。其中,图像处理装置30可以是上述的图像编码装置,也可以是上述的图像解码装置。如图3所示,图像处理装置30包括处理器301、存储器302、通信接口303以及总线304。处理器301、存储器302以及通信接口303之间可以通过总线304连接。
处理器301是图像处理装置30的控制中心,可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为示例,处理器301可以包括一个或多个CPU,例如图3中所示的CPU 0和CPU 1。
存储器302可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器302可以独立于处理器301存在。存储器302可以通过总线304与处理器301相连接,用于存储数据、指令或者程序代码。处理器301调用并执行存储器302中存储的指令或程序代码时,能够实现本申请实施例提供的图像处理方法。
另一种可能的实现方式中,存储器302也可以和处理器301集成在一起。
通信接口303,用于图像处理装置30与其他设备(如图2中的无线或有限的第一网络通信设备等)通过通信网络连接,所述通信网络可以是以太网,无线接入网(radioaccess network,RAN),无线局域网(wireless local area networks,WLAN)等。通信接口303可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线304,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图3中示出的结构并不构成对该图像处理装置的限定,除图3所示部件之外,该图像处理装置30可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合附图,对本申请实施例提供的图像处理方法进行说明。
请参考图4,图4示出了本申请实施例提供的一种图像处理方法的流程图,该方法可以应用于图像处理装置中的图像编码装置。为便于描述,下文中将图像编码装置简写为编码装置。该方法可以包括:
S101、获取待处理图像。
其中,待处理图像可以整幅的原始图像,也可以是整幅原始图像中的一个矩形区域,或者是整幅原始图像中的其它形状的区域,对此不作限定。
可选的,编码装置可以从本地或网络上获取图片,并将获取到的图片作为上述原始图片,或者,编码装置从本地或网络上获取视频,并将该视频中的图像帧作为上述原始图像,对此不作限定。
可以看出,当编码装置连续对视频中的图像帧进行编码,即实现了对该视频的编码。
S102(可选的)、将待处理图像划分为多个图像块。
编码装置可以根据预置的图像分块规则,将待处理图像划分为多个图像块。
可选的,编码装置可以按照预设的尺寸大小,将待处理图像平均的划分为多个图像块。例如,编码装置以尺寸M*N,将待处理图像平均的划分为T*S个图像块。其中,M、N、T、S均是正整数,M和N的取值可以相同,也可以不同。可以看出,当T和S的取值均为1时,待处理图像的尺寸即为M*N,即待处理图像无需再分块。
如图5所示,以T是2,S是4,M和N均是4为例。若图5中的图像50是待处理图像,且图像50的尺寸为8*16。则解码装置可以将图像50以4*4大小,平均的划分为2*4个图像块,该2*4个图像块中的任一个图像块501的尺寸均为4*4。
可以理解的是,本申请实施例中的图像块,可以是编码装置通过对待处理图像进行分块得到的,也可以是其他图像处理装置(或其他图像处理设备)将待处理图像划分为图像块后,传输给编码装置的,对此不作限定。其中,图像块也可以称为子图像,或者子图像块等。
S103、获取上述多个图像块对应的多个二维系数块。
其中,该多个二维系数块中的任一个二维系数块,包括多个系数。一个二维系数块中的每个位置可以代表不同的子频带(本申请实施例下文中将“子频带”简称为“子带”)。对于一个二维系数块而言,该二维系数块所包括的多个系数分别是不同子带中的系数,即,该多个系数和多个子带一一对应。例如,若一个二维系数块包括D*K个系数,则该D*K个系数是分别是D*K个不同子带中的系数,D*K个系数和D*K个子带一一对应。其中,D和K均为正整数。应理解,若第一子带是D*K个子带中的任一个子带,则该多个二维系数块中均包括一个第一子带中的系数。
示例性的,参考图6,图6示出了二维系数块60的示意图。其中,二维系数块60包括4*4个系数,该4*4个系数可以是4*4个子带(共计16个子带)中的系数。例如,系数y(0,0)可以是子带f1中的系数、系数y(0,3)可以是子带f4中的系数、系数y(3,0)可以是子带f13中的系数、系数y(3,3)可以是子带f16中的系数,等等。在该4*4个系数中,每个系数可以对应一个子带,即4*4个系数对应4*4个子带。
具体的,在一种可能的实现方式中,编码装置可以对上述多个图像块分别进行变换,从而得到多个二维系数块。其中,对于多个图像块中的任一个图像块而言,编码装置对该图像块进行变换,可以得到一个二维系数块。即一个图像块对应一个二维系数块。
在另一种可能的实现方式中,编码装置可以对上述多个图像块对应的残差块分别进行变换,从而得到多个二维系数块。
具体的,对于上述多个图像块中得到任一个图像块而言,编码装置可以对该图像块进行预测,以得到该图像块对应的预测块。接着,编码装置通过计算该图像块和该预测块之间的差值,从而确定出该图像块对应的残差块。即一个图像块对应一个残差块,本申请实施例对编码装置根据上述多个图像块,得到对应的预测块,以及根据图像块和预测块确定残差块的具体过程,这里不予赘述。
然后,编码装置对确定出的多个残差块进行变换,从而得到多个二维系数块。其中,对于该多个残差块中的任一个残差块而言,编码装置对该残差块进行变换,可以得到一个二维系数块。即一个残差块对应一个二维系数块。
作为示例,下面以编码装置对上述多个图像块分别进行离散余弦变换(discretecosine transform,DCT)变换,从而得到多个二维系数块的过程进行说明。
具体的,编码装置可以根据上述多个图像块中每个图像块的尺寸,对该多个图像块分别进行相应大小的DCT变换,从而得到多个相应大小的二维系数块。
例如,若多个图像块中每个图像块的尺寸是4*4,则编码装置可以对该多个图像块分别进行4*4的DCT变换,从而得到多个4*4大小的二维系数块。
示例性的,编码装置可以根据以下公式(1),将一个4*4大小的图像块X进行4*4的DCT变换,从而得到一个4*4大小的变换系数矩阵Y,即上述的二维系数块。
公式(1):
Figure BDA0002535689830000091
其中,A和AT是DCT变换的系数,且A和AT互为逆矩阵,a、b、c分别为A和AT中的系数。y(0,0)到y(3,3)表示变换系数矩阵Y中的16个系数,该16个系数是16个子带中的系数,即每个系数对应一个子带,16个系数对应16个不同的子带。
可以看出,4*4大小的图像块,经变换后,可以得到一个包括4*4个系数的二维系数块。因此,若待处理图像对应的多个图像块中的每个图像块的尺寸均为M*N,则编码装置对该多个图像块进行变换后,得到的多个二维系数块中的每个二维系数块,均包括M*N个系数。
可以看出,编码装置通过对图像块或者残差块进行变换后,即将图像块的信息或者残差块的信息从空间域变换到频域,并通过频域中不同子带和不同子带中的系数,表示图像块的信息或者残差块的信息。
可以理解的是,在本申请实施例中,上述的多个二维系数块,可以是编码装置通过对图像块或残差块进行变换后得到的,也可以是其他图像处理装置(或其他图像处理设备)对图形块或残差块进行变换后得到多个二维系数块,然后传输给编码装置的,对此不作限定。
S104、将上述获取的多个二维系数块中的每个系数二进制化,以得到多个比特矩阵。
具体的,编码装置可以按照预设的二进制化方式,将所获取的多个二维系数块中的每个系数二进制化,以得到多个比特矩阵。
可选的,编码装置可以按照定长的二进制化方式,将所获取的多个二维系数块中的每个系数二进制化,以得到多个比特矩阵。
其中,该多个比特矩阵中的任一个比特矩阵(例如本申请实施例中的第一比特矩阵)是三维比特矩阵,第一比特矩阵中包括多个用于表示二维系数块中多个系数的二进制比特串(为简化描述,下文将“二进制比特串”简称为“比特串”)。
作为示例,编码装置可以将所获取的多个二维系数块中的每个系数,二进制化为包括8个比特的比特串。参考图6,若系数y(0,0)的值为1,则可以将系数y(0,0)二进制化为0000 0001的比特串,即用比特串0000 0001表示系数y(0,0)。若系数y(0,3)的值为128,则可以将系数y(0,3)二进制化为1000 0000的比特串,即用比特串1000 0000表示系数y(0,3)。若系数y(3,3)的值为255,则可以将系数y(3,3)二进制化为1111 1111的比特串,即用比特串1111 1111表示系数y(3,3)。
为了更清楚的理解本申请实施例中的比特矩阵,现以编码装置对一个包括4*4个系数的的二维系数块中的每个系数进行二进制化后,得到的比特矩阵为例进行说明。参考图7,图7示出了图6中包括4*4个系数的二维系数块60中的每个系数,经8位定长二进制化后,所得到的比特矩阵72的示意图。
如图7所示,编码装置将二维系数块60中的每个系数按照8位定长进行二进制化,即以包括8个比特(图7中以黑点表示比特)的比特串表示一个系数。作为示例,二维系数块60中的系数y(3,0)可以用比特串73中的8个比特表示,二维系数块60中的系数y(0,3)可以用比特串74中的8个比特表示。这样,二维系数块60中的16个系数可以对应16个比特串,该16个比特串即构成了如图7中的所示的比特矩阵72,该比特矩阵72包括4*4*8(即128)个比特。
可以看出,若二维系数块包括M*N个系数,编码装置以P位定长二进制化该二维系数块时,所得到的比特矩阵中包括长度为P、数量为M*N的比特串。其中,P是正整数。
在本申请实施例中,将多个比特串中的相同位置,称为一个比特平面(bitplane)。因此,多个比特串中位于相同位置的比特,是同一个比特平面的比特。例如,若多个比特串中的每个比特串,均包括P个比特,则该多个比特串中,每个比特串中的第p个的比特,是同一个比特平面的比特。其中,p是正整数,且1≤p≤P。
示例性的,如图7所示,平面75示意性的示出了比特矩阵72中的一个比特平面75。比特平面75中,包括有比特矩阵72中的16个比特串中处于第三位的比特。例如,比特串73中处于第三位的比特731,比特串74中处于第三位的比特741。
另外,需要说明的是,由上述描述可知,对于上述多个二维系数块中的任一个二维系数块而言,该二维系数块所包括的多个系数分别是不同子带中的系数,即该多个系数与多个子带一一对应,并且,该多个二维系数块中均包括一个第一子带中的系数。
因此,在一种情况下,编码装置可以对该多个二维系数块直接经进行二进制化,以得到多个比特矩阵。对于该多个比特矩阵中的任一个比特矩阵(例如第一比特矩阵)而言,第一比特矩阵中包括多个用于表示不同子带中系数的比特串。即对于第一比特矩阵来说,第一比特矩阵所包括的多个二进制比特串,分别用于表示不同子带中的系数。例如,若用于得到第一比特矩阵的二维系数块中包括M*N个系数,该M*N个系数分别是M*N个子带中的系数,即该M*N个系数与M*N个子带一一对应。那么,该第一比特矩阵中则包括M*N个比特串,该M*N个比特串分别用于表示M*N个子带中的系数。例如,参考图7,比特串73可以用于表示子带f13中的系数y(3,0),比特串74可以用于表示子带f4中的系数y(0,3)。也就是说,第一比特矩阵中的多个比特串,与多个子带一一对应。此外,包括第一比特矩阵的上述多个比特矩阵中,均包括用于表示第一子带中系数的比特串。
在另一种情况下,编码装置可以在对该多个二维系数块进行二进制化前,对该多个二维系数块进行子带聚合,以使得一个二维系数块中所包括的多个系数均是一个子带中的系数,不同的二维系数块中的系数是不同子带中的系数。然后,编码装置对经聚合处理的多个二维系数块进行二进制化,以得到多个比特矩阵。对于该多个比特矩阵中的任一个比特矩阵(例如第一比特矩阵)而言,第一比特矩阵中包括多个用于表示同一个子带(例如第一子带)中系数的比特串,不同的比特矩阵中的比特串,用于表示不同子带中的系数。即,一个比特矩阵对应一个子带,多个比特矩阵与多个子带一一对应。
或者,编码装置对该多个二维系数块进行二进制化后,得到多个初始比特矩阵。然后,编码装置可以对该多个初始比特矩阵进行子带聚合,以使得聚合后的一个比特矩阵(例如第一比特矩阵)中包括多个用于表示同一个子带(例如第一子带)中系数的比特串。不同的比特矩阵中的比特串,用于表示不同子带子带中的系数。即,一个比特矩阵对应一个子带,多个比特矩阵与多个子带一一对应的。
具体的,编码装置对上述多个二维系数块进行子带聚合,以及,对上述多个初始比特矩阵进行子带聚合的具体过程,可以参考下文,这里不予赘述。
S105、按照预设的编码顺序,在上述多个比特矩阵中确定待编码比特。
具体的,对于多个比特矩阵而言,该多个比特矩阵的编码顺序可以是:按照之字(zig-zag)顺序编码该多个比特矩阵,或者,按照其他顺序编码该多个比特矩阵,例如逐行编码、逐列编码、对角编码、水平反向编码以及垂直反向编码等顺序编码该多个比特矩阵。
参考图8,图8示例性的示出了多个比特矩阵的编码顺序示意图。如图8所示,图8示出了4*4个比特矩阵的俯视图,其中每个小正方形表示一个比特矩阵的俯视图。如图8中的(a)所示,编码装置可以从图8中的(a)所示的比特矩阵81或比特矩阵82开始,按照图8中的(a)所示出的加粗黑线示意的之字轨迹,依次编码该4*4个比特矩阵。或者,编码装置可以从图8中的(b)所示比特矩阵81或比特矩阵82开始,按照图8中的(a)所示出的加粗黑线示意的逐行轨迹,依次编码该4*4个比特矩阵。
对于不同比特串而言,该不同比特串的编码顺序可以是:按照每个比特串所表示系数对应的子带的频率高低,来编码不同的比特串。例如先编码用于表示低频率子带中系数的比特串,再编码用于表示次低频率子带中系数的比特串等,对比不作限定。
对于单个比特串而言,该单个比特串的编码顺序可以是:按照一个比特串中每个比特所处位置,来编码比特串中的比特。例如,先编码比特串中最低位的比特,再编码比特串中的次低位的比特等。或者,先编码比特串中最高位的比特,再编码比特串中次高位的比特等。本申请实施例对此不作限定。
参考图9,图9所示的比特串90包括8个比特。其中,比特串90中最低位的比特是bit0,比特串90中次低位的比特是bit 1,以此类推,比特串90中最高位的比特是bit 7。因此,当编码装置编码该比特串90时,可以先编码最低位的bit 0,并依次从低位至高位,对比特串90中的比特逐个进行编码。当然,编码装置也可以先编码最高位的bit 7,并依次从高位至低位,对比特串90中的比特逐个进行编码。对此不作限定。
基于上述多个比特矩阵的编码顺序,不同比特串的编码顺序,以及单个比特串的编码顺序,下面示例性的列举几种本申请实施例用于编码多个比特矩阵中的每个比特的预设编码顺序。
一种可能的预设编码顺序为:在多个比特矩阵中,编码装置从第一个比特矩阵(如比特矩阵1)开始,在比特矩阵1中确定频率最低的子带对应的比特串11,并编码比特串11中最低位的比特11。接着,编码装置按照多个比特矩阵的编码顺序(例如之子编码、逐行编码、逐列编码等),确定下一个待编码的比特矩阵2,并在比特矩阵2中确定频率最低的子带对应的比特串21,并在比特串21中编码最低位的比特21。以此类推,在编码装置编码完所有比特矩阵中频率最低的子带对应的比特串中最低位的比特后,编码装置编码比特矩阵1中,频率最低的子带对应的比特串11中次低位的比特12,然后编码比特矩阵2中频率最低的子带对应的比特串11中次低位的比特22。这样,编码装置逐个编码完所有比特矩阵中频率最低的子带对应的比特串中次低位的比特。以此类推,当编码装置编码完所有比特矩阵中频率最低的子带对应的比特串中的所有比特,则开始编码比特矩阵1中,频率次低的子带对应的比特串12中的比特。这样,直到编码装置编码完所有比特矩阵中全部子带对应的比特串中的所有比特为止。
另一种可能的预设编码顺序为:编码装置从第一个比特矩阵(如比特矩阵1)开始,在比特矩阵1中确定频率最低的子带对应的比特串11,并编码比特串11中最低位的比特11,然后编码比特串11中次低位的比特12。以此类推,在编码装置编码完比特串11中的所有比特后,编码装置按照多个比特矩阵的编码顺序(例如之子编码、逐行编码、逐列编码等),确定下一个待编码的比特矩阵2,并在比特矩阵2中确定频率最低的子带对应的比特串21中,编码比特串21中编码最低位的比特21,然后编码比特串中次低位的比特22。以此类推,直到编码装置编码完比特串21中的所有比特。这样,编码装置逐个编码完所有比特矩阵中频率最低的子带对应比特串中的所有比特。以此类推,当编码装置编码完所有比特矩阵中频率最低的子带对应比特串中的所有比特后,编码装置编码比特矩阵1中频率次低的子带对应的比特串中的比特,然后编码比特矩阵2中频率次低的子带对应的比特串中的比特,等等,直到编码装置编码完所有比特矩阵中全部子带对应的比特串中的所有比特为止。
又一种可能的预设编码顺序为:编码装置从第一个比特矩阵(如比特矩阵1)开始,在比特矩阵1中确定频率最低的子带对应的比特串11,并编码比特串11中最低位的比特11,然后编码比特串11中次低位的比特12,直到编码装置编码完比特串11中的所有比特。接着,编码装置在比特矩阵1中确定频率次低的子带对应的比特串12,并编码比特串12中最低位的比特11,然后编码比特串12中次低位的比特12,直到编码装置编码完比特串12中的所有比特。以此类推,编码装置编码完比特矩阵1中的所有比特后,按照多个比特矩阵的编码顺序(例如之子编码、逐行编码、逐列编码等),确定下一个待编码的比特矩阵2,并编码比特矩阵2中的所有比特,直到编码装置编码完所有比特矩阵中全部子带对应的比特串中的所有比特为止。
需要说明的是,以上几种可能的预设编码顺序仅为示例性说明,并不构成对本申请实施例中预设编码顺序的限定。
基于上述预设的编码顺序,编码装置在S104中确定的多个比特矩阵中,确定当前的待编码比特。为方便描述,下文中以编码装置所确定的待编码比特,是上述第一比特矩阵中第一比特串中的任一个比特,该第一比特串用于表示第一子带中的一个系数,第一比特矩阵是上述多个比特矩阵中的任一个比特矩阵。
S106、获取待编码比特的上下文。
具体的,待编码比特的上下文可以包括:上述第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的比特。这里,第二比特串用于表示第一子带中的另一个系数。
可以理解的是,待编码比特的上下文可以是第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的所有比特,也可以是第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的部分比特,对此不作限定。
若待编码比特的上下文,是第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的部分比特,则编码装置可以直接确定待编码比特的上下文所包括的每个比特的位置,而无需通过待编码比特对应的预设范围确定上下文中每个比特的位置。
对于第一比特串而言,与待编码比特对应的预设范围,可以是与待编码比特所处位置相距预设距离的范围。对于第二比特串而言,与待编码比特对应的预设范围,可以是基于与待编码比特同处一个比特平面的比特位置,并与该位置相距预设距离的范围。
可选的,上述的预设距离可以通过比特的数量来衡量。作为示例,与待编码比特所处位置相距预设距离的位置,可以是与待编码比特所处位置相距j个比特的位置。这样,与待编码比特所处位置相距预设距离的范围,即表示,与待编码比特所处位置相距j个比特的位置,和待编码比特所处位置之间的范围。其中,j是正整数。这样,待编码比特对应的预设范围内的比特,即表示,与待编码比特所处位置相距j个比特的位置,和待编码比特所处位置之间的所包括的比特。
示例性的,下面以第一比特串中,与待编码比特对应的预设范围为例进行说明。
第一比特串中与待编码比特对应的预设范围,可以是以待编码比特所处位置为中心,两侧各相距预设距离的范围。或者,第一比特串中与待编码比特对应的预设范围,可以是以待编码比特所处位置为端点,并与待编码比特所处位置相距预设距离的范围,对此不作限定。其中,在上述预设范围不超出一个比特矩阵的前提下,本申请实施例对该预设距离的取值不作具体限定。
参考图9,图9中的(a)示出了第一比特串中与待编码比特对应的预设范围,是以待编码比特所处位置为中心,两侧各相距预设距离的范围的示意图。如图9中的(a)所示,比特串90是第一比特串,待编码比特是比特串90中的bit 4,则与待编码比特对应的预设范围可以是以bit 4所处位置为中心,向上与bit 4所处位置相距L1,以及向下与bit 4所处位置相距L2的范围。如图9中的(a)所示,在该范围内,包括bit 3和bit 5。则bit 3和bit 5即为比特串90中,待编码比特bit 4的上下文比特。可以理解的是,这里的L1和L2的取值可以相同,也可以不同,对此不作限定。
参考图9,图9中的(b)示出了第一比特串中与待编码比特对应的预设范围,是以待编码比特所处位置为端点,并与待编码比特所处位置相距预设距离的范围的示意图。如图9中的(b)所示,比特串90是第一比特串,待编码比特是比特串90中的bit 4,则与待编码比特对应的预设范围可以是以bit 4所处位置为端点,向下与bit 4所处位置相距L3的范围。如图9中的(b)所示,在该范围内,包括bit 5和bit 6。则bit 5和bit 6即为比特串90中,待编码比特bit 4的上下文比特。当然,与待编码比特对应的预设范围也可以是以bit 4所处位置为端点,向上与bit 4所处位置相距L3的范围,对此不作限定。
在第一种情况下,如果第一比特矩阵中的多个比特串分别用于表示不同子带中的系数,则上述第二比特串是第二比特矩阵中的比特串,且该第二比特矩阵是上述多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。
其中,在上述多个比特矩阵中,位于第一比特矩阵预设范围内的比特矩阵,可以包括与第一比特矩阵相邻的比特矩阵,或者,可以包括与第一比特矩阵之间的距离小于预设距离的比特矩阵,或者,可以包括以第一比特矩阵为基点的预设区域内的比特矩阵,对此不作限定。容易理解,位于第一比特矩阵预设范围内的比特矩阵的数量为至少一个。因此,上述第二比特矩阵可以是一个,也可以是多个。相应的,第二比特串可以是一个比特串,也可以是多个比特串。
可选的,上述描述的第一比特矩阵之间的距离,可以用比特矩阵的数量来衡量。作为示例,与第一比特矩阵相距预设距离的比特矩阵,可以是与第一比特矩阵之间相隔q个比特矩阵的比特矩阵。这样,与第一比特矩阵之间的距离小于预设距离的比特矩阵,即表示,与第一比特矩阵相距预设距离的比特矩阵,和第一比特矩阵之间所相隔的q个比特矩阵。其中,q是正整数。
参考图10,图10示出了第一比特矩阵的预设范围是以第一比特矩阵为基点的预设区域的示意图。如图10所示,图10示出了4*4个比特矩阵的俯视图,其中每个小正方形用于表示一个比特矩阵的俯视图。如图10中的(a)所示,若比特矩阵101是第一比特矩阵,则在该4*4个比特矩阵中,虚线框区域1001表示第一比特矩阵的预设范围。可以看出,第一比特矩阵的预设范围内包括比特矩阵102、比特矩阵103、比特矩阵104、比特矩阵105、比特矩阵106、比特矩阵107、比特矩阵108以及比特矩阵109,共计8个比特矩阵。或者,如图10中的(b)所示,若比特矩阵101是第一比特矩阵,则在该4*4个比特矩阵中,虚线框区域1002表示第一比特矩阵的预设范围,这时,第一比特矩阵的预设范围内包括比特矩阵102、比特矩阵103、比特矩阵104、比特矩阵105、比特矩阵106、比特矩阵107、比特矩阵108、比特矩阵109、比特矩阵110、比特矩阵111以比特矩阵112,共计11个比特矩阵。因此,第二比特矩阵可以是该8个比特矩阵中或该11个比特矩阵的任意一个,或者,该8个比特矩阵或该11个比特矩阵均是第二比特矩阵。
可以理解的是,当从第一比特矩阵预设范围内的比特矩阵中,将用于表示第一子带的比特串中位于与待编码比特对应的预设范围内的比特提取出来,可以构成一个待编码比特的上下文模型。
参考图11,图11示出了待编码比特1111的上下文模型110的示意图。其中,比特串111表示第一比特串中位于与待编码比特对应的预设范围内的比特串。上下文模型110中除比特串111之外的比特串,均为第二比特串中位于与待编码比特对应的预设范围内的比特串。可以看出,上下文模型110包括8个第二比特串,可见,第二比特矩阵的数量也为8。
在第二种情况下,如果第一比特矩阵中的多个二进制比特串均用于表示第一子带中的系数,则上述第二比特串是第一比特矩阵中不同于第一比特串的一个比特串。并且,该第二比特串是第一比特矩阵中,位于第一比特串预设范围内的比特串。
其中,在第一比特矩阵中,位于第一比特串预设范围内的比特串,可以包括与第一比特串相邻的比特串,或者,可以包括与第一比特串之间的距离小于预设距离的比特串,或者,可以包括以第一比特串为基点的预设区域内的比特串,对此不作限定。容易理解,位于第一比特串预设范围内的比特串的数量为至少一个。因此,第二比特串可以是一个比特串,也可以是多个比特串。
可选的,上述描述的第一比特串之间的距离,可以用比特串的数量来衡量。作为示例,与第一比特串相距预设距离的比特串,可以是与第一比特串之间相隔r个比特串的比特串。这样,与第一比特串之间的距离小于预设距离的比特串,即表示,与第一比特串相距预设距离的比特串,和第一比特串之间所相隔的r个比特串。其中,r是正整数。
作为示例,参考图12,图12示出了在第一比特矩阵中,第一比特串的预设范围是以第一比特串为基点的预设区域的示意图。如图12所示,图12示出了包括4*4个比特串的第一比特矩阵120的俯视图,其中每个圆点表示一个比特串的俯视图。如图12中的(a)所示,若比特串1201(以空心圆点示出)是第一比特串,则在第一比特矩阵120中,虚线框区域121表示第一比特串的预设范围。可以看出,第一比特串的预设范围内包括除第一比特串之外的8个比特串(以实心圆点示出)。或者,如图12中的(b)所示,若比特串1201是第一比特串,则在第一比特矩阵120中,虚线框区域122表示第一比特串的预设范围,这时,第一比特串的预设范围内包括除第一比特串之外的11个比特矩阵。因此,第二比特串可以是该8个比特串中或该11个比特串的任意一个,或者,该8个比特串或该11个比特串均是第二比特串。
可见,在第一比特矩阵中,第一比特串预设范围内的比特串中位于与待编码比特对应的预设范围内的比特,可以构成一个待编码比特的上下文模型。
参考图13a,图13a示出了在第一比特矩阵130中,待编码比特1311的上下文模型131的示意图。其中,比特串1322包括待编码比特1311所在的第一比特串中,位于与待编码比特对应的预设范围内的比特。上下文模型131还包括位于第一比特串预设范围内的8个第二比特串中,位于与待编码比特对应的预设范围内的比特,如图13a所示。可以看出,上下文模型131的长宽高,可以小于或等于第一比特矩阵的长宽高。
可选的,待编码比特的上下文除包括上述描述的上下文外,还可以包括:第三比特串和/或第四比特串中,与待编码比特对应的预设范围内的比特。其中,第三比特串用于表示第二子带中的一个系数,第四比特串用于表示第二子带中的另一个系数。这里,第二子带是不同于第一子带的一个子频带。
其中,第三比特串和/或第四比特串中,与待编码比特对应的预设范围内的比特的说明,可以参考上文中,第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的比特的说明,这里不再赘述。
在第一种情况下,如果第一比特矩阵中的多个二进制比特串分别用于表示不同子带中的系数,则上述第三比特串是第一比特矩阵中的比特串,第四比特串是上述第二比特矩阵中的比特串。其中,第二比特矩阵是上述多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。第二子带是,位于第一比特串的预设范围内的比特串所对应的子带。
其中,第二比特矩阵是上述多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵,可以参考上文中,第二比特矩阵是上述多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵的相关描述,这里不再赘述。
位于第一比特串的预设范围内比特串的说明,可以参考上文中,第二比特串是第一比特矩阵中,位于第一比特串预设范围内的比特串的相关描述,这里不再赘述。
在第二种情况下,如果第一比特矩阵中的多个二进制比特串均用于表示所述第一子带中的系数,即第一比特矩阵与第一子带对应,则上述第三比特串和上述第四比特串均是第三比特矩阵中的比特串。其中,第三比特矩阵是上述多个比特矩阵中,位于第一比特矩阵的预设范围内的比特矩阵,第二子带是第三比特矩阵所对应的子带。
其中,第三比特矩阵是上述多个比特矩阵中,位于第一比特矩阵的预设范围内的比特矩阵的说明,可以参考上文中,第二比特矩阵是上述多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵的相关描述,这里不再赘述。
S107、基于待编码比特的上下文,估计待编码比特的概率分布。
编码装置获取到待编码比特的上下文后,基于该上下文,通过概率估计网络(或概率估计模型、概率估计模块等)估计该待编码比特的概率分布。
在上述上下文中,可以包括已编码比特,还可以包括未编码比特。如果该上下文中包括未编码比特,则编码装置为未编码比特设置默认值,即,编码装置对未编码比特做设置默认值处理。其中,该默认值例如可以是“0”,或者可以是“1”,对此不作限定。
作为示例,请参考图11,在图11所示的上下文模型110中,空心椭圆可以表示已编码比特,实心正圆可以表示未编码比特,对于图11中示出的4个未编码比特,编码装置可以将该4个未编码比特均设置为“0”。
然后,编码装置将处理过未编码比特的待编码比特的上下文,输入概率估计网络(或概率估计模型、概率估计模块等),以估计出当前待编码比特的概率分布。其中,用于估计待编码比特概率分布的待编码比特的上下文,包括已编码比特的值,以及编码装置为未编码比特设置的默认值。作为示例,编码装置估计出的当前待编码比特的概率分布可以为:待编码比特编码为“0”的概率是0.6,待编码比特编码为“1的概率是0.4”。
其中,概率估计网络中使用的概率估计方法可以是基于深度学习网络的概率分布估计方法。该深度学习网络可以是循环神经网络(recurrent neural network,RNN)和卷积神经网络(convolutional neural network,CNN)等,对此不作限定。
参考图13b,图13b是示出了通过概率估计网络估计待编码比特的概率分布的示意图。如图13b所示,编码装置可以将待编码比特的上下文,输入到概率估计网络130b中,从而得到待编码比特的概率分布。其中,输入到概率估计网络130b中的待编码比特的上下文,包括已编码比特的值,以及编码装置为未编码比特设置的默认值。
作为示例,若图13b所示的概率估计网络130b使用的概率估计方法,是基于深度学习网络的概率分布估计方法,即图13b所示的概率估计网络130b是通过深度学习网络实现的。那么,如图13c所示,编码装置可以将待编码比特的上下文,输入到深度学习网络130c中,从而得到待编码比特的概率分布。其中,输入到深度学习网络130c中的待编码比特的上下文,包括已编码比特的值,以及编码装置为未编码比特设置的默认值。
需要说明的是,本申请实施例对上述概率估计网络或概率估计模型的具体实现不作限定。应理解,凡是能基于本申请中的待编码比特的上下文,估计出待编码比特的概率分布的概率估计网络或概率估计模型,均在本申请实施例的包括范围内。
在实际应用中,为方便操作,编码装置可以对待编码比特做设置默认值处理。然后,编码装置将处理过未编码比特的上下文,以及设置了默认值的待编码比特,均输入概率估计网络或概率估计模型,用以估计出当前待编码比特的概率分布。也就是说,编码装置将包括待编码比特的上下文模型信息,全部输入概率估计网络或概率估计模型,用以估计出当前待编码比特的概率分布。
需要说明的是,通过本申请实施例提供的图像处理的方法,在二进制的比特矩阵中获取的待编码比特的上下文,并根据该上下文估计该待编码比特的概率分布的准确度,高于现有技术中对待编码比特概率分布估计的准确度。
S108、根据待编码比特的概率分布,编码待编码比特,以得到上述多个比特矩阵对应的待处理图像的编码信息。
编码装置基于上述估计出的当前待编码比特的概率分布,对当前待编码比特进行熵编码。例如,编码装置对当前待编码比特进行算术编码(arithmetic coding)。
当编码装置基于本申请实施例提供的图像处理方法,将上述多个比特矩阵中的每个比特熵编码后,即得到该多个比特矩阵对应的待处理图像的编码信息(或称为编码码流或压缩码流或比特流)。
至此,编码装置完成对待处理图像对应的多个比特矩阵的编码。通过本申请实施例提供的方法,编码装置所估计出的待编码比特的概率分布的准确度高,从而提高了熵编码的效率。
下面,对编码装置对上述多个二维系数块进行子带聚合的具体过程进行描述。
具体的,编码装置在S103中获取的多个二维系数块中,将每个二维系数块中同一个子带中的系数聚合,以得到该子带对应的二维系数块。也就是说,在该子带对应的二维系数块中所包括的多个系数,均是该子带中的系数,即该二维系数块与该子带对应。
作为示例,若上述获取的多个二维系数块的数量为T*S个,每个二维系数块中包括M*N个系数,并且M*N个系数分别是M*N个子带中的系数,即M*N个系数与该M*N个子带一一对应。那么,编码装置可以从该T*S个二维系数块中,抽取T*S个第一子带中的系数,以得到一个与第一子带对应的二维系数块。这里,第一子带是M*N个子带中的任一个子带。第一子带对应的二维系数块,即为一个聚合后的二维系数块。这样,编码装置可以获取到M*N个聚合后的二维系数块,该M*N个聚合后的二维系数块与M*N个子带一一对应。并且,M*N个聚合后的二维系数块中的每个二维系数块,包括T*S个系数,该T*S个系数均是同一个子带中的系数。
参考图14,以T是2,S是4,M和N均是4为例。如图14所示,图14中的(a)示出了2*4个二维系数块,该2*4个二维系数块中的任一个二维系数块为Y1。图14中的(b)示出了二维系数块为Y1的示意图,二维系数块Y1包括4*4个系数,对应于4*4个子带。例如系数y1(0,0)可以是第一子带中的系数,系数y1(0,1)可以是第二子带中的系数。
编码装置将图14中的(a)所示的2*4个二维系数块中每个子带中的系数进行聚合,可以得到如图14中的(c)所示的4*4个聚合后的二维系数块。该4*4个聚合后的二维系数块对应于4*4个子带。在该4*4个聚合后的二维系数块中,二维系数块Y2可以是对应于第一子带的二维系数块。图14中的(d)示出了二维系数块Y2的示意图。二维系数块Y2包括2*4个系数,该2*4个系数均是第一子带中的系数。
这样,编码装置通过对S103中获取的多个二维系数块进行子带聚合,可以使得一个二维系数块中包括同一子带对应的系数。这样的话,在编码装置将聚合后的多个二维系数块中的每个系数二进制化后,得到的多个比特矩阵中,一个比特矩阵中多个比特串,可以用于表示一个子带中的系数。这样,编码装置在获取待编码比特上下文的时候,可以提高获取上下文的速度,进而提高的编码装置对比特矩阵编码的速度。
下面,对编码装置对S104中所述的多个初始比特矩阵进行子带聚合的具体过程予以描述。
具体的,编码装置在将S103中获取的多个二维系数块中的每个系数进行二进制化后,可以得到多个初始比特矩阵。其中,一个初始比特矩阵中,包括多个分别用于表示不同子带中系数的比特串。
然后,编码装置可以将上述多个初始比特矩阵中的每个比特矩阵中,用于表示同一个子带中系数的比特串聚合,以得到该子带对应的比特矩阵。也就是说,该子带对应的比特矩阵中所包括的多个比特串,均用于表示该子带中的系数,即该比特矩阵与该子带对应。
作为示例,若上述初始比特矩阵的数量为T*S个,每个初始比特矩阵中包括M*N个比特串,该M*N个比特串分别用于表示M*N个子带中的系数,该M*N个比特串与M*N个子带一一对应。那么,编码装置可以从该T*S个初始比特矩阵中,抽取T*S个用于表示第一子带中系数的比特串,以得到一个第一子带对应的比特矩阵。这里,第一子带是M*N个子带中的任一个子带。第一子带对应的比特矩阵,即为一个聚合后的比特矩阵。这样,编码装置可以获取到M*N个聚合后的比特矩阵,该M*N个聚合后的比特矩阵与M*N个子带一一对应。并且,M*N个聚合后的比特矩阵中的每个比特矩阵,包括T*S个比特串,该T*S个比特串均用于表示同一个子带中的系数。
若将图14中的(a)看做2*4个初始比特矩阵的俯视图,一个小正方形即表示一个初始比特矩阵,该2*4个初始比特矩阵中的任一个初始比特矩阵为Y1。图14中的(b)示出了初始比特矩阵Y1的俯视图,一个小正方形即表示一个比特串的俯视图。如图14中的(b)所示,初始比特矩阵Y1包括4*4个比特串,用于分别表示4*4个子带中的系数。例如,比特串y1(0,0)可以表示第一子带中的系数,比特串y1(0,1)可以表示第二子带中的系数。
编码装置将图14中的(a)所示的2*4个初始比特矩阵中的多个比特串进行聚合,可以得到如图14中的(c)所示的4*4个聚合后的比特矩阵,图14中的(c)中所示的一个小正方形即表示一个聚合后的比特矩阵的俯视图。在该4*4个聚合后的比特矩阵中,任一个聚合后的比特矩阵所包括的多个比特串,均用于表示同一个子带中的系数。即一个聚合和的比特矩阵,对应于一个子带。在该4*4个聚合后的比特矩阵中,比特矩阵Y2可以是对应于第一子带的比特矩阵。图14中的(d)示出了比特矩阵Y2的示意图,图14中的(d)中所示一个小正方形即表示一个比特串的俯视图。比特矩阵Y2包括2*4个比特串,该2*4个比特串均用于表示第一子带中的系数。
这样,编码装置通过对S103中获取的多个二维系数块进行二进制化后,再对其进行聚合,可以使得一个比特矩阵中的多个比特串用于表示同一子带中的系数。这样的话,编码装置在获取待编码比特上下文的时候,可以提高获取上下文的速度,进而提高的编码装置对比特矩阵编码的速度。
以上是本申请实施例提供的应用于编码装置的图像处理方法,下面,对应用于解码装置的图像处理方法进行说明。
参考图15,图15示出了本申请实施例提供的一种图像处理方法的流程图,该方法可以应用于图像处理装置中的图像解码装置。为便于描述,下文中将执行本申请实施例提供的图像处理方法的图像解码装置简写为解码装置。
该方法可以包括:
S201、在待处理图像对应的多个比特矩阵中,确定待解码比特的位置。
具体的,解码装置可以按照预设的解码顺序,在待处理图像对应的多个比特矩阵中,确定待解码比特的位置。
其中,解码装置可以预置有预设的解码顺序,该预设的解码顺序与编码装置中编码时采用的编码顺序相同。并且,解码装置还可以预置待处理图像经分块后得到的多个图像块的尺寸等信息。这样,解码装置可以基于待处理图像经分块后得到的多个图像块的尺寸,确定出该多个图像块对应的比特矩阵的大小。可以理解是,解码装置基于待处理图像经分块后得到的多个图像块的尺寸所确定出的比特矩阵,可以是子带聚合的比特矩阵(即一个比特矩阵对应于一个子带,也即,一个比特矩阵中的多个比特串均用于表示同一个子带中的系数),也可以是子带未聚合的比特矩阵(即一个比特矩阵对应于多个子带,也即,一个比特矩阵中的多个比特串用于表示不同子带中的系数)。这里,一个比特矩阵对应于一个子带,和一个比特矩阵对应于多个子带的说明可以参考上文,这里不再赘述。
可以理解的是,解码装置还可以从待处理图像的编码信息中,获取上述待处理图像经分块后得到的多个图像块的尺寸信息。这样,解码装置可以基于从待处理图像的编码信息中所获取的该多个图像块的尺寸信息,确定出该多个图像块对应的比特矩阵的大小。
其中,待处理图像的编码信息可以是解码装置预先从本地获取的待处理图像的编码信息,或者,该待处理图像的编码信息可以是解码装置实时的接收其他设备(例如图2所示的无线或者有线的第二网络通信设备23)传输的待处理图像的编码信息。本申请实施例对解码装置获取待处理图像的编码信息的时机和方式不作限定。
其中,本地的待处理图像的编码信息可以是本地设备通过上述S101~S108的方法编码的图像/视频的编码信息,也可以是本地设备预先接收并存储的其他设备(例如图2所示的无线或者有线的第二网络通信设备23)传输的待处理图像的编码信息,对此不作限定。
然后,解码装置可以按照上述预置的解码顺序,在确定出的多个比特矩阵中,确定当前待解码比特的位置。
其中,解码装置按照解码顺序,在多个比特矩阵中确定当前待解码比特的位置的过程,可以参考上述S105中,按照预设的编码顺序,在多个比特矩阵中确定待编码比特的描述,这里不再赘述。
为方便描述,下文以待解码比特是第一比特矩阵中第一比特串中的任一个位置的比特,第一比特串用于表示第一子带中的一个系数,第一比特矩阵是上述多个比特矩阵中的任一个比特矩阵为例进行说明。
S202、获取待解码比特的上下文。
待解码比特的上下文可以包括:上述第一比特串和/或第二比特串中,与待解码比特对应的预设范围内的比特。其中,第二比特串是用于表示第一子带中的另一个系数。
可以理解的是,待解码比特的上下文可以是第一比特串和/或第二比特串中,与待解码比特对应的预设范围内的所有比特,也可以是第一比特串和/或第二比特串中,与待解码比特对应的预设范围内的部分比特,对此不作限定。
若待解码比特的上下文,是第一比特串和/或第二比特串中,与待解码比特对应的预设范围内的部分比特,则解码装置可以直接输出待解码比特的上下文所包括的每个比特的位置,而无需通过待解码比特对应的预设范围确定上下文中每个比特的位置。
对于第一比特串而言,与待解码比特对应的预设范围,可以是与待解码比特所处位置相距预设距离的范围。对于第二比特串而言,与待解码比特对应的预设范围,可以是基于与待解码比特同处一个比特平面的比特位置,并与该位置相距预设距离的范围。
对于第一比特串和/或第二比特串中,与待解码比特对应的预设范围内的比特的说明,可以参考上述S106中,第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的比特的相关描述,这里不再赘述。
在第一种情况下,如果第一比特矩阵中的多个比特串分别用于表示不同子带中的系数,则上述第二比特串是第二比特矩阵中的比特串,且该第二比特矩阵是上述多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。
在第二种情况下,如果第一比特矩阵中的多个二进制比特串均用于表示第一子带中的系数,则上述第二比特串是第一比特矩阵中不同于第一比特串的一个比特串。并且,该第二比特串是第一比特矩阵中,位于第一比特串预设范围内的比特串。
可选的,待解码比特的上下文除包括上述描述的上下文外,还可以包括:第三比特串和/或第四比特串中,与待解码比特对应的预设范围内的比特。其中,第三比特串用于表示第二子带中的一个系数,第四比特串用于表示第二子带中的另一个系数。这里,第二子带是不同于第一子带的一个子频带。
在第一种情况下,如果第一比特矩阵中的多个二进制比特串分别用于表示不同子带中的系数,则上述第三比特串是第一比特矩阵中的比特串,第四比特串是上述第二比特矩阵中的比特串。或者,上述第四比特串是第一比特矩阵中的比特串,第三比特串是上述第二比特矩阵中的比特串。其中,第二比特矩阵是上述多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。第二子带是,位于第一比特串的预设范围内的比特串所对应的子带。
在第二种情况下,如果第一比特矩阵中的多个二进制比特串均用于表示第一子带中的系数,即第一比特矩阵与第一子带对应,则上述第三比特串和上述第四比特串均是第三比特矩阵中的比特串。其中,第三比特矩阵是上述多个比特矩阵中,位于第一比特矩阵的预设范围内的比特矩阵,第二子带是第三比特矩阵所对应的子带。
具体的,解码装置所获取的待解码比特的上下文的说明,可以参考上述S106中,编码装置所获取的待编码比特的上下文的描述,这里不再赘述。
S203、基于待解码比特的上下文,估计待解码比特的概率分布。
解码装置获取到待解码比特的上下文后,基于该上下文,通过概率估计网络(或概率估计模型、概率估计模块等)估计待解码比特的概率分布。
此外,在上述上下文中,可以包括已解码比特,还可以包括未解码比特。如果该上下文中包括未解码比特,则解码装置为未解码比特设置默认值,即,解码装置对未解码比特做设置默认值处理。其中,该默认值例如可以是“0”,或者可以是“1”,对此不作限定。
作为示例,参考图11,在图11所示的上下文模型110中,空心椭圆可以表示已解码比特,实心正圆可以表示未解码比特,对于图11中示出的4个未解码比特,解码装置可以将该4个未解码比特均设置为“0”。
具体的,解码装置基于待解码比特的上下文,基于该上下文,通过概率估计网络(或概率估计模型、概率估计模块等)估计待解码比特的概率分布的过程,可以参考上述S107中,基于待编码比特的上下文,估计待编码比特的概率分布的描述,这里不再赘述。需要说明的是,用于估计待解码比特概率分布的待解码比特的上下文,包括已解码比特的值,以及解码装置为未解码比特设置的默认值。
在实际应用中,为方便操作,解码装置可以对待解码比特做设置默认值处理。然后,解码装置将处理过未解码比特的上下文,以及设置了默认值的待解码比特,均输入概率估计网络或概率估计模型,用以估计出当前待解码比特的概率分布。也就是说,解码装置将包括待解码比特的上下文模型信息,全部输入概率估计网络或概率估计模型,用以估计出当前待解码比特的概率分布。
S204、根据待解码比特的位置、待解码比特的概率分布以及待处理图像的编码信息,解码待解码比特,以得到上述多个比特矩阵。
解码装置可以基于待解码比特的位置、上述估计出的当前待解码比特的概率分布以及待处理图像的编码信息,对当前待解码比特进行熵解码。例如,解码装置对当前待解码比特进行算术解码(arithmetic decoding)。
当解码装置基于本申请实施例提供的图像处理方法,将上述多个比特矩阵中的每个比特熵解码后,即得到该多个比特矩阵。
S205、对解码得到的多个比特矩阵进行逆二进制化,以得到多个二维系数块。
其中,解码装置预置有与编码装置在编码时所使用的二进制化方式相对应的逆二进制化方式。例如,在S104,编码装置将二维系数块中的每个系数以定长的二进制化方式进行二进制化。那么在解码端,解码装置则以与定长的二进制化方式相逆的方式,对解码得到的比特矩阵进行逆二进制化。
作为示例,编码装置对二维系数块中的每个系数采用8位定长的二进制化方式进行二进制化,那么,解码装置则将解码得到的多个比特矩阵中连续的8个比特恢复为一个系数。例如,解码装置将比特矩阵中连续的比特0000 0001,恢复为值为1的系数,将比特矩阵中连续的比特1000 0000,恢复为值为128的系数。这样,即可得到该多个比特矩阵对应的多个二维系数块。
例如,参考图7,图7中的比特矩阵72经8位定长逆二进制化后,可以得到图6中所示的二维系数块60。
需要说明的是,在S205,最终得到的多个二维系数块中的任一个二维系数块,该二维系数块所包括的多个系数,分别是不同子带中的系数。
需要说明的是,若解码装置确定出的待解码的多个比特矩阵中,一个比特矩阵对应一个子带,即一个比特矩阵中的多个比特串均用于表示同一个子带中的系数。为方便描述,本申请实施例将这种情况下解码得到的多个比特矩阵称为初始比特矩阵。为了使得S205所得到的多个二维系数块中的任一个二维系数块中所包括的多个系数,分别是不同子带中的系数。解码装置还进行以下操作:
在一种可能的实现方式中,解码装置可以先对解码得到的多个初始比特矩阵进行逆聚合,以得到多个目标比特矩阵。对于该多个目标比特矩阵中的任一个目标比特矩阵而言,该目标比特矩阵所包括的多个比特串分别用于表示不同子带中的系数。然后,解码装置对多个目标比特矩阵进行逆二进制化,从而得到上述的多个二维系数块。该多个二维系数块中的任一个二维系数块中所包括的多个系数,分别是不同子带中的系数。
具体的,解码装置可以从多个初始比特矩阵中的每个初始比特矩阵中各抽取一个比特串,即得到多个比特串,并以该得到的多个比特串作为一个目标比特矩阵。这样,解码装置可以通过多次,从多个初始比特矩阵中的每个初始比特矩阵中各抽取一个比特串,从而得到多个目标比特矩阵。一个目标比特矩阵中所包括的多个比特串,分别用于表示不同子带中的系数。其中,解码装置从多个初始比特矩阵中的每个初始比特矩阵中抽取比特串的次数的取值,等于上述解码得到的多个初始比特矩阵中,一个初始比特矩阵所包括的比特串的数量值。
对于同一个初始比特矩阵而言,解码装置每次从该初始比特矩阵中抽取的比特串均不同。这样,当解码装置将经逆聚合处理得到的多个目标比特矩阵逆二进制化后,所得到的多个二维系数块中的任一个二维系数块所包括的多个系数,分别是不同子带中的系数。
作为示例,若上述初始比特矩阵的数量为T*S个,对应于T*S个子带。该T*S个初始比特矩阵中的任一个初始比特矩阵中包括M*N个比特串,该M*N个比特串用于表示同一个子带中的M*N个系数。那么,解码装置可以从该T*S个初始比特矩阵中的每个初始比特矩阵中,抽取一个比特串,以得到一个目标比特矩阵。该目标比特矩阵中包括T*S个比特串,该T*S个比特串分别用于表示T*S个子带中的系数。由于每个初始比特矩阵中包括M*N个比特串,因此,解码装置需要进行M*N次的比特串抽取,从而得到M*N个目标比特矩阵。其中,M*N个目标比特矩阵中的任一个目标比特矩阵所包括的T*S个比特串,分别用于表示T*S个子带中的系数。应理解,对于同一个初始比特矩阵而言,解码装置每次从该初始比特矩阵中抽取的比特串均不同。
在另一种可能的实现方式中,解码装置可以先对解码得到的多个初始比特矩阵进行逆二进制化,以得到多个初始二维系数块。然后,解码装置并将该多个初始二维系数块进行逆聚合,从而得到上述多个二维系数块。该多个二维系数块中的任一个二维系数块所包括的多个系数,分别是不同子带中的系数。
具体的,解码装置可以从多个初始二维系数块中的每个初始二维系数块中各抽取一个系数,并以该抽取的出的多个系数作为一个目标二维系数块。这样,解码装置可以通过多次从多个初始二维系数块中的每个初始二维系数块中各抽取一个系数,从而得到多个目标二维系数块。这样,一个目标二维系数块中所包括的多个系数,分别是不同子带中的系数。其中,解码装置从多个初始二维系数块中的每个初始二维系数块中抽取系数的次数的取值,等于多个初始二维系数块中,一个初始二维系数块所包括的系数的数量值。
对于同一个初始二维系数块而言,解码装置每次从该初始二维系数块中抽取的系数均不同。这样,解码装置对多个初始二维系数块逆聚合后,所得到的多个二维系数块中的任一个二维系数块所包括的多个系数,分别是不同子带中的系数。
作为示例,若上述初始二维系数块的数量为T*S个,对应于T*S个子带。该T*S个初始二维系数块中的任一个初始二维系数块中包括M*N个系数,该且M*N个系数是同一个子带中的M*N个系数。那么,解码装置可以从该T*S个初始二维系数块中的每个初始二维系数块中,抽取一个系数,以得到一个目标二维系数块。该目标二维系数块中包括T*S个系数,该T*S个系数分别是T*S个子带中的系数。由于每个初始二维系数块中包括M*N个系数,因此,解码装置需要进行M*N次的系数抽取,从而得到M*N个目标二维系数块。其中,M*N个目标二维系数块中的任一个目标二维系数块所包括的T*S个系数,分别是T*S个子带中的系数。应理解,对于同一个初始二维系数块而言,解码装置每次从该初始二维系数块中抽取的系数均不同。
S206、对上述多个二维系数块逆变换,以得到多个图像块,并基于该多个图像块,还原待处理图像。
其中,该多个图像块是待处理图像经划分后得到的多个图像块。
解码装置可以预置与编码装置变换方式相逆的逆变换方式,并通过该逆变换方式,将上述多个二维系数块逆变换,以得到多个图像块。当然,若S201中获取的编码信息,是对残差快对应的比特矩阵编码得到的编码信息,则在S206解码装置对上述多个二维系数块逆变换后,得到了多个残差块。这里,该残差块是待处理图像经划分后得到的多个图像块所对应的多个残差快。进一步的,解码装置基于多个残差块恢复出多个图像块。
然后,解码装置根据预先从待处理图像的编码信息中获取的待处理图像的尺寸,以及待处理图像经分块后得到的多个图像块的尺寸,确定待处理图像对应的图像块的数量。这样,解码装置即可根据待处理图像的尺寸和待处理图像对应的图像块的数量,还原出待处理图像。
至此,本申请实施例提供的图像处理方法实现了对经S101-108编码得到的编码信息的解码。
综上,本申请实施例提供的图像处理方法,通过对图像块或残差块对应的多个二维系数块进行二进制化,从而得到对应的多个三维比特矩阵。然后编码装置从多个三维比特矩阵中获取当前待编码比特的上下文,并基于该上下文估计待编码比特的概率分布。通过本申请实施例提供的方法,提高了估计当前待编码比特的概率分布的准确度。这样,编码装置基于对待编码比特所估计的、准确度高于现有技术的概率分布,对当前待编码比特进行熵编码,即可提高图像(或视频)的编码效率,进而节省了存储图像(或视频)的存储资源,以及节省了传输图像(或视频)的传输带宽。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对图像处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图16所示,图16示出了本申请实施例提供的一种图像处理装置160的结构示意图。图像处理装置160可以用于执行上述的图像处理方法中的图像编码方法,例如用于执行图4所示的方法。其中,图像处理装置160可以包括确定单元161、估计单元162以及编码单元163。
确定单元161,用于确定待编码比特。其中,该待编码比特是第一比特串中的任一个比特,该第一比特串是第一比特矩阵包括的多个二进制比特串中的任一个二进制比特串,该第一比特串用于表示第一子带中的一个系数,该第一比特矩阵是待处理图像经处理得到的多个比特矩阵中的任一个比特矩阵,该第一比特矩阵是三维比特矩阵。估计单元162,用于基于待编码比特的上下文,估计待编码比特的概率分布。这里,待编码比特的上下文包括:第一比特串和/或第二比特串中,与待编码比特对应的预设范围内的比特。其中,第二比特串用于表示第一子带中的另一个系数。编码单元163,用于根据待编码比特的概率分布,编码待编码比特,以得到待处理图像的编码信息。
作为示例,结合图4,确定单元161可以用于执行S105,估计单元162可以用于执行S107,编码单元163可以用于执行S108。
可选的,如果上述多个二进制比特串分别用于表示不同子带中的系数,则第二比特串是第二比特矩阵中的二进制比特串。这里,该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。或者,如果上述多个二进制比特串均用于表示第一子带中的系数,则第二比特串是第一比特矩阵中,位于第一比特串预设范围内的二进制比特串。
可选的,待编码比特的上下文还包括:第三比特串和/或第四比特串中,与待编码比特对应的预设范围内的比特。该第三比特串用于表示第二子带中的一个系数,该第四比特串用于表示第二子带中的另一个系数。其中,
如果上述多个二进制比特串分别用于表示不同子带中的系数,则第三比特串是第一比特矩阵中的二进制比特串,第四比特串是第二比特矩阵中的二进制比特串。该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。该第二子带是,位于第一比特串预设范围内的二进制比特串所对应的子带。或者,
如果上述多个二进制比特串均用于表示第一子带中的系数,即多个比特矩阵与多个子带一一对应,则第三比特串和第四比特串均是第三比特矩阵中的二进制比特串。该第三比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩,该第二子带是第三比特矩阵对应的子带。
可选的,上述图像处理装置160还包括:获取单元164,用于在确定单元161确定待编码比特之前,获取待处理图像对应的多个二维系数块。其中,该多个二维系数块中的每个二维系数块包括多个系数,多个系数分别是不同子带中的系数。二进制化单元165,用于将前述多个二维系数块中的每个系数二进制化,以得到上述多个比特矩阵。
作为示例,结合图4,获取单元164可以用于执行S103,二进制化单元165可以用于执行S104。
可选的,二进制化单元165,具体用于按照定长的二进制化方式,将多个二维系数块中的每个系数二进制化。
作为示例,结合图4,二进制化单元165可以用于执行S104。
可选的,获取单元164,还用于在获取待处理图像对应的多个二维系数块之前,获取待处理图像。其中,待处理图像包括图片或者视频中的图像帧。获取单元164,还具体用于对待处理图像进行分块和变换,以得到多个二维系数块。
作为示例,结合图4,获取单元164可以用于执行S101和S103。
可选的,确定单元161,具体用于按照预设的编码顺序,在上述多个比特矩阵中确定待编码比特。
作为示例,结合图4,确定单元161可以用于执行S105。
可选的,估计单元162,具体用于基于待编码比特的上下文,通过概率估计网络估计待编码比特的概率分布。
作为示例,结合图4,估计单元162可以用于执行S107。
可选的,编码单元163,具体用于根据待编码比特的概率分布,对待编码比特进行熵编码。
作为示例,结合图4,编码单元163可以用于执行S108。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种图像处理装置160的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
作为示例,结合图3,图像处理装置160中的确定单元161、估计单元162、编码单元163、获取单元164以及二进制化单元165可以通过图3中的处理器301执行图3中的存储器302中的程序代码实现。
如图17所示,图17示出了本申请实施例提供的一种图像处理装置170的结构示意图。图像处理装置170可以用于执行上述的图像处理方法中的图像解码方法,例如用于执行图15所示的方法。其中,图像处理装置170可以包括确定单元171、估计单元172以及解码单元173。
确定单元171,用于确定待解码比特的位置。其中,该待解码比特是第一比特串中的任一个比特,该第一比特串是第一比特矩阵包括的多个二进制比特串中的任一个二进制比特串,该第一比特串用于表示第一子带中的一个系数,该第一比特矩阵是待处理图像对应的多个比特矩阵中的任一个比特矩阵,该第一比特矩阵是三维比特矩阵。估计单元172,用于基于待解码比特的上下文,估计待解码比特的概率分布。这里,待解码比特的上下文包括:第一比特串和/或第二比特串中,与待解码比特对应的预设范围内的比特。其中,第二比特串用于表示第一子带中的另一个系数。解码单元173,用于基于待解码比特的位置、待解码比特的概率分布以及待处理图像的编码信息,解码待解码比特,以得到多个比特矩阵。
作为示例,结合图15,确定单元171可以用于执行S201,估计单元172可以用于执行S203,解码单元173可以用于执行S204。
可选的,如果上述多个二进制比特串分别用于表示不同子带中的系数,则第二比特串是第二比特矩阵中的二进制比特串。这里,该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵。或者,如果上述多个二进制比特串均用于表示第一子带中的系数,则第二比特串是第一比特矩阵中,位于第一比特串预设范围内的二进制比特串。
可选的,待解码比特的上下文还包括:第三比特串和/或第四比特串中,与待解码比特对应的预设范围内的比特。该第三比特串用于表示第二子带中的一个系数,该第四比特串用于表示第二子带中的另一个系数。其中,
如果上述多个二进制比特串分别用于表示不同子带中的系数,则第三比特串是第一比特矩阵中的二进制比特串,第四比特串是第二比特矩阵中的二进制比特串。该第二比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩阵,该第二子带是,位于第一比特串预设范围内的二进制比特串所对应的子带。或者,
如果上述多个二进制比特串均用于表示第一子带中的系数,即多个比特矩阵与多个子带一一对应,则第三比特串和第四比特串均是第三比特矩阵中的二进制比特串。该第三比特矩阵是多个比特矩阵中的位于第一比特矩阵的预设范围内的比特矩,该第二子带是第三比特矩阵对应的子带。
可选的,上述图像处理装置170还包括:逆二进制化单元174,用于将解码得到的多个比特矩阵中的二进制比特串逆二进制化,以得到多个比特矩阵对应的多个二维系数块。其中,该多个二维系数块中的每个二维系数块包括多个系数,该多个系数分别是不同子带中的系数。逆变换单元175,用于对该多个二维系数块逆变换,以得到待处理图像。其中,待处理图像包括图片或者视频中的图像帧。
作为示例,结合图15,逆二进制化单元174可以用于执行S205,逆变换单元175可以用于执行S206。
可选的,逆二进制化单元174,具体用于按照定长的逆二进制化方式,将解码得到的多个比特矩阵中的二进制比特串逆二进制化。
作为示例,结合图15,逆二进制化单元174可以用于执行S205。
可选的,确定单元171,具体用于按照预设的解码顺序,在多个比特矩阵中确定待解码比特的位置。
作为示例,结合图15,确定单元171可以用于执行S201。
可选的,估计单元172,具体用于基于待解码比特的上下文,通过概率估计网络估计待解码比特的概率分布。
作为示例,结合图15,估计单元172可以用于执行S203。
可选的,解码单元173,具体用于基于待解码比特的位置、待解码比特的概率分布以及待处理图像的编码信息,对待解码比特进行熵解码。
作为示例,结合图15,解码单元173可以用于执行S204。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种图像处理装置170的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
作为示例,结合图3,图像处理装置170中的确定单元171、估计单元172、解码单元173、逆二进制化单元174以及逆变换单元175可以通过图3中的处理器301执行图3中的存储器302中的程序代码实现。
本申请实施例还提供一种芯片***180,如图18所示,该芯片***180包括至少一个处理器和至少一个接口电路。作为示例,当该芯片***180包括一个处理器和一个接口电路时,则该一个处理器可以是图18中实线框所示的处理器181(或者是虚线框所示的处理器181),该一个接口电路可以是图18中实线框所示的接口电路182(或者是虚线框所示的接口电路182)。当该芯片***180包括两个处理器和两个接口电路时,则该两个处理器包括图18中实线框所示的处理器181和虚线框所示的处理器181,该两个接口电路包括图18中实线框所示的接口电路182和虚线框所示的接口电路182。对此不作限定。
处理器181和接口电路182可通过线路互联。例如,接口电路182可用于接收信号(例如获取待处理图像等)。又例如,接口电路182可用于向其它装置(例如处理器181)发送信号。示例性的,接口电路182可读取存储器中存储的指令,并将该指令发送给处理器181。当该指令被处理器181执行时,可使得图像处理装置执行上述实施例中的各个步骤。当然,该芯片***180还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在图像处理装置上运行时,该图像处理装置执行上述方法实施例所示的方法流程中该图像处理装置执行的各个步骤。
在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。
图19示意性地示出本申请实施例提供的计算机程序产品的概念性局部视图,该计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。
在一个实施例中,计算机程序产品是使用信号承载介质190来提供的。该信号承载介质190可以包括一个或多个程序指令,其当被一个或多个处理器运行时可以提供以上针对图4或图15描述的功能或者部分功能。因此,例如,参考图4中S101~S108,或者参考图15中S201~S206的一个或多个特征可以由与信号承载介质190相关联的一个或多个指令来承担。此外,图19中的程序指令也描述示例指令。
在一些示例中,信号承载介质190可以包含计算机可读介质191,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。
在一些实施方式中,信号承载介质190可以包含计算机可记录介质192,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。
在一些实施方式中,信号承载介质190可以包含通信介质193,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。
信号承载介质190可以由无线形式的通信介质193(例如,遵守IEEE 1902.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令可以是,例如,计算机可执行指令或者逻辑实施指令。
在一些示例中,诸如针对图4或图15描述的图像处理装置可以被配置为,响应于通过计算机可读介质191、计算机可记录介质192、和/或通信介质193中的一个或多个程序指令,提供各种操作、功能、或者动作。
应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (37)

1.一种图像处理方法,其特征在于,包括:
确定待编码比特;其中,所述待编码比特是第一比特串中的任一个比特,所述第一比特串是第一比特矩阵包括的多个二进制比特串中的任一个二进制比特串,所述第一比特串用于表示第一子带中的一个系数,所述第一比特矩阵是待处理图像经处理得到的多个比特矩阵中的任一个比特矩阵,所述第一比特矩阵是三维比特矩阵;
基于所述待编码比特的上下文,估计所述待编码比特的概率分布;所述上下文包括:所述第一比特串和/或第二比特串中,与所述待编码比特对应的预设范围内的比特;其中,所述第二比特串用于表示所述第一子带中的另一个系数;
根据所述待编码比特的概率分布,编码所述待编码比特,以得到所述待处理图像的编码信息。
2.根据权利要求1所述的方法,其特征在于,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第二比特串是第二比特矩阵中的二进制比特串;所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第二比特串是所述第一比特矩阵中,位于所述第一比特串预设范围内的二进制比特串。
3.根据权利要求1或2所述的方法,其特征在于,所述上下文还包括:第三比特串和/或第四比特串中,与所述待编码比特对应的预设范围内的比特,所述第三比特串用于表示第二子带中的一个系数,所述第四比特串用于表示所述第二子带中的另一个系数;其中,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第三比特串是所述第一比特矩阵中的二进制比特串,所述第四比特串是第二比特矩阵中的二进制比特串,所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是,位于所述第一比特串预设范围内的二进制比特串所对应的子带;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第三比特串和所述第四比特串均是第三比特矩阵中的二进制比特串,所述第三比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是所述第三比特矩阵对应的子带,所述多个比特矩阵与多个子带一一对应。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在所述确定待编码比特之前,所述方法还包括:
获取所述待处理图像对应的多个二维系数块,所述多个二维系数块中的每个二维系数块包括多个系数,所述多个系数分别是不同子带中的系数;
将所述多个二维系数块中的每个系数二进制化,以得到所述多个比特矩阵。
5.根据权利要求4所述的方法,其特征在于,所述将所述多个二维系数块中的每个系数二进制化,包括:
按照定长的二进制化方式,将所述多个二维系数块中的每个系数二进制化。
6.根据权利要求4或5所述的方法,其特征在于,在所述获取所述待处理图像对应的多个二维系数块之前,所述方法还包括:
获取所述待处理图像,所述待处理图像包括图片或者视频中的图像帧;
所述获取所述待处理图像对应的多个二维系数块,包括:
对所述待处理图像进行分块和变换,以得到所述多个二维系数块。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述确定待编码比特,包括:
按照预设的编码顺序,在所述多个比特矩阵中确定所述待编码比特。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于所述待编码比特的上下文,估计所述待编码比特的概率分布,包括:
基于所述待编码比特的上下文,通过概率估计网络估计所述待编码比特的概率分布。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述根据所述待编码比特的概率分布,编码所述待编码比特,包括:
根据所述待编码比特的概率分布,对所述待编码比特进行熵编码。
10.一种图像处理方法,其特征在于,包括:
确定待解码比特的位置;其中,所述待解码比特是第一比特串中的任一个比特,所述第一比特串是第一比特矩阵包括的多个二进制比特串中的任一个二进制比特串,所述第一比特串用于表示第一子带中的一个系数,所述第一比特矩阵是待处理图像对应的多个比特矩阵中的任一个比特矩阵,所述第一比特矩阵是三维比特矩阵;
基于所述待解码比特的上下文,估计所述待解码比特的概率分布;所述上下文包括:所述第一比特串和/或第二比特串中,与所述待解码比特对应的预设范围内的比特;其中,所述第二比特串用于表示所述第一子带中的另一个系数;
基于所述待解码比特的位置、所述待解码比特的概率分布以及所述待处理图像的编码信息,解码所述待解码比特,以得到所述多个比特矩阵。
11.根据权利要求10所述的方法,其特征在于,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第二比特串是第二比特矩阵中的二进制比特串;所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第二比特串是所述第一比特矩阵中,位于所述第一比特串预设范围内的二进制比特串。
12.根据权利要求10或11所述的方法,其特征在于,所述上下文还包括:第三比特串和/或第四比特串中,与所述待解码比特对应的预设范围内的比特,所述第三比特串用于表示第二子带中的一个系数,所述第四比特串用于表示所述第二子带中的另一个系数;其中,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第三比特串是所述第一比特矩阵中的二进制比特串,所述第四比特串是第二比特矩阵中的二进制比特串,所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是,位于所述第一比特串预设范围内的二进制比特串所对应的子带;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第三比特串和所述第四比特串均是第三比特矩阵中的二进制比特串,所述第三比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是所述第三比特矩阵对应的子带,所述多个比特矩阵与多个子带一一对应。
13.根据权利要求10至12中任一项所述的方法,其特征在于,所述方法还包括:
将解码得到的所述多个比特矩阵中的二进制比特串逆二进制化,得到所述多个比特矩阵对应的多个二维系数块;其中,所述多个二维系数块中的每个二维系数块包括多个系数,所述多个系数分别是不同子带中的系数;
对所述多个二维系数块逆变换,得到所述待处理图像,所述待处理图像包括图片或者视频中的图像帧。
14.根据权利要求13所述的方法,其特征在于,所述将解码得到的所述多个比特矩阵中的二进制比特串逆二进制化,包括:
按照定长的逆二进制化方式,将解码得到的所述多个比特矩阵中的二进制比特串逆二进制化。
15.根据权利要求10至14中任一项所述的方法,其特征在于,所述确定待解码比特的位置,包括:
按照预设的解码顺序,在所述多个比特矩阵中确定所述待解码比特的位置。
16.根据权利要求10至15中任一项所述的方法,其特征在于,所述基于所述待解码比特的上下文,估计所述待解码比特的概率分布,包括:
基于所述待解码比特的上下文,通过概率估计网络估计所述待解码比特的概率分布。
17.根据权利要求10至16中任一项所述的方法,其特征在于,所述基于所述待解码比特的位置、所述待解码比特的概率分布以及所述待处理图像的编码信息,解码所述待解码比特,包括:
基于所述待解码比特的位置、所述待解码比特的概率分布以及所述待处理图像的编码信息,对所述待解码比特进行熵解码。
18.一种图像处理装置,其特征在于,所述装置包括:
确定单元,用于确定待编码比特;其中,所述待编码比特是第一比特串中的任一个比特,所述第一比特串是第一比特矩阵包括的多个二进制比特串中的任一个二进制比特串,所述第一比特串用于表示第一子带中的一个系数,所述第一比特矩阵是待处理图像经处理得到的多个比特矩阵中的任一个比特矩阵,所述第一比特矩阵是三维比特矩阵;
估计单元,用于基于所述待编码比特的上下文,估计所述待编码比特的概率分布;所述上下文包括:所述第一比特串和/或第二比特串中,与所述待编码比特对应的预设范围内的比特;其中,所述第二比特串用于表示所述第一子带中的另一个系数;
编码单元,用于根据所述待编码比特的概率分布,编码所述待编码比特,以得到所述待处理图像的编码信息。
19.根据权利要求18所述的装置,其特征在于,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第二比特串是第二比特矩阵中的二进制比特串;所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第二比特串是所述第一比特矩阵中,位于所述第一比特串预设范围内的二进制比特串。
20.根据权利要求18或19所述的装置,其特征在于,所述上下文还包括:第三比特串和/或第四比特串中,与所述待编码比特对应的预设范围内的比特,所述第三比特串用于表示第二子带中的一个系数,所述第四比特串用于表示所述第二子带中的另一个系数;其中,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第三比特串是所述第一比特矩阵中的二进制比特串,所述第四比特串是第二比特矩阵中的二进制比特串,所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是,位于所述第一比特串预设范围内的二进制比特串所对应的子带;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第三比特串和所述第四比特串均是第三比特矩阵中的二进制比特串,所述第三比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是所述第三比特矩阵对应的子带,所述多个比特矩阵与多个子带一一对应。
21.根据权利要求18至20中任一项所述的装置,其特征在于,所述装置还包括:
获取单元,用于在所述确定单元确定待编码比特之前,获取所述待处理图像对应的多个二维系数块,所述多个二维系数块中的每个二维系数块包括多个系数,所述多个系数分别是不同子带中的系数;
二进制化单元,用于将所述多个二维系数块中的每个系数二进制化,以得到所述多个比特矩阵。
22.根据权利要求21所述的装置,其特征在于,
所述二进制化单元,具体用于按照定长的二进制化方式,将所述多个二维系数块中的每个系数二进制化。
23.根据权利要求21或22所述的装置,其特征在于,
所述获取单元,还用于在获取所述待处理图像对应的多个二维系数块之前,获取所述待处理图像,所述待处理图像包括图片或者视频中的图像帧;
所述获取单元,还具体用于对所述待处理图像进行分块和变换,以得到所述多个二维系数块。
24.根据权利要求18至23中任一项所述的装置,其特征在于,
所述确定单元,具体用于按照预设的编码顺序,在所述多个比特矩阵中确定所述待编码比特。
25.根据权利要求18至24中任一项所述的装置,其特征在于,
所述估计单元,具体用于基于所述待编码比特的上下文,通过概率估计网络估计所述待编码比特的概率分布。
26.根据权利要求18至25中任一项所述的装置,其特征在于,
所述编码单元,具体用于根据所述待编码比特的概率分布,对所述待编码比特进行熵编码。
27.一种图像处理装置,其特征在于,所述装置包括:
确定单元,用于确定待解码比特的位置;其中,所述待解码比特是第一比特串中的任一个比特,所述第一比特串是第一比特矩阵包括的多个二进制比特串中的任一个二进制比特串,所述第一比特串用于表示第一子带中的一个系数,所述第一比特矩阵是待处理图像对应的多个比特矩阵中的任一个比特矩阵,所述第一比特矩阵是三维比特矩阵;
估计单元,用于基于所述待解码比特的上下文,估计所述待解码比特的概率分布;所述上下文包括:所述第一比特串和/或第二比特串中,与所述待解码比特对应的预设范围内的比特;其中,所述第二比特串用于表示所述第一子带中的另一个系数;
解码单元,用于基于所述待解码比特的位置、所述待解码比特的概率分布以及所述待处理图像的编码信息,解码所述待解码比特,以得到所述多个比特矩阵。
28.根据权利要求27所述的装置,其特征在于,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第二比特串是第二比特矩阵中的二进制比特串;所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第二比特串是所述第一比特矩阵中,位于所述第一比特串预设范围内的二进制比特串。
29.根据权利要求27或28所述的装置,其特征在于,所述上下文还包括:第三比特串和/或第四比特串中,与所述待解码比特对应的预设范围内的比特,所述第三比特串用于表示第二子带中的一个系数,所述第四比特串用于表示所述第二子带中的另一个系数;其中,
如果所述多个二进制比特串分别用于表示不同子带中的系数,则所述第三比特串是所述第一比特矩阵中的二进制比特串,所述第四比特串是第二比特矩阵中的二进制比特串,所述第二比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是,位于所述第一比特串预设范围内的二进制比特串所对应的子带;或者,
如果所述多个二进制比特串均用于表示所述第一子带中的系数,则所述第三比特串和所述第四比特串均是第三比特矩阵中的二进制比特串,所述第三比特矩阵是所述多个比特矩阵中的位于所述第一比特矩阵的预设范围内的比特矩阵;所述第二子带是所述第三比特矩阵对应的子带,所述多个比特矩阵与多个子带一一对应。
30.根据权利要求27至29中任一项所述的装置,其特征在于,所述装置还包括:
逆二进制化单元,用于将解码得到的所述多个比特矩阵中的二进制比特串逆二进制化,得到所述多个比特矩阵对应的多个二维系数块;其中,所述多个二维系数块中的每个二维系数块包括多个系数,所述多个系数分别是不同子带中的系数;
逆变换单元,用于对所述多个二维系数块逆变换,得到所述待处理图像,所述待处理图像包括图片或者视频中的图像帧。
31.根据权利要求30所述的装置,其特征在于,
所述逆二进制化单元,具体用于按照定长的逆二进制化方式,将解码得到的所述多个比特矩阵中的二进制比特串逆二进制化。
32.根据权利要求27至31中任一项所述的装置,其特征在于,
所述确定单元,具体用于按照预设的解码顺序,在所述多个比特矩阵中确定所述待解码比特的位置。
33.根据权利要求27至32中任一项所述的装置,其特征在于,
所述估计单元,具体用于基于所述待解码比特的上下文,通过概率估计网络估计所述待解码比特的概率分布。
34.根据权利要求27至33中任一项所述的装置,其特征在于,
所述解码单元,具体用于基于所述待解码比特的位置、所述待解码比特的概率分布以及所述待处理图像的编码信息,对所述待解码比特进行熵解码。
35.一种图像处理装置,其特征在于,所述装置包括:存储器和一个或多个处理器,所述存储器用于存储计算机指令,所述处理器用于调用所述计算机指令,以执行如权利要求1至17中任一所述的方法。
36.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1至17中任一所述的方法。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有根据权利要求1至9任一所述的图像处理方法获得的编码信息。
CN202010531794.XA 2020-06-11 2020-06-11 图像处理方法及装置 Active CN113810717B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010531794.XA CN113810717B (zh) 2020-06-11 2020-06-11 图像处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010531794.XA CN113810717B (zh) 2020-06-11 2020-06-11 图像处理方法及装置

Publications (2)

Publication Number Publication Date
CN113810717A true CN113810717A (zh) 2021-12-17
CN113810717B CN113810717B (zh) 2024-05-17

Family

ID=78943732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010531794.XA Active CN113810717B (zh) 2020-06-11 2020-06-11 图像处理方法及装置

Country Status (1)

Country Link
CN (1) CN113810717B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124148A1 (zh) * 2021-12-27 2023-07-06 上海商汤智能科技有限公司 数据处理方法及装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791832A (zh) * 2016-03-08 2016-07-20 湖南千年华光软件开发有限公司 数据编码方法和数据解码方法及其***
US20190356330A1 (en) * 2018-05-21 2019-11-21 Google Llc Data compression by local entropy encoding
CN111107375A (zh) * 2019-12-06 2020-05-05 北京邮电大学 一种视频编码方法、解码方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791832A (zh) * 2016-03-08 2016-07-20 湖南千年华光软件开发有限公司 数据编码方法和数据解码方法及其***
US20190356330A1 (en) * 2018-05-21 2019-11-21 Google Llc Data compression by local entropy encoding
CN111107375A (zh) * 2019-12-06 2020-05-05 北京邮电大学 一种视频编码方法、解码方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124148A1 (zh) * 2021-12-27 2023-07-06 上海商汤智能科技有限公司 数据处理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113810717B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
CN102611823B (zh) 一种基于图片内容选择压缩算法的方法和设备
US10382789B2 (en) Systems and methods for digital media compression and recompression
JP7379524B2 (ja) ニューラルネットワークモデルの圧縮/解凍のための方法および装置
EP3685586A1 (en) Coding of last significant coefficient flags
CN111131828B (zh) 一种图像压缩方法、装置、电子设备和存储介质
KR20200089635A (ko) 다수의 상이한 비트레이트로 영상 압축을 하기 위한 시스템들 및 방법들
US9712828B2 (en) Foreground motion detection in compressed video data
WO2019191891A1 (zh) 用于视频处理的方法和设备
US10630974B2 (en) Coding of intra-prediction modes
CN111432213B (zh) 用于视频和图像压缩的贴片数据大小编码的方法和装置
CN113810717B (zh) 图像处理方法及装置
CN113256744B (zh) 一种图像编码、解码方法及***
US20170257579A1 (en) Method and device for processing graph-based signal using geometric primitives
US12022078B2 (en) Picture processing method and apparatus
CN107172425B (zh) 缩略图生成方法、装置及终端设备
CN110710219B (zh) 用于系数代码化的上下文推导的方法和设备
CN116615753A (zh) 利用分层调色板表生成而进行的调色板模式视频编码
CN113422965A (zh) 一种基于生成对抗网络的图像压缩方法及装置
US20190356931A1 (en) Image compression and decompression using triangulation
CN113949868B (zh) 一种熵编码方法及装置
US20240005562A1 (en) Point cloud encoding method and apparatus, electronic device, medium and program product
CN118355408A (zh) 二进制体素网格译码的状态汇总
CN115474050A (zh) 熵编码、解码方法及装置
CN116980603A (zh) 视频数据处理方法、装置、计算机设备和存储介质
CN117333559A (zh) 图像压缩方法、装置、电子设备及存储介质

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