當前位置:首頁 » 文件管理 » 神奇壓縮

神奇壓縮

發布時間: 2023-07-21 01:49:52

A. Unity3D 手游骨骼動畫有無什麼神奇的壓縮方式

幀動畫的製作重點在美工方面,做完導入後編程方面對它的控制很少,改變播放速度,和另一貼圖或純色混合(比如實現漸隱效果)大概就這些。
而骨骼動畫導入後,在編程上可以將多個動畫片段進行混合或過渡,如
animation.Blend("FallDown", 0, 0.2);
animation.Blend("Jump", 0, 0.2);
就是將角色的下落和跳起動畫混合,是它看上去既有跳起又有下落的姿態。

B. 文件是怎麼被壓縮的呀

提起壓縮,大家都會想到WINZIP或者RAR之類的壓縮軟體,實際上,電腦壓縮技術的內涵和應用絕不止於此。我們能夠在在電腦上欣賞到精美的電影和悅耳的歌曲,壓縮技術立下了汗馬功勞。在今天互聯網的傳送速度遠不能滿足我們需要的時候,網路壓縮技術也顯得特別重要。正是有了它,我們才得以實現網路視頻/音頻的即時傳送。壓縮技術,在不知不覺中改變著我們的生活。

【預備知識】二進制與ASCII編碼

電腦里基本的存儲單位是位元組。ASCII碼是一種以位元組為單位對常用符號進行編碼的方案,因其合理性而較為流行。因為一個位元組有8位,所以ASCII最多可對2^8=256個字元進行編碼,其中前128個稱為標准ASCII碼(二進制編號00000000-01111111),後128個稱為擴展ASCII碼(二進制編號10000000-11111111),電腦里的漢字就是利用兩個擴展ASCII碼的組合來實現的(GB2312漢字編碼方案)。比如漢字「王」佔用的兩個ASCII編碼分別是205和245,十六進製表示是CD和F5,化為二進制就是11001101和11110101。也就是說,在電腦處理「王」這個漢字時,電腦里的信息是「1100110111110101」這樣一串數字。再如大寫的英文字母「A」的ASCII編碼是65,十六進製表示是41,在電腦里的信息實際上是「01000001」。

【縮位壓縮】

知道了上述原理後,我們來介紹「縮位壓縮」的原理。「縮位」,就是縮減編碼里沒有必要使用的「位」。例如文件里一個漢字也沒有,也就是說內容中沒有使用擴展ASCII碼,這樣所有字元編碼的第七位(最前面那一位)將都會是0。利用這一點我們就可以縮掉這一位,假設文件內容是ABCDEFGH。

文件內容: ABCDEFGH

二進制內容:01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000

壓縮後文件內容: [該內容中文狀態下顯示是亂碼,故無法寫出]

二進制內容:10000011 00001010 00011100 01001000 10110001 10100011 11001000

這個壓縮過程就是將原來頂頭的0全部去掉後每8位重排,這樣原來佔用8個位元組的文件就只佔用了7個位元組。只要解壓時再加上第七位的0,文件就可以恢復原樣。這一壓縮技術特別適用於對數字的壓縮。因為0~9這十個阿拉件數字佔用的ASCII編碼是從00110000-00111001,其前四位全部都是「0011」。

【直接壓縮】

直接壓縮的原理最易理解,因為有些時候,文件里不可避免地存在著連續同樣的字元,比如在文件末尾加了一行「※※※※※※※※※※※※※※※※※※※※※※」符號。這樣的話,壓縮時可以只記住這個符號以及重復的次數,就可以迅速還原。

【字典壓縮】

字典壓縮是最重要的一種壓縮技術,也是應用最為廣泛的一種壓縮技術。該技術搜索文件中重復出現的字元串,如「中華人民共和國」、「改革開放」等,記錄後(記錄後的內容被稱為「字典」)在正文中使用另一個簡短的編碼來代替它。想一想Windows系統里充滿了多少的「Windows」和「Microsoft」這些字元,你就會明白為什麼這種壓縮技術對Windows操作系統如此有效了。這種壓縮方案對政治稿件和學術論文特別適用。

