首页> 中国专利> 解码代表画面序列的流的方法,编码画面序列的方法以及编码的数据结构

解码代表画面序列的流的方法,编码画面序列的方法以及编码的数据结构

摘要

本发明涉及一种解码代表画面序列的编码数据流的方法。该方法包括以下步骤:将流的至少一部分解码(100)为解码数据,从至少两个亮度变化模型的集合中选择(102)代表序列的画面之间的亮度变化的亮度变化模型,以及通过考虑该亮度变化模型从解码数据重构(104)画面数据。本发明还涉及一种编码画面序列的方法和涉及一种数据结构。

著录项

  • 公开/公告号CN102301716A

    专利类型发明专利

  • 公开/公告日2011-12-28

    原文格式PDF

  • 申请/专利权人 汤姆森特许公司;

    申请/专利号CN201080006276.0

  • 发明设计人 E.弗朗索瓦;D.索里尔;F.拉卡普;

    申请日2010-01-29

  • 分类号H04N7/26(20060101);H04N7/50(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人吕晓章

  • 地址 法国伊西莱穆利诺

  • 入库时间 2023-12-18 04:08:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-26

    专利权的转移 IPC(主分类):H04N19/61 登记生效日:20190201 变更前: 变更后: 申请日:20100129

    专利申请权、专利权的转移

  • 2014-07-02

    授权

    授权

  • 2012-03-14

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20100129

    实质审查的生效

  • 2011-12-28

    公开

    公开

说明书

技术领域

本发明涉及编码画面序列和解码代表画面序列的编码数据流的总的领 域。

本发明特别涉及一种解码代表画面序列的流的方法、一种编码画面序列 的方法、对应的解码装置和编码装置以及编码的数据结构。

现有技术

多数编码/解码方法使用画面之间的预测或者画面间预测。使用这种预测 来改进画面序列的压缩。它包括:生成用于要编码的当前画面的预测画面并 且编码当前画面和预测画面之间的差(也被称作残差画面)。预测画面与当前 画面越相关,则编码当前画面所需的比特数目越少并且因此进行高效压缩。 然而,当在该序列的画面之间存在亮度变化时,画面间预测丧失了其效率。 这种亮度变化例如是由于辉度的改变、由于渐变的效果、由于闪光等引起的。

已知用于编码/解码画面序列的方法导致(account for)总体的亮度变化。 因此,在ISO/IEC 14496-10文档中描述的标准H.264的框架内,已知使用加 权的预测方法以便改进在亮度变化的情况下的压缩。这种方法使用依赖于两 个参数(乘法参数和加法参数)的集合的唯一的亮度变化模型。单个参数集 合与用于当前画面的所有码片的每个参考画面相关联。因此,通过考虑单个 亮度变化模型,将预测参考同一参考画面的当前画面的所有像素块。这种方 法足以对均匀地应用于整个画面的总体的亮度变化进行建模并且因此对从一 个参考画面且同一参考画面预测的画面的所有块进行有效地编码。

在其中亮度变化在遍及整个画面不均匀的情形下,例如,在局部照明的 改变或者闪光的情形下,可以通过使用用于重组参考画面的H.264的工具将 若干参考画面的索引与存储器中存储的单个参考画面相关联。该解决方案可 以对同一画面的各个块使用不同的权重,即使所述块是从同一参考画面预测 而来的。然而,该解决方案在以下程度上缺乏灵活性:H.264的框架内可以 使用的参考画面的数目受到简档(profile)和简档的等级的限制或者受到运动 估计器的复杂度的限制。由此该解决方案相当大地限制了在局部亮度变化情 形下的有效性。

此外,已知怎样向存储器中存储的每个参考画面分配不同的亮度变化模 型。然而,尽管这种解决方案允许与参考画面相关联的模型的参数变化并且 因此允许不同的权重用于同一画面的各个块(即使当所述块是从同一参考画 面中预测而来的),但该解决方案不允许所述模型在从同一参考画面预测块时 改变该同一画面的这些块。

发明内容

本发明的目的是弥补现有技术的至少一个缺点。

为此目的,本发明涉及一种解码代表画面序列的编码数据流的方法,该 画面包括其中每一个与至少一个画面数据相关联的像素。

根据本发明的方法包括以下步骤:

-将代表画面数据的流的至少一部分解码为解码数据,以及

-通过考虑到代表序列中的画面之间的亮度变化的至少一个亮度变化 模型从解码数据中重构画面数据。

根据一个特定的有利实施例,该方法还包括选择步骤:以这样的方式从 至少两个亮度变化模型的集合中选择至少一个亮度变化模型以便使建模误差 最小化。

有利地,根据本发明的解码方法特别在局部亮度变化的情形下,可以针 对编码数据流的给定比特率,改进重构的画面序列的质量。

根据第一实施例,画面被划分为块,以这样的方式为当前块选择亮度变 化模型以便使当前块的邻域像素的之前重构的画面数据与由亮度变化模型滤 波的之前重构的参考画面中对应的像素的画面数据之间计算的平均二次误差 最小化。

有利地,用于当前块的至少一个亮度变化模型的选择步骤包括用于确定 每个亮度变化模型的参数的子步骤和用于根据所述当前块的邻域像素的之前 重构的画面数据与由亮度变化模型滤波的之前重构的参考画面中对应的像素 的画面数据来选择亮度变化模型的子步骤。

根据特定特征,对应像素是与当前块同位置(colocated)的参考画面块 的邻域像素。

根据变型,对应像素是由与当前块相关联的重构的运动矢量识别的、参 考画面的参考块的邻域像素。

根据另一特定特征,与当前块相关联的运动矢量的坐标被舍入到整的像 素值。

根据另一特定特征,当前块被划分为子块,将亮度变化模型的选择步骤 单独地应用于每个子块。

有利地,用于每个子块的对应像素是与当前块相关联的参考块的邻域像 素。

根据特定的有利实施例,选择步骤包括用于计算以下和的子步骤:

-被称作第一和的、当前块的邻域像素的之前重构的画面数据的和,

-被称作第二和的、参考画面中对应像素的画面数据的和,

-被称作第三和的、参考画面中对应像素的画面数据的平方和,以及

-被称作第四和的、当前块的邻域像素的之前重构的画面数据和参考画 面中的对应像素的画面数据的乘积的和。

根据该同一实施例,根据所述和来确定集合的每个亮度变化模型的参数 并且选择亮度变化模型。

本实施例在以下程度上是特别有利的:从所计算的和、在单个步骤中确 定每个亮度变化模型的参数并且直接选择模型。

根据特定特征,亮度变化模型的集合包括属于包含以下模型的亮度变化 模型的集合的至少两个亮度变化模型:

-加法亮度变化模型,

-乘法亮度变化模型,以及

-1次线性亮度变化模型。

根据特定特征,加法亮度变化模型的参数被计算为第一和与第二和之间 的差除以当前块的邻域像素的数目。

根据另一特定特征,乘法亮度变化模型的参数被计算为第四和除以第三 和。

有利地,如果Δd为正,则选择乘法亮度变化模型,否则选择加法亮度 变化模型,Δd=(1+b^2)*S3-2*S4-N*a^2,其中:

是乘法亮度变化模型的参数,

是加法亮度变化模型的参数,

-S3是第三和,以及

-S4是第四和,以及

-N是当前块的邻域像素的数目。

根据特定实施例,根据本发明的解码方法包括附加数据(标志)的解码 步骤,所述附加数据(标志)为第一块指示是否根据考虑从至少两个亮度变 化模型的集合中选择的亮度变化模型的时间预测模式在时间上预测第一块。

根据本发明的另一方面,根据本发明的解码方法包括确定步骤:当根据 给定的编码模式(即,预定义的模式)编码第二块时,从与之前重构的邻域 块相关联的附加数据的值确定所述第二块的附加数据(标志)。

本发明还涉及一种画面序列的编码方法,序列的每个画面包括其中至少 一个画面数据与其每一个相关联的像素。根据本发明的编码方法包括以下步 骤:

-考虑到代表序列的图像之间的亮度变化的至少一个亮度变化模型对画 面数据进行时间预测的步骤,以及

-对预测的画面数据的编码步骤。

根据本发明的方法包括选择步骤:以这样的方式从至少两个亮度变化模 型的集合中选择至少一个亮度变化模型以便使建模误差最小化。

本发明还涉及一种画面序列的编码装置,该序列的每个画面被划分为其 中至少一个画面数据与其每一个相关联的像素块,所述装置包括:

-运动估计模块,用于估计用于画面序列的当前块的至少一个运动矢 量,

-运动补偿模块,用于从至少一个运动矢量确定当前块的预测块,以及

-编码模块,用于通过考虑代表序列的画面之间的亮度变化的亮度变化 模型而对当前块和预测块之间的差进行编码。

该编码装置还包括:选择模块,用于从至少两个亮度变化模型的集合中 选择亮度变化模型。

有利地,特别在局部亮度变化的情形下,根据本发明的编码方法、编码 装置和解码装置能够针对编码数据流的给定比特率,改进重构的画面序列的 质量。

此外,本发明涉及一种用于解码代表画面序列的编码数据流的装置,每 个画面被划分为其中至少一个画面数据与其每一个相关联的像素块。根据本 发明的解码装置包括:

-解码模块,用于为重构当前块而解码流的至少一个运动矢量和残差数 据,

-运动补偿模块,用于从至少一个运动矢量确定预测块,以及

-重构模块,用于通过考虑代表序列的画面之间的亮度变化的亮度变化 模型,从预测块和残差数据重构当前块。

该解码装置还包括:选择模块,用于从至少两个亮度变化模块的集合中 选择亮度变化模型。

本发明还涉及一种编码画面数据结构或者涉及一种编码画面数据流,其 中对序列的码片块的附加数据进行编码,所述附加数据指示根据考虑从至少 两个亮度变化模型的集合中选择的亮度变化模型的时间预测模式来编码块。

附图说明

参照附图、借助于非限制性的实施例和有利的实现方式将更好地理解和 说明本发明,在附图中:

图1图示一种根据本发明的第一实施例的解码代表画面序列的编码数据 流的方法,

图2示出属于画面序列的当前画面和参考画面以及当前画面中的当前像 素块和指向参考画面中的参考块的运动矢量,

图3图示一种根据本发明的第二实施例的解码所编码的数据流的方法,

图4图示一种根据本发明的变型实施例的用于对运动矢量进行舍入 (round off)的方法;

图5图示一种在当前块和参考块被划分为子块的情形下、选择当前块和 参考块的邻域(neighborhood)的方法,

图6图示一种根据本发明的第三实施例的解码所编码的数据流的方法,

图7图示一种根据本发明的第四实施例的解码所编码的数据流的方法,

图8图示一种根据本发明的第五实施例的解码所编码的数据流的方法,

图9图示一种根据本发明的第一实施例的对编码数据流进行编码的方 法,

图10图示一种根据本发明的第二实施例的对编码数据流进行编码的方 法,

图11图示一种根据本发明的第三实施例的对编码数据流进行编码的方 法,

图12图示一种根据本发明的编码装置,以及

图13图示一种根据本发明的解码系统。

具体实施方式

表述“亮度变化”在英文术语中还称为“辉度变化”、“光度变化”或者“照度 变化”。画面序列是一系列的若干画面。每个画面包括像素或者画面点,其中 至少一个画面数据与其每一个相关联。画面数据例如是辉度数据或者色度数 据。术语“编码模式”被理解为由视频编码标准授权的一组编码模式。通常, 它们可以被归类为帧内(INTRA)模式(即,对与它们相关联的块不实现时 间预测而是可能实现空间预测)和帧间(INTER)模式(即,对与它们相关 联的块实现时间预测)。

应以最宽泛的含义来理解术语“运动数据”。其包括运动矢量以及可能包 括使得在画面序列中能够识别参考画面的参考画面索引。

术语“残差数据”指的是在减去其它数据之后获得的数据。该术语与术语 “残差”同义。残差块是残差数据与其相关联的像素块。

术语“预测数据”指的是用于预测其它数据的数据。预测块是预测数据与 其相关联的像素块。

例如通过在预测块和当前画面数据块之间逐个像素地求差(differentiate) 而获得残差块。

图1示出根据本发明的第一实施例的用于解码代表画面序列的编码数据 流F的方法。

在步骤100中,将流F的至少一部分解码为解码数据。步骤100通常是 二进制流的熵解码步骤。通常,解码数据包括运动数据、变换的和量化的残 差画面数据(即,时间上或者空间上预测的)或者变换和量化的画面数据(即, 没有经过预测的)等。根据变型,运动数据不进行解码而是由运动估计步骤 进行重构。用于在解码处理期间重构运动数据的该方法被称为“模板匹配”。 这种方法在2007年10月20日、中国深圳的第33届meeting of the VCEG  group of the ITU-T上公开的Steffen Kamp等人的、标题为《Decoder Side  Motion Vector Derivation》的文档VCEG-AG16中进行了描述。

在步骤102,从步骤100中解码的数据的至少一部分中、从至少两个亮 度变化模型的集合M={Mi}i∈[0;I-1]中选择亮度变化模型Mi。选取的亮度变化模 型是使得建模误差最小化的模型。在通过所选择的亮度变化模型将对应数据 进行滤波之后,在当前画面Ic的之前重构的画面数据和之前重构的参考画面 Ir中的对应数据之间计算该建模误差。建模误差例如是平均二次误差。然而, 本发明绝不限于该平均二次误差。根据变型,建模误差是通过所选择的亮度 变化模型对对应数据进行滤波之后,在当前画面Ic的之前重构的画面数据和 之前重构的参考画面Ir中的对应数据之间计算的SAD(“绝对差之和”的首字 母缩写词)。

在步骤104,从步骤102选择的亮度变化模型和在步骤100解码的数据 对画面数据,例如像素的辉度值进行重构。从以下等式重构当前画面中的坐 标(x,y)的像素的画面数据Ic(x,y):

Ic(x,y)=Mi(Ir(x+mvx,y+mvy))+res(x,y),其中(mvx,mvy)是与当前画面中 的坐标(x,y)的像素相关联的运动矢量MV的坐标,其中res(x,y)是与当前画 面中的坐标(x,y)的像素相关联的残差数据并且在步骤100中被解码,对其 可能已经应用了逆变换和逆量化。

根据图2所图示的第二实施例,画面序列中的画面被划分为像素块。在 图2中,当前块Bc位于当前画面Ic中。与该当前块Bc相关联的是指向位于 参考画面Ir中的参考块Br的运动矢量MV。当前块Bc的邻域被标注为Nc。 邻域Nc包括当前画面Ic中处于当前块Bc的附近但是不一定与该当前块Bc 相邻的像素。同样,参考块Br的邻域被标注为Nr。邻域Nr包括参考画面Ir 中处于参考块Br的附近但是不一定与该参考块Br相邻的像素。参照图3描 述该具体实施例。

在步骤300,将流F的至少一部分解码为解码数据。步骤300与参照图1 描述的步骤100相同。

在步骤301,使得能够在模型的集合M={Mi}i∈[0;I-1]中识别亮度变化模型的 索引i被初始化为零。集合M的每个模型Mi依赖于一个或者多个参数。

在步骤302,通过对当前块Bc的邻域Nr的像素和参考画面Ir的对应像 素之间的平均二次误差(标注为MQE)进行最小化来确定模型Mi的参数 即,m^i=argminmiΣ(x,y)Nc(Ic(x,y)-Mi(mi,Ir(x+mvx,y+mvy)))2.所述对应像素是邻域Nr 的像素。根据变型,对应像素是与邻域Nc的像素同位置(co-locate)的像素, 即,该参考画面Ir中具有与邻域Nc的像素的坐标的相同坐标的参考画面Ir 的像素。在该情形下,m^i=argminmiΣ(x,y)Nc(Ic(x,y)-Mi(mi,Ir(x,y)))2.

在步骤304,索引i与I-1比较。如果i<I-1,则该方法转向步骤306,否 则,转向步骤308。

在步骤306,i递增1并且该方法利用新的亮度变化模型从步骤302开始。

在步骤308,一旦已经确定集合M的所有的亮度变化模型,即,当已经 确定它们各自的参数,则选择使平均二次误差最小的模型

m^i=argminmiΣ(x,y)Nc(Ic(x,y)-Mi(mi^,Ir(x+mvx,y+mvy)))2.

在步骤310,根据以下公式,从步骤308选择的亮度变化模型和从之 前重构的参考块Br的画面数据重构当前块Bc的画面数据: Bc(x,y)=M^i(m^i,Br(x+mvx,y+mvy))+res(x,y),其中(mvx,mvy)是与当前块Bc 相关联的运动矢量MV的坐标,并且其中res(x,y)是与当前画面中的坐标(x,y) 的像素相关联的残差数据并且在步骤100中被解码,对其可能已经应用了逆 变换和逆量化。

根据图4中图示的有利的变型,运动矢量MV的坐标被舍入为像素。该 变型可以避免对参考画面中邻域Nr的像素的内插以便确定模型的参数并且 选择其中之一。  因此,在步骤302,如下计算模型的参数: m^i=argminmΣ(x,y)Nc(Ic(x,y)-Mi(mi,Ir(x+rd(mvx),y+rd(mvy))))2,其中rd(.)是舍入函数。

根据另一特定的有利变型,当块Bc被划分为子块时,独立地为块Bc的 每个子块而重复步骤300到310。然而,为了补救在该情形下出现的因果性 (causality)问题,用于每一子块的邻域Nc和Nr对于所有的子块是相同的, 并且是图5中所图示的块Bc和Br的邻域。如同在标准H.264的情形下,在 块Bc的重构方法的结束时仅仅对块Bc的子块进行整体重构的情况下,该变 型是特别有利的。块Bc是可能被划分为子块的16x16大小的宏块。在时间上 预测块Bc的所有子块以生成预测宏块,然后,从流F的一部分重构块Bc的 残差数据并将其添加到预测宏块。因此,属于块Bc的块Bc的子块的的邻域 像素的画面数据还没有被重构并且因此不能用于确定该子块的亮度变化模型 的参数。

根据由图6图示的第三实施例,解码方法包括将流F的至少一部分解码 为解码数据的步骤600。步骤600与参照图1描述的步骤100相同。

在步骤601,计算以下4个和:

S1=Σ(x,y)NcIc(x,y),

S2=Σ(x,y)NrIr(x,y),

S3=Σ(x,y)NrIr2(x,y),以及

S4=Σ(x,y)Nc,(x,y)Nr(Ic(x,y)*Ir(x,y)).

如果对同一当前块Bc测试若干运动矢量(因此意味着考虑若干集合Nr), 则由于和S1不依赖于测试的运动矢量,所以仅仅需要对它计算一次。

在步骤602,从这四个和中确定模型集合M的每个模型Mi的参数在步骤604,一旦已经确定集合M的所有的模型,即,当已经确定它们各自 的参数,则选择使平均二次误差最小的模型

M^i=argminMiΣ(x,y)Nc(Ic(x,y)-Mi(mi^,Ir(x+mvx,y+mvy)))2.

在步骤606,根据以下公式,从步骤308选择的亮度变化模型和从之前 重构的参考块Br的画面数据重构当前块Bc的画面数据。 Bc(x,y)=M^i(m^i,Br(x+mvx,y+mvy))+res(x,y),其中(mvx,mvy)是与当前块 Bc相关联的运动矢量MV的坐标,并且其中res(x,y)是与当前画面中的坐标 (x,y)的像素相关联的残差数据并且在步骤100中被解码,对其可能已经应 用了逆变换和逆量化。

参照图7描述第四特定有利实施例。该实施例应用以下情形:其中集合 M包括两个亮度变化模型,加法亮度变化模型和乘法亮度变化模型。根据加 法模型,当前块Bc的预测数据等于a+Ir(x+mvx,y+mvy),而根据乘法模型, 当前块Bc的预测数据等于b*Ir(x+mvx,y+mvy),其中a和b分别是加法模型 和乘法模型的参数。

根据本实施例的方法包括将流F的至少一部分解码为解码数据的步骤 700。步骤700与参照图1描述的步骤100相同。

在步骤701,计算以下4个和:

S1=Σ(x,y)NcIc(x,y),

S2=Σ(x,y)NrIr(x,y),

S3=Σ(x,y)NrIr2(x,y),以及

S4=Σ(x,y)Nc,(x,y)Nr(Ic(x,y)*Ir(x,y)).

如果对同一当前块Bc测试若干运动矢量(因此意味着考虑若干集合Nr), 则由于和S1不依赖于测试的运动矢量,所以仅仅需要对它计算一次。

在步骤702,根据以下等式确定两个模型的参数:

a^=(S1-S2)/N,其中N是邻域Nc和Nr中每一个的像素的数目,以及

b^=S4/S3.

在该步骤702期间,根据以下公式计算加法模型的建模误差和乘法模型 的建模误差之间的差Δd:

Δd=(1+b^2)*S3-2*S4-N*a^2.

在步骤704,差Δd与值零进行比较。如果Δd>0,则在步骤706选择乘法 模型,否则在步骤708选择加法模型。

如果在解码方法期间对同一当前块Bc测试若干运动矢量MVk(k=0,1,...,M,M>1),则可以根据以下等式直接计算与为该运动矢量选取的模 型的每个运动矢量相关联的误差Ek

-如果选取的模型是加法模型,

Ek=ΣNcIc2+ΣNrIr2-2ΣNc,Nr(Ic*Ir)-N*a^2

-如果选取的模型是乘法模型,

Ek=ΣNcIc2-b^2ΣNrIr2

由于和不依赖于测试的运动矢量,所以仅仅必须对其计算一次并且不用 于每个测试的运动矢量。

在步骤710,根据以下公式,从步骤706或708选择的亮度变化模型并且 从之前重构的参考块Br的画面数据重构当前块Bc的画面数据: Bc(x,y)=M^i(m^i,Br(x+mvx,y+mvy))+res(x,y),其中(mvx,mvy)是与当前块Bc 相关联的运动矢量MV的坐标。根据变型,本实施例还可应用于集合M包括 来自以下模型中的至少两个亮度变化模型的情况:加法亮度变化模型、乘法 亮度变化模型,以及当前块Bc的预测数据等于a+Ir(x+mvx,y+mvy)+b的1次 (degree 1)的线性亮度变化模型。

根据图8图示的第五特定有利实施例,根据本发明的方法包括将流F的 至少一部分解码为解码数据的步骤800。步骤800与参照图1的步骤100相 同。然而,在该步骤期间,解码被称作Flag(标志)的附加数据。在变型中, 附加数据Flag不是被系统地解码,而是对之前重构的邻域块的某些预定义的 编码模式(例如,跳跃(skip)模式或者帧间16x16模式)进行推断。当前块 Bc的邻域块包括例如位于当前块的顶部的块以及位于当前块的左侧的块。例 如,如果当前块Bc的编码模式是跳跃模式或者帧间16x16模式,则如果位于 当前块Bc之上的块的附加数据Flag和位于当前块Bc的左侧的块的附加数据 Flag等于FL,则当前块Bc的附加数据Flag等于FL,否则,当前块Bc的附 加数据Flag具有FL的不同的值。根据变型,当前块Bc的邻域块包括:例如, 当前块的顶部的块、位于当前块的左侧的块以及位于当前块Bc的顶部和左侧 的块。

在步骤801,解码或者推断的Flag数据与预定义值FL比较。如果Flag 不等于FL,则在步骤802从由流F中解码的数据的至少一部分重构当前块的 画面数据。根据步骤802的块Bc的重构是标准的重构步骤,即,不能够实现 亮度变化模型的选择步骤。根据特定实施例,FL=0。根据变型,FL=1。

如果Flag等于FL,则在步骤804,根据参照图1至6描述的实施例之一、 从解码的数据或者从其至少一部分,从至少两个亮度变化模型的集合 M={Mi}i∈[0;I-1]中选择亮度变化模型Mi。

在步骤806,从步骤804选择的亮度变化模型和从步骤800解码的数据 重构画面数据,例如,像素的辉度值。从以下等式重构当前块Bc的画面数据 Bc(x,y),其中(x,y)代表画面中的像素的坐标:

Bc(x,y)=Mi(Br(x+mvx,y+mvy))+res(x,y),其中(mvx,mvy)是与当前块Bc相 关联的运动矢量MV的坐标。

关于亮度变化模型的选择,参照图8描述的实施例可以与参照图1至7 描述的任一实施例组合。

本发明还涉及画面序列的编码的方法。参照图9描述第一实施例。

在步骤900中,根据之前参照图1至7描述的解码方法(步骤102、301 至308、602至604,或者701至708)的实施例之一,在至少两个亮度模型 的集合M中为块Bc选择亮度模型

在步骤902,从之前确定的参考块Br并且从在步骤900中选择的亮度变 化模型为当前块Bc生成预测块Bpred。如下定义被标注为Bpred的预测块: Bpred(x,y)=M^i(m^i,Br(x+mvx,y+mvy)),其中(mvx,mvy)是与当前块Bc相关 联的运动矢量MV的坐标。

在步骤904,编码当前块Bc和预测块Bpred之间的像素到像素的差。除 了熵编码步骤之外,如果需要,该编码步骤还可能包括变换步骤(例如DCT(离 散余弦变换))和量化。

参照图10描述第二实施例。在步骤1000中,为要编码的当前块Bc确 定至少一个运动矢量。根据特定实施例,在运动估计步骤1000期间,仅仅考 虑加法亮度变化模型,即,对当前块Bc,以这样的方式确定运动矢量和参数 a使得当前块Bc与借助于矢量识别的并且由参数a加权的参考画面中的块Br 之间的误差Err最小化,即,Err(Bc(x,y),a+Br(x+mvx,y+mvy))。根据变型, 考虑集合M的全部的亮度变化模型。在该情形下,对于当前块Bc以及对于 集合M的每个亮度变化模型以这样的方式确定运动矢量MV(mvx,mvy) 和参数的优化的集合以便使当前块Bc与借助于矢量识别的并且由具有相 关联的参数集合的模型加权的参考画面中的块Br之间的误差最小化,即,

Err(Bc(x,y),M^i(m^i,Br(x+mvx,y+mvy))).

在步骤1002,从在步骤1000确定的一运动矢量或多个运动矢量以及参 考画面Ir确定运动补偿块Br。在该步骤期间,特别在运动矢量MV具有非整 数坐标的情形下,画面Ir的像素的内插可能是必须的。

在步骤1004,根据之前参照图1至7描述的解码方法的实施例(步骤102、 301至308、602至604,或者701至708)之一,在至少两个亮度变化模型 的集合M中为当前块Bc选择亮度变化模型

在步骤1006,以以下方式从在步骤1002中确定的运动补偿块 Br(x+mvx,y+mvy)和从在步骤1004中选择的亮度变化模型为当前块Bc生成 预测块Bpred:

Bpred(x,y)=M^i(m^i,Br(x+mvx,y+mvy))).

在步骤1008,通过从当前块Bc中逐个像素地减去预测块Bpred而生成 残差块。然后在步骤1010中将该残差块编码为编码数据流F。步骤1008通 常实现残差画面数据的变换步骤以及之后的量化步骤。

参照图11描述第三实施例。

在步骤1100,例如根据比特率失真类型准则为当前块Bc确定编码模式。

在步骤1102,确定选择的编码模式是否是帧间模式。如果不是这种情形, 则在步骤1104中,根据帧内编码模式,即,在没有时间预测的情况下、如同 在标准H.264情形下在可能的空间预测的情况下,来编码块Bc。

如果选择的编码模式是帧间模式,则方法转向步骤1106。然后确定选择 的编码模式是否是考虑了亮度变化模型的模式。如果不是这样的情形,则方 法转向步骤1108并且根据标准的帧间模式来编码块Bc,即,不通过亮度变 化模型对预测块Bpred进行加权。

相反,如果选择的编码模式是考虑了亮度变化模型的模式,则方法转向 步骤1110。在步骤1110中,确定模型的集合的每个模型Mi的参数

在步骤1112,一旦已经确定集合M的所有模式,即,当已经确定了它 们各自的参数时,选择使平均二次误差最小化的模型

M^i=argminMiΣ(x,y)Nc(Ic(x,y)-Mi(mi^,Ir(x+mvx,y+mvy)))2.

