CN108476320A - 编码方法、解码方法以及编码装置和解码装置 - Google Patents

编码方法、解码方法以及编码装置和解码装置 Download PDF

Info

Publication number
CN108476320A
CN108476320A CN201780004672.1A CN201780004672A CN108476320A CN 108476320 A CN108476320 A CN 108476320A CN 201780004672 A CN201780004672 A CN 201780004672A CN 108476320 A CN108476320 A CN 108476320A
Authority
CN
China
Prior art keywords
segment
encoded
data
decoded
pixel
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.)
Pending
Application number
CN201780004672.1A
Other languages
English (en)
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.)
SZ DJI Technology Co Ltd
Shenzhen Dajiang Innovations Technology Co Ltd
Original Assignee
Shenzhen Dajiang Innovations Technology 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 Shenzhen Dajiang Innovations Technology Co Ltd filed Critical Shenzhen Dajiang Innovations Technology Co Ltd
Publication of CN108476320A publication Critical patent/CN108476320A/zh
Pending legal-status Critical Current

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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

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

Abstract

一种编码方法、解码方法以及编码装置和解码装置,具有较低的实现复杂度。该编码方法包括:根据图像的待编码片段中的数据,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据;根据该参考数据,对该待编码片段进行编码处理,得到该待编码片段的编码比特流;其中,该图像包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点,并且长度相同的矩形区域对应的编码比特数少于或等于预设的比特数,该待编码片段的左侧数据包括位于该待编码片段左侧的至少一个第一像素点的数据,该待编码数据的上侧数据包括位于该待编码片段上方的至少一个第二像素点的数据。

Description

