H.264

H.264 lub MPEG-4 AVC ( Advanced Video Coding ) lub MPEG-4 Part 10 to standard kodowania wideo opracowany wspólnie przez ITU-T Q.6 / SG16 Video Coding Experts Group (VCEG), a także ISO / IEC Moving Picture Experts Group ( MPEG ) i jest wynikiem współpracy znanej jako Joint Video Team (JVT). Standard ITU-T H.264 i norma ISO / IEC MPEG-4 część 10 (ISO / IEC 14496-10) są technicznie identyczne, a zastosowana technologia jest również znana jako AVC , dla zaawansowanego kodowania wideo. Pierwsza wersja normy została zatwierdzona wMaj 2003 i najnowsza datakwiecień 2012.

Następnie JVT pracowało nad koncepcją rozszerzalności , opracowując rozszerzenie standardu H.264 (dodatek G): specyfikacje Scalable Video Coding (SVC), a następnie standard HEVC ( High Efficiency Video Coding ).

Historyczny

Nazwa H.264 pochodzi od rodziny standardów wideo H.26x zdefiniowanych przez ITU-T . Jednak ten kodek został opracowany w ramach MPEG , a ITU-T z satysfakcją przyjmuje go wtedy i edytuje w jego ramach. W ramach MPEG akronim AVC (Advanced Video Coding) został wybrany przez analogię z kodekiem audio AAC MPEG-2 część 7, który został nazwany w ten sposób, aby odróżnić go od kodeka audio MPEG-2 część 3 (słynny MP3 ). Standard jest zwykle określany jako H.264 / AVC (lub AVC / H.264, H.264 / MPEG-4 AVC lub MPEG-4 / H.264 AVC), aby podkreślić wspólne dziedzictwo. Nazwa H.26L, przypominająca jej związek z ITU-T, jest znacznie mniej powszechna, ale nadal używana. Czasami jest również nazywany „kodekiem JVT” w odniesieniu do organizacji JVT (Joint Video Team), która go opracowała. Istnieje precedens w opracowywaniu wspólnego standardu kodowania wideo między MPEG i ITU-T, przy czym MPEG-2 i H.262 są takie same.

Cele i zastosowania

Pierwotnie ITU-T uruchomił projekt H.26L w 1998 r., Mając na celu stworzenie nowej architektury kodeków mającej na celu zwiększenie wydajności kodowania o co najmniej 2 w porównaniu ze standardami. Istniejące systemy ( MPEG-2 , H.263 i MPEG-4 część 2). Kolejnym celem było stworzenie prostego interfejsu, aby móc dostosować kodek do różnych protokołów transportowych (komutacja pakietów i obwodów). Kodek został opracowany w taki sposób, aby można go było przenosić na platformy po rozsądnych kosztach, tj. Biorąc pod uwagę postęp poczyniony przez przemysł półprzewodników w zakresie projektowania i procesów.

W 2001 r. Projekt H.26L osiągnął cele w zakresie współczynnika kompresji, co wykazały subiektywne testy przeprowadzone przez MPEG. W tym czasie ITU-T i MPEG postanowiły za obopólną zgodą stworzyć Joint Video Team (JVT) w celu wspólnego ujednolicenia kodeka i dostosowania go do różnych potrzeb branży (wideofon, streaming, telewizja, mobilny). Rzeczywiście, aplikacje tradycyjnie kierowane przez ITU-T dotyczą niskich przepływności (wideotelefony, telefony komórkowe), aplikacji, dla których zoptymalizowano H.26L, podczas gdy członkowie MPEG chcieli dostosować go do innych formatów (telewizja, HD). Dodano narzędzia algorytmiczne, takie jak obsługa przeplotu, i osiągnięto redukcję złożoności.

Kodek H.264 / AVC jest zatem odpowiedni dla bardzo szerokiej gamy sieci i systemów (na przykład do transmisji telewizyjnych , przechowywania HD DVD i Blu-ray , przesyłania strumieniowego RTP / IP i telefonii specyficznej dla ITU-T ).

