CN1653822A - 用于代码转换压缩视频比特流的方法和设备 - Google Patents

用于代码转换压缩视频比特流的方法和设备 Download PDF

Info

Publication number
CN1653822A
CN1653822A CNA038112272A CN03811227A CN1653822A CN 1653822 A CN1653822 A CN 1653822A CN A038112272 A CNA038112272 A CN A038112272A CN 03811227 A CN03811227 A CN 03811227A CN 1653822 A CN1653822 A CN 1653822A
Authority
CN
China
Prior art keywords
quantization
vop
data
compressed video
video bitstream
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.)
Pending
Application number
CNA038112272A
Other languages
English (en)
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.)
Arris Technology Inc
Original Assignee
General Instrument Corp
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 General Instrument Corp filed Critical General Instrument Corp
Publication of CN1653822A publication Critical patent/CN1653822A/zh
Pending legal-status Critical Current

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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种代码转换输入压缩视频比特流为不同比特速率的输出压缩视频比特流的技术,包括:接收第一比特速率的输入压缩视频比特流;为输出压缩视频比特流指定新的目标比特流;部分解码输入比特流以产生解量化数据;使用不同的量化级(QP)重新量化解量化的数据以产生重新量化数据;以及重新编码重新量化的数据以产生输出压缩视频比特流。确定用于重新量化的适当的初始量化级(QP),监测输出视频比特流的比特速率;调整量化级以使输出压缩视频比特流的比特速率和目标比特速率近似匹配。将恒定头部数据直接复制到输出压缩视频比特流。通过解量化重新量化的数据并从解量化数据中扣除来确定重新量化误差,量化误差经过IDCT处理以产生等效误差图像,根据来自输入压缩视频比特流的运动补偿参数将运动补偿应用到该误差图像,运动补偿的误差图形经过DCT处理,将DCT处理的误差图像作为运动补偿校正应用到解量化数据,用于由于重新量化而产生的误差。

Description

用于代码转换压缩视频比特流的方法和设备
技术领域
本发明涉及视频压缩技术,更具体的,涉及用于压缩视频比特流的编码、解码以及代码转换技术。
背景技术
视频压缩是一种将视频“流”或“比特流”编码到不同于其初始表示的编码形式(通常是更紧凑的形式)的技术。视频“流”是运动图像的电子再现。
近来,随着低成本个人计算机的激增、一般计算机用户可用的磁盘空间和存储器数量惊人的增长、互联网接入的广泛可用性以及不断增加的通信带宽,在互联网上使用流视频变得普通。用于编码流视频的一种显著和公知的视频压缩标准是MPEG-4标准,由运动图像专家组(MPEG)提供,该专家组是ISO/IEC(国际标准化组织/国际工程协会)的工作组,负责开发用于运动图像、音频及其组合的压缩、解压缩、处理以及编码表示的国际标准。ISO在瑞士1 rue de varembe,Casepostale 56,CH-1211 Geneva 20 有办公室。IEC在USA 549 WestRandolph Street,Suite 600,Chicago,IL 60661-2208有办公室。正式指定为ISO/IEC 14496(在6个部分中)的MPEG-4标准是众所周知的,并被那些涉及运动视频应用的人采用。
尽管互联网连接带宽的快速增长以及高性能个人计算机的激增,但是在个人用户的互联网连接速度以及计算能力之间存在显著的不一致性。该不一致性要求互联网内容提供商提供流视频以及其他形式的多媒体内容到一组不同的终端用户环境。例如,新闻内容提供商希望提供视频新闻片断到终端用户,但必须迎合一组不同用户的需求,他们的互联网连接范围从低端的33.6Kbps调制解调器到高端的DSL、电缆调制解调器或更高速度宽带连接。终端用户可用的计算能力也类似的具有多样性。进一步的复杂化的事情是网络拥塞,网络拥塞在互联网业务高时限制流数据(例如视频)的传送速率。这意味着新闻内容提供商必须使流视频在范围较广的比特速率可用,并加工以适于终端用户范围广泛的连接/计算环境以及适于变化的网络条件。
一种以多种不同比特速率提供相同视频节目素材的有效方法是视频代码转换。视频代码转换是通过该处理将预压缩比特流代码转换为具有不同比特速率、帧大小、视频编码标准等的新压缩比特流的处理。视频代码转换在必须以不同比特速率、分辨率或格式传送压缩视频比特流的任何应用中特别有用,比特速率、分辨率或格式取决于诸如网络拥塞、解码器性能或来自终端用户的请求等因素。
通常,压缩视频代码转换器解码压缩视频比特流并随后通常以较低比特速率重新编码解码的比特流。虽然非代码转换技术可以提供类似性能,这些技术成本高昂并存在存储器缺点。例如,用于多个比特速率、格式以及分辨率的视频内容每个都分别编码并存储在视频服务器上。然而,该方法仅提供和期望以及预编码一样多的离散选择,要求大量磁盘存储空间。作为替换,可将视频序列编码为压缩“可伸缩”形式。然而,该技术要求实际的视频编码资源(硬件和/或软件)来提供有限数目的选择。
代码转换技术比这些和其他非代码转换技术提供显著的优点,因为它们在提供广泛的比特速率、分辨率以及格式选择方面的灵活性。可同时容纳的不同选择的数目仅取决于可被独立代码转换的独立视频流的数目。
为同时容纳大数量的不同选择,必须提供较多数目的代码转换器。尽管此种应用中的代码转换器的数量和灵活性优点,大量的代码转换器仍然成本高昂,因为大量硬件和软件资源都必须专用于常规的视频代码转换技术。
如上述讨论中所明显看出的,需要一种最小化实施成本和复杂性的视频代码转换器。
发明内容
根据本发明,一种用于将输入压缩视频比特流代码转换为不同比特速率的输出压缩视频比特流的方法,包括以第一比特速率接收输入压缩视频比特流。为输出压缩视频比特流指定新的目标比特速率。该输入比特流被部分解码以产生解量化(dequantized)数据。使用不同的量化级(QP)将该解量化数据重新量化,以产生重新量化数据,该重新量化数据被重新编码以产生输出压缩视频比特流。
根据本发明的一个方面,该方法进一步包括确定用于重新量化的适当的初始量化级(QP)。监测输出压缩视频比特流的比特速率,调整量化级,从而使输出压缩视频比特流的比特速率和目标比特速率完全匹配。
根据本发明的另一方面,该方法进一步包括将恒定头部数据直接复制到输出压缩视频比特流。
根据本发明的另一方面,该方法进一步包括通过解量化重新量化的数据并从解量化数据中扣除来确定重新量化误差。用逆离散余弦变换(IDCT)处理该量化误差以产生等效误差图像。根据来自输入压缩视频比特流的运动补偿参数将运动补偿应用到该误差图像。运动补偿误差图像是DCT处理的,并将该DCT处理误差图像作为用于由于重新量化产生的误差的运动补偿校正应用到解量化数据。
根据本发明的另一方面,重新量化误差被表示为8比特有符号数字,并在将其存储在8比特无符号存储缓冲器之前用等于它们跨度(span)一半(即+128)的量偏移。在检索之后,扣除偏移,从而重新存储初始有符号重新量化误差值。
根据本发明的另一方面,给代码转换器提供全零CBP(编码块模式)来替换编码为“跳过(skipped)”的宏块。此外,对于使用运动补偿的预测编码模式,提供全零运动向量(MV)给代码转换器用于“跳过”宏块。
根据本发明的另一方面,如果代码转换导致全零编码块模式(CBP),则选择“跳过”编码模式。该方法主要用于不使用补偿数据(例如运动补偿)的编码模式。对于使用运动补偿数据的预测模式,当代码转换CBP是全零且运动向量是全零时选择“跳过”模式。
还说明了实施本方法的设备。
术语表
除非特别指出或从上下文使用中很明显,给出在此使用的任何术语、缩写、首α缩写或科学符号、记号在本发明特别适于的技术规程中的通常意义。期望下面的术语表对在此包含的不同说明以及现有技术文献给出清楚以及一致的说明。
AC系数:在一或二维的频率是非零的任何DCT系数。
MPEG:运动图像专家组。
MPEG-4:针对多媒体应用和流视频的MPEG运动图像编码标准的变化方案,目标是大范围的比特速率。正式指定为ISO/IEC14496,有6部分。
B-VOP;
双向预测编码VOP:使用来自过去和/或未来参考VOP的运动补偿预测编码的VOP。
向后兼容性:如果解码器被设计用于按照较老编码标准运行,较新的编码标准向后兼容较老的编码标准,解码器通过解码所有或部分根据较新编码标准产生的比特流能继续运行。
向后运动向量:用于运动补偿的运动向量,该运动补偿来自在显示顺序上靠后时间的参考VOP。
向后预测:从未来参考VOP预测。
基层:可缩放分级结构的独立解码层。
二进制α块:16×16像素块,和宏块在一处,代表二进制α图的形状信息;也被称为bab。
二进制α图:2D二进制遮罩,代表视频物体的形状,从而不透明的像素被认为是该物体的一部分,而透明的像素被认为不是该物体的部分。
比特流;流:形成数据编码表示的顺序比特序列。
比特速率:从存储介质或网络传送编码比特流到解码器输入的速率。
块:采样(像素)的8行8列矩阵,或64DCT系数(源,量化或解量化)。
字节对准:编码比特流中的比特是字节对准的,如果它的位置是从流中的第一比特开始的8比特倍数。
字节:8比特序列。
基于环境的算术编码:用于编码二进制形状的方法;还被称为cae。
通道:存储或传输根据MPEG-4(ISO/IEC14496)规范构建的比特流的数字介质或网络。
色度格式:定义一个宏块中色度块的数目。
色度分量:矩阵、块或单个采样,代表关于现行在比特流中定义的主颜色的两个不同颜色信号之一。用于色度信号的符号是Cr和Cb。
CBP:编码块模式。
CBPY:该可变长度编码代表宏块中具有至少一个非内部DC转移系数的非透明亮度块的模式。
编码B-VOP:一个编码B-VOP。
编码VOP:编码VOP是编码I-VOP、编码P-VOP或编码B-VOP。
编码I-VOP:一个编码I-VOP。
编码P-VOP:一个编码P-VOP。
编码视频比特流:一个或多个如在MPEG-4(ISO/IEC14496)规范中定义的VOP的一系列编码表示。
编码顺序:VOP传输和解码的顺序。该顺序可以和显示顺序不同。
编码表示:以编码形式表现的数据元素。
编码参数:一组特性化编码视频比特流的用户定义参数。通过编码参数将比特流特性化。解码器特性在于它们可以解码的比特流。
分量:来自三个构成图像的矩阵(亮度和两个色度)之一的矩阵、块或单个采样
合成处理:通过该处理(非标准化)将重新构建VOP合成为场景并显示。
压缩:用于表现数据项的比特数目的减少。
恒定比特速率编码视频:具有恒定比特速率的编码视频比特流。
恒定比特速率;CBR:从编码比特流的开始到结束比特速率都相同的操作。
转换比:用于形状的速率控制目的的大小转换比。
数据元素:在编码之前和解码之后表现的数据的项。
DC系数:用于频率在二维中都是零的DCT系数。
DCT系数:特定余弦基函数的幅度。
解码器输入缓冲器:在视频缓冲校对中规定的先入先出(FIFO)缓冲器。
解码器:解码处理的具体设备。
解码(处理):在该规范中定义的读取输入编码比特流并产生解码VOP或音频采样的处理。
解量化:在它们在比特流中的表示被解码之后并在将其提供给逆DCT之前,重定量化DCT系数的比例的处理。
数字存储介质;
DSM:数字存储或传输装置或系统。
离散余弦转换;
DCT:前向离散余弦转换或逆离散余弦转换。DCT是可逆的离散正交转换。
显示顺序:解码图像显示的顺序。通常这和它们在编码器输入被提供的顺序相同。
DQUANT:2比特代码,规定用于I-、P-和S(GMC)-VOP的量化器中量子的改变。
编辑:通过该处理操纵一个或多个编码比特流以产生新的编码比特流。编辑的比特流必须满足在MPEG-4(ISO/IEC14496)规范中定义的要求。
编码器:编码处理的具体设备。
编码(处理):在该规范中未规定的处理,读取输入图像或音频采样的流,产生如在MPEG-4(ISO/IEC14496)规范中定义的有效编码比特流
增强层:对在可伸缩分级结构中的层(在基层之上)的相对参考。对于所有形式的可伸缩性,它的解码处理可参考较低层解码处理和用于增强层自身的适当的额外解码处理来说明。
面部动画参数单元;
FAPU:专用标准化单元(例如平移的、有角度的、逻辑的),被定义用于允许以和产生表情和语音发音合理结果相一致的方式用任何面部模型判读FAP。
面部动画参数;
FAP:操纵面部特征位移和角度的编码流动画参数,管理讲话时口形(viseme)和面部表情的混合。
面部动画表;
FAT:可下载的从输入FAP到面部网格中的特征控制点的功能映射,该面部网格提供用于控制面部运动的分段线性FAP加权。
面部校准网格:3D网格定义,用于基准面部模型的形状和结构校准。
面部定义参数;
FDP:可下载的数据,用于将解码器中的基准面部模型定制到特定面孔,或用于下载面部模型,以及关于怎样使面部模型有生气的信息。FDP通常每个会话传输一次,其后是压缩FAP流。FDP可包括校准基准面部的特征点、面部纹理及将其映射到面部的坐标、动画表等。
面部特征控制点:在一组定义面部特征内关键位置的这样的点中的标准化顶点,由FAP控制,允许基准面部的形状校准。
面部内插转换;
FIT:定义在ISO/IEC14496-1中的可下载的节点类型,用于在它们应用到特征点之前通过加权有理多项式函数可选的将输入FAP映射到FAP,用于标准FAP的合成交叉耦合以将其效果连接到定制或专有面部模型。
面部模型网格:2D或3D连续几何网格,使用顶点坐标通过顶点和平面多边形定义,适于用光度属性(例如纹理、颜色、法线)渲染。
羽化(feathering):逐渐减少用于和背景混合的二进制α遮罩的周围值的工具。
标记:一比特整数变量,仅可以是两个值之一(零和一)
禁止:当在定义编码比特流的条款中使用术语“禁止”时,表明不能使用该值。通常是为了避免起始码的模拟。
强制更新:通过该处理,宏块有时是内部编码的,以确保编码器和解码器中的逆DCT处理不匹配误差不会过度增加。
前向兼容性:较新编码标准和较老编码标准前向兼容,如果设计用于运行在较新编码标准的解码器能解码较老编码标准的比特流。
前向运动向量:用于运动补偿的运动向量,该运动补偿是来自显示顺序中较早时刻的参考帧VOP。
前向预测:从过去参考VOP预测。
帧:一帧包含视频信号空间信息的线。对于逐行视频,这些线包含从一个时刻开始的采样,并通过后继线继续,到帧的底部。
帧周期:帧速率的倒数。
帧速率:从合成处理输出的帧的速率。
未来参考VOP:未来参考VOP是在显示顺序上比当前VOP晚发生的参考VOP。
GMC:全程运动补偿。
GOV:VOP组。
混合可伸缩性:混合可伸缩性是两(或更多)种类型可伸缩性的组合。
隔行扫描:传统电视帧的特性,在传统电视帧中,帧的交替线表示不同的时刻。在隔行扫描帧中,按道理应当首先显示其中一场。该场称为第一场。第一场可以是帧的顶部场或底部场。
I-VOP;内部编码VOP:仅使用来自它自身的信息编码的VOP。
内部编码:仅使用来自该宏块或VOP的信息编码宏块或VOP。
内部形状编码:不使用任何暂时预测的形状编码。
相互形状编码:使用暂时预测的形状编码。
级别:在特定文件中对MPEG-4(ISO/IEC14496)规范的参数取值的一组规定限制。该文件可以包含一个或多个级别。在不同环境中,级别是非零系数(参见“run”)的绝对值。
层:在可伸缩分级结构中表示顺序比特流组中的一个及其相关解码处理(的结果)。
分层比特流:和特定层相关的单个比特流(总和层限定词一起使用,例如“增强层比特流”)。
较低层:对在给定增强层之下的层的相对参考(隐含的包括在该增强层之下的所有层的解码)。
亮度分量:矩阵、块或单个采样,代表信号的单色表示,和现行定义在比特流中的主要颜色相关。用于亮度的符号是Y。
Mbit:1,000,000比特。
MB;宏块:来自图像亮度分量16×16部分的4个8×8块亮度数据和两个(对于4:2:0色度格式)对应的8×8块色度数据。宏块某时用于指采样数据,有时指采样值的编码表示以及其他在MPEG-4(ISO/IEC14496-2)规范中定义的宏块头部内的其他数据元素。从上下文中可以清楚它的用途。
MCBPC:宏块模式编码。这是可变长度代码,用于导出用于色度的宏块类型以及编码块模式。总是包含在编码宏块中。
网格:2D三角形网格指的是平面图,该图将视频物体平面嵌入三角形块。三角形网格元素的顶点被称为节点。节点之间的直线片断被称为边。如果它们共享公共边,则两个三角形相邻。
网格几何:节点和网格三角形结构的空间位置。
网格运动:网格的节点从一个时刻到下一时刻的暂时位移。
MC;
运动补偿:使用运动向量改进采样值预测效率。该预测使用运动向量来提供偏移到包含用于形成预测误差的先前解码采样值的过去和/或未来参考VOP。
运动估计:编码处理中的估计运动向量的处理过程。
运动向量:用于运动补偿的二维向量,该补偿提供从当前图像或场的坐标位置到参考VOP的坐标的偏移。
形状运动向量:用于形状运动补偿的运动向量。
非内部编码:使用来自自身以及来自发生在其他时刻的宏块和VOP的信息编码宏块或VOP。
不透明宏块:具有所有255形状遮罩的宏块。
P-VOP;
预测编码VOP:用来自过去VOP的运动补偿预测编码的图像。
参数:在该规范语法中的变量,可取一个取值范围中的一个值。仅可取两个值中的一个值的变量称为标记。
过去参考图像:过去参考VOP是在合成顺序上比当前VOP出现在较早时间的参考VOP。
图像:源、编码或重新构建图像数据。源或重新构建图像包括三个8比特数值矩形矩阵,代表亮度和两个色度信号。编码VOP在前面已经定义。对于逐行视频,图像和帧相同。
预测:使用预测值提供当前正解码的采样值或数据元素的估计。
预测误差:采样或数据元素实际值和预测值之间的差。
预测值:先前解码采样值或数据元素的线性组合。
文件:该规范语法中的定义子集。
逐行:电影帧的属性,其中该帧所有采样代表相同的时刻。
量化矩阵:解量化器使用的64个8比特值集合。
量化DCT系数:解量化之前的DCT系数。量化DCT系数的可变长度编码表示作为编码视频比特流的一部分传输。
量化器比例:编码在比特流中的比例因子,由解码处理使用以换算解量化。
QP:量化参数。
随机存取:在任意点开始读取并解码编码比特流的处理。
重新构建VOP:重新构建的VOP包括三个8比特数值的矩阵,代表亮度和两个色度信号。由解码编码VOP获得。
参考VOP:参考帧是重新构建VOP,以编码I-VOP或编码P-VOP形式编码。参考VOP用于当解码P-VOP和B-VOP时前向和后向预测。
重新排序延迟:解码处理中由VOP重新排序造成的延迟。
保留:当用在定义编码比特流的条款中时,术语“保留”表示可用在未来ISO/IEC规定扩展的值。
可伸缩分级结构:包含多于一个视频比特流的有序组的编码视频数据。
可伸缩性:可伸缩性是解码器解码比特流的有序组以产生重建序列的能力。此外,当解码子集时输出有用的视频。因此可解码的最小子集是被称为基层的组中第一比特流。该组中的其他比特流都被称为增强层。当定址特定增强层时,“较低层”指的是在该增强层之前的层。
辅助信息:比特流中控制解码器所必需的信息。
run:在扫描顺序中,在非零系数之前的零系数的数目。非零系数的绝对值被称为“级别”。
饱和度:通过将其值设定到范围的最大或最小限制超过定义范围的某值。
源;输入:用于描述视频素材或编码之前它的某些属性的术语。
空间预测:从用在空间可伸缩性的解码器的较低层解码帧中导出的预测。
空间可伸缩性:伸缩性的一种类型,其中增强层也使用来自采样数据的预测,不使用运动向量从较低层中导出该采样数据。这些层具有不同VOP尺寸或VOP速率。
静态子图形(sprite):不随时间变化的物体的亮度、色度以及二进制α平面。
子图形-VOP;S-VOP:使用通过弯曲全部或部分静态子图形获得的信息编码的图像。
开始代码:嵌入编码比特流的32比特代码,是单独的。它们用于若干目的,包括识别编码语法中的某些结构。
填充(比特);
填充(字节):插入到编码比特流中的码字,在解码处理中丢弃。它们的目的是增加该流的比特速率,否则该比特速率将低于期望的比特速率。
暂时预测:从除了那些定义为空间预测之外的参考VOP导出的预测。
暂时可伸缩性:可伸缩性的一种类型,其中增强层也使用来自采样数据的预测,使用运动向量从较低层导出该采样数据。这些层具有相同的帧尺寸,但可以具有不同VOP速率。
顶层:可伸缩分级结构中的最顶层(具有最高的layer_id)。
透明宏块:具有全零形状遮罩的宏块。
可变比特速率;VBR:在解码编码比特流中比特速率随时间变化的操作。
可变长度编码;
VLC:编码的可逆过程,对经常性事件指定较短码字,对不经常的事件指定较长码字。
视频缓冲校验;
VBV:理想解码器,和编码器的输出概念上连接。它的目的是对编码器或编辑处理可能产生的数据速率的变化进行限制。
视频物体;
VO:一帧内所有VOP的合成。
视频物体层;
VOL:VOP的暂时顺序。
视频物体平面;
VOP:在一帧内的具有任意形状的区域。
VOP重新排序:当编码顺序和用于显示的合成顺序不同时,重新排序重建VOP的处理。当B-VOP出现在比特流中时发生VOP渲染。当解码低延迟比特流时没有VOP渲染。
视频会话:编码视频比特流的最高语法结构。它包括一系列一个或多个编码视频物体。
口形:嘴、舌头和上颚的物理(视觉)结构,在视觉上和对应音素的语音相关。
弯曲:用于从静态子图形中提取子图形VOP的处理。它包含由少量运动参数(0,2,4,8)驱动的全程空间转换,以恢复亮度、色度以及形状信息。
Z型扫描顺序:从(近似)最低空间频率到最高空间频率的DCT系数的特定排序。
附图说明
图1是根据本发明的完整的视频代码转换器的框图;
图2A是根据本发明的标准MPEG-4视频流的结构图;
图2B是根据本发明的标准MPEG-4宏块(MB)的结构图;
图3是根据本发明的用于从编码MB中提取数据的技术的框图;
图4A-4G是根据本发明的如应用到多种不同编码格式的完整视频代码转换器的代码转换部分的框图;
图5是根据本发明的确定用于I-VOP的重新编码模式的技术的流程图;
图6是根据本发明的确定用于P-VOP的重新编码模式的技术的流程图;
图7a和7b是根据本发明的确定用于S-VOP重新编码模式的技术的流程图;
图8a和8b是根据本发明的确定用于B-VOP的重新编码模式的技术的流程图;
图9是根据本发明的完整视频代码转换器的重新编码部分的框图;
图10是对于特定视频源,比较直接MPEG-4编码、级联编码以及根据本发明的代码转换之间的信噪比的表;
图11是比较直接MPEG-4编码和根据本发明的代码转换之间的信噪比的图。
具体实施方式
本发明涉及视频压缩技术,更具体的,涉及用于压缩视频比特流的编码、解码以及代码转换技术。
根据本发明,提供一种成本效益高、有效的代码转换器,通过将输入流向下解码到宏块级别,分析头信息,解量化以及部分解码宏块,调整量化参数以和期望的输出流特性匹配,然后重新量化并重新编码宏块,并从输入流中将未改变或恒定的头信息部分复制到输出流中。
视频代码转换器
图1是根据本发明的完整的视频代码转换器100的框图。要代码转换的输入比特流(旧比特流)102输入到代码转换器100的VOL(视频物体层)头部处理块110,并依次通过三个头部处理块(VOL头部处理块110,GOV头部处理块120以及VOP头部处理器块130)、部分解码块140、代码转换块150以及重新编码块160处理。
VOL头部处理器块110从输入比特流102中解码并提取VOL头部比特112。然后,GOV(VOP组)头部处理块120解码并提取GOV头部比特122。然后,VOP(视频物体平面)头部处理块130解码并提取输入的VOP头部比特132。输入的VOP头部比特132包含信息,该信息包括量化参数信息,是关于比特流102中的相关宏块初始是怎样压缩以及编码的。
在VOL、GOV和VOP头部比特(分别是112,122,132)被提取之后,在部分解码块140中部分解码剩余的比特流(宏块的主要组成,下面论述)。部分解码块140包括从宏块头部信息中分离宏块数据并且如所要求的(根据存储在头部比特中的编码信息)将其解量化为有用形式。
速率控制块180通过确定新的量化参数182、184响应期望的新比特速率输入信号104,通过量化参数182、184重新压缩输入比特流102。这部分上通过监测信比特流162并调整量化参数182、184从而将新比特流162维持在期望比特速率来实现。这些新确定的量化参数184然后在调整块170中被合并到输入VOP头部比特132,以产生输出VOP头部比特172。速率控制块180还提供量化参数信息182到代码转换块150,以控制从输入比特流102解码的视频数据的重新量化(压缩)。
代码转换块150,运行在来自部分解码块140的解量化宏块数据上,并根据来自速率控制块180的新的量化参数182将其重新量化。代码转换块150还处理编码到宏块中的运动补偿和交叉数据,跟踪并补偿量化误差(初始比特流和由于量化的重新量化比特流之间的差),并为重新量化比特流中的每个宏块确定编码模式。重新编码块160然后根据代码转换器确定的编码模式重新编码代码转换后的比特流,产生新的比特流162(新比特流)。重新编码块还在适当位置重新插入VOL、GOV(如果需要)以及VOP头部比特(分别是112,122,132)到新比特流162。(参考图2A在下面详细说明头部信息)。
输入比特流102可以是用VBR(可变比特速率)或CBR(恒定比特速率)编码的。类似的,输出比特流也可以是VBR或CBR编码。
MPEG-4比特流结构
图2A是MPEG-4比特流200的结构的图,显示如在MPEG-4规范中定义的分层结构。VOL头部210包括以下信息:
-物体层ID
-VOP时间增量分辨率
-固定VOP速率
-物体尺寸
-隔行扫描/非隔行扫描指示符
-子图形/GMC
-量化类型
-量化矩阵(如果有)
包含在VOL头部210的信息影响随后的所有信息是怎样解释并处理的。
VOL头部之后是GOV头部220,它包括以下信息:
-时间代码
-关闭/打开
-链路断开
GOV(VOP组)头部220控制其后的一个或多个VOP的解释和处理。
每个VOP包括VOP头部230以及一个或多个宏块(MB)(240a,b,c...)。VOP头部230包括以下信息:
-VOP编码类型(P,B,S或I)
-VOP时间增量
-编码/直接(未编码)
-rounding类型
-初始量化参数(QP)
-用于运动向量(MV)的fcode
VOP头部230影响其后的MB(240)的解码和解释。
图2B显示宏块(MB)240的通用格式。宏块或MB240包括MB头部242以及块数据244。编码到MB头部242的信息及头部格式取决于定义它的VOP头部230。通常来说,MB头部242包括以下信息:
-代码模式(intra,inter等)
-编码或直接(未编码)
-编码块模式(CBP)
-AC预测标志(AC pred)
-量化参数(QP)
-隔行扫描/非隔行扫描
-运动向量(MV)
和每个MB头部相关的块数据244包括可变长度编码(VLC)DCT系数,用于MB代表的6个8×8像素块。
头部处理
再次参考图1,当和比特流一起呈现时,VOL头部处理块110检查输入比特流102,寻找可识别VOL头部。当检测到VOL头部时,通过识别并解码和输入比特流不同解码层(VOL,GOV,VOP等)相关的头部开始输入比特流102的处理。VOL、GOV和VOP头部如下处理:
1.VOL头部处理:
VOL头部处理块110检测并识别输入比特流102中的VOL头部(如在MPEG-4规范中定义的),然后解码存储在VOL头部中的信息。然后和比特流一起传送该信息到GOV头部处理块120,用于进一步的分析和处理。VOL头部比特112被分离,用于重新插入输出比特流(新比特流)162。对于速率降低的代码转换,无需在输入比特流102和输出比特流162之间改变任何VOL头部信息。因此,仅将VOL头部比特112简单复制到输出比特流162的适当位置。
2.GOV头部处理:
根据VOL头部处理块110传送的信息,GOV头部处理块120在输入比特流102中搜索GOV头部(如在MPEG-4规范中定义的)。由于VOP(以及VOP头部)可能或可能不在GOV头部中编码,可独立于GOV头部出现VOP头部。如果GOV头部出现在输入比特流102中,通过GOV头部处理块120识别并解码,并提取GOV头部比特122以用于重新插入到输出比特流162。任何解码的GOV头部信息和输入比特流一起传送到VOP头部处理块130以用于进一步的分析和处理。和VOL头部一样,无需在输入比特流102和输出比特流162之间改变GOV头部内的任何信息,因此仅简单将GOV头部比特122复制到输出比特流162中的适当位置。
3.VOP头部处理:
VOP头部处理块130识别并解码输入比特流102中的任何VOP头部(如在MPEG-4规范中定义的)。检测到的VOP头部比特132被分离并传送到QP调整块170。解码的VOP头部信息也和输入比特流102一起被传送到部分解码块140用于进一步的分析和处理。部分解码块140和代码转换块150使用解码的VOP头部信息用于MB(宏块)解码和处理。由于MPEG-4规范将从MB到MB的QP改变限制在+/-2,必须为每个VOP规定正确的初始QP。这些初始QP形成VOP头部的一部分。根据提供给速率控制块180的新比特速率104以及在输出比特流162环境中观察到的比特速率,速率控制块180确定适当的量化参数(QP)182并将其提供给代码转换块150用于MB重新量化。将适当的初始量化参数184提供给QP调整块170用于修改检测到的VOP头部比特132,并通过将初始QP合并到检测的VOP头部比特132中产生新的VOP头部比特172。
4. MB头部处理
MPEG-4是基于块的编码方案,其中每帧都被划分到MB(宏块)中。每个MB包括一个16×16亮度块(即四个8×8块)和两个8×8色度块。VOP中的MB被从左至右并从上至下一个挨一个的编码。如在MPEG-4规范中定义的,用VOP头部和多个MB(参见图2A)代表VOP。为了效率和简明的缘故,本发明的MPEG-4代码转换器100仅部分解码MB。即MB仅被VLD(可变长度解码或VLC编码数据的解码)处理并解量化。
图3是部分解码块300(比较图1中的130)的框图。MB块数据包括VLC编码、量化DCT系数。这些必须被转换为未编码、解量化系数,以用于分析和处理。可变长度编码(VLC)MB块数据比特302由VLD块310进行VLD处理以将其扩展为未编码、量化DCT系数,然后在解量化块(Q-1)320中解量化以产生未编码、解量化DCT系数322形式的解量化MB数据322。
MB头(242)以及MB块数据(244)的编码和解释取决于它们属于的VOP的类型。MPEG-4规范定义了四种类型的VOP:I-VOP或“内部编码”VOP,P-VOP或“预测编码”VOP,S-VOP或“子图形”VOP以及B-VOP或“双向”预测编码VOP。用于各个类型VOP的包含在MB头部(242)内的信息以及MB块数据(244)的格式和解释如下:
I-VOP内的MB层
如MPEG-4规范定义的,I-VOP内的MB头部包括以下编码参数:
-MBCPC
-AC预测标记(AC_pred_flag)
-CBPY
-DQUANT,以及
-interlace_inform
仅有两种编码模式定义用于I-VOP的MB块数据:intra和intra_q。
MCBPC表示MB的类型以及两个8×8色度块的编码模式。AC_pred_flag表示是否使用AC预测。CBPY是四个8×8亮度块的编码模式。DQUANT表示差分量化。如果在VOL层设定隔行扫描,interlace_inform包括在变换MB块数据内的DCT系数时使用的DCT(离散余弦变换)类型。
P-VOP内的MB层
如MPEG-4规范定义的,P-VOP内的MB头部包括以下编码参数:
-COD
-MCBPC
-AC预测标记(AC_pred_flag)
-CBPY
-DQUANT
-Interlace_inform
-MVD
-MVD2
-MVD3以及
-MVD4
MB的运动向量(MV)是差分编码的。即,运动向量差分而不是运动向量被编码。MVD=MV-PMV,其中PMV是预测MV。
有六种编码模式定义用于P-VOP的MB块数据:未编码,inter,inter_q,inter_4MV,intra以及intra_q。
COD是MB是否编码的指示器。MCBPC表示MB的类型以及两个8×8色度块的编码模式。AC_pred_flag仅出现在MCBPC指示是intra或intra_q编码时,在此情况中它指示是否使用AC预测。CBPY是四个8×8亮度块的编码模式。DQUANT表示差分量化。如果在VOL头部规定隔行扫描,interlace_inform指定DCT(离散余弦变换)类型、场预测以及前向顶部或底部预测。MVD,MVD2,MVD3和MVD4仅出现在适于MCBPC指定的编码时。仅在适于MCBPC和CBPY指定的编码时出现块数据。
S-VOP中的MB层:
如MPEG-4规范定义的,S-VOP内的MB头部包括以下编码参数:
-COD
-MCBPC
-MCSEL
-AC预测标记(AC_pred_flag)
-CBPY
-DQUANT
-Interlace_inform
-MVD
-MVD2
-MVD3以及
-MVD4
除了在P-VOP中定义的六种编码模式外,MPEG-4规范为S-VOP另外定义了两种编码模式:inter_gmc和inter_gmc_q。仅当MCBPC指定的编码类型是inter或inter_q才在MCBPC之后出现MCSEL。当设定MCSEL时,MB以inter_gmc或inter_gmc_q模式编码,其后没有MVD(MVD,MVD2,MVD3,MVD4)。Inter_gmc是具有全程运动补偿以inter模式编码MB的编码模式。
B-VOP中的MB层
如MPEG-4规范定义的,B-VOP内的MB头部包括以下编码参数:
-MODB
-MBTYPE
-CBPB
-DQUANT
-Interlace_inform
-MVDf
-MVDb以及
-MVDB
CBPB是3到6比特代码,如果由MODB指示,代表B-VOP的编码块模式。MODB是可变长度代码,仅出现在B-VOP的编码宏块中。它指示该宏块是否出现MBTYPE和/或CBPB信息。
MPEG-4规范为B-VOP中的MB定义五种编码模式:未编码,直接,interpolate_MC_Q,backward_MC_Q以及forward_MC_Q。如果跳过了最近的I-或P-VOP的MB,也跳过B-VOP中的对应MB。否则,不跳过该MB。对于B-VOP中每个没有跳过的MB,都出现MODB。MODB指示MBTYPE和CBPB是否跟随其后。MBTYPE指示运动向量模式(MVDf,MVDb和MVDB)和量化(DQUANT)。
代码转换
再次参考图1,在部分解码块140中的VLD解码并解量化之后,解码和解量化的MB块数据(参考图3的322)被传送到代码转换引擎150(和在先前处理块中确定的信息一起)。代码转换块150使用来自速率控制块(下面详细说明)的新的量化参数(QP)182重新量化解量化的MB块数据,并构建重新编码(代码转换)MB,为新MB确定适当的新代码模式。VOP类型和MB编码(如在MB头部中规定的)影响代码转换块150处理来自部分解码块140的解码和解量化块数据的方式。每个MB类型(如由VOP类型/MB头部定义的)都有用于确定新MB编码类型的特定策略。
图4A-4G是用于处理解码和解量化块数据的不同代码转换技术的框图,以下结合不同VOP类型/MB编码类型的说明进行讨论。
I-VOP内MB的代码转换
I-VOP内的MB以intra或intra_q模式编码,即它们不参考其他
VOP(无论是以前的还是随后的)而编码。图4A是配置用于处理intra/intra_q编码MB的代码转换块400a的框图。解量化MB数据402
(比较图3的322)输入到代码转换块400a,并提供到量化块410。量化块根据来自速率控制块(图1的180)的新QP412重新量化解量化MB数据402,并提供得到的重新量化MB数据到模式确定块480,在此确定为重新编码重新量化的MB数据的适当模式选项。重新量化的MB数据以及模式选项482被传送到重新编码器(参见图1的160)。进行编码模式确定的技术在下文详细说明。intra/intra_q编码模式的解量化MB数据被直接量化,没有运动补偿(MC)。重新量化MB还被传送到解量化块420(Q-1),在此解开量化处理以产生DCT系数。如本领域普通技术人员已经理解的,提供到代码转换块400a的解量化MB数据402和解量化块420产生的DCT系数都是用正在代码转换的MB所表示的视频图像数据的频域表现。然而,由于量化块410进行的量化是根据和用在初始MB中不同的QP(极可能)执行的,而从初始QP中导出解量化MB数据402,因此从解量化块420的到的DCT系数和提供给代码转换块400a的解量化MB数据402之间存在差值。在差值块425中计算该差值,并在IDCT块430中进行IDCT处理(逆离散余弦变换),以产生由于这些差值导致的在最终输出视频比特流中的量化误差的“误差图像”表示。该量化误差的误差图像表示存储在帧缓冲器440(FB2)中。由于量化误差可以是正值或负值,但像素数据是无符号的,用FB2的一半动态范围偏移误差图像表示。例如,假定8比特像素,FB2中的任何输入范围在0到255。图像数据向上偏移+128,从而从-128到+127的误差图像值对应O到255的FB2输入值。FB2的内容被存储用于运动补偿(MC)与和其他VOP类型/编码类型相关的MB的组合。
本领域技术人员会立即认识到存在多种不同的处理数值转换(其中不同类型的数字,例如有符号和无符号,将被混合)的方法,上述的偏移技术仅仅是这些技术的代表,并不是限制目的。
应当注意到没有跳过I-VOP中的MB。
P-VOP中MB的代码转换
P-VOP中的MB可用intra/intra_q,inter/inter_q/inter_4MV或跳过(skipped)编码。不同类型的MB(inter,inter_q,inter_4MV)代码转换不同。P-VOP的intra/intra_q编码MB用以上参考图4A显示和说明的进行代码转换。inter,inter_q和inter_4MV编码MB如图4B所示代码转换。如图4C所示处理跳过MB。
图4B是适于代码转换初始inter、inter_q或inter_4MV编码的MB,如VOP和MB头部指示的。这些编码模式采用运动补偿。在代码转换P-VOP之前,将帧缓冲器FB2(440)的内容传送到帧缓冲器FB1(450)。当从FB1(450)检索时,倒置在存储在FB2(440)之前应用给误差图像数据的偏移。运动补偿块460(MC)还接收代码模式和运动向量信息(从MB头部部分解码,参考图3)并如在MPEG-4规范中规定的操作以产生运动补偿“图像”,该“图像”此后在DCT块470中进行DCT处理以产生运动补偿DCT系数。然后将这些运动补偿DCT系数和输入解量化MB数据在组合块405中组合,以产生运动补偿MB数据。得到的组合实际上仅应用运动补偿到代码转换MB误差(初始MB数据和代码转换MB数据482之间作为使用不同QP重新量化的结果的差值)。
将运动补偿MB数据提供到量化器块410。和以上参考图4A显示和说明的类似方式,量化器块根据来自速率控制块(参考图1的180)的新的QP412重新量化运动补偿MB数据并将得到的重新量化MB数据提供到模式确定块480,其中确定用于重新编码重新量化MB数据的适当模式选择。重新量化MB数据和模式选择485被传送到编码器(参见图1的160)。下面详细说明进行编码模式确定的技术。重新量化MB也被传送到重新量化器块420(Q-1),在此反向进行量化处理以产生DCT系数。和先前的相同,由于量化块410进行的量化是根据不同于用在初始MB数据上的QP量化的,而正是从初始MB数据中导出解量化MB数据402,在从解量化块420出现的DCT系数和运动补偿MB数据之间的差值在差分块425中计算,并在IDCT块430中进行IDCT处理(逆离散余弦变换),以产生代表由于这些差值导致的在最终输出视频比特流中的量化误差的“误差图像”。该量化误差的误差图像表示和前面一样存储在帧缓冲器FB2(440)中。由于量化误差可以是正值或负值,但像素数据是无符号的,用FB2动态范围的一半偏移误差图像表示。
图4C是代码转换块400c的框图,适于初始编码为“跳过”的MB,如在VOP和MB头部中指示的。在此例子中,将MB和MB数据看作好像编码模式是“inter”,并且所有系数(MB数据)和所有运动补偿向量(MV)都是零。这很容易通过强制所有解量化MB数据402和所有运动向量462(MV)是零并如关于图4B上所显示和描述的进行代码转换来实现。由于来自先前帧的残留误差信息,组合器块405产生的运动补偿MB数据可能包括非零元素,指示要编码的图像信息。因此,跳过的MB在代码转换之后可能产生非跳过MB。这是因为由速率控制块(参考图1的180)分配的新QP412逐MB而改变。初始非跳过MB在重新量化之后可能没有非零DCT系数。在另一方面,初始跳过MB在MC和重新量化之后可能具有某些非零DCT系数。
S-VOP中MB的代码转换
S-VOP或“子图形-VOP”和P-VOP类似,但允许两种额外的MB编码模式:inter_gmc和inter_gmc_q。初始编码为inter、intraq_q,inter,inter_q以及inter_4MV的S-VOP MB用和以上说明的类似编码P-VOP的方式处理。初始编码inter_gmc,inter_gmc_q的S-VOP MB如图4d所示进行处理。
图4D是代码转换块400d的框图,适于代码转换初始编码为inter_gmc,inter_gmc_q的MB数据,如由VOP和MB头部所指示的。这些编码模式采用GMC(全程运动补偿)。如对于P-VOP,在代码转换S-VOP之前,帧缓冲器FB2(440)的内容被传送到帧缓冲器FB1(450)。FB1的内容被提供给配置用于GMC的运动补偿块460。在其存储到FB2(440)之前提供到误差图像数据的偏移当从FB1(450)检索到时被倒置。运动补偿块460(MC)也接收GMC参数信息462(来自MB头部部分解码,参考图3)并如MPEG-4规范中规定的操作以产生GMC“图像”,然后将该图像在DCT块470中进行DCT处理以产生运动补偿DCT系数。然后将这些运动补偿DCT系数和输入解量化MB数据在组合块405中组合,以产生GMC MB数据。得到的组合实际上仅应用GMC到代码转换MB误差(初始MB数据和代码转换MB数据482之间作为使用不同QP重新量化的结果的差值)。
将GMC MB数据提供到量化器块410。和以上参考图4A-4C显示和说明的类似方式,量化器块根据来自速率控制块(参考图1的180)的新的QP412重新量化GMC MB数据并将得到的重新量化MB数据提供到模式确定块480,其中确定用于重新编码重新量化MB数据的适当模式选择。重新量化MB数据和模式选择485(图1中没有485)被传送到编码器(参见图1的160)。下面详细说明进行编码模式确定的技术。重新量化MB也被传送到重新量化器块420(Q-1),在此反向进行量化处理以产生DCT系数。和先前的相同,由于量化块410进行的量化是根据不同于用在初始MB数据上的QP量化的,而正是从初始MB数据中导出解量化MB数据402,在从解量化块420出现的DCT系数和GMC MB数据之间的差值在差分块425中计算,并在IDCT块430中进行IDCT处理(逆离散余弦变换),以产生代表由于这些差值导致的在最终输出视频比特流中的量化误差的“误差图像”。该量化误差的误差图像表示和前面一样存储在帧缓冲器FB2(440)中。由于量化误差可以是正值或负值,但像素数据是无符号的,用FB2动态范围的一半偏移误差图像表示。
图4E是代码转换块400e的框图,适于初始编码为“跳过”的MB,如在VOP和MB头部中指示的。在此例子中,将MB和MB数据看作编码模式是“inter_gmc”,并且所有系数(MB数据)和都是零。这很容易通过以下方式实现:强制模式选择,设定GMC运动补偿(462)以及强制所有解量化MB数据402是零并如以上关于图4B上显示和描述的进行代码转换。由于来自先前帧的残留误差信息,组合器块405产生的GMC MB数据可能包括非零元素,指示要编码的图像信息。因此,跳过的MB在代码转换之后可能产生非跳过MB。这是因为由速率控制块(参考图1的180)分配的新QP412逐MB改变。初始非跳过MB在重新量化之后可能没有非零DCT系数。在另一方面,初始跳过MB在GMC和重新量化之后可能具有某些非零DCT系数。
B-VOP中MB的代码转换
B-VOP或“双向预测编码VOP”不编码新的图像数据,而是在过去I-VOP和/或P-VOP和未来I-VOP和/或P-VOP之间插入。(处理出自帧序列顺序的B-VOP需要“未来”VOP信息,即从其导出图像信息的“未来”VOP之后)。为B-VOP定义四种编码模式:直接、内插、后向和前向。这些模式中的B-VOP代码转换在图4F中显示。初始编码是“跳过”的B-VOP MB的代码转换在图4G中显示。
图4F是代码转换块400f的框图,适于代码转换为初始编码是直接、前向、后向或内插的MB,如VOP和MB头部所指示的。这些编码模式采用运动补偿。在代码转换之前,将来自先前(和/或未来)VOP的误差图像信息配置在帧缓冲器FB1(450)中。将FB1(450)的内容提供给运动补偿块460。在其存储到帧缓冲器FB1(450)之前应用到误差图像数据的任何偏移当从帧缓冲器FB1(450)检索时都被倒置。运动补偿块460(MC)接收运动向量(MV)和编码模式信息462(来自MB头部部分解码,参考图3)并如在MPEG-4规范中规定的操作以产生运动补偿MC“图像”,该“图像”此后在DCT块470中进行DCT处理以产生运动补偿MC DCT系数。然后将这些运动补偿MC DCT系数和输入解量化MB数据在组合块405中组合,以产生MC MB数据。得到的组合实际上仅应用运动补偿到来自先前、未来或前后的其他VOP,取决于编码模式-的代码转换MB误差(初始MB数据和代码转换MB数据482之间作为使用不同QP重新量化的结果的差值)。
将MC MB数据提供到量化器块410。量化器块根据来自速率控制块(参考图1的180)的新的QP412重新量化MC MB数据并将得到的重新量化MB数据提供到模式确定块480,其中确定用于重新编码重新量化MB数据的适当模式选择。重新量化MB数据和模式选择485被传送到编码器(参见图1的160)。进行编码模式确定的技术在下面详细说明。由于B-VOP从不用在进一步的运动补偿中,不计算并存储用于B-VOP的量化误差以及它们得到的误差图像。
图4G是代码转换块400g的框图,适于初始编码为“跳过”的B-VOP,如在VOP和MB头部中指示的。在此例子中,将MB和MB数据看作编码模式是“直接”,并且所有系数(MB数据)和运动向量好象都是零。这很容易通过强制模式选择和运动向量462分别是“前向”和零来实现,并如以上关于图4F显示和描述的进行代码转换。由于来自先前帧的残留误差信息,组合器块405产生的MC MB数据可能包括非零元素,指示要编码的图像信息。因此,跳过的MB在代码转换之后可能产生非跳过MB。这是因为由速率控制块(参考图1的180)分配的新QP412逐MB改变。初始非跳过MB在重新量化之后可能没有非零DCT系数。在另一方面,初始跳过MB在GMC和重新量化之后可能具有某些非零DCT系数。
本领域普通技术人员十分清楚在以上关于图4A-4G显示和描述的框图中存在通用性。虽然以上好像是用于代码转换不同编码模式的分离实体,能够容易的提供单个代码转换块来容纳用于上述所有编码模式的代码转换操作。例如,图4B中显示的代码转换块能够实现上述所有代码转换操作,其中MC块可以容纳GMC。这是高效且优选的实施模式。图1的代码转换块150指的是完整代码转换器100的集合代码转换功能,不管是实施为一组独立的专用的代码转换块还是单个通用的代码转换块。
模式确定
在上述关于代码转换的讨论中,每个代码转换情形包括根据适当的编码模式选择重新编码新的MB数据的步骤。用于确定编码模式的方法显示在图5,6,7a,7b,8a和8b中。在以下关于这些图的讨论中,来自附图中对应说明内的动作和确定的参考标记放在圆括号中。
I-VOP的编码模式确定
图5是显示用于确定I-VOP MB的重新编码模式的方法的流程图500。在确定步骤505,确定新的QP(qi)和先前QP(qi-1)是否相同。如果相同,则将新的编码模式(重新编码模式)在步骤510设定为intra。否则,将新的编码模式在步骤515确定为intra_q。
P-VOP编码模式确定
图6是显示用于确定P-VOP MB的重新编码模式的方法的流程图600。在第一确定步骤605,初始P-VOP MB编码模式是intra或intra_q,则模式确定处理进行到确定步骤610。否则模式确定步骤进行到确定步骤625。
在确定步骤610,如果新的QP(qi)和先前QP(qi-1)相同,则将新的编码模式在步骤615设定为intra。否则,将新的编码模式在步骤620确定为intra_q。
在确定步骤625,如果初始P-VOP MB编码模式是inter或inter_q,模式确定步骤进行到确定步骤630。否则,模式确定步骤进行到确定步骤655。
在确定步骤630,如果新的QP(qi)和先前QP(qi-1)不相同,则将新的编码模式在步骤635设定为inter_q。如果它们相同,模式确定步骤进行到确定步骤640,在此确定编码块模式(CBP)是否是全零以及运动向量(MV)是否是零。如果是,新的编码模式在步骤645确定为跳过。若不是,新的编码模式在步骤650设定为inter。
在确定步骤655,由于先前已经确定初始编码模式不是inter、inter_q,intra或intra_q,因此假定是inter_4MV,另一个仅有的可能性。如果编码块模式(CBP)是全零以及运动向量(MV)是零,新的编码模式在步骤660确定为跳过。若不是,新的编码模式在步骤665设定为inter_4MV。
S-VOP的编码模式确定
图7a和7b是流程图部分700a和700b,它们组合形成显示确定用于S-VOP MB的重新编码模式的方法的单个流程图。连接符“A”和“B”指出流程图部分700a和700b之间的连接点。组合说明图7a和7b。
在确定步骤705,如果初始S-VOP MB编码模式是intra或intra_q,则模式确定处理进行到确定步骤710。否则,模式确定处理进行到确定步骤725。
在确定步骤710,如果新的QP(qi)和先前QP(qi-1)相同,将新的编码模式在步骤715设定为intra。否则,将新的编码模式在步骤720确定为intra_q。
在确定步骤725,如果初始S-VOP MB编码模式是inter或inter_q,则模式确定处理进行到确定步骤730。否则,模式确定处理进行到确定步骤755。
在确定步骤730,如果新的QP(qi)和先前QP(qi-1)不相同,则将新的编码模式在步骤735设定为inter_q。如果它们相同,模式确定处理进行到确定步骤740,在此确定编码块模式(CBP)是否是全零以及运动向量(MV)是否是零。如果是,新的编码模式在步骤745确定为跳过。若不是,新的编码模式在步骤750设定为inter。
在确定步骤755,如果初始S-VOP MB编码模式是inter_gmc或inter_gmc_q,则模式确定处理进行到确定步骤730。否则,模式确定处理进行到确定步骤785(经过连接符“A”)。
在确定步骤760,如果新的QP(qi)和先前QP(qi-1)不相同,则将新的编码模式在步骤765设定为inter_gmc_q。如果它们相同,模式确定处理进行到确定步骤770,在此确定编码块模式(CBP)是否是全零。如果是,新的编码模式在步骤775确定为跳过。若不是,新的编码模式在步骤780设定为inter。
在确定步骤655,由于先前已经确定初始编码模式不是inter、inter_q、inter_gmc、inter_gmc_q、intra或intra_q,因此假定是inter_4MV,另一个仅有的可能性。如果编码块模式(CBP)是全零以及运动向量(MV)是零,新的编码模式在步骤790确定为跳过。若不是,新的编码模式在步骤795设定为inter_4MV。
B-VOP的编码模式确定
图8a和8b是流程图部分800a和800b,它们组合形成显示确定用于B-VOP MB的重新编码模式的方法的单个流程图。连接符“C”和“D”指出流程图部分800a和800b之间的连接点。组合说明图8a和8b。
在第一确定步骤805,如果先前P-VOP中的共处MB(MV对应编码视频图像中的相同位置)被编码为跳过,则新的编码模式在步骤810被设定为跳过。如果不是,模式确定进行到确定步骤815,在此确定初始B-VOP MB编码模式是否是内插(interp_MC 或interp_MC_q)。如果是,模式确定处理进行到确定步骤820。如果不是,模式确定进行到确定步骤835。
在确定步骤820,如果新的QP(qi)和先前QP(qi-1)相同,则将新的编码模式在步骤825设定为interp_MC。否则,将新的编码模式在步骤830确定为interp_MC_q。
在确定步骤835,如果初始B-VOP MB编码模式是“后向”(backwd或backwd_q),则模式确定进行到确定步骤840。如果不是,模式确定进行到确定步骤855。
在确定步骤840,如果新的QP(qi)和先前QP(qi-1)相同,则将新的编码模式在步骤845设定为backwd_MC。否则,将新的编码模式在步骤850确定为backwd_MC_q。
在确定步骤855,如果初始B-VOP MB编码模式是“前向”(forward_MC或forward_MC_q),则模式确定进行到确定步骤860。如果不是,模式确定进行到确定步骤875(经过连接符“C”)。
在确定步骤860,如果新的QP(qi)和先前QP(qi-1)相同,则将新的编码模式在步骤865设定为forward_MC。否则,将新的编码模式在步骤870确定为forward_MC_q。
在确定步骤875,由于先前已经确定初始编码模式不是interp_MC,interp_MC_q,backwd_MC,backwd_MC_q,forward_MC或forward_MC_q,因此假定是直接,另一个仅有的可能性。如果编码块模式(CBP)是全零以及运动向量(MV)是零,新的编码模式在步骤880确定为跳过。若不是,新的编码模式在步骤885设定为直接。
重新编码
图9是重新编码块900(比较图1的160)的框图,其中采用四个编码模块(910,920,930,940)处理不同的重新编码任务。重新编码块900从包含用于重新编码的重新量化MB数据以及重新编码模式的代码转换块(参见图1和图4A-4G的150)的接收数据905。重新编码模式确定应当采用哪一个重新编码模块来重新编码重新量化的MB数据。重新编码的MB数据被用于提供新的比特流945。
使用intra_MB重新编码模块910来为I-VOP,P_VOP或S_VOP MB以intra和intra_q模式重新编码。使用inter_MB重新编码模块920来为P_VOP或S_VOP MB以inter,inter_q和inter_4MV模式重新编码。使用GMC_MB重新编码模块930来为S_VOP MB以inter_gmc和inter_gmc_q模式重新编码。使用B_MB重新编码模块940来处理所有B-VOP MB 编码模式(interp_MC,interp_MC_q,,forward_MC,forward_MC_q,backwd_MC,backwd_MC_q和直接)。
在新的比特流945中,在不同VOP中的MB层结构保持相同,但各个字段中的内容不同。具体是:
VOP头部生成
I-VOP头部
MB层中的所有字段都会和旧的比特流不同地编码。这是部分因为速率控制引擎可能对于任意MB分配新的QP。如果是,则导致用于MB的不同CBP。虽然用新的QP重新量化AC系数,在intra模式中的所有DC系数总是用8量化。因此,重新量化DC系数等于初始编码的DC系数。intra模式中的量化DC系数是空间预测编码的。根据当前块和相邻块(即宏块)之间的量化DC系数差确定预测方向。由于量化DC系数未改变,用于DC系数的预测方向也不改变。AC预测方向在DC预测方向之后。然而,由于分配给MB的新QP可能不同于初始编码QP,成比例的AC预测也可能不同。这导致设定AC预测标记(ACpred flag)的不同,该标记指示AC预测是启动还是禁止。新QP是差分编码的。此外,由于速率控制块(参考图1的180)确定QP逐MB改变,则DQUANT参数也会改变。
P-VOP头部
MB层中的所有字段,除了MVD,可能和旧比特流中的不同。intra和intra_q编码MB如用于I_VOP的重新编码。inter和inter_q可以编码或无需编码,如新比特流特性所需要的。MV是差分编码的。用于MB的PMV是相邻MV的中值。由于MV未改变,PMV也不改变。因此将相同MVD重新编码到新的比特流。
S-VOP头部
MB层中的所有字段,除了MVD都可能和旧比特流不同(图6)。如在I-和P-VOP中一样的重新编码intra,intra_q,inter以及inter_qMB。对于GMC MB,参数不改变。
B-VOP头部
MB层中的所有字段,除了MVD,可能和旧比特流中的不同。从MPEG-4中的PMV和DMV计算MV。B-VOP编码模式中的PMV可由代码转换处理改变。MV重新同步处理修改DMV的值,从而代码转换后的比特流能产生和输入比特流中的初始MV相同的MV。解码器存储用于后向和前向预测的PMV。用于直接模式的PMV总是零,与后向和前向PMV独立对待。当MB是MC编码时(分别是前向、后向或二者),用在各MB行开始的零或MB值(前向、后向或二者)替换PMV。当MB编码为跳过时不改变PMV。因此,由代码转换比特流产生的PMV可能和输入比特流中的不同,如果MB从跳过模式改变到MC编码模式,反之亦然。优选的,在解码和重新编码处理中的PMV是两个独立存储的分离变量。当MB是MC编码时,重新编码处理在各行开始重新设定PMV并更新PMV。此外,重新编码处理发现MV、PMV的残留,并确定它的VLC(可变长度代码)以包含在代码转换比特流中。当MB不是编码为跳过时,更新PMV以及重新计算MV残留及其对应VLC。
速率控制
再次参考图1,速率控制块180根据目标比特速率104确定用于代码转换的新的量化参数(QP)。速率控制块根据VOP类型、VOP类型复杂性、一个时间窗内的VOP数目、分配给该时间窗的比特数目、场景改变等给每个VOP目标分配比特数。由于MPEG-4限制从MB到MB的QP改变是+/-2,计算每个VOP的适当初始QP,以满足目标速率。这是通过根据以下公式实现的:
qnew=Rold/Tnew·qold
其中:
Rold是每VOP的比特数目
Tnew是比特目标数目
qold是旧QP
qnew是新QP。
在逐MB的基础上调整QP以满足每VOP的目标比特数目。检查输出比特流(新比特流162)以察看是否满足目标VOP比特分配。如果使用太多比特,增加QP。如果使用太少比特,则减少QP。
在评价MPEG-4代码转换器性能时,对一定数目测试视频序列执行仿真。所有的序列都是CIF格式:352×288以及4:2:0。首先使用MPEG-4编码器以1Mbits/sec编码测试序列。压缩的比特流然后被代码转换到500Kbits/sec的新的比特流。为比较目的,还使用MPEG-4编码直接将相同测试序列编码为500Kbits/sec。结果在图10的表格中提供,图10显示了在500Kbits/sec使用直接MPEG-4和代码转换的CIF分辨率序列的PSNR。可以看出,直接MPEG-4和代码转换器之间的差异大约是bus为半dB-0.28dB,flower是0.49dB,mobile是0.58dB,tempete是0.31。由于代码转换器量化视频信号两次引起质量损失,因此引入额外的量化噪声。
作为例子,图11显示用于VBR,或具有固定QP的bus序列的在关于平均比特速率的PSNR方面的代码转换器性能。菱形线是在固定QP=4,6,8,10,12,14,16,18,20和22的直接MPEG-4。具有QP=4的压缩比特流然后在QP=6,8,10,12,14,16,18,20和22代码转换。在较低速率,代码转换性能非常接近直接MPEG-4,而在较高速率,存在约1dB差异。级联编码和代码转换器的性能几乎是相同的。然而,代码转换器的实施比级联编码简单得多。
虽然结合不同特定实施例说明本发明,本领域技术人员可以理解能够做出不同改变和修改而不背离如在权利要求中定义的本发明的精神和范围。

