NL1032594C2 - Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur. - Google Patents

Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur. Download PDF

Info

Publication number
NL1032594C2
NL1032594C2 NL1032594A NL1032594A NL1032594C2 NL 1032594 C2 NL1032594 C2 NL 1032594C2 NL 1032594 A NL1032594 A NL 1032594A NL 1032594 A NL1032594 A NL 1032594A NL 1032594 C2 NL1032594 C2 NL 1032594C2
Authority
NL
Netherlands
Prior art keywords
fragments
data
steps
sessions
image
Prior art date
Application number
NL1032594A
Other languages
English (en)
Inventor
Ronald Alexander Brockmann
Original Assignee
Avinity Systems B V
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 Avinity Systems B V filed Critical Avinity Systems B V
Priority to NL1032594A priority Critical patent/NL1032594C2/nl
Priority to NL1033929A priority patent/NL1033929C1/nl
Priority to PCT/NL2007/000245 priority patent/WO2008044916A2/en
Priority to EP12163712.8A priority patent/EP2477414A3/en
Priority to US12/443,571 priority patent/US20100146139A1/en
Priority to EP07834561A priority patent/EP2105019A2/en
Priority to JP2009530298A priority patent/JP5936805B2/ja
Priority to EP12163713.6A priority patent/EP2487919A3/en
Application granted granted Critical
Publication of NL1032594C2 publication Critical patent/NL1032594C2/nl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite

Description

