国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      自適應(yīng)的視頻解壓縮的制作方法

      文檔序號:7565029閱讀:247來源:國知局
      專利名稱:自適應(yīng)的視頻解壓縮的制作方法
      供參考的相關(guān)申請本文包括了與本申請共同提交的下列專利申請以作為參考“在計算機顯示器上顯示一個二次抽樣的視頻圖象”、“使數(shù)字化的音頻與數(shù)字化的視頻同步”、“用于計算機的視頻外設(shè)”以及“自適應(yīng)視頻解壓縮”。本發(fā)明的背景本發(fā)明涉及對視頻節(jié)目作壓縮編碼,具體地說,涉及一種用于對視頻節(jié)目的連續(xù)幀進行編碼的自適應(yīng)的方法。
      隨著高分辨率彩色計算機顯示器成本及處理功耗的下降,用于微機的應(yīng)用之一就是視頻后期制作—在編輯過程中將計算機的顯示器用作監(jiān)視器來顯示和編輯視頻圖象。為了在視頻編輯系統(tǒng)中使用微機,讀取通常是磁帶錄像機的圖象源并將其以數(shù)字的形式存儲在計算機磁盤上。可以按數(shù)字的形式來編輯圖象并將其寫回到視頻設(shè)備。視頻編輯具有較大的計算與存儲要求,這一點可從很容易地從視頻節(jié)目的大數(shù)據(jù)量中看出—每秒30幀、每幀300,000象素以上、每個象素若干位。為了能減少數(shù)據(jù)量,可以在例如從錄像帶中讀取視頻圖象數(shù)據(jù)并將該數(shù)據(jù)存儲到磁盤上時對視頻圖象數(shù)據(jù)進行壓縮。然后,在編輯或播放過程中觀看時,再對視頻圖象數(shù)據(jù)進行解壓縮。
      對視頻數(shù)據(jù)壓縮方法的選擇要在質(zhì)量與數(shù)量之間加以權(quán)衡。較大規(guī)模的壓縮方法雖然能減少壓縮數(shù)據(jù)的數(shù)量,但卻會導致低質(zhì)量的解壓縮圖象。一般地說,要恢復(fù)解壓縮圖象的質(zhì)量,就要使用較小規(guī)模的壓縮法。數(shù)據(jù)壓縮算法通常帶有一個或多個可調(diào)的參數(shù),這些參數(shù)控制著質(zhì)量與數(shù)量的平衡,這些參數(shù)稱為“量化因子”或“Q-因子”。
      視頻節(jié)目的一幀所產(chǎn)生的壓縮數(shù)據(jù)量會隨該幀特征的變化而因幀而異。在已知的先有視頻壓縮法中,使用一組Q因子對所編輯的視頻節(jié)目的每一個片段進行編碼。其結(jié)果是,易于壓縮的節(jié)目素材,也就是即使在較大規(guī)模的壓縮水平下也能夠保持適當質(zhì)量的素材所占用的數(shù)據(jù)要多于提供較好畫面所需的數(shù)據(jù)。而其它難以壓縮的素材,即需要進行較小規(guī)模的壓縮以避免壓縮贗象的素材則是按折衷了的質(zhì)量記錄下來的。此外,在編輯這種素材時,編輯人員只能把按相同Q因子記錄下來的素材編輯在一起。
      發(fā)明概要一般地說,本發(fā)明的特征在于一種在對視頻解壓縮時通過調(diào)整解碼參數(shù)而對視頻數(shù)據(jù)進行解壓縮的方法。這種方法在解碼時能進行實時修正以便與編碼時所進行的修正相匹配。在這種方法中,經(jīng)編碼的視頻節(jié)目包括一系列數(shù)據(jù)包。這種方法中所使用的解碼器帶有控制寄存器,這些寄存器存放有解碼參數(shù),而解碼參數(shù)則控制著解碼器所應(yīng)用的解碼方法。上述方法包括的步驟有按順序獲取各個數(shù)據(jù)包,視頻節(jié)目的各個數(shù)據(jù)包均包括解碼參數(shù)以及經(jīng)編碼的視頻數(shù)據(jù);以及,在獲取數(shù)據(jù)包時處理各個數(shù)據(jù)包。通過將解碼參數(shù)存儲進控制寄存器并且由解碼器根據(jù)已存儲的解碼參數(shù)所作的規(guī)定對經(jīng)編碼的視頻數(shù)據(jù)進行解碼,從而處理各個數(shù)據(jù)包。
      最佳實施例包括下列特征。所說的解碼過程包括利用作為解碼參數(shù)的解壓縮參數(shù)來對按壓縮形式構(gòu)成的編碼視頻節(jié)目進行解壓縮。上述解壓縮參數(shù)包括一個在對源視頻數(shù)據(jù)進行壓縮時使用的該量化因子以便形成經(jīng)編碼的視頻節(jié)目,較大的量化因子會導致將視頻數(shù)據(jù)壓縮成這樣的編碼視頻數(shù)據(jù),即該視頻數(shù)據(jù)要比用較小的量化因子來壓縮源視頻數(shù)據(jù)占用更多的存儲空間但會產(chǎn)生較少的壓縮贗象。通過一多路解調(diào)器來獲得所要獲得的數(shù)據(jù)包,該多路解調(diào)器將解碼參數(shù)傳送給控制寄存器并將經(jīng)編碼的視頻數(shù)據(jù)傳送給解碼器的輸入端子。所說的數(shù)據(jù)包還包括一數(shù)據(jù)計數(shù),此數(shù)據(jù)計數(shù)指定數(shù)據(jù)包內(nèi)編碼視頻數(shù)據(jù)的字數(shù),并且,該數(shù)據(jù)計數(shù)存儲在一存儲寄存器內(nèi)。一控制裝載解碼參數(shù)的狀態(tài)機使用上述數(shù)據(jù)計數(shù)。每個數(shù)據(jù)包均可描述一系列隔行掃描幀的一場。
      本發(fā)明的特征在于下列優(yōu)點。所說的方法在與自適應(yīng)的編碼方法一道使用時能夠在參數(shù)方面作實時的調(diào)整以便與開始壓縮視頻節(jié)目時所用的Q-因子設(shè)置相匹配,而所說的參數(shù)則被用于對先前壓縮的圖象進行解壓縮。由于經(jīng)壓縮的圖象的每一幀都包括有上述解碼過程所需的全部參數(shù),所以,可以同時使用包括有在不同時間用完全不同的編碼參數(shù)集進行編碼的各數(shù)據(jù)段的視頻節(jié)目,并且,可以作為一個整體對該視頻節(jié)目進行解碼和播放。因此,可以在不破壞舊壓縮數(shù)據(jù)文件的可解碼性或可編輯性的情況下改變將來版本的編輯軟件中的視頻編碼參數(shù)。
      從以下對最佳實施例的說明以及權(quán)利要求中可以看出本發(fā)明的其它優(yōu)點與特征。對最佳實施例的說明以下說明最佳實施例。
      附1是本發(fā)明視頻編輯系統(tǒng)操作過程中所使用的組件的概略透視圖;圖2是

      圖1中系統(tǒng)所使用的主計算機和外部視頻插板的框圖;圖3是上述主計算機另一種結(jié)構(gòu)的框圖;圖4是說明圖2中外部視頻插板某些特征的框圖;圖5是說明解隔行掃描的示意圖,所說的隔行掃描是一種由圖2和圖4中外部插板所執(zhí)行的操作;圖6顯示了壓縮后視頻數(shù)據(jù)包的格式;圖7是圖2中總線控制電路的框圖;圖8顯示了數(shù)據(jù)結(jié)構(gòu),主計算機通過該數(shù)據(jù)結(jié)構(gòu)與外部插板進行通信;圖9是顯示上述視頻編輯系統(tǒng)操作的流程圖。
      概述參照圖1和圖2,視頻編輯系統(tǒng)11包括外部插板10,它插在主計算機12內(nèi)。其它組件包括磁帶錄像機(VTR)16、監(jiān)視器18、鍵盤20、鼠標22以及海量存儲磁盤24。提供視頻編輯功能的軟件分成兩部分,一部分26在主計算機的中央處理器(CPU)28內(nèi)運行,它通常提供用戶界面和監(jiān)控,一部分14在外部插板中運行,它通??刂浦獠坎灏濉⑼獠坎灏鍍?nèi)的數(shù)據(jù)傳遞以及主計算機與外部插板之間的數(shù)據(jù)傳遞。
      在視頻編輯系統(tǒng)11中,通過視頻輸入端口30讀取圖象,通過音頻輸入端口32讀取聲音。在讀取圖象和聲音時,將圖象數(shù)字化并且壓縮,同時將聲音數(shù)字化。將圖象和聲音存儲在磁盤24上??梢詫?jīng)壓縮的視頻/音頻數(shù)據(jù)進行解壓縮,并將它們在顯示器18和揚聲器(未顯示)中播放出來。視頻編輯軟件26允許用戶將壓縮后的圖象部分和聲音部分組合成視頻/音頻節(jié)目。用戶在編輯視頻/音頻節(jié)目時可以播放該節(jié)目并且可以按小至單個場的增量或按組合后的組合形式來重新安排該節(jié)目。一旦用戶對合成的節(jié)目感到滿意,就可以按原本的幀頻將該節(jié)目經(jīng)由視頻輸出端口34和音頻輸出端口36輸出至錄像設(shè)備如VTR16或輸出至廣播設(shè)備。
      參照圖2,外部插板帶有視頻和音頻端口30-36(它們與VTR16或其它視頻設(shè)備相連)、總線控制電路42(它與主計算機12相連)、各種信號處理通路以及監(jiān)控微處理器48。所說的信號處理通路包括一雙向通路,它經(jīng)由壓縮/解壓縮編碼器/解碼器(CODEC)60,以便將數(shù)字化的視頻傳遞給主機的磁盤24或者傳遞來自該磁盤24的數(shù)字化視頻;以及一單向彩色-空間轉(zhuǎn)換(CSC)和二次抽樣通路,以便在主機的顯示器18上顯示數(shù)字化的圖象。視頻I/O端口電路35將視頻數(shù)據(jù)從VTR的模擬形式(如NTSC或PAL等)轉(zhuǎn)換成數(shù)字形式(如YUV4∶2∶2模式)并且將數(shù)字化的圖象傳送到視頻總線38(CODEC60在視頻解壓縮過程中也可以對視頻總線38進行寫操作)。微處理器48控制著外部插板的上述組件。
      在輸入源圖象時,CODEC60從視頻總線38中取出YUV格式的視頻數(shù)據(jù)、將該數(shù)據(jù)壓縮成壓縮的形式、并將該數(shù)據(jù)寫至外部數(shù)據(jù)總線40??偩€控制電路42從外部數(shù)據(jù)總線40中取出壓縮后的圖象并將該圖象存儲到主機的RAM50內(nèi)的緩沖區(qū)。主CPU28定期地將該緩沖區(qū)內(nèi)容清除到磁盤24上。
      回放時的過程正好相反主CPU28將壓縮的視頻數(shù)據(jù)從磁盤24讀至RAM50中的緩沖區(qū)??偩€控制電路42將該數(shù)據(jù)從緩沖區(qū)拷貝至CODEC60,CODEC60對這些數(shù)據(jù)進行解壓縮并將它們輸出給視頻數(shù)據(jù)總線38。解壓縮的視頻數(shù)據(jù)可從數(shù)據(jù)總線經(jīng)由二次抽樣通路顯示到主機的顯示器18上和/或經(jīng)由視頻輸出端口34輸出。
      在記錄與播放的過程中,上述壓縮或解壓縮法可通過以下要詳細說明的方法來適應(yīng)源素材的變化。
      音頻通道經(jīng)由音頻控制器62和音頻I/O端口32、36將數(shù)據(jù)從VTR(或其它聲源)傳遞給外部數(shù)據(jù)總線40并且同時地將數(shù)據(jù)從外部數(shù)據(jù)總線40傳遞給VTR(或其它聲源)。
      在圖3所示的主計算機的另一種結(jié)構(gòu)中,主計算機的CPU28、顯示器內(nèi)存(也稱“幀緩沖區(qū)”)44、主存儲器50和/或磁盤控制器52等組件均可通過主計算機12專用的總線54傳遞數(shù)據(jù),而總線54則帶有位于專用總線54與系統(tǒng)總線46之間的總線控制接口56。在這種情況下,外部總線控制電路42可將數(shù)據(jù)傳遞給系統(tǒng)總線46或傳遞來自系統(tǒng)總線46的數(shù)據(jù),并且,主機的總線控制接口56還控制著流向/來自主計算機專用總線54上的各設(shè)備的數(shù)據(jù)。
      參照圖5,某些視頻格式(如NTSC等)使一幀的掃描線作隔行掃描。也就是說,不是從左至右、從上到下地連續(xù)掃描一幀,而是將一幀分成兩個半幀70、72。第一個半幀70包括所有的奇數(shù)掃描線,而在整個第一個半幀完成之后發(fā)送的第二個半幀72則包括所有的偶數(shù)掃描線。組合幀的各場被交替地進行掃描。
      在任何視頻信號中都有垂直消隱時間以便重置從屏幕底部到屏幕頂部的回掃。在垂直消隱期間內(nèi),電子束被截止因而不會重寫先前的一場。在垂直消隱期間,會產(chǎn)生稱為“幀同步”脈沖的同步脈沖。在隔行掃描的格式中,每一幀均有兩段垂直消隱時間,因而也具有兩個垂直同步脈沖,這兩個脈沖分別處于各個場的終端部??梢酝ㄟ^上述兩個垂直同步脈沖與圖象幀的兩個場的實際圖象數(shù)據(jù)的時間關(guān)系來區(qū)別這兩個垂直同步脈沖。
      壓縮圖象數(shù)據(jù)的通用方法使用了JPEG CODEC。在JPEG編碼過程中,以獨立于視頻中其它幀的方式將各個幀或場作為靜止的圖象加以編碼。通常根據(jù)圖象的矩形掃描光柵來計算出二維的離散余弦變換(DCT)。JPEG標準定義了“Q-因子”,這些Q-因子可以進行改變以使得壓縮與源視頻素材的色度和亮度特征相協(xié)調(diào),并且平衡解碼后圖象質(zhì)量(沒有壓縮贗象)與壓縮后圖象所占用的存儲空間的關(guān)系。例如,如果某些Q-因子非常大,則它們會使相應(yīng)的視頻亮度和色度成分減至0,從而能從壓縮形式中有效地除掉亮度和色度成分,因而能減小用于描述圖象的數(shù)據(jù)量,但也會排除其色度與亮度對解壓縮后圖象的作用。對Q-因子完整的說明請參閱Pennebacker和Mitchell的文章“The JPEG StillImage Data Compression Standard”,該文載于VanNostrand andReinhold,本文包括了這篇文章的內(nèi)容以作為參考。
      在壓縮過程中,外部插板10具有一定的“目標”數(shù)據(jù)量以便對視頻的每場進行編碼,上述“目標”數(shù)據(jù)量一般在20-25K字節(jié)的范圍內(nèi)。如果為一場所產(chǎn)生的數(shù)據(jù)量超出上述目標一定的百分比,則向上調(diào)整Q-因子以便對下一場進行更大規(guī)模的壓縮。與此相似,如果為一場所產(chǎn)生的數(shù)據(jù)量低于上述目標一定的百分比,則向下調(diào)整Q-因子以便在以后的各場中獲得更好的質(zhì)量。
      盡管所述的最佳實施例允許Q-因子隨每個場邊界的改變而改變,但是,其粒度可以是視頻節(jié)目的任何一小部分,例如是一幀或少數(shù)幾幀或者是一幀或一場的一部分。較大的粒度會節(jié)省用于對較小Q-因子變化進行編碼的存儲空間。較細的粒度允許按較精細的邊界對壓縮的圖象進行編輯,這是因為,本實施例只允許按Q-因子的邊界來編輯拼接處。結(jié)構(gòu)圖4詳細地顯示了經(jīng)由外部插板10的壓縮/解壓縮通路。視頻數(shù)據(jù)總線38傳遞由諸如視頻輸入端口30或CODEC60的解碼器部分等組件所產(chǎn)生的視頻數(shù)據(jù)。數(shù)據(jù)總線40傳遞來自二次抽樣通路的二次抽樣圖象、或傳給/來自CODEC通路的編碼圖象。FIFO(先進先出)90、92、94會對到達/來自數(shù)據(jù)總線AO的數(shù)據(jù)起緩沖作用。來自解壓縮FIFO94的通路以及通向壓縮FIFO92的通路由狀態(tài)機100所監(jiān)控。CODEC60帶有控制寄存器102,這些寄存器控制著CODEC的操作。狀態(tài)機100可根據(jù)一個Q-因子表106對控制寄存器102進行寫操作。1計數(shù)寄存器(one-count register)107存儲著對輸入給CODEC60或輸出自CODEC60的壓縮數(shù)據(jù)的計數(shù)。
      CODEC60是一種三芯片設(shè)備,它由LIS(大規(guī)模集成)邏輯電路L64765QC-30型CSRBC、L64735QC-35型DCT處理器以及L64745QC-30型JPEG編碼器構(gòu)成。在CODEC60的控制寄存器102中間有一組為128個的Q-因子寄存器,每個寄存器為8位,其中64個寄存器用于色度、64個用于亮度。用于上述芯片的數(shù)據(jù)資料包括在本文中以作為參考。
      Q-因子表106是一存儲器,它可以保存多達265個Q-因子集,從而表示265種不同的質(zhì)量設(shè)置。每個Q-因子集都包括128個8位值,從而與CODEC60的128個Q-因子控制寄存器相對應(yīng)??梢杂盟饕齺泶嫒-因子表,也就是說,可用一個在0至255之間的相關(guān)整數(shù)來存取每個Q-因子集。盡管Q-因子表106具有用于多達256個Q-因子集的空間,但本發(fā)明也可以在有較少量的實際填充數(shù)例如為四個的情況下進行操作。所填充的條目是按它們對壓縮的影響程度來排序的,也就是說,索引值較大的Q-因子會導致較差的質(zhì)量但會使得一幀或場有較高的壓縮率和較低的存儲量。Q-因子表中的Q-因子也可以有其它的組織形式,只要將微處理器48編程以便能夠利用這種組織形式即可。
      QINDEX寄存器108的值決定了當前哪一個Q-因子集裝入CODEC。狀態(tài)機100可對QINDEX寄存器108作讀和寫操作。
      圖6顯示了編碼后的視頻場存儲在磁盤上時的數(shù)據(jù)包格式110。一完整的Q-因子集和數(shù)據(jù)計數(shù)存儲在131個字的包標題內(nèi)。將Q-因子存儲成64個色度條目以及64個亮度條目112、114。標識111、113標識哪64個條目是色度、哪64個條目是亮度。每個Q-因子均為8位,但是,在所說的數(shù)據(jù)包內(nèi),Q-因子調(diào)整成了32位。一個32位的計數(shù)115表示后隨的壓縮數(shù)據(jù)的字數(shù)lcount,該字數(shù)的后面是lcount個字的場圖象壓縮數(shù)據(jù)116。這樣,每個視頻場均帶有自身的解碼鍵值以及Q-因子集112、114,它們和該視頻場存儲在一起。可以用相同的Q-因子對連續(xù)的場進行編碼,但是,這些場的壓縮圖象均帶有同樣的完整Q-因子標題111-114。這就能使得Q-因子在已壓縮視頻數(shù)據(jù)的任何場邊界處產(chǎn)生變化。
      參照圖4,狀態(tài)機100為PAL制式。在壓縮編碼過程中,CODEC60對所產(chǎn)生的壓縮數(shù)據(jù)量進行計數(shù),在每場結(jié)束時,狀態(tài)機100均將這一計數(shù)送給lcount寄存器107。在解碼過程中,狀態(tài)機100計算對視頻場進行編碼的數(shù)據(jù)包的字數(shù)以便將該數(shù)據(jù)包的連續(xù)字傳給外部插板10的適當組件。具體地說,狀態(tài)機100通過選擇多路解調(diào)器104的CODEC輸出以及CODEC的“控制”模式而將Q-因子標題112、114以鐘脈沖的方式寫入CODEC60的Q-因子寄存器。通過用于多路解調(diào)器104的選擇信號120而將下4個字節(jié)即lcount傳至lcount寄存器。最后狀態(tài)機設(shè)置用于LSI芯片組的“數(shù)據(jù)”模式并將實際的圖象數(shù)據(jù)以鐘脈沖的方式寫入CODEC60以便進行解壓縮。
      參照圖7,總線控制電路42將系統(tǒng)總線46與外部插板10連接起來。緩沖存儲器220對系統(tǒng)總線46的總線數(shù)據(jù)和地址線起緩沖作用。數(shù)據(jù)緩沖存儲器224對送至和接收自系統(tǒng)總線46的數(shù)據(jù)起緩沖作用,而從屬地址鎖存器226則鎖存住地址。外部插板10可起總線主控器的作用,在這種模式下,總線主控器地址發(fā)生器236(與微處理器48相連)會產(chǎn)生用于這些總線事務(wù)的地址??偩€主/從控制邏輯線路228會產(chǎn)生并接收傳給/來自總線的總線控制信號230,同時傳遞來自微處理器48和外部插板組件的信號232、234或者將這些信號傳給微處理器48和外部插板組件。
      微處理器48和總線控制電路42相配合從而能在外部插板的FIFO90、92、94與主機的RAM50之間有效地傳遞數(shù)據(jù)。微處理器48監(jiān)控著上述FIFO的占用情況、主RAM50中環(huán)形緩沖區(qū)的剩余空間量、以及在場結(jié)束前CODEC內(nèi)(記錄時)或數(shù)據(jù)包(播放時)內(nèi)剩余的數(shù)據(jù)量,并且,微處理器48會向總線控制電路42發(fā)指令,以便將特定數(shù)量的數(shù)據(jù)字從主RAM50的特定地址傳給FIFO或從FIFO傳給主RAM50的特定地址。為了減少總線的通信量,總線控制電路42將來自微處理器48的請求分解為較小的塊,一般每塊為16個32位的數(shù)據(jù)字。這種分塊就每次傳遞一個32位的數(shù)據(jù)字來說能夠提高效率,并可防止任何一次傳遞占用總線過長時間。
      最佳的主計算機是Apple Macintosh的Quadra 950型或更快的計算機。
      視頻編輯期受軟件26的控制,該軟件在主機的CPU內(nèi)運行。所說的軟件為用戶提供了圖形用戶界面以便控制視頻編輯期,并且該軟件還監(jiān)控著外部插板10的操作。
      在所述的最佳實施例中,控制外部插板的微處理器48是Motorola MC68030。選擇相對較快的微處理器以滿足對實時服務(wù)的潛在需求。外部插板10受微處理器48所控制的組件包括總線控制電路42、二次抽樣器和色彩空間轉(zhuǎn)換器80、以及CODEC60。所說的控制是通過監(jiān)控二次取樣FIFO90、壓縮和解壓縮FIFO92、94、音頻通路內(nèi)的FIFO、以及來自主CPU的消息而實現(xiàn)的。
      主CPU28和外部插板10通過外部指令與狀態(tài)隊列而相通連。該指令與狀態(tài)隊列是一雙向的FIFO,它類似于一個多車道的公路,它帶有一中間隔離帶以便將沿一個方向傳送的消息與沿另一個方向傳送的消息隔離開來。所說的隊列占用系統(tǒng)總線上的一個地址;為了將多個字的消息寫到外部插板上,主機會依次將該消息的每個字寫至上述的隊列地址。微處理器48抽取來自指令隊列64中的這些消息并依次根據(jù)每一種消息進行活動。以下將連同圖8及二次抽樣和播放操作來說明對上述數(shù)據(jù)的結(jié)構(gòu)及消息的使用。
      仍參照圖4,視頻數(shù)據(jù)總線38、二次抽樣器與色彩空間轉(zhuǎn)換器80、以及CODEC60均按視頻I/O系統(tǒng)的速率進行操作。但是,具有管理用戶程序和來自各種外設(shè)中斷責任的主計算機12無法提供實時的服務(wù)。壓縮FIFO92和解壓縮FIFO94可斷開同步視頻數(shù)據(jù)總線38的實時操作和請求與主機12和外部數(shù)據(jù)總線40的固有異步操作之間的聯(lián)系。每個壓縮FIFO92和解壓縮FIFO94均為32位寬、16K字長并且使用25ns的部件。以下將說明對各個FIFO之間的數(shù)據(jù)流控制的協(xié)調(diào)。操作主計算機在啟動并執(zhí)行自引程序時會查詢顯示系統(tǒng)以確定外部顯示器是否連在系統(tǒng)總線上(如圖2所示)、或者外部顯示器是否連在主機專用總線上(如圖3所示)、以及按什么地址來映射顯示器內(nèi)存。主機還查詢擴展槽內(nèi)的每個外部插板并且為每個插板都建立內(nèi)存地址。
      作為加電例程的一部分,外部插板10運行自檢診斷程序(存儲在外部插板10的ROM中),然后等待從主機12中下裝到微處理器48中的軟件14。視頻編輯軟件26在主機12中啟動時會刪掉主機的虛擬內(nèi)存模式,從而外部插板10可以存取主機12的地址空間。然后,主軟件26將外部軟件14下裝至外部插板。下裝后的軟件14會初始化外部插板10內(nèi)的信號交換過程,然后與主CPU28進行信號交換。
      當主機內(nèi)的軟件26開始執(zhí)行時,主機會在RAM中創(chuàng)建一Q-因子集表。該表可通過索引存取并將被拷貝進壓縮圖象的每場的標題區(qū)111-114。主機還將具有非壓縮形式的外部Q-因子表106下裝至外部插板。將Q-因子的初始缺省集裝進CODEC60。主機12在RAM50中分配磁盤緩沖區(qū)并將該緩沖區(qū)的地址告知外部微處理機48。
      在主CPU28內(nèi)運行的軟件26為用戶提供了多種選擇。在這些選擇中,包括將視頻數(shù)據(jù)從VTR16拷貝至磁盤24或者相反。在前一種情況下,當二次抽樣通路將圖象顯示在主顯示器18上時,CODEC60會同步地壓縮該視頻數(shù)據(jù),并且,總線控制電路42會將壓縮后的圖象數(shù)據(jù)拷貝至磁盤24。如果用戶要觀看存儲在磁盤24上的數(shù)據(jù),或者要對壓縮后的圖象進行解壓縮并將其從磁盤24拷貝至VTR16,那么,總線控制電路42就會經(jīng)由系統(tǒng)總線46從磁盤24中取出數(shù)據(jù)。取出的數(shù)據(jù)會在解壓縮FIFO94內(nèi)得以緩沖,然后在CODEC60內(nèi)被解壓縮。
      在用戶要求系統(tǒng)11壓縮視頻數(shù)據(jù)時,例如通過VTR16和視頻輸入端口30等將數(shù)字化的視頻數(shù)據(jù)提供給視頻總線38并供CODEC60使用。CODEC60對圖象進行壓縮,壓縮后的數(shù)據(jù)在壓縮FIFO92內(nèi)得以緩沖。狀態(tài)機100從CODEC60中取出數(shù)據(jù)計數(shù)并將其存儲到lcount寄存器107中,同時,根據(jù)該計數(shù)設(shè)置QINDEX寄存器108,而寄存器108接下來又會選擇Q-因子106,此Q-因子用于對下一場進行編碼。壓縮后的視頻數(shù)據(jù)從壓縮FIFO92中拷貝至主機的RAM50內(nèi)。在那里,主機會將用于對數(shù)據(jù)進行編碼的Q-因子的拷貝復(fù)制到帶有壓縮數(shù)據(jù)的包標題111-114內(nèi)。然后,將壓縮參數(shù)以及壓縮后的數(shù)據(jù)寫至磁盤24以便存儲。
      以下將更詳細地說明壓縮過程。
      編碼通路的位于視頻數(shù)據(jù)總線38與壓縮FIFO92之間的同步部分主要是在由視頻I/O端口產(chǎn)生的象素時鐘及垂直同步脈沖的控制之下。每個場起始于一個垂直同步脈沖并起始于一定的垂直消隱間隔。一旦接收到垂直同步脈沖,狀態(tài)機100就捕捉變量QINDEX108的值,用于Q-因子集的Q-因子表106的這一索引可用來對即將到來的場進行編碼。當狀態(tài)機100捕捉到該值時,就會阻止更新QINDEX寄存器108。
      在捕捉QINDEX的值時,狀態(tài)機100將gamma(灰度)校正值裝入CODEC60,該值決定了從輸入視頻值映射到輸出視頻值的色彩。(可編程序的灰度值允許編碼器補償各顯示器之間的色彩差異,例如,補償不同型號CRT之間的不同熒光體在色彩靈敏度方面的差異)。在捕捉到了QINDEX108并且裝載了灰度值之后,狀態(tài)機100通過順序地從Q-因子表106內(nèi)讀取Q-因子并將該因子寫入CODEC的控制寄存器102內(nèi)而將QINDEX的值所指示的一組Q-因子表106裝入CODEC60。
      在每場結(jié)束時,狀態(tài)機100都將CODEC60置為壓縮模式并向CODEC60產(chǎn)生一垂直同步脈沖。在消隱間隔期間,外部插板10通過裝載灰度值和Q-因子值而為即將到來的一場作準備。第一個水平同步脈沖發(fā)信號給下一場的第一條掃描線。已經(jīng)對CODEC60進行了編程,以便忽略圖象的頭幾條掃描線(這些線專供預(yù)定的標題信息等使用),并且,CODEC60利用告知掃描線數(shù)量以及每條掃描線的象素等的值開始壓縮該場中包含實際圖象數(shù)據(jù)的部分。
      在經(jīng)由CODEC60將來自視頻總線38的數(shù)字化的視頻數(shù)據(jù)壓縮進壓縮FIFO92之后,狀態(tài)機100向CODEC60請求被壓縮數(shù)據(jù)的計數(shù)并將該計數(shù)存入lcount寄存器107。
      在下一個垂直消隱間隔及垂直同步脈沖處,微處理器48檢查1count107的值。如果剛剛壓縮的場的數(shù)據(jù)量超過一個預(yù)定的上閾值,即超過壓縮數(shù)據(jù)的目標數(shù)據(jù)量一定的百分比,則外部微處理器48通過使QINDEX108增值而從Q-因子表中選擇不同的Q-因子集。這組新的Q-因子使得能更大規(guī)模地去壓縮后續(xù)的幀,從而減少代表后續(xù)幀的數(shù)據(jù)量。與此相似,如果用于一場的數(shù)據(jù)量降至一預(yù)定的低閾值以下,也就是說,它低于目標數(shù)據(jù)量一定的百分比,則微處理器48會使QINDEX減值以便選擇另一組Q-因子,從而減少壓縮,由此增加將要生成的數(shù)據(jù)量,而也會改善后續(xù)幀的圖象質(zhì)量。與此相似,如果編碼數(shù)據(jù)按上述百分比的兩倍而超過或低于所說的目標數(shù)據(jù)量,則狀態(tài)機將以適當?shù)牧咳ナ筈INDEX增加或減少,在所示的最佳實施例中,該增減量為2。
      可以使每個Q-因子集內(nèi)的Q-因子符號例如用于自然圖象—動畫—對技術(shù)圖象的節(jié)目素材。其閾值頻帶約為10%。
      可以注意到,用于對每一幀進行編碼的Q-因子是作為壓縮前一幀的結(jié)果而計算出來的。這種方法的優(yōu)點在于不需要額外的預(yù)壓縮計算,即在編碼之前不必估算一個幀以便確定該幀的壓縮質(zhì)量,也不必在發(fā)現(xiàn)“錯誤”的Q-因子壓縮了一幀時重新壓縮該幀。
      對圖象的每一場來說都按由視頻時鐘所確定的頻率重復(fù)上述步驟。一旦將壓縮后的象素存入壓縮FIFO92內(nèi),就可以異步地進行余下的處理過程,該過程將在以下予以說明。隨后的步驟在時間上是有限制的,要使這些步驟進行得足夠快以便防止壓縮FIFO92溢出。
      主要參照圖9、同時參照圖4和圖7,總線控制電路42在外部微處理器48的協(xié)助下將壓縮后的視頻數(shù)據(jù)從壓縮FIFO92中傳送進主RAM50內(nèi)的磁盤緩沖區(qū)??偩€控制電路42從壓縮FIFO92中取出上述數(shù)據(jù)字,控制邏輯電路228和地址生成器236將該數(shù)據(jù)劃分成16個字的塊,以便用于系統(tǒng)總線46間的總線傳輸。微處理器48和地址生成器236算出由lcount寄存器107所計數(shù)的變長記錄。在每個場的開始處,地址生成器將131個字留在用于數(shù)據(jù)包的標題區(qū)111-115的磁盤緩沖區(qū)內(nèi)。微處理器48對每個RAM緩沖區(qū)內(nèi)所用的字進行計數(shù)并且在緩沖區(qū)填滿且準備好要寫至磁盤24時發(fā)信號給主CPU28。然后,微處理器48將下一個緩沖區(qū)的地址提供給地址生成器236。
      在每個場結(jié)束時,微處理器48向主CPU28發(fā)送一條消息。此消息表示指明用于對幀進行編碼的Q-因子集的QINDEX值108,并且,上述消息還表示由對幀進行編碼的字的數(shù)量所構(gòu)成的lcount值107。主CPU28編制Q-因子表的索引,從而將適當?shù)臈l目拷貝進數(shù)據(jù)包的標題111-114。即可以由總線控制電路42來將lcount的值直接拷貝進標題115,也可以由主CPU28將該值拷貝自“場結(jié)束”消息。另外,微處理器48可以使整個的包標題111-115、Q-因子以及l(fā)count與主機相連通以便逐字地插入包標題。這樣,每個編碼的場均帶有用于對包括有該場的數(shù)據(jù)包進行解碼所必需的數(shù)據(jù)。一旦緩沖區(qū)充滿且連同壓縮數(shù)據(jù)一道存儲了Q-因子,主CPU28就會將該緩沖區(qū)寫至磁盤24。
      總線控制電路42和微處理器48承擔將視頻數(shù)據(jù)從CODEC60傳給主RAM50內(nèi)緩沖區(qū)的全部實時操作。主機可以異步地進行從RAM緩沖區(qū)到磁盤24的傳遞。在壓縮過程中主機的唯一任務(wù)是使得有足夠多的磁盤緩沖區(qū)可用并騰空這些緩沖區(qū)以便在壓縮時供外設(shè)插板使用。主機通過將滿的緩沖區(qū)清除至磁盤24而保持有大量的空緩沖區(qū)。
      當用戶要求解壓縮時,例如回放一段先前壓縮的視頻數(shù)據(jù)時,主機微處理器28和總線控制電路42通過向主機磁盤24請求數(shù)據(jù)而使得解壓縮FIFO94被填滿,以下將說明這一過程。在CODEC60從解壓縮FIFO94中取得壓縮的數(shù)據(jù)時,狀態(tài)機100將CODEC60置為寄存器裝入模式并對標題112、114計數(shù)(64個8位的條目,每個條目均為實際的Q-因子),這些標題存儲在CODEC60的Q-因子寄存器內(nèi)。然后,狀態(tài)機100將CODEC60置為數(shù)據(jù)解壓縮模式。狀態(tài)機選擇多路解調(diào)器104以便將信息lcount104發(fā)送給lcount寄存器107。此后,將數(shù)據(jù)直接送至CODEC60,在那里,這些數(shù)據(jù)被解壓縮并被作為數(shù)字化的圖象發(fā)送到視頻總線38上。每個提供給CODEC60的32位的數(shù)據(jù)字都均使lcount寄存器107增1,因此,狀態(tài)機100可以告知該字何時已將一場的所有圖象數(shù)據(jù)提供給了CODEC60。
      參照圖8,對于要回放的每一幀來說,外部微處理器28將“PT_VidepFrameRequest”或“PT_AudioFrameRequest”消息包發(fā)送給主機以便用組成“frame”中所指示的時間標記ID來請求圖象幀。外部插板排隊等侯足夠的幀請求,以致主機的緩沖區(qū)填充過程會在外部插板的緩沖區(qū)排空之前停留住。主機將上述消息轉(zhuǎn)換成對Macintosh磁盤機的請求。一旦該磁盤機將數(shù)據(jù)放至RAM50,主機CPU28就會通過指令與狀態(tài)隊列64將“PT_VideoFrameDescriptor”或“PT_AudioFrameDescriptor”消息包送回外部插板。上述消息包指示已經(jīng)讀取了數(shù)據(jù)的主RAM50的地址以及數(shù)據(jù)計數(shù)。在微處理器48和總線控制電路42將數(shù)據(jù)從緩沖區(qū)送至解壓縮FIFO94和音頻輸出FIFO98時,外部插板將消息包的“類型”改變成“PT_VideoFrameDiscard”或“PT_AudioFrameDiscard”并將該消息包經(jīng)由指令與狀態(tài)隊列64送回主機,從而中斷主機28以便通知主機去檢查上述隊列。主機會將釋放的存儲器放回空閑區(qū)。
      解壓縮操作可以指定對單幀(兩個場)進行解壓縮或連續(xù)地進行解壓縮直至外部插板10從主機28中接收到停止指令。單幀模式可以用于壓縮靜止的圖形。
      在有停止指令時,狀態(tài)機100通過使CODEC60結(jié)束對它正在處理的任何數(shù)據(jù)的解壓縮、并阻止裝入下一場的壓縮數(shù)據(jù)從而有序地關(guān)閉CODEC60。
      微控制器48負責按優(yōu)先順序排列外部插板上的任務(wù)。二次抽樣通路基本上總是活動的,以便將視頻數(shù)據(jù)總線38上的視頻數(shù)據(jù)顯示到主機的顯示器18上,但是,一般來說,經(jīng)由CODEC通路的任何數(shù)據(jù)移動要優(yōu)先于觀看操作磁帶到磁盤的拷貝操作中的數(shù)據(jù)損失實際上是不可恢復(fù)的,因此,如果有可能的話應(yīng)該加以避免。另一方面,允許二次抽樣通路滯后CODEC通路或者從視頻顯示中省略了幾幀是一種沒有太大影響的故障。外部微處理器負責通過保持這種優(yōu)先權(quán)而維持拷貝流的完整性。微處理器48控制著卸載FIFO90、92、94的速率一直到其高達主機系統(tǒng)總線46的飽和速率。這樣,系統(tǒng)就可以優(yōu)先地選擇將視頻數(shù)據(jù)傳送至顯示器內(nèi)存的速率,從而改變出現(xiàn)在顯示器上的二次抽樣的圖象幀頻。這種數(shù)據(jù)流控制是由外部微處理器48完成的該處理器監(jiān)控著CODEC的FIFO92、94的、音頻通路中的FIFO的以及二次抽樣FIFO90的填充程序,并利用這一信息去控制外部總線的事務(wù)處理。例如,如果CODEC的FIFO92、94中的一個趨于裝滿,那么,微處理器48就會掛起總線控制電路對二次抽樣FIFO90的抽取并且立即去集中抽取CODEC的FIFO92、94。在實踐中,當局限于二至四幀的延時的情況下,幾乎是實時地(即按接近于視頻速率的速率)來更新二次抽樣窗口。
      參照圖9所示的中央循環(huán),外部微處理器48監(jiān)控著FIFO并且控制數(shù)據(jù)傳遞。微處理器48允許充分地填滿FIFO以便有效地按塊傳遞數(shù)據(jù)。例如,將二次抽樣FIFO90分成由16個32位寬的字所構(gòu)成的塊以便在系統(tǒng)總線46間傳遞。塊間間隔使得諸如CODEC拷貝操作、音頻通道拷貝操作、或動態(tài)的RAM更新循環(huán)之類的其它操作優(yōu)先地取得被二次抽樣的視頻數(shù)據(jù)流。其結(jié)果是,顯示流是完全異步的,即二次取樣窗口中的顯示在兩幀的各顯示部分之間會被分隔開零點幾秒,這個被分開的時間很短以致人眼通常無法辨別。在CODEC流達到十分充滿的情況下,例如在圖象一旦從易于壓縮的素材變成難于壓縮的素材(如變成帶有許多更清晰邊緣的新圖象)之后,總線控制電路42會立即使得對二次抽樣FIFO90的卸載中止若干幀,直至拷貝流中的數(shù)據(jù)量有所減少。在這段時間內(nèi),二次抽樣FIFO90會溢出。然后,外部微處理器48會刷新二次抽樣FIFO90,等待下一幀或場的邊界,之后重新啟動二次抽樣視頻流。
      本發(fā)明的其它實施例均包括在權(quán)利要求的范圍內(nèi)。
      權(quán)利要求
      1.一種用解碼器對編碼后的視頻節(jié)目進行解碼的方法,所述經(jīng)編碼的視頻節(jié)目包括一系列數(shù)據(jù)包,所述解碼器由解碼參數(shù)所控制,這些參數(shù)裝在該解碼器的控制寄存器內(nèi),上述方法包括的步驟有按順序取得視頻節(jié)目的各個數(shù)據(jù)包,這些數(shù)據(jù)包中的每一個均包括解碼參數(shù)和編碼的視頻數(shù)據(jù);以及在獲得數(shù)據(jù)包時用包括有下列步驟的方法對該數(shù)據(jù)包進行處理,所說的步驟是將解碼參數(shù)存入控制寄存器;以及用解碼器按已存儲的解碼參數(shù)所作的規(guī)定對編碼的視頻數(shù)據(jù)進行解碼。
      2.如權(quán)利要求1所述的方法,其特征在于,所說的解碼包括從壓縮形式中將編碼視頻節(jié)目解壓縮出來,所說的解碼器包括一解壓縮解碼器,而所說的解碼參數(shù)則包括解壓縮參數(shù)。
      3.如權(quán)利要求2所述的方法,其特征在于,所說的解壓縮參數(shù)包括一量化因子,該因子在對源圖象數(shù)據(jù)進行壓縮時使用,以便形成編碼的視頻節(jié)目,較大的量化因子會使得將視頻數(shù)據(jù)壓縮成這樣的編碼視頻數(shù)據(jù),即它比用較小的量化因子來壓縮源視頻數(shù)據(jù)時會占有更多的存儲空間但卻產(chǎn)生更少的壓縮贗象。
      4.如權(quán)利要求1所述的方法,其特征在于,所說的解碼器帶有一數(shù)據(jù)輸入端子,而所說的處理過程則包括將解碼參數(shù)傳送至控制寄存器并將編碼視頻數(shù)據(jù)傳送至解碼器的數(shù)據(jù)輸入端子。
      5.如權(quán)利要求4所述的方法,其特征在于,一個多路解調(diào)器受狀態(tài)機的控制以便執(zhí)行所說的傳送工作。
      6.如權(quán)利要求1所述的方法,其特征在于,它還包括下列步驟從數(shù)據(jù)包中抽取出數(shù)據(jù)計數(shù),該數(shù)據(jù)計數(shù)指明了數(shù)據(jù)包內(nèi)編碼視頻數(shù)據(jù)的字數(shù);以及將上述數(shù)據(jù)計數(shù)存入一存儲寄存器。
      7.如權(quán)利要求6所述的方法,其特征在于,所說的抽取操作是由一狀態(tài)機來實現(xiàn)的。
      8.如權(quán)利要求1所述的方法,其特征在于,所說的每個數(shù)據(jù)包都描述了一系列隔行掃描視頻幀的一場。
      9.一種用于對數(shù)字化視頻數(shù)據(jù)進行解壓縮的設(shè)備,該設(shè)備包括數(shù)字化視頻數(shù)據(jù)源,所說的數(shù)字化視頻數(shù)據(jù)包括一系列數(shù)據(jù)包,每個數(shù)據(jù)包均包括一組參數(shù)值以及壓縮的圖象數(shù)據(jù);解壓縮解碼器,它用于將壓縮的圖象數(shù)據(jù)解壓縮成解壓縮的圖象數(shù)據(jù),該解碼器具有控制寄存器,這些寄存器接收參數(shù)值以改變所使用的解壓縮法;一輸入端口,它用于將壓縮的數(shù)據(jù)作為輸入而加以接收;以及一輸出端口,它用于輸出對應(yīng)于壓縮數(shù)據(jù)的解壓縮數(shù)據(jù);分離器,它用于將各個數(shù)據(jù)包分離成一組參數(shù)值以及壓縮的圖象數(shù)據(jù);以及傳送器,它由于將分解出來的參數(shù)傳送給控制寄存器并將分離出的圖象數(shù)據(jù)傳送給輸入端口。
      10.如權(quán)利要求9所述的設(shè)備,其特征在于,所說的分離器包括一狀態(tài)機。
      11.如權(quán)利要求9所述的設(shè)備,其特征在于,所說的數(shù)據(jù)包還包括一數(shù)據(jù)計數(shù),并且所述分離器能將來自數(shù)據(jù)計數(shù)的一組參數(shù)值與圖象數(shù)據(jù)分離開。
      12.如權(quán)利要求9所述的設(shè)備,其特征在于,所說的每個數(shù)據(jù)包均代表隔行掃描視頻幀的一場。
      13.如權(quán)利要求9所述的設(shè)備,其特征在于,所說的視頻數(shù)據(jù)源包括個人計算機的海量存儲器,上述個人計算機帶有一塊插在該機擴展槽內(nèi)的外部插板,此外部插板帶有解壓縮解碼器,分離器以及傳送器。
      14.一種用于播放經(jīng)壓縮的數(shù)字化視頻數(shù)據(jù)的設(shè)備,該設(shè)備包括海量存儲器,它用于存放上述數(shù)字化的視頻數(shù)據(jù),該數(shù)字化視頻數(shù)據(jù)包括一系列數(shù)據(jù)包,每個數(shù)據(jù)包均包括一組參數(shù)值以及壓縮的圖象數(shù)據(jù);解壓縮解碼器,它配置成能將壓縮的圖象數(shù)據(jù)解壓縮成解壓縮的圖象數(shù)據(jù),該解碼器帶有控制寄存器,這些寄存器接收參數(shù)值以改變所使用的解壓縮法;一輸入端口,它用于將壓縮的數(shù)據(jù)接收為其輸入;以及一輸出端口,它用于輸出對應(yīng)于壓縮數(shù)據(jù)的解壓縮數(shù)據(jù);分離器,它用于將各個數(shù)據(jù)包分離成一組參數(shù)值以及壓縮的圖象數(shù)據(jù);以及傳送器,它用于將分離出來的參數(shù)傳送給控制寄存器并將分離出來的圖象數(shù)據(jù)傳送給輸入端口。
      15.如權(quán)利要求14所述的設(shè)備,其特征在于,所說的分離器包括一狀態(tài)機。
      16.如權(quán)利要求14所述的設(shè)備,其特征在于,所說的數(shù)據(jù)包還包括一數(shù)據(jù)計數(shù),并且所述分離器能將來自數(shù)據(jù)計數(shù)的一組參數(shù)值與圖象數(shù)據(jù)分離開。
      17.如權(quán)利要求14所述的設(shè)備,其特征在于,所說的每個數(shù)據(jù)包均代表隔行掃描視頻幀的一場。
      18.如權(quán)利要求14所述的設(shè)備,其特征在于,所說的視頻數(shù)據(jù)源包括個人計算機的海量存儲器,上述個人計算機帶有一塊插在該機擴展槽內(nèi)的外部插板,此外部插板帶有解壓縮解碼器;分離器以及傳送器。
      全文摘要
      一種用解碼器對編碼視頻節(jié)目的數(shù)據(jù)包進行解碼的方法,所說的解碼器由解碼參數(shù)所控制,解碼參數(shù)裝在控制寄存器內(nèi),上述方法包括順序地獲得含有解碼參數(shù)和相關(guān)編碼視頻數(shù)據(jù),從及在獲得數(shù)據(jù)包時通過下列方法處理該數(shù)據(jù)包將解碼參數(shù)從數(shù)據(jù)包存入控制寄存器、并且用相關(guān)解碼參數(shù)來對編碼視頻數(shù)據(jù)進行解碼。
      文檔編號H04N5/44GK1125028SQ94192294
      公開日1996年6月19日 申請日期1994年3月15日 優(yōu)先權(quán)日1993年4月16日
      發(fā)明者J·M·哈迪曼 申請人:數(shù)據(jù)翻譯公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1