Claims (23)

1.一种代码转换输入压缩视频比特流为在不同比特速率的输出压缩视频比特流的方法,其包括:
接收第一比特速率的输入压缩视频比特流;
为输出压缩视频比特流指定新的目标比特速率;
部分解码输入比特流以产生解量化数据;
使用不同的量化级(QP)重新量化所述解量化数据以产生重新量化的数据;以及
重新编码所述重新量化的数据以产生输出压缩视频比特流。
2.如权利要求1的方法,进一步包括:
为重新量化确定适当的初始量化级(QP);
监测输出压缩视频比特流的比特速率;以及
调整量化级以使输出压缩视频比特流的比特速率近似匹配目标比特速率。
3.如权利要求1的方法,进一步包括:
将恒定头部数据直接复制到输出压缩视频比特流。
4.如权利要求1的方法,进一步包括:
通过解量化所述重新量化的数据并从所述解量化数据中扣除来确定重新量化误差;
IDCT处理所述量化误差以产生等效的误差图像;
根据来自输入压缩视频比特流的运动补偿参数应用运动补偿到所述误差图像;以及
DCT处理所述运动补偿后的误差图像,并应用DCT处理后的误差图像作为用于由于重新量化引起的误差的运动补偿校正到解量化数据。
5.一种代码转换输入压缩视频比特流为在不同比特速率的输出压缩视频比特流的设备,其包括:
装置,用于接收第一比特速率的输入压缩视频比特流;
装置,用于指定用于输出压缩视频比特流的新的目标比特速率;
装置,用于部分解码输入比特流以产生解量化数据;
装置,用于使用不同的量化级(QP)重新量化所述解量化数据以产生重新量化数据;以及
装置,用于重新编码所述重新量化数据以产生输出压缩视频比特流。
6.如权利要求5的设备,进一步包括:
装置,用于确定重新量化的适当初始量化级(QP);
装置,用于监测输出压缩视频比特流的比特速率;以及
装置,用于调整量化级以使输出压缩视频比特流的比特速率和目标比特速率近似匹配。
7.如权利要求5的设备,进一步包括:
装置,用于将恒定头部数据直接复制到输出压缩视频比特流。
8.如权利要求5的设备,进一步包括:
装置,用于通过解量所述重新量化数据并从所述解量化数据中扣除来确定重新量化误差;
装置,用于IDCT处理所述量化误差以产生等效误差图像;
装置,用于根据来自输入压缩视频比特流的运动补偿参数应用运动补偿到所述误差图像;以及
装置,用于DCT处理所述运动补偿后的误差图像,并应用DCT处理后的误差图像作为用于由于重新量化引起的误差的运动补偿校正到解量化数据。
9.一种代码转换输入压缩视频比特流为在不同比特速率的输出压缩视频比特流的方法,其包括:
接收输入比特流;
从所述输入比特流中提取视频对象层头部;
解量化来自所述输入比特流的宏块数据;
重新量化所述解量化的宏块数据;以及
将所述提取的视频对象层头部和重新量化的宏块数据一起插入到输出比特流。
10.如权利要求9的方法,进一步包括:
从输入比特流中提取一组视频对象平面头部;以及
将所述组提取的视频对象平面头部插入到输出比特流中。
11.如权利要求9的方法,进一步包括:
从输入比特流中提取视频对象平面头部;以及
将所述提取的视频对象平面头部插入到输出比特流中。
12.如权利要求9的方法,进一步包括:
确定用于重新量化的适当的初始量化级(QP);
监测输出压缩视频比特流的比特速率;以及
调整量化级以使输出压缩视频比特流的比特速率和目标比特速率近似匹配。
13.如权利要求9的方法,进一步包括:
将恒定头部数据直接从输入比特流复制到输出比特流。
14.如权利要求9的方法,进一步包括:
通过解量化所述重新量化的数据并从所述解量化数据中扣除来确定重新量化误差;
IDCT处理所述量化误差以产生等效的误差图像;
根据来自输入压缩视频比特流的运动补偿参数将运动补偿应用到所述误差图像;以及
DCT处理所述运动补偿后的误差图像并应用DCT处理后的误差图像作为用于由于解量化引起的误差的运动补偿校正到解量化数据。
15.如权利要求9的方法,进一步包括:
用8比特有符号数字表示重新量化误差;
在将重新量化误差存储到8比特无符号存储缓冲器之前,添加重新量化误差跨度的一半偏移到重新量化误差;以及
在从8比特无符号存储缓冲器检索之后,从重新量化误差中扣除该偏移。
16.如权利要求9的方法,进一步包括:
对于编码为“跳过”的MB,提供全零MB到代码转换器。
17.如权利要求16的方法,进一步包括:
对于具有编码为“跳过”的预测VOP模式,提供全零MV值到代码转换器。
18.如权利要求9的方法,进一步包括:
在代码转换和运动补偿之后确定编码块模式是否是全零,并如果是,选择“跳过”编码模式。
19.如权利要求9的方法,进一步包括:
对于预测VOP模式,在代码转换和运动补偿之后确定编码块模式和MV值是否是全零,并如果是,选择“跳过”编码模式。
20.如权利要求9的方法,进一步包括:
对于初始编码模式是“跳过”的P-VOP、S-VOP以及B-VOP,在代码转换之后确定编码块模式是否是全零;以及
MV值是否是全零;以及
如果两个条件选择都为真时选择“跳过”编码模式。
21.如权利要求9的方法,进一步包括:
对于P-VOP,其中:
初始编码模式是“跳过”;
输入MB是全零;
模式是“前向”;以及
MV是全零;
在代码转换之后确定:
编码块模式是否是全零;以及
MV是否是全零;以及
如果两个条件都为真,选择“跳过”编码模式。
22.如权利要求9的方法,进一步包括:
对于S-VOP,其中:
输入MB是全零;
GMC设定是零;
在代码转换之后确定:
编码块模式是否是全零;以及
运动补偿是否是全零;以及
如果两个条件都为真,选择“跳过”编码模式。
23.如权利要求9的方法,进一步包括:
对于B-VOP,其中:
输入MB是全零;
模式是“直接”;以及
MV是全零;
在代码转换之后确定:
编码块模式是否是全零;以及
编码模式是否是“直接”;以及
MV是否是全零;
如果三个条件都为真,选择“跳过”编码模式。
CNA038112272A 2002-05-17 2003-05-16 用于代码转换压缩视频比特流的方法和设备 Pending CN1653822A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/150,269 2002-05-17
US10/150,269 US20030215011A1 (en) 2002-05-17 2002-05-17 Method and apparatus for transcoding compressed video bitstreams

