CN101127913B - 具有提供参考运动向量的位置的机制的帧间预测处理器 - Google Patents

具有提供参考运动向量的位置的机制的帧间预测处理器 Download PDF

Info

Publication number
CN101127913B
CN101127913B CN2007101030381A CN200710103038A CN101127913B CN 101127913 B CN101127913 B CN 101127913B CN 2007101030381 A CN2007101030381 A CN 2007101030381A CN 200710103038 A CN200710103038 A CN 200710103038A CN 101127913 B CN101127913 B CN 101127913B
Authority
CN
China
Prior art keywords
motion vector
macro
memory location
vector
address
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
CN2007101030381A
Other languages
English (en)
Other versions
CN101127913A (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.)
Socionext Inc
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Publication of CN101127913A publication Critical patent/CN101127913A/zh
Application granted granted Critical
Publication of CN101127913B publication Critical patent/CN101127913B/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/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • 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

Abstract

本发明公开了一种具有提供参考运动向量的位置的机制的帧间预测处理器。其中帧间预测处理器被设计用于高速视频编码和解码。该帧间预测处理器具有地址选择器和预测值计算器。地址选择器接收关于MBAFF类型和编码类型的信息。在参考围绕当前块的块执行对给定的MBAFF图片的运动补偿时,该地址选择器根据当前块对的编码类型和参考块的编码类型,提供参考运动向量的存储器地址。预测值计算器基于从所提供的存储器地址读出的参考运动向量,确定当前块对的每个组成块的运动向量预测值。

Description

