4-Kanal-Video- und Audiorecorder

Projektübersicht

Im Auftrag des Herstellers kleiner Audio- / Video-Registrierungssysteme haben wir auf Anfrage ein Video-Registrierungsgerät zur Digitalisierung, Speicherung und Verteilung von Audio- und Videostreams aus 4 analogen Quellen entwickelt.

Hauptmerkmale des 4-Kanal-Videorecorders

  • Integrierte CompactFlash-Videoaufnahme für Laufwerke
  • Video- / Audiocodierung - JPEG2000 + OGG Vorbis
  • Die fortschrittliche Architektur der Verwaltungssoftware nutzt die Funktionen der Hardwareplattform maximal aus (erforderliche Programmmodule, Treiber und Benutzeroberfläche werden entwickelt).
  • Das implementierte Netzwerksteuerungsprotokoll des Videorecorders ermöglicht die Verwendung der folgenden Funktionen:
    • Diagnose und Steuerung von Videomodulen, Energieverwaltung
    • Änderung der Aufzeichnungsparameter - Standards, Auflösung, Farbart usw.
    • Steuerung des Dateiarchivs, Parametersuche einstellen
    • Einstellen der Videoaufzeichnungsqualität (D1, QCIF, CIF)
    • Kanalübertragung mit niedriger Bitrate - im Echtzeitmodus oder aus dem Archiv
  • Kompaktes Firmware-Upgrade - nur 1,5 MB, zusammen mit einem U-Boot-Loader - 2 MB
  • Die Verwendung einer FOSS-Standardkomponente (freeandopensoftware) - uClinux-dist, ffmpeg und Linux-Kernel - reduzierte die Laufzeit und die Entwicklungskosten erheblich
  • Langzeit-Batch-Betrieb des Geräts und Funkkanalfernbedienung mit niedriger Bitrate

4-Kanal-Videorecorder-Spezifikationen

Hardware
Prozessor Analog Devices BF548 (Blackfin-Architektur)
Debugging-Kit ADV202 BF-Expander
Software
OS uClinux-dist - spezielles verteilendes Linux für integrierte Systeme
Video codec ADV212

Videokomprimierungs
algorithmus

JPEG2000 (mit Wavelet-Technologie) - hoher Grad und Qualität der Komprimierung, Rauschtoleranz, Änderbarkeit der Videoauflösung und Nichtverfügbarkeit von Interframe-Verbindungen (Frames können ohne Verarbeitung aus einem Videostream ausgewählt werden)
Audiokomprimierungs
algorithmus
OggVorbis - effektive Komprimierung ohne wesentliche Verschlechterung der Audioqualität, geringes Aufnahmevolumen und Nichtverfügbarkeit von Patentbeschränkungen

Projektergebnisse

Bei der Entwicklung des Video- und Audiorecorders für den 4 Kanal haben Promwad-Experten die folgenden Aufgaben erfüllt:

- Entwicklung der Hardwareplattform
- Software-Entwicklung
- Produktion von Geräteprototypen

Wie es gemacht wird

Kunde

Entwickler und Hersteller von digitalen Audio- / Video-Registrierungssystemen im kleinen Maßstab

Zielsetzung

Der Kunde hat sich zum Ziel gesetzt, ein Videoregistrierungsgerät zu entwickeln, mit dem Audio- und Videosignale, die von 4 Quellen analoger Audio- / Videosignale empfangen werden, auf Anfrage digitalisiert, gespeichert und abgerufen werden können.

Es ist notwendig, eine langfristige autonome Arbeit mit Fernbedienung und Datenlesen über einen langsamen Funkkanal durchzuführen.

Lösung

Die Entwicklung wurde auf der Grundlage von Forschungs- und Entwicklungsarbeiten (F & E-Arbeiten) durchgeführt, die darauf abzielten, die Eigenschaften von ADV202 für die Videobildkomprimierung zu untersuchen, Software und den Prototyp eines JPEG2000-Videoregistrierungsgeräts zu entwickeln. Diese Aktivitäten wurden auf Basis des ADV202 BF-Expander Debugging Kits durchgeführt.

Promwad hat anhand der Ergebnisse der Forschungs- und Entwicklungsarbeiten eine Entscheidung getroffen:

  • Verwendung des ADV212-Videocodecs (verbesserte Version von ADV202) zum Digitalisieren von Videos in das Motion JPEG2000-Format;
  • Verwendung des BF548-Prozessors mit separaten Speicher- und Erweiterungsbussen und integriertem IDE-Controller.

1. Konzept

Promwad wählte das Motion JPEG2000-Format als Videokomprimierungsalgorithmus. Es hat folgende Vorteile:
  • Hohe Komprimierungsstufe und -qualität;
  • Geräuschunempfindlichkeit;
  • Die im Algorithmus angewandte Wavelet-Technologie ermöglicht das Ändern der Bildauflösung mit einem Minimum an Berechnungen.
  • Wenn keine Interframe-Verbindung besteht, können separate Frames ohne Verarbeitung aus dem Videostream ausgewählt werden.
Der Ogg Vorbis-Algorithmus wurde für die Audiokomprimierung ausgewählt, da er die folgenden Vorteile bietet:
  • Das verbesserte psychoakustische Modell ermöglicht eine effizientere Komprimierung von Audio ohne nennenswerten Verlust der Klangqualität;
  • Deutlich geringere Aufnahmegröße als ähnliche Audiocodierungsformate;
  • Keine Patentbeschränkungen.
Als Ergebnis der durchgeführten Arbeiten entwickelten unsere Ingenieure ein Videoregistrierungsgerät auf der Basis von BF548 (Blackfin-Architektur) von Analog Devices, Inc. unter der Steuerung des Linux-Betriebssystems (uClinux-dist). Das entwickelte Gerät ermöglicht die Aufzeichnung von Videos im Motion JPEG2000 + Ogg Vorbis-Format in einem integrierten Compact Flash-Speicher.

Die Ingenieure von Promwad entwickelten und implementierten ein Steuerprotokoll für Videorecorder, das in der Lage ist:
  • Einstellen der Videostreamqualität (D1, QCIF, CIF);
  • Einstellen der Aufnahmeparameter (Auflösung, Helligkeit, Kontrast, Farbintensität, Videostandard, Komprimierungsstufe);
  • Steuern des Dateiarchivs (Anzeigen von Inhalten, Herunterladen und Hochladen von Dateien, Bereinigen des Archivs);
  • Suchen und Auswählen von Aufnahmefragmenten anhand bestimmter Parameter aus dem Videoarchiv;
  • Übertragung über einen langsamen Kanal, sowohl in Echtzeit als auch aus dem Videoarchiv, mit der Möglichkeit, die erforderliche Auflösung, Bildrate und Fragmentlänge anzugeben;
  • Diagnose und Steuerung von Videomodulen;
  • Verwalten der Stromversorgung (Schlaf- und Wiederaufnahmefunktionen).

2. Hardware

Das System besteht aus einem Motherboard und vier getrennten Modulen. Jedes Modul ist für seinen Kanal ausgelegt und in einen PCIE-Steckplatz eingesetzt. Auf jedem Modul ist Folgendes installiert:
  • ADV212-Hardware-Videocodec;
  • Audiokanal;
  • Mikrofonverstärker;
  • Signalpegelbegrenzer durch Ton;
  • Schutzsystem für Audio- und Videosignaleingänge;
  • Videosignaldecoder.
Die Basis des Motherboards ist der ADSP-BF548 Blackfin-Prozessor von Analog Devices, Inc. Das Motherboard enthält außerdem MT46V32M16P DDR, AT45DB642D SPI Flash und K9F2G08U0A NAND Flash.

Auf der Karte sind ein physikalischer Schichtkonverter für RS-232 ADM3202ARUZ und drei physikalische Konverter für ADM3490ARZ installiert. Das System verwendet das FPGA XC3S400A-4FGG320I von Xilinx, Inc. Dieses FPGA verfügt über ein Steuersignal und eine Datenschalttafel. Diese Schalttafel ist für die Verbindung mit externen Codecs vorgesehen. Außerdem verfügt das FPGA über den Algorithmus zur Zwischenspeicherung von Daten, die von Codecs empfangen wurden, im internen MT45W8MW16BGX-708-Speicher.

3. Software

Als Grundlage für die Steuerung von Software verwendeten wir die im Quellcode bereitgestellte uClinux-dist-Linux-Distribution, die für den weiteren Aufbau bereitgestellt und für eingebettete Systeme entwickelt wurde. Mit uClinux-dist können Sie verschiedene Build-Profile erstellen, neue Komponenten schnell integrieren und den Build von Komponenten von Drittanbietern detailliert konfigurieren.

Während der Arbeit verwendeten unsere Ingenieure Free / Open Source BSP, das von Analog Devices, Inc. (http://blackfin.uclinux.org) offiziell empfohlen wurde.

Während der Geräteentwicklung haben wir folgende Änderungen vorgenommen:
  • Um die Ladezeit zu minimieren, haben wir den U-Boot-Loader reduziert.
  • Um den USB-Ethernet D-Link DUB-E100-Adapter zu unterstützen, haben wir den USB-Stack aus dem Hauptzweig des Linux-Kernels portiert und für die Blackfin-Architektur angepasst.
Zur Steuerung der JPEG2000-Hardwarekomprimierung haben unsere Ingenieure einen Treiber für den ADV212-Chip entwickelt, der die v4l2-Schnittstelle darstellt (Video für Linux Two). Mithilfe dieser Funktion kann die Benutzeranwendung auf Anfrage komprimierte JPEG2000-Streams erfassen und Parameter für Helligkeit, Sättigung und Kontrast über den ADC7183B ADC-Grafiktreiber konfigurieren. Die Firmware für ADV202 wurde über die vom Linux-Kernel bereitgestellte Standard-Firmware-Loader-Klasse geladen.

Die Ingenieure entwickelten einen weiteren Treiber, mit dem Benutzeranwendungen auf Anfrage komprimierte Ogg Vorbis-Streams erfassen können.

Sie entwickelten auch ein Programmmodul, das von ADV212 und Audio-Codec empfangene Frames in einem Videostream speichert. Während dieser Zeit werden spezielle Informationen in spezielle Felder des JPEG2000-Frames geschrieben. Die empfangenen Daten werden im Videoarchiv des Rekorders in einem Standard-AVI-Container gespeichert. Das Format der aufgezeichneten Dateien ermöglicht das Anzeigen mit Standard-Windows XP-Dienstprogrammen (falls erforderlich, sind Decoder verfügbar).

Das Videoarchiv des Rekorders stellt einen Compact Flash-Speicher mit FAT32-Dateisystem dar, der eine Liste von AVI-Dateien enthält. Wenn der Speicher voll ist, wird eine Datei mit der frühesten aufgezeichneten Zeit gelöscht und stattdessen eine neue Datei geschrieben.

Um beim Anzeigen einer Videodatei spezielle Informationen anzuzeigen, haben unsere Ingenieure einen speziellen DirectShow-Videofilter entwickelt.

Video im Motion JPEG2000-Format weist keine Interframe-Abhängigkeiten auf, sodass wir eine Funktion zum Abrufen von Frames aus dem Archiv mit einem zufälligen Schritt effektiv implementieren konnten.

Die Steuerschicht wird als Zwei-Stream-Serveranwendung über die FSM-Technologie (Finite State Machine) mit Steuerstrom und einem zusätzlichen Strom für die Datenübertragung über einen langsamen Kanal implementiert.

Bei technischen Lösungen ist eine Netzwerkunterstützung über USB beim Debuggen von Firmware-Varianten und bei der Emulation eines zusätzlichen RS-232-Ports über SPORT zu erwähnen. Diese Lösungen ermöglichen eine erhebliche Vereinfachung des Debugging-Prozesses.

Um die Steuerungsschicht zu debuggen, entwickelten unsere Ingenieure Emulatoren für ADV212- und Audio-Codec-Treiber. Diese Lösung ermöglichte es ihnen, Hardware- und Softwareteile des Videorecorders unabhängig und parallel zu entwickeln.

Leistungen

  • Kompakte Firmware - Das gesamte System belegt nur 1,5 MB und passt zusammen mit dem UBoot Loader in 2 MB.
  • Unterstützung des erweiterten Motion JPEG2000-Formats mit Wavelet-Technologie. Es ermöglicht das Ändern der Bildauflösung bei minimaler Prozessorlast und das Einrasten von "Stop-Frame" für jedes Videofragment. Dieses Format zeichnet sich durch ein hohes Maß und eine hohe Qualität der Komprimierung und Störfestigkeit aus.
  • Die fortschrittliche Architektur der Steuerungssoftware, die im Gerät angewendet wird, nutzt die Plattformleistung am effizientesten.
  • Durch die breite Anwendung von Standard-FOSS-Komponenten (freie und offene Software) wie uClinux-dist, ffmpeg und Linux-Kernel konnte die Entwicklungszeit erheblich verkürzt werden.

Andere Fallstudien

Erzählen Sie uns von Ihrem Projekt

Alle übermittelten Informationen werden vertraulich behandelt.