TWI597972B - Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program - Google Patents

Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program Download PDF

Info

Publication number
TWI597972B
TWI597972B TW105143392A TW105143392A TWI597972B TW I597972 B TWI597972 B TW I597972B TW 105143392 A TW105143392 A TW 105143392A TW 105143392 A TW105143392 A TW 105143392A TW I597972 B TWI597972 B TW I597972B
Authority
TW
Taiwan
Prior art keywords
motion vector
prediction
predicted
candidate
block
Prior art date
Application number
TW105143392A
Other languages
English (en)
Other versions
TW201714453A (zh
Inventor
Shigeru Fukushima
Hiroya Nakamura
Hideki Takehara
Original Assignee
Jvc Kenwood Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2011289286A external-priority patent/JP5617834B2/ja
Priority claimed from JP2011289285A external-priority patent/JP5747816B2/ja
Application filed by Jvc Kenwood Corp filed Critical Jvc Kenwood Corp
Publication of TW201714453A publication Critical patent/TW201714453A/zh
Application granted granted Critical
Publication of TWI597972B publication Critical patent/TWI597972B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

動態影像編碼裝置、動態影像編碼方法、及動態影像編碼程式之記錄媒體
本發明係有關於動態影像編碼及解碼技術,尤其是有關於利用了運動補償預測的動態影像編碼及解碼技術。
動態影像的壓縮編碼方式的具有代表性者,係有MPEG-4 AVC/H.264(以下簡稱為AVC)規格。在AVC中,是將圖像分割成複數矩形區塊,將已經編碼.解碼的圖像當作參照圖像,預測從參照圖像起算的運動,是使用此種運動補償。藉由該運動補償來預測運動的手法,稱作畫面間預測。在AVC中的畫面間預測中,係可將複數圖像當作參照圖像來使用,從這些複數參照圖像中,針對每一區塊而選擇出最佳的參照圖像,來進行運動補償。於是,對各個參照圖像係分配了參照索引,藉由該參照索引,以特定出參照圖像。此外,在B圖像中,係從已編碼.解碼之參照圖像中最多選擇出2張來使用於畫面間預測。將從這2張參照圖像起的預測,分別區別為主要使用於前方向預測的L0預測(清單0預測)、主要使用於後方向預測的L1 預測(清單1預測)。
然後,還定義有同時會使用L0預測與L1預測這2種畫面間預測的雙預測。在雙預測時,係進行雙向的預測,對L0預測、L1預測之各個畫面間預測到的訊號乘上加權係數,加算偏置值而予以重疊,生成最終的畫面間預測影像訊號。加權預測中所使用的加權係數及偏置值,係以圖像單位來對各清單的每一參照圖像設定了代表性的值,並被編碼。在關於畫面間預測的編碼資訊中,係對每一區塊,具有用來區別L0預測、L1預測、雙預測的預測模式、對每一區塊的每一參照清單,具有用來特定參照圖像的參照索引、表示區塊之移動向量.移動量的運動向量,將這些編碼資訊予以編碼.解碼。
在進行運動補償的動態影像編碼方式中,為了削減在各區塊中所生成的運動向量的編碼量,而會對運動向量進行預測處理。在AVC中,是利用編碼對象的運動向量會與周圍的相鄰區塊之運動向量具有較強的相關這點,進行從周邊之相鄰區塊起算的預測,以算出預測運動向量,算出編碼對象的運動向量與預測運動向量之差分亦即差分運動向量,將該差分運動向量予以編碼,藉此以削減編碼量。
具體而言,如圖34(a)所示,從周圍的相鄰區塊A,B,C的運動向量算出中央值而當作預測運動向量,藉由求取運動向量與該預測運動向量的差分,以削減運動向量的編碼量。但是,如圖34(b)所示,編碼對象區塊與相鄰區塊 的大小或形狀不同的情況下,係在左鄰有複數相鄰區塊時係將其中最上面的區塊、在上方有複數相鄰區塊時係將其中最左方的區塊,當作預測區塊,根據已被決定之預測區塊的運動向量來實施預測。
又,專利文獻1所記載之技術,係藉由從處理對象區塊之複數相鄰區塊的運動向量與參照影像資訊來算出預測向量,以提升預測向量之精度,抑制編碼向量的編碼量之增加。
[先前技術文獻] [專利文獻]
[專利文獻1]日本特開2011-147172號公報
可是,在專利文獻1所記載的方法中,由於預測向量只能有一個,因此有時候也會隨著影像而導致預測運動向量的預測精度降低,編碼效率變得不佳。
此種狀況下,本發明人們係在使用運動補償預測的動態影像編碼方式中,意識到了將編碼資訊更進一步壓縮,以削減整體編碼量的必要性。
本發明係有鑑於此種狀況而研發,其目的在於提供一種,藉由算出預測運動向量之候補,以謀求差分運動向量的編碼量之削減而提升編碼效率的動態影像編碼及解碼技術。又,另一目的在於提供一種,藉由算出編碼資訊之候 補,以謀求編碼效率的編碼量之削減而提升編碼效率的動態影像編碼及解碼技術。
提供一種動態影像編碼裝置,係屬於以動態影像之各圖像被分割而成之區塊單位而使用運動補償來將前記動態影像予以編碼的動態影像編碼裝置,其特徵為,具備:預測運動向量候補生成部,係從與編碼對象區塊在空間上或時間上鄰近的已編碼之區塊之任一者的運動向量,進行預測,導出複數預測運動向量之候補,生成預測運動向量候補清單;和預測運動向量冗長候補刪除部,係不去比較從空間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值、與從時間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值是否為相同,而是只有在從空間上鄰近的已編碼區塊所預測出來的預測運動向量的候補間比較向量之值是否相同,將向量之值為相同的預測運動向量之候補,從前記預測運動向量候補清單中予以刪除而至少留下1個;和預測運動向量選擇部,係從前記預測運動向量候補清單中,選擇出預測運動向量;和差分向量算出部,係藉由前記已被選擇之預測運動向量與運動補償預測中所使用之運動向量的差分,而算出差分運動向量;和編碼部,係將表示已被從規定之數量的預測運動向量候補所成之前記預測運動向量候補清單之中所選擇出來之預測運動向量的資訊,連同前記差分運動向量一起予以編碼。
提供一種動態影像編碼方法,係屬於以動態影像之各圖像被分割而成之區塊單位而使用運動補償來將前記動態 影像予以編碼的動態影像編碼方法,其特徵為,具備:預測運動向量候補生成步驟,係從與編碼對象區塊在空間上或時間上鄰近的已編碼之區塊之任一者的運動向量,進行預測,導出複數預測運動向量之候補,生成預測運動向量候補清單;和預測運動向量冗長候補刪除步驟,係不去比較從空間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值、與從時間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值是否為相同,而是只有在從空間上鄰近的已編碼區塊所預測出來的預測運動向量的候補間比較向量之值是否相同,將向量之值為相同的預測運動向量之候補,從前記預測運動向量候補清單中予以刪除而至少留下1個;和預測運動向量選擇步驟,係從前記預測運動向量候補清單中,選擇出預測運動向量;和差分向量算出步驟,係藉由前記已被選擇之預測運動向量與運動補償預測中所使用之運動向量的差分,而算出差分運動向量;和編碼步驟,係將表示已被從規定之數量的預測運動向量候補所成之前記預測運動向量候補清單之中所選擇出來之預測運動向量的資訊,連同前記差分運動向量一起予以編碼。
提供一種記錄媒體,係記錄有,以動態影像之各圖像被分割而成之區塊單位而使用運動補償來將前記動態影像予以編碼的動態影像編碼程式的媒體,其特徵為,前記動態影像編碼程式係令電腦執行:預測運動向量候補生成步驟,係從與編碼對象區塊在空間上或時間上鄰近的已編碼 之區塊之任一者的運動向量,進行預測,導出複數預測運動向量之候補,生成預測運動向量候補清單;和預測運動向量冗長候補刪除步驟,係不去比較從空間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值、與從時間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值是否為相同,而是只有在從空間上鄰近的已編碼區塊所預測出來的預測運動向量的候補間比較向量之值是否相同,將向量之值為相同的預測運動向量之候補,從前記預測運動向量候補清單中予以刪除而至少留下1個;和預測運動向量選擇步驟,係從前記預測運動向量候補清單中,選擇出預測運動向量;和差分向量算出步驟,係藉由前記已被選擇之預測運動向量與運動補償預測中所使用之運動向量的差分,而算出差分運動向量;和編碼步驟,係將表示已被從規定之數量的預測運動向量候補所成之前記預測運動向量候補清單之中所選擇出來之預測運動向量的資訊,連同前記差分運動向量一起予以編碼。
此外,即使將以上構成要素之任意組合、本發明之表現,在方法、裝置、系統、記錄媒體、電腦程式等之間做轉換而成者,對本發明的樣態而言皆為有效。
若依據本發明,則可算出複數預測運動向量,從這些複數預測運動向量之中選擇出最佳的預測運動向量,可削減差分運動向量的發生編碼量,提升編碼效率。
101‧‧‧影像記憶體
102‧‧‧運動向量偵測部
103‧‧‧差分運動向量算出部
104‧‧‧畫面間預測資訊推定部
105‧‧‧運動補償預測部
106‧‧‧預測方法決定部
107‧‧‧殘差訊號生成部
108‧‧‧正交轉換.量化部
109‧‧‧第1編碼位元列生成部
110‧‧‧第2編碼位元列生成部
111‧‧‧多工化部
112‧‧‧逆量化.逆正交轉換部
113‧‧‧解碼影像訊號重疊部
114‧‧‧編碼資訊儲存記憶體
115‧‧‧解碼影像記憶體
121‧‧‧預測運動向量候補生成部
122‧‧‧預測運動向量候補登錄部
123‧‧‧預測運動向量冗長候補刪除部
124‧‧‧預測運動向量候補數限制部
125‧‧‧預測運動向量候補編碼量算出部
126‧‧‧預測運動向量選擇部
127‧‧‧運動向量減算部
201‧‧‧分離部
202‧‧‧第1編碼位元列解碼部
203‧‧‧第2編碼位元列解碼部
204‧‧‧運動向量算出部
205‧‧‧畫面間預測資訊推定部
206‧‧‧運動補償預測部
207‧‧‧逆量化.逆正交轉換部
208‧‧‧解碼影像訊號重疊部
209‧‧‧編碼資訊儲存記憶體
210‧‧‧解碼影像記憶體
221‧‧‧預測運動向量候補生成部
222‧‧‧預測運動向量候補登錄部
223‧‧‧預測運動向量冗長候補刪除部
224‧‧‧預測運動向量候補數限制部
225‧‧‧預測運動向量選擇部
226‧‧‧運動向量加算部
[圖1]執行實施形態所述之運動向量之預測方法的動態影像編碼裝置之構成的區塊圖。
[圖2]執行實施形態所述之運動向量之預測方法的動態影像解碼裝置之構成的區塊圖。
[圖3]樹區塊、編碼區塊的說明圖。
[圖4]預測區塊之分割模式的說明圖。
[圖5]預測區塊群組的說明圖。
[圖6]預測區塊群組的說明圖。
[圖7]預測區塊群組的說明圖。
[圖8]預測區塊群組的說明圖。
[圖9]預測區塊群組的說明圖。
[圖10]關於運動向量之預測方法的在切片層級上的位元串流之語法的說明圖。
[圖11]關於運動向量之預測方法的在預測區塊層級上的位元串流之語法的說明圖。
[圖12]圖1的差分運動向量算出部之詳細構成的區塊圖。
[圖13]圖2的運動向量算出部之詳細構成的區塊圖。
[圖14]圖1的差分運動向量算出部的差分運動向量算出處理程序的流程圖。
[圖15]圖2的運動向量算出部的運動向量算出處理程序的流程圖。
[圖16]預測運動向量之候補之導出及預測運動向量清單建立處理程序的流程圖。
[圖17]第一實施形態的預測運動向量之候補導出處理程序的流程圖。
[圖18]預測運動向量之候補導出處理程序的流程圖。
[圖19]第一實施形態的預測運動向量之候補導出處理程序的流程圖。
[圖20]運動向量的比例縮放演算處理程序的流程圖。
[圖21]整數演算所致之運動向量的比例縮放演算處理程序的流程圖。
[圖22]第二實施形態的解碼側之預測運動向量導出程序的流程圖。
[圖23]第二實施形態的判斷為預測運動向量是空間預測運動向量候補時的預測運動向量選擇模態的說明圖。
[圖24]預測運動向量之候補導出處理程序的流程圖。
[圖25]不同時間之圖像的導出處理程序的流程圖。
[圖26]不同時間之圖像的預測區塊的候補導出處理程序的流程圖。
[圖27]預測運動向量之候補導出處理程序的流程圖。
[圖28]預測運動向量之候補導出處理程序的流程圖。
[圖29]運動向量的比例縮放演算處理程序的流程圖。
[圖30]整數演算所致之運動向量的比例縮放演算處理程序的流程圖。
[圖31]預測運動向量之候補往預測運動向量候補清單之登錄處理程序的流程圖。
[圖32]從預測運動向量候補清單刪除冗長之預測運動 向量之候補的處理程序的流程圖。
[圖33]預測運動向量之候補數的限制處理程序的流程圖。
[圖34]先前之預測運動向量之算出方法的說明圖。
在本實施形態中,關於動態影像的編碼,係尤其為了提升將圖像分割成任意尺寸、形狀的矩形區塊、並在圖像間以區塊單位進行運動補償的動態影像編碼的編碼效率,而根據已編碼之周圍之區塊的運動向量,算出複數預測運動向量,算出編碼對象之區塊的運動向量與所被選擇之預測運動向量的差分向量而予以編碼,藉此以削減編碼量。或藉由利用已編碼之周圍之區塊的編碼資訊,來推定編碼對象區塊的編碼資訊,藉此以削減編碼量。又,在動態影像之解碼時,係根據已解碼之周圍之區塊的運動向量,算出複數預測運動向量,根據從編碼串流所解碼出來之差分向量與所被選擇之預測運動向量,來算出解碼對象之區塊的運動向量然後予以解碼。或藉由利用已解碼之周圍之區塊的編碼資訊,來推定解碼對象區塊的編碼資訊。
首先定義本實施形態中所使用的技術、及技術用語。
(關於樹區塊、編碼區塊)
在實施形態中,如圖3所示,將圖像內均等分割成任意之同一尺寸的正方之矩形單位。將此單位定義為樹區 塊,是用來在圖像內將編碼/解碼對象區塊(編碼處理時係為編碼對象區塊、解碼處理時係為解碼對象區塊。以下若無特別聲明則都是如此意思)加以特定所需之位址管理的基本單位。單色除外的樹區塊,係由1個亮度訊號與2個色差訊號所構成。樹區塊的尺寸係隨應於圖像尺寸或圖像內的紋理,而可自由設定成2的次方數的尺寸。樹區塊係會隨著圖像內的紋理,為了使編碼處理最佳化,而可因應需要而將樹區塊內的亮度訊號及色差訊號做階層式地4分割(縱橫各2分割),變成區塊尺寸更小的區塊。將此區塊分別定義為編碼區塊,是進行編碼及解碼之際的處理的基本單位。單色除外的編碼區塊,也是由1個亮度訊號與2個色差訊號所構成。編碼區塊的最大尺寸係和樹區塊的尺寸相同。編碼區塊的最小尺寸之編碼區塊稱作最小編碼區塊,可自由設定成2的次方數的尺寸。
於圖3中,編碼區塊A係不將樹區塊做分割,而當作1個編碼區塊。編碼區塊B係為將樹區塊做4分割而成的編碼區塊。編碼區塊C係為將樹區塊做4分割而成的區塊再做4分割而成的編碼區塊。編碼區塊D係為將樹區塊做4分割而成的區塊再階層式地二度做4分割而成的編碼區塊,是最小尺寸的編碼區塊。
(關於預測模式)
以編碼區塊單位,切換著根據與編碼對象區塊同一圖像內的已編碼/解碼之周圍的影像訊號來進行預測的畫面 內預測(MODE_INTRA)、及根據與編碼對象區塊不同圖像的已編碼/解碼之影像訊號來進行預測的畫面間預測(MODE_INTER)。將用來識別該畫面內預測(MODE_INTRA)與畫面間預測(MODE_INTER)的模式,定義成預測模式(PredMode)。預測模式(PredMode)係具有畫面內預測(MODE_INTRA)、或畫面間預測(MODE_INTER)之值,可選擇而編碼。
(關於分割模式、預測區塊、預測單元)
將圖像內分割成區塊來進行畫面內預測(MODE_INTRA)及畫面間預測(MODE_INTER)時,為了使畫面內預測及畫面間預測之方法的切換單位更小,會因應需要而將編碼區塊進行分割然後進行預測。將用來識別該編碼區塊之亮度訊號與色差訊號的分割方法的模式,定義成分割模式(PartMode)。然後,還將該已被分割之區塊,定義成預測區塊。如圖4所示,隨著編碼區塊的亮度訊號的分割方法,定義4種分割模式(PartMode)。將未分割編碼區塊之亮度訊號而視作1個預測區塊者(圖4(a))的分割模式(PartMode)定義為2N×2N分割(PART_2Nx2N),將編碼區塊之亮度訊號在水平方向做2分割、成為2個預測區塊者(圖4(b))的分割模式(PartMode)定義為2N×N分割(PART_2NxN),將編碼區塊之亮度訊號在垂直方向做分割、將編碼區塊變成2個預測區塊者(圖4(c))的分割模式(PartMode)定義為N×2N分割(PART_Nx2N),將編碼區塊 之亮度訊號進行水平與垂直之均等分割而成為4個預測區塊者(圖4(d))的分割模式(PartMode)定義為N×N分割(PART_NxN)。此外,各分割模式(PartMode)皆分別是以和亮度訊號之縱橫分割比率同樣地,分割色差訊號。
於編碼區塊內部,為了特定各預測區塊,而將從0開始的號碼,以編碼順序,對存在於編碼區塊內部的預測區塊進行分配。將該號碼定義為分割索引PartIdx。圖4的編碼區塊的各預測區塊之中所記述的數字,係表示該預測區塊的分割索引PartIdx。在圖4(b)所示的2N×N分割(PART_2NxN)中,令上方的預測區塊的分割索引PartIdx為0,令下方的預測區塊的分割索引PartIdx為1。在圖4(c)所示的N×2N分割(PART_Nx2N)中,令左方的預測區塊的分割索引PartIdx為0,令右方的預測區塊的分割索引PartIdx為1。在圖4(d)所示的N×N分割(PART_NxN)中,令左上方的預測區塊的分割索引PartIdx為0,令右上方的預測區塊的分割索引PartIdx為1,令左下方的預測區塊的分割索引PartIdx為2,令右下方的預測區塊的分割索引PartIdx為3。
在預測模式(PredMode)為畫面間預測(MODE_INTER)時,在最小編碼區塊亦即編碼區塊D以外,分割模式(PartMode)係定義2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及N×2N分割(PART_Nx2N),僅最小編碼區塊的編碼區塊D,分割模式(PartMode)係定2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及N×2N分割 (PART_Nx2N)之外,還定義有N×N分割(PART_NxN)。此外,最小編碼區塊以外不定義N×N分割(PART_NxN)的理由是,在最小編碼區塊以外,無法將編碼區塊做4分割而表現更小的編碼區塊。
(樹區塊、編碼區塊、預測區塊、轉換區塊之位置)
本實施形態的樹區塊、編碼區塊、預測區塊、轉換區塊為首的各區塊之位置,係令亮度訊號的畫面之最左上之亮度訊號的像素位置為原點(0,0),將各個區塊領域中所包含之最左上的亮度訊號之像素位置,以(x,y)的二維座標來表示。座標軸的方向係水平方向朝右的方向、垂直方向朝下的方向分別令為正的方向,單位係為亮度訊號的1像素單位。亮度訊號與色差訊號上影像尺寸(像素數)是相同的色差格式是4:4:4時不用說,亮度訊號與色差訊號上影像尺寸(像素數)是不同的色差格式是4:2:0、4:2:2的情況下,也將色差訊號的各區塊之位置以該區塊之領域中所包含之亮度訊號的像素之座標來表示,單位係為亮度訊號的1像素。藉由如此設計,不但可以特定色差訊號的各區塊之位置,只需藉由比較座標之值,亮度訊號的區塊與色差訊號的區塊之位置關係也很明確。
(關於預測區塊群組)
將由複數預測區塊所構成之群組,定義為預測區塊群組。圖5、圖6、圖7及圖8係與編碼/解碼對象之預測區 塊在同一圖像內且該編碼/解碼對象之預測區塊所相鄰之預測區塊群組的說明圖。圖9係為,在時間上與編碼/解碼對象之預測區塊不同之已編碼/解碼圖像中,存在於與編碼/解碼對象之預測區塊同一位置或其附近位置的已編碼/解碼之預測區塊群組的說明圖。使用圖5、圖6、圖7、圖8及圖9來說明預測區塊群組。
如圖5所示,將由與編碼/解碼對象之預測區塊在同一圖像內且該編碼/解碼對象之預測區塊之左側邊相鄰的預測區塊A1、及編碼/解碼對象之預測區塊之左下頂點相鄰的預測區塊A0所構成的第1預測區塊群組,定義為左側相鄰之預測區塊群組。
此外,如圖6所示,當編碼/解碼對象之預測區塊的左側相鄰之預測區塊的尺寸是大於編碼/解碼對象之預測區塊時,仍依照前記條件,若左側相鄰之預測區塊A是有相鄰於該編碼/解碼對象之預測區塊之左側邊則視作預測區塊A1,若相鄰於編碼/解碼對象之預測區塊之左下頂點則視作預測區塊A0。在圖6的例子中,預測區塊A0與預測區塊A1係為同一預測區塊。
此外,如圖7所示,當編碼/解碼對象之預測區塊的左側邊相鄰之預測區塊的尺寸是小於編碼/解碼對象之預測區塊,且複數存在時,則在本實施形態中係在左側相鄰之預測區塊之中僅將最下方的預測區塊A10視作左側相鄰之預測區塊A1。
與定義左側相鄰之預測區塊群組時大致同樣地,與編 碼/解碼對象之預測區塊在同一圖像內且該編碼/解碼對象之預測區塊之上側邊所相鄰的預測區塊B1、編碼/解碼對象之預測區塊之右上頂點相鄰的預測區塊B0、及編碼/解碼對象之預測區塊之左上頂點相鄰的預測區塊B2所構成之第2預測區塊群組,將其定義成上側相鄰之預測區塊群組。
此外,如圖8所示,當編碼/解碼對象之預測區塊的上側相鄰之預測區塊的尺寸是大於編碼/解碼對象之預測區塊時,仍依照前記條件,若上側相鄰之預測區塊B是有相鄰於該編碼/解碼對象之預測區塊之上側邊則視作預測區塊B1,若相鄰於編碼/解碼對象之預測區塊之右上頂點則視作預測區塊B0、若相鄰於編碼/解碼對象之預測區塊之左上頂點則視作預測區塊B2。在圖8的例子中,預測區塊B0與預測區塊B1與預測區塊B2係為同一預測區塊。
此外,如圖7所示,當編碼/解碼對象之預測區塊的上側邊所相鄰之預測區塊的尺寸是小於編碼/解碼對象之預測區塊,且複數存在時,則在實施形態中係在上側相鄰之預測區塊之中僅將最右方的預測區塊B10視作上側相鄰之預測區塊B1。
與左側相鄰之預測區塊群組的不同點係為,將編碼/解碼對象之預測區塊之左上頂點相鄰的預測區塊B2包含在上側相鄰之預測區塊群組內。左上預測區塊B2係無論被包含在哪個預測區塊群組中皆可,但此處係被包含在上 側相鄰之預測區塊群組中。因此,上側相鄰之預測區塊群組的構成之預測區塊數是比左側相鄰之預測區塊群組還多。
如圖9所示,在時間上與編碼/解碼對象之預測區塊不同之已編碼/解碼之圖像中,將存在於與編碼/解碼對象之預測區塊同一位置或其附近位置的已編碼/解碼之預測區塊群組T0及T1所構成之第3預測區塊群組,定義為不同時間的預測區塊群組。
(關於畫面間預測模式、參照清單)
在本發明的實施形態中,在從已編碼/解碼之圖像的影像訊號進行預測的畫面間預測下,可將複數個已解碼之圖像,當作參照圖像來使用。為了特定從複數參照圖像中所選擇出來的參照圖像,而對每一預測區塊,賦予參照索引。在B切片係可對每預測區塊選擇任意2張參照圖像來進行畫面間預測,作為畫面間預測之模式係有L0預測(Pred_L0)、L1預測(Pred_L1)、雙預測(Pred_BI)。參照圖像係被清單結構的L0(參照清單0)與L1(參照清單1)所管理,藉由指定L0或且L1之參照索引,就可特定參照圖像。L0預測(Pred_L0)係為參照受L0所管理之參照圖像的畫面間預測,L1預測(Pred_L1)係為參照受L1所管理之參照圖像的畫面間預測,雙預測(Pred_BI)係為L0預測與L1預測都會被進行,是參照著受L0與L1所分別管理之各1個參照圖像的畫面間預測。在P切片的畫面間預測上係可僅使用L0預測,在B切片的畫面間預測上係可使用L0 預測、L1預測、將L0預測與L1預測進行平均或加算加權之雙預測(Pred_BI)。以後的處理中,關於輸出附加有字尾LX(X為0或1)之定數、變數,係以針對L0、L1個別進行處理為前提。
(關於POC)
POC係為與被編碼之圖像建立關連的變數,是被設定了隨圖像之輸出/顯示順序而每次增加1之值。藉由POC之值,就可判別是否為同一圖像、可判別輸出/顯示順序上的圖像間之前後關係、可導出圖像間之距離等等。例如,當2個圖像之POC具有相同值時,就可判斷是同一圖像。當2個圖像之POC具有不同值時,則可判斷POC之值較小的圖像係為時間上先被輸出/顯示之圖像,2個圖像的POC的差,係表示時間軸方向上的圖像間距離。
(實施形態1)
關於本發明的實施形態1,併同圖式來加以說明。圖1係本發明的實施形態所述之動態影像編碼裝置之構成的區塊圖。實施形態的動態影像編碼裝置,係具備:影像記憶體101、運動向量偵測部102、差分運動向量算出部103、畫面間預測資訊推定部104、運動補償預測部105、預測方法決定部106、殘差訊號生成部107、正交轉換.量化部108、第1編碼位元列生成部109、第2編碼位元列生成部110、多工化部111、逆量化.逆正交轉換部 112、解碼影像訊號重疊部113、編碼資訊儲存記憶體114、及解碼影像記憶體115。
影像記憶體101係將按照顯示時間順序所供給的編碼對象之圖像的影像訊號,予以暫時儲存。影像記憶體101,係將所被儲存的編碼對象之圖像的影像訊號,以所定之像素區塊單位,供給至運動向量偵測部102、預測方法決定部106、及殘差訊號生成部107。此時,按照顯示時間順序而被儲存之圖像的影像訊號,係被排序成編碼順序,以像素區塊單位,從影像記憶體101輸出。
運動向量偵測部102,係藉由在從影像記憶體101所供給之影像訊號與從解碼影像記憶體115所供給之參照圖像間進行區塊比對等,將各預測區塊尺寸、各預測模式的各自之運動向量,以預測區塊單位而加以測出,將所測出的運動向量,供給至運動補償預測部105、差分運動向量算出部103、及預測方法決定部106。
差分運動向量算出部103,係使用編碼資訊儲存記憶體114中所記憶之已經編碼過的影像訊號的編碼資訊,算出複數預測運動向量之候補而生成後述的預測運動向量清單,從已被生成之預測運動向量清單中所登錄的複數預測運動向量之候補之中,選擇出最佳的預測運動向量,根據運動向量偵測部102所測出之運動向量與預測運動向量,算出差分運動向量,將所算出的差分運動向量,供給至預測方法決定部106。然後,將從已被生成之預測運動向量清單中所登錄的預測運動向量之候補所選擇出來的預測運 動向量加以特定的預測運動向量索引,供給至預測方法決定部106。差分運動向量算出部103的詳細構成與動作,將於後述。
畫面間預測資訊推定部104,係將合併模式的畫面間預測資訊,予以推定。所謂合併模式,係不是將該當預測區塊的預測模式、參照索引(用來從參照清單中所被登錄之複數參照圖像中,特定出要利用於運動補償預測之參照圖像所需的資訊)、運動向量等之畫面間預測資訊予以編碼,而是利用已編碼之相鄰的已被畫面間預測而成之預測區塊、或不同圖像的已被畫面間預測而成之預測區塊的畫面間預測資訊的模式。使用編碼資訊儲存記憶體114中所記憶之已經編碼過的預測區塊的編碼資訊,算出複數合併之候補(畫面間預測資訊之候補)然後生成合併候補清單,從已被生成之合併候補清單中所登錄的複數合併候補之中,選擇出最佳的合併候補,將所被選擇之合併候補的預測模式、參照索引、運動向量等之畫面間預測資訊,供給至運動補償預測部105,並且將用來特定所被選擇之合併候補用的合併索引,供給至預測方法決定部106。
運動補償預測部105,係使用被運動向量偵測部102及畫面間預測資訊推定部104所測出的運動向量,從參照圖像藉由運動補償預測而生成預測影像訊號,將預測影像訊號供給至預測方法決定部106。此外,在L0預測、及L1預測中,進行單向的預測。在雙預測(Pred_BI)時,係進行雙向的預測,對L0預測、L1預測之各個畫面間預測 到的訊號適應性地乘上加權係數,加算偏置值而予以重疊,生成最終的預測影像訊號。
預測方法決定部106係藉由評估複數預測方法的差分運動向量的編碼量、預測影像訊號與影像訊號之間的失真量等,而決定用來以編碼區塊單位來判別是否為畫面間預測(PRED_INTER)還是畫面內預測(PRED_INTRA)的預測模式PredMode、分割模式PartMode,在畫面間預測(PRED_INTER)下係以預測區塊單位來決定是否為合併模式等的預測方法,若為合併模式則決定合併索引、若非合併模式則決定畫面間預測旗標、預測運動向量索引、L0、L1之參照索引、差分運動向量等,將符合決定的編碼資訊,供給至第1編碼位元列生成部109。
然後,預測方法決定部106,係將含有表示所決定之預測方法的資訊,及含有相應於所決定之預測方法的運動向量等的編碼資訊,儲存至編碼資訊儲存記憶體114。這裡所儲存的編碼資訊係為,預測模式PredMode、分割模式PartMode、表示是否利用L0預測、及L1預測的旗標predFlagL0,predFlagL1、L0、L1之參照索引refIdxL0,refIdxL1、L0、L1的運動向量mvL0,mvL1等。此處,當預測模式PredMode是畫面內預測(MODE_INTRA)時,則表示是否利用L0預測的旗標predFlagL0、表示是否利用L1預測的旗標predFlagL1係皆為0。另一方面,當預測模式PredMode是畫面間預測(MODE_INTER)、且畫面間預測模式是L0預測(Pred_L0)時,則表示是否利用L0預 測的旗標predFlagL0係為1、表示是否利用L1預測的旗標predFlagL1係為0。當畫面間預測模式是L1預測(Pred_L1)時,表示是否利用L0預測的旗標predFlagL0係為0、表示是否利用L1預測的旗標predFlagL1係為1。當畫面間預測模式是雙預測(Pred_BI)時,表示是否利用L0預測的旗標predFlagL0、表示是否利用L1預測的旗標predFlagL1係皆為1。預測方法決定部106,係將相應於所決定之預測模式的預測影像訊號,供給至殘差訊號生成部107與解碼影像訊號重疊部113。
殘差訊號生成部107,係藉由進行所編碼之影像訊號與預測影像訊號之減算以生成殘差訊號,供給至正交轉換.量化部108。
正交轉換.量化部108,係對殘差訊號而隨著量化參數進行正交轉換及量化而生成已被正交轉換、量化過的殘差訊號,供給至第2編碼位元列生成部110與逆量化.逆正交轉換部112。然後,正交轉換.量化部108係將量化參數,儲存在編碼資訊儲存記憶體114中。
第1編碼位元列生成部109,係除了序列、圖像、切片、編碼區塊單位的資訊外,還針對每一編碼區塊及預測區塊,將預測方法決定部106所決定之預測方法所相應的編碼資訊,予以編碼。具體而言,當每一編碼區塊的預測模式PredMode、分割模式PartMode、畫面間預測(PRED_INTER)時,則將判別是否為合併模式的旗標、在合併模式時係為合併索引、非合併模式時係為畫面間預測 模式、預測運動向量索引、差分運動向量的相關資訊等之編碼資訊,依照後述的規定之語法規則而進行熵編碼以生成第1編碼位元列,供給至多工化部111。
第2編碼位元列生成部110,係將已被正交轉換及量化過的殘差訊號,依照規定之語法規則來進行熵編碼以生成第2編碼位元列,供給至多工化部111。在多工化部111中,將第1編碼位元列與第2編碼位元列依照規定之語法規則而進行多工化,輸出位元串流。
逆量化.逆正交轉換部112,係將從正交轉換.量化部108所供給之已被正交轉換、量化過的殘差訊號,進行逆量化及逆正交轉換而算出殘差訊號,供給至解碼影像訊號重疊部113。
解碼影像訊號重疊部113,係將相應於預測方法決定部106所決定之預測影像訊號和被逆量化.逆正交轉換部112進行逆量化及逆正交轉換後的殘差訊號加以重疊而生成解碼影像,儲存在解碼影像記憶體115中。此外,也可對解碼影像實施用來減少編碼所致區塊失真等失真的濾波處理,然後儲存在解碼影像記憶體115中。
圖2係圖1之動態影像編碼裝置所對應之本發明的實施形態所述之動態影像解碼裝置之構成的區塊。實施形態的動態影像解碼裝置,係具備:分離部201、第1編碼位元列解碼部202、第2編碼位元列解碼部203、運動向量算出部204、畫面間預測資訊推定部205、運動補償預測部206、逆量化.逆正交轉換部207、解碼影像訊號重疊 部208、編碼資訊儲存記憶體209、及解碼影像記憶體210。
圖2的動態影像解碼裝置的解碼處理,係為對應於圖1之動態影像編碼裝置之內部所設之解碼處理,因此圖2的補償預測部206、逆量化.逆正交轉換部207、解碼影像訊號重疊部208、編碼資訊儲存記憶體209、及解碼影像記憶體210之各構成,係具有和圖1的動態影像編碼裝置的運動補償預測部105、逆量化.逆正交轉換部112、解碼影像訊號重疊部113、編碼資訊儲存記憶體114、及解碼影像記憶體115之各構成分別對應的機能。
被供給至分離部201的位元串流係依照規定之語法規則而進行分離,所分離出來的編碼位元列係被供給至第1編碼位元列解碼部202、第2編碼位元列解碼部203。
第1編碼位元列解碼部202係將所被供給之編碼位元列予以解碼,獲得序列、圖像、切片、編碼區塊單位的資訊、以及預測區塊單位的編碼資訊。具體而言,用來以編碼區塊單位來判別是否為畫面間預測(PRED_INTER)還是畫面內預測(PRED_INTRA)的預測模式PredMode、分割模式PartMode、畫面間預測(PRED_INTER)的情況下,將判別是否為合併模式的旗標、在合併模式時係為合併索引、非合併模式時係為畫面間預測模式、預測運動向量索引、差分運動向量等的相關之編碼資訊,依照後述的規定之語法規則而進行解碼,將編碼資訊供給至運動向量算出部204或畫面間預測資訊推定部205。
第2編碼位元列解碼部203係將所被供給之編碼位元列予以解碼而算出已被正交轉換.量化之殘差訊號,將已被正交轉換.量化之殘差訊號供給至逆量化.逆正交轉換部207。
運動向量算出部204,係當解碼對象之預測區塊並非合併模式時,使用編碼資訊儲存記憶體209中所記憶之已解碼的影像訊號的編碼資訊,算出複數預測運動向量之候補而生成後述的預測運動向量清單,從已被生成之預測運動向量清單中所登錄的複數預測運動向量之候補之中,選擇出被第1編碼位元列解碼部202所解碼而供給之預測運動向量索引所相應之預測運動向量,根據已被第1編碼位元列解碼部202所解碼之差分向量與所被選擇之預測運動向量而算出運動向量,連同其他編碼資訊一起供給至運動補償預測部206,並且儲存至編碼資訊儲存記憶體209。這裡所供給、儲存的預測區塊之編碼資訊係為,預測模式PredMode、分割模式PartMode、表示是否利用L0預測、及L1預測的旗標predFlagL0,predFlagL1、L0、L1之參照索引refIdxL0,refIdxL1、L0、L1的運動向量mvL0,mvL1等。此處,當預測模式PredMode是畫面內預測(MODE_INTRA)時,則表示是否利用L0預測的旗標predFlagL0、表示是否利用L1預測的旗標predFlagL1係皆為0。另一方面,當預測模式PredMode是畫面間預測(MODE_INTER)、且畫面間預測模式是L0預測(Pred_L0)時,則表示是否利用L0預測的旗標predFlagL0係為1、 表示是否利用L1預測的旗標predFlagL1係為0。當畫面間預測模式是L1預測(Pred_L1)時,表示是否利用L0預測的旗標predFlagL0係為0、表示是否利用L1預測的旗標predFlagL1係為1。當畫面間預測模式是雙預測(Pred_BI)時,表示是否利用L0預測的旗標predFlagL0、表示是否利用L1預測的旗標predFlagL1係皆為1。運動向量算出部204的詳細構成與動作,將於後述。
畫面間預測資訊推定部205,係當解碼對象之預測區塊是合併模式時,則將合併模式的畫面間預測資訊予以推定。使用編碼資訊儲存記憶體114中所記憶之已解碼之預測區塊的編碼資訊,算出複數合併之候補而生成合併候補清單,從已被生成之合併候補清單中所登錄的複數合併候補之中,選擇出由第1編碼位元列解碼部202所解碼而供給之合併索引所對應之合併候補,將已被選擇之合併候補的預測模式PredMode、分割模式PartMode、表示是否利用L0預測、及L1預測的旗標、L0、L1之參照索引、L0、L1的運動向量等的畫面間預測資訊,供給至運動補償預測部206,並且儲存至編碼資訊儲存記憶體209。
運動補償預測部206,係使用運動向量算出部204所算出的運動向量而從參照圖像藉由運動補償預測以生成預測影像訊號,將預測影像訊號供給至解碼影像訊號重疊部208。此外,在雙預測(Pred_BI)的情況下,係對L0預測、L1預測的2個運動補償預測影像訊號,適應性地乘算權重係數,生成最終的預測影像訊號。
逆量化.逆正交轉換部207,係對第1編碼位元列解碼部202所解碼之已被正交轉換.量化之殘差訊號,進行逆正交轉換及逆量化,獲得已被逆正交轉換.逆量化之殘差訊號。
解碼影像訊號重疊部208,係將已被運動補償預測部206進行運動補償預測的預測影像訊號、和已被逆量化.逆正交轉換部207進行逆正交轉換.逆量化之殘差訊號加以重疊,以將解碼影像訊號予以解碼,儲存至解碼影像記憶體210。在儲存至解碼影像記憶體210之際,係也可對解碼影像實施用來減少編碼所致區塊失真等的濾波處理,然後儲存在解碼影像記憶體210中。
(關於語法)
接著說明,被具備本實施形態所述之運動向量之預測方法的動態影像編碼裝置所編碼、被解碼裝置所解碼的動態影像之位元串流的編碼及解碼之共通規則亦即語法(syntax)。
圖10係本實施形態所生成之位元串流的以切片單位而被描述在切片標頭裡的第1語法結構。只不過,僅圖示與本實施形態有關的語法要素。若切片類型是B時,則會設置有旗標collocated_from_l0_flag,其係用來表示,將時間方向之預測運動向量之候補、或合併候補的算出之際所使用的不同時間之圖像colPic,定義至L0之參照清單還是L1之參照清單之哪一者。關於旗標collocated_from_l0_flag 的細節,將於後述。
此外,以上的語法要素係亦可設置在,將以圖像單位而被設定之語法要素加以描述的圖像參數集裡頭。
圖11係圖示了以預測區塊單位而被描述的語法模態。若預測區塊的預測模式PredMode之值為畫面間預測(MODE_INTER)時,則會設置有表示是否為合併模式的merge_flag[x0][y0]。此處,x0、y0係用來表示在亮度訊號之圖像內的預測區塊的左上像素之位置的索引,merge_flag[x0][y0]係用來表示圖像內的(x0,y0)位置上的預測區塊是否為合併模式。
接著,若merge_flag[x0][y0]為1,則表示是合併模式,設置所參照之合併候補的清單亦即合併清單之索引的語法要素merge_idx[x0][y0]。此處,x0、y0係用來表示在圖像內的預測區塊的左上像素之位置的索引,merge_idx[x0][y0]係為圖像內的(x0,y0)位置上的預測區塊的合併索引。
另一方面,若merge_flag[x0][y0]為0,則表示並非合併模式,若切片類型是B時,則會設置有用來識別畫面間預測模式的語法要素inter_pred_flag[x0][y0],藉由該語法要素來識別L0預測(Pred_L0)、L1預測(Pred_L1)、雙預測(Pred_BI)。隨應於畫面間預測模式,而對每一L0、L1,設置有用來特定參照圖像所需之參照索引的語法要素ref_idx_l0[x0][y0]、ref_idx_l1[x0][y0],運動向量偵測所求出的預測區塊之運動向量與預測運動向量之差分亦即差 分運動向量的語法要素mvd_l0[x0][y0][j]、mvd_l1[x0][y0][j]。此處,x0、y0係用來表示在圖像內的預測區塊的左上像素之位置的索引,ref_idx_l0[x0][y0]、mvd_l0[x0][y0][j]係分別為圖像內的(x0,y0)位置上的預測區塊L0的參照索引、及差分運動向量,ref_idx_l1[x0][y0]、mvd_l1[x0][y0][j]係分別為圖像內的(x0,y0)位置上的預測區塊L1的參照索引、及差分運動向量。又,j係表示差分運動向量的成分,j為0係表示x成分,j為1係表示y成分。接著,會設置有所參照之預測運動向量之候補的清單亦即預測運動向量清單之索引的語法要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]。此處,x0、y0係用來表示在圖像內的預測區塊的左上像素之位置的索引,mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]係為圖像內的(x0,y0)位置上的預測區塊L0、L1的預測運動向量索引。
實施形態所述之運動向量之預測方法,係於圖1的動態影像編碼裝置的差分運動向量算出部103及圖2的動態影像解碼裝置的運動向量算出部204中實施。
使用圖面來說明實施形態的運動向量之預測方法。運動向量之預測方法,係可就構成編碼區塊的預測區塊單位,在編碼及解碼之處理之任一者中均可實施。若預測區塊的預測模式是畫面間預測(MODE_INTER),且非合併模式時,在編碼的情況下,是在利用從編碼對象之運動向量算出要進行編碼之差分運動向量時所使用的已編碼之運動 向量來導出預測運動向量之際,在解碼的情況下,是在利用解碼對象之運動向量算出時所使用之已解碼之運動向量來導出預測運動向量之際,會被實施。
(編碼時的運動向量之預測)
根據上述的語法,在將動態影像之位元串流予以編碼的動態影像編碼裝置中,說明涉及實施形態的運動向量之預測方法的動作。運動向量之預測方法,係以切片單位來進行運動補償預測時,亦即切片類型是P切片(單向預測切片)或B切片(雙向預測切片)時,則還會被適用於,將切片之中的預測區塊之預測模式是畫面間預測(MODE_INTER)、且非合併模式的差分運動向量予以編碼或解碼的預測區塊。
圖12係圖1之動態影像編碼裝置的差分運動向量算出部103之詳細構成的圖示。圖12的粗線所圍繞之部分係表示差分運動向量算出部103。
然後,其內部以粗虛線所圍繞之部分係表示後述的運動向量之預測方法之動作部,與實施形態之動態影像編碼裝置相對應的動態影像解碼裝置中也被同樣設置,使得編碼與解碼不會矛盾而獲得同一判定結果。以下,使用此圖來說明編碼時的運動向量之預測方法。
差分運動向量算出部103係含有:預測運動向量候補生成部121、預測運動向量候補登錄部122、預測運動向量冗長候補刪除部123、預測運動向量候補數限制部 124、預測運動向量候補編碼量算出部125、預測運動向量選擇部126、及運動向量減算部127。
該差分運動向量算出部103中的差分運動向量算出處理,係將編碼對象區塊上所被選擇之畫面間預測方法中所使用之運動向量的差分運動向量,對L0、L1每一者分別算出。具體而言,編碼對象區塊的預測模式PredMode是畫面間預測(MODE_INTER),且編碼對象區塊的畫面間預測模式是L0預測(Pred_L0)時,則算出L0的預測運動向量清單mvpListL0,選擇預測運動向量mvpL0,算出L0之運動向量的差分運動向量mvdL0。編碼對象區塊的畫面間預測模式(Pred_L1)是L1預測時,則算出L1的預測運動向量清單mvpListL1,選擇預測運動向量mvpL1,算出L1之運動向量的差分運動向量mvdL1。編碼對象區塊的畫面間預測模式是雙預測(Pred_BI)時,則L0預測與L1預測皆會被進行,算出L0的預測運動向量清單mvpListL0,選擇L0的預測運動向量mvpL0,算出L0之運動向量mvL0的差分運動向量mvdL0,並且算出L1的預測運動向量清單mvpListL1,算出L1的預測運動向量mvpL1,將L1之運動向量mvL1的差分運動向量mvdL1分別予以算出。
雖然針對L0、L1分別都會進行差分運動向量算出處理,但L0、L1皆為共通之處理。因此,在以下的說明中,將L0、L1表示成共通的LX。在算出L0之差分運動向量的處理中X係為0,在算出L1之差分運動向量的處 理中X係為1。又,在算出LX之差分運動向量的處理中,若非LX、而是參照另一方之清單的資訊時,則將另一方之清單以LY來表示。
預測運動向量候補生成部121,係對L0、L1每一者,從左側相鄰之預測區塊群組(與編碼對象之預測區塊在同一圖像內且在該預測區塊之左側相鄰的預測區塊群組:圖5的A0,A1)、上側相鄰之預測區塊群組(與編碼對象之預測區塊在同一圖像內且在該預測區塊之上側相鄰的預測區塊群組:圖5的B0,B1,B2)、不同時間的預測區塊群組(與編碼對象之預測區塊在時間上不同的圖像且與該預測區塊位於同一位置或其附近之位置上所存在的已編碼之預測區塊群組:圖9的T0,T1)這3個預測區塊群組中,針對每一預測區塊群組,分別導出1個運動向量mvLXCol、mvLXA、mvLXB,當作預測運動向量候補,供給至預測運動向量候補登錄部122。以下,將mvLXCol稱作時間預測運動向量候補,將mvLXA及mvLXB稱作空間預測運動向量候補。該預測運動向量候補的算出之際,係使用編碼對象之預測區塊的參照索引及POC、編碼資訊儲存記憶體114中所儲存的已編碼之預測區塊的預測模式、每一參照清單的參照索引、參照圖像的POC、運動向量等之編碼資訊。
這些預測運動向量之候補mvLXCol、mvLXA、mvLXB,係有時候會隨著編碼對象圖像的POC與參照圖像的POC之關係,藉由比例換算而被導出。
預測運動向量候補生成部121,係就預測區塊群組,以所定之順序,對各個預測區塊群組內的預測區塊,進行後述之條件判定,選擇最先符合條件的預測區塊之運動向量,當作預測運動向量之候補mvLXCol、mvLXA、mvLXB。
在從左側相鄰之預測區塊群組算出預測運動向量之際,係以左側相鄰之預測區塊群組的由下往上之順序(圖5的A0至A0,A1之順序),在從上側相鄰之預測區塊群組算出預測運動向量之際,係以上側相鄰之預測區塊群組的由右往左之順序(圖5的B0至B0,B1,B2之順序),在從不同時間之預測區塊群組算出預測運動向量之際,係以圖9的T0至T0,T1之順序,對各預測區塊,進行後述之條件判定,選擇最先符合條件的預測區塊之運動向量,將預測運動向量之候補分別設成mvLXCol、mvLXA、mvLXB。
亦即,在左側的相鄰預測區塊群組中,最下面的預測區塊是優先順位最高,從下往上賦予優先順位,在上側的相鄰預測區塊群組中,最右方的預測區塊是優先順位最高,從右往左賦予優先順位。在不同時間的預測區塊群組中,T0的預測區塊是優先順位最高,按照T0,T1之順序依序賦予優先順位。
(空間預測區塊的條件判定之迴圈的說明)
對左側之相鄰預測區塊群組,係以下記的條件判定 1、2、3、4的優先順序,來適用各個條件判定。另一方面,對上側之相鄰預測區塊群組,係以下記的條件判定1、2的優先順序,來適用各個條件判定。
<條件判定>
條件判定1:與編碼/解碼對象之預測區塊的差分運動向量算出對象的LX運動向量相同之參照清單LX,且使用了相同之參照索引、亦即相同之參照圖像的預測,係在相鄰預測區塊上也有被進行。
條件判定2:雖然是與編碼/解碼對象之預測區塊的差分運動向量算出對象的LX運動向量不同之參照清單LY,但使用了相同之參照圖像的預測,係在相鄰預測區塊上被進行。
條件判定3:與編碼/解碼對象之預測區塊的差分運動向量算出對象的LX運動向量不同之參照清單LX,且使用了不同之參照圖像的預測,係在相鄰預測區塊上被進行。
條件判定4:與編碼/解碼對象之預測區塊的差分運動向量算出對象的LX運動向量不同之參照清單LY,且使用了不同之參照圖像的預測,係在相鄰預測區塊上被進行。
當與這些條件之任一者符合時,在該當預測區塊中係將符合條件的運動向量當作預測向量候補而採用之,不進行後續的條件判定。此外,當符合條件判定1或條件判定 2之條件時,由於該當之相鄰預測區塊的運動向量係和編碼對象預測區塊的參照圖像相同,因此直接視作預測運動向量之候補,但當符合條件判定3或條件判定4之條件時,由於該當之相鄰預測區塊的運動向量係和編碼對象預測區塊的參照圖像不同,因此以該運動向量為基礎而藉由比例換算予以算出,來作為預測運動向量之候補。
將上記4個條件判定,按照以下順序,將預測區塊群組內的預測區塊進行掃描以決定預測向量。
<預測向量的掃描程序>
使用相同預測圖像之不須比例縮放演算的預測運動向量之判定為優先,在4個條件判定當中,針對每個預測區塊進行2個條件判定,若不滿足條件,則進入下個的預測區塊的條件判定。首先對相鄰預測區塊群組內的各預測區塊進行條件判定1與條件判定2之條件判定,接著對相鄰預測區塊群組內的各預測區塊進行條件判定3與條件判定4之條件判定。
具體而言係用以下的優先順序來進行條件判定。(其中,N係為A或B)
1.預測區塊N0的條件判定1(相同參照清單LX、相同參照圖像)
2.預測區塊N0的條件判定2(不同參照清單LY、相同參照圖像)
3.預測區塊N1的條件判定1(相同參照清單LX、相同 參照圖像)
4.預測區塊N1的條件判定2(不同參照清單LY、相同參照圖像)
5.預測區塊N2的條件判定1(相同參照清單LX、相同參照圖像)
6.預測區塊N2的條件判定2(不同參照清單LY、相同參照圖像)
7.預測區塊N0的條件判定3(相同參照清單LX、不同參照圖像)
8.預測區塊N0的條件判定4(不同參照清單LY、不同參照圖像)
9.預測區塊N1的條件判定3(相同參照清單LX、不同參照圖像)
10.預測區塊N2的條件判定4(不同參照清單LY、不同參照圖像)
11.預測區塊N1的條件判定3(相同參照清單LX、不同參照圖像)
12.預測區塊N2的條件判定4(不同參照清單LY、不同參照圖像)
藉由如上記般地進行掃描,就會容易選擇不須使用相同參照圖像之比例縮放演算的預測精度較高的預測運動向量,因此具有縮小差分運動向量之編碼量而提升編碼效率之效果。
此處,在左側的相鄰預測區塊群組中,由於是由2個 預測區塊來構成群組,因此不進行上記掃描的5.6.及11.12.。
又,在上側的相鄰預測區塊群組中,由於是由3個預測區塊來構成群組,因此可進行上記掃描的1~12,但在本發明中,係僅進行上記掃描的1~6之程序,不進行7~12之程序(不進行條件判定3及4)。亦即,在上側的相鄰預測區塊群組中,係省略了比例縮放演算為必要條件之掃描。
藉此,可省略需要上側相鄰預測區塊群組之除算的比例縮放演算,可將比例縮放演算限定成只在左側相鄰預測區塊群組的預測向量候補。在進行左側之相鄰預測區塊群組與上側之相鄰預測區塊群組的平行處理時,是僅持有1個比例縮放演算電路來作為空間預測向量候補即可,因此可以削減電路規模。甚至,在進行左側之相鄰預測區塊群組與上側之相鄰預測區塊群組的平行處理時,可以縮小相鄰預測區塊群組內之構成預測區塊數之差異所致之處理量差異。亦即,藉由省略預測區塊數較多的上側之相鄰預測區塊群組的比例縮放演算之處理,就可縮小身為瓶頸的最大演算量。其結果為,可縮小左側之相鄰預測區塊群組的演算量與上側之相鄰預測區塊群組的演算量之差異,可有效率地進行平行處理。
針對上記處理的流程,使用圖17~圖21的流程圖而詳述於後。
說明從相鄰區塊的運動資訊取得。在本實施形態中, 設置有儲存運動資訊的線緩衝區及區塊緩衝區。從左側相鄰之預測區塊取得運動資訊時,係從區塊緩衝區取得運動資訊,針對上側相鄰之預測區塊,係若上側相鄰之預測區塊是樹區塊內時則和左側相鄰之預測區塊同樣地從區塊緩衝區取得運動資訊,若上側相鄰之預測區塊是樹區塊外時,則從線緩衝區取得運動資訊。
此處,為了縮減運動資訊的線緩衝區的大小而減少內部記憶體使用量,將儲存運動資訊的線緩衝區的大小,在水平方向壓縮成1/2。具體而言,區塊緩衝區係為了相鄰之未編碼區塊的運動向量預測,而將運動資訊以運動補償預測之最小單位(例如4x4區塊)加以保持而準備給來自相鄰區塊的存取,但線緩衝區係以水平方向是比運動補償預測之最小單位大2倍之單位(例如4x8區塊)而將運動資訊予以疏化然後儲存至線緩衝區。藉此,當垂直方向相鄰之區塊是樹區塊外時,則有可能取得與實際之該當區塊之運動資訊不同的運動資訊。亦即,藉由將運動資訊的線緩衝區之大小在水平方向上壓縮1/2,結果而言,從上側相鄰之預測區塊群組所導出之預測運動向量係相較於從左側相鄰之預測區塊群組所導出之預測運動向量,其預測運動向量之信賴性會降低。在上側相鄰之預測區塊群組中省略了比例縮放演算為必要條件之掃描的理由之1,係由於線緩衝區之大小的削減,即使省略了從上側相鄰之預測區塊群組的預測運動向量之比例縮放演算,對編碼效率造成影響仍很小。
此處,雖然假設線緩衝區的壓縮率為1/2來說明,但想當然爾,若壓縮率越大,則從上側相鄰之預測區塊群組所導出之預測運動向量的信賴性越低,因此在上側相鄰之預測區塊群組中省略比例縮放演算為必要條件之掃描的效果會越高。
關於從不同時間之預測區塊群組的預測向量候補mvLXCol之算出,係使用圖24~圖30的流程圖而詳述於後。
回到圖12的說明。接著,預測運動向量候補登錄部122係將已被算出之預測運動向量之候補mvLXCol、mvLXA、mvLXB,儲存在預測運動向量清單mvpListLX中。
接著,預測運動向量冗長候補刪除部123,係將LX之預測運動向量清單mvpListLX中所儲存的各個預測運動向量之候補的運動向量之值加以比較,從預測運動向量之候補之中,判定具有同一運動向量之值者,針對被判定為具有同一運動向量值的預測運動向量之候補,只留下最初一個而將其他從預測運動向量清單mvpListLX中刪除,使得預測運動向量之候補不會重複,將預測運動向量清單mvpListLX予以更新。
在預測運動向量候補數限制部124中,係將LX之預測運動向量清單mvpListLX中所登錄的預測運動向量的候補數加以計數,LX之預測運動向量候補數numMVPCandLX係被設定成所計數到的候補數之值。
然後,在預測運動向量候補數限制部124中,係將LX之預測運動向量清單mvpListLX中所登錄的LX之預測運動向量的候補數numMVPCandLX,固定成被規定的最終候補數finalNumMVPCand。
於本實施形態中,係將最終候補數finalNumMVPCand規定成2。將預測向量之候補數予以固定的理由是,若預測運動向量清單中所被登錄之預測運動向量的候補數是隨著預測運動向量清單的架構狀態而變動,則在解碼側上若不先架構好預測運動向量清單,則無法將預測運動向量索引進行熵解碼,因此預測運動向量清單之建構與熵解碼會產生依存關係,可能導致熵解碼中發生等待時間。而且,若熵解碼是依存於,含有從不同時間之圖像的預測區塊所導出之預測運動向量候補mvLXCol的預測運動向量清單的架構狀態,則別的圖像之編碼位元列的解碼時發生錯誤之際,目前圖像之編碼位元列也會受到該錯誤之影響而導致無法繼續熵解碼之問題。若將最終候補數finalNumMVPCand規定成固定的數,則可獨立於預測運動向量清單的架構而將預測運動向量索引進行熵解碼,同時,即使別的圖像之編碼位元列的解碼時發生錯誤,也可不受其影響地繼續進行目前圖像之編碼位元列的熵解碼。
在預測運動向量候補數限制部124中,當LX之預測運動向量的候補數numMVPCandLX是小於所被規定之最終候補數finalNumMVPCand時,則直到預測運動向量候補數numMVPCandLX變成與最終候補數 finalNumMVPCand相同值為止,會一直藉由將具有(0,0)之值的運動向量追加至預測運動向量清單mvpListLX中,以將預測運動向量的候補數限制成規定值。此時,雖然是重複地追加具有(0,0)之值的運動向量,但在解碼側上係為,預測運動向量索引在是從0起至(規定之候補數-1)的範圍內無論取用哪種值,都可確定預測運動向量。另一方面,當LX之預測運動向量的候補數numMVPCandLX是大於所被規定之最終候補數finalNumMVPCand時,則從預測運動向量清單mvpListLX中刪除所有大於finalNumMVPCand-1之索引中所被登錄的要素,使LX之預測運動向量的候補數numMVPCandLX變成與最終候補數finalNumMVPCand相同的值,藉此以將預測運動向量的候補數,限制成規定值。已被更新之預測運動向量清單mvpListLX係被供給至預測運動向量候補編碼量算出部125與預測運動向量選擇部126。
另一方面,藉由圖1的運動向量偵測部102,針對每一預測區塊,偵測出LX(X=0或1)之運動向量mvLX。這些運動向量mvLX係連同已被更新之預測運動向量清單mvpListLX的預測運動向量之候補,一起被供給至預測運動向量候補編碼量算出部125。
預測運動向量候補編碼量算出部125,係算出LX(X=0或1)之預測運動向量清單mvpListLX之中所儲存之各個預測運動向量之候補mvpListLX[i]各自與運動向量mvLX的差分運動向量,將這些差分運動向量進行編碼時 的編碼量分別予以算出,供給至預測運動向量選擇部126。
預測運動向量選擇部126,係在LX之預測運動向量清單mvpListLX中所被登錄之各要素之中,將預測運動向量之每一候補的編碼量呈現最小的預測運動向量之候補mvpListLX[i],當作LX之預測運動向量mvpLX而加以選擇。預測運動向量清單mvpListLX之中,最小發生編碼量的預測運動向量之候補是有複數存在時,則將預測運動向量清單mvpListLX之中的索引i是以最小號碼表示之預測運動向量之候補mvpListLX[i],當作LX的最佳的預測運動向量mvpLX而加以選擇。將已被選擇之預測運動向量mvpLX,供給至運動向量減算部127。然後,將該已被選擇之預測運動向量mvpLX所對應的預測運動向量清單中的索引i,當作LX之預測運動向量索引mvpIdxLX而予以輸出。
最後,運動向量減算部127係從LX之運動向量mvLX減去已被選擇之LX之預測運動向量mvpLX以算出LX之差分運動向量mvdLX,將差分運動向量mvdLX予以輸出。
mvdLX=mvLX-mvpLX
回到圖1,運動補償預測部105,係參照解碼影像記憶體115中所儲存的解碼圖像之影像訊號而相應於從運動向量偵測部102所供給之LX(X=0或1)之運動向量mvLX 來進行運動補償,獲得預測影像訊號,供給至預測方法決定部106。
預測方法決定部106,係決定預測方法。針對每一預測模式算出編碼量與編碼失真,決定最少發生編碼量與作為編碼失真的預測區塊尺寸與預測模式。從差分運動向量算出部103之運動向量減算部127所供給之LX之差分運動向量mvdLX、和將從預測運動向量選擇部126所供給之預測運動向量加以表示的LX之預測運動向量索引mvpIdxLX的編碼會被進行,算出運動資訊的編碼量。然後,將從運動補償預測部105所供給之預測影像訊號、和從影像記憶體101所供給之編碼對象之影像訊號的預測殘差訊號所編碼而成的預測殘差訊號的編碼量,予以算出。算出運動資訊的編碼量與預測殘差訊號的編碼量所加算而成的總發生編碼量,當作第1評價值。
又,如此將預測殘差訊號進行編碼後,為了評估失真量而進行解碼,算出編碼失真,來作為用來表示因編碼所產生之與原始影像訊號之誤差的比率。藉由將這些總發生編碼量與編碼失真,針對每一運動補償加以比較,以決定最少發生編碼量與作為編碼失真的預測區塊尺寸與預測模式。對已被決定之預測區塊尺寸的預測模式所相應之運動向量mvLX,進行上述運動向量之預測方法,表示預測運動向量的索引mvpIdxLX,係被當成以預測區塊單位之第2語法模態所表示之語法要素mvp_idx_lX[i],而被編碼。此外,此處所算出的發生編碼量,係將編碼過程加以模擬 而得到者是比較理想,但亦可簡化成取近似、或概算等等。
(解碼時的運動向量之預測)
根據上述的語法,在將已被編碼之動態影像之位元串流予以解碼的動態影像解碼裝置中,說明涉及本發明的運動向量之預測方法的動作。
實施形態所述之運動向量之預測方法被實施時,是在圖2的動態影像解碼裝置的運動向量算出部204中,進行處理。圖13係對應於實施形態之動態影像編碼裝置的圖2之動態影像解碼裝置的運動向量算出部204之詳細構成的圖示。圖13的粗線所圍繞之部分係表示運動向量算出部204。然後,其內部以粗虛線所圍繞之部分係表示後述的運動向量之預測方法之動作部,在對應之動態影像編碼裝置中也被同樣地設置,使得編碼與解碼不會矛盾而獲得同一判定結果。以下,使用此圖來說明解碼時的運動向量之預測方法。
運動向量算出部204係含有:預測運動向量候補生成部221、預測運動向量候補登錄部222、預測運動向量冗長候補刪除部223、預測運動向量候補數限制部224、預測運動向量選擇部225及運動向量加算部226。
該運動向量算出部204中的運動向量算出處理,係將畫面間預測中所使用的運動向量,對L0、L1每一者分別算出。具體而言,編碼對象區塊的預測模式PredMode是 畫面間預測(MODE_INTER),且編碼對象區塊的畫面間預測模式是L0預測(Pred_L0)時,則算出L0的預測運動向量清單mvpListL0,選擇預測運動向量mvpL0,算出L0之運動向量mvL0。編碼對象區塊的畫面間預測模式是L1預測(Pred_L1)時,則算出L1的預測運動向量清單mvpListL1,選擇預測運動向量mvpL1,算出L1之運動向量mvL1。編碼對象區塊的畫面間預測模式是雙預測(Pred_BI)時,則L0預測與L1預測皆會被進行,算出L0的預測運動向量清單rmvpListL0,選擇L0的預測運動向量mvpL0,算出L0之運動向量mvL0,並且算出L1的預測運動向量清單mvpListL1,算出L1的預測運動向量mvpL1,將L1之運動向量mvL1分別予以算出。
和編碼側同樣地,在解碼側也是針對L0、L1分別都會進行運動向量算出處理,但L0、L1皆為共通之處理。因此,在以下的說明中,將L0、L1表示成共通的LX。在算出L0之運動向量的處理中X係為0,在算出L1之運動向量的處理中X係為1。又,在算出LX之運動向量的處理中,若非LX、而是參照另一方之清單的資訊時,則將另一方之清單以LY來表示。
運動向量算出部204之中的預測運動向量候補生成部221、預測運動向量候補登錄部222、預測運動向量冗長候補刪除部223及預測運動向量候補數限制部224,係規定成分別和編碼側的差分運動向量算出部103之中的預測運動向量候補生成部121、預測運動向量候補登錄部122 及預測運動向量冗長候補刪除部123、預測運動向量候補數限制部124相同地動作,藉此,可在編碼側及解碼側上獲得編碼與解碼不會矛盾的同一預測運動向量之候補。
預測運動向量候補生成部221,係進行和圖12的編碼側之預測運動向量候補生成部121相同的處理。將已被解碼而記錄在編碼資訊儲存記憶體209中的、解碼對象區塊同一圖像內的與解碼對象區塊相鄰的已解碼之預測區塊及存在於不同圖像內的與解碼對象區塊同一位置或其附近位置的已解碼之預測區塊等的運動向量,從編碼資訊儲存記憶體209中予以讀出。根據從編碼資訊儲存記憶體209所讀出的已解碼之其他區塊的運動向量而對每一預測區塊群組生成預測運動向量之候補mvLXCol、mvLXA、mvLXB,供給至預測運動向量候補登錄部222。
這些預測運動向量之候補mvLXCol、mvLXA、mvLXB,係有時候會隨著參照索引而藉由比例換算而被算出。此外,預測運動向量候補生成部221,係進行和圖12的編碼側之預測運動向量候補生成部121相同的處理,因此這裡省略詳細說明。
接著,預測運動向量候補登錄部222係進行和圖12的編碼側之預測運動向量候補登錄部122相同的處理。將已被算出之預測運動向量之候補mvLXCol、mvLXA、mvLXB,儲存在LX的預測運動向量清單mvpListLX中。
接著,預測運動向量冗長候補刪除部223係進行和圖12的編碼側之預測運動向量冗長候補刪除部123相同的 處理。從LX之預測運動向量清單mvpListLX中所儲存的預測運動向量之候補之中,判定具有同一運動向量之值者,針對被判定為具有同一運動向量值的預測運動向量之候補,只留下最初一個而將其他從預測運動向量清單mvpListLX中刪除,使得預測運動向量之候補不會重複,將預測運動向量清單mvpListLX予以更新。
接著,預測運動向量候補數限制部224係進行和圖12的編碼側之預測運動向量候補數限制部124相同的處理。在預測運動向量候補數限制部224中,係將預測運動向量清單mvpListLX中所登錄的要素數加以計數,LX之預測運動向量的候補數numMVPCandLX係被設定成所計數到的候補數之值。
然後,在預測運動向量候補數限制部224中,係因在編碼側所說明過的理由,而將預測運動向量清單mvpListLX中所登錄的LX之預測運動向量的候補數numMVPCandLX,固定成最終候補數finalNumMVPCand。
於本實施形態中,係將最終候補數finalNumMVPCand規定成2。當LX之預測運動向量的候補數numMVPCandLX是小於所被規定之最終候補數finalNumMVPCand時,則直到預測運動向量候補數numMVPCandLX變成與最終候補數finalNumMVPCand相同值為止,會一直藉由將具有(0,0)之值的運動向量追加至預測運動向量清單mvpListLX中,以將預測運動向量的候補數限制成規定值。此時,雖然是重複地追加具有(0, 0)之值的運動向量,但在解碼側上係為,預測運動向量索引在是從0起至規定值-1的範圍內無論取用哪種值,都可確定預測運動向量。另一方面,當LX之預測運動向量的候補數numMVPCandLX是大於所被規定之最終候補數finalNumMVPCand時,則從預測運動向量清單mvpListLX中刪除所有大於finalNumMVPCand-1之索引中所被登錄的要素,使LX之預測運動向量的候補數numMVPCandLX變成與最終候補數finalNumMVPCand相同的值,藉此以將預測運動向量的候補數,限制成規定值。已被更新之預測運動向量清單mvpListLX,係被供給至預測運動向量選擇部225。
另一方面,在第1編碼位元列解碼部202中所被解碼之每一預測區塊的LX(X=0或1)的差分運動向量mvdLX,係被供給至運動向量加算部226。在第1編碼位元列解碼部202中所被解碼之LX之預測運動向量的預測運動向量索引mvpIdxLX,係被供給至預測運動向量選擇部225。
預測運動向量選擇部225,係被供給著已被第1編碼位元列解碼部202所解碼之LX之預測運動向量索引mvpIdxLX,將所被供給之索引mvpIdxLX所對應的預測運動向量之候補mvpListLX[mvpIdxLX],當作LX之預測運動向量mvpLX而從預測運動向量清單mvpListLX中取出。將已被供給之預測運動向量之候補,當作預測運動向量mvpLX而供給至運動向量加算部226。
最後,運動向量加算部226係將已被第1編碼位元列 解碼部202所解碼而供給的LX之差分運動向量mvdLX與LX之預測運動向量mvpLX進行加算,而算出LX之運動向量mv,將運動向量mvLX予以輸出。
mvLX=mvpLX+mvdLX
如以上,就可針對每一預測區塊,算出LX之運動向量mvLX。使用該運動向量而藉由運動補償來生成預測影像訊號,藉由與已被解碼之預測殘差訊號進行加算,而生成解碼影像訊號。
關於動態影像編碼裝置的差分運動向量算出部103、動態影像解碼裝置的運動向量算出部204的處理程序,分別使用圖14、圖15的流程圖來說明。圖14係動態影像編碼裝置所進行之差分運動向量算出處理程序的流程圖,圖15係動態影像解碼裝置所進行之運動向量算出處理程序的流程圖。
參照圖14來說明編碼側的差分運動向量算出處理程序。在編碼側上,首先,在差分運動向量算出部103中,設定預測運動向量之候補的最終候補數finalNumMVCand(S100)。於本實施形態中,係將最終候補數finalNumMVPCand規定成2。
接著,在差分運動向量算出部103中,將編碼對象區塊上所被選擇之畫面間預測時所使用之運動向量的差分運動向量,針對各L0、L1而分別予以算出(S101~S106)。
在算出LX之差分運動向量mvdLX時(S102的 YES),算出LX之預測運動向量之候補以架構LX之預測運動向量清單mvpListLX(S103)。在差分運動向量算出部103中的預測運動向量候補生成部121中算出複數預測運動向量之候補,在預測運動向量候補登錄部122中對預測運動向量清單mvpListLX追加所算出之預測運動向量之候補,在預測運動向量冗長候補刪除部123中將多餘的預測運動向量之候補予以刪除,在預測運動向量候補數限制部124中將預測向量候補數固定成預測運動向量清單mvpListLX中所被登錄之LX之預測運動向量的候補數numMVPCandLX,藉此以建構出預測運動向量清單mvpListLX。關於步驟S103之詳細之處理程序,係使用圖16的流程圖而後述。
接著,藉由預測運動向量候補編碼量算出部125、及預測運動向量選擇部126,從LX之預測運動向量清單mvpListLX中,選擇出LX之預測運動向量mvpLX(S104)。首先,在預測運動向量候補編碼量算出部125中,將運動向量mvLX與預測運動向量清單mvpListLX之中所儲存之各預測運動向量之候補mvpListLX[i]的差分亦即各個差分運動向量予以算出,將這些差分運動向量進行編碼時的編碼量,針對預測運動向量清單mvpListLX的每一要素而予以算出,在預測運動向量選擇部126中,在預測運動向量清單mvpListLX中所被登錄之各要素之中,將預測運動向量之每一候補的編碼量呈現最小的預測運動向量之候補mvpListLX[i],選擇成為預測運動向量mvpLX。 預測運動向量清單mvpListLX之中,最小發生編碼量的預測運動向量之候補是有複數存在時,則將預測運動向量清單mvpListLX之中的索引i是以最小號碼表示之預測運動向量之候補mvpListLX[i],當作最佳預測運動向量mvpLX而加以選擇。
接著,在運動向量減算部127中,從LX之運動向量mvLX減去已被選擇之LX之預測運動向量mvpLX以算出LX之差分運動向量mvdLX(S105)。
mvdLX=mvLX-mvpLX
接著,參照圖15,說明解碼側的運動向量算出處理程序。在解碼側,也是在運動向量算出部204中,將畫面間預測時所使用的運動向量,針對每一L0、L1而分別算出(S201~S206)。
在算出LX之運動向量mvdLX時(S202的YES),算出LX之預測運動向量之候補以架構LX之預測運動向量清單mvpListLX(S203)。在運動向量算出部204中的預測運動向量候補生成部221中算出複數預測運動向量之候補,在預測運動向量候補登錄部222中對預測運動向量清單mvpListLX追加所算出之預測運動向量之候補,在預測運動向量冗長候補刪除部223中將多餘的預測運動向量之候補予以刪除,在預測運動向量候補數限制部224中將預測向量候補數固定成預測運動向量清單mvpListLX中所被登錄之LX之預測運動向量的候補數numMVPCandLX,藉 此以建構出預測運動向量清單mvpListLX。關於步驟S203之詳細之處理程序,係使用圖16的流程圖而後述。
接著,在預測運動向量選擇部225中,從預測運動向量清單mvpListLX將已被第1編碼位元列解碼部202所解碼之預測運動向量之索引mvpIdxLX所對應之預測運動向量之候補mvpListLX[mvpIdxLX],當作已被選擇之預測運動向量mvpLX而加以取出(S204)。
接著,在運動向量加算部226中,將已被第1編碼位元列解碼部202所解碼而供給的LX之差分運動向量mvdLX與LX之預測運動向量mvpLX進行加算,而算出LX之運動向量mvLX(S205)。
mvLX=mvpLX+mvdLX
接著,圖14之S103、及圖15之S203所共通的預測運動向量之候補之導出及預測運動向量清單建立處理程序,使用圖16的流程圖來詳細說明。
(運動向量之預測方法)
圖16係在動態影像編碼裝置的差分運動向量算出部103及動態影像解碼裝置的運動向量算出部204中具有共通機能的預測運動向量候補生成部121及221、預測運動向量候補登錄部122及222、以及預測運動向量冗長候補刪除部123及223、預測運動向量候補數限制部124及224之處理程序的流程圖。
首先,預測運動向量候補生成部121及221係導出來自不同時間之圖像之預測區塊的預測運動向量之候補,導出用來表示不同時間之圖像之預測區塊之預測運動向量候補能否利用的旗標availableFlagLXCol、及運動向量mvLXCol、參照索引refIdxCol、清單ListCol(圖16的S301)。此步驟S301的導出處理程序,將會使用圖24~圖30的流程圖而在之後詳細說明。
接著,預測運動向量候補生成部121及221係導出來自左側相鄰之預測區塊的預測運動向量之候補,導出用來表示左側相鄰之預測區塊之預測運動向量候補能否利用的旗標availableFlagLXA、及運動向量mvLXA、參照索引refIdxA、清單ListA(圖16的S302)。此外,L0之時X係為0,L1之時X係為1(以下皆同)。接著,預測運動向量候補生成部121及221係導出來自上側相鄰之預測區塊的預測運動向量之候補,導出用來表示上側相鄰之預測區塊之預測運動向量候補能否利用的旗標availableFlagLXB、及運動向量mvLXB、參照索引refIdxB、清單ListB(圖16的S303)。圖16的步驟S302與S303之處理係除了所參照之相鄰區塊的位置與數目不同、以及相鄰區塊的掃描程序不同以外其餘皆為共通,導出表示能否利用預測區塊的預測運動向量候補的旗標availableFlagLXN、及運動向量mvLXN、參照索引refIdxN、ListN(N係為A或B,以下皆同)。S302及S303的處理程序,將會使用圖17~圖21的流程圖而在之後詳細說明。
接著,預測運動向量候補登錄部122及222係作成預測運動向量清單mvpListLX,將LX之各個預測向量之候補mvLXCol,mvLXA,mvLXB予以追加(圖16的S304)。此步驟S304的登錄處理程序,將會使用圖31的流程圖而在之後詳細說明。
接著,預測運動向量冗長候補刪除部123及223,係當從預測運動向量清單mvpListLX內的左側相鄰之預測區塊群組所導出之空間預測運動向量候補mvLXA及從上側相鄰之預測區塊群組所導出之空間預測運動向量候補mvLXB是具有相同值的情況下,則將其中一方判斷為冗長的運動向量之候補,留下最小順序、亦即索引i最小的運動向量之候補mvLXA,摘除冗長的運動向量之候補mvLXB(圖16的S305)。在冗長候補刪除比較部中,係不進行時間預測運動向量候補mvLXCol與空間預測運動向量候補mvLXA或mvLXB間的運動向量冗長性比較。這是因為,時間預測運動向量候補與空間預測運動向量候補之生成係由於存取的運動資訊記憶體不同或各處理量有差異因此經常會平行處理,所以若進行時間預測運動向量候補與空間預測運動向量候補間的運動向量之比較,則進行平行處理時的同步必須要提前,會增加某一方處理的等待時間。因此,將時間預測運動向量候補與空間預測運動向量候補之導出處理儘可能地分離是較為理想,所以在本發明中係不進行時間預測運動向量候補與空間預測運動向量候補間的運動向量冗長性比較。時間預測運動向量與空間 預測運動向量,係由於運動向量的導出程序不同,因此會導出性質互異的預測運動向量。因此,時間預測運動向量與空間預測運動向量會變成相同的機率很低,即使不進行時間預測運動向量候補與空間預測運動向量候補間的運動向量比較,仍不會降低編碼效率。此步驟S305的刪除處理程序,將會使用圖32的流程圖而在之後詳細說明。
接著,預測運動向量候補數限制部124及224係將已被追加至預測運動向量清單mvpListLX內的要素之數量加以計數,該數量會被設定成LX之預測運動向量的候補數numMVPCandLX,將預測運動向量清單mvpListLX中所被登錄之LX之預測運動向量的候補數numMVPCandLX,限制成被規定的最終候補數finalNumMVPCand。(圖16的S306)。此步驟S306的刪除處理程序,將會使用圖33的流程圖而在之後詳細說明。
詳細說明,從圖16的S301、S302之左側或上側相鄰之預測區塊,分別導出預測運動向量之候補的程序。
如圖5、圖6、圖7、圖8所示,從為了將同一圖像內之編碼區塊內部進行運動補償而被定義的預測區塊的預測區塊(圖5、圖6、圖7、圖8中的處理對象之預測區塊)所相鄰之周圍的預測區塊,導出預測運動向量之候補。
預測運動向量之候補,係從處理對象之預測區塊的左側相鄰之預測區塊Ak(k=0,1)、亦即A0、A1所構成之預測區塊群組A、上方相鄰之預測區塊Bk(k=0,1,2)、亦即B0、B1、B2所構成之預測區塊群組B中,分別選出預測 運動向量之候補。
接著,說明圖16的S301及S302的處理程序亦即從左側及上側相鄰之預測區塊群組N導出預測運動向量之候補的方法。圖17係前述掃描方法所致之圖16的S301及S302之預測運動向量候補導出處理程序的流程圖。字尾X中係代入表示參照清單的0或1,N係代入表示相鄰之預測區塊群組之領域的A(左側)或B(上側)。
從左側之預測區塊導出預測運動向量之候補時(圖16的S301),係在圖17中把N設成A,使用以下的程序而從編碼/解碼對象之預測區塊的左側相鄰之A0、A1之預測區塊算出預測運動向量之候補;從上側之預測區塊導出預測運動向量之候補時(圖16的S302),係在圖17中把N設成B,使用以下的程序而從上側相鄰之B0、B1、B2預測區塊算出預測運動向量之候補。
首先,將編碼/解碼對象之預測區塊所相鄰的預測區塊加以特定,當各個預測區塊Nk(k=0,1,2,其中,2係只有上側的預測區塊群組)是能夠利用時,則取得編碼資訊儲存記憶體114或編碼資訊儲存記憶體209中所儲存的編碼資訊。此處所取得的相鄰之預測區塊Nk的編碼資訊,係為預測模式PredMode、用來表示是否利用LX的旗標predFlagLX[xNk][yNk]、LX之參照索引refIdxLX[xNk][yNk]、LX之運動向量mvLX[xNk][yNk]。編碼/解碼對象之預測區塊的左側相鄰之預測區塊群組(N=A)的情況下(S1101的YES),將左下相鄰之預測區塊A0、左方相 鄰之預測區塊A1加以特定而取得編碼資訊(S1102、S1103),編碼/解碼對象之預測區塊的上側相鄰之預測區塊群組(N=B)的情況下(S1101的NO),將右上相鄰之預測區塊B0、上方相鄰之預測區塊B1、左上相鄰之預測區塊B2加以特定而取得編碼資訊(S1104、S1105、S1106)。此外,相鄰之預測區塊Nk是位於含有編碼/解碼對象預測區塊的切片之內側時係為可以利用,位於外側時係為不可利用。
接著,將用來表示從預測區塊群組N是否有選出預測運動向量的旗標availableFlagLXN設定成0,將代表預測區塊群組N的運動向量mvLXN設定成(0,0)(S1107)。
接下來,導出符合前述條件判定1或條件判定2的預測運動向量候補(S1108)。在預測區塊群組N(N係為A或B)的相鄰預測區塊N0、N1、N2(N2係只有上側的相鄰預測區塊群組B)之中,在編碼/解碼對象預測區塊裡與目前對象之參照清單LX相同之參照清單LX、或是編碼/解碼對象預測區塊裡與目前對象之參照清單LX相反的參照清單LY(Y=!X:目前對象之參照清單為L0時,相反之參照清單係為L1,目前對象之參照清單為L1時,相反之參照清單係為L0)裏,找出持有相同參照圖像之運動向量的預測區塊然後將該運動向量視為預測運動向量候補。
圖18係圖17的步驟S1108之導出處理程序的流程圖。對於相鄰之預測區塊Nk(k=0,1,2,其中,2係只有上側的相鄰預測區塊群組),以k為0,1,2之順序,分別 進行以下之處理(S1201~S1207)。N為A時係由下往上以A0、A1之順序,N為B時係由右往左以B0、B1、B2之順序,分別進行以下處理。
相鄰之預測區塊Nk係為可利用,預測區塊Nk的預測模式PredMode並非畫面內(MODE_INTRA)時(S1202的YES),則進行前述條件判定1的條件判定(S1203)。用來表示相鄰之預測區塊Nk的LX能否利用的旗標predFlagLX[xNk][yNk]為1,亦即相鄰之預測區塊Nk是使用與算出對象相同的LX之運動向量而被畫面間預測,且相鄰之預測區塊Nk的LX之參照索引refIdxLX[xNk][yNk]與處理對象之預測區塊的索引refIdxLX為相同,亦即相鄰之預測區塊Nk是LX預測且使用相同參照圖像而被畫面間預測時(S1203的YES),則前進至步驟S1204,若非如此時(S1203的NO),則進行步驟S1205之條件判定。
若步驟S1203為YES,則旗標availableFlagLXN係被設定成1,預測區塊群組N的預測運動向量mvLXN係被設定成和相鄰之預測區塊Nk的LX之運動向量mvLX[xNk][yNk]相同的值,預測區塊群組N的參照索引refIdxN係被設定成和相鄰之預測區塊Nk的LX之參照索引refIdxLX[xNk][yNk]相同的值,預測區塊群組N的參照清單ListN係被設定成LX(S1204),結束本預測運動向量候補算出處理。
另一方面,若步驟S1203為NO,則進行前述條件判定2的條件判定(S1205)。用來表示相鄰之預測區塊Nk的 LY能否利用的旗標predFlagLY為1,亦即相鄰之預測區塊Nk是使用與算出對象不同的LY之運動向量而被畫面間預測,且與相鄰之預測區塊Nk的目前對象之參照清單LX相反的參照清單LY的參照圖像的POC和處理對象之預測區塊的LX之參照圖像的POC是相同,亦即相鄰之預測區塊Nk是LY預測且使用相同參照圖像而被畫面間預測時(S1205的YES),則前進至步驟S1206,旗標availableFlagLXN係被設定成1,預測區塊群組N的預測運動向量mvLXN係被設定成和相鄰之預測區塊Nk的LY之運動向量mvLY[xNk][yNk]相同的值,預測區塊群組N的參照索引refIdxN係被設定成和相鄰之預測區塊Nk的LY之參照索引refIdxLY[xNk][yNk]相同的值,預測區塊群組N的參照清單ListN係被設定成LY(S1206),結束本預測運動向量候補算出處理。
若不符合這些條件時,亦即S1203的NO且S1205的NO的情況下,則將k增加1,進行下個相鄰預測區塊之處理(S1201~S1207),重複直到availableFlagLXN變成1、或是相鄰區塊A1或B2之處理結束為止。
接著,回到圖17的流程圖,當是左側相鄰之預測區塊群組(N=A),且availableFlagLXN為0時(S1109的YES),亦即在左側相鄰之預測區塊群組中,在步驟S1108裡無法算出預測運動向量之候補時,則算出符合前述條件判定3或條件判定4的預測運動向量候補(S1110)。
圖19係圖17的步驟S1110之導出處理程序的流程 圖。對於相鄰之預測區塊Nk(k=0,1),以k為0,1之順序,分別進行以下之處理(S1301~S1307)。
相鄰之預測區塊Nk係為可利用,預測區塊Nk的預測模式PredMode並非畫面內(MODE_INTRA)時(S1302的YES),則進行前述條件判定3的條件判定(S1303)。用來表示相鄰之預測區塊Nk的LX能否利用的旗標predFlagLX[xNk][yNk]為1,亦即相鄰之預測區塊Nk是使用與算出對象相同的LX之運動向量而被畫面間預測時,則前進至步驟S1304,若非如此時(S1303的NO),則進行步驟S1305之條件判定。
若步驟S1303為YES,則旗標availableFlagLXN係被設定成1,預測區塊群組N的mvLXN係被設定成和相鄰之預測區塊Nk的LX之運動向量mvLX[xNk][yNk]相同的值,預測區塊群組N的參照索引refIdxN係被設定成和相鄰之預測區塊Nk的LX之參照索引refIdxLX[xNk][yNk]相同的值,預測區塊群組N的參照清單ListN係被設定成LX(S1304),進至步驟S1308。
若步驟S1303為NO,則進行前述條件判定4的條件判定(S1305)。用來表示相鄰之預測區塊Nk的LY能否利用的旗標predFlagLY為1,亦即相鄰之預測區塊Nk是使用與算出對象不同的LY之運動向量而被畫面間預測時(S1305的YES),則旗標availableFlagLXN係被設定成1,預測區塊群組N的預測運動向量mvLXN係被設定成和相鄰之預測區塊Nk的LY之運動向量mvLY[xNk][yNk] 相同的值,預測區塊群組N的預測運動向量mvLXN係被設定成和相鄰之預測區塊Nk的LY之運動向量mvLY[xNk][yNk]相同的值,預測區塊群組N的參照索引refIdxN係被設定成和相鄰之預測區塊Nk的LY之參照索引refIdxLY[xNk][yNk]相同的值,預測區塊群組N的參照清單ListN係被設定成LY(S1306),進至步驟S1308。
另一方面,若不符合這些條件時(S1303的NO且S1305的NO的情況下),則將k增加1,進行下個相鄰預測區塊之處理(S1301~S1307),重複直到availableFlagLXN變成1、或相鄰區塊A1之處理結束為止,然後前進至步驟S1308。
接著,當availableFlagLXN為1時(S1308的YES),將mvLXN進行比例縮放(S1309)。該步驟S1309的空間預測運動向量候補的比例縮放演算處理程序,使用圖20及圖21來說明。
圖20係圖19的步驟S1309之運動向量之比例縮放演算處理程序的流程圖。
從目前的編碼/解碼對象圖像之POC,減去相鄰預測區塊的清單ListN所參照的參照圖像之POC,以算出圖像間距離td(S1601)。此外,若相較於目前之編碼/解碼對象圖像,相鄰預測區塊的清單ListN中所參照之參照圖像在顯示順序上是較為前面的情況下,則圖像間距離td係為正的值,若相較於目前之編碼/解碼對象圖像,相鄰預測區塊的參照清單ListN中所參照之參照圖像在顯示順序上 是較為後面的情況下,則圖像間距離td係為負的值。
td=目前之編碼/解碼對象圖像的POC-相鄰預測區塊之參照清單ListN中所參照之參照圖像的POC
接著,從目前的編碼/解碼對象圖像之POC,減去目前之編碼/解碼對象圖像的清單LX所參照之參照圖像的POC,以算出圖像間距離tb(S1602)。此外,若相較於目前之編碼/解碼對象圖像,目前之編碼/解碼對象圖像的清單LX中所參照之參照圖像在顯示順序上是較為前面的情況下,則圖像間距離tb係為正的值,若目前之編碼/解碼對象圖像的清單LX中所參照之參照圖像在顯示順序上是較為後面的情況下,則圖像間距離tb係為負的值。
tb=目前之編碼/解碼對象圖像的POC-目前之編碼/解碼對象圖像的參照清單LX中所參照之參照圖像的POC
接著,藉由下式而對mvLXN乘上比例縮放係數tb/td以進行比例縮放演算處理(S1603),獲得經過比例縮放的運動向量mvLXN。
mvLXN=tb/td * mvLXN
又,步驟S1603之比例縮放演算是以整數精度的演算來進行時的例子,示於圖21。圖21的步驟S1604~S1606之處理,係相當於圖20的步驟S1603之處理。
首先,和圖20的流程圖同樣地,算出圖像間距離td與圖像間距離tb(S1601、S1602)。
接著,以下式算出變數tx(S1603)。
tx=(16384+Abs(td/2))/td
接著,以下式算出比例縮放係數DistScaleFactor(S1605)。
DistScaleFactor=(tb * tx+32)>>6
接著,以下式取得經過比例縮放的運動向量mvLXN(S1606)。
mvLXN=ClipMv(Sign(DistScaleFactor * mvLXN)*((Abs(DistScaleFactor * mvLXN)+127)>>8))
接著,詳細說明圖16的S303的從不同時間之圖像的預測區塊導出預測運動向量之候補的方法。圖24係說明圖16的步驟S303之預測運動向量候補導出處理程序的流程圖。
首先,藉由slice_type與collocated_from_l0_flag,決定將不同時間之圖像colPic,定義至L0之參照清單或L1之參照清單之哪一者(圖24的S2101)。
圖25係說明圖24的步驟S2101的不同時間之圖像colPic之導出處理程序的流程圖。若slice_type為B,且前述的旗標collocated_from_l0_flag為0(圖25的S2201的YES、S2202的YES),則為RefPicList1[0],亦即參照清單L1的參照索引為0的圖像,係成為不同時間之圖像colPic(圖25的S2203)。若非如此,亦即前述的旗標collocated_from_l0_flag為1的情況(圖25的S2201的 NO、S2202的NO、S2204的NO),則RefPicList0[0]、亦即參照清單L0的參照索引為0的圖像,係成為不同時間之圖像colPic(圖25的S2205)。
接著,回到圖24的流程圖,算出不同時間之預測區塊colPU,取得編碼資訊(圖24的S2102)。
圖26係說明圖24的步驟S2102的不同時間之圖像colPic的預測區塊colPU之導出處理程序的流程圖。
首先,在不同時間之圖像colPic內,將與處理對象之預測區塊同一位置的右下(外側)位置上的預測區塊,設定成不同時間之預測區塊colPU(圖26的S2301)。該預測區塊係相當於圖9的預測區塊T0。
接著,若不同時間之預測區塊是編碼區塊的樹區塊之外、或colPU的PredMode為MODE_INTRA的情況下(圖26的S2302、S2303),則在不同時間之圖像colPic內,將與處理對象之預測區塊同一位置的中央右下位置的預測區塊,重新設定成不同時間之預測區塊colPU(圖26的S2304)。該預測區塊係相當於圖9的預測區塊T1。若colPu是樹區塊外時則將colPu變更成與處理對象之預測區塊相同的中央右下的理由是,從樹區塊外取得colPU資訊係硬體的記憶體存取成本較大的緣故。
接著,回到圖24的流程圖,將從與編碼/解碼對象之預測區塊相同位置之其他圖像的預測區塊所算出的LX之預測運動向量mvLXCol,和用來表示預測區塊群組Col的參照清單LX的編碼資訊是否為有效的旗標availableFlagLXCol, 予以算出(圖24的S2103)。
圖27係說明圖24的步驟S2103的畫面間預測資訊的導出處理的流程圖。
不同時間之預測區塊colPU的PredMode是MODE_INTRA、或無法利用時(圖27的S2401的NO、S2402的NO),則將availableFlagLXCol設成0、mvLXCol設成(0,0)(圖27的S2403、S2404),結束處理。
若預測區塊colPU係能利用而PredMode不是MODE_INTRA時(圖27的S2401的YES、S2402的YES),則用以下的程序來算出mvCol與refIdxCol。
若用來表示預測區塊colPU之L0預測是否能利用的旗標PredFlagL0[xPCol][yPCol]為0時(圖27的S2405的YES),則因為預測區塊colPU的預測模式是Pred_L1,所以運動向量mvCol會被設定成與預測區塊colPU的L1之運動向量亦即MvL1[xPCol][yPCol]相同的值(圖27的S2406),參照索引refIdxCol會被設定成與L1之參照索引RefIdxL1[xPCol][yPCol]相同的值(圖27的S2407),清單ListCol係被設定成L1(圖27的S2408)。
另一方面,若預測區塊colPU的L0預測旗標PredFlagL0[xPCol][yPCol]不是0(圖27的S2405的NO),則判定預測區塊colPU的L1預測旗標PredFlagL1[xPCol][yPCol]是否為0。若預測區塊colPU的L1預測旗標PredFlagL1[xPCol][yPCol]是0(圖27的S2409的YES),則運動向量mvCol會被設定成與預測區 塊colPU的L0之運動向量亦即MvL0[xPCol][yPCol]相同的值(圖27的S2410),參照索引refIdxCol會被設定成與L0之參照索引RefIdxL0[xPCol][yPCol]相同的值(圖27的S2411),清單ListCol係被設定成L0(圖27的S2412)。
若預測區塊colPU的L0預測旗標PredFlagL0[xPCol][yPCol]與若預測區塊colPU的L1預測旗標PredFlagL1[xPCol][yPCol]都不是0(圖27的S2405的NO、S2409的NO),則因為預測區塊colPU的畫面間預測模式係為雙預測(Pred_BI),所以從L0、L1的2個運動向量中,選擇出一方(圖27的S2413)。
圖28係預測區塊colPU的畫面間預測模式是雙預測(Pred_BI)時的預測區塊的畫面間預測資訊之導出處理程序的流程圖。
首先,判定所有的參照清單中所登錄之所有圖像的POC是否小於目前編碼/解碼對象圖像之POC(S2501),若預測區塊colPU的所有參照清單亦即L0及L1中所登錄之所有圖像的POC都是小於目前編碼/解碼對象圖像之POC(S2501的YES),且X為0,亦即有算出了編碼/解碼對象之預測區塊的L0之運動向量之預測向量候補的情況下(S2502的YES),則選擇預測區塊colPU的L0這邊的畫面間預測資訊;X為1,亦即有算出了編碼/解碼對象之預測區塊的L1之運動向量之預測向量候補的情況下(S2502的NO),則選擇預測區塊colPU的L1這邊的畫面間預測資訊。另一方面,若預測區塊colPU的所有參照清單L0 及L1中所登錄之圖像的POC至少有1者是大於目前編碼/解碼對象圖像之POC(S2501的NO),且若旗標collocated_from_l0_flag為0時(S2503的YES),則選擇預測區塊colPU的L0這邊的畫面間預測資訊;若旗標collocated_from_l0_flag為1時(S2503的NO),則選擇預測區塊colPU的L1這邊的畫面間預測資訊。亦即,若colPU是使用L1而被定義時,則作為mvCol是選擇L0;若colPU是使用L0而被定義時,則作為mvCol是選擇L1。藉由使colPU之選擇與mvCol之選擇清單彼此相反,可使用從colPic朝編碼對象圖像之方向的對參照影像之運動向量而進行內插預測,可算出高精度的預測向量。
選擇預測區塊colPU的L0這邊的畫面間預測資訊時(S2502的YES,S2503的YES),運動向量mvCol係被設定成與MvL0[xPCol][yPCol]相同的值(S2504),參照索引refIdxCol係被設定成與RefIdxL0[xPCol][yPCol]相同的值(S2505),清單ListCol係被設定成L0(S2506)。
選擇預測區塊colPU的L1這邊的畫面間預測資訊時(S2502的NO,S2503的NO),運動向量mvCol係被設定成與MvL1[xPCol][yPCol]相同的值(S2507),參照索引refIdxCol係被設定成與RefIdxL1[xPCol][yPCol]相同的值(S2508),清單ListCol係被設定成L1(S2509)。
回到圖27,若能從預測區塊colPU取得畫面間預測資訊,則將availableFlagLXCol設成1(圖27的S2414)。
接著,回到圖24的流程圖,若availableFlagLXCol 為1(圖24的S2104的YES),則因應需要而將mvLXCol進行比例換算(圖24的S2105)。此運動向量mvLXCol的比例縮放演算處理程序,使用圖29及圖30來說明。
圖29係圖24的步驟S2105之運動向量之比例縮放演算處理程序的流程圖。
從不同時間之圖像colPic的POC,減去預測區塊colPU的清單ListCol中所參照之參照圖像的POC,以算出圖像間距離td(S2601)。此外,若相較於不同時間之圖像colPic,預測區塊colPU的清單ListCol中所參照之參照圖像的POC在顯示順序上是較為前面的情況下,則圖像間距離td係為正的值,若相較於不同時間之圖像colPic,預測區塊colPU的清單ListCol中所參照之參照圖像的POC在顯示順序上是較為後面的情況下,則圖像間距離td係為負的值。
td=不同時間之圖像colPic的POC-預測區塊colPU的清單ListCol中所參照之參照圖像的POC
從目前的編碼/解碼對象圖像之POC,減去目前之編碼/解碼對象圖像的清單LX所參照之參照圖像的POC,以算出圖像間距離tb(S2602)。此外,若相較於目前之編碼/解碼對象圖像,目前之編碼/解碼對象圖像的清單LX中所參照之參照圖像在顯示順序上是較為前面的情況下,則圖像間距離tb係為正的值,若目前之編碼/解碼對象圖像的清單LX中所參照之參照圖像在顯示順序上是較為後面的情況下,則圖像間距離tb係為負的值。
tb=目前之編碼/解碼對象圖像的POC-目前之編碼/解碼對象圖像的參照清單LX中所參照之參照圖像的POC
接著,比較圖像間距離td與tb(S2603),若圖像間距離td與tb相等(S2603的YES),則結束本比例縮放演算處理。若圖像間距離td與tb不相等(S2603的NO),則藉由下式而對mvLXCol乘上比例縮放係數tb/td以進行比例縮放演算處理(S2604),獲得經過比例縮放的運動向量mvLXCol。
mvLXCol=tb/td * mvLXCol
又,步驟S2604之比例縮放演算是以整數精度的演算來進行時的例子,示於圖30。圖30的步驟S2605~S2607之處理,係相當於圖29的步驟S2604之處理。
首先,和圖29的流程圖同樣地,算出圖像間距離td與圖像間距離tb(S2601、S2602)。
接著,比較圖像間距離td與tb(S2603),若圖像間距離td與tb相等(S2603的YES),則結束本比例縮放演算處理。若圖像間距離td與tb不相等(S2603的NO),則藉由下式而算出變數tx(S2605)。
tx=(16384+Abs(td/2))/td
接著,以下式算出比例縮放係數DistScaleFactor(S2606)。
DistScaleFactor=(tb * tx+32)>>6
接著,以下式取得經過比例縮放的運動向量mvLXN(S2607)。
mvLXN=ClipMv(Sign(DistScaleFactor * mvLXN)*((Abs(DistScaleFactor * mvLXN)+127)>>8))
詳細說明圖16的S304的將預測運動向量之候補予以追加至預測運動向量清單的程序。
將圖16的S301、S302、及S303中所算出來的LX之各個預測運動向量之候補mvLXCol,mvLXA,mvLXB,追加至LX之預測運動向量清單mvpListLX(S304)。在本發明的實施形態中,係賦予優先順位,從優先順位較高者起往LX之預測運動向量清單mvpListLX登錄預測運動向量之候補mvLXCol,mvLXA,mvLXB,藉此以將優先順位較高的要素,配置在預測運動向量清單的前方。在圖16的S306中限制預測運動向量清單中的要素數之際,將被配置在預測運動向量清單後方的要素,從預測運動向量清單刪除,以留下優先順位高的要素。
預測運動向量清單mvpListLX係呈清單結構,被用來表示預測運動向量清單內部之所在的索引i所管理,設有將索引i所對應之預測運動向量之候補當作要素而加以儲存的記憶領域。索引i的數字是從0開始,在預測運動向量清單mvpListLX的記憶領域中,儲存有預測運動向量之候補。在以下的處理中,預測運動向量清單mvpListLX中所被登錄之索引i的要素亦即預測運動向量之候補,係以 mvpListLX[i]來表示。
接著,詳細說明對圖16的S304的LX之預測運動向量清單mvpListLX登錄LX之預測運動向量之候補mvLXCol,mvLXA,mvLXB的登錄處理方法。圖31係說明圖16的步驟S304之預測運動向量候補登錄處理程序的流程圖。
首先,將預測運動向量清單mvpListLX的索引i設定成0(S3101)。若availableFlagLXCol為1時(S3102的YES),則在預測運動向量清單mvpListLX的索引i的對應位置上,將LX之預測運動向量候補mvLXCol予以登錄(S3103),對索引i加算1而予以更新(S3104)。
接著,若availableFlagLXA為1時(S3105的YES),則在預測運動向量清單mvpListLXmvpListLX的索引i的對應位置上,將LX之預測運動向量候補mvLXA予以登錄(S3106),對索引i加算1而予以更新(S3107)。
接著,若availableFlagLXB為1時(S3108的YES),則在預測運動向量清單mvpListLX的索引i的對應位置上,將LX之預測運動向量候補mvLXB予以登錄(S3109),結束對預測運動向量清單的登錄處理。
預測運動向量清單的登錄順序,係在登錄了1個時間預測運動向量候補之後,登錄2個空間預測運動向量候補。亦即,將時間預測運動向量候補的優先順位,設定成高於空間預測運動向量候補。
接著,詳細說明圖16的S305的預測運動向量清單中 的冗長預測運動向量之候補之刪除方法。圖32係說明圖16的S305之預測運動向量冗長候補刪除處理程序的流程圖。
預測運動向量冗長候補刪除部123及223係將預測運動向量清單mvpListLX中所被登錄之經過空間預測的運動向量的候補彼此進行比較(S4101),若有複數個運動向量之候補是帶有相同值(S4102的YES),則判斷成冗長的運動向量之候補,將最小順序、亦即索引i最小的運動向量之候補加以去除以摘除冗長的運動向量之候補(S4103)。此處,關於時間預測運動向量候補與空間預測運動向量候補間,係不進行運動向量候補彼此之同一性比較。時間預測運動向量候補與空間預測運動向量候補之生成係由於存取的運動資訊記憶體不同或各處理量有差異,因此經常藉由平行處理而實作。若進行時間預測運動向量候補與空間預測運動向量候補間的運動向量之比較,則在進行平行處理之際會產生等待時間。因此,由於時間預測運動向量候補與空間預測運動向量候補沒有依存性是較為理想,所以在本發明中係不進行時間預測運動向量候補與空間預測運動向量候補間的運動向量冗長性比較。此處,為了更加削減處理量,亦可不進行空間預測運動向量候補間的預測向量是否相同的判斷。此外,在去除了冗長的運動向量之候補之後,預測運動向量清單mvpListLX之中,係由於已被刪除之預測運動向量之候補的儲存領域空了出來,因此索引i會以0為基準,從索引i較小的預測運動向量之候補 起依序填入(S4104)。例如,索引i為1的預測運動向量之候補mvListLX[1]被刪除,留下索引i為0及2的預測運動向量之候補mvListLX[0],mvListLX[2]時,將索引i為2的預測運動向量之候補mvListLX[2]新變更成索引i為1的預測運動向量之候補mvListLX[1]。然後,索引i為2的預測運動向量之候補mvListLX[2]係設定成不存在。
接著,詳細說明圖16的S306的預測運動向量清單中的運動向量之候補數的限制方法。圖33係說明圖16的S306之預測運動向量候補數限制處理程序的流程圖。
預測運動向量候補數限制部124及預測運動向量候補數限制部224係將LX之預測運動向量清單mvpListLX中所被登錄之LX之預測運動向量的候補數numMVPCandLX,限制成所被規定的最終候補數finalNumMVPCand。
首先,將LX之預測運動向量清單mvpListLX中所被登錄之要素數加以計數,設定至LX之預測運動向量的候補數numMVPCandLX(S5101)。
接著,當LX之預測運動向量的候補數numMVPCandLX是小於最終候補數finalNumMVPCand時(S5103的YES),則在LX之預測運動向量清單mvpListLX的索引i為numMVPCandLX所對應之位置,登錄具有(0,0)之值的運動向量(S5104),對numMVPCandLX加算1(S5105)。當numMVPCandLX與finalNumMVPCand是相同,值時(S5105的YES),則結束本限制處理,當numMVPCandLX與finalNumMVPCand不是相同值時(S5105的NO),則重複 步驟S5104與S5105之處理,直到變成相同值為止。亦即,一直登錄具有(0,0)之值的MV,直到LX之預測運動向量的候補數numMVPCandLX到達最終候補數finalNumMVPCand為止。藉由如此重複登錄具有(0,0)之值的MV,即使在預測運動向量索引為0以上而未滿最終候補數finalNumMVPCand之範圍內取用任意值,都能確定預測運動向量。
另一方面,當LX之預測運動向量的候補數numMVPCandLX是大於最終候補數finalNumMVPCand時(S5103的NO、S5107的YES),則將LX之預測運動向量清單mvpListLX的索引i是大於finalNumMVPCand-1的所有預測運動向量候補予以刪除(S5108),對numMVPCandLX設定與finalNumMVPCand相同的值(S5109),結束本限制處理。
當LX之預測運動向量的候補數numMVPCandLX是相等於最終候補數finalNumMVPCand時(S5103的NO、S5107的NO),則不實施限制處理而結束本限制處理。
(實施形態2)
在第二實施形態中,係在解碼側不生成預測運動向量清單,就將預測運動向量予以特定。在生成預測運動向量清單時,會需要空間候補與時間候補各自的比例縮放演算,但在第二實施形態中不生成預測運動向量清單就將預測運動向量予以特定,藉此可抑制比例縮放演算次數。編碼裝置的實施形態及解碼裝置的其他實施形態,係和實施 形態1相同。此外,預測運動向量係會獲得和第一實施形態相同的解碼結果。
圖22係表示實施形態2中的解碼側之預測運動向量導出的流程圖。
首先,取得預測運動向量候補的索引mvp_idx_LX及表示時間候補可否利用的availableFlagLXCol(S2201、S2202)。mvp_idx_LX與availableFlagLXCol的取得順序係誰先都可,因此亦可變更S2201與S2202的順序。接著,判斷已取得之mvp_idx_LX與availableFlagLXCol之值是否為mvp_idx_LX==0且availableFlagLXCol==1(S2203)。預測運動向量係按照mvLXCol,mvLXA,mvLXB的優先順序而被登錄(生成),因此若為mvp_idx_LX==0且availableFlagLXCol==1時(S2203的YES),則預測運動向量候補係可特定為時間預測運動向量候補,所以從來自不同時間之預測區塊,導出運動向量,將所被導出運動向量,當作預測運動向量(S2204)。若非mvp_idx_LX==0且availableFlagLXCol==1時(S2203的NO),亦即,mvp_idx_LX=!0、或availableFlagLXCol==0的情況下,則預測運動向量候補係可特定為空間預測運動向量候補,所以從空間的預測區塊導出運動向量。這是因為,在本發明中係將預測向量候補以mvLXCol,mvLXA,mvLXB之順序進行登錄,將時間預測運動向量候補的優先順位設定成最高,因此若時間預測運動向量候補存在時必定是mvp_idx_LX==0;在mvp_idx_LX!=0的情況下,係必定可特定為空間預測運動 向量候補,及在availableFlagLXCol==0的情況下,係表示時間預測運動向量候補不存在,因此預測運動向量係可特定為空間預測運動向量候補,所以可隨應於mvp_idx_LX及availableFlagLXCol之值,來判斷預測運動向量是時間預測運動向量候補、還是空間預測運動向量候補。
當判斷為預測運動向量是空間預測運動向量候補時(S2203的NO),則和第一實施形態的圖16的S303同樣地,從左側之預測區塊導出預測向量候補(S2205),從上側之預測區塊導出預測向量候補(S2206)。接著,判斷來自左側預測區塊的預測向量候補與來自上側預測區塊的預測向量是否為同一運動向量,若運動向量為相同,則刪除其中一方(S2207)。最後,基於mvp_idx_LX之值來選擇預測運動向量(S2208)。此處,為了更加削減處理量,亦可不進行空間預測運動向量候補間的預測向量是否相同的判斷,僅用availableFlagLXA就可特定出空間預測運動向量候補。
圖23中係圖示了當判斷為預測運動向量是空間預測運動向量候補時(圖22的S2203的NO)的預測運動向量選擇(圖22的S2208)之模態。若mvp_idx_LX==0且availableFlagLXCol==0時則選擇空間候補的第1個,若mvp_idx_LX==1且availableFlagLXCol==1時則選擇空間候補的第1個,若mvp_idx_LX==1且availableFlagLXCol==0時則選擇空間候補的第2個。又,各條件下各個空間預測 運動向量候補不存在時則將預測運動向量設成(0,0)。
如第二實施形態所示,不生成預測運動向量清單就將預測運動向量予以特定,因此不但可獲得和第一實施形態中進行解碼時相同的預測向量,還具有以下的效果。
因為可從mvp_idx_LX及availableFlagLXCol之值,來判斷預測運動向量是時間預測運動向量候補還是空間預測運動向量候補,因此僅執行時間預測運動向量候補的預測向量導出處理和空間預測運動向量候補的預測向量導出處理之某一方即可,因此相較於導出時間預測運動向量候補與空間預測運動向量候補之雙方的情況,解碼處理量約減半。因此,在軟體中執行速度會變快,在硬體中可削減消費電力。
又,在生成預測運動向量清單時,在時間預測運動向量候補及空間預測運動向量候補之每一者都需要預測運動向量之比例縮放演算的情況下,在第一實施形態中,係在時間預測運動向量候補導出中需要1次、在空間預測運動向量候補導出中需要1次的比例縮放演算,但在第二實施形態中,係選則時間預測運動向量候補的預測向量導出處理和空間預測運動向量候補的預測向量導出處理之某一方來執行,因此在解碼側係僅進行1次比例縮放演算,就可導出預測運動向量。因此,尤其可使必須要以硬體進行除算的比例縮放電路,在時間預測運動向量候補導出用和空間預測運動向量候補導出用間做共用,因此可削減電路規模。
再者,本發明的第一實施形態與第二實施形態的解碼結果係為相同,因此在解碼側上,架構的選擇係成為可能。亦即,手持攝影機等編碼裝置與解碼裝置呈一體的系統等,想要使解碼側與編碼側為同一構成的情況下,係只要如第一實施形態般地生成預測運動向量之清單來特定出預測運動向量即可。另一方面,在想要極力削減解碼側之處理量的情況下,則只要如第二實施形態般地,不生成預測運動向量清單就特定出是時間候補還是空間候補之後,令空間候補導出或時間候補導出之只有一方動作來特定出預測運動向量即可。
帶來此種本發明之效果的實施形態的重點係為以下2點。
1.將時間預測運動向量候補(候補為1個)的優先順位設定成比空間預測運動向量候補(候補為2個)還高。
2.在時間預測運動向量候補與空間預測運動向量候補間不進行預測運動向量相同時的冗長候補刪除處理。(僅在空間預測運動向量候補間許可冗長候補刪除處理。)
亦即,將具有單一之預測運動向量候補且可藉由時間預測運動向量候補可利用旗標availableFlagLXCol而統一決定預測運動向量候補是否存在的時間預測運動向量候補的優先順位設定得較高,將具有複數預測運動向量候補且預測運動向量候補之數目會變化之空間預測運動向量的優先順位設定的較低,以將預測運動向量,登錄至預測運動向量之清單中,為其特徵。在空間預測運動向量候補間係 藉由同一性判定,來削減冗長之候補而削減候補數,因此在預測運動向量候補清單上係降低優先順位而登錄至下位。另一方面,時間預測運動向量候補,係與空間預測運動向量候補之間沒有進行同一性判定,因此關於時間預測運動向量候補,係在預測運動向量候補清單上是提高優先順位而登錄至上位。藉此,就可使空間預測運動向量與時間預測運動向量在清單上分離,在運動向量預測中可提高空間方向與時間方向的分離性,可謀求處理的效率化或電路規模之削減。
以上所述的實施形態的動態影像編碼裝置所輸出的動態影像的編碼串流,係為了可隨著實施形態中所使用之編碼方法來進行解碼,而具有特定的資料格式,對應於動態影像編碼裝置的動態影像解碼裝置係可將此特定資料格式的編碼串流加以解碼。
動態影像編碼裝置與動態影像解碼裝置之間為了收授編碼串流,而使用有線或無線網路的情況下,可將編碼串流轉換成適合於通訊路之傳輸形態的資料形式來進行傳輸。此情況下,會設置有:將動態影像編碼裝置所輸出之編碼串流轉換成適合於通訊路之傳輸形態之資料形式的編碼資料然後發送至網路的動態影像送訊裝置、和從網路接收編碼資料並復原成編碼串流而供給至動態影像解碼裝置的動態影像收訊裝置。
動態影像送訊裝置,係含有:將動態影像編碼裝置所輸出之編碼串流予以緩衝的記憶體、將編碼串流予以封包 化的封包處理部、將已被封包化的編碼資料透過網路而進行發送的送訊部。動態影像收訊裝置,係含有:將已被封包化的編碼資料透過網路而進行接收的收訊部、將已被接收之編碼資料予以緩衝的記憶體、將編碼資料進行封包處理而生成編碼串流並提供給動態影像解碼裝置的封包處理部。
以上的關於編碼及解碼之處理,係可用硬體而以傳輸、積存、收訊裝置的方式來加以實現,當然,也可藉由記憶在ROM(唯讀記憶體)或快閃記憶體等中的韌體、或電腦等之軟體來加以實現。亦可將該韌體程式、軟體程式記錄至電腦等可讀取之記錄媒體來加以提供,或可透過有線或無線網路從伺服器來提供,也可用地表波或衛星數位播送的資料播送方式來提供之。
以上係依據實施形態來說明了本發明。實施形態係為例示,這些各構成要素或各處理程序之組合中還有各種可能的變形例,而這些變形例也都屬於本發明之範圍,而能被當業者所理解。
[產業上利用之可能性]
本發明係可利用於,利用運動補償預測的動態影像編碼技術。
114‧‧‧編碼資訊儲存記憶體
121‧‧‧預測運動向量候補生成部
122‧‧‧預測運動向量候補登錄部
123‧‧‧預測運動向量冗長候補刪除部
124‧‧‧預測運動向量候補數限制部
125‧‧‧預測運動向量候補編碼量算出部
126‧‧‧預測運動向量選擇部
127‧‧‧運動向量減算部