具有提供参考运动向量的位置的机制的帧间预测处理器
技术领域
本发明涉及用于根据其他帧预测帧的设备,并且涉及使用这种设备的视频编码和解码设备。更具体而言,本发明涉及基于块执行视频帧的帧间预测的帧间预测处理器、视频编码设备以及视频解码设备。
背景技术
数字视频压缩技术被广泛用于许多应用中。MPEG和H.264是该技术领域中的标准规范,其中MPEG代表“运动图片专家组”。用在这些标准中的编码和解码算法将每个给定图片划分为小的区域,并且利用运动补偿技术处理这些区域。这种图片区域被称为“宏块”(macroblock)。视频编码过程涉及帧内预测和帧间预测。帧内预测通过利用正交变换、量化和其他数据压缩算法减少了单个帧内的冗余。另一方面,帧间预测通过提取运动补偿残余(即,当前帧和经运动补偿的参考帧之间的差)并对其编码减少了连续帧之间的冗余。所得到的视频数据随后被进行熵编码以用于传输或存储。视频解码过程反向执行上述步骤以从经压缩的视频中重构原始视频。
包括MPEG和H.264的一些标准编码算法自适应地选择基于帧的编码模式或基于场的编码模式来对经交织的视频信号进行处理。这些算法还允许对于每两个垂直相邻的宏块(或者“宏块对”)在帧间预测和场间预测之间进行切换,以进行运动向量计算。这种编码模式被称作“宏块自适应场/帧”(MBAFF)模式。要使用这三种模式中的哪种模式可以基于单个图片用“编码类型”参数来指定。在本说明中,这三种编码模式将被称作“帧”、“场”和“MBAFF”模式。前两种模式在适当的情况下也被总地称作非MBAFF模式。
图56说明了对于每种不同的编码类型宏块要被处理的顺序。图56的最上面的部分示出了编码过程选择构成图片的16×16像素的宏块所依照的顺序。具体而言,图56的上方左边部分示出了“帧”编码类型,在该模式中构成帧的16×16个像素的宏块从左到右从上到下地被处理。这意味着奇数行和偶数行被交替选出进行处理。
图56的上方中间部分示出了“场”编码类型的情况,在该模式中视频数据作为两个分离的场被处理,这两个场即上场和下场。该编码处理开始于上场(或者奇数行),然后在后续场同步期间继续到下场(或者偶数行),如图56中下方中间部分所示。
图56的右上角示出了“MBAFF”编码类型的情况,其中基于宏块处理帧。场行的处理顺序取决于感兴趣的宏块对是要被帧间编码还是场间编码。在帧间编码宏块对(下文称作“帧对”)的情况下,奇数行和偶数行交替被处理,如图56中的右下部分所示。在场间编码宏块对(下文称作“场对”)的情况下,奇数行在偶数行之前被处理,这是因为第一和第二宏块对分别与上场数据和下场数据相对应。
为了提高用于包含边(edge)和框(outline)的宏块的运动向量预测的准确度,一些现有的编码算法将这种宏块分割为更小的块,并且针对每个块计算运动向量。例如,H.264支持将尺寸为16×16像素的基本宏块按需要划分为各种块尺寸(包括4×4像素的最小子分区)的宏块分区。
上述视频编码算法的大部分工作是计算运动向量以用于帧间预测。因此,希望开发一种更快速和更有效的运动向量计算方法。一种方法例如在日本未审查专利申请公开No.2004-266731中提出的。所提出的视频编码方法通过选择性地存储已被确定为用在下一个经运动补偿的交互编码(inter-coded)的帧中的有限数目的参考宏块,减轻了对参考图片的存储器容量的需求。
视频编码设备计算与每个个体宏块相对应的运动向量(在适当的情况下缩写为“MV”),然后根据之前计算的当前宏块的周围宏块的运动向量确定当前宏块的运动向量预测值(在适当的情况下缩写为“MVP”)。视频编码设备随后对MV和MVP之间的运动向量差(在适当的情况下缩写为“MVD”)编码,并将其与宏块信息一起输出作为经编码的视频数据流。该视频流被视频解码设备接收。视频解码设备对经编码的MVD和宏块信息解码,并根据MVD和MVP计算运动向量,其中宏块的MVP可以根据已经被解码的周围块的运动向量确定。利用这些运动向量,视频解码设备重构原始视频流。
视频解码设备具有用于向量存储位置的存储器,向量存储位置被保留来存储已被解码的宏块的运动向量,以在后面重构后续宏块的运动向量时用于参考。更具体地说,这些向量存储位置存储当前被处理的宏块的运动向量以及已针对与当前宏块相邻的宏块计算出的运动向量。
在MBAFF模式中,宏块的MVP是根据当前宏块对及其相邻宏块对确定的。由于这些宏块对可能不总是相同类型的,所以传统的MBAFF算法在从向量存储位置读取运动向量/往向量存储位置写运动向量时,对这种不一致性进行补偿。例如,假设当前宏块对采用帧形式,而围绕其的宏块对采用场形式。在这种情况下,传统的算法在将运动向量写入存储器之前将那些相邻宏块对从场形式转换成帧形式。这个转换任务增加了额外的处理负担,因此降低了视频编码器和解码器的效率。
发明内容
考虑到上述内容,本发明的目的是提供一种高速执行帧间预测的设备以用于视频信号编码和解码。本发明的另一个目的是提供利用所提议的帧间预测设备的视频编码和视频解码设备。
为了实现上述第一目的,本发明提供了一种以块为基础执行视频帧的帧间预测的帧间预测处理器。该帧间预测处理器具有地址选择器,用于根据关于当前块对及其相邻块对的给定的编码类型信息来提供参考运动向量的存储器地址。当参考当前块对以外的块执行运动向量预测时,并且当给定的宏块自适应帧/场(MBAFF)标识类型信息指示给定的图片被假定以对于每个个体块对允许在帧预测和场预测之间进行选择的MBAFF模式被处理时,所述地址选择器被激活。编码类型信息指示每个块对是以帧形式还是以场形式被组织的。该帧间预测处理器还具有预测值计算器,预测值计算器用于基于从所提供的存储器地址读出的参考运动向量,确定针对当前块对的每个组成块的运动向量预测值。
另外,为了实现上述第二目的,本发明还提供了一种通过以块为基础执行源图片和参考图片之间的运动补偿预测来将视频信号编码为压缩视频数据的视频编码设备。该视频编码设备具有地址选择器,用于根据关于当前块对及其相邻块对的给定的编码类型信息来提供参考运动向量的存储器地址。当参考当前块对外的块执行运动向量预测时,并且当给定的宏块自适应帧/场(MBAFF)标识类型信息指示给定的图片被假定以对于每个独立的块对允许在帧预测和场预测之间进行选择的MBAFF模式被处理时,所述地址选择器被激活。编码类型信息指示每个块对是以帧形式还是以场形式被组织的。该视频编码设备还具有帧间预测处理器,其基于从所提供的存储器地址读出的参考运动向量来确定针对当前块对的每个组成块的运动向量预测值,并且计算所计算出的当前块的运动向量和所确定的运动向量预测值之间的差值,从而使得所计算出的差值被编码。
此外,为了实现上述第二目的,本发明还提供了一种从通过以块为基础执行运动补偿帧间预测所产生的压缩视频信号重构原始视频图片的视频解码设备。该视频解码设备具有地址选择器,用于根据关于当前块对及其相邻块对的给定的编码类型信息来提供参考运动向量的存储器地址。当参考当前块对外的块执行运动向量预测时,并且当给定的宏块自适应帧/场(MBAFF)标识类型信息指示给定的图片被假定以对于每个独立的块对允许在帧预测和场预测之间进行选择的MBAFF模式被处理时,所述地址选择器被激活。编码类型信息指示每个块对是以帧形式还是以场形式被组织的。该视频解码设备还具有帧间预测处理器,其基于从所提供的存储器地址读出的参考运动向量来确定针对当前块对的每个组成块的运动向量预测值,并且根据所确定的运动向量预测值和经解码运动向量差值再现当前块的运动向量。
本发明的以上和其他的目的、特征和优点将从下面结合附图的描述中变清楚,附图以示例方式图示了本发明的优选实施例。
附图说明
图1给出了本发明的概观。
图2是根据本发明第一实施例的视频编码设备的框图。
图3是根据本发明第一实施例的视频解码设备的框图。
图4示出了在H.264中定义的宏块和子宏块的各种尺寸。
图5是示出了根据本发明第一实施例所提议的视频解码设备如何为帧间预测计算运动向量的功能框图。
图6示出了根据第一实施例的帧结构和向量存储位置之间的关系。
图7示出了分配给构成16×16宏块的子宏块的块编号。
图8A和8B示出了在16×16宏块的情况下第一实施例是如何计算并写入运动向量的。
图9A和9B示出了在16×8宏块的情况下第一实施例是如何计算并写入运动向量的。
图10A和10B示出了在8×16宏块的情况下第一实施例是如何计算并写入运动向量的。
图11A和11B示出了在8×8宏块的情况下第一实施例是如何计算并写入运动向量的。
图12A、12B、13A和13B示出了第一实施例是如何将宏块分区为子宏块以及其如何为子宏块产生并写入代表性运动向量的。
图14和15示出了第一实施例中地址翻译表是如何工作的。
图16示出了第一实施例如何将相邻宏块的运动向量保存到MB-A向量存储位置中的。
图17示出了第一实施例如何将相邻宏块的运动向量保存到MB-BCD向量存储位置中的。
图18A和18B示出了根据第一实施例的相邻16×16宏块和16×8宏块的代表性向量存储位置。
图19A和19B示出了根据第一实施例的相邻8×16宏块和8×8宏块的代表性向量存储位置。
图20示出了根据第一实施例的相邻4×4子宏块的代表性向量存储位置。
图21和22示出了地址翻译表是如何被用于参考MB-A向量存储位置的。
图23和24示出了根据第一实施例地址翻译表是如何被用于参考MB-BCD向量存储位置的。
图25A和25B示出了根据本发明第二实施例的帧结构和向量存储位置之间的关系。
图26示出了第二实施例是如何保存当前宏块对的代表性运动向量的。
图27A和27B示出了MBAFF模式中相邻宏块MB-A和MB-BCD的位置。
图28A到31B描述了MB-BCD相邻宏块位置的详细情形。
图32A到32D相对于图27A和27B中示出的向量存储位置描述了MB-A相邻向量宏块位置的详细情形。
图33A到33D示出了在各种情况下要被参考的相邻宏块MB-D。
图34示出了根据第二实施例的地址翻译器。
图35A到35C示出了在MBAFF模式中地址翻译器是如何工作的。
图36A到55示出了相邻宏块位置的各种图案。
图56说明了对于每种不同的编码类型,宏块要被处理的顺序。
具体实施方式
下面将参考附图描述本发明的优选实施例,附图中相似的编号在全文中指代相似的元件。首先描述本发明的概述,然后描述本发明的更具体的实施例。在该文件的以下部分,宏块(及其分区)的尺寸和形状由代表其宽度和高度的前缀指示。例如,术语“16×8宏块”表示16个像素宽乘以8个像素高的宏块。这种尺寸前缀可以被应用到那些子宏块。尺寸为16×16像素的宏块被称为“基本宏块”。
图1给出了本发明的概观。所示出的帧间预测处理器1意图用在视频编码设备和视频解码设备中,这些设备通过将每个给定的图片划分为具有适当尺寸的小区域(被称为“宏块”或者简称为“块”)以用于运动向量估计目的,从而对视频数据流进行处理。块尺寸(即,宏块的面积尺寸)是根据图片运动幅度或目标的所需分辨率而从若干个规定尺寸中选出的。本说明书并不讨论如何确定块尺寸的细节,因为某些现有的技术文献已经提供了这些信息。
根据本发明,帧间预测处理器1除了其他以外具有地址选择器2和预测值计算器3,用于提供下述功能。地址选择器2对来自预测值计算器3的指定给定图片中的特定块的输入作出响应。根据本发明,地址选择器2基于给定的MBAFF类型信息和编码类型信息提供参考运动向量的存储器地址。MBAFF类型信息指示给定的图片被假定为以MBAFF模式被编码还是以非MBAFF模式被编码。MBAFF模式允许对于每个块对在帧预测和场预测之间进行选择。非MBAFF模式包括帧模式和场模式。编码类型信息指示每对块(包括当前块对及其相邻块对)以帧形式(即,以使上场行和下场行交织的形式)被组织还是以场形式(即,以分离的上场和下场的形式)被组织。
当参考当前块对以外的块执行运动补偿时,并且当在MBAFF类型信息指示给定的图片被假定要以MBAFF模式被编码时,地址选择器2根据关于当前块对及其相邻块对的编码类型信息提供参考运动向量的存储器地址。地址选择器2可以被设计为具有用来提供参考运动向量的存储器地址的表,后面将详细描述。
预测值计算器3基于从所提供的存储器地址读出的参考运动向量为当前块对的每个组成块确定运动向量预测值。
上述帧间预测处理器1的操作如下。地址选择器2接收关于MBAFF类型和编码类型的信息。在参考围绕当前块的块对给定的MBAFF图片执行运动补偿时,地址选择器2根据当前块对的编码类型以及参考块的编码类型,提供参考运动向量的存储器地址。预测值计算器3从所提供的存储器地址读出运动向量,并且根据这些参考运动向量为组成当前块对的每个块确定运动向量预测值。
接下来的部分和一些后续部分将讨论作为本发明的更具体实施例的II.264编码和解码设备。H.264标准提供了以下的宏块尺寸选项:16×16、16×8、8×16和8×8。如果选择8×8模式,则四个8×8宏块分区中的每一个可被分割为具有以下尺寸的更小的块:8×8、8×4、4×8和4×4(称为宏块子分区)。基线编码算法以宏块为基础对每个给定的源帧进行编码,在利用一个帧内的空间冗余的帧内编码和利用连续帧之间的时间冗余的帧间编码之间切换。视频解码过程反向执行上述步骤,来从经压缩视频重构原始视频。尽管H.264允许双向运动预测,但是下面的描述为了简化起见假定了前向预测。然而,本发明不应当限于前向预测。本领域技术人员将意识到,通过添加某些存储器区域用于存储过去和未来的参考帧的运动向量,本发明也可以应用于双向预测。为了说明,下面的部分将假设非MBAFF编码来描述本发明的第一实施例。然后将假设MBAFF编码来描述本发明的第二实施例。
视频编码设备(第一实施例)
图2是根据本发明第一实施例的视频编码设备的框图。图示的视频编码设备100包括以下元件:宏块划分器101、运动向量估计器102、过去帧缓冲器103、帧间预测器104、帧内预测器105、当前帧缓冲器106、预测模式选择器107、减法器108、正交变换和量化单元109、熵编码器110、去量化和反向正交变换单元111、加法器112、去块(deblocking)滤波器113和帧缓冲器管理器114。
宏块划分器101将给定源图片划分为预定尺寸的宏块。运动向量估计器102将源宏块的视频信号分量与存储在过去帧缓冲器103中的参考宏块的视频信号分量相比较,从而计算该源宏块的运动向量。由于邻近块的运动向量常常是高度相关的,因此可以由周围块的向量预测出特定块的运动向量。从而,帧间预测器104根据其周围的运动向量计算运动向量预测值MVP,然后通过从真实运动向量中减去MVP来计算运动向量差MVD。另一方面,帧内预测器105执行对存储在当前帧缓冲器106中的帧的帧内编码。预测模式选择器107例如通过将帧间预测器104的预测误差与帧内预测器105的预测误差相比较,来选择使得当前宏块的编码效率最大的编码模式。预测模式选择器107创建编码模式参数以指示选择结果。编码模式参数被传递到熵编码器110,作为要被进行熵编码的数据的一部分。编码模式参数包括宏块分区的尺寸和子宏块分区的尺寸。
当选择帧内模式时,划分后的源宏块被原样从宏块划分器101提供给正交变换和量化单元109。这些宏块被进行正交变换和量化,并且所得到的变换系数被传递到熵编码器110以进行熵编码和传输。变换系数还被去量化和反向正交变换单元111解码并被发送到当前帧缓冲器106中。
当选择帧间模式时,帧间预测器104向熵编码器110提供MVD以用于熵编码。另外,利用MVP预测的图片通过预测模式选择器107被提供给减法器108。减法器108以宏块为基础从源图片中减去预测的图片,并将结果发送到正交变换和量化单元109。经量化的输出数据被去量化和反向正交变换单元111本地解码并被传给加法器112,在加法器112处通过预测模式选择器107提供的预测图片被添加。所得到的图片被写入到当前帧缓冲器106中。熵编码器110利用熵编码算法对给定数据编码,从而输出携带压缩形式的视频数据的经编码的视频信号。存储在当前帧缓冲器106中的参考图片经去块滤波器113处理,在去块滤波器113处对宏块之间的边界区域进行平滑。所得到的图片被通过帧缓冲器管理器114输入到过去帧缓冲器103。
视频解码设备(第一实施例)
图3是根据本发明第一实施例的视频解码设备的框图。图示的视频解码设备200由以下元件构成:熵解码器201、去量化和反向正交变换单元202、加法器203、当前帧缓冲器204、帧内预测器205、预测模式选择器206、去块滤波器207、帧缓冲器管理器208、过去帧缓冲器209和帧间预测器210。利用这些元件,视频解码设备200对由图2的视频编码设备100产生的经编码的视频信号进行解码。
给定的经编码的视频信号被熵解码器201进行熵解码,然后被去量化和反向正交变换单元202去量化并反向变换。该解码过程的结果包括编码模式参数等,并且在帧间编码的情况下包括MVD形式的运动向量数据。基于解码后的编码模式参数,预测模式选择器206选择帧内预测器205或帧间预测器210。
当选择帧内预测器205时,由去量化和反向正交变换单元202重构的图片帧被路由到当前帧缓冲器204。当选择帧间预测器210时,运动向量差MVD被解码回视频编码设备100(图2)针对各个宏块产生的原始运动向量。利用所得到的运动向量,帧间预测器210再现预测图片,并将预测图片通过预测模式选择器206提供给加法器203。在去量化和反向正交变换单元202处解码的预测误差随后被添加到该预测图片。所得到的经解码图片被输入到当前帧缓冲器204。当前帧缓冲器204中的该图片数据被通过去块滤波器207和帧缓冲器管理器208传送到过去帧缓冲器209之一。
上述视频解码设备200中的帧间预测器210按以下方式对运动向量解码。图4示出了在H.264中定义的宏块和子宏块的各种尺寸。其中折线(broken)箭头指示处理的顺序。
在图4的最上部示出了尺寸为16×16像素的基本宏块11。在该规范中,块的尺寸被适当地指定为代表宽度乘以高度的前缀(如在“16×16宏块11”中)。16×16基本宏块11可被垂直分区为两个16×8宏块12,或被水平分区为两个8×16宏块13,或被以两种方式同时分区为四个8×8宏块14。如虚线箭头所示,16×8宏块12被从上到下地加以处理。8×16宏块13被从左到右地加以处理。8×8宏块14被从左上到右上,然后从左下到右下地加以处理。
H.264还允许8×8宏块14被划分为更小的分区,称为“子宏块”。上述尺寸前缀也可被应用于这些子宏块。在图4所示的示例中,左上方的8×8宏块14被划分为两个8×4子宏块15a,右上8×8宏块14被划分为两个4×8子宏块15b,右下8×8宏块14被划分为四个4×4子宏块15c。子宏块被假定为按与在上述宏块分区中相同的顺序加以处理。
图5是示出了根据本发明第一实施例所提议的视频解码设备200如何为帧间预测计算运动向量的功能框图。具体而言,帧间预测器210包括以下元件:存储器211、MVP计算器212、地址翻译器213、运动向量计算器214、MB-A向量存储管理器215和MB-BCD向量存储管理器216。令符号“Cu”指代当前被处理的宏块。围绕该当前块Cu的宏块被称作“MB-A”(紧挨着左边的)、“MB-B”(紧挨着上面的)、“MB-C”(对角线右上角)、“MB-D”(对角线左上角)。另外,三个相邻宏块MB-B、MB-C和MB-D被统称为符号“MB-BCD”。
存储器211存储先前已针对在先宏块计算的运动向量。这些运动向量中的某一些被用于计算当前宏块的MVP。存储器211还提供用于当前块的运动向量的存储空间,后面将更详细地描述。实际上,计算出的运动向量被存储在一些选出的向量存储位置中。这样的位置在下文中将被称作“代表性向量存储位置”,并且在这些位置中存储的运动向量被称作“代表性向量”。
MVP计算器212向地址翻译器213指定围绕当前宏块Cu的每个相关的相邻宏块,从而获得存储器211中每个相应的代表性向量存储位置的地址。利用从所获得的地址中读出的代表性向量,MVP计算器212计算MVP。尽管有各种确定MVP的方式,但是本实施例计算相邻宏块的运动向量的中值(median)作为运动向量预测值MVP:
MVP=Median(MV-A,MV-B,MV-C)......(1)
其中MV-A、MV-B和MV-C分别指相邻宏块MB-A、MB-B和MB-C的运动向量。在当前宏块位于帧的右边缘上的情况下(其中MV-C不可用),公式(1)中的运动向量MV-C可利用另一个宏块MB-D的运动向量MV-D被替换。三个变量x、y和z的中值表达如下:
Median(x,y,z)=x+y+z-Min(x,Min(y,z))-Max(x,Max(y,z))......(2)
其中Min(x,y)指x和y中的较小者,Max(x,y)指x和y中的较大者。
地址翻译器213将给定的相邻宏块尺寸(或子宏块尺寸)翻译为代表性向量存储位置地址。运动向量计算器214按以下方式根据由MVP计算器212计算的MVP和经解码的MVD重构运动向量:
MV=MVP+MVD......(3)
所得到的运动向量MV被保存在存储器211中,更具体而言,是保存在与当前宏块Cu相对应的代表性向量存储位置中。
存储器211维护先前针对每个宏块计算的运动向量。MB-A向量存储管理器215读出这些被存储的运动向量中与在后续的向量预测过程中将作为相邻宏块MB-A而被参考的宏块相对应的一个运动向量,,并将其输入到存储器211中的MB-A向量存储位置。类似地,MB-BCD向量存储管理器216读出与在后续的向量预测过程中将作为相邻宏块MB-B、MB-C和MB-D而被参考的宏块相对应的被存储的运动向量,并将它们输入到保留在同一存储器211中的MB-BCD向量存储位置。
上述帧间预测器210根据在本实施例中提出的帧间预测方法进行操作。帧间预测的细节将在下面的部分中描述,假设当前图片以帧模式被编码。
运动向量的存储器布置
存储器211提供为所计算的运动向量保留的向量存储位置。图6示出了根据第一实施例的帧结构和向量存储位置之间的关系。对于帧间预测,给定帧300被划分为多个16×16基本宏块301,其中宏块的尺寸可以按需要变化。
存储器211提供当前块向量存储位置310以容纳针对当前宏块Cu计算的运动向量。还提供了相邻块向量存储位置320、331和332以存储相邻宏块MB-A和MB-BCD的运动向量。当前块存储位置310可以容纳多达十六个向量,假定当前的16×16基本宏块被分区为十六个4×4子宏块(最小尺寸分区)。
相邻块向量存储位置被划分为两类。一类是用于存储将作为相邻宏块MB-A被参考的宏块的运动向量的MB-A向量存储位置320。MB-A向量存储位置320被映射到当前宏块Cu左边的四个垂直对齐的4×4子宏块上。当当前宏块Cu的运动向量在当前块向量存储位置310中变得可用时,MB-A向量存储管理器215将它们拷贝到这些MB-A向量存储位置320。
另一类是被保留来存储将作为相邻宏块MB-B、MB-C和MB-D被参考的宏块的运动向量的MB-BCD向量存储位置331和332。MB-BCD向量存储位置331被映射到紧挨着当前宏块Cu上方的最下面一排的4×4子宏块上。这一排包括相邻宏块MB-B、MB-C和MB-D。MB-BCD向量存储位置332被映射到当前宏块Cu所属帧行上的最下面一排的4×4子宏块上。当当前宏块Cu的运动向量在当前块向量存储位置310中变得可用时,MB-BCD向量存储管理器216将与最下面的子宏块相对应的向量拷贝到MB-BCD存储位置332。MB-BCD存储位置332中的这些运动向量将在之后焦点到达帧的下一行时被参考。
随着处理焦点的移动,存储在存储器211中的上述向量存储位置处的运动向量被更新。例如,假定焦点从当前宏块移到下一宏块311。已被用于存储在先宏块的运动向量的向量存储位置随后开始服务于新的当前宏块311。从而,MB-A向量存储位置320被用于存储前一宏块的最右边的块处的运动向量。MB-BCD向量存储位置331和332也以类似方式被重写。
子宏块编号
为了说明方便,基本宏块的4×4子宏块分区按以下方式编号。图7示出了被分配给构成16×16基本宏块的子宏块的块编号。具体而言,图示的16×16基本宏块340首先被分区为四个8×8宏块,并且编号过程按左上、右上、左下和右下分区的顺序进行。另外,每个8×8宏块被分区为四个4×4子宏块,并且所得到的左上、右上、左下和右下的块按该顺序被编号。因此,构成左上8×8宏块的左上、右上、左下和右下子宏块分别被编号为b0、b1、b2和b3。然后构成右上8×8宏块的左上、右上、左下和右下子宏块分别被编号为b4、b5、b6和b7。类似地,构成左下8×8宏块的四个4×4子宏块被编号为b8到b11,构成右下8×8宏块的四个4×4子宏块被编号为b12到b15。
在以下部分中,上面定义的块编号b0到b15将被用于指代与宏块分区相对应的向量存储位置。
运动向量计算和存储管理
再次参考图5,MVP计算器212咨询地址翻译器213以获得存储有每个被参考的相邻宏块的运动向量的存储器地址。MVP计算器212从所获得的存储器地址中读出所需的运动向量,并根据公式(1)计算MVP。然后利用公式(3),运动向量计算器214根据所计算的MVP和经解码MVD产生运动向量,然后将结果写到存储器211中的代表性向量存储位置中。现在假设该代表性向量存储位置对应于当前宏块的左上角处的4×4子宏块。
图8A和图8B示出了在16×16宏块的情况下第一实施例如何计算和写入运动向量。具体而言,图8A示出了针对宏块产生的代表性运动向量,而图8B示出了针对该向量的存储器写序列。
参考图8A,MVP计算器212读出与16×16当前宏块Cu400相邻的MB-A的b5、MB-B的b10、MB-C的b10和MB-D的b15的运动向量,从而根据公式(1)确定MVP。然后利用公式(3),运动向量计算器214根据所计算的MVP和经解码的MVD产生运动向量MV0。所计算的运动向量MV0被存储在与当前宏块Cu400的左上角相对应的向量存储位置b0401中。
参考图8B的序列图,EN信号发起将MV0写入到地址WAD=0的存储位置b0中的写周期。当后面的MVP计算过程参考该向量MV0时,地址翻译器213自动提供其存储地址,从而不需要在存储器211中的预定向量存储位置上复制同一向量。即,所提出的方法只写入一个地址,而传统方法写入十六个地址。本实施例极大地减少了处理时间。
图9A和9B示出了在16×8宏块的情况下第一实施例是如何计算和写入运动向量的。具体而言,图9A示出了针对垂直分区的宏块产生的代表性运动向量,而图9B示出了针对这些向量的存储器写序列。
假定当前焦点在上边的16×8宏块Cu0411上。MVP计算器212从与16×8当前宏块Cu0411相邻的MB-A的b5、MB-B的b10、MB-C的b10和MB-D的b15读取运动向量。MVP计算器212根据这些参考运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu0411的运动向量MV0。所计算的运动向量MV0被存储在与当前宏块Cu0411的左上角的块b0412相对应的向量存储位置中。
现在假定焦点移到下边的16×8宏块Cu1413。MVP计算器212从与16×8当前宏块Cu1413相邻的MB-A的b13、Cu0411(如同MB-B一样)的b2和MB-D的b7读取运动向量。MVP计算器212根据这些运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu1413的运动向量MV1。(注意,对于宏块X没有计算出的运动向量。)所计算的MV1随后被存储在与位于当前宏块Cu1413的左上角的块b8414相对应的向量存储位置中。
参考图9B的序列图,EN信号被两次断言以发起两个写周期。第一写周期将MV0存储到地址WAD=0的存储位置b0中。第二写周期将MV1存储到地址WAD=8的另一个存储位置b8中。
图10A和10B示出了在8×16宏块的情况下第一实施例是如何计算并写入运动向量的。具体而言,图10A示出了针对水平分区的宏块产生的代表性运动向量,而图10B示出了针对这些向量的存储器写序列。
假定当前焦点在左边的8×16宏块Cu0421上。MVP计算器212从与8×16当前宏块Cu0421相邻的MB-A的b5、MB-B的b10、MB-C的b14和MB-D的b15读取运动向量。MVP计算器212根据这些运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu0421的运动向量MV0。所计算的运动向量MV0被存储在与当前宏块Cu0421的左上角相对应的b0422中。
现在假定焦点移到右边的8×16宏块Cu1423。MVP计算器212从与8×16当前宏块Cu1423相邻的MB-A(=前一8×16宏块Cu0)的b1、MB-B的b14、MB-C的b10和MB-D的b11读取运动向量。MVP计算器212根据这些运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu1423的运动向量MV1。所计算的运动向量MV1被存储在位于当前宏块Cu1423的左上角的b4424中。
参考图10B的序列图,EN信号被两次断言以发起两个写周期。第一写周期将MV0存储到地址WAD=0的存储位置b0中。第二写周期将MV1存储到地址WAD=4的另一个存储位置b4中。
图11A和11B示出了在8×8宏块的情况下第一实施例是如何计算和写入代表性运动向量的。具体而言,图11A示出了针对宏块分区产生的四个代表性运动向量,而图11B示出了针对这些向量的存储器写序列。
假定当前焦点在左上8×8宏块Cu0431上。MVP计算器212从与当前宏块Cu0431相邻的MB-A的b5、MB-B的b10、MB-C的b14和MB-D的b15读取运动向量。MVP计算器212根据这些运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu0431的运动向量MV0。所计算的运动向量MV0被存储在位于当前宏块Cu0431的左上角的b0432中。
假定焦点移到右上8×8宏块Cu1433。则MVP计算器212从围绕当前宏块Cu1433的MB-A(=前一8×8宏块Cu0431)的b1、MB-B的b14、MB-C的b10和MB-D的b11读取运动向量。MVP计算器212根据这些运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu1433的运动向量MV1。所计算的运动向量MV1被存储在位于当前宏块Cu1433的左上角的b4434中。
假定焦点移到左下8×8宏块Cu2435。则MVP计算器212从围绕当前宏块Cu2435的MB-A的b13、MB-B(=左上8×8宏块Cu0431)的b2、MB-C(=右上8×8宏块Cu1433)的b6和MB-D的b7读取运动向量。MVP计算器212根据这些运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu2435的运动向量MV2。所计算的运动向量MV2被存储在位于当前宏块Cu2435的左上角的b8436中。
假定焦点移到右下8×8宏块Cu3437。则MVP计算器212从围绕当前宏块Cu3437的MB-A(=在先8×8宏块Cu2435)的b9、MB-B(=右上宏块Cu1433)的b6和MB-D(=左上宏块Cu0431)的b3读取运动向量。MVP计算器212根据这些运动向量确定MVP,从而允许运动向量计算器214计算当前宏块Cu3437的运动向量MV3。所得到的向量MV3被存储在位于当前宏块Cu3437的左上角的b12438中。
参考图11B的序列图,EN信号被四次断言以发起四个写周期。第一写周期将MV0存储到地址WAD=0的存储位置b0中。第二写周期将MV1存储到地址WAD=4的另一个存储位置b4中。第三写周期将MV2存储到地址WAD=8的另一个存储位置b8中。第四写周期将MV3存储到地址WAD=12的另一个存储位置b12中。
图12A、12B、13A和13B示出了第一实施例是如何将宏块分区为子宏块以及如何产生并写入子宏块的代表性运动向量。具体而言,图12A示出了宏块子分区的示例,图12B示出了针对子宏块SB0到SB2产生的代表性运动向量。图13A示出了针对另一个子宏块SB3产生的代表性运动向量。图13B是示出了所得到的运动向量如何被保存在存储器211中的序列图。
参考图12A,其中示出了宏块子分区的示例。每个8×8宏块可被分区为更小的块。具体而言,左上8×8宏块实际不被分区,而是仍保持为单个8×8块SB0441。右上8×8宏块被划分为两个8×4块,SB1-0451和SB1-1453。左下8×8宏块被划分为两个4×8块,SB2-0461和SB2-1463。右下8×8宏块被划分为四个4×4块,SB3-0471、SB3-1472、SB3-2473和SB3-3474。
参考图12B,按以下方式确定这些子宏块的运动向量。针对左上子宏块SB0441,根据周围块的运动向量确定运动向量MV0,并将其保存在位于SB0441的左上角的b0442中。针对上边的8×4子宏块SB1-0451,根据周围块的运动向量确定运动向量MV1,并将其保存在与SB1-0451的左半部分相对应的b4452中。类似地,针对下边的8×4子宏块SB1-1453产生运动向量MV2,并保存在与SB1-1453的左半部分相对应的b6454中。以类似方式,针对左边的4×8子宏块SB2-0461产生运动向量MV3,并保存在b8462中,针对右边的4×8子宏块产生运动向量MV4,并保存在b9464中。
参考图13A,分别针对最小尺寸的子宏块SB3-0471、SB3-1472、SB3-2473和SB3-3474确定四个运动向量MV5、MV6、MV7和MV8。这些运动向量被保存在其相应的存储位置b12、b13、b14和b15中。
参考图13B的序列图,EN信号发起九个写周期。第一写周期将MV0存储到地址WAD=0的b0中,第二写周期将MV1存储到地址WAD=4的b4中。第三写周期将MV2存储到地址WAD=6的b6中,第四写周期将MV3存储到地址WAD=8的b8中。第五写周期将MV4存储到地址WAD=9的b9中,第六写周期将MV5存储到地址WAD=12的b12中。第七写周期将MV6存储到地址WAD=13的b13中,第八写周期将MV7存储到地址WAD=14的b14中。最后,第九写周期将MV8存储到地址WAD=15的b15中。
本发明的第一实施例仅在特定的向量存储位置(例如,与左上块相对应的一个位置)中保存所产生的运动向量,该特定向量存储位置代表产生该向量的宏块域。从图8A到11B中可见,对于被分区的基本宏块的预测过程在分区尺寸为8×8或更大时至多涉及四个写周期。只有当每个分区是4×4块时,基本宏块的全部十六个存储位置都被填满。在大多数情况下,与传统过程不同,利用较少数目的写周期完成了预测过程。从而,第一实施例减少了预测运动向量所需的时间。
上述过程允许运动向量被存储在向量存储位置310、320、331和332中,这些向量存储位置是为当前宏块Cu和其周围的宏块MB-A和MB-BCD保留的,如图6中所述。
地址翻译
地址翻译器213通过将指定相邻宏块的给定信息翻译为与该宏块相对应的代表性向量存储位置的特定地址,来为MVP计算器212服务。即,地址翻译器213从MVP计算器212接收指定要参考的4×4相邻宏块的一条信息。更具体而言,MVP计算器212发送预期的16×16基本宏块的标识符以及特定的块编号(例如,图7中所示的b0到b15)。地址翻译器213具有地址翻译表,该表将宏块尺寸和子宏块尺寸与代表性向量存储位置相关联,以提供与指定的相邻宏块相对应的地址。
如前面在图6中所述,当参考运动向量位于当前被处理的宏块Cu外部时,第一实施例从与相邻宏块MB-A和MB-BCD相对应的向量存储位置320、331和332中读出该参考运动向量。特定的参考运动向量是外部向量还是内部向量不仅取决于当前宏块的形状,还取决于当前宏块的位置。这一部分将首先说明内部运动向量的情形,然后说明外部运动向量的情形。
出于说明目的,我们假定外部向量可以按与内部向量相同的方式处理。即,假定每一宏块中的运动向量按与图6的当前宏块Cu相同的方式被存储。
图14和15示出了在本实施例中地址翻译表是如何工作的。具体而言,图14示出了地址翻译表是如何被用于参考16×16宏块和16×8宏块的。图15示出了地址翻译表是如何用于参考8×16宏块、8×8宏块、8×4子宏块、4×8子宏块和4×4子宏块的。
当感兴趣的相邻宏块是16×16宏块时,MVP计算器212可以在其地址请求中指定十六个块b0到b15中的一个。然而,这种情况下,代表性向量只被存储在与块b0相对应的一个向量存储位置中,如图8中所述。因此,响应于来自MVP计算器212的请求,地址翻译器213返回块b0的向量存储位置地址,而不管在该请求中指定了哪一个块。被参考作为相邻宏块的宏块已经经过了运动向量计算,这意味着其尺寸是已知的。因此,该实施例可被配置为将这种相邻宏块的尺寸信息保留在存储器中的某处以供以后参考。
当感兴趣的相邻宏块是上边的16×8宏块时,MVP计算器212可以在其地址请求中指定前八个块b0到b7之一。这种情况下,代表性向量被存储在与块b0相对应的向量存储位置中,如图9中所述。因此,响应于来自MVP计算器212的请求,地址翻译器213返回块b0的向量存储位置地址,而不管在该请求中指定了哪一个块。
当相邻宏块是下边的16×8宏块(未示出)时,MVP计算器212可以在其地址请求中指定后八个块b8到b15之一。这种情况下,代表性向量被存储在与块b8相对应的向量存储位置中,如图9中所示。因此,地址翻译器213向MVP计算器212返回块b8的向量存储位置地址,而不管在该请求中指定了哪一个块。
参考图15,当感兴趣的相邻宏块是左边的8×16宏块时,MVP计算器212可以在其地址请求中指定以下块之一:b0、b1、b2、b3、b8、b9、b10和b11。这种情况下,代表性向量被存储在与块b0相对应的向量存储位置中,如图10中所述。因此,地址翻译器213向MVP计算器212返回块b0的地址。当相邻宏块是右边的8×16宏块(未在图15中示出)时,MVP计算器212可以在其地址请求中指定以下块之一:b4、b5、b6、b7、b12、b13、b14和b15。这种情况下,代表性向量被存储在与块b4相对应的向量存储位置中,如图10中所示。因此,地址翻译器213向MVP计算器212返回块b4的地址。
当感兴趣的相邻宏块是左上8×8宏块时,MVP计算器212可以指定块b0、b1、b2或b3。这种情况下,代表性向量被存储在与块b0相对应的向量存储位置中,如图11中所示。因此,地址翻译器213向MVP计算器212返回块b0的地址。类似地,当MVP计算器212指定作为相邻宏块的右上8×16宏块(未在图15中示出)和块位置b4、b5、b6或b7时,地址翻译器213返回块b4的代表性向量存储位置的地址。当MVP计算器212指定左下8×16宏块(未在图15中示出)和块位置b8、b9、b10或b11时,地址翻译器213返回块b8的代表性向量存储位置的地址。当MVP计算器212指定右下8×16宏块(未在图15中示出)和块位置b12、b13、b14或b15时,地址翻译器213返回块b12的代表性向量存储位置的地址。
运动向量计算器214可以请求子宏块的地址。下面部分的描述说明了地址翻译器213是如何处理这样的请求的,为了简化,假定所指定的子宏块属于左上8×8宏块。地址翻译器213以类似的方式处理其他类型的子宏块,以根据指定的块尺寸和位置唯一地确定代表性向量存储位置。
在左上8×8宏块的上边的8×4子宏块的情况下,运动向量计算器214可以指定块b0或块b1作为相邻宏块。这种情况下,代表性向量存储位置是与块b0相对应的向量存储位置。因此,地址翻译器213向运动向量计算器214返回该向量存储位置的地址。
在左上8×8宏块的左边的8×4子宏块的情况下,运动向量计算器214可以指定块b0或块b2作为相邻宏块。这种情况下,代表性向量存储位置是与块b0相对应的向量存储位置。因此,地址翻译器213向运动向量计算器214返回该向量存储位置的地址。
在左上8×8宏块的左上4×4子宏块的情况下,运动向量计算器214可以指定块b0作为相邻宏块。这种情况下,代表性向量存储位置是与块b0相对应的向量存储位置。因此,地址翻译器213向运动向量计算器214返回该向量存储位置的地址。
从上文中可见,相关的代表性向量存储位置可以通过利用指定的相邻宏块的宏块尺寸和子宏块尺寸以及指定的块位置(b0到b15)查找翻译表来加以确定。该特征允许MVP计算器212得到由运动向量计算器214存储在代表性向量存储位置中的运动向量。
尽管图14和15中所示的并不是翻译表本身,但是所提出的地址翻译表的基本功能是根据指定的相邻宏块尺寸和块位置的组合导出存储地址。因此,该翻译表可以是能够将相邻宏块的宏块尺寸和子宏块尺寸以及指定的块位置(b0到b15)的可能组合与特定的代表性向量存储位置相关联的任何形式。
代表性向量存储位置
在预期参考运动向量位于当前宏块Cu外部的情况下,本实施例按以下方式操作。例如,假定当前焦点在16×16基本宏块上。这种情况下,每个参考运动向量必须在为相邻宏块MB-A和MB-BCD保留的向量存储位置320、331和332(图6)中的某处找到。
图16示出了第一实施例是如何将相邻宏块的运动向量保存在MB-A向量存储位置中的。假定当前焦点在宏块501上。用于该当前宏块501的向量预测过程参考其相邻块MB-A(A0、A1、A2、A3)。紧挨着当前宏块501之前的宏块502已被处理,并且其运动向量被存储在向量存储位置中作为代表性运动向量。MB-A向量存储管理器215读出相关的代表性运动向量,并将其存储在与MB-A(A0、A1、A2、A3)相对应的存储位置中。在多个代表性运动向量存在于同一排上的情况下,MB-A向量存储管理器215选择最右侧的向量,并将其输入到相应的MB-A向量存储位置。例如,当宏块502被水平分区为8×16宏块时,针对A0排上的两个块b0和b4计算代表性运动向量。在这种情况下,MB-A向量存储管理器215选择块b4的向量并将其存储在A0中,因为b4位于b0右侧。
图17示出了第一实施例是如何将相邻宏块的运动向量保存在MB-BCD向量存储位置中的。用于当前宏块501的向量预测过程按需要访问MB-BCD向量存储位置N0、N1、N2、N3、N4和N5。宏块503、504和505已被处理,并且所得到的运动向量被存储在向量存储位置中作为代表性运动向量。MB-BCD向量存储管理器216读出例如块503的相关的代表性运动向量,并将其存储在MB-BCD向量存储位置N1、N2、N3和N4中。类似地,MB-BCD向量存储位置N0和N5分别接收针对宏块504和505产生的代表性运动向量。在多个代表性运动向量存在于同一列上的情况下,MB-BCD向量存储管理器216选择最下侧的向量,并将其输入到相应的MB-BCD向量存储位置。例如,当宏块503被垂直分区为16×8宏块时,针对N1列上的两个块b0和b8计算代表性运动向量。在这种情况下,MB-BCD向量存储管理器216选择块b8的向量并将其存储在N1中,因为b8比b0更靠近底部。
代表性运动向量的存储地址取决于块尺寸。下面将描述针对每种块尺寸存储运动向量的过程。
图18A到20B示出了根据本实施例的相邻宏块的代表性向量存储位置。更具体而言,图18A示出了16×16宏块的代表性向量存储位置。运动向量计算器214针对16×16宏块510产生一个代表性运动向量MV0,并将其存储在块b0中。MB-A向量存储管理器215从块b0中读出MV0,并将其存储在位于b0右侧的MB-A向量存储位置A0511中。另外,MB-BCD向量存储管理器216读出块b0的MV0,并将其存储在位于b0下方的MB-BCD向量存储位置N1512中。
图18B示出了相邻16×8宏块的代表性向量存储位置。在16×16基本宏块被分区为两个16×8宏块520的情况下,运动向量计算器214产生两个代表性运动向量MV0和MV8。运动向量计算器214将MV0存储在块b0中,将MV8存储在块b8中。MB-A向量存储管理器215从块b0和b8中读出MV0和MV8,并将其分别存储在位于b0和b8右侧的MB-A向量存储位置A0521和A2522中。另一方面,MB-BCD向量存储管理器216选择MV8,因为b8比b0更靠近底边。MB-BCD向量存储管理器216随后将该MV8存储在位于b0和b8下方的MB-BCD向量存储位置N1523中。
图19A示出了相邻8×16宏块的代表性向量存储位置。在16×16基本宏块被分区为两个8×16宏块530的情况下,运动向量计算器214产生两个代表性运动向量MV0和MV4,并将其分别存储在块b0和b4中。在这种情况下,MB-A向量存储管理器215选择性地从块b4中读出MV4,因为b4比b0更接近右边。MB-A向量存储管理器215随后将其存储在位于b4右侧的MB-A向量存储位置A0531中。另一方面,MB-BCD向量存储管理器216从块b0和b4中读出MV0和MV4,并将其分别存储在位于b0和b4下方的MB-BCD向量存储位置N1532和N3533中。
图19B示出了相邻8×8宏块的代表性向量存储位置。在16×16基本宏块被分区为8×8宏块540的情况下,运动向量计算器214产生四个代表性运动向量MV0、MV4、MV8和MV12,并将其分别存储在块b0、b4、b8和b12中。在这种情况下,MB-A向量存储管理器215分别从块b4和b12中读出MV4和MV12,因为b4和b12比b0和b8更接近右边。MB-A向量存储管理器215随后将MV4和MV12存储在MB-A向量存储位置A0541和A2542中。另一方面,MB-BCD向量存储管理器216读出MV8和MV12,因为b8和b12比b0和b4更靠近底边。MB-BCD向量存储管理器216随后将MV8和MV12分别存储在MB-BCD向量存储位置N1543和N3544中。
图20示出了相邻4×4宏块的代表性向量存储位置。在16×16基本宏块被分区为两个4×4子宏块550的情况下,运动向量计算器214产生十六个代表性运动向量MV0到MV15,并将其分别存储在块b0到b15中。在这种情况下,MB-A向量存储管理器215选择最右侧的运动向量MV5、MV7、MV13和MV15,并将其分别存储在MB-A向量存储位置A0、A1、A2和A3中。类似地,MB-BCD向量存储管理器216选择最底侧的运动向量MV10、MV11、MV14和MV15,并将其分别存储在MB-BCD向量存储位置N1、N2、N3和N4中。尽管未在图20中示出,但是在8×4子宏块和4×8子宏块的情况下,MB-A向量存储管理器215和MB-BCD向量存储管理器216将以类似方式工作。
这一部分描述了当MVP计算器212参考MB-A或MB-BCD向量存储位置中的外部运动向量时是如何翻译地址的。MVP计算器212提供给地址翻译器213一条指定特定的相邻4×4块的信息。在接收到该信息后,地址翻译器213确定是否有与指定的块直接对应的MB-A或MB-BCD向量存储位置。如果没有,则先前在图14和15中讨论的翻译表被用于提供相关向量存储位置的地址。如果有,则地址翻译器213通过咨询另一个翻译表来产生地址,将参考图21到24描述。
图21和22示出了地址翻译表是如何被用于参考MB-A向量存储位置的。具体而言,图21示出了存储在MB-A向量存储位置中的运动向量的源宏块是16×16、16×8、8×16或8×8宏块的情形。图22示出了8×4、4×8或4×4子宏块的情形。
在MB-A的源宏块尺寸是16×16的情况下,只有单个运动向量MV0被存储在为MB-A保留的四个可用向量存储位置中的A0中。在这种情况下,尽管MVP计算器212可以指定A0、A1、A2或A3,但是翻译表将所有这些位置翻译为A0的地址,从而允许MVP计算器212从同一位置A0读出MV0,而不论其指定了哪一个块。
在16×8源宏块的情况下,两个运动向量MV0和MV8分别被存储在向量存储位置A0和A2中。当MVP计算器212指定A0或A1时,翻译表将其翻译为A0的地址。当MVP计算器212指定A2或A3时,翻译表将其翻译为A2的地址。因此,对于A0和A1,MVP计算器212可以获得MV0,并且对于A2和A3可以获得MV2。
在8×16源宏块的情况下,一个运动向量MV4被存储在最顶端的向量存储位置A0中。当MVP计算器212指定A0、A1、A2或A3时,翻译表将所有这些位置翻译为A0的地址。因此,在这种情况下,MVP计算器212读出MV0,而不论其指定哪一个块。
在8×8源宏块的情况下,两个运动向量MV4和MV12被分别存储在向量存储位置A0和A2中。当MVP计算器212指定A0或A1时,翻译表将其翻译为A0的地址。当MVP计算器212指定A2或A3时,翻译表将其翻译为A2的地址。因此,对于A0和A1,MVP计算器212可以获得MV4,并且对于A2和A3可以获得MV12。
图22示出了在经子分区的MB-A块的情况下是如何翻译地址的。图22省略了每个基本宏块的左半部分的图示,因为不论左半部分可能采取什么样的块结构,MB-A向量存储位置都存储相同的一组代表性运动向量。
在源宏块被分区为8×4子宏块的情况下,运动向量MV4、MV6、MV12和MV14被分别存储在向量存储位置A0、A1、A2和A3中。当MVP计算器212指定A0、A1、A2或A3时,翻译表将这些位置翻译为其各自的地址。
在4×8子宏块的情况下,运动向量MV5和MV13被分别存储在向量存储位置A0和A2中。当MVP计算器212指定A0或A1时,翻译表将其翻译为A0的地址。当MVP计算器212指定A2或A3时,翻译表将其翻译为A2的地址。
在4×4子宏块的情况下,运动向量MV5、MV7、MV13和MV15被分别存储在向量存储位置A0、A1、A2和A3中。当MVP计算器212指定A0、A1、A2或A3时,翻译表将这些位置翻译为其各自的地址。
从图21和22中可见,地址翻译器213通过咨询其本地地址翻译表,将被指定的MB-A块位置翻译为规定的存储器地址。所获得的地址被传递到MVP计算器212以用于读出预期的代表性运动向量。
对于MB-BCD向量存储位置进行类似的地址翻译过程。具体而言,图23和24示出了地址翻译器213是如何使用地址翻译表来参考MB-BCD向量存储位置的。更具体而言,图23示出了在存储在MB-BCD向量存储位置中的运动向量的源宏块是16×16、16×8、8×16或8×8宏块的情况下的地址翻译,而图24示出了8×4、4×8或4×4子宏块的情形。
在源宏块尺寸是16×16的情况下,单个运动向量MV0被存储在MB-BCD的四个可用向量存储位置中的N1中。这种情况下,当MVP计算器212指定N1、N2、N3或N4时,翻译表将其翻译为N1的地址,从而允许MVP计算器212从同一位置A0中读出MV0,而不论其指定了哪一个块。
在16×8宏块的情况下,单个运动向量MV8被存储在向量存储位置N1中。当MVP计算器212指定N1、N2、N3或N4时,翻译表将其翻译为N1的地址,从而允许MVP计算器212读出MV8,而不论其指定了哪一个块。
在8×16宏块的情况下,运动向量MV0和MV4被分别存储在向量存储位置N1和N3中。当MVP计算器212指定N1或N2时,翻译表将其翻译为N1的地址。当MVP计算器212指定N3或N4时,翻译表将其翻译为N3的地址。因此,对于N1和N2,MVP计算器212可以获得MV0,并且对于N3和N4可以获得MV4。
在8×8宏块的情况下,运动向量MV8和MV12被分别存储在向量存储位置N1和N3中。当MVP计算器212指定N1或N2时,翻译表将其翻译为N1的地址。当MVP计算器212指定N3或N4时,翻译表将其翻译为N3的地址。因此,对于N1和N2,MVP计算器212可以获得MV8,并且对于N3和N4可以获得MV12。
图24示出了在经子分区的MB-BCD块的情况下是如何翻译地址的。图24省略了每个基本宏块的上半部分的图示,因为不论上半部分可能采取什么样的块结构,MB-BCD向量存储位置都存储相同的一组代表性运动向量。
在8×4子宏块的情况下,运动向量MV8和MV12被存储在向量存储位置N1和N3中。当MVP计算器212指定N1或N2时,翻译表将其翻译为N1的地址。当MVP计算器212指定N3或N4时,翻译表将其翻译为N3的地址。
在4×8子宏块的情况下,运动向量MV8、MV9、MV12和MV13被分别存储在向量存储位置N1、N2、N3和N4中。当MVP计算器212指定N1、N2、N3或N4时,翻译表将这些位置翻译为其各自的地址。
在4×4子宏块的情况下,运动向量MV10、MV11、MV14和MV15被分别存储在向量存储位置N1、N2、N3和N4中。当MVP计算器212指定N1、N2、N3或N4时,翻译表将这些位置翻译为其各自的地址。
从图23和24中可见,地址翻译器213通过咨询其本地地址翻译表,将指定的MB-BCD块位置翻译为规定的存储器地址。所获得的地址被传递到MVP计算器212以用于读出预期的代表性运动向量。
向量写周期的减少
上述部分已经描述了地址翻译器213是如何提供存储器地址以供MVP计算器212读取参考运动向量来进行向量预测的。本实施例的这种布置不要求运动向量计算器214在多个存储器位置中扩展每个计算的运动向量以供以后参考。通过去除不必要的向量写周期,本实施例减少了计算运动向量所需的时间。例如,在16×16宏块的情况下,传统的向量计算过程花费十六个写周期来保存计算出的运动向量,花费四个写周期来填充MB-A向量存储位置,并花费另外四个写周期来填充MB-BCD向量存储位置。这意味着该过程包括24个存储器写周期。与此相对比,本实施例花费一个写周期来保存计算出的运动向量,花费另一个写周期来填充MB-A向量存储位置,并花费另一个写周期来填充MB-BCD向量存储位置。即,本实施例只需要三个写周期来处理16×16宏块。这意味着写周期的数目最多可减少21个周期。
对于另一示例,考虑8×8宏块。尽管如同16×16宏块的情形一样,传统过程花费24个写周期,但是本实施例花费八个周期来保存计算的运动向量,花费两个周期来填充MB-A向量存储位置,并花费另外两个周期来填充MB-BCD向量存储位置。本实施例只需要12个存储器写周期,最多减少了12个周期。当向量计算过程应对更大尺寸的宏块时,或者当其处理更宽和更精细的图片时,该写周期减少的效果将更加明显。
上述部分在假设图片以帧模式编码的情况下讨论了利用地址翻译机制的运动向量预测。但是,所提议的方法也可以应用于场模式。具体而言,所提议的方法被用来对组成视频图片的每组上场行和下场行进行处理,实现与在帧模式的情况下相同的效果。
视频解码设备(第二实施例)
该部分和后面部分将描述根据本发明第二实施例的视频解码设备,更具体地说,将描述其帧间预测器如何对运动向量进行解码。第二实施例与第一实施例不同之处在于其MBAFF处理能力。下面的描述将集中于这种差别,其中利用与第一实施例中相同的标号来指示第二实施例中类似的元素。
在MBAFF模式中,术语“当前宏块对”被用来指代当前被处理的一对16×16宏块,而与当前宏块对相邻的两个宏块被称作“相邻宏块对”。在下面对第二实施例的描述中,后缀“a”和“b”被附加到属于特定宏块对的上宏块和下宏块的标号之后。根据第二实施例,MVP计算器212存储当前宏块对的运动向量,而不考虑其是以帧模式还是以场模式被编码的。
图25A和25B示出了帧结构和宏块对的向量存储位置之间的关系。具体而言,图25A示出了上宏块的上述关系,图25B示出了下宏块的上述关系。根据本发明第二实施例,MB-A向量存储管理器215和MB-BCD向量存储管理器216对上宏块和下宏块的向量存储位置进行管理。
存储器211提供当前块向量存储位置310a和310b以存储针对当前宏块Cu(上)和Cu(下)计算的运动向量。还提供了MB-A向量存储位置320和MB-BCD向量存储位置331a、331b、332a和332b,来存储相邻宏块MB-A和MB-BCD的运动向量。
八个MB-A向量存储位置320被保留来存储将作为相邻宏块MB-A被参考的宏块的运动向量。它们被映射到紧邻当前宏块Cu(上)和Cu(下)的左边的垂直对齐的4×4子宏块上。当当前宏块Cu(上)和Cu(下)的运动向量在它们各自的向量存储位置310a和310b中变得可用时,MB-A向量存储管理器215将在4×4子宏块最右列处的运动向量拷贝到这些MB-A向量存储位置320中。这种处理的细节将在后面部分中讨论。
另一方面,MB-BCD向量存储位置331a、331b、332a和332b被保留用于将作为相邻宏块被参考的宏块的运动向量,这些相邻宏块至少包括MB-B、MB-C和MB-D。具体而言,紧挨着当前宏块Cu(上)和Cu(下)的上方的相邻宏块对当在MBAFF模式中预测运动向量时被参考。MB-BCD向量存储位置331a和331b对应于该相邻宏块对的上半部分和下半部分的4×4子宏块的最下面一排。另一组MB-BCD向量存储位置332a和332b被映射到当前宏块Cu(上)和Cu(下)所属的两个帧行上的4×4子宏块的最下面一排上。当当前宏块Cu(上)和Cu(下)的运动向量在当前块向量存储位置310a和310b中变得可用时,MB-BCD向量存储管理器216将与最下面的4×4子宏块相对应的向量拷贝到MB-BCD向量存储位置332a和332b。
当MVP计算器212参考现有运动向量时,地址翻译器213通过提供那些参考向量的地址来对其提供帮助。利用这个特征,第二实施例不需要使用这九个存储器b0、b1、b2、b3、b4、b6、b8、b9和b12,如图25B中的阴影所示。
图26示出了第二实施例是如何保存当前宏块对的代表性运动向量的。首先,一列4×4子宏块T5、T7、T13和T15,以及一排4×4子宏块T10、T11、T14和T15分别被存放(secured)在它们各自的当前块向量存储位置310a中(步骤S1)。类似地,一列4×4子宏块B5、B7、B13和B15,以及一排4×4子宏块B10、B11、B14和B15被选择性地存放在它们各自的当前块向量存储位置310b中(步骤S2)。然后,在步骤S1和S2中所获得的组中,T5、T7、T13、T15、B5、B7、B13和B15的运动向量以此顺序被存储到MB-A向量存储位置320中(步骤S3)。类似地,在相同的组中,一排T10、T11、T14和T15的运动向量被存储到MB-BCD向量存储位置331和331a或332a中,另一排B10、B11、B14和B15的运动向量被存储到MB-BCD向量存储位置331b或332b中(步骤S4、S5)。
MBAFF模式中相邻宏块的位置
图27A和27B示出了MBAFF模式中相邻宏块MB-A和MB-BCD的位置。符号“A(上)”和“A(下)”分别表示相邻宏块对MB-A的上宏块和下宏块。具体而言,图27A示出了当在MBAFF模式中预测当前上宏块Cu(上)的运动向量时将作为相邻宏块MB-A被参考的向量存储位置。这些存储位置包括为紧挨着当前块向量存储位置310a的左边的4×4子宏块保留的四个向量存储位置(AT5、AT7、AT13和AT15)。还包括与紧挨着当前下宏块Cu(下)的左边的4×4子宏块相对应的另外四个向量存储位置(AB5、AB7、AB13和AB15)。
另一方面,图27B示出了当在MBAFF模式中预测当前下宏块Cu(下)的运动向量时将作为相邻宏块MB-A被参考的向量存储位置。这些存储位置包括为紧挨着当前上宏块Cu(上)的左边的4×4子宏块保留的四个向量存储位置(AT5、AT7、AT13和AT15)。还包括与紧挨着当前下宏块Cu(下)的左边的4×4子宏块相对应的另外四个向量存储位置(AB5、AB7、AB13和AB15)。
图27A还示出了将作为当前上宏块Cu(上)的相邻宏块MB-BCD被参考的向量存储位置。这些存储位置包括为紧挨着当前上宏块Cu(上)的上方的相邻宏块对中的上宏块的最下面的4×4子宏块保留的四个向量存储位置(BT10、BT11、BT14和BT15),以及与紧挨着当前上宏块Cu(上)的上方的4×4子宏块相对应的另外四个向量存储位置(BB10、BB11、BB14和BB15)。还包括与下面的4×4子宏块相对应的存储位置:紧挨着BT10左边的DT15、紧挨着BT15右边的CT10、紧挨着BB10左边的DB15,以及紧挨着BB15右边的CB10。
类似地,图27B示出了要作为当前下宏块Cu(下)的相邻宏块MB-BCD被参考的向量存储位置。这些存储位置包括为当前上宏块Cu(上)的最下面的4×4子宏块保留的四个向量存储位置(ET10、ET11、ET14和ET15),以及与紧挨着当前上宏块Cu(上)的上方的4×4子宏块相对应的另外四个向量存储位置(BB10、BB11、BB14和BB15)。还包括与下面的4×4子宏块相对应的存储位置:紧挨着ET10左边的AT15、紧挨着BB10左边的DB15,以及紧挨着BB15右边的CB10。
图28A到图31B提供了MB-BCD相邻宏块的位置的详细情形。首先,图28A和28B示出了当前宏块对及其相邻宏块对都是帧对的情形。具体而言,图28A示出了被当前上宏块参考的相邻宏块MB-BCD的位置。当前上宏块Cu(上)参考下面的4×4子宏块:在紧挨着当前上宏块Cu(上)的上方的相邻下宏块的最下面一排处的BB10、BB11、BB14和BB15,紧挨着BB10左边的DB15和紧挨着BB15右边的CB10。另一方面,图28B示出了当前下宏块所参考的相邻宏块MB-BCD的位置。当前下宏块Cu(下)参考当前上宏块Cu(上)的最下面的4×4子宏块ET10、ET11、ET14和ET15。
图29A和29B示出了当前宏块对及其相邻宏块对都是场对的情形。具体而言,图29A示出了当前上宏块所参考的相邻宏块MB-BCD的位置。当前上宏块Cu(上)参考下面的4×4子宏块:在紧挨着当前上宏块Cu(上)的上方的相邻宏块对中的上宏块的最下面一排处的BT10、BT11、BT14和BT15,紧挨着BT10左边的DT15和紧挨着BT15右边的CT10。另一方面,图29B示出了要被当前下宏块Cu(下)参考的相邻宏块MB-BCD的位置。具体而言,当前下宏块Cu(下)参考紧挨着当前上宏块Cu(上)的上方的相邻宏块对中的下宏块的最下面一排处的4×4子宏块BB10、BB11、BB14和BB15。
图30A和30B示出了当前宏块对是帧对而其相邻宏块对是场对的情形。具体而言,图30A示出了当前上宏块Cu(上)所参考的相邻宏块MB-BCD的位置,并且图30B示出了当前下宏块Cu(下)的情形。注意,与在图28中的情况下相同的子宏块被参考。细节参见图28的描述。
图31A和31B示出了当前宏块对是场对而其相邻宏块对是帧对的情形。具体而言,图31A示出了当前上宏块Cu(上)所参考的相邻宏块MB-BCD的位置。具体而言,当前上宏块Cu(上)参考下面的4×4子宏块:紧挨着Cu(上)的上方的BB10、BB11、BB14和BB15,紧挨着BB10左边的DB15,以及紧挨着BB15右边的CB10。另一方面,图31B示出了当前下宏块Cu(下)所参考的相邻宏块MB-BCD的位置。如图可见,与在当前上宏块Cu(上)的情况下相同的子宏块BB10、BB11、BB14、BB15、DB15和CB10作为MB-BCD相邻宏块被参考。
图32A到32D相对于图27A和27B中示出的向量存储位置示出了MB-A相邻宏块位置的详细情形。具体而言,图32A和32B示出了当前宏块对及其相邻宏块对都是帧对或都是场对的情形。在该情况下,向量存储位置和MB-A相邻宏块位置之间的关联与第一实施例中的相同。
另一方面,图32C示出了当前宏块对是帧对而其MB-A相邻宏块对是场对的情形。在该情况下,从当前子宏块到相邻子宏块的参考不是直接的,这与图32A和32B所示的情形不同。具体而言,当前上宏块Cu(上)的ET0和ET2参考相邻上宏块MB-A502a的AT5,并且ET8和ET10参考AT7。此外,当前下宏块Cu(下)的EB0和EB2参考相邻上宏块MB-A502a的AT13,并且EB8和EB10参考AT15。
图32D示出了当前宏块对是场对而其MB-A相邻宏块对是帧对的情形。在这种情况下,当前上宏块Cu(上)的ET0和当前下宏块Cu(下)的EB0参考相邻上宏块MB-A502a的AT5。类似地,Cu(上)的ET2和Cu(下)的EB2参考相邻上宏块MB-A502a的AT13。Cu(上)的ET8和Cu(下)的EB8参考相邻下宏块MB-A502b的AB5。Cu(上)的ET10和Cu(下)的EB10参考相邻下宏块MB-A502b的AB13。
图33A到33D示出了在各种情况下要被参考的相邻宏块MB-D。具体而言,图33A和33B示出了当前宏块对及其相邻宏块对都是帧对或都是场对的情形。在这些情况下,向量存储位置和MB-D相邻宏块位置之间的关联与第一实施例中的相同。
另一方面,图33C示出了当前宏块对是帧对而其相邻宏块对是场对的情形。在该情况下,当前上宏块Cu(上)的ET2和ET8参考相邻下宏块MB-A502b的AB5。当前上宏块Cu(上)的ET10和当前下宏块Cu(下)的EB0参考相邻下宏块MB-A502b的AB7。Cu(下)的EB2和EB8参考相邻下宏块MB-A502b的AB13。Cu(下)的EB10参考相邻下宏块MB-A502b的AB15。
图33D示出了当前宏块对是场对而其MB-A相邻宏块对是帧对的情形。在这种情况下,当前上宏块Cu(上)的ET2和当前下宏块Cu(下)的EB2参考相邻上宏块MB-A502a的AT7。类似地,Cu(上)的ET8和Cu(下)的EB8参考相邻下宏块MB-A502b的AT15。Cu(上)的ET10和Cu(下)的EB10参考相邻下宏块MB-A502b的AB7。最后,Cu(下)的EB0参考相邻下宏块MB-A502b的AB15。
MBAFF模式中的地址翻译
该部分将描述在MBAFF模式中地址翻译器如何提供向量存储位置的地址,其中描述集中于当前宏块外部的参考运动向量。当前宏块内部的参考运动向量参见第一实施例。
图34示出了根据第二实施例的地址翻译器213a。所示地址翻译器213a包括第一翻译表Ta1、第二翻译表Ta2和第三翻译表Ta3,其中第一翻译表Ta1被用于参考当前宏块内的运动向量,第二翻译表Ta2被用在非MBAFF模式中来参考当前宏块外的运动向量,并且第三翻译表Ta3被用在MBAFF模式中来参考当前宏块外的运动向量。
尽管在图5中未具体示出,但是第一实施例的地址翻译表213采用了第一和第二翻译表Ta1和Ta2。即,第二实施例的地址翻译器213a与第一实施例中的地址翻译器213的不同之处在于第三翻译表Ta3被添加来将给定的块尺寸信息(宏块尺寸和子宏块尺寸)翻译成相关的代表性向量存储位置的地址。
地址翻译器213a首先确定每个给定的图片是以MBAFF模式编码的还是以非MBAFF模式编码的。如果其是非MBAFF编码的,则地址翻译器213a利用第一和第二翻译表Ta1和Ta2来处理该给定的图片。如果其是MBAFF编码的,则地址翻译器213a利用第一和第三翻译表Ta1和Ta3来执行处理。
当利用第三翻译表Ta3时,地址翻译器213a考虑MBFIELD标志、周围宏块类型标志和上/下标志的状态。MBFIELD标志指示当前块的编码类型,即,当前宏块是以场形式还是以帧形式组织的。周围宏块类型标志指示相邻宏块MB-A和MB-BCD所属的宏块编码类型。上/下标志指示在场编码情况下当前宏块是上场还是下场。
图35A到35C示出了假设当前宏块是16×8块时地址翻译器213a在MBAFF模式中是如何工作的。但是,在MBAFF模式中,地址翻译器213a以与非MBAFF模式大体相同的方式工作。具体而言,地址翻译器213a首先将4×4子宏块作为相邻宏块MB-A、MB-B、MB-C和MB-D来参考,如图35A所示。地址翻译器213a随后检查围绕当前宏块的分区(如图35B所示),并且进一步考虑被管理的地址(如图35C所示),从而向MVP计算器212提供代表性运动向量被存储在其中的向量存储位置的地址。但是,在MBAFF中,选择围绕位置的方式可能与在非MBAFF模式中不同,这取决于紧挨着当前宏块对的上方的宏块对和位于当前宏块对左边的另一宏块对的组合。这个问题的细节将在下一部分中讨论。
相邻宏块位置的图案
如前一部分所述,MBAFF编码允许帧编码和场编码以各种方式被组合来用于当前宏块对及其左边(或者上边)的相邻宏块对。该部分描述在MBAFF中相邻宏块位置的各种图案,这些图案是从帧编码和场编码的多种组合中导出的。为了简化,将基于单个宏块而不是基于宏块对来讨论帧/场图案。
图36A到36D和图37A到37D示出了在当前宏块及其左边相邻宏块都是帧编码的情况下要被参考的相邻宏块位置。注意,在图36A到36D(以及在后续的图中)中,仅第一个图36A包含用于指示图片600的组成部分的标号。但是,应当意识到,相同的标号也可以应用到同一页上的每个其他图。图片帧是由奇数行和偶数行(由阴影指示)形成的。在图36A和其他图中示出的一些4×4子宏块中的小阴影框指示特定的行位置。
图36A到36D和图37A到37D中示出的MB-A和MB-BCD的相邻宏块位置与非MBAFF中的那些类似。参考图36B,例如,MVP计算器212通过将包括相邻宏块MB-A中的AT5和AT7和当前宏块Cu中的ET0和ET1在内的相邻子宏块的运动向量代入前述公式(1),从而基于公式(1)确定出子宏块Cu的MVP。然后利用公式(3),运动向量计算器214从所计算出的MVP和经解码的MVD产生运动向量MV8。在图36A所示的情况下,MB-B和MB-C(未示出)的实际向量位置取决于当前宏块和位于参考宏块上方的宏块的帧/场图案,在后面将详细描述。
图38A到图38D和图39A到39D示出了其中当前宏块及其左边相邻宏块都是场编码的情况下要被参考的相邻宏块位置。图38A到图38D的图片600每个都是由上下两半形成的。上半部分是上场,并且下半部分(用阴影指示)是下场。
注意,图39A指示出的图案与图36A和37A中其对应部分是不同的。即,MB-BCD的(一个或多个)相邻宏块位置可随当前宏块及位于其上方的相邻宏块的帧-场组合而变化。
图40A到40D和图41A到41D示出了其中当前宏块是帧编码的而其左相邻宏块是场编码的情况下要被参考的相邻宏块位置。例如参见图40B所示出的帧编码的当前宏块的第五行上的4×4子宏块。该子宏块的左边相邻宏块MB-A是场编码的,并且该MB-A的第三行对应于当前宏块的第五行。因此,MVP计算器212参考位于第三行上的4×4子宏块AT5的运动向量。类似地,当前宏块的另一个左边相邻宏块MB-D位于第二行上。因此,MVP计算器212参考位于第二行上的AB5的运动向量,其中AB5属于下场502b。同样的逻辑也应用于图41A到图41D。
图42A到42D和图43A到43D示出了其中当前宏块是场编码而其左边相邻宏块是帧编码的情况下要被参考的相邻宏块位置。在这种情况下使用的逻辑与在图40A到40D和图41A到41D中说明的逻辑类似。例如参见图42B中示出的场编码的当前宏块的第五偶数行上的4×4子宏块。当前宏块的左边相邻宏块MB-A是帧编码的,并且该MB-A的经交织的第九行对应于当前宏块的第五行。MVP计算器212因此参考位于第九行上的4×4子宏块AT13的运动向量。类似地,当前宏块的另一个左边相邻宏块MB-D位于第四偶数行上。MVP计算器212因此参考位于经交织的第七行上的AT7的运动向量。同样的逻辑也应用于图43A到43D。
MBAFF编码还允许用于当前宏块和上方相邻宏块对的各种编码类型的组合。下面将描述MBAFF模式中相邻宏块位置的各种图案,这些图案是从帧编码和场编码的组合导出的。
图44A和44B示出了其中当前宏块及其上方相邻宏块都是帧编码的情况下要被参考的相邻宏块位置。参考图44A,例如,MVP计算器212通过将包括相邻宏块MB-B503b中的BB10和BB11和另一相邻宏块MB-D
504b中的DB15在内的子宏块的运动向量代入前述公式(1),从而基于公式(1)确定出子宏块Cu的MVP。然后利用公式(3),运动向量计算器214根据所计算出的MVP和经解码的MVD产生运动向量。
图45A和图45B示出了其中当前宏块是帧编码的而其上方相邻宏块是场编码的情况下要被参考的相邻宏块位置。在这种情况下参考运动向量从与图44A和44B的情况下相同的位置被读出。
图46A和图46B示出了其中当前宏块是场编码的而其上方相邻宏块是帧编码的情况下要被参考的相邻宏块位置。参考图46A,当前宏块位于上场中。在这种情况下,MVP计算器212读出包括相邻宏块MB-B503b中的BB10和BB11和另一个相邻宏块MB-D504b中的DB15在内的子宏块的运动向量。参考图46B,当前宏块位于下场中。在这种情况下,MVP计算器212读出包括相邻宏块MB-B503b中的BB10和BB11和另一个相邻宏块MB-D504b中的DB15在内的子宏块的运动向量。
图47A和图46B示出了其中当前宏块及其相邻上宏块都是场编码的情况下要被参考的相邻宏块位置。参考图47A,当前宏块位于上场中。在这种情况下,MVP计算器212读出包括相邻宏块MB-B503a中的BT10和BT11和另一个相邻宏块MB-D504a中的DT15在内的子宏块的运动向量。参考图47B,当前宏块位于下场中。在这种情况下,MVP计算器212读出包括相邻宏块MB-B503b中的BB10和BB11和另一个相邻宏块MB-D504b中的DB15在内的子宏块的运动向量。
第三翻译表
这一部分将给出前述第三翻译表Ta3的细节。图48和49示出了在所有当前宏块对、上方相邻宏块对和左边相邻宏块对都是帧编码的情况下要被参考的相邻宏块的位置。图50和51示出了其中所有那些宏块对都是场编码的情形。图52和53示出了其中当前宏块对是帧编码的而上边和左边相邻宏块对是场编码的情形。最后,图54和55示出了其中当前宏块对是场编码而上边和左边相邻宏块对是帧编码的。所有这些情形都假设当前焦点在当前宏块内的4×4子宏块上。块编号b0到b15用来指示当前宏块的代表性向量位置。符号“X”指代其运动向量尚未被计算出的相邻宏块MB-C。尽管标号310a和310b仅被置于每幅图的左上图案,但是同样的标号可以应用于其他图案。
从图48到55可见,当参考运动向量被假定在当前宏块对内时,地址翻译器213a查询第一翻译表Ta1来定位参考运动向量。当参考运动向量在当前宏块对外部时,地址翻译器213a使用第三翻译表Ta3。
除了提供与第一实施例相同的功能之外,根据第二实施例的视频解码设备200支持MBAFF模式中的运动向量预测。第二实施例基于给定的MBFIELD标志、周围宏块类型标志和上/下标志,通过使用被设计用于定位在当前宏块外的参考运动向量(或者相邻宏块MB-A或MB-BCD)的第三翻译表Ta3,从而与在非MBAFF模式中一样快地实现这种功能。
第二实施例的视频解码设备200还使用第一翻译表Ta1来不仅支持非MBAFF编码,而且还在MBAFF模式中定位当前宏块内的参考运动向量(或者相邻宏块MB-A或MB-BCD)。该第一翻译表Ta1不需要在存储器211中保留九个向量存储位置(具体而言是图25B中阴影示出的b0、b1、b2、b3、b4、b6、b8、b9和b12)。本发明从而减轻了对存储器211的硬件需求。
已描述了所提议的帧间预测处理器、视频编码设备和视频解码设备的优选实施例。但是,本发明不应当被限制于这些特定实施例。每个实施例中的元件可以用一些其他在功能上等同的元件来替换。本发明的元件也可以与其他元件和步骤一起工作。此外,上述实施例的两个或更多个特征可以以各种方式被组合。
计算机只读介质
所提议的帧间预测处理器的上述处理机制实际上是在计算机系统中实现的,其中指令以计算机程序的形式被编码并被提供。计算机系统执行这种程序来提供本发明所期望的功能。为了存储和分发,这些程序可以被存储在计算机可读存储介质中,计算机可读介质包括:磁存储设备、光盘、磁光存储介质,以及半导体存储器器件。磁存储设备包括硬盘驱动器(HDD)、软盘(FD)和磁带。光盘介质包括数字通用光盘(DVD)、DVD-RAM、只读致密光盘(CD-ROM)、可记录CD(CD-R)和可写CD(CD-RW)。磁光存储介质包括磁光盘(MO)。
便携式存储介质(例如DVD和CD-ROM)适于分发程序产品。也可以采用基于网络分发软件产品,在这种情况下在服务器计算机上使若干个主程序文件可以经由网络下载到其他计算机。
用户计算机在其本地存储单元中存储用于帧间预测的必要的软件组件,这些软件组件是先前已从便携式存储介质安装的或者从服务器计算机下载的。计算机执行从本地存储单元读取的程序,从而执行所编程的功能。作为程序执行的替换方式,计算机可以执行直接从便携式存储介质读出的程序代码。另一种替换方法是用户计算机在需要时从服务器计算机动态下载程序,然后在传递完后执行所下载的程序。
总结
从上面的部分可见,本发明在参考当前块对以外的块执行运动向量预测时,根据关于当前块对及其相邻块对的给定编码类型信息,确定参考运动向量的存储器地址。本发明在MBAFF模式中与在非MBAFF模式中一样快地完成该功能,从而减少了预测运动向量所需的时间。
所提议的帧间预测处理器可以与参考图片存储器和参考图片存储管理器一起被使用。如果是这种情形,则参考运动向量的地址可以从自动计算出的存储器地址计算出。该特征不需要在存储器中的多个存储器位置中复制计算出的运动向量,从而允许使用最小的块尺寸。所提议的帧间预测处理器从而减少了运动向量计算的处理时间。
前述内容被认为仅是说明了本发明的原理。另外,由于本领域技术人员将很容易进行大量修改和改变,因此并不希望将本发明限制在这里示出和描述的实际构造和应用,所以,所有合适的修改和等同物都可被认为落在权利要求及其等同物中的本发明的范围内。

Claims (5)

1.一种以块为基础执行视频帧的帧间预测的帧间预测处理器,包括:
地址选择器,当参考当前块对以外的块执行运动向量预测时,并且当给定的宏块自适应帧/场标识类型信息指示给定的图片被假定以对于每个个体块对允许在帧预测和场预测之间进行选择的宏块自适应帧/场模式被处理而给定的编码类型信息指示每个块对是以帧形式还是以场形式被组织的时,所述地址选择器使用第三翻译表、基于通过将子宏块作为相邻块对MB-A、MB-B、MB-C和MB-D来参考时所述相邻块对的块尺寸信息、围绕当前宏块的分区和被管理的地址来确定参考运动向量的存储器地址,从而提供所述参考运动向量的存储器地址,其中所述第三翻译表用在宏块自适应帧/场模式中将块尺寸和块位置的每个组合与所述相邻块向量存储位置之一的地址相关联;以及
预测值计算器,其基于从所述被提供的存储器地址读出的参考运动向量确定针对所述当前块对的每个组成块的运动向量预测值,
所述帧间预测处理器还包括:
参考图片存储器,其提供与最小尺寸块相对应的向量存储位置来存储针对具有可变尺寸的块计算出的运动向量,以及
参考图片存储管理器,其将所计算出的运动向量写入到在所述参考图片存储器中保留的所述向量存储位置中,
并且其中所述预测值计算器请求所述地址选择器提供针对特定相邻块计算出的参考运动向量的存储器地址,从所述被提供的所述参考图片存储器的存储器地址读出所述参考运动向量,并且基于从所述参考图片存储器读出的参考运动向量确定所述当前块的运动向量预测值,
并且其中所述参考图片存储管理器将所述相邻块的参考运动向量写入到与所述相邻块相对应的向量存储位置中。
2.如权利要求1所述的帧间预测处理器,其中,所述参考图片存储器提供与所述当前块对相对应的向量存储位置。
3.如权利要求1所述的帧间预测处理器,其中:
所述参考图片存储器包括存储针对所述当前块计算出的运动向量的当前块向量存储位置和存储针对与所述当前块相邻的块计算出的运动向量的相邻块向量存储位置;并且
所述参考图片存储管理器在位置挨着所述当前块的块被选为新的当前块之前,将所述当前块的运动向量写到所述相邻块向量存储位置。
4.一种通过以块为基础执行源图片和参考图片之间的运动补偿预测来将视频信号编码为压缩视频数据的视频编码设备,该设备包括如权利要求1-3中任一个所述的帧间预测处理器。
5.一种从通过以块为基础执行运动补偿帧间预测所产生的压缩视频信号重构原始视频图片的视频解码设备,该设备包括如权利要求1-3中任一个所述的帧间预测处理器。
CN2007101030381A 2006-08-18 2007-04-29 具有提供参考运动向量的位置的机制的帧间预测处理器 Expired - Fee Related CN101127913B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006223564 2006-08-18
JP2006-223564 2006-08-18
JP2006223564A JP4763549B2 (ja) 2006-08-18 2006-08-18 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置