Zgodnie z pierwszą wersją standardu, JVT opracowało kilka rozszerzeń, znanych jako Fidelity Range Extensions (FRExt). Te rozszerzenia mają wspierać zwiększoną precyzję kwantyzacji (dodanie 10-bitowego i 12-bitowego kodowania) oraz lepszą definicję chrominancji (dodanie struktur kwantyzacji YUV 4: 2: 2 i YUV 4: 4.: 4) i mają na celu aplikacje profesjonalne (Studio). Przyjęto również kilka innych funkcji, aby poprawić subiektywną jakość w wysokiej rozdzielczości (dodanie transformacji 8 × 8 oprócz istniejącej transformacji 4 × 4, dodanie macierzy kwantyzacji) lub dla określonych potrzeb (kodowanie bezstratne, obsługa innych kolorów spacje). Prace projektowe nad rozszerzeniami serii Fidelity zostały zakończone wLipiec 2004i zamrożone Wrzesień 2004.

Od zakończenia opracowywania oryginalnej wersji standardu w Maj 2003, JVT opublikowało 4 wersje zatwierdzone przez ITU-T i MPEG, odpowiadające dodaniu FRExt i poprawkach.

Szczegółowe specyfikacje

H.264 / AVC (MPEG-4 część 10) zawiera wiele nowych technik, które pozwalają na znacznie wydajniejszą kompresję wideo niż poprzednie standardy ( H.261 , MPEG-1 , MPEG-2 , MPEG-4 część 2 / ASP ) i zapewnia większą elastyczność aplikacji w różnych środowiskach sieciowych. Te główne funkcje obejmują:

Techniki te, wraz z kilkoma innymi, pomagają H.264 znacznie przewyższać poprzednie standardy, w wielu różnych okolicznościach i w wielu różnych środowiskach aplikacji. H.264 może często działać znacznie lepiej niż wideo MPEG-2 , osiągając tę ​​samą jakość przy zmniejszonej o połowę lub nawet większej szybkości transmisji.

Podobnie jak wiele innych standardów wideo z grupy ISO / IEC MPEG, H.264 / AVC ma referencyjną aplikację, którą można pobrać bezpłatnie (patrz sekcja Linki zewnętrzne poniżej).

Głównym celem tej aplikacji jest raczej podanie przykładów różnych możliwości H.264 / AVC niż dostarczenie naprawdę użytecznego i wydajnego produktu.

Referencyjna aplikacja sprzętowa jest również standaryzowana przez grupę MPEG.

Profile

Standard obejmuje sześć następujących zestawów cech, nazywanych profilami , z których każdy jest przeznaczony dla określonej klasy aplikacji:

Linia bazowa Dłoń Rozszerzony Wysoki Wysoka 10 Wysoki 4: 2: 2 Wysoki 4: 4: 4
Plasterki I i P. tak tak tak tak tak tak tak tak tak tak tak tak tak tak
plastry B. Nie Nie tak tak tak tak tak tak tak tak tak tak tak tak
Plasterki SI i SP Nie Nie Nie Nie tak tak Nie Nie Nie Nie Nie Nie Nie Nie
Obraz z wieloma odniesieniami tak tak tak tak tak tak tak tak tak tak tak tak tak tak
Filtr przeciwblokujący tak tak tak tak tak tak tak tak tak tak tak tak tak tak
Kodowanie CAVLC tak tak tak tak tak tak tak tak tak tak tak tak tak tak
Kodowanie CABAC Nie Nie tak tak Nie Nie tak tak tak tak tak tak tak tak
elastyczne planowanie makrobloków (FMO) tak tak Nie Nie tak tak Nie Nie Nie Nie Nie Nie Nie Nie
Arbitrary Slice Scheduling (ASO) tak tak Nie Nie tak tak Nie Nie Nie Nie Nie Nie Nie Nie
nadmiarowe plasterki (RS) tak tak Nie Nie tak tak Nie Nie Nie Nie Nie Nie Nie Nie
partycjonowanie danych (DP) Nie Nie Nie Nie tak tak Nie Nie Nie Nie Nie Nie Nie Nie
kodowanie z przeplotem (PicAFF, MBAFF) Nie Nie tak tak tak tak tak tak tak tak tak tak tak tak
Format 4: 2: 0 tak tak tak tak tak tak tak tak tak tak tak tak tak tak
format monochromatyczny (4: 0: 0) Nie Nie Nie Nie Nie Nie tak tak tak tak tak tak tak tak
Współczynnik proporcji 4: 2: 2 Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie tak tak tak tak
Współczynnik proporcji 4: 4: 4 Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie tak tak
piksel 8-bitowy tak tak tak tak tak tak tak tak tak tak tak tak tak tak
piksel 9 i 10 bitów Nie Nie Nie Nie Nie Nie Nie Nie tak tak tak tak tak tak
piksel 11 i 12 bitów Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie tak tak
przekształcony 8 × 8 Nie Nie Nie Nie Nie Nie tak tak tak tak tak tak tak tak
macierze kwantyzacji Nie Nie Nie Nie Nie Nie tak tak tak tak tak tak tak tak
oddzielna kwantyzacja Cb i Cr Nie Nie Nie Nie Nie Nie tak tak tak tak tak tak tak tak
bezstratne kodowanie Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie Nie tak tak
Linia bazowa Dłoń Rozszerzony Wysoki Wysoka 10 Wysoki 4: 2: 2 Wysoki 4: 4: 4

Poziomy

Poziomy ( (PL) levels ) są ograniczenia dotyczące pewnej liczby parametrów, które pozwalają dekodery ograniczyć pamięć i zasoby obliczeniowe niezbędne do dekodowania wideo.

Uwaga  : makroblok to obszar 16 × 16 pikseli.

Numer poziomu maksymalna liczba makrobloków na sekundę maksymalny rozmiar obrazu w makroblokach maksymalna przepływność dla profilu podstawowego, rozszerzonego i głównego maksymalna przepływność dla profilu High maksymalna przepływność dla profilu High 10 maksymalna przepływność dla profili High 4: 2: 2 i 4: 4: 4 przykład definicji i klatek na sekundę na tym poziomie.
1 1,485 99 64 kbit / s 80 kbit / s 192 kbit / s 256 kbit / s 128 × 96 / 30,9
176 × 144 / 15,0
1b 1,485 99 128 kbit / s 160 kbit / s 384 kbit / s 512 kbit / s 128 × 96 / 30,9
176 × 144 / 15,0
1.1 3000 396 192 kbit / s 240 kbit / s 576 kbit / s 768 kbit / s 176 × 144 / 30,3
320 × 240 / 10,0
1.2 6000 396 384 kbit / s 480 kbit / s 1152 kbit / s 1536 kbit / s 176 × 144 / 60,6
320 × 240 / 20,0
352 × 288 / 15,2
1.3 11 880, 396 768 kbit / s 960 kbit / s 2304 kbit / s 3072 kbit / s 352 × 288 / 30,0
2 11 880, 396 2 Mb / s 2,5 Mb / s 6 Mb / s 8 Mb / s 352 × 288 / 30,0
2.1 19,800 792 4 Mb / s 5 Mb / s 12 Mb / s 16 Mb / s 352 × 480 / 30,0
352 × 576 / 25,0
2.2 20,250 1,620 4 Mb / s 5 Mb / s 12 Mb / s 16 Mb / s 720 × 480 / 15,0
352 × 576 / 25,6
3 40,500 1,620 10 Mb / s 12,5 Mb / s 30 Mb / s 40 Mb / s 720 × 480 / 30,0
720 × 576 / 25,0
3.1 108 000 3,600 14 Mb / s 17,5 Mb / s 42 Mb / s 56 Mb / s 1280 × 720 / 30,0
720 × 576 / 66,7
3.2 216 000 5 120 20 Mb / s 25 Mb / s 60 Mb / s 80 Mb / s 1280 × 720 / 60,0
4 245,760 8 192, 20 Mb / s 25 Mb / s 60 Mb / s 80 Mb / s 1920 × 1080 / 30,1
2048 × 1024 / 30,0
4.1 245,760 8 192, 50 Mb / s 62,5 Mb / s 150 Mb / s 200 Mb / s 1920 × 1080 / 30,1
2048 × 1024 / 30,0
4.2 522 240, 8,704 50 Mb / s 62,5 Mb / s 150 Mb / s 200 Mb / s 1920 × 1080 / 64,0
2048 × 1088 / 60,0
5 589,824 22,080 135 Mb / s 168,75 Mb / s 405 Mb / s 540 Mb / s 1920 × 1080 / 72,3
2560 × 1920 / 30,7
5.1 983,040 36,864 240 Mb / s 300 Mb / s 720 Mbit / s 960 Mb / s 1920 × 1080 / 120,5
4096 × 2048 / 30,0
5.2 2,073,600 36,864 240 Mb / s 300 Mb / s 720 Mbit / s 960 Mb / s 1920 × 1080 / 172,0
4096 × 2160 / 60,0
6 4,177,920 139,264 240 Mb / s 300 Mb / s 720 Mbit / s 960 Mb / s 2,048 × 1,536 przy 300

4096 × 2160 przy 120 8192 × 4320 przy 30

6.1 8 355 840, 139,264 480 Mb / s 600 Mb / s 1440 Mb / s 1920 Mb / s 2,048 × 1,536 przy 300

4096 × 2160 przy 240 8192 × 4320 przy 60

6.2 16,711,680 139,264 800 Mb / s 1000 Mb / s 2400 Mbit / s 3200 Mbit / s 4 096 * 2 304 przy 300

8192 × 4320 przy 120

Numer poziomu maksymalna liczba makrobloków na sekundę maksymalny rozmiar obrazu w makroblokach maksymalna przepustowość dla profilu podstawowego, rozszerzonego i głównego maksymalne natężenie przepływu dla profilu High maksymalne natężenie przepływu dla profilu High 10 maksymalny przepływ dla profili High 4: 2: 2 i 4: 4: 4 przykład definicji i klatek na sekundę na tym poziomie.

Patenty

Podobnie jak w przypadku formatów MPEG-2 część 1 i 2 oraz MPEG-4 część 2, odsprzedawcy produktów i usług korzystających ze standardu H.264 / AVC muszą uiścić opłaty za korzystanie z opatentowanej technologii. Głównym beneficjentem tych praw dotyczących tego standardu jest prywatna organizacja: MPEG-LA , LLC (która nie jest absolutnie powiązana z „organizacją normalizacyjną MPEG”, ale zarządza również patentami na systemy wykorzystujące MPEG-2 część 1, MPEG-2 Część 2 i filmy MPEG-4 Część 2 i inne technologie).

To, czy te licencje są niezbędne do wdrożenia oprogramowania w Europie, jest kontrowersyjne .

Aplikacje

Dwóch głównych kandydatów obejmuje „H.264 / AVC High Profile” jako obowiązkową funkcję dla graczy, w tym:

W Europie organizacja normalizacyjna Digital Video Broadcast ( DVB ) zatwierdziła H.264 / AVC do nadawania programów telewizyjnych w Europie pod koniec 2004 roku.

Francuski premier ogłosił, że H.264 / AVC jest obowiązkowy w odbiornikach HD TV i płatnych kanałach naziemnej telewizji cyfrowej (TNT) we Francji pod koniec 2004 roku.

Advanced Television Systems Komitet (ATSC) standaryzacja organizacja w Stanach Zjednoczonych rozważa wykorzystanie standardu H.264 / AVC dla transmisji telewizyjnych w Stanach Zjednoczonych.

Usługa Digital Multimedia Broadcast (DMB) - odpowiednik europejskiej naziemnej telewizji cyfrowej - ma być nadawana w Republice Korei, wykorzystując format H.264 / AVC.

Lądowi operatorzy sieci komórkowych w Japonii będą używać Kodeku H.264 / AVC, w tym:

Usługi bezpośredniej telewizji satelitarnej będą korzystać z tego nowego standardu, w tym:

Partnership Project 3rd Generation ( 3GPP ) zatwierdziła wprowadzenie H.264 / AVC jako opcjonalną usługę w wersji 6 specyfikacji funkcjonalnych dla multimedialnych telefonów.

Organizacja Motion Imagery Standards Board (MISB) Departamentu Obrony Stanów Zjednoczonych przyjęła H.264 / AVC jako preferowany kodek wideo do wszystkich zastosowań.

Internet Engineering Task Force (IETF) dostarczyła zawartość  pakietyzację format ( RFC 3984) do transportowania H.264 / AVC wideo za pomocą swojego Real-time Transport Protocol (RTP).

