|
|||||||||||||||||||||||||
| Ważna wiadomość: Artykuły poświęcone konwersji pomiędzy różnymi formatami video znajdziesz tutaj |
![]() ![]() |
pon, 19 gru 2005 - 10:14
Post
#1
|
||
![]() ®Profesjonalista Grupa: Administrator Postów: 2,071 Rozpoczętych tematow: 71 Dołączył: pon, 28 lis 05 Skąd: z Kondominium Nr użytkownika: 383 |
Zapewne wszyscy słyszeliście o Packed Bitstream. Mogliście słyszeć, że jest to "coś", co powoduje kłopoty z odtwarzaczami stacjonarnymi. Być może sami mieliście tego rodzaju kłopoty. Ale czym tak naprawdę jest Packed Bitstream?
Rodzaje klatek W MPEG-4 Part 2 (czyli standardzie, na którym bazują kodeki DivX, XviD, 3ivx, Nero Digital, HDX4 i wiele innych) mamy następujące rodzaje klatek: - klatki typu I (intra-coded), czyli takie, które zawierają pełną informację o obrazie. Klatkę taką można porównać do pliku JPEG (*.jpg). - klatki typu P (predicted), czyli takie, które nie zawierają wszystkich informacji o obrazie, lecz odwołują się do poprzedniej klatki za pomocą wektorów ruchu. - klatki typu B (bidirectional). Przypominają one klatki typu P, lecz odwołują się zarówno do poprzedniej, jak i następnej klatki. - klatki typu S (sprite). Są one podobne do klatek typu P, lecz zawierają dodatkowo "punkty zakrzywienia" (warppoints), czyli wektory opisujące przemieszcenie poszczególnych rogów obrazu w stosunku do poprzedniej klatki. - klatki typu N (not coded). Taka klatka nie zawiera żadnych informacji o obrazie - to informacja dla dekodera, aby w tym miejscu powtórzył poprzednią klatkę. Budowa strumienia wideo Aby zdekodować klatkę typu B, konieczne jest zdekodowanie obu klatek, do których się ona odwołuje - poprzedniej i następnej. Jeśli zdekodowany obraz ma mieć strukturę I P B P, to aby zdekodować i wyświetlić klatkę B należy najpierw zdekodować obie klatki P. Dlatego taka sekwencja klatek będzie zapisana w kolejności dekodowania, czyli jako I P P B. Ponieważ przestarzała architektura multimedialna Video for Windows oraz równie stary kontener *.avi mają kłopoty z klatkami zapisanymi w kolejności niezgodnej z kolejnością odtwarzania, w kodeku DivX 5.0.1 wprowadzono nowy sposób zapisu takiego strumienia wideo. Jest to właśnie Packed Bitstream. Polega to na zapisaniu naszej przykładowej sekwencji klatek w postaci I P P B N, gdzie N to oczywiście klatka typu N (której kod czasowy będzie równy kodowi czasowemu drugiej klatki P). Zgodność ze standardem MPEG-4 Zgodność Packed Bitstream ze standardem MPEG-4 jest sprawą kontrowersyjną. Ograniczę się do zacytowania dwóch wypowiedzi. DigitAl56k z DivX, Inc. mówi na ten temat: CYTAT Nasz strumień jest zgodny [ze standardem MPEG-4], tylko sposób jego przechowywania w kontenerze AVI jest inny. Dlatego urządzenia bez certyfikatu mogą mieć problemy z Packed Bitstream w kontenerze AVI, jeśli producent nie uwzględnił go w projekcie. Certyfikacja zapewnia wyłapanie takich problemów, zanim odtwarzacz trafi na rynek. Bond z Forum Doom9 odpowiada następująco: CYTAT Są developerzy, tacy jak Michael Niedermayer z ffMPEG, którzy [...]uważają, że Packed Bitstream powoduje niezgodność ze standardem MPEG-4. Poza tym dekoder napisany wyłącznie w zgodzie ze standardem MPEG-4 może być niezdolny do zdekodowania Packed Bitstream. Aby mógł to zrobić, potrzebuje dodatkowego kodu - trudno to nazwać zgodnością z MPEG-4. Gdzie możemy go spotkać? Packed Bitstream występuje w plikach skompresowanych kodekami DivX (począwszy od wersji 5.0.1) oraz XviD (w XviDzie możliwe jest wyłączenie tej opcji). Kodeki Nero Digital i 3ivx nie stosują Packed Bitstream. Co z nim zrobić? Pisano już o tym wielokrotnie, lecz w ramach przypomnienia podam sposób na usunięcie Packed Bitstream z pliku *.avi. Potrzebny będzie program MPEG-4 Modifier oraz .NET Framework 2.0 i .NET Framework 2.0 SP1 (jeśli MPEG-4 Modifier się nie uruchamia). Klikamy przycisk Browse... i wskazujemy nasz plik *.avi. Czekamy, aż program zakończy analizę pliku, a potem zaznaczamy pole Unpack. Następnie klikamy Save... i podajemy nazwę dla pliku wynikowego. Program zapisuje nowy plik *.avi, który już nie zawiera Packed Bitstream. -------------------- Matryce kwantyzacji, kompilacje Xvida i inne rzeczy (aktualizacja 13.07.2011)
Oby trąba twojego słonia nie trafiła w kaktusy... |
|
|
|
||
![]() ![]() |
Podobne tematy
|
Wersja Lo-Fi | Aktualny czas: środa, 08 luty 2012 - 16:17 |