CN1822666A - 处理视频数据的方法和系统 - Google Patents

处理视频数据的方法和系统 Download PDF

Info

Publication number
CN1822666A
CN1822666A CNA2006100087231A CN200610008723A CN1822666A CN 1822666 A CN1822666 A CN 1822666A CN A2006100087231 A CNA2006100087231 A CN A2006100087231A CN 200610008723 A CN200610008723 A CN 200610008723A CN 1822666 A CN1822666 A CN 1822666A
Authority
CN
China
Prior art keywords
video
frame
chip
coding
video data
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
CNA2006100087231A
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.)
Broadcom Corp
Zyray Wireless Inc
Original Assignee
Zyray Wireless Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN1822666A publication Critical patent/CN1822666A/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开一种处理视频数据的方法和系统。所述方法包括在芯片上接收多个视频帧,并储存所述多个视频帧的至少一部分于所述芯片的存储器内。在所述芯片上解码所述存储的视频帧的第一部分,并且在所述解码过程中,在所述芯片上编码所述存储的视频帧的第二部分。所述存储的视频帧的第三部分从输入视频格式转换为YUV视频格式。对应该转换后的所述接收的视频帧的第三部分的参考帧可从所述存储的视频帧中识别出。转换后,所述接收的视频帧的转换后的第三部分可用作参考帧,以进行估算/编码,或补偿/解码随后接收的视频帧的瞬时动作。

Description

