一种图像数据传送方法

文档序号:7619855阅读:175来源:国知局
专利名称:一种图像数据传送方法
技术领域
本发明涉及计算机图像处理技术,尤其涉及图像数据传送方法。
背景技术
通常,图像信息在计算机上的存储空间称为该图像的存储域,意即在逻辑上连续的一段存储空间,其中每一个存储单元分别存储其对应的某一像素点的特征数据,下文中将图像的存储域简称为域。常见的,将图像中某些连通的像素点的集合称为一个图像子块,子块有各种形状,最常见的是矩形。图像子块的存储域位于该图像域的一段逻辑上的连续空间中,下文中将图像子块的存储域简称为子域。能够包络某一个或者某几个图像子块的连通的像素点的集合称为这些图像子块的包络块,包络块有各种形状,最常见的是矩形,包络块的存储域位于该图像域的一段逻辑上的连续空间中,称为包络域。能够包络某些图像子块的最小包络块的存储域,称作这些图像子块的最小包络域。
在计算机图像数据传送操作中,经常将某一称为发送域的存储域中存储的全部或者部分图像数据更新并传送到另一个称为接收域的存储域中,如发送域为X,X上有M个待传送子域X1...Xm...XM,m为连续整数变量,1≤m≤M。X上存在一个X1...Xm...XM的最小包络域P,Xm∈P,P∈X。本文中提到的图像数据传送任务即指此种操作,而提到传送某个域,如子域、包络域或最小包络域,意为传送子域、包络域或最小包络域内存储的图像数据到接收域。本文中以图1所示图像数据传送任务W1为例,发送域X上共有5个待传送子域子域X1101、X2102、X3103、X4104及X5105,子域X1、X2、X3、X4及X5的最小包络域为P110。
当前,类似的图像数据传送任务大量出现在采用虚拟显存设备进行图像数据传送的图像数据传送系统中。由于当前很多电子设备,尤其是低端嵌入式电子设备,其显示输出不通过设备的主中央处理器(CPU)控制,而是由一块显示芯片专门负责,运行于主CPU之上的应用程序要完成图像显示,就先要将待显示的图像存储在一块专门开辟的内存中,即更新发送域数据,此后调用如位块传送等相关接口,执行图像数据传送任务,由其将发送域中存储的图像数据传送到显示芯片的存储区,随后显示设备在屏幕上进行显示。这块专门开辟的内存区域称为虚拟显存,也就是上述的发送域;显示芯片的存储区就是上述的接收域。
现有技术中完成上述图像数据传送任务共有三种方法。对于图像数据传送操作,以传送子域Xm为例,传送数据量为该子域中存储的像素点总数S(Xm),传送时间为T(Xm)。
现有技术一例如,需要在显示设备的屏幕上显示M块矩形区域,每块矩形区域对应发送域中的一个子域,则图像数据从发送域传送到接收域的方法为在虚拟显存也就是发送域中每更新一块子域,进行一次位块传送将整个虚拟显存,也就是整个发送域的数据传送到显示设备的接收域中,这样显示M块矩形区域总共需要进行位块传送M次,每次传送的数据量为整个发送域的大小。
具体过程参见图2,图2为现有技术一的图像数据传送方法流程图,该流程包括对于发送域X的M个子域X1...Xm...XM,依次进行步骤201和步骤202,步骤201更新1个子域Xm;步骤202传送整个发送域X到接收域。
以图1所示图像数据传送任务W1为例,其图像数据传送操作如下步骤1更新子域X1;步骤2传送发送域X到接收域;步骤3更新子域X2;步骤4传送发送域X到接收域;
步骤5更新子域X3;步骤6传送发送域X到接收域;步骤7更新子域X4;步骤8传送发送域X到接收域;步骤9更新子域X5;步骤10传送发送域X到接收域。
现有技术一完成子域X1...Xm...XM的传送,共执行M次传送操作,每次都传送整个发送域X,则总数据量Ssum1=S(X×M);总时间Tsum1=T(X)×M。
现有技术二例如,需要在显示设备的屏幕上显示M块矩形区域,每块矩形区域对应发送域中的一个子域,则图像数据从发送域传送到接收域的方法为在虚拟显存也就是发送域中每更新一块子域,进行一次位块传送将该子域的数据传送到显示设备的接收域中,这样显示M块矩形区域总共需要进行位块传送M次,每次传送的数据量为最近更新的矩形区域对应的虚拟显存中的数据量。
其具体过程参见图3,图3为现有技术二的图像数据传送方法流程图,该流程包括以下步骤对于发送域X的M个子域X1...Xm...XM,依次进行步骤301和步骤302,步骤301更新1个子域Xm;步骤302传送子域Xm到接收域。
以图1所示图像数据传送任务W1为例,其图像数据传送操作如下步骤1更新子域X1;步骤2传送子域X1到接收域;步骤3更新子域X2;步骤4传送子域X2到接收域;步骤5更新子域X3;步骤6传送子域X3到接收域;步骤7更新子域X4;
步骤8传送子域X4到接收域;步骤9更新子域X5;步骤10传送子域X5到接收域。
现有技术二完成子域X1...Xm...XM的传送,共执行M次传送操作,每次分别传送不同的子域,则总数据量Ssum2=Σm=1MS(Xm)=S(Σm=1MXm);]]>总时间Tsum2=Σm=1MT(Xm).]]>现有技术三例如,需要在显示设备的屏幕上显示M块矩形区域,每块矩形区域对应发送域的一个子域,则图像数据从发送域传送到接收域的方法为首先在虚拟显存,也就是发送域中更新好这M块矩形区域对应的子域,然后从发送域中取出这M块矩形区域的最小包络矩形区域的数据,并调用位块传送将最小包络域的数据传送到显示设备的接收域中。共需调用位块传送1次,传送的数据量为这M块矩形区域的最小包络矩形区域在发送域中对应的的数据量。
其具体过程参见图4,图4为现有技术三的图像数据传送方法流程图,现有技术三的图像数据传送方法包括以下步骤步骤401更新M个子域X1...Xm...XM;步骤402取子域X1...Xm...XM的最小包络域P;步骤403传送最小包络域P到接收域。
以图1所示图像数据传送任务W1为例,其图像数据传送操作如下步骤1更新子域X1、X2、X3、X4及X5;步骤2取子域X1、X2、X3、X4及X5的最小包络域P;步骤3将最小包络域P传送到接收域。
现有技术三完成子域X1...Xm...XM的传送,共执行1次传送操作,传送最小包络域P,则总数据量Ssum3=S(P);总时间Tsum3=T(P)。
以现有技术的三种不同方法完成子域X1...Xm...XM的传送,传送效率以传送总时间为衡量标准,总时间越少表明传送效率越高。与传送总时间相关的因素有总数据量,总数据量越少则总时间越少;传送次数,设备每一次调用传送操作都要带来额外的时间耗费,故传送次数越少则总时间越少。
以下从传输数据量和传输次数两方面对三种现有技术的传送效率进行分析总数据量方面由于P∈X,Xm∈P,故S(Σm=1MXm)≤S(P)≤S(X),]]>故Ssum2≤Ssum3≤Ssum1。明显的,现有技术一由于每次传送都将整个发送域传送出去,其每一次传送的数据量都大于现有技术二和现有技术三的总数据量,导致其总数据量非常大,效率极低。一般情况下,现有技术二在传送总数据量方面优于传送次数方面现有技术一和现有技术二要传送M块子域数据,需执行M次传送操作,其中M≥1,现有技术三要传送M块子域数据,只需执行一次传送操作。可见,一般情况下,现有技术三优于现有技术一和现有技术二。
通过上述分析可知除现有技术一处于明显劣势外,现有技术二的优势常在于总数据量较少,现有技术三的优势常在于传送次数较少,因此两者分别适用于不同类型的传送任务,实际应用中也确以这两种方法为主。但在当前的图像数据传送系统中,操作系统通常预先设定了采用其中某一种方法,从而在具体应用中由于缺乏弹性而导致整体效率低下。
如实际应用中常会出现以下两种情况图像数据传送系统预先设定采用现有技术二时,在如图5的图像数据传送任务W2中,发送域X500上共有5个子域X1501、X2502、X3503、X4504及X5505,X1、X2、X3、X4及X5的最小包络域为P510,明显的S(X1+X2+X3+X4+X5)与S(P)近似相等。若采用现有技术二,总数据量Ssum2=S(X1+X2+X3+X4+X5),传送次数为5次;若采用现有技术三,总数据量Ssum3=S(P),传送次数为1次,由S(X1+X2+X3+X4+X5)与S(P)近似相等可知Ssum2与Ssum3近似相等,此时现有技术二的传送效率明显低于现有技术三,但由于传送系统对传送方法的硬性设定而只能采用现有技术二,从而导致系统整体传送效率较低;图像数据传送系统预先设定采用现有技术三时,在如图6的图像数据传送任务W3中,发送域X600上共有5个子域X1601、X2602、X3603、X4604及X5605,X1、X2、X3、X4及X5的最小包络域为P610,明显的S(X1+X2+X3+X4+X5)虽远远小于S(X),但由于各子域在X上所处位置太过分散,导致S(P)与S(X)近似相等,则S(X1+X2+X3+X4+X5)也远远小于S(P)。若采用现有技术二,总数据量Ssum2=S(X1+X2+X3+X4+X5),传送次数为5次;若采用现有技术三,总数据量Ssum3=S(P),传送次数为1次,由S(X1+X2+X3+X4+X5)远小于S(P)知现有技术三传送了大量无用数据,此时现有技术三的传送效率明显低于现有技术二,但由于传送系统对传送方法的硬性设定而只能采用现有技术三,从而导致系统整体传送效率较低。

发明内容
有鉴于此,本发明的主要目在于提供一种图像数据传送方法,该方法能够提高图像数据传送系统整体传送效率。
为达到上述发明目的,本发明提供了一种图像数据传送方法,包括以下步骤A、更新发送域的M个子域,M为自然数;B、在发送域中取步骤A中更新的子域的最小包络域;C、分别计算分M次传送所述更新的子域数据所需总时间Tsum2和一次传送最小包络域数据所需的时间Tsum3;D、将Tsum2和Tsum3进行比较,如果Tsum2小于等于Tsum3则执行步骤E;如果Tsum2大于等于Tsum3,则执行步骤F;E、将所述更新的子域数据分M次传送给接收域;F、将所述最小包络域数据一次传送给接收域。
其中,该方法预先设置子域个数上限阈值和子域个数下限阈值;所述步骤C中,先判断子域个数M是否大于等于子域个数上限阈值或小于等于子域个数下限阈值;如果子域个数M在子域个数上限阈值和子域个数下限阈值范围内,则计算Tsum2和Tsum3;如果子域个数M小于等于子域个数下限阈值,则直接执行步骤E;如果子域个数M大于等于子域个数上限阈值,则直接执行步骤F。其中,步骤C所述计算Tsum2的方法为Tsum2=Σm=1M[k×S(Xm)+b],]]>其中S(Xm)是发送域的M个子域中的一个子域的像素点总数;步骤C所述计算Tsum3的方法为Tsum3=k×S(P)+b,其中S(P)是最小包络域的像素点总数。
其中,步骤E包括以下步骤E1、从所述更新的M个子域中选择1个子域传送到接收域;E2、判断所述更新的M个子域中是否还有子域未传送,如果还有子域未传送则执行步骤E1,如果没有子域未传送则结束本流程。
其中,所述设置子域个数上限阈值和子域个数下限阈值的方法为针对具体的图像数据传送系统,计算使Tsum2-Tsum3≤0恒成立的子域个数即为子域个数下限阈值,计算使Tsum3-Tsum2≤0恒成立的子域个数即为子域个数上限阈值。
其中,所述设置子域个数上限阈值和子域个数下限阈值的方法为针对具体的图像数据传送系统,计算使Tsum2-Tsum3-t≤0恒成立的子域个数即为子域个数下限阈值,t为系统允许的延迟时间,t≥0。
其中,所述设置子域个数上限阈值和子域个数下限阈值的方法为针对具体的图像数据传送系统,计算使Tsum3-Tsum2-t≤0恒成立的子域个数即为子域个数上限阈值,t为系统允许的延迟时间,t≥0。
其中,所述的系数k、b是针对具体的图像数据传送系统的,对多次传送测试中记录的像素点总数和传送时间的数据进行统计分析得到的,用于表征像素点总数和传送时间之间关系的系数。
本发明提出的图像数据传送方法,在执行图像数据传送任务之前,首先通过计算确定下一步的传送策略,如果依次传送子域的传送效率高就依次传送子域,如果传送最小包络域的传送效率高就传送最小包络域,解决了现有技术中由于图像数据传送系统对传送方法硬性设定而导致的系统整体传送效率较低的问题,能够根据具体传送任务动态决定依次传送子域或者传送最小包络域,达到了提高图像数据传送系统整体传送效率的目的。


图1为图像数据传送任务W1的示意图;图2为现有技术一的图像数据传送方法流程图;图3为现有技术二的图像数据传送方法流程图;图4为现有技术三的图像数据传送方法流程图;图5为图像数据传送任务W2的示意图;图6为图像数据传送任务W3的示意图;图7为本发明实施例一的图像数据传送方法流程图;图8为本发明实施例一的象素点总数与传送时间的函数关系图;图9为本发明实施例二的图像数据传送方法流程图。
具体实施例方式
本发明的核心思想是图像数据传送系统在执行图像数据传送任务之前,首先通过计算确定下一步的传送策略,如果依次传送子域的传送效率高就依次传送子域,如果传送最小包络域的传送效率高就传送最小包络域,从而实现动态决定依次传送子域或者传送最小包络域,达到提高图像数据传送系统整体传送效率的目的。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
实施例一图7为本发明实施例一的图像数据传送方法流程图,本发明实施例一的图像数据传送方法包括以下步骤步骤701更新M个子域X1...Xm...XM;步骤702取子域X1...Xm...XM的最小包络域P;步骤703计算依次传送子域所需要的总时间Tsum2和传送最小包络域所需要的总时间Tsum3,并进行比较,如果Tsum2-Tsum3≤0进行步骤704和705,否则进行步骤706;步骤704选择一个子域传送到到接收域;步骤705判断是否还有子域未传送,如果是则进行步骤704,否则结束本流程。
步骤706传送子域X1...Xm...XM的最小包络域P到接收域,结束本流程。本发明实施例一的步骤703中依次传送子域所需要的总时间Tsum2=Σm=1MT(Xm)]]>和传送最小包络域所需要的总时间Tsum3=T(P)是可以计算的,通常针对具体的图像数据传送系统,预先在实际应用中进行多次传送测试以记录待传送的像素点总数和传送时间的数据,然后对数据进行统计分析得到待传送的像素点总数和传送时间之间的关系。
表1是一个采用虚拟显存设备进行图像数据传送的图像数据传送系统的实测数据,表中记录了传送测试次数分别为10、20、100、300及600的情况下,像素点总数和传送时间的数据。
表1 对表1中数据进行统计分析可知,在一次传送操作中,传送时间t和像素点总数s之间近似存在如图8所示的关系t=k×s+b,测试次数越多该函数越接近直线。取传送600次时的数据,则系数k=0.0010718954248366013071895424836601/600,系数b=25.133333333333333333333333333333/600=1/24。
在绝大多数的图像数据传送系统中传送时间t和像素点总数s之间近似存在关系t=k×s+b,系数k和b是具体图像数据传送系统的特征数据,其准确值在实际应用中按照上述方法计算。将此公式代入Tsum2=Σm=1MT(Xm)]]>和Tsum3=T(P)中得到Tsum2=Σm=1M[k×S(Xm)+b]=k×[S(Σm=1MXm)]+M×b,]]>Tsum3=k×S(P)+b,则步骤703中判断Tsum2-Tsum3≤0是否成立实际为判断Tsum2-Tsum3=k×[S(Σm=1MXm)-S(P)]+(M-1)×6≤0]]>是否成立。
如在图5的图像数据传送任务W2中,Tsum2-Tsum3=k×[S(Σm=1MXm)-S(P)]+(M-1)×b=k×[S(X1+X2+X3+X4+X5)-S(P)]+(5-1)×b,]]>而明显的S(X1+X2+X3+X4+X5)-S(P)=0,4b>0,经计算Tsum2-Tsum3=k×[S(X1+X2+X3+X4+X5)-S(P)]+4b≤0不成立,故进行步骤706传送最小包络域P到接收域。
又如在图6的图像数据传送任务W3中,Tsum2-Tsum3=k×[S(Σm=1MXm)-S(P)]+(M-1)×b=k×[S(X1+X2+X3+X4+X5)-S(P)]+(5-1)×b,]]>明显的k×[S(X1+X2+X3+X4+X5)-S(P)]远小于零,经计算Tsum2-Tsum3=k×[S(X1+X2+X3+X4+X5)-S(P)]+4b≤0成立,故进行步骤704及705依次传送子域X1、X2、X3、X4及X5到接收域。
实施例二图9为本发明实施例二的图像数据传送方法流程图,本发明实施例二的图像数据传送方法包括以下步骤步骤901更新M个子域X1...Xm...XM;步骤902在发送域X中取子域X1...Xm...XM的最小包络域P;步骤903将子域个数M与下限阈值a和上限阈值b进行比较,如果子域个数小于等于下限阈值a进行步骤905和906,如果子域个数大于等于上限阈值b进行步骤907,其它情况下进行步骤904;步骤904计算依次传送子域需要的总时间Tsum2和传送最小包络域需要的总时间Tsum3,并进行比较,如果Tsum2-Tsum3≤0进行步骤905和906,否则进行步骤907;步骤905选择一个子域传送到到接收域;步骤906判断是否还有子域未传送,如果是则进行步骤905,否则结束本流程;步骤907传送子域X1...Xm...XM的最小包络域P到接收域,结束本流程。
本发明实施例二的步骤903中下限阈值a和上限阈值b确立的方法是以表1中的采用虚拟显存设备进行图像数据传送的图像数据传送系统为例,计算使Tsum2-Tsum3=k×[S(Σm=1MXm)-S(P)]+(M-1)×b≤0]]>成立的条件,以及使Tsum3-Tsum2=-[Tsum2-Tsum3]=-k×[S(Σm=1MXm)-S(P)]-(M-1)×b≤0]]>成立的条件,其中,系数k=0.0010718954248366013071895424836601/600,系数b=1/24。
考虑S(Σm=1MXm)-S(P)=0]]>和 近似等于0,S(P)=S(X)两种情况在S(Σm=1MXm)-S(P)=0]]>的情况下,Tsum2-Tsum3=k×[S(Σm=1MXm)-S(P)]+(M-1)×b=(M-1)×b=(M-1)/24]]>当M取值为0、1时,Tsum2-Tsum3=(M-1)/24≤0,依次传送各子域的传送效率高;当M取值为2、3、4、5时,Tsum2-Tsum3分别等于1/24秒、1/12秒、1/8秒、1/6秒,传送最小包络域的方案效率高。在这种情况下,可以根据系统实际工作要求确定一个子域个数的下限阈值,如系统中不能出现延迟,即判断标准为Tsum2-Tsum3≤0成立,则设定下限阈值为1,只要待传送子域的个数小于等于1,就可以不用计算传送时间直接决定进行步骤905和906,依次传送各子域到接收域;又如在系统中延迟1/24秒被认为是可以接受的,即判断标准为Tsum2-Tsum3-1/24≤0成立,则设定下限阈值为2,只要待传送子域的个数小于等于2,就可以不用计算传送时间直接决定进行步骤905和906,依次传送各子域到接收域,此时延迟时间1/24。
在S(Σm=1MXm)=0,S(P)=S(X)]]>的情况下,如S(X)=640×480时,Tsum3-Tsum2=-k×[S(Σm=1MXm)-S(P)]-(M-1)×b=k×S(P)-(M-1)×b=k×S(X)-(M-1)×b=(14-M)/24]]>当M取值大于等于14时,Tsum3-Tsum2=(14-M)/24≤0成立,传送最小包络域的方案效率高;当M取值为13、12、11、10时,Tsum3-Tsum2的值分别为1/24秒、1/12秒、1/8秒、1/6秒,依次传送各子域的方案效率高。在这种情况下,可以根据系统实际工作要求确定一个子域个数的上限阈值,如系统中不能出现延迟,即判断标准为Tsum3-Tsum2≤0成立,则设定上限阈值为14,只要待传送子域的个数大于等于14,就可以不用计算传送时间直接决定进行步骤907,传送最小包络域到接收域;又如在系统中延迟1/24秒被认为是可以接受的,即判断标准为Tsum3-Tsum2-1/24≤0成立,则设定上限阈值为13,只要待传送子域的个数大于等于13,就可以不用计算传送时间直接决定进行步骤907,传送最小包络域到接收域,此时延迟时间为1/24。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种图像数据传送方法,其特征在于,包括以下步骤A、更新发送域的M个子域,M为自然数;B、在发送域中取步骤A中更新的子域的最小包络域;C、分别计算分M次传送所述更新的子域数据所需总时间Tsum2和一次传送最小包络域数据所需的时间Tsum3;D、将Tsum2和Tsum3进行比较,如果Tsum2小于等于Tsum3则执行步骤E;如果Tsum2大于等于Tsum3,则执行步骤F;E、将所述更新的子域数据分M次传送给接收域;F、将所述最小包络域数据一次传送给接收域。
2.如权利要求1所述的图像数据传送方法,其特征在于该方法预先设置子域个数上限阈值和子域个数下限阈值;所述步骤C中,先判断子域个数M是否大于等于子域个数上限阈值或小于等于子域个数下限阈值;如果子域个数M在子域个数上限阈值和子域个数下限阈值范围内,则计算Tsum2和Tsum3;如果子域个数M小于等于子域个数下限阈值,则直接执行步骤E;如果子域个数M大于等于子域个数上限阈值,则直接执行步骤F。
3.如权利要求1或2所述的图像数据传送方法,其特征在于步骤C所述计算Tsum2的方法为Tsum2=Σm=1M[k×S(Xm)+b],]]>其中S(Xm)是发送域的M个子域中的一个子域的像素点总数;步骤C所述计算Tsum3的方法为Tsum3=k×S(P)+b,其中S(P)是最小包络域的像素点总数。
4.如权利要求1或2所述的图像数据传送方法,其特征在于步骤E包括以下步骤E1、从所述更新的M个子域中选择1个子域传送到接收域;E2、判断所述更新的M个子域中是否还有子域未传送,如果还有子域未传送则执行步骤E1,如果没有子域未传送则结束本流程。
5.如权利要求2所述的图像数据传送方法,其特征在于所述设置子域个数上限阈值和子域个数下限阈值的方法为针对具体的图像数据传送系统,计算使Tsum2-Tsum3≤0恒成立的子域个数即为子域个数下限阈值,计算使Tsum3-Tsum2≤0恒成立的子域个数即为子域个数上限阈值。
6.如权利要求2所述的图像数据传送方法,其特征在于所述设置子域个数上限阈值和子域个数下限阈值的方法为针对具体的图像数据传送系统,计算使Tsum2-Tsum3-t≤0恒成立的子域个数即为子域个数下限阈值,t为系统允许的延迟时间,t≥0。
7.如权利要求2所述的图像数据传送方法,其特征在于所述设置子域个数上限阈值和子域个数下限阈值的方法为针对具体的图像数据传送系统,计算使Tsum3-Tsum2-t≤0恒成立的子域个数即为子域个数上限阈值,t为系统允许的延迟时间,t≥0。
8.如权利要求3所述的图像数据传送方法,其特征在于所述的系数k、b是针对具体的图像数据传送系统的,对多次传送测试中记录的像素点总数和传送时间的数据进行统计分析得到的,用于表征像素点总数和传送时间之间关系的系数。
全文摘要
本发明公开了一种图像数据传送方法,应用在图像数据传送系统中,执行图像数据传送任务之前,图像数据传送系统首先通过计算确定下一步的传送策略,如果依次传送子域的传送效率高就依次传送子域,如果传送最小包络域的传送效率高就传送最小包络域,从而实现动态决定依次传送子域或者传送最小包络域,达到提高图像数据传送系统整体传送效率的目的。
文档编号H04N5/91GK1889670SQ20051007997
公开日2007年1月3日 申请日期2005年6月27日 优先权日2005年6月27日
发明者李发君, 丁送星 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1