在步骤1114,以以下方式从运动补偿块Br(x+mvx,y+mvy)和从选择的亮 度变化模型为当前块Bc生成预测块Bpred:

Bpred(x,y)=M^i(m^i,Br(x+mvx,y+mvy))).

步骤1112和1114等效于步骤1004。

在步骤1116中,编码当前块Bc,即,可能在变换和量化之后,编码块 Bc和通过步骤1112中选择的模型加权的预测块Bpred之间的差。

本发明还涉及参照图12描述的编码装置12。编码装置12接收属于画面 序列的输入画面I。每个画面被划分为其中至少一个画面数据与其每一个相关 联的像素块。编码装置12特别实现了具有时间预测的编码。在图12中仅仅 示出了编码装置12中与时间预测编码或者帧间编码有关的模块。未示出的并 且视频编码器领域的技术人员已知的其它模块实现具有或者没有空间预测的 帧内编码。编码装置12特别包括计算模块1200,其能够从当前块Bc中逐个 像素地减去预测块Bpred以生成残差画面数据块或者被标注为res的残差块。 编码装置12还包括模块1202,其能够对残差块res进行变换并且然后将其量 化为量化数据。变换T例如是离散余弦变换(或DCT)。编码模块12还包括 熵编码模块1204,其能够将量化数据编码为编码数据流F。编码模块12还包 括执行模块1202的逆向操作的模块1206。模块1206执行逆量化Q-1以及之 后的逆变换T-1。模块1206连接到计算模块1208,计算模块1208能够对来自 模块1206的块和预测块Bpred逐个像素地进行相加以生成存储在存储器1210 中的重构画面数据块。

