NO339116B1 - System og fremgangsmåte for å skjule videofeil - Google Patents

System og fremgangsmåte for å skjule videofeil Download PDF

Info

Publication number
NO339116B1
NO339116B1 NO20040754A NO20040754A NO339116B1 NO 339116 B1 NO339116 B1 NO 339116B1 NO 20040754 A NO20040754 A NO 20040754A NO 20040754 A NO20040754 A NO 20040754A NO 339116 B1 NO339116 B1 NO 339116B1
Authority
NO
Norway
Prior art keywords
macroblock
macroblocks
data
video
engine
Prior art date
Application number
NO20040754A
Other languages
English (en)
Other versions
NO20040754L (no
Inventor
Michael Horowitz
Rick Flott
Original Assignee
Polycom Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Polycom Inc filed Critical Polycom Inc
Publication of NO20040754L publication Critical patent/NO20040754L/no
Publication of NO339116B1 publication Critical patent/NO339116B1/no

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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/895Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Radio Transmission System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

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 grad blitt en viktig del av den globale kommunika-sjon. Videokonferanser og videotelefoni har spesielt et bredt anvendelsesområde slik som skrivebords- og rom-baserte konferanser, video over internett og over telefonlinjer, inspeksjon og overvåkning, telemedisin og databasert trening og ut-dannelse. I hver av disse anvendelsene blir video- og tilhørende audio-informasjon overført overtelekommunikasjonsforbindelser, innbefattende telefonlinjer, ISDN, DSL og radiofrekvenser.
Et standard videoformat som brukes ved videokonferanser, er felles mel-lomformat (CIF, Common Iritermediate Format) som er en del av den internasjona-le telekommunikasjonsunionens (ITU) H 261-videokonferansestandard. Det pri-mære CIF-format er også kjent som fullstendig CIF eller FCIF. Ytterligere formater med oppløsninger som er høyere og lavere enn FCIF er også blitt opprettet. Fig. 1 er en tabell over oppløsnings- og bithastighets-kravene for forskjellige videoformater under den antagelse at 12 biter er nødvendig for å representere én 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øringshastig-heter. 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 anvend-else 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, bevegeiseskompen-sert 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.
Som en praktisk sak må også audiodata komprimeres, overføres og synkro-niseres sammen med videodataene. Synkronisering, multipleksing og protokoll-oppgaver 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 kompenseirngs-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 kompenseirngs-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 kompenserings-prosessen er effektiv, bør den gjenværende restmakro-blokk 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 og overfø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ødven-dige for overføring, påvirker enhver feil hvor bevegelsesvektordataene går tapt eller ødelegges for en makroblokk, de tilstøtende makroblokker i negativ retning. Resultatet blir en feilforplantning som skyldes de ødelagte data som fører til lavere videokvalitet.
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 mulig-gjø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 tapte eller ødelagte datapakker ofte redusert videokvalitet. Derfor er det et behov for et system og en fremgangsmåte som organiserer og overfører datapakker for å skjule feil forårsaket av datapakke-tap.
i
OPPSUMMERING AV OPPFINNELSEN
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.
f et utførelseseksempel blir videosignaler kodet til sett med makroblokker.
En motor for omordning av makroblokker tilordner så heltallige merker kalt makroblokk-gruppeidentifikatorer (MBGID'er, Macroblock Group Identifiers) 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ørelsesformer av oppfinnelsen hvor tilstøtende makroblokker ikke tildeles 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 alter-nativ utførelsesform pakker bildebehandlingsmotoren ut de mottatte datapakker, dekoder så makroblokkene i en rekkefølge hvor de ble mottatt, for å redusere be-handlingsforsinkelse. Hvis én 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 en tabell over oppløsnings- og bithastighets-krav for forskjellige videoformater i henhold til teknikkens stand; Fig. 2 er et blokkskjema over en utførelsesform av et videokonferansesystem i henhold til foreliggende oppfinnelse; Fig. 3 er et blokkskjema over et eksempel på en videokonferansestasjon i videokonferansesystemet på fig. 2; Fig. 4 er et blokkskjema over et utførelseseksempel av bildebehandlingsmotoren på fig. 3; Fig. 5 er et eksempel på et diagram for et makroblokk-omordningsmønster for et QCIF-formatert videobilde, hvor hvert tall er eri MBGID tilordnet en makroblokk i en tilsvarende romposisjon; Fig. 6 er et diagram over et eksempel på omordningsmønsteret for QCIF-bildemakroblokken på fig. 5, hvor en datapakke inneholder kodede makroblokkdata 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. 10 er 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 makroblokk-registreringsmønster. I tilegg kan bevegelsesvektorer for hver makroblokk registreres ikke-differensielt. Disse forbedringene søker å dempe de forstyrrelser som forårsakes av datapakketap over en kommunikasjonsforbindelse. Omfanget av foreliggende oppfinnelse dekker en rekke videostandarder, innbefattende, men ikke begrenset til, H.261, H.263, H.264, MPEG, MPEG-2 og MPEG-4.
Fig. 2 illustrerer et eksempel på et videokonferansesystem 200. Videokonferansesystemet 200 innbefatter en lokal videokonferansestasjon 202 og en fjerntliggende videokonferansestasjon 204 tilkoplet gjennom et nett 206. Selv om fig. 2 bare viser to videokonferansestasjoner 202 og 204, vil fagkyndige på området for-stå at flere videokonferansestasjoner kan være koplet til videokonferansesystemet 200. Det skal bemerkes at systemet og fremgangsmåten i henhold til oppfinnelsen kan benyttes i et hvilket som heist kommunikasjonssystem hvor videodata blir
overført over et nett. Nettet kan være av en hvilken som helst type elektronisk overføringsmedium, slik som, men ikke begrenset 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 én utførelsesform innbefatter videokonferansestasjonen 300 en visningsanordning 302, en sentralenhet (CPU) 304, et minne 306, minst én videoinnfangningsanordning 308, en bildebehandlingsmotor 310 og et kommunikasjonsgrensesnitt 312. Alternativt kan andre anordninger være tilveiebrakt i videokonferansestasjonen
300, eller alle de ovennevnte innretninger behøver ikke å være tilveiebrakt. Den minst ene videoinnfangningsanordning 308 kan være implementert som en lad-ningskoplet kameraanordning (CCD-kamera), et komplementært halvledende met-alloksid-kamera (CMOS-kamera) eller en annen type bildeinnfangningsanordning. Den minst ene videoinnfangningsanordning 308 tar bilder av en bruker, et konfe-ranserom eller andre scener, og sender bildene til bildebehandlingsmotoren 310. Bildebehandlingsmotoren 310 behandler vanligvis videobildet til datapakker før kommunikasjonsgrensesnittet 312 sender datapakkene til den fjerntliggende videokonferansestasjon 204. Bildebehandlingsmotoren 310 vil bli diskutert mer detaljert i forbindelse med fig. 4. Bildebehandlingsmotoren 310 transformerer der-imot også mottatte datapakker fra den fjerntliggende videokonferansestasjon 204 til et videosignal for visning på visningsanordningen 302.
Fig. 4 er et utførelseseksempel på bildebehandlingsmotoren 310 på fig. 3. Bildebehandlingsmotoren 310 innbefatter en kodingsmotor 402, en makroblokk-omordningsmotor 404, en makroblokk-pakkemotor 406 og et kommunikasjonsbuf-fer 408. Innledningsvis kommer et videosignal fra videoinnfangningsanordningen 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 makroblokker. En makroblokk er en dataenhet som inneholder datablokker omfattende luminans- og krominans-komponenter tilknyttet bildeelementer (også kalt piksler). I H.263 består f.eks. en makroblokk av fire 8x8 blokker med luminansdata 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. En 4:2:0 kromaformatert makroblokk omfatter data som dekker en seksjon med 16 piksler ganger 16 piksler av videobildet. Foreliggende oppfinnelse er imidlertid ikke begrenset til makroblokker som definert på konvensjonell måte, men kan utvides til en hvilken som helst dataenhet som omfatter luminans- og/eller krominansdata. I tillegg dekker formålet med foreliggende oppfinnelse andre samplingsformater, slik som et 4:2:2 kromasamplingsformat som omfatter fire 8x8 blokker med luminansdata og fire tilsvarende 8x8 blokker med krominansdata eller et 4:4:4 kromasamplingsformat som omfatter fire 8x8 blokker med luminansdata og åtte tilsvarende 8x8 blokker med krominans-data.
I tillegg koder kodingsmotoren 402 (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 ;som helst kombinasjon av intrakodede og interkodede makroblokker. lnterkodede makroblokker er kodet ved å bruke tidslikheter (dvs. likheter som finnes mellom en makroblokk fra ett bilde og en nært overensstemmende makroblokk fra et foregående bilde). En gitt interkodet makroblokk omfatter spesielt kodede forskjeller mellom den gitte makroblokk og en nært overensstemmende makroblokk fra et foregående videobilde. Den nært overensstemmende makroblokk fra det foregående videobilde kan omfatte data vedrørende piksler som er forskjøvet fra de piksler som er tilknyttet den gitte makroblokk. 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 interkodet makroblokk, beregner kodingsmotoren 402 differansene mellom dataene til den gitte makroblokk for et aktuelt videobilde med dataene for en makroblokk fra et foregående videobilde (referert til som en forskyvningsmakroblokk), hvor differansene kan finnes f.eks. ved hjelp av en absolutt middelfeil eller en middelkvad-rert feil mellom data som svarer til piksler lokalisert ved samlokaliserte posisjoner i makroblokkene. For den gitte makroblokk beregner kodingsmotoren 402 feil for et antall forskyvningsmakroblokker. Hvis kodingsmotoren 402 bare finner feil større enn en forutbestemt differanseterskel-verdi, som finnes det ikke signifikante likheter mellom dataene fra den gitte makroblokk og dataene fra det foregående bilde, og makroblokken blir intrakodet. Hvis imidlertid én feil blir funnet å være mindre enn den forutbestemte differanseterskel-verdi for den gitt makroblokk og en gitt forskyvningsmakroblokk fra det foregående bilde, så blir den gitte makroblokk interkodet. ;For å interkode den gitte makroblokk, subtraherer kodingsmotoren 402 den gitte makroblokkens data fra forskyvningsmakroblokkens data (dvs. at luminans-og krominans-data tilknyttet en piksel for den gitte makroblokk blir subtrahert fra luminans- og krominans-data tilknyttet en tilsvarende piksel i forskyvningsmakroblokken for hver piksel) for å gi differansedata, koder differansedataene ved å bruke en standard kodingsteknikk slik som diskret kosinustransformasjons- og ;kvantifiserings-metoder blant andre, bestemmer en forskyvningsvektor fra den ;L gitte makroblokk til forskyvningsmakroblokken (kalt en bevegelsesvektor), og koder bevegeIsesvektoren. ;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 til-feller 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). Bevegelsesvektor-komponentene tilknyttet hver interkodet makroblokk er fortrinnsvis, i motsetning til konvensjonelle metoder, ikke differensiert kodet i henhold til en utførelsesform av foreliggende oppfinnelse. ;I en annen utførelsesform av oppfinnelsen kan kodingsmotoren 402 ultra-kode makroblokker i et bilde ved å benytte en "omvandrande oppfriskings"-mekanisme. "Omvandrings-oppfriskings"-mekanismen er en deterministisk mekanisme for å rense opp referansebilde-mistilpasninger, kalt datadriv, ved hjelp av intrakod-ing 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 "omvandrings-oppfriskings"-mekanismen muliggjort for å intrakode et møn-ster av makroblokker ved å benytte et heltallig omvandringsintervall w valgt fra et sett med forutbestemte heltallige omvandringsintervaller. Hvis f.eks. w = 47 så int-rakoder kodingsmotoren 402 hver w. makroblokk. Omvandingsintervallet kan vel-ges basert på overføringshastigheter for videodata og feilhyppigheter. Når "om-vandrings-oppfriskings"-intrakodede makroblokker blir mottatt av kodingsmotoren i den fjerntliggende videokonferanse-stasjon 204 (fig. 2), erstatter disse "omvand-rings-oppfriskings"-intrakodede makroblokker tilsvarende makroblokker fra tidlig ere 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<n->intrakodede makroblokker forsyner således kodingsmotoren i den fjerntliggende videokonferanse-stasjon 204 med et "friskt" sett med intrakodede makroblokker som skal brukes som referansemakroblokker for derved å redusere utbredelsen av datadriv. ;Kodingsmotoren 402 kan videre generere et intramakroblokk-kart som identifiserer hvilke makroblokker i et kodet videobilde som er intrakodet. Etter at intramakroblokk-kartet er generert, sender bildebehandlingsmotoren 310 kartet til den fjerntliggende videokonferanse-stasjon 204. Kartet kan så sendes som en del avbildehodefeltet tilknyttet det kodede videobilde, f.eks., selv om andre felter kan brukes. ;I henhold til foreliggende oppfinnelse kan kodingsmotoren 402 generere intramakroblokk-kartet på én av to måter. Ifølge en utførelsesform av oppfinnelsen benytter kodingsmotoren 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 en annen utførelsesform av oppfinnelsen genererer kodingsmotoren 402 et bitkart hvor hver bit i bitkartet svarer til en makroblokk i bildet. En bits verdi identifiserer en tilsvarende makroblokks kodingstype. I en utførelsesform av oppfinnelsen betegner f.eks. en "1" bit at en tilsvarende makroblokk er intrakodet. I en annen utførelsesform av oppfinnelsen betegner en "1" bit at den tilsvarende makroblokk er interkodet. Andre fremgangsmåter for generering av intramakroblokken kan tenkes brukt i forbindelse med foreliggende oppfinnelse. ;I nok en annen utførelsesform av oppfinnelsen velger kodingsmotoren 402 den kodingsmetode for intramakroblokk-kartet som frembringer det færreste antall biter. Et FCIF-videobilde med 352x288 piksler (dvs. 352 pikslers horisontal oppløs-ning og 288 pikslers vertikal oppløsning) omfatter 396 makroblokker utformet som en 22x18-makroblokkmatrise. Uten å innbefatte eventuelle styringsbiter som kan ;være nødvendige, krever kodingsmetoden for bitkartet 396 biter (én bit for hver makroblokk). 396 biter blir således brukt til å sende det bitkart-kodede intramakro- ;blokk-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. åtte biter pr. kjøreverdi), hvor kjøreverdien identifiserer en posisjon for den intrakodede makroblokk i FCIF-bildet. Hvis FCIF-bildet derfor inneholder intrakodede makroblokker, så er 8n biter nødvendig for å overføre det kjørelengdekod-ede intramakroblokk-kart. ;Hvis således CIF-bildet inneholder mindre enn 50 intrakodede makroblokker (n < 50), så velger kildekodingsmotoren 402 kjørelengdekodingsmetoden, ellers velger kildekodingsmotoren 402 bitkart-kodingsmetoden. Valget av kodingsmetode for intramakroblokk-kartet er avhenging av videoformatet, hvor FCIF-videobildet er et eksempel. ;Deretter blir de kodede markroblokker videresendt til makroblokk-omordningsmotoren 404. Makroblokk-omordningsmotoren 404 omordner de kodede datablokker. Spesielt blir hver makroblokk tildelt en makroblokkgruppe-identifikator (MBGID) fra et antall MBGID'er. I et utførelseseksempel er makroblokkene num-merert fra én til seks i henhold til et eksempel på et makroblokk-tildelingsmønster som er illustrert på fig. 5 for et QCIF-formatert bilde som har ni rader med elleve makroblokker pr. rad. Den maksimale MBGID blir referert til som en maksimal gruppeidentifikator (MGID). I utførelseseksempelet på fig. 5 er MGID = 6. Som vist blir MGID'ene tildelt på en måte som minimaliserer 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 som helst 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 dekodede 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 MBGlD'er kan benyttes i henhold til foreliggende oppfinnelse. I en utførelsesform av oppfinnelsen velger makroblokk-omordningsmotoren 404 en MGID basert på videodatahastigheter og/eller videoformat. ;Det vises tilbake til fig. 4 hvor makroblokk-pakkemotoren 404 når makroblokkene er blitt tildelt MBGID'er, plasserer makroblokkene i diskrete datapakker i henhold til deres MBGID'er. Makroblokker med samme MBGID (f.eks. MBGID = 1) vil således bli plassert i en felles, diskret datapakke (f.eks. datapakke 1). Det vises til fig. 5 hvor pakkemotoren 406 i henhold til utføreiseseksempelet plasserer makroblokkene i seks datapakker pr. QCIF-bildet. Pakkemotoren 406 kan imidlertid benytte mer enn én pakke med en gitt MBGID for å transportere makroblokker med den gitte MBGID. Pakkemotoren 406 kan f.eks. lage en første datapakke 1 omfattende en del av makroblokkene med MBGID = 1 og en annen datapakke 1 som omfatter resten av makroblokkene med MBGID = 1. Oppdelingen av pakkene på denne måten blir 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 kommunikasjonsgrensesnittet 312 (fig. 3). For ytterligere å fremme fleksibilitet mot pakketap, kan bildehodet overføres mer enn én gang pr. bilde. Bildehodet kan innbefatte intramakroblokk-kartet. ;Bildebehandlingsmotoren 310 kan omvendt også behandle videodatapakker mottatt fra et fjerntliggende sted og fremskaffe videosignaler for fremvisning. Innledningsvis blir videodatapakker mottatt av kommunikasjonsgrensesnittet 312 (fig. 3) og videresendt til kommunikasjonsbufferet 408. Videodatapakkene blir så sendt til makroblokk-pakkemotoren 406 som pakker opp makroblokkene. Deretter ordner rnakroblokk-omordningsmotoren 404 makroblokkene tilbake til deres opprinnelige ordnede mønster (dvs. mønsteret før makroblokk-omordning i den fjerntliggende 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ønsterettil 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ørelsesform av foreliggende oppfinnelse, for derved å muliggjøre nøyaktige, enkle feilskjulingsteknikker som anvender slike metoder som rommessig interpolering eller bevegelsésvektor-estimering og -kompensasjon. Selv om fig. 6 illustrerer en enkelt manglende datapakke for å gjøre diskusjonen enklere, dekker oppfinnelsens omfang feilskjuling når et hvilket 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 mottaker- og sender-anordninger. ;Det vises tilbake til fig. 4 hvor kodingsmotoren 402 for hver tapt makroblokk bestemmer om den tapte makroblokk er intrakodet eller interkodet. Kodingsmotoren 402 kan f.eks. undersøke intramakroblokk-kartet for å bestemme om den tapte makroblokk er intrakodet. Som nevnt ovenfor kan intramakroblokk-kartet sendes i bildekodefelter eller som sideinformasjon transportert utenfor en videostrøm, og kan komprimeres ved å bruke en kjørelengdekodingsalgoritme utformet som et bitkart som identifiserer intrakodede makroblokker eller en annen effektiv kodingsmetode. ;Hvis de tapte makroblokker er intrakodet, så kan flere feilskjulingsteknikker benyttes. Hvis den tapte makroblokk f.eks. er intrakodet som en del av en "omvan-drings-oppfriskings"-mekanisme, kan kodingsmotoren 402 erstatte den tapte makroblokk 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 foreliggende oppfinnelse er "omvandrings-oppfriskings"-mekanismens rensehastighet en funksjon av dataene og feilhyppighetene. ;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 8x8 blokk i den tapte makroblokk inter-poleres rommessig fra de to nærmeste blokker som befinner seg i tilstøtende makroblokker. Fig. 7 illustrerer et eksempel på en interpoleirngsmå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øt-ende 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. kodingsmotoren 402 (fig. 4) data i en siste datakol-onne 730 (indikert med x'er) fra en 6 x 8 øvre høyre blokk 735 i den venstre tilstøt-ende makroblokk 710, og data i en siste datarad 740 (indikert med x'er) fra en ;8x8 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 kodingsmotoren 402 data i en første datakolon-ne 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øt-ende 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 kodingsmotoren 402 et estimat av den tapte makroblokkens bevegelsesvektor ved å undersøke bevegelsesvektorene for tilstøtende makroblokker. Fig. 8 er et blokkskjema over tilstøt-ende makroblokker som brukes til å estimere bevegelsesvektoren til en tapt makroblokk m, i henhold til en utførelsesform av 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 MV<a>x, MV<b>xog MV<0>*) og y-komponenten til den estimerte bevegelsesvektoren til makroblokk m er MN/% = median (MV<a>y, MV^y og MV<c>y), hvor MV<a>XlMV<b>xog MV<C>Xer x-komponentene til bevegelses vektorene for henholdsvis makroblokkene a, b og c og MV<a>y, MV<b>y og MV^y, er y-komponentene til bevegelsesvektorene til henholdsvis makroblokkene a, b og c. Selv om utførelsesformen av oppfinnelsen på fig. 8 benytter bevegelsesvektorer fra tilstøtende makroblokker a, b og c fil å beregne en estimert bevegelsesvektor 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år den tapte makroblokkens bevegelsesvektor estimeres, bevegelseskom-penserer kodingsmotoren 402 (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 én 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
videofeilskjuling ved overføring av videodata over pakkesvitsjede nett, i henhold til en utførelsesform av foreliggende oppfinnelse. I trinn 905 innfanger videoinnfangningsanordningen 308 (fig. 3) et videobilde og genererer et videosignal. Deretter, i trinn 910, mottar kodingsmotoren 402 (fig. 4) (også kalt en koder ved behandling av data for overføring) videosignalet og transformerer videosignalet til én elter flere intrakodede og interkodede makroblokker. Et videobilde kan omfatte interkodede makroblokker, intrakodede makroblokker eller en hvilken som helst kombinasjon av intrakodede og interkodede makroblokker. I en utførelsesform av oppfinnelsen er en "omvandrings-oppfirskings"-mekanisme i stand til å intrakode et mønster av makroblokker ved å benytte et omvandringsintervall valgt fra et sett med forutbestemte omvandringsintervaller. Omvandringsintervallet kan være valgt basert på videodatahastigheter og feithyppigheter. I tillegg beregner kodingsmotoren 402 en 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 foreliggende oppfinnelsen blir intramakroblokk-kartet kodet ved å benytte enten en kjørelengdekodingsmetode eller en bitkartkodingsmetode basert på totalt antall biter som er nødvendig for å kode intramakroblokk-kartet.
Deretter tildeler en makroblokk-omordningsmotor 404 (fig. 4) en MBGID til hver makroblokk i trinn 920. Makroblokkene kan f.eks. tildeles MBGID'er i et møn-ster slik som det som er vist på fig. 5.1 én utførelsesform blir makroblokkene tildett for å minimalisere tilstøtende makroblokker som er 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 kan makroblokk-pakkemotoren 406 være en transportmotor 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 kommunikasjonsbufferet 408 (fig. 4) for overfø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 ved-rørende en videodatapakke-omforming (f.eks. RTP-sekvensnummeret) bestemmer om noen makroblokker som omfatter videobildet, mangler, i trinn 1025. Makroblokker er tapt hvis én eller flere videodatapakker er tapt eller ødelagt via over-fø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 én 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 "omvandrings-oppfriskings"-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 int-erpoleres rommessig fra de nærmeste tilstøtende nabomakroblokker. I en utførel-sesform 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 kodingsmotoren 402 den tapte makroblokkens bevegelsesvektor ved å undersøke bevegelsesvektoren til tilstøtende makroblokker. I én utførelsesform av oppfinnelsen blir bevegelsesvektoren beregnet som en median av bevegelsesvektorene til tre nabomakroblokker (fig. 8). Kodingsmotoren 402 bruker så den estimerte bevegelsesvektor til å kompensere for datainnholdet i den tapte makroblokk ved å rekonstruere et estimat av den tapte makroblokkens datainnhold. Når datainnholdet i de tapte makroblokker er blitt rekonstruert, blir makroblokkene vist på visningsanordningen 302, i trinn 1025.
Oppfinnelsen er blitt forklart ovenfor under henvisning til utførelseseksemp-
ler. Det vil være klart for fagkyndige på området at forskjellige modifikasjoner kan
i gjennomføres uten å avvike fra oppfinnelsens rekkevidde. Selv om oppfinnelsen videre er blitt beskrevet i forbindelse med dens implementering i spesielle omgivelser og for spesielle anvendelser, vil fagkyndige på området innse at foreliggende oppfinnelses bruksområde ikke er begrenset til dette, og at oppfinnelsen med fordel kan benyttes i mange andre omgivelser og implementeringer. Den foregående beskrivelse og tegningene er følgelig å anse som en illustrasjon i stedet for å bli ansett på en begrensende måte.

Claims (42)

1. System for behandling av videodata, omfattende: en kodingsmotor (402) for behandling av hvert bilde i et videosignal for å generere makroblokker og for å kode makroblokkene; en makroblokk-omordningsmotor (404) for å tildele en makroblokk-gruppeidentifikator (MBGID) fra et antall MBGID'er til hver kodet makroblokk; ogkarakterisert ved: en makroblokk-pakkemotor (406) for å plassere hver av de kodede makroblokker i en spesiell datapakke i henhold til MBGID, slik at hver pakke innbefatter kun makroblokker med felles MBGID.
2. System ifølge krav 1, hvor makroblokk-omordningsmotoren (404) tildeler en forskjellig MBGID til tilstøtende, kodede makroblokker.
3. System ifølge krav 1, hvor kodingsmotoren (402) generer ikke-differensielt kodede bevegelsesvektorer for hver av de kodede makroblokker, som er en interkodet makroblokk.
4. System ifølge krav 1, hvor makroblokk-pakkemotoren (406) plasserer de kodede makroblokker med forskjellige tildelte MBGID'er i forskjellige datapakker.
5. System ifølge krav 1, hvor MBGID'en har en verdi fra 1 til en maksimal gruppeidentifikator (MGID).
6. System ifølge krav 5, hvor makroblokk-omordningsmotoren (404) bestemmer MGID basert på videodata hastig heter.
7. System ifølge krav 5, hvor makroblokk-omordningsmotoren (404) bestemmer MGID basert på videoformat.
8. System ifølge krav 1, hvor kodingsmotoren (402) koder en gitt makroblokk i et aktuelt bilde som en intrakodet makroblokk hvis det finnes betydelige forskjeller mellom dataene i den gitte makroblokk i den aktuelle ramme og data i en nært overensstemmende forskyvningsmakroblokk i et foregående bilde.
9. System ifølge krav 1, hvor kodingsmotoren (402) koder en gitt makroblokk i et aktuelt bilde som en interkodet makroblokk hvis det finnes betydelige likheter mellom dataene i den gitte makroblokk i det aktuelle bilde og dataene i en nært overensstemmende forskyvningsmakroblokk i et foregående bilde.
10. System ifølge krav 1, hvor kodingsmotoren (402) videre genererer et intramakroblokk-kart som identifiserer intrakodede makroblokker i et gitt bilde.
11. System ifølge krav 10, hvor kodingsmotoren (402) koder intramakroblokk-kartet ved å velge en kodingsmetode for intramakroblokk-kartet som genererer færrest antall biter.
12. System ifølge krav 10, hvor kodingsmotoren (402) bruker kjørelengdekoding for å kode intramakroblokk-kartet.
13. System ifølge krav 10, hvor kodingsmotoren (402) benytter et bitkart til å kode intramakroblokk-kartet.
14. System ifølge krav 1, hvor makroblokk-pakkemotoren (406) i en mottakeranordning pakker opp de kodede makroblokker.
15. System ifølge krav 1, hvor makroblokk-omordningsmotoren (404) i en mottakeranordning ordner de kodede makroblokker.
16. System ifølge krav 1, hvor kodingsmotoren (400) i en mottakeranordning dekoder (1020) de kodede makroblokker og detekterer (1025) manglende dekodede makroblokker.
17. System ifølge krav 16, hvor kodingsmotoren (402) i mottakeranordningen rommessig interpolerer data for en gitt manglende, dekodet makroblokk fra data for til-støtende, dekodede makroblokker for å skjule virkninger av videofeil, hvis den gitte manglende, dekodede makroblokk var kodet som en intrakodet makroblokk.
18. System ifølge krav 16, hvor kodingsmotoren (402) i mottakeranordningen estimerer en bevegelsesvektor for en gitt manglende, dekodet makroblokk basert på bevegeisesvektorer for tilstøtende dekodede makroblokker for å rekonstruere datainnholdet i den gitte manglende, dekodede makroblokk via bevegelseskompensering for å skjule virkninger av videofeil, hvis den gitte manglende, dekodede makroblokk var kodet som en interkodet makroblokk.
19. System ifølge krav 1, hvor makroblokk-pakkemotoren (406) er en transportmotor for å plassere hver av de kodede makroblokker i henhold til MBGID i et spesielt format for transport i et linjesvitsjet nett.
20. Fremgangsmåte for behandling av videodata, omfattende følgende trinn: å behandle (910) hvert bilde i et videosignal for å generere makroblokker; å kode makroblokkene; å tildele en makroblokk-gruppeidentifikator (MBGID) fra et antall MBGID'er til hver av de kodede makroblokker; å omordne (920) de kodede makroblokker i henhold til MBGID'en; ogkarakterisert vedtrinn med: å plassere (925) hver av de kodede makroblokker i en spesiell datapakke, slik at hver pakke innbefatter kun makroblokker med felles MBGID.
21. Fremgangsmåte ifølge krav 20, hvor tildelingstrinnet videre omfatter trinnet med å tildele tilstøtende, kodede makroblokker en forskjellig MBGID.
22. Fremgangsmåte ifølge krav 20, videre omfattende trinnet med å generere ikke-forskjellig kodede bevegelsesvektorer for hver av de kodede makroblokker som er en interkodet makroblokk.
23. Fremgangsmåte ifølge krav 20, hvor plasseringstrinnet (925) videre omfatter trinnet med å plassere de kodede makroblokker med forskjellige tildelte MBGID'er i forskjellige datapakker.
24. Fremgangsmåte ifølge krav 20, hvor MBGID'en har en verdi fra 1 til en maksimal gruppeidentifikator (MGID).
25. Fremgangsmåte ifølge krav 23, videre omfattende trinnet med å bestemme MGID'en basert på videodata hastig heter.
26. Fremgangsmåte ifølge krav 23, videre omfattende trinnet med å bestemme MGID'en basert på videoformat.
27. Fremgangsmåte ifølge krav 20, hvor kodingstrinnet videre omfatter trinnet med å kode en gitt makroblokk i et aktuelt bilde som en intrakodet makroblokk hvis det finnes betydelige forskjeller mellom dataene i den gitte makroblokk i det aktuelle bilde og data for en nærmest overensstemmende forskyvningsmakroblokk i et foregående bilde.
28. Fremgangsmåte ifølge krav 20, hvor kodingstrinnet videre omfatter trinnet med å kode en gitt makroblokk i et aktuelt bilde som en interkodet makroblokk hvis betydelige likheter finnes mellom dataene i den gitte makroblokk i det aktuelle bilde og data for en nærmest overensstemmende forskyvningsmakroblokk i et foregående bilde.
29. Fremgangsmåte ifølge krav 20, videre omfattende trinnet med å generere (915) et intramakroblokk-kart som identifiserer intrakodede makroblokker i et gitt bilde.
30. Fremgangsmåte ifølge krav 29, videre omfattende trinnet med å velge en kodingsmetode for et intramakroblokk-kart som genererer færrest antall biter.
31. Fremgangsmåte ifølge krav 29, videre omfattende trinnet med å benytte kjøre-lengdekoding for å kode intramakroblokk-kartet.
32. Fremgangsmåte ifølge krav 29, videre omfattende trinnet med å benytte et bitkart til å kode intramakroblokk-kartet.
33. Fremgangsmåte ifølge krav 20, videre omfattende trinnet med å pakke opp (1010) de kodede makroblokker.
34. Fremgangsmåte ifølge krav 20, videre omfattende trinnet med å ordne (1015) de kodede makroblokker.
35. Fremgangsmåte ifølge krav 20, videre omfattende de trinn med å dekode (1020) de kodede makroblokker og detektere (1025) manglende dekodede makroblokker.
36. Fremgangsmåte ifølge krav 35, videre omfattende trinnet med å rommessig interpolere 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.
37. Fremgangsmåte ifølge krav 35, videre omfattende trinnet med å estimere en bevegelsesvektor for en gitt manglende, dekodet makroblokk basert på bevegelses vektorer for tilstøtende dekodede makroblokker for å rekonstruere datainnholdet i den gitte manglende, dekodede makroblokk via bevegelseskompensering for å skjule virkninger av videofeil, hvis den gitte manglende, dekodede makroblokk var kodet som en interkodet makroblokk.
38. Fremgangsmåte ifølge krav 20, hvor plasseringstrinnet (925) videre omfatter trinnet med å plassere hver av de kodede makroblokker i henhold til MBGID'en i et spesielt format for overføring i et linjesvitsjet nett.
39. Fremgangsmåte for behandling av videodata, omfattende følgende trinn: å generere (905) makroblokker for hvert bilde i et videosignal; å kode (910) makroblokkene; å tildele en makroblokk-gruppeidentifikator (MBGID) fra et flertall av MBGID'er til hver kodet makroblokk; å omordne (920) de kodede makroblokker i henhold til MBGID'en; karakterisert vedtrinn med: å plassere (925) de omordnede makroblokker i forskjellige datapakker, slik at hver pakke inneholder kun makroblokker som har en felles MBGID; å sende (930) de forskjellige datapakker til en fjerntliggende enhet; å dekode (1020) de kodede makroblokker av de forskjellige datapakker som er mottatt på den fjerntliggende enhet; å detektere (1025) manglende dekodede makroblokker; og å rekonstruere (1035) data i de manglende dekodede makroblokker.
40. Fremgangsmåte ifølge krav 39, hvor trinnet med å rekonstruere (1035) data videre omfatter trinnet med å rommessig interpolere data for en gitt manglende dekodet makroblokk fra data i tilstøtende dekodede makroblokker for å skjule virkninger av videofeil, hvis den gitte manglende, dekodede makroblokk var kodet som en intrakodet makroblokk.
41. Fremgangsmåte ifølge krav 39, hvor trinnet med å rekonstruere (1035) data videre omfatter trinnet med å estimere en bevegelsesvektor for en gitt manglende dekodet makroblokk basert på bevegelsesvektorer for tilstøtende dekodede makroblokker for å rekonstruere datainnholdet av den gitte manglende dekodede makroblokk via bevegelseskompensasjon for å skjule virkninger av videofeil, hvis den gitte manglende dekodede makroblokk var kodet som en interkodet makroblokk.
42. System for behandling av videodata, omfattende: midler for behandling av hvert bilde i et videosignal for å generere makroblokker; midler (402) for koding av makroblokken; midler for tildeling av en makroblokk-gruppeidentifikator (MBGID) fra et flertall av MBGID'er til hver kodet makroblokk; midler (404) for omordning av den kodede makroblokk i henhold til MBGID'en; ogkarakterisert vedtrinn med: midler (408) for plassering av hver omordnet makroblokk i en spesiell datapakke, slik at hver pakke inneholder kun makroblokker som har en felles MBGID.
NO20040754A 2001-08-23 2004-02-20 System og fremgangsmåte for å skjule videofeil NO339116B1 (no)

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
NO20040754L NO20040754L (no) 2004-04-23
NO339116B1 true NO339116B1 (no) 2016-11-14

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 After (1)

Application Number Title Priority Date Filing Date
NO20161599A NO343205B1 (no) 2001-08-23 2016-10-06 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) BRPI0212000B1 (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)