处理视频数据的方法和系统
技术领域
本发明涉及便携视频通信设备的微处理器,更具体地说,涉及一种视频数据处理方法和系统。
背景技术
视频压缩和解压技术,以及不同的显示标准,用于现有的各种视频处理系统,如便携式视频通信设备,用于录制、传输、储藏及再现视频信息。例如,利用便携式视频通信设备,例如,便携式视频电话设备,四分之一普通中间格式(QCIF)可用于再现和录制视频信息,例如视频会议。QCIF格式是由ITU-T’sH.261标准提供的用于视频会议编码的一种可选格式。它提供144非隔行扫描亮度线的彩色图像,每个包括176个象素。视频会议的帧率最高为15帧每秒(fps)QCIF提供接近四分之一的普通中间格式(CIF)的分辨率,CIF具有288条亮度(Y)线,其中每个包括352个象素。
现有的便携式视频通信设备的视频处理系统,如执行QCIF格式的视频处理系统,利用视频编码和解码技术在传输过程中压缩或储存视频信息,以及在传输视频数据至显示器前对其进行基本的解压。视频压缩和解压(CODEC)技术,如变长编码(VLC)、离散余弦变换(DCT)、量化和/或动态估算,在现有的便携式视频通信设备的视频处理系统中利用微处理器或其它嵌入处理器的通用中央处理器(CPU)的很大一部分的计算和存储资源,以应对视频数据编码和/或解码中大量的计算任务和数据传输。然而,通用CPU处理其它实时处理任务,例如在利用便携式视频通信设备的视频电话会议中与视频处理网络中的其它模块通信。CPU和/或其他处理器执行的视频处理任务和数据传输任务的计算量的增加,在现有的QCIF视频处理系统中导致CPU或处理器在视频处理网络中可提供的视频质量严重下降。
通过比较本申请后续部分结合附图的本发明,现有的和传统的方法的进一步局限性和缺点对于本领域的技术人员来说是显而易见的。
发明内容
本申请结合至少一副附图展示和/或介绍了一种处理视频数据的系统和/或方法,并在权利要求书中给出更完整的描述。
根据本发明的一个方面,提供一种处理视频数据的方法,所述方法包括:
在芯片上接收多个视频帧;
储存所述多个视频帧的至少一部分于所述芯片的存储器内;
在所述芯片上解码所述存储的至少一部分视频帧的第一部分;
在所述解码过程中,在所述芯片上编码所述存储的至少一部分视频帧的第二部分。
优选地,所述方法进一步包括:将所述存储的至少一部分视频帧的第三部分从输入视频格式转换为YUV视频格式。
优选地,所述方法进一步包括:对应所述转换后的第三部分,从所述存储的至少一部分视频帧中识别至少一个参考帧。
优选地,所述方法进一步包括:基于所述识别的至少一个参考帧内的宏块(MB)与所述识别的至少一个参考帧内所述宏块的运动参考之间的差别,确定至少一个估算误差。
优选地,所述方法进一步包括:对所述至少一个估算误差进行离散余弦变换和量化。
优选地,所述方法进一步包括:基于所述离散余弦变换和量化后的所述至少一个估算误差,对所述接收的多个视频帧的所述转换后的第三部分进行编码。
优选地,所述方法进一步包括:对所述离散余弦变换和量化后的所述至少一个估算误差进行反向量化和反向离散余弦变换。
优选地,所述方法进一步包括:基于所述反向量化和反向余弦转换后的所述至少一个估算误差,生成至少一个重建的参考帧。
优选地,所述方法进一步包括:对所述接收的多个视频帧的所述编码后的第二部分进行解码。
优选地,所述方法进一步包括:对应所述解码后的第二部分,对所述至少一个离散余弦变换和量化后的估算误差进行反向量化和反向离散余弦变换。
根据本发明的一个方面,提供一种处理视频数据的方法,所述方法包括:在分割成多个部分的片上存储器内对来自视频源的视频数据进行编码,同时在所述被分割的片上存储器内对其它视频数据进行解码。
优选地,所述方法进一步包括存储YUV格式的视频数据于所述多个分割部分的第一部分内。
优选地,所述YUV格式的视频数据由所述编码后的视频数据或所述解码后的其他视频数据的至少一部分生成。
优选地,所述方法进一步包括:存储对应来自视频源的所述视频数据的至少一个参考帧于所述多个分割部分的第二部分内。
优选地,所述方法进一步包括:利用所述存储的至少一个参考帧,对来自所述视频源的所述视频数据进行编码。
优选地,所述方法进一步包括:存储对应所述解码后的其他视频数据的至少一个参考帧于所述多个分割部分的第三部分内。
优选地,所述方法进一步包括:利用所述存储的至少一个参考帧,对所述其它视频数据进行解码。
优选地,所述方法进一步包括:将来自所述视频源的所述解码后的其他视频数据的一部分和所述编码后的视频数据的一部分两者至少其一转换为RGB视频格式。
优选地,所述方法进一步包括:从所述多个分割部分的至少一部分中同步获取所述解码后的其他视频数据的所述转换部分和来自所述视频源的所述编码后的视频数据的所述转换部分两者至少其一。
根据本发明的一个方面,提出一种处理视频数据的系统,所述系统包括:
至少一个处理器,在芯片上接收多个视频帧;
所述至少一个处理器储存所述多个视频帧的至少一部分于所述芯片的存储器内;
所述至少一个处理器在所述芯片上解码所述存储的至少一部分视频帧的第一部分;
在所述解码过程中,所述至少一个处理器在所述芯片上编码所述存储的至少一部分视频帧的第二部分。
优选地,所述至少一个处理器将所述存储的至少一部分视频帧的第三部分从输入视频格式转换为YUV视频格式。
优选地,所述至少一个处理器对应所述转换后的第三部分,从所述存储的至少一部分视频帧中识别至少一个参考帧。
优选地,所述至少一个处理器基于所述识别的至少一个参考帧内的宏块(MB)与所述识别的至少一个参考帧内所述宏块的运动参考之间的差别,确定至少一个估算误差。
优选地,所述至少一个处理器对所述至少一个估算误差进行离散余弦变换和量化。
优选地,所述至少一个处理器基于所述离散余弦变换和量化后的所述至少一个估算误差,对所述接收的多个视频帧的所述转换后的第三部分进行编码。
优选地,所述至少一个处理器对所述离散余弦变换和量化后的所述至少一个估算误差进行反向量化和反向离散余弦变换。
优选地,所述至少一个处理器基于所述反向量化和反向余弦转换后的所述至少一个估算误差,生成至少一个重建的参考帧。
优选地,所述至少一个处理器对所述接收的多个视频帧的所述编码后的第二部分进行解码。
优选地,所述至少一个处理器对应所述解码后的第二部分,对所述至少一个离散余弦变换和量化后的估算误差进行反向量化和反向离散余弦变换。
本发明的优点、各个方面和新的特性,以及其中所示的细节,可以通过接下来的阐述和附图得到全面理解。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1A是根据本发明的一个典型视频编码系统的框图;
图1B是根据本发明的一个典型视频解码系统的框图;
图2是根据本发明一个实施例利用片上加速器进行视频压缩和解压缩的微处理器结构的框图;
图3A是根据本发明一个实施例可用于图2所示的微处理器的片上存储器模块(OCM)的结构图;
图3B是根据本发明一个实施例可用于图2所示的微处理器的OCM模块内旋转缓存结构的示意图;
图3C是根据本发明一个实施例图2所示的微处理器内编码和解码的时序图;
图3D是根据本发明一个实施例图2所示的微处理器的QCIF双视频显示的时序图;
图4是根据本发明一个实施例通过图2所示的微处理器进行视频编码的过程中宏块处理的时序图;
图5是根据本发明一个实施例通过图2所示的微处理器进行视频解码的时序图;
图6是根据本发明一个实施例的视频信息压缩方法的流程图;
图7是根据本发明一个实施例的视频信息解压缩方法的流程图。
具体实施方式
本发明提供一种芯片上处理视频数据的方法和系统。在本发明的一个方面,用于便携式视频通信设备如QCIF便携式视频通信设备的编码/解码视频信息中增强计算视频处理和数据传输任务,可利用该便携设备的微处理器内的一个或多个硬件加速进行改善。硬件加速器可用于从CPU中卸下大多数计算增强编码和/或解码任务,可以释放处理器资源以处理其它任务。这将增强CPU的处理速度和/或QCIF视频处理网络的数据传输速度。
此外,硬件加速器可利用一个或多个本地存储器模块以存储编码和/或解码过程中的中间处理结果,从而最小化微处理器和任何片上存储器的系统总线的负担,例如一级紧密耦合存储器(TCM)和/或微处理器中二级片上存储器。例如,OCM可用于存储编码前的YUV格式宏模块信息和/或解码后显示解码信息前的RGB格式的宏块信息。该OCM可用于存储多个用于编码和/或解码的参考帧,以及编码前或解码后并输出显示之前的计算结果和/或视频数据。
图1A所示为用于本发明的视频编码系统的框图。参考图1A,视频编码系统100可包括预处理器102、动作分离模块104、离散余弦变换器和量化器(DCTQ)模块106、变长编码器108、打包器110、帧缓存112、动作估算器114、动作补偿器116以及反向量化和反向离散余弦变换器(IQIDCT)模块118。
预处理器102包括恰当的电路、逻辑和/或编码,并可用于从摄像机130获取视频数据并将摄像机视频数据转换至YUV格式。动作估算器114包括恰当的电路、逻辑合/或编码,并可用于获得一个或多个参考宏块和一个当前宏块,并从获得的参考宏块中确定最优的参考宏块,以用于动作分离和/或动作补偿中。动作分离模块104包括恰当的电路、逻辑和/或编码,并可用于获取当前宏块及其动作参考,并基于获得的当前宏块和其动作参考之间的误差确定一个或多个估算误差。
DCTQ模块106和IQIDCT模块118包括恰当的电路、逻辑和/或编码,并可用于将该估算误差转换为频率系数,及将频率系数转换回估算误差。例如,DCTQ模块106可用于获取一个或多个估算误差,并对该获取的估算误差应用离散余弦变换并随后进行量化,以获得频率系数。近似地,IQIDCT模块118可用于获取一个或多个频率系数,并对该频率系数应用反向量化并随后进行反向离散余弦变换,以得到估算误差。
动作补偿器116包括恰当的电路、逻辑和/或编码,并可用于获取动作参考和估算误差,并基于获得的动作参考和估算误差重建当前宏块。VLC编码器108和打包器110包括恰当的电路、逻辑和/或编码,并可用于基于动作估算信息和/或量化频率系数生成已编码的基本视频数据流。例如,由一个或多个参考宏块获得的动作估算值可与对应的频率系数一起编码以生成已编码的基本比特流。
在操作中,预处理器102可从摄像机130获得视频数据,例如QCIF视频数据,并将该视频数据转换为适合编码的YUV格式视频数据。然后,将当前宏块120传输至动作分离模块104和动作估算器114。动作估算器114可从帧缓存112获得一个或多个参考宏块122,并确定对应当前宏块120的动作参考126。然后将动作参考126传输至动作分离模块104和动作补偿器116。
动作分离模块104,已获得当前宏块120及其动作参考126,可基于动作参考126和当前宏块120之间的误差生成估算误差。产生的估算误差可传输至DCTQ模块106,应用离散余弦变换和量化处理将该估算误差转换为一个或多个频率系数。产生的频率系数可传送至VLC编码器108和打包器110以编码成比特流132。比特流132也包括有一个或多个对应当前宏块已量化的频率系数的动作参考指针。
DCTQ模块106生成的频率系数可传输至反向离散余弦变换器和反向量化器模块118。IQIDCT模块118可将频率系数转换回一个或多个估算误差128。动作补偿器116可使用估算误差128及其动作参考126生成重建的当前宏块124。重建的宏块124可存储在帧缓存112内,并可用作由预处理器102随后生成的帧内的宏块的参考。
图1B所示为根据本发明一个方面可用于本发明的视频解码系统的框图。参考图1B,视频解码系统150可包括解包器152、VLC解码器154、参考生成模块164、帧缓存160、IQIDCT模块156、动作补偿器158及后处理器162。
解包器152和VLC解码器154包括恰当的电路、逻辑和/或编码,并可用于对基本视频比特流进行解码,并生成一个或多个已量化的频率系数和/或对应的参考指针。IQIDCT模块156包括恰当的电路、逻辑和/或编码,并可用于将一个或多个已量化的频率系数转换为一个或多个估算误差。动作补偿器158包括恰当的电路、逻辑和/或编码,并可用于获取动作参考和估算误差,并基于获得的动作参考和估算误差重建当前宏块。
在操作过程中,解包器152和VLC解码器154可对QCIF基本视频比特流174进行解码,并生成一个或多个量化频率系数和/或对应的动作参考指针。生成的量化频率系数可传输至参考生成模块164和IQIDCT模块156。参考生成模块164可从帧缓存160获得一个或多个参考宏块166,并可生成对应该量化频率系数的动作参考172。动作参考172可传输至动作补偿器158以用于宏块重建。
IQIDCT模块156可将已量化的频率系数转换为一个或多个估算误差178。估算误差178可传输至动作补偿器158。然后,动作补偿器158利用估算误差178及其动作参考172重建当前宏块168。重建的当前宏块168可存储在帧缓存160内以用于随后的处理。例如,重建的宏块170可从帧缓存160传输至后处理器162。后处理器162将帧缓存160中YUV格式的数据170转换为RGB格式,并传输RGB格式的视频数据至显示器176以QCIF视频格式进行视频显示。
参考图1A和1B,根据本发明的一个方面,在对视频数据进行编码和/或解码的过程中,可利用一个或多个片上加速器减轻CPU的集中计算任务。例如,可使用一个加速器处理与动作相关的计算,例如动作估算、动作分离和/或动作补偿。第二加速器可用于处理与离散余弦变换、量化、反向离散余弦变换和反向量化相关的集中计算处理。另一个片上加速器可用于处理数据的预处理,如RGB至YUV格式转换,以及视频数据的后处理,如YUV至RGB格式转换。此外,可使用一个或多个片上存储器(OCM)模块来改善视频数据编码和/或解码过程中CPU和微处理器的数据处理速度。例如,OCM模块可用于QCIF格式视频数据过程中,并可缓存一个或多个用于编码和/或解码过程中的视频帧。此外,OCM模块也可包括有缓存,用于缓存编码和/或解码过程中的中间结果,例如离散余弦变换(DCT)系数和/或估算误差信息。
图2所示为根据本发明一个实施例利用片上加速器用于视频压缩和解压缩的微处理器结构的框图。参考图2,微处理器结构200可包括CPU 202、变长编码协处理器(VLCOP)206、视频预处理和后处理(VPP)加速器208、变换和量化(TQ)加速器210、动作引擎(ME)加速器212、片上存储器(OCM)214、外部存储器接口(EMI)216、显示接口(DSPI)218和摄像机接口(CAMI)242。EMI 216、DSPI 218和CAMI 220可用于微处理器结构200中以分别访问外部存储器238、显示器240和摄像机242。
CPU 202可包括指令端口226、数据端口228、外围设备端口222、协处理器端口224、紧耦合存储器(TCM)204和直接存储器访问模块230。指令端口226和数据端口228可由CPU 202用来获取程序,并在对视频信息进行编码和/或解码过程中通过总线连接传输数据给系统总线244。
TCM 204可用于微处理器结构200中,在不牺牲CPU 202的工作效率的情况下,存储和访问大量数据。DMA模块230可与TCM 204结合使用以确保当CPU 202没有访问TCM 204的情况下,在操作周期中对TCM 204中的信息的快速访问和数据传输。在本发明的一个实施例中,TCM 204可包括用于CPU202的一级(L1)存储器。
CPU 202可利用协处理器端口224与VLCOP 206通信。VLCOP 206可用于协助CPU 202卸除某些变长码(VLC)编码和/或解码任务。例如,VLCOP206可利用适当的编码技术,例如编码表查找和/或基本比特流的打包/解包,以基于每个周期协调CPU 202的编码/解码任务。
OCM 214可在压缩和/或解压过程中对视频数据进行预处理和后处理时用于微处理器结构200。例如,在转换为YUV格式视频数据前,OCM 214可存储通过CAMI 220传输的来自摄像机242的摄像机数据。在转换为RGB格式视频数据前,OCM 214可用于存储YUV格式数据,和随后通过DSPI 218传输此数据至视频显示240以显示为QCIF格式。
在本发明的一个实施例中,OCM 214可包括一个或多个帧缓存,用于在编码和/或解码过程中存储一个或多个参考帧。例如,OCM 214可包括3个缓存,用于储存3个帧的亮度(Y)和色度(UV)信息。该3个缓存可以旋转的形式用于微处理器结构200中。此外,OCM 214可包括有用于存储编码前或解码后并输出至显示前的计算结果和/或视频数据的缓存,例如DCT系数和/或估算误差信息。OCM 214可通过系统数据总线244由CPU 202、VPP加速器208、TQ加速器218、ME加速器212、EMI 216、DSPI 218和CAMI 220访问。在本发明的一个实施例中,OCM 214可用作CPU 202的二级(L2)存储器。
CPU 202可利用外围设备端口222通过总线连接与片上加速器VPP 208、TQ 210和ME 212通信。VPP加速器208可包括恰当的电路和/或逻辑,并在对微处理器结构200中视频数据编码和/或解码的过程中,提供视频数据预处理和后处理,因而已编码和解码的视频数据是YUV格式。例如,摄像机242可以逐行顺序捕捉摄像机242的特殊格式的视频。捕捉的数据随后由加速器208预处理为YUV格式以适合编码。此外,VPP加速器208可在以逐行顺序传送数据至视频显示器240之前将已解码的YUV格式视频数据转换为RGB格式视频数据。例如,来自VPP加速器208的后处理的视频数据可存储于VPP加速器208的本地线缓存内。VPP本地线缓存中的后处理的视频数据可为QCIF格式,并可传输至DSPI 218,或由DSPI 218获取,并随后传输至显示器240以显示。在本发明的一个实施例中,CPU 202可执行视频数据的后处理,后处理的数据可存储于TCM 204以便随后通过总线244传输至DSPI 218。
TQ加速器210可包括恰当的电路和/或逻辑,并可用于执行视频数据的离散余弦变换和量化相关处理,包括反向离散余弦变换和反向量化。TQ加速器210也可与ME加速器212共享存储器232。ME加速器212可包括恰当的电路和/或逻辑,并可在微处理器结构200的视频数据的编码和/或解码过程中用于执行动作估算、动作分离和/或动作补偿。在本发明的一个实施例中,ME加速器212在动作估算、动作分离和/或动作补偿过程中可分别利用片上参考存储器234、片上当前存储器236和/或OCM 214存储参考宏块数据和当前宏块数据。在对视频数据编码和/或解码过程中利用VLCOP 206、VPP加速器208、TQ加速器210、ME加速器212、共享存储器232、参考存储器234、当前存储器236和OCM 214,可减轻CPU 202的计算任务。
图3A所示为根据本发明一个实施例用于图2所示的微处理器的片上存储器模块(OCM)的结构图。参考图3A,片上存储器(OCM)结构300可包括多个缓存,例如,摄像机缓存302、参考缓存304、增量缓存306和DCT缓存308。OCM结构300可用于在视频数据的编码和/或解码过程中存储宏块和/或计算的数据。例如,OCM结构300可用于图2所示的OCM 214内。
参考图2和图3A,可使用至少两个摄像机缓存302存储预处理后的摄像机数据,该数据为YUV格式以便于编码。每个缓存可保存一行宏块。图2中的VPP加速器208可使用两个缓存中的一个以写入YUV格式的视频数据,该YUV格式的视频数据由VPP加速器208在微处理器结构200的预处理过程中对从CAMI 220获取的数据进行转换得到。当前一缓存被VPP加速器208写满的情况下,ME 212可利用第二缓存读取YUV格式的数据以用于动作估算和分离。
帧缓存304可包括多个帧缓存,用于存储多个参考帧,例如,可用于编码和/或视频解码过程中的参考帧Fa、Fb和Fc。增量缓存可用于存储宏块和其动作参考之间的增量或误差。增量缓存306还可存储基于确定的增量的估算误差信息。DCT缓存308用于存储宏块的DCT系数。在本发明的一个实施例中,增量和/或DCT系数可被双重缓存以使OCM 300的模块写入和OCM 300的模块读取能够并行操作。
在本发明的一个实施例中,对于QCIF视频,OCM 300中的缓存可利用下表所示的存储器空间分配进行配置:
帧Y   (8*(176*144))*3   608256位
帧U   (8*(88*72))*3   152064位
帧V   (8*(88*72))*3   152064位
摄像机Y   ((8*(16*16))*11)*2   45056位
摄像机U   (8*(8*8)*11)*2   11264位
摄像机V   (8*(8*8)*11)*2   11264位
增量Y   16*(16*16)   4096位
增量U,V   16*(8*8)*2   2048位
DCT Y   16*(16*16)   4096位
DCT U,V   16*(8*8)*2   2048位
总和   (121K字节)992256位
在此配置下,OCM结构300可以利用128K字节的OCM实现。本发明还可以使用其他的存储器配置。
图3B所示为根据本发明一个实施例用于图2所示的微处理器的OCM模块的旋转缓存结构320的示意图。参考图3B,旋转缓存结构320可利用OCM中的参考帧缓存实现,例如图3A中OCM 300的参考缓存304。在本发明的一个实施例中,旋转缓存结构320以旋转形式利用3个缓存,即FRAMEa、FRAMEb和FRAMEc,以在QCIF便携式视频通信设备中同时进行视频数据的编码和解码。
在一个典型的视频处理周期中,在处理帧1的起始阶段,解码(DEC)参考可存储于缓存FRAMEa,编码(ENC)参考可存储于缓存FRAMEc。在对帧1进行编码后,当前帧的编码结果,即当前ENC,可存储于缓存FRAMEb。在对帧1进行解码后,当前帧的解码结果,即当前DEC,可存储于缓存FRAMEc。
在处理帧2的起始阶段,FRAMEc中的当前DEC可用作DEC参考。相似地,FRAMEb中的当前ENC可用作ENC参考。在对帧2进行编码后,当前帧的编码结果,即当前ENC,可存储于缓存FRAMEa。在对帧2进行解码后,当前帧的解码结果,即当前DEC,可存储于缓存FRAMEb中。
在处理帧3的起始阶段,FRAMEb中当前DEC可用作DEC参考。近似的,FRAMEa中的当前ENC可用作ENC参考。在对帧3进行编码后,当前帧的编码结果,即当前ENC,可存储于缓存FRAMEc中。在对帧3进行解码后,当前帧的解码结果,即当前DEC,可存储于缓存FRAMEa中。
图3C所示为根据本发明一个实施例图2所示的微处理器内编码和解码的时序图340。参考图3C,时序图340示出了视频数据捕捉以及对捕捉的视频数据的同时编码和/或解码。在本发明的一个实施例中,便携式视频通信设备可处理QCIF格式视频数据,其中视频数据的捕捉和编码是同时进行的,且对视频数据进行编码后进行解码。便携式视频通信设备内的处理过程中可使用为视频帧率2倍的同步率。
参考图3C和3B,在时间t1,开始捕捉来自摄像机的第i个帧。在捕捉到宏块的第一行后,可利用存储于缓存FRAMEc的ENC参考对其同时进行编码。在编码后,当前ENC结果可存储于FRAMEb中,并可用于对随后从摄像机捕捉的第i+1帧进行编码的过程中。在时间t2,对从摄像机捕捉的第i帧的编码已完成,对第i帧的远程解码开始。在对第i帧进行远程解码的过程中,可利用FRAMEa中的DEC参考,结果可存储为FRAMEc内的当前DEC。
在时间t3,开始捕捉来自摄像机的第(i+1)帧。在捕捉到宏块的第一行后,可利用存储于FRAMEb中的ENC参考开始同时进行编码。在对第(i+1)帧进行编码的过程中,FRAMEb中的第i帧的一个或多个宏块可用于动作估算。在编码后,获得的当前ENC结果存储于FRAMEa内,并可用于随后的第(i+2)帧的编码。在时间t4,从摄像机捕捉的第(i+1)帧的编码已完成,对第i帧的远程解码开始。在对第(i+1)帧进行远程解码的过程中,可利用FRAMEc中的DEC参考,结果可存储为FRAMEb内的当前DEC。
在时间t5,开始捕捉来自摄像机的第(i+2)帧。在捕捉到宏块的第一行后,可利用存储于FRAMEa中的ENC参考开始同时进行编码。在对第(i+2)帧进行编码的过程中,FRAMEa中的第(i+1)帧的一个或多个宏块可用于动作估算。在编码后,当前ENC结果存储于FRAMEc内,并可用于随后的第(i+3)帧的编码。在时间t6,从摄像机捕捉的第(i+2)帧的编码已完成,对第(i+2)帧的远程解码开始。在对第(i+2)帧进行解码的过程中,可利用FRAMEb中的DEC参考,结果可存储为FRAMEa内的当前DEC。
图3D所示为根据本发明一个实施例用于图2所示的微处理器的QCIF双重视频显示的时序图360。参考图2、3C和3D,便携式视频通信设备可使用微处理器结构200并同时从QCIF格式视频数据中捕捉、编码和解码一个或多个视频帧。在本发明的一个实施例中,在双向视频通信过程中,例如,使用兼容QCIF的便携式视频设备的视频电话连接中,每个便携式视频处理设备可用于显示发送方和接收方的QCIF格式数据。例如,第一便携式视频处理设备可捕捉视频帧,如图3C所示,并同时可以以QCIF格式显示第一设备的用户,表示为图3D中的“自我显示(display self)”,同样也可以以QCIF格式显示第二便携式视频通信设备的用户,表示为图3D中的“远程显示(display remote)”。
在本发明的另一个实施例中,“自我显示”QCIF格式视频数据可从ENC当前缓存中获得。相似地,“远程显示”QCIF格式的视频数据可从DEC当前缓存中获得。在此方式中,“自我显示”QCIF格式数据可在时间段t1至t2期间从缓存FRAMEc,在时间段t2至t4期间从缓存FRAMEb,以及在时间段t4至t6期间从缓存FRAMEa中获得。近似地,“远程显示”QCIF格式数据可在时间段t1至t3期间从缓存FRAMEa,在时间段t3至t5期间从缓存FRAMEc,以及在时间段t5至t7期间(图中未示出)从FRAMEb中获得。
图4所示为根据本发明一个实施例通过图2所示的微处理器进行视频编码的过程中宏块处理的时序图。参考图2、3A和4,例如,QCIF摄像机数据可由摄像机242通过CAMI 220和系统数据总线244传输至VPP加速器208。捕捉的视频数据存储在CAMI 220内的线缓存内。然后,VPP加速器208将捕捉的摄像机数据转换为YUV格式,并将结果以逐行顺序储存于OCM 214的缓存302内。在一行宏块被YUV格式数据填充之后,CPU 202、ME 212和TQ 208开始对被填充行的宏块进行编码,并且VPP 208继续储存宏块中下一行的YUV格式数据于其它缓存中。
在本发明的一个实施例中,对于每个宏块,首先,CPU 202可建立微处理器结构200以对当前宏块进行编码。其次,ME加速器212可从OCM 214中的缓存302内获取当前宏块的YUV格式数据,并存储当前宏块数据于ME内部的本地存储器内。然后,ME加速器212可从缓存304中获取当前宏块的动作搜索区域的内的量度(Y)数据。在动作估算过程中,ME加速器212将当前宏块与缓存304的搜索区域内可能的动作参考选项进行比较,并利用CPU202为当前宏块选择最终的动作参考。
为当前宏块选择了动作参考之后,ME加速器212在基于当前宏块和选择的动作参考之间的增量或误差进行动作分离过程中,生成一个或多个估算误差。生成的增量和/或估算误差信息可存储于OCM 214的缓存306内,以便随后由TQ加速器210进行处理。TQ加速器210可对该估算误差执行离散余弦变换和量化以得到量化的频率系数。量化的频率系数然后传输至OCM 214中缓存308以存储,并随后编码入VLC比特流中。然后,量化的频率系数可由TQ加速器210进行反向量化和反向离散余弦变换从而生成估算误差。生成的估算误差可存储于OCM 214中缓存306内,以便随后由ME加速器212用于动作补偿过程中。
ME加速器212基于存储于参考缓存304的参考宏块信息和存储于OCM214的缓存306中的生成的增量和/或估算误差信息,重新建立当前宏块。在ME加速器212重建了当前宏块之后,重建的宏块可存储于OCM 214的缓存304中,以用作随后的操作周期中的参考宏块。
在量化频率系数信息存储于OCM 214的缓存308后,CPU 202可利用DMA 230将频率系数移入TCM 204中,并将量化频率系数编码入VLC比特流中。在本发明的一个实施例中,CPU 202和加速器VPP 208、TQ 210和ME212可用于以并行和/或流水线形式处理QCIF格式视频数据,以获得更快且更有效的视频数据编码。
图5所示为根据本发明一个实施例通过图2所示的微处理器进行视频解码的时序图。参考图2、3A和5,对于每个宏块MB0,CPU 202可从远程接收的基本视频数据比特流中的当前VLC编码帧内解码出当前编码宏块MB0的频率系数。例如,当前VLC编码帧可存储于TCM 204中的缓存内。CPU202可对当前宏块MB0进行解码并生成一个或多个量化频率系数。生成的量化频率系数可存储于OCM 214中的缓存308内,该系数可由DMA230传送,以便随后传输至TQ加速器210。
TQ加速器210可从OCM 214内的缓存308中获得量化频率系数,并对该量化频率系数进行反向量化和反向离散余弦变换,从而生成一个或多个估算误差和/或增量信息。生成的增量和/或估算误差信息可存储于OCM 214中的缓存306内。当TQ加速器210成生估算误差时,ME加速器212可从OCM 214中的参考缓存304内获得MB0的动作参考。
然后,ME加速器212可利用从缓存304获得的动作参考和生成的存储于OCM 214中的缓存306内的估算误差重建当前宏块MB0。重建的宏块MB0可存储于缓存304中以用作其后帧的解码过程中的参考宏块。在本发明的一个实施例中,CPU 202、加速器VPP 208、TQ 210和ME 212执行的某些任务可同时执行和/或以流水线方式执行以达到更快和更有效的视频数据编码。例如,CPU 202可在TQ已对缓存308中MB0频率系数进行处理之后开始对随后的宏块MB1的VLC比特流进行解码。
对一行宏块进行解码后,VPP加速器208可从OCM 214内的缓存304中获得已解码的宏块,并以逐行顺序将YUV格式的宏块转换成RGB格式,以便随后由遵循QCIF的便携式视频通信设备进行显示。RGB格式的行可传输至DSPI 218,然后DSPI 218将获得的RGB格式的行传输至视频显示器240以进行显示。
图6所示为根据本发明一个实施例的视频信息压缩的方法600的流程图。参考图6,在步骤601中,微处理器内以逐行顺序从视频源例如摄像机接收捕捉的视频。该微处理器可用于便携式视频通信设备内,例如兼容QCIF的设备。步骤603中,捕捉的视频帧由微处理器中的一个或多个硬件加速器转换成YUV格式,并随后以适合压缩的格式存储于片上存储器(OCM)内。在步骤605中,对于当前帧内的每个宏块来说,可从该OCM中获得前一帧内的当前宏块及其动作搜索区。在步骤607中,当前宏块的动作参考可从其存储于OCM中的动作搜索区中确定。在步骤609,可确定当前宏块和其动作参考之间的增量或误差。然后该误差可存储于OCM中的缓存内。
在步骤613中,对该误差进行离散余弦变换和量化以生成量化频率系数。在步骤615中,对生成的量化频率系数进行反向量化和反向离散余弦变换以生成估算误差。在步骤617中,一个或多个硬件加速器基于生成的估算误差和当前宏块的动作参考重建当前宏块。在步骤619中,重建的宏块可存储于OCM中的参考缓存内,并可用作之后帧的编码过程中的参考宏块。在步骤621中,对当前宏块的量化频率系数进行VLC编码并打包成比特流。
图7所示为根据本发明一个实施例的解压缩视频信息的方法的流程图。参考图7,在步骤701中,VLC编码的视频比特流可从传输包中接收到。在步骤702中,VLC编码的视频流被解码以生成宏块及其动作参考的量化频率系数。生成的量化频率系数可存储于由片上硬件加速器共享的片上存储器(OCM)内的缓存中。在步骤703中,对存储的量化频率系数进行反向量化和反向离散余弦变换以获得估算误差。在步骤705中,当前宏块的动作参考可从OCM内的参考缓存中获得。在步骤707中,解码的宏块可利用该宏块的估算误差及其动作参考重建得到。在步骤709中,解码的宏块可存储于OCM内的参考缓存中,这样的话,该解码的宏块可用作随后帧解码过程中的参考宏块。在步骤711中,解码的YUV格式帧可以逐行转换成RGB格式以适合显示。然后,RGB格式的数据可存储于显示线缓存中。该显示线缓存可以是便携式视频通信设备的QCIF显示接口的一部分。在步骤713中,该RGB格式的行可从显示线缓存传输至视频显示器进行显示。然后该RGB格式的行可由视频显示器进行显示。
因此,本发明可以通过硬件、软件,或者软、硬件结合来实现。本发明可以在至少一个计算机系统中以集中方式实现,或者由分布在几个互连的计算机系统中的不同部分以分散方式实现。任何可以实现所述方法的计算机系统或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机系统,通过安装和执行所述程序控制计算机系统,使其按所述方法运行。在计算机系统中,利用处理器和存储单元来实现所述方法。
本发明的一个实施例可实现为板级产品,如一个芯片、专用集成电路(ASIC)或与系统的其它单独部件多级别的集成于一个芯片内。系统的集成度主要由速度和成本因素决定。因为现代处理器的复杂程度,可利用市场上可用的处理器,这些处理器可实现在本系统的ASIC的外部。或者,如果处理器作为ASIC内核或逻辑块是可用的,那么可以使用市场上可用的处理器作为ASIC设备的一部分,具有固件实现的各种功能。
本发明还可以通过计算机程序产品进行实施,所述程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,通过运行,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或符号;b)以不同的格式再现。
本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
本申请全文引用以下专利申请:
美国专利申请N0.______(代理案号No.16094US01),申请日为2005年2月7日,名称为“微处理器内编码变长码的方法和系统”;
美国专利申请No.______(代理案号No.16099US01),申请日为2005年2月7日,名称为“微处理器内视频压缩和解压缩的方法和系统”;
美国专利申请No.______(代理案号No.16232US02),申请日为2005年2月7日,名称为“微处理器内视频动态处理的方法和系统”;
美国专利申请No.______(代理案号No.16471US01),申请日为2005年2月7日,名称为“微处理器内解码变长码的方法和系统”。

