NO322938B1 - Behandling av digital transportstrom - Google Patents
Behandling av digital transportstrom Download PDFInfo
- Publication number
- NO322938B1 NO322938B1 NO20000320A NO20000320A NO322938B1 NO 322938 B1 NO322938 B1 NO 322938B1 NO 20000320 A NO20000320 A NO 20000320A NO 20000320 A NO20000320 A NO 20000320A NO 322938 B1 NO322938 B1 NO 322938B1
- Authority
- NO
- Norway
- Prior art keywords
- data stream
- packets
- receiver
- extracted
- decoder
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 35
- 238000000034 method Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 27
- 230000009471 action Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 6
- 239000002609 medium Substances 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Threshing Machine Elements (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Detergent Compositions (AREA)
- Pyrane Compounds (AREA)
- Iron Core Of Rotating Electric Machines (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Circuits Of Receivers In General (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Time-Division Multiplex Systems (AREA)
- Photoreceptors In Electrophotography (AREA)
- Processing Of Color Television Signals (AREA)
- Television Systems (AREA)
- Stereophonic System (AREA)
- Control And Other Processes For Unpacking Of Materials (AREA)
Description
Foreliggende oppfinnelse gjelder tilknytning av brukerprogrammer til fysiske innretninger, særlig, men ikke utelukkende i sammenheng mottager/dekodere for digitale fjernsyns-systemer.
Ankomsten av digitale transmisjonssystemer har åpnet muligheten for å utnytte sådanne systemer for forskjellige formål. Et av disse er å fremskaffe interaktivitet med sluttbrukeren. Slik uttrykket "digitalt transmisjonssystem" benyttes her, innbefatter det ethvert transmisjonssystem for overføring eller kringkasting av f.eks. primært audiovisuelle, digitale data eller digitale data i multimedia-sammenheng. Skjønt foreliggende oppfinnelse er særlig anvendelig på et digital fjernsynskringkastingssystem, kan oppfinnelsen også anvendes på faste telekommunikasjonsnett for Internett-brukerprogrammer av multimedia-type, lukkede fjernsynsnett, osv. Slik uttrykket "digitalt fjernsynssystem" benyttes her, innbefatter det f.eks. ethvert satellitt-, jordbundet, kabel- eller annet system.
Foreliggende oppfinnelse er særlig anvendelig i digitale fjernsynskringkastingssystemer hvor mottatte signaler formidles via en mottager til en mottager/dekoder og deretter til et fjernsynsapparat. Uttrykket "mottager/dekoder" som brukes her, kan betegne en mottager for å motta enten kodede eller ikke-kodede signaler, f.eks. fjernsyns- og/eller radiosignaler, som kan kringkastes eller sendes ved hjelp av et eller annet annet utstyr. Uttrykket kan også betegne en dekoder for dekoding av mottatte signaler. Utførelses-former av sådanne mottager/dekodere kan innbefatte en dekoder som er integrert med mottageren for dekoding av de mottatte signaler, f.eks. i en "apparat-toppboks", hvor dekoderen arbeider i kombinasjon med en fysisk adskilt mottager eller har tilleggs-funksjoner, slik som en nettleser, en videoopptager, eller et fjernsyn.
Mottager/dekoderen dekoder et komprimert signal av MPEG-type til et fjernsynssignal for et fjernsynsapparat. Styring skjer ved hjelp av en håndholdt fjernstyring via et grensesnitt i mottager/dekoderen, som også er kjent som "apparat-toppboks" eller STB (Set-Top-Box). Uttrykket MPEG betegner en datatransmisjonsstandard utviklet av arbeids-gruppen "Motion Pictures Expert Group" hos Den internasjonale standardiseringsorgani-sasjon (ISO), og særlig, men ikke utelukkende er standarden MPEG-2 utviklet for digitale fjernsynsanvendelser og spesifisert i dokumentene ISO 13818-1, ISO 13818-2, ISO 13818-3 og ISO 13818-4. I sammenheng med foreliggende beskrivelse innbefatter uttrykket alle varianter, modifikasjoner eller videreutviklinger av MPEG-formater som gjelder digital datatransmisjon.
En måte å frembringe den ovenfor nevnte interaktivitet på, er å utføre et brukerprogram i mottager/dekoderen som fjernsynssignalet mottas via. Det er ønskelig å gjøre det mulig for mange slags brukerprogrammer å kommunisere med mange slags fysiske innretninger på en transparent måte. De tidligere innleverte norske patentsøknader nr. 1999 4539 og nr. 1999 4540 beskriver systemer hvor et eller flere brukerprogrammer kan lastes ned av en mottager/dekoder for å kommunisere med fysiske innretninger i mottager/dekoderen, slik som parallelle og serielle grensesnitt, og smartkortlesere ved hjelp av en utstyrs-driver for hver innretning og en overordnet utstyrsforvalter. Slik uttrykket "sThartkort" brukes her, innbefatter det, dog ikke utelukkende, enhver brikkebasert kortinnretning eller gjenstand som har tilsvarende funksjon og ytelse, og utstyrt med for eksempel en mikro-prosessor og/eller hukommelseslager. Dette uttrykk innbefatter innretninger som har alternative fysiske utforminger i forhold til kort, slik som nøkkelformede innretninger slik som dem som ofte benyttes i fjernsynsdekodersystemer.
I henhold til foreliggende oppfinnelse er det foreslått å gi en apparattoppboks muligheten av å frembringe en digital utgangsstrøm ut fra en mottatt datastrøm, f.eks. for å mulig-gjøre digital lagring av mottatte programmer og data, slik som ved å benytte en digital videoopptager, eller muliggjøre datakommunikasjon med andre anordninger eller innretninger, f.eks. over et TCP/IP-nett.
Et problem ved å frembringe en sådan digital utgangsdatastrøm er at den mottatte data-strøm vanligvis inneholder MPEG-data ved en meget høy bithastighet, og det ville være upraktisk å lagre den fullstendige mottatte datastrøm. Dessuten kan den mottatte data-strøm inneholde mye informasjon som ikke er av interesse for seeren. En mottager/- dekoder inneholder utstyr for demultipleksing og om nødvendig gjenoppretting av en del av den mottatte datastrøm for å frembringe en eneste kanal for analog fremvisning, som kan tas opp ved hjelp av en vanlig analog videoopptager. Det konvensjonelle utstyr mangler imidlertid fleksibilitet og kan ikke frembringe en datastrøm som er egnet for digital lagring.
Aspekter ved oppfinnelsen foreslår nye teknikker for å frembringe en digital datastrøm som er egnet for lagring i en digital videopptager. Skjønt oppfinnelsen gir flest fordeler ved behandling av en MPEG-datastrøm som inneholder et antall fjernsynsprogrammer og andre data mottatt ved hjelp av en mottager/dekoder (for kabel, eller enda bedre for satellitt) for å frembringe en utgangsstrøm som er egnet for overføring til en digital video opptager, har man innsett at oppfinnelsen kan anvendes på behandling av andre data-strømmer og kan tillate sanntidsredigering av digital video.
I et første aspekt fremskaffer oppfinnelsen et apparat for behandling av en digital data-strøm, som omfatter: - utstyr for å motta en digital datastrøm som inneholder flere pakker med informasjon, - utstyr for å lagre en liste over angitte pakker som skal velges fra den mottatte digitale datastrøm, idet listen inneholder prioritetsinformasjon som angir eri prioritet tildelt hver
pakke,
- utstyr for å trekke ut pakker angitt i nevnte liste fra den mottatte datastrøm, og
- behandlingsutstyr for å behandle de uttrukne pakker for å frembringe en utgangsdata-strøm og for selektivt å redusere antallet uttrukne pakker i utgangsdatastrømmen ved å innlemme uttrukne pakker med høy prioritet i utgangsdatastrømmen fremfor uttrukne pakker med lav prioritet.
Dette aspekt av oppfinnelsen strekker seg til en fremgangsmåte ved behandling av en digital datastrøm, som omfatter at:
- en datastrøm som omfatter flere pakker med informasjon mottas,
- en liste over angitte pakker som skal velges fra den mottatte digitale datastrøm lagres, idet nevnte liste inneholder prioritetsinformasjon som angir en prioritet tilordnet hver
pakke,
- pakker angitt i nevnte liste trekkes ut fra den mottatte datastrøm,
- de uttrukne pakker behandles for å frembringe en utgangsdatastrøm, og
- antallet uttrukne pakker i utgangsdatastrømmen reduseres selektivt ved å innlemme uttrukne pakker med høy prioritet i utgangsdatastrømmen fremfor uttrukne pakker med lav prioritet.
Med dette aspekt av oppfinnelsen kan således spesielt angitte pakker trekkes ut direkte fra den mottatte datastrøm (som også kan betegnes den opprinnelige transportstrøm) og utvalgte porsjoner som for eksempel tilsvarer ett eller flere programmer av interesse, trekkes ut og settes sammen til en utgangsdatastrøm (som også kan betegnes en partiell transportstrøm).
Det vil forstås at apparatet gir betraktelig fleksibilitet ettersom det kan anvendes ganske enkelt for å kopiere en opprinnelig transportstrøm som inneholder data for diverse kanaler uten endringer, eller for å velge ut en enkelt datapakke.
Siden listen inneholder prioritetsinformasjon som angir prioriteten tilordnet hver pakke, kan mindre viktig informasjon som for eksempel er knyttet til et program av mindre interesse, sees bort fra, hvilket fører til en forringelse av vedkommende programs kvalitet mens andre programmer blir mer pålitelig registrert.
I en utførelse er behandlingsutstyret tilpasset for selektivt å redusere antallet uttrukne pakker i utgangsdatastrømmen i det tilfelle antallet uttrukne pakker som skal innlemmes blir for stort for utgangsstrømmens datahåndterende kapasitet. Pakker kan "utelates av forskjellige årsaker, for eksempel kan pakker ekskluderes dersom antallet pakker er for stort for den datahåndterende kapasitet for et lagringsmedium som pakkene avgis til eller den datahåndterende kapasitet for en anordning eller utgangsport som mottar utgangs-datastrømmen.
Behandlingsutstyret kan være tilpasset for selektivt å sette inn igjen utskilte, uttrukne pakker i utgangsdatastrømmen, for eksempel dersom utgangsdatastrømmens datahåndterende kapasitet øker.
En pakke inneholder typisk flere seksjoner. Utstyret for å behandle uttrukne seksjoner kan fortrinnsvis utføre en av et antall operasjoner for å innkapsle eller pakke inn mottatte MPEG-seksjoner i et egnet format. I en enkel utførelse kan behandlingen av de uttrukne seksjoner ganske enkelt bestå i å fjerne det innledende MPEG-felts informasjon eller andre data fra seksjonene, for eksempel ved å slette partier av segmentene, fortrinnsvis ved begynnelsen eller enden, for derved å trekke ut "rådataene" for overføring fremover. Isåfall må en tilføyelse av kommunikasjonsprotokoll-spesifikke innlederfelt og lignende utføres ved sendeenden, ved for eksempel å sende forhåndspreparerte TCP/IP-pakker.
Fortrinnsvis omfatter utstyret for behandling av uttrukne seksjoner utstyr for å legge til i det minste et innlederfelt eller et avslutterfelt, fortrinnsvis begge deler, til en mottatt seksjon for å frembringe en datastrøm i overensstemmelse med eri kommunikasjonsprotokoll som er forskjellig fra kommunikasjonsprotokollen for den mottatte datastrøm. Det seksjonsbehandlende utstyr kan ha utstyr for å legge til en rammekontrollsekvens til dataene. Innlemmelse av sådanne kjennetegn kan redusere mengden av den behandling som fordres ved senderen såvel som redusere mengden av data som må overføres. Dessuten kan kommunikasjonsprokollen endres ved mottager/dekoderen.
I hvert tilfelle er den mottatte digitale datastrøm fortrinnsvis en MPEG-datastrøm (idet det her menes enhver variant, modifikasjon eller utvikling av det grunnleggende MPEG-format, fortrinnsvis en datastrøm av typen MPEG-2) som inneholder en rekke pakker med hver sin pakkeidentifikator (også betegnet PID'er).
Særlig (men ikke utelukkende) omfatter listen fortrinnsvis en liste over identifikatorer for pakker som skal velges ut fra den mottatte datastrøm.
Dersom listen inneholder en liste over seksjoner kan særlig (men ikke utelukkende) hver seksjon identifiseres i samsvar med en numerisk verdi i et angitt felt i seksjonen. Seksjonen angis fortrinnsvis ved å definere et felt med et første forutbestemt antall biter, ved en forskyvning på et andre forutbestemt antall biter fra et identifisert punkt i seksjonen, fortrinnsvis dens begynnelse.
Apparatet kan omfatte utstyr for å loggføre de mottatte seksjoners identifikatorer. Logg-'føringsutstyret kan omfatte utstyr for å definere en bitmatrise (bitmap), idet hver bit i bitmatrisen tilsvarer en mottatt seksjon eller en som forventes å bli mottatt, samt utstyr for å endre tilstanden av den bit som tilsvarer en mottatt seksjon for å bekrefte mottagelsen av vedkommende seksjon.
Fortrinnsvis har apparatet utstyr for å lagre i det minste en ytterligere liste over pakkeidentifikatorer og for å utføre en eller flere angitte behandlende operasjoner, f.eks. gjenoppretting, på pakker angitt i den eller hver ytterligere liste forut for innlemmelse i utgangsdatastrømmen. Dette gjør det for eksempel mulig for et omkastet program å bli gjenopprettet og lagret i gjenopprettet form.
Apparatet har fortrinnsvis også utstyr for å sette inn ytterligere data, for eksempel pakker, i utgangsdatastrømmen. Apparatet er fortrinnsvis innrettet for å motta ytterligere data fra et brukerprogram. Dette gjør det mulig å lagre annen informasjon, f.eks. informasjon som identifiserer programmer innlemmet i utgangsdatastrømmen, eller å lagre andre data generert av et brukerprogram som mottar den opprinnelige transport-strøm.
Apparatet er aller helst realisert som en anordning i en mottager/dekoder for f.eks. et digitalt satellittsystem, slik som beskrevet i de tidligere norske patentsøknader nr. 1999 4529 - 4530 og nr. 1999 4532 - 4541. Med en sådan realisering kan anordningen arbeide under styring fra et brukerprogram via en anordningsforvalter, hvilket utgjør et bekvemt og fleksibelt arrangement for å styre sammensetningen av utgangsdatastrøm-men. Anordningen er fortrinnsvis innrettet for å kommunisere med en digital videoopptager ved å bruke et høyhastighets digitalt grensesnitt, slik som IEEE 1394-grensesnittet, som benytter en egnet anordningsdriver eller driverenhet, slik som den beskrevet i den samtidige norske patentsøknad nr. 2000 0319, men kan benyttes sammen med ethvert egnet digitalt grensesnitt.
Apparatet kan være innrettet for å frembringe en virtuell TCP/IP-forbindelse til en datamaskin ved å motta kringkastede MPEG-pakker og innkapsle pakkene for å frembringe en TCP/IP-datastrøm til datamaskinen. I dette tilfelle kan kommunikasjonen skje via en seriell eller parallell port, fortrinnsvis en forbedret (enhanced) eller toveis parallell port.
I et tredje aspekt fremskaffer oppfinnelsen en anordning beregnet på å arbeide under styring fra et brukerprogram for å behandle en mottatt digital datastrøm og frembringe en utgangsdatastrøm ut fra denne, idet anordningen omfatter: - utstyr for å motta en digital datastrøm som inneholder flere pakker med informasjon, - utstyr for fra et brukerprogram å motta informasjon om å sette opp en liste over angitte pakker som skal velges ut fra den mottatte digitale datastrøm, idet nevnte liste
inneholder pritoritetsinformasjon som angir en prioritet tilordnet hver pakke,
- utstyr for å trekke ut pakker angitt i nevnte liste fra den mottatte datastrøm, og
- behandlingsutstyr for å behandle de uttrukne pakker og.frembringe en utgangsdata-strøm, og for selektivt å redusere antallet uttrukne pakker i utgangsdatastrømmen ved å innlemme uttrukne pakker med høy prioritet i utgangsdatastrømmen fremfor uttrukne pakker med lav prioritet.
Anordningen arbeider fortrinnsvis i en av to modi, dvs. en tomgangsmodus hvor ingen utgangsstrøm frembringes og en driftsmodus hvor data passerer gjennom anordningen. Skjønt frembringelsen av utgangsdatastrømmen kan stanses ved ganske enkelt ikke angi noen pakker for innlemmelse, kan muligheten av en tomgangsmodus tillate en mer effektiv utnyttelse av systemressursene. Anordningen har fortrinnsvis også utstyr for å motta kommandoer fra et brukerprogram om å starte og stanse genereringen av utgangsstrømmen (for å veksle mellom modusene).
Fortrinnsvis er anordningen innrettet for i nevnte tomgangsmodus å motta informasjon om å sette sammen nevnte liste i form av en innledningsvis liste over identifikatorer for alle pakker som skal kopieres til utgangsstrømmmen. Dette gjør at den innledningsvise liste kan settes opp på en effektiv måte. Anordningen er da fortrinnsvis innrettet for i driftsmodus å motta en liste over pakkeidentifikatorer som skal legges til eller slettes fra den aktuelle liste. For å oppdatere listen er det på denne måte ikke nødvendig å håndtere økende lange lister og holde orden på alle tidligere pakkeidentifikatorer, hvilket er særlig fordelaktig ettersom behandlingen i driftsmodus kan være mer tidskritisk enn behandlingen i tomgangsmodus.
På lignende måte som den innledningsvise lagring av lister over pakkeidentifikatorer som skal kopieres i tomgangsmodus samt tillegget og slettingen av oppføringer i driftsmodus, er anordningen fortrinnsvis innrettet for å vedlikeholde en ytterligere liste over identifikatorer for pakker som skal gjenopprettes, fortrinnsvis ved hjelp av gjenoppretterutstyr i mottager/dekoderen som brukes for å gjenopprette programmer for fremvisning. I tillegg kan anordningen være innrettet for å motta informasjon fra et brukerprogram for bruk under gjenopprettingen, fortrinnsvis som en del av en prosedyre for å sette opp den innledningsvise liste over pakkeidentifikatorer som skal gjenopprettes.
Anordningen har fortrinnsvis også utstyr for å lagre en liste over MPEG-seksjoner som skal settes inn ved hjelp av et brukerprogram. Fortrinnsvis er anordningen innrettet for å motta parametre fra et brukerprogram for å styre repetisjoner av seksjoner i utgangs-strøm men og anordningen er innrettet for å gjenta en seksjon på grunnlag av parametre. Dette muliggjør frembringelse av kompliserte datastrømmer med forholdsvis få opplys-ninger fra et brukerprogram. For eksempel kan et brukerprogram sende en enkel kommando for å sette inn en seksjon som identifiserer programmer innlemmet i utgangs-strømmen og denne kan settes inn automatisk ved regelmessige mellomrom i utgangs-strømmen ved hjelp av anordningen.
Anordningen har fortrinnsvis utstyr for å sende tilbake til et brukerprogram informasjon som gjelder de for tiden utvalgte pakkeidentifikatorer som er innlemmet i utgangs-strøm men.
Anordningens funksjoner kan realiseres i maskinvare for eksempel i en dedikert, integrert krets, idet dette kan gi øket operasjonshastighet. Det foretrekkes imidlertid at i det minste noe av anordningsdriveren implementeres i programvare som fortrinnsvis utføres av det behandlingsutstyr som utfører brukerprogrammet, idet dette gir større fleksibilitet, fordrer færre komponenter og gjør det mulig for anordningsdriveren lettere å bli oppdatert.
I et fjerde aspekt frembringer oppfinnelsen et databehandlingssystem som omfatter:
- kjøretidsmotorutstyr for å utføre i det minste ett brukerprogram.
- utstyr for å motta en kringkastet digital datastrøm,
- en anordning, fortrinnsvis slik som den angitt ovenfor, for å behandle den mottatte digitale datastrøm under styring fra hvert brukerprogram, og
- utstyr for å tilføre datastrømmen avgitt av anordningen til et utgangsgrensesnitt.
Trekk fra det første og andre aspekt kan med fordel anvendes på det tredje og fjerde aspekt.
Databehandlingssystemet er fortrinnsvis innlemmet i en mottager/dekoder (f.eks. en apparattoppboks) som har utstyr for å motta den kringkastede digitale datastrøm fra en satellittmottager eller kabel, idet grensesnittet er innrettet for å forbindes med en digital videoopptager (idet dette uttrykk er ment å innbefatte enhver passende konfigurert, digital lagringsanordning som er istand til å lagre data for et fjernsynsprogram, uavhengig av det fysiske medium som dataene faktisk lagres på) eller digital fremviser-anordning, eventuelt datamaskin for fremvisning eller lagring av i det minste en del av de mottatte data. Anordningen er fortrinnsvis innrettet for å samvirke med en anordningsdriver for å avgi den utgående datastrøm til et digitalt grensesnitt for høy hastighet (100 kbit/sek eller mer, fortrinnsvis minst 1 Mbit/sek, dvs. 10 Mbit/sek eller raskere).
Grensesnittet er fortrinnsvis i samsvar med IEEE 1394-standarden eller en variant eller modifikasjon av denne.
Når systemet er innlemmet i en mottager/dekoder innrettet for forbindelse med en digital videoopptager, har mottager/dekoderen fortrinnsvis et brukerprogram'innrettet for å styre anordningen til å velge partier (pakker eller seksjoner) i den mottatte datastrøm som omfatter to eller flere fjernsynsprogrammer, for avgivelse til den digitale videoopptager og har fortrinnsvis utstyr for å legge til informasjon til den utgående datastrøm, som identifiserer programmene. På denne måte kan en bruker velge to eller flere programmer for opptak og fremvisning på et senere tidspunkt, hvilket konvensjonelt ville fordre to eller flere analoge videoopptagere og to eller flere mottager/dekodere. Brukerprogram met kan inneholde midler for å styre videoopptageren, f.eks. slik som beskrevet i norsk patentsøknad nr. 2000 0319, hvis beskrivelse tas med her som referanse.
Uavhengig av de andre, kan dette trekk fremskaffes i et femte aspekt hvor oppfinnelsen fremskaffer et brukerprogram for en mottager/dekoder som har utstyr for å motta en kringkastet digital datastrøm, et grensesnitt for forbindelse med et digitalt lagringsmedium og en anordning for å behandle den mottatte digitale datastrøm og frembringe en utgående datastrøm for tilførsel til det digitale lagringsmedium, idet brukéTprogrammet omfatter midler for å styre nevnte anordning til å velge deler av den mottatte digitale datastrøm tilsvarende to eller flere kringkastede programmer og for å avgi delene til det digitale lagringsmedium for lagring i en form som gjør det mulig for programmene å bli avspilt senere, idet brukerprogrammet er tilpasset for selektivt å redusere antallet deler i den utgående datastrøm ved å innlemme deler av den mottatte datastrøm med høy pritoritet i utgangsstrømmen til det digitale lagringsmedium fremfor deler med lav prioritet.
Brukerprogrammet utføres fortrinnsvis i et tolket språk og anordningsdriveren er fortrinnsvis kompilert.
Utførelsesformer som innbefatter foretrukne trekk ved foreliggende oppfinnelse vil nå bli beskrevet utelukkende som eksempel med henvisning til de vedføyde tegninger, på hvilke:
Fig. 1 skjematisk viser mottager/dekoderens grensesnitt,
fig. 2 er et blokkskjema over mottager/dekoderens funksjoner,
fig. 3 viser visse komponenter i den virtuelle maskin og kjøretidsmotoren mer detaljert, fig. 4 viser en skjematisk oversikt over funksjonene frembragt av en første anordning
for realisering av oppfinnelsen,
fig. 5 er et diagram som skjematisk tjener til å forklare innsetting av gjentatte seksjoner
i utgangsdatastrømmen,
fig. 6 er en skjematisk oversikt over funksjonene frembragt av en andre anordning for
realisering av oppfinnelsen,
fig. 7 er et diagram som skjematisk viser et datagram frembragt ved hjelp av
utførelsen vist i fig 6,
fig. 8 anskueliggjør en liste over PID'er for kopiering direkte fra en inngangsdatastrøm til utgangsdatastrømmen, og
fig. 9 anskueliggjør en liste over PID'er som skal gjenopprettes før de kopieres fra
inngangsdatastrømmen til utgangsdatastrømmen.
MOTTAGER/DEKODER-GRUNNLAGET
For å underbygge forståelsen av anordningen vil først den foretrukne plattform som anordningen arbeider på, dvs. en digital satellittmottager/dekoder, bli kort beskrevet.
Det henvises til fig. 1 som skjematisk viser en mottager/dekoder 2020 eller apparat-toppboks for bruk i et digitalt interaktivt fjernsynssystem, hvor driverenheten for denne utførelsesform er beregnet på å bli installert. Detaljer om et egnet digitalt interaktivt fjernsynssystem kan finnes i de tidligere norske patentsøknader nr. 1999 4529 - 4530, og nr. 1999 4532 - 4541, som det skal henvises til og hvis beskrivelser tas med her som referanse. For å lette referansen er sådanne deler som er beskrevet mer detaljert i de forannevnte beskrivelser, her generelt betegnet med de henvisnigstall som brukes i nevnte beskrivelser.
Som mer detaljert beskrevet i de forannevnte beskrivelser har, med henvisning til fig. 1, mottager/dekoderen 2020 flere grensesnitt, og nærmere bestemt en avstemmer 4028 for MPEG-signalflyten, et serielt grensesnitt 4030, et parallelt grensesnitt 4032 og to kort-lesere 4036, dvs. en for et smartkort som utgjør en del av systemet og en for bankkort (som brukes for å utføre betalinger, for hjemmebanktjenester, osv.) eller et annet smartkort. Mottager/dekoderen har også et grensesnitt 4034 til en modemtilkoblet bakoverkanal 4002 til fjernsynssignalprodusenten, slik at brukeren kan angi preferanser, osv. til bake til fjernsynssignal- eller programprodusenten. Mottageren omfatter også en kjøretidsmotor 4008, en anordningsforvalter 4068 og flere anordninger 4062 samt anordningsdrivere 4066 for å utføre et eller flere brukerprogrammer 4056.
For denne beskrivelses formål er et brukerprogram et stykke datamaskinkode for å styre høynivåfunksjoner, fortrinnsvis i mottager/dekoderen 2020. Når f.eks. sluttbrukeren plasserer fokus for en fjernstyring på en trykknappgjenstand som sees på fjernsyns-skjermen 2022 og trykker ned en valideringsnøkkel, utføres den sekvens som er knyttet til trykknappen.
Et interaktivt brukerprogram foreslår menyer og utfører kommandoer på anmodning fra sluttbrukeren og frembringer data for brukerprogrammets formål. Brukerprogrammene kan enten være residente brukerprogrammer, dvs. lagret i ROM-hukommelsen (eller FLASH-hukommelsen eller en annen ikke-flyktig hukommelse) i mottager/dekoderen 2020 eller bli kringkastet og nedlastet i RAM- eller FLASH-hukommelsen i mottager/- dekoderen 2020.
Noen eksempler på brukerprogrammer, som er mer detaljert beskrevet i de ovenfor nevnte beskrivelser, er: • Et initierende brukerprogram som er en tilpasningsbar samling av moduler som gjør det mulig for mottager/dekoderen 2020 umiddelbart å arbeide i MPEG-2-rri1ljøet. • Et oppstartsbrukerprogram som tillater et hvilket som helst brukerprogram, enten det er nedlastet eller resident, å bli utført av mottager/dekoderen 2020. • En programoversikt som er et interaktivt brukerprogram som gir full informasjon om programtilbudet. • Et brukerprogram for betaling pr. visning (Pay Per View) som er en interaktiv tjeneste som er tilgjengelig på hver PPV-kanal i den digitale fjernsynsbukett, som gjør det
mulig for sluttbrukeren å kjøpe den løpende hendelse eller utsendelse.
• Et brukerprogram for nedlasting til en personlig datamaskin (PC), som gjør det mulig for en sluttbruker å laste ned programvare for en datamaskin ved å benytte dette
brukerprogram.
• Et magasinleser-brukerprogram som omfatter en syklisk videoutsendelse av bilder med sluttbruker-navigering via trykknapper på skjermen. • Et "teleshopping"-brukerprogram som gjør det mulig å sende tilbud på varer for salg, til mottager/dekoderen 2020 for fremvisning på fjernsynsapparatet 2022 og som gjør det mulig for brukeren å velge innkjøp av en bestemt artikkel.
Brukerprogrammene blir lagret på hukommelsessteder i mottager/dekoderen 2020 og representerer ressursfiler. Ressursfilene omfatter enhetsfiler med grafiske gjenstands-beskrivelser, variabelblokk-enhetsfiler, instruksjonssekvensfiler, brukprogramfiler og datafiler, slik som mer detaljert beskrevet i de ovenfor nevnte beskrivelser.
I MPEG-datastrømmen består hver modul av en gruppe MPEG-tabeller. Hver MPEG-tabell kan være formatert som et antall seksjoner. I MPEG-datastrømmen har hver seksjon en "størrelse" på inntil 4 kbyte. For dataoverføring via f.eks. den serielle eller parallelle port blir moduler likeledes splittet opp i tabeller og seksjoner, idet en seksjons størrelse varierer med transportmediet.
Modulene transporteres i MPEG-datastrømmen i form av datapakker på typisk 188 byte innenfor vedkommende type datastrøm, slik som videodatastrømmer, audiodatastrøm-mer og tekst-TV-datastrømmer. Hver pakke innledes med en pakkeidentifikator (PID) på 13 biter, dvs. en PID for hver pakke som transporteres i MPEG-datastrømmen. En programmatrisetabell (PMT - Program Map Table) inneholder en liste over de forskjellige datastrømmer og definerer innholdet i hver datastrøm i samsvar med vedkommende PID. En PID kan varsle en innretning om nærværet av brukerprogrammer i data-strømmen, idet PID'en identifiseres ved å benytte PMT-tabellen. ~'
Dekoderen har en hukommelse som er inndelt i et RAM-volum, et FLASH-volum og et ROM-volum, men denne fysiske organisering er forskjellig fra den logiske organisering. Hukommelsen kan videre være inndelt i hukommelsesvolumer knyttet til forskjellige grensesnitt. Fra ett synspunkt kan hukommelsen betraktes som en del av maskinvaren, men fra et annet synspunkt kan hukommelsen betraktes å understøtte eller inneholde hele systemet når den sees adskilt fra maskinvaren.
Systemet kan betraktes som å være sentrert om en kjøretidsmotor 4008 som utgjør en del av den virtuelle maskin 4007. Denne er på den ene side koblet til brukerprogrammer (på "høynivå"-siden) og på den annen side ("lavnivå"-siden) til mottager/dekoderens maskinvare 4061 via forskjellige mellomliggende logiske enheter som drøftes nedenfor. Mottager/dekoderens maskinvare kan betraktes å innbefatte de ulike porter eller grensesnitt som er drøftet ovenfor (grensesnittet 2030 for et håndapparat 2026, MPEG-strøm-grensesnittet 4028, det serielle grensesnitt 4030, det parallelle grensesnitt 4032, grensesnittene for kortleserene 4036 og grensesnittet 4034 for den modemtilkoblede bakover-. kanal 4002).
Med henvisning til fig. 2 er forskjellige brukerprogrammer 4056 koblet til enheten 4007, idet noen av de oftere benyttede brukerprogrammer kan være mer eller mindre permanent residente i systemet, slik som angitt ved 4057, mens andre vil bli lastet ned inn i systemet, f.eks. fra MPEG-datastrømmen eller om nødvendig fra andre porter.
I tillegg til kjøretidsmotoren 4008 omfatter enheten 4007 noen residente biblioteksfunk-sjoner 4006 som innbefatter en verktøykasse 4058. Biblioteket inneholder tilleggsfunk-sjoner i språket C som brukes av motoren 4008. Disse innbefatter datamanipulering, slik som komprimering, ekspansjon eller sammenligning av datastrukturer, strektegninger, osv. Biblioteket 4006 inneholder også informasjon om fastvaren 4060 i mottager/- dekoderen 2020, slik som maskinvarens og programvarens versjonsnumre og tilgjengelig RAM-plass, og en funksjon som brukes når en ny anordning 4062 nedlastes. Funksjoner kan nedlastes i biblioteket og bli lagret i FLASH- eller RAM-hukommelse.
Kjøretidsmotoren 4008 er koblet til en anordningsforvalter 4068 som er koblet til et sett anordninger 4064 som er koblet til anordningsdriverenheter 4060 som i sin tur er koblet til grensesnittenes porter. Grovt sett kan en anordningsdriverenhet betraktes å definere et logisk grensesnitt, slik at to forskjellige anordningsdriverenheter kari væré^koblet til en felles fysisk port. En anordning vil normalt være koblet til mer enn en anordningsdriverenhet, og dersom en anordning er koblet til en eneste anordningsdriverenhet, vil anordningen normalt være konstruert for å inneholde den fulle funksjonalitet som fordres for kommunikasjon, slik at det ikke er behov for en separat anordningsdriverenhet. Visse anordninger kan kommunisere seg imellom.
Som det vil bli beskrevet nedenfor finnes det tre former for kommunikasjon mellom anordningene 4062 opp til kjøretidsmaskinen, dvs. ved hjelp av variabler, bufre og hendelser som sendes til et sett av hendelseskøer.
Hver funksjon i mottager/dekoderen 2020 er representert som en anordning 4062. Anordningene kan enten være lokale eller fjerne. De lokale anordninger 4064 innbefatter smartkort, SCART-signalkontakter, modemer, serielle og parallelle grensesnitt, en MPEG-video- og -audiospiller og en uttrekk-enhet for MPEG-seksjoner og -tabeller. De fjerne anordninger 4066 som utføres på et fjernt sted, skiller seg fra de lokale anordninger ved at en port og prosedyre må være definert av system myndig heten eller -konstruk-tøren, heller enn av en anordning og anordningsdriverenhet levert og konstruert av mottager/dekoder-produsenten.
Når en ny anordning 4062 skapes, kan den installeres i eksisterende mottager/dekodere 2020 ved å laste ned det relevante brukerprogram 4056 fra kringkastingssenteret. Denne nedlasting utføres i mottager/dekoderen 2020 ved hjelp av et brukerprogram 4056 som kontrollerer maskinvarens og programvarens versjoner, og dersom disse er riktige, laster programvaremodulen som representerer den nye anordning 4062 og ber en prosedyre i biblioteket 4006 om å installere den nye anordningskode i fastvaren (i FLASH-hukommelse). Dette kan gi en fleksibel og sikker installasjon av nye funksjoner i mottager/dekoderen 2020 uten å påvirke resten av programvaren. Anordningsforvalteren 4008 er et felles programvaregrensesnitt mellom brukerprogrammet 4056 og de spesifikke funksjoner i mottager/dekoderen 2020. Anordningsforvalteren 4068 styrer tilgangen til anordningene 4062, deklarerer mottagning av en uventet hendelse og administrerer delt hukommelse.
Kjøretidsmaskinen 4008 løper under styring fra mikroprosessoren og et felles bruker-programmeringsgrensesnitt. De er installert i hver mottager/dekoder 2020 slik at alle mottager/dekodere 2020 er identiske ut fra et brukerprogram-synspuhkt."
Motoren 4008 utfører brukerprogrammer 4056 i mottager/dekoderen 2020. Den utfører interaktive brukerprogrammer 4056 og mottar hendelser utenfor mottager/dekoderen 2020, viser frem grafikk og tekst, anroper anordninger for tjenester og utnytter funksjoner i biblioteket 4006 forbundet med motoren 4008 for spesifikke beregninger.
Kjøretidsmotoren 4008 er en utførbar kode installert i hver mottager/dekoder 2020 og inneholder en tolkeenhet for å tolke og utføre brukerprogrammer. Motoren 4008 kan tilpasses ethvert operativsystem, innbefattet et operativsystem for enkeltoppgaver (slik som MS-DOS). Motoren 4008 er basert på prosessekvensenheter (som får forskjellige hendelser, slik som en nedtrykket tast, for å utføre forskjellige aksjoner) og inneholder sin egen planlegger for å administrere hendelseskøer fra forskjellige maskinvaregrense-snitt. Den håndterer også fremvisningen av grafikk og tekst. En prosessekvensstyring (process sequencer) omfatter et sett aksjonsgrupper. Hver hendelse får prosessekvens-styringen til å forflytte seg fra den løpende aksjonsgruppe til en annen aksjonsgruppe avhengig av hendelsens art og utfører aksjonene i den nye aksjonsgruppe.
Motoren 4008 omfatter en kodelaster for å laste og laste ned brukerprogrammer 4056 i mottager/dekoderens hukommelse 2028. Bare den nødvendige kode lastes inn i RAM-eller FLASH-hukommelsen for å sikre optimal utnyttelse. De nedlastede data verifiseres av en autentiseringsmekanisme for å hindre en mulig modifikasjon i et brukerprogram 4056 eller utøvelse av et ikke-autorisert brukerprogram. Motoren 4008 omfatter også en dekomprimator. Siden brukerprogramkoden (som er en form for mellomliggende kode) komprimeres for å spare plass og oppnå rask nedlasting fra MPEG-2-transportstrømmen eller via en innebygget mottager/dekodermodus, må koden bli dekomprimert før den lastes inn i RAM'en. Motoren 4008 omfatter også en tolkeenhet for å tolke brukerprogramkoden, oppdatere forskjellige variabelverdier og bestemme statusendringer, samt en feilkontrollenhet.
Før tjenestene til noen anordning 4062 utnyttes, må et program (slik som et bruker-programs instruksjonssekvens) deklareres som en "klient", dvs. en logisk tilgangsvei til anordningen 4066 eller anordningsforvalteren 4068. Forvalteren gir klienten et klientnummer som det henvises til ved alle tilganger til anordningen. En anordning 4066 kan ha flere klienter, idet antallet klienter for hver anordning 4066 spesifiseres i avhengighet av anordningstype. En klient føres inn i anordningen 4066 ved hjelp av prosedyren "Device: Open Channel". Denne prosedyre tildeler et klientnummer til klienten. En klient kan tas ut av klientforvalterens klientliste ved hjelp av prosedyren "Device: Close Channel".
Tilgangen til anordningene 4062 som frembringes av anordningsforvalteren 4068 kan enten være synkron eller asynkron. For synkron tilgang benyttes prosedyren "Device: Cali". Dette er et middel for å få tilgang til data som er umiddelbart tilgjengelig eller en funksjonalitet som ikke innebærer at det må ventes på en ønsket respons. For asynkron tilgang benyttes prosedyren "Device: l/O". Dette er et middel for å få tilgang til data som innebærer at det må ventes på en respons, slik som ved avsøkning av avstemmer-frekvenser for å finne en multipleks eller få tilbake en tabell fra MPEG-strømmen. Når det anmodede resultat er tilgjengelig, legges en hendelse i motorens kø for å signallere dets ankomst. En ytterligere prosedyre "Device: Event" utgjør et middel for å administrere uventede hendelser.
Som bemerket ovenfor er kjøretidsmotorens hovedsløyfe koblet til en rekke prosess-. sekvensstyringer, og når hovedsløyfen støter på en passende hendelse overføres styringen midlertidig til en av prosessekvensstyringene.
Med henvisning til fig. 3 inneholder anordningsforvalteren en kø 100 hvor hendelser fra anordningene legges for midlertidig lagring. Ved passende intervaller sender den virtuelle maskin et signal til denne kø for å trekke ut den første enhet fra denne. Denne hendelsesenhet forflyttes til en køstruktur 101 i den virtuelle maskin. Avhengig av hendelsesenhetens prioritetsnivå legges den inn i den passende av de fem køer 0-4. Hendelsesenhetene trekkes ut fra køstrukturen 101 ved hjelp av en køvelgerenhet 102 under styring fra kjøretidsmotoren.
Når en hendelse velges fra køstrukturen 101 overføres den til en prosessekvensmotor 104 som består av en prosessekvensdriver 105 og et sett prosessekvensenheter 106. Hver prosessekvensenhet er et sett aksjonsgrupper som er forbundet med hverandre slik at hvert trinn fra en aksjonsgruppe til den neste aksjonsgruppe generelt er avhengig av den aktuelle aksjonsgruppe og arten av hendelsen. Forskjellige prosessekvensenheter kan ha ulik størrelse og kompleksitet, innbefattet en hvor den "neste" aksjonsgruppe, dvs. den aksjonsgruppe som systemet går videre til som reaksjon på en hendelse, bare er avhengig av hendelsens art og uavhengig av den aktuelle aksjonsgruppe. Slik det kan sees på høyre side av prosessekvensenhetsblokken kan det også foreligge diverse kopier av en prosessekvensenhet, dvs. flere identiske prosessekvensenheter, for f.eks. å håndtere flere adskilte datastrømmer som anvender identiske protokoller via*"en eneste port.
Når en hendelse er valgt, overføres den til den passende prosessekvensenhet. Denne velger det passende utløp fra den aktuelle aksjonsgruppe i prosessekvensenheten. Dette fører til at den riktige, neste aksjonsgruppe blir valgt og aksjonene i vedkommende aksjonsgruppe blir utført, hvilket f.eks. innebærer at en melding sendes til anordningsforvalteren eller en instruksjonssekvens utføres. Aksjonsgruppene i prosessekvensenheten kan også sende hendelsesmeldinger til andre prosessekvensenheter.
Dersom en instruksjonssekvens velges, blir instruksjonssekvensens identitet sendt til en instruksjonssekvensvelger 107. Denne oppnår den ønskede instruksjonssekvens fra en instruksjonsekvenshukommelse 108 og overfører den til en instruksjonssekvenstolker 109 som utfører instruksjonssekvensen.
Systemet har også et filter 110 som lastes med hendelsestype, f.eks. fra prosessekvens-enhetene 106. Når en hendelsesenhet er overført fra køen 100 i anordningsforvalteren til køstrukturen 101 i den virtuelle maskin, blir dens type og art sammenlignet med listen i filteret 110, og dersom den er av en type som ikke gjenkjennes, blir den avvist. For å sikre at dersom f.eks. anordningsmottageren eller tastaturet genererer hendelser av en type som den virtuelle maskin ikke kan håndtere, blir disse hendelser ikke sendt til køstrukturen 101. (Dersom hendelser av denne type ble sendt til køstrukturen 101, ville de enten "hope seg opp" i denne køstruktur eller de kunne forårsake funksjons-forstyrrelse i prosessekvensmotoren 104.)
Således kan det sees at det grunnleggende system utgjør en plattform som har betraktelig fleksibilitet med hensyn til å gjøre det mulig for et brukerprogram å kommunisere med mange slags anordninger.
SIGNALBEHANDLENDE ANORDNINGER
To signalbehandlende anordninger som gir oppfinnelsen konkret form, vil nå bli beskrevet, idet begge de to anordninger kan være anordnet samtidig i den samme mottager/dekoder og hver anordning kan være skreddersydd for å frembringe noe avvikende funksjoner.
En første signalbehandlende anordning som remultiplekser en demultiplekset, mottatt transportstrøm for å frembringe en utgående, partiell transportstrøm som typisk inneholder noe av, men ikke all informasjon i den opprinnelige transportstrøm og eventuelt tilleggsinformasjon, vil nå bli beskrevet med henvisning til fig. 4. For å lette referansen vil anordningen nedenfor bli omtalt som en TS REMUX-anordning (som er en forkortelse av transportstrøm-remultiplekser).
TS REMUX- ANORDNINGEN
TS REMUX-anordningen kan betraktes som å omfatte et antall funksjonsenheter, heretter betegnet kommandoer. I tillegg har anordningen, slik det vil forstås, en underliggende funksjonalitet for faktisk å realisere funksjonene utført av de forskjellige kommandoer. For eksempel kan den virkelige utvelgelse av pakker fra den mottatte datastrøm realiseres ved hjelp av dedikert maskinvare som filtrerer dataene for å trekke ut pakker som tilsvarer de definerte pakkeidentifikatorer, idet listen over pakkeidentifikatorer tilføres under styring fra programvare på grunnlag av informasjon tilført ved hjelp av et brukerprogram via en av kommandoene beskrevet nedenfor. Med hensyn til den etterfølgende drøftelse skal det bemerkes at et kommandonavn er ment å betegne den samme kommando, enten navnet er skrevet med store eller små bokstaver.
De nøyaktige detaljer ved realisering eller implementering av de forskjellige funksjoner samt fordelingen på maskinvare og programvare, er et spørsmål om valg for implementatoren og vil ikke bli beskrevet i detalj. Det skal imidlertid bemerkes at dedikerte, inte-grerte kretser som er istand til å utføre filtreringsoperasjoner på en MPEG-datastrøm er kommersielt tilgjengelig og disse kan brukes som grunnlag for en maskinvareakselerator eller enda bedre, modifiseres for å frembringe en dedikert maskinvareakselerator, for derved å realisere flere av de pakkevelgende operasjoner som fordres og således redusere den behandlingskraft som fordres for å utføre programvaren. De nødvendige operasjoner kan imidlertid implementeres i programvare dersom tilstrekkelig behandlingskraft er tilgjengelig.
Anordningen er innrettet for å arbeide i en av to modi, dvs. en tomgangsmodus hvor ingen utgangsstrøm frembringes og en arbeidsmodus hvor data formidles til utgangs-datastrømmen. Som det vil forstås fordres det flere systemressurser av anordningen i arbeidsmodus. Virkemåten av kommandoene beskrevet nedenfor kan være avhengig av arbeidsmodus, og særlig vil de fleste kommandoer bare virke i bare én modus og sende tilbake en feil dersom det gjøres tilgang til dem i den annen modus.
Hver kommando knyttes til et brukerprogram under styring fra anordningsforvalteren 4068 ved hjelp av en av de tre standardprosedyrer som er nevnt ovenfor og som er felles med andre anordninger. Informasjon kan utveksles mellom et brukerprogram og en anordning ved hjelp av parametertabeller. For å lette referansen er de tre grunnleggende prosedyrer kort oppsummert nedenfor: 1) "Device: Cali". Denne kommando kan brukes av et brukerprogram for å utføre synkrone kommmandoer eller dataoverføring. Utførelsen av brukerprogrammet avbrytes inntil styringen gis tilbake når anordningsdriverens operasjon er blitt fullført, og dette gjør det mulig på en pålitelig måte å styre operasjoner som må
utføres i en fast rekkefølge.
2) "Device: l/O". Denne kommando muliggjør asynkron drift. Det betyr at et brukerprogram kan sende en anmodning om dataoverføring eller en bestemt funksjon som skal utføres av anordningsdriveren mens utførelsen av brukerprogrammet kan fortsette samtidig som dataoverføringen eller funksjonen utføres av anordningsdriveren. 3) "Device: Event". Denne hendelsesfangende funksjon gjør det mulig for hendelser å bli signalert av anordningsdriveren til et brukerprogram, slik at brukerprogrammet kan foreta en bestemt aksjon som reaksjon på hendelsen uavhengig av den kode som brukerprogrammet utfører på det tidspunkt hendelsen signaleres, hvilket effektivt avbryter brukerprogrammet. Hendelsene kan tildeles prioritet. Hendelser kan brukes for å signalere hendelser som opptrer i grensesnittet, slik som en tilbakestilling av bussen, eller for å utføre overvåking av asynkrone kommandoer, f.eks. ved å signalere fullførelse av en dataoverføring det er anmodet om.
De kommandoer som frembringes i en anordningsdriver som realiserer oppfinnelsen vil nå bli beskrevet. Hver kommando kan det gjøres tilgang til fra et brukerprogram ved å sende en identifikator for kommandoen som en parameter via en av de tre standard-prosedyrene ovenfor. Ikke alle de nedenfor beskrevne kommandoer behøver å bli frembragt og kommandoenes funksjon kan endres. Skjønt kommandoene, slik det vil forstås, kan frembringes eller endres hver for seg, oppnås visse synergi-effekter ut fra den kombinerte funksjonalitet som frembringes av de beskrevne kommandoer.
Kommandoene vil bli beskrevet ut fra de kjennetegn og funksjoner som hver kommando frembringer, sammen med valgfrie og foretrukne kjennetegn. Med den informasjon som her gis og de spesifikasjoner som fremskaffes, bør den faktiske realisering av disse kjennetegn være uproblematisk for fagfolk på området og de nøyaktige detaljer overlates til implementatoren. Som et eksempel kan hver kommando realiseres i programvare fortrinnsvis skrevet i programmeringsspråket C og fortrinnsvis kompilert til å bli utført av den prosessor som brukes for å utføre brukerprogrammet, men anordningsdriveren kan også utføres av en egen prosessor og noen av eller alle kommandoene kan realiseres ved hjelp av dedikert maskinvare. Kommandoene "Cali" - eller "l/O" signalere informasjon eller sende parametre tilbake til et brukerprogram ved å innstille verdier i en parametertabell lagret i en hukommelse og hvis adresse sendes til anordningen.
Kommandoen: " TS REMUX SET PID"
Denne kommando virker bare i tomgangsmodus. Med henvisning til fig. 8 er denne kommando beregnet på å motta en innledningsvis liste over pakkeidentifikatorer (PID'er) 200. Listen 200 inneholder det antallet PID'er (NB PID) som skal kopieres fra inngangs-transportstrømmen, verdien for hver PID (PID) som skal kopieres fra inngangsdata-strømmen til utgangsdatastrømmen og prioritetsverdien (PRIORITET) tildelt hver PID. Prioritetsverdien er fortrinnsvis en eneste byte med en verdi i området fra 0 til 255, idet 0 angir det laveste prioritetsnivå og 255 angir det høyeste prioritetsnivå.
Det er mulig at utgangsdatastrømmens bithastighetskapasitet er mindre enn bithastig-heten for en datastrøm som inneholder alle de opplistede pakker som skal kopieres fra inngangsdatastrømmen. I såfall utelukkes de pakker som har PID'er med den laveste prioritetsverdi etter tur fra utgangsdatastrømmen inntil datastrømmens bithastighet er redusert til et nivå som er lik eller lavere enn utgangsdatastrømmens'kapasitet med hensyn til bithastighet.
Dersom pakker utelates fra utgangsdatastrømmen blir disse pakkers PID'er ikke slettet fra listen 200. Skulle utgangsdatastrømmens kapasitet med hensyn til bithastighet øke, slik at ytterligere pakker kan settes inn i utgangsdatastrømmen, blir de utelatte pakker som har den høyeste prioritet innlemmet etter tur i utgangsdatastrømmen, inntil utgangs-datastrømmens kapasitet med hensyn til bithastighet er nådd.
Det blir fortrinnsvis gjort synkron tilgang til kommandoen ved hjelp av prosedyren "Device: Cali".
Kommandoen: " TS REMUX SET SCR PID"
Med henvisning til fig. 9 virker denne kommando på samme måte som kommandoen "Set PID" beskrevet ovenfor og brukes for å angi en liste 300 over pakkeidentifikatorer for pakker som skal gjenopprettes før de innlemmes i utgangsdatastrømmen. I tillegg til en liste over pakkeidentifikatorer (PID) og prioriteter (PRIORITET), mottar kdrnmandoen den informasjon som er nødvendig for gjenoppretting av pakkene. Denne informasjon kan omfatte en modusindikator (MODE) som angir den type behandling som skal utføres på hver pakke, sesjonsnummeret (SESJONSNR.) og indeksnummeret (INDEKSNR.), en operatørreferanse (OPI), PID'en for den pakke som skal gjenopprettes (PID) og PID'en for den pakke som inneholder den ECM som skal brukes under gjenopprettingen (PID
ECM).
Kommandoen: " TS REMUX SET DATA PID"
Denne kommando virker på samme måte som kommandoen "Set PID" beskrevet ovenfor og brukes for å spesifisere pakkeidentifikatorer for MPEG-seksjoner fra brukerprogrammet, som skal innlemmes i utgangsdatastrømmen.
Kommandoen: " TS REMUX SET SECTION"
Denne kommando virker på samme måte som kommandoen "Set PID" beskrevet ovenfor og brukes for å angi pakkeidentifikatorer for MPEG-seksjoner som skal innlemmes i utgangsdatastrømmen. I tillegg kan brukerprogrammet angi et antall parametre, innbefattet en "OFFSET" som angir en forsinkelse fra starten av arbeidsmodusen, en "REPEAT"-parameter som angir det antall ganger en seksjon skal gjentas, en "DELAY" mellom pakker i seksjonen, en "CYCLE"-parameter som angir tiden fra starten av en seksjon til den neste gjentagelse av seksjonen og en "CYCLE 2"-parameter som angir tiden fra starten av en rekke gjentagelser til starten av den neste rekke av gjentagelser. Disse parametres virkning vil bli bedre forstått med henvisning til fig. 5.
Kommandoen: " TS REMUX ADD PID"
Som nevnt ovenfor virker kommandoen "Set PID" bare i tomgangsmodus. I arbeidsmodus gjør kommandoen "Add PID" det mulig for et brukerprogram å legge til PID'er i den aktuelle liste over PID'er angitt for kopiering til utgangsstrømmen. Anordningen har en komplementær kommando "Ts Remux Stop PID" som sletter PID'er fra den aktuelle liste. PID'ene blir fortrinnsvis angitt på samme måte som for kommandoen "Set PID", innbefattet en prioritet for hver kommando. Siden redigeringen av PID'er i en liste kan ta en viss tid for å få listen oppdatert når anordningen er i arbeidsmodus, gjøres det med fordel tilgang til disse kommandoer asynkront via prosedyren "Device: l/O".
I tillegg er det fremskaffet analoge prosedyrer for å sørge for dynamisk tilføyelse eller sletting fra listene over pakker som skal gjenopprettes, seksjoner som skal kopieres eller seksjoner som skal settes inn, ved hjelp av "Ts Remux {Add; Stop} (SCR PfD; Data PID; SectionJ-kommandoer.
For å veksle fra tomgangsmodus til arbeidsmodus finnes kommandoen "Ts Remux Start" og for å veksle fra arbeidsmodus tilbake til tomgangsmodus finnes kommandoen "Ts Remux Stop". Tilgang gjøres til begge disse kommandoer fortrinnsvis på asynkron måte via prosedyren "Device: l/O".
For å sende tilbake informasjon som gjelder PID'er, krypterte PID'er og seksjoner innlemmet i den aktuelle utgangsstrøm, finnes også kommandoene "Ts Remux PID Info", "Ts Remux ECM Info" og "Ts Remux Info Section". Disse sender tilbake en liste over aktuelle PID'er i et format tilsvarende det tilført av et brukerprogram ved bruk av de tilsvarende "Set"- eller "Add"-kommandoer.
I tillegg til de kommandoer som gjør det mulig for et brukerprogram å sende kommandoer til anordningen, er anordningen innrettet for å signalere visse hendelser til et brukerprogram via anordningsforvalterens hendelseshåndterende funksjoner. Anordningen realiserer de etterfølgende hendelser: Hendelsen: " EV TS REMUX ECM"
Denne hendelse brukes for å signalere en avvisning av en ECM av RSM'en. Anordningen overfører PID'en for en pakke hvor ECM'en ble funnet og adressen for en buffer som lagrer den avviste ECM, sammen med statusord.
Hendelsen: " EV TS REMUX GETALL"
Denne hendelse brukes for å signalere svaret fra RSM'en til et brukerprogram når en ECM sendes til RSM'en.
Hendelsen: " EV TS REMUX BAD NB"
Denne hendelse signalerer mottagelse av en ECM som har et uventet sesjons- eller indeksnummer, og ECM'en sendes ikke til RSM'en.
Hendelsen: " EV TS REMUX STREAM"
Denne hendelse brukes for å signalere en endring i strømmens sammensetning når den prioritet som er knyttet til en PID er blitt brukt for å hoppe over eller legge til PID'er i utgangsstrømmen.
En andre anordning som realiserer oppfinnelsen vil nå bli beskrevet med henvisning til fig. 6 og 7. Denne anordning vil bli betegnet som en "MCOM" (forkortelse av "MPEG Communications"), og er primært beregnet på å innkapsle mottatte MPEG-seksjoner for å frembringe en virtuell TCP/IP-datakilde ut fra en satellittforbindelse.
MCOM- ANORDNINGEN
Slik som TS REMUX-anordningen består denne anordning av et antall kommandoer. Mange av kommandoene utfører funksjoner som er analoge med TS REMUX-anordningens kommandoer, slik at dette ikke vil bli beskrevet i detalj. Slik som TS REMUX-anordningen arbeider MCOM-anordningen fortrinnsvis enten i arbeidsmodus eller tomgangsmodus, og har kommandoer for å veksle mellom modusene. Istedenfor kommandoer for å tilføye og slette pakker fra utgangsdatastrømmen har MCOM-anordningen kommandoer for å velge seksjoner som skal innlemmes, for å slette deler av seksjoner (eller, sagt på en annen måte, trekke ut deler av seksjoner som skal innlemmes) og for å endre parametre i innlederfeltet (om det finnes), avslutterfeltet (om det finnes) og datakontroll (om sådan finnes) som skal legges til de mottatte seksjoner (eller deler av disse som skal innlemmes i utgangsdatastrømmen). Anordningen gir fleksibilitet ved å tillate en hvilken som helst av et antall kommunikasjonsprotokoller å bli simulert mens det fordres et minimalt samvirke med et brukerprogram under utførelsen.
Anordningen kan være istand til å arbeide i en automatisk modus hvor seksjoner, etter definering av den filtrering som skal utføres på de mottatte data, automatisk stilles i kø for avgivelse, inntil alle forventede seksjoner er blitt mottatt. Alternativt kan anordningen arbeide i en "manuell modus" hvor hver seksjon overføres under styring fra brukerprogrammet.
Beskrivelsen av MCOM-anordningen vil konsentrere seg om kommandoer som er vesentlig forskjellig fra dem som er kjennetegnende for TS REMUX-anordningen.
Kommandoen: " MCOM INIT COMM"
Denne kommando brukes for å konfigurere kommunikasjonsporten og anropes (CALL) med en buffer som inneholder en porttypeidentifikator samt data som er spesifikke for vedkommende port. Denne kommando er nyttig fordi den tillater MCOM-anordningen å arbeide med mange slags kommunikasjonsporter (f.eks. serielle, parallelle, RBEE 1394) uten å fordre at portspesifikk informasjon brukes sammen med andre kommandoer i anordningen.
Kommandoen: " MCOM INIT FILTER"
Denne kommando anropes (CALL) for å definere et numerisk felt som er n biter langt og som starter m biter fra begynnelsen av en MPEG-seksjon, hvor en seksjonsidentifikator skal finnes.
Det definerte felt kan inneholde en numerisk verdi c på fra 0 til (2n - 1).
Etter denne kommando defineres en bitmatrise på 2n biter i hukommelsen, idet hver bit tilsvarer en seksjon for mottagning. Dersom for eksempel n = 8, defineres en bitmatrise på 256 biter (32 byte), for å tilkjennegi (flagge) mottagelse av 256 separate seksjoner. Under mottagelsen av seksjonene fra demultiplekseren trekkes den numeriske verdi c ut av dette felt og den (c - 1)'te bit i bitmatrisen utprøves, og dersom biten er innstilt, blir seksjonen avvist. Således kan det utføres en automatisk filtrering av seksjoner hvor en innstilt bit kan brukes til å bety at en seksjon allerede er blitt mottatt eller at ingen tilsvarende seksjon kan forventes. Biten kan selvsagt tilbakestilles og mottagelse av seksjoner kan også tilkjennegis (flagges) på en annen måte.
Kommandoen muliggjør definering av den innledningsvise bitmatrise, og alle biter kan innstilles eller tilbakestilles, eventuelt kan en spesifisert bitmatrise innstilles som den innledningsvise bitmatrise.
Det er fremskaffet tilsvarende kommandoer for å endre filteret dynamisk under for eksempel arbeidsmodus, eller for å spørre ut filterets aktuelle tilstand.
Bitmatrisen (eller annet flaggregister) kan brukes for å styre den automatiske kø-plassering av pakkene inntil alle forventede seksjoner er blitt mottatt.
Denne kommando er nyttig med hensyn til å tillate betraktelig fleksibilitet i forhold til formatet av MPEG-seksjoner som kan behandles ved hjelp av anordningen med automatisk filtrering.
Kommandoen: " MCOM PACKET DEL" -
Denne kommando anropes (CALL) for å definere de partier av en MPEG-seksjon som skal fjernes som del av innkapslingsprosessen. For eksempel kan det defineres en startforskyvning p og en endeforskyvning q, og MPEG-seksjonen kan bli "top and tailed" ved å fjerne p byte fra starten og q byte fra enden.
Denne kommando og dens tilknyttede funksjonalitet gjør det mulig for de viktige data å bli kommunisert, for å plasseres fritt i midten av en MPEG-seksjon.
Kommandoen: " MCOM PACKET HEADER"
Denne kommando gjør det mulig for et innlederfelt (HEADER) med et definert format å bli lagt til en mottatt seksjon, idet innlederfeltet kan inneholde informasjon i samsvar med en bestemt kommunikasjonsprotokoll, slik som TCP/IP. Denne kommando kan arbeide i en av to modi, dvs. "USE HEADER"-modus hvor bare det innledende felt blir tilføyd, og en "USE LG HEADER"-modus hvor kommandoen også tilføyer informasjon som gjelder lengden av den innkapslede pakke, f.eks. en definert additiv konstant, pluss lengden av seksjonen, slik som anskueliggjort i fig. 7.
På lignende måte har anordningen en kommando for å tilføye en rammekontrollsekvens, slik som en CRC (CYCLIC REDUNDANCY CHECK) på 16 eller 32 biter, eller en LRC på en definert seksjon i pakken, som f.eks. starter etter et antall startforskyvelsesbyte og fortsetter inntil et antall hendelsesforskyvelsesbyte fra slutten, idet den beregnede verdi settes inn umiddelbart etter den kontrollerte seksjon.
Anordningen kan også ha en kommando for å oversette tegn, f.eks. en liste over tegn som skal kodeveksles ("be escaped", dvs. bli erstattet med et par tegn som omfatter et definert ESC-tegn og en definert verdi).
Kommandoene og hendelsene ovenfor tjener bare som illustrasjon og oppfinnelsen kan realiseres på mange slags måter, og særlig kan enkelte kommandoer kombineres med andre som utfører beslektede funksjoner, eller noen kan utelates i forenklede utførelses-former. Realisering i maskinvare og programvare av hver av funksjonene kan blandes fritt, både med hensyn til flere kommandoer og med hensyn til en enkelt kommando.
Det vil lett forstås at de funksjoner som utføres av maskinvaren, datamaskinprogram-varen og lignende utføres på eller ved bruk av elektriske eller lignende signaler. Imple-menteringer i programvare kan lagres i ROM- eller FLASH-hukommelse, eller de kan settes inn i FLASH-hukommelse.
Det vil forstås at foreliggende oppfinnelse er blitt beskrevet utelukkende ved hjelp av eksempler, og modifikasjoner av detaljer kan gjøres uten å forlate oppfinnelsens omfang.
Hvert kjennetegn som er beskrevet i beskrivelsen og (når det er aktuelt) i kravene samt på tegningene kan frembringes hver for seg eller i en hvilken som helst passende kombinasjon.
Claims (10)
1. Apparat (2020) for behandling av en digital datastrøm,
karakterisert vedat den omfatter: - utstyr (4028) for å motta en digital datastrøm som inneholder flere pakker med informasjon, - utstyr (4056; 4062, 4064, 4066) for å lagre en liste (200) over angitte pakker som skal velges fra den mottatte digitale datastrøm, idet listen inneholder prioritetsinformasjon som angir en prioritet tildelt hver pakke, - utstyr (4056; 4062, 4064, 4066) for å trekke ut pakker angitt i nevnte liste (200) fra den mottatte datastrøm, og - behandlingsutstyr (4056; 4062, 4064, 4066) for å behandle de uttrukne pakker for å frembringe en utgangsdatastrøm og for selektivt å redusere antallet uttrukne pakker i utgangsdatastrømmen ved å innlemme uttrukne pakker med høy prioritet i utgangs-datastrømmen fremfor uttrukne pakker med lav prioritet.
2. Apparat som angitt i krav 1, og hvor behandlingsutstyret (4056; 4062, 4064, 4066) er tilpasset for selektivt å redusere antallet uttrukne pakker i utgangsdatastrømmen i det tilfelle antallet uttrukne pakker som skal innlemmes blir for stort for utgangsstrømmens datahåndterende kapasitet.
3. Apparat som angitt i krav 1 eller 2, og hvor behandlingsutstyret (4056; 4062, 4064, 4066) er tilpasset for selektivt å sette inn igjen utskilte, uttrukne pakker i utgangsdata-strømmen.
4. Apparat som angitt i et av de forutgående krav, og hvor pakkene har én blant mange prioritets verdier.
5. Apparat som angitt i et av de forutgående krav, og hvor pakkene har en prioritetsverdi i området fra 0 til 255.
6. Fremgangsmåte ved behandling av en digital datastrøm,
karakterisert vedat den omfatter at: - en datastrøm som omfatter flere pakker med informasjon mottas, - en liste (200) over angitte pakker som skal velges fra den mottatte digitale datastrøm lagres, idet nevnte liste inneholder prioritetsinformasjon som angir en prioritet tilordnet hver pakke, - pakker angitt i nevnte liste (200) trekkes ut fra den mottatte datastrøm, - de uttrukne pakker behandles for å frembringe en utgangsdatastrøm, og - antallet uttrukne pakker i utgangsdatastrømmen reduseres selektivt ved å innlemme uttrukne pakker med høy prioritet i utgangsdatastrømmen fremfor uttrukne pakker med lav prioritet.
7. Fremgangsmåte ifølge krav 6, og hvor antallet uttrukne pakker t utgangsdata-strømmen reduseres selektivt dersom antallet uttrukne pakker som skal innlemmes, blir for stort for utgangsstrømmens kapasitet med hensyn til datahåndtering.
8. Fremgangsmåte ifølge krav 6 eller 7, og som også omfatter et trinn hvor ekskluderte uttrukne datapakker selektivt settes inn på ny i utgangsdatastrømmen.
9. Fremgangsmåte ifølge et av kravene 6 - 8, og hvor pakkene har én blant flere prioritetsverdier.
10. Fremgangsmåte ifølge et av kravene 6 - 9, og hvor pakkene har en prioritetsverdi som ligger i området fra 0 til 255.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97401792A EP0893913A1 (en) | 1997-07-24 | 1997-07-24 | Digital transport stream processing |
PCT/IB1998/001173 WO1999005854A1 (en) | 1997-07-24 | 1998-07-23 | Digital transport stream processing |
Publications (3)
Publication Number | Publication Date |
---|---|
NO20000320D0 NO20000320D0 (no) | 2000-01-21 |
NO20000320L NO20000320L (no) | 2000-03-24 |
NO322938B1 true NO322938B1 (no) | 2006-12-18 |
Family
ID=8229822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20000320A NO322938B1 (no) | 1997-07-24 | 2000-01-21 | Behandling av digital transportstrom |
Country Status (21)
Country | Link |
---|---|
EP (2) | EP0893913A1 (no) |
JP (1) | JP4201975B2 (no) |
KR (1) | KR100553195B1 (no) |
CN (1) | CN1158856C (no) |
AT (1) | ATE244486T1 (no) |
AU (1) | AU749225B2 (no) |
BR (1) | BR9810774B1 (no) |
CA (1) | CA2297843A1 (no) |
DE (1) | DE69816087T2 (no) |
ES (1) | ES2201511T3 (no) |
HK (1) | HK1026552A1 (no) |
HR (1) | HRP20000040A2 (no) |
HU (1) | HUP0003527A3 (no) |
ID (1) | ID24158A (no) |
IL (1) | IL134146A0 (no) |
NO (1) | NO322938B1 (no) |
NZ (1) | NZ502918A (no) |
PL (1) | PL338244A1 (no) |
TR (1) | TR200000845T2 (no) |
WO (1) | WO1999005854A1 (no) |
ZA (1) | ZA986603B (no) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1067770B1 (en) * | 1999-07-08 | 2011-03-02 | Sony Deutschland GmbH | Method for recording transport streams of data |
US6925577B1 (en) | 1997-11-14 | 2005-08-02 | Sony International (Europe) Gmbh | Method for recording/storing multiple transport streams by dividing into series of packets |
US6954804B2 (en) * | 1998-03-26 | 2005-10-11 | Micro, Inc. | Controller for portable electronic devices |
EP0964572A1 (en) * | 1998-06-08 | 1999-12-15 | CANAL+ Société Anonyme | Decoder and security module for a digital transmission system |
US6671290B1 (en) | 1998-11-10 | 2003-12-30 | Sony Corporation | Receiving apparatus and recording/reproducing system for digital broadcasts |
FR2792154B1 (fr) * | 1999-04-07 | 2001-06-08 | Thomson Multimedia Sa | Procede de gestion de donnees de service et recepteur dans un systeme de television numerique |
EP1049336A3 (en) * | 1999-04-26 | 2001-03-07 | Sarnoff Corporation | Establishing a datapipe in a video stream |
EP1051028A1 (en) * | 1999-05-05 | 2000-11-08 | Sony International (Europe) GmbH | Control module of a tuner for a HAVI network |
GB9911989D0 (en) | 1999-05-25 | 1999-07-21 | Pace Micro Tech Plc | Data transport strems processing |
GB2350980B (en) | 1999-06-08 | 2003-08-27 | Sgs Thomson Microelectronics | Device and method for processing a stream of data |
GB2352595B (en) | 1999-07-27 | 2003-10-01 | Sgs Thomson Microelectronics | Data processing device |
EP1073263A1 (en) * | 1999-07-28 | 2001-01-31 | Sarnoff Corporation | Acquiring data from a bitstream |
JP2002094472A (ja) * | 2000-05-30 | 2002-03-29 | Matsushita Electric Ind Co Ltd | データ取得装置及びその方法 |
EP1175086A1 (en) * | 2000-07-21 | 2002-01-23 | Sony International (Europe) GmbH | Network storage device including a demultiplexer |
FR2812500A1 (fr) * | 2000-07-31 | 2002-02-01 | Koninkl Philips Electronics Nv | Traitement d'un ensemble de donnees |
GB0022951D0 (en) * | 2000-09-19 | 2000-11-01 | Sgs Thomson Microelectronics | Data injection |
GB0022949D0 (en) | 2000-09-19 | 2000-11-01 | Sgs Thomson Microelectronics | Processing instruction words |
CN101241738B (zh) * | 2001-01-16 | 2011-05-18 | 松下电器产业株式会社 | 信息记录装置和方法 |
CN100383889C (zh) * | 2001-01-16 | 2008-04-23 | 松下电器产业株式会社 | 信息记录装置和方法 |
EP1304871A3 (en) | 2001-08-21 | 2003-06-18 | Canal+ Technologies Société Anonyme | Method and apparatus for a receiver/decoder |
WO2003032504A2 (en) | 2001-10-12 | 2003-04-17 | Bellsouth Intellectual Property Corporation | Methods and systems of wireless communication between a remote data network and a set-top box |
EP1311115A1 (en) * | 2001-11-08 | 2003-05-14 | Deutsche Thomson-Brandt Gmbh | Method for recording digital video broadcast data, and digital video recorder |
EP1311116A3 (en) * | 2001-11-08 | 2004-12-15 | Thomson Licensing S.A. | Method for recording digital video broadcast data, and digital video recorder |
KR100439339B1 (ko) * | 2002-01-15 | 2004-07-07 | 한국전자통신연구원 | 데이터 방송 서버 제어 장치 및 그 방법 |
KR100439338B1 (ko) * | 2002-01-16 | 2004-07-07 | 한국전자통신연구원 | 디지털 지상파 데이터 방송을 위한 데이터 부호화 장치 및그 방법 |
US20030134651A1 (en) * | 2002-01-16 | 2003-07-17 | Hsu Raymond T. | Method and apparatus for flow treatment and mapping on multicast/broadcast services |
KR100483451B1 (ko) * | 2002-05-27 | 2005-04-15 | 주식회사 아이큐브 | 컨텐츠 파일과 네비게이션 정보의 편집처리방법 및 그 방법에 의하여 정보가 기록된 기록매체 |
KR100468163B1 (ko) * | 2002-06-22 | 2005-01-26 | 삼성전자주식회사 | 디지털 비디오 수신기 및 그 스트림 생성방법 |
US8000647B2 (en) | 2002-10-11 | 2011-08-16 | At&T Intellectual Property I, L.P. | Method using a set-top box and communicating between a remote data network and a wireless communication network |
ATE336861T1 (de) * | 2002-12-04 | 2006-09-15 | Irdeto Access Bv | Gerät, datenverteilungssystem mit einem solchen geräten, verfahren zur übertragung von daten |
KR100717176B1 (ko) * | 2005-08-23 | 2007-05-10 | 한국방송공사 | 멀티 애플리케이션 제공 방법 및 멀티 애플리케이션 제공시스템 |
EP1768285A1 (en) * | 2005-09-23 | 2007-03-28 | Udcast | Method and device for processing a DVB-H (Digital Video Broadcasting - Handheld) compliant transport stream |
KR100740202B1 (ko) * | 2005-10-21 | 2007-07-18 | 삼성전자주식회사 | 듀얼 전송 스트림 생성 장치 및 그 방법 |
KR100740201B1 (ko) * | 2005-10-21 | 2007-07-18 | 삼성전자주식회사 | 듀얼 전송 스트림 생성 장치 및 그 방법 |
JP4123283B2 (ja) * | 2006-04-03 | 2008-07-23 | 株式会社日立製作所 | 記録媒体記録装置 |
US8358687B2 (en) * | 2007-09-07 | 2013-01-22 | Qualcomm Incorporated | Method and apparatus for receiving multiple simultaneous stream bursts with limited DVB receiver memory |
CN101568027B (zh) * | 2009-05-22 | 2012-09-05 | 华为技术有限公司 | 转发视频数据的方法、装置和系统 |
WO2012141758A1 (en) * | 2011-04-15 | 2012-10-18 | Intel Corporation | Methods and arrangements for channel access in wireless networks |
FR3002718A1 (fr) * | 2013-02-25 | 2014-08-29 | France Telecom | Traitement d'un multiplex video |
CN106034259A (zh) * | 2015-03-13 | 2016-10-19 | 杭州云链网络技术有限公司 | 一种多路广播数字电视信号的路由器及其广播方法 |
CN111343494B (zh) * | 2018-12-19 | 2023-08-15 | 深圳市茁壮网络股份有限公司 | 数据过滤方法、解复用器及数字信号的处理设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2146472C (en) * | 1994-04-22 | 2007-10-09 | Kevin Elliott Bridgewater | Packet video signal inverse transport processor with memory address circuitry |
KR0166935B1 (ko) * | 1994-11-23 | 1999-03-20 | 구자홍 | 엠펙2 트랜스포트 디코더 장치 |
US5533021A (en) * | 1995-02-03 | 1996-07-02 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of multimedia data |
EP0735776B1 (en) * | 1995-03-29 | 2004-01-28 | Hitachi, Ltd. | Decoder for compressed and multiplexed video and audio data |
US5621463A (en) * | 1995-05-16 | 1997-04-15 | Thomson Multimedia S.A. | Easily expandable transport stream encoder |
US5574505A (en) * | 1995-05-16 | 1996-11-12 | Thomson Multimedia S.A. | Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals |
US6069902A (en) * | 1995-06-14 | 2000-05-30 | Matsushita Electric Industrial Co., Ltd. | Broadcast receiver, transmission control unit and recording/reproducing apparatus |
US5729292A (en) * | 1995-12-21 | 1998-03-17 | Thomson Multimedia, S.A. | Optimizing performance in a packet slot priority packet transport system |
US5899578A (en) * | 1995-12-25 | 1999-05-04 | Sony Corporation | Digital signal processor, processing method, digital signal recording/playback device and digital signal playback method |
JP3305183B2 (ja) * | 1996-01-12 | 2002-07-22 | 株式会社東芝 | ディジタル放送受信端末装置 |
FR2752350B1 (fr) * | 1996-08-09 | 2001-06-08 | Thomson Multimedia Sa | Procede d'extraction de donnees dans un systeme de transmission cyclique et dispositif de mise en oeuvre |
-
1997
- 1997-07-24 EP EP97401792A patent/EP0893913A1/en not_active Withdrawn
-
1998
- 1998-07-23 CA CA002297843A patent/CA2297843A1/en not_active Abandoned
- 1998-07-23 NZ NZ502918A patent/NZ502918A/xx unknown
- 1998-07-23 ID IDW20000326A patent/ID24158A/id unknown
- 1998-07-23 CN CNB988094312A patent/CN1158856C/zh not_active Expired - Lifetime
- 1998-07-23 AT AT98933846T patent/ATE244486T1/de not_active IP Right Cessation
- 1998-07-23 PL PL98338244A patent/PL338244A1/xx unknown
- 1998-07-23 HU HU0003527A patent/HUP0003527A3/hu unknown
- 1998-07-23 BR BRPI9810774-7A patent/BR9810774B1/pt not_active IP Right Cessation
- 1998-07-23 TR TR2000/00845T patent/TR200000845T2/xx unknown
- 1998-07-23 KR KR1020007000772A patent/KR100553195B1/ko not_active IP Right Cessation
- 1998-07-23 EP EP98933846A patent/EP0998813B1/en not_active Expired - Lifetime
- 1998-07-23 DE DE69816087T patent/DE69816087T2/de not_active Expired - Lifetime
- 1998-07-23 WO PCT/IB1998/001173 patent/WO1999005854A1/en active IP Right Grant
- 1998-07-23 AU AU83534/98A patent/AU749225B2/en not_active Ceased
- 1998-07-23 ES ES98933846T patent/ES2201511T3/es not_active Expired - Lifetime
- 1998-07-23 JP JP2000504705A patent/JP4201975B2/ja not_active Expired - Lifetime
- 1998-07-23 IL IL13414698A patent/IL134146A0/xx unknown
- 1998-07-24 ZA ZA986603A patent/ZA986603B/xx unknown
-
2000
- 2000-01-21 NO NO20000320A patent/NO322938B1/no not_active IP Right Cessation
- 2000-01-25 HR HR20000040A patent/HRP20000040A2/hr not_active Application Discontinuation
- 2000-09-11 HK HK00105720A patent/HK1026552A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ES2201511T3 (es) | 2004-03-16 |
DE69816087T2 (de) | 2004-05-13 |
HK1026552A1 (en) | 2000-12-15 |
JP4201975B2 (ja) | 2008-12-24 |
CN1158856C (zh) | 2004-07-21 |
EP0893913A1 (en) | 1999-01-27 |
TR200000845T2 (tr) | 2000-07-21 |
KR100553195B1 (ko) | 2006-02-22 |
IL134146A0 (en) | 2001-04-30 |
HUP0003527A2 (hu) | 2001-02-28 |
AU749225B2 (en) | 2002-06-20 |
EP0998813A1 (en) | 2000-05-10 |
ATE244486T1 (de) | 2003-07-15 |
CA2297843A1 (en) | 1999-02-04 |
NO20000320D0 (no) | 2000-01-21 |
CN1271492A (zh) | 2000-10-25 |
HUP0003527A3 (en) | 2003-01-28 |
ID24158A (id) | 2000-07-13 |
AU8353498A (en) | 1999-02-16 |
PL338244A1 (en) | 2000-10-09 |
ZA986603B (en) | 1999-03-16 |
BR9810774A (pt) | 2000-09-19 |
BR9810774B1 (pt) | 2014-07-15 |
JP2001511629A (ja) | 2001-08-14 |
WO1999005854A1 (en) | 1999-02-04 |
HRP20000040A2 (en) | 2000-10-31 |
NO20000320L (no) | 2000-03-24 |
EP0998813B1 (en) | 2003-07-02 |
NZ502918A (en) | 2002-09-27 |
DE69816087D1 (de) | 2003-08-07 |
KR20010022200A (ko) | 2001-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO322938B1 (no) | Behandling av digital transportstrom | |
EP1067458A1 (en) | Running and testing applications | |
KR100566419B1 (ko) | 디지털 시청각 전송 시스템용 디코더 | |
AU741471B2 (en) | IEEE set top box device driver | |
US6609144B1 (en) | Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution | |
EP1672934A2 (en) | Apparatus and method for testing applications | |
EP1019836B1 (en) | Modem control | |
KR20020035561A (ko) | 애플리케이션을 테스트하는 장치 및 방법 | |
MXPA00000833A (en) | Digital transport stream processing | |
WO1998043172A2 (en) | Access control system | |
CZ2000266A3 (cs) | Zpracování digitálního přenosového toku dat | |
EP1067455A1 (en) | Running and testing applications | |
KR20000076405A (ko) | 엑세스 제어 시스템 | |
MXPA00000776A (en) | Ieee set top box device driver | |
MXPA00007900A (en) | Processing of digital picture data in a decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Lapsed by not paying the annual fees |