Forum: Mikrocontroller und Digitale Elektronik Frage zu TMDS Kodierung von Audio in HDMI


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von M. H. (bambel2)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine Frage zu HDMI.

Ich habe in dieser HDMI-spec: 
http://www.microprocessor.org/HDMISpecification13a.pdf
(Seite 76 im PDF, Seitennummer: 59)

gelesen, dass das Audiosignal in der Blanking-Zeit des Videos übetragen 
wird, neben den Control-Bits CTL[0..3], HSYNC und VSYNC.

Das ist ja alles auch schön und gut. Nun frage ich mich aber, wie das 
möglich ist. HDMI nutzt TMDS.

TMDS nutzt eine 8b/10b Kodierung. 4 Werte für das 10 bit Wort sind 
reserviert um die zwei Control-Bits des TMDS Kanals zu kodieren, ~500 
sind für die 8 bit Daten und wieder ~500 sind "reserved".

Wie funktioniert das dann, dass sowohl die Controlbits als auch die 
Daten für Audio etc. kodiert werden. TMDS kann soweit ich sehe nur 
entweder oder. Entweder 8 bit Daten oder 2 Control-Bits.

Ich hoffe jemand kennt sich damit aus. Ist ja schon ne recht spezielle 
Frage.

Vielen Dank

von M. H. (bambel2)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe es glaub' ich verstanden:

Wenn Audio/sonstige Daten gefahren werden, werden ganz normale Daten 
gesendet. Da es nicht möglich ist HSYNC/VSYNC zu kodieren in diesem 
Zeitraum, werden die Signale einfach zu den Daten gelegt.

Ein Empfänger, der nur DVI beherrschen würde und ein solcehs Signal 
abbekommt, würde diese Frames fälschlicherweise als Pixeldaten 
interpretieren, da er die, auf den CTL bits gesendete, Präambel nicht 
erkennt.

Liege ich damit richtig?

von Dergute W. (derguteweka)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

M. H. schrieb:
> TMDS nutzt eine 8b/10b Kodierung.
Hmmmnja - aber nicht "die uebliche" 8b/10b Kodierung.

iirc hast du 512 Codes fuer die Pixeldaten, und ein paar fuer 
HV-Sync/Blanking und dann noch 16 Codes fuer Audio. Wenn man das Audio 
nicht versteht, dann ist das trotzdem noch was anderes als die 
Pixeldaten.

Gruss
WK

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Bewertung
0 lesenswert
nicht lesenswert
Dazu gabs doch beim 33C3 nen Talk.
Zwar nicht direkt zu Audio, aber wie die TMDS 8/10 Codierung funzt und 
wie dort die Kontrollbits eingebettet sind.

Da:
https://media.ccc.de/v/33c3-8057-dissecting_hdmi

: Bearbeitet durch User
von M. H. (bambel2)


Bewertung
0 lesenswert
nicht lesenswert
Dergute W. schrieb:
> iirc hast du 512 Codes fuer die Pixeldaten, und ein paar fuer
> HV-Sync/Blanking und dann noch 16 Codes fuer Audio. Wenn man das Audio
> nicht versteht, dann ist das trotzdem noch was anderes als die
> Pixeldaten.

Das ist so leider nicht richtig. TMDS lässt die anderen Werte nicht zu.
In der Spezifikation von HDMI steht, dass das Audio in die normalen 
Daten eincodiert wird. Genau so wie andere Informationen.
Vor jedem datenaket wird über die Control Bits ctl0 bis ctl3 eine 
Präambel gesendet, die angibt, ob das nachfolgende Pixeldaten oder ein 
Datenpaket ist.

: Bearbeitet durch User
von Dergute W. (derguteweka)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

Hm - ich hab' jetzt keine Tabelle da, wo zu den 1024 moeglichen 
Eingangsbits jeweils aufgelistet ist, was das dann bedeutet - aber ich 
haett' jetzt gedacht, dass sich die 8 bit Videodaten und die TERC4 Codes 
nicht ins Gehege kommen. Wenn das nicht so ist - tja, dann spielt doch 
jeweils die Vorgeschichte eine Rolle,also ob jetzt grad' Blanking ist 
oder nicht.

Gruss
WK

von M. H. (bambel2)


Bewertung
0 lesenswert
nicht lesenswert
Dergute W. schrieb:
> dann spielt doch
> jeweils die Vorgeschichte eine Rolle,


Wie ich bereits gesagt habe: Es wird über die CTL[0..3] Bits eine 
Präambel gesendet, die angibt, ob die nachfolgenden Daten Pixeldaten 
oder eine "Data-Island" sind, die Audio etc beinhalten kann.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.