TWI842000B - 編碼裝置 - Google Patents
編碼裝置 Download PDFInfo
- Publication number
- TWI842000B TWI842000B TW111124531A TW111124531A TWI842000B TW I842000 B TWI842000 B TW I842000B TW 111124531 A TW111124531 A TW 111124531A TW 111124531 A TW111124531 A TW 111124531A TW I842000 B TWI842000 B TW I842000B
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- unit
- parameters
- block
- processing
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 264
- 230000015654 memory Effects 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 abstract description 203
- 230000008569 process Effects 0.000 abstract description 165
- 230000033001 locomotion Effects 0.000 description 148
- 238000013139 quantization Methods 0.000 description 90
- 238000006243 chemical reaction Methods 0.000 description 77
- 239000013598 vector Substances 0.000 description 74
- 238000010586 diagram Methods 0.000 description 61
- 230000003044 adaptive effect Effects 0.000 description 41
- 238000003702 image correction Methods 0.000 description 32
- 238000009795 derivation Methods 0.000 description 25
- 238000012937 correction Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 210000003128 head Anatomy 0.000 description 13
- 230000005236 sound signal Effects 0.000 description 13
- 230000011664 signaling Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004075 alteration Effects 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000036961 partial effect Effects 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 6
- 101100537098 Mus musculus Alyref gene Proteins 0.000 description 5
- 101150095908 apex1 gene Proteins 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 229910003460 diamond Inorganic materials 0.000 description 3
- 239000010432 diamond Substances 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical group COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Abstract
一種可以適當地處理被編碼或解碼的圖像之編碼裝置,其具備處理電路、以及連接於該處理電路的區塊記憶體及框記憶體,處理電路是利用區塊記憶體及框記憶體,取得與第1處理及第2處理之中的至少1個處理有關之參數,該第1處理是補正由廣角透鏡所拍攝到的圖像之失真,該第2處理是接合複數個圖像,藉由將根據上述圖像或複數個圖像的處理對象之圖像進行編碼來生成編碼圖像,並將上述參數寫入包含該編碼圖像的位元流中。
Description
發明領域
本揭示是有關於一種將圖像編碼之裝置及方法、與將已被編碼之圖像解碼之裝置及方法。
發明背景
目前,已制定有HEVC來作為圖像編碼的規格(參照例如非專利文獻1)。但是,在下一代視訊(例如360度動畫)的傳送及保存中,會需要超過目前的編碼性能之編碼效率。又,與藉由非直線透鏡(Non-rectilinear lens)等廣角透鏡拍攝的動態圖像之壓縮相關聯的研究及實驗,到目前為止已進行了好幾個。在這些研究等中,是藉由操作圖像樣本並排除歪曲像差,以將處理對象的圖像在編碼前以直線形式形成。因此,一般而言已使用有圖像處理技術。
先前技術文獻
非專利文獻
非專利文獻1:H.265(ISO/IEC 23008-2 HEVC(High Efficiency Video Coding,高效率視訊編碼))
發明概要
發明欲解決之課題
但是,在以往的編碼裝置及解碼裝置中,會有無法適當地處理編碼或解碼的圖像之問題。
於是,本揭示是提供一種可以適當地處理編碼或解碼的圖像之編碼裝置等。
用以解決課題之手段
本揭示的一態樣之編碼裝置,具備處理電路、以及連接於前述處理電路的記憶體,前述處理電路是利用前述記憶體,取得與第1處理及第2處理之中的至少1個處理有關之參數,該第1處理是補正由廣角透鏡所拍攝到的圖像之失真,該第2處理是接合複數個圖像,藉由將根據前述圖像或前述複數個圖像的處理對象之圖像進行編碼來生成編碼圖像,並將前述參數寫入包含前述編碼圖像的位元流中。
再者,這些的總括的或具體的態樣,可利用系統、方法、積體電路、電腦程式、或電腦可讀取之CD-ROM等之記錄媒體來實現,亦可利用系統、方法、積體電路、電腦程式及記錄媒體之任意的組合來實現。
發明效果
本揭示的編碼裝置可以適當地處理編碼或解碼之圖像。
用以實施發明之形態
以下,一邊參照著圖式一邊具體地說明實施形態。
再者,以下說明的實施形態都是顯示全面性的或具體的例子之實施形態。以下實施形態所示的數值、形狀、材料、構成要素、構成要素的配置位置及連接形態、步驟、步驟的順序等只是一個例子,並非用來限定請求範圍的主旨。又,以下的實施形態的構成要素之中,針對沒有記載在表示最上位概念之獨立請求項中的構成要素,是作為任意之構成要素來說明。
(實施形態1)
[編碼裝置之概要]
首先,說明實施形態1之編碼裝置的概要。
圖1是顯示實施形態1之編碼裝置100的功能構成之方塊圖。編碼裝置100是以區塊單位將動態圖像/圖像進行編碼的動態圖像/圖像編碼裝置。
如圖1所示,編碼裝置100是以區塊單位將圖像進行編碼的裝置,並具備分割部102、減法部104、轉換部106、量化部108、熵編碼部110、反量化部112、逆轉換部114、加法部116、區塊記憶體118、迴路濾波部120、框記憶體122、框內預測部124、框間預測部126、及預測控制部128。
編碼裝置100可藉由例如通用處理器及記憶體來實現。在此情況下,藉由處理器執行保存在記憶體的軟體程式時,處理器是作為分割部102、減法部104、轉換部106、量化部108、熵編碼部110、反量化部112、逆轉換部114、加法部116、迴路濾波部120、框內預測部124、框間預測部126及預測控制部128而發揮功能。又,編碼裝置100也可以作為對應於分割部102、減法部104、轉換部106、量化部108、熵編碼部110、反量化部112、逆轉換部114、加法部116、迴路濾波部120、框內預測部124、框間預測部126及預測控制部128的1個以上之專用的電子電路來實現。
以下,針對包含在編碼裝置100的各構成要素來進行說明。
[分割部]
分割部102是將輸入動態圖像中所包含的各圖片分割成複數個區塊,且將各區塊輸出至減法部104。例如,分割部102首先可將圖片分割為固定尺寸(例如128x128)的區塊。此固定尺寸的區塊被稱為編碼樹單元(CTU)。而且,分割部102根據遞迴的四元樹(quadtree)及/或二元樹(binary tree)區塊分割,而將各個固定尺寸的區塊分割成可變尺寸(例如64x64以下)的區塊。此可變尺寸的區塊可稱為編碼單元(CU)、預測單元(PU)或轉換單元(TU)。再者,在本實施形態中,並不需要區別CU、PU及TU,使圖片內的一部分或全部的區塊成為CU、PU、TU的處理單位亦可。
圖2是顯示實施形態1之區塊分割的一例之圖。在圖2中,實線是表示藉由四元樹區塊分割的區塊邊界,而虛線表示藉由二元樹區塊分割的區塊邊界。
在此,區塊10是128x128像素的正方形區塊(128x128區塊)。此128x128區塊10首先被分割成4個正方形的64x64區塊(四元樹區塊分割)。
左上的64x64區塊會進一步地被垂直地分割成2個矩形的32x64區塊,並將左邊的32x64區塊進一步垂直地分割成2個矩形的16x64區塊(二元樹區塊分割)。其結果,左上的64x64區塊被分割成2個的16x64區塊11、12、以及32x64區塊13。
右上的64x64區塊被水平地分割為2個矩形的64x32區塊14、15(二元樹區塊分割)。
左下的64x64區塊被分割為4個正方形的32x32區塊(四元樹區塊分割)。4個32x32區塊之中,將左上的區塊及右下的區塊進一步地分割。左上的32x32區塊被垂直地分割成2個矩形的16x32區塊,且將右邊的16x32區塊進一步地水平地分割為2個16x16區塊(二元樹區塊分割)。右下的32x32區塊被水平地分割為2個32x16區塊(二元樹區塊分割)。其結果,左下的64x64區塊被分割成:16x32區塊16、2個16x16區塊17、18、2個32x32區塊19、20、及2個32x16區塊21、22。
右下的64x64區塊23未被分割。
如以上,在圖2中,區塊10是根據遞迴的四元樹及二元樹區塊分割,而被分割成13個可變尺寸的區塊11~23。這種分割被稱為QTBT(四元樹加二元樹(quad-tree plus binary tree))分割。
再者,在圖2中,雖然是將1個區塊分割成4個或2個區塊(四元樹或二元樹區塊分割),但分割並不限定於此。例如,亦可將1個區塊分割成3個區塊(三元樹區塊分割)。這種包含了三元樹區塊分割的分割,被稱為MBT(多類型樹(multi type tree))分割。
[減法部]
減法部104是以由分割部102所分割的區塊單位來從原訊號(原樣本)減去預測訊號(預測樣本)。也就是說,減法部104會算出編碼對象區塊(以下,稱為當前區塊)的預測誤差(也可稱為殘差)。而且,減法部104會將算出的預測誤差輸出至轉換部106。
原訊號是編碼裝置100的輸入訊號,且是表示構成動態圖像的各圖片之圖像的訊號(例如亮度(luma)訊號及2個色差(chroma)訊號)。以下,有時也會將表示圖像的訊號稱為樣本。
[轉換部]
轉換部106是將空間區域的預測誤差轉換為頻率區域的轉換係數,並將轉換係數輸出至量化部108。具體來說,轉換部106是例如對空間區域的預測誤差進行預定之離散餘弦轉換(DCT)或離散正弦轉換(DST)。
再者,轉換部106亦可從複數個轉換類型之中適應性地選擇轉換類型,且使用與所選擇的轉換類型相對應之轉換基底函數(transform basis function),來將預測誤差轉換成轉換係數。有時將這種轉換稱為EMT(外顯性多重核心轉換(explicit multiple core transform))或AMT(適應性多重轉換(adaptive multiple transform))。
複數個轉換類型包含例如DCT-II、DCT-V、DCT-VIII、DST-I及DST-VII。圖3是顯示對應於各轉換類型的轉換基底函數之表格。在圖3中N是表示輸入像素的數量。從這些複數個轉換類型之中的轉換類型之選擇可取決於例如預測的種類(框內預測(intra-prediction)及框間預測(inter-prediction)),亦可取決於框內預測模式。
這種顯示是否適用EMT或AMT的資訊(可稱為例如AMT旗標)及顯示所選擇的轉換類型的資訊是在CU層級被訊號化。再者,這些資訊的訊號化並不需限定於CU層級,也可以是其他層級(例如,序列層級(sequence level)、圖片層級(picture level)、片段層級(slice level)、圖塊層級(tile level)或CTU層級)。
又,轉換部106也可以將轉換係數(轉換結果)再轉換。有時將這種再轉換稱為AST(適應性二次轉換(adaptive secondary transform))或NSST(不可分的二次轉換(non-separable secondary transform))。例如,轉換部106會按在對應於框內預測誤差的轉換係數之區塊中所包含的每個子區塊(例如4x4子區塊)進行再轉換。顯示是否適用NSST的資訊以及與在NSST中所用的轉換矩陣相關的資訊是在CU層級被訊號化。再者,這些資訊的訊號化並不需限定於CU層級,也可以是其他層級(例如,序列層級(sequence level)、圖片層級(picture level)、片段層級(slice level)、圖塊層級(tile level)或CTU層級)。
[量化部]
量化部108是將從轉換部106輸出的轉換係數進行量化。具體來說,量化部108是以預定的掃描順序掃描當前區塊的轉換係數,且根據與所掃描的轉換係數相對應之量化參數(QP)將該轉換係數進行量化。並且,量化部108會將當前區塊之被量化的轉換係數(以下,稱為量化係數)輸出到熵編碼部110及反量化部112。
預定的順序是用於轉換係數的量化/反量化之順序。例如,預定的掃描順序是以頻率的遞增順序(從低頻到高頻的順序)或遞減順序(從高頻到低頻的順序)來定義。
所謂量化參數是定義量化間距(量化寬度)的參數。例如,量化參數的值增加的話,會使量化間距也增加。也就是說,量化參數的值增加的話,會使量化誤差増大。
[熵編碼部]
熵編碼部110是藉由將從量化部108輸入之量化係數進行可變長度編碼,來生成編碼訊號(編碼位元流(bit stream))。具體來說,熵編碼部110是例如將量化係數二值化,而對二值訊號進行算術編碼。
[反量化部]
反量化部112是對從量化部108輸入之量化係數進行反量化。具體來說,反量化部112是以預定的掃描順序將當前區塊的量化係數進行反量化。而且,反量化部112會將當前區塊之反量化的轉換係數輸出到逆轉換部114。
[逆轉換部]
逆轉換部114是藉由對來自反量化部112的輸入之轉換係數進行逆轉換,以復原預測誤差。具體來說,逆轉換部114是藉由對轉換係數進行與轉換部106的轉換對應之逆轉換,來復原當前區塊的預測誤差。而且,逆轉換部114會將復原的預測誤差輸出至加法部116。
再者,由於復原的預測誤差會因量化而失去資訊,因此和減法部104算出的預測誤差並不一致。亦即,復原的預測誤差中包含有量化誤差。
[加法部]
加法部116會對來自逆轉換部114之輸入的預測誤差、與來自預測控制部128之輸入的預測訊號進行加法運算,藉此再構成當前區塊。接著,加法部116會將再構成的區塊輸出到區塊記憶體118及迴路濾波部120。有時也將再構成區塊稱為局部解碼區塊(local decoding block)。
[區塊記憶體]
區塊記憶體118是用於保存在框內預測中所參照的區塊且也是編碼對象圖片(以下,稱為當前圖片)內的區塊的儲存部。具體來說,區塊記憶體118會保存從加法部116輸出的再構成區塊。
[迴路濾波部]
迴路濾波部120會對藉由加法部116再構成的區塊施行迴路濾波,且將已進行濾波的再構成區塊輸出到框記憶體122。所謂迴路濾波器是在編碼迴路內使用的濾波器(環內濾波器(In-loop filter)),且包含例如去區塊濾波器(Deblocking Filter,DF)、取樣自適應偏移(Sample Adaptive Offset,SAO)及適應性迴路濾波器(Adaptive Loop Filter,ALF)等。
在ALF中,可適用去除編碼失真用的最小平方誤差濾波器,例如可適用按當前區塊內的2x2子區塊的每一個,根據局部的梯度(gradient)的方向及活動度(activity)來從複數個濾波器之中選擇的1個濾波器。
具體來說,首先,可將子區塊(例如2x2子區塊)分類成複數個類別(class)(例如15個或25個類別)。子區塊的分類是根據梯度的方向及活動度來進行。例如,可利用梯度的方向值D(例如0~2或0~4)與梯度的活動值A(例如0~4)來算出分類值C(例如C=5D+A)。並且,根據分類值C,來將子區塊分類成複數個類別(例如15個或25個類別)。
梯度的方向值D可藉由例如比較複數個方向(例如水平、垂直及2個對角方向)的梯度來導出。又,梯度的活動值A是藉由例如對複數個方向的梯度作加法運算,並將加法結果量化來導出。
根據這種分類的結果,即可從複數個濾波器之中決定子區塊用的濾波器。
作為在ALF中所用的濾波器之形狀,可利用的有例如圓對稱形狀。圖4A~圖4C是顯示在ALF中所用的濾波器之形狀的複數個例子之圖。圖4A是顯示5x5菱形(diamond)形狀濾波器,圖4B是顯示7x7菱形形狀濾波器,圖4C是顯示9x9菱形形狀濾波器。顯示濾波器的形狀之資訊是在圖片層級被訊號化。再者,顯示濾波器形狀之資訊的訊號化並不需要限定於圖片層級,亦可為其他的層級(例如,序列層級、片段層級、圖塊層級、CTU層級或CU層級)。
ALF的開啟/關閉(on/off)是在例如圖片層級或CU層級決定的。例如,針對亮度是在CU層級來決定是否適用ALF,而針對色差則是在圖片層級來決定是否適用ALF。顯示ALF的開啟/關閉之資訊是在圖片層級或CU層級被訊號化。再者,顯示ALF的開啟/關閉之資訊的訊號化並不需要限定於圖片層級或CU層級,亦可為其他的層級(例如序列層級、片段層級、圖塊層級或CTU層級)。
可選擇的複數個濾波器(到例如15個或25個為止的濾波器)之係數組是在圖片層級被訊號化。再者,係數組的訊號化並不需要限定於圖片層級,也可以是其他的層級(例如序列層級、片段層級、圖塊層級、CTU層級、CU層級或子區塊層級)。
[框記憶體]
框記憶體122是用於保存框間預測所用的參照圖片之儲存部,有時也被稱為框緩衝器(frame buffer)。具體來說,框記憶體122會保存已藉由迴路濾波部120而被濾波的再構成區塊。
[框內預測部]
框內預測部124是參照已保持於區塊記憶體118的當前圖片內之區塊來進行當前區塊的框內預測(也稱為畫面內預測),藉此生成預測訊號(框內預測訊號)。具體來說,框內預測部124是參照與當前區塊相鄰的區塊之樣本(例如亮度值、色差值)來進行框內預測,藉此生成框內預測訊號,並將框內預測訊號輸出至預測控制部128。
例如,框內預測部124會利用事先規定的複數個框內預測模式之中的1個來進行框內預測。複數個框內預測模式包含1個以上的非方向性預測模式、以及複數個方向性預測模式。
1個以上的非方向性預測模式包含例如H.265/HEVC(高效率視訊編碼(High-Efficiency Video Coding))規格(非專利文獻1)所規定的平面(Planar)預測模式及DC預測模式。
複數個方向性預測模式包含例如H.265/HEVC規格所規定的33個方向之預測模式。再者,複數個方向性預測模式亦可除了33個方向以外更進一步地包含32個方向的預測模式(合計65個方向性預測模式)。圖5是顯示框內預測中的67個框內預測模式(2個非方向性預測模式及65個方向性預測模式)之圖。實線箭頭是表示H.265/HEVC規格所規定的33個方向,虛線箭頭是表示追加的32個方向。
再者,在色差區塊的框內預測中,亦可參照亮度區塊。也就是說,也可以根據當前區塊的亮度成分,來預測當前區塊的色差成分。有時可將這種框內預測稱為CCLM(交叉成分線性模型(cross-component linear model))預測。這種參照亮度區塊的色差區塊之框內預測模式(例如可稱為CCLM模式),也可以作為1個色差區塊的框內預測模式的一個來加入。
框內預測部124亦可根據水平/垂直方向的參照像素之梯度來補正框內預測後的像素值。這種伴隨補正的框內預測有時被稱為PDPC(位置相依框內預測組合(position dependent intra prediction combination))。顯示有無PDPC的適用之資訊(被稱為例如PDPC旗標)是在例如CU層級被訊號化。再者,此資訊的訊號化並不需要限定於CU層級,也可以是其他的層級(例如序列層級、圖片層級、片段層級、圖塊層級或CTU層級)。
[框間預測部]
框間預測部126會參照保存在框記憶體122的參照圖片且是與當前圖片不同的參照圖片,來進行當前區塊的框間預測(也稱為畫面間預測),藉此生成預測訊號(框間預測訊號)。框間預測是以當前區塊或當前區塊內的子區塊(例如4x4區塊)之單位來進行。例如,框間預測部126是針對當前區塊或子區塊而在參照圖片內進行運動搜尋(運動估計(motion estimation))。而且,框間預測部126是利用以運動搜尋所得到的運動資訊(例如運動向量)來進行運動補償,藉此生成當前區塊或子區塊的框間預測訊號。而且,框間預測部126會將生成的框間預測訊號輸出至預測控制部128。
使用於運動補償的運動資訊會被訊號化。在運動向量的訊號化中,亦可使用預測運動向量(motion vector predictor)。也就是說,亦可將運動向量與預測運動向量之間的差分訊號化。
再者,不只是由運動搜尋得到的當前區塊之運動資訊,也可利用相鄰區塊的運動資訊,來生成框間預測訊號。具體來說,亦可將根據由運動搜尋得到的運動資訊之預測訊號、以及根據相鄰區塊的運動資訊之預測訊號作加權相加,藉此以當前區塊內的子區塊單位來生成框間預測訊號。這種框間預測(運動補償)有時被稱為OBMC(重疊分塊運動補償,overlapped block motion compensation)。
在這種OBMC模式中,顯示OBMC用的子區塊之尺寸的資訊(例如被稱為OBMC區塊尺寸)是在序列層級被訊號化。又,顯示是否適用OBMC模式的資訊(例如被稱為OBMC旗標)是在CU層級被訊號化。再者,這些資訊的訊號化之層級並不需要限定於序列層級及CU層級,亦可為其他的層級(例如圖片層級、片段層級、圖塊層級、CTU層級或子區塊層級)。
再者,亦可不將運動資訊訊號化,而在解碼裝置側導出。例如,也可以使用H.265/HEVC規格所規定的合併模式(merge mode)。又,亦可藉由在例如解碼裝置側進行運動搜尋來導出運動資訊。在此情況下,可在不使用當前區塊的像素值的情形下進行運動搜尋。
在此,針對在解碼裝置側進行運動搜尋的模式進行說明。有時將在此解碼裝置側進行運動搜尋的模式稱為PMMVD(型樣匹配運動向量導出,pattern matched motion vector derivation)模式或FRUC(提升框速轉換,flame rate up-conversion)模式。
首先,將包含於合併清單的候補的1個選擇作為型樣匹配進行之搜尋的開始位置。使用第1型樣匹配或第2型樣匹配來作為型樣匹配。有時將第1型樣匹配及第2型樣匹配分別稱為雙向匹配(bilateral matching)及模板匹配(template matching)。
在第1型樣匹配中,是在為不同的2個參照圖片內的2個區塊且是沿著當前區塊的運動軌跡(motion trajectory)的2個區塊之間進行型樣匹配。
圖6是用於說明沿著運動軌跡的2個區塊間的型樣匹配(雙向匹配)之圖。如圖6所示,在第1型樣匹配中,是在為沿著當前區塊(Cur block)的運動軌跡之2個區塊且是不同的2個參照圖片(Ref0、Ref1)內的2個區塊之配對中,搜尋最匹配的配對,藉此導出2個運動向量(MV0、MV1)。
在連續的運動軌跡之假設下,指出2個參照區塊的運動向量(MV0、MV1)會相對於當前圖片(Cur Pic)與2個參照圖片(Ref0、Ref1)之間的時間上之距離(TD0、TD1)成正比。例如,當前圖片在時間上位於2個參照圖片之間,且從當前圖片到2個參照圖片的時間上之距離為相等的情況下,在第1型樣匹配中,會導出鏡像對稱的雙向之運動向量。
在第2型樣匹配中,是在當前圖片內的模板(在當前圖片內與當前區塊相鄰的區塊(例如上及/或左的相鄰區塊))與參照圖片內的區塊之間進行型樣匹配。
圖7是用於說明在當前圖片內的模板與參照圖片內的區塊之間的型樣匹配(模板匹配)之圖。如圖7所示,在第2型樣匹配中,是藉由在參照圖片(Ref0)內搜尋與在當前圖片(Cur Pic)內相鄰於當前區塊(Cur block)的區塊最匹配的區塊,以導出當前區塊的運動向量。
這種顯示是否適用FRUC模式的資訊(例如可稱為FRUC旗標)是在CU層級被訊號化。又,在適用FRUC模式的情況下(例如FRUC旗標為真的情況),將顯示型樣匹配的方法(第1型樣匹配或第2型樣匹配)之資訊(例如可稱為FRUC模式旗標)在CU層級訊號化。再者,這些資訊的訊號化並不需要限定於CU層級,亦可為其他的層級(例如序列層級、圖片層級、片段層級、圖塊層級、CTU層級或子區塊層級)。
再者,也可以藉由和運動搜尋不同的方法,在解碼裝置側導出運動資訊。例如,亦可根據假設了等速直線運動的模型,以像素單位使用周邊像素值來算出運動向量的補正量。
在此,針對根據假設了等速直線運動的模型來導出運動向量的模式進行說明。有時將此模式稱為BIO(雙向光流,bi-directional optical flow)模式。
圖8是用於說明假設了等速直線運動的模型之圖。在圖8中,(v
x,v
y)表示速度向量,而τ
0、τ
1分別表示當前圖片(Cur Pic)與2個參照圖片(Ref
0,Ref
1)之間的時間上之距離。(MVx
0,MVy
0)表示對應於參照圖片Ref
0的運動向量,而(MVx
1,MVy
1)表示對應於參照圖片Ref
1的運動向量。
此時在速度向量(v
x,v
y)的等速直線運動之假設下,(MVx
0,MVy
0)及(MVx
1,MVy
1)是分別表示為(v
xτ
0,v
yτ
0)及(-v
xτ
1,-v
yτ
1),且以下的光流等式(1)成立。
[數學式1]
在此,I
(k)表示運動補償後的參照圖像k(k=0,1)之亮度值。此光流等式是表示下述的(i)、(ii)與(iii)之和等於零:(i)亮度值的時間微分、(ii)水平方向的速度及參照圖像的空間梯度之水平成分的積、及(iii)垂直方向的速度及參照圖像的空間梯度之垂直成分的積。根據此光流等式與赫米內插法公式(Hermite interpolation)的組合,可將從合併清單等得到的區塊單位之運動向量以像素單位進行補正。
再者,亦可藉由與根據假設了等速直線運動的模型之運動向量的導出不同之方法,在解碼裝置側導出運動向量。例如,亦可根據複數個相鄰區塊的運動向量而以子區塊單位來導出運動向量。
在此,針對根據複數個相鄰區塊的運動向量而以子區塊單位來導出運動向量的模式進行說明。有時將此模式稱為仿射運動補償預測(affine motion compensation prediction)。
圖9是用於說明根據複數個相鄰區塊的運動向量之子區塊單位的運動向量的導出之圖。在圖9中,當前區塊包含16個4x4子區塊。在此,是根據相鄰區塊的運動向量來導出當前區塊的左上角控制點之運動向量v
0,且根據相鄰子區塊的運動向量來導出當前區塊的右上角控制點之運動向量v
1。而且,使用2個運動向量v
0及v
1,藉由以下的式(2),來導出當前區塊內的各子區塊之運動向量(v
x,v
y)。
[數學式2]
在此,x及y各自表示子區塊的水平位置及垂直位置,且w是表示預定的加權係數。
在這種仿射運動補償預測模式中,左上及右上角控制點的運動向量之導出方法也可以包含幾個不同的模式。顯示這種仿射運動補償預測模式的資訊(例如可稱為仿射旗標)是在CU層級被訊號化。再者,顯示此仿射運動補償預測模式的資訊之訊號化並不需限定於CU層級,也可以是其他的層級(例如序列層級、圖片層級、片段層級、圖塊層級、CTU層級或子區塊層級)。
[預測控制部]
預測控制部128會選擇框內預測訊號及框間預測訊號的任一個,且將所選擇的訊號作為預測訊號而輸出至減法部104及加法部116。
[解碼裝置的概要]
接著,針對可將從上述編碼裝置100輸出的編碼訊號(編碼位元流)進行解碼之解碼裝置的概要進行說明。圖10是顯示實施形態1之解碼裝置200的功能構成之方塊圖。解碼裝置200是以區塊單位對動態圖像/圖像進行解碼的動態圖像/圖像解碼裝置。
如圖10所示,解碼裝置200具備熵解碼部202、反量化部204、逆轉換部206、加法部208、區塊記憶體210、迴路濾波部212、框記憶體214、框內預測部216、框間預測部218、及預測控制部220。
解碼裝置200可藉由例如通用處理器及記憶體來實現。在此情況下,藉由處理器執行保存在記憶體的軟體程式時,處理器是作為熵解碼部202、反量化部204、逆轉換部206、加法部208、迴路濾波部212、框內預測部216、框間預測部218及預測控制部220而發揮功能。又,解碼裝置200也可以作為對應於熵解碼部202、反量化部204、逆轉換部206、加法部208、迴路濾波部212、框內預測部216、框間預測部218及預測控制部220的1個以上之專用的電子電路來實現。
以下,針對包含在解碼裝置200的各構成要素來進行說明。
[熵解碼部]
熵解碼部202是對編碼位元流進行熵解碼。具體來說,熵解碼部202是例如從編碼位元流算術解碼出二值訊號。而且,熵解碼部202會對二值訊號進行多值化(debinarize)。藉此,熵解碼部202會以區塊單位將量化係數輸出至反量化部204。
[反量化部]
反量化部204是將來自熵解碼部202的輸入之解碼對象區塊(以下,稱為當前區塊)之量化係數進行反量化。具體來說,反量化部204是針對各當前區塊的量化係數,根據對應於該量化係數的量化參數,來對該量化係數進行反量化。並且,反量化部204會將當前區塊之已進行反量化的量化係數(也就是轉換係數)輸出至逆轉換部206。
[逆轉換部]
逆轉換部206是藉由將來自反量化部204的輸入之轉換係數進行逆轉換,以復原預測誤差。
在例如顯示已從編碼位元流解讀出的資訊為適用EMT或AMT之情形的情況下(例如AMT旗標為真),逆轉換部206會根據顯示已解讀出的轉換類型之資訊,來對當前區塊的轉換係數進行逆轉換。
又,在例如顯示已從編碼位元流解讀出的資訊為適用NSST之情形的情況下,逆轉換部206會對已轉換的轉換係數(轉換結果)進行再轉換。
[加法部]
加法部208會將來自逆轉換部206之輸入的預測誤差、與來自預測控制部220之輸入的預測訊號進行加法運算,藉此再構成當前區塊。而且,加法部208會將再構成的區塊輸出到區塊記憶體210及迴路濾波部212。
[區塊記憶體]
區塊記憶體210是用於保存在框內預測中參照的區塊且是解碼對象圖片(以下,稱為當前圖片)內的區塊的儲存部。具體來說,區塊記憶體210會保存從加法部208輸出的再構成區塊。
[迴路濾波部]
迴路濾波部212會對藉由加法部208再構成的區塊施行迴路濾波,且將已進行濾波的再構成區塊輸出到框記憶體214及顯示裝置等。
當顯示從編碼位元流解讀出的ALF之開啟/關閉的資訊顯示的是ALF之開啟的情況下,可根據局部的梯度之方向及活動度而從複數個濾波器之中選擇1個濾波器,且將所選擇的濾波器適用於再構成區塊。
[框記憶體]
框記憶體214是用於保存於框間預測所用的參照圖片之儲存部,有時也被稱為框緩衝器(frame buffer)。具體來說,框記憶體214會保存已藉由迴路濾波部212而被濾波的再構成區塊。
[框內預測部]
框內預測部216是根據已從編碼位元流解讀出的框內預測模式,參照保存於區塊記憶體210的當前圖片內之區塊來進行框內預測,藉此生成預測訊號(框內預測訊號)。具體來說,框內預測部216是參照與當前區塊相鄰的區塊之樣本(例如亮度值、色差值)來進行框內預測,藉此生成框內預測訊號,並將框內預測訊號輸出至預測控制部220。
再者,在色差區塊的框內預測中選擇參照亮度區塊的框內預測模式之情況下,框內預測部216也可以根據當前區塊的亮度成分,來預測當前區塊的色差成分。
又,已從編碼位元流解讀出的資訊顯示PDPC的適用的情況下,框內預測部216會根據水平/垂直方向的參照像素之梯度來補正框內預測後的像素值。
[框間預測部]
框間預測部218是參照保存於框記憶體214的參照圖片,來預測當前區塊。預測是以當前區塊或當前區塊內的子區塊(例如4x4區塊)之單位來進行。例如,框間預測部126會利用從編碼位元流解讀出的運動資訊(例如運動向量)來進行運動補償,藉此生成當前區塊或子區塊的框間預測訊號,並將框間預測訊號輸出至預測控制部128。
再者,顯示從編碼位元流解讀出的資訊適用OBMC模式的情況下,框間預測部218會使用的不只有藉由運動搜尋所得到的當前區塊之運動資訊,還有相鄰區塊的運動資訊,以生成框間預測訊號。
又,顯示從編碼位元流解讀出的資訊適用FRUC模式的情況下,框間預測部218會依照從編碼流解讀出的型樣匹配之方法(雙向匹配或模板匹配)進行運動搜尋,以藉此導出運動資訊。接著,框間預測部218會使用已導出的運動資訊來進行運動補償。
又,在適用BIO模式的情況下,框間預測部218會根據假設了等速直線運動的模型來導出運動向量。又,於顯示從編碼位元流解讀出的資訊適用仿射運動補償預測模式的情況下,框間預測部218會根據複數個相鄰區塊的運動向量,以子區塊單位來導出運動向量。
[預測控制部]
預測控制部220會選擇框內預測訊號及框間預測訊號的任一個,且將所選擇的訊號作為預測訊號而輸出至加法部208。
(實施形態2)
接著,一邊參照圖示一邊具體地說明在如以上所構成的編碼裝置100及解碼裝置200中進行的一部分的處理。再者,為了更加擴大本揭示的好處,也可以組合後述的各實施形態之作法,對於本發明所屬技術領域中具有通常知識者來說應該是顯而易見的。
本實施形態中的編碼裝置及解碼裝置等,可以使用於任意的多媒體資料之編碼及解碼上,更具體來說,可以使用在被非直線的(例如魚眼)相機所拍攝到的圖像之編碼及解碼上。
在此,在上述的先前技術中,於經處理的圖像及藉由直線透鏡(Rectilinear lens)所直接拍攝到的圖像之壓縮上,所使用的是和迄今為止相同的動態圖像編碼工具。在先前技術中,並未存在為了以不同的方法壓縮這種處理圖像,而特別地自訂(customize)的動態圖像編碼工具。
一般而言,首先藉由複數個相機拍攝,再使其將藉由複數個相機所拍攝的圖像接合來製作大的圖像作為360度圖像。為了更舒適地以平面狀的顯示器顯示圖像、或者為了可利用機器學習技術而更容易地檢測圖像中的對象物,在進行圖像的編碼之前,有時會進行「補正魚眼透鏡的失真(失真消除(defish))」、或包含用於以直線形式形成的圖像補正之圖像轉換處理。但是,由於在此圖像轉換處理中,通常會內插圖像樣本,因此會在保持於圖像內的資訊中產生重複部分。又,有時會因接合處理及圖像轉換處理,而有在圖像內形成空閒區域的情況,通常這會以預設(default)的像素值(例如黑色像素)來填補。因接合處理與圖像轉換處理產生的這種問題,會成為使編碼處理的編碼效率降低之主要原因。
為了解決這些問題,在本實施形態中,是使用適應性動態圖像編碼工具及適應性動態圖像解碼工具,來作為自訂的(customized)動態圖像編碼工具及動態圖像解碼工具。為了提升編碼效率,此適應性動態圖像編碼工具可適應在用於在編碼器之前處理圖像所使用的圖像轉換處理或圖像接合處理上。本揭示是在編碼處理中將適應性動態圖像編碼工具適應於如上述的處理,藉此可以減少因這些處理所產生的所有重複。針對適應性動態圖像解碼工具也是與適應性動態圖像編碼工具同樣。
在本實施形態中,是使用圖像轉換處理或/及圖像接合處理的資訊,來使動態圖像編碼工具及動態圖像解碼工具進行適應。因此,動態圖像編碼工具及動態圖像解碼工具可適用在不同種類的處理完成圖像。因此,在本實施形態中,可以提升壓縮效率。
[編碼處理]
說明圖11所示之本揭示的實施形態2中對使用非直線透鏡而拍攝到的圖像進行動態圖像編碼的方法。再者,非直線透鏡為廣角透鏡或其一例。
圖11是顯示本實施形態中的動態圖像編碼處理之一例的流程圖。
在步驟S101中,編碼裝置會將整組參數寫入至標頭中。圖12是顯示在已壓縮的動態圖像位元流中上述標頭的可能的位置。寫入的參數(亦即圖12中的相機圖像參數)包含有關於圖像補正處理的1個以上之參數。例如,如圖12所示,是將這種參數寫入視訊參數集、序列參數集、圖片參數集、片段標頭或視訊系統設置參數集。也就是說,在本實施形態中寫入的參數可寫入至位元流的任意標頭中,亦可寫入至SEI(補充增強資訊(Supplemental Enhancement Information))中。再者,圖像補正處理相當於上述的圖像轉換處理。
<圖像補正處理的參數之例>
如圖13所示,所拍攝到的圖像亦可是因圖像的拍攝中所使用的透鏡之特性而失真。又,為了將所拍攝到的圖像以直線形式補正,而使用了圖像補正處理。再者,藉由將所拍攝到的圖像以直線形式補正,即可生成矩形的圖像。已寫入的參數包含用來特定所使用的圖像補正處理之參數、或用於描述的參數。在圖像補正處理中所使用的參數,作為一個例子,包含構成用於將輸入圖像的像素對映到圖像補正處理所欲之輸出像素值之對映表(mapping table)的參數。這些參數亦可包含1個以上的插值處理用之加權參數、或/及特定圖片之輸入像素及輸出像素的位置之位置參數。作為圖像補正處理的可能的實施例的一個,也可以將圖像補正處理用的對映表使用在已補正的圖像內之所有像素中。
作為用來描述圖像補正處理所使用的參數的其他例子,包含:選擇參數,從複數個事先定義的補正演算法中選擇一個、方向參數,從補正演算法的複數個預定的方向中選擇一個、或/及校正參數,校準或微調整補正演算法。例如,有複數個事先定義的補正演算法之情況下(例如,將不同的演算法使用在不同種類的透鏡之情況下),選擇參數是為了從這些事先定義的演算法之中選擇1個而使用。例如,可以適用補正演算法的方向有2個以上之情況下(例如,水平方向、垂直方向、或哪一個方向都可以進行圖像補正處理之情況下),方向參數會選擇這些事先定義的方向之中的1個。在可以校準圖像補正處理的情況下,可以藉由校正參數來將圖像補正處理調整成適合於不同種類的透鏡。
<接合處理的參數之例>
寫入的參數也可以更包含有關於接合處理的1個以上之參數。如圖14及圖15所示,輸入到編碼裝置的圖像,亦可為組合來自不同相機的複數個圖像之接合處理的結果所得到的圖像。寫入的參數包含例如提供下述資訊之參數:相機的數量、失真中心或各相機的主軸、以及失真等級等有關於接合處理的資訊。在針對接合處理描述的參數之另外的例子中,包含由來自複數個圖像之重複的像素所生成之可特定已接合的圖像之位置的參數。由於這些圖像的每一個在相機的角度上存在有重複的區域,因此亦可包含有也可出現在其他圖像的像素。在接合處理中,處理並減少這些重複的像素,而生成接合的圖像。
作為針對接合處理而描述的參數之另外的例子,包含特定已接合的圖像之布局的參數。例如,依據等距離圓柱投影法、立方體的3x2布局以及立方體的4x3布局等360度圖像的形式,所接合的圖像內之圖像的配置會不同。再者,3x2布局是配置為3行2列的6個圖像之布局,而4x3布局是配置為4行3列的12個圖像之布局。上述參數之配置參數,是根據圖像的配置,為了特定某個方向上的圖像之連續性而被使用。在運動補償處理中,可以將來自其他圖像或視圖(view)的像素使用在畫面間預測處理中,且可將這些圖像或視圖藉由配置參數來特定。為了在幾個圖像或圖像中的像素中也確保連續性,有時必須進行旋轉。
作為參數的其他的例子,可列舉的有相機及透鏡的參數(例如,在相機中使用的焦點距離、主點、比例係數、影像感測器的形式等)。作為參數的另外其他例子,有與相機的配置相關之物理上的資訊(例如,相機的位置、相機的角度等)。
接著,在步驟S102中,編碼裝置是藉由根據已寫入的這些參數之適應性動態圖像編碼工具,將圖像進行編碼。在適應性動態圖像編碼工具中,可包含畫面間預測處理。在整組的適應性動態圖像編碼工具中,亦可更包含圖像再構成處理。
<畫面間預測中的失真補正>
圖16是顯示可適應於下述情況的畫面間預測處理之流程圖:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為由1個以上的圖像接合而成之情況下。如圖16所示,在步驟S1901中,編碼裝置會根據寫入標頭的參數,判定圖像內的某個位置是失真中心或主點。圖17是顯示由魚眼透鏡所產生的歪曲像差之一例。再者,魚眼透鏡是廣角透鏡的一例。隨著遠離失真中心,擴大會沿著焦軸而減少。因此,在步驟S1902中,編碼裝置為了根據失真中心將圖像以直線形式形成,可以對圖像內的像素進行搭接(lapping)處理並補正失真、或將已進行的補正還原。也就是說,編碼裝置會對作為編碼的處理對象之失真的圖像之區塊進行圖像補正處理(亦即搭接處理)。最後,編碼裝置可以根據已進行搭接處理的圖像之像素,在步驟S1903中,進行導出預測樣本的區塊之區塊預測。再者,本實施形態中的搭接處理或搭接,是將像素、區塊或圖像進行配置或再配置的處理。又,編碼裝置亦可使已進行預測的區塊之預測區塊還原到進行圖像補正處理之前的原本之失真狀態,且將失真狀態的預測區塊作為失真的處理對象區塊之預測圖像來使用。再者,預測圖像及處理對象區塊相當於實施形態1的預測訊號及當前區塊。
在已適應的畫面間預測處理之另外的例子中,包含有已適應的運動向量處理。相較於靠近失真中心的圖像區塊,遠離失真中心的圖像區塊之運動向量的解析度較低。例如,遠離失真中心的圖像區塊亦可具有達半像素精度的運動向量之精度。另一方面,靠近失真中心的圖像區塊亦可具有達1/8像素精度之較高的運動向量精度。由於在已適應的運動向量精度中,會依據圖像區塊位置而產生差異,因此在位元流中已編碼的運動向量之精度亦可因應於運動向量的結束位置及/或開始位置而適應。也就是說,編碼裝置亦可利用參數,而因應於區塊的位置來使運動向量的精度不同。
在已適應的畫面間預測處理的另外的例子中,包含有已適應的運動補償處理,在此運動補償處理中,亦可為了預測來自對象之視圖的圖像樣本,而使用來自不同視圖的像素,該對象是基於在標頭中寫入的配置參數。例如,依據等距離圓柱投影法、立方體的3x2布局、立方體的4x3布局等360度的圖像形式,所接合的圖像內之圖像的配置會不同。配置參數是根據圖像的配置,為了特定一定方向下的圖像之連續性而被使用。在運動補償處理中,可以將來自其他圖像或其他視圖的像素使用在畫面間預測處理中,且可將這些圖像或視圖藉由配置參數來特定。為了在幾個圖像或圖像中的像素中也確保連續性,有時必須進行旋轉。
也就是說,編碼裝置亦可進行確保連續性的處理。例如,編碼裝置對圖15所示之接合圖像進行編碼的情況下,亦可根據該參數來進行搭接處理。具體來說,接合圖像中所包含的5個圖像(亦即圖像A~D與頂視圖(top view))之中,頂視圖是180度圖像,而圖像A~D是90度圖像。因此,於頂視圖所顯現的空間會與於圖像A~D的每一個所顯現的空間連續,且於圖像A所顯現之空間與於圖像B所顯現之空間連續。但是,在接合圖像中,頂視圖並未與圖像A、C及D連續,且圖像A並未與圖像B連續。在此,編碼裝置為了提升編碼效率,會進行上述的搭接處理。也就是說,編碼裝置將接合圖像中所包含的各圖像進行再配置。例如,編碼裝置會將各圖像再配置成圖像A與圖像B連續。藉此,於圖像A及圖像B分離而顯現的物件(object)會連續,而可以提升編碼效率。再者,這種對各圖像進行再配置或配置的處理之搭接處理,也稱為框封裝(frame packing)。
<畫面間預測中的填充(padding)>
圖18是顯示可適應於下述情況的畫面間預測處理之變形例的流程圖:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為是由2個以上的圖像接合而成之情況下。如圖18所示,編碼裝置是根據寫入標頭的參數,在步驟S2001中使圖像的區域特定為空閒區域。這些空閒區域是不包含所拍攝的圖像之像素的圖像之區域,一般而言,會以預定的像素值(例如黑色像素)來置換。圖13是顯示圖像內的這些區域之一例的圖。圖15是顯示在接合複數個圖像的情況中的這些區域的其他例子之圖。接著,編碼裝置會在圖18的步驟S2002中,於進行運動補償處理的期間,將已特定的這些區域內之像素以非圖像之空閒區域的其他區域的值來進行填充(padding)處理。經填充處理之值是因應於物理上的三維空間,而可為來自非空閒區域的區域中的最近的像素之值、或是來自最近的像素之值。最後,在步驟S2003中,編碼裝置會為了根據已填充處理的值生成預測樣本的區塊而進行區塊預測。
<圖像再構成中的失真補正>
圖19是顯示可適應於下述情況的圖像再構成處理之流程圖:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為是由2個以上的圖像接合而成之情況下。如圖19所示,編碼裝置是根據寫入標頭的參數,而在步驟S1801中將圖像內的位置判定作為失真中心或主點。圖17是顯示由魚眼透鏡所產生的歪曲像差之一例。隨著焦點的軸心遠離失真中心,擴大是沿著焦點的軸心而減少。因此,在步驟S1802中,編碼裝置亦可根據失真中心來對圖像內的再構成像素補正失真、或為了讓用於將圖像以直線形式形成所進行的補正還原,而進行搭接處理。例如,編碼裝置是將藉由逆轉換而生成的預測誤差之圖像、與預測圖像作加法運算,藉此生成再構成圖像。此時,編碼裝置會為了將預測誤差的圖像及預測圖像分別以直線形式形成,而進行搭接處理。
最後,在步驟S1803中,編碼裝置會將根據已進行搭接處理的圖像之像素所再構成的圖像之區塊,保存至記憶體。
<圖像再構成中的像素值之置換>
圖20是顯示可適應於下述情況的圖像再構成處理之變形例:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為是由1個以上的圖像接合而成之情況下。如圖20所示,編碼裝置是根據寫入標頭的參數,而在步驟S2101中,將圖像的區域特定作為空閒區域。這些空閒區域並未包含已拍攝的圖像之像素,且一般而言是被置換為預定的像素值(例如黑色像素)之圖像的區域。圖13是顯示在圖像中這些區域的一例之圖。圖15是顯示在接合複數個圖像的情況中的這些區域的另外的例子之圖。接著,在步驟S2102中,編碼裝置會再構成圖像樣本的區塊。
又,在步驟S2103中,編碼裝置是將這些已特定的區域內之再構成的像素置換為預定的像素值。
<編碼處理的省略>
在圖11的步驟S102中,針對適應性動態圖像編碼工具之可能的另外的變形例中,亦可省略圖像的編碼處理。也就是說,編碼裝置亦可根據關於與圖像的布局配置相關而寫入的參數、以及根據使用者的眼睛之視線或頭的方向之有效的(active)視圖區域之資訊,來省略圖像的編碼處理。亦即,編碼裝置是進行部分編碼處理。
圖21是顯示有關於由不同相機所拍攝到的不同視圖之使用者的視線之視角或頭的方向之一例。如同圖所示,使用者的視角是位於僅由來自視圖1之相機所拍攝的圖像內。在這個例子中,由於來自其他視圖的圖像是位於使用者的視角外,因此不須進行編碼。因此,為了降低編碼的複雜性、或者為了減少壓縮圖像的傳送位元率,可以省略對於這些圖像的編碼處理或傳送處理。在圖示的另外的可能的一個例子中,由於視圖5及視圖2在物理上接近有效的視圖1,因此來自視圖5的圖像及來自視圖2的圖像也會被編碼並傳送。這些圖像雖然在當前的時間點下並不會向觀看者(viewer)或使用者顯示,但可在觀看者改變本身的頭之方向時,向觀看者或使用者顯示。這些圖像是為了在觀看者改變本身的頭之方向時,提升使用者的視聽體驗而使用。
圖22是顯示使用者對於由不同相機所拍攝的不同視圖之視線的角度或頭的方向之另外的一個例子。在此,有效的視線區域是位於來自視圖2的圖像內。因此,可將來自視圖2的圖像編碼並向使用者顯示。在此,編碼裝置會預測被推定為觀看者的頭即將活動的範圍,定義更廣的區域作為可能成為將來的框(frame)之視線區域的範圍。編碼裝置並非在對象之有效的視線區域內,而是將來自位於更廣之將來的視線區域內的(視圖2以外的)視圖的圖像也進行編碼,並以可以在觀看者這邊更快速地繪製視圖的方式傳送。也就是說,不只是來自視圖2的圖像,來自圖22所示之可能視線區域至少一部分為重複的頂視圖及視圖1之圖像也會被編碼並傳送。來自其餘的視圖(視圖3、視圖4及底視圖)的圖像則不會被編碼,而可省略這些圖像的編碼處理。
[編碼裝置]
圖23是顯示本實施形態中將動態圖像進行編碼的編碼裝置之構成的方塊圖。
編碼裝置900是為了生成輸出位元流而用於按每個區塊將輸入動態圖像進行編碼的裝置,且相當於實施形態1的編碼裝置100。如圖23所示,編碼裝置900具備轉換部901、量化部902、反量化部903、逆轉換部904、區塊記憶體905、框記憶體906、框內預測部907、框間預測部908、減法部921、加法部922、熵編碼部909及參數導出部910。
輸入動態圖像的圖像(亦即處理對象區塊)是被輸入至減法部921,且經減法運算的值被輸出至轉換部901。也就是說,減法部921是從處理對象區塊減去預測圖像,藉此算出預測誤差。轉換部901會將經減法運算的值(亦即預測誤差)轉換為頻率係數,且將得到的頻率係數輸出至量化部902。量化部902會將所輸入的頻率係數進行量化,且將得到的量化值輸出至反量化部903及熵編碼部909。
反量化部903會將從量化部902所輸出的樣本值(亦即量化值)進行反量化,且將頻率係數輸出至逆轉換部904。逆轉換部904會為了將頻率係數轉換為圖像的樣本值,亦即轉換為像素值,而進行逆頻率轉換,且將得到的樣本值輸出至加法部922。
參數導出部910會從圖像中將有關於圖像補正處理的參數、或有關於相機的參數、或有關於接合處理的參數導出,且輸出至框間預測部908、加法部922與熵編碼部909。例如,在輸入動態圖像中也可以包含有這些參數,在此情形下,參數導出部910會將動態圖像中所包含的參數提取並輸出。又,在輸入動態圖像中,也可以包含有成為用於導出這些參數的基礎之參數。在此情形下,參數導出部910是提取動態圖像中所包含的基礎之參數,且將該提取的基礎之參數轉換為上述各參數並輸出。
加法部922是將從逆轉換部904輸出的樣本值,對從框內預測部907或框間預測部908輸出的預測圖像之像素值作加法運算。也就是說,加法部922會進行生成再構成圖像之圖像再構成處理。加法部922為了進行更進一步的預測,是將得到的相加值輸出至區塊記憶體905或框記憶體906。
框內預測部907會進行畫面內預測。也就是說,框內預測部907是利用保存在區塊記憶體905而和處理對象區塊的圖片相同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。框間預測部908會進行畫面間預測。也就是說,框間預測部908會利用保存在框記憶體906而和處理對象區塊的圖片不同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。
在此,在本實施形態中,框間預測部908及加法部922是根據由參數導出部910導出的參數來使處理適應。也就是說,框間預測部908及加法部922會進行依照圖16、圖18、圖19及圖20所示之流程圖的處理,作為藉由上述之適應性動態圖像編碼工具進行的處理。
熵編碼部909是將量化部902所輸出的量化值、以及由參數導出部910所導出的參數進行編碼,並輸出位元流。也就是說,熵編碼部909會將該參數寫入至位元流的標頭中。
[解碼處理]
圖24是顯示本實施形態中的動態圖像解碼處理之一例的流程圖。
在步驟S201中,解碼裝置是從標頭中解讀整組參數。圖12是顯示在已壓縮的動態圖像位元流中上述標頭的可能的位置。已解讀的參數包含有關於圖像補正處理的1個以上之參數。
<圖像補正處理的參數之例>
如圖13所示,所拍攝到的圖像亦可因圖像的拍攝中所使用的透鏡之特性而失真。又,為了將所拍攝到的圖像以直線形式補正,而使用了圖像補正處理。已解讀的參數包含用於特定所使用的圖像補正處理之參數、或用於記載所使用的圖像補正處理之參數。在圖像補正處理中所使用之參數的例子中,包含構成用於將輸入圖像的像素對映到圖像補正處理所欲之輸出像素值的對映表。這些參數亦可包含1個以上的插值處理用之加權參數、或/及特定圖片之輸入像素及輸出像素的位置之位置參數。在圖像補正處理的一個可能的實施例中,也可以將圖像補正處理用的對映表使用在已補正的圖像內之所有像素中。
作為用來記載圖像補正處理所使用的參數之其他例子,可包含:選擇參數,用於從事先定義的複數個補正演算法中選擇一個、方向參數,用於從補正演算法的複數個預定方向中選擇一個、或/及校正參數,用於校準或微調整補正演算法。例如,有事先定義的複數個補正演算法之情況下(例如,將不同的演算法使用在不同種類的透鏡之情況下),選擇參數是為了從事先定義的這些演算法之中選擇1個而使用。例如,可以適用補正演算法的方向有2個以上的情況下(例如,水平方向、垂直方向、或哪一個方向都可進行圖像補正處理的情況下),方向參數會選擇事先定義的這些方向之中的1個。例如,在可以校準圖像補正處理的情況下,可以藉由校正參數來將圖像補正處理調整成適合於不同種類的透鏡。
<接合處理的參數之例>
已解讀的參數也可以更包含有關於接合處理的1個以上之參數。如圖14及圖15所示,輸入到解碼裝置的已編碼之圖像,亦可為組合來自不同相機的複數個圖像之接合處理的結果所得到的圖像。已解讀的參數包含例如提供下述資訊之參數:相機的數量、失真中心、或各相機的主軸、以及失真等級等有關於接合處理的資訊。作為針對接合處理而記載的參數之另外的例子,有由來自複數個圖像之重複的像素所生成之特定已接合的圖像之位置的參數。由於這些圖像的每一個在相機的角度上存在有重複的區域,因此亦可包含有也可出現在其他圖像的像素。在此接合處理中,處理並減少這些重複的像素,而生成接合的圖像。
作為針對接合處理而描述的參數之另外的例子,可包含特定已接合的圖像之布局的參數。例如,依據等距離圓柱投影法、立方體的3x2布局或立方體的4x3布局等360度圖像的形式,所接合的圖像內之圖像的配置會不同。上述參數之配置參數,是根據圖像的配置,為了特定某個方向上的圖像之連續性而被使用。在運動補償處理中,可以將來自其他圖像或視圖(view)的像素使用在畫面間預測處理中,且可將這些圖像或視圖藉由配置參數來特定。為了在幾個圖像或圖像中的像素中也確保連續性,有時必須進行旋轉。
作為參數的其他的例子,可列舉的有相機及透鏡的參數(例如,在相機中使用的焦點距離、主點、比例係數、影像感測器的形式等)。作為參數的另外其他例子,有與相機的配置相關之物理上的資訊(例如,相機的位置、相機的角度等)。
接著,在步驟S202中,解碼裝置是藉由根據已解讀出的這些參數之適應性動態圖像解碼工具,對圖像進行解碼。在適應性動態圖像解碼工具中,可包含畫面間預測處理。在整組的適應性動態圖像解碼工具中,亦可包含圖像再構成處理。再者,動態圖像解碼工具或適應性動態圖像解碼工具,是和上述的動態圖像編碼工具或適應性動態圖像編碼工具相同或與其對應的工具。
<畫面間預測中的失真補正>
圖16是顯示可適應於下述情況的畫面間預測處理之流程圖:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為由1個以上的圖像接合而成之情況下。如圖16所示,在步驟S1901中,解碼裝置會根據寫入標頭的參數,判定圖像內的某個位置是失真中心或主點。圖17是顯示由魚眼透鏡所產生的歪曲像差之一例。隨著焦點軸遠離失真中心,擴大是沿著焦點軸而減少。因此,在步驟S1902中,解碼裝置亦可根據失真中心來補正失真、或為了讓用於將圖像以直線形式形成所進行的補正還原,而對圖像內的像素進行搭接處理。也就是說,解碼裝置會對作為解碼的處理對象之失真的圖像之區塊進行圖像補正處理(亦即搭接處理)。最後,解碼裝置可以在步驟S1903中,根據已進行搭接處理的圖像之像素,進行導出預測樣本的區塊之區塊預測。又,解碼裝置亦可使已預測的區塊之預測區塊還原到進行圖像補正處理之前的原本之失真狀態,且將失真狀態的預測區塊作為失真的處理對象區塊之預測圖像來使用。
在已適應的畫面間預測處理之另外的例子中,包含有已適應的運動向量處理。相較於靠近失真中心的圖像區塊,遠離失真中心的圖像區塊之運動向量的解析度較低。例如,遠離失真中心的圖像區塊亦可具有達半像素精度的運動向量精度。另一方面,靠近失真中心的圖像區塊亦可具有達1/8像素精度之較高的運動向量精度。由於在已適應的運動向量精度中,會依據圖像區塊位置而產生差異,因此在位元流中已編碼的運動向量精度亦可因應於運動向量的結束位置及/或開始位置而適應。也就是說,解碼裝置亦可利用參數,而因應於區塊的位置來使運動向量的精度不同。
在已適應的畫面間預測處理的另外的例子中,包含有已適應的運動補償處理,在此運動補償處理中,亦可為了預測來自對象之視圖的圖像樣本,而使用來自不同視圖的像素,其中該對象之視圖是基於在標頭中寫入的配置參數。例如,依據等距離圓柱投影法、立方體的3x2布局、立方體的4x3布局等360度圖像的形式,所接合的圖像內之圖像的配置會不同。配置參數是根據圖像的配置,為了特定一定方向下的圖像之連續性而被使用。在運動補償處理中,可以將來自其他圖像或其他視圖的像素使用在畫面間預測處理中,且可將這些圖像或視圖藉由配置參數來特定。為了在幾個圖像或圖像中的像素中也確保連續性,有時必須進行旋轉。
也就是說,解碼裝置亦可進行確保連續性的處理。例如,解碼裝置對圖15所示之接合圖像進行編碼的情況下,亦可以根據該參數來進行搭接處理。具體來說,解碼裝置會和上述編碼裝置同樣地將各圖像再配置成使圖像A與圖像B連續。藉此,於圖像A及圖像B分離而顯現的物件會連續,而可以提升編碼效率。
<畫面間預測中的填充(padding)>
圖18是顯示可適應於下述情況的畫面間預測處理之變形例的流程圖:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為是由2個以上的圖像接合而成之情況下。如圖18所示,解碼裝置是根據從標頭解讀出的參數,在步驟S2001中使圖像的區域特定為空閒區域。這些空閒區域並未包含有所拍攝到的圖像之像素,且一般而言是會被置換為預定的像素值(例如黑色像素)之圖像的區域。圖13所顯示的是圖像內的這些區域之例。圖15是顯示在接合複數個圖像的情況中的這些區域的另外的例子之圖。接著,解碼裝置會在圖18的步驟S2002中,於運動補償處理中,將這些已特定的區域內之像素,以非圖像的其他空閒區域之其他區域的值來進行填充處理。經填充處理之值是因應於物理上的三維空間,而可為來自非空閒區域的區域中的最近的像素、或是最近的像素之值。最後,在步驟S2003中,解碼裝置會為了根據已填充處理的值來生成預測樣本的區塊而進行區塊預測。
<圖像再構成中的失真補正>
圖19是顯示可適應於下述情況的圖像再構成處理之流程圖:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為是由2個以上的圖像接合而成之情況下。如圖19所示,解碼裝置是根據從標頭解讀出的參數,而在步驟S1801中將圖像內的位置判定作為失真中心或主點。圖17是顯示由魚眼透鏡所產生的歪曲像差之一例。隨著焦點的軸心遠離失真中心,擴大是沿著焦點的軸心而減少。因此,在步驟S1802中,解碼裝置亦可根據失真中心來對圖像內的再構成像素補正失真、或者為了讓用於將圖像以直線形式形成所進行的補正還原,而進行搭接處理。例如,解碼裝置是將藉由逆轉換生成的預測誤差之圖像、與預測圖像作加法運算,藉此生成再構成圖像。此時,解碼裝置會為了將預測誤差的圖像及預測圖像分別以直線形式形成,而進行搭接處理。
最後,在步驟S1803中,解碼裝置會將根據已進行搭接處理的圖像之像素所再構成的圖像之區塊,保存至記憶體。
<圖像再構成中的像素值之置換>
圖20是顯示可適應於下述情況的圖像再構成處理之變形例:將圖像特定為使用非直線透鏡而被拍攝的情況下、或者將圖像特定為以直線形式被處理的情況下、或者將圖像特定為是由1個以上的圖像接合而成之情況下。如圖20所示,解碼裝置是根據從標頭解讀出的參數,而在步驟S2001中,將圖像的區域特定作為空閒區域。這些空閒區域並未包含已拍攝的圖像之像素,且一般而言是被置換為預定的像素值(例如黑色像素)之圖像的區域。圖13所顯示的是圖像中的這些區域之例。圖15是顯示在接合複數個圖像的情況中的這些區域的另外的例子之圖。接著,在步驟S2102中,解碼裝置會再構成圖像樣本的區塊。
又,在步驟S2103中,解碼裝置是將這些已特定的區域內之再構成的像素置換為預定的像素值。
<解碼處理的省略>
在圖24的步驟S202中,在圖像之適應性動態圖像解碼工具之可能的另外的變形例中,亦可省略圖像的解碼處理。也就是說,解碼裝置亦可根據關於與圖像的布局配置相關而解讀出的參數、以及根據使用者的眼睛之視線或頭的方向之有效的(active)視圖區域之資訊來省略圖像的解碼處理。亦即,解碼裝置是進行部分解碼處理。
圖21是顯示有關於由不同相機所拍攝到的不同視圖之使用者的視線之視角或頭的方向之一例。如同圖所示,使用者的視角是位於僅由來自視圖1之相機所拍攝的圖像內。在這個例子中,由於來自其他視圖的圖像是位於使用者的視角外,因此毋需進行解碼。因此,為了降低解碼的複雜性、或者為了減少壓縮圖像的傳送位元率,可以省略對於這些圖像的解碼處理或顯示處理。在圖示的另外的可能的一個例子中,由於視圖5及視圖2在物理上接近有效的視圖1,因此來自視圖5的圖像及來自視圖2的圖像也會被解碼。這些圖像雖然在當前的時間點下並不會向觀看者(viewer)或使用者顯示,但可在觀看者改變本身的頭之方向時,向觀看者或使用者顯示。因應於使用者之頭的活動而對視圖進行解碼以使其減少顯示的時間,藉此當使用者變更頭的方向時,為了提升使用者的視聽體驗,可盡快地顯示這些圖像。
圖22是顯示使用者對於由不同相機所拍攝的不同視圖之視線的角度或頭的方向之另外的一個例子。在此,有效的視線區域是位於來自視圖2的圖像內。因此,可將來自視圖2的圖像解碼並向使用者顯示。在此,解碼裝置會預測被推定為觀看者的頭即將活動的範圍,定義更廣的區域作為可能成為將來的框(frame)之視線區域的範圍。解碼裝置並非在對象之有效的視線區域內,而是將來自位於更廣之將來的視線區域內的(視圖2以外的)視圖之圖像也進行解碼。也就是說,不只是來自視圖2的圖像,來自圖22所示之可能視線區域至少一部分為重複的頂視圖及視圖1之圖像也會被解碼。藉此,即可將圖像以可在觀看者這邊更快速地繪製視圖的方式顯示。來自其餘的視圖(視圖3、視圖4及下方的視圖)的圖像則不會被解碼,而可省略這些圖像的解碼處理。
[解碼裝置]
圖25是顯示本實施形態中將動態圖像進行解碼的解碼裝置之構成的方塊圖。
解碼裝置1000是為了生成解碼動態圖像而用於按每個區塊將已輸入的編碼動態圖像(亦即輸入位元流)進行解碼的裝置,且相當於實施形態1的解碼裝置200。如圖25所示,解碼裝置1000具備熵解碼部1001、反量化部1002、逆轉換部1003、區塊記憶體1004、框記憶體1005、加法部1022、框內預測部1006及框間預測部1007。
輸入位元流是輸入到熵解碼部1001。之後,熵解碼部1001會對輸入位元流進行熵解碼,且將藉由該熵解碼而得到的值(亦即量化值)輸出至反量化部1002。熵解碼部1001會進一步從輸入位元流解讀參數,且將該參數輸出至框間預測部1007及加法部1022。
反量化部1002會將藉由熵解碼得到的值進行反量化,且將頻率係數輸出至逆轉換部1003。逆轉換部1003會將頻率係數進行逆頻率轉換而將頻率係數轉換為樣本值(亦即像素值),且將得到的像素值輸出至加法部1022。加法部1022會將得到的像素值,對從框內預測部1006或框間預測部1007輸出的預測圖像之像素值作加法運算。也就是說,加法部1022會進行生成再構成圖像之圖像再構成處理。加法部1022會將藉由加法運算而得到的值(亦即解碼圖像)輸出至顯示器,且為了進行更進一步的預測,而將該得到的值輸出至區塊記憶體1004或框記憶體1005。
框內預測部1006會進行畫面內預測。也就是說,框內預測部1006是利用保存在區塊記憶體1004而和處理對象區塊的圖片相同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。框間預測部1007會進行畫面間預測。也就是說,框間預測部1007會利用保存在框記憶體1005而和處理對象區塊的圖片不同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。
在此,在本實施形態中,框間預測部1007及加法部1022會使根據已解讀出的參數之處理適應。也就是說,框間預測部1007及加法部1022是進行依照圖16、圖18、圖19及圖20所示之流程圖的處理,作為藉由上述之適應性動態圖像解碼工具進行的處理。
(實施形態3)
[編碼處理]
說明圖26所示之本揭示的實施形態3中對使用非直線透鏡而拍攝到的圖像進行動態圖像編碼處理的方法。
圖26是顯示本實施形態中的動態圖像編碼處理之一例的流程圖。
在步驟S301中,編碼裝置會將整組參數寫入標頭。圖12是顯示在已壓縮的動態圖像位元流中上述標頭的可能的位置。在已寫入的參數中,包含有關於相機的位置之1個以上的參數。在已寫入的參數中,亦可更包含1個以上的下述參數:有關於相機角度的參數、或有關於針對接合複數個圖像的方法之指示的參數。
作為參數的其他例子,可包含相機及透鏡的參數(例如,在相機中使用的焦點距離、主點、比例係數、影像感測器的形式等)。作為參數的又一個例子,可包含有關於相機的配置之物理上的資訊(例如,相機的位置、相機的角度等)。
在本實施形態中寫入標頭的上述各參數,也稱為相機參數或接合參數。
圖15所顯示的是將來自2台以上的相機之圖像接合的方法的一個例子。圖14所顯示的是將來自2台以上的相機之圖像接合的方法的另外的例子。
接著,在步驟S302中,編碼裝置會將圖像進行編碼。在步驟S302中,也可以根據已接合的圖像來將編碼處理進行適應。例如,編碼裝置亦可在運動補償處理中,取代與已解碼的圖像相同大小的圖像(亦即,未接合的圖像),而將更大的已接合之圖像作為參照圖像來參照。
最後,在步驟S303中,編碼裝置是根據已寫入的參數,將已在步驟S302中編碼並再構成的圖像之第1圖像與第2圖像接合,以製作更大的圖像。藉由接合所得到的圖像亦可使用在未來的框之預測(亦即畫面間預測或運動補償)上。
圖27是顯示使用已寫入標頭的參數之接合處理的流程圖。在步驟S2401中,編碼裝置是從對對象的圖像寫入的參數中決定相機參數或接合參數。同樣地,在步驟S2402中,編碼裝置是從對其他圖像寫入的參數中決定其他圖像的相機參數或接合參數。最後,在步驟S2403中,編碼裝置是使用這些已決定的參數並接合圖像,而製作更大的圖像。這些已決定的參數是寫入到標頭。再者,編碼裝置亦可進行配置或再配置複數個圖像的搭接處理或框封裝,以更加提升編碼效率。
[編碼裝置]
圖28是顯示本實施形態中將動態圖像進行編碼的編碼裝置之構成的方塊圖。
編碼裝置1100是為了生成輸出位元流而用於按每個區塊將輸入動態圖像進行編碼的裝置,且相當於實施形態1的編碼裝置100。如圖28所示,編碼裝置1100具備轉換部1101、量化部1102、反量化部1103、逆轉換部1104、區塊記憶體1105、框記憶體1106、框內預測部1107、框間預測部1108、減法部1121、加法部1122、熵編碼部1109、參數導出部1110及圖像接合部1111。
輸入動態圖像的圖像(亦即處理對象區塊)是被輸入至減法部1121,且經減法運算的值被輸出至轉換部1101。也就是說,減法部1121是從處理對象區塊減去預測圖像,藉此算出預測誤差。轉換部1101會將經減法運算的值(亦即預測誤差)轉換為頻率係數,且將得到的頻率係數輸出至量化部1102。量化部1102會將所輸入的頻率係數進行量化,且將得到的量化值輸出至反量化部1103及熵編碼部1109。
反量化部1103會將量化部1102所輸出的樣本值(亦即量化值)進行反量化,且將頻率係數輸出至逆轉換部1104。逆轉換部1104會對頻率係數進行逆頻率轉換,藉此將該頻率係數轉換為圖像的樣本值,亦即像素值,且將其結果得到的樣本值輸出至加法部1122。
加法部1122是將從逆轉換部1104輸出的樣本值,對從框內預測部1107或框間預測部1108輸出的預測圖像之像素值作加法運算。加法部1122為了進行更進一步的預測,是將得到的相加值輸出至區塊記憶體1105或框記憶體1106。
參數導出部1110與實施形態1同樣,會將有關於圖像的接合處理之參數、或有關於相機的參數從圖像中導出,並輸出至圖像接合部1111及熵編碼部1109。也就是說,此參數導出部1110會執行圖27所示之步驟S2401及S2402的處理。例如,在輸入動態圖像中亦可包含有這些參數,在此情形下,參數導出部1110會將動態圖像中所包含的參數提取並輸出。又,在輸入動態圖像中,也可以包含有成為用於導出這些參數的基礎之參數。在此情形下,參數導出部1110是提取動態圖像中所包含的基礎之參數,且將該提取的基礎之參數轉換為上述各參數並輸出。
如圖26的步驟S303及圖27的步驟S2403所示,圖像接合部1111是利用參數而將再構成的對象圖像接合至其他圖像。之後,圖像接合部1111會將已接合的圖像輸出至框記憶體1106。
框內預測部1107會進行畫面內預測。也就是說,框內預測部1107是利用保存在區塊記憶體1105而和處理對象區塊的圖片相同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。框間預測部1108會進行畫面間預測。也就是說,框間預測部1108會利用保存在框記憶體1106而和處理對象區塊的圖像之圖片不同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。此時,框間預測部1108亦可將保存在框記憶體1106且藉由圖像接合部1111接合複數個圖像所得到的較大的圖像作為參照圖像來參照。
熵編碼部1109是將量化部1102所輸出的量化值進行編碼,且從參數導出部1110取得參數,而輸出位元流。也就是說,熵編碼部1109會將量化值及參數進行熵編碼,且將該參數寫入位元流的標頭。
[解碼處理]
圖29是顯示本實施形態中的動態圖像解碼處理之一例的流程圖。
在步驟S401中,解碼裝置是從標頭中解讀整組參數。圖12所顯示的是在已壓縮的視訊位元流中的上述標頭的可能的位置。已解讀出的參數包含有關於相機的位置之1個以上之參數。已解讀出的參數亦可更包含1個以上的下述參數:有關於相機角度的參數、或有關於針對接合複數個圖像的方法之指示的參數。作為參數的其他例子,可包含相機與透鏡的參數(例如在相機中使用的焦點距離、主點、比例係數、影像感測器的形式等)。作為參數的又一個例子,可包含有關於相機的配置之物理上的資訊(例如,相機的位置、相機的角度等)。
圖15所顯示的是將來自2台以上的相機之圖像接合的方法之一例。圖14所顯示的是將來自2台以上的相機之圖像接合的方法的另外的例子。
接著,在步驟S402中,解碼裝置會將圖像進行解碼。在步驟S402中的解碼處理,亦可根據已接合的圖像來適應。例如,解碼裝置亦可在運動補償處理中,取代與解碼圖像相同大小的圖像(亦即,未接合的圖像),而將已接合之更大的圖像作為參照圖像來參照。
又,最後,在步驟S403中,解碼裝置是根據已解讀出的參數,將已在步驟S402中再構成的圖像之第1圖像與第2圖像接合,以製作更大的圖像。藉由接合所得到的圖像,亦可使用在未來的圖像之預測(亦即畫面間預測或運動補償)上。
圖27是顯示使用已解讀出的參數之接合處理的流程圖。在步驟S2401中,解碼裝置是藉由解讀對對象圖像的標頭來決定相機參數或接合參數。同樣地,在步驟S2402中,解碼裝置是藉由解讀對其他圖像的標頭,來決定相機參數或接合參數。最後,在步驟S2403中,解碼裝置是使用這些已解讀出的參數並接合圖像,而製作更大的圖像。
[解碼裝置]
圖30是顯示本實施形態中將動態圖像進行解碼的解碼裝置之構成的方塊圖。
解碼裝置1200是將已輸入的編碼動態圖像(亦即輸入位元流)按每個區塊進行解碼並輸出解碼動態圖像的裝置,且相當於實施形態1的解碼裝置200。如圖30所示,解碼裝置1200具備熵解碼部1201、反量化部1202、逆轉換部1203、區塊記憶體1204、框記憶體1205、加法部1222、框內預測部1206、框間預測部1207及圖像接合部1208。
輸入位元流是輸入到熵解碼部1201。之後,熵解碼部1201會對輸入位元流進行熵解碼,且將藉由該熵解碼而得到的值(亦即量化值)輸出至反量化部1202。熵解碼部1201會進一步從輸入位元流中解讀參數,且將該參數輸出至圖像接合部1208。
圖像接合部1208是利用參數而將再構成的對象圖像接合至其他的圖像。之後,圖像接合部1208會將藉由接合得到的圖像輸出至框記憶體1205。
反量化部1202會將藉由熵解碼得到的值進行反量化,且將頻率係數輸出至逆轉換部1203。逆轉換部1203會將頻率係數進行逆頻率轉換,而將頻率係數轉換為樣本值(亦即像素值),且將其結果得到的像素值輸出至加法部1222。加法部1222會將其結果得到的像素值,對從框內預測部1206或框間預測部1207輸出的預測圖像之像素值作加法運算。加法部1222會將藉由加法運算而得到的值(亦即解碼圖像)輸出至顯示器,且為了更進一步的預測,而將該得到的值輸出至區塊記憶體1204或框記憶體1205。
框內預測部1206會進行畫面內預測。也就是說,框內預測部1206是利用保存在區塊記憶體1204而和處理對象區塊的圖片相同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。框間預測部1207會進行畫面間預測。也就是說,框間預測部1207會利用保存在框記憶體1205而和處理對象區塊的圖片不同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。
(實施形態4)
[編碼處理]
針對由圖31所示之本揭示的實施形態4進行之將使用非直線透鏡而拍攝的圖像進行動態圖像編碼處理的方法作說明。
圖31是顯示本實施形態中的動態圖像編碼處理之一例的流程圖。
在步驟S501中,編碼裝置會將整組參數寫入標頭。圖12是顯示在已壓縮的動態圖像位元流中上述標頭的可能的位置。在已寫入的參數中,包含與顯示圖像是否以非直線透鏡拍攝的識別碼有關的1個以上的參數。如圖13所示,所拍攝到的圖像亦可因圖像的拍攝中所使用的透鏡之特性而失真。作為已寫入的參數之一例,為表示失真之中心或主軸的位置之參數。
接著,在步驟S502中,編碼裝置是藉由根據已寫入的參數之適應性動態圖像編碼工具,對圖像進行編碼。在適應性動態圖像編碼工具中,可包含運動向量預測處理。在整組的適應性動態圖像編碼工具中,亦可包含畫面內預測處理。
<畫面內預測處理>
圖32是顯示根據已寫入的參數而適應的畫面內預測處理之流程圖。如圖32所示,在步驟S2201中,編碼裝置是根據已寫入的參數,將圖像內的某個位置判定作為失真中心或主點。接著,在步驟S2202中,編碼裝置會利用空間上相鄰近的像素值來預測一個樣本群組。樣本群組是例如處理對象區塊等的像素群。
最後,在步驟S2203中,編碼裝置會對已預測的樣本群組,利用已判定的失真中心或主點來進行搭接處理,且生成預測樣本的區塊。例如,編碼裝置亦可使該預測樣本的區塊之圖像失真,並將該失真的圖像使用作為預測圖像。
<運動向量預測>
圖33是顯示根據已寫入的參數而適應的運動向量預測處理之流程圖。如圖33所示,在步驟S2301中,編碼裝置是根據已寫入的參數,將圖像內的某個位置判定作為失真中心或主點。接著,在步驟S2302中,編碼裝置會從空間上或時間上相鄰的運動向量中預測運動向量。
最後,在步驟S2303中,編碼裝置是利用已判定的失真中心或主點,補正已預測的運動向量之方向。
[編碼裝置]
圖34是顯示在本實施形態中將動態圖像進行編碼的編碼裝置的構成之方塊圖。
編碼裝置1300是為了生成輸出位元流而用於按每個區塊將輸入動態圖像進行編碼的裝置,且相當於實施形態1的編碼裝置100。如圖34所示,編碼裝置1300具備轉換部1301、量化部1302、反量化部1303、逆轉換部1304、區塊記憶體1305、框記憶體1306、框內預測部1307、框間預測部1308、減法部1321、加法部1322、熵編碼部1309及參數導出部1310。
輸入動態圖像的圖像(亦即處理對象區塊)是被輸入至減法部1321,且經減法運算的值被輸出至轉換部1301。也就是說,減法部1321是從處理對象區塊減去預測圖像,藉此算出預測誤差。轉換部1301會將經減法運算的值(亦即預測誤差)轉換為頻率係數,且將其結果得到的頻率係數輸出至量化部1302。量化部1302會將所輸入的頻率係數進行量化,且將其結果得到的量化值輸出至反量化部1303及熵編碼部1309。
反量化部1303會將從量化部1302所輸出的樣本值(亦即量化值)進行反量化,且將頻率係數輸出至逆轉換部1304。逆轉換部1304會對頻率係數進行逆頻率轉換,而將頻率係數轉換為圖像的樣本值、亦即像素值,且將其結果得到的樣本值輸出至加法部1322。
參數導出部1310與實施形態1同樣,會從圖像中導出與顯示該圖像是否是以非直線透鏡拍攝的識別碼有關的1個以上的參數(具體來說,是表示失真中心或主點的參數)。並且,參數導出部1310會將導出的參數輸出至框內預測部1307、框間預測部1308及熵編碼部1309。例如,在輸入動態圖像中亦可包含有這些參數,在此情形下,參數導出部1310會將動態圖像中所包含的參數提取並輸出。又,在輸入動態圖像中,亦可包含有成為用於導出這些參數的基礎之參數。在此情形下,參數導出部1310是提取動態圖像中所包含的基礎之參數,且將該提取的基礎之參數轉換為上述各參數並輸出。
加法部1322是將從逆轉換部1304輸出之圖像的樣本值,對從框內預測部1307或框間預測部1308輸出的預測圖像之像素值作加法運算。加法部922為了進行更進一步的預測,是將得到的相加值輸出至區塊記憶體1305或框記憶體1306。
框內預測部1307會進行畫面內預測。也就是說,框內預測部1307是利用保存在區塊記憶體1305而和處理對象區塊的圖片相同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。框間預測部1308會進行畫面間預測。也就是說,框間預測部1308會利用框記憶體1306內和處理對象區塊的圖片不同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。
在此,在本實施形態中,框內預測部1307及框間預測部1308是進行根據藉由參數導出部1310所導出的參數之處理。也就是說,框內預測部1307及框間預測部1308是各自進行依照圖32及圖33所示之流程圖的處理。
熵編碼部1309是將量化部1302所輸出的量化值、以及由參數導出部1310所導出的參數進行編碼,並輸出位元流。也就是說,熵編碼部1309會將該參數寫入至位元流的標頭中。
[解碼處理]
圖35是顯示本實施形態中的動態圖像解碼處理之一例的流程圖。
在步驟S601中,解碼裝置是從標頭中解讀整組參數。圖12是顯示在已壓縮的動態圖像位元流中上述標頭的可能的位置。在已解讀出的參數中,包含與顯示圖像是否以非直線透鏡拍攝的識別碼有關的1個以上的參數。如圖13所示,所拍攝到的圖像亦可因圖像的拍攝中所使用的透鏡之特性而失真。作為已解讀出的參數之一例,可為表示失真的中心或主軸的位置之參數。
接著,在步驟S602中,解碼裝置是根據這些已解讀出的參數並藉由適應性動態圖像解碼工具,對圖像進行解碼。適應性動態圖像解碼工具包含運動向量預測處理。適應性動態圖像解碼工具亦可包含畫面內預測處理。再者,動態圖像解碼工具或適應性動態圖像解碼工具,是和上述的動態圖像編碼工具或適應性動態圖像編碼工具相同或與其對應的工具。
<畫面內預測處理>
圖32是顯示根據已解讀出的參數而適應的畫面內預測處理之流程圖。如圖32所示,在步驟S2201中,解碼裝置是根據已解讀出的參數,將圖像內的某個位置判定作為失真中心或主點。接著,在步驟S2202中,解碼裝置會利用空間上相鄰近的像素值來預測一個樣本群組。最後,在步驟S2203中,解碼裝置會對已預測的樣本群組,利用已判定的失真中心或主點來進行搭接處理,且生成預測樣本的區塊。例如,解碼裝置亦可使該預測樣本的區塊之圖像失真,並將該失真的圖像使用作為預測圖像。
<運動向量預測>
圖33是顯示根據已解讀出的參數而適應的運動向量預測處理之流程圖。如圖33所示,在步驟S2301中,解碼裝置是根據已解讀出的參數,將圖像內的某個位置判定作為失真中心或主點。接著,在步驟S2302中,解碼裝置會從空間上或時間上相鄰的運動向量中預測運動向量。最後,在步驟S2303中,解碼裝置是利用已判定的失真中心或主點,補正運動向量之方向。
[解碼裝置]
圖36是顯示本實施形態中將動態圖像進行解碼的解碼裝置之構成的方塊圖。
解碼裝置1400是用於將已輸入的編碼動態圖像(亦即輸入位元流)按每個區塊進行解碼並輸出解碼動態圖像的裝置,且相當於實施形態1的解碼裝置200。如圖36所示,解碼裝置1400具備熵解碼部1401、反量化部1402、逆轉換部1403、區塊記憶體1404、框記憶體1405、加法部1422、框內預測部1406及框間預測部1407。
輸入位元流是輸入到熵解碼部1401。之後,熵解碼部1401會對輸入位元流進行熵解碼,且將藉由該熵解碼而得到的值(亦即量化值)輸出至反量化部1402。熵解碼部1401會進一步從輸入位元流中解讀參數,且將該參數輸出至框間預測部1407及框內預測部1406。
反量化部1402會將藉由熵解碼得到的值進行反量化,且將頻率係數輸出至逆轉換部1403。逆轉換部1403會將頻率係數進行逆頻率轉換,而將頻率係數轉換為樣本值(亦即像素值),且將其結果得到的像素值輸出至加法部1422。加法部1422會將其結果得到的像素值,對從框內預測部1406或框間預測部1407輸出的預測圖像之像素值作加法運算。加法部1422會將藉由加法運算而得到的值(亦即解碼圖像)輸出至顯示器,且為了更進一步的預測,而將該得到的值輸出至區塊記憶體1404或框記憶體1405。
框內預測部1406會進行畫面內預測。也就是說,框內預測部1406是利用保存在區塊記憶體1404而和處理對象區塊的圖片相同的圖片中所包含的再構成圖像,來預測處理對象區塊的圖像。框間預測部1407會進行畫面間預測。也就是說,框間預測部1407會利用保存在框記憶體1405而和處理對象區塊的圖片不同的圖片中所包含的再構成圖像,來推定處理對象區塊的圖像。
在此,在本實施形態中,框間預測部1407及框內預測部1406會根據已解讀出的參數來使處理適應。也就是說,框間預測部1407及框內預測部1406是進行依照圖32及圖33所示之流程圖的處理,作為藉由適應性動態圖像解碼工具進行之處理。
(總結)
以上,雖然是利用各實施形態來說明本揭示的編碼裝置及解碼裝置的一個例子,但本揭示之一態樣的編碼裝置及解碼裝置並不限定於這些實施形態。
例如,在上述各實施形態中,編碼裝置是利用與圖像的失真有關之參數、或與圖像的接合有關之參數,來將動態圖像進行編碼,而解碼裝置是利用這些參數,來將已編碼的動態圖像進行解碼。但是,本揭示之一態樣的編碼裝置及解碼裝置也可以不進行利用了這些參數的編碼或解碼。也就是說,也可以不進行利用了上述實施形態中的適應性動態圖像編碼工具及適應性動態圖像解碼工具之處理。
圖37是本揭示之一態樣的編碼裝置的方塊圖。
本揭示之一態樣的編碼裝置1500是相當於實施形態1之編碼裝置100的裝置,如圖37所示,其具備轉換部1501、量化部1502、反量化部1503、逆轉換部1504、區塊記憶體1505、框記憶體1506、框內預測部1507、框間預測部1508、減法部1521、加法部1522及熵編碼部1509。再者,編碼裝置1500不具備有參數導出部910、1110及1310。
於編碼裝置1500中所包含的上述各構成要素,雖然會執行與上述實施形態1~4同樣的處理,但是不會進行使用了適應性動態圖像編碼工具之處理。也就是說,加法部1522、框內預測部1507及框間預測部1508是在不使用由各個實施形態2~4的參數導出部910、1110及1310所導出的參數的情形下,進行用於編碼的處理。
又,編碼裝置1500會取得動態圖像、及有關於該動態圖像的參數,且不使用該參數而將動態圖像進行編碼,藉此生成位元流,並將上述參數寫入至該位元流中。具體來說,是熵編碼部1509將參數寫入至位元流中。再者,寫入至位元流的參數之位置在任何位置皆可。
又,輸入至編碼裝置1500的上述動態圖像中所包含的各圖像(亦即圖片)亦可為已補正失真的圖像、或者亦可為將來自複數個視圖之圖像接合而得到的接合圖像。已補正失真的圖像是藉由補正由如非直線透鏡之廣角透鏡所拍攝到的圖像之失真,而得到的矩形之圖像。這種編碼裝置1500會將包含已補正該失真的圖像或接合圖像之動態圖像進行編碼。
在此,量化部1502、反量化部1503、逆轉換部1504、框內預測部1507、框間預測部1508、減法部1521、加法部1522及熵編碼部1509是作為例如處理電路而構成。此外,區塊記憶體1505及框記憶體1506是作為記憶體而構成。
也就是說,編碼裝置1500具備處理電路、以及連接於該處理電路的記憶體。此處理電路是利用記憶體,取得與第1處理及第2處理之中的至少1個處理有關之參數,該第1處理是補正由廣角透鏡所拍攝到的圖像之失真,該第2處理是接合複數個圖像,藉由將根據上述圖像或上述複數個圖像的處理對象之圖像進行編碼來生成編碼圖像,並將參數寫入至包含該編碼圖像的位元流中。
藉此,由於在位元流中寫入有上述參數,因此可以藉由使用該參數,而適當地處理編碼或解碼的圖像。
在此,在該參數的寫入中,亦可將參數寫入至位元流中的標頭。又,在處理對象的圖像之編碼中,亦可按該處理對象的圖像中所包含的每個區塊,將根據參數的編碼處理適應於該區塊,藉此將該區塊進行編碼。在此,該編碼處理亦可包含畫面間預測處理及圖像再構成處理之中的至少1個。
藉此,可以例如實施形態2,藉由將畫面間預測處理及圖像再構成處理作為適應性動態圖像編碼工具來使用,而將例如成為失真的圖像、或接合圖像之處理對象的圖像適當地進行編碼。其結果,可以提升對該處理對象之圖像的編碼效率。
又,在參數的寫入中,是將有關於上述第2處理的參數寫入至位元流中的標頭,而在處理對象的圖像之編碼中,亦可按藉由該第2處理而得到的處理對象之圖像中所包含的每個區塊,根據該參數來省略對該區塊的編碼處理。
藉此,可以例如實施形態2中的圖21及圖22所示,在接合圖像中所包含的複數個圖像之中,省略在不久的將來並不會被使用者注視的圖像中所包含之各區塊的編碼。其結果,可以謀求處理負擔的減輕、以及編碼量的減少。
又,在參數的寫入中,作為有關於上述第2處理的參數,亦可將複數個相機的各自的位置及相機角度之中的至少1個寫入位元流中的標頭。又,在處理對象的圖像之編碼中,亦可對成為上述之複數個圖像之中的1個的處理對象之圖像進行編碼,且利用寫入該標頭的參數,將處理對象的圖像與上述複數個圖像之中的其他圖像接合。
藉此,可以例如實施形態3,將藉由接合而得到的較大的圖像使用在畫面間預測或運動補償,而可以提升編碼效率。
又,在參數的寫入中,作為有關於上述第1處理的參數,亦可將表示圖像是否以廣角透鏡拍攝的參數、以及有關於因廣角透鏡所產生的歪曲像差之參數之中的至少1個,寫入位元流中的標頭內。又,在處理對象的圖像之編碼中,亦可按為藉由廣角透鏡所拍攝到的圖像之處理對象的圖像中所包含的每個區塊,將根據寫入該標頭的參數之編碼處理適應於該區塊,藉此將該區塊進行編碼。在此,該編碼處理亦可包含運動向量預測處理及畫面內預測處理之中的至少1個。
藉此,可以例如實施形態4,藉由將運動向量預測處理及畫面內預測處理使用作為適應性動態圖像編碼工具來使用,而將例如為失真的圖像之處理對象的圖像適當地進行編碼。其結果,可以謀求失真的圖像之編碼效率的提升。
又,編碼處理包含畫面間預測處理及畫面內預測處理之中的一個預測處理,該預測處理亦可包含搭接處理,該搭接處理是進行圖像中所包含的複數個像素之配置或再配置的處理。
藉此,可以例如實施形態2,補正處理對象的圖像之失真,並根據已補正的圖像適當地進行畫面間預測處理。又,可以例如實施形態4,對於失真的圖像進行畫面內預測處理,以使藉由該處理所得到的預測圖像配合失真的處理對象之圖像而適當地失真。其結果,可以謀求失真的圖像之編碼效率的提升。
又,編碼處理包含畫面間預測處理,該畫面間預測處理是對彎曲、傾斜或有角的圖像邊界之處理,且亦可包含使用了寫入上述標頭的參數之圖像的填充處理。
藉此,可以例如實施形態2,適當地進行畫面間預測處理,而可以提升編碼效率。
又,編碼處理包含畫面間預測處理及圖像再構成處理,該畫面間預測處理及圖像再構成處理亦可分別包含用於根據寫入上述標頭的參數來將像素值置換為預定之值的處理。
藉此,可以例如實施形態2,適當地進行畫面間預測處理及圖像再構成處理,而可以提升編碼效率。
又,在處理對象的圖像之編碼中,亦可將已編碼之處理對象的圖像再構成,且將再構成的處理對象之圖像及藉由與上述之其他圖像的接合而得到的圖像,作為使用於畫面間預測處理的參照框而保存至記憶體。
藉此,可以例如實施形態3,將藉由接合而得到的較大的圖像使用在畫面間預測或運動補償,而可以提升編碼效率。
再者,上述實施形態2~4的編碼裝置,是將下述動態圖像進行編碼:包含失真的圖像之動態圖像、包含接合圖像之動態圖像、或包含來自複數個視圖之未接合的圖像之動態圖像。但是,本揭示的編碼裝置,亦可為了動態圖像的編碼,而將該動態圖像中所包含的圖像之失真補正,亦可不將失真補正。在不補正失真的情形下,編碼裝置是取得包含事先藉由其他裝置補正該失真的圖像之動態圖像,並將該動態圖像進行編碼。同樣地,本揭示的編碼裝置,亦可為了動態圖像的編碼,而將該動態圖像中所包含的來自複數個視圖之圖像接合,亦可不進行接合。在不進行接合的情形下,編碼裝置是取得包含事先藉由其他裝置而將來自複數個視圖的圖像接合而成之圖像的動態圖像,並將該動態圖像進行編碼。又,本揭示的編碼裝置可進行全部的失真之補正,亦可只進行一部分。此外,本揭示的編碼裝置可進行所有來自複數個視圖的圖像之接合,亦可只進行一部分。
圖38是本揭示之一態樣的解碼裝置的方塊圖。
本揭示之一態樣的解碼裝置1600是相當於實施形態1之解碼裝置200的裝置,且如圖38所示,其具備熵解碼部1601、反量化部1602、逆轉換部1603、區塊記憶體1604、框記憶體1605、框內預測部1606、框間預測部1607及加法部1622。
於解碼裝置1600中所包含的上述各構成要素,雖然會執行與上述實施形態1~4同樣的處理,但是不會進行使用了適應性動態圖像解碼工具之處理。也就是說,加法部1622、框內預測部1606及框間預測部1607是在不使用包含於位元流中的上述參數的情形下,進行用於解碼的處理。
又,解碼裝置1600是取得位元流,且從該位元流中提取已編碼之動態圖像及參數,而在不使用該參數的情形下將已編碼之動態圖像進行解碼。具體來說,是熵解碼部1601從位元流中解讀參數。再者,寫入位元流的參數之位置在任何位置皆可。
又,輸入解碼裝置1600的位元流中所包含之各圖像(亦即已編碼之圖片)亦可為已補正失真的圖像、或者亦可為將來自複數個視圖之圖像接合而得到的接合圖像。已補正失真的圖像是藉由補正由如非直線透鏡之廣角透鏡所拍攝到的圖像之失真,而得到的矩形之圖像。這種解碼裝置1600是將包含已補正該失真的圖像或接合圖像之動態圖像進行解碼。
在此,熵解碼部1601、反量化部1602、逆轉換部1603、框內預測部1606、框間預測部1607及加法部1622是作為例如處理電路而構成。此外,區塊記憶體1604及框記憶體1605是作為記憶體而構成。
也就是說,解碼裝置1600具備處理電路、以及連接於該處理電路的記憶體。此處理電路是利用記憶體,取得包含編碼圖像的位元流,而從該位元流中解讀與第1處理及第2處理之中的至少1個處理有關之參數,以對該編碼圖像進行解碼,該第1處理是補正由廣角透鏡所拍攝的圖像之失真,該第2處理是接合複數個圖像。
藉此,可以藉由利用從位元流中解讀出的上述參數,而適當地處理編碼或解碼的圖像。
在此,在該參數的解讀中,亦可從位元流中的標頭解讀參數。又,在編碼圖像的解碼中,亦可按該編碼圖像中所包含的每個區塊,將根據參數的解碼處理適應於該區塊,藉此將該區塊進行解碼。在此,該解碼處理亦可包含畫面間預測處理及圖像再構成處理之中的至少1個。
藉此,可以例如實施形態2,藉由將畫面間預測處理及圖像再構成處理作為適應性動態圖像解碼工具來使用,而將例如成為失真的圖像或接合圖像之編碼圖像適當地進行解碼。
又,在參數的解讀中,是從位元流中的標頭解讀出有關於上述第2處理的參數,而在編碼圖像的解碼中,亦可按藉由該第2處理而得到的圖像之編碼所生成的編碼圖像中所包含的每個區塊,根據該參數來省略對該區塊的解碼處理。
藉此,可以例如實施形態2中的圖21及圖22所示,在為編碼圖像之接合圖像中所包含的複數個圖像之中,省略在不久的將來並不會被使用者注視的圖像中所包含之各區塊的解碼。其結果,可以謀求處理負擔的減輕。
又,在參數的解讀中,作為有關於上述第2處理的參數,亦可從位元流中的標頭解讀出複數個相機的各自的位置及相機角度之中的至少1個。又,在編碼圖像的解碼中,亦可對藉由上述複數個圖像之中的1個編碼而生成的編碼圖像進行解碼,且利用從該標頭解讀出的參數,將已解碼的編碼圖像,與上述複數個圖像之中的其他圖像接合。
藉此,可以例如實施形態3,將藉由接合而得到的較大的圖像使用在畫面間預測或運動補償,而可以適當地對已提升編碼效率的位元流進行解碼。
又,在參數的解讀中,作為有關於上述第1處理的參數,亦可從位元流中的標頭解讀出:表示圖像是否以廣角透鏡拍攝的參數、以及有關於因廣角透鏡所產生的歪曲像差之參數之中的至少1個。又,在編碼圖像的解碼中,亦可按藉由廣角透鏡而拍攝到的圖像之編碼所生成的編碼圖像中所包含的每個區塊,將根據從該標頭解讀出的參數之解碼處理適應於該區塊,藉此將該區塊進行解碼。在此,該解碼處理亦可包含運動向量預測處理及畫面內預測處理之中的至少1個。
藉此,可以例如實施形態4,藉由將運動向量預測處理及畫面內預測處理作為適應性動態圖像解碼工具來使用,而將例如為失真的圖像之編碼圖像適當地進行解碼。
又,解碼處理包含畫面間預測處理及畫面內預測處理之中的一個預測處理,該預測處理亦可包含搭接處理,該搭接處理是進行圖像中所包含的複數個像素之配置或再配置的處理。
藉此,可以例如實施形態2,補正編碼圖像的失真,並根據已補正的圖像適當地進行畫面間預測處理。又,可以例如實施形態4,對失真的編碼圖像進行畫面內預測處理,以使該結果得到的預測圖像配合該失真的編碼圖像而適當地失真。其結果,可以適當地預測為失真的圖像之編碼圖像。
又,解碼處理包含畫面間預測處理,該畫面間預測處理是對彎曲、傾斜或有角的圖像邊界之處理,且亦可包含使用了從上述標頭解讀出的參數之圖像的填充處理。
藉此,可以例如實施形態2,適當地進行畫面間預測處理。
又,解碼處理包含畫面間預測處理及圖像再構成處理,該畫面間預測處理及圖像再構成處理亦可分別包含用於根據從上述標頭解讀出的參數來將像素值置換為預定的值之處理。
藉此,可以例如實施形態2,適當地進行畫面間預測處理及圖像再構成處理。
又,在編碼圖像的解碼中,亦可對該編碼圖像進行解碼,且將已解碼的編碼圖像及藉由與上述之其他圖像的接合而得到的圖像,作為使用於畫面間預測處理的參照框而保存至記憶體。
藉此,可以例如實施形態3,將藉由接合而得到的較大的圖像使用在畫面間預測或運動補償。
再者,上述實施形態2~4的解碼裝置,是將下述位元流進行解碼:包含失真圖像的位元流、包含接合圖像的位元流、或者包含來自複數個視圖之未接合的圖像之位元流。但是,本揭示的解碼裝置,亦可為了位元流的解碼,而將該位元流中所包含的圖像之失真補正,亦可不將失真補正。在不補正失真的情形下,解碼裝置是取得包含事先藉由其他裝置補正該失真的圖像之位元流,並將該位元流進行解碼。同樣地,本揭示的解碼裝置,亦可為了位元流的解碼,而將該位元流中所包含的來自複數個視圖之圖像接合,亦可不進行接合。在不進行接合的情形下,解碼裝置是取得包含事先藉由其他裝置而將來自複數個視圖的圖像接合所生成的較大的圖像之位元流,並將該位元流進行解碼。又,本揭示的解碼裝置可進行全部的失真之補正,亦可只進行一部分。此外,本揭示的解碼裝置可進行所有來自複數個視圖的圖像之接合,亦可只進行一部分。
(其他實施形態)
在以上之各實施形態中,各個功能方塊通常可藉由MPU及記憶體等來實現。又,藉由各功能方塊所進行之處理,通常是藉由使處理器等之程式執行部將已記錄於ROM等之記錄媒體的軟體(程式)讀出並執行來實現。可將該軟體藉由下載等來發布,亦可記錄於半導體記憶體等之記錄媒體來發布。再者,當然也可以藉由硬體(專用電路)來實現各功能方塊。
又,在各實施形態中所說明之處理,可以藉由使用單一的裝置(系統)集中處理來實現、或者亦可藉由使用複數個裝置分散處理來實現。又,執行上述程式之處理器可為單個,亦可為複數個。亦即,可進行集中處理、或者亦可進行分散處理。
本發明不受以上之實施例所限定,可進行種種的變更,且該等亦包含於本發明之範圍內。
更進一步地,在此說明上述各實施形態所示之動態圖像編碼方法(圖像編碼方法)或動態圖像解碼方法(圖像解碼方法)的應用例與使用其之系統。該系統之特徵在於具有使用圖像編碼方法之圖像編碼裝置、使用圖像解碼方法之圖像解碼裝置、及具備兩者之圖像編碼解碼裝置。針對系統中的其他的構成,可以視情況適當地變更。
[使用例]
圖39是顯示實現內容傳遞服務(content delivery service)的內容供給系統ex100的整體構成之圖。可將通訊服務之提供區分割成所期望的大小,且在各胞區(cell)內分別設置有作為固定無線電台之基地台ex106、ex107、ex108、ex109、ex110。
在此內容供給系統ex100中,是透過網際網路服務提供者ex102或通訊網ex104、及基地台ex106~ex110,將電腦ex111、遊戲機ex112、相機ex113、家電ex114、及智慧型手機ex115等之各機器連接到網際網路ex101。該內容供給系統ex100亦可設成為使上述之任一要素組合並連接。亦可在不透過作為固定無線電台之基地台ex106~ex110的情況下,將各機器透過電話網或近距離無線等直接或間接地相互連接。又,串流伺服器(streaming server)ex103,是透過網際網路ex101等而與電腦ex111、遊戲機ex112、相機ex113、家電ex114、及智慧型手機ex115等之各機器相連接。又,串流伺服器ex103是透過衛星ex116而與飛機ex117內之熱點(hot spot)內的終端等連接。
再者,亦可取代基地台ex106~ex110 ,而使用無線存取點或熱點等。又,串流伺服器ex103可在不透過網際網路ex101或網際網路服務提供者ex102的情形下直接與通訊網ex104連接,亦可在不透過衛星ex116的情形下直接與飛機ex117連接。
相機ex113是數位相機等之可進行靜態圖攝影、及動態圖攝影之機器。又,智慧型手機ex115可為對應於一般稱作2G、3G、3.9G、4G、還有今後會被稱作5G的移動通訊系統之方式的智慧型電話機、攜帶電話機、或者PHS(Personal Handyphone System(個人手持電話系統))等。
家電ex118可為冰箱、或包含於家庭用燃料電池汽電共生系統(cogeneration system)之機器等。
在內容供給系統ex100中,是藉由具有攝影功能之終端通過基地台ex106等來連接到串流伺服器ex103,而使實況(live)傳遞等變得可行。在實況傳遞中,終端(電腦ex111、遊戲機ex112、相機ex113、家電ex114、智慧型手機ex115、及飛機ex117內之終端等),會對使用者使用該終端而攝影到之靜態圖或動態圖內容進行已在上述各實施形態所說明之編碼處理,並與已藉由編碼而得到之影像資料、與已將對應於影像之聲音編碼的聲音資料進行多工化,來將所獲得之資料傳送至串流伺服器ex103。亦即,各終端是作為本發明的一個態樣的圖像編碼裝置而發揮功能。
另一方面,串流伺服器ex103會對針對有要求之客戶端(client)所傳送之內容資料進行流(stream)傳遞。客戶端是指可將已經過上述編碼處理之資料解碼的電腦ex111、遊戲機ex112、相機ex113、家電ex114、智慧型手機ex115、及飛機ex117內之終端等。已接收到所傳遞之資料的各機器會將所接收到之資料解碼處理並播放。亦即,各機器是作為本發明之一個態樣的圖像解碼裝置而發揮功能。
[分散處理]
又,串流伺服器ex103為複數個伺服器或複數台電腦,亦可為將資料分散並處理或記錄以進行傳遞者。例如,串流伺服器ex103是藉由CDN(Contents Delivery Network(內容傳遞網路))而實現,亦可藉由分散於世界中的多數個邊緣伺服器(edge server)與於邊緣伺服器之間進行連接的網路來實現內容傳遞。在CDN上,會因應客戶來動態地分配在物理上相近之邊緣伺服器。並且,可以藉由將內容快取(cache)及傳遞至該邊緣伺服器來減少延遲。又,由於可以在發生某種錯誤時或因流量之增加等而改變通訊狀態時,以複數個邊緣伺服器將處理分散,或將傳遞主體切換為其他的邊緣伺服器,來繞過已發生障礙之網路部分並持續傳遞,因此可以實現高速且穩定的傳遞。
又,不僅是傳遞本身之分散處理,亦可將已攝影之資料的編碼處理在各終端進行,也可在伺服器側進行,亦可互相分擔來進行。作為一例,一般在編碼處理中,會進行2次處理迴路。在第1次的迴路中檢測在框或場景單位下之圖像的複雜度或編碼量。又,在第2次的迴路中進行維持畫質並提升編碼效率的處理。例如,可以藉由使終端進行第1次編碼處理,且使接收內容之伺服器側進行第2次編碼處理,而減少在各終端之處理負荷並且使其提升內容的質與效率。此時,只要有以近乎即時的方式接收並解碼的要求,也可以將終端已進行之第一次的編碼完成資料以其他終端接收並播放,因此也可做到更靈活的即時傳遞。
作為其他的例子,相機ex113等是由圖像中進行特徵量提取,並將與特徵量相關之資料作為元資料(meta data)來壓縮並傳送至伺服器。伺服器會進行例如從特徵量判斷物件之重要性並切換量化精度等的因應圖像之意義的壓縮。特徵量資料對於在伺服器之再度的壓縮時的運動向量預測之精度及效率提升特別有效。又,亦可在終端進行VLC(可變長度編碼)等之簡易的編碼,並在伺服器進行CABAC(上下文參考之適應性二元算術編碼方式)等處理負荷較大的編碼。
此外,作為其他的例子,在運動場、購物商場、或工廠等中,會有藉由複數個終端拍攝幾乎相同的場景之複數個影像資料存在的情況。此時,可利用已進行攝影之複數個終端、與因應需要而沒有進行攝影之其他的終端及伺服器,以例如GOP(Group of Picture(圖像群組))單位、圖片單位、或已將圖片分割而成之圖塊(tile)單位等來各自分配編碼處理並進行分散處理。藉此,可以減少延遲,而更能夠實現即時性(real-time)。
又,由於複數個影像資料幾乎為相同的場景,因此亦可在伺服器進行管理及/或指示成可互相地配合參照在各終端所攝影之影像資料。或者,亦可使伺服器接收來自各終端之編碼完成資料,並在複數個資料間變更參照關係、或者補正或更換圖片本身並重新編碼。藉此,可以生成已提高一個個資料之質與效率的流(stream)。
又,伺服器亦可在進行變更影像資料之編碼方式的轉碼(transcode)外再傳遞影像資料。例如,伺服器亦可將MPEG類之編碼方式轉換為VP類,亦可將H.264轉換為H.265。
如此,編碼處理即可藉由終端或1個以上之伺服器來進行。因此,以下雖然使用「伺服器」或「終端」等之記載來作為進行處理之主體,但亦可在終端進行在伺服器進行之處理的一部分或全部,也可在伺服器進行在終端進行之處理的一部分或全部。又,有關於這些,針對解碼處理也是同樣。
[3D、多角度]
近年來,將以彼此幾乎同步之複數台相機ex113及/或智慧型手機ex115等之終端所攝影到之不同的場景、或者將相同的場景從不同的角度所攝影之圖像或影像加以整合並利用的作法也在逐漸增加中。各終端所攝影到之影像會根據別的途徑取得的終端間之相對的位置關係、或者包含於影像之特徵點為一致的區域等而被整合。
伺服器不僅將二維之動態圖像編碼,亦可根據動態圖像之場景解析等而自動地、或者在使用者所指定之時刻中,將靜態圖編碼並傳送至接收終端。更進一步地,伺服器在可以取得攝影終端間之相對位置關係的情況下,不僅是二維動態圖像,還可以根據相同場景從不同的角度所攝影之影像,來生成該場景之三維形狀。再者,伺服器亦可將藉由點雲(point cloud)等而生成之三維的資料另外編碼,亦可根據使用三維資料來辨識或追蹤人物或物件的結果,從複數個終端所攝影之影像中選擇、或再構成並生成要傳送至接收終端的影像。
如此一來,使用者可以任意選擇對應於各攝影終端之各影像來享受場景,也可以享受從利用複數圖像或影像再構成之三維資料中切出任意視點的影像之內容。此外,與影像同樣地,聲音也可由複數個不同的角度進行收音,且伺服器亦可配合影像將來自特定之角度或空間的聲音與影像進行多工化並傳送。
又,近年來,Virtual Reality(虛擬實境,VR)及Augmented Reality(擴增虛擬實境,AR)等將現實世界與虛擬世界做對應之內容也逐漸普及。在VR圖像的情形下,伺服器可分別製作右眼用及左眼用之視點圖像,並藉由Multi-View Coding(多視圖編碼,MVC)等在各視點影像間進行容許參考之編碼,亦可不互相參考而作為另外的流來進行編碼。在另外的流之解碼時,可使其互相同步並播放成因應使用者之視點來重現虛擬的三維空間。
在AR圖像的情形下,伺服器會根據三維位置或使用者視點的活動,將虛擬空間上之虛擬物體資訊重疊於現實空間之相機資訊。解碼裝置亦可取得或保持虛擬物體資訊及三維資料,並因應使用者之視點的活動而生成二維圖像,並藉由順暢地連結來製作重疊資料。或者,亦可為解碼裝置除了虛擬物體資訊之委託之外還將使用者的視點之活動也傳送至伺服器,且伺服器配合從保持於伺服器之三維資料中所接收到的視點的活動來製作重疊資料,而將重疊資料編碼並傳遞至解碼裝置。再者,重疊資料亦可除了RGB以外還具有顯示穿透度的α值,伺服器將從三維資料所製作出之物件以外的部分之α值設定為0等,並在該部分為穿透的狀態下進行編碼。或者,伺服器亦可如色度鍵(chroma key)的形式將預定之值的RGB值設定為背景,而生成物件以外之部分為背景色的資料。
同樣地被傳遞之資料的解碼處理可在客戶端之各終端進行,也可在伺服器側進行,亦可互相分擔而進行。作為一例,亦可使某個終端暫時將接收要求傳送至伺服器,並在其他終端接收因應該要求之內容且進行解碼處理,再將解碼完成之訊號傳送至具有顯示器的裝置。藉由不依靠可通訊之終端本身的性能而將處理分散並選擇適當之內容,可以播放畫質良好的資料。又,作為其他之例,亦可以用TV等接收大尺寸之圖像資料,並將圖片分割後之圖塊等一部分的區域解碼並顯示於鑑賞者之個人終端。藉此,可以將整體影像共有化,並且可以就近確認自己負責的領域或想要更詳細確認之區域。
又,今後可預想到下述情形:不論屋內外,在近距離、中距離、或長距離之無線通訊為可複數使用的狀況下,利用MPEG-DASH等之傳遞系統規格,一邊對連接中之通訊切換適當之資料一邊無縫地接收內容。藉此,使用者不僅對本身之終端,連設置於屋內外之顯示器等的解碼裝置或顯示裝置都可一邊自由地選擇一邊即時切換。又,根據本身之位置資訊等,可以一邊切換解碼之終端及顯示之終端一邊進行解碼。藉此,變得也可在往目的地之移動中,一邊於埋入有可顯示之元件的鄰近之建築物的牆面或地面的一部分顯示地圖資訊,一邊進行移動。又,根據編碼資料被快取到可以在短時間內從接收終端進行存取之伺服器、或者被複製到內容傳遞伺服器(content delivery server)中的邊緣伺服器等之在網路上對編碼資料的存取容易性,切換接收資料之位元率(bit-rate)的作法也是可做到的。
[可調式編碼]
關於內容之切換,將利用圖40所示之應用上述各實施形態顯示之動態圖像編碼方法來進行壓縮編碼之可調整的流來作說明。雖然伺服器具有複數個內容相同而質卻不同的流來作為個別的流也無妨,但亦可為將利用如圖示地分層進行編碼之作法而實現的時間上/空間上可調整之流的特徵活用,來切換內容的構成。亦即,藉由使解碼側因應性能這種內在要因與通訊頻帶之狀態等的外在要因來決定要解碼至哪一層,解碼側即可以自由地切換低解析度之內容與高解析度之內容來解碼。例如,當想在回家後以網際網路TV等機器收看於移動中以智慧型手機ex115收看之影像的後續時,該機器只要將相同的流解碼至不同的層即可,因此可以減輕伺服器側的負擔。
此外,如上述,除了實現按每層將圖片都編碼,且在基本層之上位存在有增強層(enhancement layer)之可調整性(scalability)的構成以外,亦可使增強層包含根據圖像之統計資訊等的元資訊,且使解碼側根據元資訊將基本層之圖片進行超解析,藉此來生成已高畫質化之內容。所謂超解析可以是相同解析度中的SN比之提升、以及解析度之擴大之任一種。元資訊包含:用於特定於超解析處理中使用之線形或非線形的濾波係數之資訊、或者特定於超解析處理中使用之濾波處理、機械學習或最小平方運算中的參數值的資訊等。
或者,亦可為因應圖像內之物件等的含義而將圖片分割為圖塊等,且解碼側藉由選擇解碼之圖塊,而僅將一部分之區域解碼的構成。又,藉由將物件之屬性(人物、車、球等)與影像內之位置(同一圖像中的座標位置等)作為元資訊加以儲存,解碼側可以根據元資訊特定所期望之物件的位置,並決定包含該物件之圖塊。例如,如圖41所示,元資訊可使用HEVC中的SEI訊息等與像素資料為不同之資料保存構造而被保存。此元資訊是表示例如主物件之位置、尺寸、或色彩等。
又,亦可以流、序列或隨機存取單位等之由複數個圖片構成之單位來保存元資訊。藉此,解碼側可以取得特定人物出現在影像內之時刻等,且與圖片單位之資訊對照,藉此可以特定物件存在之圖片、以及在圖片內之物件的位置。
[網頁之最佳化]
圖42是顯示電腦ex111等中的網頁的顯示畫面例之圖。圖43是顯示智慧型手機ex115等中的網頁的顯示畫面例之圖。如圖42及圖43所示,網頁有包含複數個朝圖像內容之鏈接的鏈接圖像之情形,且其外觀會依閱覽之裝置而不同。當畫面上可看到複數個鏈接圖像時,直至使用者明確地選擇鏈接圖像、或者鏈接圖像接近畫面之中央附近或鏈接圖像之整體進入畫面內為止,顯示裝置(解碼裝置)是顯示具有各內容之靜態圖或框內編碼畫面(Intra Picture,I-Picture)作為鏈接圖像、或者以複數個靜態圖或框內編碼畫面(I-Picture)等顯示gif動畫之形式的影像、或者僅接收基本層來將影像進行解碼及顯示。
當已由使用者選擇出鏈接圖像時,顯示裝置會將基本層設為最優先來解碼。再者,只要有在構成網頁之HTML中顯示屬於可調整之內容的資訊,亦可使顯示裝置解碼至增強層。又,為了擔保即時性,在選擇之前或通訊頻帶非常嚴格時,顯示裝置藉由僅解碼及顯示前向參考(forward reference)之圖片(框內編碼畫面(I-Picture)、預測畫面(Predictive Picture,P- Picture)、僅前向參考之雙向預估編碼畫面(Bidirectionally Predictive Picture,B- Picture)),可以減低前頭圖片之解碼時刻與顯示時刻之間的延遲(從內容之解碼開始到顯示開始之間的延遲)。又,顯示裝置亦可特意無視圖片之參照關係而將所有的雙向預估編碼畫面(B- Picture)及預測畫面(P- Picture)設成前向參照來粗略地解碼,並隨著時間經過接收之圖片會增加而進行正常的解碼。
[自動行駛]
又,當為了汽車之自動行駛或支援行駛而傳送接收二維或三維之地圖資訊等的靜態圖或影像資料時,接收終端亦可除了屬於1個以上之層的圖像資料之外,也將天候或工程之資訊等接收作為元資訊,並將該等對應來解碼。再者,元資訊可以屬於層,亦可只與圖像資料進行多工化。
此時,由於包含接收終端之車、無人機(drone)或飛機等會移動,因此藉由接收終端在接收要求時傳送該接收終端之位置資訊,即可一邊切換基地台ex106~ex110一邊實現無縫的接收及解碼。又,接收終端會因應使用者之選擇、使用者之狀況或通訊頻帶的狀態,而變得可動態地切換要將元資訊接收到何種程度,或要將地圖資訊更新至何種程度。
如以上地進行,在內容供給系統ex100中,客戶端可即時地接收使用者所傳送之已編碼的資訊,並將其進行解碼、播放。
[個人內容之傳遞]
又,在內容供給系統ex100中,不僅是來自影像傳遞業者之高畫質且長時間的內容,來自個人之低畫質且短時間的內容的單播(unicast)、或多播(multicast)傳遞也是可做到的。又,這種個人的內容被認為今後也會持續增加下去。為了將個人內容做成更優良之內容,伺服器亦可在進行編輯處理之後進行編碼處理。這可藉由例如以下之構成來實現。
伺服器會在攝影時即時或累積於攝影後,從原圖或編碼完成資料中進行攝影錯誤、場景搜尋、意義解析、及物件檢測等之辨識處理。而且,伺服器會根據辨識結果以手動或自動方式進行下述編輯:補正失焦或手震等、刪除亮度較其他圖形低或未聚焦之場景等重要性低的場景、強調物件之邊緣、使色調變化等之編輯。伺服器會根據編輯結果來將編輯後之資料編碼。又,當攝影時刻太長時收視率會下降的情況也是眾所皆知的,伺服器亦可不僅將如上述之重要性低之場景,連動態較少的場景等,會根據圖像處理結果而以自動的方式進行剪輯,以因應攝影時間而成為特定之時間範圍內的內容。或者,伺服器亦可根據場景之意義解析的結果來生成摘錄並進行編碼。
再者,在個人內容中,也有照原樣的話會有造成侵害著作權、著作人格權、或肖像權等之內容攝入的案例,也有當共享的範圍超過所欲之範圍等對個人來說不方便的情況。據此,例如,伺服器亦可將畫面周邊部之人的臉、或房子之中等特意變更為未聚焦之圖像並編碼。又,伺服器亦可辨識是否有與事先登錄之人物不同的人物的臉照在編碼對象圖像內,並在有照出的情況下,進行將臉的部分打上馬賽克等之處理。或者,作為編碼的前處理或後處理,從著作權等之觀點來讓使用者於圖像中指定想要加工之人物或背景區域,則伺服器進行將所指定之區域置換為別的影像、或者使焦點模糊等之處理之作法也是可做到的。如果是人物,可以在動態圖像中一邊追蹤人物一邊置換臉之部分的影像。
又,由於資料量較小之個人內容的視聽對即時性的要求較強,因此,雖然也會取決於頻帶寬,但解碼裝置首先會最優先地接收基本層再進行解碼及播放。解碼裝置亦可在這段期間接收增強層,且於循環播放之情形等播放2次以上的情形下,將增強層也包含在內來播放高畫質的影像。只要是可進行像這樣可調整之編碼的流,就可以提供一種雖然在未選擇時或初次看到的階段是粗略的動態圖,但流會逐漸智能化(smart)而使圖像變佳的體驗。除了可調式編碼以外,以第1次播放之粗略的流、與參考第1次之動態圖而編碼之第2次的流作為1個流來構成也可以提供同樣的體驗。
[其他之使用例]
又,這些編碼或解碼處理一般是在各終端所具有之LSIex500中處理。LSIex500可為單晶片(one chip),亦可為由複數個晶片所構成。再者,亦可將動態圖像編碼或解碼用之軟體安裝到可以在電腦ex111等讀取之任何記錄媒體(CD-ROM、軟式磁碟(flexible disk)、或硬碟等),並使用該軟體進行編碼或解碼處理。此外,當智慧型手機ex115為附有相機時,亦可傳送以該相機取得之動態圖資料。此時之動態圖資料是以智慧型手機ex115具有之LSIex500編碼處理過之資料。
再者,LSIex500亦可為將應用軟體下載並啟動(activate)之構成。此時,終端首先會判定該終端是否對應於內容之編碼方式、或者是否具有特定服務之執行能力。當終端沒有對應於內容之編碼方式時、或者不具有特定服務之執行能力時,終端會下載編碼解碼器或應用軟體,然後,取得及播放內容。
又,不限於透過網際網路ex101之內容供給系統ex100,在數位播放用系統中也可以安裝上述實施形態之至少動態圖像編碼裝置(圖像編碼裝置)或動態圖像解碼裝置(圖像解碼裝置)之任一個。由於是利用衛星等來將影像與聲音已被多工化之多工資料乘載於播放用之電波來進行傳送接收,因此會有相對於內容供給系統ex100之容易形成單播的構成更適合多播的差別,但有關於編碼處理及解碼處理仍可為同樣之應用。
[硬體構成]
圖44是顯示智慧型手機ex115之圖。又,圖45是顯示智慧型手機ex115的構成例之圖。智慧型手機ex115具備:用於在與基地台ex110之間傳送接收電波的天線ex450、可拍攝影像及靜態圖之相機部ex465、顯示已將相機部ex465所拍攝到之影像以及在天線ex450所接收到之影像等解碼之資料的顯示部ex458。智慧型手機ex115更具備:觸控面板等之操作部ex466、用於輸出聲音或音響之揚聲器等的聲音輸出部ex457、用於輸入聲音之麥克風等之聲音輸入部ex456、可保存所攝影之影像或靜態圖、錄音之聲音、接收之影像或靜態圖、郵件等之已編碼的資料、或已解碼之資料的記憶體部ex467、及作為與SIMex468之間的介面部之插槽部ex464,該SIMex468是用於將使用者特定,且以網路為首對各種資料的存取進行認證。再者,亦可取代記憶體部ex467而使用外接記憶體。
又,統合地控制顯示部ex458及操作部ex466等之主控制部ex460是透過匯流排ex470而與電源電路部ex461、操作輸入控制部ex462、影像訊號處理部ex455、相機介面部ex463、顯示器控制部ex459、調變/解調部ex452、多工/分離部ex453、聲音訊號處理部ex454、插槽部ex464、及記憶體部ex467連接著。
電源電路部ex461在藉由使用者之操作而將電源鍵設成開啟狀態時,會藉由從電池組(battery pack)對各部供給電力而將智慧型手機ex115起動為可作動之狀態。
智慧型手機ex115會根據具有CPU、ROM及RAM等之主控制部ex460的控制,進行通話及資料通訊等之處理。通話時,是將以聲音輸入部ex456所收音之聲音訊號在聲音訊號處理部ex454轉換為數位聲音訊號,並以調變/解調部ex452對其進行展頻處理,以傳送/接收部ex451施行數位類比轉換處理及頻率轉換處理後,透過天線ex450傳送。又,將接收資料放大且施行頻率轉換處理及類比數位轉換處理,並以調變/解調部ex452進行解展頻處理,以聲音訊號處理部ex454轉換為類比聲音訊號後,由聲音輸出部ex457將其輸出。資料通訊模式時,藉由本體部之操作部ex466等的操作,透過操作輸入控制部ex462將正文(text)、靜態圖、或影像資料送出至主控制部ex460,而同樣地進行傳送接收處理。當在資料通訊模式時傳送影像、靜態圖、或影像與聲音的情形下,影像訊號處理部ex455會藉由在上述各實施形態中所示之動態圖像編碼方法,將保存於記憶體部ex467之影像訊號或從相機部ex465輸入之影像訊號壓縮編碼,並將已編碼之影像資料送出至多工/分離部ex453。又,聲音訊號處理部ex454會在以相機部ex465拍攝影像或靜態圖等中將以聲音輸入部ex456所收音之聲音訊號編碼,並將已編碼之聲音資料送出至多工/分離部ex453。多工/分離部ex453是以預定之方式將編碼完成影像資料與編碼完成聲音資料進行多工化,並以調變/解調部(調變/解調電路部)ex452、及傳送/接收部ex451施行調變處理及轉換處理並透過天線ex450傳送。
在已接收附加於電子郵件或網路聊天之影像、或鏈接至網頁等之影像的情形下,為了透過天線ex450將已接收之多工資料解碼,多工/分離部ex453會藉由分離多工資料,而將多工資料分成影像資料之位元流與聲音資料之位元流,再透過同步匯流排ex470將已編碼之影像資料供給至影像訊號處理部ex455,並且將已編碼之聲音資料供給至聲音訊號處理部ex454。影像訊號處理部ex455會藉由對應於上述各實施形態所示之動態圖像編碼方法的動態圖像解碼方法來解碼影像訊號,並透過顯示器控制部ex459從顯示部ex458顯示被鏈接之動態圖像檔案中所含的影像或靜態圖。又,聲音訊號處理部ex454會將聲音訊號解碼,並從聲音輸出部ex457輸出聲音。再者,由於即時串流(real time streaming)已普及,因此依據使用者的狀況,也可能在社會上不適合發出聲音的場所發生聲音的播放。因此,作為初始值較理想的是,在不使聲音訊號播放的情形下僅播放影像資料之構成。可僅在使用者進行點選影像資料等操作的情形下才將聲音同步播放。
又,此處雖然以智慧型手機ex115為例進行了說明,但是在作為終端方面,可考慮具有編碼器及解碼器兩者之傳送接收型終端,其他還有僅具有編碼器之傳送終端、以及僅具有解碼器之接收終端這3種組裝形式。此外,在數位播放用系統中,雖然是以接收或傳送已在影像資料中將音樂資料等多工化之多工資料來進行說明,但在多工資料中,亦可將聲音資料以外之與影像有關聯之文字資料等多工化,且亦可接收或傳送非多工資料而是影像資料本身。
再者,雖然設成使包含CPU之主控制部ex460控制編碼或解碼處理並進行了說明,但終端具備GPU的情況也很多。因此,也可以是藉由已在CPU與GPU共通的記憶體、或將地址管理成可以共通地使用的記憶體,來活用GPU之性能而將較寬廣區域一併處理的構成。藉此可以縮短編碼時間,確保即時性,而可以實現低延遲。特別是運動搜尋、解塊濾波方法(deblock filter)、SAO(Sample Adaptive Offset(取樣自適應偏移))、及轉換、量化之處理,在不利用CPU的情形下,利用GPU以圖片等單位一併進行時是有效率的。
産業上之可利用性
本揭示可以適用於例如電視、數位錄影機、汽車導航系統、行動電話、數位相機或數位攝影機等裝置,即,將圖像進行編碼的編碼裝置、或將已編碼之圖像進行解碼的解碼裝置等。
10~23:區塊
100,900,1100,1300,1500:編碼裝置
102:分割部
104,921,1121,1321,1521:減法部
106,901,1101,1301,1501:轉換部
108,902,1102,1302,1502:量化部
110,909,1109,1309,1509:熵編碼部
112,204,903,1002,1103,1202,1303,1402,1503,1602:反量化部
114,206,904,1003,1104,1203,1304,1403,1504,1603:逆轉換部
116,208,922,1022,1122,1222,1322,1422,1522,1622:加法部
118,210,905,1004,1105,1204,1305,1404,1505,1604:區塊記憶體
120,212:迴路濾波部
122,214,906,1005,1106,1205,1306,1405,1506,1605:框記憶體
124,216,907,1006,1107,1206,1307,1406,1507,1606:框內預測部
126,218,908,1007,1108,1207,1308,1407,1508,1607:框間預測部
128,220:預測控制部
200,1000,1200,1400,1600:解碼裝置
202,1001,1201,1401,1601:熵解碼部
910,1110,1310:參數導出部
1111,1208:圖像接合部
MV0,MV1,MVx
0,MVy
0,MVx
1,MVy
1,v
0,v
1:運動向量
Ref0,Ref1:參照圖片
TD0,TD1:距離
S101,S102,S201,S202,S301~S303,S401~S403,S501,S502,S601,S602,S1801~S1803,S1901~S1903,S2001~S2003,S2101~S2103,S2201~S2203,S2301~S2303,S2401~S2403:步驟
ex100:內容供給系統
ex101:網際網路
ex102:網際網路服務提供者
ex103:串流伺服器
ex104:通訊網
ex106,ex107,ex108,ex109,ex110:基地台
ex111:電腦
ex112:遊戲機
ex113:相機
ex114:家電
ex115:智慧型手機
ex116:衛星
ex117:飛機
ex450:天線
ex451:傳送/接收部
ex452:調變/解調部(調變/解調電路部)
ex453:多工/分離部
ex454:聲音訊號處理部
ex455:影像訊號處理部
ex456:聲音輸入部
ex457:聲音輸出部
ex458:顯示部
ex459:顯示器控制部
ex460:主控制部
ex461:電源電路部
ex462:操作輸入控制部
ex463:相機介面部
ex464:插槽部
ex465:相機部
ex466:操作部
ex467:記憶體部
ex468:SIM
ex470:匯流排
ex500:LSI
圖1是顯示實施形態1之編碼裝置的功能構成之方塊圖。
圖2是顯示實施形態1中的區塊分割的一例之圖。
圖3是顯示對應於各轉換類型的轉換基底函數之表格。
圖4A是顯示在ALF所用的濾波器之形狀的一例之圖。
圖4B是顯示在ALF所用的濾波器之形狀的其他的一例之圖。
圖4C是顯示在ALF所用的濾波器之形狀的其他的一例之圖。
圖5是顯示框內預測中的67個框內預測模式之圖。
圖6是用於說明沿著運動軌跡的2個區塊間的型樣匹配(雙向匹配)之圖。
圖7是用於說明在當前圖片內的模板與參照圖片內的區塊之間的型樣匹配(模板匹配)之圖。
圖8是用於說明假設了等速直線運動的模型之圖。
圖9是用於說明根據複數個相鄰區塊的運動向量之子區塊單位的運動向量的導出之圖。
圖10是顯示實施形態1之解碼裝置的功能構成之方塊圖。
圖11是顯示實施形態2中的動態圖像編碼處理之一例的流程圖。
圖12是顯示實施形態2中的位元流中之寫入有參數的標頭之可能的位置之圖。
圖13是顯示實施形態2中的拍攝圖像以及已進行圖像補正處理的處理完成圖像之圖。
圖14是顯示藉由實施形態2中的接合處理來接合複數個圖像而生成的接合圖像之圖。
圖15是顯示實施形態2中的複數個相機之配置、及將藉由這些相機所拍攝到的圖像接合而生成之包含空閒區域的接合圖像之圖。
圖16是顯示實施形態2中的畫面間預測處理或運動補償之流程圖。
圖17是顯示實施形態2中由非直線透鏡或魚眼透鏡所產生的桶形變形之一例的圖。
圖18是顯示實施形態2中的畫面間預測處理或運動補償的變形例之流程圖。
圖19是顯示實施形態2中的圖像再構成處理之流程圖。
圖20是顯示實施形態2中的圖像再構成處理的變形例之流程圖。
圖21是顯示實施形態2中的對接合圖像之部分編碼處理或部分解碼處理的一例之圖。
圖22是顯示實施形態2中的對接合圖像之部分編碼處理或部分解碼處理的其他例之圖。
圖23是實施形態2中的編碼裝置的方塊圖。
圖24是顯示實施形態2中的動態圖像解碼處理之一例的流程圖。
圖25是實施形態2中的解碼裝置之方塊圖。
圖26是顯示實施形態3中的動態圖像編碼處理之一例的流程圖。
圖27是顯示實施形態3中的接合處理之一例的流程圖。
圖28是實施形態3中的編碼裝置之方塊圖。
圖29是顯示實施形態3中的動態圖像解碼處理之一例的流程圖。
圖30是實施形態3中的解碼裝置之方塊圖。
圖31是顯示實施形態4中的動態圖像編碼處理之一例的流程圖。
圖32是顯示實施形態4中的畫面內預測處理之流程圖。
圖33是顯示實施形態4中的運動向量預測處理之流程圖。
圖34是實施形態4中的編碼裝置之方塊圖。
圖35是顯示實施形態4中的動態圖像解碼處理之一例的流程圖。
圖36是實施形態4中的解碼裝置之方塊圖。
圖37是本揭示之一態樣的編碼裝置之方塊圖。
圖38是本揭示之一態樣的解碼裝置之方塊圖。
圖39是實現內容傳遞服務(content delivery service)的內容供給系統之整體構成圖。
圖40是顯示可調式編碼時之編碼構造的一例之圖。
圖41是顯示可調式編碼時之編碼構造的一例之圖。
圖42是顯示網頁的顯示畫面例之圖。
圖43是顯示網頁的顯示畫面例之圖。
圖44是顯示智慧型手機的一例之圖。
圖45是顯示智慧型手機的構成例之方塊圖。
1500:編碼裝置
1501:轉換部
1502:量化部
1503:反量化部
1504:逆轉換部
1505:區塊記憶體
1506:框記憶體
1507:框內預測部
1508:框間預測部
1509:熵編碼部
1521:減法部
1522:加法部
Claims (1)
- 一種編碼裝置,其特徵在於: 具備處理電路及連接到前述處理電路的記憶體, 前述處理電路使用前述記憶體執行以下處理: 取得與接合複數個圖像之處理有關的參數; 將前述參數寫入位元流; 將前述複數個圖像編碼; 將已編碼的前述複數個圖像進行重構; 藉由使用前述參數來接合已重構的前述複數個圖像,以使已重構的前述複數個圖像中的物件是連續的,從而生成接合圖像;及 將前述接合圖像作為在畫面間預測處理中使用的參照框保存在前述記憶體中, 前述參數用於辨識前述複數個圖像在前述接合圖像中的位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662342517P | 2016-05-27 | 2016-05-27 | |
US62/342,517 | 2016-05-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202243474A TW202243474A (zh) | 2022-11-01 |
TWI842000B true TWI842000B (zh) | 2024-05-11 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100046635A1 (en) | 2007-04-12 | 2010-02-25 | Purvin Bibhas Pandit | Tiling in video decoding and encoding |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100046635A1 (en) | 2007-04-12 | 2010-02-25 | Purvin Bibhas Pandit | Tiling in video decoding and encoding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7340563B2 (ja) | 符号化装置 | |
JP7339890B2 (ja) | 符号化装置及び復号装置 | |
KR102556279B1 (ko) | 부호화 장치, 부호화 방법, 복호 장치 및 복호 방법 | |
JP7364752B2 (ja) | 復号方法及び符号化方法 | |
JP7161636B2 (ja) | 符号化装置及び符号化方法 | |
KR102470053B1 (ko) | 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법 | |
JP7314382B2 (ja) | 復号装置 | |
JP7461885B2 (ja) | 復号装置及び復号方法 | |
JP7086176B2 (ja) | 符号化装置、復号装置、符号化方法及び復号方法 | |
JP7479436B2 (ja) | 復号装置及び復号方法 | |
TWI842000B (zh) | 編碼裝置 |