Claims (3)

  1. 一種動態影像編碼裝置,係屬於以動態影像之各圖像被分割而成之區塊單位而使用運動補償來將前記動態影像予以編碼的動態影像編碼裝置,其特徵為,具備:預測運動向量候補生成部,係從與編碼對象區塊在空間上或時間上鄰近的已編碼之區塊之任一者的運動向量,進行預測,導出複數預測運動向量之候補,生成預測運動向量候補清單;和預測運動向量冗長候補刪除部,係不去比較從空間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值、與從時間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值是否為相同,而是只有在從空間上鄰近的已編碼區塊所預測出來的預測運動向量的候補間比較向量之值是否相同,將向量之值為相同的預測運動向量之候補,從前記預測運動向量候補清單中予以刪除而至少留下1個;和預測運動向量選擇部,係從前記預測運動向量候補清單中,選擇出預測運動向量;和差分向量算出部,係藉由前記已被選擇之預測運動向量與運動補償預測中所使用之運動向量的差分,而算出差分運動向量;和編碼部,係將表示已被從規定之數量的預測運動向量候補所成之前記預測運動向量候補清單之中所選擇出來之預測運動向量的資訊,連同前記差分運動向量一起予以編 碼。
  2. 一種動態影像編碼方法,係屬於以動態影像之各圖像被分割而成之區塊單位而使用運動補償來將前記動態影像予以編碼的動態影像編碼方法,其特徵為,具備:預測運動向量候補生成步驟,係從與編碼對象區塊在空間上或時間上鄰近的已編碼之區塊之任一者的運動向量,進行預測,導出複數預測運動向量之候補,生成預測運動向量候補清單;和預測運動向量冗長候補刪除步驟,係不去比較從空間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值、與從時間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值是否為相同,而是只有在從空間上鄰近的已編碼區塊所預測出來的預測運動向量的候補間比較向量之值是否相同,將向量之值為相同的預測運動向量之候補,從前記預測運動向量候補清單中予以刪除而至少留下1個;和預測運動向量選擇步驟,係從前記預測運動向量候補清單中,選擇出預測運動向量;和差分向量算出步驟,係藉由前記已被選擇之預測運動向量與運動補償預測中所使用之運動向量的差分,而算出差分運動向量;和編碼步驟,係將表示已被從規定之數量的預測運動向量候補所成之前記預測運動向量候補清單之中所選擇出來之預測運動向量的資訊,連同前記差分運動向量一起予以 編碼。
  3. 一種記錄媒體,係記錄有,以動態影像之各圖像被分割而成之區塊單位而使用運動補償來將前記動態影像予以編碼的動態影像編碼程式的媒體,其特徵為,前記動態影像編碼程式係令電腦執行:預測運動向量候補生成步驟,係從與編碼對象區塊在空間上或時間上鄰近的已編碼之區塊之任一者的運動向量,進行預測,導出複數預測運動向量之候補,生成預測運動向量候補清單;和預測運動向量冗長候補刪除步驟,係不去比較從空間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值、與從時間上鄰近的已編碼區塊所預測出來的預測運動向量的向量之值是否為相同,而是只有在從空間上鄰近的已編碼區塊所預測出來的預測運動向量的候補間比較向量之值是否相同,將向量之值為相同的預測運動向量之候補,從前記預測運動向量候補清單中予以刪除而至少留下1個;和預測運動向量選擇步驟,係從前記預測運動向量候補清單中,選擇出預測運動向量;和差分向量算出步驟,係藉由前記已被選擇之預測運動向量與運動補償預測中所使用之運動向量的差分,而算出差分運動向量;和編碼步驟,係將表示已被從規定之數量的預測運動向量候補所成之前記預測運動向量候補清單之中所選擇出來 之預測運動向量的資訊,連同前記差分運動向量一起予以編碼。
