Previous
Next

Texas Instruments’in DaVinci platformu üzerinden gerçekleştirilen video kodlama, internet tarayıcı ve ağ üzerinden çoklu ortam iletimi uygulamaları

by Cem Kefeli 20. Mart 2009 13:08

SIU'07 Bildirisi.pdf (357,59 kb)
Çalışmanın tümünü görmek için burayı (YLisansDaVinciVideokodlama.pdf - 562,16 kb) tıklayınız...
Çalışma ile ilgili sunum dosyasına erişmek için burayı (YLisansDaVinciVideokodlama.pps - 1,14 mb) tıklayınız...

1. Video Kodlama


Video kodlama işlemi sayısal video sinyalinin sıkıştırılması ve çözülmesi işlemidir. Diğer bir ifadeyle sayısal video doğal görsel sahnelerinin uzamsal ve zamansal olarak örneklenip gösterilmesi işlemidir. Örnekleme sonrasında ya bir çerçeve ya da bir alan (field) oluşturulmaktadır.

Uzamsal örnekleme sonrasında durağan tek bir çerçeve oluşmaktadır. Çerçeve ise nokta adını verdiğimiz resim bileşenlerinin/piksel (picture element–pel) bir araya gelmesiyle oluşur.

Zamansal örnekleme ise uzamsal örnekleme bileşenlerinin periyodik olarak tekrar etmesidir. Uzamsal örnekleme için t anındaki resmin örneklenmesi, zamansal örnekleme içinse farklı t anlarındaki resimlerin örneklenmesi tanımı yapılabilmektedir. Zamansal ve uzamsal örnekleme ile oluşturulan çerçeveler şekil 1’de gösterilmektedir.

Video dizisinde uzamsal ve zamansal örnekleme
Şekil 1: Video dizisinde uzamsal ve zamansal örnekleme

Fazlası...

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

C dili ile yazdığım ilk programlardan birisi

by Cem Kefeli 17. Mart 2009 15:18

Üniversite yıllarımın ilk günleriydi, C dersi alıyorduk. Kocaeli Üniversitesi(KOÜ) Elektronik ve Haberleşme Mühendisliği Bölümü(Elo-Hab)'ne C/C++yeni başlamış ve yazılım ile alakası olmayan insanlar için yazılım ile tanışmanın ne kadar acıklı olduğuna şahit olduğum günler. Neyse ki benim programlamaya biraz da olsa bir aşinalığım vardı da kolay denilebilecek bir dönem geçirdim. Programlamaya giriş dersi ile birlikte artık mesleki hayatımıza da adım atmış olduk. İşte tam bu aşamada C ile tanışmamı sağlayan ve bana algoritma yazmaktaki felseyi aşılayan sevgili hocam Yrd. Doç. Dr. Mehmet Yakut'a bana kazandırdıkları için çok teşekkür ediyorum yeri gelmişken. O yıllardan sonra aradan yedi sene kadar geçti, ve ben bu süre içerisinde birçok yazılım projesinde yer aldım, ve onun bana öğrettikleri her zaman aklımın bir köşesinde vardı ve hep de faydalı oldu, işe yaradı. Bu yazıyı neden yazdığıma gelince.. Sebebi yalnızca eski projelerimin arasında dolaşırken bir klasörün dikkatimi çekmesi :)

Unutmuyorum hiç. Üniversitenin ilk haftaları.. Mehmet hoca C dersinde sınıfa bir ödev verdi. Ödevi verirken de dedi ki, eğer bu ödevi yarın akşama kadar yapıp bana mail atan olursa onu vizeye almadan Rakamla rakam100 vereceğim. Mehmet hocanın bir programlama dersinden 100 almak o günün şartlarında büyük olay. Hatırlıyorum da sınavlara bir insan sürüsü olarak girerdik. Alttan dersi alanlar artık o kadar birikmiş ki, derslikler sınav zamanı az gelir olmuş. Hatta arkadaşlarla bir ara, 'bu sınavı yakında ÖSYM yapar artık' diye dalga geçiyoruz :) Ödev şu; Bankaların bankamatiklerinde sık sık karşılaşmışsınızdır. Bir sayı yazar ekranda, ama sayıyı oluşturan rakamlar da yine rakamlar kullanılarak yazılmıştır. Tıpkı sol tarafdaki resimde görüldüğü gibi, zaten programın çıktısı da bu şekilde. Ekranda sayıyı giriniz diye yazacak, siz bir sayı gireceksiniz, program da sol taraftaki gibi o sayısı yazacak, ödev bu. Ben o gün eve gittiğim gibi çalışmaya koyuldum ve aynı günün akşamı gece 1-2 gibi ödevi hocaya mail ile gönderdim. 100'ü kaptım diye, bir mutluluk oluştu tabi ki.. Ama Mehmet Hoca geriye bir cevap ile dönmüştü: "Bu kadar sürede, bu işi yeni öğrenen birisi olarak, bunu yazamaman gerekirdi. Yarın gel, program üzerine konuşalım ve bana anlat". :) Doğal olarak benim kendi başıma yazmayabileceğim ve başkasıyla birlikte yazmış olabileceğim gelmiş hocanın aklına ve benden bir açıklama bekliyordu. Ertesi gün hocanın yanına uğradım ve durumu anlatıp 100 puanı kaptım. Benim için yazılımcılık açısından çok ama çok güzel bir başlangıç olmuştu bu olay. Belki de şu an yazılımla uğraşmamın en büyük nedeni budur. Mehmet Hocam'a bana kazandırdıkları için tekrar teşekkürlerimi gönderiyorum.

