NO343205B1 - System og fremgangsmåte for å skjule videofeil - Google Patents
System og fremgangsmåte for å skjule videofeil Download PDFInfo
- Publication number
- NO343205B1 NO343205B1 NO20161599A NO20161599A NO343205B1 NO 343205 B1 NO343205 B1 NO 343205B1 NO 20161599 A NO20161599 A NO 20161599A NO 20161599 A NO20161599 A NO 20161599A NO 343205 B1 NO343205 B1 NO 343205B1
- Authority
- NO
- Norway
- Prior art keywords
- macroblock
- macroblocks
- data
- engine
- video
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000013598 vector Substances 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 19
- 238000006073 displacement reaction Methods 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 21
- 238000004891 communication Methods 0.000 abstract description 18
- 230000007246 mechanism Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- OROGSEYTTFOCAN-DNJOTXNNSA-N codeine Chemical compound C([C@H]1[C@H](N(CC[C@@]112)C)C3)=C[C@H](O)[C@@H]1OC1=C2C3=CC=C1OC OROGSEYTTFOCAN-DNJOTXNNSA-N 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 229960004126 codeine Drugs 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- OROGSEYTTFOCAN-UHFFFAOYSA-N hydrocodone Natural products C1C(N(CCC234)C)C2C=CC(O)C3OC2=C4C1=CC=C2OC OROGSEYTTFOCAN-UHFFFAOYSA-N 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
- H04N19/166—Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/66—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Radio Transmission System (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Foreliggende oppfinnelse tilveiebringer i henhold til en utførelsesform, et system og en fremgangsmåte for å skjule videofeil. Systemet koder, omordner og pakker videoinformasjon i videodatapakker for overføring over et kommunikasjonsnett slik at systemet skjuler feil forårsaket av tapte videodatapakker når systemet mottar, pakker opp, ordner (915) og dekoder datapakkene. I henhold til en utførelsesform koder og pakker systemet og fremgangmåten videoinformasjon, slik at tilstøtende makroblokker ikke blir plassert i samme videodatapakke (925). I tillegg kan systemet og fremgangsmåten tilveiebringe informasjon som følger med video- datapakkene for å lette dekodingsprosessen. En fordel ved en slik metode er at feil som skyldes videodatapakke-tap blir rommessig fordelt over et videobilde. Hvis dataområder som omgir en tapt makroblokk blir dekodet på en vellykket måte, kan dekoderen således forutsi bevegelsesvektorer og romlig innhold med en høyere grad av nøyaktighet, som fører til høyere videokvalitet.
Description
BAKGRUNN FOR OPPFINNELSEN
1. Teknisk område
Foreliggende oppfinnelse angår generelt videokommunikasjon, og mer spesielt skjuling av videofeil.
2. Beskrivelse av beslektet teknikk
Videobilder er i økende gradblitt en viktig del av den globale kommunikasjon. Videokonferanserogvideotelefoniharspesieltetbredtanvendelsesområde slik som skrivebords- og rom-baserte konferanser, video over internett og over telefonlinjer, inspeksjon og overvåkning, telemedisin og databasert trening og utdannelse. I hver av disse anvendelsene blir video- og tilhørende audio-informasjon overført over telekommunikasjonsforbindelser, innbefattende telefonlinjer, ISDN, DSL og radiofrekvenser.
Et standard videoformat som brukes ved videokonferanser, er felles mellomformat (CIF,Common Intermediate Format) someren delavden internasjonale telekommunikasjonsunionens (ITU) H 261-videokonferansestandard. Det primæreCIF-format er også kjentsomfullstendig CIFeller FCIF. Ytterligere formater med oppløsninger som er høyere og lavere enn FCIF er også blittopprettet. Fig.1 erentabell overoppløsnings- og bithastighets-kravenefor forskjellige videoformater under den antagelse at 12 biter er nødvendig for å representere en' piksel (bil-deelement) i henhold til teknikkens stand. Bithastighetene (i megabiter pr. sekund, Mbps) som er vist, er for ukomprimerte fargedelbilder.
For tiden kan effektiv overføring og mottakelse av videosignaler kreve koding og kompresjon av video og medfølgende audio-data. Videokompresjonskoding er en fremgangsmåte for koding av digitale videodata slik at det kreves mindre minne til å lagre videodataene, og det reduserer den nødvendige overføringsbånd-bredde. Visse kompresjons/dekompresjons-metoder (CODEC-metoder) blir hyppig brukt til å komprimere videobilder for å redusere nødvendige bitoverføringshastigheter. CODEC-maskinvare og programvare gjør det derfor mulig å komprimere digitale videodata til et mindre binært format _enn hva som er nødvendig for det opprinnelige (dvs. det ukomprimerte) digitale videoformat.
Flere konvensjonelle løsninger og standarder for koding og komprimering av kildevideosignaler finnes. Noen standarder er utformet for en spesiell anvendelse slik som JPEG (Joint Photographic Experts Group) for stillbilder, og H.261, H.263, MPEG (Moving Pictures Experts Group), MPEG-2 og MPEG-4 for levende bilder. Disse kodingsstandardene benytter typisk blokkbasert, bevegelseskompensert prediksjon på 16x16 piksler, vanligvis kalt makroblokker. En makroblokk er en informasjonsenhet som inneholder fire 8x8 blokker med luminansdata og to tilsvarende 8x8 blokker med krominansdata i samsvar med en 4:2:0 samplingsstruktur, hvor krominansdataene undersamples 2:1 i både vertikal og horisontal retning.
EP 0669 765 A2 vedrører én eller flere videooverføringsnoder som sørger for makroblokker av videodata tilgjengelig i flere oppløsningsnivåer. Overføringsnoden koder for makroblokkene og tildeler makroblokkidentifikatorer til hver makroblokk. En mottaksnode mottar flere videosekvenser fra flere overføringsnoder gjennom et kommunikasjonsnett. Mottaksnoden eliminerer deretter makroblokker av videodata som ikke vil bli fremvist, slik som enhver del av video som er skjult eller overlappende. En makroblokk-oversetter forvandler også makroblokk-ID til en ny makroblokk-ID som reflekterer makroblokkens posisjon på skjermen som diktert av brukerens vinduskonfigurasjon. En dekoder dekomprimerer deretter videodataene, en makroblokk om gangen, og gir den dekomprimerte makroblokken til et rammebuffer. Rammebufferet tilveiebringer de vindukonfigurerte videodataene til en skjerm.
Som en praktisk sak må også audiodata komprimeres, overføres og synkroniseres sammen med videodataene. Synkronisering, multipleksing og protokolloppgaver blir dekket av standarder slik som H.320 (ISDN-basert videokonferanse), H.324 (POTS-basert videotelefoni), og H.323 (LAN- eller IP-basert videokonferanse). H.263 (eller dens forgjenger, H.261) tilveiebringer videokodingsdelen til disse standardgruppene.
En bevegelsesestimerings- og kompenserings-måte er en konvensjonell fremgangsmåte som typisk brukes til å redusere overføringsbåndbredde-kravene for et videosignal. Fordi makroblokken er den grunnleggende dataenhet, kan bevegelsesestimerings- og kompenserings-måten sammenligne en gitt makroblokk i et aktuelt videobilde med den gitte makroblokkens omgivende område i et tidligere overført videobilde, og forsøke å finne en nær datatilpasning. En nært tilpasset makroblokk i det foregående overførte videobilde blir typisk forskjøvet rommessig fra den gitte makroblokk med mindre enn en bredde for den gitte makroblokk. Hvis en nær dataoverensstemmelse blir funnet, subtraherer metoden den gitte makroblokk i det aktuelle videobilde fra den nært overensstemmende, forskjøvne makroblokk i det tidligere utsendte videobilde slik at bare en differanse (dvs. resten) og den rommessige forskyvning må kodes og overføres. Den rommessige forskyvning blir vanligvis referert til som en bevegelsesvektor. Hvis bevegelsesestimerings- og kompenseringsprosessen er effektiv, bør den gjenværende restmakroblokk inneholde bare en informasjonsmengde som er nødvendig for å beskrive data tilknyttet piksler som er endret fra det foregående videobilde til det aktuelle videobilde, samt en bevegelsesvektor. Områder i et videobilde som ikke endres (f.eks. bakgrunnen) blir således ikke kodet ogoverført.
H.263-standarden spesifiserer konvensjonelt at de bevegelsesspektorer som benyttes til bevegelsesestimering og bevegelseskompensering skal kodes forskjellig. Selv om differensialkoding reduserer de datamengder som er nødvendige for overføring, påvirker enhver feil hvor bevegelsesvektordataene går tapt eller ødelegges forenmakroblokk, de tilstøtende makroblokker i negativ retning.
Resultatet blir enfeilforplantningsomskyldes de ødelagte data somfører til lavere videokvalitet. EP 0711 084 A2 omhandler videomottakere som er i stand til å motta kommandoer og gjennomføre feilskjuling som respons på de mottatte kommandoer.
Ved tilrettelegging av videobildeinformasjon for overføring over et pakkesvitsjet kommunikasjonsnett, transformerer kodingsmåtene videobildeinformasjonen, komprimert ved hjelp av bevegelsesestimering og kompenseringsteknikker, til datapakker for overføring over et kommunikasjonsnett. Selv om datapakker muliggjør større overføringseffektivitet, kan tapte, ødelagte eller forsinkede datapakker også innføre feil som resulterer i forringelse av videokvaliteten. Alternativt kan videodata overføres på heterogene kommunikasjonsnett hvor det benyttes en port eller en annen pakkesvitsjet/linjesvitsjet-nettbroanordning.
Nå forårsaker tapteellerødelagtedatapakkerofteredusertvideokvalitet. Derfor er det et behov foret system og en fremgangsmåte somorganiserer og overfører datapakker for å skjule feil forårsaket av datapakke-tap.
OPPSUMMERING AV OPPFINNELSEN
Hovedtrekkene ved den foreliggende oppfinnelse fremgår av de selvstendige patentkrav. Ytterligere trekk ved oppfinnelsen er angitt i de uselvstendige krav.
Foreliggende system og fremgangsmåte overvinner eller letter i betydelig grad problemer i forbindelse med pakketap i videodata. Generelt tilveiebringer foreliggende oppfinnelse et system og en fremgangsmåte som koder, omordner og pakker videoinformasjon for overføring over et pakkesvitsjet nett med mulighet til å skjule videofeil forårsaket av tap av videodatapakker.
I et utførelseseksempel blir videosignaler kodet til sett med makroblokker. En motor for omordning av makroblokker tilordner så heltallige merker kalt makroblokkgruppeidentifikatorer (MBGID'er, Macroblock Group ldentifiers) til hver makroblokk. Tilstøtende makroblokker blir fortrinnsvis ikke tildelt identiske MBGID'er i et utførelseseksempel. En makroblokk-pakkemotor som muliggjør pakking av makroblokkene slik at makroblokker tildelt identiske MBGID'er blir pakket sammen.For utførelsesformeravoppfinnelsen hvor tilstøtende makroblokker ikketildeles identiske MBGID'er, følger det at rommessig tilstøtende makroblokker ikke blir pakket sammen. I tillegg kan tilsvarende data, slik som en intra-makroblokk-tilordning, være innbefattet i et bildehode eller kan transporteres ved hjelp av en annen mekanisme for å lette en tilsvarende dekodingsprosess.
I henhold til nok en annen utførelsesform av oppfinnelsen, når en bildebehandlingsmotor mottar datapakker som inneholder kodede makroblokker, blir datapakkene utpakket, og de kodede makroblokkene blir ordnet og dekodet. I en alternativ utførelsesform pakker bildebehandlingsmotoren ut de mottatte datapakker, dekoder så makroblokkene i en rekkefølge hvor de ble mottatt, for å redusere behandlingsforsinkelse. Hvis en eller flere datapakker er tapt, blir medfølgende makroblokker for vellykket overførte datapakker brukt til å dempe virkningene av de tapte datapakker. Forskjellige fremgangsmåter basert på om de tapte makroblokker var intrakodet- eller interkodet-kompensert for de manglende makroblokker. Ved kompenseringen kan videosignalet så fremvises. Følgelig er det foreliggende system og den foreliggende fremgangsmåte i stand til å skjule videofeil som er et resultat av manglende datapakker.
KORT BESKRIVELSE AV TEGNINGENE
Fig.1 er entabell over oppløsnings- og bithastighets-kravfor forskjellige videoformater i henhold til teknikkens stand;
Fig.2eretblokkskjema overenutførelsesformav et videokonferansesystem i henhold til foreliggendeoppfinnelse;
Fig. 3 er et blokkskjema over et eksempel på en videokonferansestasjon i videokonferansesystemet på fig.2;
Fig.4 eretblokkskjema overetutførelseseksempelavbildebehandlingsmotoren på fig.3;
Fig.5 eret eksempel på et diagram for etmakroblokk-omordningsmønster for et QCIF-formatert videobilde, hvor hvert tall er en MBGID tilordnet en makroblokk i en tilsvarenderomposisjon;
Fig.6 er et diagram over et eksempel på omordningsmønsteretfor QCIF-bildemakroblokkenpå fig.5,hvorendatapakke inneholder kodedemakroblokkdata for makroblokker med MBGID = 5 er tapt;
Fig.7 er et blokkskjema over en todimensjonal interpoleringsmetode som benytter data tilknyttet piksler lokalisert i tilstøtende makroblokker, i henhold til en utførelsesform av foreliggende oppfinnelse;
Fig. 8 er et eksempel på et blokkskjema over tilstøtende makroblokker som brukes til å estimere bevegelsesvektoren til den tapte makroblokk m, i henhold til foreliggende oppfinnelse;
Fig.9 er et eksempel på et flytskjema over fremgangsmåtetrinn for behandling av videodata i henhold til en utførelsesform av foreliggende oppfinnelse; og
Fig.10er et eksempel på et flytskjema over fremgangsmåtetrinn for å skjule videofeil ved mottakelse av videodata, i henhold til foreliggende oppfinnelse.
DETALJERT BESKRIVELSE AV TEGNINGENE
Foreliggende oppfinnelse skjuler feil i videosignaler forårsaket av tapte datapakker. Det foreliggende system og den foreliggende fremgangsmåte avviker fra eksisterende teknologier ved å pakke makroblokker i en fleksibel (f.eks. ikke-rasterskanning) rekkefølge i et videobilde. I motsetning til eksisterende videokodingsstandarder, blir makroblokker pakket i en rekkefølge spesifisert av et makroblokkregistreringsmønster. I tillegg kan bevegelsesvektorer for hver makroblokk registreres ikke-differensielt. Disse forbedringene søker å dempe de forstyrrelser som forårsakes av datapakketap over en kommunikasjonsforbindelse. Omfanget avforeliggende oppfinnelsedekkeren rekkevideostandarder,innbefattende,men ikke begrenset til, H.261, H.263, H.264, MPEG, MPEG-2 og MPEG-4.
Fig.2 illustrerer et eksempel på et videokonferansesystem200.Videokonferansesystemet200 innbefatteren lokalvideokonferansestasjon202og enfjerntliggende videokonferansestasjon204 tilkoplet gjennomet nett206. Selvom fig.2 bare viser to videokonferansestasjoner202 og204,vil fagkyndige på området forstå at flere videokonferansestasjoner kan være koplet til videokonferansesystemet 200. Det skal bemerkes at systemet og fremgangsmåten i henhold til oppfinnelsen kanbenyttes i et hvilket somhelstkommunikasjonssystemhvorvideodata blir overført over et nett.
Nettet kan være av en hvilken som helst type elektronisk overføringsmedium,slik som, men ikkebegrenset til,POTS,kabel, fiberoptikk og radiooverførings-media.
Fig. 3 er et blokkskjema over et eksempel på en videokonferansestasjon 300. For enkelhets skyld vil videokonferansestasjonen 300 bli beskrevet som den lokale videokonferansestasjon 202 (fig.2), selv om den fjerntliggende videokonferansestasjon 204 (fig.2) kan inneholde en lignende konfigurasjon. I henhold til en utførelsesform innbefatter videokonferansestasjonen 300 en visningsanordning 302, en sentralenhet (CPU) 304, et minne 306, minst en videoinnfangningsanordning 308, en bildebehandlingsmotor 310 og et kommunikasjonsgrensesnitt 312. Alternativt kan andre anordninger være tilveiebrakt ivideokonferansestasjonen 300, eller alle de ovennevnte innretninger behøver ikke å være tilveiebrakt.
Den minst ene videoinnfangningsanordning 308 kan være implementert som en ladningskoplet kameraanordning(CCD-kamera), et komplementært halvledendemetalloksidkamera(CMOS-kamera)ellerenannentypebildeinnfangningsanordning. Den minst ene videoinnfangningsanordning 308 tar bilder av enbruker, et konferanserom ellerandrescener, og senderbildene til bildebehandlingsmotoren310. Bildebehandlingsmotoren310behandler vanligvis videobildet til datapakker før kommunikasjonsgrensesnittet 312 sender datapakkene til den fjerntliggende videokonferansestasjon204. Bildebehandlingsmotoren310vilbli diskutert mer detaljert i forbindelse med fig.4. Bildebehandlingsmotoren310 transformerer der- imot ogsåmottattedatapakker fra denfjerntliggendevideokonferansestasjon204 til et videosignal for visning på visningsanordningen 302.
Fig.4 er et utførelseseksempel på bildebehandlingsmotoren310 på fig.3. Bildebehandlingsmotoren310innbefatter enkodingsmotor 402,enmakroblokk-omordningsmotor 404,enmakroblokk-pakkemotor406 og et kommunikasjonsbuffer408. Innledningsviskommer etvideosignal fravideoinnfangningsanordningen 308 (fig.3) inn i kodingsmotoren 402, som omformer hvert bilde i videoen til et ønsket format og transformerer hvert bilde i videosignalet til et sett med makro- blokker. Enmakroblokk erendataenhet sominneholderdatablokker omfattende luminans- ogkrominans-komponenter tilknyttet bildeelementer (også kalt piksler). I H.263 består f.eks. enmakroblokk av fire 8x8 blokker medluminansdata og to tilsvarende 8x8 blokker med krominansdata i et 4:2:0 kromasamplingsformat. En 8x8 blokk med data er en datamatrise med åtte kolonner og åtte rader der hvert dataelement svarer til en piksel i videobildet. En4:2:0 kromaformatert makroblokk omfatter data som dekker en seksjon med 16 piksler ganger 16 piksler av video-bildet. Foreliggende oppfinnelse er imidlertid ikkebegrenset tilmakroblokker som definert på konvensjonell måte,menkanutvides til en hvilken som helst dataenhet som omfatter luminans- og/eller krominansdata. I tillegg dekker formålet medforeliggende oppfinnelse andre samplingsformater,slik somet4:2:2kromasamplingsformat som omfatter fire 8x8 blokker med luminansdata og fire tilsvarende 8x8 blokkermed krominansdata eller et 4:4:4kromasamplingsformatsom omfatter fire 8x8 blokker med luminansdata og åtte tilsvarende 8x8 blokker med krominansdata.
I tillegg koder kodingsmotoren402 (dvs. komprimerer) hver makroblokk for å redusere antallet biter som brukes til å representere datainnholdet.Hver makroblokk kan være "intrakodet" eller "interkodet", og et bilde kan bestå av en hvilken somhelst kombinasjon av intrakodedeoginterkodede makroblokker. Interkodede makroblokker er kodet ved å bruke tidslikheter (dvs. likheter somfinnes mellom en makroblokk fra ett bilde og en nært overensstemmendemakroblokk fra et foregående bilde). Engitt interkodet makroblokk omfatter spesielt kodede forskjeller mellomden gitte makroblokk og en nært overensstemmendemakroblokk fra et foregående videobilde. Dennært overensstemmendemakroblokk fra det foregående videobilde kan omfatte data vedrørende piksler som er forskjøvet fra de piksler somer tilknyttet den gittemakroblokk. Alternativt blir intrakodede makroblokker kodet uten bruk av informasjon fra andre videobilder på en måte lik den som anvendes av JPEG-stillbildekodingsstandarden.
For, f.eks. å bestemme om en gitt makroblokk kan være kodet som en interkodetmakroblokk, beregner kodingsmotoren402differansene mellomdataenetil den gitte makroblokk for et aktuelt videobilde med dataene for enmakroblokk fra et foregående videobilde (referert til somen forskyvningsmakroblokk), hvor differansene kan finnes f.eks. ved hjelp av en absolutt middelfeil eller enmiddelkvadrert feilmellom data som svarer til piksler lokalisert ved samlokaliserte posisjoner i makroblokkene.For den gitte makroblokk beregner kodingsmotoren402 feil for et antall forskyvningsmakroblokker. Hvis kodingsmotoren402bare finner feil større ennenforutbestemt differanseterskelverdi,somfinnes det ikkesignifikante likheter mellom dataene fra den gitte makroblokk og dataene fra det foregående bilde, ogmakroblokken blir intrakodet. Hvis imidlertid en feil blir funnet å være mindre enn den forutbestemte differanseterskel-verdi for den gitt makroblokk og en gitt forskyvningsmakroblokk fradet foregående bilde,såblirden gittemakroblokk interkodet.
For å interkode den gitte makroblokk, subtraherer kodingsmotoren402 den gitte makroblokkens data fra forskyvningsmakroblokkens data (dvs.at luminans- ogkrominansdata tilknyttet en piksel for den gitte makroblokk blir subtrahert fra luminans-og krominansdatatilknytteten tilsvarendepiksel i forskyvningsmakro- blokken for hver piksel) for å gi differansedata, koder differansedataene ved å bruke enstandard kodingsteknikk slik som diskret kosinustransformasjons- og kvantifiserings-metoder blant andre, bestemmer en forskyvningsvektor fra den gitte makroblokk til forskyvningsmakroblokken (kalt en bevegelsesvektor), og koder bevegelsesvektoren.
Videokodingsstandarder, slik som H.261 og H.263, spesifiserer for tiden at bevegelsesvektorer for interkodede makroblokker kan være forskjellig kodet for å forbedre kodingseffektiviteten. Differensialkoding forårsaker imidlertid feil skapt av tapte eller ødelagte bevegelsesvektor-data å forplante seg til tilstøtende makroblokker som ellers ville bli dekodet uten feil siden kodede bevegelsesvektor-data tilknyttet en gitt makroblokk generelt ikke er uavhengig av bevegelsesvektor-dataene til nabomakroblokker. Virkningene av bevegelsesvektor-dataene til en gitt makroblokk er således ikke rommessig lokalisert til den gitte makroblokk. Hvis imidlertid bevegelsesvektorene til hver interkodet makroblokk er ikke-differensial-kodet, så blir virkningene av bevegelsesvektor-dataene lokalisert til den gitte makroblokk, noe som resulterer i en betydelig økning av feilelastisiteten. I de fleste tilfeller resulterer en endring av kodingsmetoden for bevegelsesvektoren fra en differensiell til en ikke-differensiell teknikk i et lite tap av total kodingseffektivitet (typisk mindre enn noen få prosent). Bevegelsesvektorkomponentene tilknyttet hver interkodet makroblokk er fortrinnsvis, i motsetning til konvensjonelle metoder, ikke differensielt kodet i henhold til en utførelsesform av foreliggende oppfinnelse.
I en annen utførelsesform av oppfinnelsen kan kodingsmotoren 402 ultrakode makroblokker i et bilde ved å benytte en "omvandrende oppfriskings"-mekanisme.
"Omvandrings-oppfriskings"-mekanismen er en deterministisk mekanisme for å rense opp referansebilde-mistilpasninger, kalt datadriv, ved hjelpavintrakoding av et spesielt mønster med makroblokker for hvert bilde. Kodingsmotoren 402 bruker makroblokker i et referansebilde som forskyvningsmakroblokker ved dekoding av interkodede makroblokker i et aktuelt bilde. I en utførelsesform av oppfinnelsen blir "omvandringsoppfriskings"-mekanismen muliggjort for å intrakode et mønster av makroblokker ved å benytte et heltallig omvandringsintervall w valgt fra et sett med forutbestemte heltallige omvandringsintervaller. Hvis f.eks. w = 47 så intrakoder kodingsmotoren 402 hver w. makroblokk. Omvandingsintervallet kan velges basert på overføringshastigheter for videodata og feilhyppigheter. Når "omvandrings-oppfriskings"-intrakodede makroblokker blir mottatt av kodingsmotoren i den fjerntliggende videokonferanse-stasjon 204 (fig. 2), erstatter disse "omvandrings-oppfriskings"-intrakodede makroblokker tilsvarende makroblokker fra tidligere delbilder som kan være ødelagt på grunn av videodataoverføringsfeil. Enhver makroblokk som kan være ødelagt på grunn av videodataoverføringsfeil (og som ikke erstattes) viderefører videre og eventuelt forstørrer datadriv når kodingsmotoren til den fjerntliggende videokonferanse-stasjon 204 benytter de ødelagte makroblokker som referansemakroblokker for dekoding av andre motta makroblokker. "Omvandrings-oppfriskings"-intrakodedemakroblokkerforsynersåledeskodingsmotoren i denfjerntliggendevideokonferanse-stasjon204 med et "friskt" settmed intrakodede makroblokker somskalbrukessomreferansemakroblokkerforderved å redusere utbredelsen avdatadriv.
Kodingsmotoren402kanvidere generere et intramakroblokk-kartsomidentifiserer hvilke makroblokker i et kodet videobilde som er intrakodet. Etterat intramakroblokkkarteter generert, sender bildebehandlingsmotoren310kartet til den fjerntliggende videokonferanse-stasjon 204. Kartet kan så sendes somen del av bildehodefeltet tilknyttet det kodede videobilde, f.eks., selv om andre felter kan brukes.
I henhold til foreliggende oppfinnelse kan kodingsmotoren 402 generere intramakroblokk-kartet på en av to måter. Ifølge en utførelsesform av oppfinnelsen benytter kodin. gsmotoren 402 kjørelengde-koding for å beskrive posisjoner for intrakodede makroblokker i bildet. Kjørelengdekoding er en teknikk for å redusere størrelsen av en gjentakende tegnstreng. I enannenutførelsesformavoppfinnelsen genererer kodingsmotoren402 et bitkart hvor hver bit i bitkartet svarer til en makroblokk i bildet.En bitsverdi identifiserer entilsvarende makroblokks kodings- type. I en utførelsesform av oppfinnelsen betegner f.eks. en "1" bit at en tilsvar- endemakroblokk er intrakodet. I en annenutførelsesformavoppfinnelsen betegneren"1"bit atden tilsvarende makroblokk er interkodet. Andre fremgangsmåter for generering av intramakroblokken kantenkes brukt i forbindelse med foreligg- ende oppfinnelse.
I nok en annen utførelsesform av oppfinnelsen velger kodingsmotoren402 den kodingsmetode for intramakroblokk-kartetsomfrembringer det færreste antall biter.Et FCIF-videobildemed 352x288 piksler (dvs.352pikslers horisontal oppløsningog288 pikslers vertikal oppløsning) omfatter 396makroblokker utformet som en 22x18-makroblokkmatrise. Uten å innbefatte eventuelle styringsbiter som kan være nødvendige, krever kodingsmetoden for bitkartet 396 biter (en bit for hver makroblokk). 396biterblir således brukt til å sende detbitkart-kodedeintramakroblokk-kart, uavhengig av antallet intrakodede makroblokker i FCIF-bildet. Antallet biter som benyttes til å overføre det kjøretidskodede intramakroblokk-kart er der- imot avhengig av antallet intrakodede makroblokker i FCIF-bildet. Kostnaden for å sende et kjørelengdekodet intramakroblokk-kart er åtte biter pr. intrakodet makroblokk (dvs. åttebiterpr. kjøreverdi), hvor kjøreverdien identifiserer en posisjon for denintrakodede makroblokk i FCIF-bildet.HvisFCIF-bildetderforinneholder intrakodede makroblokker, såer8n biter nødvendig for å overføre detkjørelengdekodede intramakroblokk-kart.
Hvis således CIF-bildet inneholder mindre enn 50 intrakodede makroblokker (n < 50),såvelger kildekodingsmotoren402 kjørelengdekodingsmetoden,ellersvelger kildekodingsmotoren402bitkart-kodingsmetoden.Valgetavkodingsmetode for intramakroblokk-kartet er avhenging av videoformatet, hvor FCIF-videobildet er et eksempel.
Deretter blir de kodede markroblokker videresendt til makroblokkomordningsmotoren 404. Makroblokk-omordningsmotoren 404 omordner de kodede datablokker.Spesieltblirhvermakroblokk tildeltenmakroblokkgruppe-identifikator (MBGID) fra et antall MBGID'er. I et utførelseseksempeler makroblokkene nummerert fra en til seks i henhold til et eksempel på et makroblokk-tildelingsmønster som er illustrert på fig.5 for et QCIF-formatertbilde som har ni rader med ellev -e makroblokker pr. rad. Den maksimale MBGID blir referert til som en maksimal gruppeidentifikator (MGID). I utførelseseksempeletpå fig.5erMGID= 6. Som vist blirMGID'ene tildelt på en måte somminimaliserer tilstøtende makroblokker som tildeles den samme MBGID. Alternativt kan andre tildelingsmønstre tildele den sammen MBGID til nærliggende makroblokker eller i en hvilken somhelst annen tildelingsrekkefølge.
Som diskutert nærmere i forbindelse med fig.6, minimaliserer fortrinnsvis tildelingen av makroblokker, hvorved tilstøtende makroblokker ikke blir tildelt den samme MBGID, en konsentrasjon av feil i et område av et bilde fordi makroblokker i en tapt datapakke blir rommessig fordelt over bildet. Siden feil som skyldes tapte pakker sannsynligvis vil bli mindre konsentrert i et område av bildet, kan tapte data tilknyttet tapte makroblokker rekonstrueres mer nøyaktig ved å bruke data fra nabomakroblokker. Rommessig interpolering av data fra nabomakroblokker eller et estimat av en manglende makroblokks bevegelsesdetektor blir med andre ord bestemt mer nøyaktig hvis tapet av data ikke er rommessig lokalisert i bildet.
Kodingsmotoren 402 (fig.4) til bildebehandlingsmotoren 310 (fig.3) i den fjerntliggende videokonferanse-stasjon 204 (fig.2), kan benytte en rekke feilskjulingsteknikker i forbindelse med registreringen av makroblokker for å forbedre videokvaliteten. I en utførelsesform av oppfinnelsen dekoder f.eks. kodingsmotoren 402 nabomakroblokkene til en tapt interkodet makroblokk, estimerer en bevegelsesvektor for den tapte makroblokk og bruker så den estimerte bevegelsesvektor tilårekonstruere data for den tapte makroblokk. I en annen utførelsesform av oppfinnelsen kan kodingsmotoren 402 dekode nabomakroblokkene til en tapt intrakodet makroblokk, og rommessig interpolere de de. kodede nabodata for å rekonstruere de tapte data. Omfanget av foreliggende oppfinnelse dekker andre feilskjulingsteknikker som brukes i forbindelse med makroblokk-omordning for å forbedre videokvalitet på grunn av tapte eller ødelagte makroblokker.
Forskjellige omordningsmønstre og MBGID'er kan benyttes i henhold til foreliggende oppfinnelse. I en utførelsesform av oppfinnelsen velger makroblokkomordningsmotoren404enMGIDbasertpåvideodatahastigheterog/eller videoformat.
Det vises tilbake til fig.4 hvor makroblokk-pakkemotoren 404 når makroblokkeneerblitt tildeltMBGID'er, plasserer makroblokkene idiskrete datapakker i henhold tilderes MBGID'er. Makroblokker med samme MBGID (f.eks. MBGID = 1) vil således bli plassert ien felles, diskret datapakke (f.eks.datapakke 1). Det vises til fig.5 hvorpakkemotoren 406 ihenhold til utførelseseksempeletplasserer makroblokkene i seks datapakker pr. QCIF-bildet. Pakkemotoren 406 kan imidlertid benytte mer enn en pakke med en gitt MBGID for å transportere makroblokker med den gitte MBGID. Pakkemotoren 406 kan f.eks. lage en førstedatapakke 1 omfattende en del av makroblokkene med MBGID = 1 og en annen datapakke 1 somomfatter restenav makroblokkene medMBGID=1. Oppdelingen avpakkene på dennemåtenblir typisk styrt av en maksimal overføringsenhetsstørrelse(MTU) tilknyttet nettet 206 (fig.2).
Deretter blir datapakkene og bildehodene videresendt til kommunikasjonsbufferet 406 for overføring over nettet 206 (fig.2) ved hjelp av kommunikasjons-grensesnittet 312 (fig.3). For ytterligere å fremme fleksibilitet motpakketap, kan bildehodet overføres merenn en gang pr. bilde.Bildehodet kan innbefatte intramakroblokk-kartet.
Bildebehandlingsmotoren310kanomvendtogsåbehandlevideodatapakker mottatt fraet fjerntliggendestedogfremskaffe videosignaler for fremvisning.
Innledningsvisblirvideodatapakkermottattavkommunikasjonsgrensesnittet312 (fig.3) og videresendt til kommunikasjonsbufferet408.Videodatapakkeneblir så sendt til makroblokk-pakkemotoren406 som pakker opp makroblokkene.Deretter ordner makroblokk-omordningsmotoren404makroblokkene tilbake til deresopprinnelige ordnedemønster (dvs. mønsteret førmakroblokk-omordning i denfjerntliggende videokonferanse-stasjon 204, som typisk er rasteravsøkning (fig.2).
Deretter virker kodingsmotoren 402 som en dekoder og bestemmer om en videodatapakke ble tapt i overføringen over nettet 206. Fig.6 er et skjema over omordningsmønsteret til QCIF-bildemakroblokkene på fig.5, når en datapakke som inneholder kodede makroblokkdata for makroblokker med MBGID = 5 er tapt. De tapte makroblokkene er markert med en "x". Det skal bemerkes at de tapte makroblokker fortrinnsvis blir rommessig fordelt over QCIF-bildet i henhold til en utføreIsesform av foreliggende oppfinnelse, for derved å muliggjøre nøyaktige, enklefeilskjulingsteknikker somanvender slikemetodersomrommessig interpoleringeller bevegelsesvektorestimeringog -kompensasjon.Selv omfig.6 illustrerer enenkeltmanglende datapakke forå gjørediskusjonen enklere,dekker oppfinnelsens omfang feilskjuling når ethvilket som helst antall datapakker er ødelagt eller tapt under overføring. Det skal videre bemerkes at selv om de samme komponenter er beskrevet her som brukes til både sender- og mottaker-funksjoner, kan komponentene være utformet i separate mottakerog sender-anordninger.
Det vises tilbake til fig.4 hvor kodingsmotoren402 for hver tapt makroblokk bestemmer omdentapte makroblokk er intrakodet eller interkodet. Kodingsmotoren402kan f.eks. undersøke intramakroblokk-kartet forå bestemme omden tapte makroblokk er intrakodet. Somnevnt ovenfor kan intramakroblokk-kartetsendes i bildekodefelter eller som sideinformasjon transportert utenfor en videostrøm, og kan komprimeres ved å bruke en kjørelengdekodingsalgoritme utformet som et bitkart somidentifiserer intrakodede makroblokker elleren anneneffektiv kodingsmetode.
Hvisde tapte makroblokker er intrakodet, så kan flere feilskjulingsteknikker benyttes. Hvis den tapte makroblokk f.eks. er intrakodet som en delav en "omvandringsoppfriskings"-mekanisme,kankodingsmotoren402erstattedentaptemakroblokk med innholdet av en "tilsvarende" makroblokk fra et tidligere bilde,hvor to "tilsvarende" makroblokker dekker det samme romområde i sine respektive bilder. I henhold til 0 foreliggende oppfinnelse er "omvandrings-oppfriskings"-mekanismens rensehastighet en funksjon av dataene ogfeilhyppighet ne.
Hvis en tapt intrakodet makroblokk alternativt ikke er kodet som en del av "omvandrings-oppfriskings"-mekanismen, så kan kodingsmotoren 402 rommessig interpolere innholdene av den tapte makroblokk fra tilstøtende makroblokker. I en utførelsesform av oppfinnelsen kan hver 8 x 8 blokk i den tapte makroblokk interpoleres rommessig fra de to nærmeste blokker som befinner seg i tilstøtendemakroblokker.
Fig. 7 illustrerer et eksempel på en interpoleringsmåte som benytter data tilknyttet piksler som befinner seg i tilstøtende makroblokker. Fig.7 innbefatter en tapt makroblokk 705, en venstre tilstøtende makroblokk 710, en øvre tilstøtende makroblokk 715 og en høyre tilstøtende makroblokk 720. For å rekonstruere (dvs. interpolere) data for en 8x8 øvre, venstre blokk 725 for den tapte 16x16 makroblokk 705, interpolerer f.eks. kodingsmotoren402 (fig.4) data i en sistedatakolonne 730 (indikert med x'er) fra en 8 x 8 øvre høyre blokk 735 i den venstre tilstøtende makroblokk 710,og data i en siste datarad 740 (indikert med x'er) fra en 8 x 8 nedre venstre blokk 745 i den øvre tilstøtende makroblokk 715.
For likeledes å rekonstruere data for en 8 x 8 øvre høyre blokk 750 for den tapte makroblokk 705, interpolerer kodingsmotoren402 data i en førstedatakolonne 755 fra en 8 x 8 øvre venstre blokk 760 i den høyre tilstøtende makroblokk 720, og data i en siste datarad 765 fra en 8 x 8 nedre høyre blokk 770 i den øvre tilstøtende makroblokk 715. Andre former for interpolasjon kan også anvendes, og andre blokker til tilstøtende makroblokker kan benyttes og er innenfor oppfinnelsens ramme.
Hvis den tapte makroblokk er interkodet, så beregner kodingsmotoren402 et estimat av dentaptemakroblokkens bevegelsesvektorvedåundersøke bevegelsesvektorene for tilstøtende makroblokker. Fig.8 er et blokkskjema over tilstøtende makroblokker sombrukes til å estimere bevegelsesvektorentil en taptmakroblokk m, ihenhold til en utførelsesformav foreliggende oppfinnelse. For den tapte makroblokk m blir det beregnet en median for bevegelsesvektorer i de tre nabomakroblokkene a, b og c. x-komponenten til den estimerte bevegelsesvektoren for makroblokk m er f.eks. MV<m>x= median MVax, MVb
xog MVcx) og y-komponenten til den estimerte bevegelsesvektoren til makroblokk m er MV<m>y= median (MVay, MVbyog MVcy), hvor MVax, MVbxog MV<c>xer x-komponentene til bevegelsesvektorene for henholdsvis makroblokkene
a, b og c og MV<a>y, MVbyog MVcyer y-komponentene tilbevegelsesvektorenetil henholdsvismakroblokkene a, bog c. Selvom utførelsesformenavoppfinnelsen påfig.8 benytterbevegelsesvektorer fra tilstøtende makroblokker a, b og c til å beregne en estimertbevegelsesvektor for makroblokk m, kan et hvilket som helst antall og en hvilken som helst kombinasjon av tilstøtende makroblokker brukes til å estimere en tapt makroblokks bevegelsesvektor.
Nårdentaptemakroblokkensbevegelsesvektorestimeres, bevegelseskompenserer kodingsmotoren402 (fig.4) den tapte makroblokk ved å benytte den estimerte bevegelsesvektor til å gjenoppbygge den tapte makroblokkens datainnhold. Etter at datainnholdet til alle tapte makroblokker for et gitt bilde er gjenbygd, transformerer kodingsmotoren 402 makroblokkene til et videosignal for fremvisning på visningsanordningen 302 (fig.3). Selv om den er illustrert med bare en tapt datapakke, kan foreliggende oppfinnelse benyttes til å skjule feil med mange tapte datapakker.
Fig. 9 er et eksempel på et flytskjema 900 over fremgangsmåtetrinn for videofeilskjulingvedoverføring av videodata overpakkesvitsjedenett, i henhold til en utførelsesformav foreliggende oppfinnelse. I trinn905 innfanger videoinnfangningsanordningen308(fig.3) et videobilde og genererer et videosignal. Deretter, i trinn 910, mottar kodingsmotoren 402 (fig.4) (også kalt en koder ved behandling avdata for overføring) videosignalet og transformerer videosignalet til en eller flere intrakodede og interkodede makroblokker. Et videobilde kanomfatte interkodede makroblokker, intrakodede makroblokker eller en hvilken som helst kombinasjon avintrakodedeog interkodedemakroblokker. Ienutførelsesformavoppfinnelsen er en "omvandringsoppfriskings"-mekanisme i stand til å intrakode et mønster av makroblokker ved å benytte et omvandringsintervall valgt fra et sett med forutbestemteomvandringsintervaller.Omvandringsintervalletkan være valgtbasertpå videodatahastigheterog feilhyppigheter. I tilleggberegnerkodingsmotoren 402en ikke-differensielt kodet bevegelsesvektor for hver interkodet makroblokk.
I trinn 915 genererer deretter kodingsmotoren 402 et intramakroblokk-kart som identifiserer steder for de intrakodede makroblokker. I en utførelsesform av foreliggendeoppfinnelsen blir intramakroblokk-kartetkodetvedåbenytteentenen kjørelengdekodingsmetode eller en bitkartkodingsmetode basert på totalt antall biter som er nødvendig for å kode intramakroblokk-kartet.
Deretter tildeler enmakroblokk-omordningsmotor404 (fig.4) en MBGID til hver makroblokk i trinn920.Makroblokkene kan f.eks. tildeles MBGID'er i et mønter slik som det som er vist på fig.5.I enutførelsesformblir makroblokkene tildelt for å minimalisere tilstøtende makroblokker somer tildelt de samme MBGID'er. Alternativt kan andre utførelsesformer tildele tilstøtende makroblokker de samme MBGID'er.
Deretter lager makroblokk-pakkemotoren 406 (fig.4) diskrete datapakker og plasserer makroblokkene i de diskrete datapakker i henhold til deres MBGID'er, i trinn 925. Makroblokker med samme MBGID vil f.eks. bli plassert i en felles, diskret datapakke. Alternativt kanmakroblokk-pakkemotoren406 være en transport-motor for åplassere makroblokker i et spesielt format for transport på et linjesvitsjet nett. I trinn 930 blir tilslutt datapakkene og et bildehode (som innebefatter intramakroblokk-kartet) sendt til kommunikasjonsbufferet408 (fig.4) foroverføring til den fjerntliggende videokonferanse-stasjon 204 (fig.2).
Fig. 10 er et eksempel på et flytskjema 1000 over fremgangsmåtetrinn for videofeilskjuling ved mottakelse av videodata, i henhold til foreliggende oppfinnelse. I trinn 1005 mottar kommunikasjonsbufferet 408 (fig.4) overførte datapakker fra den fjerntliggende videokonferanse-stasjon 204 (fig.2) via nettet 206 (fig.2). I trinn 1010 pakker så makroblokkpakkemotoren 406 (fig.4) opp de mottatte datapakker til makroblokker. Deretter, i trinn 1015, ordner makroblokk-omordningsmotoren 404 (fig. 4) makroblokkene og plasserer makroblokkene i riktig rommessig konfigurasjon i et videobilde.
Deretter dekoder kodingsmotoren 402 (fig.4) makroblokken i trinn 1020.
Kodingsmotoren 402 (som virker som en dekoder) eller en annen mekanisme vedrørende en videodatapakke-omforming (f.eks. RTP-sekvensnummeret) bestemmer om noen makroblokker som omfatter videobildet, mangler, i trinn 1025. Makroblokker er tapt hvis en eller flere videodatapakker er tapt eller ødelagt via overføring av videodatapakkene over nettet 206. Hvis det i trinn 1025 blir bestemt at ingen makroblokker mangler, så blir makroblokkene vist ved hjelp av visningsanordningen 302 (fig.3) i trinn 1030. Hvis det i trinn 1025 imidlertid blir bestemt at en eller flere makroblokker mangler, så blir de data som er tilordnet den ene eller de flere manglende makroblokker, rekonstruert basert på kodingstypen til makroblokken, i trinn 1035. Kodingsmotoren 402 kan benytte intramakroblokk-kartet til å bestemme hver tapt makroblokks kodingstype.
Hvis den tapte makroblokk f.eks. er intrakodet som en del av "omvandringsoppfriskings"-mekanismen, så erstatter kodingsmotoren 402 den tapte makroblokkens innhold med datainnholdet i en tilsvarende makroblokk fra et tidligere bilde. Hvis tapte intrakodede makroblokker ikke er kodet som en del av "omvandrings-oppfriskings"-mekanismen, så kan den tapte makroblokkens innhold alternativt interpoleres rommessig fra de nærmeste tilstøtende nabomakroblokker. I en utførelsesform av foreliggende oppfinnelse bruker kodingsmotoren 402 en todimensjonal interpolasjon til å interpolere data fra tilstøtende makroblokker (fig.7).
Alternativt, hvis den tapte makroblokk er interkodet, så estimerer kodingsmotoren402dentaptemakroblokkens bevegelsesvektorvedåundersøke bevegelsesvektoren til tilstøtende makroblokker. Ienutførelsesformavoppfinnelsen blir bevegelsesvektorenberegnet som enmedianavbevegelsesvektorenetil tre nabomakroblokker (fig.8). Kodingsmotoren 402 bruker så den estimerte bevegelsesvektor til å kompensere for datainnholdet iden tapte makroblokk ved å rekonstruere et estimat av den tapte makroblokkens datainnhold. Når datainnholdet i de tapte makroblokker erblitt rekonstruert, blirmakroblokkene vist på visningsanordningen 302, i trinn 1025.
Oppfinnelsen erblitt forklart ovenforunderhenvisning til utførelseseksempler. Detvil være klart for fagkyndige på området at forskjellige modifikasjonerkan gjennomføres uten å avvike fra oppfinnelsens omfang definert av de vedføyde krav.
Claims (46)
1. System for behandling av videodata, omfattende:
en makroblokk-oppakkingsmotor (406) konfigurert til å motta et antall datapakker, der hver datapakke inneholder et antall makroblokker, der hver av makroblokkene i en gitt pakke har en felles makroblokk-gruppeidentifikator (MBGID);
en makroblokk-omordningsmotor (404) konfigurert til å omordne de mottatte makroblokker fra antallet av datapakker i en forutbestemt rekkefølge;
en dekodingsmotor (402) konfigurert til å behandle de omordnede makroblokker for å generere et videosignal, ogen kodingsmotor (402) for behandling av bilder eller rammer i videosignalet for å generere og kode antallet av makroblokker for omordning ved hjelp av en makroblokk-omordningsmotor (404), hvor antallet datapakker er mottatt fra makroblokk-omordningsmotoren (404) for tildeling av en makroblokk-gruppeidentifikator (MBGID) til hver makroblokk av antallet av makroblokker via en makroblokk-pakkemotor (406) for å plassere hver av makroblokkene i en spesiell datapakke i henhold til MBGID’en, slik at hver pakke inneholder bare makroblokker som har felles MBGID.
2. System ifølge krav 1, hvor den forutbestemte rekkefølge er en rasteravsøkingsrekkefølge.
3. System ifølge krav 1, hvor antallet datapakker innbefatter ikke-differensielt kodede bevegelsesvektorer for hver av de kodede makroblokker som er en interkodet makroblokk.
4. System ifølge krav 1, hvor forskjellige datapakker inneholder makroblokker som har forskjellige tildelte MBGID’er.
5. System ifølge krav 1, hvor MBGID’ene varierer i verdi fra 1 til et maksimal gruppeidentifikator (MGID).
6. System ifølge krav 5, hvor MGID’en svarer til en videodatahastighet.
7. System ifølge krav 5, hvor MGID’en svarer til et videoformat.
8. System ifølge krav 1, hvor antallet datapakker innbefatter et intramakroblokk-kart som identifiserer intrakodede makroblokker i et gitt bilde eller ramme.
9. System ifølge krav 8, hvor intramakroblokk-kartet er kodet ved å benytte kjørelengdekoding.
10. System ifølge krav 8, hvor intramakroblokk-kartet er kodet ved å benytte et bitkart.
11. System ifølge krav 8, hvor dekodingsmotoren (402) detekterer om intramakroblokk-kartet er kodet ved å benytte kjørelengdekoding eller et bitkart, og behandler makroblokkene på tilsvarende måte.
12. System ifølge krav 1, hvor dekodingsmotoren (402) detekterer makroblokker som mangler fra de omordnede makroblokker og rekonstruerer manglende data.
13. System ifølge krav 12, hvor dekodingsmotoren (402) rommessig interpolerer data for en gitt manglende makroblokk fra data i tilstøtende dekodete makroblokker hvis den gitte manglende makroblokk var kodet som en intrakodet makroblokk.
14. System ifølge krav 12, hvor dekodingsmotoren (402) estimerer en bevegelsesvektor fra et gitt manglende makroblokk basert på bevegelsesvektorer for tilstøtende dekodede makroblokker for å rekonstruere datainnholdet i den gitte manglende makroblokk via bevegelseskompensasjon, hvis det gitte manglende dekodede makroblokk var kodet som en interkodet makroblokk.
15. System ifølge krav 1, hvor makroblokk-omordningsmotoren (404) tildeler en forskjellig MBGID til tilstøtende kodede makroblokker.
16. System ifølge krav 1, hvor kodingsmotoren (402) genererer ikke-differensielt kodede bevegelsesvektorer for hver av de kodede makroblokkene som er en interkodet makroblokk.
17. System ifølge krav 1, hvor makroblokk-pakkemotoren (406) plasserer de kodede makroblokker med forskjellige tildelte MBGID’er i forskjellige datapakker.
18. System ifølge krav 1, hvor MBGID’en har en verdi fra 1 til en maksimal gruppeidentifikator (MGID).
19. System ifølge krav 18, hvor makroblokk-omordningsmotoren (404) bestemmer MGID’en basert på videodatahastigheter.
20. System ifølge krav 18, hvor makroblokk-omordningsmotoren (404) bestemmer MGID’en basert på videoformat.
21. System ifølge krav 1, hvor kodingsmotoren (402) koder en gitt makroblokk i et aktuelt bilde eller ramme som en intrakodet makroblokk hvis det finnes betydelige forskjeller mellom dataene i den gitte makroblokk i det aktuelle bilde eller ramme og data i en nært overensstemmende forskyvningsmakroblokk i et foregående bilde eller ramme.
22. System ifølge krav 1, hvor kodingsmotoren (402) koder en gitt makroblokk i et aktuelt bilde eller ramme som en interkodet makroblokk hvis det finnes betydelige likheter mellom dataene for den gitte makroblokk i det aktuelle bilde eller ramme og dataene i en nært overensstemmende forskyvningsmakroblokk i et foregående bilde eller ramme.
23. System ifølge krav 1, hvor kodingsmotoren (402) videre genererer et intramakroblokk-kart som identifiserer intrakodede makroblokker i et gitt bilde eller ramme.
24. System ifølge krav 23, hvor kodingsmotoren (402) koder intramakroblokk-kartet ved å velge en kodingsmetode for intramakroblokk-kart som genererer færrest antall biter.
25. System ifølge krav 23, hvor kodingsmotoren (402) bruker kjørelengdekoding for å kode intramakroblokk-kartet.
26. System ifølge krav 23, hvor kodingsmotoren (402) bruker et bitkart for å kode intramakroblokk-kartet.
27. System ifølge krav 1, hvor makroblokk-pakkemotoren (406) i en mottakeranordning pakker opp de kodede makroblokker.
28. System ifølge krav 1, hvor makroblokk-omordningsmotoren (404) i en mottakeranordning ordrer de kodede makroblokker.
29. System ifølge krav 1, hvor kodingsmotoren (400) i en mottakeranordning dekoder (1020) de kodede makroblokker og detekterer (1025) manglende dekodede makroblokker.
30. System ifølge krav 29, hvor kodingsmotoren (402) i mottakeranordningen rommessig interpolerer data for en gitt manglende dekodet makroblokk fra data for tilstøtende dekodede makroblokker for å skjule virkninger av videofeil, hvis den gitte manglende dekodede makroblokk var kodet som en intrakodet makroblokk.
31. System ifølge krav 29, hvor kodingsmotoren (402) i mottakeranordningen estimerer en bevegelsesvektor for en gitt manglende dekodet makroblokk basert på bevegelsesvektorer for tilstøtende dekodede makroblokker for å rekonstruere datainnholdet i den gitte manglende dekodede makroblokk via bevegelseskompensering for å skjule virkninger av videofeil, hvis den gitt manglende dekodede makroblokk var kodet som en interkodet makroblokk.
32. System ifølge krav 1, hvor makroblokk-pakkemotoren (406) er en transportmotor for å plassere hver av de kodede makroblokker i henhold til MBGID’en i et spesielt format for transport i et linjesvitsjet / pakkekoplet / kretsløpkoplet nett.
33. Fremgangsmåte for behandling av videodata, omfattende de følgende trinn:
å motta (1005) et antall datapakker, der hver datapakke inneholder et antall makroblokker, der hver makroblokk i en gitt pakke har en felles makroblokk-gruppeidentifikator (MBGID);
å pakke opp (1010) de kodede makroblokker;
å omordne (1015) de mottatte makroblokker i en forutbestemt rekkefølge som er forskjellig fra den rekkefølge de ble mottatt i;
å dekode (1020) de omordnede makroblokker for å frembringe et videosignal, å behandle bilder eller rammer i videosignalet for å generere og kode antallet av makroblokker for omordning ved hjelp av en makroblokk-omordningsmotor (404),
å motta datapakker fra makroblokk-omordningsmotoren (404) for å tildele en makroblokk-gruppeidentifikator (MBGID) til hver makroblokk av antallet av makroblokker via en makroblokk-pakkemotor (406) for å plassere hver av makroblokkene i en spesiell datapakke i henhold til MBGID’en, slik at hver pakke inneholder bare makroblokker som har felles MBGID.
34. Fremgangsmåte ifølge krav 33, hvor den forutbestemte rekkefølge er en rasteravsøkingsrekkefølge.
35. Fremgangsmåte ifølge krav 33, hvor antallet datapakker inneholder ikkedifferensielt kodede bevegelsesvektorer for hver av de kodede makroblokker som er en interkodet makroblokk.
36. Fremgangsmåte ifølge krav 33, hvor forskjellige datapakker inneholder makroblokker som har forskjellige tildelte MBGID’er.
37. Fremgangsmåte ifølge krav 33, hvor MBGID’ene varierer i verdi fra 1 til et maksimal gruppeidentifikator (MGID).
38. Fremgangsmåte ifølge krav 37, hvor MGID’en svarer til en videodatahastighet.
39. Fremgangsmåte ifølge krav 37, hvor MGID’en svarer til et videoformat.
40. Fremgangsmåte ifølge krav 36, hvor antellet datapakker inneholder et intramakroblokk-kart som identifiserer intrakodede makroblokker i et gitt bilde eller ramme.
41. Fremgangsmåte ifølge krav 36, hvor intramakroblokk-kartet er kjørelengdekodet.
42. Fremgangsmåte ifølge krav 36, hvor intramakroblokk-kartet er kodet ved å bruke et bitkart.
43. Fremgangsmåte ifølge krav 33, videre omfattende trinnet med å detektere manglende makroblokker.
44. Fremgangsmåte ifølge krav 43, videre omfattende trinnet med å rommessig interpolere data for en gitt manglende makroblokk fra data i tilstøtende dekodede makroblokker hvis den gitte manglende makroblokk var kodet som en intrakodet makroblokk.
45. Fremgangsmåte ifølge krav 43, videre omfattende trinnet med å estimere en bevegelsesvektor fra et gitt manglende makroblokk basert på bevegelsesvektorer for tilstøtende makroblokker for å rekonstruere datainnholdet av den gitte manglende makroblokk via bevegelseskompensasjon, hvis den gitte manglende makroblokk var kodet som en interkodet makroblokk.
46. Datamaskinlesbart medium som blir kodet med et dataprogram og som er kjørbart av en datamaskin for å utføre en fremgangsmåtes trinn for behandling av videodata i henhold til ethvert av krav 33-45.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31441301P | 2001-08-23 | 2001-08-23 | |
PCT/US2002/026577 WO2003019939A1 (en) | 2001-08-23 | 2002-08-23 | System and method for video error concealment |
Publications (2)
Publication Number | Publication Date |
---|---|
NO20161599A1 NO20161599A1 (no) | 2004-04-23 |
NO343205B1 true NO343205B1 (no) | 2018-12-03 |
Family
ID=23219857
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20040754A NO339116B1 (no) | 2001-08-23 | 2004-02-20 | System og fremgangsmåte for å skjule videofeil |
NO20161599A NO343205B1 (no) | 2001-08-23 | 2016-10-06 | System og fremgangsmåte for å skjule videofeil |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20040754A NO339116B1 (no) | 2001-08-23 | 2004-02-20 | System og fremgangsmåte for å skjule videofeil |
Country Status (15)
Country | Link |
---|---|
US (2) | US7239662B2 (no) |
EP (1) | EP1421787A4 (no) |
JP (2) | JP4881543B2 (no) |
KR (1) | KR100691307B1 (no) |
CN (1) | CN100581238C (no) |
AU (1) | AU2002326713B2 (no) |
BR (2) | BR0212000A (no) |
CA (1) | CA2457882C (no) |
IL (2) | IL160476A0 (no) |
MX (1) | MXPA04001656A (no) |
NO (2) | NO339116B1 (no) |
NZ (1) | NZ531863A (no) |
RU (1) | RU2291586C2 (no) |
WO (1) | WO2003019939A1 (no) |
ZA (1) | ZA200401377B (no) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965644B2 (en) * | 1992-02-19 | 2005-11-15 | 8×8, Inc. | Programmable architecture and methods for motion estimation |
AU2002351417A1 (en) * | 2001-12-21 | 2003-07-30 | Polycom, Inc. | Motion wake identification and control mechanism |
KR100948153B1 (ko) * | 2003-01-10 | 2010-03-18 | 톰슨 라이센싱 | 코딩된 스트림으로 전송되는 인트라-예측 모드에 기반하는 공간 에러 은폐 방법 |
MXPA05007452A (es) * | 2003-01-10 | 2005-09-12 | Thomson Licensing Sa | Tecnica para definir orden de disimulo para minimizar la propagacion de error. |
US7827458B1 (en) | 2003-03-03 | 2010-11-02 | Apple Inc. | Packet loss error recovery |
US7817716B2 (en) * | 2003-05-29 | 2010-10-19 | Lsi Corporation | Method and/or apparatus for analyzing the content of a surveillance image |
US8705613B2 (en) * | 2003-06-26 | 2014-04-22 | Sony Corporation | Adaptive joint source channel coding |
US7826526B2 (en) * | 2003-10-20 | 2010-11-02 | Logitech Europe S.A. | Methods and apparatus for encoding and decoding video data |
US8582640B2 (en) * | 2003-12-16 | 2013-11-12 | Sony Corporation | Adaptive joint source channel coding |
US20050281339A1 (en) * | 2004-06-22 | 2005-12-22 | Samsung Electronics Co., Ltd. | Filtering method of audio-visual codec and filtering apparatus |
US20060013315A1 (en) * | 2004-07-19 | 2006-01-19 | Samsung Electronics Co., Ltd. | Filtering method, apparatus, and medium used in audio-video codec |
JP2006060813A (ja) * | 2004-08-20 | 2006-03-02 | Polycom Inc | ビデオデコーダにおける誤り隠蔽 |
EP1638337A1 (en) | 2004-09-16 | 2006-03-22 | STMicroelectronics S.r.l. | Method and system for multiple description coding and computer program product therefor |
US7543064B2 (en) * | 2004-09-30 | 2009-06-02 | Logitech Europe S.A. | Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host |
US7463755B2 (en) * | 2004-10-10 | 2008-12-09 | Qisda Corporation | Method for correcting motion vector errors caused by camera panning |
US20060262860A1 (en) * | 2005-02-23 | 2006-11-23 | Chou Jim C | Macroblock adaptive frame/field coding architecture for scalable coding |
US7738468B2 (en) * | 2005-03-22 | 2010-06-15 | Logitech Europe S.A. | Method and apparatus for packet traversal of a network address translation device |
US9749655B2 (en) * | 2005-05-11 | 2017-08-29 | Qualcomm Incorporated | Method and apparatus for unified error concealment framework |
US9661376B2 (en) * | 2005-07-13 | 2017-05-23 | Polycom, Inc. | Video error concealment method |
US9055298B2 (en) | 2005-07-15 | 2015-06-09 | Qualcomm Incorporated | Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information |
US7916796B2 (en) * | 2005-10-19 | 2011-03-29 | Freescale Semiconductor, Inc. | Region clustering based error concealment for video data |
US9794593B1 (en) * | 2005-12-09 | 2017-10-17 | Nvidia Corporation | Video decoder architecture for processing out-of-order macro-blocks of a video stream |
US9516326B1 (en) | 2005-12-09 | 2016-12-06 | Nvidia Corporation | Method for rotating macro-blocks of a frame of a video stream |
US8238442B2 (en) * | 2006-08-25 | 2012-08-07 | Sony Computer Entertainment Inc. | Methods and apparatus for concealing corrupted blocks of video data |
US8711929B2 (en) * | 2006-11-01 | 2014-04-29 | Skyfire Labs, Inc. | Network-based dynamic encoding |
US8375304B2 (en) * | 2006-11-01 | 2013-02-12 | Skyfire Labs, Inc. | Maintaining state of a web page |
US8443398B2 (en) * | 2006-11-01 | 2013-05-14 | Skyfire Labs, Inc. | Architecture for delivery of video content responsive to remote interaction |
US9247260B1 (en) * | 2006-11-01 | 2016-01-26 | Opera Software Ireland Limited | Hybrid bitmap-mode encoding |
CN101202923B (zh) * | 2006-12-15 | 2010-09-01 | 扬智科技股份有限公司 | 影像解码器的码流错误侦测方法 |
US8265159B2 (en) * | 2006-12-27 | 2012-09-11 | Panasonic Corporation | Moving picture decoding apparatus |
US20080184128A1 (en) * | 2007-01-25 | 2008-07-31 | Swenson Erik R | Mobile device user interface for remote interaction |
US7957307B2 (en) * | 2007-03-14 | 2011-06-07 | Microsoft Corporation | Reducing effects of packet loss in video transmissions |
KR101125846B1 (ko) * | 2007-03-23 | 2012-03-28 | 삼성전자주식회사 | 패킷 기반의 영상 프레임 전송 방법 및 장치 |
US8582656B2 (en) | 2007-04-13 | 2013-11-12 | Apple Inc. | Method and system for video encoding and decoding |
US8605779B2 (en) * | 2007-06-20 | 2013-12-10 | Microsoft Corporation | Mechanisms to conceal real time video artifacts caused by frame loss |
DE102007058033A1 (de) * | 2007-11-30 | 2009-06-04 | Paterok, Peter, Dr. | Verfahren und Vorrichtung zur verbesserten Videoausgabe |
FR2929466A1 (fr) * | 2008-03-28 | 2009-10-02 | France Telecom | Dissimulation d'erreur de transmission dans un signal numerique dans une structure de decodage hierarchique |
US20100104003A1 (en) * | 2008-10-24 | 2010-04-29 | Manufacturing Resources International Inc. | System and method for securely transmitting video data |
US9812047B2 (en) | 2010-02-25 | 2017-11-07 | Manufacturing Resources International, Inc. | System and method for remotely monitoring the operating life of electronic displays |
US8648858B1 (en) | 2009-03-25 | 2014-02-11 | Skyfire Labs, Inc. | Hybrid text and image based encoding |
CN102036061B (zh) | 2009-09-30 | 2012-11-21 | 华为技术有限公司 | 视频数据传输处理、发送处理方法、装置和网络系统 |
KR101457418B1 (ko) * | 2009-10-23 | 2014-11-04 | 삼성전자주식회사 | 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
US20110249127A1 (en) * | 2010-04-07 | 2011-10-13 | Cisco Technology, Inc. | Estimating Video Quality Corruption in Lossy Networks |
JP5485851B2 (ja) * | 2010-09-30 | 2014-05-07 | 日本電信電話株式会社 | 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム |
US9542611B1 (en) * | 2011-08-11 | 2017-01-10 | Harmonic, Inc. | Logo detection for macroblock-based video processing |
CN103179468B (zh) * | 2011-12-22 | 2018-03-30 | 海尔集团公司 | 多媒体数据传输装置、系统及方法 |
GB2499831B (en) * | 2012-03-02 | 2015-08-05 | Canon Kk | Method and device for decoding a bitstream |
RU2485592C1 (ru) * | 2012-03-07 | 2013-06-20 | Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" | Способ формирования целочисленных неортогональных декоррелирующих матриц заданных размеров и устройство для его осуществления |
US9386326B2 (en) | 2012-10-05 | 2016-07-05 | Nvidia Corporation | Video decoding error concealment techniques |
US9479788B2 (en) * | 2014-03-17 | 2016-10-25 | Qualcomm Incorporated | Systems and methods for low complexity encoding and background detection |
JP6481457B2 (ja) * | 2015-03-26 | 2019-03-13 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、動画像復号装置、及び動画像復号方法 |
US10319408B2 (en) | 2015-03-30 | 2019-06-11 | Manufacturing Resources International, Inc. | Monolithic display with separately controllable sections |
US10922736B2 (en) | 2015-05-15 | 2021-02-16 | Manufacturing Resources International, Inc. | Smart electronic display for restaurants |
US10269156B2 (en) | 2015-06-05 | 2019-04-23 | Manufacturing Resources International, Inc. | System and method for blending order confirmation over menu board background |
US10353785B2 (en) | 2015-09-10 | 2019-07-16 | Manufacturing Resources International, Inc. | System and method for systemic detection of display errors |
CN105611290B (zh) * | 2015-12-28 | 2019-03-26 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的无线传输图片的处理方法和系统 |
US10319271B2 (en) | 2016-03-22 | 2019-06-11 | Manufacturing Resources International, Inc. | Cyclic redundancy check for electronic displays |
CA3024512C (en) | 2016-05-31 | 2020-12-29 | Manufacturing Resources International, Inc. | Electronic display remote image verification system and method |
US10510304B2 (en) | 2016-08-10 | 2019-12-17 | Manufacturing Resources International, Inc. | Dynamic dimming LED backlight for LCD array |
CN107888931B (zh) * | 2017-11-28 | 2020-03-17 | 上海大学 | 一种利用视频统计特征预测差错敏感度的方法 |
US10908863B2 (en) | 2018-07-12 | 2021-02-02 | Manufacturing Resources International, Inc. | System and method for providing access to co-located operations data for an electronic display |
US11645029B2 (en) | 2018-07-12 | 2023-05-09 | Manufacturing Resources International, Inc. | Systems and methods for remotely monitoring electronic displays |
CN109936624B (zh) * | 2019-01-31 | 2022-03-18 | 平安科技(深圳)有限公司 | Http请求报文头的适配方法、装置和计算机设备 |
US11402940B2 (en) | 2019-02-25 | 2022-08-02 | Manufacturing Resources International, Inc. | Monitoring the status of a touchscreen |
WO2020176416A1 (en) | 2019-02-25 | 2020-09-03 | Manufacturing Resources International, Inc. | Monitoring the status of a touchscreen |
US11921010B2 (en) | 2021-07-28 | 2024-03-05 | Manufacturing Resources International, Inc. | Display assemblies with differential pressure sensors |
US11965804B2 (en) | 2021-07-28 | 2024-04-23 | Manufacturing Resources International, Inc. | Display assemblies with differential pressure sensors |
US11895362B2 (en) | 2021-10-29 | 2024-02-06 | Manufacturing Resources International, Inc. | Proof of play for images displayed at electronic displays |
US11972672B1 (en) | 2022-10-26 | 2024-04-30 | Manufacturing Resources International, Inc. | Display assemblies providing open and unlatched alerts, systems and methods for the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0669765A2 (en) * | 1994-02-25 | 1995-08-30 | AT&T Corp. | Multipoint digital video communication system |
EP0711084A2 (en) * | 1994-11-01 | 1996-05-08 | Hitachi, Ltd. | Video recorder compatible receiver |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0286241A (ja) * | 1988-09-21 | 1990-03-27 | Nippon Telegr & Teleph Corp <Ntt> | 可変レート画像階層符号化伝送方式 |
US5400076A (en) * | 1991-11-30 | 1995-03-21 | Sony Corporation | Compressed motion picture signal expander with error concealment |
US5440344A (en) * | 1992-04-28 | 1995-08-08 | Mitsubishi Denki Kabushiki Kaisha | Video encoder using adjacent pixel difference for quantizer control |
JP2679941B2 (ja) * | 1993-05-10 | 1997-11-19 | 松下電器産業株式会社 | ディジタル磁気記録再生装置 |
KR940026915A (ko) * | 1993-05-24 | 1994-12-10 | 오오가 노리오 | 디지탈 비디오신호 기록장치 및 재생장치 및 기록방법 |
JPH0730896A (ja) | 1993-06-25 | 1995-01-31 | Matsushita Electric Ind Co Ltd | 動きベクトル符号化及び復号化方法 |
JPH0730855A (ja) * | 1993-07-08 | 1995-01-31 | Sony Corp | ビデオデータの記録方法 |
EP0647066A3 (en) * | 1993-09-30 | 1996-08-14 | Toshiba Kk | Packet conversion apparatus and system. |
JP3046224B2 (ja) * | 1994-07-26 | 2000-05-29 | 三星電子株式会社 | 固定ビット率の符号化方法および装置とこれを利用した高速探索のためのトラッキング方法 |
JP3474005B2 (ja) * | 1994-10-13 | 2003-12-08 | 沖電気工業株式会社 | 動画像符号化方法及び動画像復号方法 |
JPH08256333A (ja) * | 1995-03-16 | 1996-10-01 | Matsushita Electric Ind Co Ltd | 画像符号化復号方法及び装置 |
JPH0973617A (ja) * | 1995-09-07 | 1997-03-18 | Sony Corp | 回転ヘッド装置 |
US5883678A (en) * | 1995-09-29 | 1999-03-16 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio |
US5724369A (en) * | 1995-10-26 | 1998-03-03 | Motorola Inc. | Method and device for concealment and containment of errors in a macroblock-based video codec |
JP3400428B2 (ja) * | 1996-05-17 | 2003-04-28 | 松下電器産業株式会社 | 画像伝送方法 |
KR0178756B1 (ko) * | 1996-06-29 | 1999-04-15 | 김광호 | 셔플을 위한 최적의 메모리 제어방법 및 그 장치 |
US6154780A (en) * | 1996-12-18 | 2000-11-28 | Intel Corporation | Method and apparatus for transmission of a flexible and error resilient video bitstream |
GB9703470D0 (en) * | 1997-02-19 | 1997-04-09 | Thomson Consumer Electronics | Trick play reproduction of MPEG encoded signals |
US6639945B2 (en) * | 1997-03-14 | 2003-10-28 | Microsoft Corporation | Method and apparatus for implementing motion detection in video compression |
JP4014263B2 (ja) * | 1997-10-01 | 2007-11-28 | 松下電器産業株式会社 | 映像信号変換装置及び映像信号変換方法 |
US6263468B1 (en) * | 1997-10-23 | 2001-07-17 | Sony Corporation | Apparatus and method for partial buffering transmitted data to provide robust error recovery in a lossy transmission environment |
JPH11298878A (ja) * | 1998-04-08 | 1999-10-29 | Nec Corp | 画像スクランブル方法およびそれを実施する装置 |
GB2347038A (en) * | 1999-02-18 | 2000-08-23 | Nokia Mobile Phones Ltd | A video codec using re-transmission |
US6754271B1 (en) * | 1999-04-15 | 2004-06-22 | Diva Systems Corporation | Temporal slice persistence method and apparatus for delivery of interactive program guide |
US6115076A (en) * | 1999-04-20 | 2000-09-05 | C-Cube Semiconductor Ii, Inc. | Compressed video recording device with non-destructive effects addition |
JP2001078042A (ja) * | 1999-09-03 | 2001-03-23 | Fuji Xerox Co Ltd | 画像伸長処理装置および画像圧縮処理装置 |
JP3976975B2 (ja) * | 1999-12-22 | 2007-09-19 | キヤノン株式会社 | 画像処理装置及びその方法と記憶媒体 |
US6993074B2 (en) * | 2000-03-24 | 2006-01-31 | Microsoft Corporation | Methods and arrangements for handling concentric mosaic image data |
US6721362B2 (en) * | 2001-03-30 | 2004-04-13 | Redrock Semiconductor, Ltd. | Constrained discrete-cosine-transform coefficients for better error detection in a corrupted MPEG-4 bitstreams |
-
2002
- 2002-08-23 NZ NZ531863A patent/NZ531863A/en not_active IP Right Cessation
- 2002-08-23 CA CA002457882A patent/CA2457882C/en not_active Expired - Lifetime
- 2002-08-23 WO PCT/US2002/026577 patent/WO2003019939A1/en active IP Right Grant
- 2002-08-23 IL IL16047602A patent/IL160476A0/xx active IP Right Grant
- 2002-08-23 CN CN02816465A patent/CN100581238C/zh not_active Expired - Lifetime
- 2002-08-23 EP EP02761446A patent/EP1421787A4/en not_active Ceased
- 2002-08-23 RU RU2004105598/09A patent/RU2291586C2/ru active
- 2002-08-23 JP JP2003524260A patent/JP4881543B2/ja not_active Expired - Lifetime
- 2002-08-23 AU AU2002326713A patent/AU2002326713B2/en not_active Expired
- 2002-08-23 KR KR1020047002604A patent/KR100691307B1/ko active IP Right Grant
- 2002-08-23 US US10/226,504 patent/US7239662B2/en not_active Expired - Lifetime
- 2002-08-23 MX MXPA04001656A patent/MXPA04001656A/es active IP Right Grant
- 2002-08-23 BR BR0212000-3A patent/BR0212000A/pt active IP Right Grant
- 2002-08-23 BR BRPI0212000-3A patent/BRPI0212000B1/pt unknown
-
2004
- 2004-02-19 ZA ZA2004/01377A patent/ZA200401377B/en unknown
- 2004-02-19 IL IL160476A patent/IL160476A/en unknown
- 2004-02-20 NO NO20040754A patent/NO339116B1/no not_active IP Right Cessation
-
2007
- 2007-05-24 US US11/753,465 patent/US20070230583A1/en not_active Abandoned
-
2011
- 2011-10-13 JP JP2011225808A patent/JP2012070391A/ja active Pending
-
2016
- 2016-10-06 NO NO20161599A patent/NO343205B1/no not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0669765A2 (en) * | 1994-02-25 | 1995-08-30 | AT&T Corp. | Multipoint digital video communication system |
EP0711084A2 (en) * | 1994-11-01 | 1996-05-08 | Hitachi, Ltd. | Video recorder compatible receiver |
Also Published As
Publication number | Publication date |
---|---|
EP1421787A4 (en) | 2008-10-08 |
BRPI0212000B1 (pt) | 2017-12-12 |
US20070230583A1 (en) | 2007-10-04 |
US7239662B2 (en) | 2007-07-03 |
JP2005501488A (ja) | 2005-01-13 |
CA2457882A1 (en) | 2003-03-06 |
MXPA04001656A (es) | 2004-11-22 |
KR20040027982A (ko) | 2004-04-01 |
IL160476A (en) | 2009-02-11 |
NO339116B1 (no) | 2016-11-14 |
BR0212000A (pt) | 2004-09-28 |
RU2004105598A (ru) | 2005-07-20 |
NO20040754L (no) | 2004-04-23 |
CN100581238C (zh) | 2010-01-13 |
RU2291586C2 (ru) | 2007-01-10 |
AU2002326713B2 (en) | 2006-12-14 |
JP2012070391A (ja) | 2012-04-05 |
NO20161599A1 (no) | 2004-04-23 |
US20030039312A1 (en) | 2003-02-27 |
JP4881543B2 (ja) | 2012-02-22 |
IL160476A0 (en) | 2004-07-25 |
NZ531863A (en) | 2005-10-28 |
ZA200401377B (en) | 2005-07-27 |
CN1679330A (zh) | 2005-10-05 |
WO2003019939A1 (en) | 2003-03-06 |
EP1421787A1 (en) | 2004-05-26 |
CA2457882C (en) | 2009-06-02 |
KR100691307B1 (ko) | 2007-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO343205B1 (no) | System og fremgangsmåte for å skjule videofeil | |
US7020203B1 (en) | Dynamic intra-coded macroblock refresh interval for video error concealment | |
AU2002326713A1 (en) | System and method for video error concealment | |
JP4494789B2 (ja) | 動的フィルタのコーディング | |
US9661376B2 (en) | Video error concealment method | |
US8780970B2 (en) | Motion wake identification and control mechanism | |
US20110026592A1 (en) | Intra block walk around refresh for h.264 | |
US20220337871A1 (en) | Coding image slices using a still picture profile |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK1K | Patent expired |