DE112011105981B4 - Erweitertes Wireless-Display - Google Patents

Erweitertes Wireless-Display Download PDF

Info

Publication number
DE112011105981B4
DE112011105981B4 DE112011105981.7T DE112011105981T DE112011105981B4 DE 112011105981 B4 DE112011105981 B4 DE 112011105981B4 DE 112011105981 T DE112011105981 T DE 112011105981T DE 112011105981 B4 DE112011105981 B4 DE 112011105981B4
Authority
DE
Germany
Prior art keywords
operating system
data stream
data streams
system desktop
updates
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.)
Active
Application number
DE112011105981.7T
Other languages
English (en)
Other versions
DE112011105981T5 (de
Inventor
Justin Lipman
Zhaohua L. Yi
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 DE112011105981T5 publication Critical patent/DE112011105981T5/de
Application granted granted Critical
Publication of DE112011105981B4 publication Critical patent/DE112011105981B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/02Graphics controller able to handle multiple formats, e.g. input or output formats
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Verfahren, das Folgendes umfasst:Aufteilen einer grafischen Anzeige einer Quellvorrichtung (102) in mehrere Datenströme, die einen Multimedia-Datenstrom, einen Betriebssystem-Desktop-Datenstrom und einen Zeigevorrichtungsdatenstrom umfassen;separates und unabhängiges Codieren, durch die Quellvorrichtung (102), der mehreren Datenströme für eine Übertragung zu einer Anzeigevorrichtung (104);Übertragen der mehreren codierten Datenströme von der Quellvorrichtung (102) zur Anzeigevorrichtung (104);wobei die Übertragung des Betriebssystem-Desktop-Datenstroms zur Anzeigevorrichtung (104) die folgenden Verfahrensschritte umfasst:Erkennen einer Bildänderung in einem Block eines Bildes des Betriebssystem-Desktop-Datenstroms, wobei die Bildänderung erkannt wird, indem zwei aufeinanderfolgende Einzelbilder des Betriebssystem-Desktop-Datenstroms mithilfe eines parallelisierten Graphics Processing Unit (Grafikverarbeitungseinheit, GPU)-basierten Algorithmus verglichen werden;Bestimmen von Aktualisierungen, die die erkannte Bildänderung umfassen;Zuweisen, durch die Quellvorrichtung (102), einer Wichtigkeit zu den Aktualisierungen von Bereichen des Betriebssystem-Desktop-Bildschirms; und Übertragen, durch die Quellvorrichtung (102), der Aktualisierungen zu der Anzeigevorrichtung (104), wobei eine Priorität der Übertragung auf der zugewiesenen Wichtigkeit der Aktualisierungen basiert.

Description

  • HINTERGRUND DER ERFINDUNG
  • Wireless-Display (WiDi)-Technologie ist ein Beispiel für eine Videotechnologie, die die gemeinsame Nutzung von Inhalten von einer Vorrichtung, wie z.B. einem Personal Computer (PC), auf einer anderen Vorrichtung (z.B. einer drahtlosen Anzeigeeinheit) ermöglicht. Inhalte von der Vorrichtung können über einen drahtlosen Kanal auf die Wireless-Display-Einheit, wie z.B. einen Fernseher (TV), eine bzw. einen andere(n) PC-Anzeige/Bildschirm oder eine andere WiDi-fähige Vorrichtung, übertragen werden. In einer Implementierung wird ein gesamter Desktop von der Vorrichtung erfasst und unterbrechungsfrei auf die drahtlose Anzeigeeinheit übertragen. In einem System, das einen kontinuierlichen Bildspeicher für die Anzeigeeinheit bereitstellt, kann Redundanz bei der Datenübertragung auftreten, wenn der gesamte Desktop statisch ist. Mit anderen Worten kann ein kontinuierlicher Codierungs-Datenstrom eine hohe Netzwerkauslastung verursachen, selbst wenn sich der gesamte Desktop nicht ändert.
  • Während der Übertragung kann ein strombasierter, verlustbehafteter Codierungsmechanismus Rauschartefakte verursachen, die für einem Benutzer sichtbar sind, und eine schlechte Benutzererfahrung beim Anzeigen von Betriebssystem (OS)-Desktop-Grafiken bieten können. Zu diesem Zweck kann die Fähigkeit des WiDi zur entfernten Anzeige der Betriebssystem (OS)-Desktop-Grafiken noch zusätzlich erweitert werden, um eine bessere visuelle Erfahrung und Interaktionserfahrung für den Benutzer zu bieten. Die Erweiterung kann Netzwerküberlastungen bzw. Overhead reduzieren und die Netzwerkbedingungen optimieren.
  • JP 2009-224 847 A beschreibt einen Bilddatensender, der ein Differenzdetektionsmittel enthält. Mit dem Differenzdetektionmittel kann detektiert werden, ob zwischen einem Block eines ersten Bildframes und diesem Block eines zweiten Bildframes eine Differenz besteht, die einen vorher festgelegten Wert übersteigt. Der Bilddatensender umfasst ferner ein Übertragungsmittel zum Übertragen der Daten des Blocks, für den das mit dem Differenzdetektionsmittel detektierte Detektionsergebnis positiv ist. Der Bilddatensender umfasst ferner eine Pixelpegel-Änderungseinrichtung zum Ändern des Pegels von mindestens einem Pixel eines Blocks des ersten Bildframes um mindestens die Differenz des vorher festgelegten Werts.
  • US 2010/0146363 A1 offenbart ein Verfahren zum Übertragen von Daten, umfassend: Aufteilen eines Datensatzes in eine Vielzahl von Datenströmen;
    separates Codieren jedes der Datenströme mit einem entsprechenden Fehlerkorrekturcode, um mehrere codierte Datenströme zu erzeugen;
    Erzeugen eines Einzelträger-Blockübertragungs-(SCBT)-Signals aus der Vielzahl von codierten Datenströmen; und Übertragung des SCBT-Signals.
  • US 2011/0010607 A1 offenbart ein Verfahren zum Übertragen von Inhalten an ein drahtloses Anzeigegerät. Das Verfahren kann das Empfangen von Multimediadaten, das Codieren der Multimediadaten und das Schreiben codierter Multimediadaten in einen ersten vorbestimmten Speicherplatz eines gemeinsam genutzten Speichers umfassen. Ferner kann das Verfahren das Einkapseln der kodierten Multimediadaten und das Schreiben von Einkapselungsdaten in einen zweiten vorbestimmten Speicherplatz des gemeinsam genutzten Speichers umfassen. Das Verfahren kann auch das Berechnen der Fehlerkontrollkodierung und das Schreiben der Fehlerkontrollkodierung in einen dritten vorbestimmten Speicherplatz des gemeinsam genutzten Speichers umfassen. Ferner kann das Verfahren das Übertragen der codierten Multimediadaten, der Einkapselungsdaten und der Fehlerkontrollcodierung an die drahtlose Anzeigevorrichtung umfassen.
  • Figurenliste
  • Die ausführliche Beschreibung wird unter Bezugnahme auf begleitende Figuren beschrieben. In den Figuren kennzeichnen die ganz links aufgeführten Ziffern einer Referenznummer die Figur, in der die Referenznummer erstmalig aufgeführt wird. Die gleichen Nummern werden in den Zeichnungen verwendet, um auf gleiche Eigenschaften und Komponenten zu verweisen.
    • 1 ist ein Schaubild, das ein Beispielsystem veranschaulicht, das das erweiterte Wireless-Display (WiDi) mit Codierung für mehrere Datenströme implementiert.
    • 2 ist ein Schaubild, das eine Vorrichtungsquelle veranschaulicht, die das erweiterte Wireless-Display (WiDi) mit Codierung für mehrere Datenströme implementiert.
    • 3 ist ein Schaubild, das eine Beispielanzeigevorrichtung veranschaulicht, die mehrere Datenströme empfängt.
    • 4 ist ein Schaubild, das eine Aktualisierungsvorrichtung veranschaulicht, die die Aufteilung einer grafischen Anzeige in mehrere Datenströme implementiert.
    • 5 ist ein Schaubild, das eine grafische Anzeige veranschaulicht, die verschiedene Layer für ein erweitertes Wireless-Display (WiDi) umfasst.
    • 6 ist ein Ablaufdiagramm, das ein Beispielverfahren für erweitertes Wireless-Display (WiDi) mithilfe eines parallelisierten Graphics Processing Unit (Grafikverarbeitungseinheit, GPU)-basierten Algorithmus veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Übersicht
  • Eine softwarebasierte Implementierung in einer Vorrichtungsquelle bietet eine Fähigkeit zum Aufteilen einer grafischen Anzeige in mehrere Datenströme (d.h. verschiedene Layer). Die mehreren Datenströme können Multimedia-Datenströme, Betriebssystem (OS)-Desktop-Datenströme und Maus- (Zeigevorrichtungs-) Datenströme umfassen. Die mehreren Datenströme können unabhängig von der Vorrichtungsquelle codiert und übertragen werden. Gleichermaßen decodiert eine Anzeigevorrichtung die empfangenen mehreren Datenströme unabhängig. Darüber hinaus können Aktualisierungen bezüglich Bildänderungen (z.B. OS-Desktop-Hintergrund) basierend auf erkannten modifizierten Zellen auf Übertragungen von Aktualisierungen beschränkt sein. Beispielsweise kann ein Einzelbild in die Anzahl von k Zellen aufgeteilt sein, die die Anzahl von N x M Pixeln umfassen. In diesem Beispiel können die modifizierte(n) Zell(en) durch Vergleichen der Zellen von zwei aufeinanderfolgenden Einzelbildern mithilfe eines parallelisierten Graphics Processing Unit (Grafikverarbeitungseinheit, GPU)-basierten Algorithmus erkannt werden. Die erkannten modifizierte(n) Zell(en) können übertragen und im aktuellen Bildspeicher der Anzeigevorrichtung zusammengeführt werden. Dementsprechend wird eine Netzwerkoptimierung erzielt.
  • In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details ausgeführt, um ein gründliches Verständnis der Erfindung zu ermöglichen. Durchschnittsfachleute verstehen jedoch, dass die vorliegende Erfindung ohne diese spezifischen Details in die Praxis umgesetzt werden kann. In anderen Fällen wurden wohlbekannte Verfahren, Verfahrensweisen, Komponenten und Schaltungen nicht ausführlich beschrieben, um die vorliegende Erfindung nicht zu verschleiern.
  • Einige nachfolgende Bestandteile der detaillierten Beschreibung werden in Form von Algorithmen und symbolischen Darstellungen von Vorgängen für Datenbits oder binäre digitale Signale in einem Computerarbeitsspeicher dargestellt. Diese algorithmischen Beschreibungen und Darstellungen können Techniken sein, die von Fachleuten in der Datenverarbeitung verwendet werden, um anderen Fachleuten das Wesentliche ihrer Arbeit zu vermitteln.
  • Sofern nicht ausdrücklich etwas anderes ausgesagt ist, und wie aus den folgenden Diskussionen offensichtlich wird, versteht es sich, dass sich die Verwendung von Begriffen wie z.B. „verarbeiten“, „berechnen“, „kalkulieren“, „bestimmen“ oder Ähnliches in den Diskussionen der Spezifikation auf die Aktion und/oder Prozesse eines Computers oder Rechensystems oder einer ähnlichen elektronischen Rechenvorrichtung bezieht, die Daten, die als physikalische Größen, wie z.B. elektronische Mengen, innerhalb der Register und/oder Speicher des Rechensystems dargestellt werden, manipuliert und/oder in andere Daten umwandelt, die gleichermaßen als physikalische Größen in den Speichern, Registern oder anderen derartigen Informationsspeichern oder Übertragungsvorrichtungen innerhalb des Rechensystems dargestellt werden. Die im vorliegenden Text verwendeten Begriffe „ein“ oder „eine“ sind als ein(e) oder mehr als ein(e) definiert. Der im vorliegenden Text verwendete Begriff „mehrere“ ist als zwei oder mehr als zwei definiert. Der im vorliegenden Text verwendete Begriff „weitere(r)“ ist als mindestens ein(e) zweite(r) oder mehr definiert. Die im vorliegenden Text verwendeten Begriffe „umfassend“ und/oder „aufweisend“ sind als enthaltend definiert, ohne aber darauf beschränkt zu sein. Der im vorliegenden Text verwendete Begriff „gekoppelt“ ist als in einer beliebigen Form betreibbar verbunden definiert, wie z.B. mechanisch, elektronisch, digital, direkt, durch Software, durch Hardware und dergleichen. Einige Ausführungsformen können in Verbindung mit verschiedenen Vorrichtungen und Systemen verwendet werden, zum Beispiel, einer Video-Vorrichtung, einer Audio-Vorrichtung, einer Audio-Video (A/V)-Vorrichtung, einer Set-Top-Box (STB), einem Blu-ray-Disc (BD)-Player, einem BD-Recorder, einem Digital Video Disc (DVD)-Player, einem High Definition (HD) DVD-Player, einem DVD-Recorder, einem HD DVD-Recorder, einem Persönlichen Videorekorder (Personal Video Recorder, PVR), einem HD-Fernsehempfänger, einer Videoquelle, einer Audioquelle, einer Video-Senke, einer Audio-Senke, einem Stereoempfänger, einem Rundfunkempfänger, einer Anzeige, einem Flachbildschirm, einem Medienabspielgerät (Personal Media Player, PMP), einer digitalen Video-Kamera (DVC), einem digitalen Audioabspielgerät, einem Lautsprecher, einem Audioempfänger, einem Audioverstärker, einer Datenquelle, einer Datensenke, einer Digitalkamera (DSC), einem Personal-Computer (PC), einem Desktop-Computer, einem mobilen Computer, einem Laptop-Computer, einem Notebook-Computer, einem Tablet-Computer, einem Server-Computer, einem Handheld-Computer, einer Handheld-Vorrichtung, einer persönlichen digitalen Assistent (Personal Digital Assistant, PDA)-Vorrichtung, einer Handheld-PDA-Vorrichtung, einer On-Board-Vorrichtung, einer Off-Board Vorrichtung, einer hybriden Vorrichtung, einer Vorrichtung für Fahrzeuge, einer Vorrichtung nicht für Fahrzeuge, einer mobilen oder tragbaren Vorrichtung, einer Unterhaltungsvorrichtung, einer nicht mobilen oder nicht tragbaren Vorrichtung, einer drahtlosen Kommunikationsstation, einer drahtlosen Kommunikationsvorrichtung, einem drahtlosen AP, einem drahtgebundenen oder drahtlosen Router, einem drahtgebundenen oder drahtlosen Modem, einem drahtgebundenen oder drahtlosen Netzwerk, einem drahtlosen lokalen Netzwerk (WAN, Wireless Area Network), einem Wireless Video Area Network (WVAN), einem Local Area Network (LAN), einem WLAN, einem PAN, einem WPAN, Vorrichtungen und/oder Netzwerken, die gemäß vorhandenen Wireless HDTM- und/oder Wireless-Gigabit-Alliance (WGA)-Spezifikationen und/oder zukünftigen Versionen und/oder Ableitungen davon arbeiten, Vorrichtungen und/oder Netzwerke, die gemäß vorhandener IEEE 802.11 (IEEE 802.11-2007: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications) Standards und Änderungen, 802.11ad („den IEEE 802.11-Standards“), IEEE 802.16-Standards, und/oder zukünftigen Versionen und/oder Ableitungen davon arbeiten, Einheiten und/oder Vorrichtungen, die Teil der obigen Netzwerke, unidirektionaler und/oder bidirektionaler Funkkommunikationssysteme, zellularer Funktelefonkommunikationssysteme, einer Wireless-Display (WiDi)-Vorrichtung, eines Mobiltelefons, eines drahtlosen Telefons, einer Personal Communication Systems (PCS)-Vorrichtung, einer PDA-Vorrichtung, die eine drahtlose Kommunikationsvorrichtung integriert, einer mobilen oder tragbaren Global Positioning System (GPS)-Vorrichtung, einer Vorrichtung, die einen GPS-Sender/-Empfänger oder Chip integriert, einer Vorrichtung, die ein RFID-Element oder Chip integriert, eines Multiple Input Multiple Output (MIMO)-Sender-/Empfängers oder Geräts, eines Single Input Multiple Output (SIMO)-Sender-/Empfängers oder Geräts, eines Multiple Input Single Output (MISO)-Sender-/Empfängers oder Geräts, einer Vorrichtung mit einer oder mehreren internen Antennen und/oder externen Antennen, von Digital Video Broadcast (DVB)-Vorrichtungen oder -Systemen, Multistandard Radio-Vorrichtungen oder -Systemen, einer drahtgebundenen oder drahtlosen Handheld-Vorrichtung, einer Wireless Application Protocol (WAP)-Vorrichtung oder dergleichen sind.
  • Einige Ausführungsformen können in Verbindung mit einer oder mehreren Arten von drahtlosen Kommunikationssignalen und/oder -systemen verwendet werden, wie beispielsweise, Radio Frequenz (RF), Wi-Fi, Wi-Max, Ultra- Wideband (UWB) oder dergleichen. Weitere Ausführungsformen können in verschiedenen anderen Vorrichtungen, Systemen und/oder Netzwerken verwendet werden.
  • Einige Ausführungsformen können in Verbindung mit geeigneten drahtlosen Netzwerken mit eingeschränkter Reichweite bzw. kurzer Reichweite, wie zum Beispiel, „Piconets“, z.B. einem Wireless Area Network, einem WVAN, einem WPAN und dergleichen verwendet werden.
  • Beispielsystem
  • 1 zeigt eine Übersicht auf Systemebene einer Beispielsystemumgebung 100 zum Implementieren von erweitertem Wireless Display (WiDi), das mehrere Datenströme für die Darstellung einer grafischen Anzeige verwendet. In einer Implementierung ist die grafische Anzeige in verschiedene Layer, wie beispielsweise einen Multimedia-Datenstrom (z.B. Video und Audio), Betriebssystem (OS)-Desktop-Datenstrom (z.B. Desktop-Hintergrund) und Maus- (Zeigevorrichtungs-) Datenstrom, aufgeteilt. Die grafische Anzeige kann mithilfe eines WiDi-Adapters 106 von der Vorrichtungsquelle 102 zur Anzeigevorrichtung 104 übertragen werden. In einer Implementierung kann die Vorrichtungsquelle 102 verschiedene Vorrichtungen umfassen, wie z.B. Laptop-Computer, Tablet-Computer, Smartphones usw. Darüber hinaus versteht es sich, dass die Vorrichtungsquelle 102, wie oben erläutert, weitere Vorrichtungen umfasst.
  • Die Vorrichtungsquelle 102 kann eine softwarebasierte Implementierung zur Erweiterung der WiDi-Datenübertragung umfassen. Beispielsweise kann die Vorrichtungsquelle 102 konfiguriert sein, um die verschiedenen Layer in der grafischen Anzeige unabhängig voneinander zu codieren und übertragen. In diesem Beispiel kann die Vorrichtungsquelle 102 die Multimedia-Datenströme, die Betriebssystem (OS)-Desktop-Datenströme und die Maus-(Zeigevorrichtungs-) Datenströme unabhängig voneinander übertragen. In einer Implementierung kann ein Endbenutzer auswählen, welche eine oder mehreren Kombinationen der verschiedenen Layer in der Anzeigevorrichtung 104 angezeigt werden sollen. Der WiDi-Adapter 106 kann die ausgewählte Layer empfangen. Darüber hinaus kann der WiDi-Adapter 106 Aktualisierungen zu einer aktuellen Anzeige in der Anzeigevorrichtung 104 zusammenführen. Die Aktualisierungen können Bildänderungen an der Vorrichtungsquelle 102 umfassen, die an die Anzeigevorrichtung 104 übertragen werden müssen. Der WiDi-Adapter 106 kann die übertragenen verschiedenen Layer (d.h. mehrere Datenströme) über einen oder mehrere drahtlose Kanäle 108 empfangen. Der eine oder die mehreren drahtlosen Kanäle 108 können Modulation(en) umfassen, die durch einen oder mehrere IEEE-Standards definiert sind. In einer Implementierung kann die Anzeigevorrichtung 104, wie z.B. ein HD-Fernseher (HDTV), mit dem WiDi-Adapter 106 durch eine Verbindung 110, z.B. eine High Definition Multimedia Input (HDMI)-Verbindung, verbunden sein. In anderen Implementierungen können WiDi-Technologiefähige Vorrichtungen, wie z.B. HDTV-Geräte oder andere Anzeigevorrichtungen, die WiDi-Technologie direkt integrieren. Mit anderen Worten kann der WiDi-Adapter 106 direkt in die Anzeigevorrichtung 104 integriert werden.
  • Beispielvorrichtung
  • 2 ist eine Beispielvorrichtungsquelle 102, die erweitertes WiDi durch unabhängiges Codieren und Übertragen der mehreren Datenströme in die grafische Anzeige implementiert. Die Vorrichtungsquelle 102 umfasst einen oder mehrere Prozessoren, den bzw. die Prozessor(en) 200. Der bzw. die Prozessoren 200 können eine einzelne Verarbeitungseinheit oder eine Mehrzahl an Verarbeitungseinheiten sein, von denen alle einzelne oder mehrere Recheneinheiten oder mehrere Kerne enthalten können. Der bzw. die Prozessoren 200 können als ein oder mehrere Mikroprozessoren, Mikrocomputer, Microcontroller, digitale Signalprozessoren, zentrale Verarbeitungseinheiten (Central Processing Units bzw. CPUs), Zustandsmaschinen, Logikschaltkreise und/oder beliebige Vorrichtungen implementiert sein, die Signale auf Basis von Betriebsanweisungen manipulieren. Neben anderen Fähigkeiten, kann bzw. können der/die Prozessor(en) 200 konfiguriert sein, um computerlesbare Anweisungen oder durch Prozessoren abrufbare Anweisungen, die in einem Arbeitsspeicher 202 oder anderen computerlesbaren Speichermedien gespeichert sind, abzurufen und auszuführen.
  • Der Speicher 202 ist ein Beispiel für computerlesbare Speichermedien, die Anweisungen speichern, die durch den bzw. die Prozessor(en) 200 ausgeführt werden, um die im vorliegenden Text beschriebenen verschiedenen Funktionen auszuführen. Beispielsweise kann der Arbeitsspeicher 202 im Allgemeinen sowohl flüchtige als auch nicht-flüchtige Speicher (z.B. RAM, ROM oder dergleichen) enthalten. Der Arbeitsspeicher 202 kann im vorliegenden Text als Arbeitsspeicher oder computerlesbare Speichermedien bezeichnet werden. Der Arbeitsspeicher 202 kann computerlesbare und durch Prozessoren abrufbare Programmanweisungen als Computerprogrammcode speichern, der durch den bzw. die Prozessor(en) 200 als eine bestimmte Maschine ausgeführt werden können, die zum Durchführen der Vorgänge und Funktionen in den vorliegenden Implementierungen konfiguriert ist.
  • Der Arbeitsspeicher 202 kann ein oder mehrere Betriebssysteme 204 umfassen und eine oder mehrere Anwendungen 206 speichern. Das bzw. die Betriebssystem(e) 204 können eines von bekannten und zukünftigen Betriebssystemen sein, die für Personal Computer, Audio-Video-Vorrichtungen usw. implementiert sind. Die Anwendungen 206 können vorkonfigurierte/installierte und per Download verfügbare Anwendungen umfassen. Darüber hinaus kann der Arbeitsspeicher 202 Daten 208 umfassen, um die installierten und heruntergeladenen Anwendungen zu speichern. Der Arbeitsspeicher 202 umfasst Anzeigedaten 210, die eine visuelle Anzeigeeinheit zum Zeigen von Bilddarstellungen (d.h. grafische Anzeige) umfassen können, die durch die mehreren Datenströme definiert sind. Die mehreren Datenströme können die verschiedenen Layer umfassen, die unabhängig von der Aktualisierungseinheit 212 verarbeitet werden. In einer Implementierung kann die Aktualisierungseinheit 212 den parallelisierten GPU-basierten Algorithmus implementieren, um die modifizierte(n) Zelle(n) zwischen aufeinanderfolgenden Einzelbildern zu erkennen. Darüber hinaus kann die Aktualisierungseinheit die grafische Anzeige in mehrere Datenströme aufteilen.
  • In einer Implementierung können die mehreren Datenströme mithilfe eines Multi-Stream-Codierers für WiDi 214, der verschiedene Transporttechniken für die mehreren Datenströme verwendet, übertragen werden. Beispielsweise können die Multimedia-Datenströme den H264-Standard-Codierer verwenden und einen „Always-on“-Streaming-Ansatz anwenden. Andererseits können die Betriebssystem (OS)-Desktop-Anwendungs- und die Maus-(Zeigevorrichtungs-) Datenströme auf Anforderung übertragen werden. Mit anderen Worten werden die mehreren Datenströme getrennt behandelt, z.B. mit einer anderen Servicequalitätsebene (Quality of Service, QOS), um das Gesamterlebnis des Benutzers zu verbessern, während gleichzeitig die System- und Netzwerkleistung optimiert wird. In anderen Implementierungen erfolgt die Verarbeitung (z.B. das Aufteilen) der mehreren Datenströme unabhängig vom Betriebssystem (OS)-Desktop-Manager an der Vorrichtungsquelle 102.
  • In einer Implementierung kann der Multi-Stream-Codierer für WiDi 214 konfiguriert sein, um die mehreren Datenströme, die von der Aktualisierungseinheit 212 erzeugt werden, getrennt und unabhängig zu codieren und zu paketieren. Die mehreren codierten und paketierten Datenströme können an eine oder mehrere Kommunikation-Layer 216 gesendet werden, wo zusätzliche Informationen hinzugefügt werden können. Die Layer können Realtime Communications Protocol (RTC, Echtzeit-Kommunikationsprotokoll)-/Transmission Control Protocol (TCP, Übertragungssteuerungsprotokoll)-/User Datagram Protocol (UDP, Benutzerdatensegmentprotokoll)- und Media Access Control (MAC, Medienzugriffssteuerung)-Layer sein, wobei zusätzliche Informationen (z.B. Kopfdaten und Daten) hinzugefügt werden. Ein WiFi-Treibermodul 218 kann die mehreren Datenströme von der bzw. den Kommunikations-Layer(n) 216 empfangen. Das WiFi-Treibermodul 218 kann für eine Funkvorrichtung 220 konfiguriert werden. Insbesondere kann das WiFi-Treibermodul 218 für einen Sender 222 der Funkvorrichtung 220 konfiguriert werden. Der Sender 222 ist an eine Antenne 224 gekoppelt. Es versteht sich, dass die Vorrichtungsquelle 102 andere Kommunikationsschnittstellen (nicht dargestellt) als die Funkvorrichtung 220 umfassen kann.
  • Ausführungsformen sind für Softwareimplementierungen vorgesehen. Beispielsweise kann die Aktualisierungseinheit 212 als Softwareanwendungen, die sich im Arbeitsspeicher 202 befinden, implementiert werden. Daher können Hardwareimplementierung, wie z.B. die Modifikation der Funkvorrichtung 220, vermieden werden. In bestimmten Implementierungen befinden sich die Aktualisierungseinheit 212 und der Multi-Stream-Codierer für WiDi 214 auf derselben Plattform.
  • Die im vorliegenden Text beschriebene Vorrichtungsquelle 102 ist lediglich ein Beispiel, das für einige Implementierungen geeignet ist, und soll keine Einschränkung hinsichtlich des Nutzungsumfangs oder der Funktionalität der Umgebungen, Architekturen und Frameworks darstellen, die die hier beschriebenen Prozesse, Komponenten und Merkmale implementieren können.
  • Im Allgemeinen können alle der unter Bezugnahme auf die Figuren beschriebenen Funktionen mithilfe von Software, Hardware (z.B. feste Logikschaltkreise) oder einer Kombination dieser Implementierungen implementiert werden. Programmcode kann in einem oder mehreren computerlesbaren Arbeitsspeichervorrichtungen oder anderen computerlesbaren Speichervorrichtungen gespeichert werden. Demnach können die im vorliegenden Text beschriebenen Prozesse und Komponenten durch ein Computerprogrammprodukt implementiert werden.
  • Wie oben erwähnt umfasst der Computerspeicher flüchtige und nicht-flüchtige, entfernbare und nicht-entfernbare Medien, die in einem beliebigen Verfahren oder einer Technologie für das Speichern von Informationen implementiert sind, wie z.B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Die Computerspeichermedien umfassen, sind jedoch nicht beschränkt auf RAM, ROM, EEPROM, Flash-Arbeitsspeicher oder andere Speichertechnologie, CD-ROM, DVDs (Digital Versatile Disks) oder andere optische Speicher, Magnetkassetten, Magnetband-, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder ein anderes beliebiges Medium, das zum Speichern von Informationen für den Abruf durch eine Rechenvorrichtung verwendet werden kann.
  • Beispiel-WiDi -Adapter/WiDi -fähige Vorrichtung
  • 3 ist eine Beispielanzeigevorrichtung 104, die die übertragenen mehreren Datenströme von der Vorrichtungsquelle 102 empfängt. In einer Implementierung umfasst die Anzeigevorrichtung den WiDi-Adapter 106 (d.h. in die Anzeigevorrichtung 104 integriert). Die Anzeigevorrichtung 104 kann einen oder mehrere Prozessoren, den bzw. die Prozessor(en) 302 umfassen. Der bzw. die Prozessoren 302 können eine einzelne Verarbeitungseinheit oder eine Mehrzahl an Verarbeitungseinheiten sein, von denen alle einzelne oder mehrere Recheneinheiten oder mehrere Kerne enthalten können. Der bzw. die Prozessoren 302 können als ein oder mehrere Mikroprozessoren, Mikrocomputer, Microcontroller, digitale Signalprozessoren, zentrale Verarbeitungseinheiten (Central Processing Units bzw. CPUs), Zustandsmaschinen, Logikschaltkreise und/oder beliebige Vorrichtungen implementiert sein, die Signale auf Basis von Betriebsanweisungen manipulieren. Neben anderen Fähigkeiten, kann bzw. können der/die Prozessor(en) 302 konfiguriert sein, um computerlesbare Anweisungen oder durch Prozessoren abrufbare Anweisungen, die in einem Arbeitsspeicher 304 oder anderen computerlesbaren Speichermedien gespeichert sind, abzurufen und auszuführen.
  • Der Arbeitsspeicher 304 ist ein Beispiel für computerlesbare Speichermedien, die Anweisungen speichern, die durch den bzw. die Prozessor(en) 302 ausgeführt werden, um die im vorliegenden Text beschriebenen verschiedenen Funktionen auszuführen. Beispielsweise kann der Arbeitsspeicher 304 im Allgemeinen sowohl flüchtige als auch nicht-flüchtige Speicher (z.B. RAM, ROM oder dergleichen) enthalten. Der Arbeitsspeicher 304 kann im vorliegenden Text als Arbeitsspeicher oder computerlesbare Speichermedien bezeichnet werden. Der Arbeitsspeicher 304 kann computerlesbare und durch Prozessoren abrufbare Programmanweisungen als Computerprogrammcode speichern, der durch den bzw. die Prozessor(en) 302 als eine bestimmte Maschine ausgeführt werden können, die zum Durchführen der Vorgänge und Funktionen in den vorliegenden Implementierungen konfiguriert ist. Der Arbeitsspeicher 304 kann ein oder mehrere Betriebssysteme 306 umfassen und eine oder mehrere Anwendungen 308 speichern. Das bzw. die Betriebssystem(e) 306 können eines von bekannten und zukünftigen Betriebssystemen sein, die für Personal Computer, Audio-Video-Vorrichtungen usw. implementiert sind. Die Anwendungen 308 können vorkonfigurierte/installierte und per Download verfügbare Anwendungen umfassen. Darüber hinaus kann der Arbeitsspeicher 304 die Daten 310 umfassen.
  • Die Anzeigevorrichtung 104 kann die Funkvorrichtung 312 umfassen. Die Funkvorrichtung 312 umfasst eine oder mehrere Antennen 314, die an einen Empfänger 316 gekoppelt sind. Die von der Vorrichtungsquelle 102 gesendeten codierten und paketierten mehreren Datenströme werden vom Empfänger 316 erhalten. Die empfangenen mehreren Datenströme können durch verschiedene Kommunikations-Layer 318 übergeben werden. Ein Multi-Stream-Decoder 320 verarbeitet (decodiert) die mehreren Datenströme und übergibt die decodierten mehreren Datenströme an die Aktualisierungseinheit/den Bildspeicher 322 für die Anzeige an den Anzeigedaten 324.
  • Die im vorliegenden Text beschriebene Beispielvorrichtung 300 ist lediglich ein Beispiel, das für einige Implementierungen geeignet ist, und soll keine Einschränkung hinsichtlich des Nutzungsumfangs oder der Funktionalität der Umgebungen, Architekturen und Frameworks darstellen, die die hier beschriebenen Prozesse, Komponenten und Merkmale implementieren können.
  • Im Allgemeinen können alle der unter Bezugnahme auf die Figuren beschriebenen Funktionen mithilfe von Software, Hardware (z.B. feste Logikschaltkreise) oder einer Kombination dieser Implementierungen implementiert werden. Programmcode kann in einem oder mehreren computerlesbaren Arbeitsspeichervorrichtungen oder anderen computerlesbaren Speichervorrichtungen gespeichert werden. Demnach können die im vorliegenden Text beschriebenen Prozesse und Komponenten durch ein Computerprogrammprodukt implementiert werden.
  • Wie oben erwähnt umfasst der Computerspeicher flüchtige und nicht-flüchtige, entfernbare und nicht-entfernbare Medien, die in einem beliebigen Verfahren oder einer Technologie für das Speichern von Informationen implementiert sind, wie z.B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Die Computerspeichermedien umfassen, sind jedoch nicht beschränkt auf RAM, ROM, EEPROM, Flash-Arbeitsspeicher oder andere Speichertechnologie, CD-ROM, DVDs (Digital Versatile Disks) oder andere optische Speicher, Magnetkassetten, Magnetband-, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder ein anderes beliebiges Medium, das zum Speichern von Informationen für den Abruf durch eine Rechenvorrichtung verwendet werden kann.
  • Beispiel für die Aktualisierungsvorrichtung
  • 4 zeigt ein Schaubild, das eine Aktualisierungsvorrichtung veranschaulicht. In einer Implementierung kann die Aktualisierungseinheit 212 konfiguriert sein, um die grafische Anzeige an den Anzeigedaten 210 in verschiedene Layer (d.h. mehrere Datenströme) aufzuteilen. Die mehreren Datenströme können Multimedia-Datenströme 400 (z.B. Video und Audio), Betriebssystem (OS)-Desktop-Datenströme 402 (z.B. Desktop-Hintergrund) und Maus- (Zeigevorrichtungs-) Datenströme 404 umfassen. Eine oder mehrere Kombinationen der mehreren Datenströme können zur Anzeigevorrichtung 104 übertragen werden. Beispielsweise wählt ein Benutzer den Multimedia-Datenstrom 400 für die Anzeige auf der Anzeigevorrichtung 104 aus. In diesem Beispiel werden die Übertragungen der Betriebssystem (OS)-Desktop-Datenströme 402 und Maus- (Zeigevorrichtungs-) Datenströme 404 angehalten. Die Nicht-Übertragung der Betriebssystem (OS)-Desktop-Datenströme 402 und Maus- (Zeigevorrichtungs-) Datenströme 404 kann die Netzwerkauslastung optimieren und reduziert den Stromverbrauch an der Vorrichtungsquelle 102 und der Anzeigevorrichtung 104.
  • Bei einem anderen Beispiel kann der Benutzer entscheiden, den Betriebssystem (OS)-Desktop-Datenstrom 402 und die Maus- (Zeigevorrichtungs-) Datenströme 404 neben dem Multimedia-Datenstrom 400 in der Anzeigevorrichtung 104 hinzuzufügen. In dieser Implementierung kann eine kontinuierliche Übertragung der Betriebssystem (OS)-Desktop-Datenströme 402 und der Maus- (Zeigevorrichtungs-) Datenströme 404 trotz dem Fehlen von Bildänderungen (z.B. statischer Betriebssystem (OS)-Desktop) bei den Anzeigedaten 210 für eine hohe Netzwerkauslastung sorgen. Zu diesem Zweck kann die Aktualisierungseinheit 212 konfiguriert werden, um teilweise Aktualisierungen oder teilweise Änderungen der Bildanzeige zu übertragen, um die Datenverarbeitung und den Stromverbrauch gering zu halten. In einer Implementierung ist ein Einzelbild, das ein bestimmtes grafische Anzeigebild bei den Anzeigedaten 210 definiert, in k Zellen der Größe N x M Pixel aufgeteilt. Typischerweise können zwei aufeinanderfolgende Einzelbilder, die in einem Bildspeicher 406 gespeichert sind, teilweise Aktualisierungen oder Änderungen enthalten, die nicht den gesamten Bereich enthalten, der durch die k Zellen abgedeckt ist. Mit anderen Worten kann ein Teil der k Zellen die teilweisen Aktualisierungen abdecken. Um die teilweisen Aktualisierungen zu bestimmen, können die k Zellen zwischen den zwei gespeicherten aufeinanderfolgenden Einzelbildern (z.B. aktuelles und vorheriges Einzelbild) verglichen werden, indem erkannt wird, dass eine oder mehrere bestimme Zelle(n) modifiziert wurden. Das Erkennen der modifizierten Zellen kann mithilfe des parallelisierten GPU-basierten Algorithmus implementiert werden, der in einer GPU 408 konfiguriert wird.
  • In einer Implementierung kann die GPU 408 eine Anzahl von n Kernen (nicht gezeigt) umfassen, um den parallelen Vergleich zwischen aufeinanderfolgenden Einzelbildern zu implementieren. Beispiel: Wenn n-GPU 408 Kerne zum Vergleichen von k-Zellen für Einzelbilder vorhanden sind, werden n-Instanzen des Vergleichsalgorithmus ausgeführt, bis alle k-Zellen verglichen sind. Durch die GPU 408 kann eine Verfolgungsanordnung (nicht gezeigt) implementiert werden, um die Zelle(n) zu erkennen, die modifiziert wurden. Beispielsweise wird die Verfolgungsanordnung, jedes Mal, wenn eine Modifikation erkannt wird, auf Bit eins (1) aktualisiert. In anderen Implementierungen kann die GPU 408 konfiguriert sein, um den Vergleich zu beenden, sobald die Modifikation erkannt wird.
  • In einer Implementierung kann die GPU 408 konfiguriert sein, um dynamische N x M Pixelabmessungen zu verarbeiten. Die dynamischen N x M Pixelabmessungen können angepasst werden, um in ein bestimmtes Einzelbild zu passen, um weitere nicht unterbrechbare (atomic) Aktualisierungen zu ermöglichen und die Auswirkungen von beschädigten oder verlorenen Einzelbildern einzuschränken. In anderen Implementierungen kann die GPU 408 konfiguriert sein, um den Aktualisierungen bestimmter Bereiche des Desktop-Betriebssystem (OS)-Bildschirms, angesichts der Art, in der der Benutzer den Bildschirm anzeigt, eine Wichtigkeit zuzuweisen. Beispielsweise kann der bestimmte Bereich, der durch die OS-Desktop-Datenströme 400 definiert wird, die mittleren Teile des Desktop-Betriebssystem (OS)-Bildschirms umfassen. In diesem Beispiel kann die GPU 408 konfiguriert werden, um zuerst Zellenmodifikationen an den mittleren Teilen des Desktop-Betriebssystem (OS)-Bildschirms zu erkennen, bevor die übrigen Bereiche (z.B. Rahmen des Desktop-Betriebssystem (OS)-Bildschirms) erkannt werden.
  • Beispiel für grafische Anzeige
  • 5 ist ein Beispiel für eine grafische Anzeige 500, die verschiedene Layer veranschaulicht, die auf der Anzeigevorrichtung 104 angezeigt werden können. In einer Implementierung können die Anzeigedaten 210 in drei Layer aufgeteilt werden, wie z.B. Video 400, Desktop-Betriebssystem (OS)-Anwendung 402 und Maus (Zeigevorrichtung) 404. Wie oben erläutert, kann der Benutzer eine oder mehrere Kombinationen der Layer auswählen, die in der Anzeigevorrichtung 104 angezeigt werden sollen. Beispielsweise kann das Video 400 für das Video-Streaming auf der Anzeigevorrichtung 104 ausgewählt werden. In diesem Beispiel, wird das Video 400 erfasst (durch die Videoerfassung 502), codiert (durch den Multi-Stream-Codierer für WiDi 214) und unabhängig vom Sender 222 an die Anzeigevorrichtung 104 übertragen. In einer Implementierung kann die Codierung des Videos 400 hardwarebasierte Codierung nach dem H264-Standard (z.B. das H264-Videoformat) verwenden, die alle Formen von digital komprimiertem Video, wie z.B. HDTV-Rundfunkanwendungen, abdeckt. In dieser Implementierung kann das Video 400 RTP als Transportprotokoll verwenden, wenn das Video durch den Sender 222 gestreamt wird. Die erforderliche Transcodierung und QOS für das Video 400 kann modifiziert, codiert und indirekt von der Anzeige auf der Desktop-Betriebssystem (OS)-Anwendung 402 dargestellt werden, die unabhängig vom Video 400 gestreamt wird.
  • Die Desktop-Betriebssystem (OS)-Anwendung 402 kann die Betriebssystem (OS)-Desktop-Datenströme enthalten, die codiert werden, indem zuerst die grafische Anzeige in eine Rasterstruktur aufgeteilt wird, die N × M Pixel (z.B. N7 × M7 Pixel) umfasst. Die N × M Pixel können basierend auf dem Anzeigeinhalt dynamisch angepasst werden. Um die drahtlose Auslastung für kleine Einzelbilder zu reduzieren und die Komprimierung zu maximieren, können die Werte für N und M für eine dynamische Anpassung ausgewählt werden, um unter den gegebenen Netzwerkbedingungen eine optimale Leistung zu erzielen. In einer Implementierung wird die Desktop-Betriebssystem (OS)-Anwendung 402 (durch Desktop- und Anwendungserfassung 504) erfasst und auf Anforderung durch den Sender 222 zur Anzeigevorrichtung 104 transportiert. Mit anderen Worten können die angegebenen Zellen des Bildschirms, die modifiziert werden, angesichts definierbaren QOS und Einzelbildaktualisierungsraten, die unabhängig vom Video 400 angegeben werden, übertragen werden.
  • In einer Implementierung kann die Maus (Zeigevorrichtung) 404 die Bewegungen der Maus (Zeigevorrichtung) des Benutzers umfassen, die (durch den Sender 222) als kartesische Koordinaten übermittelt werden. In dieser Implementierung können die Bewegungen durch eine Mausbewegungserfassung 506 erfasst werden. Um die Netzwerküberlastungen bzw. den Overhead zu reduzieren und die Leistung zu steigern (angesichts der Probleme mit kleinen Einzelbildgrößen und zunehmender drahtloser Auslastung), können Dateneinzelbilder, die Koordinatenpunkte der Maus (Zeigevorrichtung) umfassen, angesichts der gewünschten Auflösung und der gewünschten Benutzererfahrung oder QOS übermittelt werden. Es kann Interpolation zwischen Punkten verwendet werden, um den Overhead zu reduzieren oder die Zuverlässigkeit angesichts der Einzelbildverluste zu verbessern, wenn UDP anstatt TCP verwendet wird. Die Mausbewegungserfassung 506, die Desktop- und Anwendungserfassung 504 sowie die Videoerfassung 502 können alle von der Aktualisierungseinheit 212 implementiert werden.
  • Beispielprozess
  • 6 zeigt einen Beispielprozess 600 für erweitertes WiDi, der unabhängiges Streaming mehrerer Daten auf eine Anzeigevorrichtung umfasst. Die Reihenfolge, in der das Verfahren beschrieben ist, soll nicht in einem einschränkenden Sinne ausgelegt werden. Zudem kann eine beliebige Anzahl der beschriebenen Verfahrensblöcke in einer beliebigen Reihenfolge kombiniert werden, um das Verfahren oder alternative Verfahren zu implementieren. Darüber hinaus können einzelne Blöcke von dem Verfahren gelöscht werden, ohne vom Geist und Schutzumfang des hier beschriebenen Gegenstands abzuweichen. Außerdem kann das Verfahren in einer beliebigen geeigneten Hardware, Software, Firmware oder einer Kombination davon implementiert werden, ohne vom Umfang der Erfindung abzuweichen.
  • Bei Block 602 wird die Aufteilung einer grafischen Anzeige ausgeführt. In einer Implementierung wird die grafische Anzeige in Anzeigedaten (z.B. Anzeigedaten 210) aufgeteilt, um mehrere Datenströme (d.h. verschiedene Layer) zu umfassen. Die mehreren Datenströme können Multimedia-Datenströme, Betriebssystem (OS)-Desktop-Datenströme und Maus- (Zeigevorrichtungs-) Datenströme umfassen.
  • Bei Block 604 werden die mehreren Datenströme unabhängig voneinander zur Übertragung codiert. In einer Implementierung kann ein Multi-Stream-Codierer für WiDi (z.B. Multi-Stream-Codierer für WiDi 214) die mehreren Datenströme unabhängig voneinander codieren. Beispielsweise werden die Multimedia-Datenströme getrennt von den Betriebssystem (OS)-Desktop- und Maus- (Zeigevorrichtungs-) Datenströmen codiert.
  • Bei Block 606 wird die Übertragung der codierten mehreren Datenströme ausgeführt. In einer Implementierung werden die mehreren Datenströme durch eine oder mehrere Kommunikationslayer (z.B. Kommunikationslayer 216) übertragen. Beispielsweise werden die Multimedia-Datenströme mithilfe von H264-Standard-Hardware und dem RTP-Protokoll übertragen. Andererseits werden die Betriebssystem (OS)-Desktop- und Maus-(Zeigevorrichtungs-) Datenströme auf Anforderung oder mithilfe von UDP-/TCP-Protokollen übertragen.
  • Bei Block 608 wird das Ermitteln einer Bildänderung auf einem Block eines Bildes ausgeführt. In einer Implementierung umfasst das Bild ein Einzelbild, das in die Anzahl von k Zellen (d.h. Blöcke) aufgeteilt ist. Die Anzahl von k Zellen kann insgesamt N x M Pixel umfassen. Die Anzahl von k Blöcken zwischen zwei aufeinanderfolgenden Einzelbildern kann mithilfe eines in einer Aktualisierungseinheitenkomponente (z.B. Aktualisierungseinheit 212) enthaltenen parallelisierten GPU-basierten Algorithmus verglichen werden, um die exakte Position der Zelle(n) zu bestimmen, die die Bildänderung definiert/definieren. Die erkannten Zellen können Aktualisierungen für die nächste Übertragung an der Vorrichtungsquelle (z.B. Vorrichtungsquelle 102) umfassen. In einer anderen Implementierung können die N x M Pixel entsprechend der Netzwerkbedingungen dynamisch angepasst werden.
  • Bei Block 610 wird das Übertragen der Aktualisierungen ausgeführt, die die erkannte Bildänderung enthalten. In einer Implementierung werden die N x M Pixel dynamisch angepasst, um sicherzustellen, dass die Bildänderung (d.h. modifizierte Zelle) in ein einzelnes Dateneinzelbild passt, um weitere nicht unterbrechbare (atomic) Aktualisierungen zu ermöglichen und die Auswirkungen von beschädigten oder verlorenen Einzelbildern einzuschränken. Zu diesem Zweck kann UDP zusätzlich zu TCP während der Übertragung implementiert werden, da der Verlust von Einzelbildern keine drastische Auswirkung auf die gesamte Bildschirmaktualisierung hat. In anderen Implementierungen können die nicht unterbrechbaren (atomic) Aktualisierungen implementiert werden, indem den Aktualisierungen bestimmter Bereiche (z.B. des Desktop-Betriebssystem (OS)-Bildschirms) angesichts der Art, in der der Benutzer den Bildschirm anzeigen kann, eine Wichtigkeit zugewiesen wird. Beispielsweise neigt der Benutzer dazu, den zentralen Bereich des Bildschirms häufiger zu bemerken als den Umfang oder die äußeren Bereiche des Desktop-Betriebssystem (OS)-Bildschirms (z.B. die Uhr unten im Desktop-Betriebssystem (OS)-Bildschirm). Zu diesem Zweck kann der zentrale Bereich, der die meisten sichtbaren Punkte enthält, mit größerer Priorität übertragen werden, wenn durch die Aktualisierungseinheit 212 eine Zellenmodifikation erkannt wird.
  • Bei Block 612 wird das Zusammenführen der erkannten Bildänderung in der aktuellen Anzeige in der Anzeigevorrichtung ausgeführt. In einer Implementierung werden die erkannten Aktualisierungen durch eine Multi-Stream-Decoderkomponente (z.B. Multi-Stream-Decoder 322) empfangen. Die erkannten Aktualisierungen können zusammengeführt werden, indem die Aktualisierungen in einen aktuellen Bildspeicher integriert werden, der in der Aktualisierungseinheit/Bildspeicherkomponente 322 gespeichert ist. Die zusammengeführten Aktualisierungen können an den Anzeigedaten 324 der Vorrichtungsquelle 104 angezeigt werden.
  • Realisierungen gemäß der vorliegenden Erfindung wurden im Kontext bestimmter Ausführungsformen beschrieben. Diese Ausführungsformen sind in einem veranschaulichenden und nicht in einen einschränkenden Sinn zu verstehen. Es sind viele Varianten, Abwandlungen, Ergänzungen und Verbesserungen möglich. Dementsprechend können für die im vorliegenden Text als einzelne Instanz beschriebenen Komponenten mehrere Instanzen bereitgestellt werden. Die Grenzen zwischen verschiedenen Komponenten, Vorgängen und Datenspeichern sind in einem gewissen Maß willkürlich, und bestimmte Vorgänge werden im Kontext mit spezifischen veranschaulichenden Konfigurationen dargestellt. Weitere Zuweisungen von Funktionen sind vorgesehen und können in den Umfang der folgenden Ansprüche fallen. Abschließend können die in verschiedenen Konfigurationen als getrennte Komponenten dargestellten Strukturen und Funktionen als eine kombinierte Struktur oder Komponente implementiert werden. Diese und andere Variationen, Abwandlungen, Modifikationen, Ergänzungen und Verbesserungen können in den Umfang der Erfindung fallen, wie in den folgenden Ansprüchen definiert ist.

Claims (21)

  1. Verfahren, das Folgendes umfasst: Aufteilen einer grafischen Anzeige einer Quellvorrichtung (102) in mehrere Datenströme, die einen Multimedia-Datenstrom, einen Betriebssystem-Desktop-Datenstrom und einen Zeigevorrichtungsdatenstrom umfassen; separates und unabhängiges Codieren, durch die Quellvorrichtung (102), der mehreren Datenströme für eine Übertragung zu einer Anzeigevorrichtung (104); Übertragen der mehreren codierten Datenströme von der Quellvorrichtung (102) zur Anzeigevorrichtung (104); wobei die Übertragung des Betriebssystem-Desktop-Datenstroms zur Anzeigevorrichtung (104) die folgenden Verfahrensschritte umfasst: Erkennen einer Bildänderung in einem Block eines Bildes des Betriebssystem-Desktop-Datenstroms, wobei die Bildänderung erkannt wird, indem zwei aufeinanderfolgende Einzelbilder des Betriebssystem-Desktop-Datenstroms mithilfe eines parallelisierten Graphics Processing Unit (Grafikverarbeitungseinheit, GPU)-basierten Algorithmus verglichen werden; Bestimmen von Aktualisierungen, die die erkannte Bildänderung umfassen; Zuweisen, durch die Quellvorrichtung (102), einer Wichtigkeit zu den Aktualisierungen von Bereichen des Betriebssystem-Desktop-Bildschirms; und Übertragen, durch die Quellvorrichtung (102), der Aktualisierungen zu der Anzeigevorrichtung (104), wobei eine Priorität der Übertragung auf der zugewiesenen Wichtigkeit der Aktualisierungen basiert.
  2. Verfahren nach Anspruch 1, wobei das Aufteilen der mehreren Datenströme unabhängig von einem Betriebssystem-Desktop-Manager an der Quellvorrichtung (102) verarbeitet wird.
  3. Verfahren nach Anspruch 2, wobei die mehreren Datenströme unterschiedliche Servicequalitätsebenen umfassen.
  4. Verfahren nach Anspruch 1, wobei das Übertragen ein Echtzeit-Protokoll für den Multimedia-Datenstrom und ein Übertragungssteuerungsprotokoll oder Benutzerdatensegmentprotokoll für die Betriebssystem-Desktop- und Zeigevorrichtungs-Datenströme verwendet.
  5. Verfahren nach Anspruch 1, wobei das Erkennen den Graphical Processing Unit (GPU)-basierten Algorithmus umfasst, der einzelne Zellen der zwei aufeinanderfolgenden Einzelbildern vergleicht.
  6. Verfahren nach Anspruch 1 oder Anspruch 5 ferner umfassend das Aufteilen eines Einzelbildes in Blöcke, die eine dynamische Anzahl von Pixeln umfassen, wobei die dynamische Anzahl von Pixeln angepasst wird, um in ein Einzelbild zu passen, um die Auswirkung eines beschädigten oder verlorenen Einzelbildes einzuschränken.
  7. Verfahren nach Anspruch 1, wobei das Erkennen gestoppt wird, sobald eine Zellenmodifikation durch den parallelisierten Graphics Processing Unit (GPU)-basierten Algorithmus erkannt wird.
  8. Quellvorrichtung (102), die Folgendes umfasst: einen oder mehrere Prozessoren (200); einen Arbeitsspeicher (202), der für den einen oder die mehrere Prozessoren (200) konfiguriert ist, der Folgendes umfasst: eine Aktualisierungseinheit (212), die eine grafische Anzeige einer Quellvorrichtung (102) in mehrere Datenströme aufteilt, die einen Multimedia-Datenstrom, einen Betriebssystem-Desktop-Datenstrom und einen Zeigevorrichtungs-Datenstrom umfassen, wobei die Aktualisierungseinheit (212) eine Bildänderung in einem Block eines Bildes des Betriebssystem-Desktop-Datenstroms erkennt, indem zwei aufeinanderfolgende Einzelbilder des Betriebssystem-Desktop-Datenstroms mithilfe eines parallelisierten Graphics Processing Unit (GPU)-basierten Algorithmus verglichen werden, wobei Aktualisierungen bestimmt werden, die die erkannte Bildänderung umfassen, und wobei den Aktualisierungen von Bereichen des Betriebssystem-Desktop-Bildschirms eine Wichtigkeit zugewiesen wird; einen Multistream-Codierer (214), der die mehreren Datenströme unabhängig codiert; und eine Kommunikationslayer (216), die verschiedene Kommunikationsprotokolle implementiert, um die codierten mehreren Datenströme an die Anzeigevorrichtung (104) zu übertragen, wobei in dem Betriebssystem-Desktop-Datenstrom eine Priorität der Übertragung der Aktualisierungen auf der zugewiesenen Wichtigkeit der Aktualisierungen basiert.
  9. Quellvorrichtung (102) nach Anspruch 8, wobei die Aktualisierungseinheit (212) das Aufteilen der mehreren Datenströme unabhängig vom Betriebssystem-Desktop-Manager an der Quellvorrichtung (102) verarbeitet.
  10. Quellvorrichtung (102) nach Anspruch 9, wobei die mehreren Datenströme unterschiedliche Servicequalitätsebenen umfassen.
  11. Quellvorrichtung (102) nach Anspruch 8, wobei die Aktualisierungseinheit (212) die Bildänderung erkennt, indem einzelne Zellen der zwei aufeinanderfolgenden Einzelbilder verglichen werden.
  12. Quellvorrichtung (102) nach Anspruch 8, wobei die Aktualisierungseinheit (212) das Erkennen stoppt, sobald eine Zellenmodifikation durch den parallelisierten Graphics Processing Unit (GPU)-basierten Algorithmus erkannt wird.
  13. Quellvorrichtung (102) nach Anspruch 8 bis 12, wobei die Aktualisierungseinheit (212) ein Einzelbild in Blöcke aufteilt, die eine dynamische Anzahl von Pixeln umfassen, wobei die dynamische Anzahl von Pixeln angepasst wird, um in ein Einzelbild zu passen, um die Auswirkung eines beschädigten oder verlorenen Einzelbildes einzuschränken.
  14. Quellvorrichtung (102) nach Anspruch 8, wobei die Kommunikationslayer ein Echtzeit-Protokoll für den Multimedia-Datenstrom und ein Übertragungssteuerungsprotokoll oder Benutzerdatensegmentprotokoll für die Betriebssystem-Desktop- und Zeigevorrichtungs-Datenströme verwendet.
  15. Anzeigevorrichtung (104), die Folgendes umfasst: einen oder mehrere Prozessoren (302); einen Arbeitsspeicher (304), der für den einen oder die mehrere Prozessoren (302) konfiguriert ist, der Folgendes umfasst: eine Aktualisierungseinheit (322) und einen Bildspeicher, der mehrere Datenströme von einer Quellvorrichtung (102) empfängt, die einen Multimedia-Datenstrom, einen Betriebssystem-Desktop-Datenstrom und einen Zeigevorrichtungs-Datenstrom umfassen, wobei die Aktualisierungseinheit/der Bildspeicher (322) erkannte Aktualisierungen in einem aktuellen Bildspeicher zusammenführt, wobei die erkannten Aktualisierungen eine Bildänderung in einem Block eines Bildes des Betriebssystem-Desktop-Datenstroms umfassen, wobei die Bildänderung von der Quellvorrichtung (102) durch Vergleichen von zwei aufeinanderfolgenden Einzelbildern des Betriebssystem-Desktop-Datenstroms mithilfe eines parallelisierten Graphics Processing Unit (GPU)-basierten Algorithmus abgeleitet wird; und eine Anzeige, auf der die zusammengeführten Aktualisierungen angezeigt werden, wobei bestimmten Bereichen des Betriebssystem-Desktops Priorität gegeben wird.
  16. Anzeigevorrichtung (104) nach Anspruch 15, wobei die Aktualisierungseinheit/der Bildspeicher (322) die mehreren Datenströme empfängt, die unabhängig vom Betriebssystem-Desktop-Manager an der Quellvorrichtungs (102) verarbeitet wurden.
  17. Anzeigevorrichtung (104) nach Anspruch 16, wobei die mehreren Datenströme unterschiedliche Servicequalitätsebenen umfassen.
  18. Anzeigevorrichtung (104) nach Anspruch 15, wobei die Aktualisierungseinheit/der Bildspeicher (322) konfiguriert sind, um eine dynamische Anzahl von Pixeln zu erhalten, die angepasst werden, um in ein Einzelbild zu passen, um die Auswirkung eines beschädigten oder verlorenen Einzelbildes einzuschränken.
  19. Anzeigevorrichtung (104) nach Anspruch 15, ferner umfassend einen Multi-Stream-Decoder (320) zum Decodieren der mehreren Datenströme, die unabhängig voneinander an der Quellvorrichtung (102) codiert und übertragen wurden.
  20. Anzeigevorrichtung (104) nach Anspruch 15, ferner umfassend eine Kommunikationslayer (216), die ein Echtzeit-Protokoll für den Multimedia-Datenstrom und ein Übertragungssteuerungsprotokoll oder Benutzerdatensegmentprotokoll für die Betriebssystem-Desktop- und Zeigevorrichtungs-Datenströme verwendet.
  21. Mindestens ein über einen Computer abrufbares Medium, das bei Ausführung durch den Computer, diesen dazu veranlasst ein Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
DE112011105981.7T 2011-12-20 2011-12-20 Erweitertes Wireless-Display Active DE112011105981B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/065993 WO2013095354A1 (en) 2011-12-20 2011-12-20 Enhanced wireless display

Publications (2)

Publication Number Publication Date
DE112011105981T5 DE112011105981T5 (de) 2014-09-11
DE112011105981B4 true DE112011105981B4 (de) 2021-10-14

Family

ID=48669020

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105981.7T Active DE112011105981B4 (de) 2011-12-20 2011-12-20 Erweitertes Wireless-Display

Country Status (6)

Country Link
US (1) US9756333B2 (de)
JP (1) JP5938106B2 (de)
KR (1) KR101606662B1 (de)
CN (1) CN104115498B (de)
DE (1) DE112011105981B4 (de)
WO (1) WO2013095354A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101606662B1 (ko) 2011-12-20 2016-03-25 인텔 코포레이션 향상된 무선 디스플레이
US9165538B2 (en) * 2013-03-13 2015-10-20 Displaylink (Uk) Limited Image generation
US20140267598A1 (en) * 2013-03-14 2014-09-18 360Brandvision, Inc. Apparatus and method for holographic poster display
JP6194681B2 (ja) * 2013-08-01 2017-09-13 セイコーエプソン株式会社 画像表示装置
US10074203B2 (en) * 2014-12-23 2018-09-11 Synaptics Incorporated Overlay for display self refresh
US10264208B2 (en) * 2015-12-11 2019-04-16 Qualcomm Incorporated Layered display content for wireless display
CN106886424B (zh) * 2015-12-15 2021-08-27 安波福电子(苏州)有限公司 一种根据智能设备升级汽车软件的装置及方法
US20170365236A1 (en) * 2016-06-21 2017-12-21 Qualcomm Innovation Center, Inc. Display-layer update deferral
US10515606B2 (en) * 2016-09-28 2019-12-24 Samsung Electronics Co., Ltd. Parallelizing display update
CN108769735A (zh) * 2018-05-23 2018-11-06 江苏网进科技股份有限公司 一种网络传输的数据压缩中优化Spice方法
CN111009106B (zh) * 2018-10-05 2021-11-30 财团法人工业技术研究院 人机界面系统及其通讯控制装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009224847A (ja) 2008-03-13 2009-10-01 Nec Personal Products Co Ltd 画面データ送信装置及びその方法
US20100146363A1 (en) 2007-01-19 2010-06-10 Koninklijke Philips Electronics, N.V. Method and system of single carrier block transmission with parallel encoding and decoding
US20110010607A1 (en) 2009-07-09 2011-01-13 Raveendran Vijayalakshmi R System and method of transmitting content from a mobile device to a wireless display

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR0014954A (pt) * 1999-10-22 2002-07-30 Activesky Inc Sistema de vìdeo baseado em objetos
US6985589B2 (en) 1999-12-02 2006-01-10 Qualcomm Incorporated Apparatus and method for encoding and storage of digital image and audio signals
US6621500B1 (en) * 2000-11-17 2003-09-16 Hewlett-Packard Development Company, L.P. Systems and methods for rendering graphical data
JP2008523688A (ja) * 2004-12-10 2008-07-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ デジタルビデオレコーダにおける階層型デジタルビデオ符号化のシステム及び方法
US20060235883A1 (en) * 2005-04-18 2006-10-19 Krebs Mark S Multimedia system for mobile client platforms
JP4577267B2 (ja) * 2006-05-17 2010-11-10 株式会社日立製作所 シンクライアントシステム
KR101345341B1 (ko) * 2006-12-13 2013-12-27 삼성전자 주식회사 파일 전송을 위한 사용자 인터페이스를 제공하는 장치 및방법
US8391354B2 (en) * 2007-05-14 2013-03-05 Broadcom Corporation Method and system for transforming uncompressed video traffic to network-aware ethernet traffic with A/V bridging capabilities and A/V bridging extensions
US8629936B2 (en) * 2008-02-14 2014-01-14 Nec Corporation Moving region detection device
JP5071727B2 (ja) * 2008-03-28 2012-11-14 日本電気株式会社 画面データ送信装置、画面データ送信方法及び画面データ送信プログラム
CN101350923B (zh) * 2008-09-03 2010-11-17 中国科学院上海技术物理研究所 一种交互式医学图像通信与显示方法
JP2010237726A (ja) * 2009-03-30 2010-10-21 Nec Personal Products Co Ltd 情報処理装置、そのパラメータ設定方法、プログラム及び記録媒体
JP2011040808A (ja) * 2009-08-06 2011-02-24 Nec Personal Products Co Ltd 情報処理装置、制御方法及びプログラム
US20130148740A1 (en) * 2011-12-09 2013-06-13 Qualcomm Incorporated Method and apparatus for processing partial video frame data
KR101606662B1 (ko) 2011-12-20 2016-03-25 인텔 코포레이션 향상된 무선 디스플레이

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146363A1 (en) 2007-01-19 2010-06-10 Koninklijke Philips Electronics, N.V. Method and system of single carrier block transmission with parallel encoding and decoding
JP2009224847A (ja) 2008-03-13 2009-10-01 Nec Personal Products Co Ltd 画面データ送信装置及びその方法
US20110010607A1 (en) 2009-07-09 2011-01-13 Raveendran Vijayalakshmi R System and method of transmitting content from a mobile device to a wireless display

Also Published As

Publication number Publication date
JP2015505208A (ja) 2015-02-16
CN104115498B (zh) 2018-07-17
DE112011105981T5 (de) 2014-09-11
CN104115498A (zh) 2014-10-22
US9756333B2 (en) 2017-09-05
JP5938106B2 (ja) 2016-06-22
KR20140097512A (ko) 2014-08-06
US20140233629A1 (en) 2014-08-21
KR101606662B1 (ko) 2016-03-25
WO2013095354A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
DE112011105981B4 (de) Erweitertes Wireless-Display
US20170103577A1 (en) Method and apparatus for optimizing video streaming for virtual reality
DE102016120173A1 (de) Verfahren zum Codieren von Videodaten, Videocodierer, welcher dasselbe durchführt und elektronisches System mit demselben
EP3767477B1 (de) Künstlicher intelligenzprozessor und verfahren zur durchführung des betriebs von neuronalem netz davon
US9386319B2 (en) Post-process filter for decompressed screen content
KR101266667B1 (ko) 장치 내 제어기에서 프로그래밍되는 압축 방법 및 시스템
US20150326941A1 (en) Software based wireless channel-aware adaptive video bit rate encoding
DE102020108357A1 (de) Umkodieren vorhergesagter bilder in live-videostream-anwendungen
CN108496199A (zh) 利用创作意图元数据的色调原版制作系统
US8477842B2 (en) Encoding method of screen frame and electronic device applying the same
DE112013007509B4 (de) Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen
DE102005001287A1 (de) Verfahren und Vorrichtung zur Verarbeitung von skalierbaren Daten
US9860901B2 (en) Transmission of data to reception devices
US20150007238A1 (en) Systems and mehtods for content streaming to event spectators
DE102016113764A1 (de) Dynamische bildschirmreplikation und display-darstellung in echtzeit basierend auf medienanwendungseigenschaften
US11259040B1 (en) Adaptive multi-pass risk-based video encoding
US20120033727A1 (en) Efficient video codec implementation
US20140082685A1 (en) Method and apparatus for adjusting data transmission rate in a wireless communication system
DE102013019604B4 (de) System aus einer Mehrzahl an Kameras und einem Zentralserver sowie Verfahren zum Betrieb des Systems
US20160014417A1 (en) Methods and apparatuses for stripe-based temporal and spatial video processing
DE102018119626A1 (de) Codec für Mulitkamera-Komprimierung
US20240236409A9 (en) Electronic apparatus, server apparatus and control method thereof
DE102023200833A1 (de) System und verahren zur verringerung der übertragungsbandbreite in edge-cloud-systemen
EP2845383A1 (de) Mechanismus zur ermöglichung von kosteneffizienter und latenzarmer codierung von videoströmen
DE112022001565T5 (de) System und Verfahren zur dynamischen Bitratenumschaltung von Medien-Streams in einer Medienübertragungsproduktion

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final