图像编码器及其方法、图像编码器的计算机程序和移动终端的制作方法

文档序号:6650895阅读:182来源:国知局
专利名称:图像编码器及其方法、图像编码器的计算机程序和移动终端的制作方法
技术领域
本发明涉及编码数字图像数据(例如帧图像)技术的领域。特别地,本发明涉及在同一帧中实现运动预测(内预测)的图像编码技术的领域。
背景技术
如此相关的技术,例如找到了以下专利文件。
也就是,日本早期公开专利No.232886/2002(48和49段,及图5)提出了如下技术该技术当要被编码的块在图像编码器中被编码时,基于存在于要被编码的块附近的已被编码的块的编码模式的统计属性而参考其编码模式。
另外,日本早期公开专利No.186823/1996(37和43段,及图17)提出了如下技术,当图像数据被编码时在每个要被编码的4×4像素的块中选择最适宜的差值生成方法(编码模式);用选择的差值生成方法来生成差值;以及随后对生成的差值编码。
运动图像压缩技术(例如MPEG(运动图像专家组)2、MPEG 4和其它)迄今已被用于各种类型的处理运动图像的图像处理器。
在运动图像压缩技术(运动图像编码技术,所谓的编解码器),例如MPEG 2、MPEG 4和其它中,每个组成帧图像(以下有时简称为“帧”)的像素实际没有被记录。在这样的运动图像压缩技术中,为了减少运动图像数据量,基于通过预测包含在某一帧中的图像块在其他后续帧中移动到何处(即随着时间的流逝)所获得的结果来实现图像压缩。
作为扩展这样传统的运动图像压缩技术的技术,H.264/AVC(高级视频编解码器)近几年被持续关注。H.264/AVC是由ITU-T(国际电信联盟一电信标准部门)和ISO(国际标准化组织)/IEC合作开发的一项技术,其作为运动图像压缩技术将成为公开的标准。H.264/AVC编解码器同样被称为MPEG 4AVC。
即使在这样的H.264/AVC中,图像压缩技术的基本概念和前述的传统运动图像压缩技术(例如MPEG 2或者MPEG 4)也是一样的。区别在于在H.264/AVC中采用了被称为“子宏块划分”的功能。因此,可以用更少量的数据实现比传统运动图像压缩技术更灵活的压缩处理。这里,子宏块意味着构成宏块(例如,16×16像素的块)的具有更小划分单元的块(例如,4×4像素的块)。
此外,在H.264/AVC中,通过采用称为“内预测”的功能,在前述传统的运动图像压缩技术中没有被实现的在同一帧中的运动预测可以被实现。
同时,有两种主要类型的H.264的帧内预测方法。一种是为16×16像素的每个宏块执行预测的方法(以下简称为“16×16宏块”),另一种是为4×4像素的每个子宏块执行预测的方法(以下简称为“4×4块”)。接着,在为每个4×4块执行运动预测的方法中,定义了九种模式作为预测结果的候选。另一方面,在为16×16像素的每个宏块执行运动预测的方法中,定义了四种模式作为预测结果的候选。因此,尽管其也取决于编解码器怎样被实现,但是可以想到是,大体的说,每个4×4块的运动预测允许更接近的预测,但是与每个16×16宏块的运动预测相比,容易增加计算量。

发明内容
鉴于以上情况,本发明的目的在于,当利用帧内预测对帧图像编码时,减少确定编码模式所需的计算量。
为了达成以上目的,根据本发明的图像编码方法的特征在于具有以下配置。
根据本发明的图像编码方法包括根据经处理的块,从指定的多个预测模式中选择预测模式,其中选择的预测模式的数目小于所述指定的多个预测模式的数目;根据选择的预测模式,预测输入帧图像中的块的像素;计算所述预测的像素值和输入帧中的块的像素值之间的差值;根据所述计算过程的结果来确定编码模式,所述确定的编码模式被用于所述的图像编码方法。
接着,在上述情况下,优选地,用于计算的预测模式被存储在表中。同样优选地,预测模式是根据对于可以被选为块的编码模式的多种类型模式中的每个模式,经处理的块和要被处理的块之间相关性来确定的。
注意,以上目的也可以利用与具有以上配置的图像编码方法相对应的图像编码器来达成。
此外,以上目的也可以利用如下的计算机程序和计算机可读存储介质来达成所述计算机程序利用计算机实现具有以上配置和与之相对应的设备的图像编码方法;所述计算机可读存储介质中存储有上述计算机程序。
此外,以上目的也可以利用具有对应于具有以上配置的图像编码方法的图像编码器的移动终端来达成。
此外,以上目的也可以利用以下系统来达成所述系统具有对应于具有以上配置的图像编码方法的图像编码器和与所述图像编码器相关的图像解码器。
利用上述本发明,当利用帧内预测对帧图像编码时,可以减少确定编码模式所需的计算量。
也就是,首先在本发明中,用于计算关于要被处理的块的差值的预测模式是根据在经处理的块上已经确定的编码模式而从指定的多个类型的预测模式中确定的,其中所述预测模式当在帧图像中确定要被处理的块的编码模式时被用作候选。其次在本发明中,差值是由每个确定的预测模式来计算的,并且对应于计算出的差值中的最小差值的预测模式被选为要被处理的块的编码模式。
如上所述,在本发明中,仅仅利用基于在经处理的块上已经确定的编码模式而从指定的多个类型的指定模式中确定的最小所需数目的预测模式来计算差值。因此,与需要对指定的多个类型的预测模式中的每个预测模式都单独计算差值的传统过程相比,可以明显减少在确定要被处理的块的编码模式时的计算量。


