TWI835963B - 編碼裝置、解碼裝置、編碼方法、及解碼方法 - Google Patents

編碼裝置、解碼裝置、編碼方法、及解碼方法 Download PDF

Info

Publication number
TWI835963B
TWI835963B TW108147401A TW108147401A TWI835963B TW I835963 B TWI835963 B TW I835963B TW 108147401 A TW108147401 A TW 108147401A TW 108147401 A TW108147401 A TW 108147401A TW I835963 B TWI835963 B TW I835963B
Authority
TW
Taiwan
Prior art keywords
interpolation filter
block
prediction
image
unit
Prior art date
Application number
TW108147401A
Other languages
English (en)
Other versions
TW202032984A (zh
Inventor
宗順 林
海威 孫
漢文 張
李靜雅
郭哲瑋
安倍清史
遠間正真
西孝啓
加藤祐介
Original Assignee
美商松下電器(美國)知識產權公司
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
Application filed by 美商松下電器(美國)知識產權公司 filed Critical 美商松下電器(美國)知識產權公司
Publication of TW202032984A publication Critical patent/TW202032984A/zh
Application granted granted Critical
Publication of TWI835963B publication Critical patent/TWI835963B/zh

Links

Images

Classifications

    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/423Methods 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 characterised by memory arrangements
    • 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
    • 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
    • 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/527Global motion vector estimation
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一種編碼裝置,是對圖像的編碼對象區塊進行編碼,其具備處理器、及連接於處理器的記憶體,處理器在動作中是進行以下步驟:依據運動向量來生成整數像素單位的第1預測圖像;藉由使用內插濾波器對第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據第2預測圖像,對編碼對象區塊進行編碼,又,在內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭數和第1內插濾波器不同的內插濾波器。

Description

編碼裝置、解碼裝置、編碼方法、及解碼方法
本揭示是有關於一種視訊編碼,且是有關於例如動態圖像的編碼及解碼中的系統、構成要素、及方法等。
視訊編碼技術已從H.261及MPEG-1進步到H.264/AVC(進階視訊編碼,Advanced Video Coding)、MPEG-LA、H.265/HEVC(高效率視訊編碼,High Efficiency Video Coding)、及H.266/VVC(多功能視訊編碼,Versatile Video Codec)。伴隨於此進步,為了處理在各種用途中持續增加的數位視訊資料量,需要隨時提供視訊編碼技術的改良與最佳化。
再者,非專利文獻1是有關於與上述之視訊編碼技術相關的以往的規格之一例。 先前技術文獻 非專利文獻
非專利文獻1:H.265(ISO/IEC 23008-2 HEVC)/HEVC(高效率視訊編碼,High Efficiency Video Coding)
發明欲解決之課題
有關於如上述的編碼方式,為了編碼效率的改善、畫質的改善、處理量的減少、電路規模的減少、或濾波器、區塊、尺寸、運動向量、參照圖片或參照區塊等之要素或動作的適當選擇等,所期望的是新的方式之提出。
本揭示是提供一種可對例如編碼效率的改善、畫質的改善、處理量的減少、電路規模的減少、處理速度的改善、及要素或動作的適當選擇等當中1個以上作出貢獻的構成或方法。再者,本揭示可包含可對上述以外的利益作出貢獻的構成及方法。 用以解決課題之手段
例如,本揭示之一態樣的編碼裝置,是對圖像中所包含的編碼對象區塊進行編碼的編碼裝置,其具備:電路;及記憶體,連接於前述電路,前述電路在動作中是進行以下步驟:依據運動向量,生成整數像素單位的第1預測圖像;藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據前述第2預測圖像,對前述編碼對象區塊進行編碼,在前述內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭(tap)數和前述第1內插濾波器不同的內插濾波器。
本揭示之實施形態的一些組裝,亦可改善編碼效率,亦可將編碼/解碼處理簡單化,亦可使編碼/解碼處理速度加快,亦可有效率地選擇像是適當的濾波器、區塊尺寸、運動向量、參照圖片、參照區塊等的可使用於編碼及解碼之適當的構成要素/動作。
本揭示的一態樣中的進一步的優點及效果,從說明書及圖式中將可清楚地了解。所述之優點及/或效果雖然可藉由一些實施形態以及說明書與圖式所記載的特徵來分別獲得,但是並不一定需要為了得到1個或其以上的優點及/或效果而提供全部。
再者,這些全面的或具體的態樣,亦可利用系統、方法、積體電路、電腦程式、記錄媒體、或這些的任意的組合來實現。 發明效果
本揭示之一態樣的構成或方法可對例如編碼效率的改善、畫質的改善、處理量的減少、電路規模的減少、處理速度的改善、及要素或動作的適當選擇等當中1個以上作出貢獻。再者,本揭示之一態樣的構成或方法亦可對上述以外的利益作出貢獻。
用以實施發明之形態
本揭示的一態樣之編碼裝置,是對圖像中所包含的編碼對象區塊進行編碼的編碼裝置,其具備:電路;及記憶體,連接於前述電路,前述電路在動作中是進行以下步驟:依據運動向量,生成整數像素單位的第1預測圖像;藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據前述第2預測圖像,對前述編碼對象區塊進行編碼,又,在前述內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭數和前述第1內插濾波器不同的內插濾波器。
據此,可以在小數像素精度的第2預測圖像的生成中,切換使用抽頭數互相不同的第1內插濾波器及第2內插濾波器。從而,變得可使用適合於編碼對象區塊的內插濾波器,而可以謀求記憶體頻帶寬度的增加/減少與畫質的劣化/提升之平衡。
又例如,在本揭示之一態樣的編碼裝置中,亦可進行以下步驟:在前述內插濾波器的切換中,判定前述編碼對象區塊的尺寸是否比閾值尺寸更大;在前述編碼對象區塊的尺寸比前述閾值尺寸更大的情況下,是將使用於前述編碼對象區塊的運動補償的內插濾波器決定為前述第1內插濾波器;在前述編碼對象區塊的尺寸未比前述閾值尺寸更大的情況下,是將使用於前述編碼對象區塊的運動補償的內插濾波器決定為前述第2內插濾波器;及使用已決定的前述內插濾波器,來生成前述第2預測圖像,前述第2內插濾波器具有比前述第1內插濾波器更短的抽頭。
據此,可以在編碼對象區塊的尺寸未比閾值尺寸更大的情況下,將第2內插濾波器使用於運動補償,前述第2內插濾波器具有:與編碼對象區塊的尺寸比閾值尺寸更大的情況相比更短的抽頭。若以更小的區塊單位來進行運動補償,會使運動補償的次數增加,且為了運動補償而從記憶體讀出樣本的次數也增加。另一方面,若內插濾波器的抽頭數減少,為了內插處理而從記憶體讀出的樣本數即減少。從而,可以藉由對更小的區塊使用具有更短的抽頭的內插濾波器,而減少每1次的讀出樣本數,且即使樣本的讀出次數增加仍然可以抑制記憶體頻帶寬度的增加。
又例如,在本揭示之一態樣的編碼裝置中,亦可為:前述第1內插濾波器為8抽頭濾波器。
據此,即可以使用8抽頭濾波器來作為第1內插濾波器,而可以謀求內插的精度與記憶體頻帶寬度的增加之平衡。
又例如,在本揭示之一態樣的編碼裝置中,亦可為:前述第2內插濾波器為6抽頭濾波器。
據此,即可以使用6抽頭濾波器來作為第2內插濾波器,而可以謀求內插的精度與記憶體頻帶寬度的減少之平衡。
又例如,在本揭示之一態樣的編碼裝置中,亦可為:前述閾值尺寸為4×4像素尺寸。
據此,即可以對4×4像素尺寸的區塊適用第2內插濾波器,而可以有效果地減少記憶體頻帶寬度。
又例如,在本揭示之一態樣的編碼裝置中,亦可為:前述編碼對象區塊為仿射模式的子區塊。
據此,即可以對仿射模式的子區塊適用第2內插濾波器。從而,可以減低處理負荷比較高的仿射運動補償的處理負荷。
本揭示的一態樣之解碼裝置,是對圖像中所包含的解碼對象區塊進行解碼的解碼裝置,其具備:電路;及記憶體,連接於前述電路,前述電路在動作中是進行以下步驟:依據運動向量,生成整數像素單位的第1預測圖像;藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據前述第2預測圖像,對前述解碼對象區塊進行解碼,在前述內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭(tap)數和前述第1內插濾波器不同的內插濾波器。
據此,可以在小數像素精度的第2預測圖像的生成中,切換而使用抽頭數互相不同的第1內插濾波器及第2內插濾波器。從而,變得可使用適合於解碼對象區塊的內插濾波器,而可以謀求記憶體頻帶寬度的增加/減少與畫質的劣化/提升之平衡。
又例如,在本揭示之一態樣的解碼裝置中,亦可進行以下步驟:在前述內插濾波器的切換中,判定前述解碼對象區塊的尺寸是否比閾值尺寸更大;在前述解碼對象區塊的尺寸比前述閾值尺寸更大的情況下,是將使用於前述解碼對象區塊的運動補償的內插濾波器決定為前述第1內插濾波器;在前述解碼對象區塊的尺寸未比前述閾值尺寸更大的情況下,是將使用於前述解碼對象區塊的運動補償的內插濾波器決定為前述第2內插濾波器;及使用已決定的前述內插濾波器,來生成前述第2預測圖像,前述第2內插濾波器具有比前述第1內插濾波器更短的抽頭。
據此,可以在解碼對象區塊的尺寸未比閾值尺寸更大的情況下,將第2內插濾波器使用於運動補償,前述第2內插濾波器具有:與解碼對象區塊的尺寸比閾值尺寸更大的情況相比更短的抽頭。若以更小的區塊單位來進行運動補償,會使運動補償的次數增加,且讓為了運動補償而從記憶體讀出樣本的次數增加。另一方面,若內插濾波器的抽頭數減少,為了內插處理而從記憶體讀出的樣本數即減少。從而,可以藉由對更小的區塊使用具有更短的抽頭的內插濾波器,而減少每1次的讀出樣本數,且即使樣本的讀出次數增加仍然可以抑制記憶體頻帶寬度的增加。
又例如,在本揭示之一態樣的解碼裝置中,亦可為:前述第1內插濾波器為8抽頭濾波器。
據此,即可以使用8抽頭濾波器來作為第1內插濾波器,而可以謀求內插的精度與記憶體頻帶寬度的增加之平衡。
又例如,在本揭示之一態樣的解碼裝置中,亦可為:前述第2內插濾波器為6抽頭濾波器。
據此,即可以使用6抽頭濾波器來作為第2內插濾波器,而可以謀求內插的精度與記憶體頻帶寬度的減少之平衡。
又例如,在本揭示之一態樣的解碼裝置中,亦可為:前述閾值尺寸為4×4像素尺寸。
據此,即可以對4×4像素尺寸的區塊適用第2內插濾波器,而可以有效果地減少記憶體頻帶寬度。
又例如,在本揭示之一態樣的解碼裝置中,亦可為:前述解碼對象區塊為仿射模式的子區塊。
據此,即可以對仿射模式的子區塊適用第2內插濾波器。從而,可以減低處理負荷比較高的仿射運動補償的處理負荷。
此外,這些全面性的或具體的態樣可以藉由系統、裝置、方法、積體電路、電腦程式、或電腦可讀取的CD-ROM等非暫時的記錄媒體來實現,也可以藉由系統、裝置、方法、積體電路、電腦程式、及記錄媒體的任意組合來實現。
以下,一邊參照圖式一邊具體地說明實施形態。再者,以下說明的實施形態都是顯示全面性的或具體的例子之實施形態。以下的實施形態所顯示的數值、形狀、材料、構成要件、構成要件的配置位置及連接形態、步驟、步驟的關係及順序等,都只是一個例子,主旨並非是要限定請求的範圍。
在以下,說明編碼裝置及解碼裝置的實施形態。實施形態是可適用在本揭示的各態樣中所說明的處理及/或構成之編碼裝置及解碼裝置的例子。處理及/或構成亦可在和實施形態不同的編碼裝置及解碼裝置中實施。例如,亦可就有關於對實施形態所適用的處理及/或構成,實施例如以下的任一者。
(1)在本揭示的各態樣中所說明的實施形態的編碼裝置及解碼裝置的複數個構成要素當中的任一個,亦可替換成或組合到在本揭示的各態樣的任一態樣中所說明的其他構成要素。
(2)在實施形態的編碼裝置或解碼裝置中,亦可對藉由該編碼裝置或解碼裝置的複數個構成要素當中之一部分的構成要素所進行的功能或處理,進行功能或處理之追加、替換、刪除等任意的變更。例如,亦可將任一個功能或處理替換成或組合到在本揭示的各態樣的任一個態樣中所說明的其他功能或處理。
(3)在實施形態的編碼裝置或解碼裝置所實施的方法中,亦可針對該方法所包含的複數個處理當中的一部分的處理,進行追加、替換、及刪除等任意的變更。例如,亦可將方法中的任一個處理替換成或組合到在本揭示的各態樣的任一個態樣中所說明的其他處理。
(4)構成實施形態的編碼裝置或解碼裝置之複數個構成要素當中的一部分之構成要素,亦可與在本揭示的各態樣的任一個態樣中所說明的構成要素組合,亦可與具備在本揭示的各態樣的任一個態樣中所說明的功能的一部分之構成要素組合,亦可與實施本揭示的各態樣所說明的構成要素所實施的處理的一部分之構成要素組合。
(5)具備有實施形態的編碼裝置或解碼裝置的功能的一部分之構成要素、或實施實施形態的編碼裝置或解碼裝置的處理的一部分之構成要素,亦可和以下構成要素組合或替換:本揭示的各態樣的任一態樣中所說明的構成要素、具備本揭示的各態樣的任一態樣中所說明的功能的一部分之構成要素、或實施在本揭示的各態樣的任一態樣中所說明的處理的一部分之構成要素。
(6)在實施形態的編碼裝置或解碼裝置所實施的方法中,亦可將該方法所包含的複數個處理的任一個替換成或組合到在本揭示的各態樣的任一個態樣中所說明的處理、或同樣的任一個處理。
(7)實施形態的編碼裝置或解碼裝置所實施的方法所包含的複數個處理當中的一部分的處理,亦可與本揭示的各態樣的任一個態樣中所說明的處理組合。
(8)在本揭示的各態樣中所說明的處理及/或構成的實施之方式,並不限定於實施形態的編碼裝置或解碼裝置之方式。例如,處理及/或構成亦可在和實施形態中所揭示的動態圖像編碼或動態圖像解碼不同的目的下被利用的裝置中實施。
[編碼裝置] 首先,說明實施形態之編碼裝置。圖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的整體的處理流程後,針對編碼裝置100所包含的各構成要素來進行說明。
[編碼處理的整體流程] 圖2是顯示編碼裝置100所進行之整體的編碼處理之一例的流程圖。
首先,編碼裝置100的分割部102是將動態圖像即輸入圖像所包含的各圖片分割成複數個固定尺寸的區塊(例如,128×128像素)(步驟Sa_1)。然後,分割部102是對該固定尺寸的區塊來選擇分割型樣(也稱為區塊形狀)(步驟Sa_2)。亦即,分割部102是進一步地將固定尺寸的區塊分割成構成該所選擇的分割型樣的複數個區塊。然後,編碼裝置100是針對該複數個區塊的每一個,對該區塊(亦即編碼對象區塊)進行步驟Sa_3~Sa_9的處理。
亦即,由幀內預測部124、幀間預測部126、及預測控制部128的全部或一部分所形成的預測處理部是生成編碼對象區塊(也稱為當前區塊)的預測訊號(也稱為預測區塊)(步驟Sa_3)。
接著,減法部104是將編碼對象區塊與預測區塊的差分生成為預測殘差(也稱為差分區塊)(步驟Sa_4)。
接著,轉換部106及量化部108是藉由對該差分區塊進行轉換及量化,而生成複數個量化係數(步驟Sa_5)。再者,也將由複數個量化係數所形成的區塊稱為係數區塊。
接著,熵編碼部110是藉由對該係數區塊、及關於預測訊號的生成之預測參數進行編碼(具體而言為熵編碼),而生成編碼訊號(步驟Sa_6)。再者,編碼訊號也稱為編碼位元流、壓縮位元流、或流(stream)。
接著,逆量化部112及逆轉換部114是藉由對係數區塊進行逆量化及逆轉換,而將複數個預測殘差(亦即差分區塊)復原(步驟Sa_7)。
接著,加法部116是藉由在該已復原的差分區塊加上預測區塊,而將當前區塊再構成為再構成圖像(也稱為再構成區塊或解碼圖像區塊)(步驟Sa_8)。藉此,生成再構成圖像。
當生成此再構成圖像後,環路濾波部120即因應於需要而對該再構成圖像進行濾波(步驟Sa_9)。
然後,編碼裝置100是判定圖片整體的編碼是否已完成(步驟Sa_10),在判定為未完成的情況(步驟Sa_10的「否」)下,反覆執行從步驟Sa_2起的處理。
再者,在上述的例子中,雖然編碼裝置100是對固定尺寸的區塊選擇1個分割型樣,並依照該分割型樣來進行各區塊的編碼,但是亦可依照複數個分割型樣的每一個來進行各區塊的編碼。在此情況下,編碼裝置100亦可評價對複數個分割型樣的每一個的成本,並將藉由例如依照最小成本的分割型樣之編碼所得到的編碼訊號,選擇作為輸出的編碼訊號。
如圖所示,這些步驟Sa_1~Sa_10的處理是藉由編碼裝置100而循序進行。或者,亦可將該等處理當中的一部分的複數個處理並行地進行,亦可進行該等處理的順序之調換等。
[分割部] 分割部102是將輸入動態圖像所包含的各圖片分割成複數個區塊,並且將各區塊輸出至減法部104。例如,分割部102首先是將圖片分割成固定尺寸(例如128×128)的區塊。亦可採用其他固定區塊尺寸。此固定尺寸的區塊有時稱為編碼樹單元(CTU)。然後,分割部102是依據例如遞迴的四元樹(quadtree)及/或二元樹(binary tree)區塊分割,而將各個固定尺寸的區塊分割成可變尺寸(例如64×64以下)的區塊。亦即,分割部102是選擇分割型樣。此可變尺寸的區塊有時稱為編碼單元(CU)、預測單元(PU)或轉換單元(TU)。再者,在各種處理例中,亦可不需要區別CU、PU及TU,而使圖片內的一部分或全部的區塊成為CU、PU、TU的處理單位。
圖3是顯示實施形態中的區塊分割之一例的概念圖。在圖3中,實線是表示藉由四元樹區塊分割形成的區塊邊界,而虛線是表示藉由二元樹區塊分割形成的區塊邊界。
在此,區塊10是128×128像素的正方形區塊(128×128區塊)。此128×128區塊10首先被分割成4個正方形的64×64區塊(四元樹區塊分割)。
左上的64×64區塊會進一步地被垂直地分割成2個矩形的32×64區塊,且左邊的32×64區塊會進一步地被垂直地分割成2個矩形的16×64區塊(二元樹區塊分割)。其結果是左上的64×64區塊被分割成2個的16×64區塊11、12、與32×64區塊13。
右上的64×64區塊被水平地分割成2個矩形的64×32區塊14、15(二元樹區塊分割)。
左下的64×64區塊會被分割成4個正方形的32×32區塊(四元樹區塊分割)。4個32×32區塊當中,將左上的區塊及右下的區塊進一步地分割。左上的32×32區塊會被垂直地分割成2個矩形的16×32區塊,且右邊的16×32區塊會被進一步地水平地分割成2個16×16區塊(二元樹區塊分割)。右下的32×32區塊會被水平地分割成2個32×16區塊(二元樹區塊分割)。其結果,可將左下的64×64區塊分割成:16×32區塊16、2個16×16區塊17、18、2個32×32區塊19、20、與2個32×16區塊21、22。
右下的64×64區塊23未被分割。
如以上,在圖3中,區塊10是依據遞迴的四元樹及二元樹區塊分割,而被分割成13個可變尺寸的區塊11~23。這種分割被稱為QTBT(四元樹加二元樹,quad-tree plus binary tree)分割。
再者,在圖3中,雖然是將1個區塊分割成4個或2個區塊(四元樹或二元樹區塊分割),但分割並不限定於這些。例如,亦可將1個區塊分割成3個區塊(三元樹區塊分割)。包含這種三元樹區塊分割的分割有時稱為MBT(多類型樹,multi type tree)分割。
[圖片之構成 片段/圖塊] 為了將圖片並行地解碼,而有將圖片以片段(slice)單位或圖塊(tile)單位來構成的情況。由片段單位或圖塊單位所形成的圖片亦可藉由分割部102來構成。
片段是構成圖片的基本之編碼的單位。圖片是由例如1個以上的片段所構成。又,片段是由1個以上的連續的CTU(編碼樹單元,Coding Tree Unit)所形成。
圖4A是顯示片段的構成之一例的概念圖。例如,圖片包含11×8個CTU,且被分割成4個片段(片段1-4)。片段1是由16個CTU所形成,片段2是由21個CTU所形成,片段3是由29個CTU所形成,片段4是由22個CTU所形成。在此,圖片內的各CTU是屬於任意一個片段。片段的形狀是形成為在水平方向分割圖片而成的形式。片段的邊界並不一定是畫面端,亦可為畫面內的CTU的邊界當中之任一處。片段之中的CTU的處理順序(編碼順序或解碼順序)為例如光柵掃描(raster scan)順序。又,片段包含標頭資訊與編碼資料。在標頭資訊中,描述有片段的開頭的CTU位址、片段類型(slice type)等該片段的特徵。
圖塊是構成圖片之矩形區域的單位。在各圖塊中是依光柵掃描(raster scan)順序而被分派稱為TileId的編號。
圖4B是顯示圖塊的構成之一例的概念圖。例如,圖片包含11×8個CTU,且被分割成4個矩形區域的圖塊(圖塊1-4)。和不使用圖塊的情況相比,在使用圖塊的情況下會變更CTU的處理順序。在不使用圖塊的情況下,圖片內的複數個CTU是依光柵掃描順序被處理。在使用圖塊的情況下,在複數個圖塊的每一個中,是將至少1個CTU依光柵掃描順序來處理。例如,如圖4B所示,圖塊1所包含的複數個CTU的處理順序是如下之順序:從圖塊1的第1列左端朝向圖塊1的第1列右端,接著,從圖塊1的第2列左端朝向圖塊1的第2列右端。
再者,1個圖塊會有包含1個以上的片段之情況,1個片段會有包含1個以上的圖塊之情況。
[減法部] 減法部104是以從分割部102所輸入且被分割部102所分割的區塊單位,來從原訊號(原樣本)減去預測訊號(從以下所示的預測控制部128輸入的預測樣本)。亦即,減法部104是算出編碼對象區塊(以下,稱為當前區塊)的預測誤差(也稱為殘差)。而且,減法部104是將已算出的預測誤差(殘差)輸出至轉換部106。
原訊號是編碼裝置100的輸入訊號,且是表示構成動態圖像的各圖片之圖像的訊號(例如亮度(luma)訊號及2個色差(chroma)訊號)。在以下,有時也將表示圖像的訊號稱為樣本。
[轉換部] 轉換部106是將空間區域的預測誤差轉換成頻率區域的轉換係數,並將轉換係數輸出至量化部108。具體而言,轉換部106是例如對空間區域的預測誤差進行預定的離散餘弦轉換(DCT)或離散正弦轉換(DST)。預定的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。圖5A是顯示對應於轉換類型例的轉換基底函數的表格。在圖5A中N是表示輸入像素的數量。從這些複數個轉換類型之中的轉換類型之選擇,亦可依例如預測的種類(幀內預測及幀間預測)而定,亦可依幀內預測模式而定。
這種顯示是否適用EMT或AMT的資訊(可稱為例如EMT旗標或AMT旗標)及顯示所選擇的轉換類型的資訊通常是在CU層級被訊號化。再者,這些資訊的訊號化並不需限定於CU層級,也可以是其他的層級(例如位元序列層級(bit sequence level)、圖片層級(picture level)、片段層級(slice level)、圖塊層級(tile level)或CTU層級)。
又,轉換部106亦可對轉換係數(轉換結果)進行再轉換。有時會將這種再轉換稱為AST(適應性二次轉換,adaptive secondary transform)或NSST(不可分離的二次轉換,non-separable secondary transform)。例如,轉換部106是按每個子區塊(例如4×4子區塊)進行再轉換,其中前述子區塊是包含在與幀內預測誤差相對應的轉換係數之區塊的子區塊。顯示是否適用NSST的資訊以及與NSST所使用的轉換矩陣相關的資訊通常是在CU層級被訊號化。再者,這些資訊的訊號化並不需限定於CU層級,也可以是其他的層級(例如序列層級(sequence level)、圖片層級(picture level)、片段層級(slice level)、圖塊層級(tile level)或CTU層級)。
在轉換部106中亦可適用可分離之(Separable)轉換與不可分離之(Non-Separable)轉換。可分離之(Separable)轉換是指以相當於輸入的維度之數來按各個方向分離並進行複數次轉換的方式,不可分離之(Non-Separable)轉換是指當輸入為多維時將2個以上的維度匯總而視為1維,且匯總來進行轉換的方式。
可列舉例如:作為不可分離之(Non-Separable)轉換的一例,在輸入為4×4的區塊之情況下,將其視為具有16個要素的一個陣列,且對於該陣列以16×16的轉換矩陣來進行轉換處理之類的轉換。
又,在不可分離之的(Non-Separable)轉換的進一步的例子中,亦可在將4×4的輸入區塊視為具有16個要素的一個陣列之後,對該陣列進行複數次吉文斯旋轉(Givens rotation)之類的轉換(超立方吉文斯轉換,Hypercube Givens Transform)。
在轉換部106中的轉換中,也可以因應於CU內的區域來切換轉換成頻率區域之基底的類型。作為一例,有SVT(空間變化變換,Spatially Varying Transform)。在SVT中,如圖5B所示,是在水平或垂直方向將CU進行2等分,並且僅在其中一邊的區域進行往頻率區域的轉換。轉換基底的類型可以按每個區域來設定,可使用例如DST7與DCT8。在本例中雖然是在CU內的2個區域當中,僅在其中一邊進行轉換,而在另一邊不進行轉換,但是亦可在2個區域中都進行轉換。又,分割方法也並非僅設為2等分,也可以更靈活地設為4等分、或將顯示分割的資訊另外編碼而和CU分割同樣地進行傳訊(signaling)等。再者,SVT有時也稱為SBT(子區塊轉換,Sub-block Transform)。
[量化部] 量化部108是對從轉換部106輸出的轉換係數進行量化。具體而言,量化部108是以預定的掃描順序來掃描當前區塊的轉換係數,且依據對應於已掃描的轉換係數之量化參數(QP)來對該轉換係數進行量化。然後,量化部108是將當前區塊之已量化的轉換係數(以下,稱為量化係數)輸出至熵編碼部110及逆量化部112。預定的掃描順序亦可事先規定。
預定的掃描順序是用於轉換係數的量化/逆量化之順序。例如,亦可將預定的掃描順序以頻率的遞升順序(從低頻到高頻的順序)或遞降順序(從高頻到低頻的順序)來定義。
所謂量化參數(QP)是定義量化步距(量化寬度)的參數。例如,量化參數的值增加的話,會使量化步距也增加。亦即,若量化參數的值增加的話,會使量化誤差增大。
又,在量化中有使用量化矩陣的情況。例如,有因應於4×4及8×8等之頻率轉換尺寸、幀內預測及幀間預測等之預測模式、亮度及色差等之像素成分,而使用數個種類的量化矩陣之情況。再者,量化是指將以預定的間隔取樣之值與預定的層級建立對應關係而數位化,在此技術領域中,亦可使用數值簡化、捨入(rounding)、縮放(scaling)之類的其他表現來參照,亦可採用數值簡化、捨入(rounding)、縮放(scaling)。預定的間隔及層級亦可事先規定。
作為使用量化矩陣的方法,有使用已在編碼裝置側直接設定的量化矩陣之方法、以及使用預設的量化矩陣(預設矩陣)之方法。在編碼裝置側,可以藉由直接設定量化矩陣,而設定因應於圖像的特徵之量化矩陣。但是,在此情況下,根據量化矩陣的編碼之不同,而有編碼量增加的缺點。
另一方面,也有不使用量化矩陣,而將高頻成分的係數與低頻成分的係數同樣地量化的方法。再者,此方法是和使用係數為全部相同值之量化矩陣(平坦的矩陣)的方法相等。
量化矩陣可藉由例如SPS(序列參數集:Sequence Parameter Set)或PPS(圖片參數集:Picture Parameter Set)來指定。SPS包含可對序列使用之參數,PPS包含可對圖片使用之參數。也有將SPS與PPS簡稱為參數集的情況。
[熵編碼部] 熵編碼部110是依據從量化部108輸入的量化係數來生成編碼訊號(編碼位元流)。具體而言,熵編碼部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輸出的再構成區塊。
[幀記憶體] 幀記憶體122是用於保存例如於幀間預測所使用的參照圖片之儲存部,有時也被稱為幀緩衝器(frame buffer)。具體而言,幀記憶體122是保存已藉由環路濾波部120進行濾波的再構成區塊。
[環路濾波部] 環路濾波部120是對加法部116所再構成的區塊施行環路濾波,並且將已進行了濾波的再構成區塊輸出至幀記憶體122。所謂環路濾波器是在編碼環路內使用的濾波器(環內濾波器,In-loop filter),且包含例如去區塊濾波器(Deblocking Filter,DF或DBF)、取樣自適應偏移(Sample Adaptive Offset,SAO)及自適應環路濾波器(Adaptive Loop Filter,ALF)等。
在ALF中,可適用去除編碼失真用的最小平方誤差濾波器,例如可適用按當前區塊內的2×2子區塊的每一個,依據局部的梯度(gradient)的方向及活動性(activity)來從複數個濾波器之中選擇的1個濾波器。
具體而言,首先是將子區塊(例如2×2子區塊)分類成複數個類級(class)(例如15個或25個類級)。子區塊的分類是依據梯度的方向及活動性來進行。例如,可利用梯度的方向值D(例如0~2或0~4)與梯度的活性值A(例如0~4)來算出分類值C(例如C=5D+A)。然後,依據分類值C,來將子區塊分類成複數個類級。
梯度的方向值D可藉由例如比較複數個方向(例如水平、垂直及2個對角方向)的梯度來導出。又,梯度的活性值A是藉由例如對複數個方向的梯度作加法運算,並且對加法結果進行量化來導出。
依據這種分類的結果,即可從複數個濾波器之中決定子區塊用的濾波器。
作為在ALF中所用的濾波器之形狀,可利用的有例如圓對稱形狀。圖6A~圖6C是顯示在ALF中所使用的濾波器之形狀的複數個例子的圖。圖6A是顯示5×5菱形(diamond)形狀濾波器,圖6B是顯示7×7菱形形狀濾波器,圖6C是顯示9×9菱形形狀濾波器。顯示濾波器的形狀之資訊通常是在圖片層級被訊號化。再者,顯示濾波器的形狀之資訊的訊號化並不需要限定於圖片層級,亦可為其他的層級(例如序列層級、片段層級、圖塊層級、CTU層級或CU層級)。
ALF的開啟/關閉(on/off)亦可在例如圖片層級或CU層級來決定。例如,針對亮度亦可在CU層級來決定是否適用ALF,針對色差亦可在圖片層級來決定是否適用ALF。顯示ALF的開啟/關閉之資訊通常是在圖片層級或CU層級被訊號化。再者,顯示ALF的開啟/關閉之資訊的訊號化並不需要限定於圖片層級或CU層級,亦可為其他的層級(例如序列層級、片段層級、圖塊層級或CTU層級)。
可選擇的複數個濾波器(到例如15個或25個為止的濾波器)的係數集(set)通常是在圖片層級被訊號化。再者,係數集的訊號化並不需要限定於圖片層級,也可是其他的層級(例如序列層級、片段層級、圖塊層級、CTU層級、CU層級或子區塊層級)。
[環路濾波部 > 去區塊濾波器] 在去區塊濾波器中,環路濾波部120是藉由在再構成圖像的區塊邊界進行濾波處理,而讓於該區塊邊界產生的失真減少。
圖7是顯示作為去區塊濾波器而發揮功能的環路濾波部120的詳細構成之一例的方塊圖。
環路濾波部120具備:邊界判定部1201、濾波判定部1203、濾波處理部1205、處理判定部1208、濾波特性決定部1207與開關1202、1204及1206。
邊界判定部1201是判定去區塊濾波處理的像素(亦即對象像素)是否存在於區塊邊界。然後,邊界判定部1201是將其判定結果輸出至開關1202及處理判定部1208。
開關1202在已藉由邊界判定部1201判定為對象像素存在於區塊邊界附近的情況下,是將濾波處理前的圖像輸出至開關1204。反之,開關1202在已藉由邊界判定部1201判定為對象像素並未存在於區塊邊界附近的情況下,是將濾波處理前的圖像輸出至開關1206。
濾波判定部1203是依據位於對象像素的周邊之至少1個周邊像素的像素值,來判定是否對對象像素進行去區塊濾波處理。然後,濾波判定部1203將其判定結果輸出至開關1204及處理判定部1208。
開關1204在已藉由濾波判定部1203判定為欲對對象像素進行去區塊濾波處理的情況下,是將透過開關1202而取得的濾波處理前的圖像輸出至濾波處理部1205。反之,開關1204在已藉由濾波判定部1203判定為對對象像素不進行去區塊濾波處理的情況下,是將透過開關1202而取得的濾波處理前的圖像輸出至開關1206。
濾波處理部1205在已透過開關1202及1204而取得了濾波處理前的圖像之情況下,是對對象像素執行具有經濾波特性決定部1207所決定的濾波特性的去區塊濾波處理。然後,濾波處理部1205是將其濾波處理後的像素輸出至開關1206。
開關1206是因應於由處理判定部1208所進行的控制,而選擇性地輸出未經去區塊濾波處理的像素、與已藉由濾波處理部1205進行去區塊濾波處理的像素。
處理判定部1208是依據邊界判定部1201及濾波判定部1203的每一個的判定結果來控制開關1206。亦即,處理判定部1208在藉由邊界判定部1201判定為對象像素存在於區塊邊界附近,且藉由濾波判定部1203判定為欲對對象像素進行去區塊濾波處理的情況下,是從開關1206輸出已進行去區塊濾波處理的像素。又,在上述的情況以外,處理判定部1208是從開關1206輸出未經去區塊濾波處理的像素。可藉由反覆進行這種像素之輸出,而從開關1206輸出濾波處理後的像素。
圖8是顯示相對於區塊邊界具有對稱的濾波特性的去區塊濾波器之例子的概念圖。
在去區塊濾波處理中,是使用例如像素值與量化參數來選擇特性不同的2個去區塊濾波器,亦即強濾波器及弱濾波器當中的任1個。在強濾波器中,如圖8所示,在存在有夾著區塊邊界的像素p0~p2、像素q0~q2的情況下,像素q0~q2的每一個的像素值是藉由進行例如以下的式子所示的運算,而變更成像素值q’0~q’2。
q’0=(p1+2×p0+2×q0+2×q1+q2+4)/8 q’1=(p0+q0+q1+q2+2)/4 q’2=(p0+q0+q1+3×q2+2×q3+4)/8
再者,在上述的式子中,p0~p2及q0~q2是像素p0~p2及像素q0~q2的每一個的像素值。又,q3是在與區塊邊界的相反側相鄰於像素q2的像素q3的像素值。又,在上述之各式的右邊,對去區塊濾波處理所使用的各像素的像素值所乘以的係數為濾波係數。
此外,在去區塊濾波處理中,亦可進行剪輯(clip)處理,以免將運算後的像素值超過閾值而設定。在此剪輯處理中,由上述的式子所運算的運算後的像素值,是使用由量化參數所決定的閾值來剪輯成「運算對象像素值±2×閾值」。藉此,即可以防止過度的平滑化。
圖9是用於說明進行去區塊濾波處理的區塊邊界的概念圖。圖10是顯示Bs值之一例的概念圖。
進行去區塊濾波處理的區塊邊界為例如圖9所示的8×8像素區塊的PU(預測單元,Prediction Unit)或TU(轉換單元,Transform Unit)的邊界。去區塊濾波處理能以4行或4列為單位來進行。首先,對圖9所示的區塊P及區塊Q,如圖10所示地決定Bs(邊界強度,Boundary Strength)值。
依照圖10的Bs值,即使是屬於同一個圖像的區塊邊界,仍然可決定是否要進行不同的強度的去區塊濾波處理。對色差訊號的去區塊濾波處理是在Bs值為2的情況下進行。對亮度訊號的去區塊濾波處理是在Bs值為1以上,且已滿足預定的條件的情況下進行。預定的條件亦可事先規定。再者,Bs值的判定條件並不限定於圖10所示的條件,亦可依據其他參數來決定。
[預測處理部(幀內預測部/幀間預測部/預測控制部)] 圖11是顯示在編碼裝置100的預測處理部中所進行的處理之一例的流程圖。再者,預測處理部是由幀內預測部124、幀間預測部126及預測控制部128的全部或一部分的構成要素所形成。
預測處理部是生成當前區塊的預測圖像(步驟Sb_1)。此預測圖像也稱為預測訊號或預測區塊。再者,在預測訊號中有例如幀內預測訊號或幀間預測訊號。具體而言,預測處理部是使用已經藉由進行預測區塊的生成、差分區塊的生成、係數區塊的生成、差分區塊的復原、及解碼圖像區塊的生成而得到的再構成圖像,來生成當前區塊的預測圖像。
再構成圖像亦可為例如參照圖片的圖像,亦可為包含當前區塊的圖片即當前圖片內之編碼完畢的區塊的圖像。當前圖片內之編碼完畢的區塊例如為當前區塊的相鄰區塊。
圖12是顯示在編碼裝置100的預測處理部中所進行的處理的其他例的流程圖。
預測處理部是以第1方式來生成預測圖像(步驟Sc_1a),以第2方式來生成預測圖像(Sc_1b),並以第3方式來生成預測圖像(Sc_1c)。第1方式、第2方式及第3方式是用於生成預測圖像之互相不同的方式,且分別可為例如幀間預測方式、幀內預測方式及其等以外的預測方式。在這些預測方式中,亦可使用上述的再構成圖像。
接著,預測處理部是選擇在步驟Sc_1a、Sc_1b及Sc_1c中所生成的複數個預測圖像當中的任1個(步驟Sc_2)。此預測圖像的選擇,亦即用於得到最終的預測圖像的方式或模式的選擇,亦可算出對所生成的各預測圖像之成本,並且依據該成本來進行。或者,該預測圖像的選擇亦可依據在編碼的處理所使用的參數來進行。編碼裝置100亦可將用於特定該已選擇的預測圖像、方式或模式的資訊訊號化成編碼訊號(也稱為編碼位元流)。該資訊亦可為例如旗標等。藉此,解碼裝置可以依據該資訊,並依照已在編碼裝置100中選擇的方式或模式來生成預測圖像。再者,在圖12所示的例子中,預測處理部是於以各方式生成預測圖像後,選擇任一個預測圖像。但是,預測處理部亦可在生成該等預測圖像之前,依據在上述之編碼的處理所使用的參數來選擇方式或模式,並且依照該方式或模式來生成預測圖像。
亦可為例如,第1方式及第2方式分別為幀內預測及幀間預測,且預測處理部是從依照這些預測方式所生成的預測圖像來選擇對當前區塊之最終的預測圖像。
圖13是顯示在編碼裝置100的預測處理部中所進行的處理的其他例的流程圖。
首先,預測處理部是藉由幀內預測來生成預測圖像(步驟Sd_1a),並且藉由幀間預測來生成預測圖像(Sd_1b)。再者,也可將藉由幀內預測所生成的預測圖像稱為幀內預測圖像,且也可將藉由幀間預測所生成的預測圖像稱為幀間預測圖像。
接著,預測處理部是對幀內預測圖像及幀間預測圖像的每一個進行評價(步驟Sd_2)。在此評價中亦可使用成本。亦即,預測處理部是算出幀內預測圖像及幀間預測圖像的每一個的成本C。此成本C是藉由R-D最佳化模型的式子,例如C=D+λ×R來算出而得到。在此式子中,D是預測圖像的編碼失真,可藉由例如當前區塊的像素值與預測圖像的像素值之差分絕對值和等來表示。又,R是預測圖像的產生編碼量,具體而言,為對用於生成預測圖像的運動資訊等之編碼而言必要的編碼量等。又,λ為例如拉格朗日(Lagrange)之未定乘數(undetermined multiplier)。
並且,預測處理部是從幀內預測圖像及幀間預測圖像中,將已算出最小的成本C的預測圖像,選擇作為當前區塊的最終的預測圖像(步驟Sd_3)。亦即,選擇用於生成當前區塊的預測圖像之預測方式或模式。
[幀內預測部] 幀內預測部124是藉由參照已保存於區塊記憶體118的當前圖片內之區塊來進行當前區塊的幀內預測(也稱為畫面內預測),而生成預測訊號(幀內預測訊號)。具體而言,幀內預測部124是藉由參照與當前區塊相鄰的區塊之樣本(例如亮度值、色差值)來進行幀內預測而生成幀內預測訊號,並將幀內預測訊號輸出至預測控制部128。
例如,幀內預測部124是利用規定的複數個幀內預測模式之中的1個來進行幀內預測。複數個幀內預測模式通常包含1個以上之非方向性預測模式、以及複數個方向性預測模式。規定的複數個模式亦可事先規定。
1個以上之非方向性預測模式包含例如以H.265/HEVC(高效率視訊編碼,High-Efficiency Video Coding)規格所規定的平面(Planar)預測模式及DC預測模式。
複數個方向性預測模式包含例如以H.265/HEVC規格所規定的33個方向之預測模式。再者,複數個方向性預測模式亦可除了33個方向以外,更進一步地包含32個方向的預測模式(合計65個的方向性預測模式)。圖14是顯示在幀內預測中可使用的67個幀內預測模式(2個非方向性預測模式及65個方向性預測模式)的概念圖。實線箭頭是表示以H.265/HEVC規格所規定的33個方向,虛線箭頭是表示追加的32個方向(2個非方向性預測模式並未圖示於圖14中)。
在各種處理例中,亦可在色差區塊的幀內預測中參照亮度區塊。亦即,亦可依據當前區塊的亮度成分來預測當前區塊的色差成分。有時可將這種幀內預測稱為CCLM(交叉成分線性模型,cross-component linear model)預測。這種參照亮度區塊的色差區塊之幀內預測模式(例如被稱為CCLM模式),亦可作為色差區塊的幀內預測模式的1種來加入。
幀內預測部124亦可依據水平/垂直方向的參照像素之梯度來補正幀內預測後的像素值。這種伴隨補正的幀內預測有時被稱為PDPC(獨立位置幀內預測組合,position dependent intra prediction combination)。顯示有無PDPC的適用之資訊(被稱為例如PDPC旗標)通常是在CU層級被訊號化。再者,此資訊的訊號化並不需要限定於CU層級,也可以是其他的層級(例如序列層級、圖片層級、片段層級、圖塊層級或CTU層級)。
[幀間預測部] 幀間預測部126是參照保存在幀記憶體122的參照圖片且也是與當前圖片不同的參照圖片,來進行當前區塊的幀間預測(也稱為畫面間預測),藉此生成預測訊號(幀間預測訊號)。幀間預測是以當前區塊或當前區塊內的當前子區塊(例如4×4區塊)之單位來進行。例如,幀間預測部126是針對當前區塊或子區塊而在參照圖片內進行運動搜尋(運動估計,motion estimation),而找出與該當前區塊或當前子區塊最一致的參照區塊或子區塊。並且,幀間預測部126是取得對從參照區塊或子區塊到當前區塊或子區塊的運動或變化進行補償的運動資訊(例如運動向量)。幀間預測部126是依據該運動資訊來進行運動補償(或運動預測),並且生成當前區塊或子區塊的幀間預測訊號。幀間預測部126是將已生成的幀間預測訊號輸出至預測控制部128。
使用於運動補償的運動資訊亦可以多種的形態來訊號化為幀間預測訊號。例如,亦可將運動向量訊號化。作為其他例,亦可將運動向量與預測運動向量(motion vector predictor,運動向量預測子)之間的差分訊號化。
[幀間預測的基本流程] 圖15是顯示幀間預測的基本的流程之一例的流程圖。
幀間預測部126首先是生成預測圖像(步驟Se_1~Se_3)。接著,減法部104是將當前區塊與預測圖像的差分生成為預測殘差(步驟Se_4)。
在此,幀間預測部126在預測圖像的生成中,是藉由進行當前區塊的運動向量(MV)的決定(步驟Se_1及Se_2)與運動補償(步驟Se_3),而生成該預測圖像。又,幀間預測部126在MV的決定中,是藉由進行候選運動向量(候選MV)的選擇(步驟Se_1)與MV的導出(步驟Se_2),而決定該MV。候選MV的選擇是藉由從例如候選MV清單中選擇至少1個候選MV來進行。又,在MV的導出中,幀間預測部126亦可藉由從至少1個候選MV中進一步選擇至少1個候選MV,而將該已選擇的至少1個候選MV決定為當前區塊的MV。或者,幀間預測部126亦可藉由針對該已選擇的至少1個候選MV的每一個,搜尋以該候選MV所指示的參照圖片的區域,而決定當前區塊的MV。再者,亦可將搜尋此參照圖片的區域之作法稱為運動搜尋(motion estimation)。
又,在上述的例子中,步驟Se_1~Se_3雖然是藉由幀間預測部126來進行,但是亦可例如將步驟Se_1或步驟Se_2等之處理藉由包含於編碼裝置100的其他構成要素來進行。
[運動向量的導出之流程] 圖16是顯示運動向量導出之一例的流程圖。
幀間預測部126是在對運動資訊(例如MV)進行編碼的模式下,導出當前區塊的MV。在此情況下,可將例如運動資訊作為預測參數編碼並訊號化。亦即,已編碼的運動資訊是包含於編碼訊號(也稱為編碼位元流)。
或者,幀間預測部126是在不對運動資訊進行編碼的模式下導出MV。在此情況下,運動資訊並未包含於編碼訊號中。
在此,在MV導出的模式中,亦可有後述之常規幀間模式、合併模式、FRUC模式及仿射模式等。在這些模式當中,在對運動資訊進行編碼的模式中,有常規幀間模式、合併模式、及仿射模式(具體而言為仿射幀間模式及仿射合併模式)等。再者,在運動資訊中,不只是MV,亦可包含後述之預測運動向量選擇資訊。又,在不對運動資訊進行編碼的模式中,有FRUC模式等。幀間預測部126是從這些複數個模式中,選擇用於導出當前區塊的MV之模式,並且使用該已選擇的模式來導出當前區塊的MV。
圖17是顯示運動向量導出的其他例的流程圖。
幀間預測部126是在對差分MV進行編碼的模式下,導出當前區塊的MV。在此情況下,可將例如差分MV作為預測參數編碼並訊號化。亦即,已編碼的差分MV是包含於編碼訊號。此差分MV為當前區塊的MV與其預測MV之差。
或者,幀間預測部126是在不對差分MV進行編碼的模式下導出MV。在此情況下,已編碼的差分MV並未包含於編碼訊號中。
在此,如上述,在MV的導出的模式中,有後述之常規幀間模式、合併模式、FRUC模式及仿射模式等。在這些模式當中,在對差分MV進行編碼的模式中,有常規幀間模式及仿射模式(具體而言為仿射幀間模式)等。又,在不對差分MV進行編碼的模式中,有FRUC模式、合併模式及仿射模式(具體而言為仿射合併模式)等。幀間預測部126是從這些複數個模式中,選擇用於導出當前區塊的MV之模式,並且使用該已選擇的模式來導出當前區塊的MV。
[運動向量的導出之流程] 圖18是顯示運動向量導出的其他例的流程圖。在MV導出的模式,亦即幀間預測模式中,有複數個模式,大體上可分為對差分MV進行編碼的模式、與不對差分運動向量進行編碼的模式。在對差分MV未進行編碼的模式中,有合併模式、FRUC模式、及仿射模式(具體而言為仿射合併模式)。雖然針對這些模式的詳細內容將於後文描述,但簡單來說,合併模式是藉由從周邊的編碼完畢區塊選擇運動向量,而導出當前區塊的MV之模式,FRUC模式是藉由在編碼完畢區域間進行搜尋,而導出當前區塊的MV之模式。又,仿射模式是設想仿射轉換,而將構成當前區塊的複數個子區塊各自的運動向量導出為當前區塊的MV之模式。
具體而言,如圖所示,幀間預測部126是在幀間預測模式資訊顯示0的情況下(在Sf_1中為0),藉由合併模式來導出運動向量(Sf_2)。又,幀間預測部126是在幀間預測模式資訊顯示1的情況下(在Sf_1中為1),藉由FRUC模式來導出運動向量(Sf_3)。又,幀間預測部126是在幀間預測模式資訊顯示2的情況下(在Sf_1中為2),藉由仿射模式(具體而言為仿射合併模式)來導出運動向量(Sf_4)。又,幀間預測部126是在幀間預測模式資訊顯示3的情況下(在Sf_1中為3),藉由對差分MV進行編碼的模式(例如,常規幀間模式)來導出運動向量(Sf_5)。
[MV導出 > 常規幀間模式] 常規幀間模式是從藉由候選MV所示的參照圖片的區域,依據類似於當前區塊的圖像之區塊,來導出當前區塊的MV之幀間預測模式。又,在此常規幀間模式中,是將差分MV編碼。
圖19是顯示由常規幀間模式所進行的幀間預測之例子的流程圖。
幀間預測部126首先是依據時間上或空間上位於當前區塊的周圍的複數個編碼完畢區塊的MV等之資訊,而對該當前區塊取得複數個候選MV(步驟Sg_1)。亦即,幀間預測部126是製作候選MV清單。
接著,幀間預測部126是從在步驟Sg_1中所取得的複數個候選MV之中,將N個(N為2以上的整數)候選MV的每一個作為預測運動向量候選(也稱為預測MV候選),並依照預定的優先順序來提取(步驟Sg_2)。再者,該優先順序亦可對N個候選MV的每一個來事先規定。
接著,幀間預測部126是從該N個預測運動向量候選之中,將1個預測運動向量候選選擇作為當前區塊的預測運動向量 (也稱為預測MV)(步驟Sg_3)。此時,幀間預測部126是將用於識別已選擇的預測運動向量的預測運動向量選擇資訊編碼為流(stream)。再者,流是上述之編碼訊號或編碼位元流。
接著,幀間預測部126是參照編碼完畢參照圖片,而導出當前區塊的MV(步驟Sg_4)。此時,幀間預測部126是進一步將該已導出的MV與預測運動向量之差分值設為差分MV並編碼為流。再者,編碼完畢參照圖片是從於編碼後經再構成的複數個區塊所形成的圖片。
最後,幀間預測部126是藉由使用該已導出的MV與編碼完畢參照圖片來對當前區塊進行運動補償,而生成該當前區塊的預測圖像(步驟Sg_5)。再者,預測圖像是上述之幀間預測訊號。
又,包含於編碼訊號,且顯示用於預測圖像的生成之幀間預測模式(在上述之例中為常規幀間模式)的資訊,是被編碼為例如預測參數。
再者,候選MV清單亦可和使用於其他模式的清單共通地被使用。又,亦可將有關於候選MV清單的處理,適用於有關於使用於其他模式的清單之處理。有關於此候選MV清單的處理可為例如自候選MV清單之候選MV的提取或選擇、候選MV的重新排序、或候選MV的刪除等。
[MV導出 > 合併模式] 合併模式是藉由從候選MV清單中將候選MV選擇作為當前區塊的MV,而導出該MV的幀間預測模式。
圖20是顯示由合併模式所進行的幀間預測之例的流程圖。
幀間預測部126首先是依據時間上或空間上位於當前區塊的周圍的複數個編碼完畢區塊的MV等之資訊,而對該當前區塊取得複數個候選MV(步驟Sh_1)。亦即,幀間預測部126是製作候選MV清單。
接著,幀間預測部126是藉由從在步驟Sh_1中取得的複數個候選MV之中選擇1個候選MV,而導出當前區塊的MV(步驟Sh_2)。此時,幀間預測部126是將用於識別已選擇的候選MV的MV選擇資訊編碼為流。
最後,幀間預測部126是藉由使用該已導出的MV與編碼完畢參照圖片來對當前區塊進行運動補償,而生成該當前區塊的預測圖像(步驟Sh_3)。
又,包含於編碼訊號,且顯示用於預測圖像的生成之幀間預測模式(在上述之例中為合併模式)的資訊,是被編碼為例如預測參數。
圖21是用於說明由合併模式所進行之當前圖片的運動向量導出處理之一例的概念圖。
首先,生成登錄有預測MV的候選之預測MV清單。作為預測MV的候選,有下述之預測MV:對象區塊之在空間上位於周邊的複數個編碼完畢區塊所具有的MV即空間相鄰預測MV、將編碼完畢參照圖片中的對象區塊的位置投影而成之附近的區塊所具有的MV即時間相鄰預測MV、組合空間相鄰預測MV與時間相鄰預測MV的MV值而生成的MV即結合預測MV、以及值為零的MV即零預測MV等。
接著,藉由從預測MV清單所登錄的複數個預測MV之中選擇1個預測MV,來決定為對象區塊的MV。
再者,在可變長度編碼部中,是將顯示選擇了哪一個預測MV的訊號即merge_idx於流(stream)中描述並編碼。
再者,在圖21中所說明的登錄於預測MV清單的預測MV只是一個例子,亦可為與圖中的個數為不同的個數、不包含圖中的預測MV之一部分的種類之構成、或為追加了圖中的預測MV的種類以外之預測MV而成之構成。
亦可利用藉由合併模式而導出的對象區塊的MV來進行後述之DMVR(解碼器運動向量精化,decoder motion vector refinement)處理,藉此決定最終的MV。
再者,預測MV的候選為上述之候選MV,預測MV清單為上述之候選MV清單。又,亦可將候選MV清單稱為候選清單。又,merge_idx為MV選擇資訊。
[MV導出 > FRUC模式] 運動資訊亦可不由編碼裝置側訊號化,而在解碼裝置側導出。再者,如上述,亦可使用以H.265/HEVC規格所規定的合併模式。又例如,亦可藉由在解碼裝置側進行運動搜尋而導出運動資訊。在實施形態中,在解碼裝置側是在不使用當前區塊的像素值的情形下進行運動搜尋。
在此,針對在解碼裝置側進行運動搜尋的模式進行說明。有時將在此解碼裝置側進行運動搜尋的模式稱為PMMVD(型樣匹配運動向量導出,pattern matched motion vector derivation)模式、或FRUC(幀率提升轉換,frame rate up-conversion)模式。
以流程圖的形式將FRUC處理之一例顯示於圖22。首先,可參照在空間上或時間上與當前區塊相鄰之編碼完畢區塊的運動向量,而生成各自具有預測運動向量(MV)的複數個候選之清單(亦即,亦可為候選MV清單,且與合併清單共通)(步驟Si_1)。接著,從已登錄於候選MV清單的複數個候選MV之中選擇最佳候選MV(步驟Si_2)。例如,算出候選MV清單所包含的各候選MV之評價值,並依據評價值來選擇1個候選MV。並且,可依據所選擇的候選之運動向量,來導出當前區塊用的運動向量(步驟Si_4)。具體而言,是例如將所選擇的候選之運動向量(最佳候選MV)直接導出為當前區塊用的運動向量。又例如,亦可在與所選擇的候選之運動向量相對應的參照圖片內的位置之周邊區域中,藉由進行型樣匹配,而導出當前區塊用的運動向量。亦即,亦可對最佳候選MV的周邊之區域,進行使用了參照圖片中的型樣匹配及評價值之搜尋,並在出現評價值成為更好的數值之MV的情況下,將最佳候選MV更新為前述MV,且將其作為當前區塊的最終的MV。也可設為不實施更新到具有更好的評價值的MV之更新的處理之構成。
最後,幀間預測部126是藉由使用該已導出的MV與編碼完畢參照圖片來對當前區塊進行運動補償,而生成該當前區塊的預測圖像(步驟Si_5)。
以子區塊單位來進行處理的情況下,亦可設為完全同樣的處理。
評價值亦可藉由各種方法來算出。例如,將對應於運動向量之參照圖片內的區域的再構成圖像、與預定的區域(該區域亦可如例如以下所示地為其他參照圖片的區域或當前圖片的相鄰區塊的區域)的再構成圖像作比較。預定的區域亦可事先規定。
並且,亦可將2個再構成圖像的像素值之差分算出,並在運動向量的評價值使用。再者,亦可除了差分值之外,還利用差分值以外的資訊來算出評價值。
接著,針對型樣匹配之例詳細地說明。首先,將候選MV清單(例如合併清單)所包含的1個候選MV,選擇作為由型樣匹配所進行之搜尋的起點。例如,作為型樣匹配,可使用第1型樣匹配或第2型樣匹配。有時將第1型樣匹配及第2型樣匹配分別稱為雙向匹配(bilateral matching)及模板匹配(template matching)。
[MV導出 > FRUC > 雙向匹配] 在第1型樣匹配中,是在為不同的2個參照圖片內的2個區塊且也是沿著當前區塊的運動軌跡(motion trajectory)的2個區塊之間進行型樣匹配。從而,在第1型樣匹配中,作為上述之候選的評價值的算出用之預定的區域,所使用的是沿著當前區塊的運動軌跡之其他參照圖片內的區域。預定的區域亦可事先規定。
圖23是用於說明沿著運動軌跡的2個參照圖片中的2個區塊間的第1型樣匹配(雙向匹配)之一例的概念圖。如圖23所示,在第1型樣匹配中,是在為沿著當前區塊(Cur block)的運動軌跡之2個區塊且也是不同的2個參照圖片(Ref0、Ref1)內的2個區塊的配對中,搜尋最匹配的配對,藉此導出2個運動向量(MV0、MV1)。具體而言,是對當前區塊導出下述2種再構成圖像之差分,並利用所得到的差分值來算出評價值,前述2種再構成圖像是以候選MV所指定的第1編碼完畢參照圖片(Ref0)內的指定位置中的再構成圖像、以及以表示時間間隔對前述候選MV進行縮放(scaling)而得的對稱MV所指定的第2編碼完畢參照圖片(Ref1)內的指定位置中的再構成圖像。可將在複數個候選MV中成為評價值最佳的數值之候選MV選擇作為最終MV,而能夠取得良好的結果。
在連續的運動軌跡的假設之下,指出2個參照區塊的運動向量(MV0、MV1)是相對於當前圖片(Cur Pic)與2個參照圖片(Ref0、Ref1)之間的時間上之距離(TD0、TD1)而成比例。例如,當前圖片在時間上位於2個參照圖片之間,且從當前圖片到2個參照圖片的時間上之距離為相等的情況下,在第1型樣匹配中,會導出鏡像對稱的雙向之運動向量。
[MV導出 > FRUC > 模板匹配] 在第2型樣匹配(模板匹配)中,是在當前圖片內的模板(在當前圖片內與當前區塊相鄰的區塊(例如上及/或左的相鄰區塊))與參照圖片內的區塊之間進行型樣匹配。從而,在第2型樣匹配中,作為上述之候選的評價值的算出用之預定的區域,所使用的是在當前圖片內之與當前區塊相鄰的區塊。
圖24是用於說明在當前圖片內的模板與參照圖片內的區塊之間的型樣匹配(模板匹配)之一例的概念圖。如圖24所示,在第2型樣匹配中,是藉由在參照圖片(Ref0)內搜尋與在當前圖片(Cur Pic)內相鄰於當前區塊(Cur block)的區塊最匹配的區塊,而導出當前區塊的運動向量。具體而言,可對當前區塊導出左相鄰及上相鄰的雙方或任一方的編碼完畢區域之再構成圖像、和以候選MV所指定的編碼完畢參照圖片(Ref0)內之同等位置中的再構成圖像之差分,並利用所得到的差分值來算出評價值,而選擇在複數個候選MV中評價值成為最佳數值之候選MV作為最佳候選MV。
這種顯示是否適用FRUC模式的資訊(例如可稱為FRUC旗標)是在CU層級被訊號化。又,在適用FRUC模式的情況下(例如FRUC旗標為真的情況下),顯示可適用的型樣匹配的方法(第1型樣匹配或第2型樣匹配)之資訊是在CU層級被訊號化。再者,這些資訊的訊號化並不需要限定於CU層級,亦可為其他的層級(例如序列層級、圖片層級、片段層級、圖塊層級、CTU層級或子區塊層級)。
[MV導出 > 仿射模式] 接著,針對依據複數個相鄰區塊的運動向量而以子區塊單位來導出運動向量的仿射模式進行說明。有時將此模式稱為仿射運動補償預測(affine motion compensation prediction)模式。
圖25A是用於說明依據複數個相鄰區塊的運動向量之子區塊單位的運動向量的導出之一例的概念圖。在圖25A中,當前區塊包含16個4×4子區塊。在此,是依據相鄰區塊的運動向量來導出當前區塊的左上角控制點之運動向量v0,並且同樣地依據相鄰子區塊的運動向量來導出當前區塊的右上角控制點之運動向量v1。並且,藉由以下之式(1A),亦可投影2個運動向量v0及v1,亦可導出當前區塊內的各子區塊之運動向量(vx,vy)。
[數式1]
在此,x及y是分別表示子區塊的水平位置及垂直位置,w是表示預定的加權係數。預定的加權係數亦可事先決定。
顯示這種仿射模式的資訊(可稱為例如仿射旗標)亦可在CU層級被訊號化。再者,顯示此仿射模式的資訊之訊號化並不需要限定於CU層級,亦可為其他的層級(例如序列層級、圖片層級、片段層級、圖塊層級、CTU層級或子區塊層級)。
又,在這種仿射模式中,亦可讓左上及右上角控制點的運動向量之導出方法包含幾個不同的模式。例如,在仿射模式中,有仿射幀間(也稱為仿射常規幀間)模式、與仿射合併模式之2種模式。
[MV導出 > 仿射模式] 圖25B是用於說明具有3個控制點的仿射模式中的子區塊單位的運動向量的導出之一例的概念圖。在圖25B中,當前區塊包含16個的4×4子區塊。在此,是依據相鄰區塊的運動向量來導出當前區塊的左上角控制點之運動向量v0,並同樣地依據相鄰區塊的運動向量來導出當前區塊的右上角控制點之運動向量v1,且依據相鄰區塊的運動向量來導出當前區塊的左下角控制點之運動向量v2。並且,藉由以下之式(1B),亦可投影3個運動向量v0、v1及v2,亦可導出當前區塊內的各子區塊之運動向量(vx,vy)。
[數式2]
在此,x及y是分別表示子區塊中心的水平位置及垂直位置,w是表示當前區塊的寬度,h是表示當前區塊的高度。
亦可將不同的控制點數量(例如2個與3個)的仿射模式在CU層級切換並訊號化。再者,亦可讓顯示在CU層級中所使用的仿射模式的控制點數量之資訊,在其他的層級(例如序列層級、圖片層級、片段層級、圖塊層級、CTU層級或子區塊層級)被訊號化。
又,在這種具有3個控制點的仿射模式中,亦可讓左上、右上及左下角控制點的運動向量之導出方法包含幾個不同的模式。例如,在仿射模式中,有仿射幀間(也稱為仿射常規幀間)模式、與仿射合併模式之2種模式。
[MV導出 > 仿射合併模式] 圖26A、圖26B及圖26C是用於說明仿射合併模式的概念圖。
在仿射合併模式中,如圖26A所示,在例如相鄰於當前區塊的編碼完畢區塊A(左)、區塊B(上)、區塊C(右上)、區塊D(左下)及區塊E(左上)當中,可依據對應於以仿射模式所編碼的區塊之複數個運動向量,而算出當前區塊的控制點的每一個的預測運動向量。具體而言,是以編碼完畢區塊A(左)、區塊B(上)、區塊C(右上)、區塊D(左下)及區塊E(左上)的順序來檢查這些區塊,而特定出已經以仿射模式編碼之最初的有效的區塊。可依據對應於此已特定出的區塊之複數個運動向量,來算出當前區塊的控制點的預測運動向量。
例如,如圖26B所示,以相鄰於當前區塊的左邊的區塊A具有2個控制點的仿射模式來編碼的情況下,可導出投影於包含區塊A之編碼完畢區塊的左上角及右上角的位置之運動向量v3及v4。並且,可從已導出的運動向量v3及v4算出當前區塊的左上角的控制點的預測運動向量v0、與右上角的控制點的預測運動向量v1。
例如,如圖26C所示,以相鄰於當前區塊的左邊的區塊A具有3個控制點的仿射模式來編碼的情況下,可導出投影於包含區塊A之編碼完畢區塊的左上角、右上角及左下角的位置之運動向量v3、v4及v5。並且,可從已導出的運動向量v3、v4及v5算出當前區塊的左上角的控制點的預測運動向量v0、右上角的控制點的預測運動向量v1、與左下角的控制點的預測運動向量v2。
再者,亦可在後述之圖29的步驟Sj_1中的當前區塊的控制點的每一個的預測運動向量的導出上使用此預測運動向量導出方法。
圖27是顯示仿射合併模式之一例的流程圖。
在仿射合併模式中,如圖示,首先,幀間預測部126是導出當前區塊的控制點的每一個的預測MV (步驟Sk_1)。控制點是如圖25A所示地為當前區塊的左上角及右上角的點、或如圖25B所示地為當前區塊的左上角、右上角及左下角的點。
亦即,如圖26A所示,幀間預測部126是以編碼完畢區塊A(左)、區塊B(上)、區塊C(右上)、區塊D(左下)、及區塊E(左上)的順序來檢查這些區塊,而特定出已經以仿射模式編碼之最初的有效的區塊。
並且,在特定出區塊A且區塊A具有2個控制點的情況下,如圖26B所示,幀間預測部126是從包含區塊A之編碼完畢區塊的左上角及右上角的運動向量v3及v4,來算出當前區塊的左上角的控制點之運動向量v0、與右上角的控制點之運動向量v1。例如,幀間預測部126是藉由將編碼完畢區塊的左上角及右上角的運動向量v3及v4投影於當前區塊,而算出當前區塊的左上角的控制點之預測運動向量v0、及右上角的控制點之預測運動向量v1。
或者,在特定出區塊A且區塊A具有3個控制點的情況下,如圖26C所示,幀間預測部126是從包含區塊A之編碼完畢區塊的左上角、右上角及左下角的運動向量v3、v4、及v5,來算出當前區塊的左上角的控制點之運動向量v0、右上角的控制點之運動向量v1、與左下角的控制點之運動向量v2。例如,幀間預測部126是藉由將編碼完畢區塊的左上角、右上角及左下角的運動向量v3、v4、及v5投影於當前區塊,而算出當前區塊的左上角的控制點之預測運動向量v0、右上角的控制點之預測運動向量v1、與左下角的控制點之運動向量v2。
接著,幀間預測部126是針對包含於當前區塊的複數個子區塊的每一個進行運動補償。亦即,幀間預測部126是針對該複數個子區塊的每一個,使用2個預測運動向量v0及v1與上述之式(1A)、或3個預測運動向量v0、v1及v2與上述之式(1B),而將該子區塊的運動向量算出為仿射MV(步驟Sk_2)。並且,幀間預測部126是使用該等仿射MV及編碼完畢參照圖片來對該子區塊進行運動補償(步驟Sk_3)。其結果,可對當前區塊來進行運動補償,而生成該當前區塊的預測圖像。
[MV導出 > 仿射幀間模式] 圖28A是用於說明具有2個控制點的仿射幀間模式的概念圖。
在此仿射幀間模式中,如圖28A所示,是將從相鄰於當前區塊之編碼完畢區塊A、區塊B及區塊C的運動向量中選擇出的運動向量,使用作為當前區塊的左上角的控制點的預測運動向量v0。同樣地,將從相鄰於當前區塊之編碼完畢區塊D及區塊E的運動向量中選擇出的運動向量,使用作為當前區塊的右上角的控制點的預測運動向量v1。
圖28B是用於說明具有3個控制點的仿射幀間模式的概念圖。
在此仿射幀間模式中,如圖28B所示,是將從相鄰於當前區塊之編碼完畢區塊A、區塊B及區塊C的運動向量中選擇出的運動向量,使用作為當前區塊的左上角的控制點的預測運動向量v0。同樣地,將從相鄰於當前區塊之編碼完畢區塊D及區塊E的運動向量中選擇出的運動向量,使用作為當前區塊的右上角的控制點的預測運動向量v1。此外,將從相鄰於當前區塊之編碼完畢區塊F及區塊G的運動向量中選擇出的運動向量,使用作為當前區塊的左下角的控制點的預測運動向量v2。
圖29是顯示仿射幀間模式之一例的流程圖。
如圖示,在仿射幀間模式中,首先,幀間預測部126是導出當前區塊的2個或3個控制點的每一個的預測MV(v0,v1)或(v0,v1,v2)(步驟Sj_1)。如圖25A或圖25B所示,控制點為當前區塊的左上角、右上角或左下角的點。
亦即,幀間預測部126是藉由選擇圖28A或圖28B所示之當前區塊的各控制點附近的編碼完畢區塊當中的任一個區塊的運動向量,來導出當前區塊的控制點的預測運動向量(v0,v1)或(v0,v1,v2)。此時,幀間預測部126是將用於識別已選擇的2個運動向量的預測運動向量選擇資訊編碼為流。
例如,幀間預測部126亦可使用成本評價等來決定從相鄰於當前區塊之編碼完畢區塊中選擇哪一個區塊的運動向量來作為控制點的預測運動向量,並且將顯示選擇了哪一個預測運動向量的旗標於位元流中描述。
接著,幀間預測部126是一邊分別更新在步驟Sj_1中所選擇或導出的預測運動向量(步驟Sj_2),一邊進行運動搜尋(步驟Sj_3及步驟Sj_4)。亦即,幀間預測部126是使用上述之式(1A)或式(1B)來將對應於更新的預測運動向量之各子區塊的運動向量算出作為仿射MV(步驟Sj_3)。並且,幀間預測部126是使用該等仿射MV及編碼完畢參照圖片來對各子區塊進行運動補償(步驟Sj_4)。其結果,幀間預測部126是在運動搜尋環路中,將例如可得到最小的成本的預測運動向量決定為控制點的運動向量(步驟Sj_5)。此時,幀間預測部126是進一步將該已決定的MV與預測運動向量的每一個的差分值設為差分MV並編碼為流。
最後,幀間預測部126是藉由使用該已決定的MV與編碼完畢參照圖片來對當前區塊進行運動補償,而生成該當前區塊的預測圖像(步驟Sj_6)。
[MV導出 > 仿射幀間模式] 在CU層級切換不同的控制點數量(例如2個與3個)的仿射模式並進行訊號化的情況下,會有在編碼完畢區塊與當前區塊中控制點的數量不同的情況。圖30A及圖30B是用於說明在編碼完畢區塊與當前區塊中控制點的數量不同的情況之控制點的預測向量導出方法的概念圖。
例如,如圖30A所示,以當前區塊具有左上角、右上角及左下角的3個控制點,且相鄰於當前區塊的左邊的區塊A具有2個控制點的仿射模式來進行編碼的情況下,可導出投影於於包含區塊A之編碼完畢區塊的左上角及右上角的位置之運動向量v3及v4。並且,可從已導出的運動向量v3及v4算出當前區塊的左上角的控制點的預測運動向量v0、與右上角的控制點的預測運動向量v1。此外,可從已導出的運動向量v0及v1算出左下角的控制點的預測運動向量v2。
例如,如圖30B所示,以當前區塊具有左上角及右上角的2個控制點,且相鄰於當前區塊的左邊的區塊A具有3個控制點的仿射模式來進行編碼的情況下,可導出投影於包含區塊A之編碼完畢區塊的左上角、右上角及左下角的位置之運動向量v3、v4及v5。並且,可從已導出的運動向量v3、v4及v5算出當前區塊的左上角的控制點的預測運動向量v0、與右上角的控制點的預測運動向量v1。
亦可在圖29的步驟Sj_1中的當前區塊的控制點的每一個的預測運動向量的導出上使用此預測運動向量導出方法。
[MV導出 > DMVR] 圖31A是顯示合併模式及DMVR的關係的流程圖。
幀間預測部126是以合併模式來導出當前區塊的運動向量(步驟Sl_1)。接著,幀間預測部126是判定是否進行運動向量的搜尋,亦即運動搜尋(步驟Sl_2)。在此,若幀間預測部126判定為不進行運動搜尋時(步驟Sl_2的「否」),是將在步驟Sl_1中所導出的運動向量決定為對於當前區塊的最終的運動向量(步驟Sl_4)。亦即,在此情況下,是以合併模式來決定當前區塊的運動向量。
另一方面,若在步驟Sl_1中判定為進行運動搜尋時(步驟Sl_2的「是」),幀間預測部126是藉由搜尋在步驟Sl_1中所導出的運動向量所示之參照圖片的周邊區域,而對當前區塊導出最終的運動向量(步驟Sl_3)。亦即,在此情況下,是以DMVR來決定當前區塊的運動向量。
圖31B是用於說明用於決定MV的DMVR處理之一例的概念圖。
首先,(例如在合併模式中)將已設定於當前區塊的最佳MVP設為候選MV。並且,依照候選MV(L0),從L0方向之編碼完畢圖片即第1參照圖片(L0)來特定出參照像素。同樣地,依照候選MV(L1),從L1方向之編碼完畢圖片即第2參照圖片(L1)來特定出參照像素。藉由取這些參照像素的平均來生成模板。
接著,利用前述模板,分別搜尋第1參照圖片(L0)及第2參照圖片(L1)的候選MV之周邊區域,將成本成為最小的MV決定作為最終的MV。再者,成本值亦可利用例如模板的各像素值與搜尋區域的各像素值之差分值及候選MV值等來算出。
再者,在典型上,在編碼裝置及後述之解碼裝置中,在此說明的處理之構成及動作基本上是共通的。
即使不是在此說明的處理例本身,只要是可以搜尋候選MV的周邊來導出最終的MV之處理,亦可使用任何的處理。
[運動補償 > BIO/OBMC] 在運動補償中,有生成預測圖像並補正該預測圖像的模式。該模式為例如後述之BIO及OBMC。
圖32是顯示預測圖像的生成之一例的流程圖。
幀間預測部126是生成預測圖像(步驟Sm_1),並藉由例如上述之任一個模式來補正該預測圖像(步驟Sm_2)。
圖33是顯示預測圖像的生成的其他例的流程圖。
幀間預測部126是決定當前區塊的運動向量(步驟Sn_1)。接著,幀間預測部126是生成預測圖像(步驟Sn_2),並判定是否進行補正處理(步驟Sn_3)。在此,幀間預測部126若判定為進行補正處理時(步驟Sn_3的「是」),是藉由補正該預測圖像而生成最終的預測圖像(步驟Sn_4)。另一方面,幀間預測部126若判定為不進行補正處理時(步驟Sn_3的「否」),是將該預測圖像在不補正的情況下輸出作為最終的預測圖像(步驟Sn_5)。
又,在運動補償中,有在生成預測圖像時補正亮度的模式。該模式為例如後述的LIC。
圖34是顯示預測圖像的生成的其他例的流程圖。
幀間預測部126是導出當前區塊的運動向量(步驟So_1)。接著,幀間預測部126是判定是否進行亮度補正處理(步驟So_2)。在此,幀間預測部126若判定為進行亮度補正處理時(步驟So_2的「是」),是一邊進行亮度補正一邊生成預測圖像(步驟So_3)。亦即,藉由LIC來生成預測圖像。另一方面,幀間預測部126若判定為不進行亮度補正處理時(步驟So_2的「否」),是在不進行亮度補正的情況下藉由通常的運動補償來生成預測圖像(步驟So_4)。
[運動補償 > OBMC] 亦可不只利用由運動搜尋得到的當前區塊之運動資訊,而是連相鄰區塊的運動資訊也利用,來生成幀間預測訊號。具體而言,亦可藉由將依據由(參照圖片內的)運動搜尋得到的運動資訊之預測訊號、與依據(當前圖片內的)相鄰區塊的運動資訊之預測訊號作加權相加,而以當前區塊內的子區塊單位來生成幀間預測訊號。這種幀間預測(運動補償)有時被稱為OBMC(重疊區塊運動補償,overlapped block motion compensation)。
在OBMC模式中,顯示OBMC用的子區塊之尺寸的資訊(可稱為例如OBMC區塊尺寸)是在序列層級被訊號化。此外,顯示是否適用OBMC模式的資訊(可稱為例如OBMC旗標)是在CU層級被訊號化。再者,這些資訊的訊號化之層級並不需要限定於序列層級及CU層級,亦可為其他的層級(例如圖片層級、片段層級、圖塊層級、CTU層級或子區塊層級)。
針對OBMC模式的例子來更具體地說明。圖35及圖36是用於說明由OBMC處理所進行之預測圖像補正處理的概要的流程圖及概念圖。
首先,如圖36所示,利用分配於處理對象(當前)區塊的運動向量(MV),來取得藉由通常的運動補償所形成之預測圖像(Pred)。在圖36中,箭頭“MV”是指向參照圖片,顯示為了得到預測圖像,當前圖片的當前區塊所參照的是何者。
接著,將已經對編碼完畢的左相鄰區塊導出的運動向量(MV_L)適用(再利用)於編碼對象區塊而取得預測圖像(Pred_L)。運動向量(MV_L)是藉由從當前區塊指向參照圖片的箭頭“MV_L”來顯示。並且,藉由將2個預測圖像Pred與Pred_L重疊來進行預測圖像的第1次補正。這會具有使相鄰區塊間的邊界勻合之效果。
同樣地,將已經對編碼完畢的上相鄰區塊導出的運動向量(MV_U)適用(再利用)於編碼對象區塊而取得預測圖像(Pred_U)。運動向量(MV_U)是藉由從當前區塊指向參照圖片的箭頭“MV_U”來顯示。並且,藉由將預測圖像Pred_U重疊於已進行第1次補正的預測圖像(例如,Pred與Pred_L),來進行預測圖像的第2次補正。這會具有使相鄰區塊間的邊界勻合之效果。藉由第2次補正而得到的預測圖像,是與相鄰區塊的邊界已勻合(已進行平滑化)之當前區塊的最終的預測圖像。
再者,雖然上述之例是使用了左相鄰及上相鄰的區塊之2段(pass)式的補正方法,但是該補正方法亦可為也使用了右相鄰及/或下相鄰的區塊之3段(pass)式或其以上的數段(pass)式的補正方法。
再者,進行重疊的區域亦可不是區塊整體的像素區域,而是僅為區塊邊界附近的一部分之區域。
再者,在此是針對用於藉由從1張參照圖片來將追加的預測圖像Pred_L及Pred_U重疊,而得到1張預測圖像Pred的OBMC的預測圖像補正處理進行了說明。但是,在依據複數個參照圖像來補正預測圖像的情況下,亦可將同樣的處理適用於複數個參照圖片的每一個。在這種情況下,藉由進行依據複數個參照圖片的OBMC的圖像補正而從各參照圖片取得已補正的預測圖像後,藉由將該已取得的複數個補正預測圖像進一步重疊來取得最終的預測圖像。
再者,在OBMC中,處理對象的單位亦可為預測區塊單位,亦可為將預測區塊進一步分割而成的子區塊單位。
作為是否適用OBMC處理的判定之方法,有例如利用顯示是否適用OBMC處理的訊號即OBMC旗標(obmc_flag)的方法。作為具體之一例,編碼裝置亦可判定對象區塊是否屬於運動複雜的區域。在屬於運動複雜的區域之情況下,編碼裝置是設定數值1來作為OBMC旗標(obmc_flag)並適用OBMC處理來進行編碼,在不屬於運動複雜的區域之情況下,是設定數值0來作為OBMC旗標(obmc_flag),且在不適用OBMC處理的情形下進行區塊的編碼。另一方面,在解碼裝置中,是藉由對已描述於流(例如壓縮序列)的OBMC旗標(obmc_flag)進行解碼,而因應於該數值來切換是否適用OBMC處理並進行解碼。
幀間預測部126在上述之例中是對矩形的當前區塊生成1個矩形的預測圖像。但是,幀間預測部126亦可對該矩形的當前區塊生成和矩形不同的形狀之複數個預測圖像,並且藉由結合該等複數個預測圖像來生成最終的矩形的預測圖像。和矩形不同的形狀亦可為例如三角形。
圖37是用於說明2個三角形的預測圖像的生成的概念圖。
幀間預測部126是藉由對當前區塊內的三角形的第1分區,利用該第1分區的第1MV來進行運動補償,而生成三角形的預測圖像。同樣地,幀間預測部126是藉由對當前區塊內的三角形的第2分區,利用該第2分區的第2MV來進行運動補償,而生成三角形的預測圖像。並且,幀間預測部126是藉由結合這些預測圖像,而生成和當前區塊相同的矩形之預測圖像。
再者,在圖37所示之例中,雖然第1分區及第2分區分別為三角形,但是亦可為梯形,亦可分別為互相不同的形狀。此外,在圖37所示之例中,雖然當前區塊是由2個分區所構成,但是亦可由3個以上的分區所構成。
又,第1分區及第2分區亦可重複。亦即,第1分區及第2分區亦可包含有相同的像素區域。在此情況下,亦可利用第1分區中的預測圖像與第2分區中的預測圖像來生成當前區塊的預測圖像。
又,在此例中雖然顯示了將2個分區一起以幀間預測來生成預測圖像的例子,但是亦可針對至少1個分區藉由幀內預測來生成預測圖像。
[運動補償 > BIO] 接著,說明導出運動向量的方法。首先,針對依據假設了等速直線運動的模型來導出運動向量的模式進行說明。有時將此模式稱為BIO(雙向光流,bi-directional optical flow)模式。
圖38是用於說明假設了等速直線運動之模型的概念圖。在圖38中,(vx,vy)是表示速度向量,τ0、τ1分別表示當前圖片(Cur Pic)與2個參照圖片(Ref0,Ref1)之間的時間上之距離。(MVx0,MVy0)是表示對應於參照圖片Ref0的運動向量,(MVx1,MVy1)是表示對應於參照圖片Ref1的運動向量。
此時在速度向量(vx,vy)的等速直線運動的假設之下,亦可將(MVx0,MVy0)及(MVx1,MVy1)分別表示為(vxτ0,vyτ0)及(-vxτ1,-vyτ1),並採用以下的光流等式(2)。
[數式3]
在此,I(k)是表示運動補償後的參照圖像k(k=0,1)之亮度值。此光流等式是表示下述的(i)、(ii)、及(iii)之和等於零:(i)亮度值的時間微分、(ii)水平方向的速度以及參照圖像的空間梯度之水平成分的積、與(iii)垂直方向的速度以及參照圖像的空間梯度之垂直成分的積。亦可依據此光流等式與赫米特內插法(Hermite interpolation)的組合,而將從合併清單等得到的區塊單位之運動向量以像素單位進行補正。
再者,亦可藉與依據假設了等速直線運動的模型之運動向量的導出不同之方法,在解碼裝置側導出運動向量。例如,亦可依據複數個相鄰區塊的運動向量而以子區塊單位來導出運動向量。
[運動補償 > LIC] 接著,說明利用LIC(局部照度補償,local illumination compensation)處理來生成預測圖像(預測)的模式之一例。
圖39是用於說明利用了由LIC處理所進行之亮度補正處理的預測圖像生成方法之一例的概念圖。
首先,從編碼完畢的參照圖片導出MV,並取得對應於當前區塊的參照圖像。
接著,對當前區塊,提取顯示亮度值在參照圖片與當前圖片中如何變化的資訊。此提取是依據以下的亮度像素值來進行:當前圖片中的編碼完畢左相鄰參照區域(周邊參照區域)及編碼完畢上相鄰參照區域(周邊參照區域)的亮度像素值、與以已導出的MV所指定的參照圖片內的同等位置中的亮度像素值。並且,使用顯示亮度值如何變化的資訊來算出亮度補正參數。
藉由對以MV所指定的參照圖片內之參照圖像進行適用前述亮度補正參數的亮度補正處理,而生成對當前區塊的預測圖像。
再者,圖39中的前述周邊參照區域的形狀只是一個例子,亦可利用此形狀以外的形狀。
又,在此雖然針對從1張參照圖片中生成預測圖像的處理作了說明,但從複數張參照圖片中生成預測圖像的情況也是同樣的,且亦可藉和上述同樣的方法,對從各個參照圖片中所取得的參照圖像於進行亮度補正處理後生成預測圖像。
作為是否適用LIC處理的判定之方法,有例如利用顯示是否適用LIC處理的訊號即LIC旗標(lic_flag)的方法。作為具體的一例,是在編碼裝置中,判定當前區塊是否屬於發生有亮度變化的區域,在屬於發生有亮度變化的區域之情況下,是設定數值1來作為LIC旗標(lic_flag),並適用LIC處理來進行編碼,在不屬於發生有亮度變化的區域之情況下,是設定數值0來作為LIC旗標(lic_flag),並且在不適用LIC處理的情形下進行編碼。另一方面,在解碼裝置中,亦可對已描述於流(stream)的LIC旗標(lic_flag)進行解碼,藉此因應於該數值來切換是否適用LIC處理而進行解碼。
作為是否適用LIC處理的判定之其他方法,也有例如依照在周邊區塊是否適用了LIC處理來進行判定的方法。作為具體的一例,在當前區塊為合併模式的情況下,是判定合併模式處理中的MV之導出時所選擇的周邊的編碼完畢區塊是否已適用LIC處理並編碼。因應於該結果來切換是否適用LIC處理並進行編碼。再者,即使是在此例的情況下,也可將相同的處理適用於解碼裝置側的處理。
針對LIC處理(亮度補正處理)的態樣已利用圖39來說明,在以下則說明其詳細內容。
首先,幀間預測部126是導出用於從編碼完畢圖片即參照圖片取得對應於編碼對象區塊的參照圖像之運動向量。
接著,幀間預測部126是對編碼對象區塊利用左相鄰及上相鄰的編碼完畢周邊參照區域的亮度像素值、與以運動向量所指定的參照圖片內的同等位置中的亮度像素值,提取顯示亮度值在參照圖片與編碼對象圖片中如何變化的資訊,並算出亮度補正參數。例如,將編碼對象圖片內的周邊參照區域內的某個像素的亮度像素值設為p0,並且將和該像素同等位置之參照圖片內的周邊參照區域內的像素的亮度像素值設為p1。幀間預測部126是對周邊參照區域內的複數個像素,將對A×p1+B=p0進行最佳化的係數A及B算出作為亮度補正參數。
接著,幀間預測部126是對以運動向量所指定的參照圖片內的參照圖像,利用亮度補正參數來進行亮度補正處理,藉此生成對編碼對象區塊的預測圖像。例如,將參照圖像內的亮度像素值設為p2,並將亮度補正處理後的預測圖像的亮度像素值設為p3。幀間預測部126是對參照圖像內的各像素,藉由算出A×p2+B=p3來生成亮度補正處理後的預測圖像。
再者,圖39中的周邊參照區域的形狀只是一個例子,亦可利用此形狀以外的形狀。又,亦可利用圖39所示的周邊參照區域的一部分。例如,亦可將已從上相鄰像素及左相鄰像素的每一個進行剔除之包含預定數量的像素的區域使用作為周邊參照區域。又,周邊參照區域並不限定於相鄰於編碼對象區塊的區域,亦可為不相鄰於編碼對象區塊的區域。有關於像素的預定數量亦可事先規定。
又,在圖39所示的例子中,參照圖片內的周邊參照區域雖然是從編碼對象圖片內的周邊參照區域中以編碼對象圖片的運動向量所指定的區域,但亦可為以其他運動向量所指定的區域。例如,該其他運動向量亦可為編碼對象圖片內的周邊參照區域的運動向量。
再者,在此,雖然說明了編碼裝置100中的動作,但典型上解碼裝置200中的動作也是同樣的。
再者,LIC處理亦可不僅是亮度,也適用於色差。此時,亦可對Y、Cb及Cr的每一個來個別地導出補正參數,亦可對任一個來使用共通的補正參數。
又,LIC處理亦可以子區塊單位來適用。例如,亦可使用當前子區塊的周邊參照區域、與以當前子區塊的MV所指定的參照圖片內的參照子區塊的周邊參照區域,來導出補正參數。
[預測控制部] 預測控制部128是選擇幀內預測訊號(從幀內預測部124輸出的訊號)及幀間預測訊號(從幀間預測部126輸出的訊號)的任一個,並且將所選擇的訊號作為預測訊號而輸出至減法部104及加法部116。
如圖1所示,在各種編碼裝置例中,預測控制部128亦可輸出可輸入至熵編碼部110的預測參數。熵編碼部110亦可依據從預測控制部128輸入的該預測參數、從量化部108輸入的量化係數,來生成編碼位元流(或序列)。預測參數亦可使用於解碼裝置。解碼裝置亦可接收編碼位元流並進行解碼,並且進行和在幀內預測部124、幀間預測部126及預測控制部128中進行的預測處理相同的處理。預測參數亦可包含有:選擇預測訊號(例如在運動向量、預測類型、或幀內預測部124或幀間預測部126中所使用的預測模式)、或依據在幀內預測部124、幀間預測部126及預測控制部128中進行的預測處理、或者顯示該預測處理之任意的索引、旗標或數值。
[編碼裝置之組裝例] 圖40是顯示編碼裝置100之組裝例的方塊圖。編碼裝置100具備處理器a1及記憶體a2。例如,可將圖1所示的編碼裝置100的複數個構成要素,藉由圖40所示的處理器a1及記憶體a2來組裝。
處理器a1是進行資訊處理的電路,且是可對記憶體a2進行存取的電路。例如,處理器a1是對動態圖像進行編碼之專用或通用的電子電路。處理器a1亦可為CPU之類的處理器。又,處理器a1亦可為複數個電子電路的集合體。又,例如,處理器a1亦可在圖1等所示的編碼裝置100的複數個構成要素當中,發揮複數個構成要素的作用。
記憶體a2是儲存處理器a1用於對動態圖像進行編碼的資訊之專用或通用的記憶體。記憶體a2亦可為電子電路,亦可連接至處理器a1。又,記憶體a2亦可包含在處理器a1中。又,記憶體a2亦可為複數個電子電路的集合體。又,記憶體a2亦可為磁碟或光碟等,亦可表現為儲存器或記錄媒體等。又,記憶體a2亦可為非揮發性記憶體,亦可為揮發性記憶體。
例如,在記憶體a2中亦可儲存有編碼的動態圖像,亦可儲存有對應於已編碼的動態圖像之位元串。又,在記憶體a2中亦可儲存有處理器a1用於對動態圖像進行編碼的程式。
又,例如,記憶體a2亦可在圖1等所示之編碼裝置100的複數個構成要素當中,發揮用於儲存資訊的構成要素之作用。例如,記憶體a2亦可發揮圖1所示之區塊記憶體118及幀記憶體122的作用。更具體而言,在記憶體a2中亦可儲存有再構成完畢區塊及再構成完畢圖片等。
再者,在編碼裝置100中,亦可不組裝圖1等所示之複數個構成要素的全部,且亦可不進行上述複數個處理的全部。圖1等所示之複數個構成要素的一部分亦可包含在其他裝置中,且上述之複數個處理的一部分亦可藉由其他裝置來執行。
[解碼裝置] 接著,針對例如可對從上述編碼裝置100輸出的編碼訊號(編碼位元流)進行解碼之解碼裝置進行說明。圖41是顯示實施形態之解碼裝置200的功能構成的方塊圖。解碼裝置200是以區塊單位對動態圖像進行解碼的動態圖像解碼裝置。
如圖41所示,解碼裝置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的整體的處理流程後,針對解碼裝置200所包含的各構成要素進行說明。
[解碼處理的整體流程] 圖42是顯示由解碼裝置200所進行之整體的解碼處理之一例的流程圖。
首先,解碼裝置200的熵解碼部202是特定出固定尺寸的區塊(例如128×128像素)的分割型樣(步驟Sp_1)。此分割型樣是藉由編碼裝置100所選擇的分割型樣。並且,解碼裝置200是對構成該分割型樣的複數個區塊的每一個進行步驟Sp_2~Sp_6的處理。
亦即,熵解碼部202是對解碼對象區塊(也稱為當前區塊)之已編碼的量化係數及預測參數進行解碼(具體而言為熵解碼)(步驟Sp_2)。
接著,逆量化部204及逆轉換部206是藉由對複數個量化係數進行逆量化及逆轉換,而將複數個預測殘差(亦即差分區塊)復原(步驟Sp_3)。
接著,由幀內預測部216、幀間預測部218及預測控制部220的全部或一部分所形成的預測處理部是生成當前區塊的預測訊號(也稱為預測區塊)(步驟Sp_4)。
接著,加法部208是藉由在差分區塊加上預測區塊,而將當前區塊再構成為再構成圖像(也稱為解碼圖像區塊)(步驟Sp_5)。
並且,當生成此再構成圖像後,環路濾波部212即對該再構成圖像進行濾波(步驟Sp_6)。
並且,解碼裝置200是判定圖片整體的解碼是否已完成(步驟Sp_7),在判定為未完成的情況(步驟Sp_7的「否」)下,則重複執行從步驟Sp_1起的處理。
如圖示,步驟Sp_1~Sp_7的處理是藉由解碼裝置200以序列的方式來進行。或者,亦可將該等處理當中的一部分的複數個處理並行地進行,亦可進行順序之調換等。
[熵解碼部] 熵解碼部202是對編碼位元流進行熵解碼。具體而言,熵解碼部202是例如從編碼位元流對二值訊號進行算術解碼。並且,熵解碼部202是對二值訊號進行多值化(debinarize)。熵解碼部202是以區塊單位將量化係數輸出至逆量化部204。熵解碼部202亦可將包含於編碼位元流(參照圖1)的預測參數,輸出至實施形態中的幀內預測部216、幀間預測部218及預測控制部220。幀內預測部216、幀間預測部218及預測控制部220可以執行和在編碼裝置側的幀內預測部124、幀間預測部126及預測控制部128中所進行的處理相同的預測處理。
[逆量化部] 逆量化部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進行濾波的再構成區塊。
[預測處理部(幀內預測部/幀間預測部/預測控制部)] 圖43是顯示在解碼裝置200的預測處理部中所進行的處理之一例的流程圖。再者,預測處理部是由幀內預測部216、幀間預測部218及預測控制部220的全部或一部分的構成要素所形成。
預測處理部是生成當前區塊的預測圖像(步驟Sq_1)。此預測圖像也稱為預測訊號或預測區塊。再者,在預測訊號中有例如幀內預測訊號或幀間預測訊號。具體而言,預測處理部是使用已經藉由進行預測區塊的生成、差分區塊的生成、係數區塊的生成、差分區塊的復原、及解碼圖像區塊的生成而得到的再構成圖像,來生成當前區塊的預測圖像。
再構成圖像亦可為例如參照圖片的圖像,亦可為包含當前區塊的圖片即當前圖片內之解碼完畢的區塊的圖像。當前圖片內之解碼完畢的區塊可為例如當前區塊的相鄰區塊。
圖44是顯示在解碼裝置200的預測處理部中所進行的處理之其他例的流程圖。
預測處理部是判定用於生成預測圖像的方式或模式(步驟Sr_1)。例如,此方式或模式亦可依據例如預測參數等來判定。
預測處理部在將第1方式判定為用於生成預測圖像的模式之情況下,是依照該第1方式來生成預測圖像(步驟Sr_2a)。又,預測處理部在將第2方式判定為用於生成預測圖像的模式之情況下,是依照該第2方式來生成預測圖像(步驟Sr_2b)。又,預測處理部在將第3方式判定為用於生成預測圖像的模式之情況下,是依照該第3方式來生成預測圖像(步驟Sr_2c)。
第1方式、第2方式及第3方式是用於生成預測圖像之互相不同的方式,且分別可為例如幀間預測方式、幀內預測方式及其等以外的預測方式。在這些預測方式中,亦可使用上述的再構成圖像。
[幀內預測部] 幀內預測部216是依據已從編碼位元流中解讀出的幀內預測模式,並參照保存於區塊記憶體210的當前圖片內之區塊來進行幀內預測,藉此生成預測訊號(幀內預測訊號)。具體而言,幀內預測部216是藉由參照與當前區塊相鄰的區塊之樣本(例如亮度值、色差值)來進行幀內預測而生成幀內預測訊號,並將幀內預測訊號輸出至預測控制部220。
再者,在色差區塊的幀內預測中選擇參照亮度區塊的幀內預測模式之情況下,幀內預測部216亦可依據當前區塊的亮度成分來預測當前區塊的色差成分。
又,當已從編碼位元流中解讀出的資訊顯示的是PDPC的適用之情況下,幀內預測部216是依據水平/垂直方向的參照像素之梯度來補正幀內預測後的像素值。
[幀間預測部] 幀間預測部218是參照保存於幀記憶體214的參照圖片,來預測當前區塊。預測是以當前區塊或當前區塊內的子區塊(例如4×4區塊)之單位來進行。例如,幀間預測部218是利用從編碼位元流(例如,從熵解碼部202輸出的預測參數)中解讀出的運動資訊(例如運動向量)來進行運動補償,藉此生成當前區塊或子區塊的幀間預測訊號,並且將幀間預測訊號輸出至預測控制部220。
顯示從編碼位元流中解讀出的資訊為適用OBMC模式的情況下,幀間預測部218不只使用藉由運動搜尋所得到的當前區塊之運動資訊,而是連相鄰區塊的運動資訊也使用,來生成幀間預測訊號。
又,顯示從編碼位元流中解讀出的資訊適用FRUC模式的情況下,幀間預測部218會依照從編碼流中解讀出的型樣匹配之方法(雙向匹配或模板匹配)來進行運動搜尋,藉此導出運動資訊。並且,幀間預測部218是利用已導出的運動資訊來進行運動補償(預測)。
又,在適用BIO模式的情況下,幀間預測部218是依據假設了等速直線運動的模型來導出運動向量。又,在顯示從編碼位元流中解讀出的資訊適用仿射運動補償預測模式的情況下,幀間預測部218是依據複數個相鄰區塊的運動向量而以子區塊單位來導出運動向量。
[MV導出 > 常規幀間模式] 顯示從編碼位元流中解讀出的資訊為適用常規幀間模式之情形的情況下,幀間預測部218是依照從編碼流中解讀出的資訊來導出MV,並利用該MV來進行運動補償(預測)。
圖45是顯示解碼裝置200中的由常規幀間模式所進行的幀間預測之例的流程圖。
解碼裝置200的幀間預測部218是按每一個區塊,來對該區塊進行運動補償。幀間預測部218是依據時間上或空間上位於當前區塊的周圍的複數個解碼完畢區塊的MV等之資訊,而對該當前區塊取得複數個候選MV(步驟Ss_1)。亦即,幀間預測部218是製作候選MV清單。
接著,幀間預測部218是從在步驟Ss_1中所取得的複數個候選MV之中,將N個(N為2以上的整數)候選MV的每一個作為預測運動向量候選(也稱為預測MV候選),並依照預定的優先順序來提取(步驟Ss_2)。再者,該優先順序亦可對N個預測MV候選的每一個來事先規定。
接著,幀間預測部218是從已輸入的流(亦即編碼位元流)中對預測運動向量選擇資訊進行解碼,且利用該已解碼的預測運動向量選擇資訊,從該N個預測MV候選之中將1個預測MV候選選擇作為當前區塊的預測運動向量(也稱為預測MV)(步驟Ss_3)。
接著,幀間預測部218是從已輸入的流中對差分MV進行解碼,並且對該已解碼的差分MV即差分值、與已選擇的預測運動向量進行加法運算,藉此導出當前區塊的MV(步驟Ss_4)。
最後,幀間預測部218是藉由使用該已導出的MV與解碼完畢參照圖片來對當前區塊進行運動補償,而生成該當前區塊的預測圖像(步驟Ss_5)。
[預測控制部] 預測控制部220是選擇幀內預測訊號及幀間預測訊號的任一個,且將所選擇的訊號作為預測訊號而輸出至加法部208。在整體上, 解碼裝置側的預測控制部220、幀內預測部216及幀間預測部218的構成、功能及處理亦可與編碼裝置側的預測控制部128、幀內預測部124及幀間預測部126的構成、功能及處理相對應。
[解碼裝置的組裝例] 圖46是顯示解碼裝置200之組裝例的方塊圖。解碼裝置200具備處理器b1及記憶體b2。例如,可將圖41所示的解碼裝置200的複數個構成要素,藉由圖46所示的處理器b1及記憶體b2來組裝。
處理器b1是進行資訊處理的電路,且是可對記憶體b2進行存取的電路。例如,處理器b1是對已編碼的動態圖像(亦即編碼位元流)進行解碼之專用或通用的電子電路。處理器b1亦可為CPU之類的處理器。又,處理器b1亦可為複數個電子電路的集合體。又,例如,處理器b1亦可在圖41等所示的解碼裝置200的複數個構成要素當中,發揮複數個構成要素的作用。
記憶體b2是儲存處理器b1用於對編碼位元流進行解碼的資訊之專用或通用的記憶體。記憶體b2亦可為電子電路,亦可連接至處理器b1。又,記憶體b2亦可包含於處理器b1。又,記憶體b2亦可為複數個電子電路的集合體。又,記憶體b2亦可為磁碟或光碟等,亦可表現為儲存器或記錄媒體等。又,記憶體b2亦可為非揮發性記憶體,亦可為揮發性記憶體。
例如,在記憶體b2中亦可儲存有動態圖像,亦可儲存有編碼位元流。又,在記憶體b2中亦可儲存有處理器b1用於對編碼位元流進行解碼的程式。
又,例如,記憶體b2亦可在圖41等所示之解碼裝置200的複數個構成要素當中,發揮用於儲存資訊的構成要素之作用。具體來說,記憶體b2亦可發揮圖41所示之區塊記憶體210及幀記憶體214的作用。更具體而言,在記憶體b2中亦可儲存有再構成完畢區塊及再構成完畢圖片等。
再者,在解碼裝置200中,亦可不組裝圖41等所示之複數個構成要素的全部,且亦可不進行上述之複數個處理的全部。圖41等所示之複數個構成要素的一部分亦可包含在其他裝置中,且上述之複數個處理的一部分亦可藉由其他裝置來執行。
[各用語的定義] 各用語作為一例,亦可為如以下的定義。
圖片為單色格式中的複數個亮度樣本的陣列、或4:2:0、4:2:2及4:4:4之彩色格式中的複數個亮度樣本的陣列及複數個色差樣本的2個的對應陣列。圖片亦可為幀(frame)或圖場(field)。
幀(frame)為產生複數個樣本列0、2、4、…的上圖場(top field)、及產生複數個樣本列1、3、5、…的下圖場(bottom field)之組成物。
片段為1個獨立的片段區段(slice segment)、及(若有的話)相同存取單元內的(若有的話)先行於下一個獨立片段區段之包含於全部的後續的從屬片段區段的整數個編碼樹單元。
圖塊為圖片中的特定的圖塊行及特定的圖塊列內之複數個編碼樹區塊的矩形區域。雖然圖塊亦可依然適用跨越圖塊之邊緣的環路濾波器,但是亦可為意圖可獨立地解碼及編碼之幀的矩形區域。
區塊為複數個樣本的M×N(N列M行)陣列、或複數個轉換係數的M×N陣列。區塊亦可為由1個亮度及2個色差之複數個矩陣所形成的複數個像素之正方形或矩形的區域。
CTU(編碼樹單元)亦可為具有3個樣本陣列之圖片的複數個亮度樣本的編碼樹區塊,亦可為複數個色差樣本的2個對應編碼樹區塊。或者,CTU亦可為單色圖片、與使用3個已分離的彩色平面及於複數個樣本的編碼中所用的語法(syntax)構造來編碼之圖片之任一種圖片的複數個樣本的編碼樹區塊。
超級區塊亦可為構成1個或2個模式資訊區塊、或遞迴地分割成4個32×32區塊,而可進一步分割之64×64像素的正方形區塊。
[內插濾波器決定處理的具體例] 接著,一邊參照圖47~圖50一邊說明實施形態中的內插濾波器決定處理的具體例。圖47是顯示實施形態中的內插濾波器決定處理之一例的流程圖。若補充說明,預測處理部是如例如圖15所示地決定當前區塊的運動向量(MV),並依據已決定的MV來進行運動補償,藉此生成其預測圖像。運動補償首先是依據MV來生成整數像素單位的第1預測圖像,接著,藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值(樣本)進行內插,而生成第2預測圖像。換言之,內插濾波器決定處理是包含於運動補償處理。
在步驟S1001中,幀間預測部126/218是判定編碼/解碼對象區塊的尺寸是否比閾值尺寸更大。閾值尺寸之一例為4×4像素尺寸。在此情況下,若編碼/解碼對象區塊的尺寸為4×4像素尺寸,則幀間預測部126/218是判定為編碼/解碼對象區塊的尺寸並未比閾值尺寸更大。另一方面,若編碼/解碼對象區塊的尺寸比4×4像素尺寸更大,則幀間預測部126/218是判定為編碼/解碼對象區塊的尺寸比閾值尺寸更大。
在步驟S1002中,在已判定為編碼/解碼對象區塊的尺寸比閾值尺寸更大的情況下(S1001X的「是」),則幀間預測部126/218是將使用於編碼/解碼對象區塊的運動補償之內插濾波器決定為第1內插濾波器。作為第1內插濾波器,可以如例如圖48所示地使用8抽頭內插濾波器。
圖48是顯示實施形態中的第1內插濾波器之一例的圖。具體而言,作為第1內插濾波器,例示有對於1/16的運動向量之精度(小數樣本位置)的每一個的8抽頭內插濾波係數。例如,若運動向量的精度為「8/16」,即可使用{-1、4、-11、40、40、-11、4、-1}來作為8抽頭內插濾波係數。
在步驟S1003中,在已判定為編碼/解碼對象區塊的尺寸並未比閾值尺寸更大的情況下(S1001X的「否」),則幀間預測部126/218是將使用於編碼/解碼對象區塊的運動補償之內插濾波器決定為第2內插濾波器。在此,第2內插濾波器具有比第1內插濾波器更短的抽頭。亦即,第2內插濾波器的抽頭數比第1內插濾波器的抽頭數更小。作為第2內插濾波器,可以如例如圖49所示地使用6抽頭內插濾波器。
圖49是顯示實施形態中的第2內插濾波器之一例的圖。具體而言,作為第2內插濾波器,例示有對於1/16的運動向量之精度(小數樣本位置)的每一個的6抽頭內插濾波係數。例如,若運動向量的精度為「8/16」,即可使用{3、-11、40、40、-11、3}來作為6抽頭內插濾波係數。
在步驟S1004中,是使用已決定的內插濾波器來對編碼/解碼對象區塊進行編碼/解碼。具體而言,幀間預測部126/218是使用已決定的內插濾波器來對編碼/解碼對象區塊進行運動補償,藉此生成編碼/解碼對象區塊的幀間預測訊號。已生成的幀間預測訊號是如上述地輸出至預測控制部128/220。
如以上所述,在本實施形態中,可以因應於編碼/解碼對象區塊的尺寸,而切換第1內插濾波器與第2內插濾波器來使用,且前述第2內插濾波器是抽頭數和第1內插濾波器不同的內插濾波器。
再者,編碼/解碼對象區塊只要是進行運動補償的區塊即可,並沒有特別限定。例如,作為編碼/解碼對象區塊,可以使用仿射模式的子區塊。此時,可以使用例如4×4像素尺寸來作為閾值尺寸。
圖50是顯示適用已在實施形態中決定的內插濾波器的區塊之一例的圖。在圖50中,可對例如將16×8像素的區塊分割為8個而得到的8個4×4像素的各個子區塊適用內插濾波器。
[實施形態的技術效果] 本揭示是將適應於尺寸的內插濾波器決定程序導入幀間預測處理。此程序可減少幀間預測程序的最壞情況中的記憶體頻帶寬度,並就有關於用於仿射運動補償的處理數來減少最壞情況下的複雜度。
若以更小的區塊單位來進行運動補償,會使運動補償的次數增加,且為了運動補償而從記憶體讀出樣本的次數也增加。另一方面,若內插濾波器的抽頭數減少,為了內插處理而從記憶體讀出的樣本數即減少。從而,藉由對更小的區塊使用具有更短的抽頭的內插濾波器,而減少每1次的讀出樣本數,藉此即使樣本的讀出次數增加仍然可以抑制記憶體頻帶寬度的增加。此外,可以藉由對仿射模式的子區塊適用第2內插濾波器,而減低處理負荷比較高的仿射運動補償的處理負荷。
亦可將在此所揭示之1個以上的態樣和本揭示中的其他態樣的至少一部分組合來實施。又,亦可將在此所揭示之1個以上的態樣的流程圖所記載的一部分的處理、裝置的一部分的構成、語法(syntax)的一部分等和其他態樣組合來實施。
[實施及應用] 在以上之各實施形態中,各個功能上或作用上的方塊通常可藉由MPU(微處理單元,micro proccessing unit)及記憶體等來實現。又,由各個功能方塊所進行的處理亦可作為將記錄於ROM等之記錄媒體的軟體(程式)讀出並執行的處理器等之程式執行部來實現。亦可將該軟體發布。亦可將該軟體記錄於半導體記憶體等各種記錄媒體中。再者,亦可藉由硬體(專用電路)來實現各功能方塊。可採用硬體及軟體的各種組合。
在各實施形態中所說明的處理,亦可藉由使用單一的裝置(系統)來集中處理而實現、或者亦可藉由使用複數個裝置來分散處理而實現。又,執行上述程式的處理器可為單個,亦可為複數個。亦即,亦可進行集中處理、或者亦可進行分散處理。
本揭示的態樣不受以上之實施例所限定,而可進行各種的變更,且該等變更亦包含在本揭示的態樣之範圍內。
此外,在此說明上述各實施形態所示之動態圖像編碼方法(圖像編碼方法)或動態圖像解碼方法(圖像解碼方法)的應用例、以及實施該應用例的各種系統。這種系統亦可將特徵設為:具有利用了圖像編碼方法之圖像編碼裝置、利用了圖像解碼方法之圖像解碼裝置、或具備兩者之圖像編碼解碼裝置。針對這種系統的其他構成,可以因應於情況而適當地變更。
[使用例] 圖51是顯示實現內容發送服務(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 Handy-phone System)等。
家電ex114可為冰箱、或包含於家庭用燃料電池汽電共生系統(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)來壓縮並傳送至伺服器。伺服器會進行例如從特徵量判斷目標(object)的重要性並切換量化精度等之因應圖像的意義(或內容的重要性)的壓縮。特徵量資料對於在伺服器之再度的壓縮時的運動向量預測之精度及效率提升特別有效。又,亦可在終端進行VLC(可變長度編碼)等之簡易的編碼,並在伺服器進行CABAC(上下文參考之適應性二值算術編碼方式)等處理負荷較大的編碼。
此外,作為其他的例子,在運動場、購物商場、或工廠等中,會有藉由複數個終端拍攝幾乎相同的場景之複數個影像資料存在的情況。此時,可利用已進行攝影之複數個終端、與因應需要而沒有進行攝影之其他終端及伺服器,以例如GOP(圖片群組,Group of Picture)單位、圖片單位、或已將圖片分割而成之圖塊(tile)單位等來各自分配編碼處理而進行分散處理。據此,可以減少延遲,而更加能夠實現即時(real-time)性。
由於複數個影像資料幾乎為相同的場景,因此亦可在伺服器進行管理及/或指示,以將在各終端所攝影之影像資料互相地配合參照。又,亦可使伺服器接收來自各終端之編碼完畢資料,並在複數個資料間變更參照關係、或者補正或更換圖片本身並重新編碼。藉此,可以生成已提高一個個資料之質與效率的流(stream)。
此外,伺服器亦可在進行變更影像資料之編碼方式的轉碼(transcode)後再發送影像資料。例如,伺服器亦可將MPEG類的編碼方式轉換為VP類(例如VP9),且亦可將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值設定為背景,而生成目標以外之部分是形成為背景色之資料。預定之值的RGB值亦可事先規定。
同樣地,被發送之資料的解碼處理可在客戶端(例如終端)進行,亦可在伺服器側進行,亦可互相分擔而進行。作為一例,亦可使某個終端暫時將接收要求傳送至伺服器,並在其他終端接收因應該要求之內容且進行解碼處理,再將解碼完成之訊號傳送至具有顯示器的裝置。藉由不依靠可通訊之終端本身的性能而將處理分散並選擇適當的內容之作法,可以播放畫質良好的資料。又,作為其他的例子,亦可用TV等接收大尺寸的圖像資料,並且將圖片分割後之圖塊等一部分的區域解碼並顯示於鑑賞者之個人終端。藉此,可以將整體圖片共有化,並且可以就近確認自己負責的領域或想要更詳細地確認之區域。
在屋內外之近距離、中距離、或長距離之無線通訊為可複數使用的狀況下,有可能可利用MPEG-DASH等之發送系統規格,而以無縫的方式來接收內容。使用者亦可對使用者的終端、配置於屋內外的顯示器等之解碼裝置或顯示裝置一邊自由地進行選擇一邊以即時的方式切換。又,可以做到利用本身的位置資訊等,一邊切換要進行解碼的終端及要進行顯示的終端並一邊進行解碼。藉此,變得可在使用者正在往目的地移動的期間,在已埋入有可顯示之元件的鄰近之建築物的牆面或地面的一部分映射及顯示資訊。又,讓編碼資料快取到可以在短時間內從接收終端進行存取之伺服器、或者複製到內容傳遞伺服器(content delivery server)中的邊緣伺服器等之依據在網路上對編碼資料的存取容易性,來切換接收資料之位元率(bit-rate)的作法也是可做到的。
[可調式編碼] 關於內容之切換,將利用圖52所示之應用在上述各實施形態中所示之動態圖像編碼方法而進行壓縮編碼之可調整的流,來進行說明。雖然伺服器具有複數個內容相同而質卻不同的流來作為個別的流也無妨,但亦可為將以如圖示地分層來進行編碼之作法而實現的時間上/空間上可調整之流的特徵活用,以切換內容的構成。亦即,藉由使解碼側因應於性能這種內在要因與通訊頻帶之狀態等的外在要因來決定要解碼哪一層,解碼側即可以自由地切換低解析度之內容與高解析度之內容來解碼。例如,當使用者想在例如回家後以網際網路TV等機器收看例如於移動中以智慧型手機ex115收看之影像的後續時,該機器只要將相同的流解碼至不同的層即可,因此可以減輕伺服器側的負擔。
此外,如上述,除了按每層將圖片編碼,且在基本層之上位的增強層(enhancement layer)實現可調整性(scalability)的構成以外,亦可使增強層包含依據圖像之統計資訊等的元資訊。亦可讓解碼側依據元資訊來對基本層的圖片進行超解析,藉此生成高畫質化之內容。超解析亦可一面維持及/或放大解析度一面提升SN比。元資訊包含:用於特定出如在超解析處理中使用之線性或非線性的濾波係數之資訊、或者特定超解析處理中使用之濾波處理、機械學習或最小平方運算中的參數值之資訊等。
或,亦可提供因應於圖像內的目標等之含義而將圖片分割為圖塊等之構成。藉由讓解碼側選擇要解碼之圖塊而僅將一部分的區域解碼。此外,藉由將目標之屬性(人物、車、球等)與影像內之位置(同一圖像中的座標位置等)作為元資訊加以保存,解碼側即可以依據元資訊來特定出所期望之目標的位置,並決定包含該目標之圖塊。例如,如圖53所示,亦可使用HEVC中的SEI(補充增強資訊,supplemental enhancement information)訊息等與像素資料為不同之資料儲存構造來儲存元資訊。此元資訊是表示例如主目標之位置、尺寸、或色彩等。
亦可藉流、序列、或隨機存取單位等,由複數個圖片構成之單位來儲存元資訊。解碼側可以取得特定人物出現在影像內之時刻等,並對照圖片單位之資訊與時間資訊,藉此即可以特定目標存在之圖片,且可以決定目標在圖片內的位置。
[網頁之最佳化] 圖54是顯示電腦ex111等中的網頁的顯示畫面例的圖。圖55是顯示智慧型手機ex115等中的網頁的顯示畫面例的圖。如圖54及圖55所示,有網頁包含複數個對圖像內容的鏈接即鏈接圖像的情況,其外觀亦可依閱覽之元件而不同。在畫面上可看到複數個鏈接圖像時,直到使用者明確地選擇鏈接圖像、或者鏈接圖像接近畫面之中央附近或鏈接圖像之整體進入畫面內為止,顯示裝置(解碼裝置)亦可顯示各內容所具有之靜態圖或I圖片來作為鏈接圖像,亦可用複數個靜態圖或I圖片等來顯示如gif動畫的影像,亦可僅接收基本層來將影像進行解碼及顯示。
在已藉由使用者選擇出鏈接圖像的情況下,顯示裝置是例如一面將基本層設為最優先一面進行解碼。再者,只要有在構成網頁之HTML中顯示屬於可調整之內容之情形的資訊,亦可使顯示裝置解碼至增強層。此外,為了擔保即時性,在選擇之前或通訊頻帶非常吃緊的情況下,顯示裝置可以藉由僅解碼及顯示前向參照之圖片(I圖片、P圖片、僅前向參照之B圖片),來減低開頭圖片之解碼時刻與顯示時刻之間的延遲(從內容之解碼開始到顯示開始之間的延遲)。又,此外,顯示裝置亦可特意無視圖片之參照關係而將所有的B圖片及P圖片設成前向參照來粗略地解碼,並隨著時間經過使接收之圖片增加來進行正常的解碼。
[自動行駛] 又,在為了汽車之自動行駛或行駛支援而傳送接收如二維或三維之地圖資訊等的靜態圖或影像資料的情況下,接收終端亦可除了屬於1個以上之層的圖像資料之外,也將天候或施工資訊等也都接收作為元資訊,並對應於這些來解碼。再者,元資訊亦可屬於層,亦可單純與圖像資料進行多工化。
此時,由於包含接收終端之車、無人機(drone)或飛機等會移動,因此藉由接收終端會傳送該接收終端之位置資訊之作法,即可一邊切換基地台ex106~ex110一邊實現無縫的接收及解碼的執行。又,接收終端變得可因應於使用者之選擇、使用者之狀況及/或通訊頻帶的狀態,而動態地切換要將元資訊接收到何種程度、或要將地圖資訊更新至何種程度。
在內容供給系統ex100中,客戶端可即時地接收使用者所傳送之已編碼的資訊,並進行解碼、播放。
[個人內容之發送] 又,在內容供給系統ex100中,不僅是來自影像發送業者之高畫質且長時間的內容,來自個人之低畫質且短時間的內容的單播(unicast)、或多播(multicast)發送也是可做到的。這種個人的內容被認為今後也會持續增加下去。為了將個人內容作成更優良之內容,伺服器亦可在進行編輯處理之後進行編碼處理。這可利用如例如以下之構成來實現。
伺服器是在攝影時即時或累積進行並於攝影後,從原圖資料或編碼完畢資料中進行攝影錯誤、場景搜尋、意義解析、及目標檢測等之辨識處理。並且,伺服器是依據辨識結果以手動或自動方式進行:補正失焦或手震等、刪除亮度比其他圖片更低或未聚焦之場景等重要性低的場景、強調目標之邊緣、使色調變化等之編輯。伺服器是依據編輯結果來對編輯後的資料進行編碼。又,當攝影時刻太長時收視率會下降的情況也是眾所皆知的,伺服器會依據圖像處理結果而以自動的方式如上述地不僅對重要性低之場景還有動態較少的場景等進行剪輯,以使其因應攝影時間成為特定的時間範圍內之內容。或者,伺服器亦可依據場景的意義解析的結果來生成摘錄並進行編碼。
在個人內容中,也有照原樣的話會有造成侵害著作權、著作人格權、或肖像權等之內容攝入的案例,也有當共享的範圍超過所意圖之範圍等對個人來說不方便的情況。據此,亦可進行例如伺服器將畫面周邊部之人的臉、或房子之中等特意變更為未聚焦之圖像並編碼。此外,伺服器亦可辨識是否有與事先登錄之人物不同的人物的臉照在編碼對象圖像內,並在有照出的情況下,進行將臉的部分打上馬賽克等之處理。或者,亦可作為編碼的前處理或後處理,而從著作權等之觀點來讓使用者於圖像中指定想要加工之人物或背景區域。伺服器亦可進行將所指定的區域替換為另外的影像、或使焦點模糊等之處理。如果是人物,可以在動態圖像中追蹤人物,並替換人物的臉的部分的影像。
由於資料量較小之個人內容的視聽對即時性的要求較強,因此,雖然也會取決於頻帶寬度,但解碼裝置亦可首先最優先地接收基本層並進行解碼及播放。解碼裝置亦可在這段期間內接收增強層,且於循環放之情形等播放2次以上的情形下,將增強層也包含在內來播放高畫質的影像。只要是像這樣可進行可調整之編碼的流,就可以提供一種雖然在未選擇時或初次看到的階段是粗略的動態圖,但流會逐漸智能化(smart)而使圖像變好的體驗。除了可調式編碼以外,即使以第1次播放之粗略的流、與參照第1次之動態圖而編碼之第2次的流作為1個流來構成也可以提供同樣的體驗。
[其他實施應用例] 又,這些編碼或解碼處理一般是在各終端所具有之LSIex500中處理。LSI(大型積體電路,large scale integration circuitry)ex500(參照圖51)可為單晶片(one chip),亦可為由複數個晶片形成之構成。再者,亦可將動態圖像編碼或解碼用的軟體安裝到可以在電腦ex111等讀取之某種記錄媒體(CD-ROM、軟式磁碟(flexible disk)、或硬碟等),並使用該軟體來進行編碼或解碼處理。此外,在智慧型手機ex115為附有相機的情況下,亦可傳送以該相機取得之動態圖資料。此時的動態圖資料亦可為以智慧型手機ex115所具有的LSIex500來編碼處理之資料。
再者,LSIex500亦可為將應用軟體下載並啟動(activate)之構成。此時,終端首先是判定該終端是否對應於內容之編碼方式、或者是否具有特定服務的執行能力。在終端並未對應於內容之編碼方式時、或者不具有特定服務之執行能力的情況下,終端亦可下載編碼解碼器或應用軟體,然後,取得及播放內容。
又,不限於透過網際網路ex101之內容供給系統ex100,在數位播放用系統中也可以安裝上述各實施形態之至少動態圖像編碼裝置(圖像編碼裝置)或動態圖像解碼裝置(圖像解碼裝置)之任一個。由於是利用衛星等來將已使影像與聲音被多工化之多工資料乘載於播送用的電波來進行傳送接收,因此會有相對於內容供給系統ex100之容易形成單播的構成更適合多播的差別,但有關於編碼處理及解碼處理仍可為同樣之應用。
[硬體構成] 圖56是顯示圖51所示之智慧型手機ex115的更詳細內容的圖。又,圖57是顯示智慧型手機ex115的構成例的圖。智慧型手機ex115具備:用於在與基地台ex110之間傳送接收電波的天線ex450、可拍攝影像及靜態圖之相機部ex465、與顯示已將以相機部ex465所拍攝到之影像及以天線ex450所接收到之影像等解碼之資料的顯示部ex458。智慧型手機ex115更具備:觸控面板等即操作部ex466、用於輸出聲音或音響之揚聲器等即聲音輸出部ex457、用於輸入聲音之麥克風等即聲音輸入部ex456、可保存所攝影之影像或靜態圖、錄音之聲音、接收之影像或靜態圖、郵件等之已編碼的資料、或已解碼的資料的記憶體部ex467、與作為與SIMex468之間的介面部即插槽部ex464,前述SIMex468是用於特定出使用者,且以網路為首進行對各種資料的存取之認證。再者,亦可取代記憶體部ex467而使用外接記憶體。
可透過同步匯流排ex470而將可統合地控制顯示部ex458及操作部ex466等之主控制部ex460,與電源電路部ex461、操作輸入控制部ex462、影像訊號處理部ex455、相機介面部ex463、顯示器控制部ex459、調變/解調部ex452、多工/分離部ex453、聲音訊號處理部ex454、插槽部ex464、及記憶體部ex467相連接。
電源電路部ex461在藉由使用者之操作而將電源鍵設成開啟狀態後,是將智慧型手機ex115起動為可運作之狀態,並從電池組(battery pack)對各部供給電力。
智慧型手機ex115是依據具有CPU、ROM及RAM等之主控制部ex460的控制,來進行通話及資料通訊等之處理。通話時,是以聲音訊號處理部ex454將以聲音輸入部ex456所收音之聲音訊號轉換為數位聲音訊號,並以調變/解調部ex452施行展頻處理,接著以傳送/接收部ex451施行數位類比轉換處理及頻率轉換處理,並透過天線ex450傳送其結果之訊號。又,將接收資料放大且施行頻率轉換處理及類比數位轉換處理,並以調變/解調部ex452進行解展頻處理,接著以聲音訊號處理部ex454轉換為類比聲音訊號後,由聲音輸出部ex457將其輸出。在資料通訊模式時,可依據本體部之操作部ex466等的操作,透過操作輸入控制部ex462並在主控制部ex460的控制下將正文(text)、靜態圖、或影像資料送出。且進行同樣的傳送接收處理。在資料通訊模式時傳送影像、靜態圖、或影像與聲音的情形下,影像訊號處理部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為例進行了說明,但可作為終端而被考慮的有以下之其他組裝形式:除了具有編碼器及解碼器兩者之傳送接收型終端以外,還有僅具有編碼器之傳送終端、以及僅具有解碼器之接收終端。已作為在數位播放用系統中接收或傳送已在影像資料中將聲音資料多工化之多工資料來說明。但是,在多工資料中,亦可除了聲音資料以外還將與影像有關聯的文字資料等多工化。又,亦可接收或傳送影像資料本身而非多工資料。
再者,雖然是設為使包含CPU之主控制部ex460控制編碼或解碼處理並進行了說明,但各種終端大多也會具備GPU。因此,亦可為藉由在CPU與GPU已共通的記憶體、或將位址管理成可以共通地使用的記憶體,來活用GPU之性能而將較寬廣區域一併處理的構成。藉此可以縮短編碼時間,確保即時性,而可以實現低延遲。特別是對運動搜尋、去塊濾波(deblock filter)、SAO(取樣自適應偏移,Sample Adaptive Offset)、及轉換、量化之處理,若在不是利用CPU而是利用GPU並以圖片等單位來一併進行時,是有效率的。 產業上之可利用性
本揭示可在例如電視接收器、數位錄影機、汽車導航系統、行動電話、數位相機、數位攝影機、視訊會議系統或電子鏡子等方面利用。
10~23,A,B,C,D,E,F,G:區塊 100:編碼裝置 102:分割部 104:減法部 106:轉換部 108:量化部 110:熵編碼部 112,204:逆量化部 114,206:逆轉換部 116,208:加法部 118,210:區塊記憶體 120,212:環路濾波部 122,214:幀記憶體 124,216:幀內預測部 126,218:幀間預測部 128,220:預測控制部 200:解碼裝置 202:熵解碼部 1201:邊界判定部 1202,1204,1206:開關 1203:濾波判定部 1205:濾波處理部 1207:濾波特性決定部 1208:處理判定部 a1,b1:處理器 a2,b2:記憶體 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:匯流排 MV,MV0,MV1,MV_L,MV_U,v0,v1,v2:運動向量 Pred,Pred_L,Pred_U:預測圖像 Ref0,Ref1:參照圖片 Sa_1~Sa_10,Sb_1,Sc_1a,Sc_1b,Sc_1c,Sc_2,Sd_1a,Sd_1b,Sd_2,Sd_3,Se_1~Se_4,Sf_1~Sf_5,Sg_1~Sg_5,Sh_1~Sh_3,Si_1,Si_2,Si_4,Si_5,Sj_1~Sj_6,Sk_1~Sk_3,Sl_1~Sl_4,Sm_1,Sm_2,Sn_1~Sn_5,So_1~So_4,Sp_1~Sp_7,Sq_1,Sr_1,Sr_2a,Sr_2b,Sr_2c,Ss_1~Ss_5,S1001~S1004,S1001X:步驟 TD0,TD1:距離
圖1是顯示實施形態1之編碼裝置的功能構成的方塊圖。 圖2是顯示編碼裝置所進行的整體的編碼處理之一例的流程圖。 圖3是顯示區塊分割之一例的概念圖。 圖4A是顯示片段的構成之一例的概念圖。 圖4B是顯示圖塊的構成之一例的概念圖。 圖5A是顯示對應於各種轉換類型的轉換基底函數的表格。 圖5B是顯示SVT(空間變化轉換,Spatially Varying Transform)之一例的概念圖。 圖6A是顯示在ALF(自適應環路濾波器,adaptive loop filter)中所使用的濾波器的形狀之一例的概念圖。 圖6B是顯示在ALF中所使用的濾波器的形狀的其他之一例的概念圖。 圖6C是顯示在ALF中所使用的濾波器的形狀的其他之一例的概念圖。 圖7是顯示作為DBF(去區塊濾波器,deblocking filter)而發揮功能的環路濾波部的詳細構成之一例的方塊圖。 圖8是顯示相對於區塊邊界具有對稱的濾波特性的去區塊濾波器之例子的概念圖。 圖9是用於說明進行去區塊濾波處理的區塊邊界的概念圖。 圖10是顯示Bs值之一例的概念圖。 圖11是顯示在編碼裝置的預測處理部中所進行的處理之一例的流程圖。 圖12是顯示在編碼裝置的預測處理部中所進行的處理之其他例的流程圖。 圖13是顯示在編碼裝置的預測處理部中所進行的處理之其他例的流程圖。 圖14是顯示實施形態的幀內預測中的67個幀內預測模式之一例的概念圖。 圖15是顯示幀間預測的基本處理的流程之一例的流程圖。 圖16是顯示運動向量導出之一例的流程圖。 圖17是顯示運動向量導出之其他例的流程圖。 圖18是顯示運動向量導出之其他例的流程圖。 圖19是顯示由常規幀間模式所進行的幀間預測之例的流程圖。 圖20是顯示由合併模式所進行的幀間預測之例的流程圖。 圖21是用於說明由合併模式所進行之運動向量導出處理之一例的概念圖。 圖22是顯示FRUC(幀率提升轉換,frame rate up conversion)處理之一例的流程圖。 圖23是用於說明沿著運動軌跡的2個區塊間的型樣匹配(雙向匹配)之一例的概念圖。 圖24是用於說明在當前圖片內的模板與參照圖片內的區塊之間的型樣匹配(模板匹配)之一例的概念圖。 圖25A是用於說明依據複數個相鄰區塊的運動向量之子區塊單位的運動向量的導出之一例的概念圖。 圖25B是用於說明具有3個控制點的仿射模式中的子區塊單位的運動向量的導出之一例的概念圖。 圖26A是用於說明仿射合併模式的概念圖。 圖26B是用於說明具有2個控制點之仿射合併模式的概念圖。 圖26C是用於說明具有3個控制點之仿射合併模式的概念圖。 圖27是顯示仿射合併模式的處理之一例的流程圖。 圖28A是用於說明具有2個控制點的仿射幀間模式的概念圖。 圖28B是用於說明具有3個控制點的仿射幀間模式的概念圖。 圖29是顯示仿射幀間模式的處理之一例的流程圖。 圖30A是用於說明當前區塊具有3個控制點,且相鄰區塊具有2個控制點之仿射幀間模式的概念圖。 圖30B是用於說明當前區塊具有2個控制點,且相鄰區塊具有3個控制點之仿射幀間模式的概念圖。 圖31A是顯示包含DMVR(解碼器運動向量精化,decoder motion vector refinement)的合併模式的流程圖。 圖31B是用於說明DMVR處理之一例的概念圖。 圖32是顯示預測圖像的生成之一例的流程圖。 圖33是顯示預測圖像的生成之其他例的流程圖。 圖34是顯示預測圖像的生成之其他例的流程圖。 圖35是用於說明由OBMC(重疊區塊運動補償,overlapped block motion compensation)處理所進行之預測圖像補正處理之一例的流程圖。 圖36是用於說明由OBMC處理所進行之預測圖像補正處理之一例的概念圖。 圖37是用於說明2個三角形的預測圖像的生成的概念圖。 圖38是用於說明假設了等速直線運動之模型的概念圖。 圖39是用於說明使用了由LIC(局部照度補償,local illumination compensation)處理所進行之亮度補正處理的預測圖像生成方法之一例的概念圖。 圖40是顯示編碼裝置之組裝例的方塊圖。 圖41是顯示實施形態之解碼裝置的功能構成的方塊圖。 圖42是顯示由解碼裝置所進行之整體的解碼處理之一例的流程圖。 圖43是顯示在解碼裝置的預測處理部中所進行的處理之一例的流程圖。 圖44是顯示在解碼裝置的預測處理部中所進行的處理之其他例的流程圖。 圖45是顯示解碼裝置中的由常規幀間模式所進行的幀間預測之例的流程圖。 圖46是顯示解碼裝置的組裝例的方塊圖。 圖47是顯示實施形態中的內插濾波器決定處理之一例的流程圖。 圖48是顯示實施形態中的第1內插濾波器之一例的圖。 圖49是顯示實施形態中的第2內插濾波器之一例的圖。 圖50是顯示可適用實施形態中已決定的內插濾波器的區塊之一例的圖。 圖51是實現內容發送服務(content delivery service)的內容供給系統的整體構成的方塊圖。 圖52是顯示可調式編碼時之編碼構造之一例的概念圖。 圖53是顯示可調式編碼時之編碼構造之一例的概念圖。 圖54是顯示網頁的顯示畫面例的概念圖。 圖55是顯示網頁的顯示畫面例的概念圖。 圖56是顯示智慧型手機之一例的方塊圖。 圖57是顯示智慧型手機之構成例的方塊圖。
S1001~S1004,S1001X:步驟

Claims (12)

  1. 一種編碼裝置,是對圖像中所包含的編碼對象區塊進行編碼的編碼裝置,其具備:電路;及記憶體,連接於前述電路,前述電路在動作中是進行以下步驟:,依據運動向量,生成整數像素單位的第1預測圖像;藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據前述第2預測圖像,對前述編碼對象區塊進行編碼,在前述內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭數和前述第1內插濾波器不同的內插濾波器,前述編碼對象區塊為仿射模式的子區塊。
  2. 如請求項1之編碼裝置,其中在前述內插濾波器的切換中,是進行以下步驟:判定前述編碼對象區塊的尺寸是否比閾值尺寸更大;在前述編碼對象區塊的尺寸比前述閾值尺寸更大的情況下,將使用於前述編碼對象區塊的運動補償的內插濾波器決定為前述第1內插濾波器;在前述編碼對象區塊的尺寸未比前述閾值尺寸更大的情況下,將使用於前述編碼對象區塊的運動補償的內插濾波器決定為前述第2內插濾波器;及使用已決定的前述內插濾波器,生成前述第2預測圖像,前述第2內插濾波器具有比前述第1內插濾波器更短的抽頭。
  3. 如請求項2之編碼裝置,其中前述第1內插濾波器為8抽頭濾波器。
  4. 如請求項2之編碼裝置,其中前述第2內插濾波器為6抽頭濾波器。
  5. 如請求項2之編碼裝置,其中前述閾值尺寸為4x4像素尺寸。
  6. 一種解碼裝置,是對圖像中所包含的解碼對象區塊進行解碼的解碼裝置,其具備:電路;及記憶體,連接於前述電路,前述電路在動作中是進行以下步驟:依據運動向量,生成整數像素單位的第1預測圖像;藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據前述第2預測圖像,對前述解碼對象區塊進行解碼,在前述內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭數和前述第1內插濾波器不同的內插濾波器,前述解碼對象區塊為仿射模式的子區塊。
  7. 如請求項6之解碼裝置,其中在前述內插濾波器的切換中,是進行以下步驟:判定前述解碼對象區塊的尺寸是否比閾值尺寸更大;在前述解碼對象區塊的尺寸比前述閾值尺寸更大的情況下,將使用於前述解碼對象區塊的運動補償的內插濾波器決定為前述第1內插濾波器;在前述解碼對象區塊的尺寸未比前述閾值尺寸更大的情況下,將使用於前述解碼對象區塊的運動補償的內插濾波器決定為前述第2內插濾波器;及使用已決定的前述內插濾波器,生成前述第2預測圖像,又,前述第2內插濾波器具有比前述第1內插濾波器更短的抽頭。
  8. 如請求項7之解碼裝置,其中前述第1內插濾波器為8抽頭濾波器。
  9. 如請求項7之解碼裝置,其中前述第2內插濾波器為6抽頭濾波器。
  10. 如請求項7之解碼裝置,其中前述閾值尺寸為4x4像素尺寸。
  11. 一種編碼方法,是對圖像的編碼對象區塊進行編碼,並進行以下步驟:依據運動向量,生成整數像素單位的第1預測圖像;藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據前述第2預測圖像,對前述編碼對象區塊進行編碼,在前述內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭數和前述第1內插濾波器不同的內插濾波器,前述編碼對象區塊為仿射模式的子區塊。
  12. 一種解碼方法,是對圖像的解碼對象區塊進行解碼,並進行以下步驟:依據運動向量,生成整數像素單位的第1預測圖像;藉由使用內插濾波器對前述第1預測圖像所包含的複數個整數像素之間的小數像素位置之值進行內插,而生成第2預測圖像;及依據前述第2預測圖像,對前述解碼對象區塊進行解碼,在前述內插濾波器的使用中,是切換第1內插濾波器與第2內插濾波器而使用,且前述第2內插濾波器是抽頭數和前述第1內插濾波器不同的內插濾波器,前述解碼對象區塊為仿射模式的子區塊。
TW108147401A 2018-12-31 2019-12-24 編碼裝置、解碼裝置、編碼方法、及解碼方法 TWI835963B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862786935P 2018-12-31 2018-12-31
US62/786,935 2018-12-31

Publications (2)

Publication Number Publication Date
TW202032984A TW202032984A (zh) 2020-09-01
TWI835963B true TWI835963B (zh) 2024-03-21

Family

ID=71406838

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108147401A TWI835963B (zh) 2018-12-31 2019-12-24 編碼裝置、解碼裝置、編碼方法、及解碼方法
TW113106079A TW202425641A (zh) 2018-12-31 2019-12-24 編碼裝置、解碼裝置、編碼方法、及解碼方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW113106079A TW202425641A (zh) 2018-12-31 2019-12-24 編碼裝置、解碼裝置、編碼方法、及解碼方法

Country Status (10)

Country Link
US (4) US11394968B2 (zh)
EP (1) EP3907990A4 (zh)
JP (2) JPWO2020141591A1 (zh)
KR (1) KR20210107624A (zh)
CN (1) CN113056909A (zh)
BR (1) BR112021009596A2 (zh)
CA (1) CA3119646A1 (zh)
MX (1) MX2021005170A (zh)
TW (2) TWI835963B (zh)
WO (1) WO2020141591A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118450122A (zh) * 2019-03-11 2024-08-06 松下电器(美国)知识产权公司 比特流的发送装置、比特流的发送方法和非暂时性存储介质
JP7303456B2 (ja) * 2019-06-21 2023-07-05 日本電信電話株式会社 符号化装置、符号化方法及びプログラム
US11570479B2 (en) * 2020-04-24 2023-01-31 Samsung Electronics Co., Ltd. Camera module, image processing device and image compression method
WO2023200381A1 (en) * 2022-04-12 2023-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced interpolation filtering
WO2024117693A1 (ko) * 2022-11-29 2024-06-06 현대자동차주식회사 아핀 모델 기반의 예측에서 움직임 보상 필터를 적응적으로 이용하는 비디오 코딩을 위한 방법 및 장치
WO2024119488A1 (zh) * 2022-12-09 2024-06-13 Oppo广东移动通信有限公司 视频编解码方法、解码器、编码器及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040213470A1 (en) * 2002-04-25 2004-10-28 Sony Corporation Image processing apparatus and method
US20100074332A1 (en) * 2008-09-23 2010-03-25 Qualcomm Incorporated Offset calculation in switched interpolation filters

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101369746B1 (ko) * 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
US9077971B2 (en) * 2008-04-10 2015-07-07 Qualcomm Incorporated Interpolation-like filtering of integer-pixel positions in video coding
JP5571542B2 (ja) * 2010-12-22 2014-08-13 日本電信電話株式会社 映像符号化方法、及び映像復号方法
US20120230407A1 (en) * 2011-03-11 2012-09-13 General Instrument Corporation Interpolation Filter Selection Using Prediction Index
WO2012125452A1 (en) * 2011-03-16 2012-09-20 General Instrument Corporation Interpolation filter selection using prediction unit (pu) size
JP5711098B2 (ja) * 2011-11-07 2015-04-30 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
JP5833757B2 (ja) * 2012-07-09 2015-12-16 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及び記録媒体
US10986367B2 (en) 2016-11-04 2021-04-20 Lg Electronics Inc. Inter prediction mode-based image processing method and apparatus therefor
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
US10841610B2 (en) * 2017-10-23 2020-11-17 Avago Technologies International Sales Pte. Limited Block size dependent interpolation filter selection and mapping
EP3741121B1 (en) * 2018-02-14 2024-09-25 Huawei Technologies Co., Ltd. Adaptive interpolation filter
WO2019188464A1 (ja) * 2018-03-30 2019-10-03 ソニー株式会社 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
EP3766247A4 (en) * 2018-04-02 2022-01-19 MediaTek Inc. VIDEO PROCESSING METHODS AND APPARATUS FOR SUBBLOCK MOTION COMPENSATION IN VIDEO CODING SYSTEMS
CN111436227B (zh) * 2018-11-12 2024-03-29 北京字节跳动网络技术有限公司 在视频处理中使用组合帧间-帧内预测

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040213470A1 (en) * 2002-04-25 2004-10-28 Sony Corporation Image processing apparatus and method
US20100074332A1 (en) * 2008-09-23 2010-03-25 Qualcomm Incorporated Offset calculation in switched interpolation filters

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 Sri Nitchith Akula et.al Description of SDR, HDR and 360° video coding technology proposal considering mobile application scenario by Samsung, Huawei, GoPro, and HiSilicon Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US 10–20 Apr. 2018 https://jvet-experts.org/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0024-v5.zip *

Also Published As

Publication number Publication date
MX2021005170A (es) 2021-07-15
TW202032984A (zh) 2020-09-01
US20210274172A1 (en) 2021-09-02
US12081749B2 (en) 2024-09-03
JPWO2020141591A1 (ja) 2021-10-21
WO2020141591A1 (ja) 2020-07-09
US20220329793A1 (en) 2022-10-13
BR112021009596A2 (pt) 2021-08-10
EP3907990A1 (en) 2021-11-10
EP3907990A4 (en) 2022-03-23
US20240357103A1 (en) 2024-10-24
US11394968B2 (en) 2022-07-19
US11722662B2 (en) 2023-08-08
CN113056909A (zh) 2021-06-29
US20230300327A1 (en) 2023-09-21
TW202425641A (zh) 2024-06-16
KR20210107624A (ko) 2021-09-01
JP2023068203A (ja) 2023-05-16
CA3119646A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
KR102648038B1 (ko) 부호화 장치, 복호 장치, 부호화 방법, 및 복호 방법
TWI835963B (zh) 編碼裝置、解碼裝置、編碼方法、及解碼方法
TWI840475B (zh) 編碼裝置、解碼裝置、編碼方法及解碼方法
WO2019240050A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
JP7560586B2 (ja) 符号化方法および復号方法
CN113170103A (zh) 编码装置、解码装置、编码方法和解码方法
WO2020162536A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
TWI813740B (zh) 編碼裝置、解碼裝置、編碼方法及解碼方法
JP2024087004A (ja) ビットストリームを保存する非一時的記憶媒体
WO2020162534A1 (ja) 符号化装置、復号装置、符号化方法、および復号方法
WO2020031902A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
KR20210122782A (ko) 부호화 장치, 복호 장치, 부호화 방법, 및 복호 방법
KR20210052464A (ko) 부호화 장치, 복호 장치, 부호화 방법, 및 복호 방법
TWI846782B (zh) 編碼裝置及解碼裝置
WO2020050281A1 (ja) 符号化装置、復号装置、符号化方法、および復号方法
CN114175639A (zh) 编码装置、解码装置、编码方法和解码方法
TWI850330B (zh) 編碼裝置及解碼裝置
TWI852987B (zh) 編碼裝置及解碼裝置
TWI850328B (zh) 編碼裝置及解碼裝置
TWI859147B (zh) 編碼方法及解碼方法
WO2020031923A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
KR20220024007A (ko) 부호화 장치, 복호 장치, 부호화 방법, 및 복호 방법
JP2024096271A (ja) 符号化装置、符号化方法、復号装置、および復号方法
TW202431854A (zh) 編碼裝置、解碼裝置及非暫時性電腦可讀取之媒體