字典壓縮技術無論對文本文件還是可執行的代碼文件都同樣高效,而且可以涵蓋掉「直接壓縮」技術。現在流行的ZIP,ARJ、RAR,AIN等壓縮軟體都採用了此項技術。但是此種技術中,合適的字典長度很重要,將字典設得太大或太小都嚴重影響壓縮效果,且進行壓縮時速度相對較慢。

多數壓縮軟體綜合使用各項壓縮技術。

【矢量壓縮】

雖然字典壓縮強勁有力,但是對有些文件內容還是無能為力,比如下面的內容:

啊雹玻長觸鄲錠法

這些看起來不成文的漢字實際上卻有著內在的聯系,它們分別是GB2312編碼中的第1601、1702、1803、1904、2005、2106、2207、2308區位的漢字。對於這種情況,可以通過尋找它們之間的數學聯系(如數列、方程等)進行記憶式的壓縮。這種記憶式的壓縮叫做矢量壓縮,是一種正在興起的新壓縮技術。

矢量壓縮有時可以帶給我們意想不到的享受。很多人驚奇於FLASH能以如此小的體積帶給我們如此豐富的信息,就是因為FLASH里使用了矢量壓縮技術。使用方程記憶一個點的運動軌跡遠比記憶這個點的所有位置信息量要小得多的多。但另一面,對於照片和錄音這些資料,現在的矢量化技術還做不到從中找到即高保真又有規律的方案來,所以下一種壓縮技術有了大顯身手的空間。

【有損壓縮與VCD】

VCD的產生要歸功於聯合圖象專家組(JPEG)的努力。他們提出了一種全新的壓縮技術標准,也可以說是一種全新的壓縮概念。這種概念催化了運動圖象專家組(MPEG)標準的誕生及VCD工業化的實現。JPEG圖象壓縮技術以圖象的每8*8個點的點陣做為一個處理單元,在這個范圍內,如果全部都是某一色彩而只有極個別的其他色彩,那麼其他色彩將被忽略。這種壓縮技術理論上的壓縮比高達為64:1,一個64MB的文件現在只需1MB就可以了?這實在很令人心動。為了進一步擴展壓縮效果和提高該技術的適應范圍,JPEG做了靈活調整。允許用戶自行設置處理單元的大小和忽略其他色彩的程度,這也就是為什麼JPEG圖像有「質量」屬性的原因。

JPEG提出的這種「有損壓縮」的概念使得該壓縮技術有一定的局限性,比如說,JPEG不適合用來壓縮工程圖紙、醫學影像等等資料。但其注重實用性的思路卻大大啟發了人們,RealPlayer就是沿著這條路率先實現了網上視頻的實時播放。而VCD中剝離了圖象的聲音則也漸漸形成了流行的MP3音樂。(聲音壓縮的編碼方案過於繁雜,本文未予論述)

【壓縮文件縫隙】

除這些壓縮技術之外,DOS/Windows系統本身也留給了大家一個壓縮的故事。在DOS/Windows系統下,磁碟存儲空間被劃分成一小塊一小塊地使用,而不是象UNIX或者Novell那樣在系統控制下所有文件都攪和在一起。這種開放式的磁碟文件使用格式雖然不安全(簡直毫無安全可言),但是效率高,易操作。這可能也是DOS/Windows在家用和商用市場打敗UNIX和Novell但在伺服器領域卻始終比不上他們的一個重要原因。——因為每個分配塊只能供一個文件使用,所以即使文件(或文件的最後一塊)只有一個位元組,也必須佔用一個分配塊。因為當時只留了兩個位元組來分配這種存儲塊(兩個位元組是16位,這種分配機制叫做FAT16),所以不論分區有多麼大,最多都只能被分為2^16=65536個分配塊。比如說一個2GB的分區,其分配塊大小是32KB;當分區超過2GB時,分配塊將不得不增長到64KB。想一想,如果一個位元組的文件也要佔掉你的64KB時,你能夠不惱火?所以從Windows 95 OSR2版本開始,Microsoft推出了FAT32解決方案。但是即使如此,「文件縫隙」依然存在。

Microsoft為了解決文件縫隙,曾在DOS 6.0時代推出過Double Space(DBLSPACE),後來改為DRVSPACE,這東西在Windows 95/98/ME上還依然存在。當時號稱可以倍增硬碟容量,令大家激動不已,但是嘗試過後高呼上當。原來Microsoft只不過是抄襲他人,使用了「虛擬卷」技術而已,該技術頂多可以省掉文件縫隙,對於整盤只放了一個大文件的用戶來說簡直毫無用途。