Publications (1)

Publication Number Publication Date
CN1653822A true CN1653822A (zh) 2005-08-10

Family

ID=29419208

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA038112272A Pending CN1653822A (zh) 2002-05-17 2003-05-16 用于代码转换压缩视频比特流的方法和设备

Country Status (10)

Country Link
US (1) US20030215011A1 (zh)
EP (1) EP1506677A2 (zh)
JP (1) JP2005526457A (zh)
KR (1) KR100620270B1 (zh)
CN (1) CN1653822A (zh)
AU (1) AU2003237860A1 (zh)
CA (1) CA2485181A1 (zh)
MX (1) MXPA04011439A (zh)
TW (1) TW200400767A (zh)
WO (1) WO2003098938A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102007489A (zh) * 2006-06-26 2011-04-06 高通股份有限公司 逆向离散余弦变换的计算期间的误差减少
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
CN103828372A (zh) * 2011-11-24 2014-05-28 联发科技股份有限公司 储存于缓冲装置中的多重图像块编码图像的数据存取方法及装置
WO2019071984A1 (zh) * 2017-10-10 2019-04-18 腾讯科技(深圳)有限公司 视频转码方法、计算机设备及存储介质
CN110490810A (zh) * 2019-01-20 2019-11-22 王金梅 现场大数据动态调整平台
CN110880009A (zh) * 2019-01-20 2020-03-13 王金梅 现场大数据动态调整方法

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7936818B2 (en) * 2002-07-01 2011-05-03 Arris Group, Inc. Efficient compression and transport of video over a network
SG140441A1 (en) * 2003-03-17 2008-03-28 St Microelectronics Asia Decoder and method of decoding using pseudo two pass decoding and one pass encoding
US20060251168A1 (en) * 2003-04-04 2006-11-09 Koninklijke Philips Electronics N.V. Video encoding and decoding methods and corresponding devices
US20040210940A1 (en) * 2003-04-17 2004-10-21 Punit Shah Method for improving ranging frequency offset accuracy
KR20060008990A (ko) * 2003-05-06 2006-01-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 엔코딩 및 디코딩 방법들 및 대응하는 엔코딩 및디코딩 디바이스들
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US8218624B2 (en) 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
KR100556340B1 (ko) * 2004-01-13 2006-03-03 (주)씨앤에스 테크놀로지 영상 부호화 장치
US7839998B2 (en) * 2004-02-09 2010-11-23 Sony Corporation Transcoding CableCARD
US7397855B2 (en) * 2004-04-14 2008-07-08 Corel Tw Corp. Rate controlling method and apparatus for use in a transcoder
KR100955161B1 (ko) 2004-05-04 2010-04-28 콸콤 인코포레이티드 모션 보상된 프레임 레이트 상향 변환을 위한 방법 및 장치
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
JP5053081B2 (ja) * 2004-06-18 2012-10-17 トムソン ライセンシング ビデオ・コーデック量子化のための方法および装置
RU2370909C2 (ru) 2004-07-01 2009-10-20 Квэлкомм Инкорпорейтед Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео
CA2574297A1 (en) 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression
US8553776B2 (en) 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
EP1803302A4 (en) * 2004-10-18 2007-11-07 Samsung Electronics Co Ltd DEVICE AND METHOD FOR ADJUSTING THE BIT RATE OF A BINARY TRAIN EVOLUTIVE CODE BY MULTILAYER
KR100679022B1 (ko) 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
JP4788250B2 (ja) * 2005-09-08 2011-10-05 ソニー株式会社 動画像信号の符号化装置、動画像信号の符号化方法およびコンピュータ読み取り可能な記録媒体
US20070147496A1 (en) * 2005-12-23 2007-06-28 Bhaskar Sherigar Hardware implementation of programmable controls for inverse quantizing with a plurality of standards
NL1030976C2 (nl) * 2006-01-23 2007-07-24 Ventury Tower Mall Iii Inc Werkwijze en inrichting voor het aanpassen van de grootte van een informatiebestand.
KR100772878B1 (ko) * 2006-03-27 2007-11-02 삼성전자주식회사 비트스트림의 비트율 조절을 위한 우선권 할당 방법,비트스트림의 비트율 조절 방법, 비디오 디코딩 방법 및 그방법을 이용한 장치
US8750387B2 (en) * 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8634463B2 (en) 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8077775B2 (en) * 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
US20080007649A1 (en) * 2006-06-23 2008-01-10 Broadcom Corporation, A California Corporation Adaptive video processing using sub-frame metadata
KR101352979B1 (ko) 2006-07-04 2014-01-23 경희대학교 산학협력단 스케일러블 비디오 인코딩/디코딩 방법 및 그 장치
WO2008004816A1 (en) * 2006-07-04 2008-01-10 Electronics And Telecommunications Research Institute Scalable video encoding/decoding method and apparatus thereof
KR20080004340A (ko) * 2006-07-04 2008-01-09 한국전자통신연구원 영상 데이터의 스케일러블 코딩 방법 및 그 장치
JP4624321B2 (ja) 2006-08-04 2011-02-02 株式会社メガチップス トランスコーダおよび符号化画像変換方法
US20080043832A1 (en) * 2006-08-16 2008-02-21 Microsoft Corporation Techniques for variable resolution encoding and decoding of digital video
US8773494B2 (en) 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
EP2080377A2 (en) * 2006-10-31 2009-07-22 THOMSON Licensing Method and apparatus for transrating bit streams
US8437397B2 (en) * 2007-01-04 2013-05-07 Qualcomm Incorporated Block information adjustment techniques to reduce artifacts in interpolated video frames
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
US8594187B2 (en) * 2007-03-02 2013-11-26 Qualcomm Incorporated Efficient video block mode changes in second pass video coding
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8189676B2 (en) * 2007-04-05 2012-05-29 Hong Kong University Of Science & Technology Advance macro-block entropy coding for advanced video standards
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP2012504925A (ja) 2008-10-06 2012-02-23 エルジー エレクトロニクス インコーポレイティド ビデオ信号の処理方法及び装置
KR20100071865A (ko) * 2008-12-19 2010-06-29 삼성전자주식회사 멀티 코어 프로세스 방식의 영상 신호 처리장치에서 영상 프레임 구성 및 복호화 방법과 그 영상 신호 처리장치
US8275057B2 (en) * 2008-12-19 2012-09-25 Intel Corporation Methods and systems to estimate channel frequency response in multi-carrier signals
US20110080944A1 (en) * 2009-10-07 2011-04-07 Vixs Systems, Inc. Real-time video transcoder and methods for use therewith
US8731152B2 (en) 2010-06-18 2014-05-20 Microsoft Corporation Reducing use of periodic key frames in video conferencing
WO2012050832A1 (en) * 2010-09-28 2012-04-19 Google Inc. Systems and methods utilizing efficient video compression techniques for providing static image data
WO2012142506A1 (en) 2011-04-14 2012-10-18 Dolby Laboratories Licensing Corporation Image prediction based on primary color grading model
KR101351461B1 (ko) * 2011-08-02 2014-01-14 주식회사 케이티 동영상 전송률 제어 시스템 및 방법, 그리고 동영상 변환 방법
US20130195198A1 (en) * 2012-01-23 2013-08-01 Splashtop Inc. Remote protocol
US9491459B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Base layer merge and AMVP modes for video coding
US9936196B2 (en) * 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
US10097825B2 (en) 2012-11-21 2018-10-09 Qualcomm Incorporated Restricting inter-layer prediction based on a maximum number of motion-compensated layers in high efficiency video coding (HEVC) extensions
JP5412588B2 (ja) * 2013-01-30 2014-02-12 株式会社メガチップス トランスコーダ
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
EP3055998A1 (en) 2013-10-11 2016-08-17 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
FR3016764B1 (fr) * 2014-01-17 2016-02-26 Sagemcom Broadband Sas Procede et dispositif de transcodage de donnees video de h.264 vers h.265
US9953660B2 (en) * 2014-08-19 2018-04-24 Nuance Communications, Inc. System and method for reducing tandeming effects in a communication system
CN107038736B (zh) * 2017-03-17 2021-07-06 腾讯科技(深圳)有限公司 一种基于帧率的动画展示方法及终端设备
US10229537B2 (en) * 2017-08-02 2019-03-12 Omnivor, Inc. System and method for compressing and decompressing time-varying surface data of a 3-dimensional object using a video codec
US10692247B2 (en) * 2017-08-02 2020-06-23 Omnivor, Inc. System and method for compressing and decompressing surface data of a 3-dimensional object using an image codec
US11044477B2 (en) * 2019-12-16 2021-06-22 Intel Corporation Motion adaptive encoding of video
US11582442B1 (en) * 2020-12-03 2023-02-14 Amazon Technologies, Inc. Video encoding mode selection by a hierarchy of machine learning models
CN112866716A (zh) * 2021-01-15 2021-05-28 北京睿芯高通量科技有限公司 一种对视频文件进行同步解封装的方法及其系统
US11587208B2 (en) * 2021-05-26 2023-02-21 Qualcomm Incorporated High quality UI elements with frame extrapolation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2453897A (en) 1996-04-12 1997-11-07 Imedia Corporation Video transcoder
US6570922B1 (en) * 1998-11-24 2003-05-27 General Instrument Corporation Rate control for an MPEG transcoder without a priori knowledge of picture type
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US6671322B2 (en) * 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102007489A (zh) * 2006-06-26 2011-04-06 高通股份有限公司 逆向离散余弦变换的计算期间的误差减少
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8606023B2 (en) 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8699810B2 (en) 2006-06-26 2014-04-15 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
CN102007489B (zh) * 2006-06-26 2014-04-23 高通股份有限公司 逆向离散余弦变换的计算期间的误差减少
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
CN103828372B (zh) * 2011-11-24 2017-08-29 联发科技股份有限公司 用于缓冲装置的读取指针暂存的方法、缓冲控制器以及缓冲装置
CN103828372A (zh) * 2011-11-24 2014-05-28 联发科技股份有限公司 储存于缓冲装置中的多重图像块编码图像的数据存取方法及装置
WO2019071984A1 (zh) * 2017-10-10 2019-04-18 腾讯科技(深圳)有限公司 视频转码方法、计算机设备及存储介质
CN109660825A (zh) * 2017-10-10 2019-04-19 腾讯科技(深圳)有限公司 视频转码方法、装置、计算机设备及存储介质
CN109660825B (zh) * 2017-10-10 2021-02-09 腾讯科技(深圳)有限公司 视频转码方法、装置、计算机设备及存储介质
CN110490810A (zh) * 2019-01-20 2019-11-22 王金梅 现场大数据动态调整平台
CN110880009A (zh) * 2019-01-20 2020-03-13 王金梅 现场大数据动态调整方法
CN110490810B (zh) * 2019-01-20 2020-06-30 浙江精弘益联科技有限公司 现场大数据动态调整装置
CN110880009B (zh) * 2019-01-20 2020-07-17 浩德科技股份有限公司 现场大数据动态调整方法

