TWI445408B - 使用大於4x4及8x8之轉換之視訊編碼 - Google Patents

使用大於4x4及8x8之轉換之視訊編碼 Download PDF

Info

Publication number
TWI445408B
TWI445408B TW098133635A TW98133635A TWI445408B TW I445408 B TWI445408 B TW I445408B TW 098133635 A TW098133635 A TW 098133635A TW 98133635 A TW98133635 A TW 98133635A TW I445408 B TWI445408 B TW I445408B
Authority
TW
Taiwan
Prior art keywords
block
conversion
size
video
predicted
Prior art date
Application number
TW098133635A
Other languages
English (en)
Other versions
TW201028011A (en
Inventor
Peisong Chen
Yan Ye
Marta Karczewicz
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 TW201028011A publication Critical patent/TW201028011A/zh
Application granted granted Critical
Publication of TWI445408B publication Critical patent/TWI445408B/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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

Description

使用大於4x4及8x8之轉換之視訊編碼
本發明係關於使用大於8×8之轉換大小來編碼且解碼視訊資料。
本申請案主張2008年10月3日申請之美國臨時申請案第61/102,783號及2009年5月18日申請之美國臨時申請案第61/179,228號之權利,其中每一者之全部內容以引用的方式併入本文中。
可將數位視訊能力併入至大範圍的器件內,包括數位電視、數位直播系統、諸如無線電電話聽筒之無線通信器件、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、數位相機、數位記錄器件、視訊遊戲器件、視訊遊戲機及類似者。數位視訊器件實施諸如MPEG-2、MPEG-4或H.264/MPEG-4第10部分進階視訊編碼(AVC)之視訊壓縮技術,以更高效地傳輸且接收數位視訊。視訊壓縮技術執行空間及時間預測以減少或移除視訊序列中固有的冗餘。
視訊壓縮通常包括空間預測及/或時間預測。詳言之,框內編碼(intra-coding)依靠空間預測來減少或移除一特定經編碼單元內之視訊區塊之間的空間冗餘,該特定經編碼單元可包含視訊圖框、視訊圖框之片段或類似者。相比之下,框間編碼(inter-coding)依靠時間預測來減少或移除視訊序列之連續的經編碼單元之視訊區塊之間的時間冗餘。針對框內編碼,視訊編碼器基於同一經編碼單元內之其他資料來執行空間預測以壓縮資料。針對框間編碼,視訊編碼器執行運動估計及運動補償以追蹤兩個或兩個以上相鄰的經編碼單元之匹配視訊區塊之移動。
在空間或時間預測後,藉由自正被編碼的原始視訊區塊減去在預測程序期間產生之預測視訊區塊而產生一殘餘區塊。該殘餘區塊因此指示預測區塊與正被編碼之當前區塊之間的差。視訊編碼器可應用轉換、量化及熵編碼程序來進一步減小與殘餘區塊之通信相關聯之位元率。轉換技術可將一組像素值變成轉換係數,該等轉換係數在頻域中表示像素值之能量。將量化應用於轉換係數,且表示通常包含限制與任一特定係數相關聯的位元之數目之程序。在熵編碼前,視訊編碼器將量化係數區塊掃描成一維係數向量。視訊編碼器熵編碼量化轉換係數之該向量以進一步壓縮殘餘資料。
視訊解碼器可執行熵解碼操作以擷取該等係數。亦可在解碼器處執行反掃描以自接收到之一維係數向量形成二維區塊。視訊解碼器接著反量化且反轉換該等係數以獲得重建之殘餘區塊。視訊解碼器接著基於包括運動資訊之預測資訊來解碼預測視訊區塊。視訊解碼器接著將預測視訊區塊添加至對應的重建之殘餘區塊以便產生重建之視訊區塊且產生經解碼之視訊資訊序列。
本申請案之系統、方法及器件各自具有若干態樣,該等態樣中無單一態樣單獨負責其合意屬性。在不限制由以下之申請專利範圍表達的本申請案之範疇的情況下,現將簡要論述其較突出的特徵。在考慮此論述後,且尤其在閱讀標題為「實施方式」之章節後,應理解本申請案之範例特徵可如何提供一些改良,其中包括(例如)改良之視訊編碼效率。
在一實施例中,存在一種編碼視訊資料之方法,該方法包含:基於一預測模式將空間預測或運動補償應用於一視訊圖框內之一原始視訊區塊以產生一預測視訊區塊;自該視訊圖框內之該原始視訊區塊減去該預測視訊區塊以形成一殘餘區塊;選擇一具有一第一轉換大小之轉換以應用於該殘餘區塊;產生指示該選定轉換之標頭資料,該標頭資料包含一具有一指示至少一轉換大小之第一值的第一語法元素及一指示該預測視訊區塊之一預測區塊大小的第二語法元素,其中該第一語法元素與該第二語法元素共同指示該第一轉換大小;將該選定轉換應用於該殘餘區塊以產生殘餘轉換係數;及基於該標頭資料及該等殘餘轉換係數來產生一視訊信號。
在另一實施例中,存在一種解碼視訊資料之方法,該方法包含:接收一指示一視訊圖框內的至少一區塊之視訊信號,該視訊信號包含用於該至少一區塊之標頭資料及用於該至少一區塊之殘餘轉換係數,該標頭資料包含一具有一指示至少一轉換大小之第一值的第一語法元素及一指示該至少一區塊之一預測區塊大小的第二語法元素,其中該第一語法元素與該第二語法元素共同指示一具有一用以編碼該至少一區塊的第一轉換大小之轉換;將空間預測或運動補償應用於該至少一區塊以產生該至少一區塊之一具有該預測區塊大小的預測視訊區塊;基於該第一語法元素及該第二語法元素來判定用以編碼該至少一區塊的該第一轉換大小;對該等殘餘轉換係數應用一具有該所判定第一轉換大小的反轉換以獲得一經解碼之殘餘區塊;及將該經解碼之殘餘區塊添加至該預測視訊區塊以獲得一經解碼之視訊區塊。
在另一實施例中,存在一種用於編碼視訊資料之裝置,該裝置包含:用於基於一預測模式將空間預測或運動補償應用於一視訊圖框內之一原始視訊區塊以產生一預測視訊區塊之構件;用於自該視訊圖框內之該原始視訊區塊減去該預測視訊區塊以形成一殘餘區塊之構件;用於選擇一具有一第一轉換大小之轉換以應用於該殘餘區塊之構件;用於產生指示該選定轉換之標頭資料之構件,該標頭資料包含一具有一指示至少一轉換大小之第一值的第一語法元素及一指示該預測視訊區塊之一預測區塊大小的第二語法元素,其中該第一語法元素與該第二語法元素共同指示該第一轉換大小;用於將該選定轉換應用於該殘餘區塊以產生殘餘轉換係數之構件;及用於基於該標頭資料及該等殘餘轉換係數來產生一視訊信號之構件。
在另一實施例中,存在一種用於解碼視訊資料之裝置,該裝置包含:用於接收一指示一視訊圖框內的至少一區塊之視訊信號之構件,該視訊信號包含用於該至少一區塊之標頭資料及用於該至少一區塊之殘餘轉換係數,該標頭資料包含一具有一指示至少一轉換大小之第一值的第一語法元素及一指示該至少一區塊之一預測區塊大小的第二語法元素,其中該第一語法元素與該第二語法元素共同指示一具有一用以編碼該至少一區塊的第一轉換大小之轉換;用於將空間預測或運動補償應用於該至少一區塊以產生該至少一區塊之一具有該預測區塊大小的預測視訊區塊之構件;用於基於該第一語法元素及該第二語法元素來判定用以編碼該至少一區塊的該第一轉換大小之構件;用於對該等殘餘轉換係數應用一具有該所判定第一轉換大小的反轉換以獲得一經解碼之殘餘區塊之構件;及用於將該經解碼之殘餘區塊添加至該預測視訊區塊以獲得一經解碼之視訊區塊之構件。
在另一實施例中,存在一種編碼視訊資料之系統,該系統包含:一預測單元,其經組態以基於一預測模式將空間預測或運動補償應用於一視訊圖框內之一原始視訊區塊以產生一預測視訊區塊;一求和器,其經組態以自該視訊圖框內之該原始視訊區塊減去該預測視訊區塊以形成一殘餘區塊;一處理器,其經組態以選擇一具有一第一轉換大小之轉換以應用於該殘餘區塊且產生指示該選定轉換之標頭資料,該標頭資料包含一具有一指示至少一轉換大小之第一值的第一語法元素及一指示該預測視訊區塊之一預測區塊大小的第二語法元素,其中該第一語法元素與該第二語法元素共同指示該第一轉換大小;一區塊轉換單元,其經組態以將該選定轉換應用於該殘餘區塊以產生殘餘轉換係數;及一熵編碼單元,其經組態以基於該標頭資料及該等殘餘轉換係數來產生一視訊信號。
在另一實施例中,存在一種解碼視訊資料之系統,該系統包含:一接收器,其經組態以接收一指示一視訊圖框內的至少一區塊之視訊信號,該視訊信號包含用於該至少一區塊之標頭資料及用於該至少一區塊之殘餘轉換係數,該標頭資料包含一具有一指示至少一轉換大小之第一值的第一語法元素及一指示該至少一區塊之一預測區塊大小的第二語法元素,其中該第一語法元素與該第二語法元素共同指示一具有一用以編碼該至少一區塊的第一轉換大小之轉換;一預測單元,其經組態以將空間預測或運動補償應用於該至少一區塊以產生該至少一區塊之一具有該預測區塊大小的預測視訊區塊;一處理器,其經組態以基於該第一語法元素及該第二語法元素來判定用以編碼該至少一區塊的該第一轉換大小;一反轉換單元,其經組態以對該等殘餘轉換係數應用一具有該所判定第一轉換大小的反轉換以獲得一經解碼之殘餘區塊;及一求和器,其經組態以將該經解碼殘餘區塊添加至該預測視訊區塊以獲得一經解碼之視訊區塊。
以下詳細描述係針對某些具體實施例。然而,可以大量不同方式來應用本文中之教示。在此描述中,對圖式進行參考,其中始終用相似數字表示相似部分。
一實施例係針對用於視訊編碼及解碼之轉換大小語法元素。藉由在影像及視訊信號之編碼及解碼程序中實施一組簡化的轉換選擇規則及指導方針,有可能創建低位元率語法。如所描述,轉換大小語法為在編碼器處指示特定轉換大小之方式以及在解碼器處解譯該轉換大小之方式。轉換大小語法元素可用以指示將使用的轉換大小且可包括一包含若干位元之旗標值。注意,以下詳細描述可通常互換地使用術語「視訊」、「影像」與「圖像」。因此,本發明之各種態樣的範疇不應受術語之間的差異之概念限制。
圖1為說明執行如本發明中所描述之編碼技術的視訊編碼及解碼系統10之方塊圖。如圖1中所示,系統10包括一經由一通信頻道16將經編碼視訊資料傳輸至一目的地器件14之源器件12。源器件12可包括一視訊源18、一視訊編碼器20及一發射器22。源器件12之視訊源18可包括視訊捕獲器件(諸如,視訊攝影機)、含有先前捕獲之視訊的視訊檔案或來自視訊內容提供者之視訊饋入。作為另一選擇對象,視訊源18可產生基於電腦圖形之資料作為源視訊,或實況視訊與電腦產生之視訊的組合。在一些情況下,源器件12可為無線電話或視訊電話,在此情況下,視訊源18可為電話上之視訊攝影機。在每一情況下,所捕獲、預先捕獲或電腦產生之視訊可由視訊編碼器20編碼以經由發射器22及通信頻道16自源器件12傳輸至目的地器件14。
視訊編碼器20自視訊源18接收視訊資料。自視訊源18接收之視訊資料可為一系列視訊圖框。視訊編碼器20將該系列視訊圖框分為編碼單元且處理該等編碼單元以編碼該系列視訊圖框。舉例而言,編碼單元可為整個圖框或圖框之部分(亦即,片段)。因此,在一些情況下,可將圖框分為片段。視訊編碼器20將每一編碼單元分為像素區塊(本文中被稱作視訊區塊或區塊)且對個別編碼單元內之視訊區塊進行操作以便編碼視訊資料。因而,一編碼單元(例如,圖框或片段)可含有多個視訊區塊。換言之,一視訊序列可包括多個圖框,一圖框可包括多個片段,且一片段可包括多個視訊區塊。
視訊區塊可具有固定或變化的大小,且大小可根據規定之編碼標準而不同。作為一實例,國際電信聯盟標準化部門(ITU-T)H.264/MPEG-4第10部分進階視訊編碼(AVC)(在下文中為「H.264/MPEG-4第10部分AVC」標準)支援以各種區塊大小(諸如,針對明度分量之16×16、8×8或4×4像素,及針對色度分量之8×8像素)進行之框內預測。可以各種區塊大小(諸如,針對明度分量之16×16、16×8、8×16、8×8、8×4、4×8及4×4像素,及針對色度分量之相應按比例調整後大小)來執行框間預測。在H.264中,舉例而言,可將16乘16像素之每一視訊區塊(常被稱作巨集區塊(MB))再分為更小大小之子區塊且在子區塊中加以框內或框間預測。一般而言,可認為MB及各種子區塊係視訊區塊。因此,可認為MB係視訊區塊,且若被分割或再分割,則可認為MB自身定義視訊區塊之集合。
針對視訊區塊中之每一者,視訊編碼器20為該區塊選擇一區塊類型。區塊類型可指示是使用框間預測還是框內預測來預測該區塊以及指示該區塊之預測區塊大小。舉例而言,H.264/MPEG-4第10部分AVC標準支援許多框間及框內預測區塊類型,包括框間16×16、框間16×8、框間8×16、框間8×8、框間8×4、框間4×8、框間4×4、框內16×16、框內8×8及框內4×4。如以下詳細地描述,視訊編碼器20可針對待編碼的視訊區塊中之每一者選擇該等區塊類型中之一者。
視訊編碼器20亦為該等視訊區塊中之每一者選擇一預測模式。在經框內編碼之視訊區塊之情況下,預測模式可判定使用一或多個先前編碼之視訊區塊來預測當前視訊區塊之方式。在H.264/MPEG-4第10部分AVC標準中,舉例而言,視訊編碼器20可為每一框內4×4區塊選擇以下九個可能的單向預測模式中之一者:垂直預測模式、水平預測模式、DC預測模式、對角向下-向左預測模式、對角向下-向右預測模式、垂直-向右預測模式、水平-向下預測模式、垂直-向左預測模式及水平-向上預測模式。可使用類似的預測模式來預測每一框內8×8區塊。針對框內16×16區塊,視訊編碼器20可選擇以下四個可能的單向模式中之一者:垂直預測模式、水平預測模式、DC預測模式及平面預測模式。在一些情況下,視訊編碼器20可自一組預測模式選擇預測模式,該組預測模式不僅包括單向預測模式,而且亦包括定義該等單向模式之組合的一或多個多向預測模式。舉例而言,該一或多個多向預測模式可為組合兩個單向預測模式之雙向預測模式。
在選擇用於視訊區塊之預測模式後,視訊編碼器20使用選定預測模式產生預測視訊區塊。自原始視訊區塊減去預測視訊區塊以形成殘餘區塊。殘餘區塊包括一組像素差值,該組像素差值量化原始視訊區塊之像素值與所產生預測區塊之像素值之間的差。可以二維區塊格式(例如,像素差值之二維矩陣或陣列)來表示殘餘區塊。
在產生殘餘區塊後,視訊編碼器20可在編碼該區塊前對殘餘區塊執行若干其他操作。視訊編碼器20可將轉換(諸如,整數轉換、DCT轉換、方向轉換或小波轉換)應用於像素值之殘餘區塊以產生轉換係數之區塊。轉換係數可為殘餘區塊之頻域表示。因此,視訊編碼器20將殘餘像素值變換為轉換係數(亦被稱作殘餘轉換係數)。殘餘轉換係數可被稱作轉換區塊或係數區塊。當應用不可分離式轉換時,殘餘轉換係數可為係數之一維表示,或者當應用可分離式轉換時,殘餘轉換係數可為係數之二維表示。不可分離式轉換可包括不可分離式方向轉換。可分離式轉換可包括可分離式方向轉換、DCT轉換、整數轉換及小波轉換。
在轉換後,視訊編碼器20執行量化以產生量化轉換係數(亦被稱作量化係數或量化殘餘係數)。此外,可以一維向量格式或二維區塊格式來表示量化係數。量化通常指代係數經量化而有可能減少用來表示該等係數的資料之量之程序。量化程序可減小與該等係數中之一些或全部相關聯的位元深度。如本文中所使用,術語「係數」可表示轉換係數、量化係數或其他類型之係數。在一些情況下,可將本發明之技術應用於殘餘像素值、量化殘餘像素值,以及轉換係數及量化轉換係數。
當使用可分離式轉換且以二維區塊格式來表示係數區塊時,視訊編碼器20將係數自二維格式掃描至一維格式。換言之,視訊編碼器20可掃描來自二維區塊之係數以將該等係數串列化為一維係數向量。根據本發明的態樣中之一者,視訊編碼器20可基於所收集之統計量來調整用以將係數區塊變換至一維的掃描次序。統計量可包含對二維區塊之每一位置中的一特定係數值為零還是非零的可能性之指示,且可(例如)包含與二維區塊之係數位置中之每一者相關聯的計數、機率或其他統計度量。在一些情況下,可僅針對區塊之係數位置之一子集來收集統計量。當評估掃描次序時(例如,在特定數目個區塊後),可改變掃描次序,使得在區塊內之經判定為具有非零係數之機率較低的係數位置之前掃描區塊內之經判定為具有非零係數之機率較高的係數位置。以此方式,初始掃描次序可經調適以更高效地使非零係數聚集在一維係數向量之開始處且使零值係數聚集在一維係數向量之結束處。因為在一維係數向量之開始處在非零係數之間存在較短的零連串且在一維係數向量之結束處存在一較長的零連串,所此方式又可減少在熵編碼上花費的位元之數目。
在掃描該等係數後,視訊編碼器20使用多種熵編碼方法(諸如,內容適應性可變長度編碼(CAVLC)、內容適應性二進位算術編碼(CABAC)、連串長度編碼或類似者)中之任一者來編碼該編碼單元之視訊區塊中的每一者。源器件12經由傳輸器22及頻道16將經編碼視訊資料傳輸至目的地器件14。通信頻道16可包含任何無線或有線通信媒體(諸如,射頻(RF)頻譜或一或多個實體傳輸線)或無線媒體與有線媒體之任何組合。通信頻道16可形成基於封包之網路(諸如,區域網路、廣域網路或全球網路(諸如,網際網路))的部分。通信頻道16通常表示用於將經編碼視訊資料自源器件12傳輸至目的地器件14之任何適合的通信媒體或不同通信媒體之集合。
目的地器件14可包括接收器24、視訊解碼器26及顯示器件28。接收器24(其係一接收視訊信號之構件)經由頻道16自源器件12接收經編碼之視訊位元流。視訊解碼器26應用熵解碼以解碼經編碼之視訊位元流以獲得經編碼單元的經編碼視訊區塊之標頭資訊、運動向量及量化殘餘係數。如上所述,由源器件12編碼之量化殘餘係數被編碼為一維向量。視訊解碼器26因此掃描經編碼視訊區塊之量化殘餘係數以將一維係數向量變換為量化殘餘係數之二維區塊。像視訊編碼器20一樣,視訊解碼器26可收集指示視訊區塊中之一特定係數位置為零還是非零的可能性之統計量且藉此以與編碼程序中所使用之方式相同的方式來調整掃描次序。因此,可由視訊解碼器26應用相反的適應性掃描次序,以便將串列化之量化轉換係數之一維向量表示變換回至量化轉換係數之二維區塊。
視訊解碼器26使用經解碼之標頭資訊及經解碼之殘餘資訊來重建經編碼單元的區塊中之每一者。詳言之,視訊解碼器26可使用作為標頭資訊之一部分而包括的預測及運動資訊來產生一用於當前視訊區塊之預測視訊區塊且組合該預測區塊與一對應的殘餘視訊區塊以重建該等視訊區塊中之每一者。目的地器件14可經由顯示器件28向使用者顯示該重建之視訊區塊。顯示器件28可包含多種顯示器件中之任一者,諸如,陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、發光二極體(LED)顯示器、有機LED顯示器或另一類型之顯示單元。
在一些情況下,源器件12及目的地器件14可以大體上對稱的方式操作。舉例而言,源器件12及目的地器件14可各自包括視訊編碼及解碼組件。因此,系統10可支援器件12、14之間的單向或雙向視訊傳輸(例如)以用於視訊串流、視訊廣播或視訊電話。包括視訊編碼及解碼組件之器件亦可形成普通的編碼、歸檔及回放器件(諸如,數位視訊記錄器(DVR))之部分。
視訊編碼器20及視訊解碼器26可根據多種視訊壓縮標準中之任一者而操作,視訊壓縮標準諸如:由動畫專家組(MPEG)在MPEG-1、MPEG-2及MPEG-4中定義之標準;ITU-T H.263標準;H.264/MPEG4第10部分AVC標準;電影與電視工程師協會(SMPTE)421M視訊CODEC標準(通常被稱作「VC-1」);由中國音訊視訊編碼標準工作組定義之標準(通常被稱作「AVS」);以及由一標準團體定義之或由一組織作為專屬標準所開發的任何其他視訊編碼標準。儘管在圖1中未圖示,但在一些態樣中,視訊編碼器20及視訊解碼器26各自可分別與音訊編碼器及解碼器整合,且可包括適當的MUX-DEMUX單元或其他硬體及軟體以處置一共同資料流或單獨的資料流中之音訊及視訊兩者的編碼。以此方式,源器件12及目的地器件14可對多媒體資料進行操作。適用時,MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
在一些態樣中,針對視訊廣播,本發明中所描述之技術可應用於增強型H.264視訊編碼,以用於在陸地行動多媒體多播(TM3)系統中使用僅前向鏈路(FLO)空中介面規範「Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast」來傳遞即時視訊服務,該規範係作為技術標準TIA-1099(「FLO規範」)於2007年7月出版。亦即,通信頻道16可包含一用以根據FLO規範或類似者來廣播無線視訊資訊之無線資訊頻道。FLO規範包括定義位元流語法及語義之實例及適合於FLO空中介面的解碼程序。
或者,可根據諸如DVB-H(掌上型數位視訊廣播)、ISDB-T(陸地整合服務數位廣播)或DMB(數位媒體廣播)之其他標準來廣播視訊。因此,源器件12可為行動無線終端機、視訊串流伺服器或視訊廣播伺服器。然而,本發明中所描述之技術不限於任何特定類型之廣播、多播或點對點系統。在廣播之情況下,源器件12可向多個目的地器件廣播視訊資料之若干頻道,該等目的地器件中之每一者可類似於圖1之目的地器件14。因此,雖然圖1中針對視訊廣播應用展示了單一目的地器件14,源器件12將通常向許多目的地器件同時廣播視訊內容。
在其他實例中,發射器22、通信頻道16及接收器24可經組態以用於根據任何有線或無線通信系統進行通信,有線或無線通信系統包括乙太網、電話(例如,POTS)、電纜、電力線及光纖系統及/或一無線系統中之一或多者,該無線系統包含下列中之一或多者:分碼多重存取(CDMA或CDMA2000)通信系統、分頻多重存取(FDMA)系統、正交分頻多重存取(OFDM)系統、分時多重存取(TDMA)系統(諸如,GSM(全球行動通信系統)、GPRS(通用封包無線電服務)或EDGE(增強型資料GSM環境))、TETRA(陸地集群無線電)行動電話系統、寬頻分碼多重存取(WCDMA)系統、高資料速率1xEV-DO(第一代僅演進資料)或1xEV-DO Gold Multicast系統、IEEE 802.18系統、MediaFLO.TM.系統、DMB系統、DVB-H系統或用於兩個或兩個以上器件之間的資料通信之另一方案。
視訊編碼器20及視訊解碼器26各自可實施為一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。視訊編碼器20及視訊解碼器26中之每一者可包括於一或多個編碼器或解碼器中,其中任一者可整合為各別行動器件、用戶器件、廣播器件、伺服器或類似者中的組合式編碼器/解碼器(CODEC)之部分。此外,源器件12及目的地器件14各自可包括在適用時用於對經編碼視訊之傳輸及接收之適當的調變、解調變、頻率變換、濾波及放大器組件,該等組件包括射頻(RF)無線組件及足以支援無線通信之天線。然而,為了易於說明,在圖1中將此等組件概述為源器件12之發射器22及目的地器件14之接收器24。
圖2為說明視訊編碼器20之一實例之方塊圖。視訊解碼器26可包括與視訊編碼器20類似之組件。視訊編碼器20可執行視訊圖框內的區塊之框內及框間編碼。框內編碼依靠空間預測來減少或移除一特定視訊圖框內的視訊中之空間冗餘。框間編碼依靠時間預測來減少或移除相鄰圖框內的視訊中之時間冗餘。針對框間編碼,視訊編碼器20執行運動估計以追蹤兩個或兩個以上相鄰圖框之間的匹配視訊區塊之移動。
如圖2中所示,視訊編碼器20接收待編碼的視訊圖框內之當前視訊區塊21。在圖2之實例中,視訊編碼器20包括運動預測單元23、參考圖框儲存器25、區塊轉換單元29、量化單元31、反量化單元33、反轉換單元35、熵編碼單元37、模式決定單元43、空間預測單元47及解區塊濾波器49。視訊編碼器20亦包括求和器39、求和器41及開關51。視訊編碼器20亦可包括用於掃描該等量化係數之掃描單元(未圖示)。圖2說明視訊編碼器20的用於視訊區塊之框間編碼之時間預測組件及用於視訊區塊之框內編碼之空間預測組件。開關51可受模式決定單元43控制且可用以在空間預測視訊區塊或時間預測視訊區塊之間作出選擇以作為用於輸入視訊區塊的預測視訊區塊。
為了評估框間編碼,運動預測單元23比較視訊區塊21與一或多個相鄰視訊圖框中之區塊以產生一或多個運動向量。可自參考圖框儲存器25擷取該或該等相鄰圖框。可對具有可變大小(例如,16×16、16×8、8×16、8×8或更小區塊大小)之區塊執行運動估計。運動預測單元23(例如,基於速率失真模型)識別一相鄰圖框中之最緊密匹配於當前視訊區塊21之一區塊,且判定該等區塊之間的位移。基於此操作,運動預測單元23產生一指示該位移之量值及軌跡之運動向量。
運動向量可具有二分之一或四分之一像素精度,或者甚至更精細的精度,此允許視訊編碼器20以比整數像素位置高的精度來追蹤運動且獲得更佳預測區塊。當使用具有分數像素值之運動向量時,可在運動預測單元23中進行內插操作。舉例而言,在AVC/H.264標準中,為了獲得在二分之一像素位置處之明度信號,可使用具有係數(1,-5,20,20,-5,1)/32之6分接頭式維納(Wiener)濾波器。為了獲得在四分之一像素位置處之明度信號,可使用對在整數像素位置處之值及在二分之一像素位置處之內插值的雙線性濾波。在針對色度分量之分數像素內插中亦可使用雙線性濾波器,其可具有高達1/8像素精度。在使用速率失真模型來識別一視訊區塊之最佳運動向量後,運動預測單元23藉由運動補償來輸出一預測視訊區塊。
在替代例中,為了評估框內編碼,使用空間預測單元47以使用同一編碼單元(例如,同一圖框)中之已編碼之區塊來形成一預測視訊區塊。舉例而言,可比較視訊區塊21與在與視訊區塊21相同的圖框中之其他已編碼之區塊。在一些實施例中,可自參考圖框儲存器25擷取已編碼之區塊。在一些實施例中,可使用各種空間預測方法。舉例而言,在H.264/MPEG-4 AVC中,可對大小為4×4、8×8及/或16×16之視訊區塊執行方向性空間預測。另外,可將總共9個預測方向用於4×4及8×8照度區塊。可將總共4個預測方向用於16×16照度區塊及色度區塊。可在同一編碼單元中執行其他類型之空間預測。舉例而言,可使用與運動估計類似之程序在當前編碼單元之已編碼之部分中識別當前視訊區塊之一匹配視訊區塊。另外,可判定匹配視訊區塊與當前視訊區塊之間的位移量且接著作為當前視訊區塊的經編碼視訊標頭資料之部分加以傳訊。模式決定單元43可基於預定義之準則(諸如,拉格朗日(Lagrangian)速率失真模型)選擇最佳空間預測模式(例如,預測區塊大小、預測方向或預測視訊區塊之位移等)。
視訊編碼器20藉由在求和器39(其係一用於自原始區塊減去預測區塊之構件)處自原始當前視訊區塊21減去由運動預測單元23或空間預測單元47產生之預測視訊區塊而形成殘餘視訊區塊。區塊轉換單元29(其係一用於應用轉換之構件)將轉換應用於殘餘區塊。可由模式決定單元43對區塊轉換單元29指示將使用的轉換之大小及類型。量化單元31量化轉換係數以進一步減小位元率。熵編碼單元37(其係一用於產生視訊信號之構件)熵編碼量化係數以更進一步減小位元率。視訊解碼器26執行反操作以重建經編碼視訊。
反量化單元33及反轉換單元35分別應用反量化及反轉換以重建該殘餘區塊。求和器41將重建之殘餘區塊添加至預測區塊以產生一重建之視訊區塊以用於儲存於參考圖框儲存器25中。由運動預測單元23或空間預測單元47使用該重建之視訊區塊來編碼在當前視訊圖框或一後續視訊圖框中之後續視訊區塊。
在對當前視訊區塊21中之一特定區塊執行運動補償時,運動預測單元23可使用一組固定的濾波器對來自參考圖框之一參考區塊進行內插。若當前區塊經單向預測,則需要一個參考區塊,或若當前區塊經雙向預測,則需要兩個參考區塊。在H.264中,在一些情況下可使用在正向及反向方向中之多個參考圖框。在運動預測單元23中使用之實際濾波器視運動向量之分數部分而定。舉例而言,若運動向量在一特定維度中指向參考圖框中之二分之一像素位置以獲得該二分之一像素位置之值,則在具有二分之一像素運動向量之該維度中使用諸如(1,-5,20,20,-5,1)/32之6分接頭式濾波器。若兩個運動向量分量皆指向整數位置,則可在不執行任何內插濾波操作之情況下直接使用來自參考圖框儲存器25中之參考圖框的像素值。
圖7為說明視訊解碼器26之一實例的方塊圖。將經編碼位元流饋入至系統700中。該位元流之部分可對應於不同視訊區塊。另外,該等視訊區塊中之若干視訊區塊可構成單一視訊圖框。在熵解碼單元702處熵解碼該位元流之對應於一特定視訊區塊的一部分以形成包含量化殘餘轉換係數之殘餘區塊。接著可在反掃描單元(未圖示)處反掃描該殘餘區塊。亦可在反量化單元706處反量化該殘餘區塊且在反轉換單元708處反轉換該殘餘區塊以形成經解碼之殘餘區塊。熵解碼單元702可基於接收到之標頭資料來判定要執行之反轉換之類型及/或大小(如下文所論述)。產生一預測視訊區塊且在添加單元710處將其添加至經解碼之殘餘區塊。
可使用兩種類型之預測方法(框內及框間)中之一者來形成該預測視訊區塊。空間預測單元716使用在同一視訊圖框中(或若使用視訊片段作為編碼單元,則在同一視訊片段中)之已編碼之區塊以產生框內預測區塊。運動補償單元718使用在儲存於參考圖框儲存器720處之先前及/或未來圖框以產生框間預測區塊。視指示用以編碼該視訊區塊之編碼模式的接收到之標頭資料而定,可切換開關722以調用空間預測單元716或運動補償單元718來產生框內或框間預測區塊。接著在添加單元710處將預測區塊添加至經解碼之殘餘區塊以產生經解碼之視訊區塊。
接著將所得重建之視訊區塊發送至解區塊濾波單元712,在解區塊濾波單元712處,可在區塊邊緣處對其進行濾波以防止可能在視覺上無吸引力的區塊假影(blocking artifact)。產生之輸出為最終的經解碼之視訊區塊。可將最終的經解碼之視訊區塊儲存於參考圖框儲存器720中以用於在相同的或其他的視訊圖框中之其他視訊區塊之重建。
為了適當地解碼經編碼視訊流,解碼器應知曉已使用哪種類型之轉換來編碼視訊資料。解碼器可接著應用對應於在編碼器處使用之正轉換之適當的反轉換。因此,需要將指示用以編碼視訊區塊的轉換之類型之資料作為視訊位元流之一部分發送至解碼器來適當地解碼該視訊區塊。
如關於圖2所描述,區塊轉換單元29將轉換應用於殘餘視訊區塊。對殘餘區塊應用轉換提供了所要的能量集中,其在與量化及熵編碼組合時致能高壓縮效率。在風行的基於區塊之視訊編碼系統(諸如MPEG2及H.264/AVC)中使用的轉換之實例包括8×8 DCT轉換及4×4及8×8整數轉換。
H.264/AVC標準為提供高編碼效率的最新視訊編碼標準。H.264/AVC使用各種類型之區塊轉換。針對經框內(空間預測)及框間(時間預測)預測之區塊,H.264/AVC使用基於4×4 DCT轉換之4×4整數轉換或基於8×8 DCT轉換之8×8整數轉換。
針對視訊信號之色度信號,對每一區塊中之2×2 DC分量應用一額外層次之2×2哈達馬德(Hadamard)轉換。
針對視訊信號之照度信號,如下選擇轉換。首先判定區塊是經框內預測還是經框間預測。若區塊經框間預測,則接下來判定區塊大小是否小於8×8。若區塊小於8×8,則使用4×4整數轉換。若區塊不小於8×8,則使用4×4或8×8整數轉換。
若區塊經框內預測,則判定該區塊是否係使用INTRA_16×16模式加以預測。若該區塊係使用INTRA_16×16模式加以預測,則將4×4整數轉換應用於該區塊且對每一區塊中之4×4 DC分量應用一額外層次之4×4哈達馬德轉換。若該區塊並非使用INTRA_16×16模式加以預測,則在該區塊係使用INTRA_4×4模式加以預測的情況下使用4×4整數轉換且在該區塊係使用INTRA_8×8模式加以預測的情況下使用8×8整數轉換。
在可對區塊使用4×4或8×8轉換之情況下,轉換之選擇視正在使用的H.264/AVC規範而定。在並非高規範之任何H.264規範(例如,基線規範、擴展之基線規範、主規範)下,僅使用4×4整數轉換。在H.264/AVC高規範(亦即,保真度範圍擴展)下,亦可對照度信號使用基於8×8 DCT轉換之8×8整數轉換。藉由一額外語法元素transform_size_8×8_flag來傳訊對4×4或8×8整數轉換之選擇。在可使用4×4或8×8轉換(例如,具有不小於8×8之大小的經框間編碼之區塊)之情況下,將transform_size_8×8_flag與經編碼視訊資料一起發送至解碼器。若transform_size_8×8_flag經設定為1,則對殘餘區塊應用8×8整數轉換;否則(若transform_size_8×8_flag經設定為0),對殘餘區塊應用4×4整數轉換。
在H.264/AVC中,可對諸如16×16、16×8、8×16、8×8、8×4、4×8及4×4之各種區塊大小執行運動預測(亦即,運動分割)。雖然在物件邊緣及具有大量細節之區域周圍通常使用較小運動分割,但在較平滑之區域周圍通常選擇較大運動分割。結果,在運動預測後之殘餘區塊亦通常較平滑,亦即,其傾向於含有較多的低頻分量。針對此等信號,應用較大的轉換可提供較好的能量集中。用於選擇運動分割及轉換大小之方法及編碼器描述於美國專利第5,107,345號、美國專利第6,996,283號及美國專利第6,600,836號中,該等專利全部在此以引用的方式併入。如上所述,H.264/AVC針對被框間編碼之視訊區塊僅使用4×4及8×8整數轉換。4×4及8×8整數轉換由transform_size_8×8_flag之值指示,該值當前限於1位元大小。因此,無法指示具有在H.264中使用之當前語法之額外轉換大小,因為1位元的transform_size_8×8_flag可僅傳訊兩種轉換類型。以下描述允許指示由編碼器及解碼器使用之額外轉換大小的語法及語法元素。在一些實施例中,語法元素包含指示轉換大小的2位元旗標值。可作為發送至解碼器的標頭資訊之部分而包括該旗標值。
在以下實施例中,可結合所描述之方法而使用經框間預測之視訊區塊或經框內預測之視訊區塊。亦即,可藉由運動補償或空間預測來形成視訊區塊之預測區塊。在使用運動補償之實施例中,預測區塊大小等於運動分割大小;因此,可互換地使用術語「預測區塊」與「運動分割」。另外,在使用空間預測之實施例中,預測區塊大小等於所使用的空間預測區塊之大小。因此,可互換地使用「預測區塊」與「框內預測區塊」或「空間預測區塊」。舉例而言,可針對使用INTRA_16×16及INTRA_8×8預測予以編碼之視訊區塊使用多個轉換選擇。除了4×4轉換之外,可將16×16、16×8、8×16或8×8轉換應用於經INTRA_16×16預測之視訊區塊;且將8×8轉換應用於經INTRA_8×8預測之視訊區塊。針對經框內預測之區塊,可以類似於經框間預測之視訊區塊的方式進行對轉換大小之傳訊。可將轉換大小旗標語法元素與預測區塊大小語法元素組合;且可使用轉換大小旗標語法元素之可變長度編碼。
以下描述之語法使用旗標值以及特定區塊之預測區塊大小兩者來指示轉換大小。區塊之預測區塊大小與旗標值之組合允許指示比當使用旗標值與轉換大小之間的1對1對應關係時多的轉換大小。舉例而言,在轉換大小與旗標值之間的1對1對應關係中,2位元旗標將僅指示4個不同轉換大小,其中每一旗標值指示單一轉換大小。然而,藉由進一步利用區塊之預測區塊大小,可針對旗標使用相同數目個位元而指示額外轉換大小。舉例而言,若旗標值00指示轉換大小應等於區塊之預測區塊大小且預測區塊大小可具有N個不同區塊大小,則單一旗標值00可指示N個不同轉換大小。因此,在一實施例中,旗標值中之一或多者可指示正使用之轉換大小等於區塊之預測區塊大小。在另一實施例中,可使用可變長度編碼來編碼旗標值。
圖3為在編碼器處設定一旗標值之程序300之一例示性實施例,該旗標值傳訊由編碼器20針對一特定視訊區塊所使用的轉換大小。可在模式決定單元43處判定每一視訊區塊之預測區塊大小,且可在區塊轉換單元29處執行轉換(見圖2)。可由模式決定單元43進行預測區塊大小之選擇及對區塊使用的轉換大小之選擇。在程序300之第一步驟302處,判定特定區塊之預測區塊大小是否大於8×8。若預測區塊大小不大於8×8,則程序繼續至步驟306。或者,若預測區塊大小大於8×8,則程序繼續進行至步驟338。
在步驟306處,判定預測區塊大小是否小於8×8。若預測區塊大小小於8×8,則程序300繼續進行至步驟310,在步驟310中將4×4轉換應用於區塊。程序300接著繼續至步驟314,在步驟314中不設定將發送至解碼器之旗標值。或者,若在步驟306處判定預測區塊大小不小於8×8,則程序繼續進行至步驟318,在步驟318中判定將對區塊使用之轉換大小是否為8×8。若判定將不使用8×8轉換大小,則程序300繼續至步驟322,在步驟322中將4×4轉換應用於區塊,且程序300接著繼續至步驟326,在步驟326中設定將發送至解碼器的值為0之1位元旗標。在替代例中,在步驟318處判定將使用8×8轉換,程序繼續至步驟330,在步驟330中將8×8轉換應用於區塊,且程序接著繼續至步驟334,在步驟334中設定將發送至解碼器的值為1之1位元旗標。
若在步驟302處判定預測區塊大小大於8×8,則程序繼續進行至步驟338。在步驟338處,在編碼器處自動或手動地判定是否將對特定區塊使用大於8×8之轉換大小。若將不使用大於8×8之轉換大小,則程序300繼續至步驟342,在步驟342中判定將對特定區塊使用之轉換大小是否為8×8。若將使用之轉換大小不是8×8,則程序300繼續至步驟346,在步驟346中將4×4轉換應用於區塊,且程序300接著繼續至步驟350,在步驟350中設定將發送至解碼器的1位元旗標值0。在替代例中,若將使用之轉換大小為8×8,則程序300繼續至步驟354,在步驟354中將8×8轉換應用於區塊,且程序300接著繼續至步驟358,在步驟358中設定將發送至解碼器的2位元旗標值10。
若在步驟338處判定將使用之轉換大小大於8×8,則程序300繼續至步驟362。在步驟362處判定特定區塊之預測區塊大小是否為16×16。若判定預測區塊大小為16×16,則程序300繼續進行至步驟366,在步驟366中將16×16轉換應用於該區塊,且程序300接著繼續進行至步驟382。或者,若在步驟362處判定預測區塊大小不是16×16,則程序300繼續至步驟370,在步驟370中判定預測區塊大小是否為8×16。若判定預測區塊大小為8×16,則程序300繼續至下一個步驟374,在步驟374中將8×16轉換應用於該區塊,且程序300接著繼續至步驟382。或者,若判定預測區塊大小不是8×16,則程序300繼續至下一個步驟378,在步驟378中將16×8轉換應用於該區塊,且程序300接著繼續至步驟382。在步驟382處,設定將發送至解碼器的2位元旗標值 11。
根據程序300,旗標值對應於以下轉換類型:
一般熟習此項技術者應認識到,可省略程序300之步驟中之一些可添加新步驟以達成相同結果。另外,可按不同次序進行該等步驟中之一些。應注意,可重排列旗標值(例如,0為8×8轉換且10為4×4轉換)。
圖4為在編碼器處設定一旗標值之另一程序400之一例示性實施例,該旗標值傳訊由編碼器20針對一特定視訊區塊所使用的轉換大小。可在模式決定單元43處判定預測區塊大小,且可在區塊轉換單元29處執行轉換。由模式決定單元43進行預測區塊大小之選擇及對區塊使用的轉換大小之選擇。在程序400之第一步驟402處,判定特定區塊之預測區塊大小是否大於8×8。若預測區塊大小不大於8×8,則程序繼續至步驟406。或者,若預測區塊大小大於8×8,則程序繼續進行至步驟438。
在步驟406處,判定預測區塊大小是否小於8×8。若預測區塊大小小於8×8,則程序400繼續進行至步驟410,在步驟410中將4×4轉換應用於區塊。程序400接著繼續至步驟414,在步驟414中不設定將發送至解碼器之旗標值。或者,若在步驟406處判定預測區塊大小不小於8×8,則程序繼續進行至步驟418,在步驟418中判定將對區塊使用之轉換大小是否為8×8。若判定將不使用8×8轉換大小,則程序400繼續至步驟422,在步驟422中將4×4轉換應用於區塊,且程序400接著繼續至步驟426,在步驟426中設定將發送至解碼器的值為0之1位元旗標。在替代例中,在步驟418處判定將使用8×8轉換,程序繼續至步驟430,在步驟430中將8×8轉換應用於區塊,且程序接著繼續至步驟434,在步驟434中設定將發送至解碼器的值為1之1位元旗標。
若在步驟402處判定預測區塊大小大於8×8,則程序繼續進行至步驟438。在步驟438處判定預測區塊大小是否為16×16。若預測區塊大小為16×16,則程序400繼續進行至步驟442,在步驟442中判定將應用於區塊之轉換大小是否為8×8。若判定將使用之轉換大小為8×8,則程序400繼續進行至步驟446,在步驟446中將8×8轉換應用於特定區塊,且程序400接著繼續進行至步驟450,在步驟450中設定將發送至解碼器的值為00之兩位元旗標。或者,若在步驟442處判定將應用之轉換大小不是8×8,則程序442繼續進行至步驟454,在步驟454中判定是否將對該區塊應用16×16轉換。若將應用16×16轉換,則程序400繼續至步驟458,在步驟458中將16×16轉換應用於特定區塊,且程序400接著繼續至步驟462,在步驟462中設定將發送至解碼器的值為01之兩位元旗標。若改為在步驟454處判定將應用之轉換大小不為16×16,則程序400繼續至步驟466,在步驟466中判定將應用於該特定區塊之轉換大小是否為16×8。若將應用之轉換大小為16×8,則程序400繼續至步驟470,在步驟470中將16×8轉換應用於該特定區塊,且程序400接著繼續至步驟474,在步驟474中設定將發送至解碼器的值為10之兩位元旗標。在替代例中,若在步驟466處判定將應用於該區塊之轉換大小不是16×8,則程序400繼續至步驟478,在步驟478中將8×16轉換應用於該特定區塊,且程序400接著繼續至步驟482,在步驟482中設定將發送至解碼器的值為11之兩位元旗標。
若在步驟438處判定預測區塊大小不是16×16,則程序400繼續至步驟484,在步驟484中判定將應用於該特定區塊之轉換大小是否為8×8。若將應用之轉換為8×8,則程序400繼續至步驟492,在步驟492中將8×8轉換應用於該區塊,且程序400接著繼續至步驟426,在步驟426中設定將發送至解碼器的1位元旗標值0。在替代例中,若在步驟484處判定將應用於該區塊之轉換大小不是8×8,則程序繼續至步驟486,在步驟486中判定預測區塊大小是否為16×8。若預測區塊大小為16×8,則程序400繼續至步驟488,在步驟488中對區塊執行16×8轉換,且程序400接著繼續至步驟434。在替代例中,若在步驟486處判定預測區塊大小不是16×8,則程序400繼續至步驟490,在步驟490中對區塊執行8×16轉換,且程序400接著繼續至步驟434。在步驟434處,設定將發送至解碼器的值為1之一位元旗標。
根據程序400,旗標值對應於以下轉換類型:
一般熟習此項技術者應認識到,可省略程序400之步驟中之一些或可添加新步驟以達成相同結果。另外,可按不同次序進行該等步驟中之一些。應注意,可重排列旗標值(例如,00為16×16轉換及01為8×8轉換)。
圖5為用於在解碼器26處對一由編碼器20使用程序300予以編碼之區塊執行反轉換的程序500之一例示性實施例。可包括熵解碼單元、空間預測單元、運動補償單元、反量化單元、反轉換單元、熵解碼單元及求和器(此外還有其他組件)之解碼器26為執行程序500之步驟的一構件。另外,解碼器26之各種組件可用以執行程序500之不同步驟。在步驟502處判定預測區塊大小是否大於8×8。若預測區塊大小大於8×8,則程序繼續進行至步驟518,在步驟518中,解碼器尋找1位元或2位元旗標值且基於旗標值及預測區塊大小來執行反轉換。表1中展示了將使用的反轉換之類型。或者,若在步驟502處判定預測區塊大小不大於8×8,則程序500繼續至步驟506,在步驟506中判定預測區塊大小是否小於8×8。若預測區塊大小小於8×8,則程序500繼續進行至下一個步驟510,在步驟510中執行4×4反轉換。若改為在步驟506處判定預測區塊大小不小於8×8,則程序繼續進行至步驟514,在步驟514中,解碼器尋找1位元旗標值且基於旗標值來執行反轉換。表1中展示了將使用的反轉換之類型。
圖6為用於在解碼器26處對一由編碼器20使用程序400予以編碼之區塊執行反轉換的程序600之一例示性實施例。解碼器26(其可為處理器)為執行程序600之步驟的一構件。在步驟602處判定預測區塊大小是否大於8×8。若預測區塊大小大於8×8,則程序繼續進行至步驟618,在步驟618中判定預測區塊大小是否為16×16。若預測區塊大小為16×16,則程序600繼續至步驟622,在步驟622中,解碼器尋找2位元旗標值且根據旗標值對區塊執行反轉換。表2中展示了將使用的反轉換之類型。或者,若在步驟618處判定預測區塊大小不是16×16,則程序600繼續至步驟626,在步驟626中,解碼器尋找1位元旗標值且基於1位元旗標值及運動分割大小來執行反轉換。表2中展示了將使用的反轉換之類型。
若在步驟602處判定預測區塊大小不大於8×8,則程序600繼續至步驟606,在步驟606中判定預測區塊大小是否小於8×8。若預測區塊大小小於8×8,則程序600繼續進行至下一個步驟610,在步驟610中執行4×4反轉換。若改為在步驟606處判定預測區塊大小不小於8×8,則程序繼續進行至步驟614,在步驟614中,解碼器尋找1位元旗標值且基於旗標值來執行反轉換。表2中展示了將使用的反轉換之類型。
程序300、400、500及600描述用於判定對視訊區塊使用的轉換之大小之特定語法。一般熟習此項技術者應認識到,該等程序僅為編碼並解碼區塊並且設定旗標值之例示性程序。應注意,可使用具有額外步驟、較少步驟或具有經重排列之步驟的其他程序來達成與表1或表2中所展示之語法相同的語法。另外,一般熟習此項技術者應認識到,可改變指派給每一轉換指示的特定旗標值。另外,可形成類似於在表1及表2中見到之語法的語法。
亦應注意,可使用額外轉換大小(例如,32×32)及預測區塊大小(例如,32×32)以編碼並解碼區塊並且設定旗標值。舉例而言,雖然針對旗標值仍僅使用2個位元(如上所述),但旗標可指示32×32之轉換大小。舉例而言,在程序300中,步驟362可判定預測區塊大小是否等於32×32,且步驟370可判定預測區塊大小是否等於16×32。接著可修改步驟366、374及378以使得在每一步驟處分別對區塊執行32×32、16×32或32×16轉換。因此,在步驟358處設定之旗標值將指示32×32、16×32或32×16之轉換,而不是16×16、8×16或16×8之轉換。可進行額外修改以使用旗標值與預測區塊大小之組合來指示額外轉換大小。
將旗標值之位元作為經編碼視訊資料的部分沿著通信頻道16發送。視編碼方案而定,沿著所發送之位元流,旗標值之位元之置放可不同。旗標值可為發送至解碼器的標頭之部分。標頭標頭可含有可識別當前視訊區塊之特定特性(諸如,區塊類型、預測模式、針對明度及色度之編碼區塊型樣(CBP)、預測區塊大小及一或多個運動向量)的額外標頭語法元素。舉例而言,可在視訊編碼器20內之熵編碼單元37處產生此等標頭語法元素。
在一實施例中,標頭包括一用以指示在編碼區塊中是否存在非零係數之位元。若存在非零係數,則指示轉換大小之位元亦包括於標頭中。若不存在非零係數,則不發送轉換大小位元。在另一實施例中,不管是否存在非零係數,均在每一標頭中發送轉換大小元素。
本發明中描述之技術可實施於硬體、軟體、韌體或其任何組合中。描述為單元或組件之任何特徵可一起實施於整合式邏輯器件中或單獨實施為離散但可交互操作的邏輯器件。若實施於軟體中,則該等技術可至少部分地由包含指令之電腦可讀媒體實現,該等指令在被執行時執行上述方法之一或多者。電腦可讀媒體可形成電腦程式產品之部分,該電腦程式產品可包括封裝材料。電腦可讀媒體可包含諸如同步動態隨機存取記憶體(SDRAM)之隨機存取記憶體(RAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及類似者。另外或其他,該等技術可至少部分地由電腦可讀通信媒體實現,該電腦可讀通信媒體載運或傳達呈指令或資料結構之形式的程式碼且可由電腦存取、讀取及/或執行。
程式碼可由一或多個處理器執行,諸如,一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路。因此,如本文中使用之術語「處理器」可指代前述結構或適合於實施本文中所描述之技術之任何其他結構中的任一者。此外,在一些態樣中,本文中所描述之功能性可提供於經組態以用於編碼及解碼之專用軟體單元或硬體單元內,或併入於組合式視訊編碼器解碼器(CODEC)中。將不同特徵描繪為單元意欲突出所說明之器件的不同功能態樣,且未必暗示此等單元必須由單獨的硬體或軟體組件實現。實情為,與一或多個單元相關聯之功能性可整合於共同或單獨的硬體或軟體組件內。
已描述本發明之各種實施例。此等及其他實施例在以下申請專利範圍之範疇內。
10...視訊編碼及解碼系統
12...源器件
14...目的地器件
16...通信頻道
18...視訊源
20...視訊編碼器
21...當前視訊區塊
22...發射器
23...運動預測單元
24...接收器
25...參考圖框儲存器
26...視訊解碼器
28...顯示器件
29...區塊轉換單元
31...量化單元
33...反量化單元
35...反轉換單元
37...熵編碼單元
39...求和器
41...求和器
43...模式決定單元
47...空間預測單元
49...解區塊濾波器
51...開關
300...程序
400...程序
500...程序
600...程序
700...系統
702...熵解碼單元
706...反量化單元
708...反轉換單元
710...添加單元
712...解區塊濾波單元
716...空間預測單元
718...運動補償單元
720...參考圖框儲存器
722...開關
圖1為說明用於視訊信號之編碼及解碼的源器件及目的地器件之方塊圖。
圖2為圖1之視訊編碼器之一實施例之方塊圖。
圖3為設定用於將圖1之編碼器所使用的轉換之類型傳訊至圖1之解碼器之旗標值的程序之一實施例之流程圖。
圖4為設定用於將圖1之編碼器所使用的轉換之類型傳訊至圖1之解碼器之旗標值的程序之另一實施例之流程圖。
圖5為選擇正確的反轉換以用於解碼根據圖3之程序編碼之視訊資料的程序之一實施例之流程圖。
圖6為選擇正確的反轉換以用於解碼根據圖4之程序編碼之視訊資料的程序之另一實施例之流程圖。
圖7為圖1之視訊解碼器之一實施例的方塊圖。
700...系統
702...熵解碼單元
706...反量化單元
708...反轉換單元
710...添加單元
712...解區塊濾波單元
716...空間預測單元
718...運動補償單元
720...參考圖框儲存器
722...開關

Claims (74)

  1. 一種編碼視訊資料之方法,該方法包含:基於一預測模式將空間預測或運動補償應用於一視訊圖框內之一原始視訊區塊以產生一預測視訊區塊;自該視訊圖框內之該原始視訊區塊減去該預測視訊區塊以形成一殘餘區塊;選擇一具有一第一轉換大小之轉換以應用於該殘餘區塊;產生指示該選定轉換之標頭資料,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該預測視訊區塊之一預測區塊大小的第二語法元素,其中該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指示該第一轉換大小;將該選定轉換應用於該殘餘區塊以產生殘餘轉換係數;及基於該標頭資料及該等殘餘轉換係數來產生一視訊信號。
  2. 如請求項1之方法,其中該標頭資料進一步包含一指示一編碼區塊型樣之第三語法元素,該第三語法元素包含一第二值,且其中若該第二值為非零,則該第一語法元素依序跟在該第三語法元素之後。
  3. 如請求項1之方法,其中該第一語法元素之該第一值對 應於複數個轉換大小。
  4. 如請求項3之方法,其中該第一值基於該預測視訊區塊之該預測區塊大小而映射至該第一轉換大小。
  5. 如請求項1之方法,其中該第一轉換大小為大小X×Y,其中X不等於Y。
  6. 如請求項5之方法,其中X及Y中之至少一者等於8,且X及Y中之至少一者等於16。
  7. 如請求項1之方法,其中該第一轉換大小等於該預測視訊區塊之該預測區塊大小。
  8. 如請求項1之方法,其中產生指示該選定轉換之標頭資料包含:判定該預測區塊大小是否大於一第一臨限值;及判定該預測區塊大小是否小於一第二臨限值。
  9. 如請求項8之方法,其中該第一臨限值為8×8,且該第二臨限值為8×8。
  10. 如請求項1之方法,其中產生指示該選定轉換之標頭資料包含:判定該預測區塊大小是否大於一第一臨限值;及判定該預測區塊大小是否等於一第二值。
  11. 如請求項10之方法,其中該第一臨限值為8×8,且該第二值為16×16。
  12. 如請求項10之方法,其中該第一臨限值為8×8,且該第二值為16×8。
  13. 如請求項1之方法,其中該選定轉換為一整數轉換。
  14. 如請求項1之方法,其中該選定轉換為一離散餘弦轉換。
  15. 如請求項1之方法,其中該選定轉換為一方向轉換。
  16. 如請求項1之方法,其中該第一轉換大小與該預測視訊區塊之預測區塊大小不同。
  17. 如請求項1之方法,其中M及N中之至少一者等於或大於32。
  18. 一種解碼視訊資料之方法,該方法包含:接收一指示一視訊圖框內的至少一區塊之視訊信號,該視訊信號包含用於該至少一區塊之標頭資料及用於該至少一區塊之殘餘轉換係數,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該至少一區塊之一預測區塊大小的第二語法元素,其中該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指示一具有一用以編碼該至少一區塊的第一轉換大小之轉換;將空間預測或運動補償應用於該至少一區塊以產生該至少一區塊之一具有該預測區塊大小的預測視訊區塊;基於該第一語法元素及該第二語法元素來判定用以編碼該至少一區塊的該第一轉換大小;對該等殘餘轉換係數應用一具有該所判定第一轉換大小的反轉換以獲得一經解碼之殘餘區塊;及將該經解碼之殘餘區塊添加至該預測視訊區塊以獲得 一經解碼之視訊區塊。
  19. 如請求項18之方法,其中該標頭資料進一步包含一指示一編碼區塊型樣之第三語法元素,該第三語法元素包含一第二值,且其中若該第二值為非零,則該第一語法元素依序跟在該第三語法元素之後。
  20. 如請求項18之方法,其中該第一語法元素之該第一值對應於複數個轉換大小。
  21. 如請求項20之方法,其中該第一值基於該至少一區塊之該預測區塊大小而映射至該第一轉換大小。
  22. 如請求項18之方法,其中該第一轉換大小為大小X×Y,其中X不等於Y。
  23. 如請求項22之方法,其中X及Y中之至少一者等於8,且X及Y中之至少一者等於16。
  24. 如請求項18之方法,其中該第一轉換大小等於該至少一區塊之該預測區塊大小。
  25. 如請求項18之方法,其中判定該第一轉換大小包含:判定該預測區塊大小是否大於一第一臨限值;及判定該預測區塊大小是否小於一第二臨限值。
  26. 如請求項25之方法,其中該第一臨限值為8×8,且該第二臨限值為8×8。
  27. 如請求項18之方法,其中判定該第一轉換大小包含:判定該預測區塊大小是否大於一第一臨限值;及判定該預測區塊大小是否等於一第二值。
  28. 如請求項27之方法,其中該第一臨限值為8×8,且該第 二值為16×16。
  29. 如請求項27之方法,其中該第一臨限值為8×8,且該第二值為16×8。
  30. 如請求項18之方法,其中該反轉換為一整數轉換。
  31. 如請求項18之方法,其中該反轉換為一離散餘弦轉換。
  32. 如請求項18之方法,其中該反轉換為一方向轉換。
  33. 如請求項18之方法,其中該第一轉換大小與該預測視訊區塊之預測區塊大小不同。
  34. 如請求項18之方法,其中M及N中之至少一者等於或大於32。
  35. 一種用於編碼視訊資料之裝置,該裝置包含:用於基於一預測模式將空間預測或運動補償應用於一視訊圖框內之一原始視訊區塊以產生一預測視訊區塊之構件;用於自該視訊圖框內之該原始視訊區塊減去該預測視訊區塊以形成一殘餘區塊之構件;用於選擇一具有一第一轉換大小之轉換以應用於該殘餘區塊之構件;用於產生指示該選定轉換之標頭資料之構件,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該預測視訊區塊之一預測區塊大小的第二語法元素,其中該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指 示該第一轉換大小;用於將該選定轉換應用於該殘餘區塊以產生殘餘轉換係數之構件;及用於基於該標頭資料及該等殘餘轉換係數來產生一視訊信號之構件。
  36. 如請求項35之裝置,其中該用於應用空間預測或運動補償之構件包含一預測單元,該用於減去之構件包含一求和器,該用於選擇該轉換大小之構件包含一模式決定單元,該用於產生標頭資料之構件包含一熵編碼單元,該用於應用該選定轉換之構件包含一區塊轉換單元,且該用於產生一視訊信號之構件包含該熵編碼單元。
  37. 一種用於解碼視訊資料之裝置,該裝置包含:用於接收一指示一視訊圖框內的至少一區塊之視訊信號之構件,該視訊信號包含用於該至少一區塊之標頭資料及用於該至少一區塊之殘餘轉換係數,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該至少一區塊之一預測區塊大小的第二語法元素,其中該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指示一具有一用以編碼該至少一區塊的第一轉換大小之轉換;用於將空間預測或運動補償應用於該至少一區塊以產生該至少一區塊之一具有該預測區塊大小的預測視訊區塊之構件; 用於基於該第一語法元素及該第二語法元素來判定用以編碼該至少一區塊的該第一轉換大小之構件;用於對該等殘餘轉換係數應用一具有該所判定第一轉換大小的反轉換以獲得一經解碼之殘餘區塊之構件;及用於將該經解碼之殘餘區塊添加至該預測視訊區塊以獲得一經解碼之視訊區塊的構件。
  38. 如請求項37之裝置,其中該用於接收之構件包含一接收器,該用於應用空間預測或運動補償之構件包含一預測單元,該用於判定該第一轉換大小之構件包含一熵解碼單元,該用於應用反轉換之構件包含一反轉換單元,且該用於添加之構件包含一求和器。
  39. 一種用於編碼視訊資料之系統,該系統包含:一預測單元,其經組態以將空間預測或運動補償應用於一視訊圖框內之一原始視訊區塊以產生一預測視訊區塊;一求和器,其經組態以自該視訊圖框內之該原始視訊區塊減去該預測視訊區塊以形成一殘餘區塊;一模式決定單元,其經組態以選擇一具有一第一轉換大小之轉換以應用於該殘餘區塊;一區塊轉換單元,其經組態以將該選定轉換應用於該殘餘區塊以產生殘餘轉換係數;及一熵編碼單元,其經組態以:產生指示該選定轉換之標頭資料,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該至少一區域之一 運動分割大小的第二語法元素,其中該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指示該第一轉換大小;且基於該標頭資料及該等殘餘轉換係數來產生一視訊信號。
  40. 如請求項39之系統,其中該標頭資料進一步包含一指示一編碼區塊型樣之第三語法元素,該第三語法元素包含一第二值,且其中若該第二值為非零,則該第一語法元素依序跟在該第三語法元素之後。
  41. 如請求項39之系統,其中該第一語法元素之該第一值對應於複數個轉換大小。
  42. 如請求項41之系統,其中該第一值基於該預測視訊區塊之該預測區塊大小而映射至該第一轉換大小。
  43. 如請求項39之系統,其中該第一轉換大小為大小X×Y,其中X不等於Y。
  44. 如請求項43之系統,其中X及Y中之至少一者等於8,且X及Y中之至少一者等於16。
  45. 如請求項39之系統,其中該第一轉換大小等於該預測視訊區塊之該預測區塊大小。
  46. 如請求項39之系統,其中該熵編碼單元經進一步組態以判定該預測區塊大小是否大於一第一臨限值且判定該預測區塊大小是否小於一第二臨限值。
  47. 如請求項46之系統,其中該第一臨限值為8×8,且該第二臨限值為8×8。
  48. 如請求項39之系統,其中該熵編碼單元經進一步組態以判定該預測區塊大小是否大於一第一臨限值且判定該預測區塊大小是否等於一第二值。
  49. 如請求項48之系統,其中該第一臨限值為8×8,且該第二值為16×16。
  50. 如請求項48之系統,其中該第一臨限值為8×8,且該第二值為16×8。
  51. 如請求項39之系統,其中該選定轉換為一整數轉換。
  52. 如請求項39之系統,其中該選定轉換為一離散餘弦轉換。
  53. 如請求項39之系統,其中該選定轉換為一方向轉換。
  54. 如請求項39之方法,其中該第一轉換大小與該預測視訊區塊之預測區塊大小不同。
  55. 如請求項39之方法,其中M及N中之至少一者等於或大於32。
  56. 一種用於解碼視訊資料之系統,該系統包含:一接收器,其經組態接收一指示一視訊圖框內的至少一區塊之視訊信號,該視訊信號包含用於該至少一區塊之標頭資料及用於該至少一區塊之殘餘轉換係數,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該至少一區塊之一預測區塊大小的第二語法元素,其中該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指 示一具有一用以編碼該至少一區塊的第一轉換大小之轉換;一預測單元,其經組態以將空間預測或運動補償應用於該至少一區塊以產生該至少一區塊之一具有該預測區塊大小的預測視訊區塊;一熵解碼單元,其經組態以基於該第一語法元素及該第二語法元素來判定用以編碼該至少一區塊的該第一轉換大小;一反轉換單元,其經組態以對該等殘餘轉換係數應用一具有該所判定第一轉換大小的反轉換以獲得一經解碼之殘餘區塊;及一求和器,其經組態以將該經解碼之殘餘區塊添加至該預測視訊區塊以獲得一經解碼之視訊區塊。
  57. 如請求項56之系統,其中該標頭資料進一步包含一指示一編碼區塊型樣之第三語法元素,該第三語法元素包含一第二值,且其中若該第二值為非零,則該第一語法元素依序跟在該第三語法元素之後。
  58. 如請求項56之系統,其中該第一語法元素之該第一值對應於複數個轉換大小。
  59. 如請求項58之系統,其中該第一值基於該至少一區塊之該預測區塊大小而映射至該第一轉換大小。
  60. 如請求項56之系統,其中該第一轉換大小為大小X×Y,其中X不等於Y。
  61. 如請求項60之系統,其中X及Y中之至少一者等於8,且 X及Y中之至少一者等於16。
  62. 如請求項56之系統,其中該第一轉換大小等於該至少一區塊之該預測區塊大小。
  63. 如請求項56之系統,其中該熵解碼單元經進一步組態以判定該預測區塊大小是否大於一第一臨限值且判定該預測區塊大小是否小於一第二臨限值。
  64. 如請求項63之系統,其中該第一臨限值為8×8,且該第二臨限值為8×8。
  65. 如請求項56之系統,其中該熵解碼單元經進一步組態以判定該預測區塊大小是否大於一第一臨限值且判定該預測區塊大小是否等於一第二值。
  66. 如請求項65之系統,其中該第一臨限值為8×8,且該第二值為16×16。
  67. 如請求項65之系統,其中該第一臨限值為8×8,且該第二值為16×8。
  68. 如請求項56之系統,其中該反轉換為一整數轉換。
  69. 如請求項56之系統,其中該反轉換為一離散餘弦轉換。
  70. 如請求項56之系統,其中該反轉換為一方向轉換。
  71. 如請求項56之系統,其中該第一轉換大小與該預測視訊區塊之預測區塊大小不同。
  72. 如請求項56之系統,其中M及N中之至少一者等於或大於32。
  73. 一種非暫態電腦可讀儲存媒體,其包含指令,該等指令在被執行時執行一方法,該方法包含: 基於一預測模式將空間預測或運動補償應用於一視訊圖框內之一原始視訊區塊以產生一預測視訊區塊;自該視訊圖框內之該原始視訊區塊減去該預測視訊區塊以形成一殘餘區塊;選擇一具有一第一轉換大小之轉換以應用於該殘餘區塊;產生指示該選定轉換之標頭資料,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該預測視訊區塊之一預測區塊大小的第二語法元素,其中該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指示該第一轉換大小;將該選定轉換應用於該殘餘區塊以產生殘餘轉換係數;及基於該標頭資料及該等殘餘轉換係數來產生一視訊信號。
  74. 一種非暫態電腦可讀儲存媒體,其包含指令,該等指令在被執行時執行一方法,該方法包含:接收一指示一視訊圖框內的至少一區塊之視訊信號,該視訊信號包含用於該至少一區塊之標頭資料及用於該至少一區塊之殘餘轉換係數,該標頭資料包含一具有一指示至少三轉換大小之第一值的第一語法元素及一指示該至少一區塊之一預測區塊大小的第二語法元素,其中 該至少三轉換大小包含至少一N×M轉換大小且M及N中之至少一者等於或大於16,其中該第一語法元素之該第一值僅與該第二語法元素之組合指示一具有一用以編碼該至少一區塊的第一轉換大小之轉換;將空間預測或運動補償應用於該至少一區塊以產生該至少一區塊之一具有該預測區塊大小的預測視訊區塊;基於該第一語法元素及該第二語法元素來判定用以編碼該至少一區塊的該第一轉換大小;對該等殘餘轉換係數應用一具有該所判定第一轉換大小的反轉換以獲得一經解碼之殘餘區塊;及將該經解碼之殘餘區塊添加至該預測視訊區塊以獲得一經解碼之視訊區塊。
TW098133635A 2008-10-03 2009-10-02 使用大於4x4及8x8之轉換之視訊編碼 TWI445408B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10278308P 2008-10-03 2008-10-03
US17922809P 2009-05-18 2009-05-18
US12/508,434 US8483285B2 (en) 2008-10-03 2009-07-23 Video coding using transforms bigger than 4×4 and 8×8

Publications (2)

Publication Number Publication Date
TW201028011A TW201028011A (en) 2010-07-16
TWI445408B true TWI445408B (zh) 2014-07-11

Family

ID=42075798

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098133635A TWI445408B (zh) 2008-10-03 2009-10-02 使用大於4x4及8x8之轉換之視訊編碼

Country Status (7)

Country Link
US (1) US8483285B2 (zh)
EP (1) EP2345253B1 (zh)
CN (1) CN102204251B (zh)
DK (1) DK2345253T3 (zh)
ES (1) ES2775068T3 (zh)
HU (1) HUE047978T2 (zh)
TW (1) TWI445408B (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
NO326065B1 (no) * 2007-01-11 2008-09-08 Tandberg Telecom As Atte pixlers heltallstransform
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US9635368B2 (en) * 2009-06-07 2017-04-25 Lg Electronics Inc. Method and apparatus for decoding a video signal
PT2449782T (pt) 2009-07-01 2018-02-06 Thomson Licensing Métodos e aparelhos para sinalizar a intra predição para grandes blocos para codificadores e descodificadores de vídeo
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
KR101791078B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
US8837577B2 (en) * 2010-07-15 2014-09-16 Sharp Laboratories Of America, Inc. Method of parallel video coding based upon prediction type
JP2012028858A (ja) * 2010-07-20 2012-02-09 Sony Corp 画像処理装置及び画像処理方法
CA3033984C (en) * 2010-09-30 2022-03-08 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US20120082225A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Selective indication of transform sizes
CN104811718A (zh) * 2010-10-26 2015-07-29 数码士控股有限公司 自适应帧内预测编码和解码方法
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) * 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9788019B2 (en) * 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
CN108391137B (zh) 2011-06-15 2022-07-19 韩国电子通信研究院 可伸缩解码方法/设备、可伸缩编码方法/设备和介质
US20120320972A1 (en) * 2011-06-16 2012-12-20 Samsung Electronics Co., Ltd. Apparatus and method for low-complexity optimal transform selection
CN102857755B (zh) * 2011-07-01 2016-12-14 华为技术有限公司 确定变换块尺寸的方法和设备
US9807426B2 (en) * 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US9699457B2 (en) 2011-10-11 2017-07-04 Qualcomm Incorporated Most probable transform for intra prediction coding
US9247254B2 (en) * 2011-10-27 2016-01-26 Qualcomm Incorporated Non-square transforms in intra-prediction video coding
JP5871628B2 (ja) * 2011-11-07 2016-03-01 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013102297A (ja) 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
TWI618401B (zh) * 2011-12-28 2018-03-11 Jvc Kenwood Corp Motion picture coding device, motion picture coding method and memory medium
US20130265305A1 (en) * 2012-04-04 2013-10-10 Jon N. Hasselgren Compressed Depth Cache
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
ES2961654T3 (es) 2012-06-29 2024-03-13 Electronics & Telecommunications Res Inst Método y dispositivo para codificar/decodificar imágenes
US10333547B2 (en) * 2012-08-13 2019-06-25 Gurologic Microsystems Oy Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
US9967559B1 (en) * 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US20150055697A1 (en) * 2013-08-20 2015-02-26 Media Tek Inc. Method and Apparatus of Transform Process for Video Coding
US9591313B2 (en) * 2014-03-04 2017-03-07 Vixs Systems, Inc. Video encoder with transform size preprocessing and methods for use therewith
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
TWI594211B (zh) * 2014-10-31 2017-08-01 鴻海精密工業股份有限公司 監控設備及動態物件監控方法
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
WO2017191782A1 (en) * 2016-05-04 2017-11-09 Sharp Kabushiki Kaisha Systems and methods for coding transform data
US10652575B2 (en) * 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
EP3723374A4 (en) * 2018-09-05 2021-02-24 LG Electronics Inc. METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11831872B2 (en) * 2018-11-01 2023-11-28 Interdigital Madison Patent Holdings, Sas Video encoding and decoding using multiple transform selection
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11252410B2 (en) 2019-06-11 2022-02-15 Tencent America LLC Method and apparatus for video coding
US11375220B2 (en) * 2019-11-27 2022-06-28 Tencent America LLC Method and apparatus for video decoding using a nominal directional mode and an angular offset
JP7397211B2 (ja) 2020-02-14 2023-12-12 北京字節跳動網絡技術有限公司 映像ビットストリームにおけるサブピクチャ情報の信号通知
US20230107012A1 (en) * 2021-10-05 2023-04-06 Mellanox Technologies, Ltd. Hardware accelerated video encoding

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633611B2 (en) 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
DE10022331A1 (de) 2000-05-10 2001-11-15 Bosch Gmbh Robert Verfahren zur Transformationscodierung von Bewegtbildsequenzen
US7474699B2 (en) 2001-08-28 2009-01-06 Ntt Docomo, Inc. Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method decoding method and program usable for the same
WO2003075579A2 (en) 2002-03-05 2003-09-12 Koninklijke Philips Electronics N.V. Method and system for layered video encoding
EP1582063B1 (en) 2003-01-07 2018-03-07 Thomson Licensing DTV Mixed inter/intra video coding of macroblock partitions
CN100594730C (zh) 2003-06-25 2010-03-17 汤姆森许可贸易公司 帧间的快速模式确定编码方法及其装置
US7830963B2 (en) 2003-07-18 2010-11-09 Microsoft Corporation Decoding jointly coded transform type and subblock pattern information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US8116374B2 (en) * 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
CN100568974C (zh) 2004-09-08 2009-12-09 松下电器产业株式会社 动态图像编码方法及动态图像解码方法
DE102004056446A1 (de) 2004-11-23 2006-06-29 Siemens Ag Verfahren zur Transcodierung sowie Transcodiervorrichtung
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
CN103118252B (zh) 2005-09-26 2016-12-07 三菱电机株式会社 运动图像编码装置以及运动图像译码装置
JP2007243427A (ja) 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
KR101382101B1 (ko) 2006-08-25 2014-04-07 톰슨 라이센싱 감소된 해상도의 파티셔닝을 위한 방법 및 장치
TWI368444B (en) 2006-11-17 2012-07-11 Lg Electronics Inc Method and apparatus for decoding/encoding a video signal
US8335261B2 (en) 2007-01-08 2012-12-18 Qualcomm Incorporated Variable length coding techniques for coded block patterns
JP4901772B2 (ja) 2007-02-09 2012-03-21 パナソニック株式会社 動画像符号化方法及び動画像符号化装置
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8250413B2 (en) * 2008-09-30 2012-08-21 Hewlett-Packard Development Company, L.P. Connection broker assignment status reporting
JP5509564B2 (ja) * 2008-09-30 2014-06-04 富士通株式会社 メッセージ送信方法及びプログラム
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US20100086031A1 (en) 2008-10-03 2010-04-08 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks

Also Published As

Publication number Publication date
ES2775068T3 (es) 2020-07-23
US20100086049A1 (en) 2010-04-08
CN102204251B (zh) 2017-06-30
DK2345253T3 (da) 2020-02-24
EP2345253B1 (en) 2019-12-04
US8483285B2 (en) 2013-07-09
TW201028011A (en) 2010-07-16
CN102204251A (zh) 2011-09-28
EP2345253A2 (en) 2011-07-20
HUE047978T2 (hu) 2020-05-28

Similar Documents

Publication Publication Date Title
TWI445408B (zh) 使用大於4x4及8x8之轉換之視訊編碼
AU2009298559B2 (en) Video coding using transforms bigger than 4x4 and 8x8
TWI413416B (zh) 基於視訊寫碼中活動量度之濾波預測
EP2225887B1 (en) Adaptive coding of video block header information
CA2687260C (en) Adaptive coding of video block prediction mode
AU2012226301B2 (en) Quantized pulse code modulation in video coding
JP5275469B2 (ja) クロマビデオブロックおよびルマビデオブロックの符号化のための量子化パラメータ選択
JP5415546B2 (ja) ベクトル化エントロピーコーディングに基づく加重予測
WO2011103482A1 (en) Block type signalling in video coding
JP2013520875A (ja) ビデオコーディングのための適応動き解像度
JP2011523235A (ja) 水平対称性および垂直対称性に基づくフィルタ係数のビデオ符号化