UA128259C2 - Окремий список злиття для субблокових кандидатів злиття і гармонізація інтра- інтер-способів для відеокодування - Google Patents

Окремий список злиття для субблокових кандидатів злиття і гармонізація інтра- інтер-способів для відеокодування Download PDF

Info

Publication number
UA128259C2
UA128259C2 UAA202102769A UAA202102769A UA128259C2 UA 128259 C2 UA128259 C2 UA 128259C2 UA A202102769 A UAA202102769 A UA A202102769A UA A202102769 A UAA202102769 A UA A202102769A UA 128259 C2 UA128259 C2 UA 128259C2
Authority
UA
Ukraine
Prior art keywords
block
module
video
intra
mode
Prior art date
Application number
UAA202102769A
Other languages
English (en)
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 UA128259C2 publication Critical patent/UA128259C2/uk

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

Даний винахід стосується способів і апаратів для кодування відеоданих у бітовий потік і для декодування відеоданих, отриманих в бітовому потоці. Другий контрольний покажчик, який вказує, чи використовувати мультигіпотезне прогнозування для інтра- та інтер-режимів, створюється і передається лише умовно, на підставі визначення, чи використовується спосіб окремого списку злиття для субблокових кандидатів злиття. З іншого боку, декодер виконаний з можливістю вирішувати стосовно використання мультигіпотезного прогнозування для інтра- та інтер-режимів і способу окремого списку злиття для субблокових кандидатів злиття, хоча другий контрольний покажчик передається лише умовно.

Description

Дані Інна А а а кодованої УТ ' хартинки 21 : зо4 у КГ 302 с ' : Модуль ентропійного : ! кодування : ї : ' : Синтаксичні елементи 366 777 ! Квантовані ' ' нрляте тя плн коефіцієнти 309: : : С , : ; і ' ' : ; Модуль рттттялияяят : : : зво /зобирання 7 Модульінтере; ' "Декодована режиму прогнозування: | ; ;. картинки ; Мини Блок ' : З ! од ! прогнозування і : і плити, С ду зво к , , і Модуль інтра» | ; у : ; ! прогнозування; / | МДУ що ' ; і Ти | зворотного , ; злиття тятттттттннттни | квантування | Деквантовані : | Коефіцієнти 331 х ' к
І зу : ' Модуль виконання А ' газо ; зворотного перетворення. ; , і ЬТ! Я ' і картинки М фар М, Модуль Блок відновленого ! екодована і хе відновлення 314. залишку 313 : картинки 1 Фіпьтрований Відновлений й в
МО влжаи блок 315 Енкодер 30 : іду шен до ня няття ня пдола пн птоотя ня онл ня лоотя чо т ня ут я сте тя кто тя хто от вл сто то пяосто пл што лю тя что ту ня здох кто тя тя ліотя пот ня стол тя што й нт ості тя чтоло тло пло тло няття жо сто тя чоло тя шоста тя сто тя пять виведенні 1 832-7 й
ФК. З
ГАЛУЗЬ ТЕХНІКИ
Варіанти здійснення за даною заявкою (розкриттям) загалом стосуються галузі оброблення картинки, а більш точно - гармонізації двох способів один з одним. Більш детально, варіанти здійснення пропонують способи спільного використання і сигналювання окремого списку злиття для субблокових кандидатів злиття і мультигіпотезного прогнозування для способів інтра- та інтер-режиму.
РІВЕНЬ ТЕХНІКИ
Кодування відео (кодування і декодування відео) використовують у широкому діапазоні прикладних програм цифрового відео, наприклад, цифрове ефірне телебачення, передавання відео через Інтернет і мобільні мережі, прикладні програми спілкування у реальному часі, такі як відео чат, відео конференція, ОМО (Рідна! Мегзаше Оізс, цифровий багатоцільовий диск) та блурей-диски (Віи-гау дізс5), системи накопичення і редагування відео контенту, а також відеокамери прикладних програм з безпеки.
Кількість відеоданих, необхідних для відображення навіть відносно короткого відео, може бути значною, що може привести до перешкод, коли дані слід транслювати або передавати іншим чином через комунікаційну мережу з обмеженою пропускною здатністю. Тому відеодані звичайно стискають до того, як передавати через сучасні телекомунікаційні мережі. Розмір відео також міг би стати проблемою, якщо відео зберігають на пристрої для збереження, оскільки ресурси пам'яті можуть бути обмежені. Пристрої стиснення відео часто використовують програмні або апаратні засоби у джерелі для кодування відеоданих до передавання або зберігання, таким чином зменшуючи кількість даних, необхідних для відображення цифрових відеозображень. Стиснені дані у подальшому отримуються в місці призначення за допомогою пристрою розпакування відео, який декодує відеодані. У разі обмежених мережевих ресурсів і постійно зростаючих вимог щодо більш високої якості відео, бажаними стають покращені способи стиснення і розпакування, які покращують ступінь стиснення, практично не погіршуючи якість зображення.
СУТЬ ВИНАХОДУ
Дане розкриття пропонує апарати і способи для кодування і декодування відео.
Даний винахід спрямований на гармонізацію використання і сигналювання мультигіпотезного прогнозування для інтра- та інтер-режиму разом з окремими списками злиття для субблокових кандидатів злиття.
Попередні та інші об'єкти досягаються на основі предмету винаходу незалежних пунктів формули. Додаткові форми втілення очевидно походять від залежних пунктів, опису і фігур.
Згідно з першим аспектом винаходу, пропонується спосіб кодування відео даних в бітовий потік. Спосіб включає використання першого способу і/або другого способу. Перший спосіб включає використання окремого списку злиття для субблокових кандидатів злиття. Другий спосіб включає мультигіпотезне прогнозування для інтра- та інтер-режиму. Спосіб включає, для кодового блока, передавання першого контрольного блока в бітовому потоці і, залежно від того, чи використовується перший спосіб для кодового блока, передавання або не передавання другого покажчика в бітовому потоці. Перший контрольний покажчик показує, чи використовувати перший спосіб. Другий контрольний покажчик показує, чи використовувати другий спосіб.
Згідно з другим аспектом винаходу, пропонується спосіб декодування відео даних, отриманих в бітовому потоці. Спосіб включає використання першого способу і/або другого способу. Перший спосіб включає використання окремого списку злиття для субблокових кандидатів злиття. Другий спосіб включає мультигіпотезне прогнозування для інтра- та інтер- режиму. Спосіб включає, для кодового блока, отримання першого контрольного покажчика від бітового потоку, причому перший контрольний покажчик показує, чи використовувати перший спосіб, і, залежно від того, чи використовується перший спосіб для кодового блока, отримання другого контрольного покажчика від бітового потоку. Другий контрольний покажчик показує, чи використовувати другий спосіб.
Особливим підходом даного винаходу є створення і передавання другого контрольного покажчика, який вказує, чи використовувати мультигіпотезне прогнозування для інтра- та інтер- режиму лише умовно, на підставі визначення, чи використовується спосіб окремого списку злиття для субблокових кандидатів злиття. З іншого боку, декодер виконаний з можливістю приймати рішення стосовно використання мультигіпотезного прогнозування для інтра- та інтер- режиму і способу окремого списку злиття для субблокових кандидатів злиття, хоча другий контрольний покажчик передається лише умовно.
У можливій формі втілення способу, згідно з відповідним першим аспектом, другий кодовий покажчик передається тоді, і лише тоді, коли перший спосіб не використовується для кодового блока.
У можливій формі втілення способу, згідно з попереднім варіантом втілення або відповідним першим аспектом, другий контрольний покажчик передається, якщо кодовий блок відтворюється в режимі злиття. У можливій формі втілення способу, згідно попереднім варіантом втілення або першим аспектом, другий контрольний покажчик не передається, якщо кодовий блок кодується в режимі злиття. У можливій формі втілення способу, згідно з попереднім варіантом втілення за першим аспектом, або відповідним першим аспектом, другий контрольний покажчик передається, якщо кодовий блок кодується в режимі пропускання.
У можливій формі втілення за попереднім варіантом втілення першого аспекту, другий контрольний покажчик не передається, якщо кодовий блок не кодується в режимі пропускання або в режимі злиття.
Отже, сигналювання згідно з особливим підходом за даним винаходом, є придатним або в режимі злиття, або в режимі пропускання, або у обох режимах злиття і пропускання.
У можливій формі втілення способу, згідно з відповідним другим аспектом, другий контрольний покажчик отримується, лише якщо не використовується перший спосіб.
Отже, декодер може безпосередньо робити висновок завдяки другому контрольному покажчику у отриманому бітовому потоці, що спосіб окремого списку злиття не використовується для поточного кодового блока. Так, необхідність обчислення першого контрольного покажчика, який показує, чи використовувати спосіб окремого списку злиття для субблокових кандидатів, існує лише, якщо другий контрольний покажчик не включено до отриманого бітового потоку.
У можливій формі втілення способу, згідно з попереднім варіантом втілення за другим аспектом, або відповідним другим аспектом, другий контрольний покажчик отримується, якщо кодовий блок кодується в режимі злиття. У можливій формі втілення способу, за попереднім варіантом втілення другого аспекту, другий контрольний покажчик не отримується, якщо кодовий блок не кодується в режимі злиття. У можливій формі втілення способу, згідно з попередньою формою втілення за другим аспектом, за відповідним другим аспектом, другий контрольний покажчик отримується, якщо кодовий блок кодується в режимі пропускання. Згідно з можливою формою втілення способу, згідно з попередньою формою втілення за другим аспектом, другий контрольний покажчик не отримується, якщо кодовий блок не кодується в режимі пропускання.
Кожен із способів кодування і декодування, визначених у пунктах формули, описі і фігурах може виконуватися за допомогою, відповідно, апаратів кодування і апаратів декодування.
Згідно з третім аспектом, винахід стосується кодера, який включає схему оброблення для проведення способу згідно з відповідним першим аспектом, для будь-якої з форм його втілення.
Згідно з четвертим аспектом, винахід стосується декодера, який включає схему оброблення для проведення способу згідно з відповідним другим аспектом, будь-якої з форм його здійснення.
Згідно з п'ятим аспектом, винахід стосується кодера. Кодер включає один або більше процесорів і нетимчасовий комп'ютерозчитуваний засіб зберігання, з'єднаний з процесорами і зберігаючий програмну частину для виконання процесорами. Програмна частина, під час виконання процесорами, налаштовує декодер для проведення способу згідно з відповідним першим аспектом або будь-якою з форм здійснення.
Згідно з шостим аспектом, винахід стосується декодера. Декодер включає один або більше процесорів і нетимчасовий комп'ютерозчитуваний засіб зберігання, з'єднаний з процесорами і зберігаючий програмну частину для виконання процесорами. Програмна частина, під час виконання процесорами, налаштовує декодер для проведення способу згідно з відповідним другим аспектом будь-якої з його форм здійснення.
Згідно з сьомим аспектом, винахід стосується кодера для відео-кодування відеоданих в бітовий потік, причому кодер включає засоби для виконання першого способу і/або другого способу. Перший спосіб включає використання окремого списку злиття для субблокових кандидатів злиття. Другий спосіб включає мультигіпотезне прогнозування для інтра- та інтер- режиму. Додатково кодер включає засоби для, відносно кодового блока, передавання першого контрольного блока в бітовому потоці і засоби для, залежно від того, чи використовується перший спосіб для кодового блока, передавання або не передавання другого покажчика в бітовому потоці. Перший контрольний покажчик показує, чи використовувати перший спосіб.
Другий контрольний покажчик показує, чи використовувати другий спосіб.
Згідно з восьмим аспектом, винахід стосується декодера для відео-декодування відеоданих, отриманих в бітовому потоці. Декодер включає засоби для виконання першого способу і/або другого способу. Перший спосіб включає використання окремого списку злиття для субблокових кандидатів злиття. Другий спосіб включає мультигіпотезне прогнозування для інтра- та інтер- режиму. Декодер додатково включає засоби для, стосовно кодового блока, отримання першого контрольного покажчика від бітового потоку, причому перший контрольний покажчик показує, чи використовувати перший спосіб, а також засоби для, залежно від того, чи використовується перший спосіб для кодового блока, отримання другого контрольного покажчика від бітового потоку. Другий контрольний покажчик показує, чи використовувати другий спосіб.
Згідно з додатковим аспектом, винахід стосується нетимчасового комп'ютерозчитуваного засобу, що несе в собі програмний код, який, під час виконання комп'ютерний пристроєм, надає команду комп'ютерному пристрою виконувати спосіб згідно з першим або другим аспектом.
Можливі форми втілення кодера і декодера спонукають сьомий і шостий аспекти відповідати можливим формам втілення способів згідно з першим і другим аспектами.
Апарат для кодування або для декодування відеопотоку може включати процесор і пам'ять.
Пам'ять зберігає інструкції, які дають команду процесору виконувати спосіб кодування або декодування.
Для кожного зі способів кодування або декодування, викладених у даному документі, пропонується комп'ютерозчитуваний засіб зберігання; засіб зберігання має у собі збережені інструкції, що під час виконання дають команду одному або більше процесорам кодувати або декодувати відеодані. Інструкції дають команду одному або більше процесорам виконувати відповідний спосіб кодування або декодування.
Більше того, для кожного зі способів кодування або декодування, викладених у даному документі, пропонується комп'ютерний програмний продукт. Комп'ютерний програмний продукт включає програмний код для виконання відповідного способу.
Деталі одного або більше варіантів здійснення викладені у малюнках, що додаються і у опису нижче. Інші особливості, об'єкти і переваги випливають із опису, малюнків і пунктів формули.
Додатково, даний винахід також пропонує наступні варіанти здійснення.
Кодований бітовий потік відеоданих включає множинні синтаксичні елементи, які включають перший контрольний покажчик і другий контрольний покажчик, який умовно сигналізується на основі першого контрольного покажчика; перший контрольний покажчик показує, чи використовується перший спосіб, причому перший спосіб (5101) включає використання окремого списку злиття для субблокових кандидатів злиття; а другий контрольний покажчик показує, чи використовується другий спосіб, при чому другий спосіб (5103) включає мультигіпотезне прогнозування для інтра- та інтер-режиму.
Комп'ютерний засіб зберігання, який зберігає бітовий потік, декодований за допомогою пристрою декодування відео; бітовий потік включає число кодових блоків зображення чи відеосигналу, і кількість синтаксичних елементів, які включають перший контрольний покажчик, і другий покажчик, який умовно сигналізований на основі першого контрольного покажчика; перший контрольний покажчик показує, чи використовується перший спосіб, причому, перший спосіб (5101) включає використання окремого списку злиття для субблокових кандидатів злиття; і другий контрольний покажчик показує, чи використовується другий спосіб, причому другий спосіб (5103) включає мультигіпотезне прогнозування для інтра- та інтер-режиму.
Нетимчасовий комп'ютернозчитуваний засіб зберігання зберігає відеоінформацію, створену за допомогою використання будь-якого зі способів кодування за пунктом 1-6 пунктів, що розглядаються.
КОРОТКИЙ ОПИС КРЕСЛЕНЬ
У подальшому варіанти здійснення винаходу описані більш детально, з посиланням на прикладені фігури і креслення, на яких:
Фіг. 1А є блочною діаграмою, яка показує приклад системи кодування відео, виконаної з можливістю втілювати варіанти здійснення винаходу;
Фіг. 18 є блочною діаграмою, яка показує ще один приклад системи кодування відео, виконаної з можливістю втілювати варіанти здійснення винаходу;
Фіг. 2 є блочною діаграмою, яка показує приклад відеокодера, виконаного з можливістю втілювати варіанти здійснення винаходу;
Фіг. З є блочною діаграмою, яка показує прикладну структуру відеодекодера, виконаного з можливістю втілювати варіанти здійснення винаходу;
Фіг. 4 є блочною діаграмою, яка ілюструє приклад апарату кодування або апарату 60 декодування;
Фіг. 5 є блочною діаграмою, яка ілюструє ще один приклад апарату кодування або апарату декодування;
Фіг. б є блок-схемою, яка ілюструє прикладний спосіб кодування згідно з варіантами здійснення даного винаходу; і
Фіг. 7 є блок-схемою, яка ілюструє прикладний спосіб декодування згідно з варіантами здійснення даного винаходу;
У подальшому ідентичні знаки посилання посилаються на ідентичні або, принаймні, функціонально еквівалентні елементи, якщо безпосередньо не вказано інше.
ДЕТАЛЬНИЙ ОПИС ВАРІАНТІВ ЗДІЙСНЕННЯ ВИНАХОДУ
У подальшому описі зроблено посилання на фігури, що додаються, які складають частину розкриття і які показують, шляхом ілюстрації, особливі аспекти варіантів здійснення винаходу або особливі аспекти, в яких можуть використовуватися варіанти здійснення даного винаходу.
Зрозуміло, що варіанти здійснення винаходу можуть використовуватися у інших аспектах і охоплювати структурні або логічні зміни, не відображені на фігурах. Отже, наступний детальний опис не приймається у лімітованому змісті, а об'єм даного винаходу визначається пунктами формули, що докладаються.
Наприклад, зрозуміло, що розкриття спільно з описаним способом може також вважатися справедливим для відповідного пристрою або системи, виконаних з можливістю виконувати спосіб, і навпаки. Наприклад, якщо описуються один або множина особливих етапів способу, відповідний пристрій може включати один або множину модулів, наприклад, функціональних модулів, для виконання описаних одного або множини етапів способу (наприклад, один модуль, виконуючий один або множину етапів, або множина модулів, кожен виконуючий один або більше з множини етапів), навіть якщо такий один або більше модулів не описані або проілюстровані безпосередньо на фігурах. З іншого боку, наприклад, якщо особливий апарат описується на основі одного або множини модулів, наприклад, функціональних модулів, то відповідний спосіб може включати один етап для виконання функціоналу одного або множини модулів (наприклад, один етап, виконуючий функціонал одного або множини модулів або множина етапів, де кожен виконує функціонал одного або більше із множини модулів), навіть якщо один такий або множина таких етапів безпосередньо не описані або проілюстровані на фігурах. Додатково зрозуміло, що особливості різних прикладних варіантів здійснення і/або аспектів, описаних тут, можуть поєднуватись один з іншим, якщо не вказано інше.
Кодування відео, як правило, стосується оброблення послідовності картинок, які формують відео або послідовність відео. У галузі відеокодування замість терміну «картинка» можна використовувати термін «кадр» або «зображення», як синоніми. Відеокодування (чи взагалі кодування) включає дві частини кодування відео і декодування відео. Кодування відео виконується на стороні джерела, звичайно охоплюючи оброблення (наприклад, шляхом стиснення) оригінальних відеокартинок для зменшення кількості даних, необхідних для відображення відеокартинок (для більш ефективного зберігання і/або передавання).
Декодування відео виконується на цільовій стороні і звичайно включає зворотне оброблення, порівняно з кодером, для відновлення відеокартинок. Слід розуміти, що варіанти здійснення, які посилаються на «кодування» відеокартинок, стосуються «кодування» і «декодування» відеокартинок або відповідних відеопослідовностей. Поєднання частини кодування і частини декодування називається також Кодек (СООЕС, Содіпд апа Оесоадіпо, кодування і декодування).
У разі кодування відео без втрат, оригінальні картинки відео можна відновити, тобто відновлені відео картинки мають однакову якість із оригінальними відео картинками (за умови відсутності втрат від передавання або інших втрат даних упродовж зберігання або передавання). У разі кодування відео із втратами, виконується додаткове стиснення, наприклад, шляхом квантування, щоб знизити кількість даних, що відображають відео картинки, які не можуть остаточно відновитися у декодері, тобто якість відновлених відео картинок є нижчою або гіршою порівняно з якістю оригінальних відео картинок.
Декілька стандартів кодування відео належать до групи «гібридні відеокодеки із втратами» (тобто поєднують просторове і часове прогнозування в області зразка, і кодування 20 перетворення для застосування квантування в області перетворення). Кожна картинка послідовності відео, як правило, розбивається на набір блоків, що взаємно не накладаються, а кодування, як правило, виконується на рівні блока. Іншими словами, в кодері, як правило, відео обробляється, тобто кодується, на рівні блока (відео блока), наприклад, використовуючи просторове (інтра-картинка) прогнозування і/або часове (інтер-картинка) прогнозування для створення прогнозного блока, вилучаючи прогнозний блок з поточного блока (блок, щойно оброблений або який підлягає обробці) для здобування залишкового блока, перетворюючи 60 залишковий блок і квантуючи залишковий блок в області перетворення, щоб знизити кількість даних для передавання (стиснення), оскільки у декодері, у порівнянні з кодером, зворотне оброблення застосовується до кодованих або стиснених блоків, щоб відновити поточний блок для відображення. Додатково, кодер дублює обробний контур декодера так, що обидва будуть створювати ідентичні прогнозування (наприклад, інтра- та інтер-прогнозування) і/або повторні конструкції для оброблення, тобто кодування, наступних блоків.
У наступних варіантах здійснення системи 10 відеокодування, відеокодер 20 і відеодекодер 30 описані на основі фігур 1-3.
Фіг. 1А є схематичною діаграмою, що ілюструє прикладну систему 10 кодування, наприклад, систему 10 відеокодування (або скорочену систему 10 кодування), яка може використовувати способи даної дійсної заявки. Відеокодер 20 (або скорочений кодер 20) і відеодекодер 30 (або скорочений декодер 30) системи 10 відеокодування відображають приклади пристроїв, які можуть бути виконані для здійснення способів у відповідності до різних прикладів, описаних в даній дійсній заявці.
Як показано на Фіг. 1А, система 10 кодування включає початковий пристрій 12, виконаний з можливістю надавати кодовані дані 21 картинки, наприклад, до цільового пристрою 14 для декодування кодованих даних 13 картинки.
Початковий пристрій 12 включає кодер 20 і може додатково, тобто за необхідності, охоплювати джерело 16 картинки, препроцесор 18 (або модуль препроцесингу), наприклад, препроцесор 18 картинки, а також комунікаційний інтерфейс або комунікаційний модуль 22.
Джерело 16 картинки може охоплювати або бути будь-яким видом пристрою захоплення картинки, наприклад камерою для захоплення реалістичної картинки, і/або будь-яким видом пристрою створення картинки, наприклад, комп'ютерним графічним процесором для створення комп'ютерної анімаційної картинки або будь-яким видом пристрою для здобування і/або надання реалістичної картинки, створеної комп'ютером картинки (наприклад, вміст екрана, картинка віртуальної реальності (міпцаї! геаїйу, УК), і/або будь-яким їх поєднанням (наприклад, картинка доповненої реальності (айдтепієй геаїйу, АК). Джерелом картинки може бути будь- який вид пам'яті або накопичувача, які зберігають будь-які із вищезгаданих картинок.
На відміну від препроцесора 18 і процесингу, виконуваного препроцесинговим модулем 18, картинка або дані 17 картинки можуть також називатися необробленою картинкою або необробленими даними 17 картинки.
Препроцесинговий модуль 18 виконаний з можливістю отримувати (необроблені) дані 17 картинки і виконувати препроцесинг над даними 17 картинки для здобування препроцесингованої картинки 19 або препроцесингованих даних 19 картинки. Препроцесинг, виконуваний препроцесором 18 може, наприклад, охоплювати очищення, конверсію кольорового формату (наприклад, від КОВ до УСбБсг), корекцію кольору або усунення шуму.
Слід розуміти, що модуль 18 попереднього обробляння може бути необов'язковим компонентом.
Відеокодер 20 виконаний з можливістю отримувати препроцесинговані дані 19 картинки і надавати дані 21 кодованої картинки (додаткові подробиці будуть описані далі, наприклад, на основі Фіг. 2).
Комунікаційний інтерфейс 22 початкового пристрою 12 може бути виконаний з можливістю отримувати дані 21 кодованої картинки і передавати дані 21 кодованої картинки (або будь-яку додатково оброблену їх версію) через комунікаційний канал 13 до іншого пристрою, наприклад, цільового пристрою 14 або будь-якого іншого пристрою, для зберігання або безпосереднього відновлення.
Цільовий пристрій 14 включає декодер 30 (наприклад, відеодекодер 30) і може додатково, тобто необов'язково, охоплювати комунікаційний інтерфейс або комунікаційний модуль 28, постпроцесор 32 (або модуль 32 построцесингу) і пристрій 34 відображення.
Комунікаційний інтерфейс 28 цільового пристрою 14 виконаний з можливістю отримувати дані 21 кодованої картинки (або будь-які додатково оброблені їх версії), наприклад безпосередньо від початкового пристрою 12 або від будь-якого іншого джерела, наприклад пристрою збереження, наприклад пристрою збереження даних кодованої картинки, і надає дані 21 кодованої картинки до декодера 30.
Комунікаційний інтерфейс 22 і комунікаційний інтерфейс 28 можуть бути виконані з можливістю передавати або отримувати дані 21 кодованої картинки або кодовані дані 13 через прямий комунікаційний канал між початковим пристроєм 12 і цільовим пристроєм 14, наприклад, пряме дротове або бездротове з'єднання, або через будь-який вид мережі, наприклад дротову або бездротову мережу, або будь-яке їх поєднання, або будь-який вид приватної або публічної мережі або будь-який вид їх поєднання.
Комунікаційний інтерфейс 22 може бути, наприклад, виконаний з можливістю пакувати дані 21 кодованої картинки у відповідний формат, наприклад пакети, і/або обробляти дані кодованої картинки, використовуючи будь-який вид кодування або оброблення передачі для передавання через комунікаційний канал або комунікаційну мережу.
Комунікаційний інтерфейс 28, аналогічний комунікаційному інтерфейсу 22, може бути, наприклад, виконаний з можливістю отримувати передані дані і обробляти передані дані, використовуючи будь-який вид декодування або оброблення і/або розпакування відповідної передачі для здобування даних 21 кодованої картинки.
Як комунікаційний інтерфейс 22, так і комунікаційний інтерфейс 28 можуть бути виконані як одно-направлені комунікаційні інтерфейси, як показано за допомогою стрілки для комунікаційного каналу 13 на фіг. 1А, направленої від початкового пристрою 12 до цільового пристрою 14, або як двох-направлені комунікаційні інтерфейси, а також можуть бути виконані з можливістю, наприклад, відправляти і отримувати повідомлення, наприклад, для встановлення з'єднання, щоб підтвердити або обмінятися будь-якою іншою інформацією, пов'язаною із комунікаційним каналом і/або передаванням даних, наприклад, передаванням даних кодованої картинки.
Декодер 30 виконаний з можливістю отримувати дані 21 кодованої картинки і надавати дані 31 декодованої картинки або декодовану картинку 31 (додаткові деталі будуть описані нижче, наприклад, на основі фіг. З або фіг. 5).
Постпроцесор 32 цільового пристрою 14 виконаний з можливістю виконувати постпроцес даних 31 декодованої картинки (також відомої як дані відновленої картинки), наприклад декодованої картинки 31, щоб здобувати дані 33 постпроцесової картинки, наприклад постпроцесову картинку 33. Постпроцесинг, виконуваний модулем 32 постпроцесингу, може охоплювати, наприклад, конверсію кольорового формату (наприклад, від УСЬСт до КОВ), корекцію кольору, очищення або повторне обирання, або будь-який інший процесинг, наприклад для підготовки даних 31 декодованої картинки для відображення, наприклад за допомогою пристрою 34 відображення.
Пристрій 34 відображення цільового пристрою 14 виконаний з можливістю отримувати дані 33 постпроцесової картинки для відображення картинки, наприклад, для користувача або глядача. Пристрій 34 відображення може бути або включає будь-який вид дисплея для відображення відновленої картинки, наприклад, вбудований або зовнішній дисплей або монітор.
Дисплеї можуть, наприклад, охоплювати дисплеї на рідких кристалах (Іїдшцід сгуєга! аізріаув,
І СО), дисплеї на органічних світлодіодах (огдапіс дні етічіпд діоде5, ОГЕВ), плазмові дисплеї, проектори, дисплеї на мікросвітлодіодах, рідкі кристали на кремнієвій основі (Іїдцід сгуєїа! оп зіїсоп, ЇСо5), цифровий світлопроцесор (аїдйа! дн ргосеззог, ОІ Р) або будь-який вид іншого дисплея.
Також фіг. 1 відображає початковий пристрій 12 і цільовий пристрій 14 як окремі пристрої; варіанти здійснення пристроїв можуть також охоплювати їх обох або їх обидві функціональні можливості; початковий пристрій 12 або відповідну функціональну можливість і цільовий пристрій 14 або відповідну функціональну можливість. У таких варіантах здійснення початковий пристрій 12 або відповідна функціональна можливість і цільовий пристрій 14 або відповідна функціональна можливість можуть бути втілені з використанням однакового апаратного засобу іМабо програмного засобу або за допомогою окремих апаратного засобу і/або програмного засобу або будь-якого їх поєднання.
Як очевидно спеціалісту на основі опису, наявність і (особливо) розділення функціональних можливостей різних модулів або функціональних можливостей серед початкового пристрою 12 і/або цільового пристрою 14, як показано на фіг. 1А, може відрізнятися залежно від фактичного пристрою і застосування.
Кодер 20 (наприклад, відеокодер 20) або декодер 30 (наприклад, відеодекодер 30), або як кодер 20, так і декодер 30, можна втілювати, використовуючи схему процесингу, як показано на фіг. 18, таку як один або більше мікропроцесорів, цифрових сигнальних процесорів (аідйна! відпаїЇ ргосеззоїз, Ю5Рв5), спеціалізованих інтегральних схем (арріїсайоп 5ресійс іпіедгатей сігсиїйвб,
АБІС5), програмованих логічних інтегральних схем (Пей ргодгаттабіє даїе аітауз, ЕРОДА5в), дискретної логіки, апаратних засобів, спеціалізованих на кодуванні відео або будь-яких їхніх комбінацій. Кодер 20 можна втілювати, використовуючи схему 46 процесингу для здійснення різних модулів, як розглянуто з посиланням на кодер 20 з фіг. 2 і/або будь-яку іншу систему кодера або підсистему, описану в даному документі. Декодер 30 можна втілювати, використовуючи схему 46 процесингу для здійснення різних модулів, як розглянуто з посиланням на декодер 30 з фіг. З і/або будь-яку іншу систему декодера або підсистему, бо описану в даному документі. Схема процесингу може бути виконана з можливістю виконувати різні операції, як описано нижче. Як показано на фіг. 5, якщо способи частково впроваджують в програмних засобах, пристрій може зберігати інструкції для програмного засобу у придатному не короткочасному комп'ютерозчитуваному засобі зберігання і може запускати інструкції на апаратному засобі, використовуючи один або більше процесорів для виконання способів за даним розкриттям. Також відеокодер 20 і відеодекодер 30 можуть бути інтегровані як частина об'єднаного кодера/декодера (Кодек) у єдиному пристрої, наприклад, як показано на фіг. 18.
Початковий пристрій 12 і цільовий пристрій 14 можуть охоплювати будь-який із широкого ряду пристроїв, включаючи будь-який вид переносного або стаціонарного пристрою, наприклад, комп'ютери ноутбук або лептоп, мобільні телефони, смартфони, планшети або планшетні комп'ютери, камери, настільні комп'ютери, телевізійні приставки, телевізори, пристрої відображення, цифрові медіаплеєри, ігрові відеоконсолі, пристрої відео трансляції (такі як сервери контентних послуг або сервери доставки контенту), пристрої приймання трансляцій, пристрої передавання трансляцій тощо, а також можуть використовувати будь-який вид операційної системи. У деяких випадках початковий пристрій 12 і цільовий пристрій 14 можна обладнати для безпровідного зв'язку. Так, початковий пристрій 12 і цільовий пристрій 14 можуть бути пристроями безпровідного зв'язку.
У деяких випадках система 10 кодування відео, проілюстрована на фіг. ТА, є лише прикладом і способи за даною заявкою можуть застосовуватися до налаштувань кодування відео (наприклад, кодування відео або декодування відео), які не обов'язково включають будь- який обмін даними між пристроями кодування і декодування. В інших прикладах дані повертаються з локальної пам'яті, транслюються через мережу тощо. Пристрій кодування відео може кодувати і зберігати дані у пам'ять; і/або пристрій декодування відео може повертати і декодувати дані з пам'яті У деяких прикладах кодування і декодування виконується пристроями, які не мають комунікації один з одним, але просто кодують дані до пам'яті і/або повертають і декодують дані з пам'яті.
Для зручності опису варіанти винаходу описуються тут, наприклад, з посиланням на
Високоефективне відео кодування (Нідп-ЕПісіепсу Мідео Содіпду, НЕМС) або на опорний програмний засіб Універсального відео кодування (Мегзайе мідео содіпд, ММС) - новітній стандарт відеокодування, розроблений Командою об'єднаного співробітництва з питань кодування відео (доіїпі СоПарогаїоп Теат оп Мідео Содіпа, УСТ-МС) з Експертної групи з питань кодування відео ІТО-Т (Мідео Содіпд Ехрепіз ОСгоир, МСЕС) та Експертної групи з питань рухомого зображення ІЗОЛЕС (Моїйоп Рісіиге Ехрепз Сгтоир, МРЕбС). Спеціаліст у області техніки зрозуміє, що варіанти здійснення винаходу не обмежуються НЕМС або УМО.
Кодер і спосіб кодування
Фіг. 2 показує схематичну блочну діаграму прикладного відеокодера 20, який виконано з можливістю втілювати способи даної заявки. У прикладі за фіг. 2 відеокодер 20 включає ввід 201 (або ввідний інтерфейс 201), модуль 204 обчислення залишу, модуль 206 процесингу перетворення, модуль 208 квантування, модуль 210 зворотного квантування і модуль 212 процесингу зворотного перетворення, модуль 214 відновлення, модуль 220 контурного фільтра, буфер 230 декодованої картинки (десодей рісіїшге Бибйег, ОРВ), модуль 260 вибору режиму, модуль 270 ентропійного кодування і вивід 272 (або вивідний інтерфейс 272). Модуль 260 вибору режиму може включати модуль 244 інтер-прогнозування, модуль 254 інтра- прогнозування і модуль 262 розбиття. Модуль 244 інтер-прогнозування може включати модуль оцінки руху і модуль компенсації руху (не показані). Відео кодер 20, як показано на фіг. 2, може також називатися гібридним відео кодером або відео кодером згідно з гібридним відео кодеком.
Модуль 204 обчислення залишку, модуль 206 процесингу перетворення, модуль 208 квантування, модуль 260 вибору режиму можна назвати утворюючими прямий сигнальний канал кодера 20, причому модуль 210 інверсного квантування, модуль 212 процесингу інверсного перетворення, модуль 214 відновлення, буфер 216, контурний фільтр 220, буфер 230 декодованої картинки (Ше десодей рісішге Бипег, ОРВ), модуль 244 інтер-прогнозування і модуль 254 інтра-прогнозування можна назвати утворюючими зворотній сигнальний канал відеокодера 20, причому зворотній сигнальний канал відеокодера 20 відповідає сигнальному каналу декодера (дивись відеодекодер 30 на фіг. 3). Модуль 210 інверсного квантування, модуль 212 процесингу інверсного перетворення, модуль 214 відновлення, контурний фільтр 220, буфер 230 декодованої картинки, модуль 244 інтер-прогнозування і модуль 254 інтра- прогнозування також називаються як утворюючі «вбудований декодер» відеокодера 20.
Картинки і розбиття картинки (картинки і блоки)
Кодер 20 може бути виконаний з можливістю отримувати, наприклад, через ввід 201, картинку 17 (або дані 17 картинки), наприклад картинку із послідовності картинок, яка утворює 60 відео або послідовність відео. Отримана картинка або дані картинки можуть також бути препроцесною картинкою 19 (або даними 19 препроцесної картинки). Для спрощення наступний опис посилається на картинку 17. Картинка 17 може також називатися як поточна картинка або картинка, що підлягає кодуванню (зокрема, у кодуванні відео -- щоб відрізняти поточну картинку від інших картинок, наприклад попередньо кодовані і/або декодовані картинки однакової відео послідовності, тобто відео послідовності, яка також включає поточну картинку).
Картинка (цифрова) є або може розглядатися як двовимірний масив або матриця зразків із величинами інтенсивності. Зразок в масиві може також називатися пікселем (коротка форма елементу картинки) або пікселем. Число зразків у горизонтальному і вертикальному напрямку (або осях) масиву або картинки визначають розмір і/або роздільну здатність картинки. Для відображення кольору, як правило, застосовують три кольорових компоненти, тобто картинка може відображатися або включати три масиви зразків. У форматі або кольоровому просторі
КВОС картинка включає відповідний червоний, зелений і синій зразковий масив. Однак, у кодуванні відео кожен піксель, як правило, відображається у форматі яскравості і кольоровості або кольоровому просторі, наприклад УСбстг, який включає компонент яскравості, позначений У (іноді, як альтернатива, використовується також І) і два компоненти кольоровості, позначені Ср та Сг. Компонент У яскравості (або коротко Ішта) відображає яскравісність або інтенсивність рівня сірого (наприклад, як в картинці сірих тонів), в той час як два компоненти Сб та Сг кольоровості відображають компоненти кольорового складу або інформації про колір.
Відповідно, картинка у форматі УСЬбБСт включає зразковий масив яскравості по зразкових значеннях (У) яскравості і два зразкових масиви кольоровості по значеннях кольоровості (СБ та
Ст). Картинки у форматі КОВ можуть конвертуватися або перетворюватися у формат УСбБСг і навпаки; також цей процес називається кольорове перетворення або конверсія. Якщо картинка є монохромною, то картинка може охоплювати лише зразковий масив яскравості. Відповідно, картинка може бути, наприклад, масивом зразків яскравості у монохромному форматі або масивом зразків яскравості і двох відповідних масивів зразків кольоровості в кольоровому форматі 4:2:0, 4:2:2 і 4:44.
Варіанти здійснення відеокодера 20 можуть охоплювати модуль розбивання картинки (не показаний на фіг. 2), виконаний з можливістю розбивати картинку 17 на множину (як правило, не взаємно накладених) блоків 203 картинки. Такі блоки можуть також називатися кореневими блоками, макроблоками (Н.264/АМС) або блоками кодового дерева (СТВ) або модулями кодового дерева (СТИ) (Н.265/НЕМС і ММС). Модуль розбивання картинки може бути виконаний з можливістю використовувати однаковий розмір блока для усіх картинок відео послідовності і відповідну сітку, яка визначає розмір блока, або змінювати розмір блока між картинками або підгрупами або групами картинок, і розбивати кожну картинку на відповідні блоки.
У додаткових варіантах відеокодер може бути виконаний з можливістю безпосередньо отримувати блок 203 картинки 17, наприклад, декілька або усі блоки, які утворюють картинку 17.
Блок 203 картинки може також називатися блоком поточної картинки або блоком картинки, що підлягає кодуванню.
Як і картинка 17, блок 203 картинки, в свою чергу, розглядається або може розглядатися як двовимірний масив або матриця зразків із величинами інтенсивності (величинами зразку) також менших розмірів, ніж картинка 17. Іншими словами, блок 203 може охоплювати, наприклад, один зразковий масив (наприклад, масив яскравості у випадку із монохромною картинкою 17 або масив яскравості або кольоровості у випадку із кольоровою картинкою), або три зразкові масиви (наприклад, один масив яскравості і два масиви кольоровості у випадку із кольоровою картинкою 17), або будь-яке інше число і/або вид масивів залежно від застосованого формату кольору. Число зразків у горизонтальному і вертикальному напрямку (або осях) блока 203 визначають розмір блока 203. Відповідно, блок може мати вигляд, наприклад, МХхМ (М колонок на М рядків) масиву зразків або МхМ масиву коефіцієнтів перетворення.
Варіанти здійснення відеокодера 20, як показано на фіг. 2, можуть бути виконані можливістю кодувати картинку 17 блок за блоком, наприклад, кодування і прогнозування виконується над кожним блоком 203.
Обчислення залишку
Модуль 204 обчислення залишку може бути виконаний з можливістю обчислювати залишковий блок 205 (також називається залишком 205) на основі блока 203 картинки і блока 265 прогнозування (додаткові деталі про блок 265 прогнозування надаються нижче), наприклад, шляхом вилучення значень зразків блока 265 прогнозування зі значень зразків блока 203 картинки, зразок за зразком (піксель за пікселем) для здобування залишкового блока 205 в області зразка.
Перетворення
Процесинговий модуль 206 перетворення може бути виконаний з можливістю застосовувати перетворення, наприклад, дискретне косинусне перетворення (а аїізсгеїге совіпе ігапоїогт, ОСТ) або дискретне синусне перетворення (дізсгеїе взіпе їгапвїогпт, О5Т) на значеннях зразка залишкового блока 205 для здобування коефіцієнтів 207 перетворення в області перетворення.
Коефіцієнти 207 перетворення можуть також називатися залишковими коефіцієнтами перетворення і представляють залишковий блок 205 в області перетворення.
Процесинговий модуль 206 перетворення може бути виконаний з можливістю застосовувати цілочислові апроксимації ОСТ/О51Т, такі як перетворення, визначені для Н.265/НЕМС. Порівняно з ортогональним ОСТ перетворенням, такі цілочислові апроксимації звичайно масштабуються за певним фактором. З метою зберегти стандарт залишкового блока, який оброблений прямим і зворотнім перетворенням, застосовують додаткові фактори масштабування як частину процесу перетворення. Фактори масштабування звичайно обирають на основі певних обмежень, подібно факторам масштабування, які є другим ступенем для операцій зсуву, бітовою глибиною коефіцієнтів перетворення, компромісом між точністю і витратами на втілення, тощо.
Особливими факторами масштабування є, наприклад, визначені для зворотного перетворення, наприклад, за допомогою процесингового модуля 212 зворотного перетворення (і відповідного зворотнього перетворення, наприклад, за допомогою процесингового модуля 312 зворотного перетворення на відеодекодері 30), а відповідні фактори масштабування для прямого перетворення, наприклад за допомогою процесингового модуля 206 перетворення на кодері 20, можуть відповідно визначатися.
Варіанти здійснення відеокодера 20 (відповідно процесинговий модуль 206 перетворення) можуть виконуватись з можливістю виводити параметри перетворення, наприклад тип перетворення або перетворень, наприклад безпосередньо, чи кодовані або запаковані через модуль 270 ентропійного кодування, так, що, наприклад, відеодекодер 30 може отримувати і використовувати параметри перетворення для декодування.
Квантування
Модуль 208 квантування може бути виконаний з можливістю квантувати коефіцієнти 207 перетворення для отримання квантованих коефіцієнтів 209, наприклад шляхом застосування скалярного квантування або векторного квантування. Квантовані коефіцієнти 209 можуть також називатися коефіцієнтами 209 квантованого перетворення або коефіцієнтами 209 квантованого залишку.
Процес квантування може знизити бітову глибину, пов'язану з деякими або всіма коефіцієнтами 207 перетворення. Наприклад, п-бітовий коефіцієнт перетворення можна округлити до т-бітового коефіцієнта перетворення упродовж квантування, де п є більшим т.
Ступінь квантування можна коригувати шляхом налаштування параметру (дпапіігайоп рагатегїег, ОР) квантування. Наприклад, для масштабного квантування, можна застосовувати різне масштабування, щоб досягнути більш тонкого або грубого квантування. Менші розміри етапу квантування відповідають більш тонкому квантуванню, причому більші розміри етапу квантування відповідають грубішому квантуванню. Застосований розмір етапу квантування може бути показаний параметром (ОР) квантування. Параметром квантування може бути, наприклад, індекс до заданого набору придатних розмірів етапу квантування. Наприклад, малі параметри квантування можуть відповідати тонкому квантуванню (малі розмір етапу квантування), а великі параметри квантування можуть відповідати грубому квантуванню (великі розміри етапу квантування) або навпаки. Квантування може включати ділення на розмір етапу квантування і відповідне і/або зворотне квантування, наприклад за допомогою модуля 210 зворотного квантування, може включати множення на розмір етапу квантування. Варіанти здійснення, згідно з деякими стандартами, наприклад, НЕМС, можуть бути виконані з можливістю використовувати параметр квантування для визначення розміру етапу квантування.
Загалом, розмір етапу квантування можна обчислити на основі параметру квантування, використовуючи апроксимацію з фіксованою крапкою за формулою, включаючи ділення.
Додаткові коефіцієнти масштабування можуть вводитися для квантування і деквантування для відновлення еталону залишкового блока, який міг модифікуватися завдяки масштабуванню, використаному у апроксимації з фіксованою крапкою за формулою для розміру етапу квантування і параметру квантування. У одному прикладі втілення масштабування зворотного перетворення і деквантування можуть поєднуватися. Альтернативно, індивідуальні таблиці квантування можна використовувати і сигналізувати від кодера до декодера, наприклад, у бітовий потік. Квантування є операцією з втратами, в якій втрати збільшуються зі збільшенням розмірів етапу квантування.
Варіанти здійснення відеокодера 20 (стосовно модуля 208 квантування) можуть бути 60 виконані з можливістю виводити параметри квантування (дпапіійгайоп рагатеїегв5, ОР),
наприклад, безпосередньо або кодованими через модуль 270 ентропійного кодування так, що, наприклад, відеодекодер 30 може отримувати параметри квантування для декодування.
Зворотне квантування
Модуль 210 зворотного квантування виконаний з можливістю застосовувати зворотне квантування модуля 208 квантування на коефіцієнтах квантування для здобування коефіцієнтів 211 деквантування, наприклад, шляхом застосування обернення схеми квантування, застосованої модулем 208 квантування, на основі або використовуючи такий розмір етапу квантування, як і модуль 208 квантування. Коефіцієнти 211 квантування можуть також називатися як коефіцієнти 211 квантованого залишку і відповідати - до того ж, звичайно, не ідентично до коефіцієнтів перетворення через втрати від квантування - коефіцієнтам 207 перетворення.
Зворотне перетворення
Модуль 212 процесингу зворотного перетворення виконаний з можливістю застосовувати зворотнє перетворення по перетворенню, застосованому модулем 206 процесингу перетворення, наприклад, зворотне дискретне косинусне перетворення (адізсге(е совіпе іїапеїогт, ОСТ), або зворотне дискретне синусне перетворення (аїзсге(е 5іпе ігапвіїопт, ОСТ), або інші зворотні перетворення, для здобування відновленого залишкового блока 214 (або відповідних деквантованих коефіцієнтів 213) у області зразків. Відновлений залишковий блок 213 може також називатися блоком 213 перетворення.
Відновлення
Модуль 214 відновлення (наприклад, блок додавання або суматор 214) виконаний з можливістю додавати блок 213 перетворення (тобто блок 213 відновленого залишку) до блока 265 прогнозування для здобування відновленого блока 215 в області зразків, наприклад, шляхом додавання - зразок за зразком - значень зразків блока 213 відновленого залишку і значень зразків блока 265 прогнозування.
Фільтрування
Модуль 220 контурного фільтру (або коротко «контурний фільтр» 220) виконаний з можливістю фільтрувати відновлений блок 215 для здобування фільтрованого блока 221, або, загалом, фільтрувати відновлені зразки для здобування фільтрованих зразків. Модуль контурного фільтра, наприклад, виконаний з можливістю згладжувати піксельні переходи, чи в іншому випадку, покращувати якість відео. Модуль 220 контурного фільтра може охоплювати один або більше контурних фільтрів, таких як деблокуючий фільтр, адаптивний до зразків фільтр зі зміщенням (затріе-адаріїме оїйвзеї, ЗАС) або один або більше інших фільтрів, наприклад, фільтр двосторонньої дії, адаптивний контурний фільтр (адаріїме Іоор йКег, АГЕ), фільтри збільшення різкості або згладжування, або об'єднані фільтри, або будь-яке їх поєднання. Хоча модуль 220 контурного фільтра, показаний на фіг. 2, знаходиться як фільтр у контурі, у інших конфігураціях модуль 220 контурного фільтра може бути втілений як пост- контурний фільтр. Фільтрований блок 221 може також називатися фільтрованим відновленим блоком 221.
Варіанти здійснення відеокодера 20 (стосовно модуля 220 контурного фільтра) можуть виконуватись з можливістю виводити параметри контурного фільтра (такі як інформація про зміщення для адаптації зразків), наприклад безпосередньо, або кодовані через модуль 270 ентропійного кодування, так, що, наприклад, відеодекодер 30 може отримувати і застосовувати однакові параметри контурного фільтра або відповідні контурні фільтри для декодування.
Буфер декодованої картинки
Буфером 230 декодованої картинки (десодей рісішге Ббипїйег, ОРВ) може бути пам'ять, яка зберігає опорні картинки, або загалом дані опорної картинки, для кодування відеоданих за допомогою відеокодера 20. ОРВ 230 може складатися з будь-яких серед множини пристроїв пам'яті, таких як динамічна пам'ять із довільним доступом (щдупатіс гапдот ассе55 тетогу,
ОКАМ), включаючи синхронну ОКАМ (зупспгопоиз ОКАМ, 5БОКАМ), магніторезистивну КАМ (тадпеїйогезізіме КАМ, МКАМ), резистивну КАМ (гезізіме КАМ, ККАМ) або інші типи пристроїв пам'яті. Буфер 230 декодованої картинки може бути виконаний з можливістю зберігати один або більше фільтрованих блоків 221. Буфер 230 декодованої картинки може бути додатково виконаний з можливістю зберігати інші попередньо фільтровані блоки, наприклад, попередньо відновлені і фільтровані блоки 221 саме поточної картинки або різних картинок, наприклад, попередньо відновлених картинок, і може надавати завершені попередньо відновлені, тобто декодовані, картинки (і відповідні опорні блоки і зразки) і/або частково відновлену поточну картинку (ї відповідні опорні блоки і зразки), наприклад для інтер-прогнозування. Буфер 230 декодованої картинки (десодей рісішге БбиПйег, ОРВ) може також виконуватися з можливістю бо зберігати один або більше нефільтрованих відновлених блоків 215, або, взагалі, нефільтровані відновлені блоки, наприклад, якщо відновлений блок 215 не фільтрований контурним фільтром 220, або будь-яку іншу додатково оброблену версію відновлених блоків або зразків.
Обирання режиму (розбиття і прогнозування)
Модуль 260 вибору режиму включає модуль 262 розбиття, модуль 244 інтер-прогнозування і модуль 254 інтра-прогнозування, і виконаний з можливістю отримувати або здобувати дані оригінальної картинки, наприклад, оригінальний блок 203 (поточний блок 203 поточної картинки 17) і дані відновленої картинки, наприклад, фільтровані і/або нефільтровані відновлені зразки або блоки однакової (поточної) картинки і/або від однієї або множини попередньо декодованих картинок, наприклад, від буфера 230 декодованої картинки або інших буферів (наприклад, лінійного буфера, не показаного). Дані відновленої картинки використовуються як дані опорної картинки для прогнозування, наприклад, інтер-прогнозування або інтра-прогнозування, для здобування прогнозного блока 265 або засобу 265 прогнозування.
Модуль 260 вибору режиму може бути виконаний з можливістю визначати або вибирати розбиття для прогнозного режиму поточного блока (включаючи відсутність розбиття) і прогнозний режим (наприклад, інтра- або інтер- прогнозний режим) і створювати відповідний прогнозний блок 265, який використовується для обчислення залишкового блока 205 і для відновлення відновленого блока 215.
Варіанти здійснення модуля 260 обирання режиму можуть бути виконані з можливістю вибирати режим розбиття і прогнозування (наприклад, серед підтримуваних або доступних від модуля 260 вибору режиму), які забезпечують найкращу відповідність або, іншими словами, мінімальний залишок (мінімальний залишок означає краще стиснення для передавання або зберігання) або мінімальне сигнальне обмеження (мінімальне сигнальне обмеження означає краще стиснення для передавання або зберігання), або який передбачає або збалансовує обидва. Модуль 260 обирання режиму може бути виконаний з можливістю визначати розбиття і прогнозний режим на основі оптимізації коефіцієнта спотворення (гаїе аізіопіоп оріїтігайоп,
КОО), тобто обирати прогнозний режим, який забезпечує мінімальний коефіцієнт спотворення.
Такі терміни, як «найкращий», «мінімальний», «оптимальний» тощо у контексті не обов'язково стосуються загального «найкращий», «мінімальний», «оптимальний» тощо, але можуть також задовольняти критерію завершення або вибирання як величина, що перевищує або не дотягує до порогу, або інші обмеження, які потенційно веде до «суб-оптимального вибирання», але зменшують складність і процесинговий час.
Іншими словами, модуль 262 розбивання може бути виконаний з можливістю розбивати блок 203 на менші блокові розділи або субблоки (які в свою чергу створюють блоки), наприклад, ітераційно використовуючи розбиття квадродерева (дпад-ігее-рагйіопіпду, ОТ), бінарне розбиття (Біпагу рапйопіподо, ВТ) або розбиття трійкового дерева (Ііріє-ітее-рагйіопіпо, ТТ) або будь-яку їх комбінацію, а також виконувати, наприклад, прогнозування для кожного з блокових розділів або субблоків, причому вибір режиму включає вибір деревної структури розбитого блока 203 і прогнозних режимів, застосовуваних до кожного з блокових розділів або субблоків.
У подальшому розбиття (наприклад, за допомогою модуля 260 розбиття) і прогнозний процесинг (за допомогою інтер-прогнозного модуля 244 та інтра-прогнозного модуля 254), виконувані за допомогою прикладного відеокодера 20, будуть описані більш детально.
Розбиття
Модуль 262 розбиття може розбивати (або ділити) поточний блок 203 на менші розділи, наприклад, менші блоки квадратного або прямокутного розміру. Ці менші блоки (які можна також називати субблоками) можуть додатково бути розбиті на ще менші розділи. Це стосується також розбиття дерева або ієрархічного розбиття дерева, причому кореневий блок, наприклад, на кореневому рівні 0 дерева (ієрархічний рівень 0, глибина 0), може бути рекурсивно розбитий, наприклад, на два або більше блоків наступного нижчого рівня дерева, наприклад, листки на рівні 1 дерева (ієрархічний рівень 1, глибина 1), причому ці блоки можна повторно розбити на два або більше блоків наступного нижчого рівня, наприклад, рівня 2 дерева (ієрархічний рівень 2, глибина 2), тощо, поки завершиться розділення, наприклад, завдяки задоволенню критерію завершення, наприклад, досягнення максимальної глибини дерева або мінімального розміру блока. Блоки, які не розбиті додатково, також називаються листковими блоками або листковими вузлами дерева. Дерево, яке використовує розбивання на два розділи, називається бінарним деревом (бБіпагу-їтеє, ВТ); дерево, яке використовує розбивання на три розділи, називається тернарним деревом ((епагу-ігее, ТТ), а дерево, яке використовує розбивання на чотири розділи, називається квадро-деревом (дцпаа-ігеє, ОТ).
Як зазначалося раніше, термін «блок», який використано в даному документі, може бути частиною, конкретно - квадратною або прямокутною частиною, картинки. Враховуючи, 60 наприклад, НЕМС і ММС, блок може бути або відповідати модулю кодового дерева (содіпд ігеє цпії, СТО), кодовому модулю (содіпд ипії, СО), прогнозному модулю (ргеадісііоп шипії, РІ) і модулю перетворення (Ігапеіогт цпії, ТО), чи (або) відповідним блокам, наприклад, блока кодового дерева (содіпд їгеє БіосК, СТВ), кодовому блока (содіпд БіоскК, СВ), блока перетворення (ігапетогт БіоскК, ТВ) або прогнозному блока (ргедісійоп БіоскК, РВ).
Наприклад, модуль кодового дерева (СТІ) може представляти собою, або включає СТВ зразків яскравості, два відповідних СТВ зразків кольоровості картинки, яка має деревні зразкові масиви, або СТВ зразків монохромної картинки або картинку, яка кодована з використанням деревних окремих кольорових площин і синтаксичних структур, використовуваних для кодування зразків. Відповідно, блоком кодового дерева (СТВ) може бути блок МХМ зразків для такого значення М, коли розділення компонента на блоки СТВ представляє собою розбиття.
Кодовий модуль СО може представляти собою або охоплювати кодовий блок зразків яскравості, два відповідних кодових блоки зразків кольоровості картинки, яка має деревні масиви зразків, або кодовим блоком зразків монохромної картинки або картинки, яка кодується з використанням деревних окремих кольорових площин і синтаксичних структур, використовуваних для кодування зразків. Відповідно, кодовим блоком (СВ) може бути блок МХМ зразків для такого значення і М, коли розділення СТВ на кодові блоки представляє собою розбиття.
У варіантах здійснення, наприклад, згідно з НЕМС, модуль кодового дерева (СТ) можливо ділити на СУ шляхом використання структури квадро-дерева, позначеного як кодове дерево.
Рішення, чи кодувати область картинки з використанням прогнозування інтер-картинки (часове) або інтра-картинки (просторове) приймається на рівні СО. Кожен СО може бути додатково поділений на один, два або чотири РІО згідно з типом поділу РО. Всередині одного РО застосовується однаковий процес прогнозування і відповідна інформація передається до декодера на базі РИ. Після здобування залишкового блока, застосовуючи процес прогнозування на основі типу поділу РО, СО може розбиватися на модулі перетворення (мгапетогт ипії5, ТО) згідно з іншою структурою квадро-дерева подібно до кодового дерева для
Су.
У варіантах здійснення, наприклад, згідно з найновішим стандартом відеокодування, що знаходиться у розробці, який відомий як Універсальне відеокодування (Мегзайе Мідео Соаїіпоа,
ММС), розбиття квадро-дерева і бінарного дерева (Оцад-ієє ап бБіпагу ігєє, ОТВТ) використовується для розбиття кодового блока. У ОТВТ блоковій структурі СО може мати або квадратну, або прямокутну форму. Наприклад, модуль кодового дерева (содіпд їгеє шпії, СТО) спочатку розбивають на структуру квадро-дерева. Листкові вузли квадро-дерева додатково розбивають на структуру бінарного дерева або тернарного (або трійкового) дерева. Листкові вузли дерева розбиття називаються кодовими модулями (содіпуд ципії5, СУ) і така сегментація використовується для процесингу прогнозування і перетворення без будь-якого додаткового розбиття. Це означає, що СИ, РО ії ТО мають однаковий розмір блока в блоковій структурі кодування ОТВТ. Паралельно передбачалося багаторазове розбиття, наприклад, розбиття трійкового дерева, для використання разом із блоковою структурою ОТВТ.
В одному прикладі модуль 260 вибору режиму відеокодера 20 може бути виконаний з можливістю здійснювати будь-яку комбінацію методик розбиття, описаних у даному документі.
Як описано вище, відеокодер 20 виконаний з можливістю визначати або вибирати найкращий або оптимальний режим прогнозування з набору (попередньо визначеного) режимів прогнозування. Набір режимів прогнозування може охоплювати, наприклад, режими інтра- прогнозування і/або режими інтер-прогнозування.
Інтра-прогнозування
Набір режимів інтра- прогнозування може охоплювати 35 різних режимів інтра- прогнозування, наприклад, ненаправлені режими, як ОС (або схожий) режим і планарний режим, або направлені режими, наприклад, як визначено в НЕМС, або може містити 67 різних режимів інтра-прогнозування, наприклад, ненаправлені режими, як ОС (або схожий) режим і планарний режим, або направлені режими, наприклад, як визначено для УМО.
Модуль інтра-прогнозування 254 виконаний з можливістю використовувати відновлені зразки сусідніх блоків однакової поточної картинки для створення інтра-прогнозного блока 265 згідно з інтра-прогнозним режимом набору інтра-прогнозних режимів.
Інтра-прогнозний режим 254 (або взагалі модуль 260 вибору режиму) додатково виконаний з можливістю виводити інтра-прогнозні параметри (або взагалі інформацію, яка свідчить про вибраний інтра-прогнозний режим для блока) до модуля 270 ентропійного кодування у формі синтаксичних елементів 266 для внесення в дані 21 кодованої картинки, завдяки чому відеодекодер 30 може отримувати і використовувати прогнозні параметри для декодування. бо Інтер-прогнозування
Конкретний (або потенційний) набір інтер-прогнозних режимів залежить від доступних опорних картинок (тобто, попередніх, принаймні, частково декодованих картинок, наприклад, збережених в ОВР 230) і інших інтер-прогнозних параметрів, наприклад, чи уся опорна картинка, чи лише частина, наприклад, область пошукового вікна навколо області поточного блока, опорної картинки використовується для пошуку найбільш відповідного опорного блока, іл або чи застосовується піксельна інтерполяція, наприклад, інтерполяція половини/пів-пікселя і/або чверть-пікселя, чи ні.
Режим пропуску і/або прямий режим може застосовуватися додатково до вищевказаних прогнозних режимів.
Інтер-прогнозний модуль 244 може включати модуль оцінки руху (тойоп езійтайоп, МЕ) і модуль компенсації руху (тоїоп сотрепзайоп, МС) (обидва не показані на фіг. 2). Модуль оцінки руху може бути виконаний з можливістю отримувати або здобувати блок 203 картинки (поточний блок 203 картинки поточної картинки 17) і декодовану картинку 231 або, принаймні, один або множину попередньо відновлених блоків, наприклад, відновлені блоки однієї або множини ще оодних/відмінних попередньо декодованих картинок 231, для оцінки руху.
Наприклад, відеопослідовність може охоплювати поточну картинку і попередньо декодовані картинки 231 або, іншими словами, поточна картинка і попередньо декодовані картинки 231 можуть бути частиною або формувати послідовність картинок, формуючих відеопослідовність.
Кодер 20 може, наприклад, бути виконаний з можливістю вибирати опорний блок з множини опорних блоків однакових або різних картинок множини інших картинок і надавати опорну картинку (або індекс опорної картинки) і/або зміщення (просторове зміщення) між позицією (координати х, у) опорного блока і позицією поточного блока, як інтер-прогнозні параметри до модуля оцінки руху. Зміщення також називають вектором руху (тоїйоп месіог, ММ).
Модуль компенсації руху виконаний з можливістю здобувати, наприклад, отримувати, інтер- прогнозний параметр і виконувати інтер- прогноз опираючись або використовуючи інтер- прогнозний параметр для здобування інтер-прогнозного блока 265. Компенсація руху, виконувана модулем компенсації руху, може впливати на завантаження або створення прогнозного блока на основі вектора руху/блока, визначеного оцінкою руху, по можливості виконуючи інтерполяції з суб-піксельною точністю. Інтерполяційне фільтрування може створювати додаткові піксельні зразки з відомих піксельних зразків, чим потенційно збільшувати число кандидатних прогнозних блоків, які можна використовувати для кодування блока картинки. З моменту отримання вектора руху для РІО поточного блока картинки, модуль компенсації руху може виявляти прогнозний блок, на який націлений вектор руху у одному зі списків опорної картинки.
Модуль компенсації руху може також створювати синтаксичні елементи, пов'язані з блоками і відеофрагментом, для використання відеодекодером 30 у декодуванні блоків картинки відеофрагменту.
Ентропійне кодування
Модуль 270 ентропійного кодування виконаний з можливістю застосовувати, наприклад, алгоритм або схему ентропійного кодування (наприклад, схему кодування зі змінною довжиною (мапабіе Іепдій содіпд, МІС), схему контекстно-адаптивного МІ С (сопіехії адаріїме МІ С зспете,
САМІ С), схему арифметичного кодування, бінаризацію, контекстно-адаптивне бінарно- арифметичне кодування (сопіехі адаріїме Бріпагу агіптеїйс содіпу, САВАС), синтаксис-основане контекстно-адаптивне бінарно-арифметичне кодування (зупіах-базей сопіехі-адаріїме бБіпагу айттеїйс содіпд, ЗВАС), ентропійне кодування з розбиттям з інтервалом ймовірності (ргорабійну іп'єгма! рапйопіпуд епігору, РІРЕ) або якийсь інший метод або спосіб ентропійного кодування, або переходити (без стиснення) на квантовані коефіцієнти 209, інтра-прогнозні параметри, параметри контурного фільтра і/або інші синтаксичні елементи для здобування даних 21 кодованої картинки, які можуть бути виведені через вивід 272, наприклад, у формі кодованого бітового потоку 21 так, що відеодекодер 30 може отримувати і використовувати параметри для декодування. Кодований бітовий потік 21 можна передавати до відеодекодера 30 або зберігати у пам'яті для подальшої передачі або повернення відеодекодером 30.
Інші структурні варіанти відеокодера 20 можна використовувати для кодування відеопотоку.
Наприклад, кодер 20 на неперетворюваній основі може квантувати залишковий сигнал безпосередньо без модуля 206 процесингу перетворення для певних блоків або кадрів. У ще одному втіленні кодер 20 може мати модуль 208 квантування і модуль 210 зворотного квантування, об'єднані у єдиний модуль.
Декодер і спосіб декодування
Фіг. З показує приклад відеодекодера 30, який виконано з можливістю втілювати способи цієї 60 дійсної заявки. Відеодекодер 30 виконано з можливістю отримувати дані 21 кодованої картинки
(наприклад, кодований бітовий потік 21), наприклад, за допомогою кодера 20, щоб здобувати декодовану картинку 331. Дані кодованої картинки або бітовий потік включає інформацію для декодування даних кодованої картинки, наприклад, дані, які представляють блоки картинок фрагмента кодованого відео і пов'язані синтаксичні елементи.
У прикладі за фіг. З декодер 30 включає модуль 304 ентропійного декодування, модуль 310 зворотного квантування, модуль 312 процесингу зворотного перетворення, модуль 314 відновлення (наприклад, суматор 314), контурний фільтр 320, буфер 330 декодованої картинки (десодеа рістиге риїег, ОВР), інтер-прогнозний модуль 344 і інтра-прогнозний модуль 354. Інтер- прогнозний модуль 344 може представляти собою, або включає, модуль компенсації руху.
Відеоекодер ЗО може, у деяких прикладах, виконувати процедуру декодування загалом протилежно до процедури кодування, описаної з посиланням на відеокодер 100 з фіг. 2.
Як описано з посиланням на кодер 20, модуль 210 інверсного квантування, модуль 212 процесингу інверсного перетворення, модуль 214 відновлення, контурний фільтр 220, буфер 230 декодованої картинки, модуль 344 інтер-прогнозування і модуль 354 інтра- прогнозування також називаються утворюючими «вбудований декодер» відеокодера 20.
Відповідно модуль 310 зворотного квантування може бути функціонально ідентичним модулю 110 зворотного квантування; модуль 312 процесингу зворотного перетворення може бути функціонально ідентичним модулю 212 процесингу зворотного перетворення; модуль 314 відновлення може бути функціонально ідентичним модулю 214 відновлення; контурний фільтр 320 може бути функціонально ідентичним контурному фільтру 220; а буфер 330 декодованої картинки може бути функціонально ідентичним буферу 230 декодованої картинки.
Таким чином, пояснення, надані для відповідних модулів і функцій відеокодера 20 відповідно розповсюджуються на відповідні модулі і функції відеодекодера 30.
Ентропійне декодування
Модуль 304 ентропійного кодування виконаний з можливістю проводити синтаксичний аналіз бітового потоку 21 (або, взагалі, даних 21 кодованої картинки) і виконувати, наприклад, ентропійне декодування відносно даних 21 кодованої картинки, щоб здобувати, наприклад, квантовані коефіцієнти 309 і/або декодовані параметри кодування (не показані на фіг. 3), наприклад, якісь або усі інтер-прогнозні параметри (наприклад, індекс опорної картинки і вектор руху), інтра-прогнозні параметри (наприклад, інтра-прогнозний режим або індекс), параметри перетворення, параметри квантування, параметри контурного фільтра і/або інші синтаксичні елементи. Модуль 304 ентропійного декодування може бути виконаний з можливістю застосовувати алгоритми або схеми декодування, аналогічні схемам кодування, як описано з посиланням на модуль 270 ентропійного кодування кодера 20. Модуль 304 ентропійного
З5 декодування може додатково бути виконаний з можливістю надавати інтер-прогнозні параметри, інтра-прогнозні параметри і/або інші синтаксичні елементи до модуля Зб0ььвибору режиму і інші параметри до інших модулів декодера 30. Відеодекодер 30 може отримувати синтаксичні елементи рівні відео фрагмента і/або на рівні відео блока.
Зворотне квантування
Модуль 310 зворотного квантування може бути виконаний з можливістю отримувати параметри (дпапіїгайоп рагатеїег5, ОР) квантування (чи взагалі інформацію, пов'язану з інверсним квантуванням) і квантовані коефіцієнти від даних 21 кодованої картинки (наприклад, шляхом синтаксичного аналізу і/або декодування, наприклад, за допомогою модуля 304 ентропійного декодування) і застосовувати, на основі параметрів квантування, зворотне квантування на декодованих квантованих коефіцієнтах 309 для здобування деквантованих коефіцієнтів 311, які можна також назвати коефіцієнтами 311 перетворення. Процес зворотного квантування може включати використання параметра квантування, визначеного відеокодером 20 для кожного відео блока у відео фрагменті, щоб визначати ступінь квантування і, аналогічно, ступінь зворотного квантування, який буде застосований.
Зворотне перетворення
Модуль 312 процесингу зворотного перетворення може бути виконаний з можливістю отримувати деквантовані коефіцієнти 311 і застосовувати перетворення до деквантованих коеціфієнтів 311 з метою здобувати відновлені залишкові блоки 213 в області зразка. Відновлені залишкові блоки 313 можуть також називатися як блоки 313 перетворення. Перетворення може бути зворотнім перетворенням, наприклад, зворотнім ОСТ, зворотнім О5Т, зворотнім цілочисловим перетворенням або концептуально подібним процесом зворотного перетворення.
Модуль 312 процесингу зворотного перетворення може бути додатково виконаний з можливістю отримувати параметри перетворення або аналогічну інформацію від даних 21 кодованої картинки (наприклад, шляхом синтаксичного аналізу і/або декодування, наприклад, за допомогою модуля 304 ентропійного кодування) для визначення, яке перетворення застосувати до деквантованих коефіцієнтів 311.
Відновлення
Модуль 314 відновлення (наприклад, блок додавання або суматор 314) виконаний з можливістю додавати відновлений залишковий блок 313 до прогнозного блока 365 для здобування відновленого блока 315 в області зразків, наприклад, шляхом додавання значень зразків відновленого залишкового блока 313 і значень зразків прогнозного блока 365.
Фільтрування
Модуль 320 контурного фільтра (або у контурі кодування, або після контуру кодування) виконаний з можливістю фільтрувати відновлений блок 315, щоб здобувати фільтрований блок 321, наприклад, щоб згладити піксельні переходи або, в іншому випадку, покращити якість відео. Модуль 320 контурного фільтра може охоплювати один або більше контурних фільтрів, таких як деблокуючий фільтр, адаптивний до зразків фільтр зі зміщенням (затріеє-адаріїме ойвеї, ЗАС) або один або більше інших фільтрів, наприклад, фільтр двосторонньої дії, адаптивний контурний фільтр (адаріїме Іюор йМег, АГЕ), фільтри збільшення різкості або згладжування, або об'єднані фільтри, або будь-яке їх поєднання. Хоча модуль 320 контурного фільтра, показаний на фіг. З, знаходиться як фільтр у контурі, у інших конфігураціях модуль 320 контурного фільтра може бути втілений як пост-контурний фільтр.
Буфер декодованої картинки
Декодовані відео блоки 321 картинки у подальшому зберігаються у буфері 330 декодованої картинки, який зберігає декодовані картинки 331, як опорні картинки для наступної компенсації руху для інших картинок і/або для виведення на відповідний дисплей.
Декодер 30 виконаний з можливістю виводити декодовану картинку 311, наприклад, через вивід 312, для демонстрації або візуалізації користувачу.
Прогнозування
Інтер-прогнозний модуль 344 може бути ідентичним до інтер-прогнозного модуля 244 (особливо до модуля компенсації руху), а інтра-прогнозний модуль 354 може бути ідентичним до інтра-прогнозного модуля 254 функціонально, і приймає рішення щодо розділення або розбиття і прогнозування на основі параметрів розбиття і/або прогнозування або відповідної інформації, отриманої від даних 21 кодованої картинки (наприклад, шляхом синтаксичного аналізу ілабо декодування, наприклад, за допомогою модуля 304 ентропійного декодування).
Модуль 360 вибору режиму може бути виконаний з можливістю здійснювати прогнозування (інтра- або інтер-прогнозування) поблоково на основі відновлених картинок, блоків або відповідних зразків (фільтрованих або нефільтрованих) для здобуванння прогнозного блока 365.
Якщо відео фрагмент кодується як інтра-кодований (І) фрагмент, інтра-прогнозний модуль 354 модуля 360 вибору режиму виконується з можливістю створювати прогнозний блок 365 для блока картинки поточного відео фрагмента на основі сигнального інтра- прогнозного режиму, а також даних від попередньо декодованих блоків поточної картинки. Якщо відеокартинка кодована як інтер-кодований (тобто, В або Р) фрагмент, інтер-прогнозний модуль 344 (наприклад, модуль компенсації руху) модуля 360 вибору режиму виконується з можливістю створювати прогнозні блоки 365 для відеоблоку поточного відеофрагмента на основі векторів руху і інших синтаксичних елементів, отриманих від модуля 304 ентропійного декодування. Для інтер-прогнозування блоки прогнозування можуть бути створені від однієї з опорних картинок всередині одного зі списків опорної картинки. Відео декодер 30 може складати списки опорного кадру, список 0 і список 1, використовуючи стандартні способи складання на сонові опорних картинок, збережених в ОРВ 330.
Модуль 360 вибору режиму виконаний з можливістю визначати прогнозну інформацію для відеоблока поточного відеофрагменту шляхом синтаксичного аналізу векторів руху і інших синтаксичних елементів, а також використовує прогнозну інформацію для створення прогнозних блоків для поточного відеоблока, який декодується. Наприклад, модуль 360 вибору режиму використовує деякі з отриманих синтаксичних елементів для визначення режиму прогнозування (наприклад, інтра- або інтер-прогнозування), що використовується для кодування відеоблоків відеофрагменту, типу інтер-прогнозного фрагменту (наприклад, В-фрагмент, Р-фрагмент або
СРВ-фрагмент), складової інформації для одного або більше списків опорної картинки для фрагменту, векторів руху для кожного інтер-кодованого відеоблока фрагмента, стан інтер- прогнозування для кожного інтер-кодованого відеоблока фрагмента та іншу інформацію для декодування відеоблоків у поточному відеофрагменті.
Ще варіанти відеодекодера 30 можна використовувати для декодування даних 21 кодованої 60 картинки. Наприклад, декодер 30 може створювати вивідний відео потік без модуля 320 контурної фільтрації. Наприклад, не перетворюючий декодер 30 може зворотно квантувати залишковий сигнал безпосередньо без модуля 312 оброблення зворотного перетворення для певних блоків або кадрів. У ще одному втіленні відео декодер 30 може мати модуль 310 зворотного квантування і модуль 312 процесингу зворотного перетворення, об'єднані у єдиний модуль.
Слід розуміти, що у кодері 20 і декодері 30 процесинговий результат на поточному етапі може бути додатково підданий процесингу і потім виведений на наступний етап. Наприклад, після інтерполяційної фільтрації, витягування вектора руху або контурної фільтрації, може виконуватися додаткова операція, така як усічення або зміщення, над результатом оброблення інтерпояційної фільтрації, витягування вектора руху або контурної фільтрації.
Слід зазначити, що додаткові операції можна застосовувати до витягнених векторів руху поточного блока (включаючи, але не обмежуючись, вектори руху з контрольною точкою афінного режиму, субблокові вектори руху в афінні, планар, АТМУР (адмапсейд (етрогаї тоїйоп месіог ргедісбоп, удосконалене часове прогнозування вектора руху) режими, часові вектори руху та інше). Наприклад, значення вектора руху прив'язане до попередньо заданого діапазону згідно з його представленим бітом. Якщо представлений біт вектора руху є біЮерій, то діапазон є -2(БіЮерін-1) я 2"(рітерій-1)-1, де "" означає експонентування. Наприклад, якщо ріФЮерій прирівнюється до 16, діапазон є -32768 - 32767; якщо БіЮерій прирівнюється до 18, діапазон є - 131072-131071. Надаються два способи для прив'язування вектора руху.
Спосіб 1: видалити надлишок М5В (найбільш значущий біт) за допомогою послідовних операцій их-(тух-обіОерій) о/, ДБиОерій (1 ) тих-(их»-обиОерій-ї) ? (цх - 2биберій ) : ух (2) цу-(тмуаебіЮерів) о/, дБиОерій (3) тму-(цу»-2біЮОерій-1)) ? (Ву - 9БіОерій ) : цу (4)
Наприклад, якщо значення іпух є -32769, після застосування формули (1) і (2), результуюче значення є 32767. В комп'ютерних системах від'ємні десяткові числа зберігаються як двійковий код. Двійковий код числа -32769 є 1,0111,1111,1111,1111 (17 бітів), потім МВ відкидають, тому результуючим двійковим кодом є 0111,1111,1111,1111 (десятковим числом є 32767), яке однакове з вихідним за допомогою формули (1) і (2). их-(турх -- туйх -2бпОерій) 9 оБйОерій (5) тух-(их»- 2біберіт-ї) ? (цих - 2бпОерій ) : ух (6) цу-(туру щ туду яеБіерій) о/, ДБіЮерій (7) тму-(цу»-ебиОеріпт-1) 2? (цу - обиОерій) : цу (8)
Операції можна застосовувати під час додавання тур (тойоп месіог ргеадісіог, прогнозний засіб вектора руху) і тма (тоїйоп месіог айегепсе, різниця вектора руху), як показано у формулі (5) - (8).
Спосіб 2: видалити надлишок М5В за допомогою усічення значення мх-Сіїрз(-2біОерітї оБиберіт! -1, Ух) му-Сіїрз(-2рОеріт, рорпберін-1 -1, му) де визначення функції СіїрЗ є таким:
ХХ; ЯкХх
Сіїрз(х, у,2)-3у ; 2» уїнше 7 ; інше
Фіг. 4 є схематичною діаграмою пристрою 400 відеокодування згідно з варіантом розкриття.
Пристрій 400 кодування відео придатний для впровадження розкритих варіантів, як описано в даному документі. У варіанті здійснення пристроєм 400 відеокодування може бути декодер, такий як відеодекодер 30 за фіг. ТА або кодер, такий як відеокодер 20 за фіг. ТА.
Пристрій 400 кодування відео містить ввідні порти 410 (або впускні порти 410) і приймальні модулі (Ех) 420 для приймання даних; процесор, модуль логіки, або центральний процесорний модуль (СР) 430 для обробки даних; модулі (Тх) 440 передавача і вивідні порти 450 (або випускні порти 450) для передавання даних; а також пам'ять 460 для збереження даних.
Пристрій 400 кодування відео може також містити оптика-в-електрику (ОЕ) компоненти і електрика-в-оптику (ЕС) компоненти, поєднані з вхідними портами 410, модулями 420 приймача, модулями 440 передавача і портами 450 виходу для виходу або входу оптичних або електричних сигналів.
Процесор 430 виконується як апаратний і програмний засіб. Процесор 430 може бути втілений як один або більше чипів СР, ядер (наприклад, багатоядерний процесор), програмовані логічні матриці (Пеїа-ргодгаттабіе даїе аітауз, ЕРОСАв), спеціалізовані інтегральні мікросхеми (арріїсайоп зресіїйс іпіедгаїей сігсийв5, АБІСв) і цифрові сигнальні процесори (аїдігаї відпа! ргосеззогз, ЮР»). Процесор 430 знаходиться у інформаційному обміні з вхідними портами 410, модулями 420 приймача, модулями 440 передавача, портами 450 виходу і пам'яттю 460. Процесор 430 містить модуль 470 кодування. Модуль 470 кодування виконує розкриті варіанти здійснення, викладені вище. Як приклад, кодовий модуль 470 втілює, обробляє, готує або передбачає різноманітні кодові операції. Відповідно, включення модуля 470 кодування надає суттєві удосконалення функціональності пристрою 400 кодування відео і впливає на перетворення пристрою 400 кодування відео до відмінного стану. Як варіант, модуль 470 кодування виконується у вигляді інструкцій, збережених в пам'яті 460 і виконуваних процесором 430.
Пам'ять 460 може охоплювати один або більше дисків, стрічкових приводів і твердотілих приводів, і може використовуватися як пристрій збереження надлишкових даних, для збереження програм, якщо такі програми обрані для виконання, а також зберігання інструкцій і даних, котрі читаються упродовж виконання програми. Пам'ять 460 може бути, наприклад, енергозалежною або енергонезалежною і може бути постійно запам'ятовуючим пристроєм (геад-опіу тетогу, КОМ), запам'ятовуючим пристроєм з довільною вибіркою (гапдот ассевз5 тетогу, КАМ) трійкова асоціативна пам'ять (їегпагу сопіепі-адагеззаріє тетогу, ТСАМ), і/або статичний запам'ятовуючий пристрій з довільною вибіркою (5іайс гапдот-ассе55 тетогу,
ЗВАМ).
Фіг. 5 є спрощеною блоковою діаграмою апарата 500, який можна використовувати як один або як два - початковий пристрій 12 і цільовий пристрій 14, за фіг. 1 згідно з прикладним варіантом здійснення.
Процесор 502 в апараті 500 може бути центральним процесорним модулем. Альтернативно, процесор 502 може бути будь-яким іншим типом пристрою або множиною пристроїв, придатних для керування або оброблення інформації існуючої або розробленої у майбутньому. Причому розкриті втілення можуть реалізовуватися, як показано, з єдиним процесором, наприклад, процесором 502; переваги у швидкості і ефективності можна досягти, використовуючи Більше ніж один процесор.
Пам'ять 504 в апараті 500 може бути постійним запам'ятовуючим пристроєм (геай опіу тетогу, КОМ) або запам'ятовуючим пристроєм з довільним доступом (гапдот ассез5 тетогу,
ЕАМ) в засобі втілення. Як пам'ять 504 можна використовувати будь-який інший тип придатного зберігаючого пристрою. Пам'ять 504 може включати код і дані 506, які доступні процесору 502 за допомогою шини 512. Пам'ять 504 може додатково включати операційну систему 508 і прикладні програми 510; прикладні програми 510 включають, щонайменше, одну програму, яка дозволяє процесору 502 виконувати способи, описані тут. Наприклад, прикладні програми 510 можуть включати програми 1 до М, які додатково включають програму відеокодування, яка виконує способи, описані тут.
Апарат 500 може також включати один ч більше вивідних пристроїв, таких як дисплей 518.
Такий дисплей 518 може бути, за одним прикладом, сенсорним дисплеєм, який об'єднує дисплей з сенсорним елементом, який спрацьовує від сенсорного введення. Дисплей 518 можна поєднати з процесором 502 через шину 512.
До того ж, хоча тут і відображена одинарна шина, шина 512 апарату 500 може складатися з множини шин. Додатково, вторинне сховище 514 можна безпосередньо поєднати з іншими компонентами апарату 500 або надати доступ через мережу; а також воно може охоплювати одинарний інтегрований модуль, такий як картка пам'яті або множину модулів, таких як множина карток пам'яті. Апарат 500 може, таким чином, бути втіленим у широкий діапазон конфігурацій.
У новітніх розробках відеокодування з'явилися більш сучасні способи і схеми для прогнозування.
Одним таким способом є мультигіпотезне прогнозування. Спочатку термін «мультигіпотезне прогнозування» був представлений для розширення компенсації руху з одним прогнозним сигналом до лінійної суперпозиції декількох прогнозних сигналів з компенсованим рухом.
Пізніше цей підхід поширений для об'єднання існуючого прогнозного режиму з індексованим прогнозуванням екстра злиття. Конкретно, воно включає мультигіпотезне прогнозування для інтра- та інтер-режиму (або, іншими словами, поєднання інтра- та інтер-режиму, що підтверджується, наприклад, документом Об'єднаної команди відео-експертів (доіїпї Мідео
Ехрепз Теат, МЕТ), документ УМЕТ-І0100-м3, під назвою "СЕ10.1.1: мультигіпотензне прогнозування для покращення режиму АМУР, режиму пропуску або злиття і інтра-режиму", 12- та конференція: Макао, Китай, З - 12 Жовтня, 2018). Цей підхід застосовує мультигіпотезне прогнозування для покращення інтра режим, шляхом поєднання одного інтер-прогнозування і одного індексованого прогнозування злиття. Іншими словами, використовується лінійна 60 комбінація як інтра-, так і інтер-прогнозного блока.
Ще одним способом є введення і використання окремих списків злиття для субблокових кандидатів злиття, тобто окремих від списків кандидатів злиття для звичайного режиму злиття, на рівні блока (що підтверджується, наприклад, документом Об'єднаної команди відео-експертів (Ооіпї Мідео Ехрепз Теат, УМЕТ), документ УМЕТ-І 0369-м2, під назвою "СЕ4: Окремий список для субблокових кандидатів злиття (Тест 4.2.8)3)7, 12-та конференція: Макао, Китай, 3 - 12
Жовтня, 2018). Спосіб є частково придатним для вище згаданих АТМУР і афінованих режимів.
Мультигіпотезне прогнозування для використання інтра- та інтер-режиму контролюється за допомогою тп іпіга ЯПад, який регламентує, чи задіяне мультигіпотезне прогнозування для інтра- та інтер-режиму для поточного блока. За відомим рівнем техніки покажчик ті іпіга Пад передається умовно, залежно від тегде апйіпе йад відповідно до наступної синтаксичної таблиці: -001т о )інакоес" МОСЕ ІМТЕВУЇ 11111111 о якщобсси кір бад(їхО ДУ ССС г1 якщо. б8орулат»-ваасрНеюп тив) 77777711 7 якщо(тегє айпе лао|хоЦуо1- а Махмотмешесапах1)1 7331 Щ(- оякщобтуй М огеюо бад--0)7777711111111ї1 1 оо фрнакше 11111111 1 якщостеюде пауїхОДУСЮЄ.ЇГ ССС їг1 якщо( зрз айпе епабріед Пад 58: сруміак »- 8 58. сЬьНеїдні »- 8 38 в
МоїіопМодепнасі хо - 1 |у - сьНеїднп)!- 0
МоїіопмМодейнасі хо - 1 у -11!- 0
МоїіопМоадепнасі хо - сруміат - 1 у -11!- 0
МоїіопМодепйас| хо -- сьмуіан |( у0 - 1 Щ-0 / якщо(тегде айпе пао|хО Му) --0 88 МахМитМедесала»ї)..//ос0б/!/!///////////////// ЇЇ / якщо(тегое айпе бао|хО Му) --0 88 ти теге йадї хо ЦДуб| --0).77711г о якщобтп па бад(їхОДУЄЮЮЇГГГС111111111111111ї1 тв іпта тодеїййхЇїхОДубІ!Їд 77777711 Ї 7 якщо(теге айпе Пад|їхОЦу0| --0 88 МахМитМедеСсапла»т).../(: 5/4: о унакшео/////11111111111111111111111111111ї1 1
Таким чином, ті іпіга Пад був умовно сигнальований за умови, щотегде айпе Пад дорівнює нулю. Це означає, що спільне використання афінованого злиття з тп іпіга Пад, тобто мультигіпотезне прогнозування для інтра- та інтер-режимів скасоване. Однак, все одно дозволяється використовувати АТММУР з ті іпіга Пад.
Після останнього впровадження окремого списку злиття для субблокових кандидатів злиття, афіновані кандидати злиття були поєднані з айпур кандидатами злиття і використання цих субблокових кандидатів контролюється за допомогою знову введеного параметра, названого тегде зИибБбБіоскК ПЧад. У подальшому жодного окремого параметра тегде айіпе не використовується. Таким чином, синтаксис не дозволяє визначення випадку, коли далі афінований режим злиття не використовується, але айтпуир використовується. Новий шлях сигнального мультигіпотезного прогнозування, поєднуючи інтра- та інтер-режим за наявності окремих списків злиття для субблокових кандидатів злиття, був розроблений на платформі даного винаходу.
Винахід пропонує множину способів з використання і сигналювання мультигіпотезного прогнозування для інтра- та інтер-режиму разом з наявністю окремих списків злиття для субблокових кандидатів злиття у кодеку. Можливі багато шляхів з гармонізації, які включені у дане розкриття. Також розкривається використання мультигіпотезного прогнозування для інтра- та інтер-режиму у випадку режиму пропуску.
Згідно з одним загальним аспектом даного розкриття, пропонується спосіб відеокодування відеоданих в бітовий потік і спосіб відеодекодування відеоданих, отриманих в бітовому потоці.
Спосіб відеокодування включає застосування першого способу і/або другого способу.
Перший спосіб включає використання окремого списку злиття для субблокових кандидатів злиття. Другий спосіб включає мультигіпотезне прогнозування для інтра- та інтер-режиму.
Спосіб включає передавання першого контрольного покажчика в бітовому потоці, причому перший контрольний покажчик показує, чи використовувати перший спосіб, і передавання другого контрольного покажчика в бітовому потоці, причому другий контрольний покажчик показує, чи використовувати другий спосіб.
Спосіб відеодекодування включає застосування першого способу і/або другого способу.
Перший спосіб включає використання окремого списку злиття для субблокових кандидатів злиття. Другий спосіб включає мультигіпотезне прогнозування для інтра- та інтер-режиму.
Спосіб включає отримання першого контрольного покажчика від бітового потоку, причому перший контрольний покажчик показує, чи використовувати перший спосіб, і отримання другого контрольного покажчика від бітового потоку, причому другий контрольний покажчик показує, чи використовувати другий спосіб.
Згідно з варіантами здійснення, використання способу мультигіпотезного прогнозування для інтра- та інтер-режиму контролюється незалежно від використання способу окремого списку злиття для субблокових кандидатів злиття. Іншими словами, у таких варіантах здійснення, сигналювання першого контрольного покажчика (тегде 5!ИиББіоскК Пад) виконується незалежно від сигналювання другого контрольного покажчика (тп іпіга Пад).
У одному варіанті здійснення мультигіпотезне прогнозування для інтра- та інтер-режиму контролюється за допомогою ті іпіга ад, який сигналізується без залежності від тегде з!ИиББіоскК ПЧад. У цьому випадку мультигіпотезне прогнозування для інтра- та інтер- режиму можливе для обох субблокових режимів: афінованого та айтур, так само, як і для звичайного злиття. Синтаксичні таблиці нижче показують можливі шляхи сигналювання ті іпіга Пад у даному варіанті здійснення. (сосіпо пі хО,уб, сруМісш, сьНеднь жееєтуре)ї 77777771 ІДеокрипторі
А
І фМнакле(" МООЕ ІМТЕНУЇ 11111111 о якщобсси кір бад(їхО ДУ ССС г1 якщо... 8аорумав 88 соНеютм 8) 77777777777777777711Ї11 у 7 якщо(тегде зурріоск Пао|хО(у0)--088 МахМитМедесапа»т)././:/; К( (и Її 7 якщо(тегде зурріоск Пас хо (у) --188 МахМитеиЬроскМеесала її ///ссс77777Ї1 оо фнавдше7З/////7С7111111111111111єг 7 якщостеюде пар(ЇхОДУСЮЄ С/г 1111 якщо. форума» 888 сЬНеютм»8) 77777771 ЇЇ 7 якщо(тегде зибріоск пад хо Цуб|--088МахМитМегесапа»!ї)../-/:(«|ЛИ///77 7! 7 якщо(тегде вирріоск баб хо Цуб|-- 188 МахМитЗирріоскМедесСапа»!)./-/-////:-: СОЇ о фнавшео/////11111ї1 1
У таблиці вище використання мультигіпотезного прогнозування, поєднуючи інтра- та інтер- режим, обмежується до кодових блоків у режимі злиття.
Зо
І фМнакле(" МООЕ ІМТЕНУЇ /////////7111111111111111г о якщосси кір Яйад(їхО ДУ СССССС1111111ї1 якщо... 858 срумаю »-8 88 сбНедпі»-8) 77777771 7 якщо(тегде вирріоск Паб хо Дуб) --0 88 МахМитМегеСалі»тї)..-/:/ (7 Ї771 у 7 якщо(тете зурріоск йао| хо Цу0)| --1 88. МахМитЗирріоскМеесСапа»!ї)ї 777711 оо фнавдше7З/////7С7111111111111111г якщо( тегде Пасо| хО |у |) 1 якщос.. 88 срумат»-8 88 сбНеюпі 8). 77777771 11 у якщо( тегде зИбБіоск Паді хо (У0| - -0 85. МахмитМегдесСапа » 1) тегде іах| хо || уб якщо( тегде зИбБріоск Паді хо ЦУО| --1 88 МахмитеирріоскМегтесага » 1) тегде зибБіоск їах| хо || ус о фнакше7///ССССССССС1111111111г шт 1
У попередній таблиці використання мультигіпотезного прогнозування, поєднуючи інтра- та інтер-режим, можна застосовувати як до кодових блоків в режимі злиття, так і до кодових блоків в режимі пропускання.
У варіанті здійснення за даним винаходом мультигіпотезне прогнозування для інтра- та інтер-режиму контролюється за допомогою т іпіга Пйад, який сигналізується на основі тегде з!ИиББіоскК ПЧад. У цьому випадку мультигіпотезне прогнозування для інтра- та інтер- режиму можливе лише, якщо скасовані обидва субблокових режими: афінований та аїтур.
Іншими словами, мультигіпотезне прогнозування для інтра- та інтер-режимів можливе у нормальному режимі злиття, але поєднання мультигіпотезного прогнозування для інтра- та інтер-режиму з окремими списками злиття для субблокових кандидатів злиття скасовується.
Синтаксичні таблиці нижче показують можливі шляхи сигналювання ті іпіга Пад у даному варіанті здійснення. сосіпо пі хо, у0, ср, соНень пеетуре)ї. 77777171 ІДескриптор -ш1т
І Зінакше(" МООЕ ІМТЕНМЇ 111 о якщобси кір пад ХО ДУСІ СССССС111111ї1 якщо... 88орумав 88 ооНеютм8 77777711 тегде зибБіоск Пад| хо || ус якщо тегде зирріоск Паб хо Ду0|-- 088 МахмитМегеСсала»ї).../-/:/ 2711 тегде іах| хо || Ус 1 якщо тегое зирріоск Паб хо Ду0|--1 88 МахМмитеирріоскМещеСапа»ї). 77777171 тегде зиББіоск іах|ц хо || Ус оо фрнакшео 11111111 тегде Паод| хо || у0 7 якщостеюе бау|ЇхО ДУ. ССС ї1 11 якщо. 88орумав»- 888 срНедп 8) 77777711 тегде зиББіоск Пйаад| хо || Ус 7 якщо(тегое зирріоск Паб хо Цуб|-- 088 МахмитМегеСсапа»ї).../-/:/ (171 тегде іах| хо || Ус 1 7 якщо(тегое зирріоск Паб хо Дуб|--1 88 МахмитецрріоскМешеСапа»ї).ї 77777171 якщо тегде зибріоск бпадїхо Дуб в0О).77777СС11111Ї1 ті іпіга Йаді хо || у 1 наше -ш1т 17
У таблиці вище використання мультигіпотезного прогнозування, поєднуючи інтра- та інтер- режим, обмежується до кодових блоків у режимі злиття. -ш о )інакоес" МОСЕ ІМТЕВУЇ С/г якщобси вкір йвоГїхОДУСЮЇ ССС якщо... 85 срумаю 8 88 соНедпі»-8) 77777711 тегде зибБіоск Пад| хо || Ус якщо тегде зирріоск Паб хо Дуо) --0 88 МахмитМетдеСала»ї).../-:/ (с / ЇЇ тегде іах| хо || у якщо тегое зирріоск Паб| хо Ду) --1 88 МахМмитецрріоскМедесСапа»!ї)./////7777/Ї!171 якщо( тегде зиБріоск Пйад| хО ЦуУ0| --0) ті іпіга Мад| хо || у 1 оо фнавше/ Сг тегде Паад| хо || ус якщо( тегое Пасо| хО | ус |) | ши
7 якщо(тегде вирріоск баб хо Дуб) --0 88 МахМитМещеСала»!)../-/:/КБ//СС77Ї771 у 7 якщо(тегде вирріоск Таб| хо Цу0) --1 88 МахМитЗирроскМещеСапа»!). 7717711.) /якщо(тегде вибріоск Пай хо Дуб 80). о фнавше7/////СССССССС1111111111 шт1оо/'/Її 1
У попередній таблиці використання мультигіпотезного прогнозування, поєднуючи інтра- та інтер-режим, можна застосовувати як до кодових блоків в режимі злиття, так і до кодових блоків в режимі пропускання.
На основі вищевказаного варіанту здійснення кодер сигналізує ті іпіга Пад («другий покажчик», також називається сір Пад) лише, якщо окремі списки злиття для субблокових кандидатів скасовані, тобто, якщо тегде 5зйБббБіосК Пад («перший покажчик») дорівнює нулю. З іншого боку, декодер, отримуючи бітовий потік, в який включено ті іпіга Пад, визначає за замовчуванням, що окремі списки злиття для субблокових кандидатів скасовані.
У подальшому, посилаючись на блок-схеми 6 і 7, буде пояснюватися процесинг, згідно з варіантами, описаними вище.
Фіг. 6 є блок-схемою, яка ілюструє процес на стороні кодера згідно з варіантом здійснення даного винаходу.
Процес починається з рішення, чи використовувати окремий список злиття для субблокових кандидатів на етапі 5101. У разі іншого випадку (5101: Ні) процесинг переходить до етапу 5103.
На етапі 5103 вирішується, чи використовується мультигіпотезне прогнозування поєднуючи інтра- та інтер-режими. Незалежно від результату рішення процесинг послідовно переходить до етапу 5105. На етапі 5105 створюється ті іпіга Пад, як параметр, який підлягає сигналюванню в бітовому потоці. Більш точно, якщо використовується мультигіпотезне прогнозування для інтра- та інтер-режиму (5103: Так), до ті іпіга Пад приймається значення «1», а якщо мультигіпотезне прогнозування для інтра- та інтер- покажчика не використовується (5103: Ні), то до ті іпіга Пад приймається значення «0» (не показано на малюнку).
Послідовно процесинг переходить до етапу 5107. У випадку, якщо на етапі 5101 вирішено використовувати окремий список злиття для субблокових кандидатів (5101: Так), процесинг переходить безпосередньо від етапу 5101 до етапу 5107.
На етапі 5107 створюється тегде з!йБбБіосК Пад, як параметр, що підлягає сигналюванню у бітовому потоці. Біль точно, у випадку використання окремого списку злиття, тобто, коли процедура переходить від 5101: Так, значення «1» приймається тегде 5!йБріосК Паї, і у випадку, коли процедура поступає від 5101: Ні через 5103 і 5105, тобто коли не використовується жодного окремого списку злиття, тегде 5йБріосК Пад приймається значення «О» (не показано на малюнку).
Отже, мультигіпотезне прогнозування для інтра- та інтер-режиму використовується лише умовно за умови, що не використовуються окремі списки злиття для субблокових кандидатів.
Таким чином, тегде 5!йиББіосК ПЯад створюється завжди, але т іпіга Пад створюється лише,
З5 якщо не використовується жодного окремого списку злиття для інтра- та інтер-режиму.
Послідовно, на етапі 5109 створюється бітовий потік, включаючи тегде з!йиббБіосК Пад і умовно (якщо тегде зиБбБросК Пад є 0) також включаючи ті іпіга Пад, а потім процесинг завершується.
Фіг. 7 є блок-схемою, яка ілюструє процесинг на стороні декодера згідно з варіантом здійснення даного винаходу.
Процесинг починається з етапу 5201, на якому проводиться синтаксичний аналіз отриманого бітового потоку. На наступному етапі 5203 перевіряється, чи існує ті іпіга Пад у бітовому потоці. У цьому випадку (5203: Так) процесинг переходить до етапу 5207. На етапі 5207 покажчик ті іпіга їПад обчислюється з метою прийняття рішення, чи слід використовувати в декодуванні мультигіпотезне прогнозування для інтра- та інтер-режиму, залежно від значення синтаксично проаналізованого ті іпіга Пад. У випадку, якщо ті іпіга Пад має значення 1, декодування виконується з використанням мультигіпотезного прогнозування для інтра- та інтер- режиму на етапі (5207: Так-» 5211), і процесинг завершується. Інакше, тобто, коли тп іпіга Пад має значення 0 (5207: Ні), мультигіпотезне прогнозування не використовується (і також не існує окремого списку злиття для субблокових кандидатів).
З іншого боку, якщо на етапі 5203 зазначено, що не існує ті іпіга ПЯад (5203: Ні), процесинг переходить до етапу 5204. На етапі 5204 зиББіосК тегде Пад, отриманий від бітового потоку,
обчислюється з метою зазначити на наступному етапі (5205), чи використовувати окремий список злиття для субблокових кандидатів.
На етапі 5205, якщо з5!йБрБіосК тегде йад має значення 1, то зазначається, що слід використовувати окремий список злиття (5205: Так), і процесинг переходить на етап 5209, на якому декодування виконується з використанням окремого списку злиття. Інакше, тобто, коли 5ИБріосК тегде Пад має значення 0 (5205: Ні), зазначається, що декодування виконується без використання окремого списку злиття (і без мультигіпотезного прогнозування для інтра- та інтер-режиму), і процесинг доходить кінця.
Відповідно, згідно з варіантом здійснення, від наявності ті іпіга ПЯад у синтаксично аналізованому бітовому потоці (5203: Так) безпосередньо припускається, що окремі списки злиття для субблокових кандидатів не використовуються.
Іншими словами, покажчик тегде з!иБріоскК Пад, який завжди включається в бітовий потік і отримується, аналізується лише у випадку, коли ніякого ті іпіга Яад не включено у бітовий потік. Таким чином, у будь-якому випадку, лише єдиний покажчик слід обчислювати на стороні декодера.
Взагалі, згідно з даним винаходом, використання способу мультигіпотезного прогнозування для інтра- та інтер-режиму контролюється на основі використання способу окремого списку злиття для субблокових кандидатів злиття. Більш конкретно, згідно з варіантом здійснення на фіг. 7, спосіб мультигіпотезного прогнозування для інтра- та інтер-режиму модна використовувати, якщо, і лише якщо, скасовано спосіб окремого списку злиття для субблокових кандидатів злиття.
Вищевказані варіанти здійснення дозволяють гармонізувати мультигіпотезне прогнозування для інтра- та інтер-режиму з окремим списком злиття для субблокових кандидатів злиття.
Варіанти здійснення, які також дозволяють використання мультигіпотезного прогнозування для інтра- та інтер-режиму в режимі пропускання блока, додатково дозволяють досягати посилення кодування по відношенню до базового рішення. Варіанти, які включають умовне сигналювання ті іпіга Яад на основі використання окремого списку злиття для субблокових кандидатів злиття, мають додаткову перевагу у вигляді зниження сигнальних обмежень, оскільки т іпіга Яад не потребує сигналювання у кожному випадку.
Математичні оператори
Математичні оператори, використовувані у даній заявці, подібні тим, що використовуються у мові програмування С. Однак, результати цілочислового ділення і операцій арифметичного зміщення описуються більш точно, а також описуються додаткові операції, такі як експонентування і ділення дійсного числа. Числові і рахункові умови взагалі починаються від 0, наприклад, «перший» еквівалентний до 0-го, «другий» еквівалентний до 1-го, тощо.
Арифметичні оператори
Наступні арифметичні оператори описуються наступним чином: я Додавання й Віднімання (як двоаргументовий оператор) або заперечення (як єдино-префіксний оператор) х Множення, включаючи матричне множення
Експонентування. Приймає х у ступені у. В іншому контексті таке позначення
Ху використовується для верхнього індексу, не передбачається для інтерпретації як експонентування. / Цілочислове ділення з скороченням результату в сторону нуля.
Наприклад, 7 / 4 і -7 / -4 скорочуютьдо 1, а -7 / 4 і 7 / -4 скорочують до -1. - Використовується для позначення ділення у математичних рівняннях, де не передбачається скорочення або округлення.
Х Використовується для позначення ділення у математичних рівняннях, де не у передбачається скорочення або округлення. у
У) Підсумовування Кі) де і приймає усі цілочислові значення від х до, і включаючи, у. ії-х хору Залишок. Залишок від х, діленого на у, заданий лише для цілих чисел х тау, де х 5-0, аух»о.
Логічні оператори
Наступні логічні оператори задані наступним чином: х б у Булевий логічний "і" по х та у х | |У Булевий логічний "або" по х та у
Ї Булевий логічний "не"
х ? у :7 Якщо х є ІСТИНА або не дорівнює 0, приводиться до значення у; інакше, приводиться до значення 7.
Реляційні оператори
Наступні реляційні оператори задані наступним чином: » Більше ніж »Е Більше ніж або дорівнює « Менше ніж «Е Менше ніж або дорівнює - є Дорівнює
І Не дорівнює
Коли реляційний оператор застосовується до синтаксичного елемента чи змінної, якій присвоїли значення «ні» (не придатна), значення «ні» розглядається як відмінне значення для синтаксичного елементу або змінної. Приймається, що значення «ні» не дорівнює будь-якому іншому значенню.
Побітові оператори
Наступні побітові оператори задані наступним чином: 8. Побітовий «і». Під час операції над цілочисловими аргументами, здійснює операцію над представленням цілочислового значення в двійковому додатковому коді. Під час здійснення операції над бінарним аргументом, який включає менше бітів, ніж інший аргумент, коротший аргумент розширюється шляхом додавання більш старших бітів, рівних 0.
Побітовий «або». Під час операції над цілочисловими аргументами, здійснює операцію над представленням цілочислового значення в двійковому додатковому коді. Під час здійснення операції над бінарним аргументом, який включає менше бітів, ніж інший аргумент, коротший аргумент розширюється шляхом додавання більш старших бітів, рівних 0. лк Побітовий «виключно або». Під час операції над цілочисловими аргументами, здійснює операцію над представленням цілочислового значення в двійковому додатковому коді. Під час здійснення операції над бінарним аргументом, який включає менше бітів, ніж інший аргумент, коротший аргумент розширюється шляхом додавання більш значущих бітів, рівних 0. х о »» у Арифметичний зсув праворуч цілочислового представлення в двійковому додатковому коді х по у бінарних розрядів. Ця функція задана лише для не-від'ємних цілочислових значень по у. Біти, зсунуті в найбільш значущі біти (М5В5) як результат зсуву праворуч, мають значення рівне М5В по х, яке передувало операції зсуву. х «х« у Арифметичний зсув ліворуч цілочислового представлення в двійковому додатковому коді х по у бінарних розрядів. Ця функція задана лише для не-від'ємних цілочислових значень по у. Біти, зсунуті в найменш значущі біти (585) як результат зсуву ліворуч, мають значення рівне 0.
Присвійні оператори
Наступні арифметичні оператори описуються наступним чином: т Присвійний оператор - я Інкремент, тобто, х-- - дорівнює х - х - 1; у разі використання в індексі масиву приводить до значення змінної перед операцію інкременту. -- Декремент, тобто, х-- дорівнює х - х - 1; у разі використання в індексі масиву приводить до значення змінної перед операцію декременту. в- Інкремент опо заданій сумі, тобто, х-3 дорівнює х-х-3, а х--(-3) дорівнює х - х -- (-3). -к Декремент по заданій сумі, тобто, х--3 дорівнює х-х-3, а х--(-3) дорівнює х - х - (-3).
Позначення діапазону
Наступне позначення використовують, щоб задати діапазон значень: х Е у..7 х набуває цілочислові значення, починаючи з у до 7, включно, де х, у, та 7 є цілими числами і 7 є більшим за у.
Математичні функції
Задаються наступні математичні функції: дові) хо хо -МХ ; хХ«0
Авіп( х ) тригонометрична функція зворотного синуса, діюча над аргументом х, який знаходиться в діапазоні -1,0 - 1,0, включно, де вихідне значення знаходиться в діапазоні -п-2 - п-, включно, в одиницях радіан.
Аїап( х) тригонометрична функція зворотного тангенсу, діюча над аргументом х, де вихідне значення знаходиться в діапазоні -п-2 - п--2, включно, в одиницях радіан.
мак У.) ; х»0 х да Ух у х«0ббуз-0 х
Агапг(у,х)- тат У.) -- ; Х«б0ввує«о х 15 у х--088у«0 їх . -- ; інше 2
Сеї( х) найменше ціле число, яке більше або дорівнює х.
Сіїр!м х) - Сіїрз( 0, (1 «« ВіОерійх) -1, х)
Сіїріс( х) - Сіїірз( 0, (1 «« ВіОерійс) -1, х)
ХХ; ЯкХх
Сіра у, 2)-4У ху 7; інше
Сов( х) тригонометрична функція косинусу, діюча над аргументом х в одиницях радіан.
Ніоог( х) найбільше ціле число, менше або дорівнює х. сна; б-ах-а/г
СеіСитме(а,р,с)-3с-а ; а-р»а/г2 с ; інше
Ї п( х) натуральний логарифм х (логарифм за основою е, де е є константою 2.718 281 828... основи натурального логарифма).
І ода х ) логарифм х за основою 2.
Го910( х) логарифм х за основою 10.
Міп(х, у) - |; ТУ
У ху
Мах (ху)- ( б ху
У з хху
Вошпа х ) - бідп( х) " Рісогі Абз( х) 40,5) 1; хо
Зіпо(їх)-4 0 ; х--0 - 5, Х«0 зіп( х) тригонометрична функція синусу, діюча над аргументом х в одиницях радіан
Змарі(х) - ух змар(х, у) - (у, х)
Тап(х ) тригонометрична функція тангенсу, діюча над аргументом х в одиницях радіан
Порядок пріоритету операції
Якщо порядок пріоритету у виразі не вказаний безпосередньо за допомогою дужок, застосовують наступні правила: - Операції вищого пріоритету розраховують перед будь-якою операцією нижчого пріоритету. - Операції однакового пріоритету розраховують послідовно справа наліво.
Таблиця нижче конкретизує пріоритет операцій від найвищого до найнижчого; найвища позиція в таблиці показує найвищий пріоритет.
Для тих операцій, які також використовуються у мові програмування С, порядок пріоритету, використовуваний у даній Специфікації, є аналогічним тому, що використовується у мові програмування С.
Таблиця
Пріоритет операцій від найвищого (зверху таблиці) до найнижчого (внизу таблиці) "ху" х/ухту"У "хору" у "хау", "х - у" (якоператор здвома аргументами), "іх с"
Текстовий опис логічних операцій
У текстовому форматі вираз логічних операцій, може математично описуватися у наступній формі: якщо (умова 0) вираз 0 ще якщо (умова 1) вираз 1 ... ще /" інформативний коментар на решту умови "/ вираз п можна описати наступним чином: -.. за формулою / ... застосовується наступне: - якщо умова 0, вираз 0 - Інакше, якщо умова 1, вираз 1 - Інакше (інформативний коментар на решту умови), вираз п
Кожен "якщо ... Інакше, якщо ... Інакше, ...» вираз у тексті представляється за допомогою «... за формулою" або «...застосовують наступне", одразу після "якщо ...». Остання умова по "Якщо... Інакше, якщо ... Інакше, ... » завжди є "Інакше, ...». Чергується "Якщо ... Інакше, якщо і. Інакше, ...» вирази можна ідентифікувати за допомогою позначки «... після" або «...застосовують наступне" із закінченням "Інакше, ...».
У текстовому форматі вираз логічних операцій, може математично описуватися у наступній формі: якщо (умова ба 58. умова ОБ) вираз 0 ще якщо (умова а | | умова 1Б) вираз 1 ... ще вираз п можна описати наступним чином: -.. за формулою / ... застосовується наступне: - Якщо усі із наступних умов істинні, то вираз 0: - умова ба - умова Ор - Інакше, якщо одна або більше з наступних умов істинні, вираз 1: - умова Та - умова 16
Зо -. - Інакше, вираз п
У текстовому форматі вираз логічних операцій, може математично описуватися у наступній формі: якщо (умова 0) вираз 0 якщо (умова 1) вираз 1 можна описати наступним чином:
Якщо умова 0, вираз 0
Якщо умова 1, вираз 1
Варіанти здійснення, наприклад, кодера 20 і декодера 30 і функції, описані тут, наприклад, з посиланням на кодер 20 і декодер 30, можуть бути втілені у апаратному забезпеченні, програмному забезпеченні, вбудованих програмах або будь-якому їх поєднанні. Я разі втілення в програмному забезпеченні, функції можуть зберігатися на комп'ютерозчитуваному засобі або передаватися через засіб комунікації як одна або більше інструкцій або код, а також запускатися за допомогою процесингового модуля, основаного на апаратному засобі.
Комп'ютерозчитуваний засіб може включати комп'ютерозчитуваний засіб зберігання, який відповідає матеріальному носію даних, такому як засіб зберігання даних, або засію комунікації, включаючи будь-який засіб, який сприяє передачі комп'ютерної програми з одного місця до іншого, наприклад, згідно з протоколом комунікації. У такий спосіб, комп'ютерозчитуваний засіб взагалі може відповідати (1) матеріальному комп'ютерозчитуваному засобу зберігання, який є нетимчасовим, або (2) засобу комунікації, такому як сигнальна або струмова хвиля. Засобом зберігання даних може бути будь-який доступний засіб, який може бути досягнутий одним або більше комп'ютерів, або одним або більше процесорів, для завантаження інструкцій, коду і/або структур даних для втілення способів, описаних у даному розкритті. Комп'ютерний програмний продукт може включати комп'ютерозчитуваний засіб.
Як приклад, і не обмежуючий, такий комп'ютерозчитуваний засіб зберігання може охоплювати КАМ, КОМ, ЕЕРКОМ, СО-КОМ або інше оптичне дискове сховище, або інші магнітні пристрої зберігання, флеш-пам'ять, або будь-який інший засіб, який можна використовувати для збереження бажаного програмного коду у формі інструкцій або структур даних, і які можна надати доступ з комп'ютера. Також, будь-яке з'єднання справедливо називається комп'ютерозчитуваним засобом. Наприклад, якщо інструкції передаються з вебсайту, серверу або іншого віддаленого джерела з використанням коаксіального кабелю, оптоволоконного кабелю, витої пари, цифрової абонентської лінії (аідйа! з,ибвзстгірег пе, ОБ) або безпровідних технологій, таких як інфрачервона, радіо і мікрохвильова, то коаксіальний кабель, оптоволоконний кабель, виту пару, цифрову абонентську лінію (аідйа! зибвсгібег Іїпе, 05) або безпровідні технології, такі як інфрачервона, радіо і мікрохвильова, включають у визначення засобу зберігання. Слід розуміти, що, однак, такі комп'ютерозчитувані засоби зберігання і засоби зберігання даних не включають з'єднання, струмові хвилі, сигнали або інші засоби передавання, але напроти, направлені на нетимчасові, речові засоби зберігання.
Дискета і диск, згадані тут, включають компакт-диск (сотрасі аізс, СО), лазерний диск, оптичний диск, цифровий універсальний диск (діда! мегзаше аіїзс, ЮМО), флоппі-диск і Блурей диск, причому дискета зазвичай відтворює дані магнітним чином, тоді як диски відтворюють дані оптично за допомогою лазерів. Поєднання вищезазначеного також слід включати в межі комп'ютерозчитуваних засобів.
Інструкції можна запускати за допомогою одного або більше процесорів, таких як один або більше цифрових сигнальних птроцесорів (аїдйа! відпа! ргосеззоїз, Ю5Рз5), мікропроцесорів загального призначення, спеціалізованих інтегральних мікросхем (арріїсайоп 5ресійс іпіедгаєей сігсийв, АБІСв5), логічних інтегральних схем з програмуванням (Пед ргодгаттаБбіе Іодіс аїтаув,
ЕРСА5) або інших еквівалентних інтегрованих або дискретних логічних електронних схем.
Відповідно, термін "процесор", як він використаний тут, може стосуватися будь-якої наступної конструкції або будь-якої іншої конструкції, придатної для втілення способів, описаних тут.
Додатково, у деяких аспектах, функціональність, описана тут, може надаватися в межах спеціалізованих модулів апаратного засобу і/або програмного засобу, виконаних для кодування і декодування, або інтегрованих в комбінований кодек. Також способи можуть бути повністю втілені у одну або більше мікросхем або логічних елементів.
Способи за даним розкриттям можуть бути втілені у широкий спектр пристроїв або апаратів, включаючи безпровідний телефон, інтегральну мікросхему (іпієдгастей сігсий, ІС) або набір мікросхем ІС (наприклад, набір чипів). Різноманітні компоненти, модулі або елементи описані в даному розкритті для підкреслення функціональних аспектів пристроїв, виконаних з можливістю виконувати розкриті способи, але не обов'язково потребують реалізації за допомогою різних модулів апаратних засобів. Більш точно, як описано вище, різноманітні модулі можуть бути поєднані в модуль апаратного засобу кодека або передбачені набором взаємодіючих модулів апаратних засобів, включаючи один або більше процесорів, як описано вище, у взаємодії з придатним апаратним засобом і/або програмним засобом.

Claims (14)

ФОРМУЛА ВИНАХОДУ
1. Спосіб кодування відеоданих в бітовий потік (21), який відрізняється тим, що спосіб включає використання першого способу і/або другого способу, при цьому перший спосіб (5101) включає використання окремого списку злиття для субблокових кандидатів злиття; і другий спосіб (5103) включає мультигіпотезне прогнозування для інтра- та інтер-режимів; де спосіб включає, для кодового блока: передавання (5107, 5109) першого контрольного покажчика в бітовому потоці (21), де перший контрольний покажчик показує, чи використовувати перший спосіб (5101); і, залежно від того, чи використовувати перший спосіб (5101) для кодового блока, передавання (5105, 5109) або непередавання другого контрольного покажчика в бітовому потоці (21), де другий контрольний покажчик показує, чи використовувати другий спосіб (5103); де другий контрольний покажчик передається, якщо, і тільки якщо, перший спосіб не використовується (5101: Ні) для кодового блока.
2. Спосіб за п. 1, який відрізняється тим, що, якщо кодовий блок кодується в режимі злиття, передається другий контрольний покажчик.
3. Спосіб за п. 2, який відрізняється тим, що, якщо кодовий блок не кодується в режимі злиття, не передається другий контрольний покажчик.
4. Спосіб за п. 1 або 2, який відрізняється тим, що, якщо кодовий блок кодується в режимі пропускання, передається другий контрольний покажчик.
5. Спосіб за п. 4, який відрізняється тим, що, якщо кодовий блок не кодується в режимі пропускання або в режимі злиття, не передається другий контрольний покажчик.
6. Спосіб декодування відеоданих, отриманих в бітовому потоці (21), який відрізняється тим, що спосіб включає використання першого способу (5209) і/або другого способу (5211), де перший спосіб (5209) включає використання окремого списку злиття для субблокових кандидатів злиття; і другий спосіб (5211) включає мультигіпотезне прогнозування для інтра- та інтер-режимів; де спосіб включає, для кодового блока: отримання (5201) першого контрольного покажчика з бітового потоку (21), де перший контрольний покажчик показує, чи використовувати (5205) перший спосіб (5209); і, залежно від того, чи використовується перший спосіб (5209) для кодового блока, отримання (5201, 5203) другого контрольного покажчика з бітового потоку (21), де другий контрольний покажчик показує, чи використовувати другий спосіб (5203); де тільки, якщо не використовується перший спосіб, отримується другий контрольний покажчик.
7. Спосіб за п. б, який відрізняється тим, що, якщо кодовий блок кодується в режимі злиття, отримується другий контрольний покажчик.
8. Спосіб за п. 7, який відрізняється тим, що, якщо кодовий блок не кодується в режимі злиття, не отримується другий контрольний покажчик.
9. Спосіб за п. 6 або 7, який відрізняється тим, що, якщо кодовий блок кодується в режимі пропускання, отримується другий контрольний покажчик.
10. Спосіб за п. 9, який відрізняється тим, що, якщо кодовий блок не кодується в режимі пропускання або в режимі злиття, не отримується другий контрольний покажчик.
11. Кодер, який відрізняється тим, що включає процесингову схему (46) для здійснення способу за будь-яким із пп. 1-5.
12. Декодер, який відрізняється тим, що включає процесингову схему (46) для здійснення способу за будь-яким із пп. 6-10.
13. Комп'ютерозчитуваний засіб зберігання, який зберігає програмний код для виконання способу за будь-яким із пп. 1-10 у разі виконання на комп'ютері (20, 30) або процесорі (43, 430, Бог).
14. Комп'ютерний засіб зберігання, який відрізняється тим, що зберігає бітовий потік, декодований за допомогою пристрою декодування відео, бітовий потік включає число кодових блоків зображення або відеосигналу, і число синтаксичних елементів, які містять перший контрольний покажчик і другий покажчик, який умовно сигналізується на основі першого контрольного покажчика, причому перший контрольний покажчик показує, чи потрібно використовувати перший спосіб, де перший спосіб (5101) включає використання окремого списку злиття для субблокових кандидатів злиття; а другий контрольний покажчик показує, чи потрібно використовувати другий спосіб, де другий спосіб (5103) включає мультигіпотезне прогнозування для інтра- та інтер-режимів; де другий контрольний покажчик сигналізується, якщо, і тільки якщо, перший спосіб не 60 використовується (5101: Ні) для кодового блока.
000 Початковий пристрій Цільовий пристрій і 12 14 о Першоджерело С Пристрій ! | картинки і відображення ши жи В Оброблені т : Шо постпроцесором Дані картинки ! й т 7 дані картинки рт , ш- ВЗ 001000 Прапроцесор 00 Постпроцесор Оброблені | | тв ' 5 преопроцесором ТІ і п дані картинки | ра т Ше Декодовані дані за ни ' о картинки ! р я р сеафснит Зі ще Кодер | Декодер ЕН 20 ! за Кодовані дані. фени рен дат я по Кодовені дані картинки | й5нал | і картинки В НД хомунікації (| : М - 21 щі інтерфенс 13 її інтерфейс р комунікації пф понти нтетннтитвняну комунікації і 1 23 І 28 : щі ! ! Фіг, 1А Пристрій (0). | Антена зображення 41 | і їх Схема оброблення 45 Кодер Декодер х плнаняЖаняятт І І "Процесор (й) 43 биття Запам ятовуючий Пристрій пристрій М відображення 45 Система відеокодування 40
Фіг. Б
Картка ПИТ дує аавшеий Я картка хх; Блок картинки 203 заіннку ММ "Блок 205 ' і А , А Яд їх ' 1 : М УТ щі І де і К-й ' Щи ! 18 Бик о. в й Ваедення: і Я : зре ! и і з пгнОазУування: ку й « хи ! м тя - І ко | Модуль виконання ух , ; ! Модуль осирання режиму і 7 ! леретаорення | Коефіцієнти ' : | тез і ' мит Варетворання 207 « і шу 44 І і Ї о о2а8 , і чу їх, і ! : ль Ти , і : пон Н Р Медуль 8 М пбиведення ' і ; " г ! Ї квантування | шк : ! 1: Модульіїнтерої ' ДІЯ ройе : пої є: прогнозування | ! пт рен нот я ї і з Не зі : Кезнтйвані І й шим і їОМодуль глядати і у - я і Моджль ентропійного! , ! : Модуль см Ї тковфіценти ов и ванна сх : і ЗБОЮ КУ сети, винне я СК ЖК ня ; Кодовані : ! 11 Модульінтра 0) і. вер сі , і ! і: Модуль й ТО Синтайоичні! РО ОМЮДуЛЬ гр і дані , і ! ! ПНО о ементя Розвороююю : Картинки . д пована Н Сляятжетняяя ї елементи і ї ; ї Вбекюдована о. | яд! І квантування 0 Девванювані бо : б ро а : пу лювфіценти МР з Х Н ' , іч і ! фнннднінннннннннннн я Манннннннннняяяя; ДІЙ 1 ! ат ОО Модульвихнання 1-7 ; ; рететтивнння я 1зворотного перетворення І ї ' й ' нт й КОКС М ХУ , обу Контурний | юн ення Кн ' і 1 ДЕКОДОВВНО бр : феонннннннттннннннннннннтр ве ЩО « і Її ка їх фітьтро | ій - А Блок відновленого ' : ! м їі е : Бонн, зд Мих У Модуль залишку 213 , ; А ТТ рон вай ! ! ' 235 Фіпьтронаний Відновлений відновлення 2 ' : Кодер 20 Блок 2 Влок 215 ; Я шюшноєоляожожожо тн тя ноток тя ню тоже тя гля жонотн тяг пн жо ототя тя ля лю жо жк тного пеоночо жо то ген ножотеотя тя ложок тного воно тя ше полян жжожно тя тя ля но жотя моя юности тяжко иножкожчня
Фіг. 2 Дані флотом ло ті люто поп чол ті кат пк чт пу лю чо Рот чоти пк ча ло ті че А і ля зд то ті лю чт попе чт ті пк лот что то пкт кодованої ТТЛ і Хартинки 21 : з і А го Є і 1 -н У 1 Модуль ентропійного І , сення ВВННЯ і 4 ї 3 Ро бинтаксичні елементи 356 777 Квантовані і 1 г от я коефіцієнти 309; ' ! ї ше фа 1 і з зн з і і і т ? і ' Модуль пит : з зве и зобирання : Модульінтере! і «Декодована і режиму ; прогнозування, : : з хартинки ох чеутиттнихтихх і Бл 4 їз : зв : прогнозування ; , би ' зечкатч нуту і ЗБ5 4 ! ! : : г. , і і з Модуль інтра- г. 1 ' : іпрогнозування! БдЯте зів : 1 ' хлпсхлаєутик лий ! і ? зворотного І і і лттнляунияхаикнянкяяннияняняя квантування Дехвантовані і ' для Вовфіцієнти 31 С 1 1 1 З17 1 1 Модуль виконання що і 1380 ! зворотного перетворення, и КА Буфер І Контурний Що с- з з декодованої жереті фідьтро ОМ т і і картинки | х їх Модуль Блок відновленого ; "Декодована їх | відновлення 314 залишку ЗІЗ : сквртнки Фіпьтрований Відновлений Енкодер 30 1331 ! блок 321 блок 315 еНКОдДер У і пани шіоше тот тя тот ня опт тт доступи тт опи тя тт тот я солі тт тд сто ти т голу тт тт доти тт нт т тя тт сту пт тя тя т пт т стопи тт тот тт то ди пт тт т пт тя тт тод ти тт тт т тя тт тт няня вютеняу 1 332 .
Фіг. З
А п о. ристрій відеокодування А , (5 М Процесор 1 450 м 120 Модупь 440 и х п кодування : и ; ШИ ТаВх Тих ' З о 470 ШИ вх в Спадні Висхідні порти Р Фіг. 4 порти 502 я 518 ПРОЦЕСОР ДИСПЛЕЙ 500 : К Із ДОДАТОК: ВІДЕОКОДУВАННЯ 510 ДОДАТОК... Ме 4 т 504
Фіг. 5 ово Почати кодування и зЗци ЗЦВ Так 77 Використати Ні Використати Ні в відокремлений список тая мупьти-іпотезу? ше ПИТТЯ? я ї ! 5105 Так Ж й Створити тій. іліга ад ; 5107 : : ! 7 ; і ння Створити тегде зиррюск ад птн Бе Створити бітовий потік кл мавершити х кодування
Фіг. 6 (Почати декодування) 5201 У й Провести синтаксичний аналіз БНОВОгО потоку 5203 ; 5204 Чи існує ма Проаналізувати т ша Яд? нин тавтде вибБіоск Над т 5205 Ше икористати ту. Ко Н 5207 с. Відокремлений список вини ш- зятя? ши Мо Використати І Ї і мульти-піпотезу? тек «209 : Жах! о Никористатйи : т відокремлений «і нн СО ЗЛИТТЯ : Використати мульти) є : Ппотезу Же - сн Фо Завершити деходування 7
Фіг. 7
UAA202102769A 2018-10-27 2019-10-25 Окремий список злиття для субблокових кандидатів злиття і гармонізація інтра- інтер-способів для відеокодування UA128259C2 (uk)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862751552P 2018-10-27 2018-10-27
PCT/RU2019/050201 WO2020085956A1 (en) 2018-10-27 2019-10-25 Separate merge list and intra-inter techniques harmonization for video coding

Publications (1)

Publication Number Publication Date
UA128259C2 true UA128259C2 (uk) 2024-05-22

Family

ID=70331984

Family Applications (1)

Application Number Title Priority Date Filing Date
UAA202102769A UA128259C2 (uk) 2018-10-27 2019-10-25 Окремий список злиття для субблокових кандидатів злиття і гармонізація інтра- інтер-способів для відеокодування

Country Status (12)

Country Link
US (3) US11381843B2 (uk)
EP (1) EP3861724A4 (uk)
JP (3) JP7132436B2 (uk)
KR (2) KR20230128587A (uk)
CN (2) CN113473134B (uk)
AU (2) AU2019368125B2 (uk)
BR (1) BR112021007509A2 (uk)
CA (1) CA3117627A1 (uk)
MX (1) MX2021004738A (uk)
SG (1) SG11202104046TA (uk)
UA (1) UA128259C2 (uk)
WO (1) WO2020085956A1 (uk)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020057504A1 (en) * 2018-09-17 2020-03-26 Mediatek Inc. Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
KR20210084631A (ko) * 2019-01-01 2021-07-07 엘지전자 주식회사 머지 데이터에 대한 정보를 코딩하는 방법 및 장치
WO2023055147A1 (ko) * 2021-09-29 2023-04-06 주식회사 윌러스표준기술연구소 Mhp(multi-hypothesis prediction)모드에 기초한 비디오 신호 처리 방법 및 이를 위한 장치

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009054347A1 (ja) * 2007-10-25 2009-04-30 Nippon Telegraph And Telephone Corporation 動画像スケーラブル符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体
KR101691199B1 (ko) * 2008-04-11 2016-12-30 톰슨 라이센싱 비디오 부호화 및 복호화에서의 템플릿 매칭 예측을 위한 방법 및 장치
CN105791859B (zh) * 2010-05-26 2018-11-06 Lg电子株式会社 用于处理视频信号的方法和设备
JP5693716B2 (ja) * 2010-07-08 2015-04-01 ドルビー ラボラトリーズ ライセンシング コーポレイション 参照処理信号を使った多層画像およびビデオ送達のためのシステムおよび方法
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
KR102062283B1 (ko) * 2011-06-24 2020-01-03 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
CN107071470B (zh) 2011-06-27 2020-02-07 三星电子株式会社 对图像进行解码的方法
CN104205819B (zh) * 2012-02-01 2017-06-30 诺基亚技术有限公司 用于视频编码的方法和装置
US9635356B2 (en) * 2012-08-07 2017-04-25 Qualcomm Incorporated Multi-hypothesis motion compensation for scalable video coding and 3D video coding
JP2019519148A (ja) * 2016-05-13 2019-07-04 ヴィド スケール インコーポレイテッド ビデオ符号化のための一般化された多重仮説予測(Generalized Multi−Hypothesis Prediction)のためのシステムおよび方法
WO2018128380A1 (ko) * 2017-01-03 2018-07-12 엘지전자(주) 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US10715827B2 (en) * 2017-01-06 2020-07-14 Mediatek Inc. Multi-hypotheses merge mode
EP3662671B1 (en) * 2017-11-28 2021-11-24 Huawei Technologies Co., Ltd. Syntax prediction using reconstructed samples
CN112544082B (zh) * 2018-07-18 2023-12-15 寰发股份有限公司 一种视频编解码的帧间预测方法及装置
US20200120339A1 (en) * 2018-10-11 2020-04-16 Mediatek Inc. Intra Prediction For Multi-Hypothesis
CN113170191B (zh) * 2018-11-16 2022-05-27 寰发股份有限公司 视频编解码的预测方法以及预测装置
CN113170167A (zh) * 2018-11-29 2021-07-23 北京字节跳动网络技术有限公司 块内拷贝模式中的标志指示方法
US11115652B2 (en) * 2018-12-07 2021-09-07 Tencent America LLC Method and apparatus for further improved context design for prediction mode and coded block flag (CBF)
BR112020026818A2 (pt) * 2018-12-07 2021-07-27 Huawei Technologies Co., Ltd. codificador, decodificador e métodos correspondentes de derivação de resistência de limite de filtro de desbloqueio
US11178414B2 (en) * 2019-02-27 2021-11-16 Mediatek Inc. Classification for multiple merge tools

Also Published As

Publication number Publication date
US11381843B2 (en) 2022-07-05
KR20230128587A (ko) 2023-09-05
EP3861724A4 (en) 2022-02-23
CN113473134B (zh) 2022-05-24
BR112021007509A2 (pt) 2021-07-27
US20220321921A1 (en) 2022-10-06
CA3117627A1 (en) 2020-04-30
AU2023202927B2 (en) 2024-02-08
EP3861724A1 (en) 2021-08-11
JP7132436B2 (ja) 2022-09-06
AU2019368125A1 (en) 2021-05-27
AU2023202927A1 (en) 2023-06-01
US11800152B2 (en) 2023-10-24
SG11202104046TA (en) 2021-05-28
JP2024052891A (ja) 2024-04-12
KR102573294B1 (ko) 2023-08-30
WO2020085956A1 (en) 2020-04-30
KR20210072099A (ko) 2021-06-16
CN113473134A (zh) 2021-10-01
AU2019368125B2 (en) 2023-02-23
JP2022505893A (ja) 2022-01-14
US20210266602A1 (en) 2021-08-26
CN113170096A (zh) 2021-07-23
MX2021004738A (es) 2021-06-04
JP2022164747A (ja) 2022-10-27
JP7448602B2 (ja) 2024-03-12
US20240015334A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
KR102616681B1 (ko) 병렬 처리로 히스토리 기반 모션 벡터 예측을 위한 방법 및 장치
CN113557728B (zh) 视频编解码方法和装置
CN111885387B (zh) 用于仿射光流预测值细化的视频解码方法和装置
CN112106371B (zh) 视频解码的方法、装置、可读介质和设备
JP7242118B2 (ja) アフィンモデルの動きベクトルに対する制約
JP2022520944A (ja) 変換スキップモードとブロック差分パルスコード変調の改善された残差コーディング
CN113678434A (zh) 视频编解码的方法和装置
CN113557742B (zh) 视频编解码方法、装置和电子设备
CN114827596B (zh) 视频解码方法、装置、计算机设备及存储介质
JP2021513817A (ja) デコーダ側の動きベクトルの導出及び精緻化の改良
CN113545079B (zh) 视频编解码的方法和装置
JP2022508074A (ja) スキップ及びマージモードのためのマルチ仮説のシグナリング及び動きベクトル差分によるマージの距離オフセットテーブルのシグナリングのための方法及び装置
CN112399183A (zh) 用于视频编解码的方法和装置
CN116527913B (zh) 视频编解码方法、装置及计算机可读介质
KR20200125733A (ko) 비디오 코딩을 위한 방법 및 장치
CN111316639B (zh) 视频解码方法和装置、及存储介质
CN113348668B (zh) 一种视频解码方法、装置及存储介质
CN112154663B (zh) 视频解码方法和相关装置
CN111901609B (zh) 视频解码的方法和装置、计算机设备和存储介质
UA128259C2 (uk) Окремий список злиття для субблокових кандидатів злиття і гармонізація інтра- інтер-способів для відеокодування
US20230308640A1 (en) Encoder for interprediction in geometric partitioning with an adaptive number of regions
JP2021513818A (ja) ビデオ符号化の方法及び装置
RU2777392C1 (ru) Способ и устройство для кодирования видеоданных
RU2804382C1 (ru) Способ и устройство для кодирования видео
RU2777498C1 (ru) Способ и устройство для кодирования видео