999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LCS算法的EDL可視化比對工具研究

2020-06-19 04:42:58鄭曉發(fā)李垚瑞
現(xiàn)代電影技術(shù) 2020年6期
關(guān)鍵詞:可視化文本信息

鄭曉發(fā) 李垚瑞

(1. 北京郵電大學(xué) 數(shù)字媒體與設(shè)計(jì)藝術(shù)學(xué)院,北京100876)

(2.中南民族大學(xué) 文學(xué)與新聞傳播學(xué)院,湖北 武漢430074)

1 引言

EDL (Edit Decision List,編輯決策列表)文件是在不同編輯系統(tǒng)之間傳輸項(xiàng)目編輯信息最基本的交換文件格式之一。在最基本的EDL文件中,某一素材在時(shí)間線上的使用信息一般按照序號 (鏡頭號)——卷號——軌道類型——轉(zhuǎn)場類型——源片段入點(diǎn)時(shí)碼——源片段出點(diǎn)時(shí)碼——時(shí)間線入點(diǎn)時(shí)碼——時(shí)間線出點(diǎn)時(shí)碼——源素材片段文件的順序依次排列,例如 “004 AX AA C 00∶01∶08∶23 00∶07∶27∶17 00∶00∶00∶00 00∶06∶18∶24*FROM CLIP NAME:09.mp4”,代表了鏡頭號為004,源片段文件為09.mp4的鏡頭在剪輯時(shí)間線中的相關(guān)信息。

EDL文件已廣泛應(yīng)用在當(dāng)下數(shù)字電影后期制作中。圖1是數(shù)字電影后期制作的基本流程,包含素材轉(zhuǎn)碼、低碼率文件剪輯、EDL 或XML 交互文件跨軟件協(xié)作、成片輸出等環(huán)節(jié)。其中,低碼率文件可以使剪輯部門采用一般硬件配置計(jì)算機(jī)就能進(jìn)行流暢剪輯,而剪輯部門輸出的EDL 或XML 文件作為編輯信息交換文件,可以使后期時(shí)間線傳遞和管理更加高效。

在上述流程中,如果剪輯部門對已經(jīng)交付給調(diào)色部門的時(shí)間線進(jìn)行了修改,例如新增、刪除了鏡頭,改變了鏡頭順序,或是修改了鏡頭長度,而此時(shí)調(diào)色部門已經(jīng)利用舊版時(shí)間線進(jìn)行了大量調(diào)色工作,那么尋找和修改調(diào)色時(shí)間線上的鏡頭會(huì)變成一個(gè)較為繁雜的工作。由于幾乎所有的非線性編輯軟件都可以輸出EDL 文件,因此利用EDL 文件進(jìn)行時(shí)間線比對,發(fā)現(xiàn)并標(biāo)識(shí)有調(diào)整的鏡頭,這對于提升后期各部門協(xié)同工作效率有較大幫助。

圖1 數(shù)字電影后期制作流程圖

本文根據(jù)現(xiàn)有數(shù)字電影后期制作需求及EDL文件的特點(diǎn),擬開發(fā)EDL可視化比對工具。在第2部分,本文初步提出了基于 “C++ 和Qt Creator”進(jìn)行文本比對及結(jié)果可視化開發(fā)的設(shè)計(jì)方案;第3部分根據(jù)設(shè)計(jì)方案進(jìn)行EDL 比對工具的實(shí)際開發(fā),以實(shí)現(xiàn)EDL 文件讀取、EDL 文件中源素材片段信息修改點(diǎn)比對、比對結(jié)果可視化及輸出功能。

2 EDL可視化比對工具設(shè)計(jì)

利用EDL進(jìn)行可視化信息比對,需要將發(fā)生變化的源片段素材單獨(dú)提取出來,同時(shí)將該片段的變動(dòng)信息輸出到文本文檔,以方便查看不同剪輯版本中源片段素材變動(dòng)的詳細(xì)信息。因此,該EDL比對工具的功能需求為:

(1)實(shí)現(xiàn)EDL文件內(nèi)容讀取;

(2)比對出兩個(gè)EDL文件中發(fā)生變動(dòng)的源片段信息;

(3)直接在比對工具界面顯示比對結(jié)果;

(4)將出現(xiàn)變動(dòng)的源片段信息匯總,并輸出文本文檔,以便參與后期協(xié)同制作的相關(guān)工作人員使用。

2.1 EDL文件變動(dòng)讀取原理

當(dāng)剪輯時(shí)間線上的素材發(fā)生變動(dòng)時(shí),EDL 文件里每條素材的信息相應(yīng)也會(huì)發(fā)生變動(dòng)。通過比對兩個(gè)EDL文件內(nèi)容的區(qū)別即可讀出時(shí)間線上素材發(fā)生變動(dòng)的情況。例如:

(1)當(dāng)某一素材在剪輯時(shí)間線上的位置發(fā)生變化時(shí),鏡頭序號以及素材錄制出入點(diǎn)會(huì)發(fā)生變化,素材片段名稱不變;

(2)當(dāng)某一素材被其它素材片段替換時(shí),素材片段名稱會(huì)發(fā)生變化,鏡頭序號、素材錄制出入點(diǎn)信息不變;

(3)當(dāng)剪輯時(shí)間線上添加新素材時(shí),文本文件中的總行數(shù)會(huì)發(fā)生變化。

需要注意的是,以上幾個(gè)例子僅僅是討論了最簡單的幾種情況,在實(shí)際剪輯中參數(shù)的變化有可能會(huì)更為復(fù)雜。例如,某一素材可能同時(shí)發(fā)生時(shí)間線上位置的變化和自身時(shí)長的變化;時(shí)間線上原本沒有變動(dòng)的其它素材有可能會(huì)因?yàn)槟承┧夭牡淖兓a(chǎn)生錄制出入點(diǎn)的變化;此外,時(shí)間線上素材片段數(shù)量的增加或減少也會(huì)帶來原有素材片段部分參數(shù)的變化,例如錄制出入點(diǎn)、鏡頭序號等。針對這種情況,需要首先判斷時(shí)間線變動(dòng)前后素材片段的數(shù)量有無增加或減少,再根據(jù)實(shí)際情況進(jìn)行每條素材片段實(shí)際變化情況的判斷。

綜上所述,當(dāng)時(shí)間線上的素材發(fā)生變動(dòng)時(shí),最先要讀取的一般是總行數(shù),接下來是每一行的內(nèi)容,最后才是每一行中的具體參數(shù)。對于簡單的時(shí)間線信息變動(dòng)而言,最簡單的比對方式是以行為單位進(jìn)行比對。先通過比對總行數(shù)查找新增鏡頭與刪除鏡頭,再通過比對每一行的內(nèi)容讀出是否有素材的替換或時(shí)長的變動(dòng)。

2.2 EDL比對工具開發(fā)方案設(shè)計(jì)

基于EDL文件內(nèi)容的特點(diǎn),結(jié)合后期工作的需求,提出如下開發(fā)方案:

(1)比對時(shí)以行為單位:在實(shí)際EDL文件比對中,需要體現(xiàn)的除了 “時(shí)間線上的源片段素材有變動(dòng)”,更多要體現(xiàn)的是“某一源片段素材在不同剪輯版本中發(fā)生了怎樣的變化”。因此,比起以一整條時(shí)間線為單位進(jìn)行整體判斷,單獨(dú)比較每一條源素材片段的變動(dòng)情況更能直觀體現(xiàn)整體時(shí)間線的變動(dòng)。

(2)采用LCS算法進(jìn)行比對:在比對兩個(gè)EDL文件時(shí),需要在新的EDL文件中搜索原有的素材片段在新剪輯時(shí)間線上的位置。因此,基于LCS算法將EDL文件中的每一行作為一個(gè)被比對的元素,進(jìn)行逐行比對和匹配子串搜索。為了精簡算法,實(shí)際比對中可先判斷EDL文件前后編輯版本中行數(shù)是否相同,再根據(jù)LCS比對算法,在回溯過程中逐個(gè)提取符合要求的行。

(3)調(diào)取Qt庫實(shí)現(xiàn)圖形界面和結(jié)果可視化:可使用Python語言或C++語言進(jìn)行EDL 文件的讀取和比較,再調(diào)取Qt庫完成圖形界面和比對結(jié)果可視化的開發(fā),從而使EDL文件的比對結(jié)果更加直觀且具有可讀性。

3 EDL可視化比對工具開發(fā)

3.1 EDL文件讀取

Qt提供了可直接用于輸入、輸出二進(jìn)制文件的QFile類,支持對文本文件或純數(shù)據(jù)文件的讀寫,可直接調(diào)用file()語句打開文件。

為了使用上更加方便,一般在實(shí)際操作中會(huì)搭配QDataStream 流或QTextStream 流使用。其中,QDataStream 流一般用于讀取內(nèi)容是純二進(jìn)制數(shù)據(jù)的文件。在讀取EDL 文件時(shí),使用了QText-Stream 流讀取文件內(nèi)容,將其中的信息作為文本字符處理。

在實(shí)際運(yùn)用中,首先以QFile file (QIODevice∶∶Read Only|QIODevice∶∶Text)語句以只讀方 式 打 開 EDL 文 件, 再 調(diào) 用 QTextStream in.readline()命令按行讀取EDL 文件。圖2所示是Qt讀取EDL中內(nèi)容的顯示結(jié)果。

圖2 將EDL文件內(nèi)容按行讀取到文本框中

3.2 EDL文件內(nèi)容比對

根據(jù)LCS比對算法,在回溯過程中逐個(gè)提取符合要求的行,最終執(zhí)行實(shí)現(xiàn)比對EDL文件內(nèi)容的功能。比對流程圖如圖3所示。

EDL文本比對時(shí),需將提取匹配的子串添加到相應(yīng)類型的子串中,并保存為一個(gè)自定義類。該類除了保存子串本身外,還同時(shí)保存子串比對結(jié)果。比對規(guī)則如下:

(1)若回溯到左上角單元格,則說明被比對的行完全相同,即這兩行源素材信息是完全相同的,將比對結(jié)果設(shè)置為“same”;

圖3 比對流程圖

(2)若回溯到上邊單元格,則說明該行信息可能出現(xiàn)了時(shí)間長度的增減、素材的替換或素材的刪除。此時(shí),需對該行信息的內(nèi)容進(jìn)行判斷:如該行信息是時(shí)間碼所在行,則說明該源素材片段出現(xiàn)了時(shí)間長短上的變動(dòng);如該行信息是文件名所在行,則說明該源素材片段可能被其它素材所替換。此時(shí),將比對結(jié)果設(shè)置為 “modify”;若同時(shí)存在行數(shù)變動(dòng),則說明素材已遭刪除,此時(shí),將比對結(jié)果設(shè)置為“delete”;

(3)若回溯到左邊單元格,則說明修改后的EDL文件中的時(shí)間線上增加了新的素材。此時(shí),將比對結(jié)果設(shè)置為“Add”。

3.3 比對結(jié)果可視化顯示

Qt庫中提供了QPainter類,可用于在QWidget上繪制各種幾何圖形。在繪制幾何圖形時(shí),要通過類對象的paint Event()函數(shù)實(shí)現(xiàn)繪制功能。同時(shí),Qt庫中還提供了文本塊QTextBlock類,可調(diào)用命令從文本文檔中直接創(chuàng)建。一個(gè)文本塊相當(dāng)于一個(gè)段落。文本塊顧名思義相當(dāng)于一個(gè)矩形框架,用于將一段段的文本 “框”在其中。通過調(diào)用QRect F命令可直接在文本塊上方創(chuàng)建矩形,再通過QPainter類中的draw Rect()命令繪制矩形,用setPen ()命令調(diào)整所繪制矩形的顏色。

圖4 可視化開發(fā)流程圖

本EDL文件比對工具結(jié)果可視化開發(fā)的思路如圖4所示。根據(jù)之前在執(zhí)行比對命令時(shí)保存的差異所在處創(chuàng)建文本框,在文本塊上方繪制相應(yīng)顏色的矩形標(biāo)注。為了使比對結(jié)果的可視化效果更加直觀,可使用draw Line ()命令繪制直線,將EDL 文件新版本較之舊版本產(chǎn)生的變動(dòng)以連線的方式在舊版本EDL文件中進(jìn)行定位,方便查看。

圖5 比對界面最終效果

根據(jù)上述開發(fā)思路,實(shí)現(xiàn)了以不同顏色標(biāo)識(shí)鏡頭變動(dòng)的可視化顯示效果。最終比對結(jié)果可視化效果如圖5所示。

3.4 比對結(jié)果文本輸出

圖6 輸出保存比對結(jié)果流程圖

在實(shí)現(xiàn)變動(dòng)信息可視化顯示的基礎(chǔ)上,需實(shí)現(xiàn)變動(dòng)信息的文本輸出,具體思路如下:在EDL文件比對過程中,發(fā)生變動(dòng)的源片段信息已根據(jù)不同的變動(dòng)類型分類保存,因此輸出文本時(shí)可根據(jù)不同類型,分類到不同的變換信息中,并調(diào)取相應(yīng)的源片段鏡頭號即可。流程圖如圖6所示。

比對結(jié)果包含發(fā)生變動(dòng)的EDL文件內(nèi)容行及該條源素材信息發(fā)生變動(dòng)的類型二者一同作為用戶自定義類ZFileDiff Model被存放在了QList中。

QList是鏈表類,不能直接輸出在其中存放的字符串。因此,若想輸出被存放為自定義結(jié)構(gòu)體ZFileDiff Model當(dāng)中的比對結(jié)果信息到文本文檔,首先要遍歷存放在QList中的所有對象,然后將每個(gè)對象逐條提出,接著通過QDataStream 類中命令將每條信息寫入新建的文本文件,最后調(diào)用QFile()命令保存。

由于原先存放在QList中的元素是自定義結(jié)構(gòu)體ZFileDiff Model,因此在使用QDataStream 命令前需要重載“和”操作符,使之可以適用于自定義結(jié)構(gòu)體ZFileDiff Model。

圖7 輸出比對結(jié)果為txt文檔

本輸出算法最終實(shí)現(xiàn)了EDL變動(dòng)信息的文本輸出。圖7所示為測試案例比對結(jié)果輸出的txt文檔。其中“add:001 005 006”表示新EDL 文件相對于舊文件新增了鏡頭001、005、006, “modify:002 003 004”表示鏡頭002、003、004修改了剪輯點(diǎn)。

4 結(jié)語

本文基于LCS最大公共子串比對算法執(zhí)行EDL文件比對功能,設(shè)計(jì)并開發(fā)了針對EDL文件特點(diǎn)的按行比對工具,通過編寫程序?qū)崿F(xiàn)了比對結(jié)果的可視化。本方案最終實(shí)現(xiàn)了EDL 文件的讀取、比對、比對結(jié)果可視化及文本輸出。后續(xù)研究中,可擴(kuò)展比對文件至AAF、XML 文件,以滿足更多部門、更多設(shè)備的不同需求。目前成果可為相關(guān)從業(yè)人員提高后期工作效率提供參考。

猜你喜歡
可視化文本信息
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
在808DA上文本顯示的改善
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
基于doc2vec和TF-IDF的相似文本識(shí)別
電子制作(2018年18期)2018-11-14 01:48:06
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
展會(huì)信息
如何快速走進(jìn)文本
主站蜘蛛池模板: 99久久精品国产综合婷婷| 国内99精品激情视频精品| 久久福利网| 99热这里只有精品5| 欧美色视频日本| 国产高清色视频免费看的网址| 亚洲人成在线精品| 国产在线精品美女观看| 亚洲综合一区国产精品| 五月天久久婷婷| 亚洲欧美国产高清va在线播放| 久久免费看片| 51国产偷自视频区视频手机观看| 久久精品人人做人人综合试看 | 白丝美女办公室高潮喷水视频| 亚洲无码视频喷水| 精品国产三级在线观看| 国产成人精品一区二区三区| 国产精品视频观看裸模| 国产福利大秀91| 狼友视频一区二区三区| 亚洲香蕉在线| 欧美黄网站免费观看| 视频二区亚洲精品| 亚洲国产清纯| 在线精品亚洲国产| 夜夜爽免费视频| 精品国产福利在线| 视频国产精品丝袜第一页| 国产97视频在线观看| 免费看美女毛片| 国产av无码日韩av无码网站| 亚洲婷婷在线视频| 欧美日韩专区| 日本午夜影院| 日韩最新中文字幕| 91网在线| 亚洲一欧洲中文字幕在线| 国产在线八区| 青青久久91| 2022国产无码在线| 一本久道热中字伊人| 欧美激情伊人| 97青草最新免费精品视频| 色亚洲激情综合精品无码视频 | 91福利一区二区三区| 日韩成人在线网站| 四虎永久免费地址| 欧美日韩中文国产| 亚洲无码免费黄色网址| 日本欧美一二三区色视频| 亚洲国产成人精品无码区性色| 一级爱做片免费观看久久| 4虎影视国产在线观看精品| 精品人妻AV区| 国产精品久久久久久搜索| 色综合a怡红院怡红院首页| 日韩国产欧美精品在线| 精品国产免费第一区二区三区日韩| 欧美国产在线看| 欧美a网站| a毛片基地免费大全| 欧美日韩国产系列在线观看| 国产成人精品免费av| 国产一区二区网站| 亚洲狼网站狼狼鲁亚洲下载| 99热这里只有精品5| 日本黄色不卡视频| 国产美女主播一级成人毛片| 精品欧美视频| 免费日韩在线视频| 国产一区二区三区在线观看免费| 亚洲色精品国产一区二区三区| 成人国产精品2021| 在线免费不卡视频| 午夜影院a级片| av在线人妻熟妇| 免费毛片视频| 99久久亚洲精品影院| 国产精品私拍在线爆乳| 在线免费无码视频| 国产99在线观看|