编码装置12还包括运动估计模块1212,其能够对块Bc与存储在存储器 1210中的参考画面Ir的块之间的至少一个运动矢量进行估计,该画面之前已 经被编码并且然后被重构。根据变型,可以在其中存储器1210未连接到运动 估计模块1212的情形下,执行当前块Bc和原始参考画面Ic之间的运动估计。 根据本领域技术人员公知的方法,运动估计模块以这样的方式针对运动矢量 搜索参考画面Ir以便使得当前块Bc与借助于所述运动矢量识别的参考画面 Ir中的块之间计算的误差最小化。根据本发明,运动估计模块1212适合于考 虑到亮度变化模型。根据特定实施例,运动估计步骤1212仅仅考虑加法亮度 变化模型,即,该模块以这样的方式为当前块Bc确定运动矢量和参数a以便 使得当前块与借助于运动矢量MV(mvx,mvy)识别的并且由参数a加权的、存 储在存储器1210中的参考画面Ir中的块Br之间的误差最小化,即, Err(Bc(x,y),a+Br(x+mvx,y+mvy))。根据变型,运动估计模块1212考虑集合M 的所有的亮度变化模型。在该情形下,运动估计模块1212为当前块Bc并且 为集合M的每个亮度变化模型Mi,例如以这样的方式确定运动矢量 MV(mvx,mvy)和优化的参数的集合以便使得当前块与借助于矢量识别的 并且由具有相关联的参数集合的模型加权的参考画面中的块之间的误差最小 化,即,Err(Bc(x,y),Mi(mi,Br(x+mvx,y+mvy)))。运动估计模块1212还能够在 不考虑亮度变化模型的情况下确定运动矢量。

