TWI834269B - 視訊處理方法及裝置 - Google Patents
視訊處理方法及裝置 Download PDFInfo
- Publication number
- TWI834269B TWI834269B TW111132912A TW111132912A TWI834269B TW I834269 B TWI834269 B TW I834269B TW 111132912 A TW111132912 A TW 111132912A TW 111132912 A TW111132912 A TW 111132912A TW I834269 B TWI834269 B TW I834269B
- Authority
- TW
- Taiwan
- Prior art keywords
- pixel data
- data
- reconstructed
- module
- transformation
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims 11
- 238000013139 quantization Methods 0.000 claims abstract description 159
- 230000009466 transformation Effects 0.000 claims description 132
- 238000011156 evaluation Methods 0.000 claims description 73
- 238000012545 processing Methods 0.000 claims description 56
- 230000001131 transforming effect Effects 0.000 claims description 8
- 239000000463 material Substances 0.000 claims description 2
- 238000009795 derivation Methods 0.000 claims 2
- 238000000034 method Methods 0.000 description 83
- 230000008569 process Effects 0.000 description 53
- 230000015654 memory Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000001914 filtration Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
在頻域中實現JCCR模式判定的各種方案被描述。一種裝置接收圖片的當前塊的第一和第二像素資料以及將像素資料變換為頻域中的第一和第二變換資料。該裝置生成包括第一和第二變換資料的像素級線性組合的聯合像素資料。該裝置藉由量化和逆量化操作基於聯合像素資料生成重構的聯合像素資料。該裝置基於重構的聯合像素資料導出第一和第二重構像素資料。該裝置相應地計算頻域中的第一和第二失真值,基於該第一和第二失真值優選模式被確定以對當前塊進行編碼。
Description
本發明一般涉及視訊編解碼,更具體地,涉及用於基於頻域中的資料確定聯合色度編解碼模式的方法和裝置。
除非本文另有說明,否則本節中描述的方法不是下面列出的申請專利範圍的習知技術,以及藉由包含在本節中不被承認為習知技術。
視訊編解碼通常涉及由編碼器將數位視訊編碼成位元流,將位元流傳輸到解碼器,以及由解碼器解析和處理位元流來從位元流中解碼視訊以產生重構視訊。視訊由按時間順序排列的一系列圖片組成。圖片的每個像素可以由一個亮度分量(通常被稱為Y分量)以及兩個色度分量(通常被稱為Cb和Cr分量)表示。即,每張圖片可以由一個亮度幀(即Y幀)和兩個色度幀(即Cb幀和Cr幀)來表示;Y幀包含視訊圖片的亮度資訊(即特定的光影),而Cb和Cr幀包含視訊圖片的色度資訊(即特定的色調)。因此,為了將視訊的圖片編碼到位元流中,編碼器需要將圖片的Y、Cb和Cr幀中的每一個編碼到位元流中。
對視訊進行編解碼的主要目的是減小需要傳輸到解碼器的位元流的總大小,同時仍向解碼器提供關於原始視訊的足夠資訊,使得解碼器可以生成忠實於原始視訊的重構視訊。編碼器和解碼器可以採用各種編解碼模式(或“編解碼工具”)來藉由去除視訊中的冗餘來實現此目的,而大多數編解碼工具基於廣泛使用的圖片內預測和/或圖片間預測技術。圖片內預測技術旨在去除視訊圖片中的空間冗餘,而圖片間預測技術旨在去除視訊圖片中的時間冗餘。預測技術,無論是圖片間還是圖片內,都利用已解碼圖片中的資訊作為“預測子”,以便每個要編碼的像素都可以由預測值加上殘差來表示,其中殘差是各個像素的預測值和實際像素值之間的差值。然後編碼器只需將殘差編碼到位元流中,而解碼器只需要從位元流中解碼殘差,因為預測子資訊可以由解碼器從已經解碼的圖片中提取。預測技術可被應用於正被編解碼的圖片的Y、Cb和Cr幀中的每一個,使得只有Y、Cb和Cr幀中的每一個的殘差資訊被編碼到位元流中。
以下概述僅是說明性的並且不旨在以任何方式進行限制。即,以下概述被提供以介紹本文所述的新穎且非顯而易見的技術的概念、亮點、益處和優點。選擇實現在下面的詳細描述中進一步描述。因此,以下概述並非旨在識別所要求保護的主題的基本特徵,也不旨在用於確定所要求保護的主題的範圍。
本公開的一個目的是提供與聯合色度編解碼模式相關的方案、概念、設計、技術、方法和裝置,也被稱為色度殘差聯合編解碼(joint coding of chroma residuals,簡稱JCCR)。 相信藉由本公開中的各種實施例,包括減少的硬體開銷、改進的編解碼延遲和/或更高的編解碼輸送量的好處被實現。
在一個方面,一種用於處理視訊圖片的當前塊的方法被提出。該方法可涉及接收第一像素資料和第二像素資料,第一像素資料和第二像素資料中的每一個包括空間域中的當前塊的資料。在一些實施例中,第一像素資料可以包括當前塊的第一色度分量的殘差資料(例如,Cb分量的殘差),第二像素資料可以包括當前塊的第二色度分量的殘差資料(例如,Cr分量的殘差)。該方法還可以包括將第一像素資料變換為第一變換資料以及將第二像素資料變換為第二變換資料。第一和第二變換資料中的每一個可以包括頻域中的資料。該方法還可以涉及生成聯合像素資料,其中聯合像素資料包括第一和第二變換資料的像素級線性組合。該方法還可以涉及基於聯合像素資料在頻域中生成重構的聯合像素資料。具體地,為了得到重構的聯合像素資料,首先藉由量化操作對聯合像素資料進行量化,然後藉由逆量化操作對聯合像素資料進行逆量化。該方法還可以涉及基於重構的聯合像素資料導出第一重構像素資料和第二重構像素資料。第一和第二重構像素資料中的每一個都包括頻域中的資料。該方法還可以包括基於第一變換資料和第一重構像素資料計算第一失真值。該方法還可以包括基於第二變換資料和第二重構像素資料計算第二失真值。
在一些實施例中,該方法還可以包括基於第一變換資料生成第三重構像素資料。這可以藉由對第一變換資料執行量化操作,然後執行逆量化操作來完成。該方法還涉及對第二變換資料執行量化操作,然後執行逆量化操作來生成第四重構像素資料。該方法還涉及基於第一變換資料和第三重構像素資料計算第三失真值,以及基於第二變換資料和第四重構像素資料計算第四失真值。
在一些實施例中,該方法還可以包括藉由比較第一和第二失真值的總和與第三和第四失真值的總和來確定優選編解碼模式。該方法還可以涉及使用優選編解碼模式對當前塊進行編解碼。
在另一方面,一種裝置被提出,其包括變換模組、縮放模組、量化模組、逆量化模組和失真評估模組。變換模組被配置為將空間域中的第一像素資料變換為頻域中的第一變換資料。變換模組還被配置為將空間域中的第二像素資料變換為頻域中的第二變換資料。縮放模組被配置為生成聯合像素資料,該聯合像素資料包括第一和第二變換資料的像素級線性組合。第一和第二變換資料的像素級線性組合可以是第一變換資料乘以第一縮放因數與第二變換資料乘以第二縮放因數的總和。量化模組用於將聯合像素資料量化為量化後的聯合像素資料。逆量化模組被配置為將量化的聯合像素資料去量化為重構的聯合像素資料。逆縮放模組被配置為基於重構的聯合像素資料導出第一重構像素資料和第二重構像素資料。第一重構像素資料可以是重構聯合像素資料乘以第三縮放因數,而第二重構像素資料可以是重構聯合像素資料乘以第四縮放因數。最後,失真評估模組被配置為計算第一失真值和第二失真值,其中第一失真值基於第一變換資料和第一重構像素資料計算,以及其中第二失真值基於第二變換資料和第二重構像素資料計算。
在一些實施例中,量化模組還用於將第一變換像素資料量化為第一變換量化像素資料。量化模組還用於將第二變換像素資料量化為第二變換量化像素資料。此外,逆量化模組還用於將第一變換量化像素資料去量化為第三重構像素資料。逆量化模組還被配置為將第二變換量化像素資料去量化成第四重構像素資料。此外,失真評估模組還被配置為基於第一變換資料和第三重構像素資料計算第三失真值。失真評估模組還被配置為基於第二變換資料和第四重構像素資料計算第四失真值。
在一些實施例中,失真評估模組還被配置為確定優選編解碼模式。優選編解碼模式由失真評估模組比較第一和第二失真值的總和與第三和第四失真值的總和來確定。
在一些實施例中,該裝置還可以包括預選模組,其被配置為確定第一、第二、第三和第四縮放因數的值。具體地,預選模組可以在多個預定子模式中選擇優選子模式,其中多個預定子模式中的每一個定義第一、第二、第三和第四縮放因數的相應的一組值。
本文公開了要求保護的主題的詳細實施例和實施方式。然而,應當理解,所公開的實施例和實施方式僅是對可以以各種形式實施的要求保護的主題的說明。然而,本公開可以以許多不同的形式來實施並且不應被解釋為限於這裡闡述的示例性實施例和實施方式。相反,提供這些示例性實施例和實施方式是為了使本公開的描述透徹和完整,以及將向本領域通常知識者充分傳達本公開的範圍。在下面的描述中,眾所周知的特徵和技術的細節可被省略以避免不必要地混淆所呈現的實施例和實現。
根據本公開的實施方式涉及與實現視訊編碼碼器或解碼器的色度殘差(JCCR)的聯合解碼有關的各種技術、方法、方案和/或解決方案。根據本公開,多個可能的解決方案可被單獨或聯合實施。即,儘管這些可能的解決方案可以在下面單獨描述,但是這些可能的解決方案中的兩個或更多個可以以一種組合或另一種組合來實現。
如上文其他地方所述,為了將視訊圖片(即,視訊的圖片)編碼為位元流,編碼器需要將視訊圖片的Y、Cb和Cr幀中的每一個編碼為位元流,解碼器需要來解析位元流以解碼或以其他方式重構Y、Cb和Cr幀中的每一個。具體地,編碼器可以採用各種幀內預測或幀間預測技術將Y、Cb和Cr幀中的每一個的殘差編碼到位元流中,以及解碼器將從位元流中解碼Y、Cb和Cr幀中的每一個的殘差。此外,編碼器和解碼器可以以基於塊的方式處理視訊的像素資料。即,每個視訊圖片可以被劃分為多個塊,即矩形的非重疊區域,以及編碼器和解碼器中的每一個可以藉由順序地處理這些塊來處理視訊圖片。每個非重疊塊可以被稱為“編解碼塊”。
第1圖是根據本公開的實施方式的示例設計的圖,其中色度編解碼方案100被示出。在色度編解碼方案100中,Cb殘差111(即,Cb幀中的編解碼塊的殘差)和Cr殘差121(即,Cr幀中的編解碼塊的殘差)藉由以下方式由編碼器編碼到位元流199中。在解碼側,解碼器解析位元流199以及重構的Cb殘差和Cr殘差,它們分別由重構的Cb殘差118和重構的Cr殘差128表示。重構的Cb和Cr殘差118和128分別非常接近Cb和Cr殘差111和121,儘管由於編碼器和解碼器執行的各種編解碼操作,它們可能與Cb和Cr殘差111和121有所不同。具體地,編碼器包括變換模組171和181,每個被配置為執行變換操作,以及量化模組172和182,每個被配置為執行量化操作。變換模組171和181可以是相同的,以及藉由使用演算法(例如離散余弦變換(Discrete Cosine Transform,簡稱DCT)或離散余弦變換類型II(Discrete Cosine transform Type II,簡稱DCT-2))來執行變換操作以分別將空間域中的Cb殘差111和Cr殘差121變換為頻域中的變換係數112和變換係數122。量化模組172和182可以是相同的,以及藉由將變換係數112和122分別量化為量化係數113和量化係數123來執行量化操作。量化的係數113和114隨後由熵編碼器191使用諸如上下文自我調整二進位算術編碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼(Huffman Coding)的熵編碼技術編碼到位元流199中。
在解碼側,解碼器包括熵解碼器192,其被配置為使用熵編碼技術(例如CABAC或霍夫曼編碼)解析位元流199以及提取與量化係數113和123基本相同的量化係數115和125。解碼器還包括逆量化模組173和183,每個模組被配置為執行逆量化操作,以及逆變換模組174和184,每個模組被配置為執行逆變換操作。逆量化模組173和183可以是相同的,以及藉由對量化係數115和125進行去量化以分別獲得變換係數116和126來執行逆量化操作。逆變換模組174和184可以是相同的,分別對頻域的變換係數116和126執行逆變換操作,以產生空間域的重構的Cb殘差118和重構的Cr殘差128。
一、色度殘差聯合編碼( JCCR )
如上所示,色度編碼方案100使用兩個相同的並行管線來處理編碼塊的色度殘差(即,Cb殘差111和Cr殘差121),一個管線由模組171、172、191、192、173和174組成,另一管線由模組181、182、191、192、183和184組成。根據本公開的一個方面,可以僅使用一個管線而不是兩個管線來處理色度殘差, 如下所述,從而減少所需的硬體和/或軟體資源。藉由採用聯合色度編碼模式,即色度殘差聯合編碼(JCCR)來實現資源減少,如下所述。
第2圖示出根據本公開的實施方式的示例設計的圖,其中採用JCCR的色度編碼方案200被示出。在色度編碼方案200中,只有一個由模組171、172、191、192、173和174組成的管線參與對Cb殘差111和Cr殘差121進行編碼。具體地,色度編碼方案200在編碼器使用JCCR縮放器271,其被配置為基於Cb殘差111和Cr殘差121生成聯合殘差291。聯合殘差291被饋送到管線(即,模組171、172、191、192、173和174的組合),在解碼器側產生重構的聯合殘差297。解碼器包括JCCR逆縮放器272,其被配置為基於重構的聯合殘差297生成重構的Cb殘差218和重構的Cr殘差228。重構的Cb殘差218和重構的Cr殘差228,雖然與重構的Cb殘差118和重構的Cr殘差128不同,但是分別接近重構的Cb殘差118和重構的Cr殘差128,因此足以使解碼器重構原始視訊圖片或其中的塊。
具體地,JCCR縮放器271被配置為藉由將Cb殘差111和Cr殘差121的像素級線性組合指定為聯合殘差291來生成聯合殘差291。例如,聯合殘差291可以表示為下面的等式(1):
(Jt.Res.291)=
wt_Cb×(Res.Cb111)+
wt_Cr×(Res.Cr 121) (1)
其中
wt_Cb是表示Cb殘差111的權重或比例因數的實數,並且其中
wt_Cr是表示Cr殘差121的權重或比例因數的實數。值得注意的是,等式(1)適用於編碼塊的每個像素。即,在對當前塊生成聯合殘差291時,JCCR縮放器271對當前塊的每個像素使用相同的縮放因數
wt_Cb和
wt_Cr值。
另一方面,JCCR逆縮放器272被配置為從重構的聯合殘差297導出重構的Cb殘差218和重構的Cr殘差228。具體地,JCCR逆縮放器272被配置為藉由將相應的縮放因數乘以重構的聯合殘差297生成重構的Cb殘差218和重構的Cr殘差228。例如,重構的Cb殘差218和重構的Cr殘差228可以由以下等式(2)和(3)表示:
Rec.Res.Cb218=
wt_i_Cb×(Rec.Jt.Res.297) (2)
以及
Rec.Res.Cb228=
wt_i_Cr×(Rec.Jt.Res.297) (3)
其中
wt_i_Cb是表示縮放因數的實數,該縮放因數與重構的聯合殘差297相乘以生成重構的Cb殘差218,以及其中
wt_i_Cr是表示縮放因數的實數,該縮放因數與重構的聯合殘差297相乘以生成重構的Cr殘差228。在一些實施例中,縮放因數
wt_i_Cb和
wt_i_Cr的值可以取決於等式(1)的
wt_Cb和/或
wt_Cr的值。與作為塊級操作的等式(1)相同,等式(2)和(3)應用於重構聯合的殘差297的每個像素。即,在導出重構的Cb殘差218和重構的Cr殘差228時,JCCR逆縮放器272對當前塊的每個像素使用相同的縮放因數
wt_i_Cb和
wt_i_Cr值。
因此,色度編解碼方案200可用於根據參數
wt_Cb、
wt_Cr、
wt_i_Cb和
wt_i_Cr的值來實現各種JCCR模式。例如,以下被稱為“JCCR子模式1”的JCCR模式可以由下面的等式(4)定義:
wt_Cb=
0.8, wt_Cr=
0.4*CSign , wt_i_Cb=
1.0, 以及 wt_i_Cr=
0.5* C S ign(4)
此外,以下被稱為“JCCR子模式2”的JCCR模式可由以下等式(5)定義:
wt_Cb=
0. 5 , wt_Cr=
0. 5 *CSign , wt_i_Cb=
1.0, 以及 wt_i_Cr=
1.0* C S ign(5)
此外,JCCR模式,以下被稱為“JCCR子模式3”可以由下面的等式(6)定義:
wt_Cb=
0. 4 *CSign, wt_Cr=
0. 8, wt_i_Cb=
0.5*CSign, 以及 wt_i_Cr=
1.0(6)
在每個等式(4) – (6) 中,參數CSign是+1或-1,由編碼器確定,以及在位元流299的片段報頭中發送到解碼器。
二、 JCCR 模式判定
在一些實施例中,視訊編碼器能夠編碼具有和不具有JCCR模式的視訊圖片。因此,編碼器需要對每個要編碼的編碼塊確定是打開還是關閉JCCR模式。也就是說,對於要編碼的立即編碼塊(即,“當前塊”),編碼器必須決定是使用色度編碼方案100還是使用色度編碼方案200來編碼當前塊。第3圖示出根據本公開的實施方式的示例設計的圖,其中JCCR模式判定模組300被示出。模式判定模組300可以被包括在編碼器中以確定是否將優選地啟動JCCR模式以對塊進行編碼。具體地,模式判定模組300被配置為類比(simulate)或以其他方式估計在JCCR模式被開啟以及JCCR模式被關閉的情況下編碼和解碼當前塊期間將引入色度殘差中的失真。在JCCR模式被關閉時估計的失真優於(即,低於)在JCCR模式被開啟時估計的失真的情況下,JCCR模式判定模組300將確定優選模式388為“JCCR關閉”模式(即,JCCR模式被關閉),因此當前塊將使用優選模式388,即根據色度編碼方案100進行編碼。如果JCCR模式被開啟時估計的失真優於(即,低於)在JCCR模式被關閉時估計的失真的情況下,JCCR模式判定模組300將確定優選模式388為“JCCR開啟”模式(即,JCCR模式被開啟),因此當前塊將使用優選模式388,即根據色度編碼方案200進行編碼。
如第3圖所示,模式判定模組300具有平行作業的三個管線301、302和303,管線301由塊311-314組成,管線302由塊321-324組成,管線303由塊331-334組成。塊311、321和331中的每一個是變換模組,被配置為執行與變換模組171和181中的每一個相同或相似的功能。塊312、322和332中的每一個是量化模組,被配置為執行與量化模組172和182中的每一個相同或相似功能。塊313、323和333中的每一個是逆量化模組,被配置為執行與逆量化模組173和183中的每一個相同或相似的功能。塊314、324和334中的每一個是逆變換模組,被配置為執行與逆變換模組174和184中的每一個相同或相似的功能。
此外,模式判定模組300還包括JCCR縮放器371和JCCR逆縮放器372。JCCR縮放器371可以與JCCR縮放器271相同,而JCCR逆縮放器372可以與JCCR逆縮放器272相同。因此,JCCR縮放器371基於Cb殘差111和Cr殘差121生成的聯合殘差391可以與聯合殘差291相同。
模式判定模組300使用管線301和302來類比“JCCR關閉”模式。具體地,管線301被配置為基於Cb殘差111生成重構的Cb殘差318,而管線302被配置為基於Cr殘差121生成重構的Cr殘差328。給定管線301和塊171-174的組合之間的相似性,重構的Cb殘差318是重構的Cb殘差118的近似估計。同樣,給定管線302和塊181-184的組合之間的相似性,重構的Cb殘差328是重構的Cb殘差128的近似估計。
此外,模式判定模組300採用管線303來類比“JCCR開啟”模式。 具體地,管線303被配置為基於由JCCR縮放器371生成的聯合殘差391生成重構的聯合殘差397。給定管線303與塊171-174的組合之間的相似性,重構的聯合殘差397是重構的聯合殘差297的近似估計。因此,由JCCR逆縮放器372基於重構的聯合殘差397生成的重構的Cb殘差338和重構的Cr殘差348分別是重構的Cb殘差218和重構的Cr殘差228的近似估計。
模式判定模組300還包括失真評估模組380,用於計算JCCR關閉失真值和JCCR開啟失真值。失真評估模組380使用以下等式(7)計算JCCR關閉失真:
JCCR關閉失真=JCCR_off_Cb_dist+JCCR_off_Cr_dist (7)
在等式(7)中,JCCR_off_Cb_dist表示Cb殘差111和重構的Cb殘差318之間的失真(即,差值),而JCCR_off_Cr_dist表示Cr殘差121和重構的Cr殘差328之間的失真。同樣,失真評估模組380使用下面的等式(8)計算JCCR開啟失真:
JCCR開啟失真=JCCR_on_Cb_dist+JCCR_on_Cr_dist (8)
在等式(8)中,JCCR_on_Cb_dist表示Cb殘差111和重構的Cb殘差338之間的失真,而JCCR_on_Cr_dist表示Cr殘差121和重構的Cr殘差348之間的失真。等式(7)和等式(8)中的JCCR_off_Cb_dist、JCCR_off_Cr_dist、JCCR_on_Cb_dist和JCCR_on_Cr_dist中的每一個可以使用塊級品質因數來計算,比如跨當前塊的每個像素計算的塊級品質因數,例如平方差和(sum of squared difference,簡稱SSD)或絕對差和(sum of absolute difference,簡稱SAD)。
在一些實施例中,失真評估模組380可以相應地確定優選模式388。也就是說,失真評估模組380可以將JCCR關閉失真與JCCR開啟失真進行比較並且相應地確定優選模式388。具體地,在使用等式(7)計算的JCCR關閉失真高於使用等式(8)計算的JCCR開啟失真的情況下,失真評估模組380可以確定優選模式388是“JCCR開啟”模式。相反,在使用等式(7)計算的JCCR關閉失真不高於使用等式(8)計算的JCCR開啟失真的情況下,失真評估模組380可以確定優選模式388為 “JCCR 關閉”模式。
第4圖示出根據本公開的實施方式的示例設計的圖,其中JCCR模式判定模組400被示出。模式判定模組400旨在實現與模式判定模組300相同的目的,即決定是否使用JCCR模式來編碼圖片中的塊。模式判定模組400以與模式判定模組300相同的方式類比“JCCR關閉”模式,即藉由分別處理管線301和302的每一級的Cb殘差111和Cr殘差121。然而,模式判定模組400以與模式判定模組300不同的方式類比“JCCR開啟”模式。模式判定模組400具有與模式判定模組300相同的塊或模組,除了變換模組331。此外,與模式判定模組300相比,模式判定模組400對JCCR縮放器371使用不同的一組輸入。具體地,在模式判定模組400中,JCCR縮放器371接收變換的Cb殘差412和變換的Cr殘差422作為輸入,而不是如第3圖中的Cb殘差111和Cr殘差121。在第4圖中,變換的Cb殘差412由變換模組311對Cb殘差111執行變換操作(例如,DCT或DCT-2)產生,而變換的Cr殘差422由變換模組321對Cr殘差121執行變換操作產生。因此,雖然Cb殘差111和Cr殘差121在空間域中,但是變換Cb殘差412和變換Cr殘差422在頻域中。由此可見,由JCCR縮放器371基於變換的Cb殘差412和變換的Cr殘差422使用與等式(1)類似的線性運算的生成的聯合殘差491也在頻域中。在經由量化模組332之後,聯合殘差491作為像素資料433被保留在頻域中,以及在進一步經由逆量化模組333之後,作為像素資料435被保留在頻域中。聯合殘差491隨後藉由逆變換模組334變換回空間域作為重構的聯合殘差497。JCCR逆縮放器372然後使用類似於等式(2)和(3)的縮放操作基於重構的聯合殘差497導出重構的Cb殘差438和重構的Cr殘差448。具體地,第4圖的JCCR縮放器371被配置為使用以下等式(9)生成聯合殘差491:
(Jt.Res.491)=
wt_Cb×(Trans. Res. Cb 412)+
wt_Cr×(Trans. Res. Cr 422) (9)
其中
wt_Cb是表示變換後的Cb殘差412的權重或比例因數的實數,
wt_Cr是表示變換後的Cr殘差422的權重或比例因數的實數。值得注意的是,等式(9)適用於每個編碼塊的像素。即,在生成當前塊的聯合殘差491時,JCCR縮放器371對當前塊的每個像素使用相同的縮放因數
wt_Cb和
wt_Cr值。此外,第4圖的JCCR逆縮放器372被配置為使用以下等式(10)和(11)生成重構的Cb殘差438和重構的Cr殘差448:
Rec.Res.Cb 438=
wt_i_Cb× (Rec. Jt. Res. 497) (10)
以及
Rec.Res.Cb 448=
wt_i_Cr× (Rec. Jt. Res. 497) (11)
其中
wt_i_Cb是表示縮放因數的實數,其與重構的聯合殘差497相乘以生成重構的Cb殘差438,以及
wt_i_Cr是表示縮放因數的實數,其與重構的聯合殘差497相乘以生成重構的Cr殘差448。縮放因數
wt_i_Cb和
wt_i_Cr的值可以取決於等式(9)的
wt_Cb和/或
wt_Cr的值。與作為塊級操作的等式(9)相同,等式(10)和(11)應用於重構的聯合殘差497的每個像素。即,在導出重構的Cb殘差438和重構的Cr殘差448時,JCCR逆縮放器372對當前塊的每個像素使用相同的縮放因數
wt_i_Cb和
wt_i_Cr值。
如在模式判定模組300中,模式判定模組400的失真評估模組380也被配置為分別基於等式(7)和(8)計算JCCR關閉失真值和JCCR開啟失真值。 假設模式判定模組400以與模式判定模組300相同的方式類比“JCCR關閉”模式(即,藉由管線301和302的每一級),JCCR關閉失真值的計算在模式判定模組300和模式判定模組400兩者中相同。然而,由於模式判定模組400與模式判定模組300不同地類比“JCCR開啟”模式,如上所述,JCCR開啟失真值的計算稍有不同。具體地,對於模式判定模組400,等式(8)中的JCCR_on_Cb_dist表示Cb殘差111和重構的Cb殘差438之間的差值,而JCCR_on_Cr_dist表示Cr殘差121和重構的Cr殘差448之間的差值。如同模式判定模組300,JCCR關閉失真值和JCCR開啟失真值都在空間域中計算。失真評估模組380還基於JCCR關閉失真值和JCCR開啟失真值以與優選模式388相同的方式確定優選模式488。
因此,模式判定模組300和模式判定模組400之間的本質區別在於,在模式判定模組300中,JCCR縮放器371在先執行變換操作(由變換模組331執行),而在模式判定模組400中,JCCR縮放器371在後執行變換操作(由變換模組311和321執行)。鑒於該差異,聯合殘差491與聯合殘差391不相同,因此重構的聯合殘差497與重構的聯合殘差397不同。儘管如此,雖然不相同,但聯合殘差491和聯合殘差391之間的差值很小。這是因為等式(1)中描述的變換操作(例如DCT或DCT-2)和JCCR縮放操作都是基本線性操作。因此,當這兩個操作交換處理順序時,引入的差值很小。由此可見,重構的聯合殘差397和重構的聯合殘差497之間、重構的Cb殘差338和重構的Cb殘差438之間、重構的Cr殘差348和重構的Cr殘差448之間的差值很小。因此,由模式判定模組400確定的優選模式488將與由模式判定模組300確定的優選模式388相同,因為JCCR開啟失真和JCCR關閉失真中的每一個都保持基本相同,而不管它們是否使用模式判定模組300或模式判定模組400計算。
第5圖示出根據本公開的實施方式的示例設計的圖,其中JCCR模式判定模組500被示出。模式判定模組500旨在實現與模式判定模組300和400相同的目的,即決定是否使用JCCR模式來編碼圖片中的塊。與模式判定模組400相比,模式判定模組500以略微不同的方式類比“JCCR關閉”模式和“JCCR開啟”模式。具體地,模式判定模組500具有與模式判定模組400相同的塊或模組,除了逆變換模組314、324和334之外。此外,與模式判定模組400相比,模式判定模組500對JCCR逆縮放器372的使用不同的輸入。即,在模式判定模組500中,JCCR逆縮放器372接收重構的聯合殘差597(其與模式判定模組400中的像素資料435相同)作為輸入。即,重構的聯合殘差597本質上是在空間域中的重構的聯合殘差497的頻域版本,因為從模式判定模組500中排除的逆變換模組334將把頻率域中的重構的聯合殘差597變換為空間域中的重構聯合殘差497。
在模式判定模組500中,JCCR逆縮放器372隨後基於重構的聯合殘差597以及使用與等式(2)和(3)類似的縮放操作來導出重構的Cb殘差538和重構的Cr殘差548。假設重構的聯合殘差597在頻域中,重構的Cb殘差538和重構的Cr殘差548也在頻域中。第5圖的JCCR逆縮放器372被配置為使用以下等式(12)和(13)生成重構的Cb殘差538和重構的Cr殘差548:
Rec.Res.Cb538=
wt_i_Cb×(Rec.Jt.Res.597) (12)
以及
Rec.Res.Cr548=
wt_i_Cr×(Rec.Jt.Res.597) (13)
其中
wt_i_Cb是表示縮放因數的實數,其與重構的聯合殘差597相乘以生成重構的Cb殘差538,以及
wt_i_Cr是表示縮放因數的實數,其與重構的聯合殘差597相乘以生成重構的Cr殘差548。在一些實施例中,縮放因數
wt_i_Cb和
wt_i_Cr的值可以取決於等式(9)的
wt_Cb和/或
wt_Cr的值。等式(12)和(13)被應用於重構聯合殘差597的每個像素。即,在導出重構的Cb殘差538和重構的Cr殘差548時,JCCR逆縮放器372對當前塊的每個像素使用相同的縮放因數
wt_i_Cb和
wt_i_Cr。
與模式判定模組400相比,逆變換模組334的排除和對JCCR逆縮放器372的輸入的改變共同導致在模式判定模組500中以不同方式類比“JCCR開啟”模式。此外,與模式判定模組400相比,逆變換模組314和324的排除還導致在模式判定模組500中以不同方式類比“JCCR關閉”模式。具體而言,量化模組312和322將變換的Cb殘差412和變換的Cr殘差422分別量化成為經變換和量化的Cb殘差513和經變換和量化的Cr殘差523。隨後,逆量化模組313和323分別將經變換和量化的Cb殘差513和經變換和量化的Cr殘差523去量化為重構的Cb殘差518和重構的Cr殘差528。與重構的Cb殘差538和重構的Cr殘差548相同,重構的Cb殘差518和重構的Cr殘差528也在頻域中。
如在模式判定模組400中,模式判定模組500的失真評估模組380也被配置為基於等式(7)和(8)分別計算JCCR關閉失真值和JCCR開啟失真值。由於模式判定模組500類比“JCCR關閉”模式和“JCCR開啟”模式與模式判定模組400不同,如上所述,JCCR關閉失真值和JCCR開啟失真值的計算也不同。具體地,對於模式判定模組500,等式(7)中的JCCR_off_Cb_dist表示變換的Cb殘差412和重構的Cb殘差518之間的失真(即,差值),而JCCR_off_Cr_dist表示變換的Cr殘差422和重構的Cb殘差528之間的差值。此外,等式(8)中的JCCR_on_Cb_dist表示變換的Cb殘差412和重構的Cb殘差538之間的差值,而 JCCR_on_Cr_dist 表示變換的Cr殘差422和重構的Cr殘差548之間的差值。在模式判定模組500中,JCCR關閉失真值和JCCR開啟失真值在頻域中計算。在一些實施例中,失真評估模組380進一步基於JCCR關閉失真值和JCCR開啟失真值以與確定優選模式388相同的方式確定優選模式588。
因此,模式判定模組400和模式判定模組500之間的本質區別在於:前者的失真值(即,JCCR關閉失真值和JCCR開啟失真值)在空間域中計算,但後者在頻域中。藉由計算頻域中的失真值,與模式判定模組400相比,模式判定模組500節省了許多組件(例如,逆變換模組314、324和334)。此外,使用在頻域中計算的失真值確定的優選模式588與使用在空間域中計算的失真值確定的優選模式488或388基本相同。這是因為通常在頻域中計算的失真值和在空間域中計算的失真值基本上僅相差一個常數。即,由模式判定模組500計算的JCCR關閉失真值實質上是由模式判定模組400計算的JCCR關閉失真值按常數因數(即,實數)縮放的結果,而由模式判定模組500計算的JCCR開啟失真值基本上是由模式判定模組400計算的JCCR開啟失真值按相同常數因數縮放的結果。因此,優選模式588與模式判定模組500和模式判定模組400兩者中的失真評估模組380所確定的優選模式488相同。
如上文其他地方所述,JCCR模式可以包括若干子模式,其中的每一個對應於相應的一組縮放因數。例如,JCCR模式可以包括JCCR子模式1、JCCR子模式2和JCCR子模式3,JCCR子模式1、JCCR子模式2和JCCR子模式3分別對應於等式(4)-(6)中指定的縮放因數。當前塊可以在JCCR子模式之一或“JCCR關閉”模式下進行編碼。如果不止一個JCCR子模式適用於對當前塊進行編碼,則需要JCCR模式判定模組來評估或以其他方式類比每個JCCR子模式以及“JCCR關閉”模式, 以及確定JCCR子模式或“JCCR關閉”模式之一作為用於編碼當前塊的優選模式。
第6圖示出根據本公開的實施方式的示例設計的圖,其JCCR模式判定模組600被示出。模式判定模組600旨在決定用於編碼當前塊的優選編碼模式688,其中優選編碼模式688選自幾個預定的JCCR子模式(即,等式(4)-(6)中定義的JCCR子模式1、JCCR子模式2、以及JCCR子模式3和“JCCR關閉”模式)。模式判定模組600使用與模式決策模組500相同的模組和相同的方法來類比“JCCR關閉”。此外,模式決策模組600使用與模式決策模組500相同的模組和相同的方法來類比JCCR子模式1、JCCR子模式2和JCCR子模式3中的每一個,但使用如等式(4)、(5)和(6)中定義的相應縮放因子集。也就是說,三組相同的模組並行運行以分別類比JCCR子模式1、JCCR子模式2,和JCCR子模式3。
如第6圖所示,用於類比JCCR子模式1的第一組模組包括JCCR縮放器671(1)、量化模組632(1)、逆量化模組633(1)和JCCR逆縮放器672(1)。第二組模組,被配置為類比JCCR子模式2,包括JCCR縮放器671(2)、量化模組632(2)、逆量化模組633(2)和JCCR逆縮放器672(2)。第三組模組,被配置為類比JCCR子模式3,包括JCCR縮放器671(3)、量化模組632(3)、逆量化模組633(3)和JCCR逆縮放器672(3)。量化模組632(1)-(3)中的每一個與模式判定模組500的量化模組332相同並且執行相同的功能。逆量化模組633(1)-(3)中的每一個與模式判定模組500的逆量化模組333相同並且執行相同的功能。除了使用等式(4)、(5)或(6)中定義的相應的一組縮放因數之外,JCCR縮放器671(1)-(3)中的每一個都與模式判定模組500的JCCR縮放器371相同並且執行相同的功能。同樣,除了使用等式(4)、(5)或(6)中定義的相應的一組縮放因數之外,JCCR逆縮放器672(1)-(3)中的每一個與模式判定模組500的JCCR逆縮放器372相同並且執行相同的功能。
模式判定模組600進一步包括失真評估模組680,其被配置為計算JCCR關閉失真值以及JCCR子模式1、2和3中的每一個的相應JCCR開啟失真值。基於計算的四個失真值,失真評估模組680可以進一步被配置為確定將用於編碼當前塊的優選模式688。具體地,失真評估模組680被配置為基於等式(7)計算JCCR關閉失真值,其中等式(7)中的JCCR_off_Cb_dist表示變換的Cb殘差412和重構的Cb殘差518之間的失真(即差值),以及等式(7)中的JCCR_off_Cr_dist 表示變換的Cr殘差422和重構的Cr殘差528之間的差值。另外,失真評估模組680被配置為基於等式(8)計算JCCR子模式1、2和3中的每一個的JCCR開啟失真值。在計算JCCR子模式1的JCCR開啟失真值時,等式(8)中的JCCR_on_Cb_dist表示變換的Cb殘差412和重構的Cb殘差638(1)之間的差值,而JCCR_on_Cr_dist 表示變換的Cr殘差422和重構的Cr殘差648(1)之間的差值。在計算JCCR子模式2的JCCR開啟失真值時,等式(8)中的JCCR_on_Cb_dist表示變換的Cb殘差412 和重構的Cb殘差638(2)之間的差值,而JCCR_on_Cr_dist表示變換的Cr殘差422和重構的Cr殘差648(2)之間的差值。在計算JCCR子模式3的JCCR開啟失真值時,等式(8)中的JCCR_on_Cb_dist表示變換的Cb殘差412和重構的Cb殘差 638(3)之間的差值,而JCCR_on_Cr_dist表示變換的Cr殘差422和重構的Cr殘差648(3)之間的差值。重構的Cb殘差638(1)、重構的Cb殘差638(2)和重構的Cb殘差638(3)是當前塊的Cb色度分量的重構殘差,分別由JCCR逆縮放器672(1)、672(2)和672(3)生成。重構的Cr殘差648(1)、重構的Cr殘差648(2) 和重構的Cr殘差648(3)是當前塊的Cr色度分量的重構殘差,分別由JCCR逆縮放器 672(1)、672(2)和672(3)生成。如同在模式判定模組500中,在模式判定模組600中,JCCR關閉失真值和三個JCCR開啟失真值中的每一個在頻域中計算。
在一些實施例中,失真評估模組680可以進一步基於JCCR關閉失真值和三個JCCR開啟失真值確定優選模式688,其中優選模式688是四種候選編碼模式之一, 即,“JCCR關閉”模式、JCCR子模式1、JCCR子模式2和JCCR子模式3。例如,失真評估模組680可以比較JCCR關閉失真值、JCCR子模式1失真值、JCCR子模式2失真值和JCCR子模式3失真值,以及隨後將四種候選編碼模式中具有最低失真值的模式指定為優選模式688。
與模式判定模組500相比,模式判定模組600能夠評估另外兩個候選JCCR子模式。與模式判定模組500相比,這種擴展能力的成本包括用於實現兩個額外的JCCR縮放器、兩個額外的JCCR逆縮放器、兩個額外的量化模組和兩個額外的逆量化模組的硬體和/或軟體資源。與實現量化模組和逆量化模組的成本相比,實現JCCR縮放器和JCCR逆縮放器的成本相對較低,因為JCCR縮放器和JCCR逆縮放器所涉及的操作僅僅是縮放(即乘法)和加法。相比之下,量化模組和量化模組所涉及的操作要複雜得多,成本要高得多。
三、具有子模式预选的 JCCR 模式判定
第7圖示出根據本公開的實施方式的示例設計的圖,其中JCCR模式判定模組700被示出。模式判定模組700旨在實現與模式判定模組600相同的功能,即決定用於編碼當前塊的優選編碼模式788,其中優選編碼模式788選自四種候選色度編碼模式,即,JCCR子模式1、JCCR子模式2、JCCR子模式3和“JCCR 關閉”模式。模式判定模組700能夠藉由不包括兩個額外的量化模組和兩個額外的逆量化模組(即模組632(2)、632(3)、633(2)和633(3))來實現相同的功能。事實上,模式判定模組700具有與模式判定模組500相同數量的量化模組和逆量化模組。
模式判定模組500和700之間的區別在於後者的預選模組740。如第7圖所示,預選模組740包括JCCR縮放器671(1)-(3)和JCCR逆縮放器672(1)-(3)。預選模組740還包括失真評估模組770,其執行失真評估模組680的部分功能。基本上,預選模組740對多個候選JCCR子模式(例如,如上文其他地方所述的JCCR子模式1、2和3)執行快速篩選或預選操作,以及因此選擇候選JCCR子模式之一作為優選子模式777。因此,模式判定模組700的失真評估模組380僅計算優選子模式777的JCCR開啟失真值,而不計算其餘候選JCCR子模式(也就是除了優選子模式777之外的候選JCCR子模式)的JCCR開啟失真值。預選模組740的操作詳述如下。
預選模組740可以被視為平行作業的三個管線701、702和703,三個管線701-703中的每一個被配置為評估三個候選JCCR子模式之一,即JCCR子模式1、2和3。JCCR子模式1、2和3是預定的JCCR子模式,每個子模式定義或指定相應的一組縮放因數的值,即如等式(4)、(5)或(6)所示的參數
wt_Cb、
wt_Cr、
wt_i_Cb和
wt_i_Cr。具體地,JCCR子模式1由管線701評估,管線701包括與JCCR逆縮放器672(1)連接的JCCR縮放器671(1),等式(4)中指定的縮放因數應用於JCCR縮放器671 (1)和JCCR逆縮放器 672(1)。JCCR子模式2由管線702評估,管線702包括與JCCR逆縮放器672(2)連接的JCCR縮放器671(2),等式(5)中指定的縮放因數應用於JCCR縮放器671(2)和JCCR逆縮放器672(2)。JCCR 子模式3由管線703評估,管線703包括與JCCR逆縮放器672(3)連接的JCCR縮放器671(3),等式(6)中指定的縮放因數應用於JCCR縮放器671(3 )和JCCR逆縮放器 672(3)。管線701-703被配置為使用由JCCR子模式1、2和3定義的一組縮放因數分別將部分變換的殘差對(a pair of partially transformed residuals)映射到相應的映射殘差對。如第7圖所示,該部分變換的殘差對包括水平變換的Cb殘差710和水平變換的Cr殘差720,它們的生成在下文中描述。具體地,管線701被配置為將水平變換的Cb和Cr殘差710和720映射到映射的Cb殘差758和映射的Cr殘差768;管線702被配置為將水平變換的Cb和Cr殘差710和720映射到映射的Cb殘差778和映射的Cr殘差788;管線703被配置為將水平變換的Cb和Cr殘差710和720映射到映射的Cb殘差798和映射的Cr殘差708。具體地,映射的Cb和Cr殘差758和768由JCCR逆縮放器672(1)生成。同樣,映射的Cb和Cr殘差778和788由JCCR逆縮放器672(2)生成,而映射的Cb和Cr殘差798和708由JCCR逆縮放器672(3)生成。
失真評估模組770被配置為基於管線701-703的輸入和輸出對每個JCCR子模式1、2和3計算相應的失真值。即,相應的失真值基於水平變換的Cb和Cr殘差710和720以及由相應管線(即,管線701、702或703)生成的映射的Cb和Cr殘差計算。具體地,為了評估JCCR子模式1,失真評估模組770計算第一失真值,該第一失真值表示水平變換的Cb和Cr殘差710和720與映射的Cb和Cr殘差758和768之間的塊級差值。同樣,為了評估JCCR子模式2,失真評估模組770計算第二失真值,該第二失真值表示水平變換的Cb和Cr殘差710和720與映射的Cb和Cr殘差778和788之間的塊級差值。為了評估JCCR子模式3,失真評估模組770計算第三失真值,該第三失真值表示水平變換的Cb和Cr殘差710和720與映射的Cb和Cr殘差798和708之間的塊級差值。類似於JCCR關閉失真值和JCCR-on失真值如何根據等式(7)和(8)來計算,第一、第二和第三失真值可以進行核算或計算。第一、第二和第三失真值可以使用跨當前塊的每個像素計算的SSD或SAD來計算。基於第一、第二和第三失真值,失真評估模組770可以將JCCR子模式1、2和3中的一個指定為優選子模式777。例如,在第三失真值低於第一和第二失真值的情況下,失真評估模組770可以將JCCR子模式3指定為優選子模式777。因此,模式判定模組700的JCCR縮放器371和JCCR逆縮放器372可以操作基於等式(6)中指定的參數值,而不是等式(4)或(5)中指定的參數值。即,藉由選擇JCCR子模式3作為優選子模式777,預選模組740從而確定與JCCR縮放器371和JCCR逆縮放器372一起使用的縮放因數
wt_Cb、
wt_Cr、
wt_i_Cb和
wt_i_Cr的值為等式(6)中指定的那些參數值。
優選子模式777和/或其中定義的縮放因數可以被發送到JCCR縮放器371和JCCR逆縮放器372。JCCR縮放器371和JCCR逆縮放器372可以使用在優選子模式777中定義的縮放因數相應地執行縮放和逆縮放操作。具體地,第7圖的JCCR縮放器371被配置為根據下面的等式(14)在頻域中生成聯合殘差791,其中在優選子模式777中定義了比例因數wt_Cb和wt_Cr的值:
(Jt. Res.791)=
wt_Cb×(Trans. Res. Cb 412)+
wt_Cr×(Trans. Res. Cr 422) (14)
隨後由量化模組332和逆量化模組333處理聯合殘差791,從而在頻域中產生重構的聯合殘差797。第7圖的JCCR逆縮放器372被配置為使用以下等式(15)和(16)基於重構的聯合殘差797生成重構的Cb殘差738和重構的Cr殘差748:
Rec.Res.Cb738=
wt_i_Cb×(Rec.Jt.Res.797) (15)
以及
Rec.Res.Cr748=
wt_i_Cr×(Rec.Jt.Res.797) (16)
其中,縮放因數
wt_i_Cb和
wt_i_Cr的值在優選子模式777中定義。
如第7圖所示,變換模組311可以包括水平變換子模組751和垂直變換子模組752。變換模組311可以分兩個步驟將Cb殘差111變換為變換的Cb殘差412,即,第一步驟,然後是第二步驟。在第一步驟中,水平變換子模組751可以對Cb殘差111的每一行(row)進行水平變換以生成水平變換的Cb殘差710。在第二步驟中,垂直變換子模組752可以對水平變換的Cb殘差710的每一列(column)進行垂直變換,以生成已完全變換的變換的Cb殘差412。
同樣,變換模組321也可以包括水平變換子模組761和垂直變換子模組762。水平變換子模組761可以與水平變換子模組751相同,而垂直變換子模組761可以與水平變換子模組761相同。變換子模組762可以與垂直變換子模組752相同。變換模組321可以在兩個步驟中將Cr殘差121變換為變換的Cr殘差422,即,第一步驟,然後是第二步驟。在第一步驟中,水平變換子模組761可以對Cr殘差121的每一行(row)進行水平變換以生成水平變換的Cr殘差720。在第二步驟中,垂直變換子模組762可以對水平變換的Cr殘差720的每一列(column)進行垂直變換,以生成已完全變換的變換Cr殘差422。在一些實施例中,預選模組740引入的處理延遲基本上等於或小於垂直變換子模組752和762中的每一個引入的處理延遲。
雖然在第7圖中,水平變換子模組751和761分別在垂直變換子模組752和762之前,在一些可選實施例中該順序可以交換。也就是說,在可選實施例中,垂直變換子模組752和762可以分別在水平變換子模組751和761之前。因此,部分變換的Cb殘差710和部分變換的Cr殘差720可以包括垂直變換的色度殘差而不是水平變換的色度殘差。
在一些實施例中,預選模組740可以僅包括一個管線(即,管線701-703之一)而不是三個並行管線(即,管線701-703),其中一個管線可以順序地評估所有三個候選JCCR子模式。例如,預選模組740可以僅包括管線701而不包括管線702和703。管線701可以藉由使用等式(4)中指定的參數值生成映射的Cb和Cr殘差758和768,然後使用等式(5)中指定的參數值生成映射的Cb和Cr殘差778和788,接著使用等式(6)中指定的參數值生成映射的Cb和Cr殘差798和708,以此來順序地評估JCCR子模式1、2和3。值得注意的是,與垂直變換子模組752和762相比,每個管線701-703涉及的計算量要少得多。因此,即使僅使用管線701-703之一(例如,管線701)用於順序地評估JCCR子模式1、2和3,預選模組740引入的處理延遲仍然基本上等於或小於垂直變換子模組752和762中的每一個引入的處理延遲。
四 說明性實現
第8圖示出可以實施JCCR模式判定模組500、600和700中的任何一個的頻域模式判定裝置800。模式判定裝置800可以是視訊編碼器的一部分。裝置800可以使用基於塊的管線處理來處理圖片的編碼塊的像素資料。編碼塊可以被稱為“當前塊”。在一些實施例中,裝置800可以被配置為處理當前塊的像素資料,以及據此確定用於對當前塊進行編碼的優選編碼模式。裝置800可以類比幾種候選編碼模式以及對每個候選編碼模式計算失真值。裝置800隨後可以藉由比較失真值來確定優選編碼模式。裝置800具有若干組件或模組,包括選自變換模組810、縮放模組820、量化模組830、逆量化模組840、逆縮放模組850、失真評估模組860、預選模組870、子模式緩衝器880和優選模式緩衝器890的一些組件。
在一些實施例中,如上所列的模組810-890是由計算設備或電子裝置的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組810-890是由電子設備的一個或多個積體電路(integrated circuit,簡稱IC)實現的硬體電路模組。儘管模組810-890被示為單獨的模組,但一些模組可以組合成單個模組。
變換模組810可以被配置為處理當前塊的第一像素資料和當前塊的第二像素資料。在一些實施例中,第一像素資料可以是當前塊的第一色度分量(例如色度分量Cb)的殘差資料,而第二像素資料可以是當前塊的第二色度分量(例如色度分量Cr)的殘差資料。即,第一和第二像素資料可以分別是第5圖-第7圖中的Cb殘差111和Cr殘差121。具體地,變換模組810可以將空間域中的第一像素資料變換為頻域中的第一變換資料(例如,變換的Cb殘差412)。變換模組810可以進一步將空間域中的第二像素資料變換為頻域中的第二變換資料(例如,變換的Cr殘差422)。變換模組810可以由模式判定模組500、600或700中的每一個的變換模組311和321的集合來實施。
縮放模組820可以被配置為基於由變換模組810產生的第一和第二變換資料來生成聯合像素資料。例如,縮放模組820可以由模式判定模組500或700的JCCR縮放器371實施,或藉由模式判定模組600的JCCR縮放器671(1)-(3)中任一實施。假設第一變換資料和第二變換資料都在頻域中,聯合像素資料也保持在頻域。此外,聯合像素資料可以包括第一和第二變換資料的像素級線性組合。在一些實施例中,第一和第二變換資料的像素級線性組合可以包括第一變換資料乘以第一縮放因數和第二變換資料乘以第二縮放因數的總和。例如,第一和第二變換資料可以是變換的Cr和Cr殘差491和422,以及聯合像素資料可以是第5圖中的聯合殘差491。聯合殘差491可以由JCCR縮放器371使用等式(9)生成,以及第一和第二縮放因數可以分別是縮放因數
wt_Cb和
wt_Cr。
量化模組830可以被配置為將由縮放模組820生成的聯合像素資料量化為量化的聯合像素資料。例如,量化模組830可以由模式判定模組500或700的量化模組332或者由模式判定模組600的量化模組632(1)-(3)中的任一來實施。量化的聯合像素資料可以是第5圖中的像素資料433。鑒於聯合像素資料在頻域,量化的聯合像素資料也保持在頻域。
逆量化模組840可以被配置為將由量化模組830生成的量化的聯合像素資料去量化成重構的聯合像素資料。例如,逆量化模組840可以由模式判定模組500或700的逆量化模組333來實施,或者由模式判定模組600的逆量化模組633(1)-(3)中的任一來實施。重構的聯合像素資料可以是重構的聯合像素資料597。
逆縮放模組850可以被配置為基於由逆量化模組840生成的重構聯合像素資料來導出第一重構像素資料和第二重構像素資料。例如,逆縮放模組850可以由模式判定模組500或700的逆縮放模組372實施,或者由模式判定模組600的逆縮放模組672(1)-(3)中的任一來實施。在逆縮放模組850由模式判定模組500的逆縮放模組372實施的情況下,重構的聯合像素資料可以是重構的聯合像素資料597,以及第一重構像素資料和第二重構像素資料可以分別是重構的Cb殘差538和重構的Cr殘差548。在逆縮放模組850由模式判定模組700的逆縮放模組372實施的情況下,第一重構像素資料和第二重構像素資料可以分別是第7圖的重構的Cb殘差738和重構的Cr殘差748。在逆縮放模組850由模式判定模組600的逆縮放模組672(1)、672(2)或672(3)實現的情況下,第一重構像素資料可以是重構的Cb殘差638( 1)、638(2)或638(3),而第二重構像素資料可以是重構的Cr殘差648(1)、648(2)或648(3)。在一些實施例中,第一重構像素資料包括乘以第三縮放因數的重構的聯合像素資料,而第二重構像素資料包括乘以第四縮放因數的重構的聯合像素資料。具體地,在逆縮放模組850由模式判定模組500的逆縮放模組372實施的情況下,第一重構像素資料(即重構的Cb殘差538)可以由等式(12)表示,而第二重構像素資料(即,重構的Cr殘差548)可以由等式(13)表示。也就是說,第三和第四縮放因數可以分別是等式(12)的
wt_i_Cb和等式(13)的
wt_i_Cr。
失真評估模組860可以被配置為基於第一變換資料和第一重構像素資料計算第一失真值,以及基於第二變換資料和第二重構像素資料計算第二失真值。例如,失真評估模組860可以由模式判定模組500或700的失真評估模組380來實施,或者由模式判定模組600的任一失真評估模組680來實施。第一失真值可以是等式(8)的JCCR_on_Cb_dist,而第二失真值可以是等式(8)的JCCR_on_Cr_dist。在失真評估模組860由模式判定模組500的評估模組380實施的情況下,失真評估模組860基於變換的Cb殘差412和重構的Cb殘差538計算JCCR_on_Cb_dist,以及還基於變換的Cr殘差422和重構的Cr殘差548計算JCCR_on_Cr_dist。在失真評估模組860由模式判定模組700的評估模組380實施的情況下,失真評估模組860基於變換的Cb殘差412和重構的Cb殘差738計算JCCR_on_Cb_dist,以及基於變換的Cr殘差422和重構的Cr殘差748計算JCCR_on_Cr_dist。值得注意的是,JCCR_on_Cb_dist和JCCR_on_Cr_dist由失真評估模組860使用頻域中的資料計算。
在一些實施例中,量化模組830可以由第5、6或7圖中的多於一個量化模組來實施。例如,量化模組830可以由第5圖的量化模組312、322和332的組合來實施。相應地,量化模組830還可用於將第一變換像素資料量化為第一變換量化像素資料,將第二變換像素資料量化為第二變換量化像素資料。例如,由第5圖的量化模組312、322和332的組合實施的量化模組830,可以進一步將變換的Cb殘差412和變換的Cr殘差422分別量化為經變換和量化的Cb殘差513和經變換和量化的Cr殘差523。
在一些實施例中,逆量化模組840可以由第5、6或7圖中的多於一個逆量化模組來實施。例如,逆量化模組840可以藉由第5圖的逆量化模組313、323和333的組合來實施。相應地,逆量化模組840還可以被配置為將第一變換量化像素資料去量化為第三重構像素資料,將第二變換量化像素資料去量化為第四重構像素資料。例如,由第5圖或第7圖的逆量化模組313、323和333的組合實施的逆量化模組840,可以進一步將經變換和量化的Cb殘差513和經變換和量化的Cr殘差523分別去量化為重構的Cb殘差518和重構的Cr殘差528。重構的Cb殘差518和重構的Cr殘差528也在頻域中。
在一些實施例中,失真評估模組860還被配置為基於第一變換資料和第三重構像素資料計算第三失真值,以及基於第二變換資料和第四重構像素資料計算第四失真值。例如,由模式判定模組500或700的失真評估模組380或由模式判定模組600的失真評估模組680實施的失真評估模組860,可以基於變換的Cb殘差412和重構的Cb殘差518計算等式(7)的JCCR_off_Cb_dist,以及基於變換的Cr殘差422和重構的Cr殘差528計算等式(7)的JCCR_off_Cr_dist。
在一些實施例中,失真評估模組860還被配置為基於計算的第一、第二、第三和第四失真值來確定優選編碼模式891(例如,優選模式588、688或788)。失真評估模組860可以藉由比較第一和第二失真值的總和與第三和第四失真值的總和來確定優選編碼模式。例如,由模式判定模組500或700的失真評估模組380實施的失真評估模組860,可以比較等式(7)的JCCR關閉失真值和等式(8)的JCCR-on失真值,從而確定優選模式588或788。
預選模組870可以被配置為藉由在諸如子模式881、882和883的多個預定子模式中選擇優選子模式891來確定第一、第二、第三和第四縮放因數的值,其中多個預定子模式中的每一個可以定義第一、第二、第三和第四縮放因數的相應的一組值。預選模組870可以由預選模組740來實施,第一、第二、第三和第四縮放因數可以是等式(13)-(15)的
wt_Cb、
wt_Cr、
wt_i_Cb和
wt_i_Cr並且在優選子模式777中定義,由預選模組740選擇。
子模式緩衝器880可以被配置為存儲多個預定子模式,例如子模式881、882和883。子模式881、882和883中的每一個可以定義第一、第二、第三和第四比例因數的一組值。
優選模式緩衝器890可以被配置為存儲由失真評估模組860確定的優選模式891和由預選模組870選擇的優選子模式892。縮放模組820和逆縮放模組850可以訪問優選模式緩衝器890以獲取優選子模式892的第一、第二、第三和第四縮放因數的參數值。包含裝置800的視訊編碼器的其他部分(例如,下面描述的視訊解碼器900)以及相應的視訊解碼器(例如,下文別處描述的視訊解碼器1000)可以訪問優選模式緩衝器890以獲取優選模式891的資訊。
在一些實施例中,裝置800還可以包括逆變換模組,該逆變換模組被配置為將重構的聯合像素資料(例如,像素資料435)變換為空間域重構的聯合像素資料(例如,重構的聯合殘差497)。此外,逆縮放模組850還可以被配置為基於空間域重構的聯合像素資料導出第五重構像素資料(例如,重構的Cb殘差438)和第六重構像素資料(例如,重構的Cr殘差448)。此外,失真評估模組860還可以被配置為基於第一像素資料和第五重構像素資料計算第五失真值,以及基於第二像素資料和第六重構像素資料計算第六失真值。
第9圖示出示例視訊編碼器900,其中可以採用上文其他地方描述的各種實施例、濾波方案和資料方案。如圖所示,視訊編碼器900從視訊源905接收輸入視訊訊號以及將訊號編碼成位元流995。視訊轉碼器900具有用於對來自視訊源905的訊號進行編碼的若干組件或模組,至少包括選自以下的一些組件:變換模組910、量化模組911、逆量化模組914、逆變換模組915、圖片內估計模組920、幀內預測模組925、運動補償模組930、運動估計模組935、環路濾波器945、重構圖片緩衝器950、運動向量(motion vector,簡稱MV)緩衝器965、MV預測模組975、JCCR模式判定模組980、JCCR縮放器981、JCCR逆縮放器982和熵編碼器990。運動補償模組930和運動估計模組935是幀間預測模組940的一部分。幀間預測模組940可以包括:整數運動估計(integer motion estimation,簡稱IME)內核,被配置為執行整數像素搜索;以及分數運動估計(fractional motion estimation,簡稱FME)內核,被配置為執行分數像素搜索。整數像素搜索和小數像素搜索都是運動補償模組930和運動估計模組935的基本功能。在一些實施例中,JCCR縮放器981和JCCR逆縮放器982可以是JCCR模式判定模組980的一部分。
在一些實施例中,如上所列的模組910-990是由計算設備或電子設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組910-990是由電子設備的一個或多個積體電路(integrated circuit,簡稱IC)實施的硬體電路模組。儘管模組910 – 990被示為單獨的模組,但一些模組可被組合成單個模組。
視訊源905提供原始視訊訊號,其呈現未經壓縮的視訊的每個圖片的像素資料。編碼器900可以從視訊源905接收圖片的當前塊的像素資料。如果當前塊旨在在沒有JCCR模式的情況下被編碼,則像素資料被直接發送到減法器908。如果當前塊旨在使用JCCR模式進行編碼,則像素資料在被發送到減法器908 之前被發送到JCCR縮放器981。減法器908計算來自視訊源905的像素資料(直接或經由JCCR縮放器981)與預測像素資料913(來自運動補償模組930或幀內預測模組925)之間的差值。變換模組910將差值(或殘差像素資料或殘差訊號)909變換成變換係數916(例如,藉由執行離散余弦變換(或被稱為DCT))。量化模組911將變換係數916量化成量化資料(或量化係數)912,其由熵編碼器990編碼成位元流995。
逆量化模組914對量化資料(或量化係數)912進行去量化以獲得變換係數。在來自視訊源905的當前塊旨在在沒有JCCR模式的情況下被編碼的情況下,逆變換模組915對變換係數執行逆變換以產生重構的殘差919。在當前塊旨在使用JCCR模式進行編碼時,重構殘差919由逆變換模組915和JCCR逆縮放器982的順序組合產生,如第9圖所示。重構的殘差919與預測的像素資料913相加以產生重構的像素資料917。在一些實施例中,重構的像素資料917被臨時存儲在行緩衝器(line buffer)(未示出)中用於圖片內預測和空間MV預測。重構像素由環路濾波器945濾波並存儲在重構圖片緩衝器950中。在一些實施例中,重構圖片緩衝器950是視訊編碼器900外部的記憶體。在一些實施例中,重構圖片緩衝器950是視訊編碼器900內部的記憶體。
圖片內估計模組920基於重構的像素資料917執行幀內預測以產生幀內預測資料。幀內預測資料被提供至熵編碼器990以被編碼成位元流995。幀內預測資料還由幀內預測模組925用來產生預測像素資料913。
運動估計模組935藉由產生MV以參考存儲在重構圖片緩衝器950中的先前解碼幀的像素資料來執行幀間預測。這些MV被提供至運動補償模組930以產生預測像素資料。
視訊編碼器900使用MV預測來生成預測的MV,而不是對位元流中的完整實際MV進行編碼,以及用於運動補償的MV與預測的MV之間的差值被編碼為殘差運動資料並存儲在位元流995。
MV預測模組975基於用於編碼先前視訊幀而生成的參考MV,即用於執行運動補償的運動補償MV,生成預測的MV。MV預測模組975從MV緩衝器965中獲取來自先前視訊幀的參考MV。視訊編碼器900將對當前視訊幀生成的MV存儲在MV緩衝器965中作為用於生成預測MV的參考MV。
MV預測模組975使用參考MV來創建預測的MV。預測的MV可以藉由空間MV預測或時間MV預測來計算。預測的MV和當前幀的運動補償MV(motion compensation motion vector,簡稱MC MV)之間的差值(殘差運動資料)由熵編碼器990編碼到位元流995中。
JCCR模式判定模組980被配置成確定當前塊旨在使用或不使用JCCR模式進行編碼。JCCR模式判定模組980可以由裝置800實施。在JCCR模式判定模組980確定當前塊旨在使用JCCR模式進行編碼的情況下,JCCR縮放器981和JCCR逆縮放器982都被啟用。也就是說,來自視訊源905的像素資料在到達減法器908之前被路由到JCCR縮放器981。此外,由逆變換模組915生成的像素資料被路由到JCCR逆縮放器982以生成重構的殘差919,然後重構的殘差919與預測像素資料913相加。在一些實施例中,JCCR縮放器981和JCCR逆縮放器982可以是JCCR模式判定模組980的一部分。例如,JCCR模式判定模組980可以由裝置800實施,其中JCCR縮放器981可以由縮放模組820實施,以及其中JCCR逆縮放器982可以由逆縮放模組850實施。
熵編碼器990藉由使用諸如上下文適應性二進位算術編碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼的熵編碼技術將各種參數和資料編碼到位元流995中。熵編碼器990將各種報頭元素、標誌以及量化變換係數912和殘差運動資料作為語法元素編碼到位元流995中。位元流995繼而存儲在存放裝置中或藉由諸如網路等通訊媒介傳輸到解碼器。
環路濾波器945對重構的像素資料917執行濾波或平滑操作以減少編碼的偽影,特別是在區塊的邊界處。環路濾波器945可以包括去塊濾波器、樣本適應性偏移(sample adaptive offset,簡稱SAO)濾波器和/或適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第10圖示出示例視訊解碼器1000。如圖所示,視訊解碼器1000是圖像解碼或視訊解碼電路,用於接收位元流1095以及將位元流1095的內容解碼為視訊幀的像素資料以供顯示。視訊解碼器1000具有用於解碼位元流1095的若干組件或模組,包括選自以下模組的一部分組件:逆量化模組1011、逆變換模組1010、幀內預測模組1025、運動補償模組1030、環路濾波器1045、解碼圖片緩衝器1050、MV緩衝器1065、MV預測模組1075、JCCR逆縮放器1082和解析器1090。運動補償模組1030是幀間預測模組1040的一部分。
在一些實施例中,模組1010-1090是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1010-1090是由電子設備的一個或多個積體電路(integrated circuit,簡稱IC)實施的硬體電路模組。儘管模組1010 – 1090被示為單獨的模組,但一些模組可以組合成單個模組。
解析器(例如,熵解碼器)1090接收位元流1095以及根據由視訊編碼或圖像編碼標準定義的語法執行初始解析。解析的語法元素包括各種報頭元素、標誌以及量化資料(或量化係數)1012。解析器1090藉由使用熵編碼技術(例如上下文適應性二進位算術編碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼。
逆量化模組1011對量化資料(或量化係數)1012進行去量化以獲得變換係數1016。在正在解碼的當前塊已經在不使用JCCR模式的情況下被編碼,逆變換模組1010執行對變換係數1016進行逆變換以產生重構的殘差訊號1019。在當前塊已經在使用JCCR模式的情況下被編碼,重構的殘差訊號1019由逆變換模組1010和JCCR逆縮放器1082的順序組合產生,如第10圖所示。重構的殘差訊號1019與來自幀內預測模組1025或運動補償模組1030的預測像素資料1013相加以產生解碼像素資料1017。解碼像素資料1017由環路濾波器1045濾波以及存儲在解碼圖片緩衝器1050中。在一些實施例中,解碼圖片緩衝器1050是視訊解碼器1000外部的記憶體。在一些實施例中,解碼圖片緩衝器1050是視訊解碼器1000內部的記憶體。
幀內預測模組1025從位元流1095接收幀內預測資料,以及根據接收到的幀内預測資料從存儲在解碼圖片緩衝器1050中的解碼像素資料1017產生預測像素資料1013。在一些實施例中,解碼像素資料1017也被存儲在行緩衝器(未示出)中,用於圖片內預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器1050的內容用於顯示。顯示裝置1055或者獲取解碼圖片緩衝器1050的內容以直接顯示,或者獲取解碼圖片緩衝器的內容到顯示緩衝器。在一些實施例中,顯示裝置藉由像素傳輸從解碼圖片緩衝器1050接收像素值。
運動補償模組1030根據運動補償MV(MC MV)從解碼圖片緩衝器1050中存儲的解碼像素資料1017產生預測像素資料1013。這些運動補償MV藉由將從位元流1095接收的殘差運動資料與從MV預測模組1075接收的預測MV相加來解碼。
MV預測模組1075基於用於解碼先前視訊幀而生成的參考MV,例如用於執行運動補償的運動補償MV,生成預測的MV。MV預測模組1075從MV緩衝器1065中獲取先前視訊幀的參考MV。視訊解碼器1000將用於解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器1065中作為用於產生預測MV的參考MV。
環路濾波器1045對解碼的像素資料1017執行濾波或平滑操作以減少編碼的偽影,特別是在區塊的邊界處。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波(adaptive loop filtering,簡稱ALF)。
五、說明性過程
第11圖示出根據本公開的實現的示例處理1100。處理1100可以表示實現上述各種提出的設計、概念、方案、系統和方法的一個方面。更具體地,處理1100可以表示與實現根據本公開的JCCR模式判定處理有關的提出的概念和方案的一個方面。處理1100可以包括如塊1110、1120、1130、1140、1150、1160和1170中的一個或多個所示的一個或多個操作、動作或功能。雖然被示為離散的塊,但是處理1100的各個塊可以被劃分為額外的塊,組合成更少的塊,或被消除,取決於所需的實施方式。此外,處理1100的塊/子塊可以按第11圖所示的循序執行,或者以不同的順序執行。此外,處理1100的一個或多個塊/子塊可以重複或反覆運算地執行。處理1100可以由裝置800或在裝置800及其任一變體中實現。僅出於說明性目的並且不限制範圍,處理1100在下文中在裝置800的上下文中進行描述。處理1100可以開始於塊1110。
在1110,處理1100可以涉及裝置800接收當前塊的第一像素資料和第二像素資料。第一像素資料和第二像素資料中的每一個包括當前塊在空間域中的資料。例如,裝置800可以從視訊源905接收當前塊的Cb殘差111和Cr殘差121。Cb殘差111包括Cb幀中的編碼塊的殘差,而Cr殘差121包括Cr幀中編碼塊的殘差。即,Cb殘差111和Cr殘差121都包括空間域中的資料。處理1100可以從1110進行到1120。
在1120,處理1100可以涉及變換模組810將第一像素資料變換為第一變換資料,以及將第二像素資料變換為第二變換資料,其中第一和第二變換資料中的每一個都包括頻域中的資料。例如,由第4圖或第5圖的變換模組311實施的變換模組810可以使用DCT-2變換將空間域中的Cb殘差111變換為頻域中的變換的Cb殘差412。類似地,由第4圖或第5圖的變換模組321實施的變換模組810可以同樣使用DCT-2變換將空間域中的Cr殘差121變換為頻域中的變換的Cr殘差422。處理1100可以從1120進行到1130。
在1130,處理1100可以涉及縮放模組820基於第一和第二變換資料生成聯合像素資料,其中聯合像素資料包括第一和第二變換資料的像素級線性組合。例如,由第4圖或第5圖的縮放模組371所實施的縮放模組820可以使用等式(9)基於變換的Cb殘差412和變換的Cr殘差422來生成聯合殘差491。在一些實施例中,第一和第二變換資料的像素級線性組合包括第一變換資料乘以第一縮放因數(例如,等式(9)的
wt_Cb)和第二變換資料乘以第二縮放因數的總和 (例如,等式(9)的
wt_Cr)。處理1100可以從1130進行到1140。
在1140,處理1100可以涉及量化模組830和逆量化模組840的組合基於聯合像素資料在頻域中生成重構的聯合像素資料。特別地,重構的聯合像素資料可以由量化模組830執行的量化操作以及隨後由逆量化模組840執行的逆量化操作來生成。例如,由第4圖或第5圖的量化模組332實施的量化模組830可以將聯合殘差491量化為像素資料433。此外,由第4圖或第5圖的逆量化模組333實施的逆量化模組840可以將像素資料433去量化成重構的聯合殘差597。處理1100可以從1140進行到1150。
在1150,處理1100可以涉及逆縮放模組850基於重構的聯合像素資料導出第一重構像素資料和第二重構像素資料,其中第一重構像素資料和第二重構像素資料中的每一個包括頻域中的資料。例如,由第5圖的JCCR逆縮放器372實施的逆縮放模組850可以使用等式(12)和(13)基於重構的聯合殘差597導出重構的Cb殘差538和重構的Cr殘差548。重構的Cb殘差538和重構的Cr殘差548都在頻域中。在一些實施例中,逆縮放模組850可以指定乘以第三縮放因數(例如,等式(12)的
wt_i_Cb)的重構聯合像素資料作為第一重構像素資料。此外,逆縮放模組850可以指定乘以第四縮放因數(例如,等式(13)的
wt_i_Cr)的重構聯合像素資料作為第二重構像素資料。處理1100可以從1150進行到1160。
在1160,處理1100可以涉及失真評估模組860基於第一變換資料和第一重構像素資料計算第一失真值。例如,由第5圖的失真評估模組380實施的失真評估模組860可以藉由計算變換的Cb殘差412和重構的Cb殘差538之間的SSD或SAD來計算等式(8)的JCCR_on_Cb_dist。假設變換的Cb殘差412和重構的Cb殘差538都在頻域中,計算的JCCR_on_Cb_dist表示頻域中的失真。處理1100可以從1160進行到1170。
在1170,處理1100可以涉及失真評估模組860基於第二變換資料和第二重構像素資料計算第二失真值。例如,由第5圖的失真評估模組380實施的失真評估模組860可以藉由計算變換的Cr殘差422和重構的Cr殘差548之間的SSD或SAD來計算等式(8)的JCCR_on_Cr_dist。假設變換的Cr殘差422和重構的Cr殘差548都在頻域中, 計算的JCCR_on_Cr_dist表示頻域中的失真。
在一些實施例中,處理1100可以進一步涉及藉由量化操作(例如,由量化模組830執行,該量化模組830進一步由第5圖的量化模組312實施)和隨後的逆量化操作(例如,由逆量化模組840執行,該逆量化模組840進一步由第5圖的逆量化模組313實施)基於第一變換資料生成第三重構像素資料(例如,重構的Cb殘差518)。處理1100可進一步涉及藉由量化操作(例如,由量化模組830執行,該量化模組830進一步由第5圖的量化模組322實施)和隨後的逆量化操作(例如,由逆量化模組840執行,該逆量化模組840進一步由第5圖的逆量化模組323實施)基於第二變換資料生成第四重構像素資料(例如,重構的Cr殘差528)。處理1100可以進一步涉及失真評估模組860基於第一變換資料和第三重構像素資料計算第三失真值,以及基於第二變換資料和第四重構像素資料計算第四失真值。在一些實施例中,處理1100可以進一步涉及失真評估模組860藉由比較第一和第二失真值的總和與第三和第四失真值的總和來確定優選編碼模式(例如,優選模式891)。在一些實施例中,處理1100還可涉及視訊編碼器900使用優選編碼模式對當前塊進行編碼。
在一些實施例中,處理1100還可以包括預選模組870藉由在多個子模式中選擇優選子模式(例如,優選子模式892)來確定第一、第二、第三和第四縮放因數的值。預定子模式(例如,子模式881、882和883)。多個預定子模式中的每一個被配置為定義第一、第二、第三和第四縮放因數的相應的一組值。
第12圖示出根據本公開的實施方式的示例處理1200。處理1200可以表示實現上述各種提出的設計、概念、方案、系統和方法的一個方面。更具體地,處理1200可以表示與實現根據本公開的JCCR模式判定過程有關的提出的概念和方案的一個方面。處理1200可以包括如塊1210、1220、1230、1240、1250、1260和1270中的一個或多個所示的一個或多個操作、動作或功能。雖然被示為離散的塊,但是處理1200的各個塊可以被劃分為額外的塊,組合成更少的塊,或消除,取決於所需的實施方式。此外,處理1200的塊/子塊可以按第12圖所示的循序執行,或者以不同的順序。此外,處理1200的一個或多個塊/子塊可以重複或反覆運算地執行。處理1200可以由裝置400或在裝置400及其任一變體中實現。僅出於說明性目的且不限制範圍,處理1200在下文中在裝置400的特定實施例的上下文中進行描述,而裝置400具體地由裝置800和第4圖的逆變換模組314、324和334實施。處理1200可以在塊1210開始。
塊1210可以與塊1110相同。處理1200可以從1210進行到1220。
塊1220可以與塊1120相同。處理1200可以從1220進行到1230。
塊1230可以與塊1130相同。處理1200可以從1230進行到1240。
在1240,處理1100可以涉及基於聯合像素資料在空間域中生成重構的聯合像素資料。該步驟可以藉由第4圖的量化模組830、逆量化模組840和逆變換模組334的組合來執行。具體地,重構的聯合像素資料可以由量化模組830執行的量化操作、隨後由逆量化模組840執行的逆量化操作、隨後由逆變換模組334執行的逆變換操作來生成。例如,由第4圖的量化模組332所實施的量化模組830可以將聯合殘差491量化為像素資料433。此外,由第4圖的逆量化模組333實施的逆量化模組840可以將像素資料433逆量化為像素資料435。此外,第4圖的逆變換模組334可以將像素資料435變換為重構的聯合殘差497。處理1100可以從1240進行到1250。
在1250,處理1200可以涉及逆縮放模組850基於重構的聯合像素資料導出第一重構像素資料和第二重構像素資料,其中第一重構像素資料和第二重構像素資料中的每一個包括空間域中的資料。例如,由第4圖的JCCR逆縮放器372實施的逆縮放模組850可以使用等式(10)和(11)基於重構的聯合殘差497導出重構的Cb殘差438和重構的Cr殘差448。重構的Cb殘差438和重構的Cr殘差448都在空間域中。處理1200可以從1250進行到1260。
在1260,處理1200可以涉及失真評估模組860基於第一像素資料和第一重構像素資料計算第一失真值。例如,由第4圖的失真評估模組380實施的失真評估模組860可以藉由計算Cb殘差111和重構的Cb殘差438之間的SSD或SAD來計算等式(8)的JCCR_on_Cb_dist。假設Cb殘差111和重構的Cb殘差438都在空間域中,則計算的JCCR_on_Cb_dist指示空間域中的失真。處理1200可以從1260進行到1270。
在1270,處理1200可以涉及失真評估模組860基於第二像素資料和第一重構像素資料計算第二失真值。例如,由第4圖的失真評估模組380實施的失真評估模組860可以藉由計算Cr殘差121和重構的Cr殘差439之間的SSD或SAD來計算等式(8)的JCCR_on_Cr_dist。假設Cr殘差121和重構的Cr殘差439都在空間域中,則計算的JCCR_on_Cr_dist指示空間域中的失真。
六、 說明性電子系統
許多上述特徵和應用被實現為被指定為記錄在電腦可讀存儲介質(也稱為電腦可讀介質)上的一組指令的軟體過程。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器,處理器的核心或其他處理單元)執行時,他們使處理單元執行指令中指示的動作。電腦可讀介質的示例包括但不限於唯讀光碟驅動器(compact disc read-only memory,簡稱CD-ROM),快閃記憶體驅動器,隨機存取記憶體(random-access memory,簡稱RAM)晶片,硬碟驅動器,可擦可程式設計唯讀記憶體(erasable programmable read only memory,簡稱EPROM),電可擦可程式設計唯讀記憶體(electrically erasable programmable read-only menory,簡稱EEPROM)等。電腦可讀介質不包括無線或藉由有線連接傳遞的載波和電訊號。
在本説明書中,術語“軟體”意味著包括唯讀記憶體中的韌體或者存儲在磁存儲裝置中的應用程式,該應用程式可以被讀入到記憶體中以用於處理器進行處理。同時,在一些實施例中,複數個軟體發明可以作爲更大程式的子部分來實現,而保留不同的軟體發明。在一些實施例中,複數個軟體發明可以作爲獨立的程式來實現。最後,一起實現此處所描述的軟體發明的獨立的程式的任何結合是在本發明的範圍内。在一些實施例中,當軟體程式被安裝以在一個或者複數個電子系統上進行操作時,軟體程式定義了一個或者複數個特定的機器實現方式,該機器實現方式執行和實施該軟體程式的操作。
第13圖概念性地示出實現本公開的一些實施例的電子系統1300。電子系統1300可以是電腦(例如,臺式電腦,個人電腦,平板電腦等),電話,個人數位助理(personal digital assistant, 簡稱PDA)或任一其他種類的電子設備。這種電子系統包括各種類型的電腦可讀介質以及用於各種其他類型的電腦可讀介質的介面。電子系統1300包括匯流排1305,處理單元1310,圖形處理單元(graphics-processing unit, 簡稱GPU)1315,系統記憶體1320,網路1325,唯讀記憶體1330,永久存放裝置1335,輸入裝置1340,以及輸出裝置1345。
匯流排1305集體表示與電子系統1300通訊連接的眾多內部裝置的所有系統匯流排,外圍裝置匯流排和晶片組匯流排。例如,匯流排1305藉由GPU1315,唯讀記憶體1330,系統記憶體1320和永久存放裝置1335與處理單元1310通訊連接。
從這些各種記憶體單元,處理單元1310獲取要執行的指令和要處理的資料,以便執行本公開的處理。在不同實施例中,處理單元1310可以是單個處理器或多核處理器。一些指令被傳遞到GPU 1315並由GPU 1315執行。GPU 1315可以卸載各種計算或補充由處理單元1310提供的圖像處理。
唯讀記憶體1330存儲處理單元1310和電子系統的其他模組所需的靜態資料和指令。另一方面,永久存放裝置1335是讀寫記憶裝置。該裝置是非揮發性記憶體單元,即使在電子系統1300關閉時也存儲指令和資料。本公開的一些實施例使用大容量記憶裝置(諸如磁片或光碟及其相應的磁碟機)作為永久存放裝置1335。
實施例使用卸除式存放裝置(例如軟碟,快閃記憶體裝置等,及其相應的磁碟機)作為永久存放裝置。與永久存放裝置1335類似,系統記憶體1320是讀寫記憶體裝置。然而,與永久存放裝置1335不同的是,系統記憶體1320是揮發性(volatile)讀寫記憶體,例如隨機存取記憶體。系統記憶體1320存儲處理器在運行時需要的一些指令和資料。在一些實施例中,根據本公開的處理存儲在系統記憶體1320,永久存放裝置1335和/或唯讀記憶體1330中。例如,各種記憶體單元包括用於根據處理多媒體剪輯的指令。在一些實施例中。從這些各種記憶體單元,處理單元1310獲取要執行的指令和要處理的資料,用以執行一些實施例的處理。
匯流排1305還連接到輸入裝置1340和輸出裝置1345。輸入裝置1340使使用者能夠向電子系統傳送資訊和選擇命令。輸入裝置1340包括字母數位鍵盤和指示裝置(也被稱為“游標控制裝置”),相機(例如,網路攝像頭),麥克風或用於接收語音命令等的類似裝置。輸出裝置1345顯示由電子系統生成的圖像或否則輸出資料。輸出裝置1345包括印表機和顯示裝置,例如陰極射線管(cathod ray tube,簡稱CRT)或液晶顯示器(liquid crystal display,簡稱LCD),以及揚聲器或類似的音訊輸出裝置。一些實施例包括諸如同時用作輸入裝置和輸出裝置的觸控式螢幕等裝置。
最後,如第13圖所示,匯流排1305還通過網路介面卡(未示出)將電子系統1300耦合到網路1325。以這種方式,電腦可以是電腦網路的一部分(例如局域網(local area network, 簡稱LAN),廣域網路(wide area network, 簡稱WAN)或內聯網),或多個網路中的一個網路,比如說網際網路。電子系統1300的任一或所有組件可以與本公開結合使用。
一些實施例包括電子組件,例如,微處理器、存儲裝置和記憶體,其將電腦程式指令存儲到機器可讀介質或者電腦可讀介質(可選地被稱爲電腦可讀存儲介質、機器可讀介質或者機器可讀存儲介質)。電腦可讀介質的一些示例包括RAM、ROM、唯讀光碟(read-only compact disc,CD-ROM),可燒錄光碟(recordable compact disc, CD-R)、可讀寫光碟(rewritable compact disc, CD-RW)、唯讀數位通用光碟(read-only digital versatile disc)(例如,DVD-ROM,雙層DVD-ROM)、各種可記錄/可讀寫DVD(例如DVD RAM、DVD-RW、DVD+RW等)、快閃記憶體(如SD卡、迷你SD卡,微SD卡等)、磁性和/或固態硬碟、唯讀和可燒錄藍光®(Blu-Ray®)盤、超高密度光碟和其他任何光學介質或磁介質,以及軟碟。電腦可讀介質可以存儲由至少一個處理單元執行的電腦程式,並且包括用於執行各種操作的指令集。電腦程式或電腦代碼的示例包括機器代碼,例如編譯器產生的機器代碼,以及包含由電腦、電子組件或微處理器使用注釋器(interpreter)而執行的高級代碼的文檔。
當以上討論主要是指執行軟體的微處理器或多核處理器時,很多上述的功能和應用程式由一個或複數個積體電路執行,如特定應用的積體電路(application specific integrated circuit,ASIC)或現場可程式設計閘陣列(field programmable gate array,FPGA)。在一些實施例中,這種積體電路執行存儲在該電路本身上的指令。此外,一些實施例執行存儲在可程式設計邏輯器件(programmable logic device, PLD),ROM或RAM裝置中的軟體。
如本發明的説明書和任一申請專利範圍所使用,術語“電腦”、“伺服器”、“處理器”和“記憶體”均指電子裝置或其他技術裝置。這些術語不包括人或群體。出於説明的目的,術語顯示或顯示裝置指在電子裝置上進行顯示。如本發明的説明書和任一申請專利範圍中所使用,術語“電腦可讀介質”、 “電腦可讀媒質”和“機器可讀介質”完全局限於有形的、實體的物體,其以電腦可讀的形式存儲資訊。這些術語不包括任何無線訊號、有線下載訊號和其他任何短暫訊號。
在結合許多具體細節的情況下描述了本發明時,本領域通常知識者將認識到,本發明可以以其他具體形式而被實施,而不脫離本發明的精神。
附加的説明
本文所描述的主題有時表示不同的組件,其包含在或者連接到其他不同的組件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實現相同的功能,從概念上講,任何實現相同功能的組件的排列實際上是“相關聯的”,以便實現所需功能。因此,不論結構或中間部件,為實現特定的功能而組合的任何兩個組件被視爲“相互關聯”,以實現所需的功能。同樣,任何兩個相關聯的組件被看作是相互“可操作連接”或“可操作耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視爲相互“可操作地耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視爲相互“可操作地耦合”以實現特定功能。可操作連接的具體例子包括但不限於物理可配對和/或物理上相互作用的組件,和/或無線可交互和/或無線上相互作用的組件,和/或邏輯上相互作用和/或邏輯上可交互的組件。
此外,關於基本上任何複數和/或單數術語的使用,本領域通常知識者可以根據上下文和/或應用從複數變換為單數和/或從單數到複數。為清楚起見,本發明明確闡述了不同的單數/複數排列。
此外,本領域通常知識者可以理解,通常,本發明所使用的術語特別是申請專利範圍中的,如申請專利範圍的主題,通常用作“開放”術語,例如,“包括”應解釋為“包括但不限於”,“有”應理解為“至少有”“包括”應解釋為“包括但不限於”等。本領域通常知識者可以進一步理解,若計畫介紹特定數量的申請專利範圍内容,將在申請專利範圍内明確表示,並且,在沒有這類内容時將不顯示。例如,為幫助理解,下面申請專利範圍可能包含短語“至少一個”和“一個或複數個”,以介紹申請專利範圍的内容。然而,這些短語的使用不應理解為暗示使用不定冠詞“一個”或“一種”介紹申請專利範圍内容,而限制了任何特定神專利範圍。甚至當相同的申請專利範圍包括介紹性短語“一個或複數個”或“至少有一個”,不定冠詞,例如“一個”或“一種”,則應被解釋為表示至少一個或者更多,對於用於介紹申請專利範圍的明確描述的使用而言,同樣成立。此外,即使明確引用特定數量的介紹性内容,本領域通常知識者可以認識到,這樣的内容應被解釋為表示所引用的數量,例如,沒有其他修改的“兩個引用”,意味著至少兩個引用,或兩個或兩個以上的引用。此外,在使用類似於“A、B和C中的至少一個”的表述的情況下,通常如此表述是爲了本領域通常知識者可以理解該表述,例如,“系統包括A、B和C中的至少一個”將包括但不限於單獨具有A的系統,單獨具有B的系統,單獨具有C的系統,具有A和B的系統,具有A和C的系統,具有B和C的系統,和/或具有A、B和C的系統,等。本領域通常知識者進一步可理解,無論在説明書中,申請專利範圍中或者附圖中,由兩個或兩個以上的替代術語所表現的任何分隔的單詞和/或短語應理解為,包括這些術語中的一個,其中一個,或者這兩個術語的可能性。例如,“A或B”應理解為,“A”,或者“B”,或者“A和B”的可能性。
從前述可知,出於説明目的,本發明已描述了各種實施方案,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於限制,真實的範圍和申請由申請專利範圍表示。
111:Cb殘差
112:變換係數
113:量化係數
115:量化係數
116:變換係數
118:重構的Cb殘差
121:Cr殘差
122:變換係數
123:量化係數
125:量化係數
126:變換係數
128:重構的Cb殘差
171:變換模組
172:量化模組
173:逆量化模組
174:逆變換模組
181:變換模組
182:量化模組
183:逆量化模組
184:逆變換模組
191:熵編碼器
192:熵解碼器
199:位元流
200:色度編碼方案
218:重構的Cb殘差
228:重構的Cr殘差
271:JCCR縮放器
272:JCCR逆縮放器
291:聯合殘差
297:重構的聯合殘差
299:位元流
311:變換模組
312:量化模組
313:逆量化模組
314:逆變換模組
318:重構的Cb殘差
321:變換模組
322:量化模組
323:逆量化模組
324:逆變換模組
328:重構的Cr殘差
331:變換模組
332:量化模組
333:逆量化模組
334:逆變換模組
338:重構的Cb殘差
348:重構的Cr殘差
371:縮放模組
372:JCCR逆縮放器
380:失真評估模組
388:優選模式
433:像素資料
435:像素資料
438:重構的Cb殘差
448:重構的Cr殘差
488:優選模式
491:聯合殘差
497:重構的聯合殘差
513:經變換和量化的Cb殘差
518:重構的Cb殘差
523:經變換和量化的Cr殘差
528:重構的Cr殘差
538:重構的Cb殘差
548:重構的Cr殘差
588:優選模式
597:重構的聯合殘差
632(1):量化模組
632(2):量化模組
632(3):量化模組
633(1):逆量化模組
633(2):逆量化模組
633(3):逆量化模組
638(1):重構的Cb殘差
638(2):重構的Cb殘差
638(3):重構的Cb殘差
648(1):重構的Cr殘差
648(2):重構的Cr殘差
648(3):重構的Cr殘差
671(1):JCCR縮放器
671(2):JCCR縮放器
671(3):JCCR縮放器
672(1):逆縮放模組
672(2):逆縮放模組
672(3):逆縮放模組
688:優選模式
700:模式判定模組
701、702、703:管線
708:映射的Cr殘差
738:重構的Cb殘差
740:預選模組
748:重構的Cr殘差
751:水平變換子模組
752:垂直變換子模組
758:映射的Cb殘差
761:水平變換子模組
762:垂直變換子模組
768:映射的Cr殘差
770:失真評估模組
777:優選子模式
778:映射的Cb殘差
788:優選模式
798:映射的Cb殘差
800:裝置
810:變換模組
820:縮放模組
830:量化模組
840:逆量化模組
850:逆縮放模組
860:失真評估模組
870:預選模組
880:子模式緩衝器
881:子模式
882:子模式
883:子模式
890:優選模式緩衝器
891:優選模式
892:優選子模式
900:視訊編碼器
905:視訊源
908:減法器
909:差值
910:變換模組
911:量化模組
912:量化變換係數
913:預測像素資料
914:逆量化模組
915:逆變換模組
916:變換係數
917:重構的像素資料
919:重構的殘差
920:圖片內估計模組
925:幀內預測模組
930:運動補償模組
935:運動估計模組
940:幀間預測模組
945:環路濾波器
950:重構圖片緩衝器
965:MV緩衝器
975:MV預測模組
980:JCCR模式判定模組
981:JCCR縮放器
990:熵編碼器
995:位元流
1000:視訊解碼器
1010:逆變換模組
1011:逆量化模組
1012:量化資料
1013:預測像素資料
1016:變換係數
1017:解碼的像素資料
1019:重構的殘差訊號
1025:幀內預測模組
1030:運動補償模組
1040:幀間預測模組
1045:環路濾波器
1050:解碼圖片緩衝器
1055:顯示裝置
1065:MV緩衝器
1075:MV預測模組
1082:JCCR逆縮放器
1090:解析器
1095:位元流
1100:處理
1110、1120、1130、1140、1150、1160、1170:步驟
1200:處理
1210、1220、1230、1240、1250、1260、1270:步驟
1300:電子系統
1305:匯流排
1310:處理單元
1315:GPU
1320:系統記憶體
1325:網路
1330:唯讀記憶體
1340:輸入裝置
1345:輸出裝置
附圖被包括以提供對本公開的進一步理解,以及被併入並構成本公開的一部分。附圖說明瞭本公開的實施方式,與描述一起用於解釋本公開的原理。值得注意的是,附圖不一定是按比例繪製的,因為特定組件可能被顯示為與實際實施中的尺寸不成比例,以清楚地說明本公開的概念。
第1圖示出根據本公開的實施方式的示例設計的圖。
第2圖示出根據本公開的實施方式的示例設計的圖。
第3圖示出根據本公開的實施方式的示例設計的圖。
第4圖示出根據本公開的實施方式的示例設計的圖。
第5圖示出根據本公開的實施方式的示例設計的圖。
第6圖示出根據本公開的實施方式的示例設計的圖。
第7圖示出根據本公開的實施方式的示例設計的圖。
第8圖示出根據本公開的實施方式的示例模式判定裝置的示意圖。
第9圖示出根據本公開的實施方式的示例視訊編碼器的圖。
第10圖示出根據本公開的實施方式的示例視訊解碼器的圖。
第11圖示出根據本公開的實施方式的示例過程的流程圖。
第12圖示出根據本公開的實施方式的示例過程的流程圖。
第13圖示出根據本公開的實施方式的示例電子系統的圖。
1100:處理
1110、1120、1130、1140、1150、1160、1170:步驟
Claims (20)
- 一種視訊處理方法,用於處理一視訊中的一圖片的一當前塊,包括: 接收第一像素資料和第二像素資料,該第一像素資料和第二像素資料中的每一個包括一空間域中該當前塊的資料; 將該第一像素資料變換為第一變換資料以及將第二像素資料變換為第二變換資料,該第一變換資料和該第二變換資料中的每一個都包括一頻域中的資料; 生成聯合像素資料,該聯合像素資料包括該第一變換資料和該第二變換資料的像素級線性組合; 藉由一量化操作和隨後的一逆量化操作,基於該聯合像素資料在該頻域中生成重構的聯合像素資料; 基於該重構的聯合像素資料導出第一重構像素資料和第二重構像素資料,該第一重構像素資料和該第二重構像素資料中的每一個包括該頻域中的資料; 基於該第一變換資料和該第一重構像素資料計算一第一失真值;以及 基於該第二變換資料和該第二重構像素資料計算一第二失真值。
- 如請求項1所述之視訊處理方法,其中, 該第一像素資料包括該當前塊的一第一色度分量的殘差資料,以及 該第二像素資料包括該當前塊的一第二色度分量的殘差資料。
- 如請求項1所述之視訊處理方法,進一步包括: 藉由該量化操作和隨後的該逆量化操作,基於該第一變換資料生成第三重構像素資料; 藉由該量化操作和隨後的該逆量化操作,基於該第二變換資料生成第四重構像素資料; 基於該第一變換資料和該第三重構像素資料計算一第三失真值;以及 基於該第二變換資料和該第四重構像素資料計算一第四失真值。
- 如請求項3所述之視訊處理方法,進一步包括: 藉由比較該第一失真值和該第二失真值的一總和以及該第三失真值和該第四失真值的一總和來確定一優選編碼模式;以及 使用該優選編碼模式對該當前塊進行編碼。
- 如請求項1所述之視訊處理方法,其中, 該第一變換資料和該第二變換資料的該像素級線性組合包括該第一變換資料乘以一第一縮放因數與該第二變換資料乘以一第二縮放因數兩者的一總和, 該第一重構像素資料的推導包括將乘以一第三縮放因數的該重構聯合像素資料指定為該第一重構像素資料,以及 該第二重構像素資料的推導包括將乘以一第四縮放因數的該重構聯合像素資料指定為該第二重構像素資料。
- 如請求項5所述之視訊處理方法,進一步包括: 藉由在多個預定子模式中選擇一優選子模式來確定該第一縮放因數、該第二縮放因數、該第三縮放因數和該第四縮放因數的值,該等預定子模式中的每一個定義該第一縮放因數、該第二縮放因數、該第三縮放因數和該第四縮放因數的多個值的一相應集合。
- 如請求項6所述之視訊處理方法,其中, 該第一像素資料的變換包括對該第一像素資料的每一行執行一水平變換以生成第一水平變換資料, 該第一像素資料的變換還包括對該第一水平像素資料的每一列執行一垂直變換以生成第一變換資料, 該第二像素資料的變換包括對該第二像素資料的每一行進行該水平變換以生成第二水平變換資料, 該第二像素資料的變換還包括對該第二水平像素資料的每一列執行該垂直變換以生成第二變換資料,以及 該優選子模式的選擇包括對該等預定子模式中的每一個,基於該第一水平變換像素資料、該第二水平變換像素資料和一相應預定子模式中定義的該第一縮放因數、該第二縮放因數、該第三縮放因數和該第四縮放因數的該等值的該相應集合,來計算相應的一失真值。
- 如請求項1所述之視訊處理方法,其中,該第一像素資料和該第二像素資料的變換包括使用離散餘弦變換或離散餘弦變換類型II來變換該第一像素資料和該第二像素資料。
- 如請求項1所述之視訊處理方法,其中,該第一失真值和該第二失真值中的每一個包括一平方差和或一絕對差和。
- 一種視訊處理方法,用於處理一視訊中的一圖片的一當前塊,包括: 接收第一像素資料和第二像素資料,該第一像素資料和第二像素資料中的每一個包括一空間域中該當前塊的資料; 將該第一像素資料變換為第一變換資料以及將第二像素資料變換為第二變換資料,該第一變換資料和該第二變換資料中的每一個都包括一頻域中的資料; 生成聯合像素資料,該聯合像素資料包括該第一變換資料和該第二變換資料的像素級線性組合; 藉由一量化操作和隨後的一逆量化操作,基於該聯合像素資料在該空間域中生成重構的聯合像素資料; 基於該重構的聯合像素資料導出第一重構像素資料和第二重構像素資料,該第一重構像素資料和該第二重構像素資料中的每一個包括該空間域中的資料; 基於該第一變換資料和該第一重構像素資料計算一第一失真值;以及 基於該第二變換資料和該第二重構像素資料計算一第二失真值。
- 一種視訊處理裝置,包括: 一變換模組,被配置為將一空間域中的第一像素資料變換為一頻域中的第一變換資料,將該空間域中的第二像素資料變換為該頻域中的第二變換資料; 一縮放模組,被配置為生成聯合像素資料,該聯合像素資料包括該第一變換資料和該第二變換資料的像素級線性組合; 一量化模組,被配置為將該聯合像素資料量化為量化的聯合像素資料; 一逆量化模組,被配置為將該量化的聯合像素資料去量化為重構的聯合像素資料; 一逆縮放模組,被配置為基於該重構的聯合像素資料導出第一重構像素資料和第二重構像素資料;以及 一失真評估模組,被配置為基於該第一變換資料和該第一重構像素資料計算一第一失真值,以及基於該第二變換資料和該第二重構像素資料計算一第二失真值。
- 如請求項11所述之視訊處理裝置,其中, 該第一像素資料包括該當前塊的一第一色度分量的殘差資料,以及 該第二像素資料包括該當前塊的一第二色度分量的殘差資料。
- 如請求項11所述之視訊處理裝置,其中, 該量化模組還被配置為將該第一變換像素資料量化為第一變換量化像素資料,將該第二變換像素資料量化為第二變換量化像素資料, 該逆量化模組還被配置為將該第一變換量化像素資料去量化為第三重構像素資料,將該第二變換量化像素資料去量化為第四重構像素資料,以及 該失真評估模組還被配置為基於該第一變換資料和該第三重構像素資料計算一第三失真值,以及基於該第二變換資料和該第四重構像素資料計算一第四失真值。
- 如請求項13所述之視訊處理裝置,其中,該失真評估模組還被配置為藉由比較該第一失真值和該第二失真值的一總和與該第三失真值和該第四失真值的一總和來確定一優選編碼模式。
- 如請求項11所述之視訊處理裝置,其中, 該第一變換資料和該第二變換資料的該像素級線性組合包括該第一變換資料乘以一第一縮放因數與該第二變換資料乘以一第二縮放因數兩者的一總和, 該第一重構像素資料包括該重構的聯合像素資料乘以一第三縮放因數,以及 該第二重構像素資料包括該重構的聯合像素資料乘以一第四縮放因數。
- 如請求項15所述之視訊處理裝置,進一步包括: 一預選模組,被配置為藉由在多個預定子模式中選擇一優選子模式來確定該第一縮放因數、該第二縮放因數、該第三縮放因數和該第四縮放因數的多個值,該等預定子模式中的每一個定義相該第一縮放因數、該第二縮放因數、該第三縮放因數和該第四縮放因數的多個值的一相應集合。
- 如請求項16所述之視訊處理裝置,其中: 該變換模組被配置為藉由對該第一像素資料的每一行執行一水平變換以生成第一水平變換資料,然後對該第一水平像素資料的每一列執行一垂直變換以生成第一變換資料,來將該第一像素資料變換為該第一變換資料, 該變換模組還被配置為藉由對該第二像素資料的每一行執行該水平變換以生成第二水平變換資料,然後對該第二水平像素的每一列執行該垂直變換以生成第二變換資料,來將該第二像素資料變換為該第二變換資料,以及 該優選子模式的選擇包括對該等預定子模式中的每一個,基於該第一水平變換像素資料、該第二水平變換像素資料和一相應預定子模式中定義的該第一縮放因數、該第二縮放因數、該第三縮放因數和該第四縮放因數的該等值的該相應集合,來計算相應的一失真值。
- 如請求項11所述之視訊處理裝置,其中,該變換模組被設置為使用離散餘弦變換或離散餘弦變換類型II來變換該第一像素資料和該第二像素資料。
- 如請求項11所述之視訊處理裝置,其中,該第一失真值和該第二失真值中的每一個包括一平方差和或一絕對差和。
- 如請求項11所述之視訊處理裝置,其中,該重構的聯合像素資料為頻域重構聯合像素資料,該裝置還包括: 一逆變換模組,被配置為將該頻域重構聯合像素資料變換為空間域重構聯合像素資料, 其中,該逆縮放模組還被配置為基於該空間域重構聯合像素資料導出第五重構像素資料和第六重構像素資料,以及 其中,該失真評估模組還被配置為基於該第一像素資料和該第五重構像素資料計算一第五失真值,以及基於該第二像素資料和該第六重構像素資料計算一第六失真值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/842,510 US11785204B1 (en) | 2022-06-16 | 2022-06-16 | Frequency domain mode decision for joint chroma coding |
US17/842,510 | 2022-06-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202402057A TW202402057A (zh) | 2024-01-01 |
TWI834269B true TWI834269B (zh) | 2024-03-01 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210203993A1 (en) | 2019-12-31 | 2021-07-01 | Qualcomm Incorporated | Chroma transform skip and joint chroma coding enabled block in video coding |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210203993A1 (en) | 2019-12-31 | 2021-07-01 | Qualcomm Incorporated | Chroma transform skip and joint chroma coding enabled block in video coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10855997B2 (en) | Secondary transform kernel size selection | |
US11115653B2 (en) | Intra block copy merge list simplification | |
TWI711300B (zh) | 照度補償方法及相應之視訊處理裝置 | |
RU2683165C1 (ru) | Внутреннее предсказание блочного копирования с асимметричными разделами и схемами поиска на стороне кодера, диапазоны поиска и подходы к разделению | |
JP4908180B2 (ja) | 動画像符号化装置 | |
TWI792149B (zh) | 量化相關參數之傳訊技術 | |
JP2017511620A (ja) | オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション | |
US11778235B2 (en) | Signaling coding of transform-skipped blocks | |
JP2011130410A (ja) | 符号化方法、復号化方法及び装置 | |
CN112291571A (zh) | 视频解码方法及装置以及计算机设备和存储介质 | |
TWI785502B (zh) | 在分塊中指明切片之切片組塊的視訊編解碼方法及電子裝置 | |
TW201944779A (zh) | 一種編碼/解碼的方法及電子裝置 | |
TWI834269B (zh) | 視訊處理方法及裝置 | |
TW202315411A (zh) | 視訊編解碼方法及裝置 | |
TW202402057A (zh) | 視訊處理方法及裝置 | |
TWI836792B (zh) | 視訊編解碼方法及相關裝置 | |
TWI332795B (en) | Hardware implementation of inverse scan for a plurality of standards | |
WO2023116704A1 (en) | Multi-model cross-component linear model prediction | |
WO2023193769A1 (en) | Implicit multi-pass decoder-side motion vector refinement | |
TW202327361A (zh) | 視訊編解碼方法及相關裝置 | |
TWI826079B (zh) | 視訊編解碼方法及裝置 | |
WO2023093863A1 (en) | Local illumination compensation with coded parameters | |
WO2024027566A1 (en) | Constraining convolution model coefficient | |
WO2023217235A1 (en) | Prediction refinement with convolution model | |
WO2023198187A1 (en) | Template-based intra mode derivation and prediction |