编码方法、解码方法以及编码装置和解码装置
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及视频编码领域,并且更具体地,涉及编码方法、解码方法以及编码装置和解码装置。
背景技术
为了减少视频存储和传输所占用的带宽,需要对视频数据进行编码压缩处理。现有的几种典型编码技术均可以达到较高的编码质量,但具有较高的实现复杂度,在一些视频编解码系统中并不适用。例如,在显示系统或者相机系统中,为了降低用于随机存取存储器(random access memory,RAM)与双倍速率(double data rate,DDR)内存或传感器(sensor)与DDR之间交互的带宽压力,通常会利用视频压缩技术将所生成的视频数据经编码后从RAM或传感器写入DDR中,作为该过程的逆过程,也通常会从DDR中将压缩后的数据读入RAM中,然后再对数据进行解码操作获得解码后的视频数据。此类系统对视频数据的压缩率通常不会太高,例如,典型的压缩率通常在1~5倍之间。此外,此类系统要求视频编码及解码算法具有较低的实现复杂度,以便能够满足整个系统的实现要求及整个系统的复杂度。现有的视频压缩技术往往不适用于此类系统。
发明内容
本申请提供一种编码方法、解码方法以及编码装置和解码装置,具有较低的实现复杂度。
第一方面,提供了一种编码方法,包括:编码方法,包括:根据图像的待编码片段中的数据,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据;根据该参考数据,对该待编码片段进行编码处理,得到该待编码片段的编码比特流。
可选地,该图像可以包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点。
可选地,可以将该图像划分为多个矩形区域,其中,与该图像边界间隔分布的至少一个矩形区域具有相同的长度。
可选地,可以将该至少一个矩形区域中的第一矩形区域划分为多个片段,其中,与该第一矩形区域的边界间隔分布的至少一个片段具有相同的长度。
可选地,矩形区域的高度可以为一行或多行,即一个矩形区域可以包括属于同一列的像素点个数可以为一个或多个。
可选地,片段的高度可以为一行,即一个片段包括的属于同一列的数据点个数可以为一个。
可选地,长度相同的矩形区域可以对应的编码比特数少于或等于预设的比特数。
当所述的编码比特数等于预设的比特数时,长度相同的矩形区域对应相同的编码比特数,即以固定倍率对该图像中的矩形区域进行编码处理。
当所述的编码比特数少于或等于预设的比特数时,所述矩形区域对应的图像的编码压缩率大于或等于所述长度相同的矩形区域对应相同的编码比特数的压缩率。
所述处理方法的目的在于保证整幅图像的编码压缩率,同时由于不用严格保证每个矩形区域对应相同的编码比特数,从而可以提高每个矩形区域的编码灵活性并提高编码效率。
可选地,待编码片段的左侧数据可以包括位于该待编码片段左侧的至少一个第一像素点的数据。
可选地,该至少一个第一像素点可以与该待编码片段相邻。例如,该至少一个第一像素点中的最右侧像素点与该待编码片段中的最左侧像素点可以为相邻的像素点。
可选地,该至少一个第一像素点可以与该待编码片段临近但间隔分布。例如,该至少一个第一像素点可以与该待编码片段间隔至少一个像素点。例如,该至少一个第一像素点中的最右侧像素点与该待编码片段中的最左侧像素点之间可以间隔至少一个像素点。
可选地,该至少一个第一像素点的数据可以包括该至少一个第一像素点中一个或多个第一像素点的原始数据。
可选地,该至少一个第一像素点的数据也可以包括该至少一个第一像素点中一个或多个第一该像素点的已编码数据。
可选地,待编码数据的上侧数据可以包括位于该待编码片段上方的至少一个第二像素点的数据。
可选地,该至少一个第二像素点可以与该待编码片段相邻。例如,该至少一个第二像素点中的最下方像素点与该待编码片段中的最上方像素点可以为相邻的像素点。
可选地,该至少一个第二像素点可以与该待编码片段临近但间隔分布。例如,该至少一个第二像素点可以与该待编码片段间隔至少一个像素点。例如,该至少一个第二像素点中的最下方像素点与该待编码片段中的最上方像素点之间可以间隔至少一个像素点。
可选地,该至少一个第二像素点的数据可以包括该至少一个第二像素点中一个或多个第二像素点的原始数据。
可选地,该至少一个第二像素点的数据也可以包括该至少一个第二像素点中一个或多个第二该像素点的已编码数据。
可选地,像素点的已编码数据可以包括像素点的已编码的数据。
可选地,可以根据待编码片段中的数据,从该待编码片段左侧的至少一个第一像素点和该待编码片段上方的至少一个第二像素点中,确定该待编码片段的参考像素点。即,可以将该至少一个第一像素点或该至少一个第二像素点确定为该待编码片段的参考像素点。
相应地,可以将该至少一个第一像素点的数据或将该至少一个第二像素点的数据确定为该待编码片段的参考数据。
因此,本申请提供的编码方法,采用固定倍率对矩形区域进行编码处理,在具有较高编码质量的同时具有较低的实现复杂度。
在第一方面的第一种可能的实现方式中,该根据待编码片段中的数据,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据,包括:根据该待编码片段中的数据和该至少一个第一像素点的数据,确定该待编码片段与该待编码片段的左侧数据之间的相关度;根据该待编码片段中的数据和该至少一个第二像素点的数据,确定该待编码片段与该待编码片段的上侧数据之间的相关度;根据该待编码片段与该待编码片段的左侧数据之间的相关度以及该待编码片段与该待编码片段的上侧数据之间的相关度,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据。
可选地,可以确定该待编码片段中的数据与该待编码片段的左侧数据之间的差值的绝对值,并根据该差值的绝对值,确定该待编码片段与该待编码片段的左侧数据之间的相关度。
可选地,该待编码片段中的数据与该编码片段的左侧数据之间的差值的绝对值可以是根据该编码片段中每个像素点的数据和与该每个像素点对应的第一像素点的数据之间的差值的绝对值得到的。
作为一个例子,该待编码片段中的数据与该待编码片段的左侧数据之间的差值的绝对值可以是该编码片段中每个像素点的数据和与该每个像素点对应的第一像素点的数据之间的差值的绝对值之和的函数。
可选地,该函数可以为绝对差值的绝对值函数或平均方差函数。
可选地,该待编码片段中的数据与该待编码片段的左侧数据之间的差值的绝对值越小,可以表明该待编码片段与该待编码片段的左侧数据之间的相关度越大。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第二种可能的实现方式中,该根据该待编码片段与该待编码片段的左侧数据之间的相关度以及该待编码片段与该待编码片段的上侧数据之间的相关度,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据,包括:将该待编码片段的左侧数据和上侧数据中与该待编码片段之间相关度较大的数据,确定为该待编码片段的参考数据。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:向该待编码片段的编码比特流添加第一标识符,该第一标识符用于指示该待编码片段的参考数据所在位置。
可选地,该图像的编码比特流可以包括与该图像中的至少一个片段对应的至少一个第一标识符,每个第一标识符可以用于标识对应的片段的参考数据或参考像素点所在位置。例如,第一标识符可以用于标识该第一标识符对应的片段的参考像素点位于该片段的左侧或上侧。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第四种可能的实现方式中,该根据该参考数据,对该待编码片段进行编码处理,包括:根据该参考数据,对该待编码片段进行预测处理,得到该待编码片段的预测残差;利用该待编码片段的量化参数,对该待编码片段的预测残差进行量化处理,得到该待编码片段的量化结果;对该待编码片段的量化结果进行熵编码处理,得到该待编码片段的编码结果。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第五种可能的实现方式中,在该利用该待编码片段的量化参数,对该待编码片段的预测结果进行量化处理之前,该方法还包括:根据该参考数据,确定该待编码片段的量化参数。
可选地,该根据该参考数据,确定该待编码片段的量化参数,包括:根据该参考数据和该待编码片段中的数据,确定该待编码片段的复杂度;根据该待编码片段的复杂度,确定该待编码片段的量化参数。
可选地,该根据该参考数据和该待编码片段中的数据,确定该待编码片段的复杂度,包括:根据该参考数据和该待编码片段中的数据,确定该待编码片段中每个像素点的残差;根据该待编码片段中每个像素点的残差,确定该待编码片段的复杂度。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第六种可能的实现方式中,该根据该待编码片段的复杂度,确定该待编码片段的量化参数,包括:根据该待编码片段所属矩形区域中的每个片段的复杂度,确定该待编码片段所属矩形区域的复杂度;通过比较该待编码片段的复杂度和该待编码片段所属矩形区域的复杂度,确定该待编码片段的量化参数。
可选地,矩形区域的复杂度可以等于该矩形区域中每个片段的复杂度的函数,例如,平均值函数或平均方差函数等等。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第七种可能的实现方式中,该从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据,包括:若该待编码片段具有可用的左侧数据和可用的上侧数据,从该待编码片段的可用的左侧数据和可用的上侧数据中,确定该待编码片段的参考数据。
此时,在确定待编码片段具有可用的左侧数据并且具有可用的上侧数据的情况下,从该待编码片段可用的左侧数据和可用的上侧数据中,确定该待编码片段的参考数据。
可选地,如果待编码片段仅具有可用的左侧数据,则可以将该待编码片段的左侧数据确定为该待编码片段的参考数据。
可选地,如果待编码片段仅具有可用的上侧数据,则可以将该待编码片段的上侧数据确定为该待编码片段的参考数据。
可选地,可以根据待编码片段是否位于矩形区域的边界、子图像的边界或图像的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
作为一个例子,与待编码片段属于同一个图像中的数据可以作为该待编码片段可用的左侧数据和/或上侧数据。相应地,可以根据待编码片段是否位于图像的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
可选地,可以尽量使用待编码片段的上侧数据作为待编码片段的参考数据,从而有利于提高编码质量。
可选地,若该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界相邻,则可以将该待编码片段中的前N个像素点的预测值确定为预设数值,并且根据该前N个像素点的数据,对该待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为该待编码片段中包括的像素点的数量,1≤N≤T。
具体地,如果该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界相邻,则该待编码片段可以既不具有可用的左侧数据,也不具有可用的上侧数据。
可选地,该预设数值可以为1<<(BitDepth-1),表示将1向左移位BitDepth-1位,其中,BitDepth为像素比特深度。
可选地,N可以根据同时处理的像素点个数M和时序逻辑延迟L确定。
可选地,该待编码片段的前N个像素点可以具体为该待编码片段包括的T个像素点中位于最左侧的N个像素点。
可选地,若该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界间隔分布,则可以根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界间隔分布,则该待编码片段可以具有可用的左侧数据并且不具有可用的上侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指图像中位于该待编码片段左侧的至少一个像素点的数据。
可选地,若该待编码片段与该图像的上边界间隔分布并且该待编码片段与该图像的左边界相邻,则可以根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该图像的左边界相邻并且该待编码片段与该图像的上边界间隔分布,则该待编码片段可以具有可用的上侧数据并且不具有可用的左侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指图像中位于该待编码片段上方的至少一个像素点的数据。
作为另一个例子,只有与待编码片段属于同一个矩形区域中的数据才可以作为该待编码片段可用的左侧数据和/或上侧数据。相应地,假设待编码片段属于第一矩形区域,可以根据待编码片段是否位于第一矩形区域的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
这样,能够使得对各个矩形区域之间的编码相互独立。
可选地,若该待编码片段与第一矩形区域的上边界相邻并且该待编码片段与该第一矩形区域的左边界相邻,将该待编码片段中的前N个像素点的预测值确定为预设数值,并且根据该前N个像素点的数据,对该待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为该待编码片段中包括的像素点的数量,1≤N≤T。
如果该待编码片段与第一矩形区域的上边界相邻并且该待编码片段与该第一矩形区域的左边界相邻,则该待编码片段可以既不具有可用的左侧数据,也不具有可用的上侧数据。
可选地,若该待编码片段与该第一矩形区域的上边界相邻并且该待编码片段与该第一矩形区域的左边界间隔分布,根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该第一矩形区域的上边界相邻并且该待编码片段与该第一矩形区域的左边界间隔分布,则该待编码片段可以具有可用的左侧数据并且不具有可用的上侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指与该待编码片段属于同一个矩形区域(即位于第一矩形区域中)并且位于该待编码片段左侧的至少一个像素点的数据。
可选地,若该待编码片段与该第一矩形区域的上边界间隔分布并且该待编码片段与该第一矩形区域的左边界相邻,根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该第一矩形区域的左边界相邻并且该待编码片段与该第一矩形区域的上边界间隔分布,则该待编码片段可以具有可用的上侧数据并且不具有可用的左侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指与该待编码片段属于同一个矩形区域(即位于第一矩形区域中)并且位于该待编码片段上方的至少一个像素点的数据。
作为另一个例子,该图像可以包括至少一个子图像,每个子图像包括至少一个矩形区域。例如,每个子图像在高度方向上可以包括一个或多个矩形区域。
此时,可选地,只有与待编码片段属于同一个子图像中的数据才可以作为该待编码片段可用的左侧数据和/或上侧数据。相应地,可以根据待编码片段是否位于其所属子图像的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
可选地,若该待编码片段与该待编码片段所属子图像的上边界相邻并且该待编码片段与该待编码片段所属子图像的左边界相邻,将该待编码片段中的前N个像素点的预测值确定为预设数值,并且根据该前N个像素点的数据,对该待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为该待编码片段中包括的像素点的数量,1≤N≤T。
如果该待编码片段与其所属子图像的上边界相邻并且该待编码片段与其所属子图像的左边界相邻,则该待编码片段可以既不具有可用的左侧数据,也不具有可用的上侧数据。
可选地,若该待编码片段与该待编码片段所属子图像的上边界相邻并且该待编码片段与该待编码片段所属子图像的左边界间隔分布,根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与其所属子图像的上边界相邻并且该待编码片段与其所属子图像的左边界间隔分布,则该待编码片段可以具有可用的左侧数据并且不具有可用的上侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指与该待编码片段属于同一个子图像且位于该待编码片段左侧的至少一个像素点的数据。
可选地,若该待编码片段与该待编码片段所属子图像的上边界间隔分布并且该待编码片段与该待编码片段所属子图像的左边界相邻,根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与其所属子图像的左边界相邻并且该待编码片段与其所属子图像的上边界间隔分布,则该待编码片段可以具有可用的上侧数据并且不具有可用的左侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指与该待编码片段属于同一个子图像并且位于该待编码片段上方的至少一个像素点的数据。
作为另一个例子,也可以根据不同的标准确定该待编码片段是否具有可用的上侧数据和左侧数据。例如,待编码片段可以将同一子图像中的上侧数据作为可用的上侧数据而仅可以将同一个矩形区域中的左侧数据作为可用的左侧数据。再例如,待编码片段可以将同一子图像中的左侧数据作为可用的左侧数据而仅可以将同一个矩形区域中的左侧数据作为可用的左侧数据,等等。
可选地,若该待编码片段与该待编码片段所属子图像的左边界相邻并且该待编码片段与该图像的上边界间隔分布,根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,只有与待编码片段属于同一个子图像中的数据才可以作为该待编码片段可用的左侧数据,而图像中位于该待编码片段上侧的数据可以作为该待编码片段的可用的上侧数据。相应地,可以根据待编码片段是否位于其所属子图像的左边界来确定该待编码片段是否具有可用的左侧数据,并且可以根据待编码片段是否位于图像的上边界来确定该待编码片段是否具有可用的上侧数据。
可选地,若该待编码片段与该其所属子图像的左边界相邻并且该待编码片段与图像的上边界间隔分布,此时,无论该待编码片段是否处于其所属子图像的上边界,都可以认为其具有可用的上侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指图像中位于该待编码片段上方的至少一个像素点的数据。
可选地,若该待编码片段与该待编码片段所属子图像的上边界相邻并且该待编码片段与该图像的左边界间隔分布,根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,只有与待编码片段属于同一个子图像中的数据才可以作为该待编码片段可用的上侧数据,而图像中位于该待编码片段左侧的数据可以作为该待编码片段的可用的左侧数据。相应地,可以根据待编码片段是否位于其所属子图像的上边界来确定该待编码片段是否具有可用的上侧数据,并且可以根据待编码片段是否位于图像的左边界来确定该待编码片段是否具有可用的左侧数据。
可选地,若该待编码片段与该其所属子图像的上边界相邻并且该待编码片段与图像的左边界间隔分布,此时,无论该待编码片段是否处于其所属子图像的左边界,都可以认为其具有可用的左侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指图像中位于该待编码片段左侧的至少一个像素点的数据。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第八种可能的实现方式中,该待编码片段中的每M个相邻像素点对应于相同的参考像素点,其中,该待编码片段的参考数据包括该参考像素点的数据,M≥1。
可选地,位于同一行的M个相邻像素点可以对应于相同的参考像素点。相应地,可以同时对位于同一行的M个相邻像素点进行编码处理。
这样,可以同时对M个像素点同时进行编码处理,从而能够提高数据处理效率。
结合第一方面或第一方面的上述可能的实现方式,在第一方面的第九种可能的实现方式中,该方法还包括:若该待编码片段所属矩形区域当前已使用的编码比特数Bi小于或等于该待编码片段所属矩形区域允许使用的编码比特数B,并且该待编码片段中的当前待编码像素点需要使用的编码比特数bi+1与Bi之和大于B,向该待编码片段的编码比特流添加结束码,该结束码用于标识对该待编码片段所属矩形区域的编码结束并且该待编码片段所属矩形区域具有至少一个未编码的像素点。
可选地,B可以等于固定码率对应的编码比特数。
如果矩形区域的编码比特数用尽并且该矩形区域还有未编码的至少一个像素点,则可以在图像的编码比特流中添加矩形区域对应的结束码,用于指示该矩形区域中具有至少一个未编码的像素点。
第二方面,提供了一种解码方法,包括:获取图像的编码比特流中与待解码片段对应的第一标识符;根据该待编码片段对应的第一标识符,确定该待解码片段的参考数据为该待解码片段的上侧数据或左侧数据,其中,该待解码片段的左侧数据包括位于该待解码片段左侧的至少一个第一像素点的数据,该待解码数据的上侧数据包括位于该待解码片段上方的至少一个第二像素点的数据;根据该待解码片段的参考数据,对该待解码片段进行解码处理。
该图像可以包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点,其中,长度相同的矩形区域对应的编码比特数少于或等于预设的比特数。
可选地,该图像的编码比特流可以包括与该图像包括的至少一个片段中每个片段对应的第一标识符,每个片段对应的第一标识符用于标识该每个片段的参考数据(或参考像素点)所在位置。
在第二方面的第一种可能的实现方式中,该根据该参考数据,对该待解码片段进行解码处理,包括:对该待解码片段进行熵解码处理,得到该待解码片段的量化参数;根据该待解码片段的量化参数,对该待解码片段进行反量化处理,得到该待解码片段的残差数据;根据该参考数据,对该待解码片段的残差数据进行反预测(或补偿)处理,得到该待解码片段的解码结果。
第三方面,提供了一种编码装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。
具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第四方面,提供了一种解码装置,用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。
具体地,该装置包括用于执行上述第二方面或第二方面的任意可能的实现方式中的方法的单元。
第五方面,提供了另一种编码装置,包括:存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第六方面,提供了另一种解码装置,包括:存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第七方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第八方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面中的任一可能的实现方式中的方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面或第二方面中的任一可能的实现方式中的方法。
第十一方面,提供了编解码系统,包括第三方面中的任意编码装置和第四方面中的任意解码装置,或者包括第五方面中的任意编码装置和第六方面中的任意解码装置。
附图说明
图1是本申请实施例提供的编码方法的示意性流程图。
图2是本申请实施例提供的解码方法的示意性流程图。
图3是本申请实施例提供的编码装置的示意性框图。
图4是本申请实施例提供的编码装置的另一示意性框图。
图5是本申请实施例提供的解码装置的示意性框图。
图6是本申请实施例提供的编码装置的另一示意性框图。
图7是本申请实施例提供的解码装置的另一示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的技术方案能够应用于各种视频应用系统,例如相机系统、显示系统等等,本申请实施例对此不做限定。
在本申请实施例中,可以将图像分成至少一个矩形区域,每个矩形区域包括多个像素点。可选地,可以将一个矩形区域称为一个tile或其他名称,但本申请实施例对此不做限定。可选地,如果将图像分成多个矩形区域,则图像中的不同矩形区域可以具有相同或不同的长度。作为一个例子,与图像边界间隔分布的至少一个矩形区域可以具有相同的长度。可选地,在本申请实施例中,矩形区域的高度可以为1个像素点或多个像素点,本申请实施例对此不做限定。
例如,可以按照第一预设尺寸将一幅图像划分成多个矩形区域,不位于图像边界的矩形区域可以具有相同的大小。位于图像边界的矩形区域受图像尺寸的限制,其大小可以由第一预设尺寸和图像尺寸共同决定,可能与其它不位于图像边界的矩形区域的大小相同,也可能与其他矩形区域的大小不相同。例如,假设图像长度为3840个像素,并且第一预设尺寸为1056个像素,可以按照从左至右的顺序,将图像分成四个矩形区域,其中,第1到第3个矩形区域的长度可以均为1056个像素,第4个矩形区域位于图像边界,如果该矩形区域的长度仍为1056个像素,则该矩形区域会超出图像边界,此时,可以将第4个矩形区域的长度设置为672个像素,但本申请实施例不限于此。
可选地,可以将该至少一个矩形区域中的部分或所有矩形区域进一步划分成至少一个片段(segment),每个片段包括至少一个像素点。可选地,如果将一个矩形区域分成多个片段,则矩形区域中的不同片段可以具有相同或不同的长度。作为一个例子,与矩形区域的边界间隔分布的至少一个片段可以具有相同的长度,但本申请实施例不限于此。
例如,可以按照第二预设尺寸将一个矩形区域划分成多个片段,不位于矩形区域边界的片段可以具有相同的大小,位于矩形区域边界的片段受矩形区域的尺寸限制,其大小可能与其它不位于矩形区域边界的片段大小相同或不同,本申请实施例对此不做限定。
在本申请实施例中,可以以矩形区域为单位,采用固定倍率对图像中的像素点进行编解码处理。也就是说,长度相同的矩形区域对应的编码比特数少于或等于预设的比特数。
具体地,当所述的编码比特数等于预设的比特数时,长度相同的矩形区域对应相同的编码比特数,即以固定倍率对该图像中的矩形区域进行编码处理。
当所述的编码比特数少于或等于预设的比特数时,所述矩形区域对应的图像的编码压缩率大于或等于所述长度相同的矩形区域对应相同的编码比特数的压缩率。
该处理方法的目的在于保证整幅图像的编码压缩率,同时由于不用严格保证每个矩形区域对应相同的编码比特数,从而可以提高每个矩形区域的编码灵活性并提高编码效率。
这样,本申请实施例提供的技术方案具有较低的实现复杂度,同时具有较高的编码效率。
例如,假设矩形区域的长度为1056个像素,每个像素包含Y、U、V三个分量,每个分量的比特数为12比特,则该矩形区域包含的未编码的比特总数为12672。若压缩倍率为2倍,则该矩形区域对应的压缩之后的比特数(即编码比特数)为6336。
在本申请实施例中,可选地,可以针对矩形区域中的每个片段确定采用左侧数据或上侧数据作为参考数据,有利于提高编码质量。
此外,在本申请实施例中,可选地,对片段的编码比特数可以不采用固定倍率进行编解码处理,从而保证矩形区域中片段的编码质量以及编码和解码的灵活性。
图1示出了本申请实施例提供的编码方法100的示意性流程图。
S110,确定待编码片段的参考数据。
作为一个可选实施例,可以根据待编码片段中的数据,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据。
该待编码片段的左侧数据可以包括位于该待编码片段左侧的至少一个第一像素点的数据。可选地,该至少一个第一像素点的个数可以与该待编码片段包括的像素点个数相等,或者,该至少一个第一像素点的个数也可以大于或小于该待编码片段包括的像素点个数,本申请实施例对此不做限定。
该至少一个第一像素点可以位于该待编码片段的左侧。可选地,该至少一个第一像素点可以与该待编码片段相邻,即该至少一个第一像素点中的最右侧像素点可以与该待编码片段中的最左侧像素点相邻。或者,该至少一个第一像素点也可以与该待编码片段间隔分布,例如,该至少一个第一像素点与该待编码片段之间可以间隔至少一个像素点,即该至少一个第一像素点中的最右侧像素点可以与该待编码片段中的最左侧像素点之间间隔至少一个像素点,其中,该至少一个第一像素点与该待编码片段之间间隔的像素点个数可以小于某一阈值,即该至少一个第一像素点可以与该待编码片段临近,但本申请实施例对此不做限定。
可选地,第一像素点的数据可以指第一像素点的原始数据或已编码数据。相应地,该至少一个第一像素点的数据可以包括该至少一个第一像素点中每个第一像素点的原始数据,或者可以包括该至少一个第一像素点中每个第一像素点的已编码数据,或者可以包括该至少一个第一像素点中部分像素点的原始数据以及另一部分像素点的已编码数据,等等,本申请实施例对此不做限定。
该待编码数据的上侧数据包括位于该待编码片段上方的至少一个第二像素点的数据。可选地,该至少一个第二像素点的个数可以与该待编码片段包括的像素点个数相等,或者,该至少一个第二像素点的个数也可以大于或小于该待编码片段包括的像素点个数,本申请实施例对此不做限定。
该至少一个第二像素点可以位于该待编码片段的上方。可选地,该至少一个第二像素点可以与该待编码片段相邻。或者,该至少一个第二像素点也可以与该待编码片段间隔分布,例如,该至少一个第二像素点与该待编码片段之间可以间隔至少一个像素点,其中,该至少一个第二像素点与该待编码片段之间间隔的像素点个数可以小于某一阈值,即该至少一个第二像素点可以与该待编码片段临近,但本申请实施例对此不做限定。
可选地,第二像素点的数据可以指第二像素点的原始数据或已编码数据。相应地,该至少一个第二像素点的数据可以包括该至少一个第二像素点中每个第二像素点的原始数据,或者可以包括该至少一个第二像素点中每个第二像素点的已编码数据,或者可以包括该至少一个第二像素点中部分像素点的原始数据以及另一部分像素点的已编码数据,等等,本申请实施例对此不做限定。
在本申请实施例中,可以根据片段中包括的至少一个像素点,从该片段的左侧数据和上侧数据中,选择该片段的参考数据。具体地,可以根据待编码片段中包括的至少一个像素点,从该片段左侧的至少一个第一像素点和该片段上方的至少一个第二像素点中,确定该片段的参考像素点。例如,可以将待编码片段左侧的至少一个第一像素点确定为该待编码片段的参考像素点,相应地,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据。再例如,也可以将待编码片段上方的至少一个第二像素点确定为该待编码片段的参考像素点,相应地,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,这里的参考数据可以具体指参考像素点的数据,本申请实施例对此不做限定。
作为一个可选实施例,可以根据该待编码片段与该至少一个第一像素点之间的相关度以及该待编码片段与该至少一个第二像素点之间的相关度,从该至少一个第一像素点和该至少一个第二像素点中,确定该待编码片段的参考像素点。相应地,可以根据该待编码片段与该待编码片段的左侧数据之间的相关度以及该待编码片段与该待编码片段的上侧数据之间的相关度,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据。
可选地,在本申请实施例中,可以根据该待编码片段中包括的至少一个像素点的数据和该待编码片段的左侧数据,确定该待编码片段与该待编码片段的左侧数据之间的相关度。作为一个例子,可以确定该待编码片段中的数据与该待编码片段的左侧数据之间的差值的绝对值,并根据该差值的绝对值,确定该待编码片段与该待编码片段的左侧数据之间的相关度。可选地,还可以采用该待编码片段与该待编码片段的左侧数据之间的方差或经数据变换,如哈达码(Hadamard)变换,之后的数据,确定该带编码片段与左侧数据之间的相关度。作为一个例子,该待编码片段中的数据与该待编码片段的左侧数据之间的差值的绝对值越小,可以表明该待编码片段与该待编码片段的左侧数据之间的相关度越大,但本申请实施例不限于此。
可选地,在本申请实施例中,该待编码片段中的数据与该编码片段的左侧数据之间的差值的绝对值可以是根据该编码片段中每个像素点的数据和与该每个像素点对应的第一像素点的数据之间的差值的绝对值得到的。例如,该待编码片段中的数据与该待编码片段的左侧数据之间的差值的绝对值可以是该编码片段中每个像素点的数据和与该每个像素点对应的第一像素点的数据之间的差值的绝对值之和的函数,该函数可以是平均值函数或均方差函数,等等,但本申请实施例不限于此。
例如,假设待编码片段的数据可以由以下集合表示:{currSegi,i=1,…,n},并假设待编码片段的左侧数据可以由以下集合表示{neiSegj,j=1,…,m},其中,n为该待编码片段包括的像素点个数,m为该至少一个第一像素点的个数。如果n=m,则该待编码片段和该待编码片段的左侧数据之间的差值diff可以由下式确定:
如果n>m,则该待编码片段和该待编码片段的左侧数据之间的差值diff可以由下式确定:
其中,{currSeg′i,i=1,…,m}可以是利用特定步长对待编码片段的数据{currSegi,i=1,…,n}进行采样得到的m个数据。该采样数据可以是通过对待编码片段的数据中的特定步长内的数据求平均值得到的,或者可以是通过在特定步长内抽取该待编码片段的数据中的一个点得到的,等等,本申请实施例对此不做限定。可选地,该特定步长可以是根据n和m确定的。例如,如果n等于m的整数倍,则该特定步长可选地可以为n和m的除数;或者,如果n不等于m的整数倍,则该特定步长可选地可以为n和m的除数的近似值,如n与m的除数向上取整、向下取整或四舍五入得到的数值,但本申请实施例不限于此。
如果n<m,则该待编码数据和该待编码数据的左侧数据之间的差值diff可以由下式确定:
其中,{neiSeg′i,i=1,…,m}可以是利用特定步长对待编码片段的左侧数据{neiSegi,i=1,…,n}进行采样得到的n个数据。该采样数据可以是通过对待编码片段的左侧数据中的特定步长内的数据求平均值得到的,或者可以是通过在特定步长内抽取该待编码片段的左侧数据中的一个点得到的,等等,本申请实施例对此不做限定。可选地,该特定步长可以是根据n和m确定的。例如,如果m等于n的整数倍,则该特定步长可选地可以为n和m的除数;或者,如果m不等于n的整数倍,则该特定步长可选地可以为n和m的除数的近似值,如m与n的除数向上取整、向下取整或四舍五入得到的数值,但本申请实施例不限于此。
可选地,可以根据该待编码片段中包括的至少一个像素点的数据和该待编码片段的上侧数据,确定该待编码片段与该待编码片段的上侧数据之间的相关度。其具体实现可选地可以与上述对左侧数据的处理方式类似,但本申请实施例对此不做限定。
在本申请实施例中,可选地,可以将该待编码片段的左侧数据和上侧数据中与该待编码片段相关度较大的数据,确定为该待编码片段的参考数据,但本申请实施例不限于此。
作为另一个可选实施例,如果该待编码片段仅具有可用的左侧数据而不具有可用的上侧数据,则可以将该待编码片段的左侧数据确定为该待编码片段的参考数据。可选地,如果该待编码片段仅具有可用的上侧数据而不具有可用的左侧数据,则可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,但本申请实施例不限于此。
在本申请实施例中,可选地,一个片段能够使用图像中的任意数据作为参考数据,即该片段能够使用与该片段位于同一矩形区域或不同矩形区域的图像中的任意数据作为参考数据,例如,为了提高编码质量,一个片段可以尽可能使用该片段的上侧数据(例如位于该片段上方的相邻像素点的数据)作为参考数据,无论该上侧数据对应的像素点是否与该片段属于同一矩形区域。或者,一个片段可以仅能够使用该片段所属矩形区域中的数据作为参考数据,而不能使用该片段所属矩形区域以外的数据作为参考数据,这样,能够使得图像中不同矩形区域之间的编解码之间可以相互独立。或者,可以将图像划分为至少一个子图像,每个子图像可以包括至少一个矩形区域,例如,一个矩形区域可以包括一行像素点,一个子图像可以包括H行像素点,H为大于或等于1的整数,这样,一个子图像可以至少包括H个矩形区域,但本申请实施例对此不做限定。此时,一个片段可以仅能够使用该片段所属子图像中的数据作为参考数据,例如,可以使用该片段所属子图像中与该片段属于同一矩形区域的数据,也可以使用该片段所属子图像中与该片段属于不同矩形区域的数据,而不能使用该片段所属子图像之外的数据作为参考数据,但本申请实施例不限于此。
可选地,如果待编码片段与该待编码片段所属矩形区域的上边界不相邻或间隔分布,则可以确定该待编码片段具有可用的上侧数据,相应地,如果待编码片段与该待编码片段所属矩形区域的上边界相邻,则可以确定该待编码片段不具有可用的上侧数据。或者,如果待编码片段与图像的上边界不相邻或间隔分布,则可以确定该待编码片段具有可用的上侧数据,相应地,如果该待编码片段与图像的上边界相邻,则可以确定该待编码片段不具有可用的上侧数据。或者,如果待编码片段与该待编码片段所属子图像的上边界不相邻或间隔分布,则可以确定该待编码片段具有可用的上侧数据,相应地,如果待编码片段与该待编码片段所属子图像的上边界相邻,则可以确定该待编码片段不具有可用的上侧数据,但本申请实施例对此不做限定。
如果待编码片段与该待编码片段所属矩形区域的左边界不相邻或间隔分布,则可以确定该待编码片段具有可用的左侧数据,相应地,如果待编码片段与该待编码片段所属矩形区域的左边界相邻,则可以确定该待编码片段不具有可用的左侧数据。或者,如果待编码片段与图像的左边界不相邻或间隔分布,则可以确定该待编码片段具有可用的左侧数据,相应地,如果该待编码片段与图像的左边界相邻,则可以确定该待编码片段不具有可用的左侧数据。或者,如果待编码片段与该待编码片段所属子图像的左边界不相邻或间隔分布,则可以确定该待编码片段具有可用的左侧数据,相应地,如果待编码片段与该待编码片段所属子图像的左边界相邻,则可以确定该待编码片段不具有可用的左侧数据,但本申请实施例对此不做限定。
作为一个可选实施例,在本申请实施例中,片段是否具有可用的上侧数据和该片段是否具有可用的左侧数据可以具有相同的判断标准。
该从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据,包括:若该待编码片段具有可用的左侧数据和可用的上侧数据,从该待编码片段的可用的左侧数据和可用的上侧数据中,确定该待编码片段的参考数据。
此时,在确定待编码片段具有可用的左侧数据并且具有可用的上侧数据的情况下,从该待编码片段可用的左侧数据和可用的上侧数据中,确定该待编码片段的参考数据。
可选地,如果待编码片段仅具有可用的左侧数据,则可以将该待编码片段的左侧数据确定为该待编码片段的参考数据。
可选地,如果待编码片段仅具有可用的上侧数据,则可以将该待编码片段的上侧数据确定为该待编码片段的参考数据。
可选地,可以根据待编码片段是否位于矩形区域的边界、子图像的边界或图像的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
作为一个例子,与待编码片段属于同一个图像中的数据可以作为该待编码片段可用的左侧数据和/或上侧数据。相应地,可以根据待编码片段是否位于图像的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
可选地,可以尽量使用待编码片段的上侧数据作为待编码片段的参考数据,从而有利于提高编码质量。
可选地,若该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界间隔分布,则可以根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界间隔分布,则该待编码片段可以具有可用的左侧数据并且不具有可用的上侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指图像中位于该待编码片段左侧的至少一个像素点的数据。
可选地,若该待编码片段与该图像的上边界间隔分布并且该待编码片段与该图像的左边界相邻,则可以根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该图像的左边界相邻并且该待编码片段与该图像的上边界间隔分布,则该待编码片段可以具有可用的上侧数据并且不具有可用的左侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指图像中位于该待编码片段上方的至少一个像素点的数据。
作为另一个例子,只有与待编码片段属于同一个矩形区域中的数据才可以作为该待编码片段可用的左侧数据和/或上侧数据。相应地,假设待编码片段属于第一矩形区域,可以根据待编码片段是否位于第一矩形区域的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
这样,能够使得对各个矩形区域之间的编码相互独立。
可选地,若该待编码片段与该第一矩形区域的上边界相邻并且该待编码片段与该第一矩形区域的左边界间隔分布,根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该第一矩形区域的上边界相邻并且该待编码片段与该第一矩形区域的左边界间隔分布,则该待编码片段可以具有可用的左侧数据并且不具有可用的上侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指与该待编码片段属于同一个矩形区域(即位于第一矩形区域中)并且位于该待编码片段左侧的至少一个像素点的数据。
可选地,若该待编码片段与该第一矩形区域的上边界间隔分布并且该待编码片段与该第一矩形区域的左边界相邻,根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与该第一矩形区域的左边界相邻并且该待编码片段与该第一矩形区域的上边界间隔分布,则该待编码片段可以具有可用的上侧数据并且不具有可用的左侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指与该待编码片段属于同一个矩形区域(即位于第一矩形区域中)并且位于该待编码片段上方的至少一个像素点的数据。
作为另一个例子,该图像可以包括至少一个子图像,每个子图像包括至少一个矩形区域。例如,每个子图像在高度方向上可以包括一个或多个矩形区域。
此时,可选地,只有与待编码片段属于同一个子图像中的数据才可以作为该待编码片段可用的左侧数据和/或上侧数据。相应地,可以根据待编码片段是否位于其所属子图像的边界来确定该待编码片段是否具有可用的左侧数据和/或上侧数据。
可选地,若该待编码片段与该待编码片段所属子图像的上边界相邻并且该待编码片段与该待编码片段所属子图像的左边界间隔分布,根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与其所属子图像的上边界相邻并且该待编码片段与其所属子图像的左边界间隔分布,则该待编码片段可以具有可用的左侧数据并且不具有可用的上侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指与该待编码片段属于同一个子图像且位于该待编码片段左侧的至少一个像素点的数据。
可选地,若该待编码片段与该待编码片段所属子图像的上边界间隔分布并且该待编码片段与该待编码片段所属子图像的左边界相邻,根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,如果该待编码片段与其所属子图像的左边界相邻并且该待编码片段与其所属子图像的上边界间隔分布,则该待编码片段可以具有可用的上侧数据并且不具有可用的左侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指与该待编码片段属于同一个子图像并且位于该待编码片段上方的至少一个像素点的数据。
作为另一个可选实施例,也可以根据不同的标准确定该待编码片段是否具有可用的上侧数据和左侧数据。例如,待编码片段可以将同一子图像中的上侧数据作为可用的上侧数据而仅可以将同一个矩形区域中的左侧数据作为可用的左侧数据。再例如,待编码片段可以将同一子图像中的左侧数据作为可用的左侧数据而仅可以将同一个矩形区域中的左侧数据作为可用的左侧数据,等等。
可选地,若该待编码片段与该待编码片段所属子图像的左边界相邻并且该待编码片段与该图像的上边界间隔分布,根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
具体地,只有与待编码片段属于同一个子图像中的数据才可以作为该待编码片段可用的左侧数据,而图像中位于该待编码片段上侧的数据可以作为该待编码片段的可用的上侧数据。相应地,可以根据待编码片段是否位于其所属子图像的左边界来确定该待编码片段是否具有可用的左侧数据,并且可以根据待编码片段是否位于图像的上边界来确定该待编码片段是否具有可用的上侧数据。
可选地,若该待编码片段与该其所属子图像的左边界相邻并且该待编码片段与图像的上边界间隔分布,此时,无论该待编码片段是否处于其所属子图像的上边界,都可以认为其具有可用的上侧数据。此时,可以将该待编码片段的上侧数据确定为该待编码片段的参考数据,其中,该待编码片段的上侧数据可以具体指图像中位于该待编码片段上方的至少一个像素点的数据。
可选地,若该待编码片段与该待编码片段所属子图像的上边界相邻并且该待编码片段与该图像的左边界间隔分布,根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
具体地,只有与待编码片段属于同一个子图像中的数据才可以作为该待编码片段可用的上侧数据,而图像中位于该待编码片段左侧的数据可以作为该待编码片段的可用的左侧数据。相应地,可以根据待编码片段是否位于其所属子图像的上边界来确定该待编码片段是否具有可用的上侧数据,并且可以根据待编码片段是否位于图像的左边界来确定该待编码片段是否具有可用的左侧数据。
可选地,若该待编码片段与该其所属子图像的上边界相邻并且该待编码片段与图像的左边界间隔分布,此时,无论该待编码片段是否处于其所属子图像的左边界,都可以认为其具有可用的左侧数据。此时,可以将该待编码片段的左侧数据确定为该待编码片段的参考数据,其中,该待编码片段的左侧数据可以具体指图像中位于该待编码片段左侧的至少一个像素点的数据。
作为另一个可选实施例,该待编码片段可以不具有可用的上侧数据并且不具有可用的左侧数据,例如,该待编码片段与图像的上边界、该待编码片段所属子图像的上边界或该编码片段所属矩形区域的上边界相邻,并且该待编码片段与图像的左边界、该待编码片段所属子图像的左边界或该编码片段所属矩形区域的左边界相邻,此时,如果该待编码片段的长度大于某一阈值,即该待编码片段包括的位于同一行的像素点的个数大于某一阈值,则可以将该待编码片段中的前面至少一个像素点的数据作为该待编码片段中的后面至少一个像素点的参考数据。
例如,如果该待编码片段包括的位于同一行的像素点个数T大于N,则可以将该待编码片段中的前N个像素点的预测值确定为预设数值,例如,可以将1<<(BitDepth-1)确定为该前N个像素点的预测值,其中,<<为向左移位运算符,BitDepth为像素比特深度,表示每个未编码像素使用的编码比特个数。对该待编码片段中的剩余的(T-N)个像素点进行编码处理时,可以将位于像素点i左侧并且与像素点i间隔L个像素点的像素点j作为像素点i的参考像素,但本申请实施例不限于此。其中,作为参考像素的像素点j的值可以为像素点j的原始像素点的值也可以为像素点j的编码重构像素点的值。
可选地,在本申请实施例中,可以以并行度M对片段中的像素点进行编/解码处理,即可以同时对M个像素点进行编/解码处理,其中,M为大于或等于1的整数。例如,该待编码片段中的每M个相邻像素点可以对应于相同的参考像素点,其中,该M个相邻像素点可以位于同一行,但本申请实施例对此不做限定。
可选地,在本申请实施例中,N可以由M和时序逻辑延迟L决定,所述的时序逻辑延迟由硬件设计的结构决定,如由芯片流水设计的级数决定,其中,L可以是编码端的像素编码延迟值和解码端的像素解码延迟值的最大值,但本申请实施例不限于此。
S120,根据该参考数据,对该待编码片段进行编码处理,得到该待编码片段的编码比特流。
作为一个例子,可以根据该参考数据,对该待编码片段进行预测处理,得到该待编码片段的预测残差。然后,可以利用该待编码片段的量化参数,对该待编码片段的预测残差进行量化处理,得到该待编码片段的量化结果。然后,可以对该待编码片段的量化结果进行熵编码处理,得到该待编码片段的编码结果。
具体地,待编码片段的预测残差可以包括该待编码片段中每个像素点的残差值的绝对值,其中,作为一个例子,像素点的残差值的绝对值可以是该像素点的原始数据与该像素点的参考像素点的原始数据之间的差值的绝对值,但本申请实施例对此不做限定。
可选地,该待编码片段的量化结果可以是通过该待编码片段中每个像素点的残差进行量化处理得到的。本申请实施例中,该量化处理可以为H.264/AVC标准中的量化、H.265/HEVC标准中的量化、AVS1-P2标准中的量化、AVS2-P2标准中的量化或自行设计的量化表,等等,本申请实施例对此不做限定。
在本申请实施例中,熵编码处理可以为无损编码处理,具体可以采用N阶哥伦布码(Nth order Golomb code)、基于内容的自适应可变长度编码(context-based adaptivevariable length coding,CAVLC)、基于内容的自适应二进制算术编码(context-basedadaptive binary arithmetic coding,CABAC)等方式,本申请实施例对此不做限定。
作为另一个可选实施例,还可以根据该参考数据,确定该待编码片段的量化参数。例如,可以根据该参考数据,对原始量化参数进行更新处理,得到该待编码片段的量化参数。其中,该原始量化参数可以为该待编码片段的初始量化参数,例如,该原始量化参数可以为该图像的初始量化参数,或者该待编码片段的上一片段的量化参数,等等,本申请实施例对此不做限定。
可选地,在本申请实施例中,量化参数可以包括量化步长(quantization step)、与量化步长相关或用于指示量化步长的数值(例如QP)、量化矩阵或量化矩阵索引,等等,本申请实施例对此不做限定。
可选地,可以根据该参考数据,确定该待编码片段的复杂度,并根据该待编码片段的复杂度,确定该待编码片段的量化参数。
作为一个例子,可以根据该待编码片段的复杂度和该待编码片段所属矩形区域的总复杂度,确定该待编码片段的量化参数。
在本申请实施例中,可选地,可以根据该待编码片段的参考数据和该待编码片段中每个像素点的数据,确定该每个像素点的残差,并根据该待编码片段中每个像素点的残差,确定该待编码片段的复杂度。其中,可选地,可以根据该待编码片段中每个像素点的数据以及该每个像素点的参考像素点的数据,确定该每个像素点的残差,其中,该待编码片段的参考数据可以包括该待编码片段中每个像素点的参考像素点的数据,但本申请实施例对此不做限定。
可选地,该待编码片段所属矩形区域的总复杂度可以是根据该待编码片段所属矩形区域中包括的每个片段的复杂度确定的,例如,一个矩形区域的总复杂度可以是该矩形区域中包括的多个片段的复杂度的平均值,但本申请实施例不限于此。
作为一个可选实施例,可以通过比较该待编码片段的复杂度和该待编码片段所属矩形区域的总复杂度,确定该待编码片段的量化参数。例如,如果该待编码片段的复杂度大于该待编码片段所属矩形区域的总复杂度,则可以减小原始量化参数,得到该待编码片段的量化参数。再例如,如果该待编码片段的复杂度小于该待编码片段所属矩形区域的总复杂度,则可以增加原始量化参数,得到该待编码片段的量化参数。再例如,如果该待编码片段的复杂度等于该待编码片段所属矩形区域的总复杂度,则可以保持原始量化参数不变,即该待编码片段的量化参数等于原始量化参数,本申请实施例对此不做限定。
在确定了该待编码片段的量化参数之后,可以利用该待编码片段的量化参数,对该待编码片段进行编码处理,但本申请实施例对此不做限定。
这样,在矩形区域对应的编码比特数固定的条件下,根据矩形区域中的每个片段包括的数据,确定该每个片段的量化参数和对应的编码比特数,有利于提高编码质量。
在本申请实施例中,可选地,在确定了该待编码片段的参考数据之后,可以向该待编码片段的编码比特流添加第一标识符,用于指示该待编码片段的参考数据所在位置。例如,该第一标识符可以用于指示该待编码片段的参考数据点位于该待编码片段的左侧还是上侧,或者该第一标识符可以进一步指示该待编码片段的参考数据点的坐标,例如与该待编码片段之间间隔几个像素点等等,本申请实施例对此不做限定。
作为一个例子,可以在该图像的编码比特流的头信息中添加每个片段对应的第一标识符,以标识该片段的参考数据所在位置,但本申请实施例对此不做限定。
可选地,在本申请实施例中,如果在对矩形区域编码的过程中,矩形区域允许使用的编码比特数已经用尽,但该矩形区域中还存在未编码的像素点,则可以在该矩形区域对应的编码比特流中添加结束码,其中,该结束码可以用于标识对矩形区域的编码结束并且该矩形区域还具有至少一个未编码的像素点。可选地,该结束码需要区别于该矩形区域对应的编码比特流中的编码比特,即需要保证该结束码在该矩形区域对应的编码比特流中的唯一性。例如,在采用0阶哥伦布码且编码像素的比特深度(bitdepth)为12时,可以将结束码的图样设置为连续的14个‘0’,但本申请实施例对此不做限定。
作为另一个可选实施例,在对矩形区域编码结束之后,可以在该矩形区域对应的编码比特流中添加填充比特(stuffing bits),以使得该矩形区域对应的编码比特流包括的比特个数严格等于该固定压缩倍率对应的比特数。可选地,该填充比特可以为连续的多个‘1’或连续的多个‘0’,本申请实施例对此不做限定。
因此,本申请实施例提供的编码方法,在保证编码质量的同时可以具有较低的实现复杂度,此外,还可以实现对像素点的并行编码处理,从而提高数据处理能力。
图2示出了本申请实施例提供的解码方法200。
S210,获取图像的编码比特流中与待解码片段对应的第一标识符。
该图像可以包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点。
可选地,在本申请实施例中,长度相同的矩形区域可以对应相同的编/解码比特数。
可选地,该图像的编码比特流可以包括与该图像包括的至少一个片段中每个片段对应的第一标识符,其中,每个片段对应的第一标识符可以用于标识该每个片段的参考数据所在位置。
在本申请实施例中,不同片段可以对应于不同的第一标识符,相应地,可以根据每个片段对应的第一标识符,确定该每个片段的参考数据所在位置,但本申请实施例不限于此。
S220,根据该待解码片段对应的第一标识符,确定该待解码片段的参考数据为该待解码片段的上侧数据或左侧数据。
具体地,该待编码片段对应的第一标识符可以用于标识该待解码片段的参考数据所在位置为该待编码片段的左侧还是上侧。
可选地,该待解码片段的左侧数据可以包括位于该待解码片段左侧的至少一个第一像素点的数据,其中,该至少一个第一像素点可以与该待解码片段相邻或间隔分布,每个第一像素点的数据可以包括该第一像素点的原始数据或已解码数据,本申请实施例对此不做限定。
可选地,该待解码数据的上侧数据可以包括位于该待解码片段上方的至少一个第二像素点的数据,其中,该至少一个第二像素点可以与该待解码片段相邻或间隔分布,每个第二像素点的数据可以包括该第二像素点的原始数据或已解码数据,本申请实施例对此不做限定。
S230,根据该待解码片段的参考数据,对该待解码片段进行解码处理。
可选地,可以对该待解码片段进行熵解码处理,得到该待解码片段的量化参数;然后,可以根据该待解码片段的量化参数,对该待解码片段进行反量化处理,得到该待解码片段的残差数据;然后,可以根据该参考数据,对该待解码片段的残差数据进行反预测或补偿处理,得到该待解码片段的解码结果。
作为一个例子,待解码片段的参考数据可以包括该图像中与该待解码片段临近的像素点的数据。
可选地,若该待解码片段与该图像的上边界相邻并且该待解码片段与该图像的左边界相邻,将该待解码片段中的前N个像素点的残差值确定为预设数值,并且根据该前N个像素点的数据,对该待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为该待解码片段中包括的像素点的数量,1≤N≤T。
可选地,若该待解码片段与该图像的上边界相邻并且该待解码片段与该图像的左边界间隔分布,根据该待解码片段的左侧数据,对该待解码片段中的像素点进行解码处理。
可选地,若该待解码片段与该图像的上边界间隔分布并且该待解码片段与该图像的左边界相邻,根据该待解码片段的上侧数据,对该待解码片段中的像素点进行解码处理。
作为另一个例子,待解码片段的参考数据可以为该待解码片段所属矩形区域中与该待解码片段临近的数据。
可选地,若该待解码片段与该待解码片段所属矩形区域的上边界相邻并且该待解码片段与该待解码片段所属矩形区域的左边界相邻,将该待解码片段中的前N个像素点的残差值确定为预设数值,并且根据该前N个像素点的数据,对该待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为该待解码片段中包括的像素点的数量,1≤N≤T。
可选地,若该待解码片段与该待解码片段所属矩形区域的上边界相邻并且该待解码片段与该待解码片段所属矩形区域的左边界间隔分布,根据该待解码片段的左侧数据,对该待解码片段中的像素点进行解码处理。
可选地,若该待解码片段与该待解码片段所属矩形区域的上边界间隔分布并且该待解码片段与该待解码片段所属矩形区域的左边界相邻,根据该待解码片段的上侧数据,对该待解码片段中的像素点进行解码处理。
作为另一个例子,该图像包括至少一个子图像,每个子图像包括至少一个矩形区域。此时,待解码片段的参考数据可以为该待解码片段所属子图象中与该待解码片段临近的数据。
可选地,若该待解码片段与该待解码片段所属子图像的上边界相邻并且该待解码片段与该待解码片段所属子图像的左边界相邻,将该待解码片段中的前N个像素点的残差值确定为预设数值,并且根据该前N个像素点的数据,对该待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为该待解码片段中包括的像素点的数量,1≤N≤T。
可选地,若该待解码片段与该待解码片段所属子图像的上边界相邻并且该待解码片段与该待解码片段所属子图像的左边界间隔分布,根据该待解码片段的左侧数据,对该待解码片段中的像素点进行解码处理。
可选地,若该待解码片段与该待解码片段所属子图像的上边界间隔分布并且该待解码片段与该待解码片段所属子图像的左边界相邻,根据该待解码片段的上侧数据,对该待解码片段中的像素点进行解码处理。
可选地,若该待解码片段与该待解码片段所属子图像的上边界和左边界相邻并且该待解码片段与该图像的上边界间隔分布,根据该待解码片段的上侧数据,对该待解码片段中的像素点进行解码处理。
可选地,若该待解码片段与该待解码片段所属子图像的上边界和左边界相邻并且该待解码片段与该图像的左边界间隔分布,根据该待解码片段的左侧数据,对该待解码片段中的像素点进行解码处理。
作为另一个例子,可以同时对M个相邻像素点进行解码处理。可选地,该待解码片段中的每M个相邻像素点对应于相同的参考像素点,其中,该待解码片段的参考数据包括该参考像素点的数据,M≥1。
应理解,在本申请实施例中,解码方法200可以对应于上文所述的编码方法,具体可以为编码方法的逆过程,具体实现可以参见上文对编码方法的描述,为了简洁,这里不再赘述。
图3示出了本申请实施例提供的编码装置300,包括:
预分析模块310,用于根据图像的待编码片段中的数据,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据;
编码模块320,用于根据该预分析模块310确定的该参考数据,对该待编码片段进行编码处理,得到该待编码片段的编码比特流。
在本申请实施例中,图像可以包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段可以包括至少一个像素点。
在本申请实施例中,可选地,长度相同的矩形区域对应的编码比特数少于或等于预设的比特数。
具体地,当所述的编码比特数等于预设的比特数时,长度相同的矩形区域对应相同的编码比特数,即以固定倍率对该图像中的矩形区域进行编码处理。
当所述的编码比特数少于或等于预设的比特数时,所述矩形区域对应的图像的编码压缩率大于或等于所述长度相同的矩形区域对应相同的编码比特数的压缩率。
所述处理方法的目的在于保证整幅图像的编码压缩率,同时由于不用严格保证每个矩形区域对应相同的编码比特数,从而可以提高每个矩形区域的编码灵活性并提高编码效率。
在本申请实施例中,待编码片段的左侧数据可以包括位于该待编码片段左侧的至少一个第一像素点的数据,该待编码数据的上侧数据可以包括位于该待编码片段上方的至少一个第二像素点的数据。
待编码片段的参考数据可以指该待编码片段的参考数据点的数据。相应地,确定待编码片段的参考数据的过程可以包括确定该待编码片段的参考数据点,其中,该待编码片段的参考数据点所在位置可以为待编码片段的左侧或上侧,具体可以根据待编码片段的数据和/或位置确定,本申请实施例对此不做限定。
可选地,该至少一个第一像素点可以与该待编码片段相邻或者与该待编码片段临近但间隔分布。
可选地,该至少一个第一像素点的数据可以包括该至少一个第一像素点的原始数据或该至少一个第一像素点的已编码数据。
可选地,该至少一个第二像素点可以与该待编码片段相邻或者与该待编码片段临近但间隔分布。
可选地,该至少一个第二像素点的数据可以包括该至少一个第二像素点的原始数据或该至少一个第二像素点的已编码数据。
作为一个例子,该预分析模块310可以具体用于:
根据该待编码片段中的数据和该至少一个第一像素点的数据,确定该待编码片段与该待编码片段的左侧数据之间的相关度;
根据该待编码片段中的数据和该至少一个第二像素点的数据,确定该待编码片段与该待编码片段的上侧数据之间的相关度;
根据该待编码片段与该待编码片段的左侧数据之间的相关度以及该待编码片段与该待编码片段的上侧数据之间的相关度,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据。
可选地,该预分析模块310具体用于:将该待编码片段的左侧数据和上侧数据中与该待编码片段之间相关度较大的数据,确定为该待编码片段的参考数据。
可选地,该编码模块320还用于:向该待编码片段的编码比特流添加第一标识符,该第一标识符用于指示该待编码片段的参考数据所在位置。
作为另一个可选实施例,如图3所示,该装置300还包括:边界处理模块330,用于若该待编码片段所属矩形区域当前已使用的编码比特数Bi小于或等于该待编码片段所属矩形区域允许使用的编码比特数B,并且该待编码片段中的当前待编码像素点需要使用的编码比特数bi+1与Bi之和大于B,向该待编码片段的编码比特流添加结束码,该结束码用于标识对该待编码片段所属矩形区域的编码结束并且该待编码片段所属矩形区域具有至少一个未编码的像素点。
作为一个例子,如图4所示,该编码模块320可以包括:
预测单元321,用于根据该参考数据,对该待编码片段进行预测处理,得到该待编码片段的预测残差;
量化单元322,用于利用该待编码片段的量化参数,对该预测单元321得到的该待编码片段的预测残差进行量化处理,得到该待编码片段的量化结果;
熵编码单元323,用于对该量化单元322得到的该待编码片段的量化结果进行熵编码处理,得到该待编码片段的编码结果。
作为另一个例子,该编码模块320还可以包括:速率控制单元324,用于在该量化单元322利用该待编码片段的量化参数,对该待编码片段的预测结果进行量化处理之前,根据该预分析模块310确定的参考数据,确定该待编码片段的量化参数;
相应地,该量化单元322可以具体用于利用该速率控制单元324确定的量化参数,对该待编码片段的预测结果进行量化处理。
可选地,该速率控制单元324具体用于:
根据该预分析模块310确定的该参考数据和该待编码片段中的数据,确定该待编码片段的复杂度;
根据该待编码片段的复杂度,确定该待编码片段的量化参数。
可选地,该速率控制单元324具体用于:
根据该参考数据和该待编码片段中的数据,确定该待编码片段中每个像素点的残差;
根据该待编码片段中每个像素点的残差,确定该待编码片段的复杂度。
可选地,该速率控制单元324具体用于:
根据该待编码片段所属矩形区域中的每个片段的复杂度,确定该待编码片段所属矩形区域的复杂度;
通过比较该待编码片段的复杂度和该待编码片段所属矩形区域的复杂度,确定该待编码片段的量化参数。
作为一个例子,该预分析模块310可以具体用于:若该待编码片段具有可用的左侧数据和可用的上侧数据,从该待编码片段的可用的左侧数据和可用的上侧数据中,确定该待编码片段的参考数据。
此时,如果该待编码片段仅具有可用的左侧数据或上侧数据,则该预分析模块310可以将该待编码片段具有的可用的左侧数据或上侧数据确定为该待编码片段的参考数据。
可选地,如果该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界相邻,该编码模块320还可以用于将该待编码片段中的前N个像素点的预测值确定为预设数值,并且根据该前N个像素点的数据,对该待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为该待编码片段中包括的像素点的数量,1≤N≤T。
可选地,如果该待编码片段与该图像的上边界相邻并且该待编码片段与该图像的左边界间隔分布,该编码模块320还可以用于根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
可选地,如果该待编码片段与该图像的上边界间隔分布并且该待编码片段与该图像的左边界相邻,该编码模块320还可以用于根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
可选地,如果该待编码片段与该待编码片段所属矩形区域的上边界相邻并且该待编码片段与该待编码片段所属矩形区域的左边界相邻,该编码模块320还可以用于将该待编码片段中的前N个像素点的预测值确定为预设数值,并且根据该前N个像素点的数据,对该待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为该待编码片段中包括的像素点的数量,1≤N≤T。
可选地,如果该待编码片段与该待编码片段所属矩形区域的上边界相邻并且该待编码片段与该待编码片段所属矩形区域的左边界间隔分布,该编码模块320还可以用于根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理;
可选地,如果该待编码片段与该待编码片段所属矩形区域的上边界间隔分布并且该待编码片段与该待编码片段所属矩形区域的左边界相邻,该编码模块320还可以用于根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
可选地,如果该待编码片段与该待编码片段所属子图像的上边界相邻并且该待编码片段与该待编码片段所属子图像的左边界相邻,该编码模块320还可以用于将该待编码片段中的前N个像素点的预测值确定为预设数值,并且根据该前N个像素点的数据,对该待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为该待编码片段中包括的像素点的数量,1≤N≤T。
可选地,如果该待编码片段与该待编码片段所属子图像的上边界相邻并且该待编码片段与该待编码片段所属子图像的左边界间隔分布,该编码模块320还可以用于根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
可选地,如果该待编码片段与该待编码片段所属子图像的上边界间隔分布并且该待编码片段与该待编码片段所属子图像的左边界相邻,根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
可选地,如果该待编码片段与该待编码片段所属子图像的上边界和左边界相邻并且该待编码片段与该图像的上边界间隔分布,该编码模块320还可以用于根据该待编码片段的上侧数据,对该待编码片段中的像素点进行编码处理。
可选地,如果该待编码片段与该待编码片段所属子图像的上边界和左边界相邻并且该待编码片段与该图像的左边界间隔分布,该编码模块320还可以用于根据该待编码片段的左侧数据,对该待编码片段中的像素点进行编码处理。
可选地,该待编码片段中的每M个相邻像素点可以对应于相同的参考像素点,其中,该待编码片段的参考数据包括该参考像素点的数据,M≥1。
应理解,上文对编码装置300的描述仅是示例性地,在某些情况下,编码装置300也可以不包括上述一个或多个模块,例如,该编码装置300可以不包括边界处理模块330,但本申请实施例对此不做限定。
还应理解,这里的装置300以功能模块的形式体现。在一个可选例子中,本领域技术人员可以理解,装置300可以具体为上述实施例中的编码方法的执行主体,装置300可以用于执行上述方法实施例中的各个流程和/或步骤,为避免重复,在此不再赘述。
图5示出了本申请实施例提供的解码装置400,包括:
获取模块410,用于获取图像的编码比特流中与待解码片段对应的第一标识符,其中,该图像包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点,其中,长度相同的矩形区域对应的编码比特数少于或等于预设的比特数,该图像的编码比特流包括与该图像包括的至少一个片段中每个片段对应的第一标识符,每个片段对应的第一标识符用于标识该每个片段的参考数据所在位置;
确定模块420,用于根据该获取模块410获取的该待编码片段对应的第一标识符,确定该待解码片段的参考数据为该待解码片段的上侧数据或左侧数据,其中,该待解码片段的左侧数据包括位于该待解码片段左侧的至少一个第一像素点的数据,该待解码数据的上侧数据包括位于该待解码片段上方的至少一个第二像素点的数据;
解码模块430,用于根据该确定模块420确定的该待解码片段的参考数据,对该待解码片段进行解码处理。
可选地,该解码模块430可以包括:
熵解码单元,用于对该待解码片段进行熵解码处理,得到该待解码片段的量化参数;
反量化单元,用于根据该熵解码单元得到的该待解码片段的量化参数,对该待解码片段进行反量化处理,得到该待解码片段的残差数据;
反预测单元,用于根据该确定模块420确定的该参考数据,对该反量化单元得到的该待解码片段的残差数据进行反预测处理,得到该待解码片段的解码结果。
应理解,这里的装置400以功能模块的形式体现。在一个可选例子中,本领域技术人员可以理解,装置400可以具体为上述实施例中的解码方法的执行主体,装置400可以用于执行上述方法实施例中的各个流程和/或步骤,为避免重复,在此不再赘述。
还应理解,在本申请实施例中,术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
图6示出了本申请实施例提供的另一编码装置500,包括:处理器510和存储器520,其中,该存储器520用于存储指令,该处理器510用于执行该存储器存储的指令,其中,对存储器520中存储的该指令的执行使得该处理器510执行以下操作:根据图像的待编码片段中的数据,从该待编码片段的左侧数据和上侧数据中,确定该待编码片段的参考数据;根据该参考数据,对该待编码片段进行编码处理,得到该待编码片段的编码比特流。
可选地,该处理器510可以具体用于:根据该参考数据,对该待编码片段进行预测处理,得到该待编码片段的预测残差;利用该待编码片段的量化参数,对该待编码片段的预测残差进行量化处理,得到该待编码片段的量化结果;以及对该待编码片段的量化结果进行熵编码处理,得到该待编码片段的编码结果。
可选地,该处理器510还可以用于:根据该参考数据,确定该待编码片段的量化参数。
在一个可选例子中,本领域技术人员可以理解,装置500可以具体为上述实施例中的编码装置,装置500可以用于执行上述方法实施例中的各个流程和/或步骤,为避免重复,在此不再赘述。
图7示出了本申请实施例提供的另一解码装置600,包括:处理器610和存储器620,其中,该存储器620用于存储指令,该处理器610用于执行该存储器存储的指令,其中,对存储器620中存储的该指令的执行使得该处理器610执行以下操作:
获取图像的编码比特流中与待解码片段对应的第一标识符;
根据该待编码片段对应的第一标识符,确定该待解码片段的参考数据为该待解码片段的上侧数据或左侧数据;
根据该待解码片段的参考数据,对该待解码片段进行解码处理。
可选地,该处理器610具体用于:
对该待解码片段进行熵解码处理,得到该待解码片段的量化参数;
根据该待解码片段的量化参数,对该待解码片段进行反量化处理,得到该待解码片段的残差数据;
根据该参考数据,对该待解码片段的残差数据进行反预测处理,得到该待解码片段的解码结果。
在一个可选例子中,本领域技术人员可以理解,装置600可以具体为上述实施例中的解码装置,装置600可以用于执行上述方法实施例中的各个流程和/或步骤,为避免重复,在此不再赘述。
应理解,在本申请实施例中,处理器可以是中央处理单元(central processingunit,CPU),处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与终端设备对应的各个步骤。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
还应理解,在本申请实施例中,图像中的像素点可以位于不同的行和/或列,其中,A的长度可以对应于A包括的位于同一行的像素点个数,A的高度可以对应于A包括的位于同一列的像素点个数。此外,A的长度和高度也可以分别称为A的宽度和深度,本申请实施例对此不做限定。
还应理解,在本申请实施例中,“与A的边界间隔分布”可以指与A的边界间隔至少一个像素点,也可以称为“不与A的边界相邻”或者“不位于A的边界”,本申请实施例对此不做限定,其中,A可以是图像、矩形区域或子图像,等等。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
此外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (46)

