3A modları ve durum geçişi

Gerçek 3A algoritmaları HAL uygulamasına kadar olsa da, üst düzey durum makinesi açıklaması, HAL'ye izin vermek için HAL arayüzü tarafından tanımlanır 3A'nın mevcut durumu hakkında iletişim kuracak çerçeveyi ve cihazı 3A etkinliklerini tetikler.

Cihaz açıldığında tüm 3A durumları STATE_INACTIVE. Akış yapılandırması 3A'yı sıfırlamaz. Örneğin, kilitli odak configure() görüşmesinde korunur.

Bir 3A işlemini tetiklemek için, ilgili tetikleyici girişini tetikleyicinin başlangıcını belirtmek için sonraki isteğe ilişkin ayarlar. Örneğin, otomatik odaklama taraması başlatma tetikleyicisi girişi Bir istek için ANDROID_CONTROL_AF_TRIGGER - ANDROID_CONTROL_AF_TRIGGER_START; Otomatik odaklama taramasının iptal edilmesi, ANDROID_Ctrl_AF_TRIGGER - ANDROID_CONTRL_AF_TRIGGER_CANCEL. Aksi halde, giriş mevcut olmayacak veya ANDROID_CONTROL_AF_TRIGGER_IDLE olarak ayarlanacak. Her biri tetikleyici girişi IDLE olmayan bir değere ayarlanmış istekler, bağımsız tetikleyici olaydır.

3A üst düzeyde ANDROID_control_MODE ayarıyla kontrol edilir. Google 3A yok (ANDROID_control_MODE_OFF), normal OTOMATİK modu arasında seçim yapar kullanarak ve sahne modu ayarını kullanarak (ANDROID_CONTROL_USE_SCENE_MODE):

  • KAPALI modda, her bir otomatik odaklama (AF), otomatik pozlama (AE) ve otomatik beyaz denge (AWB) modları etkin bir şekilde KAPALI durumdadır ve yakalama denetimleri 3A rutinleri tarafından geçersiz kılınabilir.
  • OTOMATİK modunda, AF, AE ve AWB modlarının hepsi kendi bağımsız kendi modlarına, durumlarına ve meta veri girişlerine sahip olmalıdır. öğelerdir.
  • USE_SCENE_MODE işlevinde ANDROID_Control_SCENE_MODE girişinin değeri aşağıdaki gibi olmalıdır: yardımcı olduğunu lütfen unutmayın. Şuranın dışındaki SCENE_MODE sahnelerinde: HAL, FACE_PRIORITY için ANDROID_control_AE/AWB/AF_MODE, seçilen mod için tercih ettiği mod olacak. SAHNE_MOD. Örneğin, HAL ekibi SCENE_MODE_NIGHT işlevini kullanmayı tercih edebilir CONTINUOUS_FOCUS AF modu. Sahne sırasında kullanıcı tarafından AE/AWB/AF_MODE ayarlarından herhangi biri seçilebilir komutunun kullanılması gerekir.
  • SCENE_MODE_FACE_PRIORITY için AE/AWB/AFMODE kontrolleri şu şekilde çalışır: Ancak 3A rutinleri ölçüme ve kontrole dayalı olarak sahnede algılanan yüzlere odaklanıyor.

Otomatik odaklama ayarları ve sonuç girişleri