Publications (2)

Publication Number Publication Date
CN101127913A CN101127913A (zh) 2008-02-20
CN101127913B true CN101127913B (zh) 2013-05-22

Family

ID=39095809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101030381A Expired - Fee Related CN101127913B (zh) 2006-08-18 2007-04-29 具有提供参考运动向量的位置的机制的帧间预测处理器

Country Status (3)

Country Link
US (1) US8155197B2 (zh)
JP (1) JP4763549B2 (zh)
CN (1) CN101127913B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007081135A1 (en) * 2006-01-09 2007-07-19 Lg Electronics Inc. Inter-layer prediction method for video signal
JP4799477B2 (ja) * 2007-05-08 2011-10-26 キヤノン株式会社 画像符号化装置及び画像符号化方法
US8179964B1 (en) * 2007-09-07 2012-05-15 Zenverge, Inc. Efficient transcoding between formats using macroblock buffer
US20100053181A1 (en) * 2008-08-31 2010-03-04 Raza Microelectronics, Inc. Method and device of processing video
US8335256B2 (en) * 2008-11-14 2012-12-18 General Instrument Corporation Motion compensation in video coding
US8934548B2 (en) * 2009-05-29 2015-01-13 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
JP2011061273A (ja) * 2009-09-07 2011-03-24 Sony Corp 動きベクトル算出装置、動きベクトル算出方法およびプログラム
KR20110068792A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN102215395B (zh) * 2010-04-09 2013-10-09 华为技术有限公司 一种视频编解码方法和装置
CN106231342B (zh) * 2010-04-13 2019-05-31 三星电子株式会社 执行去块滤波的对视频进行解码的方法
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
EP2897365B1 (en) * 2010-07-09 2017-02-01 Samsung Electronics Co., Ltd Apparatus for decoding video by using block merging
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
KR101505755B1 (ko) * 2010-11-25 2015-03-24 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
KR20220070072A (ko) 2011-02-09 2022-05-27 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
CN102223543B (zh) * 2011-06-13 2013-09-04 四川虹微技术有限公司 参考像素读取存储系统
US9313494B2 (en) 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
CN108174222B (zh) * 2011-06-28 2022-04-05 Lg电子株式会社 设置运动矢量列表的方法及使用其的装置
WO2013067436A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Binarization of prediction residuals for lossless video coding
JP2013102297A (ja) * 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
RU2493670C2 (ru) * 2011-12-15 2013-09-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ блочной межкадровой компенсации движения для видеокодеков
CN103327316B (zh) * 2012-03-22 2016-08-10 上海算芯微电子有限公司 视频宏块的上下文信息存取方法和系统
CN104396256B (zh) * 2012-06-29 2018-11-06 威勒斯媒体国际有限公司 解码设备和解码方法
US9491460B2 (en) * 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
CN103260017B (zh) * 2013-05-30 2016-09-28 华为技术有限公司 视频处理方法、视频处理装置及视频处理系统
KR102411911B1 (ko) * 2015-12-24 2022-06-22 삼성전자주식회사 프레임 레이트 변환 장치 및 그 프레임 레이트 변환 방법
CN109859242B (zh) * 2019-01-16 2022-09-09 重庆邮电大学 一种预测自适应学习的目标跟踪方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248861A (zh) * 1998-07-13 2000-03-29 摩托罗拉公司 对视频信号进行编码和解码的方法和装置
EP1119975A1 (en) * 1998-10-13 2001-08-01 STMicroelectronics Asia Pacific Pte Ltd. Motion vector detection with local motion estimator
CN1589019A (zh) * 2004-08-05 2005-03-02 联合信源数字音视频技术(北京)有限公司 帧场视频解码中运动矢量存取的控制装置及其方法
CN1630374A (zh) * 2003-09-07 2005-06-22 微软公司 用于前向预测的隔行扫描视频帧的场的预测运动矢量

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2545213T3 (es) * 2001-11-21 2015-09-09 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
JP4724351B2 (ja) 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
AU2003241696A1 (en) * 2002-07-26 2004-02-16 Matsushita Electric Industrial Co., Ltd. Moving picture encoding method, moving picture decoding method, and recording medium
JP4481612B2 (ja) * 2002-10-01 2010-06-16 パナソニック株式会社 画像復号化装置及びその方法
CN100428803C (zh) * 2002-11-25 2008-10-22 松下电器产业株式会社 动态图像的解码方法及解码装置
JP2004187107A (ja) 2002-12-04 2004-07-02 Fujitsu Ltd 動画像符号化方法及び動画像復号化方法
JP3934568B2 (ja) 2003-03-04 2007-06-20 松下電器産業株式会社 動画符号化方法および装置
US7010044B2 (en) * 2003-07-18 2006-03-07 Lsi Logic Corporation Intra 4×4 modes 3, 7 and 8 availability determination intra estimation and compensation
JP4577048B2 (ja) * 2004-03-11 2010-11-10 パナソニック株式会社 画像符号化方法、画像符号化装置および画像符号化プログラム
US20050259734A1 (en) * 2004-05-21 2005-11-24 Timothy Hellman Motion vector generator for macroblock adaptive field/frame coded video data
JP2006074474A (ja) * 2004-09-02 2006-03-16 Toshiba Corp 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
KR100647295B1 (ko) * 2004-11-10 2006-11-23 삼성전자주식회사 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
DE102005025634A1 (de) * 2005-06-03 2006-12-07 Micronas Gmbh Verfahren und Vorrichtung zur Ermittlung von Bewegungsvektoren

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248861A (zh) * 1998-07-13 2000-03-29 摩托罗拉公司 对视频信号进行编码和解码的方法和装置
EP1119975A1 (en) * 1998-10-13 2001-08-01 STMicroelectronics Asia Pacific Pte Ltd. Motion vector detection with local motion estimator
CN1630374A (zh) * 2003-09-07 2005-06-22 微软公司 用于前向预测的隔行扫描视频帧的场的预测运动矢量
CN1589019A (zh) * 2004-08-05 2005-03-02 联合信源数字音视频技术(北京)有限公司 帧场视频解码中运动矢量存取的控制装置及其方法

Also Published As

Publication number Publication date
US8155197B2 (en) 2012-04-10
US20080043843A1 (en) 2008-02-21
CN101127913A (zh) 2008-02-20
JP2008048289A (ja) 2008-02-28
JP4763549B2 (ja) 2011-08-31

Similar Documents

Publication Publication Date Title
CN101127913B (zh) 具有提供参考运动向量的位置的机制的帧间预测处理器
CN101127902B (zh) 具有用于运动向量存储的地址管理机制的帧间预测处理器
JP6494675B2 (ja) 符号化装置、符号化方法、復号装置、復号方法、及びプログラム
CN101389025B (zh) 用于根据多个子像素分辨率进行视频编码的运动细化引擎及其使用方法
US8229233B2 (en) Method and apparatus for estimating and compensating spatiotemporal motion of image
JP2015119502A (ja) 複数の動きベクトル・プレディクタを使用して動きベクトルを推定する方法、装置、エンコーダ、デコーダ及びデコーディング方法
JP5340289B2 (ja) 画像復号装置、画像復号方法、集積回路及びプログラム
EP2141930A1 (en) Motion detection apparatus, motion detection method, and motion detection program
CN101198057A (zh) 具有提供参考运动向量的读取缓冲器的运动预测处理器
JPH1023423A (ja) 画像符号化装置および画像復号化装置
CN111201795B (zh) 存储访问窗口和用于运动矢量修正的填充
JP2010504010A (ja) ビデオシーケンスにおけるデータ圧縮方法
CN103493492A (zh) 用于对多视点视频进行编码和解码的方法和设备
TW202032989A (zh) 塊級別的運動向量平面模式
JP2006311526A (ja) 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
CN112135146B (zh) 一种编解码方法、装置及其设备
JP2018074182A (ja) 符号化装置、符号化方法および符号化プログラム
JPH04248788A (ja) 動き補償予測符号化方式における複数メモリのアドレスアクセス方式
JPH11275586A (ja) 符号化装置および符号化方法、並びに記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: FUJITSU MICROELECTRONICS CO., LTD.

Free format text: FORMER OWNER: FUJITSU LIMITED

Effective date: 20081024

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20081024

Address after: Tokyo, Japan, Japan

Applicant after: Fujitsu Microelectronics Ltd.

Address before: Kanagawa

Applicant before: Fujitsu Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SUOSI FUTURE CO., LTD.

Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR CO., LTD.

Effective date: 20150515

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150515

Address after: Kanagawa

Patentee after: Co., Ltd. Suo Si future

Address before: Kanagawa

Patentee before: Fujitsu Semiconductor Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130522

Termination date: 20200429

CF01 Termination of patent right due to non-payment of annual fee