Claims (10)

1、一种处理视频数据的方法,所述方法包括:
在芯片上接收多个视频帧;
储存所述多个视频帧的至少一部分于所述芯片的存储器内;
在所述芯片上解码所述存储的至少一部分视频帧的第一部分;
在所述解码过程中,在所述芯片上编码所述存储的至少一部分视频帧的第二部分。
2、根据权利要求1所述的方法,其特征在于,所述方法进一步包括:将所述存储的至少一部分视频帧的第三部分从输入视频格式转换为YUV视频格式。
3、根据权利要求2所述的方法,其特征在于,所述方法进一步包括:对应所述转换后的第三部分,从所述存储的至少一部分视频帧中识别至少一个参考帧。
4、根据权利要求3所述的方法,其特征在于,所述方法进一步包括:基于所述识别的至少一个参考帧内的宏块与所述识别的至少一个参考帧内所述宏块的运动参考之间的差别,确定至少一个估算误差。
5、一种处理视频数据的方法,所述方法包括:在分割成多个部分的片上存储器内对来自视频源的视频数据进行编码,同时在所述被分割的片上存储器内对其它视频数据进行解码。
6、根据权利要求5所述的方法,其特征在于,所述方法进一步包括存储YUV格式的视频数据于所述多个分割部分的第一部分内。
7、一种处理视频数据的系统,所述系统包括:
至少一个处理器,在芯片上接收多个视频帧;
所述至少一个处理器储存所述多个视频帧的至少一部分于所述芯片的存储器内;
所述至少一个处理器在所述芯片上解码所述存储的至少一部分视频帧的第一部分;
在所述解码过程中,所述至少一个处理器在所述芯片上编码所述存储的至少一部分视频帧的第二部分。
8、根据权利要求7所述的系统,其特征在于,所述至少一个处理器将所述存储的至少一部分视频帧的第三部分从输入视频格式转换为YUV视频格式。
9、根据权利要求8所述的系统,其特征在于,所述至少一个处理器对应所述转换后的第三部分,从所述存储的至少一部分视频帧中识别至少一个参考帧。
10、根据权利要求9所述的系统,其特征在于,所述至少一个处理器基于所述识别的至少一个参考帧内的宏块与所述识别的至少一个参考帧内所述宏块的运动参考之间的差别,确定至少一个估算误差。
CNA2006100087231A 2005-02-07 2006-02-06 处理视频数据的方法和系统 Pending CN1822666A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/052,169 US8311088B2 (en) 2005-02-07 2005-02-07 Method and system for image processing in a microprocessor for portable video communication devices
US11/052,169 2005-02-07