通过运动估计模块1212向能够在预定义的编码模式集合中为块Bc选择 编码模式的判定模块1214传送利用或者未利用亮度变化模型的加权的运动 数据。选取的编码模式例如是使得比特率失真类型准则最小化的编码模式。 然而,本发明不限于该选择方法并且可以根据另一准则(例如,先验类型准 则)来选择所选取的模式。由判定模块1214选择的编码模式以及在时间预测 模式或者帧间模式的情形下运动数据(例如,一运动矢量或者多个运动矢量) 被传送给运动补偿模块1216。该运动矢量或者该多个运动矢量以及选择的编 码模式被进一步传送给熵编码模块以在流F中编码。从由运动估计模块1212 确定的运动矢量以及从由判定模块1214确定的编码模式,运动补偿模块1216 接着在之前重构的并且存储在存储器1212中的参考画面Ir中确定预测块 Bpred。在具有亮度变化模型辨识的帧间编码模式中由判定模块1214选取的 编码模式的情形下,将开关S置于位置S0。

在由判定模块1214选取的编码模式是具有亮度变化模型辨识的帧间编 码模式的情形下,将开关S置于位置S1。

如果开关处于位置S1,则通过由选择模块1218从至少两个模型的集合 中选择的亮度变化模型对预测块Bpred加权。选择模块1218根据之前与图1 至7描述的实施例(步骤102、301至308、602至604,或者701至708)之 一,实现亮度变化模型的选择步骤。

