我在位元組跳動「修電影」

語言: CN / TW / HK

位元組跳動技術範兒 位元組跳動技術範兒 昨天“是什麼支撐我們完成這麼繁複的工作?是因為我們明白它們對後人的價值——所謂經典影片,就是歷久彌新的內容,它們值得在新技術的幫助下重新煥發生機。”

當 4K 修復版的《哪吒傳奇》《葫蘆兄弟》《黑貓警長》《大頭兒子和小頭爸爸》《小鯉魚歷險記》《小蝌蚪找媽媽》6 部經典動畫片上線西瓜影片 App 後,產品經理甄辰這樣感嘆。

1.webp

六部老動畫的 4K 修復版上線剛兩週,就獲得了超過百萬的播放量。而在半年之前,他們剛開始投入這項工作的時候遠遠沒有想到,以為接個超解析度演算法就能實現的老動畫 4K 修復專案,竟然如此反覆而艱難:

老膠片的破損和劃痕非常嚴重;

美術風格帶來的侷限巨大;

遠景/近景差別巨大,細緻紋理難以直接修復,保持原有美術風格難度重重;

……

但當問題一一解決之後,展現的效果卻流暢而清晰。

在這些清晰的影像背後,位元組跳動火山引擎的研發團隊都經歷了什麼?

333333.webp

頻頻踩坑的修復之路

4K 老動畫修復專案的技術同學們大多是 90 後,大約有一半都是今年校招剛剛加入的新人,修復這些老動畫也是修復他們的童年記憶。

專案組工程團隊的戈嶺說,小時候父母給自己買的第一部動畫片光碟就是葫蘆娃,這部片子陪伴了他很久,如今再次著手《葫蘆兄弟》的修復工作,心裡滿滿都是童年回憶。

回憶固然美好,真正的修復工作卻十分困難。

每部動畫片的狀況不一樣,有的儲存在膠片上,年代久遠有不少劃痕和粘連導致的破損;有的雖然儲存成了數字格式,但放大後線條的鋸齒非常嚴重;有的線條清晰、色彩高度飽和,有的則是採用了水墨畫等藝術風格,「修電影」的傳統方法,無法在這些不同美術風格的動畫片上完美應用。

可以說,每部片子都不一樣,不能單純依靠超解析度演算法,而是每位演算法工程師獨自負責 2~3 部動畫,根據它的特點來單獨設計定製化的技術方案。

演算法工程師傅仁在進入這個專案時剛剛從上海交通大學碩士畢業,通過校園招聘來到位元組跳動。

她參與完成的動畫片是《葫蘆兄弟》和《黑貓警長》。這兩部均是膠片電影,拿到片子的第一步,她給兩部動畫片完成了多維度的質量分析,調研了許多種不同的深度學習和傳統學習的方法,研發了去劃痕模組。

但嘗試執行之後卻發現,老膠片電影上劃痕和噪點實在太過嚴重了,她想到用深度學習來完成劃痕的檢測,但沒想到,把劃痕檢測模組加上去之後,結果並不如預期:

演算法正確率無法達到 100%,有可能會將動畫片中一小部分圖案的紋理當成劃痕,給一起抹掉。 444444444.webp

左圖葉片被當做膠片汙漬被消除

555555555.webp 空中的蝴蝶翅膀,易與膠片汙漬混淆

儘管使用了動漫資料來訓練劃痕檢測模型,但這個問題依然無法解決,經過討論後,為了保證每一幀修復畫面的完美,團隊最終確定了「演算法+人工+演算法」三步走的方式:

先用演算法將影片放大到 4K,初步去除噪聲,完成畫面增強,讓動畫片變得更清晰;

之後找到標註供應商,找出那些人眼看上去非常明顯的劃痕,比如被放映機劃傷的部分、多年儲存中膠片黏連的部分,以此為依據逐幀畫成蒙版;

之後藉助修復演算法,將這些被人工標出的損傷部分填補好。

這是一套既靠人工、也靠智慧的方式,經過第二步人工標註後再進行第三步演算法填充後,機器跑出來的結果常常不能盡如人意,“可能標註方的筆觸不小心越界了,色塊就溢位了原本的位置;畫面上邊界模糊的區域,經過不恰當的標註,色塊會異常,人眼看著很突兀,”專案組的 PM 甄辰同學說,他每天都要抽出一定的時間,來為這些不夠完美的執行結果「批作業」,重複修改多次後,他已經對《葫蘆兄弟》和《黑貓警長》的劇情稔熟於心,“一集 10 分鐘的動畫片,我要看一個小時才能找出裡面所有不完美的細節,反覆看了十幾遍,才最終出品了完美的版本。”

這些紋理細節的問題,同樣出現在《小鯉魚歷險記》上。

負責完成這部動畫片修復的 hasaki 也是今年加入的校招生,畢業於西安電子科技大學。在反覆的實驗中,hasaki 發現了奇怪的一幀:

在使用某個演算法做修復時,每當遇到小鯉魚在水中游動的場景,處理後的字幕偶爾會出現扭曲。

比如,正常來講應該是這樣的字幕:

66666666.webp

會扭曲成這樣,文字輪廓被模糊掉了一部分,筆畫粗細也很隨機,甚至部分文字變得十分抽象:

777777777.webp

經過實驗發現,一方面字幕的紋理有梯度大並且密集的特點,另一方面字幕本身是靜止的,但是周圍的背景一直在運動,會產生干擾。在這兩個因素作用下,在某演算法修復處理後容易產生 badcase。

為了應對這種情況,hasaki 修改了自己的方案,將字幕區域給識別了出來,對字幕區域採用了單獨的優化策略,避免了這個問題。

除了演算法同學,工程團隊同樣做出了許多改進。

Base 在杭州的戈嶺從浙江大學畢業後就開始參與這個專案:“我差不多剛畢業、七八月的時候才開始研究影片增強這類技術,9 月就加入了專案組。”

與演算法側不同的是,實現對老動畫的 4K 修復,工程側需要讓這些不同的演算法處理方法執行在一個通用的「量產」過程中,創造出一個流水線式的處理流程。

然而,這些不同年代、不同製作方式的老動畫卻有著不同的格式,想要統一輸出為 4K 解析度、 16:9 的形態,需要基於各種片源情況考慮到處理的細節和順序,是頗有難度的工程挑戰。戈嶺說:“有些片源甚至還保持著電視制式的畫素比例,每個畫素是長方形的,而不像計算機、現代制式的 1:1 正方形。”

正是因為這種片源的複雜度,如何將每部老動畫個性化的演算法模組統一部署在量產流水線上,既要保證不同處理模組的載入和正常運轉,也要保證它們之間互相相容,是一個需要不斷打磨的過程,每次發現新的問題,都要進行問題的復現、定位排查以及修復。

這個龐雜的系統同樣要求它的製作者對於細節的把控能力,“一個不起眼的引數沒對齊都可能牽一髮而動全身”,戈嶺說。對於每部片源,都需要工程同學和演算法同學齊心合力,在定製工作流後結合工程程式碼進行流程推演,梳理在具體影片處理中的細節和流水線。

8888888.webp

從內部試看到釋出,經典終於重現

經過多輪修改和調整,當所有的老動畫都被修復完成之後,迎接挑戰的時刻終於開啟。

這是一場正式上線前的觀影會,將決定所修復的影片能否正式上線。

觀影會的組織可以說相當有儀式感了,專案中所有參與同學都來到北京的一家 4K 影院中,用專業的裝置進行播放,審閱 4K 修復的效果。

在此之前,上海的傅仁和深圳的 hasaki 也出差來到了北京,提前三天籌備觀影事宜。

從來沒有接觸過影院播放的 hasaki 在這段日子裡學到了很多新知識:“我沒有想到,電影院播電影的時候,連格式都跟我們普通使用者不一樣,並不是常規的格式。”

原來,影院播放的影片相當於把我們普通使用者的影片截成一幀一幀的播放,按照這種分幀的格式存下來,再修改位元速率。此外,考慮到影院的螢幕尺寸,還常常需要給電影畫面周圍增加黑框來保持適配。

剛接觸到這一套系統的 hasaki 迅速學會了影院影片轉碼工具,並在三天內製作出多個演示 demo 供內部觀影使用。

籌備內部觀影會的過程中,他們也在影院的大屏嘗試播放了多次。大屏的播放效果與電腦螢幕播放大有不同,放大幾倍之後,一些不夠清晰的細節又被放大了,需要不斷調整優化才能達到最好的播放效果。

辛苦籌備之後,當所有專案同學來到現場,清晰、美觀的播放效果讓現場所有人在清晰的畫質下重溫了兒時的回憶,大家一致同意讓這些修復的影片上線。

9999999.webp

後來,在中國電影導演中心,300 餘名西瓜影片使用者、媒體朋友與合作伙伴在釋出會現場見證這些老動畫以煥然一新的面貌出現在世人面前。

1010.webp

而背後研發團隊這些年輕同學的不斷努力,終於被這個世界看見。他們的精益求精與對極致細節的追求,已經成為了經典的一部分,留在觀眾的記憶裡。

11.webp

提升自己,傳遞價值

“原來《黑貓警長》只有五集啊,我感覺小時候看它時候,彷彿有很多很多集。”專案完成之後,傅仁終於可以輕鬆地看待這些在老動畫片了。

承擔了一些專案中部分工作負責人的角色後,她覺得自己迅速成長起來了:“我的 mentor 會有意識地讓我負責一些事情,我會感到我在做自己手上工作的專案管理,和不同同學溝通合作,跑通一整個專案的流程。”

其實這是不少校招生進入這個專案組後的感受:在學校時,做事的規則就是導師安排什麼,自己完成什麼,但現在需要主動安排自己去完成什麼,自己做好實驗,自己主動向其他合作者證明我這個版本會比另一個版本好。

而在技術工作的方法上,專案組同學也有不少感悟,大家逐漸意識到,很多影片修復的問題要從根源上多角度的去思考,然後再來考慮演算法上的一些改進。

工程側的戈嶺也是第一次參加這麼大的專案,這種全流程的落地推動成為他職業生涯中的第一個亮點:“這個專案的流水線方法是我想到的,最終把它應用到了專案裡,這讓我很有成就感。”他正在掌握成熟的做事方法,來把自己的技術切切實實落地。

火山引擎多媒體實驗室負責了位元組跳動影片增強方面的工作,面臨著非常豐富且困難的場景,可以說是國內影片增強業務場景最豐富的地方。實驗室研究員趙世傑覺得,老動畫的確很難修,需要每位同學針對複雜的場景提出技術方案,不僅要保證畫質達到 4K 標準,而且原有的藝術美感也必須傳承下來,這也是每位同學追求極致的體現。

他們正在把修復老動畫這項工作持續進行下去,西瓜影片也將開放入口,為普通使用者免費提供 AI 修復支援。

現在,如果開啟西瓜影片 App,你就可以看到這 6 部 4K 高清的動畫片。它們是每個人的影像回憶,從熒幕上的早年經典變成移動端可以隨時觀賞的作品,正在成為跨越代際的共鳴。

用堅實的技術修復這些共同的記憶,服務每個曾被它打動的觀眾,是務實的位元組技術人所追求的價值。