Visual-Basic

Visual Basic ist eine Entwicklungsumgebung von Microsoft. Dieses Programmierwerkzeug ist auch eine objekt-orientierte Programmiersprache, mit der man dialogorientierte Programme schreiben kann. Dies geschieht mit Hilfe eines Maskengenerators und  vorgegebenen Bibliotheken. Visual Basic basiert auf BASIC. VBScript ist eine Scriptsprache für das Internet und für Anwendungen und stammt von Visual Basic ab.                                                       
Siehe auch:    BASIC   Windows-Scripting-Host   Laufzeitumgebung   Dot-com   CLR   

  DVI

Digital Visual Interface (DVI). Digital Visual Interface ist eine Schnittstelle zur Übertragung von digitalen und analogen Videodaten. Das Übertragungsverfahren arbeitet mit Parallel/Seriell-Wandlung und Spannungsdifferenzen. Die maximale Auflösung  beträgt 2048x1536 Pixel.

Im PC-Bereich gilt DVI als Standardanschluss von TFT-Monitoren zur Grafikkarte. Auch TV-Geräte besitzen DVI-Anschlüsse für Eingangssignale von beispielsweise Computern oder DVD-Geräten. Um die Daten digital zu transportieren,  nutzt DVI den Standard TMDS (Transition Minimized Differential Signaling). TMDS mindert elektromagnetische Störungen und kann extrem hochauflösende Displays ansteuern. Wegen der Kupferbarriere  können die Daten nur mit maximal 165 MHz übertragen werden, was einer Auflösung von 1600 x 1200 Pixeln entspricht. Aus diesem Grund werden bei DVI-Kabeln  oft zwei getrennte TMDS-Leitungen (Dual-Link) verwendet. Damit erreicht man eine Auflösung von 2560 x 1600 Pixel (QXGA, Quad Extended Graphics Array).

Bei einer Single-Link TMDS-Verbindung beträgt die maximale Auflösung  1600 × 1200 Pixel (UXGA, Ultra-XGA) oder 1920 × 1200 Pixel bei WXGA (Wide-XGA).  Es gibt mehrere DVI-Typen: DVI-I (Integrated: Analog und Digital), DVI-D (Digital) und DVI-A (Analog).  Nachfolger von DVI ist im Computer-Bereich DisplayPort und in der Unterhaltungselektronik HDMI (High Definition Multimedia Interface).  DVI ist voll aufwärtskompatibel zu HDMI.                                         
Siehe auch:    HDCP   HD-DVD   HDTV   XGA   SXGA   QXGA   DVB   IPTV   HDMI   Grafikkarte

  HDCP

High-bandwith Digital Content Protection (HDCP) ist ein Verschlüsselungsverfahren für die Audio- und Videoübertragung über die Schnittstellen  DVI (Digital Visual Interface) und HDMI (High Definition Multimedia Interface). HDCP soll der Standard für HDTV in Europa werden. Probleme gibt es mit Grafikkarten ohne HDCP-Chip, da in diesem Fall  die Filme von Blu-Ray-Disc Geräten nur mit drastisch reduzierter Auflösung wiedergegeben werden (aus 1920x1080 Bildpunkten werden 960x540 Bildpunkte). Dies hängt auch davon ab, ob das Kopierschutzsystem  AACS die Option zur Bildverschlechterung Image Constraint Token (ICT) einsetzt. Dies ist nur eine Option, doch die Filmstudios Disney, Warner Home Video, Paramount und NBC Universal haben  schon Interesse angemeldet. Geräte, die HD-fähig sind, können mittels HDCP das Aufnehmen bzw. Kopieren von Videos verhindern. HDCP verhindert den Zugriff auf Video- und Audiomaterial innerhalb einer Verbindung zwischen Sender und Empfänger. Wenn ein  abspielendes Gerät (HD-DVD Spieler) eine HDCP-Verbindung fordert, muss das wiedergebende Gerät (TV, Monitor mit Grafikkarte, Beamer) auch HDCP unterstützen.                                               
Siehe auch:    HDTV   Kryptografie   AACS   Grafikkarte   HDMI   DVI   DVB   DVB-S   XGA   TV-Karte

  HDTV

