CN102017615A - 视频单元内的边界伪影校正 - Google Patents

视频单元内的边界伪影校正 Download PDF

Info

Publication number
CN102017615A
CN102017615A CN200980114121.6A CN200980114121A CN102017615A CN 102017615 A CN102017615 A CN 102017615A CN 200980114121 A CN200980114121 A CN 200980114121A CN 102017615 A CN102017615 A CN 102017615A
Authority
CN
China
Prior art keywords
border
frame
video unit
replacement
pseudo
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.)
Granted
Application number
CN200980114121.6A
Other languages
English (en)
Other versions
CN102017615B (zh
Inventor
格克切·戴恩
滕佳缘
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 CN102017615A publication Critical patent/CN102017615A/zh
Application granted granted Critical
Publication of CN102017615B publication Critical patent/CN102017615B/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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
    • 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/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter

Landscapes

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

Abstract

本发明描述用于校正沿使用视频单元代换(例如,运动补偿视频单元内插或外插)而产生的代换视频单元的边界所出现的伪影的技术。根据本发明中所描述的所述技术,帧代换单元识别代换视频单元内的与存在于参考视频单元内且应存在于所述代换视频单元内的边界对应的第一位置,且使用第一边界伪影校正技术校正所述第一位置中的边界伪影。所述帧代换单元还识别所述代换视频单元内的与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应的第二位置,且使用第二边界伪影校正技术校正所述第二位置中的边界伪影。

Description

视频单元内的边界伪影校正
本申请案主张2008年4月23日申请的第61/047,381号美国临时申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及数字视频译码,且更特定来说,涉及用于改进数字视频数据内的伪影的技术。
背景技术
为了编码数字视频序列,已开发了许多视频编码技术。例如,动画专家小组(MPEG)已开发了若干技术,包括MPEG-1、MPEG-2和MPEG-4。其它实例包括国际电信联盟(ITU)-T H.263标准以及ITU-T H.264标准和其对应物、ISO/IEC MPEG-4的第10部分(即,高级视频译码(AVC))。这些视频译码标准通过以压缩方式对数据进行编码而支持视频序列的有效发射。压缩减少了需要发射的数据的总量。
视频压缩可涉及空间和/或时间预测以减少视频序列中固有的冗余。帧内译码使用空间预测以减少同一视频帧内的视频块之间的空间冗余。帧间译码使用时间预测以减少连续视频帧中的视频块之间的时间冗余。对于帧间译码,视频编码器执行运动估计以产生指示视频块相对于一个或一个以上参考帧中的对应预测视频块的位移的运动向量。视频编码器执行运动补偿以从参考帧产生预测视频块,且通过从正经译码的原始视频块减去预测视频块而形成残余视频块。
为了满足低带宽要求,一些视频应用可以减小的帧速率编码视频和/或跳过一些帧的编码。遗憾的是,低帧速率视频可产生呈运动急动(motionjerkiness)形式的时间伪影。可在解码器侧使用帧内插或外插以近似得出由编码器跳过的帧或超出由编码器产生的基本帧速率的帧的内容。帧内插或外插通常可称为帧代换。可有效地使用帧代换以上转换实际帧速率以提供较平滑运动的感觉。帧***或代换可用于支持常常称作帧速率上转换(FRUC)的过程。FRUC可用于转换不同视频帧格式,例如,从一个帧速率转换到另一帧速率。尽管FRUC可通过代换帧(例如使用内插或外插)来增强时间质量,但是一些帧的代换可引入不合意的空间伪影,其破坏视觉质量。
发明内容
本发明描述用于校正沿代换帧中的边界出现的视觉伪影的技术。所述代换帧中的所述边界可沿所述视频帧的顶部、底部和/或一个或一个以上侧出现。替代地或额外地,例如在支持子母画面(picture in picture)模式的视频帧的情况下,所述代换帧中的所述边界可位于所述帧内。根据本发明的所述技术,帧代换单元可识别代换帧内的对应于边界伪影的位置且校正所述边界伪影。在一个方面中,所述帧代换单元可基于边界伪影的类型而不同地处置所述代换视频帧内的边界伪影。
所述帧代换单元可识别至少两种类型的边界伪影。在一个实例中,所述帧代换单元可识别所述代换帧内的与存在于用于产生所述代换帧的参考帧内且应存在于所述代换帧内的边界对应的第一位置。这些第一位置可称为“实际边界位置”,因为所述位置对应于实际上存在于所述参考视频帧内的边界。例如当边界未归因于运动补偿预测而在所述代换帧中延伸得足够远时,实际边界位置可与边界伪影对应。
所述帧代换单元还可识别所述代换帧内的与存在于所述代换视频帧内但不存在于用于产生所述代换帧的所述参考帧内的边界对应的第二位置。这些第二位置可称为“假边界位置”,因为所述位置对应于实际上不存在于所述参考视频帧内但传播到代换帧中(例如,归因于运动补偿内插)的边界。例如当运动补偿预测使边界在所述代换帧内比在所述参考帧内延伸得更远时,假边界位置可与边界伪影对应。
所述帧代换单元可使用第一边界伪影校正技术校正在实际边界位置处的边界伪影,且使用第二边界伪影校正技术校正在假边界位置处的边界伪影。所述第一边界伪影校正技术和所述第二边界伪影校正技术可在像素域内(例如,在内插或外插所述代换帧的像素值之后)或在压缩域内(例如,在内插或外插所述代换帧的像素值之前)发生。
在一个方面中,一种方法包括:识别代换视频单元内的与存在于参考视频单元内的边界对应的第一位置,和识别所述代换视频单元内的与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应的第二位置。所述方法还包括使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影和使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
在另一方面中,一种设备包含:边界伪影识别单元,其识别代换视频单元内的与存在于参考视频单元内的边界对应的第一位置,且识别所述代换视频单元内的与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应的第二位置;以及边界伪影校正单元,其使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影,且使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
在另一方面中,一种装置包含:识别装置,其识别代换视频单元内的与存在于参考视频单元内的边界对应的第一位置,且识别所述代换视频单元内的与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应的第二位置;以及校正装置,其使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影,且使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
本发明中描述的技术可以硬件、软件、固件或其组合实施。如果以软件实施,则可由一个或一个以上处理器执行软件。所述软件最初可存储于计算机可读媒体中且由处理器加载以用于执行。因此,本发明涵盖包含用以致使一个或一个以上处理器执行如本发明中所描述的技术的指令的计算机可读媒体。
举例来说,在一些方面中,本发明提供一种计算机可读媒体,其包含致使一个或一个以上处理器执行以下操作的指令:识别代换视频单元内的与存在于参考视频单元内的边界对应的第一位置,识别所述代换视频单元内的与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应的第二位置,使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影,和使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
在附图和以下描述中阐述所揭示的技术的一个或一个以上方面的细节。其它特征、目标和优点将从描述和图式以及从权利要求书而显而易见。
附图说明
图1为说明校正在视频单元代换期间产生的边界伪影的实例视频编码和解码***的框图;
图2A为说明视频解码器中的视频单元的内插的技术的实例的图;
图2B为说明视频解码器中的视频单元的外插的技术的实例的图;
图3A为说明包括边界的参考视频帧的图;
图3B为说明包括边界和边界伪影的代换视频帧的图;
图4为说明经配置以校正代换视频单元内的边界伪影的视频解码器的实例的框图;
图5为说明帧代换单元校正代换帧中的边界伪影的实例操作的流程图;
图6A和图6B为说明帧代换单元校正沿经识别的边界的一行和/或一列像素的边界伪影的实例操作的流程图;
图7为说明帧代换单元在像素域中执行假边界替换的实例操作的流程图;
图8为说明帧代换单元在像素域中执行实际边界替换的实例操作的流程图;
图9为说明帧代换单元在压缩域中执行实际边界替换的实例操作的流程图;
图10为说明帧代换单元在压缩域中执行假边界替换的实例操作的流程图;以及
图11A到图11C为说明在压缩域中的校正的各种阶段之后的代换帧的图。
具体实施方式
图1为说明根据本发明中所描述的技术的校正在视频单元代换期间产生的边界伪影的实例视频编码和解码***10的框图。可包括视频单元内插或外插的视频单元代换通常涉及对由编码器跳过的视频单元、超出由编码器产生的基本视频单元译码速率的视频单元或在经由通信信道发射期间丢失或被破坏的视频单元的内容的近似。视频单元代换可用于支持常常称作帧速率上转换(FRUC)的过程。尽管本发明的技术可应用于各种类型的视频单元,例如视频帧、切片、块或子块,但是为了说明的目的,本发明大体上描述将所述技术应用于视频帧。
如图1中所展示,***10可包括视频编码器12和视频解码器14,其每一者大体上可称作视频译码器(video coder),且在一些实例中,其可形成于组合的编码器-解码器(编解码器)中。在图1的实例中,视频编码器12接收输入视频帧16且编码输入视频帧16以产生经编码的视频帧18。视频编码器12可经由通信信道19将经编码的视频帧18发射到视频解码器14。
具体来说,视频编码器12可获得由输入视频帧16的序列组成的视频流。视频流可为实时或准实时视频、预记录的视频、计算机产生的视频或其组合。举例来说,视频编码器12可获得来自摄像机、含有先前俘获的视频的视频档案(例如,存储器)、来自视频内容提供者的视频馈送和/或产生计算机产生的视频的视频图形处理器的视频流的输入视频帧16。
视频编码器12可在熵编码视频数据之前使用帧内或帧间预测来压缩视频流的视频数据。使用帧内或帧间预测压缩视频数据可减少必须在视频编码器12与视频解码器14之间发射的数据量。帧内预测凭借通过使用给定视频帧内的一个或一个以上相邻块产生预测块而减少或移除同一视频帧内的视频块之间的空间冗余来压缩视频数据。帧间译码压缩视频数据,从而减少或移除视频序列的连续视频帧的视频块之间的时间冗余。对于帧间译码,视频编码器12可执行运动估计以追踪在两个或两个以上邻近帧之间的匹配视频块的移动。运动估计产生运动向量,运动向量指示视频块相对于一个或一个以上参考帧中的对应预测视频块的位移。运动补偿使用运动向量以从参考帧定位并产生预测视频块。
在预测视频块的帧内或帧间预测之后,视频编码器12通过从待译码的原始视频块减去预测视频块而产生残余信息的块。因此,残余信息量化预测视频块与正经译码的视频块之间的差异,使得在识别预测视频块和残余信息之后,可在视频解码器14处重新建构经译码的视频块。视频解码器14可以与上文关于视频编码器12描述的方式相同的方式产生预测块。举例来说,视频解码器14可接收标头信息,所述标头信息规定使用帧间预测还是帧内预测、用于帧内预测的帧内预测模式、用于帧间预测中的运动向量等。
为了进一步减少必须在视频编码器12与视频解码器14之间发射的数据量,视频编码器12可在小于源帧译码速率的基本帧译码速率下操作。换句话说,基本帧译码速率可小于所要帧译码速率。替代地或额外地,在一些情况下,视频编码器12可在给定帧译码速率下操作,但任选地包括或选择性地激活跳过单元20,所述跳过单元20致使视频编码器12跳过一些帧的编码。举例来说,视频跳过单元20可经配置以致使视频编码器12故意跳过一些帧的编码,借此(例如)相对于源帧译码速率而减小视频编码器12的有效帧译码速率。帧跳过或减小的帧速率译码可准许编码器12符合信道19的减小的发射速率要求。
在帧跳过的情况下,可由帧跳过单元20以固定速率跳过帧,使得跳过在交替帧处或每N个帧处发生。或者,可(例如)基于智能帧跳过准则以变化的速率跳过帧。而且,视频编码器12可固定地以给定帧译码速率来编码帧,或自适应地编码帧以使得帧译码速率根据例如信道条件或其它要求的考虑而变化。在任一情况下,可由解码器14使用帧代换而有效地上转换帧译码速率,以产生所要的增加的帧译码速率(例如,从30fps到60fps或120fps)。
输入视频帧16(标记为Ft-2、Ft-1、Ft、Ft+1和Ft+2)表示视频序列的帧的一部分。帧Ft表示归因于由任选的帧跳过单元20进行的帧跳过或归因于由视频编码器12产生的基本帧速率而在时间t未经译码的帧。帧Ft-2和Ft-1表示在时间上在帧Ft之前的过去帧,且帧Ft+1和Ft+2表示在时间上在帧Ft之后的将来帧。视频序列可包括在帧Ft之前和之后的众多帧。然而,为了易于说明,图1中仅展示在Ft之前的两个帧和在Ft之后的两个帧。
视频编码器12编码帧Ft-2、Ft-1、Ft+1和Ft+2以产生经编码的帧18。在图1中所说明的实例中,在时间t处未经译码的帧(例如,帧Ft)经说明为经编码帧18中的阴影帧,而实际上由视频编码器12编码的帧(例如,帧Ft-2、Ft-1、Ft+1和Ft+2)经说明为非阴影帧。换句话说,尽管被说明为在经编码的帧18中,但是帧Ft实际上不是经编码的帧。
视频编码器12经由将信道19发射经编码的帧18发射到视频解码器14。再次,由视频编码器12发射的经编码的帧18包括Ft-2、Ft-1、Ft+1和Ft+2,但不包括帧Ft,因为帧Ft由于被任选的跳过单元20跳过或归因于视频编码器12所利用的基本帧速率而未经视频编码器12译码。发射信道19可为能够在位流内传达视频帧的有线或无线媒体或其组合。信道19可支持双向或单向视频发射。在双向视频发射中,例如,视频编码器12将经编码的视频发射到视频解码器14且从视频解码器14接收经编码的视频。在单向视频发射中,视频编码器12可仅将经编码的视频数据发射到视频解码器14,且不从视频解码器14接收经编码的视频数据。
视频解码器14经由发射信道19接收帧24。所接收的帧24可大体上与视频编码器12所发射的经编码帧18相同,归因于发射信道19的特性而经受帧、切片或块丢失。举例来说,当无信道丢失发生时,所接收的帧24可为由视频编码器12发射的经编码帧18的相同集合。在一些例子中,所接收的帧24可(例如)归因于经编码的位流经受由发射信道19的特性引起的丢失而稍微不同于由视频编码器12发射的经编码帧18的集合。换句话说,实际上由视频编码器12译码和发射的帧(例如,帧Ft-2、Ft-1、Ft+1和Ft+2)中的一者或一者以上(或帧的部分)可在经由发射信道19发射期间丢失。为了说明的目的,将假定所接收的帧24与经编码的帧18相同,即,发射期间无帧丢失。然而,应理解,本发明的技术可用于针对除了归因于故意的帧跳过或归因于基本帧速率而未经编码的帧之外或替代所述帧的在发射期间丢失的帧而执行帧代换。
视频解码器14可应用标准解码技术(例如,根据MPEG-1、MPEG-2、MPEG-4、H.263、H.264或MPEG-4的第10部分标准中的一者)来解码所接收的帧24(Ft-2、Ft-1、Ft+1、Ft+2)中的每一者。如上文所描述,视频解码器14可执行熵解码以将帧解码成压缩格式或域,例如,解码成仍使用帧内或帧间预测压缩的帧。视频解码器14可执行帧内或帧间预测以将帧解压缩到像素域,例如包含与每一像素位置相关联的像素值的帧。
解码器14进一步包括FRUC单元22,其可使用运动补偿帧代换(例如,运动补偿帧内插或外插)而产生至少一个额外帧(例如图1的帧Ft′)。尽管本发明中在运动补偿帧代换的上下文中进行描述,但是所述技术可与具有或不具有运动补偿的其它类型的帧代换(例如,帧平均化)一起利用。因此,本发明的技术应不限于在运动补偿帧代换期间的边界伪影的校正。在运动补偿帧代换的上下文中描述技术仅为了说明的目的。图1中将经解码的视频帧和经代换的视频帧表示为输出视频帧26。视频解码器14可输出视频帧26以驱动显示器装置(图1中未展示)。
帧Ft′为未曾由视频编码器12编码或在经由信道19发射期间丢失的帧Ft的近似。以此方式,视频解码器14可将实际帧速率(或帧译码速率)转换为增加的帧速率。所述过程有时称作帧速率上转换(FRUC)。实际上,解码器14可产生额外视频单元以将由视频编码器12产生的实际帧速率增加到经上转换的帧速率。作为一实例,如果由视频编码器12(利用或不利用帧跳过)产生的实际帧速率为30fps,则解码器14可经配置以(例如)通过内插或外插代换额外帧以将有效帧速率从30fps增加到60fps或120fps。实际上,用额外帧代换已跳过的帧或在视频编码器12的基本帧译码速率较大的情况下可能已被包括的帧。如上文所描述,由视频编码器12产生的帧速率可归因于小于源视频速率的基本帧速率(作为信道19的减小的带宽要求的结果)和/或(例如)通过任选跳过单元20进行的对一些帧的任选跳过而小于所要帧速率。
当经由内插产生代换帧Ft′时,视频解码器14可使用可用作参考帧的至少一个先前帧和至少一个将来帧来产生帧Ft′。当经由外插(而非内插)产生额外帧Ft′时,视频解码器14使用在时间上位于帧Ft′之后的一个或一个以上参考帧或在时间上位于帧Ft′之前的一个或一个以上参考帧来产生帧Ft′。在任一情况下,由解码器14采用的帧代换近似得出所跳过的帧或其它排除的帧的内容。
在一些例子中,帧代换可在经解码的视频流中产生视觉伪影。举例来说,如果视频序列的帧包括沿视频帧的顶部、底部和/或至少一侧的边界,则帧代换可在边界处引入振动、闪烁和/或块化(blockiness)。视频序列的帧可包括绕帧的周边的至少一部分延伸的单色(例如黑色)边界。可在视频流的格式转换(例如,从MPEG-1视频流转换到H.264视频流)期间产生所述边界。举例来说,在边界转换期间,可改变图像大小。如果使图像大小变小,则可将一些黑色或其它颜色像素添加到帧以调整帧的大小以配合特定图像大小。所述黑色或其它颜色像素可作为单一条纹添加于帧的一侧上或对称地添加于帧的所有侧上,因此在帧内产生“边界”。
在运动补偿帧代换的情况下,使用运动向量的内插或外插可在代换帧中产生视觉伪影。如果(例如)边界存在于一个或一个以上参考帧中,则使用依据一个或一个以上参考帧中的运动向量产生的运动向量来产生代换帧中的边界。在一些例子中,经内插或外插的运动向量可针对包括边界的像素块(块)的每一者而具有不同量值和/或方向。因为不针对代换帧发射残余数据,所以代换帧内的边界可不与一个或一个以上参考帧内的边界相同。替代地,代换帧中的边界可具有比一个或一个以上参考帧中的边界厚的宽度,比一个或一个以上参考帧中的边界薄的宽度,或厚度沿边界变化。举例来说,块的每一者的不同运动向量可致使代换帧中的边界在一些位置处(例如,代换帧的一些块内)在代换帧内延伸较远,且在其它位置(例如,代换帧的其它块)处在代换帧中不延伸得足够远。结果,在视频回放期间,边界看起来好像在振动,此可导致较不合意的观看体验。尽管运动补偿内插可产生边界伪影,但是其它内插/外插技术还可引入边界伪影。举例来说,在时间帧平均化的情况下,如果参考帧具有具十个像素宽度的边界,且当前帧具有具12个像素宽度的宽度的边界。则经内插的帧可能具有一些问题。此并非由运动补偿产生,而是由时间平均化产生。
本发明描述用于不管边界位置是沿帧的边缘还是在帧内而校正在代换帧的边界处出现的伪影的技术。根据本发明的技术,视频解码器14可识别代换帧内对应于边界伪影的位置且校正所述边界伪影。在一个方面中,视频解码器14可基于边界伪影的类型而不同地处置代换视频帧内的边界伪影。
为此,FRUC单元22可识别至少两种不同类型的边界伪影。在一个实例中,FRUC单元22可识别代换帧内的与存在于用于产生代换帧的参考帧内的边界对应的第一位置。这些第一位置可称为“实际边界位置”,因为所述位置对应于实际上存在于参考视频帧内的边界。例如当边界未归因于运动补偿预测而在代换帧中延伸得足够远时,实际边界位置可与边界伪影对应。换句话说,实际边界位置中的边界伪影对应于存在于参考帧中而不存在于代换帧中的边界。
FRUC单元22还可识别代换帧内的与存在于代换视频帧内但不存在于用于产生代换帧的参考视频帧内的边界对应的第二位置。这些第二位置可称为“假边界位置”,因为所述位置对应于不存在于参考视频帧内但传播到代换帧中(例如,归因于运动补偿内插)的边界。例如当运动补偿预测使边界在代换帧内比在参考帧内延伸较远时,假边界位置可与边界伪影对应。换句话说,假边界位置中的边界伪影对应于不存在于参考帧中但存在于代换帧中的边界。
FRUC单元22可使用第一边界伪影校正技术来校正实际边界位置处的边界伪影,且使用第二边界伪影校正技术来校正假边界位置处的边界伪影。因为实际边界位置对应于应该存在边界的位置(因为边界存在于一个或一个以上参考视频帧中),所以FRUC单元22可用参考帧中的至少一者内的对应位置替换代换帧的实际边界位置。举例来说,FRUC单元22可将实际边界位置内的像素的像素值设定为等于参考帧中的一者内的对应位置处的像素的像素值。以此方式,FRUC单元22(例如)在内插或外插代换帧的像素值之后在像素域中执行边界伪影校正。作为另一实例,FRUC单元22可将与位于实际边界位置内的代换帧的块相关联的运动向量设定为等于零,且(例如)通过复制参考帧内的对应位置处的块而在使用运动补偿进行解压缩期间校正边界伪影。由此,第一边界伪影校正技术可替代地(例如)在内插或外插代换帧的像素值之前在压缩域中发生。
FRUC单元22可使用第二边界伪影校正技术来校正假边界位置。可在像素域或压缩域中执行第二边界伪影校正技术。在像素域中,FRUC单元22可使用一个或一个以上参考帧内的一个或一个以上像素或从经内插的帧内的已经内插的像素确定假边界位置内的像素中的每一者的替换像素值。举例来说,FRUC单元22可通过平均化参考帧中的一者中的两个像素的像素值来计算代换帧的假边界位置内的像素的每一者的替换像素值,所述两个像素位于与在代换帧中经替换的像素相同的行中且紧邻参考帧中的边界。在压缩域(例如,在内插或外插代换帧的像素值之前)中,FRUC单元22可通过选择性地选择帧内预测模式和使用选定帧内预测模式内插代换帧来校正代换帧的假边界位置内的边界伪影。
尽管将在沿视频帧的顶部、底部和/或侧出现的边界的上下文中描述本发明的技术,但是本发明的技术可用于校正位于视频帧内的边界的边界伪影。可(例如)使用各种视频编辑技术组合两个或两个以上的视频序列,使得边界可存在于视频帧内,而非沿视频帧的外周边。在子母画面的情况下,例如,边界可为位于帧内的正方形边界,例如在帧的右上角。
在图1的实例中,FRUC单元22经展示于视频解码器14内。在其它实施中,FRUC单元22可形成视频后处理模块(图1中未展示)的部分。视频后处理模块可处理视频解码器14的输出,且可执行多种处理操作,例如平滑化、锐化、亮度控制,和/或对比度增强,以及上文关于FRUC单元22描述的FRUC操作。作为另一替代方案,FRUC单元22可形成视频显示器处理器或移动显示器处理器(MDP)装置(例如,用于移动多媒体装置)的部分。因此,FRUC单元22在视频解码器14内的实施是为了说明的目的而在图1和其它图中描绘,且不应认为限制本发明中广泛描述的技术。
***10可经配置以用于视频电话、视频串流、视频广播等。可在信道19的相反端上提供互逆的编码、解码、多路复用(MUX)和解多路复用(DEMUX)组件。在一些实施方案中,视频编码器12和视频解码器14可提供于例如无线移动终端的视频通信装置内,所述视频通信装置经配备用于视频串流、视频广播接收,和/或视频电话(例如,所谓的无线视频电话或相机电话)。
所述无线通信装置包括用以支持无线通信、音频译码、视频译码和用户接口特征的各种组件。举例来说,无线通信装置可包括一个或一个以上处理器、音频/视频编码器/解码器(编解码器)、存储器、一个或一个以上调制解调器、发射-接收(TX/RX)电路(例如,放大器、频率转换器、滤波器等)。另外,无线通信装置可包括图像和音频俘获装置、图像和音频输出装置、相关联驱动器、用户输入媒体等。
视频编码器12、视频解码器14或所述两者可并入于如上文所描述的无线或有线通信装置中。而且,视频编码器12、视频解码器14或所述两者可实施为集成电路装置,例如集成电路芯片或芯片组,其可并入于无线或有线通信装置中或支持数字视频应用的另一类型的装置(例如数字媒体播放器、个人数字助理(PDA)、数字电视等)中。
***10可根据会话起始协议(SIP)、ITU-T H.323标准、ITU-T H.324标准或其它标准而支持视频电话。视频编码器12可根据例如MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264或MPEG-4第10部分的视频压缩标准而产生经编码的视频数据。尽管图1中未展示,但视频编码器12和视频解码器14可分别与音频编码器和解码器集成,且包括适当硬件和软件组件以处置数据流的音频和视频部分。
再次,尽管参考视频帧描述本发明的技术,但是所述技术可应用于多种其它类型的视频单元,例如切片、块或子块。然而,本发明将为了说明的目的而大体上描述将所述技术应用于视频帧,但不限制本发明中广泛描述的所述技术的方面。
图2A为说明用于在视频解码器14中内插额外帧的技术的实例的图。帧中的每一者可包括多个像素块,有时称为宏块。一般来说,为了将经内插的帧Ft′中的宏块(MB)28内插于选定先前帧Ft-N与选定将来帧Ft+M之间,视频解码器14可依赖于在先前帧Ft-N中的MB 30与将来帧Ft+M中的对应MB 32之间延伸的运动向量vNM。在此实例中,时间t指示时间位置,即,待内插的额外帧将出现于视频序列中的时间。帧Ft-N和Ft+M分别为在时间上领先于需要内插的额外帧Ft′(t-N)和落后于额外帧Ft′(t+M)的帧。在图2A的实例中,帧Ft-N和Ft+M用作用于内插额外帧Ft′的参考帧。
N和M指示相对于时间t的时间偏移,且可彼此相等或不相等。举例来说,如果N=1且M=2,则帧Ft-N可为直接在经内插的帧之前的帧,且帧Ft+M可为在经内插的帧之后的第二帧。在N=1且M=1的简单实例中,对于内插,在帧Ft-N与帧Ft+M之间延伸的向量vNM可除以2(对于1∶2帧速率转换)以产生运动向量vNM/2和-vMN/2且识别待内插的帧Ft′中的对应MB 28。因此,在此简化的实例中,MB 28的位置为运动向量vNM/2和-vMN/2的函数,其中为了此实例的目的,N=1且M=1。从Ft+m到Ft的运动向量不必为-vNM/2,其可为vNM的经处理的版本,即,-vNM′/2。MB 28可经指派对应于MB 30或MB 32的一组像素值,或MB 30和32的像素值的平均值,或MB 30和32的像素值的经线性或非线性滤波的版本。对于较高或较低帧上转换,例如,1∶X转换,运动向量将被相应地缩放。对于其它情况(例如,N和M中的至少一者不等于一),可使用经由运动估计和运动向量处理获得的不同运动向量。
另外,对于一些类型的内插,FRUC单元22可依赖于多个参考帧,例如两个或两个以上的先前帧和两个或两个以上的将来帧。一般来说,参考帧是指单独地或与一个或一个以上其它参考帧组合使用以内插帧(例如跳过的帧)的帧。在内插过程中,与存在于一个或一个以上参考帧中的宏块相关联的像素值可用于内插待内插的额外帧中的对应宏块中的像素值,例如,如图2A中所展示。像素值可包括亮度和/或色度像素值。
作为一个实例,经内插的宏块可包括等于先前帧中的宏块中的像素值、将来帧中的宏块中的像素值,或先前和将来帧中的对应宏块中的像素值的平均值的像素值。经内插帧中的宏块可相对于参考视频帧中的对应块而经运动补偿,如图2A中所展示。可通过在先前帧与将来帧之间延伸的运动向量来识别宏块,如图2A中所展示。图2A中所展示的内插的说明为一个实例,且不应认为限制本发明中广泛描述的技术。广泛种类的不同内插技术可用于根据本发明的帧代换。
图2B为说明在视频解码器14中外插额外帧的技术的实例的图。在图2B的实例中,将两个先前参考帧Ft-M和Ft-N用于外插额外帧Ft′以支持帧代换。一般来说,为了将帧Ft′中的MB 31外插于选定先前帧Ft-N和选定先前帧Ft-M之后,视频解码器14可依赖于在先前帧Ft-N中的对应MB 33与先前帧Ft-M中的对应MB 35之间延伸的向量v。在此实例中,t指示时间位置,即,待外插的额外帧将出现于视频序列中的时间。帧Ft-N和Ft-M分别为在时间上领先于需要外插的额外帧Ft′(t-N)和(t-M)的帧。在图2B的实例中,先前参考帧Ft-N和Ft+M用作用于外插额外帧Ft′的参考帧。然而,两个以上的先前参考帧或一个或一个以上将来参考帧可用于外插额外帧Ft′。换句话说,可分别使用先前帧或将来帧向前或向后外插额外帧。
与图2A的实例中一样,图2B中的N和M指示相对于时间t的时间偏移,且可彼此相等或不相等。举例来说,如果N=2且M=1,则帧Ft-M可为直接在经外插的帧之前的帧,且帧Ft-N可为在经外插的帧之前两个帧的帧。MB 31可经指派对应于MB 33或MB 35的一组像素值,或MB 33和35的像素值的平均值。与内插的情况一样,对于外插,参考帧可指单独地或与一个或一个以上其它参考帧组合使用以外插待添加到经解码视频帧的额外帧的帧。
外插可通过从参考帧中的对应块外插运动向量v而经运动补偿,如图2B中所展示。在外插过程中,与存在于一个或一个以上参考帧中的MB相关联的像素值可用于外插在待外插的额外帧中的对应MB中的像素值。图2B中所展示的外插的说明为一个实例,且不应认为限制本发明中广泛描述的技术。广泛多种不同外插技术可用于根据本发明的帧代换。
图3A和图3B为说明包括边界的实例视频帧的图。具体来说,图3A说明实例参考视频帧40,其包括沿参考帧40的左侧的边界44,且图3B说明使用参考帧40,使用运动补偿帧代换(例如,运动补偿内插或外插)而产生的实例代换帧42。
视频帧40、42可经分割成多个像素块,有时称为宏块或块。在图3A和图3B中所说明的实例中,视频帧40、42经分割成像素块的八行和八列。由此,视频帧40、42中的每一者包括六十四个像素块。视频帧40、42可包括更多或更少的像素块。像素块通常表示视频帧内的像素的连续部分。举例来说,块可表示帧的8像素乘8像素(8x8)区域。然而,块可对应于其它尺寸的区域,例如4x4、4x8、8x4、8x16、16x8、16x16或其它尺寸。尽管在图3A和图3B中所说明的实例帧40、42中,所有块具有相同大小(例如,8x8块),但是帧40、42的块可具有不同的块大小。
图3A的参考视频帧40包括沿帧40的左侧的至少一部分延伸的边界44。在图3A中所说明的实例中,边界44沿帧40的整个左侧(即,从顶部到底部)延伸。然而,在其它实例中,边界44可仅沿帧40的左侧的一部分(例如,上半部分或下半部分)延伸。还可沿帧40的顶部、底部和右侧的至少一部分提供边界,但在图3A中为了易于说明而未展示所述边界。边界44可为单色边界,例如黑色边界。换句话说,在边界44内的像素可全部具有大体上相同的像素值以产生单色边界。边界44具有一长度和一宽度。在图3A中所说明的实例中,边界44具有等于帧的整个侧的长度和等于第一列的块的块宽度的大致四分之一的宽度。对于具有8x8尺寸的块,例如,边界44的长度等于六十四个像素,且边界44的宽度等于两个像素。参考帧40的边界44的宽度沿边界的整个长度大体上相同。然而,边界44可具有任何长度或宽度。
运动补偿帧代换使用运动补偿(例如,运动向量)以产生代换帧42。为了产生代换帧42,例如,可依据在先前帧与后续帧之间延伸的运动向量(例如,如图2A的内插实例中所说明)或依据在两个或两个以上先前帧之间延伸的运动向量(例如,如图2B的外插实例中所说明)为代换帧42的块产生运动向量。在一些例子中,为代换帧42产生的运动向量可具有不同量值和/或方向,其在用于内插或外插中时产生代换帧42内的边界46,所述边界46的厚度沿边界变化,如图3B中所说明。
如图3B中所展示,代换帧42中的边界46可在代换帧42内在一些位置处比在其它位置处延伸更远,因此产生具有不同厚度的边界。沿代换帧42的块的第一列,例如,在第一、第三和第五行中的块内的边界46的部分具有与参考帧40的边界44相同的边界宽度,例如,大致为块宽度的四分之一。然而,与参考帧40的边界44的宽度相比,代换帧42的第一列块中的其它块具有较厚边界宽度或较薄边界宽度。举例来说,代换帧42的第一列的第四行的块根本不具有任何边界,在参考帧40中却并非如此。作为另一实例,代换帧42的第一列的第二和第六行块内的边界46的部分具有等于块的大致二分之一的边界宽度,且代换帧42的第一列的第七行块内的边界的部分具有为块的大致四分之三的边界宽度,其分别为参考帧40中的对应块的边界宽度的大约两倍和三倍。代换帧42的第一列的第八行块内的边界46的部分具有大于第八行块的边界宽度。换句话说,代换帧42的第一列的第八行块的全部像素为边界像素以及代换帧42的第二列和第八行中的块的像素的大约八分之一。
当帧40、42被显示为帧序列时,在视频回放期间归因于参考帧40的边界44从代换帧42的边界46显著变化,边界看起来好像在振动。所述结果可为较不合意的观看体验。本发明中所描述的边界伪影校正技术可减少(如果消除不了的话)代换帧42内的边界伪影。事实上,在大多数情况下,边界伪影可被完全校正。换句话说,边界伪影校正技术校正边界伪影,使得代换帧42内的边界大体上与参考帧40的边界44类似。
尽管在图3A和图3B中所说明的实例中,边界44沿帧40、42的左侧延伸,但是帧40、42内的边界44可另外或替代地存在于帧40、42的其它位置中,如上文所提及。举例来说,边界可沿帧40、42的顶部,帧40、42的底部,帧40、42的右侧或其组合而存在。此外,例如在子母画面或两个视频序列的视频编辑的情况下,边界可存在于帧40、42内。
图4为更详细地说明图1的视频解码器14的实例的方框图。在图4的实例中,视频解码器14包括解码单元50、帧代换单元52和输出帧缓冲器54。帧代换单元52根据本发明校正代换帧内的边界伪影。帧代换单元52可形成视频解码器14的FRUC单元22的部分。在图4的实例中,帧代换单元52驻留于视频解码器14内。然而,在其它实施方案中,帧代换单元52可驻留于视频解码器14外,例如,在视频后处理器模块或视频显示器处理器或MDP装置内。
视频解码器14(例如)从帧缓冲器(图4中未展示)获得从发射信道19接收的帧。解码单元50使用可应用的译码过程解码所接收的帧,且将经解码的帧置于输出帧缓冲器54中。在图4中所说明的实例中,视频解码器50包括熵解码单元58、反量化单元60、反变换单元62、预测单元64和加法器66。
熵解码单元58获得经编码的视频帧(例如,所接收的帧24(图1)),且熵解码所接收的视频帧24以获得每一帧(或每一帧的部分,例如,切片)的多个块的残余信息和标头信息。熵解码单元58可使用一个或一个以上熵译码技术(例如,可变长度译码、算术译码、上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC),或其它熵译码技术)来解码所接收的帧24。如上文所描述,可呈一个或一个以上量化残余系数的形式的残余信息量化了预测视频块与由视频编码器12编码的原始视频块之间的差异。标头信息可包括产生预测视频块必需的信息,例如使用帧间预测还是帧内预测、用于帧内预测的帧内预测模式、用于帧间预测的一个或一个以上运动向量,等。
解码单元50通过产生并组合预测视频块和残余视频块而重新建构视频块的每一者。对于每一经帧间预测的块,预测单元64从熵解码单元58获得一个或一个以上运动向量和(例如)从输出帧缓冲器54获得一个或一个以上经重新建构的视频帧,且产生经运动补偿预测块。对于每一经帧内预测的块,预测单元64获得帧内预测模式和同一帧的一个或一个以上经重新建构的视频块作为经帧内预测的块,且根据帧内预测模式产生预测块。
解码单元50可通过将残余信息提供到反量化单元60以反量化(即,解量化)经量化的残余系数并提供到反变换单元62以应用反变化(例如,反DCT或反4x4或8x8整数变换)而产生残余块。加法器66将由预测单元64产生的预测块与由反变换单元62输出的残余块相加以形成经重新建构的视频块。经重新建构的视频块存储于输出帧缓冲器54中。
所接收的帧24可不包括待内插或外插的各种帧。所述帧可包括曾由视频编码器12跳过的帧、曾不由视频编码器12的基本帧速率支持的帧,和/或曾在经由信道19进行发射期间丢失的帧或帧的部分。为了提升空间时间质量,帧代换单元52可经配置以(例如)经由内插或外插产生一个或一个以上额外视频帧。
帧代换单元52将代换帧添加到视频输出帧缓冲器54以增强经重新建构的视频的空间时间质量。帧代换单元52可从解码单元50接收帧以在(例如)经由内插或外插执行帧代换中用作参考帧。帧代换单元52可使用从解码单元50接收的参考帧来产生用于(例如)经由运动补偿内插或外插的帧代换的额外帧。作为一说明,帧代换单元52可使用在先前帧与将来帧之间延伸的运动向量来内插待添加的代换帧中的块,例如,如图2A中所展示。作为另一说明,帧代换单元52可使用在两个或两个以上先前帧之间延伸的运动向量来外插待添加的代换帧中的块,例如,如图2B中所展示。
如上文所描述,帧代换,且特定来说,运动补偿帧代换可在代换帧中引入边界伪影,其导致沿视频序列中的边界的视觉伪影,例如边界振动、闪烁或块化。举例来说,运动补偿内插或外插可致使围绕代换帧的周边(或周边的部分)的边界比围绕一个或一个以上参考帧中的周边的边界厚或薄,或代换帧中的边界的厚度可沿边界变化,例如,如上文关于图3A和图3B所描述。换句话说,代换帧内的边界与一个或一个以上参考帧内的边界不相同。
为了改进视频的视觉质量,当边界存在于参考帧中时,帧代换单元52可校正代换帧内的边界伪影。如果无边界存在于参考帧中,则,帧代换单元52可不执行边界伪影校正。替代地,帧代换单元52可使用常规帧代换技术(例如内插或外插)产生额外帧。因此,在一些例子中,可仅在于参考帧中发现边界的情况(例如,沿参考帧的顶部、底部、左侧或右侧,或在一些情况下,在参考帧内(并非沿参考帧的周边))下执行边界伪影校正。
帧代换单元52可识别代换帧内的对应于边界伪影的位置且校正经识别的位置内的边界伪影。帧代换单元52可包括识别包括边界伪影的位置的边界伪影识别单元68。边界伪影识别单元68可识别代换帧内的称为实际边界位置的第一位置,其对应于边界存在于参考视频帧内且应存在于代换帧内的位置。在一些例子中,实际边界位置可包括由运动补偿帧代换产生的边界伪影。举例来说,实际边界位置可包括归因于运动补偿预测而移除了边界或边界在代换帧中未延伸得足够远的边界伪影,例如,如图3B中的块的第四行和第一列的块中所说明。
边界伪影识别单元68还可识别在代换帧内的称为假边界位置的第二位置,其对应于边界存在于代换帧中但不存在于参考帧中的位置。假边界位置包括由运动补偿内插产生的边界伪影,例如在代换帧中比在参考帧中的对应边界位置延伸得更远的边界,例如,如在图3B中块的第一列的第二、第六、第七行和块的第一和第二列的第八行的块中所说明。
边界伪影识别单元68可使用与代换帧的块相关联的运动向量和/或存在于参考帧内的边界的宽度来识别实际边界位置和假边界位置。如关于图2A和图2B详细地描述,可使用一个或一个以上参考帧内插或外插代换帧。具体来说,帧代换单元52可依据与一个或一个以上参考帧相关联的运动向量来计算代换帧的块的运动向量,且使用经计算的运动向量来产生代换帧。举例来说,在使用在时间上位于代换帧之前的第一参考帧和在时间上位于代换帧之后的第二参考帧进行内插的情况下,帧代换单元52可产生用于代换帧的块的等于在第一参考帧与第二参考帧之间延伸的运动向量的二分之一的运动向量。
为了识别实际和假边界位置,边界伪影识别单元68分析沿边界的像素块。举例来说,在边界沿帧的左周边或右周边定位的情况下,边界伪影识别单元68可分别分析沿帧的左侧上的列或沿帧的右手侧上的列的像素。另一方面,在边界沿顶部或底部周边定位的情况下,边界伪影识别单元68可分别分析沿帧的顶部上的行或沿帧的底部上的行的像素。
边界伪影识别单元68可(例如)分析与块相关联的运动向量以确定块内是否存在任何边界伪影。为了识别帧的块中的边界伪影,边界伪影识别单元68针对与左边界或右边界对应的块的每一者而分析与块相关联的运动向量的x分量,且针对与顶部边界或底部边界对应的块的每一者而分析与块相关联的运动向量的y分量。
对于沿左边界或右边界的块,如果块的运动向量具有等于零的x分量,则边界伪影识别单元68确定不存在边界伪影。同样,对于沿顶部或底部边界的块,如果块的运动向量具有等于零的y分量,则边界伪影识别单元68确定不存在边界伪影。这是因为边界将不会经由运动补偿在块内传播得更远。替代地,代换帧的块将为来自参考帧的对应块的副本。
如果块的运动向量的相应分量(例如,左边界和右边界的x分量,和顶部和底部边界的y分量)具有非零量值,则边界伪影识别单元68识别块内的实际和/或假边界位置。在一个方面中,边界伪影识别单元68可将块的第一部分识别为实际边界位置且将块的第二部分识别为假边界位置。
举例来说,对于沿帧的左侧定位的边界,边界伪影识别单元68可将块的像素之前W列识别为实际边界位置,其中W等于参考帧内的边界的宽度(以像素计)。如果(例如)块的运动向量的x分量具有正量值,则边界伪影识别单元68可将等于正量值且邻近于实际边界位置的块的像素的许多列识别为假边界位置。在此情况下,正量值运动向量指向参考帧中的位于负x方向上的块。如果(例如)边界为左边界且运动向量的x分量等于MVx,则边界伪影识别单元68可将第W+1到W+MVx列识别为假边界位置。如果(例如)边界为左边界且块的运动向量的x分量具有负量值,则边界伪影识别单元68可不将块内的任何像素识别为属于假边界位置。这是因为边界将不会归因于运动补偿而在帧内传播得更远。尽管在上文所描述的实例中,运动向量的x分量的正量值经描述为与朝向视频帧的右侧的运动对应,且运动向量的x分量的负量值经描述为与朝向视频帧的左侧的运动对应,但是可使用不同运动向量量值(正负号)惯例。举例来说,将运动向量的x分量的正量值描述为与朝向视频帧的左侧的运动对应,且将运动向量的x分量的负量值描述为与朝向视频帧的右侧的运动对应。
对于沿帧的右侧定位的边界,边界伪影识别单元68分析不同块且不同地使用相关联的运动向量的x分量。边界伪影识别单元68可将代换帧的像素的最后W列(即,第N到N-W列)识别为实际边界位置,其中W等于参考帧的边界的宽度(以像素计)且N等于像素的列的总数目。如果块的运动向量的x分量具有负量值,则边界伪影识别单元68可将等于负量值且邻近于实际边界位置的像素的许多列识别为假边界位置。如果(例如)边界为右边界且运动向量的x分量等于-MVx,则边界伪影识别单元68可将第N-W-1到N-W-MVx列识别为假边界位置。如果边界为右边界且块的运动向量的x分量具有正量值,则边界伪影识别单元68可不将块内的任何像素识别为属于假边界位置。这是因为边界将不会归因于运动补偿而在帧内传播得更远。边界伪影识别单元68可以类似方式使用与块相关联的运动向量的y分量来识别沿顶部和底部边界的实际和假边界位置。
在其它方面中,边界伪影识别单元68可将整个块识别为实际边界位置或假边界位置,而非如上文所描述将块的部分识别为实际边界位置或假边界位置。如果块包括对应于参考帧的边界位置的任何像素,则边界伪影识别单元68可将所述块分类为实际边界位置。举例来说,如果边界为具有W个像素的宽度的左边界,则边界伪影识别单元68可将包括前W列像素中的任何像素的块识别为实际边界位置。如果W等于七,且代换帧的块为4x4块,则边界伪影识别单元68将前两列4x4块识别为实际边界位置。换句话说,W经舍入到用于运动补偿的基本单元的大小的最近倍数,例如,对于NxN的基本单元或块大小,宽度W经舍入到N的最近倍数。在上文的4x4块大小实例中,为七的W值经舍入到八,使得两列块经识别为实际边界位置。视运动补偿的基本单元的大小而定,可发生不同的舍入。举例来说,如果运动补偿的基本单元的大小为2x2块,则边界的宽度W经舍入到二的最近倍数。在2x2块的情况下,为七的W仍然经舍入到八,但结果为四列2x2块经识别为实际边界位置。作为另一实例,如果基本运动补偿单元为8x8,为5的W值经舍入到8,使得单列8x8块经识别为实际边界位置。如果不受任何视频架构限制,则舍入可不为必要的。然而,为了利用视频处理器的运动补偿模块,舍入取决于视频处理器/解码器的基本运动补偿单元。
因此,如果边界的至少一个像素对应于参考帧中的边界的位置,则甚至包括不对应于参考帧中的边界的一些像素的块还可能经分类为实际边界位置。边界伪影识别单元68可使用上取整函数确定经识别为实际边界位置的块的列数目,如关于图5更详细地描述。
在一些例子中,边界伪影识别单元68可将不具有与参考帧中的边界对应的任何像素的块表征为实际边界位置。如果参考帧中的边界的边界宽度为块大小的倍数,则边界伪影识别单元68可将邻近块识别为实际边界位置。此可为(例如)使用帧内预测校正假边界伪影所必要的,如下文详细地描述。举例来说,例如,在4x4块的情况下,即使边界仅延伸经过三列块,具有12个像素宽度的左边界或右边界也可导致四列块经识别为实际边界位置。
当与块相关联的运动向量致使边界传播到不包括对应于参考帧中的边界位置的任何像素的块中时,边界伪影识别单元68可将块识别为假边界位置。用于识别对应于伪影的假边界位置(在此情况中为块)的实例可阐释如下。对于视频单元的左边界,边界伪影识别单元68从视频单元的左侧开始按行处理每一块。假定K表示一行中经分析的块的数目(即,块1到K经分析),且R为块的行的总数目。对于块1到K中的每一者,边界伪影识别单元68获得与块相关联的运动向量。边界伪影识别单元68计算将从参考帧获取的块(例如,在使用与代换帧的块相关联的运动向量进行运动补偿期间获得的块)的左角的水平像素坐标。如果水平像素坐标小于左边界宽度,则边界伪影识别单元68将此块识别为假边界位置。换句话说,边界伪影识别单元68将所述块识别为需要(例如)经由帧内预测或其它像素替换方法进行的伪影校正的位置。另外,边界伪影识别单元68可在伪影位置图中(例如)用“1”标记块的对应位置,从而指示对应于图上的所述位置的块需要边界伪影校正。边界伪影识别单元68可移动到同一行中的下一块且重复相同过程,直到所述行的全部K个块已经分析。在分析第一行的K个块之后,边界伪影识别单元68可分析下一行中的K个块,直到全部行已经分析。在全部行已经分析之后,边界伪影识别单元68可移动到右边界(如果右边界存在)。
对于右边界,边界伪影识别单元68遵循类似程序。边界伪影识别单元68可处理一行中处于视频单元的右边界中的最后P个块。对于每一块,边界伪影识别单元68首先获得块的运动向量。边界伪影识别单元68接着计算将在运动补偿期间从参考帧取得的块的右角的水平像素坐标。如果水平像素坐标大于右边界的开始坐标(例如,右边界的最左坐标),则边界伪影识别单元68将块识别为需要伪影校正的区域且在位置图中用“1”标记块的对应位置。边界伪影识别单元68可移动到同一行中的先前块且针对P个块重复所述分析。在分析第一行的P个块之后,边界伪影识别单元68可分析下一行中的P个块,直到全部R行已经分析。在全部行已经分析之后,边界伪影识别单元68可移动到北部(或顶部)边界(如果北部(或顶部)边界存在)。
对于北部边界,边界伪影识别单元68遵循类似程序。边界伪影识别单元68可开始处理一列中处于视频单元的北侧中的每一块。假设T表示一列中经分析的块的数目,且C为块的列的总数目。边界伪影识别单元68处理一列中处于视频单元的北部边界中的前T个块。对于每一块,边界伪影识别单元68可首先获得块的运动向量。边界伪影识别单元68可计算将在运动补偿期间从参考帧取得的块的底部的垂直像素坐标。如果垂直像素坐标大于顶部边界的最底部或最南部边界坐标,则边界伪影识别单元68将所述块识别为需要伪影校正的区域且在位置图中用“1”标记块的对应位置。边界伪影识别单元68可移动到同一列中的下一块且重复相同过程,直到所述列的T个块已经分析。在全部C列的T个块经分析之后,边界伪影识别单元68可移动到南部边界(如果南部边界存在)。
类似地,在南部边界中,对于每一块,边界伪影识别单元68可首先获得块的运动向量。边界伪影识别单元68可计算将在运动补偿期间从参考帧取得的块的北部(顶部)的垂直像素坐标。如果垂直像素坐标小于南部边界的最顶部或最北部边界坐标,则边界伪影识别单元68可将此块识别为需要伪影校正的区域且在位置图中用“1”标记块的对应位置。边界伪影识别单元68可移动到同一列中的下一块且重复相同过程,直到所述列的B个块已经分析。
上文所描述的过程为可如何识别假边界位置的一个实例。不应认为所述过程限制本文所描述的技术。举例来说,假边界识别不取决于识别伪影的次序。换句话说,所述过程可开始于南部边界、北部边界、左边界或右边界。可使用其它假边界位置识别技术。举例来说,边界伪影识别单元68可基于与块相关联的运动向量(替代像素坐标或除像素坐标外)来识别边界位置。如果边界为左边界(例如)且运动向量的x分量等于正MVx,则当MVx大于用于识别实际边界位置的上取整函数的输出乘以块大小的结果时,边界伪影识别单元68可将邻近于正经分析的当前块的块识别为假边界位置。
帧代换单元52使用本发明的技术校正经识别的位置以产生大体上类似于参考帧的边界的在代换帧内的边界,借此保持边界的时间连续性且移除边界的振动。帧代换单元52包括校正代换帧内的边界伪影的边界伪影校正单元73。边界伪影校正单元73可包括分别校正实际边界位置和假边界位置中的边界伪影的实际边界校正单元70和假边界校正单元72。在一些例子中,边界校正单元70、72可在像素域中校正经识别的位置中的边界伪影。换句话说,边界校正单元70、72可逐像素地调整经识别的位置内的像素值。
举例来说,为了校正代换帧中的实际边界位置(即,与存在于用于产生代换帧的参考帧内且应存在于代换帧内的边界对应的位置)中的伪影,实际边界校正单元70可用来自参考帧中的对应位置的像素值替换代换帧中的实际边界位置内的像素值的每一者。实际上,实际边界校正单元70将参考帧的边界复制到代换帧的边界中。作为另一实例,实际边界校正单元70可将实际边界位置的像素值的每一者设定为等于与参考帧中的边界的颜色相关联的像素值。
为了在像素域中校正假边界位置,假边界校正单元72可使用一个或一个以上参考帧的一个或一个以上像素值来计算假边界位置(即,与存在于代换视频帧内且不存在于用于产生代换帧的参考视频帧内的边界对应的位置)内的像素的每一者的替换像素值。在一些例子中,假边界校正单元72将假边界位置内的像素的每一者的替换像素值计算为参考帧中的两个像素的像素值的平均值,所述两个像素位于与代换帧的正经替换的像素行对应的行中且紧邻参考帧中的边界。
举例来说,对于具有四个像素的宽度的左边界,假边界校正单元72可通过对与参考帧的第一行的第五和第六像素(其紧邻边界)相关联的像素值求平均而计算代换帧的第一行的第五像素的替换像素值。同样,假边界校正单元72可通过对与参考帧的第二行的第五和第六像素相关联的像素值求平均而计算代换帧的第二行的第五像素的替换像素值,等等。假边界校正单元72可通过使用来自参考帧的更多或更少的像素值、使用来自像素帧内的不同位置(例如,不同行或列)的像素值或使用来自参考帧的像素值与代换帧的先前经计算的像素值的组合,来计算替换像素。以此方式,帧代换单元52可使用第一校正技术校正实际边界位置中的边界伪影且使用第二校正技术校正假边界位置中的边界伪影,以在代换帧中产生大体上与参考帧中的边界相同的边界。
在其它例子中,帧代换单元52可(例如)在为代换帧产生像素值之前在压缩域中校正经识别的位置。如上文所描述,在压缩域中的经识别的位置可为整个像素块,而非块的像素的部分。对于代换帧中经识别为实际边界位置的块(例如包括经确定为对应于参考帧的边界的至少一个像素的块),实际边界校正单元70可通过将与块相关联的运动向量设定为零而校正边界伪影。将与块相关联的运动向量设定为等于零致使帧代换单元52通过复制参考帧中的对应块以使用运动补偿产生额外帧的块而产生代换帧中的块。由此,在使用运动补偿建构额外帧之后,代换帧中对应于实际边界位置的块将具有与参考帧的边界相同的边界。
为了在压缩域中校正假边界位置(例如,包括对应于在代换帧内且不存在于参考帧中的边界的块的至少一个像素但不包括对应于参考帧的边界的任何像素的块),假边界校正单元72可通过选择帧内预测模式和使用选定帧内预测模式确定块的像素值来校正伪影。举例来说,在4x4块的情况下,假边界校正单元72可选择可用于译码技术中的帧内预测模式中的一者。例如对于H.264,假边界校正单元72可选择如下九个帧内预测模式中的一者:垂直模式、水平模式、DC模式、右下对角模式、左下对角模式、垂直右模式、水平下模式、垂直左模式和水平上模式。以此方式,视频解码器14可识别至少两种不同类型的边界伪影且以不同方式校正边界伪影。
在一些方面中,边界伪影预测单元56可能够在像素域或压缩域中校正边界伪影。在此情况下,边界伪影校正单元56可自适应地选择在像素域还是在压缩域中校正边界伪影,例如,以实现最佳的质量-功率权衡。在像素域中校正边界伪影可比在压缩域中校正边界伪影产生更好的质量。然而,在压缩域中校正边界伪影不需要存取特定像素数据且可使用较少功率消耗和MIPS来执行。作为一个实例,边界伪影校正单元73可在不存在可用于帧内预测的因果像素(causal pixel)时在像素域中执行边界伪影校正,且在因果像素可用于帧内预测时在压缩域中执行边界伪影校正。
视频输出帧缓冲器54中的经解码的帧和代换帧可用于驱动例如显示器的视频输出装置(图4中未展示)。作为一实例,视频解码器14可形成包括数字视频能力的多种装置中的任一者的部分,所述装置包括例如移动无线电电话的无线通信装置、数字媒体播放器、个人数字助理(PDA)、数字电视等。或者,可将输出帧缓冲器54中的帧发射到一个或一个以上其它装置以用于存档或显示。在任一情况下,由帧代换单元52产生的代换帧补充由解码单元50解码的帧,例如,以增强视频剪辑的暂时视觉质量。
图5为说明根据本发明的技术的帧代换单元52校正代换帧中的边界伪影的实例操作的流程图。帧代换单元52可确定边界存在于参考帧中(80)。边界可存在于参考帧的周边的至少一部分周围(例如,沿帧的顶部、底部、左侧和/或右侧)。替代地或额外地,边界可存在于参考帧内其它地方,例如,不沿周边,如在包括经编辑在一起的一个以上视频序列的帧的情况或子母画面情形中。
在识别参考帧内的边界之后,边界伪影识别单元68识别代换帧内的称为实际边界位置的第一位置,其对应于边界存在于参考视频帧内且应存在于代换帧内的位置(82)。实际边界位置可包括由运动补偿帧代换产生的伪影。举例来说,实际边界位置可包括归因于运动补偿预测而移除了边界或边界在代换帧中未延伸得足够远的边界伪影,例如,如图3B中的块的第四行和第一列的块中所说明。
边界识别单元68可基于参考帧内的边界的宽度来识别代换帧内的实际边界位置。在一个方面中,边界识别单元68可分析每一块且基于参考帧内的边界的宽度而将块的部分识别为实际边界位置。作为一实例,如果参考帧中的边界沿参考帧的左侧定位,则边界伪影识别单元68可将代换帧中的块的第一列的块的前W列像素识别为实际边界位置,其中W等于参考帧内的边界的宽度(以像素计)。在另一方面中,边界识别单元68可将整个块识别为实际边界位置,即使所述块包括不对应于参考帧内的边界的像素。举例来说,如果参考帧中的边界为左边界,则边界伪影识别单元68可使用上取整函数(例如,上取整(x,y))计算代换帧中的处于实际边界位置的块的列的数目。上取整函数的输出将x除以y的结果舍入到下一最大整数值。举例来说,(7,4)的上取整=2。因此,例如,在4x4块的情况下,具有七个像素的边界宽度的左边界或右边界使得两列块经识别为实际边界位置。
在一些例子中,边界伪影识别单元68可将不具有与参考帧中的边界对应的任何像素的块表征为实际边界位置。如果参考帧中的边界的边界宽度为块大小的倍数,则边界伪影识别单元68可将邻近块识别为实际边界位置。此可为(例如)使用帧内预测校正假边界伪影所必要的,如下文详细地描述。举例来说,例如,在4x4块的情况下,即使边界仅延伸经过三列块,具有12个像素宽度的左边界或右边界也可导致四列块经识别为实际边界位置。
边界伪影识别单元68还可识别代换帧内的称为假边界位置的第二位置,其对应于边界存在于代换帧中但不存在于参考帧中的位置(84)。假边界位置包括由运动补偿内插产生的边界伪影,例如在代换帧中比在参考帧中的对应边界位置延伸得更远的边界,例如,如在图3B中块的第一列的第二、第六、第七行和第八行的块中所说明。
边界伪影识别单元68可基于参考帧内的边界的宽度和与块相关联的经估计、经内插或经处理的运动向量来识别代换帧内的假边界位置。在一个方面中,边界伪影识别单元68可分析每一块且基于参考帧内的边界的宽度和相应块的运动向量来将块的一部分识别为假边界位置。如果(例如)边界为左边界且运动向量的x分量等于MVx,则边界伪影识别单元68可将第W+1到W+MVx列识别为假边界位置,其中W为参考帧中的边界的宽度。在另一方面中,边界伪影识别单元68可将整个块识别为假边界位置。当与块相关联的运动向量致使边界传播到不包括对应于参考帧中的边界的位置的任何像素的块中时,边界伪影识别单元68可将块识别为假边界位置。举例来说,如果边界为左边界,则当在运动补偿期间从参考帧取得的块的左角的水平像素坐标小于左边界宽度时,边界伪影识别单元68将块识别为假边界位置。
实际边界校正单元70校正实际边界位置中的边界伪影(86)。在一些例子中,实际边界校正单元70在像素域中校正经识别的实际边界位置中的边界伪影。举例来说,为了校正代换帧中的实际边界位置中的伪影,实际边界校正单元70可用来自参考帧中的对应位置的像素值替换代换帧中的实际边界位置内的像素值的每一者。以此方式,将参考帧的边界复制到代换帧的边界中。在其它例子中,实际边界校正单元70在压缩域中校正实际边界位置中的边界伪影。举例来说,实际边界校正单元70可通过将与经识别为实际边界位置的块相关联的运动向量设定为等于零和使用那些运动向量执行运动补偿来校正边界伪影。
假边界校正单元72校正假边界位置中的边界伪影(88)。为了在像素域中校正假边界位置,假边界校正单元72可使用一个或一个以上参考帧的一个或一个以上像素值计算假边界位置内的像素的每一者的替换像素值。举例来说,假边界校正单元72可将假边界位置内的像素的每一者的替换像素值计算为参考帧中的两个像素的像素值的平均值,所述两个像素位于与代换帧的正经替换的像素相同的行中且紧邻参考帧中的边界。为了(例如)在压缩域中校正假边界位置,假边界校正单元72选择帧内预测模式且使用选定帧内预测模式确定块的像素值。除了H.264帧内预测之外或与H.264帧内预测分开地,还可使用不同空间内插技术来校正假边界伪影。
图6A和图6B为帧代换单元52校正沿经识别的边界的一行和/或一列像素的边界伪影的实例操作的流程图。尽管图6A和图6B中所说明的实例展示沿单行和/或单列的边界伪影校正,但是可对多行和/或多列执行所述技术。可基于参考帧中的边界的宽度来确定行或列的数目。
最初,帧代换单元52检测用于帧代换的参考帧内的边界(90)。帧代换单元52确定边界是否沿参考帧的左侧延伸,即,是否为左边界(92)。如果参考帧中的边界沿参考帧的左侧延伸,即,为左边界,则帧代换单元52设定变量j=1且选择被代换帧的块MB(1,j)(94、96)。块MB(1,j)为位于第一列和第j行的块。因为j最初经设定为等于1,所以所选定的第一块为被代换帧的第一列和第一行的块。
帧代换单元52确定与块MB(1,j)相关联的运动向量的x分量(MVx)是否等于零(98)。在一些例子中,可(例如)经由内插或外插依据与一个或一个以上参考帧相关联的运动向量计算与块MB(1,j)相关联的运动向量。当帧代换单元52确定与被代换帧的块MB(1,j)相关联的运动向量的x分量不等于零时,帧代换单元52确定与被代换帧的块MB(1,j)相关联的运动向量的x分量大于零(100)。如果帧代换单元52确定与被代换帧的块MB(1,j)相关联的运动向量的x分量大于零,则帧代换单元52执行假边界校正(102)。可在像素域或压缩域中执行假边界校正,如本发明中详细地描述。
在执行假边界校正之后或当与块MB(1,j)相关联的运动向量的x分量小于零时,帧代换单元52执行实际边界校正(104)。与假边界校正一样,可在像素域或压缩域中执行实际边界校正,如本发明中详细地描述。以此方式,帧代换单元52执行使用不同边界伪影校正技术来校正不同类型的边界伪影。举例来说,使用实际边界校正技术中的一者来校正与实际边界位置相关联的边界伪影,且使用假边界校正技术中的一者来校正与假边界位置相关联的边界伪影。
在实际边界校正之后或当与块相关联的运动向量的x分量等于零时,帧代换单元52确定与块MB(2,j)相关联的运动向量的x分量是否等于零(106)。块MB(2,j)为位于第二列和第j行的块。换句话说,块MB(2,j)为在水平方向上紧邻块MB(1,j)的块。当与块MB(2,j)相关联的运动向量的x分量不等于零时,帧代换单元52确定在运动补偿期间从参考帧取得的块的左侧的水平x坐标(“块的X”)是否小于左边界的右侧的x坐标(“边界的X”)(108)。如果帧代换单元52确定在运动补偿期间从参考帧取得的块的左侧的x坐标(“块的X”)小于左边界的右侧的x坐标,则帧代换单元52为块MB(2,j)执行假边界校正(110)。图6A仅分析且校正一行的第一和第二块(例如,块MB(1,j)和块MB(2,j))中的边界伪影。然而,所述技术可分析且校正更多行的块,例如,块MB(3,j)、块MB(4,j)、......、块MB(C,j),其中C等于帧的列的数目。
当与块MB(2,j)相关联的运动向量的x分量等于零时,在运动补偿期间从参考帧取得的块的左侧的x坐标(“块的X”)不小于左边界的右侧的x坐标,或在块MB(2,j)的假边界校正之后,帧代换单元52确定变量j是否等于N,其中N为第一列的块的数目(112)。当j不等于N时,帧代换单元52将变量j加1(114)且以上文所描述的方式处理块MB(1,j)。帧代换单元52继续处理左列中的块,直到j等于N,即,不再存在剩余的要处理的块。
当j等于N或在块(92)处确定边界不为左边界时,帧代换单元52确定边界是否沿参考帧的右侧延伸,即,是否为右边界(116)。如果帧代换单元52确定参考帧中的边界沿参考帧的右侧延伸,即,为右边界,则帧代换单元52设定变量j=1且选择被代换帧的块MB(M,j)(118、120)。块MB(M,j)为位于第M列和第j行的块。因为j最初被设定为等于1,所以所选定的第一块为代换帧的最后一列和第一行的块。
帧代换单元52确定与块MB(M,j)相关联的运动向量的x分量(MVx)是否等于零(122)。在一些例子中,可(例如)经由内插或外插依据与一个或一个以上参考帧相关联的运动向量计算与块MB(M,j)相关联的运动向量。当帧代换单元52确定与被代换帧的块MB(M,j)相关联的运动向量的x分量不等于零时,帧代换单元52确定与被代换帧的块MB(M,j)相关联的运动向量的x分量小于零(124)。如果帧代换单元52确定与被代换帧的块MB(M,j)相关联的运动向量的x分量小于零,则帧代换单元52执行假边界校正(126)。可在像素域或压缩域中执行假边界校正,如本发明中详细地描述。
在执行假边界校正之后或当与块MB(M,j)相关联的运动向量的x分量大于零时,帧代换单元52执行实际边界校正(128)。与假边界校正一样,可在像素域或压缩域中执行实际边界校正,如本发明中详细地描述。以此方式,帧代换单元52执行使用不同边界伪影校正技术来校正不同类型的边界伪影。举例来说,使用实际边界校正技术中的一者来校正与实际边界位置相关联的边界伪影,且使用假边界校正技术中的一者来校正与假边界位置相关联的边界伪影。
在实际边界校正之后或当与块相关联的运动向量的x分量等于零时,帧代换单元52确定与块MB(M-1,j)相关联的运动向量的x分量是否等于零(130)。块MB(M-1,j)为位于倒数第二列和第j行的块。换句话说,块MB(M-1,j)为在负水平方向上紧邻块MB(M,j)的块。当与块MB(M-1,j)相关联的运动向量的x分量不等于零时,帧代换单元52确定在运动补偿期间从参考帧取得的块的右侧的水平x坐标(“块的X”)是否大于右边界的左侧的x坐标(“边界的X”)(132)。如果帧代换单元52确定在运动补偿期间从参考帧取得的块的右侧的水平x坐标(“块的X”)大于右边界的左侧的x坐标(“边界的X”),则帧代换单元52为块MB(M-1,j)执行假边界校正(134)。
当与块MB(M-1,j)相关联的运动向量的x分量等于零时,在运动补偿期间从参考帧取得的块的右侧的水平x坐标(“块的X”)不大于右边界的左侧的x坐标(“边界的X”),或在假边界校正之后,帧代换单元52确定变量j是否等于N,其中N为第一列的块的数目(136)。当j不等于N时,帧代换单元52将变量j加1(138)且循环回而以上文所描述的方式处理下一块MB(M,j)。帧代换单元52继续处理最后(例如,右)列中的块,直到j等于N,即,不再存在剩余的要处理的块。
参看图6B,当j等于N或在块(116)处确定边界不为右边界时,帧代换单元52确定边界是否沿参考帧的顶部延伸,即,是否为顶部边界(140)。如果帧代换单元52确定参考帧中的边界沿参考帧的顶侧延伸,即,为顶部边界,则帧代换单元52设定变量i=1且选择被代换帧的块MB(i,1)(142、144)。块MB(i,1)为位于第i列和第1行的块。因为i最初经设定为等于1,所以所选定的第一块为代换帧的第一列和第一行的块。
帧代换单元52确定与块MB(i,1)相关联的运动向量的y分量(MVy)是否等于零(146)。在一些例子中,可(例如)经由内插或外插依据与一个或一个以上参考帧相关联的运动向量计算与块MB(i,1)相关联的运动向量。当帧代换单元52确定与被代换帧的块MB(i,1)相关联的运动向量的y分量不等于零时,帧代换单元52确定与被代换帧的块MB(i,1)相关联的运动向量的y分量大于零(148)。如果帧代换单元52确定与被代换帧的块MB(i,1)相关联的运动向量的y分量大于零,则帧代换单元52执行假边界校正(150)。可在像素域或压缩域中执行假边界校正,如本发明中详细地描述。
在执行假边界校正之后或当与块MB(i,1)相关联的运动向量的y分量小于零时,帧代换单元52执行实际边界校正(152)。与假边界校正一样,可在像素域或压缩域中执行实际边界校正,如本发明中详细地描述。以此方式,帧代换单元52执行使用不同边界伪影校正技术来校正不同类型的边界伪影。举例来说,使用实际边界校正技术中的一者来校正与实际边界位置相关联的边界伪影,且使用假边界校正技术中的一者来校正与假边界位置相关联的边界伪影。
在实际边界校正之后或当与块相关联的运动向量的y分量等于零时,帧代换单元52确定与块MB(i,2)相关联的运动向量的y分量是否等于零(154)。块MB(i,2)为位于第i列和第二行的块。换句话说,块MB(i,2)为在垂直向下方向上紧邻块MB(i,1)的块。当与块MB(i,2)相关联的运动向量的y分量不等于零时,帧代换单元52确定在运动补偿期间从参考帧取得的块的顶部侧的垂直y坐标(“块的Y”)是否小于顶部边界的底部侧的y坐标(“边界的Y”)(156)。如果帧代换单元52确定在运动补偿期间从参考帧取得的块的顶部侧的垂直y坐标(“块的Y”)小于顶部边界的底部侧的y坐标(“边界的Y”),则帧代换单元52为块MB(i,1)执行假边界校正(158)。
当与块MB(i,2)相关联的运动向量的y分量等于零时,在运动补偿期间从参考帧取得的块的顶部侧的垂直y坐标(“块的Y”)不小于顶部边界的底部侧的y坐标(“边界的Y”),或在假边界校正之后,帧代换单元52确定变量i是否等于M,其中M为第一行的块的数目(160)。当i不等于M时,帧代换单元52将变量j加1(162)且以上文所描述的方式处理块MB(i,1)。帧代换单元52继续处理顶部行中的块,直到i等于M,即,不再存在剩余的要处理的块。
当i等于M或在块(140)处确定边界不为顶部边界时,帧代换单元52确定边界是否沿参考帧的底部延伸,即,是否为底部边界(163)。如果帧代换单元52确定参考帧中的边界沿参考帧的底部延伸,即,为底部边界,则帧代换单元52设定变量i=1且选择代换帧的块MB(i,N)(164、165)。块MB(i,N)为位于第i列和第N行的块。因为i最初经设定为等于1,所以所选定的第一块为代换帧的第一列和最后一行的块。
帧代换单元52确定与块MB(i,N)相关联的运动向量的y分量(MVy)是否等于零(166)。在一些例子中,可(例如)经由内插或外插依据与一个或一个以上参考帧相关联的运动向量计算与块MB(i,N)相关联的运动向量。当帧代换单元52确定与被代换帧的块MB(i,N)相关联的运动向量的y分量不等于零时,帧代换单元52确定与被代换帧的块MB(i,N)相关联的运动向量的y分量小于零(168)。如果帧代换单元52确定与代换帧的块MB(i,N)相关联的运动向量的y分量小于零,则帧代换单元52执行假边界校正(170)。可在像素域或压缩域中执行假边界校正,如本发明中详细地描述。
在执行假边界校正之后或当与块MB(i,N)相关联的运动向量的y分量大于零时,帧代换单元52执行实际边界校正(172)。与假边界校正一样,可在像素域或压缩域中执行实际边界校正,如本发明中详细地描述。以此方式,帧代换单元52使用不同边界伪影校正技术来校正不同类型的边界伪影。举例来说,可使用实际边界校正技术中的一者来校正与实际边界位置相关联的边界伪影,且使用假边界校正技术中的一者来校正与假边界位置相关联的边界伪影。
在实际边界校正之后或当与块相关联的运动向量的y分量等于零时,帧代换单元52确定与块MB(i,N-1)相关联的运动向量的y分量是否等于零(174)。块MB(i,N-1)为位于第i列和倒数第二行的块。换句话说,块MB(i,N-1)为在负垂直向上方向上紧邻块MB(i,N-1)的块。当与块MB(i,N-1)相关联的运动向量的y分量不等于零时,帧代换单元52确定在运动补偿期间从参考帧取得的块的底部侧的垂直y坐标(“块的Y”)是否大于底部边界的顶部侧的y坐标(“边界的Y”)(156)。如果帧代换单元52确定在运动补偿期间从参考帧取得的块的底部侧的垂直y坐标(“块的Y”)大于底部边界的顶部侧的y坐标(“边界的Y”),则帧代换单元52为块MB(i,N)执行假边界校正(178)。
当与块MB(i,N-1)相关联的运动向量的y分量等于零时,在运动补偿期间从参考帧取得的块的底部侧的垂直y坐标(“块的Y”)大于底部边界的顶部侧的y坐标(“边界的Y”),或在假边界校正之后,帧代换单元52确定变量i是否等于M,其中M为第一行的块的数目(180)。当i不等于M时,帧代换单元52将变量i加1(182)且以上文所描述的方式处理块MB(i,N)。帧代换单元52继续处理底部行中的块,直到i等于M,即,不再存在剩余的要处理的块。
图7为说明帧代换单元52在像素域中执行假边界替换的实例操作的流程图。如上文所描述,执行假边界伪影校正以校正与假边界位置(例如,对应于未存在于参考视频帧内但归因于运动补偿内插而传播到被代换帧中的边界的位置)相关联的边界伪影。
边界伪影识别单元68最初识别被代换帧的像素块内的假边界位置(190)。如上文详细地描述,边界伪影识别单元68可使用边界的宽度和与块相关联的运动向量的值来识别假边界位置。在(例如)左边界的情况下,假边界位置可包括从start_x开始且结束于end_x的块中的像素的列,其中start_x和end_x可通过等式来界定:
start_x=Left_B_width+1                                             (1)
end_x=Left_B_width+1+mv_x,                                        (2)
其中,Left_B_width为左边界的边界宽度,且mv_x为与像素的块相关联的运动向量的x分量。由此,块中的像素的每一行包括在假边界位置内的end_x-start_x+1个像素。假边界位置中的像素的总数目等于(end_x-start_x+1)*v_block_size,其中v_block_size为块的垂直尺寸。
假边界校正单元72用替换像素值替换假边界位置内的像素的像素值中的每一者。在一个方面中,假边界校正单元72可通过将x坐标(x)设定为等于start_x且将y坐标(y)设定为等于一来替换假边界位置内的像素值(192)。假边界校正单元72确定假边界位置内的像素的替换像素值psub(x,y)(194)。假边界校正单元72可(例如)使用以下等式确定位于位置(x,y)处的像素的替换像素值:
psub(x,y)=(pref(end_x+1,y)+pref(end_x+2,y))/2,                            (3)
其中,psub(x,y)为位于代换帧内的位置(x,y)处的像素的替换像素值,pref(end_x+1,y)为位于参考帧中的位置(end_x+1,y)处的像素的像素值,且pref(end_x+2,y)为位于参考帧中的位置(end_x+2,y)处的像素的像素值。如上文所描述,pref(end_x+1,y)和pref(end_x+2,y)为位于参考帧的与代换帧中待替换的像素相同的行中且紧邻参考帧中的边界的像素的像素值。换句话说,替换像素值被计算为分别在参考帧中的边界之后的第一像素和第二像素的像素值(pref(end_x+1,y)和pref(end_x+2,y))的平均值。假边界校正单元72可使用其它技术确定位于位置(x,y)处的像素的替换像素值,所述其它技术例如为由等式(4)和(5)表示的技术:
psub(x,y)=pref(end_x+1,y)                                         (4)
psub(x,y)=(K1*pref(end_x+1,y)+K2*pref(end_x+2,y)),              (5)
其中,K1和K2为系数。换句话说,等式(4)表示将边界之后的第一像素的像素值用于每一替换像素,且等式(5)表示将像素值的加权和用于替换像素值。
假边界校正单元72用替换像素值替换假边界位置内的选定像素的像素值(196)。假边界校正单元72确定x是否等于end_x(198)。当x不等于end_x(其指示当前行中存在需要被替换的像素值)时,假边界校正单元72将x加1(200)且确定沿所述行的下一像素的替换像素值。
如果x等于end_x(其指示假边界位置的行中不存在需要被替换的剩余像素值),则假边界校正单元72确定y是否等于垂直维度中的块大小(v_block_size)(202)。当y不等于垂直维度中的块大小(v_block_size)(其指示在至少一个其它列中存在需要被替换的像素值)时,假边界校正单元72将y加1(204)且将x设定为等于start_x(206)。假边界校正单元72接着确定沿下一行的像素的替换像素值。如果y等于v_block_size(其指示不存在假边界位置的需要被替换的剩余像素值),则假边界校正单元72将经校正的代换帧的像素值存储到输出帧缓冲器(208)。
图8为说明帧代换单元52在像素域中执行实际边界替换的实例操作的流程图。如上文所描述,执行实际边界伪影校正以校正与实际边界位置(例如,对应于确实存在于参考视频帧内且应存在于被代换帧中的边界的位置)相关联的边界伪影。
边界伪影识别单元68识别被代换帧的像素的块内的实际边界位置(210)。边界伪影识别单元68可使用参考帧中的边界的宽度来识别实际边界。在(例如)参考帧内的左边界的情况下,边界伪影校正可将被代换帧中的块的像素的最左b_width数目个列识别为实际边界位置。实际边界替换单元70可设定变量x=1且设定变量y=1,其中x和y分别为像素的在x方向和y方向上的位置坐标(212)。
实际边界替换单元70将实际边界位置内的像素的像素值psub(x,y)设定为等于参考帧内的对应位置处的像素的像素值pref(x,y)(214)。实际边界校正单元70确定x是否等于边界宽度(b_width)(216)。当x不等于边界宽度(b_width)(其指示实际边界位置中存在需要被替换的像素值)时,实际边界校正单元70将x加1(218)。实际边界校正单元70继续将实际边界位置内的所述行像素的像素值设定为等于参考帧内的对应位置处的像素的像素值,直到x等于边界宽度(b_width)。
当x等于边界宽度(b_width)时,实际边界校正单元70确定y是否等于块的块大小(block_size)(220)。如果y不等于块的块大小(block_size)(其指示实际边界位置中存在需要被替换的至少一个剩余像素行),则实际边界校正单元70将y加1(222)且将x设定为等于一(224)。实际边界校正单元70接着确定沿下一行的像素的替换像素值。如果y等于block_size(其指示实际边界位置中不存在需要被替换的剩余像素值),则实际边界替换单元70将像素值存储于输出帧缓冲器中(226)。
图9为说明帧代换单元52在压缩域中执行实际边界替换的实例操作的流程图。边界伪影识别单元68最初识别代换帧内的实际边界位置(230)。在压缩域中,实际边界位置可为经识别为包括对应于存在于参考帧内的边界的至少一个像素的块。举例来说,假定存在沿含有多个4x4块的帧的左侧的边界且边界具有七个像素的宽度,边界伪影检测模块18将前两列4x4块的块的每一者识别为实际边界位置。与像素域(其中仅块的像素的一部分经确定为实际边界位置)不同,认为整个块为实际边界位置,即使所述块的像素中的一些实际上不对应于参考帧的边界。在以上实例中,即使第二列的4x4块仅包括对应于存在于参考帧中的边界的三列像素,也将整个块确定为实际边界位置。
实际边界校正单元70将与实际边界伪影的块相关联的运动向量设定为等于零(232)。帧代换单元52使用与块相关联的运动向量产生经识别为实际边界位置的块(234)。因为曾在伪影校正期间将与块相关联的运动向量设定为零,所以所述块为参考帧的对应块的副本。
图10为说明帧代换单元52在压缩域中执行假边界替换的实例操作的流程图。边界伪影识别单元68最初识别假边界位置(240)。在压缩域中,假边界位置可为经识别以包括对应于存在于被代换帧内(例如,归因于运动补偿内插)但不存在于参考帧中的边界的至少一个像素的块。不将包括对应于参考帧中的实际边界的至少一些像素的块分类为假边界位置,即使所述帧包括假边界伪影。这是因为,将在实际边界伪影校正期间(例如)通过将块的运动向量设定为等于零而校正块中的假边界伪影。
实际边界校正单元70为经识别为假边界位置的块选择帧内预测模式(242)。帧代换单元52使用选定帧内预测模式执行帧内预测以产生经识别为假边界位置的块(244)。为经识别为假边界位置的块选择的帧内预测模式可视边界的位置而定,例如,边界沿帧的顶部、底部、左侧还是右侧。因为H.264中的帧内预测需要存在用于预测的因果像素(例如,相邻块的像素),所以可使用不同帧内预测模式校正不同边界位置。
举例来说,帧内预测可用于沿帧的底部(即,南部)或右侧定位的边界,因为存在那些4x4块的因果相邻者。然而,对于沿帧的顶部(即,北部)和左侧的边界位置,4x4块因果相邻者为黑色边界,且从黑色边界的预测将会使黑色区域传播到4x4块中。如果假边界位置沿帧的底部或顶部,则可选择帧内4x4垂直模式用于校正。如果假边界位置沿帧的左侧或右侧,则可选择帧内4x4水平模式用于校正。然而,可选择其它模式用于校正。
图11A到图11C为说明在压缩域中的校正的各种阶段之后的代换帧的图。图11A说明包括在帧代换期间(例如,在运动补偿期间)产生的边界伪影的代换帧。如图11A所说明,代换帧的两个块包括在帧内比在其它位置处延伸得更远的边界。
图11B说明在于压缩域中执行实际边界校正之后的代换帧。如上文所描述,实际边界校正单元70可通过将与经识别为实际边界位置的块相关联的运动向量设定为等于零而校正实际边界位置。在于压缩域中的实际边界校正期间,从参考帧复制代换帧中的第一列块,使得沿代换帧中的第一列块的边界与参考帧中的第一列块相同。然而,如图11B中所说明,在第二列、第四和第五行的块内仍有假边界伪影。
为了校正这些假边界伪影,假边界校正单元72为所述块选择帧内预测模式。在应用为所述块选择的帧内预测模式之后,假边界伪影经移除以获得图11C中所说明的代换帧,其具有大体上类似于从其产生所述代换帧的参考帧的边界的边界。
可以硬件、软件、固件或其任何组合来实施本文中所描述的技术。描述为模块、单元或组件的任何特征可一起实施于集成逻辑装置中或单独实施为离散但可相互操作的逻辑装置。在一些方面中,各种特征可经实施为集成电路装置,例如集成电路芯片或芯片组。如果以软件来实施,则可至少部分地由包含在执行时致使处理器执行上述方法中的一者或一者以上的指令的计算机可读媒体来实现所述技术。
所述计算机可读媒体可形成计算机程序产品的部分,其可包括封装材料。计算机可读媒体可包含计算机数据存储媒体,例如随机存取存储器(RAM)、同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。替代地或额外地,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体以指令或数据结构的形式来载运或传送代码且可由计算机存取、读取和/或执行。
代码或指令可由一个或一个以上处理器执行,例如一个或一个以上DSP、通用微处理器、ASIC、现场可编程逻辑阵列FPGA或其它等效集成或离散逻辑电路。因此,本文中所使用的术语“处理器”可指代上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所描述的功能性可提供于专用软件模块或硬件模块内。本发明还预期包括用以实施本发明中描述的技术中的一者或一者以上的电路的多种集成电路装置中的任一者。所述电路可提供于单个集成电路芯片中或提供于所谓的芯片组中的多个、可相互操作的集成电路芯片中。所述集成电路装置可用于多种应用中,所述应用中的一些可包括在无线通信装置(例如移动电话手持机)中的使用。
已描述所揭示的技术的各种方面。这些和其它方面在所附权利要求书的范围内。

Claims (52)

1.一种方法,其包含:
分析代换视频单元以识别所述代换视频单元的包括边界伪影的位置;以及
校正所述代换视频单元的所述经识别位置中的所述边界伪影。
2.根据权利要求1所述的方法,
其中分析代换视频单元以识别所述代换视频单元的包括边界伪影的位置包含:
识别所述代换视频单元内的包括第一边界伪影的第一位置,所述第一边界伪影与存在于参考视频单元内且不存在于所述代换视频单元中的边界对应;
识别所述代换视频单元内的包括第二边界伪影的第二位置,所述第二边界伪影与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应;
其中校正所述经识别位置中的所述边界伪影包含:
使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影;以及
使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
3.根据权利要求2所述的方法,其中校正所述第一和第二位置中的边界伪影包含在像素域中校正所述第一和第二位置中的边界伪影。
4.根据权利要求3所述的方法,
其中校正所述第一位置中的边界伪影包含用大体上类似于所述参考视频单元内所存在的所述边界的像素值的像素值替换所述代换视频单元的所述第一位置内的像素的像素值,且
其中校正所述第二位置中的边界伪影包含用被计算为邻近于所述参考视频单元中所存在的所述边界的一个或一个以上像素值的平均值的像素值替换所述第二位置内的像素的像素值。
5.根据权利要求4所述的方法,其中替换所述代换视频单元的所述第一位置内的像素的像素值包含以下各项中的一者:用所述参考视频单元中的对应位置内的像素值的副本替换所述代换视频单元的所述第一位置内的像素的所述像素值;或用预确定的边界像素值替换所述代换视频单元的所述第一位置内的像素的所述像素值。
6.根据权利要求2所述的方法,其中校正所述第一和第二位置中的边界伪影包含在内插或外插所述代换视频单元的所述像素值之前校正所述第一和第二位置中的边界伪影。
7.根据权利要求6所述的方法,
其中校正所述第一位置中的边界伪影包含:
将与所述第一位置的相应块相关联的运动向量设定为等于零,以及
使用与所述相应块相关联的所述运动向量针对所述第一位置的所述块执行帧间预测,且
其中校正所述第二位置中的边界伪影包含:
为所述代换帧的所述第二位置的块选择帧内预测模式,和
使用所述选定帧内预测模式执行帧内预测。
8.根据权利要求2所述的方法,其中识别所述代换视频单元内的所述第一位置包含:
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的W列像素识别为所述第一位置;以及
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的W行像素识别为所述第一位置,
其中W为存在于所述参考视频单元内的所述边界的宽度。
9.根据权利要求8所述的方法,其中识别所述代换视频单元内的所述第二位置包含:
当MVx不等于零时,将所述代换帧的邻近于所述W列像素的MVx列像素识别为所述第二位置,其中MVx为所述相应块的所述运动向量的x分量;以及
当MVy不等于零时,将所述代换帧的邻近于所述W行像素的MVy行像素识别为所述第二位置,其中MVy为所述相应块的所述运动向量的y分量。
10.根据权利要求2所述的方法,其中识别所述代换视频单元内的所述第一位置包含:
计算L=上取整(W,N),其中所述上取整函数输出W/N的下一最大整数,其中W为所述参考帧中的所述边界的宽度,且N为沿x方向的块大小;
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的L列块识别为所述第一位置;以及
计算K=上取整(W,M),其中所述上取整函数输出W/M的下一最大整数,其中W为所述参考帧中的所述边界的所述宽度,且M为沿y方向的块大小,
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的K行像素识别为所述第一位置。
11.根据权利要求10所述的方法,其中识别所述代换视频单元内的所述第一位置进一步包含:
当W为N的倍数时,将邻近于所述L列块的一列块识别为第一边界位置;以及
当W为M的倍数时,将邻近于所述K行块的一行块识别为第一边界位置。
12.根据权利要求10所述的方法,其中识别所述代换视频单元内的所述第二位置包含:
基于所述块的x坐标和所述边界位置的x坐标而将邻近于所述L列块的一列块的至少一部分识别为第二边界位置;以及
基于所述块的y坐标和所述边界位置的y坐标而将邻近于所述K行块的一行块的至少一部分识别为第二边界位置。
13.根据权利要求2所述的方法,
其中所述第一位置包含实际边界位置,且
其中所述第二位置包含假边界位置。
14.根据权利要求1所述的方法,其中分析代换视频单元以识别所述代换视频单元的包括边界伪影的位置包含:不识别所述代换视频单元的包括所述边界中的像素且不包括边界伪影的位置。
15.根据权利要求1所述的方法,其进一步包含使用运动补偿内插和运动补偿外插中的一者来产生所述代换视频单元。
16.根据权利要求1所述的方法,其中所述代换视频单元包含代换视频帧、代换视频切片或代换视频块中的一者。
17.一种设备,其包含:
边界伪影识别单元,其分析代换视频单元以识别所述代换视频单元的包括边界伪影的位置;以及
边界伪影校正单元,其校正所述代换视频单元的所述经识别位置中的所述边界伪影。
18.根据权利要求17所述的设备,
其中所述边界伪影识别单元:识别所述代换视频单元内的包括第一边界伪影的第一位置,所述第一边界伪影与存在于参考视频单元内且不存在于所述代换视频单元中的边界对应;以及识别所述代换视频单元内的包括第二边界伪影的第二位置,所述第二边界伪影与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应;且
其中所述边界伪影校正单元使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影,且使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
19.根据权利要求18所述的设备,其中所述边界伪影校正单元在像素域中校正所述第一和第二位置中的边界伪影。
20.根据权利要求19所述的设备,其中所述边界伪影校正单元:
用大体上类似于所述参考视频单元内所存在的所述边界的像素值的像素值替换所述代换视频单元的所述第一位置内的像素的像素值,以及
用被计算为邻近于所述参考视频单元中所存在的所述边界的一个或一个以上像素值的平均值的像素值替换所述第二位置内的像素的像素值。
21.根据权利要求20所述的设备,其中所述边界伪影校正单元通过以下操作来替换所述代换视频单元的所述第一位置内的像素的像素值:用所述参考视频单元中的对应位置内的像素值的副本替换所述代换视频单元的所述第一位置内的像素的所述像素值;或用预确定的边界像素值替换所述代换视频单元的所述第一位置内的像素的所述像素值。
22.根据权利要求18所述的设备,其中所述边界伪影校正单元在内插或外插所述代换视频单元的所述像素值之前校正所述第一和第二位置中的边界伪影。
23.根据权利要求22所述的设备,其中所述边界伪影校正单元:
将与所述第一位置的相应块相关联的运动向量设定为等于零,以及
使用与所述相应块相关联的所述运动向量针对所述第一位置的所述块执行帧间预测,以及
为所述代换帧的所述第二位置的块选择帧内预测模式,以及
使用所述选定帧内预测模式执行帧内预测。
24.根据权利要求18所述的设备,其中所述边界伪影识别单元:
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的W列像素识别为所述第一位置;且
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的W行像素识别为所述第一位置,其中W为存在于所述参考视频单元内的所述边界的宽度。
25.根据权利要求24所述的设备,其中所述边界伪影识别单元:
当MVx不等于零时,将所述代换帧的邻近于所述W列像素的MVx列像素识别为所述第二位置,其中MVx为所述相应块的所述运动向量的x分量;以及
当MVy不等于零时,将所述代换帧的邻近于所述W行像素的MVy行像素识别为所述第二位置,其中MVy为所述相应块的所述运动向量的y分量。
26.根据权利要求18所述的设备,其中所述边界伪影识别单元:
计算L=上取整(W,N),其中所述上取整函数输出W/N的下一最大整数,其中W为所述参考帧中的所述边界的宽度,且N为沿x方向的块大小;
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的L列块识别为所述第一位置;以及
计算K=上取整(W,M),其中所述上取整函数输出W/M的下一最大整数,其中W为所述参考帧中的所述边界的所述宽度,且M为沿y方向的块大小,
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的K行像素识别为所述第一位置。
27.根据权利要求26所述的设备,其中所述边界伪影识别单元:
当W为N的倍数时,将邻近于所述L列块的一列块识别为第一边界位置;以及
当W为M的倍数时,将邻近于所述K行块的一行块识别为第一边界位置。
28.根据权利要求26所述的设备,其中所述边界伪影识别单元:
基于所述块的x坐标和所述边界位置的x坐标而将邻近于所述L列块的一列块的至少一部分识别为第二边界位置;以及
基于所述块的y坐标和所述边界位置的y坐标而将邻近于所述K行块的一行块的至少一部分识别为第二边界位置。
29.根据权利要求18所述的设备,
其中所述第一位置包含实际边界位置,且
其中所述第二位置包含假边界位置。
30.根据权利要求18所述的设备,其中所述边界伪影识别单元不识别所述代换视频单元的包括所述边界中的像素且不包括边界伪影的位置。
31.根据权利要求18所述的设备,其进一步包含使用运动补偿内插和运动补偿外插中的一者来产生所述代换视频单元。
32.根据权利要求18所述的设备,其中所述代换视频单元包含代换视频帧、代换视频切片或代换视频块中的一者。
33.根据权利要求18所述的设备,其中所述设备包含无线通信装置。
34.根据权利要求18所述的设备,其中所述设备包含集成电路。
35.一种计算机可读媒体,其包含在执行时致使至少一个处理器执行以下操作的指令:
分析代换视频单元以识别所述代换视频单元的包括边界伪影的位置;以及
校正所述代换视频单元的所述经识别位置中的所述边界伪影。
36.根据权利要求35所述的计算机可读媒体,
其中用以分析代换视频单元的指令包含用以执行以下操作的指令:
识别所述代换视频单元内的包括第一边界伪影的第一位置,所述第一边界伪影与存在于参考视频单元内且不存在于所述代换视频单元中的边界对应;
识别所述代换视频单元内的包括第二边界伪影的第二位置,所述第二边界伪影与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应;
其中用以校正所述经识别位置中的所述边界伪影的指令包含用以执行以下操作的指令:
使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影;以及
使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
37.根据权利要求36所述的计算机可读媒体,
其中致使所述处理器校正所述第一位置中的边界伪影的指令包含致使所述处理器用大体上类似于所述参考视频单元内所存在的所述边界的像素值的像素值替换所述代换视频单元的所述第一位置内的像素的像素值的指令,且
其中致使所述处理器校正所述第二位置中的边界伪影的指令包含致使所述处理器用被计算为邻近于所述参考视频单元中所存在的所述边界的一个或一个以上像素值的平均值的像素值替换所述第二位置内的像素的像素值的指令。
38.根据权利要求36所述的计算机可读媒体,
其中致使所述处理器校正所述第一位置中的边界伪影的指令包含致使所述处理器执行以下操作的指令:
将与所述第一位置的相应块相关联的运动向量设定为等于零,以及
使用与所述相应块相关联的所述运动向量针对所述第一位置的所述块执行帧间预测,且
其中校正所述第二位置中的边界伪影包含:
为所述代换帧的所述第二位置的块选择帧内预测模式,和
使用所述选定帧内预测模式执行帧内预测。
39.根据权利要求36所述的计算机可读媒体,其中致使所述处理器识别所述代换视频单元内的所述第一位置的指令包含致使所述处理器执行以下操作的指令:
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的W列像素识别为所述第一位置;以及
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的W行像素识别为所述第一位置,
其中W为存在于所述参考视频单元内的所述边界的宽度。
40.根据权利要求36所述的计算机可读媒体,其中致使所述处理器识别所述代换视频单元内的所述第二位置的指令包含致使所述处理器执行以下操作的指令:
当MVx不等于零时,将所述代换帧的邻近于所述W列像素的MVx列像素识别为所述第二位置,其中MVx为所述相应块的所述运动向量的x分量;以及
当MVy不等于零时,将所述代换帧的邻近于所述W行像素的MVy行像素识别为所述第二位置,其中MVy为所述相应块的所述运动向量的y分量。
41.根据权利要求36所述的计算机可读媒体,其中致使所述处理器识别所述代换视频单元内的所述第一位置的指令包含致使所述处理器执行以下操作的指令:
计算L=上取整(W,N),其中所述上取整函数输出W/N的下一最大整数,其中W为所述参考帧中的所述边界的宽度,且N为沿x方向的块大小;
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的L列块识别为所述第一位置;以及
计算K=上取整(W,M),其中所述上取整函数输出W/M的下一最大整数,其中W为所述参考帧中的所述边界的所述宽度,且M为沿y方向的块大小,
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的K行像素识别为所述第一位置。
42.根据权利要求41所述的计算机可读媒体,其中致使所述处理器识别所述代换视频单元中的所述第一位置的指令进一步包含致使所述处理器执行以下操作的指令:
当W为N的倍数时,将邻近于所述L列块的一列块识别为第一边界位置;以及
当W为M的倍数时,将邻近于所述K行块的一行块识别为第一边界位置。
43.根据权利要求42所述的计算机可读媒体,其中致使所述处理器识别所述代换视频单元内的所述第二位置的指令包含致使所述处理器执行以下操作的指令:
基于所述块的x坐标和所述边界位置的x坐标而将邻近于所述L列块的一列块的至少一部分识别为第二边界位置;以及
基于所述块的y坐标和所述边界位置的y坐标而将邻近于所述K行块的一行块的至少一部分识别为第二边界位置。
44.一种装置,其包含:
分析装置,其分析代换视频单元以识别所述代换视频单元的包括边界伪影的位置;以及
校正装置,其校正所述代换视频单元的所述经识别位置中的所述边界伪影。
45.根据权利要求44所述的装置,
其中所述分析装置:识别所述代换视频单元内的包括第一边界伪影的第一位置,所述第一边界伪影与存在于参考视频单元内且不存在于所述代换视频单元中的边界对应;以及识别所述代换视频单元内的包括第二边界伪影的第二位置,所述第二边界伪影与存在于所述代换视频单元内且不存在于所述参考视频单元内的边界对应;以及
其中所述校正装置使用第一边界伪影校正技术校正所述代换视频单元的所述第一位置中的边界伪影,且使用第二边界伪影校正技术校正所述代换视频单元的所述第二位置中的边界伪影。
46.根据权利要求45所述的装置,其中所述校正装置:
用大体上类似于所述参考视频单元内所存在的所述边界的像素值的像素值替换所述代换视频单元的所述第一位置内的像素的像素值,以及
用被计算为邻近于所述参考视频单元中所存在的所述边界的一个或一个以上像素值的平均值的像素值替换所述第二位置内的像素的像素值。
47.根据权利要求45所述的装置,其中所述校正装置:
将与所述第一位置的相应块相关联的运动向量设定为等于零,以及
使用与所述相应块相关联的所述运动向量针对所述第一位置的所述块执行帧间预测,以及
为所述代换帧的所述第二位置的块选择帧内预测模式,以及
使用所述选定帧内预测模式执行帧内预测。
48.根据权利要求45所述的装置,其中所述分析装置:
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的W列像素识别为所述第一位置;以及
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的W行像素识别为所述第一位置,
其中W为存在于所述参考视频单元内的所述边界的宽度。
49.根据权利要求48所述的装置,其中所述分析装置:
当MVx不等于零时,将所述代换帧的邻近于所述W列像素的MVx列像素识别为所述第二位置,其中MVx为所述相应块的所述运动向量的x分量;以及
当MVy不等于零时,将所述代换帧的邻近于所述W行像素的MVy行像素识别为所述第二位置,其中MVy为所述相应块的所述运动向量的y分量。
50.根据权利要求45所述的装置,其中所述分析装置:
计算L=上取整(W,N),其中所述上取整函数输出W/N的下一最大整数,其中W为所述参考帧中的所述边界的宽度,且N为沿x方向的块大小;
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的左侧或右侧时,将所述代换帧的L列块识别为所述第一位置;以及
计算K=上取整(W,M),其中所述上取整函数输出W/M的下一最大整数,其中W为所述参考帧中的所述边界的所述宽度,且M为沿y方向的块大小,
当存在于所述参考视频单元内的所述边界是沿所述参考视频单元的顶部或底部时,将所述代换帧的K行像素识别为所述第一位置。
51.根据权利要求50所述的装置,其中所述识别装置:
当W为N的倍数时,将邻近于所述L列块的一列块识别为第一边界位置;以及
当W为M的倍数时,将邻近于所述K行块的一行块识别为第一边界位置。
52.根据权利要求50所述的装置,其中所述识别装置:
基于所述块的x坐标和所述边界位置的x坐标而将邻近于所述L列块的一列块的至少一部分识别为第二边界位置;以及
基于所述块的y坐标和所述边界位置的y坐标而将邻近于所述K行块的一行块的至少一部分识别为第二边界位置。
CN200980114121.6A 2008-04-23 2009-04-22 视频单元内的边界伪影校正 Expired - Fee Related CN102017615B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US4738108P 2008-04-23 2008-04-23
US61/047,381 2008-04-23
US12/395,244 2009-02-27
US12/395,244 US8208563B2 (en) 2008-04-23 2009-02-27 Boundary artifact correction within video units
PCT/US2009/041458 WO2009132145A1 (en) 2008-04-23 2009-04-22 Boundary artifact correction within video units

