Kısıtlanmış 1-Bit Dönüşümü Temelli Hareket Kestirimi Algoritmasının FPGA Tabanlı Bir Mimari ile Gerçeklenmesi Implementation of Constrained 1-Bit Transform Based Motion Estimation Algorithm with An FPGA Based Architecture Anıl ÇELEBİ, Oğuzhan URHAN, Sarp ERTÜRK, Günhan DÜNDAR Elektronik ve Haberleşme Mühendisliği Bölümü Kocaeli Üniversitesi, Kocaeli Elektrik-Elektronik Mühendisliği Bölümü Boğaziçi Üniversites, İstanbul anilcelebi@kou.edu.tr , urhano@kou.edu.tr , sertur@kou.edu.tr , dundar@boun.edu.tr Özetçe Bu çalışmada blok uyumlama temelli hareket kestirimi işleminin gerçek zamanlı yapılabilmesini sağlamak amacıyla FPGA tabanlı özgün bir donanım önerilmiştir. Tasarlanan sistem genel amaçlı bir FPGA yongası üzerinde çok az yer kapladığı için tüm bir video kodlama algoritmasının tek bir ASIC yonga veya FPGA ile gerçekleştirilmesi mümkün olabilmektedir. Tasarlanan sistem 100MHz hızında çalışabilmekte 352×288 piksel boyutundaki imgeler için yaklaşık 50 çerçeve/saniye hızında hareket vektörü üretebilmektedir. Tasarlanan donanım fazla yer kaplamadığı için yapı çoklanarak daha büyük çerçeve boyutları için de gerçek zamanlı çalışabilir hale getirilebilmektedir. Abstract In this work a novel FPGA based hardware is proposed to implement the Constrained One-Bit Transform based block motion estimation algorithm to facilitate real time operation. The designed system occupies a small area in a general purpose FPGA fabric and, that is why it is efficient to implement a whole video coding architecture on a single ASIC chip or an FPGA. The designed system can perform the motion estimation task for a 352×288 pixel sized image frame at a speed of 50 frames/second. The designed hardware can further be multiplexed to increase the parallelism for a real time operation for higher image frame sizes, e.g. for HDTV applications. 1. Giriş Video sıkıştırma, oldukça fazla yer kaplayan ham video verisinin boyutunu etkin şekilde azaltarak bu veriyi saklarken depolama alanından, iletirken ise bant genişliğinden kazanç sağlanmaktadır. Birçok video kodlama standardında video çerçevelerindeki uzamsal artıklıkların giderilmesinde dönüşüm kodlaması kullanılırken, zamansal artıklığın giderilmesinde hareket kestirimi ve dengelemesi kullanılmaktadır. Video kodlama uygulamalarında hesapsal işlemlerin büyük bölümü hareket kestirimi işlemi esnasında yapılmaktadır. Özellikle yaygın bir standart haline gelen H.264/AVC etkin video kodlama için hareket kestiriminin alt- piksel doğrulukta ve birden fazla çerçeve üzerinde yapılmasını önermektedir [1]. Böylelikle hareket kestiriminin işlem yükü daha da artmış ve hızlı hareket kestirimi yaklaşımlarının kullanılması kaçınılmaz hale gelmiştir. Aslında bu işlem yükü çevrim dışı uygulamalarda fazla bir sorun oluşturmasa da gerçek zamanlı ve işlem/güç sınırlamaları bulunan mobil uygulamalar için oldukça önemli hale gelmektedir. Bu tip sınırlamaların bulunduğu uygulamalarda yazılımsal çözümler yerine donanımsal çözümlerin kullanılması sistem kaynaklarının verimli kullanımı ve gereksiz güç tüketimini engellemek açısında oldukça önemlidir. Bu ihtiyacın doğrudan DSP (Digital Signal Processor) yongaları ile karşılanması yüksek esneklik sağlarken kaynakların verimli kullanılması ısından çok uygun bir çözüm değildir. Bununla birlikte tek başına ASIC (Application Specific Integrated Circuit) tasarım yapılması güç/alan/hız bakımından en etkin çözüm olsa da yeniden düzenlenebilirlik açısından bu yaklaşım geri dönülemez olduğundan her uygulamada kullanılabilecek bir yapının oluşturulması oldukça zordur. Bu noktada DSP yongalarının esnekliğini ve ASIC tasarımın verimliliğini etkin şekilde birleştiren FPGA (Field Programmable Gate Array) yongalarının bu tip uygulamalarda kullanımı etkin bir çözüm olmaktadır. Hareket kestirimi işleminin başarımdan bir miktar ödün vererek hızlı bir şekilde gerçekleştirilebilmesi için üç adım arama (3SS) [2], elmas arama (diamond search-DS) [3], altıgensel arama (hexagonal search) [4] gibi kimi seyrek arama yaklaşımları yazılımsal çözümlerde yaygın olarak kullanılmaktadır. Bu yaklaşımlar uyumlama ölçütü olarak genelde mutlak farklar toplamını (sum of absolute differences - SAD) kullanmaktadır. Literatürde uyumlama ölçütü olarak SAD temelli hareket kestiriminin donanımsal olarak yapılmasını öneren yaklaşımlar oldukça yaygındır[5, 6, 7, 8]. Özellikle donanımsal uygulamalar için daha uygun uyumlama ölçütü kullanan 1-bit dönüşümü [9], 2-bit dönüşümü [10], çarpmasız 1-bit dönüşümü [11] ve kısıtlanmış 1-bit dönüşümü [12] gibi yaklaşımlar yakın geçmişte önerilmiştir. Bu yaklaşımlar uyumlama ölçütünün donanımsal olarak oldukça etkin şekilde hesaplanmasını mümkün kılmak için basit özel- veya (EXOR) yapısını kullanırlar. Bu çalışmada donanımsal olarak sistem kaynaklarını daha etkin kullanan ve daha düşük güç tüketimine sahip bir yapı elde edilmesine olanak sağlayan ve bununla birlikte başarımı oldukça yüksek olan kısıtlanmış 1-bit dönüşümü tekniği kullanılmış ve bu yöntem özgün olarak FPGA üzerinde gerçeklenmiştir. Sentezlenen sistem CIF (352×288 piksel) boyutundaki video dizilerinde yaklaşık Authorized licensed use limited to: ULAKBIM UASL - KOCAELI UNIVERSITESI. Downloaded on December 15, 2008 at 09:50 from IEEE Xplore. Restrictions apply.