Publications (1)

Publication Number Publication Date
CN1822666A true CN1822666A (zh) 2006-08-23

Family

ID=35311300

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100087231A Pending CN1822666A (zh) 2005-02-07 2006-02-06 处理视频数据的方法和系统

Country Status (4)

Country Link
US (2) US8311088B2 (zh)
EP (1) EP1689186A1 (zh)
CN (1) CN1822666A (zh)
TW (1) TW200704198A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013049954A1 (en) * 2011-10-03 2013-04-11 Goldsound Electronic Ltd. Video encoding system and related method
CN104185982A (zh) * 2012-02-29 2014-12-03 远升科技股份有限公司 视频处理方法和实施所述方法的视频设备
CN108141613A (zh) * 2015-10-20 2018-06-08 英特尔公司 利用后处理指示的视频译码的方法和系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US7536487B1 (en) * 2005-03-11 2009-05-19 Ambarella, Inc. Low power memory hierarchy for high performance video processor
JP4389883B2 (ja) * 2006-01-30 2009-12-24 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム、符号化方法のプログラムを記録した記録媒体
JP2008066851A (ja) * 2006-09-05 2008-03-21 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US8269897B2 (en) * 2007-01-24 2012-09-18 Analogix Semiconductor, Inc. Method and apparatus for video format conversion
JP5867050B2 (ja) * 2011-12-14 2016-02-24 富士通株式会社 画像処理装置
US9568985B2 (en) * 2012-11-23 2017-02-14 Mediatek Inc. Data processing apparatus with adaptive compression algorithm selection based on visibility of compression artifacts for data communication over camera interface and related data processing method

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847677A (en) * 1988-04-27 1989-07-11 Universal Video Communications Corp. Video telecommunication system and method for compressing and decompressing digital color video data
US5293229A (en) * 1992-03-27 1994-03-08 Matsushita Electric Corporation Of America Apparatus and method for processing groups of fields in a video data compression system
JPH10509291A (ja) * 1994-11-10 1998-09-08 ブルックトリー コーポレーション コンピュータシステム内にビデオを生成するための装置と方法
US5598525A (en) * 1995-01-23 1997-01-28 Cirrus Logic, Inc. Apparatus, systems and methods for controlling graphics and video data in multimedia data processing and display systems
US5781788A (en) * 1995-05-08 1998-07-14 Avc Technology, Inc. Full duplex single clip video codec
US5870146A (en) * 1997-01-21 1999-02-09 Multilink, Incorporated Device and method for digital video transcoding
US5977997A (en) * 1997-03-06 1999-11-02 Lsi Logic Corporation Single chip computer having integrated MPEG and graphical processors
US6351765B1 (en) * 1998-03-09 2002-02-26 Media 100, Inc. Nonlinear video editing system
US6862278B1 (en) * 1998-06-18 2005-03-01 Microsoft Corporation System and method using a packetized encoded bitstream for parallel compression and decompression
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6618442B1 (en) * 1998-12-29 2003-09-09 Intel Corporation Method and apparatus for transcoding digital video signals
US6658056B1 (en) * 1999-03-30 2003-12-02 Sony Corporation Digital video decoding, buffering and frame-rate converting method and apparatus
US6717989B1 (en) * 1999-11-03 2004-04-06 Ati International Srl Video decoding apparatus and method for a shared display memory system
US6542541B1 (en) * 2000-01-12 2003-04-01 Sony Corporation Method and apparatus for decoding MPEG video signals using multiple data transfer units
FI120125B (fi) * 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US7386046B2 (en) * 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
KR100750096B1 (ko) 2001-04-19 2007-08-21 삼성전자주식회사 효율적인 영상 처리를 위한 전/후처리 방법 및 그를적용한 전/후 처리 시스템
WO2002087248A2 (en) 2001-04-19 2002-10-31 Indigovision Limited Apparatus and method for processing video data
US7242713B2 (en) * 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US7324592B2 (en) * 2003-08-13 2008-01-29 Mitsubishi Electric Research Laboratories, Inc. Resource-constrained encoding of multiple videos
TWI245548B (en) * 2004-10-20 2005-12-11 Inst Information Industry Method and device for video decoding
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US8731062B2 (en) * 2008-02-05 2014-05-20 Ntt Docomo, Inc. Noise and/or flicker reduction in video sequences using spatial and temporal processing

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013049954A1 (en) * 2011-10-03 2013-04-11 Goldsound Electronic Ltd. Video encoding system and related method
CN104185982A (zh) * 2012-02-29 2014-12-03 远升科技股份有限公司 视频处理方法和实施所述方法的视频设备
CN104185982B (zh) * 2012-02-29 2017-05-24 远升科技股份有限公司 视频处理方法和实施所述方法的视频设备
CN108141613A (zh) * 2015-10-20 2018-06-08 英特尔公司 利用后处理指示的视频译码的方法和系统
US10798422B2 (en) 2015-10-20 2020-10-06 Intel Corporation Method and system of video coding with post-processing indication