Also Published As

Publication number Publication date
JP2005526457A (ja) 2005-09-02
TW200400767A (en) 2004-01-01
KR20050010814A (ko) 2005-01-28
KR100620270B1 (ko) 2006-09-13
WO2003098938A3 (en) 2004-06-10
EP1506677A2 (en) 2005-02-16
US20030215011A1 (en) 2003-11-20
AU2003237860A8 (en) 2003-12-02
WO2003098938A2 (en) 2003-11-27
AU2003237860A1 (en) 2003-12-02
MXPA04011439A (es) 2005-02-17
CA2485181A1 (en) 2003-11-27

Similar Documents

Publication Publication Date Title
CN1653822A (zh) 用于代码转换压缩视频比特流的方法和设备
CN1251518C (zh) 数字信号转换方法和数字信号转换装置
CN1178516C (zh) 利用编码历史信息的编码转换系统
CN1298170C (zh) 画面编码和解码装置及其方法
CN1190081C (zh) 发送和接收动态图像数据的方法及其设备
CN1186944C (zh) 图像编码器及其编码方法、图像译码器及其译码方法
CN1241416C (zh) 编码系统和方法、编码及解码、记录及再现的设备和方法
CN1297148C (zh) 动画图像编码传送系统、动画图像编码传送方法、该系统和方法使用的适合的编码装置、译码装置、编码方法、译码方法以及程序
CN1339922A (zh) 编码信号的分离和合并装置、方法及计算机程序产品
CN1926576A (zh) 用于数字编码3d立体视频图像的方法和系统
CN1335724A (zh) 编码装置和编码方法
CN1725844A (zh) 数字媒体流的反向表示
CN1701616A (zh) 图像信息编码装置和方法,以及图像信息解码装置和方法
CN1620147A (zh) 编码信号分离装置、合成装置、分离合成系统及其方法
CN1642284A (zh) 图像处理设备和方法、程序以及记录介质
CN1860796A (zh) 编码方法、编码装置、解码方法、解码装置及其程序
CN1882093A (zh) 利用编码历史信息的编码转换系统
CN1722850A (zh) 数字信号转换方法和数字信号转换装置
CN1642277A (zh) 图像及信息处理的装置和方法、程序、记录媒体及系统
CN1819654A (zh) 发送和接收动态图像数据的方法及其设备
CN1856099A (zh) 用于因特网电视的编解码器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication