对数据阵列进行解码 背景技术 [0001] 本文所述技术涉及用于根据已(例如,以压缩格式)编码的数据确定 用于由数据处理系统使用的数据值的方法和装置,并且具体地将,涉及用 于根据已编码图像数据确定用于图形处理的数据值的方法和装置。 [0002] 数据处理系统通常将生成的图像数据存储在帧缓冲区内。帧缓冲区通 常包含例如要显示的帧(图像)的完整数据集合,包括例如该帧内的每个 (例如)像素的颜色值。然后,合适的显示控制器能够读取帧缓冲区的内 容并使用存储在其中的图像数据来驱动显示器以显示期望的帧(图像)。 [0003] 然而,图像数据在帧缓冲区中的存储和访问(“帧缓冲区数据”)可 对例如数据处理系统的存储和/或带宽资源提出相对高的需求(或相反地, 在不满足此类需求时导致性能降低)。 [0004] 为了减少施加在数据处理系统上的负担,因此希望能够以“压缩”格 式存储此类帧缓冲区数据。这在例如便携式设备(其中处理资源和功率可 能比较有限)诸如数字相机或包括此类相机的移动设备(例如,智能电 话、平板电脑、HMD(头戴式显示器)等)的数据处理装置中是特别需要 的。 [0005] 类似的考虑适用于期望减少存储和/或传输某条信息所需的数据量的各 种其他情况。 [0006] 同样在图形处理的上下文中,另一个示例将是当存储纹理数据时,例 如以纹理元素(或“纹素”)阵列的形式存储纹理数据,每个纹理元素表 示给定纹理数据(诸如颜色、亮度等值),然后可将给定纹理数据映射到 所生成的渲染输出的相应采样位置(像素)上。同样,该纹理数据的存储 和访问可对数据处理系统提出相对高的存储和/或带宽要求。 [0007] 因此,常见的是对数据元素阵列(诸如图像数据值阵列)进行编码, 以便压缩数据,从而减少带宽和存储器消耗。当数据处理系统随后需要已 经以此类压缩形式存储的此类数据时,则必须在压缩数据可被使用之前对 压缩数据进行解码,例如以便确定原始(即,未压缩)数据值以然后可由 数据处理系统使用的格式的表示。 [0008] 为此,已开发出各种数据压缩方案。一些数据压缩方案以无损方式对 数据进行编码,使得可根据已编码数据完美地重建数据元素的原始阵列。 这对于其中特别重要的是保持数据保真度的应用可能是期望的。 [0009] 然而,对于其他应用,失去某个数据保真度可能是可接受的,并且可 能更期望能够(例如)保证给定带宽(位速率)。因此,其他数据压缩方 案可编码到固定大小的数据分组。 [0010] 在该情况下,成为固定大小的数据分组的压缩本质上是“有损”的, 因为一旦固定大小的数据分组已满,任何剩余位然后就不被包括到数据分 组中,并且这些位因此在此时被有效地丢弃以使得与丢弃位相关联的信息 丢失。这意味着原始数据值不能(一般来讲)根据已编码数据来完美构 建。 [0011] 然而,申请人已经认识到,在对已经使用此类有损压缩方案来编码的 数据进行解码时,仍然可能存在问题,并且因此,针对用于根据数据元素 阵列的编码表示确定数据元素阵列的数据元素的数据值(即用于对数据进 行解码,尤其是已经使用有损压缩方案来编码的数据)的改进布置仍然存 在范围。 附图说明 [0012] 现在将仅以举例的方式并参考附图来描述本文所述的技术的各种实施 方案,其中: [0013] 图1示意性地示出了可在其中实现本文所述技术的实施方案的数据处 理系统的示例; [0014] 图2示意性地示出了可在其中实现本文所述技术的实施方案的解码器 操作; [0015] 图3示出了来自图2的解码器操作中的初始熵解码步骤的输出像素的 示例; [0016] 图4更详细地示出了根据本文所述技术的实施方案的解码器操作; [0017] 图5示出了根据本文所述技术的另一个实施方案的解码器操作; [0018] 图6示出了图5所示的实施方案的对应编码器操作;并且 [0019] 图7示出了根据本文所述技术的实施方案的编码提示可如何存储在数 据元素阵列内。 [0020] 在适当的情况下,类似的附图标号用于附图中的类似元件。 具体实施方式 [0021] 本文所述技术的第一实施方案包括一种用于根据数据元素阵列的编码 表示确定所述数据元素阵列中的数据元素的数据值的方法, [0022] 其中所述数据元素阵列中的每个数据元素与相应一个或多个数据值相 关联,每个数据值由相应位序列表示, [0023] 其中所述数据元素阵列的所述编码表示使用所述数据值的所述相应位 序列的一个或多个位的子集来表示所述数据元素阵列中的所述数据元素中 的至少一些的所述数据值,使得对于那些数据元素,指示所述数据值的所 述相应位序列的一个或多个其他位的位值的数据不存储在所述编码表示 中; [0024] 所述方法包括: [0025] 对所述数据元素阵列的所述编码表示进行解码以确定表示所述数据元 素的所述数据值的初始位序列,其中所述数据元素的所述数据值的所述初 始确定的位序列能够具有与其数据未存储在所述编码表示中的相应一个或 多个位相对应的一个或多个缺失位; [0026] 针对所述数据元素的所述数据值确定哪些位(如果有的话)缺失; [0027] 取决于针对所述数据元素的所述数据值确定哪些位(如果有的话)缺 失,从多个可用调整方案中选择要针对所述数据元素的所述数据值应用的 调整方案;以及[0028] 将所选择的调整方案应用于所述数据元素的所述数据值以获得所述数 据元素的已解码数据值。 [0029] 本文所述技术的第二实施方案包括一种用于根据数据元素阵列的编码 表示确定所述数据元素阵列中的数据元素的数据值的解码器, [0030] 其中所述数据元素阵列中的每个数据元素与相应一个或多个数据值相 关联,每个数据值由相应位序列表示, [0031] 其中所述数据元素阵列的所述编码表示使用所述数据值的所述相应位 序列的一个或多个位的子集来表示所述数据元素阵列中的所述数据元素中 的至少一些的所述数据值,使得对于那些数据元素,指示所述数据值的所 述相应位序列的一个或多个其他位的位值的数据不存储在所述编码表示 中; [0032] 所述解码器包括: [0033] 解码电路,所述解码电路被配置为: [0034] 对所述数据元素阵列的所述编码表示进行解码以确定表示所述数据元 素的所述数据值的初始位序列,其中所述数据元素的所述数据值的所述初 始确定的位序列能够具有与其数据未存储在所述编码表示中的相应一个或 多个位相对应的一个或多个缺失位; [0035] 舍入电路,所述舍入电路被配置为: [0036] 针对所述数据元素的所述数据值确定哪些位(如果有的话)缺失; [0037] 取决于针对所述数据元素的所述数据值确定哪些位(如果有的话)缺 失,从多个可用调整方案中选择要针对所述数据元素的所述数据值应用的 调整方案;以及[0038] 将所选择的调整方案应用于所述数据元素的所述数据值以获得所述数 据元素的已解码数据值。 [0039] 本文所述技术涉及用于根据数据阵列的编码表示确定数据元素阵列 (其可例如包括图像数据阵列)的数据元素的(已解码)数据值的技术。 具体地讲,本文所述技术涉及用于对已经以“有损”方式编码的数据阵列 进行解码的技术,例如使得原始信息中的一些可能已经在编码期间被丢 弃。 [0040] 例如,与数据元素阵列中的数据元素相关联的数据值中的每一者可由 相应位序列限定。然而,有损编码的效果是位序列(中的至少一些)可在 编码过程期间被截断,例如,通过编码器丢弃一个或多个位(例如,并且 在一个实施方案中,对应于一个或多个最低有效位),使得指示丢弃位的 位值的数据不存储在数据阵列的编码表示中。 [0041] 可用于本文所述技术的实施方案中的有损编码方案的一个此类示例是 Arm Limited的国际专利申请公布号WO2020/115471 (PCT/GB2019/053416)中所述的方案,该申请以其整体并入本文。 [0042] 在其中所述的(有损)编码方案中,数据元素块的编码涉及截断块内 数据元素的数据值中的至少一些的位序列表示,使得原始数据值的相应位 序列表示的仅一个或多个位的子集(例如,并且在一个实施方案中,一个 或多个最高有效位的子集)存储在数据块的编码表示中。 [0043] 对应地,这意味着当以这种方式编码的数据阵列随后将被解码时,例 如当数据处理系统希望使用阵列中的元素的数据值时,解码过程不能完美 地重新创建丢弃位的值,并且因此由初始解码产生的已解码数据值可具有 一个或多个“缺失”位。 [0044] 为了尝试根据已经以这种方式(即,以有损方式)编码的数据更好地 再现原始数据值,可应用各种调整(例如,“舍入”插入)方案作为解码 过程的一部分,例如以便填充缺失位,并且这在本文所述技术中完成。因 此,调整(例如,舍入)方案的效果是试图近似来自其数据未存储在编码 表示中的任何“缺失”位的贡献,例如在编码过程期间丢弃的任何位(并 且因此解码器不能重新创建这些缺失位的实际位值)。 [0045] 调整(例如,舍入)方案可例如涉及添加合适的舍入位序列(例如, 在表示数据值的截断位序列的结尾)来代替在编码期间丢弃的至少一些缺 失位。因此,在本文所述技术期间应用的调整方案可包括并且在一个实施 方案中确实包括不同的舍入模式。然而,所使用的调整可根据需要(例 如,取决于编码方案)为或多或少地复杂的。 [0046] 本申请人已经认识到,可能期望在不同的情况下应用不同的调整,例 如,而不是针对待解码的所有数据值使用相同的标准调整方案。在这方 面,申请人已经认识到,尝试针对所有数据值使用标准调整方案可能不一 定是适当的(例如,最佳的),并且此外至少在一些情况下可能导致保真 度损失,如将在下文进一步解释的。 [0047] 因此,在本文所述技术中,解码器可操作以在对数据元素的数据值解 码时从多个可用调整方案中选择将在解码过程期间使用的调整方案。例 如,在一个实施方案中,多个可用调整方案中的每一者与特定调整或调整 集合相关联,该特定调整或调整集合可应用于数据值,例如以确定如何填 充任何缺失位。 [0048] 更具体地讲,本申请人已经认识到,当使用例如上述类型的此类有损 编码和解码技术时,应针对与特定数据元素相关联的数据值应用哪些调整 方案可有利地基于所考虑的数据值的缺失位“模式”来选择。 [0049] 因此,根据本文所述技术,在一个实施方案中,具有特定缺失位“模 式”的至少一些数据值以不同于原本的方式(例如,如果它们具有不同的 缺失位模式)进行调整(例如,舍入)。 [0050] 换句话讲,在本文所述技术中,因此存在多个不同的可用调整方案 (每个调整方案与不同的调整或调整集合相关联),并且哪个调整方案将 用于与特定数据元素相关联的特定数据值或数据值组基于所考虑的数据值 的缺失位来选择。 [0051] 在一个实施方案中,使用反映与相同数据元素相关联的所有数据值的 缺失位的缺失位模式来完成对调整方案的选择。因此,对于与单个数据元 素相关联的数据值组中的特定数据值,在一个实施方案中,要使用的调整 方案基于数据值本身的缺失位以及与相同数据元素相关联的数据值组中的 其他数据值的缺失位来选择。 [0052] 因此,方法可包括针对所考虑的数据元素的数据值确定哪些位(如果 有的话)为缺失的步骤,并且然后取决于该确定来选择要针对数据值应用 的调整方案。 [0053] 例如,在实施方案中,可存在在大多数情况下应用的第一“标准”调 整方案,以及仅在一些情况下(例如,当识别到特定缺失位模式时)应用 的第二“例外”调整方案(如将在下文进一步解释的)。在该情况下,可 将第一调整或调整集合应用于与在使用第一标准调整方案时将被解码的数 据元素相关联的数据值。然而,当要使用第二例外调整方案时,针对与要 解码的数据元素相关联的一个或多个数据值应用与使用第一标准调整方案 时将应用的调整不同的调整。 [0054] 然而,一般来讲,可存在任何数量的可用调整方案,诸如两个、四 个、八个等不同的调整方案,解码器可以能够在对数据元素进行解码时基 于与数据元素相关联的数据值的缺失位来在这些调整方案之间进行选择, 每个调整方案涉及要应用于数据值的相应调整或调整集合。 [0055] 以这种方式,申请人已经发现,可以提供改进的解码操作,例如,其 提供更准确的已解码数据值(即,其更好地匹配原始数据值,特别是在多 个编码/解码循环之后),如下面将进一步解释的。 [0056] 例如,申请人认识到,在此类编码和解码方案中,期望图像质量在多 个编码/解码循环之后将稳定。也就是说,虽然通常由于编码的有损性质而 存在图像质量的初始减小,但图像质量不应随着每个编码/解码循环而继续 劣化。 [0057] 这可能是期望的,例如,出于基准测试编码/解码方案的目的,但也在 使用中是期望的,其中相同数据片可在数据处理系统内重复编码/解码,例 如,其中相同数据片必须在不同处理单元之间传递。这种情况的示例将是 当生成用于显示的图像时,其中相同图像数据片可例如依次由视频处理 器、图形处理单元和显示处理器处理,其中图像数据在每个处理步骤之间 被编码/解码。 [0058] 然而,申请人已经认识到,当使用有损压缩方案时,在解码过程期间 应用的调整方案可能在一些情况下引入有问题行为,其中图像质量在每个 编码/解码循环之后继续劣化。 [0059] 就这一点而言,申请人已发现,可存在特定缺失位模式,这些缺失位 模式可引入此类有问题行为,例如取决于所应用的调整,以及具有任何另 外的任选解码步骤(诸如数据变换等)的调整之间的潜在相互作用,如将 在下文进一步解释的。 [0060] 因此,在一个实施方案中,本文所述技术还认识到例如,解码器可以 确定与要解码的数据元素相关联的缺失位模式,并且由此识别可导致有问 题行为的缺失位模式的任何此类实例。 [0061] 因此,在实施方案中,当解码器识别到数据元素与有问题的缺失位模 式相关联时,数据元素然后可被例外地处理,例如,并且具体地,通过使 用不同的调整方案,使得至少针对与对于其预期发生有问题行为的数据元 素相关联的数据值应用不同调整。因此,当解码器识别到数据元素具有有 问题的缺失位模式时,不是使用解码器将以其他方式用于所考虑的数据值 的标准调整方案(例如,如果存在不同的缺失位模式),而是解码器可使 用应用不同调整的不同例外调整方案,例如,使得有问题行为不会发生。 [0062] 因此,在实施方案中,选择调整方案,该调整方案不一定试图尽可能 准确地再现原始图像(如可为针对解码器的标准启发法的情况那样),而 是旨在确保避免例如如上所述的特定有问题行为。 [0063] 以这种方式,在实施方案中可防止图像质量随着每个编码/解码循环而 不断劣化的问题,以由此提供改进的(例如更稳定的)编码/解码布置。换 句话讲,至少在其实施方案中,本文所述技术可甚至在多个编码/解码循环 之后提供改进的(例如更准确的)解码值。 [0064] 在上述情况下,导致此类有问题行为的缺失位模式通常将取决于解码 方案。 [0065] 例如,在一个示例中,对应于本文所述技术的实施方案,数据元素阵 列表示图像数据阵列,该图像数据阵列以(例如)RGB(A)格式设置,但被 变换成不同的(例如YUV)颜色格式以用于编码。 [0066] 在该情况下,数据元素阵列中的每个数据元素可对应于图像中的特定 像素,并且可与一组三个(或四个)数据值相关联,例如表示RGB(A)信 道。 [0067] 为了将数据值转换成用于编码的合适格式,该实施方案中的编码因此 包括将RGB(A)数据值变换到YUV颜色空间中的步骤。在一个实施方案 中,该步骤涉及将RGB(A)数据值的阵列乘以一个或多个合适的颜色变换矩 阵。然而,根据需要,用于将RGB(A)数据值转换到YUV颜色空间中的各 种布置将是可能的,并且实施方案可使用任何合适的转换方案。转换可以 无损或有损的方式执行。 [0068] 对应地,当已经以这种方式编码的数据要被解码时,在已经执行初始 解码和舍入调整以确定(例如)以YUV颜色格式的解码值的集合之后,应 用合适的逆颜色变换以便将初始解码值(以(例如)YUV颜色格式)转换 成期望的(例如)RGB(A)数据格式以供数据处理系统使用。 [0069] 在这种情况下,申请人已发现,对于以初始解码的(例如)YUV颜色 格式的颜色值组内的特定缺失位模式,当以初始解码格式的颜色值组随后 被(逆)变换回其原始(例如)RGB(A)格式时,在逆颜色变换和舍入调整 之间可存在可能的相互作用,这可致使颜色值中的一者或多者在每个编码/ 解码循环之后增加。 [0070] 当识别出此类有问题的缺失位模式时,解码器在根据本文所述技术的 实施方案进行操作时可然后将特殊情况舍入调整应用于其中发生有问题行 为的至少一个或多个颜色值,以便防止有问题行为。 [0071] 具体地讲,申请人已发现,在此类情况下,存在与数据元素相关联的 数据值组的特定缺失位模式,如果舍入将该组中的数据值(颜色信道)之 一的最低有效位设定为“1”,则这可致使该数据值随着每个编码/解码循环 继续增长,并且因此变得从原始(“真”)数据值逐渐进一步移除。 [0072] 在本文所述技术中,解码器因此能够识别此类情况,并且应用不同的 调整方案,例如,并且在一个实施方案中,该调整方案例外地总是将(至 少)针对其可能以其他方式发生有问题行为(例如,如果标准调整方案使 其舍入为“1”)的数据值的最低有效位设置为“0”。以这种方式,可避 免上述的有问题行为。 [0073] 然而,一般来讲,预期可能存在各种其他情况,其中缺失位模式和调 整之间的相互作用,以及任选地任何进一步的变换等,可引入可通过本文 所述技术中的技术来解决的类似有问题行为。一旦已经识别出此类有问题 行为,就可确定适当调整方案以避免有问题行为。 [0074] 此外,虽然上文出于示例性目的提供了可通过本文所述技术解决的有 问题行为的一个具体示例,但应当理解,本文所述技术不限于这种情况, 并且可能存在其他情况,其中取决于缺失位模式以本文所述技术的方式执 行不同的调整是有益的。 [0075] 以这种方式,应当理解,本文所述技术能够提供改进的解码布置。 [0076] 在本文所述的任何实施方案中,数据元素阵列可采用任何期望和合适 的形式。因此,尽管上面已经在图像数据的上下文中给出了示例,并且特 别是以RGB(A)格式(但在一个实施方案中,其被变换到YUV颜色空间中 以用于编码目的)的图像数据,但应当理解,本文描述的技术不限于此类 数据,并且通常可根据需要在处理任何合适的图像或非图像数据时使用。 虽然实施方案涉及包括图像和/或视频数据的数据阵列,但如果需要,数据 阵列布置的其他示例将是可能的,并且一般来讲,数据元素阵列可包括可 以编码表示适当地或期望地存储的任何数据阵列,其可根据本文所述技术 进行解码。 [0077] 在一个实施方案中,数据元素阵列表示值的空间分布(至少以其原始 未压缩格式,例如最终可使用数据元素阵列的格式,例如在整个数据处理 系统中)。也就是说,实施方案中的数据元素阵列表示分布在空间域中的 数据值集。因此,每个数据元素可表示空间分布内某个位置处的数据值。 因此,在实施方案中,数据元素阵列可(各自)对应于数据位置阵列。 [0078] 然而,在一些实施方案中,编码包括将空间分布值变换到频域中。这 可有利于改进的编码过程。在该情况下,被存储用于编码表示而不是表示 值的空间分布的数据值表示值在频域中的分布。 [0079] 对应地,在一个实施方案中,解码包括逆频率变换。 [0080] 在实施方案中,数据元素或位置的阵列可对应于期望(例如,图像) 输出的全部或部分,诸如静止图像或视频帧(例如,用于显示)。也就是 说,实施方案中的数据元素阵列包括图像数据阵列,即可用于生成图像以 进行显示的数据。因此,在实施方案中,数据阵列可对应于要编码的单个 静止图像。在其他实施方案中,数据阵列可对应于要编码的视频帧流的视 频帧。 [0081] 在一个实施方案中,数据元素阵列中的每个数据元素与多个数据值的 相应组相关联。因此,在一个实施方案中,数据元素阵列中的每个数据元 素与相应数据值组相关联,其中在一个实施方案中,数据元素的数据值组 中的每个数据值由相应位序列定义。 [0082] 例如,在一些实施方案中,数据元素阵列包括彩色图像数据阵列,如 上所述。在该情况下,数据元素可各自表示图像内的采样位置或像素,并 且每个数据元素可与颜色值组相关联。数据元素的数据值组可表示不同颜 色信道的值。 [0083] 编码表示的数据值通常可以第一未压缩数据格式定义,该第一未压缩 数据格式对应于编码器所使用的格式(但不需要对应于原始数据格式, 即,数据处理系统使用数据值的数据格式)。例如,在第一未压缩数据格 式是YUV颜色格式的情况下,存储在编码表示中的数据值可以表示Y、U 和V分量的值。因此,由解码产生的以第一未压缩数据格式的数据值可能 需要被转换成第二未压缩数据格式(例如,RGB(A)数据格式)以供数据处 理系统使用。(在编码包括频率变换的实施方案中,存储在编码表示中而 不是表示Y、U和V分量本身的值的数据值可表示频率变换值的集合,并 且在该情况下,解码值可能需要在颜色空间和频率空间两者中变换)。 [0084] 一般来讲,在数据元素与期望输出之间可存在任何期望且合适的对应 关系。例如,阵列中的数据元素可各自对应于期望输出的一个或多个像 素。数据元素阵列在数据元素或位置方面可以是任何期望和合适的尺寸或 形状,但在一个实施方案中为矩形(包括正方形)。数据元素可表示二维 数据,但也可表示一维、三维或更高维的数据。数据元素还可具有任何期 望和合适的格式,例如表示图像数据值(例如,亮度或颜色值)的格式。 [0085] 在本文所述的任何实施方案中,可以任何期望和合适的方式提供数据 元素阵列。 实施方案可包括生成阵列的数据元素(的至少一些或全部)。 实施方案还可包括或替代地包括例如从存储器读取阵列的数据元素(的至 少一些或全部)。 [0086] 阵列的数据元素可以任何期望和合适的方式生成。在实施方案中,阵 列的数据元素可由相机诸如摄像机生成。在其他实施方案中,生成阵列的 数据元素可包括渲染过程。 渲染过程可包括导出由阵列的数据元素表示的 数据值(例如,通过对基元进行栅格化以生成图形片段和/或通过渲染图形 片段)。可使用图形处理器(图形处理流水线)以便生成阵列的数据元 素。图形处理流水线可包含图形流水线和处理器可包含的任何合适和期望 的处理级,诸如顶点着色器、栅格化级(栅格化器)、渲染级(渲染器) 等,以便生成阵列的数据元素。 [0087] 在本文所述技术中,在一个实施方案中,数据阵列的数据元素例如在 逐块基础上编码为数据元素的“块”。例如,数据元素阵列可被划分成要 在逐块基础上进行编码的多个源块。因此,本文对数据阵列或数据阵列的 数据元素的处理或编码的任何引用应被认为包括并且通常涉及数据元素的 此类块的处理或编码。“块”通常可包括N×N的数据元素阵列。 [0088] 因此,当对(总体)数据元素阵列进行编码时,例如表示整个帧(图 像),将(总体)数据元素阵列分成多个块,并且然后根据本文所述技术 的编码方案对每个块进行编码以提供对应的数据分组集合。在实施方案 中,较大数据元素阵列内的数据元素的每个块被编码(压缩)成固定大小 的数据分组。 [0089] 因此,在一个实施方案中,正在编码为固定大小的数据分组的数据元 素块包括来自较大的总体数据阵列的数据元素块(并且在一个实施方案 中,对于构成总体数据阵列的多个块中的每一个,这是重复的)。然后可 将每个块的数据分组以特定顺序适当地组合成表示总体数据元素阵列的数 据的编码数据流。 [0090] 因此,本文所述的技术在一个实施方案中是基于块的方案,其中一个 实施方案中的每个块被独立地编码,使得块然后可以被独立地解码。这可 有利于随机访问已使用本文所述的技术编码的帧内的块。例如,通常将知 道每个数据分组(块)存在多少字节,因此可以容易地识别各个块在存储 器内的位置,使得它们容易加载和随机访问。 [0091] 数据元素可包括例如与参考帧或块相比的差值。然而,更常见的是, 本文所述的编码/解码方案用于对原始数据进行编码,并且因此数据元素可 表示(原始)像素值。 [0092] 如上所述,用于生成编码表示(要以上述方式解码)的编码方案有利 地是有损编码方案,使得编码表示可不存储所有位的数据。 [0093] 具体地讲,在一个实施方案中,用于生成编码表示的编码方案使得数 据元素块的编码涉及截断块内数据元素的数据值的位序列表示,使得使用 (仅)一个或多个位的子集(例如,并且在一个实施方案中,原始数据值 (“截断”数据值)的相应位序列表示的一个或多个最高有效位的子集) 来表示数据元素块中的数据元素的数据值,并且针对相应数据元素,仅这 些位子集(例如,并且在一个实施方案中,对应于一个或多个最高有效位 (截断数据值))被包括到已编码数据分组中。 [0094] 因此,该截断的效果是可在编码过程期间丢弃一个或多个其他位(例 如,并且在一个实施方案中,一个或多个最低有效位),使得指示这些位 的数据不存储在编码表示中。 [0095] (为了避免疑问,应当理解,位序列的最高有效位(单数)是最高位 位置。最高有效位(复数)是最接近并包括最高有效位的位。例如,对于 包含N个位的位序列,其中第N位表示最高值(最高有效位),则最高有 效位可包括第N位、第N‑1位等。 [0096] 因此,在一个实施方案中,编码方案通过截断表示数据元素块内的每 个数据元素的数据值的位序列来对数据元素块进行编码,以给出数据元素 的对应“截断数据值”,截断数据值仅包括一个或多个位的子集,例如, 并且在一个实施方案中,包括来自原始数据值的位序列表示的一个或多个 最高有效位。 [0097] 以这种方式截断位序列(即,数据值)可因此提供期望的数据压缩。 然而,未包括到数据分组中的其他(例如,不太有效的)位所表示的任何 信息自然地由于这种截断而丢失。这样做的效果是,在已解码输出中存在 更少的可表示的信息。 [0098] 例如,当以“原始”格式将数据元素块编码成固定大小的数据分组 时,可能是这种情况。在该情况下,一旦数据分组已满,就有效地丢弃任 何剩余的位。因此,对固定大小的数据分组的编码本质上是有损的。 [0099] 因此,在实施方案中,数据元素阵列(至少出于编码目的)被划分成 可被独立地编码/解码的多个数据元素块,并且每个块被分配特定位预算 (大小)以保证每个块被编码成固定大小的数据分组。在一个实施方案 中,每个块的数据元素的最高有效位随后以其“原始”形式编码(通过将 位值“按原样”包括到数据分组中),这从数据元素中的每一者的最高位 值(即最高有效位)开始,并且只要在数据分组中仍然存在可用空间,在 添加数据元素中的每一者的最高位值之后,移动到数据元素的下一个最高 位值等,直到数据分组已满(已使用所分配的位预算)。 [0100] 作为该编码方案的一部分,将数据元素的位值添加到数据分组中的顺 序在一个实施方案中是变化的,在一个实施方案中以随机方式,例如使得 在将最高位值添加到数据分组中时处理数据元素的顺序可不同于在将下一 个最高位值添加到数据分组中时处理数据元素的顺序,等等。 [0101] 在一个实施方案中,将位添加到数据分组中的顺序也在不同数据元素 块之间变化,例如,在数据元素的整个阵列中和/或在此类阵列的序列中。 这可有助于避免跨已解码输出引入重复伪影。例如,如果整个数据元素阵 列内的所有块的数据元素总是以相同顺序处理,则可将更大数量的位包括 到首先处理的数据元素的数据分组中,并且这可例如基于阵列划分成块而 将重复模式引入到已解码输出中。 [0102] 这意味着针对与数据元素相关联的一个或多个数据值丢弃的最低有效 位的数量可跨阵列变化,使得针对数据元素阵列内的不同数据元素以及针 对数据元素的一个或多个不同数据值,可丢弃不同数量的最低有效位。 [0103] 因此,在一个实施方案中,根据本文所述技术的编码方案在所分配的 位预算内尽可能多地存储数据元素块中的数据元素的最高有效位,同时仍 然确保该块的固定大小的数据分组。然而,取决于数据分组的期望(固 定)大小,即已为数据分组分配的位的数量,这可能意味着仅块内的每个 数据元素的位的子集的值被包括到数据分组中(其中一个或多个最低(或 较不)有效位的位值未被包括到数据分组中)。 [0104] 在一个实施方案中,编码根据Arm Limited的国际专利申请 PCT/GB2019/053416(WO 2020/115471)中描述的编码技术进行,该专利 申请的内容以其整体并入本文。 [0105] 然而,各种其他有损编码布置是可能的,并且编码可根据任何合适的 此类编码方案来执行,例如其中一些最低有效位被潜在地丢弃的任何合适 的有损编码方案。 [0106] 当期望使用以编码形式存储的数据元素阵列中的特定数据元素的数据 值中的一者或多者时,因此必须对数据元素阵列的编码表示进行解码以确 定与数据元素相关联的已解码数据值(或数据值组)。 [0107] 因为编码使得(仅)(例如,最高有效)位的子集被存储在编码表示 中(至少针对数据元素中的一些),其中剩余(例如,最低有效)位在一 个实施方案中在编码期间被丢弃,所以由解码器确定的数据值的初始表示 可具有与在编码期间丢弃的位相对应的一个或多个缺失位。 [0108] 因此,如上所述,在已经执行初始解码以从数据阵列的编码表示中提 取数据值的初始表示的集合之后,则应用适当的调整(例如,舍入)以便 近似对来自任何缺失位(例如,对应于在编码期间可能已被丢弃的任何 位,并且因此未存储针对其的数据以用于编码表示)的数据值的贡献。 [0109] 该调整可为如例如在国际专利申请PCT/GB2019/053416(WO 2020/115471)中描述的舍入调整。然而,一般来讲,根据需要,可使用任 何合适的调整方案,并且调整可为或多或少地复杂。 [0110] 在本文所述技术中,解码器可操作以基于“模式”(例如,与正被解 码的数据元素相关联的数据值的缺失位的数量)从多个可用调整方案中选 择调整方案。也就是说,不是针对待解码的所有数据值(针对所有数据元 素)应用相同的调整方案,而是本文所述技术的解码器确定具有待解码的 一个或多个数据值(如果有的话,其位从与数据元素相关联的数据值中缺 失)的数据元素,并且基于该确定选择要应用的调整方案。 [0111] 为此,在一个实施方案中,解码器针对与要编码的数据元素相关联的 每个数据值确定针对数据值缺失多少位的计数。例如,在一个实施方案 中,解码器能够根据编码表示确定针对给定数据值存储了多少位,并且还 可以能够确定(或例如基于数据格式可已知)应针对该数据值存储多少 位。以这种方式,解码器可例如通过将针对给定数据值实际存储多少位的 计数与应针对该数据值存储的位的数量进行比较来确定该数据值的缺失位 的数量。 [0112] 取决于编码方案,解码器还可以换能够确定缺失位的位置,例如,在 编码方案被设计成从最高有效位向下编码以使得最低(或较不)有效位被 优先丢弃的情况下,可确定(或可知道)任何缺失位将对应于最低有效位 (并且通常以及在一个实施方案中将是这种情况)。 [0113] 因此,可准确地确定缺失位模式。或者,在一些情况下,可使用对最 可能的缺失位模式的估计。 [0114] 就这一点而言,用于确定与数据元素的数据值相关联的缺失位模式的 各种布置将是可能的。 [0115] 因此,在一个实施方案中,缺失位模式涉及所考虑的数据值的缺失位 的数量。在实施方案中,缺失位模式是与单个数据元素相关联的数据值组 的缺失位模式。也就是说,在一个实施方案中,与数据元素相关联的给定 数据值的缺失位模式可对应于所考虑的数据值的缺失位的数量,以及与相 同数据元素相关联的数据值组中的任何其他数据值的缺失位的数量。 [0116] 例如,对于具有表示例如三个不同数据(例如,颜色)信道的三个相 关联数据值的数据元素,缺失位模式可对应于“X‑Y‑Z”缺失位模式,即使 得第一(颜色)信道具有X个缺失位,第二(颜色)信道具有Y个缺失 位,并且第三(颜色)信道具有Z个缺失位。因此,针对作为整体的数据 元素的数据值组定义模式。 [0117] 这意味着在一个实施方案中,针对与单个数据元素相关联的数据值组 中的特定数据值应用的调整不仅基于与该数据值相关联的缺失位而且还基 于数据值组中的其他数据值来确定。 [0118] 然后基于所确定的缺失位模式来选择要针对数据值应用的调整方案。 [0119] 例如,在大多数情况下,当要对数据元素进行解码时,解码器可应用 标准调整方案,其涉及将第一相应调整集合应用于与数据元素相关联的数 据值。标准调整方案可涉及任何合适的调整,例如舍入,例如基于任何合 适和期望的启发法的方案。 [0120] 然而,当解码器识别特定缺失位模式时,解码器可替代地应用第二例 外调整方案,其中将与在标准调整方案中将应用的调整不同的调整应用于 与数据元素相关联的数据值中的至少一者(但在一个实施方案中不是全 部)。 [0121] 因此,在一个实施方案中,存在默认调整方案(其本身可包括多个不 同调整,例如解码器可基于各种其他度量在该多个不同调整间进行选 择),该默认调整方案将针对大多数的数据元素应用。然而,当解码器识 别特定缺失位模式时,解码器应用不同的调整方案,而不是应用默认调整 方案。 [0122] 例如,在实施方案中,可存在已被发现引入例如上述类型的潜在有问 题行为的一组特定的(在所选择的实施方案中),在一个实施方案中为预 定的,缺失位模式。在该情况下,当特定数据元素要由解码器解码时,解 码器可因此将针对数据元素识别的缺失位模式与所选择的实施方案中的特 定缺失位模式(在一个实施方案中为预定的缺失位模式)进行比较,并且 然后适当地选择调整方案。 [0123] 当解码器识别到数据元素件与潜在有问题的缺失位模式相关联时,解 码器然后可应用例外调整方案。另一方面,对于其他缺失位模式,解码器 可照常应用其标准调整方案。 [0124] 例如,在一个实施方案中,解码器检查数据元素的数据值组中的数据 值的初始表示以查看编码/解码是否已经产生已(先前)被识别为在重复编 码/解码循环内导致有问题行为的缺失位模式,如上所述。 [0125] 例如,对于给定的编码/解码方案,可存在已被发现导致此类有问题行 为的多个预定缺失位模式。因此,解码器可操作以检查数据元素的数据值 组中的数据值的初始表示的缺失位模式,以确定缺失位模式是否匹配预定 的有问题缺失位模式中的一者。 [0126] 每个预定缺失位模式还可与将用于该缺失位模式的对应调整方案相关 联。例如,将用于特定缺失位模式的调整方案的合适指示可例如以合适查 找表的形式存储。或者,在实施方案中,相同的例外调整方案可针对列表 中的任何和所有的缺失位模式应用。 [0127] 在一个实施方案中,所应用的例外调整方案(例如,当此类缺失位模 式被识别时)涉及对至少一个数据值进行舍入,这不同于否则该数据值将 被舍入的方式(例如,如果要应用标准调整方案的话)。 [0128] 在数据元素与数据值组相关联的情况下,例外调整方案可针对该组中 的不同数据值应用不同的调整。例如,可能的情况是,数据值组中的少于 全部的(例如,仅一个)数据值以不同方式进行舍入(与其否则根据解码 器的标准调整方案进行舍入的方式相比),并且数据值组中的其他数据值 可被正常地舍入(以与其在使用解码器的标准调整方案时将被舍入的方式 相同的方式)。例如,这可能是以下情况,其中数据值组的缺失位模式已 被发现针对数据值组中的少于所有数据值导致有问题行为,使得只有那些 数据值需要被不同地舍入。 [0129] 就这一点而言,各种布置将是可能的。然而,一般来讲,所应用的调 整方案(和调整)可包括任何合适的调整(例如,其提供期望行为)。例 如,一旦已经识别出与特定缺失位模式相关联的某种类型的有问题行为, 就可确定适当的校正。 [0130] 在一个实施方案中,在此类有问题的缺失位模式被识别时应用的例外 方案涉及将至少一个(但在一个实施方案中不是全部)最低有效缺失位设 置为“0”。例如,在一些情况下,已发现仅针对与数据元素相关联的数据 值组中的一个数据值观察到有问题行为,并且有问题行为具体地在该数据 值的最低有效位被舍入为“1”时发生。在该情况下,通过迫使其中有问题 行为否则可能发生的数据值的最低有效位为“0”,可避免有问题行为。 [0131] 然而,与数据元素相关联的数据值组中的其他数据值仍可例如根据解 码器的标准启发法(无论它们是什么)被照常舍入。因此,在例外调整方 案中,在一个实施方案中,数据值组中的数据值的一些但不是所有最低有 效位被设置为零。 [0132] 因此,在实施方案中,当确定数据元素的缺失位模式对应于已(先 前)被发现针对数据元素的数据值组中的一个或多个数据值导致有问题行 为的缺失位模式时,调整可应用于针对其将已观察到有问题行为的一个或 多个数据值的最低有效位设置为零。 [0133] 然而,在其他情况下,可能期望将所有缺失位设置为零,例如以简化 解码过程。 [0134] 因此,在一个实施方案中,数据元素阵列中的每个数据元素与相应数 据值组相关联,其中数据元素的数据值组中的每个数据值在一个实施方案 中由相应位序列定义(例如,以第一未压缩数据格式,该未压缩数据格式 是由编码器使用的格式,并且不需要对应于使用数据值的原始数据格 式)。 [0135] 在该情况下,在一个实施方案中,数据元素阵列的编码表示以压缩形 式存储和表示以第一未压缩数据格式定义的数据值,其中来自与数据元素 阵列中的数据元素相关联的数据值的相应位序列的一个或多个最低有效位 可能已被丢弃,使得指示丢弃位的位值的数据不存储在编码表示中。 [0136] 因此,在一个实施方案中,所述方法包括:当期望使用存储在所述数 据元素阵列的所述编码表示中的数据元素阵列中的数据元素的所述数据值 时:根据所述数据元素阵列的所述编码表示确定所述数据元素的所述数据 值组中的每个数据值的初始位序列,其中所述初始确定的位序列表示以所 述第一未压缩数据格式的所述数据元素的所述数据值组中的所述数据值, 但能够具有与其数据未存储在所述编码表示中的相应一个或多个丢弃位相 对应的一个或多个缺失位。 [0137] 在一个实施方案中,所述方法还包括:从所述数据元素的所述数据值 集合中的所述数据值的所述初始确定的位序列中识别与所述数据元素相关 联的所述数据值组的缺失位模式;基于所识别的缺失位模式,选择要针对 所述数据元素的所述数据值组中的所述数据值应用的一个或多个调整(例 如,舍入)值;以及将所选择的调整值应用于针对所述数据元素的所述数 据值组中的所述数据值的初始确定的位序列,以确定表示以第一未压缩数 据格式的所述数据元素的已调整数据值的集合。 [0138] 因此,在一个实施方案中,调整的结果是产生已调整数据值的集合, 其表示以第一未压缩数据格式(即,它们被编码的格式)的数据元素的数 据值组中的数据值。 [0139] 然后可输出以第一未压缩数据格式的数据值,例如,作为供数据处理 系统使用的数据值。然而,如上所述,在实施方案中,原始数据值以不同 的数据格式设置,并且然后被变换成第一未压缩数据格式以用于编码。 [0140] 因此,在实施方案中,已解码数据值可经受各种另外的期望处理步骤 以便提供用于由数据处理系统使用的已解码数据值。例如,此类另外的处 理步骤可包括一个或多个(逆)变换以便将数据值从第一未压缩格式(其 用于编码)变换成适于由数据处理系统使用的另一个数据格式(即,“原 始”数据格式)。 [0141] 就这一点而言,例如如上已经描述,各种布置将是可能的。 [0142] 例如,在实施方案中,将一个或多个逆变换应用于以第一未压缩数据 格式的已调整数据值,从而将数据值变换成期望的原始数据格式以供数据 处理系统使用。 [0143] 例如,为了改进编码效率,可能期望将数据的空间表示转换成频域变 换。为此,在编码期间应用合适的频率变换,并且在解码期间应用对应的 逆频率变换。 [0144] 又如,编码器可被设计成以第一(例如,YUV)数据格式处理数据。 在该情况下,如果原始数据以不同的(例如RGB(A))数据格式设置和使 用,则原始数据应被变换成第一数据格式作为编码过程的一部分。为此, 在编码期间应用合适的颜色变换,并且然后在解码期间应用对应的逆颜色 变换。 [0145] 因此,在实施方案中,编码方案被设计成处理以特定数据格式(即, 第一未压缩数据格式)设置的数据。例如,编码方案可被设计成处理以 (例如)YUV颜色格式设置的图像数据。因此,数据元素的数据值组中的 每个数据值可由相应位序列以第一未压缩数据格式(例如,YUV)定义。 [0146] 这意味着当数据最初以不同格式(例如,RGB(A)颜色格式)设置并且 由数据处理系统使用时,在一个实施方案中,编码包括将数据从原始格式 变换成第一未压缩格式的步骤。对应地,在一个实施方案中,解码涉及将 已解码数据从第一未压缩数据格式(即,对其进行编码的格式)(逆)变 换成不同的未压缩数据格式(即,数据处理系统使用数据的原始数据格 式)的一个或多个步骤。 [0147] 也就是说,对数据进行编码(并且编码表示存储其代表性数据)的第 一未压缩格式不需要是原始数据格式(即,数据处理系统使用数据的原始 数据格式),并且在一个实施方案中不是原始数据格式。 [0148] 在一个实施方案中,数据元素阵列包括使用RGB(A)数据格式来表示 但要以YUV数据格式编码的图像数据阵列。因此,在一个实施方案中,编 码包括将颜色变换应用于以RGB(A)数据格式的原始数据以便将数据变换成 YUV格式以用于编码。对应地,在一个实施方案中,解码包括应用逆颜色 变换以将以YUV格式的已解码数据变换回原始RGB(A)格式。 [0149] 这些变换通常涉及将数据阵列乘以合适的(逆)颜色变换矩阵。就这 一点而言,各种布置将是可能的。 [0150] 在实施方案中,编码器可使用多种可能的颜色变换(例如,不同的矩 阵)。因此,编码器可操作以例如根据某种合适的启发法选择要在编码期 间使用哪个颜色变换。 [0151] 在这方面,申请人现已认识到,每当对相同数据片进行编码/解码时, 迫使编码器使用相同的变换矩阵可能是有益的,特别是在编码器将以其他 方式确定要使用哪个变换矩阵的情况下,例如,基于其自身的编码启发 法。 [0152] 也就是说,当多次压缩相同数据片时,申请人认识到,可能期望针对 每个压缩循环使用相同的变换矩阵。 [0153] 更一般地,申请人已经认识到,在编码器可操作以在多个不同编码参 数之间作出选择的情况下,编码器应在每次对相同数据片进行编码/解码时 使用相同编码参数以便提供更一致的编码。 [0154] 为了实现这一点,在实施方案中,将编码“提示”与待编码的数据一 起提供给编码器,该编码提示指示应使用哪些编码参数来对数据进行编 码,例如,基于在先前对相同数据进行编码时使用哪些编码参数。因此, 编码器可适当地读取编码提示以确定要使用的编码参数。以这种方式,编 码器对编码参数的正常选择可被覆盖,其中编码器被迫使用编码提示中指 示的任何编码参数,而不是编码器必须确定应使用哪些编码参数。 [0155] 编码提示可例如在解码过程期间嵌入已解码数据中或以其他方式与已 解码数据相关联,使得当要再次对已被编码/解码的数据片进行编码时,编 码器可根据与已解码数据相关联的编码提示来确定在先前编码期间使用哪 些参数并且使用相同的编码参数。 [0156] 例如,在一个实施方案中,解码器可访问编码表示的相关联元数据集 合,该相关联元数据指示用于生成编码表示的一个或多个编码参数。编码 表示的元数据可与编码表示本身一起存储,例如存储为标头数据。或者, 相关联元数据可被单独地提供给解码器,例如作为侧信道信息。就这一点 而言,各种布置将是可能的。 [0157] 因此,解码器可操作以根据相关联元数据确定当最后对数据进行编码 时使用的编码参数,并且在一个实施方案中,当下一次对数据进行编码 时,编码器应当再次使用这些编码参数。因此,解码器可根据相关联元数 据生成编码提示,该编码提示然后可与已解码数据适当地相关联,并且然 后在已解码数据要被再次编码时与已解码数据一起提供给编码器。 [0158] 以这种方式,通过在解码过程期间将此类信息添加到已解码数据,这 然后允许编码器在要对数据再次编码时读取编码提示,并且允许编码器覆 写其正常编码启发法并且使用与先前使用的编码参数相同的编码参数,以 在多个编码/解码循环内提供改进的编码/解码过程。 [0159] 据信生成和提供此类编码提示可以是新颖的并且在其自身权利上是有 利的。 [0160] 本文所述技术的另一实施方案包括一种使用解码器来处理数据的方 法,所述方法包括: [0161] 对数据元素阵列的编码表示进行解码以确定以第一未压缩数据格式表 示所述数据元素阵列的已解码数据集合,其中所述解码使用所述编码表示 的相关联元数据来执行,所述相关联元数据指示用于生成所述编码表示的 一个或多个编码参数; [0162] 所述解码器根据所述编码表示的所述相关联元数据来确定用于生成所 述编码表示的所述一个或多个编码参数,并且从其生成编码“提示”,所 述编码提示包括用于生成所述编码表示的所述一个或多个编码参数的指 示;以及 [0163] 所述解码器以这样的方式将所述编码提示与所述已解码数据集合相关 联,使得当随后要对所述已解码数据进行编码时,能够确定由所述编码提 示指示的所述一个或多个编码参数。 [0164] 本文所述技术的又一实施方案包括一种解码器,所述解码器包括: [0165] 解码电路,所述解码电路被配置为对数据元素阵列的编码表示进行解 码以确定以第一未压缩数据格式表示所述数据元素阵列的已解码数据集 合,其中所述解码使用所述编码表示的相关联元数据来执行,所述相关联 元数据指示用于生成所述编码表示的一个或多个编码参数; [0166] 所述解码电路被进一步配置为根据所述编码表示的所述相关联元数据 来确定用于生成所述编码表示的所述一个或多个编码参数,并且从其生成 编码“提示”,所述编码“提示”包括用于生成所述编码表示的所述一个 或多个编码参数的指示; [0167] 所述解码器还包括输出电路,所述输出电路被配置为输出已解码数 据,并且以这样的方式将所述编码提示与所述已解码数据集合相关联,使 得当随后要对所述已解码数据进行编码时,能够确定由所述编码提示指示 的所述一个或多个编码参数。 [0168] 在一个实施方案中,根据这些另外的实施方案的编码/解码是根据上述 第一实施方案和第二实施方案执行的。 [0169] 例如,在实施方案中,编码/解码根据Arm Limited的国际专利申请公 布号WO 2020/115471(PCT/GB2019/053416)中描述的有损方法执行。然 而,其他布置将是可能的,并且一般来讲,任何合适的编码/解码方案可与 这些另外的实施方案结合使用。 [0170] 类似地,在这些另外的实施方案中被处理的数据元素阵列通常可以是 任何合适的数据元素阵列,例如包括如上所述的任何数据元素阵列。例 如,在一个实施方案中,数据元素阵列包括图像数据阵列。 [0171] 根据本文所述技术的这些另外的实施方案,一旦已经产生已解码(例 如,图像)数据,编码“提示”则与已解码数据相关联,如上所讨论。 [0172] 在一个实施方案中,这通过将编码提示存储在已解码数据本身中来完 成。因此,在实施方案中,可使用已解码数据阵列中的数据元素的子集来 存储编码提示。例如,在数据阵列包括图像并且数据元素对应于各个像素 的情况下,可使用特定数量的像素来存储编码提示。 [0173] 在一个实施方案中,编码提示以这样的方式存储在已解码数据中,使 得编码提示的存在不易察觉(例如,当显示已解码数据时,对用户而 言)。 [0174] 例如,在实施方案中,相对较少的数据元素用于存储编码提示,并且 在一些实施方案中,用于存储编码提示的数据元素彼此间隔开,和/或远离 预期的感兴趣区域定位(例如,远离图像的中心定位)。 [0175] 类似地,在一个实施方案中,使用阵列中的数据元素的最低有效位 (或较不有效位)的集合来存储编码提示。例如,实施方案可使用来自不 同数据元素(例如,像素)的四个、八个等最低有效位来存储不同的编码 提示。 [0176] 以这种方式,编码提示可被添加到已解码数据,而不会显著减小(例 如)图像的感知质量。 [0177] 然而,在实施方案中,可根据需要使用数据元素的任何合适的部分来 存储编码提示。 [0178] 一般来讲,应选择编码提示的大小(例如,用于存储编码提示的位 数)以提供在保持数据保真度与确保编码提示足够独特以减小编码器错误 地检测编码提示(在未提供编码提示的位置)的出现之间的平衡。 [0179] 例如,编码器通常将不知道给定数据片是否与编码提示相关联。为了 避免错误确定,因此在一个实施方案中还选择用于存储编码提示的位序 列,使得其不太可能自然发生。例如,编码提示不应使用共同数据值(例 如,零)来表示(并且在一个实施方案中不使用共同数据值来表示)。 [0180] 如上所述,在一个实施方案中,使用与分布在数据阵列内的对应N个 数据元素相关联的N个最低有效位的序列来存储编码提示。编码器可能必 须在多个不同的编码参数集合之间进行选择,并且因此在一个实施方案 中,每个不同的编码参数集合与唯一编码提示相关联。 [0181] 在一个实施方案中,使用大于存储不同编码提示所需的最小位数的位 数来存储编码提示。例如,在存在可能需要存储的八个不同编码提示(对 应于八个不同编码参数集合)的情况下,该编码提示集合可最少地使用 N=3个位来表示。然而,在实施方案中,不是使用最小位数(即3),而是 使用更大的位数。例如,可使用8个位来表示八个不同编码提示。 以这种 方式,再次可减小编码提示自然发生的可能性。例如,在8个位的情况 下,可表示 256个可能值,但这256个可能值中的仅8个对应于编码提 示。 [0182] 当包括此类编码提示的已解码数据随后被提供给编码器以再次进行编 码时,编码器因此可操作以读取编码提示,从而识别当数据先前被编码时 使用的一个或多个编码参数,并且然后使用相同的编码参数。另一方面, 如果编码器不能识别编码提示(或不提供编码提示),则根据编码器的正 常编码启发法执行编码。 [0183] 例如,在一个实施方案中,编码提示可指示在编码期间使用了多个可 能变换矩阵中的哪个变换矩阵。因此,可能存在例如八个可能的变换矩 阵,并且可能需要生成对应的八个不同编码提示。因此,编码器能够根据 编码提示(例如,使用合适的查找表)确定在对数据进行编码时应当使用 哪个变换矩阵,并且因此使用所指示的变换矩阵。然而,一般来讲,编码 提示可用于根据需要存储关于编码器可使用的编码参数的任何合适信息。 [0184] 一般来讲,解码器可操作以对数据流进行解码以便恢复被编码的原始 源数据(例如,图像),并且然后根据需要使用(例如,显示)该数据。 因此,一旦数据流已被解码,解码器就可被配置为显示已解码数据或输出 该已解码数据以用于显示。 [0185] 上述编码和解码装置通常可作为数据处理系统的一部分提供。例如, 装置可以包括图像和/或视频处理系统的部分,该图像和/或视频处理系统的 部分包括相机,例如数字相机、手机或平板电脑。 [0186] 一般来讲,在任何实施方案中,本文所述的方法可通过任何期望的和 合适的装置来执行。例如,在任何实施方案中,本文所述的过程可由图像 或视频处理器(编解码器)执行。因此,在任何实施方案中,本文所述的 数据处理装置可包括或可为视频处理器。因此,本文所述的处理(编码/解 码)电路(circuits)/电路(circuitry)、输出电路/电路、标头发生电路/电 路、标头读取电路/电路或输入电路/电路等可形成视频处理器的一部分。在 任何实施方案中,本文所述的数据处理装置可包括片上系统(SoC),或者 可以是SoC,或者可形成SoC的一部分。 [0187] 如本领域技术人员将理解的,本文所述技术的编码/解码装置可以是包 括例如主机(例如,中央)处理器的整体数据处理系统的一部分。主机处 理器可以例如执行需要由编码/解码装置进行的数据处理的应用程序。主机 处理器可将适当的命令和数据发送到编码/解码装置,以控制该编码/解码装 置来执行数据编码/解码操作并且生成和/或使用在主机处理器上执行的应用 程序所需的输出。为了有利于这一点,主机处理器可执行用于编码/解码装 置的驱动器。 [0188] 在实施方案中,装置或系统可以包括和/或可与一个或多个存储器和/或 存储器设备通信,该存储器和/或存储器设备存储本文所述的数据,和/或存 储用于执行本文所述的过程的软件。设备或系统可包括显示器和/或可与显 示器通信,以用于基于阵列的数据元素来显示图像。装置或系统可包括生 成数据元素阵列的相机和/或可与生成数据元素阵列的相机通信。 [0189] 本文提及的存储器可以是数据处理装置的或用于数据处理装置的任何 期望和合适的存储器。存储器可在数据处理装置(例如,视频处理器和/或 片上系统(SoC))外部。存储器可以是例如主系统存储器。 [0190] 本文所述的技术可用于数据处理装置可提供和/或使用的所有形式的数 据阵列,诸如用于显示的图像或帧。因此,如上所述,数据元素阵列可包 括图像数据和/或可对应于图像或图像数据帧。 [0191] 在一个实施方案中,本文所述的技术的各种功能在提供和/或使用数据 元素阵列的单个数据(例如,图像)处理平台上执行。 [0192] 本文所述的技术可在任何合适的系统(诸如适当配置的计算机或基于 微处理器的系统)中实现。在一个实施方案中,本文所述的技术在基于计 算机和/或微处理器的系统中实现。 [0193] 本文所述技术的各种功能可以任何期望且合适的方式执行。例如,本 文所述技术的步骤和功能可根据需要以硬件或软件实现。因此,例如,除 非另外指明,本文所述技术的各种电路/电路、功能元件和级可包括可操作 以执行各种步骤或功能等的一个或多个合适的处理器、一个或多个控制 器、功能单元、电路/电路、处理逻辑、微处理器布置等,诸如可被编程为 以期望方式操作的适当专用硬件元件(处理电路)和/或可编程硬件元件 (处理电路)。 [0194] 具体地讲,可以设想,编码器可根据需要在硬件或软件中实现。因 此,例如,编码器可包括合适的一个或多个处理器、一个或多个控制器、 功能单元、(编码)电路/电路、处理逻辑、微处理器布置等,其可操作以 执行各种编码步骤或功能等,如本文所述,例如,可被编程为以期望方式 操作的适当的专用硬件元件(处理电路/电路)和/或可编程硬件元件(处理 电路/电路)。 [0195] 类似地,解码器可根据需要在硬件或软件中实现。因此,例如,解码 器可以包括合适的一个或多个处理器、一个或多个控制器、功能单元、 (解码)电路/电路、处理逻辑、微处理器布置等,其可操作以执行各种编 码步骤或功能等,如本文所述,例如,可被编程为以期望方式操作的适当 的专用硬件元件(处理电路/电路)和/或可编程硬件元件(处理电路/电 路)。 [0196] 本文所述的技术的各种步骤或功能等可在给定处理器上重复和/或并行 执行。同样,如果需要,各种处理阶段可共享处理电路/电路等。 [0197] 根据执行上述具体步骤或功能等所需的任何硬件,系统可以其他方式 包括数据处理装置和/或系统所包括的任何一个或多个或所有通常的功能单 元等。 [0198] 因此,各种数据处理阶段可根据需要并以任何合适的方式实现,并且 可分别执行任何期望的和合适的功能。类似地,可以任何合适和期望的方 式定义和存储各种数据。 [0199] 本领域的技术人员还应当理解,本文所述的技术的全部所述实施方案 可视情况在一个实施方案中包括本文所述特征中的任何一者或多者或全 部。 [0200] 根据本文所述技术的方法可至少部分地使用软件例如计算机程序来实 现。因此,本文所述技术的另外实施方案包括:计算机软件,该计算机软 件特别适于在安装在数据处理器上时执行本文所述的方法;计算机程序元 件,该计算机程序元件包括用于当该程序元件在数据处理器上运行时执行 本文所述方法的计算机软件代码部分;和计算机程序,该计算机程序包括 适于当该程序在数据处理系统上运行时执行本文所述的一个或多个方法的 所有步骤的代码。该数据处理器可以是微处理器系统、可编程FPGA(现 场可编程门阵列)等。 [0201] 本文所述技术还扩展到包括此类软件的计算机软件载体,该软件在用 于操作包括数据处理器的数据处理装置或系统时,使得装置或系统结合数 据处理器以执行本文所述技术的方法的步骤。此类计算机软件载体可以是 物理存储介质,诸如ROM芯片、CD ROM、RAM、闪存存储器或磁盘, 或者可以是信号,诸如通过导线的电子信号、光信号或无线电信号,诸如 到卫星的信号等。 [0202] 还应当理解,并非本文所述技术的方法的所有步骤都需要由计算机软 件执行,因此在另外的的实施方案中,本文所述的技术包括计算机软件和 安装在计算机软件载体上的用于执行本文所述方法的步骤中的至少一个步 骤的此类软件。 [0203] 因此,本文所述的技术可适当地体现为与计算机系统一起使用的计算 机程序产品。此类具体实施可包括固定在有形非暂态介质上的一系列计算 机可读指令,诸如计算机可读介质,例如磁盘、CD、DVD、ROM、 RAM、闪存存储器或硬盘。其还可包括可经由调制解调器或其他接口设 备、通过有形介质(包括但不限于光通信线路或模拟通信线路)、或者使 用无线技术(包括但不限于微波、红外或其他传输技术)无形地传输到计 算机系统的一系列计算机可读指令。该系列计算机可读指令体现了本文先 前所述的功能的全部或部分。 [0204] 本领域的技术人员将会理解,此类计算机可读指令可以多种编程语言 编写,以与许多计算机架构或操作系统一起使用。此外,此类指令可使用 目前或将来的本文所述的任何存储器技术(包括但不限于半导体、磁性或 光学技术)来存储,或者使用本文所述、目前或将来的任何通信技术(包 括但不限于光学、红外或微波技术)来传输。可以设想的是,此类计算机 程序产品可作为带有附随的印刷或电子文档(例如,收缩包装软件)的可 移动介质进行分发,可与计算机系统一起预加载在例如系统ROM或固定磁 盘上,或者可经由网络(例如,互联网或万维网)从服务器或电子公告板 进行分发。 [0205] 附图示出了与本文所述技术的实施方案相关的数据处理装置和系统的 元件。如本领域的技术人员将理解的,可存在数据处理装置的在附图中未 示出的其他元件。此处还应当指出的是,附图仅是示意性的,并且例如, 在实践中,所示的元件可共享重要的硬件电路,即使它们在附图中被示意 性地示出为独立的元件(或者相反地,在元件被示出为共享重要的硬件电 路,这些元件在实践中可包括独立的元件)。 [0206] 图1示意性地示出了数据处理系统100的实施方案,该数据处理系统 可提供和使用已经以本文所述技术的方式编码的数据阵列,诸如图像或视 频帧以用于显示。应当理解,图1仅示出了适合与本文所述的技术一起使 用的系统的一个示例,并且各种其他布置是可能的。 [0207] 在该实施方案中,系统100包括片上系统(SoC)102形式的数据处理 装置。系统100还包括片外(主)存储器116、显示设备118和摄像机 120。 [0208] SoC 102包括中央处理单元(CPU)104、图形处理单元(GPU)106、 图像/视频处理器 108、显示控制器110、互连器112和存储器控制器114。 [0209] 如图1所示,CPU 104、GPU 106、图像/视频处理器108和显示控制器 110经由互连器112彼此通信,并且经由互连器112和存储器控制器114与 存储器116通信。显示控制器 110还与显示设备118通信。摄像机120还经 由互连器112与SoC 102上的图像/视频处理器 108通信。 [0210] 在实施方案中,图像/视频处理器108从存储器116读取图像数据,使 用合适编码器电路122来对图像数据进行编码(例如,以本文所述技术的 方式),并且然后输出该已编码图像数据,例如用于存储在存储器116中 或用于流传输到另一个设备。已编码图像数据稍后可例如由图像/视频处理 器108的合适解码器电路124检索和解码,或者由另一个设备接收和解 码。尽管图像/视频处理器108被示为具有单独的编码器电路122和解码器 电路 124,但应当理解,这仅是示意性的,并且这些可形成共同编码/解码 电路的一部分。然后,已解码图像数据可例如由显示控制器110输出到显 示设备118或由另一个设备输出以用于显示。 [0211] 因此,在此类数据处理系统内,可能期望能够在各个点处压缩正被处 理的图像数据。此外,为了能够促进更高的吞吐量,例如对于更高带宽的 媒体应用,可能期望能够保证给定带宽(比特率)。 [0212] 在本实施方案中,使用如国际专利申请PCT/GB2019/053416(WO 2020/115471)中描述的编码方案,该编码方案能够将图像数据编码成具有 固定大小的数据分组,从而保证使用期望位速率。编码方案是基于块的方 案。 [0213] 块中的每个数据元素(例如,图像内的采样位置或像素)与多个数据 值的相应组(例如,表示所考虑的采样位置或像素的颜色值集合)相关 联。 [0214] 本实施方案中的编码方案涉及,将诸如离散余弦变换(DCT)或类似 的空间到频率变换应用于块以生成带符号的频率变换系数的对应块。然后 使用基于位平面的熵编码将频率变换系数块编码成固定大小的数据分组。 [0215] 在本实施方案中,数据处理系统以RGB(A)颜色格式使用图像数据。 然而,编码方案被设计成对以YUV颜色格式提供的数据进行编码。因此, 编码方案还涉及将颜色变换应用于块以将原始RGB(A)颜色值转换成YUV 颜色格式以用于编码。 [0216] 图2示出了对应的解码过程。解码过程实际上是上述编码过程的反 转。 [0217] 因此,如图2所示,当数据处理器需要使用数据元素的数据值时,解 码器可操作以读取压缩比特流(步骤200)并且执行熵解码(步骤201)的 初始步骤,以便根据数据值的压缩表示确定数据值以第一未压缩数据格式 (其在本实施方案中是YUV颜色格式)的初始解码表示。 [0218] 然后对数据值以第一未压缩数据格式的初始解码表示进行逆颜色变换 以便将以YUV颜色格式的数据值转换成期望的RGB(A)颜色格式(步骤 202),并且进行逆空间变换(步骤203)以将数据值从频域转换回期望的 空间分布。 [0219] 因此,该解码的输出(步骤204)是以合适格式的未压缩编码单元 (即,已解码数据块),然后数据处理系统可使用该未压缩编码单元。 [0220] 在本实施方案中,当对图像数据块进行编码时,使用“原始”编码方 案对图像数据中的至少一些进行编码,其中将表示图像内的不同采样点的 数据值的最高有效位“按原样”添加到数据分组中,直到数据分组已满。 [0221] 因此,该“原始”编码方案为数据元素添加尽可能多的最高有效位, 直到达到期望的数据分组大小。然而,取决于数据分组的期望大小,这可 具有数据值中的至少一些被截断的效果。 [0222] 例如,在典型示例中,可针对每个数据值丢弃一个或两个最低有效 位。 [0223] 对应地,这意味着当随后对压缩比特流进行解码时,由熵解码(步骤 201)确定的初始解码数据值可具有一个或多个“缺失”位,其对应于在编 码过程期间丢弃的那些最低有效位。 [0224] 图3示出了来自图2的解码器操作中的初始熵解码步骤的输出像素的 示例。如图所示,像素与对应于YUV颜色信道的三个数据值(样本0、 1、2)相关联。在该示例中,该阶段处的每个数据值具有一个或多个缺失 的最低有效位(即,被“量子化”)。具体地讲,第一颜色信道(Y信 道)具有单个缺失位301,第二颜色信道(U信道)具有两个缺失位302、 303,并且第三颜色信道(V信道)具有单个缺失位304。 [0225] 为了近似这些缺失位的贡献,可将各种合适的舍入调整应用于初始解 码数据值,例如以填充任何缺失位。可应用各种合适的舍入方案来尝试提 供原始数据值的更好近似。 [0226] 然而,本申请人认识到,当应用此类舍入时,取决于舍入方案,特定 缺失位模式可引入有问题的行为。具体地讲,本申请人已发现,当相同数 据片被多次编码/解码时,存在特定缺失位模式,这些模式可导致颜色信道 中的至少一些的数据值随着每个编码/解码循环而继续增长,使得图像质量 随着每个编码/解码循环而劣化。 [0227] 这可能是例如在解码过程期间应用的舍入方案和逆颜色变换之间的相 互作用的结果。 [0228] 在本发明的实施方案中,解码器因此可操作以识别潜在有问题的缺失 位模式的此类实例,并且当数据元素具有已被发现导致此类有问题行为的 缺失位模式时,解码器将不同的舍入方案应用于其否则将通常使用的舍入 方案。 [0229] 因此,本实施方案的解码器检查数据元素的缺失位模式,并且确定这 是否为在重复对该数据元素进行编码/解码时已(先前)被确定为产生有问 题行为的位模式,并且在该情况下,例如并且在一个实施方案中,通过应 用与解码器否则将使用的舍入方案不同的舍入方案来例外地处理数据元 素。 [0230] 也就是说,在正常操作中,并且对于不包含已被确定为导致此类有问 题行为的缺失位模式的任何数据元素(或其中不存在缺失位的数据元素, 即模式是“空”模式),解码器应用第一“标准”舍入方案(例如,如国 际专利申请公布号WO2020/115471(PCT/GB2019/ 053416)中所述的舍入 方案,该专利申请的内容以其整体并入本文)。 [0231] 然而,当解码器识别到数据元素包含有问题的缺失位模式时,解码器 反而例外地应用不同的第二舍入方案。 [0232] 导致这种行为的缺失位模式通常将取决于所考虑的编码/舍入方案。因 此,虽然在下表中描述了本编码方案的有问题的缺失位模式的各种示例, 连同适当的舍入调整,但取决于所考虑的编码/舍入方案,还可能存在有问 题的缺失位模式。然而,这些可针对特定编码/舍入方案预先确定并且然后 存储,使得解码器能够识别此类情况并且相应地应用例外舍入方案。 [0233] 因此,图4示出了根据本实施方案的解码过程的示例。如图4所示, 在通过初始熵解码重新创建量子化样本(步骤400)之后,这些量子化样本 可能具有一个或多个缺失位,然后应用适当的舍入调整(步骤401)以重新 创建任何缺失位。对于大多数数据元素,熵解码器使用其“标准”舍入方 案,例如其中选择舍入启发法以提供预期的最佳图像质量。然而,当熵解 码器检测到有问题的缺失位模式(步骤402)时,应用不同的舍入方案。 [0234] 具体地讲,在该示例中,当识别到有问题的缺失位模式时,使用其中 特定位(始终)被设置为“0”的不同舍入调整,而不是应用标准舍入方 案。 [0235] 因此,在本实施方案中,在初始熵解码之后,在应用任何舍入以填充 (在编码期间被丢弃的,并且因此针对其没有存储指示数据的)任何缺失 位之前,检查缺失位模式以检查缺失位模式是否是已被发现为导致这种有 问题行为的模式。 [0236] 然后例外地处理此类情况。也就是说,不是应用舍入方案(其可以是 固定的舍入方案,或者可由解码器选择),而是将至少一些缺失位设置为 零(即,应用“零”舍入方案)。 [0237] 然后解码照常继续,例如,通过应用期望的逆颜色变换(步骤403) 和逆空间变换(步骤404)以将数据值转换成供数据处理系统使用的期望数 据格式。 [0238] 以举例的方式,表1示出了可导致第一颜色信道(例如,Y信道)的 有问题行为的缺失位的数量。 [0239] 样本0 样本1 样本2 模式1 1 2 X [0240] 表1 [0241] 在这种情况下,当在该信道中存在1个缺失位、在第二(例如,U) 信道中存在2个缺失位并且在第三(例如,V)信道中存在任何数量的缺失 位时,由样本0表示的颜色信道(例如,Y信道)经历有问题行为。 [0242] 具体地讲,在该示例中,如果基于标准舍入方案将样本0(Y信道) 的缺失位舍入成“1”(例如),则Y值可随着每个编码/解码循环继续增 长。 [0243] 因此,当这种缺失位模式被识别时,解码器应当(并且在本实施方案 中,确实)总是将样本0(Y信道)的最低有效位设置为“0”,而不是应 用标准舍入方案。然而,其他样本(样本1和样本2)仍可被照常舍入,因 为仅针对样本0(Y信道)表现出有问题行为。 [0244] 又如,表2示出了第二(例如,U)颜色信道(样本1)的有问题模式 中的缺失位的数量。在这种情况下,样本1(U信道)的最低有效位应(并 且实际)总是被设置为“0”以防止出现有有问题行为。同样,其他样本 (Y信道和V信道)可被照常舍入。 [0245] 样本0 样本1 样本2 模式1 1 1 2 模式2 1 2 1 模式3 1 2 2 [0246] 表2 [0247] 应当理解,这些具体示例仅是为了示意性目的而被提供,并且取决于 例如编码/解码方案,可能存在可以类似方式处理的各种其他有问题的缺失 位模式。例如,一旦针对特定编码/解码方案识别了有问题的缺失位模式, 就可识别适当的例外舍入方案。 [0248] 以这种方式,通过基于由初始熵解码产生的缺失位模式选择要应用的 调整方案,本实施方案能够提供改进的稳定编码/解码过程,例如,其在重 复的编码/解码循环内是稳定的。 [0249] 当重复地相同数据片进行编码/解码时,潜在有问题行为的另一个来源 是当编码器必须选择使用哪些编码参数时。在该情况下,在编码器具有多 个可用的编码方案并且必须在不同编码参数之间进行选择的情况下,可能 期望迫使编码器在对相同数据片进行编码时使用相同的参数以便提供更一 致的编码(因为情况可能不是这样)。 [0250] 在本实施方案中,编码“提示”因此包括在已解码图像数据中,从而 指示编码器在下一次对数据进行编码时应使用哪些编码参数。该信息可嵌 入到图像数据本身中,例如通过相应地设置特定像素的最低有效位的值以 存储该信息。 [0251] 编码提示可在解码过程期间生成并且添加到已解码数据。 [0252] 因此,图5示出了根据另一个实施方案的解码流。 [0253] 解码过程开始于读取压缩数据(步骤500),并且然后执行初始熵解 码,包括任何舍入(步骤501),如上所述。 [0254] 解码器然后读取与压缩数据相关联的压缩元数据(步骤502)以确定 在编码期间使用了哪个颜色变换矩阵。解码器然后以与上述类似的方式应 用适当的逆颜色变换矩阵(步骤503)和逆空间变换(步骤504)以确定已 解码数据值。 [0255] 然而,解码器将指示使用了哪个颜色变换矩阵的编码提示嵌入已解码 图像数据中(步骤505),而不是如在先前实施方案中那样在该阶段输出已 解码图像。然后写出包括嵌入编码提示的已解码图像以供数据处理系统使 用(步骤506)。 [0256] 当要再次对图像进行编码时,编码器因此能够读取嵌入编码提示,并 且使用其来确定要使用哪个颜色变换矩阵。 [0257] 在图6中示出了编码流。读取输入图像(步骤600),并且然后编码 器从输入图像中提取编码提示的位值(步骤601)。当编码器能够识别编码 提示(步骤602‑是)时,编码器选择所指示的颜色变换矩阵(步骤603) 以供使用。 [0258] 否则,如果编码器不能识别编码提示(步骤602‑否),则编码器使 用其标准启发法来决定要使用哪个颜色变换矩阵(步骤604)。 [0259] 然后编码照常进行,其中编码应用合适的空间变换矩阵(步骤 605),之后使用所选择的矩阵来应用颜色变换(步骤606)。然后对已变 换数据值进行量子化和熵编码(步骤 607),并且然后将压缩数据连同指示 使用了哪个颜色变换矩阵的元数据一起写入压缩输出缓冲区(步骤608)。 [0260] 在本实施方案中,使用图像数据本身中的数据元素来存储编码提示。 例如,图像内的特定像素集的最低有效位可用于存储编码提示的值。编码 器然后可读取那些像素的最低有效位并且将该值与和编码提示相关联的对 应值的列表进行比较。当编码器识别出编码提示时,其然后可应用与该编 码提示相关联的颜色变换矩阵。 [0261] 例如,可存在八个不同颜色变换矩阵,以及针对编码提示的对应八个 不同值。当检测到这八个值中的一者时,编码器使用对应颜色变换矩阵。 [0262] 另一方面,如果位值不对应于八个编码提示中的一者,则编码器以正 常方式确定要使用哪个颜色变换矩阵。 [0263] 在图7中示出了编码提示可如何存储在图像数据阵列内的示例。 [0264] 图7的(A)示出了图像数据块700的示例,其中数据元素(例如,像 素)的子集701用于存储编码提示。具体地讲,四个像素701的最低有效 位用于存储编码提示的值。 [0265] 图7的(B)示出了图像数据块700的另一个示例,其中数据元素的不 同子集702用于存储编码提示。在图7的(B)中,用于存储编码提示的像 素以与图7的(A)中使用的模式不同的模式分布在图像数据块700内。如 图7的(B)中那样,将用于存储编码提示的像素间隔得更远可有助于减小 用户对图像数据中的编码提示的感知。然而,可使用任何合适的像素模式 或分布来存储编码提示。 [0266] 一般来讲,数据元素的任何合适子集可用于存储编码提示。然而,用 于存储编码提示的像素的数量应相对较少以保持图像保真度。所使用的像 素的位置也可被选择为远离图像中的预期感兴趣区域。 [0267] 还选择用于表示编码提示的值以避免共同值(诸如“0”),例如以防 止编码器错误地在尚未添加编码提示的位置检测到编码提示。 [0268] 此外,在本实施方案中,八个不同的编码提示被表示为8位值(使用 跨图像数据分布的8个最低有效位)。应当理解,可仅使用3位来表示八 个不同的编码提示。然而,使用更大数量的位减小了以下的可能性:用于 表示编码提示的8位值在图像数据中自然出现,并且因此致使编码器错误 地在不存在编码提示的位置检测到编码提示的存在。 [0269] 上述具体实施方式是为了举例说明和描述的目的而呈现的。其并非旨 在穷举或将本文所述的技术限制为所公开的精确形式。按照上述教导内 容,许多修改形式和变型形式是可能的。选择所述实施方案以便最好地解 释本文所述的技术及其实际应用的原理,从而使得本领域的其他技术人员 能够在各种实施方案中并且通过适合于所设想的特定用途的各种修改最好 地利用本文所述的技术。本发明的范围旨在由所附权利要求限定。