TW105143392A 2011-12-28 2012-12-27 Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program TWI597972B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011289286A JP5617834B2 (ja) 2011-12-28 2011-12-28 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2011289285A JP5747816B2 (ja) 2011-12-28 2011-12-28 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム

Publications (2)

Publication Number Publication Date
TW201714453A TW201714453A (zh) 2017-04-16
TWI597972B true TWI597972B (zh) 2017-09-01

Family

ID=48696777

Family Applications (5)

Application Number Title Priority Date Filing Date
TW105143392A TWI597972B (zh) 2011-12-28 2012-12-27 Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program
TW101150545A TWI575941B (zh) 2011-12-28 2012-12-27 Dynamic image decoding device, dynamic image decoding method, dynamic image decoding program
TW106144013A TWI643493B (zh) 2011-12-28 2012-12-27 動態影像編碼裝置、動態影像編碼方法、及儲存有動態影像編碼程式之記錄媒體
TW107137597A TWI666924B (zh) 2011-12-28 2012-12-27 動態影像解碼裝置、動態影像解碼方法、及儲存有動態影像解碼程式之記錄媒體
TW106125315A TWI616091B (zh) 2011-12-28 2012-12-27 動態影像解碼裝置、動態影像解碼方法、及儲存有動態影像解碼程式之記錄媒體

Family Applications After (4)

Application Number Title Priority Date Filing Date
TW101150545A TWI575941B (zh) 2011-12-28 2012-12-27 Dynamic image decoding device, dynamic image decoding method, dynamic image decoding program
TW106144013A TWI643493B (zh) 2011-12-28 2012-12-27 動態影像編碼裝置、動態影像編碼方法、及儲存有動態影像編碼程式之記錄媒體
TW107137597A TWI666924B (zh) 2011-12-28 2012-12-27 動態影像解碼裝置、動態影像解碼方法、及儲存有動態影像解碼程式之記錄媒體
TW106125315A TWI616091B (zh) 2011-12-28 2012-12-27 動態影像解碼裝置、動態影像解碼方法、及儲存有動態影像解碼程式之記錄媒體

Country Status (5)

Country Link
US (8) US10015514B2 (zh)
BR (2) BR112014013969B1 (zh)
RU (5) RU2579665C9 (zh)
TW (5) TWI597972B (zh)
WO (1) WO2013099244A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2019005839A (es) 2011-08-29 2023-02-15 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
BR112014013969B1 (pt) 2011-12-28 2022-05-10 JVC Kenwood Corporation Dispositivo de codificação de vídeo, método de codificação de vídeo, programa de codificação de vídeo, dispositivo de decodificação de vídeo, método de decodificação de vídeo, programa de decodificação de vídeo
US10321141B2 (en) 2013-12-18 2019-06-11 Hfi Innovation Inc. Method and apparatus for palette initialization and management
EP3087742B1 (en) * 2013-12-27 2020-09-23 HFI Innovation Inc. Method and apparatus for syntax redundancy removal in palette coding
EP3087738B1 (en) 2013-12-27 2019-10-02 MediaTek Inc. Method and apparatus for palette coding with cross block prediction
WO2015103980A1 (en) 2014-01-07 2015-07-16 Mediatek Inc. Method and apparatus for color index prediction
CN107925774A (zh) 2015-08-24 2018-04-17 Lg 电子株式会社 基于间预测模式的图像处理方法及其装置
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
CN109644271B (zh) * 2016-09-06 2021-04-13 联发科技股份有限公司 用于二叉树分割块的确定候选集的方法及装置
US10735761B2 (en) * 2017-05-19 2020-08-04 Mediatek Inc Method and apparatus of video coding
WO2019065444A1 (ja) 2017-09-26 2019-04-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019151093A1 (en) * 2018-01-30 2019-08-08 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction for video coding using motion vector predictor origins
WO2019216325A1 (en) 2018-05-09 2019-11-14 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction using a derived set of motion vectors
CN112399184B (zh) * 2018-05-16 2022-07-12 华为技术有限公司 一种运动矢量获取方法,装置,设备及计算机可读存储介质
TWI744662B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 更新查閱資料表(lut)的條件
GB2588006B (en) 2018-06-29 2023-03-22 Beijing Bytedance Network Tech Co Ltd Number of motion candidates in a look up table to be checked according to mode
CN114125450B (zh) 2018-06-29 2023-11-17 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
WO2020003278A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: fifo, constrained fifo
EP3791585A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
CN114900696A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
CN114466197A (zh) * 2018-06-29 2022-05-10 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
TWI723446B (zh) 2018-07-02 2021-04-01 大陸商北京字節跳動網絡技術有限公司 具有lic的lut
US10715812B2 (en) * 2018-07-13 2020-07-14 Tencent America LLC Method and apparatus for video coding
CN112534808A (zh) 2018-08-10 2021-03-19 华为技术有限公司 视频处理方法、视频处理装置、编码器、解码器、介质和计算机程序
CN111064961B (zh) 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
US11197017B2 (en) * 2018-12-06 2021-12-07 Tencent America LLC Methods and apparatuses for video coding
JP6933235B2 (ja) * 2018-12-13 2021-09-08 株式会社Jvcケンウッド 画像復号装置、画像復号方法、及び画像復号プログラム
US11196988B2 (en) * 2018-12-17 2021-12-07 Apple Inc. Reference picture management and list construction
CN116634172A (zh) * 2019-01-02 2023-08-22 北京大学 候选mv列表构建方法和装置
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN113824960B (zh) * 2019-11-13 2024-02-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机可读介质及电子设备
CN113709498B (zh) * 2020-05-20 2023-06-02 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW595230B (en) * 2002-11-20 2004-06-21 Univ Nat Chiao Tung Method and apparatus for motion estimation with all binary representation
US20080075171A1 (en) * 2002-07-15 2008-03-27 Yoshinori Suzuki Moving picture encoding method and decoding method
WO2010064396A1 (ja) * 2008-12-03 2010-06-10 株式会社日立製作所 動画像復号化方法および動画像符号化方法
TW201127065A (en) * 2009-05-11 2011-08-01 Ntt Docomo Inc Moving image encoding device, method, and program, and moving image decoding device, method, and program
TW201130311A (en) * 2009-06-10 2011-09-01 Panasonic Corp Image encoding method, image decoding method, and devices therefor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4150742B2 (ja) 2002-01-09 2008-09-17 松下電器産業株式会社 動きベクトル復号化方法
CN1976456B (zh) * 2002-04-19 2011-06-08 松下电器产业株式会社 图像解码方法及图像解码装置
JP4999854B2 (ja) * 2006-09-20 2012-08-15 日本電信電話株式会社 画像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
CN101884219B (zh) * 2007-10-16 2014-08-20 Lg电子株式会社 处理视频信号的方法和装置
JP2009164880A (ja) * 2008-01-07 2009-07-23 Mitsubishi Electric Corp トランスコーダ及び受信機
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
EP2548372B1 (en) * 2010-03-16 2023-02-15 InterDigital Madison Patent Holdings, SAS Methods and apparatus for implicit adaptive motion vector predictor selection for video encoding and decoding
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
BR112014013969B1 (pt) 2011-12-28 2022-05-10 JVC Kenwood Corporation Dispositivo de codificação de vídeo, método de codificação de vídeo, programa de codificação de vídeo, dispositivo de decodificação de vídeo, método de decodificação de vídeo, programa de decodificação de vídeo

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075171A1 (en) * 2002-07-15 2008-03-27 Yoshinori Suzuki Moving picture encoding method and decoding method
TW595230B (en) * 2002-11-20 2004-06-21 Univ Nat Chiao Tung Method and apparatus for motion estimation with all binary representation
WO2010064396A1 (ja) * 2008-12-03 2010-06-10 株式会社日立製作所 動画像復号化方法および動画像符号化方法
TW201127065A (en) * 2009-05-11 2011-08-01 Ntt Docomo Inc Moving image encoding device, method, and program, and moving image decoding device, method, and program
TW201130311A (en) * 2009-06-10 2011-09-01 Panasonic Corp Image encoding method, image decoding method, and devices therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Iain E. Richardson, "THE H.264 ADVANCED VIDEO COMPRESSION STANDARD"2010, John Wiley & Sons, Ltd. *

Also Published As

Publication number Publication date
US20180343465A1 (en) 2018-11-29
US20180270501A1 (en) 2018-09-20
RU2623796C9 (ru) 2017-11-15
RU2579665C2 (ru) 2016-04-10
TW201714453A (zh) 2017-04-16
US20200014951A1 (en) 2020-01-09
RU2639939C1 (ru) 2017-12-25
US20190124351A1 (en) 2019-04-25
RU2639665C9 (ru) 2018-04-25
TW201907727A (zh) 2019-02-16
RU2639665C1 (ru) 2017-12-21
US20140286427A1 (en) 2014-09-25
RU2639937C1 (ru) 2017-12-25
TW201811049A (zh) 2018-03-16
TWI616091B (zh) 2018-02-21
US10631003B2 (en) 2020-04-21
US20180343466A1 (en) 2018-11-29
US10171832B2 (en) 2019-01-01
US10015514B2 (en) 2018-07-03
TW201739249A (zh) 2017-11-01
RU2014130465A (ru) 2016-02-20
US20160286233A1 (en) 2016-09-29
RU2639937C9 (ru) 2018-04-25
WO2013099244A1 (ja) 2013-07-04
US10171831B2 (en) 2019-01-01
US10080031B1 (en) 2018-09-18
TWI575941B (zh) 2017-03-21
TWI643493B (zh) 2018-12-01
US20180343464A1 (en) 2018-11-29
BR112014013969B1 (pt) 2022-05-10
US10165301B2 (en) 2018-12-25
US10469865B2 (en) 2019-11-05
RU2639939C9 (ru) 2018-03-26
RU2623796C1 (ru) 2017-06-29
BR112014013969A2 (pt) 2017-06-13
TW201342932A (zh) 2013-10-16
RU2579665C9 (ru) 2016-12-27
TWI666924B (zh) 2019-07-21
BR122020008353B1 (pt) 2022-05-10
BR112014013969A8 (pt) 2021-03-02

Similar Documents

Publication Publication Date Title
TWI597972B (zh) Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program
TWI523496B (zh) A motion picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method and a transmission program, and a motion picture decoding apparatus, a motion picture decoding method, a video decoding program, a reception apparatus, and a reception method And the receiving program
JP6079912B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法、及び送信プログラム
JP5747816B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP5962877B1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP2013131918A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP5617834B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5962876B1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP5962875B1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP6037061B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5975146B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP5874791B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5874790B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5874792B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2013131917A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5874793B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2013110576A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013110575A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
TW201332372A (zh) 動態影像編碼裝置、動態影像編碼方法、動態影像編碼程式、送訊裝置、送訊方法、及送訊程式、以及動態影像解碼裝置、動態影像解碼方法、動態影像解碼程式、收訊裝置、收訊方法、及收訊程式
JP2013192081A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013192080A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2013132047A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法、及び送信プログラム