Aşağıdaki linkleri kullanarak programın derlenmiş haline ve kodlarına ulaşabilirsiniz. Çok ufak ve kolay ama benim için çok değerli bir kod parçacığı... :)Fazlası...

Serial-to-Ethernet converter application

by Cem Kefeli 30. Ocak 2009 06:37

Tecnologic System(TS) firması tarafından üretilen ve uygulama geliştiricilerin hizmetine sunulan  TS-7200 platformu, üzerinde 200 MHz çalışma frekansında  ARM9 serisi işlemci bulunduran bir uygulama geliştirme platformudur. Bu platform üzerinde seri arayüzler,  USB arayüzü,  Ethernet arayüzü, sayısal giriş çıkış birimleri ve veri saklamak için kullanılan compact flash arayüzü bulunmaktadır. Sistem üzerinde bulunan ARM işlemci compact flash ya da kart üzerindeki flash bellek üzerindeki işletim sistemlerini koşturmaktadır. Tercihe göre bu iki bellek üzerindeki herhangi bir  Linux versiyonu seçilmekte ve bu Linux versiyonu sistemin boot sistemi olarak kullanılmaktadır. Compact flash üzerinde bulunan  Debian Linux versiyonu kullanıcılara daha ileri seviyede olanaklar sunmasına rağmen gerçek zamanlı çalışmalar için dahili flash bellek üzerindeki  TSLinux tercih edilebilmektedir.  TSLinux bu donanım sistemi için TS tarafından hazırlanan ve kernel seviyesine daha yakın bir  Linux versiyonudur. Bu  Linux versiyonunda klasik masaüstü  Linux sistemlerine göre bazı özellikler kernelden çıkarılmış veya disable edilmiştir. Böylece işletim sisteminin donanım ile olan haberleşme özelliklerine önem verilmiş ve gerçek zamanlı uygulamalar için daha verimli bir ortam sağlanmıştır.

Sistemin farklı gereksinimleri göz önünde bulundurularak eklenti özellikler yapılabilmesi için  PC/104 adı verilen ve PC’lerdeki  PCI slotu andıran bir genişleme yuvası bulunmaktadır. Bu genişleme yuvası sayesinde sisteme yeni bellekler, sayısal giriş çıkışlar,  GPS(Global Positioning System) ve  GPRS modülleri dahi eklenebilmektedir. Soldaki şekilde TS-7200 platformuna eklenmiş bir gerçek zamanlı saat entegresi gösterilmektedir. Bu slot yardımı ile yapılan eklemelerin sayısı besleme kaynağının çekebildiği güç ve slotu adresleyen saklayıcı ile sınırlı olup üst üste birkaç kat oluşturulması dahi mümkündür.

Sistem için yazılım geliştirilebilmek amacıyla gömülü sistem üzerindeki  GCC derleyicisi kullanılabilmekte ve direkt olarak platform üzerinde derleme yapılabilmektedir. Fakat bu çalışma süresinde PC ortamının sunmuş olduğu  IDE avantajlarından faydalanabilmek için PC tarafındaki  RedHat Linux üzerinde gömülü platform için hazırlanan cross-toolchain’ler kullanılacaktır. Cross-toolchain’ler kullanılarak elde edilen çalıştırılabilir dosyalar daha sonra gömülü siteme  FTP ile bağlanılarak gönderilecek ve platform üzerinde çalıştırılmıştır. Aşağıdaki linkleri kullanarak proje dosyasına ve projenin sunum dosyasına erişebilirsiniz.

Serial2Ethernet Converter.pdf (4,54 mb)
Serial2Ethernet Converter.pps (1,08 mb)

TI DaVinci ile çoklu ortam iletimi

by Cem Kefeli 9. Ocak 2009 00:43

DaVinciTM  TEKNOLOJİSİ
Davinci TechnologyTM is a trademark of Texas InstrumentsTM

DaVinci teknolojisi DSP-tabanlı işlemci, yazılım araçları, sayısal video ve ekipmanlarının geniş çapta geliştirilmesi desteğinin tek pakette birleştirildiği bir uygulama geliştirme platformudur. Bu platform Texas InstrumentsTM firmasının sayısal video uygulamalarında kullanılması için oluşturduğu en yeni teknolojisidir. DaVinciTM işlemcisi çift çekirdekli bir mimariye sahiptir. İçerisinde yüksek performanslı (fixed point-TMS320C64x+™) DSP ve 32 bitlik RISC mimarisinde ARM (ARM926EJ-S) işlemci bulunmaktadır.


Bu platformun sunmuş olduğu özellikler aşağıda verilmektedir;

    * High-Performance Digital Media SoC
          o 594-MHz C64x+™ Clock Rate
          o 297-MHz ARM926EJ-S™ Clock Rate
          o Eight 32-Bit C64x+ Instructions/Cycle
          o 4752 C64x+ MIPS
          o Fully Software-Compatible With C64x /ARM9™
    * Advanced Very-Long-Instruction-Word (VLIW) TMS320C64x+™ DSP Core
          o Eight Highly Independent Functional Units
                + Six ALUs (32-/40-Bit), Each Supports Single 32-Bit, Dual 16-Bit, or Quad 8-Bit Arithmetic per Clock Cycle

Fazlası...

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General