)也使用來自存儲區(qū)(360)的(一個或 多個)解碼的帖(369)作為解碼過程的一部分。
[0化6] 解碼帖臨時存儲器存儲區(qū)(360)包括多個帖緩沖器存儲區(qū)(361,362,…,36n)。 解碼過程仿真器(350)使用MMC0/WS信息(342)來管理存儲區(qū)(360)的內(nèi)容,W便識別帶 有不再被編碼器(340)需要來用作參考圖片的帖的任何帖緩沖器(361,362等)。在對解碼 過程建模后,解碼過程仿真器(350)把W該種方式識別的新解碼的帖(351)存儲在帖緩沖 器(361,362 等)中。
[0化7] 編碼的帖(341)和MMC0/WS信息(342)也在臨時編碼數(shù)據(jù)區(qū)(370)中被緩沖。被 聚集在編碼數(shù)據(jù)區(qū)(370)中的編碼的數(shù)據(jù)可W包含作為基本編碼視頻比特流的語法的一部 分的、指示W(wǎng)L修改信息的語法元素。被聚集在編碼數(shù)據(jù)區(qū)(370)中的編碼的數(shù)據(jù)還可W 包括與編碼的視頻數(shù)據(jù)有關(guān)的媒體元數(shù)據(jù)(例如,作為在一個或多個補充增強信息("SEI") 消息或視頻可用性信息("VUI")消息中的一個或多個參數(shù))。
[0化引來自臨時編碼數(shù)據(jù)區(qū)(370)的聚集的數(shù)據(jù)(371)由信道編碼器(380)處理。信道編 碼器(380)可W把聚集的數(shù)據(jù)打包W作為媒體流傳輸(例如,按照諸如ISO/IEC 14496-12 那樣的媒體容器格式),在該種情形下,信道編碼器(380)可W加上語法元素作為媒體傳輸 流的語法的一部分?;蛘撸诺谰幋a器(380)可W組織聚集的數(shù)據(jù)W作為文件來存儲(例如, 按照諸如ISO/IEC 14496-12那樣的媒體容器格式),在該種情形下,信道編碼器(380)可W 加上語法元素作為媒體存儲文件的語法的一部分。或者,更一般地,信道編碼器(380)可W 實施一種或多種媒體系統(tǒng)復(fù)用協(xié)議或輸送協(xié)議,在該種情形下,信道編碼器(380)可W加上 語法元素作為(一種或多種)協(xié)議的語法的一部分。信道編碼器(380)向信道(390)提供輸 出,信道代表存儲裝置、通信連接或用于輸出的另一信道。
[0化9] IV.示例性解碼器系統(tǒng) 圖4是可W結(jié)合其來實施某些描述的實施例的示例性解碼器系統(tǒng)(400)的框圖。解 碼器系統(tǒng)(400)可W是能夠在多種解碼模式中的任何解碼模式下運行的通用解碼工具,解 碼模式是諸如用于實時通信的低等待時間解碼模式和用于從文件或流進行媒體回放的常 規(guī)的解碼模式,或者解碼器系統(tǒng)可W是適用于一種該樣的解碼模式的專用解碼工具。解碼 器系統(tǒng)(400)可被實施為操作系統(tǒng)模塊、實施為應(yīng)用庫的一部分或?qū)嵤楠毩⒌膽?yīng)用。總 之,解碼器系統(tǒng)(400)從信道(410)接收編碼的數(shù)據(jù)且產(chǎn)生重建的帖作為針對輸出目的地 (490)的輸出。編碼的數(shù)據(jù)可包括指示W(wǎng)L修改信息的語法元素。
[0060] 解碼器系統(tǒng)(400)包括信道(410),它可代表存儲裝置、通信連接或為編碼的數(shù)據(jù) 作為輸出的另一信道。信道(410)產(chǎn)生已被信道編碼的編碼的數(shù)據(jù)。信道解碼器(420)可 W處理編碼的數(shù)據(jù)。例如,信道解碼器(420)對被聚集來作為媒體流傳輸(例如,按照諸如 ISO/IEC 14496-12那樣的媒體容器格式)的數(shù)據(jù)拆包(de-packetize),在該種情形下,信道 解碼器(420)可W解析作為媒體傳輸流的語法的一部分被加上的語法元素?;蛘?,信道解 碼器(420)把被聚集來作為文件存儲(例如,按照諸如ISO/IEC 14496-12那樣的媒體容器 格式)的編碼的數(shù)據(jù)分離開,在該種情形下,信道解碼器(420)可W解析作為媒體存儲文件 的語法的一部分被加上的語法元素。或者,更一般地,信道解碼器(420)可W實施一種或多 種媒體系統(tǒng)解復(fù)用協(xié)議或輸送協(xié)議,在該種情形下,信道解碼器(420)可W解析作為(一種 或多種)協(xié)議的語法的一部分被加上的語法元素。
[0061] 從信道解碼器(420)輸出的編碼的數(shù)據(jù)(421)被存儲在臨時編碼數(shù)據(jù)區(qū)(430),直 至接收到足夠數(shù)量的該樣的數(shù)據(jù)為止。編碼的數(shù)據(jù)(421)包括編碼的帖(431)和MMCO/RPS 信息(432 )。在編碼數(shù)據(jù)區(qū)(430 )中的編碼的數(shù)據(jù)(421)可W包含作為基本編碼視頻比特流 的語法的一部分的、指示W(wǎng)L修改信息的語法元素。在編碼數(shù)據(jù)區(qū)(430)中的編碼的數(shù)據(jù) (421)還可W包括與編碼的視頻數(shù)據(jù)有關(guān)的媒體元數(shù)據(jù)(例如,作為在一個或多個SEI消息 或VUI消息中的一個或多個參數(shù))。通常,編碼數(shù)據(jù)區(qū)(430)臨時存儲編碼的數(shù)據(jù),直至該樣 的編碼的數(shù)據(jù)(421)被解碼器(450)使用為止。在那一點上,用于編碼的帖(431)和MMCO/ WS信息(432)的編碼的數(shù)據(jù)從編碼數(shù)據(jù)區(qū)(430)被傳送到解碼器(450)。在解碼繼續(xù)進行 時,新的編碼的數(shù)據(jù)被加到編碼數(shù)據(jù)區(qū)(430),而保留在編碼數(shù)據(jù)區(qū)(430)中的最老的編碼 的數(shù)據(jù)被傳送到解碼器(450 )。
[0062] 解碼器(450 )周期地解碼編碼的帖(431) W產(chǎn)生對應(yīng)的解碼的帖(451)。視情況而 定,當執(zhí)行它的解碼過程時,解碼器(450)可W使用一個或多個W前解碼的帖(469)作為參 考帖(參考圖片)來進行帖間預(yù)測。解碼器(450)從解碼帖臨時存儲器存儲區(qū)(460)讀取該 樣的W前解碼的帖(469)。通常,解碼器(450)包括多個解碼模塊,其執(zhí)行解碼任務(wù),諸如滴 解碼、逆量化、逆頻率變換和運動補償(其可W通過使用WL修改信息來創(chuàng)建(一個或多個) RPL)。由解碼器(450)執(zhí)行的確切操作可W取決于壓縮格式而變化。
[0063] 例如,解碼器(450)接收用于壓縮的帖或帖序列的編碼的數(shù)據(jù),并且產(chǎn)生包括解碼 的帖(451)的輸出。在解碼器(450)中,緩沖器接收用于壓縮的帖的編碼的數(shù)據(jù),并使得滴 解碼器可得到所接收的編碼的數(shù)據(jù)。滴解碼器對滴編碼的量化的數(shù)據(jù)W及滴編碼的輔助信 息(包括參考索引、WL修改信息等等)進行滴解碼,典型地施加在編碼器中執(zhí)行的滴編碼的 逆過程。解碼器構(gòu)建對于參考圖片的一個或多個RPL帶有對(一個或多個)WL中的參考圖 片尋址的參考索引。(一個或多個)WL被構(gòu)建成使得在適當時加上新的參考圖片,在適當時 去除不再被使用于運動補償?shù)妮^老的參考圖片,W及在適當時對參考圖片重新排序。在某 些實現(xiàn)中,例如,在對當前的圖片進行解碼時,解碼器(450)確定包括解碼帖存儲區(qū)(460) 中的參考圖片的RPS,然后創(chuàng)建一個或多個RPL用于對當前的圖片的給定條帶進行解碼。 WL可W通過施加關(guān)于從WS可得到的參考圖片的選擇的規(guī)則而被創(chuàng)建,在該種情形下,不 從比特流來解析RPL修改信息?;蛘撸琑PL可W通過選擇從RPS可得到的特定的參考圖片 而被創(chuàng)建,其中被選擇的參考圖片是在從比特流解析的WL修改信息中指示的。與通過隱 含方法的規(guī)則而被構(gòu)建的WL相比較,WL修改信息可W規(guī)定替換WL作為RPS中的參考 圖片的列表。替換地,WL修改信息可更細粒度的方式規(guī)定通過隱含方法的規(guī)則而被 構(gòu)建的RPL中的一個或多個參考圖片的去除、一個或多個參考圖片的添加和/或參考圖片 的重新排序。
[0064] 運動補償器把運動信息施加到一個或多個參考圖片,W形成被重建的帖的子塊和 /或塊(通常是塊)的運動補償?shù)念A(yù)測。帖內(nèi)預(yù)測模塊可W從相鄰的、W前重建的樣本值來 在空間上預(yù)測當前塊的樣本值。解碼器(450)也重建預(yù)測殘差。逆量化器對滴解碼的數(shù)據(jù) 進行逆量化。逆頻率變換器將重建的頻域數(shù)據(jù)轉(zhuǎn)換成空間域信息。對于預(yù)測的帖,解碼器 (450)組合重建的預(yù)測殘差與運動補償?shù)念A(yù)測,W形成重建的帖。解碼器(450)可W同樣地 組合預(yù)測殘差與來自帖內(nèi)預(yù)測的空間預(yù)測。在視頻解碼器(450)中的運動補償回路包括自 適應(yīng)去塊(de-block)濾波器,用來平滑在解碼的帖(451)中跨塊邊界行和/或列的不連續(xù) 性。
[00化]解碼帖臨時存儲器存儲區(qū)(460)包括多個帖緩沖器存儲區(qū)(461,462,…,46n)。解 碼帖存儲區(qū)(460)是DPB的一個例子。解碼器(450)使用MMC0/RPS信息(432)來識別在其 中它可存儲解碼的帖(451)的帖緩沖器(461,462等)。解碼器(450)把解碼的帖(451)存 儲在該帖緩沖器中。
[0066] 輸出定序器(sequencer) (480)使用MMC0/RPS信息(432)來識別按輸出次序要 產(chǎn)生的下一個帖何時在解碼帖存儲區(qū)(460)中可得到。當按輸出次序要產(chǎn)生的下一個帖 (481)在解碼帖存儲區(qū)(460)中可得到時,它被輸出定序器(480)讀取,并被輸出到輸出目 的地(490)(例如,顯示器)。通常,帖被輸出定序器(480)從解碼帖存儲區(qū)(460)輸出的次 序可W與帖被解碼器(450)解碼的次序不同。
[0067] V.示例性視頻編碼器 圖5是可W結(jié)合其來實施某些描述的實施例的通用視頻編碼器(500 )的框圖。編碼器 (500)接收包括當前帖(505)的視頻帖序列,并產(chǎn)生編碼的數(shù)據(jù)(595)作為輸出。
[0068] 編碼器(500)是基于塊的,且使用取決于實現(xiàn)的塊格式。塊在不同的階段,例如在 頻率變換與滴編碼階段,還可W被再劃分。例如,帖可被劃分成64x64塊、32x32塊或16x16 塊,它們進而又被劃分成像素值的更小塊和子塊W用于編碼和解碼。
[0069] 編碼器系統(tǒng)(500)壓縮預(yù)測的帖和帖內(nèi)編碼的帖。為了介紹起見,圖5顯示用于 帖內(nèi)編碼的通過編碼器(500)的"帖內(nèi)路徑"和用于帖間編碼的"帖間路徑"。編碼器(500) 的許多部件被既使用于帖內(nèi)編碼又使用于帖間編碼。由那些部件執(zhí)行的確切操作可W取決 于被壓縮的信息的類型而變化。
[0070] 如果當前帖(505)是預(yù)測的帖,則運動估計器(510)估計當前帖(505)的塊、子塊 或其它的像素值組相對于一個或多個參考帖(參考圖片)的運動。帖存儲(520)緩沖一個或 多個重建的W前的帖(525)來用作為參考帖(參考圖片)。當使用多個參考圖片時,多個參考 圖片可W是來自不同的時間方向或相同的時間方向。多個參考圖片可W在一個或多個RPL 中被表示,其通過參考索引來尋址。運動估計器(510)輸出諸如差分運動向量信息、參考索 引和WL修改信息那樣的運動信息(515)作為輔助信息。在編碼期間,編碼器(500)構(gòu)建 (一個或多個)RPL W使得在適當時加上新的參考圖片、在適當時去除不再被使用于運動補 償?shù)妮^老的參考圖片和在適當時在(一個或多個)RPL中對參考圖片重新排序。
[0071] 在某些實現(xiàn)中,當編碼當前帖時,編碼器(500)確定包括帖存儲(520)中的參考帖 的RPS。編碼器(500)典型地確定對于帖的第一條帶的RPS?;谥饌€條帶,編碼器(500)倉。 建一個或多個WL用于編碼當前帖的給定條帶。為了創(chuàng)建RPL編碼器(500)可W施加關(guān)于 從WS可得到的參考帖的選擇的規(guī)則,在該種情形下,WL修改信息不在編碼的數(shù)據(jù)(595) 中被明確地用信號通知?;蛘撸瑸榱藙?chuàng)建RPL編碼器(500)可W選擇從WS可得到的特定 的參考帖,其中被選擇的參考帖將在編碼的數(shù)據(jù)(595)中用信號通知的WL修改信息中指 示。與通過隱含方法的規(guī)則被重建的WL相比較,WL修改信息可W規(guī)定替換WL作為RPS 中的參考圖片的列表。替換地,WL修改信息可更細粒度的方式規(guī)定在通過規(guī)則被隱 含地構(gòu)建的RPL中一個或多個參考帖的去除、一個或多個參考帖的添加和/或參考帖的重 新排序。
[0072] 運動補償器(530)在形成運動補償?shù)漠斍疤?35)時把重建的運動向量施加到 (一個或多個)重建的參考帖(525)。在運動補償?shù)漠斍疤?35)的子塊、塊等等與原始當前 帖(505)的對應(yīng)部分之間的差巧日果有的話)是對于子塊、塊等等的預(yù)測殘差(545)。在W 后重建當前帖期間,重建的預(yù)測殘差被加到運動補償?shù)漠斍疤?35) W得到更接近于原始 當前帖(505)的重建的帖。然而,在有損壓縮中,某些信息仍舊從原始的當前帖(505)中丟 失。帖內(nèi)路徑可包括帖內(nèi)預(yù)測模塊(未示出),它可W從相鄰的、W前重建的像素值來在空間 上預(yù)測當前塊或子塊的像素值。
[0073] 頻率變換器(560)把空間域視頻信息轉(zhuǎn)換成頻域(例如,頻譜、變換)數(shù)據(jù)。對于基 于塊的視頻帖,頻率變換器(560)向像素值數(shù)據(jù)或預(yù)測殘差數(shù)據(jù)的塊或子塊施加離散余弦 變換、其整數(shù)近似或另一種類型的前向塊變換,從而產(chǎn)生頻率變換系數(shù)的塊/子塊。然后量 化器(570)量化變換系數(shù)。例如,量化器(570)W基于逐帖、逐條帶、逐塊或在其它的基礎(chǔ)上 變化的步長對頻域數(shù)據(jù)施加非均勻的標量量化。
[0074] 當對于隨后的運動估計/補償需要當前帖的重建的版本時,逆量化器(576)對量 化的頻率系數(shù)數(shù)據(jù)執(zhí)行逆量化。逆頻率變換器(566)執(zhí)行逆頻率變換,從而產(chǎn)生重建的預(yù) 測殘差或像素值的塊/子塊。對于預(yù)測的帖,編碼器(500)組合重建的預(yù)測殘差(545)與運 動補償?shù)念A(yù)測(535),W形成可被用作為參考圖片的重建的帖。(雖然圖5上未示出,但是在 帖內(nèi)路徑上,編碼器(500)可W組合預(yù)測殘差與來自帖內(nèi)預(yù)測的空間預(yù)測,W重建被用作為 參考圖片的帖。)帖存儲(520)緩沖重建的當前帖,W便在隨后的運動補償?shù)念A(yù)測中用作為 參考圖片。
[0075] 在編碼器(500)中的運動補償回路包括在帖存儲(520)之前或之后的自適應(yīng)回路 中去塊濾波器(adaptive in-loop deblock filter) (510)。解碼器(500)對重建的帖施 加回路中濾波,W自適應(yīng)地平滑在帖中跨邊界的不連續(xù)性。
[0076] 滴編碼器(580)壓縮量化器(570)的輸出W及運動信息(515)和某些輔助信息(例 如,QP值、參考索引、WL修改信息)。滴編碼器(580)把編碼的數(shù)據(jù)(595)提供給緩沖器 (590),緩沖器把編碼的數(shù)據(jù)復(fù)用成輸出比特流。編碼的數(shù)據(jù)(595)可包括指示W(wǎng)L修改信 息的語法元素。第VII節(jié)描述該樣的語法元素的例子。
[0077] 控制器(未示出)接收來自編碼器的各種模塊的輸入??刂破髟u估在編碼期間(例 如,在設(shè)置QP值和執(zhí)行速率失真分析期間)的中間結(jié)果??刂破鹘Y(jié)合其它模塊工作,W在編 碼期間設(shè)置和改變編碼參數(shù)。具體地,當決定是否和如何修改(例如,替換、調(diào)整)(一個或 多個)WL時,控制器可W控制把哪些參考圖片加到(一個或多個)RPL、控制從(一個或多個) RPL中去除哪些圖片、W及對(一個或多個)RPL中的參考圖片重新排序W便用參考索引更 有效地尋址??刂破骺蒞決定例如通過W下方式從