首页> 中国专利> 图像或视频系统中的图像帧的压缩、解压缩方法

图像或视频系统中的图像帧的压缩、解压缩方法

摘要

本发明提供一种压缩图像或视频系统中的图像帧的方法,包含接收图像帧;将图像帧分割为多个切片,其中多个切片包含第一切片和第二切片;将多个切片的每个切片分割为多个分区;为每个切片编码每个分区,以生成每个切片的每个分区的比特流,其中对第一切片的编码开始于对第二切片的编码之前,且第二切片的至少一个分区编码于第一片段的最后一个分区编码之前;在一个或多个流缓冲器中储存与来自多个切片的多个分区关联的比特流,其中与来自每个切片的多个分区关联的比特流包装于片段,其中每个片段具有固定大小;以及提供交错片段。通过以上方案可以有效地减小缓冲器尺寸以及延迟。

著录项

  • 公开/公告号CN104754407A

    专利类型发明专利

  • 公开/公告日2015-07-01

    原文格式PDF

  • 申请/专利权人 联发科技股份有限公司;

    申请/专利号CN201410775552.X

  • 发明设计人 周汉良;李坤傧;

    申请日2014-12-15

  • 分类号H04N21/4405(20110101);H04N21/2343(20110101);H04N21/845(20110101);

  • 代理机构11111 北京万慧达知识产权代理有限公司;

  • 代理人张金芝;杨颖

  • 地址 中国台湾新竹科学工业园区新竹市笃行一路一号

  • 入库时间 2023-12-18 09:43:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-30

    授权

    授权

  • 2015-07-29

    实质审查的生效 IPC(主分类):H04N21/4405 申请日:20141215

    实质审查的生效

  • 2015-07-01

    公开

    公开

说明书

【技术领域】

本发明涉及图像数据处理。特别地,本发明涉及图像或视频系统中的图像 帧的压缩、解压缩方法。

【背景技术】

随着图像处理技术的发展,图像显示从较低的清晰度改进到较高的清晰度。 随着清晰度的改进,被传送的数据的量显著地增加,例如,从1280x720到 1920x1088或2560x1600。当显示控制器(Display Controller,DC)以固定比率从 帧缓冲器读出像素时,传送带宽以及功耗的要求显著地增加以显示高清晰度图 像。另一方面,帧缓冲器尺寸的要求随着图像大小的增长而增加。因此,帧缓 冲压缩(Frame Buffer Compression,FBC)是用于图像编码和传送的趋势。通过 帧缓冲压缩,发送缓冲器(TX)和接收缓冲器(RX)之间的传送带宽可减小。 此外,RX装置内的帧缓冲器尺寸还可由帧缓冲压缩减小。

用于帧缓冲压缩的算法是关于图像帧的分割方法。为了增强大尺寸图像的 通过量,图像帧通常分成多个切片(slice)用于编码。图像帧可以分割为垂直切 片、水平切片或交错切片。

图1A图示将图像帧分割为垂直切片的示例。帧110分成对应于切片0和切片1 的两个垂直片(tile)。此类型分割在本公开中称为垂直分割。图1B图示水平分 割的示例。帧120分成对应于切片0和切片1的两个水平片。此类型分割在本公开 中称为水平分割。当图像帧分成交错切片时,每个切片包含多个单元,多个单 元与其它单个切片或多个切片的单元垂直地或水平地交错。图1C图示交错分割 的示例。帧130分成交错切片0和切片1。切片0的多个单元与切片1的多个单元交 错。在基于交错分割的方法中,编码器和解码器遵循相同的交错算法。

在现有的方法中,无论垂直或水平分割,编码器将图像帧的每个切片压缩 以生成比特流。来自每个切片的比特流以从第一切片到最后切片的顺序包装, 或来自多个切片的比特流以交错片段(segment)的方式包装。

在非交错流的情况下,比特流以从第一切片到最后切片的顺序接收,且在 之前切片的流接收完成之前,不接收当前切片的流。不论图像帧通过垂直或水 平分割以分割为多个切片,图像帧的多个切片应该一个接一个的解码。因此, 下一切片的解码开始于当前切片完成之后。因此,由于不增加帧缓冲器尺寸, 多个切片不能由多个核心解码器并行解码,所以限制了通过量。在非交错流中, 要求较大帧缓冲器尺寸,用于并行解码多个切片以获得高通过量。

由于成本与帧缓冲器关联,避免用于并行解码多个切片的大帧缓冲器尺寸 是非常重要的。因此,优选将来自多个切片的比特流包装为交错片段。图2A图 示从压缩分成切片0和切片1的图像帧生成的流的示例。压缩器将图像帧编码以 生成切片0流和切片1流。两个流缓冲为固定大小的分组(packet),以形成交错 片段,其中每个分组储存一个片段。在现有的方法中,一个或多个流缓冲器用 于储存完整的切片0流和切片1流,如图2A所示。如果期望交错流,则切片0流和 切片1流进一步分割为更小的切片0片段和切片1片段。切片0片段和切片1片段然 后交错以形成所希望的交错流。

在交错片段中,一个切片流的至少一个片段插入到另一切片流。图2B到2D 显示了将流包装于交错片段的三个示例。每个固定大小的分组包含切片0流的一 个片段或切片1流的一个片段。在图2B示出的示例中,一个切片的每个片段与另 一切片的一个或两个片段交错。如图2B所示,分组212储存切片1的一个片段, 此片段与储存于分组211和213的切片0的两个片段交错。在图2C示出的示例中, 缓冲器储存一个切片的一个或两个片段,以及然后在后续的分组缓冲另一切片 的一个或两个片段。所有分组(例如,分组221和222)具有固定的大小。缓冲 器还可以如图2D所示的另一样式储存数据流。第一固定大小分组储存切片0流的 一个片段,以及最后固定大小的分组保存切片0流的最后片段。在其它固定大小 的分组中,每对分组用于为切片0或切片1储存两个片段。如图2D所示,分组231 储存切片0的一个片段。分组232和233用于保存切片1的两个片段。下一两个分 组用切片0的片段来填充。

在每个切片中,图像数据通常以循序扫描(raster scan)的方式逐行或逐块 地处理。在切片0和切片1流包装于交错片段的情况下,流数据以切片0流的片段 与切片1流的片段交错的方式来接收。当图像帧分割为水平切片(即,水平分割) 时,多个水平切片可由多个解压缩器并行解码。在此情况下,对于图像帧的每 条扫描线或块的每行,多个解压缩器可用于解码。然而,对于解码基于垂直分 割的每条扫描线,仅仅一个解压缩器可使用,因为切片1的处理直到切片0完成 才开始。因此,在每条扫描线上优选采用水平分割以便提供更高解码通过量。 此外,可能要求较大的重建缓冲器用于垂直分割,因为切片1重建的数据不立刻 显示。

在现有的基于水平分割的视频切片编码中,编码器将完全地编码一个切片, 以及然后开始处理下一切片。图像帧逐片地被编码,且在每个切片中,编码块 逐行地压缩。图3图示现有的基于水平分割的视频切片编码顺序。图像帧是基于 16个块ai,j来编码,其中i表示行数以及j表示列数。16个块分割为两片,即,切片 0和切片1。切片0的编码从块a0,0开始且遵循切片0中箭头显示的顺序。在切片0 结束后,编码器遵循切片1中箭头图示的顺序从块a0,2到编码块a3,3处理切片1。片 段编码顺序不同于显示接口的固有顺序。

然而,水平切片的基于片的编码顺序不同于显示接口的固有顺序。在解码 器侧,重建的图像帧在整个帧中逐行地显示。图4图示显示顺序的示例。重建的 块以箭头显示的顺序来显示。由于传递到解压缩器侧的交错片段的要求,切片0 流将完全缓冲直到切片0中的所有像素由编码器压缩。因此,流缓冲器必须足够 大以储存整个切片0的流。

因此,期望开发帧缓冲压缩以便在没有显著地影响下减小流缓冲器尺寸和/ 或延迟。

【发明内容】

有鉴于此,本发明特提供以下技术方案:

本发明提供一种压缩图像或视频系统中的图像帧的方法,包含接收图像帧; 将图像帧分割为多个切片,其中多个切片包含第一切片和第二切片;将多个切 片的每个切片分割为多个分区;为每个切片编码每个分区,以生成每个切片的 每个分区的比特流,其中对第一切片的编码开始于对第二切片的编码之前,且 第二切片的至少一个分区编码于第一片段的最后一个分区编码之前;在一个或 多个流缓冲器中储存与来自多个切片的多个分区关联的比特流,其中与来自每 个切片的多个分区关联的比特流包装于片段,其中每个片段具有固定大小;以 及提供交错片段。

本发明还提供一种压缩图像或视频系统中图像帧的方法,包含接收图像帧; 将图像帧分割为多个切片,其中多个切片包含第一切片和第二切片;编码当前 切片中的处理单元,以生成与当前切片的处理单元关联的比特流,其中处理单 元小于切片大小,且编码基于关于与多个切片关联的编码状态的信息切换到另 一切片;在一个或多个流缓冲器中储存与当前切片的处理单元关联的比特流, 其中每个切片的比特流包装于片段,其中每个片段具有固定大小;以及提供交 错片段。

本发明还提供一种解压缩图像或视频系统中的图像帧的方法,图像帧分割 为多个切片,多个切片包含第一切片和第二切片,以及每个切片分成多个分区 用于解码,方法包含接收与图像帧关联的比特流,其中比特流包含多个切片的 交错的多个片段,且每个片段具有固定大小;通过将每个交错的片段派遣到用 于每个切片的一个或多个流缓冲器,以解交错多个交错的片段;为每个切片解 码一个或多个对应流缓冲器中的比特流,以为每个切片生成解码后的分区,其 中用于第一切片的解码开始于用于第二切片的解码之前,以及第二切片的至少 一个解码后的分区在第一切片中的最后一个解码后的分区之前生成;以及为图 像帧提供解码后的分区。

本发明还提供一种解压缩图像或视频系统中的图像帧的方法,图像帧分割 为多个切片,多个切片包含第一切片和第二切片,方法包含接收与图像帧关联 的比特流,其中比特流包含多个切片的交错的多个片段,且每个片段具有固定 大小;通过将每个交错的片段派遣到用于每个切片的一个或多个流缓冲器,以 解交错多个交错的片段;解码对应于用于当前切片的一个或多个对应流缓冲器 中的比特流,以生成当前切片中的解码后的单元,其中解码后的单元小于切片 大小,且其中基于与多个切片关联的解码状态的信息,解码切换到另一切片; 以及为图像帧提供解码后的单元,其中第二切片的至少一个解码后的单元在第 一切片的第一解码后的单元之后以及在第一切片的最后解码后的单元之前提 供。

通过以上方案可以有效地减小缓冲器尺寸以及延迟。

【附图说明】

图1A图示图像帧的示范性垂直分区。

图1B图示图像帧的示范性水平分区。

图1C图示图像帧的示范性交错分区。

图2A图示通过压缩图像帧的两个切片生成的比特流的示例。

图2B图示图像帧的编码后的比特流的交错片段的示例。

图2C图示图像帧的编码后的比特流的交错片段的示例。

图2D图示图像帧的编码后的比特流的交错片段的另一示例。

图3图示分割为水平切片的图像帧的现有的视频切片编码顺序的示例。

图4图示显示界面中的显示顺序的示例。

图5A图示根据本发明的一个实施例的压缩图像帧的多个切片的示范性流程 图。

图5B图示根据本发明的一个实施例的解压缩图像帧的多个切片的示范性流 程图。

图6A图示根据本发明的一个实施例的压缩图像帧的多个切片的示例。

图6B图示根据本发明的一个实施例的解压缩图像帧的多个切片的示例。

图7图示根据本发明的一个实施例的压缩图像帧的多个切片的另一示例。

图8A图示根据本发明的另一个实施例的压缩图像帧的多个切片的示范性流 程图。

图8B图示根据本发明的另一个实施例的解压缩图像帧的多个切片的示范性 流程图。

图9A图示根据本发明的一个实施例的用一个压缩器压缩两个切片的示例。

图9B图示根据本发明的一个实施例的使用解压缩器来解压缩两个切片的示 例。

图10图示根据本发明的一个实施例的压缩图像帧的多个切片的示例帧。

图11图示根据本发明的一个实施例的压缩图像帧的多个切片的另一示例。

【具体实施方式】

在本发明中,已开发编码或解码图像帧的方法用于图像或视频系统的帧缓 冲压缩。即将处理的图像帧可以垂直地、水平地或垂直和水平地分割为多个切 片。多个切片包含至少两个切片。为了描述,这两个切片在本发明中称为切片0 和切片1,且切片0的编码在切片1的编码前开始。切片0和切片1是图像帧中的任 何两个切片。切片0的解码可在切片1的解码之前或之后开始。多个切片的每个 是包含两个或更多像素的矩形的像素组。根据本发明,与现有的基于水平分割 或交错分割的编码方法相比,帧缓冲器、重建缓冲器、流缓冲器和/或延迟可减 少。

为了减小编码器中的流缓冲器尺寸或减小解码器中的重建缓冲器的大小, 根据本发明,编码器在切换到切片1之前仅仅压缩切片0的一个部分。解码器还 可在切换到另一切片之前仅仅解压缩一个切片的部分数据。因此,切片0的对应 流缓冲器或帧缓冲器设计为用于储存切片0的仅仅部分数据。当切片0的解码在 切片1的解码之前开始时,重建缓冲器可储存切片1的部分重建的数据以便并行 解码这两个切片。因此,根据本发明的帧缓冲器压缩方法,可在编码器上减小 流缓冲器尺寸以及在解码器上减小重建缓冲器的大小。

为了减少压缩器成本,一个模块可用于编码两个或者更多切片。类似地, 一个模块可用于解码图像帧中的两个或者更多切片。因此,编码器或解码器模 块的数量可以小于图像帧中多个切片的数量。当具有先进制程(例如28nm)的 应用处理器的时钟频率足够高时,单个核心压缩器可用于编码图像帧的两个或 者更多切片。因此,压缩器成本可通过使用单个核心压缩器来节省。在解码器 侧,也可能使用单核解码器以解码两个或者更多切片。在另一实施例中,然而, 编码器或解码器模块的数量可以大于图像帧中的多个切片的数量。

根据本发明,用于两个或者更多切片的编码过程可以由多核压缩器并行处 理,以便可以改善编码或解码通过量。例如,切片0和切片1由多核压缩器压缩。 在编码切片0的第一部分后,在切片0上执行的处理步骤可以与在切片1上执行的 过程并行执行。处理步骤可对应于压缩每个部分、将编码后的比特流缓冲和包 装为片段以及传递这些片段。在解码侧,两个切片的解码还可并行执行。在为 图像帧解码第一部分后,在切片0和切片1上执行的后续处理步骤可以并行执行。

在本发明中,多个切片编码后的比特流交错并包装于固定大小的分组,以 生成交错片段。在交错片段中,一个切片的至少一个片段插入到另一切片流中。 图像帧中任何切片的一个片段可以作为交错片段的第一片段。对于分割为切片0 和切片1的图像帧,切片0和切片1的片段可以以任何交错顺序来设置,例如,显 示于图2B、2C或2D中的顺序。

用于每个处理单元的比特流储存于对应切片的一个或多个分组。当当前处 理单元的比特流超出一个或多个分组,超出的部分包装于当前切片的后续分组。 当前切片的后续处理单元的比特流包装于当前处理单元的超出的部分之后。

根据本发明的第一实施例,每个切片分割为多个分区。图像帧的编码是基 于这些分区的。每个分区可以小于、等于或大于每个切片中压缩块的一行。两 个或者更多切片可以由一个编码器模块压缩。多个切片的解压缩还可由一个解 码器模块执行。

图5A图示并入本发明的实施例的用于编码器的示范性流程图。在步骤510 中接收图像帧后,在步骤520图像帧分割为多个切片。多个切片包含切片0和切 片1。在本实施例中,每个切片进一步分割为多个分区用于在步骤525的压缩。 每个分区包含一个或多个压缩块。每个压缩块是由一个或多个像素组成的矩形 的像素组。

在步骤530,编码器为每个切片编码每个分区以生成比特流。切片0的编码 开始于切片1的编码之前,且切片1的至少一个分区在切片0的最后一个分区之前 编码。暂时存储区(Temporal storage)用于保存多个切片的内部编码信息。在 步骤540,来自多个切片的多个分区的比特流缓冲并包装于固定大小的分组。一 个或多个流缓冲器可用于储存比特流。为了减小流缓冲器尺寸,小于一个切片 的所有比特流可以储存于对应一个流缓冲器或多个流缓冲器。例如,切片0的一 个比特流和切片1的一个比特流储存于一个流缓冲器。在步骤550中提供包装于 交错片段的比特流。

图5B图示用显示于图5A中的方法编码的多个切片的示范性解码流程图。在 步骤560,接收从编码侧传递的交错片段。在步骤570,解交错多个片段,且每 个片段派遣到用于对应切片的一个或多个对应流缓冲器。在步骤580,解码器解 码对应流缓冲器中的比特流,以为每个切片生成解码后的分区。切片0的解码开 始于切片1的解码之前,且切片1的至少一个片段是在切片0的最后一个片段之前 生成的。解码器可使用单个核心解压缩器以解码图像帧的两个或者更多切片。 解码器模块的数量可以少于图像帧的多个切片的数量。在步骤590提供或显示用 于图像帧的解码后的分区。

图6A图示第一实施例的示例。在此示例中,压缩器遵循展示的循序扫描顺 序来处理图像帧的多个切片。因此,编码顺序与显示顺序相同。图像帧的每个 切片分割为编码块(或压缩块)行。图像帧610水平地分割为切片0和切片1。每 个切片以每个分区对应于压缩块的一行进一步分割为多行。每个压缩块可以是 一维或二维的矩形的像素组,像素组包含一个或多个像素。切片0的行由R0,0到 R0,n-1表示,以及切片1的行由R1,0到R1,n-1表示,其中n是大于2的数。编码器压缩 一个切片的一行,然后由压缩器620压缩另一切片的一行。如显示于图6A中的箭 头所示,压缩器620逐行编码图像帧。切片0和切片1的内部编码信息使用暂时存 储区来保持。

切片0和切片1的每行的压缩所生成的比特流称为R0,0流到R1,n-1流。切片0和 切片1的比特流传递到流包装单元630以形成交错片段640。图像帧的相同行中的 切片0的一个比特流和切片1的一个比特流可以传递并包装在一起。例如,R0,0流 到R1,0流一起传递到流包装单元630。然后,流包装单元630将R0,0流到R1,0流的交 错片段提供到解码器。每个固定大小的分组用于包含切片0的一个片段或切片1 的一个片段。切片0的片段与切片1的片段交错。如图6A所示,分组641储存切片 0的一个片段,分组642包含切片1的一个片段。在图6A示出的示例中,用于切片 0的流缓冲器储存一行或多行的流而不是整个片段。交错片段的传递可以在切片 0结束之前执行。因此,与在编码切片1之前编码整个切片0相比,可以减小流缓 冲器尺寸的要求和传送带宽。

图6B显示用一个解压缩器解码交错片段640的示例。切片1的解码开始于解 压缩数据以形成切片0的一个解码行之后。因此,与在解码切片0的所有数据后 再解码切片1相比,解码通过量可改善。交错片段640是由流解包装单元650接收 并解交错。每个片段派遣到用于切片0或切片1的对应流缓冲器。如图6B所示, 切片0的片段储存于切片0流缓冲器661,以及切片1的片段储存于切片1流缓冲器 662。因为,仅仅一个解压缩器670用于解码两个切片,解压缩器670在这两个流 缓冲器之间切换以为对应片段获取比特流。

显示于图6B中的解压缩顺序类似于压缩顺序。如由解码的图像帧680中的箭 头所显示的,解压缩器670逐行地解码比特流,并提供重建的数据。暂时存储区 用于保存切片0和切片1的内部解码信息。

根据第一实施例的另一示例,图像帧的每个切片分割为多个条(strip)。每 个条包含小于一行的一个或多个压缩块。每个条中的压缩块的数量可以基于帧 缓冲器尺寸或可能会使用的传送带宽来确定。编码器压缩切片0的一个或多个条 以为切片0生成比特流。然后,编码器切换到编码切片1。因此,帧缓冲器可仅 仅储存切片0中一行的部分数据。

图7图示基于条的编码的示例。图像帧710的两个切片的每个分割为n+6(n 是不小于零的数)个条。每个条表示为Si,其中条号码i是从0到n+5。切片0或切 片1的每行分割为三个条。每个条的压缩块的数量可以相同。单个压缩器720用 于压缩切片0和切片1。编码器可压缩一个切片的一个条,然后由压缩器720切换 到另一切片。例如,每个条的编码遵循显示于图7的从0到n+5的条号码。编码器 可在由压缩器720切换到另一切片之前压缩一个切片的两个条。例如,压缩器720 压缩切片0中的条0和2,然后压缩切片1中的条1和3。

压缩器720编码条Si以生成Si流。切片0和切片1的内部编码信息保持于暂时 存储区。条的流由流包装单元730包装于固定大小的分组。每个固定大小的分组 包含切片0或切片1的一个固定大小的条。如图7所示,分组741包含切片0的一条, 以及分组742包含切片1的一条。来自切片0和切片1的条由流包装单元730交错, 用于传递到解码器。

解码器可以相同的编码顺序解压缩交错片段740。当一个解压缩器用于解码 切片0和切片1时,解码器为一个切片解压缩一条或多条,然后切换到为另一切 片解压缩一条或多条。除了解码是基于条以外,解码流程可类似于显示于图6B 中的解码流程。因此,每个流缓冲器的大小设计为保存足够的数据用于重建对 应切片中的一条或多条。

根据本发明的第二实施例,编码系统基于关于与多个切片关联的编码状态 的信息,编码一个切片的一个部分,以及切换到编码另一切片。图像帧也分割 为包含切片0和切片1的多个切片。当一个编码器模块用于编码切片0和切片1时, 切片0的编码开始于切片1的编码之前。信息可以是预定义的比特流大小、储存 于用于当前切片的对应流缓冲器的数据的数量、对应流缓冲器的充满状态、图 像帧中当前电流编码位置、处理单元中数据的数量或以上组合。

如果处理单元中数据的数量可用于确定切换操作,则压缩器可压缩预定义 的数量的数据并切换到另一切片。例如,当压缩当前切片中的2.5行时,编码器 切换到另一切片。切换操作可以根据图像帧中的当前位置来确定。

当图像帧中的当前编码位置用作确定信息时,编码操作在当前切片的一个 预定义的位置切换。例如,用于切片0的预定义的位置是第三行的末端,以及用 于切片1的预定义的位置是第二压缩块行的中间。当检测到当前位置是切片0中 第三压缩块行的末端时,压缩器切换以处理切片1。在压缩数据到切片1中的第 二行的中间时,压缩器切换回到切片0。

在第二实施例中,流缓冲器是编码系统中的本地存储。每个流缓冲器的大 小可变,且设计为用于储存对应切片的一个或多个处理单元。根据本发明,没 有流缓冲器用于缓冲完整图像帧或一个完整切片。每个流缓冲器的充满状态可 用于确定编码或解码的切换操作。例如,当流缓冲器充满或所缓冲的流超过用 于当前切片的阈值时,压缩器切换到另一切片。

在第二实施例中,不要求将每个切片分成多个分区。编码器压缩当前切片 的一个处理单元,然后切换以压缩另一切片。每个处理单元可由一个或多个编 码块(或压缩块)组成。切片1的编码在第一处理单元的编码后以及在切片0的 最后的处理单元之前开始。切片0中的每个处理单元小于整个切片。在编码期间, 在切换到压缩另一切片之前,编码器可压缩一个切片中小于或多于一行。

