Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Machine Translated by Google

elektronik

Madde
MIPI DSI Paketlerinden Rastgele Piksel Boyutlarına Düşük Maliyetli
Birleştirilmiş Piksel Dönüştürücü
Kiyong Kwon , Dongwon Kang, Geon-Woo Ko, Seok-Young Kim ve Seon-Wook Kim *

Elektrik ve Bilgisayar Mühendisliği Okulu, Kore Üniversitesi, Seul 02841, Kore;


handgear@korea.ac.kr (KK); dnjs3339@korea.ac.kr (DK); yunsuk977@korea.ac.kr (G.-WK);
tjrdud5136@korea.ac.kr (S.-YK)
* Yazışma: seon@korea.ac.kr; Tel.: +82-2-3290-3251

Özet: Yarı iletkenlerdeki ve görüntü işleme teknolojilerindeki ilerleme, özellikle mobil tüketici cihazlarında
görsel kaliteyi önemli ölçüde iyileştirmiştir. Cihazlar, yüksek çözünürlüklü ekranlarda çeşitli piksel formatlarını
desteklemek için düşük maliyetli ve yüksek bant genişliğine sahip bir arayüz gerektirir; bu nedenle, MIPI
Alliance endüstri standardı MIPI DSI'yi (Ekran Seri Arayüzü) önerdi. DSI Rx'in geleneksel uygulaması , paketi
DSI PHY giriş genişliğiyle hizalayarak ve ardından yükü piksellere dönüştürerek, gelen bir paketi başlık,
faydalı yük ve sağlama toplamı olmak üzere üç bileşene sınıflandırmıştır. İki aşamalı yaklaşımı, çeşitli
pikselleri desteklemek için yüksek uygulama maliyetleriyle sonuçlandı. Bu makale, her bir bileşeni
sınıflandıran ve giriş yükünü yalnızca bir adımda çeşitli piksel biçimlerine hizalayan, böylece daha az alan ve
daha düşük güç tüketimi ek yükü elde eden düşük maliyetli bir birleşik piksel dönüştürücü önermektedir .
Teklif için iki terim yeni tanıtıldı: bir taban ve bir kalan. Taban boyutu, DSİ PHY girişi ile aynıdır ve kalan kısım,
tabanlar hizalandıktan sonra dinlenmedir. Bir piksel boyutu, bir veya daha fazla tabanın toplamına ve
kalanına eşittir. Giriş, tabanın tam boyutu ve D-PHY girişi nedeniyle dönüştürücüyü çok basit bir şekilde
uygulamamızı sağlar. Ek olarak, yaklaşımımız , başlık boyutu temel boyuta eşit olduğundan, başlığı yükten
ayrı olarak ele almayı gerektirmez . Bu nedenle, başlık algılama birimi ortadan kaldırılarak karmaşıklık daha
da azaltılır. Önerilen tasarım, FPGA'da işlevsel olarak doğrulandı ve Samsung 65 nm standart hücre kitaplığı
Alıntı: Kwon, K.; Kang, D.; Ko,
aracılığıyla sentezlendi. Sentez sonucu , önerilen tasarımın geleneksel tasarıma göre alanda %25,7 ve güç
G.-W.; Kim, S.-Y.; Kim, S.-W.

Düşük Maliyetli Birleştirilmiş Piksel Dönüştürücü


tüketiminde %38,6 oranında azaldığını göstermiştir .
MIPI DSİ Paketlerinden

Keyfi Piksel Boyutları. Elektronik 2022, 11, 1221.

https://doi.org/10.3390/
elektronik11081221 Anahtar Kelimeler: MIPI DSİ; paket hizalama; tasarım optimizasyonu; enerji tüketimi

Akademik Editör: Maysam Abbod

Geliş: 11 Mart 2022

Kabul: 11 Nisan 2022 1. Giriş


Yayınlanma: 12 Nisan 2022
Gelişmiş yarı iletkenler ve görüntü işleme teknolojileri , tüketici cihazlarının görsel kalitesini
Yayıncının Notu: MDPI, yayınlanan haritalardaki önemli ölçüde iyileştirmiştir [1,2]. Özellikle akıllı telefonlar ve AR/VR (Artırılmış Gerçeklik ve Sanal
ve kurumsal bağlantıdaki yargı yetkisi iddiaları Gerçeklik) cihazları gibi mobil cihazların kalitesi her geçen gün önemli ölçüde artıyor. Çoğu akıllı
konusunda tarafsız kalır telefon şirketi , yüksek kaliteli görüntüler oluşturmak ve üretmek için megapiksel kameralar ve
imalar. yüksek çözünürlüklü ekranlar kullanır [2].
Benzer şekilde, AR/VR cihazları, gözlerin gördüğü ile beynin algıladığı arasındaki farkı azaltmak
için 120 fps (Saniyede Kare) veya daha yüksek yenileme hızlarında yüksek çözünürlüklü
görüntülere sahiptir .
Telif hakkı: © 2022 yazarlara aittir.
Daha yüksek görsel kalite, kamera gibi bir görüntü kaynağından üretilen, bilgi işlem
Lisans Sahibi MDPI, Basel, İsviçre.
cihazlarında işlenen ve görüntüleme cihazlarına hızlı bir şekilde teslim edilen daha fazla veriyi
Bu makale açık erişimli bir makaledir
içerir, bu nedenle yüksek hesaplama verimi ve bant genişliği gerektirir. Örneğin, geleneksel FHD
şartlar altında dağıtılır ve
(1080p, 60 fps, 24 bit RGB) ekran, 3,58 Gbps bant genişliği gerektirir ve yüksek çözünürlüklü bir
Creative Commons koşulları
UHD ekran (2160p, 60 fps) , geleneksel FHD'den dört kat daha büyük olan 14,33 Gbps gerektirir
Atıf (CC BY) lisansı ( https://creativecommons.org/
[ 3]. Daha fazla veri hareketi, iletim için daha fazla güç tüketimi anlamına gelir; bu nedenle,
licenses/by/
destekleyen, güç açısından verimli bir arabirim uygulamak önemlidir.
4.0/).

Elektronik 2022, 11, 1221. https://doi.org/10.3390/electronics11081221 https://www.mdpi.com/journal/electronics


Machine Translated by Google

Elektronik 2022, 11, 1221 2 / 12

