TWI401614B - 資料轉換方法及資料轉換裝置 - Google Patents
資料轉換方法及資料轉換裝置 Download PDFInfo
- Publication number
- TWI401614B TWI401614B TW099103575A TW99103575A TWI401614B TW I401614 B TWI401614 B TW I401614B TW 099103575 A TW099103575 A TW 099103575A TW 99103575 A TW99103575 A TW 99103575A TW I401614 B TWI401614 B TW I401614B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- index
- dimensional
- buffer memory
- image
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/32—Image data format
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Generation (AREA)
Description
本發明係關於一種資料轉換方法以及裝置,特別是一種三維影像資料轉換方法以及裝置。
三維的影像擷取器(capture)可用以擷取一空間中的三維影像。此擷取後的三維影像,可經由數位化之後被儲存或是傳輸。
三維的影像擷取器以及相關的技術可利用於醫療、保全、救災的公益用途,或是用於遠距視訊傳輸或是視聽娛樂等的民生用途。此技術具有非常廣闊的使用範圍。
一般而言,三維的影像擷取器所擷取的三維影像因為具有較高的維度,所以此影像也具有較大的資料量。造成在傳輸或是儲存上的不便利。因此,需要使用三維影像壓縮裝置將此三維影像壓縮以減少資料量。然而,三維影像壓縮裝置每次能壓縮的資料單位也相當的有限。是以,需要一轉換裝置將一個大立方塊(cubic)的三維影像資料轉換成多個小立方塊的三維影像資料。
三維影像資訊在儲存或傳送時會先被轉換成一個資料串流(stream),也就是將三維影像資訊上的每一筆資料都標記位址(address)。先沿著第一個維度依序將資料標記位址,也就是沿著一直線的方向進行標記。等到這條直線上的資訊都標記完畢後,接著標記同一平面上的下一條直線的資訊。直到一平面上的所有的資訊都標記完畢後,再接續標記下一個平面上的資訊。依照此方式,依序將所有資料標記完畢。藉由此標記位址,此三維影像資訊可轉換成一依照標記位址排序的資料串流。此三維影像資訊也可以根據此標記位址被儲存或是被傳輸。
在進行壓縮前,會將一個大的三維影像資料轉換成多個小的三維影像資料。而這些小的三維影像資料會橫跨多條直線以及多個平面。也就是說,這些小的三維影像資料對應到的位址,會呈現相當離散的分布。
習知技術所使用的資料轉換方法,會使用一記憶容量極大的緩衝記憶體。將此三維影像資料全部儲存至此緩衝記憶體後,再將每個小立方塊的三維影像對應的資料取出。一般而言,記憶體的容量與其面積成正比。因此,要完成習知技術的資料轉換方法,需要一個面積極大的記憶體。此外,在固定的存取速度下,習知技術的資料轉換方法也會耗費較長的延遲時間(latency),進而影響整體系統的效能。
鑑於以上的問題,本發明係提出一種資料轉換方法以及裝置。此資料轉換方法可減少記憶體的使用量,同時降低轉換時耗費的延遲時間。
此資料轉換方法以及裝置可用於壓縮影像資料或者解壓縮影像資料。壓縮影像資料以及解壓縮影像資料係為對應之步驟。當用於壓縮影像資料時,此資料轉換的方法以及裝置,用以將一大立方塊的三維影像資料轉換成多數個小立方塊的三維影像資料。當用於壓縮影像資料時,此資料轉換的方法以及裝置,則是用以將多數個小立方塊的三維影像資料轉換成一大立方塊的三維影像資料。
本發明提出的其中一種資料轉換方法,包括以下步驟:(A)將一三維影像資料中大小為P個單位的資料區塊標記一三維索引S(x,y,z);(B)轉換該三維索引S(x,y,z)成一寫入順序索引In
(t);(C)依照寫入順序索引In
(t),將三維影像資料中U個資料區塊依序輸入至緩衝記憶體;(D)根據寫入順序索引In
(t)計算一讀出順序索引On
(t);(E)依照該讀出順序索引On
(t),將U個該資料區塊依序從該緩衝記憶體輸出;以及(F)重複步驟(C)、(D)及(E),以讀出順序索引On
(t)作為下一組寫入順序索引In+1
(t),並依寫入順序索引In+1
(t),將三維影像資料中下一組U個資料區塊依序輸入至緩衝記憶體,直到所有的三維影像資料的資料區塊都輸出為止。
其中x代表該三維影像資料中第一方向上的第x個資料區塊,y代表該三維影像資料中第二方向上的第y個資料區塊,z代表該三維影像資料中第三方向上的第z個資料區塊。n代表該資料區塊在第n次的儲存程序中被存入該緩衝記憶體,t為每一儲存程序中時間上的順序。
於此實施例中,步驟(A)中,P=Wc×Hc,其中Wc係為一影像壓縮模組執行影像壓縮時第一方向上之單位數,Hc係為該影像壓縮模組執行影像壓縮時第二方向上之單位數。
同樣在步驟(A)中,U=Wr×Hr×Dc,其中Wr代表三維影像資料中第一方向上該資料區塊的數目,Hr代表三維影像資料中第二方向上該資料區塊的數目,Dc對應壓縮時第三方向上之單位數。
其中,該步驟(B)中,轉換該三維索引S(x,y,z)成一寫入順序索引In
(t)的方法為:
Iceil{z/Dc}
(mod{z-1,Dc}×Wr×Hr+(y-1)×Wr+(x-1))=S(x,y,z)
其中ceil{k}代表大於或等於k的最小整數值,mod{p,q}代表p除以q之餘數。
其中在該步驟(D)與該步驟(F)中,根據順序索引In
(t)計算一讀出順序索引On
(t)係根據下列關係式:
On
(t)=In
((mod{t-1,Dc})×Wr×Hr+ceil{t/Dc})
其中t為時間上的順序。
本發明係另提出的一種資料轉換方法,包括以下步驟:(A)將一一維資料串列中大小為P個單位的資料區塊標記一一維索引L(t);(B)轉換該一維索引L(t)成一寫入順序索引DIn
(t);(C)依照該寫入順序索引DIn
(t),將該一維資料串列U個資料區塊依序輸入至該緩衝記憶體;(D)根據DIn
(t)計算一讀出順序索引DOn
(t);(E)依照讀出順序索引DOn
(t),將U個該資料區塊依序從該緩衝記憶體輸出;(F)重複該步驟(C)、(D)以及(E),以該讀出順序索引DOn
(t)作為下一組寫入順序索引DIn+1
(t),並依該寫入順序索引DIn+1
(t),將該三維影像資料中下一組U個資料區塊依序輸入至該緩衝記憶體,直到所有的該三維影像資料的資料區塊都輸出為止。
於此實施例中,步驟(A)中,P=Wc×Hc,其中Wc係為一解影像壓縮模組執行影像壓縮時第一方向上之單位數,Hc係為該解影像壓縮模組執行影像壓縮時第二方向上之單位數。
於同一步驟中,U=Wr×Hr×Dc,其中Wr代表該三維影像資料中第一方向上該資料區塊的數目,Hr代表該三維影像資料中第二方向上該資料區塊的數目,Dc係為該解影像壓縮模組執行影像壓縮時第三方向上之單位數。
其中該步驟(B)中,轉換該一維索引L(t)成一寫入順序索引DIn
(t)的方法為:
DIceil{t/(Wr×Hr×Dc)}
(mod{t-1,(Wr×Hr×Dc)}+1)=L(t)
其中,ceil{k}代表大於或等於k的最小整數值,mod{p,q}代表p除以q之餘數。
其中在該步驟(D)與該步驟(F)中,根據DIn
(t)計算一讀出順序索引DOn
(t)係根據下列關係式:
DOn
(t)=DIn
((mod{t-1,Wr×Hr}-1)×Dc+ceil{t/Wr×Hr})
其中t為時間上的順序。
本發明提出的其中一種資料轉換裝置,此資料轉換裝置包括一緩衝記憶體以及一控制器。
此緩衝記憶體包括複數個大小為P個單位的資料區塊。控制器用以將一三維影像資料中的U個大小為P個單位的資料區塊標記一三維索引,轉換該三維索引成一寫入順序索引並根據該寫入順序索引依序將三維影像資料寫入緩衝記憶體,轉換該寫入順序索引成一讀出順序索引,根據該讀出順序索引依序讀出緩衝記憶體內之資料。
本發明係另提出一種資料轉換裝置,此資料轉換裝置包括一緩衝記憶體以及一控制器。
此緩衝記憶體包括複數個大小為P個單位的資料區塊。控制器用以將一三維影像資料中的U個大小為P個單位的資料區塊標記一三維索引,轉換該三維索引成一寫入順序索引並根據該寫入順序索引依序將三維影像資料寫入緩衝記憶體,轉換該寫入順序索引成一讀出順序索引,根據該讀出順序索引依序讀出緩衝記憶體內之資料。
根據本發明提出之實施例,此資料轉換方法以及裝置可減少記憶體的使用量,同時降低轉換時耗費的時間。
以上之關於本發明內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
請參照『第1圖』以及『第2圖』,係為本發明一實施例之方塊示意圖。本實施例用以將一大立方塊的三維影像資料轉換成多數個小立方塊的三維影像資料。本發明之資料轉換裝置包括一控制器10以及一緩衝記憶體20。控制器10係電性連接至緩衝記憶體20。
緩衝記憶體20包括複數個資料區塊,每個資料區塊的大小為P個單位。每一資料區塊對應一個位址,以利後續的寫入和讀取。
請參照『第3A圖』,係為本發明之一實施例之三維影像資料示意圖。為方便說明,在此實施例中,以一個大小為50×40×30單位的三維影像資料為例。壓縮以及解壓縮要使用的三維資料為10×10×10單位。緩衝記憶體20每個資料區塊為10×10單位。此處所述之單位,可為至少一個位元或是位元組。每一單位對應的位元數,則是根據其量化程度或是量化方式來決定。若是三維影像資料的單位非壓縮以及解壓縮要使用的三維資料單位的整數倍時,則在三維影像資料補上空白的資料,使其為壓縮以及解壓縮要使用的三維資料單位的整數倍。要注意的是,此實施例中所列舉單位的數目,僅作為示意之用,惟不應以此作為本發明之限制。
請參照『第4圖』,係為本發明之一實施例之三維影像資料的資料轉換方法之流程圖。控制器10用以執行流程圖中所述的步驟。此流程包括以下步驟:(S110)將一三維影像資料中大小為P個單位的資料區塊標記一三維索引S(x,y,z);(S120)轉換三維索引S(x,y,z)成一寫入順序索引In
(t);(S130)依照寫入順序索引In
(t),將三維影像資料中U個資料區塊依序輸入至緩衝記憶體;(S140)根據寫入順序索引In
(t)計算一讀出順序索引On
(t);(S150)依照該讀出順序索引On
(t),將U個資料區塊依序從緩衝記憶體輸出;以及(S160)判斷三維影像資料是否全部寫入至緩衝記憶體,直到所有的三維影像資料的資料區塊都輸出為止。
首先,在步驟S110中,控制器10將一三維影像資料中的每個大小為P單位的資料區塊標記一三維索引。在此實施例中,P為10×10。
請參照『第3B圖』,係為本發明之實施例之三維索引標記示意圖。每一個大小為10×10×1單位的資料區塊具有一三維索引CU(x,y,z),其中x代表該三維影像資料中方向D1上的第x個資料區塊,y代表該三維影像資料中方向D2上的第y個資料區塊,z代表該三維影像資料中方向D3上的第z個資料區塊。特別要注意的是,此段所述的x,y與z,僅代表緩衝記憶體20儲存或讀取時的順序索引,並不代表實際資料存放之物理上的位置。此外,此段所述的x,y與z,並不用以限制緩衝記憶體20物理上之容量大小。緩衝記憶體20的容量大小,只要可滿足資料存取所需且不產生溢位即可。
在此實施例中三維影像資料大小為50×40×30單位,資料區塊大小為10×10×1單位。因此,在D1方向上有5個資料區塊,在D2方向上有4個資料區塊,在D3方向上有30個資料區塊。資料區塊的三維索引從CU(1,1,1)開始,一直至CU(5,4,30)。
接著,在步驟S120中,控制器10轉換三維索引CU(x,y,z)成一寫入順序索引In
(t)。其中n代表該資料區塊在第n次的儲存程序中被存入緩衝記憶體20,t為每一儲存程序中時間上的順序。在此步驟中,控制器10使用下述的方法,將三維索引CU(x,y,z)轉換成該寫入順序索引In
(t):
Iceil{z/Dc}
(mod{z-1,Dc}×Wr×Hr+(y-1)×Wr+x)=CU(x,y,z)其中ceil{k}代表大於或等於k的最小整數值,mod{p,q}代表p除以q之餘數。Wr代表該三維影像資料中第一方向上該資料區塊的數目,Hr代表該三維影像資料中第二方向上該資料區塊的數目,Dc對應壓縮時第三方向上之單位數。根據此實施例中示意用的單位數目可知,Wr為5、Hr為4且Dc為10。
因此,CU(1,1,1)轉換後的寫入順序索引為Iceil{1/10}
(mod{0,10}×5×4+(1-1)×5+1),也就是I1
(1)。CU(5,1,1)轉換後的寫入順序索引為Iceil{1/10}
(mod{0,10}×5×4+(1-1)×5+5),也就是I1
(5)。CU(5,4,10)轉換後的寫入順序索引為Iceil{10/10}
(mod{9,10}×5×4+(4-1)×5+5),也就是I1
(200)。CU(5,4,30)轉換後的寫入順序索引為Iceil{30/10}
(mod{29,10}×5×4+(4-1)×5+5),也就是I3
(200)。
接著,在步驟S130中,控制器10依照寫入順序索引In
(t),將三維影像資料中U個資料區塊依序輸入至緩衝記憶體20。於此實施例中,U為200。
此寫入的方法請參照『第5A圖』。進一步的說,控制器10首先會將寫入索引為I1
(1),I1
(2),I1
(3),....,I1
(200)的資料區塊依序寫入緩衝記憶體20。其寫入的方式,是依據緩衝記憶體20內資料區塊的位址進行寫入。
在步驟S140中,控制器10根據寫入順序索引I1
(t)計算一讀出順序索引O1
(t)。
在此實施例中,控制器10根據寫入順序索引In
(t)計算一讀出順序索引On
(t)的方法為:
On
(t)=In
((mod{t-1,Dc})×Wr×Hr+ceil{t/Dc})
其中t為時間上的順序。
根據此實施例中示意用的單位數目,Wr為5、Hr為4且Dc為10。因此,根據上述之關係式,O1
(1)=I1
((mod{0,10})×20+ceil{1/10})=I1
(1)。也就是說,在第一次的讀取程序中第一個讀出的資料區塊等於第一個寫入的資料區塊。根據同樣的方法,O1
(2)=I1
(21),O1
(3)=I1
(61),...,O1
(200)=I1
(200)。此讀取的順序請參照『第5B圖』。
控制器10根據寫入索引以及讀出索引之間的關係式,在讀出資料方塊的時候,對其順序進行運算。控制器10也可根據此關係式,將讀出順序建立一對照表(lookup table)存入一記憶體內。當每次需要讀出,再根據對照表內儲存的順序讀出。特別要注意的是,計算寫入索引以及輸出索引之間的關係式可在執行寫入步驟之前或是之後計算,亦可在執行寫入步驟時同步做計算。也就是說,步驟S130與步驟S140的執行順序可以互換。
在步驟S150中,控制器10依照讀出順序索引O1
(t),將U個資料區塊依序從緩衝記憶體20輸出。其中,緩衝記憶體20可同時或是交替地進行儲存和輸出的動作。也就是說,步驟S130與步驟S150可同時執行或是交互執行。因為輸出和儲存的動作可同步進行,因此輸出和儲存之間不會有間斷。
在步驟S160中,控制器10會判斷三維影像資料是否全部寫入至緩衝記憶體20。
若尚未將三維影像資料全部寫入緩衝記憶體20,控制器10執行步驟S170:以讀出順序索引O1
(t)作為下一組寫入順序索引I2
(t)。
請參照『第5C圖』以及『第5D圖』,藉以進一步的說明此步驟。在第二次寫入程序中第一個寫入的資料區塊等於第一次讀取程序中第一個讀出的資料區塊。因此,I2
(1)=O1
(1)=I1
(1)、I2
(2)=O1
(2)=I1
(21)、I2
(3)=O1
(3)=I1
(61)...。也就是利用另一組寫入索引以重複步驟S130。因為前一組寫入順序索引I1
(t)已經不會再被使用,因此儲存寫入順序索引的空間可以被重複的儲存。也就是說,新的寫入順序索引I2
(t)所使用的儲存空間可以覆蓋於舊的寫入順序索引I1
(t)的儲存空間。如此,儲存寫入順序索引所用的記憶體空間可以大幅的被減少。
只要在一個資料區塊內的資料被讀取之後,此資料區塊即可被用來存取下一組資料。也就是說,只要讀出資料與寫入資料時,不會使緩衝記憶體20產生溢位或是資料遺失,不同組資料的讀取和儲存,可不需要按照相同的順序。
之後,重複步驟S140及S150。此時的運作方法皆與上述之步驟S140與S150相同。若是全數的三維影像資料都已被寫入緩衝記憶體20時,則結束此方法。
根據此實施例所述之三維影像資料的資料轉換方法,可將一大立方塊的三維影像資料轉換成多數個小立方塊的三維影像資料本發明係另提出一種資料轉換裝置,以及適用於此裝置的資料轉換方法,用以將多數個小立方塊的三維影像資料轉換成一大立方塊的三維影像資料。
在本實施例中,所使用的裝置示意圖可參照『第1圖』以及『第2圖』。本發明之資料轉換裝置包括一控制器10以及一緩衝記憶體20。控制器10係電性連接至緩衝記憶體20。
緩衝記憶體20包括複數個資料區塊,每個資料區塊的大小為P個單位。每一資料區塊對應一個位址,以利後續的寫入和讀取。
在此實施例中,以六十個大小為10×10×10單位的三維影像資料為例。緩衝記憶體每個資料區塊為10×10單位。此處所述之單位,可為至少一個位元或是位元組。每一單位對應的位元數,則是根據其量化程度或是量化方式來決定。
請參照『第6圖』,係為本發明之一實施例之一維影像資料的資料轉換方法之流程圖。控制器10用以執行流程圖中所述的步驟。此流程包括以下步驟:(S210)將一一維資料串列中大小為P個單位的資料區塊標記一一維索引L(t);(S220)轉換該一維索引L(t)成一寫入順序索引DIn
(t);(S230)依照寫入順序索引DIn
(t),將一維資料串列U個資料區塊依序輸入至緩衝記憶體;(S240)根據寫入順序索引DIn
(t)計算一讀出順序索引DOn
(t);(S250)依照讀出順序索引DOn
(t),將U個資料區塊依序從該緩衝記憶體輸出;以及(S260)判斷一維影像資料是否全部寫入至緩衝記憶體,直到所有的一維影像資料的資料區塊都輸出為止。
首先,在步驟S210中,控制器10對於一維資料串列中的每個大小為P個單位資料區塊標記一一維索引L(t)。
請參照『第7圖』。60個大小為10×10×10單位的三維影像資料共被切割為6000個大小為10×10資料區塊。對照的一維索引為L(1)、L(2)...、L(6000)。
接著,在步驟S220中,控制器10轉換該一維索引L(t)成一寫入順序索引DIn
(t)。
在此實施例中,控制器10轉換該一維索引L(t)成一寫入順序索引DIn
(t)為:
DIceil{t/(Wr×Hr×Dc)}
(mod{t-1,(Wr×Hr×Dc)}+1)=L(t)
其中,ceil{k}代表大於或等於k的最小整數值,mod{p,q}代表p除以q之餘數。Wr代表該三維影像資料中第一方向上該資料區塊的數目,Hr代表該三維影像資料中第二方向上該資料區塊的數目,Dc對應壓縮時第三方向上之單位數。根據此實施例中示意用的單位數目可知Wr為5、Hr為4且Dc為10。
因此,L(1)轉換後的寫入順序索引為DIceil{1/200}
(mod{0,200}+1),也就是DI1
(1)。L(2)轉換後的寫入順序索引為DIceil{1/200}
(mod{1,200}+1),也就是DI1
(2)。L(201)轉換後的寫入順序索引為DIceil{201/200}
(mod{200,200}+1),也就是DI2
(1)。最後一個一維索引L(6000)轉換後的寫入順序索引為DIceil{6000/200}
(mod{5999,200}+1),也就是DI300
(200)。
請參照『第8A圖』。接著,在步驟S230中,控制器10依照該寫入順序索引DIn(t)將該一維資料串列U個資料區塊依序輸入至緩衝記憶體20。於此實施例中,U為200。
之後,在步驟S240中,控制器10根據寫入順序索引DIn(t)計算一讀出順序索引DOn(t)。特別要注意的是,計算寫入順序索引DIn(t)以及讀出順序索引DOn(t)之間的關係式可在執行寫入步驟之前或是之後計算,亦可在執行寫入步驟時同步做計算。也就是說,步驟S230與步驟S240的執行順序可以互換,且不同的儲存程序的步驟,可不需要以上述的順序進行。
於此實施例中,控制器10使用下述關係式計算寫入順序索引DIn
(t)以及讀出順序索引DOn
(t):
DOn
(t)=DIn
((mod{t-1,Wr×Hr})×Dc+ceil{t/Wr×Hr})
其中t為時間上的順序。
請參照『第8B圖』,根據此實施例中示意用的單位數目,Wr為5、Hr為4且Dc為10。因此,根據上述之關係式,DO1
(1)=DI1
((mod{0,20})×10+ceil{1/20})=DI1
(1)。也就是說,在第一次的讀取程序中第一個讀出的資料區塊等於第一個寫入的資料區塊。根據同樣的方法,DO1
(2)=DI1
((mod{1,20})×10+ceil{2/20})=DI1
(11),DO1
(3)=DI1
(21),...,DO1
(200)=DI1
(200)。
接著,在步驟S250中,控制器10依照讀出順序索引DO1
(t),將U個資料區塊依序從緩衝記憶體20輸出。其中,緩衝記憶體20可同時或是交互地進行儲存和輸出的動作。也就是說,步驟S230與步驟S250可同時執行或是交替執行。因為輸出和儲存的動作可同步進行,因此輸出和儲存之間不會有間斷。在步驟S260中,控制器10會判斷一維影像資料是否全部寫入至緩衝記憶體20。
若尚未將一維影像資料全部寫入緩衝記憶體20,控制器10執行步驟S270:以讀出順序索引DO1
(t)作為下一組寫入順序索引DI2
(t)。因為前一組寫入順序索引DI1
(t)已經不會再被使用,因此儲存寫入順序索引的空間可以被重複的儲存。也就是說,新的寫入順序索引DI2
(t)所使用的儲存空間可以覆蓋於舊的寫入順序索引DI1
(t)的儲存空間。如此,儲存寫入順序索引所用的記憶體空間可以大幅的被減少。
請參照『第8C圖』以及『第8D圖』。進一步的說明此步驟,也就是在第二次寫入程序中第一個寫入的資料區塊等於第一次讀取程序中第一個讀出的資料區塊。因此,DI2
(1)=DO1
(1)=DI1
(1)、DI2
(2)=DO1
(2)=I1
(11)、DI2
(3)=DO1
(3)=DI1
(21)...。也就是利用另一組寫入索引以重複步驟S230。
之後,重複步驟S240及S250。此時的運作方法皆與上述之步驟S240與S250相同。
若是全數的三維影像資料都已被寫入緩衝記憶體20時,則結束此方法。
在此實施例中所述之一維影像資料的資料轉換方法之,依序將資料區塊讀出,即可將多數個小立方塊的三維影像資料轉換成一大立方塊的三維影像資料。
綜合以上所述,此資料轉換方法以及裝置,用以將一大立方塊的三維影像資料轉換成多數個小立方塊的三維影像資料或是將多數個小立方塊的三維影像資料轉換成一大立方塊的三維影像資料,可減少記憶體的使用量以及同時降低轉換時耗費的時間。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
10...控制器
20...緩衝記憶體
D1...方向
D2...方向
D3...方向
第1圖係為本發明一實施例之方塊示意圖。
第2圖係為本發明一實施例之方塊示意圖。
第3A圖以及第3B圖係為本發明之一實施例之三維影像資料示意圖。
第4圖係為本發明之一實施例之流程圖。
第5A圖、第5B圖、第5C圖以及第5D圖係為本發明之一實施例之資料轉換示意圖。
第6圖係為本發明之一實施例之流程圖。
第7圖係為本發明之一實施例之資料轉換示意圖。
第8A圖、第8B圖、第8C圖以及第8D圖係為本發明之一實施例之資料轉換示意圖。
Claims (18)
- 一種三維影像資料的資料轉換方法,適用於一緩衝記憶體的儲存與讀取,該資料轉換方法包括:(A)將一三維影像資料中U個資料區塊標記一三維索引CU(x,y,z),每一該資料區塊大小為P個單位,其中x代表該三維影像資料中一第一方向上的第x個該資料區塊,y代表該三維影像資料中一第二方向上的第y個該資料區塊,z代表該三維影像資料中一第三方向上的第z個該資料區塊;(B)轉換該三維索引CU(x,y,z)成一寫入順序索引In (t),其中n代表該資料區塊在第n次的儲存程序中被存入該緩衝記憶體,t代表每一儲存程序中時間上的一順序;(C)依照該寫入順序索引In (t),將該三維影像資料中U個該資料區塊依序輸入至該緩衝記憶體;(D)根據該寫入順序索引In (t)計算一讀出順序索引On (t);(E)依照該讀出順序索引On (t),將U個該資料區塊依序從該緩衝記憶體輸出;以及(F)重複該步驟(C)、(D)以及(E),以該讀出順序索引On (t)作為下一組寫入順序索引In+1 (t),並依該寫入順序索引In+1 (t),將該三維影像資料中下一組U個該資料區塊依序輸入至該緩衝記憶體,直到所有的該三維影像資料的該資料區塊都輸出為止。
- 如請求項1所述之資料轉換方法,其中該步驟(A)中,P=Wc×Hc,其中Wc係為一影像壓縮模組執行影像壓縮時該第一方向上的一單位數,Hc係為該影像壓縮模組執行影像壓縮時該第二方向上的該單位數。
- 如請求項2所述之資料轉換方法,其中該步驟(C)中,其中U=Wr×Hr×Dc,其中Wr代表該三維影像資料中該第一方向上該資料區塊的一數目,Hr代表該三維影像資料中該第二方向上該資料區塊的該數目,Dc代表壓縮時該第三方向上的該單位數。
- 如請求項3所述之資料轉換方法,其中該步驟(B)中,轉換該三維索引CU(x,y,z)成該寫入順序索引In (t)的方法為:Iceil {z /Dc }(mod{z-1,Dc}×Wr×Hr+(y-1)×Wr+x)=CU(x,y,z);其中ceil{k}代表大於或等於k的一最小整數值,mod{p,q}代表p除以q之一餘數。
- 如請求項4所述之資料轉換方法,其中在該步驟(D)中,根據該順序索引In (t)計算該讀出順序索引On (t)係根據下列關係式:On (t)=In ((mod{t-1,Dc}+1)×Wr×Hr+ceil{t/Dc});其中t為時間上的一順序。
- 一種一維資料串列的資料轉換方法,適用於一緩衝記憶體的儲存與讀取,該資料轉換方法包括:(A)將一一維資料串列中U個資料區塊標記一一維索引L(t),每個該資料區塊大小為P個單位;(B)轉換該一維索引L(t)成一寫入順序索引DIn (t),其中n代表該資料區塊在第n次的儲存程序中被存入該緩衝記憶體,t為每一儲存程序中時間上的順序;(C)依照該寫入順序索引DIn (t),將該一維資料串列中的U個資料區塊依序輸入至該緩衝記憶體;(D)根據該寫入順序索引DIn (t)計算一讀出順序索引DOn (t);(E)依照該讀出順序索引DOn (t),將U個該資料區塊依序從該緩衝記憶體輸出;以及(F)重複該步驟(C)、(D)以及(E),以該讀出順序索引DOn (t)作為下一組寫入順序索引DIn+1 (t),並依該寫入順序索引DIn+1 (t),將該一維影像資料中下一組U個資料區塊依序輸入至該緩衝記憶體,直到所有的該一維影像資料的該資料區塊都輸出為止。
- 如請求項6所述之資料轉換方法,其中該步驟(A)中,P=Wc×Hc,Wc係為一解影像壓縮模組執行影像壓縮時一第一方向上的一單位數,Hc係為該解影像壓縮模組執行影像壓縮時一第二方向上的該單位數。
- 如請求項7所述之資料轉換方法,其中該步驟(B)中,U=Wr×Hr×Dc,其中Wr代表該三維影像資料中該第一方向上該資料區塊的數目,Hr代表該三維影像資料中該第二方向上該資料區塊的數目,Dc係為該解影像壓縮模組執行影像壓縮時一第三方向上的該單位數。
- 如請求項8所述之資料轉換方法,其中該步驟(B)中,轉換該一維索引L(t)成該寫入順序索引DIn (t)的方法為: DIceil{t/(Wr×Hr×Dc)} (mod{t-1,(Wr×Hr×Dc)}+1)=L(t);其中,ceil{k}代表大於或等於k的一最小整數值,mod{p,q}代表p除以q之一餘數。
- 如請求項9所述之資料轉換方法,其中在該步驟(D)中,根據該寫入順序索引DIn (t)計算一讀出順序索引DOn (t)係根據下列關係式:DOn (t)=DIn ((mod{t-1,Wr×Hr})×Dc+ceil{t/Wr×Hr});其中t為時間上的順序。
- 一種資料轉換裝置,包括:一緩衝記憶體,包括至少U個資料區塊,該資料區塊的大小為P個單位;以及一控制器,用以將每個該資料區塊標記一三維索引,轉換該三維索引成一寫入順序索引,並根據該寫入順序索引依序將三維影像資料寫入該緩衝記憶體,轉換該寫入順序索引成一讀出順序索引,並根據該讀出順序索引依序讀出該緩衝記憶體內的資料;其中P與U為:P=Wc×Hc;U=Wr×Hr×Dc;Wc係為一影像解壓縮模組執行解影像壓縮時一第一方向上的一單位數,Hc係為該影像解壓縮模組執行影像解壓縮時一第二方向上的該單位數,Dc係為該影像解壓縮模組執行影像解 壓縮時一第三方向上的該單位數,Wr代表該三維影像資料中該第一方向上該資料區塊的一數目,Hr代表該三維影像資料中該第二方向上該資料區塊的該數目。
- 如請求項11所述之資料轉換裝置,其中該控制器轉換該三維索引成一寫入順序索引係利用以下關係式:Iceil{z/Dc} (mod{z-1,Dc}×Wr×Hr+(y-1)×Wr+(x-1))=CU(x,y,z);其中In (t)係為該寫入順序索引,代表該資料區塊在第n次的儲存程序中第t個時間順序被存入該緩衝記憶體,CU(x,y,z)係為該三維索引,x代表該三維影像資料中該第一方向上的第x個該資料區塊、y代表該第二方向上的第y個該資料區塊、z代表該第三方向上第z個該資料區塊,ceil{k}代表大於或等於k的一最小整數值,mod{p,q}代表p除以q的一餘數。
- 如請求項12所述之資料轉換裝置,其中該控制器轉換該寫入順序索引成一讀出順序索引係利用以下關係式:On (t)=In ((mod{t-1,Dc})×Wr×Hr+ceil{t/Dc});其中On (t)代表該資料區塊在第n次的儲存程序中第t個的時間順序從該緩衝記憶體被讀出。
- 如請求項13所述之資料轉換裝置,其中該控制器轉換該寫入順序索引成一讀出順序索引係利用以下關係式:In+1 (t)=On (t);其中In+1 (t)代表該資料區塊在第n+1次的儲存程序中第t的時間順序被存入該緩衝記憶體。
- 一種資料轉換裝置,包括:一緩衝記憶體,包括至少U個資料區塊,該資料區塊的大小為P個單位;以及一控制器,用以將一維資料串列中每個該資料區塊標記一一維索引,轉換該一維索引成一寫入順序索引,並根據該寫入順序索引依序將該一維資料串列寫入該緩衝記憶體,轉換該寫入順序索引成一讀出順序索引,並根據該讀出順序索引依序讀出該緩衝記憶體內的資料;P=Wc×Hc;U=Wr×Hr×Dc;Wc係為一影像解壓縮模組執行解影像壓縮時一第一方向上的一單位數,Hc係為該影像解壓縮模組執行影像解壓縮時一第二方向上的該單位數,Dc係為該影像解壓縮模組執行影像解壓縮時一第三方向上的該單位數,Wr代表該三維影像資料中該第一方向上該資料區塊的一數目,Hr代表該三維影像資料中該第二方向上該資料區塊的該數目。
- 如請求項15所述之資料轉換裝置,其中該控制器轉換該一維索引成該寫入順序索引係利用以下關係式:DIceil{t/(Wr×Hr×Dc)} (mod{t,(Wr×Hr×Dc)})=L(t);其中DIn (t)係為該寫入順序索引,代表該資料區塊在第n次的儲存程序中第t個時間順序被存入該緩衝記憶體,L(t)係為該一維索引,t代表該一維資料串列中第t個資料區塊,ceil{k} 代表大於或等於k的最小整數值,mod{p,q}代表p除以q之餘數。
- 如請求項16所述之資料轉換裝置,其中該控制器轉換該一維索引成一寫入順序索引係利用以下關係式:DOn (t)=DIn ((mod{t-1,Wr×Hr})×Dc+ceil{t/Wr×Hr});其中DOn (t)代表該資料區塊在第n次的儲存程序中第t個的時間順序從該緩衝記憶體被讀出。
- 如請求項17所述之資料轉換裝置,其中該控制器轉換該寫入順序索引成一讀出順序索引係利用下關係式:DIn+1 (t)=DOn (t);其中DIn+1 (t)代表該資料區塊在第n+1次的儲存程序中第t個的時間順序被存入該緩衝記憶體。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099103575A TWI401614B (zh) | 2010-02-05 | 2010-02-05 | 資料轉換方法及資料轉換裝置 |
US12/815,951 US8582917B2 (en) | 2010-02-05 | 2010-06-15 | Data conversion method and data conversion device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099103575A TWI401614B (zh) | 2010-02-05 | 2010-02-05 | 資料轉換方法及資料轉換裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201128565A TW201128565A (en) | 2011-08-16 |
TWI401614B true TWI401614B (zh) | 2013-07-11 |
Family
ID=44353782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099103575A TWI401614B (zh) | 2010-02-05 | 2010-02-05 | 資料轉換方法及資料轉換裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8582917B2 (zh) |
TW (1) | TWI401614B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW516008B (en) * | 1999-06-11 | 2003-01-01 | Pulsent Corp | Method and apparatus for digital image segmentation |
TW200731237A (en) * | 2005-09-21 | 2007-08-16 | Ibm | Apparatus, system, and method for converting between serial data and encoded holographic data |
TW200818925A (en) * | 2006-04-27 | 2008-04-16 | Sony Corp | Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method |
US20090295790A1 (en) * | 2005-11-17 | 2009-12-03 | Lachlan Pockett | Method and Devices for Generating, Transferring and Processing Three-Dimensional Image Data |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884016A (en) * | 1993-01-11 | 1999-03-16 | Sun Microsystems, Inc. | System and method for displaying a selected region of a multi-dimensional data object |
AU2002229090A1 (en) * | 2000-12-14 | 2002-06-24 | Rtimage Inc. | Three-dimensional image streaming system and method for medical images |
US7170521B2 (en) * | 2001-04-03 | 2007-01-30 | Ultravisual Medical Systems Corporation | Method of and system for storing, communicating, and displaying image data |
TWI236605B (en) * | 2003-10-02 | 2005-07-21 | Pixart Imaging Inc | Data flow conversion method and its buffer device |
-
2010
- 2010-02-05 TW TW099103575A patent/TWI401614B/zh not_active IP Right Cessation
- 2010-06-15 US US12/815,951 patent/US8582917B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW516008B (en) * | 1999-06-11 | 2003-01-01 | Pulsent Corp | Method and apparatus for digital image segmentation |
TW200731237A (en) * | 2005-09-21 | 2007-08-16 | Ibm | Apparatus, system, and method for converting between serial data and encoded holographic data |
US20090295790A1 (en) * | 2005-11-17 | 2009-12-03 | Lachlan Pockett | Method and Devices for Generating, Transferring and Processing Three-Dimensional Image Data |
TW200818925A (en) * | 2006-04-27 | 2008-04-16 | Sony Corp | Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method |
Also Published As
Publication number | Publication date |
---|---|
US20110194786A1 (en) | 2011-08-11 |
TW201128565A (en) | 2011-08-16 |
US8582917B2 (en) | 2013-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7421036B2 (ja) | ロスレスデータ圧縮 | |
US7924183B2 (en) | Method and system for reducing required storage during decompression of a compressed file | |
KR20190027716A (ko) | 하드웨어 친화적인 가상 프레임 버퍼 | |
US8098247B2 (en) | Systems and methods for geometric data compression and encryption | |
WO2019047628A1 (zh) | 海量图片处理方法、装置、电子设备及存储介质 | |
WO2019216376A1 (ja) | 演算処理装置 | |
US20170195693A1 (en) | Count table maintenance apparatus for maintaining count table during processing of frame and related count table maintenance method | |
JP2005065168A (ja) | 画像圧縮装置及び画像圧縮方法 | |
US11424761B2 (en) | Multiple symbol decoder | |
EP2787738A1 (en) | Tile-based compression and decompression for graphic applications | |
TWI401614B (zh) | 資料轉換方法及資料轉換裝置 | |
CN111061428B (zh) | 一种数据压缩的方法及装置 | |
CN114501029B (zh) | 图像编码、图像解码方法、装置、计算机设备和存储介质 | |
WO2021237513A1 (zh) | 数据压缩存储的系统、方法、处理器及计算机存储介质 | |
CN101458679B (zh) | 统一反向离散余弦变换(idct)微码处理器引擎 | |
JP2021174472A (ja) | ストレージシステム | |
WO2019227447A1 (zh) | 数据处理方法和处理电路 | |
US20150163518A1 (en) | Electronic device and information processing method | |
US5822552A (en) | Method and circuit for rearranging output data in variable-length decoder | |
CN102158717B (zh) | 数据转换方法及数据转换装置 | |
CN103581674A (zh) | 视频数据的压缩/解压缩方法及系统 | |
WO2023205969A1 (zh) | 点云几何信息的压缩、解压缩及点云视频编解码方法、装置 | |
WO2021237518A1 (zh) | 数据存储的方法、装置、处理器及计算机存储介质 | |
CN110875744B (zh) | 编码方法及装置 | |
TW202420088A (zh) | 資料加密的錯誤偵測裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |