一种在数字电视接收中实现图像旋转的方法和系统的制作方法

文档序号:7710368阅读:382来源:国知局
专利名称:一种在数字电视接收中实现图像旋转的方法和系统的制作方法
技术领域
本发明涉及在数字电视接收中,如移动电视、地面广播等,实现图像旋转的方法和 系统。
背景技术
数字电视被认为是21世纪前景最广阔的产业之一,也是国际范围内数字消费类 电子信息产品发展的重点,目前数字电视接收已经渗透到各种终端,包括手机、PMP、PSP、 PC、机顶盒等等。中国本土的地面广播标准和移动电视标准也已经确立。基于块的DCT变换(离散余弦变换)算法被广泛用于各种视频标准中,包括 MPEG1/2/4,H. 26x和AVS中。图1为一典型的基于块变换的数字电视解码示意图。在解码图像显示时,由于观看习惯的不同,用户一般都需要对图像进行旋转显示, 尤其是对手机或者PMP屏幕。传统的旋转显示的实现方法需要从显示帧缓存中读取数据,然后旋转,最后存入 到显示帧缓存中(很可能是另一段区域),如图2所示。由于解码后的图像数据量较大,这 样的实现将会增加对存储器的存取次数,甚至需要增加对存储大小的要求,从而导致终端 价格增加、功耗增大。

发明内容
本发明要解决的技术问题提供一种在数字电视接收中实现图像旋转的方法和系 统,在不增加存取次数和存储空间的情况下实现对视频解码后的图像进行旋转显示。根据本发明一方面,提出一种在数字电视接收中实现图像旋转的系统,包括熵解 码模块,接收并解码视频基本流,得到块或者块残差的离散余弦变换DCT变换域矩阵以及 运动矢量;反量化模块,对DCT变换域矩阵进行加权反量化,将DCT变换域矩阵的各个系数 反变换到量化前的数值,经加权反量化后的DCT变换域矩阵的系数对应于编码端图像块或 块残差经过DCT变换后的结果;反DCT模块,将加权反量化后的DCT变换域矩阵转换为空间 域矩阵,即转换为4x4或8x8的原始图像块或原始图像块残差;矩阵转置模块,对原始图像 块或原始图像块残差进行矩阵转置运算,将转置后图像块作为重建帧的一部分存入到帧存 储器;帧存储器,存储显示帧、重建帧和预测帧,重建帧在解码过程中变换为预测帧,当解码 过程中预测帧的数目达到设定值时,预测帧将会成为显示帧。进一步,所述实现图像旋转的系统还包括运动矢量修正模块,根据设定的旋转角 度,对熵解码模块中的原始运动矢量进行修正得到旋转运动矢量,并将旋转运动矢量发送 给帧内/帧间预测模块;帧内/帧间预测模块,当预测类型为帧内预测时,从帧存储器中读 取旋转运动矢量指向的一个区域的像素作为预测像素,将预测像素与转置后的原始图像块 残差相加得到重建块,并将重建块写入帧存储器。进一步,帧内/帧间预测模块还在预测类型为帧间预测时,从帧存储器的预测帧 位置读取旋转运动矢量指向的一个区域的像素作为预测块,将预测块与转置后的原始图像块残差相加得到重建块,并将重建块写入帧存储器。根据本发明另一方面,还提出一种在数字电视接收中实现图像旋转的方法,包括 以下步骤熵解码模块接收视频基本流,将视频基本流进行解码,得到块或者块残差的离散 余弦变换DCT变换域矩阵以及运动矢量;反量化模块将对DCT变换域矩阵进行加权反量化, 将DCT变换域矩阵的各个系数反变换到量化前的数值,经加权反量化后的DCT变换域矩阵 的系数对应于编码端图像块或块残差经过DCT变换后的结果;反DCT模块将加权反量化后 的DCT变换域矩阵转换为空间域矩阵,即转换为4x4或8x8的原始图像块或原始图像块残 差;矩阵转置模块对原始图像块或原始图像块残差进行矩阵转置运算,将转置后原始图像 块作为重建帧的一部分存入到帧存储器;帧存储器存储显示帧、重建帧和预测帧,重建帧在 解码过程中变换为预测帧,当解码过程中预测帧的数目达到设定值时,预测帧将会成为显 示帧。进一步,对原始图像块残差进行矩阵转置运算后,还包括以下步骤根据设定的旋 转角度,运动矢量修正模块对熵解码模块中的原始运动矢量进行修正得到旋转运动矢量, 并将旋转运动矢量发送给帧内/帧间预测模块;当预测类型为帧内预测时,帧内/帧间预测 模块从帧存储器中读取旋转运动矢量指向的一个区域的像素作为预测像素;将预测像素与 转置后的原始图像块残差相加得到重建块,将重建块写入帧存储器的重建帧中。进一步,对原始图像块残差进行矩阵转置运算后,还包括以下步骤根据设定的旋 转角度,运动矢量修正模块对熵解码模块中的原始运动矢量进行修正得到旋转运动矢量, 并将旋转运动矢量发送给帧内/帧间预测模块;当预测类型为帧间预测时,帧内/帧间预测 模块从帧存储器的预测帧位置读取旋转运动矢量指向的一个区域的像素作为预测块;将预 测块与转置后的原始图像块残差相加得到重建块,将重建块写入帧存储器的重建帧中。与现有技术相比,本发明消除了对存储器读取次数的额外要求,消除了对存储器 空间的额外要求,并且降低了功耗。


图1所示为现有技术的数字电视接收中视频解码的系统示意图。图2所示为现有技术的实现图像旋转的系统示意图。图3所示为本发明实现图像块旋转的系统示意图。图4所示本发明实现图像块残差旋转的系统示意图。图5所示为本发明中8X8矩阵经过90度转置的实施例。图6(a)所示为旋转前相对位置示意图。图6(b)所示为旋转后相对位置示意图。图7所示为本发明实现对图像块旋转的方法流程图。图8所示为本发明通过帧内预测实现对图像块残差旋转的方法流程图。图9所示为一 4x4的图像块在做帧内预测时与相邻像素的位置关系的示意图,其 中a,b,c,d,e,f,g,h,I,j,k,1,m, n,o,ρ为所述4x4图像块的各个像素,ABCD为此图像 块上方相邻图像块的最下方的4个像素,IJKL为此图像块左方相邻图像块的最右方的4个 像素,M为此图像块左上方相邻图像块的最右下角的像素。图10所示为本发明通过帧间预测实现对图像块残差旋转的方法流程图。
具体实施例方式图1所示为现有技术的数字电视接收中视频解码的系统示意图,包括熵解码模块 10、反DCT模块20、反量化模块30、帧内/帧间预测模块40和帧存储器50。熵解码模块10接收视频基本流ES,将所述视频基本流进行解码,得到图像块或者 图像块残差的离散余弦变换DCT变换域矩阵和相应运动矢量。所涉及的基于块的压缩标准 中,图像宏块和图像宏块残差为基本运算单位,一般一个图像宏块将包括几个亮度图像块 (如MPEG2中包括4个)和几个色度图像块(如MPEG2中包括2个)。在同一图像宏块中, 所述图像块的运算都一致,以下将以图像块作为叙述单位,此图像块可以是4x4(如H. 264) 也可以是8x8 (如MPEG2)的矩阵。熵解码模块10接收数字电视接收系统其他模块的视频基本流,如解复用模块将 数字电视传输流TS解复用后得到视频基本流和音频基本流,其中视频基本流作为熵解码 10的输入。再如数字电视接收系统直接从硬盘或者网络得到视频基本流,作为熵解码模块 10的输入。所述数字电视接收系统可以是数字电视机顶盒,包括地面、卫星、有线或者是网 络。也可以是带有数字电视解码功能的移动终端,如手机、PMP等。所述视频基本流ES是 基于DCT块变换的压缩码流,如H. 264、MPEGl/2/4、AVS等。熵解码模块10依据的解码算法 可以是霍夫曼编码、如MPEG1/2/3,或者是CABIC、CAVLCJn H. 264等。得到的DCT变换域矩 阵可以是4x4 (如H. 264)也可以是8x8 (如MPEG2)。反量化模块30对所述DCT变换域矩阵进行加权反量化,将DCT变换域矩阵的各个 系数反变换到量化前的数值。经反量化后的DCT变换域矩阵的系数对应于编码端图像块或 块残差经过DCT变换后的结果。反DCT模块20将加权反量化后的DCT变换域矩阵转换为空间域矩阵,即转换为 4x4或8x8的原始图像块或原始图像块残差。当转换为原始图像块时,将所述原始图像块发送给帧存储器50,以构建重建帧 502。当转换为原始图像块残差时,则根据预测类型得到预测块,将所述预测块与原始图像 块残差相加得到重建块。其中,预测类型包括帧内、帧间预测,获取预测块的操作由帧内/ 帧间预测模块40执行,将在下面进行说明。帧内/帧间预测模块40对原始图像块残差进行预测得到预测块,将预测块与原始 图像块残差相加得到重建帧502。当预测类型为帧内预测时,帧内/帧间预测模块40从已经解码完成的重建帧502 得到相应的预测像素,该预测像素将根据帧内预测类型从重建帧502中的相应位置(如相 邻的图像宏块的边界像素)得到。该预测像素与反DCT模块20得到的图像块残差中相应 像素相加得到重建块,将该重建块写入帧存储器50中重建帧502的相应位置。以H. 264标 准为例,如果帧内预测类型为4x4亮度帧内预测模式1,即垂直预测,则帧内/帧间预测模块 40将从已经解码完成的重建帧502中得到所述图像块上方图像块的最下方的4个像素,如 图9所示的ABCD,并将此四个像素与当前图像块残差(a,b,c, d ;e,f,g,h ;i,j,k,1 ;m, η, ο, ρ)垂直相加得到重建块为(a+A,b+B, c+C,d+D ;e+A, f+B, g+C,h+D ;i+A, j+B, k+C,1+D ; m+A, n+B, o+C, p+D),将该重建块写入帧存储器50中重建帧502的相应位置。当预测类型为帧间预测时,帧内/帧间预测模块40根据从熵解码模块10中得到的运动矢量,从帧存储器50中预测帧503位置得到相应的预测块,该预测块将根据帧间预 测类型从预测帧503中的相应位置得到像素并经过滤波计算得到。假设帧间预测类型为P 帧,即前向预测,而且运动矢量为(A,B),而所述图像块残差在重建帧502的位置(块的第 一个像素位置)为(k,l),则帧内/帧间预测模块40将会从预测帧503的(k+A,B+l)的位 置读取一个图像块,即预测块,该预测块与反DCT模块20得到的图像块残差相加得到重建 块,将该重建块写入帧存储器50中重建帧502的相应位置。帧存储器50存储显示帧501、重建帧502和预测帧503。其中,重建帧502在解码 过程中变换为预测帧503,以供未来的解码预测所用。当解码过程中预测帧503的数目达到 设定值时,即该解码过程不再需要某一预测帧503,该预测帧503将会成为显示帧501,供显 示所用。图2所示为现有技术的实现图像旋转的系统示意图。在图1的基础上,还包括旋 转运算模块60,对显示帧501执行旋转操作。在图1过程中得到位于帧存储器50中的显示帧501后,旋转运算模块60从帧存 储器50中读出显示帧501,根据设定的旋转角度对整个显示帧501做旋转运算,将运算结果 写回到帧存储器50中成为新的显示帧501,并对该显示帧进行读取显示。下面结合附图和实施例进一步详细说明本发明的工作原理。图3所示为本发明实现对图像块旋转的系统示意图,与图1相比增加了矩阵转置 模块80。帧存储器,存储显示帧、重建帧和预测帧,重建帧在解码过程中变换为预测帧,当 解码过程中预测帧的数目达到设定值时,预测帧将会成为显示帧。矩阵转置模块80根据设定的旋转角度,对反DCT模块20输出的原始图像块或所 述原始图像块残差进行矩阵转置运算,将转置后图像块作为重建帧的一部分存入到帧存储 器50的重建帧502中,所述矩阵转置运算可以是旋转0、90、180、270度或镜像等。图5所 示为本发明中8X8矩阵经过90度转置的实施例。对图像块执行旋转运算操作是在构建显示帧之前,避免了从帧存储器中读取显示 帧的操作,消除了对帧存储器读取次数以及对存储空间的额外要求。由于此时该系统用于对图像块执行旋转操作,因此,现有技术的系统中可以只包 括熵解码模块10、反DCT模块20、反量化模块30和帧存储器50。当然,该操作也可以是基 于还包括帧内/帧间预测模块40的系统所完成的。图4所示为本发明实现图像块残差旋转的系统示意图,在图3的基础上还包括运 动矢量修正模块70。下面将结合现有技术的其他模块来具体说明该模块执行的操作。运动矢量修正模块70根据设定的旋转角度,对熵解码模块10中的原始运动矢量 进行修正得到旋转运动矢量,并将所述旋转运动矢量发送给帧内/帧间预测模块40。帧内/帧间预测模块40在预测类型为帧内预测时,从帧存储器重建帧502中读取 旋转运动矢量指向的一个区域的像素作为预测像素,该预测像素与转置后的原始图像块残 差相加得到重建块,将该重建块写入帧存储器50中重建帧502的相应位置。现有技术与本 发明的内容在此部分读取方式是一致的,不同之处是现有技术没有旋转运动矢量之说,所 依据的是从码流中得到的原始运动矢量。以H. 264标准为例,如果帧内预测类型为4x4亮度帧内预测模式1,即垂直预测,则帧内/帧间预测模块40将从已经解码完成的重建帧502中得到所述图像块上方图像块 的最下方的4个像素,如图9所示的AB⑶,并将此四个像素与当前图像块残差(a,b, c, d; e,f, g, h ;i, j,k,1 ;m, η, ο, ρ)垂直相加得到重建块为(a+A, b+B, c+C, d+D ;e+A, f+B, g+C, h+D ; i+A, j+B, k+C,1+D ;m+A, n+B, o+C,p+D),将该重建块写入帧存储器50中重建帧502的
相应位置。帧内/帧间预测模块40在预测类型为帧间预测时,从帧存储器50中预测帧503 位置读取旋转运动矢量指向的一个区域的像素作为预测块,将预测块与转置后的原始图像 块残差相加得到重建块,并将重建块写入帧存储器。该预测块将根据帧间预测类型从预测 帧503中的相应位置得到像素并经过滤波计算得到。图6(a)所示为旋转前相对位置的实施例示意图,假设帧间预测类型为P帧,即前 向预测,解码后的运动矢量为(A,B),而所述图像块残差在重建帧502的位置(块的第一个 像素位置)为(k,l),则原参考图像块的位置是(X,Y),其中X = k+A,Y = b+l,并且假设图 像的大小为(H,V)。图6(b)所示为旋转90度后相对位置的实施例示意图。当旋转90度 后,运动矢量将被修正为(_B,A),修正后的参考块位置为(V-Y,X),即(V-B-l,k+A),帧内/ 帧间预测模块40将会从预测帧503的(V-b-1,k+A)位置读取一个图像块,即预测块,该预 测矩阵与转置后的图像块残差相加得到重建块,将该重建块写入帧存储器50中重建帧502 的相应位置。旋转其他角度的修正同理可得,具体修正方法如下旋转180度 运动矢量被修正为(-A,-B),修正后的参考块位置为(H-X,V-Y),即(H_k_A, V-B-1)。旋转270度运动矢量被修正为(B,-A),修正后的参考块位置为(Y,H-X),即(B+l,H_A_k)。由于根据重建帧502得到的预测像素、以及根据预测帧503得到的预测块都是经 过了矩阵转置模块80的矩阵转置运算,而运动矢量修正模块70输出的也是进行修正得到 的旋转运动矢量。同时,经过矩阵转置模块80转置后得到的是旋转的图像块残差,于是,预 测像素或预测块与图像块残差相加得到的重建块,与原始图像相比已经是旋转后的图像。本发明在不增加帧存储器50容量和读取次数的情况下,在现有技术的解码过程 中增加矩阵转置模块80,实现对图像块的旋转操作并显示,进一步,还可以增加运动矢量修 正模块70,实现对图像块残差的旋转操作并显示。图7所示为本发明实现对图像块旋转的方法流程图,包括以下步骤在步骤701,熵解码模块10接收视频基本流,将所述视频基本流进行解码,得到块 或者宏残差的离散余弦变换DCT变换域矩阵以及运动矢量。在步骤702,反量化模块30对所述DCT变换域矩阵进行加权反量化,将DCT变换域 矩阵的各个系数反变换到量化前的数值,经加权反量化后的DCT变换域矩阵的系数对应于 编码端图像块或块残差经过DCT变换后的结果。在步骤703,反DCT 模块20将加权反量化后的DCT变换域矩阵转换为空间域矩阵, 即转换为4x4或8x8的原始图像块或原始图像块残差。在步骤704,矩阵转置模块80对反DCT模块20输出的原始图像块或所述原始图像块残差进行矩阵转置运算,将转置后图像块作为重建帧的一部分存入到帧存储器50的重 建帧502中,重建帧502在解码过程中变换为预测帧503,以供未来的解码预测所用。当解 码过程中预测帧的数目达到设定值时,预测帧将会成为显示帧。所述矩阵转置运算可以是旋转0、90、180、270度或镜像等。当解码过程中预测帧 503的数目达到设定值时,即该解码过程不再需要某一预测帧503,该预测帧503将会成为 显示帧501,供显示所用。所显示的图像即是对原始图像旋转后的图像。
由于对图像块执行旋转运算操作是在构建显示帧之前,避免了从帧存储器中读取 显示帧的操作,消除了对帧存储器读取次数以及对存储空间的额外要求。图8所示为本发明通过帧内预测实现对图像块残差旋转的方法流程图,在图7的 步骤701 步骤704的基础上,还包括以下步骤在步骤801,根据设定的旋转角度,运动矢量修正模块70对熵解码模块10中的原 始运动矢量进行修正得到旋转运动矢量,并将所述旋转运动矢量发送给帧内/帧间预测模 块40。在步骤802,当预测类型为帧内预测时,帧内/帧间预测模块40从帧存储器50的重 建帧502中读取旋转运动矢量指向的一个区域的像素作为预测像素。在步骤803,将预测像素与转置后的图像块残差相加得到重建块,将该重建块写入 帧存储器50中重建帧502的相应位置。现有技术与本发明的内容在此部分读取方式是一 致的,不同之处是现有技术没有旋转运动矢量之说,所依据的是从码流中得到的原始运动 矢量。图10所示为本发明通过帧间预测实现对图像块残差旋转的方法流程图,在图7的 步骤701 步骤704的基础上,还包括以下步骤在步骤1001,根据设定的旋转角度,运动矢量修正模块70对熵解码模块10中的原 始运动矢量进行修正得到旋转运动矢量,并将所述旋转运动矢量发送给帧内/帧间预测模 块40。在步骤1002,当预测类型为帧间预测时,帧内/帧间预测模块40从帧存储器50的 预测帧503位置读取旋转运动矢量指向的一个区域的像素作为预测块。在步骤1003,将预测块与转置后的原始图像块残差相加得到重建块,将重建块写 入帧存储器50的重建帧502中。由于根据重建帧502得到的预测像素、以及根据预测帧503得到的预测块都是经 过了矩阵转置模块80的矩阵转置运算,而运动矢量修正模块70输出的也是进行修正得到 的旋转运动矢量。同时,经过矩阵转置模块80转置后得到的是旋转的图像块残差,于是,预 测像素或预测块与图像块残差相加得到的重建块,与原始图像相比已经是旋转后的图像。
权利要求
一种在数字电视接收中实现图像旋转的系统,包括熵解码模块,接收并解码视频基本流,得到块或者块残差的离散余弦变换DCT变换域矩阵以及运动矢量;反量化模块,对DCT变换域矩阵进行加权反量化,将DCT变换域矩阵的各个系数反变换到量化前的数值,经加权反量化后的DCT变换域矩阵的系数对应于编码端图像块或块残差经过DCT变换后的结果;反DCT模块,将加权反量化后的DCT变换域矩阵转换为空间域矩阵,即转换为4x4或8x8的原始图像块或原始图像块残差;矩阵转置模块,对原始图像块或原始图像块残差进行矩阵转置运算,将转置后图像块作为重建帧的一部分存入到帧存储器;帧存储器,存储显示帧、重建帧和预测帧,重建帧在解码过程中变换为预测帧,当解码过程中预测帧的数目达到设定值时,预测帧将会成为显示帧。
2.根据权利要求1所述实现图像旋转的系统,还包括运动矢量修正模块,根据设定的旋转角度,对熵解码模块中的原始运动矢量进行修正 得到旋转运动矢量,并将旋转运动矢量发送给帧内/帧间预测模块;帧内/帧间预测模块,当预测类型为帧内预测时,从帧存储器中读取旋转运动矢量指 向的一个区域的像素作为预测像素,将预测像素与转置后的原始图像块残差相加得到重建 块,并将重建块写入帧存储器。
3.根据权利要求2所述实现图像旋转的系统,其中,帧内/帧间预测模块还在预测类型 为帧间预测时,从帧存储器的预测帧位置读取旋转运动矢量指向的一个区域的像素作为预 测块,将预测块与转置后的原始图像块残差相加得到重建块,并将重建块写入帧存储器。
4.一种在数字电视接收中实现图像旋转的方法,包括以下步骤熵解码模块接收视频基本流,将视频基本流进行解码,得到块或者块残差的离散余弦 变换DCT变换域矩阵以及运动矢量;反量化模块将对DCT变换域矩阵进行加权反量化,将DCT变换域矩阵的各个系数反变 换到量化前的数值,经加权反量化后的DCT变换域矩阵的系数对应于编码端图像块或块残 差经过DCT变换后的结果;反DCT模块将加权反量化后的DCT变换域矩阵转换为空间域矩阵,即转换为4x4或8x8 的原始图像块或原始图像块残差;矩阵转置模块对原始图像块或原始图像块残差进行矩阵转置运算,将转置后原始图像 块作为重建帧的一部分存入到帧存储器;帧存储器存储显示帧、重建帧和预测帧,重建帧在解码过程中变换为预测帧,当解码过 程中预测帧的数目达到设定值时,预测帧将会成为显示帧。
5.根据权利要求4所述实现图像旋转的方法,对原始图像块残差进行矩阵转置运算 后,还包括以下步骤根据设定的旋转角度,运动矢量修正模块对熵解码模块中的原始运动矢量进行修正得 到旋转运动矢量,并将旋转运动矢量发送给帧内/帧间预测模块;当预测类型为帧内预测时,帧内/帧间预测模块从帧存储器中读取旋转运动矢量指向 的一个区域的像素作为预测像素;将预测像素与转置后的原始图像块残差相加得到重建块,将重建块写入帧存储器的重 建帧中。
6.根据权利要求4所述实现图像旋转的方法,对原始图像块残差进行矩阵转置运算 后,还包括以下步骤根据设定的旋转角度,运动矢量修正模块对熵解码模块中的原始运动矢量进行修正得 到旋转运动矢量,并将旋转运动矢量发送给帧内/帧间预测模块;当预测类型为帧间预测时,帧内/帧间预测模块从帧存储器的预测帧位置读取旋转运 动矢量指向的一个区域的像素作为预测块;将预测块与转置后的原始图像块残差相加得到重建块,将重建块写入帧存储器的重建 帧中。
全文摘要
本发明提出一种在数字电视接收中实现图像旋转的方法和系统,包括熵解码模块接收并解码视频基本流,得到块或者块残差的离散余弦变换DCT变换域矩阵以及运动矢量;反量化模块对DCT变换域矩阵进行加权反量化,将DCT变换域矩阵的各个系数反变换到量化前的数值;反DCT模块将加权反量化后的DCT变换域矩阵转换为空间域矩阵;矩阵转置模块对原始图像块或原始图像块残差进行矩阵转置运算,将转置后图像块作为重建帧的一部分存入到帧存储器;帧存储器存储显示帧、重建帧和预测帧。本发明在不增加存取次数和存储空间的情况下实现对视频解码后的图像进行旋转显示。
文档编号H04N5/44GK101964881SQ20091015821
公开日2011年2月2日 申请日期2009年7月21日 优先权日2009年7月21日
发明者刘宗伟, 林国辉 申请人:北京中天联科微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1