模块1200、1202、1204、1206、1210、1214形成被称作编码模块的模块 组。编码模块能够通过考虑代表序列中的画面之间的亮度变化的亮度变化模 型来编码当前块和预测块之间的差。

本发明还涉及一种参照图13描述的解码装置13。解码装置13在输入端 接收代表画面序列的编码数据流F。流F例如由编码装置12传送。解码装置 13包括熵解码模块1300,其能够生成例如编码模式的解码数据以及与画面的 内容有关的解码数据,即,残差数据。

解码装置13还包括运动数据重构模块。根据第一实施例,运动数据重构 模块是对代表所述运动矢量的流F的一部分进行解码的熵解码模块1300。

根据未在图13中示出的变型,运动数据重构模块是运动估计模块。用于 通过解码装置13重构运动数据的该解决方案被称为“模板匹配”。

与画面内容有关的解码数据然后被发送给能够执行逆量化以及之后的逆 变换的模块1302。模块1302与生成了编码流F的编码模块12的模块1202 相同。模块1302连接到计算模块1304,计算模块1304能够对来自模块1302 的块和预测块Bpred逐个像素地进行相加以生成存储在存储器1306中的重构 画面数据块。解码装置13还包括与编码装置12的模块1216相同的运动补偿 模块1308。从运动矢量MV以及由熵解码模块1300解码的当前块Bc的编码 模式,运动补偿模块1308接着在之前重构的并且存储在存储器1306中的参 考画面Ir中确定预测块Bpred。在解码的编码模式是不具有亮度变化模式辨 识的帧间编码模式的情形下,将开关S置于位置S0。

在编码模式是具有亮度变化模型辨识的帧间编码模式的情形下,将开关 S置于位置S1。

如果开关处于位置S1,则通过由选择模块1310从至少两个模型的集合 中选择的亮度变化模型对预测块Bpred加权。选择模块1310与选择模块1218 相同。

模块1302、1304、1306形成被称作重构模块的模块组。重构模块能够通 过考虑代表序列中的画面之间的亮度变化的亮度变化模型、从预测块和残差 数据来重构当前块。

本发明还涉及一种编码数据流F或者涉及一种编码的画面数据结构,其 中为以帧间模式编码的每个块编码附加数据,该附加数据指示是否根据考虑 从至少两个亮度变化模型的集合中选择的亮度变化模型的时间预测模式来编 码所述块。根据变型,除了根据一个或多个特定的预定义的模式(例如根据 跳跃模式或者帧间16x16模式)编码的块之外,对以帧间模式编码的每个块 编码该附加的数据。在根据这些特定模式之一编码的块的特定情形下,不在 流中显式地编码该附加数据,而是根据这些特定模式之一从编码块的邻域块 的附加数据中、在编码装置中推断该附加数据。

明显地,本发明不限于上述的实施例示例。

具体地,本领域技术人员可以对所叙述的实施例进行任何变化并且将它 们进行组合以从它们的各种优点中受益。特别地,关于亮度变化模型的选择, 参照图8描述的实施例可以与参照图1-7描述的任何实施例进行组合。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号