Ana meta veri girişleri
ANDROID_KONTROL_AF_MODE Geçerli otomatik odaklama modunu seçme kontrolü. Çerçeve tarafından belirlenir seçeneğini kullanabilirsiniz.
AF_MODE_KAPALI AF devre dışıdır; çerçeve/uygulama lens konumunu doğrudan kontrol eder.
AF_MODE_OTOMATİK Tek süpürme otomatik odaklama. AF tetiklenmediği sürece lens hareketi olmaz.
AF_MODE_MAKRO Tek süpürme yakına doğru otomatik odaklama. AF tetiklenmediği sürece lens hareketi olmaz
AF_MODE_CONTINUOUS_VİDEOSU Video kaydı için yumuşak ve kesintisiz odaklanma. Hemen tetikleniyor odağı geçerli konuma kilitler. İptal etme işlemi, sürekli odaklanmaya devam eder.
AF_MODE_CONTINUOUS_RESİM RESMİ Sıfır kapanış gecikmesi için hızlı, sürekli odaklama. Tetikleyici mevcut etkin süpürme sona erdiğinde odağı kilitler. İptal edilen öz geçmişler sürekli odaklanma.
AF_MODE_EDOF Gelişmiş genişletilmiş alan derinliği. Otomatik odaklama taraması yoktur. Dolayısıyla birini tetiklemenin veya iptal etmenin hiçbir etkisi yoktur. Resimlere odaklanılmış HAL tarafından otomatik olarak oluşturulur.
ANDROID_control_AF_STATE Geçerli AF algoritmasının durumunu açıklayan dinamik meta veriler, bildirildi HAL'ye göre değiştirmelidir.
AF_STATE_INACTIVE Odaklanma yapılmadı veya algoritma sıfırlandı. Lens hareket etmiyor. MODE_OFF veya MODE_EDOF için her zaman eyalet. Cihaz açıldığında bu durumda başlamalıdır.
AF_STATE_PASSIVE_SCAN Bir sürekli odak algoritması şu anda iyi odaklama için tarama yapıyor. Lens hareket ediyor.
AF_STATE_PASSIVE_ODAK NOKTASI Sürekli odaklama algoritması, görevin iyi sonuç verdiğine inanır. Lens hareket etmiyor. HAL kendiliğinden bu durumdan çıkabilir.
AF_STATE_PASSIVE_YOKSA Sürekli odaklanma algoritması, bunun iyi odaklanılmadığını düşünüyor. Lens hareket etmiyor. HAL kendiliğinden bu durumdan çıkabilir.
AF_STATE_ACTIVE_SCAN Kullanıcı tarafından tetiklenen bir tarama işlemi devam ediyor.
AF_STATE_FOCUSE_KİLİTLİ AF algoritması odak noktası olduğunu düşünür. Lens hareket etmiyor.
AF_STATE_NOT_FOCUSE_KİLİTLİ AF algoritması odaklanamadı. Lens hareket etmiyor.
ANDROID_KONTROL_AF_TRIGGER Anlamı ve durumu seçin. İstek ayarlarındaki çerçeve tarafından belirlenir.
AF_TRIGGER_IDLE Geçerli tetikleyici yok.
AF_TRIGGER_START AF taramasını tetikleme. Efekt, moda ve duruma bağlıdır.
AF_TRIGGER_CANCEL Varsa mevcut AF taramasını iptal edin ve algoritmayı varsayılana sıfırlayın.
Ek meta veri girişleri
ANDROID_Denetleyici_AF_BÖLGELER Görüş alanında olması gereken bölgelerin (FOV) seçilmesi için nasıl kullanılabileceğini belirler. Bu, tüm AF için geçerlidir tarama modu bulunur. İstek ayarlarındaki çerçeve tarafından belirlenir.

Otomatik pozlama ayarları ve sonuç girişleri

Ana meta veri girişleri
ANDROID_KONTROL_AE_MODE Geçerli otomatik pozlama modunu seçme kontrolü. Ayarlayan: çerçeve oluşturabilirsiniz.
AE_MODE_OFF Otomatik pozlama devre dışı; pozlama, kazanç, çerçeveyi kullanıcı kontrol eder teşekkür ederiz.
AE_MODE_AÇIK Flaş kontrolü devre dışı bırakılmış standart otomatik pozlama. Kullanıcı flash ayarlayabilir ateş veya meşale moduna geçin.
AE_MODE_ON_OTOMATİK_FLASH Önceden yakalanma için HAL'nin takdirine bağlı olarak flaş ışığı açık olan standart otomatik pozlama yakalamaya devam edin. Flash'ın kullanıcı kontrolü devre dışı bırakıldı.
AE_MODE_ON_HER ZAMAN_FLASH Görüntü almak için her zaman flaşla ve HAL'de standart otomatik pozlama karar verme yetkisi size aittir. Flash'ın kullanıcı kontrolü devre dışı bırakıldı.
OTOMATİK_BAŞLANGIÇ_MOD_YANLIŞ Önceden yakalanma için HAL'nin takdirine bağlı olarak flaş ışığı açık olan standart otomatik pozlama yakalamaya devam edin. Önceden çekim dizisinin sonunda flaş seri çekimi yaparak görüntüdeki kırmızı gözü azaltır. Flash'ın kullanıcı kontrolü devre dışı bırakıldı.
ANDROID_control_AE_STATE Geçerli AE algoritması durumunu açıklayan dinamik meta veri, rapor: HAL'yi eklemesi gerekir.
AE_STATE_INACTIVE Mod değişiminden sonra ilk AE durumu. Cihaz açıldığında bu durumda başlar.
AE_STATE_SEARCHING AE iyi bir değere yakın değil ve karşılaşmayı ayarlıyor parametreleridir.
AE_STATE_CONVERGED AE, mevcut sahne için iyi pozlama değerleri buldu. karşılaşma parametreleri değişmiyor. HAL kendiliğinden bu sayfadan ayrılabilir durumu belirtin.
AE_STATE_KİLİTLİ AE, AE_LOCK kontrolüyle kilitlendi. Karşılaşma değerleri şunlar değil: bir değişim söz konusu.
AE_STATE_FLASH_REQUIRED HAL'de yakınlaşmış pozlama vardır ancak oldukça parlak. Sıfır gecikmenin olup olmadığını belirlemek için kullanılır nasıl çalıştığını gösterebiliriz.
AE_STATE_PRECAPTURE HAL, bir önceden yakalama dizisinin ortasındadır. AE moduna bağlı olarak bu modda ölçüm için flaş ya da flaş patlaması bulunabilir kırmızı göz azaltma için atımlar.
ANDROID_control_AE_PRECAPTURE_TRIGGER Yüksek kaliteli bir kayıt yakalamadan önce bir sayaç dizisi başlatma kontrolü görüntüsüdür. İstek ayarlarındaki çerçeve tarafından belirlenir.
ÖNCEDEN CAPTURE_TRIGGER_IDLE Geçerli tetikleyici yok.
PRECAPTURE_TRIGGER_START Önceden yakalama dizisi başlatın. HAL, yaklaşmakta olan yüksek çözünürlüklü resimler için iyi pozlama/beyaz dengesini ölçmek yakalamanız gerekir.
Ek meta veri girişleri
ANDROID_Kontrol_AE_KİLİTLİ AE kontrollerini mevcut değerlerine kilitleme kontrolü.
ANDROID_control_AE_EXPOSURE_COMPENSATION AE algoritması hedef parlaklık noktasını ayarlama kontrolü.
ANDROID_control_AE_TARGET_FPS_RANGE AE algoritması için hedef kare hızı aralığı seçme kontrolü. AE rutini, kare hızını bunların dışında olacak şekilde değiştiremez sınırlar.
ANDROID_Control_AE_BÖLGELERİ Aşağıdakilerin kullanılması gereken FOV bölgelerini seçme kontrolü belirlemek için kullanır. Bu, tüm AE modları için geçerlidir devre dışı bırakılır.

Otomatik beyaz dengesi ayarları ve sonuç girişleri