1.一种编码方法,其特征在于,包括:
根据图像的待编码片段中的数据,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据;
根据所述参考数据,对所述待编码片段进行编码处理,得到所述待编码片段的编码比特流;其中,
所述图像包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点,并且长度相同的矩形区域对应的编码比特数少于或等于预设的编码比特数,
所述待编码片段的左侧数据包括位于所述待编码片段左侧的至少一个第一像素点的数据,所述待编码数据的上侧数据包括位于所述待编码片段上方的至少一个第二像素点的数据。
2.根据权利要求1所述的方法,其特征在于,下列中的至少一项成立:
所述至少一个第一像素点与所述待编码片段相邻或者与所述待编码片段临近但间隔分布;
所述至少一个第一像素点的数据包括所述至少一个第一像素点的原始数据或所述至少一个第一像素点的已编码数据;
所述至少一个第二像素点与所述待编码片段相邻或者与所述待编码片段临近但间隔分布;
所述至少一个第二像素点的数据包括所述至少一个第二像素点的原始数据或所述至少一个第二像素点的已编码数据。
3.根据权利要求1或2所述的方法,其特征在于,所述根据待编码片段中的数据,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据,包括:
根据所述待编码片段中的数据和所述至少一个第一像素点的数据,确定所述待编码片段与所述待编码片段的左侧数据之间的相关度;
根据所述待编码片段中的数据和所述至少一个第二像素点的数据,确定所述待编码片段与所述待编码片段的上侧数据之间的相关度;
根据所述待编码片段与所述待编码片段的左侧数据之间的相关度以及所述待编码片段与所述待编码片段的上侧数据之间的相关度,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待编码片段与所述待编码片段的左侧数据之间的相关度以及所述待编码片段与所述待编码片段的上侧数据之间的相关度,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据,包括:
将所述待编码片段的左侧数据和上侧数据中与所述待编码片段之间相关度较大的数据,确定为所述待编码片段的参考数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
向所述待编码片段的编码比特流添加第一标识符,所述第一标识符用于指示所述待编码片段的参考数据所在位置。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述参考数据,对所述待编码片段进行编码处理,包括:
根据所述参考数据,对所述待编码片段进行预测处理,得到所述待编码片段的预测残差;
利用所述待编码片段的量化参数,对所述待编码片段的预测残差进行量化处理,得到所述待编码片段的量化结果;
对所述待编码片段的量化结果进行熵编码处理,得到所述待编码片段的编码结果。
7.根据权利要求6所述的方法,其特征在于,在所述利用所述待编码片段的量化参数,对所述待编码片段的预测结果进行量化处理之前,所述方法还包括:
根据所述参考数据,确定所述待编码片段的量化参数。
8.根据权利要求7所述的方法,其特征在于,所述根据所述参考数据,确定所述待编码片段的量化参数,包括:
根据所述参考数据和所述待编码片段中的数据,确定所述待编码片段的复杂度;
根据所述待编码片段的复杂度,确定所述待编码片段的量化参数。
9.根据权利要求8所述的方法,其特征在于,所述根据所述参考数据和所述待编码片段中的数据,确定所述待编码片段的复杂度,包括:
根据所述参考数据和所述待编码片段中的数据,确定所述待编码片段中每个像素点的残差;
根据所述待编码片段中每个像素点的残差,确定所述待编码片段的复杂度。
10.根据权利要求8或9所述的方法,其特征在于,所述根据所述待编码片段的复杂度,确定所述待编码片段的量化参数,包括:
根据所述待编码片段所属矩形区域中的每个片段的复杂度,确定所述待编码片段所属矩形区域的复杂度;
通过比较所述待编码片段的复杂度和所述待编码片段所属矩形区域的复杂度,确定所述待编码片段的量化参数。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据,包括:
若所述待编码片段具有可用的左侧数据和可用的上侧数据,从所述待编码片段的可用的左侧数据和可用的上侧数据中,确定所述待编码片段的参考数据。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括下列中的至少一种:
若所述待编码片段与所述图像的上边界相邻并且所述待编码片段与所述图像的左边界相邻,将所述待编码片段中的前N个像素点的预测值确定为预设数值,并且根据所述前N个像素点的数据,对所述待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为所述待编码片段中包括的像素点的数量,1≤N≤T;
若所述待编码片段与所述图像的上边界相邻并且所述待编码片段与所述图像的左边界间隔分布,根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述图像的上边界间隔分布并且所述待编码片段与所述图像的左边界相邻,根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括下列中的至少一种:
若所述待编码片段与所述待编码片段所属矩形区域的上边界相邻并且所述待编码片段与所述待编码片段所属矩形区域的左边界相邻,将所述待编码片段中的前N个像素点的预测值确定为预设数值,并且根据所述前N个像素点的数据,对所述待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为所述待编码片段中包括的像素点的数量,1≤N≤T;
若所述待编码片段与所述待编码片段所属矩形区域的上边界相邻并且所述待编码片段与所述待编码片段所属矩形区域的左边界间隔分布,根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属矩形区域的上边界间隔分布并且所述待编码片段与所述待编码片段所属矩形区域的左边界相邻,根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理。
14.根据权利要求11所述的方法,其特征在于,所述图像包括至少一个子图像,每个子图像包括至少一个矩形区域;
所述方法还包括下列中的一种:
若所述待编码片段与所述待编码片段所属子图像的上边界相邻并且所述待编码片段与所述待编码片段所属子图像的左边界相邻,将所述待编码片段中的前N个像素点的预测值确定为预设数值,并且根据所述前N个像素点的数据,对所述待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为所述待编码片段中包括的像素点的数量,1≤N≤T;
若所述待编码片段与所述待编码片段所属子图像的上边界相邻并且所述待编码片段与所述待编码片段所属子图像的左边界间隔分布,根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属子图像的上边界间隔分布并且所述待编码片段与所述待编码片段所属子图像的左边界相邻,根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属子图像的左边界相邻并且所述待编码片段与所述图像的上边界间隔分布,根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属子图像的上边界相邻并且所述待编码片段与所述图像的左边界间隔分布,根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理。
15.根据权利要求1至14中任一项所述的方法,其特征在于,所述待编码片段中的每M个相邻像素点对应于相同的参考像素点,其中,所述待编码片段的参考数据包括所述参考像素点的数据,M≥1。
16.根据权利要求1至15中任一项所述的方法,其特征在于,所述方法还包括:
若所述待编码片段所属矩形区域当前已使用的编码比特数Bi小于或等于所述待编码片段所属矩形区域允许使用的编码比特数B,并且所述待编码片段中的当前待编码像素点需要使用的编码比特数bi+1与Bi之和大于B,向所述待编码片段的编码比特流添加结束码,所述结束码用于标识对所述待编码片段所属矩形区域的编码结束并且所述待编码片段所属矩形区域具有至少一个未编码的像素点。
17.一种解码方法,其特征在于,包括:
获取图像的编码比特流中与待解码片段对应的第一标识符,其中,所述图像包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点,其中,长度相同的矩形区域对应的编码比特数少于或等于预设的编码比特数,所述图像的编码比特流包括与所述图像包括的至少一个片段中每个片段对应的第一标识符,每个片段对应的第一标识符用于标识所述每个片段的参考数据所在位置;
根据所述待编码片段对应的第一标识符,确定所述待解码片段的参考数据为所述待解码片段的上侧数据或左侧数据,其中,所述待解码片段的左侧数据包括位于所述待解码片段左侧的至少一个第一像素点的数据,所述待解码数据的上侧数据包括位于所述待解码片段上方的至少一个第二像素点的数据;
根据所述待解码片段的参考数据,对所述待解码片段进行解码处理。
18.根据权利要求17所述的方法,其特征在于,下列中的至少一项满足:
所述至少一个第一像素点与所述待解码片段相邻或者与所述待解码片段临近但间隔分布;
所述至少一个第一像素点的数据包括所述至少一个第一像素点的原始数据或所述至少一个第一像素点的已解码数据;
所述至少一个第二像素点与所述待解码片段相邻或者与所述待解码片段临近但间隔分布;
所述至少一个第二像素点的数据包括所述至少一个第二像素点的原始数据或所述至少一个第二像素点的已解码数据。
19.根据权利要求17或18所述的方法,其特征在于,所述根据所述参考数据,对所述待解码片段进行解码处理,包括:
对所述待解码片段进行熵解码处理,得到所述待解码片段的量化参数;
根据所述待解码片段的量化参数,对所述待解码片段进行反量化处理,得到所述待解码片段的残差数据;
根据所述参考数据,对所述待解码片段的残差数据进行反预测处理,得到所述待解码片段的解码结果。
20.根据权利要求17至19中任一项所述的方法,其特征在于,所述方法还包括下列中的至少一种:
若所述待解码片段与所述图像的上边界相邻并且所述待解码片段与所述图像的左边界相邻,将所述待解码片段中的前N个像素点的残差值确定为预设数值,并且根据所述前N个像素点的数据,对所述待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为所述待解码片段中包括的像素点的数量,1≤N≤T;
若所述待解码片段与所述图像的上边界相邻并且所述待解码片段与所述图像的左边界间隔分布,根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述图像的上边界间隔分布并且所述待解码片段与所述图像的左边界相邻,根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理。
21.根据权利要求17至19中任一项所述的方法,其特征在于,所述方法还包括下列中的至少一种:
若所述待解码片段与所述待解码片段所属矩形区域的上边界相邻并且所述待解码片段与所述待解码片段所属矩形区域的左边界相邻,将所述待解码片段中的前N个像素点的残差值确定为预设数值,并且根据所述前N个像素点的数据,对所述待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为所述待解码片段中包括的像素点的数量,1≤N≤T;
若所述待解码片段与所述待解码片段所属矩形区域的上边界相邻并且所述待解码片段与所述待解码片段所属矩形区域的左边界间隔分布,根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属矩形区域的上边界间隔分布并且所述待解码片段与所述待解码片段所属矩形区域的左边界相邻,根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理。
22.根据权利要求17至19中任一项所述的方法,其特征在于,所述图像包括至少一个子图像,每个子图像包括至少一个矩形区域;
所述方法还包括下列中的一种:
若所述待解码片段与所述待解码片段所属子图像的上边界相邻并且所述待解码片段与所述待解码片段所属子图像的左边界相邻,将所述待解码片段中的前N个像素点的残差值确定为预设数值,并且根据所述前N个像素点的数据,对所述待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为所述待解码片段中包括的像素点的数量,1≤N≤T;
若所述待解码片段与所述待解码片段所属子图像的上边界相邻并且所述待解码片段与所述待解码片段所属子图像的左边界间隔分布,根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属子图像的上边界间隔分布并且所述待解码片段与所述待解码片段所属子图像的左边界相邻,根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属子图像的上边界和左边界相邻并且所述待解码片段与所述图像的上边界间隔分布,根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属子图像的上边界和左边界相邻并且所述待解码片段与所述图像的左边界间隔分布,根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理。
23.根据权利要求17至22中任一项所述的方法,其特征在于,所述待解码片段中的每M个相邻像素点对应于相同的参考像素点,其中,所述待解码片段的参考数据包括所述参考像素点的数据,M≥1。
24.一种编码装置,其特征在于,包括:
预分析模块,用于根据图像的待编码片段中的数据,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据;
编码模块,用于根据所述预分析模块确定的所述参考数据,对所述待编码片段进行编码处理,得到所述待编码片段的编码比特流;其中,
所述图像包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点,并且长度相同的矩形区域对应的编码比特数少于或等于预设的比特数,
所述待编码片段的左侧数据包括位于所述待编码片段左侧的至少一个第一像素点的数据,所述待编码数据的上侧数据包括位于所述待编码片段上方的至少一个第二像素点的数据。
25.根据权利要求24所述的装置,其特征在于,下列中的至少一项成立:
所述至少一个第一像素点与所述待编码片段相邻或者与所述待编码片段临近但间隔分布;
所述至少一个第一像素点的数据包括所述至少一个第一像素点的原始数据或所述至少一个第一像素点的已编码数据;
所述至少一个第二像素点与所述待编码片段相邻或者与所述待编码片段临近但间隔分布;
所述至少一个第二像素点的数据包括所述至少一个第二像素点的原始数据或所述至少一个第二像素点的已编码数据。
26.根据权利要求24或25所述的装置,其特征在于,所述预分析模块具体用于:
根据所述待编码片段中的数据和所述至少一个第一像素点的数据,确定所述待编码片段与所述待编码片段的左侧数据之间的相关度;
根据所述待编码片段中的数据和所述至少一个第二像素点的数据,确定所述待编码片段与所述待编码片段的上侧数据之间的相关度;
根据所述待编码片段与所述待编码片段的左侧数据之间的相关度以及所述待编码片段与所述待编码片段的上侧数据之间的相关度,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据。
27.根据权利要求26所述的装置,其特征在于,所述预分析模块具体用于:
将所述待编码片段的左侧数据和上侧数据中与所述待编码片段之间相关度较大的数据,确定为所述待编码片段的参考数据。
28.根据权利要求24至27中任一项所述的装置,其特征在于,所述编码模块还用于:
向所述待编码片段的编码比特流添加第一标识符,所述第一标识符用于指示所述待编码片段的参考数据所在位置。
29.根据权利要求24至28中任一项所述的装置,其特征在于,所述编码模块包括:
预测单元,用于根据所述参考数据,对所述待编码片段进行预测处理,得到所述待编码片段的预测残差;
量化单元,用于利用所述待编码片段的量化参数,对所述预测单元得到的所述待编码片段的预测残差进行量化处理,得到所述待编码片段的量化结果;
熵编码单元,用于对所述量化单元得到的所述待编码片段的量化结果进行熵编码处理,得到所述待编码片段的编码结果。
30.根据权利要求29所述的装置,其特征在于,所述编码模块还包括:
速率控制单元,用于在所述量化单元利用所述待编码片段的量化参数,对所述待编码片段的预测结果进行量化处理之前,根据所述预分析模块确定的所述参考数据,确定所述待编码片段的量化参数;
所述量化单元具体用于利用所述速率控制单元确定的量化参数,对所述待编码片段的预测结果进行量化处理。
31.根据权利要求30所述的装置,其特征在于,所述速率控制单元具体用于:
根据所述预分析模块确定的所述参考数据和所述待编码片段中的数据,确定所述待编码片段的复杂度;
根据所述待编码片段的复杂度,确定所述待编码片段的量化参数。
32.根据权利要求31所述的装置,其特征在于,所述速率控制单元具体用于:
根据所述参考数据和所述待编码片段中的数据,确定所述待编码片段中每个像素点的残差;
根据所述待编码片段中每个像素点的残差,确定所述待编码片段的复杂度。
33.根据权利要求31或32所述的装置,其特征在于,所述速率控制单元具体用于:
根据所述待编码片段所属矩形区域中的每个片段的复杂度,确定所述待编码片段所属矩形区域的复杂度;
通过比较所述待编码片段的复杂度和所述待编码片段所属矩形区域的复杂度,确定所述待编码片段的量化参数。
34.根据权利要求24至33中任一项所述的装置,其特征在于,所述预分析模块具体用于:
若所述待编码片段具有可用的左侧数据和可用的上侧数据,从所述待编码片段的可用的左侧数据和可用的上侧数据中,确定所述待编码片段的参考数据。
35.根据权利要求34所述的装置,其特征在于,下列中的至少一种满足:
若所述待编码片段与所述图像的上边界相邻并且所述待编码片段与所述图像的左边界相邻,所述编码模块还用于将所述待编码片段中的前N个像素点的预测值确定为预设数值,并且根据所述前N个像素点的数据,对所述待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为所述待编码片段中包括的像素点的数量,1≤N≤T;
若所述待编码片段与所述图像的上边界相邻并且所述待编码片段与所述图像的左边界间隔分布,所述编码模块还用于根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述图像的上边界间隔分布并且所述待编码片段与所述图像的左边界相邻,所述编码模块还用于根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理。
36.根据权利要求34所述的装置,其特征在于,下列中的至少一种满足:
若所述待编码片段与所述待编码片段所属矩形区域的上边界相邻并且所述待编码片段与所述待编码片段所属矩形区域的左边界相邻,所述编码模块还用于将所述待编码片段中的前N个像素点的预测值确定为预设数值,并且根据所述前N个像素点的数据,所述编码模块还用于对所述待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为所述待编码片段中包括的像素点的数量,1≤N≤T;
若所述待编码片段与所述待编码片段所属矩形区域的上边界相邻并且所述待编码片段与所述待编码片段所属矩形区域的左边界间隔分布,所述编码模块还用于根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属矩形区域的上边界间隔分布并且所述待编码片段与所述待编码片段所属矩形区域的左边界相邻,所述编码模块还用于根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理。
37.根据权利要求34所述的装置,其特征在于,所述图像包括至少一个子图像,每个子图像包括至少一个矩形区域;
下列中的一种满足:
若所述待编码片段与所述待编码片段所属子图像的上边界相邻并且所述待编码片段与所述待编码片段所属子图像的左边界相邻,所述编码模块还用于将所述待编码片段中的前N个像素点的预测值确定为预设数值,并且根据所述前N个像素点的数据,对所述待编码片段中的剩余的(T-N)个像素点进行编码处理,其中,T为所述待编码片段中包括的像素点的数量,1≤N≤T;
若所述待编码片段与所述待编码片段所属子图像的上边界相邻并且所述待编码片段与所述待编码片段所属子图像的左边界间隔分布,所述编码模块还用于根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属子图像的上边界间隔分布并且所述待编码片段与所述待编码片段所属子图像的左边界相邻,所述编码模块还用于根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属子图像的左边界相邻并且所述待编码片段与所述图像的上边界间隔分布,所述编码模块还用于根据所述待编码片段的上侧数据,对所述待编码片段中的像素点进行编码处理;
若所述待编码片段与所述待编码片段所属子图像的上边界相邻并且所述待编码片段与所述图像的左边界间隔分布,所述编码模块还用于根据所述待编码片段的左侧数据,对所述待编码片段中的像素点进行编码处理。
38.根据权利要求24至37中任一项所述的装置,其特征在于,所述待编码片段中的每M个相邻像素点对应于相同的参考像素点,其中,所述待编码片段的参考数据包括所述参考像素点的数据,M≥1。
39.根据权利要求24至38中任一项所述的装置,其特征在于,所述装置还包括:
边界处理模块,用于若所述待编码片段所属矩形区域当前已使用的编码比特数Bi小于或等于所述待编码片段所属矩形区域允许使用的编码比特数B,并且所述待编码片段中的当前待编码像素点需要使用的编码比特数bi+1与Bi之和大于B,向所述待编码片段的编码比特流添加结束码,所述结束码用于标识对所述待编码片段所属矩形区域的编码结束并且所述待编码片段所属矩形区域具有至少一个未编码的像素点。
40.一种解码装置,其特征在于,包括:
获取模块,用于获取图像的编码比特流中与待解码片段对应的第一标识符,其中,所述图像包括至少一个矩形区域,每个矩形区域包括至少一个片段,每个片段包括至少一个像素点,其中,长度相同的矩形区域对应的编码比特数少于或等于预设的比特数,所述图像的编码比特流包括与所述图像包括的至少一个片段中每个片段对应的第一标识符,每个片段对应的第一标识符用于标识所述每个片段的参考数据所在位置;
确定模块,用于根据所述获取模块获取的所述待编码片段对应的第一标识符,确定所述待解码片段的参考数据为所述待解码片段的上侧数据或左侧数据,其中,所述待解码片段的左侧数据包括位于所述待解码片段左侧的至少一个第一像素点的数据,所述待解码数据的上侧数据包括位于所述待解码片段上方的至少一个第二像素点的数据;
解码模块,用于根据所述确定模块确定的所述待解码片段的参考数据,对所述待解码片段进行解码处理。
41.根据权利要求40所述的装置,其特征在于,下列中的至少一项满足:
所述至少一个第一像素点与所述待解码片段相邻或者与所述待解码片段临近但间隔分布;
所述至少一个第一像素点的数据包括所述至少一个第一像素点的原始数据或所述至少一个第一像素点的已解码数据;
所述至少一个第二像素点与所述待解码片段相邻或者与所述待解码片段临近但间隔分布;
所述至少一个第二像素点的数据包括所述至少一个第二像素点的原始数据或所述至少一个第二像素点的已解码数据。
42.根据权利要求40或41所述的装置,其特征在于,所述解码模块包括:
熵解码单元,用于对所述待解码片段进行熵解码处理,得到所述待解码片段的量化参数;
反量化单元,用于根据所述熵解码单元得到的所述待解码片段的量化参数,对所述待解码片段进行反量化处理,得到所述待解码片段的残差数据;
反预测单元,用于根据所述确定模块确定的所述参考数据,对所述反量化单元得到的所述待解码片段的残差数据进行反预测处理,得到所述待解码片段的解码结果。
43.根据权利要求40至42中任一项所述的装置,其特征在于,下列中的至少一种满足:
若所述待解码片段与所述图像的上边界相邻并且所述待解码片段与所述图像的左边界相邻,所述解码模块还用于将所述待解码片段中的前N个像素点的残差值确定为预设数值,并且根据所述前N个像素点的数据,对所述待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为所述待解码片段中包括的像素点的数量,1≤N≤T;
若所述待解码片段与所述图像的上边界相邻并且所述待解码片段与所述图像的左边界间隔分布,所述解码模块还用于根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述图像的上边界间隔分布并且所述待解码片段与所述图像的左边界相邻,所述解码模块还用于根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理。
44.根据权利要求40至42中任一项所述的装置,其特征在于,下列中的至少一种满足:
若所述待解码片段与所述待解码片段所属矩形区域的上边界相邻并且所述待解码片段与所述待解码片段所属矩形区域的左边界相邻,所述解码模块还用于将所述待解码片段中的前N个像素点的残差值确定为预设数值,并且根据所述前N个像素点的数据,对所述待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为所述待解码片段中包括的像素点的数量,1≤N≤T;
若所述待解码片段与所述待解码片段所属矩形区域的上边界相邻并且所述待解码片段与所述待解码片段所属矩形区域的左边界间隔分布,所述解码模块还用于根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属矩形区域的上边界间隔分布并且所述待解码片段与所述待解码片段所属矩形区域的左边界相邻,所述解码模块还用于根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理。
45.根据权利要求40至42中任一项所述的装置,其特征在于,所述图像包括至少一个子图像,每个子图像包括至少一个矩形区域;
下列中的一种满足:
若所述待解码片段与所述待解码片段所属子图像的上边界相邻并且所述待解码片段与所述待解码片段所属子图像的左边界相邻,所述解码模块还用于将所述待解码片段中的前N个像素点的残差值确定为预设数值,并且根据所述前N个像素点的数据,对所述待解码片段中的剩余的(T-N)个像素点进行解码处理,其中,T为所述待解码片段中包括的像素点的数量,1≤N≤T;
若所述待解码片段与所述待解码片段所属子图像的上边界相邻并且所述待解码片段与所述待解码片段所属子图像的左边界间隔分布,所述解码模块还用于根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属子图像的上边界间隔分布并且所述待解码片段与所述待解码片段所属子图像的左边界相邻,所述解码模块还用于根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属子图像的上边界和左边界相邻并且所述待解码片段与所述图像的上边界间隔分布,所述解码模块还用于根据所述待解码片段的上侧数据,对所述待解码片段中的像素点进行解码处理;
若所述待解码片段与所述待解码片段所属子图像的上边界和左边界相邻并且所述待解码片段与所述图像的左边界间隔分布,所述解码模块还用于根据所述待解码片段的左侧数据,对所述待解码片段中的像素点进行解码处理。
46.根据权利要求40至45中任一项所述的装置,其特征在于,所述待解码片段中的每M个相邻像素点对应于相同的参考像素点,其中,所述待解码片段的参考数据包括所述参考像素点的数据,M≥1。
CN201780004672.1A 2017-08-31 2017-08-31 编码方法、解码方法以及编码装置和解码装置 Pending CN108476320A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/099892 WO2019041219A1 (zh) 2017-08-31 2017-08-31 编码方法、解码方法以及编码装置和解码装置

