行描述,但是可以不執(zhí)行一些部件的操作,以減小編碼裝置的復(fù)雜性或者使得能夠 快速實(shí)時(shí)地進(jìn)行編碼。例如,當(dāng)預(yù)測(cè)單元執(zhí)行幀內(nèi)預(yù)測(cè)時(shí),可以執(zhí)行從有限數(shù)目的幀內(nèi)預(yù)測(cè) 模式中選擇一個(gè)并且將所選擇的一個(gè)設(shè)置為最終的幀內(nèi)預(yù)測(cè)模式的方法,以用于進(jìn)行實(shí)時(shí) 編碼,而不是執(zhí)行將所有幀內(nèi)預(yù)測(cè)模式方法用來(lái)選擇最佳幀內(nèi)編碼方法的方法。在另一示 例中,用于幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)的預(yù)測(cè)塊可以具有有限的形狀。
[0065] 在編碼裝置中處理的塊的單元可以是用于執(zhí)行編碼的編碼單元、用于執(zhí)行預(yù)測(cè)的 預(yù)測(cè)單元或者用于執(zhí)行變換的變換單元。可以將編碼單元、預(yù)測(cè)單元和變換單元分別表示 為CU、PU和TU。
[0066] 劃分單元110和劃分單元111中的每個(gè)可以通過(guò)以下來(lái)對(duì)層進(jìn)行劃分:將層畫(huà)面劃 分成編碼塊、預(yù)測(cè)塊和變換塊的多個(gè)組合,并且基于預(yù)定的參考(例如成本函數(shù))來(lái)選擇編 碼塊、預(yù)測(cè)塊和變換塊的一個(gè)組合。例如,為了將層畫(huà)面劃分成編碼單元,可以使用遞歸樹(shù) 結(jié)構(gòu)例如四叉樹(shù)結(jié)構(gòu)。在下文中,在本發(fā)明的實(shí)施方式中,編碼塊不僅可以指用于編碼的 塊,而且可以指用于解碼的塊。
[0067] 預(yù)測(cè)塊可以是用于執(zhí)行預(yù)測(cè)(如幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè))的單元。用于幀內(nèi)預(yù)測(cè)的塊 可以是具有正方形形式的塊如2NX2N或NXN。對(duì)于用于幀間預(yù)測(cè)的塊,存在正方形形式的 塊如2N X 2N或N X N;矩形形式的塊,如2N X N或N X 2N;以及通過(guò)使用非對(duì)稱(chēng)運(yùn)動(dòng)劃分(AMP) 的預(yù)測(cè)塊劃分方法而獲得的具有非對(duì)稱(chēng)形式的塊。變換單元115可以取決于預(yù)測(cè)塊的形式 而使用不同的變換方法。
[0068] 編碼單元100a和編碼單元100b的預(yù)測(cè)單元120和預(yù)測(cè)單元125中的每個(gè)可以包括: 用于執(zhí)行幀內(nèi)預(yù)測(cè)的幀內(nèi)預(yù)測(cè)單元121或126;以及用于執(zhí)行幀間預(yù)測(cè)的幀間預(yù)測(cè)單元122 或127。用于上層的編碼單元100a的預(yù)測(cè)單元120可以進(jìn)一步包括使用與下層有關(guān)的信息對(duì) 上層執(zhí)行預(yù)測(cè)的層間預(yù)測(cè)單元123。
[0069] 預(yù)測(cè)單元120和125中的每個(gè)可以確定是對(duì)預(yù)測(cè)塊執(zhí)行幀內(nèi)預(yù)測(cè)還是幀間預(yù)測(cè)。當(dāng) 執(zhí)行幀內(nèi)預(yù)測(cè)時(shí),基于預(yù)測(cè)塊來(lái)確定幀內(nèi)預(yù)測(cè)模式,并且可以基于變換塊來(lái)執(zhí)行用于處理 基于所確定的幀內(nèi)預(yù)測(cè)模式的幀內(nèi)預(yù)測(cè)的過(guò)程??梢詫⒃谒傻念A(yù)測(cè)塊與原始?jí)K之間的 殘差(殘差塊)輸入至變換單元130和131。此外,用于預(yù)測(cè)的預(yù)測(cè)模式信息和運(yùn)動(dòng)信息等連 同殘差一起通過(guò)熵編碼單元130進(jìn)行編碼,并且可以被傳輸至解碼裝置。
[0070] 當(dāng)使用脈沖編碼調(diào)制(PCM)模式時(shí),原始?jí)K可以在不執(zhí)行使用預(yù)測(cè)單元120和125 的預(yù)測(cè)的情況下未改變地被編碼,并且可以被傳輸至解碼單元。
[0071] 幀內(nèi)預(yù)測(cè)單元121和126中的每個(gè)可以基于位于當(dāng)前塊(預(yù)測(cè)目標(biāo)塊)附近的參考 像素來(lái)生成經(jīng)幀內(nèi)預(yù)測(cè)的塊。在幀內(nèi)預(yù)測(cè)方法中,幀內(nèi)預(yù)測(cè)模式可以具有方向性預(yù)測(cè)模式 和非方向性模式,其中,方向性預(yù)測(cè)模式根據(jù)預(yù)測(cè)方向來(lái)使用參考像素,非方向性模式不考 慮方向信息。用于預(yù)測(cè)亮度信息的模式可以不同于用于預(yù)測(cè)色度信息的模式。通過(guò)預(yù)測(cè)亮 度信息所獲得的幀內(nèi)預(yù)測(cè)模式或者所預(yù)測(cè)的亮度信息可以用于預(yù)測(cè)色度信息。同時(shí),如果 參考像素不可用,則可以通過(guò)將不可用的參考像素用其它像素進(jìn)行替換來(lái)生成預(yù)測(cè)塊。
[0072] 預(yù)測(cè)塊可以包括多個(gè)變換塊。如果當(dāng)執(zhí)行幀內(nèi)預(yù)測(cè)時(shí)預(yù)測(cè)塊的大小與變換塊的大 小相同,則可以基于預(yù)測(cè)塊的左側(cè)的像素、左上像素和上方的像素來(lái)對(duì)預(yù)測(cè)塊執(zhí)行幀內(nèi)預(yù) 測(cè)。然而,在幀內(nèi)預(yù)測(cè)時(shí),當(dāng)預(yù)測(cè)塊的大小與變換塊的大小不同并且多個(gè)變換塊被包括在預(yù) 測(cè)塊中,則使用與變換塊相鄰的鄰近像素作為參考像素來(lái)執(zhí)行幀內(nèi)預(yù)測(cè)。此處,與變換塊相 鄰的鄰近像素可以包括與預(yù)測(cè)塊相鄰的鄰近像素和在預(yù)測(cè)塊中先前被解碼的像素中的至 少一個(gè)。
[0073] 然而,如果在進(jìn)行幀內(nèi)預(yù)測(cè)時(shí)預(yù)測(cè)塊的大小與變換塊的大小不同,并且因此預(yù)測(cè) 塊包括多個(gè)變換塊,則可以基于變換塊來(lái)確定參考像素,并且基于該參考像素來(lái)執(zhí)行幀內(nèi) 預(yù)測(cè)。
[0074] 幀內(nèi)預(yù)測(cè)方法可以在根據(jù)幀內(nèi)預(yù)測(cè)模式將模式依賴(lài)幀內(nèi)平滑(MDIS)濾波器應(yīng)用 于參考像素之后生成預(yù)測(cè)塊。應(yīng)用于參考像素的MDIS濾波器的類(lèi)型可以不同。MDIS濾波器 是應(yīng)用于通過(guò)執(zhí)行幀內(nèi)預(yù)測(cè)而生成的經(jīng)幀內(nèi)預(yù)測(cè)的塊的附加濾波器,并且可以用于減小在 參考像素與在執(zhí)行預(yù)測(cè)后生成的經(jīng)幀內(nèi)預(yù)測(cè)的塊之間的殘差。當(dāng)執(zhí)行MDIS濾波時(shí),可以根 據(jù)幀內(nèi)預(yù)測(cè)模式的方向來(lái)對(duì)參考像素以及對(duì)包括在經(jīng)幀內(nèi)預(yù)測(cè)的塊中的一些列執(zhí)行不同 的濾波。
[0075] 幀間預(yù)測(cè)單元122和127中的每個(gè)可以通過(guò)參考與以下的塊有關(guān)的信息來(lái)執(zhí)行預(yù) 測(cè):所述塊被包括于在當(dāng)前畫(huà)面之前的畫(huà)面和在當(dāng)前畫(huà)面之后的畫(huà)面中的至少一個(gè)中。幀 間預(yù)測(cè)單元122和127中的每個(gè)可以包括參考畫(huà)面插值單元、運(yùn)動(dòng)預(yù)測(cè)單元和運(yùn)動(dòng)補(bǔ)償單 J L· 〇
[0076] 參考畫(huà)面插值單元可以從存儲(chǔ)器195或196接收參考畫(huà)面信息,并且可以生成與來(lái) 自參考畫(huà)面的小于整數(shù)像素的像素有關(guān)的信息。對(duì)于亮度像素,可以使用基于離散余弦變 換(DCT-based)的8抽頭的插值濾波器,其不同地設(shè)置濾波器系數(shù)以生成與以1/4像素為單 位的小于整數(shù)像素的像素有關(guān)的信息。對(duì)于色度信號(hào),可以使用基于離散余弦變換的4抽頭 的插值濾波器,其不同地設(shè)置濾波器系數(shù)以生成與以1/8像素為單位的小于整數(shù)像素的像 素有關(guān)的信息。
[0077] 幀間預(yù)測(cè)單元122和127中的每個(gè)可以基于通過(guò)參考畫(huà)面插值單元進(jìn)行插值的參 考畫(huà)面來(lái)執(zhí)行運(yùn)動(dòng)預(yù)測(cè)。作為用于計(jì)算運(yùn)動(dòng)矢量的方法,可以使用各種方法如基于全搜索 的塊匹配算法(FBMA)、三步搜索(TSS)算法和新三步搜索(NTS)算法。運(yùn)動(dòng)矢量可以具有對(duì) 應(yīng)于插值的像素的1/2或1/4的運(yùn)動(dòng)矢量值。幀間預(yù)測(cè)單元122和127中的每個(gè)可以使用各種 幀間預(yù)測(cè)方法中的任何一個(gè)來(lái)對(duì)當(dāng)前塊執(zhí)行預(yù)測(cè)。
[0078] 對(duì)于幀間預(yù)測(cè)方法,可以使用如以下各種方法中的任何方法:跳過(guò)法(skip method)、合并法和運(yùn)動(dòng)矢量預(yù)測(cè)(MVP)法。
[0079] 在幀間預(yù)測(cè)中,運(yùn)動(dòng)信息(即與參考索引、運(yùn)動(dòng)矢量和殘差信號(hào)有關(guān)的信息)被進(jìn) 行熵編碼并且然后被傳輸至解碼單元。當(dāng)應(yīng)用跳過(guò)模式時(shí),不生成殘差信號(hào),并且因此可以 省略用于變換和量化殘差信號(hào)的處理。
[0080] 層間預(yù)測(cè)單元123執(zhí)行層間預(yù)測(cè),以使用與下層有關(guān)的信息來(lái)對(duì)上層進(jìn)行預(yù)測(cè)。層 間預(yù)測(cè)單元123可以使用下層的紋理信息、運(yùn)動(dòng)信息等來(lái)執(zhí)行層間預(yù)測(cè)。
[0081] 可以通過(guò)將下層的畫(huà)面設(shè)置為參考畫(huà)面并且使用下層(參考層)的畫(huà)面中的運(yùn)動(dòng) 信息對(duì)上層的當(dāng)前塊執(zhí)行預(yù)測(cè)來(lái)執(zhí)行層間預(yù)測(cè)。在層間預(yù)測(cè)中被用作參考畫(huà)面的參考層的 畫(huà)面可以是經(jīng)采樣以匹配當(dāng)前層的分辨率的畫(huà)面。另外,運(yùn)動(dòng)信息可以包括運(yùn)動(dòng)矢量和參 考索引。在這種情況下,針對(duì)參考層的畫(huà)面的運(yùn)動(dòng)矢量值可以被設(shè)置為(〇,〇)。
[0082] 作為層間預(yù)測(cè)的示例,描述了使用下層的畫(huà)面作為參考畫(huà)面的預(yù)測(cè)方法,但是本 發(fā)明并不限于此。層間預(yù)測(cè)單元123可以另外地執(zhí)行層間紋理預(yù)測(cè)、層間運(yùn)動(dòng)預(yù)測(cè)、層間語(yǔ) 法預(yù)測(cè)、層間殘差預(yù)測(cè)等。
[0083] 層間紋理預(yù)測(cè)可以基于參考層的紋理來(lái)得出當(dāng)前層的紋理。可以對(duì)參考層的紋理 進(jìn)行采樣以匹配當(dāng)前層的分辨率,并且層間預(yù)測(cè)單元123可以基于經(jīng)采樣的參考層的紋理 來(lái)預(yù)測(cè)當(dāng)前層的紋理。
[0084] 層間運(yùn)動(dòng)預(yù)測(cè)可以基于參考層的運(yùn)動(dòng)矢量來(lái)得出當(dāng)前層的運(yùn)動(dòng)矢量。在這種情況 下,參考層的運(yùn)動(dòng)矢量可以被縮放以匹配當(dāng)前層的分辨率。層間語(yǔ)法預(yù)測(cè)可以基于參考層 的語(yǔ)法來(lái)預(yù)測(cè)當(dāng)前層的語(yǔ)法。例如,層間預(yù)測(cè)單元123可以使用參考層的語(yǔ)法作為當(dāng)前層的 語(yǔ)法。此外,層間殘差預(yù)測(cè)可以使用在恢復(fù)的參考層的畫(huà)面與恢復(fù)的當(dāng)前層的畫(huà)面之間的 殘差來(lái)重建當(dāng)前層的畫(huà)面。
[0085]生成包括殘差信息(該殘差信息是在由預(yù)測(cè)單元120和125中的每個(gè)生成的預(yù)測(cè)塊 與預(yù)測(cè)塊的重建的塊之間的差異)的殘差塊,并且該殘差塊被輸入到相應(yīng)的變換單元130或 131〇
[0086]變換單元130和131中的每個(gè)可以使用變換方法如離散余弦變換(DCT)或離散正弦 變換(DST)來(lái)對(duì)殘差塊進(jìn)行變換??梢曰谟糜谏蓺埐顗K的預(yù)測(cè)塊的幀內(nèi)預(yù)測(cè)模式信息 以及預(yù)測(cè)塊的大小信息來(lái)確定是應(yīng)用DCT還是DST對(duì)殘差塊進(jìn)行變換。亦即,變換單元130和 131中的每個(gè)可以取決于預(yù)測(cè)塊的大小和預(yù)測(cè)方法而使用不同的變換方法。
[0087] 量化單元140和141中的每個(gè)可以對(duì)由相應(yīng)的變換單元130和131變換至頻域的值 進(jìn)行量化。量化系數(shù)可以取決于塊的類(lèi)型或畫(huà)面的重要性而變化。由量化單元140或141計(jì) 算的值可以被提供至解量化單元170或17以及重新布置單元150或151。
[0088] 重新布置單元150和151中的每個(gè)可以重新布置經(jīng)量化的殘差值的系數(shù)值。重新布 置單元150或151可以使用系數(shù)掃描方法將兩維塊格式系數(shù)變成一維矢量格式系數(shù)。例如, 重新布置單元150或151可以使用鋸齒掃描法在從DC系數(shù)到高頻帶的系數(shù)的范圍內(nèi)掃描系 數(shù),以將兩維塊格式系數(shù)變成一維矢量格式系數(shù)??梢匀Q于變換塊的大小和幀內(nèi)預(yù)測(cè)模 式來(lái)使用垂直掃描法和水平掃描法而不是鋸齒掃描法,其中,垂直掃描法沿列方向掃描兩 維塊格式系數(shù),水平掃描法沿行方向掃描兩維塊格式系數(shù)。亦即,可以取決于變換塊的大小 和幀內(nèi)預(yù)測(cè)模式來(lái)確定使用鋸齒掃描法、垂直掃描法和水平掃描法中的哪一種方法。
[0089] 熵編碼單元160和161中的每個(gè)可以基于由重新布置單元150或151計(jì)算的值來(lái)執(zhí) 行熵編碼。例如,熵編碼可以使用各種編碼方法如指數(shù)哥倫布編碼、上下文自適應(yīng)可變長(zhǎng)度 編碼(CAVLC)和上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來(lái)實(shí)現(xiàn)。
[0090] 熵編碼單元160和161可以通過(guò)接收來(lái)自重新布置單元150和151以及預(yù)測(cè)單元120 和125的各種信息而基于預(yù)定的編碼方法來(lái)執(zhí)行熵編碼,其中,所述各種信息如:編碼塊的 殘差系數(shù)信息和塊類(lèi)型信息、預(yù)測(cè)模式信息、劃分單元信息、預(yù)測(cè)塊信息和傳輸單元信息、 運(yùn)動(dòng)矢量信息、參考幀信息、塊的插值信息以及濾波信息等。此外,熵編碼單元160和161可 以對(duì)從重新布置單元150和151輸入的編碼單元的系數(shù)值進(jìn)行熵編碼。
[0091] 熵編碼單元160和161中的每個(gè)可以通過(guò)對(duì)幀內(nèi)預(yù)測(cè)模式信息進(jìn)行二進(jìn)制編碼來(lái) 對(duì)當(dāng)前塊的幀內(nèi)預(yù)測(cè)模式信息進(jìn)行編碼。熵編碼單元160和161可以包括用于二進(jìn)制編碼的 碼字映射單元,并且可以取決于用于幀內(nèi)預(yù)測(cè)的預(yù)測(cè)塊的大小來(lái)有區(qū)別地執(zhí)行二進(jìn)制編 碼。碼字映射單元可以通過(guò)二進(jìn)制編碼操作來(lái)適應(yīng)性地生成碼字映射表,或者可以具有先 前生成的映射表。在另一實(shí)施方式中,熵編碼單元160和161可以使用用于執(zhí)行碼號(hào)(code-num)映射的碼號(hào)映射單元和用于執(zhí)行碼字映射的碼字映射單元來(lái)表示與當(dāng)前塊有關(guān)的幀 內(nèi)預(yù)測(cè)模式信息。碼號(hào)映射單元和碼字映射單元可以分別生成碼號(hào)映射表和碼字映射表, 或者可以分別具有先前生成的碼號(hào)映射表和碼字映射表。
[0092] 解量化單元170和171以及逆變換單元180或181中的每個(gè)可以對(duì)通過(guò)量化單元140 或141量化的值進(jìn)行解量化,并且對(duì)通過(guò)變換單元130或131變換的值進(jìn)行逆變換。可以將由 解量化單元170或171以及逆變換單元180或181生成的殘差值與由包括在預(yù)測(cè)單元120或 125中的幀內(nèi)預(yù)測(cè)單元、運(yùn)動(dòng)補(bǔ)償單元以及運(yùn)動(dòng)估計(jì)單元預(yù)測(cè)的預(yù)測(cè)塊進(jìn)行組合,由此可以 生成重建的塊。
[0093]濾波器單元190和191中的每個(gè)可以包括解塊濾波器和偏移校正單元中的至少一 個(gè)。
[0094] 解塊濾波器可以在重建的畫(huà)面中消除由于塊之間的邊界而生成的塊失真??梢曰?于包括在塊的一些行或列中的像素來(lái)確定是否執(zhí)行解塊(即是否將解塊濾波器應(yīng)用于當(dāng)前 塊)。當(dāng)將解塊濾波器應(yīng)用于塊時(shí),可以根據(jù)所要求的解塊濾波的強(qiáng)度來(lái)應(yīng)用強(qiáng)濾波器或弱 濾波器。此外,在應(yīng)用解塊濾波器中,當(dāng)執(zhí)行垂直濾波和水平濾波時(shí),可以并行處理垂直濾 波和水平濾波。
[0095] 偏移校正單元可以以像素為單位對(duì)在被執(zhí)行解塊的畫(huà)面與原始畫(huà)面之間的偏移 進(jìn)行校正。為了對(duì)特定畫(huà)面執(zhí)行偏移