图1是举例说明本发明可应用的移动电话的配置的框图;图2是示出了根据本发明的实施例的用于在编解码器中的编码处理的电路配置的框图;图3是示出了包括在图2示出的编解码器14中的内预测电路208的电路配置的框图;图4是解释在根据本实施例的帧内预测中的帧图像(输入帧201)、组成帧图像的宏块,和组成每个宏块的子宏块的图表;图5是解释在要被处理的4×4块和已被处理的重配置帧的像素之间的关系的代表性图表;图6中的(a)到(i)包括用于解释九种模式的图表,这九种模式被指定为当要被处理的4×4块被编码时的候选;图7是解释根据本实施例的在内预测电路208中的运动预测的特征的图表;图8是示出了对应于九种模式类型(模式0到8)的模式向量的图表;图9示出了预测模式表,该表在本实施例中,当要被处理的块X的SAE计算的目标候选被选择时被参考;图10是解释根据本实施例的第一修改在内预测电路208中的运动预测的特征的图表;以及图11是在本实施例的第二修改中,在编解码器14中实现的内预测功能模块的流程图。
具体实施例方式
以下参考基于实施例的附图来详细描述本发明,其中本发明被例如应用于作为代表性移动终端的移动电话。
(移动电话的硬件配置)首先,解释根据本实施例的移动电话的硬件配置的例子。图1是举例说明本发明可应用的移动电话(包括蜂窝式电话)的配置的框图。
在本实施例中,移动电话100大致包括控制电路1、天线2、无线电收发器3、操作设备4、点选设备5、显示设备6、照相机7、麦克风8和扬声器9。
控制电路1提供CPU(中央处理单元)11、运动存储器12、保存存储器13、编解码器14和在图中未示出的硬件。在控制电路1中,CPU 11通过运行从保存存储器13读出的程序组,来控制移动电话100的每一部分。
更特别的,在控制电路1中的CPU 11在从无线电收发器3中解调的信号中检测出移动电话的呼叫号的情况下,产生传入警报。此外,在控制电路1中的CPU 11利用麦克风8和扬声器9实现语音通信、邮件的收发和包括图像的数据的通信。这些功能通过在CPU 11中处理音频信号和数字数据信号来实现。
此外,当CPU 11运行从运动存储器12中读出的程序组时,在控制电路1中的CPU 11服从由用户通过操作设备4(例如十位按键)和点选设备5输入的指令。
另外,在控制电路1中的CPU 11控制编解码器14的操作,以便编码由照相机7拍摄的图像,并解码经压缩的图像数据。这里,图像包括运动图片。
照相机7将根据CPU 11的操作指令而拍摄的帧图像输入到控制电路1中。
编解码器14将照相机7拍摄的图像(帧图像)压缩为符合指定的编码数据格式(H.264/AVC格式)的经压缩的图像数据(细节以后描述)。从编解码器14输出的经压缩的图像数据被临时存储在运动存储器12中。
此外,编解码器14在每帧中将经压缩的图像数据解码为未压缩的数字图像数据。要被解码的经压缩的图像数据这里可以是从移动电话100外部获得的经压缩的图像数据,或者在利用编解码器14编码后的存储在移动电话100中的经压缩的图像数据。
根据CPU 11的操作指令,显示设备6显示各种与用户操作相关联的被输入到操作设备4和点选设备5的内容。此外,显示设备6可以显示由照相机7拍摄的图像或运动图片,从外部获得的图像或运动图片,及其它。
运动存储器(例如,RAM随机访问存储器)12被用于在CPU 11工作期间临时存储数据。
保存存储器13是非易失性存储器(闪存或其他),并例如保存CPU 11的操作程序、各种类型的参数、移动电话的呼叫号(呼叫者ID)、用户数据(例如邮件文件和电话号码)及其它。
天线2发送或接收调制的无线电波。
无线电收发器3解调由天线2接收到的无线电波,并调制从控制电路1输出的数字信号。此外,无线电收发器3具有与通常使用的无线通信终端的无线电收发器相同的功能(例如放大信号、接收信号)。在控制电路1中的CPU 11命令无线电收发器通过无线电收发器3传输临时存储在运动存储器12中的经压缩的图像数据。
用户的语音被输入到麦克风8。扬声器9输出语音(声音)给用户。
这里,对于诸如数据收发处理和音频编解码处理之类的移动电话100利用上述设备配置中的外部设备所执行的操作,现在其移动电话100实现在以上设备配置中的外部设备,可以应用现在普遍使用的技术。此外,对于在编解码器14中执行的解码处理,可以使用根据H.264/AVC标准的一般过程。因此,在这里省略了本实施例的详细说明。
(编解码器14)接着,参考图2到9详细解释在控制电路1中的编解码器14。
图2是示出了根据本发明的实施例的用于在编解码器电路中的编码处理的电路配置的框图。附图所示的编解码器14以适当的方式来有选择地执行“帧间预测”和“帧内预测(内预测)”。这里,帧间预测是利用参考帧212对输入帧201执行运动预测的方法。相反的,帧内预测是通过参考同一帧(要被编码的单个输入帧201)来执行运动预测的方法。
编解码器14顺序地将编码处理应用到构成运动图片的每个帧(输入帧201)。也就是编解码器14获得关于输入帧201和运动补偿电路206的输出帧(后述的预测帧),或者内预测电路208的输出帧之间的差值的信息;并接着将关于差值的信息输入到DCT(离散余弦变换)电路202中。
这里,开关214被用于切换输出帧的选择。开关214根据CPU 11的指令被切换。CPU 11例如根据要被编码的帧的类型等来切换开关214。然而,这样的开关214所需的切换操作可能依赖于编码器中的执行,因此在本实施例中,所述切换操作同样不是唯一确定的。在帧内预测中,开关214被连接到内预测电路208,在帧间预测中,开关214被连接到运动补偿电路206。
接着DCT电路202将频率转换应用到输入的差值信息。接着,量化电路203对经过了频率转换的差值信息进行量化。接着编码电路204对经量化的差值信息应用熵编码,并此后将经量化的差值信息临时存储到运动存储器12。
此外,量化电路203的输出被输入到编码电路204,并同样被输入到反量化电路211。反量化电路211和位于其下一级的反DCT电路210反量化和解码在量化电路203中被量化的差值信息。通过将来自SW 214和反DCT电路210的输出相加来产生重配置帧。
接着重配置帧用过滤器209经过噪音消除和类似的处理。经过过滤器处理之后的重配置帧被从过滤器209输出,并作为参考帧212保存在运动存储器12中。在输入到过滤器209之前,重配置帧还被输入到内预测电路208和模式选择电路207。可替换地,输入到内预测电路208和模式选择电路207的重配置帧可以被过滤,即使它在图2中没有被过滤。
接着保存在运动存储器12中的参考帧被用于帧间预测。也就是,在执行帧间预测时,编解码器14首先利用运动检测电路205检测在参考帧212和输入帧201之间的运动向量。接着,运动补偿电路206根据运动检测电路205检测到的运动向量而产生预测帧。此后,如上所述,当开关214选择运动补偿电路206时,在预测帧和输入帧201之间的差值信息被输入到DCT电路202中。在图2中,即使在帧间预测中,重配置帧也还被输入到模式选择电路207和内预测电路208。然而,编解码器14适当地工作,因为开关214在帧间预测中仅被连接到运动补偿电路206。
可替换地,可以在模式选择电路207和内预测电路208之前放置开关,并在帧间预测中断开开关,以防止重配置帧输入模式选择电路207和内预测电路208。
同时,输入到内预测电路208和模式选择电路207的重配置帧被用于内预测电路208中的作为本实施例特色的帧内预测处理。在图2中,重配置帧还被输入到运动存储器12,即使在帧内预测中也如此。然而,编解码器14适当地工作,因为开关214在帧内预测中仅被连接到内预测电路208。
可替换地,可以在过滤器209之后或之前放置开关,并断开开关,以防止重配置帧输入运动存储器12。
也就是,在帧内预测中,模式选择电路207确定哪种类型的帧内预测方法被用于要被编码的输入帧201的运动预测。模式选择电路207可以大致选择将预测应用到16×16像素的每个宏块的方法,或者选择以与H.264/AVC中的帧内预测的情况同样的方式,将预测应用到4×4像素的每个块的方法。然而,在本实施例中,运动预测被应用到4×4像素的每个块(细节将以后参考图3解释)。接着内预测电路208利用模式选择电路207确定的方法来生成预测帧。
利用图2的电路配置,即使恰好在编解码器14从帧内预测改变到帧间预测之后,保存在运动存储器12中的参考帧212也可以被用于帧间预测。
这里,具有前述电路配置的编解码器14的每个组件都例如根据在控制电路1中公用的系统时钟(同步时钟)213而操作。此外,CPU 11指示编解码器14例如根据在运动存储器12中要被处理的输入帧201的临时存储,开始编码处理。接着CPU 11例如根据显示编解码器14的输入帧的编码完成的通知的接收,来准备下一个输入帧201;以及指示编解码器14执行编码处理。
(帧内预测的方法)这里,尽管与H.264/AVC的一般处理配置重复,但是仍对根据本实施例的帧内预测中采用的基本处理配置进行了说明,此后将说明本实施例特有的处理配置。
首先,解释在输入帧201和组成输入帧的4×4像素的块(4×4块)之间的关系,以及帧内预测的方法。
图4是解释在根据本实施例的帧内预测中的帧图像(输入帧201)、组成帧图像的宏块,和组成每个宏块的子宏块的图表。
如图4所示,在根据本实施例的帧内预测中,要被编码的帧图像(输入帧201)的运动预测在每个4×4块(包括在图中斜线所示的更新的4×4块)被执行,所述4×4块是组成每个16×16块(宏块)的子宏块。4×4块在编码输入帧201时,通过通常使用的锯齿形扫描来选择。同时,更新的4×4块以后解释。
图5是解释要被处理的4×4块和经处理的重配置帧的像素之间的关系的代表性图表。图6包括解释当要被编码的4×4块被编码时可以使用的九种模式的图表。
在图5所示的代表性图表中,小写字母a到p代表组成要被处理的4×4块(以下有时称为“要被处理的块X”)的16个像素。此外,大写字母A到M代表组成了在要被处理的块X的运动预测之前,已被处理的重配置帧的一部分的像素。接着,在a到p和A到M之间的位置关系在图6所示的九种模式(模式0到模式8)中是相同的。注意,在图6的(c)所示的模式2中,像素A到D和像素I到L的平均值被用作组成预测块的像素的值的预报值。
在本实施例中编解码器14处理帧内预测的过程基本上与H.264/AVC的那些过程相同。
也就是,通过利用重配置帧的像素A到M,编解码器14产生对要被处理的块X的像素a到p的4×4像素的预测块。此外,编解码器14测量已产生的预测块和实际输入块(要被处理的块X)之间的差值,并编码该差值。
更具体而言,当产生预测块时,编解码器14确定与要被处理的块X的每个像素a到p相对应的每个像素的预测值。同样,根据本实施例在编解码器14中,预先准备图6的(a)到(i)所示的九种类型的模式(模式0到模式8),以便在以与H.264/AVC的情况相同的方式产生预测块时参考这些模式。与H.264/AVC类似,编解码器14可以参考这九种类型模式中的任意一种来确定预定块。
接着,在这九种类型的模式中,在组成要被处理的块X的像素a到p的区域中所示的箭头的开始点表示这些在确定预测值时被用作标准的像素在重配置帧的像素A到M之中。例如,在图6的(b)所示的模式1的情况下,像素a到d的预测值由像素I确定,像素e到h的预测值由像素J确定,像素i到1的预测值由像素K确定,像素m到p的预测值由像素L确定。在图6所示的其它模式中,在确定预测值时被用作标准的像素和箭头之间的关系是相同的。
接着,编解码器14计算在组成预测块的4×4像素的每个预测值和组成要被处理的块X的像素a到p的像素值之间的差值。
此外,在H.264/AVC的一般处理配置中,对于每个模式,计算通过以上程序计算的差值的总值SAE(绝对误差的总和)。例如,图6的(b)所示的模式1的SAE可以用以下等式计算;
SAE=(a+b+c+d-I×4)+(e+f+g+h-J×4)+(i+j+k+l-K×4)+(m+n+o+p-L×4)。
接着,在H.264/AVC的一般处理配置中,为了提高编码效率,从这九种类型模式的计算出的SAE中选出具有最小SAE的模式。接着,通过对这样计算的差值编码,缩短了编码长度(也就是经压缩的图像数据的大小)。
然而,为全部要被处理的块X计算九种类型模式的处理配置可以确保提高编码效率,但是它增加了计算量。因此,在实现了上述帧内预测的处理配置的电子设备中,从减少硬件的体积和成本以及减少电功率消耗的观点来看,希望可以减少计算量。
从而,在本实施例中,通过根据以上参考图5和图6所述处理配置而在控制电路1的编解码器14中采取后述的处理配置和内预测电路208(参见图3),减少了计算量。这样,本实施例带来的优点是,高相关性存在于邻近的像素之间或者存在于作为图像性质的块图像之间。
图7是解释根据本实施例的内预测电路208中的运动预测的特征的图表。
在该图中,要被处理的块X是这样的块其组成要被编码的输入帧的一部分;并且具有对应于前述像素a到p的4×4像素。同时,块A和B是这样的块它们是用于输入帧的重配置帧的部分;并且包括前述像素A到M的部分。此外,在块中所示的箭头示意性地表示以后要解释的“模式向量”。这里,在以下的解释中,为块B的预测而确定的模式被称为“模式B”,并且为块A的预测而确定的模式被称为“模式A”。
高相关性存在于邻近像素之间或者存在于像素块之间的一般优点同样应用到图7所示的块A和B以及要被处理的块X之间的关系。因此,在本实施例中,提前存储了已被处理的块A和B的模式,并且通过在4×4块的帧内预测中利用已存储的块A和B的模式来确定要被处理的块X的模式。更具体而言,在本实施例中,在确定要被处理的块X的模式时,全部前述九种类型的模式都不被用作SAE计算的目标候选,而是根据已经确定的块A和B的模式,将候选的数目减少到所需的最小数目。因此,在本实施例中,与在前述一般的处理配置中计算全部九种类型的模式的SAE的情况相比,可以利用少量计算来确定要被处理的块X的模式。
注意,存在将被参考的块A和B不存在的情况。这些情况是否发生取决于块X在帧图像中的位置。在这样的情况中,即使在本实施例中,全部九种类型的模式的SAE也都要被计算。
接着,解释实现本实施例所特有的方面的内预测电路208的配置。
(内预测电路208)图3是示出了包括在图2所示的编解码器14中的内预测电路208的电路配置的框图。首先,沿操作流程来解释内预测电路208中的每个部分的功能。
通过编解码器14中的反量化和反DCT形成的重配置帧被存储在内预测电路208中的重配置帧缓冲器507中。接着,根据要被处理的块X的位置,从存储在重配置帧缓冲器507中的重配置帧中提取出已被处理的块A和B。这里,从重配置帧中提取出的块A和B保留着重配置帧在对应于图5所示像素A到M的像素处的像素值。接着,提取出的块A和B被输入到SAE计算电路501。
同时,在输入帧201中的4×4像素(像素a到p)的要被处理的块X通过模式选择电路207,被输入到内预测电路208中的SAE计算电路501中。此外,代表其数目在预测模式候选确定电路505中被减少的候选的模式信息被输入到SAE计算电路501。预测模式候选确定电路505在SAE计算电路501中对要被处理的块X的计算处理之前,确定要被处理的块X的SAE计算的目标候选。目标候选是根据已被处理的块A和B的模式(模式A和B)和在预测模式表506中描述的规则而确定的。这里,预测模式表506被提前存储在编解码器14中的非易失性存储介质中(它可以被存储在保存存储器13中)。以后参考图8和9解释预测模式表506的细节。
接着,在SAE计算电路501中,根据上述输入的信息计算关于要被处理的块X的SAE。也就是,SAE计算电路501计算由关于要被处理的块X的模式信息(即其数目被减少到最小值的模式)所代表的目标候选的每个模式的SAE。通过利用块A和B的像素A到M的像素值来计算SAE。在SAE计算电路501中计算出的模式的SAE被输入到模式确定电路502中。
接着,模式确定电路502从输入的模式的SAE中检测最小值SAE。接着,模式确定电路502确定对应于检测到的最小值SAE的模式,以作为要被处理的块X的模式。此外,模式确定电路502将代表确定的模式的信息输出到预测电路503和结果存储缓冲器504。
结果存储缓冲器504保存代表从模式确定电路502输出的模式的信息。也就是,代表保存在结果存储缓冲器504中的模式的信息不仅包括关于要被处理的块X的信息,还包括关于至今已被处理的块的信息。
更具体而言,在存储代表为要被处理的块X确定的模式的信息之前,结果存储缓冲器504已经保存了先前为邻近块A确定的模式A和先前为邻近块B确定的模式B。此外,对应于存储在重配置帧缓冲器507中的重配置帧中的块A和B的两个4×4块是由SAE计算电路501分配的。接着,预测模式候选确定电路505在SAE计算电路501中对要被处理的块X的计算处理之前,从结果存储缓冲器504中读出块A的模式A和块B的模式B,这两个块都邻近要被处理的块X。
接着,预测模式候选确定电路505通过参考在预测模式表506中描述的规则,根据块A的模式A和块B的模式B,确定所需最小数目的最适合于要被处理的块X的目标候选的模式。这里,以后参考图8和9解释在预测模式候选确定电路505中用于确定目标候选的过程。
接着,代表SAE计算的目标候选的模式信息被输入到SAE计算电路501,其中所述目标候选是在预测模式候选确定电路505中被确定的。这样,SAE计算电路501计算从预测模式候选确定电路505输入的目标候选的每个模式(模式信息)的SAE,并将计算结果设置到模式确定电路502以用于要被处理的块X。
同时,预测电路503利用代表通过模式确定电路502中的前述过程确定的模式的信息,产生要被处理的块X的差值块。接着,产生的差值块从内预测电路208输出。
(在预测模式候选确定电路505中用于确定目标候选的方法)接着,解释在预测模式候选确定电路505中用于为要被处理的块X的SAE计算确定将作为目标候选的模式的过程。
在图6的九种类型的模式中所示的箭头表示邻近像素值的变化方向。接着,当这九种类型的模式被正确表示为具有相同开始点的向量时,所述向量被表示为如图8所示。向量以下在下面的解释中被称为“模式向量”。
图8是示出了相应于九种类型的模式(模式0到8)的模式向量的图表。在图中所示的模式向量的末端点附近描述的数字分别代表对应于模式0到8的模式值(除了使用DC分量(直流分量或平均值)的模式2的情况)。由邻近的两个向量形成的角度(单位角度)为22.5度。在以下的解释中,形成作为单位角度的22.5的角度差的两个模式向量被称为“邻近模式”。
在以下的解释中,通过使用图8所示的模式向量来解释存储在预测模式表(图9)中的配置规则。
如上所述,在本实施例中,图像的一般优点被用于减少计算量。也就是,本实施例是根据这样的知识当块A的模式向量(模式A)和块B的模式向量(模式B)的方向相互接近时,要被处理的块X的模式向量的方向也与以上方向相同或类似的可能性是很高的,其中所述块A和块B已被确定为用作SAE计算的目标候选。接着,在本实施例中,根据该知识,以下解释的规则被具体化在预测模式表506中。
然而,当在预测模式候选确定电路505中确定SAE计算的目标候选时,作为一般规则(作为必选),块A的模式A、块B的模式B和模式2这三种模式必定被确定为目标候选(预测模式)。这里,模式2被确定为目标候选的原因是,模式2对应于DC分量,并且因此可以获得合理的结果,这要强于通过计算全部要被处理的块X的SAE值来获得平均SAE值。
接着,如在下面的规则(1)到(7)中解释的,根据图像的相关性,在预测模式表506中描述除了以上三种模式之外的模式。
(1)模式A和模式B彼此相等,但是不等于模式2的情况在这种情况中,与其它情况相比,块A和块B之间的相关性是最高的,并且因此估计这两个块与要被处理的块X之间的相关性同样很高。因此,在这种情况下,除了这三种类型的模式之外,不必选择一种新模式作为必选。
也就是,在模式A和模式B彼此相等,但是不等于模式2的情况下,总体来讲,只需要选择两种类型的预测模式,包括模式A(=B)和模式2。
(2)模式A和模式B是邻近模式的情况在这种情况中,在块A和块B之间的相关性相当高,并且因此估计这两个块和要被处理的块X之间的相关性也同样高。因此,在这种情况中,除了这三种类型的模式之外,也不必以与上述规则(1)相同的方式选择一种新模式作为必选。
也就是,在模式A和模式B为邻近的模式的情况下,总体来讲,仅仅需要选择三种类型的模式,包括模式A、模式B和模式2作为必选。
(3)模式A和模式B都等于模式2的情况在这种情况中,块A和块B之间相关性很低,并且因此估计这两个块和要被处理的块X之间的相关性也同样低。因此,在这种情况下,难以根据模式A和B来预测要被处理的块X的模式。然而,如果块A和块B是模式2,仍然有可能邻近那些块的要被处理的块X同样是模式2。从而,在这种情况下,除了以上三种类型的模式作为必选之外,考虑到构成帧图像的每个像素的形状,在垂直方向中的模式0和在水平方向中的模式1也被选择。
也就是,在模式A和模式B都等于模式2的情况下,总体来讲,根据前述的必选,只需要选择三种类型的模式,包括模式0、模式1和模式2。然而在这种情况下,优选地,还要选择其它模式,以便优先执行更精确的模式预测。
(4)模式A或者模式B等于模式2的情况这种情况表示,在已被确定为模式2的块A或者块B中,组成确定的块的4×4像素的DC分量是主要的。因此,该情况具有在不同于模式2的其它块和要被处理的块X之间存在相关性的可能性。因此,在这种情况中,除了以上三种类型的模式作为必选之外,还要选择与不同于模式2的块的其它块的模式相邻的模式。
也就是,在模式A或者模式B等于模式2的情况中,总体来讲,仅仅需要选择三种或四种类型的模式,包括与模式2的块(A或者B)不同的另一块的模式;邻近目标模式的一个或多个模式(一种类型或两种类型取决于块的位置);以及作为必选的模式2。
(5)模式A的模式向量和模式B的模式向量之间的角度小于90度的情况在这种情况中,在块A和块B之间存在较大相关性,并且因此估计在这两个块A,B和要被处理的块X之间也存在类似的相关性。因此,在这种情况中,除了上述三种类型的模式作为必选之外,对应于插入在块A的模式向量(模式A)和块B的模式向量(模式B)之间的全部模式向量的模式都要被选择。
也就是,在模式A的模式向量和模式B的模式向量之间的角度小于90度的情况中,总体来讲,仅仅需要选择三种到五种类型的模式作为必选,包括对应于插入在模式A和模式B之间的全部模式向量的一个或多个模式(0到最大2种类型);以及作为必选的三种类型。
(6)模式A的模式向量和模式B的模式向量之间的角度是90度的情况在这种情况中,与以上的规则(5)的情况基本类似,在块A和块B之间存在较大相关性。因此,估计在这两个块A,B和要被处理的块X之间存在着类似的相关性。然而,在这种情况中,插入在模式A和模式B之间的全部模式向量的数目比以上规则(5)的情况要大。因此,担心当以类似标准执行模式选择时,计算量没有减少。因此在这种情况中,考虑到计算效率,插入在模式A的模式向量和模式B的模式向量之间的全部模式向量没有被选择为候选,而是将与这两个模式向量分别形成45度角的模式向量选作代表。
也就是,在模式A的模式向量和模式B的模式向量之间的角度是90度的情况中,总体来讲,仅仅需要选择四种类型的模式,包括对应于被插入在模式A的模式向量和模式B的模式向量之间,并且与这两个模式向量形成45度角的模式向量的模式;以及作为必选的三种类型的模式。
(7)模式A的模式向量和模式B的模式向量之间的角度超过90度的情况在这种情况中,估计在块A和块B之间的相关性很低。因此,在这种情况中,很难根据模式A和B预测要被处理的块X。然而,这种情况仍然存在在块A或块B和要被处理的块X之间存在相关性的可能性。然而在这种情况中,选择对应于在模式A和模式B之间插入的全部模式向量的模式,并计算选择出的模式的SAE的做法效率很低。因此,在模式A的模式向量和模式B的模式向量之间的角度超过90度的情况中,除了作为必选的三种类型的模式之外,从插入在模式A的模式向量和模式B的模式向量之间的模式向量中选择两种模式向量作为代表。对于将作为代表的两种模式向量,例如,选择平均分割在块A的模式向量(模式A)和块B的模式向量(模式B)之间形成的角度的两种模式向量。
也就是,在模式A的模式向量和模式B的之间的角度超过90度的情况中,总体来讲,仅仅需要选择五种类型的模式,包括对应于模式A的模式向量和模式B的模式向量之间插入的将作为代表的两种模式向量的两种类型的模式;以及作为必选的三种类型的模式。
图9示出了预测模式表;在本实施例中,当要被处理的块X的SAE计算的目标候选被选择时,将参考此表。如图所示的预测模式表506表示根据前述规则(1)到(7),将九种类型的模式向量具体应用到要被处理的块X的例子。
在图9所示的预测模式表506中,块B的确定的模式在列的方向上示出,块A的确定的模式在行的方向上示出。于是,由块A和B的模式指定的框中的数字代表被用作要被处理的块X的SAE计算的目标候选的模式(预测模式)。此外,在图9所示的预测模式表506中,在某些框中的标记“-”意味着在选择目标候选时,在相关框中不存在将被选择的模式。接着,从预测模式表506(在图9中)和代表被选为一般规则的三种指定类型的模式可明显看出,将被选为SAE计算的目标候选的模式类型的数目最大是5,最小是2。
因此,通过本实施例,尽管还取决于图像的内容(即像素值的分布的状态)和要被处理的块X在输入帧201中的位置,但是与计算要被处理的某个块X的全部九种类型的模式相比,可以将计算量减少到一半或更少。
也就是,在本实施例中,仅仅为根据经处理的块A和B的已经确定的编码模式(模式A和B),从九种类型的模式中确定出的最少所需预测模式计算差值。这里,最小所需预测模式是作为必选的三种类型的模式,以及从预测模式表506中读出的预测模式。因此,与全部九种类型的预测模式都被分别计算的传统过程相比,在确定要被处理的块X的编码模式时,可以显著地减少计算量。
同时,当通过前述过程连续使用模式预测(模式选择)时,与根据通过计算全部九种类型的模式的SAE而获得的结果来确定最优模式的情况相比,出现累积误差增加的可能性。考虑到这种可能性,在本实施例中,为图4所示的每个16×16宏块定义了用于更新的4×4块(更新的4×4块)。接着,当要被处理的块X对应于帧图像中的更新的4×4块时,内预测电路208计算要被处理的块X的全部九种类型的模式的SAE,并根据计算结果选择最小SAE的模式。
此外,在本实施例中,内预测电路208使用位于帧图像的左末端和上末端的每个4×4块作为更新的4×4块。原因是,涉及锯齿形扫描的方向,当要被处理的块X与位于帧图像的左末端和上末端的4×4块相同时,在模式预测时将被参考的块A和B不存在。
第一修改图10是解释根据本实施例的第一修改在内预测电路208中的运动预测的特征的图表。
在本实施例中,当确定了用于计算要被处理的块X的SAE的模式时,如图10所示,使用与要被处理的块X相邻的三个块A到C。接着,关于在根据块A到C的已经确定的模式A到C,选择要被处理的块X的SAE的计算的目标候选时的规则,在本修改中也仅仅需要依照前述的规则(1)到(7)。然而,在本修改的情况中,存在三种类型的变量A到C,并且因此用图9所示的预测模式表,不可能反映块C的模式C到要被处理的块X的模式预测。为了解决这个,例如,在本修改中,准备了一张代表三个块A到C的三维表。否则,在本修改中,例如同样可接受的是,具有用于参考块C到A的预测模式表,并以适当的方式,与用于参考块A到和B的预测模式表一起使用该表。
第二修改在前述的实施例中,在移动电话100中的控制电路1中,在编解码器14中的内预测电路208由硬件组成。对比这样的设备配置,在本修改的情况中,编解码器14的前述功能由软件执行。注意,除了内预测电路208的功能外,编解码器14的其他功能几乎与H.264/AVC一般使用的功能相同。因此,当利用控制电路1中的CPU 11运行的软件而使用在这种电路配置中执行的处理过程时,可以采用一般使用的处理配置。因此,在本修改中,省略了关于利用软件实现本修改特有的内预测电路208的功能的说明,以及对与所有功能相对应的软件的说明。
图11是在本实施例的第二修改中,在编解码器14中实现的内预测功能模块的流程图。该流程图示出了由图1所示的移动电话100中的控制电路1中的CPU 11运行的软件程序的处理过程。通过图11的处理流程,在垂直方向中具有H个像素并在水平方向中具有W个像素的输入帧被处理。
在图11中,B[x,y]表示具有4×4像素的要被处理的块X。这里,字母x和y是要被处理的块X的坐标,并且它们分别满足表达式0≤x≤(W/4)-1和0≤y≤(H/4)-1。例如,在H=64和W=64的情况中,在帧图像中存在256个4×4块,并且x和y分别取0到15的值。接着,在本修改中,根据正被输入的要被处理的块X的4×4像素的像素值,要被处理的块X的坐标x和y还被输入到内预测功能模块(参见图10)。
此外,变量表[a, b]表示如图9所示的预测模式表(506)。在本修改中,预测模式表(506)例如可以被存储在保存存储器13中。变量Ref[i](0≤i≤W-1)表示在要被处理的块X之前已经确定的上一预测模式的值。也就是,在本修改中,也根据块A(模式A)和块B(模式B),确定要被处理的块X的SAE计算的目标模式。为此,在本修改中,块A和B的已经确定的模式的值被与变量Ref[i]一起保留,以代替图3所示的内预测电路208中的结果存储缓冲器504。
在以这样的变量描述的内预测功能模块(图11)中,关于要被处理的块X(B[x,y]),在控制电路1中的CPU 11首先将4×4像素的像素值和表示块X的坐标x和y输入到例如运动存储器12(步骤S801)。这里,用于存储重配置帧的重配置帧缓冲器507例如可以被设置在运动存储器12中。接着,在步骤S801,CPU 11根据要被处理的块X的位置来提取已被处理的块A和B。
接着,CPU11判断在步骤S801中输入的要被处理的块X的位置(B[x,y)是否对应于在输入帧201中的更新的4×4块(步骤S802)。
接着,当在步骤S802的判断为“是”时(更新的4×4块的情况),CPU11选择全部九种类型的模式作为要被处理的块X的SAE计算的模式候选(步骤S803)。
另一方面,当在步骤S802的判断为“否”时(不是更新的4×4块的情况),CPU 11选择设置在表[a,b](预测模式表)中的模式作为候选(步骤S804)。这里,在这种情况中,b=Ref[x-1]和a=Ref[x-W]。此外,CPU 11增加模式2、模式A和模式B作为根据上述必选的候选的三种类型的模式(步骤S805)。
CPU 11计算在步骤S803选出的九种类型的模式或者在步骤S804和S805选出的模式中的每一种模式的SAE[m](步骤S806)。这里,字母m(0≤m≤8)表示每个所选模式。
CPU 11从在步骤S806计算的SAE[m]中识别出最小值,并将对应于最小值的SAE[m]的m定义为M(步骤S807)。
CPU 11将在步骤S807定义的M设置为Ref[x](步骤S808)。接着CPU11根据模式M产生B[x,y]的差值块信息(步骤S809),并将产生的差值块信息输出到内预测功能模块外部(步骤S810)。
接着,CPU 11对输入帧201中的每个要被处理的块X执行一系列以上的处理(步骤S801到S810)。
即使在本修改的情况中,计算量的减少也要受图像内容(即像素值的分布的状态)和要被处理的块X在输入帧201中的位置的影响。然而,与前述的实施例类似,与对某个要被处理的块X计算全部九种类型的模式相比,可以将计算量减少到一半或更少。
同时,本修改可以通过以下方式获得将能够实现在说明中涉及的流程图(图11)的功能的计算机程序安装到移动电话100上;以及此后在设备的CPU 11中读出并运行该计算机程序。此外,提供给设备的计算机程序可以被存储在例如随机访问存储器的存储设备中。
此外在以上情况下,对于将计算机程序应用到设备的方法,可以采用现在一般使用的方法,例如在出货之前的生产阶段,用合适的工具将计算机程序安装到设备中的方法,在出货后进行维护等的方法,或者通过例如互联网的通信线路,从外部下载计算机程序的方法。接着在这样的情况中,本发明被配置以计算机程序的代码或存储介质。
同时,在前述的本实施例和修改中,对于将根据本发明的图像编码的处理配置应用到移动电话的情况进行了说明,以作为示例。然而,本发明的应用范围不局限于例如移动电话的移动终端。例如,本发明优选地可应用到信息处理器,例如个人计算机、PDA(个人数字助理)等等;以及需要编码数字图像功能的各种电子设备(图像处理器),例如数码相机、视频照相机、静态视频记录器等等。
权利要求
1.一种图像编码方法,包括根据经处理的块从指定的多个预测模式中选择预测模式,选择的预测模式的数目小于所述指定的多个预测模式的数目;根据选择的预测模式,预测在输入帧图像中的块的像素;计算所述预测的像素值和在输入帧中的块的像素值之间的差值;根据所述计算过程的结果,确定编码模式,所述确定的编码模式被用于所述图像编码方法。
2.根据权利要求1的图像编码方法,其中所述确定过程从根据所述选择的预测模式计算出的所有结果中确定具有最小差值的编码模式。
3.根据权利要求1的图像编码方法,其中所述选择过程选择以下编码模式作为所述选择的预测模式所述经处理的块的编码模式,基于所述经处理的块的部分像素的值的DC分量的编码模式,从如下表中读出的编码模式,在所述表中指定了在所述经处理的块中使用的编码模式和对应的最小数目的编码模式之间的关系。
4.根据权利要求1的图像编码方法,其中所述经处理的块至少是与所述要被处理的块相邻的两个块。
5.根据权利要求1的图像编码方法,其中所述预测模式是根据在所述经处理的块和所述要被处理的块之间的相关性而被确定的。
6.根据权利要求1或3的图像编码方法,其中所述经处理的块包括位于所述要被处理的块的垂直方向上的第一块和位于所述要被处理的块的水平方向上的第二块。
7.根据权利要求6的图像编码方法,其中当在所述第一块上确定的编码模式和在所述第二块上确定的编码模式彼此相等,但是该编码模式与所述基于DC分量的编码模式不同时,在所述表中没有指定对应的预测模式。
8.根据权利要求6的图像编码方法,其中当在所述第一块上确定的编码模式的向量和在所述第二块上确定的编码模式的向量彼此相邻并形成指定的单位角度时,在所述表中没有指定对应的预测模式。
9.根据权利要求6的图像编码方法,其中当在所述第一块上确定的编码模式和在所述第二块上确定的编码模式都等于所述基于DC分量的编码模式时,在所述表中指定具有垂直方向的模式和具有水平方向的模式。
10.根据权利要求6的图像编码方法,其中当在所述第一块上确定的编码模式或者在所述第二块上确定的编码模式等于所述基于DC分量的编码模式时,在所述表中指定对应于如下向量的预测模式,所述向量与在块上确定的编码模式的向量彼此相邻并与之形成指定的单位角度,并且所述向量不同于所述基于DC分量的编码模式。
11.根据权利要求6的图像编码模式,其中当在所述第一块上确定的编码模式的向量和在所述第二块上确定的编码模式的向量形成小于90度的角度时,在所述表中指定对应于插入在所述两个向量之间的全部向量的预测模式。
12.根据权利要求6的图像编码模式,其中当在所述第一块上确定的编码模式的向量和在所述第二块上确定的编码模式的向量形成90度的角度时,在所述表中指定对应于分别与所述两个向量形成45度角的向量的预测模式。
13.根据权利要求6的图像编码模式,其中当在所述第一块上确定的编码模式的向量和在所述第二块上确定的编码模式的向量形成大于90度的角度时,在所述表中指定对应于平均分割由所述两个向量形成的角度的两个向量的两个预测模式。
14.根据权利要求1到13中的任意一个的图像编码方法,其中所述图像编码方法是遵循H.264/AVC标准的帧内预测编码方法。
15.一种图像编码器,包括选择装置,用于根据经处理的块从指定的多个预测模式中选择预测模式,选择的预测模式的数目小于所述指定的多个预测模式的数目;预测装置,用于根据选择的预测模式,预测在输入帧图像中的块的像素;计算装置,用于计算所述预测的像素值和在输入帧中的块的像素值之间的差值;确定装置,用于根据所述计算装置的结果来确定编码模式,所述确定的编码模式被用于编码所述图像。
16.根据权利要求15的图像编码器,其中所述确定装置从根据所述选择的预测模式计算出的所有结果中确定具有最小差值的编码模式。
17.根据权利要求15的图像编码器,其中所述选择装置选择以下编码模式作为所述选择的预测模式所述经处理的块的编码模式,基于所述经处理的块的部分像素的值的DC分量的编码模式,从如下表中读出的编码模式,在所述表中指定了在所述经处理的块中使用的编码模式和对应的最小数目的编码模式之间的关系。
18.根据权利要求15的图像编码器,其中所述经处理的块至少是与所述要被处理的块相邻的两个块。
19.根据权利要求15的图像编码器,其中所述预测模式是根据在所述经处理的块和所述要被处理的块之间的相关性而被确定的。
20.根据权利要求15或17的图像编码器,其中所述经处理的块包括位于所述要被处理的块的垂直方向上的第一块和位于所述要被处理的块的水平方向上的第二块。
21.根据权利要求15到20中的任意一个的图像编码器,还具有帧间预测装置,用于根据在参考帧和所述输入帧图像之间的运动向量,对所述输入帧图像进行编码。
22.根据权利要求15到21中的任意一个的图像编码器,其中所述图像编码是遵循H.264/AVC标准的编码装置。
23.一种包括根据权利要求15到22中的任意一个的图像编码器的移动终端。
24.一种用于图像编码器的计算机程序产品,包括用于致使图像编码器根据经处理的块,从指定的多个预测模式中选择预测模式的指令装置,其中选择的预测模式的数目小于所述指定的多个预测模式的数目;用于致使图像编码器根据选择的预测模式,预测在输入帧图象中的块的像素的指令装置;用于致使图像编码器计算所述预测的像素值和在输入帧中的块的像素值之间的差值的指令装置;用于致使图像编码器根据所述计算过程的结果来确定编码模式的指令装置。
25.一种图像编码器,包括选择电路,该电路根据经处理的块,从指定的多个预测模式中选择预测模式,其中选择的预测模式的数目小于所述指定的多个预测模式的数目;预测电路,该电路根据选择的预测模式,预测在输入帧图象中的块的像素;计算电路,该电路计算所述预测的像素值和在输入帧中的块的像素值之间的差值;确定电路,该电路根据所述计算装置的结果来确定编码模式,所述确定的编码模式被用于对所述图像编码。
26.一种系统,包括图像编码装置,包括选择装置,用于根据经处理的块,从指定的多个预测模式中选择预测模式,其中选择的预测模式的数目小于所述指定的多个预测模式的数目;预测装置,用于根据选择的预测模式,预测在输入帧图象中的块的像素;计算装置,用于计算所述预测的像素值和在输入帧中的块的像素值之间的差值;确定装置,用于根据所述计算装置的结果来确定编码模式,所述确定的编码模式被用于对所述图像进行编码;以及图像解码装置,用于解码由所述图像编码器所编码的数据。
全文摘要
本发明提供一种图像编码方法,包括根据经处理的块,从指定的多个预测模式中选择预测模式,选择的预测模式的数目小于所述指定的多个预测模式的数目;根据选择的预测模式,预测输入帧图像中的块的像素;计算预测的像素值和在输入帧中的块的像素值之间的差值;根据所述计算处理的结果来确定编码模式,所述确定的编码模式被用于所述图像编码方法。并且本发明还提供了与以上图像编码方法相关的编码电路、编码程序、移动终端、编码和解码电路。
文档编号G06T9/00GK1767654SQ20051012492
公开日2006年5月3日 申请日期2005年10月26日 优先权日2004年10月26日
发明者金原史和 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1