Also Published As

Publication number Publication date
EP1689186A1 (en) 2006-08-09
TW200704198A (en) 2007-01-16
US20130064304A1 (en) 2013-03-14
US8311088B2 (en) 2012-11-13
US20060176954A1 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
CN1822666A (zh) 处理视频数据的方法和系统
CN1825964A (zh) 片上处理视频数据的方法和系统
CN1112045C (zh) 用反复误差数据编码方法进行视频压缩
CN1627824A (zh) 位流控制的后处理过滤
CN1262916C (zh) 退色估计/补偿
CN1791219A (zh) 用于片上系统的双层总线结构
CN1917562A (zh) 用于渐进地变换并编码数字数据的系统和方法
CN1495674A (zh) 运动向量补偿的内插装置和方法
CN1126065C (zh) 压缩和解压缩图象
CN101031086A (zh) 视频信息编码方法和视频信息解码方法
JP2008543183A (ja) 複数の映像規格に従った映像符号化の際のブロックノイズ除去フィルタリング技術
CN1870754A (zh) 减少分块现象的编/解码装置、方法及计算机可读记录介质
CN1777285A (zh) 视讯/影像处理装置以及视讯/影像处理方法
CN1627325A (zh) 色彩变换方法及装置
CN1278565C (zh) 图像解码单元和图像编码、解码装置和编码、解码方法
CN1813478A (zh) 用于手持设备的编码的方法
CN1320830C (zh) 噪声估计方法和设备、以及利用其编码视频的方法和设备
CN101056402A (zh) 图像传输系统
CN1204752C (zh) 存储和处理时间上顺序排列图象的图象信息的方法和装置
CN1235413C (zh) 基于运动估计的小波视频编解码方法
JP2014521273A (ja) 画像を符号化する方法および装置
CN1848960A (zh) 使用非标准化矢量量化编码器的符合视频标准的残差编码
CN1175672C (zh) 运动图像信号的编码装置及编码方法
CN1857007A (zh) 压缩数据的方法
CN1825961A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20060823