CN112150567A - 一种heif图像编码方法及相关设备 - Google Patents
一种heif图像编码方法及相关设备 Download PDFInfo
- Publication number
- CN112150567A CN112150567A CN202011228788.3A CN202011228788A CN112150567A CN 112150567 A CN112150567 A CN 112150567A CN 202011228788 A CN202011228788 A CN 202011228788A CN 112150567 A CN112150567 A CN 112150567A
- Authority
- CN
- China
- Prior art keywords
- image data
- heif
- coding
- encoding
- heif image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供了一种HEIF图像编码方法及相关设备,用于提高在HEIF格式的图片编码时的实时性。所述HEIF图像编码方法包括:获取HEIF图像数据;对图像数据进行计算,获得图像数据分量;对所述图像数据分量进行编程处理,获得所述HEIF图像数据的编码数据。
Description
技术领域
本申请涉及图像编码技术领域,尤其涉及一种HEIF图像编码方法及相关设备。
背景技术
HEIF(High Efficiency Image File Format,一种高效率图像文件格式)是一种基于HEVC的新一代图片格式,现已广泛应用于电子设备的图片相册中。与传统的jpeg图片格式相比,在质量相同的情况下,HEIF格式的图片大小约为jpeg格式的一半。因此使用HEIF格式的图片可以大大减少传输带宽及存储空间。然而与jpeg格式的编码算法相比,HEIF格式的图片编码更为复杂,计算复杂度更高,传统的CPU处理器已经很难满足实时性及带宽需求。
发明内容
鉴于上述问题,本发明提出了一种用于克服上述问题的HEIF图像编码方法及相关设备,可以更有效的实现HEIF编码算法。
本申请实施例的第一方面提供了一种HEIF图像编码方法,用于FPGA,包括以下步骤:获取HEIF图像数据;对上述HEIF图像数据进行计算,获得图像数据分量;对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。
可选的,上述对图像数据进行计算,获得图像数据分量的步骤之前,还包括:
对上述图像数据进行分割,具体的:
根据HEVC的编码方式,创建多个编码树块,每个上述编码树块对应上述HEIF图像数据的不同位置,将上述HEIF图像数据分割,生成多个HEIF图像数据区域。
可选的,上述对图像数据进行计算,获得图像数据分量,具体包括:
对每个上述HEIF图像数据区域进行计算;
根据HEVC的四叉树划分方式,创建多种编码方式,在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,其中,上述在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,包括:
通过多种编码方式同时对上述HEIF图像数据区域进行编码;
根据与编码方式相对应的划分方式对上述HEIF图像数据区域进行划分;
比较编码方式与对应划分方式的代价值,其中,上述代价值是代价函数根据预设码率及预设像素与原始像素之间的残差值计算得出的;
记录编码方式与对应划分方式中代价值小的运行方式;
获取上述HEIF图像数据的格式选取数据,其中,上述运行方式与上述格式选取数据为图像数据分量。
可选的,上述对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据的具体步骤包括:
对上述图像数据分量进行熵编码,获得HEVC码流;
根据上述HEVC码流获得HEIF图像数据的编码数据。
可选的,上述对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据的步骤之前,还包括:
根据上述HEIF图像数据区域的图像数据分量对上述HEIF图像数据区域进行编码。
本申请实施例第二方面提供了一种HEIF图像编码装置,包括:接收模块:用于获取HEIF图像数据;计算模块:用于对上述HEIF图像数据进行计算,获得图像数据分量;压缩模块:对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。
可选的,上述计算模块还用于:
对上述图像数据进行分割,具体的:
根据HEVC的编码方式,创建多个编码树块,每个上述编码树块对应上述HEIF图像数据的不同位置,将上述HEIF图像数据分割,生成多个HEIF图像数据区域。
可选的,上述计算模块还用于:
根据HEVC的编码方式,创建多个编码树块,每个上述编码树块对应上述HEIF图像数据的不同位置,将上述HEIF图像数据分割,生成多个HEIF图像数据区域。
可选的,上述计算模块还用于:
对每个上述HEIF图像数据区域进行计算;
根据HEVC的四叉树划分方式,创建多种编码方式,在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,其中,上述在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,包括:
通过多种编码方式同时对上述HEIF图像数据区域进行编码;
根据与编码方式相对应的划分方式对上述HEIF图像数据区域进行划分;
比较编码方式与对应划分方式的代价值,其中,上述代价值为编码方式或划分方式的运行内存使用数据;
记录编码方式与对应划分方式中代价值小的运行方式;
获取上述HEIF图像数据的格式选取数据,其中,上述运行方式与上述格式选取数据为图像数据分量。
可选的,上述压缩模块还用于:
对上述图像数据分量进行熵编码,获得HEVC码流;
根据上述HEVC码流获得HEIF图像数据的编码数据。
根据所有上述HEIF图像数据区域的图像数据分量对所有上述HEIF图像数据区域进行编码。
本申请实施例第三方面提供了一种HEIF图像编码系统,包括FPGA和CPU,上述FPGA和CPU相连接,上述CPU用于从上述CPU下辖的存储器中获取HEIF图像,并将基于上述HEIF图像处理后的HEIF图像数据发送至上述FPGA下辖的存储器;上述FPGA用于从上述FPGA下辖的存储器中获取上述HEIF图像数据,并执行上述任一项上述方法的步骤。
本申请实施例第四方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述程序时实现上述任一项上述方法的步骤。
综上,可以看出,本申请提供的一种HEIF图像编码方法,用于FPGA,包括以下步骤:获取HEIF图像数据;对上述HEIF图像数据进行计算,获得图像数据分量;对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。通过FPGA将HEIF格式图像分为不同区域,FPGA采用并行的方式对HEIF格式图像不同区域进行编码处理,编码效果好,内存占用小,提高了对HEIF格式图像的编码速度,现有技术中不能保证对HEIF格式图像的编码的实时性。解决了现有技术问题中存在的对HEIF格式的图像的编码速度慢,难以满足实时性及带宽需求的技术问题,达到了编码效果好,内存占用小,提高了对HEIF格式的图像的编码速度,缩短了HEIF格式图像编码过程的时间,保证了对HEIF格式图像编码的实时性的技术效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图1示出了本发明实施例提供的一种HEIF图像编码方法流程图;
图2示出了本发明实施例提供的一种HEIF图像数据分割示意图;
图3示出了本发明实施例提供的一种HEIF图像数据的压缩算法示意图;
图4示出了本发明实施例提供的一种HEIF图像编码装置的方块结构示意图;
图5示出了本发明实施例提供的一种HEIF图像编码系统的方块结构示意图。
图6示出了本发明实施例提供的一种电子设备的方块结构示意图;
图7示出了本发明实施例提供的一种计算机可读存储介质示意图。
具体实施方式
本申请实施例提供了一种HEIF图像编码方法及相关设备,可以提高HEIF格式图像编码的实时性,解决了现有技术问题中存在的对HEIF格式的图像的编码速度慢,难以满足实时性及带宽需求的技术问题。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
请参阅图1,为本申请实施例提供的一种HEIF图像编码方法的流程图,具体包括:
101、获取HEIF图像数据;
作为一种实施例,在获取HEIF图像数据之前,HEIF图像编码方法还包括:获取图像;判断上述图像的格式是否是HEIF格式;若是,则将上述图像转换成HEIF图像信息。
在本发明实施例中,HEIF格式的图像数据是YUV数据格式的图像数据,即每4个Y分量对应同一组UV分量。因为Y分量指的是亮度信号,U分量和V分量指的是色度信号,人眼对亮度比色度更敏感,出于人眼对亮度比色度更为敏感的考虑,本例中HEIF格式的图像数据中Y分量、U分量和V分量的数据量比例为4:1:1(Y:U:V)。
YUV是被欧洲电视系统所采用的一种颜色编码方法,是帕尔制(Phase AlterationLine,PAL)和塞康制(Sequentiel Couleur A Memoire,SECAM)模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中,通常采用三管彩色摄像机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经过分色,分别放大校正后得到RGB,再经过矩阵变换电路得到亮度信号Y和两个色差信号B-Y(即U)、R-Y(即V),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的表示方法就是所谓的YUV色彩空间表示。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的,获取HEIF图像数据为YUV数据可以有针对性的对Y分量、U分量和V分量进行处理,避免资源浪费。
102、对上述HEIF图像数据进行计算,获得图像数据分量;
在现有的HEIF格式图像编码算法中,是采用CPU对整体HEIF格式图像的YUV三个通道数据进行串行处理,因此,处理YUV三个通道数据时,三个通道占用的时长总和决定了对HEIF格式图像进行编码的时长,而HEIF格式的图像数据是YUV数据格式的图像数据,即每4个Y分量对应同一组UV分量,Y通道的计算结果会作为UV通道的输入变量,Y分量的数据量要大于UV分量的数据量,则对Y通道数据进行处理的时长是对YUV数据进行处理的总时长的一大部分。
示例性的,根据上述HEIF图像数据区域进行计算;根据HEVC的四叉树划分方式,创建多种编码方式,在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,其中,上述在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,包括:
通过多种编码方式同时对上述HEIF图像数据区域进行编码;
根据与编码方式相对应的划分方式对上述HEIF图像数据区域进行划分;
比较编码方式与对应划分方式的代价值,其中,上述代价值为编码方式或划分方式的运行内存使用数据;
记录编码方式与对应划分方式中代价值小的运行方式;
获取上述HEIF图像数据的格式选取数据,其中,上述运行方式与上述格式选取数据为图像数据分量。
确定了对Y通道数据进行处理的最优方式,即用时最短的方式。
103、对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。
在本发明实施例中,现场可编程门阵列(Field Programmable-Gate Array,FPGA)是在帕尔制(Phase Alteration Line,al)、复杂可编程逻辑器件(Complex ProgrammableLogic Device,Cld)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(Application Specific Integrated Circuit,ASiC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
本申请提供的一种HEIF图像编码方法,用于FPGA,包括以下步骤:获取HEIF图像数据;对上述HEIF图像数据进行计算,获得图像数据分量;对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。选取HEIF图像数据的最优编码方式,FPGA采用并行的方式对HEIF格式图像不同区域进行编码处理,编码效果好,内存占用小,提高了对HEIF格式图像的编码速度,减小了现有技术中存在的对HEIF格式图像的编码的实时性。解决了现有技术问题中存在的对HEIF格式的图像的编码速度慢,难以满足实时性及带宽需求的技术问题,达到了编码效果好,内存占用小,提高了对HEIF格式的图像的编码速度,减小了HEIF格式图像编码过程的时间,提高了对HEIF格式图像编码的实时性的技术效果。
在一种可能的实施方式中,上述对图像数据进行计算,获得图像数据分量的步骤之前,还包括:
对上述图像数据进行分割,具体的:
根据HEVC的编码方式,创建多个编码树块,每个上述编码树块对应上述HEIF图像数据的不同位置,将上述HEIF图像数据分割,生成多个HEIF图像数据区域。
通过将HEIF图像数据分割,加快了对HEIF图像数据处理的速度,以便对HEIF图像数据上不同的HEIF图像数据区域采用不同的处理方式,使得对HEIF图像数据的处理更加准确。
示例性的,如图2所示,一种HEIF图像数据分割示意图;
当上述HEIF图像数据为一张256x256像素的图片时,根据HEVC的编码方式,创建16个编码树块(compute tree unit,CTU),即CTU1,CTU2,CTU3…CTU16;上述16个编码树块将上述图片分割为64位x64位的图片区域。
在一种可能的实施方式中,上述对图像数据进行计算,获得图像数据分量,具体包括:
对每个上述HEIF图像数据区域进行计算;
根据HEVC的四叉树划分方式,创建多种编码方式,在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,其中,上述在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,包括:
通过多种编码方式同时对上述HEIF图像数据区域进行编码;
根据与编码方式相对应的划分方式对上述HEIF图像数据区域进行划分;
比较编码方式与对应划分方式的代价值,其中,上述代价值为编码方式或划分方式的运行内存使用数据;
记录编码方式与对应划分方式中代价值小的运行方式;
获取上述HEIF图像数据的格式选取数据,其中,上述运行方式与上述格式选取数据为图像数据分量。
示例性的,对上述图片区域进行计算;针对每个CTU所对应的图片区域,根据HEVC的四叉树划分方式,选取最优的编码单元(coding unit,CU)组合,其中,编码单元组合包括:32位x32位,16位x16位,8位x8位,4位x4位四种,分别记为CU32,CU16,CU8,CU4。
将每个CTU所对应的图片区域分解为4个32位x32位的图片区域,上述32位x32位的图片区域记为B32区域;
对于每个B32区域,可以按照CU32的编码方式,即以32位x32位的区域整体进行编码;或者划分为4个16位x16位的图片区域进行编码,这种划分记为S32;S32由4个16位x16位的图片区域组成,每个16位x16位的图片区域记为B16区域;
对于每个B16区域,可以按照CU16的编码方式,即以16位x16位的区域整体进行编码;或者划分为4个8位x8位的图片区域进行编码,这种划分记为S16;S16由4个8位x8位的图片区域组成,每个8位x8位的图片区域记为B8区域;
对于每个B8区域,可以按照CU8的编码方式,即以8位x8位的区域整体进行编码;或者划分为4个4位x4位的图片区域进行编码,这种划分记为S8;S8由4个4位x4位的图片区域组成,每个4位x4位的图片区域记为B4区域;
对于每个B4区域,按照CU4的编码方式编码。
针对一个CTU,按照自CU4向CU32的方式编码;
针对每个B4区域,按照CU4的方式编码;
完成4个B4区域的编码后,合并为一个S8的编码方式,即一个S8由4个B4区域组成,每个B4区域按照CU4的编码方式组成;
并行执行CU8与S8两种编码运算,分别计算CU8与S8的代价值,取CU8与S8中代价值小的作为上述B8区域的最终编码方式;
完成4个B8区域的编码后,合并为一个S16的编码方式;即一个S16由4个B8区域组成,每个B8区域都可以按照CU8或者S8的编码方式组成;
并行执行CU16与S16两种编码运算,分别计算CU16与S16的代价值,取CU16与S16中代价值小的作为上述B16区域的最终编码方式;
完成4个B16区域的编码后,合并为一个S32的编码方式;即一个S32由4个B16区域组成,每个B16区域都可以按照CU16或者S16的编码方式组成;
并行执行CU32与S32两种编码运算,分别计算CU32与S32的代价值,取CU32与S32中代价值小的作为一个B32区域的最终编码方式;
4个B32区域的编码构成一个CTU的编码。
其中,CU32与S32的计算是并行执行的;
S32的内部,CU16与S16的计算是并行执行的;
S16的内部,CU8与S8的计算是并行执行的。
在FPGA上,CU32单元,CU16单元,CU8单元,CU4单元并行运行。
示例性的,选取最优划分方式后,记录具体的划分方式。
选择最优的处理方式对上述Y通道数据、UV通道数据进行处理,有效的缩短了对上述Y通道数据、UV通道数据进行处理的时长总和。
在一种可能的实施方式中,上述对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据的具体步骤包括:
对上述图像数据分量进行熵编码,获得HEVC码流;
根据上述HEVC码流获得HEIF图像数据的编码数据。
示例性的,根据上述的最优划分方式,对上述图片数据进行熵编码,上述熵编码指在编码过程中按熵原理不丢失任何信息的编码方式,通过熵编码保留上述图片数据的信息,生成HEVC码流,获得HEIF图像数据的编码数据。
在一种可能的实施方式中,上述对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据的步骤之前,还包括:
根据所有上述HEIF图像数据区域的图像数据分量对所有上述HEIF图像数据区域进行编码。
示例性的,如图3所示,为了在FPGA中实现HEIF图像数据的压缩算法,读取CTU1对应图片区域的YUV数据后,对上述CTU1对应图片区域的YUV数据进行计算,对计算后的CTU1对应图片区域的YUV数据进行熵编码,再将上述CTU1对应图片区域的YUV数据的编码数据写出,即FPGA内执行单元对CTU1,CTU2,CTU3…CTU16对应图片区域的执行方式为串行执行的方式,或称为流水线的执行方式,即读模块完成CTU1对应图片区域的YUV数据读取后,计算模块开始计算CTU1对应图片区域的YUV数据;同时读模块开始读取CTU2对应图片区域的YUV数据,其中,Read为FPGA的读取功能,Compute为FPGA的计算功能,Entropy Encoding为FPGA的熵编码功能,Write为FPGA的写出功能。
示例性的,FPGA中读取CTU1对应图片区域的YUV数据后,对上述CTU1对应图片区域的YUV数据进行计算,对计算后的CTU1对应图片区域的YUV数据进行熵编码,再将上述CTU1对应图片区域的YUV数据的编码数据写出。
通过多条流水线并行的执行方式,将HEIF图像数据的压缩算法在FPGA上实现。
请参阅图4,本申请实施例中HEIF图像编码装置的一个实施例,该HEIF图像编码装置包括:
接收模块401,用于获取HEIF图像数据;
计算模块402,用于对上述HEIF图像数据进行计算,获得图像数据分量;
压缩模块403,对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。
在一种可能的实施方式中,上述计算模块402,还用于对上述图像数据进行分割:
根据HEVC的编码方式,创建多个编码树块,每个上述编码树块对应上述HEIF图像数据的不同位置,将上述HEIF图像数据分割,生成多个HEIF图像数据区域。
示例性的,当上述HEIF图像数据为一张256x256像素的图片时,根据HEVC的编码方式,创建16个编码树块(compute tree unit,CTU),即CTU1,CTU2,CTU3…CTU16;上述16个编码树块将上述图片分割为64位x64位的图片区域。
在一种可能的实施方式中,上述计算模块402,还用于对每个上述HEIF图像数据区域进行计算;
根据HEVC的四叉树划分方式,创建多种编码方式,在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,其中,上述在多种编码方式中选取每个上述HEIF图像数据区域的编码方式,包括:
通过多种编码方式同时对上述HEIF图像数据区域进行编码;
根据与编码方式相对应的划分方式对上述HEIF图像数据区域进行划分;
比较编码方式与对应划分方式的代价值,其中,上述代价值为编码方式或划分方式的运行内存使用数据;
记录编码方式与对应划分方式中代价值小的运行方式;
获取上述HEIF图像数据的格式选取数据,其中,上述运行方式与上述格式选取数据为图像数据分量。
示例性的,对上述图片区域进行计算;针对每个CTU所对应的图片区域,根据HEVC的四叉树划分方式,选取最优的编码单元(coding unit,CU)组合,其中,编码单元组合包括:32位x32位,16位x16位,8位x8位,4位x4位四种,分别记为CU32,CU16,CU8,CU4。
将每个CTU所对应的图片区域分解为4个32位x32位的图片区域,上述32位x32位的图片区域记为B32区域;
对于每个B32区域,可以按照CU32的编码方式,即以32位x32位的区域整体进行编码;或者划分为4个16位x16位的图片区域进行编码,这种划分记为S32;S32由4个16位x16位的图片区域组成,每个16位x16位的图片区域记为B16区域;
对于每个B16区域,可以按照CU16的编码方式,即以16位x16位的区域整体进行编码;或者划分为4个8位x8位的图片区域进行编码,这种划分记为S16;S16由4个8位x8位的图片区域组成,每个8位x8位的图片区域记为B8区域;
对于每个B8区域,可以按照CU8的编码方式,即以8位x8位的区域整体进行编码;或者划分为4个4位x4位的图片区域进行编码,这种划分记为S8;S8由4个4位x4位的图片区域组成,每个4位x4位的图片区域记为B4区域;
对于每个B4区域,按照CU4的编码方式编码。
针对一个CTU,按照自CU4向CU32的方式编码;
针对每个B4区域,按照CU4的方式编码;
完成4个B4区域的编码后,合并为一个S8的编码方式,即一个S8由4个B4区域组成,每个B4区域按照CU4的编码方式组成;
并行执行CU8与S8两种编码运算,分别计算CU8与S8的代价值,取CU8与S8中代价值小的作为一个B8区域的最终编码方式;
完成4个B8区域的编码后,合并为一个S16的编码方式;即一个S16由4个B8区域组成,每个B8区域都可以按照CU8或者S8的编码方式组成;
并行执行CU16与S16两种编码运算,分别计算CU16与S16的代价值,取CU16与S16中代价值小的作为一个B16区域的最终编码方式;
完成4个B16区域的编码后,合并为一个S32的编码方式;即一个S32由4个B16区域组成,每个B16区域都可以按照CU16或者S16的编码方式组成;
并行执行CU32与S32两种编码运算,分别计算CU32与S32的代价值,取CU32与S32中代价值小的作为一个B32区域的最终编码方式;
4个B32区域的编码构成一个CTU的编码。
其中,CU32与S32的计算是并行执行的;
S32的内部,CU16与S16的计算是并行执行的;
S16的内部,CU8与S8的计算是并行执行的。
在FPGA上,CU32单元,CU16单元,CU8单元,CU4单元并行运行。
示例性的,选取最优划分方式后,记录具体的划分方式。
接收模块401、计算模块402和压缩模块403之间通过总线连接。
上面图4从模块化功能实体的角度对本申请实施例中的HEIF图像编码装置进行了描述,下面从系统的角度对本申请实施例中的HEIF图像编码系统进行详细描述,请参阅图5,本申请实施例中的HEIF图像编码系统一个实施例,包括:包括FPGA502和CPU501,上述FPGA502和CPU501相连接,上述CPU501用于从上述CPU501下辖的存储器中获取HEIF图像,并将基于上述HEIF图像处理后的HEIF图像数据发送至上述FPGA502下辖的存储器,本例为FPGA加速卡的DDR;上述FPGA502用于从上述FPGA502下辖的存储器中获取上述HEIF图像数据,并执行以下步骤:获取HEIF图像数据;对上述HEIF图像数据进行计算,获得图像数据分量;对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。
请参阅图6,图6为本申请实施例提供的电子设备的实施例示意图。
如图6所示,本申请实施例提供了一种电子设备,包括存储器610、处理器620及存储在存储器620上并可在处理器620上运行的计算机程序611,处理器620执行计算机程序611时实现以下步骤:获取HEIF图像数据;对上述HEIF图像数据进行计算,获得图像数据分量;对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的编码数据。
由于本实施例所介绍的电子设备为实施本申请实施例中一种HEIF图像数据编码装置所采用的设备,故而基于本申请实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍,只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
请参阅图7,图7为本申请实施例提供的一种计算机可读存储介质的实施例示意图。
如图7所示,本实施例提供了一种计算机可读存储介质700,其上存储有计算机程序711,该计算机程序711被处理器执行时实现如下步骤:获取HEIF图像数据;对上述HEIF图像数据进行计算,获得图像数据分量;对上述图像数据分量进行压缩处理,获得上述HEIF图像数据的所有编码数据。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图1对应实施例中的HEIF图像编码方法中的流程。
上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本申请实施例上述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修该,或者对其中部分技术特征进行等同替换;而这些修该或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种HEIF图像编码方法,用于FPGA,其特征在于,包括以下步骤:
获取HEIF图像数据;
对所述HEIF图像数据进行计算,获得图像数据分量;
对所述图像数据分量进行压缩处理,获得所述HEIF图像数据的编码数据。
2.根据权利要求1所述的HEIF图像编码方法,其特征在于,所述对图像数据进行计算,获得图像数据分量的步骤之前,还包括:
对所述图像数据进行分割,具体的:
根据HEVC的编码方式,创建多个编码树块,每个所述编码树块对应所述HEIF图像数据的不同位置,将所述HEIF图像数据分割,生成多个HEIF图像数据区域。
3.根据权利要求2所述的HEIF图像编码方法,其特征在于,所述对图像数据进行计算,获得图像数据分量,具体包括:
对每个所述HEIF图像数据区域进行计算;
根据HEVC的四叉树划分方式,创建多种编码方式,在多种编码方式中选取每个所述HEIF图像数据区域的编码方式,其中,所述在多种编码方式中选取每个所述HEIF图像数据区域的编码方式,包括:
通过多种编码方式同时对所述HEIF图像数据区域进行编码;
根据与编码方式相对应的划分方式对所述HEIF图像数据区域进行划分;
比较编码方式与对应划分方式的代价值,其中,所述代价值为是代价函数根据预设码率及预设像素与原始像素之间的残差值计算得出的;
记录编码方式与对应划分方式中代价值小的运行方式;
获取所述HEIF图像数据的格式选取数据,其中,所述运行方式与所述格式选取数据为图像数据分量。
4.根据权利要求1所述的HEIF图像编码方法,其特征在于,所述对所述图像数据分量进行压缩处理,获得所述HEIF图像数据的编码数据的具体步骤包括:
对所述图像数据分量进行熵编码,获得HEVC码流;
根据所述HEVC码流获得HEIF图像数据的编码数据。
5.根据权利要求2或3所述的HEIF图像编码方法,其特征在于,所述对所述图像数据分量进行压缩处理,获得所述HEIF图像数据的编码数据的步骤之前,还包括:
根据所述HEIF图像数据区域的图像数据分量对所述HEIF图像数据区域进行编码。
6.根据权利要求1所述的HEIF图像编码方法,其特征在于,
所述HEIF图像数据为HEIF图像经CPU处理后生成的。
7.一种HEIF图像编码装置,其特征在于,包括:
获取模块:获取HEIF图像数据;
计算模块:对所述HEIF图像数据进行计算,获得图像数据分量;
压缩模块:对所述图像数据分量进行编程处理,获得所述HEIF图像数据的编码数据。
8.一种HEIF图像编码系统,其特征在于:包括FPGA和CPU,所述FPGA和CPU相连接,
所述CPU用于从所述CPU下辖的存储器中获取HEIF图像,并将基于所述HEIF图像处理后的HEIF图像数据发送至所述FPGA下辖的存储器;
所述FPGA用于从所述FPGA下辖的存储器中获取所述HEIF图像数据,并执行如权利要求1-6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括存储器、FPGA及存储再存储器上并可在FPGA上运行的计算机程序,所述FPGA执行所述程序时实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011228788.3A CN112150567B (zh) | 2020-11-06 | 2020-11-06 | 一种heif图像编码方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011228788.3A CN112150567B (zh) | 2020-11-06 | 2020-11-06 | 一种heif图像编码方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112150567A true CN112150567A (zh) | 2020-12-29 |
CN112150567B CN112150567B (zh) | 2023-07-18 |
Family
ID=73887158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011228788.3A Active CN112150567B (zh) | 2020-11-06 | 2020-11-06 | 一种heif图像编码方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112150567B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113422955A (zh) * | 2021-06-16 | 2021-09-21 | 三星电子(中国)研发中心 | Heif图像编码方法和解码方法以及编码装置和解码装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180160156A1 (en) * | 2015-06-03 | 2018-06-07 | Nokia Technologies Oy | A method, an apparatus, a computer program for video coding |
EP3346709A1 (en) * | 2017-01-05 | 2018-07-11 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
CN109862361A (zh) * | 2019-02-03 | 2019-06-07 | 北京深维科技有限公司 | 一种webp图像编码方法、装置及电子设备 |
CN109886861A (zh) * | 2019-01-08 | 2019-06-14 | 北京城市网邻信息技术有限公司 | 一种高效率图档格式heif图像加载方法及装置 |
-
2020
- 2020-11-06 CN CN202011228788.3A patent/CN112150567B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180160156A1 (en) * | 2015-06-03 | 2018-06-07 | Nokia Technologies Oy | A method, an apparatus, a computer program for video coding |
EP3346709A1 (en) * | 2017-01-05 | 2018-07-11 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
CN109886861A (zh) * | 2019-01-08 | 2019-06-14 | 北京城市网邻信息技术有限公司 | 一种高效率图档格式heif图像加载方法及装置 |
CN109862361A (zh) * | 2019-02-03 | 2019-06-07 | 北京深维科技有限公司 | 一种webp图像编码方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
HANNUKSELA,MM等: "The high efficient image file format standard", 《IEEE SIGNAL PROCESSING MAGAZINE》, pages 150 * |
赵利军: "基于优化学习的图像编码与增强", 《中国博士学位论文全文数据库 (信息科技辑)》, no. 1, pages 136 - 69 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113422955A (zh) * | 2021-06-16 | 2021-09-21 | 三星电子(中国)研发中心 | Heif图像编码方法和解码方法以及编码装置和解码装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112150567B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6659586B2 (ja) | 画像符号化/復号化方法及び装置 | |
US10194150B2 (en) | Method and device for coding image, and method and device for decoding image | |
JP4895400B2 (ja) | 画像フレームの非フレームエッジブロックの表現における改良された圧縮 | |
WO2019105179A1 (zh) | 颜色分量的帧内预测方法及装置 | |
CN104581177B (zh) | 一种结合块匹配和串匹配的图像压缩方法和装置 | |
EA032859B1 (ru) | Многоуровневое декодирование сигнала и восстановление сигнала | |
WO2022166258A1 (zh) | 行为识别方法、装置、终端设备及计算机可读存储介质 | |
CN110213576B (zh) | 视频编码方法、视频编码装置、电子设备及存储介质 | |
WO2016197334A1 (zh) | 图像编解码方法和设备 | |
CN109862361B (zh) | 一种webp图像编码方法、装置、计算机可读存储介质及电子设备 | |
CN112150567A (zh) | 一种heif图像编码方法及相关设备 | |
CN111083478A (zh) | 一种视频帧重构方法、装置及终端设备 | |
CN112887725A (zh) | 参考帧缓存数据压缩方法、计算机装置及计算机可读存储介质 | |
CN110944212A (zh) | 一种视频帧重构方法、装置及终端设备 | |
CN110677671A (zh) | 一种图像压缩方法、装置及终端设备 | |
CN114463453A (zh) | 图像重建、编码解码方法、相关装置 | |
CN113766319A (zh) | 图像信息处理方法及装置、存储介质 | |
CN114677464A (zh) | 图像处理方法、图像处理装置、计算机设备及存储介质 | |
CN113613024A (zh) | 视频预处理方法及设备 | |
CN111083500A (zh) | 一种视频帧重构方法、装置及终端设备 | |
CN113382257B (zh) | 编码方法、装置、电子设备及计算机可读存储介质 | |
CN108769695B (zh) | 一种帧类别的转换方法、系统及终端 | |
CN111083499A (zh) | 一种视频帧重构方法、装置及终端设备 | |
CN117409091A (zh) | 编解码方法及电子设备 | |
CN110677681A (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 |