彭民德:《電子計算60年》 (27) 多種媒體形式擴充套件電子計算內涵

彭民德發表於2016-11-14

1992年10月,國防科大計算機系推出《計算機教學動畫演示系統COMPUTER-MOVIE》,主要開發者是該校當時最年輕的教授、博士生導師張晨曦。這是我們接觸到的國內最早做計算機語音動畫並用於教學的。我們與國防科大有天時地利人和的條件,在該系統鑑定後,我們特意邀請張晨曦教授來我校作了一次學術報告,介紹他們的系統和語音動畫製作技術。
enter image description here

系統是在Windows 3.1推出前夕,在DOS環境下開發的教學系統,以圖文動畫和語音講解“計算機原理”和“計算機系統結構”兩門課的主要內容。它憑藉一張語音卡,支援語音錄入和播放,配合動畫做普通話講解,內容包括:計算機基礎知識、儲存層次、I/O、流水線技術、多操作部件處理機、互連網路、Huffman編碼等8個子系統,共有30個演示程式,約6萬行C語言程式碼。在沒有Windows支援的環境下開發這種多媒體系統實在不是件容易的事,體現出國防科大的技術實力。

以“程式執行過程演示程式”當中“一條指令的執行過程”為例,螢幕上有用圖形示意的CPU和主存,有程式計數器、累加器、地址暫存器、指令暫存器、算術邏輯單元、地址匯流排、資料匯流排。系統將依次展示①取指令週期的動作,②取運算元週期的動作,③執行週期的動作。具體地說,取指令週期的執行過程是,指令地址送往指令地址暫存器,再送往儲存器的地址暫存器,從儲存體中取出指令,將指令送往CPU的指令暫存器。在這個過程中,同時完成PC值加1,以便為執行下一條指令做好準備。取運算元週期的執行過程與指令型別有關,比如,運算類指令一般要經歷兩遍對記憶體的訪問,第一遍完成從儲存器取源運算元,第二遍從儲存器取目的運算元,將它們與指令碼一起送往指令暫存器。在指令的執行週期中,首先要對指令進行譯碼,然後發一系列微操作訊號,控制全機有關硬體部分協調執行。運算指令的運算要在算術邏輯部件ALU中完成。實際計算機執行一條指令的過程外界是看不見的,只能自己去理解,而這個系統把這個過程講解得清清楚楚。它能圖解命令的執行和資料流動過程。帶彩色的圖文並茂,配音講解。可以連續演示,也可以單步觀看,還可以回溯,做得很好。

國防科大的計算機教學動畫演示系統很快被引入到我校的教學中。一天晚上,在電子樓三樓機房播放給大家看,在場的師生們第一次看到電腦動畫,第一次聽到電腦用標準普通話描述計算機知識的動畫過程。同時聽到背景音樂《晚秋》,這完全區別於以往內建喇叭的發聲,是真正的音樂了。大家裡三層外三層圍攏來,異常興奮,為電腦又邁上了一個新臺階而雀躍。計算機從此變得跟人們親近起來。

這是我們的第一次計算機多媒體體驗。計算機從此有聲有色,計算機多媒體時代到來了。本質地說,這都是數字化的功勞,是0與1的功勞。這個小小的0與1,可以作為位元(bit)的值以區分真假正誤;一組0與1的串可以表示整數、小數;一組0與1的串可以表示一條指令;8位的01串可以表示一個字元的ASCII碼,讓計算機可以做文書處理;進而用連續的32個位元組的01串來表示一個漢字,計算機就被漢化了;在計算機通訊中,一組0與1的串可以組成有意義的格式化了的信件;現在又是這個神奇的0與1,表示了影像的畫素,包括畫素和色彩,表示了語音和音樂。真想振臂高呼:“0、1萬歲”!

在摩爾定律的推動下,計算機多媒體技術發展迅速,而且一開始就受到標準化組織的指導,因此短短几年功夫,計算機多媒體技術就基本上成熟了

1984年Apple公司的Macintosh機開始引入bitmap(位對映)的概念來對影像進行處理,並使用了視窗和圖形符號(icon)作為使用者介面。1987年8月引入了“超級卡(Hypercard)”,使Macintosh機成為可以方便使用的、能處理多種媒體資訊的機器。

1986年3月,Philips和Sony聯合推出了互動式緊湊光碟系統CD-I( Compact Disc Interactive)。該系統把各種多媒體資訊以數字化的形式存放在容量為650兆位元組的只讀光碟上,可通過讀取光碟中的內容來進行播放。

1987年3月,RCA公司推出互動式數字視訊系統DVI(Digital Video Interactive) 。它以計算機技術為基礎,用標準光碟片來儲存和檢索靜止影像、活動影像、聲音和其他資料。RCA後來把DVI技術賣給通用電氣公司,後者又把這一技術賣給Intel公司。1989年3月,Intel 公司據以開發出DVI 晶片,走出了計算機多媒體關鍵的一步。

1990年11月由Philips等14家廠商組成了多媒體市場協會。制定了多媒體計算機“MPC”的技術規格。MPC標準的第一個層次是在10MHz的286AT機基礎上增加硬碟和CD-ROM。

1991年第六屆國際多媒體和CD-ROM大會上宣佈了擴充套件結構體系標準CD-ROM/XA。1993年後推出MPC第二個層次的標準,包括全活動視訊影像,並將音訊取樣提高到16位。

1995 年公佈第三代 MPC標準,採用具有互動功能的數字影像壓縮編碼技術MPEG, 同時將光碟機升級為四倍速, 微處理器則選定為Pentium(奔騰) 75。將多媒體計算機的標準提高到了一個新的數量級。

此外,各型資料的表示方式,壓縮演算法,儲存檔案格式也都有相應規範,比如,影像檔案用jpeg格式,語音用wave格式,視訊格式用mpeg。可以說,計算機多媒體領域的標準制定與技術發展同步進行,這是該領域能夠快速發展的保證條件之一。

硬體上此時已經有了很好的音效卡和視訊卡。最有代表性的也許是新加坡CREATIVE公司的Sound Blaster Pro音效卡和 Vidio Blaster視訊卡。國防科大就是利用該公司的Audio plus 1600音效卡,讓計算機輔助教學變得有聲有色的。

軟體上,微軟公司從Windows 3.1開始,對多媒體便有了很好的支援。一是Windows提出“資源”概念,把多種媒體統一起來。在多媒體環境下,應用程式可以包含眾多不同的加工元素,每一個元素都作為一種可以裝入應用程式的資源來對待。所謂“資源”,內涵已經很廣泛。 包括選單、加速鍵、圖示、游標、點陣圖、對話方塊、字串表、字型以及使用者自定義資源等,它們都是一些多媒體資料, 這些資料包含在.EXE檔案和.DLL庫檔案中,在使用者看來有很不相同外觀的資源被以同樣方式處理。Windows將資源同原始碼分離,可以同時分別開發資源和原始碼,以縮短軟體的修改過程。

鑑於許多媒體形式都要佔據大量的儲存空間,為減少多媒體應用對儲存容量的苛求,Windows採用“動態資源裝入”技術,在需要某個資源時才臨時從輔存裝入,這樣可以節省總的記憶體空間。當Windows系統需要使用大量記憶體時,可以將某些資源所佔用的記憶體覆蓋掉,若後來又要用這些資源時,可以再從磁碟上讀入。

二是Windows為計算機內建喇叭和多種語音卡提供了語音支援。支援錄音、播放、樂器以及聲音檔案編輯。提供後臺配音,進入、退出Windows配音,以及操作提示配音等。可在Windows支援下,組織自己感興趣的計算機有聲工作環境。

三是Windows提供了許多多媒體程式開發、執行的支援。比如裁剪板(Clipboard Viewer), 用於在程式之間進行資料傳送, Windows 的資料本來就包括文字、圖形、影像、圖示、對話方塊等多種媒體資源, 也包括聲音資源。

Windows引進了物件連結嵌入, 即OLE(object linking and embedding)功能。物件包括Windows意義下的多種資源:圖示、字串、影像、聲音等。允許把聲音嵌入文件、電子表格,甚至把聲音嵌入到影像或視訊影像中。

可以用一次按鍵就把螢幕影像擷取至裁剪板上,任你去貼上使用。於是開始有人寫書教人怎麼使用Windows或者某個專門的軟體,它可以擷取螢幕圖放到書稿中,放到PPT文件內,起到互動教學的效果。我自己還做了電子名片,其中除了文字,還有本人照片和一個語音圖示,在機器上點選這個圖示,可以有一句自謙地介紹自己的話。

在程式設計語言方面,Borland公司的BC++等,與Windows協調,提供了很好的程式開發環境。Windows通過媒體控制介面MCI(Media Control Interface)來主宰多媒體外部裝置:語音卡、錄影機、V-CD、視霸卡、CD-ROM、掃描器、數字化動態圖象裝置等。MCI指令是一個高階的函式呼叫介面, 可以把它當作一個解釋程式, 只要外部裝置支援MCI規格, 使用者程式就可以利用MCI提供的與裝置無關的指令去控制多媒體裝置。Borland C++的mmsystem.h 檔案中包含了Windows 所支援的各種MCI裝置。

在Windows 中,有一個動態連線程式庫mmsystem.dll,提供了一百多個具有多媒體處理能力的API函式,例如名字以wave開頭的函式專門處理語音,以midi開頭的函式負責音樂合成等。

Windows的函式庫中也提供了與MCI指令溝通的API函式。有關MCI的API介面函式,最重要的要算是 mciSendCommand() 和 mciSendString()以及sndPlaySound()。

1996年北京的一位朋友告訴我,能夠用BC++在Windows下編制程式的人,在北京月薪可以6000,這在當時已經是很理想的待遇了。

怎麼進入計算機的多媒體世界?國防科大的老師們已經做了榜樣。像我們這種一般本科院校,難以接近國家級任務,那我們自選計算機輔助教學任務總可以吧。

當時Windows正以其良好的圖形操作介面, 充分發揮了80X86 CPU 及擴充套件記憶體的使用潛力,支援多工等優點而受到重視。許多人都想盡快熟悉它、轉向它,然而面對Windows整套包括多個厚本的資料, 往往又望而卻步。為幫助更多人儘快熟悉,1996年我們開發了一個Windows 95原理演示系統,有文字說明, 圖形動畫演示, 並有一定的語音解釋。軟體環境為Windows 3.1,中文之星2.0版及Borland C++ 3.1。硬體環境為80386 CPU,2MB記憶體,213MB硬碟。AUDIO PLUS 1600 準16位語音卡。我們還寫了《Windows多媒體軟體開發—例項與技巧》一書,作為Windows程式設計實踐,書中有我們的部分程式程式碼。
enter image description here

2000年初,我有了一款SONY DSC 50數位相機,是SONY早期產品。不久後發現,其照片經Windows 98附件裡“繪圖板程式”重存過後,尺寸會小很多。相機的照片雖然也採用JPEG格式,但是每張有800多K位元組,經Windows的影像軟體重存後,同樣JPEG格式檔案只有約300KB了,依然能夠保持相同的視覺效果,這說明該相機處理照片的壓縮率還不高。發現這個現象後,曾經把數位相機照的全部相片經繪圖板程式重新存過,以便節省些空間。當然隨著計算技術的進步,對於在多媒體領域大量的影像、視訊、音訊的資料壓縮演算法的研究,也陸續取得驚人的成果。現在的相機一般採用壓縮比大得多的新標準,已經不存在這個問題,影像質量也好得多了。而且隨著儲存晶片的改進,對儲存容量也不必像以前那樣斤斤計較了。我後來買的Canon IXUS 300HS 和松下Lumix, 在照相之前便可以選擇照片尺寸,實際上就是選擇壓縮率。

數位相機從此進入了普通人的生活,我料想它也會跟計算機一樣,將成為大眾難以割捨的朋友。就像1992年第一次從電腦上聽到美妙的歌聲配動畫非常興奮一樣,現在能夠從電腦上看到彩色照片,同樣感到興奮。

有了數位相機,可以把自家的一些老照片整理,並有選擇地翻拍,用工具軟體做成了電子相簿。單位的一些活動,比如校慶,實驗室建設可以留下一些照片做紀念,配合有些領導人和先進人物的照片支援,可以做“單位形象演示系統”。

外出活動帶上數位相機,一般都會有所收穫。旅遊中隨時可以記錄自己的足跡,記下大好河山。回來後適當地用電腦寫點遊記和詩詞,用Photoshop給照片加點註釋,把相關的照片做成電子相簿,旅遊的內涵比以往更豐富了。

使用數位相機後,曾經用過的掃描器就被完全取代了。

現在用電視機看照片也變得容易起來,經電視機的VGA可以連線電腦。電視機的USB、HDMI端子可以連連U盤與高清播放機。外出回來可以用電視機播放照片讓家人共享。

數位相機有時還可以有其它用途。參觀展覽會的時候可以把它一些資料性文字照下來,回到家再用OCR軟體將影像還原成文字,有選擇地做些資料收集。出去旅遊也可以照此辦理。比起現場用筆記錄的“少慢差”來,確實是個好辦法。

隨著計算機多媒體時代的到來,多媒體編輯工具也應運而生。1996年應我校劉慶譚教授之邀參加他的一個教改課題,有機會最先使用了這樣的工具。由國家教委統一組織開發的一批計算機輔助教學的CAI系統,他參加的專案是關於《材料力學》的,參與者還有北方交大等其它幾所高校,清華大學是這個專案的組長單位。1996年10月,國家教委把所有參加單位的人員集中到北京,進行多媒體創作工具的選購,並同時舉辦培訓班。參與競標演示的有Micromedia 公司的Authorware,Asymetrix公司的Toobook, 臺灣燈塔科技的Winschool等7種,經比較,考慮軟體的功能、使用的方便性和市場佔有率等因素,決定選擇Authorware。當時Authorware的市場佔有率高達70%,它的功能最豐富,介面友好,提供圖示的視覺化操作,使用方便,當時購買的是其最新的Authorware 3.5,購買時還是純英文版的。

接下來我們一方面準備素材,比如要用3DS製作一些材料力學教學用的動畫,同時學習Authorware的運用。

Authorware提供了顯示圖示、移動圖示、擦除圖示、等待圖示、框架與導航圖示、分支圖示、互動圖示、計算圖示、群組圖示、開始/結束圖示、動畫圖示、語音圖示、視訊圖示。提供了檔案選單、編輯選單、資料選單、庫選單、屬性選單、文字選單和執行選單。用這些圖示和選單,就可以做出包括多種媒體的演示指令碼。它提供了許多演示的效果及效果控制,使得多媒體演示有聲有色。比如圖片可以有各種各樣的出場和消隱方式,多姿多彩很新穎。還可以藉助於計算圖示編寫程式,程式中可以呼叫Authorware的幾十條庫函式,可以通過ODBC用這些函式跟資料庫連線起來。

Authorware確實是一個好的多媒體制作工具,我們很快就基本掌握了它,而且很喜歡它。它很容易用,比如要做一個小球動畫跳躍,以往要預設一個小球資料結構,或一段畫球程式。在程式中座標定位,顯示小球,延時,消除。再選擇下一個座標位置,顯示小球,延時,再消除。不斷地重複這個過程。而在Authorware中,只要用滑鼠拖動一個顯示圖示到流程線上,點開,點畫圓工具畫一個小球。接著拖動一個移動圖示到顯示圖示後面,點開這個移動圖示,小球被顯示出來。只要用滑鼠點按住小球,可以把它移到下個位置停下來,Authorware演示這個流程線檔案,就看到小球從開始位置向後一位置移動。移動的路徑、速度都可以互動設定,很方便。小球可以用工具盒著色。而且小球的出場、退場,因而動畫的效果都可以設定,其間一條語句也可以不寫

課題任務完成後,發現值得把我們對Authorware的瞭解整理一下,向國內同仁介紹。遂跟電子工業出版社聯絡出版了《Authorware 3.5/4.0使用指南與製作例項》一書。
enter image description here

書中介紹了幾個製作例項,其中一個是辦公大樓查詢系統。可以按樓層、房間查詢,報告指定房間所屬部門和電話號碼。也可以按部門查詢,報告指定部門所在房間號和電話號碼。技術實現上把電話號碼本存放在文字檔案裡,通過閱讀檔案進行模式匹配來查詢。當然也可以存於資料庫中,通過ODBC介面查詢資料庫。書中給出了全部程式的“流程線”和詳細的製作步驟與說明,很容易推廣到其它應用場合。

隨後我們又用Authorware製作了資訊工程學院形象演示系統。多種媒體協同播放,展示單位的歷史、專業設定、師資隊伍、科研成果、英模人物等。在迎新的時候擺一臺計算機在接待處,自動反覆播放這個演示系統,向學生和家長做學院概況介紹,營造迎新氛圍。

(與本文相關的更多內容,可參看彭民德《電子計算60年》第5章 個人計算靈活方便 電子工業出版社)

相關文章