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

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

Info

Publication number
CN108521871B
CN108521871B CN201780004573.3A CN201780004573A CN108521871B CN 108521871 B CN108521871 B CN 108521871B CN 201780004573 A CN201780004573 A CN 201780004573A CN 108521871 B CN108521871 B CN 108521871B
Authority
CN
China
Prior art keywords
pixel point
pixel
encoded
segment
data
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.)
Active
Application number
CN201780004573.3A
Other languages
English (en)
Other versions
CN108521871A (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.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI 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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN108521871A publication Critical patent/CN108521871A/zh
Application granted granted Critical
Publication of CN108521871B publication Critical patent/CN108521871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

一种编码方法、解码方法以及编码装置和解码装置,能够提高编码质量。该编码方法包括:对图像的第一矩形区域中的像素点进行编码处理;若该第一矩形区域中的前i个已编码的像素点使用的总编码比特数Bi小于或等于该第一矩形区域的最大允许使用编码比特数Bmax,并且该第一矩形区域中的第i+1个像素点需要使用的编码比特数bi+1与Bi之和大于Bmax,根据该图像中至少一个已编码的像素点的编码数据,确定该第一矩形区域中至少一个未编码像素点的编码数据;向该第一矩形区域的编码比特流添加第一标识符,该第一标识符用于标识对该第一矩形区域的编码结束并且该第一矩形区域具有至少一个未编码像素点。

Description

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

Claims (42)

1.一种编码方法,其特征在于,包括:
对图像的第一矩形区域中的像素点进行编码处理,其中,所述图像包括至少一个矩形区域,每个矩形区域包括至少一个像素点;
若所述第一矩形区域中的前i个已编码的像素点使用的总编码比特数Bi小于或等于所述第一矩形区域的最大允许使用编码比特数Bmax,并且所述第一矩形区域中的第i+1个像素点需要使用的编码比特数bi+1与Bi之和大于Bmax,根据所述图像中至少一个已编码的像素点的编码数据,确定所述第一矩形区域中至少一个未编码像素点的编码数据,其中,所述至少一个未编码像素点包括所述第i+1个像素点,1≤i≤T-1,T为所述第一矩形区域包括的像素点总数;
向所述第一矩形区域的编码比特流添加第一标识符,所述第一标识符用于标识对所述第一矩形区域的编码结束并且所述第一矩形区域具有至少一个未编码像素点;
所述根据所述图像中已编码的像素点的编码数据,确定所述第一矩形区域中至少一个未编码像素点的编码数据,包括:
从所述图像中至少一个已编码的像素点中,确定所述至少一个未编码像素点中每个像素点的参考像素点;
将所述至少一个未编码像素点中的每个像素点的编码数据确定为所述每个像素点的参考像素点的编码数据;
所述从所述图像中至少一个已编码的像素点中,确定所述至少一个未编码像素点中每个像素点的参考像素点,包括:
将所述至少一个未编码像素点分成N组像素点,每组像素点包括所述至少一个未编码像素点中的至少一个像素点,N为大于或等于1的整数;
从所述图像中至少一个已编码的像素点中,确定所述N组像素点中的第j组像素点的参考像素点,1≤j≤N。
2.根据权利要求1所述的方法,其特征在于,
所述至少一个未编码像素点中每个像素点的参考像素点位于所述每个像素点的左侧或上侧;和/或
所述至少一个未编码像素点中每个像素点的参考像素点与所述每个像素点位于同一矩形区域或不同矩形区域。
3.根据权利要求1所述的方法,其特征在于,所述从所述图像中至少一个已编码的像素点中,确定所述N组像素点中的第j组像素点的参考像素点,包括:
根据所述第j组像素点的原始数据,从所述第j组像素点左侧的第一已编码像素点和所述第j组像素点上侧的至少一个第二已编码像素点中,确定所述第j组像素点的参考像素点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第j组像素点的原始数据,从所述第j组像素点左侧的第一已编码像素点和所述第j组像素点上侧的至少一个第二已编码像素点中,确定所述第j组像素点的参考像素点,包括:
根据所述第j组像素点中每个像素点的原始数据,确定所述每个像素点与所述第一已编码像素点之间的相关度;
根据所述第j组像素点中每个像素点的原始数据,确定所述每个像素点与所述每个像素点上侧的第二已编码像素点之间的相关度;
根据所述第j组像素点中每个像素点与所述第一已编码像素点之间的相关度以及所述第j组像素点中每个像素点与所述每个像素点上侧的第二已编码像素点之间的相关度,将所述第一已编码像素点或所述至少一个第二已编码像素点确定为所述第j组像素点的参考像素点。
5.根据权利要求3或4所述的方法,其特征在于,下列中的至少一项满足:
所述第一已编码像素点具体为所述前i个已编码的像素点中的最后一个已编码的像素点,或者所述第一已编码像素点中与所述最后一个已编码的像素点之间间隔至少一个像素点的像素点;
所述第j组像素点中每个像素点与位于所述每个像素点上侧的第二已编码像素点相邻或间隔至少一个像素点。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
向所述第一矩形区域的编码比特流添加第二标识符,所述第二标识符用于指示所述第j组像素点的参考像素点所在位置。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述将所述至少一个未编码像素点分成N组像素点,包括:
根据所述至少一个未编码像素点的个数,将所述至少一个未编码像素点分成N组像素点,其中,所述N组像素点中的前N-1组像素点中包括的未编码像素点的个数相同。
8.根据权利要求1至4中任一项所述的方法,其特征在于,N等于2;
所述将所述至少一个未编码像素点分成两组像素点,包括:
将所述至少一个未编码像素点中的前P个像素点确定为第一组像素点,其中,P为大于或等于1的预设数值;
将所述至少一个未编码像素点中除所述第一组像素点之外的其余未编码像素点确定为第二组像素点。
9.根据权利要求8所述的方法,其特征在于,
所述从所述图像中至少一个已编码的像素点中,确定所述至少一个未编码像素点中每个未编码像素点的参考像素点,还包括:
根据所述第一组像素点中每个像素点的原始数据,从所述每个像素点左侧的已编码像素点和所述每个像素点上侧的已编码像素点中,确定所述每个像素点的参考像素点。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
向所述第一矩形区域的编码比特流添加至少一个第三标识符,所述至少一个第三标识符与所述第一组像素点中的至少一个像素点对应,并且所述至少一个所述第三标识符中每个第三标识符用于指示对应像素点的参考像素点所在位置。
11.根据权利要求1至4中任一项所述的方法,其特征在于,所述对图像的第一矩形区域中的像素点进行编码处理,包括:
确定所述第一矩形区域中的待编码片段的参考数据,其中,所述第一矩形区域包括至少一个片段,每个片段包括至少一个像素点;
根据所述参考数据,对所述待编码片段进行预测处理,得到所述待编码片段的预测残差;
利用所述待编码片段的量化参数,对所述待编码片段的预测结果进行量化处理,得到所述待编码片段的量化结果;
对所述待编码片段的量化结果进行熵编码处理,得到所述待编码片段的编码结果。
12.根据权利要求11所述的方法,其特征在于,所述确定所述第一矩形区域中的待编码片段的参考数据,包括:
根据所述待编码片段中的数据,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据,其中,所述待编码片段的左侧数据包括位于所述待编码片段左侧的至少一个第一像素点的数据,所述待编码数据的上侧数据包括位于所述待编码片段上侧的至少一个第二像素点的数据。
13.根据权利要求11所述的方法,其特征在于,在所述利用所述待编码片段的量化参数,对所述待编码片段的预测结果进行量化处理之前,所述方法还包括:
根据所述参考数据,确定所述待编码片段对应的量化参数。
14.一种解码方法,其特征在于,包括:
根据图像的编码比特流,对所述图像中的第一矩形区域进行解码处理,其中,所述图像包括至少一个矩形区域,每个矩形区域包括至少一个像素点;
若所述编码比特流包括第一标识符,根据所述图像中至少一个已解码像素点的解码数据,确定所述第一矩形区域中至少一个未解码像素点的解码数据,其中,所述第一标识符用于标识对所述第一矩形区域的解码结束并且所述第一矩形区域中具有至少一个未解码像素点;
所述根据所述图像中至少一个已解码像素点的解码数据,确定所述第一矩形区域中至少一个未解码像素点的解码数据,包括:
从所述图像的至少一个已解码像素点中,确定所述第一矩形区域中至少一个未解码像素点中每个像素点的参考像素点;
将所述至少一个未解码像素点中每个像素点的解码数据确定为所述每个像素点的参考像素点的解码数据;
所述从所述图像的至少一个已解码像素点中,确定所述第一矩形区域中至少一个未解码像素点中每个像素点的参考像素点,包括:
将所述至少一个未解码像素点分成N组像素点,每组像素点包括所述至少一个未编码像素点中的至少一个像素点,N为大于或等于1的整数;
从所述图像的至少一个已解码像素点中,确定所述N组像素点中的第j组像素点的参考像素点,1≤j≤N。
15.根据权利要求14所述的方法,其特征在于,
所述至少一个未编码像素点中每个像素点的参考像素点位于所述每个像素点的左侧或上侧;和/或
所述至少一个未编码像素点中每个像素点的参考像素点与所述每个像素点位于同一矩形区域或不同矩形区域。
16.根据权利要求14所述的方法,其特征在于,所述从所述图像的至少一个已解码像素点中,确定所述第j组像素点的参考像素点,包括:
从所述图像的编码比特流中获取第二标识符,所述第二标识符用于指示所述第j组像素点的参考像素点所在位置;
根据所述第二标识符,确定所述第j组像素点中每个像素点的参考像素点。
17.根据权利要求14至16中任一项所述的方法,其特征在于,下列中的至少一项满足:
所述第j组像素点的参考像素点位于所述第j组像素点的左侧,并且为所述第一矩形区域的最后一个已解码的像素点,或者所述第j组像素点的参考像素点与所述最后一个已解码的像素点之间间隔至少一个像素点;
所述第j组像素点中每个像素点的参考像素点位于所述每个相素点的上侧,并且与所述每个像素点相邻或间隔至少一个像素点。
18.根据权利要求14至16中任一项所述的方法,其特征在于,所述将所述至少一个未解码像素点分成N组像素点,包括:
根据所述至少一个未解码像素点的个数,将所述至少一个未解码像素点分成N组像素点,其中,所述N组像素点中的前N-1组像素点中包括的未解码像素点的个数相同。
19.根据权利要求14至16中任一项所述的方法,其特征在于,N等于2;
所述将所述至少一个未解码像素点分成两组像素点,包括:
将所述至少一个未解码像素点中的前P个像素点确定为第一组像素点,其中,P为大于或等于1的预设数值;
将所述至少一个未解码像素点中除所述第一组像素点之外的其余未解码像素点确定为第二组像素点。
20.根据权利要求19所述的方法,其特征在于;
所述从所述图像的至少一个已解码像素点中,确定所述第一矩形区域中至少一个未解码像素点中每个像素点的参考像素点,还包括:
从所述图像的编码比特流中获取至少一个第三标识符,所述至少一个第三标识符与所述第一组像素点中的至少一个像素点对应,并且所述至少一个第三标识符中每个第三标识符用于指示对应像素点的参考像素点所在位置;
根据所述第一组像素点中每个像素点对应的第三标识符,确定所述每个像素点的参考像素点。
21.根据权利要求14至16中任一项所述的方法,其特征在于,所述根据图像的编码比特流,对所述图像中的第一矩形区域进行解码处理,包括:
对所述第一矩形区域的待解码片段进行熵解码处理,得到所述待解码片段的量化参数,其中,所述第一矩形区域包括至少一个片段,每个片段包括至少一个像素点;
根据所述待解码片段的量化参数,对所述待解码片段进行反量化处理,得到所述待解码片段的残差数据;
根据所述待解码片段的参考数据,对所述待解码片段的残差数据进行反预测处理,得到所述待解码片段的解码结果。
22.一种编码装置,其特征在于,包括:
编码单元,用于对图像的第一矩形区域中的像素点进行编码处理,其中,所述图像包括至少一个矩形区域,每个矩形区域包括至少一个像素点;
边界处理单元,用于若所述第一矩形区域中的前i个已编码的像素点使用的总编码比特数Bi小于或等于所述第一矩形区域的最大允许使用编码比特数Bmax,并且所述第一矩形区域中的第i+1个像素点需要使用的编码比特数bi+1与Bi之和大于Bmax,根据所述图像中至少一个已编码的像素点的编码数据,确定所述第一矩形区域中至少一个未编码像素点的编码数据,其中,所述至少一个未编码像素点包括所述第i+1个像素点,1≤i≤T-1,T为所述第一矩形区域包括的像素点总数,以及向所述第一矩形区域的编码比特流添加第一标识符,所述第一标识符用于标识对所述第一矩形区域的编码结束并且所述第一矩形区域具有至少一个未编码像素点;
所述边界处理单元具体用于:
从所述图像中至少一个已编码的像素点中,确定所述至少一个未编码像素点中每个像素点的参考像素点;
将所述至少一个未编码像素点中的每个像素点的编码数据确定为所述每个像素点的参考像素点的编码数据;
所述边界处理单元具体用于:
将所述至少一个未编码像素点分成N组像素点,每组像素点包括所述至少一个未编码像素点中的至少一个像素点,N为大于或等于1的整数;
从所述图像中至少一个已编码的像素点中,确定所述N组像素点中的第j组像素点的参考像素点,1≤j≤N。
23.根据权利要求22所述的装置,其特征在于,
所述至少一个未编码像素点中每个像素点的参考像素点位于所述每个像素点的左侧或上侧;和/或
所述至少一个未编码像素点中每个像素点的参考像素点与所述每个像素点位于同一矩形区域或不同矩形区域。
24.根据权利要求22所述的装置,其特征在于,所述边界处理单元具体用于:根据所述第j组像素点的原始数据,从所述第j组像素点左侧的第一已编码像素点和所述第j组像素点上侧的至少一个第二已编码像素点中,确定所述第j组像素点的参考像素点。
25.根据权利要求24所述的装置,其特征在于,所述边界处理单元具体用于:
根据所述第j组像素点中每个像素点的原始数据,确定所述每个像素点与所述第一已编码像素点之间的相关度;
根据所述第j组像素点中每个像素点的原始数据,确定所述每个像素点与所述每个像素点上侧的第二已编码像素点之间的相关度;
根据所述第j组像素点中每个像素点与所述第一已编码像素点之间的相关度以及所述第j组像素点中每个像素点与所述每个像素点上侧的第二已编码像素点之间的相关度,将所述第一已编码像素点或所述至少一个第二已编码像素点确定为所述第j组像素点的参考像素点。
26.根据权利要求24或25所述的装置,其特征在于,下列中的至少一项满足:
所述第一已编码像素点具体为所述前i个已编码的像素点中的最后一个已编码的像素点,或者所述第一已编码像素点与所述最后一个已编码的像素点之间间隔至少一个像素点;
所述第j组像素点中每个像素点与位于所述每个像素点上侧的第二已编码像素点相邻或间隔至少一个像素点。
27.根据权利要求22至25中任一项所述的装置,其特征在于,所述边界处理单元还用于:向所述第一矩形区域的编码比特流添加第二标识符,所述第二标识符用于指示所述第j组像素点的参考像素点所在位置。
28.根据权利要求22至25中任一项所述的装置,其特征在于,所述边界处理单元具体用于:
根据所述至少一个未编码像素点的个数,将所述至少一个未编码像素点分成N组像素点,其中,所述N组像素点中的前N-1组像素点中包括的未编码像素点的个数相同。
29.根据权利要求22至25中任一项所述的装置,其特征在于,N等于2;
所述边界处理单元具体用于:
将所述至少一个未编码像素点中的前P个像素点确定为第一组像素点,其中,P为大于或等于1的预设数值;
将所述至少一个未编码像素点中除所述第一组像素点之外的其余未编码像素点确定为第二组像素点。
30.根据权利要求29所述的装置,其特征在于,所述第j组像素点具体为所述第一组像素点;
所述边界处理单元具体用于:根据所述第二组像素点中每个像素点的原始数据,从所述每个像素点左侧的已编码像素点和所述每个像素点上侧的已编码像素点中,确定所述每个像素点的参考像素点。
31.根据权利要求30所述的装置,其特征在于,所述边界处理单元还用于:向所述第一矩形区域的编码比特流添加至少一个第三标识符,所述至少一个第三标识符与所述第二组像素点中的至少一个像素点对应,并且所述至少一个所述第三标识符中每个第三标识符用于指示对应像素点的参考像素点所在位置。
32.根据权利要求22至25中任一项所述的装置,其特征在于,所述编码单元具体用于:
确定所述第一矩形区域中的待编码片段的参考数据,其中,所述第一矩形区域包括至少一个片段,每个片段包括至少一个像素点;
根据所述参考数据,对所述待编码片段进行预测处理,得到所述待编码片段的预测残差;
利用所述待编码片段的量化参数,对所述待编码片段的预测结果进行量化处理,得到所述待编码片段的量化结果;
对所述待编码片段的量化结果进行熵编码处理,得到所述待编码片段的编码结果。
33.根据权利要求32所述的装置,其特征在于,所述编码单元具体用于:
根据所述待编码片段中的数据,从所述待编码片段的左侧数据和上侧数据中,确定所述待编码片段的参考数据,其中,所述待编码片段的左侧数据包括位于所述待编码片段左侧的至少一个第一像素点的数据,所述待编码数据的上侧数据包括位于所述待编码片段上侧的至少一个第二像素点的数据。
34.根据权利要求32所述的装置,其特征在于,所述编码单元还用于:在利用所述待编码片段的量化参数,对所述待编码片段的预测结果进行量化处理之前,根据所述参考数据,确定所述待编码片段对应的量化参数。
35.一种解码装置,其特征在于,包括:
解码单元,用于根据图像的编码比特流,对所述图像中的第一矩形区域进行解码处理,其中,所述图像包括至少一个矩形区域,每个矩形区域包括至少一个像素点;
边界处理单元,用于若所述编码比特流包括第一标识符,根据所述图像中至少一个已解码像素点的解码数据,确定所述第一矩形区域中至少一个未解码像素点的解码数据,其中,所述第一标识符用于标识对所述第一矩形区域的编码结束并且所述第一矩形区域中具有至少一个未编码像素点;
所述边界处理单元具体用于:
从所述图像的至少一个已解码像素点中,确定所述第一矩形区域中至少一个未解码像素点中每个像素点的参考像素点;
将所述至少一个未解码像素点中每个像素点的解码数据确定为所述每个像素点的参考像素点的解码数据;
所述边界处理单元具体用于:
将所述至少一个未解码像素点分成N组像素点,每组像素点包括所述至少一个未编码像素点中的至少一个像素点,N为大于或等于1的整数;
从所述图像的至少一个已解码像素点中,确定所述N组像素点中的第j组像素点的参考像素点,1≤j≤N。
36.根据权利要求35所述的装置,其特征在于,
所述至少一个未编码像素点中每个像素点的参考像素点位于所述每个像素点的左侧或上侧;和/或
所述至少一个未编码像素点中每个像素点的参考像素点与所述每个像素点位于同一矩形区域或不同矩形区域。
37.根据权利要求35所述的装置,其特征在于,所述边界处理单元具体用于:
从所述图像的编码比特流中获取第二标识符,所述第二标识符用于指示所述第j组像素点的参考像素点所在位置;
根据所述第二标识符,确定所述第j组像素点中每个像素点的参考像素点。
38.根据权利要求35至37中任一项所述的装置,其特征在于,下列中的至少一项满足:
所述第j组像素点的参考像素点位于所述第j组像素点的左侧,并且为所述第一矩形区域的最后一个已编码的像素点,或者所述第j组像素点的参考像素点与所述最后一个已编码的像素点之间间隔至少一个像素点;
所述第j组像素点中每个像素点的参考像素点位于所述每个相素点的上侧,并且与所述每个像素点相邻或间隔至少一个像素点。
39.根据权利要求35至37中任一项所述的装置,其特征在于,所述边界处理单元具体用于:根据所述至少一个未解码像素点的个数,将所述至少一个未解码像素点分成N组像素点,其中,所述N组像素点中的前N-1组像素点中包括的未解码像素点的个数相同。
40.根据权利要求35至37中任一项所述的装置,其特征在于,N等于2;
所述边界处理单元具体用于:
将所述至少一个未解码像素点中的前P个像素点确定为第一组像素点,其中,P为大于或等于1的预设数值;
将所述至少一个未解码像素点中除所述第一组像素点之外的其余未解码像素点确定为第二组像素点。
41.根据权利要求40所述的装置,其特征在于,所述第j组像素点具体为所述第一组像素点;
所述边界处理单元具体用于:
从所述图像的编码比特流中获取至少一个第三标识符,所述至少一个第三标识符与所述第二组像素点中的至少一个像素点对应,并且所述至少一个第三标识符中每个第三标识符用于指示对应像素点的参考像素点所在位置;
根据所述第二组像素点中每个像素点对应的第三标识符,确定所述每个像素点的参考像素点。
42.根据权利要求35至37中任一项所述的装置,其特征在于,所述解码单元具体用于:
对所述第一矩形区域的待解码片段进行熵解码处理,得到所述待解码片段的量化参数,其中,所述第一矩形区域包括至少一个片段,每个片段包括至少一个像素点;
根据所述待解码片段的量化参数,对所述待解码片段进行反量化处理,得到所述待解码片段的残差数据;
根据所述待解码片段的参考数据,对所述待解码片段的残差数据进行反预测处理,得到所述待解码片段的解码结果。
CN201780004573.3A 2017-08-31 2017-08-31 编码方法、解码方法以及编码装置和解码装置 Active CN108521871B (zh)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN108521871A CN108521871A (zh) 2018-09-11
CN108521871B true CN108521871B (zh) 2020-12-18

Family

ID=63434466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780004573.3A Active CN108521871B (zh) 2017-08-31 2017-08-31 编码方法、解码方法以及编码装置和解码装置

Country Status (3)

Country Link
US (1) US20200145676A1 (zh)
CN (1) CN108521871B (zh)
WO (1) WO2019041222A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11262006A (ja) * 1998-03-11 1999-09-24 Sony Corp 映像信号伝送装置
CN102647586A (zh) * 2011-02-16 2012-08-22 富士通株式会社 用在视频编码系统中的码率控制方法和装置
CN104320660A (zh) * 2014-10-31 2015-01-28 中国科学技术大学 用于无损视频编码的率失真优化方法及编码方法
CN105592313A (zh) * 2014-10-21 2016-05-18 广东中星电子有限公司 一种分组自适应熵编码压缩方法
CN108476320A (zh) * 2017-08-31 2018-08-31 深圳市大疆创新科技有限公司 编码方法、解码方法以及编码装置和解码装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588487B (zh) * 2009-06-10 2011-06-29 武汉大学 一种视频帧内预测编码方法
US20140071146A1 (en) * 2012-09-07 2014-03-13 Texas Instruments Incorporated Methods and systems for multimedia data processing
US20140072027A1 (en) * 2012-09-12 2014-03-13 Ati Technologies Ulc System for video compression
AU2013206815A1 (en) * 2013-07-11 2015-03-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
CN103391439B (zh) * 2013-07-18 2016-08-10 西安交通大学 一种基于主动宏块隐藏的h.264/avc码率控制方法
CN105323588B (zh) * 2014-06-16 2019-06-21 敦泰电子股份有限公司 一种动态适应压缩参数的影像压缩系统
CN106559671B (zh) * 2015-09-30 2019-08-23 展讯通信(上海)有限公司 一种显示图像压缩方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11262006A (ja) * 1998-03-11 1999-09-24 Sony Corp 映像信号伝送装置
CN102647586A (zh) * 2011-02-16 2012-08-22 富士通株式会社 用在视频编码系统中的码率控制方法和装置
CN105592313A (zh) * 2014-10-21 2016-05-18 广东中星电子有限公司 一种分组自适应熵编码压缩方法
CN104320660A (zh) * 2014-10-31 2015-01-28 中国科学技术大学 用于无损视频编码的率失真优化方法及编码方法
CN108476320A (zh) * 2017-08-31 2018-08-31 深圳市大疆创新科技有限公司 编码方法、解码方法以及编码装置和解码装置

Also Published As

Publication number Publication date
WO2019041222A1 (zh) 2019-03-07
CN108521871A (zh) 2018-09-11
US20200145676A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
US11553185B2 (en) Method and apparatus for processing a video signal
US12058365B2 (en) Image prediction method and apparatus
RU2682838C1 (ru) Способ и устройство для кодирования с преобразованием с выбором преобразования блокового уровня и неявной сигнализацией в рамках иерархического разбиения
US9161046B2 (en) Determining quantization parameters for deblocking filtering for video coding
US9363510B2 (en) Scan-based sliding window in context derivation for transform coefficient coding
US9510010B2 (en) Method for decoding images based upon partition information determinations and apparatus for decoding using same
WO2019010217A1 (en) ADAPTIVE LOOP FILTER WITH ENHANCED CLASSIFICATION PROCESSES
KR102083013B1 (ko) 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치
US20130177070A1 (en) Significance map support for parallel transform coefficient processing in video coding
KR102600727B1 (ko) 파라미터화된 확률 추정 유한 상태 머신들을 이용한 이진 산술 코딩
CN107211131B (zh) 对数字图像块进行基于掩码的处理的系统和方法
CA3075491A1 (en) Binary arithmetic coding with progressive modification of adaptation parameters
CN111316642B (zh) 信令图像编码和解码划分信息的方法和装置
CN110546957A (zh) 一种帧内预测的方法及装置
CN112702603A (zh) 视频编码方法、装置、计算机设备和存储介质
CN110324639B (zh) 用于视频数据的高效熵编码的技术
CN108476320A (zh) 编码方法、解码方法以及编码装置和解码装置
CN108521871B (zh) 编码方法、解码方法以及编码装置和解码装置
CN113489983A (zh) 一种基于相关度比较确定分块编码参数的方法及装置
WO2020061784A1 (zh) 编码方法、解码方法、编码设备和解码设备
US9549193B2 (en) Video encoding method and video encoding device
KR20120038355A (ko) 계층 구조의 영상 처리를 위한 엔트로피 인코딩/디코딩 방법 및 장치와 이를 위한 심볼 인코딩/디코딩 방법 및 장치
KR20240127477A (ko) 픽처 인코딩 및 디코딩의 방법, 장치 및 저장매체
CN113225567A (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