Internet Streaming Media Alliance (ISMA) przyjęła H.264 / AVC do specyfikacji ISMA 2.0.

Organizacja Moving Picture Experts Group (MPEG) z powodzeniem włączyła obsługę H.264 / AVC do swoich standardów (np. Systemów MPEG-2 i MPEG-4 ), a także specyfikacji formatu plików multimedialnych ISO.

Międzynarodowy Związek Telekomunikacyjny - Sektor Normalizacji (ITU-T) przyjęła H.264 / AVC w specyfikacji dla systemów telefonii multimedialnej H.32x. Oparty na standardach ITU-T, H.264 / AVC jest już szeroko stosowany do wideokonferencji, w szczególności przez dwie duże firmy na rynku ( Polycom i Tandberg ). Wszystkie nowe produkty do wideokonferencji obejmują teraz obsługę H.264 / AVC.

H.264 będzie prawdopodobnie używany w usługach wideo na żądanie w Internecie do dostarczania filmów i programów telewizyjnych do komputerów. Jest również prawdopodobne, że ten sam rodzaj treści będzie oferowany za pośrednictwem sieciowej wymiany plików, legalnie lub nie.

Produkty i wdrożenia

Transpozycje oprogramowania

Aplikacje sprzętowe

Kilka firm produkuje chipy zdolne do dekodowania wideo H.264 / AVC. Chipy zdolne do dekodowania filmów w wysokiej rozdzielczości w czasie rzeczywistym obejmują:

Ten typ chipa umożliwia szerokie zastosowanie niedrogiego sprzętu umożliwiającego odtwarzanie wideo H.264 / AVC w telewizji standardowej i wysokiej rozdzielczości.

Wiele materiałów jest już dostępnych w formacie czerwiec 2006obejmuje to zarówno niedrogie produkty konsumenckie, jak i kodery działające w czasie rzeczywistym oparte na FPGA do nadawania:

Uwagi i odniesienia

  1. ISO / IEC 60.60 14496-10: 2012: Technologia informacyjna - Kodowanie obiektów audiowizualnych - Część 10: Zaawansowane kodowanie wideo, 2012-04-26
  2. „  H.264: Obsługa dodatkowych przestrzeni kolorów i usuwanie wysokiego profilu 4: 4: 4  ” , na www.itu.int (dostęp 21 kwietnia 2020 )
  3. 14: 00-17: 00 , „  ISO / IEC 14496-10: 2014  ” , on ISO (dostęp 21 kwietnia 2020 )
  4. [1]
  5. (w) Request for Comments n °  3984 .
  6. Porównanie błędu modelu koderów wideo {{Link do archiwum}}  : wprowadź parametr „   ”|titre=
  7. Steve Klein, „  CoreAVC z akceleracją Cuda, najlepsze dekodowanie H.264?  » , Na homemedia.fr ,7 lipca 2009(dostęp 19 maja 2015 )
  8. Damien Triolet, „  CoreAVC silniejszy niż AVIVO i PureVideo?  " ,12 kwietnia 2006(dostęp 19 maja 2015 )
  9. (en) http://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc/
  10. (en) http://www.openh264.org/faq.html
  11. (en) https://blog.mozilla.org/blog/2013/10/30/video-interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec/
  12. Cisco Mozilla i OpenH264
  13. http://blogzinet.free.fr/blog/index.php?post/2013/11/02/L-interoperabilite-de-la-video-sur-le-Web-recoit-un-coup-de-pouce -du-codec-H-264-de-Cisco Nie ma nic trwałego w patentach. H.264 będzie dobrze dostępny dla użytkowników Firefoksa dzięki Cisco, ale kodek nadal jest objęty restrykcyjną licencją, która na dłuższą metę nie leży w interesie użytkowników i sieci.
  14. Błąd modelu ATI Radeon X1000 {{Link do archiwum}}  : wypełnij parametr „   ”|titre=
  15. ogłoszenie prasowe Błąd modelu ATI {{Link do archiwum}}  : wypełnij parametr „   ”|titre=
  16. Technologia H.264 firmy ATI
  17. NVidia PureVideo

Zobacz też

Powiązane artykuły

Linki zewnętrzne