圖 1
1.1Raw的原理
在我們日常的影視製作流程中,非常容易接觸到三種類型的視頻格式,分別是Raw、Log、Rec709。在電影拍攝從膠片轉入數字時代時,ARRI和DALSA的相機都能輸出感光器信息,但是RED-ONE的推出,使得拍攝Raw格式在影視製作中變得流行起來,那麼Raw到底是什麼呢?
當一束光通過鏡頭照射在攝影機的cmos上時,會產生一組電壓信號,攝影機會將這個信號記錄下來,這就完成了一個光電轉換的過程。所有的攝影機運用的基本原理就是愛因斯坦於上世紀提出的這個理論——在高於某特定頻率的電磁波照射下,某些物質內部的電子會被光子激發出來而形成電流,即光生電。在這個過程之後,再經過ADC模數轉換器轉換為數位訊號,所產生的數位訊號就被稱為Raw。Raw因為僅僅是數據的組合包,所以並沒有辦法被直接觀看,這就需要電到光的解碼過程來還原成圖像。
同時,因為傳感器只能記錄光的強弱程度,而並不能記錄顏色信息,除了最早的3-CCD分光系統將RGB三色光各自分離出來感光之外,由柯達公司的Bryce Bayer研究出的Bayer濾色鏡成為現在電影攝影機的首選,Bayer濾色鏡的工作原理就是讓每一個Pixel只接受到RGB三原色中的一種光線的強弱。(如圖2)
圖 2
但是需要注意的是,使用Bayer濾色鏡傳感器的RAW文件,仍然只記錄了每個像素點的光強,而非顏色信息。並且,由於單獨的Pixel只記錄單一的一種顏色,這樣的圖像哪怕經過解碼之後也是無法直接還原所拍攝得到的色彩信息。
這裡就需要Debayer運算,對RAW數據進行矩陣運算,最基礎的算法是對4×4 Pixel的一個單元進行九次矩陣運算解出16個像素信息然後重複此過程,之後就能得出像素的色彩信息。但是不同廠商的運算方式也是不同的,不過Raw圖像的Debayer流程是在機外進行,而Log與其他任何格式的文件都是將這一步運算留在機內。
不過相對於黑白傳感器而言,使用Bayer濾色鏡的傳感器在高頻信息上會有所損失,覆蓋在Pixel上的彩色濾鏡也會損失光通量,色彩信息難以得到1:1的真實還原。當然,在Debayer的過程中,算法還完成了針對色溫、曝光調整、圖像調整等等一系列的工作,因為Raw數據是完全原始的感光數據且位深度高,因此這一步的調整空間很大。相對而言,Log和其它任何格式的視頻格式,由於Debayer的過程在機內直接進行運算,在這一點上是無法與Raw相比的。
需要提到的是,不同廠家的攝影機在記錄Raw文件時的位深資源是不同的。Arri攝影機使用的是12bit文件,RED攝影機則使用的是16bit文件,位深越小也就意味著存儲成本越低,位深越大也就意味著更大的存儲體積和和更細膩的明暗層次變化。如果將攝影機的最大動態範圍比作是一棟高樓,那麼攝影機能記錄的動態範圍越大,樓的高度也就越高,那麼位深則相當於這棟樓的樓梯數量,位深越小,樓梯就會越陡,也就意味著明暗的層次變化會存在斷層的可能性。
Raw文件在記錄拍攝信息的同時,最主要的一點就是還能記錄攝影機拍攝時的很多具體參數(metadata),在調色系統中,有一些數據被攝影機官方製作成為了軟體接口,使我們在調色時可以通過對參數的原生修改獲得更好的創作效果。
那麼,不使用RAW文件格式來記錄素材,真的會給素材帶來非常大損失嗎?Arri攝影機在提供Raw文件輸出的同時也提供了Prores4444 XQ的mov文件的輸出方式,這個格式在同樣的位深和同樣的解析度下,同樣素材的體積約為Arri Raw的68%,我們可以使用同一條素材的兩種不同的格式。通過Baselight系統的色域示波器來進行比較(圖3為12bit Arri Raw,圖4為Prores4444 XQ):
圖 3 圖 4
通過這樣的比較,我們能夠看出,Arri Raw文件在色域的表現上要比Prores4444 XQ更好,但是區別並不大。
1.2Raw的調色流程
處理Raw數據的第一步,就是正確的Debayer,將Raw數據還原成圖像。輸出畫面的品質取決於Debayer算法的優劣。通常,越簡單的算法運算速度越快,但出現顯色錯誤的機率也越高。同時,VFX通常直接使用影像傳感器的原始像素,在之後的流程環節裡才縮小到,比如說4K或2K。這種方式能夠利用亮度解析度,而亮度解析度與影像傳感器像素數量有關。
圖 5
當我們將raw文件導入進調色系統時,我們可以直接看到圖像(如圖5),這是因為調色系統已經幫我們用默認的解碼方式將raw還原成為了我們所拍攝的現場圖像,例如DaVinci默認使用了resolve的高精度解碼方式。在不同的調色系統中,都有各自默認的解碼方式。以下是三種不同的調色軟體對同一素材的解碼結果:
我們通過矢量示波器的輔助,可以看出三個調色系統在對raw解碼後是有一些細微的區別。
往往這些細小的差別所造成的影響都不大,但是當我們要進行一個大型的VFX視覺效果項目或者涉及到不同的DI系統做素材輸出或者最終的調色,那麼保持畫面的一致性和更為嚴謹的流程就顯得相當重要。這個時候就要使用攝影機官方的解碼方式來解決差異性的問題。
以ArriRaw為例,要在調色軟體中Camera Raw頁面將Decode Quality中的默認resolve選項更換為Arri。
但是如果所有的項目都直接進行攝影機廠商給出的方式進行解碼,就會影響到工作效率,尤其對於調色工作來說,實時性顯得非常重要。而每一個調色系統對於自身解碼方式的優化往往也做的最好。
2 ACES、Log與色彩管理
打開調色軟體DaVInci的主面板中的項目設置中的主項目設置,其中有一項選擇為色彩科學,默認的選擇DaVInci resolve,但是還有其它的選項,例如ACES cc與ACES cct,那麼什麼是ACES呢?
2.1 Log的原理
要弄懂ACES,必須要先弄懂攝影機的Log,其實Log不是一種專門的視頻格式,因為它並不改變視頻的編碼與封裝,改變的只是像素的信息。Log一詞來源於單詞Logarithm,也就是對數的英文前縮寫,所以Log本質上是一條曲線,這條曲線對應了曝光值(橫軸:對數比例,exposure EV)與十位比特深度(縱軸:10bit code value) 之間的關係。
數字記錄格式中將每一個像素的亮度和色彩定義為計算機中最基本的單位:比特(bit,0和1)。一張純黑的圖像(沒有灰色)只需要一個0(黑色)或一個1(白色)來表示圖像中的每一個像素。而在彩色圖像中,每一個像素都是三原色RGB的某種組合。每一個主色都有一個色彩通道,每個主色的比特深度就是每個通道所含的比特數量。另外要說的是,CMOS為了抑制暗部的噪波,通常會加一個類似直流的恆定電壓把暗電平提升起來,所以一般暗部不會直接等於0。但是對於恆定電壓的具體數值,每一個攝影機廠商都不一樣。
每個通道的比特容量越大,這個顏色的範圍就越精細,例如一個記錄著每個通道8個比特的系統,總共可以使用8個0和1,用來表示每個像素。這其中有28或256個不同的組合——主色有256種不同的強度數據。當三個主色在每個像素上合在一起是,他就能組合出2的8x3次方種,也就是16,777,216種不同的顏色。
在8比特中這個數值從0到255,在10比特錄像中則是0到1023。兩種錄像中,0都表示某種顏色的極端,白色或是其他顏色,而255或1023表示這個顏色的最大值。
Log格式最早追溯到膠片時期的膠片光密度法,這種膠片成像原理最早由亨特(Hurter)和崔菲(Driffield)於1890年發明,所以稱之為H&D曲線,簡稱為LogE。它繪製了曝光量(E)在橫軸上的對數分布,而光密度的變化量在縱軸上表達。
在現代數碼影像的運用上則是柯達首先發起的。1990年柯達發明了一套基於數字電腦的膠片掃描系統Cineon System,為了最大化的獲取膠片上的光學信息。在當時這個超前的系統(由掃描儀、工作站軟體和記錄儀三個部分組成)均得了學院獎的科技進步獎(AMPAS Scientific and Technical Awards)。儘管現在這個系統不再出售,但是它所留下來的10比特Log文件記錄設計成為了現在的數字攝影標準的基礎。
我們知道,大部分的Raw文件是使用Linear的方式記錄素材,這也是所有的感光元器件記錄素材的直接方式,線性量化最為簡單,CCD使用的就是16bit線性編碼,有些攝影機的Raw文件是線性編碼,而有些使用非線性。如Sony F65的RAW為16bit線性編碼,而Arri Raw則使用12bit Log編碼。那麼為什麼需要Log呢?除了這種方式是膠片轉數碼儲存最優化的方式。因為這種數字信息有非常多的灰度,非常低的對比,通過對數曲線的方式將儘可能多的信息記錄在有限的位深資源上。並且根據韋伯定律(Weber law),人眼對於亮度信息的感受其實也並非是線性的,接近於冪函數。所以ARRI的LogC、SONY的SLog、Red的RedLogFilm都是試圖去模擬人眼的這條冪函數曲線。那麼,因為不同攝影機的曲線都是不同的(如圖6),就給調色的一致性要求帶來了新的問題。
圖 6
2.2 ACES與色彩管理
ACES(Academy Color Encoding System)是由美國電影藝術與科學學院(AMPAS)和行業合作夥伴開發的開放式色彩管理和互換系統,標準是:ST.2065-1。相比較DaVinci 系統中默認選擇的YRGB Color Managed而言,則更加簡單。在色彩管理上更加的精準,通過內部算法,自動的進行轉換。它規範了所有不同類型的項目中的色彩科學,其創立的目的是為行業提供標準化的色彩管理系統。ACES貫穿了製片生產、後期製作、放映和存檔的各個階段。ACES是一個將來自不同攝影機的拍攝參考數據,轉換為一個有共同起點和色彩科學的線性場景的統一標準。(具體流程參考如圖7)
圖 7
在2004年ACES項目剛剛啟動時,美國電影藝術與科學學院(AMPAS)和許多行業專家意識到,需要一種開放的色彩管理系統,這個系統要能應對現代數字影像製作的諸多複雜性。在有數十種不同的攝影機系統、編碼、顯示設備等的行業中,學院發現需要使用像ACES這樣的系統,以精確且簡單的方式來管理色彩,無論是用於攝影機還是顯示器。
雖然許多軟體開發人員已經在應用程式中解決了色彩管理問題,但是這些解決方案都不是面對行業範圍開放的(例如之前提到的DaVInci resolve)。而ACES是一種行業標準的色彩管理解決方案,任何人都可以使用它來管理任何項目的色彩生產流程。
關於ACES,最重要的事情之一,是它的處理流程利用了拍攝參考數據,即每個攝影機系統使用並寫入到素材中的色彩科學數據。在進入色彩流程後,ACES會對這些數據進行逆向工程,即所謂的ACES輸入轉換成IDT,將其還原為攝像機在實際場景中拍攝的純線性光信息。從理論上來講,這將完全排除掉攝影機自帶系統對原始色彩的影響。
這就是為什麼ACES經常被認為是場景參考數據,或者用更專業的術語來說是線性場景。排除了攝影機不同Log的影響,能使我們更接近攝像機所面對的真實場景。此外,ACES色彩所使用的色彩空間很大,它涵蓋了人類視覺區域的所有可見光區,甚至還包括了一部分不可見光。但是因為ACES將素材轉換為16比特線性的光線信息,所以並不能直接用於觀看。通過前文提到的韋伯定律(Weber law),我們知道人眼的視覺不是以線性方式來工作的,但是最終項目因為仍會在電視、投影儀等設備上來觀看,所以它們會被分配不同的Gamma或電光傳遞函數(EOTF)。因此,ACES不僅是影像生產端的色彩管理,還會涉及顯示端的色彩管理流程。通過針對不同顏色空間和顯示設備的不同轉換來解析ACES數據。
在精度方面,ACES使用Open EXR 16位半浮點處理,它能覆蓋至少30檔動態範圍的場景曝光數據。這些EXR數據僅用於應用程式內部運算,並不會直接生成文件,只有渲染器會用到這些數據。
ACES系統給不同攝影機系統色彩科學帶來了統一性,因為轉換為線性光場景排除掉了攝影機系統對彩色的影響,對於應用程式來說就有了一個共同的色彩科學起點。尤其對於像VFX/CGI這種本身就是線性色彩合成的工作流來說,更是會因ACES獲益。而且,線性數據可隨時被渲染回需要的用途,或者直接提供給調色師,不會有任何色彩偏移,完全保留了所有調色。同時也為寬色域/高動態範圍做好了準備,ACES能保留30檔動態範圍的圖像數據,不僅色域大,而且非常適合HDR(high dynamic range)圖像,這些概念未來都將得以進一步開發。
2.2 ACES的組成部分
ACES Input Transform(IDT、輸入設備轉換):它將攝影機獨有的拍攝參考數據轉換為線性場景的ACES色彩空間。目前,攝影機廠商會為自己的攝影機系統來開發IDT轉換算法,然後ACES學院對其進行測試和驗證,未來ACES學院會擁有更多的控制權。IDT轉換和其它ACES轉換一樣也是用CTL(色彩轉換語言)程式語言來編寫的。IDT並不是完全與攝影機系統一對一的關係,有時也會將不同的IDT應用於同一個攝影機系統來補償一些攝影機系統中因不同設置所帶來的差別。
Reference Rendering Transform(RRT、參考渲染轉換):你可以將其理解為ACES的渲染引擎組件,RRT將場景參考的線性數據轉換為超寬的顯示參考數據集。RRT與ODT一起為顯示創建可視化的數據。
ACES Look Transform(LMT、外觀修改轉換):它是ACES觀看轉換(它由LMT、RRT和ODT系統組成)的一部分,它提供一種類似於將LUT應用於鏡頭的方法。不同的是,LMT位於ACES色彩的調色流程之後,並且這一步並不是必須的。
ACES Output Transform(ODT或輸出設備轉換):這是ACES流程的最後一步,它從RRT獲得超寬和高動態範圍的數據後,轉換為不同顯示設備所對應的色彩空間,比如P3、Rec.709、Rec.2020等。
另外,關於ACES工作流程,還有三個主要的子集:ACEScc、ACEScct和ACEScg。
ACEScc,使用對數顏色編碼,這是非常接近攝影機Log下的色彩模式。
圖 8
ACEScct,與ACEScc相似,但是在編碼中添加了趾部數據的範圍,它使調色師在提升暗部時能獲得與傳統膠片調色時相似的感覺。ACEScct是在ACES 1.03規範中加入的,它是基於一些調色師的反饋而加入來替代ACEScc的。(曲線對比見圖8)
ACEScg,它利用線性顏色編碼,因而是為VFX/CGI工作者所設計的。
同樣,對於膠片拍攝所得的的素材,ACES也有一套屬於自己的生產方案,這就要提到APD(Academy Printing Density 學院印製密度),AMPAS提供用於校準膠片掃描儀的參考密度。這是用於膠片放映的步驟,那麼ADX(Academy Density Exchange 學院密度交換),用於膠片掃描並將其轉入ACES系統進行調色,有點類似於柯達公司研發的Cineon膠片掃描系統。
2.3ACES的具體流程
簡單來說,ACES的流程為:導入素材→IDT→調色→LMT→RRT→ODT。
IDT的這一步可以在調色系統中直接完成,以DaVinci為例,將主項目設置中的色彩科學更改為ACEScct(相比ACEScc,ACEScct擁有更好的暗部曲線調整能力),那麼ACES版本一般都是1.0.3,它意味著整個色彩引擎版本。如下圖:
圖 9
但是需要注意的是,下面的ACES輸出設備轉換應設置為調色時的監看色彩空間,而不是ACEScct,因為這是ACES色彩管理中的最後一步(即ODT)。獲取數據將其解析成為監看的色彩空間。那麼在這之後將無法再對畫面做任何的色彩設置。比如我們最終觀看的環境是Rec709色域,如果最終輸出的是電影母板,那麼就應該選擇DCDM,那麼ODT就應設置成Rec709。輸入設備轉換(IDT)設置成No input transform。即不轉換,這裡是一個全局選項,讓系統自己去檢測。當然也可以手動選擇素材的格式。
如果將ODT設置成ACEScct時,是沒有任何一個顯示設備是可以正確顯示的。
在IDT這一步,Red攝影機的R3D素材在經過IPP2流程之後,已經被集成進ACES的系統裡,所以Red原始素材的色彩轉換是讀取metadata的信息來進行轉換。
那麼VFX素材在ACES下是如何處理的呢?在傳統的視效製作中,絕大多數都使用LogC作為製作的空間(例如NUKE中的Color Space工具,不改變色域的情況下將Gamma值變為1,然後在輸出時選擇Arri LogC out) ,然後將效果完成後的素材交給DI,DI也將所有的素材用LogC的色彩空間去處理。但是在視效鏡頭的渲染過程中,尤其是三維的渲染中,無論是亮度範圍、飽和度、色彩的色度範圍,都有可能會超過LogC的色域空間。所以可以使用ACES的色彩空間(2065-1 AP1)進行一個更好的轉換和處理。
2065-1即SMPTE ST 2065-1,實際上是ACES的SMPTE標準化版本,雖然該版本標準有很多部分,但一般ACES 2065就表示全線性版的ACES,它的色域比紅綠藍三原色的視覺範圍更大。ACES 2065有一個主集被稱為AP0——ACES Primaries 0。
圖 10
圖10是一個CIE1931圖,圖中有色彩填充的馬蹄形區域是人眼可見光的視覺範圍,即我們所能看到的所有顏色都在這個區域內,左圖黃線範圍為AP0,你可以看到它比前者更大。右邊黃線範圍為AP1,它與Rec.2020相近,遠大於Rec.709,主要用於ACEScc、ACEScct和ACEScg。
2065-1 AP0主要用於存檔和文件交換,在實際使用中,像調色或VFX是不會使用它的,取而代之的是AP1,有時候也被稱為Rec.2020,但實際上它的範圍要比後者大一點點。
所以只要視效部門輸出時選擇ACES色域,在交接時使用這樣的色域,可以保證最良好的轉換,尤其是CG渲染的部分光效,這樣可以更多的得到高光部分細節的保留。
ACES對現在的影視製作流程的各方面到底帶來了哪些影響呢?這樣就需要和之前慣用的創作流程進行對比。
圖 11
如圖11所示,在ACES流程之前,在DIT環節,基本都使用各廠商針對Rec.709的轉換LUT來進行現場的實時監看,這就會導致一個問題,即機器品牌不一致甚至是版本不一致都會導致監看色彩的不一致。而且因為Rec.709的特性,在色彩精度上也會有損失。那在調色環節,也分為在LUT前調色和LUT後調色,但是基本都是使用LUT在進行色彩管理,但是這樣最大的問題就是前文提到的,不同調色軟體之間