专利名称:编码装置,编码方法
技术领域:
本发明涉及编码装置、编码方法及程序,并且更具体地,涉及能够在出现错误的情况下,迅速返回解码图像中重要性程度高的块的编码装置、编码方法及程序。
背景技术:
AVC(高级视频编码)、HEVC(高性能视频编码)等是图像的编码系统。帧内编码或帧间编码是这种编码系统的编码方法。帧内编码是利用同一画面内的像素执行的编码,而帧内编码的编码量通常会增加。另一方面,帧间编码是利用邻近画面的像素在画面之间执行的编码,而帧间编码的编码量小于帧内编码。编码装置基于用每种编码方法编码图像时的成本函数值选择以帧为单位或以宏块为单位的编码方法。表示所选编码方法的信息作为帧类型(图片类型)或宏块类型与编码图像一起包含在比特流中。另一方面,诸如壁挂式电视接收机的编码装置,从与显示设备分离的位置无线地发送电视广播的HD (高清晰度)视频的比特流。按照诸如利用60GHz带宽的毫米波或利用5GHz带宽的IEEE(电气与电子工程师协会)802.1ln标准的无线LAN(局域网)、UWB(超宽带)等是HD视频的无线传输系统。5GHz带宽的传输系统在市场上广泛应用,并且注意力已经被吸引到符合IEEE802.1ln标准的无线LAN,作为HD视频的无线传输系`统,它具有成本优势。在采用符合IEEE802.1ln标准的无线LAN的情况下,尽管主要流量的传输速率为IOOMpbs或更少,但通过压缩编码发送HD视频,便可以使HD视频的比特率在无压缩状态下为几个Gbps。而且,在不限于HD视频时,有发送SD (标准清晰度)视频和来自SD视频的小尺寸视频的比特流的编码装置。高速服务器等就是这样的编码装置,其布置在远程地点并且向客户端分发应用(游戏等应用)画面从而使客户端在操作期间能够操作该应用。该客户端在短时间间隔内向服务器提供客户端操作内容的反馈。在通过传输路线从编码装置中发送诸如上面提到的比特流的情况下,在传输路线上可能出现包丢失,而在接收侧可能出现接收错误。在以帧为单位执行编码的情况下,并且在帧中出现接收错误时,在接收侧可能不能获得这个帧的正常图像数据。因此,如果后续帧的编码方法是帧间编码,可能不能解码出正常的图像数据。在不以帧为单位而以切片为单位执行编码的情况下,尽管接收错误的生成单位是以切片为单位,类似于以帧为单位执行编码的情况,只要出现接收错误的后续帧的切片的编码方法是帧间编码,则不能解码出正常的图像数据。在这里,在出现接收错误的情况下迅速解码正常的图像数据,而对对每个画面的指定切片或宏块的编码方法进行帧内编码的方法是返回正常画面的方法(例如,参考JP2011-35444A)
发明内容
然而,在JP2011-35444A中公开的方法不依赖于图像的重要性程度,并且指定切片或宏块的编码方法在指定的帧周期执行帧内编码。因此,即使有重要性程度高的块,这个块的解码图像的返回定时也不会与重要性程度低的块不同。本发明是在考虑到这种情形而完成的,并且能够在出现错误的情况下,迅速返回解码图像重要性程度高的块。根据本发明的实施例,提供了编码装置,其包括帧内块确定部,其通过基于要被编码的图像每个块的优先级的频率,确定块的预测模式为强制帧内预测模式;编码部,其用帧内预测模式编码该块,对于该块预测模式已经由帧内块确定部确定为帧内预测模式;和传输部,其发送由该编码部获得的要被编码的图像的编码结果,和这个图像的预测模式。根据本发明的另一实施例,提供了对应于本发明上面实施例的编码装置的编码方法及程序。本发明的这个实施例提供了 通过基于要被编码的图像的每个块的优先级的频率,确定块的预测模式为强制帧内预测模式;用帧内预测模式编码该块,其中预测模式已经确定为帧内预测模式;并且发送要被编码的图像的编码结果,和这个图像的预测模式。根据本发明的实施例,在出现错误的情况下,可迅速返回解码图像重要性程度高的块。
图1是示出适于本发明的编码装置的第一实施例的结构示例的
图2是描述通过强制帧内宏块返回解码图像的图;图3是描述优先级确定方法的图;图4是进一步描述优先级确定方法的图;图5是描述编码处理的流程图;图6是进一步描述编码处理的流程图;图7是描述强制帧内宏块确定处理的流程图;图8是示出适于本发明的编码装置的第二实施例的结构示例的图;图9是示出适于本发明的编码装置的第三实施例的结构示例的图;图10是描述频率计算部的频率计算方法的图;图11是进一步描述频率计算部的频率计算方法的图;图12是描述频率计算处理的流程图;图13是显示HEVC系统的帧内预测模式的示例的图;图14是进一步显示HEVC系统的帧内预测模式的示例的图;图15是显示计算机硬件的结构示例的框图。
具体实施例方式在下文中,将参考附图详细描述本发明的优选实施例。要注意的是,在本说明书及其附图中,具有基本上相同的功能和结构的结构元件用相同的标号来表示,并省略对这些结构元件的重复说明。〈第一实施例〉
[编码装置的结构示例]图1是示出适于本发明的编码装置的第一实施例的结构示例的图。图1的编码装置21包括A/D转换部121、画面重排缓冲器122、计算部123、正交变换部124、量化部125、可逆编码部126、存储缓冲器127、反量化部128、反正交变换部129、加法部130、解块滤波器131、帧存储器132、开关133、帧内预测部134、运动预测/补偿部135、选择部136、接收部137、映射存储器138、帧内宏确定部139和速率控制部140。编码装置21编码由AVC系统输入的要被编码的图像数据,并发送作为结果获得的比特流。具体地,编码装置21的A/D转换部121执行要被编码的帧单元的图像数据的A/D转换,然后将该图像数据输出并存储在画面重排缓冲器122中。画面重排缓冲器122根据GOP(图片组)结构,将按照所存储的显示顺序的帧单元的图像数据,重排为用于编码的顺序,并将图像数据输出到计算部123和运动预测/补偿部135。计算部123作为编码部,通过计算从画面重排缓冲器122输出的要被编码的图像数据与选择部136提供的预测图像数据之间的差,编码要被编码的图像数据。具体地,计算部123从画面重排缓冲器122输出的要被编码的图像数据中,减去选择部136提供的预测图像数据。计算部123将由于减法获得的图像数据作为剩余信息输出到正交变换部124。要注意的是,在没有从选择部136提供预测图像数据的情况下,计算部123将从画面重排缓冲器122中读出的图像数据作为剩余信息,不经改变输出到正交变换部124。正交变换部124将诸如离散余弦变换或Karhunen-Loeve变换的正交变换施加于来自计算部123的剩余信息,并将作为结果获得的系数提供给量化部125。量化部125将来自正交变换部124的系数量化。量化系数输入到可逆编码部126中。通过对从量化部 125提供的量化系数执行诸如可变长编码(例如,CAVLC(上下文自适应可变长编码)等等)或算术编码(例如,CABAC (上下文自适应二进制算术编码)等等)的逆向编码,可逆编码部126获得编码后的数据。此外,可逆编码部126对由帧内预测部134提供的帧内预测模式信息,或由运动预测/补偿部135提供帧间预测模式信息执行逆向编码,并将作为结果获得的信息设为要加到要被编码的数据上的头部信息。可逆编码部126提供编码后的数据(作为逆向编码结果而获得的头部信息被附加到其上),并其作为比特流存储在存储缓冲器127中。存储缓冲器127暂时存储由可逆编码部126提供的比特流。存储缓冲器127作为传输部,通过传输路线将所存储的比特流发送到解码装置(未示出)。此外,由量化部125输出的量化系数输入到反量化部128中,并且在执行反量化之后,提供给反正交变换部129。反正交变换部129对由反量化部128提供的系数施加诸如反离散余弦变换或反Karhunen-Loeve变换的反正交变换,并将作为结果获得的剩余信息提供给加法部130。通过将由选择部136提供的预测图像数据加到由反正交变换部129提供的要解码的编码数据的剩余信息上,加法部130获得部分解码的图像数据。要注意的是,在没有从选择部136提供预测图像数据的情况下,加法部130将由反正交变换部129提供的剩余信息作为部分解码的图像数据。加法部130将该部分解码的图像数据提供给解块滤波器131。解块滤波器131通过对由加法部130提供的部分解码的图像数据进行滤波,去除块失真。解块滤波器131提供作为结果获得的图像数据并将其存储在帧存储器132中。在帧存储器132中存储的图像数据作为参考图像数据通过开关133输出到帧内预测部134或运动预测/补偿部135。利用由帧存储器132通过开关133提供的参考图像数据,通过执行所有候选帧内预测模式的帧内预测,帧内预测部134生成预测图像数据。然而,该帧内预测不涉及要被预测的宏块之外的像素。例如,在宏块边界处的帧内预测块中,利用规定值作为参考像素的像素值执行帧内预测。此外,帧内预测部134计算所有候选帧内预测模式的成本函数值(稍后将详细描述)。然后,帧内预测部134确定成本函数值最小的帧内预测模式作为最适合的帧内预测模式。帧内预测部134向选择部136提供由最适合的帧内预测模式生成的预测图像数据,和相应的成本函数值。在已经通知了由选择部136选择通过最适合的预测模式生成的预测图像数据的情况下,帧内预测部134向可逆编码部126提供表明最适合帧内预测模式等等的帧内预测信息。 要注意的是,成本函数值可能是RD (速率失真)成本,并且例如是基于由JM (联合模型)(其是H. 264/AVC系统中的参考软件)提供的高复杂性模式技术或低复杂性模式技术而计算的。具体地,在采用高复杂性模式作为成本函数值计算技术的情况下,对所有候选预测模式执行临时的逆向编码,并对每个预测模式计算成本函数值,由下面的方程式(I)表
示成本(模式)=D+入 *R. (I)D是原始图像和解码图像之间的差值(失真),R是包括正交变换系数的生成编码量(generation encoded amount),而入是作为量化参数QP的函数给出的拉格朗日乘数。另一方面,在采用低复杂性模式作为成本函数值计算技术的情况下,对所有候选预测模式计算头部比特,比如表示解码图像的生成和预测模式的信息,并对每个预测模式计算成本函数值,由下面的方程式(2)表示。成本(模式)=D+QPtoQuant(QP) *Header_Bit. . . (2)D是原始图像和解码图像之间的差值(失真),Header_Bit是预测模式的头部比特,而QPtoQuant是作为量化参数QP的函数给出的函数。在低复杂性模式中,由于对所有预测模式只需生成解码图像,因此不必执行逆向编码,可以减少计算量。在这里,可以采用高复杂性模式作为成本函数值的计算技术。运动预测/补偿部135基于由画面重排缓冲器122提供的图像数据和由帧存储器132通过开关133提供的参考图像数据,通过执行所有候选帧内预测模式的运动预测/补偿处理,生成预测图像数据。但是,在这个运动预测/修正处理中,将类似于紧接着的前一帧的宏块位置的宏块设为参考图像数据。要注意的是,帧间预测模式是表示要被帧间预测的块的尺寸、预测方向和参考索引(reference index)的信息。预测方向包括前向预测,利用显示时间早于要被巾贞间预测的图像的参考图像(L0预测);后向预测,利用显示时间晚于要被帧间预测的图像的参考图像(LI预测);和双方向预测,其中,显示时间早于要被帧间预测图像的参考图像,和显示时间晚于要被帧间预测图像的参考图像,都要被使用(双向预测)。此外,参考索引是用于指定参考图像的数字,并且,例如,图像的参考索引越接近要被帧间预测的图像,该数字减小得越多。此外,运动预测/补偿部135计算所有候选帧间预测模式的成本函数值。然后,运动预测/补偿部135确定成本函数值最小的帧间预测模式为最适合的帧间预测模式。运动预测/补偿部135向选择部136提供由最适合的帧间预测模式生成的预测图像数据,及相应成本函数值。在已经通知了由选择部136选择通过最适合预测模式生成的预测图像数据的情况下,运动预测/补偿部135向可逆编码部126提供表明最适合的帧间预测模式的帧间预测信息,和对应于这个最适合帧间预测模式的运动矢量。选择部136基于来自帧内宏确定部139的强制帧内宏信息,和来自帧内预测部134和运动预测/补偿部135的成本函数值,确定最适合的帧内预测模式或最适合的帧间预测模式为最适合的预测模式。要注意的是,该强制帧内宏信息是在将强制预测模式设为帧内预测模式时表明宏块位置的信息(下文中,称为强制帧内宏块)。选择部136向计算部123和加法部130提供最适合的预测模式的预测图像数据。此外,选择部136向帧内预测部134或运动预测/补偿部135通知对最适合预测模式的预测图像数据的选择。接收部137接收来自用户的每个宏块的优先级的输入。例如,作为优先级输入的值I至30,以便随着优选作为强制帧内宏块的宏块的重要性程度增加,该值减小。接收部137将该优先级提供给映射存储器138。映射存储器138为每个宏块存储由接收部137提供的优先级。此外,映射存储器138为每个宏块存储从0直到该优先级的任意值作为相位。例如,在优先级为7的情况下,映射存储器138从0至6的 任意值作为对应于这个优先级的宏块的相位。每次新帧的图像数据要被编码时,帧内宏确定部139只将帧计数N的值增加I。帧内宏确定部139基于帧计数N、在映射存储器138中存储的优先级和相位,将优先级设为一个频率,并确定相应宏块为强制帧内宏块。即,帧内宏确定部139作为帧内块确定部,基于帧计数N、优先级和相位将优先级设为频率,并确定宏块的预测模式为帧内预测模式。具体地,帧内宏确定部139用帧计数N除以优先级,并在余数是相位的情况下,将对应于这个优先级和相位的宏块设为强制帧内宏块。例如,在优先级为7而相位为6的情况下,对应于这个优先级和相位的宏块将帧计数除以7,而在余数为6的情况下将该宏块设为强制帧内宏块。用这种方法,将这个宏块设为频率为每7帧一次的强制帧内宏块。此外,在编码装置21的帧频率为30Hz的情况下,将优先级为30的宏块作为每秒一次(30巾贞)的强制巾贞内宏块。另外,可以将优先级为I的宏块正常设为强制巾贞内宏块。中贞内宏确定部139向选择部136提供强制帧内宏信息。速率控制部140基于存储缓冲器127中存储的视频流来控制量化部125量化操作的速率,从而不产生上溢和下溢。[通过强制帧内宏块使解码图像返回的描述]图2是描述通过强制帧内宏块返回解码图像的图。在图2的示例中,将图中用带斜线的方块表示的宏块设为时刻t帧中的强制帧内宏块。在这种情况下,即使在时刻t_l帧中出现了接收错误,由于没有将该宏块本身之外的像素涉及到帧内编码中,时刻t帧的强制帧内宏块的解码图像也会是正常图像。
接下来,在将新位置的宏块设为时刻t+1帧中的强制帧内宏块时,类似于时刻t帧,这些强制帧内宏块的解码图像会是正常图像。此外,在时刻t的帧的强制帧内宏块被帧内编码的情况下,将只涉及该宏块本身,而在时刻t的帧的强制帧内宏块被帧间编码的情况下,将涉及紧接的前一帧中与那些宏块本身位置类似的宏块。因此,在时刻t+1帧中,在时刻t和时刻t+1的帧中设为强制帧内宏块的宏块的解码图像将是正常图像。另外,在将新位置的宏块设为时刻t+2的帧中的强制帧内宏块时,类似于时刻t+1的帧,在时刻t、时刻t+1和时刻t+2中设为强制帧内宏块的宏块的解码图像将会是正常图像。接下来按照同样的方式,正常解码图像的宏块增加,通过假设在每帧中新位置的宏块是强制帧内宏块,最终将返回正常图像。要注意的是,在这时,与优先级低的宏块的时间相比,由于被设为高频率的强制帧内宏块,优先级高的宏块将在更早的时间返回。[优先级确定方法的描述]图3和图4是描述优先级确定方法的图。如图3所示,在要被编码图像的类型(流派)是搏击游戏的图像的情况下,等级显示区141A和141B以及能量槽显示区142将是频繁更新的区域,并且是玩家关注的重要性程度高的区域。因此,在这种情况下,与其他区域相比,编码装置21的用户为等级显示区141A和141B以及能量槽显示区142的优先级输入高优先级。这样,根据要被编码图像的类型以这样的方式确定优先级,例如在这个图像中增加具有高更新频率的区域的优先级。此外,如图4中所示,在要被编码图像的类型是包括显示玩家本身的游戏内容的上半区域151,和显示其他玩家的游戏内容的下半区域152的图像的情况下,与下半区域152相比,上半区域151将是玩家关注的重要性程度高的区域。因此,在这种情况下,与下半区域152相比,编码装置21的用户为上半区域151的优先级输入高优先级。这样,根据要被编码图像的类型以这样的方式确定优先级,例如,增加图像的指定区域(左半区域、右半区域、上半区域、下半区域、中央区域等等)的优先级。[编码部的处理的描述]图5和图6是描述图1的编码装置21的编码处理的流程图。在图5的步骤S161中,编码装置21的A/D转换部121执行输入的要被编码的帧单元的图像数据的A/D转换,然后输出该图像数据并将其存储在画面重排缓冲器122中。在步骤S162中,画面重排缓冲器122根据GOP结构,将按照所存储的显示顺序的帧单元的图像数据,重排为用于编码的顺序。画面重排缓冲器122将重排后的帧单元的图像数据提供给计算部123和运动预测/补偿部135。例如,随后的步骤S163至S181的处理按宏块单元执行。在步骤S163中,帧内预测部134通过开关133,利用由帧存储器132提供的参考图像数据,执行所有候选帧内预测模式的帧内预测处理。在这种情况下,帧内预测部134计算所有候选帧内预测模式的成本函数值。然后,帧内预测部134将成本函数值最小的帧内预测模式确定为最适合帧内预测模式。 帧内预测部134向选择部136提供由最适合帧内预测模式生成的预测图像数据,及相应成本函数值。在步骤S164中,运动预测/补偿部135基于由画面重排缓冲器122提供的图像数据和由帧存储器132通过开关133提供的参考图像数据,执行运动预测/补偿处理。在这种情况下,运动预测/补偿部135计算所有候选帧间预测模式的成本函数值。然后,运动预测/补偿部135将成本函数值最小的帧间预测模式确定为最适合的帧间预测模式。运动预测/补偿部135向选择部136提供由最适合的帧间预测模式生成的预测图像数据,及相应成本函数值。在步骤S165中,选择部136基于由帧内宏确定部139提供的强制帧内宏信息,判断目前要被处理的宏块是不是强制帧内宏块。在步骤S165中,在目前要被处理的宏块被判断为不是强制帧内宏块的情况下,处理转到步骤S166。在步骤S166中,选择部136基于由帧内预测部134和运动预测/补偿部135提供的成本函数值,将成本函数值都为最小的最适合的帧内预测模式和最适合的帧间预测模式中的一个确定为最适合的预测模式。然后,选择部136将最适合的预测模式的预测图像数据提供给计算部123和加法部130,处理转到步骤S168。此外,在步骤S165中,在目前要被处理的宏块判断为是强制帧内宏块的情况下,处理转到步骤S167。在步骤S167中,选择部136将最适合的帧内预测模式设为最适合的预测模式,处理转到步骤S168。在步骤S168中,选择部136判断最适合的预测模式是不是最适合的帧间预测模式。在步骤S168中,在最适合的预测模式判断为是最适合的帧间预测模式的情况下,选择部136向运动预测/补偿部135通知对由最适合的帧间预测模式生成的预测图像数据的选择。然后,在步骤S169中,运动预测/补偿部135输出帧间预测信息到可逆编码部126,处理转到步骤S171。
另一方面,在步骤S168中,在最适合的预测模式判断为不是最适合的帧间预测模式的情况下,即,在最适合的预测模式为最适合的巾贞内预测模式的情况下,选择部136向中贞内预测部134通知对由最适合的帧内预测模式生成的预测图像数据的选择。然后,在步骤S170中,帧内预测部134向可逆编码部126输出帧内预测信息,处理转到步骤S171。在步骤S171中,计算部123从由画面重排缓冲器122提供的图像数据中减去由选择部136提供的预测图像数据。计算部123将作为减法结果获得的图像数据作为剩余信息输出给正交变换部124。在步骤S172中,正交变换部124对来自计算部123的剩余信息施加正交变换,并将作为结果获得的系数提供给量化部125。在步骤S173中,量化部125将由正交变换部124提供的系数量化。量化系数输入到可逆编码部126和反量化部128中。在步骤S174中,可逆编码部126对由量化部128提供的量化系数,和帧间预测信息或帧内预测信息执行逆向编码。然后,可逆编码部126将逆向编码的帧间预测信息或帧内预测信息作为头部信息加到编码数据(即逆向编码的系数)上,并生成比特流。在图6的步骤S175中,可逆编码部126提供该比特流并将其存储在缓冲器127中。在步骤S176中,存储缓冲器127通过传输路线将所存储的比特流发送到解码装置(未示出)中。在步骤S177中,反量化部128执行对由量化部125提供的量化系数的反量化。在步骤S178中,反正交变换部129对由量化部128提供的系数施加反正交变换,并将作为结果获得的剩余信息提供给加法部130。在步骤S179中,加法部130将由选择部136提供的预测图像数据与由反正交变换部129提供的剩余信息相加,并获得部分解码的图像数据。加法部130将所获得的图像数据提供给解块滤波器131。在步骤S180中,解块滤波器131通过对由加法部130提供的部分解码的图像数据进行滤波,除去块失真。在步骤S181中,解块滤波器131向帧存储器132提供并存储滤波后的图像数据。在帧存储器132中存储的图像数据作为参考图像数据,通过开关133输出到帧内预测部134或运动预测/补偿部135。然后,处理结束。要注意的是,在图5和6的编码处理中,尽管正常执行帧内预测处理和运动补偿处理以便简化说明,由于图片类型等等,会出现实际上只执行其中一种处理的情况。图7是描述图1的帧内宏确定部139的强制帧内宏块确定处理的流程图。例如每当要被编码的帧单元的图像数据输入到编码装置21中时执行该强制帧内宏块确定处理。在步骤S201中,帧内宏确定部139只将帧计数N增加I。要注意的是,帧计数N的初始值为O。 在步骤S202中,帧内宏确定部139基于帧计数N以及映射存储器138中存储的每个宏块的优先级和相位,请求设为强制巾贞内宏块的宏块的位置。巾贞内宏确定部139向选择部136提供表明这些位置的强制帧内宏信息。然后,处理结束。如上所示,图1的编码装置21将要被编码的图像的每个宏块的优先级设为频率,并确定该宏块的预测模式是强制帧内预测模式。用这种方法,频繁地将优先级高的宏块设为强制帧内宏块。结果,在解码侧出现错误的情况下,能够迅速返回解码图像内具有高优先级的宏块,即,重要性程度高的宏块。〈第二实施例〉[编码装置的结构示例]图8是示出适于本发明的编码装置的第二实施例的结构示例的图。在图8中示出的结构元件内,相同的标号被附加到与图1类似的结构元件。将适当省略其重复说明。图8的编码装置160的结构不同于图1的结构在于包括检测部161代替接收部137。图8的编码装置160基于要被编码的帧单元的图像数据的运动矢量,确定每个宏块的优先级。具体地,编码装置160的检测部161用作优先级确定部,并利用从画面重排缓冲器122输出的要被编码的帧单元的图像数据,检测该图像数据的每个宏块的运动矢量。检测部161基于检测到的每个宏块的运动矢量确定每个宏块的优先级,从而运动矢量越大,优先级越高(优先级的值变得更小)。检测部161提供所确定的优先级并存储在映射存储器138中。如上所述,由于编码装置160基于运动矢量确定优先级,随着运动增加,在出现错误时要迅速返回的宏块的优先级也增加,而能够迅速返回这个宏块。〈第三实施例〉[编码装置的结构示例]图9是示出适于本发明的编码装置的第三实施例的结构示例的图。在图9中示出的结构元件内,相同的标号被赋予与图1类似的结构元件。将适当省略其重复说明。图9的编码装置180的结构不同于图1的结构在于包括新的频率计算部181,并包括映射存储器182代替映射存储器138。图9的编码装置180统计地处理每个宏块的优先级,并基于统计处理后的优先级,计算设为强制帧内宏块的宏块的频率。具体地,编码装置180的频率计算部181生成柱状图,作为从接收部137输出的优先级的统计处理,并基于这个柱状图,计算设为强制帧内宏块的每个宏块的频率。然后,频率计算部181将这些频率提供给映射存储器182。映射存储器182为每个宏块存储频率计算部181提供的频率。此外,映射存储器182存储从0直到优先级的任意值作为每个宏块的相位。例如,在频率为7的情况下,映射存储器182存储从0到6的任意值作为对应于这个频率的宏块的相位。[频率的计算方法]图10和图11是描述频率计算部181的频率计算方法的图。频率计算部181首先通过`下面的方程式(3)利用标准更新帧周期N2def和画面内的宏块总数(下文中称为MB数量)计算最大更新帧周期N2max内的强制帧内宏块的总数(下文中称为帧内MB总数)。要注意的是,标准更新帧周期N2def是强制帧内宏块的平均更新频率,并且是,例如,AVC系统的IDR图片间隔的默认值。此外,最大更新帧周期N2max是预先设置的强制帧内宏块的间隔的最大值,并且在最大更新帧周期N2max内,每个宏块一次或多次地被设为强制巾贞内宏块。中贞内MB 总数=MB 数量 X (N2max/N2def). . . (3)例如,如图10中所示,在标准更新帧周期N2def为12帧,而最大更新帧周期N2max为24帧的情况下,帧内MB总数变成2 ( = 24/12)倍于MB数量。要注意的是,在图10中,方块表示每个帧的指定宏块,并且在有带斜线的方块的情况下,由这些方块表示的宏块是强制巾贞内宏块。接下来,频率计算部181生成优先级的柱状图。例如,如图11的A所示,在已经确定每个宏块的优先级的情况下,频率计算部181生成如图11中所示的柱状图。要注意的是,在图11的A中,方块表示宏块,而方块内的数字表示用这个方块表示的宏块的优先级。在图11的示例中,一个包括4X6宏块的画面,并且为每个宏块设定优先级为0至3。此外,在图11的B中示出的柱状图中,优先级0的频率是10,优先级I和优先级2 二者的频率是4,而优先级3的频率是6。然后,为了使在最大更新帧周期N2max内请求的、高优先级的宏块的强制帧内宏块的数量(下文中称为请求宏块数)增加,频率计算部181利用对应于每个优先级的优先级索引计算请求宏块数。具体地,频率计算部181将优先级的优先级索引乘以所生成的柱状图中每个优先级的频率,并假设作为结果获得的相乘值是请求宏块数。
例如,如果假设优先级0至3的优先级索引是I至4,在图11的情况下,优先级0的请求宏块数是10 ( = 10XI),而优先级I的请求宏块数是8 ( = 4X2)。此外,优先级2的请求宏块数是12 ( = 4X3),而优先级3的请求宏块数是24( = 6X4)。接下来,频率计算部181基于请求宏块数,为每个优先级确定设为强制帧内宏块的频率。具体地,频率计算部181首先将一个帧内MB总数分配给每个宏块,并计算剩余数量。例如,在帧内MB总数为48(比如图10中的情况)而MB数量为24( = 4X6)(比如图11中的情况)的情况下,剩余数量将是24 ( = 48-24)。此外,由于将一个帧内MB总数分配给每个宏块,频率计算部181从每个优先级的请求宏块数中减去IX频率部分。用这种方法,在图11的情况下,优先级0至3的请求宏块数将分别是 0( = 10-1X10),4( = 8-1X4)、8( = 12-1X4)和 18( = 24-1X6)。然后,频率计算部181根据相减后的请求宏块数,用下面的方程式(4)将剩余数量分配给每个优先级。分配数量_(剩余数量/所有优先级减法后的请求宏块数的总数)X减法后的请求宏块数 (4)例如,在上面示出的剩余数量是24的情况下,减法后优先级0至3的请求宏块数是0、4、8和18,优先级0至3的分配数量将分别是0( = 24/(0+4+8+18) )x0)、3( (24/(0+4+8+18)) x4)、6( ^ (24/(0+4+8+18) )x8)和 14( (24/(0+4+8+18)) xl8)。然后,频率计算部181将最初分配到每个宏块上的I加到利用上面的方程式(4)求得的每个优先级的分 配数量上,并用下面的方程式(5)设定最终分配数量。最终分配数量=分配数量+IX频率...(5)例如,在上面示出的优先级0至3的分配数量为0、3、6和14的情况下,如图11中示出的柱状图中,优先级0至3的最终分配数量将分别为10( = 0+1x10)、7( = 3+1x4)、10( = 6+1x4)和 20 ( = 14+1x6)。最后,频率计算部181用下面的方程式(6)根据每个优先级的最终分配数量计算设为强制帧内宏块的频率。频率=N2max/(最终分配数量/频率). (6)例如,在优先级0至3的最终分配数量分别为10、7、10和20的情况下,优先级0至 3 的频率将为 24 ( = 24/(10/10))、14 ( ^ 24/(7/4))、10 ( ^ 24/(10/4))和 8( 24/(20/6))。[编码装置的处理的描述]接下来,将描述编码装置180的处理。由于编码装置180的编码处理类似于图5和6的编码处理,将省略其描述。此外,由于编码装置180的强制帧内宏块确定处理除了优先级的点数代替了频率之外,类似于图7的强制帧内宏块确定处理,将省略其描述。图12是描述编码装置180的频率计算部181的频率计算处理的流程图。在图12的步骤S221中,频率计算部181利用上面提到的方程式(3)计算帧内MB总数。在步骤S222中,频率计算部181生成优先级的柱状图。在步骤S223中,频率计算部181利用对应于每个优先级的优先级索引,来计算请求宏块数,从而具有高优先级的宏块的请求宏块数增加。
在步骤S224中,频率计算部181将一个帧内MB总数分配到每个宏块,并计算剩余数量。在步骤S225中,频率计算部181从每个优先级的请求宏块数中减去IX频率。在步骤S226中,频率计算部181根据减法后的请求宏块数,利用上面提到的方程式(4),将剩余数量分配给每个优先级。在步骤S227中,频率计算部181利用上面提到的方程式(5)计算最终分配数量。在步骤S228中,频率计算部181利用上面提到的方程式¢),根据每个优先级的最终分配数量,为每个优先级计算设为强制帧内宏块的频率。在步骤S229中,频率计算部181根据每个宏块的优先级,提供每个宏块设为强制帧内宏块的频率并将其存储在映射存储器182中。然后,处理结束。要注意的是,所请求的帧内宏块的数量的计算方法,在该计算方法中具有高优先级的宏块的请求宏块数增加的情况下,不限于上面提到的计算方法。此外,帧内MB总数的分配方法不限于上面提到的分配方法。此外,在上面的描述中,尽管要被编码的图像的指定宏块的预测模式被设为强制帧内预测模式,预测模式设为强制帧内预测模式的单位可能不是宏块而是切片。在这种情况下,以该单位确定优先级。另外,可以基于表示优先级的优先级信息,而不是由优先级本身来确定设为强制帧内宏块的频率。在这种情况下,将值-1至16设为优先级信息,例如,优先级信息16表示最高优先级,而优先级信息0表示最低优先级。此外,优先级信息-1表示未设定强制帧内宏块,并表不正常地设定强制巾贞内宏块。此外,相位可以从0开始顺序地分配,不用指定值,而是例如以相同优先级的宏块的扫描顺序。另外,可以将除 了优先级(频率)和相位之外的信息按宏块单元记录在映射存储器138 (182)中。在这种情况下,基于除了优先级(频率)和相位之外的信息确定强制帧内宏块的位置。此外,接收部137不仅是来自用户的每个宏块的优先级的输入,而且可以接收对应于优先级的样品图像的图像数据的输入。在这种情况下,接收部137将从画面重排缓冲器122输出的要被编码的图像数据与该样品图像的图像数据进行比较,并输出对应于最类似样品图像的优先级。用这种方法,用户能够更容易地输入优先级,而无需输入所有帧的优先级。此外,根据本发明的实施例的编码系统,除了 AVC系统之外,可以是MPEG (运动图像专家组)系统,或者是与AVC系统相比编码效率更好的HEVC系统。在编码系统是HEVC系统的情况下,例如,预测块的尺寸为8X8的亮度信号的帧内预测模式,是表示33个方向的帧内预测模式的帧内预测模式的34个帧内预测模式(图13中所示)和DC预测。此外,按照坐标(dxlntra,dylntra),在亮度信号的巾贞内预测模式中,其中预测块的尺寸为16X16像素、32X32像素和64X64像素,模式数量为33,如图14中所示。要注意的是,坐标(dxlntra,dylntra)表示端点的基础像素的位置,而不是直线的指定坐标(x,y)的基础像素的位置,在所述直线中用作邻近于预测块的邻近块的预测像素的像素相交。S卩,用作邻近块的预测像素的像素与连接坐标(x+dxlntra, y+dylntra)位置与基础像素的直线相交。
此外,尽管约束了参考图像数据,比如在如图2中示出的上面提到的实施例中返回了一次的宏块的解码图像被正常持续下去,该参考图像数据的约束不限于此。此外,参考图像数据可以没有约束地用于相关领域的编码系统中。〈第四实施例〉[适用于本发明的计算机的描述]上面提到的一系列处理能够由硬件执行。在由软件执行该系列处理的情况下,将配置这个软件的程序安装在计算机中。在这里,例如,通过安装结合到专业硬件和各种程序的计算机,该计算机中包括能够执行各种功能的通用个人计算机。图15是显示通过程序执行上面的系列处理的计算机的硬件的结构示例的框图。CPU (中央处理单元)601、R0M (只读存储器)602、RAM (随机存取存储器)603和总线604在计算机中相互连接。而且将输入/输出接口 605连接到总线604。将输入部606、输出部607、存储部608、通信部609和驱动器610连接到输入/输出接口 605。输入部606包括键盘、鼠标、话筒等等。输出部607包括显示器、扬声器等等。存储部608包括硬盘、非易失存储器等等。通信部609包括网络接口等等。驱动器610驱动可移动媒体611,比如磁盘、光盘、磁光盘或者半导体存储器。在如上配置的计算机中,例如,由通过输入/输出接口 605和总线604载入存储在存储部608中的程序到RAM603中并执行的CPU601执行上面提到的系列处理。由计算机(CPU601)执行的程序可以,例如,记录在可移动媒体611中并由其提供为包装媒体等等。此外,该程序可以通过有线或无线传输介质提供,比如局域网、互联网或 者数字卫星广播。在该计算机中,通过将可移动媒体611安装在驱动器610中,该程序可以通过输入/输出接口 605安装在存储部608中。而且,该程序可以通过有线或无线传输介质由通信部609接收,并且可以安装在存储部608中。此外,该程序可以预先安装在R0M602和存储部608中。要注意的是,由计算机执行的该程序可以是根据本发明中描述的顺序,执行时间序列处理的程序,或者可以是在必要的定时并行地执行该处理的程序,比如在执行调用时。而且,在本发明中,系统意味着由多个配置元件(比如装置或模块(部件))构成的整体,并且不考虑所有配置元件是否在同一个外壳内。因此,该系统可以是容纳于分开的外壳中并通过网络连接的多个装置,或者是在单个外壳内的多个模块。本领域的技术人员应该理解的是,在所附权利要求及其等同范围内,根据设计需求和其它因素,可以出现各种修改、组合、子组合和变型。例如,本发明可以采用云计算配置,其中将一个功能通过网络进行分配并连接来执行处理。而且,由上述流程图描述的每个步骤可以由一个装置或者通过分配到多个装置来执行。另外,在一个步骤中包括多个处理的情况下,包括在这一个步骤中的该多个处理可以由一个装置或者通过分配到多个装置来执行。此外,本技术也可以如下配置。
(I) 一种编码装置,包括帧内块确定部,其通过基于要被编码的图像的每个块的优先级的频率,确定该块的预测模式为强制帧内预测模式;编码部,其用帧内预测模式对所述帧内块确定部已确定预测模式为帧内预测模式的块进行编码;和传输部,其发送由所述编码部获得的所述要被编码的图像的编码结果和所述图像的所述预测模式。(2)根据(I)的编码装置,还包括接收部,其接收来自用户的该优先级的输入。(3)根据(I)或(2)的编码装置,其中,根据要被编码的图像的类型确定优先级。(4)根据⑴至(3)中任何一个的编码装置,其中,以增加具有高更新频率的块的优先级的方式确定优先级。(5)根据⑴至(3)中任何一个的编码装置,其中,以增加要被编码的图像的画面的左半区域、右半区域、上半区域、下半区域或中央区域的块的优先级的方式确定优先级。(6)根据(I)的编码装置,还包括
优先级确定部,其检测该块的运动矢量,并以该块的该运动矢量越大,该优先级越高的方式确定该优先级。(7)根据⑴至(6)中任何一个的编码装置,其中,该帧内块确定部将该优先级设为该频率。(8)根据⑴至(6)中任何一个的编码装置,还包括频率计算部,其统计地处理该优先级,并基于统计处理后的该优先级计算该频率,其中,该帧内块确定部利用由该频率计算部计算的该频率,确定该块的该预测模式为强制帧内预测模式。(9) 一种编码装置的编码方法,包括通过基于要被编码的图像的每个块的优先级的频率确定块的预测模式为强制帧内预测模式;用帧内预测模式对帧内块确定的处理已确定预测模式为帧内预测模式的块进行编码;以及发送通过编码处理获得的所述要被编码的图像的编码结果和所述图像的所述预测模式。(10)用于使计算机执行下列部件功能的程序帧内块确定部,其通过基于要被编码的图像的每个块的优先级的频率,确定该块的预测模式为强制帧内预测模式;编码部,其用帧内预测模式对所述帧内块确定部已确定预测模式为帧内预测模式的块进行编码;和传输控制部,其控制对由所述编码部获得的所述要被编码的图像的编码结果和所述图像的所述预测模式的发送。本发明包含的主题涉及2011年10月24日提交到日本专利局的日本优先专利申请JP2011-232747中公开的主题,该申请的全部内容通过引用结合于此。
权利要求
1.一种编码装置,包括 帧内块确定部,其通过基于要被编码的图像的每个块的优先级的频率,确定该块的预测模式为强制帧内预测模式; 编码部,其用帧内预测模式对所述帧内块确定部已确定预测模式为帧内预测模式的块进行编码;和 传输部,其发送由所述编码部获得的所述要被编码的图像的编码结果和所述图像的所述预测模式。
2.根据权利要求1的编码装置,还包括 接收部,其接收来自用户的优先级的输入。
3.根据权利要求1的编码装置, 其中,所述优先级是根据所述要被编码的图像的类型确定的。
4.根据权利要求1的编码装置, 其中,所述优先级以增加具有高更新频率的块的优先级的方式而被确定。
5.根据权利要求1的编码装置, 其中,所述优先级以增加所述要被编码的图像的画面的左半区域、右半区域、上半区域、下半区域或中央区域的块的优先级的方式而被确定。
6.根据权利要求1的编码装置,还包括 优先级确定部,其检测所述块的运动矢量,并以所述块的运动矢量越大则所述优先级越高的方式确定所述优先级。
7.根据权利要求1的编码装置, 其中,所述帧内块确定部将所述优先级设为频率。
8.根据权利要求1的编码装置,还包括 频率计算部,其统计地处理所述优先级,并基于统计处理后的所述优先级计算所述频率, 其中,所述帧内块确定部通过由所述频率计算部计算的频率确定所述块的预测模式为强制帧内预测模式。
9.一种编码装置的编码方法,包括 通过基于要被编码的图像的每个块的优先级的频率确定块的预测模式为强制帧内预测模式; 用帧内预测模式对帧内块确定的处理已确定预测模式为帧内预测模式的块进行编码;以及 发送通过编码处理获得的所述要被编码的图像的编码结果和所述图像的所述预测模式。
10.一种用于使计算机执行如下部件的功能的程序 帧内块确定部,其通过基于要被编码的图像的每个块的优先级的频率,确定该块的预测模式为强制帧内预测模式; 编码部,其用帧内预测模式对所述帧内块确定部已确定预测模式为帧内预测模式的块进行编码;和 传输控制部,其控制对由所述编码部获得的所述要被编码的图像的编码结果和所述图像的 所述预测模式的发送。
全文摘要
提供了一种编码装置,编码方法。该编码装置,包括帧内块确定部,其通过基于要被编码的图像每个块的优先级的频率确定块的预测模式为强制帧内预测模式;编码部,其用帧内预测模式编码该块,对于该块预测模式已经由该帧内块确定部确定为帧内预测模式;和传输部,其发送由该编码部获得的要被编码的该图像的编码结果,和图像的预测模式。
文档编号H04N7/64GK103067700SQ20121040696
公开日2013年4月24日 申请日期2012年10月17日 优先权日2011年10月24日
发明者宫原信祯, 安藤裕司, 冈田良平, 太田攻 申请人:索尼公司, 索尼电脑娱乐公司