WERKWIJZE VOOR HET STREAMEN VAN PARALLELLE GEBRUIKERSSESSIES, SYSTEEEM EN COMPUTERPROGRAMMATUUR.
De onderhavige uitvinding betreft een werkwijze 5 voor het streamen van parallelle gebruikerssessies van ten minste een server naar minste een cliëntinrichting van een veelvoud aan cliëntinrichtingen voor het weergeven van een sessie op een aan de cliëntinrichting koppelbaar beeldscherm waarbij de sessies videodata en eventuele additio-10 nele data zoals audiodata omvatten. Voorts betreft de uitvinding een systeem voor het streamen van dergelijke gebruikerssessies. Voorts betreft de uitvinding computerprogrammatuur voor het uitvoeren van een dergelijke werkwijze en/of voor gebruik in een systeem volgens de onderhavige 15 uitvinding.
Voor het weergeven van een gebruikersinterface voor gebruik in een toepassing van een gebruiker zijn vele oplossingen bekend. Naast de alom bekende PC betreffen voorbeelden hiervan bijvoorbeeld oplossingen die gebruik 20 maken van bijvoorbeeld een webbrowser voor het op de cli-entinrichting renderen van de gebruikersinterface. Hierbij wordt veelal gebruik gemaakt van additionele software op basis van een virtual machine zoals bijvoorbeeld javascript, Macromedia flash MX, JAVA-gebaseerde omgevingen 25 zoals MHP, BD-J en/of Open TV. Een voordeel van dergelijke inrichtingen is dat aantrekkelijke omgevingen kunnen worden gecreëerd of dat de hoeveelheid over te zenden data relatief beperkt kan worden gehouden. Een nadeel van dergelijke systemen is dat er een nauwe afstemming dient te 30 bestaan tussen de software op de servers en op de client-inrichtingen ten behoeve van de compatibiliteit daartussen. Geringe versie- of implementatieverschillen leiden relatief vaak tot operationele problemen of afwijkingen in 1 03 259 4 2 de weergave van de gebruikersinterface. Een verder nadeel van dergelijke complexe middleware kan bestaan uit veiligheidsrisico's, omvattende aanvallen op de virtual machine door middel van wormen, Trojaanse paarden of virussen. De 5 praktische bruikbaarheid van een ontwerp van een grafische gebruikersinterface wordt over het algemeen beperkt door de mogelijkheden van de clientinrichtingen. Indien nieuwe mogelijkheden worden ingevoerd kan er een geruime tijd overheen gaan voordat alle clientinrichtingen zijn voor-10 zien van nieuwe softwareversies. Een dergelijke upgrade vereist voorts een complexe organisatie van servers en datatransport. Een verder nadeel van de bekende systemen is dat over het algemeen een grote verwerkingskracht ofwel rekenkracht vereist is op de clientinrichtingen.
15 Zelfs de naast de PC bekende, als eenvoudig be doelde, opzetkastjes groeien daardoor uit tot zware clients met moeilijk te onderhouden middleware, althans de mogelijkheden voor upgrades zijn laag en de distributie van de software lastig. Een verder probleem hierbij is dat 20 functionaliteit in opzetkastjes over het algemeen is verwerkt in hardware waardoor updates zeer kostbaar zijn.
Teneinde dergelijke nadelen te ondervangen, verschaft de onderhavige uitvinding een werkwijze voor het streamen van een aantal parallelle gebruikerssessies (ses-25 sies) van ten minste één server naar ten minste één cliënt van een veelvoud aan een cliëntinrichting voor het weergeven van de sessie op een aan de cliëntinrichting koppel-baar beeldscherm, waarbij dergelijke sessies videodata en eventuele additionele data zoals audiodata omvatten, waar-30 bij de werkwijze stappen omvat voor: - het op basis van herbruikbare beeldinformatie definiëren gecodeerde fragmenten, waarbij de gecodeerde fragmenten geschikt zijn voor het samenstellen van de vi- 3 deodata in een vooraf bepaald dataformaat, zoals een vi-deostandaard of een videocodec, en de gecodeerde fragmenten geschikt zijn voor toepassing in een of meer beelden en/of een of meer sessies, 5 - het per sessie renderen van een datastroom om vattende videogegevens onder toepassing van de gecodeerde fragmenten.
Een voordeel van een dergelijke werkwijze volgens de onderhavige uitvinding is dat gebruik gemaakt kan wor-10 den van zeer licht uitgevoerde thin clients, zoals client-inrichtingen met zeer basale videodecoderingscapaciteiten. Er kan aan de gebruikerszijde bijvoorbeeld worden volstaan met een inrichting die in staat is tot het decoderen van MPEG streams. Aan de serverzijde kan onder gebruikmaking 15 van een dergelijke werkwijze volgens de onderhavige uitvinding een groot aantal parallelle sessies worden ondersteund, waarbij voor elke sessie slechts een fractie van de rekenkracht is vereist die zou zijn vereist voor het op bekende wijze genereren van bijvoorbeeld een Mpeg stream. 20 Hetzelfde voordeel bestaat bij het coderen onder gebruikmaking van andere codecs. Voor het toepassen van de onderhavige uitvinding volstaan bij voorbeeld zelfs eenvoudige inrichtingen als DVD-spelers met bijvoorbeeld een netwerkaansluiting. Vanzelfsprekend kunnen aanwezige meer 25 complexe inrichtingen tevens worden toegepast aan de zijde van de eindgebruikers. Hierbij gelden voorts geen verdere vereisten aan een dergelijke inrichting dan dat een standaard codec kan worden weergegeven. Ten opzichte van de genoemde systemen volgens de stand van de techniek is dit 30 een aanzienlijke vereenvoudiging.
In een voorkeursuitvoeringsvorm omvat de werkwijze volgens de onderhavige uitvinding stappen voor het bij het definiëren van de gecodeerde fragmenten toepassen van een 4 aantal in een raster rangschikbare codecslices onder afhankelijkheid van weer te geven beeldobjecten van de gebruikersinterface. Een voordeel hiervan is dat gebruik kan worden gemaakt van de beeldopbouw van een dataformaat. Een 5 voorbeeld hiervan is dat gebruik kan worden gemaakt van slices die zijn opgebouwd uit een aantal macroblokken bij bijvoorbeeld MPEG2.
Bij voorkeur omvat de werkwijze voorts stappen voor het uitvoeren van orthogonale bewerkingen op texture-10 maps voor het mogelijk maken van bewerkingen op een gebruikersinterface zonder afhankelijkheid van referentiebeelden van het dataformaat. Een voordeel hiervan is dat het mogelijk wordt dat bewerkingen op de gebruikersinterface kunnen worden uitgevoerd zonder of met minimale af-15 hankelijkheid van de daadwerkelijke referentiebeelden waarop de bewerkingen worden uitgevoerd.
In een verdere voorkeursuitvoeringsvorm omvat de werkwijze stappen voor het verwijzen van gecodeerde fragmenten naar beeldpunten van een referentiebeeldbuffer in 20 een decodeerorgaan zelfs indien de beeldpunten in deze buffer niet zijn ingesteld op basis van dit gecodeerde fragment. Hierdoor wordt het mogelijk gemaakt referentiebeeldbuf ferpixels op effectieve wijze toe te passen als een texturemap. Hierdoor wordt de dataoverdracht beperkt 25 en bijvoorbeeld de benodigde rekenkracht op de server verminderd. Voorts is het niet nodig de hand te houden aan bijvoorbeeld een GOP-structuur die bijvoorbeeld bij bekende videoformaten is verschaft voor vrije toegang in de vi-deo-stroom, een vrij toegankelijke videostroom is hierbij 30 niet vereist. Een verder voordeel is dat met flexibiliteit die wordt verkregen gecodeerde fragmenten op effectieve wijze kunnen worden samengekoppeld voor het op sequentiële wijze uitvoeren van bewerkingen op pixels in referentie- 5 buffers voor het verkrijgen van gewenste effecten op het beeldscherm.
Bij voorkeur omvat de werkwijze stappen voor het tijdelijk in een snel toegankelijk geheugen opslaan van de 5 beeldfragmenten. Door het tijdelijk opslaan van de gecodeerde beeldfragmenten in een snel toegankelijk geheugen, wordt het mogelijk het hergebruiken van de gecodeerde fragmenten met grote efficiëntie toe te passen. Een dergelijk snel toegankelijk geheugen kan worden aangeduid als 10 bijvoorbeeld een cachegeheugen. Het heeft de voorkeur een dergelijk cachegeheugen uit te voeren als een RAM-geheugen. Het is echter evenzeer mogelijk een deel van het cachegeheugen uit te voeren als een minder snel toegankelijk geheugen zoals een harde schijf. Hierdoor wordt het 15 bijvoorbeeld mogelijk gecodeerde fragmenten gedurende een langere tijdsperiode zeker te stellen wanneer de gebruikersinterface gedurende langere periode, bijvoorbeeld met onderbrekingen wordt gebruikt. Door gecodeerde fragmenten uit te lezen uit het tijdelijke geheugen kunnen deze met 20 een tijdsvertraging worden hergebruikt waardoor de fragmenten niet opnieuw behoeven te worden gecodeerd en gedefinieerd.
Bij voorkeur omvat de werkwijze stappen voor toevoegen van een tag ten behoeve van identificatie van geco-25 deerde fragmenten aan de gecodeerde fragmenten. Hierdoor wordt het bijvoorbeeld mogelijk om op basis van de identificatie gegevens bij te houden met betrekking tot de frequentie of intensiteit van het gebruik van een gecodeerd fragment op basis waarvan een bepaalde prioriteit aan een 30 fragment kan worden gegeven. Voorts is hier de mogelijkheid voorzien gegevens met betrekking tot het gebruik in de tijd en/of plaats op een beeldscherm te koppelen aan de gecodeerde fragmenten teneinde een positie van het geco- 6 deerde fragment op correcte wijze in de gebruikersinterface in te passen.
Voor toepassingen van texturemappinggegevens in gecodeerde fragmenten omvat de werkwijze voorts bij voor-5 keur stappen voor het vervaardigen van dergelijke texturemapping gegevens. Op basis van een texturemappingveld dat wordt verschaft als invoer voor de codeerstappen kan worden bepaald op welke wijze pixels in de referentiebeelden kunnen worden gebruikt. Er kan per pixel of per blok van 10 pixels in het texturemappingveld worden vastgelegd wanneer pixels van de texturemap kunnen worden hergebruikt of vectoren dienen te worden gebruikt voor deze pixels. Voorts is het mogelijk te bepalen of pixelwaarden dienen te worden bewerkt door middel van optellingen of aftrekkingen.
15 In een verdere voorkeursuitvoeringsvorm omvat de werkwijze stappen voor het gebruiken van gegevens met betrekking tot de vorm en/of dimensies van de slices in de stappen voor het definiëren van de gecodeerde fragmenten. De toepassing van het gebruik van slices met verschillende 20 formaten en vormen verschaft een grote mate van flexibiliteit voor het definiëren van beelden of videobeelden die in de grafische gebruikersinterface worden weergegeven.
Bij voorkeur omvatten de stappen voor het renderen van de datastroom stappen voor het gebruiken van media-25 assets zoals tekst, beelden, video en of geluid. Hierdoor wordt het mogelijk een multimediale interface te verschaffen waarin binnen de definitie van gebruikersinterface vrijelijk multimediale elementen kunnen worden weergegeven. Hierdoor wordt het bijvoorbeeld mogelijk kaders te 30 definiëren met daarin bewegelijke beelden of foto's. Hierdoor wordt het bijvoorbeeld mogelijk een grafische gebruikersinterface te verschaffen waarin een fotosharingappli-catie wordt verschaft. Het is hierdoor bijvoorbeeld moge- 7 lijk een dergelijke fotosharingapplicatie die op zichzelf bekend is binnen een internetomgeving weer te geven op een normaal televisiescherm onder gebruikmaking van bijvoorbeeld een opzetkasje of een aan een internet gekoppelde 5 Mpeg speler zoals een dvd speler.
Een verder aspect van de onderhavige uitvinding betreft een systeem voor het streamen van een aantal parallelle gebruikerssessies (sessies) van ten minste één server naar ten minste één cliëntinrichting van een veel-10 voud aan cliëntinrichtingen voor het weergeven van de sessies op een aan een cliëntinrichting koppelbaar beeldscherm, waarbij de sessies videodata en eventuele additionele data zoals audiodata omvatten, omvattende: - ten minste een server voor het: 15 - coderen van herbruikbare beelddata tot geco deerde fragmenten, - samenstellen van videostreams omvattende ten minste een gecodeerd fragment, - ontvangstmiddelen voor het ontvangen van ten 20 minste gebruikersinstructies, - verzendmiddelen voor het verzenden van videostreams in een vooraf bepaald dataformaat, zoals Mpeg of H.264, naar de cliëntinrichtingen.
Met behulp van een dergelijk systeem volgens de 25 onderhavige uitvinding wordt het mogelijk gecodeerde fragmenten te coderen waarin herbruikbare beelddata is opgenomen waardoor het mogelijk wordt om met een beperkte hoeveelheid rekenkracht van de server een veelheid van videostreams samen te stellen voor het ondersteunen van een 30 veelheid van gebruikersinterfaces van gebruikerssessies.
Een dergelijk systeem omvat bij voorkeur snel toegankelijk geheugen, zoals een cachegeheugen voor het tijdelijk opslaan van de gecodeerde fragmenten. Door middel 8 van het tijdelijk opslaan en het hergebruiken van gecodeerde fragmenten en deze met een hoge efficiëntie te combineren kunnen gepersonaliseerde videostreams worden gegenereerd onder gebruikmaking van relatief geringe reken-5 kracht en met lage reactietijden. Het is hierbij voordelig dat er geen kopieën behoeven te worden bij gehouden van de toestand van de referentiebeeldbuffers in de cliëntinrich-ting in tegenstelling tot systemen volgens de stand van de techniek. Hierdoor worden grote hoeveelheden geheugen be-10 spaard.
In een verdere voorkeursuitvoeringsvorm omvat het systeem middelen voor het omzetten en/of multiplexen van datastromen voor verzending daarvan naar de cliëntinrich-ting. Dergelijke middelen dragen bij aan verder besparen 15 van bandbreedte en/of rekenkracht.
Bij voorkeur omvat het systeem een toepassingsser-ver omvattende de ontvangstmiddelen waarbij de toepas-singsserver is ingericht voor het aanpassen van een server en/of gebruikerstoepassing voor weergave via de cliëntin-20 richting. Bij voorkeur houdt deze toepassingsserver rekening met parameters van het vooraf bepaalde videoformaat, zoals de videocodec zoals MPEG-2 en/of H.264.
In een verdere voorkeursuitvoeringsvorm omvat het systeem middelen voor het uitwisselen van gegevens met be-25 trekking tot de inhoud van een snel toegankelijk geheugen en de toepassingsserver. Door deze maatregelen wordt het mogelijk het cachegeheugen en de toepassing daarvan te optimaliseren ten opzichte van gegevens met betrekking tot nog te gebruiken beeldelementen in gebruikersinterfaces 30 waarover de toepassingsserver gegevens heeft.
Een verder aspect van de onderhavige uitvinding betreft een systeem volgens de onderhavige uitvinding zoals in het voorgaande is beschreven voor het uitvoeren van 9 een werkwijze volgens de onderhavige uitvinding zoals in het voorgaande is omschreven.
Een verder aspect van de onderhavige uitvinding betreft computerprogrammatuur voor het uitvoeren van een 5 werkwijze volgens de onderhavige uitvinding en/of voor gebruik in het systeem volgens de onderhavige uitvinding.
Verdere voordelen, kenmerken en details van de onderhavige uitvinding zullen in het navolgende in groter detail worden beschreven aan de hand van voorkeursuitvoe- 10 ringsvormen onder verwijzing naar de aangehechte figuren.
- Fig. 1 is een schematische weergave van een eerste voorkeursuitvoeringsvorm van een systeem omvattende de onderhavige uitvinding, - Fig. 2 is een schematische weergave van een 15 voorkeursuitvoeringsvorm van een deel van het systeem volgens figuur 1, - Fig. 3 is een schematische weergave van een cli-entinrichting die geschikt is voor toepassing van een systeem volgens onderhavige uitvinding, 20 - Fig. 4 is een stroomschema van een voorkeursuit voeringsvorm van een werkwijze volgens de onderhavige uitvinding, - Fig. 5 is een stroomschema van een voorkeursuitvoeringsvorm van een werkwijze volgens de onderhavige uit- 25 vinding, - Fig. 6 is een stroomschema van een voorkeursuitvoeringsvorm van een werkwijze volgens de onderhavige uitvinding, - Fig. 7 is een stroomschema van een voorkeursuit- 30 voeringsvorm van een werkwijze volgens de onderhavige uitvinding 10 - Fig. 8 A-D zijn weergaven van beeldtransities voor toepassing in een systeem of werkwijze volgens de onderhavige uitvinding.
Een eerste uitvoeringsvorm (fig. 1,2) betreft een 5 deelsysteem voor weergave van gebruikersinterfaces van een gebruikerssessie die dient te worden weergegeven op een beeldscherm van een gebruiker. In globale zin worden applicaties die opereren op een zogenoemde frontendserver 4 volgens de onderhavige uitvinding geschikt gemaakt voor 10 weergave via een zogenoemde thin cliënt 3 ofwel cliëntin-richting 3. Een dergelijke thin cliënt is geschikt voor weergave van een signaal in een formaat van een bijvoorbeeld relatief eenvoudige videocodec zoals MPEG-2, H.264, Windows media/ VC-1 en dergelijke. De applicatie die 15 draait op de frontendserver 4 past over het algemeen gegevens toe die afkomstig zijn uit een backendserver 5 die op kenmerkende wijze een combinatie van gegevensbestanden en businesslogica omvat. Het kan hierbij gaan om een op zichzelf bekende internettoepassing. De onderhavige uitvinding 20 is bij uitstek geschikt om grafische toepassingen zoals internettoepassingen weer te geven op bijvoorbeeld een TV-scherm. Hoewel het de voorkeur heeft dat een dergelijk TV-scherm relatief hoge resolutie heeft zoals bekend is bij TFT-schermen, LCD-schermen of plasmaschermen is het van-25 zelfsprekend mogelijk een TV-scherm toe te passen met een relatief oude weergavetechniek als CRT.
Vanaf de backendserver 5 worden bijvoorbeeld XML items en beeldbestanden of multimediale beeldbestanden via de communicatieverbinding elk overgebracht naar de fron-30 tendapplicatieserver. Hiertoe kan de frontendapplicatie-server verzoeken versturen via de verbinding 4 in de richting van de backendserver. De frontendapplicatieserver functioneert bij voorkeur op basis van verzoeken die deze 11 ontvangt via de verbinding 7 die afkomstig zijn van de renderer 2 volgens de onderhavige uitvinding. In reactie op deze verzoeken verschaft de contentapplicatie bijvoorbeeld XML beschrijvingen, stijlbestanden en de media-5 assets. De werking van de renderer 2 volgens de onderhavige uitvinding zal in groter detail in het navolgende worden besproken.
De handelingen van de renderer worden uitgevoerd op basis van aanvragen 9 op basis van gebruikerswensen die 10 de gebruiker bijvoorbeeld te kennen geeft door middel van het selecteren van elementen van de grafische gebruikersinterface zoals menuelementen of keuze-elementen door middel van handelingen met een afstandsbediening. Een ver-gelijkingsvoorbeeld hiervan is dat een gebruiker dergelij-15 ke handelingen uitvoert naar analogie van het bedienen van menustructuur van bijvoorbeeld een dvd-speler of een normale webapplicatie. In reactie op de verzoeken 9 verschaft de renderer gecodeerde audio- en/of videobeelden in het vooraf bepaalde codecformaat zoals MPEG-2 of H.264. De 20 ontvangen beelden worden door de cliëntinrichting 3 geschikt gemaakt voor weergave op het beeldscherm zoals de genoemde TV via het signaal 12.
In figuur 3 is op schematische wijze een dergelijke cliëntinrichting 3 getoond. Het vanaf de renderer ont-25 vangen signaal, dat op een in het navolgende nader te beschrijven wijze is gemultiplext, wordt ontvangen en of ge-demultiplext in de ontvangstmodule 44. Vervolgens wordt het signaal gesplitst aangeleverd naar de audiodecodeer-eenheid 43 in de videodecodeereenheid 45. In deze videode-30 codeereenheid 45 zijn op schematische wijze twee referen-tiebeeldbuffers getoond zoals deze bij MPEG-2 worden toegepast. In bijvoorbeeld het geval van een codec als H.264 zijn zelfs 16 referentiebeelden mogelijk. Afhankelijk van 12 de in de cliëntinrichting aanwezige decodeercodecs is het mogelijk in meer of mindere mate geavanceerde bewerkingen zoals beeldovergangen toe te passen volgens de onderhavige uitvinding, hetgeen in onder meer in groter detail wordt 5 beschreven aan de hand van Fig. 8.
In het navolgende wordt de renderer 2 in groter detail beschreven aan de hand van figuur 2. Zoals in het voorgaande is beschreven functioneert de module voor de toepassingslogica 28 op basis van de instructies 9 die 10 worden verkregen van de eindgebruiker. Deze instructies worden vanaf een inrichting van de eindgebruiker via één of andere netwerkfunctionaliteit verzonden naar de module 28. Hiervoor is elke denkbare netwerkfunctionaliteit geschikt zoals een internetverbinding op basis van het 15 TCP/IP protocol, een verbinding op basis van XRT2 en dergelijke. Verder kunnen hiervoor bedrade en draadloze verbindingen worden toegepast voor het verschaffen van de fysieke verbinding. Na ontvangst interpreteert de module 28, omvattende de applicatielogica, de instructies van de ge-20 bruiker. Op basis van bijvoorbeeld een XML paginabeschrij-ving, de stijldefinities en de instructies van de gebruiker kunnen verversingen van het beeldscherm worden gedefinieerd. Het kan hierbij gaan om incrementele verversingen zoals cursor updates dan wel volledige schermverversingen. 25 Op basis van de gebruikerswensen van de instruc ties 9 kan de module 28 bepalen hoe de actualisering van de beeldschermgegevens dient te worden uitgevoerd. Enerzijds is het mogelijk door middel van verzoeken 6 aan de frontendserver gegevens op te vragen met betrekking tot 30 nieuwe XML paginabeschrijvingen en stijldefinities 7a en anderzijds media-assets zoals beelden, videogegevens, animaties, audiogegevens, lettertypes en dergelijke 7b op te vragen. Het is echter evenzeer mogelijk dat de module 28 13 op basis van gegevens die deze uitwisselt met de Tenderer 21, omvattende de fragmentcodeerder 22, de fragmentcache 23 en de fragmentsamensteller 24, die in het navolgende in groter detail zal worden beschreven, schermverversingen 5 en/of instructies daarvoor definieert. Indien gebruikt gemaakt wordt van nieuw toegevoerde gegevens 7a en 7b worden deze respectievelijk verder bewerkt in de voorbereidings-module 25 en 26 voor het respectievelijk vervaardigen van pixels en texturemappings voor beeld- en videogegevens en 10 de module 27 voor het verwerken van audiogegevens. De module 25 wordt aangeduid als een module voor rendering, scaling en/of blending voor het definiëren van gegevens met betrekking tot pixeldata. De module 26 is bedoeld voor het creëren van texturemapping voor bijvoorbeeld over-15 gangseffecten voor het gehele scherm of een gedeelte van het scherm. De resulterende pixels respectievelijk texturemappings zijn invoer voor de module 21. De in de module 27 bewerkte audiogegevens worden uitgevoerd in de vorm van audiosamples 32 die worden gecodeerd in de audiocodeerder 20 35 en worden opgeslagen in de audiocache 36 voor uitvoer van deze gegevens naar de multiplexer en verzender 33.
De module 21 omvat drie belangrijke elementen volgens voorkeursuitvoeringsvormen volgens de onderhavige uitvinding, respectievelijk de fragmentencodeerder 22, de 25 fragmentencache 23 en de fragmentensamensteller (compositor) 24. Op basis van gegevens van de module 28 en de modules 25 en 26 vervaardigt de fragmentencodeerder 22 gecodeerde fragmenten. Een gecodeerd fragment beschrijft beeldschermverversingen die worden opgeslagen in een for-30 maat van een videocodec zoals MPEG-2 of H.264. Een gecodeerd fragment wordt gecodeerd op basis van een beschrijving van beeldschermverversingen van een gebruikerstoepas-sing. Een dergelijk gecodeerd fragment omvat bij voorkeur 14 één of enkele beelden. Langere sequenties van beelden zijn eveneens ondersteunbaar. Beelden in een gecodeerd fragment kunnen één of meer verschillende slices omvatten. Slices zijn in standaarden van codecs gedefinieerd en hebben op 5 zichzelf bekende definitieparameters afhankelijk van de codec. Gecodeerde fragmenten kunnen beelden omvatten die kleiner zijn dan de doelbeeldschermgrootte. Gecodeerde fragmentslices kunnen al dan niet aanwezig zijn op elke verticale lijn en kunnen al dan niet gehele horizontale 10 lijnen omvatten. Een aantal verschillende slices kan bestaan op één enkele horizontale lijn indien dit is toegestaan door de parameters van de codec.
Volgens de onderhavige uitvinding kan het bovenstaande leiden tot een groter aantal slices dan bij bekend 15 gebruik van een codec wordt toegepast aangezien een bekende videocodeerder het aantal slices zal minimaliseren ten einde maximale coderingsefficiëntie te verkrijgen. Een voordeel hiervan is dat door middel van het coderen van fragmenten, zodanig dat op efficiënte wijze wordt aange-20 sloten bij vereisten van de toegepaste codec, de fragment-samensteller volgens de onderhavige uitvinding op zeer efficiënte wijze de gecodeerde fragmenten kan combineren tot beelden of delen daarvan aangezien deze gehele slices kan vervangen of verwijderen maar dit niet mogelijk is met de-25 len van slices. Een voorbeeld hiervan is dat bijvoorbeeld bij de toepassing van een MPEGcodering rekening kan worden gehouden met de dimensies van macroblokken bij het vervaardigen van de gecodeerde fragmenten. Hierdoor kan de hoeveelheid benodigde rekenkracht voor het vervaardigen 30 van de gecodeerde fragmenten en/of het samenstellen van uiteindelijk uit te voeren beeld door de fragmentsamen-steller 24 in grote mate worden beperkt.
15
Verdere voordelen worden behaald doordat gecodeerde fragmenten zodanig zijn gecodeerd dat deze kunnen verwijzen naar pixels uit de referentiebeeldbuffers in de cliëntinrichting zelfs indien de pixels in deze buffer 5 niet zijn ingesteld door middel van dit gecodeerde fragment. Hierbij worden de referentiebeeldbuffers op effectieve wijze toegepast als texturemap. Beeldsoorten (picture types) zijn in de inrichting flexibel aangezien en geen noodzaak is tot aanpassing aan een GOP structuur. Door de-10 ze flexibiliteit wordt het mogelijk dat gecodeerde fragmenten op effectieve wijze koppelbaar zijn voor het sequentieel functioneren op pixels in de referentiebuffers voor het verkrijgen van gewenste effecten op het beeldscherm.
15 De fragmentcache 23 dient voor het opslaan van de gecodeerde fragmenten voor hergebruik daarvan. Het heeft de voorkeur in het cachegeheugen gecodeerde fragmenten op te slaan die relatief veel worden herhaald binnen een ge-bruikersapplicatie of bijvoorbeeld in veel verschillende 20 sessies van eenzelfde applicatie. Het efficiënte hergebruik van de veel voorkomende gecodeerde fragmenten uit de fragmentcache reduceert in belangrijke mate de coderings-tijd voor de verwerkingseenheden van de server. Naast deze reductie in de coderingsverwerkingstijd wordt doordat ex-25 terne duplicaatrendering van de pixels tevens wordt voorkomen een externe besparing eveneens mogelijk.
De fragmentsamensteller 24 maakt het mogelijk dat een aantal gecodeerde fragmenten met een erg hoge efficiëntie kan worden gecombineerd tot een videostroom volgens 30 het vooraf bepaalde formaat. Het algoritme daarvoor is gebaseerd op de gebruikmaking van het alreeds genoemde concept van slices dat wordt toegepast in een veelheid van videocodecs zoals MPEG-2 en H.264. Slices zijn hierbij ge- 16 definieerd als delen van gecodeerde beelden die op onafhankelijke wijze kunnen worden gedecodeerd. Het doel van slices volgens de stand van de techniek is het verkrijgen van een foutenresistentie. Volgens de onderhavige uitvin-5 ding past de fragmentsamensteller 24 de slices toe voor het op efficiënte wijze combineren van de slices tot gecodeerde fragmenten die onafhankelijk zijn gecodeerd.
De fragmentcache 23 maakt het mogelijk dat de gecodeerde fragmenten met een hoge efficiëntie kunnen worden 10 hergebruikt en hergecombineerd voor het vervaardigen van een gepersonaliseerde videostroom voor het weergeven van de gebruikersinterface. Hierbij wordt een zeer geringe hoeveelheid rekenkracht gebruikt vanwege de geboden efficiëntie. Hierbij behoeft bijvoorbeeld geen kopie van de 15 toestanden van de referentiebeeldbuffers in de decodeerde instant te worden gehouden zoals een codeerder volgens de stand van de techniek nodig heeft hetgeen grote hoeveelheden geheugen en rekenkracht voor de adressering daarvan bespaard.
20 Door de in het voorgaande verschillende genoemde besparingen kunnen grote hoeveelheden videostromen worden gegenereerd met een relatief beperkte verwerkingskracht die bijvoorbeeld aanwezig is op een geschikte server. Wanneer beeldelementen die in de cache worden opgeslagen re-25 latief vaak kunnen worden hergebruikt, zoals bij het verspreiden van een gebruikersinterface van een applicatie naar vele gebruikers het geval zal zijn, worden dergelijke besparingen in grote mate bereikt.
In figuur 4 is een voorkeursuitvoeringsvorm van 30 een werkwijze voor het coderen van fragmenten weergegeven in een stroomschema. Invoeren in de fragmentcodeerder 22 omvatten sequenties van een of meer beelden die elk een beeldvormbeschrijving, pixelwaarden en een texturemapping- 17 veld omvatten. Texturemappingvelden voor invoer in de fragmentcodeerder beschrijven op welke wijze beeldpunten of pixels in de referentiebeelden worden gebruikt volgens de onderhavige uitvinding. Per pixel of blok van pixels 5 beschrijft het texturemappingveld of pixels van de textu-remap worden hergebruikt en indien dit het geval is of de vectoren die voor deze pixels worden gebruikt worden opgeteld of afgetrokken.
In de codeerder worden gecodeerde fragmenten ver-10 vaardigd met coderingen voor het op efficiënte wijze combineren van deze gecodeerde fragmenten met andere gecodeerde fragmenten. Hiertoe zijn extensies aanwezig in een codeerder volgens de onderhavige uitvinding ten opzichte van bestaande codeerders. Hoewel hierdoor het aantal vrij-15 heidsgraden voor de codeerder ten opzichte van een bekende codeerder beperkt is biedt de codeerder volgens de onderhavige uitvinding sterke voordelen door bijvoorbeeld het toepassen van constante parameters voor alle gecodeerde fragmenten, zoals in de Quantisatiematrix onder toepassing 20 van MPEG-2.
Door het op zorgvuldige wijze kiezen van gecodeerde parameters op beeldniveau, zoals beeldvolgorde, beeld-type, bewegingsvectorbereiken, frame/veld en slice structuur kunnen deze compatibel zijn met gecodeerde fragmenten 25 die bedoeld zijn om in een later stadium samen te voegen. In hoofdzaak wordt de slicestructuur gedefinieerd door de beeldvorm en deze kan derhalve verschillend zijn ten opzichte van een slicestructuur volgens de stand van de techniek. Een voorbeeld hiervan is dat niet het gehele 30 beeld van een beeld behoeft te zijn afgedekt met een slice .
Wanneer door de applicatielogica 28 informatie over beelden wordt aangevoerd aan de fragmentcodeerder 22 18 kan hierbij worden aangegeven welke beelden bedoeld zijn voor latere samenvoeging daarvan of bijvoorbeeld bedoeld zijn voor gebruik bij elkaar in de tijd gezien voor het op basis hiervan faciliteren van het kiezen van geschikte co-5 deringsparameters. Op alternatieve wijze kunnen door de applicatielogica globale parameters worden ingesteld voor de sessie of voor een aantal soortgelijke sessies. In een verdere uitvoering is voorzien dat de fragmentcodeerder een hoeveelheid toestanden, omvattende coderingsparame-10 ters, voor eerder gecodeerde fragmenten in stand houdt en vervolgens parameters bepaalt in relatie tot deze toestanden. In een verdere uitvoering wordt de conflictresolutie opgelost in de fragmentsamensteller zonder aansturing op basis van parameters afkomstig van de applicatielogica.
15 Deze conflictresolutie wordt nader beschreven aan de hand van de beschrijving van de fragmentsamensteller en de werking daarvan.
De werkwijze start in stap 50. In stap 51 worden pixels en texturemappings ingelezen uit de modules 25 en 20 26 door de fragmentcodeerder 22. Een dergelijke texture mapping of texturemappingveld functioneert als een definitie voor beeldvormbeschrijving, pixelwaarden en hoe de pixels in de referentiebeelden dienen te worden gebruikt. In een pixel of blok van pixels (zoals een macroblok) be-25 schrijft het texturemappingveld of pixels worden hergebruikt uit de texturemap en indien dit het geval is eventuele vectoren die kunnen worden gebruikt voor deze pixels en eventueel of pixelwaarden dienen te worden opgeteld of afgetrokken. Hierdoor wordt het mogelijk om 2D bewegingen 30 van de blokken van texturepixels te realiseren. Aangezien fragmentbeelden die worden gedecodeerd eveneens kunnen worden opgenomen in de referentiebeelden kan het proces iteratief zijn hetgeen het mogelijk maakt bewerkingen uit 19 te voeren op texturemappings op dezelfde pixels in achtereenvolgende beelden.
In stap 52 wordt de beeldherordening, het beeldty-pe en de parameters ingesteld. De beeldvolgorde en 5 beeld/slicetypes evenals macrobloktypen worden afgeleid uit het texturemappingveld. De beeldvolgorde wordt bepaald door de volgorde waarin texturen en pixels dienen te worden gebruikt. In het geval dat macroblokken texturepixels hergebruiken worden bij voorkeur de macroblokken INTER ge-10 codeerd en worden de bewegingsfactoren bepaald door het texturemappingveld. Indien macroblokken geen texturepixels hergebruiken en worden bepaald door de pixelwaarden die als invoer worden verschaft wordt het microblok INTRA gecodeerd.
15 In stap 53 worden de referentiebeelden en beeld vorm en slicestructuur ingesteld. Hierbij wordt op de beschreven wijze niet het aantal slices geminimaliseerd zoals bekend is uit de stand van de techniek maar worden fragmenten gecodeerd met het oog op het optimaliseren van 20 het coderen van slices onder afhankelijkheid van de weer te geven beeldelementen in de licht van de codec. In het geval van codecs die geen nieuwe slice per horizontale ma-crobloklijn vereisen, zoals bijvoorbeeld H.264, is het van belang dat de codeerder op geschikte wijze functioneert 25 met betrekking tot fragmenten. Indien bijvoorbeeld andere fragmenten samen op een macrobloklijn staan ter linker of rechterzijde van een vooraf bepaald fragment wordt dit gebaseerd op de gecodeerde meta-informatie. Bij bijvoorbeeld MPEG-2 is een nieuwe slice per horizontale macrobloklijn 30 vereist.
In de fragmentcompositor 24 die in het navolgende in groter detail zal worden beschreven kunnen gehele slices worden vervangen of verworpen uit een beeldraster maar 20 niet delen daarvan. In de te coderen meta-informatie wordt met dergelijke aanvullingen of vervangingen in de frag-mentcompositor 24 rekening gehouden indien additionele slices dienen te worden geplaatst. Een dergelijke werkwij-5 ze is behulpzaam bij het invullen van bepaalde gebieden van een achtergrondbeeld door middel van andere fragmenten. Hiermee kunnen ook niet rechthoekig gevormde beelden worden toegepast door op veel slices te gebruiken wanneer in een beeldraster er geen daadwerkelijke macroblokken van 10 beeldinformatie zijn voorzien. Dergelijke niet rechthoekige beelden of delen daarvan ontstaan wanneer beeldinformatie over een achtergrond heen wordt geprojecteerd.
In stap 54 wordt door de codeerder van elke macro-blok gecontroleerd of het type macroblok en of bewegings-15 vectoren worden voorgeschreven door het proces van de texturemapping. Met andere woorden wordt er gecheckt wat het antwoord is op de vraag 'texture mapped?'. Indien dit het geval is worden het macrobloktype en bewegingsvectoren afgeleid op basis van de texturemapping vectoren. Indien dit 20 niet het geval is kan een algoritme voor het macrobloktype en de bewegingsschatting op soortgelijke wijze worden uitgevoerd als bij een bekende codeerder. Het definiëren van het macrobloktype en de schatting van de beweging geschiedt in stap 56.
25 Indien in stap 54 is bepaald dat de texturemapping is uitgevoerd, wordt in stap 55 bepaald of de pixels zijn gedefinieerd. Indien dit niet het geval is worden in stap 57 op op zichzelf bekende wijze processen als bewegings-compensatie, transformatie (zoals dct in het geval Mpeg2) 30 en quantisatie (quantisation) uitgevoerd. De instelling van de quantiser kan extern zijn ingesteld. Hierdoor wordt bijvoorbeeld een hogere kwaliteit van de codering mogelijk bij synthetische tekst in vergelijking met natuurlijke 21 beelden. Op alternatieve wijze bepaalt de codeerder een geschikte quantiserinstelling gebaseerd op de toe te passen bitrate voor het gecodeerde fragment voor de weergave van de gebruikersinterface waarvoor de werkwijze wordt 5 uitgevoerd.
In stap 58 wordt de variabele lengtecodering van de uitvoer bepaald. Hierbij worden de koptitels (headers) van de slices, parameters van de macroblokken en de blok-coëfficiënten op voor de toegepaste codec geschikte wijze 10 VLC-gecodeerd en worden deze uitgevoerd. Deze stappen worden voor elk macroblok van de slice herhaald ten behoeve waarvan wordt teruggekeerd naar stap 54 indien in stap 59 is bepaald dat er nog een macroblok of slice moet worden gecodeerd.
15 In stap 60 wordt bepaald of het uitvoeren van stap 61 nodig is voor het uitvoeren van de texturemaps. Indien dit voor de texturemaps noodzakelijk is worden in deze stap 61 referentiebeelden geactualiseerd door middel van inverse quantisatie en/of bewegingscompensatie en optione-20 le naverwerking in de lus. Deze nieuwe referentiebeelden worden toegepast voor volgende beelden in het fragment.
Vervolgens wordt in stap 62 bepaald of er nog een volgend beeld moet worden gecodeerd in welk geval er wordt geretourneerd naar stap 52. Indien het laatste beeld INTER 25 was gecodeerd, waarbij geldt dat een laatst ontvangen INTER gecodeerd beeld vanwege het referentiekarakter daarvan niet wordt getoond op het beeldscherm van de gebruiker, wordt aan het eind van de werkwijze voor het bewerken van beelden voor het gecodeerde fragment een additioneel 'geen 30 veranderingen' beeld gegenereerd. De werkwijze eindigt in stap 63.
In Fig. 5 is een werkwijze beschreven voor een uitvoeringsvorm van de werking van de fragmentcache 23 22 voor wat betreft het toevoegen van fragmenten aan de cache. Deze cache 23 functioneert in hoofdzaak voor het opslaan van gecodeerde fragmenten en het distribueren daarvan over de verschillende gebruikersinterfacesessies die 5 worden gegenereerd door de fragmentsamensteller 24 zoals in het navolgende zal worden beschreven. Een tweede functie van de fragmentcache is het distribueren van fragmenten van live streams die niet worden opgeslagen in de fragmentcache als deze niet worden hergebruikt maar die 10 wel parallel kunnen worden gebruikt in sessies op het zelfde moment. Hierbij functioneert de fragmentcache voor het doorgeven en vermenigvuldigen van de beeldinformatie. Hierbij is het van belang dat een slim management wordt uitgevoerd met betrekking tot de beschikbare systeembron-15 nen voor het maximaliseren van de efficiëntie. Het geheugen van de fragmentcache omvat bij voorkeur grote hoeveelheden RAM geheugen voor snelle geheugentoegang, bij voorkeur aangevuld met schijfgeheugens.
Voor het identificeren van gecodeerde fragmenten 20 wordt een zogenoemde cachetag toegepast. De cachetag is bij voorkeur uniek voor elk afzonderlijke gecodeerd fragment en omvat een lange beschrijving van het gecodeerde fragment. Voor deze uniciteit is een relatief lange tag gewenst terwijl voor de opslag een korte tag gewenst is.
25 Hiervoor wordt de tag of een deel daarvan gehashed door de fragmentcache in combinatie met een opzoektabel. Naast een unieke beschrijving van beeldinformatie en/of pixels van een gecodeerd fragment kan een tag voorts speciaal gecodeerde parameters omvatten die in een werkwijze volgens de 30 onderhavige uitvinding worden toegepast.
Indien een gecodeerd fragment dat aan de invoer van de codeerder 22 wordt aangeboden al is opgeslagen in de fragment cache behoeft dit fragment niet opnieuw te 23 worden gecodeerd en kan dit in plaats daarvan door de fragment samensteller worden uitgelezen uit de cache bij het samenstellen van de uiteindelijke videostroom.
Indien de gecodeerde fragmenten niet zijn opgesla-5 gen in de cache is opslag daarvan in de cache 23 na coderen daarvan mogelijk. Of een gecodeerd fragment daadwerkelijk door de cache zal worden opgenomen hangt af van de hoeveelheid vrij geheugen in de cache en de waarschijnlijkheid dat het fragment zal worden hergebruikt of de 10 waarschijnlijkheid van de frequentie daarvan. Hiertoe wordt een rangschikking gemaakt waarbij voor elk nieuw fragment wordt bepaald waar deze in de rangschikking behoort te worden opgenomen.
De werkwijze begint in stap 64. In stap 65 wordt 15 een cachetag voor een nieuwe invoer teruggehaald. Vervolgens wordt in stap 66 de tag gehasht en opgezocht. Indien deze aanwezig is in de cache wordt het fragment en de bijbehorende meta-informatie teruggehaald in stap 67. Indien in stap 66 blijkt dat het fragment al is opgeslagen wordt 20 de werkwijze vervolgd in stap 71 en beëindigd in stap 72. In stap 68 wordt bepaald of er voldoende geheugenruimte beschikbaar is voor het fragment of een fragment met de bijpassende rangschikking (ranking) bijvoorbeeld op basis van frequentie dan wel complexiteit van het coderen van 25 het fragment. Indien dit niet het geval is worden in stap 69 fragmenten met een lagere rangschikking verwijderd uit de cache en het fragment wordt toegevoegd in stap 70 en de werkwijze beëindigd. Op alternatieve wijze wordt het nieuwe fragment niet opgenomen in de cache indien deze vol is 30 en de rangschikking lager is dan in de cache opgenomen fragmenten.
In Fig. 6 is een werkwijze beschreven voor een uitvoeringsvorm van de werking van de fragmentcache 23 24 voor wat betreft het terughalen van fragmenten uit de cache. De werkwijze begint in stap 73. In stap 74 wordt een cachetag aangeleverd door de fragmentsamensteller voor het opzoeken van het fragment in het geheugen. Indien het 5 fragment niet aanwezig is wordt in stap 78 een fout gemeld en eindigt de werkwijze in stap 79. In het andere geval wordt het fragment en de meta-informatie teruggehaald uit het cachegeheugen. Vervolgens wordt in stap 77 de meta-informatie geactualiseerd in verband met het hernieuwde 10 gebruik van het fragment.
In figuur 7 is een werkwijze beschreven voor een uitvoeringsvorm van de werking van de fragmentsamensteller 24. Deze fragmentsamensteller dient voor het samenstellen van een videostroom uit de fragmenten die worden gecodeerd 15 in de fragmentcodeerder; bij voorkeur zoveel mogelijk in de fragment cache opgeslagen fragmenten. Hiertoe omvatten invoeren in de fragmentsamensteller fragmenten en positio-neringsinformatie voor de fragmenten.
De werkwijze start in stap 80. In stap 81 worden 20 voor de weer te geven beelden in de videostroom toepasbare fragmenten en de slices die de fragmenten opmaken en gerelateerde beeldparameters in de samensteller ingevoerd. In stap 82 wordt bepaald of er actieve fragmenten en/of slices aanwezig zijn. Indien er geen actieve fragmenten aan-25 wezig zijn wordt er een 'geen veranderingsbeeld' gegenereerd door de samensteller. Hierbij wordt er gekozen uit de volgende mogelijkheden. De samensteller genereert een actueel passend beeld waarbij geen wijziging wordt gecodeerd. Op alternatieve wijze wordt geen data gegenereerd. 30 Hierbij wordt aangenomen dat indien de buffer bij de deco-deerder leegloopt het beeld zal bevriezen en er geen veranderingen worden weergegeven. Hierdoor wordt gereduceerd 25 netwerkverkeer veroorzaakt en worden reactietijden verbeterd.
In stap 82 wordt bepaald of er actieve fragmenten zijn. Indien dit het geval is dienen beeldparameters te 5 worden bepaald. Indien er één actief fragment is kunnen de beeldparameters hiervoor worden toegepast voor het uit te voeren beeld. Indien er meerdere fragmenten actief zijn wordt er bepaald of alle beeldparameters die zijn gebruikt voor het coderen van de parameters compatible zijn. rele-10 vante parameters hierbij zijn beeldvolgorde, beeldtype, bewegingsvectorenrange (zoals f-codes), etc.
Indien derhalve in stap 82 is bepaald dat er actieve slices of fragmenten aanwezig zijn in de ingevoerde informatie van stap 81 wordt vervolgens in stap 83 bepaald 15 of er conflicterende beeldparameters voorkomen. Indien dit het geval is wordt er in stap 87 een vorm van conflictre-solutie gehanteerd zoals in het navolgende in groter detail wordt beschreven.
Er bestaan verschillende uitvoeringen van werkwij-20 zen voor het hanteren van dergelijke conflicten waaronder de volgende. De fragmenten met conflicterende parameters kunnen opnieuw worden gecodeerd. Verder kunnen conflicten met betrekking tot parameters van fragmenten worden opgelost door middel ven bijvoorbeeld herordening, dupliceren, 25 laten vervallen (dropping) of vertragen daarvan. Hoewel
hierbij enige afwijkingen kunnen voorkomen zijn deze nauwelijks op te merken door de gebruiker vanwege bijvoorbeeld zeer korte weergavetijden van dergelijke artefacten. Een belangrijk voordeel van een dergelijke conflicthante-30 ring is dat deze slechts zeer weinig rekenkracht kost en derhalve voor veel sessies naast elkaar kan worden uitgevoerd. Een praktisch voorbeeld hiervan is dat wanneer verschillende gecodeerde fragmenten verschillende P en B
26 beeldsequenties toepassen dit kan worden opgelost door de B beelden te dupliceren of verwijderen uit een deel van de gecodeerde fragmenten.
In stap 84 worden slices geherpositioneerd voor 5 het corrigeren van X en Y posities op het beeldscherm. Een doel hiervoor is dat de grafische gebruikersinterface wordt geoptimaliseerd voor de videocodec en/of beeldschermresolutie die wordt gebruikt in de sessie. Het is bijvoorbeeld van voordeel indien beeldelementen in de ren-10 derer zijn afgestemd op de positie van macroblokken of slices of lijnen waarop deze worden uitgelijnd. De informatie met betrekking tot de bepaalde X en Y posities wordt in de koptitel van de slices geplaatst. Een herpositionering kan op deze wijze worden uitgevoerd onder gebruik van 15 relatief weinig rekenkracht door slechts andere positione-ringsdata in de koptitel te schrijven.
Na het herpositioneren in stap 84 worden in stap 85 slices en/of fragmenten gesorteerd op de X en Y positie, bij voorkeur eerst in de Y positie en vervolgens in 20 de X positie naar de volgorde waarop deze zullen worden toegepast in de toegepaste codec. Het kan hierbij voorkomen dat er slices en/of fragmenten overlappen. In dit geval wordt er in stap 88 een conflictoplossing uitgevoerd. Hierbij is het mogelijk dat achtergrond slices die volle-25 dig worden overlapt door voorgrondslices worden weggelaten. Indien meerdere voorgrondslices overlappen kan volgens de onderhavige uivinding een beeldsplitsingsalgoritme worden toegepast voor het verkrijgen van twee of meer beelden in plaats van één. Hierbij heeft elk beeld zijn 30 eigen beeldparameters of sliceparameters en worden deze na elkaar vertoond. Het visuele effect van een dergelijke ingreep is wederom nauwelijks opmerkbaar door het menselijke oog. Het wordt hierdoor mogelijk twee of meer fragmenten 27 in te lassen (interleaving). Op alternatieve wijze is het mogelijk dat de fragmentcodeerder 22 middelen omvat voor het combineren van slices onder toepassing van pixel en texturemapping informatie van de macroblokken voor het 5 produceren van een gecombineerd resultaat.
In stap 89 worden openingen of lege vlakken in het beeld gevuld indien deze niet zijn ingevuld door een slice. Hiertoe wordt voor dergelijke lege vlaken een of meerdere slices gedefinieerd welke slices geen bewerking code-10 ren voor deze makroblokken. Vervolgens worden beeldkopti-tels, omvattende bijvoorbeeld beeldparameters, gedefinieerd en worden deze evenals de gesorteerde slices uitgevoerd op een seriële wijze in de vorm van een gecodeerde beeld en stroom in overeenstemming met de videostandaard 15 die wordt toegepast voor de sessie van de gebruikersinterface .
Aan de hand van Fig. 8 A-D worden beeldovergangen en werkwijzen voor het uitvoeren daarvan volgens voorkeursuitvoeringsvormen volgens de onderhavige uitvinding 20 beschreven. Hierbij worden volgens de onderhavige uitvinding pixels die beschikbaar zijn in de referentiebeelden van de cliëntinrichting, ofwel decodeerder voor de codec, herbruikbaar als een texturemap. Codeerders volgens de stand van de techniek functioneren onder de aanname dat 25 referentiebeelden niet zijn geïnitialiseerd en kunnen derhalve niet worden toegepast aan het begin van een sequentie. Volgens de onderhavige uitvinding worden gecodeerde fragmenten gecodeerd om deel uit te maken van grotere sequenties waarbij referentiebeelden bij het coderen bruik-30 bare pixels omvatten van eerder gedecodeerde gecodeerde fragmenten. Deze pixels worden volgens de onderhavige uitvinding toepasbaar als een textuur voor het gecodeerde fragment. Afhankelijk van de karakteristieken van de toe- 28 gepaste codec kan hierbij gebruik worden gemaakt van een aantal referentiebeelden, zoals 2 referentiebeelden in geval van MPEG-2 en bijvoorbeeld 16 referentiebeelden in geval van H.264.
5 Door hierbij bewegingsvectoren toe te passen is het mogelijk bewegingen van beelden of beeldonderdelen te tonen. Aangezien gecodeerde fragmentbeelden die worden gedecodeerd deel uit zullen maken van de referentiebeelden kan dit proces iteratief worden toegepast waarbij bijvoor-10 beeld texturemapping bewerkingen worden uitgevoerd op achtereenvolgende beelden en de bewerkingen daarvan.
Een verder voorbeeld van een dergelijke bewerking betreft affiene transformaties waarbij beelden bijvoorbeeld van maatvoering veranderen. Hiermee kunnen texture-15 pixels worden vergroot zoals is getoond in Fig. 8B. Voor grote veranderingen is het mogelijk een of meerdere tussenliggende referentiebeelden te verschaffen met een resolutie die beter is dan dat van een vergroot beeldelement op basis van welke tussenreferentiebeeld verdere bewerkin-20 gen kunnen worden uitgevoerd. Hoeveel referentiebeelden worden gebruikt voor een overgang van klein naar groot kan worden bepaald op basis van beschikbare bandbreedte of rekencapaciteit die beschikbaar is in relatie tot kwaliteitseisen voor de grafische kwaliteit van de beelden.
25 Verder kan gebruik worden gemaakt van codec afhankelijke mogelijkheden zoals gewogen voorspellingen (H.264) voor het verschaffen van soepele overgangen of overvloeingen (cross fades) tussen pixels van verschillende textuurbeel-den, zoals is getoond in Fig. 8C. Bilineaire interpolatie 30 kan hiervoor een alternatief bieden.
Een benadering van textureoverlays en alfa-blending kan worden bereikt door middel van het optellen bij of aftrekken van waarden van de textuurpixels voor het 29 veranderen van de kleur of intensiteit daarvan, zoals is getoond in Fig. 8D. Door het optellen of aftrekken van een maximale waarde kan een pixel worden ingesteld tot bijvoorbeeld een zwart- of witwaarde, welk proces ook kan 5 worden aangeduid door clipping. Door eerst een dergelijke clipping stap toe te passen op een chrominantie- en/of lu-minantiewaarde en vervolgens een gewenste waarde hierbij op te tellen of af te trekken kan binnen de textuur elke gewenste waarde worden ingesteld en elke overlay worden 10 verschaft op pixelniveau. Een dergelijke tweestapswerkwij-ze kan vrijwel onzichtbaar voor het oog worden gerealiseerd, zeker tijdens soepele overgangen. Deze processen voor texturemapping bieden onder gebruikmaking van referentiebeelden een grote verbetering van de prestaties bij 15 geringe rekenkracht of bandbreedtegebruik aangezien de benodigde gegevens beschikbaar zijn in de referentiebuffers van de decoder op het moment van weergave. Tevens wordt de onderlinge afhankelijkheid op data van verschillende gecodeerde beelden beperkt waardoor hergebruik wordt vergroot 20 en cache-efficiëntie wordt vergroot.
In het voorgaande is de onderhavige uitvinding beschreven aan de hand van enkele voorkeursuitvoeringsvormen. Verschillende aspecten van verschillende uitvoeringen worden beschreven geacht in combinatie daarvan waarbij al-25 le combinaties die op basis van dit document door een vakman kunnen worden gemaakt dienen te worden meegelezen. Deze voorkeursuitvoeringsvormen zijn niet beperkend voor de beschermingsomvang van deze tekst. De gevraagde rechten worden bepaald in de aangehechte conclusies.
30 1 03 259 4

Claims (19)

1. Werkwijze voor het streamen van parallelle gebruikerssessies (sessies) van ten minste één server naar 5 ten minste één clientinrichting van een veelvoud aan cli-entinrichtingen voor het weergeven van de sessies op een aan een clientinrichting koppelbaar beeldscherm, waarbij de sessies videodata en eventuele additionele data zoals audiodata omvatten, waarbij de werkwijze stappen omvat 10 voor: - het op basis van herbruikbare beeldinformatie definiëren van gecodeerde fragmenten, waarbij de gecodeerde fragmenten geschikt zijn voor het samenstellen van de videodata in een vooraf bepaald dataformaat, zoals een vi- 15 deostandaard of een videocodec, en de gecodeerde fragmenten geschikt zijn voor toepassing in een of meer beelden en/of een of meer sessies, - het per sessie renderen van een datastroom omvattende videogegevens onder toepassing van de gecodeerde 20 fragmenten.
2. Werkwijze volgens conclusie 1 omvattende stappen voor het bij het definiëren van de gecodeerde fragmenten toepassen van een aantal in een raster rangschikbare 25 codecslices en/of onderling onafhankelijke codecslices onder afhankelijkheid van weer te geven beeldobjecten van de gebruikersinterface.
3. Werkwijze volgens een of meer van de voorgaande 30 conclusies omvattende stappen voor het verwijzen van gecodeerde fragmenten naar beeldpunten van een referentie-beeldbuffer in een decodeerorgaan zelfs indien de beeld- 1032594 punten in deze buffer niet zijn ingesteld op basis van dit gecodeerde fragment.
4. Werkwijze volgens een of meer van de voorgaande 5 conclusies omvattende stappen voor het combineren van co- decslices of gecodeerde fragmenten teneinde op sequentiële wijze bewerkingen uit te voeren op beeldpunten in referen-tiebuffers op een wijze die in overeenstemming is met de standaard van het dataformaat. 10
5. Werkwijze volgens een of meer van de voorgaande conclusies omvattende stappen voor het tijdelijk in een snel toegankelijk geheugen opslaan van de beeldfragmenten.
6. Werkwijze volgens een of meer van de voorgaande conclusies omvattende stappen voor het uit het snel toegankelijke geheugen uitlezen van de tijdelijk opgeslagen beeldfragmenten en/of slices.
7. Werkwijze volgens een of meer van de voorgaande conclusies omvattende stappen voor het toevoegen van een tag aan de gecodeerde fragmenten.
8. werkwijze volgens conclusie 7 omvattende stap-25 pen voor het terughalen van gecodeerde fragmenten op basis van de tag
9. Werkwijze volgens een of meer van de voorgaande conclusies omvattende stappen voor het vervaardigen van 30 texturemappinggegevens voor toepassing daarvan in gecodeerde fragmenten.
10. Werkwijze volgens een of meer van de voorgaande conclusies omvattende stappen voor het gebruiken van gegevens met betrekking tot de vorm en/of dimensies van de slices in de stappen voor het definiëren van de gecodeerde 5 fragmenten.
11. Werkwijze volgens een of meer van de voorgaande conclusies waarbij de stappen voor het renderen van de datastroom stappen omvat voor het gebruiken van media- 10 assets zoals tekst, beelden, video en/of geluid.
12. Werkwijze volgens een of meer van de voorgaande conclusies omvattende stappen voor het verzenden van lege frames of voor het niet verzenden van beeldinforma- 15 tie.
13. Systeem voor het streamen van een aantal parallelle gebruikerssessies (sessies) van ten minste één server naar ten minste één cliëntinrichting van een veel- 20 voud aan cliëntinrichtingen voor het weergeven van de sessies op een aan een cliëntinrichting koppelbaar beeldscherm, waarbij de sessies videodata en eventuele additionele data zoals audiodata omvatten, omvattende: - ten minste een server voor het: 25. coderen van herbruikbare beelddata tot geco deerde fragmenten, - samenstellen van videostreams omvattende ten minste een gecodeerd fragment, - ontvangstmiddelen voor het ontvangen van ten 30 minste gebruikersinstructies, - verzendmiddelen voor het verzenden van videostreams in een vooraf bepaald dataformaat, zoals Mpeg of H.264, naar de cliëntinrichtingen.
14. Systeem volgens conclusie 13 omvattende een snel toegankelijk geheugen, zoals een cachegeheugen, voor het tijdelijk opslaan van de gecodeerde fragmenten. 5
15. Systeem volgens conclusie 13 of 14 omvattende middelen voor het omzetten en/of multiplexen van datastro-men voor verzending daarvan naar de cliëntinrichtingen.
16. Systeem volgens een of meer van de conclusies 13-15 omvattende een toepassingsserver omvattende de ont-vangstmiddelen, waarbij de toepassingsserver is ingericht voor het aanpassen van een server en/of gebruikerstoepas-sing voor weergave via de cliëntinrichting. 15
17. Systeem volgens conclusie 16 omvattende middelen voor het uitwisselen van gegevens met betrekking tot de inhoud van het snel toegankelijke geheugen en de toepassingsserver . 20
18. Systeem volgens een of meer van de conclusies 13-17 voor het uitvoeren van een werkwijze volgens een of meer van de conclusies 1-12.
19. Computerprogrammatuur voor het uitvoeren van een werkwijze volgens een of meer van de voorgaande conclusies en/of voor gebruik in een systeem volgens een of meer van de voorgaande conclusies. 1 03 25 9 4
NL1032594A 2006-09-29 2006-09-29 Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur. NL1032594C2 (nl)

