CN101019437B - 基于帧内预测方向的h.264空间错误隐藏 - Google Patents

基于帧内预测方向的h.264空间错误隐藏 Download PDF

Info

Publication number
CN101019437B
CN101019437B CN2005800310721A CN200580031072A CN101019437B CN 101019437 B CN101019437 B CN 101019437B CN 2005800310721 A CN2005800310721 A CN 2005800310721A CN 200580031072 A CN200580031072 A CN 200580031072A CN 101019437 B CN101019437 B CN 101019437B
Authority
CN
China
Prior art keywords
macro block
hiding
coding
logical circuit
intra
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2005800310721A
Other languages
English (en)
Other versions
CN101019437A (zh
Inventor
塞伊富拉·哈立德·奥乌兹
维贾亚拉克施密·R.·拉维德朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101019437A publication Critical patent/CN101019437A/zh
Application granted granted Critical
Publication of CN101019437B publication Critical patent/CN101019437B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

空间错误隐藏的方法的装置。提供了一种空间错误隐藏的方法。该方法包括探测损坏的宏块,并获得与一个或多个相邻宏块关联的编码的宏块参数。该方法还包括基于所述编码的宏块参数产生隐藏参数,以及将所述隐藏参数插入视频解码系统中。

Description

基于帧内预测方向的H.264空间错误隐藏
根据35 U.S.C 119要求的优先权 
本专利申请要求临时申请No.60/588,483,2004年7月15日提交的题为“Method and Apparatus for Spatial Error concealment forBlock-Based Video Compression”,并转让给其受让人的优先权,并通过在此对其进行参照而将该临时申请清楚地结合。 
技术领域
实施例总体涉及视频发行系统的操作,并且更具体的,涉及使用视频发行系统的空间错误隐藏方法和装置。
背景技术
数据网络,诸如无线通信网络正在被越来越多地用于传送高质量视频内容到便携设备中。例如,便携设备的用户现在可以通过以能够在其便携设备上渲染的高质量视频剪辑形式来接收新闻、体育、娱乐以及其他信息。然而,由于移动设备通常使用容易产生信号衰落、失落以及其他恶化通信效果的相对较慢空中通信链路来进行通信,因此将高质量内容(视频)发行到大量移动设备(订户)中仍具有一个复杂的问题。因此,对于内容提供商来说很重要的是具有一种方法,来克服信道失真,并且由此使得可以在移动设备上接收并绘制高质量内容。
通常,高质量的视频内容包括以特定的帧率绘制的视频帧序列。在一种技术中,每个帧包括表示红、绿和蓝信息的数据,这可以使得能够绘制彩色视频。为了从发送设备发射视频信息到接收再现设备,已经使用了各种编码技术。通常,编码技术提供视频压缩以去除冗余数据并提供对在无线信道上传送的视频数据的错误校正。然而,在传送过程中丢失任何部分压缩视频数据都会影响在解码器处重建视频 的质量。
基于开发的工业标准的一种压缩技术通常称作“H.264”视频压缩。H.264技术限定了编码视频比特流的句法,以及解码该比特流的方法。在H.264编码处理的一个实施例中,呈现一个输入视频帧用于编码。该帧以对应于原始图像中16×16像素的宏块为单位进行处理。每个宏块都可以用帧内(intra)或帧间(inter)模式编码。基于重建的帧形成预测宏块I。在帧内模式中,I从已经预先编码、解码并重建的当前帧n的样本形成。从当前宏块中减去预测I,以产生残差宏块或差异宏块D。这是使用块变换来进行变换的,并被量化以产生X,其是一组量化转换的系数。这些系数是重新排序(re-ordered)的并进行熵编码。该熵编码系数和解码宏块需要的其他信息一起成为将传送到接收设备的压缩比特流的一部分。
然而,在传送处理中,在一个或多个宏块中可能引入错误。例如,一个或多个恶化传送效果,诸如信号衰落,可以导致在一个或多个宏块中丢失数据。结果,在容易发生错误的网络上,诸如无线信道上传送多媒体内容的时候,错误隐藏就变得很重要。错误隐藏方案使用在视频信号中存在的空间和时间相关性。在出现错误的时候,在熵解码的期间就需要进行恢复。例如,当发生包错误的时候,属于一个或多个宏块或视频片的数据的全部或是部分就会丢失。当编码模式几乎丢失的时候,通过对帧内编码模式的空间隐藏和通过对帧间编码模式的时间隐藏进行恢复。
在常规系统中已经使用了若干种空间隐藏技术,以试图从已经毁坏了视频传送中一个或多个宏块的错误中恢复。在一种技术中,将相邻像素的加权平均用于确定丢失的像素的值。然而,这种简单的技术可以导致可以是部分原始视频帧的拖尾边缘(edge)结构。因此,在再现设备上最终绘制该丢失宏块的时候,得到的隐藏数据可能不能提供令人满意的错误隐藏。
常规系统中使用的另一种技术提供了依赖于大强度计算(computationally intensive)滤波和阈值运算的空间错误隐藏。在此技术中,在丢失的宏块周围限定相邻像素的边界。相邻像素首先被滤波并 且其结果经受阈值探测处理。在临近像素中探测到的边缘结构扩展到丢失的宏块中并用作产生隐藏数据的基础。尽管这种技术提供了比加权平均技术更好的结果,但是滤波和阈值计算需要较大计算强度,因此在解码器上需要很多的资源。
因此,希望具有这样一种系统,其用于提供空间错误隐藏以与视频传送系统一起使用。该系统应该用于避免简单加权平均技术中固有的拖尾问题,同时比滤波和阈值技术所需要的计算消耗更小。
发明内容
在一个或多个实施例中,提供了一种在视频传送系统中使用的空间错误隐藏系统。例如,该系统适用于使用H.264编码和解码技术的无线视频传送系统。
在一个实施例中,提供了一种空间错误隐藏方法。该方法包括探测损坏的宏块,并获得与一个或多个相邻宏块相关的编码宏块参数。该方法还包括基于编码的宏块参数产生隐藏参数,并将该隐藏参数插入视频解码系统。
在一个实施例中,提供了一种用于空间错误隐藏的设备。该设备包括配置为探测损坏宏块的逻辑电路,以及配置为获得与一个或多个相邻宏块相关的编码的宏块参数的逻辑电路。该设备还包括配置为基于编码的宏块参数产生隐藏参数的逻辑电路,以及配置为插入隐藏参数到视频解码系统中的逻辑电路。
在一个实施例中,提供了一种用于空间错误隐藏的设备。该设备包括用于探测损坏的宏块的装置,以及用于获得与一个或多个相邻宏块相关的编码的宏块参数的装置。该设备还包括用于基于编码的宏块参数产生隐藏参数的装置,以及用于插入隐藏参数到视频解码系统中的装置。
在一个实施例中,提供了一种计算机可读介质,其包括指令,使得在被至少一个处理器执行的时候,用以提供空间错误隐藏。该计算机可读介质包括用于探测损坏的宏块的指令,以及用于获得与一个或多个相邻宏块相关的编码的宏块参数的指令。该计算机可读介质还包 括用于基于编码的宏块参数产生隐藏参数的指令,以及用于插入隐藏参数到视频解码系统中的指令。
在一个实施例中,提供至少一个处理器并配置为执行空间错误隐藏方法。该方法包括探测损坏的宏块,以及获得与一个或多个相邻宏块相关的编码的宏块参数。该方法还包括基于编码的宏块参数产生隐藏参数,以及用于插入隐藏参数到视频解码系统中。
在浏览了此后描述的附图简要说明、发明详述以及权利要求后,所述实施例的其他方面将变得显而易见。
附图说明
当与这里描述的附图相结合时,通过参照下面的详细说明,这里描述的实施例的前面说明的各个方面将变得更显而易见,其中:
图1示出传送到接收再现设备中的要编码的视频帧;
图2示出图1的视频帧中包括的宏块的详细框图;
图3示出块以及其周围相邻像素的详细图;
图4示出用于描述块方向性特征的九个方向性模式(0-9)的方向性模式图;
图5示出用于编码视频帧的H.264编码处理的图;
图6示出包括空间错误隐藏系统的一个实施例的网络的一个实施例;
图7示出空间错误隐藏系统的一个实施例的详细的图;
图8示出适用于空间错误隐藏系统的一个或多个实施例中空间错误隐藏逻辑电路的一个实施例;
图9示出在设备上提供空间错误隐藏的方法;
图10示出空间错误隐藏系统的一个实施例中使用的宏块参数缓存器的一个实施例;
图11示出空间错误隐藏系统的一个实施例中使用的丢失图(lossmap)的一个实施例;
图12示出要隐藏的宏块及其四个随意相邻宏块的一个实施例;
图13示出表示顺序的宏块,其中隐藏处理扫描全部16个intra_4×4块,以确定intra_4×4预测(方向性)模式;
图14示出要隐藏的宏块以及在隐藏处理中使用的相邻宏块中的十个块;
图15示出描述4×4相邻块以及要隐藏的4×4块间关系的四种派系类型(1-4)的一个实施例;
图16示出在一个空间错误隐藏系统的实施例中表示量化得到的方向矢量的处理的模式图;
图17示出用于空间错误隐藏系统的一个实施例中对角分类一致性的传播规则#1的一个实施例;
图18示出用于空间错误隐藏系统的一个实施例中世代区别(generational difference)的传播规则#2的一个实施例;
图19示出用于空间错误隐藏系统的一个实施例中钝角限定的邻居的传播规则#3的一个实施例;
图20示出用于空间错误隐藏系统的一个实施例中属于Manhattan角的阻止规则#1的一个实施例;
图21示出用于隐藏丢失的色度(Cb和Cr)通道8×8像素块的空间隐藏算法的一个实施例的操作;
图22示出增强的空间错误隐藏系统的一个实施例中要隐藏的宏块的亮度和色度(Cr,Cb)的图;
图23示出增强的丢失图的一个实施例;
图24示出图23中示出的增强丢失图的一个实施例,其包括标记以表示接收非随意(non-casual)信息;
图25提供了提供增强SEC的方法的一个实施例;
图26提供了确定何时可以使用增强SEC特征的一个实施例;
图27示出了在增强SEC的一个实施例中提供获得平均亮度(即,亮度通道),下半个隐藏宏块中校正的算法的方法的一个实施例;
图28示出图27所示的方法中使用的变量的定义;
图29示出块并标识用于在相邻4×4块上执行intra_4×4预测的七(7)个像素;
图30示出紧邻片边界下面intra_4×4块的一个实施例;
图31示出相邻像素和intra_4×4块中像素的命名;
图32示出位于片段边界下面的intra_16×16编码宏块的一个实施例;以及
图33示出紧邻片边界下面的色度通道的一个实施例。
具体实施方式
在一个或多个实施例中,提供了一种空间错误隐藏系统,其用于隐藏接收的视频传送中的错误。例如,该视频传送包括视频帧序列,其中每帧包括多个宏块。一组宏块还可以定义一个视频片,且一帧可以被分成多个视频片。在传送设备上的编码系统使用H.264编码技术来编码宏块。编码的宏块随后被通过传送信道传送到接收设备,并且在此过程中,一个或多个宏块丢失、毁坏,或是因为其他原因不可用,使得可以在重建的视频帧中探测到可观察到的失真。在一个实施例中,该空间错误隐藏系统用于探测损坏的宏块,并基于与未损坏的、修复的、或是隐藏的相邻宏块相关联的方向结构产生隐藏数据。结果,可以有效地隐藏损坏的宏块,以提供美学上对于视频帧令人愉快的绘制。该系统尤其适用于无线网络环境,但是也可以在任何类型的无线和/或有线网络环境中使用,其包括但不限于通信网络、诸如互联网的公共网络、诸如虚拟私有网络(VPN)的私有网、局域网、广域网、长途网络,或是其他任何类型的数据网络。该系统还适用于基本上任何类型的视频再现设备。
视频帧编码
图1示出将要编码的视频帧100,其要发射到接收再现设备中。例如,视频帧100可以使用H.264视频编码技术来编码。在本实施例中的视频帧100包括320×240像素的视频数据,然而,该视频帧可以包括任何所需的像素数量。通常,对于彩色视频而言,视频帧100对于每个像素包括亮度和色度(Y,Cr,Cb)数据。为了清楚,将首先参 照丢失的亮度数据的隐藏来描述空间错误隐藏系统的实施例。然而,还提供了额外的实施例,它们还对于丢失的色度数据的隐藏更加具体适用。
视频帧100包括多个宏块,其中每个宏块包括16×16像素的数据阵列。例如,宏块102包括16×16像素的视频数据。如下面的部分所述,视频帧100的宏块基于H.264编码,且与编码的宏块相关联的各种编码参数置于用于传送到再现设备的视频流中。在一个实施例中,H.264提供了对于16×16宏块的编码,其称作intra_16×16编码。在另一实施例中,H.264提供了H.264提供了对于4×4像素的块的16×16宏块的编码,其称作intra_4×4编码。因此,可以使用各种块尺寸编码视频数据;然而,隐藏系统的一个或多个实施例适用于与所用的块尺寸无关的应用。
图2示出宏块102的详细的图。宏块102包括16个块的组,其中每个块包括4×4像素的数据阵列。例如,块202包括4×4像素的数据阵列。
图3示出了块202以及其周围的相邻像素的详细的图,相邻像素大体地在302示出。例如,在H.264编码处理期间,相邻像素302用于产生描述块202的各种参数。块202包括像素(p0-p15)且相邻像素302使用对应于像素块202位置的参考标记来标识。
图4示出了方向性模式图400,其示出了九个方向性模式(0-9)(或指示符),其用于描述块202的方向性特征。例如,模式0描述了垂直方向性特征,模式1描述了水平方向性特征,且模式2描述了DC特征。方向性模式图400示出的模式用在H.264编码处理中,以产生块202的预测参数。
图5示出了H.264编码处理的图,其用于编码视频帧。可以假设H.264编码处理执行intra_4×4编码来编码视频帧的每个块;例如,块202可以使用图5中示出的编码处理来编码。在一个实施例中,如果宏块以水平、垂直或DC方向性模式、intra_16×16来编码,该16个4×4块包括分配了对应于intra_16×16模式的、适当intra_4×4模式的宏块。例如,如果intra_16×16模式为DC,其16个4×4块被分配DC。 如果intra_16×16模式是水平的,其16个4×4块分配方向性模式1。如果intra_16×16模式为垂直的,其16个4×4块被分配方向性模式0,如图4所示。
还应该注意,在H.264中,帧内预测不允许穿过片边界。这可以禁止一些方向模式,并使得模式被声明为DC。这影响了相邻宏块中模式信息的准确度。另外,当以此方式给4×4块分配DC模式的时候,残差能量增长,其反映为非零系数数量的增加。由于对提出的SEC算法的传播规则中分配给模式信息的权重依赖于残差能量,所以受限的帧内预测造成的非准确性被适当地处理。
在编码期间,预测逻辑电路502依照方向性模式400处理相邻像素302,以对于每个方向性模式产生预测块504。例如,通过依照选择的方向性模式将相邻像素302扩展到预测块504中来产生预测块504。从原始块202中减去每个预测块504,以产生九个“差的绝对值之和”(SADi)块506。基于九个SADi块506中哪个具有最小SAD值(MINSAD)、最多零值,或是基于任何其他选择标准,来从九个SADi 块506确定残差块508。一旦确定了残差块508,就通过变换逻辑电路510将其转换以产生变换系数512。例如,可以使用任何合适视频压缩的转换算法,诸如离散余弦变换(DCT)。变换系数512在块514量化,以产生量化的变换系数,这些系数与产生所选残差块508的方向性模式值一起被写入传送比特流。该传送比特流随后被处理,用于在数据网络上传送到再现设备。其他参数也可以包括在传送比特流中,诸如表示与残差块508相关的非零系数数量的表示符。
在传送处理中,一个或多个宏块可能丢失、损坏或由于恶化的传送效应,诸如信号衰落而变得不可用。因此,在一个或更多实施例中,空间错误隐藏系统用于在再现设备处对于损坏的宏块产生隐藏数据,以提供所接收视频信息美学上令人愉快的绘制。
图6示出网络600的一个实施例,其包括空间错误隐藏系统的一个实施例。网络600包括发行服务器602、数据网络604、以及无线设备606。发行服务器602与数据网络通过通信链路608进行通信。通信链路608包括任何类型的有线或是无线通信链路。
数据网络604包括任何类型的有线和/或无线通信网络。数据网络604与设备606使用通信链路610进行通信。通信链路610包括任何适合类型的无线通信链路。因此,发行服务器602使用数据网络604、以及通信链路608、610与该设备606通信。
在一个实施例中,发行服务器602用于使用数据网络604传送编码的视频数据到设备606。例如,服务器602包括源编码器612和信道编码器614。在一个实施例中,源编码器612接收视频信号并依照H.264编码技术来编码视频信号的宏块。然而,实施例适于使用编码技术的其他类型。信道编码器614用于接收编码的视频信号并产生信道编码视频信号,其结合有错误校正,诸如前向错误校正。如路径616所示,得到的信道编码视频信号从发行服务器602传送到设备606。
通过信道解码器618在设备606接收信道编码视频信号。信道解码器618解码信道编码视频信号,并探测和校正在传送过程期间可能会发生的任何错误。在一个实施例中,信道解码器618可以探测错误,但是因为错误的验证严重性所以不能校正它们。例如,可能由于信号衰落或是其他传送的效应丢失或损坏一个或多个宏块,这些其他传送的效应是非常严重,使得解码器618不能对其进行校正。在一个实施例中,在信道解码器618探测到宏块错误时,其输出表示接收到不能校正的宏块错误的错误信号620。
从信道解码器618输出信道解码的视频信号,并输出到熵解码器622中。该熵解码器622解码宏块参数,诸如方向性模式表示符以及来自信道解码的视频信号的系数。解码信息存储在可以是熵解码器622的一部分的宏块参数缓存器中。在一个实施例中,解码的宏块信息输入到开关624(通过路径628),且来自参数缓存器的信息可以连接到空间错误隐藏(SEC)逻辑电路626(通过路径630)。在一个实施例中,熵解码器622还可以用于探测损坏的宏块并输出错误信号620。
在一个实施例中,SEC逻辑电路626用于产生隐藏参数,该参数包括方向性模式信息以及对于宏块的系数,这些宏块由于传送错误而丢失。例如,SEC逻辑电路626接收错误指示符620,并且作为响应, 取回宏块方向性信息并转换与健康(没有错误)的宏块邻居相关的系数。SEC逻辑电路626使用邻居信息对丢失的宏块来产生隐藏方向性模式信息以及系数参数。在此文档的另一部分中提供了SEC逻辑电路626的更加详细的描述。SEC逻辑电路626对丢失的宏块输出产生的方向性模式信息以及系数参数到开关624,如路径632所示。因此,SEC逻辑电路626对于丢失的宏块插入隐藏参数到解码系统中。
开关624用于从其两个输出端之一选择信息以在开关输出处输出。开关的操作被错误信号620控制。例如,在一个实施例中,在没有宏块错误的时候,错误信号620控制开关624以输出从熵解码器622接收的方向性模式表示符和系数信息。当探测到宏块错误的时候,错误信息620控制开关624,以输出从SEC逻辑电路626接收到的方向性模式表示符以及系数参数。因此,错误信号620控制开关624的操作,以传达从熵解码器622正确接收的宏块信息,或是从SEC逻辑电路626接收的损坏宏块的隐藏信息。开关的输出被输入到源解码器634。
源解码器634用于使用从开关624接收的方向性模式表示符和系数信息来解码传送的视频数据,以产生存储在帧缓存器636中的解码的视频帧。对于包含不能校正错误的那些宏块,解码的帧包括SEC逻辑电路626产生的隐藏数据。存储在帧缓存器636中的视频帧可以随后在设备606上绘制,使得SEC逻辑电路626产生的隐藏数据提供丢失或损坏宏块的美学上令人愉快的绘制。
因此,在一个或多个实施例中,提供空间错误隐藏系统,其用于产生视频帧中丢失或损坏宏块的隐藏数据。在一个实施例中,从与没有错误或预先隐藏的相邻宏块相关的方向性模式信息和变换系数产生损坏宏块的隐藏信息。结果,由于如实施例所提供的、仅需要对于再现设备的改动来获得改进的空间隐藏,因此该系统可以很容易地适用于现有的使用H.264编码技术的视频传送系统。
图7示出空间错误隐藏系统700的一个实施例的详细图。例如,系统700适用于使用图1中示出的设备106。应该注意系统700只表示一种实施且在实施例的范围内其他实施也是可行的。
对于此说明书的目的,可以假设空间错误隐藏系统700通过无线信道704接收视频传送702。在一个实施例中,视频传送702包括使用上述H.264技术编码的视频信息,并因此包括视频帧序列,其中每帧都包含多个编码的宏块。还可以假设,作为信道704恶化的结果,包括错误的一个或多个宏块是不能校正的。例如,由于信道704经历了信号衰落或任何其他类型的恶化传送效应,所以一个或多个宏块完全丢失。
在一个实施例中,空间错误隐藏系统700包括物理层逻辑电路706,其用于通过信道704接收视频传送702。物理层逻辑电路706用于执行解调和解码接收的视频传送702。例如,在一个实施例中,物理层逻辑电路706用于在接收的视频传送702上执行turbo解码。因此,在一个或多个实施例中,物理层逻辑电路706包括执行任何合适类型的信道解码的逻辑电路。
物理层逻辑电路706的输出输入到流/MAC层逻辑电路708。该流/MAC层逻辑电路708用于执行任何合适类型的错误检测和校正。例如,在一个实施例中,流/MAC逻辑电路708用于执行里德-所罗门擦除解码(Erasure decoding)。该流/MAC层逻辑电路708输出解码视频数据710的比特流,其包括不能校正的和/或不能探测到的错误和带内错误标记。该流/MAC层逻辑电路708还输出错误信号712,其表示在一个或多个接收的宏块中何时出现错误。在一个实施例中,解码的视频数据710输入到熵解码器714中,且错误信号712输入到第一和第二开关(S1和S2)以及SEC逻辑电路726。
熵解码器714用于解码输入数据流710以产生三个输出。第一输出716包括对于与输入视频数据流710的宏块相关块的量化参数和/或量化的系数。第一输出716输入到开关S2的第一输入端。第二输出718包括与输入视频数据流710的宏块相关块的帧内预测方向性模式。第二输出718输入到开关S1的第一输入端。第三输出720包括输入到宏块参数缓存器724的宏块参数。宏块参数缓存器724包括任何合适类型的存储器器件。在一个实施例中,宏块参数包括宏块类型指示符、帧内预测方向性模式指示符、系数以及系数指示符,其指示 每个宏块的每个4×4块的非零系数的数量。在一个实施例中,熵解码器714探测宏块错误并输出错误信号712。
在一个实施例中,SEC逻辑电路726用于产生用于所接收的宏块中隐藏错误的隐藏数据的方向性模式信息以及系数参数。例如,流/MAC层708的错误信号712输入到SEC逻辑电路726。错误信号712表示在视频传输702中包括的一个或多个宏块中已经探测到的错误。在SEC逻辑电路726接收错误信号712的选中状态的时候,其访问宏块参数缓存器724以取出宏块参数,如728所示。SEC逻辑电路726使用取出的参数来产生两个输出。第一输出是隐藏量化参数730,其输入到开关S2第二输入端。SEC逻辑电路726的第二输出提供隐藏帧内方向性模式732,其输入到开关S1的第二输入端。SEC逻辑电路726还对于写到宏块参数缓存器724中的隐藏的宏块产生宏块参数,如722所示。SEC逻辑电路726更详细的说明在本文档的另一部分中说明。
在一个实施例中,开关S1和S2包括任何适合的切换机构,其用于将在所选开关输入端接收到的信息切换到开关输出端。例如,开关S2包括两个输入端和一个输出端。第一输入端从熵解码器714接收量化信息716,且第二输入端从SEC逻辑电路726接收隐藏量化信息730。开关S2还接收错误信号712,其用于控制开关S2的操作。在一个实施例中,如果流/MAC层708没有找到接收的视频传送702中的宏块错误,则输出错误信号712,其具有第一状态,用于控制开关S2来选择在其第一输入端的信息输出到其开关输出端。如果流/MAC层708找到接收的视频传送702中的宏块错误,则输出错误信号712,其具有第二状态,用于控制开关S2来选择在其第二输入端的信息输出到其开关输出端。开关S2的输出被输入到重定标块732。
开关S1的操作类似于开关S2的操作。例如,开关S1包括两个输入端和一个输出端。第一输入端从熵解码器714接收帧内方向性模式718,且第二输入端从SEC逻辑电路726接收隐藏帧内方向性模式732。开关S1还接收用于控制其操作的错误信号712。在一个实施例中,如果流/MAC层708在接收的视频传送702中没有找到宏块错误, 则将输出错误信号712,其具有第一状态,用于控制开关S1来选择在其第一输入端的信息输出到其开关输出端。如果流/MAC层708找到接收的视频传送702中的宏块错误,则输出则错误信号712,其具有第二状态,用于控制开关S1来选择在其第二输入端的信息输出到其开关输出端。开关S1的输出被输入到帧内预测块734。
在一个实施例中,重定标块732用于接收视频信号块的量化参数并产生定标的版本,其输入到逆变换块736中。
逆变换块736用于处理视频块信号的接收的量化参数,以产生输入到求和函数738的逆变换。
帧内预测块734用于从开关S1的输出端接收帧内方向性模式,并从解码帧数据缓存器740接收相邻像素值,以产生输入到求和函数738的预测块。
求和函数738用于对逆变换块736的输出和预测块734的输出求和,以形成表示解码或错误隐藏的像素值的重建块742。重建块742输入到解码帧数据缓存器740,其存储该帧的解码像素数据并包括作为SEC逻辑电路726的操作结果而产生的任何隐藏数据。
因此,在一个或多个实施例中,提供了空间错误隐藏系统,其用于探测视频帧中的宏块错误,并基于与没有错误的宏块和/或预先隐藏的宏块相关的编码宏块参数来产生隐藏数据。
图8示出适用于空间错误隐藏系统的一个或多个实施例的SEC逻辑电路800的一个实施例。例如,SEC逻辑电路800适于用作图7示出的SEC逻辑电路726,以提供接收的视频传送的空间错误隐藏。
SEC逻辑电路800包括均连接到内部数据总线808的处理逻辑电路802、宏块错误探测逻辑电路804、以及宏块缓存器接口逻辑电路806。SEC逻辑电路800还包括宏块系数输出逻辑电路810和宏块方向性模式输出逻辑电路812,它们也连接到内数据总线808。
在一个或多个实施例中,处理逻辑电路802包括CPU、处理器、门阵列、硬件逻辑电路、存储器元件、虚拟机、软件、和/或硬件和软件的任何组合。因此,处理逻辑电路802通常包括逻辑电路来执行机器可读的指令,并通过内部数据总线808控制SEC逻辑电路800 的一个或多个其他功能元件。
在一个实施例中,处理逻辑电路802用于处理来自宏块参数缓存器的编码宏块参数以产生用于隐藏一个或多个宏块中错误的隐藏参数。在一个实施例中,处理逻辑电路802使用没有错误的编码的宏块参数和/或存储在宏块参数缓存器中的、预先隐藏的宏块,来产生方向性模式信息以及用于产生隐藏参数的系数信息。
宏块缓存器接口逻辑电路806包括硬件和/或软件,用于使得SEC逻辑电路800连接宏块参数缓存器。例如,宏块参数缓存器可以是图7所示的宏块参数缓存器724。在一个实施例中,接口逻辑电路806包括配置为从宏块参数缓存器通过链路814来接收编码宏块参数的逻辑电路。该接口逻辑电路806还包括逻辑电路,其配置为通过链路814来将与隐藏的宏块相关联的编码宏块参数传送到宏块参数缓存器。该链路814包括任何适用的通信技术。
宏块错误探测逻辑电路804包括硬件和/或软件,其用于使得SEC逻辑电路800接收错误信号或是在探测到宏块错误的时候进行指示的指示符。例如,探测逻辑电路804包括这样一种逻辑电路,其配置为通过包括任何适当技术的链路816接收错误信号。例如,错误信号可以是图7所示的错误信号712。
宏块系数输出逻辑电路810包括硬件和/或软件,其用于使得SEC逻辑电路800输出宏块系数,该系数用于产生视频帧中的隐藏数据。例如,可以通过处理逻辑电路802产生系数信息。在一个实施例中,宏块系数输出逻辑电路810包括配置为输出宏块系数到开关逻辑电路的逻辑电路,其中该开关电路诸如图7中输出的开关S1。
宏块方向性模式输出逻辑电路812包括硬件和/或软件,其用于使得SEC逻辑电路800输出宏块方向性模式值,该值用于产生视频帧中的隐藏数据。在一个实施例中,宏块方向性模式输出逻辑电路810包括配置为输出宏块方向性模式值到开关逻辑电路的逻辑电路,其中该开关电路诸如图7所示的开关S2。
在空间错误隐藏系统中的一个或多个实施例中,SEC逻辑电路800执行下面功能的一个或多个。
a.接收错误指示符,其表示已经接收了一个或多个可用宏块。
b.从宏块参数缓存器获得与健康(没有错误的和/或预先隐藏的)的相邻宏块相关的编码的宏块参数。
c.对于不可用的宏块产生宏块方向性模式值以及系数数据。
d.输出方向性模式值和系数数据到解码系统,该解码系统中产生隐藏数据并将其插入解码视频帧。
e.对于隐藏的宏块存储编码的宏块参数到宏块参数缓存器中。
在一个实施例中,SEC逻辑电路800包括存储在计算机可读介质上的程序指令,例如其被至少一个处理器执行的时候,处理逻辑电路802提供这里说明的空间错误隐藏系统的功能。例如,可以从计算机可读介质将指令加载到SEC逻辑电路800,该介质如软盘、CDROM、存储卡、FLASH存储器件、RAM、ROM或是其他类型的存储器器件或是计算机可读介质。在另一实施例中,指令可以从与SEC逻辑电路800连接的外部设备或是网络资源下载到SEC逻辑电路800中。这些指令在被处理逻辑电路802执行的时候提供这里所述的空间错误隐藏系统的一个或多个实施例。应该注意,SEC逻辑电路800仅是一种实施方式且在本发明实施例的范围内其他实施方式也是可以的。
图9示出方法900,其用于提供空间错误隐藏的一个实施例。为了清楚,这里的方法900参照图7所示的空间隐藏系统700来描述。应该注意到,方法900描述了一个基本SEC的实施例,而下面的其他方法和装置描述了增强的SEC的实施例。例如。基本SEC的实施例提供一种基于随意邻居(casual neighbor)的错误隐藏,而增强SEC的实施例还提供使用非随意邻居的错误隐藏。应该注意,尽管以顺序的方式示出并描述了方法900的功能,但是在实施例的范围内一个或多个功能可以重新设置和/或同时执行。
在块902中,在设备处接收到视频传送。例如,在一个实施例中,视频传送包括使用H.264技术编码的视频数据帧。在一个实施例中,视频传送在经历了诸如信号衰落的恶化效果的传送信道上进行,并且结果,传送中包括的一个或多个宏块可能会丢失、损坏或是因为其他原因而不可用。
在块904中,接收的视频传送是信道解码的并经历了错误探测和校正。例如,视频传送被物理层逻辑电路706和用于执行信道解码和错误探测功能的流/MAC层逻辑电路708处理。
在块906处,信道解码的视频信号被熵解码,以获得编码的宏块参数。例如,在一个实施例中,熵编码包括量化系数以及其位置的变长无损编码。在一个实施例中,图7所示的熵解码器714执行熵解码。在一个实施例中,熵解码还可以探测一个或多个宏块错误。
在块908处,从熵解码确定的编码宏块参数存储到宏块参数缓存器中。例如,宏块参数可以存储在图7示出的缓存器724中。宏块参数包括块方向性模式值,变换系数以及非零指示符,其表示特定块中非零系数的数量。在一个或多个实施例中,宏块参数描述与视频帧相关联的亮度(luma)和/或色度(chroma)数据。
在块910处,执行测试以确定在接收的视频传送中的一个或多个宏块是否不可用。例如,与接收的视频流中一个或多个宏块相关的数据可能已经在传送中丢失或包含不能校正的错误。在一个实施例中,在块904探测到宏块错误。在另一个实施例中,在块906探测到宏块错误。如果在接收的宏块中没有探测到错误,则方法就前进至块914。如果在一个或多个宏块中探测到错误,则方法就前进到块912。
在块912处,从没有错误和/或预先隐藏的相邻宏块产生隐藏参数。例如,隐藏参数包括可以用于产生隐藏数据的方向性模式值和变换系数。在一个实施例中,隐藏参数由图8所示的SEC逻辑电路800产生。SEC逻辑电路800用于接收标识不可用宏块的错误信号。SEC逻辑电路800随后取回与健康的相邻宏块相关的编码的宏块参数。从宏块参数缓存器,诸如缓存器724中取回宏块参数。相邻宏块或是被准确地接收(没有错误),或是被预先通过SEC逻辑电路800隐藏。一旦产生了隐藏参数,就将其写入宏块参数缓存器。在一个实施例中,SEC逻辑电路800产生的变换系数包括所有的零。在本文档的另一部分,提供了对于SEC逻辑电路800的操作的更加详细的描述。
在块914,与宏块相关的变换系数被重新定标。例如,重新定标允许块尺寸之间的改变以提供准确的预测。在一个实施例中,接收了 从健康的宏块推导出的系数。在另一个实施例中,系数表示隐藏数据的系数并通过SEC逻辑电路800来产生,如块912所示。可以通过图7所示的重定标逻辑电路732来执行重定标操作。
在块916处,对于已经重定标的系数执行逆变换。例如,通过图7所示的逆变换逻辑电路736来执行逆变换。
在块918处,使用方向性模式值和预先解码的帧数据来产生intra_4×4预测块。例如,图7所示的开关S1输出的方向性模式值与预先解码的帧数据一起使用以产生预测块。
在块920处,产生重建的块。例如,块916处产生的变换系数与块918产生的预测块被结合以产生重建块。例如,图7所示的求和逻辑电路738用于产生重建的块。
在块922处,重建的块被写入解码帧缓存器。例如,重建块被写入图7所示的解码帧缓存器740。
因此,方法900用于提供空间错误隐藏,来隐藏再现设备接收的损坏的宏块。应该注意,方法900仅是一种实施,此外在实施例的范围内,可以作出上述功能的添加、改变、结合、删除或是重新配置。
图10示出空间错误隐藏系统的一个实施例中使用的宏块参数缓存器1000的一个实施例。例如,缓存器1000适于作为图7所示的缓存器724而使用。参数缓存器1000包括编码的参数信息,其描述与接收的视频传送相关的宏块。例如,缓存器1000中存储的信息标识宏块和宏块参数,诸如亮度和/或色度参数,其包括DC值、模式、方向性信息、非零表示符以及其他适合的参数。
隐藏算法
在空间错误隐藏系统的一个或多个实施例中,执行一种算法来产生隐藏数据以隐藏丢失或损坏的宏块。在一个实施例中,该算法用于使得空间错误隐藏系统适合并保存视频信号的本地方向属性,以实现增强的性能。在后面的说明中提供该算法的详细描述及其操作。
该系统使用intra_16×16和intra_4×4预测模式来使用(健康的)相邻宏块以及其4×4块,来推断损坏的宏块中视频信号的本地方向结 构。因此,取代有错误的/丢失的宏块,合成intra_4×4编码隐藏宏块,其中基于可用的相邻信息来相干地推导4×4块帧内预测模式。
合成intra_4×4隐藏宏块,而没有残差(即,系数)数据。然而,在其他实施例中还可以提供残差数据以增强合成的隐藏宏块。这一特征对于结合来自可用的非随意邻居的校正亮度和彩色信息是特别有用的。
一旦确定了合成的隐藏宏块,它们就简单地传给再现设备中的常规解码系统或逻辑电路。这样,隐藏的实现就更加有效率且更类似于解码处理而不是作为一种后处理方法。这使得可以实现简单并高效地将系统搬运到目标再现平台。强大的去块(de-blocking)滤波,尤其越过标记出丢失的区域边界的宏块边界来执行,并结束了隐藏算法。
应该注意,基本算法原则中的很多变形都是可以的,尤其是对于其中合成隐藏宏块及其4×4块的顺序。然而,下面的描述反映了这样的功能和实施选择,其适于和/或匹配于目标硬件/固件/软件平台的宽阔范围的结构和/或限制。
算法的输入
在一个或多个实施例中,空间隐藏算法使用下面的两种类型的输入。
丢失图
丢失图是上述宏块错误探测处理所产生的、每个宏块简单的1个比特二进制图。在重新同步处理期间,通过错误损坏的或是跳过/错过的,并且因此需要被隐藏的所有宏块标记为‘1’。剩下的宏块标记为‘0’。
图11示出在空间错误隐藏系统的一个实施例中使用的丢失图1100的一个实施例。丢失图1100示出与视频帧相关的宏块的图,其中健康的宏块标记为“0”,而被破坏或丢失的宏块标记为“1”。丢失图1100还示出方向指示符1102,其示出宏块在空间错误隐藏系统的一个实施例中被处理,以产生隐藏数据的顺序。
健康的相邻信息
下面从空间错误隐藏系统的一个实施例中用于隐藏算法以产生隐藏数据的健康邻居中标识三类信息。
a.宏块编码类型(或是intra_16×16或是intra_4×4)
b.如果宏块编码类型是intra_16×16,则使用intra_16×16预测(方向性)模式。如果宏块编码类型是intra_4×4,则使用组成的16个intra_4×4预测(方向性)模式。
c.对于每个组成的4×4块的、表示(非零)系数的数量的非零表示符。
这些信息通过宏块参数缓存器中存储的数据结构访问,该缓存器例如图7所示的缓存器724。
宏块级的处理顺序
在一个实施例中,仅使用来自可用随意邻居的信息。然而,在其他实施例中,还可以结合来自非随意邻居的信息。这样,依照使用的邻居的随意结构,隐藏宏块处理/合成顺序服从光栅扫描模式(即,从左到右以及从上到下),如图11所示。一旦调用特定丢失图,空间隐藏处理开始以光栅扫描的顺序在一个时刻扫描一个宏块的丢失图,并对于指定的宏块一以示出的顺序在一个时刻产生隐藏数据。
存宏块级使用的邻居
图12示出了要隐藏的宏块1202以及其四个随意邻居(A,B,C和D)的一个实施例。邻居使用性的一个条件是其“可用性”,其中可用性是受到与帧边界相对的隐藏宏块位置影响/限定的。相邻的宏块类型或片组合是没有结果的(ofno consequence)。因此,例如,不是位于沿着帧边界位置的隐藏宏块使得所有的四个相邻宏块可用,然而位于帧的左边界的隐藏宏块使得其邻居A和D不可用。
图13示出宏块1300,其表示这样一个顺序,其中隐藏处理扫描每个隐藏宏块的所有16个intra_4×4块,以对每个块确定intra_4×4 预测(方向性)模式。例如,宏块1300示出与每个块相关的指示符的顺序。
4×4块级使用的邻居
图14示出在隐藏处理中要使用的要隐藏的宏块1402和来自相邻宏块(总体示出为1404)的十个块。空间错误隐藏算法通过将从可用邻居推断出的方向性属性传播到要隐藏的宏块,来保存视频信号的本地方向结构。此推断和传播以4×4块的间隔尺寸来进行。因此,对于要隐藏的每个4×4块,可以定义影响邻居的集合。
在作为宏块级外部邻居一部分的影响4×4邻居的情况下,从其父类继承可用性属性。例如,如上定义的,如果父类是可用的,则这种4×4块以及相关的信息也是可用的。
在作为要隐藏的宏块的部分的影响4×4邻居的情况下,对于参照图13描述的宏块处理顺序来定义可用性。因此,如果已经遇到并以4×4块扫描顺序处理,则4×4潜在影响邻居可用,否则就不可用。
方向性信息传播和intra_4×4预测模式确定
隐藏宏块合成中的第一步是将与10个外部影响4×4邻居相关联的宏块类型和帧内预测模式信息(从四个不同的宏块邻居推导出)映射到相应的适当intra_4×4预测模式中。
在一个实施例中,如果外部影响4×4邻居属于intra_4×4编码宏块,则映射处理不重要(身份映射)。对于所有其他(父类)宏块类型,映射规则如下定义:
父类MB类型
以及预测模式          对于块的替换的4×4预测模式
intra_16×16,垂直    如果父类=B则模式0;否则模式2(DC)
intra_16×16,水平    如果父类=A则模式1;否则模式2(DC)
intra_16×16,DC      模式2(DC)
intra_16×16,平面    模式2(DC)
所有其他MB类型        模式2(DC)
(除intra_4×4)
在一个实施例中,可以增加越过宏块边界的隐藏结果的平滑度,并且因此通过使得所有外部父类宏块类型(除intra_4×4和intra_16×16类型)的映射成为父类宏块位置的函数,从而来改进主观质量。例如,使得上面最后条目中的替换规则被改变为:
如果父类=B则模式0;如果父类=A则模式1;以及否则模式2(DC)
派系
图15示出描述4×4相邻块和要隐藏的4×4相邻块之间关系的四个派系类型(1-4)的一个实施例。例如,图12标识出的四个影响的4×4邻居(A,B,C,D)中的每个与要隐藏的4×4块1202一起可以用于限定特定的派系类型。由于其结构对方向性信息从影响的相邻块到要隐藏的4×4块的传播具有直接影响,所以派系是很重要的。
派系类型1总体地在1502示出。在此派系中的影响的4×4邻居1504(以及对于在所有派系中的包装物(mailer)),可以具有通过1506示出的9种可能性中的一种表示的intra_4×4预测模式分类。影响的4×4邻居1504被分类成8个方向预测模式(即,{0,1,3,4,5,6,7,8})中的一个,其表示有一些形式的方向结构(即,边缘或是光栅)与标识的方向预测模式平行运行。注意到,模式2不表示方向结构,并且因此将不影响要隐藏的4×4块的方向结构。
由于影响的4×4邻居1504对于要隐藏的4×4块1508的相对位置,在影响的邻居中不是存在的所有方向结构都可能扩展或是继续,并影响将要隐藏的4×4块1508。实际上,只有平行于1506中模式示出的加深方向指示符的方向结构具有影响要隐藏的4×4块1508的潜力。因此,派系类型1仅允许模式3和7从影响的4×4邻居1504传播到要隐藏的4×4块1508。这样,可以说派系定义了方向性传播滤波器,允许某些模式并阻止某些其他的模式。这样,图15示出四个派系类型(1-4)以及加深的方向指示符,其示出对于每个类型相关的可用模式。
确定对于隐藏方向性的贡献
允许基于统治(governing)的派系而传播的、影响邻居的intra_4×4预测模式共同地影响并参与确定(即,估计)要隐藏的4×4块的方向属性。作为从多个影响邻居的这种共同影响的结果,通过其来计算结果方向性属性的过程可以按照下面来描述。
图15示出的8个方向intra_4×4预测模式中的每个(即,除了DC模式的所有模式),都可以用单位矢量表示,该矢量描述如下:
cosθi+sinθj
并且朝向与描述的方向箭头一样的方向。在这种情况下,θ是x轴正向和与八个模式中任意一个相关的方向箭头之间的角度。单位矢量i和j分别表示沿x轴和y轴的单位矢量。DC模式(模式2)由零矢量0i+0j表示。
如果对于特定的4×4块,在此4×4区域内采集方向结构的时候,指定的intra_4×4预测模式确实是一个良好匹配,希望基于此模式的预测也将是很成功的并导致很“小”的残差。在信号的方向性属性具有越过4×4块边界的不连续的时候,可能会发生意外。在上述优选和统计上更常见的情况下,从转换和量化残差信号得到的非零系数的数量也将非常小。因此,与intra_4×4编码块相关的非零系数的数量可以用作对于指定的预测模式与块中数据的实际方向结构的匹配准确程度的度量。准确的说,非零系数的数量增长对应于准确程度的恶化程度,其中所选的预测模式使用该数量描述4×4块的方向特征。
在一个实施例中,说明影响的邻居的个体贡献的方向性表示为单位矢量并被加在一起(以矢量和的形式),从而产生所得到的方向性。然而,需要对更准确的方向性信息加以更大的权重。为了实现这个目的,就在所有可行的值的集合N={0,1,2,3...16}上,对于参数“非零系数的数量”定义一个正的、不增加的函数。在一个实施例中,该函数如下:
w(n)={10,7,5,3,3,1,1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5}
上述函数将产生矢量和中的权重。应该注意,较小的“非零系数 数量”导致较大权重,反之亦然。
基于上述信息,产生的作为结果的方向性(即,对于要隐藏的4×4块的估计的方向性)的计算可以如下表示:
Figure G05831072120070319D000231
对于要隐藏的4x4块确定方向性结构处理的最终步骤是量化作为结果的矢量 
Figure G05831072120070319D000232
图16示出模式图,其表示量化作为结果的方向矢量 的处理。在一个实施例中,处理逻辑电路802包括量化器逻辑电路,其配置为量化上述结果矢量。该量化器逻辑电路包括2级量化器。该第一级包括幅度量化器,该量化器分类其输入为零矢量或是非零矢量。由圆区域1602表示零矢量并与预测模式2相关。非零矢量通过圆区域1602之外的矢量表示,并且与2之外的预测模式相关。对于来自第一级的非零输出,该第二级实现相位量化以将其输入分类为8个方向intra_4×4预测模式之一(即,楔形半无限坡道(bins))。例如,区域1604中作为结果的矢量将被量化为模式0等。
尽管上面处理的实施例提供要隐藏的4×4块的大部分的隐藏结果,也有这样的情况,其中输出(即,最终分类)需要重新调整。这些情况可以被分为两类,即“传播规则”和“阻挡规则”。
传播规则#1:对角分类一致性
图17示出对于空间错误隐藏系统的一个实施例中对角分类一致性的传播规则#1的一个实施例。规则#1需要对角地(左下或右下)预测外部影响邻居,来确定对于要隐藏的4×4块的最终分类,该影响的邻居应该具有其自己的同样取向的邻居。因此,在图17所示的四种情况下,在1702示出要隐藏的块,且在1704示出其外部影响邻居。依照规则#1,邻居1704应该具有其相同朝向的邻居1706,1708中的任意一个。
规则#1可以用于这样的情况,其中基于模式确定算法的共同速率失真标准不能准确地采集4×4块方向性属性。在一个实施例中,修 改规则#1以支持其他非对角方向模式。在另一个实施例中,仅在与外部影响邻居相关的非零系数的数量不是如想象中一般小的情况下(即,不是高度可信的分类),才有条件地施加规则#1。
传播规则#2:世代(generation)差异
图18示出对于空间错误隐藏系统一个实施例中世代差异的传播规则#2的一个实施例。规则#2适于限制这样一种方式,其中要隐藏的宏块的4×4块内的世代之间传播方向模式(即,影响其邻居)。世代属性基于4×4块的邻居中可用的最可信方向性信息的顺序而定义;准确地说,对其给予此值加一。通过限定,要隐藏的宏块的该(可用)外部邻居是0世代。在图18中,由于具有索引4和5的4×4块都具有第0世代邻居;所以这些块都是1世代。
如图18所示,基本上由于其示出的(用实线黑箭头示出)具有相同预测模式的共同外部邻居,将假设具有索引4和5的4×4块都具有diagonal_down_left的最终分类。
在先前描述的情况下,对于具有索引5的4×4块的diagonal_down_left分类将影响其两个邻居,即具有索引6和7的该4×4块。然而,在规则#2的限制下,允许具有索引5的4×4块仅将其方向性信息传播到其具有索引6的相邻4×4块,该块位于沿该方向性信息传播的准确方向上。如开(open)箭头所示,从具有索引5的4×4块向具有索引7的4×4块的diagonal_down_left方向性信息的传播被禁止。
传播规则#3:钝角定义的邻居
图19示出空间错误隐藏系统的一个实施例中钝角定义邻居的传播规则#3的一个实施例。基本上由于表示intra_4×4预测模式3和8的两个单位矢量之间的相位不连续性,其中不管边界缓慢地改变其朝向,就产生相邻,作为结果的方向性分类证明是完全没有预料到的:几乎局部地垂直于边缘。例如,在1902示出局部边缘边界,并且隐藏块1904包括作为结果的方向性分类,其近似垂直于边缘1902。
在一个实施例中,可以通过计算具有最大相位分隔的两个影响邻居的预测模式之间的相位差,来探测这种相邻情况(neighborhoodinstance)。在另一个实施例中,可以评估最终分类和任何一种有贡献的邻居之间的最大相位差。在任一种情况下,当探测到钝角定义的邻居配置时,就适当地改变最终分类结果。
阻止规则#1:Manhattan角
图20示出属于空间错误隐藏系统的一个实施例中Manhattan角的阻止规则#1的一个实施例。参照块2002以及具有索引3的4×4块,假设(基于非零系数的数量)同样顺序的权重,示出的方向性影响分别来自上面和左面的邻居(即模式0(垂直)和1(水平)),而没有来自残差邻居的其他显著方向性影响,这将导致模式4(对角_下_右)作为对于此块的最终方向性分类(即,预测模式)。
如果其已经统治了具有索引12的块的分类,与具有索引3的4×4块相关的方向性信息将因此至少影响具有索引12的4×4块,且很可能还影响具有索引15的4×4块。在其传播和潜在影响之外,假设足够大的权重,模式4影响将统治(具有索引)12和15的块的分类,导致实际角的显著变形。
为了避免这种不想要的情形,阻止规则#1的一个实施例用于分类具有索引3的4×4块为块2004示出的diagonal_down_left块,其影响没有传播到任何其邻居(此后使用术语“阻止规则”)。
色度通道块的隐藏
图21示出用于隐藏丢失的色度(Cb和CR)通道的8×8像素块的空间隐藏算法的一个实施例的运算。在一个实施例中,这种算法仅使用随意的两个邻居(即,上和左相邻色度块)(帧内)的色度预测模式信息,来推测适当的方向性分类,以及因此对于要隐藏的色度块的色度预测模式。例如,示出多个例子来表示如何使用上和左相邻色度块来确定对于要隐藏的色度块的色度预测模式。
使用非随意相邻信息的SEC增强版本
在一个实施例中,使用来自环绕丢失区的区域更多空间信息(亮度、色度以及方向性),通过使得它们更加准确地恢复丢失的数据,从而改进空间隐藏算法的质量。因此,为了使用来自用于空间隐藏的非随意邻居的信息,在下面描述了两种技术。
在下半个隐藏宏块中的平均亮度和彩色校正
如上所述,在SEC中使用仅来自随意邻居的信息的时候,沿具有非随意邻居的隐藏区的边界,作为结果的隐藏可以具有亮度(亮度通道)和/或彩色(色度通道)失配。考虑到对于使用信息的限制,这很容易理解。因此,对于提高隐藏质量的立即的机会是避免这些重大的失配。这使得可以用其整个外围/围绕物来实现隐藏区域更好的混合,并因此降低其可见性。重要的是,使用来自非随意邻居的信息还导致对于客观质量测量的显著改进。
如上所述,SEC算法的一个实施例依赖于零残差intra_4×4解码。对于要隐藏的每个宏块,SEC处理产生intra_4×4编码宏块对象(所谓的“隐藏宏块”),其中与亮度通道相关的16个intra_4×4预测模式基于从随意邻居的亮度通道可用的方向性信息确定。以一种类似的方式,对于隐藏宏块的色度通道(共同)的帧内预测模式基于从随意邻居色度通道可用的方向性信息来确定。在一个实施例中,对此设计的增强是引入初级处理级,其将基于从可用(随意)邻居的亮度和色度通道共同提取的信息,对于要以统一方式隐藏的宏块分析并合成方向性属性。
一旦intra_4×4预测模式和色度帧内预测模式是对于隐藏宏块确定的,就将呈现给没有残差数据的常规解码处理。对于隐藏宏块的解码器输出提供基线空间隐藏结果。
在此子章节中描述的增强中,上述基线(零残差)隐藏宏块就增加了一些残差信息,以避免沿其非随意邻居的边界的重大亮度和/或彩色失配。具体的说,就对于下半个隐藏宏块中的亮度4×4块提供仅包括量化的DC系数的残差数据。
图22示出增强的空间错误隐藏系统的一个实施例中要隐藏的宏块的亮度和色度(Cr,Cb)的图。如图22所示,仅包括量化DC系数的残差数据提供给下半个隐藏宏块中的亮度4×4块(即,包括对于具有8到15范围中索引的亮度块)。以类似的方式,在色度通道中,以仅有DC系数的残差使得具有索引2和3的4×4块增大。对于亮度通道和色度通道,对于位于垂直下方的非随意相邻4×4块的平均(亮度和彩色)值计算校正的DC值。在下面的部分提供增强算法的细节。
增强的丢失图世代
如前所述,从来自比特流中的错误恢复的算法的第一操作(即,探测和重同步)是丢失范围的标识(即,丢失图的世代)。
图23示出增强的丢失图的一个实施例。为了支持使用来自隐藏处理中可用非随意邻居的信息,增强的丢失图引入了参照图11描述的基本丢失图的、除了两种状态“0”和“1”之外的两种新的宏块标记状态“10”和“11”。
如图23所示,在从比特流错误恢复之后立即第一次产生丢失图的时候,解码器还标记丢失区的非随意邻居所有宏块为状态“11”。由于在此点,来自这些非随意相邻宏块的信息对于解码器尚不可用;所以增强的空间隐藏处理就不能开始并需要延迟。
在发生解码处理并成功地对于丢失区标记出来的非随意邻居解码数据,就将其在增强丢失图中的状态从“11”改变为“10”,最终转换图23所示的丢失图为图24所示的丢失图。标记为“10”的值表示SEC逻辑电路需要的随意信息对于该特定宏块是可用的。
何时发生增强空间隐藏?
对于没有任何可用非随意邻居的丢失的/有错误的宏块,上述的空间隐藏处理可以立即开始。对于具有一个或更多可用非随意邻居的丢失的/有错误的宏块,可以采用下面的操作以提供增强的空间隐藏。
1.可以在初级解码处理(即,在所有其可用非随意邻居上的宏块包世代)完成之后立即合成隐藏宏块。这将减少隐藏块产生的潜伏性。 然而,初级解码和隐藏上下文之间的频繁切换将导致很大的缓冲存储器浪费,就降低了此运算模式的执行效率。
2.可以在对原本标记(标记为值“11”)的非随意相邻宏块的初级解码处理完成之后立即一起合成隐藏宏块,而不必等待当完成前片的解码。关于隐藏潜伏性以及执行效率,这种方法可以提供最好的平衡。这种操作可能需要在对每个宏块初步解码之后检查丢失图。
3.可以在对包含最后原本标记非随意相邻宏块的(整个)片的初级解码处理完成之后一起合成隐藏宏块。这可能会不需要地增加产生隐藏宏块的潜伏性。然而,关于实现的复杂度和执行效率,就可能提供最简单和最有效的方案。
对于隐藏宏块的QP Y 的选择
在SEC算法合成的隐藏宏块中残差数据的存在表示需要给此宏块分配QPY值(相对于亮度的量化参数),并还需要在此量化级别上提供残差信息。在SEC的基本版本中,由于在隐藏宏块里没有残差数据,就没有必要提出QPY。对于没有任何可用非随意邻居的宏块,这在增强SEC中也是真的。
关于对具有一个或多个可用非随意邻居的隐藏宏块选择QPY,下面两种选择是可行的:
1.隐藏宏块可以继承其后面紧邻的非随意邻居的QPY值。
2.隐藏宏块的QPY值可以统一设置为相对较高的值,以实施在这些宏块之内发生的强大的去块滤波操作。尤其是在增强的SEC设计中,这可以使得一些平滑垂直穿过隐藏宏块的中纬线,其中来自随意和非随意邻居传播的潜在不同亮度和彩色的信息相遇。在此区中,尤其希望强大的去块滤波,以提高主观和客观的隐藏性能。
增强SEC的高级结构
图25提供了提供增强SEC的方法的一个实施例。增强的SEC提供SEC基本版的顶部的增强,并仅在隐藏宏块具有可用的下面邻居的时候被激活。这不是下面的相邻宏块也丢失或不存在的情况(即, 要隐藏的宏块是在帧的下边界之上)。在这种情况下,增强的SEC就像是SEC基本版一样操作。
应该注意,可以扩展这里描述的增强SEC的基本方案,对于右边邻居可用的隐藏宏块,以获得该隐藏宏块右半边中类似的亮度和彩色校正。
图26提供了确定何时可以使用增强的SEC特征的方法的一个实施例。
亮度通道中的平均亮度校正
图27示出增强SEC系统的一个实施例中获得平均亮度校正的方法所使用的变量定义。图29示出块,并标识出用于对相邻的4×4块执行intra_4×4预测的七个(7)像素2902。
图28示出一种方法的实施例,其提供了对于在增强SEC的一个实施例中下半个隐藏宏块中实现均值亮度(即,亮度通道)校正的算法。
在块2802,隐藏宏块的每个4×4块中,仅仅这七个高亮的像素值的计算对于递归继续计算是足够的;
a.所有的(16个)像素值以及尤其是对应的(对应于高亮的值)七个值的子集,
b.准确的平均亮度值(基于所有像素值)或是大概的值(通过使用基于公式的单个inter_4×4预测模式,如下所述),
对于所有随之发生的同一MB的4×4块,并且H.264中指定了4×4块扫描顺序。
在块2804和2808,对于intra_4×4预测块的平均亮度值可以以不重要(trivial)的方式通过首先计算该4×4块中16个单独像素值的全部并随后求该16个像素值的平均数(随后为了我们的目的来适当地取整),来准确计算。然而,还有一种更加简单、更加快速但是比较近似的方案来计算该同一数量。这种方案要求使用8+3个不同(简单的)公式,每个公式都与特定的intra_4×4预测模式相关联。尽管这些公式的推导不困难,但是需要注意对细节进行取整可以提高其准确度。
在块2806处,对于下面相邻宏块的最初4×4块,即具有扫描索引{0,1,4,5}的块,计算平均亮度值,这需要发生一些解码处理。在下面的另一部分中描述了通过有效的、部分解码,复杂度很低并且以很快的方式来实现这一目的的框架。假定是这种框架,下面提供了两种可行的不同方式来计算这个平均值。
在一种情况下,通过使用平均亮度分量和残差分量,可以在整个4×4块中作为平均数量来计算此均值,其中平均亮度分量是由统治该4×4块的帧内预测模式贡献的,而残差分量是残差信号的DC系数贡献的。然而,在像素域中4×4块内容不统一的时候,(例如,水平或是倾斜边缘,或是一些材质),由于其不能表示4×4块的任何部分,所以得到的均值将不能对描述的亮度校正算法提供令人满意的输入。
在另一种情况下,不必对于整个4×4块计算平均亮度,仅对与发生亮度校正的区域最接近并因此最紧密相关的、4×4块的最上面一行4个像素来计算平均亮度。
在块2810,对于隐藏宏块的块8和10来说,这里是下面的邻居的块0;对于隐藏宏块的块9和11来说,这里是下面的邻居的块1;对于隐藏宏块的块12和14来说,这里是下面的邻居的块4;对于隐藏宏块的块13和15来说,这里是下面的邻居的块5。
其中可以对于块{8,9,12,13}更加准确地进行亮度校正的方式,对于这些块的目标平均亮度值可以有很多可能性。在下面描述了两种可能性。
在一种情况下,可以将目标平均亮度值直接作为下面邻居对应的4×4块的平均亮度值。在这种情况下,执行一种强大的去块滤波,尤其是在隐藏的MB中垂直跨过中纬线的滤波是强烈推荐的。
作为一种替换方式,对于比如块8的目标平均亮度值可以当作隐藏宏块中块2的平均亮度值和对于下面邻居的块0的平均亮度值的均值。由于隐藏宏块中块10的平均亮度值将是下面邻居的块0的平均亮度值的准确复制,对于块8如这里定义一样地设置平均亮度,将使得可以得到在垂直方向上的平滑混合。这可以消除对于强大去块过滤的需要。
在块2812处,这个步骤需要每个亮度校正的4×4块一个整数相乘。
在块2814处,这个步骤需要每个亮度校正的4×4块一个整数相乘。通过统一地将恒定值加到预测信号上,就可以将仅包括非零量化DC系数的残差信号简单地反转。因此,该步骤表示的重建在计算上具有很低的复杂度。
色度通道中的平均彩色校正
在下半个空间隐藏宏块中实现校正和平均彩色(即,色度通道)的算法在原理上与上述对于亮度校正提出的算法非常类似。
对于图22,隐藏宏块的色度通道中具有索引2和3的4×4块分别接收来自下面相邻宏块的同一色度通道中具有索引0和1的4×4块的均值校正信息。这种校正在对于所有隐藏宏块的色度通道Cb和Cr中都会发生。
H.264比特流中的高效部分帧内解码
预测(帧内或是帧间)编码的4×4(亮度或色度)块之内的重建信号可以表示为:
r = p + Δ ~
其中,r,p和, 
Figure G05831072120070319D000312
分别表示重建的信号(原始未压缩信号s的近似),预测信号以及压缩的残差信号(对原始未压缩残差信号Δ=s-p的近似),所有这些都是整数值的4×4矩阵。
此4×4块之内的重建信号的均值(可以是任何统计测量)可以表示为:
r ‾ = 1 16 Σ i , j r i , j = 1 16 Σ i , j ( p i , j + Δ ~ i , j ) = 1 16 Σ i , j p i , j + 1 16 Σ i , j Δ ~ i , j = p ‾ + Δ ~ ‾
对于上述公式,从下面相邻的宏块的4×4块中提取平均亮度或彩色信息需要p和 
Figure G05831072120070319D000314
的可用性。
Figure G05831072120070319D000321
仅是并简单地与压缩的残差信号的量化DC系数相关,该残差信号从比特流立即可用(在intra_4×4编码亮度块的情况下)或是在对于intra_16×16编码亮度块和帧内编码色度块的一些亮度处理之后立即可用的。后两种情况的处理包括(部分执行的)4×4或是2×2反Hadamard变换(仅需要相加/相减),后面是4或2重定标操作(每个重定标需要1个整数相乘)。
知道p仅是近似的就足够了,并且如上所述,这可以通过使用依赖于所用帧内预测模式的单个公式来实现,并且对于在此预测模式中使用的相邻像素值而指定。尽管这看上去是一个简单的计算处理,但是其显然需要在帧内预测中要使用的相邻像素值的可用性。这反过来表示要发生一些解码处理。然而,所需的解码仅是部分的,并且可以非常高效的实施,如下所述。
下面是对于位于紧邻片边界之下的帧内编码宏块的观测。
1.位于紧邻片边界之下的intra_4×4编码的MB
这里,我们关心位于紧邻片边界之下的intra_4×4编码宏块的最初的四个4×4块,即,具有索引图27中b∈{0,1,4,5}的块。
图30示出紧邻片边界之下的intra_4×4块的一个实施例。线AA’标出了提到的片边界,且黄色4×4块是当前所考虑的块,由于位于片边界的另一侧并因此属于另一片,所以可以用于执行intra_4×4预测的9个相邻像素是不可用的。
图31示出相邻像素以及intra_4×4块中像素的命名。相邻像素{I,J,K,L}的可用性仅表示对于当前4×4块的可允许intra_4×4预测模式被限制于{1(水平),2(DC),8(水平向上(horizontal-up))}。在{I,J,K,L}中没有可用的时候,其中如果是BB’标出另一片边界或帧的左边界的情况,它们仅允许intra_4×4预测模式为{2(DC)}。
因此,在最常见的情况下,对于位于紧邻片边界之下的intra_4×4编码的4×4块,需要解码并重建的信息是:
1.该intra_4×4预测模式,
2.该残差信息(量化的变换系数),
3.需要位于紧邻4×4块左侧的4个相邻像素{I,J,K,L}的值。
此必须的和足够的数据集将使得可以重建当前4×4块的所有像素值{a,b,c...n,o,p},并且尤其是像素值{d,h,l,p},其反过来对于解码与右侧紧邻的4×4块是所需要的。
2.位于紧邻片边界之下的intra_16×16编码的MB
这里,再次关注在于位于紧邻片边界之下的intra_16×16编码的MB的最初的四个4×4块(即,图27中的具有块索引b∈(0,1,4,5)的那些块)。
图32示出位于紧邻片边界之下的intra_16×16编码的宏块的一个实施例。线AA’标出提到的片边界且黄色4×4块构成当前所考虑的(intra_16×16编码的)MB,由于可以用于执行intra_16×16预测的17个相邻像素位于片边界的另一侧并因此属于另一片,所以它们不可用。仅对于16个相邻像素(位于紧邻线BB’左侧的像素)的潜在可用性表示对于当前宏块的可允许intra_16×16预测模式被限制于{1(水平),2(DC)}。在所述位于紧邻线BB’的左侧的16个相邻像素中没有可用者的时候,如果是BB’标出另一片边界或是帧的左边的情况,唯一可允许的intra_16×16预测模式是{2(DC)}。
在当前宏块使用intra_16×16水平预测模式编码的时候,则仅位于紧邻线BB’左侧的顶端四个相邻像素的可用性对于解码和重建当前宏块中顶部4个4×4块是足够的。这与上述“对相邻像素的最小依赖性”框架一致,其中该框架允许对intra_4×4编码宏块中仅仅顶部4个4×4块的解码。
另一方面,在当前宏块使用intra_16×16_DC预测模式编码的时候(且不是紧邻片边界的右侧也不是帧边界的左侧),则就需要位于紧邻线BB’左侧的16个相邻像素的可用性,来解码和重建当前MB中最顶部4个4×4块(以及所有其他的块)。这就毁坏了仅仅最顶部4个相邻像素的充足性,并且对于我们的目的来说是所不希望的。
基于这些观测,当前有效部分解码框架提出并将从以下面方式的、intra_16×16_DC预测模式的有限使用中获益:
仅对于那些intra_16×16编码的宏块,应该避免使用intra_16×16_DC预测模式,并且对于这些宏块应该统一使用 intra_16×16_Horizontal的预测模式,其中所述intra_16×16编码的宏块位于紧邻片边界之下,且既不是紧邻片边界的右侧也不是紧邻帧的左边界。
3.对于位于紧邻片边界之下的MB的帧内编码色度通道
这里所关注的在于,位于紧邻片边界之下帧内编码宏块的两个亮度通道(Cb或Cr)中任意一个的最初两个4×4块(即,图22中具有集合{0,1}中标志的块)。
图33示出紧邻片边界之下色度通道的一个实施例。线AA’标出提到的片边界,且黄色4×4块构成当前(帧内编码)宏块色度通道之一,由于可以用于执行此色度通道的帧内预测的9个相邻像素位于片边界的另一侧且因此属于另一片,因此它们不可用。仅8个相邻像素(位于紧邻线BB’的左侧的像素)的潜在可用性表示对于当前MB的可允许的色度通道帧内预测模式被限制为{0(DC),1(水平)}。在所述8个相邻像素中没有可用者的时候,如果是BB’标出另一片边界或是帧的左边的情况,唯一可允许的色度通道帧内预测模式是{0(DC)},其中所述8个相邻像素位于紧邻线BB’的左侧。
在当前(帧内编码)宏块的色度通道使用intra_Chroma_Horizontal预测模式编码的时候,则仅位于紧邻线BB’左侧的顶端四个相邻像素的可用性对于解码和重建当前MB中对应色度通道的顶部2个4×4块是足够的。这与上述“对相邻像素的最小依赖性”框架一致,其中该框架允许对帧内编码宏块亮度通道中仅仅顶部4个4×4块的解码。
类似地,在当前(帧内编码)宏块的色度通道使用intra_Chroma_DC预测模式编码的时候,则仅位于紧邻线BB’左侧的顶端四个相邻像素的可用性对于解码和重建当前宏块中对应色度通道的顶部2个4×4块是足够的。这再次与上述对“相邻像素的最小依赖性”框架一致。
H.264中残差信息的有效部分解码
这里将解决仅对于图31中位置{d,h,l,p}的最终像素的重建有贡献的4×4块的残差信号分量的第四(即最后)列的解码效率问题。
与对于残差4×4块的转换处理相关联的16个基本图像可以确定为如下,其中sij(对于i,j∈(0,1,2,3))是与第i水平和第j垂直频率通道相关的基本图像。
s00=[1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1];
s10=[1 0.5-0.5-1
1 0.5-0.5-1
1 0.5-0.5-1
1 0.5-0.5-1];
s20=[1-1-1 1
1-1-1 1
1-1-1 1
1-1-1 1];
s30=[0.5-1 1-0.5
0.5-1 1-0.5
0.5-1 1-0.5
0.5-1 1-0.5];
s01=[1 1 1 1
0.5 0.5 0.5 0.5
-0.5-0.5-0.5-0.5
-1-1-1-1];
s11=[1 0.5-0.5-1
0.5 0.25-0.25-0.5
-0.5-0.25 0.25 0.5
-1-0.5 0.51];
s21=[1-1-1 1
0.5-0.5-0.5 0.5
-0.5 0.5 0.5-0.5
-1 1 1 -1];
s31=[0.5-1 1-0.5
0.25-0.5 0.5-0.25
-0.25 0.5-0.5 0.25
-0.5 1-1 0.5];
s02=[1 1 1 1
-1-1-1-1
-1-1-1-1
1 1 1 1];
s12=[1 0.5-0.5-1
-1-0.5 0.5 1
-1-0.5 0.5 1
1 0.5-0.5-1];
s22=[1-1-1 1
-1 1 1-1
-1 1 1-1
1-1-1 1];
s32=[0.5-1 1-0.5
-0.5 1-1 0.5
-0.5 1-1 0.5
0.5-1 1-0.5];
s03=[0.5 0.5 0.5 0.5
-1-1-1-1
1 1 1 1
-0.5-0.5-0.5-0.5];
s13=[0.5 0.25-0.25-0.5
-1-0.5 0.5 1
1 0.5-0.5-1
-0.5-0.25 0.25 0.5];
s23=[0.5-0.5-0.5 0.5
-1 1 1-1
1-1-1 1
-0.5 0.5 0.5-0.5];
s33=[0.25-0.5 0.5-0.25
-0.5 1-1 0.5
0.5-1 1-0.5
-0.25 0.5-0.5 0.25];
对这16个基本图像的仔细观察表明其最后一列实际上仅包含四个不同的矢量。由于最后一列是四维矢量空间中的4×1矩阵/矢量,并因此需要准确表达4个基本矢量,这应该直观上是很清楚的。
在比特流中接收量化的变换系数(即,级别zij i,j∈{0,1,2,3})并且重定标以产生系数w’ij i,j∈{0,1,2,3}时,就前进到逆 变换(即,产生对合成处理中基本图像加权的权重),上述观测表明对于残差信号的最后列的重建表达可以描述为:
(w’00-w’10+w’20-w’30/2)*[1 1 1 1]T+...
(w’01-w’11+w’21-w’31/2)*[1 0.5-0.5-1]T+...
(w’02-w’12+w’22-w’32/2)*[1-1-1 1]T+...
(w’03-w’13+w’23-w’33/2)*[0.5-1 1-0.5]T
注意到,一旦计算了上述括号中四个标量数量,仅需要右移和相加/相减。
关于重定标处理,即将zij i,j∈{0,1,2,3}转换为w’ij I,j∈{0,1,2,3}的另一种观察将可以表示显著节省计算复杂度的来源。注意到用于定标zij i,j∈{0,1,2,3}的重定标因子vij i,j∈{0,1,2,3}除了依赖于(QPY%6)之外,还处理4×4矩阵中下面的位置结构:
V00 V10 V20 V30
V01 V11 V21 V31
V02 V12 V22 V32
V03 V13 V23 V33
其中,具有相同颜色的重定标因子具有对于特定QPY的相同值。这可以有优势地用于减少如下从zij产生w’ij所需的乘法的数量。注意到在上述特定的重建残差信号最后一列的加权基本矢量总和公式中,加权基本矢量[1 1 1 1]T的第一权重包含w’00和w’20的总和而不是这两个权重各自的值。因此,取代需要整数乘法的单独计算这两个值并将其相加,可以首先相加z00和z20并随后以v00=v20将其重定标,以通过仅一个整数乘法来获得同样的总和值。(为了简单的缘故,通过二的幂得到的另一种公用乘法因子在此说明中没有清楚地说明)。
除了对于执行部分解码的这些计算需求直接减少之外,还可以设计快速算法来仅计算残差信号的所需最后一列。
将导致对此部分解码处理需要较低计算的另一种实际情况是:残差信号块内最大16个量化系数的大部分时间中仅有一小部分,通常小于5个,实际上是非零的。上述部分与这个情况的结合可以用于进一步几乎将所述的乘法的数量减半。
从下面邻居到下半个隐藏宏块结合的方向性信息
这里,将描述从下面相邻宏块关于方向结构(垂直和接近于垂直的方向结构)的信息结合到隐藏宏块中的框架以及隐藏宏块中的亮度和彩色校正。
第一步是零残差的合成(即类似于SEC的基本版本),其中所有下面的8个4×4块的intra_4×4预测模式的隐藏宏块(即,具有图27中块索引b∈{8,9,...,15}的那些4×4块)被统一设置为2(DC)。这将使得可以对上半个隐藏宏块使用来自上面相邻宏块的亮度/彩色和方向性信息,并将下半个隐藏宏块设置为这样一种状态,其中大部分可以结合来自下面相邻宏块的类似信息。
对于在下半个隐藏宏块中8个4×4块中的任何一个,重建的信号可以表示为(之前):
r = p + Δ ~
注意到,在上述部分中,由于intra_4×4_DC预测p是很简单的信号,其映射到变换域中单个非零(DC)系数。
将进一步使得 
Figure G05831072120070319D000392
(对于非零残差信号形式中的当前4×4块的隐藏的提炼/增强)包括下面的3项:
r = p + Δ ~ 1 + Δ ~ 2 + Δ ~ 3
将选择 Δ ~ 1 = - p . 由于这是直接计算p以及其变换域表示,所以这很容易实现。这将清除整个4×4块的对于来自上面邻居的任何影响,剩下由下式表示的对于4×4块的重建:
r = Δ ~ 2 + Δ ~ 3
作为下面相邻宏块最初四个4×4块(图22中虚线的4×4块)的量化系数,即索引,变为可用的时候,一种有效的(简单和准确的)块分类逻辑电路将这些四个4×4块分类为两类:1.包含重要的垂直或接近于垂直的方向结构;2.不包含垂直的或是接近于垂直的方向性结构。很容易理解,由于只有垂直或接近于垂直的方向结构可能传播到下半个隐藏宏块中,所以所关注的在于在下面的邻居中探测这些结构。
在下面相邻宏块中的这些四个最初4×4块中,具有两种分量,即 预测信号和残差信号的完整重建信号并不会真的损坏这种通过需要完成解码的分类处理。如下面说明的,解码不是必须的,且上述分类可以仅基于残差信号,即其变换域表示来准确实现。其原因如下所述。如上所述,一种位于紧邻片边界下面的intra_4×4编码的4×4块可以仅使用模式{1(水平),2(DC),8(水平向上)}中之一来预测。这些模式没有一个是与对于提供其良好预测的垂直或接近于垂直方向结构的良好匹配。因此,在显著的垂直和接近于垂直的结构的情况下,在这些最初四个4×4块中的残差信号能量将特定地基本在水平频率通道中。如上所述,这将使得可以进行简单和准确的分类。对于intra_16×16编码的下面的邻居中最初的4×4块以及帧内编码的下面邻居的色度通道,有非常类似的观点。
如果帧内编码的下面邻居的最初(亮度或色度通道)4×4块被分类为被分类为类2,则如上所述其仅贡献亮度/彩色校正。
如果帧内编码的下面邻居中的最初(亮度和色度通道)4×4块被分类为类1,则其通过下面描述的技术贡献其像素域中的全部信息,即亮度/彩色和方向性信息。
在一个实施例中,该技术包括使得:
Δ ~ 2 + Δ ~ 3 = r LN , i = p LN , i + Δ ~ LN , i
尤其是
Δ ~ 2 = p LN , i
以及
Δ ~ 3 = Δ ~ LN , i
对于确定为被下面邻居中的垂直或接近于垂直方向结构影响的下半个隐藏宏块中的4×4块,即在其4×4块中分类为类1。其中发生影响传播的该框架在下面描述,并且与基本零残差隐藏宏块合成处理中的方向性信息传播非常类似。下面考虑了对于 
Figure G05831072120070319D000404
和 的上述选择的结果。
假定在下面相邻宏块中的块i,i∈{0,1,4,5}被分类为类1,其重建信号、预测信号分量和残差信号分量分别表示为rLN,i,pLN,i 以及 
Figure G05831072120070319D000406
下标的“LN”表示“下面相邻”且“i”表示所考虑的块的索引。
上述 
Figure G05831072120070319D000411
和 
Figure G05831072120070319D000412
很清楚地导致:
r = Δ ~ 2 + Δ ~ 3 = r LN , i
这使得将下面相邻类1的4×4块的像素域内容准确复制/再现到下半个隐藏宏块中适当选择的(基于存在的方向属性)4×4块中。
Δ ~ 3 = Δ ~ LN , i 是不重要的,并且仅需要复制残差信号,即类1下面相邻4×4块的量化系数、级别复制到隐藏4×4块的残差信号中。
Δ ~ 3 = p IN , i 是更加不重要的,但是其依旧可以以很简单的方式来实现。对于 
Figure G05831072120070319D000416
的选择使得显然可以考虑类1下面相邻4×4块的预测信号分量。如果类1下面相邻4×4块是intra_4×4编码MB的部分亮度通道,则仅取回三种intra_4×4预测模式是可以的。在此情况下:
·如果使用intra_4×4_DC模式,则如上所述的pLN,i具有很简单的变换域结构且 
Figure G05831072120070319D000417
可以简单地计算。
·如果使用intra_4×4_horizontal模式,则pLN,i具有一定程度上更复杂的、但是依旧便于管理的变换域结构,且可以计算 
Figure G05831072120070319D000418
·如果使用intra_4×4_horizontal_up,则pLN,i的变换域结构变得更复杂,使得对于 
Figure G05831072120070319D000419
的计算变为一种吸引力较低的方案。
对于来自intra_16×16编码的宏块的亮度通道或是帧内编码的宏块的色度通道,类1下面相邻4×4块有很相似的观点,例外的是在这些情况下,与intra_4×4_horizontal_up对应的这些帧内预测形式不存在且对于 
Figure G05831072120070319D0004110
的计算的情况更加受欢迎。
基于这些观察,提出了用于合并来自下面相邻宏块的亮度/彩色和方向性信息的当前框架,并且将从以如下方式对intra_4×4_DC预测模式的优选/有偏差的使用中受益。
仅对于位于紧邻片边界下面的intra_4×4编码的宏块的最初四个4×4块,以及仅在这些4×4块中的一个中具有明显垂直或接近于垂直的方向结构的时候,其中三种可以允许的intra_4×4预测模式中没有一种提供良好的预测符,才统一地选择并使用intra_4×4_DC模式。
其中类1下面相邻4×4块的完整数据影响下半个隐藏MB中4×4块的所选子集的方式单纯地依赖于对于类1块的所探测到的方向性属性。对于类1的4×4的斜率(符号和幅度)的更精细的分类可以用于 标识传播过程。
因此,尽管已经示出并在此描述了空间错误隐藏系统的一个或多个实施例,但是可以理解,可以对该实施例作出各种改变而不脱离其精神或必要特征。因此,这里的说明和公开是用于说明保护范围的,而不是用于限制该保护范围,其中所述保护范围在下面的权利要求中阐述。

Claims (22)

1.一种用于在视频传输中进行空间错误隐藏的方法,该方法包括:
探测损坏的宏块;
获得编码的宏块参数;
将所述编码的宏块参数存储在缓存器中;
在探测到所述损坏的宏块时,从所述缓存器取回与相邻于所述损坏的宏块的一个或多个宏块关联的编码的宏块参数,并基于所取回的编码的宏块参数产生隐藏参数;
将所述隐藏参数插入视频解码系统中。
2.如权利要求1所述的方法,还包括确定与所述一个或多个相邻宏块中的每个相关的方向性特征。
3.如权利要求2所述的方法,还包括对于所述方向性特征确定单位矢量。
4.如权利要求3所述的方法,还包括基于与所述一个或多个相邻宏块中的每个相关的预测质量特征给所述单位矢量中的每个分配权重,以产生加权的矢量。
5.如权利要求4所述的方法,还包括结合所述加权的矢量以产生隐藏方向性指示符。
6.如权利要求5所述的方法,还包括量化所述隐藏方向性指示符到所选隐藏模式指示符中。
7.如权利要求1所述的方法,其中所述产生步骤包括设置隐藏系数为零。
8.一种用于在视频传输中进行空间错误隐藏的装置,该装置包括:
配置为探测损坏的宏块的逻辑电路;
配置为获得编码的宏块参数的逻辑电路;
配置为将所述编码的宏块参数存储在缓存器中的逻辑电路;
配置为在探测到所述损坏的宏块时,从所述缓存器取回与相邻于所述损坏的宏块的一个或多个宏块关联的编码的宏块参数,并基于所取回的编码的宏块参数产生隐藏参数的逻辑电路;以及
配置为将所述隐藏参数插入视频解码系统中的逻辑电路。
9.如权利要求8所述的装置,还包括配置为确定与所述一个或多个相邻宏块中的每个相关的方向性特征的逻辑电路。
10.如权利要求9所述的装置,还包括配置为对于所述方向性特征确定单位矢量的逻辑电路。
11.如权利要求10所述的装置,还包括配置为基于与所述一个或多个相邻宏块中的每个相关的预测质量特征,给所述单位矢量中的每个分配权重以产生加权矢量的逻辑电路。
12.如权利要求11所述的装置,还包括配置为结合所述加权的矢量以产生隐藏方向性指示符的逻辑电路。
13.如权利要求12所述的装置,还包括配置为量化所述隐藏方向性指示符到所选隐藏模式的指示符中的逻辑电路。
14.如权利要求8所述的装置,还包括配置为设置隐藏系数为零的逻辑电路。
15.一种用于在视频传输中进行空间错误隐藏的设备,该设备包括:
用于探测损坏的宏块的装置;
用于获得编码的宏块参数的装置;
用于将所述编码的宏块参数存储在缓存器中的装置;
用于在探测到所述损坏的宏块时,从所述缓存器取回与相邻于所述损坏的宏块的一个或多个宏块关联的编码的宏块参数,并基于所取回的编码的宏块参数产生隐藏参数的装置;以及
用于将所述隐藏参数插入视频解码系统中的装置。
16.如权利要求15所述的设备,还包括用于确定与所述一个或多个相邻宏块中的每个相关的方向性特征的装置。
17.如权利要求16所述的设备,还包括用于对于所述方向性特征确定单位矢量的装置。
18.如权利要求17所述的设备,还包括用于基于与所述一个或多个相邻宏块中的每个相关的预测质量特征,给所述单位矢量中的每个分配权重以产生加权矢量的装置。
19.如权利要求18所述的设备,还包括用于结合所述加权的矢量以产生隐藏方向性指示符的装置。
20.如权利要求19所述的设备,还包括用于量化所述隐藏方向性指示符到所选隐藏模式的指示符中的装置。
21.如权利要求15所述的设备,还包括用于设置隐藏系数为零的装置。
22.一种用于在视频传输中进行空间错误隐藏的方法,该方法包括:
探测损坏的宏块;
获得编码的宏块参数;
将所述编码的宏块参数存储在缓冲器中;
在探测到所述损坏的宏块时,从所述缓存器取回与相邻于所述损坏的宏块的一个或多个非随意宏块关联的编码的宏块参数,并基于所取回的编码的宏块参数产生隐藏参数;以及
将所述隐藏参数插入视频解码系统中。
CN2005800310721A 2004-07-15 2005-07-15 基于帧内预测方向的h.264空间错误隐藏 Expired - Fee Related CN101019437B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US58848304P 2004-07-15 2004-07-15
US60/588,483 2004-07-15
PCT/US2005/025155 WO2006020019A1 (en) 2004-07-15 2005-07-15 H.264 spatial error concealment based on the intra-prediction direction

Publications (2)

Publication Number Publication Date
CN101019437A CN101019437A (zh) 2007-08-15
CN101019437B true CN101019437B (zh) 2011-08-03

Family

ID=35063414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800310721A Expired - Fee Related CN101019437B (zh) 2004-07-15 2005-07-15 基于帧内预测方向的h.264空间错误隐藏

Country Status (8)

Country Link
US (1) US20060013320A1 (zh)
EP (1) EP1779673A1 (zh)
JP (1) JP2008507211A (zh)
KR (1) KR100871646B1 (zh)
CN (1) CN101019437B (zh)
CA (1) CA2573990A1 (zh)
TW (1) TW200627967A (zh)
WO (1) WO2006020019A1 (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006022665A1 (en) * 2004-07-29 2006-03-02 Thomson Licensing Error concealment technique for inter-coded sequences
US20060045190A1 (en) * 2004-09-02 2006-03-02 Sharp Laboratories Of America, Inc. Low-complexity error concealment for real-time video decoder
CN101044510B (zh) * 2004-10-18 2012-01-04 汤姆森特许公司 胶片颗粒模拟方法
MX2007005653A (es) * 2004-11-12 2007-06-05 Thomson Licensing Simulacion de grano para reproduccion normal y reproduccion de modo de truco para sistemas de reproduccion de video.
CA2587201C (en) 2004-11-16 2015-10-13 Cristina Gomila Film grain simulation method based on pre-computed transform coefficients
US7738561B2 (en) * 2004-11-16 2010-06-15 Industrial Technology Research Institute MPEG-4 streaming system with adaptive error concealment
KR101270755B1 (ko) 2004-11-16 2013-06-03 톰슨 라이센싱 비디오 시스템에서 비트-정확한 시뮬레이션을 위한 필름 그레인 sei 메시지 삽입
CA2587437C (en) * 2004-11-22 2015-01-13 Thomson Licensing Methods, apparatus and system for film grain cache splitting for film grain simulation
JP4680608B2 (ja) * 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US9154795B2 (en) * 2005-01-18 2015-10-06 Thomson Licensing Method and apparatus for estimating channel induced distortion
ES2336824T3 (es) * 2005-03-10 2010-04-16 Qualcomm Incorporated Arquitectura de decodificador para gestion de errores optimizada en flujo continuo multimedia.
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US8948246B2 (en) * 2005-04-11 2015-02-03 Broadcom Corporation Method and system for spatial prediction in a video encoder
US9055298B2 (en) * 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
KR100725407B1 (ko) * 2005-07-21 2007-06-07 삼성전자주식회사 방향적 인트라 잔차 예측에 따라 비디오 신호를 인코딩하고디코딩하는 방법 및 장치
US8605797B2 (en) * 2006-02-15 2013-12-10 Samsung Electronics Co., Ltd. Method and system for partitioning and encoding of uncompressed video for transmission over wireless medium
KR101330630B1 (ko) * 2006-03-13 2013-11-22 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
BRPI0710093A2 (pt) * 2006-04-20 2011-08-02 Thomson Licensing método e aparelho para codificação de vìdeo redundante
DE102007035204A1 (de) * 2006-07-28 2008-02-07 Mediatek Inc. Videoverarbeitungs- und - betriebsvorrichtung
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
KR100862662B1 (ko) * 2006-11-28 2008-10-10 삼성전자주식회사 프레임 오류 은닉 방법 및 장치, 이를 이용한 오디오 신호복호화 방법 및 장치
US8340183B2 (en) * 2007-05-04 2012-12-25 Qualcomm Incorporated Digital multimedia channel switching
US10715834B2 (en) 2007-05-10 2020-07-14 Interdigital Vc Holdings, Inc. Film grain simulation based on pre-computed transform coefficients
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8842739B2 (en) * 2007-07-20 2014-09-23 Samsung Electronics Co., Ltd. Method and system for communication of uncompressed video information in wireless systems
US8243823B2 (en) * 2007-08-29 2012-08-14 Samsung Electronics Co., Ltd. Method and system for wireless communication of uncompressed video information
US8121189B2 (en) 2007-09-20 2012-02-21 Microsoft Corporation Video decoding using created reference pictures
JP2009081576A (ja) * 2007-09-25 2009-04-16 Toshiba Corp 動画像復号装置、および動画像復号方法
CN101272490B (zh) * 2007-11-23 2011-02-02 成都三泰电子实业股份有限公司 具有相同背景的视频图像中出错宏块处理方法
US20090225867A1 (en) * 2008-03-06 2009-09-10 Lee Kun-Bin Methods and apparatus for picture access
JP2009260941A (ja) * 2008-03-21 2009-11-05 Nippon Telegr & Teleph Corp <Ntt> 映像品質客観評価方法、映像品質客観評価装置、及びプログラム
US9848209B2 (en) 2008-04-02 2017-12-19 Microsoft Technology Licensing, Llc Adaptive error detection for MPEG-2 error concealment
US9788018B2 (en) 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US9924184B2 (en) 2008-06-30 2018-03-20 Microsoft Technology Licensing, Llc Error detection, protection and recovery for video decoding
JP4995789B2 (ja) * 2008-08-27 2012-08-08 日本電信電話株式会社 画面内予測符号化方法,画面内予測復号方法,これらの装置,およびそれらのプログラム並びにプログラムを記録した記録媒体
US9131241B2 (en) 2008-11-25 2015-09-08 Microsoft Technology Licensing, Llc Adjusting hardware acceleration for video playback based on error detection
US8687685B2 (en) 2009-04-14 2014-04-01 Qualcomm Incorporated Efficient transcoding of B-frames to P-frames
US9369759B2 (en) 2009-04-15 2016-06-14 Samsung Electronics Co., Ltd. Method and system for progressive rate adaptation for uncompressed video communication in wireless systems
JP5169978B2 (ja) * 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
US8340510B2 (en) 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
CN102088613B (zh) * 2009-12-02 2013-03-20 宏碁股份有限公司 图像修复方法
KR20110068792A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
US9083974B2 (en) 2010-05-17 2015-07-14 Lg Electronics Inc. Intra prediction modes
WO2012008515A1 (ja) * 2010-07-15 2012-01-19 シャープ株式会社 復号装置、符号化装置
EP3125559B1 (en) * 2010-08-17 2018-08-08 M&K Holdings Inc. Apparatus for decoding an intra prediction mode
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
US9258573B2 (en) 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
CN102595124B (zh) * 2011-01-14 2014-07-16 华为技术有限公司 图像编码解码方法、处理图像数据方法及其设备
CN102685506B (zh) * 2011-03-10 2015-06-17 华为技术有限公司 帧内预测的方法和预测装置
US9025672B2 (en) * 2011-05-04 2015-05-05 Cavium, Inc. On-demand intra-refresh for end-to end coded video transmission systems
CN103548342B (zh) * 2011-05-12 2017-02-15 汤姆逊许可公司 估计比特流级别的视频质量的方法及设备
KR101383775B1 (ko) 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
US9762918B2 (en) 2011-05-27 2017-09-12 Hfi Innovation Inc. Method and apparatus for line buffer reduction for video processing
EP2705668A1 (en) 2011-07-12 2014-03-12 Huawei Technologies Co., Ltd Pixel-based intra prediction for coding in hevc
GB2492812B (en) * 2011-07-13 2014-10-22 Canon Kk Error concealment method for wireless communications
US20130083846A1 (en) * 2011-09-29 2013-04-04 JVC Kenwood Corporation Image encoding apparatus, image encoding method, image encoding program, image decoding apparatus, image decoding method, and image decoding program
EP2774360B1 (en) 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
TWI726579B (zh) * 2011-12-21 2021-05-01 日商Jvc建伍股份有限公司 動態影像編碼裝置、動態影像編碼方法、動態影像解碼裝置、及動態影像解碼方法
EP2611186A1 (en) 2011-12-30 2013-07-03 British Telecommunications Public Limited Company Assessing packet loss visibility in video
WO2013155662A1 (en) * 2012-04-16 2013-10-24 Mediatek Singapore Pte. Ltd. Methods and apparatuses of simplification for intra chroma lm mode
KR101618672B1 (ko) * 2012-04-19 2016-05-18 인텔 코포레이션 깊이 기반 변이 벡터 교정을 포함하는 3d 비디오 코딩
AU2013202653A1 (en) * 2013-04-05 2014-10-23 Canon Kabushiki Kaisha Method, apparatus and system for generating intra-predicted samples
US9872046B2 (en) 2013-09-06 2018-01-16 Lg Display Co., Ltd. Apparatus and method for recovering spatial motion vector
CN103780913B (zh) * 2014-01-24 2017-01-04 西安空间无线电技术研究所 一种基于误差隐藏的数据压缩方法
CN107734333A (zh) * 2017-09-29 2018-02-23 杭州电子科技大学 一种利用生成网络提高视频错误隐藏效果的方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5243428A (en) * 1991-01-29 1993-09-07 North American Philips Corporation Method and apparatus for concealing errors in a digital television
US5624467A (en) * 1991-12-20 1997-04-29 Eastman Kodak Company Microprecipitation process for dispersing photographic filter dyes
US5621467A (en) * 1995-02-16 1997-04-15 Thomson Multimedia S.A. Temporal-spatial error concealment apparatus and method for video signal processors
US6046784A (en) * 1996-08-21 2000-04-04 Daewoo Electronics Co., Ltd. Method and apparatus for concealing errors in a bit stream
KR100196840B1 (ko) * 1996-12-27 1999-06-15 전주범 영상복호화시스템에 있어서 비트에러복원장치
US6539120B1 (en) * 1997-03-12 2003-03-25 Matsushita Electric Industrial Co., Ltd. MPEG decoder providing multiple standard output signals
US6404817B1 (en) * 1997-11-20 2002-06-11 Lsi Logic Corporation MPEG video decoder having robust error detection and concealment
JP4010066B2 (ja) * 1998-11-09 2007-11-21 ソニー株式会社 画像データ記録装置および記録方法、並びに画像データ記録再生装置および記録再生方法
US6721362B2 (en) * 2001-03-30 2004-04-13 Redrock Semiconductor, Ltd. Constrained discrete-cosine-transform coefficients for better error detection in a corrupted MPEG-4 bitstreams
JP2003304404A (ja) * 2002-04-09 2003-10-24 Canon Inc 画像符号化装置
US20060146940A1 (en) * 2003-01-10 2006-07-06 Thomson Licensing S.A. Spatial error concealment based on the intra-prediction modes transmitted in a coded stream
WO2004064406A1 (en) * 2003-01-10 2004-07-29 Thomson Licensing S.A. Defining interpolation filters for error concealment in a coded image
US7606313B2 (en) * 2004-01-15 2009-10-20 Ittiam Systems (P) Ltd. System, method, and apparatus for error concealment in coded video signals
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US8446954B2 (en) * 2005-09-27 2013-05-21 Qualcomm Incorporated Mode selection techniques for multimedia coding
NZ566935A (en) * 2005-09-27 2010-02-26 Qualcomm Inc Methods and apparatus for service acquisition
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
US20070076796A1 (en) * 2005-09-27 2007-04-05 Fang Shi Frame interpolation using more accurate motion information

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
G.Sullivan,T.Wiegand,K.P.Lim.Joint model reference encoding methodsanddecodingconcealment methods.JOINT VIDEO TEAM(JVT) of ISO/IEC Mpeg and ITU-T VCEG.2003,3-5,31-33. *
Jae-Won Suh,Yo-Sung Ho.Error concealment based on directional interpolation.IEEE Transactions on Consumer Electronics43 3.1997,43(3),295-302.
Jae-Won Suh,Yo-Sung Ho.Error concealment based on directional interpolation.IEEE Transactions on Consumer Electronics43 3.1997,43(3),295-302. *
S.Belfiore,M.Grangetto,et al..Spatiotemporalerrorconcealmentwithoptimizedmodeselectionand applicationto H.264.Signal Processing:Image Communication18.2003,18909-913. *
Wilson Kwok,Huifang Sun.Multi-directional interpolation for spatial error concealment.IEEE Transactions on Consumer Electronics39 3.1993,39(3),456-460.
Wilson Kwok,Huifang Sun.Multi-directional interpolation for spatial error concealment.IEEE Transactions on Consumer Electronics39 3.1993,39(3),456-460. *

Also Published As

Publication number Publication date
EP1779673A1 (en) 2007-05-02
KR20070040394A (ko) 2007-04-16
KR100871646B1 (ko) 2008-12-02
US20060013320A1 (en) 2006-01-19
CA2573990A1 (en) 2006-02-23
WO2006020019A9 (en) 2006-05-11
WO2006020019A1 (en) 2006-02-23
CN101019437A (zh) 2007-08-15
TW200627967A (en) 2006-08-01
JP2008507211A (ja) 2008-03-06

Similar Documents

Publication Publication Date Title
CN101019437B (zh) 基于帧内预测方向的h.264空间错误隐藏
US11381844B2 (en) Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
CA2397090C (en) A method for encoding images using the classes of neighbouring blocks to determine the prediction method, and an image encoder
CN103348651B (zh) 具有降低复杂性的变换单元分割的方法及装置
CN103975587B (zh) 针对图像的一组重建样本的补偿偏移的编码/解码的方法和装置
CN104918056B (zh) 对帧内预测模式进行解码的方法
KR101808327B1 (ko) 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
CN101352046A (zh) 图像编码/解码方法与装置
CN114830651A (zh) 帧内预测方法、编码器、解码器以及计算机存储介质
CN112218092A (zh) 串编码技术的编码方法、设备及存储介质
CA2614571C (en) A method for encoding images in a block-based manner employing block spatial prediction
CA2572566C (en) A method for encoding images in a block-based manner employing block spatial prediction
Corrêa Heuristic-based Algorithms and Hardware Designs for Fast Intra-picture Prediction in AV1 Video Coding.
WO2023114468A1 (en) Sign prediction for block-based video coding
KR20180103673A (ko) 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1107478

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110803

Termination date: 20120715

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1107478

Country of ref document: HK