壓縮文件縫隙現在有了一個較好的辦法,那就是把不常用的文件用WINZIP打成一個包,尤其是大量的小文件和/或在FAT16的環境下,使用這一方法可以節省你很多的磁碟空間。但是無論如何,「文件縫隙」看來要在Windows系統中永遠存在了。

【越壓越大?】

文件會越壓越大么?答案是:會的。因為壓縮文件需要一個控制解壓縮的文件頭(文件格式及字典等),所以對已經「無以為壓」的文件進行壓縮時,將徒增一個文件頭,文件當然會越來越大。另外,雖然壓縮後的文件更省空間,更安全了(壓縮文件可以加密而普通文本文件不行),但是如果一旦文件頭損壞,整個文件將無法解壓。所以壓縮文件的文件頭是很重要的。這跟剛才講過的FAT格式與UNIX/Novell卷格式的差別比起來,倒是有相形之處。但如果大家的ZIP文件損壞,建議試一下DOS版的ZIP解壓程序PKUNZIP,也許還可以解救一部分。

【可執行文件的壓縮】

不但文檔文件和數據文件可以壓縮,可執行文件也可以進行壓縮。致力於壓縮技術的PKWARE Inc.公司在最早推出PKZIP軟體時(大約是1990年的事情),就有三個主要程序,分別是PKZIP.EXE(壓縮時用)、PKUNZIP.EXE(解壓縮時用)和PKLITE.EXE(壓縮可執行文件時用)。壓縮可執行文件的過程很神奇,文件名並不會被改變,只是長度會變小。這樣的壓縮文件在執行時,會在內存中自我釋放,然後重定位重載入再執行。因為電腦做起來是一瞬間的事情,所以幾乎感覺不到文件被壓縮過。在軟盤盛行的時代,這個工具十分有用。

Windows下的程序現在是越來越大了,所以很多編程人都將自己的主程序進行壓縮,一方面也可以起到防盜版的作用,著名的「Red Alert」就採取了這樣的做法。隨著互聯網傳播軟體功能的發揮,很多軟體被打包為可執行程序,點擊後可以自行展開並進行安裝,這些也都是可執行文件的壓縮的例子。

【壓縮技術的辨證分析】

站在歷史的觀點上分析,壓縮技術是必然要滅亡的。我們現在看10前年的DOS時代,當時為了存儲目的而實施的壓縮工作現在已經淹沒在海量的存儲設備容量里。從理論上講,壓縮畢竟浪費了我們的時間與精力,如果存儲空間足夠,我們沒有需要壓縮的理由。考察現在的壓縮目的,除了小部分是為了方便檢索之外,目前大量的壓縮是為了適應互聯網慢吞吞的傳送速度。那麼,當網速能夠滿足我們隨時將整個硬碟上的內容在網路上拖來拖去時,我們還需要壓縮嗎?當光碟的容量足夠大時,我們還會容忍JPEG技術替我們扔掉那一兩個色點嗎?

但是哲學指導我們,事情總是在發展,總是有其另一面的特性,當容量不再成為壓縮的目的時,傳送成了我們壓縮的另一個目的。又有誰能夠預料,下一個壓縮的目的會不會產生,而又將是什麼呢?(全文完)

C. 壓縮軟體的原理是什麼

計算機處理的信息是以二進制數的形式表示的,因此壓縮軟體就是把二進制信息中相同的字元串以特殊字元標記來達到壓縮的目的。為了有助於理解文件壓縮,請您在腦海里想像一幅藍天白雲的圖片。對於成千上萬單調重復的藍色像點而言,與其一個一個定義「藍、藍、藍……」長長的一串顏色,還不如告訴電腦:「從這個位置開始存儲1117個藍色像點」來得簡潔,而且還能大大節約存儲空間。這是一個非常簡單的圖像壓縮的例子。其實,所有的計算機文件歸根結底都是以「1」和「0」的形式存儲的,和藍色像點一樣,只要通過合理的數學計算公式,文件的體積都能夠被大大壓縮以達到「數據無損稠密」的效果。總的來說,壓縮可以分為有損和無損壓縮兩種。如果丟失個別的數據不會造成太大的影響,這時忽略它們是個好主意,這就是有損壓縮。有損壓縮廣泛應用於動畫、聲音和圖像文件中,典型的代表就是影碟文件格式MPEG、音樂文件格式MP3和圖像文件格式JPG。

壓縮原理
很多人都驚異於壓縮技術的神奇,一個文件被壓縮成一半大小,何以能無損還原呢?

早期使用的壓縮技術都基於統計模型,到20世紀80年代初基於字典壓縮的新技術才慢慢推廣開來。

數據壓縮包含了非常多的軟體和硬體技術,這些技術各不相同,但是大多數壓縮軟體都是基於LZ77、LZ88演算法並加以修正而成,而LZ77是字典壓縮的起源。大家都知道一個文本文件是由一些單片語成,而且必定有重復現象發生,例如我們這里經常出現的「壓縮軟體」一詞,壓縮的原理就是在文件的頭部做一個類似字典的東西,把「壓縮軟體」這個詞放在「字典」中,並為這個詞指定一個占較少位元組數的編碼,而文章中的「壓縮軟體」 一詞均用此編碼代替,以達到壓縮的目的。當然壓縮軟體在實際運作中並非如此簡單,還要使用一些看了就頭痛的演算方法,在此就不一一細述。也許有人會問,文本文件可用字典技術,那其它文件怎麼辦呢。這就無須操心了,因為對於壓縮軟體來說,一個文件中的「數據壓縮」一詞和「@#¥%^」 是一樣的,關鍵在於冗餘碼(重復部分)的多少。

壓縮常識
按壓縮方式分:有所謂的「透明壓縮」和「打包壓縮」。

「透明壓縮」一般針對.exe和.com文件,直接壓縮。成功的話,文件體積變小,功能不變,運行速度還可能更快。但是,這種壓縮方法的對象面很窄。如果壓縮失敗,還會造成文件不可用。所以,這一類程序總是強烈要求用戶在壓縮前將文件備份。

「打包壓縮」就是現在常提到的壓縮軟體使用的壓縮法。它把一個或多個文件壓縮成一個文件——壓縮包。要使用壓縮後的文件,必須先解壓將文件復原。它的特點是風險小,適用於減小不常用的文件所佔空間和傳輸數據。當然,按照壓縮演算法,我們還可以將壓縮分成很多種。

一般我們在談到壓縮時,會提到許多相關術語,下面我們就提出一些常見的術語進行解釋。

壓縮格式:壓縮文件時使用的壓縮編碼方法不同,壓縮生成的文件結構就不同,這種壓縮文件結構就稱壓縮格式。

壓縮比率:文件壓縮後佔用的磁碟空間與原文件的比率稱壓縮比率。在常用的壓縮格式中,RAR格式壓縮比率較高,ZIP格式較低。但ZIP格式的文件操作速度較快。

解壓:將壓縮文件還原為本來的文件格式,也稱釋放、擴展。

壓縮包:一般將通用壓縮格式的文件稱為壓縮包,如ZIP格式壓縮文件。這種文件可以在壓縮工具的管理下對包中壓縮的文件進行管理,如查看、刪除、添加等。

打包:將文件壓縮成通用壓縮格式的壓縮包文件稱為打包,也指將文件壓縮添加到壓縮包。

多卷壓縮:將壓縮的文件包分成幾個壓縮文件稱為多卷壓縮,一般是為了將壓縮文件儲存在多個軟磁碟上或方便網上傳輸。

自解壓文件:將文件壓縮生成可執行的文件,然後在沒有壓縮工具的幫助下,通過執行壓縮的文件,就可將自己的源文件解壓還原出來。

壓縮文件格式
目前流行著多種壓縮文件格式,下面我們就來看看到底有哪些吧!

ZIP:目前最流行的壓縮文件格式(在Internet上,ZIP文件已經取得了絕對勝利。在日常操作中,除專門的壓縮軟體之外,許多文件管理程序,如Windows Commander等也都支持ZIP格式)。我們可利用WinZip對ZIP文件進行解壓、釋放等操作,還可以用它來處理ARJ、ARC、CAB、LZH等多種不同格式的壓縮文件,從而大大地方便了用戶的操作。

