7bulls.com jest producentem oprogramowania do dekoderów cyfrowej telewizji
satelitarnej, kablowej i naziemnej. Nasza oferta obejmuje licencjonowanie DVB middleware, tworzenie interfejsów użytkownika oraz integrację z oprogramowaniem systemowym dekoderów DVB/IPTV. Oprogramowanie middleware stanowi warstwę pośrednią między sprzętem a aplikacjami dostosowanymi do unikalnych potrzeb operatora.
Kluczowe cechy oprogramowania to:
- przenośność (procesory NXP, Broadcom, ST pracujące pod Linuksem lub pod innymi systemami) - architektura warstwowa (middleware, warstwa aplikacyjna),
- zgodność ze standardami DVB-C/T/S/S2 w rozdzielczościach SD oraz HD,
- wsparcie dla systemów dostępu warunkowego CA (obecnie Nagravision, planowany Conax oraz NDS),
- elastyczność i możliwość rozbudowy (np. VOD, PVR), również samodzielnie przez klienta.
Opracowywane przez 7bulls oprogramowanie middleware zostało stworzone w celu:
- zmniejszenia kosztów tworzenia i utrzymania oprogramowania dla dekoderów telewizji cyfrowej,
- ułatwienia rozwoju oprogramowania w oparciu o indywidualne potrzeby operatora,
- uniezależnienie operatora od dostawcy urządzeń w zakresie rozwoju oprogramowania dla dekoderów telewizji cyfrowej.
Architektura systemu
Oprogramowanie DVB Middleware podzielone jest na moduły i warstwy. Warstwa aplikacji podzielona jest na funkcjonalnie różne aplikacje, warstwa middleware podzielona na niezależne moduły, warstwa HAL, zapewniająca niezależność sprzętową wszystkich warstw powyżej niej zawiera interfejsy do wszystkich urządzeń sprzętowych.
Oprogramowanie DVB Middleware może być uruchamiane na wielu platformach sprzętowych.
1. Szczegółowy opis architektury oprogramowania:
- Niezależny sprzętowo interfejs GUI.
- Moduły i aplikacje korzystające ze wspólnych zasobów (porty, pamięć itp.) zwalniają je po zakończeniu operacji. Wszystkie wykorzystywane bufory pamięci alokowane są w obrębie modułu lub aplikacji, która ich używa i zwalniane po zamknięciu modułu lub aplikacji (wyjątek to komunikacja z bootloaderem).
- Struktury danych wspólne dla różnych platform sprzętowych (baza danych programów, list kanałów, ustawienia, wiadomości sms, wersje językowe tekstów) mają format niezależny od platformy sprzętowej.
- Spójna struktura plików projektu, nazewnictwo funkcji, typów oraz zmiennych.
- Dynamiczna alokacja pamięci.
2. Obsługa standardu DVB i urządzeń:
- Parsowanie tablic, cache PAT i PMT jako optymalizacja czasu przełączania;
- Obsługa wielu tunerów (DVB-C/T/S) wraz z obsługą DiSEqC 1.1 oraz monitorowanie poziomu mocy i jakości sygnału;
- Obsługa strumienia video w wysokiej rozdzielczości (HD);
- Skalowanie SD-HD oraz HD-SD;
- Audio z SPDIF i HDMI;
- Video z obsługą SCART/RCA i HDMI (1.3) z HDCP (1.1);
- Obsługa TTX OSD na HDMI;
- Obsługa TTX VBI;
- Obsługa pamięci flash wraz z systemem plików oraz szyfrowaniem kluczami procesora;
- Obsługa pilota, klawiszy obudowy, wyświetlacza i diod LED;
- Tryb standby;
- Obsługa teletekstu i napisów.
- Obsługa dysku twardego.
- Obsługa Picture-in-Picture.
3. Interfejs użytkownika (GUI):
- Elektroniczny program telewizyjny (EPG);
- Nagrywarka programów telewizyjnych (PVR);
- Obsługa GUI w rozdzielczościach SD i HD;
- Obsługa ekranów OSD w 16 i 24 bitach, obsługa warstw, rysowanie prostokątów, fontów w formacie TTF z antialiasingiem;
- Obsługa obrazków w formacie PNG z pełną przezroczystością (per piksel);
- Zmiana przezroczystości poszczególnych elementów GUI;
- Wielojęzyczność interfejsu użytkownika;
- Pełna historia przejść między ekranami;
- Zoptymalizowane odrysowywanie zmienionych fragmentów ekranu (synchroniczne oraz asynchroniczne);
- Tworzenie własnych elementów GUI na poziomie Aplikacji.
4. System Dostępu Warunkowego (CA):
- Obsługa CA Conax (stworzenie oraz udostępnienie ze źródłami niezależnej warstwy HAL na potrzeby certyfikacji przez producenta sprzętu);
- Możliwość dodania/wymiany na inny system CA w przyszłości.
5. Bootloader/SSD Loader:
- Możliwość aktualizacji oprogramowania przez OTA, Ethernet oraz USB;
- Bootloader zgodny z wymaganiami dostawcy podsystemu CA Conax.
6. Środowisko programistyczne:
- System budowy aplikacji oparty o standardowe narzędzia (make);
- Integracja z IDE (preferowany Linux);
- Możliwość uruchamiania i rozwoju aplikacji STB na PC (Linux);
- Dostępność kodów źródłowych HAL na potrzeby certyfikacji Conax oraz aplikacji.