嵌入式图形编码:用于并行解码的重排序比特流的制作方法

文档序号:7914733阅读:153来源:国知局
专利名称:嵌入式图形编码:用于并行解码的重排序比特流的制作方法
技术领域
本发明涉及图像处理领域。更具体地,本发明涉及当对图像/视频进行编码和解码时对信令比特进行分组。
背景技术
大多数图像压缩方案是针对诸如由数码照相机拍摄的照片之类的“自然图像”而设计的。对于自然图像,在相邻像素之间存在强相关。因而,大多数图像压缩模式如下来エ作I.通过预测或者转换或者这二者对像素进行去相关,这导致预测残余或者变换參数的稀疏直方图。该直方图具有位于O附近的单个峰值。2.按照需要应用量化。3.对(量化的)预测残余或者变换參数进行熵编码。熵编码是针对以上描述的分布而设计的。如果该分布具有显著的不同形状,那么编码性能差。然而,存在许多诸如图形或者文本的图像之类的“非自然图像”,该图像一般地具有大动态范围、強烈对比、明显的边、粗纹理以及稀疏的直方图。通过传统的图像压缩算法通常不能很好地处理这些图像类型。像素间相关性较弱,并且预测或者转换不能像它能为自然图像提供稀疏的直方图那样提供直方图。针对非自然图像已经提出了ー些方案。一个示例被称为“直方图打包”,其中编码器穿过整个图像,计算直方图并且在压缩图像之前进行像素的非线性映射。压缩需要使得増加的存储器成本和更多的计算的两个通过处理。比特流不是可变换比例的,这意味着解码器需要整个比特流以对图像进行解码。没有重编码的部分重构建是不可能的。在嵌入式图像编码(EGC)的ー些版本中,执行比特平面编码,其中对于每一存在的组如果当前组不太小并且没有太多的组存在,那么发送该组的拆分比特,其伴随I比特或者多比特以细化(refine)在该组中的像素值;否则,发送原始比特用于细化。因此,将组ー个接ー个地处理。

发明内容
在嵌入式图形编码(EGC)中,当对比特平面进行解码时,处理全部现有的组。因此在组之间不存在预测依赖性,可以并行处理多个组以加速编码。然而,由于EGC的变长编码特征,解码器不知道在比特流中的每ー组的起始点。因此,下一组的解码只有在对先前的组进行了解码后才能开始。比特流的重排序可以被用于使能诸如在EGC中之类的并行图形解码。在重排序中,设置比特平面的全部组的“split_gr0Up”(拆分_组)信令比特,并且接着跟随每一组的细化比特。利用重排序,通过读出每ー组的拆分比特,解码器可以取得每ー组的细化比特数目(例如,当“split_group”信令比特等于O时,仅存在针对该组的ー个细化比持,否则细化比特的数目等于组成员的数目),因此还知道每ー组的起始点,并且可以实现每ー组的并行处理。为了避免解码时的潜在问题,在一些实施例中,将允许的组的最大数目进行设置使得永远不能达到该限制。在这种情况中,可能存在应当被拆分但是由于组数已经达到了限制而没有被拆分的一些组。对于这样的组,通过简单地检查“Split_gr0Up”t匕特的值不能取得细化比特的数目。为了解决这个问题,不是发 送每ー组的“ split_gr0Up”,而是发送被称为“each_member”(姆一 _成员)的另一信令比特。each_member与一个组的细化比特的数目具有明确的关系(即,当each_member = O,仅存在I个细化比特,否则细化比特的数目等于组成员的数目),而不管该组是否将被拆分。通过使用eachjnember信令和其它条件(例如,最大组数是否达到)可以做出“拆分或者不拆分”的判定。在一些实施例中,在对比特平面进行编码之前检查组数是否达到预确定的限制。如果是的话,那么不发送每一成员信令并且使用原始比特细化全部组的成员。在ー个方面,一种编程在设备中的控制器中的编码方法,包括生成用于图像块的比特平面的组的信令比特;生成用于每个组的细化比特;以及组合信令比特以形成比特流的头部。该方法还包括将图像划分为块并且将块分割成组。当这些组的ー个组包括任何相异的像素时,将信令比特设置为I。在细化比特之前发送信令比持。使用并行处理对每一组的细化比特进行解码。设备是从包括以下设备的组中选择的个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持式计算机、个人数字助理、蜂窝/移动电话机、智能电器、游戏机、数码照相机、数字摄像机、照相手机、iPod /iPhone、视频播放器、DVD刻录机/播放机、蓝光 刻录机/播放机、电视机、家庭娱乐系统。在另一方面,一种编程在设备中的控制器中的解码方法,包括接收包括信令比特和细化比特的被编码的比特平面;针对比特平面内的每个组确定细化比特的数量;以及利用细化比特的数目来执行比特平面的并行解码。将允许的组的最大数目设置为组的总数。利用头部比特来确定每ー组的细化比特的数量。该方法还包括在对比特平面进行解码之前确定组数是否达到组的限制,其中如果组数达到了组的限制,那么全部组被指示为具有原始细化比特并且不发送信令比特。设备是从包括以下设备的组中选择的个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持式计算机、个人数字助理、蜂窝/移动电话机、智能电器、游戏机、数码照相机、数字摄像机、照相手机、iPod /iPhone、视频播放器、DVD刻录机/播放机、蓝光 刻录机/播放机、电视机、家庭娱乐系统。在另一方面,一种编码器设备,包括用于存储应用的存储器,所述应用用于生成用于比特平面内的组的信令比特、生成每个组的细化比持;以及组合信令比特以形成比特平面的头部;以及耦合到存储器的处理组件,所述处理组件被配置用于处理该应用。当这些组的ー个组包括任何相异的像素时,将信令比特设置为I。该应用还用于在细化比特之前发送信令比持。使用并行处理对每ー组进行编码和解码。在另一方面,一种解码器设备,包括用于存储应用的存储器,所述应用用于接收包括信令比特和细化比特的被编码的比特平面;针对比特平面内的每个组确定细化比特的数量;以及利用每个组的细化比特的数目来对在比特平面内的组并行进行编码;以及耦合到存储器的处理组件,所述处理组件被配置用于处理所述应用。将允许的组的最大数目设置为组的总数。使用头部比特用于确定每一组的细化比特的数量。该应用还用于在对每ー组进行解码时确定组数是否达到组的限制,其中如果组数达到了组的限制,那么全部组被指示为具有原始细化比特并且不发送信令比持。该应用还用于在对每ー组进行解码时确定组数是否达到组的限制,其中如果组数没有达到组的限制,那么信令比特等于1,将该组拆分为两个;如果 组数达到组的限制,没有组被进ー步拆分。在另一方面,一种编程在设备中的控制器中的系统,包括分割模块,用于将图像的ー个块分割为多个组;编码模块,用于对所述组进行编码,包括生成用于每个组的信令比特和ー组细化比特,其中ー组信令比特在所述细化比特之前被发送;以及发送模块,用于发送经编码的比特流。当这些组的ー个组包括任何相异的像素时,信令比特为I。使用并行处理对每ー组进行编码和解码。设备是从包括以下设备的组中选择的个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持式计算机、个人数字助理、蜂窝/移动电话机、智能电器、游戏机、数码照相机、数字摄像机、照相手机、iPod /iPhone、视频播放器、DVD刻录机/播放机、蓝光 刻录机/播放机、电视机、家庭娱乐系统。


图I图示依据ー些实施例的标准比特流排序和改进的比特流排序的示图。图2图示依据ー些实施例对标准排序的比特流和改进排序的比特流进行解码的示图。图3图示依据ー些实施例使用标准比特流排序的组,信令比特以及细化比特的示图。图4图示依据ー些实施例使用改进的比特流排序的组,信令比特,细化比特以及前导比特的示图。图5图示依据ー些实施例的一种编码方法的流程图。图6图示依据ー些实施例的一种解码方法的流程图。图7图示依据ー些实施例的被配置为实现改进的编码方法的示例性计算设备的框图。
具体实施例方式为了通过无线信道发送高清视频内容,嵌入式图像编码(EGC)或者EGC的变行对高清视频内容进行压缩以提高频带效率。在EGC中,将视频帧划分为多个块,并且具有相同值的每一块的像素被分组在ー起。从最高有效比特(MSB)开始并且向最低有效比特(LSB)移动,编码器处理在比特平面中的全部组。为了加速EGC的编码,使用比特流重排序。在该重排序中,首先发送全部组的信令比特,并且接着跟随每一组的细化比持。利用重排序每一组的并行处理是可能的。对于解码,知道细化比特的位置是重要的。在原始EGC中,因为如果一个组太小那么该组有时不具有“ Split_gr0Up”(拆分_组)比特,或者组的数目达到了与定义的限制,在一些实施例中,将允许的组的最大数目设置为永远不能达到该限制。为了解决该问题,“eaCh_member”(每一 _成员)信令取代了姆ー组的“split_group”比特。each_member与ー个组的细化比特的数目有明确关系(例如,当each_member = O,仅存在I细化比特,否则细化比特的数目等于组成员的数目),不管该组是否要将被拆分。通过使用eachjnember信令和其它条件(例如,如果已经达到了最大组数)来做出“拆分或者不拆分”判定。在一些实施例中,在编码比特平面之前检查组数是否达到预确定的限制。如果是的话,不发送每一成员信令并且使用原始比特来细化全部组的成员。图I图示依据ー些实施例的标准比特流排序100以及改进的比特流排序200的示图。在标准比特流排序100中,对每ー组以对信令比特102进行编码并且接着对该组的细化比特104进行编码的顺序进行编码,其中每ー组包括信令比特102和细化比特(ー个或者多个)104。在对该组的最后ー个细化比特进行编码之后,序列接着进行到下一组的信令比特。在改进的比特流排序120中,将信令比特102组合作为比特流的头部。针对细化比特从ー组走到另ー组的编码顺序包括首先是信令比特102,然后是细化比特104。、图2图示依据ー些实施例的对标准排序的比特流100和改进排序的比特流120进行解码的示图。改进的比特流100使能并行处理器。然而,为了对第一组的细化比特104进行解码,例如,应当知道“头部”长度。因此,还应当知道信令比特102的数目。然而,有时ー个组不具有信令比特102。例如,当该组太小以至于不能拆分时,它不具有信令比特102。然而,解码器知道哪个组小。同样,当存在太多组时,一些组可以不具有信令比特102。例如,在图3中,在对当前比特平面进行编码时,存在5组。组2、3和4被拆分,这导致了总共有8个组。如果允许的组的最大数目是8,那么组5不能被拆分,这意味着不存在针对组5的信令比持。解码器不知道组5是没有被拆分的,除非该解码器对在信令比特中的I进行计数。一个解决方案是令最大组数等于最大可能的组数(例如对于ー个8X8块为64),以使得太多组的条件永远不会变为真。在图4中示出另ー解决方案。在一些实施例中,为组5发送前导比特106 (或者信令比特)。前导比特106具有与“拆分比持”不同的意义。然而,使用前导比特106可以提前知道细化比特的偏移。当对ー个组进行解码时,解码器使用两个ニ进制变量来正确地处理该组split_group (真意味着将该组拆分为两个)以及each_member(真意味着在组中的姆ー个成员具有细化比持)。在两个变量之间存在强相关;因此,解码器仅发送它们的ー个并且解码器取得另外一个。在一些实现中,发送split_group,并且从split_group取得each_member。然而,在一些实施例中,发送each_member,接着从each_member取得split_group。表I和表II解释了在标准实现和改进的实现之间的比较。
权利要求
1.一种编程在设备中的控制器中的编码方法,包括 a.生成用于图像块的比特平面的组的信令比持; b.生成用于每个组的细化比持;以及 c.组合所述信令比特以形成比特流的头部。
2.根据权利要求I所述的方法,还包括将图像划分为块,并且将所述块分割成组。
3.根据权利要求I所述的方法,其中,当所述组的ー个组包括任何相异的像素时,所述信令比特被设置为I。
4.根据权利要求I所述的方法,其中,所述信令比特在所述细化比特之前被发送。
5.根据权利要求4所述的方法,其中,利用并行处理对每个组的所述细化比特进行解码。
6.根据权利要求I所述的方法,其中,所述设备是从包括以下设备的组中选择的个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持式计算机、个人数字助理、蜂窝/移动电话机、智能电器、游戏机、数码照相机、数字摄像机、照相手机、iPod /iPhone、视频播放器、DVD刻录机/播放机、蓝光 刻录机/播放机、电视机、家庭娱乐系统。
7.一种编程在设备中的控制器中的解码方法,包括 a.接收包括信令比特和细化比特的被编码的比特平面; b.针对所述比特平面内的每个组确定所述细化比特的数量;以及 c.利用所述细化比特的数目来执行所述比特平面的并行解码。
8.根据权利要求7所述的方法,其中,可允许的组的最大数目被设置为组的总数。
9.根据权利要求7所述的方法,其中,利用头部比特来确定每个组的所述细化比特的数量。
10.根据权利要求7所述的方法,还包括在对所述比特平面进行解码之前确定组的数目是否达到组的限制,其中如果组的数目达到了组的限制,则所有的组被指示为具有原始细化比持,并且不发送所述信令比持。
11.根据权利要求7所述的方法,其中,所述设备是从包括以下设备的组中选择的个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持式计算机、个人数字助理、蜂窝/移动电话机、智能电器、游戏机、数码照相机、数字摄像机、照相手机、iPod /iPhone、视频播放器、DVD刻录机/播放机、蓝光 刻录机/播放机、电视机、家庭娱乐系统。
12.—种编码器设备,包括 a.用于存储应用的存储器,所述应用用干 i.生成用于比特平面内的组的信令比持; ii.生成用于每个组的细化比持;以及 iii.组合所述信令比特以形成比特平面的头部;以及 b.耦合到所述存储器的处理组件,所述处理组件被配置用于处理所述应用。
13.根据权利要求12所述的编码器设备,其中,当所述组的ー个组包括任何相异的像素时,所述信令比特被设置为I。
14.根据权利要求12所述的编码器设备,其中,所述应用还用于在所述细化比特之前发送所述信令比持。
15.根据权利要求12所述的编码器设备,其中,每个组是利用并行处理被编码和解码的。
16.一种解码器设备,包括 a.用于存储应用的存储器,所述应用用干 i.接收包括信令比特和细化比特的被编码的比特平面; ii.针对所述比特平面内的每个组确定细化比特的数量;以及 iii.利用每个组的细化比特的数目来对在比特平面内的组并行进行编码;以及 b.耦合到所述存储器的处理组件,所述处理组件被配置用于处理所述应用。
17.根据权利要求16所述的解码器设备,其中,可允许的组的最大数目被设置为组的总数。
18.根据权利要求16所述的解码器设备,其中,头部比特被用于确定每个组的所述细化比特的数量。
19.根据权利要求16所述的解码器设备,所述应用还用于在对所述比特平面进行解码之前确定组的数目是否达到组的限制,其中如果组的数目达到了组的限制,则所有的组被指示为具有原始细化比持,并且不发送所述信令比持。
20.根据权利要求16所述的解码器设备,所述应用还用于确定组的数目是否达到组的限制,其中如果组的数目没有达到组的限制,则信令比特等于1,所述组被拆分为两个;如果组的数目达到了组的限制,则没有组被进ー步拆分。
21.一种编程在设备中的控制器中的系统,包括 a.分割模块,用于将图像的ー个块分割为多个组; b.编码模块,用于对所述组进行编码,包括生成用于每个组的信令比特和ー组细化比特,其中ー组信令比特在所述细化比特之前被发送;以及 c.发送模块,用于发送经编码的比特流。
22.根据权利要求21所述的系统,其中,当所述组的ー个组包括任何相异的像素时,所述信令比特为I.
23.根据权利要求21所述的系统,其中,每个组是利用并行处理被编码和解码的。
24.根据权利要求21所述的系统,其中,所述设备是从包括以下设备的组中选择的个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持式计算机、个人数字助理、蜂窝/移动电话机、智能电器、游戏机、数码照相机、数字摄像机、照相手机、iPod /iPhone、视频播放器、DVD刻录机/播放机、蓝光 刻录机/播放机、电视机、家庭娱乐系统。
全文摘要
比特流的重排序可以被用于加速在嵌入式图形编码中的编码。在该重排序中,发送全部组的信令比特,并且接着跟随每一组的细化比特。利用重排序,解码器可以对头部进行解码,识别每一组的细化比特的数目,并且定位在比特流内的每一组的起点,因此在解码器侧可以实现每一组的并行处理。
文档编号H04N7/26GK102668560SQ201080052556
公开日2012年9月12日 申请日期2010年11月22日 优先权日2009年12月3日
发明者刘伟, 穆罕默德·格哈拉维-阿尔克汉萨利 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1