好莱坞开源软件生态发展与借鉴意义
原文刊发自《现代电影技术》2020年7月刊
作者: 胡冰
转载请注明作者及出处
摘要:
后期软件作为影视制作产业中重要的生产力工具,其研发水平在一定程度上体现着影视工业化的发展水平。近年来,随着开源软件在数字内容创作领域的不断发展壮大,由美国电影艺术与科学学院(AMPAS)与Linux基金会共同发起成立的学院软件基金会(ASWF: Academy Software Foundation),为好莱坞开源软件的发展构建了全新的生态系统。本文试图通过对ASWF学院软件基金会旗下开源项目及运作方式的研究,揭示好莱坞开源软件生态的发展模式,及其对于构建我国影视工业化体系所具有的借鉴意义。
关键字:
ASWF、开源软件、影视工业化、后期制作、技术制片管理
中图分类号: T-19
一、引言
现今,数字影像技术早已被我们所熟知。创作者们使用电脑,甚至手机便可以制作出生动、绚丽的影像内容。近年来,随着高质量影视作品的不断涌现,将观众带入到一个又一个风格迥异的时空中翱翔穿梭。可以说,想象力已经成为当前内容创作的唯一天花板。而在这些成就取得的背后,始终与软件技术的发展密不可分。
当我们使用电脑进行内容创作时,软件为我们提供了人机交互接口,并通过各种内部算法实现对媒体内容的处理与生成。从早期非线性编辑(NLE: Non-Linear Editing)系统所带来的制作效率与灵活性的突破,到现如今,针对剪辑、视效、声音、调色等不同制作环节,功能强大、种类繁多的专业软件,全面涵盖了影视制作的各个细分领域。与此同时,越来越多的软件产品以开源的形式展露出来,成为行业中一股不可或缺的力量。
二、开源之初
自上世纪90年代“开源”理念提出至今,人们对这一概念已不再感到遥远与陌生。从支撑整个互联网运行的Linux操作系统,到集成于各类桌面、移动影音播放器内的FFmpeg媒体编解码库,开源软件已经融入到科技生活的方方面面。
早期的开源软件通常是界面简陋、操作复杂,给人的印象往往是技术极客专属的小众产品。这些开源软件尽管可供免费使用,但由于其复杂的部署与运维要求,导致系统的整体拥有成本甚至超过了商业软件。在此后的二十多年间,开源社区愈发注重其产品可为行业创造的经济价值,开源软件变得越来越可靠实用,人们的态度也随之转变,整个开源软件生态迎来了良性发展的趋势。
随着开源软件产业从幼年跨入成年,其关注重心也不再仅限于互联网与科研领域,数字媒体的兴起,成为了开源软件新的关注热点。无论你留意与否,它们正在以不同的形式,参与到数字内容生产的各个环节中来。根据使用场景与发布形态的不同,可将这些开源软件项目大致划分为三类,即集成类、工具类以及标准类。
(1). 集成类项目:提供满足特定工作流程的“一站式”解决方案,具备完善的工具集与用户交互界面。例如三维图形软件Blender, 视频剪辑软件Kdenlive等。
(2). 工具类项目:用于实现某类算法、功能的集合。它们通常以软件库的形式存在,既能独立运行,又可被工作流程中的其他软件所调用。例如FFmpeg媒体编解码库,MediaInfo媒体信息检测工具等。
(3). 标准类项目:包含各种数据交换格式、媒体编码格式,协议栈等对某一技术框架的软件实现与规范。例如ACES学院色彩编码系统,FLAC无损音频格式等。
在以上项目中,开源三维软件Blender颇具代表性。Blender最初是作为荷兰动画工作室NeoGeo的内部3D工具软件而开发。此后,Blender的创立者Ton Roosendaal曾试图将其商业化,但因惨淡的销量及资金压力未获成功。为了延续Blender的生命力,Ton Roosendaal于2002年成立了非营利性的Blender基金会,在募集到10万欧元后,Blender正式转变为开源软件。
和大多数开源软件的发展历程相似,在Blender的早期开发阶段,更多地关注于各种功能实现而非用户体验。软件在易用性及支持文档方面十分欠缺,仿佛是一款科研专用工具。逐渐的,Blender基金会也意识到自身在开发方向上的迷失。在广泛收集了社区用户的需求与反馈后,Blender基金会提出了以工作流程为导向的开发目标而非单纯的功能堆砌。
此后,在经历了近两年的版本停更后,直到2019年7月30日,Blender基金会正式发布了Blender 2.80版本。全新设计的用户界面、现代化的3D视口、Eevee实时物理渲染引擎、2D绘图与动画系统等一系列重大改进显著提升了Blender软件的生产力与易用性。这一划时代版本的发布,几乎扫除了人们对于开源软件的过往观念,在某些方面,Blender的表现甚至超越了传统商业软件。越来越多的数字艺术家、中小型工作室以及教育机构开始投入Blender的怀抱。大量行业用户在网络上分享他们的创意作品与使用经验,掀起了一股数字艺术创作的潮流。
图1 Blender 2.80版程序运行界面
与此同时,自2.80版本之后,Blender软件的迭代速度进一步加快,基本上每个季度都会发布一个新的功能版本,持续将业内的最新技术整合其中。根据Blender基金会的官方统计,在2019年期间,Blender软件的下载次数达到了1000万次。这些成绩的取得,是广大开源社区贡献者与Blender基金会共同努力的结果。
三、好莱坞开源生态构建
以Blender为代表的开源项目的成功,再次证明了社区平台对于开源软件发展所带来的推动力。在这一背景下,美国电影艺术与科学学院(AMPAS: Academy of Motion Picture Arts and Sciences)与Linux基金会(Linux Foundation)于2018年8月联合发起并成立了ASWF学院软件基金会(Academy Software Foundation)
作为面向电影和更广泛的媒体行业的开源软件社区,ASWF的主要使命是为了提升内容创作产业开源软件库的贡献品质与数量。与此同时,提供一个中立的平台来协调跨项目的工作;提供通用的构建及测试基础架构;并为个人和组织提供了一条明确的途径,以参与推进内容创作产业的开源生态系统。
截至目前,经过提名与评估,ASWF先后吸收并接纳了源自好莱坞知名制作机构的六款开源软件项目,它们中的每一个在当今影视工业化生产中所体现的价值都不可小觑。这六款开源项目分别是:
(1) OpenEXR
提到OpenEXR相信大多数从业者都并不陌生。事实上,不仅限于影视行业,很多需要高质量图像存储、交互的领域都能看到它的身影。OpenEXR最初由工业光魔(Industrial Light & Magic)开发,并于2003年首次发布。OpenEXR格式可提供32位浮点精度及多种无损或有损压缩编码,能够以线性方式准确、高效地保留了HDR影像的动态范围与色彩信息。
不仅如此,OpenEXR所具备的多通道及深度数据功能,为视效合成带来了巨大便利。画面对象再不是呆板的“景片”,各种光照、反射、纵深信息为场景中各元素的逼真呈现提供了无限可能。此外,OpenEXR中包含的轻量级函数库IlmBase, 可用于表示2D和3D向量与矩阵,以及其他计算机图形应用中常见的数学对象,包括经典的“半精度”16位浮点数据类型。
目前,OpenEXR已被集成于各大三维、视效及DI软件中,成为高端影视制作中最为常用的图像交换格式之一。
(2) OpenColorIO
在有了统一的文件格式标准之后,接下来需要解决的便是色彩标准。
对于数字时代的电影制作,色彩管理可谓极其重要且精细复杂。面对来自摄影机的原始画面、合成素材以及CG动画,倘若没有一套统一的色彩管理方案,结果将是灾难性的。于是,OpenColorIO应运而生。
OpenColorIO(OCIO)是一套面向电影制作的完整色彩管理解决方案,最初由索尼影业旗下的动画公司Imageworks于2003年开发并应用于《蜘蛛侠2》、《爱丽丝梦游仙境》等项目。此后,Autodesk, 工业光魔等公司也参与到OCIO的开发工作中来。
OCIO提供了预置及可自定义的色彩空间转换模型,可搭配同样出自电影艺术与科学学院的ACES色彩编码系统,为跨部门间的影像制作提供了统一的色彩科学框架。目前,OCIO已被集成于包括After Effects, Blender, Fusion, Nuke在内的各大主流视效软件中,成为色彩管理领域必不可少的一环。
(3) OpenVDB
OpenVDB作为一款开源的数据结构与工具集,被广泛应用于视效与动画领域。
为了实现对液体、云雾、火焰、烟尘等流体效果的高细节真实渲染,视效与动画工作室利用数以万亿计的微小体素(Voxel, 即三维空间中的像素)来构建体积数据。尽管体素相对于多边形更利于流体效果的模拟与操纵,然而它也带来了对存储和计算资源的巨大消耗。
OpenVDB的出现改变了这种状况,其特有的分层数据结构可用于高效存储和处理离散在三维网格上的稀疏体积数据,从而有效降低了数据存储要求及渲染模拟所需的处理时间。
OpenVDB最初由梦工厂(DreamWorks Animation)开发,并于2015年获得奥斯卡技术成就奖。OpenVDB现已成为动画与视效领域的行业标准,被Houdini, RenderMan, Arnold, RealFlow等软件整合其中,Blender自2.83版起也加入了对OpenVDB的支持。
图2 在Blender中导入OpenVDB体积文件
(4) OpenCue
OpenCue是一款专为视效和动画领域设计的渲染管理系统,最早由Sony Pictures Imageworks开发,并已被应用于其内部数百部影片的渲染管理。
对于当今的好莱坞视效大片,动辄需要数以百万计的渲染机时,并要求渲染管理系统能够同时调度上百个渲染请求。OpenCue所具备的高可扩展性架构能够支持大量的并发主机,并且随着公有云与虚拟化技术的普遍应用,OpenCue能够同时支持本地、云端以及混合方式进行部署,使得用户可以按需创建主机实例(Instance),更为有效地控制成本开销。OpenCue提供了兼容各主流DCC(Digital Content Creation)软件的渲染任务提交插件以及针对Katana, RenderMan, Arnold渲染器的原生多线程支持。通过对不同任务添加属性标签,渲染管理器可为其分配指定规格的计算资源。
图3 OpenCue软件技术架构
(5) OpenTimelineIO
OpenTimelineIO从命名便可看出其与时间线有关。作为剪辑创意在制作管线中交互的基础,时间线的重要性不言而喻。然而,不同后期软件通常有其各自的时间线工程标准,使得我们不得不花费精力以确保剪辑信息在整个制作流程中的一致性。
OpenTimelineIO(OTIO)被定义为一种媒体剪辑信息的交换格式及应用程序接口(API)。用户既可以将其作为一种时间线文件格式进行交互,也可以借助OTIO提供的应用程序接口对模型化的剪辑数据进行各种操作。OTIO通过名为“适配器”的模块,实现对EDL, XML, AAF等不同格式时间线工程文件的读取与写入。伴随第三方适配器插件的不断丰富,OTIO所能兼容的时间线格式也在持续丰富。此外,OTIO还允许用户加载自定义的“媒体链接器”,用于将时间线中所引用的媒体与机构内部的存储命名规范匹配并关联,从而实现更高效率地媒体素材利用与生命周期管理。
图4 OTIO时间线查看工具OTIOView
OpenTimelineIO最初由皮克斯工作室(Pixar Animation Studios)开发,目前已被包括Netflix, Marvel在内的大型制作机构所采用。
(6) Open Shading Language
开放式着色语言(OSL: Open Shading Language)是一款小巧而丰富的着色编程语言。作为ASWF于2020年4月吸纳的最新成员,OSL同样诞生自Sony Pictures Imageworks, 最初用于搭配ImageWorks内部的渲染器进行动画电影及视效制作,在其开源后,其他的视效及动画工作室也参与到OSL的应用与发展中来。
OSL特别针对高级渲染算法所设计且易于使用,其内部提供的颜色、坐标、向量、法线等特殊数据类型,非常适合用于描述材质、灯光、置换及样式生成。随着OSL被越来越多的渲染器工具所支持,其已成为行业内着色语言的事实标准,被应用于《长城》、《敦刻尔克》、《阿丽塔:战斗天使》、《权力的游戏》等诸多大型制作中。OSL的核心开发者Larry Gritz于2017年获得奥斯卡技术成就奖。
图5 在Blender中应用OSL
受篇幅所限,上述六款开源项目在本文中我们只能做简要介绍,无法深入展开其技术架构与功能特性。但我们仍能从以上内容中总结出一些规律:
1. 现阶段,ASWF所主导的六款开源项目基本都与视效环节紧密相关,而这也正是影视制作产业中工业化属性最强、技术更迭最快、协作要求最高的领域。上述开源项目的发展,有效填补了单一创意软件在流程、规范、协作等方面的短板,构建出了一套贯穿整个制作流程的开源软件生态系统。根据ASWF 2020年度的工作规划,目前在视效领域讨论最多的USD(Universal Scene Description)工作流程将是其下一个关注重点。
2. 上述项目在诞生之初都源自好莱坞顶尖制作公司的内部需求,并经过大量一线项目的实际应用。它们的出现,确实能够有针对性地解决影视制作流程中存在的主要痛点,并且引领行业技术的发展方向。
3. 以上项目普遍提供有基于Python的应用程序接口,方便用户更容易地将相关软件模块整合进自身的工作流程中,大幅降低了部署难度与应用门槛。而Python本身也是一款开源的编程语言。
在上述六款开源项目之外,ASWF还特别发布了一款面向整个开源生态的交互式工具ASWF Landscape(ASWF版图)。该工具可提供实时生成的基于流程与功能分类的开源软件项目信息,方便开发者及用户掌握当前可用于影视制作行业的各种最新资源,从而更加有效地促进这一生态体系的蓬勃发展。
图6 ASWF开源生态版图
四、生态优势与借鉴意义
通过以上介绍我们可以看出,现阶段开源软件在数字内容创作领域已经逐步构成了自下而上的生态体系,覆盖了从数据交换、流程管理直至创意实现的各个环节。以ASWF学院软件基金会为代表的社区化驱动开源项目的发展,将对影视制作行业的工业化进程产生不可忽视的影响。
首先,具有完备体系的开源软件解决方案对于整个行业制作流程的规范化起到了积极地示范作用。任何机构都可将其作为自身工作流程的最佳实践,无障碍地整合到机构现有的制作规范中。随之而来的,是行业机构间更加统一高效地数据交互与流程协作。此外,对于具备一定技术研发能力的制作机构,开源方案允许其进行定制化的二次开发,以获得最佳的灵活性与适应性。
最终,当开源软件切实成为用户手中得力的生产工具、其免费属性才得以真正凸显。以2019年上映的动画电影新版《狮子王》(The Lion King)为例,有超过1200名数字艺术家参与其中。假设这些艺术家使用开源软件替换他们电脑工作站中的某一款商业三维图形软件(以Autodesk 3ds Max为例,其单个软件授权价格为1620美元/年),则每年可节省的软件授权费用便接近200万美元,这对于重资产类型的视效公司而言是值得考量与评估的议题。
近年来,伴随着我国影视产业的迅猛发展,影视工业化这一命题被不断提及。对于后期制作领域,从某种意义上来说,制作软件的研发水平就代表着影视工业化的发展水平。而开源软件在影视制作领域的兴起,可以帮助我们进一步缩小与好莱坞先进制作体系之间的差距。当新技术被加入到开源软件中的同时,我们便可以无延迟地加以学习与应用。另一方面,开放源代码在一定程度上也可避免因使用私有化代码软件程序所带来的潜在信息安全风险。
当前,已有越来越多的国内企业针对影视制作行业,推出了相应的软件或SaaS(软件即服务,Software as a Service)产品,涵盖了智能影像处理、项目管理、云协作平台等方面。与此同时,我们与国际同行间的技术交流也更加紧密。在2019北京国际电影节电影科技国际论坛上,组委会就特别邀请了美国电影艺术与技术学院技术委员会常务理事Andy Maltz分享了有关ASWF的最新信息。尽管如此,我们在自身开源软件生态体系的建设方面,仍处在相对初级的阶段。
随着国内制作公司对于流程设计和研发能力的不断投入,一些国产开源项目开始陆续浮现,例如由国内知名影视后期公司天工异彩开发的dayu开源后期制作管理平台等。但由于大多数从业者仍然缺乏对于开源软件的系统认知与技术应用手段,使得这些项目往往被“束之高阁”。不仅如此,在开源项目的开发者之间,也由于缺少有效的沟通、交流渠道,造成不同项目的开发质量良莠不齐,重复“造轮子”的情况时有出现。以上这些,都需要我们通过建立自己的开源生态体系去逐步发展与完善。
图7 天工异彩dayu开源项目GitHub页面
我们以学院软件基金会作为参考对象。当ASWF接手几款开源项目的管理工作后,其首要任务便是避免让它们因为某个开发人员或机构的变故而导致“单点故障”,进而造成整个项目的停滞。另一方面,ASWF需要通过积极地行业推广让更多从业者了解并应用这些开源项目,同时吸引潜在的社区贡献者。而上述工作的开展,都离不开包括资金在内的各种资源的有力支撑。
ASWF通过学院以及Linux基金会的影响与号召力,在成立不到两年的时间内,便获得了来自互联网、信息技术以及影视制作领域行业巨头们的加盟与支持,包括苹果与微软、谷歌与亚马逊、英特尔与英伟达等等。这也从侧面反映了数字媒体产业当前以及未来对于互联网及信息技术行业所能产生出的巨大带动作用:更多的数字内容创作者需要更高配置的电脑硬件,更多规模宏大的CG场景需要更为强悍的云计算平台。不仅如此,Autodesk, Foundry, SideFX等传统商业软件开发商也加入到ASWF的支持行列中来,而这恰恰印证了开源软件生态体系的形成,让它与传统商业软件之间不再仅仅是取代与竞争的关系,它们双方都可以共同推动行业技术的快速发展。和其他非营利性组织相似,ASWF也向社会持续公开其项目管理与机构运营的大部分信息。在2019年度,ASWF共获得了来自23个成员机构100万美元的捐款,外加17名等价全职开发人员(Full Time Equivalent Developer)的支持,使得ASWF在推动项目研发之外,还可以创建线上论坛、举办各种线下活动、并对项目文档进行丰富与完善。
图8 ASWF成员机构
五、结语
综上所述,面对行业的飞速发展,以同样免费开源的虚幻引擎(Unreal Engine)为代表的新技术正将影视制作带入到虚拟制片(Virtual Production)的新疆界。行业对于TA(Technical Artist, 技术美术)与TD(Technical Director, 技术指导)等新兴技术岗位的人才需求正在与日俱增。通过针对开源软件项目的研究与借鉴,可以加速人才的培养与提升。当我们在技术、流程方面与好莱坞逐步接轨的同时,也必然需要打造符合我国发展特色的影视工业化体系,而自有开源生态环境的建设,对于进一步促进我国影视制作产业在技术创新、人才培养、行业推广、规范树立、知识产权保护等方面的良性发展起着至关重要的作用。
-完-
DITChina
点击了解更多DITChina