Priority Applications (8)

Application Number Priority Date Filing Date Title
NL1032594A NL1032594C2 (nl) 2006-09-29 2006-09-29 Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur.
NL1033929A NL1033929C1 (nl) 2006-09-29 2007-06-04 Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur.
PCT/NL2007/000245 WO2008044916A2 (en) 2006-09-29 2007-10-01 Method for streaming parallel user sessions, system and computer software
EP12163712.8A EP2477414A3 (en) 2006-09-29 2007-10-01 Method for assembling a video stream, system and computer software
US12/443,571 US20100146139A1 (en) 2006-09-29 2007-10-01 Method for streaming parallel user sessions, system and computer software
EP07834561A EP2105019A2 (en) 2006-09-29 2007-10-01 Method for streaming parallel user sessions, system and computer software
JP2009530298A JP5936805B2 (ja) 2006-09-29 2007-10-01 パラレルユーザセッションをストリーミングするための方法、システム、およびコンピュータソフトウェア
EP12163713.6A EP2487919A3 (en) 2006-09-29 2007-10-01 Method for providing media content to a client device, system and computer software

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL1032594 2006-09-29
NL1032594A NL1032594C2 (nl) 2006-09-29 2006-09-29 Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur.

Publications (1)

Publication Number Publication Date
NL1032594C2 true NL1032594C2 (nl) 2008-04-01