类似地,基于关于与多个切片关联的解码状态的信息,解码切换到另一切 片。用于确定解码切换操作的信息可以是与当前片段关联的解码后的比特流的 预定义的大小、储存于对应流缓冲器的数据的数量、对应流缓冲器的充满状态、 图像帧中当前解码位置、解码单元中数据的数量中的一个或组合。

图8A图示根据本发明的第二实施例的示范性编码流程图。在步骤810中接收 图像帧后,在步骤820,图像帧分割为多个切片。多个切片包含切片0和切片1。

在步骤830,编码器编码当前切片中的处理单元以生成与处理单元关联的比 特流。编码器可使用一个模块以编码图像帧的两个或者更多切片。因此,编码 器模块的数量可小于图像帧中的切片的数量。每个处理单元可包含一个或多个 压缩块,且可以小于、等于或多于压缩块的一行。每个压缩块是包含一个或多 个像素的矩形的像素组。编码器根据关于与多个切片关联的编码状态的信息切 换到另一切片。应意识到,编码器模块的数量可以大于图像帧中多个切片的数 量。

与多个处理单元关联的比特流在一个或多个对应流缓冲器中缓冲。在步骤 840,每个切片的比特流包装于固定大小的分组。为了减小帧缓冲器尺寸,小于 切片0的所有压缩的数据可以储存于对应流缓冲器或缓冲器。多个切片的比特流 交错包装以形成交错片段。在交错片段中,一个切片的至少一个片段插入到另 一切片流中。在步骤850,提供交错片段用于解码。

图8B图示解压缩由显示于图8A中的方法编码的多个切片的示范性解码方法。 在步骤860,接收多个切片的交错片段。在步骤870,解交错多个片段,且每个 片段派遣到用于对应切片的一个或多个对应流缓冲器。在步骤880,解码器解码 一个或多个对应流缓冲器中的比特流。图像帧中的两个或者更多切片还可基于 解码状态使用单个解压缩器来解码。对于用单个解压缩器解码切片0和切片1, 在解压缩切片1之前,解码器仅仅解压缩切片0的部分数据。更具体地,解码器 模块的数量不等于图像帧中的多个切片的数量。

通过解码储存在用于当前切片的一个或多个对应流缓冲器的片段,生成当 前切片中的解码后的单元。解码后的单元小于切片大小。在步骤890,提供或显 示图像帧的解码后的单元。切片1的至少一个解码后的单元在切片0的第一解码 后的单元之后以及在切片0的最后的解码的单元之前提供。

图9A根据第二实施例图示使用一个压缩器编码图像帧的两个切片的的示范 性流程图。图像帧910水平地分割为切片0和切片1。图像帧910的编码通过使用 单个压缩器920从切片0开始。压缩器动态地在切片0和切片1之间切换直到整个 图像帧都已编码。切换操作基于关于与多个切片关联的编码状态的信息来确定。 切片0中的每个处理单元P0,x-1或切片1中的每个处理单元P1,y-1可以小于、等于或大 于对应切片的一行压缩块。自然数x大于2且可以等于或不等于自然数y。

切片0中的每个处理单元的比特流储存于用于切片0的流缓冲器931,以及切 片1中的每个处理单元的比特流保存于用于切片1的流缓冲器932。每个流缓冲器 的大小可变。这两个切片的比特流通过使用流包装单元940包装于固定大小的分 组以形成交错片段950。如图9A所示,分组951储存切片0的一个片段,以及分组 952包含切片1的一个片段。

图9B图示用一个解压缩器解码交错片段950的示例。交错片段950由流解包 装单元960接收并解交错。切片0的片段派遣到切片0流缓冲器971,以及切片1的 片段派遣到切片1流缓冲器972。在解码系统中,流缓冲器尺寸必须足够大以储 存用于重建一个处理单元的数据。因此,每个流缓冲器的大小应该等于或大于 用于重建一个处理单元的最大比特流大小。解压缩器980根据与这两个切片关联 的解码状态在这两个流缓冲器之间切换。暂时存储区用于保存切片0和切片1的 内部解码信息。解压缩器从切片0流缓冲器971获取比特流用于解码切片0,以及 从切片1流缓冲器接收比特流用于解码切片1。解压缩顺序类似于压缩顺序。解 压缩器980解码数据以重建一个切片中的一个处理单元,以及然后切换以解码另 一切片中的一个处理单元用于图像帧990的重建。

