DE112013007509T5 - Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen - Google Patents

Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen Download PDF

Info

Publication number
DE112013007509T5
DE112013007509T5 DE112013007509.1T DE112013007509T DE112013007509T5 DE 112013007509 T5 DE112013007509 T5 DE 112013007509T5 DE 112013007509 T DE112013007509 T DE 112013007509T DE 112013007509 T5 DE112013007509 T5 DE 112013007509T5
Authority
DE
Germany
Prior art keywords
data
encoding scheme
mode
network
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112013007509.1T
Other languages
English (en)
Other versions
DE112013007509B4 (de
Inventor
Yong Jiang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112013007509T5 publication Critical patent/DE112013007509T5/de
Application granted granted Critical
Publication of DE112013007509B4 publication Critical patent/DE112013007509B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Techniken und Mechanismen zum Verarbeiten von Teilen eines Audio-Video-Datenstroms. Bei einer Ausführungsform arbeitet eine Vorrichtung in einem ersten Modus zum Herunterladen von ersten Daten eines AV-Stroms über ein Netz, wobei die ersten Daten gemäß einem ersten Kodierungsschema enkodiert werden. Auf der Basis des aktuellen Zustands des Netzes kann die Vorrichtung zu einem zweiten Modus zum Herunterladen von zweiten Daten des AV-Stroms übergehen, die gemäß einem zweiten Kodierungsschemas enkodiert werden. Bei einer weiteren Ausführungsform unterstützt nur eines des ersten Kodierungsschemas und des zweiten Kodierungsschemas ein Skalierbarkeitsmerkmal. Die Vorrichtung wertet ferner die ersten heruntergeladenen Daten und die zweiten heruntergeladenen Daten aus, um zu bestimmen, ob weitere AV-Daten zum Abmildern einer Veränderung einer Erlebnisqualität für eine resultierende AV-Anzeige herunterzuladen sind.

Description

  • HINTERGRUND
  • 1. Technisches Gebiet
  • Diese Offenlegung betrifft generell das Netz-Streamen und insbesondere, jedoch nicht ausschließlich, das Bestimmen einer Qualitätsstufe für Audio-Video-Daten.
  • 2. Stand der Technik
  • Hypertext-Transfer-Protocol-(HTTP-)Streaming findet breite Anwendung als Form einer Multimedia-Lieferung über das Netz, wie z. B. das Internet. Eine HTTP-basierte Lieferung bietet einen zuverlässigen und einfachen Einsatz aufgrund der bereits weitverbreiteten Verwendung von sowohl HTTP als auch der zugrunde liegenden Transmission Control Protocol-/Internet Protocol-(TCP-/IP-)Protokolle. Ferner ermöglicht eine HTTP-basierte Lieferung einfache Streaming-Dienste durch Vermeiden von Netzadressenübersetzung (net address translation – NAT) und Firewall-Übertretungs-Problemen. Ein HTTP-basiertes Streaming bietet ferner die Möglichkeit zum Verwenden von Standard-HTTP-Servern und Caches anstelle von spezialisierten Streaming-Servern und weist aufgrund minimaler Zustandsinformationen auf der Serverseite eine bessere Skalierbarkeit auf.
  • Ein sich immer weiter verbreitender Mechanismus für die Netzlieferung von Medieninhalt ist die Client-gesteuerte Technologie, bekannt als Dynamic Adaptive Streaming over HTTP (DASH). Das DASH nutzt dadurch die zustandslose Natur des HTTP-Protokolls, dass ein Client einzelne Anforderungen jeweils für einen jeweiligen Teil von Audio-Video-(AV-)Daten sendet. Ein Server antwortet auf jede solche Anforderung durch Senden der entsprechenden Daten, wodurch dann die dieser Anforderung zugeordnete Transaktion beendet wird. Jede solche HTTP-Anfrage wird als vollständig autarke einmalige Transaktion gehandhabt.
  • Solche Verfahren haben jedoch verschiedene Nachteile hinsichtlich Veränderungen der Netzbandbreite. Wenn Client-Vorrichtungen bewegt werden und/oder diese ein 3G/LTE-Netz verwenden, ist die Netzbandbreite häufig übermäßig instabil. Theoretisch sollte dann, wenn sich die Netzbandbreite vergrößert, ein DASH-Client Mediensegmente mit einer höheren Bitrate anfordern und im Gegensatz dazu Segmente mit einer niedrigeren Bitrate anfordern, wenn sich die Netzbandbreite verkleinert. Starke Veränderungen der Typen von angeforderten Streaming-Daten können jedoch zu sichtbaren Artefakten in dem auf der Basis der Daten angezeigten Video führen. Alternativ können unzureichend starke Veränderungen der Typen von Streaming-Daten zu einer Erschöpfung der Netzbandbreite oder einer Erschöpfung von AV-Daten, die auf der Client-Vorrichtung gepuffert sind, führen.
  • Folglich besteht Bedarf an Mechanismen und Techniken zum effizienten Verändern des Herunterladens von AV-Daten im Kontext einer Adaptive-Streaming-Technologie, wie z. B. DASH.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die verschiedenen Ausführungsformen der vorliegenden Erfindung sind beispielhaft und keineswegs einschränkend in den Figuren der beiliegenden Zeichnungen dargestellt, in denen:
  • 1A ein Blockschaltbild mit Darstellung von Elementen eines Systems zum Austauschen eines Datenstroms gemäß einer Ausführungsform ist.
  • 1B ein Blockschaltbild mit Darstellung von Elementen von Audio-Video-Daten, die zum Zugreifen über ein Streaming-Netz zur Verfügung gestellt werden, gemäß einer Ausführungsform ist.
  • 2 ein Blockschaltbild mit Darstellung von Elementen einer Vorrichtung zum Zugreifen auf Audio-Video-Daten gemäß einer Ausführungsform ist.
  • 3 ein Ablaufdiagramm mit Darstellung von Elementen eines Verfahrens zum Zugreifen auf Audio-Video-Daten gemäß einer Ausführungsform ist.
  • 4A ein Ablaufdiagramm mit Darstellung von Elementen eines Verfahrens zum Zugreifen auf Audio-Video-Daten gemäß einer Ausführungsform ist.
  • 4B ein Ablaufdiagramm mit Darstellung von Elementen eines Verfahrens zum Zugreifen auf Audio-Video-Daten gemäß einer Ausführungsform ist.
  • 5A ein Zeitablaufdiagramm mit Darstellung von Elementen eines Austauschs von Streaming-Daten gemäß einer Ausführungsform ist.
  • 5B bis 5D Zeitablaufdiagramme jeweils mit Darstellung eines jeweiligen Austauschs eines Datenstroms sind.
  • 6 ein Blockschaltbild mit Darstellung von Elementen eines Rechnersystems zum Herunterladen eines Datenstroms gemäß einer Ausführungsform ist.
  • 7 ein Blockschaltbild mit Darstellung von Elementen einer Mobilvorrichtung zum Herunterladen eines Datenstroms gemäß einer Ausführungsform ist.
  • DETAILLIERTE BESCHREIBUNG
  • Hier diskutierte Ausführungsformen bieten verschiedentlich Techniken und Mechanismen für einen effizienten Übergang zwischen dem Herunterladen von verschiedenen (AV-)Daten, die jeweils einen jeweiligen Teil desselben Streaming-Inhalts darstellen. Eine Vorrichtung kann in einem ersten Modus arbeiten, um erste Daten eines AV-Stroms herunterzuladen und zu dekodieren, wobei die ersten Daten gemäß einem ersten Kodierungsschema enkodiert werden. Auf der Basis eines aktuellen Zustands eines Netzes kann die Vorrichtung zu einem zweiten Modus übergehen, um zweite Daten des AV-Stroms, die gemäß einem zweiten Kodierungsschema enkodiert werden, herunterzuladen und zu dekodieren. Bei einer Ausführungsform unterstützt nur eines des ersten Kodierungsschemas und des zweiten Kodierungsschemas ein Skalierbarkeitsmerkmal – z. B. das Skalierbarkeitsmerkmal, das eine Anreicherungsschicht-Möglichkeit aufweist, wie z. B. dasjenige eines Skalierbar-Video-Kodierungs-(scalable video coding – SVC-)Schemas. Des Weiteren kann die Vorrichtung die ersten heruntergeladenen Daten und die zweiten heruntergeladenen Daten auswerten, um zu bestimmen, ob weitere AV-Daten herunterzuladen sind, um eine Veränderung der Erlebnisqualität bei einer resultierenden AV-Anzeige abzumildern. Solche weiteren Daten können zusätzlich zu oder alternativ zu den heruntergeladenen zweiten Daten bei der Erzeugung der AV-Anzeigt verwendet werden.
  • Mit Bezug auf 1A wird ein Blockschaltbild von Vorgängen an einem Client und einem Server für Dynamic Adaptive Streaming over HTTP (DASH) gemäß einer oder mehreren Ausführungsformen diskutiert. Wie in 1A gezeigt ist, weist ein DASH-fähiges System 100 eine Plattform 160 auf, die in der Lage ist, Multimediadienste über ein Netz 140 von einem Server 110 zu erhalten. Die Plattform 160 kann die Hardware eines Personalcomputers (z. B. Desktop, Laptop, Notebook etc.), einer Mobilvorrichtung (z. B. Smartphone, Palmtop, Tablet), Smart-Fernseher, Set-Top-Box, Spielkonsole und einer anderen solchen Vorrichtungen umfassen, die zur Teilnahme an einem Austausch eines Datenstroms geeignet ist. Typischerweise umfasst die Plattform 160 einen Universalprozessor, dessen Software so programmiert ist, dass er verschiedene Funktionen ausführt. Die Software kann zum Beispiel in elektronischer Form über ein Netz auf den Prozessor heruntergeladen werden, oder sie kann alternativ oder zusätzlich auf einem gegenständlichen Medium, wie z. B. einem magnetischen, optischen oder elektronischen Speicher, vorgesehen sein und/oder gespeichert werden. Das Netz 140 kann ein Wide Area Network (WAN), wie z. B. das Internet, ein Metropolitan Area Network (MAN), ein Local Area Network (LAN), ein drahtgebundenes oder drahtloses Netz oder jedes andere geeignete Netz oder eine Kombination aus Netztypen umfassen.
  • Der Medienserver 110 kann der Plattform 160 Zugriff auf sämtliche der verschiedenen Daten bieten, die unterschiedliche jeweilige Versionen desselben Audio-Video-Inhalts (wie z. B. unterschiedliche Versionen desselben Fernsehprogramms, Films oder dergleichen) darstellen. Zum Beispiel kann der Medienserver 110 verschiedentlich sowohl AV-Daten 112a, die eine Version eines Inhalts darstellen, als auch AV-Daten 112b, die eine andere Version desselben Inhalts darstellen, aufweisen oder Zugriff auf diese haben. Die AV-Daten 112a und die AV-Daten 112b können unterschiedlichen jeweiligen Schemata zum Kodieren (Enkodieren und/oder Dekodieren) von AV-Daten entsprechen – wobei z. B. Teile der AV-Daten 112b gemäß einem Kodierungsschema enkodiert werden, das ein bestimmtes Skalierungsmerkmal unterstützt, und Teile der AV-Daten 112a gemäß einem jeweiligen Kodierungsschema enkodiert werden, das dieses Skalierbarkeitsmerkmal nicht unterstützt. Bei einer Ausführungsform umfasst das Skalierbarkeitsmerkmal eine Fähigkeit zum Ergänzen von Basis-Audio-Video-Informationen mit zusätzlichen Anreicherungs-Audio-Video-Informationen für die Erzeugung eines speziellen Frames einer angezeigten Videosequenz.
  • Als Erläuterung und nicht als Einschränkung können die AV-Daten 112b Basisschicht-(base layer – BL-)Frame-Informationen 130a und zugeordnete Anreicherungsschicht(enhancement layer – EL-)Informationen aufweisen, wie sie von den veranschaulichenden EL-Frame-Informationen 130b, EL-Frame-Informationen 130c, EL-Frame-Informationen 130d dargestellt sind. Die jeweiligen EL-Frame-Informationen 130b, 130c, 130d können verschiedentlich eine Anreicherung der BL-Frame-Informationen 130a relativ zu jedem eines oder mehrerer Video-Frames bieten. Zum Beispiel können die BL-Informationen 130a und die EL-Informationen 130b, 130c, 130d unterschiedliche Teile eines AV-Inhalts sein, die gemäß dem H.264/MPEG-4 Standard, veröffentlicht von ITU Telecommunication Standardization Sector (ITU-T) Video Coding Experts Group (VCEG) und ISO/IEC JTC1 Moving Picture Experts Group (MPEG) im Mai 2003, verschiedentlich enkodiert werden.
  • Alternativ oder zusätzlich können die AV-Daten 112a mehrere Sätze von Frames aufweisen – z. B. einschließlich einiger oder sämtlicher der veranschaulichenden Frames 120, Frames 122, Frames 124 – die jeweils eine jeweilige Version desselben Inhalts darstellen, der von den BL-Frame-Informationen 130a und den EL-Informationen 130b, 130c, 130d dargestellt wird. Bei einer Ausführungsform ermöglichen Sätze von AV-Daten 112a die Erzeugung von Anzeigebildern unabhängig voneinander – wobei z. B. keiner der Sätze von Frames 120, 122, 124 eine Anreicherung eines anderen der Sätze 120, 122, 124 bietet. Einige oder sämtliche der Sätze von Frames 120, 122, 124 können jeweils eine andere jeweilige Qualitätsstufe (z. B. einschließlich unterschiedlicher Auflösungsstufen, Spitzen-Rauschabstand und dergleichen) relativ zum Anzeigen desselben Audio-Video-Inhalts bieten.
  • Der Medienserver 110 kann Medieninhalt über einen (nicht gezeigten) Audio-/Video-Eingang empfangen, der zum Beispiel ein Live-Eingangsstrom oder ein zuvor gespeicherter Medieninhalt sein kann, wobei die Darstellung des Inhalts auf die Plattform 160 zu streamen ist. Bei einer solchen Ausführungsform kann der Medienserver 110 eine (nicht gezeigte) Logik zum Erzeugen einiger oder sämtlicher AV-Daten 112a, 112b auf der Basis des Medieninhalts aufweisen – z. B. einschließlich einer Logik zum Enkodieren des Medieninhalts und/oder Aufteilen des Medieninhalts in eine Reihe von Fragmenten oder Blöcken, die zum Streamen geeignet sind. Bei einer weiteren Ausführungsform empfängt der Medienserver 110 einen solchen enkodierten und/oder fragmentierten Inhalt von einem anderen Server oder Servern –, wobei z. B. der Medienserver 110 ein Webserver, Proxyserver, Gatewayserver oder dergleichen ist. Obwohl als Einzelserver gezeigt, kann die Funktionalität des Medienservers 110 alternativ bei einer Vielzahl von Netzservern implementiert sein.
  • Bei einer Ausführungsform weist die Plattform 160 eine Kommunikationslogik 162 – z. B. einschließlich eines Webbrowsers – zum Interagieren mit dem Netz 140 zwecks eines Austauschs 150 von Streaming-Daten von dem Medienserver 110 zu der Plattform 160 auf. Das DASH bietet eine Fähigkeit zum Lokalisieren mindestens eines Teils der Steuerung der ”Streaming-Session” auf der Plattform 160. Als Veranschaulichung und nicht als Einschränkung kann die Kommunikationslogik 162 eine oder einige oder viele 155 TCP-Verbindungen zu einem oder einigen Standard-HTTP-Servern oder -Caches öffnen, eine Medienpräsentationsbeschreibungs-(media presentation description – MPD-)Metadatendatei aufrufen, die Informationen über die Struktur und verschiedenen Versionen des Medieninhalts liefert, der auf dem Medienserver 110 gespeichert ist, einschließlich zum Beispiel unterschiedliche Bitraten, Frameraten, Auflösungen, Codectypen und so weiter. Die MPD-Informationen können zum Transportieren jeweiliger HTTP URLs von AV-Segmenten und zugeordneten Metadateninformationen zum Abbilden von Segmenten in die Medienpräsentationszeitlinie verwendet werden. Die Kommunikationslogik 162 kann unter Verwendung von HTTP GET- oder Teil-HTTP GET-Mitteilungen neue Daten in Blöcken anfordern, um kleinere Datensegmente (HTTP GET URL(FRAG1 REQ), FRAGMENT 1, HTTP GET URL(FRAGz REQ), FRAGMENT z) der ausgewählten Version der Metadatei mit einzelnen HTTP GET-Mitteilungen zu erhalten, wodurch das Streaming über kurze Downloads begrenzt wird. Die URL einer HTTP GET-Mitteilung kann verwendet werden, um dem Medienserver 110 mitzuteilen, welches Segment oder welche Segmente der Client anfordert. Folglich zieht die Kommunikationslogik 162 die Medien Segment für Segment (oder Subsegment für Subsegment auf der Basis von Bytebereichsanforderungen) von dem Medienserver 110. Die Plattform 160 kann ferner einen Medienplayer 168 zum Dekodieren und Wiedergeben solcher Streaming-Daten zwecks Erzeugung einer Sequenz von Anzeigebildern umfassen.
  • Die Implementierung von DASH in dem System 100 verleiht der Plattform 160 eine Fähigkeit zum automatischen Wählen einer anfänglichen Inhaltsrate, die mit der anfänglichen zur Verfügung stehenden Bandbreite übereinstimmt, ohne dass eine Verhandlung mit dem Netz 140 und/oder dem Medienserver 110 erforderlich ist, und zum dynamischen Umschalten zwischen unterschiedlichen Bitratendarstellungen des Medieninhalts, wenn sich die zur Verfügung stehende Bandbreite verändert. Folglich ermöglicht das Implementieren von DASH auf dem System 100 eine schnellere Anpassung an sich verändernde Netz- und Drahtlos-Verbindung-Bedingungen, Nutzerpräferenzen, Inhaltscharakteristiken und Vorrichtungsfähigkeiten, wie z. B. Anzeigeauflösung, Prozessorgeschwindigkeit und -ressourcen, Speicherressourcen und so weiter. Eine solche dynamische Anpassung bietet eine bessere Erlebnisqualität (quality of experience – QoE) für den Nutzer mit kürzeren Startverzögerungen, weniger Neupufferungsereignissen, besserer Videoqualität und so weiter. Beispiele für DASH-Technologien umfassen Microsoft IIS Smooth StreamingTM, Apple HTTP Live StreamingTM und Adobe HTTP Dynamic StreamingTM. Die DASH-Technologie kann von verschiedenen Standardorganisationen implementiert werden, einschließlich unter anderem Third Generation Partnership Project (3GPP), Moving Picture Experts Group (MPEG) und Open Internet Protocol Television (IPTV) Forum (OIPF).
  • Zum Beispiel kann bei einem Austausch 150 die Plattform 160 ein Herunterladen von AV-Daten dynamisch verändern, um eine Anpassung an Veränderungen der zur Verfügung stehenden Bitraten-Bandbreite und/oder einer oder mehrerer anderer Charakteristiken des Netzes 140 zu bewirken. Als Veranschaulichung und nicht als Einschränkung kann die Kommunikationslogik 162 eine oder mehrere Mitteilungen jeweils zum Anfordern einer jeweiligen Version des AV-Streaming-Inhalts zu der Eingangs-/Ausgangslogik 116 des Medienservers 110 senden. Der Medienserver 110 kann solche Anforderungen mit einer Selektorlogik 114 zum Auswählen von Daten bedienen, die zum Darstellen eines solchen Streaming-Inhalts gesendet werden. Eine solche Auswahl kann die Selektorlogik 114 umfassen, die Daten aus Teilen der AV-Daten 112a und/oder Teilen der AV-Daten 112b auswählt.
  • Während des Austauschs 150 kann eine Detektionslogik 164 eine Meldung empfangen, dass gemäß einem oder mehreren Kriterien das Netz 140 stabil (oder instabil) ist – oder zu werden erwartet wird. In Reaktion auf eine solche Meldung kann die Detektionslogik 164 einer Konfigurationslogik 166 einen Übergang der Plattform 160 zwischen einer Vielzahl von Betriebsmodi signalisieren, die zum Beispiel verschiedentlich unterschiedlichen jeweiligen Kodierungsschemata entsprechen. Ein solcher Übergang kann umfassen, dass die Konfigurationslogik 166 die Kommunikationslogik 162 zwischen einem Modus zum Herunterladen von Teilen der AV-Daten 112a und einem anderen Modus zum Herunterladen von Teilen der AV-Daten 112b neukonfiguriert. Alternativ kann ein solcher Übergang umfassen, dass die Konfigurationslogik 166 den Medienplayer 168 zwischen einem Modus zum Durchführen des Dekodierens eines Teils der AV-Daten 112a und einem anderen Modus zum Dekodieren von Teilen der AV-Daten 112b neukonfiguriert. Bei einer Ausführungsform kann ein Modus zum Zugreifen auf die AV-Daten 112a verschiedene Submodi umfassen, die jeweils zum Zugreifen auf ein unterschiedliches jeweiliges eines der Frames 120, Frames 122, Frames 124 vorgesehen sind.
  • Bei einer Ausführungsform weist die Plattform 160 eine Hardwarelogik und/oder Softwarelogik zum Verhindern oder anderweitigen Abmildern einer oder mehrerer Veränderungen der Erlebnisqualität auf, die andernfalls in Reaktion auf einen solchen Übergang zwischen den Modi der Plattform 160 auftreten können. Eine solche Logik kann eine oder mehrere Auswertungen auf der Basis der ersten AV-Daten, die vor einem Modenübergang heruntergeladen werden, und der zweiten AV-Daten, die nach demselben Modenübergang heruntergeladen werden, durchführen. Auf der Basis einer solchen einen oder mehreren Auswertungen detektiert die Kommunikationslogik 162, ob dritte AV-Daten von dem Medienserver 110 herunterzuladen sind. Wenn solche dritten AV-Daten heruntergeladen werden, können die dritten AV-Daten zusätzlich zu den oder anstelle der zweiten AV-Daten verarbeitet werden, um eine Veränderung einer Qualitätserlebnismetrik, die dem Anzeigen des gestreamten Inhalts zugeordnet ist, zu verhindern oder anderweitig abzumildern.
  • 1B zeigt Elemente von Audio-Video-Daten 170 zum Zugriff zwecks Austauschs eines Stroms von AV-Inhalt gemäß einer Ausführungsform. Teile der AV-Daten 170 können zum Beispiel in dem System 100 verschiedentlich ausgetauscht werden, wie z. B. beim Austausch 150 zwischen dem Medienserver 110 und der Plattform 160. Die AV-Daten 170 können einige oder sämtliche der Merkmale der AV-Daten 112a und/oder einige oder sämtliche der Merkmale der AV-Daten 112b aufweisen.
  • Bei einer Ausführungsform weist ein Format der AV-Daten 170 ein oder mehrere Merkmale von DASH MPD (Media Presentation Description) und/oder eine oder mehrere Erweiterungen von DASH MPD auf. Als Veranschaulichung und nicht als Einschränkung können die AV-Daten 170 Mediendateien aufweisen, die jeweils einer jeweiligen Periode einer Sequenz von Perioden für einen Inhaltsstrom entsprechen. Solche Dateien können jeweils zum Beispiel einer jeweiligen Zeitperiode zum Kommunizieren, Verarbeiten, Anzeigen oder anderweitigen Verarbeiten entsprechender AV-Daten entsprechen. Die Metadaten für jede Datei können eine jeweilige Zeit anzeigen – z. B. einen Abstand relativ zu einer Referenzzeit –, die jeder Datei zugeordnet ist.
  • Für eine spezielle Periode der Sequenz von Perioden kann die entsprechende Datei der AV-Daten 170 eine Vielzahl von Darstellungen jeweils für denselben Teil des Streaming-Inhalts, der dieser Periode zugeordnet ist, aufweisen oder referenzieren. Bei der in 1B dargestellten veranschaulichenden Ausführungsform umfassen die AV-Daten 170 jeweilige Dateien für eine Sequenz von Perioden 0, 1, 2 ... etc., von denen einige oder sämtliche jeweilige Darstellungen jeweils desselben Bilds oder derselben Sequenz von Bildern eines Films, Fernsehprogramms oder eines anderen solchen Inhalts aufweisen.
  • Zum Beispiel kann eine Datei 172 für die Periode 2 Darstellungen 0, 1, 2 ... etc. aufweisen oder einen Ort derselben referenzieren, die jeweils einem jeweiligen Kodierungsschema zugeordnet sind. Eine solche Darstellung – z. B. die veranschaulichende Darstellung 2 174 – kann Daten aufweisen, die gemäß einem Kodierungsschema, wie z. B. SVC, das ein Skalierbarkeitsmerkmal unterstützt, enkodiert sind. Bei einer Ausführungsform sind einige oder sämtliche der weiteren Darstellungen in der Datei 172 verschiedentlich gemäß jeweiligen Kodierungsschemata, die dieses Skalierungsmerkmal nicht unterstützen, enkodiert. Als Veranschaulichung und nicht als Einschränkung können die Darstellungen 0 und 1 der Datei 172 Darstellungen zum Erzeugen jeweiliger Anzeigebilder unabhängig voneinander und unabhängig von der Darstellung 2 174 sein.
  • Der Kürze halber wird ein Kodierungsschema, das nicht ein spezielles interessierendes Skalierbarkeitsmerkmal unterstützt, hier als ”Nicht-SVC-”Schema bezeichnet. Verschiedene Versionen von nicht-SVC-enkodiertem Inhalt können zum Beispiel auf der Basis unterschiedlicher H.264 AVC-(Advanced Video Coding)Operationen erzeugt werden. Die speziellen Typen eines oder mehrerer verwendeter Nicht-SVC-Schemata dürfen jedoch bestimmte Ausführungsformen nicht einschränken. Die verschiedenen Versionen von Nicht-SVC-Inhalt können jeweils einer unterschiedlichen jeweiligen QoE-Stufe entsprechen – wobei z. B. jede solche Qualitätsstufe eine Bitrate (z. B. 480 Kb/s für Qualitätsstufe 1, 720 Kb/s für Qualitätsstufe 2 und/oder dergleichen) für die jeweiligen enkodierten Daten aufweisen oder dieser anderweitig zugeordnet sein. Typischerweise weist ein SVC-enkodiertes Video die gleichen oder im Wesentlichen gleichen QoE-Charakteristiken wie diejenigen bestimmter Typen von nicht-SVC-enkodiertem Video auf, wenn die Bitrate des SVC-Videos in der Größenordnung von 110% derjenigen des Nicht-SVC-Videos liegt. Alternativ oder zusätzlich kann ein PSNR (Spitzen-Rauschabstand) ein Parameter zur Auswertung einer Qualitätsstufenmetrik für eines von beiden oder beide des SVC-Videos und des Nicht-SVC-Videos sein.
  • Bei einer Ausführungsform weist die Darstellung 2 174 Segmentinformationen 176 für eine Anzahl von herunterladbaren Mediensegmenten auf – z. B. zwanzig (20). Die Segmentinformationen 176 können Informationen für eine Basisschicht und eine gewisse Anzahl von Anreicherungsschichten – z. B. acht (8) –, die zum Bereitstellen einer Darstellung jedes der Mediensegmente verschiedentlich zur Verfügung stehen, aufweisen oder einen Ort für dieselben referenzieren. Als Veranschaulichung und nicht als Einschränkung können für jedes solche Mediensegment die Segmentinformationen 176 für jede der Basisschicht und der Anreicherungsschichten eine jeweilige Referenz zu einer Datei aufweisen, die Audio-Video-Daten für die Mediensegmentdarstellung dieser Schicht enthält. Solche Dateien sind in der Darstellung 176 durch Dateien ahs.svc, ahs-0-1.svc, ahs-1-1.svc ... etc. dargestellt.
  • Bei einer Ausführungsform können einige oder sämtliche der Darstellungen für eine Periode jeweils einer jeweiligen Stufe für eine Qualitätsmetrik zugeordnet sein, die eine Erlebnisqualität für das Anzeigen eines entsprechenden Inhalts beschreibt. Solche Qualitätsmetrikstufen können a priori Informationen liefern, die zum Beispiel auf den jeweiligen Kodierungsschemata für solche Darstellungen basieren. Als Veranschaulichung und nicht als Einschränkung kann ein solcher Bereich von Qualitätsmetrikstufen einen Bereich von null (0) bis acht (8) umfassen, wobei Darstellungen 0 und 1 Qualitätsmetrikstufen drei (3) bzw. sechs (6) zugeordnet sind. Alternativ oder zusätzlich kann die Darstellung 2 eine Basisschicht, die einer Qualitätsstufe null (0) zugeordnet ist, und Anreicherungsschichten aufweisen, die unterschiedlichen jeweiligen Qualitätsstufen von eins (1) bis acht (8) zugeordnet sind. Obwohl bestimmte Ausführungsformen in dieser Hinsicht nicht eigeschränkt sind, können sich solche QoE-Metrikwerte von Informationen, die Bitraten beschreiben, welche dem Kommunizieren solcher Darstellungen zugeordnet sind, unterscheiden – z. B. zusätzlich zu diesen bereitgestellt werden. Wie hier diskutiert, können solche Qualitätsmetrikinformationen für bereits heruntergeladene AV-Daten erzeugt und/oder anderweitig verarbeitet werden, um zu bestimmen, ob zusätzliche und/oder alternative AV-Daten zum Dekodieren herunterzuladen sind, um ein oder mehrere Anzeigebilder zu erzeugen.
  • 2 zeigt Elemente einer Vorrichtung gemäß einer Ausführungsform zum Verarbeiten eines Audio-Video-Stroms. Eine Vorrichtung 200 kann zum Beispiel einige oder sämtliche der Merkmale der Plattform 160 aufweisen. Bei einer Ausführungsform nimmt die Vorrichtung 200 an einem Austausch zum selektiven Zugreifen auf Teile von AV-Daten, wie z. B. AV-Daten 170, teil.
  • Bei einer Ausführungsform umfasst die Vorrichtung 200 eine Kommunikationslogik – durch die veranschaulichende Herunterladelogik 230 dargestellt – zum Empfangen eines Teils eines AV-Stroms 234 während eines ersten Betriebsmodus der Vorrichtung 200, wobei der erste Betriebsmodus einem ersten AV-Kodierungsschema entspricht. Die Herunterladelogik 230 – die zum Beispiel einen Teil des oder den gesamten Kommunikationsprotokollstapel, wie z. B. gemäß einem Open Systems Interconnection-(OSI-)Modell, aufweisen kann – kann Mitteilungen 232 senden, um verschiedentlich einen Streaming-Inhalt über ein Netz anzufordern. In Reaktion auf die Mitteilungen 232 können jeweilige Teile eines AV-Stroms 234 über die Zeit empfangen werden, wobei die Herunterladelogik 230 verschiedentlich solche Teile vor dem jeweiligen Dekodieren der Teile puffert – z. B. in einem Medienpuffer 240. Ein solches Dekodieren kann von einer Medienplayerlogik 250 durchgeführt werden, die in der Vorrichtung 200 enthalten oder mit dieser gekoppelt ist.
  • Die Vorrichtung 200 kann ferner eine Detektionslogik 205 zum Detektieren einer Stabilität oder Instabilität eines Netzes, über das die Vorrichtung 200 den Strom 234 empfängt, aufweisen. Zum Beispiel kann während des Empfangs des AV-Stroms 234 die Detektionslogik 205 eine Steuerung und/oder eine andere Signalisierung aus dem Netz empfangen oder anderweitig detektieren, wobei ein solches Signalisieren einen aktuellen oder erwarteten künftigen Zustand – z. B. einschließlich einer Bitratenkapazität – des Netzes spezifiziert oder anderweitig anzeigt. Die Detektionslogik 205 kann den angezeigten Zustand des Netzes mit einem Stabilitätsschwellwert während des ersten Betriebsmodus vergleichen. Auf der Basis eines solchen Vergleichs kann die Detektionslogik 205 der Konfigurationslogik der Vorrichtung 200 – z. B. einschließlich der veranschaulichenden Modenumschaltlogik 210 – einen Übergang der Vorrichtung 200 zwischen unterschiedlichen Betriebsmodi signalisieren.
  • Zum Beispiel kann ein erster Modus der Vorrichtung 200 die Betriebsfähigkeit der ersten Modenlogik 220 umfassen, die zum Beispiel der Herunterladelogik 230 signalisiert anzufordern, dass AV-Daten des AV-Stroms 234 gemäß dem ersten Kodierungsschemas enkodiert werden. Alternativ oder zusätzlich kann die erste Modenlogik 220 so ausgeführt sein, dass sie signalisiert, dass die Medienplayerlogik 250 solche AV-Daten mit einem ersten Dekodierer 252, der dem ersten Kodierungsschema zugeordnet ist, dekodiert – z. B. im Gegensatz zum Verwenden eines zweiten Dekodierers 254, der einem zweiten Kodierungsschema zugeordnet ist, das sich von dem ersten Kodierungsschema unterscheidet. Auf der Basis einer solchen Dekodierung durch den ersten Dekodierer 252 kann die Medienplayerlogik 250 einen Teil eines Ausgangs 260 zum Anzeigen eines oder mehrerer Bilder des gestreamten Inhalts erzeugen. Im Gegensatz dazu kann ein zweiter Modus der Vorrichtung 200 die Betriebsfähigkeit einer zweiten Modenlogik 225 umfassen, die zum Beispiel der Herunterladelogik 230 signalisiert anzufordern, dass weitere AV-Daten des AV-Stroms 234 gemäß dem zweiten Kodierungsschema enkodiert werden. Alternativ oder zusätzlich kann die zweite Modenlogik 225 signalisieren, dass die Medienplayerlogik 250 solche weiteren AV-Daten mit dem zweiten Dekodierer 254 dekodiert, um einen unterschiedlichen Teil des Ausgangs 260 zu erzeugen.
  • Bei einer Ausführungsform kann die Auswertung des Netzzustands durch die Detektionslogik 205 stattfinden, während sich die Plattform 200 in einem des ersten Modus und des zweiten Modus befindet. In Reaktion auf das Detektieren, dass das Netz stabil ist – oder alternativ in Reaktion auf das Detektieren, dass das Netz instabil ist – kann die Detektionslogik 205 der Modenumschaltlogik 210 signalisieren, von einem des ersten Modus und des zweiten Modus zu dem anderen des ersten Modus und des zweiten Modus überzugehen.
  • Zum Darstellen bestimmter Merkmale von verschiedenen Ausführungsformen wird hier ein Szenario mit Bezug auf einen Übergang vom ersten Modus der Vorrichtung 200 zum zweiten Modus diskutiert. Eine solche Diskussion kann jedoch erweitert werden, so dass sie zusätzlich oder alternativ auf andere Modenübergänge anwendbar ist – z. B. vom zweiten Modus zum ersten Modus. Bei einem veranschaulichenden Szenario kann die Modenumschaltlogik 210 einen Übergang zum zweiten Modus signalisieren, was dazu führt, dass der Medienpuffer 240 das letzte eine oder die letzten mehreren Frames, die gemäß dem ersten Kodierungsschema enkodiert werden und die vor dem Übergang weg vom ersten Modus der Vorrichtung 200 heruntergeladen worden sind, (zu einem Zeitpunkt) speichert. Aufgrund des Modenübergangs werden ein nächstes nachfolgendes Frame oder nächste nachfolgende Frames, die herunterzuladen sind, – und bei einer Ausführungsform in dem Medienpuffer 240 gespeichert werden – gemäß dem zweiten Kodierungsschema enkodiert.
  • Bei bestimmten Ausführungsformen wird geregelt, ob oder wie bei der Dekodierung von Frames durch den Medienplayer 250 zum Erzeugen des Ausgangs 260 dem letzten einen oder den letzten mehreren Frames gemäß dem ersten Kodierungsschema unmittelbar das nächste nachfolgende Frame oder die nächsten nachfolgenden Frames gemäß dem zweiten Kodierungsschemas folgt. Zum Beispiel kann die Vorrichtung 200 eine Logik zum Herunterladen von zusätzlichen und/oder alternativen AV-Daten zum Verhindern oder anderweitigen Abmildern einer Veränderung der Erlebnisqualität in Zusammenhang mit einem Übergang von dem zuletzt heruntergeladenen Frame oder Frames gemäß dem ersten Kodierungsschema zu dem unmittelbar nächsten nachfolgenden Frame oder Frames gemäß dem zweiten Kodierungsschema aufweisen. Die zweite Modenlogik 225 kann ein oder mehrere gepufferte Frames auswerten, um zu bestimmen, ob ein solcher Übergang einer inakzeptablen Veränderung der Erlebnisqualität für Betrachter der resultierenden Anzeige entspricht.
  • Zum Beispiel kann die zweite Modenlogik 225 eine Differenz zwischen jeweiligen Qualitätsmetrikstufen für jedes eines gepufferten Frames, das gemäß dem ersten Kodierungsschema enkodiert wird, und eines nächsten heruntergeladenen Frames, das gemäß dem zweiten Kodierungsschema enkodiert wird, auswerten. Wenn diese ausgewertete Differenz einige Testkriterien – z. B. einen Schwelldifferenzpegel – verletzt, kann die zweite Modenlogik 225 der Herunterladelogik 230 signalisieren, zusätzliche oder alternative AV-Daten zur Verwendung beim Bieten einer kleineren Veränderung der QoE herunterzuladen.
  • 3 zeigt Elemente eines Verfahrens 300 zum Austauschen von Streaming-AV-Daten gemäß einer Ausführungsform. Das Verfahren 300 kann zum Beispiel von der Vorrichtung 200 durchgeführt werden. Bei einer Ausführungsform wird das Verfahren 300 so durchgeführt, dass verschiedentlich Teile von Daten, die einige oder sämtliche der Merkmale der AV-Daten 112a und AV-Daten 112b aufweisen, ausgetauscht werden.
  • Das Verfahren 300 kann bei 310 das Empfangen eines ersten Teils eines AV-Stroms über ein Netz während eines ersten Betriebsmodus der Computerplattform umfassen. Bei einer Ausführungsform umfasst eine Vielzahl von Betriebsmodi der Computerplattform den ersten Betriebsmodus, der einem ersten AV-Kodierungsschema entspricht, und einen zweiten Betriebsmodus, der einem zweiten Kodierungsmodus entspricht, welcher sich vom ersten Betriebsmodus unterscheidet. Zum Beispiel kann das erste Kodierungsschema dazu vorgesehen sein, dass die Computerplattform Daten herunterlädt und/oder dekodiert, die gemäß dem ersten Kodierungsschema enkodiert werden, während das zweite Kodierungsschema dazu vorgesehen sein kann, dass die Computerplattform Daten herunterlädt und/oder dekodiert, die gemäß dem zweiten Kodierungsschema enkodiert werden.
  • Beim ersten Betriebsmodus kann bei dem Verfahren 300 bei 320 das Vergleichen eines Stabilitätszustands des Netzes mit einem ersten Schwellwert durchgeführt werden. Bei verschiedenen Ausführungsformen kann der Stabilitätszustand eines oder mehrerer der Bitratenkapazität des Netzes und einer Veränderungsrate einer solchen Bitratenkapazität (z. B. einschließlich einer Veränderungsrate erster Ordnung, einer Veränderungsrate zweiter Ordnung und/oder dergleichen) aufweisen. Auf der Basis des Vergleichs des Stabilitätszustands mit dem ersten Schwellwert bei 320 kann das Verfahren 300 bei 330 den Übergang der Computerplattform vom ersten Betriebsmodus zum zweiten Betriebsmodus umfassen. Bei einer Ausführungsform unterstützt nur eines des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein erstes Video-Skalierbarkeitsmerkmal, wie z. B. die Fähigkeit zum Ergänzen der Basisschichtinformationen mit Anreicherungsschichtinformationen für die Erzeugung eines Anzeigebilds. Bei einer Ausführungsform umfasst das Verfahren 300 ferner bei 340 das Empfangen eines zweiten Teils des AV-Stroms von Daten während des zweiten Betriebsmodus der Computerplattform.
  • Bei einer veranschaulichenden Ausführungsform kann das Vergleichen bei 320 das Vergleichen einer aktuellen Herunterladegeschwindigkeit mit einer Schwell-Herunterladegeschwindigkeit, das Vergleichen der aktuellen Herunterladegeschwindigkeit mit einer Herunterladegeschwindigkeit eines früheren Zeitpunkts – z. B. 5 Sekunden früher – und/oder eine Vielzahl von weiteren Vergleichen zum Detektieren der Netzstabilität oder -instabilität umfassen. Zum Beispiel kann der erste Schwellwert eine maximale Rate der Verringerung der Bitrate des Netzes oder einen Mindestpegel einer solchen Bitrate aufweisen. Wenn ein solcher Vergleich eine inakzeptabel kleine Bitrate, eine inakzeptabel große Verringerung der Bitrate und/oder verschiedene andere Anzeichen einer Netzinstabilität anzeigt, dann kann der Übergang bei 330 das Konfigurieren der Computerplattform für einen SVC-Betriebsmodus umfassen.
  • Alternativ kann dann, wenn das Vergleichen bei 320 stattdessen eine Netzstabilität anzeigt – wenn z. B. eine Veränderung der Netzbitrate über eine gewisse Zeitperiode kleiner ist als ein Schwellwert (wie zum Beispiel 10%) – der Übergang bei 330 das Konfigurieren der Computerplattform für einen Modus zum Verarbeiten von Daten umfassen, die gemäß einem oder mehreren Kodierungsschemata, die sich von einem SVC-Schema unterscheiden, enkodiert werden. Zum Beispiel kann der erste Schwellwert eine Mindestzeitperiode aufweisen, während der jede Veränderung der Bitrate des Netzes eine Vergrößerung ist. Entsprechend kann sich das Netz bei 320 als stabil herausstellen, wobei keine Verringerung der Netzbitrate während einer solchen Mindestzeitperiode detektiert wird.
  • Das Verfahren 300 kann eine oder mehrere (nicht gezeigte) weitere Operationen umfassen, die durchgeführt werden, während sich die Computerplattform im zweiten Betriebsmodus befindet, zu dem sie bei 330 übergeht. Zum Beispiel kann während des zweiten Betriebsmodus ein Verfahren 400 ferner das Detektieren umfassen, ob eine Differenz zwischen einer ersten Qualität des ersten Teils und einer zweiten Qualität des zweiten Teils einen zweiten Schwellwert übersteigt. Auf der Basis eines solchen Detektierens kann das Verfahren 400 das Bestimmen umfassen, ob die ersten AV-Daten weiter herunterzuladen sind – um z. B. eine Veränderung der Erlebnisqualität bei einem angezeigten Bild, die andernfalls aus dem Übergang bei 330 resultieren würde, abzumildern. Zum Beispiel können die ersten AV-Daten ein Bildframe darstellen, das ferner von einem des ersten Teils und des zweiten Teils dargestellt wird, wobei die ersten AV-Daten zum Darstellen des Bildframes anstelle des oder zusätzlich zum Verwenden des zweiten Teils zum Darstellen dieses Bildframes verwendet werden können.
  • Zum Beispiel kann dann, wenn der zweite Modus der SVC-Kodierung zugeordnet ist, die SVC-Modenlogik der Computerplattform die jeweiligen Qualitätsstufen des einen oder der mehreren Nicht-SVC-Segmente auswerten, die aktuell von der Computerplattform gepuffert werden, um zu bestimmen, ob weitere SVC-Daten herunterzuladen sind – z. B. zusätzlich zu dem nächsten einen oder mehreren SVC-Segmenten, die im Anschluss an den Übergang bei 330 bereits heruntergeladen worden sind. Als Veranschaulichung und nicht als Einschränkung können weitere Anreicherungsschichtinformationen für die bereits heruntergeladenen eine oder mehreren SVC-Segmente angefordert werden, wobei eine Differenz zwischen jeweiligen QoE-Stufen für die SVC- und Nicht-SVC-Segmente einen Schwellwert übersteigt. Der Schwellwertpegel kann zum Beispiel null (0) sein, obwohl bestimmte Ausführungsformen in dieser Hinsicht nicht eingeschränkt sind.
  • Zum Beispiel kann ein heruntergeladenes SVC-Segment B der Qualitätsstufe QB unmittelbar einem gepufferten Nicht-SVC-Segment A der Qualitätsstufe QA in einer Sequenz von Segmenten zum Darstellen von Streaming-Inhalt folgen. Wenn eine nicht null betragende Differenz D zwischen QB und QA angezeigt wird – wenn z. B. D = (QB – QA) – kann eine Anreicherungsschicht, die einer Qualitätsstufe von QB' = (QB – D/2) zugeordnet ist (oder dieser am nächsten liegt), anschließend in Reaktion auf das Detektieren der Differenz D aus dem Medienserver angefordert werden. Die Anreicherungsschicht kann dann zum Ergänzen eines bereits heruntergeladenen SVC-Segments verwendet werden, um einen glatteren Übergang zu einem QoE für das resultierende angezeigte Bild zu ermöglichen. Eine oder mehrere im Wesentlichen gleiche Qualitätsstufen – z. B. einschließlich QB'' = (QB – D/4), QB''' = (QB – D/16) und/oder dergleichen – können bestimmt und anschließend angewendet werden, um zu bestimmen, ob oder wie zeitlich später auftretende SVC-Segmente selektiv anzureichern sind, um eine QoE-Veränderung, die mit dem Übergang bei 330 in Zusammenhang steht, glatt vonstattengehen zu lassen.
  • Alternativ oder zusätzlich kann der Übergang bei 330 einen Übergang von einem Modus, der der SVC-Kodierung zugeordnet ist, zu einem Modus, der einem oder mehreren Nicht-SVC-Kodierungsschemata zugeordnet ist, umfassen. Bei einer solchen Ausführungsform kann die Nicht-SVC-Modenlogik der Computerplattform die jeweiligen Qualitätsstufen des einen oder der mehreren SVC-Segmente berücksichtigen, die aktuell von der Computerplattform gepuffert werden. Ein oder mehrere Nicht-SVC-Segmente, die im Anschluss an den Übergang bei 330 heruntergeladen werden, können gemäß einem anderen Nicht-SVC-Kodierungsschema selektiv durch alternative Segmente ersetzt werden. Wenn eine Differenz zwischen jeweiligen QoE-Metrikstufen für die heruntergeladenen Nicht-SVC- und SVC-Segmente einen Schwellwert übersteigt, kann das Verfahren 400 umfassen, dass die Computerplattform alternative Nicht-SVC-Segmente anfordert und herunterlädt, die zum Beispiel gemäß einem anderen Nicht-SVC-Kodierungsschema als demjenigen, das dem bereits heruntergeladenen einen oder mehreren Nicht-SVC-Segmenten zugeordnet ist, enkodiert werden. Die alternativen Nicht-SVC-Segmente können dekodiert und anstelle einiger oder sämtlicher Nicht-SVC-Segmente, die bei 340 empfangen werden, zum Erzeugen einer Bildanzeige verwendet werden.
  • 4A zeigt Elemente eines Verfahrens 400 zum Austauschen eines AV-Stroms gemäß einer Ausführungsform. Das Verfahren 400 kann mit einer Hardware durchgeführt werden, die zum Beispiel die Funktionalität der Plattform 160 und/oder die Funktionalität der Vorrichtung 200 bietet. Bei einer Ausführungsform umfasst das Verfahren 400 einige oder sämtliche der Merkmale des Verfahrens 300.
  • Das Verfahren 400 kann bei 405 das Empfangen von SVC-enkodierten Daten eines Datenstroms umfassen. Zum Beispiel kann das Empfangen bei 405 während des Betriebsmodus einer Plattform durchgeführt werden, die zum Herunterladen und Verarbeiten von SVC-Daten zum Erzeugen eines Teils einer Streaming-Bildanzeige vorgesehen ist. Während eines solchen Modus kann das Verfahren 400 ferner bei 410 eine Auswertung eines Zustands eines Netzes durchführen, aus dem die SVC-enkodierten Daten bei 405 empfangen werden. Das Auswerten bei 410 kann zum Beispiel das Vergleichen einer Bitratenkapazität oder einer anderen Netzcharakteristik mit einem Schwellpegel umfassen.
  • Auf der Basis des Auswertens bei 410 kann bei dem Verfahren 400 bei 415 bestimmt werden, ob eine Stabilität des Netzes angezeigt wird. Zum Beispiel kann die Stabilität des Netzes angezeigt werden, wenn keine Verringerung einer Netzbitrate für mindestens eine gewisse Mindest-Schwellzeitperiode – z. B. fünf (5) Sekunden – detektiert wird. Wenn die Stabilität des Netzes bei 415 nicht angezeigt wird, kann das Verfahren 400 zum Empfangen weiterer SVC-enkodierter Daten bei 405 zurückkehren. Wenn die Stabilität des Netzes jedoch bei 415 angezeigt wird, kann das Verfahren 400 bei 420 das Konfigurieren der Hardware zum Verarbeiten von Daten des AV-Stroms umfassen, die gemäß einem anderen Kodierungsschema als SVC enkodiert werden. Das Konfigurieren bei 420 kann zum Beispiel einige oder sämtliche der Merkmale des Übergangs bei 330 umfassen.
  • Bei einer Ausführungsform umfasst das Verfahren 400 ferner bei 425 das Empfangen von nicht-SVC-enkodierten Daten des AV-Stroms. Nicht-SVC-enkodierte Daten, die bei 425 heruntergeladen werden, können mit SVC-kodierten Daten, die zuletzt bei 405 heruntergeladen worden sind, verglichen werden. Zum Beispiel können jeweilige Qualitätsmetrikstufen für ein nicht-SVC-enkodiertes Frame und ein SVC-enkodiertes Frame ausgewertet werden, um bei 430 zu bestimmen, ob eine Differenz zwischen solchen Qualitätsmetrikstufen eine Schwellveränderung des QoE für ein Anzeigen von Streaming-Bildern übersteigt.
  • Wenn bei 430 bestimmt wird, dass die Differenz zwischen solchen Qualitätsmetrikstufen den Schwellwert nicht übersteigt, kann das Verfahren 400 enden oder alternativ zu weiteren Operationen eines hier diskutierten Verfahrens 450 weitergehen. Im Gegensatz dazu können dann, wenn bei 430 bestimmt wird, dass die Differenz zwischen solchen Qualitätsmetrikstufen den Schwellwert übersteigt, bei dem Verfahren 400 bei 435 weitere AV-Daten heruntergeladen werden, um die Differenz abzumildern. Zum Beispiel kann das Herunterladen bei 435 das Herunterladen eines oder mehrerer weiterer Frames, die gemäß einem unterschiedlichen Nicht-SVC-Kodierungsschema enkodiert werden, umfassen. Solch ein oder solche mehrere weitere Frames, die bei 435 heruntergeladen werden, können dekodiert werden – z. B. anstelle eines oder mehrerer nicht-SVC-enkodierter Frames, die bei 425 heruntergeladen werden –, und zwar für (nicht gezeigte) Operationen zum Erzeugen eines Teils eines angezeigten Streaming-Bilds. Bei einer Ausführungsform kann das Verfahren 400 nach solchen Operationen enden oder alternativ zu weiteren Operationen des Verfahrens 450 weitergehen.
  • 4B zeigt Elemente eines Verfahrens 450 zum Austauschen eines AV-Stroms gemäß einer Ausführungsform. Das Verfahren 450 kann mit einer Hardware durchgeführt werden, die zum Beispiel die Funktionalität der Plattform 160 und/oder die Funktionalität der Vorrichtung 200 bietet. Bei einer Ausführungsform umfasst das Verfahren 450 einige oder sämtliche der Merkmale des Verfahrens 300.
  • Das Verfahren 450 kann bei 455 das Empfangen von nicht-SVC-enkodierten Daten eines Datenstroms umfassen. Zum Beispiel kann das Empfangen bei 455 während des Betriebsmodus einer Plattform durchgeführt werden, die zum Herunterladen und Verarbeiten von Nicht-SVC-Daten zum Erzeugen eines Teils einer Streaming-Bildanzeige vorgesehen ist. Während eines solchen Modus kann das Verfahren 450 ferner bei 460 eine Auswertung eines Zustands eines Netzes durchführen, aus dem die nicht-SVC-enkodierten Daten bei 455 empfangen werden. Das Auswerten bei 460 kann zum Beispiel einige oder sämtliche der Merkmale des Auswertens bei 410 und/oder des Vergleichens bei 320 umfassen.
  • Auf der Basis des Auswertens bei 460 kann bei dem Verfahren 450 bei 465 bestimmt werden, ob eine Instabilität des Netzes angezeigt wird. Zum Beispiel kann die Instabilität des Netzes angezeigt werden, wenn die Bitrate des Netzes bei einem oder unterhalb eines gewissen Schwellpegels liegt, wobei eine Rate der Verringerung der Bitrate (oder eine Rate der Beschleunigung einer solchen Verringerung) einen maximalen Schwellpegel übersteigt oder dergleichen. Wenn die Instabilität des Netzes bei 465 nicht angezeigt wird, kann das Verfahren 450 zum Empfangen weiterer nicht-SVC-enkodierter Daten bei 455 zurückkehren. Wenn jedoch die Stabilität des Netzes bei 465 angezeigt wird, kann das Verfahren 450 bei 470 das Konfigurieren der Hardware zum Verarbeiten von Daten des AV-Stroms umfassen, die gemäß einem SVC-Kodierungsschema enkodiert werden. Das Konfigurieren bei 470 kann zum Beispiel einige oder sämtliche der Merkmale des Übergangs bei 330 umfassen.
  • Bei einer Ausführungsform umfasst das Verfahren 450 ferner bei 475 das Empfangen von SVC-enkodierten Daten des AV-Stroms. Die SVC-enkodierten Daten können bei 475 heruntergeladen und mit nicht-SVC-kodierten Daten, die zuletzt bei 455 heruntergeladen worden sind, verglichen werden. Zum Beispiel können jeweilige Qualitätsmetrikstufen für ein SVC-enkodiertes Frame und ein nicht-SVC-enkodiertes Frame ausgewertet werden, um bei 480 zu bestimmen, ob eine Differenz zwischen solchen Qualitätsmetrikstufen eine Schwellveränderung des QoE für ein Anzeigen von Streaming-Bildern übersteigt.
  • Wenn bei 480 bestimmt wird, dass die Differenz zwischen solchen Qualitätsmetrikstufen den Schwellwert nicht übersteigt, kann das Verfahren 450 enden oder alternativ zu weiteren Operationen des Verfahrens 400 weitergehen. Im Gegensatz dazu kann dann, wenn bei 480 bestimmt wird, dass die Differenz zwischen solchen Qualitätsmetrikstufen den Schwellwert übersteigt, das Verfahren 450 bei 485 weitere AV-Daten herunterladen, um die Differenz abzumildern. Zum Beispiel kann das Herunterladen bei 485 das Herunterladen einer oder mehrerer weiterer Anreicherungsschichten für einen Teil oder sämtliche der SVC-enkodierten Daten, die bereits bei 475 heruntergeladen worden sind, umfassen. Solche eine oder mehrere weitere Anreicherungsschichten, die bei 485 heruntergeladen werden, können dekodiert werden – z. B. in Kombination mit den SVC-enkodierten Frames, die bei 475 heruntergeladen werden –, und zwar für (nicht gezeigte) Operationen zum Erzeugen eines Teils der Streaming-Bildanzeige. Bei einer Ausführungsform kann das Verfahren 450 nach solchen Operationen enden oder alternativ zu weiteren Operationen des Verfahrens 450 weitergehen.
  • 5A bis 5D stellen jeweils Diagramme 500a, 500b, 500c, 500d dar, die jeweils Merkmale des AV-Streamings gemäß der Hardware zeigen, welche in einer Vorrichtung gemäß einer Ausführungsform arbeiten kann. Die Diagramme 500a, 500b, 500c, 500d umfassen jeweils Achsen 530a, 530b, 530c, 530d jeweils für eine Zeitperiode, während der ein entsprechender AV-Datenstrom heruntergeladen wird. Die Diagramme 500a, 500b, 500c, 500d umfassen ferner Achsen 510a, 510b, 510c, 510d für jeweilige Auftragungen 550a, 550b, 550c, 550d einer Netz-Bitratenkapazität während einer solchen Zeitperiode. Zum Darstellen von Merkmalen bestimmter Ausführungsformen zeigen die Auftragungen 550a, 550b, 550c, 550d die gleichen Übergänge zu den gleichen jeweiligen Zeiten t0, t1, t2, t3, t4 entlang den Achsen 510a, 510b, 510c, 510d. Die verschiedenen Übergänge der Auftragungen 550a, 550b, 550c, 550d – und deren zeitliche Koordinierung – sind jedoch lediglich veranschaulichender Natur und dienen nicht als Einschränkung bestimmter Ausführungsformen.
  • Die Diagramme 500a, 500b, 500c, 500d umfassen ferner Achsen 520a, 520b, 520c, 520d für jeweilige Auftragungen 560a, 560b, 560c, 560d jeder QoE-Metrikstufe für heruntergeladene Teile eines entsprechenden AV-Datenstroms. Die Auftragung 560a zeigt Veränderungen des QoE für Streaming-Daten, die gemäß Techniken, wie z. B. denjenigen von Verfahren 400 und/oder Verfahren 450, heruntergeladen werden. Die Auftragung 560b zeigt Veränderungen des QoE für Streaming-Daten, die gemäß einem Nicht-SVC-Modus, einschließlich unterschiedlicher Nicht-SVC-Submodi, heruntergeladen werden, wobei die AV-Daten, die gemäß unterschiedlichen Nicht-SVC-Kodierungsschemata (und nicht eines SVC-Kodierungsschemas) enkodiert werden, zu unterschiedlichen Zeiten auf der Basis von Veränderungen der Bitrate, die durch die Auftragung 550b dargestellt ist, selektiv heruntergeladen werden. Die unterschiedlichen Nicht-SVC-Schemata können jeweils einer jeweiligen QoE-Metrikstufe zugeordnet sein. Die Auftragung 560c stellt ferner Veränderungen des QoE für Streaming-Daten dar, die gemäß einem Nicht-SVC-Modus, einschließlich mehrerer Nicht-SVC-Modi, heruntergeladen werden, wobei der Übergang zwischen Nicht-SVC-Schemata relativ aggressiv (schnell) erfolgt im Vergleich zu dem Übergang, der von der Auftragung 560b dargestellt wird. Die Auftragung 560d stellt Veränderungen des QoE für Streaming-Daten dar, die nur gemäß einem SVC-Modus heruntergeladen werden – d. h. ohne Übergang von einer solchen SVC-Modenlogik zu einem alternativen Nicht-SVC-Modus oder -Modi.
  • Die Auftragung 560a weist Übergänge 540a auf, die in Reaktion auf den Abfall der Auftragung 550a zu einer Zeit t0 erfolgen. Die Auftragungen 550b, 550c, 550d weisen jeweilige Übergänge 540b, 540c, 540d auf, die verschiedentlich dem Übergang 540a entsprechen. Im Vergleich zu den Übergängen 540a erfolgt jedoch jeder der Übergänge 540b, 540c, 540d entweder relativ spät oder relativ abrupt. Bei späten Übergängen ist es wahrscheinlicher, dass sie zu einer Erschöpfung der Netzbandbreite führen, und bei abrupten Übergängen ist es wahrscheinlicher, dass sie zu bemerkbaren sichtbaren Artefakten in einer Anzeige von Streaming-Bildern führen.
  • Die Auftragung 560b weist ebenfalls einen Übergang 542a auf, der in Reaktion auf den Impuls in der Auftragung 550a zwischen den Zeiten t1 und t2 erfolgt. Die Auftragungen 550b, 550c, 550d weisen jeweilige Übergänge 542b, 542c, 542d auf, die dem Übergang 542a entsprechen. Im Vergleich zu dem Übergang 542a sind die Übergänge 542b und 542c relativ wackelig, da die Auftragung 560a keinen Abfall nach dem Übergang 542a, der dem Abfall bei der Auftragung 550a zu der Zeit t2 entspricht, aufweist. Vielmehr bieten QoE-Glättungstechniken, wie z. B. die hier diskutierten, vergleichsweise langsame inkrementale Veränderungen der QoE-Metrikstufe trotz Schwankungen bei der Auftragung 550a zwischen den Zeiten t1 und t3.
  • Die Auftragung 560a weist ferner einen Übergang 544a auf, der in Reaktion auf den Anstieg der Auftragung 550a zu der Zeit t3 erfolgt. Die Auftragungen 550b, 550c, 550d weisen jeweilige Übergänge 544b, 544c, 544d auf, die den Übergängen 544a entsprechen. Im Vergleich zu dem Übergang 544a sind die Übergänge 544b relativ spät abgeschlossen und erfolgt der Übergang 544c relativ abrupt. Es ist relativ wahrscheinlich, dass späte Anstiege des QoE für einen Datenstrom zu einer Erschöpfung der gepufferten Videoframes führt, während es wahrscheinlicher ist, dass der abrupte Anstieg des Übergangs 544c zu einer Anzeige mit mehr bemerkbareren sichtbaren Artefakten führt.
  • Die Auftragung 560a weist ferner Übergänge 546a auf, die in Reaktion auf den Abfall der Auftragung 550a zu der Zeit t4 erfolgen. Die Auftragungen 550b, 550c, 550d weisen jeweilige Übergänge 546b, 546c, 546d auf, die den Übergängen 546a entsprechen. Im Vergleich zu dem Übergang 546a erfolgen die Übergänge 546b, 546c, 546d jeweils später, abrupter oder beides. Diese großen Abfälle der QoE-Metrikstufen für die Auftragungen 550b, 550c, 550d können für einen Betrachter der resultierenden anzuzeigenden gestreamten Bilder sehr stark bemerkbar sein. Außerdem umfassen die Auftragungen 560b und 560d ferner jeweilige Absenkungen 548b, 548d in Reaktion auf den relativ großen Bitratenabfall zu der Zeit t4.
  • 6 ist ein Blockschaltbild einer Ausführungsform eines Rechnersystems, mit dem das Daten-Streaming implementiert werden kann. Ein System 600 stellt eine Rechnervorrichtung gemäß einer der hier beschriebenen Ausführungsformen dar und kann ein Laptop-Computer, ein Desktop-Computer, ein Spiele- oder Unterhaltungssteuerungssystem oder eine andere elektronischen Vorrichtung sein. Das System 600 kann einen Prozessor 620 aufweisen, der eine Verarbeitung, Operationsverwaltung und Ausführung von Anweisungen für das System 600 ermöglicht. Der Prozessor 620 kann jeden Typ von Mikroprozessor, zentraler Verarbeitungseinheit (central processing unit – CPU), Verarbeitungskern oder anderer Verarbeitungs-Hardware sein, der eine Verarbeitung für das System 600 ermöglicht. Der Prozessor 620 steuert die Gesamtoperation des Systems 600 und kann ein oder mehrere programmierbare Universal- oder Spezialmikroprozessoren, Digitalsignalprozessoren (DSPs), programmierbare Controller, anwendungsspezifische integrierte Schaltungen (application specific integrated circuits – ASICs), programmierbare logische Vorrichtungen (programmable logic devices – PLDs) oder dergleichen oder Kombinationen solcher Vorrichtungen sein oder aufweisen.
  • Ein Speichersubsystem 630 stellt den Hauptspeicher des Systems 600 dar und bietet eine temporäre Speicherung für den von dem Prozessor 620 auszuführenden Code oder für Datenwerte, die beim Ausführen einer Routine verwendet werden. Das Speichersubsystem 630 kann eine oder mehrere Speichervorrichtungen aufweisen, wie z. B. einen Nurlesespeicher (read-only memory – ROM), einen Flashspeicher, eine oder mehrere Varianten von Schreib-/Lesespeichern (random access memory – RAM) oder andere Speichervorrichtungen oder eine Kombination aus solchen Vorrichtungen. Das Speichersubsystem 630 speichert und hostet unter anderem ein Betriebssystem (operating system – OS) 636 zum Bieten einer Software-Plattform zum Ausführen von Anweisungen in dem System 600. Des Weiteren werden weitere Anweisungen 638 gespeichert und aus dem Speichersubsystem 630 ausgeführt, um die Logik und die Verarbeitung des Systems 600 zu bieten. Das OS 636 und die Anweisungen 638 werden von dem Prozessor 620 ausgeführt. Das Speichersubsystem 630 kann eine Speichervorrichtung 632 aufweisen, in der es Daten, Anweisungen, Programme oder Anderes speichert. Bei einer Ausführungsform weist das Speichersubsystem einen Speichercontroller 634 zum Bieten von Zugriff auf die Speichervorrichtung 632 auf.
  • Der Prozessor 620 und das Speichersubsystem 630 sind mit einem Bus/Bus-System 610 gekoppelt. Der Bus 610 ist eine Abstraktion, die einen oder mehrere separate physikalische Busse, Kommunikationsleitungen/-schnittstellen und/oder Punkt-zu-Punkt-Verbindungen darstellt, welche durch geeignete Brücken, Adapter und/oder Controller miteinander verbunden sind. Daher kann der Bus 610 zum Beispiel einen oder mehrere eines Systembusses, eines Peripheral-Component-Interconnect-(PCI-)Busses, eines HyperTransport- oder Industry-Standard-Architecture-(ISA-)Busses, eines Small-Computer-System-Interface-(SCSI-)Busses, eines universellen seriellen Busses (USB) oder eines Institute of Electrical and Electronics Engineers(IEEE)-Standard 1394-Busses (üblicherweise als ”Firewire” bezeichnet) umfassen. Die Busse des Busses 610 können ferner Schnittstellen in einer Netzschnittstelle 650 entsprechen.
  • Das System 600 kann ferner eine oder mehrere Eingangs-/Ausgangs-(input/output- I/O-)Schnittstelle(n) 640, eine Netzschnittstelle 650, eine oder mehrere interne Massenspeicherungsvorrichtung(en) 660 und eine Peripheriegeräte-Schnittstelle 670 aufweisen, die mit dem Bus 610 gekoppelt sind. Die I/O-Schnittstelle 640 kann eine oder mehrere Schnittstellenkomponenten aufweisen, über die ein Nutzer mit dem System 600 interagiert (z. B. Video-, Audio- und/oder alphanummerisches Verbinden über Schnittstelle). Die Netzschnittstelle 650 verleiht dem System 600 die Fähigkeit, mit entfernten Vorrichtungen (z. B. Servern, anderen Rechnervorrichtungen) über ein oder mehrere Netze zu kommunizieren. Die Netzschnittstelle 650 kann einen Ethernet-Adapter, drahtlose Zwischenverbindungskomponenten, USB (universeller serieller Bus) oder andere drahtgebundene oder drahtlose standardbasierte oder proprietäre Schnittstellen umfassen.
  • Eine Speicherungseinrichtung 660 kann jedes bekannte Medium zum Speichern von großen Mengen an Daten auf nichtflüchtige Weise sein oder ein solches aufweisen, wie z. B. eine oder mehrere Magnet-, Festkörper- oder optikbasierte Platten oder eine Kombination daraus. Die Speicherungseinrichtung 660 hält einen Code oder Anweisungen und Daten 662 in einem persistenten Zustand (d. h. der Wert wird auch bei einer Energieversorgungsunterbrechung des Systems 600 festgehalten). Die Speicherungseinrichtung 660 kann generisch als ”Speicher” angesehen werden, obwohl der Speicher 630 der Ausführungs- oder Betriebsspeicher zum Liefern von Anweisungen zu dem Prozessor 620 ist. Obwohl die Speicherungseinrichtung 660 nichtflüchtig ist, kann der Speicher 630 einen flüchtigen Speicher aufweisen (d. h. der Wert oder Zustand der Daten ist unbestimmt, wenn die Energieversorgung des Systems 600 unterbrochen ist).
  • Eine Peripheriegeräte-Schnittstelle 670 kann jede oben nicht spezifisch genannte Hardware-Schnittstelle umfassen. Peripheriegeräte beziehen sich generell auf Vorrichtungen, die abhängig mit dem System 600 verbunden sind. Eine abhängige Verbindung ist eine, bei der das System 600 die Software- und/oder Hardware-Plattform bereitstellt, auf der eine Operation ausgeführt wird und mit der ein Nutzer interagiert.
  • 7 ist ein Blockschaltbild einer Ausführungsform einer Mobilvorrichtung, mit der das Daten-Streaming implementiert werden kann. Eine Vorrichtung 700 stellt eine mobile Rechnervorrichtung, wie z. B. ein Rechner-Tablet, ein Mobiltelefon oder Smartphone, einen drahtlosfähigen E-Leser oder eine andere Mobilvorrichtung dar. Es versteht sich, dass bestimmte der Komponenten im Allgemeinen gezeigt sind und nicht sämtliche Komponenten einer solchen Vorrichtung in der Vorrichtung 700 gezeigt sind.
  • Die Vorrichtung 700 kann einen Prozessor 710 aufweisen, der die primären Verarbeitungsoperationen der Vorrichtung 700 durchführt. Der Prozessor 710 kann eine oder mehrere physikalische Vorrichtungen aufweisen, wie z. B. Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare logische Vorrichtungen oder andere Verarbeitungseinrichtungen. Die Verarbeitungsoperationen, die von dem Prozessor 710 durchgeführt werden, umfassen das Ausführen einer Betriebsplattform oder eines Betriebssystems, auf dem Anwendungen und/oder Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsoperationen umfassen Operationen, die mit einem I/O (Eingang/Ausgang) zu einem menschlichen Nutzer oder mit einer anderen Vorrichtung in Beziehung stehen, Operationen, die mit der Energieverwaltung in Beziehung stehen, und/oder Operationen, die mit dem Verbinden der Vorrichtung 700 mit einer anderen Vorrichtung in Beziehung stehen. Die Verarbeitungsoperationen können ferner Operationen umfassen, die mit einem Audio-I/O oder einem Anzeige-I/O in Beziehung stehen.
  • Bei einer Ausführungsform weist die Vorrichtung 700 ein Audiosubsystem 720 auf, das Hardware-(z. B. Audio-Hardware und Audio-Schaltungen) und Software-(z. B. Treiber, Codecs)Komponenten darstellt, die dem Liefern von Audiofunktionen zu der Rechnervorrichtung zugeordnet sind. Die Audiofunktionen können einen Lautsprecher- und/oder Kopfhörerausgang sowie einen Mikrofoneingang umfassen. Vorrichtungen für solche Funktionen können in die Vorrichtung 700 integriert sein oder mit der Vorrichtung 700 verbunden sein. Bei einer Ausführungsform interagiert ein Nutzer mit der Vorrichtung 700 durch Liefern von Audiobefehlen, die von dem Prozessor 710 empfangen und verarbeitet werden.
  • Ein Anzeigesubsystem 730 stellt Hardware-(z. B. Anzeigevorrichtungen) und Software-(z. B. Treiber)Komponenten dar, die eine visuelle und/oder taktile Anzeige zum Interagieren eines Nutzers mit der Rechnervorrichtung bereitstellt. Das Anzeigesubsystem 730 kann eine Anzeigeschnittstelle 732 aufweisen, die den speziellen Bildschirm oder die Hardware-Vorrichtung aufweisen kann, welche zum Bereitstellen einer Anzeige für einen Nutzer verwendet wird. Bei einer Ausführungsform umfasst die Anzeigeschnittstelle 732 eine von dem Prozessor 710 getrennte Logik zum Durchführen mindestens einer gewissen Verarbeitung, die mit der Anzeige in Beziehung steht. Bei einer Ausführungsform weist das Anzeigesubsystem 730 eine Berührungsbildschirmvorrichtung auf, die sowohl einen Ausgang als auch einen Eingang für einen Nutzer bereitstellt.
  • Ein I/O-Controller 740 stellt Hardware-Vorrichtungen und Software-Komponenten dar, die mit einer Interaktion mit einem Nutzer in Beziehung stehen. Der I/O-Controller 740 kann Operationen zum Verwalten der Hardware, die Teil des Audiosubsystems 720 und/oder Anzeigesubsystems 730 ist, durchführen. Des Weiteren stellt der I/O-Controller 740 einen Verbindungspunkt für weitere Vorrichtungen dar, die mit der Vorrichtung 700 verbunden sind, über die ein Nutzer mit dem System interagieren kann. Zum Beispiel können Vorrichtungen, die an die Vorrichtung 700 angeschlossen sein können, Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Videosysteme oder eine andere Anzeigevorrichtung, Tastatur- oder Tastenfeld-Vorrichtungen oder andere I/O-Vorrichtungen zur Verwendung bei spezifischen Anwendungen, wie z. B. Kartenlesern oder andere Vorrichtungen, umfassen.
  • Wie oben gesagt worden ist, kann der I/O-Controller 740 mit dem Audiosubsystem 720 und/oder dem Anzeigesubsystem 730 interagieren. Zum Beispiel kann eine Eingabe durch ein Mikrofon oder eine andere Audiovorrichtung einen Eingang oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtung 700 bereitstellen. Des Weiteren kann ein Audioausgang anstelle des oder zusätzlich zu dem Anzeigeausgang bereitgestellt werden. Bei einem weiteren Beispiel dient darin, wenn das Anzeigesubsystem einen Berührungsbildschirm aufweist, die Anzeigevorrichtung ferner als Eingabevorrichtung, die zumindest teilweise von dem I/O-Controller 740 verwaltet werden kann. Es kann ferner weitere Tasten oder Schalter an der Vorrichtung 700 zum Bereitstellen von I/O-Funktionen, die von dem I/O-Controller 740 verwaltet werden, geben.
  • Bei einer Ausführungsform verwaltet der I/O-Controller 740 Vorrichtungen, wie z. B. Beschleunigungsmesser, Kameras, Lichtsensoren und andere Umgebungssensoren, Gyroskope, Global-Positionierungs-System (GPS) oder eine andere Hardware, die in der Vorrichtung 700 enthalten sein kann. Der Eingang kann Teil einer direkten Nutzerinteraktion sein sowie einen Umgebungseingang in das System bereitstellen, um dessen Operationen zu beeinflussen (wie z. B. Filtern von Rauschen, Einstellen von Anzeigen für die Helligkeitsdetektion, Verwenden eines Blitzes für eine Kamera oder andere Merkmale).
  • Bei einer Ausführungsform weist die Vorrichtung 700 eine Energieverwaltung 750 auf, die Batterie-Energieverbrauch, Laden der Batterie und Merkmale, die mit einer Energiesparoperation in Beziehung stehen, verwaltet. Ein Speichersubsystem 760 kann (eine) Speichervorrichtung(en) 762 zum Speichern von Informationen in der Vorrichtung 700 aufweisen. Das Speichersubsystem 760 kann nichtflüchtige (Zustand verändert sich nicht, wenn die Energieversorgung der Speichervorrichtung unterbrochen ist) und/oder flüchtige (Zustand ist unbestimmt, wenn die Energieversorgung der Speichervorrichtung unterbrochen ist) Speichervorrichtungen umfassen. Der Speicher 760 kann Anwendungsdaten, Nutzerdaten, Musik, Fotos, Dokumente oder andere Daten sowie Systemdaten (ob langfristig oder temporär), die mit der Ausführung der Anwendungen und Funktionen des Systems 700 in Beziehung stehen, speichern. Bei einer Ausführungsform weist das Speichersubsystem 760 einen Speichercontroller 764 auf (der auch als Teil der Steuerung des Systems 700 angesehen werden kann und potenziell als Teil des Prozessors 710 angesehen werden kann). Der Speichercontroller 764 greift auf den Speicher 762 zu.
  • Eine Konnektivität 770 kann Hardware-Vorrichtungen (z. B. drahtlose und/oder drahtgebundene Konnektoren und eine Kommunikations-Hardware) und Software-Komponenten (z. B. Treiber, Protokollstapel) aufweisen, um die Vorrichtung 700 in die Lage zu versetzen, mit externen Vorrichtungen zu kommunizieren. Bei der Vorrichtung kann es sich um separate Vorrichtungen handeln, wie z. B. andere Rechnervorrichtungen, drahtlose Zugangspunkte oder Basisstationen sowie Peripheriegeräte, wie z. B. Headsets, Drucker oder andere Vorrichtungen.
  • Die Konnektivität 770 kann mehrere unterschiedliche Typen einer Konnektivität umfassen. Allgemein ist die Vorrichtung 700 mit einer Mobilfunkkonnektivität 772 und drahtlosen Konnektivität 774 dargestellt. Die Mobilfunkkonnektivität 772 bezieht sich generell auf eine Mobilfunknetzkonnektivität, die von drahtlosen Trägern bereitgestellt wird, wie z. B. über GSM (globales System für Mobilkommunikation) oder Varianten oder Ableitungen davon, CDMA (Codemultiplexverfahren) oder Varianten oder Ableitungen davon, TDM (Zeitmultiplexverfahren) oder Varianten oder Ableitungen davon, LTE (Long Term Evolution – auch als ”4G” bezeichnet) oder andere Mobilfunkdienststandards. Die drahtlose Konnektivität 774 bezieht sich auf eine drahtlose Konnektivität, bei der es sich nicht um Mobilfunk handelt, und kann persönliche Netze (wie z. B. Bluetooth), lokale Netze (wie z. B. WiFi) und/oder Fernnetze (wie z. B. WiMax) oder eine andere drahtlose Kommunikation umfassen. Die drahtlose Kommunikation bezieht sich auf die Übertragung von Daten unter Verwendung einer modulierten elektromagnetischen Strahlung durch ein nichtfestes Medium. Die drahtgebundene Kommunikation erfolgt durch ein festes Kommunikationsmedium.
  • Peripheriegeräteverbindungen 780 umfassen Hardware-Schnittstellen und -Konnektoren sowie Software-Komponenten (z. B. Treiber, Protokollstapel) zum Herstellen von Peripheriegeräteverbindungen. Es versteht sich, dass die Vorrichtung 700 sowohl eine Peripherievorrichtung (”zu” 782) zu einer anderen Rechnervorrichtung sein kann als auch mit dieser verbundene Peripherievorrichtungen (”von” 784) aufweisen kann. Die Vorrichtung 700 umfasst üblicherweise einen ”Andock”-Konnektor zum Verbinden mit anderen Rechnervorrichtungen zu Zwecken, wie z. B. Verwalten (z. B. Herunterladen und/oder Hochladen, Verändern, Synchronisieren) von Inhalt auf der Vorrichtung 700. Des Weiteren kann ein Andock-Konnektor einer Vorrichtung 700 ermöglichen, mit bestimmten Peripheriegeräten verbunden zu werden, die es der Vorrichtung 700 ermöglichen, zum Beispiel einen Inhaltsausgang zu audiovisuellen oder anderen Systeme zu steuern.
  • Zusätzlich zu einem proprietären Andock-Konnektor oder einer anderen proprietären Verbindungshardware kann die Vorrichtung 700 Peripheriegeräteverbindungen 780 über gängige oder standardbasierte Konnektoren herstellen. Gängige Typen können einen Universell-Seriell-Bus-(USB-)Konnektor (der jede Anzahl von unterschiedlichen Hardware-Schnittstellen aufweisen kann), DisplayPort, einschließlich MiniDisplayPort (MDP), High Definition Multimedia Interface (HDMI), Firewire oder einen anderen Typ umfassen. Es sei darauf hingewiesen, dass bei verschiedenen Ausführungsformen einige oder sämtliche Komponenten in einem oder jedem der in 6 und 7 gezeigten Systeme in einer System-on-Chip-(SoC-)Architektur kombiniert sein können.
  • Bei einer Implementierung umfasst eine Vorrichtung eine Kommunikationslogik zum Empfangen eines ersten Teils eines Audio-Video-(AV-)Stroms über ein Netz während eines ersten Betriebsmodus der Computerplattform, wobei der erste Betriebsmodus einem ersten AV-Kodierungsschema entspricht. Die Vorrichtung umfasst ferner eine Detektionslogik zum Durchführen eines Vergleichs eines Stabilitätszustands des Netzes mit einem ersten Schwellwert während des ersten Betriebsmodus und eine Konfigurationslogik für den Übergang der Computerplattform auf der Basis des Vergleichs vom ersten Betriebsmodus zu einem zweiten Betriebsmodus, der einem zweiten AV-Kodierungssystem entspricht, wobei nur eines des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Videoskalierbarkeitsmerkmal unterstützt, wobei die Kommunikationslogik zum Empfangen eines zweiten Teils des AV-Stroms von Daten auf der Basis des zweiten Betriebsmodus der Computerplattform vorgesehen ist.
  • Bei einer Ausführungsform umfasst die Vorrichtung ferner eine zweite Modenlogik zum Bestimmen auf der Basis einer Differenz zwischen einer ersten Qualität des ersten Teils und einer zweiten Qualität des zweiten Teils, ob die ersten AV-Daten herunterzuladen sind. Bei einer weiteren Ausführungsform ist die zweite Modenlogik zum Detektieren während des zweiten Betriebsmodus, ob eine Differenz zwischen der ersten Qualität und der zweiten Qualität einen zweiten Schwellwert übersteigt, und zum Herunterladen der ersten AV-Daten in Reaktion darauf, dass die Differenz den zweiten Schwellwert übersteigt, vorgesehen. Bei einer weiteren Ausführungsform unterstützt das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei die zweiten Modenlogik das Herunterladen der ersten AV-Daten zum Anreichern des zweiten Teils bestimmt.
  • Bei einer weiteren Ausführungsform unterstützt das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei die zweite Modenlogik das Herunterladen der ersten AV-Daten als Alternative zu dem zweiten Teil bestimmt. Bei einer weiteren Ausführungsform stellen die ersten AV-Daten ein AV-Frame dar, das auch von einem des ersten Teils und des zweiten Teils dargestellt wird. Bei einer weiteren Ausführungsform unterstützt das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich eine Stabilität des Netzes anzeigt. Bei einer weiteren Ausführungsform weist der erste Schwellwert eine Mindestzeitperiode auf, während der jede Veränderung einer Bandbreite des Netzes eine Vergrößerung ist. Bei einer weiteren Ausführungsform unterstützt das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich eine Instabilität des Netzes anzeigt. Bei einer weiteren Ausführungsform weist der erste Schwellwert eine maximale Verkleinerungsrate einer Bandbreite des Netzes auf. Bei einer weiteren Ausführungsform weist der erste Schwellwert ein Mindestmaß einer Bandbreite des Netzes auf. Bei einer weiteren Ausführungsform ist das eine des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Skalierbare-Videokodierung-Schema.
  • Bei einer weiteren Implementierung umfasst ein Verfahren an einer Computerplattform das Empfangen eines ersten Teils eines Audio-Video-(AV-)Stroms über ein Netz während eines ersten Betriebsmodus der Computerplattform, wobei der erste Betriebsmodus einem ersten AV-Kodierungsschema entspricht, und während des ersten Betriebsmodus das Vergleichen eines Stabilitätszustands des Netzes mit einem ersten Schwellwert. Das Verfahren umfasst ferner auf der Basis des Vergleichs des Stabilitätszustands mit dem ersten Schwellwert den Übergang der Computerplattform vom ersten Betriebsmodus zu einem zweiten Betriebsmodus, der einem zweiten AV-Kodierungsschema entspricht, wobei nur eines des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Videoskalierbarkeitsmerkmal unterstützt. Das Verfahren umfasst ferner das Empfangen eines zweiten Teils des AV-Stroms von Daten während des zweiten Betriebsmodus der Computerplattform.
  • Bei einer Ausführungsform umfasst das Verfahren ferner während des zweiten Betriebsmodus das Detektieren, ob eine Differenz zwischen einer ersten Qualität des ersten Teils und einer zweiten Qualität des zweiten Teils einen zweiten Schwellwert übersteigt, und auf der Basis des Detektierens, ob die Differenz den zweiten Schwellwert übersteigt, das Bestimmen, ob die ersten AV-Daten herunterzuladen sind. Bei einer weiteren Ausführungsform unterstützt das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei das Verfahren ferner das Herunterladen der ersten AV-Daten zum Anreichern des zweiten Teils umfasst. Bei einer weiteren Ausführungsform unterstützt das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei das Verfahren ferner das Herunterladen der ersten AV-Daten als Alternative zu dem zweiten Teil umfasst. Bei einer weiteren Ausführungsform stellen die ersten AV-Daten ein AV-Frame dar, das auch von einem des ersten Teils und des zweiten Teils dargestellt wird. Bei einer weiteren Ausführungsform unterstützt das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich des Stabilitätszustands mit dem ersten Schwellwert eine Stabilität des Netzes anzeigt. Bei einer weiteren Ausführungsform weist der erste Schwellwert eine Mindestzeitperiode auf, während der jede Veränderung einer Bandbreite des Netzes eine Vergrößerung ist. Bei einer weiteren Ausführungsform unterstützt das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich des Stabilitätszustands mit dem ersten Schwellwert eine Instabilität des Netzes anzeigt. Bei einer weiteren Ausführungsform weist der erste Schwellwert eine maximale Verkleinerungsrate einer Bandbreite des Netzes auf. Bei einer weiteren Ausführungsform weist der erste Schwellwert ein Mindestmaß einer Bandbreite des Netzes auf. Bei einer weiteren Ausführungsform ist das eine des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Skalierbare-Videokodierung-Schema.
  • Bei einer weiteren Implementierung sind auf einem computerlesbaren Medium Anweisungen gespeichert, die bei Ausführung durch eine oder mehreren Verarbeitungseinheiten bewirken, dass die eine oder mehreren Verarbeitungseinheiten ein Verfahren durchführen, das das Empfangen eines ersten Teils eines Audio-Video-(AV-)Datenstroms über ein Netz während eines ersten Betriebsmodus der Computerplattform umfasst, wobei der erste Betriebsmodus einem ersten AV-Kodierungsschema entspricht. Das Verfahren umfasst ferner während des ersten Betriebsmodus das Vergleichen eines Stabilitätszustands des Netzes mit einem ersten Schwellwert und auf der Basis des Vergleichs des Stabilitätszustands mit dem ersten Schwellwert den Übergang der Computerplattform vom ersten Betriebsmodus zu einem zweiten Betriebsmodus, der einem zweiten AV-Kodierungsschema entspricht, wobei nur eines des ersten AV-Kodierungsschemas und des zweiten Kodierungsschemas ein Videoskalierbarkeitsmerkmal unterstützt. Das Verfahren umfasst ferner das Empfangen eines zweiten Teils des AV-Stroms von Daten während des zweiten Betriebsmodus der Computerplattform.
  • Bei einer Ausführungsform umfasst das Verfahren ferner während des zweiten Betriebsmodus das Detektieren, ob eine Differenz zwischen einer ersten Qualität des ersten Teils und einer zweiten Qualität des zweiten Teils einen zweiten Schwellwert übersteigt, und auf der Basis des Detektierens, ob die Differenz den zweiten Schwellwert übersteigt, das Bestimmen, ob die ersten AV-Daten herunterzuladen sind. Bei einer weiteren Ausführungsform unterstützt das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei das Verfahren ferner das Herunterladen der ersten AV-Daten zum Anreichern des zweiten Teils umfasst. Bei einer weiteren Ausführungsform unterstützt das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei das Verfahren ferner das Herunterladen der ersten AV-Daten als Alternative zu dem zweiten Teil umfasst. Bei einer weiteren Ausführungsform stellen die ersten AV-Daten ein AV-Frame dar, das auch von einem des ersten Teils und des zweiten Teils dargestellt wird. Bei einer weiteren Ausführungsform unterstützt das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich des Stabilitätszustands mit dem ersten Schwellwert eine Stabilität des Netzes anzeigt. Bei einer weiteren Ausführungsform weist der erste Schwellwert eine Mindestzeitperiode auf, während der jede Veränderung einer Bandbreite des Netzes eine Vergrößerung ist. Bei einer weiteren Ausführungsform unterstützt das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich des Stabilitätszustands mit dem ersten Schwellwert eine Instabilität des Netzes anzeigt. Bei einer weiteren Ausführungsform weist der erste Schwellwert eine maximale Verkleinerungsrate einer Bandbreite des Netzes auf. Bei einer weiteren Ausführungsform weist der erste Schwellwert ein Mindestmaß einer Bandbreite des Netzes auf. Bei einer weiteren Ausführungsform ist das eine des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Skalierbare-Videokodierung-Schema.
  • Bei einer weiteren Implementierung umfasst ein System einen Server zum Übertragen eines Audio-Video-Stroms (AV) über ein Netz und eine Client-Vorrichtung, die über das Netz mit dem Server gekoppelt ist. Die Client-Vorrichtung umfasst eine Kommunikationslogik zum Empfangen eines ersten Teils des AV-Stroms während eines ersten Betriebsmodus der Client-Vorrichtung, wobei der erste Betriebsmodus einem ersten AV-Kodierungsschema entspricht, und eine Detektionslogik zum Durchführen eines Vergleichs eines Stabilitätszustands des Netzes mit einem ersten Schwellwert während des ersten Betriebsmodus. Die Client-Vorrichtung umfasst ferner eine Konfigurationslogik für den Übergang der Client-Vorrichtung auf der Basis des Vergleichs vom ersten Betriebsmodus zu einem zweiten Betriebsmodus, der einem zweiten AV-Kodierungsschema entspricht, wobei nur eines des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Videoskalierbarkeitsmerkmal unterstützt und wobei die Kommunikationslogik zum Empfangen eines zweiten Teils des AV-Stroms von Daten auf der Basis des zweiten Betriebsmodus der Client-Vorrichtung vorgesehen ist.
  • Bei einer Ausführungsform umfasst die Client-Vorrichtung ferner eine zweite Modenlogik zum Bestimmen auf der Basis einer Differenz zwischen einer ersten Qualität des ersten Teils und einer zweiten Qualität des zweiten Teils, ob die ersten AV-Daten herunterzuladen sind. Bei einer weiteren Ausführungsform unterstützt das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich eine Stabilität des Netzes anzeigt. Bei einer weiteren Ausführungsform unterstützt das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal, wobei der Vergleich eine Instabilität des Netzes anzeigt.
  • Techniken und Architekturen zum Streamen von Audio-Video-Informationen sind hier beschrieben. In der vorstehenden Beschreibung sind zum Zweck der Erläuterung zahlreiche spezifische Details dargelegt worden, um ein genaues Verständnis bestimmter Ausführungsformen zu ermöglichen. Es ist für einen Fachmann auf dem Sachgebiet jedoch offensichtlich, dass bestimmte Ausführungsformen ohne diese spezifischen Details in die Praxis umsetzen können. In anderen Fällen sind Strukturen und Vorrichtungen in Form eines Blockschaltbild gezeigt, damit die Beschreibung nicht verkompliziert wird.
  • Eine Bezugnahme in der Beschreibung auf ”eine der Ausführungsformen” oder ”eine Ausführungsform” bedeutet, dass ein spezielles Merkmal, eine spezielle Struktur oder ein spezielles Charakteristikum, das in Zusammenhang mit der Ausführungsform beschrieben worden ist, in mindestens einer Ausführungsform der Erfindung enthalten ist. Die Verwendung des Ausdrucks ”bei einer der Ausführungsformen” an verschiedenen Stellen der Beschreibung bezieht sich nicht notwendigerweise auf dieselbe Ausführungsform.
  • Einige Teile der hier vorliegenden detaillierten Beschreibung sind in Form von Algorithmen und symbolischen Darstellungen von Operationen an Datenbits in einem Computerspeicher dargelegt. Diese algorithmischen Beschreibungen und Darstellungen sind das Mittel, das Fachleute auf dem Rechnergebiet anwenden, um die Essenz ihrer Arbeit auf effektivste Weise anderen Fachleuten auf dem Sachgebiet zukommen zu lassen. Ein Algorithmus gilt hier und im Allgemeinen als selbstkonsistente Sequenz von Schritten, die zu einem gewünschten Ergebnis führen. Die Schritte sind diejenigen, die eine physische Handhabung von physikalischen Größen erforderlich machen. Normalerweise, obwohl nicht notwendigerweise, weisen diese Größen die Form von elektrischen oder magnetischen Signalen auf, die gespeichert, übertragen, kombiniert, verglichen und anderweitig gehandhabt werden können. Es hat sich manchmal hauptsächlich aus Gründen der üblichen Anwendung als sinnvoll herausgestellt, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Terme, Zahlen oder dergleichen zu bezeichnen.
  • Es sollte jedoch berücksichtigt werden, dass sämtliche dieser und im Wesentlichen gleicher Ausdrücke in Zusammenhang mit den entsprechenden physikalischen Größen stehen und lediglich geeignete Bezeichnungen sind, die auf diese Größen angewendet werden. Sofern nicht spezifisch etwas Anderes gesagt worden ist und aus der vorliegenden Diskussion hervorgeht, sei darauf hingewiesen, dass sich in der Beschreibung durchgängig Diskussionen, bei denen Ausdrücke, wie z. B. ”Verarbeiten” oder ”Errechnen” oder ”Berechnen” oder ”Bestimmen” oder ”Anzeigen” oder dergleichen, verwendet werden, auf die Aktion oder Vorgänge eines Computersystems oder einer im Wesentlichen gleichen elektronischen Rechnervorrichtung beziehen, die Daten, welche als physikalische (elektronische) Größen in den Registern und Speichern des Computersystems dargestellt sind, handhabt und in andere Daten umwandelt, die auf im Wesentlichen gleiche Weise als physikalische Größen in den Speichern oder Register des Computersystems oder anderen derartigen Informationsspeicherungs-, übertragungs- oder Anzeigevorrichtungen dargestellt sind.
  • Bestimmte Ausführungsformen betreffen ferner eine Einrichtung zum Durchführen der hier beschriebenen Operationen. Diese Einrichtung kann insbesondere für die erforderlichen Zwecke ausgelegt sein, oder sie kann einen Universalcomputer umfassen, der von einem Computerprogramm, das in dem Computer gespeichert ist, selektiv aktiviert oder neukonfiguriert wird. Ein solches Computerprogramm kann auf einem computerlesbaren Speicherungsmedium gespeichert sein, wie z. B., jedoch nicht beschränkt auf, jedem Typ von Platte, einschließlich Disketten, optischen Platten, CD-ROMs und magnetoptischen Platten, Nurlesespeichern (read-only memories – ROMs), Schreib-/Lesespeichern (random access memories – RAMs), wie z. B. einem dynamischen RAM (DRAM), EPROMs, EEPROMs, magnetischen oder optischen Karten oder jedem Typ von Medium, das zum Speichern von elektronischen Anweisungen geeignet ist und mit einem Computersystembus gekoppelt ist.
  • Die hier dargelegten Algorithmen und Anzeigen beziehen sich nicht inhärent auf einen speziellen Computer oder eine spezielle Einrichtung. Verschiedene Universalsysteme können mit Programmen gemäß den hier dargelegten Lehren verwendet werden, oder es kann sich als sinnvoll erweisen, eine spezialisiertere Einrichtung zum Durchführen der Verfahrensschritte vorzusehen. Die erforderliche Struktur für eine Vielzahl dieser Systeme wird aus der hier dargelegten Beschreibung ersichtlich. Des Weiteren sind bestimmte Ausführungsformen nicht mit Bezug auf eine spezielle Programmiersprache beschrieben worden. Es sei darauf hingewiesen, dass eine Vielzahl von Programmiersprachen zum Implementieren der Lehren solcher Ausführungsformen, wie sie hier beschrieben worden sind, verwendet werden können.
  • Neben dem hier Beschriebenen können verschiedene Modifikationen an den offengelegten Ausführungsformen und Implementierungen derselben durchgeführt werden, ohne dass dadurch von deren Schutzumfang abgewichen wird. Daher dürfen die hier dargelegten Veranschaulichungen und Beispiele nur in einem veranschaulichenden und nicht in einem einschränkenden Sinn ausgelegt werden. Der Umfang der Erfindung bemisst sich allein durch Bezugnahme auf die folgenden Patentansprüche.

Claims (25)

  1. Vorrichtung, die umfasst: eine Kommunikationslogik zum Empfangen eines ersten Teils eines Audio-Video-(AV)-Stroms über ein Netz während eines ersten Betriebsmodus der Vorrichtung, wobei der erste Betriebsmodus einem ersten AV-Kodierungsschema entspricht; eine Detektionslogik zum Durchführen eines Vergleichs eines Stabilitätszustands des Netzes mit einem ersten Schwellwert während des ersten Betriebsmodus; und eine Konfigurationslogik für einen Übergang der Vorrichtung auf der Basis des Vergleichs vom ersten Betriebsmodus zu einem zweiten Betriebsmodus, der einem zweiten AV-Kodierungsschema entspricht, wobei nur eines des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Videoskalierbarkeitsmerkmal unterstützt; und die Kommunikationslogik ferner einen zweiten Teil des AV-Stroms von Daten auf der Basis des zweiten Betriebsmodus der Vorrichtung empfängt.
  2. Vorrichtung nach Anspruch 1, die ferner eine zweite Modenlogik zum Bestimmen auf der Basis einer Differenz zwischen einer ersten Qualität des ersten Teils und einer zweiten Qualität des zweiten Teils, ob erste AV-Daten herunterzuladen sind, umfasst.
  3. Vorrichtung nach Anspruch 2, wobei die zweite Modenlogik während des zweiten Betriebsmodus detektiert, ob eine Differenz zwischen der ersten Qualität und der zweiten Qualität einen zweiten Schwellwert übersteigt, und die ersten AV-Daten in Reaktion auf eine Bestimmung, dass die Differenz den zweiten Schwellwert übersteigt, herunterlädt.
  4. Vorrichtung nach Anspruch 2, wobei das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt und wobei die zweite Modenlogik das Herunterladen der ersten AV-Daten zum Anreichern des zweiten Teils bestimmt.
  5. Vorrichtung nach Anspruch 2, wobei das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt und wobei die zweite Modenlogik das Herunterladen der ersten AV-Daten als Alternative zu dem zweiten Teil bestimmt.
  6. Vorrichtung nach Anspruch 2, wobei die ersten AV-Daten ein AV-Frame darstellen, das ferner von einem des ersten Teils und des zweiten Teils dargestellt wird.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt und wobei der Vergleich eine Stabilität des Netzes anzeigt.
  8. Vorrichtung nach Anspruch 7, wobei der erste Schwellwert eine Mindestzeitperiode aufweist, während der jede Veränderung einer Bandbreite des Netzes eine Vergrößerung ist.
  9. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt und wobei der Vergleich eine Instabilität des Netzes anzeigt.
  10. Vorrichtung nach Anspruch 9, wobei der erste Schwellwert eine maximale Verkleinerungsrate einer Bandbreite des Netzes aufweist.
  11. Vorrichtung nach Anspruch 9, wobei der erste Schwellwert ein Mindestmaß einer Bandbreite des Netzes aufweist.
  12. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei das eine des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Skalierbare-Videokodierung-Schema ist.
  13. Verfahren an einer Computerplattform, wobei das Verfahren umfasst: Empfangen eines ersten Teils eines Audio-Video-(AV-)Stroms über ein Netz während eines ersten Betriebsmodus der Computerplattform, wobei der erste Betriebsmodus einem ersten AV-Kodierungsschema entspricht; während des ersten Betriebsmodus, Vergleichen eines Stabilitätszustands des Netzes mit einem ersten Schwellwert; auf der Basis des Vergleichens des Stabilitätszustands mit dem ersten Schwellwert Übergehen der Computerplattform vom ersten Betriebszustand zu einem zweiten Betriebszustand, der einem zweiten AV-Kodierungsschema entspricht, wobei nur eines des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Videoskalierbarkeitsmerkmal unterstützt; und Empfangen eines zweiten Teils des AV-Stroms von Daten während des zweiten Betriebsmodus der Computerplattform.
  14. Verfahren nach Anspruch 13, das ferner umfasst: während des zweiten Betriebsmodus Detektieren, ob eine Differenz zwischen einer ersten Qualität des ersten Teils und einer zweiten Qualität des zweiten Teils einen zweiten Schwellwert übersteigt, und auf der Basis des Detektierens, ob die Differenz den zweiten Schwellwert übersteigt, Bestimmen, ob erste AV-Daten herunterzuladen sind.
  15. Verfahren nach Anspruch 14, wobei das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt, wobei das Verfahren ferner das Herunterladen der ersten AV-Daten zum Anreichern des zweiten Teils umfasst.
  16. Verfahren nach Anspruch 14, wobei das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt, wobei das Verfahren ferner das Herunterladen der ersten AV-Daten als Alternative zu dem zweiten Teil umfasst.
  17. Verfahren nach Anspruch 14, wobei die ersten AV-Daten ein AV-Frame darstellen, das ferner von einem des ersten Teils und des zweiten Teils dargestellt wird.
  18. Verfahren nach einem der Ansprüche 13 bis 17, wobei das erste Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt und wobei das Vergleichen des Stabilitätszustands mit dem ersten Schwellwert eine Stabilität des Netzes anzeigt.
  19. Verfahren nach Anspruch 18, wobei der erste Schwellwert eine Mindestzeitperiode aufweist, während der jede Veränderung einer Bandbreite des Netzes eine Vergrößerung ist.
  20. Verfahren nach einem der Ansprüche 13 bis 17, wobei das zweite Enkodierungsschema das Videoskalierbarkeitsmerkmal unterstützt und wobei das Vergleichen des Stabilitätszustands mit dem ersten Schwellwert eine Instabilität des Netzes anzeigt.
  21. Verfahren nach Anspruch 20, wobei der erste Schwellwert eine maximale Verkleinerungsrate der Bandbreite des Netzes aufweist.
  22. Verfahren nach Anspruch 20, wobei der erste Schwellwert ein Mindestmaß einer Bandbreite des Netzes aufweist.
  23. Verfahren nach einem der Ansprüche 13 bis 17, wobei das eine des ersten AV-Kodierungsschemas und des zweiten AV-Kodierungsschemas ein Skalierbare-Videokodierung-Schema ist.
  24. Ein oder mehrere computerlesbare Medien mit darauf gespeicherten Anweisungen, die bei Ausführung bewirken, dass eine Vorrichtung das Verfahren nach einem der Ansprüche 13 bis 17 durchführt.
  25. Einrichtung, die Mittel zum Durchführen des Verfahrens nach einem der Ansprüche 13 bis 17 umfasst.
DE112013007509.1T 2013-10-16 2013-10-16 Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen Expired - Fee Related DE112013007509B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/085277 WO2015054833A1 (en) 2013-10-16 2013-10-16 Method, apparatus and system to select audio-video data for streaming

Publications (2)

Publication Number Publication Date
DE112013007509T5 true DE112013007509T5 (de) 2016-07-28
DE112013007509B4 DE112013007509B4 (de) 2022-01-20

Family

ID=52827538

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013007509.1T Expired - Fee Related DE112013007509B4 (de) 2013-10-16 2013-10-16 Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen

Country Status (4)

Country Link
US (1) US20150341634A1 (de)
DE (1) DE112013007509B4 (de)
GB (1) GB2533878B (de)
WO (1) WO2015054833A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712584B2 (en) 2014-06-02 2017-07-18 Sony Corporation Context-based adaptive streaming algorithm for a user device
US10749918B2 (en) 2014-11-10 2020-08-18 Avago Technologies International Sales Pte. Limited Adaptive streaming with early client indication
EP3257225B1 (de) * 2015-02-11 2024-04-03 VID SCALE, Inc. Systeme und verfahren für generalisierte http-header in dynamischem adaptivem streaming über http (dash)
US10869072B2 (en) 2015-12-16 2020-12-15 Nippon Telegraph And Telephone Corporation Audio-visual quality estimation device, method for estimating audio-visual quality, and program
CN111386708B (zh) 2017-10-19 2023-03-03 拉扎尔娱乐公司 用于广播直播媒体流的系统和方法
US10674166B2 (en) * 2018-08-22 2020-06-02 Purdue Research Foundation Method and system for scalable video streaming
CN114365503A (zh) * 2019-07-23 2022-04-15 拉扎尔娱乐公司 实况媒体内容递送系统和方法
CN115665474A (zh) * 2022-09-07 2023-01-31 抖音视界有限公司 直播方法、装置、电子设备以及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006510301A (ja) * 2002-12-13 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Mdc/スケーラブル符号化の切り換え方法
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US20100232521A1 (en) * 2008-07-10 2010-09-16 Pierre Hagendorf Systems, Methods, and Media for Providing Interactive Video Using Scalable Video Coding
KR20120084252A (ko) * 2011-01-19 2012-07-27 삼성전자주식회사 복수의 실시간 전송 스트림을 수신하는 수신 장치와 그 송신 장치 및 멀티미디어 컨텐츠 재생 방법
US8489760B2 (en) * 2011-03-31 2013-07-16 Juniper Networks, Inc. Media file storage format and adaptive delivery system
WO2011100901A2 (zh) * 2011-04-07 2011-08-25 华为技术有限公司 媒体内容的传输处理方法、装置与系统
EP2547062B1 (de) * 2011-07-14 2016-03-16 Nxp B.V. Medien-Streaming mit Adaptation
US9204156B2 (en) * 2011-11-03 2015-12-01 Microsoft Technology Licensing, Llc Adding temporal scalability to a non-scalable bitstream

Also Published As

Publication number Publication date
DE112013007509B4 (de) 2022-01-20
GB201604306D0 (en) 2016-04-27
GB2533878B (en) 2020-11-11
US20150341634A1 (en) 2015-11-26
GB2533878A (en) 2016-07-06
WO2015054833A1 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
DE112013007509B4 (de) Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen
DE102013114633B4 (de) Netzwerk-adaptive Latenzzeit-Verringerung durch Framerate-Steuerung
DE102015002119B4 (de) Live-Videostreaming mit geringer Verzögerungszeit
DE102017000293A1 (de) Trick-Modus-Betrieb mit mehreren Videoströmen
DE112015002650B4 (de) Systeme und Verfahren zur prädiktiven Auslieferung von Inhalten mit hohen Bitraten zur Wiedergabe
DE102020108357A1 (de) Umkodieren vorhergesagter bilder in live-videostream-anwendungen
US20170098464A1 (en) Gapless video looping
DE112012001770T5 (de) Auf Echtzeitverarbeitungsfähigkeit basierende Qualitätsanpassung
DE60310639T2 (de) Konsistente anpassung digitaler datengrössen ("digital item") in mpeg-21 multimedia-systemen
CN104639951B (zh) 视频码流的抽帧处理方法及装置
DE112012002159T5 (de) Kontextsensitive Client-Pufferschwellenwerte
DE112011101911T5 (de) Fragmentierte Dateistruktur für die Ausgabe von Live-Medien-Streams
EP2763401A1 (de) Eingebettetes System zur Videoverarbeitung mit Hardware-Mitteln
DE112012002526T5 (de) Medieninhalt-Übertragungsverfahren und Übertragungsvorrichtung unter Verwendung desselben
DE102013221798A1 (de) Parallele Transcodierung
DE102013021710A1 (de) Grafik-Dienstleister und Verfahren zur Datenstromübertragung von bilderzeugtem Inhalt über eine entfernte Grafikverarbeitungsdienstleistung
DE112011105981T5 (de) Erweitertes Wireless-Display
DE112016001103T5 (de) Interaktive werbeanzeige-wiedergabeanwendung für kommunikationsumgebungen geringer bandbreite
DE102016113431A1 (de) System und Verfahren zur ereignisbasierten Synchronisierung bei der Mediendateiübetragung und Anzeigewiedergabe zwischen einem Peripheriesystem und einem Host-Gerät
DE112016002055T5 (de) Vorabrufcodierung für anwendungs-streaming
DE102014100183B4 (de) Verfahren und Vorrichtung zum Verwenden eines separaten Rückwärtskanals für Benutzereingaben bei der Replizierung der Anzeige eines mobilen Geräts
DE102016113764A1 (de) Dynamische bildschirmreplikation und display-darstellung in echtzeit basierend auf medienanwendungseigenschaften
DE202021004011U1 (de) Erzeugen und Anzeigen von kontextuellem audiovisuellem Inhalt
DE212017000058U1 (de) Organisation von Inhalten auf Basis der Batterienutzung durch die Anzeige der Inhalte auf Geräten
DE112016002223T5 (de) Konvertieren von Flash-Inhalten zu HTML-Inhalten durch Erzeugen einer Instruktionen-Liste

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MAIWALD GMBH, DE

Representative=s name: MAIWALD PATENTANWALTS- UND RECHTSANWALTSGESELL, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee