專利名稱:一種用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種顯示數(shù)據(jù)填充方法,尤其是一種用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,屬于數(shù)字視頻技術(shù)領(lǐng)域。
背景技術(shù):
由于數(shù)字電視接收機(俗稱機頂盒)的內(nèi)存多數(shù)是4MBytes或2Mbytes容量非常有限。針對于數(shù)字電視接收機內(nèi)存小、數(shù)據(jù)處理能力有限的特點,如何最有效的利用有限的內(nèi)存盡可能的處理更多的數(shù)據(jù)成為了一個焦點。
數(shù)字電視接收機都要通過電視屏幕顯示信息,顯示的主要內(nèi)容有電視臺的名稱、電視節(jié)目的名稱、節(jié)目的說明等;如果通過數(shù)字電視進行增值業(yè)務,涉及到數(shù)據(jù)信息的顯示情況更多,如數(shù)據(jù)廣播業(yè)務就要求顯示數(shù)千條信息,并提供對這些信息的瀏覽?;趯崟r操作系統(tǒng)的數(shù)字電視接收機在數(shù)據(jù)顯示的過程中需要進行大量的數(shù)據(jù)填充操作,所有信息的顯示都是數(shù)字電視接收機將接收到的相關(guān)數(shù)據(jù)填充到標準顯示格式控件中完成的。
所謂控件就是一種標準的顯示組件,控件的形式可以有列表、文本框、編輯框等不同的類型,以接收到的數(shù)據(jù)作為輸入,將數(shù)據(jù)填充到選定的控件中,控件整體作為輸出,實現(xiàn)信息的電視輸出。不管是選擇何種控件進行數(shù)據(jù)填充,在資源有限的數(shù)字電視接收機上首先需要解決的問題都是如何解決數(shù)據(jù)內(nèi)存的空間分配的問題。
現(xiàn)有技術(shù)采用的是如圖1所示的一次灌裝的填充方式,即一次將全部數(shù)據(jù)填充到控件中。如果數(shù)據(jù)源接收的數(shù)據(jù)為500K,接收的數(shù)據(jù)占據(jù)500K的內(nèi)存空間,再在內(nèi)存中再開辟一個空間存放輸出的顯示數(shù)據(jù),先寫入100K的顯示頭結(jié)構(gòu),然后進行數(shù)據(jù)填充,將對應標號的數(shù)據(jù),填充到顯示數(shù)據(jù)中對應標號的位置;完成填充后,再釋放數(shù)據(jù)源所占的內(nèi)存空間。在整個過程中,內(nèi)存使用量最高時達到了1100K。
數(shù)據(jù)填充采用一次灌裝的方式會占用較多的內(nèi)存,對數(shù)據(jù)接收的量會產(chǎn)生直接的影響。在當數(shù)據(jù)接收的數(shù)量較大時,顯示所占用數(shù)據(jù)量會近似相等于接收的數(shù)據(jù)量或大于接收的數(shù)據(jù)量,會導致機頂盒內(nèi)存使用溢出,無法處理。也就是說,盡管數(shù)據(jù)已經(jīng)完全被接收下來,機頂盒也沒有能力一次處理所有數(shù)據(jù)的顯示。
如果能有一種高效數(shù)據(jù)填充的方式,將數(shù)據(jù)的顯示內(nèi)存大大降低而不影響顯示效率,對于數(shù)字電視接收機來說,在同樣內(nèi)存可用的情況下,可以接收更多的數(shù)據(jù),而不需要增加物理內(nèi)存,將使成本大大降低。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,使得在顯示過程中占用的內(nèi)存大大降低,同樣內(nèi)存可用的情況下,可以接收更多的數(shù)據(jù)而對于顯示效率來說不會有很大的降低。
本發(fā)明所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,包括如下步驟步驟一、對控件進行初始化,即寫入顯示頭,并設(shè)定顯示控件的數(shù)據(jù)起始指針位置,數(shù)據(jù)結(jié)束指針位置,需要顯示的條目數(shù)和每個條目的長度;步驟二、從數(shù)據(jù)源讀取一部分數(shù)據(jù),并保存讀取的數(shù)據(jù)在數(shù)據(jù)源中的位置,將讀取數(shù)據(jù)填充到控件中;步驟三、如果需要顯示的數(shù)據(jù)超出控件中數(shù)據(jù)的范圍,則刷新顯示,即清空現(xiàn)有控件中的所有數(shù)據(jù),根據(jù)步驟二中保存的數(shù)據(jù)源位置重新從數(shù)據(jù)源中讀取需要填充的數(shù)據(jù),填充到控件中。
采用本發(fā)明的方式進行數(shù)據(jù)填充,提高了內(nèi)存的利用率,保證了內(nèi)存使用的安全性,當出現(xiàn)大數(shù)據(jù)量數(shù)據(jù)的接收和顯示的時候,在保證正常接收的同時,保證了數(shù)據(jù)的正常顯示。避免出現(xiàn)數(shù)據(jù)接收正常,而不能完整顯示的問題。同時,高效的數(shù)據(jù)顯示方式,在數(shù)據(jù)量增大的時候,只是接收的數(shù)據(jù)量增加,內(nèi)存的使用量單倍增加。而一次灌裝顯示方式,由于同時在數(shù)據(jù)源和顯示數(shù)據(jù)區(qū)都需要分配內(nèi)存,內(nèi)存的使用量會雙倍增加。簡單針對數(shù)據(jù)的接收和顯示來說,當數(shù)據(jù)量增加到了100k以上的時候,一次灌裝顯示方式的內(nèi)存使用量為200k以上,而高效數(shù)據(jù)顯示方式的內(nèi)存使用量不會超過102k.大約節(jié)約50%的內(nèi)存使用量。
圖1是現(xiàn)有技術(shù)的數(shù)據(jù)填充方法示意圖;圖2是本發(fā)明方法的數(shù)據(jù)填充方法示意圖;圖3是本發(fā)明刷新顯示的流程圖;圖4是本發(fā)明刷新顯示時計算應讀取的數(shù)據(jù)源數(shù)據(jù)起始位置和結(jié)束位置的示意圖。
具體實施例方式
數(shù)字電視接收機從數(shù)字電視網(wǎng)絡(luò)中接收要顯示的數(shù)據(jù),將這些數(shù)據(jù)放入到內(nèi)存空間中(可以高速的接收、更新和提供給用戶應用),形成一個數(shù)據(jù)庫,數(shù)據(jù)庫保存每一數(shù)據(jù)的長度和內(nèi)容。這個數(shù)據(jù)庫就是數(shù)字電視進行數(shù)據(jù)填充的數(shù)據(jù)源。本發(fā)明需要顯示的數(shù)據(jù)不再由顯示模塊直接控制,而是直接進行數(shù)據(jù)源的訪問,獲得要顯示的數(shù)據(jù)。控件的作用是使相類似的顯示行為成為一組標準流程,減少重復,增強風格的一致性,在數(shù)字電視接收機中廣泛采用。
本發(fā)明所述的顯示數(shù)據(jù)填充方法,包括如下步驟步驟一、對控件進行初始化,即寫入顯示頭,并設(shè)定顯示控件的數(shù)據(jù)起始指針位置,數(shù)據(jù)結(jié)束指針位置,需要顯示的條目數(shù)和每個條目的長度;步驟二、從數(shù)據(jù)源讀取一部分數(shù)據(jù),并保存讀取的數(shù)據(jù)在數(shù)據(jù)源中的位置,將讀取數(shù)據(jù)填充到控件中;步驟三、如果需要顯示的數(shù)據(jù)超出控件中數(shù)據(jù)的范圍,則刷新顯示,即清空現(xiàn)有控件中的所有數(shù)據(jù),根據(jù)步驟二中保存的數(shù)據(jù)源位置重新從數(shù)據(jù)源中讀取需要填充的數(shù)據(jù),填充到控件中。
采用本發(fā)明的方法進行數(shù)據(jù)填充,由于一次填充到控件中的數(shù)據(jù)量有限,所以當用戶的要求顯示的數(shù)據(jù)超出控件中的數(shù)據(jù)范圍時,就需要清空控件中現(xiàn)有的數(shù)據(jù),從數(shù)據(jù)源讀取所需數(shù)據(jù)重新進行填充顯示。雖然本發(fā)明方法在進行刷新顯示時,所需的時間要比一次填充的時間長,但是由于顯示的數(shù)據(jù)量很小,整個從數(shù)據(jù)源讀取再填充控件,需要的時間也很短,不會造成用戶等待時間過長的問題,并且采用本發(fā)明的方法可以大量的節(jié)省內(nèi)存資源,不會對其他進程(如數(shù)據(jù)接收)造成影響。
當通過電視屏幕進行數(shù)據(jù)顯示時,首先要根據(jù)顯示的內(nèi)容選擇合適的控件,并完成控件的初始化,即在內(nèi)存中寫入顯示頭,給出顯示控件的數(shù)據(jù)起始指針位置Ps,數(shù)據(jù)結(jié)束指針位置Pe,需要顯示的條目數(shù)M和每個條目的長度L。所述的顯示頭用來記錄空間狀態(tài)的一組狀態(tài)值,如表格行數(shù)、當前行、表格列數(shù)、當前列、表格寬度、顯示寬度、選中顏色、表格顏色、數(shù)據(jù)選入指針位置、數(shù)據(jù)結(jié)束指針位置。因此,需要一次填充的數(shù)據(jù)越少,所需的顯示頭的內(nèi)容也越少,占用的存儲空間越少。比如,圖2中進行顯示時,同樣是數(shù)據(jù)源有500K的數(shù)據(jù),但是由于每次顯示的數(shù)據(jù)量很小,顯示頭和顯示數(shù)據(jù)共同也只有2K,這樣數(shù)據(jù)總占用的內(nèi)存空間是502K,即使不考慮顯示過程中的內(nèi)存空間占用(1100K),本發(fā)明的多次填充的方法也要比圖1所示的一次填充方法減少了98K的內(nèi)存使用量。
為了最大限度的節(jié)約內(nèi)存,控件顯示的條目數(shù)M可以正好等于每一屏所要顯示的數(shù)據(jù)的條數(shù),也就是說,用戶在選擇查看的數(shù)據(jù)時,只能選擇以翻頁的方式來查看。用戶每輸入一個翻頁的指令,數(shù)字電視接收機對應完成一次數(shù)據(jù)的填充顯示。在一次性填充的數(shù)字電視接收機中為了方便進行用戶控制,也大多數(shù)也是采用翻頁的數(shù)據(jù)查看方式,并且翻頁的顯示時間很短,所以這種顯示方法也不會造成用戶的不便。
數(shù)據(jù)起始指針位置Ps用來存儲控件中顯示數(shù)據(jù)的起始位置,數(shù)據(jù)結(jié)束指針位置Pe用來存儲控件中顯示數(shù)據(jù)的結(jié)束位置,如果控件中需要填充的數(shù)據(jù)個數(shù)為M個,數(shù)據(jù)長度為Le、Le+1....Le+M-2、Le+M-1,則Ps=Le;Pe=Le+Le+1+....+Le+M-2+Le+M-1。Ps和Pe確定了控件中顯示數(shù)據(jù)的范圍,通過判斷用戶要求的數(shù)據(jù)是否超出Ps和Pe就可以判定是否需要進行刷新顯示。
控件初始化完成后,就要進行數(shù)據(jù)的填充。圖2給出了本發(fā)明的數(shù)據(jù)填充過程的示意圖,填充過程可以包括如下步驟步驟2.1、獲取當前需要填充的控件的參數(shù),包括需要填充的數(shù)據(jù)的條數(shù)和每條數(shù)據(jù)的長度;步驟2.2、根據(jù)步驟2.1獲取的參數(shù),從數(shù)據(jù)源讀取需要填充的數(shù)據(jù),并保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置;步驟2.3、將步驟2.2獲取的數(shù)據(jù)填充到控件中的對應位置,完成填充過程。
為了顯示方便,在數(shù)據(jù)源中控件需要顯示的數(shù)據(jù)是按顯示的順序存放的,所以一次從數(shù)據(jù)源中讀取的數(shù)據(jù)是連續(xù)的存儲空間中的數(shù)據(jù),因此,步驟2.2中可以保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置,這也是可以快速進行讀取操作的原因。
一般來說,初次填充哪些數(shù)據(jù)是由系統(tǒng)預先設(shè)定的,大多數(shù)情況下是數(shù)據(jù)源的起始部分數(shù)據(jù);如果系統(tǒng)沒有設(shè)定,將隨機的將合適的數(shù)據(jù)先填充入控件,再由用戶自己通過翻頁選擇需要的信息;另一種是具有記憶功能的方式,即將用戶最后一次顯示的數(shù)據(jù)在數(shù)據(jù)源中的位置保存起來,當用戶再次查看該控件的數(shù)據(jù)時,自動讀取保存的位置,將對應位置的數(shù)據(jù)填充入控件中。
讀取的數(shù)據(jù)有時可能會出現(xiàn)讀取的數(shù)據(jù)的長度大于控件中要求的數(shù)據(jù)的情況,這時需要將讀出的數(shù)據(jù)截斷,再進行填充,并且根據(jù)截斷的結(jié)果修改保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置。
對于填充到控件中的數(shù)據(jù),只是記錄使用數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置,而不改變數(shù)據(jù)源的數(shù)據(jù)。
填充過程就是完成對控件數(shù)據(jù)結(jié)構(gòu)中元素的賦值過程,與一次填充時的填充方法相同??丶?shù)據(jù)填充可以采用數(shù)據(jù)源指針和控件填充的數(shù)據(jù)指針相對應的方式進行,即可以通過直接將顯示數(shù)據(jù)的指針對準數(shù)據(jù)源指針,根據(jù)表格控件的顯示條數(shù),選擇需要顯示的數(shù)據(jù)指針段,與顯示指針一一對應,完成數(shù)據(jù)填充。
對于顯示數(shù)據(jù)的操作越出空間填充數(shù)據(jù)的范圍,即用戶要求的數(shù)據(jù)超出控件數(shù)據(jù)的邊界(Ps和Pe)時,需要進行數(shù)據(jù)的刷新顯示。上述步驟2.2中保存了讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置,主要就是為了在步驟三(也稱刷新顯示過程)中,可以重新獲取到讀出的數(shù)據(jù)的位置,根據(jù)這個位置就可以計算出,需要在本次填充過程讀出的數(shù)據(jù),因此可以向上刷新顯示數(shù)據(jù)或向下刷新顯示數(shù)據(jù),遍歷整個數(shù)據(jù)源。數(shù)據(jù)刷新的時候,必須保證刷新之前顯示數(shù)據(jù)區(qū)被完全清空,刷新數(shù)據(jù)結(jié)束后,刷新數(shù)據(jù)的地址被保存下來。
圖3給出了刷新過程的流程圖,本發(fā)明所述的刷新顯示過程包括如下步驟步驟3.1、獲取步驟二中保存的讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置;
步驟3.2、計算應讀取的數(shù)據(jù)在數(shù)據(jù)源中的起始位置和結(jié)束位置;步驟3.3、清空控件中的數(shù)據(jù),讀出步驟3.2中計算的起始位置和結(jié)束位置之間的數(shù)據(jù),填充到控件中,保存刷新后數(shù)據(jù)源新的起始位置和結(jié)束位置。
圖3中,采用了數(shù)據(jù)指針保存起始位置和結(jié)束位置,即步驟二中保存的讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置可以采用雙指針的方式保存,一個指針保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置,另一個保存結(jié)束位置。
計算應讀取的數(shù)據(jù)在數(shù)據(jù)源中的起始位置和結(jié)束位置的方法越簡單越好,可以采用直接作差的方法,圖4所示,向上刷新時,起始位置2=起始位置1-數(shù)據(jù)填充對應數(shù)據(jù)源寬度x;結(jié)束位置2=結(jié)束位置1-數(shù)據(jù)填充對應數(shù)據(jù)源寬度x;起始位置1和結(jié)束位置1為保存的上一次填充控件的數(shù)據(jù)源數(shù)據(jù)的起始位置和結(jié)束位置;起始位置2和結(jié)束位置2為向上刷新時,應當從數(shù)據(jù)源讀取的數(shù)據(jù)的起始位置和結(jié)束位置,x為一次填充對應數(shù)據(jù)源寬度。
同樣道理,向下刷新時,起始位置3=起始位置1+數(shù)據(jù)填充對應數(shù)據(jù)源寬度x;結(jié)束位置3=結(jié)束位置1+數(shù)據(jù)填充對應數(shù)據(jù)源寬度x;起始位置3和結(jié)束位置3為向下刷新時,應當從數(shù)據(jù)源讀取的數(shù)據(jù)的起始位置和結(jié)束位置。
根據(jù)計算結(jié)果,讀取數(shù)據(jù),并保證刷新之后的數(shù)據(jù)源起始地址和結(jié)束地址被保存下來。讀取的數(shù)據(jù)有時可能會出現(xiàn)讀取的數(shù)據(jù)的長度大于控件中要求的數(shù)據(jù)的情況,這時需要將讀出的數(shù)據(jù)截斷,再進行填充,并且根據(jù)截斷的結(jié)果修改保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置。
當填充數(shù)據(jù)地址的遍歷數(shù)據(jù)源時,可能發(fā)生數(shù)據(jù)指針的上溢或者下溢,即根據(jù)步驟3.2計算的結(jié)果,超出了數(shù)據(jù)源的范圍,向上或向下超出了數(shù)據(jù)源的邊界。這時需要對數(shù)據(jù)地址進行邊界處理保護,每次填充的時候進行邊界檢查。
所述的邊界檢查,就是將每次步驟3.2計算出的起始地址和結(jié)束地址與數(shù)據(jù)源的邊界地址進行比較;或者在數(shù)據(jù)初次填充的時候,計算出數(shù)據(jù)源中數(shù)據(jù)的總量,設(shè)定一個變量初始化為0,向上刷新一次加1和向下刷新一次減1時,根據(jù)初次填充的數(shù)據(jù),計算出可以向上和向下刷新的次數(shù),作為該變量的取值范圍,每次刷新數(shù)據(jù)時,判斷該變量是否超出取值范圍,如果超出則判定是要求的數(shù)據(jù)越界。邊界檢查時,如果發(fā)現(xiàn)已經(jīng)超出了數(shù)據(jù)源的范圍,則退出刷新程序,不進行數(shù)據(jù)填充,返回錯誤信息,提示用戶。
最后所應說明的是以上實施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應當理解依然可以對本發(fā)明進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于包括如下步驟步驟一、對控件進行初始化,即寫入顯示頭,并設(shè)定顯示控件的數(shù)據(jù)起始指針位置,數(shù)據(jù)結(jié)束指針位置,需要顯示的條目數(shù)和每個條目的長度;步驟二、從數(shù)據(jù)源讀取一部分數(shù)據(jù),并保存讀取的數(shù)據(jù)在數(shù)據(jù)源中的位置,將讀取數(shù)據(jù)填充到控件中;步驟三、如果需要顯示的數(shù)據(jù)超出控件中數(shù)據(jù)的范圍,則刷新顯示,即清空現(xiàn)有控件中的所有數(shù)據(jù),根據(jù)步驟二中保存的數(shù)據(jù)源位置重新從數(shù)據(jù)源中讀取需要填充的數(shù)據(jù),填充到控件中。
2.根據(jù)權(quán)利要求1所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟一中控件顯示的條目數(shù)可以等于整個屏幕一次所能顯示數(shù)據(jù)的條目數(shù)。
3.根據(jù)權(quán)利要求1或2所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟一中,數(shù)據(jù)起始指針位置Ps用來存儲控件中顯示數(shù)據(jù)的起始位置,數(shù)據(jù)結(jié)束指針位置Pe用來存儲控件中顯示數(shù)據(jù)的結(jié)束位置,如果控件中需要填充的數(shù)據(jù)個數(shù)為M個,數(shù)據(jù)長度為Le、Le+1…Le+M-2、Le+M-1,則Ps=Le;Pe=Le+Le+1+…+Le+M-2+Le+M-1。
4.根據(jù)權(quán)利要求1所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟二,包括步驟2.1、獲取當前需要填充的控件的參數(shù),包括需要填充的數(shù)據(jù)的條數(shù)和每條數(shù)據(jù)的長度;步驟2.2、根據(jù)步驟2.1獲取的參數(shù),從數(shù)據(jù)源讀取需要填充的數(shù)據(jù),并保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置;步驟2.3、將步驟2.2獲取的數(shù)據(jù)填充到控件中的對應位置,完成填充過程。
5.根據(jù)權(quán)利要求4所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟2.2中,可以用兩個數(shù)據(jù)指針來保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置,即用一個指針保存讀出的數(shù)據(jù)在數(shù)據(jù)源的起始位置,另一個保存結(jié)束位置。
6.根據(jù)權(quán)利要求4所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟2.2之后,步驟2.3之前,還包括如果讀取的數(shù)據(jù)的長度大于控件中要求的數(shù)據(jù)長度,則將讀出的數(shù)據(jù)截斷,并且記錄新讀出數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置。
7.根據(jù)權(quán)利要求4所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟2.3中,可以采用數(shù)據(jù)源指針和控件填充的數(shù)據(jù)指針相對應的方式進行控件數(shù)據(jù)填充。
8.根據(jù)權(quán)利要求1所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟三中,刷新顯示包括步驟3.1、獲取步驟二中保存的讀出數(shù)據(jù)在數(shù)據(jù)源的起始位置和結(jié)束位置;步驟3.2、計算應讀取的數(shù)據(jù)在數(shù)據(jù)源中的起始位置和結(jié)束位置;步驟3.3、清空控件中的數(shù)據(jù),讀出步驟3.2中計算的起始位置和結(jié)束位置之間的數(shù)據(jù),填充到控件中,保存刷新后數(shù)據(jù)源新的起始位置和結(jié)束位置。
9.根據(jù)權(quán)利要求8所述的用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,其特征在于所述的步驟3.3之前,還包括判斷步驟3.2計算的結(jié)果是否超出整個數(shù)據(jù)源的范圍,如果超出,則結(jié)束步驟三,返回提示信息;否則,執(zhí)行步驟3.3。
全文摘要
本發(fā)明公開了一種用于數(shù)字電視接收機的顯示數(shù)據(jù)填充方法,包括對控件進行初始化,即寫入顯示頭,并給出顯示控件的數(shù)據(jù)起始指針位置,數(shù)據(jù)結(jié)束指針位置,需要顯示的條目數(shù)和每個條目的長度;從數(shù)據(jù)源讀取一部分數(shù)據(jù),將數(shù)據(jù)填充到控件中,并保存數(shù)據(jù)在數(shù)據(jù)源中的位置;如果需要顯示的數(shù)據(jù)超出控件中數(shù)據(jù)的范圍,則刷新顯示,即清空現(xiàn)有控件中的所有數(shù)據(jù),根據(jù)步驟二中保存的數(shù)據(jù)源位置重新從數(shù)據(jù)源中讀取需要填充的數(shù)據(jù),填充到控件中。本發(fā)明提高了內(nèi)存的利用率,保證了內(nèi)存使用的安全性,當出現(xiàn)大數(shù)據(jù)量數(shù)據(jù)的接收和顯示的時候,在保證正常接收的同時,保證了數(shù)據(jù)的正常顯示。
文檔編號H04N7/015GK1615012SQ20031010351
公開日2005年5月11日 申請日期2003年11月5日 優(yōu)先權(quán)日2003年11月5日
發(fā)明者肖紅權(quán) 申請人:北京中視聯(lián)數(shù)字系統(tǒng)有限公司