以下所述的本發明之實施例係有關於增進影像(或圖片)之編碼及解碼。
在本說明書中,「發信通知」可指稱插入(提供/包括/編碼入)、或提取/獲得(解碼)自,有關一或多個參數或語法元素的位元流資訊,例如用於判定以下之任何一或更多者的資訊:一子圖片之一識別符、一子圖片之一大小/寬度/高度、是否僅一單一影像部分(例如,一切片)被包括在一子圖片中、一切片是否係一矩形切片、及/或在一子圖片中所包括的數個切片。在本說明書中,「處理」可指稱在資料上所履行之任何種類的操作,例如,編碼或解碼一或多個影像/圖片之影像資料。
在本說明書中,術語「切片」被使用為一影像部分之範例(此一影像部分之其他範例將是包含一或多個編碼樹單元之影像部分)。應理解:本發明之實施例亦可基於一影像部分(取代一切片)、及諸如影像部分之標頭(取代切片標頭或切片分段標頭)等適當修改的參數/值/語法來實施。亦應理解:文中所述如被發信通知在一切片標頭、一切片分段標頭、一序列參數集(SPS)、或一圖片參數集(PPS)中的各種資訊可被發信通知在別處,只要其能夠藉由將該等資訊在那些媒體中發信通知而提供相同的功能即可。亦應理解:一切片、一磚群組、一磚、一編碼樹單元(CTU)/最大編碼單元(LCU)、編碼樹區塊(CTB)、一編碼單元(CU)、一預測單元(PU)、一變換單元(TU)、或像素/樣本之一區塊的任一者可被稱為一影像部分。
亦應理解:當一組件或一工具被描述為「活動中(active)」時,則該組件/工具被「致能」或「可供使用」或「使用」;當被描述為「不活動(inactive)」時,則該組件/工具被「除能」或「不可供使用」或「不使用」;而「可被推論」指的是能夠從其他資訊判定/獲得相關值或參數而不明確地在位元流中發信通知它。再者,亦應理解:當一旗標被描述為「活動中」時,其表示該旗標指示相關組件/工具係「活動中」(亦即,「有效」)。
在本說明書中,後續術語被用於相同的、或功能上同等的定義,如其被定義在VVC7中,除非另有聲明。在VVC7中所使用的定義被闡述如下。
切片
:整數個完整磚或僅含在單一NAL單元中之一圖片之一磚內的整數個連續完整CTU列。
切片標頭
:在切片中所表示之一磚內含有相關於的所有磚或CTU列之資料元件的經編碼切片之一部分。
磚
:在一圖片中之一特定磚行及一特定磚列內的CTU之矩形區。
子圖片
:在一圖片內之一或多個切片的一矩形區
圖片 ( 影像 )
:以單色格式之亮度樣本的陣列或者以4:2:0、4:2:2、及4:4:4色彩格式之亮度樣本的陣列及色度樣本的兩個相應陣列。
經編碼圖片
:包含VCL NAL單元之一圖片的經編碼表示,該等VCL NAL單元具有在一AU內之nuh_layer_id的特定值且含有該圖片之所有CTU。
經編碼表示
:如以其經編碼形式表示的資料元件。
光柵掃描
:矩形二維圖案至一維圖案之映射,使得一維圖案中之第一項目係來自從左至右掃描之二維圖案的第一頂部列,類似地接續以各從左至右掃描之圖案的第二、第三等列(向下)。
區塊
:樣本之MxN(M行xN列)陣列、或變換係數之MxN陣列。
編碼區塊
:M及N之一些值的樣本之MxN區塊,使得CTB之劃分成編碼區塊係一分割。
編碼樹區塊 (CTB)
:N之一些值的樣本之NxN區塊,使得組件之劃分成CTB係一分割。
編碼樹單元 (CTU)
:具有三個樣本陣列之一圖片的亮度樣本之CTB、色度樣本之兩個相應CTB;或者一單色圖片或使用三個分離的色彩平面及語法結構(用以編碼該等樣本)來編碼之一圖片的樣本之CTB。
編碼單元 (CU)
:具有三個樣本陣列之一圖片的亮度樣本之編碼區塊、色度樣本之兩個相應編碼區塊;或者一單色圖片或使用三個分離的色彩平面及語法結構(用以編碼該等樣本)來編碼之一圖片的樣本之編碼區塊。
組件
:陣列或來自以4:2:0、4:2:2、及4:4:4色彩格式構成圖片的三個陣列(亮度及兩個色度)之一的單一樣本,或者陣列或以單色格式構成圖片的陣列之單一樣本。
圖片參數集 (PPS)
:含有應用於零或更多完整經編碼圖片之語法元素的語法結構,如由在各切片標頭中所發現之一語法元素所判定者。
序列參數集 (SPS)
:含有應用於零或更多完整CVS之語法元素的語法結構,如由在PPS(由在各切片標頭中所發現之一語法元素所參照)中所發現之一語法元素的內容所判定者。
在本說明書中,後續術語亦被用於相同的、或功能上同等的定義,如其被定義在以下,除非另有聲明。
磚群組
:僅含在單一NAL單元中之一圖片的整數個完整(亦即,完全)磚。
「磚片段」、「部分磚」、「磚之部分」、或「磚之片段」
:在不形成完整(完全)磚之一圖片的一磚內之整數個連續完整CTU。
切片分段
:整數個完整磚或僅含在單一NAL單元中之一圖片之一磚內的整數個連續完整CTU列。
切片分段標頭
:在切片分段中所表示之一磚內含有相關於的所有磚或CTU列之資料元件的經編碼切片分段之一部分。
當切片分段存在時之切片
:集體地表示圖片之磚或整數個完整磚的一組一或多個切片分段
本發明之實施例
圖片 / 影像及位元流之分割 3.1 圖片之分割成磚及切片
視頻之壓縮係仰賴在大部分編碼系統(如HEVC或新興的VVC標準)中之基於區塊的視頻編碼。在這些編碼系統中,視頻係由其可被顯示在不同時間點(例如,在視頻內之不同時間位置處)的框或圖片或影像或樣本之序列所組成。在多層視頻(例如,可擴縮、立體聲或3D視頻)之情況下,數個圖片可能需被解碼以能夠形成將顯示在特定時間點的最終/所得影像。圖片亦可由(亦即,該圖片之影像資料包含)多於一個影像成分所組成。此一影像成分之範例可為用於編碼亮度、色度或深度資訊之成分。
視頻序列之壓縮使用在各圖片之數個不同分割技術(亦即,用於分割/劃分圖片之不同方案/框架/配置/機制),以及這些分割技術如何被實施在壓縮程序期間。
圖 1
繪示依據本發明之一實施例的一圖片之分割成磚及切片,其係與VVC7相容。圖片
101
及
102
被劃分成由虛線所表示的編碼樹單元(CTU)。CTU係用於VVC7之編碼及解碼的基礎單元。例如,在VVC7中,CTU可編碼128 x 128像素之區域。
編碼樹單元(CTU)亦可被稱為區塊(像素或組成樣本(值)之區塊)、巨集區塊、或甚至編碼區塊。其可被用以同時地編碼/解碼圖片之不同影像成分,或者其可被限制於僅一個影像成分而使得圖片之不同影像成分可被分開地/個別地編碼/解碼。當一影像之資料包含各成分之分離資料時,CTU係聚集複數編碼樹區塊(CTB),各成分一個CTB。
如由
圖 1
所繪示,圖片亦可依據磚之柵格而被分割(亦即,成一或多個磚之柵格),由細實線所表示。該等磚為圖片部分(圖片之部分/部),其為可獨立於CTU分割而被界定的矩形區(像素/組成樣本的區)。磚亦可對應於CTU之序列,例如在VVC7中,所以如在
圖 1
之所示範例中,分割技術可限制磚之邊界以與CTU之邊界重合/對準。
該等磚被界定以使得磚邊界斷開編碼/解碼程序之空間依存性(亦即,在既定圖片中,磚被界定/指定以使得其可獨立於相同圖片之另一空間「相鄰」磚而被編碼/解碼)。此表示在一磚中之CTU的編碼/解碼並非基於來自相同圖片中之另一磚的像素/樣本或參考資料。
一些編碼/解碼系統(例如,本發明之實施例或用於VVC7之那些)提供一切片之概念(亦即,亦使用基於一或多個切片的分割技術)。此機制致能圖片之分割成磚之一個或數個群組,磚之一群組係集體地稱為一切片。各切片係由一個或數個磚或部分磚所組成。兩不同種類的切片被提供如由圖片
101
及
102
所繪示。第一種類的切片被限制於形成圖片中之矩形區域/區的切片,如表示以圖片
101
中之粗實線。圖片
101
繪示圖片之分割成六個不同矩形切片
(0)-(5)
。第二種類的切片被限制於依光柵掃描順序(如以圖片
102
中之粗實線所表示)的連續磚(使得其形成磚之序列)。圖片
102
繪示圖片之分割成三個不同切片
(0)-(2)
,其係由依光柵掃描順序的連續磚所組成。經常,矩形切片係用於處理視頻中之相關區(RoI)的選擇之結構/配置/組態。切片可被編碼在(或解碼自)位元流中而成為一或數個網路抽象化層(NAL)單元。NAL單元係用於經編碼/經解碼位元流中之資料的囊封之資料的邏輯單元(例如,含有整數個位元組之封包,其中複數封包集體地形成經編碼視頻資料)。在用於VVC7之編碼/解碼系統中,切片通常被編碼為單一NAL單元。當一切片在位元流中被編碼為數個NAL單元時,則該切片之各NAL單元被稱為切片分段。切片分段包括切片分段標頭,其含有用於該切片分段之編碼參數。依據一變體,該切片之第一切片分段NAL單元的標頭含有該切片之所有編碼參數。切片之後續NAL單元的切片分段標頭可含有比第一NAL單元更少的參數。在此一情況下,第一切片分段係獨立切片分段而後續分段係附屬切片分段(因為其仰賴來自第一切片分段之NAL單元的編碼參數)。
3.2 分割成子圖片 圖 2
繪示依據本發明之實施例的圖片之子圖片分割,亦即,圖片之分割成一或多個子圖片。子圖片代表涵蓋圖片之矩形區的圖片部分(圖片之部分或部)。各子圖片可具有不同大小及來自另一子圖片之編碼參數。子圖片佈局,亦即,在圖片中之子圖片的幾何(例如,如使用子圖片之位置及尺寸/寬度/高度所界定者)允許群集圖片之一組切片並可侷限(亦即,加諸限制在)兩個圖片之間的時間移動預測。
在
圖 2
中,圖片
201
之磚分割係4x5磚柵格。切片分割界定24個切片,其存在於每一個磚一個切片,除了在右手側上的最後磚行,針對該行各磚被劃分成兩個切片(亦即,該切片包含部分磚)。圖片
201
亦被劃分成兩個子圖片
202
及
203
。子圖片被定義為形成矩形區之一或多個切片。子圖片
202
(顯示為虛線區)包含在前三個磚行(從左邊開始)中之切片,而子圖片
203
(顯示為具有對角線在其上的陰影區)包含剩餘的切片(在右手邊上的最後兩個磚行中)。如
圖 2
中所示,VVC7及本發明之實施例提供一分割方案,其容許界定在圖片階之單一切片分割及單一磚分割(例如,使用在PPS中所提供之語法元素的每圖片)。子圖片分割係應用在磚及切片分割之頂部上。子圖片之另一態樣在於其各子圖片係與一組旗標相關聯。此使其有可能(使用該組旗標之一或多個)指示其時間預測被侷限於使用來自其為相同子圖片之部分的參考框之資料(例如,時間預測被限制以使得子圖片之預測子無法使用來自另一子圖片之參考資料)。例如,參考
圖 2
,CTB
204
屬於子圖片
202
。當指示其時間預測被侷限於子圖片
202
時,子圖片
202
之時間預測無法使用來自子圖片
203
之參考區塊(或參考資料)。結果,子圖片
202
之切片係獨立於子圖片
203
之切片為可編碼/可解碼。此特性/屬性/性質/能力可用於視埠相依的串流,其包含將全向視頻序列分段成空間部分,各代表360(度)內容之特別觀看方向。觀看者可接著選擇其相應於所欲/相關觀看方向之分段;且,使用子圖片之此特性,其可編碼/解碼分段而無須存取來自360內容之剩餘部分的資料。
子圖片之另一用途係用以產生具有相關區的串流。子圖片提供用於其可被獨立地編碼/解碼之這些相關區的空間表示。子圖片被設計以致能/容許對相應於這些區之經編碼資料的簡易存取。結果,得以提取相應於子圖片之經編碼資料並產生新位元流,其包含僅用於單一子圖片或與一或多個其他子圖片之子圖片的組合/組成之資料,亦即,其可使用基於子圖片的位元流產生以增進彈性及可擴縮性。
3.3 位元流 圖 3
繪示依據本發明之實施例的位元流之組織(亦即,結構、組態或配置),其符合VVC7之編碼系統的需求。位元流
300
係由表示/指示語法元素及經編碼(影像)資料的依序序列之資料所組成。語法元素及經編碼(影像)資料被放置(亦即,封裝/群集)入NAL單元
301-308
中。有不同的NAL單元類型。網路抽象化層(NAL)提供用以將位元流囊封入不同協定之封包的能力/性能,如即時協定/網際網路協定(RTP/IP)、ISO基礎媒體檔案格式等等。網路抽象化層亦提供用於封包損失恢復力的框架。
NAL單元被劃分為VCL NAL單元及非VCL NAL單元,VCL代表視頻編碼層。VCL NAL單元含有實際經編碼視頻資料。非VCL NAL單元含有額外資訊。此額外資訊可為用於經編碼視頻資料之解碼所需的參數或者為可提升經解碼視頻資料之可用性的補充資料。
圖 3
中之NAL單元
306
相應於切片(亦即,其包括該些切片之實際經編碼視頻資料)並構成位元流之VCL NAL單元。
不同NAL單元
301-305
係相應於不同參數集,這些NAL單元為非VCL NAL單元。DPS NAL單元
301
(代表解碼參數集NAL單元)含有針對既定解碼程序為恆定的參數。VPS NAL單元
302
(VPS代表視頻參數集NAL單元)含有針對整個視頻所界定的參數(例如,整個視頻包含圖片/影像之一或多個序列),而因此可應用在當解碼整個位元流之經編碼視頻資料時。DPS NAL單元可界定比VPS NAL單元中之參數更靜態的參數(在於其係穩定的且在解碼程序期間不會改變如此多)。換言之,DPS NAL單元之參數比VPS NAL單元之參數更不頻繁地改變。SPS NAL單元
303
(SPS代表序列參數集)含有針對視頻序列(亦即,圖片或影像之序列)所界定的參數。特別地,SPS NAL單元可界定子圖片佈局及視頻序列之相關參數。與各子圖片相關聯的參數指明其施加至子圖片之編碼約束。依據一變體,其包含一旗標,其指示介於子圖片之間的時間預測被限制以使得來自相同子圖片之資料可供在時間預測程序期間之使用。另一旗標可致能或除能迴路過濾器(亦即,後過濾)橫跨子圖片邊界。
PPS NAL單元
304
(PPS代表圖片參數集)含有針對圖片或圖片之群組所界定的參數。APS NAL單元
305
(APS代表調適參數集)含有用於迴路過濾器之參數,通常係調適性迴路過濾器(ALF)或整形器模型(或具有色度擴縮模型之亮度映射)或在切片位準所使用的擴縮矩陣。位元流亦可含有SEI NAL單元(未顯示在
圖 3
中),其代表補充增強資訊NAL單元。在位元流中之這些參數集(或NAL單元)的發生週期(或含括頻率)係可變的。針對整個位元流所界定的VPS可在位元流中僅發生一次。反之,針對切片所界定的APS可針對各圖片中之各切片發生一次。實行上,不同切片可仰賴(例如,參考)相同APS,而因此通常有比一圖片的位元流中之切片更少的APS NAL單元。
AUD NAL單元
307
係一存取單元限定器NAL單元,其分離兩個存取單元。存取單元係一組NAL單元,其可包含具有相同解碼時戳之一或多個經編碼圖片(亦即,相關於一或多個經編碼圖片之NAL單元的群組具有相同時戳)。
PH NAL單元
308
係一圖片標頭NAL單元,其係群集單一經編碼圖片之一組切片所共有的參數。圖片可參考一或多個APS以指示AFL參數、整形器模型及擴縮矩陣(由圖片之切片所使用)。
VCL NAL單元
306
之各者含有切片之視頻/影像資料。切片可相應於整個圖片或子圖片、單一磚或複數磚或磚之片段(部分磚)。例如,
圖 3
之切片含有數個磚
320
。切片係由切片標頭
310
及原始位元組序列酬載(RBSP)
311
(其含有經編碼成編碼區塊
340
之經編碼像素/組成樣本資料)。
PPS之語法(如在VVC7中)包含語法元素(其指明亮度樣本中之圖片的大小)以及語法元素(用以指明磚及切片中之各圖片的分割)。
PPS含有語法元素,其使得能夠判定(亦即,得以判定)圖片/框中之切片位置。因為子圖片形成圖片/框中之矩形區,所以能夠判定一組切片、磚之部分或磚,其屬於來自參數集NAL單元(亦即,DPS、VPS、SPS、PPS、及APS NAL單元之一或多個)之子圖片。
編碼及解碼程序 3.4 編碼程序 圖 4
繪示依據本發明之實施例以將視頻之圖片編碼入位元流的編碼方法。
在第一步驟
401
中,圖片被劃分成子圖片。針對各子圖片,子圖片之大小係隨應用所需的空間存取粒度而變動來判定(例如,子圖片大小可被表達為隨一應用/用途情境所需的圖片中之區/空間部分/區域的大小/尺度/粒度位準而變動,子圖片大小得以夠小而含有單一區/空間部分/區域)。通常,針對視埠相依的串流方法,子圖片大小被設為涵蓋觀看域之預定範圍(例如,60度水平觀看域之範圍)。針對相關區之調適性串流,各子圖片之寬度及高度被形成為取決於輸入視頻序列中所存在的相關區。通常,各子圖片之大小被形成以含有相關的一個區。子圖片之大小被判定以亮度樣本單元或以CTB之大小的倍數。此外,經編碼圖片中之各子圖片的位置被判定在步驟
401
中。子圖片之位置及大小形成子圖片佈局資訊,其通常被發信通知以非VCL NAL單元,諸如參數集NAL單元。例如,子圖片佈局資訊被編碼以SPS NAL單元,在步驟
402
中。
此一SPS NAL單元之SPS語法通常含有以下語法元素:
描述符欄提供用於編碼語法元素之編碼方法,例如,u(n)(其中n係整數值)表示語法元素係使用n位元來編碼;而ue(v)表示語法元素係使用無正負號整數第0階指數哥倫布編碼(Exp-Golomb-coded)語法元素,其中左邊第一位元係可變長度編碼。se(v)係同等於ue(v)但用於符號整數。u(v)表示語法元素係使用固定長度編碼來編碼,其中位元中之特定長度係從其他參數來判定。
在圖片之一位元流中的子圖片發信通知之存在係取決於旗標subpics_present_flag之值。當此旗標等於0時,其指示位元流不含有關於將圖片分割成一或多個子圖片的資訊。在此一情況下,推理出有涵蓋整個圖片之單一子圖片。當此旗標等於1時,一組語法元素係指明一框(亦即,該圖片)中之子圖片的佈局:發信通知包含使用一迴路(亦即,用於重複指令之一序列直到滿足特定條件的編程結構)以判定/界定/指明圖片之子圖片(圖片中之子圖片的數目被編碼以sps_num_subpics_minus1語法元素),其包含界定各子圖片之位置及大小。此「針對迴路」之指標係子圖片指標。語法元素subpic_ctu_top_left_x[i]及subpic_ctu_top_left_y[i]各別地相應於第i子圖片之第一CTU的行指標及列指標。subpic_width_minus1[i]及subpic_height_minus[i]語法元素係發信通知CTU單元中之第i子圖片的寬度及高度。
除了子圖片佈局之外,SPS指明子圖片邊界之約束:例如,subpic_treated_as_pic_flag[i]等於1指示其第i子圖片之邊界被處置為圖片邊界以供時間預測。其確保第i子圖片之經編碼區塊被預測自其屬於相同子圖片之參考圖片的資料。當等於0時,此旗標指示時間預測可或可不被約束。第二旗標(loop_filter_across_subpic_enabled_flag[ i ])指明迴路過濾程序是否被容許使用來自另一子圖片的資料(通常像素值)。這兩個旗標使其得以指示子圖片是否獨立於其他子圖片而被編碼。此資訊可用於判定子圖片是否可被提取、導出自、或合併與其他子圖片。
在步驟
403
,編碼器判定視頻序列之圖片中的磚及切片中的分割,並描述這些分割以一個非VCL NAL單元,諸如PPS。此步驟係參考
圖 6
而被進一步描述於後。切片及磚分割之發信通知係由子圖片所約束,使得各子圖片包含至少一個切片以及磚之部分(亦即,部分磚)或者一或多個磚的任一者。
在步驟
404
,形成子圖片之至少一個切片被編碼在位元流中。
3.5 解碼程序 圖 5
繪示依據本發明之一實施例的一般解碼程序。針對各VCL NAL單元,解碼器判定PPS及SPS(其係應用至目前切片)。通常,其判定目前圖片之使用中PPS及SPS的識別符。例如,切片之圖片標頭係發信通知使用中PPS的識別符。與PPS識別符相關聯的PPS接著亦使用另一識別符(SPS之識別符)來參考SPS。
在步驟
501
,解碼器判定子圖片分割,例如,判定圖片/框之子圖片的大小(通常係其寬度及高度),藉由剖析其描述/指示子圖片佈局之參數集。針對VVC7及符合VVC7之此部分的實施例,包括用於判定此子圖片分割之資訊的參數集係SPS。在第二步驟
502
,解碼器剖析相關於將圖片分割成磚之一個參數集NAL單元(或非VCL NAL單元)的語法元素。例如,針對符合VVC7的串流,磚分割發信通知係在PPS NAL單元中。在此判定步驟期間,解碼器初始化一組變數,其描述/界定各子圖片中所存在的磚之特性。例如,其可判定第i子圖片的以下資訊(參見
圖 6
之步驟
601
):
●一旗標,其指示子圖片是否含有磚之一片段,亦即,一部分磚(參見
圖 6
之步驟
603
)
●一整數值,其指示子圖片中之磚的數目(
圖 6
之步驟
602
)
●一整數值,其指明磚單元中之子圖片的寬度(
圖 6
之步驟
604
)
●一整數值,其指明磚單元中之子圖片的高度(
圖 6
之步驟
604
)
●磚指標之列表,其係依光柵掃描順序而存在子圖片中(
圖 6
之步驟
605
)
此
圖 6
繪示依據本發明之一實施例的切片分割之發信通知,其涉及可被使用在編碼及解碼程序兩者中的判定步驟。
在步驟
503
,解碼器仰賴切片分割的發信通知(在一個非VCL NAL單元中,例如,通常在VVC7之PPS中)及用以推論(亦即,導出或判定)各子圖片之切片分割的事先判定資訊。特別地,解碼器可推論(亦即,導出或判定)切片之數目、切片之一或多個的寬度及高度。解碼器亦可獲得切片標頭中所存在的資訊,用以判定切片資料中所存在的CTB之解碼位置。
在最後步驟
504
,解碼器在步驟
503
所判定的位置處解碼其形成圖片之子圖片的切片。
發信通知分割 3.6 切片分割之發信通知
依據本發明之一實施例,切片可由整數個完整磚或者在圖片之磚內的整數個完整且連續CTU列或行所組成(後者可能性表示切片能夠包含部分磚,只要該部分磚包含連續CTU列或行)。
切片的兩個模式亦可被支援/提供以利使用,亦即,光柵掃描切片模式及矩形切片模式。在光柵掃描切片模式中,切片含有依圖片之磚光柵掃描順序的完整磚之序列。在矩形切片模式中,切片含有數個完整磚(其集體地形成圖片之矩形區)或一個磚的數個連續完整CTU列(或行)(其集體地形成圖片之矩形區)。矩形切片內之磚被掃描以磚光柵掃描順序,在相應於該切片的矩形區內。
用於指明切片結構(佈局及/或分割)之VVC7的語法係獨立於子圖片之VVC7的語法。例如,切片分割(亦即,圖片之分割成切片)被執行在(亦即,基於或參考)磚結構/分割之頂部上而無對於子圖片之參考(亦即,不參考用於形成子圖片之語法元素)。另一方面,VVC7對子圖片加諸一些限制(亦即,約束),例如,子圖片必須含有一或多個切片而切片標頭包括slice-address語法元素,其係相關於其子圖片之切片的指標(亦即,針對相關聯子圖片所界定的指標,諸如在子圖片中的切片之中的切片之指標)。VVC7亦僅容許包含在矩形切片模式中之部分磚的切片,而光柵掃描切片模式不界定包括部分磚之此一切片。用於VVC7中之目前語法系統係藉由設計而不實施所有這些約束,而因此此語法系統之實施方式導致一種系統,其傾向於產生不符合VVC7規格/需求的位元流。
因此本發明之實施例使用來自子圖片佈局定義的資訊,用以指明切片分割來嘗試提供較佳編碼效率給子圖片、磚及切片發信通知。
針對具有用以界定在一磚內之多個切片(亦稱為「磚片段」切片或包含部分磚之切片)的能力之需求來自全向串流需求。已識別有需要界定一磚內之切片,針對OMAF串流之BEAMER(位元流提取及合併,Bitstream Extraction And MERging)操作。此表示「磚片段」切片可存在不同子圖片中以容許BEAMER操作,此於是表示其不需要具有一含有具多數切片之一個完整磚的子圖片。
本發明之以下前三個實施例(實施例1、實施例2及實施例3)係基於子圖片以界定切片分割判定及發信通知。第一實施例1包括語法系統,其不容許/防止/禁止子圖片含有多個「磚片段」切片;而第二實施例2包括語法系統,其係僅當子圖片含有至多一個磚時容許/允許它(亦即,假如子圖片含有多於一個磚的話,則所有其切片均含有整數個完整磚)。實施例3提供「磚片段」切片之使用的明確發信通知。當「磚片段」切片未被使用時,其避免關於此一切片之發信通知語法元素,其可增進切片分割發信通知的編碼效率。實施例1-3僅在矩形切片模式中容許/允許磚片段切片之使用。
第四實施例4係前三個實施例之替代物,其中統一的語法系統被用以在光柵掃描及矩形切片模式兩者中容許/允許磚片段切片之使用。第五實施例5係其他實施例之替代物,其中子圖片佈局及切片分割未被發信通知在位元流中並推論(亦即,判定或導出)自磚發信通知。
實施例 1
在第一實施例實施例1中,VVC7之切片分割的語法被修改以避免指明數個約束,其係難以正確地實施且亦仰賴子圖片佈局來推論/導出切片分割之參數(例如,切片之大小)。因為子圖片係由一組/群組完整切片來表示(亦即,構成),所以能夠在當子圖片含有單一切片時推論切片之大小。類似地,從子圖片中之切片的數目及在子圖片中之較早處理的/遭遇的切片之大小,可推論/導出/判定最後切片之大小。
在實施例1中,僅當切片涵蓋完全/完整子圖片時(換言之,有單一切片在子圖片中)切片被容許包含磚之片段/部分(亦即,部分磚)。當在子圖片中有多於一個切片時,切片大小之發信通知是需要的。另一方面,當在子圖片中有單一切片時,切片大小係相同於子圖片大小。結果,當切片包含磚之片段時,切片大小不被發信通知在參數集NAL單元中(因為其係相同於子圖片大小)。所以能夠約束其切片寬度及高度係以磚之單元,僅針對切片大小發信通知情境。
此實施例之PPS的語法包含指明各子圖片中所包括的切片之數目。當切片之數目大於1時,切片之大小(寬度及高度)被表達以磚之單元。最後切片之大小不被發信通知且推論/導出/判定自子圖片佈局,如以上所述。
依據此實施例之變體,PPS語法含有具有以下語意(亦即,定義或功能)之以下語法元素:
PPS語法
PPS語意
切片被界定於每子圖片。「針對迴路」被使用以num_slices_in_subpic_minus1語法元素,來形成/處理該特定子圖片中之正確數目的切片。語法元素num_slices_in_subpic_minus1[i]指示切片之數目(在具有等於i之子圖片指標的子圖片中)減1,亦即,該語法元素指示比子圖片中之切片數目少一的值。當等於0時,其指示子圖片含有等於子圖片大小之大小的單一切片。當切片之數目大於1時,切片之大小被表達以整數個磚之單元。最後切片之大小被推論自子圖片大小(及子圖片中之其他磚的大小)。利用此方法,得以界定「磚片段」切片,當其涵蓋具有用於語法元素之以下語意的完整子圖片:
pps_num_subpics_minus1
plus 1指明在參考PPS之經編碼圖片中的子圖片之數目。位元流符合之一需求是:pps_num_subpic_minus1之值應等於sps_num_subpics_ minus1(其係在SPS階所界定的子圖片之數目)。
single_slice_per_subpic_flag
等於1指明其各子圖片係由一個且僅一個矩形切片所組成。single_slice_per_ subpic_flag等於0指明其各子圖片可包括一或多個矩形切片。當subpics_present_flag等於0時,single_slice_per_ subpic_flag將等於0。當single_slice_per_subpic_flag等於1時,num_slices_in_pic_minus1被推論為等於sps_num_ subpics_minus1(其係在SPS階所界定的子圖片之數目)。
num_slices_in_subpic_minus1
[i] plus 1指明在第i子圖片中的矩形切片之數目。num_slices_in_subpic_minus1之值應在0至MaxSlicesPerPicture-1之範圍中(包括),其中MaxSlicesPerPicture被指明在Annex A中。當no_pic_ partition_flag等於1時,num_slices_in_subpic_minus1[ 0 ]之值被推論為等於0。
此語法元素判定切片標頭之slice_address的長度,其為Ceil( log
2
(num_slices_in_subpic_minus1[ SubPicIdx ] + 1 ) )位元(其中 SubPicIdx係該切片之子圖片的指標)。slice_address之值可在0至num_slices_in_subpic_minus1 [SubPicIdx](包括)。
tile_idx_delta_present_flag
等於0指明其tile_idx_ delta值不存在PPS中以及其參考PPS之圖片的所有子圖片中之所有矩形切片被指明以光柵順序。tile_idx_delta_ present_flag等於1指明其tile_idx_delta值可存在PPS中以及其參考PPS之圖片的所有子圖片中之所有矩形切片被指明以由tile_idx_delta之值所指示的順序。
slice_width_in_tiles_minus1
[i][j] plus 1指明第i子圖片中之磚行的單元中之第j矩形切片的寬度。slice_width_ in_tiles_minus1[i][j]之值應在0至NumTileColumns-1之範圍中,包括(其中NumTileColumns係磚柵格中的磚行之數目)。當不存在時,slice_width_in_tiles_minus1[i][j]之值被推論為隨子圖片大小而變動。
slice_height_in_tiles_minus1
[i][j] plus 1指明第i子圖片中之磚列的單元中之第j矩形切片的高度。slice_height_ in_tiles_minus1[i][j]之值應在0至NumTileRows-1之範圍中,包括(其中NumTileRows係磚柵格中的磚列之數目)。當不存在時,slice_height_in_tiles_minus1[i][j]之值被推論為隨第i子圖片大小而變動。
tile_idx_delta
[i][j]指明介於第i子圖片的第j矩形切片與第(j+1)矩形切片之間的磚指標之差異。tile_idx_delta[i][j]之值應在NumTilesInPic[i]+1至NumTilesInPic[i]-1之範圍中,包括(其中NumTilesInPic[i]係圖片中的磚之數目)。當不存在時,tile_idx_delta[i][j]之值被推論為等於0。在其他情況下,tile_idx_delta[i][j]之值應不等於0。
因此依據此變體:
‧在一圖片內之一或多個切片的一矩形區之一子圖片。切片之位址係相關於子圖片來界定。介於子圖片與其切片之間的關聯/關係被反映在語法系統中,其界定應用於各子圖片之「針對迴路」中的切片。
‧藉由設計,其避免不想要的分割,其可導致具有來自相同子圖片中之兩個不同磚的多於一個磚片段切片。
‧有可能從磚及子圖片分割兩者推斷切片分割,其增進發信通知之編碼效率。
依據此變體之進一步變體,切片分割之此推斷/導出係使用以下程序來履行。針對矩形切片,範圍從0至num_slices_in_pic_minus1(包括)之i的列表NumCtuInSlice [i](指明第i切片中的CTU之數目);以及範圍從0至num_slices_in_pic_minus1(包括)之i和範圍從0至NumCtuInSlice[i]-1之j的矩陣CtbAddrInSlice[i][j](指明第i切片內之第j CTB的圖片光柵掃描位址)被導出如下(當single_slice_per_subpic_flag等於0時):
其中函數AddCtbsToSlice(sliceIdx, startX, stopX, startY, stopY)係以等於SliceIdx之指標填充切片之CtbAddrInSlice陣列。其依CTB之光柵掃描順序來以CTB位址填充該陣列,其中CTB列之垂直位址係介於startY與stopY之間;而CTB行之水平位址係介於startX與stopX之間。
此程序包含應用處理迴路在各子圖片上。針對各子圖片,在該子圖片中之第一磚的磚指標係判定自該子圖片之第一磚的水平和垂直位址(亦即,subpicTileTopLeftX[i]和subpicTileTopLeftX[i]變數)以及由磚分割資訊所指明的磚行之數目。此值推論/指示/代表子圖片之單一切片中的第一磚之指標。針對各子圖片,第二處理迴路被應用至子圖片之各切片。切片之數目等於一加num_slices_in_subpics_ minus1[i][j]變數,其被編碼在PPS中或被推論/導出/判定自位元流中所包括的其他資訊。當切片為子圖片之最後一個時,磚中之切片的寬度被推論/推斷/導出/判定為等於磚中之子圖片寬度減切片之第一磚的行之水平位址加子圖片之第一磚的行之水平位址。類似地,磚中之切片的高度被推論/推斷/導出/判定為等於磚中之子圖片高度減切片之第一磚的列之垂直位址加子圖片之第一磚的列之垂直位址。先前切片之第一磚的指標被編碼在切片分割資訊中(例如,成為與先前切片之第一磚的磚指標之差異),或者其被推論/推斷/導出/判定為等於子圖片中之磚的光柵掃描順序中之下一磚。
當子圖片含有磚之片段(亦即,部分磚)時,切片之CTU中的寬度及高度被推論/推斷/導出/判定為等於CTU單元中之子圖片的寬度及高度。CtbAddrInSlice[sliceIdx]陣列係依光柵掃描順序而被填充以子圖片之CTU。否則,子圖片含有一或多個磚,而CtbAddrInSlice[sliceIdx]陣列被填充以其被包括在切片中之磚的CTU。包括在子圖片之切片中的磚為具有磚行之垂直位址(該垂直位址係從[tileX, tileX + slice_width_in_tiles_minus1[i][j]]之範圍所界定)、及磚行之水平位址(該水平位址係從[tileY, tileY + slice_height_in_tiles_minus1[i][j]]之範圍所界定)的磚,其中磚X係切片之第一磚的磚行之垂直位址;磚Y係切片之第一磚的磚列之水平位址;i係子圖片指標而j係子圖片中之切片的指標。
最後,切片上之處理迴路包括一判定步驟,用於判定子圖片之下一切片中的第一磚。當一磚指標偏移(tile_idx_delat[i][j])被編碼(tile_idx_delta_present_flag[i]等於1)時,下一切片之磚指標被設為等於目前切片之第一磚的指標加磚指標偏移值之值。否則(亦即,當指標偏移未被編碼時),tileIdx被設為等於子圖片之第一磚的磚指標加圖片中的磚行之數目與磚單元中之高度的乘積減目前切片之1。
依據進一步變體,當子圖片包括部分磚時,取代在PPS中發信通知子圖片中所包括的切片之數目,子圖片被推論/推斷/導出/判定為由此部分磚所組成。 例如,以下替代PPS語法可被使用以取代如此做。
替代PPS語法
在進一步變體中,子圖片中的切片之數目被推論為等於一,當子圖片代表磚之片段(亦即,子圖片包括部分磚)時。語法元素之經編碼資料大小被進一步減小,其增進串流之壓縮,隨著代表磚片段的子圖片之數目(亦即,包括部分磚的子圖片之數目)增加。PPS之語法為(例如)如下:
num_slices_in_subpic_minus1[i]
之新語意/定義係如下:
num_slices_in_subpic_minus1
[i] plus 1指明在第i子圖片中的矩形切片之數目。num_slices_in_subpic_minus1之值應在0至MaxSlicesPerPicture-1之範圍中(包括),其中MaxSlicesPerPicture被指明在Annex A中。當不存在時,num_slices_in_subpic_minus1[i]被推論為等於0,針對0至
pps_num_subpic_minus1
(包括)之範圍中的i。
tileFractionSubpicture[i]
變數指明第i子圖片是否涵蓋磚之片段(部分磚),亦即子圖片之大小是否絕對地低(小)於該子圖片之第一CTU所屬的磚。
解碼器係從子圖片佈局及柵格資訊來判定此變數如下:當子圖片之頂部及底部水平邊界兩者均為磚邊界時,tileFractionSubpicture[i]被設為等於0。反之,當子圖片之頂部及底部水平邊界的至少一者不是磚邊界時,tileFractionSubpicture[i]被設為等於1。
在又另一進一步變體中,slice_width_in_tiles_minus1 [i][j]及slice_height_in_tiles_minus1[i][j]之存在(或其缺乏)被推論自單元中之子圖片的寬度及高度。例如,變數subPictureWidthInTiles[i]及subPictureHeightInTiles[i]各別地界定磚單元中之第i子圖片的寬度及高度。當子圖片係磚之片段時,子圖片之寬度按照慣例被設為1(因為磚之片段具有等於磚之寬度的寬度)且高度被設為0,以指示其子圖片之高度低於一個完整磚。應理解:任何其他預設/預判定值可被使用,主要約束是其兩個值被設定/判定以使得其不代表磚中之可能子圖片大小。例如,該等值可被設為等於在圖片中的磚之最大數目加1。在該情況下,可推論其子圖片係磚之片段,因為大於磚之最大數目的子圖片之寬度及高度是不可能的。
這些變數被初始化,一旦磚分割被判定(通常基於num_exp_tile_columns_minus1、num_exp_tile_rows_minus1、tile_column_width_minus1[i]、及tile_row_height_minus1 [i]語法元素)。該程序可包含履行處理迴路在各子圖片上。亦即,針對各子圖片,假如該子圖片涵蓋磚之片段,則子圖片之磚單元中的寬度及高度被各別地設為1及0。否則,子圖片之磚中的寬度之判定被判定如下:子圖片之第一CTU的CTU行之水平位址(判定自第i子圖片之子圖片佈局語法元素subpic_ctu_top_left_x[i])被用以判定子圖片中之第一磚的磚行之水平位址。
接著,針對磚柵格之各磚行,磚行之最左及最右CTU行的水平位址被判定。當子圖片之第一CTU的CTU行之水平位址係介於這兩個位址之間,水平位址指示子圖片中之第一磚的磚行之水平位址。相同程序適用以判定其含有子圖片之最右CTU行的磚行之水平位址。最右CTU行具有等於子圖片之第一CTU的CTU行之水平位址與CTU單元中的子圖片之寬度(subpic_width_minus1[i] plus 1)的總和之CTU行的水平位址。磚中之子圖片的寬度等於子圖片之最後CTU行與第一CTU的磚行之水平位址的差異。相同原理適用在當判定磚單元中之子圖片的高度時。該程序判定磚中之子圖片高度為子圖片之第一CTU的磚列與子圖片之最後CTU列的垂直位址之差異。
在一個進一步變體中,當子圖片中之磚的數目等於子圖片中之切片的數目時,slice_width_in_tiles_minus1[i][j]及slice_height_in_tiles_minus1[i][j]不存在並推論為等於0。確實,在相等之情況下,子圖片及切片約束迫使其各切片含有剛好一個磚。當子圖片係一磚片段(tileFractionSubpicture[i]等於1)時,子圖片中之磚的數目等於一。否則,其等於subPictureHeightInTiles[i]與subPictureWidthInTiles[i]之乘積。
在另一進一步變體中,當磚單元中之子圖片的寬度等於1時,slice_width_in_tiles_minus1[i][j]不存在且被推論為等於0。
在另一進一步變體中,當磚單元中之子圖片的高度等於1時,slice_height_in_tiles_minus1[i][j]不存在且被推論為等於0。
在又另一進一步變體中,三個前面進一步變體的任何組合被使用。
在一些先前變體中,語法元素之存在被推論自子圖片分割資訊。當子圖片分割被界定在不同參數集NAL單元中時,切片分割之剖析係取決於來自另一參數集NAL單元之資訊。此相依性可限制某些應用中變體之使用,因為其包括切片分割之參數集的剖析無法被完成而不儲存來自另一參數集之資訊。針對參數之解碼,亦即,由語法元素所編碼之值的判定,此依存性不是限制,因為解碼器需要使用中的所有參數集以解碼像素樣本任何方式(可能有一些潛時,由於必須等待所有相關參數集被解碼)。結果,在進一步變體中,語法元素之存在的推論僅被致能在當子圖片、磚及切片分割被發信通知在相同參數集NAL單元中。例如,變數subPictureWidthInTiles[i](其指明磚之單元中的第i子圖片之寬度)、subPictureHeightInTiles[i](其指明磚之單元中的第i子圖片之高度)、subpicTileTopLeftX[i](其指明第i子圖片中之第一磚的行之水平位址)、及subpicTileTopLeftY[i](其指明第i子圖片中之第一磚的列之垂直位址),針對0至pps_num_subpicture_minus1(包括)之範圍中的i,被判定如下:
tileFractionSubpicture[i]變數(其指明子圖片是否含有磚之片段)被導出如下:
列表SliceSubpicToPicIdx[ i ][ k ](其指明第i子圖片中之矩形切片的數目及第i子圖片中之第k切片的圖片階切片指標)被導出如下:
其中:
● CtbToTileRowBd[ctbAddrY]將垂直CTB位址(ctbAddrY)轉換至CTB單元中之頂部磚行邊界。
● CtbToTileColBd[ctbAddrX]將水平CTB位址(ctbAddrX)轉換至CTB單元中之左磚行邊界。
● ColWidth[i]係CTB中之第i磚行的寬度
● RowHeight[i]係CTB中之第i磚列的高度
● tileColBd[i]係CTB中之第i磚行邊界的位置
● tileRowBd[i]係CTB中之第i磚列邊界的位置
● NumTileColumns係磚行之數目
● NumTileRows係磚列之數目
圖 7
繪示子圖片及使用上述實施例/變體/進一步變體之發信通知的切片分割之範例。在此範例中,圖片
700
被劃分成9個子圖片(標示(1)至(9))及4x5磚柵格(顯示以粗實線之磚邊界)。切片分割(包括在各切片中之一區域被顯示以其剛好在切片邊界內部的細實線)係針對各子圖片如下:
● 子圖片(1):3個切片,其各別地含有1個磚、2個磚及3個磚。切片之高度等於1個磚而其寬度各別地為磚單元之1、2及3(亦即,由水平方向配置之列所組成的3個切片)
● 子圖片(2):相等大小之2個切片,該大小為1個磚的寬度及1個磚的高度(亦即,2個切片之各者係由單一磚所組成)。
● 子圖片(3)至(6):1個「磚片段」切片,亦即,由單一部分磚所組成的切片
● 子圖片(7):具有2個磚之行的大小之2個切片(亦即,2個切片之各者係由垂直方向配置之2個磚的行所組成)
● 子圖片(8):3個磚之列的1個切片
● 子圖片(9):具有1個磚之列及2個磚之列的大小之2個切片
針對子圖片(1),兩個第一切片之寬度及高度被編碼,而最後切片之大小被推論。
針對子圖片(2),兩個第一切片之寬度及高度被推論,因為在該子圖片中針對兩個磚有兩個切片。
針對子圖片(3)至(6),各子圖片中之切片的數目係等於1,而切片之寬度及高度被推論為等於子圖片大小,因為各子圖片係磚之片段。
針對子圖片(7),第一切片之寬度及高度和最後切片之寬度及高度被推論自子圖片大小。
針對子圖片(8),切片之寬度及高度被推論為等於子圖片大小,因為在該子圖片有單一切片。
針對子圖片(9),切片之高度被推論為等於1(因為磚中之子圖片高度等於1)且第一切片之寬度被編碼,而最後切片之寬度係等於子圖片之寬度減第一切片之寬度。
實施例 2
在第二實施例(
實施例 2
)中,其「磚片段」切片(亦即,其為部分磚之切片)應涵蓋完整子圖片的約束/限制被釋放/移除。結果,子圖片可含有一或多個切片,各切片包含一或多個磚但亦可含有一或多個「磚片段」切片。
在此實施例中,子圖片分割容許/致能切片位置大小之預測/導出/判定。
依據此實施例之變體,以下PPS語法可被用以執行此。
PPS 語法
例如,PPS語法係如下:
語法元素single_slice_per_subpic_flag、tile_idx_delta_ present_flag、num_slices_in_subpic_minus1[i]及tile_idx_ delta[i][j]之語意係與先前實施例中的相同。
slice_width_minus1及slice_height_minus1語法元素(參數)指明取決於子圖片分割之磚或CTU單元任一者中的切片大小。
當切片之最後CTU係磚之最後CTU時,變數newTileIdxDeltaRequired被設為等於一。當切片不是「磚片段」切片時,newTileIdxDeltaRequired係等於1。當切片是「磚片段」切片時,newTileIdxDeltaRequired被設為等於0,假如該切片不是切片中之磚的最後一個的話。否則,其為磚的最後一個且newTileIdxDeltaRequired被設為1。
在第一進一步變體中,子圖片被約束/限制以含有單一磚之片段磚切片。在此情況下,假如子圖片含有多於一個磚,則大小係以磚單元。否則,子圖片含有單一磚或磚之部分(部分磚)且切片高度被界定以CTU單元。切片之寬度一定等於子圖片寬度,而因此可被推論而無須被編碼在PPS中。
slice_width_minus1
[i][j] plus 1指明第j矩形切片之寬度。slice_width_in_tiles_minus1[i][j]之值應在0至NumTileColumns-1之範圍中,包括(其中NumTileColumns係磚柵格中的磚行之數目)。當不存在時(亦即,當subPictureWidthInTiles[i]*subPictureHeightInTiles[i] == 1或subPictureWidthInTiles [i]等於1時),slice_width_in_ tiles_minus1[i][j]之值被推論為等於0。
slice_height_in_tiles_minus1
[i][j] plus 1指明第i子圖片中之第j矩形切片的高度。slice_height_in_tiles_minus1 [i][j]之值應在0至NumTileRows-1之範圍中,包括(其中NumTileRows係磚柵格中的磚列之數目)。當不存在時(亦即,當subPictureHeightInTiles [i]等於1且num_slices_in_ subpic_minus1[i] == 0時),slice_height_in_tiles_minus1 [i][j]之值被推論為等於0。
變數SliceWidthInTiles[i][j](其指明第i子圖片中之第j矩形切片的磚之單元的寬度)、SliceHeightInTiles[i][j](其指明第i子圖片中之第j矩形切片的的磚之單元的高度)、SliceHeightInCTUs[i][j](其指明第i子圖片中之第j矩形切片的CTB之單元的高度),針對0至pps_num_subpic_minus1之範圍中的i及0至num_slices_in_subpic_minus1[i]之範圍中的j,被導出如下:
利用此演算法,僅當sliceHeightInTiles[i][j]等於0時SliceHeightInCTUs[i][j]是有效的。
在一替代進一步變體中,子圖片被容許含有來自數個磚之磚片段切片(亦即,包括來自多於一個磚之部分磚的切片),具有其所有子圖片之切片均必須是磚片段切片的限制/侷限/條件。因此,不可能界定含有一包括第一磚之部分磚的第一磚片段切片及一包括第二磚(不同於第一磚)之部分磚的第二磚片段切片之子圖片,具有完整覆蓋第三(不同)磚(亦即,第三磚係完全/完整磚)之另一切片。在此情況下,假如子圖片含有比子圖片中之磚更多的切片,則slice_height_minus1[i][j]語法元素係在CTU單元中且slice_width_minus1[i][j]被推論為等於CTU單元中之子圖片寬度。否則,切片之大小係以磚單元。
在進一步變體中,切片PPS語法係如下:
在此進一步變體中,相同原理適用,除了其分離的語法元素係以磚單元界定切片寬度及高度或者以CTU單元界定切片高度,取決於切片是否以CTU單元來界定。切片寬度及高度係以slice_width_in_tiles_minus1[i][j]及slice_ height_in_tiles_minus1[i][j]來界定,當切片被發信通知在磚單元中時;而slice_width_in_ctu_minus1[i][j]被使用在當寬度係以CTU單元時。變數sliceInCtuFlag[i]等於1指示第i子圖片僅含有磚片段切片(亦即,在子圖片中沒有完整/完全磚切片)。等於0,其指示第i子圖片含有其包含一或多個磚之切片。
針對0至pps_num_subpic_minus1之範圍中的i,變數sliceInCtuFlag[i]被導出如下:
sliceInCtuFlag[i]變數之判定係引入切片與子圖片分割資訊之間的剖析相依性。結果,在變體中,sliceInCtuFlag[i]被發信通知且不被推論,在當切片、磚及子圖片分割被發信通知在不同的參數集NAL單元中時。
在進一步變體中,子圖片被容許含有來自數個磚之磚片段切片而無任何特定約束/限制。因此,有可能界定含有一包括第一磚之部分磚的第一磚片段切片及一包括第二磚(不同於第一磚)之部分磚的第二磚片段切片之子圖片,具有完整覆蓋第三(不同)磚(亦即,第三磚係完全/完整磚)之另一切片。在此情況下,當子圖片中之磚的數目大於一時,有一旗標,其指示切片大小是被指明以CTU或者是磚單元。例如PPS之以下語法發信通知slice_in_ctu_flag[i]語法元素,其指示第i子圖片之切片大小是被表示以CTU或是磚單元。slice_in_ctu_flag[i]等於0指示slice_width_in_ tiles_minus1[i][j]和slice_height_in_tiles_minus1[i][j]語法元素之存在以及slice_height_in_ctu_minus1[i][j]之缺乏,亦即,切片大小被表示以磚單元。slice_in_ctu_flag[i]等於1指示slice_height_in_ctu_minus1[i][j]之存在以及slice_width_in_tiles_minus1[i][j]和slice_height_in_tiles_ minus1[i][j]語法元素之缺乏,亦即,切片大小被表示以CTU單元。
圖 8
繪示子圖片及使用上述實施例/變體/進一步變體之發信通知的切片分割之範例。在此範例中,圖片
800
被劃分成6個子圖片(標示(1)至(6))及4x5磚柵格(顯示以粗實線之磚邊界)。切片分割(包括在各切片中之一區域被顯示以其剛好在切片邊界內部的細實線)係針對各子圖片如下:
● 子圖片(1):具有1個磚、2個磚及3個磚之列的大小之3個切片(亦即,3個切片係由水平方向配置之磚的列所組成)
● 子圖片(2):相等大小之2個切片,該大小為1個磚(亦即,2個切片之各者係由單一磚所組成)。
● 子圖片(3):4個「磚片段」切片,亦即,各由單一部分磚所組成的4個切片
● 子圖片(4):具有2個磚之行的大小之2個切片(亦即,2個切片之各者係由垂直方向配置之2個磚的行所組成)
● 子圖片(5):3個磚之列的1個切片
● 子圖片(6):具有1個磚之列及2個磚之列的大小之2個切片
針對子圖片(3),該子圖片中之切片的數目等於4且子圖片僅含有兩個磚。切片之寬度被推論為等於子圖片寬度,且切片之高度被指明以CTU單元。
針對子圖片(1)、(2)、(4)、及(5),切片之數目低於子圖片中的磚,而因此寬度及高度被指明以磚單元(若需要),亦即,若其無法被推論/導出/判定自其他資訊。
針對子圖片(1),兩個第一切片之寬度及高度被編碼,而最後切片之大小被推論。
針對子圖片(2),兩個第一切片之寬度及高度被推論,因為在該子圖片中針對2個磚有2個切片。
針對子圖片(4),第一切片之寬度及高度和最後切片之大小被推論自子圖片大小。
針對子圖片(5),寬度及高度被推論為等於子圖片大小,因為在該子圖片有單一切片。
針對子圖片(5),切片之高度被推論為等於1(因為磚中之子圖片高度等於1)且第一切片之寬度被編碼,而最後切片之寬度被推論為等於子圖片之寬度減第一切片之大小。
實施例 3
在此第三實施例
實施例 3
中,在位元流中,指明磚片段切片是被致能或是除能。原理是將一語法元素包括在參數集NAL單元(或非VCL NAL單元)之一中,該語法元素指示是否容許使用「磚片段」切片。
依據一變體,SPS包括一旗標,其指示是否容許「磚片段」切片,而因此當此旗標指示不容許「磚片段」切片時可跳過「磚片段」發信通知。例如,當該旗標等於0,其指示不容許「磚片段」切片。當該旗標等於1,容許「磚片段」切片。NAL單元可包括用以指示「磚片段」切片之位置的語法元素。例如,以下SPS語法元素及其語意可被用以如此做。
SPS語法:用於致能/除能磚片段切片
SPS語意
sps_tile_fraction_slices_enabled_flag指明「磚片段」切片是否被致能在經編碼視頻序列中。sps_tile_fraction_ slices_enabled_flag等於0指示其切片應含有整數個磚。sps_tile_fraction_slices_enabled_flag等於1指示其切片可含有整數個磚或來自一個磚之整數個CTU列。
在進一步變體中,sps_tile_fraction_slices_enabled_ flag被指明在PPS階以提供更多粒度來調適性應用/界定「磚片段」切片之存在。在又另一進一步變體中,旗標可被置於圖片標頭NAL單元中以容許/致能基於圖片之「磚片段」切片的存在之調適。旗標可存在多個NAL單元中,具有不同值以容許撤銷在更高階的參數集中所界定的組態。例如,在圖片標頭中之旗標的值撤銷在PPS中之值,其撤銷在SPS中之值。
在替代變體中,sps_tile_fraction_slices_enabled_flag之值可被約束或推論自其他語法元素。例如,sps_tile_ fraction_slices_enabled_flag被推論為等於0,當子圖片不被使用在視頻序列中時(亦即,subpics_present_flag等於0)。
實施例 1
及
實施例 2
之變體可考量sps_tile_fraction_ slices_enabled_flag之值以用類似方式推論磚片段切片發信通知之存在與否。例如,以上所提出之PPS可被修改如下:
當sps_tile_fraction_slices_enabled_flag等於0時,切片高度之發信通知被推論以磚單元。
實施例 4
在VVC7中,磚片段切片僅被致能於矩形切片模式。下述
實施例 4
具有一優點:其亦致能在光柵掃描切片模式下之磚片段切片的使用。此提供能夠以經編碼切片之位元來更精確地調整長度的可能性,因為切片邊界不被約束於對準至磚邊界(如在VVC7中)。
原理包含界定(或提供其相關資訊)在兩個處所之切片分割。參數集以磚單元界定該等切片。磚片段切片被發信通知在切片標頭中。在一變體中,sps_tile_fraction_ slices_enabled_flag被預判定為等於1,且在切片標頭中之「磚片段」發信通知總是存在。
為了達成此目的,切片之語意被修改自VVC7及前述實施例/變體/進一步變體之那些語意:切片係一組一或多個切片分段,其集體地表示圖片之磚或整數個完整磚。切片分段表示整數個完整磚或整數個連續完整CTU列(亦即,「磚片段」),於僅含在單一NAL單元中的圖片之磚內,亦即,一或多個磚或「磚片段」。「磚片段」切片係一個磚之一組相連CTU列。容許切片分段含有磚之所有CTU列。在此一情況下,該切片分段含有單一切片分段。
依據一變體,任何先前實施例之PPS語法被修改以包括磚片段特定的發信通知。此一PPS語法修改之範例係顯示於下。
PPS 語法
任何先前實施例之PPS語法被修改以移除磚片段特定的發信通知。例如,PPS語法係如下:
具有語法元素之相同語意。
切片分段語法
切片分段NAL單元係由切片分段標頭及切片分段資料所組成,其係類似於切片之VVC7 NAL單元結構。來自先前實施例之切片標頭變為具有如在切片標頭中之相同語法元素的切片分段標頭;但當作切片分段標頭,其包括用於找出/識別切片中之切片分段的額外語法元素(例如,描述/界定在PPS中)。
切片分段標頭包括發信通知,用以指明切片分段在切片中的哪個CTU列開始。slice_ctu_row_offset指明切片中之第一CTU的CTU線偏移。
當rect_slice_flag等於0時(亦即,切片模式係在光柵掃描切片模式),CTU線偏移係相對於具有等於slice_address之指標的磚之第一線。當rect_slice_flag等於1時(亦即,在矩形切片模式),CTU線偏移係相對於具有等於slice_address之指標的切片之第一CTU,在以slice_subpic_id識別的子圖片中。CTU線偏移係使用可變或固定長度編碼來編碼。針對固定長度,切片中之CTU列的數目係判定自PPS,而以語法元素之位元的長度係等於CTU列之數目的log
2
減1。
有兩個方式來指示切片分段之結束。
在第一方式中,切片分段指示在切片分段中之CTU列的數目(減1)。CTU列之數目係使用可變長度編碼或固定長度編碼來編碼。針對固定長度編碼,切片中之CTU列的數目被判定自PPS。以語法元素之位元的長度係等於在切片中之CTU列的數目之差異的log
2
減CTU列偏移減1。
切片標頭之語法為(例如)如下:
num_ctu_rows_in_slice_minus1
plus 1指明在切片分段NAL單元中之CTU列的數目。num_ctu_rows_in_slice_ minus1之範圍係0至該切片中所含之磚中的CTU列之數目減2。
當sps_tile_fraction_slices_enabled_flag等於1且num_ tiles_in_slice_segment_minus1等於0時,指明目前切片中之CTU的數目之變數NumCtuInCurrSlice係等於CTU列之數目乘以存在切片中之磚的寬度(以CTU單元)。
在第二方式中,切片分段資料包括發信通知以在各CTU列之結束處指明切片分段是否結束。此第二方式之優點在於其編碼器無須事先判定一既定切片分段中之CTU的數目。如此減少編碼器之潛時,其可即時地輸出切片標頭;而針對第一方式,其必須緩衝切片標頭以指示切片分段中之CTU列的數目(在切片分段之編碼的結束處)。
實施例 5 實施例 5
係對於子圖片佈局之發信通知的修改,其可導致在某些情況下之增進。確實,增加視頻序列中之子圖片或切片或磚的數目限制/侷限時間及內預測機制之有效性/效率。結果,視頻序列之壓縮效率可被減少。為了此原因,有高可能性其子圖片佈局可隨應用需求(例如,ROI之大小)而變動來預判定/判定/預測/估計。編碼程序接著產生磚分割,其將最佳地匹配子圖片佈局。在最佳情況情境下,各子圖片含有剛好一個磚。為了限制對於壓縮效率的影響,編碼器嘗試藉由使用每子圖片單一切片來將每子圖片之切片的數目最小化。結果,編碼器之最佳選擇係界定每子圖片一個切片及一個磚。
在此等情況下,子圖片佈局及切片佈局係相同的。此實施例添加一旗標在SPS中以指示此一特別情況/情境/狀況。當此旗標等於1時,子圖片佈局係缺乏的且可被推論/導出/判定為相同於切片分割。否則,當該旗標等於0時,子圖片佈局係依據以上相關於先前實施例/變體/進一步變體所述者而被明確地發信通知在位元流中。
依據一變體,SPS包括針對此目的之sps_single_slice_ per_subpicture旗標:
sps_single_slice_per_subpicture
等於1指示其各子圖片包括單一切片以及subpic_ctu_top_left_x[i]、subpic_ ctu_top_left_y[i]、subpic_width_minus1[i]和subpic_ height_minus1[i]之缺乏,針對0至sps_num_subpics_ minus1(包括)之範圍中的i。
sps_single_slice_per_ subpicture
等於0指示其子圖片可或可不包括單一切片以及subpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]和subpic_height_minus1[i]之存在,針對0至sps_num_subpics_minus1(包括)之範圍中的i。
依據又另一變體,PPS語法包括以下語法元素,以指示其子圖片佈局可被推論自切片佈局:
假如pps_single_slice_per_subpic_flag或sps_single_ slice_per_subpic_flag之任一者等於1,則每子圖片有單一切片。當sps_single_slice_per_subpic_flag等於1時,切片佈局係缺乏自SPS且pps_single_slice_per_subpic_flag必須等於0。PPS接著指明切片分割。第i子圖片具有相應於第i切片之大小及位置(亦即,第i子圖片及第i切片具有相同的大小及位置)。
當sps_single_slice_per_subpic_flag等於0時,切片佈局係存在SPS中且pps_single_slice_per_subpic_flag可等於1或0。當sps_single_slice_per_subpic_flag等於1時,SPS接著指明子圖片分割。第i切片具有相應於第i子圖片之大小及位置。(亦即,第i切片及第i子圖片具有相同大小及位置)
為了維持經編碼視頻序列之相同子圖片佈局,編碼器可約束所有PPS,其以sps_single_slice_per_subpic_flag等於1參考SPS,來描述/界定/加諸相同的切片分割。
在一變體中,另一旗標(pps_single_slice_per_tile)被提供以指示在PPS中每磚有單一切片。當此旗標等於1時,切片分割被推論為等於(亦即,相同於)磚分割。在此一情況下,當sps_ single_slice_per_subpic_flag等於1時,子圖片及切片分割被推論為相同於磚分割。
本發明之實施例的實施方式
前述實施例/變體之一或多者可被實施以編碼器或解碼器之形式,其履行一或多個前述實施例/變體之方法步驟。以下實施例闡明此等實施方式。
圖 9a
係繪示依據本發明之實施例/變體的一種編碼方法之步驟的流程圖,而
圖 9b
係繪示依據本發明之實施例/變體的一種解碼方法之步驟的流程圖。
依據
圖 9a
之編碼方法,子圖片分割資訊被獲得在9911而切片分割資訊被獲得在9912。在9915,此所獲得的資訊被用以判定資訊,用於判定以下之一或多者:子圖片中之切片的數目;是否僅單一切片被包括在子圖片中;及/或切片是否能夠包含磚片段。用於獲得此經判定資訊的資料被接著編碼在9919,例如藉由提供位元流中之資料。
依據
圖 9b
之編碼方法,在9961,資料被解碼(例如,自位元流)以獲得資訊來判定:子圖片中之切片的數目;是否僅單一切片被包括在子圖片中;及/或切片是否能夠包含磚片段。在9964,此所獲得的資訊被用以判定以下之一或多者:子圖片中之切片的數目;是否僅單一切片被包括在子圖片中;及/或切片是否能夠包含磚片段。接著在9967,基於此判定及其結果,子圖片分割資訊及/或切片分割資訊被判定。
應理解:任何前述實施例/變體可由
圖 10
中之編碼器(例如,當履行劃分成區塊9402、熵編碼9409及/或位元流產生9410)或
圖 11
中之解碼器(例如,當履行位元流處理9561、熵解碼9562及/或視頻信號產生9569)所使用。
圖 10
繪示一種依據本發明之一實施例的編碼器之方塊圖。編碼器係由已連接模組所表示,各模組係調適成實施(例如以將由裝置之中央處理單元(CPU)所執行的編程指令之形式)一種方法之至少一相應步驟,該方法係依據本發明之一或更多實施例/變體以實施編碼影像序列之影像的至少一實施例。
數位影像
i
0至
i
n 9401之原始序列係由編碼器9400接收為輸入。各數位影像係由一組樣本來表示,有時亦稱為像素(於下文中,其被稱為像素)。位元流9410係由編碼器9400所輸出,在編碼程序之實施後。位元流9410包含用於複數編碼單元或影像部分(諸如切片)之資料,各切片包含切片標頭及切片本體,該切片標頭係用以傳輸其用來編碼該切片之編碼參數的編碼值,而該切片本體包含已編碼視頻資料。輸入數位影像
i
0至
i
n 9401係由模組9402劃分成像素之區塊。該等區塊相應於影像部分(在下文中,影像部分代表影像之任何類型的部分,諸如磚、切片、切片分段或子圖片)且可屬於可變大小(例如,4x4、8x8、16x16、32x32、64x64、128x128像素及數個矩形區塊大小亦可被考量)。編碼模式係針對各輸入區塊來選擇。
編碼模式之兩個家族被提供:根據空間預測編碼之編碼模式(內預測)、及根據時間預測之編碼模式(例如,間編碼、MERGE、SKIP)。可能的編碼模式被測試。模組9403係實施內預測程序,其中待編碼的既定區塊係藉由預測子來預測,該預測子係從待編碼的該區塊附近之像素所計算。選定的內預測子以及介於既定區塊與其預測子之間的差異之指示被編碼以提供殘餘,假如內編碼被選擇的話。時間預測係由移動估計模組9404及移動補償模組9405來實施。首先來自一組參考影像9416中的參考影像被選擇,且該參考影像之一部分,亦稱為參考區域或影像部分,其為針對待編碼的既定區塊之最接近區域(就像素值類似度而言最接近)係由移動估計模組9404所選擇。移動補償模組9405接著使用該選定區域以預測待編碼的區塊。介於選定參考區域與既定區塊(亦稱為殘餘區塊/資料)之間的差異係由移動補償模組9405所計算。選定參考區域係使用移動資訊(例如,移動向量)來指示。因此,於兩情況(空間及時間預測)下,殘餘係藉由從原始區塊減去該預測子來計算(當其不再SKIP模式下時)。於藉由模組9403所實施的INTRA預測中,預測方向被編碼。在由模組9404、9405、9416、9418、9417所實施的間預測中,用以識別此移動向量之至少一移動向量或資訊(資料)係針對時間預測來編碼。相關於移動向量及殘餘區塊之資訊被編碼,假如間預測被選擇的話。為了進一步減少位元率,假設其移動為同質的,則移動向量係藉由相關於移動向量預測子之差異而被編碼。來自一組移動資訊預測子候選者之移動向量預測子係由移動向量預測及編碼模組9417從移動向量場9418獲得。編碼器9400進一步包含選擇模組9406,用於藉由應用編碼成本準則(諸如率-失真準則)來選擇編碼模式。為了進一步減少冗餘,由變換模組9407對殘餘區塊應用變換(諸如DCT),而所獲得的變換資料接著係藉由量化模組9408而被量化且藉由熵編碼模組9409而被熵編碼。最後,被編碼之目前區塊的經編碼殘餘區塊被插入位元流9410中,當其不在SKIP模式中且選定編碼模式需要殘餘區塊之編碼時。
編碼器9400亦履行已編碼影像之解碼以產生用於後續影像之移動估計的參考影像(例如,在參考影像/圖片9416中的那些)。此致能編碼器及解碼器接收位元流以具有相同的參考框(重建影像或重建影像部分被使用)。反量化(「去量化」)模組9411履行已量化資料之反量化(「去量化」),其接著接續以藉由反變換模組9412所履行之反變換。內預測模組9413使用預測資訊以判定應使用哪個預測子於給定區塊,而移動補償模組9414實際地將其由模組9412所獲得的殘餘加至從該組參考影像9416所獲得的參考區域。接著由模組9415施加後過濾,以過濾像素之經重建框(影像或影像部分)來獲得該組參考影像9416之另一參考影像。
圖 11
繪示其可被用以從編碼器接收資料的解碼器9560之方塊圖,依據本發明之實施例。解碼器係由已連接模組所表示,各模組係調適成實施(例如以將由裝置之CPU所執行的編程指令之形式)一種由解碼器9560所實施之方法的相應步驟。
解碼器9560接收一包含已編碼單元(例如,相應於影像部分、區塊或編碼單元之資料)之位元流9561,各編碼單元係由標頭及本體所組成,該標頭含有關於編碼參數之資訊而該本體含有已編碼視頻資料。如相關於圖10所解釋,已編碼視頻資料被熵編碼,而移動資訊(例如,移動向量預測子的指標)被編碼,針對既定影像部分(例如,區塊或CU),於預定數目的位元上。所接收的已編碼視頻資料係由模組9562所熵解碼。殘餘資料接著由模組9563所去量化,且接著由模組9564應用反變換以獲得像素值。
指示編碼模式之模式資料亦被熵解碼;且根據該模式,INTRA類型解碼或INTER類型解碼被履行在影像資料之已編碼區塊(單元/組/群組)上。在INTRA模式之情況下,INTRA預測子係由內預測模組9565基於位元流中所指明的內預測模式來判定(例如,內預測模式係使用位元流中所提供的資料而可判定)。假如該模式為INTER模式,則移動預測資訊被提取/獲得自該位元流以找出(識別)由編碼器所使用的參考區域。例如,移動預測資訊包含參考框指標及移動向量殘餘。移動向量預測子係由移動向量解碼模組9570所加至移動向量殘餘以獲得移動向量。移動向量解碼模組9570將移動向量解碼應用於其由移動預測所編碼的各影像部分(例如,目前區塊或CU)。一旦移動向量預測子之指標(針對目前區塊)已被獲得,則與影像部分(例如,目前區塊或CU)相關聯的移動向量之實際值可被解碼並用以由模組9566應用移動補償。由已解碼移動向量所指示之參考影像部分被提取/獲得自一組參考影像9568,以使得模組9566可履行移動補償。移動向量場資料9571被更新以已解碼移動向量來用於後續已解碼移動向量之預測。最後,獲得已解碼區塊。當適合時,由後過濾模組9567應用後過濾。已解碼視頻信號9569最後由解碼器9560所獲得並提供。
圖 12
繪示一資料通訊系統,其中本發明之一或更多實施例可被實施。資料通訊系統包含傳輸裝置(於此情況下為伺服器9201),其可操作以經由資料通訊網路9200而傳輸資料流9204之資料封包至接收裝置(於此情況下為客戶終端9202)。資料通訊網路9200可為廣域網路(WAN)或區域網路(LAN)。此一網路可為(例如)無線網路(Wifi/ 802.11a或b或g)、乙太網路、網際網路或由數個不同網路所組成的混合網路。於本發明之特定實施例中,資料通訊系統可為數位電視廣播系統,其中伺服器9201傳送相同的資料內容至多數客戶。由伺服器9201所提供的資料流9204可由其表示視頻及音頻資料之多媒體資料所組成。音頻及視頻資料流可(於本發明之一些實施例中)由伺服器9201個別地使用麥克風及相機來擷取。於一些實施例中,資料流可被儲存在伺服器9201上或者由伺服器9201從另一資料提供器所接收、或者被產生在伺服器9201上。伺服器9201被提供有一用以編碼視頻及音頻流之編碼器,特別是用以提供用於傳輸之壓縮位元流,其為被提出為針對編碼器之輸入的資料之更簡潔的表示。為了獲得已傳輸資料之品質相對於已傳輸資料之量的較佳比例,視頻資料之壓縮可(例如)依據高效視頻編碼(HEVC)格式或H.264/先進視頻編碼(AVC)格式或多樣視頻編碼(VVC)格式。客戶9202接收已傳輸位元流並解碼已重建位元流以將視頻影像再生於顯示裝置上並由揚聲器再生音頻資料。雖然在此實施例中考量串流情境,但應理解:在本發明之一些實施例中,介於編碼器與解碼器之間的資料通訊可使用(例如)媒體儲存裝置(諸如光碟)來履行。在本發明之一或多個實施例中,視頻影像可被傳輸以表示補償偏移之資料,以施加至影像之經重建像素來提供經過濾像素在最後影像中。
圖 13
概略地繪示處理裝置9300,其係組態成實施本發明之至少一實施例/變體。處理裝置9300可為一種裝置,諸如微電腦、工作站、使用者終端或輕型可攜式裝置。裝置/設備9300包含一連接至以下的通訊匯流排9313:-中央處理單元9311,諸如微處理器(標示為CPU);-唯讀記憶體9307(標示為ROM),用於儲存電腦程式/指令以供操作裝置9300及/或實施本發明;-隨機存取記憶體9312(標示為RAM),用於儲存本發明之實施例/變體的方法之可執行碼及調適成記錄用於實施編碼數位影像之序列的方法及/或解碼位元流的方法(依據本發明之實施例/變體)所需之變數和參數的暫存器;及-通訊介面9302,其係連接至通訊網路9303,待處理的數位資料係透過該通訊網路而被傳輸或接收。
選擇性地,設備9300亦可包括以下組件:-資料儲存機構9304(諸如硬碟),用於儲存電腦程式以供實施本發明之一或多個實施例/變體的方法以及在本發明之一或多個實施例/變體的實施期間所使用或產生之資料;-磁碟9306(例如,儲存媒體)之磁碟驅動機9305,磁碟驅動機9305經調適以從磁碟9306讀取資料或將資料寫入至該磁碟9306上;或-螢幕9309,用於顯示資料及/或作用為與使用者之圖形介面,藉由鍵盤9310、觸控式螢幕或任何其他指向/輸入機構。設備9300可被連接至各種周邊,諸如(例如)數位相機9320或麥克風9308,各被連接至輸入/輸出卡(未顯示)以供應多媒體資料至設備9300。通訊匯流排9313提供介於設備9300中所包括的或連接至該設備9300的各個元件之間的通訊及可交互操作性。匯流排之表示是非限制性的;且特別地,中央處理單元9311可操作以將指令傳遞至設備9300之任何元件,直接地或者藉由設備9300之另一元件。碟片9306可被取代以任何資訊媒體,諸如(例如)光碟(CD-ROM)(可寫入或不可寫入)、ZIP碟或記憶卡;及(以一般性術語)藉由資訊儲存機構,其可由微電腦或由處理器所讀取、被集成(或不集成)入該設備、可能為可移除的且調適成儲存一或更多程式,該等程式的執行係致能編碼數位影像之序列的方法及/或解碼位元流的方法,依據待實施之本發明。可執行碼可被儲存於唯讀記憶體9307中、於硬碟9304上或者於可移除數位媒體(諸如,例如碟片9306,如先前所述)上。依據變體,程式之可執行碼可藉由通訊網路9303來接收,經由介面9302,以被儲存於設備9300(在被執行前)的儲存機構之一中(例如在硬碟9304中)。中央處理單元9311係調適成依據本發明以控制並指導程式或多數程式之指令或軟體碼部分的執行,該些指令係儲存於前述儲存機構之一中。在開機時,其被儲存於非揮發性記憶體(例如在硬碟9304、磁碟9306上或者在唯讀記憶體9307中)中之程式或多數程式被轉移入隨機存取記憶體9312,其接著含有程式或多數程式之可執行碼、以及用以儲存供實施本發明所需之變數和參數的暫存器。 於此實施例中,該設備為可編程設備,其係使用軟體以實施本發明。然而,替代地,本發明可被實施以硬體(例如,以特定應用積體電路或ASIC之形式)。
本發明之實施例的實施方式
亦應理解:依據本發明之其他實施例,一種依據前述實施例/變體之解碼器被提供於使用者終端,諸如電腦、行動電話(蜂巢式電話)、平板或任何其他類型的裝置(例如,顯示設備),其能夠提供/顯示內容給使用者。依據又另一實施例,一種依據前述實施例/變體之編碼器被提供於一種影像擷取設備,其亦包含相機、視頻相機或網路相機(例如,閉路電視或視頻監視相機),其係擷取並提供內容給編碼器來編碼。兩個此類實施例係參考
圖 14 及 15
而被提供於下。
圖 14
為一圖形,其繪示網路相機系統9450,包含網路相機9452及客戶設備9454。網路相機9452包含成像單元9456、編碼單元9458、通訊單元9460、及控制單元9462。網路相機9452與客戶設備9454被相互連接以能夠經由網路9200而彼此通訊。成像單元9456包含透鏡及影像感測器(例如,電荷耦合裝置(CCD)或互補金氧半導體(CMOS)),並擷取物件之影像且根據該影像以產生影像資料。此影像可為靜止影像或視頻影像。成像單元亦可包含調焦機構及/或平移機構,其係調適成個別地調焦或平移(光學地或數位地)。編碼單元9458係藉由使用前述實施例/變體之一或多者中所解釋的該編碼方法以編碼影像資料。編碼單元9458使用前述實施例/變體所解釋的編碼方法之至少一者。針對另一例子,編碼單元9458可使用前述實施例/變體中所解釋的編碼方法之組合。網路相機9452之通訊單元9460將其由編碼單元9458所編碼的已編碼影像資料傳輸至客戶設備9454。再者,通訊單元9460亦可從客戶設備9454接收命令。該等命令包含用以藉由編碼單元9458來設定用於編碼的參數之命令。控制單元9462依據由通訊單元9460或使用者輸入所接收的命令以控制網路相機9452中之其他單元。客戶設備9454包含通訊單元9464、解碼單元9466、及控制單元9468。客戶設備9454之通訊單元9464可傳輸命令至網路相機9452。再者,客戶設備9454之通訊單元9464從網路相機9452接收已編碼影像資料。解碼單元9466係藉由使用前述實施例/變體之一或多者中所解釋的該解碼方法以解碼經編碼影像資料。針對另一例子,解碼單元9466可使用前述實施例/變體中所解釋的解碼方法之組合。客戶設備9454之控制單元9468依據由通訊單元9464所接收的使用者操作或命令以控制客戶設備9454中之其他單元。客戶設備9454之控制單元9468亦可控制顯示設備9470以顯示由解碼單元9466所解碼的影像。客戶設備9454之控制單元9468亦可控制顯示設備9470以顯示GUI(圖形使用者介面)來指定用於網路相機9452之參數的值,包括用於編碼單元9458之編碼的參數。客戶設備9454之控制單元9468亦可依據由顯示設備9470所顯示之輸入至GUI的使用者操作以控制客戶設備9454中之其他單元。客戶設備9454之控制單元9468亦可控制客戶設備9454之通訊單元9464以傳輸命令至網路相機9452,其指定用於網路相機9452之參數的值,依據由顯示設備9470所顯示之輸入至GUI的使用者操作。
圖 15
為繪示智慧型手機9500之圖形。智慧型手機9500包含通訊單元9502、解碼/編碼單元9504、控制單元9506、及顯示單元9508。通訊單元9502經由網路9200以接收已編碼影像資料。解碼/編碼單元9504解碼其由通訊單元9502所接收的已編碼影像資料。解碼/編碼單元9504係藉由使用前述實施例/變體之一或多者中所解釋的該解碼方法以解碼經編碼影像資料。編碼/編碼單元9504亦可使用前述實施例/變體所解釋的編碼或解碼方法之至少一者。針對另一例子,解碼/編碼單元9504可使用前述實施例/變體中所解釋的解碼或編碼方法之組合。控制單元9506依據由通訊單元9502所接收的使用者操作或命令以控制智慧型手機9500中之其他單元。例如,控制單元9506控制顯示單元9508以顯示由解碼/編碼單元9504所解碼的影像。智慧型手機可進一步包含影像記錄裝置9510(例如數位相機及相關電路)以記錄影像或視頻。此等已記錄影像或視頻可由解碼/編碼單元9504所編碼,在控制單元9506之指示下。智慧型手機可進一步包含感測器9512,其適以感測行動裝置之定向。此等感測器可包括加速計、迴轉儀、羅盤、全球定位(GPS)單元或類似位置感測器。此感測器9512可判定智慧型手機是否改變定向,且此資訊可被使用在當編碼視頻串流時。
雖然已參考了實施例及其變體來描述本發明,但應理解其本發明不限於所揭露的範例實施例/變體。那些熟悉此技藝人士應理解:可做出各種改變及修改而不背離本發明之範圍,如後附申請專利範圍中所界定者。本說明書(包括任何伴隨的申請專利範圍、摘要及圖式)中所揭露的所有特徵、及/或所揭露的任何方法或程序之步驟,可以任何組合方式結合,除了其中此等特徵及/或步驟之至少部分是互斥的組合以外。本說明書(包括任何伴隨的申請專利範圍、摘要及圖式)中所揭露的各特徵可被取代以替代特徵,其係適用相同的、同等的或類似的目的,除非另外明確地聲明。因此,除非另外明確地聲明,所揭露的各特徵僅為同等或類似特徵之一般序列的一個範例。
亦應理解:上述比較、判定、推論、評估、選擇、執行、履行、或考量之任何結果(例如於編碼、處理或分割程序期間所做的選擇)可指示於或者可判定/可推理自位元流中之資料(例如,指示該結果之旗標或資訊),以使得經指示的或經判定/經推理的結果可用於該處理,以取代實際地履行比較、判定、評估、選擇、執行、履行、或考量(例如,於解碼或分割程序期間)。 應理解:當使用「表」或「查找表」時,諸如陣列之其他資料類型亦可被用以履行相同功能,只要該資料類型能夠履行相同功能(例如,表示不同元件之間的關係/映射)。
於申請專利範圍中,文字「包含」不排除其他元件或步驟,而不定冠詞「一(a)」或「一(an)」不排除複數。不同特徵在彼此不同的附屬項申請專利範圍中陳述之單純事實並不指示其這些特徵之組合無法被有利地使用。出現在申請專利範圍中之參考數字僅為闡明且對於申請專利範圍之範圍應無限制性效果。
在前述實施例/變體中,所述之功能可被實施以硬體、軟體、韌體、或其任何組合。假如以軟體來實施,則該等功能可被儲存在或傳輸於(當作一或更多指令或碼)電腦可讀取媒體上且由硬體為基的處理單元所執行。
電腦可讀取媒體可包括電腦可讀取儲存媒體,其係相應於有形媒體(諸如資料儲存媒體)、或通訊媒體(包括其協助從一地點至另一地點之電腦程式的轉移之任何媒體,例如,依據通訊協定)。以此方式,電腦可讀取媒體通常可相應於(1)有形電腦可讀取儲存媒體(其為非暫態)或(2)通訊媒體(諸如信號或載波)。資料儲存媒體可為任何可用的媒體,其可由一或更多電腦一或更多處理器所存取以提取指令、碼及/或資料結構,用以實施本說明書中所描述的技術。電腦程式產品可包括電腦可讀取媒體。
舉例而言(且非限制),此等電腦可讀取儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存、或其他磁性儲存裝置、快閃記憶體、或任何其他媒體,其可被用以儲存所欲的程式碼(以指令或資料結構之形式)且其可由電腦所存取。同時,任何連接被適當的稱為電腦可讀取媒體。例如,假如指令係使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)、或無線科技(諸如紅外線、無線電、微波)而被傳輸自網站、伺服器、或其他遠端來源,則該等同軸纜線、光纖纜線、雙絞線、DSL、或無線科技(諸如紅外線、無線電、微波)被包括在媒體之定義中。然而,應理解:電腦可讀取儲存媒體及資料儲存媒體不包括連接、載波、信號、或其他暫態媒體,而替代地係有關於非暫態、有形儲存媒體。碟及碟片(如文中所使用)包括光碟(CD)、雷射碟、光學碟片、數位多功能光碟(DVD)、軟碟及藍光碟片,其中碟片通常係磁性地再生資料,而光碟係利用雷射以光學地再生資料。以上之組合應被包括在電腦可讀取媒體之範圍內。
指令可由一或更多處理器所執行,諸如一或更多數位信號處理器(DSP)、通用微處理器、特定應用積體電路(ASIC)、場可編程閘/邏輯陣列(FPGA)、或其他等效的集成或離散邏輯電路。因此,如文中所使用之術語「處理器」可指稱前述結構之任一者或者適於文中所述之技術的實施之任何其他結構。此外,在一些態樣中,文中所述之功能可被提供在專屬硬體及/或軟體模組內,其被組態以編碼並解碼、或者併入結合編碼解碼器中。同時,該等技術可被完全地實施在一或更多電路或邏輯元件中。