Publications (1)

Publication Number Publication Date
CN108476320A true CN108476320A (zh) 2018-08-31

Family

ID=63266560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780004672.1A Pending CN108476320A (zh) 2017-08-31 2017-08-31 编码方法、解码方法以及编码装置和解码装置

Country Status (2)

Country Link
CN (1) CN108476320A (zh)
WO (1) WO2019041219A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521871A (zh) * 2017-08-31 2018-09-11 深圳市大疆创新科技有限公司 编码方法、解码方法以及编码装置和解码装置
CN110417811A (zh) * 2019-08-22 2019-11-05 上海兆芯集成电路有限公司 比特流编码压缩的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030174895A1 (en) * 2002-03-14 2003-09-18 Winbond Electronics Corp. Method and apparatus for decoding compressed image data and capable of preventing error propagation
US20050237380A1 (en) * 2004-04-23 2005-10-27 Toshiaki Kakii Coding method for notion-image data, decoding method, terminal equipment executing these, and two-way interactive system
JP2010288070A (ja) * 2009-06-11 2010-12-24 Hitachi Kokusai Electric Inc 画像符号化装置
CN102804772A (zh) * 2009-06-26 2012-11-28 Sk电信有限公司 利用多维整数变换的图像编码/解码装置和方法
CN106576166A (zh) * 2014-08-12 2017-04-19 奥兰治 图像编码和解码方法、图像编码和解码设备以及相应的计算机程序
CN107071450A (zh) * 2016-02-10 2017-08-18 同济大学 数据压缩的编码、解码方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970526B (zh) * 2011-08-31 2016-12-14 华为技术有限公司 一种获得变换块尺寸的方法和模块
WO2016065519A1 (en) * 2014-10-27 2016-05-06 SZ DJI Technology Co., Ltd. Uav flight display
JP6532542B2 (ja) * 2015-05-12 2019-06-19 サムスン エレクトロニクス カンパニー リミテッド イントラ予測を行う映像復号方法及びその装置並びにイントラ予測を行う映像符号化方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030174895A1 (en) * 2002-03-14 2003-09-18 Winbond Electronics Corp. Method and apparatus for decoding compressed image data and capable of preventing error propagation
US20050237380A1 (en) * 2004-04-23 2005-10-27 Toshiaki Kakii Coding method for notion-image data, decoding method, terminal equipment executing these, and two-way interactive system
JP2010288070A (ja) * 2009-06-11 2010-12-24 Hitachi Kokusai Electric Inc 画像符号化装置
CN102804772A (zh) * 2009-06-26 2012-11-28 Sk电信有限公司 利用多维整数变换的图像编码/解码装置和方法
CN106576166A (zh) * 2014-08-12 2017-04-19 奥兰治 图像编码和解码方法、图像编码和解码设备以及相应的计算机程序
CN107071450A (zh) * 2016-02-10 2017-08-18 同济大学 数据压缩的编码、解码方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521871A (zh) * 2017-08-31 2018-09-11 深圳市大疆创新科技有限公司 编码方法、解码方法以及编码装置和解码装置
CN108521871B (zh) * 2017-08-31 2020-12-18 深圳市大疆创新科技有限公司 编码方法、解码方法以及编码装置和解码装置
CN110417811A (zh) * 2019-08-22 2019-11-05 上海兆芯集成电路有限公司 比特流编码压缩的方法及装置
CN110417811B (zh) * 2019-08-22 2021-08-10 上海兆芯集成电路有限公司 比特流编码压缩的方法及装置

