Günümüzde, internet trafiğinin %80’inden fazlası video içeriklerinden oluşmaktadır. Bu içerik, IoT cihazları, akıllı telefonlar, bilgisayarlar ve televizyonlar gibi çeşitli cihazlar üzerinden üretilip tüketilmektedir. Piksel yoğunluğu ve bağlı cihaz sayısının artmasıyla birlikte, hızlı, verimli ve yüksek kaliteli video kodlama ve çözme süreçlerine yapılan yatırımların devam etmesi büyük önem taşıyor.
Son çıkan NVIDIA L40S ve NVIDIA L4 Tensor Core veri merkezi GPU’ları, yapay zeka eğitimi, çıkarımı, görsel hesaplama, bulut oyunları ve video dönüştürme gibi zorlu kullanım senaryolarını karşılamaktadır. Birden fazla NVIDIA video çözme (NVDEC) ve video kodlama (NVENC) motorunu ileri düzey hesaplama yetenekleriyle birleştirerek, bu GPU’lar ortaklarının dönüştürme süreçlerini hızlandırmalarına ve özelleştirmelerine yardımcı olmaktadır.
V-Nova, MPEG-5 Part 2 Düşük Karmaşıklık Geliştirme Video Kodlama (LCEVC) standartlarına dayalı uygulamasını NVIDIA GPU’larına taşımıştır. LCEVC, var olan video kodlama standartlarını geliştirmekte, NVENC video motorlarından ve NVIDIA Ada mimarisi GPU’larının hesaplama gücünden yararlanmaktadır. Bu, video sağlayıcılarının verimli dönüştürme merdivenleri oluşturmalarına olanak tanır. Bu merdivenler, değişken ağ koşulları ve çeşitli son cihazlar aracılığıyla en iyi video kalitesinin korunmasında kritik bir rol oynamaktadır.
Bu yazıda, NVIDIA teknolojisinin son derece verimli ve özelleştirilebilir video dönüştürme iş akışlarını nasıl mümkün kıldığına dair bilgiler sunulacaktır. Öncelikle, LCEVC ile NVENC ve NVIDIA Video Codec SDK’sının nasıl kullanıldığına dair bir genel bakış verilecek. Ardından, CPU tabanlı uygulamalarla karşılaştırmalı görsel kalitelerin ve performansın değerlendirilmesi yapılacak. Son olarak, bulut bilişim örnekleri kullanarak ortak bir dönüşüm çözümünün maliyet etkinliği vurgulanacaktır.
Video Kodlama Standartlarının Geliştirilmesi: MPEG-5 Part 2 LCEVC
MPEG-5 LCEVC, herhangi bir video kodekinin sıkıştırma verimliliğini artıran bir “kodek geliştirici”dir. Bu standart, 40% daha düşük bit hızları ile daha yüksek kalite sunmaktadır ve temel kodek ile tam çözünürlükte kodlamaya göre genel hesaplama karmaşıklığını azaltmaktadır.
LCEVC, iki katmanlı bir hibrit kodlama yöntemi kullanmaktadır: bir temel katman ve bir iyileştirme katmanı. Temel katman, genellikle hedef çözünürlüğün dörtte biri kadar düşük bir çözünürlükte sıkıştırılır. İyileştirme katmanı, temel katmanın upscale edilmiş hali ile orijinal çerçeve arasındaki farkları kodlayarak video kalitesini refineler.
LCEVC’nin düşük karmaşıklığı, yüksek performanslı donanım ve yazılım kodlayıcı ve çözücü uygulamalarının etkin bir şekilde geliştirilmesine olanak sağlar. V-Nova, NVIDIA ile iş birliği içinde NVIDIA GPU’ları için bir LCEVC kodlayıcısı geliştirmiştir. NVENC ile sıkı entegrasyonu, minimum GPU kaynak kullanımıyla optimal video sıkıştırma performansı sağlar. Temel kullanım senaryoları arasında, VR/XR için ultra düşük gecikmeli piksel akışı, bulut oyunları ve video akışı için yoğun dönüştürme yer almaktadır. Bu senaryolarda, LCEVC bant genişliğini ve dağıtım maliyetlerini azaltırken, hizmet kalitesini önemli ölçüde artırmaktadır. Bu yazıda LCEVC ile geliştirilen HEVC’ye odaklanılsa da, H.264/AVC’nin de desteklendiği ve AV1’in yol haritasında olduğu belirtilmelidir.
NVENC ve LCEVC Entegrasyonu ile Düşük Gecikmeli ve Gecikmeye Dayanıklı Kodlama
NVIDIA Video Codec SDK’nın 12.1 ve 12.2 sürümleri, NVIDIA müşterileri için daha yüksek kontrol ve esneklik sağlamak üzere yeni düşük seviyeli API’ler sunmaktadır. Bu API’ler, yeniden yapılandırılmış çerçeve çıktısını ve kodlayıcı istatistiklerine erişim desteği ekler ve performansı maksimize etmek içindir. Ayrıca, düşük gecikme (LL) ve gecikmeye dayanıklı kodlama kullanımları için yeni kodlama araçları eklenmiştir; bu araçlar, NVENC için görsel kalitenin iyileştirilmesine yardımcı olmaktadır.
Şekil 2, NVENC ve LCEVC kodlayıcı entegrasyonunu göstermektedir.
Aşağıdaki işlevsellikler, LCEVC GPU uygulamasını NVENC video kodlama motoru ile birleştirmek için esastır:
- Yeniden Yapılandırılmış Çerçeve Çıktısı API’si: Çerçeve kodlama sırasında, NVENCODE API’si hem sıkıştırılmış çerçeveyi hem de cihaz belleğindeki yeniden yapılandırılmış çerçeveyi sağlar. Bu sayede, LCEVC, yeniden yapılandırılmış çerçeveyi doğrudan GPU üzerinde upscale edip kodlayabilir, böylece PCI Express üzerinden bellek kopyaları yapılması veya kodlanmış bit akışının çözülmesi gerekliliği ortadan kalkar.
- Kodlayıcı İstatistikleri API’si: Verimli LCEVC kodlayıcı uygulamalarında sıkı kontrol sağlamak önemli bir zorluktur. İki katmanın yönetimi, temel katmanın kodlama süreci hakkında detaylı bilgi gerektirir. LCEVC, kodlayıcı istatistikleri API’sını kullanarak her blok için QP ve bit sayısına erişmektedir.
- Yeni video kodlama araçları: Diğer özelliklerin yanı sıra, tek yönlü B-çerçeveler ve ultra yüksek kalite (UHQ) ayarları, düşük gecikmeli ve gecikmeye dayanıklı kullanım senaryoları için sıkıştırma verimliliğini artırmaktadır. Bu yeni araçlar, yalnızca NVENC kullanırken değil, aynı zamanda LCEVC ile birlikte kullanıldığında da faydalıdır.
CPU ve GPU Video Kodlama Karşılaştırması
Bu bölüm, video sıkıştırma ve kodlama hızlarını odaklanarak CPU ve GPU dönüştürme iş akışı uygulamalarını karşılaştırmaktadır. İki kullanım senaryosu incelenecek: ultra yüksek kalite (UHQ) doğal video dönüştürmesi ve bulut oyunları ile piksel akışı için düşük gecikmeli kodlama. Testler, çeşitli akışa uygun bit hızlarıyla Full HD ve UHD kodlama gerçekleştirmekte, yerel HEVC kodlayıcıları (NVENC HEVC ve x265) ile LCEVC ile geliştirilmiş versiyonları karşılaştırmaktadır. Bu karşılaştırma, hem CPU hem de GPU iş akışları için kalite ve maliyet üzerine odaklanmaktadır.
Metodoloji
Testler, NVIDIA GPU içeren ve içermeyen benzer bulut bilişim örneklerinde gerçekleştirilmiştir. Tablo 1, her iki bulut bilişim örneği için donanım ve kodlama yapılandırmalarını listelemektedir. Tablo 2 ise her kullanım senaryosuna ait test içeriklerini göstermektedir.
Donanım ve CPU/GPU kodlayıcı yapılandırması | ||
Bulut bilişim örneği | CPU: AMD EPYC 9R14 – 16 vCPU GPU: N/A |
CPU: AMD EPYC 7R13 – 8 vCPU GPU: NVIDIA L4 – 2x NVENC |
Maliyet/saat | $0.88 | $0.98 |
Kodlayıcılar | x265, LCEVC (CPU) x265 | NVENC HEVC, LCEVC (GPU) NVENC HEVC |
Ayar | Orta | P4 |
Test içerikleri ve kullanım senaryoları | ||
Kullanım senaryoları/Ayarlama | Düşük Gecikme (LL) | Gecikmeye Dayanıklı/Ultra Yüksek Kalite (UHQ) |
İçerik türü | Oyun ve Doğal | Doğal |
Girdi videoları | 11 video | |
Çözünürlük/Bit hızı | 1080p60 (4, 7, 12 ve 15 Mbps) ve 2160p60 (12, 15, 22 ve 30 Mbps) |
Tüm kodlayıcılar, FFmpeg sürüm 6.1 kullanılarak test edilmiştir. Adil bir karşılaştırma sağlamak amacıyla, NVENC HEVC ve x265 yapılandırmaları GOP boyutu, B çerçeve sayısı ve bakış derinliği açısından yakından eşleştirilmiştir. Ayrıca, donanımın en iyi şekilde kullanılmasını sağlamak için, FFmpeg birden fazla akışı paralel olarak kodlamaktadır. Test için kullanılan tam komut satırları incelenebilir.
FFmpeg tarafından rapor edilen akış başına ortalama kodlama çerçevesi süresi (FPS), toplam FPS’yi elde etmek için akış sayısıyla çarpılmalıdır. Bir saatlik videonun kodlama maliyetini belirlemek için, bu FPS ile ilgili örnek maliyet birleştirilir. LCEVC x265 ve LCEVC NVENC HEVC için aynı süreç tekrarlanmıştır.
En son sürümdeki LCEVC NVENC HEVC hâlâ güçlü bir performans sergilese de, geliştirmenin devam etmesi beklenmektedir. Bu nedenle, sunulan performans değerlendirmesi muhafazakar bir yaklaşımla ele alınmalıdır.
Görsel Kalite Sonuçları
Görsel kalite (VQ) değerlendirmesi, doğal manzaralar ve oyun içerikleri içeren çeşitli video dizilerinden oluşan bir set kullanılarak gerçekleştirilmiştir. Bu set, beş tane Full HD (1080p) ve altı tane UHD (2160p) çözünürlüğünde videoyu içermektedir. Hedef bit hızları 4-15 Mbps için 1080p ve 12-30 Mbps için UHD videolarına göre görsel kalite değerlendirilmiştir.
VMAF (libvmaf 3.0.0 kullanarak) metriği, bu testlerde yüksek MOS skorları (öznel kalite değerlendirmeleri) ile yüksek korelasyona sahiptir. Ayrıca, potansiyel görüntü iyileştirme önyargılarını hesaba katmak amacıyla VMAF No Enhancement Gain (VMAF-NEG) hesaplanmıştır. LCEVC, öznel görsel kalitede en iyi sonucu hedeflemektedir. MPEG standartlaştırma sürecinde bağımsız üçüncü taraflar tarafından birçok öznel kalite değerlendirmesi yapılmıştır. Bu sonuçlar, AVC, HEVC ve VVC’ye karşı BD-RATE (MOS) içermektedir.
Şekiller 3 ila 6, test içeriğine göre ortalama oran-bozma (RD) eğrilerini sunmaktadır. Bu sonuçlar şunları göstermektedir:
- NVENC HEVC (kırmızı kesik çizgi) sürekli olarak x265 (kırmızı noktalar) ile daha yüksek kodlama verimliliği elde etmektedir.
- Her ikisi de LCEVC ile geliştirilmiş NVENC HEVC ve x265 (yeşil çizgiler), yerel karşıtları ile karşılaştırıldığında daha başarılı sonuçlar almaktadır.
- LCEVC, VMAF ve VMAF-NEG için sürekli olarak bit hızı tasarrufu sağlamaktadır.
Tablo 3, LCEVC’yi NVENC HEVC ve x265’e ekleyerek elde edilen bit hızı tasarruflarını karşılaştırmaktadır. Bu tablodan aşağıdaki sonuçlara ulaşılmaktadır:
- LCEVC NVENC HEVC’nin NVENC HEVC’ye karşı BD-hız iyileştirmeleri, LCEVC x265’nin x265’e karşı elde ettiği iyileştirmelerle benzer veya daha yüksektir.
- Bu verimlilik, V-Nova’nın LCEVC ile NVENC’in sıkı entegrasyonunu sağlamak için NVENCODE API’lerini kullanarak sağladığı yeniden yapılandırılmış çerçeveler ve kodlayıcı istatistikleri üzerinden gerçekleştirilmektedir.
Çözünürlük | Ayarlama | BD-RATE LCEVC NVENC HEVC ve NVENC HEVC | BD-RATE LCEVC x265 ve x265 | ||
VMAF | VMAF-NEG | VMAF | VMAF-NEG | ||
2160p60 | UHQ | -35.30% | -18.74% | -33.21% | -20.04% |
LL | -30.65% | -16.53% | -19.85% | -7.92% | |
1080p60 | UHQ | -22.39% | -4.42% | -23.61% | -7.29% |
LL | -25.04% | -11.44% | -19.82% | -9.06% |
Performans ve Maliyet Sonuçları
Görsel kalite testlerinde kullanılan aynı komut satırlarını kullanarak, düşük gecikmeli ve ultra yüksek kalite ayarlamalarında CPU ve GPU iş akışlarının kodlama hızlarını ölçtük. Bu süreçte hem yerel HEVC kodlayıcılar hem de LCEVC ile geliştirilmiş versiyonları dikkatle değerlendirildi.
Şekil 7’deki sonuçlar şu noktaları göstermektedir:
- GPU destekli HEVC kodlaması, LL ve UHQ ayarlarında CPU tabanlı x265’e göre 2x-4x daha uygun maliyetli olmaktadır.
- LCEVC, hem CPU hem de GPU uygulamalarını hızlandırmaktadır, özellikle de daha yüksek çözünürlükler ve kalite ayarlarında.
- NVIDIA NVENC ile LCEVC GPU kodlayıcısının birleştirilmesi, en yüksek verimi sağlar ve böylece olarak hizmet maliyetini önemli ölçüde düşürerek görsel kalitedeki iyileşmeyi artırır.
NVIDIA ve V-Nova, yazılım güncellemeleri ile hem performans hem de görsel kalite iyileştirmeleri sunmuştur. Düşük karmaşıklıklı ve yazılım destekli yapısı sayesinde, V-Nova, mevcut donanım için LCEVC kodlama performansını ve dolayısıyla maliyetini daha da geliştirmeyi hedeflemektedir.
Sonuç
NVIDIA ve V-Nova iş birliği ile geliştirilen ortak NVENC ve LCEVC dönüştürme çözümü, NVENCODE API’lerinin LCEVC GPU kodlayıcısı ile sıkı entegrasyonunu ortaya koymaktadır. Bu entegrasyon, müşterilerin NVIDIA’nın donanım hızlandırılmış NVENC’ini V-Nova’nın LCEVC çok katmanlı kodek geliştirme çözümü ile birleştirmelerini sağlar. Bu sayede görsel kalite artmakta, verimlilik artmakta ve maliyetler düşmektedir.
Başlamak için hazır mısınız? NVIDIA Video Codec SDK’yı indirin ve LCEVC GPU kodlayıcısını edinin.