根据第二实施例的一个示例,编码器可以基于预定义的比特流大小切换到 另一切片。每个切片的预定义的阈值可以是一个或多个分组的大小。相同或不 同的预定义的阈值可用于多个切片。当从当前切片中的当前处理单元生成的比 特流等于或大于当前切片的预定义的阈值时,编码器可以切换到另一切片。例 如,预定义的阈值是每个切片一个或多个64比特。在当前切片的当前处理单元 的累积的流等于或大于一个或多个64比特时,压缩器切换以编码另一切片。在 当前处理单元的比特流大小大于一个或多个分组大小时,超出的流包装于当前 切片的后续分组。当前切片的下一处理单元的比特流包装于当前处理单元的比 特流之后。

图10图示基于预定义的比特流大小切换压缩器的示例。切片0的预定义的阈 值是两个分组大小,以及切片1的预定义的阈值是一个分组大小。当处理单元P0,0的处理单元的比特流大小等于或大于切片0的预定义的大小时,压缩器切换以编 码切片1中的处理单元P1,0

在此示例中,处理单元P0,0的比特流大于两个分组大小并小于三个分组大小。 因此,处理单元P0,0的比特流储存于分组1051、1053和1055。在分组1055中,部 分1055a包含处理单元P0,0的超出的比特流。因此,切片0中的后续处理单元的比 特流从分组1055的剩余部分开始包装,表示为部分1055b。处理单元P1,0的比特流 大于一个分组大小。类似地,处理单元P1,0的比特流储存于分组1052,且超出的 部分储存于分组1054的部分1054a。如图10所示,部分1054b用于储存切片1中的 下一处理单元的比特流。

根据第二实施例,编码的切换操作可以仅仅基于预定义的比特流大小或与 其它信息一起来确定。当切换操作仅仅基于预定义的比特流大小来确定时,在 处理单元P1,0的比特流到达预定义的阈值后,压缩器切换回切片0。切换操作还可 以基于切片1缓冲的比特流的数量以及切片0的预定义的比特流大小来确定。在 此情况中,压缩器可包含在处理单元P1,0的比特流充满一个分组之后编码切片0。 压缩器可切换到切片1直到分组1054充满。

图11图示基于关于编码状态的两个或者更多信息动态地切换编码器的另一 示例。单个压缩器用于编码切片0和切片1。如由图11中的箭头所示,压缩器在 切换到切片1之前编码切片0中的n行。在压缩切片1中的m行之后,编码器切换回 切片0。数字n或m是大于一的整数或非整数。

本发明揭露的方法可由帧数据编码器/解码器在显示接口上使用,例如,移 动产业显示串行接口(Mobile Industry Display Serial Interface,MIPI-DSI)或移 动产业照相机串行接口(Mobile Industry Camera Serial Interface,MIPI-CSI)或 嵌入显示端口(embedded Display Port,eDP)等。呈现以上描述以使本领域的 普通技术人员能如在特定应用和其要求的上下文提供的那样来实践本发明。对 所描述的实施例进行的各种修改对于本领域中的技术人员是明显的,且本文定 义的一般原理可以应用到其它实施例。因此,本发明不限制于所显示和描述的 特定实施例,但与符合本文揭露的原理和新颖的特征的最广的范围一致。在以 上详细描述中,说明各种具体细节以便提供对本发明的全面的理解。然而,本 领域技术人员将理解本发明可以实践。

在不背离其精神或基本特性的情况下,本发明可以实施于其它具体形式。 所描述的示例在各个方面被认为仅仅是说明性的且并非限制性的。因此,本发 明的范围,由所附的权利要求而不是由上文的描述来指示。权利要求的等效的 意义和范围内的所有改变包含于其范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号