一种编解码方法、装置及电子设备制造方法及图纸

技术编号:19187469 阅读:24 留言:0更新日期:2018-10-17 02:31
本发明专利技术实施例提供了一种编解码方法、装置及电子设备,应用于图像编解码技术领域,所述编码方法包括:针对图像中的每条平面曲线,获取该平面曲线的多个位置坐标,按照该平面曲线的起始顺序,分别对多个位置坐标中的X轴坐标及Y轴坐标建立数组,得到两个数组;针对每个数组,如果该数组的长度大于预设第一长度阈值,按照该数组中元素的顺序,将该数组拆分为多个子数组;针对多个子数组中的每个子数组,对该子数组进行DCT变换及量化后,得到量化后的子数组,对该子数组的长度以及量化后的子数组进行编码;在对两个数组中每个数组中的子数组的长度以及子数组进行编码之后,得到该平面曲线的码流。本发明专利技术可提高编码的压缩效率。

Encoding and decoding method, device and electronic equipment

The embodiment of the invention provides a coding and decoding method, a device and an electronic device, which are applied to the field of image coding and decoding technology. The coding method includes: acquiring a plurality of position coordinates of the plane curve for each plane curve in the image, and according to the starting order of the plane curve, respectively, X in the plurality of position coordinates. For each array, if the length of the array is greater than the preset first length threshold, the array is divided into several subarrays according to the order of the elements in the array; for each subarray, the subarray is transformed and quantized by DCT. The length of the quantized subarray and the quantized subarray are encoded, and the code stream of the planar curve is obtained by encoding the length of the subarray and the subarray in each of the two arrays. The invention can improve the compression efficiency of coding.