* Cited by examiner, † Cited by third party
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
WO2004064397A1 (en) * 2003-01-10 2004-07-29 Thomson Licensing S.A. Spatial error concealment based on the intra-prediction modes transmitted in a coded stream
US7693338B2 (en) * 2003-01-10 2010-04-06 Thomson Licensing Technique for defining concealment order to minimize error propagation
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
CN101485202B (zh) * 2005-05-11 2013-10-30 高通股份有限公司 一种用于统一的错误隐匿框架的方法及设备
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
US9516326B1 (en) 2005-12-09 2016-12-06 Nvidia Corporation Method for rotating macro-blocks of a frame of a video stream
US9794593B1 (en) * 2005-12-09 2017-10-17 Nvidia Corporation Video decoder architecture for processing out-of-order macro-blocks 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
US8375304B2 (en) * 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
US9247260B1 (en) * 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
CN101202923B (zh) * 2006-12-15 2010-09-01 扬智科技股份有限公司 影像解码器的码流错误侦测方法
EP2099227B1 (en) * 2006-12-27 2019-11-13 Panasonic Intellectual Property Management Co., Ltd. Moving picture image decoding device
WO2008092131A2 (en) * 2007-01-25 2008-07-31 Skyfire Labs, Inc. 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
WO2017044952A1 (en) 2015-09-10 2017-03-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
US10313037B2 (en) 2016-05-31 2019-06-04 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 上海大学 一种利用视频统计特征预测差错敏感度的方法
US11645029B2 (en) 2018-07-12 2023-05-09 Manufacturing Resources International, Inc. Systems and methods for remotely monitoring electronic displays
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
CN109936624B (zh) * 2019-01-31 2022-03-18 平安科技(深圳)有限公司 Http请求报文头的适配方法、装置和计算机设备
WO2020176416A1 (en) 2019-02-25 2020-09-03 Manufacturing Resources International, Inc. Monitoring the status of a touchscreen
US11402940B2 (en) 2019-02-25 2022-08-02 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163868A (en) * 1997-10-23 2000-12-19 Sony Corporation Apparatus and method for providing robust error recovery for errors that occur in a lossy transmission environment

Family Cites Families (30)

* Cited by examiner, † Cited by third party
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
US5576902A (en) * 1993-01-13 1996-11-19 Hitachi America, Ltd. Method and apparatus directed to processing trick play video data to compensate for intentionally omitted data
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.
US5481297A (en) * 1994-02-25 1996-01-02 At&T Corp. Multipoint digital video communication 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 松下電器産業株式会社 映像信号変換装置及び映像信号変換方法
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163868A (en) * 1997-10-23 2000-12-19 Sony Corporation Apparatus and method for providing robust error recovery for errors that occur in a lossy transmission environment

Also Published As

Publication number Publication date
NZ531863A (en) 2005-10-28
CN1679330A (zh) 2005-10-05
JP4881543B2 (ja) 2012-02-22
JP2012070391A (ja) 2012-04-05
BR0212000A (pt) 2004-09-28
US7239662B2 (en) 2007-07-03
NO343205B1 (no) 2018-12-03
KR100691307B1 (ko) 2007-03-12
JP2005501488A (ja) 2005-01-13
NO20161599A1 (no) 2004-04-23
US20030039312A1 (en) 2003-02-27
BRPI0212000B1 (pt) 2017-12-12
US20070230583A1 (en) 2007-10-04
IL160476A0 (en) 2004-07-25
EP1421787A1 (en) 2004-05-26
WO2003019939A1 (en) 2003-03-06
CA2457882C (en) 2009-06-02
AU2002326713B2 (en) 2006-12-14
EP1421787A4 (en) 2008-10-08
RU2291586C2 (ru) 2007-01-10
CN100581238C (zh) 2010-01-13
ZA200401377B (en) 2005-07-27
CA2457882A1 (en) 2003-03-06
RU2004105598A (ru) 2005-07-20
NO20040754L (no) 2004-04-23
MXPA04001656A (es) 2004-11-22
KR20040027982A (ko) 2004-04-01
IL160476A (en) 2009-02-11

Similar Documents

Publication Publication Date Title
NO20161599A1 (no) System og fremgangsmåte for å skjule videofeil
US9661376B2 (en) Video error concealment method
US7020203B1 (en) Dynamic intra-coded macroblock refresh interval for video error concealment
AU2002326713A1 (en) System and method for video error concealment
RU2302707C2 (ru) Кодирующие динамические фильтры
US8780970B2 (en) Motion wake identification and control mechanism
EP1575302A2 (en) Intra block walk around refresh for H.264
US20210321130A1 (en) Method and apparatus for video coding

Legal Events

Date Code Title Description
CHAD Change of the owner's name or address (par. 44 patent law, par. patentforskriften)

Owner name: POLYCOM INC, US

MK1K Patent expired