CN101305615A - 用于视频编码的多维毗邻块预测 - Google Patents

用于视频编码的多维毗邻块预测 Download PDF

Info

Publication number
CN101305615A
CN101305615A CNA2006800416881A CN200680041688A CN101305615A CN 101305615 A CN101305615 A CN 101305615A CN A2006800416881 A CNA2006800416881 A CN A2006800416881A CN 200680041688 A CN200680041688 A CN 200680041688A CN 101305615 A CN101305615 A CN 101305615A
Authority
CN
China
Prior art keywords
motion vector
video
video blocks
block
piece
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
CNA2006800416881A
Other languages
English (en)
Other versions
CN101305615B (zh
Inventor
王凯
纳伦德拉纳特·马拉亚特
拉戈哈文德拉·C·纳加拉杰
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 CN101305615A publication Critical patent/CN101305615A/zh
Application granted granted Critical
Publication of CN101305615B publication Critical patent/CN101305615B/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/57Motion estimation characterised by a search window with variable size or shape
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/567Motion estimation based on rate distortion criteria
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

所阐述的运动估计技术及视频编码装置使用二维管线来产生当前视频块的准确运动估计参数。所述二维管线在所述当前视频块的准确运动向量、运动向量预测值及模式决策产生之前使用先前计算的相关的毗邻视频块的运动估计参数,所述相关的毗邻视频块包括与所述当前视频块在同一行上的前一视频块。所述二维管线的使用允许在运动向量的运算中根据先前不可用的毗邻视频块进行准确的运动向量预测。提取引擎、整数搜索引擎以及分数及空间搜索引擎这三个引擎可用于所述二维管线中。当所述提取引擎以及分数及空间搜索引擎对一个行进行操作时,所述整数搜索引擎对另一行进行操作。

Description

用于视频编码的多维毗邻块预测
相关申请案交叉参考
本申请案主张2005年9月22日提出申请的第60/719,891号美国临时申请案的利益,且所述临时申请案受让予本发明的受让人且其整体内容以引用的方式并入本文中。
技术领域
本文所阐述内容涉及数字视频处理,且更特定来说涉及视频序列的编码。
背景技术
数字视频功能可并入到各种各样的装置中,包括数字电视、数字直播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、数字摄像机、数字记录装置、蜂窝式电话或卫星无线电电话及类似装置。数字视频装置可在创建、修改、传输、存储、记录及播放全动态视频序列方面提供对常规模拟视频系统的显著改善。
人们已制订了许多不同的视频编码标准用于对数字视频序列进行编码。举例来说,移动图像专家组(MPEG)已开发许多标准,包括MPEG-1、MPEG-2及MPEG-4。其它标准包括国际电信联盟(ITU)H.263标准、位于加利福尼亚州库比提诺的苹果计算机(Apple Computer of Cupertino California)开发的QuickTimeTM技术、位于华盛顿雷德蒙的微软公司(Microsoft Corporation of Redmond,Washington)开发的WindowsTM视频、英特尔公司开发的IndeoTM、来自华盛顿西雅图的真实网络公司(RealNetworks,Inc.of Seattle,Washington)的RealVideoTM及速伯玛公司(SuperMac,Inc.)开发的CinepakTM。包括ITU H.264标准及许多私有标准的新标准继续浮现并演进。
许多视频编码标准通过以压缩方式对数据进行编码而允许改善的视频序列传输速率。压缩可减小针对视频帧的有效传输而需要传输的数据总量。举例来说,大多数视频编码标准利用图形及视频压缩技术,其设计成利于在比不使用压缩技术可实现的更窄带宽上传输视频及图像。
举例来说,MPEG标准以及ITU H.263及ITU H.264标准支持利用连贯视频帧之间的相似性(称作时间或帧间相关)来提供帧间压缩的视频编码技术。所述帧间压缩技术通过将视频帧的基于像素的表示转换为运动表示来利用跨越帧的数据冗余。此外,某些视频编码技术可利用帧内的相似性(称作空间或帧内相关)来进一步压缩视频帧。
为支持压缩,数字视频装置包括用于压缩数字视频序列的编码器及用于解压缩数字视频序列的解码器。在许多情形下,所述编码器与解码器形成集成编码器/解码器(CODEC),其对界定视频图像序列的帧内的像素块进行操作。举例来说,在国际电信联盟(ITU)H.264标准中,所述编码器通常将将要传输的视频帧划分为可包含16×16像素阵列的称作“宏块”(MB)的视频块。ITU H.264标准支持16×16视频块、16×8视频块、8×16视频块、8×8视频块、8×4视频块、4×8视频块及4×4视频块。其它标准可支持不同大小的视频块。
对于视频帧中的每一视频块,编码器搜索一个或一个以上紧接在前视频帧(或后续帧)的相似大小视频块以识别最相似的视频块,其称作“最佳预测块”。将当前视频块与其它帧的视频块相比较的过程通常称作运动估计。一旦识别视频块的“最佳预测块”,那么解码器可对所述当前视频块与所述最佳预测块之间的差异进行编码。对所述当前视频块与所述最佳预测块之间的差异进行编码的此过程包括称作运动补偿的过程。运动补偿包含创建差异块的过程,所述差异块指示将要编码的当前视频块与所述最佳预测块之间的差异。运动补偿通常是指使用运动向量提取所述最佳预测块且然后从输入块中减去所述最佳预测块以产生差异块的动作。
在运动补偿已创建差异块之后,通常实施一系列额外编码步骤以对所述差异块进行编码。这些额外编码步骤可取决于所使用的编码标准。举例来说,在依从MPEG-4的编码器中,所述额外编码步骤可包括8×8离散余弦变换、随后是标量量化、随后是光栅至锯齿形重排序、随后是游程编码、随后是哈夫曼(Huffman)编码。可将经编码的差异块连同运动向量一起传输,所述运动向量指示来自前一帧(或后一帧)的哪一视频块用于编码。解码器接收所述运动向量及所述经编码的差异块,且对所接收的信息进行解码以重构视频序列。
极其需要简化并改善所述编码过程。为此,已开发各种各样的编码技术。因为运动估计是视频编码中运算最密集的过程之一,因此,对运动估计的改善可提供对视频编码过程的显著改善。
需要在运算运动向量中找到更高效且更准确的方法。
发明内容
本揭示内容阐述可改善视频编码的运动估计技术。特定来说,本揭示内容提出一种用以处理帧中的视频块的非常规方法。用于改善运动估计的技术阐述于下文中。在一个实施例中,阐述一种使用二维管线来产生当前视频块的准确运动估计参数的运动估计器。所述二维管线在所述准确的运动估计参数的产生之前使用先前计算的相关的毗邻视频块的运动估计参数,所述相关的毗邻视频块包括与所述当前视频块在同一行上的前一视频块。举例来说,所述运动估计参数为运动向量、运动向量预测值及模式决策。
所揭示的运动估计技术可通过将用以提取像素的引擎/模块、实施整数像素搜索的引擎/模块及以乒乓(ping pong)方式在至少两个视频块行上实施更精细分数及空间搜素的引擎/模块管线化来改善编码。在所述乒部分期间,处理来自第一块行的两个视频块,而另一视频块行上的同时处理正在发生。在所述乓部分期间,处理来自第二块行的两个视频块,同时在第一块行上另一视频块正被处理。由于仅可在分数及空间引擎/模块完成对所有毗邻视频块的处理之后获得的准确运动向量预测值(MVP),此乒乓方式的处理允许整数搜索引擎/模块运算并输出与成本相关的更准确运动向量。MVP是对所需运动向量的初步估计且通常基于先前针对毗邻视频块计算的运动向量来运算。在其中仅顺序处理一个视频块行的技术中,MVP可能是估计而不是实际值。仅使用所述估计限制可用于运动估计的准确性。使用所揭示技术的一个优点是在计算运动估计中使用所有更精细的分辨率实际值。另一优点是使用二维管线解决在处理另一行的部分之前需要等待一个整行被处理的问题。因此,使用二维管线的此乒乓方式的处理减小通信总线上的带宽。用以更新搜索区域的对外部存储器的刷新数目也可显著地减小。
本揭示内容中的实施例提出对失真测量的运算。所述实施例阐述一种方法,其包含:基于先前针对邻近将要编码的当前视频块的视频块计算的运动向量来运算运动向量预测值;及在对用于对所述当前视频块进行编码的预测视频块的搜索中使用所述运动向量预测值。所述实施例进一步阐述一种使用所有实际运动向量预测值以使对失真测量的运算降到最低的方法。
本文所述的这些及其它技术可以硬件、软件、固件或其任一组合实施于数字视频装置中。如果实施于软件中,那么可将所述技术引导到包含程序码的计算机可读媒体,当所述程序码执行时会实施本文所述的一种或一种以上编码技术。各个实施例的额外细节论述于附图及以下阐述中。根据本说明书及图式并根据权利要求书,将明了其它特征、目的及优点。
附图说明
图1A是图解说明其中源数字视频装置将经编码的位流传输到接收数字视频装置的实例性系统的方块图。
图1B是可如本文实施例中所阐述地那样使用的两个CODEC的方块图。
图2是可用于图1A或图1B中所图解说明的数字视频装置的基本数字视频编码器的实例性方块图。
图3是对图像的两个部分行的实例性图解说明。
图4是图解说明在两个视频块行上进行运动估计及运动向量预测的过程的实例性流程图。
图5是对在部分图像行上应用的ME管线的实例性图解说明。
图6是对在两个部分图像行上应用的ME管线的实例性图解说明。
具体实施方式
本揭示内容阐述用以计算运动向量(MV)及运动向量预测值(MVP)两者的多维技术,其有助于可用于改善视频编码的运动估计技术。虽然所述技术通常阐述于运动估计的整个过程的背景下,但应了解可在各种情景中个别使用所述技术中的一者或一者以上。通常基于先前针对毗邻视频块计算的(例如)作为已记录的邻接视频块的运动向量的中值的运动向量来运算MVP。然而,其它数学函数可替代用于运算MVP,例如运动向量或毗邻视频块的平均或可能更复杂的数学函数。
图1A是图解说明其中源装置112a经由通信链路113将经编码的位流传输到接收装置114a的实例性系统100的方块图。源装置112a及接收装置114a两者均可以是数字视频装置。特定来说,源装置112a按照在视频编码中利用运动估计的视频标准(例如MPEG-4标准,ITU H.263标准,ITU H.264标准或各种各样的其它标准中的任一者)对视频数据进行编码。如下文更详细地阐述,系统100的装置112a、114a中的一者或其两者实施运动估计及补偿技术以改善视频编码过程。
通信链路113可包含无线链路、物理传输线、光纤、基于包的网络(例如,局域网、广域网或全球网络(例如,因特网)、公共交换电话网络(PSTN))或能够转移数据的任何其它通信链路。通信链路113可耦合到存储媒体(例如,CD、DVD等)。因此,通信链路113表示用于将视频数据从源装置112a传输到接收装置114a的任何适当通信媒体或可能不同网络与链路的集合。
源装置112a可包括视频捕获装置115(例如,视频摄像机)以捕获视频序列并将所捕获的序列存储于存储器116中。可在显示器117上观看所述视频序列。特定来说,视频捕获装置115可包括电荷耦合装置(CCD)、电荷注入装置、光电二极管阵列、互补金属氧化物半导体(CMOS)装置或能够捕获视频图像或数字视频序列的任何其它光敏装置。
再例如,视频捕获装置115可以是视频转换器,其将模拟视频数据(例如)从电视机、录像机、摄像放像机或另一视频装置转换为数字视频数据。在某些实施例中,源装置112a可经配置以经由通讯链路115传输实时视频序列。在所述情形下,接收装置114a可接收所述实时视频序列并向用户显示所述视频序列。另一选择为,源装置112a可捕获并编码将要作为视频数据文件(即,非实时)发送到接收装置114a的视频序列。因此,源装置112a及接收装置114a可在(例如)移动无线网络中支持例如视频剪辑回放、视频邮件或视频会议等应用。装置112a及114a可包括未在图1A中具体图解说明的各种其它元件。
此外,源装置112a可以是能够编码并传输视频数据的任何数字视频装置。源装置112a还可以是用以对序列进行编码的视频编码器118,及用以经由通信链路115将经编码的位流传输到源装置114a的发射器120。视频编码器118可包括(例如)各种硬件、软件或固件或执行可编程软件模块以控制如本文所述的视频编码技术的一个或一个以上数字信号处理器(DSP)。可提供相关联的存储器及逻辑电路以支持DSP控制所述视频编码技术。如将要阐述,如果使用运动向量预测值(MVP)的准确值,那么视频编码器118可实施地更好。
接收装置114a可采取能够接收并解码视频数据的任何数字视频装置的形式。举例来说,接收装置114a可包括接收器122以(例如)经由中间链路、路由器、其它网络设备及相似物从发射器120接收经编码的数字视频序列。接收装置114a还可包括用于对位流进行解码的视频解码器124及用于向用户显示所述经解码位流的序列的显示器装置126。然而,在某些实施例中,接收装置114a可不包括集成显示器装置114a。在所述情形下,接收装置114a可充当接收器,其将所接收的视频数据进行解码以驱动离散显示器装置(例如,电视机或监视器)。
源装置112a及接收装置114a的实例性装置包括位于计算机网络上的服务器、工作站或其它桌上型运算装置及移动运算装置(例如,膝上型计算机或个人数字助理(PDA))。其它实例包括数字电视广播卫星及接收装置(例如,数字电视、数字摄像机、数字视频摄像机或其它数字记录装置)、数字视频电话(例如,具有视频功能的移动电话、具有视频功能的直接双向通信装置、其它无线视频装置)及类似装置。
在某些情形下,源装置112b及接收装置114b可各自包括如图1B中所示的用于对数字视频数据进行编码及解码的编码器/解码器(CODEC)。特定来说,源装置112a与接收装置114a二者均可包括发射器及接收器以及存储器及显示器。下文略述的许多编码技术阐述于包括编码器的数字视频装置的背景中。然而,应了解,所述编码器可形成CODEC的部分。在所述情形下,CODEC可实施于硬件、软件、固件、DSP、微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散硬件组件或其各种组合中。
源装置112a或源装置112b内的视频编码器118对视频帧序列内的像素块进行操作以对视频数据进行编码。举例来说,视频编码器118可执行运动估计及运动补偿技术,在所述技术中将要传输的视频帧被划分为像素块(称作视频块)。出于图解说明的目的,所述视频块可包含任意大小的块,且可在既定视频序列中有所变化。作为实例,ITU H.264标准支持16×16视频块、16×8视频块、8×16视频块、8×8视频块、8×4视频块、4×8视频块及4×4视频块。较小视频块在视频编码中的使用可在编码中产生更好的压缩,且可特定用于包括较高水平的细节的视频帧位置。
视频块中的每一像素可由界定像素的视觉特性(例如,以色度及亮度的值表示的色彩及强度)的n个位(例如,8个位)的值表示。然而,经常仅在亮度组件上实施运动估计,因为人类视觉对亮度的改变比对色度更敏感。相应地,出于运动估计的目的,所述整个n个位的值可将既定像素的亮度量化。然而,本揭示内容的原理并不受限于像素的格式,且可扩展成与更简单的更少位像素格式或更复杂的更多位像素格式一同使用。
对于视频帧中的每一视频块,源装置112a或112b的视频编码器118通过搜索已传输的一个或一个以上先前视频帧(或后续视频帧)的存储在存储器116中的视频块以识别相似视频块,其称作预测视频块。在某些情形下,所述预测视频块可包含来自所述前一或后一视频帧的“最佳预测块”,但本揭示内容并不受限于所述方面。视频编码器118实施运动补偿以创建指示将要编码的当前视频块与所述最佳预测块之间的差异的差异块。运动补偿通常是指使用运动向量提取所述最佳预测块且然后从输入块中减去所述最佳预测块以产生差异块的动作。
在运动补偿过程已创建差异块之后,通常实施一系列额外编码步骤以对差异块进行编码。这些额外编码步骤可取决于所使用的编码标准。
一旦经编码,可将经编码的差异块连同运动向量或经编码的运动向量一起传输,所述运动向量或经编码的运动向量识别来自前一帧(或后一帧)的用于编码的视频块。通过此种方式,不是将每一帧作为独立的图像进行编码,而是视频编码器118对邻接帧之间的差异进行编码。所述技术可显著地减小准确表示视频序列中的每一帧所需的数据量。
所述运动向量可界定相对于正被编码的视频块的左上角的像素位置,但也可使用运动向量的其它格式。通过使用运动向量对视频块进行编码,可显著地减小传输视频数据流所需的带宽。
在某些情形下,视频编码器118除可支持帧间编码外,还可支持帧内编码。帧内编码利用帧内的相似性(称作空间或帧内相关)来进一步压缩视频帧。帧内压缩通常基于用于压缩静止图像的纹理编码,例如离散余弦变换(DCT)编码。帧内压缩经常结合帧间压缩使用,但也可在某些实施方案中用作替代方案。
接收装置114a的接收器122可接收呈运动向量形式的经编码视频数据及指示正被编码视频块与在运动估计中所使用的最佳预测块之间的经编码差异的经编码差异块。然而,在某些情形下,不是发送运动向量,而是传输所述运动向量与MVP之间的差异。在任何情形下,解码器124可实施视频解码以产生经由显示器装置126向用户显示的视频序列。接收装置114a的解码器124还可实施为如图1B中所示的编码器/解码器(CODEC)。在所述情形下,源装置112b与接收装置114b两者均能够对数字视频序列进行编码、传输、接收及解码。
图2图解说明可用于图1A或图1B的装置中的实例性视频编码器。可将来自视频序列的帧或部分帧放置于视频解码器118(其可以是CODEC 24的部分)内部的输入帧缓冲器242中。可将来自输入帧缓冲器242的输入帧解析为块(所述视频块可以是任何大小,但标准正方形视频块大小是4×4、8×8或16×16)并被发送到视频块缓冲器243。视频块缓冲器243通常将视频块发送到减法器244。减法器244从开关246的输出减去视频块x。开关246可在编码的帧内编码与帧间编码预测模式之间切换。如果开关246启用帧间编码预测模式,那么通过纹理编码器247压缩来自x的所得差异及来自不同(前一或后一)帧的视频块。如果开关246启用帧内编码预测模式,那么通过纹理编码器247压缩来自x的所得差异及来自同一帧中的前一视频块的预测值。
纹理编码器247具有将输入x(所述视频块或差异块)从像素域变换为空间频域的DCT块248。在所述空间频域中,数据由DCT块系数表示。DCT块系数表示在视频块中所检测的空间频率的数目及度数。在运算DCT之后,DCT块系数可由量化器250在被称为“块量化”过程中量化。DCT块系数(来自所述视频块或差异视频块)的量化移除来自所述块的部分空间冗余。在此“块量化”过程期间,有时可通过将经量化的DCT块系数与阈值相比较来移除其它空间冗余。此比较可在量化器250或另一比较器块(未显示)内部发生。如果经量化DCT块系数的量值小于所述阈值,那么弃用所述系数或将其设定为零值。
在块量化之后,可将所得输出发送到两个分离结构:(1)纹理解码器265,及(2)熵编码器255。纹理解码器265包含有助于重构视频块或帧的产生的解量化器266;其将与编码预测模式一起使用。熵编码器255产生用于传输或存储的位流。熵编码器255可包含接收经块量化的输出的扫描仪256并重新排序所述输出以使可变长度编码器(VLC)258进行更高效编码。VLC 258可采用游程及哈夫曼编码技术的用途以产生经编码的位流。将所述经编码的位流发送到输出缓冲器260。可将所述位流发送到速率控制器262。在维持基本质量的同时,速率控制器262预算量化器250所使用的量化位的数目。熵编码被视为无损压缩形式。无损压缩意味着如果正被编码的数据由熵解码器解码那么所述数据可完全恢复而不会破坏所述经编码数据。熵编码器255实施无损压缩。
有损压缩意指:作为编码的结果,输入x将不产生x的相同拷贝,即使所述经编码的输入未遭破坏。经重构的输入已“丢失”其部分信息。纹理编码器247实施有损压缩。典型视频编码器118通常具有本地纹理解码器265以帮助帧间编码及帧内编码预测模式两者的补偿。解量化器266、反DCT 268与开关246的发送到加法器269的输出一起工作以对纹理编码器247的输出进行解码并重构进入纹理编码器247的输入x。经重构的输入y看似x但并非就是x。一般视频“解码器”通常包含解量化器266、反DCT 687及开关246的发送到加法器269的输出的功能性。
可将经重构的输入发送到存储器缓冲器281。存储器缓冲器281内部可存在两个存储器缓冲器:(1)经重构新帧缓冲器282;及(2)经重构旧帧缓冲器284。经重构新帧缓冲器282存储当前处理的经重构帧(或部分帧)。经重构旧帧缓冲器284存储过去处理的经重构帧。所述过去处理的经重构帧用作(经重构)参考帧。所述经重构参考帧可以是在输入帧缓冲器242的当前帧之前或之后的帧。当前帧(或来自当前帧的视频块)或当前帧与所述经重构参考帧(或来自差异块的视频块)之间的差异是“当前”正被编码的帧或差异。在当前帧已完成编码之后且在提取来自输入帧缓冲器242的输入中的将要编码的下一帧之前,通过具有经重构新帧缓冲器282的内容的拷贝来更新经重构旧帧缓冲器284。
经重构新帧缓冲器282可发送其接收的经重构视频块以用于空间预测器286。经重构旧帧缓冲器284将过去处理的经重构视频块发送到MEC(运动估计及补偿块)287。MEC块包含运动估计器88及运动补偿器290。运动估计器288产生运动向量(MV)92及运动向量预测值(MVP)294,其可由运动补偿器290用来补偿来自除正被编码的帧以外的其它帧的差异。MV 292也可由熵编码器255使用。在某些标准(例如,ITUH.264)中,空间预测器286的输出用于帧内预测模式且反馈回至减法器244与加法器269两者。在某些标准(例如,MPEG-4或JPEG)中,不存在空间预测器286。
图3图解说明任何图像或帧的两个部分块行。作为实例,假设块行N-1及N为块行3及块行4。在块行3330中有九个视频块。出于图解说明的目的,可在本揭示内容的整个说明书中使用16×16的块。因此,宏块(MB)331-339在行3330中,且在行4340中有九个MB 341-749。将所述MB绘制成显示块行编号及相对于第M个宏块的位置两者。M指当前宏块。通常在块行4之前处理块行3。在本揭示内容中,处理块行意指处理如在行3330及行4340中所略述的宏块行。一般来说,其还可意指处理任何大小的视频块行。
当在各种标准(例如,H.264、MPEG-4及H.263等)中相对于宏块(MB)345计算运动向量时,可能需要预先知晓MB模式及毗邻MB 344、MB 335及MB 336(或当MB 336不可用时,MB 334)的运动向量。举例来说,在H.264中,P帧的INTER模式可以是INTER 16×16、INTER 16×8、INTER 8×16、INTER 8×8。如果其是INTER8×8模式,那么可进行进一步分割以选择INTER 8×4、INTER 4×8或INTER 4×4模式。所述模式不仅取决于类型(INTER),而且还取决于大小。还可存在INTRA模式及SKIP模式。虽然存在调用SKIP模式的其它条件,但可调用SKIP模式的一个条件是当MV等于MVP时。
举例来说,运动估计通常比任何其它视频编码过程需要更大量的运算资源。为此,极其需要以减小运算复杂性且还帮助改善压缩比的方式实施运动估计。本文所述运动估计技术可通过使用以多个空间分辨率实施搜索的搜索方案来推进这些目标,从而减小运算复杂性而准确性无任何损失。此外,提出了成本函数(还称作失真测量),其包括将运动向量编码的成本。运动估计器还可使用搜索空间的多个候选位置以改善视频编码的准确性,且所述多个候选者周围的搜索区域可编程,从而使所述过程可在帧速率及图像大小方面升级。最后,运动估计器还可组合许多小正方形视频块(例如4×4视频块)的成本函数以获得各个更大块形状(例如,4×8视频块、8×4视频块、8×8视频块、8×16视频块、16×8视频块、16×16视频块等等)的成本。对于许多操作及运算,运动向量预测值(MVP)用于增加偏离所述运动向量预测值的运动向量的成本因素。所述MVP还可提供额外初始运动向量,其可用于(尤其)在多级搜索的高分辨率级界定搜索。至少部分取决于运动向量预测值的失真测量值的计算是所述成本因素的部分。失真测量值还可帮助将对不同运动向量进行编码所需位的数目量化。
图4是描述贯穿帧可如何进行运动估计的过程的实例性流程图。首先起始设置程序400。作为所述设置的部分,将参考(过去或未来)帧载入402存储器。举例来说,所述存储器可以是本地存储器或脱机存储器候选RAM。然后,将当前帧载入404存储器。举例来说,所述存储器还可以是本地存储器的部分或脱机存储器编码RAM。此后是在块行中选择当前宏块M。然后,在所述当前宏块M周围识别406搜索空间。一旦已从参考帧识别408搜索空间,那么在当前帧中的两个视频块行上处理4102-D级管线的动作发生。此是对经由1-D级管线一次仅顾及处理一个视频块行的当前技术的改善。在实施每一2-D级管线动作之后,决策块412检查是否已到达两个块行的末端。如果还未到达所述两个块行的末端(NO),那么刷新414所述参考帧中的搜索空间,且2-D级管线的在当前帧的两个块行上的处理410继续。如果已到达两个块行的末端(YES),那么决策块416实施另一检查。决策块416检查其是否是当前帧中的最后两个块行的末端。如果其不是当前帧中的最后两个块行的末端(NO),那么实施递增到下两个块行(418)的动作,且2-D级管线的在当前帧的两个块行上的处理410继续。如果是当前帧中的最后两个块行的末端(YES),那么对当前帧的处理结束。
运动估计(ME)涉及通过至少两个引擎处理视频块。第一引擎为提取引擎(FE),且可从存储器提取将要编码的视频块。第二引擎使用失真度量以找到使失真降到最低的相似匹配块。第二引擎为整数搜索引擎(ISE),且可采用其中随着搜索的进行以更精细分辨率实施搜索的层次搜索。还可存在第三引擎(分数及空间搜索引擎(FSE)),其可使用更精细分辨率搜索以找到使失真降到最低的相似匹配块。FSE可以或可不将第二引擎的结果用作开始点。出于实例性目的,通过三个引擎(提取引擎(FE)、整数搜索引擎(ISE)以及分数及空间搜索引擎(FSE))进行运动估计技术这三个引擎以顺序方式处理视频块。通常,为使处理延迟降到最低,将所述三个引擎管线化于三个级上。也就是说,FE、ISE及FSE全部在三级管线中并行操作。举例来说,在级1期间,FE从存储器提取当前宏块M,而同时通过整数像素锚定点定位在宏块M-1的角落的ISE尝试从参考(过去或未来)帧找到最匹配的宏块。仍在级1期间,与所述FE及ISE引擎同时操作的定位在宏块M-2中的分数像素锚定点处的FSE尝试从参考(过去或未来)帧找到最匹配的宏块。完成一个视频块的完全处理(以产生运动向量)需要三个级。在三个级的末端,将存在所实施的三个提取、三个整数搜索及所实施的三个分数及空间搜索。通常,一维(1D)三级管线在一个视频块行上顺序操作。直到整个视频块行已完全处理,第二块行中的处理才会发生。
图5图解说明1D三级管线的概念例示。如图所见,行3330的大部分正被处理。在图5的左上角,三个引擎中的两者在3,M-3MB管线520的级1501期间运行。FE对宏块3,M-3332进行操作,且ISE对宏块3,M-4331进行操作。3,M-3MB管线520的级2502及3,M-3MB管线520的级3503在FSE在3,M-3MB(宏块)332上完成之后完成运动向量的产生。如先前所提及,一般来说,在每一级实施一个提取、一个整数搜索以及一个分数及空间搜索。除3,M-4宏块331的初始提取之外,图3的行3330中的所有宏块(MB)在图5中处理。对于1-D管线521-527,下一管线的级1还是前一管线的级2。下一管线的级2是前一管线的级3。因此,级502-510在管线中可以是级1、级2或级3,此取决于哪一管线当前正操作。一般来说,使用1D管线处理N个宏块(即,视频块)需要N+2个级。
对于既定宏块,1D管线技术限制当前ISE无法使用对其有利的前一运动块的FSE结果。举例来说,当FE提取编码数据且更新MB 335的存储器时,ISE忙于MB 334的整数搜索且FSE正实施MB 333的分数搜索及空间估计。关于1D管线的内在问题是ISE不知道其左邻MB的模式及最终运动向量(MV)且因此不能够获得对运动向量预测值(MVP)的准确估计。因此,运动向量运算可能略有偏差。因此,通过使用1D管线技术,运动估计(产生MV)与模式决策(产生MVP)之间存在相互依赖性。
一种解决运动估计与模式决策之间的相互依赖性的运动估计技术图解说明于图6中。图6是图解说明三级二维(2D)管线、运动估计技术的实例性图表,所述运动估计技术允许ISE预先知晓所有相关的毗邻MB模式及MV。在图6中,两个视频块行以乒乓方式处理。在所述乒部分期间,处理来自第一视频块行的两个视频块,而另一视频块行上的同时处理正在发生。在所述乓部分期间,处理来自第二视频块行的两个视频块,而在第一视频块行上正处理另一视频块。
在图6的左上角,图解说明3,M-0MB 2D管线621的级1601。FE对宏块3,M-0335进行操作且ISE对宏块4,M-3 342进行操作,而FSE对宏块3,M-1 334进行操作。在3,M-0MB 2D管线621的级2 602期间,FE对宏块4,M-2 343进行操作,且ISE对宏块3,M-0 335进行操作,而FSE对宏块4,M-3 342进行操作。在3,M-0MB 2D管线621的级3 603期间,FE对宏块3,M+1 336进行操作,且ISE对宏块4,M-2 343进行操作,而FSE对宏块3,M-0 335进行操作。在3,M-0MB 2D管线621的完成之后,FSE之后的运动向量产生在3,M-0 MB 335上完成。可如上述使用级602-609以完成2D管线622-627。每个“乒/乓”(参见图6)表示一个行上的FE/FSE操作,而另一行上有ISE。所述乒乓术语与行之间的角色切换相关联。举例来说,在所述“乒”期间,FE/FSE对行3进行操作,且ISE对行4进行操作。在所述“乓”期间,FE/FSE对行4进行操作,且ISE对行3进行操作。
使用2D管线的优点是来自至少两个不同行但紧密邻近(在此实例中,水平位置)的两个宏块可共享大多数搜索区域。由于所述乓可再使用来自乒的搜索区域,因此将需要较少提取。此乒乓方式的处理减小通信总线上的带宽。用以更新搜索区域的对外部存储器的刷新数目也可显著地减小。用以更新搜索区域的对外部存储器的刷新数目也可显著地减小。
此外,宏块345可使用来自相关的毗邻宏块344、335及334(或336,如果334不可用)的模式决策。模式决策的使用意指来自所述相关的毗邻宏块中的每一者的运动向量预测值可有助于产生对运动向量的准确估计。在无2D乒乓管线的情形下,来自毗邻宏块344的准确运动向量预测值可能在宏块345的运动向量产生的运算中不可用。因此,所述二维管线解决运动估计视频块与模式决策之间的相互依赖性。
上文已阐述了许多不同实施例。所述技术可通过改善运动估计而能够改善视频编码。所述技术可实施于硬件、软件、固件或其任何组合中。如果实施于软件中,那么可将所述技术引导到包含程序码的计算机可读媒体,当所述程序码在对视频序列进行编码的装置中执行时会实施上文提及的一种或一种以上方法。在所述情形下,所述计算机可读媒体可包含随机存取存储器(RAM),例如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、FLASH存储器及类似存储器。
所述程序码可以计算机可读指令的形式存储在存储器上。在所述情形下,处理器(例如DSP)可执行存储在存储器中的指令以执行本文所述的一种或一种以上技术。在某些情形下,所述技术可由调用各种硬件组件(例如,运动估计器)来加速编码过程的DSP执行。在其它情形下,所述视频编码器可实施为微处理器、一个或一个以上专用集成电路(ASIC)、一个或一个以上现场可编程门阵列(FPGA)或某些其它硬件-软件组合。这些及其它实施例均在以下权利要求书的范围内。

Claims (28)

1、一种具有运动估计器的装置,所述运动估计器使用二维管线来产生当前视频块的准确运动向量、运动向量预测值及模式决策,所述二维管线在所述当前视频块的所述准确运动向量、运动向量预测值及模式决策的所述产生之前使用相关的毗邻视频块的已完成运动向量、运动向量预测值及模式决策计算,所述相关的毗邻视频块包括与所述当前视频块在同一视频块行上的前一视频块。
2、如权利要求1所述的装置,其中所述二维管线包含在整数搜索引擎对另一视频块行进行操作的同时,使用对一视频块行进行操作的提取引擎及分数空间搜索引擎。
3、如权利要求1所述的装置,其中所述二维管线涉及处理所述管线中的至少两个级。
4、如权利要求1所述的装置,其中所述视频块为宏块、8×8的块、8×4的块、4×8的块、4×4的块或2×2的块。
5、一种在包括运动估计器的装置中实施二维管线处理以产生当前视频块的准确运动估计参数的方法,所述二维管线处理包括在所述当前视频块的所述准确运动估计参数的所述产生之前识别先前计算的毗邻视频块的运动估计参数,所述毗邻视频块包括与所述当前视频块在同一视频块行上的前一视频块。
6、如权利要求5所述的方法,其中所述运动估计参数为来自所述当前视频块的运动向量、与所述当前视频块相关联的运动向量预测值及模式决策。
7、如权利要求5所述的方法,其中所述二维管线处理包含在整数搜索引擎对另一视频块行进行操作的同时,使用对一视频块行进行操作的提取引擎及分数空间搜索引擎。
8、如权利要求5所述的方法,其中所述二维管线处理涉及所述管线中的至少两个级。
9、如权利要求5所述的方法,其中所述视频块为宏块、8×8的块、8×4的块、4×8的块、4×4的块或2×2的块。
10、一种具有运动估计器的装置,所述运动估计器包括用于实施二维管线处理以产生当前视频块的准确运动估计参数的装置,所述二维管线处理具有用于在所述当前视频块的所述准确运动估计参数的所述产生之前识别先前计算的相关的毗邻视频块的运动估计参数的装置,所述相关的毗邻视频块包括与所述当前视频块在同一视频块行上的前一视频块。
11、如权利要求10所述的装置,其中所述运功估计参数是来自所述当前视频块的运动向量、与所述当前视频块相关联的运动向量预测值及模式决策。
12、如权利要求10所述的装置,其中所述二维管线处理包含在整数搜索引擎对另一视频块行进行操作的同时,使用对一视频块行进行操作的提取引擎及分数空间搜索引擎。
13、如权利要求10所述的装置,其中所述二维管线处理涉及所述管线中的至少两个级。
14、如权利要求10所述的装置,其中所述视频块为宏块、8×8的块、8×4的块、4×8的块、4×4的块或2×2的块。
15、一种包含计算机可读媒体的计算机程序产品,所述计算机可读媒体上存储有在被执行时产生当前视频块的运动向量的指令,所述计算机程序产品包含用于以下操作的指令集:
实施二维管线处理以产生当前视频块的准确运动估计参数,所述二维管线处理进一步包括用于在所述当前视频块的所述准确运动估计参数的所述产生之前识别先前计算的毗邻视频块的运动估计参数的指令,所述毗邻视频块包括与所述当前视频块在同一行上的前一视频块。
16、如权利要求15所述的计算机程序产品,其中所述运动估计参数为来自所述当前视频块的运动向量、与所述当前视频块相关联的运动向量预测值及模式决策。
17、如权利要求15所述的计算机程序产品,其中所述二维管线处理包含在整数搜索引擎对另一视频块行进行操作的同时,使用对一视频块行进行操作的提取引擎及分数空间搜索引擎。
18、如权利要求15所述的计算机程序产品,其中所述二维管线处理涉及所述管线中的至少两个级。
19、如权利要求15所述的计算机程序产品,其中所述视频块为宏块、8×8的块、8×4的块、4×8的块、4×4的块或2×2的块。
20、一种视频编码方法,其包含:
基于先前针对邻近将要编码的当前视频块的视频块所计算的运动向量来运算运动向量预测值;使用所述运动向量预测值搜索用于对所述当前视频块进行编码的预测块;及
通过使用二维管线处理至少两个视频块行来计算至少一个运动向量预测值及至少一个运动向量。
21、如权利要求20所述的方法,其进一步包含产生指示将要编码的所述当前视频块与最佳预测块之间的差异的差异块。
22、如权利要求21所述的方法,其进一步包含向用于对所述当前视频块进行编码的所述预测视频块识别运动向量,包括计算至少部分取决于所述运动向量预测值的失真测量值。
23、如权利要求22所述的方法,其中所述失真测量值对编码不同运动向量所需的位数目进行量化。
24、如权利要求20所述的方法,其进一步包含在各级中以不同的空间分辨率实施搜索以向用于对所述当前视频块进行编码的所述最佳预测块识别运动向量。
25、如权利要求20所述的装置,其中所述二维管线包含在整数搜索引擎对另一视频块行进行操作的同时,使用对一视频块行进行操作的提取引擎及分数空间搜索引擎。
26、一种视频编码装置,其包含:
运动估计器,其向用于对当前视频块进行编码的最佳预测块识别运动向量,包括计算至少部分取决于与不同运动向量相关联的数据量的失真测量值;
运动补偿器,其产生指示将要编码的所述当前视频块与所述预测视频块之间的差异的差异块;及
通过在至少两个视频块行上使用二维管线来计算至少一个运动向量预测值及至少一个运动向量。
27、如权利要求26所述的视频编码装置,其中所述运动估计器在各级中以不同的空间分辨率实施搜索以向用于对所述当前视频块进行编码的所述最佳预测块识别所述运动向量。
28、如权利要求26所述的视频编码装置,其中所述视频编码装置基于先前针对邻近将要编码的所述当前视频块的视频块计算的运动向量来运算运动向量预测值,其中所述运动向量预测值界定所述级中至少一者中的搜索且还用于计算所述失真测量值。
CN2006800416881A 2005-09-22 2006-09-22 用于视频编码的多维毗邻块预测 Expired - Fee Related CN101305615B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71989105P 2005-09-22 2005-09-22
US60/719,891 2005-09-22
US11/533,745 US8761259B2 (en) 2005-09-22 2006-09-20 Multi-dimensional neighboring block prediction for video encoding
US11/533,745 2006-09-20
PCT/US2006/037130 WO2007038357A2 (en) 2005-09-22 2006-09-22 Multi-dimensional neighboring block prediction for video encoding

Publications (2)

Publication Number Publication Date
CN101305615A true CN101305615A (zh) 2008-11-12
CN101305615B CN101305615B (zh) 2011-06-08

Family

ID=37810755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800416881A Expired - Fee Related CN101305615B (zh) 2005-09-22 2006-09-22 用于视频编码的多维毗邻块预测

Country Status (7)

Country Link
US (1) US8761259B2 (zh)
EP (1) EP1958448B1 (zh)
JP (1) JP2009510845A (zh)
KR (1) KR100955152B1 (zh)
CN (1) CN101305615B (zh)
AT (1) ATE518372T1 (zh)
WO (1) WO2007038357A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339592A (zh) * 2011-09-29 2012-02-01 中山大学 一种基于lcd控制器的显存压缩方法
CN103327340A (zh) * 2013-06-20 2013-09-25 华为技术有限公司 一种整数搜索方法及装置

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060120612A1 (en) * 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
US7683910B2 (en) * 2006-06-29 2010-03-23 Microsoft Corporation Strategies for lossy compression of textures
KR100827093B1 (ko) * 2006-10-13 2008-05-02 삼성전자주식회사 영상 부호화 방법 및 장치
JP4898415B2 (ja) * 2006-12-19 2012-03-14 キヤノン株式会社 動画像符号化装置及び動画像符号化方法
US8127233B2 (en) * 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US8619877B2 (en) * 2007-10-11 2013-12-31 Microsoft Corporation Optimized key frame caching for remote interface rendering
US8121423B2 (en) * 2007-10-12 2012-02-21 Microsoft Corporation Remote user interface raster segment motion detection and encoding
US8106909B2 (en) * 2007-10-13 2012-01-31 Microsoft Corporation Common key frame caching for a remote user interface
EP2051530A2 (en) * 2007-10-17 2009-04-22 Electronics and Telecommunications Research Institute Video encoding apparatus and method using pipeline technique with variable time slot
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
KR101364195B1 (ko) 2008-06-26 2014-02-21 에스케이텔레콤 주식회사 움직임벡터 부호화/복호화 방법 및 그 장치
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
TWI404422B (zh) * 2010-04-14 2013-08-01 Himax Tech Ltd 階層式動作估計的方法與系統
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
MX2013001659A (es) 2010-09-24 2013-03-21 Panasonic Corp Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, y aparato de decodificacion de imagen.
CN103477637B (zh) * 2011-02-10 2017-04-26 太阳专利托管公司 动态图像编码方法、动态图像编码装置
TW201626802A (zh) * 2011-09-28 2016-07-16 Jvc Kenwood Corp 動態影像編碼裝置、動態影像編碼方法、動態影像編碼程式、送訊裝置、送訊方法及送訊程式、以及動態影像解碼裝置、動態影像解碼方法、動態影像解碼程式、收訊裝置、收訊方法及收訊程式
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
US20130235926A1 (en) * 2012-03-07 2013-09-12 Broadcom Corporation Memory efficient video parameter processing
US9277222B2 (en) * 2012-05-14 2016-03-01 Qualcomm Incorporated Unified fractional search and motion compensation architecture across multiple video standards
US8787689B2 (en) * 2012-05-15 2014-07-22 Omnivision Technologies, Inc. Apparatus and method for correction of distortion in digital image data
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9292899B2 (en) 2013-09-25 2016-03-22 Apple Inc. Reference frame data prefetching in block processing pipelines
US9224186B2 (en) 2013-09-27 2015-12-29 Apple Inc. Memory latency tolerance in block processing pipelines
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9715559B2 (en) * 2014-03-17 2017-07-25 Qualcomm Incorporated Hash-based encoder search for intra block copy
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
US10602174B2 (en) 2016-08-04 2020-03-24 Intel Corporation Lossless pixel compression for random video memory access
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US20200014945A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application acceleration
US20200014918A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application accelerator
US10291925B2 (en) * 2017-07-28 2019-05-14 Intel Corporation Techniques for hardware video encoding
US11025913B2 (en) 2019-03-01 2021-06-01 Intel Corporation Encoding video using palette prediction and intra-block copy
US20190222858A1 (en) * 2019-03-26 2019-07-18 Intel Corporation Optimal out of loop inter motion estimation with multiple candidate support
US10855983B2 (en) 2019-06-13 2020-12-01 Intel Corporation Encoding video using two-stage intra search

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414469A (en) 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
GB9519923D0 (en) 1995-09-29 1995-11-29 Philips Electronics Nv Motion estimation for predictive image coding
US5652625A (en) 1996-06-19 1997-07-29 United Microelectronics Corp. Multi-stage pipeline architecture for motion estimation block matching
JPH1023413A (ja) 1996-07-03 1998-01-23 Fuji Xerox Co Ltd 符号化装置
US6023296A (en) 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
US6690833B1 (en) 1997-07-14 2004-02-10 Sarnoff Corporation Apparatus and method for macroblock based rate control in a coding system
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
CN1147159C (zh) 1999-04-27 2004-04-21 三星电子株式会社 实时运动图像编码的高速运动估计方法及其装置
TW550953B (en) 2000-06-16 2003-09-01 Intel Corp Method of performing motion estimation
CN1156168C (zh) * 2001-01-12 2004-06-30 北京航空航天大学 快速视频运动估计方法
US20040190609A1 (en) * 2001-11-09 2004-09-30 Yasuhiko Watanabe Moving picture coding method and apparatus
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US7817717B2 (en) 2002-06-18 2010-10-19 Qualcomm Incorporated Motion estimation techniques for video encoding
US6925123B2 (en) * 2002-08-06 2005-08-02 Motorola, Inc. Method and apparatus for performing high quality fast predictive motion search
US7555044B2 (en) * 2002-10-04 2009-06-30 General Instrument Corporation Frequency coefficient scanning paths for coding digital video content
JP4289126B2 (ja) 2003-11-04 2009-07-01 ソニー株式会社 データ処理装置およびその方法と符号化装置
KR101160640B1 (ko) 2003-12-30 2012-06-28 삼성전자주식회사 데이터 처리 시스템 및 데이터 처리 방법
JP3879741B2 (ja) 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
JP4577048B2 (ja) 2004-03-11 2010-11-10 パナソニック株式会社 画像符号化方法、画像符号化装置および画像符号化プログラム
US7606427B2 (en) 2004-07-08 2009-10-20 Qualcomm Incorporated Efficient rate control techniques for video encoding
JP4145275B2 (ja) 2004-07-27 2008-09-03 富士通株式会社 動きベクトル検出・補償装置
US20060120612A1 (en) 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
US7813432B2 (en) * 2004-12-30 2010-10-12 Intel Corporation Offset buffer for intra-prediction of digital video
US9172973B2 (en) * 2005-04-01 2015-10-27 Broadcom Corporation Method and system for motion estimation in a video encoder
US7852940B2 (en) 2005-10-20 2010-12-14 Qualcomm Incorporated Scalable motion estimation for video encoding
US8208548B2 (en) 2006-02-09 2012-06-26 Qualcomm Incorporated Video encoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339592A (zh) * 2011-09-29 2012-02-01 中山大学 一种基于lcd控制器的显存压缩方法
CN103327340A (zh) * 2013-06-20 2013-09-25 华为技术有限公司 一种整数搜索方法及装置
CN103327340B (zh) * 2013-06-20 2016-06-15 华为技术有限公司 一种整数搜索方法及装置

Also Published As

Publication number Publication date
JP2009510845A (ja) 2009-03-12
KR20080046238A (ko) 2008-05-26
KR100955152B1 (ko) 2010-04-28
WO2007038357A3 (en) 2007-05-18
ATE518372T1 (de) 2011-08-15
US20070110160A1 (en) 2007-05-17
EP1958448A2 (en) 2008-08-20
CN101305615B (zh) 2011-06-08
US8761259B2 (en) 2014-06-24
EP1958448B1 (en) 2011-07-27
WO2007038357A2 (en) 2007-04-05

Similar Documents

Publication Publication Date Title
CN101305615B (zh) 用于视频编码的多维毗邻块预测
CN101133648B (zh) 用于帧内预测视频编码的模式选择方法及设备
CN102783149B (zh) 用于视频译码的适应性运动分辨率
US8073048B2 (en) Method and apparatus for minimizing number of reference pictures used for inter-coding
KR100964515B1 (ko) 비디오 인코딩을 위한 비-정수 픽셀 공유
CN100593955C (zh) 用于以帧间或帧内模式编码视频图像的方法和设备
US7088772B2 (en) Method and apparatus for updating motion vector memories
CN101073269A (zh) 用于视频编码的运动估计技术
US20060109905A1 (en) Fast block mode determining method for motion estimation, and apparatus thereof
CN104041048A (zh) 利用跳过模式进行视频编码和解码的方法和设备
CN102077595A (zh) 图像处理装置和方法
CN101390401A (zh) 借助伪影评价的提高的图像/视频质量
CN102217314A (zh) 用于视频图像删减的方法和装置
CN101663895B (zh) 使用所估计译码成本的视频译码模式选择
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
JP2004215275A (ja) 動き補償に基づいた改善されたノイズ予測方法及びその装置とそれを使用した動画符号化方法及びその装置
JP2004241957A (ja) 画像処理装置および符号化装置とそれらの方法
CN115118976A (zh) 一种图像编码方法、可读介质及其电子设备
US8792549B2 (en) Decoder-derived geometric transformations for motion compensated inter prediction
JPH10336672A (ja) 符号化方式変換装置およびその動きベクトル検出方法
CN1848960B (zh) 使用非标准化矢量量化编码器的符合视频标准的残差编码
EP2404448B1 (en) Method for predicting a block of image data, decoding and coding devices implementing said method
CN100584010C (zh) 功率最佳化的共位运动估测方法
US20070153909A1 (en) Apparatus for image encoding and method thereof
KR100586103B1 (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110608

Termination date: 20150922

EXPY Termination of patent right or utility model