Ana meta veri girişleri
ANDROID_KONTROL_AWB_MODU Geçerli beyaz dengesi modunu seçme kontrolü.
AWB_MOD_KAPALI Otomatik beyaz dengesi devre dışı. Kullanıcı kontrolleri renk matrisi.
AWB_MOD_OTOMATİK Otomatik beyaz dengesi etkin; 3A, renk dönüşümünü kontrol eder muhtemelen basit bir matristen daha karmaşık dönüşümler kullanırsınız.
AWB_ENÇOK_OLAN_EKRAN Sabit beyaz dengesi ayarları iç mekandaki akkor ampul (tungsten) için iyidir ışıklandırma, yaklaşık 2700K.
AWB_MODE_FLUORESCENT Yaklaşık olarak floresan ışıkta iyi olan sabit beyaz dengesi ayarları 5000 bin.
AWB_MODE_WARM_FLUORESCENT Yaklaşık olarak floresan ışıkta iyi olan sabit beyaz dengesi ayarları 3000.000.
AWB_MODE_GÜN IŞIĞI Sabit beyaz dengesi ayarları gün ışığı için uygundur (yaklaşık 5.500K).
AWB_MODE_CLOUDY_DAYLIGHT Sabit beyaz dengesi ayarları, bulutlu gün ışığı için uygundur (yaklaşık 6.500K).
AWB_MOD_TWILIGHT Gün batımı/gün doğumu için yaklaşık sabit beyaz dengesi ayarları 15.000 bin.
AWB_MODE_SHADE Güneşin dolaylı olarak aydınlattığı alanlar için sabit beyaz dengesi ayarları yaklaşık 7.500 bin.
ANDROID_control_AWB_STATE Geçerli AWB algoritması durumunu açıklayan dinamik meta veri, rapor: HAL'yi eklemesi gerekir.
AWB_STATE_INACTIVE Mod değişiminden sonra ilk AWB durumu. Cihaz açıldığında bu durumda başlar.
AWB_STATE_SEARCHING AWB iyi bir değere yakın değil ve renk ayarlamasını değiştiriyor parametreleridir.
AWB_STATE_CONVERGED AWB, mevcut sahne için iyi renk ayarlama değerleri buldu ve parametreler değişmiyor. HAL kendiliğinden bu durumdan çıkabilir daha iyi bir çözüm aramasına izin verir.
AWB_STATE_KİLİTLİ AWB, AWB_LOCK denetimiyle kilitlendi. Renk düzenleme değerler değişmiyor.
Ek meta veri girişleri
ANDROID_KONTROL_AWB_KİLİTLİ AWB renk ayarlamalarını mevcut değerlerine kilitleme denetimi.
ANDROID_Control_AWB_BÖLGELER Aşağıdakilerin kullanılması gereken FOV bölgelerini seçme kontrolü belirleyecek olan kişi odur. Bu yalnızca otomatik beyaz dengesi için geçerlidir yatırım yapmanız önemlidir.

Genel durum makinesi geçiş notları

AF, AE veya AWB modları arasında geçiş yapmak her zaman algoritmanın durumunu ETKİN DEĞİL. Benzer şekilde, Control_MODE == USE_SCENE_MODE, tüm algoritma durumlarını INACTIVE olarak sıfırlar.

Aşağıdaki tablolar mod bazındadır.

AF durumu makineleri

mod = AF_MODE_OFF veya AF_MODE_EDOF
Eyalet Dönüşüm nedeni Yeni durum Notlar
ETKİN DEĞİL AF devre dışı
mod = AF_MODE_auto veya AF_MODE_MACRO
Eyalet Dönüşüm nedeni Yeni durum Notlar
ETKİN DEĞİL AF_TRIGGER AKTİF_TARAMA

AF taramasını başlat

Lens artık hareket ediyor

AKTİF_TARAMA AF taraması tamamlandı ODAKLANAN_KİLİTLİ

AF başarılıysa

Lens artık kilitli

AKTİF_TARAMA AF taraması tamamlandı YER_ALANI_KİLİTLİ_DEĞİL

AF başarılıysa

Lens artık kilitli

AKTİF_TARAMA AF_İPTAL ETKİN DEĞİL

AF'yi iptal et/sıfırla

Lens artık kilitli

ODAKLANAN_KİLİTLİ AF_İPTAL ETKİN DEĞİL AF'yi iptal et/sıfırla
ODAKLANAN_KİLİTLİ AF_TRIGGER AKTİF_TARAMA

Yeni tarama başlat

Lens artık hareket ediyor

YER_ALANI_KİLİTLİ_DEĞİL AF_İPTAL ETKİN DEĞİL AF'yi iptal et/sıfırla
YER_ALANI_KİLİTLİ_DEĞİL AF_TRIGGER AKTİF_TARAMA

Yeni tarama başlat

Lens artık hareket ediyor

Tüm eyaletler Mod değiştirme ETKİN DEĞİL
mod = AF_MODE_CONTINUOUS_VIDEO
Eyalet Dönüşüm nedeni Yeni durum Notlar
ETKİN DEĞİL HAL yeni bir tarama başlatır PASSIVE_SCAN

AF taramasını başlat

Lens artık hareket ediyor

ETKİN DEĞİL AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL

AF durum sorgusu

Lens artık kilitli

PASSIVE_SCAN HAL, mevcut taramayı tamamlar PASSIVE_ODAK NOKTASI OLAN

