CN101312528B - 实时产生不同分辨率视讯串流的方法与系统 - Google Patents
实时产生不同分辨率视讯串流的方法与系统 Download PDFInfo
- Publication number
- CN101312528B CN101312528B CN 200710107234 CN200710107234A CN101312528B CN 101312528 B CN101312528 B CN 101312528B CN 200710107234 CN200710107234 CN 200710107234 CN 200710107234 A CN200710107234 A CN 200710107234A CN 101312528 B CN101312528 B CN 101312528B
- Authority
- CN
- China
- Prior art keywords
- real time
- video streams
- video signal
- data
- unit
- 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.)
- Active
Links
Images
Abstract
本发明公开一种实时产生不同分辨率视讯串流的方法与架构,涉及一种视讯处理的方法与架构,为解决现有的视讯处理系统中的运算模块之间运算时间相差太大,影响系统效能的问题而发明。本发明适用于视讯编码器,一模块包括系统总线、外部内存与主运算器。主运算器与外部内存耦接系统总线。主运算器包括微处理器、主运算单元与次运算单元。通过外部内存,本发明可使耗时较长的运算模块在执行运算时,耗时较短的运算模块可同时执行运算,以减少硬件闲置时间,提高硬件利用率以及平行化处理。
Description
技术领域
本发明涉及一种视讯处理的方法与系统,特别涉及当耗时较长的运算模块在执行运算时,耗时较短的运算模块可同时执行运算,以加快运算速度的方法与系统。
背景技术
随着动态影像视讯的应用日益广泛,使用者对动态影像视讯的需求也日益增加。因此,动态视讯的处理速度成为一个非常重要的议题。目前处理动态影像最主要的技术为移动影像编码标准(Moving Picture Encoding Group,MPEG),图1所示的是现有移动影像编码标准-4的视讯编码系统的功能方块图。我们可将整个视讯编码系统分为两部份,即移动估计器(Motion Estimation)与区块编码器。其中,区块编码器包含移动差异单元(Motion Difference)、离散余弦转换单元(DCT)、量化单元(Quantization)、可变长度码单元(Variable lengthcode,VLC)、反量化单元(Inverse-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-1组降频视讯分别得到对应的目标数据,通过所述第n个视讯数据与k-1组降频视讯对应的目标数据,使次运算单元执行数据运算,可产生k-1种分辨率的视讯串流,将这些视讯串流储存于所述外部内存,并且,实时地使所述第n-1个视讯数据执行对应的步骤(c)~(d);
通过前述步骤(a)~(d),可使n笔视讯数据实时地产生对应的复数种分辨率的视讯串流。
为达上述目的,本发明还提出一种实时产生不同分辨率视讯串流的系统,也适用于同时处理多信道的视讯数据,该系统包括:
复数个视讯装置,用以撷取n笔视讯数据;
一视讯处理模块,耦接所述复数个视讯装置,输入n笔视讯数据,执行一平行处理程序,以实时地输出每一笔视讯数据对应的复数种分辨率的视讯串流,所述视讯处理模块包括:
一系统总线;
一外部内存,该外部内存耦接所述系统总线;以及,
一主运算器,所述主运算器包括:一微处理器,该微处理器耦接所述系统总线;一主运算单元,该主运算单元耦接所述系统总线;以及,一次运算单元,该次运算单元耦接所述系统总线;
一第一网络服务器,耦接所述视讯处理模块与一网络系统,在输入视讯数据后,通过一第一通信协议,输出视讯串流至网络系统;以及,
一第二网络服务器,耦接所述网络系统与复数个接收装置,通过一第二通信协议,输入所述不同分辨率的视讯串流,并且,输出对应的视讯串流分别至所述接收装置;
其中,当所述视讯处理模块处理n笔视讯数据时,所述主运算器使一第n个视讯数据降频m倍产生k组降频视讯,其中,m为正实数,k为正整数,m与k为一对一对应关系;
所述外部内存将所述第n个视讯数据中的任一降频视讯输出至主运算单元,以产生数据D(n),之后,所述主运算器将D(n)储存于所述外部内存,其中,D(n)的下标n为视讯数据的编号,n为正整数;
所述外部内存将第n个视讯数据以及与数据D(n)对应的目标数据输入至次运算单元,以执行数据处理,并且,所述主运算器实时地使第n-1个视讯数据降频,以产生降频视讯,且所述外部内存输出降频视讯至主运算单元,以产生对应的数据,之后,主运算器将前述数据储存于所述外部内存;通过所述D(n),所述主运算器使其余k-1组降频视讯分别地得到对应的目标数据,通过所述第n个视讯数据与k-1组降频视讯对应的目标数据,次运算单元执行对应的数据运算,可产生k-1种分辨率的视讯串流,所述主运算器将这些视讯串流储存于所述外部内存,所述主运算器重复执行前述运算,即可使n笔视讯数据实时地产生对应的复数种分辨率的视讯串流。
依照本发明的较佳实施例所述,上述的m值为1、1/4或者1/16。
依照本发明的较佳实施例所述,上述重新提取处理为,若m=1,则将所述数据D(n)缩小1/Q倍而成为对应的目标数据,以执行对应的步骤,其中,Q为正整数,通过不断改变Q值,及执行所述次运算单元对应的运算,实时地得到所述不同分辨率的视讯串流。
依照本发明的较佳实施例所述,上述的重新提取处理为,若m=1/P,则将此数据D(n)放大Q倍而成为此目标数据,以执行对应的步骤。其中,P、Q为正整数,通过不断改变Q值,再使次运算单元执行对应的运算,可实时地得到不同分辨率的视讯串流。
依照本发明的较佳实施例所述,上述的重新提取处理为,若m=1/P,则将此数据D(n)缩小1/Q倍而成为此目标数据,以执行对应的步骤。其中,P、Q为正整数,通过不断改变Q值,再使次运算单元执行对应的运算,可实时地得到不同分辨率的视讯串流。
依照本发明的较佳实施例所述,上述的D(n)为移动向量数据。
依照本发明的较佳实施例所述,上述的主运算单元处理第n个视讯数据所需时间长于此次运算单元y倍,其中,1<y<10。
依照本发明的较佳实施例所述,上述的主运算单元为移动估计单元,用以执行移动估计的运算。
依照本发明的较佳实施例所述,上述的次运算单元为区块编码单元,包括移动差异单元、离散余弦转换单元、量化单元、可变长度码单元、反量化单元、反离散余弦转换单元与移动比较单元。
依照本发明的较佳实施例所述,上述的模块还包括视讯撷取单元,耦接至少一个视讯装置,用以撷取视讯数据。
依照本发明的较佳实施例所述,上述的模块还包括网络桥接单元,用以连接接网络服务器。
依照本发明的较佳实施例所述,上述的接收装置为个人计算机、数据库、个人数字助理器或行动电话。
现有技术中,由于运算模块之间有运算时间相差太大的特性,因此提升系统效能的重点为:(1)达成运算模块之间独立平行运作的能力。(2)在达成实时多信道不同分辨率视讯串流指定规格之下,提高运算时间较短的运算单元的使用率,在整体系统运作时降低运算时间较短的运算单元的闲置时间。(3)在达成实时多信道不同分辨率视讯串流指定规格之下,减少运算时间较长的运算单元的使用率,以缩短整体系统的运算时间并减低功率消耗。(4)平衡各模块之间的运作时间。
本发明通过外部内存所达成的模块独立平行运算,可使耗时较长的运算模块在执行运算时,耗时较短的运算模块可同时执行多次运算,以减少硬件闲置时间,达成模块运算时间平衡以及整体效能提升的目标,提高硬件利用率以及平行化处理。另外,利用视讯编码运算的特性,减少耗时较长运算模块的运作次数,以达成实时提供各种视讯串流的目的。另外,本发明可处理多信道的视讯来源,可实时地将不同分辨率的视讯数据,通过网络系统传输至远程的接收装置。
附图说明
图1是现有的移动影像编码标准-4的视讯编码系统的功能方块图;
图2是现有视讯处理装置的功能方块图;
图3是现有视讯处理装置的针对多种解析度动作示意图;
图4是现有视讯处理装置的针对多种解析度时序示意图;
图5是现有视讯处理装置处理多通道的多种解析度的视讯串流的时序示意图;
图6是依照本发明一较佳实施例的实时产生不同解析度视讯串流的方法流程中的电路功能方块图;
图7是依照本发明一较佳实施例的多通道以及不同解析度视讯主运算单元以及次运算单元平行处理程序与外部内存存取关联的时序示意图;
图8是依照本发明一较佳实施例的重新提取处理的动作示意图;
图9是依照本发明一较佳实施例的重新提取处理的时序示意图;
图10是依照本发明一较佳实施例的重新提取处理的动作示意图;
图11是依照本发明一较佳实施例的重新提取程序的时序示意图;
图12是依照本发明一较佳实施例的实时产生不同解析度视讯串流的系统示意图;
图13是依照本发明一较佳实施例的实时产生多通道及不同解析度视讯串流的时序示意图;
图14是依照本发明一较佳实施例的效能分析图。
具体实施方式
图6所示的是依照本发明一较佳实施例的实时产生不同分辨率视讯串流的方法流程中的电路功能方块图。实时产生不同分辨率视讯串流的模块700包括:微处理器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-1个视讯数据执行对应的步骤(a)至(b)。
(d)通过前述D(n),使其余k-1组降频视讯执行对应的步骤(c)。通过次运算单元处理,即可产生k-1组种分辨率的视讯串流。接着,模块700将这些视讯串流储存在此外部内存,并且,模块700实时地使此第n-1个视讯数据执行对应的步骤(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,以执行对应的数据运算,即可得到第一种视讯串流。并且,模块700实时地执行第n-1个视讯数据对应的步骤(a)至(b)。即,当第一笔视讯数据执行主运算单元706的运算后,将运算结果储存至外部内存710。之后,主模块700将前述运算结果放大或缩小,成为目标数据。接着,第一笔视讯数据与目标数据输入次运算单元708,以执行对应的运算,并且,第二笔视讯数据实时地输入主运算单元706执行运算,使主运算单元706与次运算单元708同时处理数据,即可减少产生闲置时间,进而完成平行处理的目标。
(d)能通过重复使用前述D(n),使其余k-1组降频视讯得到个自对应的目标数据。通过第n个视讯数据与这些目标数据,使次运算单元708执行对应的数据运算,即可产生k-1种分辨率的视讯串流。之后,模块700将这些影像数据储存于该外部内存710。并且,模块700实时地使该第n-1个视讯数据执行对应之步骤(c)~(d)。即,由于主运算单元706处理第n个视讯数据所需时间相较于次运算单元708时间长y倍,其中,1<y<10。因此,当第二笔视讯数据执行主运算单元706的运算时,第一笔视讯数据有充裕的时间进行次运算单元708的运算,可以反复执行对应的算法数次,以产生第一笔视讯数据对应的各种分辨率的视讯串流。如此一来,即可大幅减少系统闲置时间,进而完成平行处理的目标。通过前述步骤(a)~(d),可使n笔视讯数据实时地产生对应的复数种分辨率的视讯串流。
如图7,所示的是依照本发明一较佳实施例的多信道以及不同分辨率视讯主运算单元以及次运算单元平行处理程序与外部内存存取关联的时序示意图。其中,标号802表示视讯1,分辨率704x576,第1张。标号804表示视讯1,分辨率352x288,第1张。标号806表示视讯1,分辨率176x144,第1张。标号808表示视讯2,分辨率704x576,第1张。标号810表示视讯2,分辨率352x288,第1张。标号812表示视讯2,分辨率176x144,第1张。标号814表示视讯3,分辨率704x576,第1张。标号816表示视讯3,分辨率352x288,第1张。标号818表示视讯3,分辨率176x144,第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完成运算的空档,除了执行对应的多次运算,可以搭配出适合主运算单元706运作时间的次运算单元708的运作次数,即可大幅提升次运算单元使用次数,并可以提升的多种分辨率视讯串流的数量。
通过微处理器702与外部内存710的运作,前述重新提取程序可视m值运作如下:
(1)若m=1,则模块700可将数据D(n)缩小1/Q倍而成为目标数据,以执行对应的步骤(c)~(d)。其中,Q为正整数。通过多次改变Q值,及执行次运算单元对应的运算,可实时地得到不同分辨率的视讯串流。即,若模块700不改变原始视讯数据的大小,则将此视讯数据的移动向量值缩小,再送入次运算单元708,即可得到分辨率较低的视讯串流。
(2)若m=1/P,则模块700可将数据D(n)放大Q倍而成为目标数据,以执行对应的步骤(c)~(d),其中,P、Q为正整数,通过多次改变Q值,及执行该次运算单元对应的运算,可实时地得到该些不同分辨率的视讯串流。即,若模块700缩小原始视讯数据的大小,则可将此视讯数据的移动向量值放大,再送入次运算单元708,即可得到分辨率较高的视讯串流。
(3)若m=1/P,则模块700将数据D(n)缩小1/Q倍而成为目标数据,以执行对应的步骤(c)~(d),P、Q为正整数,通过多次改变Q值,及执行该次运算单元对应的运算,可实时地得到该些不同分辨率的视讯串流。即,若模块700缩小原始视讯数据的大小,则将此视讯数据的移动向量值再次缩小,再送入次运算单元708,即可得到分辨率更低的视讯串流。
如图8所示的是依照本发明一较佳实施例的重新提取程序的运作示意图。如图所示,以分辨率704x576的影像为例,依序处理时序0~2,以产生分辨率704x576的视讯串流、分辨率352x288的视讯串流、分辨率与176x144的视讯串流。当处理时序0时,m=1,将D(n)不改变,输出原始分辨率视讯串流。当处理时序1时,m=1,将D(n)缩小1/4,输出1/4分辨率视讯串流。当处理时序2时,m=1,将D(n)缩小1/16,输出1/16分辨率视讯串流。如图9,其所示的是依照本发明一较佳实施例的重新提取程序的时序示意图。图9并标示每一个处理时序所需耗用的运算频率(clock)。由于利用m=1/4分辨率主运算单元的运算时间较利用m=1分辨率主运算单元的运算时间减少3/4,所需的运算频率相较于图3从1.31xWxHxfpsxA下降为1.16xWxHxfpsxA,其中,W为影像宽度(width),H为影像长度(height),fps为每秒图框数(frame per second),A为主运算单元的运算频率,B为次运算单元的运算频率,本实例运算频率参考结果为假设主运算单元运算时间为次运算单元的两倍。
如图10,其所示的是依照本发明一较佳实施例的重新提取程序的运作示意图。如图所示,以分辨率704x576的影像为例,依序处理时序0~2,以产生分辨率704x576的视讯串流、分辨率352x288的视讯串流、分辨率与176x144的视讯串流。当处理时序0时,m=1/4,D(n)不改变,输出1/4分辨率视讯串流。当处理时序1时,m=1/4,将D(n)放大4倍,输出原始分辨率的视讯串流。当处理时序2时,m=1/4,将D(n)缩小1/4,输出1/16分辨率视讯串流。如图11,其所示的是依照本发明一较佳实施例的重新提取程序的时序示意图。图11并标示每一个处理时序所需耗用的运算频率(clock)。所需的运算频率相较于图8再从1.16xWxHxfpsxA下降为0.78xWxHxfpsxA。其中,W为影像宽度(width),H为影像长度(height),fps为每秒图框数(frame per second),A为主运算单元的运算频率,B为次运算单元的运算频率。
同理,以分辨率704x576的影像为例,依序处理时序0~2,以产生分辨率704x576的影像、分辨率352x288的影像、分辨率与176x144的影像。当处理时序0时,m=1/16,D(n)不改变,输出分辨率1/16数据。当处理时序1时,m=1/16,将D(n)放大16倍,输出原始分辨率的数据。当处理时序2时,m=1/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通过一第二通信协议,输入所述不同分辨率的视讯串流,并且,输出对应的视讯串流分别至接收装置;
其中,实时产生不同分辨率视讯串流的模块700为视讯处理装置。模块700的结构如图6所示,其运作原理与图6相同,在此不再重述。视讯处理模块耦接复数个视讯装置,在本实施例中,前述视讯装置为网络摄影机。视讯处理模块输入来自视讯装置的n笔视讯数据,形成多信道(multiple channel)输入。并且,模块700执行平行处理程序,以实时地输出每一视讯数据对应的复数种分辨率的视讯串流。在本实施例中,个人计算机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+WxHxfpsx0.31B=1.16xWxHxfpsxA
(3)图10的模式所需频率总计:
WxHxfpsx0.25A+WxHxfpsx1.06B=0.78xWxHxfpsxA
由前述分析可知,图8的模式可较习知技术增加约11%的运算速度,图10的模式更可较习知技术增加40.45%的运算速度,其增强的效果十分明显,且改善的幅度相当高。
如图14,所示的是依照本发明一较佳实施例的效能分析图。请参考图8~11,当主运算单元和次运算单元的效能相差两到三倍时,可将分辨率176x144的影像数据的移动向量数据,加以放大而成为目标数据,即可产生数种分辨率的视讯串流。因此,
若A=2B,则根据图10的模式所需频率总计:
(1/4)Wx(1/4)HxfpsxA+WxHxfpsxB+(1/2)Wx(1/2)HxfpsxB
=0.69WxHxfpsxA
若A=3B,则根据图10的模式所需频率总计:
(1/4)Wx(1/4)HxfpsxA+WxHxfpsxB+(1/2)Wx(1/2)HxfpsxB=0.46WxHxfpsxA;
运算速度提升比率=(1-0.46/1.31)x100%=64.88%
由图14的分析可知,当主运算单元的运算时间相较于次运算单元的运算时间愈长,则本发明改善运算速度的效果愈加明显,甚至能将速度加快64.88%。
在此要特别加以说明的是,虽然前述实施例以MPEG的算法来说明,然而熟悉此技术的人员应当知首,实施例仅为举例之用。任何数据的运算,若某一个运算模块的运算时间长于其它运算模块一倍以上,均可利用本发明的精神加以改善,本领域技术人员当可自视情况调整其实施手段。
综合上述,本发明提供一种实时产生不同分辨率视讯串流的方法与系统。本发明能克服现有技术的主要缺点如下:
(1)本发明简化现有技术的硬件系统。本发明在运作时,完全不使用内部共享内存。如此一来,不仅可节省硬件成本,而且可增加半导体制程的良率。
(2)通过外部内存,本发明可使耗时较长的运算模块在执行运算时,耗时较短的运算模块可同时执行多次运算,以减少硬件闲置时间,达成数据平行处理的目标。
(3)本发明减少使用耗时较长的运算模块,以加快数据处理的速度。
(4)通过本发明的模块,搭配本发明的平行处理程序,可大幅提高运算速度。当主运算单元的运算时间相较于次运算单元的运算时间愈长,则本发明改善运算速度的效果愈加明显,甚至能将速度加快64.88%,极具进步性与产业利用性。
(5)由前述(1)~(4),本发明提出的系统可处理多信道的视讯来源,可实时地将不同分辨率的视讯串流,通过网络系统传输至远程的接收装置。
由前述(1)~(4)可论证本发明能有效克服现有技术的缺点。并且,本发明以更低的硬件成本,大幅提升硬件运算速度,足以证明本发明具有非显而易见性(non-obviousness)。
值得注意的是,上述的说明仅是为了解释本发明,而并非用以限定本发明的实施可能性,叙述特殊细节的目的,是为了使本发明被详尽地了解。然而,本领域技术人员应当知道此并非唯一的解法。在没有违背发明的精神或所揭露的本质特征之下,上述的实施例可以其它的特殊形式呈现,而随后附上的专利申请权利要求书则用以定义本发明。
Claims (29)
1.一种实时产生不同分辨率视讯串流的方法,适用于影像处理,一模块包括一外部内存、一系统总线与一主运算器;所述外部内存耦接所述系统总线,该主运算器包括一微处理器、一主运算单元与一次运算单元,所述微处理器、主运算单元与次运算单元耦接所述系统总线,其特征在于,该方法包括以下步骤:
(a)当所述模块处理n笔视讯数据时,使第n个视讯数据降频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-1组降频视讯分别得到对应的目标数据,通过所述第n个视讯数据与k-1组降频视讯对应的目标数据,使次运算单元执行数据运算,可产生k-1种分辨率的视讯串流,将这些视讯串流储存于所述外部内存,并且,实时地使所述第n-1个视讯数据执行对应的步骤(c)~(d);
通过前述步骤(a)~(d),可使n笔视讯数据实时地产生对应的复数种分辨率的视讯串流。
2.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述m值为1、1/4或者1/16。
3.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述模块耦接复数个视讯装置,在一时间间隔中,所述复数个视讯装置输出视讯数据至所述模块。
4.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述重新提取处理为,若m=1,则将所述数据D(n)缩小1/Q倍而成为对应的目标数据,以执行对应的步骤(c)~(d),其中,Q为正整数,通过改变Q值,及执行所述次运算单元运算,实时地得到所述不同分辨率的视讯串流。
5.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述重新提取处理为,若m=1/P,则将所述数据D(n)放大Q倍而成为对应的目标数据,以执行对应的步骤(c)~(d),其中,P、Q为正整数,通过改变Q值,及执行所述次运算单元的运算,实时地得到所述不同分辨率的视讯串流。
6.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述重新提取处理为,若m=1/P,则将所述数据D(n)缩小1/Q倍而成为对应的目标数据,以执行对应的步骤(c)~(d),P、Q为正整数,通过改变Q值,及执行所述次运算单元的运算,实时地得到所述不同分辨率的视讯串流。
7.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述D(n)为一移动向量数据。
8.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述主运算单元处理第n个视讯数据所需时间长于所述次运算单元y倍,其中,1<y<10。
9.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述主运算单元为一移动估计单元,用以执行移动估计的运算。
10.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述次运算单元为一区块编码单元,所述区块编码单元包括:
一移动差异单元,耦接所述主运算单元;
一离散余弦转换单元,耦接所述移动差异单元;
一量化单元,耦接所述离散余弦转换单元;
一可变长度码单元,耦接所述量化单元;
一反量化单元,耦接所述可变长度码单元与所述量化单元;
一反离散余弦转换单元,耦接所述反量化单元;以及,
一移动比较单元,耦接所述反离散余弦转换单元。
11.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述模块还包括一视讯撷取单元,耦接至少一视讯装置,用以撷取视讯数据。
12.根据权利要求1所述的实时产生不同分辨率视讯串流的方法,其特征在于,所述模块还包括一网络桥接单元,用以连接一网络服务器。
13.一种实时产生不同分辨率视讯串流的系统,适用于多信道的影像处理,其特征在于,该系统包括:
复数个视讯装置,用以撷取n笔视讯数据;
一视讯处理模块,耦接所述复数个视讯装置,输入所述n笔视讯数据,执行一平行处理程序,以实时地输出每一笔视讯数据对应的复数种分辨率的视讯串流,所述视讯处理模块包括:
一系统总线;
一外部内存,该外部内存耦接所述系统总线;以及,
一主运算器,所述主运算器包括:一微处理器,该微处理器耦接所述系统总线;一主运算单元,该主运算单元耦接所述系统总线;以及,一次运算单元,该次运算单元耦接所述系统总线;
一第一网络服务器,耦接所述视讯处理模块与一网络系统,在输入视讯数据后,通过一第一通信协议,输出视讯串流至网络系统;以及,
一第二网络服务器,耦接所述网络系统与复数个接收装置,通过一第二通信协议,输入所述不同分辨率的视讯串流,并且,输出对应的视讯串流分别至所述接收装置;
其中,当所述视讯处理模块处理n笔视讯数据时,所述主运算器使一第n个视讯数据降频m倍产生k组降频视讯,其中,m为正实数,k为正整数,m与k为一对一对应关系;
所述外部内存将所述第n个视讯数据中的任一降频视讯输出至主运算单元,以产生数据D(n),之后,所述主运算器将D(n)储存于所述外部内存,其中,D(n)的下标n为视讯数据的编号,n为正整数;
所述外部内存将第n个视讯数据以及与数据D(n)对应的目标数据输入至次运算单元,以执行数据处理,并且,所述主运算器实时地使第n-1个视讯数据降频,以产生降频视讯,且所述外部内存输出降频视讯至主运算单元,以产生对应的数据,之后,主运算器将前述数据储存于所述外部内存;通过所述D(n),所述主运算器使其余k-1组降频视讯分别地得到对应的目标数据,通过所述第n个视讯数据与k-1组降频视讯对应的目标数据,次运算单元执行对应的数据运算,可产生k-1种分辨率的视讯串流,所述主运算器将这些视讯串流储存于所述外部内存,所述主运算器重复执行前述运算,即可使n笔视讯数据实时地产生对应的复数种分辨率的视讯串流。
14.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述视讯装置为复数个网络摄影机。
15.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述接收装置为一个人计算机。
16.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述接收装置为一数据库。
17.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述接收装置为一个人数字助理器。
18.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述接收装置为一行动电话。
19.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述m值为1、1/4或者1/16。
20.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述系统耦接复数个视讯装置,在一时间间隔中,所述复数个视讯装置输出视讯数据至所述系统。
21.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,若m=1,则将所述数据D(n)缩小1/Q倍而成为对应的目标数据,以执行对应的处理,其中,Q为正整数,通过改变Q值,及执行所述次运算单元的运算,实时地得到所述不同分辨率的视讯串流。
22.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,若m=1/P,则将所述数据D(n)放大Q倍而成为对应的目标数据,以执行对应的处理,其中,P、Q为正整数,通过改变Q值,及执行所述次运算单元的运算,实时地得到所述不同分辨率的视讯串流。
23.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,若m=1/P,则将所述数据D(n)缩小1/Q倍而成为对应的目标数据,以执行对应的处理,P、Q为正整数,通过改变Q值,及执行所述次运算单元的运算,实时地得到所述不同分辨率的视讯串流。
24.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述D(n)为一移动向量数据。
25.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述主运算单元处理第n个视讯数据所需时间长于所述次运算单元y倍,其中,1<y<10。
26.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述主运算单元为一移动估计单元,用以执行移动估计的运算。
27.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述次运算单元为一区块编码单元,所述区块编码单元包括:
一移动差异单元,耦接所述主运算单元;
一离散余弦转换单元,耦接所述移动差异单元;
一量化单元,耦接所述离散余弦转换单元;
一可变长度码单元,耦接所述量化单元;
一反量化单元,耦接所述可变长度码单元与该量化单元;
一反离散余弦转换单元,耦接所述反量化单元;以及,
一移动比较单元,耦接所述反离散余弦转换单元。
28.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述系统还包括一视讯撷取单元,耦接至少一视讯装置,用以撷取视讯数据。
29.根据权利要求13所述的实时产生不同分辨率视讯串流的系统,其特征在于,所述系统还包括一网络桥接单元,用以连接一网络服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710107234 CN101312528B (zh) | 2007-05-24 | 2007-05-24 | 实时产生不同分辨率视讯串流的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710107234 CN101312528B (zh) | 2007-05-24 | 2007-05-24 | 实时产生不同分辨率视讯串流的方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101312528A CN101312528A (zh) | 2008-11-26 |
CN101312528B true CN101312528B (zh) | 2010-06-23 |
Family
ID=40100925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710107234 Active CN101312528B (zh) | 2007-05-24 | 2007-05-24 | 实时产生不同分辨率视讯串流的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101312528B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111372038B (zh) * | 2018-12-26 | 2021-06-18 | 厦门星宸科技有限公司 | 多串流影像处理装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5579512A (en) * | 1994-12-30 | 1996-11-26 | Compaq Computer Corporation | Systempro emulation in a symmetric multiprocessing computer system |
US20020078276A1 (en) * | 2000-12-20 | 2002-06-20 | Ming-Li Hung | RAID controller with IDE interfaces |
CN1604029A (zh) * | 2003-09-30 | 2005-04-06 | 索尼株式会社 | 多系统网络和对数据存储器进行存取的设备及方法 |
CN1671192A (zh) * | 2005-03-31 | 2005-09-21 | 四川长虹电器股份有限公司 | 双处理器电视控制方法及其用途 |
-
2007
- 2007-05-24 CN CN 200710107234 patent/CN101312528B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5579512A (en) * | 1994-12-30 | 1996-11-26 | Compaq Computer Corporation | Systempro emulation in a symmetric multiprocessing computer system |
US20020078276A1 (en) * | 2000-12-20 | 2002-06-20 | Ming-Li Hung | RAID controller with IDE interfaces |
CN1604029A (zh) * | 2003-09-30 | 2005-04-06 | 索尼株式会社 | 多系统网络和对数据存储器进行存取的设备及方法 |
CN1671192A (zh) * | 2005-03-31 | 2005-09-21 | 四川长虹电器股份有限公司 | 双处理器电视控制方法及其用途 |
Also Published As
Publication number | Publication date |
---|---|
CN101312528A (zh) | 2008-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101390397B (zh) | 加速视频编码 | |
CN102792689B (zh) | 能够进行增量压缩以及对运动估计和元数据的修改以用于将图像呈现给远程显示器 | |
CN100369024C (zh) | 直接存储访问控制装置和图像处理系统以及传输方法 | |
CN104469370A (zh) | 一种视频转码的方法和装置 | |
CN102802024A (zh) | 在服务器端实现的转码方法以及转码系统 | |
CN104244025A (zh) | 集群转码系统及其方法 | |
CN1193621C (zh) | 调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器 | |
CN102868888B (zh) | 一种面向并行视频编码的动态slice控制方法 | |
CN101272498B (zh) | 一种视频编码方法及视频编码装置 | |
CN101312528B (zh) | 实时产生不同分辨率视讯串流的方法与系统 | |
CN101383968B (zh) | 视频解码器、视频解码方法和移动多媒体终端芯片 | |
Shen et al. | A spatial-temporal parallel approach for real-time MPEG video compression | |
US8045613B2 (en) | Module and architecture for generating real-time, multiple-resolution video streams and the architecture thereof | |
CN105100799A (zh) | 一种减少hevc编码器中帧内编码时延的方法 | |
JP3621598B2 (ja) | 並列ソフトウェア画像符号化方法、および並列ソフトウェア画像符号化プログラムを記録した記録媒体 | |
CN101715124A (zh) | 单路输入多路输出的视频编码系统及视频编码方法 | |
KR20090020460A (ko) | 비디오 디코딩 방법 및 장치 | |
CN1849826A (zh) | 用于可缩放信号处理的方法和设备 | |
Iwata et al. | A 256 mW 40 Mbps full-HD H. 264 high-profile codec featuring a dual-macroblock pipeline architecture in 65 nm CMOS | |
US5793658A (en) | Method and apparatus for viedo compression and decompression using high speed discrete cosine transform | |
Yung et al. | Spatial and temporal data parallelization of the H. 261 video coding algorithm | |
Polonelli et al. | An energy optimized jpeg encoder for parallel ultra-low-power processing-platforms | |
Harasaki et al. | A single-board video signal processor module employing newly developed LSI devices | |
CN104956677A (zh) | 组合的并行流水线视频编码器 | |
CN106060565B (zh) | 一种应用于视频编解码的Planar预测电路及Planar预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |