視頻解碼器、視頻編碼器、視頻解碼方法以及視頻編碼方法
【專利摘要】一種對編碼流進行解碼的視頻解碼器,包括:并行熵解碼部,用于對塊行中的塊的流并行地熵解碼;并行QP預測部,用于并行地計算塊行中的塊的預測值;以及并行解碼處理部,用于并行地產生塊行中的塊的解碼像素,利用由并行熵解碼部所解碼的數據和預測值來獲得解碼像素。當以N個塊行為單位并行地執行計算處理時,通過參考與處理塊相對應的已處理的塊,對比第K塊行中的處理塊在水平位置上在前至少一個塊的第(K–1)塊行中的處理塊執行處理,以計算該處理塊的預測值。
【專利說明】視頻解碼器、視頻編碼器、視頻解碼方法以及視頻編碼方法
【技術領域】
[0001] 本文所討論的實施方式涉及視頻解碼器、視頻編碼器、視頻解碼方法以及視頻編 碼方法。
【背景技術】
[0002] 近來的視頻編碼技術涉及將圖像劃分成塊、對每個塊中所包含的像素進行預測以 及對預測差異進行編碼以實現高壓縮率。在該技術中,用于根據經歷編碼的畫面內的像素 來形成預測像素的預測模式稱為"幀內預測",用于根據稱為"運動補償"的在先編碼的參考 圖像來形成預測像素的預測模式稱為"幀間預測"。
[0003] 在視頻編碼器中,幀間預測用包括二維坐標數據(包括水平分量和堅直分量)的 運動矢量來表示稱為預測像素的區域,并且對運動矢量和像素的預測差異數據進行編碼。 為了抑制運動矢量的編碼量,根據與經歷編碼的塊相鄰的塊的運動矢量來產生預測矢量, 并且對運動矢量與預測矢量之間的差異矢量進行編碼。
[0004] 在動態圖像專家組(MPEG)-4AVC/H. 264(下文中還稱為"H. 264")中,其是典型由 高效視頻編碼(HEVC)表示的當前配置視頻編碼標準,將地址以光柵順序分配給所劃分的 塊中的每個,并且塊的處理順序與地址順序相符。
[0005] 在視頻編碼-解碼過程中,通常每秒處理大量的像素。特別地,運動補償或正交變 換會需要較高的計算性能,因此,優選的會是視頻編碼或解碼過程執行并行處理。在視頻編 碼中,在用于以與上述預測矢量的計算類似的方式根據經歷編碼的塊周邊的塊來計算各種 預測值的塊之間存在依賴關系。因此,對塊執行并行處理會有困難。
[0006] 在不影響處理順序或塊之間的依賴關系的情況下對塊實施并行處理的方法可包 括:例如通過與塊行相對應地移動每個處理塊(processing block)的水平位置來執行并行 處理。
[0007] 在以下描述中,這樣的并行處理稱為"并行塊行處理"。接下來,描述對應于兩個塊 行來執行并行塊行處理的情況。
[0008] 為了執行并行塊行處理,視頻處理設備包括單元1和單元2,兩者中的每個均配置 成獨立地處理相應塊行。例如,單元1可配置成對奇數塊行進行處理,單元2可配置成對偶 數塊行進行處理。
[0009] 圖1是示出了并行塊行處理的示例的示意圖。如圖1中所示,根據單元2所處理 的第二塊行中的塊的水平地址,將單元1所處理的第一塊行中塊的水平地址移動兩個或更 多個塊。
[0010] 因此,當專注于單元2所處理的處理塊X時,在處理塊X左側的塊A是已對其執行 了處理的已處理塊。類似地,單元1所處理的塊B、塊C以及塊D是已處理塊。塊B在處理 塊X的左上側,塊C在處理塊X的上方,塊D在處理塊X的右上側。塊X可以利用這些已處 理塊的編碼結果。
[0011] 例如,對偶數塊行的處理能夠無需等到對奇數塊行的處理結束就開始,因此,處理 塊X能夠實施與處理諸如運動預測或正交變換相關聯的并行處理。在上面的示例中,描述 了兩個塊行的并行處理;然而,并行處理的實施并不限于兩個塊行的并行處理。在對N個塊 線進行并行處理的情況下,在視頻處理設備中,可將N個單元分配給N個塊行。
[0012] 注意,當并行塊行處理作為程序來執行時,處理單元可以是線程或中央處理器 (CPU)。
[0013] 根據H. 264,可通過以基于標準規范處理塊的順序來處理一系列輸出位,來執行熵 編碼。因此,視頻處理設備臨時存儲前述并行塊行處理的結果,并且熵編碼器以基于標準規 范處理塊的順序,對所存儲的結果進行編碼。
[0014] 通過對比,HEVC公開了用于在塊行之間插入一系列輸出位的技術。圖2是示出了 由HEVC中的熵處理部所執行的并行塊行處理的示例的示意圖。如圖2中所示,可通過塊行 之間的并行處理來執行熵編碼或解碼。
[0015] 相關現有技術文獻:
[0016] 非專利文獻 1: "IS0/IEC 14496-10 (MPEG-4PartlO)/ITU-T Rec. H. 264" ;
[0017] 非專利文獻 2 :"Thomas Wiegand、Woo-Jin Han、Benjamin Bross、 Jens-Rainer 0hm> Gary J. Sul1ivan>^Working Draft5of High-Efficiency Video Coding" JCTVC-G1103, JCT-VC7th Meeting, December, 2011. " ;
[0018] 非專利文獻 3 :"HEVC reference software HM5· 0https://hevc. hhi. fraunhofer. de/svn/svn_HEVCSoftware/tags/HM_5· 0/,' ;
[0019] 非專利文獻 4 :"MPEG-2,Test Model5(TM5),Doc. IS0/IEC JTC1/SC29/WG11/ N0400, Test Model Editing Committee, Aprill993.,'。
[0020] 在混合編碼系統中,其是通過H. 264或HEVC所表示的運動補償和正交變換(例 如,離散余弦變換(DCT))的組合,通過將圖像劃分成塊、產生塊的預測像素并且對原始像 素與預測像素之間的差異像素執行諸如DCT的正交變換以量化正交變換的輸出系數,來實 現壓縮。
[0021 ] 在此混合系統中,準備了調節量化的精確性的量化參數(QP,quantization parameter),針對每個塊對QP值進行編碼,從而控制信息的量。
[0022] 然而,在塊中的所有量化變換系數都是0的情況下,反量化的結果也都是0。因此, 對于解碼處理,可不需要QP值。在這種情況下,QP值是失效,并且不作為結果來編碼。
[0023] 在每個塊中產生QP值的預測值(下文中,稱為"QP預測值")。因此,當處理塊的 QP值失效時,將每個塊的QP值設置為QP預測值。作為用于確定每個塊的QP值的方法,在 非專利文獻4中所公開的TM5中所利用的算法在本領域中是已知的。
[0024] 用于根據H. 264或HEVC對QP值進行編碼的方法包括對處理塊的QP值與QP預測 值之間的差異值QP_DELTA進行編碼。例如,QP預測值可以是QP值QP_prev,其是光柵順序 中處理塊的前一塊的QP值。QP_DELTA可以通過下列公式(1)來計算。
[0025] QP_DELTA = QP - QP_prev............... (1)
[0026] 視頻解碼器配置成對由視頻編碼器熵編碼的QP_DELTA進行解碼,以通過下列公 式⑵恢復QP值。
[0027] QP = QP_DELTA+QP_prev............... (2)
[0028] 當正處理畫面的處理塊(例如第一塊)不存在前一塊時,QP_prev可以是在第一 塊的處理之前確定的值。例如,根據Η. 264,畫面的第一塊的QP_prep分配有在稱為"片 (Slice) "的報頭信息中描述的片QP值。
[0029] 此外,根據H. 264或HEVC,可利用每個塊的QP值來確定去塊濾波器的濾波強度而 不是正交變換的量化。不將失效的QP報告至視頻解碼器。因此,可將具有失效的QP的塊 的QP值處理為QP_prev。
[0030] 這里,關注在并行塊行處理中的第(K-1)個塊行和第K個塊行。當在開始第K個 塊行的處理時處理第K個塊行中的第一塊X時,在第K個塊行中的約兩個塊已在第(K - 1) 個塊行之前被處理。第K個塊行的第一塊之前的塊對應于第(K- 1)個塊行的最后一塊。因 此,在開始第K個塊行的處理時,塊Y的處理還沒有完成。
[0031] 因此,當處理塊X時,未確定QP_prev。由于沒有確定塊X的QP_prev,所以未確定 塊X之后的塊的QP_prev。
[0032] 因此,不是在塊行之間并行計算而是順序計算QP預測值。圖3A和圖3B均是示出 了執行相關技術并行塊行處理的相關技術視頻處理設備的示意性配置的框圖。
[0033] 更具體地,圖3A是示出了執行并行塊行處理的相關技術編碼器的示意性配置的 框圖。圖3B是示出了執行并行塊行處理的相關技術解碼器的示意性配置的框圖。
[0034] 如圖3A和圖3B中所示,在相關技術視頻處理設備中,被配置為計算QP預測值的 QP預測部會是瓶頸。
[0035] 圖4A是示出了在QP預測處理中的并行塊行處理的示例的示意圖。在圖4A示出的 示例中,并行地處理第一塊行和第二塊行。在這種情況下,當X表示第二塊行的處理塊時, 塊X的QP預測值的計算需要等待,直到塊Y的處理完成。即,除非完成了對第一塊行的處 理,否則不開始對第二塊行的處理。
[0036] 圖4B是示出了在QP預測處理中的并行塊行處理的另一示例的示意圖。如圖4B 中所示,當塊Y的處理已完成時,第二塊行的處理開始。
[0037] 圖4C是示出了在QP預測處理中的并行塊行處理的又一示例的示意圖。在圖4C 所示的示例中,已在處理第一塊行的QP預測部會需要等待,直到對塊V的處理完成,以計算 在第三塊行中的塊W的QP值。
[0038] 也就是說,除非完成了對第二塊行的處理,否則不開始對第三塊行的處理。因此, 為了開始第K個塊行,需要完成對第(K - 1)個塊行的處理,因此,在相關現有技術中可串行 地計算QP值。
[0039] 當并行地執行編碼處理并且對QP預測部進行串行處理時,需要考慮下列幾點。例 如,由于沒有確定塊X的QP_prev,所以在第K個塊行的第一塊不計算QP_DELTA,并且直到 對塊Y的處理完成才開始對塊X的熵處理。
[0040] 因此,由于延遲了熵處理的開始,所以會增加用于存儲編碼處理部所產生的結果 的緩沖器大小。此外,不會開始對去塊濾波器的處理。
[0041] 類似地,視頻解碼器中的并行塊行處理可考慮如下。根據HEVC,可在塊行之間并 行地執行熵處理。類似于第一示例,關注第(K - 1)個塊行和第K個塊行,并且考慮第K個 塊行的第一塊X的QP恢復處理。在這種情況下,在塊X的QP_DELTA被解碼時,塊Y的QP_ DELTA尚待解碼,因此,將不恢復塊Y的QP值。
[0042] 由于塊X的QP預測值QP_prev對應于塊Y的QP值,所以將不計算塊X的QP_prev。 結果,將不恢復塊X的QP值。因此,會串行地執行各塊的QP預測值,這會在與視頻編碼器 類似方式的并行處理中導致瓶頸。
【發明內容】
[0043] 因此,下面所公開的技術能夠對QP預測值的計算處理實現并行處理,這會改善并 行塊行處理的效率。
[0044] 根據實施方式的一個方面,提供了一種用于對用視頻編碼系統進行編碼的流進行 解碼的視頻解碼器,其中通過對多個劃分塊的圖像進行編碼來獲得編碼流。該視頻編碼器 包括:并行熵解碼部,所述并行熵解碼部配置成對塊行中所包含的塊的流進行熵解碼,所述 塊行中每個塊行中的塊的流與所述塊行中相應的一個塊行中的塊的流被并行地熵解碼,所 述塊行中的每個塊行表示塊的陣列;并行QP預測部,所述并行QP預測部配置成計算所述塊 行中所包含的塊的量化參數的預測值,所述塊行中的每個塊行中的塊的預測值與所述塊行 中相應的一個塊行中的塊的預測值并行地計算;以及并行解碼處理部,所述并行解碼處理 部配置成對于所述塊行中所包含的塊產生解碼像素,關于所述塊行中的每個塊行中的塊的 解碼像素與關于所述塊行中相應的一個塊行中的塊的解碼像素并行地產生,通過利用由所 述并行熵解碼部所解碼的數據和所述并行QP預測部所計算的預測值,對所述解碼像素中 的每一個進行解碼。在該視頻編碼器中,當所述并行QP預測部以N個塊行為單位并行地執 行預測值計算處理,并且N的值是2或更大值時,所述并行QP預測部對第(K - 1)塊行中的 處理塊執行預測值計算處理,所述第(K- 1)塊行中的處理塊比第K塊行中的處理塊在水平 位置上在前至少一個塊,從而在并行處理中通過參考與在所述第(K-1)塊行中的處理塊 相對應的、在所述第K塊行中已處理的塊,計算在所述第(K - 1)塊行中的處理塊的預測值。
[0045] 借助于在所附權利要求中具體指出的要素和組合,將實現并且達到本發明的目的 和優點。
[0046] 應理解的是,前面的一般描述和下面的詳細描述是示例性的和解釋性的,并且不 是對本發明的限制。
[0047] 實施方式的其他目的和優點將在下面的描述中部分地給出,其一部分將根據該描 述而變得明顯,或者可通過對本發明的實踐來認識到。
【專利附圖】
【附圖說明】
[0048] 圖1是示出了并行塊行處理的示例的示意圖;
[0049] 圖2是示出了根據HEVC的熵處理部的并行塊行處理的示例的示意圖;
[0050] 圖3A是示出了執行并行塊行處理的相關技術編碼器的示意性配置的框圖;
[0051] 圖3B是示出了執行并行塊行處理的相關技術解碼器的示意性配置的框圖;
[0052] 圖4A是示出了在QP預測處理中的塊行并行處理的示例的示意圖;
[0053] 圖4B是示出了在QP預測處理中的塊行并行處理的另一示例的示意圖;
[0054] 圖4C是示出了在QP預測處理中的塊行并行處理的又一示例的示意圖;
[0055] 圖5是示出了根據第一實施方式的視頻解碼器的配置示例的框圖;
[0056] 圖6是示出了根據第一實施方式的視頻解碼器的并行解碼部的各部件的配置示 例的框圖;
[0057] 圖7是示出了根據第一實施方式的視頻解碼器的解碼處理部的配置示例的框圖;
[0058] 圖8是示出了在N = 3的情況下在并行QP預測處理中的可用塊的示例的框圖;
[0059] 圖9是示出了根據第一實施方式的視頻解碼器的QP預測部的配置示例的框圖;
[0060] 圖10A是示出了根據第一實施方式的視頻解碼器中的QP預測處理的示例的示意 圖;
[0061] 圖10B是示出了根據第一實施方式的視頻解碼器中的QP預測處理的另一示例的 示意圖;
[0062] 圖11是示出了根據第一實施方式的視頻解碼器的塊解碼處理的示例的流程圖;
[0063] 圖12是示出了根據第二實施方式的視頻編碼器的配置示例的框圖;
[0064] 圖13是示出了根據第二實施方式的視頻編碼器的并行編碼部的各部件的配置示 例的框圖;
[0065] 圖14是示出了根據第二實施方式的視頻編碼器的編碼處理部的配置示例的框 圖;
[0066] 圖15是示出了根據第二實施方式的視頻編碼器的QP預測部的配置示例的框圖; [0067] 圖16是示出了根據第二實施方式的視頻編碼器中的塊編碼處理的示例的流程 圖;以及
[0068] 圖17是示出了根據第三實施方式的視頻處理設備的配置示例的框圖。
【具體實施方式】
[0069] 下面,將參考附圖來描述優選實施方式。注意,視頻中所包含的圖像(畫面)可以 是幀和場中的任意一個。幀是視頻數據的靜止圖像中的一個,場是通過獲取來自幀的奇數 行或偶數行中的數據而獲得的靜止圖像。
[0070] 此外,經歷處理的視頻可以是彩色視頻或黑白視頻。
[0071] 第一實施方式
[0072] 配置
[0073] 圖5是示出了根據第一實施方式的視頻解碼器的配置示例的框圖。在圖5所示的 示例中,視頻解碼器10包括并行解碼部101和解碼像素存儲部105。并行解碼部101包括 并行熵解碼部102、并行QP預測部103以及并行解碼處理部104。
[0074] 注意,視頻解碼器10配置成并行地處理N個塊行。還要注意,"塊行"指圖像內水 平方向上的塊的陣列。
[0075] 并行解碼部101的各部件配置成對每個塊行的相同塊執行處理。此外,在第 (K- 1)個塊行中的處理塊的水平位置配置成在第K個塊行中的處理塊的水平位置之前兩 個或更多個塊處。
[0076] 這樣做會是因為即使在對塊行進行并行解碼時,關于處理塊的上部塊和右上塊的 解碼信息也可以通過在塊行之間移動兩個或更多個塊來獲得(得到)。當僅得到(利用) 上部塊的解碼信息時,塊行之間的水平位置的移動量可以是一個塊。在下文中,"上部塊"表 示在處理塊上方的一個塊,"右上塊"表示在處理塊上方的塊的右側緊鄰的塊。
[0077] 并行解碼部101配置成對編碼流進行解碼,其中通過利用視頻編碼系統對被劃分 成多個塊的圖像進行編碼來獲得該編碼流。并行解碼部101可以例如以并行的N個塊行為 單位,對編碼流進行解碼。將每個塊行中的每個塊解碼出的每個像素輸出至解碼像素存儲 部105。被解碼的像素稱為"已解碼像素"。
[0078] 并行熵解碼部102配置成將輸入流劃分成塊行,并且對塊行中所包含的流的塊進 行并行熵解碼。并行熵解碼部102將經熵解碼的數據輸出至并行解碼處理部104。
[0079] 并行QP預測部103配置成計算相應的一個塊行中所包含的塊中的每個塊的量化 參數(QP)的預測值(QP預測值)并對塊行中所包含的塊并行地執行計算處理。將計算的 QP預測值輸出至并行解碼處理部104。
[0080] 并行解碼處理部104配置成在并行地產生各塊行的解碼像素時,產生相應的一個 塊行中所包含的塊中的每個塊所對應的解碼像素。通過利用并行熵解碼部102所解碼的數 據和并行QP預測部103所計算的QP預測值,對每個解碼像素進行解碼。將所產生的解碼 像素輸出至解碼像素存儲部105。
[0081] 解碼像素存儲部105配置成存儲從并行解碼部101輸出的塊的解碼像素。每個圖 像單元所聚集的解碼像素可形成圖像(畫面)。解碼像素存儲部105將用于一個畫面的解 碼處理完成時輸出的解碼圖像進行存儲。
[0082] 并行解碼部
[0083] 接下來,描述并行解碼部101。圖6是示出了根據第一實施方式的視頻解碼器中的 并行解碼部101的各部件的配置示例的框圖。在圖6所示的示例中,并行熵解碼部102包 括第一熵解碼部221、第二熵解碼部222、以及第N熵解碼部223。
[0084] 在圖6所示的示例中,并行QP預測部103包括第一 QP預測部231、第二QP預測部 232、以及第N QP預測部233。在圖6所示的示例中,并行解碼處理部104包括第一解碼處 理部241、第二解碼處理部242、第N解碼處理部243以及塊信息存儲部244。
[0085] 注意,當L=1至N時,第L熵解碼部、第L QP預測部以及第L解碼部配置成對塊 行中的同一塊行執行處理。在下面的描述中,將第L熵解碼部、第L QP預測部以及第L解 碼部總稱為"塊行解碼處理部"。例如,塊行解碼處理部201包括第一熵解碼部221、第一 QP 預測部231以及第一解碼處理部241。
[0086] 當塊行解碼處理部201已處理了第K個塊行時,塊行解碼處理部201隨后處理第 (K+N)個塊行。
[0087] 并行熵解碼部102配置成將輸入流劃分成塊行。熵解碼部221至223對從該流劃 分的塊行以每單位N個塊行并行地進行熵解碼。熵解碼部221至223配置成執行與在視頻 編碼器中的熵編碼處理相對應的熵解碼處理。
[0088] 解碼處理部241至243配置成并行地執行解碼處理。圖7是示出了根據第一實施 方式的視頻解碼器中的解碼處理部的示例的框圖。由于解碼處理部241至243配置成執行 類似處理,所以在下面的描述中將解碼處理部241用作解碼處理部的示例。
[0089] 第一解碼處理部241包括QP值恢復部301、反量化部302、反正交變換部303、運動 矢量恢復部304、預測像素產生部305以及解碼像素產生部306。
[0090] QP值恢復部301配置成利用從稍后描述的第一 QP預測部231輸入的QP預測值和 從第一熵解碼部221輸入的QP差異值來恢復QP值(例如,參見前面的公式(2))。將所恢 復的QP值輸出至反量化部302。
[0091] 反量化部302配置成通過將恢復的QP值乘以正交變換系數來執行反量化。將反 量化的正交變換系數輸出至反正交變換部303。
[0092] 反正交變換部303配置成對從反量化部302輸入的正交變換系數執行反正交變 換,以產生預測誤差像素。所產生的預測誤差像素輸出至解碼像素產生部306。
[0093] 運動矢量恢復部304配置成從塊信息存儲部244獲取關于處理塊周邊的塊的運動 矢量信息,以計算預測矢量。運動矢量恢復部304配置成將預測矢量與從第一熵解碼部221 輸入的差異矢量相加,以恢復運動矢量。將恢復的運動矢量輸出至預測像素產生部305。
[0094] 預測像素產生部305配置成從存儲之前解碼的畫面的解碼像素存儲部105獲取通 過由運動矢量指示的參考畫面的像素數據,以產生預測像素。所產生的預測像素輸出至解 碼像素產生部306。
[0095] 解碼像素產生部306配置成將從預測像素產生部305輸入的預測像素與從反正交 變換部303輸入的預測誤差像素相加,以產生解碼像素。所產生的解碼像素存儲在解碼像 素存儲部105中。
[0096] 接下來,描述由每個QP預測部所執行的處理。首先,描述每個QP處理部所執行的 預測處理中所利用的可用(可得到的)塊。圖8是示出了在N = 3的情況下在并行QP預 測處理中所利用的可用塊的示例的框圖。在圖8所示的示例中,當N = 3指示N個塊行時, 對N個塊行并行執行QP預測處理,并且在N個塊行的每個塊行中將處理延遲兩個塊。
[0097] 在這種情況下,對應于處理塊X的可用塊是圖8中所示的陰影塊。當處理塊X經 歷處理時,圖8中的陰影塊指示已處理的塊;也就是說,圖8中的陰影塊指示可用(可得到 的)塊。在圖8中,通過粗框指示的塊描繪了經歷處理的塊(下文中還稱為"處理塊")。每 個QP預測部配置成通過參考可用塊(已處理的塊)來計算處理塊的QP預測值。下面,進 一步詳細描述QP預測值的計算。
[0098] 圖9是示出了根據第一實施方式的視頻解碼器中的QP預測部的配置示例的框圖。 由于QP預測部231至233被配置成執行類似處理,所以在下面的描述中將第一 QP預測部 231用作QP預測部的示例。
[0099] 在圖9中,第一 QP預測部231包括前一 QP存儲部401、QP選擇部402以及上部QP 獲取部403。
[0100] 前一 QP存儲部401配置成從QP值恢復部301接收在當前處理塊之前剛處理完的 塊的QP值,并存儲所接收的QP值。在開始畫面處理時,將前一 QP存儲部401所存儲的QP 值初始化。
[0101] 例如,前一 QP存儲部401所存儲的QP值用通過片報頭信息編碼的片QP值以與 H. 264類似的方式來初始化。片是與一個畫面相關聯的塊的劃分組的單元。
[0102] 上部QP獲取部403可以例如從塊信息存儲部244獲取位于處理塊上方的塊的QP 值。
[0103] QP選擇部402配置成選擇從前一 QP存儲部401和上部QP獲取部403輸出的QP 值中的一個,以將所選的QP值作為QP預測值輸出至QP值恢復部301。
[0104] 例如,當處理塊是塊行中的塊中的第一塊(頭部)時,QP選擇部402選擇從上部 QP獲取部403輸出的QP值,而當處理塊是塊行中不同于第一塊的任意一個塊時,QP選擇部 402選擇從前一 QP存儲部401輸出的QP值。QP選擇部402將所選擇的QP值作為QP預測 值輸出至QP值恢復部301。
[0105] 接下來,參考相應的附圖描述在上面的示例中的QP值的預測(選擇)。圖10A是 示出了根據第一實施方式的視頻解碼器中的QP預測處理的示例的示意圖。在圖10A所示 的示例中,當處理塊X表示經歷處理的塊,并且處理塊X是塊行中的塊中的第一塊(頭部) 時,QP選擇部402選擇上部塊A的QP值。
[0106] 圖10B是示出了根據第一實施方式的視頻解碼器中的QP預測處理的另一示例的 示意圖。如圖10B所示,當處理塊X是塊行中不同于第一塊的塊中的一個時,QP選擇部402 選擇處理塊X之前剛處理完的塊B的QP值。
[0107] 注意,在這種情況下,接近處理塊X的塊的QP值用作QP預測值。因此,相比于以 光柵順序選擇(利用)處理塊X之前剛處理完的塊的QP值的情況,QP值的預測效率不會 降低。
[0108] 在上面的示例中,當處理塊不是第一塊時,通過利用處理塊X之前剛處理完的塊 的QP值來產生QP預測值。然而,當根據與處理塊相鄰的塊來預測QP值時,可通過其他方 法來產生QP值。
[0109] 此外,QP選擇部402的處理可以如下。當經歷處理的塊行是第二塊行至第N塊行 時,由前一 QP存儲部401所存儲的QP值是片QP值,該每個片QP值通過片單元來確定。因 此,當將片QP值用作每個塊的QP預測值時,預測效率會相對較低。
[0110] 因此,當處理塊是第二塊行至第N塊行中的塊中的第一個塊時,QP選擇部402可 選擇由上部QP獲取部403所獲取的QP值,而當處理塊是第二塊行至第N塊行中不同于第 一塊的塊中的任意一個時,QP選擇部402可選擇由前一 QP存儲部401所保持的QP值。
[0111] 此外,當處理塊是第(N+1)個塊行之后的塊行中的塊中的第一塊時,QP選擇部402 可選擇由前一 QP存儲部401所保持的QP值。在這種情況下,前一 QP存儲部401所保持的 QP值對應于處理塊上方N個塊所在的塊行中的塊中的最后一個(最后塊)的QP值。
[0112] 第K個塊行和第(K+N)個塊行由相同的解碼處理部、相同的QP預測部以及相同的 熵解碼部來處理。因此,第K個塊行中的處理塊之前剛處理完的塊對應于第(K-N)個塊行 的最后塊。
[0113] 此外,當處理塊是塊行中的塊中的第一個時,QP選擇部402可配置成不變地選擇 前一 QP存儲部401中所存儲的QP值。此外,當處理塊是第一塊行至第N塊行中的一個塊 行中的塊中的第一塊時,QP選擇部402可配置成將片QP值選擇為QP預測值。
[0114] 在這種情況下,可選擇處理塊上方N個塊所在的塊行中的塊中的最后一個(最后 塊)的QP值作為第(N+1)個塊行中的第一塊的QP預測值。
[0115] 通過上面的配置,對應于塊行,對量化參數的預測值的計算過程可并行地執行。
[0116] 操作
[0117] 接下來,描述根據第一實施方式的視頻解碼器10的操作。圖11是示出了第一實 施方式中的塊解碼處理的示例的流程圖。注意,圖11中所示的塊解碼處理對應于在一個塊 上執行的解碼處理。
[0118] 在步驟S101中,每個熵解碼部對編碼信息(例如每個塊的差異運動矢量、QP差異 值以及量化正交變換系數)進行熵解碼。將熵解碼信息輸出至對應于熵處理部的解碼處理 部。
[0119] 在步驟S102中,運動矢量恢復部304從塊信息存儲部244獲取關于處理塊周邊的 塊的運動矢量信息,以計算預測矢量。
[0120] 在步驟S103中,運動矢量恢復部304將差異運動矢量與預測矢量相加,以恢復運 動矢量。將恢復的運動矢量信息存儲在塊信息存儲部244中。
[0121] 在步驟S104中,預測像素產生部305從存儲之前所解碼的畫面的解碼像素存儲部 105獲取由運動矢量所指示的參考畫面的像素數據,以產生預測像素。
[0122] 在步驟S105中,每個QP預測部均產生一個相應塊的QP預測值,以將所產生的QP 預測值輸入到QP值恢復部301中。
[0123] 在步驟S106中,QP值恢復部301基于相應的輸入QP預測值和差異值來恢復每個 QP值。QP值被存儲在塊信息存儲部244中,并被提供至反量化部302。當將處理塊上方的 塊的QP值和之前由塊行解碼處理部201所處理的已處理塊的QP值之中的一個應用于QP 預測值時,可無需延遲(延緩)QP預測值的產生。結果,可改善并行處理的效率。
[0124] 在步驟S107中,反量化部302將量化的正交變換系數與QP值相乘。
[0125] 在步驟S108中,反正交變換部303對量化的正交變換系數執行反正交變換,以產 生預測誤差像素。
[0126] 在步驟S109中,解碼像素產生部306將預測誤差像素與預測像素相加,以產生解 碼像素。
[0127] 在步驟S110中,解碼像素存儲部105存儲解碼像素。前述步驟是對塊(處理塊) 的解碼處理的結束,其開始了對后續塊的接下來的解碼處理。當對一個畫面中所包含的所 有塊的解碼處理完成時,可將解碼像素存儲部105中所存儲的解碼圖像例如顯示在諸如顯 示器的顯示部上。
[0128] 如上所述,在根據第一實施方式的視頻解碼器中,可并行地執行對QP預測值的計 算,這可以改善并行塊行處理的效率。
[0129] 第二實施方式
[0130] 接下來,描述根據第二實施方式的視頻編碼器。在根據第二實施方式的視頻編碼 器中,對應于根據第一實施方式的視頻解碼器,可以多個塊行為單位并行執行QP預測處 理。
[0131] 配置
[0132] 圖12是示出了根據第二實施方式的視頻編碼器50的配置示例的框圖。在圖12所 示的示例中,視頻編碼器50包括并行編碼部501和解碼像素存儲部505。并行解碼部501 包括并行編碼處理部502、并行QP預測部503以及并行熵編碼部504。注意,視頻編碼器50 配置成并行地處理N個塊行。
[0133] 并行編碼部501的各部件配置成對每個塊行的相同塊執行處理。此外,第(K - 1) 個塊行的處理塊的水平位置配置成在第K個塊行的處理塊的水平位置之前兩個或更多個 塊處。
[0134] 這會是因為即使在對塊行進行并行編碼時,關于處理塊的上部塊和右上塊的編碼 信息也可通過在塊行之間移動兩個或更多個塊來獲得(得到)。當得到(利用)上部塊的 信息時,塊行之間的水平位置的移動量可以是一個塊。
[0135] 并行編碼部501配置成將圖像劃分成多個塊,并且利用視頻編碼系統將劃分的塊 以例如N個塊行并行地編碼。由并行編碼部501進行本地解碼的解碼像素存儲在解碼像素 存儲部505中。
[0136] 并行編碼處理部502配置成在并行地處理塊行時,為塊行中所包含的每個塊產生 量化的正交變換系數和差異運動矢量信息。所產生的正交變換系數和差異矢量信息(也稱 為"編碼數據")輸出至并行熵編碼部504。用于量化的QP值輸出至并行QP預測部503。
[0137] 并行QP預測部503配置成在對塊行中所包含的塊并行地執行計算處理時,計算在 相應塊行中所包含的每個塊的量化參數(QP)的預測值(QP預測值)。將所計算的QP預測 值輸出至并行熵編碼部504。
[0138] 并行熵編碼部504在對塊行中所包含的塊并行地執行熵編碼處理時,利用量化的 正交變換系數、作為QP值與QP預測值之間的差的QP差異值、差異移動矢量信息等,對相應 塊行中所包含的每個塊進行熵編碼。將由并行熵編碼部504所編碼的流輸出至視頻解碼器 10等。
[0139] 解碼像素存儲部505配置成存儲通過對從并行編碼部501輸出的每個塊進行本地 解碼而獲得的解碼像素。本地解碼還可稱為"在本地解碼"。
[0140] 并行編碼部
[0141] 接下來,描述并行編碼部501。圖13是示出了根據第二實施方式的視頻編碼器中 的并行編碼部501的各部件的配置示例的框圖。在圖13所示的示例中,并行編碼處理部 502包括第一編碼處理部621、第二編碼處理部622、第N編碼處理部623以及塊信息存儲部 624。
[0142] 在圖13所示的示例中,并行QP預測部503包括第一 QP預測部631、第二QP預測 部632以及第N QP預測部633。在圖13所示的示例中,并行熵編碼部504包括第一熵編碼 部641、第二熵編碼部642以及第N熵編碼部643。
[0143] 注意,當L = 1至N時,第L編碼部、第L QP預測部以及第L熵編碼部配置成對塊 行中的同一塊行執行處理。在下面的描述中,第L編碼部、第L QP預測部以及第L熵編碼部 總稱為"塊行編碼處理部"。
[0144] 例如,塊行編碼處理部601包括第一編碼部621、第一 QP預測部631以及第一熵編 碼處理部641。
[0145] 當塊行編碼處理部601已對第K個塊行執行了編碼處理時,塊行編碼處理部601 隨后對第(K+N)個塊行執行編碼處理。
[0146] 并行熵編碼部502配置成將輸入圖像劃分成多個塊行。編碼處理部621至623配 置成以圖像所劃分的塊行(例如,在這種情況下,N個塊行)為單位并行地執行編碼處理。 該編碼處理可以是諸如H. 264或HEVC的編碼處理。
[0147] 圖14是示出了根據第二實施方式的視頻編碼器中的編碼處理部(例如,第一編碼 處理部621)的配置示例的框圖。由于編碼處理部621至623配置成執行類似的處理,所以 在下面的描述中,將編碼處理部621用作編碼處理部的示例。
[0148] 第一編碼處理部621包括預測差異部701、正交變換部702、量化部703、QP確定部 704、反量化部705、反正交變換部706、解碼像素產生部707、運動檢測部708、預測信號產生 部709以及差異矢量產生部710。
[0149] 運動檢測部708配置成從解碼像素存儲部505獲取參考畫面的像素數據,以檢測 運動矢量。將檢測到的運動矢量信息存儲在塊信息存儲部624中,以用于接下來的編碼。
[0150] 預測信號產生部709配置成從解碼像素存儲部505獲取參考像素,以基于輸入參 考圖像的區域位置信息產生預測像素信號。將所產生的預測像素信號輸出至差異矢量產生 部 701。
[0151] 差異矢量產生部110配置成產生預測矢量。可以如下方式獲得預測矢量。從塊信 息存儲部624獲取位于處理塊的左側、上方以及右上側的塊的運動矢量,并且可將該三個 運動矢量的中間值確定為預測矢量。
[0152] 如在上面的示例中所描述的,由于在水平方向上從在前的塊行的處理塊將每個塊 行的處理塊移動兩個塊,所以已完成了對位于處理塊上方的塊和位于處理塊的右上側的塊 的編碼處理。因此,差異矢量產生部710能夠獲取周邊塊的運動矢量。
[0153] 差異矢量產生部710配置成從運動檢測部708獲取處理塊的運動矢量,以產生運 動矢量與預測矢量之間的差異矢量。將所產生的差異矢量輸出至第一熵編碼部641。
[0154] 預測差異部701配置成計算原始圖像與預測像素信號之間的差別,以產生預測誤 差信號。將所產生的預測誤差信號輸出至正交變換部702。
[0155] 正交變換部702配置成對預測誤差信號執行例如離散余弦變換(DCT)的正交變換 處理。將所獲得的正交變換系數輸出至量化部703。
[0156] 量化部703配置成基于量化參數(QP)來量化正交變換系數。量化方法的示例包 括:將正交系數除以由QP所確定的值,并將所獲得的結果四舍五入為最接近的整數。將量 化的正交變換系數乘以QP值,以執行反量化。四舍五入處理會做出量化不可逆變換。將量 化的正交變換系數輸出至第一熵編碼部641。
[0157] 量化部703配置成產生關于量化的正交變換系數是否全為"0"的標記信息,以將 所產生的標記信息與用于量化的QP值一起輸出至QP確定部704。將QP值輸出至反量化部 705和第一 QP預測部631。
[0158] 第一 QP預測部631配置成產生處理塊的QP預測值。將所產生的QP預測值輸出 至QP確定部704以及第一熵編碼部641。
[0159] 當將處理塊上方的塊的QP值和與第一 QP預測部631相關聯的塊行編碼處理部 601之前所處理的已處理塊的QP值之中的一個應用于QP預測值時,可無需延遲(延緩)QP 預測值的產生。結果,可改善并行處理的效率。
[0160] QP確定部704配置成基于從量化部703輸入的QP值以及預測值來確定處理塊的 QP。當正交變換系數全是"0"時,將不會對QP差異信息進行熵編碼。因此,量化部703所 利用的QP值將不被報告至解碼器側。結果,這樣的QP值會失效。
[0161] 例如,QP確定部獲取關于量化部703所產生的量化的正交變換系數是否全是"0" 的標記信息。當QP確定部704獲取了指示正交變換系數全是"0"的標記信息時,QP確定 部704將QP預測值設置為處理塊的QP值。當QP確定部704獲取了指示正交變換系數全 都不為"〇"的標記信息時,QP確定部704將量化部703所利用的QP值設置為處理塊的QP 值。將QP確定部704所確定的QP值存儲在塊信息存儲部624中。
[0162] 反量化部705配置成對量化的正交變換系數執行反量化處理。將反量化的正交系 數輸出至反正交變換部706。
[0163] 反正交變換部706配置成對量化的正交變換系數執行反正交變換。將反正交變換 處理的信號輸出至解碼像素產生部707。
[0164] 解碼像素產生部707配置成將從預測信號產生部709獲取的預測像素信號加至反 正交變換處理的信號,從而產生本地解碼像素。將所產生的解碼像素存儲在解碼像素存儲 部505中。
[0165] 接下來,描述每個QP預測部所執行的處理。圖15是示出了根據第二實施方式的 視頻編碼器中QP預測部的配置示例的框圖。由于QP預測部631至633配置成執行類似的 處理,所以在下面的描述中,將第一 QP預測部631用作QP預測部的示例。
[0166] 在圖15中,第一 QP預測部631包括前一 QP存儲部801、QP選擇部802以及上部 QP獲取部803。
[0167] 前一 QP存儲部801配置成從QP確定部704接收在當前處理塊之前剛處理完的塊 的QP值,并且存儲所接收的QP值。在開始畫面處理時,將前一 QP存儲部801所存儲的QP 值初始化。
[0168] 例如,利用由片報頭信息所編碼的片QP值,以與H. 264類似的方式,對前一 QP存 儲部401所存儲的QP值進行初始化。片是與一個畫面相關聯的塊的劃分組的單元。
[0169] 上部QP獲取部803可以從塊信息存儲部624獲取位于處理塊上方的塊的QP值。
[0170] QP選擇部802配置成從前一 QP存儲部801和上部QP獲取部803輸出的QP值中 選擇一個,以將所選QP值作為QP預測值輸出至QP確定部704或輸出至第一熵編碼部641。
[0171] 例如,當處理塊是塊行中的塊中的第一塊(頭部)時,QP選擇部802選擇從上部 QP獲取部803輸出的QP值,而當處理塊是塊行中不同于第一塊的任意一個塊時,QP選擇部 802選擇從前一 QP存儲部801輸出的QP值。QP選擇部802將所選擇的QP值作為QP預測 值輸出至QP確定部704或者輸出至第一熵編碼部641。
[0172] 在圖10A和圖10B中示出了對上面的示例中的QP值的預測(選擇)。在這種情況 下,鄰近處理塊X的塊的QP值用作QP預測值。因此,相比于按光柵順序利用(選擇)處理 塊X前一個塊的QP值的情況,QP值的預測效率不降低。
[0173] 在上面的示例中,當處理塊不是第一塊時,通過利用在處理塊X之前剛處理完的 塊的QP值來產生QP預測值。然而,當根據與處理塊相鄰的塊來預測QP值時,可通過其他 方法來產生QP值。
[0174] 注意,以類似于根據第一實施方式的視頻解碼器10的方式,根據第二實施方式的 視頻編碼器50中的QP選擇部802的處理可以如下。當經歷處理的塊行是第二塊行至第N 塊行時,前一 QP存儲部801所存儲的QP值是片QP值,每個片QP值由片單元來確定。因此, 當將片QP值用作每個塊的QP預測值時,預測效率會相對較低。
[0175] 因此,當處理塊是第二塊行至第N塊行中的塊中的第一個塊時,QP選擇部802可 選擇上部QP獲取部803所獲取的QP值,而當處理塊是第二塊行至第N塊行中不同于第一 個塊的任意一個塊時,QP選擇部802可選擇前一 QP存儲部801所保持的QP值。
[0176] 此外,當處理塊是第(N+1)個塊行之后的塊行中的塊中的第一塊時,QP選擇部802 可選擇前一 QP存儲部801所保持的QP值。在這種情況下,前一 QP存儲部801所保持的QP 值對應于處理塊上方N個塊所在的塊行中的塊中的最后一個(最后塊)的QP值。
[0177] 第K個塊行和第(K+N)個塊行由相同的解碼處理部、相同的QP預測部以及相同的 熵解碼部來處理。因此,第K個塊行中處理塊之前剛處理完的塊對應于第(K-N)個塊行的 最后塊。
[0178] 此外,當處理塊是塊行中的塊中的第一塊(頭部)時,QP選擇部802可配置成不 變地選擇在前一 QP存儲部801中所存儲的QP值。此外,當處理塊是第一塊行至第N塊行 中的一行中的塊中的第一塊時,QP選擇部802可配置成將片QP值選擇為QP預測值。
[0179] 在這種情況下,可選擇處理塊上方N個塊所在的塊行中的塊中的最后一個(最后 塊)的QP值作為第(N+1)個塊行中的第一塊的QP預測值。
[0180] 熵編碼部641至643中的每一個對相應的一個塊行中的每個塊的差異運動矢量、 QP差異值、量化的正交變換系數進行熵編碼。
[0181] 通過上面的配置,可并行地執行與塊行相對應的量化參數的預測值。
[0182] 操作
[0183] 接下來,描述根據第二實施方式的視頻編碼器50的操作。圖16是示出了在第二 實施方式中的塊編碼處理的示例的流程圖。注意,圖16中所示的塊編碼處理對應于對一個 塊執行的編碼處理。
[0184] 在步驟S201中,將經歷處理的塊(即,處理塊)輸入至編碼處理部621至623中 的每一個中。運動檢測部708配置成從解碼像素存儲部505獲取參考畫面的像素數據,以 檢測運動矢量。
[0185] 在步驟S202中,差異矢量產生部710產生所檢測的運動矢量與所產生的預測矢量 之間的差異矢量。
[0186] 在步驟S203中,運動檢測部708將所檢測的運動矢量存儲在塊信息存儲部624 中。
[0187] 在步驟S204中,預測信號產生部709獲取運動檢測部708所檢測的運動矢量所參 考的參考圖像的區域位置信息,以產生預測像素信號。
[0188] 在步驟S205中,差異矢量產生部701獲取由預測信號產生部709所產生的預測像 素信號與輸入原始像素之間的差別,以產生預測誤差信號。
[0189] 在步驟S206中,正交變換部702對預測誤差信號執行正交變換,以產生正交變換 系數。
[0190] 在步驟S207中,量化部703基于量化參數(QP)來量化正交變換系數。
[0191] 在步驟S208中,QP預測部631至633中的每一個均產生處理塊的QP預測值。QP 預測值可以是例如位于處理塊上方的塊的QP值,或者是與相應QP預測部相關聯的塊行編 碼處理部601在之前所處理的塊的QP值。
[0192] 在步驟S209中,QP確定部704將處理塊的QP值確定為從量化部703獲取的QP值 和從QP預測部獲取的QP預測值中的一個。上面已描述了處理塊的QP值的確定方法。
[0193] 在步驟S210中,每個熵編碼部對量化的正交變換系數、QP差異值以及差異矢量進 行編碼。
[0194] 在步驟S211中,反量化部705和反正交變換部706對量化的正交變換系數分別執 行反量化處理和反正交變換處理,以產生對應于預測誤差信號的信號。
[0195] 在步驟S212中,解碼像素產生部707將從預測信號產生部709獲取的預測像素信 號與從反正交變換部706獲取的信號相加,以產生本地解碼的像素。
[0196] 在步驟S213中,解碼像素存儲部505存儲所產生的解碼像素。前述步驟是對塊 (處理塊)的編碼處理的結束,其開始了對后續塊的接下來的編碼處理。
[0197] 如上所述,在根據第二實施方式的視頻編碼器中,可并行地執行QP預測值的計 算,這可以改善并行塊行處理的效率。
[0198] 第三實施方式
[0199] 圖17是示出了根據第三實施方式的視頻處理設備的配置示例的框圖。根據第三 實施方式的視頻處理設備90可以是在前述實施方式中描述的視頻編碼器或視頻解碼器中 的一個示例。如圖17中所示,視頻處理設備90包括控制器901、主存儲部902、輔助存儲部 903、驅動設備904、網絡IF部906、輸入部907以及顯示部908。前述部件經由總線相互連 接,從而使得數據在這些部件之間相互傳輸和接收。
[0200] 控制器901用作對每個設備執行控制或者對計算機內的數據執行操作或處理的 CPU。控制器901還用作能夠執行主存儲部902中所存儲的計算機程序的運算單元,從而使 得控制器901從輸入部907或存儲設備接收數據、對所接收的數據執行操作或處理并將結 果數據輸出至顯示部908或存儲設備。
[0201] 主存儲部902可以是永久地或暫時地存儲由控制器901執行的程序或數據(諸如 操作系統(0S)的基本軟件或應用軟件)的存儲設備,諸如只讀存儲器(ROM)或隨機存取存 儲器(RAM)。
[0202] 輔助存儲部903可以是諸如硬盤驅動(HDD)的存儲設備,其存儲與應用軟件相關 聯的數據。
[0203] 驅動設備904配置成從記錄介質905 (例如軟盤等)取回程序,以將所取回的程序 安裝在存儲設備中。
[0204] 此外,記錄介質905配置成存儲預定程序。記錄介質905中所存儲的程序經由驅 動設備904安裝在視頻處理設備90中。因此,所安裝的預定程序可以由視頻處理設備90 容易地執行。
[0205] 網絡IF部906是經由包括數據傳輸路徑(例如,無線線路和/或有線線路)的網 絡(例如,局域網(LAN)和廣域網(WAN))連接的視頻處理設備90與具有通信功能的外圍 設備之間的接口。
[0206] 輸入部907可包括具有光標鍵、數字鍵盤以及各種功能鍵的鍵盤以及用于選擇顯 示部908的顯示屏幕上所顯示的鍵的鼠標或滑動塊(slide pad)。輸入部907是用戶將操 作指令分配給控制器901或將數據輸入至控制器901的用戶接口。
[0207] 顯示部908包括液晶顯示器(IXD),該液晶顯示器配置成顯示與從控制器901輸入 的顯示數據相對應的數據。注意,顯示部908可設置在外部,在這種情況下,視頻處理設備 90可包括顯不控制器。
[0208] 因此,在上面的實施方式中所示的視頻編碼器或視頻解碼器可實現為由計算機執 行的程序(例如,視頻編碼程序或視頻解碼程序)。這些程序可經由服務器等安裝在計算機 內,從而使計算機執行該程序,該程序可實現前述視頻編碼器或視頻解碼器。
[0209] 此外,這種視頻編碼程序或視頻解碼程序可存儲在記錄介質905中,從而使計算 機或移動終端取回存儲在記錄介質905中的這些程序,以實現前述視頻編碼處理或視頻解 碼處理。
[0210] 注意,記錄介質905可以是各種類型的記錄介質,例如,以光、電或磁的方式將信 息記錄在其上的CD-ROM、軟盤以及磁光盤;或者以電的方式將信息記錄在其上的半導體存 儲器,例如ROM或閃存。注意,記錄介質905不包括任何載波。
[0211] 在視頻處理設備90中執行的程序可具有包括前述實施方式中所示的各個部件的 模塊配置。在實際硬件中,控制器901從輔助存儲部903取回程序,并執行所取回的程序。 因此,將一個或多個部件加載在主存儲部902上,從而使得在主存儲部902中可產生所加載 的部件。
[0212] 此外,在上面的實施方式中所示的視頻編碼處理或視頻解碼處理可以實現為一個 或多個集成電路。
[0213] 根據所公開的技術,可并行地執行QP預測值的計算,這可以改善并行塊行處理的 效率。
[0214] 根據實施方式和變形描述了所公開的技術;然而,所公開的技術不限于所公開的 實施方式。在權利要求中所描述的本發明的范圍內可進行各種變化和修改。此外,可以應 用對前述實施方式和變形的全部部件或部分部件的組合。
[0215] 本文所列舉的所有示例和條件語言意在教學目的,以幫助讀者理解發明人為推進 現有技術所貢獻的本發明和構思,應理解為不受限于這些具體列舉的示例和條件,也不受 限于在涉及示出本發明的優劣的說明書中的這種示例的組織。盡管已詳細地描述了本發明 的實施方式,但應理解的是,在不背離本發明的思想和范圍的情況下,可以做出各種變化、 替代和改變。
[0216] 本專利申請是基于并且要求于2012年1月20提交的日本專利申請第 2012-010465號的優先權,其全部內容通過引用結合在本文中。
【權利要求】
1. 一種用于對用視頻編碼系統進行編碼的流進行解碼的視頻解碼器,通過對多個劃分 塊的圖像進行編碼來獲得編碼流,所述視頻解碼器包括: 并行熵解碼部,所述并行熵解碼部配置成對塊行中所包含的塊的流進行熵解碼,所述 塊行中每個塊行中的塊的流與所述塊行中相應的一個塊行中的塊的流被并行地熵解碼,所 述塊行中的每個塊行表示塊的陣列; 并行QP預測部,所述并行QP預測部配置成計算所述塊行中所包含的塊的量化參數的 預測值,所述塊行中的每個塊行中的塊的預測值與所述塊行中相應的一個塊行中的塊的預 測值并行地計算;以及 并行解碼處理部,所述并行解碼處理部配置成對于所述塊行中所包含的塊產生解碼像 素,關于所述塊行中的每個塊行中的塊的解碼像素與關于所述塊行中相應的一個塊行中的 塊的解碼像素并行地產生,通過利用由所述并行熵解碼部所解碼的數據和所述并行QP預 測部所計算的預測值,對所述解碼像素中的每一個進行解碼,其中, 當所述并行QP預測部以N個塊行為單位并行地執行預測值計算處理,并且N的值是2 或更大值時,所述并行QP預測部對第(K- 1)塊行中的處理塊執行預測值計算處理,所述第 (K- 1)塊行中的處理塊比第K塊行中的處理塊在水平位置上在前至少一個塊,從而在并行 處理中通過參考與在所述第(K- 1)塊行中的處理塊相對應的、在所述第K塊行中已處理的 塊,計算在所述第(K- 1)塊行中的處理塊的預測值。
2. 根據權利要求1所述的視頻解碼器,其中, 當所述并行QP預測部從所述圖像的頂部塊行開始,對在第二塊行之后的塊行中的塊 中的第一個塊執行預測值計算處理時,所述并行QP預測部參考在塊行中的塊中的第一塊 上方一個塊的塊。
3. 根據權利要求1所述的視頻解碼器,其中, 當所述并行QP預測部從所述圖像的頂部塊行開始,對第二塊行至第N塊行中的每個塊 行中的塊中的第一塊執行預測值計算處理時,所述并行QP預測部參考在塊行中的塊的第 一塊上方一個塊的塊,并且其中, 當所述并行QP預測部對第(N+1)塊行之后的塊行中的塊中的第一塊執行預測值計算 處理時,所述并行QP預測部參考在塊行中的塊中的第一塊上方N個塊的塊行中的塊中的最 后一塊。
4. 根據權利要求1所述的視頻解碼器,其中: 當所述并行QP預測部從所述圖像的頂部塊行開始,對第一塊行至第N塊行中的每個塊 行中的塊中的第一塊執行預測值計算處理時,將每個預測值確定為在所述圖像的報頭信息 中所包含的量化參數,并且其中, 當所述并行QP預測部對第(N+1)塊行之后的塊行中的塊中的第一塊執行預測值計算 處理時,將預測值確定為在塊行中的塊中的第一塊上方N個塊的塊行中的塊中的最后一塊 的量化參數。
5. -種用于對圖像的多個劃分塊中的每個執行視頻編碼處理的視頻編碼器,所述視頻 編碼器包括: 并行編碼處理部,所述并行編碼處理部配置成產生包括塊行中所包含的塊的量化正交 變換系數的編碼數據,所述塊行中的每個塊行中的塊的編碼數據與所述塊行中相應一個塊 行中的塊的編碼數據并行地產生,所述塊行中的每個塊行均表示塊的陣列; 并行QP預測部,所述并行QP預測部配置成計算所述塊行中所包含的塊的量化參數的 預測值,所述塊行中的每個塊行中的塊的預測值與所述塊行中相應一個塊行中的塊的預測 值并行地計算;以及 并行熵編碼處理部,所述并行熵編碼處理部配置成利用所述編碼數據和所述預測值, 對所述塊行中所包含的塊進行熵編碼,所述塊行中的每個塊行中的塊與所述塊行中相應一 個塊行中的塊并行地熵編碼,其中, 當所述并行QP預測部以N個塊行為單位并行地執行預測值計算處理,并且N的值是2 或更大值時,所述并行QP預測部對第(K- 1)塊行中的處理塊執行預測值計算處理,所述第 (K- 1)塊行中的處理塊比第K塊行中的處理塊在水平位置上在前至少一個塊,從而在并行 處理中通過參考與所述第(K- 1)塊行中的處理塊對應的所述第K塊行中已處理的塊,計算 所述第(K- 1)塊行中的所述處理塊的預測值。
6. -種由視頻解碼器執行的視頻解碼方法,所述視頻解碼器對用視頻編碼系統進行編 碼的流進行解碼,通過對多個劃分塊的圖像進行編碼來獲得編碼流,所述視頻解碼方法包 括: 對塊行中所包含的塊的流進行熵解碼,所述塊行中的每個塊行中的塊的流與所述塊行 中相應一個塊行中的塊的流并行地熵解碼,所述塊行中的每個塊行均表示塊的陣列; 計算所述塊行中所包含的塊的量化參數的預測值,所述塊行中的每個塊行中的塊的預 測值與所述塊行中相應一個塊行中的塊的預測值并行地計算;以及 產生關于所述塊行中所包含的塊的解碼像素,關于所述塊行中的每個塊行中的塊的解 碼像素與關于所述塊行中相應一個塊行中的塊的解碼像素并行地產生,通過利用在并行熵 解碼處理中解碼的數據和所述預測值,對所述解碼像素中的每一個進行解碼,其中, 當以N個塊行為單位并行地執行預測值計算處理,并且N的值是2或更大值時,對第 (K - 1)塊行中的處理塊執行預測值計算處理,所述第(K - 1) ±夬行中的處理塊比第K塊行中 的處理塊在水平位置上在前至少一個塊,從而在并行處理中通過參考與所述第(K-1)塊 行中的處理塊相對應的所述第K塊行中已處理的塊,計算所述第(K - 1)塊行中的處理塊的 預測值。
7. -種由視頻編碼器執行的視頻編碼方法,所述視頻編碼器對圖像的多個劃分塊中的 每個執行視頻編碼處理,所述視頻編碼方法包括: 產生包括塊行中所包含的塊的量化的正交變換系數的編碼數據,所述塊行中的每個塊 行中的塊的編碼數據與所述塊行中相應一個塊行中的塊的編碼數據并行地產生,所述塊行 的每個塊行均表示塊的陣列; 計算所述塊行中所包含的塊的量化參數的預測值,所述塊行中的每個塊行中的塊的預 測值與所述塊行中相應一個塊行中的塊的預測值并行地計算;以及 利用所述編碼數據和所述預測值,對所述塊行中的每個塊行所包含的塊進行熵編碼, 所述塊行中的每個塊行中的塊與所述塊行中相應一個塊行中的塊并行地熵編碼,其中, 當以N個塊行為單位并行地執行預測值計算處理,并且N的值是2或更大值時,對第 (K - 1)塊行中的處理塊執行預測值計算處理,所述第(K - 1)塊行中的處理塊比第K塊行中 的處理塊在水平位置上在前至少一個塊,從而在并行處理中通過參考與所述第(K-1)塊 行中的處理塊對應的所述第K塊行中已處理的塊,計算所述第(K - 1)塊行中的所述處理塊 的預測值。
8. -種存儲由視頻解碼器執行的視頻解碼程序的記錄介質,所述視頻解碼器對用視頻 編碼系統進行編碼的流進行解碼,通過對多個劃分塊的圖像進行編碼來獲得編碼流,所述 視頻解碼程序在由所述視頻解碼器執行時,實現包括以下步驟的過程: 由處理器對塊行中所包含的塊的流進行熵解碼,所述塊行中每個塊行中的塊的流與所 述塊行中相應的一個塊行中的塊的流被并行地熵解碼,所述塊行中的每個塊行表示塊的陣 列; 計算所述塊行中所包含的塊的量化參數的預測值,所述塊行中的每個塊行中的塊的預 測值與所述塊行中相應的一個塊行中的塊的預測值并行地計算;以及 對于所述塊行中所包含的塊產生解碼像素,關于所述塊行中的每個塊行中的塊的解碼 像素與關于所述塊行中相應的一個塊行中的塊的解碼像素并行地產生,通過利用在并行熵 解碼處理中所解碼的數據和所述預測值,對所述解碼像素中的每一個進行解碼,其中, 當以Ν個塊行為單位并行地執行預測值計算處理,并且Ν的值是2或更大值時,對第 (Κ- 1)塊行中的處理塊執行預測值計算處理,所述第(Κ- 1)塊行中的處理塊比第Κ塊行 中的處理塊在水平位置上在前至少一個塊,從而在并行處理中通過參考與在所述第(Κ- 1) 塊行中的處理塊相對應的、在所述第Κ塊行中已處理的塊,計算在所述第(Κ - 1)塊行中的 處理塊的預測值。
9. 一種存儲由視頻編碼器執行的視頻編碼程序的記錄介質,所述視頻編碼器對圖像的 多個劃分塊中的每個執行視頻編碼處理,所述視頻編碼程序在由所述視頻編碼器執行時, 實現包括以下步驟的過程: 由處理器產生包括塊行中所包含的塊的量化的正交變換系數的編碼數據,所述塊行中 的每個塊行中的塊的編碼數據與所述塊行中相應一個塊行中的塊的編碼數據并行地產生, 所述塊行的每個塊行均表示塊的陣列; 計算所述塊行中所包含的塊的量化參數的預測值,所述塊行中的每個塊行中的塊的預 測值與所述塊行中相應一個塊行中的塊的預測值并行地計算;以及 利用所述編碼數據和所述預測值,對所述塊行中所包含的塊進行熵編碼,所述塊行中 的每個塊行中的塊與所述塊行中相應一個塊行中的塊并行地熵編碼,其中, 當以Ν個塊行為單位并行地執行預測值計算處理,并且Ν的值是2或更大值時,對第 (Κ - 1)塊行中的處理塊執行預測值計算處理,所述第(Κ - 1)塊行中的處理塊比第Κ塊行中 的處理塊在水平位置上在前至少一個塊,從而在并行處理中通過參考與所述第(Κ-1)塊 行中的處理塊對應的所述第Κ塊行中已處理的塊,計算所述第(Κ- 1)塊行中的所述處理塊 的預測值。
【文檔編號】H04N19/46GK104067619SQ201380005990
【公開日】2014年9月24日 申請日期:2013年1月16日 優先權日:2012年1月20日
【發明者】島田智史, 數井君彥, 小山純平, 中川章 申請人:富士通株式會社