AF taramasını sonlandır

Lens artık kilitli

PASSIVE_SCAN AF_TRIGGER ODAKLANAN_KİLİTLİ

Hemen dönüşüm odaklanma iyiyse

Lens artık kilitli

PASSIVE_SCAN AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL

Hemen dönüşüm odak kötüyse

Lens artık kilitli

PASSIVE_SCAN AF_İPTAL ETKİN DEĞİL

Lens konumunu sıfırla

Lens artık kilitli

PASSIVE_ODAK NOKTASI OLAN HAL yeni bir tarama başlatır PASSIVE_SCAN

AF taramasını başlat

Lens artık hareket ediyor

PASSIVE_ODAK NOKTASI OLAN AF_TRIGGER ODAKLANAN_KİLİTLİ

Hemen dönüşüm odaklanma iyiyse

Lens artık kilitli

PASSIVE_ODAK NOKTASI OLAN AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL Hemen dönüşüm odak kötüyse

Lens artık kilitli

ODAKLANAN_KİLİTLİ AF_TRIGGER ODAKLANAN_KİLİTLİ Efekt yok
ODAKLANAN_KİLİTLİ AF_İPTAL ETKİN DEĞİL AF taramasını yeniden başlat
YER_ALANI_KİLİTLİ_DEĞİL AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL Efekt yok
YER_ALANI_KİLİTLİ_DEĞİL AF_İPTAL ETKİN DEĞİL AF taramasını yeniden başlat
mod = AF_MODE_CONTINUOUS_PICTURE
Eyalet Dönüşüm nedeni Yeni durum Notlar
ETKİN DEĞİL HAL yeni bir tarama başlatır PASSIVE_SCAN

AF taramasını başlat

Lens artık hareket ediyor

ETKİN DEĞİL AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL

AF durum sorgusu

Lens artık kilitli

PASSIVE_SCAN HAL, mevcut taramayı tamamlar PASSIVE_ODAK NOKTASI OLAN AF taramasını sonlandır

Lens artık kilitli

PASSIVE_SCAN AF_TRIGGER ODAKLANAN_KİLİTLİ

Odaklandıktan sonra nihai dönüşüm

Lens artık kilitli

PASSIVE_SCAN AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL

Odaklanamıyorsa nihai dönüşüm

Lens artık kilitli

PASSIVE_SCAN AF_İPTAL ETKİN DEĞİL

Lens konumunu sıfırla

Lens artık kilitli

PASSIVE_ODAK NOKTASI OLAN HAL yeni bir tarama başlatır PASSIVE_SCAN

AF taramasını başlat

Lens artık hareket ediyor

PASSIVE_ODAK NOKTASI OLAN AF_TRIGGER ODAKLANAN_KİLİTLİ

Odak iyiyse hemen dönüşüm

Lens artık kilitli

PASSIVE_ODAK NOKTASI OLAN AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL

Odak kötüyse hemen dönüştürme

Lens artık kilitli

ODAKLANAN_KİLİTLİ AF_TRIGGER ODAKLANAN_KİLİTLİ Efekt yok
ODAKLANAN_KİLİTLİ AF_İPTAL ETKİN DEĞİL AF taramasını yeniden başlat
YER_ALANI_KİLİTLİ_DEĞİL AF_TRIGGER YER_ALANI_KİLİTLİ_DEĞİL Efekt yok
YER_ALANI_KİLİTLİ_DEĞİL AF_İPTAL ETKİN DEĞİL AF taramasını yeniden başlat

AE ve AWB durum makineleri

AE ve AWB durum makineleri çoğunlukla aynıdır. AE, FLASH_REQUIRED ve PRECAPTURE durumları. Dolayısıyla, alt kısımdaki satırlar, bu iki durumları AWB durum makinesi için yoksayılmalıdır.

