专利名称:用于在单一描述和多描述之间切换的设备和方法
技术领域:
示例性实施例涉及视频编码设备和方法,例如涉及用于代码转换视频的设备和方法,其中,在压缩视频的传输中,上述压缩视频在易于出错的环境中被代码转换为多描述,而在较少错误或无错误的环境中被代码转换为单一描述。
背景技术:
随着在多媒体技术领域中近来的发展,包括音频、图像和视频的多媒体数据的多个传输是普遍的。
在小型用户终端的情况下,例如便携式电话或个人数字助理(PDAs),应该根据传输环境和/或用户终端的性能来代码转换大批多媒体数据。例如,高分辨率(higher-definition)压缩视频数据(例如压缩视频)可以在比特率、帧大小、帧频和/或视频格式被代码转换后被传输。
例如,当无线传输压缩视频的时候,应该以误差自适应的方式执行视频代码转换。换句话说,根据传输信道环境以误差自适应的方式代码转换压缩视频可能是重要的。
视频压缩方法(例如活动图像专家组(MPEG)和H.26x)使用相邻信息之间的关系改善压缩性能。然而,在这些视频压缩方法中,当在压缩视频的一部分中产生错误时,上述错误传播到周围区域,从而导致视频质量的降低。
为了阐明这个问题,已经使用了一种根据信道环境以误差自适应的方式代码转换压缩视频的方法,例如空间(spatially)定位错误的方法(例如空间(spatial)定位法)或时间(temporally)定位错误的方法(例如时间(temporal)定位法)。
空间定位法通过频繁地添加同步(sync)标记可以防止错误的空间上传播,所述标记例如是片(slice)报头和/或块组(GOB)的报头。
当在片或GOB中发生错误时,错误可能会一直传播直到它遇到新的同步标记。因此,空间定位法通过减小同步标记之间的间隔将错误传播限制到了一个较小的区域。
图1是示出传统的空间定位法的流程图。
在操作S101中,可以从压缩视频中译码报头信息和运动矢量。在操作S103中,可以为空间定位产生新的运动矢量并且使用上述新的运动矢量执行运动补偿。
在运动补偿之后的处理类似于一般的视频压缩方法的处理。换句话说,在操作S105中,在运动补偿块的数据被锯齿形扫描(zigzag-scanned)以后,它可以被量化并进行离散余弦变换(DCTed)。在操作S107中,可以通过熵编码压缩上述被余弦变换的数据,从而完成数据代码转换。
通过使用时间冗余改变中间(inter)宏模块为独立的内部(intra)宏模块,时间定位法可以限制错误的时间上传递。
运动补偿一般不用于内部宏模块。因此,为避免错误传播,通过改变中间(inter)宏模块为内部(intra)宏模块,时间定位法可以防止中间宏模块参考(referring to)具有错误的基准帧(reference frame)。
图2示出传统的时间定位法的流程图。
在操作S201中,可以从压缩视频中译码运动矢量和DCT系数。在操作S203中,利用上述运动矢量中间宏模块可以被变成内部宏模块。
在操作S205中,可以锯齿形扫描、量化和/或离散余弦变换上述内部宏模块的数据。在操作S207中,可以通过熵编码压缩上述被离散余弦变换的数据,从而结束数据代码转换。
然而,传统的空间定位法和/或时间定位法可能并没有有效地减少或防止在易于出错的信道环境中错误的传播,从而导致被发送数据(例如视频)的质量降低。
发明内容
示例性实施例提供了一种用于代码转换视频的装置,其中,在压缩视频的传输中,在一个易于出错的环境下可能代码转换上述压缩视频为多描述,而在一个低错误或无错误的环境下可能代码转换为单一描述。
示例性实施例还提供了一种代码转换视频的方法,其中,在压缩视频的传输中,在一个易于出错的环境下可能代码转换上述压缩视频为多描述,而在一个低错误或无错误的环境下可能代码转换为单一描述。
根据示例性实施例,这里提供一种视频代码转换器,包括译码单元、单一描述/多描述确定单元和/或代码转换单元。上述译码单元可以译码压缩视频来为压缩视频的每一个帧产生视频报头、运动矢量以及DCT(离散余弦变换)系数。基于在压缩视频的传输信道中错误产生的概率,上述单一描述/多描述确定单元可以确定是否执行代码转换为单一描述或多描述。当上述单一描述/多描述确定单元确定应该执行代码转换为单一描述时,通过将DCT系数和视频报头以及运动矢量编码,上述代码转换单元可以执行代码转换为单一描述;当上述单一描述/多描述确定单元确定应该执行代码转换为多描述时,通过将DCT系数划分为若干DCT系数并且将每一个DCT系数和视频报头以及运动矢量编码,执行代码转换为多描述。
上述代码转换单元可以包括单一描述代码转换单元和多描述代码转换单元。上述单一描述代码转换单元可以执行代码转换为单一描述,而多描述代码转换单元执行代码转换为多描述。上述多描述代码转换单元可以包括开始位置确定单元、DCT系数划分单元和/或压缩编码单元。上述开始位置确定单元可以根据DCT系数的频率特性以预先确定或要求的扫描顺序确定DCT系数划分的开始位置。上述DCT系数划分单元可以使在上述开始位置之前的所有DCT系数的数据包括在若干被划分的DCT系数的每一个中,并且可以使在上述开始位置之后的DCT系数的数据交替地包括在若干被划分的DCT系数的每一个中,从而产生多个被划分的DCT系数。上述压缩编码单元可以将多个被划分的DCT系数的每一个和视频报头以及运动矢量编码。
根据示例性实施例,这里提供一种视频代码转换器,包括译码单元、单一描述/多描述确定单元和/或代码转换单元。上述译码单元可以译码压缩视频来为上述压缩视频的每一个帧产生视频报头、运动矢量以及DCT(离散余弦变换)系数。通过比较根据在传输信道中压缩视频的每一帧的每个像素中重建误差的总和确定的单一描述的拉格朗日成本和多描述的拉格朗日成本,上述单一描述/多描述确定单元可以确定是否执行代码转换为单一描述或多描述。当上述单一描述/多描述确定单元确定应该执行代码转换为单一描述时,通过将上述DCT系数和视频报头以及运动矢量编码,上述代码转换单元可以执行代码转换为单一描述;当上述单一描述/多描述确定单元确定应该执行代码转换为多描述时,通过将上述DCT系数划分为若干DCT系数并且将每一个DCT系数和视频报头以及运动矢量编码,执行代码转换为多描述。
单一描述的拉格朗日成本可以是重建误差之和,多描述的拉格朗日成本可以是重建误差和冗余量的乘法结果以及预先确定或期望的拉格朗日乘子的和,并且,如果单一描述拉格朗日成本大于多描述的拉格朗日成本,则上述单一描述/多描述确定单元可以确定应该执行代码转换为多描述;以及,如果多描述拉格朗日成本大于单一描述的拉格朗日成本,则上述单一描述/多描述确定单元可以确定应该执行代码转换为单一描述。
上述代码转换单元可以包括单一描述代码转换单元和多描述代码转换单元。上述单一描述代码转换单元可以执行代码转换为单一描述,而多描述代码转换单元可以执行代码转换为多描述。上述多描述代码转换单元可以包括开始位置确定单元、DCT系数划分单元和/或压缩编码单元。上述开始位置确定单元可以根据DCT系数的频率特性以预先确定或要求的扫描顺序确定DCT系数划分的开始位置。上述DCT系数划分单元可以使在上述开始位置之前的DCT系数的所有数据被包括在若干被划分DCT系数的每一个中,以及可以使在上述开始位置之后的DCT系数的数据交替地被包括在若干被划分DCT系数的每一个中,从而产生多个被划分的DCT系数。上述压缩编码单元可以将多个被划分的DCT系数的每一个和视频报头以及运动矢量编码。
根据示例性实施例,这里提供视频代码转换方法。上述视频代码转换方法可以包括为压缩视频的每一帧译码压缩视频以产生视频报头、运动矢量和DCT(离散余弦变换)系数;基于在用于压缩视频的传输信道中错误发生的概率,确定是否执行代码转换为单一描述或多描述;以及/或,当确定执行代码转换为单一描述时,通过将DCT系数和视频报头以及运动矢量编码,执行代码转换为单一描述,以及,当确定执行代码转换为多描述时,通过划分DCT系数为若干DCT系数并将每一个DCT系数和视频报头以及运动矢量编码,执行代码转换为多描述。
根据示例性实施例,这里提供视频代码转换方法。上述视频代码转换方法可以包括为压缩视频的每一帧译码压缩视频以产生视频报头、运动矢量和DCT(离散余弦变换)系数;通过比较根据在传输信道中压缩视频每一帧的每个像素中重建误差的总和确定的单一描述拉格朗日成本和多描述拉格朗日成本,确定是否执行代码转换为单一描述或多描述;和/或,当上述单一描述/多描述确定单元确定应该执行代码转换为单个描述时,通过将DCT系数和视频报头以及运动矢量编码,执行代码转换为单一描述,并且,当上述单一描述/多描述确定单元确定应该执行代码转换为多描述时,通过将DCT系数划分为若干DCT系数并且将每一DCT系数和视频报头以及运动矢量编码,可以执行代码转换为多描述。
通过参考所述附图详细地说明,示例性实施例将会变得更加显而易见,其中图1是示出传统的空间定位法的流程图;图2是示出传统的时间定位法的流程图;图3是根据示例性实施例的视频代码转换器的方框图;图4是图3中的多描述代码转换单元的示例性方框图;以及图5是示出根据示例性实施例的在视频代码转换器中确定是否执行代码转换为单一描述或多描述的处理的流程图。
具体实施例方式
以下,结合附图将详细描述示例性实施例。在所述附图中,相同的或同样的元件由相同的附图标记表示。
以下结合附图更加全面的描述示例性实施例。然而示例性实施例可以体现为很多种不同的形式并且不应该认为是限制这里阐述的实施例。更确切些,提供示例性实施例以便这个公开将是全面和完整的,并且完全将本发明的范围传达给本领域技术人员。在所述附图中,为了清楚起见可以放大层和区域的尺寸和相对尺寸。
可以理解的是,当一个元件或层被提到为“在...上”、“连接到”或者“耦合到”另一个元件或层,它可以是直接在其上、连接或耦合到另一个元件或层或可能存在的居间(intervening)元件或层。相反地,当一个元件被提到为“直接在其上”、“直接连接到”或“直接耦合到”另一个元件或层,不存在居间元件或层。相同的附图标记始终涉及同样的元件。如在这里使用的,术语“和/或”包括一个或多个相关的所列物品的任意和所有组合。
可以理解的是,虽然这里使用术语第一、第二等等以描述不同的元件、成分、区域、层和/或部件,但是这些元件、成分、区域、层和/或部件不应该被这些术语限制。这些术语仅仅用于区分一个元件、成分、区域、层或部件和另一个区域、层或部件。因此,以下讨论的第一元件、成分、区域、层或部件可以被称为第二元件、成分、区域、层或部件而不脱离示例性实施例的教导。
为了描述的容易,这里可以使用空间相对的术语,诸如“在...之下”、“在...下面”、“低于”、“高于”、“在......上”等等,以描述在附图中示出的一个元件或特征与另一个元件或特征的关系。可以理解的是上述空间相对的术语是用来包括除附图示出的方向之外在使用或操作中的设备的不同的方向。例如,如果附图中的设备被翻转,被描述为在另一个元件或特征下面的元件之后可能被确定方向为在其它元件或特征之上。因此,示例性术语上述“在...下面”可以包括之上和之下两种方向。所述设备可以被确定为其它方向(旋转90度或在另外一个方向)以及在此使用被相应说明的空间相对描述符。
这里使用的术语仅仅是为了描述具体的实施例,并没有意图限制本发明。如在这里使用的那样,单数形式“一(a)”、“一个(an)”和“这个(the)”也用来包括复数形式,否则除非上下文清楚地表示。更进一步可以理解的是,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,指定所述特征、整体、步骤、操作、元件和/或成分的存在状态,但是不排除出现或添加一个或多个另外一个特征、整体、步骤、操作、元件、成分和/或其中的组合。
在此结合横截面示意图描述示例性实施例,上述横截面示意图是示意性的图示。就这点而论,从所描述的形状得到的变化作为例如制造工艺和/或允许误差的结果是可预期的。因此,示例性实施例不应该被认为是限制在这里示出的区域的具体形状,而是包括例如从制造中导致的在形状上的改变。例如,被描述为矩形的植入(implant)区域通常会具备圆形的或曲线的特征和/或在它边缘的植入集中(implant concentration)的斜率,而不是从嵌入至非植入区域的二进制变化。同样地,由植入形成的填盖(buried)区域可能导致在发生填盖区域与植入表面之间的区域中的一些植入。
因此在附图中所示出的区域实际上是示意图,并且它们的形状并不意味着示出设备区域的实际形状并且不意味着限制附加权利要求的范围。
除非另外定义,这里使用的所有术语(包括技术和科学名词)具有与示例性实施例所属领域技术人员普遍理解的相同含义。
更进一步地可以理解的是,诸如在一般使用的词典中定义的术语应该解释为具有与在相关技术上下文中它们的含义相一致的含义,并且不会被以理想化或过度正式的意义解释,除非这里清楚地如此定义。
图3是根据示例性实施例的视频代码转换器300的方框图。
视频代码转换器(video transcoder)300可以包括译码单元310、单一描述(single description)/多描述(multiple description)确定单元330和/或代码转换单元350。译码单元310可以译码压缩视频并为每一个帧产生视频报头(videoheader)、运动矢量和离散余弦变换(DCT)系数。
单一描述/多描述确定单元330基于错误发生的概率可以确定是否执行代码转换为单一描述或多描述。
在一示例性实施例中,代码转换为单一描述可以被定义为使用预先确定的或要求的编码方法代码转换从压缩视频中译码的视频报头、运动矢量和DCT系数,而又没有变化。
在一示例性实施例中,代码转换为多描述可以被定义为在由译码单元310为每一个帧译码的视频报头、运动矢量和DCT系数之间划分DCT系数为若干DCT系数,并且根据预先确定的或要求的编码方法,代码转换每一个被划分的DCT系数、视频报头和运动矢量。
例如,当DCT系数可以划分为三个DCT系数A、B和C时,代码转换DCT系数为多描述意味着将DCT系数代码转换为三个描述,例如DCT系数A、视频报头和运动矢量被编码至其中的第一描述,DCT系数B、视频报头和运动矢量被编码至其中的第二描述,以及DCT系数C、视频报头和运动矢量被编码至其中的第三描述。
因此,单一描述/多描述确定单元330可以确定在具有错误发生较高可能性的信道中是否代码转换压缩视频为多描述,从而允许误差自适应传输。单一描述/多描述确定单元330还可以确定在具有错误发生较低可能性的信道中代码转换压缩视频为单一描述,从而改善压缩性能。
代码转换单元350可以包括单一描述代码转换单元370和多描述代码转换单元390。
当单一描述/多描述确定单元330确定代码转换为单一描述的时候,单一描述代码转换单元370使用预先确定的或要求的编码方法编码从压缩视频中译码的视频报头、运动矢量和DCT系数,而无须对其变化。上述预先确定或要求的编码方法可以是用于产生压缩视频的编码方法。
当单一描述/多描述确定单元330确定代码转换为多描述的时候,单一描述代码转换单元370可以将DCT系数划分为若干DCT系数并且将每一个被划分的DCT系数连同视频报头和运动矢量一起编码。以下,结合图4将描述多描述代码转换单元390的结构与操作。
图4是图3中的多描述代码转换单元390的示例性方框图。
多描述代码转换单元390可以包括开始位置确定单元391、DCT系数划分单元393和/或压缩编码单元395。开始位置确定单元391可以基于根据DCT系数的频率特性的预先确定或要求的扫描顺序确定DCT系数划分的开始位置。
例如,当执行锯齿形扫描时,在锯齿形扫描的宏模块中,在根据扫描顺序的预先确定或要求的位置处的DCT系数数据可以具有较低的频率特性。通常,在DCT中,低频区域的DCT系数数据比高频区域的DCT系数数据更加重要。
因此,在一示例性实施例中,开始位置确定单元391基于预先确定或要求的扫描顺序确定具有低频特性的DCT系数数据的位置为开始位置。
在一示例性实施例中,开始位置(Start position)可以由以下给出Start position=αlog10(PLR)+b ……………………………………(1),其中a是包括在宏模块中的像素的数目,其中为了上述宏模块计算DCT系数,b=2a,0<Start position<(a-1),而PLR是在压缩视频的传输信道中的包丢失率。
通常,随着包丢失率的增加,开始位置也增加,导致更多冗余的DCT系数数据。根据一示例性实施例,使用包丢失率的视频代码转换器300可能是有利的,这是因为当与使用比特率扭变(RD)最优化方法的情况相比时,它的较低的复杂性。
在一示例性实施例中,块(block)的大小可以是8×8,a=64,b=128,而开始位置可以介于0和63的范围之间。例如,当根据预先确定或要求的扫描顺序的第1到第15个DCT系数数据具有低频特性,那么开始位置可以是15。
DCT系数划分单元393可以使得在开始位置之前的DCT系数的所有数据被包括在若干DCT系数中的每一个以及开始位置之后DCT系数数据交替地包括在若干DCT系数的每一个中,从而产生多个被划分的DCT系数。
例如,当开始位置是15并且DCT系数被分成三个DCT系数A、B和C时,根据预先确定或要求的扫描顺序的数据的第1到第15部分全部被包括在上述DCT系数A、B和C的每一个中。数据的第16部分和接下来的数据交替地被包括在上述DCT系数A、B和C的每一个中。换句话说,数据的第16部分被包括在DCT系数A中,数据的第17部分被包括在DCT系数B中,数据的第18部分被包括在DCT系数C中,而数据的第19部分被包括在DCT系数A中。
用这样的方式,DCT系数划分单元393可以根据开始位置将DCT系数划分为若干DCT系数。
压缩编码单元395可以将若干被划分的DCT系数中的每一个、视频报头和运动矢量一起编码。
例如,当DCT系数被划分成三个DCT系数A、B和C时,压缩编码单元395可以编码DCT系数A、B和C中的每一个。换句话说,压缩编码单元395可以将DCT系数A、视频报头和运动矢量一起编码;将DCT系数B、视频报头和运动矢量一起编码;以及,将DCT系数C、视频报头和运动矢量一起编码。
如上所述,当DCT系数被划分成三个DCT系数A、B和C时,压缩编码单元395可以将压缩视频代码转换为三个多描述。
根据示例性实施例的视频代码转换器可以使用拉格朗日乘子(lagrangemultiplier)方法确定是否执行代码转换为单一描述或多描述。
换句话说,根据示例性实施例的视频代码转换器的单一描述/多描述确定单元可以为压缩视频传输信道计算在一个帧中的每一个像素中的重建错误(reconstruction error),根据在帧的像素中的重建错误的和计算并比较单一描述的拉格朗日成本与多描述的拉格朗日成本,并且基于上述比较结果确定是否执行代码转换为单一描述或多描述。
根据示例性实施例,视频代码转换器的结构与操作除了单一描述/多描述确定单元的操作之外可以是与图3中的视频代码转换器300的结构和操作相同。因此,根据示例性实施例,将结合图5描述在视频代码转换器中的确定是否使用代码转换为单一描述或多描述的处理。
图5是示出根据示例性实施例,在视频代码转换器中的确定是否执行代码转换为单一描述或多描述处理的流程图。所述处理可以由单一描述/多描述确定单元执行。
在操作S501中,在译码单元为每一个帧译码视频报头、运动矢量和DCT系数以后,在操作S503中,单一描述/多描述确定单元可以以为压缩视的频传输信道给定的误差模型计算拉格朗日成本。
通常,如果确定了信道,在该信道中的误差模型也是确定的。在一示例性实施例中,可以为单一描述和多描述两者计算拉格朗日成本。此外,为确定是否使用代码转换为单一描述或多描述,可以比较单一描述的拉格朗日成本和多描述的拉格朗日成本,并且可以确定代码转换为具有较少拉格朗日成本的描述。
拉格朗日成本可以通过以下计算J=Dtotal+λ×ρ……………………………………(2),其中J是拉格朗日成本,Dtotal是重建错误的和,λ是拉格朗日乘子,而ρ是冗余的数量。当计算单一描述的拉格朗日成本时ρ等于0,而当计算多描述的拉格朗日成本时,通过从压缩所有描述需要的位的数量减去压缩单一描述需要的位的数量而获得ρ。
从等式2可以看出,当使用拉格朗日乘子方法时,单一描述的拉格朗日成本是用于像素的重建错误的和,而多描述拉格朗日成本是重建错误及冗余的数量和预先确定或要求的拉格朗日乘子的乘积的和。
在计算单一描述的拉格朗日成本以及多描述的拉格朗日成本以后,单一描述/多描述确定单元可以比较上述被计算的拉格朗日成本。如果多描述的拉格朗日成本小于单一描述的拉格朗日成本,单一描述/多描述确定单元确定执行代码转换为多描述。如果单一描述的拉格朗日成本小于多描述的拉格朗日成本,单一描述/多描述确定单元确定执行代码转换为单一描述。
在一示例性实施例中,可以使用熵编码通过计算实际的比特率获得冗余的数量,和可以使用基于在压缩视频的传输信道中错误发生概率的误差模型以及当错误发生时由译码器执行的错误消去方法获得冗余的数量。
用于信道的帧的每一个像素的重建错误可以使用如下误差模型计算dni=E{(fni-f~ni)2}=(fni)2-2fniE{f~ni}+E{(f~ni)2}------(3),]]>其中dni是在第n个帧中第i个像素的重建错误,可以使用被译码至第n个帧中第i个像素的原始值的视频报头、运动矢量和DCT系数获取fni, 是第n个帧中第i个像素的重建预计值,而E是取平均值操作,其中 是一阶取平均值操作,而 是二阶取平均值操作。
根据压缩视频是以中间(inter)格式还是内部(intra)格式被压缩并且是被代码转换为单一描述还是多描述,可以使用一阶取平均值操作和二阶取平均值操作。
当压缩视频以内部格式被代码转换为单一描述时,一阶取平均值操作和二阶取平均值操作可以被计算如下E{f~ni}(I)=(1-p)(f^ni)+p(1-p)E{f^n-1k}+p2E{f~n-1i}]]>E{(f~ni)2}(I)=(1-p)(f^ni)2+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2}··················(4)]]>当压缩视频以内部格式被代码转换为多描述时,一阶取平均值操作和二阶取平均值操作可以被计算如下E{f~ni}(I)=(1-p)2(f^ni)+p(1-p)((f~ni)1+(f~ni)2)+p2E{f~n-1i}]]>E{(f~ni)2}(I)=(1-p)2(f^n)2+p(1-p)((f^ni)12+(f^ni)22)+p2E{(f~n-1i)2}··············(5)]]>当压缩视频以中间格式被代码转换为单一描述时,一阶取平均值操作和二阶取平均值操作可以被计算如下E{fni}(P)=(1-p)(e^ni+E{f~n-1j})+p(1-p)E{f~n-1k}+p2E{f~n-1i}]]>
E{(f~ni)2}(P)=(1-p)E(e^ni+f~n-1j)2+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2}·············(6)]]>当压缩视频以中间格式被代码转换为多描述,一阶取平均值操作和二阶取平均值操作可以被计算如下E{f~ni}(P)=(1-p)2(e^ni+E{f~n-1j})+p(1-p)((e^ni)1+E{f~n-1j1}+(e^ni)2+E{f~n-1j2})+p2E{f~n-1i}]]>E{(f~ni)2}(P)=(1-p)2((e^ni)2+2e^niE{f~n-1j}+E{f~n-1j}2+p(1-p)((e^ni)12+2(e^ni)1E{f~n-1j1}]]>+E{(f~n-1j1)2}+(e^ni)22+2(e^ni)2E{f~n-1j2}+E{(f~n-1j2)2}+p2E{(f~n-1i)2}··············(7)]]>在单一描述压缩中, 是不发生错误时的重建的值, 是使用运动补偿误差隐藏(concealment)的重建的值, 是前一帧的像素值,其处于当前帧的像素值的相同位置, 是以中间格式的运动补偿的值。
在多描述压缩中, 和 是第一描述和第二描述的像素值, 是前一帧的像素值,其处于当前帧的像素值的相同位置, 是以中间格式的运动补偿的值, 和 是使用上述第一描述和第二描述的运动补偿的值,而 和 表示被运动补偿的第一和第二描述的值。
如上所述,根据示例性实施例,可以在易于出错的信道环境中执行代码转换为多描述,从而允许误差自适应传输。可以在低错误或无错误的信道环境中执行代码转换为单一描述,从而改善压缩性能。
此外,快速代码转换是可能的,这是因为没有使用具有高复杂性的算法,例如运动评估。
虽然已经特别示出并且描述了示例性实施例,然而本领域技术人员将会理解的是可以做出在形式和细节上的不同的变化,而不脱离如以下权利要求所定义的示例性实施例的精神和范围。
本申请要求申请日为2005年9月10日在韩国知识产权局申请的韩国专利申请号为10-2005-0084421的优先权,其公开的内容一并引用于此。
权利要求
1.一种视频代码转换器,包括译码单元,译码压缩视频以为所述压缩视频的每一个帧产生视频报头、运动矢量和DCT(离散余弦变换)系数;单一描述/多描述确定单元,基于在上述压缩视频的传输信道中错误发生的概率确定是否执行代码转换为单一描述或多描述;以及代码转换单元,当上述单一描述/多描述确定单元确定执行代码转换为单一描述时,通过将DCT系数和视频报头以及运动矢量一起编码,执行代码转换为单一描述,和当上述单一描述/多描述确定单元确定执行代码转换为多描述时,通过将DCT系数划分为若干DCT系数以及将上述DCT系数的每一个和视频报头以及运动矢量一起编码,执行代码转换为多描述。
2.权利要求1中的视频代码转换器,其中上述代码转换单元包括执行代码转换为单一描述的单一描述代码转换单元;以及执行代码译码为多描述的多描述代码转换单元,其中上述多描述代码转换单元包括开始位置确定单元,根据DCT系数的频率特性以预先确定或要求的扫描顺序确定上述DCT系数的划分的开始位置;DCT系数划分单元,使在上述开始位置之前的DCT系数的所有数据被包括在若干被划分的DCT系数的每一个中,和使在上述开始位置之后的DCT系数的数据交替地被包括在若干被划分的DCT系数的每一个中,从而产生多个被划分的DCT系数;以及压缩编码单元,将多个被划分的DCT系数的每一个和视频报头以及运动矢量一起编码。
3.权利要求2中的视频代码转换器,其中开始位置确定单元确定开始位置如下开始位置=alog10(PLR)+b,其中a是包括在宏模块中像素的数目,其中为了上述宏模块计算DCT系数,b=2a,0<开始位置<(a-1),而PLR是在传输信道中的包丢失率。
4.权利要求1中的视频代码转换器,其中上述单一描述/多描述确定单元通过比较根据在传输信道中压缩视频的每个帧的每一个像素中的重建误差的和确定的单一描述的拉格朗日成本和多描述的拉格朗日成本,确定是否执行代码转换为单一描述或多描述。
5.权利要求4中的视频代码转换器,其中上述单一描述的拉格朗日成本是重建误差之和,多描述的拉格朗日成本是重建误差以及冗余的数量和预先确定或要求的拉格朗日乘子之积的和,并且,如果上述单一描述的拉格朗日成本大于多描述的拉格朗日成本,则上述单一描述/多描述确定单元确定执行代码转换为多描述,以及如果多描述的拉格朗日成本大于单一描述的拉格朗日成本,则确定执行代码转换为单一描述。
6.权利要求5中的视频代码转换器,其中上述拉格朗日成本计算如下J=Dtotal+λ×ρ其中J是拉格朗日成本,Dtotal是重建误差的和,λ是拉格朗日乘子,而ρ是冗余的数量,其中当计算单一描述的拉格朗日成本时ρ等于0,而当计算多描述的拉格朗日成本时,通过从压缩所有描述所需要的位的数目减去压缩单一描述所需要的位的数目获得ρ。
7.权利要求4中的视频代码转换器,其中在传输信道中的压缩视频的每个帧的每一个像素中的重建误差计算如下dni=E{(fni-f~ni)2}=(fni)2-2fniE{f~ni}+E{(f~ni)2},]]>其中dni是在第n个帧中第i个像素的重建误差,使用被译码为在第n个帧中第i个像素的原始值的视频报头、运动矢量和DCT系数获取fni, 是在第n个帧中第i个像素的重建预计值,并且E是取平均值操作,其中 是一阶取平均值操作而 代表二阶取平均值操作,以及其中当以内部格式代码转换上述压缩视频为单一描述时,一阶取平均值操作和二阶取平均值操作计算如下E{f~ni}(I)=(1-p)(f^ni)+p(1-p)E{f~n-1k}+p2E{f~n-1i}]]>E{(f~ni)2}(I)=(1-p)(f^ni)2+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2},]]>当以内部格式代码转换上述压缩视频为多描述时,一阶取平均值操作和二阶取平均值操作计算如下E{f~ni}(I)=(1-p)2(f^ni)+p(1-p)((f~ni)1+(f~ni)2)+p2E{f~n-1i}]]>E{(f~ni)2}(I)=(1-p)2(f^n)2+p(1-p)((f^ni)12+(f^ni)22)+p2E{(f~n-1i)2},]]>当以中间格式代码转换上述压缩视频为单一描述时,一阶取平均值操作和二阶取平均值操作计算如下E{fni}(p)=(1-p)(e^ni+E{f~n-1j})+p(1-p)E{f~n-1k}+p2E{f~n-1i}]]>E{(f~ni)2}(p)=(1-p)E(e^ni+f~n-1j)2+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2},]]>以及当以中间格式代码转换为多描述时,一阶取平均值操作和二阶取平均值操作计算如下E{f~ni}(P)=(1-p)2(e^ni+E{f~n-1j})+p(1-p)((e^ni)1+E{f~n-1j1}+(e^ni)2+E{f~n-1j2})+p2E{f~n-1i}]]>E{(f~ni)2}(P)=(1-p)2((e^ni)2+2e^niE{f~n-1j}+E{f~n-1j}2+p(1-p)((e^ni)12+2(e^ni)1E{f~n-1j1}]]>+E{(f~n-1j1)2}+(e^ni)22+2(e^ni)2E{f~n-1j2}+E{(f~n-1j2)2}+p2E{(f~n-1i)2}]]>
8.权利要求4中的视频代码转换器,其中上述代码转换单元包括执行代码转换为单一描述的单一描述代码转换单元;以及执行代码转换为多描述的多描述代码转换单元,其中上述多描述代码转换单元包括开始位置确定单元,根据DCT系数的频率特性以预先确定或要求的扫描顺序确定上述DCT系数的划分的开始位置;DCT系数划分单元,使在开始位置之前的DCT系数的所有数据被包括在若干被划分的DCT系数的每一个中,以及,使在开始位置之后的DCT系数的数据被交替地包括在若干被划分的DCT系数的每一个中,从而产生多个被划分的DCT系数;以及压缩编码单元,将上述多个被划分的DCT系数的每一个和视频报头以及运动矢量一起编码。
9.权利要求8中的视频代码转换器,其中开始位置确定如下开始位置=a log10(PLR)+b其中a是被包括在宏模块中像素的数目,其中为了上述宏模块计算上述DCT系数,b=2a,0<开始位置<(a-1),而PLR是在传输信道中的包丢失率。
10.视频代码转换方法,包括译码压缩视频以为所述压缩视频的每一个帧产生视频报头、运动矢量和DCT(离散余弦变换)系数;基于在用于上述压缩视频的传输信道中错误发生的概率确定是否执行代码转换为单一描述或多描述;以及当确定执行代码转换为单一描述时,通过将DCT系数和视频报头以及运动矢量一起编码,执行代码转换为单一描述,和当确定执行代码转换为多描述时,通过划分DCT系数为若干DCT系数并且将每一个DCT系数和视频报头以及运动矢量一起编码,执行代码转换为多描述。
11.权利要求10中的视频代码转换方法,其中执行代码转换为多描述包括根据DCT系数的频率特性以预先确定或要求的扫描顺序确定DCT系数的划分的开始位置;使在上述开始位置之前的DCT系数的所有数据被包括在若干被划分的DCT系数的每一个中,并且,使在开始位置之后DCT系数的数据被交替地包括在若干被划分的DCT系数的每一个中,从而产生多个被划分的DCT系数;以及将若干被划分的DCT系数的每一个和视频报头以及运动矢量一起编码。
12.权利要求11中的视频代码转换方法,其中上述开始位置确定如下开始位置=alog10(PLR)+b其中a是包括在宏模块中像素的数目,其中为了上述宏模块计算DCT系数,b=2a,0<开始位置<(a-1),而PLR是在传输信道中的包丢失率。
13.权利要求10中的视频代码转换方法,其中确定是否执行代码转换为单一描述或多描述包括根据在传输信道中压缩视频每个帧的每一个像素中重建误差的和,比较单一描述的拉格朗日成本和多描述的拉格朗日成本。
14.权利要求13中的视频代码转换方法,其中上述单一描述的拉格朗日成本是重建误差之和,多描述的拉格朗日成本是重建误差以及冗余的数量和预先确定或要求的拉格朗日乘子之积的和,并且确定是否执行代码转换为单一描述或多描述包括如果单一描述的拉格朗日成本大于多描述的拉格朗日成本,则确定执行代码转换为多描述,和如果多描述的拉格朗日成本大于单一描述的拉格朗日成本,则确定执行代码转换为单一描述。
15.权利要求14中的视频代码转换方法,其中上述拉格朗日成本计算如下J=Dtotal+λ×ρ其中J是拉格朗日成本,Dtotal是重建误差的和,λ是拉格朗日乘子,而ρ是冗余的数量,其中当计算单一描述的拉格朗日成本时ρ等于0,而当计算多描述的拉格朗日成本时,通过从压缩所有描述所需要的位的数目减去压缩单一描述所需要的位的数目获得ρ。
16.权利要求13中的视频代码转换方法,其中在传输信道中压缩视频每个帧的每一个像素中的重建误差计算如下dni=E{(fni-f~ni)2}=(fni)2-2fniE{f~ni}+E{(f~ni)2}]]>其中dni是在第n个帧中第i个像素的重建误差,可以使用被译码为在第n个帧中第i个像素的原始值的视频报头、运动矢量和DCT系数获取fni, 是在第n个帧中第i个像素的重建预计值,而E可以是取平均值操作,其中 是一阶取平均值操作而 表示二阶取平均值操作,以及其中当上述压缩视频以内部格式被代码转换为单一描述时,上述一阶取平均值操作和二阶取平均值操作计算如下E{f~ni}(I)=(1-p)(f^ni)+p(1-p)E{f~n-1k}+p2E{f~n-1i}]]>E{(f~ni)2}(I)=(1-p)(f^ni)2+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2}]]>当上述压缩视频以内部格式被代码转换为多描述时,上述一阶取平均值操作和二阶取平均值操作计算如下E{f~ni}(I)=(1-p)2(f^ni)+p(1-p)((f~ni)1+(f~ni)2)+p2E{f~n-1i}]]>E{(f~ni)2}(I)=(1-p)2(f^n)2+p(1-p)((f^ni)12+(f^ni)22)+p2E{(f~n-1i)2},]]>当上述压缩视频以中间格式被代码转换为单一描述时,上述一阶取平均值操作和二阶取平均值操作计算如下E{fni}(p)=(1-p)(e^ni+E{f~n-1j})+p(1-p)E{f~n-1k}+p2E{f~n-1i}]]>E{(f~ni)2}(p)=(1-p)E(e^ni+f~n-1j)2+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2},]]>以及当上述压缩视频以中间格式被代码转换为多描述时,上述一阶取平均值操作和二阶取平均值操作计算如下E{f~ni}(P)=(1-p)2(e^ni+E{f~n-1j})+p(1-p)((e^ni)1+E{f~n-1j1}+(e^ni)2+E{f~n-1j2})+p2E{f~n-1i}]]>E{(f~ni)2}(P)=(1-p)2((e^ni)2+2e^niE{f~n-1j}+E{f~n-1j}2+p(1-p)((e^ni)12+2(e^ni)1E{f~n-1j1}]]>+E{(f~n-1j1)2}+(e^ni)22+2(e^ni)2E{f~n-1j2}+E{(f~n-1j2)2}+p2E{(f~n-1i)2}]]>
17.权利要求13中的视频代码转换方法,其中执行代码转换为多描述包括根据DCT系数的频率特性以预先确定或要求的扫描顺序确定DCT系数的划分的开始位置;使在上述开始位置之前的DCT系数的所有数据被包括在若干被划分的DCT系数的每一个中,并且,使在上述开始位置之后的DCT系数的数据被交替地包括在若干被划分的DCT系数的每一个中,从而产生多个被划分的DCT系数以及将若干被划分的DCT系数的每一个和视频报头以及运动矢量一起编码。
18.权利要求17中的视频代码转换方法,其中上述开始位置确定如下开始位置=a log10(PLR)+b,其中a是包括在宏模块中像素的数目,其中为了上述宏模块计算DCT系数,b=2a,0<开始位置<(a-1),而PLR是在传输信道中的包丢失率。
全文摘要
用于代码转换视频的装置和方法,其中,视频代码转换器包括译码译码单元、单一描述/多描述确定单元以及代码转换单元。译码译码单元译码译码压缩视频以为每一个帧产生视频报头、运动矢量以及DCT系数。基于在压缩视频的传输信道中错误发生的概率,单一描述/多描述确定单元确定是否执行代码转换为单一描述或多描述。当单一描述/多描述确定单元确定执行代码转换为单一描述时,通过将DCT系数和视频报头以及运动矢量一起编码,代码转换单元执行代码转换为单一描述;当单一描述/多描述确定单元确定执行代码转换为多描述时,通过将DCT系数划分为若干DCT系数并且将每一DCT系数和视频报头以及运动矢量一起编码,上述代码转换单元执行代码转换为多描述。
文档编号H04N7/30GK1972449SQ20061016891
公开日2007年5月30日 申请日期2006年9月11日 优先权日2005年9月10日
发明者金壹求, 赵南翊 申请人:首尔国立大学校产学协力财团, 三星电子株式会社