Family

ID=38182442

Family Applications (1)

Application Number Title Priority Date Filing Date
NL1032594A NL1032594C2 (nl) 2006-09-29 2006-09-29 Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur.

Country Status (1)

Country Link
NL (1) NL1032594C2 (nl)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021541B2 (en) 2010-10-14 2015-04-28 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
US9042454B2 (en) 2007-01-12 2015-05-26 Activevideo Networks, Inc. Interactive encoded content system including object models for viewing on a remote device
US9077860B2 (en) 2005-07-26 2015-07-07 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US9204203B2 (en) 2011-04-07 2015-12-01 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US10275128B2 (en) 2013-03-15 2019-04-30 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000038430A1 (en) * 1998-12-20 2000-06-29 Morecom, Inc. System for transporting mpeg video as streaming video in an html web page
EP1120968A1 (en) * 1999-08-09 2001-08-01 Sony Corporation Transmitting device and transmitting method, receiving device and receiving method, transmitting/receiving device and transmitting/receiving method, recorded medium, and signal
WO2002076099A1 (en) * 2001-02-22 2002-09-26 Cheong Seok Oh Realtime/on-demand wireless multicasting system using mobile terminal and method thereof
WO2002089487A2 (de) * 2001-04-27 2002-11-07 Fenkart Informatik & Telekommunikations Kg Vorrichtung und verfahren zur übertragung von multimedialen datenobjekten
WO2003065683A1 (en) * 2002-01-30 2003-08-07 Koninklijke Philips Electronics N.V. Streaming multimedia data over a network having a variable bandwidth

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000038430A1 (en) * 1998-12-20 2000-06-29 Morecom, Inc. System for transporting mpeg video as streaming video in an html web page
EP1120968A1 (en) * 1999-08-09 2001-08-01 Sony Corporation Transmitting device and transmitting method, receiving device and receiving method, transmitting/receiving device and transmitting/receiving method, recorded medium, and signal
WO2002076099A1 (en) * 2001-02-22 2002-09-26 Cheong Seok Oh Realtime/on-demand wireless multicasting system using mobile terminal and method thereof
WO2002089487A2 (de) * 2001-04-27 2002-11-07 Fenkart Informatik & Telekommunikations Kg Vorrichtung und verfahren zur übertragung von multimedialen datenobjekten
WO2003065683A1 (en) * 2002-01-30 2003-08-07 Koninklijke Philips Electronics N.V. Streaming multimedia data over a network having a variable bandwidth

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RICHARDSON I E G: "H.264 AND MPEG-4 VIDEO COMPRESSION, video coding for next-generation multimedia , passage", H.264 AND MPEG-4 VIDEO COMPRESSION : VIDEO CODING FOR NEXT GENERATION MULTIMEDIA, HOBOKEN, NJ : JOHN WILEY & SONS, US, 2003, pages 103-105,149 - 153,164, XP002441514, ISBN: 0-470-84837-5 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077860B2 (en) 2005-07-26 2015-07-07 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US9355681B2 (en) 2007-01-12 2016-05-31 Activevideo Networks, Inc. MPEG objects and systems and methods for using MPEG objects
US9042454B2 (en) 2007-01-12 2015-05-26 Activevideo Networks, Inc. Interactive encoded content system including object models for viewing on a remote device
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US9021541B2 (en) 2010-10-14 2015-04-28 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
US9204203B2 (en) 2011-04-07 2015-12-01 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US10506298B2 (en) 2012-04-03 2019-12-10 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US10757481B2 (en) 2012-04-03 2020-08-25 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US10275128B2 (en) 2013-03-15 2019-04-30 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
US11073969B2 (en) 2013-03-15 2021-07-27 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US10200744B2 (en) 2013-06-06 2019-02-05 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks

Similar Documents

Publication Publication Date Title
NL1032594C2 (nl) Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur.
NL1033929C1 (nl) Werkwijze voor het streamen van parallelle gebruikerssessies, systeem en computerprogrammatuur.
US20100146139A1 (en) Method for streaming parallel user sessions, system and computer software
AU2006211475B2 (en) Digital intermediate (DI) processing and distribution with scalable compression in the post-production of motion pictures
JP7205485B2 (ja) Vrビデオ用に画像解像度を最適化してビデオストリーミングの帯域幅を最適化する画像処理のための方法及びストリーミングサーバ
CN108989885B (zh) 视频文件转码系统、分割方法、转码方法及装置
US8638337B2 (en) Image frame buffer management
GB2554877A (en) Methods, devices, and computer programs for improving rendering display during streaming of timed media data
JP2017515336A (ja) 分割タイムドメディアデータのストリーミングを改善するための方法、デバイス、およびコンピュータプログラム
US11785290B2 (en) Media access function for scene descriptions
KR20200051718A (ko) 시간 설정형 미디어 데이터를 발생시키는 방법, 디바이스, 및 컴퓨터 프로그램
CN103856778A (zh) 用于处理视频文件的系统和方法
CN114788296A (zh) 用于显示媒体的协调控制
US7724964B2 (en) Digital intermediate (DI) processing and distribution with scalable compression in the post-production of motion pictures
CA2352962A1 (en) Web-based video-editing method and system
GB2499039B (en) Methods and systems for providing file data for a media file
CN116636224A (zh) 可替代联网应用程序服务的系统和方法
US10747722B2 (en) Methods and systems for providing file data for a media file
US11960444B2 (en) Methods and systems for providing file data for a media file

Legal Events

Date Code Title Description
PD2B A search report has been drawn up