【技术实现步骤摘要】
一种编解码方法、装置及电子设备
本专利技术涉及图像编解码
,特别是涉及一种编解码方法、装置及电子设备。
技术介绍
在图像编解码技术中,通常需要对图像中的平面曲线进行编码,如图1所示图像,它是由大量曲线构成的二值图像,其像素值可以用0和1来表示。通常的编码方法是位平面编码,其中,位平面编码是一种将像素包含多个灰度值的图像分解成一系列二值图像,然后再对每一幅二值图像用二元压缩方法进行压缩的技术。其中,位平面编码方法包括:位平面分解和位平面编码。例如,JBIG组织定义的二值图像编码方法,对于二值图像中的每个像素,首先,将该像素的左上相邻的已编码像素的集合构成一个内容;然后,根据该内容,选择自适应的内容模型进行算术编码。但是,由于上述位平面编码方法是逐像素的编码方法,因此,现有编码方法的压缩效率比较低。
技术实现思路
本专利技术实施例的目的在于提供一种编解码方法、装置及电子设备,以提高图像中平面曲线编码的压缩效率。具体技术方案如下:本专利技术实施例提供了一种编码方法,所述方法包括:针对所获取图像中的每条平面曲线,获取该平面曲线的多个位置坐标,按照该平面曲线的起始顺序,分别对所述多个位置坐标中的X轴坐标以及所述多个位置坐标中的Y轴坐标建立数组,得到两个数组;针对所述两个数组中的每个数组,判断该数组的长度是否大于预设第一长度阈值;如果该数组的长度大于所述预设第一长度阈值,按照该数组中元素的顺序,将该数组拆分为多个子数组,所述多个子数组中最后一个子数组之外的其他子数组的长度为预设第二长度阈值,所述多个子数组中最后一个子数组的长度小于或等于所述预设第二长度阈值,所述预设第二长度阈值不大于所述预设第一长度阈值;针对所述多个子数组中的每个子数组,对该子数组进行离散余弦变换DCT变换,得到DCT变换后的子数组,对所述DCT变换后的子数组进行量化,得到量化后的子数组,对该子数组的长度以及所述量化后的子数组进行编码;在对所述两个数组中每个数组中的子数组的长度以及子数组进行编码之后,得到该平面曲线的码流。可选的,在所述判断该数组的长度是否大于预设第一长度阈值之后,所述方法还包括:如果该数组的长度不大于所述预设第一长度阈值,对该数组进行DCT变换,得到DCT变换后的数组,对所述DCT变换后的数组进行量化,得到量化后的数组,对该数组的长度以及所述量化后的数组进行编码;在对所述两个数组中每个数组的长度以及所述每个数组进行编码之后,得到该平面曲线的码流。可选的,所述多个子数组中每两个相邻的子数组中包含预设数量个重合的元素,并且每两个相邻的子数组中排列在前的子数组中后面所述预设数量个元素、与排列在后的子数组中前面所述预设数量个元素相同。可选的,所述对所述DCT变换后的子数组进行量化,包括:将所述DCT变换后的子数组中的每个元素除以量化系数,得到更新的子数组;对所述更新的子数组中的每个元素进行四舍五入取值。本专利技术实施例提供了一种解码方法,所述方法包括:针对获取的每个平面曲线的码流,获取该码流对应的编码方法,按照与所述编码方法相对应的解码方法对该码流进行解码,并将解码后的数据拆分为两个数组,所述两个数组的长度相同,该码流是对该平面曲线的多个位置坐标进行编码得到的;判断是否存在该码流对应的分组大小;如果存在该码流对应的分组大小,获取该码流对应的分组大小,针对所述两个数组中的每个数组,根据所述分组大小将该数组拆分为多个子数组,所述多个子数组中最后一个子数组之外的其他子数组的长度为所述分组大小,所述多个子数组中最后一个子数组的长度小于或等于所述分组大小;针对所述多个子数组中的每个子数组,根据获取的该码流对应的量化系数对该子数组进行反量化,得到反量化后的子数组,并对所述反量化后的子数组进行反离散余弦变换DCT变换,得到反DCT变换后的子数组;在对所述两个数组中每个数组中的子数组进行反DCT变换之后,得到该码流表示的平面曲线的位置坐标。可选的,在所述判断是否存在该码流对应的分组大小之后,所述方法还包括:如果不存在该码流对应分组大小,针对所述两个数组中的每个数组,根据获取的该码流对应的量化系数对该数组进行反量化,得到反量化后的数组,并对所述反量化后的数组进行反DCT变换,得到反DCT变换后的数组;在对所述两个数组中每个数组进行反DCT变换之后,得到该码流表示的平面曲线的位置坐标。可选的,若所述多个子数组中每两个相邻的子数组中包含预设数量个重合的元素,并且每两个相邻的子数组中排列在前的子数组中后面所述预设数量个元素、与排列在后的子数组中前面所述预设数量个元素相同,在对所述两个数组中每个数组中的子数组进行反DCT变换之后,所述方法还包括:对每两个相邻的子数组中所述预设数量个重合元素中的每个重合元素求平均值,将得到的平均值作为对应的重合元素的值。可选的,所述根据所述量化系数对该子数组进行反量化,包括:将该子数组中的每个元素乘以所述量化系数。本专利技术实施例提供了一种编码装置,所述装置包括:数组建立模块,用于针对所获取图像中的每条平面曲线,获取该平面曲线的多个位置坐标,按照该平面曲线的起始顺序,分别对所述多个位置坐标中的X轴坐标以及所述多个位置坐标中的Y轴坐标建立数组,得到两个数组;数组长度判断模块,用于针对所述两个数组中的每个数组,判断该数组的长度是否大于预设第一长度阈值;数组拆分模块,用于如果该数组的长度大于所述预设第一长度阈值,按照该数组中元素的顺序,将该数组拆分为多个子数组,所述多个子数组中最后一个子数组之外的其他子数组的长度为预设第二长度阈值,所述多个子数组中最后一个子数组的长度小于或等于所述预设第二长度阈值,所述预设第二长度阈值不大于所述预设第一长度阈值;子数组编码处理模块,用于针对所述多个子数组中的每个子数组,对该子数组进行离散余弦变换DCT变换,得到DCT变换后的子数组,对所述DCT变换后的子数组进行量化,得到量化后的子数组,对该子数组的长度以及所述量化后的子数组进行编码;第一码流确定模块,用于在对所述两个数组中每个数组中的子数组的长度以及子数组进行编码之后,得到该平面曲线的码流。可选的,本专利技术实施例的编码装置,还包括:数组编码处理模块,用于如果该数组的长度不大于所述预设第一长度阈值,对该数组进行DCT变换,得到DCT变换后的数组,对所述DCT变换后的数组进行量化,得到量化后的数组,对该数组的长度以及所述量化后的数组进行编码;第二码流确定模块,用于在对所述两个数组中每个数组的长度以及所述每个数组进行编码之后,得到该平面曲线的码流。可选的,所述多个子数组中每两个相邻的子数组中包含预设数量个重合的元素,并且每两个相邻的子数组中排列在前的子数组中后面所述预设数量个元素、与排列在后的子数组中前面所述预设数量个元素相同。可选的,所述子数组编码处理模块,包括:量化子模块,用于将所述DCT变换后的子数组中的每个元素除以量化系数,得到更新的子数组;对所述更新的子数组中的每个元素进行四舍五入取值。本专利技术实施例提供了一种解码装置,所述装置包括:解码模块,用于针对获取的每个平面曲线的码流,获取该码流对应的编码方法,按照与所述编码方法相对应的解码方法对该码流进行解码,并将解码后的数据拆分为两个数组,所述两个数组的长度相同,该码流是对该平面曲线的多个位置坐标进行编码得到的本文档来自技高网...

【技术保护点】
1.一种编码方法,其特征在于,所述方法包括:针对所获取图像中的每条平面曲线,获取该平面曲线的多个位置坐标,按照该平面曲线的起始顺序,分别对所述多个位置坐标中的X轴坐标以及所述多个位置坐标中的Y轴坐标建立数组,得到两个数组;针对所述两个数组中的每个数组,判断该数组的长度是否大于预设第一长度阈值;如果该数组的长度大于所述预设第一长度阈值,按照该数组中元素的顺序,将该数组拆分为多个子数组,所述多个子数组中最后一个子数组之外的其他子数组的长度为预设第二长度阈值,所述多个子数组中最后一个子数组的长度小于或等于所述预设第二长度阈值,所述预设第二长度阈值不大于所述预设第一长度阈值;针对所述多个子数组中的每个子数组,对该子数组进行离散余弦变换DCT变换,得到DCT变换后的子数组,对所述DCT变换后的子数组进行量化,得到量化后的子数组,对该子数组的长度以及所述量化后的子数组进行编码;在对所述两个数组中每个数组中的子数组的长度以及子数组进行编码之后,得到该平面曲线的码流。

【技术特征摘要】
1.一种编码方法,其特征在于,所述方法包括:针对所获取图像中的每条平面曲线,获取该平面曲线的多个位置坐标,按照该平面曲线的起始顺序,分别对所述多个位置坐标中的X轴坐标以及所述多个位置坐标中的Y轴坐标建立数组,得到两个数组;针对所述两个数组中的每个数组,判断该数组的长度是否大于预设第一长度阈值;如果该数组的长度大于所述预设第一长度阈值,按照该数组中元素的顺序,将该数组拆分为多个子数组,所述多个子数组中最后一个子数组之外的其他子数组的长度为预设第二长度阈值,所述多个子数组中最后一个子数组的长度小于或等于所述预设第二长度阈值,所述预设第二长度阈值不大于所述预设第一长度阈值;针对所述多个子数组中的每个子数组,对该子数组进行离散余弦变换DCT变换,得到DCT变换后的子数组,对所述DCT变换后的子数组进行量化,得到量化后的子数组,对该子数组的长度以及所述量化后的子数组进行编码;在对所述两个数组中每个数组中的子数组的长度以及子数组进行编码之后,得到该平面曲线的码流。2.根据权利要求1所述的编码方法,其特征在于,在所述判断该数组的长度是否大于预设第一长度阈值之后,所述方法还包括:如果该数组的长度不大于所述预设第一长度阈值,对该数组进行DCT变换,得到DCT变换后的数组,对所述DCT变换后的数组进行量化,得到量化后的数组,对该数组的长度以及所述量化后的数组进行编码;在对所述两个数组中每个数组的长度以及所述每个数组进行编码之后,得到该平面曲线的码流。3.根据权利要求1或2所述的编码方法,其特征在于,所述多个子数组中每两个相邻的子数组中包含预设数量个重合的元素,并且每两个相邻的子数组中排列在前的子数组中后面所述预设数量个元素、与排列在后的子数组中前面所述预设数量个元素相同。4.根据权利要求1所述的编码方法,其特征在于,所述对所述DCT变换后的子数组进行量化,包括:将所述DCT变换后的子数组中的每个元素除以量化系数,得到更新的子数组;对所述更新的子数组中的每个元素进行四舍五入取值。5.一种解码方法,其特征在于,所述方法包括:针对获取的每个平面曲线的码流,获取该码流对应的编码方法,按照与所述编码方法相对应的解码方法对该码流进行解码,并将解码后的数据拆分为两个数组,所述两个数组的长度相同,该码流是对该平面曲线的多个位置坐标进行编码得到的;判断是否存在该码流对应的分组大小;如果存在该码流对应的分组大小,获取该码流对应的分组大小,针对所述两个数组中的每个数组,根据所述分组大小将该数组拆分为多个子数组,所述多个子数组中最后一个子数组之外的其他子数组的长度为所述分组大小,所述多个子数组中最后一个子数组的长度小于或等于所述分组大小;针对所述多个子数组中的每个子数组,根据获取的该码流对应的量化系数对该子数组进行反量化,得到反量化后的子数组,并对所述反量化后的子数组进行反离散余弦变换DCT变换,得到反DCT变换后的子数组;在对所述两个数组中每个数组中的子数组进行反DCT变换之后,得到该码流表示的平面曲线的位置坐标。6.根据权利要求5所述的解码方法,其特征在于,在所述判断是否存在该码流对应的分组大小之后,所述方法还包括:如果不存在该码流对应分组大小,针对所述两个数组中的每个数组,根据获取的该码流对应的量化系数对该数组进行反量化,得到反量化后的数组,并对所述反量化后的数组进行反DCT变换,得到反DCT变换后的数组;在对所述两个数组中每个数组进行反DCT变换之后,得到该码流表示的平面曲线的位置坐标。7.根据权利要求5或6所述的解码方法,其特征在于,若所述多个子数组中每两个相邻的子数组中包含预设数量个重合的元素,并且每两个相邻的子数组中排列在前的子数组中后面所述预设数量个元素、与排列在后的子数组中前面所述预设数量个元素相同,在对所述两个数组中每个数组中的子数组进行反DCT变换之后,所述方法还包括:对每两个相邻的子数组中所述预设数量个重合元素中的每个重合元素求平均值,将得到的平均值作为对应的重合元素的值。8.根据权利要求5所述的解码方法,其特征在于,所述根据所述量化系数对该子数组进行反量化,包括:将该子数组中的每个元素乘以所述量化系数。9.一种编码装置,其特征在于,所述装置包括:数组建立模块,用于针对所获取图像中的每条平面曲线,获取该平面曲线的多个位置坐标,按照该平面曲线的起始顺序,分别对所述多个位置坐标中的X轴坐标以及所述多个位置坐标中的Y轴坐标建立数组,得到两个数组;数组长度判断模块,用于针对所述两个数组中的每个数组,判断该数组的长度是否大于预设第一长度...

【专利技术属性】
技术研发人员:朱洪波
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1