-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft Medienserver- und/oder Videoserversysteme
und insbesondere ein Medien-Serversystem mit einem Videoserver,
der über
einen SCSI-Bus mit einem oder mehreren MPEG-Decodierblöcken gekoppelt
ist, wobei das System eine SCSI-Adressierung für ein logisches Gerät zum Identifizieren
von Kanälen
verwendet, um unterschiedliche Dateiensystemarchitekturen unterzubringen.
-
Beschreibung
des zugehörigen
Standes der Technik
-
Systeme
für Videos
auf eine Anforderung hin bzw. Video-on-demand-Systeme oder Videolieferungssysteme
ermöglichen
einer Vielzahl von Teilnehmern oder Anwendern Filme oder andere
Audio/Video-Sequenzen anzuschauen, die auf einem oder mehreren Videoservern
oder Medienservern gespeichert sind. Die Videoserver sind über Datenübertragungskanäle mit der
Vielzahl von Teilnehmern oder Anwendern verbunden. Die Videoserver
speichern eine Vielzahl von Filmen oder anderen Audio/Video-Sequenzen,
und jeder Anwender kann einen oder mehrere Filme von den Videoservern
zum Anschauen auswählen.
Jeder Anwender enthält
eine Fernseh- oder andere Anschauvorrichtung sowie eine zugehörige Decodierlogik
zum Auswählen
und Anschauen von gewünschten
Filmen. Wenn ein Anwender einen Film auswählt, wird der ausgewählte Film
auf einem der Datenübertragungskanäle zu dem Fernseher
des jeweiligen Anwenders transferiert.
-
Ein
digitales Video mit voller Bewegung erfordert ein großes Ausmaß an Speicherplatz
und Datenübertragungsbandbreite.
Somit verwenden Video-on-demand-Systeme verschiedene Typen von Video-Kompressionsalgorithmen
zum Reduzieren des Ausmaßes
an nötigem
Speicherplatz und nötiger Datenübertragungsbandbreite.
Gegenwärtige
Video-on-demand-Systeme
verwenden eine MPEG- oder eine MPEG-2-Codierung, um die erforderliche Datenübertragungsbandbreite
zu reduzieren. Somit werden audiovisuelle Sequenzen, wie beispielsweise Filme
oder ein anderer Inhalt, auf den Medienserver in einem MPEG-komprimierten
Format gespeichert, und wird die audiovisuelle Sequenz zur Anzeige und/oder Übertragung
zu einem Anwender decodiert und typischerweise in ein analoges Format
umgewandelt.
-
Ein
Typ einer Medienserverentwicklung weist ein Videoservercomputersystem
auf, das eine Vielzahl von codierten Datenströmen speichert, wobei dieses
Computersystem über
einen SCSI-(Small Computer Systems Interface = Schnittstelle für kleine Computersysteme)-Bus
mit einem oder mehreren MPEG-Decodierblöcken gekoppelt ist. Jeder der MPEG-Decodierblöcke ist
wiederum mit Videocodierern und/oder Codecs (Codierern/Decodierern)
gekoppelt, um analoge Basisbanddaten zu erzeugen. Jeweilige Modulatoren
können
auch vorgesehen sein, um die Daten mit einer Trägerfrequenz zu modulieren,
um Bandpasssignale zu erzeugen, wie beispielsweise UHF- oder VHF-Signale
oder Kabel-TV-Signale.
-
Medienserver
verwenden allgemein ein Dateiensystem zum Speichern von Video- oder
von Medienströmen.
Beispiele für
ein Dateiensystem enthalten unter anderem das UNIX-Dateiensystem (UFS), das
von Sun Microsystems entwickelte Medien-Dateiensystem (MFS) und
das von Microsoft Corporation entwickelte Windows NT-Dateiensystem.
Ein bestimmtes Dateiensystem, wie beispielsweise das UNIX-Dateiensystem,
enthält
Anfangsblockinformation zu Daten, wie beispielsweise Videodaten,
oder stellt sie diesen voraus, welche einen Funktionscode enthält, sowie
eine zu den Daten gehörende
Kanalnummer. Andere Dateiensysteme, wie beispielsweise das Medien-Dateiensystem,
stellt Videodaten keinen Anfangsblock voraus, der diese Information
enthält.
Somit wird dann, wenn ein MPEG-Decodierblock entwickelt ist, um
Daten in einem bestimmten Format anzunehmen, wie beispielsweise
mit oder ohne diesem vorausgestellten Anfangsblock, der MPEG-Decodierblock typischerweise
nicht mit einem anderen Typ von Dateienformat arbeiten. Daher sind ein
verbessertes Medien-Serversystem
und ein verbessertes Medien-Serververfahren erwünscht, welche eine MPEG-Decodierblocklogik
enthalten, die bei unterschiedlichen Dateiensystemformaten richtig arbeitet.
-
SCSI-Bus-Hintergrund
-
Eine
Hintergrundbeschreibung über
die SCSI-Busarchitektur wird für
geeignet erachtet. Der SCSI-Bus ist ein peripherer Expansionsbus,
der zum Anschließen
von peripheren I/O-Vorrichtungen
an ein Computersystem verwendet wird. Es existieren verschiedene
Versionen des SCSI-Busses, einschließlich "Schneller SCSI", "Breiter
SCSI" und "Schneller/Breiter
SCSI". Der breite
SCSI-Bus kann bis zu 16 Vorrichtungen unterbringen, einschließlich von
einem oder mehreren Hostadaptern und bis zu 15 anderen SCSI-Vorrichtungen, die
an den SCSI-Bus angeschlossen sind. Der Hostadapter bildet eine
Schnittstelle zwischen dem Computersystem und dem SCSI-Bus und steuert
Operationen auf den SCSI-Bus.
-
Vorrichtungen
an dem SCSI-Bus sind als Zielvorrichtungen oder Initiatorvorrichtungen
klassifiziert. Einige SCSI-Vorrichtungen
können
sowohl als Ziel- als auch als Initiatorvorrichtungen fungieren.
Ein SCSI-Hostadapter ist das allgemeinste Beispiel für einen
Initiator. Allgemeine Beispiele für SCSI-Zielvorrichtungen sind
Diskettenlaufwerke und Bandlaufwerke.
-
Jede
an den SCSI-Bus angeschlossene Vorrichtung enthält eine Ziel-ID oder -Adresse.
Die Ziel-ID wird während
einer Zuteilung verwendet und wird durch ihre jeweilige Vorrichtung zum
Anfordern eines Besitzes des SCSI-Busses aktiviert. Die Ziel-IDs
werden auch während
einer Auswahlphase verwendet, wobei eine Vorrichtung, die eine Zuteilung
des SCSI-Busses gewinnt, eine weitere Vorrichtung an den SCSI-Bus
zum Senden eines Befehls auswählt.
-
Eine
Brückensteuerung
kann an den SCSI-Bus angeschlossen sein, wobei die Brückensteuerung
mit einer oder mehreren anderen Vorrichtungen koppelt, die logische
Geräte
genannt werden, welche über
die Brückensteuerung
eine Schnittstelle zum SCSI-Bus bilden. Ein Beispiel für eine Brückensteuerung
ist eine SCSI zu einer SCSI-Brückensteuerung,
die eine Schnittstelle zwischen einem ersten SCSI-Bus zu einem zweiten
SCSI-Bus bildet. Die eine oder die mehreren logischen Geräten, die
an die Brückensteuerung
angeschlossen sind, haben jeweils logische Gerätenummern zur Identifizierung. Die
SCSI-Spezifikation sorgt für
logische Gerätenummern
0 bis 7.
-
Bei
einer beispielhaften SCSI-Protokollsequenz, bei welcher ein SCSI-Hostadapter
Daten zu einem SCSI-Ziel transferiert, folgt einer anfänglichen busfreien
Phase eine Zuteilungsphase. Während
der Zuteilungsphase aktiviert jede der jeweiligen Vorrichtungen,
die wünschen,
eine Zuteilung für
den Bus zu erreichen, einschließlich
des Hostadapters, das Datenbit entsprechend ihrer jeweiligen Ziel-ID.
Wenn der Hostadapter einmal eine Zuteilung gewinnt, dann wählt die
Vorrichtung, die eine Zuteilung gewinnt, während einer Auswahlphase das
Ziel aus. Nach der Auswahlphase tritt eine Nachrichtenausgabe-(MSG_OUT)-Phase
auf, in welcher der Hostadapter eine Identifizierungsnachricht und
eine optionale Tag- bzw. Kennzeichen-Warteschlangennachricht und
Tag- bzw. Kennzeichen-Bytes zum Ziel sendet. Die Identifizierungsnachricht
enthält
drei Bits, die die logische Gerätenummer
(LUN = logical unit number) identifizieren, für welche der vorkommende Befehl bestimmt
ist. Nach der MSG_OUT-Phase
tritt eine Befehlsphase auf.
-
Während der
Befehlsphase sendet der Hostadapter eine Sequenz von Bytes, die
Befehlsdeskriptorblock (CDB = command descriptor block) genannt
werden, zum Ziel aus. Der CDB enthält Information über den
kommenden Transfer. Das erste Byte des CDB enthält einen Operationscode, der
anzeigt, ob der kommende Transfer beispielsweise ein Lesen oder
ein Schreiben ist. Das zweite Byte des CDB weist drei Bits einer
Information des logischen Geräts
auf, d. h. die LUN-Nummer. Der Befehlsdeskriptorblock enthält somit
auch drei Bits, die die logische Gerätenummer identifizieren.
-
Nach
der Befehlsphase tritt eine Datenausgabephase auf, in welcher der
Hostadapter die in dem CDB spezifizierten Daten zum Ziel transferiert. Das
Ziel sendet dann während
einer Zustandsphase ein Byte von Zustandsinformation zum Hostadapter. Schließlich sendet
das Ziel ein Befehlsbeendigungsnachrichtenbyte zum Hostadapter,
um eine Beendigung des ausgegebenen CDB anzuzeigen, und gibt dann
den SCSI-Bus wieder zu einer weiteren busfreien Phase frei.
-
Wenn
der SCSI-Datentransfer eine Vorrichtung beteiligt, die keine Brückenvorrichtung
ist, dann wird die logische Gerätenummer
auf Null gesetzt. Jedoch dann, wenn der Transfer eine Brückensteuerung
beteiligt, die mit einer oder mehreren Vorrichtungen koppelt, die
logische Gerätenummern
haben, dann enthalten die drei Bits von Information in der Identifizierungsnachricht
und das zweite Byte des CDB die logische Gerätenummer der jeweiligen Vorrichtung,
die beim Transfer beteiligt ist.
-
In
WO 94/30014 ist ein Medien-Serversystem mit mehreren Decodierern
offenbart, und zwar jeweils mit mehreren Kanälen.
-
Zusammenfassung
der Erfindung
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist ein Medien-Serversystem zur Verfügung gestellt,
das folgendes aufweist: einen oder mehrere Decoderkästen, wobei
jeder des einen oder der mehreren Decoderkästen eine Vielzahl von Datenkanälen enthält; ein
Computersystem, das ein Speichermedium zum Speichern von Daten und
einen Hostadapter zum Koppeln mit einem Bus enthält, dadurch gekennzeichnet,
dass das Computersystem konfiguriert ist, um Datenübertragungen
bzw. Datentransfers von Blöcken
von Daten zu einzelnen von dem einen oder den mehreren Decoderkästen über den
Bus zu erzeugen, wobei das Computersystem konfiguriert ist, um einen
ersten Wert zu einer logischen Gerätenummer zu einem Feld einer
ersten der Datenübertragungen
zuzuordnen, die einen ersten der Decoderkästen zum Ziel haben, wenn ein
erster Block von Daten, die gerade übertragen werden, einen Anfangsblock
mit Kanalinformation enthält,
die einen Zielort-Datenkanal
aus einer Vielzahl von Datenkanälen
des ersten Decoderkastens anzeigt, und wobei das Computersystem
konfiguriert ist, um einen Wert, der dem Zielort-Datenkanal entspricht
und unterschiedlich vom ersten Wert ist, zum logischen Gerätenummernfeld
der ersten Übertragung
zuzuordnen, wenn der erste Block von Daten, die gerade übertragen
werden, den Anfangsblock nicht enthält, wobei jeder von dem einen
oder den mehreren Decoderkästen
dazu geeignet ist, einen Block von den Daten vom Computersystem
in Reaktion auf eine der Datenübertragungen
zu empfangen, die den Decoderkasten zum Ziel haben, und den empfangenen
Block von Daten auf den Zielort-Datenkanal zu übertragen; und wobei jeder
von dem einen oder den mehreren Decoderkästen konfiguriert ist, um den
Wert, der im logischen Gerätenummernfeld
einer Übertragung
vom Computersystem enthalten ist, zu bestimmen, um den Zielort-Datenkanal
aus der Kanalinformation im Anfangsblock des empfangenen Blocks
zu bestimmen, wenn der Wert, der im logischen Gerätenummernfeld enthalten
ist, der erste Wert ist, und um den Zielort-Datenkanal aus dem Wert,
der im logischen Gerätenummernfeld
enthalten ist, zu bestimmen, wenn der Wert, der im logischen Gerätenummernfeld enthalten
ist, nicht der erste Wert ist.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum Übertragen von
Daten in einem Medien-Serversystem
zur Verfügung
gestellt, das einen Videoserver, einen oder mehrere Decoderkästen, die
jeweils eine Vielzahl von Datenkanälen aufweisen, und ein Kabel,
das den Videoserver mit dem einen oder den mehreren Decoderkästen verbindet,
aufweist, wobei das Verfahren dadurch gekennzeichnet ist, dass es
folgendes aufweist: der Videoserver liest einen ersten Block von Daten
aus einem Speichermedium; der Videoserver konfiguriert den ersten
Block der Daten für
eine Übertragung
zu einem ausgewählten
von dem einen oder den mehreren Decoderkästen, wobei das Konfigurieren
ein Zuordnen eines ersten Werts zu einem logischen Gerätenummernfeld
der Übertragung
enthält, wenn
der erste Block der Daten einen Anfangsblock mit Kanalinformation
enthält,
die einen Zielort-Datenkanal aus der Vielzahl von Datenkanälen des
ausgewählten
Decoderkastens anzeigt, und wobei das Konfigurieren ein Zuordnen
eines Werts, der dem Zielort-Datenkanal entspricht und unterschiedlich vom
ersten Wert ist, zum logischen Gerätenummernfeld der Übertragung
enthält,
wenn der Block der Daten den Anfangsblock nicht enthält; der
Videoserver die Übertragung
des ersten Blocks der Daten zu dem ausgewählten Decoderkasten durchführt; der
ausgewählte
Decoderkasten den ersten Block von Daten in Reaktion auf die Übertragung
empfängt;
der ausgewählte
Decoderkasten einen Wert bestimmt, der im logischen Gerätenummernfeld
der Übertragung
enthalten ist; der ausgewählte
Decoderkasten den Zielort-Datenkanal aus der Kanalinformation im
Anfangsblock des ersten Blocks der Daten bestimmt, wenn der Wert,
der in der logischen Gerätenummer enthalten
ist, der erste Wert ist; der ausgewählte Decoderkasten den Zielort-Datenkanal
aus dem Wert bestimmt, der im logischen Gerätenummernfeld enthalten ist,
wenn der Wert, der im logischen Gerätenummernfeld enthalten ist,
unterschiedlich vom ersten Wert ist; der ausgewählte Decoderkasten den ersten
Block der Daten auf den Zielort-Datenkanal überträgt.
-
Die
vorliegende Erfindung weist ein Medien-Serversystem auf, das einen
Medienserver enthält,
der über
einen SCSI-Bus mit einem oder mehreren MPEG-Decoderkästen gekoppelt
ist. Jeder der MPEG-Decoderkästen
enthält
eine Vielzahl von Datenkanälen
und ist dazu geeignet, codierte MPEG-Daten vom Computersystem zu
empfangen. Das Computersystem erzeugt Datenübertragungen zu den jeweiligen
MPEG-Decoderkästen
für eine Übertragung
auf den ausgewählten
Kanälen.
Das Computersystem ist gemäß verschiedenen
Dateienspeicherformaten konfigurierbar, einschließlich Dateiensystemen,
die einen Anfangsblock mit Kanalinformation den Videodaten voranstellen,
und Dateiensystemen, die keinen Anfangsblock mit Kanalinformation
den Videodaten voranstellen.
-
Gemäß der vorliegenden
Erfindung verwendet das Computersystem das SCSI-Bus-LUN-Feld zum
Anzeigen des Vorhandenseins oder Nichtvorhandenseins eines Anfangsblocks
mit Kanalinformation. Das Computersystem verwendet auch das SCSI-Bus-LUN-Feld
zum Liefern von Kanalinformation, wenn kein Anfangsblock enthalten
ist. Beim bevorzugten Ausführungsbeispiel
ordnet das Computersystem eine erste logische Gerätenummer,
vorzugsweise LUN 0, einer SCSI-Bus-Datenübertragung zu, wenn die Daten,
die gerade übertragen
werden, einen Anfangsblock mit Kanalinformation enthalten. Das Computersystem
ordnet eine logische Gerätenummer,
die dem Zielortkanal entspricht, dann zu, wenn die Datenübertragung
keinen Anfangsblock mit Kanalinformation enthält.
-
Jeder
der MPEG-Decoderkästen
untersucht empfangene Daten vom Computersystem und bestimmt die
in den Daten umfasste logische Gerätenummer. Wenn die LUN 0 ist,
untersucht der MPEG-Decoderkasten den Anfangsblock in den empfangenen
Daten und bestimmt den Kanal aus dem Anfangsblock. Wenn die LUN
anders als 0 ist, bestimmt der MPEG-Decoderkasten den Kanal basierend
auf der LUN-Nummer. Daher lässt
die vorliegende Erfindung zu, dass der MPEG-Decoderkasten mit unterschiedlichen
Dateiensystemformaten übergangslos
arbeitet.
-
Kurze Beschreibung
der Zeichnungen
-
Ein
besseres Verständnis
für die
vorliegende Erfindung kann dann erhalten werden, wenn die folgende
detaillierte Beschreibung des bevorzugten Ausführungsbeispiels betrachtet
wird, und zwar in Zusammenhang mit den folgenden Zeichnungen, wobei:
-
1 ein
Medien-Serversystem gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
2 ein
Medien-Serversystem gemäß einem
weiteren Ausführungsbeispiel
der Erfindung darstellt;
-
3 ein
Medien-Serversystem darstellt, das eine Vielzahl von 24 Kanal-MPEG-Decodereinheiten
enthält,
die ein 96-Kanal-System bilden;
-
4 ein
Blockdiagramm ist, das den MPEG-Decoderkasten der 1 darstellt;
-
5 ein
Ablaufdiagramm ist, das einen Betrieb des Medienservercomputersystems
darstellt, das eine Übertragung
durchführt;
und
-
6 ein
Ablaufdiagramm ist, das einen Betrieb des MPEG-Decoders darstellt.
-
Während die
Erfindung empfänglich
für verschiedene
Modifikationen und alternative Formen ist, sind ihre spezifischen
Ausführungsbeispiele
anhand eines Beispiels in den Zeichnungen gezeigt und werden hierin
detailliert beschrieben werden. Es sollte jedoch verstanden werden,
dass die Zeichnungen und die detaillierte Beschreibung dafür die Erfindung nicht
auf die bestimmte offenbarte Form begrenzen sollen, sondern es gegensätzlich dazu
beabsichtigt ist, alle Modifikationen, Äquivalente und Alternativen abzudecken,
die einzig innerhalb des Schutzumfangs der vorliegenden Erfindung
sind, welcher durch die beigefügten
Ansprüche
definiert ist.
-
Detaillierte
Beschreibung des bevorzugten Ausführungsbeispiels
-
Nimmt
man nun Bezug auf 1, ist ein Diagramm gezeigt,
das ein Medien-Serversystem gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt. Wie es gezeigt ist, enthält das Medien-Serversystem
eine Computersystemeinheit 102. Die Computersystemeinheit 102 ist
vorzugsweise der von Sun Microsystems produzierte Computer Sun SS-5
oder Sun SS-20, und basiert vorzugsweise auf dem UltraSparc-Prozessor.
Die Computersystemeinheit 102 kann einen oder mehrere verschiedene Typen
von Speichervorrichtungen enthalten, einschließlich einer RAID-(redundante
Anordnung von nicht teuren Platten)-Plattenanordnung, eine oder mehrere
digitale Videoscheiben, oder einen anderen Speicher oder einen Medienspeicher,
wie es erwünscht
ist. Alternativ dazu oder zusätzlich
kann die Computersystemeinheit 102 mit einer Plattenanordnungs-Speichervorrichtung 104 koppeln,
wie es gezeigt ist. Das Computersystem 102 kann auch einen Monitor
(nicht gezeigt) enthalten.
-
Die
verschiedenen Medienspeichervorrichtungen, die in der Computersystemeinheit 102 vorhanden
sind oder mit der Systemeinheit 102 gekoppelt sind, speichern
vorzugsweise komprimierte Datenströme. Beim bevorzugten Ausführungsbeispiel sind
die Datenströme
MPEG-2-komprimierte Ströme. Jedoch
wird angemerkt, dass irgendeiner von verschiedenen Typen von Daten
oder von Videokompression verwendet werden kann, wie es erwünscht ist.
-
Die
Computersystemeinheit 102 koppelt mit einem oder mehreren
MPEG-Decoderkästen 122, wie
es gezeigt ist. Bei dem gezeigten Ausführungsbeispiel koppelt die
Computersystemeinheit 102 mit vier MPEG-Decoderkästen 122A–122D.
Jeder MPEG-Decoderkasten 122 weist vorzugsweise 6 MPEG-Kanäle auf.
Die Gruppe von vier MPEG-Decoderkästen 122A–122D weist
gemeinsam eine 24-Kanal-Decodereinheit 130 auf.
Wie es gezeigt ist, sind die MPEG-Decoderkästen 122A–122D vorzugsweise
in einer Konfiguration konfiguriert, die in einem Gestell montiert
ist, wobei die Vielzahl von MPEG-Decoderkästen 122 einer über dem
jeweils anderen angebracht sind. Die MPEG-Decoderkästen 122 sind
vorzugsweise auf eine Befehlskettenweise verbunden.
-
Die
Computersystemeinheit 102 koppelt vorzugsweise mit einem
ersten der jeweiligen MPEG-Decoderkästen 122A über den
Bus für
eine kleine Computersystemschnittstelle (SCSI) oder ein Kabel 112.
Wie es wohlbekannt ist, ist der SCSI-Bus ein Bus für eine periphere
Vorrichtung, wobei eine Vielzahl von Vorrichtungen auf eine Prioritätskettenweise
mit dem Bus verbunden sein kann. Der SCSI-Bus kann der schnelle
SCSI-Bus oder der breite SCSI-Bus oder ein schneller/breiter SCSI-Bus
sein, wie es im Stand der Technik wohlbekannt ist. Wie es gezeigt
ist, koppelt die Computersystemeinheit 102 mit einem ersten
MPEG-Decoderkasten 122A, und die übrigen MPEG-Decoderkästen 122 sind wiederum
prioritätsverkettet.
Das Computersystem 102 enthält einen SCSI-Hostadapter (nicht
gezeigt), der über ein
SCSI-Kabel mit dem MPEG-Decoderkasten 122A koppelt.
-
Nimmt
man nun Bezug auf 2, ist ein alternatives Ausführungsbeispiel
des Medien-Serversystems gezeigt. Bei dem Ausführungsbeispiel der 2 ist
ein einzelner MPEG-Decoder 122 mit der Medien-Serversystemeinheit 102 verbunden.
Der einzelne MPEG-Decoder 122 und die Medien-Serversystemeinheit 102 sind
vorzugsweise physikalisch in einer gestellmontierten Konfiguration
konfiguriert. Obwohl es in 2 nicht
gezeigt ist, koppelt der MPEG-Decoder 122 mit der Medien- Serversystemeinheit 102 über eine
SCSI-Verbindung oder ein SCSI-Kabel. Die Medien-Serversystemeinheit 102 kann
wiederum mit einer glatten Anordnungs-Medienspeichereinheit 104 oder
einem anderen Typ von Speichereinheit koppeln, und zwar vorzugsweise über einen
schnellen SCSI-Bus oder ein Kabel 112A für einen
schnellen/breiten SCSI-Bus, wie es gezeigt ist.
-
Nimmt
man nun Bezug auf 3, ist ein Blockdiagramm gezeigt,
das ein Medien-Serversystem gemäß einem
weiteren Ausführungsbeispiel
darstellt. Dieses Ausführungsbeispiel
enthält
vier 24-Kanal-MPEG-Decodereinheiten 130, die mit 130A–130D bezeichnet
sind. In 3 weist jede der 24-Kanal-MPEG-Decodereinheiten 130 die
vier MPEG-Decoderkästen 122A–122D auf,
die miteinander prioritätsverkettet
sind, wie es in 1 gezeigt ist. Bei dem Ausführungsbeispiel
der 3 sind vier 24-Kanal-MPEG-Decodereinheiten 130 miteinander prioritätsverkettet,
um ein 96-Kanal-System zu erzeugen. Somit weist das Ausführungsbeispiel
der 3 16 MPEG-Decoderkästen 122 auf.
-
Wie
es in 3 gezeigt ist, enthält die Medien-Serversystemeinheit 102 bei
diesem Ausführungsbeispiel
eine Vielzahl von Ausgabeports, vorzugsweise vier Ausgabeports,
die eine Anschlussfähigkeit
für einen
schnellen/breiten SCSI-Bus
zur Verfügung
stellen. Jedes der SCSI-Bus-Anschlussstückports
ist dazu geeignet, mit einem digitalen Eingang von einer der jeweiligen
24-Kanal-MPEG-Decodereinheiten 130A–130D zu
koppeln, wie es gezeigt ist. Wie es gezeigt ist, enthält die Medien-Serversystemeinheit 102 auch
ein serielles Ausgangsport, das mit einem Eingangsport von einer
der jeweiligen MPEG-Decodereinheiten 130A koppelt. Die
jeweilige MPEG-Decodereinheit 130A, die die serielle Ausgabe
von der Medien-Serversystemeinheit 102 empfängt, enthält einen
Analogausgang, der zu einem entsprechenden Analogeingang einer darauf
folgenden MPEG-Decodereinheit 130B zur
Verfügung
gestellt wird. Die jeweilige MPEG-Decodereinheit 130B stellt
wiederum einen Analogausgang zu einem Analogeingang einer nachfolgenden
MPEG-Decodereinheit 130C zur Verfügung. Schließlich stellt
die MPEG-Decodereinheit 130C einen entsprechenden Analogausgang
zu einem Analogeingang der letzten MPEG-Decodereinheit 130D zur Verfügung. Somit
ist jede der MPEG-Decodereinheiten 130A–D über die serielle
Ausgabe der Medien-Serversystemeinheit 102 prioritätsverkettet
miteinander. Die letzte MPEG-Decodereinheit 130D in der
Prioritätskette
liefert eine 96-Kanal-Ausgabe, d. h. ein Ausgangssignal, das bis
zu 96 Videoströme
oder Kanäle
eines Videos oder eines audiovisuellen Inhalts aufweist, einschließlich eines
Fernsehprogramminhalts.
-
Der
Analogausgang der MPEG-Decodereinheit 130D kann in verschiedenen
Formaten vorgesehen sein. Bei einem Ausführungsbeispiel entspricht der
Analogausgang dem Standard des Nationalen Fernsehstandardkomitees
(NTSC = National Television Standards Committee) für analoges
Video. Bei einem alternativen Ausführungsbeispiel entspricht der
Analogausgang dem europäischen
PAL-Format.
-
Wie
es in 3 gezeigt ist, enthält die erste MPEG-Decodereinheit 130A auch
vorzugsweise ein analoges Eingangsport zum Empfangen eines analogen
Eingangssignals. Wie es gezeigt ist, kann dieses analoge Eingangssignal
ein UHF- oder VHF-Signal oder ein Kabel-TV-Signal aufweisen.
-
4 – MPEG-Decoderkasten-Blockdiagramm
-
Nimmt
man nun Bezug auf 4, ist ein Blockdiagramm gezeigt,
das einen der MPEG-Decoderkästen 122 darstellt.
Wie es gezeigt ist, enthält
jeder MPEG-Decoderkasten 122 eine MPEG-Decoderleiterplatte 180.
Die MPEG-Decoderleiterplatte 180 enthält zwei Erweiterungssteckplätze 226 und 227 zum
Aufnehmen von bis zu zwei MPEG-Decoder-Tochterkarten 182.
Die MPEG-Decoderleiterplatte 180 enthält zwei MPEG-Kanäle, wie
es gezeigt ist. Jede MPEG-Decoder-Tochterkarte 182 enthält auch zwei
MPEG-Kanäle.
Somit weist dann, wenn zwei MPEG-Decoder-Tochterkarten 182 in die jeweiligen Steckplätze bzw.
Schlitze 226 und 227 der MPEG-Decoderleiterplatte 180 eingefügt sind,
der MPEG-Decoderkasten 122 6 MPEG-Kanäle auf. Der MPEG-Decoderkasten 122 enthält auch
einen Modulatorkasten 184, der mit einem Ausgang der MPEG-Decoderleiterplatte 180 gekoppelt
ist. Die Ausgabe der MPEG-Decoderleiterplatte 180 ist ein Basisbandsignal.
Der Modulatorkasten 184 wandelt das ausgegebene Basisbandsignal
in ein Durchlassbandsignal, wie beispielsweise ein UHF-, VHF- oder Kabel-TV-Signal,
um.
-
Jede
MPEG-Decoderleiterplatte 180 enthält ein Eingabe/Ausgabe-(I/O-)Port 202 zum
Koppeln mit einem SCSI-Bus.
Wie es oben angegeben ist, ist bei dem bevorzugten Ausführungsbeispiel
jeder MPEG-Decoderkasten 122 zum Koppeln mit einem schnellen/breiten
SCSI-Bus geeignet. Wie es ebenso oben angegeben ist, ist das I/O-Port
des SCSI-Busses vorzugsweise dazu verwendet, über einen SCSI-Bus mit einer
jeweiligen Medien-Serversystemeinheit 102 zu koppeln. Das
SCSI-I/O-Port 202 koppelt mit einer SCSI-Steuerung 204.
Bei dem bevorzugten Ausführungsbeispiel
ist die SCSI-Steuerung die SCSI-Steuerung NCR53C720, die von National
Cash Register (NCR) produziert wird.
-
Jeder
MPEG-Decoderkasten 122 enthält auch einen seriellen Porteingang
zum Empfangen von seriellen Daten. Der jeweilige serielle Porteingang 212 koppelt
mit einem lokalen Prozessor 214. Beim bevorzugten Ausführungsbeispiel
ist der lokale Prozessor 214 der Prozessor MC68340, der
von Motorola Corporation hergestellt wird.
-
Die
SCSI-Steuerung 204 und der lokale Prozessor 214 koppeln
mit einer Systembusschnittstelle 222. Ein Speicher, vorzugsweise
ein dynamischer Direktzugriffsspeicher (DRAM) 216, koppelt
mit der Systembusschnittstelle 222. Der DRAM hat vorzugsweise
512 K × 16.
Ein nichtflüchtiger
Speicher 218, vorzugsweise ein EEPROM (ein elektrisch löschbarer
programmierbarer ROM), ist auch mit der Systembusstelle 222 gekoppelt.
Der EEPROM 218 speichert Firmware, die den Betrieb der
SCSI-Steuerung 204 gemäß der vorliegenden
Erfindung steuert. Bei einem Einschalten wird die im EEPROM 218 gespeicherte
Firmware in den DRAM 216 geladen, und dann wird die Firmware
durch die SCSI-Steuerung 204 von dem DRAM 216 ausgeführt.
-
Wie
es nachfolgend diskutiert ist, erfasst die Firmware die SCSI-Steuerung 204,
um die logische Gerätenummer
# (LUN) während
einer Videoübertragung
zu untersuchen und Zielortkanalinformation zu bestimmen, d. h. denjenigen
der sechs Kanäle
zu bestimmen, auf welchem die Daten übertragen werden sollten. Wie
es nachfolgend diskutiert wird, ist dann, wenn die LUN 0 ist, Anfangsblockinformation
bei dem Videodatenblock enthalten, welche die Kanalnummer anzeigt.
Wenn die LUN nicht 0 ist, dann ist kein Anfangsblock vorangestellt,
und die SCSI-Steuerung 204 verwendet die LUN zum Bestimmen
des geeigneten MPEG-Kanals.
-
Die
Systembusschnittstelle 222 koppelt mit einem Bus 224,
wie es gezeigt ist. Die zwei MPEG-Decodertochterkarten-Einsteckplätze 226 und 227 sind
mit dem Bus 224 gekoppelt. Der Bus ist vorzugsweise der
S-Bus, aber andere Bustypen können
verwendet werden. Zwei MPEG-Decoderlogikblöcke 230 sind mit dem
Bus 224 gekoppelt. Die MPEG-Decoderlogikblöcke 230 sind
vorzugsweise identisch und nur einer wird der Annehmlichkeit halber
nachfolgend beschrieben.
-
Wie
es gezeigt ist, enthält
jeder MPEG-Decoderlogikblock 230 einen ersten Transceiver 232, der
mit dem Systembus 224 gekoppelt ist. Ein First-In-First-Out-(FIFO-)Puffer 234 koppelt
mit dem Transceiver 232. Jeder von dem Transceiver 232 und dem
FIFO-Puffer 234 koppeln mit einem MPEG-2-Decoderblock 242.
Ein Speicherblock 244, vorzugsweise ein 2 M × 16 DRAM,
koppelt mit dem MPEG-2-Decoderblock 242. Der MPEG- 2-Decoderblock ist
vorzugsweise der HM8211, der von Hitachi produziert wird.
-
Der
MPEG-2-Decoderblock 242 koppelt mit einem Videocodierer 252.
Der Videocodierer 252 enthält eine Analog/Digital-Umwandlungslogik
und erzeugt ein analoges Basisband-Videosignal. Der MPEG-2-Decoderblock 242 koppelt
auch mit einem Audio-Codierer/Decoder (Codec) 254, der
den digitalen Audioteil des decodierten MPEG-Signals in analoge
Audiosignale umwandelt. Jeder von dem Videocodierer 252 und
dem Codec 254 sind über
einen Bus mit einem Eingabe/Ausgabe-Port 262 der MPEG-Decoderleiterplatte 180 gekoppelt.
-
Wie
es oben angegeben ist, können
eine oder mehrere MPEG-2-Decodertochterkarten 182 mit
dem Systembus 224 gekoppelt sein, um zwei zusätzliche
Stromverarbeitungskanäle
zur Verfügung zu
stellen. Wie es gezeigt ist, weist jede MPEG-2-Decodertochterkarte 182 zwei
MPEG-Decoderlogikblöcke 230 auf,
wie es oben beschrieben ist.
-
Das
analoge I/O-Port 262 der MPEG-Decoderleiterplatte 180 gibt
vorzugsweise ein analoges Basisbandsignal mit einer Vielzahl von
Datenströmen oder
Kanälen
aus. Beim bevorzugten Ausführungsbeispiel
der Erfindung ist ein Modulatorkasten 184 mit dem I/O-Ausgangsport 262 zum
Umwandeln des analogen Basisbandsignals in ein analoges Bandpasssignal
gekoppelt. Wie es gezeigt ist, weist der Modulatorkasten 184 eine
Vielzahl von Modulatoren 284 für jeden der jeweiligen Kanäle auf.
Jeder der Modulatoren 284 ist mit einem Kombinierer 286 gekoppelt,
der die modulierten Systeme in ein einziges analoges Signal kombiniert,
wie beispielsweise ein VHF- oder UHF-Signal, mit einer Vielzahl
von Kanälen.
Der Kombinierer 286 stellt eine Ausgabe über ein Anschlussstück 288 zur
Verfügung.
Der Ausgang kann gemäß irgendeinem
von verschiedenen Formaten sein, einschließlich des NTSC-Formats, des PAL-Formats
oder des SECAM-Formats.
-
Wie
es gezeigt ist, enthält
der Modulatorkasten 184 auch einen Eingang zum Empfangen
eines UHF-, VHF- oder Kabel-TV-Signals.
Die analoge Eingabe wird zum Kombinierer 286 geliefert
und wird als Teil der analogen Ausgabe vom I/O-Port 288 geliefert.
-
5 – Ablaufdiagramm
eines Medienservers
-
Nimmt
man nun Bezug auf 5, ist ein Ablaufdiagramm gezeigt,
das einen Betrieb des Computersystems 102 gemäß dem bevorzugten
Ausführungsbeispiel
der Erfindung darstellt. Wie es gezeigt ist, liest das Computersystem 102 dann,
wenn das Computersystem 102 gerade Videodaten oder Videoströme zu einem
der MPEG-Decoderkästen 122 überträgt, zuerst
die zu übertragenden
Daten aus dem Speichermedium aus.
-
Das
Computersystem 102 bestimmt dann in einem Schritt 504,
ob der Videodatenblock einen vorangestellten Anfangsblock enthält. Wie
es oben angegeben ist, stellen bestimmte Dateiensysteme, wie beispielsweise
das UNIX-Dateiensystem, Anfangsblockinformation einem Videodatenblock
voraus, wobei diese Anfangsblockinformation die MPEG-Kanalnummer
und die Anzahl von Bytes, die bei der Übertragung beteiligt sind,
enthält.
Die MPEG-Kanalnummer ist für
den MPEG-Decoderkasten 122 nötig, welcher ein Mehrfachkanal-MPEG-Decoder
ist, um die Videodaten richtig zu dem richtigen MPEG-Kanal zu führen. Jedoch
sorgen andere Dateiensysteme, wie beispielsweise das Medien-Dateiensystem
(MFS) nicht dafür,
dass einem Videodatenblock eine Anfangsblockinformation vorangestellt
wird.
-
Daher
bestimmt das Computersystem 102 im Schritt 504,
ob ein vorangestellter Anfangsblock bei dem Videodatenblock enthalten
ist. Wenn es so ist, dann ordnet der Hosttreiber, der auf dem Computersystem 102 ausführt, in
einem Schritt 508 eine logische Gerätenummer von Null (LUN 0) zu,
d. h. schreibt einen 0-Wert in das LUN-Feld des Befehlsdeskriptorblocks
der Übertragung.
Wie es weiter unten diskutiert ist, zeigt der in den Befehlsdeskriptorblock
geschriebene LUN 0-Wert der SCSI-Steuerung 204 in
dem MPEG-Decoderkasten 122 an, dass der Videodatenblock
einen vorangestellten Anfangsblock enthält. Der LUN 0-Wert wird auch
vorzugsweise in die Identifizierungsnachricht der SCSI-Übertragung geschrieben.
-
Auf
eine Beendigung des Schritts 508 hin führt der Hostserver 102 andere
Operationen durch, die zum Durchführen der Übertragung nötig sind,
und dann führt
der Server 102 in einem Schritt 512 die Datenübertragung
zu dem jeweiligen MPEG-Decoderkasten 122 basierend auf
der Ziel-ID des jeweiligen Kastens durch. Dann endet die Operation.
-
Wenn
im Schritt 504 bestimmt wird, dass kein vorangestellter
Anfangsblock bei den Videodaten enthalten ist, dann ordnet der Hosttreiber,
der im Computersystem 102 ausführt, in einem Schritt 506 eine
LUN-Nummer in dem Befehlsdeskriptorblock zu, was den jeweiligen
MPEG-Decoder-Zielortkanal anzeigt. Beim bevorzugten Ausführungsbeispiel
ordnet das Computersystem 102 eine von LUNs 1–6 zu oder schreibt
sie, und zwar entsprechend einem der jeweiligen sechs Kanäle des MPEG-Decoderkastens 122. Die
Kanaldaten werden somit im LUN-Feld des Befehlsdeskriptorblocks
codiert. Die jeweilige LUN-Nummer wird auch in die Identifizierungsnachricht
der SCSI-Übertragung
geschrieben.
-
Jede
der LUNs 1–6
hat eine Eins-zu-Eins-Entsprechung zu der jeweiligen MPEG-Kanalnummer
an dem MPEG-Decoderkasten 122. Wie es oben unter Bezugnahme
auf 4 diskutiert ist, enthält der MPEG-Decoderkasten 122 wenigstens
zwei MPEG-Kanäle und kann
bis zu sechs MPEG-Kanäle
enthalten. Wo kein vorangestellter Anfangsblock enthalten ist, wird
die MPEG-Kanalnummer,
die der Zielort für
die Daten ist, in das LUN-Feld des
Befehlsdeskriptorblocks geschrieben oder codiert, um dem MPEG-Decoderkasten 122 zu
ermöglichen,
die Kanalnummer zu bestimmen. Nach der Operation des Schritts 506 führt der Hostserver 102 andere
Operationen durch, die zum Durchführen der Übertragung nötig sind,
und führt
dann die Datenübertragung
in einem Schritt 512 durch.
-
6 – Ablaufdiagramm
des MPEG-Decoderkastens
-
Nimmt
man nun Bezug auf 6, ist ein Ablaufdiagramm gezeigt,
das einen Betrieb der SCSI-Steuerung 204 in einem jeweiligen
MPEG-Decoderkasten 122 darstellt. Wie es gezeigt ist, empfängt der
MPEG-Decoderkasten 122 in einem Schritt 602 Daten
von dem Videoserver 102. Diese Videoschreibdaten werden
in dem Schritt 602 durch den jeweiligen MPEG-Decoderkasten 122 in
Reaktion auf eine im Schritt 512 der 5 durchgeführte Übertragung
empfangen. Wie es oben diskutiert ist, wird der Videoserver während einer
Videodatenübertragung eine
Ziel-ID oder eine Ziel-Adresse verwenden, die den jeweiligen MPEG-Decoderkasten 122 anzeigt, der
der Zielort für
das gerade durchgeführte
Schreiben eines Videos ist.
-
In
einem Schritt 604 bestimmt die SCSI-Steuerung 204 im
jeweiligen MPEG-Decoderkasten 122 die logische Gerätenummer
(LUN). Die SCSI-Steuerung 204 bestimmt vorzugsweise die
LUN aus dem Befehlsdeskriptorblock (CDB) der SCSI-Übertragung.
Die LUN-Nummer kann auch aus der Identifizierungsnachricht der SCSI-Übertragung bestimmt
werden.
-
Wenn
die logische Gerätenummer
im Schritt 606 als Null bestimmt wird, dann zeigt dies
an, dass die bei der Übertragung
beteiligten Videodaten einen vorangestellten Anfangsblock enthalten.
Dieser vorangestellte Anfangsblock identifiziert die Übertragung
und zeigt auch die MPEG-Kanalnummer
an, welche der Zielort der Übertragung
ist. Somit decodiert die Steuerung 204 dann, wenn die SCSI-Steuerung 204 einmal
eine Übertragung
von LUN 0 im Schritt 606 erfasst, in einem Schritt 612 den
Anfangsblock für
die Funktion, z. B. ein Schreiben von Videodaten, und den MPEG-Kanal,
auf welchem die Daten zu übertragen
sind.
-
Wenn
die SCSI-Steuerung 204 im Schritt 606 bestimmt,
dass die logische Gerätenummer
nicht LUN 0 ist, sondern eher eine von jeweils LUN 1–6 ist, dann
verwendet die SCSI-Steuerung 204 in einem Schritt 614 die
empfangene LUN-Nummer als den zu der Übertragung gehörenden MPEG-Kanal.
Somit interpretiert die SCSI-Steuerung 204 dann, wenn die LUN-Nummer
im Befehlsdeskriptorblock 1 ist, dies als eine Videodatenübertragung,
die auf dem MPEG-Kanal 1 durchzuführen ist. Gleichermaßen wird
dann, wenn die LUN-Nummer 2 ist, der MPEG-Kanal, auf welchem die
Daten zu übertragen sind,
als der Kanal 2 bestimmt. Gleichermaßen gibt es eine Eins-zu-Eins-Entsprechung zwischen
LUN 1–6
und MPEG-Kanälen
1–6 bei
einem jeweiligen MPEG-Decoderkasten 122.
-
Daher
weist die vorliegende Erfindung ein System und ein Verfahren zum
Codieren des Vorhandenseins oder Nichtvorhandenseins einer vorangestellten
Anfangsblockinformation auf, sowie einer Kanalnummer, bei dem logischen
Gerätenummernfeld in
dem Befehlsdeskriptorblock einer SCSI-Übertragung. Dies lässt zu,
dass ein MPEG-Decoderkasten 122 mit
unterschiedlichen Dateiensystemformaten arbeitet, einschließlich Dateiensystemen,
die entweder eine Anfangsblockinformation voranstellen, oder die
keine Anfangsblockinformation voranstellen.
-
Obwohl
das System und das Verfahren der vorliegenden Erfindung in Zusammenhang
mit den beschriebenen Ausführungsbeispielen
beschrieben worden sind, ist es nicht beabsichtigt, dass sie auf
die hierin aufgezeigte spezifische Form beschränkt sind, sondern es ist im
Gegensatz beabsichtigt, solche Alternativen, Modifikationen und Äquivalente
abzudecken, wie sie auf vernünftige
Weise innerhalb des Schutzumfangs der Erfindung enthalten sein können, der
so ist, wie es durch die beigefügten
Ansprüche definiert
ist.