具体实施方式
本发明所解决的问题是观察到常规判定技术需要太多的存储容量来执行所有的判定以及按照预期的顺序执行实际的滤波处理,如下文所述。为了降低存储成本,根据本发明,对执行判定处理的块执行分割,从而使MIC存储需求降至最低。根据另一特定方面,还实现了降低的总计算复杂性。
图4示出了分别在对图1、图2和图3的描述当中提到的解块滤波器(例如,150、250、350a和350b)的应用的范例。这样的解块滤波器可以针对块边界处的每一样本判定是否要对其滤波。在要对其滤波时,应用低通滤波器。这一判定的目的在于仅对一些样本滤波,对于这些样本而言,上述背景技术部分描述的逐块处理中所应用的量化将导致块边界处产生大的信号变化。这一滤波的结果是边界处的平滑化信号。所述平滑化的信号对观察者带来的困扰要比分块伪影少。对于一些样本而言,边界处的大的信号变化属于要编码的原始信号,那么就不应对这些样本滤波,这样才能保持高频率,继而保持视觉清晰度。假设发生了错误的判定,那么图像要么会受到不必要的平滑化,要么还是会呈块状。
图4A示出了针对垂直边界所做的(是否要采用水平解块滤波器进行滤波的)判定,图4B示出了针对水平边界所做的(是否要采用垂直解块滤波器进行滤波的)判定。具体而言,图4A示出了要解码的当前块340以及该块的已经被解码的相邻块310、320和330。针对处于一排内的像素360执行判定。类似地,图4B示出了同一当前块340以及针对处于一列内的像素370执行的判定。
可以如下执行有关是否应用解块滤波器的判断,其与H.264/MPEG-4AVC类似。让我们来看一排的六个像素360,它们当中的前三个像素p2、p1、p0属于左边的相邻块A330,接下来的三个像素q0、q1和q2处于当前块B340,仍然如图5所示。排410示出了块A和B之间的边界。像素p0和q0分别是左侧邻块A和当前块B的处于彼此直接相邻的位置上的像素。例如,在满足下述条件时通过解块滤波器对像素p0和q0进行解块滤波:
|p0-q0|<αH264(QPNew),
|p1-p0|<βH264(QPNew),以及
|q1-q0|<βH264(QPNew),
其中,一般而言,βH264(QPNew)<αH264(QPNew)。这些条件旨在检查p0和q0之间的差异是否源自于分块伪影。它们对应于对块A和块B的每者内的以及它们之间的一阶导数的评估。
如果除了上面的三个条件之外如果还满足下述条件就对像素p1滤波。
|p2-p0|<βH264(QPNew).
例如,如果除了上面的前三种条件之外还满足下述条件,那么对像素q1滤波:
|q2-q0|<βH264(QPNew).
这些条件分别对应于第一块内的一阶导数以及第二块内的一阶导数。在上述条件当中,QP表示指示所应用的量化的量的量化参数,β,α是标量常数。具体而言,QPNew是如下以应用于相应的第一和第二块A和B的量化参数QPA和QPB为基础导出的量化参数:
QPNew=(QPA+QPB+1)>>1,
其中,“>>n”表示右移n位(在上面的公式中:一位)。
上面的条件对应于块内的一阶导数的评估。可以只对块的一个或多个选定的排执行判定,同时对所有的排360执行相应的像素滤波。图5中示出了在遵照HEVC的判定中涉及的排430的范例420。在排430的基础上执行有关是否要对整个块滤波的判定。
可以在ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的JTC-VC的JCTVC-E603文件8.6.1部分中找到解块滤波的另一个范例,可以在http:∥wftp⒊ITU.int/av-arch/jctvc-site免费获得该文件。
相应地,在HEVC中采用两排430判定是否要应用解块滤波以及如何应用解块滤波。在本说明书中通篇采用第一判定步骤D1标示这一判定步骤。范例420采取了对第三(具有标引2)和第六(具有标引5)排的估算,以实现水平块化滤波的目的。具体而言,如下估算每一块内的二阶导数,由此获得度量dp和dq:
dp2=|p22-2·p12+p02| dq2=|q22-2·q12+q02|
dp5=|p25-2·p15+p05| dq5=|q25-2·q15+q05|
dp=dp2+dp5 dq=dq2+dq5,
像素p属于块A,像素q属于块B。P或q后面的第一个数字表示列标引,接下来的处于下标中的数字表示在块内的行编号。在满足下述条件时启用对范例420中所示的所有八排的解块:
d=dp+dq<β(QP)。
如果不满足上面的条件,那么不应用解块。在启用了解块的情况下,在接下来的在本说明书中通篇表示为第二判定步骤D2的判定步骤中确定用于解块的滤波器。这一确定是以块A和B之间的一阶导数的估算为基础的。具体而言,对于每一排i而言(其中,i是处于0和7之间的整数)判定应用强低通滤波器还是弱低通滤波器。如果满足下述条件则选择强滤波器。
|p3i-p0i|+|q3i-q0i|<(β(QP)>>3)∧
d<(β(QP)>>2)∧
|p0i-q0i|<((tc(QP)·5+1)>>1)。
依照所述HEVC模型,“强滤波器”采用p3i,p2i,p1i,p0i,q0i,q1i,q2i,q3i对样本p2i,p1i,p0i,q0i,q1i,q2i滤波,而“弱滤波器”则采用p2i,p1i,p0i,q0i,q1i,q2i对样本p1i,p0i,q0i,q1i滤波。在上述条件下,参数β和tc两者都是可以针对图像的片层等设置的量化参数QPe的函数。β和tc的值通常是采用查找表在QP的基础上导出的。
图6更详细地解释了依照H264/MPEG-4AVC(在HEVC软件模型HM4.0中实现的)的强滤波器操作和弱滤波器操作的示范性解决方案。
在图6A中,左手边的图示出了用于在强滤波器中对垂直边缘水平滤波的样本。图6A的右手边的图示出了受到滤波器修改的样本。从该图可以看出,在所给定的范例中,将由附图标记610表示的对应于与所述边界的两侧最为相邻的4个像素的样本用于滤波。实际受到修改的只是图6A的左手侧的图中通过620表示的从两侧与所述边界最为接近的那三个像素。实际上根据下述公式执行滤波。
p0i′=Clip((p2i+2·p1i+2·p0i+2·q0i+q2i+4)>>3)
p1i′=Clip((p2i+p1i+p0i+q0i+2)>>2)
p2i′=Clip((2·p3i+3·p2i+p1i+p0i+q0i+4)>>3)
q0i′=Clip((q2i+2·q1i+2·q0i+2·p0i+p2i+4)>>3)
q1i′=Clip((q2i+q1i+q0i+p0i+2)>>2)
q2i′=Clip((2·q3i+3·q2i+q1i+q0i+p0i+4)>>3)
函数Clip(x)的定义如下:
这里,max_allowed_value是x可能具有的最大值。在采用k位样本进行PCM编码的情况下,所述最大值将为max_allowed_value=2k-1。例如,在采用8位样本进行PCM编码的情况下,所述最大值将为max_allowed_value=255。在采用10位样本进行PCM编码的情况下,所述最大值将为max_allowed_value=1023。
从上述方程可以看出,在每一公式中针对每一排单独执行滤波(仅采用单个排标引i=0、1、2、3、5、6或7),其中,通过滤波器对像素进行了修改(通过滤波器编号后面的撇号'指示)。尽管分别对于p3i和q3i而言没有计算任何经修改的像素,但是分别从针对p2'i和q2'i的方程可以看出,p3i和q3i出现在相应的计算方程的右手侧。
从图6B可以看出,弱滤波器将从两侧与所述边界最为接近的三个像素用于滤波(左手侧图解中的样本630)。实际受到修改的只是图6B的右手侧的与边界最为相邻的两个像素(样本640)。弱滤波的计算处理与强滤波情况下的计算存在显著区别,其还包括其他判定。首先根据所述判定所基于的下述方程计算判别值Δ
Δ=(9·(q0i-p0i)-3·(q1i-p1i)+8)>>4。
接下来,在第三判定步骤D3中判定到底要不要执行滤波。根据所述第三判定,如果满足条件|Δ|<10·tc,那么仅对像素样本640施加滤波。
如果满足所述条件,那么根据下述方程对所述从两侧与所述边界最为接近的像素进行滤波
p0i′=Clip(p0i+Δ1) q0i′=Clip(q0i-Δ1),其中
Δ1=Clip3(-tc,tc,Δ)
函数Clip(x)的定义如上。函数Clip3(x)的定义如下:
在对样本p0和q0滤波之后,执行第四判定D4,以判定是否还要对从所述边界的角度来看次最近的像素样本,即p1i和q1i进行滤波。单独针对所述边界的两侧,单独即针对属于图6B的块A的像素p1i和属于图6B的块B的像素q1i执行所述第四判定D4。
针对像素p1i的第四判定是以上文介绍的参数dp为基础的。如果满足条件dp<(β/6),那么根据p1i′=Clip(p1i+Δ2p)执行滤波,其中Δ2p=Clip3(-tc2,tc2,(((p2i+p0i+1)>>1)-p1i+Δ1)>>1)。
如果满足条件dq<(β/6),那么执行针对块B的像素qi的第四判定。根据q1i′=Clip(q1i+Δ2q)执行滤波,其中
Δ2q=Clip3(-tc2,tc2,(((q2i+q0i+1)>>1)-q1i-Δ1)>>1).
上面的参数tc2是依照tc2=tc>>1定义的。
注意,上面的滤波过程尽管是以垂直边缘的水平滤波为例进行说明的,但是其同样适用于水平边缘的垂直滤波,只需分别对水平和垂直方向以及行和列进行交换。此外,在本说明书中通篇采用这样的规定,即,“排”一词可以指行也可以指列。
图7是针对8×8块,即,具有八个要滤波的排的块的具体情况说明由判定步骤D1、D2、D3和D4构成的序列的总体流程图。
从图7可以看出,在步骤S10中,可以通过单次判定判定出所有的八个排是否要实施解块滤波。如果判定不实施解块(滤波器OFF),那么处理终止。如果实施解块(滤波器ON),那么接下来的步骤S20j到S45j中的每者将针对所述排(通过下标j指示,j=1,2,...,8)中的每者单独执行滤波处理。为简单起见,在下述说明中省略了相应的下标j。首先,在步骤S20中,针对每一单独的排j判定是应用强滤波器还是弱滤波器(判定D2)。如果判定应用强滤波器,那么在接下来的步骤S35中,应用强滤波器,如上文参考图6A所述。在相反情况下,在判定应用弱滤波器时,处理进行至另一判定步骤S30,其中,针对各排j执行判定D3。如果在判定D3中判定不实施滤波,那么处理终止。在相反情况下,在步骤S38中执行对最接近边界的排p0和q0的像素的滤波,如上文参考图6B所述。接下来,在步骤S40中,进一步判定是否还要对p1和q1(与边界次最近)滤波。如果否,那么处理终止。如果判定是肯定的,那么除了进行至步骤S45,其中,计算经修改的像素p1'和q1'。将根据本范例联系图6B描述步骤S30、S38、S40和S45的处理的细节。
图8以举例的方式示出了用于执行判定D1(即,对于两块之间的具体边界到底要不要实施解块的判定)的像素样本。该图示出了两行块。在每一行中示出了前一已经解码的块810、当前要解码的块820和下一个要解码的块830。由于判定D1是针对未被解块的图像块执行的,因而所示出的样本对应于图3的信号S'。
如上文所述,将处于垂直于所要滤波的边缘的滤波方向内的第三排和第六排(标有2和5)用于判定D1。具体而言,样本860a包括两个用于执行判定D1的列,以判定是否要对当前块820和处于垂直上方的块820之间的边界滤波。样本860b示出了用于执行判定D1的两个行,所述判定将判断是否要对当前块820和下一块830之间的垂直边缘水平滤波。类似地,样本860c也示出了两个用于执行判定D1的行,所述判定是针对前一块810和当前块820之间的边界做出的。如上文所述,为了在每一采样排内执行判定,需要从所述边界的每一侧数出的三个像素。
图9提供了用于执行判定D2的未解块信号S'的所有样本像素的概览。由于这些判定是针对排单独执行的,因而垂直于相应边界的所有要进行所述判定的排的像素都将被包含在图9所示的样本960内。如上所述,判定D2需要对在两侧与所述边界相邻的头四个像素进行估算。样本960示出了用于对相同的边界执行判定D2的样本,对于所述边界而言,图8示出了用于执行判定D1的样本。
在图10中,示出了用于执行判定D3的样本1060,所述判定是针对垂直边缘的,即当前块820分别与前一块810和下一块830之间的边界的水平滤波做出的。如上所述,单独针对每一排执行判定,但是仅将从每一侧与所述边界相邻的两个像素用于所述判定。
图11示出了用于针对垂直边缘执行水平解块滤波的样本1160。由其可以看出,与图10相反,所述滤波本身需要所述边界两侧的四个像素的“深度”。
图12示出了用于执行判定D3的样本1260,所述判定是针对水平边界的垂直滤波做出的。由于所述判定只在执行对垂直边缘的水平解块之后执行,因而这些样本是从图3的经水平解块的信号S'中选择的。为了凸显图12的块与上面的附图中所示的块之间的差异,在每一块的附图标记上添加了撇号。因而,分别将图12中的前一块、当前块和下一块标示为810'、820'和830'。
图13示出了用于执行对水平边缘的实际垂直解块滤波的样本1360。因而,图13与图12的区别方式与图11和图10的区别方式相同。具体而言,在所述边界的两侧对从所述块边界开始数出的四个像素采样。
在下图中,图14到16示出了可以修改的像素样本(与用于判定和用于执行滤波的像素相比相对照)。在上述范例中示出了由8×8个样本构成的块(即,8个行和8个列,或者沿每一方向都有八排)。但是所述块尺寸只是范例。
具体而言,图14提供了可以通过对垂直边缘的水平解块而修改的样本的图示。对于一块(在附图中被标为“8个样本”)而言,在与要解块的边界平行的八排的像素当中,所述边界的两侧最多有三排变得受到修改。因此,有接近边界的六个样本构成的序列将变得受到修改。在图14中对这些样本打上了阴影。因此,在整个8×8块内,处于要修改的块的中间的两个样本将在每一块内保持不变。
图15示出了通过对垂直边缘的水平解块修改的样本。因此,图15基本上对应于图14,但是,其中的阴影部分旋转了90°。
图16提供了通过水平或者垂直解块修改的样本的总体图示。因而,图16对应于图14和图15的叠加。
在上述说明的基础上,现在将基于图17A和17B以举例的方式详细说明本发明所本着的问题。将在图17C中说明解决所述问题的总思路。
注意,在下文的详细说明中仅通过举例的方式给出了块尺寸,并由此给出了所存储的排的数量和用于执行判定的排的数量。本发明不限于8×8块,因此样本图片的数量不限于下文具体指出的数量。在所附权利要求定义的本发明的框架内,其他块尺寸也是可能的,因而不同的所要存储和选择的样本的数量也是可能的。而且,本发明不限于本说明书中所述的并且如图3所示的首先执行水平解块的范例。对于在水平解块之前执行垂直解块的相反情况,本发明具有相似的应用,这一点是浅白易懂的。
图17A基本上对应于图9。此外,附图标记1770指示了执行当前块820的上面的块与当前块820之间的垂直边界的判定D2(强或弱滤波器)所需的四排的样本。
如上所述,将对未解块样本执行判定D1和D2。因此,只要图3的未解块信号S'仍然可用,即,在滤波器350a中的水平边缘垂直滤波实际开始之前就必须执行这些判定。换言之,具体而言针对水平边缘的垂直滤波所做的判定D1和D2使滤波(具体而言:根据图3的流程图将首先执行的对垂直边缘的水平滤波)发生了延迟。因此,在垂直边界处开始进行所述受到延迟的水平滤波的时刻可得到在图17A中通过附图标记1770表示的四排样本,每排的长度对应于执行针对垂直滤波的判定D2所需的未解块信号的画面宽度。
可以如下实施硬件实现:将未解块样本存储到排存储器内,接下来采用所存储的未解块样本针对当块的垂直边缘的水平滤波和水平边缘的垂直滤波执行判定D1和D2。接下来,针对包括四个所存储的排的区域执行对垂直边缘延迟的水平滤波。
但而,对于这一延迟的水平滤波而言,先前执行的开启/关闭判定D1的结果是必需的。因此,必须将所述判定的结果存储起来,或者对其重新计算。在不存储所述结果的情况下,根据上文描述的常规方案的重新计算需要来自不属于所存储的排1770的排的样本像素。也就是说,对于判定D1的判定结果的重新计算而言,需要图17B所示的样本像素1760(对应于图5中的样本430,即第三和第六排的像素(在图5中具有下标2和5))。而第六排(在图5中具有下标5)属于总之已经存储了的排,而第三排(在图5中具有下标2)则不是这种情况。
因而,要么必须存储先前针对所述延迟水平滤波所做的判定D1的判定结果,要么必须额外存储来自额外排(图17B中的排1760的上排)的数据。然而,由于排存储器价格非常昂贵,因而后一种备选方案将带来更高的成本。
或者,可以利用额外的排存储器避免所述垂直滤波的延迟。也就是说,如果具有两个排存储器,其中一个保存未解块信号,另一个保存水平解块信号,那么可以推迟针对垂直滤波所做的判定D1和D2。但是,由于排存储器价格非常昂贵,因而所述备选方案甚至更为不利。
因此,在上述常规方案中,所出现的问题是,必须为了延迟的滤波器操作而将判定D1的结果或者未包含在所存储的排(这里为四个排1770)中的额外排存储起来。
本发明旨在克服由上文所述的存储问题导致的常规方法的缺陷。
根据本发明,将每一块(在本范例中:由八排(行/列)构成的块)划分为至少两段。通过某种方式执行所述分割,从而有可能仅基于所存储的排1770(执行水平边缘的垂直滤波的相应判定所需的)并且独立地由其他排执行针对垂直边缘的水平滤波的所有判定(D1:开启/关闭,D2:强/弱)因此,对于垂直边缘的延迟的水平滤波而言不再需要任何判定缓存或者额外的排存储器。
在图17C中示出了所述思路。也就是说,通过所述分割,将通过某种方式修改垂直边缘的延迟水平滤波的判定D1,从而使所述判定是仅以图17C的虚线框1760中包含的未解块信号S'的那些样本为基础做出的。可以容易地看出,所有的这些像素都属于所存储的排1770。
更具体而言,参考图17D描述本发明的解决方案。也就是说,对水平滤波中所涉及的块全部执行分割,所述分割方式是沿水平分割线(即垂直于所要解块的边界的线)对块进行划分。为了简单起见,在图17D中仅示出了对上面一行块的分割。虚线分割线1700将每一块沿垂直方向划分成两段(两侧)。此外,通过某种方式对实施判定D1的方案进行修改,从而使针对所述段之一的区域内的垂直边缘的水平解块做出的判定D1不需要来自相应的另一侧的任何样本。
换言之,不再需要对所述块作为一个整体做出判定D1,而是单独这对每一段(侧)做出判定D1。为了对侧1做出所述判定,仅采用来自侧1的样本(具体而言:通过编号17601表示的样本)。为了对侧2的段的区域做出所述判定,仅采用侧2上的样本(具体而言:通过编号17602表示的样本)。
反之亦然,位于侧1的样本不用于执行侧2上的垂直边缘的水平滤波所需的判定,侧2上的样本不用于执行侧1上的垂直边缘的水平滤波所需的判定。
因此,具体而言,可以在不参考任何未存储排的情况下基于所存储排1770实施针对侧2的判定。因而,既不需要在昂贵的排存储器内存储先前确定的结果,也不需要在其内存储额外的排。
就侧1而言,可以在由相对于图17中的另一行块和上面的紧挨着的块(图17中未示出)之间的边界所做的垂直解块判定而仍然存储着的相应的排的时候做出单独的判定。
根据本发明的判定方案的一个重要的优点是限制了解块对具有块的尺寸的区域的依赖性。因此,如果适当地选择用于判定的样本区域(块),那么能够相互并行地对它们进行解块。必须注意,用于判定的样本区域(块)一般不同于相对于应用了解块的边界而言的块。
在图18中示出了所述有利的技术效果(对于8×8块的范例而言)。
图18总体上以图17D为基础,其示出了六个8×8块,将对所述块的块边界进行解块。此外,在图18中,已经通过虚线方框强调了8×8区域1800。在所述区域1800内,(按照与(例如)图17D中的样本17602类似的方式通过小的虚线矩形)示出了针对垂直边缘1810的水平解块所做的判定所需的样本。此外,还强调了区域1800内的用于水平边缘的垂直解块滤波的相应样本(具有垂直取向的小的虚线矩形)。
从图18可以看出,可以在不必参考所述区域外的任何样本的情况下针对所述8×8块1800做出所有的判定。因而,8×8区域(块)1800(以及沿水平和/或垂直方向移动了8像素的倍数的相应块)是适当的判定块,可以通过解块滤波对其进行并行处理。
在常规的判定和滤波方案中无法获得这样的优点。例如,从图8可以看出,在以前的方案中,不存在这样的8×8区域(块),即,能够将用于解块判定的样本限定在所述区域内,从而能够在所述区域内独立地做出解块滤波判定。因而,常规方案妨碍了并行操作。
下面将参考图19描述由被分割成两个四排段的八排块执行判定D1(解块滤波器开启/关闭)的示范性解决方案的更加具体的说明。图19A示出了针对侧1的四排段所做的开启/关闭判定。从图19A可以看出,仅基于第一排(具有下标0)和第四排(具有下标3)做出所述判定。更具体而言,计算下述参数:
dp0=|p20-2·p10+p00|
dp3=|p23-2·p13+p03|
dp,side1=dp0+dp3
以及
dq0=|q20-2·q10+q00|
dq3=|q23-2·q13+q03|
dq,side1=dq0+dq3。
如果满足下述条件,那么启用所述滤波器:
dq,side1+dp,side1<β。
图19B基于样本17602示出了针对侧2做出的相应判定。相应的计算为:
dp4=|p24-2·p14+p04|
dp7=|p27-2·p17+p07|
dp,side2=dp4+dp7
以及
dq4=|q24-2·q14+q04|
dq7=|q27-2·q17+q07|
dq,side2=dq4+dq7
如果满足下述条件,那么启用所述滤波器:
dq,side2+dp,side2<β。
从上述细节可以看出,以块分割为基础对判定D1所做的修改使得总的计算开销略微增加。也就是说,不是对八排块做单次需要20个操作的开启/关闭判定,而是必须两次对4排进行开启/关闭判定,从而需要40个操作。因而,单单做判定D1所需的操作的数量就加倍了。
因此,在本发明当中还优选对判定D2的实施进行修改,以补偿增加的计算开销,其中判定D2是有关适于应用强滤波器还是弱滤波器的判定。
图20示出了基于根据本发明的分割的经修改的判定D2的第一个具体的解决方案。如上文所述,在常规范例中,针对每排单独实施判定D2。相反,根据本发明,仅对每一段的排的子集实施各个判定。在针对所述段的子集的各个判定的基础上,对所述段的所有排做出滤波器的单次判定。
更具体而言,图20A针对侧1示出了根据所述第一具体范例的经修改的判定D2。所述判定是以第一排(具有下标0)和第四排(具有下标3)为基础的,在图20A中采用编号19601对其加以表示。对于具有下标0和3的两排中的每者而言,执行强滤波器和弱滤波器之间的判定(优选按照上文描述的常规方式)。如果对这两排都选择强滤波器,那么对所有的四排(0、1、2、3)都进行强滤波。否则,选择弱滤波器。
在图20B中示出了侧2上的相应的操作方案。对侧2所做的判定D2是以具有下标4和7的采用附图标记19602标示的两排为基础的。针对两排4和7中的每者执行强滤波器和弱滤波器之间的判定。如果对这两排都选择了强滤波器,那么对所有的四排4、5、6、7都进行强滤波。否则,选择弱滤波器。
模拟表明,根据所描述的本发明的实施例的编码效率相对于上文所述的常规HM4.0方案略微提高。
已经在ISO和ITU的标准化活动中通常采用的编码条件的基础上评估了上文参考图19和图20描述的本发明的实施例的编码效率,参考文献JCTVC-E700
(http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id= 2454)。在相同的均方量化误差下本发明将使得平局比特率降低大约0.15%。
此外,还可以在对两判定D1和D2做出的修改的基础上实现总计算开销的降低。也就是说,根据上文描述的常规方案,需要下述总操作数量:
·对8排的开启/关闭判定:20次操作
·8次强/弱判定:96次操作
·计算总和:116次操作
根据所示出的本发明的实施例,总操作数量如下:
·2次针对4排的开启/关闭判定:40次操作
·4次强/弱判定:48次操作
·计算总和:96次操作
因此,本发明使得总计算次数减少了大约20%。
经修改的判定D2的第二示范性解决方案与上文描述的第一个范例类似。按照与第一个范例中相同的方式,在所述第一侧上,针对两排0和3中的每者执行强滤波器和弱滤波器之间的判定。如果这两排都选择弱滤波器,那么对所有的四排0、1、2、3进行弱滤波。否则,选择强滤波器。
按照相同的方式,对侧2上的两排4和7中的每者执行强滤波器和弱滤波器之间的判定。如果这两排都选择弱滤波器,那么对所有的四排4、5、6、7进行弱滤波。否则,选择强滤波器。
因而,所示出的第二个范例与所述第一个范例的区别在于,根据所述第二个范例,假设针对两个选定排的单独判定之间存在差异,那么选择强滤波器,而根据所述第一个范例假设有差异,那么总是选择弱滤波器。由于弱滤波器的计算复杂性一般低于强滤波器,因而所述第一个范例能够进一步降低计算开销。
根据第三个范例,还在图20A和20B所示的选定排的基础上执行经修改的判定D2。但是,根据所述第三个范例,使判定D2与判定D2结合。也就是说,对于选定排的每者而言,执行强滤波器、弱滤波器和无滤波器之间的组合判定。相应的判定是在查找表格的基础上做出的。
更具体而言,在侧1上,对于两排0和3中的每者而言,执行强滤波器和弱滤波器和无滤波器之间的判定。采用所述两个判定结果通过下述查找表对所有的四排0、1、2、3做出判定。
对排0的判定 |
对排3的判定 |
所得到的对排0-3的判定(范例) |
强 |
强 |
强 |
强 |
弱 |
弱 |
强 |
关闭 |
关闭 |
弱 |
强 |
弱 |
弱 |
弱 |
弱 |
弱 |
关闭 |
关闭 |
关闭 |
强 |
关闭 |
关闭 |
弱 |
关闭 |
关闭 |
关闭 |
关闭 |
对侧2上的两排4和7中的每者执行强滤波器、弱滤波器和无滤波器之间的判定。采用所述两个判定结果通过下述查找表对所有的四排4、5、6、7做出判定。
对排4的判定 |
对排7的判定 |
所得到的对排4-7的判定(范例) |
强 |
强 |
强 |
强 |
弱 |
弱 |
强 |
关闭 |
关闭 |
弱 |
强 |
弱 |
弱 |
弱 |
弱 |
弱 |
关闭 |
关闭 |
关闭 |
强 |
关闭 |
关闭 |
弱 |
关闭 |
关闭 |
关闭 |
关闭 |
从上面的表格可以看出,假设两排的判定存在差异,那么总是选择具有较低复杂性的判定。由此进一步节省了计算开销。
参考图21示出的第四个范例大体上与第三个范例类似。从图21可以看出,选择侧1上的(图21A)具有1和2的第二和第三排进行单独判定。在侧2上选择第六和第七排(具有5和6)。下文示出了对应的查找表格:
对排1的判定 |
对排2的判定 |
所得到的对排0-3的判定(范例) |
强 |
强 |
强 |
强 |
弱 |
弱 |
强 |
关闭 |
关闭 |
弱 |
强 |
弱 |
弱 |
弱 |
弱 |
弱 |
关闭 |
关闭 |
关闭 |
强 |
关闭 |
关闭 |
弱 |
关闭 |
关闭 |
关闭 |
关闭 |
以及
对排5的判定 |
对排6的判定 |
所得到的对排4-7的判定(范例) |
强 |
强 |
强 |
强 |
弱 |
弱 |
强 |
关闭 |
关闭 |
弱 |
强 |
弱 |
弱 |
弱 |
弱 |
弱 |
关闭 |
关闭 |
关闭 |
强 |
关闭 |
关闭 |
弱 |
关闭 |
关闭 |
关闭 |
关闭 |
必须理解,在段的基础上而不是在单独的排的基础上执行的经修改的判定D2的具体解决方案不限于上面给出的四个范例。对这些范例的各个元素的进一步修改以及组合在所附权利要求定义的本发明的范围内也是可能的。在上文的范例中,判定D2是以两排的样本为基础的。但是,本发明不限于所述用于选择的排数。滤波器选择可以仅以单排为基础或者以任何其他小于相应的一对要解块的段内的总排数的数量的排为基础。
在下文中,将参考图22和23描述并解决在进行开启/关闭判定的过程中出现的第一存储器存取问题。图22示出了针对垂直边缘的水平解块实施判定D1的常规HEVC方案。
如图22A的上面的方案所示,在第一步骤中,读出排2并计算相关判定值dp2和dq2。在第二步骤中,读出排5并计算出相关判定值dp5和du5。
在第三步骤中,计算判定值d5=dq2+dp2+dq5+dp5,并针对所有的八排执行开启/关闭判定D1。之后针对排5执行强/弱滤波器判定,针对排5执行解块和解块结果的写回。
在接下来的第四步骤中,针对其余排0、1、2、3、4、6和7中的每者读出相应的排,判定强/弱滤波,执行解块并写回结果。因此,将发生下述问题:为了对八排解块,必须两次读出排2或者排5:一次用于判定D1,一次用于解块。总共必须执行9次排读出操作,尽管每一块只有8个排。
采用参考图23所示的经修改的解块方案能够有利地解决所述问题。在第一步骤中,读出排2(2362)并计算相关的判定值db2和du2。计算经修改的判定值d2=2x(dd2’+dp2),并对这一排有效的开启/关闭判定D1是以标准d2<β为基础的。接下来,执行强/弱滤波器判定D2,对其解块并写回结果。在第二步骤中,按照相同的方式读出排5(2365),并计算出相关的判定值db5和dq5。计算出经修改的判定值d5=2x(dq5+db5),并在对这一排有效的标准d5<β上执行开启/关闭判定D1。执行强/弱滤波器判定D2,并针对排5(2365)单独执行解块和结果写回。
接下来,计算出判定值d=(d2+d5)/2,并针对在图23B中通过附图标记2360表示的其余排0、1、3、4、6、7执行启用/禁用判定d<β。在接下来的第四步骤中,针对其余排0、1、3、4、6和7中读出像素样本,执行强/弱滤波器判定,之后执行解块并写回结果。
根据解决所述存储器存储问题的改进的解块的经修改的范例,如前所述执行步骤1、2和4。对上文描述的步骤3进行修改,所述修改在于计算出并不计算其余排的公共判定值d。相反,基于判定(d2<β)&(d5<β)执行步骤3中的针对其余排0、1、3、4、6、7的开启/关闭判定。
更具体而言,通过某种方式执行判定D1的经修改的判定方案,从而使判定D1不是针对整个块做出的。接下来,针对其余排做所述判定。
此外,还必须通过某种方式对要单独做判定D1的排中的每者的判定方案进行修改,从而分离出所采用的像素样本,即仅在来自具体排的样本像素的基础上实施对所述排的单独判定D1。对所述块的其余排的判定方案可以是上文参考图4和图5所述的常规方案,也可以受到修改。针对其余排的判定可以是以所有这些要进行单独判定的排的像素样本为基础的。
通过经修改的判定D1的两种版本实现了下述优点:首先,对每排只需读取一次,因此只需执行等于每块的排数(在当前情况下:8)的数量的排读取操作。此外,针对这些单独执行判定的排(在当前情况下:排2和排5)获得了更加准确的判定。
可以通过将用于实现每一实施例中描述的活动画面编码方法(图像编码方法)和活动画面解码方法(图像解码方法)的配置的程序记录在记录介质内而简单地通过独立计算机系统实现每一实施例中描述的处理。所述记录介质可以是任何记录介质,只要能够记录所述程序即可,例如,磁盘、光盘、磁光盘、IC卡和半导体存储器。
在下文中,将描述面向每一实施例中描述的活动画面编码方法(图像编码方法)和活动画面解码方法(图像解码方法)的应用,以及采用其的系统。所述系统的特征在于具有图像编码和解码设备,所述设备包括采用所述图像编码方法的图像编码设备和采用所述图像解码方法的图像解码设备。可以根据情况下适当改变所述系统中的其他配置。
(实施例A)
图24示出了用于实施内容分发服务的内容提供系统ex100的总体配置。将提供通信服务的区域划分成具有预期尺寸的小区,以及作为放置到每一小区内的固定无线站的基站ex106、ex107、ex108、ex109和ex110。
分别通过Internet ex101、Internet服务供应商ex102、电话网ex104、以及基站ex106到110将所述内容提供系统ex100连接至各项服务,例如,计算机ex111、个人数字助理(PDA)ex112、摄像机ex113、蜂窝电话ex114和游戏机ex115。
但是,内容提供系统ex100的配置不限于图24所示的配置,连接了所述元件中的任何元件的组合也是可接受的。此外,可以将每一装置直接连接至电话网ex104,而不是通过作为固定无线站的基站ex106到ex110。此外,可以通过短距离无线通信以及其他措施使所述装置相互互连。
诸如数字视频摄像机的摄像机ex113能够俘获视频。诸如数字摄像机的摄像机ex116能够既能够俘获静止图像,又能够俘获视频。此外,蜂窝电话ex114可以是满足任何标准的电话,例如,所述标准为全球移动通信系统(GSM)(注册商标)、码分多址(CDMA)、宽带码分多址(W-CDMA)、长期演进(LTE)和高速包接入(HSPA)。或者,所述蜂窝电话ex114可以是个人手提电话系统(PHS)。
在内容提供系统ex100中,将流媒体服务器ex103通过电话网ex104和基站ex109连接至摄像机ex113及其他,其能够实现对实况演出及其他的图像的发布。在这样的发布当中,如上文每一实施例所述对用户采用摄像机ex113俘获的内容(例如,音乐实况演出)进行编码(即,所述摄像机起着根据本发明的一个方面的图像编码设备的作用),并将经编码的内容传输至流媒体服务器ex103。另一方面,所述流媒体服务器ex103应客户端请求对所传输的内容数据执行向客户端的流发布。所述客户端包括能够对上文提及的编码数据解码的计算机ex111、PDA ex112、摄像机ex113、蜂窝电话ex114和游戏机ex115。接收到了所述分发数据的每一装置对所述编码数据解码并复制(其中根据本发明的一个方面的图像解码设备的作用)。
可以通过摄像机ex113和发送所俘获的数据的流媒体服务器ex103对所俘获的数据编码,或者可以在摄像机113和流媒体服务器ex103之间共享所述编码过程。类似地,可以通过客户端或者流媒体服务器ex103对所发布的数据解码,或者可以在客户端和流媒体服务器ex103之间共享所述解码过程。此外,可以将不仅由摄像机ex113俘获的而且由摄像机ex116俘获的静止图像和视频的数据通过计算机ex111发送至流媒体服务器ex103。可以通过摄像机ex116、计算机ex111或者流媒体服务器ex103执行编码过程,或者在它们之间共享。此外,可以由一般包含在计算机ex111以及所述装置中的每者当中的LSI ex500执行所述编码和解码过程。可以将所述LSI ex500配置为具有单个芯片或者多个芯片。可以将用于对视频编码和解码的软件集成到可由计算机ex111及其他装置读取的某种类型的记录介质内(例如,CD-ROM、软盘和硬盘),并且可以采用所述软件执行所述编码和解码过程。此外,在蜂窝电话ex114配备有摄像机时,可以发送通过所述摄像机获得的视频数据。所述视频数据是通过蜂窝电话ex114中包含的LSI ex500编码的数据。
此外,流媒体服务器ex103可以由服务器和计算机构成,其可以分散数据,并对经分散的数据、记录和发布数据进行处理。
如上所述,客户端可以在内容提供系统ex100中接收并复制编码数据。换言之,客户端可以接收用户发送的信息并对其解码,并将解码的数据实时地存储到内容提供系统ex100内,从而使不具有任何特定的权利和设备的用户能够实施个人广播。
除了内容提供系统ex100的范例之外,可以在图25所示的数字广播系统ex200中实现每一实施例中描述的活动画面编码设备(图像编码设备)和活动画面解码设备(图像解码设备)的至少其中之一。更具体而言,广播站ex201通过无线电波将复用数据传输或者发送至广播卫星ex202,所述复用数据是通过将音频数据等复用到视频数据上而获得的。所述视频数据是通过每一实施例中描述的活动画面编码方法编码的数据(即,通过根据本发明的一个方面的图像编码设备编码的数据)。在接收到所述复用数据的同时,广播卫星ex202发射用于广播的无线电波。之后,具有卫星广播接收功能的家用天线ex204接收无线电波。接下来,诸如电视(接收器)ex300和机顶盒(STB)ex217的装置对接收到的复用数据解码,并复制所述解码数据(即,起着根据本发明的一个方面的图像解码设备的功能)。
此外,读取器/记录器ex218(i)读出记录在诸如DVD和BD的记录介质ex215上的复用数据并对其解码,或者(i)对记录介质ex215内的视频信号编码,以及(在有些情况下)写入通过将音频信号复用到所述编码数据上而获得的数据。所述读取器/记录器ex218可以包括每一实施例所示的活动画面解码设备或者活动画面编码设备。在这种情况下,在监视器ex219上显示复制的视频信号,所述信号可以是另一装置或系统采用记录了所述复用数据的记录介质ex215复制的。也可能在机顶盒ex217中实现所述活动画面解码设备,所述机顶盒连接至电缆ex203,从而用于有线电视,或者连接至天线ex204,从而用于卫星和/或地面广播,由此在电视ex300的监视器ex219上显示视频信号。可以不在机顶盒内而是在电视ex300内实现所述活动画面解码设备。图26示出了采用每一实施例中描述的活动画面编码方法和活动画面解码方法的电视(接收器)ex300。电视ex300包括:通过接收广播的天线ex204或者电缆ex203等获得或提供通过将音频数据复用到视频数据上而获得的复用数据的调谐器ex301;对所接收到的复用数据解调或者将数据调制成要提供给外部的复用数据的调制/解调单元ex302;以及将调制的复用数据解复用成视频数据和音频数据或者将信号处理单元306编码的视频数据和音频数据复用成数据的复用/解复用单元ex303。
电视ex300还包括:信号处理单元ex306,其包括分别对音频数据和视频数据解码以及对音频数据和视频数据编码的音频信号处理单元ex304和视频信号处理单元ex305(起着根据本发明的方面的图像编码设备和图像解码设备的作用);输出单元ex309,其包括提供解码音频信号的扬声器ex307和诸如显示器的显示解码视频信号的显示单元ex308。此外,电视ex300包括接口单元ex317,其包括接收用户操作的输入的操作输入单元ex312。此外,电视ex300包括控制电视ex300总体每个构成元件的控制单元ex310,以及向每个元件供电的电源电路单元ex311。除了操作输入单元ex312之外,接口单元ex317还可以包括:连接到诸如读取器/记录器ex218的外部装置的网桥ex313;用于连接记录介质ex216,例如SD卡的插槽单元ex314;要连接到外部记录介质,例如硬盘的驱动器ex315;以及要连接到电话网络的调制调解器ex316。在这里,记录介质ex216能够利用用于存储的非易失性/易失性半导体存储器元件以电方式记录信息。电视ex300的构成元件通过同步总线彼此连接。
首先将描述这样的配置:电视ex300对通过天线ex204从外部获得的复用数据等解码并复制解码数据。在电视ex300中,在用户通过遥控器ex220等操作时,复用/解复用单元ex303在包括CPU的控制单元ex310的控制下,对调制/解调单元ex302解调的复用数据进行解复用。此外,利用在每个实施例中描述的解码方法,在电视ex300中,音频信号处理单元ex304对解复用的音频数据解码,视频信号处理单元ex305对解复用的视频数据解码。输出单元ex309分别向外部提供解码视频信号和音频信号。在输出单元ex309提供视频信号和音频信号时,可以在缓存ex318和ex319等中暂时存储信号,从而彼此同步地再现信号。此外,电视ex300可以不通过广播等,而是从记录介质ex215和ex216,例如磁盘、光盘和SD卡,读取复用数据。接下来将描述这样的配置:电视ex300对音频信号和视频信号编码,并向外发射数据或在记录介质上写进数据。在电视ex300中,在用户通过遥控器ex220等操作时,在控制单元ex310的控制下,利用在每个实施例中描述的编码方法,音频信号处理单元ex304对音频信号编码,视频信号处理单元ex305对视频信号编码。复用/解复用单元ex303复用编码的视频信号和音频信号并向外提供所得信号。在复用/解复用单元ex303复用视频信号和音频信号时,可以在缓存ex320和ex321等中暂时存储信号,从而彼此同步地再现信号。在这里,缓存ex318、ex319、ex320和ex321可以如图所示为多个,或者可以在电视ex300中共享至少一个缓存。此外,可以在缓存中存储数据,从而可以避免例如调制/解调单元ex302和复用/解复用单元ex303之间的系统溢出和下溢。
此外,除了用于从广播或记录介质获得音频和视频数据的配置之外,电视ex300可以包括用于从微音器或摄像机接收AV输入的配置,并可以对获得的数据编码。尽管在描述中电视ex300能够对数据进行编码、复用并向外提供,它可能仅能够对数据进行接收、解码和向外提供,而不是对数据进行编码、复用和向外提供。
此外,在读取器/记录器ex218从或向记录介质上读取或写入复用数据时,电视ex300和读取器/记录器ex218之一可以对复用数据解码或编码,电视ex300和读取器/记录器ex218可以共享解码或编码。
作为范例,图27示出了在从或向光盘读取或写入数据时信息再现/记录单元ex400的配置。信息再现/记录单元ex400包括下文要描述的构成元件ex401、ex402、ex403、ex404、ex405、ex406和ex407。光学头ex401在记录介质ex215,即光盘的记录面中照射激光光点以写入信息,并从记录介质ex215的记录面检测反射光以读取信息。调制记录单元ex402对光学头ex401中包括的半导体激光器进行电驱动,并根据记录的数据调制激光。再现解调单元ex403放大利用光学头ex401中包括的光探测器从记录面电探测反射光获得的再现信号,并通过分离记录介质ex215上记录的信号成分对再现信号进行解调,以再现必要的信息。缓存ex404暂时保存要记录在记录介质ex215上的信息以及从记录介质ex215上再现的信息。磁盘电动机ex405转动记录介质ex215。伺服控制单元ex406将光学头ex401移动到预定信息道,同时控制磁盘电动机ex405的旋转驱动,以跟随激光光点。系统控制单元ex407总体上控制信息再现/记录单元ex400。可以由系统控制单元ex407使用缓存ex404中存储的信息并根据需要产生和增加新信息,在以协调的方式工作的同时,通过调制记录单元ex402、再现解调单元ex403和伺服控制单元ex406通过光学头ex401记录和再现信息,从而实施读取和写入过程,。系统控制单元ex407例如包括微处理器,通过让计算机执行用于读写的程序来进行处理。
尽管在描述中光学头ex401照射激光光点,但它可以利用近场光进行高密度的记录。图28示出了记录介质ex215,即光盘。在记录介质ex215的记录面上形成了导槽,信息道ex230事先记录地址信息,根据导槽形状的变化指示磁盘上的绝对位置。地址信息包括用于确定记录块ex231位置的信息,记录块即用于记录数据的单元。在记录和再现数据的设备中再现信息道ex230并读取地址信息能够实现记录块位置的确定。此外,记录介质ex215包括数据记录区域ex233、内周区域ex232和外周区域ex234。数据记录区域ex233是记录用户数据时使用的区域。分别在数据记录区域ex233内部和外部的内周区域ex232和外周区域ex234用于除记录用户数据之外的特定用途。信息再现/记录单元400从和向记录介质ex215的数据记录区域ex233读取和写入编码的音频、编码的视频数据或通过复用音频和视频数据获得的复用数据。
尽管在说明书中描述了具有层的光盘,例如DVD和BD作为范例,但光盘不限于这种情况,可以是具有多层结构并能够在除表面之外的部分上记录的光盘。此外,光盘可以具有用于多维记录/再现的结构,例如在光盘的相同部分中利用不同波长颜色的光记录信息并从各种角度记录具有不同层的信息。
此外,具有天线ex205的汽车ex210能够从卫星ex202等接收数据,并在数字广播系统ex200中,在设置于汽车ex210中的诸如汽车导航系统ex211的显示装置上再现视频。在这里,汽车导航系统ex211的配置将是这样的配置:例如,包括来自图26所示配置的GPS接收单元。对于计算机ex111、蜂窝电话ex114等的配置,将是同样的情况。
图29A示出了蜂窝电话ex114,其使用了实施例中所述的活动画面编码方法和活动画面解码方法。蜂窝电话ex114包括:用于通过基站ex110发射和接收无线电波的天线ex350;能够拍摄活动和静止图像的摄像机单元ex365;以及用于显示由摄像机单元ex365拍摄或由天线ex350接收的诸如解码视频的数据的显示单元ex358,例如液晶显示器。蜂窝电话ex114还包括:包括操作键单元ex366的主体单元;用于输出音频的音频输出单元ex357,例如扬声器;用于输入音频的音频输入单元ex356,例如微音器;用于存储拍摄的视频或静止图像、记录的音频、所接收视频的编码或解码数据、静止图像、电子邮件等的存储单元ex367;以及插槽单元ex364,即用于与存储单元ex367以相同方式存储数据的记录介质的接口单元。
接下来,将参考图29B描述蜂窝电话ex114的配置范例。在蜂窝电话ex114中,被设计成控制包括显示单元ex358以及操作键单元ex366的主体的总体每个单元的主控制单元ex360经由同步总线ex370相互连接到电源电路单元ex361、操作输入控制单元ex362、视频信号处理单元ex355、摄像机接口单元ex363、液晶显示器(LCD)控制单元ex359、调制/解调单元ex352、复用/解复用单元ex353、音频信号处理单元ex354、插槽单元ex364和存储单元ex367。
在通过用户操作打开呼叫结束键或电源键时,电源电路单元ex361从电池组为相应单元供电,从而激活手机ex114。
在蜂窝电话ex114中,音频信号处理单元ex354在包括CPU、ROM和RAM的主控制单元ex360的控制下,将音频输入单元ex356在语音对话中收集的音频信号转换成数字音频信号。然后,调制/解调单元ex352对数字音频信号进行扩展频谱处理,发射和接收单元ex351对数据执行数字到模拟转换和频率转换,从而经由天线ex350发射所得数据。而且,在蜂窝电话ex114中,发射和接收单元ex351放大天线ex350在语音谈话模式中接收的数据,并对数据执行频率转换和模拟到数字转换。然后,调制/解调单元ex352对数据进行逆扩展频谱处理,音频信号处理单元ex354将其变换成模拟音频信号,从而经由音频输出单元ex357输出它们。
此外,在发射数据通信模式中的电子邮件时,经由操作输入控制单元ex362向主控制单元ex360发出通过操作操作键单元ex366等输入的电子邮件的文本数据。主控制单元ex360令调制/解调单元ex352对文本信号进行扩展频谱处理,发射和接收单元ex351对所得数据执行数字到模拟转换和频率转换,从而经由天线ex350向基站ex110发射数据。在接收到电子邮件时,对所接收数据执行与发送电子邮件处理大致相反的处理,并向显示单元ex358提供所得数据。
在发送处于数据通信模式中的视频、静止图像或视频和音频时,视频信号处理单元ex355利用每个实施例中所示的活动画面编码方法对从摄像机单元ex365供应的视频信号进行压缩和编码(即,充当根据本发明该方面的图像编码设备),并向复用/解复用单元ex353发送编码的视频数据。相反,在摄像机单元ex365拍摄视频、静止图像等时,音频信号处理单元ex354对音频输入单元ex356收集的音频信号编码,并向复用/解复用单元ex353发送编码的音频数据。
复用/解复用单元ex353利用预定方法复用从视频信号处理单元ex355供应的编码视频数据和从音频信号处理单元ex354供应的编码音频数据。然后,调制/解调单元(调制/解调电路单元)ex352对复用数据进行扩展频谱处理,发射和接收单元ex351对数据执行数字到模拟转换和频率转换,从而经由天线ex350发射所得数据。
在数据通信模式中接收链接到网页等的视频文件的数据时,或在接收附有视频和/或音频的电子邮件时,为了对经由天线ex350接收的复用数据解码,复用/解复用单元ex353将复用数据解复用成视频数据比特流和音频数据比特流,并通过同步总线ex370为视频信号处理单元ex355供应编码的视频数据,为音频信号处理单元ex354供应编码的音频数据。视频信号处理单元ex355利用对应于每个实施例中所示的活动画面编码方法的活动画面解码方法对视频信号解码(即,充当根据本发明该方面的图像解码设备),然后显示单元ex358显示例如经由LCD控制单元ex359链接到网页的视频文件中包括的视频和静止图像。此外,音频信号处理单元ex354对音频信号解码,音频输出单元ex357提供音频。
此外,类似于电视ex300,诸如蜂窝电话ex114的终端大概有三种实施配置,不仅包括(i)包括编码设备和解码设备的发射和接收终端,而且包括(ii)仅包括编码设备的发射终端,以及(iii)仅包括解码设备的接收终端。尽管数字广播系统ex200在描述中接收和发射通过向视频数据上复用音频数据获得的复用数据,但复用数据可以是通过向视频数据上不复用音频数据而复用涉及视频的字符数据获得的数据,并可以不是复用数据而是视频数据自身。
这样一来,可以在所述任何装置和系统中使用每个实施例中的活动画面编码方法和活动画面解码方法。于是,可以获得每个实施例中描述的优点。
此外,本发明不限于实施例,在不脱离本发明范围的情况下各种修改和变化是可能的。
(实施例B)
根据需要,可以通过在(i)每个实施例中所示的活动画面编码方法或活动画面编码设备和(ii)符合不同标准,例如MPEG-2、MPEG-4AVC和VC-1的活动画面编码方法或活动画面编码设备之间切换来产生视频数据。
在这里,在产生符合不同标准的多个视频数据并随后对其解码时,需要选择符合不同标准的解码方法。不过,由于不能检测到要解码的多个视频数据的每个符合哪种标准,所以存在的问题是不能选择适当的解码方法。
为了解决该问题,通过向视频数据上复用音频数据等而获得的复用数据具有这样的结构:其包括表示视频数据符合哪种标准的识别信息。在下文中将描述,包括在每个实施例中所示活动画面编码方法中并由活动画面编码设备产生的视频数据的复用数据的具体结构。复用数据是MPEG-2传输流格式的数字流。
图30示出了复用数据的结构。如图30中所示,可以通过复用视频流、音频流、表达图形流(PG)和交互图形流中的至少一个来获得复用数据。视频流代表电影的基本视频和辅助视频,音频流(IG)代表基本音频部分和要与基本音频部分混合的辅助音频部分,表达图形流代表电影的字幕。在这里,基本视频是要在屏幕上显示的标称视频,辅助视频是要在基本视频中的更小窗口上显示的视频。此外,交互图形流代表要通过在屏幕上布置GUI成分而产生的交互屏。在每个实施例中所示的活动画面编码方法或活动画面编码设备或在符合常规标准,例如MPEG-2、MPEG-4AVC和VC-1的活动画面编码方法或活动画面编码设备中对视频流编码。根据诸如Dolby-AC-3、Dolby Digital Plus,MLP,DTS,DTS-HD和线性PCM的标准对音频流编码。
复用数据中包括的每个流都由PID标识。例如,将0x1011分配到要用于电影视频的视频流,将0x1100到x111F分配到音频流,将0x1200到0x121F分配到表达图形流,将0x1400到0x141F分配到交互图形流,将0x1B00到0x1B1F分配到要用于电影辅助视频的视频信息流,并将0x1a00到0x1A1F分配到要用于与基本音频混合的辅助音频的音频流。
图31示意性示出了如何复用数据。首先,将由视频帧构成的视频流ex235和由音频帧构成的音频流ex238变换成PEF分组流ex236和PES分组流ex239,并进一步变换成TS分组ex237和TS分组ex240。类似地,将表达图形流ex241的数据和交互图形流ex244的数据变换成PES分组流ex242和PES分组流ex245,并进一步变换成TS分组ex243和TS分组ex246。将这些TS分组复用成流以获得复用数据ex247。
图32更详细示出了如何在PES分组流中存储视频流。图32中的第一条示出了视频流中的视频帧流。第二条示出了PES分组流。如图32中的yy1、yy2、yy3和yy4表示的箭头所示,视频流被分成画面,例如I画面、B画面和P画面,均为视频表达单元,并在每个PES分组的有效载荷中存储画面。PES分组的每个都具有PES报头,PES报头存储表示画面显示时间的表达时间戳(PTS)以及表示画面解码时间的解码时间戳(DTS)。
图33示出了要在复用数据上最后写入的TS分组格式。TS分组的每个都是188字节固定长度的分组,包括4字节的TS报头,具有诸如用于标识流的PID的信息以及用于存储数据的184字节TS有效载荷。划分PES分组并分别存储在TS有效负载中。在使用BD ROM时,为每个TS分组赋予4字节的TP_Extra_Header,从而获得192字节的源分组。在复用数据上写入源分组。TP_Extra_Header存储诸如Arrival_Time_Stamp(ATS)的信息。ATS示出了传输开始时间,在此时间将每个TS分组传输到PID滤波器。如图33的底部所示,在复用数据中布置源分组。从复用数据的头部开始递增的数字被称为源分组编号(SPN)。
复用数据中包括的每个TS分组都不仅包括音频、视频、字幕流等,而且包括程序关联表(PAT)、程序图表(PMT)和程序时钟参考(PCR)。PAT示出了复用数据中使用的PMT中的PID表示什么,PAT自身的PID被登记为零。PMT存储复用数据中包括的视频、音频、字幕等流的PID,以及对应于PID的流的属性信息。PMT还具有与复用数据相关的各种描述符。描述符具有诸如拷贝控制信息的信息,显示是否许可拷贝复用数据。PCR存储与ATS对应的STC时间信息,示出何时将PCR分组传输到解码器,以便实现到达时间时钟(ATC)和系统时钟(STC)之间的同步,到达时间时钟为ATS的时间轴,系统时钟为PTS和DTS的时间轴。
图34详细示出了PMT的数据结构。PMT报头设置于PMT的顶部。PMT报头描述PMT等中包括的数据的长度。在PMT报头之后设置与复用数据相关的多个描述符。在描述符中描述了诸如拷贝控制信息的信息。在描述符之后,设置与复用数据中包括的流相关的多条流信息。每条流信息包括流描述符,流描述符均描述诸如用于标识流的压缩编解码器的流类型、流PID和流属性信息(例如帧速率或纵横比)的信息。流描述符的数量与复用数据中流数量相等。
在记录介质等上记录复用数据时,同时记录复用数据信息文件。
复用数据信息文件的每个都是如图35中所示的复用数据的管理信息。复用数据信息文件与复用数据一一对应,每个文件都包括复用数据信息、流属性信息和条目图。
如图35中所示,复用数据信息包括系统速率、再现开始时间和再现结束时间。系统速率表示下文描述的系统目标解码器向PID滤波器传输复用数据的最大传输速率。将复用数据中包括的ATS的间隔设置成不高于系统速率。再现开始时间表示复用数据头部视频帧中的PTS。向复用数据末尾处视频帧中的PTS增加一帧的间隔,将PTS设置为再现结束时间。
如图36中所示,在流属性信息中针对复用数据中包括的每个流的每个PID,登记一条属性信息。根据对应流是视频流、音频流、表达图形流或交互图形流,每条属性信息都具有不同的信息。每条视频流属性信息都携带着包括压缩视频流使用哪种压缩编解码器的信息,以及视频流中包括的各条画面数据的分辨率、纵横比和帧速率。每条音频流属性信息都携带着包括压缩音频流使用哪种压缩编解码器、音频流中包括多少通道、音频流支持哪种语言以及采样频率有多高的信息。视频流属性信息和音频流属性信息用于在播放器播放信息之前对解码器进行初始化。
在本实施例中,要使用的复用数据是PMT中包括的流类型的。此外,在记录介质上记录复用数据时,使用复用数据信息中包括的视频流属性信息。更具体而言,每个实施例中描述的活动画面编码方法或活动画面编码设备都包括向PMT或视频流属性信息中包括的流类型分配表示由每个实施例中的活动画面编码方法或活动画面编码设备产生的视频数据的唯一信息的步骤或单元。利用该配置,可以将每个实施例中所述的活动画面编码方法或活动画面编码设备产生的视频数据与符合另一种标准的视频数据区分开。
此外,图37示出了根据本实施例的活动画面解码方法的步骤。在步骤exS100中,从复用数据获得复用数据中包括的PMT或视频流属性信息中包括的流类型。接下来,在步骤exS101中,判断流类型或视频流属性信息是否表示复用数据是由每个实施例中的活动画面编码方法或活动画面编码设备产生的。在判定流类型或视频流属性信息表示复用数据是由每个实施例中的活动画面编码方法或活动画面编码设备产生的时,在步骤exS102中,由每个实施例中的活动画面解码方法进行解码。此外,在流类型或视频流属性信息表示符合常规标准,例如PEG-2、MPEG-4AVC和VC-1时,在步骤exS103中,由符合常规标准的活动画面解码方法进行解码。
这样一来,向流类型或视频流属性信息分配新的唯一值就能够判断每个实施例中描述的活动画面解码方法或活动画面解码设备是否能够进行解码。即使在输入符合不同标准的复用数据时,也可以选择适当的解码方法或设备。于是,变得能够对信息解码而没有任何错误。此外,可以将本实施例中的活动画面编码方法或设备,或活动画面解码方法或设备用于上述装置和系统中。
(实施例C)
每个实施例中的活动画面编码方法、活动画面编码设备、活动画面解码方法和活动画面解码设备中的每种通常都是以集成电路或大规模集成(LSI)电路的形式实现的。作为LSI的范例,图38示出了被做成一个芯片的LSI ex500的配置。LSI ex500包括如下所述的元件ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508和ex509,通过总线ex510将这些元件彼此连接。在打开电源电路单元ex505时,通过为每个元件供电激活电源电路单元ex505。
例如,在进行编码时,LSI ex500在包括CPU ex502、存储控制器ex503、流控制器ex504和驱动频率控制单元ex512的控制单元ex501的控制下,通过AV IO ex509,从微音器ex117、摄像机ex113等接收AV信号。将接收到的AV信号暂时存储在外部储存器ex511,例如SDRAM中。在控制单元ex501的控制下,根据要被发送到信号处理单元ex507的处理量和速度,将存储的数据分割成数据部分。然后,信号处理单元ex507对音频信号和/或视频信号编码。在这里,视频信号的编码是每个实施例中描述的编码。此外,信号处理单元ex507有时复用编码的音频数据和编码的视频数据,流IO ex506向外提供复用数据。将提供的复用数据发送到基站ex107或写入记录介质ex215上。在对数据集进行复用时,应当在缓存ex508中暂时存储数据,使得数据集彼此同步。
尽管存储器ex511是LSI ex500外部的元件,但其可以包括在LSI ex500中。缓存ex508不限于一个缓存,而可以由多个缓存构成。此外,可以将LSI ex500做成一个芯片或多个芯片。
此外,尽管控制单元ex501包括CPU ex502、存储控制器ex503、流控制器ex504、驱动频率控制单元ex512,但控制单元ex501的配置不限于此。例如,信号处理单元ex507可以进一步包括CPU。在信号处理单元ex507中包括另一个CPU能够改进处理速度。此外,作为另一范例,CPU ex502可以充当信号处理单元ex507或是其一部分,例如,可以包括音频信号处理单元。在这种情况下,控制单元ex501包括信号处理单元ex507或CPUex502,CPU ex502包括信号处理单元ex507的一部分。
这里使用的名称是LSI,但根据集成度,也可以将其称为IC、系统LSI、超级LSI或超大LIS。
此外,实现集成的方式不限于LSI,特殊电路或通用处理器等也能够实现集成。可以将现场可编程门阵列(FPGA)和可重配置处理器用于同一目的,FPGA可以在制造LSI之后编程,可重配置处理器允许重新配置LSI的连接或配置。
将来,随着半导体技术的发展,新型技术可能会替代LSI。可以利用这样的技术集成功能块。可能将本发明应用于生物技术。
(实施例D)
与对符合常规标准,例如MPEG-2、MPEG-4AVC和VC-1的视频数据解码时相比,在对每个实施例中描述的活动画面编码方法中或由活动画面编码设备产生的视频数据解码时,可能会提高处理量。于是,在对符合常规标准的视频数据解码时,需要将LSI ex500设置到比要使用的CPU ex更高的驱动频率。不过,在将驱动频率设置得更高时,存在着功耗增大的问题。
为了解决该问题,配置活动画面解码设备,例如电视ex300和LSI ex500以判断视频数据符合哪种标准,并根据所确定的标准在驱动频率之间切换。图39示出了本实施例中的配置ex800。驱动频率切换单元ex803在视频数据是由每个实施例中描述的活动画面编码方法或活动画面编码设备产生时将驱动频率设置到更高驱动频率。然后,驱动频率切换单元ex803指示解码处理单元ex801,解码处理单元ex801执行每个实施例中描述的活动画面解码方法以对视频数据解码。在视频数据符合常规标准时,驱动频率切换单元ex803将驱动频率设置到比视频数据是由每个实施例中描述的活动画面编码方法或活动画面编码设备产生时更低的驱动频率。然后,驱动频率切换单元ex803指示解码处理单元ex802,解码处理单元ex802符合常规标准,以对视频数据解码。
更具体而言,驱动频率切换单元ex803包括图38中的CPU ex502和驱动频率控制单元ex512。在这里,执行每个实施例中所述活动画面解码方法的解码处理单元ex801以及符合常规标准的解码处理单元ex802的每个都对应于图38中的信号处理单元ex507。CPUex502判断视频数据符合哪种标准。然后,驱动频率控制单元ex512基于来自CPU ex502的信号确定驱动频率。此外,信号处理单元ex507基于来自CPU ex502的信号对视频数据解码。例如,可以使用实施例B中描述的识别信息来识别视频数据。识别信息不限于实施例B中描述的那种,而是可以是任何信息,只要该信息指出视频数据符合哪种标准即可。例如,在可以基于外部信号判断视频数据符合哪种标准以确定为电视或磁盘等使用视频数据时,可以基于这样的外部信号做出判断。此外,CPU ex502基于例如查找表选择驱动频率,在查找表中将视频数据的标准与驱动频率相关联,如图41中所示。可以通过在缓存ex508中以及LSI的内部存储器中存储查找表并由CPU ex502参考查找表,来选择驱动频率。
图40示出了用于执行本实施例中的方法的步骤。首先,在步骤exS200中,信号处理单元ex507从复用数据获得识别信息。接下来,在步骤exS201中,CPU ex502基于识别信息判断视频数据是否是由每个实施例中描述的编码方法和编码设备产生的。在视频数据是由每个实施例中描述的活动画面编码方法和活动画面编码设备产生时,在步骤exS202中,CPUex502向驱动频率控制单元ex512发射信号,用于将驱动频率设置到更高驱动频率。然后,驱动频率控制单元ex512将驱动频率设置到更高驱动频率。另一方面,在识别信息表示视频数据符合常规标准,例如MPEG-2、MPEG-4AVC和VC-1时,在步骤exS203中,CPU ex502向驱动频率控制单元ex512发射信号,用于将驱动频率设置到更低驱动频率。然后,驱动频率控制单元ex512将驱动频率设置到比视频数据由每个实施例中所述活动画面编码方法和活动画面编码设备产生的情况下更低的驱动频率。
此外,与切换驱动频率同时,通过改变施加到LSI ex500或包括LSIex500的设备的电压,可以改善功率守恒效应。例如,在将驱动频率设置得更低时,可能将施加于LSI ex500或包括LSI ex500的设备的电压设置到比将驱动频率设置得更高的情况更低的电压。
此外,在用于解码的处理量更大时,可以将驱动频率设置得更高,在用于解码的处理量更小时,可以将驱动频率设置地更低,以此作为设置驱动频率的方法。于是,设置方法不限于上述那些。例如,在用于对符合MPEG-4AVC的视频数据解码的处理量大于用于对每个实施例中描述的活动画面编码方法和活动画面编码设备产生的视频数据解码的处理量时,可以将驱动频率设置成与上述设置相反的次序。
此外,用于设置驱动频率的方法不限于用于将驱动频率设置得更低的方法。例如,在识别信息表示视频数据是由每个实施例中描述的活动画面编码方法和活动画面编码设备产生时,可以将要施加于LSI ex500或包括LSI ex500的设备的电压设置得更高。在识别信息表明视频数据符合常规标准,例如MPEG-2、MPEG-4AVC和VC-1时,可以将要施加到LSIex500或包括LSI ex500的设备的电压设置得更低。作为另一范例,在识别信息表明视频数据是由每个实施例中描述的活动画面编码方法和活动画面编码设备产生时,可以不必中止CPU ex502的驱动。在识别信息表明视频数据符合常规标准,例如MPEG-2、MPEG-4AVC和VC-1时,可以在给定时间,中止CPU ex502的驱动,因为CPU ex502具有额外的处理能力。即使在识别信息表明视频数据是由每个实施例中描述的活动画面编码方法和活动画面编码设备产生时,在CPU ex502具有额外处理能力的情况下,可以在给定时间中止CPU ex502的驱动。在这种情况下,可以将中止时间设置得比在识别信息表示视频数据符合常规标准的情况下更短,常规标准例如是MPEG-2、MPEG-4AVC和VC-1。
因此,可以通过根据视频数据符合的标准在驱动频率之间切换来改善功率守恒效应。此外,在使用电池驱动LSI ex500或包括LSI ex500的设备时,可以利用功率守恒效应延长电池寿命。
(实施例E)
存在这样的情况:将多个符合不同标准的视频数据提供到诸如电视和蜂窝电话的装置和系统。为了能够对符合不同标准的多个视频数据进行解码,LSI ex500的信号处理单元ex507需要符合不同的标准。不过,单独使用符合相应标准的信号处理单元ex507时会出现LSI ex500的电路尺度增大以及成本增大的问题。
为了解决这个问题,构思的是这样的配置:其中,部分共享用于实施每个实施例中所述活动画面解码方法的解码处理单元和符合常规标准,例如MPEG-2、MPEG-4AVC和VC-1的解码处理单元。图42A中的EX900示出了配置的范例。例如,每个实施例中描述的活动画面解码方法以及符合MPEG-4AVC的活动画面解码方法部分共有处理的细节,处理例如是熵编码、逆量化、解块滤波和运动补偿预测。要被共享的处理细节可能包括符合MPEG-4AVC的解码处理单元ex902。相反,可以使用专用解码处理单元ex901进行本发明一方面特有的其他处理。由于本发明的该方面特征尤其在于逆量化,所以,例如,将专用解码处理单元ex901用于逆量化。否则,可以为熵解码、解块滤波和运动补偿之一或所有处理共享解码处理单元。可以针对要共享的处理共享用于实施每个实施例中描述的活动画面解码方法的解码处理单元,可以将专用解码处理单元用于MPEG-4AVC特有的处理。
此外,图42B中的ex1000示出了部分共享处理的另一范例。这一范例使用的配置包括专用解码处理单元ex1001、专用解码处理单元ex1002和解码处理单元ex1003,专用解码处理单元ex1001支持本发明一方面特有的处理,专用解码处理单元ex1002支持另一常规标准特有的处理,解码处理单元ex1003支持要在根据本发明该方面的活动画面解码方法和常规活动画面解码方法之间共享的处理。在这里,专用解码处理单元ex1001和ex1002未必分别专用于根据本发明该方面的处理和常规标准的处理,可以是能够实施一般处理的单元。此外,可以由LSI ex500实施本实施例的配置。
这样一来,可以通过在根据本发明该方面的活动画面解码方法和符合常规标准的活动画面解码方法之间共享用于处理的解码处理单元,能够减小LSI的电路尺度并降低成本。
本发明涉及解块滤波,可以将其有利地应用于对图像和视频信号的逐块编码和解码。具体而言,本发明涉及对块施加还是跳过解块滤波的自动判定当中的改进的存储器管理,还涉及解块滤波器的选择。通过某种方式基于块的分割执行所述判定,从而优化存储器使用。优选改进对适当解块滤波器的选择,从而降低计算开销。