Publications (2)

Publication Number Publication Date
CN102017615A true CN102017615A (zh) 2011-04-13
CN102017615B CN102017615B (zh) 2013-06-12

Family

ID=41215005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980114121.6A Expired - Fee Related CN102017615B (zh) 2008-04-23 2009-04-22 视频单元内的边界伪影校正

Country Status (7)

Country Link
US (1) US8208563B2 (zh)
EP (1) EP2292004B1 (zh)
JP (1) JP5123427B2 (zh)
KR (1) KR101197506B1 (zh)
CN (1) CN102017615B (zh)
TW (1) TW201002082A (zh)
WO (1) WO2009132145A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514939B2 (en) * 2007-10-31 2013-08-20 Broadcom Corporation Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
KR101500324B1 (ko) * 2008-08-05 2015-03-10 삼성디스플레이 주식회사 표시 장치
JP5238523B2 (ja) * 2009-01-13 2013-07-17 株式会社日立国際電気 動画像符号化装置、動画像復号化装置、および、動画像復号化方法
JP2010258741A (ja) * 2009-04-24 2010-11-11 Sony Corp 画像処理装置および方法、並びにプログラム
US9713751B2 (en) 2009-05-29 2017-07-25 Acushnet Company Wedge type golf club head
US8665367B2 (en) * 2010-01-29 2014-03-04 Sharp Laboratories Of America, Inc. Video resolution enhancement technique
US8648870B1 (en) * 2010-08-02 2014-02-11 Adobe Systems Incorporated Method and apparatus for performing frame buffer rendering of rich internet content on display devices
US9008180B2 (en) * 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
US10659724B2 (en) * 2011-08-24 2020-05-19 Ati Technologies Ulc Method and apparatus for providing dropped picture image processing
WO2013033913A1 (en) 2011-09-09 2013-03-14 Technicolor (China) Technology Co., Ltd. Method and device for calculating distortion of a video being affected by compression artifacts and channel artifacts
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
TWI606418B (zh) * 2012-09-28 2017-11-21 輝達公司 圖形處理單元驅動程式產生內插的圖框之電腦系統及方法
USD773574S1 (en) 2015-02-12 2016-12-06 Acushnet Company Wedge golf club set
WO2017062885A1 (en) * 2015-10-08 2017-04-13 Sharp Laboratories Of America, Inc. Systems and methods for reducing artifacts in temporal scalable layers of video
FI20165256L (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
US10354394B2 (en) 2016-09-16 2019-07-16 Dolby Laboratories Licensing Corporation Dynamic adjustment of frame rate conversion settings
DE102016221204A1 (de) * 2016-10-27 2018-05-03 Siemens Aktiengesellschaft Bestimmung mindestens eines genäherten Zwischendatensatzes für eine Echtzeitanwendung
KR101819193B1 (ko) * 2016-11-17 2018-01-16 (주)판도라티비 실시간 파일 포맷 변환 스트리밍 서비스 방법
USD829837S1 (en) 2017-03-01 2018-10-02 Acushnet Company Wedge golf club
JP7300985B2 (ja) * 2017-04-17 2023-06-30 ソニーグループ株式会社 情報処理装置および情報処理方法
US10977809B2 (en) 2017-12-11 2021-04-13 Dolby Laboratories Licensing Corporation Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings
JP7315480B2 (ja) * 2018-01-30 2023-07-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11140407B2 (en) * 2018-02-08 2021-10-05 Apple Inc. Frame boundary artifacts removal
US11146810B2 (en) * 2018-11-27 2021-10-12 Qualcomm Incorporated Decoder-side motion vector refinement
CN113424533A (zh) 2019-02-14 2021-09-21 北京字节跳动网络技术有限公司 复杂度降低的解码器侧运动推导
EP3951766A4 (en) * 2019-03-25 2022-12-07 Sony Interactive Entertainment Inc. IMAGE DISPLAY CONTROL DEVICE, TRANSMITTING DEVICE, IMAGE DISPLAY CONTROL METHOD AND PROGRAM
WO2020219039A1 (en) * 2019-04-24 2020-10-29 Hewlett-Packard Development Company, L.P. Displays with pixels coupled by beam splitters

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721822A (en) * 1995-07-21 1998-02-24 Intel Corporation Run-length encoding/decoding video signals using scan patterns explicitly encoded into bitstreams
US6480632B2 (en) * 1998-12-03 2002-11-12 Intel Corporation Method and apparatus to interpolate video frames
US6760378B1 (en) * 1999-06-30 2004-07-06 Realnetworks, Inc. System and method for generating video frames and correcting motion
EP1422928A3 (en) * 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
JP2005056275A (ja) * 2003-08-06 2005-03-03 Nec Corp 携帯端末用文字入力装置、携帯端末用文字入力方法、携帯端末
US7881376B2 (en) * 2004-05-14 2011-02-01 Panasonic Corporation Motion compensation apparatus
US20060233253A1 (en) * 2005-03-10 2006-10-19 Qualcomm Incorporated Interpolated frame deblocking operation for frame rate up conversion applications
JP5215668B2 (ja) * 2005-11-07 2013-06-19 シャープ株式会社 画像表示装置及び方法
JP4303748B2 (ja) * 2006-02-28 2009-07-29 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
EP1843587A1 (en) * 2006-04-05 2007-10-10 STMicroelectronics S.r.l. Method for the frame-rate conversion of a digital video signal and related apparatus
US9025673B2 (en) * 2006-04-05 2015-05-05 Qualcomm Incorporated Temporal quality metric for video coding
US20080025390A1 (en) * 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
JP5008431B2 (ja) * 2007-03-15 2012-08-22 キヤノン株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
TW201002082A (en) 2010-01-01
JP2011519228A (ja) 2011-06-30
WO2009132145A1 (en) 2009-10-29
EP2292004A1 (en) 2011-03-09
CN102017615B (zh) 2013-06-12
US20090268823A1 (en) 2009-10-29
US8208563B2 (en) 2012-06-26
JP5123427B2 (ja) 2013-01-23
KR101197506B1 (ko) 2012-11-09
EP2292004B1 (en) 2018-09-05
KR20100137009A (ko) 2010-12-29

Similar Documents

Publication Publication Date Title
CN102017615B (zh) 视频单元内的边界伪影校正
US7426308B2 (en) Intraframe and interframe interlace coding and decoding
KR100944851B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
US8437397B2 (en) Block information adjustment techniques to reduce artifacts in interpolated video frames
KR101037816B1 (ko) 인터레이스된 비디오의 코딩 및 디코딩을 위한 방법 및장치
JP4348209B2 (ja) 画像符号化方法および画像復号化方法
EP2290991A1 (en) Predicting motion vectors for fields of forward-predicted interlaced video frames
JP2013520875A (ja) ビデオコーディングのための適応動き解像度
WO2006124885A2 (en) Codec for iptv
CN102113329A (zh) 在视频译码中基于压缩域中相似性量度的智能型跳帧
CN113940079A (zh) 用于视频译码的基于梯度的预测细化
CN102474623A (zh) 在视频编码中的非零舍入及预测模式选择技术
CN1695381A (zh) 在数字视频信号的后处理中使用编码信息和局部空间特征的清晰度增强
JP2008537427A (ja) 効率的なビデオ復号化アクセラレータ
CN113950839A (zh) 用于视频译码的基于梯度的预测精化
Kalva et al. The VC-1 video coding standard
US20070223578A1 (en) Motion Estimation and Segmentation for Video Data
US8811474B2 (en) Encoder and encoding method using coded block pattern estimation
KR20090108656A (ko) 인터레이스형 비디오의 코딩 및 디코딩
JP4100067B2 (ja) 画像情報変換方法及び画像情報変換装置
Makris et al. Digital Video Coding Principles from H. 261 to H. 265/HEVC
Lonetti et al. Temporal video transcoding for multimedia services

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130612

Termination date: 20190422