图片解码方法及图片解码器的制作方法

文档序号:7592567阅读:505来源:国知局
专利名称:图片解码方法及图片解码器的制作方法
技术领域
本发明涉及图像处理领域,尤其涉及图片解码方法及图片解码器。
背景技术
联合图像专家小组(JPEG,Joint Photographic Experts Group)标准是目前应用 得最广泛的图像存储格式之一,现在很多数码相机拍摄出来的照片基本都是JPEG格式。目前,JPEG图片的编码过程可如图1所示,首先将JPEG图片的原始图像数据 分成多个8*8像素大小的像素块,以8*8的像素块为基本单位,进行离散余弦变换(DCT, Discrete Cosine Transform),得到每个像素块的图像数据的直流系数和交流系数,然后 对所有系数进行量化,再对量化后的系数进行熵编码,得到最终的压缩码流。而JPEG图片的解码过程为编码的逆过程,其过程可如图2所示,同样以8*8的 像素块为基本单元,首先对压缩码流的进行熵解码,然后进行反量化和离散余弦反变换 (IDCT, Inverse Discrete Cosine Transform),得到解码后的 JPEG 图片数据,S卩 YUV 数据 (Y指代亮度、U指代色差1、V指代色差2)。在上述解码过程中,IDCT的步骤耗时最长,基于Loeff Ier、Ligtenberg和 Moschytz提出的LLM算法,一个8*8矩阵的IDCT处理过程至少需要执行11次的乘法及四 次的加减法运算。而在JPEG图片的解码过程中,每个8*8的像素块对应于一个8*8矩阵,因 此,对于像素较高的JPEG图片,由于其被分割的像素块数量也较多,若采用上述解码方法, 则需要耗费很长的时间才能将整幅图片解码出来;另一方面,解码后的图片也较大,例如, 一张800万像素的JPEG图片,其经过解码后的数据量约为326牡2448,转换为红绿蓝(RGB, Red Green Blue)之后的数据量约为31M,占用的内存非常地大,这对嵌入式设备(如机顶 盒)来说是不可接受的。

发明内容
本发明实施例提供了一种图片解码方法及图片解码器,用于提高图片的解码速 度,节省图片的存储空间。为解决上述技术问题,本发明实施例提供以下技术方案一种图片解码方法,包括获取原始图片的压缩码流数据;对上述压缩码流数据进行熵解码,得到熵解码后的矩阵;判断原始图片的大小是否超过预置值,若是,则将上述熵解码后的矩阵进行降阶 处理;对降阶后的矩阵依次进行反量化和离散余弦反变换IDCT,得到上述原始图片的亮 度色度YUV数据;将解码后得到的上述原始图片的YUV数据转换为红绿蓝RGB数据后输出。一种图片解码器,包括
获取单元,获取原始图片的压缩码流数据;第一解码单元,用于对上述压缩码流数据进行熵解码,得到熵解码后的矩阵;判断单元,用于判断原始图片的大小是否超过预置值,若是,则触发降阶单元;降阶单元,用于对上述熵解码后的矩阵进行降阶处理;第二解码单元,用于对上述降阶单元处理后的矩阵依次进行反量化和离散余弦反 变换IDCT,得到上述原始图片的亮度色度YUV数据;转换输出单元,用于将解码后得到的上述原始图片的YUV数据转变为红绿蓝RGB 数据后输出。由上可见,本发明实施例中,当解码的原始图片的大小超过预置值时,通过对熵解 码之后的矩阵进行降阶处理,一方面,极大地减少了反量化和IDCT处理过程中执行的运算 次数,从而缩短了反量化和IDCT的处理时长,进而提高了整幅图片的解码速度;另一方面, 通过降阶处理后解码出来的图片数据量较小,极大地节省了图片的存储空间。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本发明实施例提供的现有技术的JPEG图片编码流程示意图;图2为本发明实施例提供的现有技术的JPEG图片解码流程示意图;图3为本发明实施例中的图片解码方法一个实施例流程示意图;图4为本发明实施例中的图片显示的一个实施例流程示意图;图5为本发明实施例中的图片显示的另一个实施例流程示意图;图6为本发明实施例中的图片解码器的结构示意图。
具体实施例方式本发明实施例提供了 一种图片解码方法及图片解码器。为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实 施例仅仅是本发明一部分实施例,而非全部实施例。下面对本发明实施例中一种图片解码方法进行描述,请参阅图3,本发明实施例中 一种图片解码方法的一个实施例包括301、获取原始图片的压缩码流数据;当某个设备预浏览一张图片时,首先需要先获取该图片的压缩码流数据,根据该 图片的压缩格式,利用相应的解码器对该图片的压缩码流数据进行解码。例如,当设备(如 机顶盒、手机等)预浏览一张JPEG图片时,首先需要先获取该JPEG图片的压缩码流数据, 之后利用JPEG图片的解码器对获取到的压缩码流数据进行解码。302、对获取到的压缩码流数据进行熵解码,得到熵解码后的矩阵;通常,图片的解码过程是以8*8大小的数据块为单位进行解码处理的,故经过熵
6解码后的矩阵为8*8矩阵,熵解码后的矩阵中包含直流系数和交流系数,且直流系数位于 该矩阵的第一行第一列。具体的,对获取到的压缩码流数据进行熵解码的处理过程为本领 域技术人员所知悉的公开技术,此处不作详述。303、判断原始图片的大小是否超过预置值;判断预解码的图片的大小是否超过预置值,若是,则执行步骤304,若否,则执行步骤305304、将熵解码后的矩阵进行降阶处理;解码器将经过步骤302处理后得到的矩阵进行降阶处理。在实际应用中,可依据原始图片的大小,对经过步骤302处理后得到的矩阵进行 相应的降阶处理。当上述原始图片过大时,则可依据该原始图片的大小进行不同级别的降 阶处理(如将8*8矩阵降阶为4*4矩阵,或2 矩阵,或1*1矩阵),原始图片越大,对应的 降阶级别也可越高(降阶为1*1矩阵的降阶级别最高,依次递减)。当然,还可结合上述解 码器所在平台(如机顶盒、手机等)的性能,确定不同的降阶级别对上述熵解码后的矩阵进 行降阶处理,此处不作限定。 在实际应用中,若解码器将经过步骤302处理后得到的8*8矩阵降阶为4*4矩阵 时,则可根据预置的4*4降阶矩阵从上述熵解码后得到的8*8矩阵中取出16个系数值, 生成4*4矩阵,其中,该4*4降阶矩阵具体为包含16个1和48个0的8*8矩阵,且该4*4降阶矩阵中的第一行第一列为1。举例说明,假设本发明实施例中预置的4*4降阶矩阵wNeedCoef4*4 为
权利要求
1.一种图片解码方法,其特征在于,包括 获取原始图片的压缩码流数据;对所述压缩码流数据进行熵解码,得到熵解码后的矩阵;判断原始图片的大小是否超过预置值,若是,则将所述熵解码后的矩阵进行降阶处理;对降阶后的矩阵依次进行反量化和离散余弦反变换IDCT,得到所述原始图片的亮度色 度YUV数据;将解码后得到的所述原始图片的YUV数据转换为红绿蓝RGB数据后输出。
2.根据权利要求1所述的方法,其特征在于, 所述熵解码后的矩阵为8*8矩阵;所述将所述熵解码后的矩阵进行降阶处理,具体为依据所述原始图片的大小,根据预置的4*4降阶矩阵将所述熵解码后的8*8矩阵降阶 为4*4矩阵,或,根据预置的2 降阶矩阵将所述熵解码后的8*8矩阵降阶为2 矩阵,或, 根据预置的1*1降阶矩阵将所述熵解码后的8*8矩阵降阶为1*1矩阵。
3.根据权利要求2所述的方法,其特征在于,所述根据预置的4*4降阶矩阵将所述熵解码后的8*8矩阵降阶为4*4矩阵具体包括 从所述熵解码后的矩阵的第一行第一列开始,按照从左到右或者之字型的顺序,依次 根据4*4降阶矩阵当前第一行一列的值决定是否取出所述熵解码后的矩阵当前位的系数 值,若所述4*4降阶矩阵当前第一行一列的值为1,则取出所述系数值,并将所述4*4降阶矩 阵中的数值左移一位,若所述4*4降阶矩阵当前第一行一列的值为0,则将所述4*4降阶矩 阵中的数值左移一位,当所述4*4降阶矩阵的值为0时,依据各系数值取出的顺序关系生成4*4矩阵,其中, 所述预置的4*4降阶矩阵具体为包含16个1和48个0的8*8矩阵,且其第一行第一列为 1 ;所述根据预置的4*4降阶矩阵将所述熵解码后的8*8矩阵降阶为2 矩阵具体包括 从所述熵解码后的矩阵的第一行第一列开始,按照从左到右或者之字型的顺序,依次 根据2*2降阶矩阵当前第一行一列的值决定是否取出所述熵解码后的矩阵当前位的系数 值,若所述狄2降阶矩阵当前第一行一列的值为1,则取出所述系数值,并将所述2 降阶矩 阵中的数值左移一位,若所述2*2降阶矩阵当前第一行一列的值为0,则将所述2 降阶矩 阵中的数值左移一位,当所述2*2降阶矩阵的值为0时,依据各系数值取出的顺序关系生成2 矩阵,其中, 所述预置的2 降阶矩阵具体为包含4个1和60个0的8*8矩阵,且其第一行第一列为1 ; 所述根据预置的4*4降阶矩阵将所述熵解码后的8*8矩阵降阶为1*1矩阵具体包括 根据预置的1*1降阶矩阵从所述熵解码后的矩阵中取出直流系数,生成1*1矩阵,其 中,所述预置的1*1降阶矩阵具体为第一行第一列为1,其余各行各列为0的8*8矩阵。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述将解码后得到的所述原始 图片的YUV数据转换为红绿蓝RGB数据后输出,具体为将解码后得到的所述原始图片的YUV数据转换为红绿蓝RGB数据后输出到显示屏进行 显不,其中,包括将所述原始图片的YUV数据转换为RGB数据,并存储在缓存中; 从所述缓存中读取预显示的RGB数据;根据所述显示屏的图片显示区域大小和当前读取的RGB数据,将当前读取的RGB数据 进行等比例缩放;将所述缩放后的RGB数据输出到所述图片显示区域进行显示。
5.根据权利要求4所述的方法,其特征在于,根据所述显示屏的图片显示区域大小和 当前读取的RGB数据,将当前读取的RGB数据进行等比例缩放的步骤包括根据所述显示屏的图片显示区域大小和当前得到的RGB数据,计算出缩放倍数; 若当前计算出的缩放倍数超过预置的最大缩放倍数,则,将当前得到的RGB数据按照 所述预置的最大缩放倍数进行等比例缩放,并重新根据所述显示屏的图片显示区域大小和 当前得到的RGB数据计算缩放倍数,直至当前计算出的缩放倍数不超过预置的最大缩放倍 数;按照当前计算出的缩放倍数对当前得到的RGB数据进行等比例缩放。
6.根据权利要求5所述的方法,其特征在于,所述方法中至少有以下步骤分别在不同的线程下执行获取原始图片的压缩码流数据;对所述获取原始图片的压缩码流数据进行解码;将解码后得到的所述原始图片的YUV数据转变为红绿蓝RGB数据后送到显示屏显示。
7.一种图片解码器,其特征在于,包括 获取单元,获取原始图片的压缩码流数据;第一解码单元,用于对所述压缩码流数据进行熵解码,得到熵解码后的矩阵; 判断单元,用于判断原始图片的大小是否超过预置值,若是,则触发降阶单元; 降阶单元,用于对所述熵解码后的矩阵进行降阶处理;第二解码单元,用于对所述降阶单元处理后的矩阵依次进行反量化和离散余弦反变换 IDCT,得到所述原始图片的亮度色度YUV数据;转换输出单元,用于将解码后得到的所述原始图片的YUV数据转变为红绿蓝RGB数据 后输出。
8.根据权利要求7所述的解码器,其特征在于, 所述熵解码后的矩阵为8*8矩阵;所述降阶单元具体用于,依据所述原始图片的大小,根据预置的4*4降阶矩阵将所述 熵解码后的8*8矩阵降阶为4*4矩阵,或,根据预置的2 降阶矩阵将所述熵解码后的8*8 矩阵降阶为2 矩阵,或,根据预置的1*1降阶矩阵将所述熵解码后的8*8矩阵降阶为1*1矩阵。
9.根据权利要求8所述的解码器,其特征在于, 所述降阶单元具体包括选择单元,第一降阶单元,第二降阶单元,第三降阶单元;所述选择单元用于依据所述原始图片的大小,选择触发第一降阶单元,或,第二降阶单 元,或,第三降阶单元;所述第一降阶用于从所述熵解码后的矩阵的第一行第一列开始,按照从左到右或者 之字型的顺序,依次根据4*4降阶矩阵当前第一行一列的值决定是否取出所述熵解码后的 矩阵当前位的系数值,若所述4*4降阶矩阵当前第一行一列的值为1,则取出所述系数值, 并将所述4*4降阶矩阵中的数值左移一位,若所述4*4降阶矩阵当前第一行一列的值为0, 则将所述4*4降阶矩阵中的数值左移一位;当所述4*4降阶矩阵的值为0时,依据各系数值 取出的顺序关系生成4*4矩阵,其中,所述预置的4*4降阶矩阵具体为包含16个1和48个 0的8*8矩阵,且其第一行第一列为1 ;所述第二降阶单元用于,从所述熵解码后的矩阵的第一行第一列开始,按照从左到右 或者之字型的顺序,依次根据2*2降阶矩阵当前第一行一列的值决定是否取出所述熵解码 后的矩阵当前位的系数值,若所述2*2降阶矩阵当前第一行一列的值为1,则取出所述系数 值,并将所述狄2降阶矩阵中的数值左移一位,若所述狄2降阶矩阵当前第一行一列的值为 0,则将所述2 降阶矩阵中的数值左移一位,当所述2 降阶矩阵的值为0时,依据各系数 值取出的顺序关系生成2 矩阵,其中,所述预置的2 降阶矩阵具体为包含4个1和60 个0的8*8矩阵,且其第一行第一列为1 ;所述第三降阶单元用于,根据预置的1*1降阶矩阵从所述熵解码后的矩阵中取出直流 系数,生成1*1矩阵,其中,所述1*1降阶矩阵具体为第一行第一列为1,其余各行各列为0 的8*8矩阵。
10.根据权利要求7至9任一项所述的解码器,其特征在于,所述转换输出单元具体用于,将解码后得到的所述原始图片的YUV数据转换为红绿蓝 RGB数据后输出到显示屏进行显示; 所述转换输出单元包括转换存储单元,将所述原始图片的YUV数据转换为RGB数据并存储在缓存中; 读取单元,用于从所述缓存中读取预显示的RGB数据;缩放单元,用于根据所述显示屏的图片显示区域大小和当前读取的RGB数据,对当前 读取的RGB数据进行等比例缩放;输出显示单元,用于将缩放后的RGB数据输出到所述图片显示区域进行显示。
11.根据权利要求10所述的解码器,其特征在于, 所述缩放单元包括计算单元,用于根据所述显示屏的图片显示区域大小和当前得到的RGB数据,计算出 缩放倍数;第一缩放单元,用于当所述计算单元当前计算出的缩放倍数超过预置的最大缩放倍数 时,将当前得到的RGB数据按照所述预置的最大缩放倍数进行等比例缩放;第二缩放单元,用于按照所述计算单元当前计算出的缩放倍数对当前得到的RGB数据 进行等比例缩放。
全文摘要
本发明实施例公开了图片解码方法及图片解码器,其中,图片解码方法包括获取原始图片的压缩码流数据;对所述压缩码流数据进行熵解码,得到熵解码后的矩阵;判断原始图片的大小是否超过预置值,若是,则将所述熵解码后的矩阵进行降阶处理;对降阶后的矩阵依次进行反量化和离散余弦反变换IDCT,得到所述原始图片的亮度色度YUV数据;将解码后得到的所述原始图片的YUV数据转换为红绿蓝RGB数据后输出。本发明提供的技术方案可有效提高图片的解码速度,节省图片的存储空间。
文档编号H04N9/64GK102118616SQ20111004527
公开日2011年7月6日 申请日期2011年2月24日 优先权日2011年2月24日
发明者刘永霞 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1