High Definition Television = hochauflösendes Fernsehen. HDTV bezeichnet Normen, die sich durch eine höhere und sichtbare Zeilenzahl gegenüber dem bisherigen Fernsehen, einer erhöhten Auflösung und einem veränderten Bild-Seite Verhältnis (16:9)  auszeichnen. HDTV funktioniert mit Bildwechselraten von 25/50 Vollbilder pro Sekunde und 50 Halbbilder pro Sekunde (EBU, Europa) oder 24/30/60 Vollbilder pro Sekunde/60 Halbbilder pro Sekunde (FCC/ATSC-System, USA).  Das ATSC-Sytem (Advanced Television Systems Committee) soll in den USA das NTSC-System (National Television Systems Committee) ablösen.  Die höhere Zeilenzahl erlaubt einen geringeren Betrachtungsabstand von etwa dem 1,2- bis 2-fachen der Bildbreite. Bei dem bisherigen SDTV (Standard Definition TV) liegt der Wert etwa bei 3 bis 4,5. Dadurch ergibt sich ein  breitwandiger Bildeindruck, vergleichbar mit dem Kinoerlebnis. EDTV-Geräte (Enhanced Definition TV) bieten nur digital aufbereitete SDTV-Signale bzw. die Verarbeitung von HDTV-Signalen in geringerer Auflösung.

HDTV-Nomenklatur 
Die HDTV-Norm definiert sich aus folgender Grundnorm: Zeilenzahl + Bildaufbauverfahren + Bildwiederholrate. Die Zeilenzahl gibt die vertikale Bildauflösung wieder. Beim Bildaufbauverfahren handelt es sich um das Vollbildverfahren (progessive, Abk. "p")  oder das Zeilensprungverfahren (interlaced, Abk. "i"). Die EBU-Norm (European Broadcasting Union) gibt sowohl Vollbilder als auch Halbbilder bei der Bildwiederholrate an: aktuell gebräuchlich sind:  720p/50 (1280 × 720 Bildpunkte im Vollbildverfahren und 50 Vollbilder pro Sekunde) oder nach EBU als zukünftige Variante 1080p/50/60. Die europäischen Anbieter haben sich für 1080i/25 entschieden. Dementsprechend verlangt das EICTA-Siegel  European Information, Communications and Consumer Electronics Industry Technology Association) vom HD-Ready Standard, dass die Geräte die Formate 1080i und 720p bei 50 und 60 Hz unterstützen.  Gebräuchliche Bildauflösungen sind: 1280x720 Pixel (Half-HD) oder 1920x1080 Pixel (Full-HD). Für das HD-Ready Label ist Half-HD ausreichend. Bei der Anschaffung ist es sinnvoll, sich für ein Full-HD Gerät zu entscheiden.  Zusätzlich wird eine analoge als auch eine HDCP-fähige digitale Schnittstelle (HDMI oder DVI) verlangt. Bei der HDTV-Norm kann es zu Abweichungen kommen, da z. B. Kinofilme, welche als Vollbilder vorliegen, im  Zeilensprungverfahren übertragbar sind, die Vollbildeigenschaften sich jedoch aus beiden Halbbildern wiederherstellen lassen.  Diese Norm würde als 1080i/50 oder 1080i/25 ausgewiesen werden, kann aber auch als 1080psf/25 bezeichnet werden. PSF steht für Bildaufbauverfahren Progressive Segmented Frame. Logischerweise wird die Bildwiederholrate halbiert.  Der Unterschied in der Bildauflösung zu PAL beträgt bei 1280x720 Pixel das 2,2-fache und bei 1920x1080 Pixel das 5-fache.  Bei den Audio-Formaten herrscht Dolby Digital vor, es können aber auch alle herkömmlichen Formate des Digitalfernsehens oder der DVD-Technologie zum Einsatz kommen. Die Transportstöme nutzen alles von MPEG-1/-2 Audio-Layer-2 bis Dolby Digital (AC3).  Es kann sowohl Mono als auch Mehrkanalton verwendet werden.

Übertragungswege und HDTV-Receiver 
Übertragungswege für HDTV sind DVB (Digital Video Broadcasting), ISDB (Integrated Services Digital Broadcasting, seit 1999 in Tokio) oder ATSC. In Europa wird neben DVB-T und DVB-C vor allem DVB-S2 verwendet.  HDTV kann auch auf dem PC mit Erweiterungskarten empfangen werden. Ein Satellitensignal über DVB-S2 mit einer MPEG/AVC-Codierung erfordert entsprechend aktuelle Hardware: Empfangskonverter, Erweiterungskarten, Grafikkarten welche mit entprechender  Software für die MPEG/AVC Dekodierung den Hauptprozessor entlasten. Auch moderne Video-Spielkonsolen wie die Xbox 360 oder die PlayStation 3 untertützen die HD-Wiedergabe.  Für die Übertragung von HDTV benötigt man auf der Empfangsseite eine HDTV-fähige Set-Top-Box. Die Set-Top-Box muss die HDTV-Signale entschlüsseln und verarbeiten, sollte auch den MPEG-4 Kompressionsstandard beherrschen sowie die Modulationsnorm DVB-S2.  Der Empfang von HDTV ist auch terrestrisch (DVB-T) oder über das Internet (IPTV, Internet Protocol Television) möglich. Jedoch ist i.d.R. für jeden dieser Empfangswege ein spezieller HDTV-Receiver bzw. Tuner notwendig. Für HDTV gibt es derzeit keine  Doppeltuner die den Empfang über mehrere Wege erlauben.

Kopierschutz und HDCP
Mit Umstellung von SDTV auf HDTV soll die Möglichkeit eines verbesserten Kopierschutzes genutzt werden. Im HD-Ready Etikett ist auch HDCP  (High-bandwidth Digital Content Protection) integriert. Dadurch werden auch private Kopien verhindert, was von Verbraucherschützern kritisiert wird. Weiterhin ist ein Digital Rights Management (DRM) möglich, sowie eine  Signalverschlüsselung innerhalb der Hardware, z. B. durch das kryptografische Protokoll Digital Transmission Content Protection (DTCP). Eine weitere Schutzmöglichkeit ist das Integrieren eines Wasserzeichens.  Für die neue DVB Version 3.0 wird ein neues Kopierschutzsystem entwickelt: DVB-CPCM (DVB - Content Protection and Copy Management). CPCM kann zwischen Geräten innerhalb und ausserhalb einer "Authorized Domain" unterscheiden.  Das HDTV-Signal kann nach dem Empfang dann nur von Geräten innerhalb der Authorized Domain abgespielt werden. Die Authorized Domain kann neben der häuslichen Umgebung auch Orte wie einen PKW, einen Wohnwagen oder eine Ferienwohnung beinhalten.  Es wird auch unterschieden, ob der Inhalt innerhalb eines Hauses (Local Environment) oder innerhalb einer bestimmten geografischen Umgebung (Geographic Area) bleiben soll. Das Hochskalieren eines SDTV-Signals zu einem HDTV-Bild durch  Echtzeitinterpolation ist möglich, dadurch wird die Auflösung grösser, das Bild jedoch nicht detailreicher.

QuadHDTV und UHDV
Weiterentwicklungen von HDTV sind QuadHDTV mit vierfacher Pixelanzahl (3840x2160). Das Hochskalieren  von HDTV wird durch die doppelte Zeilen- und Spaltenanzahl erleichtert: jedes Pixel einer 1080i oder 1080p Quelle entspricht genau 4 Pixel eines QuadHDTV-Signals. In Japan wird bereits Ultra High Definition Video (UHDV) getestet.  Bei UHDV beträgt die maximale Auflösung 7680x4320 Pixel im 16:9 Bildformat bei einer Bildrate von 60 Hz. Es wird ein 22.2 Ton verwendet. UHDV schliesst die Lücke zwischen HDTV und dem digitalen Kino.
Siehe auch:    DVB   DVB-S   DVI   HDMI   HDCP   TV-Karte   YCbCr-Farbmodell   RGB   YUV-Farbmodell   IPTV

  CASE

Computer-Aided Software Engineering. CASE-Tools sind Software Entwicklungssysteme, die dem Entwickler Hilfen zur Erstellung komplexer Software an die Hand geben. Dabei wird der Entwicklungsprozess in Phasen unterteilt: Analyse, Konzeption,  Programmierung, Testen, Debugging und manchmal auch Re-Design (Anpassen an aktuelle Anforderungen, Erweiterungen, verschiedene Releases mit unterschiedlichem Funktionsumfang, neue oder andere Funktionen oder Features, Ausrichtungen, Zielgruppen,  Änderungen der anwendungsbezogenen fachlichen Paradigma).

