欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

利用拉格朗日乘子和視覺(jué)掩蔽來(lái)控制速率-失真折中的方法和裝置的制作方法

文檔序號(hào):7578397閱讀:244來(lái)源:國(guó)知局
專利名稱:利用拉格朗日乘子和視覺(jué)掩蔽來(lái)控制速率-失真折中的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多媒體壓縮和編碼系統(tǒng)領(lǐng)域。本發(fā)明尤其公開(kāi)了用于控制數(shù)字視頻編碼器中速率-失真折中的方法和系統(tǒng)。
背景技術(shù)
基于數(shù)字的電子介質(zhì)格式正在完全取代傳統(tǒng)的模擬電子介質(zhì)格式。在音頻領(lǐng)域,多年前數(shù)字壓縮盤(CD)取代了模擬乙烯樹(shù)脂唱片。模擬的盒式磁帶也變得愈加稀少。第二和第三代數(shù)字音頻系統(tǒng)諸如基于小型磁盤和mp3(MPEG音頻-層3)的格式正同第一代數(shù)字音頻格式的壓縮盤奪取市場(chǎng)份額。
基于數(shù)字的靜態(tài)攝影正迅速地取代基于膠片的靜態(tài)攝影。通過(guò)因特網(wǎng)為用戶提供了具有不可抗拒的特點(diǎn)地圖像的及時(shí)利用性以及圖像分配。
然而,視頻領(lǐng)域向數(shù)字存儲(chǔ)和傳輸格式發(fā)展的速度要比音頻和靜態(tài)攝影的發(fā)展速度慢。這主要是由于以數(shù)字格式精確表示視頻需要大量的數(shù)字信息。精確表示視頻所需的大量數(shù)字信息需要非常高容量的數(shù)字存儲(chǔ)系統(tǒng)和高帶寬的傳輸系統(tǒng)。
但是視頻領(lǐng)域最終采用數(shù)字存儲(chǔ)和傳輸格式。更快的計(jì)算機(jī)處理器、高密度的存儲(chǔ)系統(tǒng)、高帶寬的光傳輸線以及新的高效視頻編碼算法最終使得數(shù)字視頻系統(tǒng)在消費(fèi)價(jià)格方面變得實(shí)用。DVD(數(shù)字通用光盤)、數(shù)字視頻系統(tǒng)已經(jīng)成為銷售最快的消費(fèi)電子產(chǎn)品之一。由于其杰出的視頻質(zhì)量、高質(zhì)量的5.1信道數(shù)字音頻、便利以及其它特點(diǎn),DVD已經(jīng)迅速代替了錄像機(jī)(VCR),成為選擇的預(yù)先錄制視頻重放系統(tǒng)。在視頻傳輸系統(tǒng)領(lǐng)域,過(guò)時(shí)的模擬NTSC(國(guó)家電視標(biāo)準(zhǔn)委員會(huì))視頻傳輸標(biāo)準(zhǔn)最終由使用數(shù)字壓縮和編碼技術(shù)的數(shù)字ATSC(高級(jí)電視標(biāo)準(zhǔn)委員會(huì))視頻傳輸系統(tǒng)所代替。
多年來(lái),計(jì)算機(jī)系統(tǒng)已經(jīng)使用各種不同的數(shù)字視頻編碼格式。由計(jì)算機(jī)系統(tǒng)使用的最好的數(shù)字視頻壓縮和編碼系統(tǒng)是公知的由其縮寫為MPEG的運(yùn)動(dòng)圖像專家組支持的數(shù)字視頻系統(tǒng)。MPEG的三種最公知并且使用率非常高的數(shù)字視頻格式是已知簡(jiǎn)單的MPEG-1、MPEG-2和MPEG-4。視頻CD以及用戶標(biāo)準(zhǔn)數(shù)字視頻編輯系統(tǒng)使用早期的MPEG-1格式。數(shù)字通用光盤(DVD)以及碟形網(wǎng)絡(luò)牌(Dish Network brand)直播衛(wèi)星電視廣播系統(tǒng)(DBS)使用MPEG-2數(shù)字視頻壓縮和編碼系統(tǒng)。基于最新計(jì)算機(jī)的數(shù)字視頻編碼器和相關(guān)的數(shù)字視頻播放器正迅速地采用了MPEG-4編碼系統(tǒng)。
MPEG-2和MPEG-4標(biāo)準(zhǔn)對(duì)一系列視頻幀或視頻字段進(jìn)行壓縮,然后將壓縮的幀或字段編譯成數(shù)字比特流。必須嚴(yán)密監(jiān)控?cái)?shù)字比特流的速率,以使其不溢出緩存區(qū)、不下溢出緩存區(qū)或不超出傳輸信道容量。因此,必須使復(fù)雜的速率控制系統(tǒng)與數(shù)字視頻編碼器一起應(yīng)用,所述的數(shù)字視頻編碼器在分配信道容量中提供了盡可能最好的圖像質(zhì)量,而不溢出或下溢緩存區(qū)。

發(fā)明內(nèi)容
本發(fā)明公開(kāi)了一種在視頻編碼器中通過(guò)模式選擇來(lái)控制速率-失真折中的方法和裝置。本發(fā)明的系統(tǒng)首先在預(yù)期的失真值附近選擇失真值D。接下來(lái),該系統(tǒng)利用選定的失真值D確定量化器值Q。該系統(tǒng)然后利用量化器值Q計(jì)算拉格朗日乘子lambda。利用選擇的拉格朗日乘子lambda和量化器值Q,該系統(tǒng)開(kāi)始對(duì)象素模塊進(jìn)行編碼。
如果系統(tǒng)檢測(cè)到潛在的緩存區(qū)溢出,則該系統(tǒng)將增加拉格朗日乘子lambda。當(dāng)緩存區(qū)的占有率值超過(guò)溢出閾值時(shí),可以檢測(cè)到潛在的緩存區(qū)溢出。如果拉格朗日乘子lambda超過(guò)最大的lambda閾值,則系統(tǒng)將增加量化器值Q。
如果系統(tǒng)檢測(cè)到潛在的緩存區(qū)下溢,則系統(tǒng)將減小拉格朗日乘子lambda。當(dāng)緩存區(qū)的占有率值降到緩存區(qū)下溢閾值以下時(shí),可以檢測(cè)到潛在的緩存區(qū)下溢。如果拉格朗日乘子lambda降到最小的lambda閾值以下,則系統(tǒng)將減小量化器值Q。
通過(guò)附圖以及下列的詳細(xì)描述,本發(fā)明的其它目的、特點(diǎn)以及優(yōu)點(diǎn)將會(huì)顯而易見(jiàn)。


通過(guò)下面的詳細(xì)描述,本發(fā)明的目的、特點(diǎn)以及優(yōu)點(diǎn)對(duì)本領(lǐng)域的技術(shù)人員來(lái)講將會(huì)是顯而易見(jiàn)的,其中
圖1描述的是一個(gè)可能的數(shù)字視頻編碼系統(tǒng)的高級(jí)框圖2描述的是一系列將要顯示的視頻圖片,其中連接不同圖片的箭頭表示利用運(yùn)動(dòng)補(bǔ)償生成的交互圖片的相關(guān)性;
圖3表示將圖2中的視頻圖片重新排列得到的優(yōu)選傳輸順序的視頻圖片,其中連接不同圖片的箭頭表示利用運(yùn)動(dòng)補(bǔ)償生成的交互圖片的相關(guān)性;
圖4描述的是一族R、D曲線,每個(gè)曲線對(duì)應(yīng)量化器Q的每個(gè)不同的值。
具體實(shí)施例方式
本發(fā)明公開(kāi)了在視頻編碼器中通過(guò)模式選擇來(lái)控制速率-失真折中的模式。在下列的描述中,為了便于解釋,提出具體的術(shù)語(yǔ)來(lái)提供對(duì)本發(fā)明的完整的理解。然而,對(duì)本領(lǐng)域技術(shù)人員來(lái)講顯而易見(jiàn)的是為了實(shí)施本發(fā)明并不需要這些具體的細(xì)節(jié)。例如,參照MPEG-4部分10(H.264)多媒體壓縮和編碼系統(tǒng)對(duì)本發(fā)明進(jìn)行了描述。但是,相同的技術(shù)可以很容易地應(yīng)用到其它類型的壓縮和編碼系統(tǒng)。
多媒體壓縮和編碼綜述
圖1描述的是現(xiàn)有技術(shù)中公知的典型的數(shù)字視頻編碼器100的高級(jí)框圖。數(shù)字視頻編碼器100接收位于框圖左方的輸入視頻流105。每個(gè)視頻幀由離散余弦轉(zhuǎn)換(DCT)單元110進(jìn)行處理。可以對(duì)視頻幀獨(dú)立進(jìn)行處理(幀內(nèi))或者利用運(yùn)動(dòng)估計(jì)單元160參照來(lái)自其它幀(幀間)的信息對(duì)其進(jìn)行處理。然后量化器(Q)單元120對(duì)來(lái)自離散余弦轉(zhuǎn)換(DCT)單元110的信息進(jìn)行量化。然后通過(guò)熵編碼器(H)180對(duì)量化的幀進(jìn)行編碼以生成編碼的視頻比特流。
由于參照其它附近的視頻幀來(lái)確定幀間編碼的視頻幀,數(shù)字視頻編碼器100需要對(duì)參考的數(shù)字視頻幀如何真正出現(xiàn)在數(shù)字視頻解碼器內(nèi)進(jìn)行拷貝,以使得可以對(duì)幀間進(jìn)行編碼。因而,數(shù)字視頻編碼器100的下部實(shí)際上是數(shù)字視頻解碼器。特別地,反向量化器(Q-1)130使幀信息的量化反轉(zhuǎn),并且反向離散余弦變換(DCT-1)單元140使視頻幀信息的離散余弦變換反轉(zhuǎn)。畢竟DCT系數(shù)是從反向離散余弦變換重建的,運(yùn)動(dòng)補(bǔ)償單元將利用該信息連同運(yùn)動(dòng)向量來(lái)重建視頻幀,其中該視頻幀可以作為用于其它視頻幀的運(yùn)動(dòng)估計(jì)的參考視頻幀。
解碼的視頻幀可以用來(lái)對(duì)幀間進(jìn)行編碼,所述的幀間是相對(duì)于解碼的視頻幀中的信息定義的。特別地,運(yùn)動(dòng)補(bǔ)償(MC)單元150以及運(yùn)動(dòng)估計(jì)(ME)單元160用來(lái)確定運(yùn)動(dòng)向量并產(chǎn)生用作對(duì)幀間進(jìn)行編碼的微分值。
速率控制器190接收數(shù)字視頻編碼器100中來(lái)自許多不同部件的信息,并利用該信息為每個(gè)將被編碼的視頻幀分配比特預(yù)算。以能產(chǎn)生最高質(zhì)量的數(shù)字比特流的方式分配比特預(yù)算,所述的比特流遵守特定的一套限定。特別地,速率控制器190試圖產(chǎn)生最高質(zhì)量的壓縮視頻流而不溢出緩存區(qū)(以比視頻幀信息被顯示并隨后被刪除更快的速度來(lái)發(fā)送視頻幀信息的方式來(lái)超過(guò)可利用的緩存區(qū)的量)或下溢緩存區(qū)(發(fā)送的視頻幀信息不夠快以使得正接收的數(shù)字視頻解碼器用完了顯示的視頻幀信息)。
象素模塊編碼
許多數(shù)字視頻編碼算法首先將每個(gè)視頻圖像分割成通常被稱作象素模塊的小的象素子集。特別地,視頻圖像被分成矩形象素模塊網(wǎng)格。術(shù)語(yǔ)宏塊(macroblock)、塊、子塊也通常用于象素子集。本文檔將使用術(shù)語(yǔ)象素模塊來(lái)包括所有這些不同但相似的概念。不同尺寸的象素模塊可以由不同的數(shù)字視頻編碼系統(tǒng)使用。例如,所使用的不同的象素模塊尺寸包括8×8象素模塊、8×4象素模塊、16×16象素模塊、4×4象素模塊等。
為了編碼視頻圖像,使用某種編碼方法對(duì)視頻圖像的每個(gè)獨(dú)立的象素模塊進(jìn)行編碼。不用參照任何其它象素模塊就可對(duì)有些被稱作內(nèi)部模塊的象素模塊進(jìn)行編碼。利用諸如運(yùn)動(dòng)補(bǔ)償?shù)哪撤N預(yù)測(cè)的編碼方法對(duì)其它的象素模塊進(jìn)行編碼,其中所述的運(yùn)動(dòng)補(bǔ)償參考在相同或不同的視頻圖像中的最接近地匹配的象素模塊。
對(duì)視頻圖像中的每個(gè)獨(dú)立的象素模塊獨(dú)立進(jìn)行壓縮和編碼。一些視頻編碼標(biāo)準(zhǔn),例如ISO MPEG或ITU.264,使用不同類型的預(yù)測(cè)象素模塊來(lái)編碼數(shù)字視頻圖像。在一個(gè)方案中,象素模塊可以是以下3種類型之一
1、I象素模塊——內(nèi)部(I)象素模塊,在其編碼中不使用任何其它視頻圖像的信息(因而,內(nèi)部象素模塊完全是自定義的);
2、P象素模塊——單向的預(yù)測(cè)(P)象素模塊參考來(lái)自于較早視頻圖像的圖像信息;或
3、B象素模塊——雙向的預(yù)測(cè)(B)象素模塊,其利用較早視頻圖像或稍后的視頻圖像的信息。
如果編碼的數(shù)字視頻圖像中的所有象素模塊是內(nèi)部象素模塊(I象素模塊),則編碼的數(shù)字視頻圖像幀稱作幀內(nèi)。注意幀內(nèi)并不參考任何其它視頻圖像,使得幀內(nèi)數(shù)字視頻圖像完全自定義。
如果數(shù)字視頻圖像幀只包括單向預(yù)測(cè)象素模塊(P象素模塊)以及內(nèi)部象素模塊(I象素模塊)但不包括雙向的預(yù)測(cè)象素模塊(B象素模塊),則該視圖像稱作P幀。當(dāng)使用預(yù)測(cè)的編碼(P象素模塊編碼)比獨(dú)立編碼象素模塊(I象素模塊)需要更多的比特時(shí),I象素模塊可以出現(xiàn)在P幀中。
如果數(shù)字視頻圖像幀包括任何雙向預(yù)測(cè)象素模塊(B象素模塊),則視頻圖像幀稱作B幀。為了簡(jiǎn)化,本申請(qǐng)將考慮到在給定的圖像區(qū)域內(nèi)所有的象素模塊都是相同類型的情形。(幀內(nèi)只包括I象素模塊,P幀只包括P象素模塊,B幀只包括B象素模塊。)
將要被編碼的視頻圖像的序列的例子可以表示為
I1 B2 B3 B4 P5 B6 B7 B8 B9 P10 B11 P12 B13 I14……
其中如果數(shù)字視頻圖像幀是I幀、P幀或B幀則用字母I、P或B表示,并且數(shù)字下標(biāo)表示在視頻圖像序列中的視頻圖像的拍攝順序。拍攝順序是攝影機(jī)記錄視頻圖像的順序,因而也是視頻圖像應(yīng)該被顯示的順序(顯示順序)。
在圖2中對(duì)前述的實(shí)施例的一系列視頻圖像進(jìn)行了概念描述。參照附圖2,箭頭表示來(lái)自存儲(chǔ)的圖片的象素模塊(在這種情況下為I幀或P幀)用在了其它數(shù)字視頻圖片(B幀和P幀)的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)中。
參照附圖2,沒(méi)有來(lái)自于任何其它的視頻圖片的信息用在了第一視頻圖片幀、幀內(nèi)視頻圖片I1的編碼中。視頻圖像P5是P幀,其在編碼中利用來(lái)自于前一個(gè)視頻圖像I1的視頻信息,因此箭頭從幀內(nèi)視頻圖像I1繪制到P幀視頻圖像P5。在其編碼中,視頻圖像B2、視頻圖像B3和視頻圖像B4全部都是利用來(lái)自視頻圖像I1和視頻圖像P5的信息,所以信息相關(guān)性箭頭從視頻圖像I1和視頻圖像P5繪制到視頻圖像B2、視頻圖像B3和視頻圖像B4。
由于B幀視頻圖像利用來(lái)自于后面的視頻圖像(隨后顯示的圖像)的信息,一組數(shù)字視頻圖像的傳輸順序通常與數(shù)字視頻圖像的顯示順序不同。特別地,需用來(lái)構(gòu)建其它視頻圖像的參考視頻圖像應(yīng)當(dāng)在由參考視頻圖像所決定的視頻圖像之前傳輸。因而,對(duì)于圖2中的顯示順序,優(yōu)選的傳輸順序可以是
I1 P5 B2 B3 B4 P10 B6 B7 B8 B9 P12 B11 I14 B13……
圖3描述的是圖2中的視頻圖像的優(yōu)選的傳輸順序。圖中的箭頭表示來(lái)自于參考視頻圖像的象素模塊(在這種情況下的I幀或P幀視頻圖像)用在了其它視頻圖像的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)中(P幀和B幀視頻圖像)。
參照?qǐng)D3,傳輸系統(tǒng)首先傳輸并不依賴任何其它視頻幀的I幀I1。接下來(lái),該系統(tǒng)傳輸P幀視頻圖像P5,其只依賴先前傳輸?shù)囊曨l圖像I1。接下來(lái),即使視頻圖像B2在視頻圖像P5之前顯示,該系統(tǒng)在視頻圖像P5之后傳輸B幀視頻圖像B2。原因是當(dāng)要解碼并遞交相關(guān)的視頻圖像B2時(shí),數(shù)字視頻解碼器已經(jīng)接收到、并解碼了視頻圖像I1和視頻圖像P5中的解碼相關(guān)的視頻圖像B2所必需的信息。同樣,解碼的視頻圖像I1和解碼的視頻圖像P5準(zhǔn)備用于解碼并遞交下兩個(gè)相關(guān)的視頻圖像相關(guān)的視頻圖像B3和相關(guān)的視頻圖像B4。
接收器/解碼器系統(tǒng)然后記錄視頻圖像合適的顯示順序。在該項(xiàng)操作中,參考視頻圖像I1以及參考視頻圖像P5稱作“存儲(chǔ)的圖像”。存儲(chǔ)的圖像用于重構(gòu)其它的參考該存儲(chǔ)的圖像的相關(guān)的視頻圖像。(注意某些數(shù)字視頻編碼系統(tǒng)也允許B幀用作存儲(chǔ)圖像。)
子母畫面(P-picture)
子母畫面的編碼典型地利用了運(yùn)動(dòng)補(bǔ)償(MC),其中為當(dāng)前視頻圖像中的每個(gè)象素模塊計(jì)算指向前一個(gè)視頻圖像中某個(gè)位置的運(yùn)動(dòng)向量(MV)。運(yùn)動(dòng)向量參考在參考視頻圖像中的接近匹配的象素模塊。利用運(yùn)動(dòng)向量,預(yù)測(cè)象素模塊可以通過(guò)轉(zhuǎn)換上述的前一個(gè)視頻圖像中參考象素來(lái)形成。然后將子母畫面中的實(shí)際的象素模塊與預(yù)測(cè)象素模塊之間的差異進(jìn)行編碼用于傳輸。然后用該差異來(lái)精確構(gòu)建初始的象素模塊。
每個(gè)運(yùn)動(dòng)向量也可以通過(guò)預(yù)測(cè)編碼方法進(jìn)行傳輸。例如,可以利用鄰近的運(yùn)動(dòng)向量來(lái)形成運(yùn)動(dòng)向量預(yù)測(cè)。在這種情況下,實(shí)際運(yùn)動(dòng)向量與預(yù)測(cè)運(yùn)動(dòng)向量之間的差異然后被編碼用于傳輸。然后將該差異用于生成來(lái)自于預(yù)測(cè)運(yùn)動(dòng)向量的實(shí)際運(yùn)動(dòng)向量。
雙向畫面(B-picture)
B幀中的每個(gè)B象素模塊使用兩個(gè)不同的運(yùn)動(dòng)向量第一運(yùn)動(dòng)向量和第二運(yùn)動(dòng)向量,其中第一運(yùn)動(dòng)向量參考較早的視頻圖像中的象素模塊,第二運(yùn)動(dòng)向量參考稍后的視頻圖像中的另一個(gè)象素模塊。根據(jù)這兩個(gè)運(yùn)動(dòng)向量,計(jì)算兩個(gè)預(yù)測(cè)象素模塊。利用某種函數(shù)將這兩個(gè)預(yù)測(cè)象素模塊聯(lián)合在一起以形成最終預(yù)測(cè)象素模塊。(可以對(duì)這兩個(gè)象素模塊一起簡(jiǎn)單地進(jìn)行平均。)與P象素模塊一樣,B幀視頻圖像的實(shí)際預(yù)期的象素模塊和最終預(yù)測(cè)象素模塊之間的差異被編碼用于傳輸。該象素模塊差異然后用于精確重建初始的象素模塊。
與P象素模塊一樣,B象素模塊的每個(gè)運(yùn)動(dòng)向量(MV)也可以通過(guò)預(yù)測(cè)編碼方法進(jìn)行傳輸。特別地,可以利用鄰近的運(yùn)動(dòng)向量的某種組合來(lái)形成預(yù)測(cè)運(yùn)動(dòng)向量。然后,實(shí)際運(yùn)動(dòng)向量與預(yù)測(cè)運(yùn)動(dòng)向量之間的差異被編碼用于傳輸。然后利用該差異重新創(chuàng)造來(lái)自于預(yù)測(cè)的運(yùn)動(dòng)向量的實(shí)際運(yùn)動(dòng)向量。
然而,對(duì)于B象素模塊,存在內(nèi)插運(yùn)動(dòng)向量的機(jī)會(huì),所述的運(yùn)動(dòng)向量來(lái)自于配置的或鄰近存儲(chǔ)的圖像象素模塊中的運(yùn)動(dòng)向量。這樣的運(yùn)動(dòng)向量的內(nèi)插是在數(shù)字視頻編碼器和數(shù)字視頻解碼器中執(zhí)行的。(注意數(shù)字視頻編碼器一直包括數(shù)字視頻解碼器。)
在一些情況下,內(nèi)插的運(yùn)動(dòng)向量足夠好,不需對(duì)該內(nèi)插的運(yùn)動(dòng)向量做任何類型的修正就可使用。在這樣情況下,不需要發(fā)送運(yùn)動(dòng)向量數(shù)據(jù)。在ITU H.263以及H.264數(shù)字視頻編碼標(biāo)準(zhǔn)中,這稱為“直接模式”。
該運(yùn)動(dòng)向量?jī)?nèi)插技術(shù)在來(lái)自于由攝影機(jī)生成的視頻序列的一系列視頻圖像運(yùn)作得尤其好,其中所述的攝影機(jī)緩慢地隨動(dòng)拍攝(panning)靜態(tài)的背景。實(shí)際上,這樣的運(yùn)動(dòng)向量?jī)?nèi)插足夠好可以單獨(dú)使用。特別地,這意味著對(duì)這些利用運(yùn)動(dòng)向量?jī)?nèi)插編碼的B象素模塊運(yùn)動(dòng)向量來(lái)講不需要微分的運(yùn)動(dòng)向量信息來(lái)進(jìn)行計(jì)算或傳輸。
象素模塊編碼
在每個(gè)視頻圖像內(nèi)象素模塊也可以以不同的方式進(jìn)行編碼。例如,可以將象素模塊分成更小的子塊,對(duì)每個(gè)子塊計(jì)算并傳輸運(yùn)動(dòng)向量。子塊的形狀也可以不同,并且可以不一定是正方形。
在子母畫面或雙向畫面內(nèi),如果在存儲(chǔ)的參考的圖像內(nèi)沒(méi)有找到接近匹配的象素模塊,不用運(yùn)動(dòng)補(bǔ)償就可以對(duì)一些象素模塊進(jìn)行高效的編碼。這樣的象素模塊然后被編碼為內(nèi)部象素模塊(I象素模塊)。在雙向畫面中,利用單向運(yùn)動(dòng)補(bǔ)償代替雙向運(yùn)動(dòng)補(bǔ)償可以對(duì)一些象素模塊更好地進(jìn)行編碼。因此,根據(jù)最接近匹配的象素模塊是否在較早的視頻圖像或較后的視頻圖像中找到,將那些象素模塊編碼為向前預(yù)測(cè)象素模塊(P象素模塊)或向后預(yù)測(cè)象素模塊。
在傳輸之前,象素模塊或子??斓念A(yù)測(cè)錯(cuò)誤典型地由正交轉(zhuǎn)換諸如離散余弦轉(zhuǎn)換或其近似值來(lái)進(jìn)行轉(zhuǎn)換。轉(zhuǎn)換操作的結(jié)果是一組轉(zhuǎn)換系數(shù),其在數(shù)值上等于被轉(zhuǎn)換的象素模塊或者子??熘械南笏貍€(gè)數(shù)。在接收器/解碼器處,將接收到的轉(zhuǎn)換系數(shù)進(jìn)行反轉(zhuǎn)換以恢復(fù)在解碼中進(jìn)一步用到的預(yù)測(cè)錯(cuò)誤值。并不是所有的轉(zhuǎn)換系數(shù)都需要傳輸為可接受的視頻質(zhì)量。根據(jù)可利用的傳輸比特率,一半或者有時(shí)多于一半的轉(zhuǎn)換系數(shù)可以被刪除和不傳輸。在解碼器處,在反變換操作之前,被刪除的系數(shù)值由0來(lái)代替。
而且,在傳輸之前,典型地對(duì)轉(zhuǎn)換系數(shù)進(jìn)行如圖1所述的量化和熵編碼。量化包括用可能值的有限子集來(lái)表示轉(zhuǎn)換系數(shù)值,這降低了傳輸?shù)木_度。而且,該量化經(jīng)常使得小的轉(zhuǎn)換系數(shù)值為0,因而進(jìn)一步減小了被傳輸?shù)霓D(zhuǎn)換系數(shù)值的數(shù)量。
在量化步驟中,每個(gè)轉(zhuǎn)換系數(shù)值典型地由量化器步長(zhǎng)Q進(jìn)行分割并四舍五入為最接近的整數(shù)。例如,利用下列公式可將初始的轉(zhuǎn)換系數(shù)C量化為量化的系數(shù)值Cq
Cq=(C+Q/2)/Q截為整數(shù)。
在量化步驟之后,利用諸如霍夫曼編碼的變長(zhǎng)編碼或算術(shù)編碼對(duì)這些整數(shù)進(jìn)行熵編碼。由于許多轉(zhuǎn)換系數(shù)值被截為0,由從量化和變長(zhǎng)編碼步驟將獲得大量的壓縮。
利用拉格朗日函數(shù)選擇比特率和失真值
數(shù)字視頻編碼器必須在所有可能的編碼方法(或編碼模式)中確定最好的編碼方法,以用于對(duì)視頻圖像中的每個(gè)象素模塊進(jìn)行編碼。這種編碼問(wèn)題通常稱作模式選擇問(wèn)題。許多特定的方法用在了不同的數(shù)字視頻編碼器的實(shí)施中以處理模式選擇問(wèn)題。轉(zhuǎn)換系數(shù)刪除、傳輸?shù)霓D(zhuǎn)換系數(shù)的量化以及模式選擇的結(jié)合使得用于傳輸?shù)谋忍芈蔙減少。然而,這些比特率R減少技術(shù)也導(dǎo)致解碼的視頻圖像中的失真D。
理想地,當(dāng)設(shè)計(jì)視頻編碼器時(shí),人們?cè)敢饣蛘邔⒈忍芈蔙固定為常量值并減小編碼失真D或者將編碼失真D固定為常量值同時(shí)減小比特率R。然而,特別是在象素模塊級(jí),比特率R和/或失真D值可以與預(yù)期的固定值具有相當(dāng)大的差別,因而使得限定的最優(yōu)化方法站不住腳。
然而可以做的是利用拉格朗日乘子將限定的最優(yōu)化問(wèn)題轉(zhuǎn)化為無(wú)限定的最優(yōu)化問(wèn)題。因而,不是固定其中一個(gè)變量(比特率R或失真D)并最優(yōu)化另一個(gè)變量,而是可以只最小化拉格朗日方程
D+lambda×R
其中l(wèi)ambda是拉格朗日乘子。因而對(duì)于視頻圖像中的每個(gè)象素模塊,編碼器選擇象素模塊編碼模式來(lái)最小化拉格朗日方程D+lambda×R。
理論上,通過(guò)重復(fù)利用所有可能的lambda值來(lái)實(shí)現(xiàn)對(duì)每個(gè)單獨(dú)的視頻圖像的完全最優(yōu)化,每個(gè)lambda生成{D,R}對(duì)。預(yù)期的比特率R(或失真D)、相應(yīng)的失真D(或比特率R)以及l(fā)ambda值都可以從其中得到。然后再一次利用該選定的lambda值將視頻圖像最終編碼,其將會(huì)生成預(yù)期的結(jié)果。
實(shí)際上,對(duì)每個(gè)視頻圖像來(lái)講,這種理想的方法通常太復(fù)雜并且太資源密集而不能執(zhí)行。為了確定lambda、失真D和量化器Q之間近似的關(guān)系,通常的做法是以寬范圍的lambda值,利用完整的最優(yōu)化方法執(zhí)行具有多個(gè)視頻圖像的許多初步的實(shí)驗(yàn)。
以寬范圍的lambda值利用完整的最優(yōu)化方法初步試驗(yàn)多個(gè)視頻圖像來(lái)確定lambda、失真D和量化器Q之間近似的關(guān)系。在這些實(shí)驗(yàn)中,在改變lambda拉格朗日乘子的同時(shí)保持量化器Q為常量通常是有利的。如果在每個(gè)實(shí)驗(yàn)中保持量化器Q為常量,最終結(jié)果是一族R、D曲線,一條曲線對(duì)應(yīng)量化器Q的每個(gè)不同值。圖4描述的是這樣一族R、D曲線的一個(gè)實(shí)例。對(duì)于每個(gè)不同的常量Q曲線,在由lambda的某個(gè)值得到的特定的{R,D}點(diǎn),曲線的斜率是(-lambda)。最佳的{R,D}關(guān)系是通過(guò)提取所有的R、D曲線的最小值來(lái)獲得的。
此后,對(duì)于每個(gè)不同的量化器Q值,選定典型的lambda值諸如lambdaQ。例如,lambdaQ可以是在圖4的Q+1和Q-1的交叉點(diǎn)之間的半路部分提供失真D值的值。用來(lái)選擇典型的lambda值的其它方法包括lambdaQ=0.85Q2以及l(fā)ambdaQ=0.85×2Q/3。對(duì)于多個(gè)雙向畫面,通常選定更大的lambdaQ值。因而,我們有
lambdaQ=f(Q)
DQ=g(Q)從中可以獲得Q=h(DQ)
然后為了編碼帶有預(yù)期的失真D的視頻圖像序列,可以首先找出最接近的DQ,從中可以獲得Q=h(DQ)。然后,利用相應(yīng)的lambdaQ=f(Q)對(duì)視頻圖像執(zhí)行編碼,這提供了失真DQ的最優(yōu)的比特率R。
在許多應(yīng)用中,作為結(jié)果的比特率R可能太大或太小,迫使使用速率控制以確保不發(fā)生緩存區(qū)溢出或緩存區(qū)下溢。和大多數(shù)速率控制算法一樣,通常的方法是將變量器Q從象素模塊改變?yōu)橄笏啬K和/或從視頻圖像改變?yōu)橐曨l圖像。當(dāng)編碼器緩存區(qū)有可能變得太滿(并可能溢出)的征兆時(shí),增加量化器Q的值以減小比特率R。當(dāng)編碼器緩存區(qū)可能太空(并且將可能下溢)時(shí),減小量化器Q的值以增加比特率R。
然而,量化器Q的值的改變可能導(dǎo)致比特率R的太大的變化。而且,量化器Q值的改變需要發(fā)信號(hào)到解碼器,這增加了必須要傳輸?shù)浇獯a器的附加位的量。而且,改變量化器Q可能具有其它有關(guān)視頻圖像質(zhì)量的影響諸如回路濾波。
為了獲得預(yù)期的速率控制,改變量化器Q另一可選擇的辦法是改變拉格朗日乘子lambda。較小的拉格朗日乘子lambda值導(dǎo)致較大的比特率R(以及較小的失真D),同樣地較大的拉格朗日乘子lambda值降低了比特率R(并增加失真D)。拉格朗日乘子lambda中的變化可以隨意地細(xì)微,這與被數(shù)字化并編碼的量化器Q中的變化相反,使得量化器Q只限定于某些值。在許多數(shù)字視頻壓縮與編碼系統(tǒng)中,包括所有的MPEG視頻壓縮與編碼標(biāo)準(zhǔn),并不是量化器Q的所有整數(shù)值都允許發(fā)送,在這種情況下比特率R的突然變化可以更顯著。
當(dāng)需要拉格朗日乘子lambda大于某個(gè)閾值lambda_max(Q)以得到某一比特率減小量時(shí),量化器Q將增加,并且利用新增加的量化器Q值,拉格朗日乘子lambda將返回其名義上的值f(Q)。當(dāng)需要拉格朗日乘子lambda小于某個(gè)閾值lambda_min(Q)以得到某一比特率增加時(shí),量化器Q將減小,并且利用新減小的量化器Q,拉格朗日乘子lambda將返回其名義上的值f(Q)。
lambda_max(Q)和lambda_min(Q)的值是由圖4中的比特率——失真關(guān)系上的交叉點(diǎn)來(lái)決定的。如果將D(lambda,Q)確定為當(dāng)用拉格朗日乘子lambda和量化器步長(zhǎng)Q編碼時(shí)獲得的失真,則操作關(guān)系為
D(lambda_min(Q+1),Q+1)=D(lambda_max(Q),Q)
lambda_min(Q)<=f(Q)<=lambda_max(Q)
在以下的偽代碼中對(duì)視頻編碼系統(tǒng)的這樣的速率控制算法的詳細(xì)操作進(jìn)行了闡述
Start_encoding_picture //開(kāi)始編碼視頻圖像  input desired D; //取得預(yù)期的失真D值  find DQ nearest to D;//找到和預(yù)期的D值最接近的DQ值   Q=h(DQ); //確定量化器值Q  lambda=f(Q); //確定拉格朗日乘子lambdastart_encoding_pixelblock//開(kāi)始從圖像中編碼象素模塊<!-- SIPO <DP n="11"> --><dp n="d11"/>  code_pixelblock(lambda,Q);//利用lambda和Q編碼象素模塊  if(encoder_buffer>Tfull){ //緩存區(qū)有溢出征兆否?   lambda=lambda+deltalambda;//deltalambda可以依賴閾Q   if(lambda>Lambda_max(Q)){ //如果lambda太大,增加Q   Q=Q+deltaQ; //增加量化器Q步長(zhǎng)   Lambda=f(Q);//設(shè)置新的拉格朗日乘子lambda  }   }  if(encoder_buffer<Tempty){ //緩存區(qū)有下溢征兆否?   lambda=lambda-deltalambda;//是的,因此減小lambda   if(Lambda<Lambda_min(Q)){//如果lambda太小,減小Q  Q=Q-deltaQ;//減小量化器Q步長(zhǎng)  Lambda=f(Q); //設(shè)置新的拉格朗日乘子lambda  }   }  if(not last pixelblock)then goto start_encoding_pixelblock;//接下來(lái)處理圖像
通常的比特率控制算法的變化可以包括編碼器緩存區(qū)值的多種不同的閾值,由此如果編碼器緩存區(qū)大大超過(guò)Tfull閾值,則不用等到拉格朗日乘子lambda超過(guò)其閾值就可以立即增加量化器Q。類似地,如果編碼器緩存區(qū)顯著低于Tempty閾值,則可以立即減小量化器Q??商娲兀绻幋a器緩存區(qū)極大地超過(guò)Tfull閾值或者遠(yuǎn)沒(méi)達(dá)到Tempty閾值,則可以增加deltalambda的步長(zhǎng)。
Deltalambda和deltaQ的值可以隨著量化器Q或隨著視頻圖像類型(單一畫面、子母畫面或雙向畫面)而變化。而且,增加拉格朗日乘子lambda的操作可以由乘法來(lái)代替,其可以將拉格朗日乘子lambda改變某一百分量。例如,可以利用下列的增加lambda的操作的等式來(lái)改變拉格朗日乘子lambda
Lambda=(1+deltalambda)×lambda
同樣地,可以利用下列的等式進(jìn)行減小lambda的操作
Lambda=(1-deltalambda)×lambda
這個(gè)簡(jiǎn)單的速率控制算法描述了用于該應(yīng)用的不同的lambda。也設(shè)計(jì)了其它的更復(fù)雜的速率控制算法,并且這些其它的速率控制算法也可以得益于不同的拉格朗日乘子lambda。
視覺(jué)失真折中
不同的拉格朗日乘子lambda的另一個(gè)應(yīng)用是在視覺(jué)失真標(biāo)準(zhǔn)的使用中。通常通過(guò)對(duì)原始的象素值和解碼的象素值之間的平方誤差進(jìn)行求和來(lái)對(duì)失真D進(jìn)行測(cè)量。然而,這種簡(jiǎn)單的失真測(cè)量方法并不能較好地調(diào)整視頻圖像中象素錯(cuò)誤的實(shí)際的可見(jiàn)性。因而,這樣簡(jiǎn)單的失真測(cè)量方法可以使得先前的最小化得出小于最佳結(jié)果的結(jié)果。因而,將主觀的影響考慮進(jìn)去的算法通常是更有用的。
可以通過(guò)對(duì)每個(gè)將被編碼在視頻圖像中的象素模塊或子模塊的視覺(jué)掩蔽值M進(jìn)行計(jì)算來(lái)將編碼噪音的可見(jiàn)性考慮進(jìn)去。視覺(jué)掩蔽值M是基于該區(qū)域內(nèi)的象素的空間變量和時(shí)間變量的。
更大的視覺(jué)掩蔽值M表示更大的掩蔽,其使得失真更難于視覺(jué)上檢測(cè)到。在這樣的區(qū)域,可以增加失真D并減少比特率R。這是在編碼優(yōu)化算法中利用M×lambda(拉格朗日乘子)而不是只利用拉格朗日乘子lambda來(lái)方便地完成的。下面的偽代碼描述了修改的算法。Start_encoding_picture//開(kāi)始編碼視頻圖像
  input desired D//取得預(yù)期的失真D值  find DQ nearest to D;//找到和預(yù)期的D值最接近的D值  Qnorm=h(DQ) //確定沒(méi)有掩蔽的正常Q  lambda=f(Qnorm);//確定拉格朗日乘子lambdastart_encoding_pixelblock //開(kāi)始從圖像中編碼象素模塊  Q=Qnorm; //將Q設(shè)置到?jīng)]有掩蔽的正常Q  calculate visual mask M;//確定視覺(jué)掩蔽的量  while(M×lambda>Lambda_max(Q))//如果存在強(qiáng)烈的掩蔽,增加Q  Q=Q+deltaQ; //增加量化器Q步長(zhǎng)  }<!-- SIPO <DP n="13"> --><dp n="d13"/>   code pixelblock((M×lambda,Q)//利用M×lambda和Q進(jìn)行編碼   if(encoder_buffer>Tfull){//緩存區(qū)有溢出征兆否?   lambda=lambda+deltalambda;//增加lambda   if(lambda>Lambda_max(Q)){//測(cè)試lambda   Qnorm=Qnorm+deltaQ;//如果lambda太大,增加Q   lambda=f(Qnorm); //計(jì)算新的lambda   }  }   if(encoder_buffer<Tempty){//緩存區(qū)有下溢征兆否?   lambda=lambda-deltalambda;//減小lambda   if(Lambda<Lambda_min(Qnorm)){//測(cè)試lambda   Qnorm=Qnorm-deltaQ;//如果lambda太小,減小Q   Lambda=f(Qnorm);//計(jì)算新的lambda   }   }if(not last pixelblock)then goto start_encoding_pixelblock;//接下來(lái)處理圖像
第二個(gè)簡(jiǎn)單的視覺(jué)掩蔽算法描述了不同的lambda在該應(yīng)用中的使用。也設(shè)計(jì)了其它的更復(fù)雜的視覺(jué)掩蔽算法,并且這些其它的視覺(jué)掩蔽算法也可以得益于不同的拉格朗日乘子lambda。
拉格朗日乘子lambda的變化在其它編碼決策中也可以是有用的。例如當(dāng)編碼一系列視頻圖像時(shí),要確定有多少雙向畫面要編碼通常是非常難以回答的。對(duì)于特定值的量化器Q和lambdaQ=f(Q),每個(gè)子母畫面帶一個(gè)雙向畫面的編碼結(jié)果可以是R1、D1,而每個(gè)子母畫面帶兩個(gè)雙向畫面的編碼結(jié)果可以是R2、D2。
如果R2<R1并且D2<D1,則顯然最好的答案是兩個(gè)雙向畫面較好。然而,結(jié)果經(jīng)常是R2<R1并且D2>D1,這樣不清楚雙向畫面的數(shù)量較好。在這種情況下,我們可以使用具有較小的lambda的每一子母畫面兩個(gè)雙向畫面來(lái)重新編碼,該lambda給定的D2近似等于D1。然后我們可以簡(jiǎn)單地將結(jié)果值R2和R1進(jìn)行對(duì)比,看那個(gè)比特率更小。
其它方案可以相似地類比,例如交織編碼對(duì)連續(xù)編碼、不同的運(yùn)動(dòng)搜索范圍的編碼、帶有或者不帶有某種編碼模式的編碼等。
總而言之,我們提供了一種簡(jiǎn)單但有效的速率-失真折中的方法,其在視頻編碼中具有多種應(yīng)用。以上描述了在多媒體壓縮和編碼系統(tǒng)中通過(guò)編碼模式選擇來(lái)控制速率-失真折中的系統(tǒng)。預(yù)期本領(lǐng)域的普通技術(shù)人員在不背離本發(fā)明的范圍的情況下可以對(duì)本發(fā)明的元件的材料和配置作出改變和修改。
權(quán)利要求
1、一種在視頻壓縮和編碼系統(tǒng)中控制速率失真的方法,所述的方法包括
在預(yù)期的失真值附近選擇失真值D;
利用所述失真值D確定量化器值Q;
利用所述量化器值Q計(jì)算拉格朗日乘子lambda;以及利用所述拉格朗日乘子lambda和所述量化器值Q對(duì)象素模塊進(jìn)行編碼。
2、根據(jù)權(quán)利要求1所述的方法,所述的方法進(jìn)一步包括
當(dāng)緩存區(qū)超過(guò)溢出閾值時(shí),增加所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda超過(guò)最大的lambda閾值,就增加所述量化器值Q;以及
當(dāng)緩存區(qū)降到下溢閾值以下時(shí),減小所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda降到最小的lambda閾值以下,就減小所述量化器值Q。
3、根據(jù)權(quán)利要求2所述的的方法,所述的方法進(jìn)一步包括如果對(duì)量化器值Q進(jìn)行了調(diào)整,則重新計(jì)算所述拉格朗日乘子lambda。
4、根據(jù)權(quán)利要求2所述的方法,所述的方法進(jìn)一步包括,其中取決于所述量化器值Q,將所述拉格朗日乘子lambda增加或減少一定量。
5、根據(jù)權(quán)利要求1所述的方法,所述的方法進(jìn)一步包括
計(jì)算視覺(jué)掩蔽值M;以及
當(dāng)所述視覺(jué)掩蔽值M乘以所述拉格朗日乘子lambda小于所述拉格朗日乘子lambda的最大閾值時(shí),增加所述拉格朗日乘子lambda。
6、根據(jù)權(quán)利要求5所述的方法,其中所述拉格朗日乘子lambda的最大閾值取決于所述量化器值Q。
7、根據(jù)權(quán)利要求5所述的方法,所述的方法進(jìn)一步包括
當(dāng)緩存區(qū)超過(guò)溢出閾值時(shí),增加所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda超過(guò)最大的lambda閾值,就增加所述量化器值Q;以及
當(dāng)緩存區(qū)降到下溢閾值以下時(shí),減小所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda降到最小的lambda閾值以下,就減小所述量化器值Q。
8、根據(jù)權(quán)利要求7所述的方法,所述的方法進(jìn)一步包括如果對(duì)量化器值Q進(jìn)行了調(diào)整,則重新計(jì)算所述拉格朗日乘子lambda。
9、一種計(jì)算機(jī)可讀介質(zhì),所述的計(jì)算機(jī)可讀介質(zhì)包括一套用于實(shí)現(xiàn)在視頻壓縮和編碼系統(tǒng)中控制速率失真的方法的計(jì)算機(jī)指令,所述指令包括下列步驟
在預(yù)期的失真值附近選擇失真值D;
利用所述失真值D確定量化器值Q;
利用所述量化器值Q計(jì)算拉格朗日乘子lambda;以及利用所述拉格朗日乘子lambda和所述量化器值Q編碼象素模塊。
10、根據(jù)權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其中所述的一套計(jì)算機(jī)指令進(jìn)一步執(zhí)行下列步驟
當(dāng)緩存區(qū)超過(guò)溢出閾值時(shí),增加所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda超過(guò)最大的lambda閾值,就增加所述量化器值Q;以及
當(dāng)緩存區(qū)降到下溢閾值以下時(shí),減小所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda降到最小的lambda閾值以下,就減小所述量化器值Q。
11、根據(jù)權(quán)利要求10所述的計(jì)算機(jī)可讀介質(zhì),其中所述一套計(jì)算機(jī)指令進(jìn)一步執(zhí)行下列步驟
如果對(duì)所述量化器值Q進(jìn)行了調(diào)整,則重新計(jì)算所述拉格朗日乘子lambda。
12、根據(jù)權(quán)利要求10所述的計(jì)算機(jī)可讀介質(zhì),其中取決于所述量化器值Q,將所述拉格朗日乘子lambda增加或減少一定量。
13、根據(jù)權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其中所述的一套計(jì)算機(jī)指令進(jìn)一步執(zhí)行下列步驟
計(jì)算視覺(jué)掩蔽值M;以及
當(dāng)所述視覺(jué)掩蔽值M乘以所述拉格朗日乘子lambda小于所述拉格朗日乘子lambda的最大閾值時(shí),增加所述拉格朗日乘子lambda。
14、根據(jù)權(quán)利要求所述的13的計(jì)算機(jī)可讀介質(zhì),其中所述拉格朗日乘子lambda的最大閾值取決于所述的量化器值Q。
15、根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中所述的一套計(jì)算機(jī)指令進(jìn)一步執(zhí)行下列步驟
當(dāng)緩存區(qū)超過(guò)溢出閾值時(shí),增加所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda超過(guò)最大的lambda閾值,就增加所述量化器值Q;以及
當(dāng)緩存區(qū)降到下溢閾值以下時(shí),減小所述拉格朗日乘子lambda,如果所述拉格朗日乘子lambda降到最小的lambda閾值以下,就減小所述量化器值Q。
16、根據(jù)權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其中所述的一套計(jì)算機(jī)指令進(jìn)一步執(zhí)行下列步驟
如果對(duì)量化器值Q進(jìn)行了調(diào)整,則重新計(jì)算所述拉格朗日乘子。
全文摘要
本發(fā)明公開(kāi)了一種在視頻編碼器中通過(guò)模式選擇來(lái)控制速率—失真折中的方法和裝置。本發(fā)明的系統(tǒng)首先在預(yù)期的失真值附近選擇失真值D。接下來(lái),該系統(tǒng)利用選定的失真值D確定量化器值Q。該系統(tǒng)然后利用量化器值Q計(jì)算拉格朗日乘子lambda。利用選定的拉格朗日乘子lambda和量化器值Q,該系統(tǒng)開(kāi)始對(duì)象素模塊進(jìn)行編碼。如果系統(tǒng)檢測(cè)到潛在的緩存區(qū)溢出,則該系統(tǒng)將增加拉格朗日乘子lambda。如果拉格朗日乘子lambda超過(guò)最大的lambda閾值,則系統(tǒng)將增加量化器值Q。如果系統(tǒng)檢測(cè)到潛在的緩存區(qū)下溢,則系統(tǒng)將減小拉格朗日乘子lambda。如果拉格朗日乘子lambda降到最小的lambda閾值以下,則系統(tǒng)將減小量化器值Q。
文檔編號(hào)H04N7/30GK1708991SQ20038010196
公開(kāi)日2005年12月14日 申請(qǐng)日期2003年10月31日 優(yōu)先權(quán)日2002年11月8日
發(fā)明者B·G·哈斯克爾, A·杜米特拉什, A·普里 申請(qǐng)人:蘋果電腦有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
定结县| 合水县| 大英县| 汶川县| 汉川市| 嘉黎县| 闽侯县| 香港| 大洼县| 兴安盟| 祁门县| 崇文区| 博罗县| 海晏县| 汽车| 阳西县| 永川市| 玉林市| 徐闻县| 唐海县| 光山县| 平利县| 论坛| 夹江县| 乌拉特中旗| 达孜县| 平阳县| 大邑县| 夏河县| 德化县| 汨罗市| 岚皋县| 长沙市| 通城县| 耒阳市| 绵阳市| 宁晋县| 永泰县| 浮山县| 宿州市| 黑龙江省|