Jestem w trakcie opracowywania modułu zarządzania i routingu sygnałów dla zintegrowanego systemu audiowizualnego i projektuję go z myślą o jak największej elastyczności w różnych sieciach dystrybucji sygnału. Celem tego modułu jest obsługa routingu w szeregu przełączników macierzowych 1 i obsługa niezbędnej konwersji formatu.
Najlepszym rozwiązaniem, które zbadałem w tym momencie, jest odwzorowanie sieci na wykres z dyskretnymi wierzchołkami dla każdego typu sygnału obsługiwanego przez przełączniki, a następnie łączone za pomocą węzłów reprezentujących procesory wideo obsługujące konwersję formatu.
Kolory reprezentują formaty sygnałów. Okrągłe węzły to przełączniki, źródła lub ujścia. Węzły kwadratowe to procesory wideo, które wykonują konwersję formatu.
Stamtąd mogę użyć implementacji algorytmu Dijkstry, aby zidentyfikować ścieżkę, która musi zostać utworzona, aby uzyskać wejście X do wyjścia Y. Powinno to pozwolić na przekazanie danych o konfiguracji wejścia / wyjścia wszystkich przełączników i procesorów. i moduł odpowiednio się dostosuje.
Czy jest to właściwe rozwiązanie, czy istnieje alternatywne podejście, które może być warte zbadania?
1 aka „przełącznik poprzeczny”, router wideo z wejściem M x wyjściami N, który obsługuje połączenia jeden do wielu. Każde urządzenie fizyczne może obsługiwać wiele formatów sygnałów i może, ale nie musi, być w stanie wykonać dowolną konwersję formatu.
edycja: Jak wspomniał Péter Török, wykres niekoniecznie będzie drzewem, schemat jest prostym przykładem ilustrującym ten pomysł. Po wdrożeniu w „świecie rzeczywistym” może istnieć wiele ścieżek, które oferują różne poziomy definicji (DVI> VGA> komponent> kompozyt), które planowałem reprezentować za pomocą ważenia krawędzi.
edycja 2: Oto nieco bardziej kompleksowy przykład ze wskazaną kierunkowością i pokazujący sieć składającą się z dwóch typów sygnałów. Początkowy przykład został nieznacznie zmodyfikowany, tak aby każde wejście i wyjście w urządzeniu było zdefiniowane jako dyskretny węzeł, ponieważ zapewni to dane wymagane do sterowania routingiem macierzy / wyborem wejścia.