CN1609783A - 影像浮点数据转换运算方法 - Google Patents
影像浮点数据转换运算方法 Download PDFInfo
- Publication number
- CN1609783A CN1609783A CN 200310102771 CN200310102771A CN1609783A CN 1609783 A CN1609783 A CN 1609783A CN 200310102771 CN200310102771 CN 200310102771 CN 200310102771 A CN200310102771 A CN 200310102771A CN 1609783 A CN1609783 A CN 1609783A
- Authority
- CN
- China
- Prior art keywords
- image
- computing
- transition matrix
- integer
- operation method
- 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
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种影像浮点数据转换运算方法,应用于影像压缩/解压缩过程中,将色彩模式转换的转换矩阵中具有浮点数的部分整数化后,以整数进行累加、累乘…等运算,最后再还原为原本的值域范围,以提升整体运算效率。
Description
技术领域
本发明是关于一种浮点数据转换运算方法,特别是应用于JPEG/MPEG规格的影像压缩/解压缩流程中的浮点数据转换运算方法。
背景技术
在公司政策逐渐迈入彩色化的时代,许多多媒体功能也慢慢成为文件或演示文稿制作时的基本配备,例如:在演示文稿中显示出JPEG的图片,或是播放MPEG的影像文件…等,通过影像或是声音的表现,以加深听众对于此演示文稿的印象。
以图片文件为例作说明:通常我们所见的单张彩色静态影像,它是由很多一个点一个点的像素(pixel)所组成,而每一个像素主要由R(红)、G(绿)、B(蓝)三原色所构成,每一个原色用一个位(byte)来表示。例如:欲储存一张长512 pixel、宽512 pixel的彩色图片需要的内存为:
512*512*3bytes=768kbytes
由上例中可以看出:未经压缩的影像在进行资料储存时,会占用非常大的储存空间,且未经压缩的影像资料通过通讯网路传送时,所需的传输时间也将相对地拉长。为解决上述问题,使用者如能将影像资料予以压缩,即可达到减少储存空间、缩短传输时间的双重效能。
因此,由国际标准组织(International Standardization Organization;ISO)与国际电报电话咨询委员会(Consultative Committee on International Telegraphand Telephone;CCITT)两边人员共同成立联合影像专家群(Joint PhotographicExpert Group;JPEG),他们共同制定了一个称为JPEG的静态影像压缩的国际标准。
然而由于JPEG/MPEG档案的高压缩率,使得图片或是影像文件无论在进行压缩或是解压缩的过程中,均需要较高的计算功率(computing power)。而且在压缩或是解压缩的运算过程中,多为浮点(具有小数点的数字)运算,因此,对于中央处理器而言更是沉重的负担。
若是中央处理器的运算能力较差时,可能会导致图片播放的速度变慢、浏览时不顺畅;而在影像文件播放的方面,则会导致画面停格、无法连续及影音无法同步的现象。
在个人计算机等级的中央处理器上自80486以后的浮点运算器均为内建,而使用浮点数(floating-point)来进行资料的压缩及解压缩运算,可得到较精确的计算结果与较好的影像品质,但相对而言,其主要的缺点为速度较慢。
若以纯软件的方式来仿真浮点数与定点数(fixed-point)的运算,其运算速度可相差十倍以上。而若有浮点运算器的辅助下,更可将浮点数与定点数的运算表现拉近至1.1~1.5倍,所以,在庞大的浮点运算资料下,个人计算机中是否具有硬件浮点运算器将对于整体影像压缩及解压缩过程中资料的处理影响特别大。
在一般嵌入式个人装置(例如:翻译机)中,由于浮点运算器使用的机会不大、费用较为昂贵,因此,其中央处理器几乎很少有内建浮点运算器。然而,当这些嵌入式个人装置需要进行一些影像压缩及解压缩的过程时,由于没有浮点运算器的辅助,因此,会降低其运算速度,而产生图片播放的速度变慢、影像文件播放无法连续及影音无法同步…等现象。
发明内容
有鉴于上述问题,本发明的主要目的在于提供一种影像浮点数据转换运算方法,应用于JPEG/MPEG影像压缩或解压缩的过程中浮点数(带有小数的数字)的运算。当某些嵌入式个人装置上无内建的浮点运算器时,可通过本发明所公开的浮点数据转换运算方法修改原始的演算流程,以加速影像压缩/解压缩过程中浮点数的运算。
当分析浮点数运算的数值结构时可发现:若浮点数的范围局限于某些值域附近时,可先将浮点数乘上某一数值,而以定点数来进行运算,当定点数运算完成之后再除以该数值,即可得到所需的结果,以下列举一简单例子以作说明:
当要计算3.47×6.7=?的整数部份数值时,我们可先将3.47×100=347、6.7×10=67,再将347×67=23249,最后,将23249÷1000=23.249,并取其整数部份23为最终的结果。
此方式与直接以浮点运算器计算3.47×6.7=?再取其整数部份数值所得的结果是一样的,但是,若是在没有内建浮点运算器的个人装置上进行浮点数的运算时,两者的运算速度相差甚多。
因此,本发明公开了一种影像浮点数据转换运算方法,以影像压缩过程为例说明:当三原色资料[R、G、B]乘以一转换矩阵以转换为一色差资料[Y、Cr、Cb],而此转换矩阵中包含有数个浮点数时,可先统一放大转换矩阵内所有元素的值域,并将其整数化之后得到一整数矩阵。接着,再利用此整数矩阵进行色彩模式转换的运算(累加、累乘…等运算)。最后,当运算完毕并得出所需的结果后,再还原为原本的值域范围,即完成整个运算的流程。
由于在对三原色资料[R、G、B]乘以转换矩阵所得的结果进行累加、累乘的运算过程中,是以整数进行计算,而最后再还原为原本的值域范围,因此,可提升整体运算的速度,对于没有内建浮点运算器的个人装置而言会有相当大的帮助。
此方法不仅适用于影像压缩过程中,将三原色资料[R、G、B]乘以一转换矩阵以转换为一色差资料[Y、Cr、Cb]的浮点数运算;同时亦可应用于影像解压缩过程中,将色差资料[Y、Cr、Cb]乘以另一转换矩阵以转换为一三原色资料[R、G、B]的浮点数运算,皆可有效提升整体运算的效率。
由于在影像处理过程中,所有系数值的范围并不是很大,大约介于正2与负2之间,且影像值均在0到255的范围之内,所以利用本发明的影像浮点数据转换运算方法进行浮点数的运算是非常合适的。
本发明的技术方案是这样实现的:
一种影像浮点数据转换运算方法,其特征在于,应用于影像压缩/解压缩过程中,用以将待运算的一转换矩阵中具有浮点数的部份转换为整数后再进行运算,以提升整体运算效率,其包含下列步骤:
(a)放大该转换矩阵的值域范围;
(b)将该转换矩阵整数化,以形成一整数矩阵;
(c)利用该整数矩阵进行数值运算;及
(d)将色彩模式转换后的结果还原为初始的值域范围。
其中,该(a)步骤中,是将该转换矩阵乘以二的正整数次方,以放大其值域范围。
其中,该(d)步骤中,是以该转换矩阵乘以二的正整数次方的次方数为基准来进行偏移(shift)运算,以还原为初始的值域范围。
其中,该(b)步骤中,是通过舍弃该转换矩阵中浮点数的小数部份,以形成该整数矩阵。
其中,该(d)步骤中,是将色彩模式转换后的结果进行偏移(shift)运算,以还原为初始的值域范围。
其中,该方法是应用于JPEG规格的影像压缩/解压缩的运算流程。
其中,该方法是应用于MPEG规格的影像压缩/解压缩的运算流程。
附图说明
图1为本发明影像浮点数据转换运算方法的方法流程图;及
图2为本发明影像浮点数据转换运算方法应用于影像压缩过程中所述的三原色资料、转换矩阵及色差资料的运算过程的方法流程图。
其中,附图标记说明如下:
步骤10 放大转换矩阵的值域范围;
步骤20 将此转换矩阵整数化,以形成一整数矩阵;
步骤30 利用整数矩阵进行数值运算;
步骤40 将色彩模式转换后的结果还原为初始的值域范围;
步骤50 将转换矩阵乘以二的正整数次方;
步骤60 舍弃转换矩阵中各浮点数的小数部份,以形成一整数矩阵;
步骤70 利用整数矩阵进行数值运算;
步骤80 将色彩模式转换后的结果进行偏移(shift)运算,以还原为初始的值域范围。
具体实施方式
为使本发明的目的、构造特征及其功能得到进一步的了解,现合附图详细说明如下:
请参考图1所示,为本发明影像浮点数据转换运算方法的方法流程图,此方法是应用于没有内建浮点运算器的嵌入式个人装置中(例如:电子翻译机),以简化在影像压缩/解压缩过程中,将用以进行色彩模式转换的一转换矩阵中具有浮点数的部份转换为整数后再进行运算,以简化数值运算,并提升整体运算的效率。
在影像压缩的过程中,其色彩模式转换是指将影像的三原色资料(R、G、B)经由一转换矩阵转换为色差资料(Y、Cr、Cb);而在影像压缩的过程中,其色彩模式转换是指将影像的色差资料经由另一转换矩阵转换为三原色资料。
首先,放大转换矩阵的值域范围(步骤10),将整个转换矩阵同乘上一个正整数之后,放大其所有元素的值域范围。
接着,将此转换矩阵整数化,以形成一整数矩阵(步骤20),舍弃转换矩阵中具有浮点数的元素的小数部份,以形成一整数矩阵。
然后,利用整数矩阵进行数值运算(步骤30),在影像压缩过程中,是将整数矩阵乘以三原色资料(R、G、B),再进行一些累加、累乘…等运算;而在影像解压缩过程中,是将整数矩阵乘以色差资料(Y、Cr、Cb),再进行一些累加、累乘…等运算。
最后,将色彩模式转换后的结果还原为初始的值域范围(步骤40),由于在(步骤10)中,是先将转换矩阵的值域范围放大后,再进行后续的运算,因此,最后需再将转换矩阵还原为原始的值域范围,即完成浮点数据转换的方法。
由于步骤30中所进行的数值运算(累加、累乘…等运算)是以整数进行运算,因此,相比较于以往直接以浮点数进行运算,在运算速度上将会有很大的提升。
当欲进行影像压缩的色彩模式转换过程时,需先将单一像素的三原色资料(红蓝绿(R、G、B))转换为色差资料(亮度、色像及色差(Y、Cr、Cb)),如下所示:
因此,其三原色资料为:
转换矩阵为:
色差资料为:
而在进行影像解压缩的色彩模式转换过程时,则是与压缩过程相反,先将单一像素的色差资料(亮度、色像及色差(Y、Cr、Cb))转换为三原色资料(红蓝绿(R、G、B)),如下所示:
请参考图2所示,以下先就影像压缩过程中所述的三原色资料、转换矩阵及色差资料的运算过程为例以作说明:
首先,将转换矩阵乘以二的正整数次方(步骤50),将转换矩阵乘以二的十三次方(8192),得到以下的表达式:
接着,舍弃转换矩阵中各浮点数的小数部份,以形成一整数矩阵(步骤60),本实施例是采用四舍五入的方式取原数值为整数,舍弃各浮点数的小数部份,形成以下所示的整数矩阵:
当然,除采用四舍五入的方式取原数值为整数外,还可利用无条件进位法、无条件去尾法…等其它方法删除浮点数的小数部份,以形成整数矩阵。
然后,利用整数矩阵进行数值运算(步骤70),将(步骤60)中所得的整数矩阵乘以原本的三原色资料,得到以下所示的新的色差资料:
当要对此像素进行累加、累乘等运算时,即可直接对新的色差资料进行运算。由于新的色差数据内的元素皆为整数,因此,可简化原本浮点数的运算,加快累加、累乘…等运算的速度。
最后,将色彩模式转换后的结果进行偏移(shift)运算,以还原为初始的值域范围(步骤80),要将整数化过后所得新的色差资料还原为原本色差资料的值域,需先将新的色差数据内的元素转为二进制的数字,再进行偏移运算,即可还原为原本色差资料的值域(并不需要再以除法的运算,还原为原本的值域范围),其概念如下列算式所示:
如此,便完成整个影像浮点数据转换运算流程的步骤。
而在步骤80中偏移量的数值大小是依据步骤50中的转换矩阵乘以二的正整数次方的次方数来决定。例如:本实施例中是先将转换矩阵乘以二的十三次方(8192),因此,在步骤80中便是将新的色差数据内的元素转为二进制的数字向右偏移十三位,即代表将新的色差资料内的元素除以二的十三次方(8192),以还原为原本色差资料的值域。
而偏移(shift)运算的计算方法,说明如下(以数字—18为例以做说明):
数字—18以二进制来表示时是000
10010,当此二进制数向左偏移一位时即更改为00
100100,相当于18*2=36;相反地,当此二进制数向右偏移一位时即更改为0000
1001,相当于18/2=9。因此,利用简单的偏移运算进行二进制数的乘法及除法,只需将二进制的数字向左或向右偏移一位,而不需直接计算整数的乘法或是除法,将可加速乘除运算的速度。
在本实施例的步骤50中,是将转换矩阵乘以二的十三次方(8192)以进行之后的运算。而此次方数(二的十三次方)的决定,是经过实验比较:当转换矩阵乘以二的十三次方(8192)后,便足以保存下足够的位数,同时维持精准度,且可使运算所得的最大范围(经过累加、累乘的运算后),仍在一个长整数所能表达的范围内,不致于无法进行运算。
但是若还要更进一步加速影像压缩/解压缩过程中的运算速度,亦可于牺牲些许精确度的条件下,乘以更少次方(例如:二的七次方--128),以短整数来进行运算,即可加快运算的速度,而最后要进行偏移运算时,只需向右偏移七位即可。
而本实施例中是以影像压缩过程中,将单一像素的红蓝绿(R、G、B)转换为亮度、色像及色差(Y、Cr、Cb)的浮点数运算为例以作说明。当然,本发明所公开的方法亦可应用于影像解压缩过程(将单一像素的亮度、色像及色差(Y、Cr、Cb)转换为红蓝绿(R、G、B))中的浮点数运算,同样可以加速整个解压缩过程的运算速度。
以上所述仅为本发明其中的较佳实施例而已,并非用来限定本发明的实施范围,凡依本发明的具体实施方式所作的均等变化与修饰,皆为本发明权利要求书所界定的范围涵盖。
Claims (7)
1.一种影像浮点数据转换运算方法,其特征在于,应用于影像压缩/解压缩过程中,用以将待运算的一转换矩阵中具有浮点数的部份转换为整数后再进行运算,以提升整体运算效率,其包含下列步骤:
(a)放大该转换矩阵的值域范围;
(b)将该转换矩阵整数化,以形成一整数矩阵;
(c)利用该整数矩阵进行数值运算;及
(d)将色彩模式转换后的结果还原为初始的值域范围。
2.如权利要求1所述的影像浮点数据转换运算方法,其特征在于,该(a)步骤中,是将该转换矩阵乘以二的正整数次方,以放大其值域范围。
3.如权利要求2所述的影像浮点数据转换运算方法,其特征在于,该(d)步骤中,是以该转换矩阵乘以二的正整数次方的次方数为基准来进行偏移运算,以还原为初始的值域范围。
4.如权利要求1所述的影像浮点数据转换运算方法,其特征在于,该(b)步骤中,是通过舍弃该转换矩阵中浮点数的小数部份,以形成该整数矩阵。
5.如权利要求1所述的影像浮点数据转换运算方法,其特征在于,该(d)步骤中,是将色彩模式转换后的结果进行偏移运算,以还原为初始的值域范围。
6.如权利要求1所述的影像浮点数据转换运算方法,该方法是应用于JPEG规格的影像压缩/解压缩的运算流程。
7.如权利要求1所述的影像浮点数据转换运算方法,该方法是应用于MPEG规格的影像压缩/解压缩的运算流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310102771 CN1609783A (zh) | 2003-10-21 | 2003-10-21 | 影像浮点数据转换运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310102771 CN1609783A (zh) | 2003-10-21 | 2003-10-21 | 影像浮点数据转换运算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1609783A true CN1609783A (zh) | 2005-04-27 |
Family
ID=34756450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200310102771 Pending CN1609783A (zh) | 2003-10-21 | 2003-10-21 | 影像浮点数据转换运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1609783A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101738238B (zh) * | 2008-11-19 | 2013-12-18 | Vega格里沙贝两合公司 | 液位测量设备及其计算机的控制方法 |
CN105183426A (zh) * | 2015-08-18 | 2015-12-23 | 深圳市振邦智能科技有限公司 | 一种应用于8位单片机的浮点数显示方法和装置 |
CN109391272A (zh) * | 2017-08-07 | 2019-02-26 | 西门子股份公司 | 防止不察觉地改变存储器的数据的方法和数据处理设备 |
CN110515584A (zh) * | 2019-08-09 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 浮点计算方法及系统 |
-
2003
- 2003-10-21 CN CN 200310102771 patent/CN1609783A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101738238B (zh) * | 2008-11-19 | 2013-12-18 | Vega格里沙贝两合公司 | 液位测量设备及其计算机的控制方法 |
CN105183426A (zh) * | 2015-08-18 | 2015-12-23 | 深圳市振邦智能科技有限公司 | 一种应用于8位单片机的浮点数显示方法和装置 |
CN109391272A (zh) * | 2017-08-07 | 2019-02-26 | 西门子股份公司 | 防止不察觉地改变存储器的数据的方法和数据处理设备 |
CN110515584A (zh) * | 2019-08-09 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 浮点计算方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101076125A (zh) | 图像压缩中RGB与YCbCr转换计算的优化算法 | |
CN1260971C (zh) | 图像编码设备与图像编码方法 | |
CN110909874A (zh) | 一种神经网络模型的卷积运算优化方法和装置 | |
CN111401554A (zh) | 支持多粒度稀疏与多模式量化的卷积神经网络的加速器 | |
CN1139044C (zh) | 基于存储器的用于图象压缩vlsi结构 | |
US20040117418A1 (en) | Forward discrete cosine transform engine | |
CN1217489C (zh) | 快速解码的方法及其装置 | |
CN1193621C (zh) | 调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器 | |
CN101996227A (zh) | 文档压缩系统及方法 | |
CN1609783A (zh) | 影像浮点数据转换运算方法 | |
Lee et al. | Energy-optimized image communication on resource-constrained sensor platforms | |
WO2023078364A1 (zh) | 矩阵乘法的运算方法及装置 | |
CN102118616A (zh) | 图片解码方法及图片解码器 | |
CN1394430A (zh) | 在rgb和ycrcb彩色空间之间的用于dct接口的数据传送 | |
CN1308894C (zh) | 图形文件的无损压缩方法 | |
CN1513155A (zh) | 改变数字图像分辨率的装置及其相应方法 | |
CN1129232C (zh) | 一种对数据库中的数据进行压缩与解压缩的方法 | |
CN1281063C (zh) | 动画快速压缩及解压方法 | |
CN1622599A (zh) | 一种实现动态图像特效处理的电脑摄像头及方法 | |
CN100420283C (zh) | 图像传感器及应用该图像传感器的计算机系统 | |
CN1173574C (zh) | 利用数字信号处理器实现小波视频编码和解码的方法 | |
CN1262118C (zh) | 图像处理装置以及相机 | |
CN1567178A (zh) | 新型乘法器重构算法及电路 | |
He et al. | A lightweight convolutional neural network-based feature extractor for visible images | |
CN109451307B (zh) | 一种基于近似系数的一维dct运算方法和dct变换装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |