戰冰
現階段,膠片介質只用于拍攝和放映,而整個后期制作部分都已數字化,兩種介質的互相轉換帶來了很多的問題,行業一直致力于解決這些問題,以確保導演的畫面能正確放映到大屏幕上。 行業努力的目標很簡單:控制住數據大小和處理時間,避免圖像色彩偏移或質量下降,同時推動電影制作技術的發展,從而制作出更多有吸引力、能感染觀眾的畫面。色彩管理是一個很大的話題,8比特文件到場景線性相關浮點文件(scene linear referred floating point file)的轉換。 摩爾定律提及的計算能力的提升與存儲介質價格的下降帶來了行業發展的契機。 曾經10比特文件看起來很大,需要存成32位(RGB x 10比特 + 2個占位比特)文件,它的存儲空間比存成24位(RGB x 8比特)的8比特文件增加了40%,但在消耗的計算時間方面,電影制作流程相比數字視頻制作流程更為夸張,位深越大,計算時間越長。不過在今天看來即使是64位文件都很合理,它能攜帶多個通道、遮罩和烘焙圖在制作流程中流竄,大家已經對16比特半浮點的OpenEXR文件習以為常。
但DPX或OpenEXR文件只是容器載體。 色彩空間,伽瑪和相關的數學方法才是我們解釋世界的方式,它們也一直在發展演變。 Digital Domain曾組織過一批一線導演進行內部放映,看他們能否分辨出8比特電影流程(早期計算機性能差,還只能用8比特TIFF文件存儲膠片掃描數據)中的鏡頭和全10比特對數電影流程(等價12比特線性流程)中的鏡頭。然而當一組相同的鏡頭放映出來時,只有一位導演分辨出不同,可見10比特并沒有比8比特提高多少畫質。 既然如此,為什么這個行業還要自找麻煩,不斷地追求更大、更復雜的文件格式呢!因為我們需要這些新的文件能滿足新的需求。的確,來自膠片掃描數據的8比特文件與膠片原片對比確實看不出特別明顯的差別,但那個時代也不需要我們在這些序列上做太多的特效處理。
在九十年代早期,Discreet公司率先發布了Flame軟件,它是數字電影合成的先驅,也是那個時代在后期制作環節更精細分工的一個體現,那個時期許多電影流程都用LUTs把10比特Cineon膠片掃描文件轉換成8比特的“線性”文件。LUTs是不可逆的(文章此處說的不可逆指的是10比特到8比特的過程數據有損失,其實LUTs的轉換是可逆的),它會從膠片更大的色彩范圍中采樣出恰好8比特,并從Cineon印片機密度(Cineon Printer Density,簡單來講就是DPX文件的分辨率和色域。在這里密度不僅體現在掃描分辨率上,還體現在色域解析能力上,詳細請參考論文:Grayscale Transformations of Cineon Digital Film Datafor Display, Conversion, and Film Recording)的色彩空間轉換到數字視頻的色彩空間,以便制作電影特效。
早期膠片和數字格式之間的隔閡比現在大的多。數字格式為了在電視或者電腦上播放,都有gamma校正的過程,但因為“線性”這個詞看起來和Cineon文件的“log”編碼方式(柯達通過這種編碼方式把12位數據壓縮進更小的10位的Cineon文件)相對應,所以數字格式的色彩又被很多人稱為線性色彩。行業里有不少爭論就是從這種術語和概念的混淆開始的,比如文件格式、比特深度、gamma、膠片與數字視頻、真正的線性與gamma校正等,這些爭論持續至今。
實際上,過去許多高質量數字視頻都采用膠片拍攝,并且通過電視電影機實時轉換過來。這些電視電影機早期有Cintel膠片記錄儀,后期有Spirit DataCine膠轉磁設備。但要談電視電影機的歷史還得回到John Logie Baird和電視廣播的誕生。
與Arriscan這樣的膠片掃描設備不同,電視電影機主要用來把膠片轉換為數字視頻格式。而Arriscan膠片掃描設備則是為保護肉眼可見的膠片密度和復雜度而開發的,簡而言之就是為了保真而開發的,最終掃描出的數據(Cineon文件)還要通過Arrilaser數字膠片記錄設備記錄回新的膠片拷貝。
在有計算機操作系統的時候,膠片格式恰好就出現了,Cineon的生命從這里開始。Cineon被設計成一個全流程的數字膠片計算處理系統,它包括膠片掃描硬件和膠片記錄硬件。Kodak也正是為了數字中間片的制作而設計Cineon的。它包括掃描設備,磁帶機,帶數字合成軟件的工作站,和膠片記錄設備。這個系統于1993年首次發布,1997年結束使用。
柯達的工程團隊宣稱全尺寸的膠片能用數字的方式錄制并存儲到一種10比特的log文件格式中,作為這個系統的一部分,這種文件格式與整個處理系統同名,也被稱為Cineon(后綴為.cin)。重點是,這是一種中間格式,它被設計作為膠片之間的橋梁,它不是為CGI設計的,也不是最終的數字交付格式。它用來表示印片密度(printing density),即印片環節對膠片的分辨密度。Cineon文件作為膠片工序的一部分,它能確保無論從負片上掃描出什么數值,之后都能通過膠片記錄設備轉回膠片。它是為了保留原始負片的性質諸如色彩分量串擾、伽馬而設計的,理解這一點非常重要。
與數字傳感器不同,色光要到達記錄其特定顏色的感光層,需要先穿過膠片中的其他感光層。藍色光會被膠片的藍色感光層所記錄,但在此之前它需要穿透其他的感光層,包括綠色和紅色感光層。這就涉及到膠片的一些關鍵特性。比如串擾或者RGB三色的互混特性,這種特性比在CMOS傳感器上要嚴重的多,CMOS有互相獨立的藍綠紅感光元件,而膠片某層的感光效果卻會受其他層影響。當然CMOS也有自己的問題,之后會解釋。
從膠片到數字格式的轉換通常會涉及黑點(black point)、白點(white point)的概念。舉個例子,純白色(白點)在數字格式中相當于所有通道完全曝光,用8比特表示就是[256,256,256],但在膠片上看則更接近白色啞光紙的那種白色。膠片所記錄的真實亮度往往更高,比如汽車的閃光。如果這個超大的白光數值在轉換成數字格式時被當作純白色處理,膠片的寬容度就會導致為了把這些特別亮的白光涵蓋進來,所有實際上正常的曝光都會被壓的很暗,最終圖像也會顯得很暗。這也反映了一個現象,雖然客觀上光線是均勻的,但事實上作為人類我們是使用非線的方式來理解真實的線性自然光的。舉個例子,如果給你看一個從黑到白的漸變圖,大部分非專業人士都會選擇18%灰度作為中灰色。
膠片到數字格式文件的常見轉換點是0-1023范圍里的95和685。大于685的像素值就會視作比白點亮,比如鍍鉻上的亮斑或明亮的高光;低于95的像素值則表示為負值的黑色,實際上這些像素數值能下降到20或30。如你所見,在今天Cineon格式依然還在廣泛使用,Cineon在電影特效和制作的發展中取得了巨大成功并具有極其重要的意義。但Cineon作為文件格式還是會有一些限制,于是在90年代DPX文件格式被開發出來。它可以被視作是Cineon文件的容器載體,在DPX文件里經常能看到Cineon數據的身影。DPX或稱為數字圖像交換格式(Digital Picture Exchange),遵循ANSI/SMPTE 標準 (268M-2003),是現今后期制作和視效工作中最為普遍的文件格式。
最初的DPX文件格式隨著時間推移得到了改進,最新的2.0版本在2011年前后由SMPTE以ANSI/SMPTE 268M-2003標準發布。由于文件格式的核心通常都是原汁原味的Cineon文件風格,DPX太過于表現被掃描的負片中每個顏色通道的密度了,同時這種由膠片掃描設備掃描得到的,采用無壓縮“對數”編碼的圖像也保留了原始膠片的gamma信息。DPX文件通常用來調光,但最新的DPX格式也允許攜帶一定數量的元數據(metadata)在相同的文件中傳遞。
色彩管理和色彩工作流已經發展了多年。從Cineon開始,到場景相關(Scene Referred)的線性OpenEXR格式。Cineon支撐了這個行業18年,為了能在視效流程中完美匹配實拍和CGI,我們需要知道我們工作軟硬件所處的色彩空間。 若你不能復現電影圖像的色彩空間,那你就很難生成色調一致的CGI圖像并與電影圖像無縫合成。如果不知道實拍鏡頭在色彩空間的表示方法和位置,你就無法在計算機中生成與實拍鏡頭一樣的畫面,你也不可能合成CGI鏡頭和實拍鏡頭。