九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
HEIF 是圖片格式,而 HEVC 是編碼格式(類似 H.264,VP8),HEIF 是圖片容器(類似于視頻的 mkv,mp4 后綴),而用 HEVC 進(jìn)行編碼的 HEIF 圖片就是后綴為 .heic 的圖片,也是蘋果主要使用的格式

在升級(jí) iOS 11 之后,iPhone 7 及更新的設(shè)備內(nèi)的照片存儲(chǔ)將不再用 JPEG 了,而采用了一種新的圖片格式 HEIF(發(fā)音同 heef),在 iOS 中對(duì)應(yīng)的文件后綴為 .heic ,其編碼用的是 HEVC(這個(gè)發(fā)不了音,哈哈哈)格式,又稱 H.265 (這個(gè)就很熟悉了 H.264 的下一代),同時(shí)視頻也用 HEVC 作為編碼器,對(duì)應(yīng)的文件后綴還是 .mov 。

這里要注意他們倆的關(guān)系, HEIF 是圖片格式,而 HEVC 是編碼格式(類似 H.264,VP8),HEIF 是圖片容器(類似于視頻的 mkv,mp4 后綴),而用 HEVC 進(jìn)行編碼的 HEIF 圖片就是后綴為 .heic 的圖片,也是蘋果主要使用的格式。

這兩個(gè)都是很新的標(biāo)準(zhǔn),分別在 2015 和 2013 年才被 ISO 批準(zhǔn)。這篇文章主要介紹一下 HEIF 格式和與其他圖片格式相比的優(yōu)劣。
發(fā)展史如下:

圖1

什么是 HEIF?

HEIF 全稱 High Efficiency Image Format (HEIF)。是由 Moving Picture Experts Group 制定的,存儲(chǔ)圖片和圖片序列的格式。
相關(guān)的介紹位置這邊可以看到 https://nokiatech.github.io/heif/ ,對(duì)的,你沒有看錯(cuò),是 Nokia 的技術(shù)人員們制定的。相比 JPEG ,PNG 等傳統(tǒng)的圖片格式來說, HEIF 可算是相當(dāng)年輕了,但是這種格式相比 JPEG 等有很多的優(yōu)點(diǎn)。

  • 壓縮比高,在相同的圖片質(zhì)量情況下,平比 JPEG 高兩倍。
  • 能增加如圖片深度信息,透明通道等輔助圖片。(蘋果正是通過這個(gè)就能實(shí)現(xiàn)動(dòng)態(tài)的調(diào)整圖片的景深)。

圖2

  • 支持存放多張圖片,類似相冊(cè)和集合。(實(shí)現(xiàn)多重曝光的效果)
  • 支持多張圖片實(shí)現(xiàn) GIF 和 livePhoto 的動(dòng)畫效果。
  • 無類似 JPEG 的最大像素限制。
  • 支持透明像素。
  • 分塊加載機(jī)制。
  • 支持縮略圖。

在這個(gè) Nokia 網(wǎng)站上可以看到相關(guān)的例子。

文件組成

在視頻文件中,容器和編碼是獨(dú)立開的,比如 mp4,mkv 等格式是容器,而 H.264,VP8 等是編碼。但是圖像文件中,像 JPEG 就是混合在一起的(所以它不好用啊,哈哈哈哈),HEIF 就把容器和編碼分開了,有用來存放單個(gè)或者多個(gè)圖像的容器。

所以基于不同的編碼器,會(huì)有不同的文件后綴。

編碼器 單文件后綴 連續(xù)圖片后綴
HEVC .HEIC .HEICS
H.264 .AVCI .AVCS
Any codec .HEIF .HEIFS

Apple 設(shè)備中默認(rèn)使用的都是 HEVC 的編碼的 HEIF 格式。

在 Apple 所編碼的 HEIF 的文件組成大致如下圖,其 mdat – Media Data 中存放的是 exif 信息,縮略圖(320*240),和 HEVC 編碼后的圖片:

圖3

HEIF 底層是默認(rèn) tiled,就是片狀的有 512×512 個(gè),由一個(gè)個(gè)小的圖塊,組成一張大圖,這一特性有如下的優(yōu)點(diǎn):

  • 加速解碼
  • 縮放加快(不用加載整張圖片)
  • 裁剪加快

HeifTile 和 SystemTile (CATiledLayer 等系統(tǒng)所提供的分塊加載)是不一樣的,但是兩者結(jié)合會(huì)有很大的提升,所以在加載和處理特大圖片時(shí),性能有大幅度的提升。

兼容性

每當(dāng)一個(gè)新的技術(shù)推進(jìn)至工業(yè)化,兼容性無疑是最重要的考量點(diǎn)。像 HEIF 這樣的圖片格式,并不像 JPEG / PNG 等已經(jīng)被廣泛應(yīng)用和適配了,估計(jì)在 Apple 推出之前,大部分開發(fā)者和我一樣應(yīng)該都是不知道的。目前工業(yè)化的體系內(nèi),對(duì) HEIF 幾乎是不兼容,Windows 上無法打開 HEIF 文件,10.13 前的 macOS 也無法打開。蘋果在推行這一技術(shù)的時(shí)候,在內(nèi)部也是做了很多兼容工作的。

對(duì)一般用戶

一般情況下,用戶是對(duì)這個(gè)格式無感知的,因?yàn)橹挥性谛驴钪С钟步獯a的 iOS 手機(jī)內(nèi)部是以 heif & hevc 格式來存儲(chǔ)照片和視頻的,而在用戶通過 Airdrop 或者數(shù)據(jù)線傳送到電腦上的時(shí)候,對(duì)不兼容的設(shè)備會(huì)自動(dòng)轉(zhuǎn)換到 JPEG 的格式。所以也不會(huì)影響你使用微信,微博等軟件。
不過在蘋果內(nèi)部的 app 中,基本都已經(jīng)用上了這一技術(shù),如照片,F(xiàn)aceTime 等應(yīng)用。意味著以后同等儲(chǔ)存空間能存放更多的照片和視頻,同時(shí) FaceTime 也能節(jié)省更多了流量,相同網(wǎng)絡(luò)情況下,F(xiàn)aceTime 也會(huì)更加清晰。
通過在 設(shè)置 -> 照片 選項(xiàng)中可以設(shè)置傳到 MAC 或者 PC 上時(shí)保持 HEIF 格式。

圖4

支持的設(shè)備

  • HEIF 圖片:
    編碼:
  • 硬件:A10 及以上芯片 iOS 設(shè)備。即只有 iPhone7 及以上是支持 HEIF 的(有雙攝像頭,才有深度信息)。
  • 軟件:iOS11,運(yùn)行 macOS 系統(tǒng)的 Mac 設(shè)備。
    解碼:

  • 硬件:A9 及以上芯片 iOS 設(shè)備(iPhone6s),配備 6 代及以上 Inter Core 處理(Skylake)。

  • 軟件:iOS11 和 macOS 支持軟解碼,但是 iOS11 鎖版本代表最低只支持到 5s 。

  • HECV 視頻:
    視頻分為 8 位 / 10 位 兩種模式。
    基本和圖片編解碼保持一致,唯一有區(qū)別的是 10 位硬解碼要求是 7 代 Intel 處理器。

總結(jié)一下,就是升到iOS 11之后,你的設(shè)備就能解析新格式的圖片和視頻,軟硬解碼的區(qū)別就是,硬解碼會(huì)更快并更省電。

對(duì)開發(fā)者

上層框架 PhotoKit

對(duì)用戶的幾乎無感知切換的前提,肯定是上層 API 沒有變化,調(diào)整的是最底層的 API,所以一般開發(fā)者使用上層的框架時(shí),如 PhotoKIt 是不受影響的,不同格式的圖片都抽象為了同一個(gè)對(duì)象。而且對(duì)圖片增加濾鏡和視頻的調(diào)整修改,最后都會(huì)渲染為 JPEG 和 H.264。在這一級(jí)別的 API 是接觸不到圖片文件格式轉(zhuǎn)換所帶來的變化的。

下層框架 Image I/O

Image I/O 中可以直接讀寫 .heic 文件。
iOS 11 中 Image I/O 能夠直接讀取 heif 的文件,包括讀取 exif,xmp 等信息。

let inputURL = URL(fileURLWithPath:Bundle.main.resourcePath! + "/IMG_0513.HEIC")let source = CGImageSourceCreateWithURL(inputURL as CFURL, nil)let image = CGImageSourceCreateImageAtIndex(source!, 0, nil)let options = [kCGImageSourceCreateThumbnailFromImageIfAbsent as String: true, kCGImageSourceThumbnailMaxPixelSize as String: 320] as [String: Any]let thumb = CGImageSourceCreateThumbnailAtIndex(source!, 0, options as CFDictionary)guard let cImage = image else {print("not support heic")return;}

當(dāng)然也可以選擇把 CGImage 寫入到 HEIC 格式,雖然這樣可以節(jié)約更多的存儲(chǔ)空間,實(shí)際使用的時(shí)候還是要注意轉(zhuǎn)換操作。

let url = URL(fileURLWithPath: "/tmp/output.heic")guard let destination = CGImageDestinationCreateWithURL(url as CFURL,AVFileType.heic as CFString, 1, nil) else{fatalError("unable to create CGImageDestination")}CGImageDestinationAddImage(imageDestination, image, nil) CGImageDestinationFinalize(imageDestination)

Apple 提供的很多 API ,供開發(fā)者檢測(cè)設(shè)備是否支持新的格式。提供了兩種推薦的工作場(chǎng)景事例。

  1. 社交網(wǎng)絡(luò)
    在社交軟件中,涉及到圖片分享之類的內(nèi)容,是無法確定接受者是否能支持新的格式的, Apple 的策略是建議都進(jìn)行轉(zhuǎn)換到 JPEG 的操作,比如發(fā)送郵件,或者通過 extension 分享的時(shí)候,傳入其他 app 中的時(shí)候,都已經(jīng)進(jìn)行了轉(zhuǎn)換了。

  2. p2p 場(chǎng)景
    在該場(chǎng)景中,設(shè)備和設(shè)備間的直接連接,首先把接受者的支持格式告知發(fā)送者,然后發(fā)送者根據(jù)兼容的情況,選擇 HEIF 或者 JPEG。比如 AirDrop 。

同時(shí)諸如 SDWebImage 目前也正在做對(duì) heif 的兼容。

跨平臺(tái)

大部分的播放器已經(jīng)支持了 HEVC 即 H.265 的編碼器,但是針對(duì) HEIF 的圖片兼容性還是相對(duì)較差的。
目前有的是 Nokia 提供了一個(gè) C++ 的讀寫庫,通過該庫,支持把 HEIF 的圖片的解碼到 HEVC 的編碼數(shù)據(jù)。

  • Android 兼容性:
    依賴 Nokia 的庫,目前只能通過 CPU 軟解。

據(jù)說 LG 正在研發(fā)支持硬解的手機(jī)。(raddit)

  • 網(wǎng)頁兼容性:
    Nokia 提供 JS 庫。

  • Windows 兼容性:

目前也沒有能直接打開 HEIF 文件的應(yīng)用

對(duì)比

常常拿來與 HEVC 來做對(duì)比的是 VP9。兩者的性能相近,但是 VP9 是開源的,而 HEVC 是需要專利費(fèi)的( $2 每設(shè)備)。
目前暫時(shí)沒有通過 VP9 進(jìn)行編碼的圖片,所以這里主要對(duì)比的是 webp 就是通過 VP8 進(jìn)行編碼的圖片。
webp
WebP目前支持桌面上的Chrome和Opera瀏覽器,手機(jī)支持僅限于原生的Android瀏覽器、Android系統(tǒng)上的Chrome瀏覽器、Opera Mini瀏覽器。

  • WebP 有損支持
    Google Chrome (desktop) 17+
    Google Chrome for Android version 25+
    Opera 11.10+
    Native web browser, Android 4.0+ (ICS)
  • WebP 有損 / 無損 / 透明支持
    Google Chrome (desktop) 23+
    Google Chrome for Android version 25+
    Opera 12.10+
    Native web browser, Android 4.2+ (JB-MR1)
    Pale Moon 26+
  • WebP 動(dòng)畫支持
    Google Chrome (desktop and Android) 32+
    Opera 19+

下面是幾個(gè)關(guān)鍵技術(shù)點(diǎn)的對(duì)比,可見 HEIF 功能是最強(qiáng)大的。

.heic WebP JPEG
最大尺寸 無上限 16383×16383
編碼 HEVC VP8
是否支持其他編碼 YES NO
支持音頻/文字 YES NO
支持多圖片 YES YES
支持裁剪 YES NO
支持透明 YES YES
支持縮略圖 YES NO
分塊加載 YES NO

壓縮效率

下面的數(shù)據(jù)均是官方提出:
Webp 同等質(zhì)量下,比 JPEG 圖像小 25-34%。
JPEG 平均需要比 HEVC 多 139% 的比特率,意味著同等質(zhì)量下,JPEG 的大小是 HEVC 的 2.39 倍!
把兩個(gè)的參考標(biāo)準(zhǔn)統(tǒng)一一下:
Webp 比 JPEG 小 25-34%
HEVC 比 JPEG 小 58%

實(shí)際測(cè)試:webp 以 80 的質(zhì)量進(jìn)行壓縮,hevc 以 crf 18 (視覺無損)壓縮,同時(shí)增加一個(gè) 320×240 的縮略圖。

進(jìn)行 HEIF 轉(zhuǎn)碼的流程是,將圖片通過 ffmpeg 編碼到 H.265,再通過 Nokia 的庫轉(zhuǎn)成 HEIC 文件(Heif)。

//生成主圖像編碼ffmpeg -i $1 -crf 18 -preset slower -pix_fmt yuv420p -f hevc bitstream.265 //生成縮略圖編碼ffmpeg -i $1 -vf scale=320:240 -crf 28 -preset slower -pix_fmt yuv420p -f hevc bitstream.thumb.265//調(diào)用 Nokia 的工具./writerapp config.json

實(shí)際測(cè)試數(shù)據(jù):

格式 原圖大小 heic webp
JPEG 4352×3264 5.7 MB 487KB 538 KB
JPEG 8688×5792 34.7 MB 3.5 MB 2.7 MB
tiff 3840×2160 1.8 MB 238 KB 264 KB
PNG 1243×2208 1.5 MB 175 KB 209 KB
PNG 512×512 243 KB 13 KB 14 KB

除了一組特大圖的表現(xiàn)不一樣外,其他幾組圖片相比, heif 確實(shí)比 webp 壓縮效率高 10-20%。

畢竟和 HEVC 對(duì)標(biāo)的技術(shù)應(yīng)該是 VP9,所以 heif 能夠領(lǐng)先也是情理之中。

解碼的消耗測(cè)試

主要測(cè)試設(shè)備是 iPhone 6s Plus 系統(tǒng) iOS 11,用的解碼方法 webp 為 Google 提供的庫,hevc 和 jpeg 用的是 CGImageSource 來解碼。
測(cè)試用圖片還是之前的五組圖片,同時(shí)對(duì) JPEG 進(jìn)行了一些壓縮,測(cè)試了 5 組平均值(去一個(gè)最高,去一個(gè)最低),估計(jì)加載的時(shí)候存在緩存,所以第一次讀圖片數(shù)據(jù)的時(shí)候耗時(shí)較大。

第一組用第一張 7.7 mb 的 jpeg 壓縮后大小 1.1mb
jpeg 7.43 2.77 1.46 1.9 2.14 2.00 【占用率 6 %】
hevc 41.0 3.45 3.35 2.62 2.92 2.66 【占用率 6 %】
webp 216.6 216.8 217.5 261.9 195.2 【占用率 21 %】

格式 平均時(shí)間 占用率
jpeg 2.20ms 5 %
hevc 3.01ms 6 %
webp 220.1ms 20%

第二組用第三張 1.8 mb 的 tff,轉(zhuǎn)換成 jpeg 之后大小為 815 KB。

hevc 58.4 3.1 2.8 1.13 2.65 2.82 2.02 【 2% 】
jpeg 65.3 2.67 2.76 2.73 2.69 2.87 1.34 【 2% 】
webp 130.2 110.9 117.5 114.8 120.9 112.8 124.84 【 12% 】

格式 平均時(shí)間 占用率
jpeg 2.73ms 2 %
hevc 2.68ms 2 %
webp 115.58ms 12%

第三組用的最后一張 243KB PNG ,轉(zhuǎn)換成 JPEG 之后大小為 43 KB。
hevc 47 3.24 2.7 3.21 2.63 1.74 【 1 %】
jpeg 16 6.70 6.97 4.46 7.2 6.76 7.08 【 1% 】
webp 20.7 20.2 12.5 22.0 19.3 19.4 【 2 % 】

格式 平均時(shí)間 占用率
jpeg 6.90ms 1 %
hevc 2.95ms 1 %
webp 20.1ms 2 %

測(cè)試結(jié)果由于硬解碼的支持,jpeg 和 hevc 解碼速度和 CPU 占用率都比 webp 快和小很多,jpeg 和 hevc 不相伯仲,可見蘋果內(nèi)部對(duì)齊優(yōu)化也相當(dāng)?shù)轿?,才把它放?iOS 11 中。

總結(jié)

相比 JPEG 來比很強(qiáng)大,畢竟是下一代技術(shù),但是兼容性可想而知,在“最大效率”和“最大兼容”兩者中間還是要根據(jù)使用場(chǎng)景進(jìn)行權(quán)衡,目前的優(yōu)勢(shì)也只有最新的 iPhone 能體驗(yàn)到,但不久的將來可能所有的手機(jī)都去支持照片深度,動(dòng)態(tài)照片,更廣的色域等。HEVC 也許和推行 H.264 一樣,逐漸成為了工業(yè)界的標(biāo)準(zhǔn),但又可能和推行 acc 的處境一樣,只是成為了蘋果的標(biāo)準(zhǔn)而已,終究還是要看市場(chǎng)的反應(yīng)了.

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JPEG XL、AVIF、WebP 2 · 次世代圖片格式評(píng)測(cè)及無損有損壓縮對(duì)比
HEIC、HEIF格式圖片區(qū)別和打開方法
Netflix選擇AVIF作為他們使用的下一代圖片壓縮技術(shù)
解讀HEIF格式:精小且強(qiáng)大
取代JPEG的,可能是Android 12支持的新圖片格式
5G時(shí)代,JPG圖片格式可能被干掉!
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服