TWI463807B - 一種改良式訊號壓縮之演算法 - Google Patents

一種改良式訊號壓縮之演算法 Download PDF

Info

Publication number
TWI463807B
TWI463807B TW101102228A TW101102228A TWI463807B TW I463807 B TWI463807 B TW I463807B TW 101102228 A TW101102228 A TW 101102228A TW 101102228 A TW101102228 A TW 101102228A TW I463807 B TWI463807 B TW I463807B
Authority
TW
Taiwan
Prior art keywords
array
bit
check code
content
data
Prior art date
Application number
TW101102228A
Other languages
English (en)
Other versions
TW201332301A (zh
Inventor
Hsieh Wei Lee
King Chu Hung
Tsung Ching Wu
Yu Ping Huang
Original Assignee
Univ Nat Kaohsiung 1St Univ Sc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Univ Nat Kaohsiung 1St Univ Sc filed Critical Univ Nat Kaohsiung 1St Univ Sc
Priority to TW101102228A priority Critical patent/TWI463807B/zh
Publication of TW201332301A publication Critical patent/TW201332301A/zh
Application granted granted Critical
Publication of TWI463807B publication Critical patent/TWI463807B/zh

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

一種改良式訊號壓縮之演算法
本發明係有關於一種改良式訊號壓縮之演算法,其特別有關於壓縮小波係數之訊號壓縮演算法,利用位元平面(Bit Plane)為輸入的方式,並採用旗標陣列(Flag Array)及檢查碼(Check bit)取代傳統階層樹集合分割演算法(SPIHT)的初始有序表(LSP、LIP、LIS、LisFlag),讓編碼流程更精簡、更模組化,進而達到節省硬體成本的功效。
隨著網際網路和無線通訊的快速成長,資料壓縮技術被廣泛地應用在各種多媒體服務中並逐漸成為一個重要的研究課題。近年來,網路通訊以及資料儲存設備技術或有顯著的進步,然而隨著資訊化普及,使用者的需求遠大於網路及儲存空間所能提供的服務。因此,資料在傳輸或儲存前要先經過壓縮,才能充分發揮有限頻寬下的服務品質保證。資料壓縮技術分為不失真壓縮與失真壓縮兩大類。失真壓縮乃針對訊號資訊(如影像與心電圖)容許不影響正確認知的資訊失真,其中以小波轉換壓縮法具最佳壓縮效率。小波轉換壓縮法係以小波轉換、小波係數量化及編碼等三處理技術為其核心。階層樹集合分割演算法(Set partitioning in hierarchical trees,SPIHT)是目前適用於小波係數的最佳編碼法之一,此演算法由Amir Said和William A. Pearlman於1996年所提出。
SPIHT演算法使用零樹(Zerotree)架構來傳送重要係數(即絕對值大於臨界值(Threshold value)係數)的位置訊息。訊號經小波轉換分解後,在相同方位的不同頻帶會具有自我相似(Self Similarity)特性。第1圖為二維影像經三階小波轉換的示意圖,第2圖為一維心電圖經三階小波分解的示意圖。同方位的小波係數具金字塔型資料結構;如LH方位,兩相鄰的頻帶LHi與LHi+1互稱為彼此的母層(parent)和子層(children)。母層的資料點數在x和y方向皆為子層資料點數的一半,其係數的絕對值則通常大於子層係數的絕對值。原始SPIHT演算法的編碼順序是由低頻帶依序往高頻帶編碼(二維影像的編碼順序為LL3、LH3、HL3、HH3、LH2、HL2、HH2、LH1、HL1、HH1,一維心電圖訊號的編碼順序為L3、H3、H2、H1)。對每一設定之臨界值,所有的位置必須至少被搜尋過一次以檢查是否有重要係數存在,才算完成一趟編碼迴圈。SPIHT演算法有以下優點:
1) 在Zerotree架構下,以集合分割(Set partitioning)方式可有效地降低子孫代位置搜尋的複雜度並提升零子孫代的表達效率;即節省位元數(Bit number)。
2) 取2 J 為臨界值時,可以位元平面(Bit-plane)方式傳送,達到漸進式傳輸效果。
3) 其編碼結果(即bitstream)是以位元為單元,可精密計算位元數,方便位元率的控制。
原始SPIHT演算法需使用下述三表列暫存器(List register)來進行編碼程序:
1)不重要係數表列(List of Insignificant Pixels(LIP)):用於儲存不重要係數的座標。
2)不重要係數集合表列(List of Insignificant Sets(LIS)):用於儲存不重要係數樹叢的根座標。此表列分為type A及type B兩類分別以D(i,j )和L(i,j )表示之。
3)重要係數表列(List of Significant Pixels(LSP)):用於儲存重要係數的座標。
原始SPIHT演算法存在四種資料處理方式不利於硬體的實現:
1)重要係數的判斷須使用減法動作;即係數絕對值減去門檻值,若小於零為不重要係數,否則為重要係數。
2)使用原始LIP、LIS和LSP三種表列方式,需預留大量的記憶體空間以記錄係數座標。假設影像的大小為N ×N ,其中N =2 J ,LIP與LSP陣列皆需預留N ×N ×(2J )位元、LIS陣列亦需預留N ×N ×(2J )位元以包含type A及type B兩類根座標。對一維(1-D)N點的訊號資料,其LIP與LSP陣列需預留N ×J 位元、LIS陣列則需預留N ×J 位元。
3)若表列內容更新時,需對表列中所儲存的entry進行新增、移除以及重新排序等動作,此些動作較適合於軟體方式不利於硬體實現。
4)編碼流程須分別處理LSP、LIP和LIS三個列表,且在LIS表列內容更新時,需對所有後代子孫係數進行判斷,而後代子孫係數的座標較無規則性,因此此動作需冗長的搜尋時間。
為克服上述四缺點,已有國內外學者提出一些改善方法。T. H. Chiang及L. R. Dung發表於期刊IEEE Transactions on Consumer Electronics,名稱為A VLSI progressive coding for wavelet-based image compression文章中,針對第二項缺點提出解決方法。其不儲存entry的座標,而使用3個tag flag array來記錄LSP、LIP及LIS三個列表中的entry;此法首先對影像中的所有像素進行位置編號,若此位置需儲存於LSP列表,則LSP flag array在此位置編號的bit將被設定為1,反之則被設定為0。以一維N =1024的訊號資料為例,此法僅需預留2×1024+512個位元空間,但仍存在編碼流程耗時且對後代係數的搜尋時間過長等缺點。
W. B. Huang,W. Y. Su及Y. H. Kuo發表於期刊IEICE TRANS. FUNDAMENTALS,名稱為VLSI Implementation of a Modified Efficient SPIHT Encoder文章中,針對第四項後代子孫判斷之問題提出改善方法。此法改變係數的儲存順序,使得後代子孫的定址僅需使用一個兩位元位移器(2-bit shifter)以及increment by one的動作即可。
H. L. Yen的博士論文,名稱為利用動態向量量化對以小波為基礎的心電圖資料壓縮:演算法及其FPGA實現一文中對第一,二及第四項缺點提出改善方法。此法以小波係數的位元平面(Bit Plane)為編碼對象取代直接以小波係數為編碼對象的方式,並使用列表(table)方式來儲存LSP、LIP、及LIS三個陣列的內容,以降低記憶體空間的需求;以一維N =1024的訊號資料為例,其合併LIP與LSP需2x1024個位元記憶體空間,LIS亦需1024個位元。針對編碼流程須耗時處理LSP、LIP、及LIS三個列表的問題,其合併LSP與LIP的編碼流程,藉此減少編碼複雜度。
K. Liu,E. Belyaev及J.Guo發表於期刊IEEE Transactions on Very Large Scale Integration(VLSI) Systems,名稱為VLSI Architecture of Arithmetic Coder Used in SPIHT之文章中提出對第一、二項問題的改善方法。針對重要係數的判斷,其採用位元平面(Bit Plane)方式,只需判斷為1或是0即可知道有無大於門檻值。針對大量的記憶體空間需求,其採用4種類型的context label來記錄鄰居(neighbor nodes)、子代(descendants)、孫代(grant descendants)間的關係。然而,該方法之編碼效能不高且編碼結果與SPIHT的編碼結果不同。
Y. Sun、H. Zhang及G. Hu發表於期刊IEEE Transactions on Image Processing,名稱為Real-time implementation of a new low-memory SPIHT image coding algorithm using DSP chip一文中提出對第二及四項問題的改善方法。針對減少記憶體空間的作法,其不使用LSP與LIP列表,只要係數被判斷為重要(significance)或不重要(insignificance),即將其值輸出,此法僅需記錄LIS列表。針對編碼流程須耗時處理LSP、LIP、及LIS三個列表的問題,其採用將LSP和LIP列表整合,僅需另外考慮LIS。該方法於LIS列表的處理過程中,仍存在對後代係數的搜尋時間過長的問題。
參照美國專利US 6,795,505號,其標題為”用於壓縮視訊序列編碼之方法”。該專利揭示利用三維之小波轉換係數進行編碼。此方法主要係利用三維小波轉換達到消除時間域多餘資訊並可以連續畫面編碼的目的。然而這種方式不能達到真正連續畫面的即時編碼目的,此法需十分龐大的記憶體空間及高複雜度編碼。
以上的改良方案大多僅考慮單一畫面(frame)的處理,在此原始SPIHT演算架構下,改進各分項的缺點,皆未考慮管線(pipeline)處理架構之利。職是之故,本發明之發明人乃細心試驗與研究開發出一種改良式訊號壓縮方法及其裝置,此新方法採用管線處理架構,可利硬體實現連續畫面的即時編碼。本發明整合LIP、LSP和LIS三列表之運算目的,並以檢查碼(check bit)搭配旗標陣列(flag array)的概念取代之,可使編碼流程更精簡、更模組化。此外,本發明亦可進一步開發成可攜式多導程心電圖紀錄裝置。
本發明之目的在提供一種訊號壓縮之演算法方便以有效率的硬體架構實現小波轉換係數的即時壓縮編碼。此演算法運用檢查碼與旗標陣列概念以實現管線架構的連續畫面即時編碼,每一畫面僅需建立一次旗標陣列,每一位元平面只需建立一次檢查碼,資料的輸入與處理可同時進行,此簡化設計可降低硬體成本並達到管線處理架構的要求。
本發明之另一目的在提供一種改良式訊號壓縮之演算法方便以有效率的硬體架構實現小波轉換係數的即時壓縮編碼。此演算法運用兩個檢查碼與兩個旗標陣列概念以實現管線架構的連續畫面即時編碼,每一畫面僅需建立一次兩個旗標陣列,每一位元平面只需建立一次兩個檢查碼,資料的輸入與處理可同時進行,此簡化設計可降低硬體成本並達到管線處理架構的要求。
為達上述之目的,本發明提供一種訊號壓縮之演算法,用於小波係數之壓縮與編碼,該方法至少包含下列步驟:
步驟(1):輸入一原始訊號;
步驟(2):將該原始訊號以位元平面轉換後輸出一起始狀態旗標、一正負號位元平面資料及複數個位元平面資料,其中該起始狀態旗標用於指示該原始訊號之開始及所包含的位元平面個數;
步驟(3):將該正負號位元平面資料儲存至一符號陣列(Sign[i])中、該複數個位元平面資料係以一最高有效位元(MSB)平面資料至一最低有效位元(LSB)平面資料之方式重複交替儲存至該第一位元陣列(data1 [i])及第二位元陣列(data2 [i])中,其中於該最高有效位元(MSB)平面資料儲存至該第一位元陣列(data1 [i])或該第二位元陣列(data2 [i])時,同時將一正負號位元旗標陣列(Sign Flag[i],SF[i])之內容設定為1、一檢查碼旗標陣列(Check Flag A[i],CFA[i])之內容設定為1並透過一檢查碼計算產生一第一檢查碼陣列(Check Bit A1 [i],CBA1 [i]),其中於後續之該複數位元平面資料進行儲存時,則透過該檢查碼計算交替產生一後續複數位元平面之第一檢查碼陣列(CBA1 [i])或一第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])、該正負號位元旗標陣列(SF[i],)用以記錄該符號陣列(Sign[i])是否已輸出、該檢查碼旗標陣列(CFA[i])用以記錄該檢查碼陣列(CFA[i])之子代內容是否已輸出及i用以表示陣列中之資料位址;以及
步驟(4):依據一編碼方式、該第一檢查碼陣列(CBA1 [i])及該第二檢查碼陣列(CBA2 [i])進行編碼後輸出。
為達上述之另一目的,本發明提供一種改良式訊號壓縮之演算法,用於一小波係數之壓縮與編碼,該方法至少包含下列步驟:
步驟(1):輸入一原始訊號;
步驟(2):將該原始訊號以位元平面轉換後輸出一起始狀態旗標、一正負號位元平面資料及複數個位元平面資料,其中該起始狀態旗標用於指示該原始訊號之開始及所包含的位元平面個數;
步驟(3):將該正負號位元平面資料儲存至一符號陣列(Sign[i])中、該複數個位元平面資料係以一最高有效位元(MSB)平面資料至一最低有效位元(LSB)平面資料之方式重複交替儲存至一第一位元陣列(data1 [i])及一第二位元陣列(data2 [i])中,其中於該最高有效位元平面(MSB)平面資料資料進行儲存時,同時將一正負號位元旗標陣列(Sign Flag[i],SF[i])之內容設定為1、一第一檢查碼旗標陣列(Check Flag A[i],CFA[i])之內容設定為1、一第二檢查碼旗標陣列(Check Flag B[i],CFB[i])之內容設定為1並透過一第一檢查碼計算產生一第一檢查碼陣列(Check Bit A1 [i],CBA1 [i])、於後續之該複數位元平面資料進行儲存時,則透過該第一檢查碼計算交替產生該第一檢查碼陣列(CBA1 [i])或一第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])、透過一第二檢查碼計算交替產生一第三檢查碼陣列(Check Bit B1 [i],CBB1 [i])或一第四檢查碼陣列(Check Bit B2 [i],CBB2 [i])。該正負號位元旗標陣列(SF[i])用以記錄該符號陣列(Sign[i])是否已輸出、該第一檢查碼旗標陣列(CFA[i])用以記錄該第一檢查碼旗標陣列(CFA[i])用以記錄該第一檢查碼陣列(CFA[i])之子代內容是否已輸出、該第二檢查碼旗標陣列(CFB[i])用以記錄該第二檢查碼旗標陣列(CFB[i])之子代內容是否已輸出及i用以表示陣列中之資料位址;以及
步驟(4):依據一第一編碼方式及該第一檢查碼陣列(CBA1 [i])、該第二檢查碼陣列(CBA2 [i])、一第二編碼方式及該第三檢查碼陣列(CBB1 [i])及該第四檢查碼陣列(CBB2 [i])進行編碼後輸出。
本發明不同於傳統SPIHT編碼演算法,使用資料位元與正負號位元配對輸出方式,將精煉(refinement)步驟融入一般的資料編碼步驟,此方式不僅簡化編碼流程與硬體複雜度,而且使得三模式的處理時間分配可滿足三段式管線作業流程之規劃。此外,本發明使用檢查碼概念,取代原始表列式處理(LSP、LIP、LIS、LisFlag),達到模組化編碼流程、簡化編碼控制、進而降低記憶體的需求。
本發明之功效:
1. 直接編碼位元平面無需門檻值判斷。
2. 降低記憶體的需求。
3. 重要後代係數的偵測與資料輸入同步。
4. 模組化編碼流程,編碼控制簡單,複雜度低。
5. 具最低硬體成本及最低耗損功率。
6. 滿足三段式管線作業流程設計,適合即時性的小波係數壓縮編碼。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數個較佳實施例,並配合所附圖式,作詳細說明如下。
雖然本發明可表現為不同形式之實施例,但附圖所示者及於下文中說明者係為本發明之較佳實施例,並請了解本文所揭示者係考量為本發明之一範例,且並非意圖用以將本發明限制於圖示及/或所描述之特定實施例中。
現請參考第3圖,其顯示為本發明之一種訊號壓縮之演算法之執行流程圖。該訊號壓縮之演算法用於一小波係數之壓縮與編碼,該方法至少包含下列步驟:
步驟(1):輸入一原始訊號;
步驟(2):將該原始訊號以位元平面轉換後輸出一起始狀態旗標、一正負號位元平面資料及複數個位元平面資料,其中該起始狀態旗標用於指示該原始訊號之開始及所包含的位元平面個數;
步驟(3):將該正負號位元平面資料儲存至一符號陣列(Sign[i])中、該複數個位元平面資料係以一最高有效位元(MSB)平面資料至一最低有效位元(LSB)平面資料之方式重複交替儲存至該第一位元陣列(data1 [i])及第二位元陣列(data2 [i])中,其中於該最高有效位元(MSB)平面資料儲存至該第一位元陣列(data1 [i])或該第二位元陣列(data2 [i])時,同時將一正負號位元旗標陣列(Sign Flag[i],SF[i])之內容設定為1、一檢查碼旗標陣列(Check Flag A[i],CFA[i])之內容設定為1並透過一檢查碼計算產生一第一檢查碼陣列(Check Bit A1 [i],CBA1 [i]),其中於後續之該複數位元平面資料進行儲存時,則透過該檢查碼計算交替產生一後續複數位元平面之第一檢查碼陣列(CBA1 [i])或一第二檢查碼陣列(Check Bit A2 [i],CBA2 [i]);以及
步驟(4):依據一編碼方式、該第一檢查碼陣列(CBA1[i])及該第二檢查碼陣列(CBA2[i])進行編碼後輸出。
其中,該原始訊號的輸入方式以位元平面為單位,分別以該正負號位元平面資料及該複數個位元平面資料表示該原始訊號以正負號及量(Sign-Magnitude)。該起始狀態旗標用以指示一個原始訊號的開始及其所包含的位元平面數。該符號陣列(Sign[i])用以儲存N個正負號位元,N為一個畫面的資料數量。該正負號位元旗標陣列(SF[i])用以記錄對應位置之該符號陣列(Sign[i])之正負號是否曾經輸出過。當該正負號位元旗標陣列(SF[i])為0時表示該符號陣列(Sign[i])中之第i 個位置的正負號已輸出過。該第一位元陣列(data1 [i])及該第二位元陣列(data2 [i])分別用於儲存每一個位元平面的資料,兩組陣列的設計為因應管線式處理時須交互儲存相鄰位元平面的資料。該第一檢查碼陣列(CBA1 [i])用以儲存一個位元平面的第一檢查碼資料,該第二檢查碼陣列(CBA2 [i])用以儲存一個位元平面的第二檢查碼資料,每一位元平面需要N /2個檢查位元。相同地,兩組陣列的設計為因應管線式處理時須交互儲存相鄰位元平面的檢查碼資料。該檢查碼旗標陣列(CFA[i])用以記錄該檢查碼陣列(CFA[i])之子代內容是否已輸出,i用以表示陣列中之資料位址。一原始訊號中的所有該複數個位元平面資料皆共用該檢查碼旗標陣列(CFA[i]),而資料流中的資料流動(Data moving)則由系統時鐘(System clock)驅動。
需注意的是,於步驟(3)中之該正負號位元平面資料及該複數個位元平面資料之輸入方式為反原始SPIHT順序輸入訊號資料(即H1、H2、H3、L3),並依序為正負號位元平面資料、最高有效位元(Most significant bit,MSB)平面資料至最低有效位元(Least significant bit,LSB)平面資料。如此交互使用該第一位元陣列(data1 [i])及該第二位元陣列(data2 [i])直至該最低有效位元(LSB)平面資料輸入完畢,再重覆開始下一畫面之原始訊號的資料輸入。此外,該複數個位元平面資料在儲存該第一位元陣列(data1 [i])或該符號陣列(Sign[i])期間,同時針對該第二位元陣列(data2 [i])之內容進行編碼,其方式與步驟(4)之該編碼方式相同,並於編碼完成後檢查該第二位元陣列(data2 [i])是否為該最低有效位元(LSB)平面資料,若該第二位元陣列(data2 [i])為該最低有效位元(LSB)平面資料則結束編碼,反之則進行步驟(4)。而該檢查碼計算需滿足下列之關係:
其中’%’表示模數運算,例如257% 256=1,該第一檢查碼陣列(Check Bit A1 [i],CBA1 [i])及該第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])皆以該檢查碼計算產生。
另需注意的是,步驟(4)中之該編碼方式之於步驟(3)中之該正負號位元平面資料及該複數個位元平面資料之順序反向(即與原始SPIHT的編碼順序相同)。該符號陣列(Sign[i])、該第一位元陣列(data1 [i])、該第二位元陣列(data2 [i])及該正負號位元旗標陣列(SF[i])之儲存方向為位址i=0,1,2,..,N-1。該第一檢查碼陣列(Check Bit A1 [i],CBA1 [i])、該第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])及該檢查碼旗標陣列(CFA[i])之儲存方向為位址i=0,1,2,..,N/2-2。係藉由倒數計數器由N/2-1往下數。另外,於步驟(4)中之該編碼方式需滿足下列之步驟:
步驟(3-1):若i=N/2-1時,輸出該第一位元陣列(data1 [N-1])之內容、該第一位元陣列(data1 [N-2])之內容、該符號陣列(Sign[N-1])之內容及該符號陣列(Sign[N-2])之內容;
步驟(3-2):在i≠N/2-1且該檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於0之條件下,若i=N/2-2或該檢查碼旗標陣列CFA[j]之內容等於0,則輸出0,其中j=i/2+N/4;
步驟(3-3):在i≠N/2-1且該檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於1之條件下,設定該檢查碼旗標陣列(CFA[i])之內容為0、輸出1、該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;
步驟(3-4):在i≠N/2-1且該檢查碼旗標陣列(CFA[i])之內容等於0之條件下,輸出該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;
步驟(3-5):於步驟(3-1)至步驟(3-4)中,若需輸出該符號陣列(Sign[i])時,則判斷該第一位元陣列(data1 [i])之內容及該正負號位元旗標陣列(SF[i])之內容是否為1,若為之則輸出該符號陣列(Sign[i])之內容並將該正負號位元旗標陣列(SF[i])之內容設為0,反之則不輸出該符號陣列(Sign[i])之內容;
步驟(3-6):檢查該第一位元陣列(data1 [i])是否為該最低有效位元(LSB)平面資料,若該第一位元陣列(data1 [i])為該最低有效位元(LSB)平面資料則結束編碼,反之則執行步驟(4);以及
其中步驟(3-1)至步驟(3-6)亦適用於該第二位元陣列(data2 [i])及該第二檢查碼陣列(CBA2 [i])。
現請參考第4圖,其顯示為本發明之一實施例之三段式管線型即時作業流程示意圖。管線式編碼處理即為利用該第一位元陣列(data1 [i])、該第二位元陣列(data2 [i])、該第一檢查碼陣列(CBA1 [i])及該第二檢查碼陣列(CBA2 [i]),兩組陣列的交互使用,使得檢查碼計算和編碼方式兩動作可以結合成平行處理架構。管線式處理架構係基於編碼方式與起始化動作可平行處理、編碼方式與檢查碼計算可平行處理。而正負號位元平面資料輸入為起始化動作,可與前一原始資料中具有該最低有效位元(LSB)平面資料之該第一位元陣列(data1 [i])或該第二位元陣列(data2 [i])之編碼流程平行處理,但檢查碼計算與起始化動作不能同時進行平行處理。具有該最高有效位元(MSB)平面資料之該第一位元陣列(data1 [i])或該第二位元陣列(data2 [i])的編碼流程則與下一位元平面的檢查碼計算於同一時段中平行處理。以此類推,一直進行到所有位元平面完成編碼並輸入下一畫面資料。
現請參考第5圖,其顯示本發明之一維小波轉換係數之位元平面資料(N=8)示意圖。於此一實施例中,其轉換係數為{18、-14、-7、8、5、0、-3、1},該第一位元陣列(data1 [i])、該第二位元陣列(data2 [i])與該符號陣列(Sign[i])分別表示於圖中。現請參考第6圖,其顯示使用本發明之一種訊號壓縮之演算法之小波轉換係數之編碼結果示意圖。
現請參考第7圖,其顯示為本發明之一種改良式訊號壓縮之演算法之執行流程圖。該改良式訊號壓縮之演算法用於一小波係數之壓縮與編碼,該方法至少包含下列步驟:
步驟(1):輸入一原始訊號;
步驟(2):將該原始訊號以位元平面轉換後輸出一起始狀態旗標、一正負號位元平面資料及複數個位元平面資料,其中該起始狀態旗標用於指示該原始訊號之開始及所包含的位元平面個數;
步驟(3):將該正負號位元平面資料儲存至一符號陣列(Sign[i])中、該複數個位元平面資料係以一最高有效位元(MSB)平面資料至一最低有效位元(LSB)平面資料之方式重複交替儲存至一第一位元陣列(data1 [i])及一第二位元陣列(data2 [i])中,其中於該最高有效位元(MSB)平面資料進行儲存時,同時將一正負號位元旗標陣列(Sign Flag[i],SF[i])之內容設定為1、一第一檢查碼旗標陣列(Check Flag A[i],CFA[i])之內容設定為1、一第二檢查碼旗標陣列(Check Flag B[i],CFB[i])之內容設定為1並透過一第一檢查碼計算產生一第一檢查碼陣列(Check Bit A1 [i],CBA1 [i])、於後續之該複數位元平面資料進行儲存時,則透過該第一檢查碼計算交替產生該第一檢查碼陣列(CBA1 [i])或一第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])、透過一第二檢查碼計算交替產生一第三檢查碼陣列(Check Bit B1 [i],CBB1 [i])或一第四檢查碼陣列(Check Bit B2 [i],CBB2 [i]);
步驟(4):依據一第一編碼方式及該第一檢查碼陣列(CBA1 [i])、該第二檢查碼陣列(CBA2 [i])、一第二編碼方式及該第三檢查碼陣列(CBB1 [i])及該第四檢查碼陣列(CBB2 [i])進行編碼後輸出;以及
此外,該原始訊號的輸入方式以位元平面為單位,分別以該正負號位元平面資料及該複數個位元平面資料表示該原始訊號以正負號及量(Sign-Magnitude)。該起始狀態旗標用以指示一個原始訊號的開始及其所包含的位元平面數。該符號陣列(Sign[i])用以儲存N個正負號位元,N為一個畫面的資料數量。該正負號位元旗標陣列(SF[i])用以記錄對應位置之該符號陣列(Sign[i])之正負號是否曾經輸出過。當該正負號位元旗標陣列(SF[i])為0時表示該符號陣列(Sign[i])中之第i 個位置的正負號已輸出過。該第一位元陣列(data1 [i])及該第二位元陣列(data2 [i])分別用於儲存每一個位元平面的資料,兩組陣列的設計為因應管線式處理時須交互儲存相鄰位元平面的資料。該第一檢查碼陣列(CBA1 [i])用以儲存一個位元平面的第一檢查碼資料,該第二檢查碼陣列(CBA2 [i])用以儲存一個位元平面的第二檢查碼資料,每一位元平面需要N /2個檢查位元。相同地,兩組陣列的設計為因應管線式處理時須交互儲存相鄰位元平面的檢查碼資料。該第一檢查碼旗標陣列(CFA[i])用以記錄該第一檢查碼旗標陣列(CFA[i])用以記錄該第一檢查碼陣列(CFA[i])之子代內容是否已輸出、該第二檢查碼旗標陣列(CFB[i])用以記錄該第二檢查碼旗標陣列(CFB[i])之子代內容是否已輸出。i用以表示陣列中之資料位址。一原始訊號中的所有該複數個位元平面資料皆共用該第一檢查碼陣列(CFA[i])及該第二檢查碼旗標陣列(CFB[i]),而資料流中的資料流動(Data moving)則由系統時鐘(System clock)驅動。
需注意的是,於步驟(3)中之該正負號位元平面資料及該複數個位元平面資料之輸入方式為反原始SPIHT順序輸入訊號資料(即H1、H2、H3、L3),並依序為正負號位元平面資料、最高有效位元(MSB)平面資料至最低有效位元(LSB)平面資料。如此交互使用該第一位元陣列(data1 [i])及該第二位元陣列(data2 [i])直至該最低有效位元(LSB)平面資料輸入完畢,再重覆開始下一畫面之原始訊號的資料輸入。此外,該複數個位元平面資料在儲存該第一位元陣列(data1 [i])或該符號陣列(Sign[i])期間,同時針對該第二位元陣列(data2 [i])之內容進行編碼,其方式與步驟(4)之該編碼方式相同,並於編碼完成後檢查該第二位元陣列(data2 [i])是否為該最低有效位元(LSB)平面資料,若該第二位元陣列(data2 [i])為該最低有效位元(LSB)平面資料則結束編碼,反之則進行步驟(4)。而該第一檢查碼計算需滿足下列之關係:
其中,該第一檢查碼陣列(CBA1 [i])及該第二檢查碼陣列(CBA2 [i])皆以該第一檢查碼計算產生。
該第二檢查碼計算需滿足下列之關係:
另需注意的是,步驟(4)中之該編碼方式之於步驟(3)中之該正負號位元平面資料及該複數個位元平面資料之順序反向(即與原始SPIHT的編碼順序相同)。該符號陣列(Sign[i])、該第一位元陣列(data1[i])、該第二位元陣列(data2[i])及該正負號位元旗標陣列(SF[i])之儲存方向為位址i=0,1,2,..,N-1。該第一檢查碼陣列(CBA1 [i])、該第二檢查碼陣列(CBA2 [i])及該第一檢查碼旗標陣列(CFA[i])之儲存方向為位址i=0,1,2,..,N/2-2。該第三檢查碼陣列(CBB1 [i])、該第四檢查碼陣列(CBB2 [i])及該第二檢查碼旗標陣列(CFB[i])之儲存方向為位址i=0,1,2,..,N/4-2。係藉由倒數計數器由N/2-1往下數。另外,於步驟(4)中之該編碼方式需滿足下列之步驟:
步驟(3-1):若i=N/2-1時,輸出該第一位元陣列(data1 [N-1])之內容、該第一位元陣列(data1 [N-2])之內容、該符號陣列(Sign[N-1])之內容及該符號陣列(Sign[N-2])之內容;
步驟(3-2):在i≠N/2-1且該第一檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於0之條件下,若i=N/2-2或該第二檢查碼旗標陣列(CFB[k])之內容等於0,則輸出0,其中k=(i/2+N/4)%(N/4);
步驟(3-3):在i≠N/2-1且i≧N/4且該第一檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於1之條件下,設定該第一檢查碼旗標陣列(CFA[i])之內容為0、輸出1、該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容、該符號陣列(Sign[2i])之內容及該第三檢查碼陣列(CBB[i%N/4])之內容,其中若該第三檢查碼陣列(CBB[i%N/4])之內容等於1,則設定該第二檢查碼旗標陣列(CFB[i])之內容為0;
步驟(3-4):在i≠N/2-1且i<N/4且該第一檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於1之條件下,設定該第一檢查碼旗標陣列(CFA[i])之內容為0、輸出1、該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;
步驟(3-5):在i≠N/2-1且i內容≧N/4且該第一檢查碼旗標陣列(CFA[i])之等於0且該第二檢查碼旗標陣列(CFB[i])之內容等於1之條件下,輸出該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容、該符號陣列(Sign[2i])之內容及該第三檢查碼陣列(CBB[i%N/4])之內容,其中若該第三檢查碼陣列(CBB[i%N/4])之內容等於1,則設定該第二檢查碼旗標陣列(CFB[i])之內容為0;
步驟(3-6):在i≠N/2-1且i≧N/4且該第一檢查碼旗標陣列(CFA[i])之內容等於0且該第二檢查碼旗標陣列(CFB[i])之內容等於1之條件下,輸出該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;以及
步驟(3-7):於步驟(3-1)至步驟(3-6)中,若需輸出該符號陣列(Sign[i])時,則判斷該第一位元陣列(data1 [i])之內容及該正負號位元旗標陣列(SF[i])之內容是否為1,若為之則輸出該符號陣列(Sign[i])之內容並將該正負號位元旗標陣列(SF[i])之內容設為0,反之則不輸出該符號陣列(Sign[i])。
其中步驟(3-1)至步驟(3-6)亦適用於該第二位元陣列(data2 [i])、該第二檢查碼陣列(CBA2 [i])及該第四檢查碼陣列(CBB2 [i])
現請參考第8圖,其顯示為本發明之一實施例之三段式管線型即時作業流程示意圖。管線式編碼處理即為利用該第一位元陣列(data1 [i])、該第二位元陣列(data2 [i])、該第一檢查碼陣列(CBA1 [i])、該第二檢查碼陣列(CBA2 [i])、該第三檢查碼陣列(CBB1 [i])及該第四檢查碼陣列(CBB2 [i]),兩組陣列的交互使用,使得檢查碼計算和編碼方式兩動作可以結合成平行處理架構。管線式處理架構係基於編碼方式與起始化動作可平行處理、編碼方式與檢查碼計算可平行處理。而正負號位元平面資料輸入為起始化動作,可與前一原始資料中具有該最低有效位元(LSB)平面資料之該第一位元陣列(data1 [i])或該第二位元陣列(data2 [i])之編碼流程平行處理,但檢查碼計算與起始化動作不能同時進行平行處理。具有該最高有效位元(MSB)平面資料之該第一位元陣列(data1 [i])或該第二位元陣列(data2 [i])的編碼流程則與下一位元平面的檢查碼計算於同一時段中平行處理。以此類推,一直進行到所有位元平面完成編碼並輸入下一畫面資料。
現請再次參考第6圖,其顯示本發明之一維小波轉換係數之位元平面資料(N=8)示意圖。於此一較佳實施例中,其轉換係數為{18、-14、-7、8、5、0、-3、1},該第一位元陣列(data1 [i])、該第二位元陣列(data2 [i])與該符號陣列(Sign[i])分別表示於圖中。現請參考第9圖,其顯示使用本發明之一種訊號壓縮之演算法之小波轉換係數之編碼結果示意圖。
於本發明中,需注意的是此實施例中與前一實施例之差異在於:
1.額外透過一第二檢查碼計算產生一第三檢查碼陣列(CBB1 [i])及一第四檢查碼陣列(CBB2 [i]);
2.額外具有該第二檢查碼旗標陣列(CFB[i]);
雖然本發明已以前述較佳實施例揭示,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與修改。如上述的解釋,都可以作各型式的修正與變化,而不會破壞此發明的精神。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯,下文特舉本發明較佳實施例,並配合所附圖示,作詳細說明如下:
第1圖顯示為習之技術之二維影像經三階小波轉換的示意圖;
第2圖顯示為習之技術之一維心電圖經三階小波分解的示意圖;
第3圖顯示為本發明之一種訊號壓縮之演算法之執行流程圖;
第4圖顯示為本發明之一實施例之之三段式管線型即時作業流程示意圖;
第5圖顯示為本發明之一維小波轉換係數之位元平面資料(N=8)示意圖;
第6圖顯示為本發明之一實施例之小波轉換係數之編碼結果示意圖;
第7圖顯示為本發明之一種改良式訊號壓縮之演算法之執行流程圖;
第8圖顯示為本發明之一較佳實施例之三段式管線型即時作業流程;以及
第9圖顯示為本發明之一較佳實施例之小波轉換係數之編碼結果示意圖。

