实时产生不同分辨率视讯串流的方法与架构的制作方法

文档序号:7653811阅读:167来源:国知局
专利名称:实时产生不同分辨率视讯串流的方法与架构的制作方法
技术领域
本发明涉及一种视讯处理的方法与架构,特别涉及当耗时较长的运算模块 在执行运算时,耗时较短的运算模块可同时执行运算,以加快运算速度的方法 与架构。
背景技术
随着动态影像视讯的应用日益广泛,使用者对动态影像视讯的需求也日益 增加。因此,动态视讯的处理速度成为一个非常重要的议题。目前处理动态影
^f象最主要的才支术为移动影l象编码标准(Moving Picture Encoding Group, MPEG), 图1所示的是现有移动影像编码标准-4的视讯编码系统的功能方块图。我们可 将整个视/孔编码系统分为两部^f分,即移动估计器(Motion Estimation)与区块编 码器。其中,区块编码器包含移动差异单元(Mot ion Difference)、离散余弦转 换单元(DCT)、量化单元(Quantization)、可变长度码单元(Variable length code, VLC)、反量化单元(I鹏rse- Quantization)、反离散余弦转换单元 (Inverse- Quantization)与移动比较单元(Motion Compensation)。 由于移动 估计器用于产生移动向量(Motion Vector),因此,涉及大量数学算法。众所周 知,其中,移动估计器的运算量约占整个编码系统的六成至七成。即,移动估 计器所耗费的运算时间约为区块编码器的六成至七成。
图2所示的是现有视讯处理模块的功能方块图。现有技术在处理一笔视讯 数据时,主要在各个运算模块间,加入内部共享内存。我们可将主运算单元视 为移动估计器,而次运算单元视为区块编码器。
图3所示的是现有视讯处理模块的运作示意图。图3以分辨率704x576的 影像为例,依序处理时序0~2,以产生分辨率704x576的一见讯串流、分辨率 352x288的视讯串流、分辨率与176x144的视讯串流。由图3可知,现有的视讯 处理模块只能依序处理一种分辨率的数据。即,当主运算单元在处理影像数据 时,次运算单元是闲置的(idle),硬件的使用效率非常低。由前述可知,现有 视讯处理才莫块产生三种分辨率时,所需的运算频率为1. 31xWxHxfpsxA。其中,W 为影像宽度(width) , H为影像长度(height) , fps为每秒图框数(frame persecond), A为主运算单元的运算频率。图4所示的是现有^见讯处理才莫块的时序 示意图。如图所示,除了次运算单元使用效率低落以外,同一种分辨率影像必 须依序进行主运算单元以及次运算单元,才可以进行下一种分辨率影^像的处理 如图4所示,若主运算单元的运算时间为次运算单元的三倍,则硬件闲置 的情况将更为恶化而造成效能更为低落。造成效能低落的主要原因为
(1) 原本内部共享内存被期望能大量减少外部内存频宽,然而,由于主运 算单元与次运算单元共同使用一个共享内存,因此,当主运算单元使用共享内 存,则次运算单元无法同时使用共享内存。
(2) 主运算单元与次运算单元的运算时间差异过大。
(3) 次运算单元必须等待主运算单元的运算结果,才能进行下一步骤的运算。
由前述(1) (3)可知,在处理数据时,主运算单元与次运算单元有互相等 待对方的情况,因此,造成大量的闲置时间。
图5所示的是现有视讯处理模块处理多信道的不同分辨率视讯串流时序示 意图。当视讯处理模块同时处理来自三个视讯装置的视讯数据,且同时也要产 生对应不同信道的不同分辨率视讯串流时,视讯处理模块将产生大量的闲置时 间,不但使硬件的使用效率降低,造成资源浪费,也使数据处理速度变慢。
由前述可知,现有技术的架构与运作方式,不但浪费硬件资源,更严重地 影响到数据处理的速度。特别是现今网络服务日渐普及,不同的客户端(client) 对同一视讯来源有不同的分辨率的需求,例如行动电话所需分辨率为176x144, 个人数字助理器(PDA)所需分辨率为176x144 - 352x288,个人计算机(COMPUTER) 所需分辨率为352x288 ~ 640x480,数据库(DATABASE)所需分辨率为640x480-1024x768。因此,许多电子装置需处理多信道的视讯数据,并且需要实时产生 不同分辨率的视讯串流传输至远程。不幸的是,现有技术存在的缺点,将使数 据处理的速度面临瓶颈,无法提升服务的品质。

发明内容
本发明的目的是提供一种实时产生不同分辨率视讯串流的方法与架构,该 方法与架构适用于视讯编码处理,使系统中模块的运算时间平衡,提升系统的整体效能。
为达到上述目的,本发明采用如下技术方案
实时产生不同分辨率视讯串流的方法,适用于影像处理, 一模块包括一外
部内存、 一系统总线与一主运算单元;所述外部内存耦接所述系统总线,所述 主运算器包括一微处理器、 一主运算单元与一次运算单元,所述微处理器、主 运算单元与次运算单元耦接系统总线,以进行数据传输,该方法包括下步骤
(a) 当所述模块处理n笔视讯数据时,使第n个视讯数据降频m倍,以产生 对应的k组降频-現讯,其中,m为正实数,k为正整数,m与k为一对一对应关 系;
(b) 所述外部内存输出所述第n个视讯数据的一降频视讯至主运算单元,以 产生数据D(n),之后,将D(n)储存于该外部内存,其中,D(n)的下标n为视讯 数据的编号,n为正整数;
(c) 在执行一重新提取处理后,所述外部内存将所述第n个视讯数据与该数 据D(n)对应的一目标数据输入至所述次运算单元,以执行对应的数据处理,并 且,实时地使第n-1个视讯数据执行对应的步骤(a)至(b);以及,
(d) 通过重复使用所述D (n),使其余k-l组降频视讯分别得到对应的目标数 据,通过所述第n个视讯数据与k-l组降频视讯对应的目标数据,使次运算单 元执行对应的数据运算,可产生k-1种分辨率的视讯串流,将这些视讯串流储 存于所述外部内存,并且,实时地使所述第n-l个视讯数据执行对应的步骤(c) ~ (d);
通过前述步骤(a) ~ (d),可使n笔视讯数据实时地产生对应的复数种分辨 率的视讯串流。
为达上述目的,本发明还提出一种实时产生不同分辨率视讯串流的架构, 也适用于同时处理多信道的视讯数据,该架构包括 复数个视讯装置,用以撷取n笔视讯数据;
一视讯处理模块,耦接所述视讯装置,输入n笔视讯数据,执行一平行处 理程序,以实时地输出每一笔视讯数据对应的复数种分辨率的视讯串流,所述 模块包括
一系统总线;一外部内存,该外部内存耦接所述系统总线;以及, 一主运算器,包括
一微处理器,该微处理器耦接所述系统总线; 一主运算单元,该主运算单元耦接所述系统总线;以及, 一次运算单元,该次运算单元耦接所述系统总线;
一第一网络服务器,耦接所述视讯处理模块与一网络系统,在输入视讯数 据后,通过一第一通信协议,输出视讯串流至网络系统;以及,
一第二网络服务器,耦接所述网络系统与复数个接收装置,通过一第二通 信协议,输入所述不同分辨率的视讯串流,并且,输出对应的一见讯串流分别至 所述接收装置;
其中,当所述视讯处理模块处理n笔视讯数据时,所述主运算器使一第n 个3见讯数据降频m倍产生对应的k组降频视讯,其中,m为正实凄丈,k为正整数, m与k为一对一对应关系;
所述外部内存将所述第n个视讯数据中的任一降频视讯输出至主运算单元, 以产生数据D(n),之后,所述主运算器将D(n)储存于所述外部内存,其中,D(n) 的下标n为视讯数据的编号,n为正整数;
所述外部内存将第n个视讯数据与数据D(n)对应的目标数据输入至次运算 单元,以执行对应的数据处理,并且,所述主运算器实时地使第n-l个视讯数 据降频,以产生对应的降频;f见讯,且所述外部内存输出对应的降频4见讯至主运 算单元,以产生对应的数据,之后,主运算器将前述数据储存于所述外部内存; 通过所述D (n),所述主运算器使其余k-l组降频视讯分别地得到对应的目标数 据,通过所述第n个视讯数据与k-l组降频视讯对应的目标数据,次运算单元 执行对应的数据运算,可产生k-1种分辨率的视讯串流,所述主运算器将这些 视讯串流储存于所述外部内存,所述主运算器重复执行前述运算,即可使n笔 视讯数据实时地产生对应的复数种分辨率的视讯串流。
依照本发明的较佳实施例所述,上述的m值为l、 1/4或者1/16。
依照本发明的较佳实施例所述,上述重新提取处理为,若111=1,则将所述资 料D(n)缩小1/Q倍而成为对应的目标数据,以执行对应的步骤,其中,Q为正 整数,通过不断改变Q值,及执行所述次运算单元对应的运算,实时地得到所述不同分辨率的视讯串流。
依照本发明的较佳实施例所述,上述的重新提取处理为,若n^l/P,则将此 资料D(n)放大Q倍而成为此目标数据,以执行对应的步骤。其中,P、 Q为正 整数,通过不断改变Q值,再使次运算单元执行对应的运算,可实时地得到不 同分辨率的视讯串流。
依照本发明的较佳实施例所述,上述的重新提取处理为,若m-l/P,则将此 资料D(n)缩小1/Q倍而成为此目标数据,以执行对应的步骤。其中,P、 Q为 正整数,通过不断改变Q值,再使次运算单元执行对应的运算,可实时地得到 不同分辨率的^L讯串流。
依照本发明的较佳实施例所述,上述的D(n)为移动向量数据。
依照本发明的较佳实施例所述,上述的主运算单元处理第n个视讯数据所 需时间长于此次运算单元y倍,其中,l<y<10。
依照本发明的较佳实施例所述,上述的主运算单元为移动估计单元,用以 执行移动估计的运算。
依照本发明的较佳实施例所述,上述的次运算单元为区块编码单元,包括 移动差异单元、离散余弦转换单元、量化单元、可变长度码单元、反量化单元、 反离散余弦转换单元与移动比较单元。
依照本发明的较佳实施例所述,上述的模块还包括视讯撷取单元,耦接至 少一个视讯装置,用以撷取视讯数据。
依照本发明的较佳实施例所述,上述的模块还包括网络桥接单元,用以连 接接网络服务器。
依照本发明的较佳实施例所述,上述的接收装置为个人计算机、数据库、 个人数字助理器或行动电话。
现有技术中,由于运算模块之间有运算时间相差太大的特性,因此提升系
统效能的重点为(1)达成运算模块之间独立平行运作的能力。(2)在达成实时
多信道不同分辨率视讯串流指定规格之下,提高运算时间较短的运算单元的使
用率,在整体系统运作时降低运算时间较短的运算单元的闲置时间。(3)在达成
实时多信道不同分辨率视讯串流指定规格之下,减少运算时间较长的运算单元
的使用率,以缩短整体系统的运算时间并减低功率消耗。(4)平衡各模块之间的运作时间。
本发明通过外部内存所达成的模块独立平行运算,可使耗时较长的运算模 块在执行运算时,耗时较短的运算模块可同时执行多次运算,以减少硬件闲置 时间,达成模块运算时间平衡以及整体效能提升的目标,提高硬件利用率以及 平行化处理。另外,利用视讯编码运算的特性,减少耗时较长运算模块的运作 次数,以达成实时提供各种视讯串流的目的。另外,本发明可处理多信道的视 讯来源,可实时地将不同分辨率的视讯数据,通过网络系统传输至远程的接收 装置。


图1是现有的移动影像编码标准_ 4的视讯编码系统的功能方块图2是现有^L讯处理装置的功能方块图3是现有视讯处理装置的针对多种解析度动作示意图4是现有视讯处理装置的针对多种解析度时序示意图5是现有视讯处理装置处理多通道的多种解析度的视讯串流的时序示意
图6是依照本发明一较佳实施例的实时产生不同解析度视讯串流的方法流
程中的电路功能方块图7是依照本发明一较佳实施例的多通道以及不同解析度视讯主运算单元
以及次运算单元平行处理程序与外部内存存取关联的时序示意图; 图8是依照本发明一较佳实施例的重新提取处理的动作示意图; 图9是依照本发明一较佳实施例的重新提取处理的时序示意图; 图10是依照本发明一较佳实施例的重新提取处理的动作示意图; 图11是依照本发明一较佳实施例的重新提取程序的时序示意图; 图12是依照本发明一较佳实施例的实时产生不同解析度视讯串流的架构示
意图13是依照本发明 一较佳实施例的实时产生多通道及不同解析度视讯串流 的时序示意图14是依照本发明一较佳实施例的效能分析图。
具体实施例方式
图6所示的是依照本发明一较佳实施例的实时产生不同分辨率视讯串流的 方法流程中的电路功能方块图。实时产生不同分辨率视讯串流的模块700包括 ^t处理器702、系统总线704、主运算单元706、次运算单元708、外部内存710、 视讯撷取单元712与网络桥接单元714。其中,微处理器702、主运算单元706、 次运算单元708、外部内存710、视讯撷取单元712与网络桥接单元714耦接系 统总线704。视讯撷取单元712用以撷取视讯数据。网络桥接单元714用以连接 至少一个网络服务器。主运算器716包括微处理器702、主运算单元706与次运 算单元708。外部内存710设置于主运算器716的外部。
请参考图1。主运算单元706为一个移动估计单元,用以执行移动估计的运 算。次运算单元708为一个区块编码单元,包括移动差异单元、离散余弦转换 单元、量化单元、可变长度码单元、反量化单元、反离散余弦转换单元与移动 比较单元。其中,移动差异单元耦接主运算单元706。离散余弦转换单元耦接移 动差异单元。量化单元耦接离散余弦转换单元。可变长度码单元耦接量化单元。 反量化单元耦接可变长度码单元与该量化单元。反离散余弦转换单元耦接反量 化单元。移动比较单元耦接反离散余弦转换单元。前述移动估计单元与区块编 码单元的硬件架构与图1近似,此部分为习知技术,在此不再重述。
当模块700处理n笔视讯数据时,则模块700执行如下步骤
(a) 使第n个视讯数据降频m倍产生对应的k组降频视讯。其中,m为正实 数,k为正整数,m与k为一对一对应关系。
(b) 外部内存输出第n个视讯数据的任一降频视讯至主运算单元,以产生数 据D(n),之后,将D(n)储存于此外部内存,其中,D (n)的下标n为视讯数据的 编号,n为整数,且n大于零。
(c) 在模块700执行重新提取程序后,外部内存将第n个视讯数据与数据D (n) 对应的目标数据输入至次运算单元,以执行对应的数据处理,即可得到第一种 分辨率的视讯串流。并且,实时地使第n-l个视讯数据执行对应的步骤(a)至(b)。
(d) 通过前述D (n),使其余k-l组降频视讯执行对应的步骤(c)。通过次运 算单元处理,即可产生k-l组种分辨率的视讯串流。接着,模块700将这些视 讯串流储存在此外部内存,并且,模块70G实时地使此第n-l个视讯数据执行
13对应的步骤(c) ~ (d)。
举例来说,当模块700模块耦接复数个视讯装置(图中未绘出),在一个时 间间隔中,这些视讯装置输出对应的视讯数据至模块700。之后,当模块700处 理n笔视讯数据时,则模块700执行下列步骤
(a) 通过微处理器702与外部内存710的运作,模块700使第n个视讯数据 降频m倍,以产生k组降频视讯。其中,m为实数。在本实施例中,m值为1 、 1/4或1/16。
(b) 外部内存710输出前述k组降频视讯的任何一组降频-现讯至主运算单元 706,以产生数据D(n)。之后,主运算单元706将D(n)输入外部内存710。其中, D(n)的下标n为视讯数据的编号,n为正整数。在本实施例中,D(n)为移动向量 数据。
(c) 通过微处理器702与外部内存710的运作,当模块700执行一个重新提 取程序后,外部内存710将第n个视讯数据与数据D(n)对应的一个目标数据输 入次运算单元708,以执行对应的数据运算,即可得到第一种^L讯串流。并且, 模块700实时地执行第n-l个视讯数据对应的步骤(a)至(b)。即,当第一笔视 讯数据执行主运算单元706的运算后,将运算结果储存至外部内存710。之后, 主模块700将前述运算结果放大或缩小,成为目标数据。接着,第一笔一见讯数 据与目标数据输入次运算单元708,以执行对应的运算,并且,第二笔视讯数据 实时地输入主运算单元706执行运算,使主运算单元706与次运算单元708同 时处理数据,即可减少产生闲置时间,进而完成平行处理的目标。
(d) 能通过重复使用前述D (n),使其余k-l组降频视讯得到个自对应的目标 数据。通过第n个视讯数据与这些目标数据,使次运算单元708执行对应的数 据运算,即可产生k-l种分辨率的视讯串流。之后,模块700将这些影像数据 储存于该外部内存710。并且,模块700实时地使该第n-l个视讯数据执行对应 之步骤(c)-(d)。即,由于主运算单元706处理第n个视讯数据所需时间相较 于次运算单元708时间长y倍,其中,l<y<10。因此,当第二笔视讯数据执行 主运算单元706的运算时,第一笔视讯数据有充裕的时间进行次运算单元708 的运算,可以反复执行对应的算法数次,以产生第一笔视讯数据对应的各种分 辨率的视讯串流。如此一来,即可大幅减少系统闲置时间,进而完成平行处理的目标。通过前述步骤(a) ~ (d),可使n笔视讯数据实时地产生对应的复数种 分辨率的^见讯串流。
如图7,所示的是依照本发明一较佳实施例的多信道以及不同分辨率视讯主 运算单元以及次运算单元平行处理程序与外部内存存取关联的时序示意图。其 中,标号802表示^L讯1,分辨率704x576,第1张。标号804表示^L讯1,分 辨率352x288,第1张。标号806表示^L讯1,分辨率176x144,第1张。标号 808表示视讯2,分辨率704x576,第1张。标号810表示视讯2,分辨率352x288, 第1张。标号812表示视讯2,分辨率176x144,第1张。标号814表示视讯3, 分辨率704x576,第1张。标号816表示^L讯3,分辨率352x288,第1张。标 号818表示视讯3,分辨率176xl44 ,第1张。标号820表示视讯1 ,分辨率704x576, 第1张影像数据。标号822表示视讯1,分辨率352x288,第1张的影像数据。 标号824表示视讯1,分辨率176x144,第1张的影像数据。标号826表示视讯 2,分辨率704x576,第1张的影像数据。标号828表示视讯2,分辨率352x288, 第1张的影像数据。标号830表示视讯2,分辨率176x144,第1张的影像数据。 标号832表示视讯3,分辨率704x576,第1张的影像数据。标号834表示视讯 3,分辨率352x288,第1张的影像数据。标号836表示视讯3,分辨率176x144, 第1张的影像数据。标号838表示视讯1,分辨率704x576,第1张的次运算单 元的运算结果。标号840表示视讯1,分辨率352x288,第1张的次运算单元的 运算结果。标号842表示视讯1,分辨率176x144,第1张的次运算单元的运算 结果。标号844表示视讯2,分辨率704x576,第1张的次运算单元的运算结果。 标号846表示视讯2,分辨率352x288,第1张的次运算单元的运算结果。标号 848表示视讯2,分辨率176x144,第1张的次运算单元的运算结果。标号850 表示视讯3,分辨率704x576,第1张的次运算单元的运算结果。标号852表示 视讯3,分辨率352x288,第1张的次运算单元的运算结果。标号854表示视讯 3,分辨率176x144,第1张的次运算单元的运算结果。
如图7所示,若多个视讯数据同时输入模块700,则当后一笔视讯数据执行 主运算单元706的运算时,由于运算时间相差太大,前一笔视讯数据有充裕的 时间进行次运算单元708的运算,并经由主算算单元706运算结果重新提取的 程序,次运算单元708进行多次运算,产生多种分辨率的视讯串流。因此,次运算单元708可利用等待主运算单元706完成运算的空档,除了^L行对应的多 次运算,可以搭配出适合主运算单元706运作时间的次运算单元708的运作次 数,即可大幅提升次运算单元使用次数,并可以提升的多种分辨率视讯串流的 数量。
通过微处理器702与外部内存710的运作,前述重新提取程序可视m值运 作如下
(1) 若111=1,则模块700可将数据D(n)缩小1/Q倍而成为目标数据,以执 行对应的步骤(c) ~ (d)。其中,Q为正整数。通过多次改变Q值,及执行次运算 单元对应的运算,可实时地得到不同分辨率的视讯串流。即,若模块700不改 变原始视讯数据的大小,则将此视讯数据的移动向量值缩小,再送入次运算单 元708,即可得到分辨率较低的视讯串流。
(2) 若m-l/P,则模块700可将数据D(n)放大Q倍而成为目标数据,以执 行对应的步骤(c) ~ (d),其中,P、 Q为正整数,通过多次改变Q值,及^L行该 次运算单元对应的运算,可实时地得到该些不同分辨率的视讯串流。即,若模 块700缩小原始视讯数据的大小,则可将此视讯数据的移动向量值放大,再送 入次运算单元708,即可得到分辨率较高的视讯串流。
(3) 若ir^l/P,则模块700将数据D(n)缩小1/Q倍而成为目标数据,以执 行对应的步骤(c) ~ (d), P、 Q为正整数,通过多次改变Q值,及执行该次运算 单元对应的运算,可实时地得到该些不同分辨率的视讯串流。即,若模块700 缩小原始视讯数据的大小,则将此视讯数据的移动向量值再次缩小,再送入次 运算单元708,即可得到分辨率更低的视讯串流。
如图8所示的是依照本发明一较佳实施例的重新提取程序的运作示意图。 如图所示,以分辨率704x576的影像为例,依序处理时序0 2,以产生分辨率 704x576的视讯串流、分辨率352x288的视讯串流、分辨率与176x144的视讯串 流。当处理时序O时,m=l,将D(n)不改变,输出原始分辨率^L讯串流。当处 理时序l时,m=l,将D(n)缩小1/4,输出1/4分辨率视讯串流。当处理时序2 时,m=l,将D(n)缩小1/16,输出1/16分辨率视讯串流。如图9,其所示的是 依照本发明一较佳实施例的重新提取程序的时序示意图。图9并标示每一个处 理时序所需耗用的运算频率(clock)。由于利用m=l/4分辨率主运算单元的运算时间较利用m=l分辨率主运算单元的运算时间减少3/4,所需的运算频率相较于 图3从1. 31 xWxHxfpsxA下降为1. 16xWxHxfpsxA,其中,W为影像宽度(width), H为影像长度(height), fps为每秒图框数(frame per second), A为主运算单 元的运算频率,B为次运算单元的运算频率,本实例运算频率参考结果为^i殳主 运算单元运算时间为次运算单元的两倍。
如图10,其所示的是依照本发明一较佳实施例的重新提取程序的运作示意 图。如图所示,以分辨率704x576的影4象为例,依序处理时序0 2,以产生分 辨率704x576的视讯串流、分辨率352x288的^L讯串流、分辨率与176x144的 视讯串流。当处理时序0时,m=l/4, D(n)不改变,输出1/4分辨率^L讯串流。 当处理时序l时,m=l/4,将D(n)放大4倍,输出原始分辨率的视讯串流。当 处理时序2时,m=l/4,将D(n)缩小1/4,输出1/16分辨率视讯串流。如图11, 其所示的是依照本发明一较佳实施例的重新提取程序的时序示意图。图11并标 示每一个处理时序所需耗用的运算频率(clock)。所需的运算频率相较于图8再 从1.16 xWxHxfpsxA下降为0. 78xWxHxfpsxA。其中,W为影i象宽度(width) , H 为影像长度(height), fps为每秒图框数(frame per second), A为主运算单元 的运算频率,B为次运算单元的运算频率。
同理,以分辨率704x576的影^象为例,依序处理时序0 2,以产生分辨率 704x576的影像、分辨率352x288的影像、分辨率与176x144的影像。当处理时 序0时,n^l/16,D(n)不改变,输出分辨率1/16数据。当处理时序1时,01=1/16, 将D(n)放大16倍,输出原始分辨率的数据。当处理时序2时,m=l/16,将D (n) 放大4倍,输出分辨率1/4的数据。
如图12,所示的是依照本发明一较佳实施例的实时产生不同分辨率视讯串 流的架构示意图。实时产生不同分辨率视讯串流的架构1300包括实时产生不 同分辨率影像数据的模块700、网络摄影机1302、网络摄影机1304、网络摄影 机1306、第一网络服务器1308、网络系统1310、第二网络服务器1312、个人 计算机1314、数据库1316、个人数字助理器1318与行动电话1320。其中,实 时产生不同分辨率视讯串流的模块700耦接网络摄影机1302、网络摄影机1304、 网络摄影机1306与第一网络服务器1308。第一网络服务器1308与第二网络服 务器1312耦接网络系统1310,第一网络服务器1308,在输入视讯数据后,通过一第一通信协议,输出视讯串流至网络系统;第二网络服务器1312耦接个人 计算机1314、数据库1316、个人数字助理器1318与行动电话1320等接收设备。 第二网络服务器1312通过一第二通信协议,输入所述不同分辨率的^f见讯串流, 并且,输出对应的^L讯串流分别至接收装置;
其中,实时产生不同分辨率视讯串流的模块700为视讯处理装置。模块700 的结构如图6所示,其运作原理与图6相同,在此不再重述。视讯处理模块耦 接复数个视讯装置,在本实施例中,前述视讯装置为网络摄影机。视讯处理模 块输入来自视讯装置的n笔一见讯数据,形成多信道(multiple channel)输入。 并且,模块700执行平行处理程序,以实时地输出每一^L讯数据对应的复数种 分辨率的视讯串流。在本实施例中,个人计算机1314、数据库1316、个人数字 助理器1318与行动电话1320皆可接收到网络摄影机1302、网络摄影机1304与 网络摄影机1306传送出来的不同分辨率的视讯串流。
图13,所示的是依照本发明一较佳实施例的实时地产生多信道及不同分辨 率视讯串流的时序示意图。如图所示,以三个信道个别地处理分辨率704x576 的影像为例,以实时地产生分辨率704x576的视讯串流、分辨率352x288的视 讯串流、分辨率与176x144的视讯串流。由图标可知,次运算单元闲置的任何 时间,仍可以进行更多分辨率视讯串流的运算,如此一来,即可大幅提高硬件 的使用效率。
请参见图3、 8与图10。若A-2B,则图3、 9与图11的运作模式所耗用的 运算频率如下
(1) 图3的模式所需频率总计1. 31xWxHxfpsxA
(2) 图8的模式所需频率总计
WxHxfpsxA + WxHxfpsxO. 31B= 1. 16xWxHxfpsxA
(3) 图IO的模式所需频率总计
WxHxfpsxO. 25A + WxHxfpsxl. 06B = 0. 78xWxHxfpsxA
由前述分析可知,图8的模式可较习知技术增加约11%的运算速度,图10 的模式更可较习知技术增加40. 45°/。的运算速度,其增强的效果十分明显,且改 善的幅度相当高。
如图14,所示的是依照本发明一较佳实施例的效能分析图。请参考图8~11,当主运算单元和次运算单元的效能相差两到三倍时,可将分辨率176x144 的影像数据的移动向量数据,加以放大而成为目标数据,即可产生数种分辨率 的视讯串流。因此,
若A = 2B,贝'J根据图IO的模式所需频率总计
(1/4) Wx (1/4) Hxf psxA+WxHxf psxB+ (1/2) Wx (1/2) Hxf psxB
=0. 69WxHxfpsxA
若A-3B,则根据图IO的模式所需频率总计
(1/4)Wx(l/4)HxfpsxA + WxHxfpsxB + (1/2)Wx (1/2) HxfpsxB = 0. 46WxHxfpsxA;
运算速度提升比率=(1_0. 46/1. 31) xl00%=64. 88%
由图H的分析可知,当主运算单元的运算时间相较于次运算单元的运算时 间愈长,则本发明改善运算速度的效果愈加明显,甚至能将速度加快64. 88%。
在此要特别加以说明的是,虽然前述实施例以MPEG的算法来说明,然而熟 悉此技术的人员应当知首,实施例仅为举例之用。任何数据的运算,若某一个 运算模块的运算时间长于其它运算模块一倍以上,均可利用本发明的精神加以 改善,本领域技术人员当可自视情况调整其实施手段。
综合上述,本发明提供一种实时产生不同分辨率视讯串流的方法与架构。 本发明能克服现有技术的主要缺点如下
(1) 本发明简化现有技术的硬件架构。本发明在运作时,完全不使用内部共 享内存。如此一来,不仅可节省硬件成本,而且可增加半导体制程的良率。
(2) 通过外部内存,本发明可使耗时较长的运算模块在执行运算时,耗时较 短的运算模块可同时执行多次运算,以减少硬件闲置时间,达成数据平行处理 的目标。
(3) 本发明减少使用耗时较长的运算模块,以加快数据处理的速度。
(4) 通过本发明的模块,搭配本发明的平行处理程序,可大幅提高运算速度。 当主运算单元的运算时间相较于次运算单元的运算时间愈长,则本发明改善运 算速度的效果愈加明显,甚至能将速度加快64. 88°/。,极具进步性与产业利用性。
(5) 由前述(l) ~ (4),本发明提出的架构可处理多信道的视讯来源,可实时 地将不同分辨率的视讯串流,通过网络系统传输至远程的接收装置。由前述(l) ~ (4)可论证本发明能有效克服现有技术的缺点。并且,本发明 以更低的硬件成本,大幅提升硬件运算速度,足以证明本发明具有非显而易见 性(non-obviousness)。
值得注意的是,上述的说明仅是为了解释本发明,而并非用以限定本发明 的实施可能性,叙述特殊细节的目的,是为了使本发明被详尽地了解。然而, 本领域技术人员应当知道此并非唯一的解法。在没有违背发明的精神或所揭露 的本质特征之下,上述的实施例可以其它的特殊形式呈现,而随后附上的专利 申请权利要求书则用以定义本发明。
权利要求
1、 一种实时产生不同分辨率视讯串流的方法,适用于影像处理, 一模块包括一外部内存、 一系统总线与一主运算单元;所述外部内存耦接所述系统总线, 该主运算器包括一微处理器、 一主运算单元与一次运算单元,所述微处理器、 主运算单元与次运算单元耦接所述系统总线,其特征在于,该方法包括下步骤(a) 当所述模块处理n笔视讯数据时,使第n个视讯数据降频m倍,以产生 对应的k组降频^见讯,其中,m为正实凄t, k为正整凄史;(b) 所述外部内存输出所述第n个视讯数据的一降频视讯至主运算单元,以 产生数据D(n),之后,将D(n)储存于该外部内存,其中,D(n)的下标n为视讯 数据的编号,n为正整数;(c) 在执行一重新提取处理后,所述外部内存将所述第n个视讯数据与该数 据D(n)对应的一目标数据输入至所述次运算单元,以执行对应的数据处理,并 且,实时地使第n-l个视讯数据执行对应的步骤(a)至(b);以及,(d) 通过所述D(n),使其余k-l组降频视讯分别得到对应的目标数据,通过 所述第n个视讯数据与k-1组降频视讯对应的目标数据,使次运算单元执行对 应的数据运算,可产生k-l种分辨率的视讯串流,将这些视讯串流储存于所述 外部内存,并且,实时地使所述第n-l个视讯数据才丸行对应的步骤(c) ~ (d);通过前述步骤(a) ~ (d),可使n笔视讯数据实时地产生对应的复数种分辨 率的视讯串流。
2、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述m值为l、 1/4或者1/16。
3、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述模块耦接复数个视讯装置,在一时间间隔中,所述视讯装置输出对应 的视讯数据至所述模块。
4、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述重新提取处理为,若111=1,则将所述资料D(n)缩小1/Q倍而成为对应 的目标数据,以执行对应的步骤,其中,Q为正整数,通过改变Q值,及执行所 述次运算单元对应的运算,实时地得到所述不同分辨率的;^见讯串流。
5、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述重新提取处理为,若m-l/P,则将所述资料D(n)放大Q倍而成为对应的目标数据,以执行对应的步骤,其中,P、 Q为正整数,通过改变Q值,及执 行所述次运算单元对应的运算,实时地得到所述不同分辨率的祸/讯串流。
6、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述重新提取处理为,若m-l/P,则将所述资料D(n)缩小1/Q倍而成为对 应的目标数据,以执行对应的步骤,P、 Q为正整数,通过改变Q值,及执行所 述次运算单元对应的运算,实时地得到所述不同分辨率的视讯串流。
7、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述D(n)为一移动向量数据。
8、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述主运算单元处理第n个^L讯数据所需时间长于所述次运算单元y倍, 其中,l<y<10。
9、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在 于,所述主运算单元为一移动估计单元,用以执行移动估计的运算。
10、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征 在于,所述次运算单元为一区块编码单元,包括一移动差异单元,耦接所述主运算单元; 一离散余弦转换单元,耦接所述移动差异单元; 一量化单元,耦接所述离散余弦转换单元; 一可变长度码单元,耦接所述量化单元; 一反量化单元,耦接所述可变长度码单元与所述量化单元; 一反离散余弦转换单元,耦接所述反量化单元;以及, 一移动比较单元,耦接所述反离散余弦转换单元。
11、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征 在于,所述模块还包括一视讯撷取单元,耦接至少一视讯装置,用以撷取视讯 数据。
12、 根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征 在于,所述模块还包括一网络桥接单元,用以连接一网络服务器。
13、 一种实时产生不同分辨率视讯串流的架构,适用于多信道的影像处理, 其特征在于,该架构包括复数个视讯装置,用以撷取n笔视讯数据;一视讯处理模块,耦接所述^L讯装置,输入所述n笔视讯数据,执行一平 行处理程序,以实时地输出每一笔视讯数据对应的复数种分辨率的视讯串流, 所述模块包括一系统总线;一外部内存,该外部内存耦接所述系统总线;以及, 一主运算器,包括一微处理器,该微处理器耦接所述系统总线; 一主运算单元,该主运算单元耦接所述系统总线;以及, 一次运算单元,该次运算单元耦接所述系统总线;一第一网络服务器,耦接所述视讯处理模块与一网络系统,在输入视讯数 据后,通过一第一通信协议,输出4见讯串流至网络系统;以及,一第二网络服务器,耦接所述网络系统与复数个接收装置,通过一第二通 信协议,输入所述不同分辨率的视讯串流,并且,输出对应的视讯串流分别至 所述接收装置;其中,当所述视讯处理模块处理n笔视讯数据时,所述主运算器使一第n 个碎见讯数据降频m倍产生对应的k组降频视讯,其中,m为正实数,k为正整数, m与k为一对一对应关系;所述外部内存将所述第n个视讯数据中的任一降频视讯输出至主运算单元, 以产生数据D(n),之后,所述主运算器将D(n)储存于所述外部内存,其中,D(n) 的下标n为视讯数据的编号,n为正整数;所述外部内存将第n个视讯数据与数据D (n)对应的目标数据输入至次运算 单元,以执行对应的数据处理,并且,所述主运算器实时地使第n-1个^L讯数 据降频,以产生对应的降频—见讯,且所述外部内存输出对应的降频^L讯至主运 算单元,以产生对应的数据,之后,主运算器将前述数据储存于所述外部内存; 通过所述D (n),所述主运算器使其余k-l组降频视讯分别地得到对应的目标数 据,通过所述第n个视讯数据与k-l组降频视讯对应的目标数据,次运算单元 执行对应的数据运算,可产生k-l种分辨率的视讯串流,所述主运算器将这些 视讯串流储存于所述外部内存,所述主运算器重复执行前述运算,即可使n笔视讯数据实时地产生对应的复数种分辨率的视讯串流。
14 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述视讯装置为复数个网络摄影机。
15、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述接收装置为一个人计算机。
16 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述接收装置为一数据库。
17 、根据权利要求13所述的实时产生不同分辨率^L讯串流的架构,其特征 在于,所述接收装置为一个人数字助理器。
18 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述接收装置为一行动电话。
19 、根据权利要求13所述的实时产生不同分辨率^L讯串流的架构,其特征 在于,所述m值为l、 1/4或者1/16。
20 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述架构耦接复数个视讯装置,在一时间间隔中,所述视讯装置输出对 应的视讯数据至所述架构。
21 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,若m-l,则将所述资料D(n)缩小1/Q倍而成为对应的目标数据,以执行 对应的处理,其中,Q为正整数,通过改变Q值,及执行所述次运算单元对应的 运算,实时地得到所述不同分辨率的视讯串流。
22 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,若m-l/P,则将所述资料D(n)放大Q倍而成为对应的目标数据,以执行 对应的处理,其中,P、 Q为正整数,通过改变Q值,及执行所述次运算单元对 应的运算,实时地得到所述不同分辨率的视讯串流。
23 、根据权利要求13所述的实时产生不同分辨率^L讯串流的架构,其特征 在于,若m4/P,则将所述资料D(n)缩小1/Q倍而成为对应的目标数据,以执 行对应的处理,P、 Q为正整数,通过改变Q值,及执行所述次运算单元对应的 运算,实时地得到所述不同分辨率的视讯串流。
24 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征在于,所述D(n)为一移动向量数据。
25 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述主运算单元处理第n个视讯数据所需时间长于所述次运算单元y倍, 其中,l<y<10。
26 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述主运算单元为一移动估计单元,用以执行移动估计的运算。
27 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述次运算单元为一区块编码单元,包括一移动差异单元,耦接所述主运算单元; 一离散余弦转换单元,耦接所述移动差异单元; 一量化单元,耦接所述离散余弦转换单元; 一可变长度码单元,耦接所述量化单元; 一反量化单元,耦接所述可变长度码单元与该量化单元; 一反离散余弦转换单元,耦接所述反量化单元;以及, 一移动比较单元,耦接所述反离散余弦转换单元。
28 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述架构还包括一视讯撷取单元,耦接至少一视讯装置,用以擷取视讯 数据。
29 、根据权利要求13所述的实时产生不同分辨率视讯串流的架构,其特征 在于,所述架构还包括一网络桥接单元,用以连接一网络服务器。
全文摘要
本发明公开一种实时产生不同分辨率视讯串流的方法与架构,涉及一种视讯处理的方法与架构,为解决现有的视讯处理系统中的运算模块之间运算时间相差太大,影响系统效能的问题而发明。本发明适用于视讯编码器,一模块包括系统总线、外部内存与主运算器。主运算器与外部内存耦接系统总线。主运算器包括微处理器、主运算单元与次运算单元。通过外部内存,本发明可使耗时较长的运算模块在执行运算时,耗时较短的运算模块可同时执行运算,以减少硬件闲置时间,提高硬件利用率以及平行化处理。
文档编号H04N7/14GK101312528SQ20071010723
公开日2008年11月26日 申请日期2007年5月24日 优先权日2007年5月24日
发明者沈俊甫, 范哲龙, 许仕育 申请人:晶睿通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1