專利名稱:動態圖象的編碼/解碼方法、裝置及其存儲介質的制作方法
技術領域:
本發明涉及視頻信號的編碼和解碼,特別是涉及對于有效壓縮的正交變換系數的高精度編碼和解碼。
近來已經采用正交變換技術對視頻信號進行編碼。一種正交變換就是離散的余弦變換(DCT)。在一個二維DCT中,體現在視頻信號中的圖形或圖象被分隔成含預定的象素個數的模塊,然后將每一個模塊正交變換成一個系數模塊。
圖1表示對應于一個8象素×8行的圖象模塊的二維DCT系數模塊。系數F(0,0)對應一個代表二維模塊的平均亮度值的直流分量。
行系數如F(1,0),F(2,0),F(3,0)……F(6,0),F(7,0)和類似的F(1,1),F(2,1)……F(6,1),F(7,1)代表二維模塊沿垂直方向的高頻分量,列系數如F(0,1),F(0,2)……F(0,6),F(0,7)及類似的F(1,1),F(1,2)……F(1,6)F(1,7)代表二維模塊沿水平方向的高頻分量。
DCT編碼技術利用圖象中的二維相關性將被編碼信號功率集中在一個特定頻率分量附近。如果僅僅是分布在該集中區域內的系數要被編碼的話,那么,顯示圖象所需的信息量可以被大量地壓縮。
例如,在平面圖的情況下,其模塊存在良好的自身相關性,即,模塊內象素的幅值彼此幾乎相等。因此,對應于模塊內的低頻分量[如F(0,0),F(1,0),F(0,1),F(1,1)]的DCT系數具有較大的值,而大多數其它系數則具有很低的值或零值。因此,壓縮一連串的相鄰的相同系數的Hoffman編碼方法大大地壓縮了顯示圖象所需的信息量。
普遍被稱為MPEG1的動態視頻信號的編碼標準已經由ISO-IEC/JTC1/SC2/WG11所定義。在MPEG1技術中,一個圖形或者可以是一個“內部圖象”,意思是說,它被作為一個獨立的圖象編碼的,或者可以是一個“中間圖象”,意思是它相對于至少一個其它圖象被預先編碼。
現在將參考圖2對用MPEG1格式表示的視頻信號的結構進行說明。
如圖2所示,一個模塊層包括含8行×8象素的亮度和色度模塊。
宏模塊層包括組成宏模塊(MB)的亮度和色度模塊,即,四個亮度模塊Y0、Y1、Y2、Y3和兩個色度模塊Cb和Cr,這兩個色度模塊與亮度模塊的圖象空間位置相同。每個宏模塊中的六個模塊按下列次序傳送Y0、Y1、Y2、Y3、Cb、Cr。對于每一個這些模塊單元來說,要就所采用的是什么樣的預測數據以及是否要傳送預測誤差作出判定。
一個片層包括一個宏模塊或多個沿圖形的掃描方向出現的宏模塊。在片層開關要復位圖形的直流分量系數的差值和動態向量。第一宏模塊包括指示在圖像位置的數據以允許在存在誤差的情況下進行校正。因此,如果在傳送過程中出現誤差的話,則片層可以具有任何可改變的任意長度和起始位置。
一個圖象層包括一個圖象的幀或半幀。一個圖象包括至少一個片層。依照所采用的對其編碼的技術,每個圖象是一個Ⅰ圖象(內半幀)P(預測的)圖象、B(雙向的)或D圖象。一個Ⅰ圖象是相對于其自身進行編碼的,即,無需相對于一個前面被編碼的圖象進行動態補償。一個P圖象采用相對于一個在時間上先于該被編碼的P圖象的、在先已被編碼的Ⅰ或P圖象進行前向預測編碼。B圖象采用相對于在時間上先于和滯后該B圖象的兩個在前面被編碼的Ⅰ或P圖象進行雙向預測編碼。
一組圖象(GOP)層包括至少一個Ⅰ圖象,并且也可以具有至少一個非Ⅰ圖象。
一個視頻序列層包含至少一個GOP。
MPEG1標準規定了對于一個兩維DCT系數的模塊的直流(DC)分量和交流(AC)分量進行編碼的不同方法。現在將針對在一個內部圖象編碼過程中對二維DCTDC分量進行編碼和解碼的有代表性的MPEG1方法加以描述。
圖3A表示一個編碼裝置,包括一個DCT電路2,一個量化器3,一個差分電路4和一個可變長度編碼(VLC)電路5。一個輸入圖象1作為8象素×8行的模塊提供給一個DCT電路2。DCT電路適合于將每一個8象素×8行模塊正交變換成為一個DCT系數(el)模塊,該模塊加在一個量化器3上,量化器3利用預定的量化步長(在MPEG1情況下,步長值為8)將每一個模塊的DC分量系數線性量化以產生量化的DC分量系數(e2)。在線性量化過程中,等于和大于0.5的尾數被進位,而小于0.5的尾數被舍去。
將量化的DC分量系數(e2)提供給一個差分電路4,差分電路4適于采用針對亮度模塊(Y)及對應的兩個色度(Cb和Cr)模塊的不同方法對彼此相鄰的模塊作差分運算,以產生差分系數(e3)。
圖4A表示差分電路4的一個方框圖。輸入信號加在一個延遲電路和一個減法器上,減法器從現行輸入信號中減去延遲輸入信號并將差分信號作為結果輸出。
圖5A表示亮度模塊的差分法。一個亮度模塊的DC分量系數以之字形序列從左、右、上和下相鄰模塊的直流分量系數中被減去,并用差分結果替代在各種亮度系數模塊中的DC分量系數。
圖5B表示色度模塊的差分法。對左右彼此相鄰模塊的DC分量系數進行差分運算,其結果代替在各色度系數模塊中的原有DC分量系數。
由于第一模塊(即一個Ⅰ圖象的第一模塊或一片層中的第一模塊)無法進行差分運算,因此,在差分電路4的延遲元件中,采用了一個預定的數作為初始值。在MPEG1標準情況下,采用數值128作為初始值。
將差分系數(e3)加在圖3A所示的VLC電路5上,該電路的作用是利用一個可變長度碼對系數進行編碼以產生一個編碼的視頻信號(6)。
VLC電路5利用差分DC分量系數值來獲得一個相應的長度值(即位數),該值將被用來對圖6A所示表中的差分DC分量系數進行編碼。例如,一個具有值+5的差分DC分量系數(e3)對應于3位的長度。
接下來,VLC電路5利用圖6B所示亮度模塊的表格對長度值進行編碼,并用圖6C所示色度模塊表格對長度值進行編碼。還以上面的例子為例,一個3位的長度對于亮度模塊來說的編碼為101,而對于色度模塊來說為110。
然后,VLC電路5利用圖6A所示的表格中的固定長度碼對差分DC分量系數進行編碼。對于每一個未編碼值,固定長度碼均具有一個唯一的編碼值。在所述實例中,一個具有值+5的差分DC分量系數(e3)對應于一個為101的固定長度的編碼值。
最后,被編碼的差分DC分量系數值是表示用來代表差分DC分量系數的位數的可變長度碼與表示差分DC分量系數的固定長度碼并置的結果。在上述例子中,對于亮度模塊來說,被編碼的差分DC分量系數值是101101,而對色度模塊來說,編碼值為110101。
圖3B表示一個解碼裝置,包括一個可變長度解碼電路8,一個反差分器9,一個反量化器10和一個反DCT電路11。這些電路按照與圖2A所示相應的電路互補的方式進行工作。圖4B表示反差分器9的方框圖。
在MPEG1標準中規定的編碼表所存在的問題是它們不一定包括所有的系數值。
更為具體地說,在一維DCT處理過程中,由DCT過程產生的一個輸出信號大約2倍于處理過程之前的值。在采用MPEG1方法的一個圖象內編碼過程中,一個輸入圖象的象素值在0~255范圍內或是一個8位(指二進制位,以下同此)數。因此,一個二維DCT傳送系數的直流分量系數在0~2047范圍內或是一個11位數。0~2047的范圍大約是范圍0~255的8(=2
·2
)倍。
在MPEG1方法中,具有這種11位精度的值通常經過一個線性量化過程以變換成為一個在0~255范圍內的8位數,因此將其精度降至8位,然后做差分運算。因此,圖5A所示表格提供了在-255~+255范圍內的所有數字,也就是說,對于DCTDC分量系數來說,一個8位的固定編碼精度降低了采用MPEG1方法編碼的高級別圖像的質量。
對于一個具有8位精度的輸入圖象來說,僅僅將DCTDC分量系數的編碼精度從傳統的8位簡單地增加到一個較高精度(如11位),在某些情況下將產生無效編碼。具體地說,如果將一個具有(如11位)精度的編碼方法用于一個可相當滿意地具有8位精度的低級別圖象質量的要求中的話,則必然會輸出無用碼。
因此,已知的用于高質量視頻信號的編碼方法或者可使圖象降級,或者可導致被編碼圖象的低效壓縮。
因此,本發明的一個目的是提供避免了前面提過的已有技術中的缺陷的對視頻信號進行編碼和解碼的一種方法和裝置。
本發明的另一個目的是采用一個大于用來代表視頻信號中的每一個象素位數的較大的位數對代表一個視頻信號的直流分量進行編碼。
本發明還有另一個目的就是使圖像的DC分量系數的編碼和解碼精度適合于所要求的質量。
本發明另一個目的就是利用具有分別按照所要求的編碼和解碼精度而設置的長度的表對圖像的DC分量系數進行可變長度編碼和解碼。
根據本發明的一個方面,一種視頻信號的編碼方法包括一系列接收圖象質量信號并根據圖象質量信號選擇編碼精度的步驟。對視頻信號進行正交變換以產生直流分量系數,并利用所選定的編碼精度對直流分量系數進行量化。
圖象質量信號與視頻信號的視頻序列、圖象組、圖象、片層、宏模塊或模塊部分相對應。
利用具有隨選定的編碼精度變化的長度的可變長度編碼表對量化后的直流分量系數進行可變長度編碼。因此,表的范圍可動態地適合于視頻信號的被編碼部分所要求的編碼精度。
根據本發明的另一個方面,一種對于被編碼的視頻信號的解碼方法包括一系列的接收圖象質量信號并根據圖象質量信號選擇解碼精度的步驟。被編碼的直流分量系數從已被編碼的視頻信號中提取出來并利用所選定的解碼精度進行反量化。
圖象質量信號與被編碼的視頻信號的視頻序列、圖象組、圖象、片層、宏模塊或模塊部分相對應。
利用具有隨選定的編碼精度變化的長度的可變長度編碼表對已編碼的直流分量系數進行可變長度解碼。
由于圖象質量信號可被置于被編碼的視頻信號中,因此,用于直流分量系數的編碼精度和解碼精度可被一起改變。
本發明的上述和其它目的,特征及優點在下面結合附圖對本發明優選實施例的具體描述中將是顯而易見的,附圖中,相應部分用相同的參考數字表示。
圖1是用來解釋二維DCT系數的特性的圖表;
圖2是用來說明按照MPEG1標準的概念性的編碼值的圖表;
圖3A和3B是用來分別說明圖象編碼和解碼過程的方框圖;
圖4A和4B是分別表示一個差分器和一個反差分器的方框圖;
圖5A和5B為分別表示差分作用和反差分作用發生的順序的圖表;
圖6A~6C為用于對DC分量系數進行編碼和解碼的表;
圖7為用來說明按照本發明進行編碼的圖表;
圖8A~8C為用在對根據本發明的DC分量系數進行編碼和解碼的表;
圖9是用于說明根據本發明的解碼過程的框圖;
圖10是表示按照本發明的一個動態視頻圖象編碼裝置的一個實施例的框圖;
圖11是圖10中表示的一個量化器115的框圖;
圖12是在圖10中所表示的一個反量化器118的一個細部框圖;
圖13是在圖10中所表示的一個DC系數差分器125的一個細部框圖;
圖14是在圖10中所表示的一個VLC編碼器126的細部框圖;
圖15是表示根據本發明的一個動態視頻圖象解碼裝置的一個實施例的框圖;
圖16是在圖15中所表示的一個VLC解碼器152的細部框圖;
圖17是在圖15中所示的一個DC系數反差分器153的細部框圖;
圖18A和18B是可以用在按照本發明的DC分量系數的編碼和解碼表;
圖19是用來說明一種制作光盤的方法的框圖,該光盤用于存貯根據本發明被編碼的數據;
圖20是用來說明示于圖19中的制作方法的軟件產生部分的框圖;
此外,
程序1是可用在按照本發明的一個可變長度編碼器的源程序;
程序2是可用于一個按照本發明的可變長度解碼器的源程序;
圖表1A和1B是說明含內部DC精度編碼半幀圖象首部的圖表;
借助于本發明的編碼器,就有可能適當地對隨所需圖象質量變化的直流分量系數進行編碼的方法進行改進。也就是說,用于對DCTDC分量系數進行編碼的量化位數可以隨著所需圖象質量的增加而增加。
還有可能按照在編碼過程中DCTDC分量系數所需精度的改變,使可變長度編碼表的長度適合于直流分量系數,即增加所用表的長度,或減少所用表的長度。因此,可以實現高效編碼處理。
此外,借助于按照本發明的解碼器,就有可能適當地改進對輸入的DCTDC分量系數進行解碼的方法。
而且,采用根據DC分量系數所需精度(即量化位數)擴充的直流分量系數的可變長度編碼表可對這些系數進行高效解碼。
在編碼開始之前,根據所需圖象質量對待編碼的原始圖象進行評價,待評價的特征包括原始圖象的質量及動態視頻信號的移動程度。根據評價數據及所需圖象質量,則確定經正交變換(DCT)后的DC分量系數的所需精度。可以對每個序列、GOP、圖象、片層、宏模塊或模塊進行評價以適當地確定DC系數所要求的精度。
例如,如果評價數據表明,原始圖象不具備良好的質量,則對于DC分量系數來說,8位精度就足夠了。對于快速移動的動態視頻圖象來說,8位的DC系數精度也是足夠的,因為人的視覺具有較低的亮度分辨能力。
為了在一開始確定出系數的精度或在處理過程中對精度進行修改,有必要設置一個標記,然后傳送有關使用中系數精度的信息。
下面將描述具有對視頻信號的各部分可變的精度的通常按照圖2所示的MPEG1標準的視頻信號的DCT直流分量系數的編碼和解碼過程。本發明還可以應用除MPEG1格式以外的格式的視頻信號的編碼和解碼。
下面的描述是針對具有用8位精度表示的象素的視頻信號而言的,而且應該理解,本發明還可用于具有用多于或少于8位精度表示的視頻信號。
現在參照附圖,特別是圖7,表示一種按照本發明的編碼裝置。圖7所示裝置包括一個輸入端60、一個DCT電路61、一個量化器62、一個差分器63、一個VLC編碼器64、一個量化步長寬度電路65、一個初始值電路66,及一個VLC表電路67。
信號CTL被加在端60,該信號以量化位數表示代表由一種正交變換(如DCT)得到的DC分量系數所要求的精度。還可以將CTL信號提供給每一個序列、GOP、圖象、片層、宏模塊或模塊。
由信號CTL表示的所要求的精度用每單位時間的數量所決定,如一條傳輸線上的傳輸速度或傳輸容量及記錄介質的記錄密度。信號CTL最好可由解碼器的質量及待編碼的圖象的質量決定。
在圖7所示的該實施例中,信號CTL確定了表示8到11位精度的四個不同位數之一。在8位精度情況下,可以表示0~255范圍內的所有值。對于9位精度來說,可以表示0~511范圍內的值。類似地,10位和11位精度可用來分別表示0~1023和0~2047范圍內的值。
DCT電路61適合于將代表一種圖象的象素模塊正交變換成8×8模塊的DCT系數,并適于將DCT系數加在量化器62上,該量化器62起著對DC分量系數進行線性量化的作用,即,用可變量化步長寬度對系數進行劃分以形成量化系數。
量化步長寬度電路65的作用是按照由信號DTL所規定的直流分量系數的精度向量化器62提供可變的量化步長寬度。對于規定的8位、9位、10位或11位精度,量化步長寬度值分別為8、4、2或1。因此,當要求11位精度時,DCTDC分量系數數值不用被量化。
差分電路63適合于接收量化系數并適于對DC分量系數進行差分產生差分DC分量系數。差分過程對于一個宏模塊中的四個亮度(Y)模塊和二個色度(Cb和Cr)模塊來說是獨立分開進行的,如通常分別示于圖5A和5B中的情況。
初始值電路66的作用是重設一個用來對模塊取差分的初始值,該初始值用于每個片層中的第一模塊以及在完成了一次圖象間編碼處理的模塊之后的、完成第一次圖象內編碼處理的模塊。初始值的設置依賴于由信號CTL所規定定的系數精度。具體地說,對于所規定的8位、9位、10位、或11位系數精度來說,初始值分別為128、256、512、1024。每一個初始值確定了一個動態范圍的中心值。如果可以根據畫面確定明、暗值的話,則第一模塊的圖象質量將會改善。
VLC編碼器64適合于接收差分DC分量系數,并對其進行編碼以產生按照信號CTL所規定的量化位數或精度的編碼系數。每一個編碼系數都是代表用來表示差分系數的倍數的可變長度碼和代表一個差分系數的一個固定長度碼的并置。
程序1表示可用于VLC編碼器64的一個C語言源程序碼表。
VLC編碼器64利用差分DC分量系數值來獲得相應的長度值,即,將用來對如圖8A所示表中的差分DC分量系數進行編碼的位數。
接著,VLC編碼器64利用圖8B所示的亮度模塊表的長度值進行編碼,并用圖8C所示色度模塊表的長度值進行編碼。
然后,VLC編碼器64利用圖8A所示表中的固定長度碼對差分DC分量系數進行編碼。
最后,編碼后的差分DC分量系數值是代表用來表示差分DC分量系數位數的可變長度碼與代表差分DC分量系數的固定長度碼并置的結果。
圖8A~8C中的表對應于被擴充包含為另外的精度進行編碼的9位、10位和11位的圖6~6C中的表,圖8A~8C中的編碼表是作為具有固定不變的內容來表示的。另一方面,可以采用根據輸入信號的統計觀察結果改進的編碼表。
VLC表電路67適合于存儲圖8A~8C中的表,并為VLC編碼器64提供數據。電路67可被實施為一個只讀存儲器(ROM),ROM中的內容通過一個CPU從ROM寄存器中讀出,為使圖示簡潔圖中未示出CPU。
然后,將由VLC編碼器64產生的編碼差分DCTDC分量系數與AC分量系數結合成一個可加入誤差修正碼的位流中,被誤差修正編碼的位流可儲存在一種記錄介質上或通過一條傳輸線進行傳輸。屆時,可將信號CTL作為識別信號附加在每個相關的序列、GOP、圖象、片層、宏模塊或模塊上。
圖表1A和1B表示對圖象層首部的一般性描述。首部包括與用于選擇四個擴充的編碼精度值中的一個的信號CTL相對應的一個二位識別信號的內部dc精度。
下面參考圖9對按照本發明的解碼裝置進行描述。
圖9所示裝置包括一個VLC解碼器81、一個反差分器82、一個反DCT電路84、一個VLC表電路85、一個初始值電路86、一個量化步長寬度電路87、一個模塊識別器88和一個輸入端89。
由前述編碼裝置產生的位流通過一條傳輸線或從一種記錄介質(如光盤)被加在解碼裝置上。
通過一個圖9中未示出的解調電路將信號CTL加在一個輸入端89上。如前所述,信號CTL代表對于來自視頻信號的每一個視頻序列、GOP、圖象、片層、宏模塊或模塊部分進行正交變換(如DCT)的每個DC分量系數所要求的8位、9位、10位或11位量化精度。
此外,根據本發明的解碼裝置可就地產生一個信號CTL。在這種情況下,有必要使解碼裝置產生的信號CTL與在編碼裝置中設置的信號CTL同步。
例如,如果用磁盤作為記錄介質并且對于整個磁盤所設置的精度是一致的話,則對于一個具有為高質量圖象設計的解調單元(即,允許區分每個DC分量系數8~11位量化精度)的磁盤讀出裝置來說,有可能重放出具有均勻一致的圖象質量的動態視頻圖象。另一方面,帶有僅為8位精度設計的解調單元的磁盤讀出裝置不能從磁盤中重放具有9位、10位或11位精度的高質量圖象。但是,有可能針對該磁盤讀出裝置進行調整從而得到所說的圖象質量。
類似地,調制單元可提供所有的可選擇精度,或可允許適合于特定種類或特定型號的磁盤讀出裝置的一個預定精度。
利用信號CTL,代表在下面的固定長度碼位數的可變長度碼和代表一個DC分量系數的固定長度碼(連同其它分量一道)通過一個未示出的調制單元加到VLC解碼器81上。VLC解碼器81的作用是采用一種可作為程序2中所示的C語言計算機程序被執行的算法對這些可變長度碼和不變長度碼進行解碼以產生差分DC分量系數。
VLC表電路85適合于存儲圖8A~8C中所示的表并將存儲數據提供給VLC解碼器81。
反差分器82的作用是接收差分DC分量系數并在相鄰模塊中施行反差分處理以恢復量化DC分量系數。為了恢復量化DC分量系數,對于四個亮度(Y)模塊和二個色度(Cb和Cr)模塊來說,每個反差分過程是獨立進行的。按與結合圖5A和5B進行說明的差分過程互補的方式,一個亮度模塊的差分DC分量系數從一個宏模塊中的左上模塊到右上模塊再到左下模塊最后到右下模塊,按之字形順序進行反差分運算。然后,這些模塊中的差分DC分量系數分別被還原的DC分量系數所取代。對于色度模塊來說,彼此相鄰的左右模塊的差分DC分量系數經過反差分而產生替代各自模塊中的差分DC分量系數的還原的DC分量系數。
初始值電路86的作用是在這些反差分過程中,在一個片層的第一模塊中或在一個完成了一次圖象間編碼過程的模塊之后的完成第一次圖象內編碼過程的模塊中重設一個初始值。初始值按照所規定的系數精度而變化。具體地說,對于所規定的8位、9位、10位或11位系數精度來說,初始值分別為128、256、512或1024。
反量化器83適合于接收還原的量化DC分量系數并采用可變量化步長寬度在其中施行一種反量化處理。特別地,反量化器83將每個量化DC分量系數乘以量化步長寬度以產生一個DC分量系數。
量化步長寬度電路87適合于根據信號CTL將可變量化步長寬度加到反量化器83上。具體地說,對于所規定的8位、9位、10位或11位精度來說,量化步長寬度值分別為8、4、2、或1。
反DCT電路84的作用是接收DC分量系數并將其用作圖1所示的系數F(0,0)。將來自其它反DCT電路(未示出)的AC分量系數加上以形成圖1所示的8×8矩陣。反DCT電路84的作用是對矩陣施行一個二維反DCT過程以恢復原有的亮度和色度信號。
由于線性/反線性量化過程的緣故,被還原的亮度或色度信號值可能與原始信號值有所不同,然而,已知DCT和反DCT具有可從相鄰系數間的相關性中估算出原始數據的獨特特性,因此,防止了大的誤差,避免了重大錯誤。
下面將參照圖10-14對本發明的一個編碼裝置作更詳細的描述。本發明可用于圖象結構為一幀或半幀畫面的情形。然而,下列說明是針對圖象結構為一幀畫面的情況。為方便起見,假設所要求的圖象質量,可以僅在視頻信號的每個序列、GOP、圖象、或片層部分之間變化。如果要求的圖象質量還可以在視頻信號的每個宏模塊或模塊部分上變化的話,本領域普通技術人員應理解如何改進下列裝置。
圖10表示按照本發明的一個編碼裝置,并包括輸入端110、131、輸出端132、133、字段存儲器111、移動預測器112、減法器113、CTL電路114、量化器115、掃描轉換器116、反掃描轉換器117、反量化器118、反DCT電路119、加法器120、字段存儲器121、移動補償器122、參考圖象控制器123、字段存儲控制器124、差分器125、VLC編碼器126、緩沖存儲器127、宏模塊(MB)計數器128、圖象計數器129、編碼控制寄存器130、和控制信息電路134。
由圖10所示的編碼裝置所采用的信號包括下列信號象素S1、差分S2、DCT系數S3、量化DCT系數S4,順序系數S5、還原序列S6、還原系數S7、解碼象素模塊S8、還原圖象S9、預測S10、參考圖象命令S11、移動向量S12、移動向量S13、移動補償方式S14、移動補償參考圖象命令S15、圖象命令信號S16、輸出圖象命令S17、量化步長寬度S18、垂直同步S19、視頻序列起始標記S20、GOP起始標記S21、圖象起始標記S22、片層起始標記S23、差分系數S24、控制信息S25、內dc精度S26、MB地址S27、圖象讀出S30、MB起始S31、以及移動補償方式S32。
控制信息電路134適于存儲用來控制編碼裝置的基本操作的信息并當進行圖象編碼時,將存儲的信息提供給編碼控制存儲器130,信息包括(連同其它數據一道)熒屏尺寸,編碼信息的輸出位速率,圖象結構信號和圖象編碼類型。圖象結構信號是表示圖象是一幀還是半幀結構的識別信號。圖象類型信號是表示圖象是否是Ⅰ、P或B圖象的一種識別信號。編碼控制存儲器130適合于將這些信息作為控制信息信號S25讀出,并將其提供給移動預測器112、參考圖象控制器123、移動補償器122、字段存儲控制器124、VLC編碼器126、緩沖存儲器127、MB計數器128和圖象計數器129。
存儲器130還適合于存儲用來改變DC系數的編碼精度的內部dc精度碼S26。內部dc精度碼S26對應于前面說明過的圖7的CTL信號。為了轉換一層的DC系數的編碼精度,必須使內部dc精度碼S26存在于適當的視頻序列首部、GOP首部、圖象首部或片層首部中的一個上。如在圖表1B中的樣本圖象層首部所示,內部dc精度碼S26可包含一個二位字段以確定四種不同的編碼精度。例如,具有值‘00’、‘01’、‘10’和‘11’的內部dc精度碼S26可以分別確定每DC分量系數的8位、9位、10位或11位的量化編碼精度。存儲器130將內部dc精度碼S26提供給量化電路115、反量化電路118、DC系數差分器125和VLC單元126。
輸入端131的作用是接收一個垂直同步信號S19并將該信號提供給參考圖象控制器123,該控制器的作用是為字段存儲器111產生一個與垂直同步信號S19同步的參考圖象命令信號S11。
輸入端110的作用是接收圖象模塊并將這些模塊提供給字段存儲器111,該存儲器適合于存儲這些模塊并從參考圖象命令信號S11所規定的地址中順序地將它們作為象素模塊信號S1分別讀到移動預測器112和減法器113中。雖然信息是在模塊單元中被讀出的,但實際上是在宏模塊中進行處理的,也就是說,六個模塊Y0~Y3,Cb和Cr(如圖2所示)在裝置中同時經過相同的處理。
字段存儲器111還適合于當待編碼圖象開始被從中讀出時產生一個圖象讀出信號S30,并當待編碼圖象的宏模塊部分開始被從中讀出時產生一個MB起始標記信號S31。
移動預測器可用來根據控制信息信號S25將每段圖象數據作為一種Ⅰ、P或B圖象進行處理。預先要確定每段圖象數據是否要作為Ⅰ、P或B圖象被處理。例如,還要預先確定是否在GOP單元中進行處理。
移動預測器112還可用來檢測從字段存儲器111中讀出的向前原始圖象與也是從字段存儲器111中讀出的當前參考圖象之間的移動向量,以及從字段存儲器111中讀出的向后原始圖象與當前參考圖象之間的移動向量。向前原始圖象是暫時超前于待編碼的當前圖象的一個圖象。向后原始圖象是暫時落后于待編碼的當前圖象的一個圖象。當前參考圖象是要編碼的當前圖象。
移動預測器112計算出預測誤差(每個模塊的段之間的差)的絕對值的總和以便在圖象內預測值、向前預測值、向后預測值或雙向預測值當中選出最小值。對于圖象內預測來說,得出|∑Aij|與∑|Aij|之差,其中|∑Aij|是一個參考圖象的宏模塊的信號Aij總和的絕對值,而∑|Aij|是信號Aij絕對值的總和。對于向前預測來說,得出∑|Aij-Bij|絕對值的總和,其中Aij是一個參考圖象的宏模塊信號,Bij是一個向前原始圖象的宏模塊信號,并且|Aij-Bij|是Aij與Bij之差的絕對值。除了對于向后預測來說,向前原始圖象被向后原始圖象所替代外,可以按照與向前預測相同的方式得出向后預測和雙向預測的預測誤差絕對值的總和;而在雙向預測的情況下,向前原始圖象一般被向前原始圖象和向后原始圖象的平均值所取代。
移動預測器112還在向前、向后和雙向預測的預測誤差絕對值的總和中選擇一個最小值作為圖象內預測的預測誤差絕對值的總和。然后,移動預測器112將該最小值與上述圖象內預測的預測誤差絕對值的總和相比較以便鑒別出兩者中較小的那個。最后選擇出與被鑒別出的較小的那個對應的一種方式作為移動補償方式。也就是說,如果圖象內預測的預測誤差絕對值的總和較小,則設置圖象內預測方式。否則,設置一個對應于上面所選擇出的最小值的向前、向后或雙向預測方式。
從上述根據參考信號的宏模塊信號的計算中,移動預測器112檢測出參考圖象與下面四個移動補償方式之一的預測圖象之間的移動向量圖象內、向前、向后或雙向預測。
移動預測器112控制向移動補償器122輸出最小值,即一個移動向量S12和一個移動補償方式信號S32。
當移動補償方式信號S32表示段內(圖象內)編碼(預測)方式時,待編碼圖象的象素模塊信號S1從字段存儲單元111中被讀到減法器113上,減法器113的作用是只將信號S1不作任何改變地作為一個差分信號S2送到DCT電路114。
當移動補償方式信號S32表示向前、向后或雙向預測方式時,減法器113的作用是從象素模塊信號S1中減去一個預測信號S10以產生一個提供給DCT電路114的差分信號S2。
DCT電路114的作用是對加在其上的差分信號S2實行一種正交變換,特別是DCT,以產生一個DCT系數信號S3并將信號S3提供給量化器115。
量化器115適合于根據量化步長寬度信號S18對DCT系數S3進行量化以產生一個量化DCT系數信號S4并將信號S4提供給一個掃描轉換器116。量化器115的作用是根據加在其上的一個qscale型信號(盡管圖10中未示出)進行線性的或非線性的量化運算。圖表1B緊靠內部dc精度字段下面所示的“qscale型”區是一個一位碼,以便例如分別用數值0和1鑒別出進行的是線性的還是非線性的量化。下面將參考圖11對量化器115作詳細說明。
掃描轉換器116的作用是從最低頻系數到最高頻系數按照之字形的方式掃描量化DCT系數,以產生一個順序系數信號S5,并將信號S5提供給反掃描轉換器117和差分器125。掃描轉換器116只向反掃描轉換器117輸出Ⅰ和P圖象的數據,而不輸出B圖象數據。
反掃描轉換器117適合于按照與掃描轉換器116互補的方式工作,即,反掃描轉換器117在根據順序系數信號S5進行反之字形掃描處理以產生一個還原的序列信號S6并將信號S6提供給反量化器118。
反量化器118適合于按照與量化器115互補的方式工作,即,一般將信號S6中的系數乘以量化步長寬度S18以產生一個還原的系數信號S7并將信號S7提供給反DCT電路119。反量化器118的作用是按照加在其上的qscale型信號(盡管圖10中未示出)進行線性的或非線性的反量化運算。下面將參考圖12對反量化器118作詳細說明。
反DCT電路119適合于按照與DCT電路114互補的方式工作以產生一個解碼的象素模塊信號S8,并將信號S8提供給加法器120。
在圖象內預測方式中,加法器120的作用是僅將解碼的象素模塊信號S8作為一個還原圖象信號S9送到字段存儲器121。在向前、向后或雙向預測方式中,加法器120的作用是逐個象素的基礎上將解碼的象素模塊信號S8與預測信號S10相加以產生還原的圖象信號S9。
字段存儲器121適合于在圖象命令信號S16所規定的地址處存儲還原圖象S9。利用移動補償參考圖象命令信號S15將還原圖象S9作為用在向前或向后預測中的一個圖象進行識別。由于掃描轉換器116僅向反掃描轉換器117輸出Ⅰ圖象和P圖象數據。因此,在字段存儲單元121中存儲的只是Ⅰ圖象和P圖象數據。由于在預測編碼中未使用B圖象,因此不必存儲B圖象數據。字段存儲器121還適合于在由輸出圖象命令信號S17所決定的時刻,將存儲在其中的圖象傳送到輸出端133,因此,可在監視器上顯示出來以便核實。
移動補償器122的作用是接收信號S12,S32并在存儲于字段存儲器121內的圖象上進行移動補償以產生預測信號S10。特別當用移動補償方式信號S32表示向前、向后或雙向預測方式時,移動補償器122將加在字段存儲器121上的讀出地址移動一段對應于一個移動向量S12的位移,并將從移動后的字段存儲器121中的地址上讀出的數據作為預測信號S10傳輸。在雙向預測方式中,每種向前和向后預測的圖象部分均按照移動補償參考圖象命令信號S15從字段存儲器121中被讀出,并相加以計算出要作為預測信號S10輸出的平均值。
移動補償器件122的作用還有將移動向量信號S12作為移動向量信號S13提供,并將移動補償方式信號S32作為移動補償方式信號S14的方式提供。
字段存儲控制器124可用來接收圖象起始標記S22及控制信息信號S25,并與圖象起始標記S22同步產生移動補償參考圖象命令信號S15,圖象命令信號S16及輸出圖象命令信號S17,并將信號S15、S16、S17提供給字段存儲器121。
差分器125可用來在加在其上的順序系數S5中對DC分量系數進行差分以產生一個差分系數信號S24,并將信號S24提供給VLC編碼器126。下面將參考圖13詳細說明差分器125。
VLC編碼器126適合于對移動向量S13、移動補償方式S14、差分系數S24和量化步長寬度S18進行編碼以產生Huffman編碼數據并將編碼數據提供給緩沖存儲器132。
還要將一個視頻序列起始標記S20、GOP起始標記S21、圖象起始標記S22、片層起始標記S23和MB地址信號S27提供給VLC編碼器126。設置標記S20、S21、S22、S23中的一個促使VLC編碼器126產生分別對應于視頻序列、GOP、圖象和片層的起始碼。然后,從存儲器130中讀出各信號層部分編碼數據的控制信息作為首部數據。起始碼和首部數據是從VLC編碼器126輸出到緩沖存儲器127中的信號的一部分。
緩沖存儲器127的作用是暫時存儲Huffman編碼數據,然后以恒定的傳輸率將數據以位流的方式施加在輸出端132。緩沖存儲器127的作用還有向量化器115提供代表其中的存儲數據量的量化步長寬度S18。如果緩沖存儲器127中的數據量超過了允許的最大限度的話,則要增加量化步長寬度S15以降低量化系數S4的量。如果緩沖存儲器127中的數據量低于允許的最小限度的話,則要降低量化步長寬度S15以增加量化系數S4的量。因此,緩沖存儲器127調整將要以位流方式產生的數據量,保證了適當的數據輸出率,同時避免了緩沖存儲器127內的上溢和下溢。
由緩沖存儲器127輸出的位流通常與(包括其本身)一個編碼聲頻信號及一個同步信號一起多路轉換。還要將誤差修正碼加在位流中,并且在進行了預定調制過程之后,位流被存儲在一種記錄介質上,如用激光束存在一個光盤上。
MB計數器128適合于接收圖象讀出信號S30并隨之置0。MB計數器還適合于接收MB起始標記信號S31并隨之計算從字段存儲器111中讀出的模塊數,MB計數器128將其宏模塊計數以MB地址信號S27的方式提供出來。
為了更有效地壓縮視頻信號,只有每個片層中的第一宏模塊可以具有表示其在圖象中位置的絕對地址。該片層中每個隨后的宏模塊可具有相對于片層中第一宏模塊的絕對地址的一個地址。宏模塊地址信號S27為這些隨后的宏模塊提供了相對地址。
MB計數器128還適合于接收作為部分控制信息信號S25的片長,即,組成一片層的宏模塊的數量。當宏模塊計數達到一個預定的片長的倍數時,則MB計數器適合于產生(設置)片層起始標記S23。在其它時候,片層起始標記處于復位狀態。片長可以根據傳輸位流的傳輸線的誤差狀況(即,根據傳輸線的可靠性)改變從緩沖存儲單元127中輸出的位流。總的來說,在傳輸線上出現傳輸誤差的可能性越高,則所設置的片長值就越短。
圖象計數器129適合于當視頻序列開始編碼時置0并在復位時產生(設置)一個視頻序列起始標記S20。圖象計數器129還適合于接收圖象讀出信號S30并產生(設置)與圖象讀出信號S30同步的圖象起始標記S22。
圖象計數器129還適合于接收作為部分控制信息信號的GOP長度,即,構成一個GOP的圖象數。一般GOP長度可以為12或15幀。圖象計數器129計算出從字段存儲器111中讀出的圖象數,且當其圖象計數達到GOP長度的一個預定倍數時,圖象計數器129適于產生或設置GOP起始標記S21。
圖11表示量化器115的一個具體實施例。
由圖可見,量化器115包括輸入端300、312、314、315、量化單元307、量化步長發生器308、模塊化電路309、輸出端310、內標記發生器311及開關313。
將移動補償方式信號S14加到輸入端312上,該輸入端將信號S14加到內標記發生器311上。內標記發生器311適合于當移動補償方式信號S14表明要進行圖象內編碼時,設置一個內標記S309。例如,如果內標記S309通常為邏輯值0的話,則當要進行圖象內編碼時,發生器311將信號S301置1。
DCT系數信號S3(一個8×8系數模塊)被加在輸入端300,輸入端300將信號S3加到開關313上。開關313的作用是當內標記S309表示要進行向前、向后或雙向編碼時,選擇極點A。因此,DCT系數S3被作為信號S302加在量化單元304上。開關313的作用還有當內標記S309表明要進行圖象內編碼時,選擇極點B。在這種情況下,DCT系數S3被加在DC/AC系數分離器306上。
將量化步長寬度信號S18加在輸入端314,然后加在量化單元304、305上。
量化單元304適合于接收DCT系數信號S302和量化步長寬度信號S18,并按照信號S18對信號S302進行量化以產生量化DCT系數,并將量化DCT系數作為信號S305提供給模塊化電路309。在MPEG數據的情況下,一個量化系數的小數部分通常在量化過程中被量化單元304舍掉。
模塊化電路309的作用是將量化系數S305分成一個8×8系數模塊,然后將該模塊提供給輸出端310以便用于圖10所示的掃描轉換器116。
DC/AC系數分離器306可用于將DCT系數S3分成AC系數S303和DC系數S304,并將AC系數S303提供給量化單元305,將DC系數S304提供給DC系數量化單元307。
量化單元305適合于接收AC系數S303和量化步長寬度信號S18,并按照信號S18對信號S303進行量化以產生量化AC系數,并將量化AC系數作為信號306提供給模塊化電路309。在MPEG數據情況下,通常進行的是線性量化。
內部dc精度信號S26(它代表以DC系數量化位數表示的規定的編碼精度)被加在輸入端315,然后加在量化步長發生器308上。
量化步長發生器308的作用是產生一個代表按照內部dc精度碼S26的量化步長的信號S308并將信號S308并將信號S308提供給DC系數量化單元307。當內部dc精度碼S26具有值‘00’、‘01’、‘10’、或‘11’時,量化步長信號S308規定,要分別用8位、9位、10位或11位精度對DC系數進行編碼。
DC系數量化單元307適合于根據量化步長信號S308對DC系數S304進行線量化。對線性量化結果所采用的舍入方法是將至少為0.5的一個小數計為一個整數,而其余的小數省去。舍入后的線性量化DC系數作為量化系數S307提供給模塊化電路。
被量化單元305量化的AC系數S306和由量化單元307量化的DC系數S307被模塊化電路309分成一個8×8系數的模塊,然后通過端部310將該模塊作為分塊量化系數S4提供給圖10所示的掃描轉換器116。
所以,當移動補償方式信號S14表示為圖象內編碼(圖象內預測)方式時,DC系數以內部dc精度信號S26所規定的編碼精度,在DC系數量化單元307中被量化。
圖12表示反量化器118的一個具體實施例。
由圖可以看出,反量化器118包括輸入端500、507、511、512,開關501,反量化單元502、503,DC系數量化單元504,模塊化電路505,DC/AC系數分離器506,內標記發生器508,反量化步長發生器509及輸出端510。
移動補償方式信號S14被提供給輸入端507,輸入端507將信號S14加在內標記發生器508上。內標記發生器508適合于當移動補償方式信號S14表明要進行圖象內編碼時,設置一個內標記S501。例如,如果內標記S501通常為邏輯值0的話,則在要作圖象內編碼時,發生器508將信號S501置為1。
將還原的序列信號S6,即,一個8×8的DCT系數模塊,提供給輸入端500,輸入端500再將該信號S6加在開關501上。開關501的作用是當內標記D501表示要進行向前、向后或雙向編碼時,選擇極點A,因此,DC系數S6作為信號S502提供給反量化單元502。開關501的作用還有,當內標記S501表明要進行圖象內編碼時,選擇極點B。在這種情形中,將DCT系數S6提供給DC/AC系數分離器506。
量化步長寬度信號D18,更準確起見,反量化步長寬度信號S18被提供給輸入端511,然后加在反量化單元502、503上。
量化單元502適合于接收DCT系數信號S502和量化步長寬度信號S18,并按照信號S18對信號S502進行反量化以產生還原的DC系數,并將還原的DCT系數作為信號S505提供給模塊化電路505。
模塊化電路505的作用是將還原的系數S505分成一個8×8系數模塊,并提供給輸出端510,以便作為還原系數信號S7用于圖10所示的反DCT電路119。在MPEG數據情形中,通常在反量化單元502中進行線性反量化,并在由線性反量化得到的結果中加上一個等于反量化步長S18一半的值作為修正值。
DC/AC系數分離器506可用來將DCT系數S6分為AC系數S503和DC系數S504,并將AC系數S503提供給反量化單元503,而將DC系數S504提供給DC系數量化單元504。
反量化單元503適合于接收AC系數S503和量化步長寬度信號S18,并根據信號S18對信號S503進行反量化以產生還原的AC系數,并將還原的AC系數作為信號S506提供給模塊化電路505。在MPEG數據情形中,通常進行的是線性反量化。
將代表以DC系數的量化位數表示的一種規定編碼精度的內部dc精度信號S26提供給輸入端512,然后加在反量化步長發生器509上。
反量化步長發生器509的作用是根據內部dc精度碼S26產生一個代表反量化步長的信號S508,并將信號S508提供給DC系數反量化單元504,當內部dc精度碼S26具有值‘00’、‘01’、‘10’或‘11’時,反量化步長信號S508則規定,DC系數要分別用8位、9位、10位或11位精度進行編碼。
DC系數反量化單元504適合于根據反量化步長信號S508對DC系數S504進行線性反量化。將還原的DC系數作為還原系數S507提供給模塊化電路505。
模塊化電路505將由反量化單元503還原的AC系數S506和由反量化單元504還原的DC系數S507分成一個8×8的系數模塊,然后將該模塊作為還原系數S7通過端510輸出到圖10所示的反DCT電路119。
圖13表示差分器125的一個具體實施例。
可以看出,差分器125包括輸入端200、203、421、423、425、427,模塊計數器201、標記發生器202、開關400、403、404、407、410,DC/AC系數分離器410,模塊化電路402、寄存器405、411、寄存器初始值發生器406,或門408、內標記發生器409、減法器412、413、以及輸出端420。
將代表量化DC系數的順序系數信號S5提供給輸入端200,輸入端200再將其提供給模塊計數器201和開關400。
將宏模塊起始標記S31提供給輸入端203,輸入端203將其加在模塊計數器201上。
模塊計數器201的作用是記錄每個系數信號S5的宏模塊中的模塊數以產生一個模塊計數信號S201并將信號S201提供給標記發生器202。特別是,當提供了每個宏模塊中的各個模塊Y0、Y1、Y2、Y3、Cb、Cr時,模塊計數S201具有值1、2、3、4、5、6當設置宏模塊標記S31時,模塊計數器201被復位。
標記發生器202適合于當模塊計數S201的值為4或更小時,產生(設置)一個Y標記S202以表示將提供亮度Y模塊。發生器202還適合于當模塊計數值S201為5時,設置一個Cb標記S203以表示將提供色度Cb模塊。發生器202還適合于當模塊計數S201的值等于6時產生一個Cr標記S204以表示將提供色度Cr模塊。發生器202將信號S202、S203、S204提供給開關403、404。
將移動補償方式信號S14提供給輸入端421。輸入端421將該信號加在內標記發生器409上。
內標記發生器409的作用是當移動補償方式信號S14表示圖象內編碼(圖象內預測)方式時,設置一個內標記S406值,例如1。發生器409在當信號S14不表示圖象內編碼,即,表示向前、向后或雙向編碼時,將提供邏輯值為0的內標記S406。將內標記S406提供給開關400和410。
開關400的作用是當內標記S406分別具有邏輯值0或1時,選擇極點A或B,以便當表示非圖象內編碼時,將系數信號S5作為信號S401提供給模塊化電路402,而當表示為圖象內編碼時,將系數信號S5提供給DC/AC系數分離器401。
模塊化電路402適合于將量化系數S401分成8×8的一個系數模塊,并將分塊的系數提供給輸出端420以便作為差分信號S16用于圖10所示的VLC單元126。
DC/AC系數分離器401適合于將系數信號S5分成提供給模塊化電路402的量化AC系數S402,和提供給開關403和減法器413的量化DC系數S403。
開關403、寄存器405、開關404及減法器413的作用是對構成宏模塊的相鄰模塊取差分,如對照圖4A和圖5A所描述的。四個亮度模塊Y0~Y3和二個色度模塊Cb和Cr彼此獨立地進行差分處理。
更特別地,當標記發生器202設置Y標記S202并將Cb和Cr標記S203和S204置0、表明量化DC系數S403來自一個亮度模塊時,開關403和404分別選擇極點C和C'以便將量化DC系數S403提供給寄存器405中的一個Y寄存器。Y寄存器405將亮度數延遲一段對應于一個模塊的時間,然后,將這些系數提供給開關404的一個極點C',極點C'將系數作為一個延遲信號提供給減法器413。
減法器413的作用是接收延遲信號S404和量化DC系數S403,并從信號S403中減去信號S404(S403-S404)以產生代表兩相鄰色度模塊的DC系數之差的一個信號S405。減法器413將差分信號S405提供給模塊化電路402。
當標記發生器202將Cb標記S203置1而將Y和Cr標記S202、S204置0、表示量化DC系數S403來自一個色度模塊時,開關403和404分別選擇極點D和D',以便將量化DC系數S403提供給寄存器405中的一個Cb寄存器。Cb寄存器405將色度Cb系數延遲一段對應于一個宏模塊的時間,然后,將這些系數提供給開關404的一個極點D',極點D'將系數作為一個延遲信號提供給減法器413。按照類似于上述對亮度Y模塊描述的方式,減法器413產生一個表示在兩個相鄰的宏模塊中的色度模塊之間的DC系數之差的信號S405。
當標記發生器202將Cr標記S204置1而將Y和Cb標記S202、S203置0、表示量化DC系數S403來自一個色度模塊Cr時,開關403和404分別選擇極點E和E'。色度Cr系數被延遲一個宏模塊的時間,然后被加在減法器413上。
模塊化電路402還利用來自DC/AC系數分離器401的量化AC系數S402將一個模塊的差分DC系數分塊,并將結果作為信號S24提供給圖10中的VLC單元126。
當由圖10中的MB計數器120產生的被編碼的宏模塊的MB地址信號S27沒有傳送相繼的值或DC系數屬于一片層中的第一宏模塊時,則Y、Cb和Cr寄存器405被寄存器初始值發生器406復位到一個初始值413。
將代表DC系數編碼精度的內部dc精度碼S26提供給輸入端427,輸入端427將其加在寄存器初始值發生器406上。
寄存器初始值發生器406可用來按照下表中所示的內部dc精度碼S26為Y、Cb和Cr寄存器405產生一個初始值S413。
S26所要求的精度S413
008位128
019位256
1010位512
1111位1024
當控制信號S420分別具有(例如)0值或1值時,開關407處于關或開狀態。當開關407打開到開狀態時,初始值S413被加在寄存器405中的每一個上。當經過圖象內編碼處理的多個MB的MB地址信號S27沒有傳送相繼值或者DC系數屬于一片層中的第一宏模塊時,控制信號S420將開關407置于開狀態。
控制信號S420可以按下列方式產生。
將宏模塊地址信號S27提供給輸入端423,輸入端將其加在開關410和減法器412上。開關410的作用是當內標記S406表示圖象內編碼時,將MB地址S27提供給寄存器411。寄存器411可用來將MB地址S27延遲一段對應于一個MB的時間,并將延遲信號S407提供給減法器412。
減法器412的作用是從信號S27中減去信號S407以產生一個信號S408=S27-S407,并將代表相鄰宏模塊之間的地址之差的信號SS408加在或門408的一個輸入端。
將片層起始標記S23提供給輸入端425,輸入端425將其加在或門408的另一個輸入端。
或門408的作用是當差分信號S408大于1(S408>1)或片層起始標記S23置位時,輸出邏輯值1。或門408的作用還有按另外的方式輸出一個邏輯值0。
如上所述,差分器125根據可在每個視頻序列、GOP、圖象或片層單元中被改變的DC系數所要求的編碼精度對DC系數進行差分。
圖13表示VLC編碼器126的一個具體實施例。
可以看出,VLC編碼器126包括輸入端700、721、723、725、模塊計數器701、標記發生器702、DC/AC系數分離器703、二維可變長度編碼器704、DC系數可變長度編碼器705,可變長度編碼表變址器706、可變長度編碼表存儲器707,DC/AC系數多路轉換器708,內標記發生器709,開關710及輸出端732。
將差分系數信號S24加在輸入端700,輸入端700將其中加在模塊計數器701和開關710上。
將宏模塊起始標記S31提供給輸入端725,輸入端725將其加在模塊計數器701上。
模塊計數器701的作用是記錄每個差分系數信號S24宏模塊中的模塊數以產生一個模塊計數信號S701并將信號S701提供給標記發生器702。特別是,當提供了每個宏模塊中的各個模塊Y0、Y1、Y2、Y3、Cb、Cr時,模塊計數S701具有值1、2、3、4、5、6。當宏模塊起始標記S31置位時,模塊計數器701被置0。
標記發生器702適合于當模塊數S701的值為4或更小時,產生(設置)一個Y標記S702以表示將提供一個亮度Y模塊。發生器702還適合于當模塊計數S701的值等于5時,設置一個Cb標記S703以表示將要提供色度Cb模塊,發生器702還適合于當模塊計數S701的值等于5時,設置一個Cr標記S704以表示將要提供一個色度Cr模塊。發生器702將信號S702、S703、S704提供給可變長度編碼表變址器706。
將移動補償方式信號S14提供給輸入端721,輸入端721將其加到內標記發生器709。
內標記發生器709的作用是當移動補償方式信號S14表示圖象內編碼(圖象內預測)方式時,將內標記S705設置成為一個值,如1。當信號S14不表示圖象內編碼,即,表示向前、向后、或雙向編碼時,發生器709將內標記S705以邏輯值0提供給開關710。
開關710的作用是當內標記S705分別具有邏輯值0或1時,選擇極點A或B,以便當表示非圖象內編碼時,將差分系數信號S24作為信號S706提供給二維可變長度編碼器704,而當表示圖象內編碼時,將差分系數信號S24提供給DC/AC系數分離器703。
二維可變長度編碼器704適合于采用一種可變長度碼(如著名的二維Huffman碼)對差分DCT系數S706進行編碼以產生一個VLC編碼信號S709,并將信號S709輸出到DC/AC系數多路轉換器708。
DC/AC系數分離器703的作用是將DCT系數S24分成提供給二維可變長度編碼器704的AC系數S707和提供給DC系數可變長度編碼器705的DC系數S708
二維可變長度編碼器704的作用還有對AC系數進行編碼并將編碼后的AC系數作為VLC編碼信號S709的一部分輸出。
DC系數可變長度編碼器705可用來(例如)根據程序1所示的計算機程序對DC系數S708進行編碼,并將編碼后的DC系數作為信號S710提供給DC/AC系數多路轉換器708。
可變長度編碼表存儲器707的作用是存儲由編碼器705所采用的表。這些表可以是如圖9A~9C中所示。
更特別地,可變長度編碼器705利用DC系數信號S708中的DC系數查尋圖8A中所示表的長度,即,位數,和一個對應于差分DC系數的碼。然后,利用在表中找到的長度去查尋圖8B或8C中所示表的相應的可變長度碼。將從圖8A所示表中查出的碼與從圖8A和圖8B之一的表中查出的VLC碼并置以產生一個DC系數的VLC碼信號S710,并輸出到DC/AC系數多路轉換器708。
將內部dc精度信號S26提供給輸入端723,輸入端723將加在可變長度編碼表變址器706上。
可變長度編碼表變址器706的作用是根據內部dc精度碼S26控制存儲器707以便只將圖8A中所示表的所要求的部分提供給可變長度編碼器705。特別是,當內部dc精度碼S26具有值‘00’、‘01’、‘10’或‘11’時,變址器706則控制存儲器707只將圖8A所示表中分別對應于長度值0~8、0~9、0~10、0~11位的部分輸出。
變址器706還可以控制存儲器707,將圖8A所示的全部表提供給可變長度編碼器705,而不管內部dc精度碼S26的值為多少。但是,這樣就可能造成將表中的不必要部分提供給可變長度編碼器705,從而可能會增加編碼時間。所以,希望只輸出圖8A所示表中所要求的部分。
變址器706的作用還有當Y標記S702置位時,控制存儲器707將圖8B中所示的表提供給編碼器705,這表示DC系數S708對應于一個亮度模塊。變址器706的作用還有當Cb標記S703或Cr標記S704置位時,控制存儲器707將圖8C中所示的表提供給編碼器705,這表明DC系數S708對應于一個色度模塊。所以,存儲器707只將所要求的圖8B和圖8C所示的表中的一個提供給編碼器705。
DC/AC系數多路轉換器708的作用是將代表VLC編碼非圖象內系數和VLC編碼圖象內AC系數的信號709與代表VLC編碼圖象內DC系數的信號710進行多路轉換以產生一個輸出信號,并將該輸出信號提供給一個輸出端732,并由此輸出到圖10所示的緩沖存儲器127。
如以上參照圖10所說明的,設置視頻序列起始標記S20、GOP起始標記S21、圖象起始標記S22及片層起始標記S23中的一個會促使VLC編碼器126產生一個分別對應于視頻序列、GOP、圖象及片層的起始碼。多路轉換器708還將經適當編碼的起始碼、用于首部的控制信息信號S25、和移動向量信號S13以及量化步長寬度信號S18和宏模塊地址信號S27進行多路轉換,并將該多路轉換信息提供給輸出端732。
下面將參照圖15~17更詳細地描述按照本發明的解碼裝置。
圖15表示本發明的一個解碼裝置,它包括輸入端150、緩沖器151、VLC解碼器152、反差分器153、反掃描轉換器154、反量化器155、反DCT電路156、加法器157、字段存儲器158、移動補償器159、輸出端160、字段存儲控制器161和控制信息存儲器162。
將通過例如圖10所示的編碼裝置進行編碼的位流提供給輸入端150,并由此加到緩沖器151上,緩沖器151的作用是存儲該編碼位流,然后將其提供給VLC解碼器152。
如參照圖2所作的說明,位流包括6層視頻序列、GOP、圖象、片層、宏模塊(MB)和模塊。編碼位流在每層部分的開始都包括一個起始碼,隨后是適當的首部信息。
圖10的編碼裝置輸出一個位流,其中DCTDC分量系數的編碼精度可以根據所要求的圖象質量,在視頻序列、GOP、圖象或片層單元中從一種精度(量化位數)轉換到另一種精度。因此,圖15所示的解碼裝置接收以視頻序列、GOP、圖象或片層單元中的量化位數表示的解碼精度,使得可以適當地改變直流分量系數的解碼方法。
更具體地說,在序列、GOP、圖象或片層的首部,作為有關DDC系數解碼精度的信息中包括了以量化位數表示的一個二位內部dc精度碼。編碼裝置將首部作為位流的一部分輸出。圖12所示的VLC解碼器152接收序列、GOP、圖象或片層的首部,并對其中所包含的內部dc精度碼進行解碼得到信號S63,以獲得將要用在DCTDC系數中的解碼精度。VLC解碼器152將內部dc精度碼S63提供給反差分器153和反量化器155。
VLC解碼器152可用來檢測數位流中代表視頻序列的開始部分的起始碼,并將一個序列起始標記S100置位,然后對可變長度編碼序列的首部信息進行解碼。解碼器152還可用來檢測在位流中表示GOP、圖象或片層的開關的起始碼,并使一個GOP起始標記S101,一個圖象起始標記S102,或一個片層起始標記S103置位,并利用可變長度編碼方法分別對GOP、圖象或片層的首部信息進行解碼,解碼器152將解碼后的首部信息提供給控制信息存儲器162。
控制信息存儲器162的作用是將其中所存儲的控制信息作為控制信息信號S114提供給動態視頻圖象解碼裝置中的各個不同模塊。
VLC解碼器152還可用來檢測位流中的一個宏模塊的起始并在每個這種檢測中將一個MB起始標記S104置位。解碼器152對MB首部信息進行解碼以獲得表示MB在待解碼圖象中的位置的MB地址。VLC解碼器152還可用來對位流中的編碼圖象數據進行解碼以產生一個輸出信號S50,一個量化步長(或嚴格地講,反量化步長)信號S57,一個移動向量信號S61及移動補償方式信號S62。解碼器152將信號S50提供給反差分器153。下面將參考圖16詳細說明VLC解碼器152。
反差分器153適合于按照與圖10中的差分器125互補的方式工作以產生一個量化的DCT系數信號S51并將該信號S51提供給反掃描轉換器154。下面將參照圖17詳細說明反差分器153。
反掃描轉換器154適合于按照之字形方式以從低頻系數到高頻系數的順序對量化DCT系數S51進行掃描以產生信號S52,并將信號S52輸出到反量化器155。
反量化器155適合于接收反量化步長信號S57并在信號S52上完成反量化過程以產生一個模塊DCT系數S53,并將信號S53提供給反DCT電路156,反量化器155與圖12中詳細表示的反量化器118具有相同結構。
反DCT電路156的作用是在信號S53的系數上進行反DCT變換以產生一個信號S54,并將信號S54提供給加法器157。
移動補償器159按照類似于圖10中所示的移動補償器122的方式起作用。移動補償器159從存儲在字段存儲器158中的一個已解碼圖象中產生一個預測的圖象S56,并將該預測圖象S56提供給加法器157。
特別是,在向前、向后或雙向預測模式中,移動補償器159將字段存儲器158的讀出地址從對應于被輸出到加法器157的差分數據S54的模塊的一個位置移動一段對應于移動向量S61的位移。然后,移動補償器159在移動后的讀出地址處讀出圖象數據并將其作為預測圖象S56提供給加法器157。在包含16×16象素的每個模塊單元中一般都進行移動補償。
在圖象內預測方式中,移動補償器不向加法器157提供預測圖象S56,因為信號S54代表的是不受控制的圖象數據,即,沒有相對于其它圖象進行預測性編碼的圖象數據。
加法器157的作用是在逐個象素基礎上,通過將差分信號S54與預測圖象S56相加,對加在其上的數據進行預測性解碼以產生解碼后的圖象數據S55,并將圖象數據S55提供給字段存儲器158。
字段存儲器158的作用是在由圖象命令信號S59所規定的地址處存儲解碼圖象數據S55,并根據一個移動補償參考圖象命令信號S58將存儲的圖象數據輸出到移動補償器159,所述信號158用來產生一個預測圖象,而該圖象則被用來對按向前、向后或雙向預測編碼方式進行編碼的圖象進行解碼。存儲器158的作用還有在由一個輸出圖象命令信號S60確定的時刻,將所存儲的圖象數據作為讀出圖象輸出到輸出端160。在字段存儲器158中只存儲了Ⅰ圖象和B圖象的數據,即,其中未存儲B圖象的數據。這是因為在向前、向后或雙向預測解碼過程中不使用B圖象數據的緣故。
字段存儲控制器161按照和圖10中所示的字段存儲單元控制器124的相同方式起作用。控制器161產生與圖象起始標記S102同步的移動補償參考圖象命令信號S58,圖象命令信號S59及輸出圖象命令信號S60。
圖16表示VLC解碼器152的具體實施例。
可以看出,VLC解碼器152包括輸入端800、821、823、825、模塊計數器801、標記發生器802、DC/AC系數分離器803、VLC表變址器806、VLC表存儲器807、模塊化電路808、內標記發生器809、輸出端827和開關830。
在圖16中未示出的處理電路中,從由緩沖器151所提供的位流中提取出與圖象數據相對應的部分。然后將提取出的部分作為信號S811提供給輸入端800,再由輸入端800加在開關830上。
將移動補償方式信號S62提供給輸入端821,再由輸入端821加在內標記發生器809上。
內標記發生器809的作用是當移動補償方式信號S62表明是圖象內編碼(圖象內預測)方式時,給內標記S805設置一個值,例如1。當信號S62表明不是圖象內編碼,即,表明是向前、向后或雙向編碼時,發生器809將邏輯值為0的內標記S805提供給開關830。
開關830的作用是當內標記S805分別具有邏輯值0或1時,選擇極點A或B,以便當表明為非圖象內編碼時,將編碼圖象數據S811的提取部分作為信號S806提供給二維VLC解碼器804,而當表明是圖象內編碼時,將信號S811提供給DC/AC系數分離器803。
二維VLC解碼器804適合于采用一種可變長度碼(如著名的二維Huffmam碼)對編碼系數S811進行解碼以產生信號S809,并將信號S809輸出到模塊化電路808。
DC/AC系數分離器803的作用是將信號S811分成提供給二維VLC解碼器804的AC系數S807,和提供給DC系數VLC解碼器805的DC系數S808。
解碼器804的作用還有對編碼后的AC系數進行解碼,并將解碼后的AC系數作為信號S709的一部分輸出。
DC系數VLC解碼器805可用來(例如)根據圖程序2中所示的計算機程序對DC系數S808進行解碼,并將解碼后的DC系數作為信號S810提供給模塊化電路808。
VLC表存儲器807的作用是存儲解碼器805采用的表。這些表可如圖8A~8C所示。
特別是,解碼器805利用DC系數信號S808中的DC系數查尋圖8A所示表的長度(即,位數)以及一個對應于DC系數的碼。然后再利用從表查出的長度去查尋圖8B或8C中所示表的相應的可變長度碼。將從圖8A中所示表中查出的碼與從圖8A和8B之一所示的表中查出的碼并置以產生一個輸出到模塊化電路808的信號S810。
模塊化電路808的作用是接收來自解碼器804、805的系數以便將這些系數變成8×8系數的模塊,并將這些系數作為信號S50提供給輸出端827以便用于圖15的反差分器152。
模塊化電路808的作用還有在每次向輸出端827輸出一個模塊時,即將一個標記S820置位。
將MB起始標記104提供給輸入端823,并由此加在模塊計數器801上。
模塊計數器801適合于接收標記S820,記錄該標記S820置位的次數以產生一個模塊計數信號S801,并將模塊計數S801提供給標記發生器802。當MB起始標記S104被置位時,模塊計數器801被復位到一個整數初始值。
標記發生器802適合于當模塊計數S801的值為4或更小時,產生(設置)一個Y標記S802以表示將要提供一個亮度Y模塊。當模塊計數S801的值等于5時,發生器802還適合于設置一個Cb標記S803以表示將要提供色度Cb模塊。當模塊計數S801的值等于6時,發生器802還適合于設置Cr標記S804以表示將要提供的是色度Cr模塊。發生器802將信號S802、S803、S804提供給VLC表變址器806。
將內部dc精度碼S63提供給輸入端825并由輸入端加在VLC表變址器806上。
VLC表變址器806的作用是根據內部dc精度碼S63控制存儲器807以便只將圖8A所示表中所要求的部分提供給解碼器805,特別是,當內部dc精度碼S63具有值‘00’、‘01’、‘10’或‘11’時,變址器806則控制存儲器807只輸出圖8A所示的表中分別對應于長度值0~8、0~9、0~10、0~11位的那部分。
變址器806還控制存儲器807,將圖8A所示的全部表提供給解碼器805,而不管內部dc精度碼S63的值為多少。但是,這就有可能造成將表的無用部分提供給解碼器805,從而可能會增加編碼時間。所以,希望只輸出圖8A所示表中所要求的部分。
變址器806的作用還有當Y標記S802置位時,控制存儲器807將圖8B所示的表提供給解碼器805,以表明DC系數S808對應于一個亮度模塊。變址器806的作用還有當Cb標記S803或Cr標記S804置位時,控制存儲器807將圖9C所示的表提供給編碼器805,以表示DC系數S808對應于一個色度模塊。所以,存儲器807只將圖8B和圖8C所示的表中所要求的一個輸出到編碼器805。
圖17表示反差分器153的一個具體實施例。
可以看出,反差分器153包括輸入端600、621、623、625、627、629、DC/AC系數分離器601、模塊化電路602、模塊計數器603、標記發生器604、寄存器605、611、初始值發生器606、開關607、610、614、615、616、或門608、內標記發生器609、減法器612、加法器613及輸出端620。
將由反VLC單元152輸出的量化DCT系數S50提供給輸入端600,輸入端600將信號S50提供給模塊計數器603和開關610。
將MB起始標記S104提供給輸入端625,并由此加在模塊計數器603上。
模塊計數器603的作用是記錄下信號S50的每個宏模塊中的模塊數以產生一個模塊計數信號S601,并將信號S601提供給標記發生器604。特別是,當提供的是每個宏模塊中的相應模塊Y0、Y1、Y2、Y3、Cb、Cr時,模塊計數S601具有值1、2、3、4、5、6。當宏模塊標記S104置位時,模塊計數器603復位。
標記發生器604適合于當模塊計數S601的值為4或更小時,產生(設置)一個Y標記S602以表明將要提供一個亮度Y模塊。當模塊計數S601的值等于5時,發生器604還適合于設置一個Cb標記S603以表明將要提供一個色度Cb模塊。當模塊計數S601的值等于6時,發生器604還適合于設置一個Cr標記S604,以表明將要提供色度Cr模塊。發生器604將信號S602、S603、S604提供給開關615、616。
將移動補償方式信號S62提供給輸入端621,再由輸入端621加在內標記發生器609上。
內標記發生器609的作用是當移動補償方式信號S62表示圖象內編碼(圖象內預測)方式時,給內標記S606設置一個值,例如1。當信號S62不表示圖象內編碼,即,表示向前、向后或雙向編碼時,發生器609以邏輯值0提供內標記S606。將內標記S606提供給開關610和614。
開關610的作用是當內標記S606分別具有值0或1時,選擇極點A或B,使得當表示非圖象內編碼時,將系數信號S50作為信號S609提供給模塊化電路602,而當表示為圖象內編碼時,將系數信號S50提供給DC/AC系數分離器601。
模塊化電路602適合于將系數S609分成一個8×8的系數模塊,將將該分塊系數提供給端620以便作為信號S51用于圖15所示的反掃描轉換器154。
DC/AC系數分離器601適合于將系數信號S50分成提供給模塊化電路602的AC系數S610,和提供給加法器613的DC系數S605。
加法器613的作用是接收一個延遲信號S615和量化DC系數信號S605,并將信號S605、S615相加以產生一個代表原始DC系數的信號S611。四個亮度模塊Y0~Y3和二個色度模塊Cb和Cr彼此獨立地進行反差分處理。加法器613將信號S611提供給模塊化電路602和開關616。
加法器613,開關615、616及寄存器605的作用是對接收的系數實行反差分運算,如參照圖4B和5B所描述過的。
特別是,當標記發生器604將Y標記S602置1而將Cb和Cr標記603和604置0從而表明DC系數S605來自亮度模塊時,開關615和616分別選擇極點C和C',以將DC系數S611提供給寄存器405中的Y寄存器。Y寄存器405將亮度系數延遲對應一個模塊的一段時間,然后將這些系數提供給開關615的極點C,再由極點C將系數作為延遲信號S615提供給加法器613。
當標記發生器604將Cb標記S603置1而將Y和Cr標記S602、S604、置0從而表明DC系數S605來自色度Cb模塊時,開關615和616分別選擇極點C和C',以將DC系數S611提供給寄存器605中的Cb寄存器。Cb寄存器605將色度Cb系數延遲對應于一個宏模塊的一段時間,然后,將這些系數提供給開關615的一個極點D,再由極點D將該系數作為延遲信號提供給加法器413。
當標記發生器604將Cr標記S604置1而將Y和Cb標記S602和S603置0從而表明DC系數S605來自一個色度Cr模塊時,開關615和616分別選擇極點E和E'。色度Cr系數被延遲一個宏模塊的時間,然后被加在加法器613上。
模塊化電路602還將具有來自DC/AC系數分離器601的AC系數S610的一個模塊中的DC系數分塊,并將結果作為信號S51提供給圖15所示的反掃描轉換器154。
當被解碼的宏模塊的MB地址信號S64不傳送相繼數值或DC系數屬于一個片層中的第一宏模塊時,由寄存器初始值發生器606將Y、Cb和Cr寄存器605復位成一個初始值S613。
將代表DC系數編碼精度的內部dc精度碼S63提供給輸入端629,并由輸入端629將其加在寄存器初始值發生器606上。
寄存器初始值發生器606可用來根據如在上面就圖13所示的寄存器初始值發生器406而提出的表中所示的內部dc精度碼S63,為Y、Cb和Cr寄存器405產生初始值S613。
開關607在控制信號S620分別具有值,例如,0或1時,被設置在關或開狀態。當開關607打到打開狀態時,就將初始值S613加在每個寄存器405上。當經過圖象內解碼處理的MB的MB地址中的第一宏模塊時,控制信號S620使開關607置于打開狀態。
控制信號S620可按下列方式產生。
將宏模塊地址信號S64提供給輸入端623,并由輸入端623將其加在開關614和減法器612上。開關614的作用是當內標記S606表示圖象內編碼時,將MB地址S64提供給寄存器611。寄存器611可用來將MB地址S64延遲對應于一個宏模塊的一段時間,并將延遲信號S607提供給減法器612。
減法器612的作用是從信號S64中減去信號S607以產生一個信號S608=S64-S607,并將代表相鄰宏模塊之間的地址之差的信號S608加在或門608的一個輸入端。
將片層起始標記S103提供給輸入端627,再由輸入端將其加在或門608的另一個輸入端上。
或門608的作用是當差分信號S608大于一個整數(S608>1)或片層起始標記S103置位時,輸出邏輯值1。或門608的作用是按其它方式輸出邏輯值0。
本發明還可用于具有8位量化位數以外的編碼精度進行編碼的動態視頻圖象信號。
當由在編碼裝置中的一個輸入信號的DCT處理過程中得到的DC分量系數值的范圍為N位時,且M位編碼精度(1≤M≤N)由內部dc精度碼所確定時,則在圖10所示的編碼裝置的量化器115中所采用的量化長寬度被設置為2N-M,而圖13中所示的初始值S413被設置為2M/2。由圖10中的VLC單元126所進行的VLC處理過程是依據取代圖8B和8C的圖18A和圖18B所示表中得出的數據進行的。圖18A、18B的表中的數據不必是固定不變的,而是變量,這些變量產生一個優選的編碼后壓縮系數。變量的值通過對輸入圖象信號的統計觀察來確定。
下面將說明對利用上述方法編碼的圖象進行解碼。
在圖15所示的解碼裝置的反量化器115中,采用值2N-M作為反量化步長寬度,將值2M/2作為圖17所示的一個初始值S613,用于反差分處理。由VLC解碼器152所進行的反VLC處理是依據圖18A、18B而不是圖8B、8C表中的數據進行的。
現在將參照圖19~20說明上述光盤的制造方法。
如圖19所示,準備一個由玻璃或類似物制造的原始盤。然后在原始盤的表面上涂敷一般由光致抗蝕劑構成的記錄材料,從而產生一個用于記錄的原始盤。
如圖10所示,將由上述編碼裝置(或視頻編碼器)進行的編碼處理中所產生的圖象數據(或視頻數據)存儲在一個暫時緩沖器中。同時,將由聲頻編碼器進行的編碼處理中所產生的聲頻數據存儲在另一個暫時緩沖器上。多路轉換器MUX用一個同步信號對存儲在暫時緩沖器中的圖象及聲頻數據進行多路轉換。然后由誤差修正電路ECC將誤差修正碼與多路轉換器的輸出相加。結果,讓誤差修正電路ECC的輸出在調制器MOD中進行預定調制。由MOD調制器輸出的調制后的數據最終按某種格式暫時存儲在一個磁帶上以便產生所需軟件。
如果必要的話,在預控制過程中對軟件進行編輯以產生一個可記錄在光盤中的格式化信號。如圖9所示,按照該格式化信號(也被稱作記錄信號)進行調制以后,則將一個激光束加在原始盤上的光致抗蝕劑中。以此,光致抗蝕劑經過一個曝光過程以記錄由其上的記錄信號所傳送的信息。
當原始盤被顯影時,其表面會出現凹坑。然后,一般讓以該方式處理的原始盤經過電成型等處理并有可能將凹坑從玻璃的原始盤轉移到一個由金屬制成的原始盤上。還要從金屬原始盤中生成一個金屬模以便被用作模具。
然后將一種材料,如PMMA(丙烯酸酯)和PC(聚碳酸酯),通過一個注入過程或類似過程倒入模具中并在其中硬化。作為一種可替換情形,可在金屬模具上涂覆一層被稱作2P的紫外線硬化樹脂,然后將紫外線施加在樹脂上以使其硬化。以此方式,將凹坑從金屬模具上轉移到一個復制品上,紫外線使樹脂硬化。
結果,通過沉積、噴射或類似過程,在到目前為止所描述過程中所產生的復制品上形成一個反射膜。作為一種替換,還可以采用一種旋涂方法產生這種反射膜。
然后,讓原始盤經過機械處理以修整原始盤的內徑和外徑,或經過其它必要處理,例如,將該原始盤裝在另一個原始盤上。此外,在盤上固定一個標記和一個插孔,最后,將原始盤放入盒中,完成制作光盤的全過程。
當沒有規定由上述編碼裝置進行編碼的圖象的內部dc精度碼時,可以采用預先根據所要求的圖象質量確定的DC分量系數精度具體規定地DC分量系數進行編碼的方法和擴充序列單元中的可變長度表的方法。例如,在具有一個0~2047范圍內的值的DCTDC分量系數的情況下,有必要為系數規定一個11位的傳輸精度,以便進行對要求的圖象質量來說所希望的無損編碼。0~2047的范圍對于一個具有8位精度的輸入圖象信號來說,是從一個MPEG系統的DCT模塊中輸出的一個最大范圍。
在該實施例中,根據預測圖象產生差分數據和數據的DCT處理均是在半幀單元中進行的。但是,為了增加編碼后壓縮系數,可以將處理過程從半幀單元轉換到幀單元。通過轉換處理單元,則可以在幀單元中進行依據預測圖象差分數據的產生和數據的DCT處理。
雖然在此已經參照附圖詳細描述了本發明的說明性的實施例及其各種改進,但是應該理解的是,本發明并不局限于該明確的實施例和所述的改進,而且,一個普通技術人員可以從中進行各種變化和改進而不會脫離如在所附的權利要求書中所限定的本發明的范疇或實質。
圖表1A
pictuer0|
picture_start_code32bslbf
tempoeal_reference10uimsbf
if(sscalable)|
lower_picture_reference10uimsbf
|
picture_coding_type3uimsbf
vbv_delay16uimsbf
if(picture_coding_type==2‖picture_coding_type==3)|
full_pel_forward_vector1
forward_f_code3uimsbf
|
if(picture_coding_type==3)|
full_pel_backward_vector1
backward_f_code3uimsbf
|
while(nextbits()==
) |
extra_bit_picture1"1"
extra_information_picture8
|
extra_bit_picture1"0"
next_start_code()
if(nextbits()==extension_start_code)|
extension_start_code32bslbf
if(picture_coding_type==2‖picture_coding_type==3)|
forward_vertical_f_code3uimsbf
|
if(picture_coding_type==3)|
backward_vertical_f_code3uimsbf
|
picture_structure2uimsbf
interlace_progressive_flag2uimsbf
if(picture_structure=='frame_picture'&&
interlace_progressive_flag=='interlace')|
top_field_first_flag1uimsbf
number_of_fields_displayed_code3uimsbf
|
forward_reference_fields2uimsbf
backward_reference_fields2uimsbf
if(chroma_format=="01") | /*4:2:0*/
chroma_postprocessing_type1uimsbf
| else |
reserved1uimsbf
|
圖表1B
if(video_format!='000') |/*composite input*/
v_axis1uimsbf
field_sequence3uimsbf
sub_carrier1uimsbf
burst_amplitude7uimsbf
sub_carrier_phase8uimsbf
|
for(i=0;i<number_of_fields_displayed;i++)|
pan_horizontal_left_upper_offset16 maybe subpe uimsbf
required
pan_vertical_left_upper_offset16 maybe subpe uimsbf
required
|
if(sscalable ‖ fscalable)|
overlap_horizontal_left_upper_offset17simsbf
overlap_vertical_left_upper_offset17simsbf
if(interlaced && picture_structure==frame_structure)|
overlap_horizontal_left_upper_offset17simsbf
overlap_vertical_left_upper_offset17simsbf
|
|
intra_dc_precision 2 uimsbf
qscale_type1uimsbf
reserved /*byte align*/
while(nextbits()!='0000 0000 0000 0000 0000 0001')|
picture_extension_data8
|
next_start_code()
|
if(nextbits()==user_data_start_code)|
user_data_start_code32bslbf
while(nextbits()!='0000 0000 0000 0000 0000 0001')|
user_data8
|
next_start_code()
|
if(picture_coding_type!=5)|
do|
slice()
|
|
| while(nextbits()==slice_start_code)
|
|
權利要求
1、一種視頻信號的編碼方法,包括以下步驟
接收一個圖象質量信號;
根據所述圖象質量信號選擇一種編碼精度;
對所述視頻信號進行正交變換以產生直流分量系數;以及
利用所選擇的編碼精度對所述直流分量系數進行量化。
2、如權利要求1所述方法,其特征在于還包括這樣的步驟,即,利用具有隨所述選擇的編碼精度而變化的長度的可變長度編碼表對量化的直流分量系數進行可變長度編碼。
3、如權利要求1所述方法,其特征在于所述圖象質量信號對應于從視頻序列、圖象組、圖象、片層、宏模塊或模塊中選擇出來的一部分所述視頻信號。
4、如權利要求3所述方法,其特征在于所述模塊的大小為8象素×8行。
5、如權利要求1所述方法,其特征在于所述視頻信號包括用8位精度所規定的象素,以及所述編碼精度值為8位到11位。
6、如權利要求1所述方法,其特征在于正交變換步驟包括進行離散的余弦變換。
7、如權利要求1所述方法,其特征在于所述直流分量系數包括亮度直流分量系數和色度直流分量系數。
8、一種視頻信號的編碼裝置,包括;
接收圖象質量信號的裝置;
根據所述圖象質量信號選擇一種編碼精度的裝置;
對所述視頻信號進行正交變換以產生直流分量系數的裝置;及
利用所選擇的編碼精度對所述直流分量進行量化的裝置。
9、如權利要求8所述的裝置,其特征在于還包括利用具有隨所述的選擇編碼精度而變化的長度的可變長度編碼表對量化的直流分量系數進行可變長度編碼的裝置。
10、如權利要求8所述裝置,其特征在于所述圖象質量信號對應于從視頻序列、圖象組、圖象、片層、宏模塊或模塊中選擇出的一部分視頻信號。
11、如權利要求10所述裝置,其特征在于所述模塊的大小為8象素×8行。
12、如權利要求8所述裝置,其特征在于所述視頻信號包括用8位精度所規定的象素,且所述編碼精度值為8位至11位。
13、如權利要求8所述裝置,其特征在于進行正交變換的裝置包括進行離散的余弦變換的裝置。
14、如權利要求8所述裝置,其特征在于所述直流分量系數包括亮度直流分量系數和色度直流分量系數。
15、一種對編碼的視頻信號進行解碼的方法,包括下列步驟
接收一個圖象質量信號;
根據所述圖象質量信號選擇一種解碼精度;
從所述編碼的視頻信號中提取出直流分量系數;以及
利用所選擇的解碼精度對所述編碼的直流分量系數進行反量化。
16、如權利要求15所述方法,其特征在于還包括這樣一個步驟,即,利用具有隨所述選擇的編碼精度而變化的長度的可變長度編碼表對編碼的直流分量系數進行解碼。
17、如權利要求15所述方法,其特征在于所述圖象質量信號對應于從視頻序列、圖象組、圖象、片層、宏模塊或模塊中選擇出來的一部分所述視頻信號。
18、如權利要求17所述方法,其特征在于所述模塊的大小為8象素×8行。
19、如權利要求15所述方法,其特征在于所述編碼的視頻信號對應于包括用8位精度規定的象素的一個原始視頻信號,且所述解碼精度值為8位至11位。
20、如權利要求15所述方法,其特征在于還包括這樣的步驟,即,對反量化的直流分量系數進行反離散余弦變換。
21、如權利要求15所述方法,其特征在于所述編碼的直流分量系數包括編碼的亮度直流分量系數和編碼的色度直流分量系數。
22、一種對編碼的視頻信號進行解碼的裝置,包括
接收圖象質量信號的裝置;
根據所述的圖象質量信號選擇一種解碼精度的裝置;
從所述編碼的視頻信號中提取編碼的直流分量系數的裝置;及
利用所選擇的解碼精度對所述編碼的直流分量系數進行反量化的裝置。
23、如權利要求22所述的裝置,其特征在于還包括利用具有隨所述選擇的編碼精度變化的長度的可變長度編碼表對編碼直流分量系數進行可變長度編碼表的裝置。
24、如權利要求22所述裝置,其特征在于所述圖象質量信號對應于從視頻序列、圖象組、圖象、片層、宏模塊或模塊中選擇出來的一部分所述視頻信號。
25、如權利要求24所述裝置,其特征在于所述模塊的大小為8象素×8行。
26、如權利要求22所述裝置,其特征在于所述編碼的視頻信號對應于包括用8位精度規定的象素的一個原始視頻信號,且所述解碼精度值為8位至11位。
27、如權利要求22所述裝置。其特征在于還包括這樣一個步驟,即,對反量化的直流分量系數進行反離散余弦變換。
28、如權利要求22所述裝置,其特征在于所述編碼的直流分量系數包括編碼的亮度直流分量系數和編碼的色度直流分量系數。
29、一種視頻記錄介質,在其上記錄有一個根據權利要求1中的方法進行編碼的視頻信號。
30、如權利要求29所述的一種視頻記錄介質,其特征在于所述的視頻記錄介質是一個光盤。
31、一種視頻記錄介質,在其上記錄有一個由權利要求8中的裝置進行編碼的視頻信號。
32、如權利要求31的一種視頻記錄介質,其特征在于所述視頻記錄介質是一個光盤。
33、由權利要求1的方法所產生的一個編碼的視頻信號。
全文摘要
利用由量化位數表示的一種精度對來自一個視頻信號的正交變換的直流分量系數進行編碼,其中所說量化位數可以根據所要求的圖象質量而在視頻信號的每個視頻序列,圖象組、圖象、片層、宏模塊或模塊部分中有所變化。還可以根據編碼過程中所采用的精度對編碼的系數進行解碼。
文檔編號H04N5/92GK1090455SQ93114189
公開日1994年8月3日 申請日期1993年9月28日 優先權日1992年9月28日
發明者加藤元樹 申請人:索尼公司