bir mobil cihaz için yüksek bant genişliği. MIPI Alliance, 2006'dan beri bu amaç için endüstri
standardı MIPI DSI'yi (Ekran Seri Arayüzü) önermektedir [4] ve mobil, otomotiv ve multimedya
uygulamalarına geniş ölçüde uyarlanmıştır [5]. DSI, paket tabanlı bir seri arabirimdir ve yüksek
kullanılabilirliği nedeniyle bu arabirim üzerinde çeşitli çalışmalar [6-10] yapılmıştır: PHY katmanının
EMI etkisini azaltmak için bir karıştırma işlevi eklemek [8], IP'nin etkinliğini artırmak için DSİ ile
benzer bir yapı [9], mobil cihazların düşük güç taleplerini elde etmek için arabelleği yeniden
amaçlayarak alanı azaltarak [10] vb.

DSI Rx, DSI Tx kaynağından D-PHY [11] sinyalini alır, başlık, yük ve sağlama toplamını
tanımak için giriş paketinin kodunu çözer, yükünü piksellere göre hizalar ve bunları bir ekrana
iletir. Ekran çeşitli görüntü standartlarını desteklediğinden piksel hizalaması gereklidir . DSI Rx IP
genellikle hizalama için bu yazıda temel tasarım olarak adlandırılan iki sıra adımı kullanır: giriş
paketini tanıma ve D-PHY çıkış genişliğine hizalama ve ardından yükü piksellere hizalama. İki
aşamalı uygulama, ara sonucu depolamak için bir arabellek ve çeşitli bit genişlikli piksel
formatlarını desteklemek için büyük bir piksel arabelleği gerektirir, bu nedenle yüksek karmaşıklık
ile sonuçlanır.
Bu nedenle, bu makale, hepsini tek bir adımda işlemek ve böylece daha az alan ve daha
düşük güç tüketimi ek yükü elde etmek için birleşik bir piksel dönüştürücü önermektedir. Tasarım
için, bir başlık, bir yük ve bir sağlama toplamından oluşan bir yapı değil, bir veya daha fazla taban
ve bir geri kalandan oluşan bir paket düşünüyoruz. Taban boyutu, D-PHY giriş genişliği ile aynıdır
ve kalan kısım, tabanlar hizalandıktan sonra bırakılır. MIPI DSI'daki bir piksel, bir veya daha fazla
baz ve bir geri kalan olarak ifade edilebilir, yani, n × l + α bayt, burada n , baz sayısıdır , l , taban
boyutudur, yani dört ve geri kalan α (0 α < l). Piksel yönelimli yaklaşım olan sınıflandırmamız,
tabanın aynı boyutu ve D-PHY girişi nedeniyle dönüştürücüyü çok basit bir şekilde uygulamamızı
sağlar. Ek olarak, yaklaşımımız, başlık boyutu temel boyuta eşit olduğundan, bir paket başlığının
bir yükten ayrı olarak ele alınmasını gerektirmez . Bu nedenle, başlık algılama birimini ortadan
kaldırabilir, böylece karmaşıklığı daha da azaltabiliriz. Önerilen tasarım, FPGA ortamı aracılığıyla
doğrulandı ve Samsung 65nm standart hücre kitaplığı aracılığıyla sentezlendi. Sonuç olarak, temel
tasarımdan alanda %25,7 ve güç tüketiminde %38,6 azaltabildik. Bildiğimiz kadarıyla, piksel
hizalamasını hedefleyen herhangi bir çalışma yapılmadı ve bu, yükleri bir tabana ve geriye kalana
dayalı olarak sınıflandırma ve hizalamaya yönelik ilk girişimdir.

Bu belge şu şekilde organize edilmiştir: Bölüm 2 , MIPI DSİ standardını ve protokolünü


tanıtmaktadır ve Bölüm 3 , temel tasarımı açıklamaktadır. Bölüm 4 , birleşik piksel dönüştürücümüzü
önerir ve Bölüm 5 , önerilen tasarımın doğrulama ortamı ve performans analizi ile ilgilenir. Son
olarak, Bölüm 6'da sonuç çıkarılmıştır.

2. Arka Plan 2.1.


MIPI Ekran Seri Arayüzü
MIPI DSI [4] , bir mobil cihazın uygulama işlemcisi ile MIPI Alliance tarafından
kurulan bir ekran modülü arasında düşük güçlü ve yüksek performanslı bir arayüzdür.
Arayüz, akıllı telefonlar ve tabletler [5] gibi mobilden etkilenen pazar cihazlarına ve son
zamanlarda AR/VR cihazları [12] gibi giyilebilir cihazlara uyarlanmıştır.
Arayüzdeki bir işlem, bir veya daha fazla paketten oluşur. İki tür paket vardır: Şekil 1'de
gösterildiği gibi, arabirim yapılandırması için 4 baytlık kısa bir paket ve video veri iletimi için
değişken uzunluğu 6~65,541 bayt olan uzun bir paket.
Kısa paket, bir paket tipini gösteren 1 baytlık bir veri tanımlayıcısından (DI), 2 baytlık bir veriden
ve hata düzeltme için 1 baytlık bir ECC'den oluşur. Uzun paket, 4 baytlık bir başlık (1 baytlık DI, 2
baytlık kelime sayısı, kısa paket gibi 1 baytlık bir ECC), 0~65,535 baytlık veri yükü ve 2 baytlık bir
başlıktan oluşur. veri yükü için bir sağlama toplamı için bayt altbilgisi. Kelime sayısı , bir paketin
bir görüntüleme için video verilerini içerdiği bayt cinsinden yük boyutunu belirtir. Senkronizasyon
zamanlaması için vsync (dikey senkronizasyon) ve hync (yatay senkronizasyon) gibi kısa bir paket
veya dahili kayıt kontrolü için bir R/W komutu kullanılır. Bu arada, piksel akışı verileri veya dikey/
yatay boşluk için değişken uzunluklu bir yükü yükleyebilen uzun bir paket kullanılır.
Machine Translated by Google

Elektronik 2022, 11, 1221 3 / 12

Bir görüntünün çıktısını almak için, görüntüye ek olarak periyodik olarak bir senkron sinyali iletilmelidir.
veri. Örneğin, bir yatay video hattının bir karesini ilettikten sonra hsync,
sinyal iletilmelidir. Bu gereksinimlere yanıt olarak, ev sahibi oluşturur ve
piksel akışı için uzun bir paket ile hsync için kısa bir paketin bir karışımını iletir.