Claims (16)

  1. 一種訊號壓縮之演算法,用於一小波係數之壓縮與編碼,該方法至少包含下列步驟:步驟(1):輸入一原始訊號;步驟(2):將該原始訊號以位元平面轉換後輸出一起始狀態旗標、一正負號位元平面資料及複數個位元平面資料,其中該起始狀態旗標用於指示該原始訊號之開始及所包含之位元平面個數;步驟(3):將該正負號位元平面資料儲存至一符號陣列(Sign[i])中、該複數個位元平面資料係以一最高有效位元(MSB)平面資料至一最低有效位元(LSB)平面資料之方式重複交替儲存至一第一位元陣列(data1 [i])及一第二位元陣列(data2 [i])中,其中於該最高有效位元(MSB)平面資料儲存時,同時將一正負號位元旗標陣列(Sign Flag[i],SF[i])之內容設定為1、一檢查碼旗標陣列(Check Flag A[i],CFA[i])之內容設定為1並透過一檢查碼計算產生一第一檢查碼陣列(Check Bit A1 [i],CBA1 [i]),並於後續之該複數位元平面資料進行儲存時,則透過該檢查碼計算交替產生該第一檢查碼陣列(CBA1 [i])或一第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])、該正負號位元旗標陣列(SF[i],)用以記錄該符號陣列(Sign[i])是否已輸出、該檢查碼旗標陣列(CFA[i])用以記錄該檢查碼陣列(CFA[i])之子代內容是否已輸出及i用以表示陣列中之資料位址;以及步驟(4):依據一編碼方式、該第一檢查碼陣列(CBA1 [i])及該第二檢查碼陣列(CBA2 [i])進行編碼後輸出。
  2. 如申請專利範圍第1項所述之演算法,其中該複數個位元平面資料在儲存該第一位元陣列(data1 [i])或該符號陣列(Sign[i])期間,同時針對該第二位元陣列(data2 [i])之內容進行編碼,其方式與步驟(4)之該編碼方式相同,並於編碼完成後檢查該第二位元陣列(data2 [i])是否為該最低有效位元(LSB)平面資料,若該第二位元陣列(data2 [i])為該最低有效位元(LSB)平面資料則結束編碼,反之則進行步驟(4)。
  3. 如申請專利範圍第1項所述之演算法,其中該符號陣列(Sign[i])、該第一位元陣列(data1 [i])、該第二位元陣列(data2 [i])及該正負號位元旗標陣列(SF[i])之儲存方向為位址i=0,1,2,..,N-1。
  4. 如申請專利範圍第1項所述之演算法,其中該第一檢查碼陣列(CBA1 [i])、該第二檢查碼陣列(CBA2 [i])及該檢查碼旗標陣列(CFA[i])之儲存方向為位址i=0,1,2,..,N/2-2。
  5. 如申請專利範圍第1項所述之演算法,其中該檢查碼計算需滿足下列之關係: 其中,該第一檢查碼陣列(Check Bit A1 [i],CBA1 [i])及該第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])皆以該檢查碼計算產生。
  6. 如申請專利範圍第1項所述之演算法,其中該編碼方式需滿足下列之步驟:步驟(3-1):若i=N/2-1時,輸出該第一位元陣列(data1 [N-1])之內容、該第一位元陣列(data1 [N-2])之內容、該符號陣列(Sign[N-1])之內容及該符號陣列(Sign[N-2])之內容;步驟(3-2):在i≠N/2-1且該檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於0之條件下,若i=N/2-2或該檢查碼旗標陣列CFA[j]之內容等於0,則輸出0,其中j=i/2+N/4;步驟(3-3):在i≠N/2-1且該檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於1之條件下,設定該檢查碼旗標陣列(CFA[i])之內容為0、輸出1、該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;步驟(3-4):在i≠N/2-1且該檢查碼旗標陣列(CFA[i])之內容等於0之條件下,輸出該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;步驟(3-5):於步驟(3-1)至步驟(3-4)中,若需輸出該符號陣列(Sign[i])時,則判斷該第一位元陣列(data1 [i])之內容及該正負號位元旗標陣列(SF[i])之內容是否為1,若為之則輸出該符號陣列(Sign[i])之內容並將該正負號位元旗標陣列(SF[i])之內容設為0,反之則不輸出該符號陣列(Sign[i])之內容;以及步驟(3-6):檢查該第一位元陣列(data1 [i])是否為該最低有效位元(LSB)平面資料,若該第一位元陣列(data1 [i])為該最低有效位元(LSB)平面資料則結束編碼,反之則執行步驟(4)。
  7. 如申請專利範圍第6項所述之演算法,其中步驟(3-1)至步驟(3-6)亦適用於該第二位元陣列(data2 [i])及該第二檢查碼陣列(CBA2 [i])。
  8. 一種改良式訊號壓縮之演算法,用於一小波係數之壓縮與編碼,該方法至少包含下列步驟:步驟(1):輸入一原始訊號;步驟(2):將該原始訊號以位元平面轉換後輸出一起始狀態旗標、一正負號位元平面資料及複數個位元平面資料,其中該起始狀態旗標用於指示該原始訊號之開始及所包含的位元平面個數;步驟(3):將該正負號位元平面資料儲存至一符號陣列(Sign[i])中、該複數個位元平面資料係以一最高有效位元(MSB)平面資料至一最低有效位元(LSB)平面資料之方式重複交替儲存至一第一位元陣列(data1 [i])及一第二位元陣列(data2 [i])中,其中於該最高有效位元(MSB)平面資料進行儲存時,同時將一正負號位元旗標陣列(Sign Flag[i],SF[i])之內容設定為1、一第一檢查碼旗標陣列(Check Flag A[i],CFA[i])之內容設定為1、一第二檢查碼旗標陣列(Check Flag B[i],CFB[i])之內容設定為1並透過一第一檢查碼計算產生一第一檢查碼陣列(Check Bit A1 [i],CBA1 [i])、於後續之該複數位元平面資料進行儲存時,則透過該第一檢查碼計算交替產生該第一檢查碼陣列(CBA1 [i])或一第二檢查碼陣列(Check Bit A2 [i],CBA2 [i])、透過一第二檢查碼計算交替產生一第三檢查碼陣列(Check Bit B1 [i],CBB1 [i])或一第四檢查碼陣列(Check Bit B2 [i],CBB2 [i])、該正負號位元旗標陣列(SF[i])用以記錄該符號陣列(Sign[i])是否已輸出、該第一檢查碼旗標陣列(CFA[i])用以記錄該第一檢查碼旗標陣列(CFA[i])用以記錄該第一檢查碼陣列(CFA[i])之子代內容是否已輸出、該第二檢查碼旗標陣列(CFB[i])用以記錄該第二檢查碼旗標陣列(CFB[i])之子代內容是否已輸出及i用以表示陣列中之資料位址;以及步驟(4):依據一第一編碼方式及該第一檢查碼陣列(CBA1 [i])、該第二檢查碼陣列(CBA2 [i])、一第二編碼方式及該第三檢查碼陣列(CBB1 [i])及該第四檢查碼陣列(CBB2 [i])進行編碼後輸出。
  9. 如申請專利範圍第8項所述之演算法,其中該複數個位元平面資料在儲存該第一位元陣列(data1 [i])或該符號陣列(Sign[i])期間,同時針對該第二位元陣列(data2 [i])之內容進行編碼,其方式與步驟(4)之該編碼方式相同,並於編碼完成後檢查該第二位元陣列(data2 [i])是否為該最低有效位元(LSB)平面資料,若該第二位元陣列(data2 [i])為該最低有效位元(LSB)平面資料則結束編碼,反之則進行步驟(4)。
  10. 如申請專利範圍第8項所述之演算法,其中該符號陣列(Sign[i])、該第一位元陣列(data1 [i])、該第二位元陣列(data2 [i])及該正負號位元旗標陣列(SF[i])之儲存方向為位址i=0,1,2,..,N-1。
  11. 如申請專利範圍第8項所述之演算法,其中該第一檢查碼陣列(CBA1 [i])、該第二檢查碼陣列(CBA2 [i])及該第一檢查碼旗標陣列(CFA[i])之儲存方向為位址i=0,1,2,..,N/2-2。
  12. 如申請專利範圍第8項所述之演算法,其中該第三檢查碼陣列(CBB1 [i])、該第四檢查碼陣列(CBB2 [i])及該第二檢查碼旗標陣列(CFB[i])之儲存方向為位址i=0,1,2,..,N/4-2。
  13. 如申請專利範圍第8項所述之演算法,其中該第一檢查碼計算需滿足下列之關係: 其中,該第一檢查碼陣列(CBA1 [i])及該第二檢查碼陣列(CBA2 [i])皆以該第一檢查碼計算產生。
  14. 如申請專利範圍第8項所述之演算法,其中該第二檢查碼計算需滿足下列之關係: 其中,該第三檢查碼陣列(CBB1 [i])及該第四檢查碼陣列(CBB2 [i])皆以該第二檢查碼計算產生。
  15. 如申請專利範圍第8項所述之演算法,其中該編碼方式需滿足下列之步驟:步驟(3-1):若i=N/2-1時,輸出該第一位元陣列(data1 [N-1])之內容、該第一位元陣列(data1 [N-2])之內容、該符號陣列(Sign[N-1])之內容及該符號陣列(Sign[N-2])之內容;步驟(3-2):在i≠N/2-1且該第一檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於0之條件下,若i=N/2-2或該第二檢查碼旗標陣列(CFB[k])之內容等於0,則輸出0,其中k=(i/2+N/4)%(N/4);步驟(3-3):在i≠N/2-1且i≧N/4且該第一檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於1之條件下,設定該第一檢查碼旗標陣列(CFA[i])之內容為0、輸出1、該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容、該符號陣列(Sign[2i])之內容及該第三檢查碼陣列(CBB[i%N/4])之內容,其中若該第三檢查碼陣列(CBB[i%N/4])之內容等於1,則設定該第二檢查碼旗標陣列(CFB[i])之內容為0;步驟(3-4):在i≠N/2-1且i<N/4且該第一檢查碼旗標陣列(CFA[i])之內容等於1且該第一檢查碼陣列(CBA1 [i])之內容等於1之條件下,設定該第一檢查碼旗標陣列(CFA[i])之內容為0、輸出1、該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;步驟(3-5):在i≠N/2-1且i內容≧N/4且該第一檢查碼旗標陣列(CFA[i])之等於0且該第二檢查碼旗標陣列(CFB[i])之內容等於1之條件下,輸出該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容、該符號陣列(Sign[2i])之內容及該第三檢查碼陣列(CBB[i%N/4])之內容,其中若該第三檢查碼陣列(CBB[i%N/4])之內容等於1,則設定該第二檢查碼旗標陣列(CFB[i])之內容為0;步驟(3-6):在i≠N/2-1且i≧N/4且該第一檢查碼旗標陣列(CFA[i])之內容等於0且該第二檢查碼旗標陣列(CFB[i])之內容等於1之條件下,輸出該第一位元陣列(data1 [2i+1])之內容、該第一位元陣列(data1 [2i])之內容、該符號陣列(Sign[2i+1])之內容及該符號陣列(Sign[2i])之內容;以及步驟(3-7):於步驟(3-1)至步驟(3-6)中,若需輸出該符號陣列(Sign[i])時,則判斷該第一位元陣列(data1 [i])之內容及該正負號位元旗標陣列(SF[i])之內容是否為1,若為之則輸出該符號陣列(Sign[i])之內容並將該正負號位元旗標陣列(SF[i])之內容設為0,反之則不輸出該符號陣列(Sign[i])。
  16. 如申請專利範圍第15項所述之演算法,其中步驟(3-1)至步驟(3-6)亦適用於該第二位元陣列(data2 [i])、該第二檢查碼陣列(CBA2 [i])及該第四檢查碼陣列(CBB2 [i])。
