Android 16'da Android TV için Medya Kalitesi çerçevesi kullanıma sunuluyor. Bu çerçeve, Görüntü Kalitesi (PQ) ve Ses Kalitesi (AQ) ayarlamaları için standartlaştırılmış bir API oluşturmayı amaçlıyor. Buradaki temel amaç, farklı Android TV cihazlarında bu ayarlamalar için birleşik bir yaklaşım sunmaktır. Bu standartlaştırılmış çerçeve, tutarlı bir Android API'leri seti sunarak uygulama geliştiriciler, özgün donanım üreticileri (OEM'ler) ve çip üzerinde sistem (SoC) satıcıları için geliştirmeyi basitleştirmeyi amaçlar. Özellikle çip üzerinde sistem (SoC) satıcıları için Android çerçevesinin PQ ve AQ yapılandırmasını işlemesine olanak tanıyarak farklı uygulama geliştiricilerle işbirliği yapmanın ek yükünü azaltır.
Sonuç olarak, Google ve Android platformu için parçalanmayı azaltmaya, kaliteyi ve ölçeklenebilirliği artırmaya, yeni özellikler sunmaya ve birleşik AQ/PQ kullanıcı arayüzü ile daha iyi bir kullanıcı deneyimi için temel oluşturmaya yardımcı olur.
Medya Kalitesi çerçevesi, TV izleme deneyimini iyileştirmek için çeşitli kullanım alanlarını destekler. Profillerin ve ayarların paket adına (uygulama) ve giriş kimliğine göre yönetilebileceğini unutmayın. Ayrıca, profiller sistem uygulamaları veya izin verilenler listesindeki diğer uygulamalar tarafından da oluşturulabilir. Profiller yalnızca sahipleri tarafından güncellenebilir veya kaldırılabilir. Daha spesifik olarak, çerçeve Resim ve Ses Profillerini yönetir. Resim parametrelerine örnek olarak parlaklık, kontrast ve keskinlik verilebilir. Ses parametrelerine örnek olarak bas ve tiz verilebilir. Bu profiller; genel varsayılan profilleri ayarlama, MediaCodec aracılığıyla profil aktarma, belirli medya uygulamaları için uygulama varsayılan profillerini ayarlama ve HDMI gibi belirli girişler için TV giriş resmi profillerini ayarlama gibi çeşitli bağlamlarda uygulanabilir. Çerçeve ayrıca durum değişikliklerini de destekler. Bu sayede HDR gibi durumlar için farklı parametre kümelerine izin verilir, devam eden işleme için etkin resim profilleri yönetilir ve ortam arka ışığı özellikleri işlenir.
Android ekibi, Media Quality çerçevesini desteklemek için ekosistem iş ortaklarımızla birlikte çalışıyor.
Bileşenler
Medya Kalitesi Çerçevesi, uygulama, çerçeve ve donanım katmanlarında birlikte çalışan çeşitli temel bileşenlerden oluşur.

Şekil 1. Medya Kalitesi Çerçevesi bileşenleri arasındaki etkileşimler
- Medya Kalitesi Yöneticisi (SDK API): Uygulamaların resim ve ses profillerini yönetmesine olanak tanıyan, uygulamaya yönelik SDK API'si.
- Medya Kalitesi Hizmeti: Temel işletme mantığını içeren, profilleri, izinleri ve HAL ile iletişimi yöneten bir sistem hizmetidir.
- Medya Kalitesi Veritabanı: Tüm resim ve ses profillerini depolayan bir SQLite veritabanı.
- Medya Kalitesi Sözleşmesi: Uygulamalar ve çerçeve arasındaki iletişim için kullanılan standartlaştırılmış parametreleri ve veri yapılarını tanımlar.
- Medya Kalitesi HAL: SoC tedarikçilerinin, resim ve ses profili değişikliklerini temel donanıma iletmek için uyguladığı Donanım Soyutlama Katmanı.
Özellikler
Medya Kalitesi Çerçevesi, medya kalitesini yönetmek için esnek ve güçlü bir sistem sağlamak üzere çok çeşitli özellikleri destekler.
Profil Yönetimi
- Uygulama tarafından yönetilen profiller: Uygulamalar, özelleştirilmiş bir deneyim için kendi profillerini oluşturabilir, güncelleyebilir ve silebilir.
- Varsayılan profiller: Sistem uygulamaları, belirli uygulamalar veya TV girişleri için varsayılan profiller ayarlayabilir (ör. HDMI 1).
- Genel varsayılan profil: Belirli bir profil ayarlanmadığında uygulanan, sistem genelinde yedek profil.
Genel İş Akışı
Aşağıdaki şemalarda, yaygın medya kalitesi işlemleri için arama sıraları gösterilmektedir.
Resim profili oluşturma ve uygulama

Şekil 2. Resim profili oluşturma için sıralı diyagram
- Bir sistem uygulaması, medya uygulamasına profil oluşturma izni vermek için
setPictureProfileAllowList()işlevini çağırır. - Medya uygulaması, profil değişiklikleriyle ilgili bildirimler almak için
PictureProfileCallbackkaydeder. - Medya uygulaması,
PictureProfilenesnesiylecreatePictureProfile()yöntemini çağırır. MediaQualityServiceisteği işler, profili veritabanına kaydeder ve kayıtlı geri çağırma (onPictureProfileAdded()veyaonError()) aracılığıyla uygulamayı başarılı veya başarısız olma durumu hakkında bilgilendirir.
Akış Başına Resim Profili Ayarlama
Bu iş akışı, bir uygulamanın oynatma sırasında video içeriğine nasıl belirli bir profil uygulayabileceğini gösterir.

Şekil 3. Akış başına resim profili ayarlama için sıra şeması
- Medya uygulaması, kullanılabilir resim profillerinin listesini almak için
MediaQualityManagersorgusunu yapar. - Uygulama daha sonra akış için istenen profili seçmek ve ayarlamak üzere
MediaCodec.setParameterskullanır. - Çerçeve, bu seçimi Media Quality (MQ) HAL'e ileterek profil kimliğini ve parametrelerini aktarır.
- Son olarak, MQ HAL bu parametreleri Composer HAL'a gönderir. Composer HAL, video akışını belirtilen resim profiliyle oluşturur.
Global varsayılan profil ayarlama
Yalnızca sistem uygulamaları, belirli bir profil atanmamış tüm içerikler için yedek olarak kullanılan genel varsayılan profili ayarlayabilir.
- Sistem uygulaması, çerçeveden kullanılabilir resim profillerinin listesini alır.
- Uygulama daha sonra
setDefaultPictureProfile(id)işlevini çağırarak bu profillerden birini yeni genel varsayılan olarak seçer. - Çerçeve, bu profilin parametrelerini Media Quality HAL'ye gönderir. Bu HAL, değişiklikleri uygular.
Media Quality SDK API
Media Quality SDK API, uygulamaların çerçeveyle etkileşim kurması için gerekli araçları sağlar. Ana giriş noktası android.media.quality paketidir.
android.media.quality
Bu paket, medya kalitesini yönetmek için kullanılan temel sınıfları içerir.
| Sınıf | Açıklama |
|---|---|
MediaQualityManager |
MQF ile etkileşim kurmak için kullanılan merkezi sınıf. |
PictureProfile |
Belirli bir mod için resim parametrelerinin tamamını temsil eden bir veri sınıfı. |
SoundProfile |
Ses parametreleri için bir veri sınıfı. |
MediaQualityContract |
Önceden tanımlanmış tüm parametre anahtarları için sabitleri içeren bir sınıf. |
MediaQualityManager
Başlıca yöntemler şunlardır:
| Yöntem | Açıklama |
|---|---|
createPictureProfile(PictureProfile profile) |
Yeni bir resim profili oluşturur. Özel izinler gerektirir veya uygulamanın izin verilenler listesinde olması gerekir. |
updatePictureProfile(PictureProfile profile) |
Mevcut bir resim profilini günceller. Yalnızca profilin oluşturucusu tarafından çağrılabilir. |
removePictureProfile(String profileId) |
Profili siler. Yalnızca profilin oluşturucusu tarafından çağrılabilir. |
getAvailablePictureProfiles() |
Mevcut tüm resim profillerinin listesini döndürür. |
setDefaultPictureProfile(String profileId) |
Genel varsayılan resim profilini ayarlar. MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE izni gerektirir. |
registerPictureProfileCallback(PictureProfileCallback cb) |
Profil değişikliklerini dinlemek için bir geri çağırma kaydeder. |
PictureProfile Nesnesi
PictureProfile nesnesi, belirli bir resim moduyla ilgili tüm bilgileri kapsar.
public final class PictureProfile {
private String id;
private int type; // System or Application
private String name; // e.g., "Movie", "Game"
private String inputId; // e.g., "HDMI1"
private String packageName; // e.g., "com.google.android.youtube"
private PersistableBundle parameters; // Bundle containing all PQ parameters
}
Medya Kalitesi Donanım Soyutlama Katmanı
Medya Kalitesi HAL, hardware/interfaces/tv/mediaquality/aidl/ içinde tanımlanan AIDL tabanlı bir arayüzdür. SoC tedarikçileri, cihazlarında Media Quality Framework'ü etkinleştirmek için bu arayüzü uygulamalıdır. HAL, Android çerçevesindeki MediaQualityService ile temel donanım arasında iletişim köprüsü görevi görür ve resim ile ses ayarlamalarını uygulamaktan sorumludur.
HAL, AIDL paketlenebilirlerini kullanarak resim ve ses profillerini yönetir. Bu işlem, profildeki değişikliklerin çerçeveden alınmasını ve donanım düzeyinde yapılan ayarlamaların çerçeveye bildirilmesini içerir.
Modüller
HAL arayüzü, birkaç önemli AIDL dosyasından oluşur:
| HAL Dosyası | Açıklama |
|---|---|
IMediaQuality.aidl |
Dinleyicileri ayarlamak ve donanım özelliklerini keşfetmek için kullanılan, Medya Kalitesi hizmetinin ana arayüzü. |
IPictureProfileChangedListener.aidl |
Çerçevenin, HAL'i (özellikle composer HAL gibi bir bileşen) resim profilindeki değişiklikler konusunda bilgilendirmek için kullandığı bir dinleyici arayüzü. |
IPictureProfileAdjustmentListener.aidl |
HAL'ın, donanım düzeyinde yapılan ayarlamaları (ör. kullanıcının bir ayarı doğrudan donanım uzaktan kumandası aracılığıyla değiştirmesi) çerçeveye bildirmek için kullandığı bir dinleyici arayüzü. |
PictureParameter.aidl |
Ayarlanabilen kontrast ve netlik gibi tüm standart resim parametrelerini tanımlayan bir AIDL birliği. |
PictureProfile.aidl |
HAL katmanında bir PictureProfile nesnesini temsil eden, profil kimliği ve ilişkili parametrelerini içeren AIDL parcelable. |
ISoundProfileChangedListener.aidl |
Çerçevenin, ses profilindeki değişiklikleri HAL'ye bildirmek için kullandığı bir dinleyici arayüzü. |
ISoundProfileAdjustmentListener.aidl |
HAL'ın, donanım düzeyinde yapılan ses ayarlamaları hakkında çerçeveyi bilgilendirmek için kullandığı bir dinleyici arayüzü. |