RAR:是一種高效快速的文件壓縮格式,但不被大多數文件壓縮程序支持,WinRAR是在Windows下處理RAR格式文件的最好工具。

ARJ:由DOS下曾經紅極一時的壓縮軟體ARJ壓縮而成的文件格式,它具有功能強大、壓縮率高等優點。到了現在的Windows時代,它已經沒有了往日的輝煌。

CAB:是Windows 98新增的一種特殊壓縮文件格式,主要用於對有關軟體安裝盤中的文件進行壓縮,其特點是壓縮率非常高(可能是目前最高的),但一經壓縮就不能再進行任何增加、刪除、替換等修改,也就是說它的壓縮包具有「只讀」屬性。我們也可使用WinZip對CAB壓縮包進行操作。

??_:軟體安裝盤所採用的一種壓縮文件方式,如*.ex_、*.dl_、*.d3_等,它們一般由系統直接解壓並完成安裝工作,無須用戶操心。當然,我們也可使用DOS的EXPAND命令對*.??_文件進行釋放操作。

UU/UUE:漢字編碼方式,它們原本是Unix系統中使用的一種編碼方式,後來被改寫到DOS中,我們在傳送中文郵件時只須事先使用該方式進行編碼,此後就能順利通過只能處理7位編碼的郵件伺服器,從而解決了漢字的傳輸問題。

ACE:一種新式的壓縮程序,壓縮比很高。

另外,MP3、MPEG、JPG等音頻、視頻、圖像格式的文件也都採用了壓縮技術,從理論上來說它們也應該算壓縮文件,不過它們所採用的壓縮方式並不相同,這里簡單地介紹一下:

JPEG:JPEG 全名為 Joint Photographic Experts Group,它是一個在國際標准組織(ISO)下從事靜態影像壓縮標准制定的委員會。它制定出了第一套國標靜態影像壓縮標准:ISO 10918-1 就是我們俗稱的JPEG了。由於JPEG優良的品質,使得它在短短的幾年內就獲得極大的成功,目前網站上80%的影像都是採用JPEG的壓縮標准。

JPEG 2000:正式名稱為「ISO 15444」,同樣是由JPEG 組織負責制定。JPEG 2000與傳統 JPEG 最大的不同,在於它放棄了JPEG所採用的以離散餘弦轉換為主的區塊編碼方式,而改以小波轉換為主的多解析編碼方式。其壓縮率比 JPEG高約30%左右,同時支持有損和無損壓縮,無損壓縮對保存一些重要圖片十分有用。

MP3:這個大家應該都認識它了,MP3全稱是MPEG 1 Layer 3,是一種高性能的聲音壓縮編碼方案,它可以做出超小「體積」的音樂文件,大小隻是原始音頻數據的1/10到1/12。但人耳聽起來,效果卻沒有太大差異。它一出世就幾乎佔領了電腦音樂領域,由於MP3的出現,過去在網際網路上半小時才能下載完的一首歌曲,現在以MP3格式僅需短短的幾分鍾就可以「搞定」。

MPEG:MPEG是Moving Pictures Experts Group(動態圖像專家組)的縮寫。
現在使用的有4個版本:MPEG-1、MPEG-2、MPEG-3、MPEG-4。

熱點內容
手機網頁緩存視頻 發布:2025-02-03 23:38:48 瀏覽:826
agnes演算法 發布:2025-02-03 23:38:05 瀏覽:29
私密上傳在哪 發布:2025-02-03 23:33:04 瀏覽:1000
切冰解壓 發布:2025-02-03 23:30:36 瀏覽:764
解壓攪拌聲 發布:2025-02-03 23:11:35 瀏覽:831
伺服器硬碟誤拔了怎麼辦 發布:2025-02-03 23:05:26 瀏覽:868
易手遙控連接密碼是多少 發布:2025-02-03 22:44:26 瀏覽:168
sql安裝程序配置伺服器失敗 發布:2025-02-03 22:44:25 瀏覽:588
可以寫腳本的點擊器 發布:2025-02-03 22:44:22 瀏覽:616
c演算法代碼 發布:2025-02-03 22:42:20 瀏覽:863