mod = AE_MODE_OFF / AWB modu OTOMATİK değil
Eyalet Dönüşüm nedeni Yeni durum Notlar
ETKİN DEĞİL AE/AWB devre dışı bırakıldı
mod = AE_MODE_ON_* / AWB_MODE_OTOMATİK
Eyalet Dönüşüm nedeni Yeni durum Notlar
ETKİN DEĞİL HAL, AE/AWB taramasını başlatır ARANIYOR
ETKİN DEĞİL AE/AWB_LOCK açık KİLİTLENDİ Değerler kilitlendi
ARANIYOR HAL, AE/AWB taramasını tamamlar BİRLEŞTİRİLMİŞ İyi değerler, değişmiyor
ARANIYOR HAL, AE taramasını tamamlar FLASH_GEREKLİ Birleşmiş ancak flaşsız olarak çok karanlık
ARANIYOR AE/AWB_LOCK açık KİLİTLENDİ Değerler kilitlendi
BİRLEŞTİRİLMİŞ HAL, AE/AWB taramasını başlatır ARANIYOR Değerler kilitlendi
BİRLEŞTİRİLMİŞ AE/AWB_LOCK açık KİLİTLENDİ Değerler kilitlendi
FLASH_GEREKLİ HAL, AE/AWB taramasını başlatır ARANIYOR Değerler kilitlendi
FLASH_GEREKLİ AE/AWB_LOCK açık KİLİTLENDİ Değerler kilitlendi
KİLİTLENDİ AE/AWB_LOCK kapalı ARANIYOR Kilit açıldıktan sonra değerler iyi değil
KİLİTLENDİ AE/AWB_LOCK kapalı BİRLEŞTİRİLMİŞ Kilit açıldıktan sonra değerler iyi
KİLİTLENDİ AE_LOCK kapalı FLASH_GEREKLİ Pozlama iyi ancak çok karanlık
Tüm AE durumları ÖNCEDEN_BAŞLANGIÇ ÖNCEKİ Önceden yakalama dizisini başlat
ÖNCEKİ Sıra tamamlandı, AE_LOCK kapalı BİRLEŞTİRİLMİŞ Yüksek kaliteli çekim için hazır
ÖNCEKİ Sıra tamamlandı, AE_LOCK açık KİLİTLENDİ Yüksek kaliteli çekim için hazır

Manuel kontrolü etkinleştir

Cihazın 3A bloklarının yapılandırılmasında kullanılan çeşitli kontroller de vardır: Doğrudan uygulama kontrolüne olanak tanır.

3A kontrolünün HAL modelinde, HAL her istek için durumu hakkında daha fazla bilgi edinin. Herhangi bir 3A rutini etkinleştirilirse bu rutini, söz konusu rutinle ilgili kontrol değişkenlerini geçersiz kılar ve bu geçersiz kılma değerleri, söz konusu sorgu için sonuç meta verilerinde yakalamanız gerekir. Örneğin, bir istekte otomatik pozlama etkinleştirilirse HAL pozlama, kazanç ve kare süresi alanlarının üzerine yazılmalıdır (ve (AE moduna bağlı olarak) onay kutusunu işaretleyebilirsiniz. İlgili içeriği oluşturmak için kullanılan aşağıdaki gibi ilgili kontrollerin listesidir:

Denetim adı Birim Notlar
android.control.mode numaralandırma: KAPALI, OTO, USE_SCENE_MODE Üst düzey 3A kontrolü. KAPALI değerine ayarlandığında, HAL'nin tüm 3A kontrolleri devre dışı bırakıldı. Uygulama, yakalama parametreleri için alanları ayarlamalıdır kendisi. OTOMATİK değerine ayarlandığında her bir algoritma android.control.afMode gibi bazı komut dosyaları kullanabilirsiniz. USE_SCENE_MODE olarak ayarlandığında android.control'deki bağımsız kontroller olur.* çoğu zaman devre dışıdır ve HAL, sahne modundan birini uygular (ACTION, SUNSET veya PARTY gibi) istediğiniz gibi ayarlayın.
android.control.afMode numaralandırma KAPALI, lensin manuel olarak kontrol edileceği anlamına gelir android.lens.focusLength öğesine odaklanıyoruz.
android.control.aeMode numaralandırma KAPALI, pozlama/kazanç/kare süresinin manuel olarak kontrol edileceği anlamına gelir android.sensor.exposureTime / .sensitivity / .frameDuration
android.control.awbMode numaralandırma KAPALI, beyaz dengesinin manuel olarak kontrol edileceği anlamına gelir.