[发明专利]一种颜色空间变换的子字并行方法有效
申请号: | 201310023832.0 | 申请日: | 2013-01-23 |
公开(公告)号: | CN103079079A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 邹鹏;吕雅帅;吴玲达;赵忠文;王宇;杨超;王敏;郭静 | 申请(专利权)人: | 中国人民解放军装备学院 |
主分类号: | H04N9/64 | 分类号: | H04N9/64 |
代理公司: | 中国人民解放军防化研究院专利服务中心 11046 | 代理人: | 刘永盛 |
地址: | 101416*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明一种颜色空间变换的子字并行方法主要包括以下内容:利用计算机处理器的子字并行指令对YCbCr到RGB的颜色空间变换以及RGB到YCbCr的颜色空间变换过程进行并行优化。其主要途径是先利用子字并行指令建立查值表,然后利用查值表进行颜色空间变换。本发明通过利用计算机处理器的子字并行指令提升了颜色空间的变换效率。 | ||
搜索关键词: | 一种 颜色 空间 变换 并行 方法 | ||
【主权项】:
一种颜色空间变换的子字并行方法,其特征是该方法步骤如下:(1)YCbCr颜色空间到RGB颜色空间变换的子字并行化方法:1)YCbCr颜色空间到RGB颜色空间的变换公式为:R=Y+1.40200×CrG=Y‑0.34414×Cb‑0.71414×Cr ①B=Y+1.77200×Cb其中,RGB与YCbCr取值均为整数,RGB最小取值为0,RGB最大取值MAXJSAMPLE通常为255;将RGB最大取值MAXJSAMPLE的一半记作CENTERJSAMPLE,若MAXJSAMPLE为奇数,则CENTERJSAMPLE为MAXJSAMPLE+1的一半,若MAXJSAMPLE为偶数,则CENTERJSAMPLE为MAXJSAMPLE的一半;依据公式①,用子字并行的方法分别建立1.40200×Cr、0.34414×Cb、0.71414×Cr与1.77200×Cb的查值表,记4个查值表依次为Cr_R_tab,Cb_G_tab,Cr_G_tab与Cb_B_tab,以1.40200×Cr为例,在进行颜色空间变换时,不用计算1.40200×Cr的值,而是直接从Cr_R_tab中取出位置为Cr+CENTERJSAMPLE的值作为1.40200×Cr的计算结果,这四个查值表的构建方法一样,以构建1.40200×Cr的查值表为例,其构建方法是:(a)将1.40200乘以215后取整,记为FIX_1_40200,由于FIX_1_40200的值不超过216,将4个FIX_1_40200的值存放在一个64位的变量中,记为fix_vec,取4个不同的Cr值放入一个64位变量中,记为Cr_vec,用处理器子字并行乘法操作计算fix_vec×Cr_vec的值,将计算结果记为fix_Cr_vec,fix_Cr_vec的字长为64位,存放4个16位的计算结果,在支持子字右移操作的处理器上,用子字右移操作将fix_Cr_vec中的4个值右移7位;若处理器不支持子字右移操作,则用常规右移操作分别将fix_Cr_vec中的4个值右移7位,最后将结果放置Cr_R_tab的相应位置;(b)每次取不同的Cr_vec,即取与上次计算不同的4个Cr值,将步骤(a)不断重复,直至Cr_R_tab的所有项均计算完毕;2)在经过步骤1)之后,将一组YCbCr值转换成RGB值的方法是:将Y值加上Cr_R_tab[Cr]的值得到R,将Y值减去Cb_G_tab[Cb]与Cr_G_tab[Cr]的值得到G,将Y值加上Cb_B_tab[Cb]的值得到B;最后将得到的RGB值限定在至MAXJSAMPLE之内,若RGB中的某个值小于0则将该值改为0,若大于MAXJSAMPLE则将值改为MAXJSAMPLE;(2)RGB颜色空间到YCbCr颜色空间变换的子字并行化方法:1)RGB颜色空间到YCbCr颜色空间的变换公式为:Y=0.29900×R+0.58700×G+0.11400×BCb=‑0.16874×R‑0.33126×G+0.50000×B+CENTERJSAMPLE ②Cr=0.50000×R‑0.41869×G‑0.08131×B+CENTERJSAMPLE依据公式②,用子字并行的方法,分别建立0.29900×R、0.58700×G、0.11400×B、0.16874×R、0.33126×G、0.50000×B、0.50000×R、0.41869×G、0.08131×G的查值表,依次记为R_Y_tab、G_Y_tab、B_Y_tab、R_Cb_tab、G_Cb_tab、B_Cb_tab、R_Cr_tab、G_Cr_tab、B_Cr_tab,与前述YCbCr颜色空间到RGB颜色空间的变换方法类似,在进行颜色空间变换时不用计算0.29900×R、0.58700×G、0.11400×B、0.16874×R、0.33126×G、0.50000×B、0.50000×R、0.41869×G、0.08131×G的值,而是从查值表中直接取出相应的值;9个查值表的构建方法一样,以构建查值表R_Y_tab为例,其构建方法是:(a)将0.29900乘以216后取整,记为FIX_29900,由于FIX_29900的值不超过216,将4个FIX_29900的值存放在一个64位的变量中,记为fix_vec,取4个不同的R值放入一个32位或64位变量中,记为R_vec,用处理器子字并行乘法操作计算fix_vec×R_vec的值,将计算结果记为fix_R_vec,fix_R_vec的字长为64位,存放4个16位的计算结果,在支持子字右移操作的处理器上,利用子字右移操作将fix_R_vec中的4个值右移8位;若处理器不支持子字右移操作,则用常规右移操作分别将fix_R_vec中的4个值右移8位,最后将结果放置R_Y_tab的相应位置;(b)每次取不同的R_vec,即取与上次计算不同的4个R值,将步骤(a)不断重复,直至R_Y_tab的所有项均计算完毕;2)在经过步骤1)之后,将一组RGB值转换成YCbCr值的方法是:R_Y_tab[R]加G_Y_tab[G]加B_Y_tab[B]得到Y,‑R_Cb_tab[R]减G_Cb_tab[G]加B_Cb_tab[B]再加上CENTERJSAMPLE得到Cb,R_Cr_tab[R]减G_Cr_tab[G]减B_Cr_tab[B]再加上CENTERJSAMPLE得到Cr。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军装备学院,未经中国人民解放军装备学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310023832.0/,转载请声明来源钻瓜专利网。
- 上一篇:水溶性萘菁基化合物、制备方法及作为光敏剂的应用
- 下一篇:汽车广角度后视风挡