TW101102228A 2012-01-19 2012-01-19 一種改良式訊號壓縮之演算法 TWI463807B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101102228A TWI463807B (zh) 2012-01-19 2012-01-19 一種改良式訊號壓縮之演算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101102228A TWI463807B (zh) 2012-01-19 2012-01-19 一種改良式訊號壓縮之演算法

Publications (2)

Publication Number Publication Date
TW201332301A TW201332301A (zh) 2013-08-01
TWI463807B true TWI463807B (zh) 2014-12-01

Family

ID=49479167

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101102228A TWI463807B (zh) 2012-01-19 2012-01-19 一種改良式訊號壓縮之演算法

Country Status (1)

Country Link
TW (1) TWI463807B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949911A (en) * 1997-05-16 1999-09-07 Teralogic, Inc. System and method for scalable coding of sparse data sets
US6381280B1 (en) * 1997-05-30 2002-04-30 Interval Research Corporation Single chip motion wavelet zero tree codec for image and video compression
US6606416B1 (en) * 1998-10-30 2003-08-12 Canon Kabushiki Kaisha Encoding method and apparatus for representing a digital image
US7333663B1 (en) * 2003-04-07 2008-02-19 Xilinx, Inc. Method and apparatus for efficient entropy coding of images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949911A (en) * 1997-05-16 1999-09-07 Teralogic, Inc. System and method for scalable coding of sparse data sets
US6381280B1 (en) * 1997-05-30 2002-04-30 Interval Research Corporation Single chip motion wavelet zero tree codec for image and video compression
US6606416B1 (en) * 1998-10-30 2003-08-12 Canon Kabushiki Kaisha Encoding method and apparatus for representing a digital image
US7333663B1 (en) * 2003-04-07 2008-02-19 Xilinx, Inc. Method and apparatus for efficient entropy coding of images

Also Published As

Publication number Publication date
TW201332301A (zh) 2013-08-01

Similar Documents

Publication Publication Date Title
ZainEldin et al. Image compression algorithms in wireless multimedia sensor networks: A survey
Mammeri et al. A survey of image compression algorithms for visual sensor networks
Chew et al. Low–memory video compression architecture using strip–based processing for implementation in wireless multimedia sensor networks
JPH11163733A (ja) 符号化方法および装置
CN101984666A (zh) 一种基于提升小波变换的图像无损压缩和解压方法
CN102186076B (zh) 一种实时码率预分配的图像压缩方法及图像压缩装置
CN101404772A (zh) 基于小波变换的vlsi图像压缩编码器
JP2007124619A (ja) 画像処理装置、画像処理方法、プログラム、情報記録媒体
CN101867809A (zh) 基于脉动阵列的高速图像压缩vlsi编码方法及编码器
WO2022135218A1 (zh) 图像编码方法及装置
Loomans et al. Low-complexity wavelet-based scalable image & video coding for home-use surveillance
ZainEldin et al. A modified listless strip based SPIHT for wireless multimedia sensor networks
TWI463807B (zh) 一種改良式訊號壓縮之演算法
CN107249130A (zh) 一种用于数字视频编解码的3乘3整数dct变换量化器
Ravichandran et al. Performance of wavelet based image compression on medical images for cloud computing
Shah et al. VLSI-oriented lossy image compression approach using DA-based 2D-discrete wavelet.
CN102333222B (zh) 二维离散小波变换电路及应用该电路的图像压缩方法
Ebrahim et al. A comprehensive review of distributed coding algorithms for visual sensor network (VSN)
Hasan et al. The most proper wavelet filters in low-complexity and an embedded hierarchical image compression structures for wireless sensor network implementation requirements
US20100142827A1 (en) Information processing apparatus and method
Sandhu et al. Matlab Based Image Compression Using Various Algorithms
Balakrishnan Design and implementation of lifting based daubechies wavelet transforms using algebraic integers
KR20110071204A (ko) 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법
Lin et al. Self-adaptive image codec for intelligent vision sensor networks
Lee et al. CUDA-based JPEG2000 encoding scheme

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees