两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的制作方法

文檔序號(hào):7736728閱讀:197來源:國(guó)知局
專利名稱:可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的制作方法
可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制背景工程師使用壓縮(也叫做“編碼”)來降低數(shù)字媒體的比特率。壓縮通過將媒體轉(zhuǎn)換為較低的比特率形式來降低存儲(chǔ)和傳輸媒體的成本。解壓縮(也叫做“解碼”)從壓縮形式重構(gòu)原始媒體的版本。當(dāng)媒體編碼器將媒體轉(zhuǎn)換為較低的比特率形式時(shí),媒體編碼器會(huì)降低壓縮媒體的質(zhì)量以降低比特率。通過有選擇地去除媒體中的細(xì)節(jié),編碼器使媒體更簡(jiǎn)單且更容易壓縮, 但是經(jīng)壓縮的媒體不太忠實(shí)于原始媒體。除了此基本質(zhì)量/比特率折衷以外,媒體的比特率還取決于媒體的內(nèi)容(例如,復(fù)雜性)和媒體的格式。媒體信息是根據(jù)不同設(shè)備和應(yīng)用的不同格式來組織的。格式的許多屬性與分辨率有關(guān)。例如,對(duì)于視頻,采樣深度、空間分辨率(例如,在圖片的寬度和高度方面)和時(shí)間分辨率(例如,在每秒圖片數(shù)方面)與分辨率有關(guān)。對(duì)于音頻,采樣深度和采樣速率(例如, 在每秒采樣數(shù)方面)與分辨率有關(guān)。通常,質(zhì)量和比特率根據(jù)分辨率直接變化,越高的分辨率得到越高的質(zhì)量和越高的比特率??煽s放的媒體編碼和解碼便于將媒體遞送到具有不同能力的設(shè)備。典型的可縮放的媒體編碼器將媒體拆分為一個(gè)基層以及一個(gè)或多個(gè)增強(qiáng)層?;鶎颖旧硖峁┯糜谝暂^低的質(zhì)量重構(gòu)的媒體的版本,而增強(qiáng)層添加會(huì)提升質(zhì)量的信息。某些可縮放的編碼器和解碼器依賴于媒體的時(shí)間可縮放性(例如,低的幀速率到高的幀速率)。其他常見的可縮放的編碼/解碼方案使用對(duì)于空間分辨率或者視頻的總體編碼質(zhì)量的可縮放性(例如,低失真到高失真)??煽s放層可以表示單個(gè)類型的分辨率的不同質(zhì)量點(diǎn)(例如,用于三個(gè)不同的空間分辨率320xM0、640x480和U80x960)?;蛘?,可縮放層可以表示不同類型的分辨率的不同質(zhì)量點(diǎn)(例如,用于320x240低質(zhì)量基層、用于640x480低質(zhì)量增強(qiáng)層、用于320x240較高質(zhì)量的增強(qiáng)層、用于640x480較高質(zhì)量的增強(qiáng)層,等等)。基層以及一個(gè)或多個(gè)增強(qiáng)層可以用各個(gè)層的單獨(dú)比特流來組織。或者,各個(gè)可縮放層的內(nèi)容可以逐單元交錯(cuò)用于已編碼媒體。例如,對(duì)于音頻的第一幀,第一幀的基層數(shù)據(jù)領(lǐng)先第一幀的第一增強(qiáng)層數(shù)據(jù),而第一增強(qiáng)層數(shù)據(jù)領(lǐng)先第一幀的第二增強(qiáng)層數(shù)據(jù)。隨后,接著是音頻的第二幀的基層數(shù)據(jù)、第二幀的第一增強(qiáng)層數(shù)據(jù)和第二幀的第二增強(qiáng)層數(shù)據(jù)。對(duì)于視頻,單元可以是圖片或圖片組,其中基層數(shù)據(jù)和增強(qiáng)層數(shù)據(jù)按單元來組織。當(dāng)可縮放層表示單個(gè)類型的分辨率的不同質(zhì)量點(diǎn)并且可縮放層在比特流中逐單元地組織,則低質(zhì)量的一個(gè)或多個(gè)層可以被認(rèn)為“嵌入”在下一較高質(zhì)量的層中。這些層進(jìn)而可以被認(rèn)為嵌入在下一較高質(zhì)量的層中。選擇目標(biāo)質(zhì)量/比特率可以通過選擇每一單元的已編碼數(shù)據(jù)的一組嵌套層來完成。為不同質(zhì)量水平的層創(chuàng)建嵌入到層中的比特流的一種方法使用比特面編碼。在比特面編碼中,將圖片各塊的頻率變換系數(shù)分成具有每一變換系數(shù)的最高有效位的第一平面、具有每一系數(shù)的下一最高有效位的第二平面,以此類推,直到具有每一系數(shù)的最低有效位的平面。各個(gè)比特面在不同編碼質(zhì)量水平的不同可縮放層中編碼。通過因特網(wǎng)和其他計(jì)算機(jī)網(wǎng)絡(luò)來遞送媒體內(nèi)容已經(jīng)變得越來越流行。通過因特網(wǎng)的媒體遞送通常由可變帶寬來表征,而沒有分發(fā)媒體內(nèi)容的媒體服務(wù)器和回放媒體內(nèi)容的媒體客戶機(jī)之間的專用帶寬。如果媒體內(nèi)容的比特率過高,則媒體內(nèi)容可能被網(wǎng)絡(luò)丟棄, 造成媒體客戶機(jī)的回放停止?;蛘撸襟w客戶機(jī)可以在回放開始之前緩存一大部分的媒體內(nèi)容,但這會(huì)導(dǎo)致回放開始之前的長(zhǎng)時(shí)間延遲。另一方面,如果媒體內(nèi)容的比特率遠(yuǎn)低于網(wǎng)絡(luò)能夠遞送的比特率,則回放的媒體內(nèi)容的質(zhì)量將低于它能夠達(dá)到的質(zhì)量。通過調(diào)整媒體內(nèi)容的比特率以使得比特率更緊密地匹配可用網(wǎng)絡(luò)帶寬,媒體服務(wù)器可以改進(jìn)媒體客戶機(jī)的回放體驗(yàn)。雖然調(diào)整媒體內(nèi)容的質(zhì)量和比特率的現(xiàn)有方法在許多場(chǎng)景中提供了足夠的性能,但它們不具有以下描述的技術(shù)和工具的好處和優(yōu)點(diǎn)。概述概括地說,詳細(xì)描述呈現(xiàn)了用于調(diào)整通過網(wǎng)絡(luò)遞送的媒體的質(zhì)量和比特率的技術(shù)和工具。例如,對(duì)于多個(gè)獨(dú)立媒體塊,可縮放媒體編碼器用多個(gè)比特率/質(zhì)量水平來編碼各個(gè)塊以用于精細(xì)粒度可縮放性,并且服務(wù)器存儲(chǔ)已編碼媒體。取決于網(wǎng)絡(luò)特性和客戶機(jī)回放偏好,對(duì)于多個(gè)塊中的每一個(gè),客戶機(jī)選擇比特率/質(zhì)量水平,并且可縮放媒體編碼器解碼用所選質(zhì)量水平遞送給它的已編碼媒體。增加多個(gè)塊的比特率/質(zhì)量水平選項(xiàng)的數(shù)量允許客戶機(jī)更精確地定制它的選擇來滿足客戶機(jī)回放偏好并適應(yīng)媒體比特率或網(wǎng)絡(luò)特性的變化。根據(jù)此處描述的技術(shù)和工具的第一方面,諸如服務(wù)器等的工具遞送被組織成多個(gè)塊的媒體數(shù)據(jù)。多個(gè)塊中的每一個(gè)被編碼為帶有精細(xì)粒度可縮放性的不同質(zhì)量水平的多個(gè)可縮放層。該工具發(fā)送各塊的曲線信息。對(duì)于給定塊,曲線信息可以包括對(duì)塊的速率-失真曲線進(jìn)行參數(shù)化的速率-失真點(diǎn)?;蛘?,曲線信息可以包括指示塊的速率-失真曲線的形狀的一組參數(shù)。對(duì)于多個(gè)塊中的每一個(gè),該工具接收指示速率-失真偏好的反饋,并且至少部分地基于該反饋來從塊的可縮放層中選擇一個(gè)或多個(gè)可縮放層。例如,服務(wù)器將曲線信息發(fā)送給給定媒體客戶機(jī),從給定媒體客戶機(jī)接收反饋,并將所選層發(fā)送回給定媒體客戶機(jī)。當(dāng)服務(wù)器存儲(chǔ)塊的可縮放層和曲線信息時(shí),服務(wù)器可以在不同時(shí)間將曲線信息和所選層遞送給不同的媒體客戶機(jī)。例如,塊的多個(gè)可縮放層包括基層和多個(gè)殘留層。多個(gè)殘留層可以是從塊的比特面編碼而導(dǎo)致的殘留嵌入層,其中嵌入層中的每一個(gè)表示塊的變換系數(shù)的比特面。在遞送塊的層時(shí),該工具總是選擇和發(fā)送塊的基層。取決于速率-失真偏好,該工具選擇和發(fā)送塊的多個(gè)殘留層中的零個(gè)或多個(gè)。根據(jù)此處描述的技術(shù)和工具的第二方面,諸如媒體客戶機(jī)等的工具處理被組織成多個(gè)塊的媒體數(shù)據(jù),其中多個(gè)塊中的每一個(gè)已經(jīng)被編碼為帶有精細(xì)粒度可縮放性的不同質(zhì)量水平的多個(gè)可縮放層。該工具接收多個(gè)塊的曲線信息。對(duì)于各塊中的每一個(gè),該工具確定塊的速率-失真偏好(例如,按照位計(jì)數(shù)或位范圍)并發(fā)送速率-失真偏好。該工具隨后接收塊的多個(gè)可縮放層之中的一個(gè)或多個(gè)可縮放層。例如,媒體客戶機(jī)從給定服務(wù)器接收曲線信息,將速率-失真偏好發(fā)送給服務(wù)器,然后從服務(wù)器接收回所選層。對(duì)于給定塊,曲線信息可以包括該工具用來將失真確定為塊的可縮放層的下載時(shí)間的函數(shù)的速率-失真信息。例如,在確定速率失真偏好時(shí),對(duì)于一個(gè)或多個(gè)塊的段,該工具確定該段的總體回放時(shí)間約束。對(duì)于段中的一個(gè)或多個(gè)塊中的每一個(gè),該工具選擇下載時(shí)間從而減少段中的一個(gè)或多個(gè)塊之間的總體失真,同時(shí)還滿足該段的總體回放時(shí)間約束。下載時(shí)間的選擇可以包括設(shè)置權(quán)重參數(shù)從而使得該段的累計(jì)下載時(shí)間匹配總體回放時(shí)間約束。對(duì)于包括多個(gè)塊的段,塊的下載時(shí)間的選擇可以包括將段拆分成多個(gè)子段。隨后, 對(duì)于多個(gè)子段中的每一個(gè),該工具確定子段的總體回放時(shí)間約束,并且對(duì)于子段中的一個(gè)或多個(gè)塊中的每一個(gè),選擇下載時(shí)間從而減少子段中的一個(gè)或多個(gè)塊之間的總體失真,同時(shí)還滿足子段的總體回放時(shí)間約束。根據(jù)此處描述的技術(shù)和工具的第三方面,諸如媒體客戶機(jī)等的工具接收被組織成多個(gè)塊的媒體數(shù)據(jù)的流頭部,其中多個(gè)塊中的每一個(gè)已經(jīng)被編碼為帶有精細(xì)粒度可縮放性的不同質(zhì)量水平的多個(gè)可縮放層。該工具接收多個(gè)塊的曲線信息。對(duì)于多個(gè)塊中的每一個(gè), 塊的曲線信息指示與塊的多個(gè)可縮放層中的每一個(gè)相關(guān)聯(lián)的不同速率-失真點(diǎn)。該工具分別確定多個(gè)塊的速率-失真偏好并發(fā)送速率-失真偏好。對(duì)于多個(gè)塊中的每一個(gè),該工具接收塊的一個(gè)或多個(gè)可縮放層。通過下面的結(jié)合附圖對(duì)本發(fā)明進(jìn)行的詳細(xì)描述,本發(fā)明的前述和其他目標(biāo)、特點(diǎn)和優(yōu)點(diǎn)將變得更加顯而易見。提供本概述是為了以精簡(jiǎn)的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征, 也不旨在用于限定所要求保護(hù)的主題的范圍。附圖簡(jiǎn)述

圖1是示出其中可以實(shí)現(xiàn)所描述的若干技術(shù)和工具的合適的計(jì)算環(huán)境的框圖。圖2是示出其中可以實(shí)現(xiàn)若干所描述的技術(shù)和工具的示例可縮放媒體遞送系統(tǒng)的圖。圖3是示出用具有可縮放層的塊來組織的已編碼媒體的示例文件格式的圖。圖4是示出可縮放媒體的不同塊的失真-下載時(shí)間曲線的圖表。圖5是示出用于將曲線信息和媒體的可縮放層遞送給客戶機(jī)的一般化技術(shù)的流程圖。圖6是示出用于處理曲線信息和向服務(wù)器請(qǐng)求媒體的可縮放層的一般化技術(shù)的流程圖。圖7是示出用于確定媒體的各塊的速率-失真偏好的示例技術(shù)的流程圖。詳細(xì)描述本申請(qǐng)涉及用于可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的技術(shù)和工具。這些技術(shù)和工具允許客戶機(jī)通過選擇媒體的比特率/質(zhì)量水平來定制其回放體驗(yàn)。增加在對(duì)媒體的各塊進(jìn)行編碼時(shí)所使用的比特率/質(zhì)量水平選項(xiàng)的數(shù)量允許客戶機(jī)更精確地定制其對(duì)其回放偏好、媒體復(fù)雜性的變化和網(wǎng)絡(luò)狀況的變化的選擇。例如,服務(wù)器存儲(chǔ)已經(jīng)用多個(gè)比特率可縮放地編碼(并因此多個(gè)質(zhì)量水平)的媒體內(nèi)容的各塊。對(duì)于客戶機(jī),服務(wù)器發(fā)送關(guān)于對(duì)各塊可用的多個(gè)比特率/質(zhì)量水平的信息。 考慮該信息,客戶機(jī)通過為該客戶機(jī)希望回放的每一塊選擇比特率/質(zhì)量水平來定制其回放體驗(yàn)。在決定要選擇哪些比特率/質(zhì)量水平時(shí),客戶機(jī)可以考慮多個(gè)因素??蛻魴C(jī)可以為要回放的每一塊選擇比特率/質(zhì)量水平從而具有服從諸如服務(wù)器和客戶機(jī)之間的網(wǎng)絡(luò)狀況之類的約束、優(yōu)選啟動(dòng)等待時(shí)間和優(yōu)選假信號(hào)容忍度的可能的最佳質(zhì)量。網(wǎng)絡(luò)狀況包括可以由于網(wǎng)絡(luò)擁塞或其他因素而隨著時(shí)間變化的網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)延時(shí)。啟動(dòng)等待時(shí)間指的是在客戶機(jī)在開始解碼和回放媒體內(nèi)容之前緩存媒體內(nèi)容的延時(shí)。增加啟動(dòng)延時(shí)允許客戶
7機(jī)緩存更多的媒體內(nèi)容,這通常允許客戶機(jī)提升總體質(zhì)量水平。然而,用戶通常偏好小的啟動(dòng)等待時(shí)間從而回放更快地開始。術(shù)語假信號(hào)指的是由于丟失數(shù)據(jù)而導(dǎo)致的回放中斷。例如,當(dāng)解碼器在回放期間到達(dá)一幀音頻或視頻但丟失需要用于解碼幀的數(shù)據(jù)時(shí),解碼器停止回放或試圖隱藏丟失部分。通常,客戶機(jī)對(duì)假信號(hào)具有極少的容忍度或沒有容忍度?;蛘?,客戶機(jī)考慮其它和/或附加因素。在某些實(shí)現(xiàn)中,可縮放媒體編碼器使用媒體內(nèi)容的頻率系數(shù)的比特面編碼??蛻魴C(jī)通過從嵌入的比特流中選擇一個(gè)或多個(gè)比特面來為塊選擇比特率/質(zhì)量水平。這類似于允許客戶機(jī)執(zhí)行編碼的系數(shù)的簡(jiǎn)單的速率-失真量化。雖然比特面選擇不允許客戶機(jī)控制諸如變換塊大小或過濾參數(shù)等編碼器設(shè)置,但它為不同客戶機(jī)提供了一種定制那些客戶機(jī)回放的編碼結(jié)果的方式。速率粒度和質(zhì)量控制取決于塊的大小和比特面的數(shù)量。每塊具有越多的比特面和越小的塊提供了對(duì)客戶機(jī)的越精細(xì)粒度的控制,而每塊具有越少的比特面或越大的塊給予客戶機(jī)越少的選項(xiàng)和越粗略的控制粒度。取決于實(shí)現(xiàn),可縮放媒體編碼器可以在嵌入表示中使用較精細(xì)的可縮放性(例如,精細(xì)到逼近比特粒度的水平)或較粗略的可縮放性(例如,帶有基層和若干殘留層),只要在每塊的多個(gè)速率/質(zhì)量點(diǎn)中的任一處的截?cái)嗟玫接行У谋忍亓??;蛘?,可縮放媒體編碼器提供可縮放層但不使用比特面編碼或嵌入比特流。除了提供帶有在塊邊界切換比特率和質(zhì)量的能力的客戶機(jī)之外,在某些實(shí)現(xiàn)中, 此處描述的可縮放媒體遞送體系結(jié)構(gòu)結(jié)合大規(guī)模內(nèi)容遞送網(wǎng)絡(luò)(“CDN”)來實(shí)現(xiàn)。例如, 用來遞送帶有HTTP分組的Web內(nèi)容的⑶N還可以高速緩存媒體內(nèi)容以供遞送給客戶機(jī)。 當(dāng)CDN包括在分布式地理位置高速緩存媒體內(nèi)容的多個(gè)服務(wù)器時(shí),客戶機(jī)-服務(wù)器下載時(shí)間可以由于地理鄰近和服務(wù)器負(fù)載平衡而減少。此外,在某些實(shí)現(xiàn)中,盡管對(duì)某些CDN的高速緩存限制使得大型文件的高速緩存變得有問題,但精細(xì)粒度的可縮放性導(dǎo)致已編碼媒體內(nèi)容塊的各層的較小的文件大小。為了利用客戶機(jī)側(cè)速率控制的優(yōu)點(diǎn),CDN中的服務(wù)器存儲(chǔ)用大速率數(shù)和質(zhì)量水平編碼的媒體,其中不同的速率與給定塊的不同文件集相對(duì)應(yīng)。例如,從可縮放媒體編碼器輸出的嵌入比特流被拆分成塊的不同文件(帶有與不同的系數(shù)量化水平相對(duì)應(yīng)的不同水平的比特流截?cái)?,并且現(xiàn)有CDN中的服務(wù)器存儲(chǔ)該不同文件,這便于客戶機(jī)在沒有對(duì)現(xiàn)有CDN的服務(wù)器進(jìn)行服務(wù)器側(cè)修改的情況下的精細(xì)粒度的速率控制。 或者,代替使不同的可縮放層的截?cái)帱c(diǎn)與單獨(dú)文件的文件邊界對(duì)齊(從而使得客戶機(jī)在指示其速率-失真偏好時(shí)整體地請(qǐng)求特定文件集或請(qǐng)求對(duì)應(yīng)于文件集的比特?cái)?shù)),服務(wù)器可以改為存儲(chǔ)帶有不同可縮放層的嵌入比特流的單個(gè)文件。在這種情況下,服務(wù)器響應(yīng)于來自客戶機(jī)的速率-失真偏好(例如,字節(jié)范圍請(qǐng)求)在單個(gè)文件中的任意位置處截?cái)啾忍亓鳌;蛘撸?wù)器可以使用這些機(jī)制的組合,為多個(gè)文件中的每一個(gè)中的一個(gè)或多個(gè)不同層的至少一部分存儲(chǔ)嵌入比特流。響應(yīng)于來自客戶機(jī)的速率-失真偏好(例如,整體地發(fā)送文件0、文件1和文件2,并且只發(fā)送塊7的文件3的字節(jié)0到900或只發(fā)送塊7的6300個(gè)字節(jié)),服務(wù)器可以發(fā)送一個(gè)或多個(gè)完整文件和/或?qū)?yīng)于嵌入比特流中的截?cái)帱c(diǎn)的部分文件。此處描述的技術(shù)和工具的發(fā)明性方面,包括但不限于以下各項(xiàng) 1.將可縮放媒體編碼器和解碼器用于精細(xì)粒度的客戶機(jī)側(cè)的速率控制。精細(xì)粒度的客戶機(jī)側(cè)的速率控制允許不同的客戶機(jī)精確地對(duì)其各自的情況定制媒體遞送和回放。
2.使用指示媒體內(nèi)容的塊的可縮放層的速率-失真特性的曲線信息。服務(wù)器存儲(chǔ)各塊的曲線信息并將曲線信息發(fā)送給客戶機(jī),客戶機(jī)評(píng)估曲線信息并確定各塊中的每一個(gè)的速率-失真偏好。不同的塊通常具有不同的曲線信息。曲線信息有效地對(duì)各個(gè)塊的速率-失真屬性進(jìn)行參數(shù)化以便精細(xì)粒度的客戶機(jī)側(cè)的速率控制。3.客戶機(jī)在評(píng)估速率-失真曲線信息時(shí)用來確定請(qǐng)求媒體內(nèi)容的哪些比特率/質(zhì)量水平的決策制定過程。通過使用速率-失真曲線信息來將失真確定為下載時(shí)間的函數(shù), 決策制定過程幫助客戶機(jī)改進(jìn)速率-失真性能同時(shí)還考慮網(wǎng)絡(luò)狀況及其回放偏好。4.現(xiàn)有HTTP CDN的請(qǐng)求機(jī)制(例如,字節(jié)范圍GET請(qǐng)求)的使用來獲得媒體內(nèi)容的所需比特?cái)?shù)。充分利用現(xiàn)有CDN基礎(chǔ)結(jié)構(gòu)簡(jiǎn)化了帶有精細(xì)粒度的客戶機(jī)側(cè)速率控制的可縮放媒體遞送的實(shí)現(xiàn)。通過利用已經(jīng)普遍的現(xiàn)有HTTP服務(wù)器,幫助避免了使用專用媒體服務(wù)器的需要。此處所描述的實(shí)現(xiàn)方式可能有各種不同的替代方案。通過改變流程圖所示出的階段的順序,通過拆分、重復(fù)或省略某些階段等等,可以改變參考流程圖所描述的某些技術(shù)。 可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的不同方面可以組合使用或單獨(dú)使用。不同的實(shí)施例實(shí)現(xiàn)所描述的技術(shù)和工具的一個(gè)或多個(gè)。此處所描述的一些技術(shù)和工具解決背景中指出的一個(gè)或多個(gè)問題。通常,給定的技術(shù)/工具不會(huì)解決所有這樣的問題。I.計(jì)算環(huán)境圖1示出了其中可以實(shí)現(xiàn)所描述的若干技術(shù)和工具的合適的計(jì)算環(huán)境(100)的一般化示例。操作環(huán)境(100)不旨在對(duì)使用范圍或功能提出任何限制,因?yàn)榧夹g(shù)和工具可以在各種通用或?qū)S糜?jì)算環(huán)境中實(shí)現(xiàn)。參考圖1,計(jì)算環(huán)境(100)包括至少一個(gè)處理單元(110)和存儲(chǔ)器(120)。在圖1 中,此最基本配置(130)包括在虛線內(nèi)。處理單元(110)執(zhí)行計(jì)算機(jī)可執(zhí)行指令,并可以是現(xiàn)實(shí)的或虛擬的處理器。在多處理系統(tǒng)中,多個(gè)處理單元執(zhí)行計(jì)算機(jī)可執(zhí)行指令以提高處理能力。存儲(chǔ)器(120)可以是易失性存儲(chǔ)器(例如,寄存器、高速緩存、RAM)、非易失性存儲(chǔ)器(例如,R0M、EEPR0M、閃存等等),或兩者的某種組合。存儲(chǔ)器(120)存儲(chǔ)實(shí)現(xiàn)可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的服務(wù)器側(cè)和/或客戶機(jī)側(cè)功能的軟件(180)。計(jì)算環(huán)境可以具有附加特征。例如,計(jì)算環(huán)境(100)包括存儲(chǔ)器(140)、一個(gè)或多個(gè)輸入設(shè)備(150)、一個(gè)或多個(gè)輸出設(shè)備(160),以及一個(gè)或多個(gè)通信連接(170)。諸如總線、控制器或網(wǎng)絡(luò)之類的互連機(jī)制(未示出)將計(jì)算環(huán)境(100)的組件互連在一起。通常, 操作系統(tǒng)軟件(未示出)為在計(jì)算環(huán)境(100)中執(zhí)行的其他軟件提供操作環(huán)境,并協(xié)調(diào)計(jì)算環(huán)境(100)的各組件的活動(dòng)。存儲(chǔ)設(shè)備(140)可以是可移動(dòng)或不可移動(dòng)的,并包括磁盤、磁帶或磁帶盒、 CD-ROM、DVD,或能用于存儲(chǔ)信息且可以在計(jì)算環(huán)境(100)內(nèi)被訪問的任何其他介質(zhì)。存儲(chǔ)設(shè)備(140)存儲(chǔ)用于實(shí)現(xiàn)可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的服務(wù)器側(cè)和/或客戶機(jī)側(cè)功能的軟件(180)的指令。輸入設(shè)備(150)可以是諸如鍵盤、鼠標(biāo)、筆或軌跡球之類的觸摸輸入設(shè)備、語音輸入設(shè)備、掃描設(shè)備、或向計(jì)算環(huán)境(100)提供輸入的另一設(shè)備。對(duì)于音頻或視頻編碼,輸入設(shè)備(150)可以是聲卡、視頻卡、TV調(diào)諧器卡,或接受模擬或數(shù)字形式的音頻或視頻輸入的
9類似的設(shè)備,或?qū)⒁纛l或視頻采樣讀取到計(jì)算環(huán)境(100)中的CD-ROM或CD-RW。輸出設(shè)備 (160)可以是顯示器、打印機(jī)、揚(yáng)聲器、CD-寫入器,或從計(jì)算環(huán)境(100)提供輸出的另一設(shè)備。通信連接(170)允許通過通信介質(zhì)與另一個(gè)計(jì)算實(shí)體進(jìn)行通信。通信介質(zhì)在已調(diào)數(shù)據(jù)信號(hào)中傳送諸如計(jì)算機(jī)可執(zhí)行指令、音頻或視頻輸入或輸出之類的信息或其他數(shù)據(jù)。 已調(diào)制數(shù)據(jù)信號(hào)是以在信號(hào)中編碼信息的方式來設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括利用電氣、光學(xué)、射頻(RF)、紅外線、聲音或其他載體實(shí)現(xiàn)的有線或無線技術(shù)??梢栽谟?jì)算機(jī)可讀介質(zhì)的一般上下文中來描述技術(shù)和工具。計(jì)算機(jī)可讀介質(zhì)是可以在計(jì)算環(huán)境內(nèi)被訪問的任何可用介質(zhì)。作為示例而非限制,對(duì)于計(jì)算環(huán)境(100),計(jì)算機(jī)可讀介質(zhì)包括存儲(chǔ)器(120)、存儲(chǔ)設(shè)備(140)、通信介質(zhì),以及上面各項(xiàng)中的任何項(xiàng)的組合??梢栽谥T如在目標(biāo)實(shí)際或虛擬處理器上的計(jì)算環(huán)境中執(zhí)行的諸如程序模塊中所包括的那些計(jì)算機(jī)可執(zhí)行指令之類的計(jì)算機(jī)可執(zhí)行指令的一般上下文中來描述技術(shù)和工具。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、庫、對(duì)象、類、組件、數(shù)據(jù)結(jié)構(gòu)等等。程序模塊的功能可以按需在各個(gè)實(shí)施例中進(jìn)行組合或在程序模塊之間拆分。程序模塊的計(jì)算機(jī)可執(zhí)行指令可以在本地或分布式計(jì)算環(huán)境內(nèi)執(zhí)行。為了呈現(xiàn)起見,本詳細(xì)描述使用了如“選擇”和“重構(gòu)”等術(shù)語來描述計(jì)算環(huán)境中的計(jì)算機(jī)操作。這些術(shù)語是對(duì)于由計(jì)算機(jī)執(zhí)行的操作的高級(jí)抽象,不應(yīng)該與人執(zhí)行的動(dòng)作相混淆。與這些術(shù)語相對(duì)應(yīng)的實(shí)際計(jì)算機(jī)操作隨著實(shí)現(xiàn)不同而不同。II.網(wǎng)絡(luò)環(huán)境圖2示出包括通過網(wǎng)絡(luò)(230)來將媒體內(nèi)容分發(fā)給多個(gè)媒體客戶機(jī)(250 J60、 270)的服務(wù)器Q10、220)的示例可縮放媒體遞送系統(tǒng)000)。網(wǎng)絡(luò)(230)可以包括因特網(wǎng)或另一計(jì)算機(jī)網(wǎng)絡(luò)。媒體服務(wù)器(210)包括用于對(duì)諸如音頻或視頻之類的媒體進(jìn)行編碼的可縮放媒體編碼器(21 。可縮放媒體編碼器(21 將單獨(dú)的媒體塊編碼為不同的質(zhì)量/比特率層, 這便于取決于不同層的數(shù)量的可為精細(xì)粒度或粗略粒度的可縮放性。可縮放媒體編碼器 (212)可以使用媒體的頻譜系數(shù)的比特面編碼來產(chǎn)生嵌入層。有了該嵌入層,媒體客戶機(jī)對(duì)所需數(shù)量或范圍的比特的請(qǐng)求導(dǎo)致在所需比特?cái)?shù)處或恰好在所需比特?cái)?shù)下的一組層的選擇?;蛘?,可縮放媒體編碼器(21 使用另一編碼方案。此外,雖然圖2示出可縮放媒體編碼器(21 和服務(wù)器側(cè)控制器(214) —起在媒體服務(wù)器010)中,可替換地,媒體服務(wù)器 (210)從媒體服務(wù)器(210)外部的可縮放媒體編碼器接收已編碼媒體內(nèi)容。媒體服務(wù)器(210)用媒體的每一塊的可縮放層的形式來存儲(chǔ)已編碼數(shù)據(jù)以及媒體的頭部信息(例如,流頭部)。另外,媒體服務(wù)器(210)存儲(chǔ)各塊中的每一個(gè)的速率-失真曲線信息。例如,速率-失真曲線信息包括給定塊的每一可縮放層的質(zhì)量(或失真)信息以及速率信息?;蛘撸唤M參數(shù)指示給定塊的速率-失真曲線的形狀。媒體服務(wù)器(210) 可在不同文件中存儲(chǔ)塊的不同可縮放層,存儲(chǔ)帶有被組織成嵌入比特流的不同可縮放層的單個(gè)文件,或存儲(chǔ)各自具有一個(gè)或多個(gè)不同可縮放層的至少一部分的嵌入比特流的多個(gè)文件。服務(wù)器側(cè)媒體控制器(214)管理與一個(gè)或多個(gè)媒體客戶機(jī)Q50、260、270)的連接。當(dāng)給定媒體客戶機(jī)請(qǐng)求媒體流時(shí),服務(wù)器側(cè)媒體控制器(214)將流的流頭部連同媒體流中的部分或全部塊的速率-失真曲線信息一起發(fā)送給媒體客戶機(jī)。對(duì)于塊,服務(wù)器側(cè)媒體控制器(214)最后從媒體客戶機(jī)接收指示塊的速率-失真偏好的反饋??紤]塊的速率-失真偏好,服務(wù)器側(cè)控制器(214)選擇該塊的一個(gè)或多個(gè)可縮放層并將所選層發(fā)送給媒體客戶機(jī)。例如,服務(wù)器側(cè)控制器(214)選擇共同滿足或接近滿足媒體客戶機(jī)的速率-失真偏好的該塊的可縮放層。一般而言,媒體服務(wù)器(210)和服務(wù)器側(cè)媒體控制器(214)是 “啞的”,因?yàn)樗鼈冇煤?jiǎn)單而直接的方式對(duì)來自客戶機(jī)O50、260、270)的反饋?zhàn)鞒龇磻?yīng)。這幫助服務(wù)器(210)并發(fā)地管理與大量客戶機(jī)的連接,并且這簡(jiǎn)化了適配現(xiàn)有服務(wù)器以協(xié)作媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的任務(wù)。在圖2中,第二服務(wù)器(220)示出其中服務(wù)器(220)只是存儲(chǔ)和提供媒體內(nèi)容的各塊的不同可縮放層的文件的Web服務(wù)器的示例實(shí)現(xiàn)。例如,分開的可縮放媒體編碼器離線地對(duì)媒體內(nèi)容進(jìn)行編碼。服務(wù)器(220)將給定塊的不同可縮放層存儲(chǔ)為不同的文件,或存儲(chǔ)為帶有被組織成嵌入比特流的不同可縮放層的單個(gè)文件,或存儲(chǔ)為各自具有一個(gè)或多個(gè)不同可縮放層的至少一部分的嵌入比特流的多個(gè)文件。服務(wù)器(220)還存儲(chǔ)流頭部的程序描述信息以及媒體內(nèi)容的各塊的速率-失真曲線信息。在服務(wù)器Ο20)中,服務(wù)器側(cè)控制器被實(shí)現(xiàn)為檢索文件或文件范圍來發(fā)送給媒體客戶機(jī)Ο50、260、270)中的一個(gè)或多個(gè)的文件服務(wù)器OM)??蛻魴C(jī)(250J60、270)中的一個(gè)請(qǐng)求頭部文件(例如,包括程序描述信息和速率-失真曲線信息),服務(wù)器(220)簡(jiǎn)單地將該頭部文件提供給客戶機(jī)??蛻魴C(jī)隨后請(qǐng)求與媒體內(nèi)容的各塊的可縮放層相對(duì)應(yīng)的文件或文件范圍,并且服務(wù)器(220)簡(jiǎn)單地將所請(qǐng)求的內(nèi)容提供給客戶機(jī)。媒體客戶機(jī)(250)包括客戶機(jī)側(cè)控制器(254)和用于對(duì)諸如音頻或視頻之類的媒體進(jìn)行解碼的可縮放媒體解碼器(25 。在請(qǐng)求了媒體流之后,客戶機(jī)側(cè)控制器(254)接收流頭部以及媒體流中的部分或全部塊的速率-失真曲線信息。對(duì)于長(zhǎng)的流或在捕捉之后短暫延遲遞送的流,客戶機(jī)側(cè)控制器可以接收各塊的子集的速率-失真曲線信息,稍后提供其他塊的更多的曲線信息。媒體客戶機(jī)(250)具有在解碼之前臨時(shí)地存儲(chǔ)媒體流的已編碼數(shù)據(jù)的緩存。基于塊的速率-失真信息以及諸如緩存充滿度(可以是所需等待時(shí)間的函數(shù),先前下載的塊的比特率和回放率,以及網(wǎng)絡(luò)狀況)之類的準(zhǔn)則和/或所估計(jì)的下載時(shí)間(作為速率和塊的函數(shù)),客戶機(jī)側(cè)控制器(254)尋找該塊的速率-失真偏好。例如,客戶機(jī)側(cè)控制器(254) 尋找塊的速率分配并請(qǐng)求塊的比特?cái)?shù)或比特范圍。在某些實(shí)現(xiàn)中,客戶機(jī)側(cè)控制器(254) 發(fā)送對(duì)于塊的比特的字節(jié)范圍請(qǐng)求GET。或者,客戶機(jī)側(cè)控制器發(fā)送對(duì)與塊的速率-失真偏好相對(duì)應(yīng)的特定文件和/或文件范圍的請(qǐng)求??煽s放媒體解碼器(25 對(duì)被編碼為不同質(zhì)量/比特率層的媒體的各個(gè)塊進(jìn)行解碼??煽s放媒體解碼器(252)可以使用媒體的頻譜系數(shù)的比特面解碼。一般而言,響應(yīng)于對(duì)塊的所需比特?cái)?shù)或比特范圍的請(qǐng)求,可縮放媒體解碼器(25 通過使用由客戶機(jī)側(cè)控制器 (254)接收的層來重構(gòu)塊?;蛘撸煽s放媒體解碼器(25 使用另一解碼方案。此外,雖然圖2示出可縮放媒體解碼器(25 和客戶機(jī)側(cè)控制器(254) —起在媒體客戶機(jī)O50)中, 但媒體客戶機(jī)(250)另選地將已編碼媒體內(nèi)容輸出給媒體客戶機(jī)(250)外部的可縮放媒體解碼器。
11
III.示例可縮放媒體組織和文件格式結(jié)合可縮放媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制,可縮放媒體編碼器和解碼器可以將各種編碼/解碼技術(shù)和文件格式中的任一種用于已編碼數(shù)據(jù)。本章節(jié)描述了示例文件格式和組織已編碼媒體的方式。編碼器將媒體內(nèi)容分成獨(dú)立編碼的各塊。約束編碼以避免塊間依賴性便于隨機(jī)存取功能,因?yàn)榻獯a可以在任意給定塊開始。例如,對(duì)于視頻,塊可以是包括幀內(nèi)編碼圖片然后是幀間編碼圖像的封閉圖片組(“G0P”),在GOP外部的圖片之間不存在依賴性。對(duì)于音頻,在許多編碼方法中,音頻樣本的各幀缺少幀間依賴性,并且塊是某一整數(shù)個(gè)的幀。在隨機(jī)存取之后,在查找位置對(duì)初始幀的開始處的樣本的諸如重疊-加操作之類的操作被忽略。一般而言,將媒體內(nèi)容劃分成獨(dú)立的塊取決于實(shí)現(xiàn)。不同類型的媒體塊不必在塊邊界上同步。或者,編碼器約束塊間的依賴性來允許塊的最低比特率版本之間的依賴性。允許塊間的依賴性可以促進(jìn)較高的壓縮效率,以隨機(jī)存取功能為某些代價(jià)。例如,在查找位置開始回放時(shí),客戶機(jī)下載和重構(gòu)查找位置處的塊所依賴于的先前的塊。一旦將內(nèi)容分成各個(gè)塊,編碼器用多個(gè)比特率(并因此多個(gè)質(zhì)量水平)對(duì)各塊進(jìn)行編碼。假定恒定的傳輸速率,已編碼媒體的塊的比特率與塊的文件大小相對(duì)應(yīng)。為了改進(jìn)客戶機(jī)側(cè)速率控制的靈活性,服務(wù)器增加了可用比特率(和質(zhì)量水平)的數(shù)量。在某些實(shí)現(xiàn)中,編碼器使用來自可縮放媒體編碼的輸出的嵌入比特流來實(shí)現(xiàn)精細(xì)粒度的可縮放性。比特流截?cái)嗤ㄟ^選擇比特率/質(zhì)量水平點(diǎn)來設(shè)置塊的相應(yīng)系數(shù)的量化水平。本質(zhì)上,調(diào)節(jié)系數(shù)的量化允許客戶機(jī)控制客戶機(jī)請(qǐng)求的系數(shù)的速率-失真性能。然而,它不允許客戶機(jī)控制更復(fù)雜的編碼設(shè)置。通常,這不顯著破壞質(zhì)量,只要比特率范圍不是非常大,此時(shí)編碼器可以用其他方式在不同質(zhì)量/速率極端處使用不同設(shè)置?;蛘撸吮忍孛婢幋a或者與比特面編碼組合,媒體編碼沿空間、時(shí)間、色彩空間和/或采樣深度維度來使用可縮放編碼。可縮放性的粒度取決于實(shí)現(xiàn)。理論上,粒度可以與比特級(jí)粒度一樣精細(xì)。實(shí)際上, 對(duì)于給定塊,使用基層和所需數(shù)量的殘留層通常向客戶機(jī)提供可接受數(shù)量的比特率/質(zhì)量水平點(diǎn),只要對(duì)不同塊的不同比特率/質(zhì)量水平的任意選擇得到有效的比特流。圖3示出媒體內(nèi)容的已編碼塊的文件(300)的示例文件格式。文件(300)的組織幫助服務(wù)器用不同的速率/指令水平將媒體內(nèi)容遞送給不同的客戶機(jī)。對(duì)于有關(guān)某些實(shí)現(xiàn)中的文件格式的附加細(xì)節(jié),參見2008年5月12日提交的題為“Optimized Client Side Rate Control and Indexed File Layout for StreamingMediaWtt^ 戶機(jī)側(cè)速率控制和索引的文件布局),,的第12/119,364號(hào)美國(guó)專利,該專利的公開內(nèi)容通過引用結(jié)合于此?;蛘?,服務(wù)器使用另一格式的文件用于媒體數(shù)據(jù)的已編碼塊。文件(300)具有包括關(guān)于媒體內(nèi)容的完整流的參數(shù)的程序描述域(310)。這些參數(shù)可以包括關(guān)于流的元數(shù)據(jù)以及關(guān)于編碼/解碼設(shè)置的信息。文件(300)還包括流的文件級(jí)索引(320)。索引(320)存儲(chǔ)流中的媒體內(nèi)容的各塊的速率-失真曲線信息。例如,索引(320)存儲(chǔ)對(duì)塊可用的比特率/質(zhì)量水平的數(shù)量以及每一層的大小信息和質(zhì)量信息,這些信息指示塊的速率-失真曲線上的點(diǎn)?;蛘?,更一般地,索引(320)存儲(chǔ)用某一其他方式參數(shù)化,例如,作為參數(shù)表示的塊的速率-失真曲線信肩、ο
12
圖3示出文件(300)中m個(gè)塊的數(shù)據(jù)。塊0的索引(330)引用塊0的媒體數(shù)據(jù)文件(340),塊1的索引(331)引用塊1的媒體數(shù)據(jù)文件(341),以此類推。圖3示出塊0的媒體數(shù)據(jù)文件(340)的詳細(xì)內(nèi)容,它包括公用數(shù)據(jù)域(350)和帶有可以具有可變大小的η個(gè)不同比特率/質(zhì)量水平的數(shù)據(jù)的層數(shù)據(jù)域(352)。公用數(shù)據(jù)域(350)包括編碼/解碼參數(shù)和回放塊時(shí)總是使用的其他信息。層數(shù)據(jù)域(35 包括基層0(360)和從對(duì)塊進(jìn)行可縮放媒體編碼成可以具有可變大小的η個(gè)層中得到的n-1個(gè)殘留層(361、362、369)。例如,n_l 個(gè)殘留層(361、362、369)存儲(chǔ)從嵌入比特流中拆分中的已編碼頻譜系數(shù)數(shù)據(jù)。在某些實(shí)現(xiàn)中,層(360... 369)中的每一個(gè)將一個(gè)或多個(gè)不同可縮放層的至少一部分存儲(chǔ)為嵌入比特流。為了回放流,客戶機(jī)請(qǐng)求和接收流的程序描述域(310)和文件級(jí)索引(320)。對(duì)于每一塊,客戶機(jī)請(qǐng)求和接收公用數(shù)據(jù)(350),并且考慮適用于塊的文件級(jí)索引(320)信息, 從塊的層數(shù)據(jù)域(352)中請(qǐng)求(例如,通過使用字節(jié)范圍請(qǐng)求)和接收零個(gè)或多個(gè)層(或其范圍)。通常,層數(shù)據(jù)域(352)使用塊的大部分比特率,并且客戶機(jī)通過選擇要請(qǐng)求多少層數(shù)據(jù)域(35 來選擇用于塊的回放的速率/質(zhì)量點(diǎn)。根據(jù)圖3所示的文件(300)的文件格式,可縮放媒體編碼器產(chǎn)生被分為塊的層數(shù)據(jù)域(35 的η個(gè)可縮放層,其中文件級(jí)索引(320)存儲(chǔ)指示塊的相應(yīng)的η個(gè)可縮放層的大小和失真的信息??蛻魴C(jī)可以使用字節(jié)范圍請(qǐng)求或其他機(jī)制來得到所需數(shù)量的層?;蛘?, 可縮放媒體編碼器產(chǎn)生其中每一比特(或字節(jié))可以被認(rèn)為是單個(gè)層并且比特(或字節(jié)) 數(shù)量是固定大小的層的數(shù)量的嵌入比特流。在這種情況下,服務(wù)器不必存儲(chǔ)或發(fā)送層的大小信息,因?yàn)榭蛻魴C(jī)只從層數(shù)據(jù)域(352)請(qǐng)求所需比特(或字節(jié))數(shù)。媒體遞送的精細(xì)粒度的客戶機(jī)側(cè)控制的某些示例實(shí)現(xiàn)因此結(jié)合媒體的比特面編碼來工作,該比特面編碼提供了非常精細(xì)粒度的可縮放性,例如,因?yàn)樽儞Q系數(shù)被組織成用于在任意速率-失真點(diǎn)處的靈活劃分。IV.理論和示例本章節(jié)中的簡(jiǎn)化示例示出速率-失真優(yōu)化和用于可縮放媒體的流的其他優(yōu)化的原理。Α.速率-失真優(yōu)化如果層具有固定大小(例如,每層整數(shù)N個(gè)字節(jié))并且總比特預(yù)算是該固定大小的整數(shù)倍(例如,客戶機(jī)的解碼器緩存的整數(shù)ZxN個(gè)字節(jié)),則客戶機(jī)可以使用速率-失真技術(shù)來尋找最優(yōu)速率分配。(一般而言,如此處所使用的,術(shù)語“最優(yōu)”描述了根據(jù)某一參數(shù)化或建模,比其它解決方案更好滿足某組準(zhǔn)則的解決方案,該解決方案取決于環(huán)境在絕對(duì)方面可以是也可以不是最優(yōu)的,而術(shù)語“優(yōu)化”用于指示找到這一解決方案的過程。)流包括M個(gè)塊。第i個(gè)塊的失真Di是速率的函數(shù),如Di [Ri]給出的,其中氏是第 i個(gè)塊的速率(用于第i個(gè)塊的比特?cái)?shù))。在回放第i個(gè)塊的同時(shí)通過服務(wù)器和客戶機(jī)之間的信道下載的比特計(jì)數(shù)是Bi,其中比特計(jì)數(shù)對(duì)于不同的塊可以隨時(shí)間改變。B—是初始緩存充滿度直,并假定、為零??蛻魴C(jī)應(yīng)用約束使解碼器緩存從不餓死(遭受下溢)。換言之,假定最小的網(wǎng)絡(luò)連接,當(dāng)客戶機(jī)準(zhǔn)備解碼和回放媒體塊時(shí),解碼器緩存總是包括媒體塊的已編碼數(shù)據(jù)??蛻魴C(jī)還可以施加約束使解碼器緩存從不溢出,或者可以假定關(guān)于解碼器緩存的存儲(chǔ)空間的無限可用性并忽略溢出阻止約束。為了阻止緩存在回放第i個(gè)塊時(shí)下溢,客戶機(jī)檢查約束
i (-1
YRj^Bj=MifBt,
>=0J=-I并且客戶機(jī)為直到i的段中的所有塊檢查該緩存下溢阻止約束。因此,對(duì)于塊0, 客戶機(jī)檢查約束R0 ^ B—,它意味著用于塊0的比特必須少于初始緩存充滿度,或者,換言之,用于塊0的比特必須少于在初始啟動(dòng)延時(shí)期間下載的比特?cái)?shù)。對(duì)于塊1,客戶機(jī)檢查約束VR1 SB-JBci,它意味著用于塊0和塊1的比特必須少于在初始延時(shí)和塊0的回放期間下載的比特?cái)?shù),以便使塊1的回放準(zhǔn)時(shí)開始。對(duì)于塊2,客戶機(jī)檢查約束Rc^RJR2彡BJBfB1, 以此類推。客戶機(jī)為媒體流的M個(gè)塊尋找一組速率從而服從滿足全部M個(gè)塊的緩存下溢阻止
約束,總體失真被最小化
M-I
Ds=XA^,]。
/=0較簡(jiǎn)單的問題是給定作為M個(gè)塊的最后一個(gè)的緩存下溢阻止約束累計(jì)Bsh,尋找速率分配。這一較簡(jiǎn)單的問題的解決方法可以使用拉格朗日乘子來建模并且等價(jià)于最小化
W-IJ = J^iDiIRi] +ARi)。
/=0客戶機(jī)尋找滿足緩存下溢阻止約束累計(jì)Bsh的λ。對(duì)速率部分求導(dǎo),并將結(jié)果
QJ 3D . Λ dD ,…
設(shè)為零來尋找拐點(diǎn),得到 = ‘ +義=0。假設(shè)‘=名[代],速率到導(dǎo)數(shù)的映射。通過代
入,于是最優(yōu)速率分配是Cli [Ri] =-λ。在應(yīng)用將導(dǎo)數(shù)映射到速率的逆函數(shù)《…之后,則 Ri=Ci;'[-λ]。為了尋找同時(shí)還滿足M個(gè)塊的最后一個(gè)的緩存下溢阻止約束累計(jì)Bsh的M個(gè)塊的一組速率Ri (其中i = 0. . . M-1),客戶機(jī)尋找λ從而使得
M-I
ΣΟ^ι=累計(jì)
/=0貝U,對(duì)于段中從0到M-I的任意給定塊i,最優(yōu)速率由^= OM給出。因子λ指示M個(gè)塊的速率失真曲線上的斜率。當(dāng)將相同的因子λ應(yīng)用于全部M 個(gè)塊時(shí),對(duì)于各塊中的每一個(gè),在該塊的曲線上的相同斜率處選擇速率-失真點(diǎn),考慮到曲線的凸形,該點(diǎn)是最優(yōu)的。如果要通過將比特從第一塊轉(zhuǎn)移到第二塊來重新分配比特,則第一塊的失真的增加(由于向上移動(dòng)到曲線的更陡峭的部分)將超過第二塊的失真的減少 (由于向下移動(dòng)到曲線較不陡峭的部分)。對(duì)于給定的總體緩存下溢阻止約束,客戶機(jī)進(jìn)而將斜率設(shè)為在各個(gè)塊的曲線上的各塊的累計(jì)速率滿足總體約束的點(diǎn)處相同。如果滿足緩存下溢阻止約束累計(jì)Bsh的最優(yōu)速率分配還滿足段中的每一個(gè)其他塊 i的累計(jì)Bi,則客戶機(jī)已經(jīng)找到了 M個(gè)塊的可接受的一組速率。然而,如果對(duì)于至少一個(gè)塊違反了緩存下溢阻止約束,則客戶機(jī)從違反約束的部分中移除比特并將它們重新分配到各塊的其余部分。例如,假設(shè)客戶機(jī)檢查滿足總體約束累計(jì)Bsh的速率分配以及滿足約束累計(jì) 的速率分配,其中k < M。客戶機(jī)尋找在i = M-I時(shí)滿足緩存下溢阻止約束的權(quán)重參數(shù)λ的值
權(quán)利要求
1.一種遞送被組織為多個(gè)塊的媒體數(shù)據(jù)的方法,所述多個(gè)塊中的每一個(gè)被編碼為帶有精細(xì)粒度的可縮放性的不同質(zhì)量水平的多個(gè)可縮放層,所述方法包括發(fā)送(510)所述多個(gè)塊的曲線信息;以及對(duì)于所述多個(gè)塊中的每一個(gè) 接收(520)指示速率-失真偏好的反饋;至少部分地基于所述速率-失真偏好,從所述塊的所述多個(gè)可縮放層中選擇(530) — 個(gè)或多個(gè)可縮放層;以及發(fā)送640)所述塊的所選一個(gè)或多個(gè)可縮放層。
2.如權(quán)利要求1所述的方法,其特征在于,所述多個(gè)塊中的每一個(gè)在不依賴于所述多個(gè)塊中的任何其他塊的情況下被編碼,并且所述方法還包括發(fā)送被組織為多個(gè)塊的媒體數(shù)據(jù)的流頭部。
3.如權(quán)利要求1所述的方法,其特征在于,對(duì)于所述多個(gè)塊中的每一個(gè) 所述多個(gè)可縮放層包括基層和多個(gè)殘留層;所述塊的所述基層總是被選擇并發(fā)送;以及取決于所述速率-失真偏好來選擇和發(fā)送所述塊的多個(gè)殘留層中的零個(gè)或更多。
4.如權(quán)利要求1所述的方法,其特征在于,對(duì)于所述多個(gè)塊中的每一個(gè),所述多個(gè)可縮放層包括從所述塊的比特面編碼中得到的一個(gè)或多個(gè)殘留嵌入層,所述一個(gè)或多個(gè)殘留嵌入層中的每一個(gè)表示所述塊的變換系數(shù)的比特面。
5.如權(quán)利要求1所述的方法,其特征在于,對(duì)于所述多個(gè)塊中的每一個(gè),所述曲線信息包括對(duì)所述塊的速率-失真曲線進(jìn)行參數(shù)化的速率-失真點(diǎn)。
6.如權(quán)利要求5所述的方法,其特征在于,對(duì)于所述塊的多個(gè)可縮放層中的每一個(gè),所述曲線信息包括指示所述可縮放層的比特計(jì)數(shù)的速率信息。
7.如權(quán)利要求1所述的方法,其特征在于,對(duì)于所述多個(gè)塊中的每一個(gè),所述塊的曲線信息中的一組參數(shù)指示所述塊的速率-失真曲線的總體形狀。
8.如權(quán)利要求1所述的方法,其特征在于,還包括,對(duì)于所述多個(gè)塊中的每一個(gè) 用可縮放媒體編碼器將所述塊編碼為所述多個(gè)可縮放層;確定所述塊的曲線信息;以及將所述塊的多個(gè)可縮放層以及所述塊的曲線信息存儲(chǔ)在存儲(chǔ)設(shè)備中以便遞送給多個(gè)媒體客戶機(jī)。
9.一種或多種其上存儲(chǔ)有用于處理被組織為多個(gè)塊的媒體數(shù)據(jù)的方法的計(jì)算機(jī)軟件指令的存儲(chǔ)介質(zhì),所述多個(gè)塊中的每一個(gè)被編碼為帶有精細(xì)粒度的可縮放性的不同質(zhì)量水平 的多個(gè)可縮放層,所述方法包括接收(610)所述多個(gè)塊的曲線信息;以及對(duì)于所述多個(gè)塊中的每一個(gè)使用所接收的曲線信息中的至少某些來確定(620)所述塊的速率-失真偏好;發(fā)送(630)所述塊的速率-失真偏好;以及接收(640)所述塊的多個(gè)可縮放層之中的一個(gè)或多個(gè)可縮放層。
10.如權(quán)利要求9所述的一種或多種存儲(chǔ)介質(zhì),其特征在于,對(duì)于所述多個(gè)塊中的每一個(gè),對(duì)于所述塊的多個(gè)可縮放層,所述曲線信息至少部分地將失真指示為下載時(shí)間的函數(shù);以及確定所述速率-失真偏好包括,對(duì)于所述多個(gè)塊中的一個(gè)或多個(gè)塊的段 確定(710)所述段的回放時(shí)間約束;以及對(duì)于所述段中的一個(gè)或多個(gè)塊中的每一個(gè),選擇下載時(shí)間從而減少所述段中的一個(gè)或多個(gè)塊之間的總體失真,同時(shí)滿足所述段的回放時(shí)間約束。
11.如權(quán)利要求10所述的一種或多種存儲(chǔ)介質(zhì),其特征在于,所述段的回放時(shí)間約束指示累計(jì)時(shí)間持續(xù)時(shí)間,并且為所述段中的一個(gè)或多個(gè)塊中的每一個(gè)選擇下載時(shí)間包括設(shè)置權(quán)重參數(shù)從而使得所述段的累計(jì)下載時(shí)間匹配所述累計(jì)時(shí)間持續(xù)時(shí)間,其中對(duì)于所述段中的一個(gè)或多個(gè)塊中的每一個(gè),所述權(quán)重參數(shù)指示根據(jù)所述塊的曲線信息的所述塊的下載時(shí)間。
12.如權(quán)利要求10所述的一種或多種存儲(chǔ)介質(zhì),其特征在于,為所述段中的一個(gè)或多個(gè)塊中的每一個(gè)選擇下載時(shí)間包括將所述段拆分(750)成多個(gè)子段;以及對(duì)于所述多個(gè)子段中的每一個(gè),遞歸地 確定所述子段的回放時(shí)間約束;以及對(duì)于所述子段中的一個(gè)或多個(gè)塊中的每一個(gè),選擇下載時(shí)間從而減少所述子段中的一個(gè)或多個(gè)塊之間的總體失真,同時(shí)滿足所述子段的回放時(shí)間約束。
13.如權(quán)利要求9所述的一種或多種存儲(chǔ)介質(zhì),其特征在于,對(duì)于所述多個(gè)塊中的每一個(gè)所述多個(gè)可縮放層包括基層和一個(gè)或多個(gè)殘留層; 總是接收所述塊的所述基層;以及取決于所述速率-失真偏好來接收所述塊的一個(gè)或多個(gè)殘留層中的零個(gè)或更多。
14.如權(quán)利要求9所述的一種或多種存儲(chǔ)介質(zhì),其特征在于,所述多個(gè)塊中的每一個(gè)在不依賴于所述多個(gè)塊中的任何其他塊的情況下被編碼,并且所述方法還包括接收被組織為多個(gè)塊的媒體數(shù)據(jù)的流頭部,所述流頭部包括被組織為多個(gè)塊的媒體數(shù)據(jù)的程序描述信息。
15.如權(quán)利要求9所述的一種或多種存儲(chǔ)介質(zhì),其特征在于,確定所述塊的速率-失真偏好包括確定所述塊的比特計(jì)數(shù)或比特范圍,并且發(fā)送所述塊的速率-失真偏好包括發(fā)送對(duì)所述塊的比特計(jì)數(shù)或比特范圍的請(qǐng)求。
16.如權(quán)利要求9所述的一種或多種存儲(chǔ)介質(zhì),其特征在于,所述方法還包括,對(duì)于所述多個(gè)塊中的每一個(gè)用可縮放媒體解碼器來對(duì)所接收的所述塊的一個(gè)或多個(gè)可縮放層進(jìn)行解碼;以及從已解碼的一個(gè)或多個(gè)可縮放層中重構(gòu)所述塊的版本。
17.一種系統(tǒng),包括 處理器;控制器,適于接收被組織為多個(gè)塊的媒體數(shù)據(jù)的流頭部,所述多個(gè)塊中的每一個(gè)被編碼為帶有精細(xì)粒度的可縮放性的不同質(zhì)量水平的多個(gè)可縮放層;接收(610)所述多個(gè)塊的曲線信息,其中對(duì)于所述多個(gè)塊中的每一個(gè),所述塊的曲線信息指示與所述塊的多個(gè)可縮放層中的每一個(gè)相關(guān)聯(lián)的不同的速率-失真點(diǎn);使用所接收的曲線信息來分別確定(620)所述多個(gè)塊的速率-失真偏好;分別發(fā)送(630)所述多個(gè)塊的速率-失真偏好;以及對(duì)于所述多個(gè)塊中的每一個(gè),接收(640)所述塊的多個(gè)可縮放層中的一個(gè)或多個(gè)可縮放層;以及適于對(duì)所接收的所述多個(gè)塊的可縮放層進(jìn)行解碼的可縮放媒體解碼器。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于對(duì)于所述多個(gè)塊中的每一個(gè),根據(jù)所述不同的速率-失真點(diǎn),所述曲線信息至少部分地將失真指示為下載時(shí)間的函數(shù);以及所述控制器適于通過以下確定所述多個(gè)塊中的一個(gè)或多個(gè)塊的多個(gè)段中的每一個(gè)的速率-失真偏好確定(710)所述段的回放時(shí)間約束;對(duì)于所述段中的一個(gè)或多個(gè)塊中的每一個(gè),選擇下載時(shí)間從而減少所述段中的一個(gè)或多個(gè)塊之間的總體失真,同時(shí)滿足所述段的回放時(shí)間約束;以及對(duì)于所述段中的一個(gè)或多個(gè)塊中的每一個(gè),使用(740)所述塊的所選下載時(shí)間來確定要請(qǐng)求的所述塊的比特計(jì)數(shù)或比特范圍。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述段的回放時(shí)間約束指示累計(jì)時(shí)間持續(xù)時(shí)間,并且為所述段中的一個(gè)或多個(gè)塊中的每一個(gè)選擇下載時(shí)間包括設(shè)置權(quán)重參數(shù)從而使得所述段的累計(jì)下載時(shí)間匹配所述累計(jì)時(shí)間持續(xù)時(shí)間,其中對(duì)于所述段中的一個(gè)或多個(gè)塊中的每一個(gè),所述權(quán)重參數(shù)指示根據(jù)所述塊的曲線信息的所述塊的下載時(shí)間。
20.如權(quán)利要求17所述的系統(tǒng),其特征在于,對(duì)于所述多個(gè)塊中的每一個(gè),所述多個(gè)可縮放層包括基層和一個(gè)或多個(gè)殘留層。
全文摘要
描述了用于調(diào)整通過網(wǎng)絡(luò)遞送的多個(gè)媒體塊的質(zhì)量和比特率的技術(shù)和工具。例如,多個(gè)塊中的每一個(gè)用不同的速率/質(zhì)量點(diǎn)被編碼為多個(gè)層(例如,基層和多個(gè)嵌入殘留層)以便精細(xì)粒度的可縮放性。服務(wù)器存儲(chǔ)各塊的各層的已編碼數(shù)據(jù)以及對(duì)各塊的速率-失真曲線進(jìn)行參數(shù)化的曲線信息。服務(wù)器將曲線信息發(fā)送給客戶機(jī)。對(duì)于多個(gè)塊,客戶機(jī)使用曲線信息來確定各個(gè)塊的速率-失真偏好,然后向服務(wù)器發(fā)送指示速率-失真偏好的反饋。對(duì)于多個(gè)塊中的每一個(gè),服務(wù)器至少部分地基于反饋選擇塊的一個(gè)或多個(gè)可縮放層來遞送給客戶機(jī)。
文檔編號(hào)H04N7/50GK102165775SQ200980139427
公開日2011年8月24日 申請(qǐng)日期2009年8月17日 優(yōu)先權(quán)日2008年9月30日
發(fā)明者S·梅若特拉 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
吕梁市| 额尔古纳市| 朝阳区| 平阳县| 南京市| 改则县| 峡江县| 育儿| 三台县| 崇左市| 大足县| 南平市| 奉贤区| 明溪县| 建平县| 永修县| 齐河县| 绥阳县| 张家口市| 仙居县| 江都市| 于田县| 阆中市| 庄浪县| 江津市| 咸丰县| 绥德县| 宣汉县| 息烽县| 江华| 麻栗坡县| 临沂市| 正阳县| 九江市| 榆林市| 临海市| 扬州市| 岱山县| 洛浦县| 玛曲县| 永泰县|