自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony啃論文俱樂部—一文穿透多媒體過往前沿

系統(tǒng) OpenHarmony
最流行的 LZ 算法實現(xiàn)是最初由 Phil Katz 設計 的 deflate 算法。Deflate 是一種無損數(shù)據(jù)壓縮算法,使用 LZ 算法和霍夫曼編碼的組合,它是由 Jean-loup Gailly 和 Mark Adler 開發(fā)的流行 zlib庫 的一部分。

??想了解更多內(nèi)容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區(qū)??

??https://ost.51cto.com??

【本期看點】

  • 讓你意想不到的 PNG 工作方式。
  • 詳解 MPEG 十八代隱秘關系。
  • AV1 | H.266 王座之戰(zhàn),誰才是最終贏家。
  • 不妨走走未曾設想的醫(yī)學道路。
  • 細胞神經(jīng)網(wǎng)絡也可以很瘋狂。
  • 懂了!原來這就是人眼視覺系統(tǒng)(HVS)。

【技術DNA】

【智慧場景】

無損壓縮

LZ 編碼的應用

概述

最流行的 LZ 算法實現(xiàn)是最初由 Phil Katz 設計 的 deflate 算法。Deflate 是一種無損數(shù)據(jù)壓縮算法,使用 LZ 算法和霍夫曼編碼的組合,它是由 Jean-loup Gailly 和 Mark Adler 開發(fā)的流行 zlib庫 的一部分。 Jean-loup Gailly 也在廣泛使用的 gzip 算法中使用 deflate。deflate 算法也被用于 PNG 圖像格式。

歷史

1. UNIX compress 命令

是 LZW 最早的應用之一。字典的大小是可以適應的。我們從大小為 512 的字典開始。 這意味著傳輸?shù)拇a字長度為 9 位。一旦字典填滿,字典的大小將增加一倍,達到 1024 個條目。此時傳輸?shù)拇a字有 10 位。字典越填越大,其大小逐漸增加一倍。通過這種方式,在編碼過程的前一部分,當字典中的字符串不是很長時,用來編碼它們的碼字也會有更少的位。碼字的最大大小 bmax 可由用戶到 9 到 16 之間,16 位是默認值。一旦字典包含 2bmax 條目,壓縮就成為一種靜態(tài)字典編碼技術。此時,算法監(jiān)視壓縮比。如果壓縮比低于閾值,則將刷新字典,并重新啟動字典構建過程。這樣,詞典總是反映了源的地方特征。

2. 圖像壓縮 png 格式

它是如何工作的?

  • 好問題!上傳 PNG(可移植網(wǎng)絡圖形)文件時,圖像中的相似顏色將組合在一起。這種技術稱為“量化”。通過減少顏色數(shù)量,24 位 PNG 文件可以轉換為小得多的 8 位索引彩色圖像。所有不必要的元數(shù)據(jù)也被剝離。結果更好的PNG文件,100%支持透明度。
  • 在上圖中,文件大小減小了70%以上。我有極好的視力,但也無法發(fā)現(xiàn)差異!使用優(yōu)化的圖像來節(jié)省帶寬和加載時間。

PNG 標準是在互聯(lián)網(wǎng)上開發(fā)的第一個標準之一。它的開發(fā)動機是 Unisys(它已經(jīng)從 Sperry 那里獲得了 LZW 的專利)和 CompuServe 在 1994 年 12 月的一項聲明,他們將開始向支持 GIF 的軟件作者收取版稅。這一聲明導致了數(shù)據(jù)壓縮領域的一場革命,而這場革命正是 Usenet 壓縮組的核心。社區(qū)決定開發(fā)一個無專利的 GIF 替代品,三個月內(nèi),PNG 誕生了。(了解更多關于 PNG 和軟件的詳細歷史,請訪問由 Greg Roelof 維護的 PNG 網(wǎng)站http://www.libpng.org/pub/png/。)

創(chuàng)建 PNG 格式的動機是,1994 年 12 月 28 日,Unisys 獲得了 Unisys 頒發(fā)的專利,即圖形交換格式 GIF 中使用的 Lempel–Ziv-Welch (LZW) 數(shù)據(jù)壓縮算法。該專利要求所有支持GIF的軟件支付版稅,導致Usenet用戶的批評。

其中一位是Thomas Boutell,他于1995年1月4日在Usenet新聞組"comp.graphics"上發(fā)布了一個前身討論線程,其中他設計了一個免費替代GIF的計劃。流行的JPEG查看器QPEG的作者 Oliver Fromme 提出了 PING 名稱,最終成為PNG,便攜式網(wǎng)絡圖形(PNG)格式旨在取代較舊,更簡單的 GIF 格式,并在某種程度上取代更復雜的 TIFF 格式。PNG is Not GIF.

后來實現(xiàn)的其他建議包括Deflate壓縮算法和24位顏色支持,GIF中缺乏后者也激勵團隊創(chuàng)建他們的文件格式。該小組后來被稱為PNG開發(fā)小組,隨著討論的迅速擴大,它后來使用了與 CompuServe 論壇相關的郵件列表。[2][8]

.png

PNG的完整規(guī)范于1996年10月1日在W3C的批準下發(fā)布,后來于1997年1月15日作為 RFC 2083 發(fā)布。該規(guī)范于1998年12月31日修訂為1.1版,解決了伽馬和色彩校正的技術問題。1999年8月11日發(fā)布的1.2版增加了該塊作為規(guī)范的唯一變化,1.2的重新格式化版本于2003年11月10日作為W3C標準的第二版發(fā)布[9],并于2004年3月3日作為國際標準(ISO/IEC 15948:2004)發(fā)布。[10][1]

iTXt

雖然GIF允許動畫,但決定PNG應該是單圖像格式。

2001年,PNG的開發(fā)者發(fā)布了多圖像網(wǎng)絡圖形 MNG 格式,支持動畫。MNG實現(xiàn)了適度的應用程序支持,但在主流Web瀏覽器中還不夠,并且在網(wǎng)站設計者或發(fā)布者中沒有使用。

2008年,某些Mozilla開發(fā)人員發(fā)布了具有類似目標的動畫便攜式網(wǎng)絡圖形 APNG 格式。APNG 是一種基于 Gecko 和 Presto 的Web瀏覽器本機支持的格式,也常用于索尼 PlayStation Portable 系統(tǒng)上的縮略圖(使用正常的PNG文件擴展名)。

2017年,基于 Chromium 的瀏覽器采用了 APNG 支持。2020年1月,Microsoft Edge 開始基于 Chromium ,從而繼承了對 APNG 的支持。有了這個,所有主流瀏覽器現(xiàn)在都支持 APNG 。

圖像壓縮 gif 格式

圖形交換格式(GIF) 是由 Compuserve 信息服務公司開發(fā)的,用于對圖形圖像進行編碼。它是 LZW 算法的另一種實現(xiàn),非常類似于 Unix 中的 compress 命令。

GIF圖像使用 Lempel-Ziv-Welch(LZW) 無損數(shù)據(jù)壓縮技術進行壓縮,以減小文件大小而不會降低視覺質量。雖然 GIF 不是作為動畫媒介設計的,但它在一個文件中存儲多個圖像的能力自然建議使用這種格式來存儲動畫序列的幀。

為了便于顯示動畫,GIF89a規(guī)范添加了圖形控制擴展(GCE),該擴展允許以時間延遲繪制文件中的圖(幀),從而形成視頻剪輯。動畫 GIF 中的每個幀都由其自己的 GCE 引入,該 GCE 指定在繪制幀后等待的時間延遲。默認情況下,動畫僅顯示一次幀序列,并在顯示最后一幀時停止。

為了使動畫能夠循環(huán)播放,Netscape 在 20 世紀 90 年代使用應用程序擴展塊(旨在允許供應商將特定于應用程序的信息添加到 GIF 文件中)來實現(xiàn) Netscape 應用程序塊(NAB)。

這個塊放置在動畫幀序列之前,指定幀序列應該被播放的次數(shù)(1到65535次)或它應該連續(xù)重復(0表示永遠循環(huán))。對這些重復動畫的支持首先出現(xiàn)在 Netscape Navigator 2.0 版本中,然后擴展到其他瀏覽器。大多數(shù)瀏覽器現(xiàn)在都能識別并支持NAB,盡管它并不是GIF89a規(guī)范的嚴格組成部分。

場景

2014年4月,4chan 增加了對大小小于3MB、長度小于2分鐘的無聲 WebM 視頻的支持 [70][71],2014年10月,Imgur 開始將上傳到該網(wǎng)站的所有GIF文件轉換為視頻,并為HTML播放器的鏈接提供帶有擴展名的實際文件的外觀。[72]73

聊完了GIF,我們再回到PNG。

壓縮

PNG 使用 2 級壓縮過程:

  • 預壓縮:過濾(預測)
  • 壓縮:放氣

過濾

在應用 Deflate 之前,通過預測方法轉換數(shù)據(jù)。當前 PNG 規(guī)范中只有一種篩選器方法(表示為方法 0),因此在實踐中,唯一的選擇是將哪種篩選器類型應用于每行。對于此方法,篩選器根據(jù)先前相鄰像素的值預測每個像素的值,并從實際值中減去像素的預測顏色。

放氣

PNG 使用 DEFLATE,這是一種非專利的無損數(shù)據(jù)壓縮算法,涉及LZ77和霍夫曼編碼的組合。許可DEFLATE實現(xiàn),如 zlib ,是廣泛使用的。

與具有有損壓縮的格式(如 JPEG)相比,選擇高于平均值的壓縮設置會延遲處理,但通常不會導致文件大小明顯變小。

編程接口

Deflate可以免費在很多編程語言中使用。C語言通常使用zlib庫。C++語言可以使用7-Zip/AdvanceCOMP。Java語言包含在標準庫java.util.zip中。Microsoft .NET Framework 2.0包含在System.IO.Compression命名空間中。

  • PKZIP:該算法最早的實現(xiàn)。
  • zlib / gzip:標準參考實現(xiàn)(standard reference implementation),由于其公共可用性,得到了及其廣泛的使用。
  • Crypto++:C++開源實現(xiàn)。
  • 7-Zip/AdvanceCOMP:Igor Pavlov的C++開源自由實現(xiàn)
  • PuTTY: 一份單獨實現(xiàn)
  • Hyperbac:C++與匯編實現(xiàn)
  • Zopfli:Google的C實現(xiàn)

衍生產(chǎn)品

MNG

PNG 本身不支持動畫。MNG 是 PNG 的擴展,MNG 共享 PNG 的基本結構和塊,但它要復雜得多,并且具有不同的文件簽名,這會自動使其與標準 PNG 解碼器不兼容,這導致 MNG 幾乎不支持或大多數(shù) Web 瀏覽器或應用程序。

APNG

MNG的復雜性導致了Mozilla基金會開發(fā)人員提出APNG。

它基于 PNG,支持動畫,比 MNG 更簡單。今天,APNG 格式目前被所有主要的 Web 瀏覽器廣泛支持。在 Firefox 3.0 及更高版本,Pale Moon(所有版本)中支持APNG,最新版本的 Opera 支持 APNG,因為引擎已更改為 Blink、iOS 8 和 Safari 8 for OS X Yosemite 上的最新版本的 Safari,它們使用支持 APNG 的 WebKit 引擎。Chromium 59.0 增加了對 APNG 的支持,緊隨其后的是谷歌 Chrome 瀏覽器。Microsoft Edge 現(xiàn)在通過基于 Chromium 的新引擎支持 APNG。

有損壓縮

有損壓縮即指原始信息序列中的一些信息丟失的壓縮,這便意味著原始信息一經(jīng)有損壓縮過程操作后,不能再由生成的序列重新還原而得到。在此之前,多數(shù)朋友潛意識里可能會默認有損壓縮的意義是相比無損壓縮,為了實現(xiàn)更好的壓縮比,致使對相同源數(shù)據(jù)操作后,得到的結果質量相對會更差。其實呢,并非如此——舉個常見的例子:對同一元圖像,對其均按100%質量存儲,得到的jpg格式大小可能是4M左右,而png格式大小卻達到了40M。

那么,jpg相比png少的幾十M大小的數(shù)據(jù)究竟是什么呢? 其中,除舍棄的部分人眼不可察覺的顏色位之外,還包括大多數(shù)要還原回元圖像所需的必需數(shù)據(jù)。因此,信息丟失并不意味著輸出質量降低。但,大多數(shù)有損壓縮技術的使用方式高度依賴于被壓縮的媒體,就像音頻的有損壓縮與圖像的有損壓縮十分不同。

多媒體場景中的圖像視頻壓縮

多媒體圖像如今已然成為日常生活中不可獲缺的組成部分。圖像中編碼的信息量是相當大的,即便帶寬和存儲能力方面有了長足的進步,但若不對圖像進行壓縮,許多應用的成本仍然會較高。

JPEG和相關的MPEG格式是多媒體壓縮的典型范例,它們均在實踐中被廣泛應用,同時也使用了諸如Huffman碼、算術編碼、游程編碼、標量量化等技術。

其中,JPEG用于靜態(tài)圖像,在網(wǎng)絡上被作為攝影圖像的標準;MPEG是基于JPEG的一種變體,用于視頻編碼(每一幀都使用JPEG的變體編碼)。二者均為有損格式。

發(fā)展進程

目前,視頻編碼方式主要分為三大系列:

H.26x系列(由ITU[國際電傳視訊聯(lián)盟]主導),包括H.261、H.262、H.263、H.264、H.265、H.266…

MPEG系列(由ISO[國際標準組織機構]下屬的MPEG[動態(tài)圖像專家組]開發(fā)),包括MPEG-1、MPEG-2、MPEG-4、MPEG-7、MPEG-21…

其他系列,包括AMV、AVS、Bink、CineForm、Cinepak、Dirac、DV、Indeo、Video、Pixlet、RealVideo、RTVideo、SheerVideo、Smacker、Sorenson Video、Theora、VC-1、VP3、VP6、VP7、VP8、VP9、WMV…

基礎格式

① JPEG

JPEG是聯(lián)合攝影專家組開發(fā)的圖像壓縮標準,目的是在不影響圖像質量的情況下盡可能減少自然的、像照片一樣的真彩圖像(每個像素值都分成R、G、B三個基色分量,每個基色分量直接決定其基色的強度)的文件大小,但它不能很好地處理雙層(黑白)圖像,也不能處理偽彩色圖像(將實際是索引值的每個像素值作為色彩查找表CLUT中相應項的入口地址,再根據(jù)該地址查找出實際R、G、B的強度值)。JPEG在“連續(xù)色調(diào)”圖像上效果最好,若是有許多跳躍的色值則效果不太好。

基本步驟

顏色空間轉換:

若顏色分量是獨立不相關的,便可以獲得最好的壓縮效果。因此,這一步主要是通過線性變換將RGB分量轉換為信息集中分布在亮度而非色度上的YCbCr分量模式。

色度采樣(可選):

利用YCbCr的特性,去除一些Cb和Cr元素,即可在這一步取得初步的壓縮效果。如,將RGB為4:4:4的格式轉換為YCbCr為4:2:2的格式,便獲得了壓縮比為 12/8=1.5 的壓縮效果。

離散余弦變換(DCT):

這一步,將YCbCr的每個分量轉換成一個領域表示,以便后續(xù)操作。

量化:

JPEG編碼簡單將頻域中的每個分量除以一個常量,經(jīng)過一番四舍五入。結果是,許多高頻的分量被四舍五入為了零,其余大部分分量則變成了較小的正數(shù)或負數(shù),只需要更少的位進行存儲。因此,整個過程中主要的有損操作都在這一步完成。

熵編碼:

詳見《??輕翻那些永垂不朽的詩篇??》中相關內(nèi)容。

② MPEG

MPEG全稱動態(tài)圖像專家組。理論上,因為視頻流是離散圖像序列,MPEG則使用這些連續(xù)幀之間的特殊或時間關系壓縮視頻流?;谥霸S多方法,可見,一種技術越能有效利用一段數(shù)據(jù)中的某些關系,數(shù)據(jù)壓縮的效果便越好。

MPEG標準主要有五個,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21。其委員會組建于1988年,專門負責為CD制定視頻和音頻標準。第一個公開標準是MPEG-1, ISO/IEC 11172,于 1993 年首次發(fā)布。

MPEG算法只對視頻幀序列的新生部分和運動部分的信息進行編碼,如下圖三個序列中的小人便是MPEG編碼壓縮時需要考慮的范疇。

基本應用

下一代格式

隨著互聯(lián)網(wǎng)的數(shù)字視頻消費的持續(xù)增長,包括UHD、VR和流媒體等服務,以及社交網(wǎng)絡的視頻分享,電信基礎設施的可用帶寬正在接受挑戰(zhàn)。AV1和H.266是新一代視頻格式,將被廣泛應用從而應對以上問題。

③ AV1

開放媒體聯(lián)盟(AOMedia)于2015年成立,作為一個開發(fā)開放、免版稅的多媒體交付技術的聯(lián)盟。其在2018年發(fā)布了第一個視頻壓縮格式AV1,《??AV1 Video Codec | Alliance for Open Media??》,比其前身VP9的壓縮能力增強了約30%。AV1格式已經(jīng)得到了許多網(wǎng)絡平臺的支持,包括安卓、Chrome、微軟Edge和火狐,以及多個基于網(wǎng)絡的視頻服務提供商,包括YouTube、Netflix、Vimeo,已經(jīng)開始大規(guī)模推出AV1流媒體服務。

優(yōu)點

  1. 免收專利費。
  2. 與VP9和H.265相比,有著明顯的編碼效率提升。

Source: Graphics & Media Lab Video Group, Moscow State University。

從圖中可以看到,相較于VP9與H.265,AV1編碼效率有近30%的提升。

編碼質量測試

為了驗證AV1的編碼效果,使用Youtube提供的分別為480p、720p、1080p、4K的VP9編碼格式和480p、720p、1080p的AV1編碼格式??視頻樣本??進行測試。

由于目前支持硬解AV1編碼的GPU芯片較少,只能依靠軟解,因此在實際測試AV1視頻播放時較為卡頓。

上圖分別取自1080P分辨率下AV1與VP9的表現(xiàn)效果。可以看出,AV1比VP9擁有更好的清晰度。

結論

對比VP9,AV1擁有更好的編碼效率,其普及對于流視頻具有重要意義,用戶可在帶寬及消耗流量不變的情況下觀看畫面質量更清晰的視頻。

④ H.266

簡稱 H.266 的通用視頻編碼(Versatile Video Coding,VVC),由德國弗勞恩霍夫海因里希赫茲研究所(Fraunhofer HHI)于2020年7月正式發(fā)布。

該新一代MPEG視頻標準由國際電聯(lián)(ITU-T)和國際標準化組織(ISO)聯(lián)合開發(fā),過去三年,包括蘋果、愛立信、英特爾、華為、微軟、高通、索尼等在內(nèi)的企業(yè),一直在努力推動這項新技術的發(fā)展。

與簡稱 H.265 的高效視頻編碼(High Efficiency Video Coding, HEVC)前身一樣,H.266有望將視頻文件的比特率和大小降低 50% 左右,同時不會在視覺保真度上產(chǎn)生明顯的差異,主要面向4K、8K服務。簡單來說,基于H.265編碼的一段90分鐘UHD 4K視頻需要10GB左右,而基于 H.266 則僅需5GB。

與AV1的爭奪戰(zhàn)

隨著全球互聯(lián)網(wǎng)視頻需求的增長,MPEG 正在推動 H.266 / VCC 及其它兩個標準的發(fā)展。其中 MPEG-5 Part 1又被稱作基礎視頻編碼(Essential Video Coding,EVC),由華為、高通、三星等企業(yè)牽頭制定;Part 2又被稱作低復雜度增強視頻編碼(LCEVC)。在2020年5月,EVC)編碼標準正式被提升為最終國際標準(FDIS)狀態(tài)。

因此,MPEG 的此番發(fā)力,與免專利費的 AV1 開放標準所帶來的強大競爭有直接關系。

英國廣播公司(BBC)研發(fā)部門去年進行的初步測試顯示,VVC 的成績很是鼓舞人心,因為新標準較 HEVC 和 AV1 節(jié)省了大量的比特率,尤其是在 4K UHD 文件的支持上。

??想了解更多內(nèi)容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區(qū)??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關推薦

2022-08-22 17:36:13

啃論文方法啃論文俱樂部

2022-04-20 20:37:58

鴻蒙操作系統(tǒng)

2022-09-06 15:46:52

speexdsp鴻蒙

2022-05-13 23:03:25

大數(shù)據(jù)Big Data巨量資料

2022-06-15 15:56:22

壓縮算法神經(jīng)網(wǎng)絡

2022-05-13 22:44:35

物聯(lián)網(wǎng)算法鴻蒙

2022-04-07 15:03:07

Harmony計算機鴻蒙

2022-09-13 16:10:15

鴻蒙操作系統(tǒng)

2022-06-08 16:29:45

無損壓縮方案分布式

2022-05-12 15:05:32

云計算數(shù)據(jù)壓縮

2022-09-07 15:08:58

操作系統(tǒng)鴻蒙

2022-09-16 15:01:37

操作系統(tǒng)技術鴻蒙

2022-03-28 15:09:17

無線傳感器網(wǎng)絡Harmony鴻蒙

2022-06-08 11:46:29

字符串鴻蒙

2022-09-14 15:28:19

操作系統(tǒng)鴻蒙

2022-09-15 15:21:22

操作系統(tǒng)鴻蒙

2022-05-20 14:21:50

物聯(lián)網(wǎng)通信協(xié)議

2022-09-19 14:25:35

JSON壓縮算法

2022-06-15 16:06:29

LZ4 算法硬件加速

2022-06-15 15:44:21

無損數(shù)據(jù)壓縮鴻蒙
點贊
收藏

51CTO技術棧公眾號