TWI437888B - 混合分接頭濾波器 - Google Patents

混合分接頭濾波器 Download PDF

Info

Publication number
TWI437888B
TWI437888B TW100112669A TW100112669A TWI437888B TW I437888 B TWI437888 B TW I437888B TW 100112669 A TW100112669 A TW 100112669A TW 100112669 A TW100112669 A TW 100112669A TW I437888 B TWI437888 B TW I437888B
Authority
TW
Taiwan
Prior art keywords
pixel
sub
filter
interpolation filter
interpolation
Prior art date
Application number
TW100112669A
Other languages
English (en)
Other versions
TW201220854A (en
Inventor
Rajan L Joshi
Marta Karczewicz
Wei Jung Chien
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201220854A publication Critical patent/TW201220854A/zh
Application granted granted Critical
Publication of TWI437888B publication Critical patent/TWI437888B/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/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/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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

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

混合分接頭濾波器
本發明係關於數位視訊編碼及解碼,且更特定而言,係關於經應用以產生視訊編碼及解碼中所使用之預測性資料的濾波技術。
本申請案主張以下申請案之權利:2010年4月12日申請之美國臨時申請案第61/323,250號;2010年6月2日申請之美國臨時申請案第61/350,743號;及2010年7月2日申請之美國臨時申請案第61/361,188號,該等申請案中之每一者的全部內容以引用之方式併入本文中。
數位視訊能力可併入至廣泛範圍之器件中,包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板型電腦、數位相機、數位記錄器件、視訊遊戲器件、視訊遊戲控制台、蜂巢式或衛星無線電電話、智慧型電話及其類似者。數位視訊器件實施視訊壓縮技術,諸如在由MPEG-2、MPEG-4、或ITU-T H.264/MPEG-4第10部分(進階視訊編碼(AVC))定義之標準中所描述的視訊壓縮技術,以較有效地傳輸及接收數位視訊資訊。視訊壓縮技術可執行空間預測及/或時間預測以減少或移除視訊序列中所固有之冗餘。
基於區塊之框間編碼為非常有用之編碼技術,其依賴於時間預測以減少或移除視訊序列之連續經編碼之單元的視訊區塊之間的時間冗餘。該等經編碼之單元可包含視訊圖框、視訊圖框之片段(slice)、圖片之群組或經編碼之視訊區塊的另一經定義之單元。對於框間編碼而言,視訊編碼器執行運動估計及運動補償以追蹤兩個或兩個以上鄰近經編碼之單元之相應視訊區塊的移動。運動估計產生運動向量,其指示視訊區塊相對於一或多個參考圖框或其他經編碼之單元中之相應預測視訊區塊的位移。運動補償使用該等運動向量以自該一或多個參考圖框或其他經編碼之單元產生預測視訊區塊。在運動補償後,藉由自正編碼之原始視訊區塊減去預測視訊區塊來形成殘餘視訊區塊。
視訊編碼器亦可應用變換、量化及熵編碼程序來進一步減少與殘餘區塊之通信相關聯的位元率。變換技術可包含離散餘弦變換(DCT)或概念上類似之程序。或者,可使用小波變換、整數變換或其他類型之變換。在DCT程序中,作為實例,將一組像素值轉換成變換係數,其可表示該等像素值在頻域中之能量。將量化應用於該等變換係數,且量化大體上涉及減少與任何給定變換係數相關聯之位元之數目的程序。熵編碼包含共同地壓縮一連串編碼模式、運動資訊、經編碼之區塊型樣及經量化之變換係數的一或多個程序。熵編碼之實例包括(但不限於)內容適應性可變長度編碼(CAVLC)及內容脈絡適應性二進位算術編碼(CABAC)。
一經編碼之視訊區塊可藉由可用以產生或識別一預測性區塊之預測資訊及指示正編碼之區塊與該預測性區塊之間的差異之殘餘資料區塊來表示。該預測資訊可包含用以識別預測性資料區塊之一或多個運動向量。給定該等運動向量,則解碼器能夠重建構用以編碼殘餘區塊的預測性區塊。因此,給定殘餘區塊之一集合及運動向量之一集合(且可能給定一些額外語法),則解碼器可重建構原始編碼之視訊圖框。基於運動估計及運動補償之框間編碼可達成極好之壓縮,此係因為連續視訊圖框或其他類型之經編碼之單元通常非常類似。經編碼之視訊序列可包含殘餘資料區塊、運動向量且可能包含其他類型之語法。
已開發出內插技術以便改良可在框間編碼中達成之壓縮的等級。在此種狀況下,可自運動估計中所使用之視訊圖框或其他經編碼之單元之視訊區塊的像素來內插在運動補償期間所產生之預測性資料(其用以編碼視訊區塊)。通常執行內插以產生預測性半像素(半圖元)值及預測性四分之一像素(四分之一圖元)值。半圖元及四分之一圖元值與子像素位置相關聯。可使用分數運動向量以子像素解析度來識別視訊區塊以便俘獲視訊序列中之分數移動,且藉此提供比整體視訊區塊更類似於正編碼之視訊區塊的預測性區塊。
大體而言,本發明描述在視訊編碼及/或解碼程序之預測階段期間由編碼器及解碼器應用之濾波技術。所描述之濾波技術的態樣可增強在分數內插期間所使用之預測性資料的準確度,且在一些狀況下,可改良像素之整體區塊的預測性資料。存在針對本發明之若干態樣,包括使用用於指向特定子像素位置之特定運動向量的相對較長濾波器及用於指向其他子位置位置之運動向量的相對較短濾波器。
為了設計具有良好頻率回應之濾波器以達成內插目的,可能需要使用相對較長濾波器(例如,替代6個係數或分接頭而使用8個係數或分接頭)。該等較長濾波器可以較大計算複雜性為代價來改良視訊編碼器之壓縮效率。為了獲得較長濾波器情況下之較佳效能的益處而無計算複雜性之大的增加,本發明中所描述之技術包括使用長濾波器與短濾波器之混合濾波器。舉例而言,若運動向量指向需要單一濾波之位置,則可使用8分接頭濾波器。對於需要兩個濾波操作之位置而言,可使用6分接頭濾波器。因此,最壞狀況下之複雜性仍由6分接頭濾波器進行之兩個濾波器操作限制,此情形與在H.264標準之狀況下相同,但與H.264標準相比,使用8分接頭濾波器可產生經改良之預測性資料。
本發明之其他態樣關於用於編碼位元串流中之資訊以傳送濾波器之類型及可能所使用之濾波器係數的技術。本發明之此等及其他態樣將自以下描述而變得顯而易見。
在一實例中,本發明提供一種方法,該方法包括:獲得一像素區塊,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值;計算一第一子像素位置之一第一子像素值,其中計算該第一子像素值包含應用一第一內插濾波器,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;計算一第二子像素位置之一第二子像素值,其中計算該第二子像素值包含應用一第二內插濾波器及應用一第三內插濾波器,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的一第三一維陣列,其中:該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波器係數;及基於至少該第一子像素值及該第二子像素值來產生一預測區塊。
在另一實例中,本發明提供一種裝置,該裝置包括一預測單元,該預測單元經組態以進行以下操作:獲得一像素區塊,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值;計算一第一子像素值及一第二子像素值,其中一第一子像素值係藉由應用一第一內插濾波器而計算,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;一第二子像素值係藉由應用一第二內插濾波器及應用一第三內插濾波器來計算,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的一第三一維陣列;該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波器係數;及基於至少該第一子像素值及該第二子像素值來產生一預測區塊。
在另一實例中,本發明提供一種裝置,該裝置包括:用於獲得一像素區塊的構件,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值;用於計算一第一子像素位置之一第一子像素值的構件,其中計算該第一子像素值包含應用一第一內插濾波器,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;用於計算一第二子像素位置之一第二子像素值的構件,其中計算該第二子像素值包含應用一第二內插濾波器及應用一第三內插濾波器,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的一第三一維陣列,其中:該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波器係數;及用於基於至少該第一子像素值及該第二子像素值來產生一預測區塊的構件。
本發明中所描述之技術可以硬體、軟體、韌體、或其任何組合來實施。若以軟體實施,則可在一或多個處理器(諸如,微處理器、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或數位信號處理器(DSP))中執行軟體。執行該等技術之軟體可最初儲存於電腦可讀媒體中且載入於處理器中且在處理器中執行。
因此,本發明亦預期一種有形地儲存一或多個指令之非暫時性電腦可讀儲存媒體,該一或多個指令在由一或多個處理器執行時使該一或多個處理器進行以下操作:獲得一像素區塊,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值;計算一第一子像素位置之一第一子像素值,其中計算該第一子像素值包含應用一第一內插濾波器,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;計算一第二子像素位置之一第二子像素值,其中計算該第二子像素值包含應用一第二內插濾波器及應用一第三內插濾波器,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的一第三一維陣列,其中:該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波器係數;及基於至少該第一子像素值及該第二子像素值來產生一預測區塊。
本發明之一或多個態樣之細節係闡述於隨附圖式及以下描述中。該等技術之其他特徵、目標及優勢將自該描述及圖式且自[申請專利範圍]顯而易見。
本發明描述在視訊編碼及/或解碼程序之預測階段期間由編碼器及解碼器應用之濾波技術。所描述之濾波技術可改良分數內插期間所使用之預測性資料的準確度,且在一些狀況下,可改良整體像素區塊之預測性資料。存在針對本發明之若干態樣,包括用於指向特定子像素位置之特定運動向量的相對較長濾波器及用於指向其他子像素位置之運動向量的相對較短濾波器之使用。較長濾波器大體上指代具有較大數目個濾波器係數(亦稱為分接頭)之內插濾波器,而較短濾波器大體上指代具有較少分接頭之內插濾波器。大體而言,片語「較長濾波器」及「較短濾波器」為意謂較長濾波器長於較短濾波器且較短濾波器短語較長濾波器的相對術語。然而,此等片語並不另外需要任何特定長度,只要較長濾波器長於較短濾波器且較短濾波器短於較長濾波器即可。舉例而言,若參考8分接頭濾波器及6分接頭濾波器,則8分接頭濾波器將為較長濾波器,且6分接頭濾波器將為較短濾波器。然而,若參考8分接頭濾波器及10分接頭濾波器,則8分接頭濾波器將為較短濾波器。
與具有較少分接頭之濾波器相比,具有較多分接頭之濾波器大體上提供較佳頻率回應以達成內插目的。舉例而言,具有8個分接頭之濾波器大體上產生比具有6個分接頭之濾波器好之頻率回應。與較短濾波器相比,較長濾波器可以較大計算複雜性為代價來改良視訊編碼器之壓縮效率。為了獲得在較長濾波器情況下之較佳效能的益處而無計算複雜性之大的增加,本發明之態樣包括使用長濾波器與短濾波器之混合濾波器。舉例而言,若運動向量指向需要單一濾波操作之子像素位置,則可使用8分接頭濾波器。對於需要兩個濾波操作之子像素位置而言,可使用較短濾波器(諸如,兩個6分接頭濾波器)。因此,只要較短濾波器與較長濾波器之間的分接頭數目之差異不會過大,則最壞狀況下之複雜性仍大體上由較短濾波器進行之兩個濾波器操作來限制。
圖1為說明可用以實施本發明之態樣之例示性視訊編碼及解碼系統10的方塊圖。如圖1中所展示,系統10包括源器件12,該源器件12經由通信頻道15將經編碼之視訊資料傳輸至目的地器件16。源器件12及目的地器件16可包含廣泛範圍之器件中的任一者。在一些狀況下,源器件12及目的地器件16包含無線通信器件,諸如,無線手機、所謂的蜂巢式或衛星無線電電話,或可經由通信頻道15傳達視訊資訊的任何無線器件,在該情形下通信頻道15為無線的。然而,本發明之技術(其關於預測性編碼期間之預測性資料之濾波及產生)未必限於無線應用或設定。因此,本發明之態樣亦可用於廣泛範圍之其他設定及器件中,包括經由實體電線、光纖或其他實體或無線媒體通信之器件。另外,該等編碼或解碼技術亦可應用於未必與任何其他器件通信的獨立器件中。
在圖1之實例中,源器件12可包括視訊源20、視訊編碼器22、調變器/解調變器(數據機)23及傳輸器24。目的地器件16可包括接收器26、數據機27、視訊解碼器28及顯示器件30。根據本發明,源器件12之視訊編碼器22可經組態以應用本發明之技術中之一或多者作為視訊編碼程序之部分。類似地,目的地器件16之視訊解碼器28可經組態以應用本發明之技術中之一或多者作為視訊解碼程序之部分。
此外,圖1之所說明系統10僅為例示性的。本發明之各種技術可由支援基於區塊之預測性編碼的任何編碼器件或由支援基於區塊之預測性解碼的任何解碼器件來執行。源器件12及目的地器件16僅為此等編碼器件之實例,其中源器件12產生用於傳輸至目的地器件16之經編碼之視訊資料。在一些狀況下,器件12、16可以實質上對稱之方式操作以使得器件12、16中之每一者包括視訊編碼及解碼組件。因此,系統10可支援視訊器件12、16之間的單向或雙向視訊傳輸(例如)以用於視訊串流傳輸、視訊回放、視訊廣播或視訊電話。
源器件12之視訊源20可包括諸如視訊相機之視訊俘獲器件、含有先前所俘獲視訊之視訊封存檔及/或來自視訊內容提供者之視訊饋入。作為另一替代例,視訊源20可產生基於電腦圖形之資料作為源視訊、或實況視訊、經封存之視訊及電腦產生之視訊的組合。在一些狀況下,若視訊源20為視訊相機,則源器件12與目的地器件16可形成所謂的相機電話或視訊電話。在每一狀況下,可藉由視訊編碼器22編碼經俘獲之視訊、預先俘獲之視訊或電腦產生之視訊。經編碼之視訊資訊可接著由數據機23根據通信標準(諸如,分碼多重存取(CDMA)或另一通信標準)來調變,且經由傳輸器24及通信頻道15傳輸至目的地器件16。數據機23可包括各種混頻器、濾波器、放大器或經設計用於信號調變之其他組件。傳輸器24可包括經設計以用於傳輸資料之電路,包括放大器、濾波器及一或多個天線。
目的地器件16之接收器26經由通信頻道15接收資訊,且數據機27解調變該資訊。如同傳輸器24,接收器26可包括經設計以用於接收資料之電路,包括放大器、濾波器及一或多個天線。在一些例子下,傳輸器24及/或接收器26可併入於包括接收電路及傳輸電路兩者之單一收發器組件內。數據機27可包括各種混頻器、濾波器、放大器或經設計以用於信號解調變之其他組件。在一些例子下,數據機23及27可包括用於執行調變及解調變兩者之組件。
此外,由視訊編碼器22執行之視訊編碼程序可在運動補償期間實施本文中所描述之技術中的一或多者。由視訊解碼器28執行之視訊解碼程序亦可在解碼程序之運動補償階段期間執行此等技術。術語「編碼器」在本文中用以指代執行視訊編碼或視訊解碼之專用電腦器件或裝置。術語「編碼器」大體上指代任何視訊編碼器、視訊解碼器或組合之編碼器/解碼器(編解碼器)。術語「編碼」指代編碼或解碼。顯示器件30向使用者顯示經解碼之視訊資料,且可包含多種顯示器件中之任一者,諸如,陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
在圖1之實例中,通信頻道15可包含任何無線或有線通信媒體(諸如,射頻(RF)頻譜或一或多個實體傳輸線),或無線及有線媒體之任何組合。通信頻道15可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全球網路)的部分。通信頻道15大體上表示用於將視訊資料自源器件12傳輸至目的地器件16之任何合適通信媒體或不同通信媒體之集合。通信頻道15可包括路由器、交換器、基地台或可用以促進自源器件12至目的地器件16之通信的任何其他設備。
視訊編碼器22及視訊解碼器28可根據一或多個視訊壓縮標準來操作,諸如,ITU-TH.264標準,替代地描述為MPEG-4第10部分(進階視訊編碼(AVC))。然而,本發明之技術不限於任何特定視訊編碼標準。儘管未展示於圖1中,但在一些態樣中,視訊編碼器22及視訊解碼器28可各自與音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體,以處置在共同資料串流或單獨資料串流中之音訊及視訊兩者的編碼。若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器22及視訊解碼器28各自可實施為一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體、或其任何組合。視訊編碼器22及視訊解碼器28中之每一者可包括於一或多個編碼器或解碼器中,其中之任一者可整合為各別行動器件、用戶器件、廣播器件、伺服器或其類似者中提供編碼及解碼能力的組合之編解碼器之部分。
一視訊序列通常包括一系列視訊圖框。視訊編碼器22對個別視訊圖框內之視訊區塊操作,以便編碼視訊資料。視訊區塊可具有固定或變化之大小,且可根據指定編碼標準而在大小方面不同。每一視訊圖框包括一系列片段。每一片段可包括可配置成子區塊之一系列巨集區塊。作為一實例,ITU-T H.264標準支援各種區塊大小(諸如,針對明度分量之16×16、8×8、4×4,及針對色度分量之8×8)之框內預測,以及各種區塊大小(諸如,針對明度分量之16×16、16×8、8×16、8×8、8×4、4×8及4×4及針對色度分量之對應按比例調整之大小)之框間預測。舉例而言,視訊區塊可包含像素資料之區塊或在變換程序(諸如,離散餘弦變換(DCT)或概念上類似之變換程序)之後的變換係數之區塊。
較小視訊區塊可提供較佳解析度,且可用於包括高層級細節之視訊圖框之定位。大體而言,可將巨集區塊及各種子區塊視為視訊區塊。另外,可將一片段視為一系列視訊區塊(諸如,巨集區塊及/或子區塊)。每一片段可為視訊圖框之可獨立解碼之單元。或者,圖框自身可為可解碼單元,或圖框之其他部分可被定義為可解碼單元。術語「經編碼之單元」指代視訊圖框之任何可獨立解碼之單元,諸如,整個圖框、圖框之片段或根據所使用之編碼技術定義的另一可獨立解碼之單元。
為了編碼視訊區塊,視訊編碼器22執行框內預測或框間預測以產生預測區塊。視訊編碼器22自待編碼之原始視訊區塊減去預測區塊以產生殘餘區塊。因此,殘餘區塊指示正編碼之區塊與預測區塊之間的差異。視訊編碼器22可對殘餘區塊執行變換以產生變換係數之區塊。在基於框內或基於框間之預測性編碼及變換技術之後,視訊編碼器22執行量化。量化大體上指代將係數量化以可能地減少用以表示該等係數之資料之量的程序。在量化之後,可根據熵編碼方法(諸如,內容脈絡適應性可變長度編碼(CAVLC)或內容脈絡適應性二進位算術編碼(CABAC))來執行熵編碼。以下將在圖2中更詳細地描述由視訊編碼器22執行之編碼程序之每一步驟的更多細節。
在目的地器件16中,視訊解碼器28接收經編碼之視訊資料。視訊解碼器28根據熵編碼方法(諸如,CAVLC或CABAC)熵解碼所接收視訊資料以獲得經量化之係數。視訊解碼器28應用逆量化(解量化)及逆變換功能以在像素域中重建構殘餘區塊。視訊解碼器28亦基於經編碼之視訊資料中所包括之控制資訊或語法資訊(例如,編碼模式、運動向量、定義濾波器係數之語法及其類似者)來產生預測區塊。視訊解碼器28對預測區塊與經重建構之殘餘區塊求和以產生經重建構之視訊區塊以供顯示。以下將參看圖10更詳細地描述由視訊解碼器28執行之解碼程序之每一步驟的更多細節。
根據本發明之態樣,視訊編碼器22及視訊解碼28可在運動補償期間使用一或多種內插濾波技術。詳言之,根據本發明之一態樣,視訊編碼器22及/或視訊解碼器28可獲得含有對應於整數像素位置之整數像素值的像素區塊且使用較長濾波器及較短像素之混合濾波器以判定該像素區塊的子像素值。
圖2為說明與本發明一致之可執行濾波技術的視訊編碼器50之實例的方塊圖。視訊編碼器50為本文中稱為「編碼器」之專用視訊電腦器件或裝置的一實例。視訊編碼器50可對應於器件20之視訊編碼器22,或不同器件之視訊編碼器。視訊編碼器50可執行視訊圖框內之區塊的框內及框間編碼,但為了說明之簡易起見而未在圖2中展示框內編碼組件。框內編碼依賴於空間預測以減少或移除給定視訊圖框內之視訊的空間冗餘。框間編碼依賴於時間預測以減少或移除視訊序列之鄰近圖框內之視訊的時間冗餘。框內模式(I模式)可指代基於空間之壓縮模式,且諸如預測(P模式)或雙向(B模式)之框間模式可指代基於時間之壓縮模式。本發明之技術在框間編碼期間應用,且因此為了說明之簡單及簡易起見,未在圖2中說明諸如空間預測單元之框內編碼單元。
如圖2中所展示,視訊編碼器50接收待編碼之視訊圖框內的視訊區塊。在圖2之實例中,視訊編碼器50包括預測單元32、記憶體34、加法器48、變換單元38、量化單元40及熵編碼單元46。對於視訊區塊重建構而言,視訊編碼器50亦包括逆量化單元42、逆變換單元44及加法器51。亦可包括解區塊濾波器(圖中未繪示)來對區塊邊界進行濾波,從而自經重建構之視訊移除區塊效應假影。若需要,解區塊濾波器通常將對加法器51之輸出進行濾波。
預測單元32可包括運動估計(ME)單元35及運動補償(MC)單元37。根據本發明,濾波器單元39可包括於預測單元32中且可由ME單元35及MC單元37中之一者或兩者調用以執行內插或類內插濾波作為運動估計及/或運動補償之部分。濾波器單元39可實際上表示複數個不同濾波器以促進如本文中所描述之眾多不同類型之內插及內插類型之濾波。因此,預測單元32可包括複數個內插或類內插濾波器。另外,濾波器單元39可包括用於複數個子像素位置之複數個濾波器索引。濾波器索引使位元型樣及子像素位置與特定內插濾波器相關聯。在編碼程序期間,視訊編碼器50接收待編碼之視訊區塊(在圖2中標記為「視訊區塊」),且預測單元32執行框間預測編碼以產生預測區塊(在圖2中標記為「預測區塊」)。具體言之,ME單元35可執行運動估計以識別記憶體34中之預測區塊,且MC單元37可執行運動補償以產生預測區塊。
通常將運動估計視為產生運動向量之程序,該等運動向量估計視訊區塊之運動。運動向量(例如)可指示預測或參考圖框(或其他經編碼之單元,例如,片段)內之預測區塊相對於當前圖框(或其他經編碼之單元)內之待編碼區塊之位移。參考圖框(或該圖框之部分)在時間上可位於當前視訊區塊所屬之視訊圖框(或該視訊圖框之部分)之前或之後。通常將運動補償視為自記憶體34獲取或產生預測區塊或可能基於由運動估計所判定之運動向量來內插或以其他方式產生經濾波之預測性資料的程序。
ME單元35藉由比較視訊區塊與一或多個參考圖框(例如,先前圖框及/或後續圖框)之視訊區塊來選擇用於該視訊區塊之適當運動向量。ME單元35可以分數像素精度執行運動估計,分數像素精度有時被稱為分數像素、分數圖元或子像素運動估計。因而,可互換地使用術語分數像素、分數圖元及子像素運動估計。在分數像素運動估計中,ME單元35可選擇指示與除了整數像素位置以外之位置之位移的運動向量。以此方式,分數像素運動估計允許預測單元32以比整數像素(或全像素)位置高之精度來追蹤運動,因此產生更準確之預測區塊。分數像素運動估計可具有半像素精度、四分之一像素精度、八分之一像素精度或任何更精細之精度。ME單元35可調用(多個)濾波器39以用於運動估計程序期間之任何必要內插。
為了執行分數像素運動補償,MC單元37可執行內插(有時被稱為內插濾波)以便以子像素解析度產生資料(本文中稱為子像素或分數像素值)。MC單元37可調用(多個)濾波器39以用於此內插。預測單元32可使用本文中所描述之技術來執行該內插(或整數像素之類內插濾波)。
一旦藉由ME單元35選擇了待編碼之視訊區塊之運動向量,則MC單元37產生與彼運動向量相關聯之預測視訊區塊。MC單元37可基於由ME單元35所判定之運動向量自記憶體34獲取預測區塊。在具有分數像素精度之運動向量的狀況下,MC單元37對來自記憶體34之資料進行濾波以將此資料內插至子像素解析度(例如,調用(多個)濾波器39用於此程序)。在一些狀況下,可將用以產生子像素預測資料之內插濾波技術或模式指示為包括於經編碼之位元串流中之用於熵編碼單元46之一或多個內插語法元素。
一旦預測單元32已產生了預測區塊,則視訊編碼器50藉由自正編碼之原始視訊區塊減去預測區塊而形成殘餘視訊區塊(在圖2中標記為「殘餘區塊」)。加法器48表示執行此減法運算之該一或多個組件。變換單元38將變換(諸如,離散餘弦變換(DCT)或概念上類似之變換)應用於殘餘區塊,從而產生包含殘餘變換係數之視訊區塊。舉例而言,變換單元38可執行概念上類似於DCT之其他變換,諸如,由H.264標準定義之變換。亦可使用小波變換、整數變換、子頻帶變換或其他類型之變換。在任何狀況下,變換單元38皆將變換應用於殘餘區塊,從而產生殘餘變換係數之區塊。該變換可將殘餘資訊自像素域轉換至頻域。
量化單元40量化殘餘變換係數以進一步減小位元率。該量化程序可減小與該等係數中之一些或所有相關聯的位元深度。在量化之後,熵編碼單元46熵編碼經量化之變換係數。舉例而言,熵編碼單元46可執行CAVLC、CABAC或另一熵編碼方法。
熵編碼單元46亦可編碼自預測單元32或視訊編碼器50之其他組件獲得之一或多個預測語法元素。該一或多個預測語法元素可包括編碼模式、一或多個運動向量、用以產生子像素資料之內插技術、濾波器係數之集合或子集,或與預測區塊之產生相關聯的其他資訊。根據本發明之一些態樣,係數預測與量化單元41可預測性地編碼及量化預測語法(諸如,濾波器係數)。在藉由熵編碼單元46進行之熵編碼之後,可將經編碼之視訊及語法元素傳輸至另一器件或經封存以供稍後傳輸或擷取。
逆量化單元42及逆變換單元44分別應用逆量化及逆變換,以在像素域中重建構殘餘區塊(例如)以供稍後用作參考區塊。該經重建構之殘餘區塊(在圖2中標記為「經重建構之殘餘區塊」)可表示提供至變換單元38之殘餘區塊的經重建構之版本。歸因於由量化及逆量化運算造成的細節損失,該經重建構之殘餘區塊可不同於由求和器48所產生之殘餘區塊。求和器51將該經重建構之殘餘區塊加至由預測單元32所產生之經運動補償之預測區塊以產生經重建構之視訊區塊以供儲存於記憶體34中。該經重建構之視訊區塊可由預測單元32用作可用以隨後編碼後續視訊圖框或後續經編碼之單元中之區塊的參考區塊。
如以上所描述,預測單元32可以分數像素(或子像素)精度執行運動估計。當預測單元32使用分數像素運動估計時,預測單元32可使用本發明中所描述之內插運算來以子像素解析度產生資料(例如,子像素或分數像素值)。換言之,使用該等內插運算來計算在整數像素位置之間的位置處的值。可將位於整數像素位置之間的一半距離處的子像素位置稱為半像素(半圖元)位置,可將位於整數像素位置與半像素位置之間的一半距離處的子像素位置稱為四分之一像素(四分之一圖元)位置,將位於整數像素位置(或半像素位置)與四分之一像素位置之間的一半距離處的子像素位置稱為八分之一像素(八分之一圖元)位置,等等。
圖3為說明與預測資料相關聯之整數像素(或全像素)位置及與經內插之預測資料相關聯之子像素(或分數像素)位置的概念圖。在圖3之概念性說明中,不同方框表示一圖框或一圖框之一區塊內之像素及子像素位置。大寫字母(在具有實線之方框中)表示整數像素位置,而小寫字母(在具有虛線之方框中)表示子像素位置。詳言之,像素位置A1-A6、B1-B6、C1-C6、D1-D6、E1-E6及F1-F6表示圖框、片段或其他經編碼之單元內之整數像素位置的6乘6陣列。在圖3中亦展示了額外整數像素位置G3及H3以供本發明中稍後所描述之實例使用。子像素位置「a」至「o」表示與整數像素C3相關聯的十五個子像素位置(例如,在整數像素位置C3、C4、D3與D4之間)。對於每個整數像素位置,可存在類似子像素位置。子像素位置「a」至「o」表示與整數像素C3相關聯的每個半圖元及四分之一圖元像素位置。
在最初產生視訊資料時,整數像素位置可與實體感測器元件(諸如,光電二極體)相關聯。該光電二極體可量測在該感測器之位置處的光源之強度且使像素強度值與該整數像素位置相關聯。此外,每一整數像素位置可具有十五個子像素位置(或可能更多)之相關聯集合。與整數像素位置相關聯之子像素位置的數目可取決於所要精度。在圖3中所說明之實例中,所要精度為四分之一像素精度,在此種狀況下,整數像素位置中之每一者與十五個不同子像素位置相對應。可基於所要精度使更多或更少子像素位置與每一整數像素位置相關聯。舉例而言,對於半像素精度而言,每一整數像素位置可與三個子像素位置相對應。作為另一實例,對於八分之一像素精度而言,整數像素位置中之每一者可與六十三個子像素位置相對應。每一像素位置可定義一或多個像素值(例如,一或多個照度及色度值)。
Y可表示照度,且Cb及Cr可表示三維YCbCr色彩空間之兩個不同色度值。對於三維色空間而言,每一像素位置可實際上定義三個像素值。然而,出於簡單性之目的,本發明之技術可指代關於一維之預測。就關於一維中之像素值來描述技術而言,可將類似技術擴展至其他維度。在一些狀況下,在預測之前對色度值進行子取樣,但預測通常在照度空間中發生而無任何子取樣,此係因為人類視覺對像素強度比對像素色彩更敏感。
在圖3之實例中,針對四分之一像素精度說明與整數像素「C3」相關聯之子像素位置(location)(亦稱為子像素位置(position))。將與像素C3相關聯之十五個子像素位置標記為「a」、「b」、「c」、「d」、「e」、「f」、「g」、「h」、「i」、「j」、「k」、「l」、「m」、「n」及「o」。為了簡單起見而未展示與其他整數像素位置相關聯之大部分其他分數位置。可將子像素位置「b」、「h」及「j」稱為半像素位置,且可將子像素位置「a」、「c」、「d」、「e」、「f」、「g」、「i」、「k」、「l」、「m」及「o」稱為四分之一像素位置。此外,在本發明中,可將沿與整數像素相同之水平軸定向的子像素位置稱為水平子像素。子像素「a」、「b」及「c」為水平子像素之實例。可將在與整數像素相同之垂直軸上定向的子像素稱為垂直子像素。子像素「d」、「h」及「l」為垂直子像素之實例。本發明之態樣包括使用單一線性內插濾波器判定水平子像素及垂直子像素之值,且因此本發明可將水平子像素及垂直子像素共同地稱作1L子像素。圖4為展示關於整數像素(C1-C6、A3、B3、C3、D3、E3及F3)之群組之1L子像素(a、b、c、d、h、1)的概念圖。
本發明之態樣包括使用兩個線性內插濾波器(一個應用於垂直方向上且一個應用於水平方向上)來判定非垂直、非水平子像素(諸如,子像素「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」)之像素值。因此,本發明可將非垂直、非水平子像素(諸如,子像素「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」)稱為2L子像素。圖5為展示關於整數像素(C1-C6、A3、B3、C3、D3、E3及F3)之群組之2L子像素(e、f、g、i、j、k、m、n、o)的概念圖。
圖6為說明關於子像素位置「b」之八個水平線性像素支援位置C0-C7之概念圖,其中陰影展示係數對稱性。在此種狀況下,係數對稱性意謂僅需要四個濾波器係數用於C0、C1、C2及C3,以便定義濾波器支援位置C0-C7之係數的整個集合。C0與C7對稱,C1與C6對稱,C2與C5對稱,且C3與C4對稱。因此,僅需要傳達四個係數作為經編碼之視訊位元串流之部分,或僅需要由濾波器單元39儲存四個係數,以便定義內插子像素位置「b」所需之八個係數的集合。剩餘係數可在解碼器處基於經傳達之係數而產生。詳言之,解碼器可經程式化以知曉應用了對稱性,且對稱性可定義如何基於經傳達係數而產生任何剩餘係數。
圖7為說明關於子像素之八個水平線性像素支援位置的概念圖,其中陰影展示缺乏任何係數對稱性。因此,需要所有八個係數以便定義關於子像素位置「a」之濾波器支援的係數之集合。然而,像素對稱性意謂亦可使用關於子像素位置「a」之此等相同係數來導出子像素位置「c」之濾波器支援。若將關於子位置「a」之濾波器支援的八個係數視為一維陣列,則可藉由翻轉該陣列來得到用於子像素「c」之八個係數,以使得在判定子像素「a」之值時用於C7之係數可為在判定子像素「c」之值時用於C0之係數,用於C6之係數可為用於C1之係數,等等。因此,例如,若使用適應性內插濾波(AIF)(其中在視訊編碼器22處計算濾波器係數),則僅需要在位元串流中將八個係數傳達至視訊解碼器28以便定義內插子像素位置「a」及「c」所需之八個係數的兩個不同集合。
圖8為說明關於子像素位置「h」之八個垂直線性像素支援位置G3、A3、B3、C3、D3、E3、F3及H3之概念圖,其中陰影展示係數對稱性。在此種狀況下,係數對稱性意謂僅需要四個濾波器係數用於G3、A3、B3及C3,以便定義濾波器支援位置G3、A3、B3、C3、D3、E3、F3及H3之係數的整個集合。G3與H3對稱,A3與F3對稱,B3與E3對稱,且C3與D3對稱。歸因於對稱性,與G3相關聯之係數亦可供H3使用,與A3相關聯之係數亦可供F3使用,等等。因此,例如,若使用AIF,則僅需要傳達四個係數作為經編碼之視訊位元串流之部分以便定義內插子像素位置「h」所需之八個係數之集合。
圖9為說明關於子像素之八個垂直線性像素支援位置之概念圖,其中陰影展示缺乏任何係數對稱性。因此,需要所有八個係數以便定義關於子像素位置「d」之濾波器支援的係數之集合。然而,如以上關於圖7所提,像素對稱性意謂亦可使用關於子像素位置「d」之此等相同係數來導出子像素位置「1」之濾波器支援。因此,例如,若使用AIF,則僅需要在位元串流中將八個係數傳達至視訊解碼器28以便定義內插子像素位置「d」及「l」所需之八個係數的兩個不同集合。
視訊編碼器40之預測單元32可使用由濾波單元39進行之內插濾波來判定子像素位置「a」至「o」之像素值。對於半像素位置「b」及「h」而言,每一濾波器係數(亦稱為分接頭)可分別對應於水平方向及垂直方向上之整數像素位置。詳言之,對於半像素位置「b」而言,8分接頭濾波器之分接頭對應於C0、C1、C2、C3、C4、C5、C6及C7。子像素位置C0及C7未展示於圖3中,但可見於(例如)圖6及圖7中。同樣地,對於半像素位置「h」而言,8分接頭濾波器之分接頭對應於G3、A3、B3、C3、D3、E3、F3及H3。舉例而言,可使用方程式(1)及(2)來計算子像素位置「b」及「h」之像素值:
b=((-3*C0+12*C1-39*C2+158*C3+158*C4-39*C5+12*C6-3*C7)+128)/256(1)
h=((-3*G3+12*A3-39*B3+158*C3+158*D3-39*E3+12*F3-3*H3)+128)/256(2)
在一些實施中,可藉由8個位元之向右移位來實施除以256。如同位置「b」,對於四分之一像素位置「a」及「c」而言,8分接頭濾波器之分接頭可對應於C0、C1、C2、C3、C4、C5、C6及C7,但不同於位置「b」,濾波器係數可非對稱的且可不同於位置「b」之濾波器係數。舉例而言,可使用方程式(3)及(4)來計算子像素位置「a」及「c」之像素值:
a=((-3*C0+12*C1-37*C2+229*C3+71*C4-21*C5+6*C6-C7)+128)/256 (3)
c=((-C0+6*C1-21*C2+71*C3+229*C4-37*C5+12*C6-3*C7)+128)/256 (4)
在一些實施中,可藉由8個位元之向右移位來實施除以256。如同位置「h」,對於四分之一像素位置「d」及「1」而言,8分接頭濾波器之分接頭可對應於G3、A3、B3、C3、D3、E3、F3及H3,但不同於位置「h」,濾波器係數可為非對稱的且可不同於位置「h」之濾波器係數。舉例而言,可使用方程式(5)及(6)來計算子像素位置「d」及「l」之像素值:
d=((-3*G3+12*A3-37*B3+229*C3+71*D3-21*E3+6*F3-H3)+128)/256 (5)
l=((-G3+6*A3-21*B3+71*C3+229*D3-37*E3+12*F3-3*H3)+128)/256 (6)
在一些實施中,可藉由8個位元之向右移位來實施除以256。儘管以上針對方程式(1)至(6)給出之實例係數大體上針對水平子像素及垂直子像素兩者使用相同係數,但水平子像素及垂直子像素之係數並不需要相同。舉例而言,方程式(1)與(2)、(3)與(5)及(4)與(6)在以上實例中分別具有相同係數,但在一些實施中,各自可具有不同係數。
視訊編碼器40之預測單元32亦可使用由濾波單元39進行之內插濾波來判定2L子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」之像素值。對於2L子像素位置而言,水平濾波繼之以垂直濾波,或垂直濾波繼之以水平濾波。第一濾波操作判定中間值,且第二濾波器操作利用該等中間值來判定子像素位置之像素值。舉例而言,為了判定「j」之值,可使用6分接頭水平濾波器使用以下方程式來判定「aa」、「bb」、「b」、「hh」、「ii」及「jj」之中間值:
aa=((8*A1-40*A2+160*A3+160*A4-40*A5+8*A6)+128)/256(7)
bb=((8*B1-40*B2+160*B3+160*B4-40*B5+8*B6)+128)/256(8)
b=((8*C1-40*C2+160*C3+160*C4-40*C5+8*C6)+128)/256(9)
hh=((8*D1-40*D2+160*D3+160*D4-40*D5+8*D6)+128)/256(10)
ii=((8*E1-40*E2+160*E3+160*E4-40*E5+8*E6)+128)/256(11)
jj=((8*F1-40*F2+160*F3+160*F4-40*F5+8*F6)+128)/(12)
在一些實施中,可藉由8個位元之向右移位來實施除以256。將6分接頭垂直濾波器應用於以上中間值,可使用以下方程式來判定「j」之值:
j=((8*aa-40*bb+160*c3+160*hh-40*ii+8*jj)+128)/256。(13)
在一些實施中,可藉由8個位元之向右移位來實施除以256。或者,可使用6分接頭垂直濾波器來得到「cc」、「dd」、「h」、「ee」、「ff」及「gg」之中間值,且可將6分接頭水平應用於彼等中間值以判定「j」之像素值。
類似於以上針對子像素「j」所描述之程序,可藉由以下操作來判定子像素位置「e」、「f」、「g」、「i」、「k」、「m」、「n」及「o」的像素值:首先執行垂直濾波操作以判定中間值且接著將6分接頭水平濾波器應用於由垂直濾波所判定之中間值;或首先執行水平濾波操作以判定中間值且接著將6分接頭垂直濾波器應用於由水平濾波所判定之中間值。雖然以上針對子像素「j」而用作實例之水平濾波器及垂直濾波器兩者皆使用對稱係數,但用以判定其他2D子像素值之像素值的水平濾波器及垂直濾波器中之一者或兩者可不為對稱的。舉例而言,在一例示性實施中,用於子像素位置「e」、「g」、「m」及「o」之水平濾波器及垂直濾波器兩者可使用非對稱係數。子像素位置「f」及「n」可使用具有對稱係數之水平濾波器及具有非對稱係數之垂直濾波器,且子像素位置「i」及「k」可使用具有非對稱係數之水平濾波器及具有對稱濾波器係數之垂直濾波器。
由濾波單元39應用以在子像素位置處產生經內插之資料之實際濾波器可經受廣泛多種實施。作為一實例,預測單元32可利用AIF,其中濾波器係數由視訊編碼器22計算且在位元串流中傳輸至視訊解碼器28。作為另一實例,預測單元32可利用切換濾波(switched filtering),其中視訊編碼器22及視訊解碼器28兩者皆已知多個濾波器,且在位元串流中將待使用之特定濾波器自視訊編碼器22用信號發送至視訊解碼器28。在切換濾波之實例中,視訊編碼器22及視訊解碼器28可針對每一子像素位置儲存四個唯一濾波器,且可使用兩個位元將待用於子像素位置之特定濾波器自視訊編碼器22用信號發送至視訊解碼器28。
預測單元32可在水平方向上及在垂直方向上使用可分離之內插濾波器。對於1L子像素位置而言,預測單元32(例如,預測單元32之MC單元37)取決於子像素位置而僅應用水平方向性濾波器或僅應用垂直方向性濾波器。在一實例中,水平方向性濾波器及垂直方向性濾波器包含8位置(或8分接頭)濾波器。預測單元32針對子像素位置「a」、「b」及「c」應用水平方向性濾波器,其中將整數像素位置C0、C1、C2、C3、C4、C5、C6及C7(C0及C7未展示於3中)作為濾波器支援;且針對子像素位置「d」、「h」及「l」應用垂直方向性濾波器,其中將整數像素位置G3、A3、B3、C3、D3、E3、F3及H3(參見圖3)作為濾波器支援。對於剩餘子像素位置(亦即,2L子像素位置)而言,預測單元32首先應用水平濾波,繼之以垂直濾波,或首先應用垂直濾波,繼之以水平濾波。用於2L子像素位置之水平濾波器及垂直濾波器可各自為6分接頭濾波器。
儘管本發明使用8分接頭濾波器及6分接頭濾波器作為實例,但重要的是應注意,亦可使用其他濾波器長度且其他濾波器長度在本發明之範疇內。舉例而言,6分接頭濾波器可用於判定1L子像素位置之值,而4分接頭濾波器用於判定2L子像素位置之值,或10分接頭濾波器可用於判定1L子像素位置之值,而8分接頭濾波器或6分接頭濾波器用於判定2L子像素位置之值。
圖10為說明可解碼以本文中所描述之方式編碼的視訊序列之視訊解碼器之實例的方塊圖。視訊解碼器60為本文中稱為「編碼器」之專用視訊電腦器件或裝置的一實例。視訊解碼器60包括熵解碼單元52,該熵解碼單元52熵解碼所接收之位元串流以產生經量化之係數及預測語法元素。該等預測語法元素可包括編碼模式、一或多個運動向量、識別用以產生子像素資料之內插技術的資訊、用於在內插濾波中使用之係數及/或與預測區塊之產生相關聯的其他資訊。
將預測語法元素(例如,係數)轉遞至預測單元55。若使用預測來相對於固定濾波器之係數或相對於彼此來編碼該等係數,則係數預測與逆量化單元53可解碼語法元素以定義實際係數。又,若將量化應用於預測語法中之任一者,則係數預測與逆量化單元53亦可移除此量化。根據本發明,可(例如)預測性地編碼及量化濾波器係數,且在此種狀況下,係數預測與逆量化單元53可由視訊解碼器60用以預測性地解碼及解量化此等係數。
預測單元55可基於預測語法元素及儲存於記憶體62中之一或多個先前經解碼之區塊以與以上關於視訊編碼器50之預測單元32所詳細描述之方式幾乎相同的方式產生預測資料。詳言之,預測單元55可在運動補償期間執行本發明之內插濾波技術中的一或多者,從而以特定精度(諸如,四分之一像素精度)產生預測區塊。因而,本發明之技術中之一或多者可由視訊解碼器60用於產生預測區塊。預測單元55可包括運動補償單元,該運動補償單元包含用於本發明之內插及類內插濾波技術的濾波器。為了說明之簡單及簡易起見,運動補償組件未展示於圖10中。
逆量化單元56逆量化(亦即,解量化)經量化之係數。逆量化程序可為針對H.264解碼所定義之程序。逆變換單元58將逆變換(例如,逆DCT或概念上類似之逆變換程序)應用於變換係數以便在像素域中產生殘餘區塊。求和器64對殘餘區塊與由預測單元55產生之對應預測區塊求和以形成由視訊編碼器50所編碼之原始區塊的經重建構之版本。若需要,則亦可將解區塊濾波器應用於經解碼之區塊以便移除區塊效應假影。接著將經解碼之視訊區塊儲存於參考圖框儲存器62中,該參考圖框儲存器62為後續運動補償提供參考區塊且亦產生經解碼之視訊以驅動顯示器件(諸如,圖1之器件28)。
舉例而言,可基於在經編碼之視訊位元串流中自源器件12所接收之預測語法元素來判定由預測單元55所使用之特定內插濾波器。圖11展示用於基於在位元串流中所接收之語法元素來判定內插濾波器的方法。圖11之方法可(例如)用以判定用於P片段之子像素位置的濾波器。視訊解碼器60接收來自源器件12之經編碼之位元串流。自編碼單元之語法元素(諸如,圖框標頭或片段標頭內之語法元素),預測單元55讀取識別限制集合之位元(1101)。該限制集合向預測單元55識別將濾波器索引之哪一集合用於彼編碼單元之子像素位置。每一子像素位置可具有其自身之濾波器索引,或子像素位置之一群組可共用一濾波器索引。該濾波器索引使特定濾波器與特定位元型樣相關聯。舉例而言,若每子像素位置使用兩個位元來用信號發送濾波器選擇,則位元型樣00可對應於第一濾波器,01可對應於第二濾波器,10可對應於第三濾波器,且11可對應於第四濾波器。因為每一子像素位置可具有其自身之唯一濾波器索引及唯一濾波器,所以(例如)位元型樣00針對子像素位置「j」可對應於與其針對子像素位置「e」所對應於之濾波器不同的濾波器。
圖11之實例使用三個限制集合。若經編碼之單元之標頭含有至預測單元55之待使用第一限制集合的信號(1102),則對於針對經編碼之單元而判定之所有子像素值而言,可單獨地使用垂直發信號位元及水平發信號位元來用信號發送用於每一子像素值之水平濾波器及垂直濾波器兩者。因此,若使用各自用於垂直發信號位元及水平發信號位元之兩個位元,則使用總計兩個位元來用信號發送用於1L子像素位置之濾波器,且使用總計四個位元(兩個用於垂直發信號位元且兩個用於水平發信號位元)來用信號發送用於2L子像素位置之濾波器。
對於除位置「a」、「b」及「c」以外之子像素位置而言,位元串流中之兩個垂直發信號位元可識別待使用之四個垂直濾波器中之一者(1103)。對於位置「a」、「b」及「c」而言,無垂直發信號位元可存在於位元串流中,且無垂直濾波器可被選定。根據本發明,針對子像素位置「d」、「h」及「l」選定之垂直濾波器可長於針對「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之垂直濾波器。舉例而言,針對子像素位置「d」、「h」及「l」選定之垂直濾波器可包含8分接頭濾波器,而針對子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之垂直濾波器可包含6分接頭濾波器。
對於除位置「d」、「h」及「l」以外之子像素位置而言,兩個水平發信號位元可識別待使用之四個水平濾波器中之一者(1104)。對於位置「d」、「h」及「l」而言,無水平發信號位元可存在於位元串流中,且無水平濾波器可被選定。根據本發明,針對子像素位置「a」、「b」及「c」選定之水平濾波器可長於針對「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之水平濾波器。舉例而言,針對子像素位置「a」、「b」及「c」選定之水平濾波器可包含8分接頭濾波器,而針對子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之水平濾波器可包含6分接頭濾波器。
一旦選定水平濾波器及垂直濾波器,則如以上所描述,可使用該等濾波器來判定子像素位置之值。若一子像素位於位置「a」、「b」或「c」處,則如以上關於方程式1、3、4所描述,可使用單一水平濾波器來判定子像素值。若該子像素位於「d」、「h」或「l」處,則如以上關於方程式2、5、6所描述,可使用單一垂直濾波器來判定子像素值。若該子像素位於「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」處,則如以上關於方程式7至13所描述,可使用垂直濾波器及水平濾波器兩者來判定子像素位置之值。
若經編碼之單元之標頭含有至預測單元55之待使用第二限制集合的信號(1107),則對於針對經編碼之單元而判定之所有子像素值而言,可每子像素位置使用兩個發信號位元一起用信號發送用於每一子像素值之水平濾波器及垂直濾波器兩者。基於該等發信號位元,可選擇一濾波器或一對濾波器(1108)。對於子像素位置「a」、「b」或「c」而言,可使用兩個發信號位元來識別與彼特定子像素位置相關聯之四個水平濾波器中的一者。對於子像素位置「d」、「h」或「l」而言,可使用兩個發信號位元來識別與彼特定子像素位置相關聯之四個垂直濾波器中的一者。對於「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」處之子像素位置而言,可使用兩個發信號位元來識別四對水平濾波器及垂直濾波器中的一者。因此,雖然限制集合1使得兩個水平發信號位元能夠識別四個水平濾波器中之一者且使得兩個垂直發信號位元能夠識別四個垂直濾波器中之一者(總計十六個水平-垂直組合),但限制集合2僅允許四個水平-垂直組合。然而,限制集合2減少了用信號發送一濾波器選擇所需之位元的總數目。基於由發信號位元所識別之濾波器或濾波器組合,以與以上所描述之方式類似的方式判定子像素位置之值(1109)。若經編碼之單元之標頭含有至預測單元55之待使用第三限制集合的信號(1111),則對於針對經編碼之單元而判定之所有子像素值而言,可僅基於子像素位置且不基於與該子像素位置相關聯之任何發信號位元來使用一固定濾波器或濾波器組合(1112)。舉例而言,不同於限制集合1及2(其中子像素位置「a」、「b」及「c」可各自具有四個可能之對應水平濾波器),對於限制集合3,子像素位置「a」、「b」及「c」各自具有一個對應水平濾波器。不同於限制集合1及2(其中子像素位置「d」、「h」及「l」可各自具有四個可能之對應垂直濾波器),對於限制集合3,子像素位置「d」、「h」或「l」各自具有一個對應垂直濾波器。不同於限制集合1及2(其中子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自分別具有16個或4個可能之水平濾波器-垂直濾波器組合),對於限制集合3,子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自具有單一水平濾波器-垂直濾波器組合。雖然限制集合3可能會減少可用濾波器,但限制集合3亦可減少用信號發送一濾波器選擇所需之位元的總數目。
圖12展示用於基於在位元串流中所接收之語法元素來判定內插濾波器之方法。圖12之方法可(例如)用以判定用於B片段之子像素位置的濾波器。不同於包括用於P片段之三個限制集合的圖11,圖12之實例僅包括兩個限制集合。如關於圖11所描述,當使用B片段以便改良編碼效率時,可排除限制集合1。通常藉由比P片段少之位元來編碼B片段。針對P片段及B片段使用相同限制集合可導致使用相同數目個位元來用信號發送用於每一分數像素位置之內插濾波器的選擇,但針對B片段發信號內插濾波器之附加項(作為全部位元之百分比)可遠高於針對P片段發信號內插濾波器之附加項。歸因於此較高附加項,在B片段之狀況下,位元率失真取捨可能不如P片段情形下之位元率失真取捨有利。因此,在一些實施中,限制集合1可能不用於B片段。
若經編碼之單元之標頭含有至預測單元55之待將第二限制集合用於B片段的信號(1207),則對於針對經編碼之單元而判定之所有子像素值而言,可每子像素位置使用兩個發信號位元一起用信號發送用於每一子像素值之水平濾波器及垂直濾波器兩者。基於該等發信號位元,可選擇一濾波器或一對濾波器(1208)。對於子像素位置「a」、「b」或「c」而言,可使用兩個發信號位元來識別與彼特定子像素位置相關聯之四個水平濾波器中的一者。對於子像素位置「d」、「h」或「l」而言,可使用兩個發信號位元來識別與彼特定子像素位置相關聯之四個垂直濾波器中的一者。對於「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」處之子像素位置而言,可使用兩個發信號位元來識別四對水平濾波器及垂直濾波器中的一者。基於由發信號位元所識別之濾波器或濾波器組合,以與以上所描述之方式類似的方式判定子像素位置之值(1209)。若經編碼之單元之標頭含有至預測單元55之待使用第三限制集合的信號(1211),則對於針對經編碼之單元而判定之所有子像素值而言,可僅基於子像素位置且不基於與該子像素位置相關聯之任何發信號位元來使用一固定濾波器或濾波器組合(1212)。舉例而言,不同於限制集合2(其中子像素位置「a」、「b」及「c」可各自具有四個可能之對應水平濾波器),對於限制集合3,子像素位置「a」、「b」及「c」各自具有一個對應水平濾波器。不同於限制集合2(其中子像素位置「d」、「h」及「l」可各自具有四個可能之對應垂直濾波器),對於限制集合3,子像素位置「d」、「h」或「l」各自具有一個對應垂直濾波器。不同於限制集合2(其中子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自分別具有4個可能之水平濾波器-垂直濾波器組合),對於限制集合3,子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自具有單一水平濾波器-垂直濾波器組合。雖然與限制集合2相比限制集合3可能會減少可用濾波器,但限制集合3亦減少用信號發送一濾波器選擇所需之位元的總數目。
圖13為說明用於基於在位元串流中所接收之語法元素來判定內插濾波器之方法的流程圖。圖13之方法為關於圖11針對P片段所描述之方法的修改。若經編碼之單元之標頭含有至預測單元55之可使用第一限制集合的信號(1302),則對於針對經編碼之單元而判定之所有子像素值而言,亦可在位元串流中傳輸一旗標。該旗標為告知預測單元55使用先前用於彼子像素位置之相同濾波器選擇或使用一不同濾波器的1位元信號。若該旗標指示針對一特定子像素位置應使用先前濾波器(1314,是),則可再次使用最近用於彼特定子像素位置之水平濾波器、垂直濾波器或水平濾波器及垂直濾波器之組合來判定該特定子像素位置之值(1315)。若該旗標指示應使用相同濾波器,則不需要傳輸在其他情況下用以用信號發送水平濾波器及/或垂直濾波器之兩個或四個位元,從而導致所傳輸之位元之減少。然而,若該旗標指示針對該特定子像素位置應使用一不同濾波器(1314,否),則如以上關於圖11所描述,可使用垂直發信號位元及水平發信號位元單獨地用信號發送用於該子像素位置之水平濾波器及垂直濾波器兩者。
對於除位置「a」、「b」及「c」以外之子像素位置而言,位元串流中之兩個垂直發信號位元可識別待使用之四個垂直濾波器中之一者(1303)。對於位置「a」、「b」及「c」而言,無垂直發信號位元可存在於位元串流中,且無垂直濾波器可被選定。根據本發明,針對子像素位置「d」、「h」及「l」選定之垂直濾波器可長於針對「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之垂直濾波器。舉例而言,針對子像素位置「d」、「h」及「l」選定之垂直濾波器可包含8分接頭濾波器,而針對子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之垂直濾波器可包含6分接頭濾波器。
對於除位置「d」、「h」及「l」以外之子像素位置而言,兩個水平發信號位元可識別待使用之四個水平濾波器中之一者(1304)。對於位置「d」、「h」及「l」而言,無水平發信號位元可存在於位元串流中,且無水平濾波器可被選定。根據本發明,針對子像素位置「a」、「b」及「c」選定之水平濾波器可長於針對「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之水平濾波器。舉例而言,針對子像素位置「a」、「b」及「c」選定之水平濾波器可包含8分接頭濾波器,而針對子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」及「o」選定之水平濾波器可包含6分接頭濾波器。
一旦選定水平濾波器及垂直濾波器,則如以上所描述,可應用該等濾波器來判定子像素位置之值。若一子像素位於位置「a」、「b」或「c」處,則可使用單一水平濾波器來判定子像素值。若該子像素位於「d」、「h」或「l」處,則可使用單一垂直濾波器來判定子像素值。若該子像素位於「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」處,則可使用垂直濾波器及水平濾波器兩者來判定子像素位置之值。
若經編碼之單元之標頭含有至預測單元55之可使用第三限制集合的信號(1311),則對於針對經編碼之單元而判定之所有子像素值而言,可僅基於子像素位置且不基於與該子像素位置相關聯之任何發信號位元來選擇一固定濾波器或濾波器組合(1312)。舉例而言,不同於限制集合1及2(其中子像素位置「a」、「b」及「c」可各自具有四個可能之對應水平濾波器),對於限制集合3,子像素位置各自具有一個對應水平濾波器。不同於限制集合1及2(其中子像素位置「d」、「h」及「l」)可各自具有四個可能之對應垂直濾波器,對於限制集合3,子像素位置「d」、「h」或「l」各自具有一個對應垂直濾波器。不同於限制集合1(其中子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自分別具有16個及4個可能之水平濾波器-垂直濾波器組合),對於限制集合3,子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自具有單一水平濾波器-垂直濾波器組合。雖然限制集合3可能會減少可用濾波器,但限制集合3亦減少用信號發送一濾波器選擇所需之位元的總數目。
圖14為說明用於基於在位元串流中所接收之語法元素來判定內插濾波器之方法的流程圖。圖14之方法可包含關於圖12針對B片段所描述之方法的修改。若經編碼之單元之標頭含有至預測單元55之可使用第二限制集合的信號(1407),則對於針對經編碼之單元而判定之所有子像素值而言,亦可在位元串流中傳輸一旗標。該旗標為告知預測單元55使用先前用於彼子像素位置之相同濾波器選擇或使用一不同濾波器的1位元信號。若該旗標指示針對一特定子像素位置應使用先前濾波器(1414,是),則可再次使用最近用於彼特定子像素位置之水平濾波器、垂直濾波器或水平濾波器及垂直濾波器之組合來判定該特定子像素位置之值(1415)。然而,若該旗標指示針對該特定子像素位置應使用一不同濾波器(1414,否),則如以上關於圖12所描述,可使用發信號位元用信號發送用於該子像素位置之水平濾波器及垂直濾波器兩者。
基於該等發信號位元,可選擇一濾波器或一對濾波器(1408)。對於子像素位置「a」、「b」或「c」而言,可使用兩個發信號位元來識別與彼特定子像素位置相關聯之四個水平濾波器中的一者。對於子像素位置「d」、「h」或「l」而言,可使用兩個發信號位元來識別與彼特定子像素位置相關聯之四個垂直濾波器中的一者。對於「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」處之子像素位置而言,可使用兩個發信號位元來識別四對水平濾波器及垂直濾波器中的一者。基於由發信號位元所識別之濾波器或濾波器組合,以與以上所描述之方式類似的方式判定子像素位置之值(1409)。
若經編碼之單元之標頭含有至預測單元55之可使用第三限制集合的信號(1411),則對於針對經編碼之單元而判定之所有子像素值而言,可僅基於子像素位置且不基於與該子像素位置相關聯之任何發信號位元來使用一固定濾波器或濾波器組合(1412)。舉例而言,不同於限制集合2(其中子像素位置「a」、「b」及「c」可各自具有四個可能之對應水平濾波器),對於限制集合3,子像素位置「a」、「b」及「c」各自具有一個對應水平濾波器。不同於限制集合2(其中子像素位置「d」、「h」及「l」可各自具有四個可能之對應垂直濾波器),對於限制集合3,子像素位置「d」、「h」或「l」各自具有一個對應垂直濾波器。不同於限制集合2(其中子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自分別具有4個可能之水平濾波器-垂直濾波器組合),對於限制集合3,子像素位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」各自具有單一水平濾波器-垂直濾波器組合。雖然與限制集合2相比限制集合3可能會減少可用濾波器,但限制集合3亦減少用信號發送一濾波器選擇所需之位元的總數目。
根據本發明,在圖11、圖12、圖13及圖14之實例中,針對子像素位置「a」、「b」及「c」選定之水平濾波器及針對子像素位置「d」、「h」及「l」選定之垂直濾波器可長於針對「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」或「o」選定之水平濾波器及垂直濾波器。此外,儘管圖11、圖12、圖13及圖14之實例大體上論述了使用兩個發信號位元來選擇四個濾波器中之一者,但亦可使用更多或更少之發信號位元。舉例而言,可使用一個發信號位元來選擇兩個濾波器中之一者,或可使用三個發信號位元來選擇八個可能濾波器中之一者。
雖然本發明已大體上論述了用於基於四分之一像素運動向量精度將較長濾波器用於1L位置且將較短濾波器用於2L位置,但本發明之技術亦可應用於諸如八分之一像素或半像素精度的其他運動向量精度。舉例而言,當使用八分之一像素精度時,可存在7個水平像素位置及7個垂直像素位置(亦即,14個1L位置)以及49個2L位置。
另外,在一些實施中,運動向量精度可在編碼期間適應性地切換,諸如,在四分之一像素精度與八分之一像素精度之間切換。在此實施中,本發明之技術可應用於四分之一像素位置及八分之一像素位置兩者處。在其他實施中,本發明之技術僅可(例如)應用於四分之一像素位置,而在八分之一像素位置處使用不同濾波器選擇技術(諸如,使用固定、不可切換之濾波器)。在將固定、不可切換之濾波器用於八分之一像素位置的實例中,可針對四分之一位置而非針對八分之一像素位置來將濾波器決策用信號發送至解碼器。
另外,儘管大體上使用用於2L位置之可分離濾波器描述了圖11至圖14之實例及本發明中之其他實例,但預期在一些實施中,可使用用於2L位置之發信號位元來識別一或多個不可分離濾波器。作為一實例,可使用以上針對限制集合2所描述之兩個發信號位元來在包括兩個不可分離濾波器及兩個可分離濾波器的四個濾波器之間進行選擇。
圖15為展示實施本發明之態樣之方法的流程圖。圖15之技術可(例如)由圖1、圖2及圖10中所展示之器件執行。將自圖2之角度來描述圖15之方法,但其他器件(包括圖1之視訊編碼器22及視訊解碼器28兩者及圖10之視訊解碼器60)亦可執行圖15之方法之態樣。預測單元32之MC單元37自記憶體34獲得一像素區塊,該像素區塊包括對應於該像素區塊內之整數像素位置的整數像素值(1501)。濾波單元39計算對應於與該像素區塊相關聯之子像素位置的子像素值。濾波單元39藉由應用第一內插濾波器來計算處於與整數像素位置共同之垂直軸或與整數像素位置共同之水平軸上之子像素位置(例如,圖4之1L子像素位置)的第一子像素值,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的第一一維陣列(1502)。該第一內插濾波器可(例如)包含一8分接頭濾波器,其中第一內插濾波器之濾波器支援位置對應於整數像素位置之一集合。濾波單元39藉由應用第二內插濾波器及應用第三內插濾波器來計算第二子像素值,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的第三一維陣列(1503)。第二子像素值對應於不處於與整數像素位置共同之垂直軸上且不處於與整數像素位置共同之水平軸上的子像素位置(例如,圖5之2L子像素位置)。第二及第三內插濾波器可(例如)各自為6分接頭濾波器。根據本發明之一態樣,第一一維陣列包括比第二一維陣列多的濾波器係數且包括比第三一維陣列多之濾波器係數。
基於子像素值(諸如,第一子像素值及第二子像素值),MC單元37產生預測區塊(1504)。詳言之,作為視訊編碼程序之部分,MC單元37可產生並輸出具有經內插之子像素值的經內插之預測區塊。預測單元32亦可連同預測區塊輸出識別待用於子像素位置之特定內插濾波器的發信號位元(1505)。該等發信號位元可單獨地識別第二內插濾波器及第三內插濾波器或識別第二內插濾波器及第三內插濾波器之組合。預測單元32亦可輸出一旗標,該旗標指示待用於子像素位置之內插濾波器為先前用於該子像素位置之內插濾波器(1506)。
可在包括無線手機及積體電路(IC)或積體電路之集合(亦即,晶片組)之廣泛多種器件或裝置中實施本發明之技術。已描述了經提供以強調功能態樣之任何組件、模組或單元且未必需要由不同硬體單元來實現。
因此,本文中所描述之技術可以硬體、軟體、韌體或其任何組合來實施。若以硬體來實施,則描述為模組、單元或組件之任何特徵可一起實施於整合式邏輯器件中或單獨地實施為離散但可交互操作之邏輯器件。若以軟體來實施,則可至少部分地藉由包含指令之電腦可讀媒體來實現該等技術,當在處理器中執行時,該等指令執行以上所描述之方法中的一或多者。該電腦可讀媒體可包含非暫時性電腦可讀儲存媒體且可形成電腦程式產品之部分,該電腦程式產品可包括封裝材料。該電腦可讀儲存媒體可包含隨機存取記憶體(RAM)(諸如,同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體,及其類似者。或者或另外,該等技術可至少部分地藉由攜載或傳達呈指令或資料結構之形式的程式碼且可由電腦存取、讀取及/或執行的電腦可讀通信媒體來實現。
可藉由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體邏輯電路或離散邏輯電路的一或多個處理器來執行程式碼。因此,如本文中所使用,術語「處理器」可指代上述結構或適合於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文中所描述之功能性可提供於經組態以用於編碼及解碼的專用軟體模組或硬體模組內,或併入於組合之視訊編解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
已描述了本發明之各種態樣。此等及其他實例在以下申請專利範圍之範疇內。
10...視訊編碼及解碼系統
12...源器件
15...通信頻道
16...目的地器件
20...視訊源
22...視訊編碼器
23...調變器/解調變器(數據機)
24...傳輸器
26...接收器
27...數據機
28...視訊解碼器
30...顯示器件
32...預測單元
34...記憶體
35...運動估計(ME)單元
37...運動補償(MC)單元
38...變換單元
39...濾波器單元/濾波單元
40...量化單元
41...係數預測與量化單元
42...逆量化單元
44...逆變換單元
46...熵編碼單元
48...加法器
50...視訊編碼器
51...加法器
52...熵解碼單元
53...係數預測與逆量化單元
55...預測單元
56...逆量化單元
58...逆變換單元
60...視訊解碼器
62...記憶體/參考圖框儲存器
64...求和器
圖1為說明可實施本發明之技術的一例示性視訊編碼及解碼系統的方塊圖。
圖2為說明與本發明一致之可執行濾波技術的視訊編碼器之實例的方塊圖。
圖3為說明與預測資料相關聯之整數像素位置及與經內插之預測資料相關聯之子像素位置的概念圖。
圖4為說明與預測資料相關聯之整數像素位置及與經內插之預測資料相關聯之垂直子像素位置及水平子像素位置的概念圖。
圖5為說明與預測資料相關聯之整數像素位置及與經內插之預測資料相關聯之非垂直且非水平子像素2L子像素位置的概念圖。
圖6為說明關於子像素位置之具有係數對稱性之水平8像素濾波器支援的概念圖。
圖7為說明關於子像素位置之不具有係數對稱性之水平8像素濾波器支援的概念圖。
圖8為說明關於子像素位置之具有係數對稱性之垂直8像素濾波器支援的概念圖。
圖9為說明關於子像素位置之不具有係數對稱性之垂直8像素濾波器支援的概念圖。
圖10為說明視訊解碼器之實例的方塊圖,該視訊解碼器可解碼以本文中所描述之方式編碼之視訊序列。
圖11為用於說明與本發明一致之用於濾波器發信號之技術的流程圖。
圖12為用於說明與本發明一致之用於濾波器發信號之技術的流程圖。
圖13為用於說明與本發明一致之用於濾波器發信號之技術的流程圖。
圖14為用於說明與本發明一致之用於濾波器發信號之技術的流程圖。
圖15為用於說明與本發明一致之用於內插濾波之技術的流程圖。
32...預測單元
34...記憶體
35...運動估計(ME)單元
37...運動補償(MC)單元
38...變換單元
39...濾波器單元/濾波單元
40...量化單元
41...係數預測與量化單元
42...逆量化單元
44...逆變換單元
46...熵編碼單元
48...加法器
50...視訊編碼器
51...加法器

Claims (45)

  1. 一種預測視訊信號之方法,其包含:計算一像素區塊之一第一子像素位置之一第一子像素值,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值,其中計算該第一子像素值包含應用一第一內插濾波器,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;計算該像素區塊之一第二子像素位置之一第二子像素值,其中計算該第二子像素值包含應用一第二內插濾波器及應用一第三內插濾波器,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的一第三一維陣列,其中:該第一子像素位置係一第一四分之一像素位置;該第二子像素位置係一第二四分之一像素位置;該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波器係數;及基於至少該第一子像素值及該第二子像素值來產生一預測區塊。
  2. 如請求項1之方法,其中:該第一內插濾波器包含一8分接頭濾波器;該第二內插濾波器包含一6分接頭濾波器;且, 該第三內插濾波器包含一6分接頭濾波器。
  3. 如請求項1之方法,其中該第一內插濾波器之該等濾波器支援位置對應於整數像素位置之一集合。
  4. 如請求項1之方法,其中該第一子像素位置處於與整數像素位置共同之一垂直軸或與整數像素位置共同之一水平軸上。
  5. 如請求項1之方法,其中該第二子像素位置不處於與整數像素位置共同之一垂直軸上且不處於與整數像素位置共同之一水平軸上。
  6. 如請求項1之方法,其中該方法形成一視訊編碼程序之部分,該方法進一步包含:編碼發信號位元,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  7. 如請求項6之方法,其中該等發信號位元單獨地識別該第二內插濾波器及該第三內插濾波器。
  8. 如請求項6之方法,其中該等發信號位元識別包含該第二內插濾波器及該第三內插濾波器之一組合。
  9. 如請求項1之方法,其中該方法形成一視訊編碼程序之部分,該方法進一步包含:編碼一旗標,其中該旗標指示待用於一子像素位置之一內插濾波器為先前用於該子像素位置之該內插濾波器。
  10. 如請求項1之方法,其中該方法形成一視訊解碼程序之部分,該方法進一步包含: 解碼發信號位元,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  11. 一種用於預測視訊信號之裝置,其包含:一記憶體,其經組態以儲存像素區塊,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值;一處理器,其耦接於該記憶體且經組態以進行以下操作:計算該像素區塊之一第一子像素位置之一第一子像素值及該像素區塊之一第二子像素位置之一第二子像素值,其中該第一子像素位置係一第一四分之一像素位置;該第二子像素位置係一第二四分之一像素位置;一第一子像素值係藉由應用一第一內插濾波器而計算,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;一第二子像素值係藉由應用一第二內插濾波器及應用一第三內插濾波器來計算,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的一第三一維陣列;該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波 器係數;及基於至少該第一子像素值及該第二子像素值來產生一預測區塊。
  12. 如請求項11之裝置,其中:該第一內插濾波器包含一8分接頭濾波器;該第二內插濾波器包含一6分接頭濾波器;且,該第三內插濾波器包含一6分接頭濾波器。
  13. 如請求項11之裝置,其中該第一內插濾波器之該等濾波器支援位置對應於整數像素位置之一集合。
  14. 如請求項11之裝置,其中該第一子像素值對應於處於與整數像素位置共同之一垂直軸或與整數像素位置共同之一水平軸上的一像素位置。
  15. 如請求項11之裝置,其中該第二子像素值對應於不處於與整數像素位置共同之一垂直軸上且不處於與整數像素位置共同之一水平軸上的一像素位置。
  16. 如請求項11之裝置,其中該處理器經進一步組態以產生發信號位元,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  17. 如請求項16之裝置,其中該等發信號位元單獨地識別該第二內插濾波器及該第三內插濾波器。
  18. 如請求項16之裝置,其中該等發信號位元識別包含該第二內插濾波器及該第三內插濾波器之一組合。
  19. 如請求項11之裝置,其中該處理器經進一步組態以產生一旗標以供傳輸,其中該旗標指示待用於一子像素位置 之一內插濾波器為先前用於該子像素位置之該內插濾波器。
  20. 如請求項11之裝置,其中該處理器經進一步組態以解碼發信號位元,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  21. 如請求項11之裝置,其中該處理器經進一步組態以解碼一旗標,其中該旗標指示待用於一子像素位置之一內插濾波器為先前用於該子像素位置之該內插濾波器。
  22. 如請求項11之裝置,其中該處理器為一視訊編碼器件之一組件。
  23. 如請求項11之裝置,其中該處理器為一視訊解碼器件之一組件。
  24. 一種用於預測視訊信號之裝置,其包含:用於計算一像素區塊之一第一子像素位置之一第一子像素值的構件,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值以及其中計算該第一子像素值包含應用一第一內插濾波器,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;用於計算該像素區塊之一第二子像素位置之一第二子像素值的構件,其中計算該第二子像素值包含應用一第二內插濾波器及應用一第三內插濾波器,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波 器支援位置之濾波器係數的一第三一維陣列,其中:該第一子像素位置係一第一四分之一像素位置;該第二子像素位置係一第二四分之一像素位置;該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波器係數;及用於基於至少該第一子像素值及該第二子像素值來產生一預測區塊的構件。
  25. 如請求項24之裝置,其中:該第一內插濾波器包含一8分接頭濾波器;該第二內插濾波器包含一6分接頭濾波器;且,該第三內插濾波器包含一6分接頭濾波器。
  26. 如請求項24之裝置,其中該第一內插濾波器之該等濾波器支援位置對應於整數像素位置之一集合。
  27. 如請求項24之裝置,其中該第一子像素位置處於與整數像素位置共同之一垂直軸或與整數像素位置共同之一水平軸上。
  28. 如請求項24之裝置,其中該第二子像素位置不處於與整數像素位置共同之一垂直軸上且不處於與整數像素位置共同之一水平軸上。
  29. 如請求項24之裝置,其進一步包含:用於編碼發信號位元的構件,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  30. 如請求項29之裝置,其中該等發信號位元單獨地識別該第二內插濾波器及該第三內插濾波器。
  31. 如請求項29之裝置,其中該等發信號位元識別包含該第二內插濾波器及該第三內插濾波器之一組合。
  32. 如請求項24之裝置,其進一步包含:用於編碼一旗標的構件,其中該旗標指示待用於一子像素位置之一內插濾波器為先前用於該子像素位置之該內插濾波器。
  33. 如請求項24之裝置,其進一步包含:用於解碼發信號位元的構件,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  34. 如請求項24之裝置,其進一步包含:用於解碼一旗標的構件,其中該旗標指示待用於一子像素位置之一內插濾波器為先前用於該子像素位置之該內插濾波器。
  35. 一種非暫態電腦可讀儲存媒體,其具有儲存於其上之一或多個指令,該一或多個指令在由一或多個處理器執行時使該一或多個處理器進行以下操作:計算一像素區塊之一第一子像素位置之一第一子像素值,其中該像素區塊包括對應於該像素區塊內之整數像素位置之整數像素值以及其中計算該第一子像素值包含應用一第一內插濾波器,該第一內插濾波器定義對應於濾波器支援位置之濾波器係數的一第一一維陣列;計算該像素區塊之一第二子像素位置之一第二子像素 值,其中計算該第二子像素值包含應用一第二內插濾波器及應用一第三內插濾波器,該第二內插濾波器定義對應於水平濾波器支援位置之濾波器係數的一第二一維陣列,該第三內插濾波器定義對應於垂直濾波器支援位置之濾波器係數的一第三一維陣列,其中:該第一子像素位置係一第一四分之一像素位置;該第二子像素位置係一第二四分之一像素位置;該第一一維陣列包含比該第二一維陣列多之濾波器係數;該第一一維陣列包含比該第三一維陣列多之濾波器係數;及基於至少該第一子像素值及該第二子像素值來產生一預測區塊。
  36. 如請求項35之電腦可讀儲存媒體,其中:該第一內插濾波器包含一8分接頭濾波器;該第二內插濾波器包含一6分接頭濾波器;且,該第三內插濾波器包含一6分接頭濾波器。
  37. 如請求項35之電腦可讀儲存媒體,其中該第一內插濾波器之該等濾波器支援位置對應於整數像素位置之一集合。
  38. 如請求項35之電腦可讀儲存媒體,其中該第一子像素位置處於與整數像素位置共同之一垂直軸或與整數像素位置共同之一水平軸上。
  39. 如請求項35之電腦可讀儲存媒體,其中該第二子像素位 置不處於與整數像素位置共同之一垂直軸上且不處於與整數像素位置共同之一水平軸上。
  40. 如請求項35之電腦可讀儲存媒體,其儲存一或多個額外指令,該一或多個額外指令在由該一或多個處理器執行時使該一或多個處理器進行以下操作:編碼發信號位元,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  41. 如請求項40之電腦可讀儲存媒體,其中該等發信號位元單獨地識別該第二內插濾波器及該第三內插濾波器。
  42. 如請求項40之電腦可讀儲存媒體,其中該等發信號位元識別包含該第二內插濾波器及該第三內插濾波器之一組合。
  43. 如請求項35之電腦可讀儲存媒體,其儲存一或多個額外指令,該一或多個額外指令在由該一或多個處理器執行時使該一或多個處理器進行以下操作:編碼一旗標,其中該旗標指示待用於一子像素位置之一內插濾波器為先前用於該子像素位置之該內插濾波器。
  44. 如請求項35之電腦可讀儲存媒體,其儲存一或多個額外指令,該一或多個額外指令在由該一或多個處理器執行時使該一或多個處理器進行以下操作:解碼發信號位元,其中該等發信號位元識別待用於一子像素位置之一特定內插濾波器。
  45. 如請求項35之電腦可讀儲存媒體,其儲存一或多個額外指令,該一或多個額外指令在由該一或多個處理器執行時使該一或多個處理器進行以下操作:解碼一旗標,其中該旗標指示待用於一子像素位置之一內插濾波器為先前用於該子像素位置之該內插濾波器。
TW100112669A 2010-04-12 2011-04-12 混合分接頭濾波器 TWI437888B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US32325010P 2010-04-12 2010-04-12
US35074310P 2010-06-02 2010-06-02
US36118810P 2010-07-02 2010-07-02
US13/012,583 US9219921B2 (en) 2010-04-12 2011-01-24 Mixed tap filters

Publications (2)

Publication Number Publication Date
TW201220854A TW201220854A (en) 2012-05-16
TWI437888B true TWI437888B (zh) 2014-05-11

Family

ID=44760908

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100112669A TWI437888B (zh) 2010-04-12 2011-04-12 混合分接頭濾波器

Country Status (17)

Country Link
US (1) US9219921B2 (zh)
EP (2) EP2559249A1 (zh)
JP (2) JP5607236B2 (zh)
KR (1) KR101469338B1 (zh)
CN (1) CN102835108B (zh)
AU (1) AU2011240766B2 (zh)
BR (1) BR112012026153A2 (zh)
CA (1) CA2795204C (zh)
HK (1) HK1177078A1 (zh)
IL (1) IL222338A (zh)
MX (1) MX2012011882A (zh)
MY (1) MY154574A (zh)
RU (1) RU2543953C2 (zh)
SG (1) SG184313A1 (zh)
TW (1) TWI437888B (zh)
WO (1) WO2011130187A1 (zh)
ZA (1) ZA201208137B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120134425A1 (en) * 2010-11-29 2012-05-31 Faouzi Kossentini Method and System for Adaptive Interpolation in Digital Video Coding
US9172972B2 (en) 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
US20120230407A1 (en) 2011-03-11 2012-09-13 General Instrument Corporation Interpolation Filter Selection Using Prediction Index
US9264725B2 (en) 2011-06-24 2016-02-16 Google Inc. Selection of phase offsets for interpolation filters for motion compensation
KR101590736B1 (ko) 2011-07-01 2016-02-01 모토로라 모빌리티 엘엘씨 시간 예측을 위한 공동 서브 픽셀 보간 필터
US20140078394A1 (en) * 2012-09-17 2014-03-20 General Instrument Corporation Selective use of chroma interpolation filters in luma interpolation process
US11122262B2 (en) * 2014-06-27 2021-09-14 Samsung Electronics Co., Ltd. System and method for motion compensation in video coding
US10009622B1 (en) 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
KR20180042899A (ko) * 2016-10-19 2018-04-27 디지털인사이트 주식회사 적응적 보간 필터를 사용하는 비디오 코딩 방법 및 장치
US10841610B2 (en) * 2017-10-23 2020-11-17 Avago Technologies International Sales Pte. Limited Block size dependent interpolation filter selection and mapping
GB2574380A (en) * 2018-05-30 2019-12-11 Realvnc Ltd Processing image data

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421698B1 (en) * 1998-11-04 2002-07-16 Teleman Multimedia, Inc. Multipurpose processor for motion estimation, pixel processing, and general processing
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US20040247190A1 (en) 2001-09-18 2004-12-09 Makoto Hagai Image encoding method and image decoding method
WO2003058945A2 (en) * 2002-01-14 2003-07-17 Nokia Corporation Coding dynamic filters
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
US7620109B2 (en) 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US20040076333A1 (en) 2002-10-22 2004-04-22 Huipin Zhang Adaptive interpolation filter system for motion compensated predictive video coding
EP1617672A1 (en) 2004-07-13 2006-01-18 Matsushita Electric Industrial Co., Ltd. Motion estimator/compensator including a 16-bit 1/8 pel interpolation filter
US7623575B2 (en) 2005-01-05 2009-11-24 Lsi Corporation Method and apparatus for sub-pixel motion compensation
EP1915872A1 (en) 2005-08-15 2008-04-30 Nokia Corporation Method and apparatus for sub-pixel interpolation for updating operation in video coding
US20080075165A1 (en) 2006-09-26 2008-03-27 Nokia Corporation Adaptive interpolation filters for video coding
EP2092752A2 (en) 2006-12-01 2009-08-26 France Telecom Adaptive interpolation method and system for motion compensated predictive video coding and decoding
EP2127391A2 (en) * 2007-01-09 2009-12-02 Nokia Corporation Adaptive interpolation filters for video coding
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8416861B2 (en) * 2007-10-14 2013-04-09 Nokia Corporation Fixed-point implementation of an adaptive image filter with high coding efficiency
EP2106136A1 (en) 2008-03-28 2009-09-30 Sony Corporation Motion compensated temporal interpolation for frame rate conversion of video signals
US8705622B2 (en) 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
US8804831B2 (en) 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US20090257499A1 (en) 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US8462842B2 (en) 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
US9077971B2 (en) 2008-04-10 2015-07-07 Qualcomm Incorporated Interpolation-like filtering of integer-pixel positions in video coding
JP4977094B2 (ja) 2008-06-25 2012-07-18 株式会社東芝 画像符号化方法
US9078007B2 (en) 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
JP5158003B2 (ja) 2009-04-14 2013-03-06 ソニー株式会社 画像符号化装置と画像符号化方法およびコンピュータ・プログラム

Also Published As

Publication number Publication date
US20110249737A1 (en) 2011-10-13
RU2012147772A (ru) 2014-05-27
AU2011240766B2 (en) 2014-02-13
CA2795204C (en) 2015-12-08
TW201220854A (en) 2012-05-16
IL222338A0 (en) 2012-12-31
BR112012026153A2 (pt) 2020-08-18
SG184313A1 (en) 2012-11-29
CN102835108A (zh) 2012-12-19
MY154574A (en) 2015-06-30
JP2014222902A (ja) 2014-11-27
AU2011240766A1 (en) 2012-11-01
JP5607236B2 (ja) 2014-10-15
KR101469338B1 (ko) 2014-12-24
WO2011130187A1 (en) 2011-10-20
ZA201208137B (en) 2013-06-26
US9219921B2 (en) 2015-12-22
CN102835108B (zh) 2015-07-01
RU2543953C2 (ru) 2015-03-10
EP4060989A1 (en) 2022-09-21
IL222338A (en) 2016-06-30
MX2012011882A (es) 2012-11-30
JP2013524731A (ja) 2013-06-17
EP2559249A1 (en) 2013-02-20
CA2795204A1 (en) 2011-10-20
KR20130029077A (ko) 2013-03-21
HK1177078A1 (zh) 2013-08-09

Similar Documents

Publication Publication Date Title
TWI437888B (zh) 混合分接頭濾波器
TWI542222B (zh) 用於基於固定濾波器或適應性濾波器用於視訊編碼之由率失真定義之內插之方法、裝置、器件及電腦可讀儲存媒體
EP2586207B1 (en) Inclusion of switched interpolation filter coefficients in a compressed bit-stream
JP5166601B2 (ja) サブピクセル解像度におけるオフセット
JP5619725B2 (ja) ビデオコーディングにおけるサブピクセル解像度のための補間フィルタサポート
KR101313956B1 (ko) 스위칭된 보간 필터들에서의 오프셋 계산
JP5180366B2 (ja) ビデオコーディングにおけるサブピクセル位置の補間フィルタリングに対する対称性
TWI523528B (zh) 用於視訊編碼中整體像素位置之似內插濾波之方法、裝置、器件及電腦可讀儲存媒體
JP5766878B2 (ja) 低減解像度ピクセル補間
JP2017508346A (ja) ビデオコーディングのための適応的な動きベクトル分解シグナリング
JP2011517237A (ja) ビデオ・コーディングにおける補間のための予測技法
TW201119410A (en) Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
RU2571511C2 (ru) Кодирование карт глубин движения с изменением диапазона глубины