SE531899C2 - System för grafikhantering - Google Patents

System för grafikhantering

Info

Publication number
SE531899C2
SE531899C2 SE0701674A SE0701674A SE531899C2 SE 531899 C2 SE531899 C2 SE 531899C2 SE 0701674 A SE0701674 A SE 0701674A SE 0701674 A SE0701674 A SE 0701674A SE 531899 C2 SE531899 C2 SE 531899C2
Authority
SE
Sweden
Prior art keywords
data set
client
user
user client
requested
Prior art date
Application number
SE0701674A
Other languages
English (en)
Other versions
SE0701674L (sv
Inventor
Tomas Karlsson
Original Assignee
Agency 9 Ab
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 Agency 9 Ab filed Critical Agency 9 Ab
Priority to SE0701674A priority Critical patent/SE531899C2/sv
Priority to PCT/SE2008/050629 priority patent/WO2009008808A1/en
Priority to EP08779312A priority patent/EP2165255A4/en
Priority to CA2692538A priority patent/CA2692538C/en
Priority to AU2008275816A priority patent/AU2008275816B2/en
Priority to US12/668,132 priority patent/US8290974B2/en
Publication of SE0701674L publication Critical patent/SE0701674L/sv
Publication of SE531899C2 publication Critical patent/SE531899C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Description

25 30 53:! B59 SAMMANFATTNING AV UPPFlNNlNGEN Syftet med uppfinningen är därför att lösa ovanstående problem, och således erbjuda en lösning vilken möjliggör för användare i form av konstnärer inom den digitala grafikdisciplinen att publi- cera sina verk för en allmän publik på ett enkelt och okomp- licerat sätt.
Syftet med uppfinningen är också att tillhandahålla användaråt- komst till de av konstnärerna publicerade digitala verken, så att exempelvis dessa verk kan byggas in, eller på annat sätt införli- vas, i webbsidor och liknande miljöer vilka styrs av användare/ kunden Enligt en aspekt av uppfinningen uppnås syftet genom det inled- ningsvis beskrivna systemet, varvid systemet inkluderar en data- bas över àskådningsenheter, en undersökningsentitet och en styrentitet. Databasen över åskådningsenheter innehåller mjuk- varumoduler anpassade att implementera åtminstone två olika åskådningsenheter. Varje åskådningsenhet är här konfigurerad att visualisera de lagrade datauppsättningarna på åtminstone en typ av klient. Undersökningsentiteten är konfigurerad att identi- fiera en respektive grafikåtergivningsförmåga hos varje använ- darklient från vilken ett begäransmeddelande har mottagits.
Exempelvis kan grafikåtergivningsförmågan återspegla en bear- betningskapacitet och/eller en minneskapacitet hos användar- klienten. Dessutom är undersökningsentiteten, för varje klient som begär grafik, konfigurerad att undersöka huruvida eller inte klienten är utrustad med en åskådningsenhet kapabel att visua- lisera den av klienten begärda datauppsättningen. Styrentiteten är konfigurerad att förmedla en adekvat mjukvarumodul till an- vändarklienten om Undersökningsentiteten finner att klienten är inkapabel att visualisera den begärda datauppsättningen. Den adekvata mjukvarumodulen är anpassad att implementera en åskådningsenhet vilken är konfigurerad att visualisera den be- gärda datauppsättningen på denna klient.
Detta system är fördelaktigt eftersom det befriar konstnären från 10 15 20 25 30 531 855 kompatibilitetsbekymmer. Därigenom kan han/hon helt fokusera på de kreativa aspekterna av arbetet, och alstra grafiskt innehåll i den miljö som är lämpligast för detta ändamål. Det föreslagna systemet kan konfigureras att fungera väl med alla Java-anpas- sade webbläsare, såsom Firefox, internet Explorer, Safari och Opera. Därtill kan systemet stödja godtycklig typ av operativsys- tem, såsom Microsoft Windows XP, 2000 and Vista, Apple OSX, Linux, Solaris och UNIX.
Enligt en föredragen utföringsform av den här aspekten av upp- finningen inkluderar systemet en omvandlingsenhet konfigurerad att omvandla varje datauppsättning lagrad i det primära minnes- organet till en modifierad datauppsättning med ett målformat an- passat att visualiseras via åtminstone en typ av åskådningsen- het installerad i åtminstone en av användarklienterna. Dessutom är undersökningsenheten, som svar till ett begäransmeddelan- de, konfigurerad att undersöka huruvida eller inte användar- klienten från vilken begäransmeddelandet härrör är kapabel att hantera källformatet hos den begärda datauppsättningen. Om det visar sig att användarklienten är inkapabel att hantera käll- formatet är undersökningsenheten konfigurerad att bringa om- vandlingsenheten att omvandla den begärda datauppsättningen till en modifierad datauppsättning av ett målformat vilket använ- darklienten kan hantera. Därmed omvandlas källdatat på on-de- mand-basis.
Enligt en annan föredragen utföringsform av den här aspekten av uppfinningen inkluderar systemet ett sekundärt minnesorgan.
Styrentiteten är vidare konfigurerad att förorsaka att en respekti- ve målformatsversion av eventuella alstrade modifierade data- uppsättningar lagras i det sekundära minnesorganet. Således byggs det i det sekundära minnesorganet gradvis upp ett biblio- tek över olika slags omvandlade versioner av källdata, så att dessa data kan återanvändas om de i framtiden begärs igen.
Enligt ännu en annan föredragen utföringsform av den här as- pekten av uppfinningen är Styrentiteten konfigurerad att, om un- 10 15 20 25 30 35 Eíšfi E59 dersökningsentiteten finner att användarklienten är inkapabel att visualisera den begärda datauppsättningen, innan omvandlings- enheten bringas att omvandla den begärda datauppsättningen, undersökningsentiteten är konfigurerad att exekvera följande steg: (i) söka i det sekundära minnesorganet efter en modifierad datauppsättningsversíon av den begärda datauppsättningen, vil- ken version matchar grafikåtergivningsförmågan hos användar- klienten, och om en sådan version påträffas, (ii) inhibera om- vandlingen av den begärda datauppsättningen, (iii) förorsaka att den modifierade datauppsättningen utläses från det sekundära minnesorganet, och (iv) förorsaka att den modifierade dataupp- sättningen förmedlas till användarklienten. Därmed kan even- tuella onödiga återomvandlingar av källdatat undvikas.
Enligt ytterligare en annan föredragen utföringsform av den här aspekten av uppfinningen är källformatet baserat på XML (eX- tended Markup Language), det vill säga BD-grafikstrukturen be- skrivs av en eller flera XML-filer. Màlformatet hos den modifie- rade datauppsättningen kan i sin tur vara ett binärt format repre- senterande en komprimerad version av åtminstone en XML-fit.
Om användarklienten har tillräcklig kapacitet är omvandlingsen- titeten företrädesvis konfigurerad att alstra den modifierade da- tauppsättningen i realtid. Därigenom förses klienten med snabb och enkel access till 3D-datastrukturen.
Enligt en vidare föredragen utföringsform av den här aspekten av uppfinningen förutsätts det att användarklienten har en rela- tivt begränsad grafikåtergivningsförmåga. Hår är styrentiteten konfigurerad att förorsaka att symbolisk grafik visas via en åskådningsenhet i användarklienten som svar på användarkom- mandon rörande önskade manipulationer av den begärda data- uppsättningen. Den symboliska grafiken representerar sche- matiskt den tredimensionella grafikdatastrukturen hos den be- gärda datauppsättningen (exempelvis som en enkel box, eller sfär). Styrentiteten är vidare konfigurerad att förorsaka att om- vandlingsenheten alstrar den modifierade datauppsättningen som svar på ett bekräftelsekommando från användarklienten. 10 15 20 25 30 531 859 Styrentiteten är sedan konfigurerad att förorsaka att den modi- fierade datauppsättningen förmedlas till användarklienten. Den modifierade datauppsättningen representerar här en manipula- tion av den begärda datauppsättningen i överensstämmelse med en manipulering därav indikerad av användarkommandon och vilken är godkänd av bekräftelsekommandot. Därmed kan grafik- datastrukturer åtkommas på ett användarvänligt sätt också via klienter med relativt begränsad grafikåtergivningskapacitet.
Enligt ännu en annan föredragen utföringsform av den här aspek- ten av uppfinningen är styrenheten konfigurerad att: förorsaka att omvandlingsenheten alstrar den modifierade datauppsättnin- gen i form av en videoström och/eller statiska bilddata represen- terande den begärda datauppsättningen, och förmedla den mo- difierade datauppsättningen till användarklienten. Därigenom kan de grafiska datastrukturerna även visualiseras i klienter med mycket begränsad grafikàtergivningskapacitet.
Enligt annan aspekt av uppfinningen uppnås syftet genom den inledningsvis beskrivna metoden, där metoden inbegriper steget att identifiera en respektive grafikåtergivningsförmåga hos varje användarklient från vilken ett begäransmeddelande har motta- gits. För varje klient från vilken ett begäransmeddelande har mottagits inbegriper metoden vidare undersökning huruvida eller inte klienten är utrustad med en åskådningsenhet kapabel att visualisera den av klienten begärda datauppsättningen. Om det här visar sig att klienten är inkapabel att visualisera den be- gärda datauppsättningen förmedlas en adekvat mjukvarumodul till användarklienten. Den adekvata mjukvarumodulen är anpas- sad att implementera en àskådningsenhet vilken är konfigurerad att visualisera den begärda datauppsättningen på denna klient.
Fördelarna med denna metod såväl som med de föredragna ut- föringsformerna därav framgår av ovanstående diskussion med hänvisning till det föreslagna systemet.
Enligt en vidare aspekt av uppfinningen uppnås syftet genom ett datorprogram, vilket är laddbart till minnet hos en databearbet- 10 15 20 25 STI 355 ningsapparat, och innefattar mjukvara för att styra stegen enligt den ovan föreslagna metoden när nämnda program körs på da- tabearbetningsapparaten.
Enligt ännu en annan aspekt av uppfinningen uppnås syftet ge- nom ett datorläsbart medium med ett därpå lagrat program, där programmet är ägnat att förmå en databearbetningsapparat att styra stegen enligt den ovan föreslagna metoden.
Ytterligare fördelar, fördelaktiga särdrag och tillämpningar av fö- religgande uppfinning kommer att framgå av följande beskriv- ning och de beroende patentkraven.
KORT BESKRIVNING AV RITNINGARNA Uppfinningen kommer nu att förklaras närmare med hjälp av fö- redragna utföringsformer, vilka beskrivs som exempel, och med hänvisning till de bifogade ritningarna.
Figur 1 visar en översikt över ett datorsystem enligt en ut- föríngsform av uppfinningen; och Figur 2 illustrerar med hjälp av ett flödesschema en all- män metod för att visualisera datorgrafik enligt uppfinningen.
BESKRIVNING AV FÖREDRAGNA UTFÖRINGSFORMER AV UPPFlNNlNGEN Vi hänvisar inledningsvis till figur 1, som visar en översikt över ett datorsystem enligt en utföringsform av uppfinningen. Syste- met inkluderar ett primärt användargränssnitt 110, ett sekundärt användargränssnitt 120, ett primärt minnesorgan 130, en data- bas över åskådningsenheter 140, en undersökningsentitet 150 och en styrentitet 160.
Det primära användargränssnittet 110 är konfigurerat att motta datauppsättningar 309, från åtminstone en användarterminal 10 15 20 25 30 531 B59 105. Varje datauppsättning 3Dgf beskriver här en tredimensionell grafikdatastruktur på ett respektive käildataformat, exempelvis COLLADA (Collaborative Design Activity) eller X3D (ISO-stan- darden för realtidsdatorgrafik i 3D). Således kan konstnärer och andra innehällsskapare verksamma inom den digitala disciplinen ladda upp sina alster i form av 3D-modeller via ett eller flera nätverk N11 förbundna med det primära användargränssnittet 110.
Det primära minnesorganet 130 är konfigurerat att lagra data- uppsättningarna 3Dg,, och det andra användargränssnittet 120 är konfigurerat att anslutas till användarklienter, här exemplifie- rade av C21a, C21b, C22a respektive C2na. Som svar till begä- ransmeddelanden R från användarklienterna C21a, C21b, C22a och C2na är systemet anpassat att erbjuda varje klient tillträde till åtminstone en begärd datauppsättning av de i det primära minnesorganet 130 lagrade datauppsättningarna 3Dgr. Den här processen kommer att diskuteras i detalj nedan, men allmänt möjliggör det föreslagna systemet för användare (det vill säga operatörer vid klienterna) att lägga till 3D-modeller i sina hemsi- dor oberoende av vilken värdtjänst de utnyttjar. När de väl är in- lagda kan dessutom vilken slags utrustning som helst med webbläsarförmàga visualisera 3D-modellen, åtminstone till viss män beroende på den anslutande utrustningens kapacitet.
Databasen över åskådningsenheter 140 innehåller ett antal mjukvarumoduler SWVW, vilka vardera är anpassad att implemen- tera en respektive àskådningsenhet. Varje åskådningsenhet är i sin tur konfigurerad att visualisera de lagrade datauppsättnin- garna 3Dgr på åtminstone en typ av klient C21a, C21b, C22a eller C2na.
Det förutsätts att varje klient C21a, C21b, C22a är C2na anpas- sad att alstra begäransmeddelandet R som anger en respektive 3D-modell (eller annan tredimensionell grafikdatastruktur) som är lagrad i det primära minnesorganet 130. Dessutom är det önskvärt att klienterna C21a, C21b, C22a och C2 kan få infor- 10 15 20 25 30 BBQ mation om vilka 3D-modeller som är valbara, exempelvis via en lista på en webbsida. Företrädesvis anger en sådan webbsida även parametrar och/eller kännetecken hos modellerna, såsom en övergripande avbild/ett allmänt utseende, bredd och höjd hos en ruta till modellen och en bakgrundsfärg. Således kan begä- ransmeddelandet R, förutom att ange en given modell, även ange en eller flera parametrar och/eller särdrag. Exempelvis kan en användare alstra ett begäransmeddelande R genom att klicka på en viss webblänk på en av föreliggande system styrd webb- sida. l alla händelser är undersökningsentiteten 150 konfigurerad att som svar på ett mottaget begäransmeddelande R identifiera gra- fikåtergivningskapaciteten Ccap hos den användarklient som utsände begåransmeddelandet R, säg klient C21b implemente- rad i en bärbar dator som är ansluten till det sekundära använ- dargränssnittet 120 via ett trådbundet nätverk N21 (exempelvis Internet). Grafikåtergivningskapaciteten Ccap kan återspegla en bearbetningskapacitet och/eller en minneskapacitet hos använ- darklienten C21b.
Som svar till begäransmeddelandet R är undersökningsentiteten 150 vidare konfigurerad att undersöka huruvida eller inte klien- ten C21b är utrustad med en åskådningsenhet som är kapabel att åskådliggöra den begärda datauppsättningen 309,. Om un- dersökningsentiteten 150 finner att klienten C21b är inkapabel att åskådliggöra den begärda datauppsättningen 309, är styren- tlteten 160 konfigurerad att förmedla en adekvat mjukvarumodul SWVW från databasen över åskådningsenheter 140 till användar- klienten C21b. Styrentiteten 160 väljer den adekvata mjukvaru- modul SWVW som en modul vilken är anpassad att implementera en åskådningsenhet som i sin tur är konfigurerad att åskådliggö- ra den begärda datauppsättningen 3Dg, på klienten C21b.
Efter nedladdningen uppmanar styrentiteten 160 dessutom med fördel klienten C21b att installera mjukvarumodulen SWVW. Där- efter kan klienten C21b komma åt den begärda datauppsättnin- 10 15 20 25 30 35 5291 BBS gen 309, med hjälp av den åskådningsenhet som implementeras av mjukvarumodulen SWVW.
Enligt en föredragen utföringsform av uppfinningen inkluderar systemet en omvandlingsenhet 170 konfigurerad att omvandla formatet hos datauppsättningen 3Dgf som är lagrad i det primära minnesorganet 130 till en modifierad datauppsättning 3Dgr". Den modifierade datauppsättningen 309," har ett målformat, som är anpassat att åskådliggöras via en viss typ av åskådningsenhet installerad på en eller flera användarklienter C21a, C21b, C22a och/eller C2na. En sådan omvandling är fördelaktig eftersom klienterna C21a, C21b, C22a och C2na, beroende på bearbet- nings- och lagringskapacitet, kan ha mycket olika grafikåterglv- ningsförmåga. Respektive förbindande nätverk N21, N22 eller N2n mellan en given klient och systemet kan också förorsaka olika slags bandbreddsbegränsningar, vilka kan påverka klien- tens förmåga att visualisera 3D-grafikdatastrukturer. Därför är undersökningsentiteten 150 med fördel konfigurerad att som svar på ett mottaget begäransmeddelande R undersöka huru- vida eller inte användarklienten som har utsänt begäransmedde- landet R är kapabel att hantera källformatet hos den begärda datauppsättningen 309,.
Låt oss nu anta att den klient som har utsänt begäransmedde- landet R befinner sig i en bärbar dator C22a eller en mobilte- lefon C2na som är ansluten till det sekundära användargräns- snittet 120 via åtminstone ett trådlöst nätverk. Detta innebär att klienten har förhållandevis begränsad kapacitet att åskådliggöra 3D-grafikdatastrukturer, i synnerhet i det senare fallet. Således är det troligt att undersökningsentiteten 150 finner att användar- klienten är inkapabel att hantera källformatet (det vill säga ty- piskt sett en XML-fil av COLLADA-format som år relativt bear- betnings- och minneskrävande att hantera). Om så är fallet är undersökningsentiteten vidare anpassad att initiera omvand- lingsenheten 170 att omvandla den begärda datauppsättningen 3Dg, till en modifierad datauppsättning 309,". Här har naturligtvis den modifierade datauppsättningen 3Dgf' ett målformat som an- 10 15 20 25 30 Eiïšfí 855 10 vändarklienten kan hantera, det vill säga i detta exempel den bärbara datorns klient C22a respektive mobiltelefonklienten C2na.
En optimering som kan göras för mobila anordningar som C22a och C2na är att arrangeraen mesh-datastruktur av källdatafor- matet (exempelvis COLLADA) på ett sätt som är direkt optimerat för återgivning. I COLLADA är mesharna lämpliga för stora och tunga innehällsskaparverktyg och CAD-program, men inte spe- ciellt väl anpassade för återgivning. Många mobiltelefoner som stödjer 3D-återgivning använder OpenGL ES-specifikationen, som är optimerad för att användas med strukturer vilka har bitar av unika toppunkter. Detta innebär att det endast finns en tex- turkoordinat, en normal etc. per toppunkt. l COLLADA, å andra sidan, kan flera texturkoordinater tilldelas varje toppunkt. Därför är en utläsningsprocess från COLLADA inte väl lämpad för mo- bila anordningar med begränsad bearbetningskapacitet. Natur- ligtvis är det fortfarande intressant att bibehålla ett källformat hos datauppsättningen 3Dg, eftersom den unika meshen kan vara användbar av en arbetsstations åskådningsenhet som er- bjuder redigeringsmöjligheter. 3D-objekt med angivna material och texturer kan också modifie- ras för att matcha återgivningskapaciteten hos mindre kapabla klienter. Om en lättviktsdator, exempelvis en bärbar dator eller annan mobil anordning, begär tillträde R till en relativt stor data- uppsättning 3Dg, kan datat komprimeras genom en reduktion av texturens storlek, så att den modifierade datauppsättningen 3Dgr" passar minneskapaciteten hos den aktuella plattformen. Även relativt kraftfulla användarklienter implementerade på ar- betsstationer kan fordra en modifierad datauppsättning 3Dgr” för att ge en bästa möjliga användarupplevelse av 3D-grafikdata- strukturen. Exempelvis kan parsning (syntaxanalys) av en XML- fil vara upp till tre gånger långsammare än parsning av en binärt serieomvandlad version av samma fil. Därför är mälformatet hos den modifierade datauppsättningen 3Dg," med fördel av ett bi- 10 15 20 25 30 531 859 11 närt format representerande åtminstone en komprimerad version av en XML-fil.
Förutsatt att användarklienten har tillräcklig bearbetningskapa- citet och det förbindande nätverket N21, N22 eller N2n erbjuder en adekvat bandbredd är vidare omvandlingsenheten 170 före- trädesvis konfigurerad att alstra den modifierade datauppsätt- ningen 3Dgr" i realtid. Detta ger nämligen klienten direkt och be- kväm tillgång till den begärda 30-datastrukturen. Även om klienten har en kraftig CPU kan denna enhet vara bättre lämpad att hantera vissa dataformat än andra. Operativ- systemet och dess biblioteksstrukturer kan också avgöra vilket dataformat som utgör ett optimalt seriellt format för en given klient. Dessutom kan olika 30-motorer ha olika föredragna data- layouter. Därför är de föreslagna undersöknings- och omvand- lingsentiteterna 150 och 170 användbara verktyg då det gäller att förse alla typer av klienter med lämpliga åskådningsenheter.
Enligt en annan föredragen utföringsform av uppfinningen inklu- derar systemet ett sekundärt minnes-organ 180. Därtill är styr- enheten 160 konfigurerad att närhelst en modifierad data upp- sättning 309," alstras förorsaka att en kopia av denna uppsätt- ning 304V" lagras i det sekundära minnesorganet 180. Följakt- ligen bygger styrenheten 160 gradvis upp ett bibliotek över i för- väg omvandlade modifierade datauppsättningar 309," i det se- kundära minnesorganet180.
Dessutom, om undersökningsentiteten 150 finner att klienten, säg C22a (implementerad av en bärbar dator vilken är ansluten till det sekundära användargränssnittet 120 via ett trådlöst ac- cessnätverk N22), är inkapabel att visualisera den begärda da- tauppsättningen 309” är styrentiteten 160 företrädesvis konfigu- rerad att exekvera följande procedur innan omvandlingsenheten 170 bringas att omvandla den begärda datauppsättningen 309,.
Först avsöker styrentiteten 160 det sekundära minnesorganet 180 efter en modifierad datauppsättningsversion 309,” av den 10 15 20 25 30 Eïšiš B93 12 begärda datauppsättningen 309,, vilken version matchar grafikå- tergivningskapaciteten hos användarklienten C22a. Om en så- dan version påträffas inhiberar styrentiteten 160 omvandlingen av den begärda datauppsättningen 309,. Istället förorsakar styr- entiteten 160 att den modifierade datauppsättningsversionen 309," av den begärda datauppsättningen 309, läses ut från det sekundära minnesorganet 180 och förmedlas till användarklien- ten C22a.
Om emellertid ingen matchande datauppsättningsversion 309," av den begärda datauppsättningen 309, påträffas i det sekundä- ra minnesorganet 180 bringas omvandlingsentiteten 170 att om- vandla den begärda datauppsättningen 309, till en modifierad datauppsättning 309," enligt vad som har beskrivits ovan. l sam- band därmed ser styrentiteten 160 till att den modifierade data- uppsättningen 3Dg," lagras i det sekundära minnesorganet 180.
För ett effektivt interagerande med användarklienterna C21a, C21b, C22a och C2na samt för att möjliggöra bästa möjliga in- nehållsaccess för varje klient är styrentiteten 160 företrädesvis anpassad att implementera ett stegvis omvandlingsschema en- ligt vad som anges nedan.
Steg 1: Undersökningsentiteten 150 identifierar grafikåtergiv- ningskapaciteten hos användarklienten (det vill säga ut- rustningen från vilken begäransmeddelandet R avseende datauppsättningen 309, härrör). Undersökningsentiteten 150 undersöker även huruvida eller inte klienten är ut- rustad med en åskådningsenhet som är kapabel att ås- kådliggöra datauppsättningen 309, i dess källformat (ex- empelvis en àskådningsenhet som stödjer XML-pars- ning). Om undersökningsentiteten 150 finner att klienten har en sådan åskädningsenhet förmedlar systemet data- uppsättningen 309, till klienten.
Steg 2: Om Undersökningsentiteten 150 finner att klienten inte har någon åskådningsenhet som är kapabel att åskådlig- 10 15 20 25 30 531 E55 13 göra datauppsättningen 3D9, på dess källformat, men att klienten har en åskådningsenhet som är kapabel att ås- kådliggöra en redan modifierad version 3D9,“ av data- uppsättningen 3D9,, vilken version finns lagrad i det se- kundära minnesorganet 180 förmedlar systemet den mo- difierade versionen 309," till klienten. Detta kan innebära att en komprimerad binärfil (anpassad till minneskapaci- teten hos klienten) förmedlas till klienten istället för en XML-fil (företrädesvis i realtid).
Steg 3: Som ytterligare ett alternativ kan undersökningsentiteten 150 finna att klienten varken har någon åskådningsenhet som är kapabel att åskådliggöra datauppsättningen 3D9, på dess källformat, eller en redan modifierad version 309," av datauppsättningen 3D9,, men en ny modifierad version därav vilken kan alstras av omvandlingsentiteten 170. Om så är fallet, beordrar styrentiteten 160 produk- tion av denna modifierade version 309,", av den begärda datauppsättningen 3D9,, och förmedlar den versionen 3D9,“' till klienten.
Steg 4: Om också testet i steg 3 misslyckas förorsakar styrenti- teten 160 att en adekvat mjukvarumodul SWVW förmedlas till användarklienten, där den adekvata mjukvarumodu- len SWVW är anpassad att implementera en åskådnings- enhet konfigurerad att åskådliggöra den begärda data- uppsättningen 3D9, på denna klient. Sedan förorsakar styrentiteten 160 att en lämplig datauppsättning sänds till klienten. Typiskt sett innebär detta att klienten mottar en modifierad datauppsättningsversion 3D9,“ enligt vad som har beskrivs ovan.
För användarklienter med relativt begränsad grafikåtergivnings- kapacitet kan 3D-bilden istället behöva återges på serversidan, det vill säga i det föreslagna systemet. l ett sådant fall är styr- entiteten 160 företrädesvis konfigurerad att förorsaka att symbo- lisk grafik, exempelvis i form av en enkel box eller sfär, visas via 10 15 20 25 30 EBW B59 14 en àskådningsenhet i användarklienten (såsom mobiltelefonen C22a) som svar på användarkommandon avseende önskade manipuleringar av den begärda datauppsättningen 3Dg,. Den symboliska grafiken representerar därigenom den tredimensio- nella grafikdatastrukturen hos den begärda datauppsättningen 3Dgr. Sedan, som svar på ett bekräftelsekommando från använ- darklienten, förorsakar styrentiteten 160 att omvandlingsentite- ten 170 alstrar en modifierad datauppsättning 3Dgr" som repre- senterar en version av den begärda datauppsättningen 3Dgr vil- ken är modifierad på ett sätt som definieras av nämnda använ- darkommandon. Därefter förmedlar systemet den modifierade datauppsättningen 309," till användarklienten.
Användarklienten förses således med en grundläggande 3D-ka- pacitet. Exempelvis kan en användare ändra betraktningsposi- tion, förflytta sig och navigera i en primitiv 3D-värld, och motta en återgiven högkvalitativ bild från servern av en viss vy. Följ- aktligen är det möjligt att interagera nästan i realtid med en 3D- värld via anordningar med i stort sett inget 3D-stöd, och/eller med mycket begränsad kapacitet.
Som en sista reträtt kan styrentiteten 160 vara konfigurerad att leverera en i förväg alstrad bild, eller videoström, till användar- klienten. Därigenom kan i detta fall den begärda datauppsättnin- gen 3Dgr representeras av en modifierad datauppsättning 3Dgr" i form av en videoström och/eller statiska bilddata. Styrentiteten 160 förorsakar att omvandlingsentiteten 170 alstrar denna data- uppsättning BDQÅ' och förmedlar den till användarklienten, exem- pelvis mobiltelefonen C22a.
Därtill är styrentiteten 160 företrädesvis anknuten till ett dator- läsbart medium 165 (exempelvis nämnda minnesmodul) med ett därpå lagrat program. Nämnda program är i sin tur anpassat att förmå styrentiteten 160 att styra den ovan beskrivna proce- duren. 10 15 20 25 30 531 SEB 15 Oaktat dataformatet är det för att förhindra copyrightstöld gene- rellt sett föredraget om den till användarklienterna C21a, C21b, C22a och C2na levererade innehållsströmmen är krypterad. l syfte att ytterligare belysa uppfinningen kommer vi nu att ex- emplifiera hur systemet kan interagera med klienter som körs på en arbetsstation respektive en mobil utrustning.
Om användarklienten kopplar upp sig till systemet via en bärbar dator med en webbläsare där Java är aktiverat kommer syste- met att förorsaka att en Java-applet startas i användarklienten.
Java-applet är en extremt liten mjukvarukomponent, som är kapabel att upptäcka anordningskapaciteter och installerade bib- liotek. Java-applet undersöker sålunda datorns kapacitet, såsom dess GPU, RAM, operativsystem och andra parametrar som kan påverka grafikåtergivningskapaciteten. Java-applet undersöker även om klienten är utrustad med en åskådningsenhet, och om så är fallet, versionsnumret hos den äskådningsenheten. Om ingen åskådningsenhet visar vara tillgänglig begär Java-applet att en åskådningsenhet översänds vilken bedöms vara mest lämplig för användarklienten baserat på den insamlade grafikå- tergivningskapaciteten. Om emellertid en áskådningsenhet på- träffas söker Java-applet i databasen över åskådningsenheter 140 efter en möjlig nyare version av denna åskådningsenhet vil- ken matchar klientens kapacitet bättre. Om en sådan åskåd- ningsenhet finns tillgänglig i databasen 140 förorsakar styrenti- teten 160 att denna förmedlas till klienten, och att klienten där- efter uppmanas att installera motsvarande mjukvarumodul SWVW.
Sedan begär Java-applet en 3D-modell baserat på begärans- meddelandet R. Företrädesvis inbegriper detta att en identifie- ringsetikett skickas till styrentiteten 160, där etiketten anger en version av den begärda 3D-modellen som matchar kapaciteten hos klientens plattform och dess installerade åskådningsenhet.
Baserat på etiketten hämtar därefter styrentiteten 160 3D-mo- dellen från det primära minnesorganet 130 eller från det sekun- 10 15 20 25 30 531 B55 16 dära minnesorganet 180. Vi antar här att modellen är lagrad på ett XML-baserat filformat. Styrentiteten 160 matchar sedan an- vändarklientens kapacitet och versionen av dess åskådningsen- het med en omvandlingsmodul. För en Java-baserad åskåd- ningsenhet tillhandahålls 3D-modellen företrädesvis på ett se- riellt format med användande av Javas seriealstringsmekanism.
Seriealstringsmekanismen hos Java kan ses som en minnes- dump av Javamotorns interna datastruktur av en given applika- tion, eller delar därav. Denna mekanism är fördelaktig eftersom dess binära representation exakt matchar datalayouten i minnet då den är laddad i JVM (Java Virtual Machine). Generellt sett är ett binärt seriellt filformat föredraget, eftersom det är relativt snabbt att ladda, säg upp till tre gånger snabbare än motsva- rande COLLADA XML-dokument.
En nackdel med en sådan serieomvandling är emellertid att en binär seriell fil för en version av JVM kan visa sig vara inkom- patibel med andra versioner av JVM. l Java föreligger exempel- vis ett kompatibilitetsavbrott mellan Java-versionerna 1.5.0_06 och 1.5.0._O7. Således måste den serieomvandlade filen nära matchas såväl med den version av JVM som körs på användar- klienten som med den använda åskådningsenheten.
Så som nämnts ovan söker omvandlingsentiteten 170 initialt ef- ter en tidigare omvandlad version av en begärd datauppsättning 3Dg,, och samma angreppssätt är tillämpligt i föreliggande fall i syfte att kunna återanvända eventuellt cache-lagrad data. Om ingen sådan version finns tillgänglig i det sekundära minnes- organet 180 läses den begärda datauppsättningen 309, in i ett minne med användande av samma version av åskådningsenhe- ten och samma version av den anslutande virtuella Javamaski- nen som den anslutande klienten. 3D-datastrukturen serieom- vandlas sedan med användande av Javas serieomvandlings- mekanism till en binärfil, filen krypteras och sänds därefter till klientens åskådningsenhet. Detta säkerställer snabbast möjliga laddningshastighet till användarklienten. 10 15 20 25 30 531 B85 17 Om användarklienten har en JVM-version som inte stöds av om- vandlingsentiteten 170 använder styrentiteten 160 en åskåd- ningsenhet med XML-parsningskapacitet på klienten. Därefter skickas en krypterad XML-baserad version av den begärda data- uppsättningen 3Dgr till klientens åskädningsenhet. Den filen dekrypteras sedan och parsas av åskådningsenheten.
Om användarklienten saknar Java helt och hållet aktiveras en reträttkomponent. Den här komponenten kan vara baserad på ett Java-script eller Flash. l vilket fall som helst begär kompo- nenten datauppsättningen 3Dg, och returnerar ett meddelande till styrentiteten 160 som indikerar att klienten saknar 3D-kapa- cltet. Baserat på begäransmeddelandet R identifieras önskad 3D-grafikdata i det primära minnesorganet 130. Motsvarande XML-fil skickas sedan till omvandlingsentiteten 170, som laddar XML-filen till en SD-åskådningsenhet. Om filen är animerad, och om användarklienten har videokapacitet, förorsakar företrädes- vis styrentiteten 160 att en videosekvens av i förväg alstrade stillbilder skapas. Därefter skickas videosekvensen till använ- darklienten för visning. Om emellertid användarklienten saknar videokapacitet förorsakar styrentiteten 160 med fördel att en stillbild av det önskade 3D-grafikdatat alstras och förmedlas till klienten.
För mobila utrustningar finns det för närvarande inte någon fär- dig lösning vilken är direkt inbyggbar i en lämplig webbläsare.
Därför föreslås det att en fristående åskådningsenhet används, som är direkt inkopplingsbar i samband med nedladdning av en begärd datauppsättning 309,. Styrentiteten 160 är således kon- figurerad att upptäcka om en användarklient är implementerad på en mobil utrustning som ansluter sig till en webbsida i vilken 3D-grafik ingår som härrör från det föreslagna systemet.
Användarklienten sänder ut data vilka identifierar modellen hos den mobila utrustningen. Baserat därpå konsulterar styrentiteten 160 en databas för att avgöra klientens kapacitet, och vilken ås- kàdningsenhet som är bäst lämpad för utrustningen. Om exem- 10 15 20 25 30 531 3353 18 pelvis användarklienten körs på en Nokia Symbian S60 med OpenGL-ES-kapacitet används företrädesvis en Symbianappli- kation av originaltyp som äskådningsenhet. Styrentiteten 160 svarar på begäransmeddelandet R genom att visa en nedladd- ningslänk till den lämpliga åskådningsenheten, och en direktlänk till en fil av den relevanta datauppsättningen 3Dg,. Länken visas här med fördel som en stillbild av 3D-grafikmodellen. Det är vi- dare föredraget att omvandla eventuella texturer till ett mobilan- passat format, som storleksändras för att passa begränsningar- na hos anordningen ifråga. Meshar kan dessutom rullas upp och andra optimeringar av filen utföras.
För att kunna betrakta 3D-modellen som representeras av data- uppsättningen 309, behöver användaren ladda ned och instal- lera åskådningsenheten på klienten genom att klicka på ned- Iaddningslänken. Åskådningsenheten är förknippad med en viss MlME-typ. Detta innebär att alla filer som är associerade med denna MlME-typ automatiskt öppnas med hjälp av ifrågavarande applikation. Förutsatt att åskådningsenheten installeras och användaren klickar på länken svarar styrentiteten 160 med den korrekta MIME-typen, och filen laddas ned och visas i åskåd- ningsapplikationen.
En liknande procedur är tillämplig för anordningar med endast Java ME och JSR184. Här används dock åskådningsenheter ba- serade på Java ME och JSR184 istället för en Symbian-baserad åskàdningsenhet. Om det inte finns någon cache-lagrad om- vandlad fil i det sekundära minnesorganet 180 förorsakar styren- titeten 160 omvandling till det XML-baserade filformatet från det primära minnesorganet 140, och skapar en MSG-fil som uppfyl- ler JSR184-specifikationen.
För att sammanfatta kommer nu den allmänna metoden enligt uppfinningen för att visualisera datorgrafik i användarklienter att beskrivas med hänvisning till flödesschemat i figur 2. Av tydlig- hetsskäl belyser schemat endast en uppladdning av grafik respektive en nedladdning av densamma. 10 15 20 25 30 531 B55 19 Ett inledande steg 210 mottar åtminstone en datauppsättning som beskriver en tredimensionell grafikdatastruktur på ett res- pektive källformat. Sedan lagrar ett steg 220 datauppsättning/ en/arna i ett primärt minnesorgan hos datorsystemet.
Därefter undersöker ett steg 230 huruvida eller inte ett begä- ransmeddelande med avseende på någon av de lagrade data- uppsättningarna har mottagits från en användarklient. Om inte loopar proceduren tillbaka och stannar i steg 230. Annars följer ett steg 240 vilket identifierar en respektive grafikåtergivnings- kapacitet hos användarklienten från vilken begäransmeddelan- det mottogs.
Sedan undersöker ett steg 250 huruvida eller inte användar- klienten är utrustad med en åskådningsenhet som är kapabel att visualisera de/n begärda datauppsättning/en/arna. Om det visar sig att klienten är kapabel att visualisera den begärda dataupp- sättningen fortsätter proceduren till ett steg 260. l annat fall föl- jer ett steg 270, vilket förmedlar en adekvat mjukvarumodul till användarklienten. Den adekvata mjukvarumodulen är anpassad att implementera en åskådningsenhet, som är konfigurerad att visualisera den begärda datauppsättningen på ifrågavarande an- vändarklient. Sedan följer steg 260.
Steg 260 ger användarklienten tillgång till de/n begärda data- uppsättning/en/arna. Därefter slutar proceduren.
Enligt en föredragen utföringsform av uppfinningen undersöker ett steg 280 efter steg 240 (exempelvis parallellt med steg 250) huruvida eller inte den åtminstone en begärda datauppsättnin- gen redan finns cache-lagrad i klienten. Om så är fallet kan klienten ges tillträde till datauppsättning/en/arna omedelbart ba- serat på innehållet i cache-minnet (det vill säga proceduren fortsätter till steg 260). Annars förmedlar ett steg 290 de/n be- gärda datauppsättning/en/arna till klienten enligt vad som har beskrivits ovan.
Så som nämnts ovan visar flödesschemat i Figur 2 en förenklad 10 15 20 25 30 35 Sätt; 533 20 version av den procedur som implementeras av det föreslagna systemet. Exempelvis exekveras i praktiken steg 210 och 220 repeterat i en första uppladdningsloop, och steg 230 till 270 (eller 290) exekveras repeterat i en andra nedladdningsloop pa- rallellt med den första loopen.
Samtliga de metodsteg, såväl som godtycklig delsekvens av steg, beskrivna med hänvisning till figur 2 ovan kan styras med hjälp av en programmerad datorapparat. Dessutom, även om de ovan med hänvisning till figurerna beskrivna utföringsformerna av uppfinnin- gen innefattar en dator och processer utförda i en dator, utsträc- ker sig uppfinningen till datorprogram, speciellt datorprogram på eller i en bärare anpassad att praktiskt implementera uppfinnin- gen. Programmet kan vara i form av källkod, objektkod, en kod som utgör ett mellanting mellan käll- och objektkod, såsom i delvis kompilerad form, eller i vilken annan form som helst lämplig att använda vid implementering av processen enligt uppfinningen.
Bäraren kan vara godtycklig entitet eller anordning vilken är kapabel att bära programmet. Exempelvis kan bäraren innefatta ett lagringsmedium såsom ett flashminne, ett ROM (Read Only Memory), exempelvis en CD (Compact Disc) eller ett halvledar- ROM, att EPROM (Erasable Programmable ROM), an EEPROM (Electrically EPROM) eller ett magnetiskt inspelningsmedium, exempelvis en floppydisk eller hårddisk. Dessutom kan bäraren vara en överförande bärare såsom en elektrisk eller optisk signal, vilken kan ledas genom en elektrisk eller optisk kabel eller via radio eller på annat sätt. Då programmet gestaltas av en signal som kan ledas direkt av en kabel eller annan anordning eller organ kan bäraren utgöras av en sådan kabel, anordning eller organ. Alternativt kan bäraren vara en integrerad krets i vilken programmet är inbäddat, där den integrerade kretsen är anpassad att utföra, eller för att användas vid utförande av, de aktuella processerna.
Termen “innefattar/innefattande" skall då den används i den här beskrivningen förstås att ange närvaron av de anvisade särdra- gen, heltalen, stegen eller komponenterna. Termen utesluter 53'l B55 21 emellertid inte närvaron av eller tillägg av ett eller flera ytter- ligare särdrag, heltal, steg eller komponenter eller grupper där- av.
Eventuella referenser till tidigare känd teknik i den här beskriv- ningen är inte, och skall inte ses som, ett erkännande av eller antydan om att denna teknik utgör en del av den allmänna kunskapen i Australien, eller något annat land.
Uppfinningen är inte begränsad till de i figurerna beskrivna ut- föringsformerna, utan kan varieras fritt inom kravens omfång.

Claims (22)

10 15 20 25 30 35 531 B99 22 Patentkrav
1. Ett datorsystem innefattande: ett primärt användargränssnitt (110) konfigurerat att motta datauppsättningar (3Dgf), där varje datauppsättning beskriver en tredimensionell grafikdatastruktur pà ett respektive källformat, ett primärt minnesorgan (130) konfigurerat att lagra data- uppsättningarna (3Dg,), och ett sekundärt användargränssnitt (120) konfigurerat att an- slutas till användarklienter (C21a, C21b, C22a, C2na), och som svar på ett respektive begäransmeddelande (R), erbjuda varje klient tillträde till åtminstone en begärd datauppsättning av de i det primära datalagringsorganet (130) lagrade datauppsättnin- garna (3Dgf), kännetecknat av att systemet innefattar: en databas över àskädningsenheter (140) innehållande mjukvarumoduler (SWVW) anpassade att implementera åtminsto- ne tvà olika àskàdnlngsenheter, där varje àskàdningsenhet är konfigurerad att visualisera de lagrade datauppsättningarna (3Dg,) pà åtminstone en typ av klient, en undersökningsentitet (150) konfigurerad att: identifiera en respektive grafikåtergivningsförmàga (Cm) hos varje användarklient (C21a, C21b, C22a, C2na) från vilken ett begäransmeddelande (R) har mottagits, och för varje sådan klient, undersöka huruvida eller inte den av klienten (C21b) begärda datauppsättningen (3Dg,) redan finns cache-lag- rad i klienten (C21b), och om så är fallet, ge klienten (C21b) tillträde till datauppsättningen (3Dg,) baserat på in- nehållet i relevant cache-minne, undersöka huruvida eller inte klienten (C21b) är ut- rustad med en åskådningsenhet kapabel att visualisera den av klienten (C21b) begärda datauppsättningen (3Dg,), och en styrentitet (160) konfigurerad att förmedla en adekvat mjukvarumodul (SWVW) till användarklienten (C21b) om under- sökningsentiteten (150) finner att klienten (C21b) är inkapabel att visualisera den begärda datauppsättningen (3Dg,), där mjuk- 10 15 20 25 30 53"; BBS 23 varumodulen (SWVW) är anpassad att implementera en åskåd- ningsenhet vilken är konfigurerad att visualisera den begärda datauppsättningen (3Dg,) på denna klient (C21b).
2. Systemet enligt krav 1, innefattande en omvandlingsenhet (170) konfigurerad att omvandla varje datauppsättning (3Dg,) lagrad i det primära minnesorganet (130) till en modifierad data- uppsättning (3Dg,") med ett màlformat anpassat att visualiseras via åtminstone en typ av àskàdningsenhet installerad i åtmins- tone en av användarklienterna (C21a, C21b, C22a, C2na), och undersökningsenheten (150) som svar till ett begäransmedde- lande (R) är konfigurerad att: undersöka huruvida eller inte användarklienten (C22a, C2na) från vilken begäransmeddelandet (R) härrör är kapabel att hantera källformatet hos den begärda datauppsättningen (3Dgf), och om inte bringa omvandlingsenheten (170) att omvandla den begär- da datauppsättningen (3Dg,) till en modifierad datauppsättning (3Dgr“) av ett màlformat vilket användarklienten (C22a, C2na) kan hantera.
3. Systemet enligt krav 2, varvid grafikàtergivningsförmàgan (Ceap) återspeglar åtminstone endera av en bearbetningskapa- citet och en minneskapacitet hos användarklienten (C21a, C21b, C22a, C2na).
4. Systemet enligt något av kraven 2 eller 3, innefattande ett sekundärt minnesorgan (180), och där styrentiteten (160) är kon- figurerad att förorsaka att en respektive màlformatsversion av eventuella alstrade modifierade datauppsättningar (3Dgfl) lagras i det sekundära minnesorganet (180).
5. Systemet enligt krav 4, varvid om undersökningsentiteten (150) finner att användarklienten (C22a) är inkapabel att visua- lisera den begärda datauppsättningen (3Dg,), styrentiteten (160) är konfigurerad att innan omvandlingsenheten (170) bringas att 10 15 20 25 30 53'l B98 24 omvandla den begärda datauppsättningen (309): söka i det sekundära minnesorganet (180) efter en modi- fierad datauppsättningsversion (3Dg,“) av den begärda dataupp- sättningen (3Dgf). vilken version matchar grafikåtergivningsför- mågan (Ccap) hos användarklienten (C22a), och om en sådan version påträffas inhibera omvandlingen av den begärda datauppsättningen (3090, förorsaka att den modifierade datauppsättningen (3Dg,") utläses från det sekundära minnesorganet (180), och förorsaka att den modifierade datauppsättningen (3Dg,“) förmedlas till användarklienten (C22a).
6. Systemet enligt något av föregående krav, varvid källfor- matet är baserat på XML.
7. Systemet enligt krav 6, varvid màlformatet hos den modi- fierade datauppsättningen (SDQf) är ett binärt format represen- terande en komprimerad version av åtminstone en XML-fil.
8. Systemet enligt krav 7, varvid omvandlingsentiteten (170) är konfigurerad att alstra den modifierade datauppsättningen (3093) i realtid.
9. Systemet enligt krav 6, varvid styrentiteten (160) är konfi- gurerad att: förorsaka att symbolisk grafik visas via en åskådningsen- het i användarklienten (C22a) som svar på användarkommandon rörande önskade manipulationer av den begärda datauppsättnin- gen (3Dg,), där den symboliska grafiken schematiskt represente- rar den tredimensionella grafikdatastrukturen hos den begärda datauppsättningen (3Dg,), förorsaka att omvandlingsenheten (170) alstrar den modi- fierade datauppsättningen (3Dg,") som svar på ett bekräftelse- kommando från användarklienten (C22a), och förmedla den modifierade datauppsättningen (BDQÉ) till an- 10 15 20 25 30 35 53 'i B93 25 vändarklienten (C22a), där den modifierade datauppsättningen (3Dgf) överensstämmer med manipuleringen därav indikerad av användarkommandon och är godkänd av bekräftelsekommandot.
10. Systemet enligt krav 6, varvid styrenheten (160) är konfi- gurerad att: förorsaka att omvandlingsenheten (170) alstrar den modi- fierade datauppsättningen (3Dg,") i form av åtminstone endera av en videoström och statiska bilddata representerande den be- gärda datauppsättningen (3Dgr). och förmedla den modifierade datauppsättningen (3Dgff) till an- vändarklienten (C22a).
11. En metod för att visualisera datorgrafik i åtminstone en an- vändarklient (C21a, C21b, C22a, C2na) innefattande: mottagning av datauppsättningar (3Dg,) via ett primärt an- vändargränssnitt (110) hos ett datorsystem, där varje dataupp- sättning beskriver en tredimensionell grafikdatastruktur på ett respektive källformat, lagring av datauppsättningarna (3Dgf) i ett primärt minnes- organ (130) hos datorsystemet, och som svar på ett respektive begäransmeddelande (R) från den åtminstone en användarklienten (C21a, C21b, C22a, C2na), erbjudande av tillträde till åtminstone en begärd datauppsättning av de i det primära minnesorganet (130) lagrade datauppsättnin- garna (SDN) via ett sekundärt användargränssnitt (120) hos da- torsystemet, kännetecknad av: identifiering av en respektive grafikåtergivningsförmåga (Cm) hos varje användarklient (C21a, C21b, C22a, C2na) från vilken ett begäransmeddelande (R) har mottagits, och för varje sådan klient, undersökning huruvida eller inte den av klienten (C21b) begärda datauppsättningen (SDU) redan finns cache-lagrad i klienten (C21b), och om så är fallet, ge klienten (C21b) tillträde till datauppsättningen (3Dgf) baserat på innehållet i relevant ca- che-minne, undersökning huruvida eller inte klienten (C21b) är utrus- tad med en àskådningsenhet kapabel att visualisera den av kli- 10 15 20 25 30 EITÉ B53* 26 enten (C21b) begärda datauppsättningen (3Dgr), och om det vi- sar sig att klienten (C21b) är inkapabel att visualisera den be- gärda datauppsättningen (3Dg,) förmedling av en adekvat mjukvarumodul (SWVW) till använ- darklienten (C21b), där mjukvarumodulen (SWVW) är anpassad att implementera en åskådningsenhet vilken är konfigurerad att visualisera den begärda datauppsättningen (3Dg,) pà denna klient (C21b).
12. Metoden enligt krav 11, innefattande: mottagning av ett begäransmeddelande (R) från en använ- darklient (C21a, C21b, C22a, C2na), undersökning huruvida eller inte användarklienten (C22a, C2na) från vilken begäransmeddelandet (R) härrör är kapabel att hantera källformatet hos den begärda datauppsättningen (30gf). och om inte omvandling av den begärda datauppsättningen (3Dgr) till en modifierad datauppsättning (3Dg,") av ett målformat vilket användarklienten (C22a, C2na) kan hantera, där màlformatet är anpassat att visualiseras via åtminstone en typ av àskådnings- enhet installerad i åtminstone en av användarklienterna (C21a, C21b,C22a,C2nay
13. Metoden enligt krav 12, varvid grafikåtergivningsförmàgan (Cm) återspeglar åtminstone endera av en bearbetningskapa- citet och en minneskapacitet hos användarklienten (C21a, C21b, C22a, C2na).
14. Metoden enligt något av kraven 12 eller 13, innefattande lagring av en respektive målformatsversion av eventuella alstra- de modifierade datauppsättningar (SDQF) i ett sekundärt minnes- organ (180).
15. Metoden enligt krav 14, varvid om det visar sig att använ- darklienten (C22a) är inkapabel att visualisera den begärda da- tauppsättningen (3Dg,), metoden innan omvandling av den be- 10 15 20 25 30 531 859 27 gärda datauppsättningen (3Dgf) innefattar: sökning i det sekundära minnesorganet (180) efter en mo- difierad datauppsättningsversion (3Dg,") av den begärda data- uppsättningen (3Dg,), vilken version matchar grafikàtergivnings- förmågan (Ccap) hos användarklienten (C22a), och om en sådan version påträffas inhibering av omvandlingen av den begärda datauppsätt- ningen (3Dg,), utläsning av den modifierade datauppsättningen (3Dg,“) från det sekundära minnesorganet (180), och förmedling av den modifierade datauppsättningen (3Dg,") till användarklienten (C22a).
16. Metoden enligt något av kraven 11 till 15, varvid källfor- matet är baserat på XML.
17. Metoden enligt krav 16, varvid màlformatet hos den modi- fierade datauppsättningen (3Dg,“) är ett binärt format represen- terande en komprimerad version av åtminstone en XML-fil.
18. Metoden enligt krav 17, innefattande alstring av den modi- fierade datauppsättningen (3Dg,") i realtid.
19. Metoden enligt krav 16, innefattande: visning av symbolisk grafik via en àskàdningsenhet i an- vändarklienten (C22a) som svar på användarkommandon röran- de önskade manipulationer av den begärda datauppsättningen (3Dgf), där den symboliska grafiken schematiskt representerar den tredimensionella grafikdatastrukturen hos den begärda da- tauppsättningen (309), alstring av den modifierade datauppsättningen (BDQF) som svar på ett bekräftelsekommando från användarklienten (C22a), där den modifierade datauppsättningen (3Dg,") överensstämmer med manipuleringen därav indikerad av användarkommandon och är godkänd av bekräftelsekommandot, och förmedling av den modifierade datauppsättningen (3Dg,“) 10 15 STI B39 28 till användarklienten (C22a).
20. Metoden enligt krav 16, innefattande: alstring av den modifierade datauppsättningen (3Dg,“) i form av åtminstone endera av en videoström och statiska bild- data representerande den begärda datauppsättningen (3Dg,), och förmedling av den modifierade datauppsättningen (3Dg,") till användarklienten (C22a).
21. Ett datorprogram laddbart till minnet hos en databearbet- ningsapparat, innefattande mjukvara för att styra stegen enligt något av kraven 11 till 20 när nämnda program körs på databe- arbetningsapparaten.
22. Ett datorläsbart medium (165) med ett därpå lagrat prog- ram, där programmet är ägnat att förmà en databearbetningsap- parat att styra stegen enligt något av kraven 11 till 20 när prog- rammet är laddat i databearbetningsapparaten.
SE0701674A 2007-07-10 2007-07-10 System för grafikhantering SE531899C2 (sv)

Priority Applications (6)

Application Number Priority Date Filing Date Title
SE0701674A SE531899C2 (sv) 2007-07-10 2007-07-10 System för grafikhantering
PCT/SE2008/050629 WO2009008808A1 (en) 2007-07-10 2008-05-29 System for handling graphics
EP08779312A EP2165255A4 (en) 2007-07-10 2008-05-29 SYSTEM FOR HANDLING GRAPHICAL ELEMENTS
CA2692538A CA2692538C (en) 2007-07-10 2008-05-29 System for handling graphics
AU2008275816A AU2008275816B2 (en) 2007-07-10 2008-05-29 System for handling graphics
US12/668,132 US8290974B2 (en) 2007-07-10 2008-05-29 System for handling graphics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0701674A SE531899C2 (sv) 2007-07-10 2007-07-10 System för grafikhantering

Publications (2)

Publication Number Publication Date
SE0701674L SE0701674L (sv) 2009-01-11
SE531899C2 true SE531899C2 (sv) 2009-09-01

Family

ID=40228828

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0701674A SE531899C2 (sv) 2007-07-10 2007-07-10 System för grafikhantering

Country Status (6)

Country Link
US (1) US8290974B2 (sv)
EP (1) EP2165255A4 (sv)
AU (1) AU2008275816B2 (sv)
CA (1) CA2692538C (sv)
SE (1) SE531899C2 (sv)
WO (1) WO2009008808A1 (sv)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5429034B2 (ja) 2009-06-29 2014-02-26 ソニー株式会社 立体画像データ送信装置、立体画像データ送信方法、立体画像データ受信装置および立体画像データ受信方法
JP5407957B2 (ja) 2009-06-29 2014-02-05 ソニー株式会社 立体画像データ送信装置および立体画像データ受信装置
JP2011030179A (ja) * 2009-06-29 2011-02-10 Sony Corp 画像データ送信装置、制御方法およびプログラム
JP5402715B2 (ja) 2009-06-29 2014-01-29 ソニー株式会社 立体画像データ送信装置、立体画像データ送信方法、立体画像データ受信装置および立体画像データ受信方法
JP5407968B2 (ja) 2009-06-29 2014-02-05 ソニー株式会社 立体画像データ送信装置および立体画像データ受信装置
WO2013038053A1 (en) * 2011-09-14 2013-03-21 Nokia Corporation Method and apparatus for distributed script processing
US20140189537A1 (en) * 2013-01-03 2014-07-03 Qualcomm Incorporated Framework and method for dynamic talker ID based media treatment in a group communication
CA2842975C (en) * 2013-02-14 2021-10-19 TeamUp Technologies, Inc. Collaborative, multi-user system for viewing, rendering, and editing 3d assets
CN104598209A (zh) * 2013-10-30 2015-05-06 镇江华扬信息科技有限公司 一种基于Java语言Internet环境下3D方法
US10121263B2 (en) * 2013-10-31 2018-11-06 Uc Mobile Co., Ltd. Methods and devices for image loading and methods and devices for video playback
US9804900B2 (en) * 2014-05-30 2017-10-31 Apple Inc. Manipulating shaders with object-oriented programming

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995756A (en) * 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US6556217B1 (en) * 2000-06-01 2003-04-29 Nokia Corporation System and method for content adaptation and pagination based on terminal capabilities
JP4191932B2 (ja) * 2001-03-08 2008-12-03 パナソニック株式会社 メディア配信装置およびメディア配信方法
CA2343263A1 (en) * 2001-04-05 2002-10-05 Alexis Smirnov Privacy framework
FR2834104B1 (fr) * 2001-12-20 2004-10-15 France Telecom Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache, systeme de transmission, serveur et terminal correspondants
US7685315B2 (en) 2002-10-28 2010-03-23 Nokia Corporation System and method for conveying terminal capability and user preferences-dependent content characteristics for content adaptation
US7193649B2 (en) * 2003-04-01 2007-03-20 Logitech Europe S.A. Image processing device supporting variable data technologies
US7103681B2 (en) * 2003-06-19 2006-09-05 Nokia Corporation System for rendering multimedia messages by providing, in a multimedia message, URL for downloadable software to receiving terminal
GB2404546B (en) * 2003-07-25 2005-12-14 Purple Interactive Ltd A method of organising and displaying material content on a display to a viewer
US20050192922A1 (en) * 2004-02-27 2005-09-01 Edlund Stefan B. Client-server computing system capable of validating cached data based on data transformation

Also Published As

Publication number Publication date
EP2165255A1 (en) 2010-03-24
US20100325176A1 (en) 2010-12-23
SE0701674L (sv) 2009-01-11
US8290974B2 (en) 2012-10-16
CA2692538C (en) 2016-07-12
EP2165255A4 (en) 2011-01-12
WO2009008808A1 (en) 2009-01-15
CA2692538A1 (en) 2009-01-15
AU2008275816A1 (en) 2009-01-15
AU2008275816B2 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
SE531899C2 (sv) System för grafikhantering
CN102708146B (zh) 本地编辑远程存储的图像
KR100727195B1 (ko) 디지털 문서 처리용 시스템 및 방법
CN105893446B (zh) 用于基于用户行为预测的智能web参考预加载的方法
US7490167B2 (en) System and method for platform and language-independent development and delivery of page-based content
US8972873B2 (en) Multi-environment widget assembly, generation, and operation
KR102222087B1 (ko) 증강 현실에 기초한 이미지 인식 방법 및 장치
US20120066304A1 (en) Content configuration for device platforms
US20210225056A1 (en) Systems and Methods for Creating and Delivering Augmented Reality Content
EP3090357B1 (en) Hosted application marketplaces
US10430256B2 (en) Data engine
WO2014091257A2 (en) Web page variation
US9417851B2 (en) Location-based application development for runtime environments
CN113885935A (zh) 资源打包方法、装置、电子设备及计算机可读存储介质
US20100023555A1 (en) System and method for associating a file with one or more other files in an online storage system
KR20130132794A (ko) 동적 이미지 결과 스티칭
CN114816377A (zh) 脚本获取方法及装置
CN103020178A (zh) 一种浏览器加载图片工具条的方法和装置
JP7069356B2 (ja) アプリケーションオープン動作中にデジタルコンテンツを追加するためのシステムおよび方法
US10915599B2 (en) System and method for producing transferable, modular web pages
WO2021013655A1 (en) System and method for gui development and deployment in a real time system
CN118134440B (zh) 一种3d引擎的多人协同场景编辑方法及***
CN109040788B (zh) 一种视频播放方法及***
CN115185581B (zh) 图标封装方法和装置、图标显示方法、计算设备
US20240095296A1 (en) System and method for dynamically generating content

Legal Events

Date Code Title Description
NUG Patent has lapsed