Also Published As

Publication number Publication date
WO2019041219A1 (zh) 2019-03-07

Similar Documents

Publication Publication Date Title
JP2020092457A (ja) 画像予測方法および装置
KR101941955B1 (ko) 재귀적 블록 파티셔닝
TWI514779B (zh) 熵編碼技術
CN101969563B (zh) 图像处理装置以及图像处理方法
Khan et al. Hardware-software collaborative complexity reduction scheme for the emerging HEVC intra encoder
US10791341B2 (en) Binary arithmetic coding with progressive modification of adaptation parameters
CN107888923B (zh) 用于实现码字分配的方法和装置
WO2013040336A1 (en) Apparatus and methodology for a video codec system with noise reduction capability
US20210329252A1 (en) Motion information acquisition method and device for video encoding or decoding
CN104255033A (zh) 用于lm模式计算的简化查找表
CN111316642B (zh) 信令图像编码和解码划分信息的方法和装置
CN108476320A (zh) 编码方法、解码方法以及编码装置和解码装置
CN116569546A (zh) 帧内预测方法、编码器、解码器以及存储介质
CN110213595B (zh) 基于帧内预测的编码方法、图像处理设备和存储装置
CN110035288B (zh) 对视频序列进行编码的方法、编码装置和存储介质
KR20210133978A (ko) 비디오 코딩을 위한 잔차 코딩에서의 정규 빈들의 유연한 할당
Gao et al. An enhanced entropy coding scheme for HEVC
CN113170134A (zh) 用于语境分割和处理的基于块的图片融合
CN108521871A (zh) 编码方法、解码方法以及编码装置和解码装置
CN116114246A (zh) 帧内预测平滑滤波器系统及方法
Al-Jammas et al. FPGA implementation of intra frame for H. 264/AVC based DC mode
CN115002461B (zh) 一种视频编码量化方法、装置、电子设备和存储介质
US10944967B2 (en) Encoder and decoder and methods thereof
CN106101701B (zh) 基于h.264的帧间编码模式选择方法及装置
CN114339233A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180831