Şekil 1. Kısa ve uzun paket yapısı [4].

2.2. MIPI DSI Standart Piksel Formatları

MIPI DSI standardı, RGB ve YCbCr'nin birkaç piksel biçimini tanımlar ve Tablo 1
onları piksel ve bayt hizalama bilgileriyle gösterir.

Tablo 1. MIPI DSI standart piksel biçimleri [4].

Piksel Biçimi Çoklu Piksel Hizalama


30-bit RGB formatı 15 bayt/4 piksel
20-bit YCbCr 4:2:2 formatı (Gevşek Paketlenmiş) 3 bayt/1 piksel
24-bit YCbCr 4:2:2 formatı 16-bit 3 bayt/1 piksel
YCbCr 4:2:2 formatı 16-bit RGB 2 bayt/1 piksel
formatı 36-bit RGB formatı 12 2 bayt/1 piksel
-bit YCbCr 4:2:0 formatı 18-bit 9 bayt/2 piksel
RGB formatı 18-bit RGB formatı 3 bayt/2 piksel
(Gevşek Paketlenmiş) 24-bit RGB 9 bayt/4 piksel
formatı 3 bayt/1 piksel
3 bayt/1 piksel

Tabloda gösterildiği gibi, 18 bit gibi bazı biçimlerde bir piksel bayt hizalı değildir
RGB ve 36 bit RGB; bu nedenle, biçimlerde birden çok pikselin bir araya getirilmesi gerekir
(çoklu piksel hizalı veri) bir görüntüleme modülüne teslim edilmek üzere. Şekil 2 , bir
R gruplarından oluşan paketlenmiş 18 bit RGB piksel formatı için uzun paket iletimi,
18 bit pikseller için G ve B 6 bit verileri. DSI Rx, bir ekrana bir seferde 4 piksel gönderir, yani,
9 bayt (4 piksel × (18 bit/piksel)/(bayt/8 bit)). Şu andan itibaren, çoklu piksel hizalı
Tablo 1'de tanımlanan verilere "piksel" adı verilir.

Şekil 2. 18-bit RGB formatının paketlenmiş piksel akışı [4].

2.3. Alakalı iş

MPEG2 hizalaması ile ilgili bir çalışma vardır [13]. Bu çalışmada sıkıştırılmış değişken
uzunluktaki paketler 1 bayt veya 4 bayt birimler halinde işlenmelidir. Başlığı sabitleme noktası
Machine Translated by Google

Elektronik 2022, 11, 1221 4 / 12

hizalama yoluyla ayrıştırma konumu, çalışmamızdakiyle aynıdır. Ancak, giriş şeridine


göre hizalamadan sonra bir sonraki adım (ses veya video veri işleme veya açma
işlemi için hizalama) kapsanmaz. Araştırmamız , çeşitli boyutların şerit hizalamasını
ve piksel biçimi hizalamasını aynı anda gerçekleştirebilen ve iki adımlı hizalama veya
iki ayrı işlem birimi gerektiren mevcut yapıya kıyasla ek yükü önemli ölçüde azaltan
birleşik bir piksel dönüştürücü önermektedir .
MIPI IP'leri arasında bir IP, bayt verilerini CSI veya DSI arayüzü için piksellere hizalar [14].
Bu IP, şerit sayısına göre DSI durumunda RGB666 ve RGB888 formatına ve CSI durumunda 8 bit,
10 bit, RAW12 ve RGB888 formatına piksel dönüşümü gerçekleştirir . Araştırmamız, 30 bit RGB
dahil olmak üzere DSİ standardında tanımlanan tüm formatları hedefliyor ve etkili bir hizalama
yöntemiyle DSİ IP'yi düşük alan yükü ile uyguluyor .

3. Temel Bir Tasarım


DSI protokolünde, bir ana bilgisayar, Bölüm 2.1'de açıklandığı gibi, 4 baytlık kısa paketleri ve
64 KB'ye kadar değişken uzunluktaki uzun paketleri karıştırarak bir işlem yapar. Mevcut paket
değişken uzunluklu yüke sahip uzun bir paket olduğunda, bir sonraki gelen paket 4 baytlık D-PHY
girişinin herhangi bir konumunda başlayabilir. Bu nedenle, başlığını, yükünü ve sağlama toplamını
doğru bir şekilde tanımak ve hizalanmış pikselleri bir ekrana göndermek için, gelen bir paketin
başlangıç konumu dikkatli bir şekilde tanımlanmalı ve önceki paketlerin yük boyutları tarafından
dinamik olarak değiştirilmelidir.
Paket hizalamasını işlemek için bir temel tasarım, Şekil 3'te gösterilmektedir ve üç
bileşenden oluşur: bir paket hizalayıcı, bir komut kod çözücü ve bir piksel hizalayıcı. Paket
hizalayıcı, D-PHY girişlerini 4 baytlık birimler halinde hizalar. Ardından, hizalanmış girişi
kullanarak komut kod çözücü, yükün piksel biçimini tanımak ve bunu piksel hizalayıcıya
sağlamak için başlığın kodunu çözer ve 4 baytlık hizalanmış yükü ekran için pikseller halinde yeniden d

Şekil 3. Bir temel tasarım. Gri kutular arabellekleri temsil eder.

Paket hizalayıcı, gelen bir paketi 4 baytlık hizalanmış bir başlık, yük ve sağlama toplamı
olarak sınıflandırır. Hizalayıcı, iki adet 4 baytlık giriş arabelleği (cur_ibuf ve prev_ibuf), iki adet
Machine Translated by Google

Elektronik 2022, 11, 1221 5 / 12

4 baytlık çıktı arabellekleri (header_obuf ve payload_obuf) ve iki seçme çoklayıcı (bir başlık
seçici ve bir yük seçici). Her döngüde, D-PHY'den gelen yeni 4 baytlık veri mevcut giriş ara
belleğine (cur_ibuf) girilir ve mevcut giriş ara belleğinde depolanan 4 baytlık veri önceki
giriş arabelleğine (prev_ibuf) taşınır, böylece iki seçiciler iki döngü, yani 8 baytlık giriş
verilerini işler. Başlık seçici, 8 baytlık iki giriş arabelleğinden 4 baytlık bir başlık seçer,
böylece seçilen başlığı başlık çıkış arabelleğine (header_obuf) kaydeder, isteğe bağlı olarak
ECC düzeltme modülünün depolamadan önce hata algılama ve düzeltme yapmasını
sağlar. Yük seçici, iki giriş arabelleğinden 8 baytlık girişten 4 baytlık bir yük seçer ve bunu
yük çıkış arabelleğine (payload_obuf) depolar.
Şekil 4 , faydalı yük seçicinin iki giriş tamponundan 4 baytı nasıl seçtiğini ve iki tamponun ,
4 baytlık hizalama için faydalı yük seçicinin seçim değeri olan payload_pos değeri
tarafından sağa kaydırıldığını gösterir .
Başlık seçici, faydalı yük ile aynı tasarıma sahiptir. Başlık seçicinin seçim değeri
olan header_pos değeri, bir işlem başladığında başlangıçta sıfıra ayarlanır ( işlem,
standarda göre şerit sıfırdan başlar) ve önceki paket boyutlarına göre değişir. Bir
paket uzunluğu başlığın, yükün ve sağlama toplamının toplamı olduğundan, mevcut
bir paket i'den sonraki i + 1 paketinin başlık konumu aşağıdaki gibi ifade edilebilir,
burada l bayt ve s cinsinden girdi boyutudur. (·) (·) boyutunu temsil eder :

header_posi+1
= {header_posi + s(packeti)} mod l =
{header_posi + s(headeri) + s(payloadi)
+s(checksumi)} mod l (1)
= {header_posi + s(payloadi) mod l + 2} mod l (2)

Şekil 4. İki giriş tamponundan 4 bayt seçerek , payload_pos değişkenine göre temel tasarımdaki faydalı yük
seçicinin davranışı .

Başlık boyutu tüm paketler için D-PHY giriş boyutu l ile aynı olduğundan Denklem (1)
Denklem (2) 'ye kısaltılabilir . Ek olarak, Denklem (2) , payload_pos'un header_pos'a eşit
olduğunu ve mevcut i paketi içinde değişmediğini belirtir.
Piksel hizalayıcı, bir demultiplexer (bir piksel seçici) ve pixel_obuf adı verilen 60 baytlık
bir piksel çıkış tamponundan oluşur. Piksel seçici , sıfırdan başlayıp her piksel formatı
tarafından önceden tanımlanan değere ulaşana kadar bir artan seçicinin seçim değerine,
pixel_obuf_pos'a bağlı olarak, hizalanmış 4 baytlık bir girdi yükünü pixel_obuf'a yerleştirir.
Örneğin, piksel boyutu 12 bayt ise, pixel_obuf_pos sıfırdan ikiye kadar değerlere sahiptir. Biçim
kod çözücü, maksimum pixel_obuf_pos değerini sağlar ve giriş yükü, çıkış arabelleğinin 4 baytlık
LSB'sinden depolanır.
pixel_obuf'un hem Tablo 1'de gösterilen piksel boyutlarına (çoklu piksel hizalı boyutlar) hem
de giriş yükü birimine (4 bayt) hizalanması gerektiğinden, çıktı arabelleği boyutu olarak 60 bayt
kullandık, en küçük ortak kat. en kötü durum tasarımı. Şundan kaynaklanır:
Machine Translated by Google

Elektronik 2022, 11, 1221 6 / 12

30 bit RGB formatından 15 bayt çoklu piksel hizalama boyutu durumunda. Bu durumda,
pixel_obuf_pos değeri 0'dan 14'e kadar tekrar eder. Bu nedenle, en kötü durum tasarımı, büyük
bir çıktı tamponu ve bir piksel seçici gerektiren piksel hizalayıcıyı karmaşık hale getirir.
Temel tasarımın eksiklikleri vardır: (1) Önemli bir ek yüke neden olan iki bağımsız hizalama
gereklidir. (2) Farklı piksel formatı, farklı bir piksel hizalaması gerektirir, dolayısıyla her piksel
formatına karşılık gelen bir devre gerektirir. Birden çok piksel biçimini desteklemek için tasarım
esnekliğini kaybeder. Esnekliği desteklemek için, en büyük boyutlu piksel hizalama tasarımı, en
kötü durum için düşünülmelidir [14].

4. Teklifimiz: Birleşik Piksel Dönüştürücü 4.1.


Genel Tasarım Temel tasarım, bir paketi bir
başlık, bir yük ve bir sağlama toplamı olarak sınıflandırır; birleşik piksel dönüştürücümüz
bunu bir veya daha fazla taban ve kalan olarak yapar. Arayüz giriş boyutu, temel boyutu (burada,
D-PHY şeritlerinin sayısı, l, yani dört) ve kalan boyutu (sıfır ile taban 1 bayt, yani α arasında)
belirler. Bu şekilde, herhangi bir veri boyutunu n 1, 0 α < l olduğunda l × n + α bayt olarak
temsil edebiliriz . Bu nedenle tasarımımız her boyutta piksel biçimini destekleyebilir. Daha büyük
pikselleri desteklemek için yalnızca n değerini artırmamız gerekir. 4n'yi n 4 baytlık bazlar ve α'yı
geri kalan olarak adlandırırız . Örneğin, 15 baytlık bir piksel, üç adet 4 baytlık tabandan ve 3
baytlık bir kalandan oluşur.
Temel ve kalan sınıflandırmamız , temel tasarımdan çok daha küçük piksel çıkış
arabelleği ile yeterli olan kolay piksel hizalamasına olanak tanır . Ayrıca, başlık ayrıca
4 bayt olduğundan, tabanla aynı boyutta olduğundan ve yük başlığı takip ettiğinden,
bir taban seçici hem başlığı hem de faydalı yük tabanlarını işleyebilir. Bu özellik ,
başlık seçimi için başlık hizalama mantığını ortadan kaldırır.
Şekil 5 , birleşik piksel dönüştürücümüzü göstermektedir. D-PHY'den gelen girdileri taban
çizgisiyle aynı olmak üzere iki döngü için depolamak için cur_ibuf ve prev_ibuf olmak üzere iki
girdi tamponu vardır . İki çıktı tamponu, bir başlık çıktı tamponu (header_obuf) ve bir piksel çıktı
tamponu (pixel_obuf) , sırasıyla bir başlık ve bir piksel depolar. Piksel çıktı arabelleği, hizalanacak
maksimum piksel boyutunu kullanan 4 ila 4n + 3 baytlık bir boyuta sahiptir. Bu yazıda, boyutu ,
temel tasarımda 60 bayttan çok daha az olan Tablo 1'de gösterilen standardın kapsadığı en büyük
piksel boyutu olan 15 bayt olarak belirledik. Ek olarak, üç seçici vardır: temel seçici , iki giriş
tamponundan başlığı ve 4 baytlık bazları (4n) seçer, kalan seçici kalanı (α) seçer ve temel piksel
seçici, seçilen tabanı pixel_obuf'un uygun konumu .

Şekil 5. Birleşik piksel dönüştürücümüz ve bir komut kod çözücümüz. Gri kutu bir arabelleği temsil eder.
Machine Translated by Google

Elektronik 2022, 11, 1221 7 / 12

15 bayttan büyük pikselleri desteklememiz gerektiğinde bile, tasarımımız hizalama birimini


değiştirmeyerek ve yalnızca en büyük pikselin boyutuna eşit bir çıktı arabelleğini destekleyerek
taban çizgisinden yararlanabilir. Birden çok asal sayı boyutunda piksel içeren bir piksel kümesini
desteklemek istediğimizi varsayalım. Tasarımımız , setin konfigürasyonundan bağımsız olarak
yalnızca en büyük piksel boyutu arabelleğine ihtiyaç duyar . Öte yandan, temel, çıktı arabelleğinin
en küçük ortak katları ile aynı boyutta, maksimum boyutlu piksellerden çok daha büyük ve daha
büyük piksel seçici çoklayıcılara ihtiyaç duyar.

4.2. Yük ve Piksel Hizalamaları için Seçiciler Bu


bölüm, taban, kalan ve taban piksel seçicilerinin konum değerleriyle nasıl
çalıştığını açıklar.
Şekil 6 , hizalanmış üç tabanı ve bir kalanı saklayan 15 baytlık piksel çıkış arabelleği olan
pixel_obuf'u gösterir. Uygulamamızı basitleştirmek için, çıktı pikseli tamponunun üç MSB'sini,
geri kalanı için cur_ibuf tamponu ile ve çıktı pikseli tamponunun geri kalanını bir ve daha
fazla baz için prev_ibuf tamponu ile hizalıyoruz. Bir çoğullama çözücü olan temel piksel
seçici, tabanları pixel_obuf_pos değeriyle pixel_obuf'a depolar. Geri kalan cur_ibuf içinde
hizalandığından, kalan doğrudan piksel çıkış arabelleğinin en önemli 3 baytına gider, yani
(pixel_obuf[14:12), böylece kalan için herhangi bir seçiciye ihtiyaç duymaz. Bu, optimizasyon
için benzersiz yaklaşımımızdır, yani çıktı arabelleğine hatırlatma için çoklayıcıyı ortadan
kaldırır. α'ya, yani kalan baytlara bağlı olarak, bir görüntüleme motoru kalan üç bayttan
bazılarını yok sayabilir. Tabanlar, şekilde gösterildiği gibi kalan konuma göre hizalanır . Bu
nedenle, pixel_obu f _pos , 0 i < n olduğunda i. taban için i + (3 n) olur . Üç sayısı ,
arabellekte saklanabilecek baz sayısını temsil eder.

Şekil 6. cur_ibuf ve prev_ibuf tamponları ile hizalanan ve n'ye bağlı olarak temel konumları
gösteren pixel_obuf çıktı piksel tamponu.

Şekil 7a, n = 2 ve α = 2 olduğunda base_pos ve rem_pos tarafından iki giriş


tamponundan bazların ve kalanının nasıl seçileceğini gösterir . Şekil, kalan tüm yük
baytlarının cur_ibuf'ta mevcut olduğu basit bir durumu göstermektedir. Taban ve
geri kalan seçiciler, iki girdi arabelleğinin verilerini aynı miktarda base_pos ve
rem_pos ile sağa kaydırır, sırasıyla önceki_ibuf konumunda hizalanmış 4 baytlık
b7b6b5b4'ü ve cur_ibuf konumunda hizalanmış 2 baytlık kalan r1r0'ı üretir . Taban
ve kalan seçiciler, bir varil kaydırıcı kullanılarak uygulanabilir.
Machine Translated by Google

Elektronik 2022, 11, 1221 8 / 12

!"#

!"#

Şekil 7. n = 2 ve α = 2 olduğunda iki giriş arabelleği işlemi örneği. Gri baytlar, geçerli bir yükü
temsil eder. (a) Geri kalan tüm yük baytlarının cur_ibuf içinde mevcut olduğu basit bir durum.
(b) Geri kalan tüm yük baytlarının cur_ibuf'ta mevcut olmadığı zor bir durum.

Şekil 7b, geri kalan tüm faydalı yük baytlarının t döngüsünde cur_ibuf içinde mevcut
olmadığı zor bir durumu göstermektedir. İkinci tabanı, b7b6b5b4'ü t döngüsünde ve geri kalanını
bir sonraki döngü olan t + 1'de seçiyoruz . bu nedenle, kalanı seçmek için base_pos l ile sağa
kaydırmaya ihtiyacımız var. Negatif bir sayı, sola kaydırma anlamına gelir. N/A konumunda, ilgili
seçicinin değerinin kullanılmadığı anlamına gelir.

4.3. Seçici Konumlarının Hesaplanması


Bir işlemin i. paketinin, j. pikselinin ve k. tabanının temel konumu, Denklem (2) kullanılarak
aşağıdaki şekilde ifade edilir :

base_pos (i,
j, k) = {header_posi + (l × n + α) j + l × k} mod
l = {header_posi + α × j} mod l (3)

Denklem (3)' ten, base_pos'un bir piksel içinde değişmediğini, ancak bir sonraki piksel
için kalan α kadar arttığını biliyoruz . base_pos, 2 bitlik toplayıcılar kullanılarak kolayca
uygulanabilir çünkü l = 4 olduğunda işlem sonucunun yalnızca alt 2 bitinin alınması gerekir .
Başlangıçta, header_pos(0) = 0. Ardından, Denklem (2) ve (3) 'ten ve bir paketteki N
piksel için ,
header_pos(i+1) = (header_pos(i) + N × α + 2) mod l (N (4)

× α) mod l , başlıktan[9:8] (kelime sayısı en az anlamlı 2 bit) elde edilir. Bu nedenle, sonraki
paket hizalaması için header_pos'a sadece 2 ve header[9:8] eklememiz gerekiyor.
Machine Translated by Google

Elektronik 2022, 11, 1221 9 / 12

Kalan seçiciyi kontrol etmeyi Şekil 7'de zaten tartışmıştık. Zor durum base_pos + α > l'yi
gerektirir. Bu nedenle, kalan seçicinin seçim değeri, rem_pos, olur:

(5)
aksi durumda.
base_pos l ise base_pos
rem_pos = ( base_pos +α>l

Her piksel için base_pos + α hesaplıyoruz , böylece hesaplama için herhangi bir ek kaynağa
ihtiyaç duymuyoruz .
i. taban için, pixel_obu f _pos , 0 i < n olduğunda i + (3 n) olur . n'nin değeri
bir sabittir, bu nedenle pixel_obu f _pos için bir sayaç ilk taban için 3 - n olarak başlatılır.

4.4. Piksel Hizalama Örneği


Şekil 8 , 15 bayt piksellerin sürekli olarak iletildiği bir paketin ilk bölümünü göstermektedir.
İki piksel art arda iletildiğinde her bir seçicinin ve pixel_obuf döngüsünün çalışmasını temsil eder .
Piksel boyutu 15 bayt (n = 3, α = 3) olduğundan, pixel_obuf'u doldurmak için 4 baytlık tabanı üç
kez ve 3 baytlık bir kalanı bir kez seçmemiz gerekiyor.

Bölüm 2.2'de olduğu gibi , DSİ IP çeşitli piksel formatlarını destekler, dolayısıyla çıktı piksel
boyutu da değişir. Bu nedenle, DSİ IP'sinden gelen piksel çıkışı belirli bir sabit noktaya hizalanmalıdır.
Örneğin, boyuta bağlı olarak en önemsiz bayta göre sıralama veya en önemli bayta göre sıralama
yapılabilir. Bu yazıda, donanımın basitliği için kalan konumu sabitlemeyi uyguladık. Gerekirse,
hatırlatıcı için ek bir büyük boyutlu çoklayıcı ile pikselleri en önemsiz bayttan hizalayan bir temel
piksel seçici kullanmak mümkündür. Çoklayıcı, Tablo 1'deki 6 bayt, 9 bayt ve 15 bayt çoklu
piksellerin kalanlarını sırasıyla çıkış tamponunun [6:5], [8] ve [14:12]'de saklar.

"

"

$ "

' "

%&

Şekil 8. 9 bayt piksel verili bir örnek (n = 3, α = 3).

Başlangıçta base_pos değeri sıfıra ayarlanır. Bundan sonra, base_pos, Denklem (3) ile her
piksel için (çünkü α = 3) üçer artırılır. Birinci döngüde, base_pos sıfırdır; buna göre, seçilen 4
baytlık taban grileşir. Bu seçili taban, pixel_obuf'u pixel_obuf_pos'a göre doldurur . Pixel_obuf_pos,
3 - n'den 2'ye 1 artar ve her piksel için tekrarlanır.
Çeşitli piksel boyutları işlenirken, kalanın konumunun sabitlenmesi ve temel başlangıç konumunun
ayarlanması, geri kalan için ek mux gerektirmeyen avantaja sahiptir. Kalan, üçüncü döngüde
taban ile aynı anda seçilir ve pixel_obuf'u doldurur. rem_pos, Denklem (5) ile aynı base_pos
değerine sahiptir. İlk piksel
Machine Translated by Google

Elektronik 2022, 11, 1221 10 / 12

kalanın cur_ibuf'ta mevcut olduğundan, kalanın aynı döngüde son tabanla pixel_obuf'u
doldurduğu basit durum. İkinci piksel, geri kalanın cur_ibuf'ta mevcut olmadığından, son
tabandan sonraki döngüde kalanın pixel_obuf'u doldurduğu zor durumdur .

5. Tasarım Doğrulama ve Performans Analizi Bu


bölüm, önerilen tasarımın FPGA üzerinde işlevsel doğrulamasını ve 65 nm standart
kitaplığı kullanarak, alan ve güç tüketimi açısından temel tasarımla karşılaştırmak için sentez
sonuçlarını gösterir.

5.1. FPGA Tabanlı Tasarım Doğrulaması ve Kaynak Kullanımı


FPGA doğrulaması için deney ortamı Şekil 9a'da gösterilmiştir. DGnT'den D-PHY sinyal
oluşturucuyu [15] ve bir ekranı Xilinx Zynq UltraScale+ MPSoC değerlendirme platformuna [16]
bağlayarak ortamı yapılandırdık. D-PHY sinyal üretecinin sinyalini önerilen tasarımın uygulandığı
bir DSI girişine, DSI Rx IP'ye dönüştüren Xilinx D -PHY Rx IP [17] ve pikselleri görüntülemek için
bir HDMI çıkış IP'yi uyguladık. FPGA'da görüntülenen yük. Sinyal üreteci 1080p@60 fps'lik bir test
modeli oluşturdu ve DSI IP'si 112 MHz'de çalıştı. Çapraz tarama, kontrol tahtası ve yatay/dikey
RGB desenlerini test ettik. Şekil 9b , HDMI monitördeki yatay RGB düzenini gösterir .

"

Şekil 9. FPGA üzerinde doğrulama kurulumu. (a) Bir blok diyagram. (b) Bir sinyal üretecinden gelen bir test
girişi kullanılarak görüntülenen çıktı .

5.2. Sentez Sonucu


Alan ve güç analizi için sentezi 65 nm standart kitaplığı kullanarak 1.08 V çalışma
voltajında ve %10 geçiş hızında gerçekleştirdik. Çalışma frekansı , her iki tasarım için de
400 MHz idi; bu, UHD (3840 × 2160) @ 60 fps'ye kadar destekleyebilecek yeterli bir çalışma
hızıdır . Ayrıca, yüksek çözünürlüklü ekranlar söz konusu olduğunda, genellikle alanları
bölerek çoklu Rx IP'leri kullanılır [18], bu nedenle teklifimizin ticari ürünlere uygulanmasında
herhangi bir sorun yoktur.
Tablo 2 , mevcut durumun DSİ IP'sinin alanını önerilen tasarımla karşılaştırmaktadır. Her
ikisi de sentez için aynı LP (düşük güç) Tx ve Rx modüllerini kullandı ve kısa paketle konfigürasyon
kayıtlarını ayarladı. HS (yüksek hız) Rx, Şekil 3'teki temel tasarımı ve Şekil 5'teki birleşik piksel
dönüştürücümüzü temsil eder . Önerilen tasarım, taban çizgisine kıyasla önemli bir alan azalması
gösterdi: HS Rx'de %34,2 ve toplamda %25,7.
Machine Translated by Google

Elektronik 2022, 11, 1221 11 / 12

Tablo 3 , Tablo 2'yi açıklayarak her tasarımın ana bileşenlerini karşılaştırır. Her
iki tasarım da üç ana bölüme ayrılabilir: iki girdi tamponu, iki seçici ve çıktı.
çoklayıcılar ve arabelleklerle hizalama mantığı. Tasarımımız çıktıyı önemli ölçüde azalttı
piksel hizalaması için küçük çıktı arabelleğinden ve küçük çoklayıcıdan hizalama.

Tablo 2. Alan karşılaştırması (um2 ).

Birleşik Pikselimiz
Alan taban çizgisi Kesinti
Dönüştürücü

HS Rx 15.780.16 10,384,96 %34.2


LP Rx 3532.48 3532,48 %0.0
LP Tx 1702.40 1693.12 %0.6
Toplam 21.015.04 15.610.56 %25.7

Tablo 3. Bileşen yapılandırması.

Giriş Arabelleği Seçici Mantık Piksel Çıkış Mantığı


taban çizgisi 4 bayt arabellek ×2 4'e 1 mux (4 bayt) ×2 60 bayt arabellek 1 ila 15 çok ×1
sayıda (4 bayt) ×1
bizim birleşik 4 bayt arabellek ×2 4'e 1 mux (4 bayt) ×1 15 bayt arabellek ×1
Piksel Dönüştürücü 5'e 1 çok işlevli (3 bayt) ×1 1'e 3 çok işlevli (4 bayt) ×1

Tablo 4 , her iki tasarımda ve tasarımımızda dinamik gücün toplam güç tüketimine hakim
olduğunu gösteren genel güç tüketiminin sonuçlarını göstermektedir.
temel tasarımdan %38,6 azaltıldı. Piksel için mantık boyutunun büyük ölçüde azaltılması
hizalama dinamik güçte önemli bir azalmaya neden olur.

Tablo 4. Güç tüketimi karşılaştırması (mW).

taban çizgisi Birleşik Piksel Dönüştürücümüz Kesinti

Toplam Dinamik Güç 5.392 Toplam Dinamik Güç 3.312 Hücre Dahili %38.6
3.263 5.341 Hücre Dahili %38.9
Ağ Anahtarlama 0.051 Net Anahtarlama 0.049 %3.7
Hücre kaçağı Güç 0.016 Hücre sızıntısı Güç 5.408 0.012 %25.1
Toplam Toplam 3.323 %38.6

6. Sonuçlar

Bir mobil ortamda çevre birimlerini görüntülemek için aktarılan veri miktarı olarak
arttıkça, arayüzün düşük güç tüketimi ile yüksek bant genişliği gerekli hale gelir.
MIPI Alliance, bu amaç için endüstri standardı MIPI DSİ'yi önermektedir.
Ekran, kullanıcının esnekliği için mümkün olduğunca çok piksel biçimini desteklemelidir,
ancak paketleri piksellere dönüştürmek için uygulama yüküne neden olur.
Bu yazıda, karmaşıklığı azaltmak için düşük maliyetli bir birleşik piksel dönüştürücü önerdik.
paketleri bir başlık yerine bir tabana ve kalana göre sınıflandırarak geleneksel tasarımın
ve bir yük. Bu konsept, piksel çıkışı için hizalama sürecini önemli ölçüde azaltır,
yanıt verirken düşük donanım ek yükü ile DSI IP'leri oluşturmayı mümkün kılmak
çeşitli piksel biçimleri. Birleşik piksel dönüştürücü tasarımımız çeşitli giriş boyutlarını destekleyebilir
ve taban ve geri kalan konsept aracılığıyla çıktı boyutları. Bu nedenle yaklaşımımız
farklı sayıda şerit içeren diğer birçok arabirime daha da genişletilebilir (yani, 1'den
PCIe [19] üzerinde 32 şerit ) veya hizalanacak farklı veri boyutlarına sahip standartlar (yani, 188 bayt
MPEG-2 Aktarım Akışı [20] tarafından kullanılan sabit uzunluklu paketler ). Önerilen DSİ IP
FPGA'da işlevsel olarak doğrulandı ve Samsung 65 nm işlem standardı ile sentezlendi
kütüphane [21] ve Synopsys Design Compiler [22] ,
alan ve güç tüketiminde %38,6.
Machine Translated by Google

Elektronik 2022, 11, 1221 12 / 12

Yazar Katkıları: KK, bu makalenin araştırmasını ağırlıklı olarak gerçekleştirmiştir; DK, G.-WK, S.-YK ve S.-WK
araştırmalarını farklı şekillerde desteklemiştir. Ayrıca S.-WK bu projeye öncülük etmiştir ve bu nedenle bu
araştırma ve yayından sorumludur. Tüm yazarlar , makalenin yayınlanan versiyonunu okudu ve kabul etti.

Finansman: Bu çalışma, MOTIE/KEIT'in [proje No. 20004545, Yüksek Parlaklıklı 2000PPI MicroLED Arka Panel
ve AR Cihazları için Modül Geliştirme] ITECH Ar-Ge programı tarafından desteklenmiştir ve EDA Aracı,
Kore'deki IC Tasarım Eğitim Merkezi (IDEC) tarafından desteklenmiştir.
Çıkar Çatışmaları: Yazarlar herhangi bir çıkar çatışması beyan etmemektedir.

Referanslar
1. Cooper, W.; Farrell, S. Çözünürlük Devrimi: Gerçekten Kaç Bit'e İhtiyacımız Var? SMPTE Motion Imaging J. 2017, 126, 1–8.
[Çapraz Referans]

2. Blahnik, V.; Schindelbeck, O. Akıllı telefon görüntüleme teknolojisi ve uygulamaları. reklam Seçenek Teknoloji. 2021, 10, 145-232.
[Çapraz Referans]

3. Legault, A. VESA Görüntü Akışı Sıkıştırma ile Daha Yüksek Çözünürlüklü Ekranlar Oluşturun. MIPI DevCon 2017 Proceedings of the MIPI DevCon
2017, Bangalore, Hindistan, 27 Ekim 2017. Çevrimiçi olarak erişilebilir: https://www.mipi.org/sites/default/files/Hsinchu-Hardent-Create
Daha Yüksek Çözünürlüklü Ekranlar.pdf (10 Kasım 2021'de erişildi).
4. MIPI Alliance, Inc. Ekran Seri Arabirimi (DSI) Spesifikasyonu, Sürüm 1.2. 2014. Çevrimiçi olarak erişilebilir: https://www.mipi.org/ düğüm/627 (6
Mart 2022'de erişildi).
5. MIPI Ekran Seri Arayüzü (MIPI DSI). Çevrimiçi olarak erişilebilir: https://www.mipi.org/specations/dsi (13 Eylül'de erişildi
2021).
6. Novatek Microelectronics Corp. MIPI Sinyal Alma Aparatı ve Yöntemi. ABD Patenti 09,077,505, 7 Temmuz 2015.
7. Samsung Electronics Co., Ltd. Çoklu Bayt Paketleme için Çip Üzerinde Sistem ve Aynısı Dahil Veri İşleme Sistemi.
ABD Patenti 10,621,136, 14 Nisan 2020.
8. Qualcomm Anonim Şirketi. MIPI CSI-2 C-PHY için Alternatif Sözde Rastgele İkili Dizi Tohumları. PCT/US2016/050001. BİZ
Patent 15/253,020, 27 Nisan 2017.
9. Shin, G.-W.; Lee, C.-K.; Lee, Y.-H. Mobil Cihazlar İçin Hem Kamerayı Hem Ekranı Destekleyen Bir Arayüzün Donanım Tasarımı.
2015 4. Uluslararası Modelleme ve Simülasyon Konferansı (MAS), Jeju Adası, Kore, 25–28 Kasım 2015 Bildiriler Kitabında; s. 17–20. [Çapraz
Referans]
10. Samsung Electronics Co., Ltd. Paket Verici ve Aynısı Dahil Arayüz Aygıtı. 1.021.950.690.000, 24 Aralık
2020.
11. MIPI D-PHY. Çevrimiçi olarak erişilebilir: https://www.mipi.org/specations/d-phy (2 Mart 2022'de erişildi).
12. Rodriguez, M. Yüksek Performanslı VR Uygulamaları, MIPI DSI ile Yüksek Çözünürlüklü Ekranlar Sürüyor. Proceedings of the MIPI DevCon
2018, Seul, Kore, 19 Ekim 2018. Çevrimiçi olarak erişilebilir: https://www.mipi.org/sites/default/files/2018-MIPI-DevCon Rodriguez-Analogix-
Yüksek Performanslı-VR-Apps.pdf (1 Aralık 2021'de erişildi).
13. Mladenov, TM; Mücahid, FA; Jung, E.; Har, D. Veri Hizalama Mekanizması ile Yüksek Veri Hızlı Akış Ayrıştırmanın Uygulanması.
2006 IEEE Uluslararası Sinyal İşleme ve Bilgi Teknolojisi Sempozyumu Tutanakları'nda, Vancouver, BC, Kanada, 27-30 Ağustos 2006; s.
697-701. [Çapraz Referans]
14. Bayt-Piksel Dönüştürücü IP. Çevrimiçi olarak erişilebilir: https://www.latticesemi.com/-/media/LatticeSemi/Documents/UserManuals/
1D2 / FPGA-IPUG-02027.ashx? Document_id = 52142 (6 Mart 2022'de erişildi).
15. DGnT Co., Ltd. MIPI Model Oluşturucu. Çevrimiçi olarak erişilebilir: http://www.dgnte.com (8 Mart 2022'de erişildi).
16. Xilinx. Zynq UltraScale+ MPSoC Veri Sayfası: Genel Bakış (DS891). Çevrimiçi olarak erişilebilir: https://www.xilinx.com/support/
dokümantasyon/data_sheets/ds891-zynq-ultrascale-plus-overview.pdf (8 Mart 2022'de erişildi).
17. Xilinx. MIPI D-PHY v4.1 LogiCORE IP Ürün Kılavuzu. Çevrimiçi olarak erişilebilir: https://www.xilinx.com/support/documentation/ip_
belgeler/mipi_dphy/v4_1/pg202-mipi-dphy.pdf (8 Mart 2022'de erişildi).
18. Saar, H. MIPI DSI ve VESA DSC ile Yeni Uygulamalarda 4K Yüksek Çözünürlüklü Gömülü Ekranlar Sürme. MIPI DevCon 2017 Proceedings of
the MIPI DevCon 2017, Bangalore, Hindistan, 27 Ekim 2017. Çevrimiçi olarak erişilebilir: https://www.mipi.org/sites/default/files/ Bangalore-
Synopsys-Driving-4K-Yüksek Çözünürlük.pdf (1 Aralık 2021'de erişildi).
19. Mayhew, D.; Krishnan, V. PCI ekspres ve gelişmiş anahtarlama: Yeni nesil ara bağlantılar oluşturmaya yönelik evrimsel yol.
2003 11. Yüksek Performanslı Bağlantılar Sempozyumu Tutanakları'nda, Stanford, CA, ABD, 20–22 Ağustos 2003; s. 21–29.
[Çapraz Referans]

20. Vikipedi. MPEG Taşıma Akışı. Çevrimiçi olarak erişilebilir: https://en.wikipedia.org/wiki/MPEG_transport_stream (erişilen
6 Mart 2022).
21. Samsung. Samsung 65 nm İşlem Teknolojisi. Çevrimiçi olarak erişilebilir: https://www.samsungfoundry.com/foundry/homepage/ anonim/
teknoloji12inch65nm.do?_mainLayOut=homepageLayout&menuIndex=020105 (23 Şubat 2022'de erişildi).
22. Özet. Tasarım Derleyici. Çevrimiçi olarak erişilebilir: https://www.synopsys.com/implementation-and-signoff/rtl-synthesis-test/dc
ultra.html (23 Şubat 2022'de erişildi).

You might also like