Unterstützt werden kann auch das Schnittstellenmanagement zu Fremdsoftware. Moderne integrierte CASE-Tools bieten Möglichkeiten des Prototyping und eine  Vorgehensweise nach dem Wasserfallmodell der Softwareentwicklung (Initialisierung, Analyse, Entwurf, Realisierung, Einführung, Nutzung). Hilfsmittel sind grafische Visualisierungen der Entwicklungsprozesse, die Unterstützung der objektorientierten  Strukturierung durch UML (Unified Modeling Language), der Strukturierten Analyse (SA), des Strukturierten Design (SD) sowie der Datenmodellierung durch das Entity-Relationship-Modell (ERM). CASE-Werkzeuge sind oft  in integrierten Entwicklungsumgebungen (Integrated Development Environment (IDE)) enthalten. Beispiele für IDEs sind: Eclipse, Emacs, KDevelop, Zend Studio, Sun One Studio, Dev-C++, Anjuta, BabyDevelop, Code::Blocks oder Lazarus.

Bekannte  CASE-Tools sind:
UML: Simple System (SiSy), objectiF, Rational Rose
SA/SD: ARIS (Architektur integrierter Informationssysteme) der IDS-Scheer AG, case/4/0 der Firma  microTool, Simple System
ERM: Simple System, case/4/0, ORACLE Designer.
Weitere Tools sind Innovator der MID Enterprise Software Solutions GmbH ( → UML, SA/SD und ERM) sowie OlivaNova.                                           
Siehe auch:    UML   Strukturierte-Analyse   Ablaufdiagramm   Repository   Normalform   

  C-Plus-Plus
C++ Insertion Sort C++ Insertion Sort
C++ ist eine Weiterentwicklung von C und wurde 1985 von Bjarne Stroustrup präsentiert. Basierend auf C ist C++ jedoch objektorientiert. Mit C++ ist sowohl eine maschinennahe als auch eine gut strukturierte  Entwicklungsarbeit möglich. 

C++ Merkmale und Datenabstrahierung, Konzepte der Objekt-orientierten Programmierung 
Prinzipien der Datenabstraktion als auch generische Programmierung sind in C++ implementiert. Weitere Merkmale sind: prozedurale und modulare Programmierung, virtuelle Funktionen,  Ausnahmenbehandlung, Namensräume, Templates, Inline-Funktionen, Boolesche Typen, Typumwandlungen, Referenzen, die Möglichkeit zum Überladen von Operatoren und die C++ Standardbibliothek.  Typische Elemente des Klassenkonzeptes wie Polymorphismus, Vererbung (Inheritance) oder Destruktoren und Konstruktoren sowie das OOP-Konzept sind Teil von C++. 

C++ Entwicklung begann 1979 bei AT&T 
Stroustrup begann schon 1979 bei AT&T C++ zu entwickeln. Er erweiterte später C um ein Klassenkonzept und liess seine Erfahrungen mit Simula mit einfliessen. C++ hat wiederum Ada, Java, PHP und C# beeinflusst. Implementierungen von C++ sind in der  GNU Compiler Collection vorhanden, sowie durch Microsoft Visual C++ oder Borland C++ Builder erhältlich.  C++ heisst nicht D, da es als Erweiterung von C um die Objekt-Orientierung gedacht war und dem User ersparen sollte, mit zu viel Code-Zeilen zu tun zu haben.  C++ extrahierte einige Aspekte der Objekt-Orientierung und das Klassenkonzept von Simula, von Ada die Templates und Exceptions. Mit C++ soll eine bessere Datenabstrahierung als mit C möglich sein. 

C++-Literatur, Journale und Events 
Weiterführende Informationen über C++ findet man neben der Literatur von Stroustrup und anderen Autoren in eBooks, dem Journal of Object Oriented Programming (JOOP), den C++ Report oder dem C++ Users Journal oder in "Object".  Bekannte C++ Events sind die C++ World, Application Development, Object Technology, OOPSLA (Object-Oriented Programming, Systems, Languages, and Applications),  ECOOP (European Conference on Object-Oriented Programming) oder TOOLS (Technology of Object-Oriented Languages and Systems).  Im Bild ist der Sortieralgorithmus "Insertion Sort" in C++ wiedergegeben.                           
Siehe auch:    Programmiersprache-C   C-Sharp   Objektorientierte-Programmierung   GCC   Dot-NET   ASP-Dot-NET   Managed-C-Plus-Plus   C-Plus-Plus-CLI   Java   Sortieralgorithmus