SE515535C2 - En transkoder - Google Patents
En transkoderInfo
- Publication number
- SE515535C2 SE515535C2 SE9603909A SE9603909A SE515535C2 SE 515535 C2 SE515535 C2 SE 515535C2 SE 9603909 A SE9603909 A SE 9603909A SE 9603909 A SE9603909 A SE 9603909A SE 515535 C2 SE515535 C2 SE 515535C2
- Authority
- SE
- Sweden
- Prior art keywords
- transcoder
- resolution
- dct
- video signal
- block
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 126
- 239000013598 vector Substances 0.000 claims abstract description 80
- 230000008859 change Effects 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 47
- 238000013138 pruning Methods 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 14
- 238000013139 quantization Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 description 36
- 230000002123 temporal effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 101150115425 Slc27a2 gene Proteins 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000003817 vacuum liquid chromatography Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005201 scrubbing Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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
-
- 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/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- 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/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
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)
- Television Systems (AREA)
Description
515 535 . . . « . - 2 Exempelvis kan det första pixlet i en ram överföras exakt, medan varje efterföljande pixel överförs som en skillnad från sin föregångare. I mer komplexa scheman kan prediktionen fås genom en kombination av ett antal pixel.
Transformkodning utnyttjar korrelationen av pixelvärden inuti en ram genom att transformera värdena till en annan uppsättning av värden, av vilka många kan antas vara mycket små och därför kan kodas med användning av färre bitar. Den mest vanliga formen av transformkodning använder den diskreta cosinustransformen (DCT).
Ett block av NxM pixlar transformeras till en matris av NxM transformkoefficienter. Den resulterande matrisen av koefficienter kvantiseras sedan genom att dela varje koefficient med en kvantiseringsfaktor. De kvantiserade koefficienterna kan sedan kodas genom en variabellängdkod, till exempel en Huffmankod.
En annan kodningsteknik är rörelsekompensering i vilken en bild indelas i block av pixel och varje block i en aktuell ram jämförs med motsvarande block i en referensram, vilken kan vara en tidigare och/eller efterföljande ram, och med områden lägesskiftade från detta block, och det område i referensramen som blocket mest liknar identifieras.
Vektorskillnaden i läget mellan det identifierade området och blocket i fråga benämns en rörelsevektor och används för att skifta det identifierade området i referensramen till läget för det relevanta blocket i den aktuella ramen. Rörelsevektorer alstras för alla block i den aktuella ramen och dessa används för att härleda en predikterad ram från referensramen.
Skillnaderna mellan den aktuella ramen och en predikterad ram är, i medeltal, mindre än de mellan den aktuella ramen och referensramen och kan kodas med användning av färre bitar. En avkodare som redan har referensramen lagrad kan således återskapa den aktuella ramen med användning av rörelsevektorerna och skillnadsvärdena. En signal kan kodas med användning av någon av de tidigare nämnda kodningsteknikerna, antingen separat eller i kombination. 515 535 3 Vidare är det rimligt att anta att i framtiden kommer en stor mängd kvalitetsvideotjänster såsom HDTV, etc, att finnas tillgängliga tillsammans med videotjänster av lägre kvalitet såsom videotelefon- och videokonferenstjänster.
Multimediadokument som innehåller video kommer med största sannolikhet inte att endast hämtas över datanät utan också över telefonledningar, ISDN, ATM eller till och med mobilnät. Överföringen över olika typer av länkar eller nät med olika bithastigheter och varierande trafiklast kommer att kräva anpassning av bithastigheten till den tillgängliga kanalkapaciteten. En huvudbegränsning i systemen är att avkodningen av en nivå, som är lägre än den som hör samman med det överförda formatet inte skall behöva hela avkodningen av den sändande källan.
För att maximera integrationen av dessa olika kvalitetsvideotjänster är ett enda kodningsschema som kan åstadkomma en obegränsad mängd av videotjänster önskvärd. Ett sådant kodningsschema skulle möjliggöra för användare av olika kvaliteter att kommunicera med varandra. Till exempel skulle en abonnent av endast en lågkvalitetsvideotjänst kunna avkoda och rekonstruera en överförd videosignal med högre kvalitet, dock vid den lägre kvalitetstjänstnivån på vilken han abonnerar. På liknande sätt bör en högkvalitetstjänstabonnent kunna avkoda och rekonstruera en digitalt överförd lågkvalitetsvideo även om dess subjektiva kvalitet naturligtvis inte kommer att vara bättre än den överförda kvaliteten.
Problemet hör därför samman med det sätt på vilken video kommer att överföras till abonnenten med olika krav (bildkvalitet, processorkraft, minneskrav, upplösning, bandbredd, bildhastighet, etc) De följande punkterna summerar kraven. - tillfredsställa användare med olika bandbreddskrav, - tillfredsställa användare med olika beräkningskraft, - anpassa bildhastighet, upplösning och kompressionsgrad i enlighet med användarpreferenser och tillgänglig bandbredd, - anpassa bildhastighet, upplösning och kompressionskrav i enlighet med nätförmåga, 515 535 | 4 » ; n» - kort fördröjning, och - överensstämma med standarder om så krävs.
En lösning på problemet med möta de olika kraven hos mottagarna är utformning av skalbara bitströmmar. I denna form av skalning finns det vanligen ingen direkt samverkan mellan sändare och mottagare. Vanligen kan sändaren göra en bitström som består av olika lager som kan användas av mottagare med olika krav på upplösning, bandbredd, bildhastighet, minne eller beräkningskomplexitet. Om nya mottagare läggs till, vilka inte har samma krav som de tidigare, så måste sändaren omprogrammeras för att tillgodose kraven hos de nya mottagarna.
Sammanfattningsvis måste i en skalbar bitström förmågan hos avkodarna vara känd i förväg.
Vidare kan utformningen av en skalbar bitström resultera i ett större antal bitar jämfört med en enda bitström för att åstadkomma en liknande kvalitet. En skalbar bitström kräver också mycket beräkningskraftiga kodare, vilka kan bestå av ett antal kodare lika med antalet olika mottagare.
En annan lösning på problemet är användningen av transkodrar. En transkoder mottager en mottagen dataström som är kodad enligt ett första kodningsschema och avger en kodad dataström kodad enligt ett andra kodningsschema. Om man hade en avkodare som arbetade enligt det andra kodningsschemat skulle en sådan transkoder tillåta mottagning av den sända signalen kodad enligt det första kodningsschemat utan modifiering av ursprungskodaren.
Exempelvis skulle transkodern kunna omvandla en 128 kbit/s videosignal utformad i enlighet med ITU-T standard H.261, från en ISDN-videoterminal för överföring till en 28,8 kbit/s-signal över en telefonledning med användning av ITU-T standard H.263.
De flesta av de kända transkodrarna avkodar videosignaler enligt ett första kodningsschema till en okomprimerad videosignal, vilken sedan kodas av en kodare enligt ett andra kodningsschema för att utmata en ny komprimerad dataström. Således utförs en fullständig avkodningsoperation för att återskapa ursprungssignalen och sedan kodas den återskapade signalen för 515 535 =« .nu 5 att åstadkomma en ny kodad dataström enligt det andra kodningsschemat. För kodningsförfaranden som innefattar rörelsekompensering måste nya rörelsevektorer alstras för signalen som kodas enligt det nya kodningsschemat och detta upptar en stor andel av tiden för konventionella transkodrar.
Olika transkoderarkitekturer för videosignaler har nyligen beskrivits i litteraturen. Forskningen har huvudsakligen varit koncentrerad till hastighetstranskodning, det vill säga transkodning från en viss bithastighet till en lägre bithastighet utan ändring i upplösningen.
Vidare beskriver den internationella patentansökan WO 95/29561 en transkoder som extraherar rörelsevektorer från en inkommande, mottagen dataström och överför den till dataströmmen hos transkoderns kodande del och undviker därigenom omberäkning av rörelsevektorerna. Även om transkodern som beskrivs i den ovan citerade internationella patentansökan verkar vara lämpad för hastighetsminskning kommer den inte fungera när transkoderns kodare måste koda den avkodade videosekvensen (i transkodern) med en annan spatial upplösning (till exempel CIF och QCIF).
Detta beror på det faktum att transkodern som beskrivs i den internationella patentansökan WO 95/29561 utnyttjar en skillnadsoperation på två videosignaler av olika spatial upplösning, en härrörande från transkoderns avkodningssida och en från kodningssidan.
Vidare behandlar inte den internationella patentansökan WO 95/29561 problemet med hur en ändring i den spatiala upplösningen effektivt kan implementeras. Därför är transkodern som beskrivs i WO 95/29561 endast lämpad för hastighetsminskning, det vill säga för användning med kodningsscheman som har samma spatiala upplösning.
Dessutom stämmer inte resultaten som ges i WO 95/29561 när sändaren använder en annan rörelsenoggrannhet än den som mottagaren använder. Exempelvis måste en förfining av 515 555 6 rörelsevektorerna åstadkommas när sändaren använder H.261- algoritmen med heltals pelsnoggrannhet och mottagaren H.263 med halvpelsnoggrannhet. Detta problem diskuteras inte i W0 95/29561. Dessutom berörs inte i WO 95/29561 problemet med att ändra den temporala upplösningen.
Dessutom berör den publicerade europeiska patentansökan EP 0690 392 Al problemet med hastighetsomvandling. Någon annan förändring utförs emellertid inte, såsom upplösningsminskning.
Dessutom används EP 0 690 392 Al för MPEG-komprimerade signaler.
REDOGÖRELSE FÖR UPPFINNINGEN Det är ett syfte med uppfinningen att åstadkomma en transkoder, som kan användas för bithastighetsmodifiering och upplösningsmodifiering (spatial och/eller temporal) och som har en enklare struktur än existerande transkodrar.
Det är också ett syfte med föreliggande uppfinning att åstadkomma en transkoder som övervinner de problem som hör samman med upplösningsomvandlingen som beskrivits ovan och som också utnyttjar den beräkningsmässiga minskning som uppnås genom extraktion av rörelsevektorerna och som sålunda skulle vara lämplig för användning vid transkodning mellan kodningsscheman med olika upplösning, till exempel ett första kodningsschema med en upplösning på 352x288 pixlar (CIF) och ett andra kodningsschema med en upplösning på l76x144 pixlar (QCIF).
Det är ett ytterligare syfte med föreliggande uppfinning att åstadkomma en transkoder och ett förfarande för att åstadkomma en upplösningsändring både i den spatiala domänen och i DCT- domänen.
Det är ytterligare ett syfte med uppfinningen att åstadkomma en transkoder och ett förfarande för snabba algoritmer för DCT för att användas vid ändring av upplösningen i DCT-domänen.
Dessa och andra syften uppnås med en transkoderarkitektur som innefattar en avkodare för att avkoda en videosignal kodad enligt ett första kodningsschema som använder rörelsekompenseringstekniker och en kodare för att koda den 515 535 7 avkodade videosignalen enligt ett andra kodningsschema där det andra kodningsschemat ändrar upplösningen (spatialt och/eller temporalt) och bithastigheten för den inkommande videosignalen.
Enligt en andra aspekt av uppfinningen extraheras rörelsekompensationsinformationen, till exempel i form av rörelsevektorer, ur den inkommande videosignalen och överförs direkt till den kodande delen av transkodern, om nödvändigt efter lämplig skalning, och utsänds i utdataströmmen.
Enligt en tredje aspekt av uppfinningen åstadkommer den kodande delen av transkodern upplösningsminskning i den inkommande videosignalen i frekvensdomänen och minskar därigenom den beräkningsmässiga komplexiteten jämfört med en kodare som arbetar i den spatiala domänen och som skulle kräva filteroperationer.
Enligt en fjärde aspekt av uppfinningen kan transkodern utnyttja speciella variabellängdkodare (VLC) och skanningsoperationer som är mer lämpade för de blockstorlekar och upplösningar som används. Beslutet om vilken kodning som skall användas kan vara baserat på överenskommelser med mottagaren, det vill säga kontrollerande av om mottagaren kan motta de VLC:er som transkodern föreslår att använda.
Enligt en femte aspekt av uppfinningen använder transkodern speciella algoritmer för beräkningar av den diskreta cosinustransformen (DCT), som häri benämns "pruning DCT" som ger möjlighet att beräkna endast den nödvändiga delen av DCT- koefficienterna som behövs för transkodningsoperationen.
Enligt en sjätte aspekt av uppfinningen utförs både undersamplingen och översamplingen (interpoleringen) av ramarna (bilderna) i DCT-domänen med användning av speciella DCT- algoritmer.
Enligt en sjunde aspekt kan den spatiala upplösningsmodifieringen åstadkommas i den spatiala domänen. u e--n 515 535 8 Enligt en åttonde aspekt av uppfinningen kan transkodern förfina rörelsvektorerna som åstadkoms av transkoderns avkodare.
Exempelvis kan kodaren utnyttja existerande rörelsevektorer och förfina noggrannheten hos dem, om rörelseestimeringen vid sändaren utförs med heltals pelnoggrannhet och om halvpelnoggrannhet behöver användas vid kodaren i transkodern.
Enligt en nionde aspekt av uppfinningen skalar transkodern rörelsevektorerna på ett sådant sätt att de kan användas effektivt när upplösningen ändras.
Enligt en tionde aspekt av uppfinningen kan transkodern användas för att utföra dynamisk spatial upplösningsändring, det vill säga ändring av den spatiala upplösningen från bild till bild i enlighet med sekvensenskomplexiteten och den tillgängliga bandbredden.
Enligt en elfte aspekt av uppfinningen kan transkodern användas för att utföra temporal upplösningsminskning, det vill säga bildhastighetsminskning. Den kan också användas för att utföra en kombination av ändring av spatial upplösning, temporal upplösning och dynamisk upplösning.
Uppfinningen åstadkommer en lösning på problemet att överföra videosignaler till mottagaren med olika krav och förmåga (kompression och dekompressionsalogritm, tillgänglig bandbredd, beräkningskraft, bildhastighetskrav, upplösningskrav, etc) Den åstadkommer transkoderarkitekturer som kan transkoda vilken inkommande bitström som helst som representerar videosekvenser av en viss upplösning (spatial och/eller temporal) och kompressionsförhållande till videosekvenser av en upplösning (spatial och/eller temporal) och kompressionsgrad som bäst passar kraven och förmågan hos en viss mottagare. Uppfinningen kan användas för att modifiera upplösningen och/eller kompressionsförhållandet hos den inkommande videosignalen i syfte att möta kraven på upplösning, bandbredd och beräkning hos en viss mottagare. .m1 515 535 9 KORTFATTAD BESKRIVNING AV RITNINGARNA Föreliggande uppfinning kommer nu att beskrivas mer i detalj med hjälp av icke-begränsande utföringsformer och med hänvisning till de bilagda ritningarna, i vilka: - Figur 1 är ett schema över en transkoder med förmåga att ändra upplösningen och kompressionsförhållandet.
- Figur 2a och 2b är scheman över en annan transkoder, i vilken implementationen av upplösningsändringen utförs med användning av pruning DCT-algoritmer.
- Figur 3a och 3b är scheman över ytterligare en annan transkoder i vilken rörelsevektorextraktion åstadkoms tillsammans_med upplösningsminskning.
- Figur 4 är ett schema över ytterligare en annan transkoder i vilken endast 8x8 DCT-processorer behövs för att uppnå en minskning i upplösning.
- Figur Sa och 5b är scheman över en transkoder som liknar den som visas i figur 4, i vilken rörelsevektorerna överförs direkt från transkoderns avkodare till transkoderns kodare.
- Figur 6a och 6b är scheman över en transkoder som liknar transkodern som visas i figur 5 och i vilken pruning DCT- algoritmen används.
- Figur 7 är ett schema över en transkoder som åstadkommer upplösningsminskning i den spatiala domänen.
- Figur 8a och 8b är scheman över ytterligare en annan transkoder som åstadkommer upplösningsminskningen i den spatiala domänen vilken också överför rörelsevektorerna från transkoderns avkodare till transkoderns kodare.
- Figur 9 är ett schema över en transkoder som åstadkommer spatial upplösningsändring med användning av rörelsekompensationsinformation i transformdomänen.
BESKRIVNING AV FÖREDRAGNA UTFÖRINGSFORMER I figur 1 visas ett schema över en transkoder som kan användas för både hastighetsminskning och minskning i upplösning. I de följande exemplen beskrivs en upplösningsminskning med en faktor 2 i varje dimension, till exempel transkodning av en CIF-bild till en QCIF-bild. Tekniken kan emellertid användas på ett liknande sätt för andra upplösningsfaktorer och andra format. 515 535 10 Således kommer en inkommande bitström BR1 med en första bithastighet, i detta exempel en videosignal kodad enligt ett första kodningsschema som använder rörelsekompensation och DCT- kodning av skillnadsbilden, till exempel, vid 128 kbit/s, CIF enligt H.263 standard in i transkodern. Bitströmmen BR1 avkodas i variabellängdavkodar-(VLD)-blocket 101, där de mottagna data omvandlas till kvantiserade DCT-koefficienter, kvantiseringsindex och rörelsevektorer (MV). DCT-koefficienterna matas genom en invers kvantiserare 103 och en invers DCT- processor 105 vilken omvandlar DCT-koefficienterna till pixelskillnadsvärden.
Rörelsevektorerna som fås från blocket 101 matas till ett rörelsekompenseringsblock 107 vilket beräknar adressen för prediktionspixelblocket för den tidigare bilden. Detta block hämtas sedan från en tidigare bild lagrad i ett bildminne 109 och adderas i en adderare 111 till utsignalen från invers DCT- processorn 105 för att bilda en avkodad dataström för det aktuella blocket. Den avkodade dataströmmen för den aktuella bilden lagras i minnet 109 för tidigare bilder som en referens för nästa bild.
De avkodade data (Xn) matas också in i transkoderns kodare.
Kodaren måste koda med en mindre upplösning än sändaren.
Upplösningsminskningen utförs i DCT-domänen. Därför transformeras de avkodade data block för block av DCT-processorn 113. I exemplet används blockstorlekar på 8x8, men större storlekar kan också användas. För en upplösningsminskning med en faktor 2 i varje dimension är endast de 4x4 lågfrekvens DCT- koefficienterna användbara, se K.R. Rao och P. Yip "Discrete cosine transform: Algorithms, advantages, applications", Academic Press Inc., 1990. Därför extraheras lågfrekvens 4x4 DCT-koefficienterna ur 8x8-koefficienterna i block 115.
Utsignalerna från blocket 115 matas till en invers 4x4-DCT- processor 117, som återskapar bilden som skall användas för rörelseestimering/kompenseringsdelen. Rörelseestimeringen i blocket 120 genomsöker ett minne 119 för tidigare bilder efter ett offsetblock av pixel som mycket liknar det aktuella blocket.
| Hu 515 535 11 Rörelsevektorerna för det bäst matchande blocket beräknas i blocket 120 och matas till rörelsekompenseringsblocket 122.
Utsignalen från blocket 122 DCT-transformeras i block 121 och subtraheras från de extraherade DCT-koefficienterna i ett block 123 för att bilda en skillnadssignal i DCT-domänen, det vill säga frekvensdomänen.
Signalen kvantiseras sedan av en kvantiserare Q2 i ett block 125, varvid kvantiseraren använder en stegstorlek som är lämplig för den önskade bithastigheten vid utgången från kodaren. En variabellängdkodare (VLC4) i blocket 127 omvandlar utsignalen på kvantiseraren och rörelsevektorerna från rörelseestimeringen i blocket 120 till variabellängdkoder och sänder sedan ut data i det nya formatet.
Alternativt bör (VLC4) i blocket 127 vara lämpat för att koda 4x4 DCT-koefficienter om 4x4 DCT används. Sicksack-skanning och skurlängder kan optimeras för 4x4-fallet eftersom skurlängderna är mindre för 4x4-fallet än för 8x8 fallet. Beslutet om att använda speciellt utformade VLC:er kan baseras på överenskommelser med mottagaren, det vill säga en kontroll om mottagaren kan ta emot VLC:er som transkodern föreslår att använda. I händelse av att mottagaren inte kan ta emot några speciella VLC:er används standard VLC:er.
Transkoderns kodare innefattar också en lokal avkodare som innefattar en inverskvantiserare (Q2'l)) i ett block 129.
Blocket 129 mottager dataströmmen, det vill säga de kvantiserade koefficienterna som matas till blocket 127. Utsignalen från blocket 129 och utsignalen från rörelseestimeringen i block 120 följt av rörelsekompenseringen i blocket 122 och följt av framåt-DCT:en i blocket 121 inmatas i en adderare 131 för att alstra en uppdaterad predikterad bild. Utsignalen från adderaren 131 matas till en invers 4x4-processor i ett block 133 och utsignalen från blocket 133 lagras i bildlagringsblocket 119.
I figur 1 extraherar operationen som utförs i blocket 115 4x4- lågfrekvens-DCT-koefficienterna från 8x8 koefficienterna. Den följande delen av transkoderns kodare består av en komplett u ...- 515 535 12 kodare förutom det att DCT:en nu används i block med dimensionen 4x4 istället för 8x8. Mottagaren måste använda en avkodare som också arbetar med 4x4 block. Det bör noteras att om en minskning med en faktor större än 2 krävs måste färre DCT-koefficienter behållas. Till exempel skall endast de 2x2-DCT-koefficenterna behållas, om en minskning med en faktor 4 i varje dimension behövs.
Detta är emellertid kanske inte effektivt från kompressionseffektivitetssynpunkt. I detta fall är det kanske mer effektivt att använda DCT:er i större block. Exempelvis skulle 16x16 (i block 113) respektive 8x8 DCT-processorer (i blocken 117, 121 och 133) kunna användas. I fallet med en upplösningsändring från CIF till QCIF kan 16x16 och 8x8 DCT:er användas istället för 8x8 och 4x4 DCT-processorer vid transkoderns kodande del. I fallet då en transkodning från CIF till SQCIF behövs kan 16x16 och 4x4 DCT:er användas, eller 32x32 och 8x8. Observera att om transkoderns kodningsslinga använder 8x8 DCT:er kommer mottagaren att kunna använda standard 8x8 DCT:er och kan därför vara en standardavkodare.
Operationen att transformera till DCT-domänen, skapa 8x8 DCT- koefficienterna och sedan endast behålla en del av dem medför emellertid onödig beräkningskomplexitet i systemet. Eftersom transkodern vet hur många DCT-koefficienter som behövs är det mer effektivt att direkt beräkna dessa koefficienter. Detta kan göras med pruning DCT-algoritmer som beskrivs i Christopoulos C.A. och Skodras A.N. "Pruning the two-dimensional fast cosine transform", Proceedings of the European Signal Processing Conference (EUSIPCO), Edinburgh, Scotland, UK, 13-16 september 1994, sid 596-599, Christopoulos C.A., J. Bormans, J. Cornelis och A.N. Skodras, "The vector radix fast cosine transform: pruning and complexity analysis", Signal Processing, volym 43, nr 2, 1995, sid 197-205, och Skodras A.N., "Fast discrete cosine transform pruning", IEEE Trans. on Signal Processing, 42(7), 1994.
Detta visas i figur 2a, som är identisk med transkodern i figur 1, förutom operationen T8â4 i block 201, vilket betecknar att u.- 515 535 13 transformationen direkt kommer att beräkna endast 4x4 DCT- koefficienterna ur 8x8-koefficienterna. Således ersätter block 201 i figur 2a blocken 113 och 115 i figur 1. Det bör observeras att pruning DCT-algoritmer kan användas i alla steg för transkoderns kodare.
Exempelvis kan det krävas att beräkna endast 2x2 av 4x4 DCT- koefficienterna. Det önskade kompressionsförhållandet kan därför uppnås genom att beräkna endast en del av DCT-koefficienterna (eller genom att beräkna alla och sätta dem som inte behövs till noll), och genom kvantiseringen Q2 i block 125 i figur 1. I fallet då 16x16 och 8x8 DCT:er används skall T8q4 bytas ut mot Tlöáa, det vill säga beräkning av endast 8x8 parametrarna av 16x16 parametrarna för en upplösningsminskning med en faktor 2 i varje dimension. Figur 2b visar en annan implementering av figur 2a, som kan ha vissa fördelar ur hårdvaru- och/eller mjukvaru- implementationssynpunkt. Transkodern i figur 2b åstadkommer exakt samma transkoder som den som visas i figur 2a.
Alla transkodrar som visas i figurerna 1 och 2a-2b påför fördröjningar och komplexitet i transkodern, eftersom de kräver att en rörelseestimering åstadkoms. Detta kan emellertid undvikas såsom visas i samband med figurerna 3a och 3b, vilka visar att transkodrarna i figurerna 1, 2a och 2b kan förenklas genom att undvika rörelseestimering och genom användning av pruning DCT-algoritmer. De rörelsevektorer som är tillgängliga i avkodaren kan överföras direkt till kodaren från avkodaren efter lämplig skalning och användas för rörelsekompenseringsdelen i kodaren. Sålunda är schemana i figurerna 3a och 3b mycket enklare än de i figurerna 1 och 2a och 2b, eftersom ingen rörelseestimering nu behövs. Det leder också till lägre hårdvarukomplexitet eftersom en av de inversa 4x4 DCT:erna (T4"1) inte behövs.
Således överförs, i figur 3a, vilken liknar figurerna 1 och 2a- 2b, rörelsevektorerna som extraheras i VLD 301 också till ett rörelsevektorsskalningsblock 303, vilket skalar de inkommande rörelsevektorerna i enlighet med utsignalupplösning, rörelsekompenseringsblockstorlek och kodningsförfarande enligt ...n 515 535 14 det andra kodningsschemat. Utsignalrörelsevektorerna från block 303 överförs sedan direkt till variabellängdkodaren 305 och till rörelsekompenseringsblocket 307. Sålunda behövs, till skillnad från transkodern i figur 1, ingen rörelseestimering, som visas vid 120 i figur 1, för transkodern som visas i figur 3a.
Dessutom utnyttjar transkodern i figur 3a pruning-algoritmer som också visas i figurerna 2a och 2b.
I figur 3b visas en annan möjlig implementering av transkodern i figur 3a. Implementationen som visas i figur 3b kan ha fördelar ur en hårdvaru- och/eller mjukvarusynpunkt jämfört med implementationen i figur 3a. Således åstadkommer transkodern i figur 3b exakt samma transkoder som den som visas i figur 3a.
Ett problem som införts i figurerna 1-3b är nödvändigheten av att använda en 4x4 DCT/IDCT (för upplösningsminskningen med en faktor 2 i varje dimension), även om detta kan undvikas om DCT:er av storlek 16x16 används vid ingångsnoden hos transkoderns kodare, det vill säga block 113 i figur 1. Eftersom i de flesta fall en 8x8 DCT/IDCT används för kodning och avkodning kan det emellertid vara fördelaktigt att modifiera transkodrarna i figurerna 1-3b, så att endast 8x8 DCT:er används.
En transkoder som utför upplösningsminskning, ställer in kompressionsförhållandet till önskemålen i mottagaren och som inte använder 4x4 DCT/IDCT visas i figur 4, som vid transkoderns avkodare är samma som den som visas i figur 1. 8x8 DCT- koefficienterna beräknas alltid men endast lågfrekvens 4x4 DCT- koefficienterna, vilka kan beräknas direkt med DCT-pruning algoritmer, används. Detta visas i figur 4 vid blocket 401, vilket extraherar lågfrekvenskoefficienterna som svarar mot 4x4 DCT-koefficienterna från 8x8 DCT-koefficienterna. De återstående koefficienterna anses vara O och ignoreras. 4x4 lågfrekvenskoefficienterna kvantiseras och kodas med VLC. VLC:en kan vara en speciell VLC utformad för 4x4 DCT-algoritmen om 4x4 DCT används. Emellertid utnyttjar prediktionsslingan 8x8 DCT/IDCT:er. Mottagaren kan återskapa sekvensen genom att antingen använda 4x4 DCT (i detta fall kommer den att återskapa 515 535 15 en QCIF bild i detta exempel) eller 8x8 DCT:er (i sådana fall kommer den att återskapa en CIF-bild med QCIF-upplösning).
Notera att det ovan nämnda sättet att koda täcker fallet då en viss mottagare, det vill säga en mottagare med en avkodare som återskapar en viss upplösning genom att mottaga information lämpad för en sekvens med lägre upplösning. I det optimala fallet kommer naturligtvis transkodern att komma överens med mottagaren innan den beslutar vilket transkodningsförfarande som skall användas.
Bildminnet 403 i figur 4 innehåller en bild av originalstorleken, det vill säga CIF i detta exempel, men med upplösningen hos den mindre bilden, det vill säga QCIF i detta exempel, vilket uppnås genom att ta invers 8x8 DCT anbringat på 4x4 subblocket kompletterat med nollor, vilket visas av blocket 405. Detta block 8x8 transformeras först och 4x4 subblocket används som prediktion för samma subblock i det nya inkommande 8x8 blocket, det vill säga de nya inkommande 4x4 koefficienterna efter det att de övriga koefficienterna satts till noll.
Figur 5a visar en förenklad version av figur 4 där rörelsevektorerna är tillgängliga från avkodningsdelen och används vid kodningsdelen. På detta sätt undviks, liksom i fallet med transkodern i figur 3 rörelseestimering, vilket leder till en transkoderarkitektur med signifikant lägre beräkningsmässig komplexitet.
Det bör observeras att för detta schema behövs ingen rörelsevektorsskalning om mottagaren har organ för att utföra en sådan rörelsevektorsskalning. Mottagaren kan använda en avkodare som återskapar bilderna och tar med i beräkningen det sätt på vilket de kodades i transkodern. Detta kräver en överenskommelsefas mellan transkodern och mottagaren. Om å andra sidan mottagaren inte kan utföra någon rörelsevektorsskalning och skalning krävs så måste rörelsevektorsskalningen utföras i transkodern. Beslutet om vilket schema som skall användas kan göras efter en överenskommelse mellan transkodern och mottagaren. n m.. 515 535 ¿§§j; 16 Därför kan mottagaren återskapa en CIF-bild med QCIF-upplösning.
Rörelsevektorerna kan emellertid skalas innan de matas till VLC:n om mottagaren måste återskapa en sekvens med låg upplösning, även om detta inte nödvändigtvis måste utföras i transkodern.
Figur 5b visar ett annat sätt att implementera transkodern i figur Sa. Implementationen som visas i figur 5b kan vara fördelaktig ur hårdvaru- och/eller mjukvaruimplementationssynpunkt.
Det bör också observeras att i figurerna 4 och Sa-5b används en 8x8 IDCT på de nollutfyllda 4x4 DCT-koefficienterna som indikeras med T8,4 i figurerna 4-5b. Detta är en form av interpolering i DCT-domänen. Denna interpolering kan implementeras inte endast med hjälp av nollutfyllning utan också med hjälp av zooming-algoritmen som beskrivs i Agbinya J.I.
“Interpolation using the discrete cosine transform", Electronic Letters, volym 28, nr 20, september 1992. Det bör också observeras att både när nollutfyllning eller när zooming- algoritmen används är det fördelaktigt om DCT/IDCT används på ett sådant sätt att de använder det kända förhållandet att vissa koefficienter är noll. Denna kännedom kan inkluderas i butterfly-strukturen i DCT:en så att snabba och minneseffektiva DCT-algoritmer implementeras såsom de som beskrivs i Christopoulos C.A. och A. N. Skodras "Pruning the two- dimensional fast cosine transform", Proceedings of the European Signal Processing Conference (EUSIPCO), Edinburgh, Scotland, UK, 13-16, 1994, sid 596-599, Christopoulos C.A., J. Bormans, J.
Cornelis och A.N. Skodras, "The vector radix fast cosine transform: pruning and complexity analysis", Signal Processing, volym 43, nr 2, 1995, sid 197-205, och Skodras A.N., "Fast discrete cosine transform pruning", IEEE Trans. on Signal Processing, 42(7), 1994.
Såsom beskrivits ovan kan pruning DCT-algoritmer användas för snabb upplösningsminskning. Figurerna 6a och 6b visar två olika exempel på hur detta kan implementeras. Således är transkodern i figur 6a samma som den som visas i figur 4, men använder en a ...- 515 535 1» wa. 17 pruning DCT. I alla transkodrar som beskrivits ovan utförs upplösningsminskningen i DCT-domänen, det vill säga frekvensdomänen. Upplösningsminskningen kan emellertid också utföras i rumsdomänen. Ett sådant schema kommer nu att beskrivas med hänvisning till figur 7.
Den inkommande bitströmmen avkodas i transkoderns avkodande del på samma sätt som beskrivits ovan i samband med figur 1.
Utsekvensen från transkoderns avkodare, det vill säga de avkodade bilderna, undersamplas sedan med hjälp av ett lämpligt lågpassfilter och undersamplingsoperationer (LPF) i ett block 701 innan de kommer in i transkoderns kodande del. I detta exempel utförs en undersampling med en faktor 2 i varje dimension. Därefter kodas den nya sekvensen med minskad upplösning enligt mottagarens krav.
Transkodern som visas i figur 7 kan också göras mer beräkningsmässigt effektiv. Detta åstadkoms på samma sätt som beskrivits ovan med hjälp av ett schema där rörelseestimering i transkodern inte behövs. Sålunda behöver ingen rörelseestimering utföras genom att rörelsevektorerna som extraheras i variabellängdavkodaren överförs via en rörelsevektorsskalare direkt till transkoderns kodande sida.
Insignalen vid nod A i figur 7 är LPF(nxn+xn_1)= LPF(Dxn)+LPF(xn_l) = 1144 {XTRc(ßR1*)}+LPF(xn_l) Operationen T4"1 {XTRC(BR1*)} betecknar extraktion av 4x4 lågfrekvens DCT-koefficienterna från varje 8x8 block av koefficienter från BR1* och utför en invers 4x4 DCT på varje 4x4 block av koefficienter för att återskapa bilden med lägre upplösning. En transkoder som utnyttjar ekvationen ovan visas i figur 8a. Det bör observeras att transkodern som visas i figur 8a kräver en 4x4 IDCT och kan därför vara mer komplex än den som visas i 7. Som ett alternativ till transkodern som visas i figur 8a kan samma transkoder implementeras såsom visas i figur 8b. a n.. 515 535 18 Figur 9 visar ytterligare en annan transkoder som kan användas för upplösningsmodifiering. Transkodern som visas i figur 9 liknar transkodern som visas i figur 8b. Transkodern i figur 9 använder emellertid kodningsscheman som implementerar rörelseestimering och kompensering i DCT-domänen, i blocken TD/MC, såsom beskrivs i Ut-Va Koc och K.J. ray Liu, "DCT-based subpixel motion estimation", Proceedings of ICASSP 96, volym 4, sid 1930-1933. Fördelen med transkodern är att inga DCT/IDCT- processorer behövs.
Ytterligare en annan fördel med transkodrarna som beskrivits ovan, vilka är lämpliga för upplösningsmodifiering, är sättet på vilket upplösningen kommer att ändras. Undersamplings- eller översamplingsoperationerna kan till exempel utföras på följande sätt: (I) Rumsdomänen: IDCT följt av lågpassfiltrering och undersampling.
(IIa) DCT-domänen: Behåll endast den nödvändiga delen av DCT-koefficienterna, till exempel behåll endast 4x4 av 8x8 DCT-koefficienterna (IIb) DCT-domänen: Kombinera fyra 8x8 DCT-koefficienter och bilda koefficienter för 16x16-blocket. Behåll endast 8x8 DCT-koefficienterna av 16x16 (för en upplösningsminskning med en faktor 2). Blockstorlekarna som används beror naturligtvis på blockstorlekarna som används i sändaren och mottagaren.
Den tredje lösningen verkar vara minst beräkningsmässigt intensiv. Ett sätt att bilda ett block av DCT-koefficienter ur DCT-koefficienterna från dess subblock beskrivs i W. Kou och T.
Fjällbrant, "A direct computation of DCT coefficients from a signal block taken from two adjacent blocks", IEEE Trans. on Signal Processing, volym 39, nr 7, juli 1997, sid 1692-1695.
Exempelvis kan förfarande (c) användas i figur 8b och ersätta XTRC- och T4'1-operationerna.
Vidare håller inte resultaten som uppnås i den internationella patentansökan WO 95/29561 när sändaren använder en annan 515 535 19 rörelsenoggrannhet än den som mottagaren använder. Då till exempel sändaren använder H.261-algoritmen med heltals pel- noggrannhet och mottagaren H.263 med halvpel noggrannhet så måste förfining av rörelsevektorerna åstadkommas.
I ett sådant fall kan rörelsevektorerna överföras från transkoderns avkodare till transkoderns kodare och förfinas. I de ovan beskrivna transkodrarna finns denna information inte inkluderad och rörelsevektorerna antas endast skalas på ett sätt som kommer att beskrivas i de följande styckena. Förfining av rörelsevektorerna är emellertid användbart i vissa fall och kan användas i alla de ovan beskrivna transkodrarna. Förfiningen av rörelseparametrarna beror på det använda förfarandet för rörelseestimering och kompensering. Som ett exempel definierar ITU-T-standarden H.263 hur halvpelrörelsevektorer erhålls från helpelrörelsevektorer.
Dessutom så kommer, om rörelsekompenseringsblocken för det första kodningsschemat är 16x16-block (rörelsevektorerna svarar mot 16x16-block), och om det andra kodningsschemat använder rörelsekompenseringsblock med storlek 8x8, rörelsevektorerna att delas med 2 (för en upplösningsminskning med en faktor 2 i varje dimension) innan de överförs till transkoderns kodare. Det ovanstående sättet att överföra rörelsevektorer till kodaren kan användas i alla ovan beskrivna transkodrar när upplösningsminskning utförs.
Om emellertid rörelsekompenseringsblocken är lika, kan ett problem uppstå. Anta till exempel att det första kodningsschemat med CIF-upplösning använder rörelsekompenseringsblock med storlek 16x16 pixel. Antag också att det andra kodningsschemat som arbetar i QCIF-upplösning använder rörelsekompenseringsblock med samma storlek (16xl6 pixel). Då representerar rörelsekompenseringsblocket i det andra kodningsschemat i själva verket fyra 16x16-block i CIF. Detta beror på att den består av 4 8x8-block där var och en av dem representerar ett 16x16-block i CIF-bilden. Problemet är då att åstadkomma rörelsevektorn för 16x16-blocket i det andra kodningsschemat genom att endast känna till rörelsevektorerna för motsvarande 16x16-block i det första n .m- 515 535 20 kodningsschemat.
Två lösningar finns på detta problem: - rörelsevektorerna för 16x16-blocket i det andra kodningsschemat kan erhållas genom att kombinera de fyra rörelsevektorerna i motsvarande fyra (16x16)-block i det första kodningsschemat på ett lämpligt sätt, till exempel genom att medelvärdesbilda dem och sedan dela dem med två. Med andra ord, åstadkomma rörelsevektor för vart och ett av 8x8-blocken som utgör 16x16-blocket i det andra kodningsschemat från motsvarande 16x16-block (efter divison med 2) i det första kodningsschemat, och kombinera dem (till exempel medelvärdesbilda dem), eller - kan 16x16-blocket i QCIF-bilden indelas i fyra 8x8-block och för vart och ett av dessa block använda rörelsevektorn från motsvarande 16x16-block i CIF-bilden efter division med 2. Detta betyder att för 16x16-blocket i det andra kodningsschemat används fyra rörelsevektorer, var och en svarande mot en 8x8 del av 16x16-blocket.
Sättet som används beror på förmågan hos mottagaren. Om mottagaren endast accepterar en rörelsevektor per block används den första lösningen. På liknande sätt, om mottagaren endast accepterar fyra rörelsevektorer per block så används den andra lösningen. Om emellertid mottagaren accepterar båda lösningarna kan transkodern antingen komma överens med mottagaren om vilket förfarande som skall användas eller testa båda förfarandena och besluta vilket som skall användas. Ett sätt att besluta vilket förfarande som skall användas är att kontrollera vilket av dessa förfaranden som alstrar det minsta felet, till exempel enligt medelkvadratfelet. Eftersom kodning av fyra rörelsevektorer i de flesta fall emellertid kommer att kräva fler bitar än kodning av en rörelsevektor kan ett tröskelvärde behöva användas.
Exempelvis används det andra förfarandet om det åstadkommer 20% mindre fel jämfört med det första. De ovan beskrivna förfarandena för att överföra rörelsevektorer till kodaren kan användas i alla häri beskrivna transkodrar.
Om rörelsekompenseringsblocken i det första kodningsschemat är mindre än de i det andra kodningsschemat så finns ett överskott n u-m 515 535 21 på rörelsevektorer för det andra kodningsschemat. Till exempel om det första kodningsschemat använder 8x8-block och det andra kodningsschemat använder 16x16-block så finns ett överskott av rörelsevektorer för det andra kodningsschemat. Rörelsevektorerna för 16x16-blocken i det andra kodningsschemat kan i ett sådant fall åstadkommas genom att kombinera rörelsevektorerna för de fyra 8x8-block som utgör 16x16-blocket (till exempel genom att medelvärdesbilda dem). Rörelsevektorn för vart och ett av de 8x8-blocken i det andra kodningsschemat kan åstadkommas genom att kombinera de fyra rörelsevektorerna för 8x8-blocken (i det första kodningsschemat) som utgör 8x8-blocket i det andra kodningsschemat, exempelvis genom att medelvärdesbilda dem och dela med 2. För andra kombinationer av in- och utblock används en liknande teknik.
Om det första kodningsschemat arbetar i en avancerad prediktionsmod, till exempel den som beskrivs i ITU H.263- standarden så måste rörelsevektorerna i det andra kodningsschemat kombineras på ett riktigt sätt. Exempelvis kan det i den avancerade prediktionsmoden i ITU H.263-standarden finnas fyra rörelsevektorer per makroblock. I detta fall härleds rörelsevektorerna för ett makroblock i det andra kodningsschemat genom att beräkna summan för de fyra luminansvektorerna (i det första kodningsschemat) och dela summan med 8.
Observera att ovan beskrivs proceduren för att erhålla rörelsevektorerna för det andra kodningsschemat när upplösning i det andra kodningsschemat minskas med en faktor 2 i varje dimension. Det torde framgå att liknande idéer gäller när upplösningsminskning med andra faktorer behövs, men skalfaktorerna måste naturligtvis anpassas i enlighet med detta.
Ovan har en procedur för att erhålla rörelsevektorer för luminanskomponenten för en färgvideosignal beskrivits.
Förfarandet för att erhålla rörelsevektorerna för krominanskomponenterna för det andra kodningsschemat beror på det använda formatet. Om 4:2:0-formatet beaktas, det vill säga krominansmatriserna är halva storleken av luminansmatrisen, både horisontal- och vertikaldimensionerna, så skalas både 515 535 22 horisontal- och vertikalkomponenten för rörelsevektorerna (i det andra kodningsschemat) svarande mot luminansen genom delning med 2.
För fallet med ett 4:4:4-format, det vill säga krominansmatriserna har samma dimension som luminansmatrisen, kommer även rörelsevektorerna som används för luminanskomponenten i det andra kodningsschemat att användas utan skalning för krominanskomponenterna (i det andra kodningsschemat).
Om 4:2:2-formatet används, det vill säga krominansmatriserna är hälften av luminansmatrisen i horisontalled och samma som luminansmatrisen i vertikalled, skalas rörelsevektorernas horisontalkomponent genom delning med 2 och vertikalkomponenten ändras inte.
Alternativt kan slingfilter (“loop filters") (se till exempel ITU-T standard H.26l) användas i kodarna och/eller avkodarna.
Dessa visas emellertid inte i schemana men anses vara en del av uppfinningen.
I många fall behövs en kombination av spatial-temporal upplösningsminskning. Detta kan vara fallet då den tillgängliga bandbredden (från transkodern till mottagaren) är begränsad eller när beräkningskraften hos mottagaren inte är tillräcklig för att avkoda inkommande bitströmmar vid en viss bildhastighet.
Temporal upplösningsminskning, det vill säga bildhastighetsminskning, kan också åstadkommas med användning av ovanstående scheman. Ett enkelt sätt att minska bildhastigheten är att ta bort några av de två-ríktnings-predikterade bilderna, så kallade B-bilder, från den kodade sekvensen. B-bilder kodas med användning av rörelsekompenserad prediktion från antingen tidigare och/eller framtida I-bilder eller P-bilder. I-bilder komprimeras med användning av intrabildskodning, medan P-bilder kodas med användning av rörelsekompenserad prediktion från tidigare I-bilder eller P-bilder. Eftersom B-bilder inte används för prediktion av antingen B- eller P-bilder kommer borttagande Hm 515 535 23 av några av dem inte att påverka kvaliteten hos framtida bilder.
Rörelsevektorerna som svarar mot de borttagna B-bilderna kommer också att tas bort. Schemana som beskriver transkoderarkitekturerna kan enkelt modifieras till att utföra temporal upplösningsminskning med hjälp av att endast använda ett "ta bort B-bild"-förfarande i de visade schemana. Observera att den temporala upplösningsminskningen kan åstadkommas oberoende av de använda kodningsschemana vid sändaren och mottagaren, till exempel kan den användas vid transkodning från ett wavelet-baserat kodningsschema till ett DCT-baserat kodningsschema.
Det bör också observeras att i fall då den tillgängliga bandbredden från transkodern till mottagaren är signifikant lägre eller när mottagaren har en begränsad beräkningsmässig komplexitet och inte kan avkoda en inkommande sekvens vid en viss bildhastighet så kan kodaren (i transkodern) besluta att endast använda I-bilder, det vill säga intra-kodande förfaranden. Därför kan den besluta att koda den inkommande sekvensen i en intramod eller att endast använda intrakodade bilder i den inkommande sekvensen. I ett sådant fall åstadkoms en transkoder som utför spatial/temporal upplösning enkelt med ovanstående schema. Notera att förfarandet kan åstadkommas oberoende av använt kodningsschema vid sändaren och mottagaren, till exempel kan det användas vid transkodning från ett wavelet- baserat kodningsschema till ett DCT-baserat kodningsschema.
Vidare kan förfarandet med temporal upplösningsminskning också användas då den spatiala upplösningen inte ändras. Således kan alla de ovan beskrivna transkodrarna ändra den temporala upplösningen utan att behöva ändra den spatiala upplösningen. Återigen är det möjligt att enkelt anpassa schemana i syfte att utföra temporal upplösning och hastighetsomvandling utan att utföra någon upplösningsminskning, det vill säga spatial upplösningsminskning.
Dessutom kan ovanstående scheman användas även om ingen rörelsekompensation används. Rörelsevektorerna och rörelsekompensationen behövs inte. Transkodrarna som beskrivs .ha 515 535 24 häri kan då enkelt anpassas till att fungera för kodningscheman som inte använder rörelsekompensation. Det bör också Observeras att även då det första kodningsschemat använder rörelsekompensation kan transkoderns kodare besluta att inte använda ett sådant schema. Detsamma är gäller när det första kodningsschemat inte använder rörelsekompensation, om detta är fallet kan transkodern fortfarande utnyttja rörelsekompensation för det andra kodningsschemat. Återigen kan transkodern enkelt anpassas till att fungera i vilken kombination som helst.
Dessutom, i det fall då transkodern är utformad för att mottaga en skalbar bitström, kommer den att återskapa alla lager och koda dem enligt mottagarens krav. På så sätt undviks en mottagare som mottager och avkodar skalbara bitströmmar. Sålunda kan avkodaren vara en standardavkodare, vilket är en stor fördel för mottagaren. Observera också att transkodern inte behöver återskapa hela biströmmen utan endast de lager som behövs för en viss mottagare. Till exempel behöver endast de två första lagren återskapas i transkodern om den skalbara bitströmmen har lager för 20, 112 och 300 kbit/s och mottagaren accepterar 64 kbit/s.
Som en ytterligare tillämpning kan de beskrivna transkodrarna användas för att öka upplösningen för inkommande videosignaler. Även om detta kan komma att öka bithastigheten som behövs för det andra kodningsschemat kan det vara användbart då mottagaren inte kan åstadkomma denna operation på plats. Till exempel för att öka upplösningen från QCIF till CIF så skall blocken 113 och 115 bytas ut mot en översamplingsoperation.
Kodaren kan då använda 8x8 DCT:er. På liknande sätt kan översampling åstadkommas i rumsdomänen. Det torde också framgå att rörelsevektorerna nu måste skalas i enlighet med detta, det vill säga i stället för att delas med två som i ovanstående exempel skall de multipliceras med två.
I en annan tillämpning kan transkodern användas för att transkoda inkommande stillbilder eller 3D-bilder (såsom de som finns i medicinska tillämpningar) för olika upplösningar (minskad eller ökad). Till exempel för att minska upplösningen ; , . , f. ...- 515 535 25 på en CIF-bild till QCIF kan man antingen (a) avkoda stillbilden, undersampla och koda den nya upplösningen, (b) behålla endast en del av DCT-koefficienterna, det vill säga 4x4 av 8x8 för varje DCT-block eller (c) kombinera DCT- koefficienterna för fyra 8x8 DCT-block för att bilda DCT- koefficienterna för 16x16-blocket och endast behålla dess lågfrekvens-8X8-koefficienter. Ett liknande förfarande som det som beskrivs i W. Kou och T. Fjällbrant, "A direct computation of DCT coefficients from a signal block taken from two adjacent blocks", IEEE Trans. on Signal Processing, volym 39, nr 7, juli 1991, sid 1692-1695, kan användas för förfarande (c). Den sista tekniken undviker kravet att mottagaren måste använda en annan blockstorlek än 8x8 (som i fall b) och har mindre beräkningsmässig komplexitet än förfarande (a) vilket kräver avkodnings-, filtrerings- och kodningsoperationer.
Slutligen kan transkodrarna användas för att utföra dynamisk upplösningsmodifiering, det vill säga ändring i upplösning bild till bild. Exempelvis om bandbredden från transkodern till mottagaren är begränsad, upplösningen hos den inkommande videosignalen i transkodern är hög och en signifikant mängd rörelser finns, så utför transkodern upplösningsminskning (och hastighetsminskning om nödvändigt). När mängden rörelser sjunker till ett lågt värde så ändrar inte transkodern upplösningen (eller ändrar den till ett lägre värde) och anpassar endast bithastigheten, eller kanske till och med ökar upplösningen till ett värde, större än för den inkommande videosignalen. Denna teknik kan kräva en överenskommelsefas mellan transkodern och mottagaren. Det är uppenbart att schemana enkelt kan modifieras till att endast utföra hastighetsminskning om detta krävs.
Transkoderarkitekturerna som beskrivs häri kan åstadkommas med minimal fördröjning och låg kostnad. De beskrivna transkodrarna är särskilt lämpliga när en upplösningsminskning (spatial och/eller temporal) behövs och anpassning till en specifik bandbredd för en viss mottagare. Transkodern kan placeras i ett nät, i en videoserver, en gateway eller en flernodskommunikationsenhet (MCU) och kan hantera alla videokrav hos de olika mottagarna. . n.. 515 535 26 Förfarandet kan användas på ett liknande sätt när andra kompressionsförfaranden används. Till exempel kan det användas när wavelet-baserad videokodning används eller för vektorkvantiseringsförfaranden. Dessutom kan det användas för transkodning från ett visst kompressionsförfarande till ett annat. Slutligen har arkitekturen hos de transkodrar som beskrivs häri låg komplexitet vilket är en fördel när transkodrarna implementeras i hårdvara och/eller mjukvara.
Claims (24)
1. Transkoder med organ för att avkoda en inkommande videosignal kodad enligt ett första kodningsschema och organ för att koda en utgående videosignal enligt ett andra kodningsschema och organ för att koda den utgående videosignalen med en ändrad upplösning och bithastighet, kännetecknad av organ för att utföra upplösningsändringen i frekvensdomänen.
2. Transkoder enligt krav 1, kännetecknad av att upplösningsändringen sker i spatialt.
3. Transkoder enligt krav 1 eller 2, kännetecknad av att upplösningsändringen sker i temporalt.
4. Transkoder enligt något av kraven 1 - 3, då de inkommande och utgående videosignalerna kodas med kodningsscheman som använder rörelsekompensering, kännetecknad av att transkodern har organ för att extrahera rörelsekompenseringsparametrar från den inkommande videosignalen och för att överföra rörelsekompenseringsinformationen till kodaren som utsänder den utgående videosignalen.
5. Transkoder enligt krav 4, kännetecknad av organ för att utföra förfining av rörelsevektorerna som åstadkoms av transkoderns avkodare.
6. Transkoder enligt något av kraven 1 - 5, kännetecknad av att kodaren har organ för att utföra pruning DCT-algoritmer i syfte att åstadkomma snabb transkodning.
7. Transkoder enligt något av kraven 1 - 6, kännetecknad av organ i transkodern för att utföra interpolering i DCT-domänen med nollutfyllning eller enligt en zooming-algoritm.
8. Transkoder enligt något av kraven 1 - 7, kännetecknad av att kodaren har kvantiseringsorgan i syfte att utsända ett önskat kompressionsförhållande.
9. Transkoder enligt något av kraven 1 - 8, kännetecknad av att transkoderns kodare har variabellängdkodningsorgan anpassade för den använda blockstorleken och upplösningen.
10. Transkoder enligt något av kraven 1 - 9, kännetecknad av organ för att utföra en ändring i den spatiala upplösningen mellan successiva utsända bilder.
11. Transkoder enligt krav 10, kännetecknad av att den spatiala upplösningen ändras i enlighet med den vid mottagaren 515 535 28 tillgängliga bandbredden.
12. Transkoder enligt krav 1, då den inkommande videosignalen är en DCT-transformerad videosignal, kännetecknad av att den utgående DCT-transformerade videosignalen transkodas till en annan hastighet utan användning av några DCT/IDCT-processorer.
13. Förfarande för att transkoda en inkommande videosignal kodad enligt ett första kodningsschema till en utgående videosignal enligt ett andra kodningsschema, varvid den utgående videosignalen kodas med en modifierad upplösning och lämplig bithastighet, kännetecknat av att upplösningsändringen utförs i frekvensdomänen.
14. Förfarande enligt krav 13, kännetecknat av att upplösningen ändras spatialt.
15. Förfarande enligt något av kraven 13 - 14, kännetecknat av att upplösning ändras temporalt.
16. Förfarande enligt något av kraven 13 - 15, då de inkommande och utgående videosignalerna kodas med kodningsscheman som använder rörelsekompensering, kännetecknat av att rörelsekompenseringsparametrarna (rörelsevektorer, rörelsekompenseringsblockstorlek, etc.) extraheras från den inkommande videosignalen och att rörelsekompenseringsinformationen överförs till kodaren som utsänder den utgående videosignalen.
17. Förfarande enligt krav 16, kännetecknad av att rörelsevektorerna som åstadkoms av transkoderns avkodare förfinas i det fall då noggrannheten som behövs från den utgående sekvensen skiljer sig från den inkommande sekvensen.
18. Förfarande enligt något av kraven 13 - 17, då DCT-algoritmer används, kännetecknat av att pruning DCT-algoritmer används i syfte att åstadkomma snabb transkodning.
19. Förfarande enligt något av kraven 13 - 18, kännetecknat av organ för att utföra interpolering med nollutfyllning eller enligt zooming-algoritmen när utsignalen har högre upplösning än insignalen.
20. Förfarande enligt något av kraven 13 - 19, kännetecknat av att det önskade kompressionsförhållandet uppnås genom att välja en lämplig kvantiseringsfaktor.
21. Förfarande enligt något av kraven 13 - 20, kännetecknat av att utsekvensen från transkodern anpassas i enlighet med den Åfl . .. _ U använda blockstorleken och upplösningen med hjälp av att använda en variabellängdkodare, lämpad för den särskilda blockstorlek och upplösning som används.
22. Förfarande enligt något av kraven 13 - 21, kännetecknat av att en ändring i upplösningen mellan successivt utsända bilder utförs i enlighet med de aktuella transmissionsförhållandena.
23. Förfarande enligt krav 22, kännetecknad av att upplösningen ändras i enlighet med bandbredden och/eller de krav som finns vid mottagaren.
24. Förfarande enligt krav 13, då den inkommande videosignalen är en DCT-transformerad videosignal, kännetecknat av att den utgående DCT-transformerade videosignalen transkodas till en annan hastighet utan användning av några DCT/IDCT-processorer.
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE9603909A SE515535C2 (sv) | 1996-10-25 | 1996-10-25 | En transkoder |
| PCT/SE1997/001766 WO1998019460A1 (en) | 1996-10-25 | 1997-10-22 | A transcoder |
| EP97910678A EP0934661A1 (en) | 1996-10-25 | 1997-10-22 | A transcoder |
| AU47980/97A AU4798097A (en) | 1996-10-25 | 1997-10-22 | A transcoder |
| JP10520354A JP2001503225A (ja) | 1996-10-25 | 1997-10-22 | トランスコーダ |
| CN97199152.9A CN1234943A (zh) | 1996-10-25 | 1997-10-22 | 译码器 |
| US09/294,548 US6526099B1 (en) | 1996-10-25 | 1999-04-20 | Transcoder |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE9603909A SE515535C2 (sv) | 1996-10-25 | 1996-10-25 | En transkoder |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| SE9603909D0 SE9603909D0 (sv) | 1996-10-25 |
| SE9603909L SE9603909L (sv) | 1998-04-26 |
| SE515535C2 true SE515535C2 (sv) | 2001-08-27 |
Family
ID=20404375
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SE9603909A SE515535C2 (sv) | 1996-10-25 | 1996-10-25 | En transkoder |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US6526099B1 (sv) |
| EP (1) | EP0934661A1 (sv) |
| JP (1) | JP2001503225A (sv) |
| CN (1) | CN1234943A (sv) |
| AU (1) | AU4798097A (sv) |
| SE (1) | SE515535C2 (sv) |
| WO (1) | WO1998019460A1 (sv) |
Families Citing this family (130)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE9703849L (sv) * | 1997-03-14 | 1998-09-15 | Ericsson Telefon Ab L M | Nedskalning av bilder |
| US6735253B1 (en) | 1997-05-16 | 2004-05-11 | The Trustees Of Columbia University In The City Of New York | Methods and architecture for indexing and editing compressed video over the world wide web |
| KR100563756B1 (ko) * | 1997-11-05 | 2006-03-24 | 소니 가부시끼 가이샤 | 디지탈 신호 변환 방법 및 디지탈 신호 변환 장치 |
| DE69803195T2 (de) * | 1997-11-27 | 2002-08-29 | British Telecommunications P.L.C., London | Codeumsetzung |
| US6058143A (en) * | 1998-02-20 | 2000-05-02 | Thomson Licensing S.A. | Motion vector extrapolation for transcoding video sequences |
| EP0971542A3 (en) * | 1998-07-10 | 2001-08-01 | Tektronix, Inc. | Readjustment of bit rates when switching between compressed video streams |
| US7143434B1 (en) * | 1998-11-06 | 2006-11-28 | Seungyup Paek | Video description system and method |
| EP1048173A1 (en) * | 1998-11-17 | 2000-11-02 | Koninklijke Philips Electronics N.V. | Method of transcoding coded video signals and corresponding transcoder with motion vector selection |
| US6434197B1 (en) * | 1999-01-07 | 2002-08-13 | General Instrument Corporation | Multi-functional transcoder for compressed bit streams |
| EP1032212A3 (en) * | 1999-02-23 | 2004-04-28 | Matsushita Electric Industrial Co., Ltd. | Transcoder, transcoding system, and recording medium |
| JP3855522B2 (ja) * | 1999-02-23 | 2006-12-13 | 松下電器産業株式会社 | 動画変換装置 |
| JP2000244921A (ja) | 1999-02-24 | 2000-09-08 | Matsushita Electric Ind Co Ltd | 映像符号化方法および装置 |
| US6625211B1 (en) * | 1999-02-25 | 2003-09-23 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for transforming moving picture coding system |
| WO2001006793A1 (en) * | 1999-07-20 | 2001-01-25 | Koninklijke Philips Electronics N.V. | Drift-free transcoder and related method |
| US6300973B1 (en) * | 2000-01-13 | 2001-10-09 | Meir Feder | Method and system for multimedia communication control |
| US6807310B1 (en) * | 2000-05-23 | 2004-10-19 | The Board Of Trustees Of The University Of Illinois | Transformation of image parts in different domains to obtain resultant image size different from initial image size |
| JP2001339460A (ja) * | 2000-05-26 | 2001-12-07 | Matsushita Electric Ind Co Ltd | デジタル送受信装置 |
| US6671320B1 (en) * | 2000-06-16 | 2003-12-30 | Lucent Technologies Inc. | CIF to QCIF video bitstream down conversion |
| US7133594B2 (en) * | 2000-06-26 | 2006-11-07 | Matsushita Electric Industrial Co., Ltd. | Digital recording apparatus that secures a certain number of video frames in a VOB constituting with another VOB a portion of encode stream that should be reproduced seamlessly |
| JP3561485B2 (ja) * | 2000-08-18 | 2004-09-02 | 株式会社メディアグルー | 符号化信号分離・合成装置、差分符号化信号生成装置、符号化信号分離・合成方法、差分符号化信号生成方法、符号化信号分離・合成プログラムを記録した媒体および差分符号化信号生成プログラムを記録した媒体 |
| EP1340382A1 (en) * | 2000-11-22 | 2003-09-03 | Koninklijke Philips Electronics N.V. | Decompression of compressed encoded video |
| US6847406B2 (en) | 2000-12-06 | 2005-01-25 | Koninklijke Philips Electronics N.V. | High quality, cost-effective film-to-video converter for high definition television |
| JP2002209215A (ja) * | 2001-01-09 | 2002-07-26 | Sony Corp | 符号量制御装置及び方法、並びに画像情報変換装置及び方法 |
| JP4050472B2 (ja) * | 2001-02-06 | 2008-02-20 | 株式会社モノリス | 画像生成方法、装置およびシステム |
| GB2369952B (en) * | 2001-03-10 | 2002-12-04 | Ericsson Telefon Ab L M | Transcoding of video signals |
| US7068716B1 (en) * | 2001-03-15 | 2006-06-27 | Bigband Networks, Inc. | Method and system for compressing groups of basic media data units |
| US20020135695A1 (en) * | 2001-03-26 | 2002-09-26 | Edelson Steven D. | Video data reduction by selected frame elimination |
| US7602847B1 (en) | 2001-03-27 | 2009-10-13 | Vixs Systems, Inc. | Device and method for compression of a video stream |
| US8107524B2 (en) * | 2001-03-30 | 2012-01-31 | Vixs Systems, Inc. | Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network |
| US20070053428A1 (en) * | 2001-03-30 | 2007-03-08 | Vixs Systems, Inc. | Managed degradation of a video stream |
| US6671322B2 (en) * | 2001-05-11 | 2003-12-30 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoder with spatial resolution reduction |
| US7170932B2 (en) * | 2001-05-11 | 2007-01-30 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoder with spatial resolution reduction and drift compensation |
| DE60205257D1 (de) * | 2001-05-17 | 2005-09-01 | Optibase Herzelia | Verfahren und vorrichtung für videorundfunk von mehrfach angereicherten medienformaten |
| KR20030006641A (ko) * | 2001-07-13 | 2003-01-23 | 전자부품연구원 | 트랜스코더 및 그의 트랜스 코딩 방법 |
| US7675972B1 (en) * | 2001-07-30 | 2010-03-09 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
| US6959348B1 (en) * | 2001-07-30 | 2005-10-25 | Vixs Systems, Inc. | Method and system for accessing data |
| US20030039226A1 (en) * | 2001-08-24 | 2003-02-27 | Kwak Joseph A. | Physical layer automatic repeat request (ARQ) |
| US8526751B2 (en) * | 2001-08-24 | 2013-09-03 | International Business Machines Corporation | Managing image storage size |
| EP1440590A1 (en) * | 2001-10-29 | 2004-07-28 | Nokia Corporation | Adapting the data rate and/or the amount of data of content to be transmitted separately for at least two radio access networks, e.g. umts, geran |
| US7596127B1 (en) | 2001-10-31 | 2009-09-29 | Vixs Systems, Inc. | System for allocating data in a communications system and method thereof |
| US7139330B1 (en) | 2001-10-31 | 2006-11-21 | Vixs Systems, Inc. | System for signal mixing and method thereof |
| US7106715B1 (en) | 2001-11-16 | 2006-09-12 | Vixs Systems, Inc. | System for providing data to multiple devices and method thereof |
| US7356079B2 (en) * | 2001-11-21 | 2008-04-08 | Vixs Systems Inc. | Method and system for rate control during video transcoding |
| US7403564B2 (en) * | 2001-11-21 | 2008-07-22 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
| US7165180B1 (en) | 2001-11-27 | 2007-01-16 | Vixs Systems, Inc. | Monolithic semiconductor device for preventing external access to an encryption key |
| AU2002351310A1 (en) * | 2001-12-06 | 2003-06-23 | The Trustees Of Columbia University In The City Of New York | System and method for extracting text captions from video and generating video summaries |
| JP3874179B2 (ja) * | 2002-03-14 | 2007-01-31 | Kddi株式会社 | 符号化動画像変換装置 |
| US7190723B2 (en) * | 2002-03-27 | 2007-03-13 | Scientific-Atlanta, Inc. | Digital stream transcoder with a hybrid-rate controller |
| US7236521B2 (en) * | 2002-03-27 | 2007-06-26 | Scientific-Atlanta, Inc. | Digital stream transcoder |
| KR20050007348A (ko) * | 2002-04-26 | 2005-01-17 | 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 | 유틸리티 기능 디스크립터에 기초하는 최적의 비디오트랜스코딩 방법 및 시스템 |
| US7310679B1 (en) | 2002-04-29 | 2007-12-18 | Vixs Systems Inc. | Method and system for transmitting video content while preventing other transmissions in a contention-based network |
| US7120253B2 (en) * | 2002-05-02 | 2006-10-10 | Vixs Systems, Inc. | Method and system for protecting video data |
| JP4275358B2 (ja) * | 2002-06-11 | 2009-06-10 | 株式会社日立製作所 | 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法 |
| US8311095B2 (en) * | 2002-07-17 | 2012-11-13 | Onmobile Global Limited | Method and apparatus for transcoding between hybrid video codec bitstreams |
| US20040057521A1 (en) * | 2002-07-17 | 2004-03-25 | Macchina Pty Ltd. | Method and apparatus for transcoding between hybrid video CODEC bitstreams |
| US7260265B2 (en) * | 2002-10-04 | 2007-08-21 | International Business Machines Corporation | Enhancing compression while transcoding JPEG images |
| US6961377B2 (en) * | 2002-10-28 | 2005-11-01 | Scopus Network Technologies Ltd. | Transcoder system for compressed digital video bitstreams |
| US7408989B2 (en) * | 2003-01-16 | 2008-08-05 | Vix5 Systems Inc | Method of video encoding using windows and system thereof |
| US20040141555A1 (en) * | 2003-01-16 | 2004-07-22 | Rault Patrick M. | Method of motion vector prediction and system thereof |
| US7327784B2 (en) * | 2003-02-24 | 2008-02-05 | Vixs Systems, Inc. | Method and system for transcoding video data |
| US7133452B1 (en) | 2003-02-24 | 2006-11-07 | Vixs Systems, Inc. | Method and system for transcoding video data |
| US7606305B1 (en) | 2003-02-24 | 2009-10-20 | Vixs Systems, Inc. | Method and system for transcoding video data |
| US7130350B1 (en) | 2003-02-28 | 2006-10-31 | Vixs Systems, Inc. | Method and system for encoding and decoding data in a video stream |
| KR20040079084A (ko) * | 2003-03-06 | 2004-09-14 | 삼성전자주식회사 | 시간적 복잡도를 고려한 적응적 동영상 부호화와 그 장치 |
| WO2004082288A1 (en) * | 2003-03-11 | 2004-09-23 | Nokia Corporation | Switching between coding schemes |
| US7739105B2 (en) * | 2003-06-13 | 2010-06-15 | Vixs Systems, Inc. | System and method for processing audio frames |
| US7668396B2 (en) * | 2003-09-29 | 2010-02-23 | Vixs Systems, Inc. | Method and system for noise reduction in an image |
| US7277101B2 (en) | 2003-09-29 | 2007-10-02 | Vixs Systems Inc | Method and system for scaling images |
| KR20050049964A (ko) * | 2003-11-24 | 2005-05-27 | 엘지전자 주식회사 | 압축 동영상의 고속 해상도 변환 장치 |
| US7860161B2 (en) * | 2003-12-15 | 2010-12-28 | Microsoft Corporation | Enhancement layer transcoding of fine-granular scalable video bitstreams |
| US20050129111A1 (en) * | 2003-12-16 | 2005-06-16 | Nokia Corporation | Transform-domain video editing |
| US7406598B2 (en) * | 2004-02-17 | 2008-07-29 | Vixs Systems Inc. | Method and system for secure content distribution |
| US20050201469A1 (en) * | 2004-03-11 | 2005-09-15 | John Sievers | Method and apparatus for improving the average image refresh rate in a compressed video bitstream |
| US20050232497A1 (en) * | 2004-04-15 | 2005-10-20 | Microsoft Corporation | High-fidelity transcoding |
| US7515637B2 (en) * | 2004-05-21 | 2009-04-07 | Broadcom Advanced Compression Group, Llc | Video decoding for motion compensation with weighted prediction |
| EP1628484B1 (en) * | 2004-08-18 | 2019-04-03 | STMicroelectronics Srl | Method for transcoding compressed video signals, related apparatus and computer program product therefor |
| US7692683B2 (en) * | 2004-10-15 | 2010-04-06 | Lifesize Communications, Inc. | Video conferencing system transcoder |
| FR2876860A1 (fr) * | 2004-10-20 | 2006-04-21 | Thomson Licensing Sa | Procede de codage hierarchique d'images video |
| US20060140274A1 (en) * | 2004-12-29 | 2006-06-29 | Mediatek Incorporation | Transcoder and method used therein |
| US7421048B2 (en) * | 2005-01-20 | 2008-09-02 | Vixs Systems, Inc. | System and method for multimedia delivery in a wireless environment |
| US7609766B2 (en) * | 2005-02-08 | 2009-10-27 | Vixs Systems, Inc. | System of intra-picture complexity preprocessing |
| WO2006096612A2 (en) * | 2005-03-04 | 2006-09-14 | The Trustees Of Columbia University In The City Of New York | System and method for motion estimation and mode decision for low-complexity h.264 decoder |
| US8949920B2 (en) * | 2005-03-17 | 2015-02-03 | Vixs Systems Inc. | System and method for storage device emulation in a multimedia processing system |
| US7400869B2 (en) * | 2005-03-22 | 2008-07-15 | Vixs Systems Inc. | System and method for adaptive DC offset compensation in wireless transmissions |
| US20060248210A1 (en) * | 2005-05-02 | 2006-11-02 | Lifesize Communications, Inc. | Controlling video display mode in a video conferencing system |
| JP4473779B2 (ja) * | 2005-05-23 | 2010-06-02 | 株式会社東芝 | 超音波診断装置及びその画像処理方法 |
| US9661376B2 (en) * | 2005-07-13 | 2017-05-23 | Polycom, Inc. | Video error concealment method |
| US7912127B2 (en) * | 2005-08-05 | 2011-03-22 | Lsi Corporation | H.264 to VC-1 and VC-1 to H.264 transcoding |
| US7881384B2 (en) | 2005-08-05 | 2011-02-01 | Lsi Corporation | Method and apparatus for H.264 to MPEG-2 video transcoding |
| US7903739B2 (en) * | 2005-08-05 | 2011-03-08 | Lsi Corporation | Method and apparatus for VC-1 to MPEG-2 video transcoding |
| US8208540B2 (en) | 2005-08-05 | 2012-06-26 | Lsi Corporation | Video bitstream transcoding method and apparatus |
| US8045618B2 (en) | 2005-08-05 | 2011-10-25 | Lsi Corporation | Method and apparatus for MPEG-2 to VC-1 video transcoding |
| US7707485B2 (en) | 2005-09-28 | 2010-04-27 | Vixs Systems, Inc. | System and method for dynamic transrating based on content |
| US20070112826A1 (en) * | 2005-11-10 | 2007-05-17 | Vixs Systems, Inc. | Multimedia transcoding based on remaining storage capacity |
| JP4666255B2 (ja) | 2005-12-27 | 2011-04-06 | 日本電気株式会社 | 符号化データ選定、符号化データ設定、再符号化データ生成及び再符号化の方法及び装置 |
| US8131995B2 (en) * | 2006-01-24 | 2012-03-06 | Vixs Systems, Inc. | Processing feature revocation and reinvocation |
| US7465241B2 (en) * | 2007-03-23 | 2008-12-16 | Acushnet Company | Functionalized, crosslinked, rubber nanoparticles for use in golf ball castable thermoset layers |
| US8319814B2 (en) | 2007-06-22 | 2012-11-27 | Lifesize Communications, Inc. | Video conferencing system which allows endpoints to perform continuous presence layout selection |
| US7962640B2 (en) * | 2007-06-29 | 2011-06-14 | The Chinese University Of Hong Kong | Systems and methods for universal real-time media transcoding |
| US8139100B2 (en) | 2007-07-13 | 2012-03-20 | Lifesize Communications, Inc. | Virtual multiway scaler compensation |
| JP5628672B2 (ja) * | 2007-09-17 | 2014-11-19 | ピコターム エービーPicoterm Ab | エネルギー変換供給装置 |
| JP5207693B2 (ja) * | 2007-09-18 | 2013-06-12 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
| US8457958B2 (en) * | 2007-11-09 | 2013-06-04 | Microsoft Corporation | Audio transcoder using encoder-generated side information to transcode to target bit-rate |
| US8208745B2 (en) * | 2008-01-31 | 2012-06-26 | Analog Devices, Inc. | Spatial domain video enhancement/scaling system and method |
| WO2009126785A2 (en) | 2008-04-10 | 2009-10-15 | The Trustees Of Columbia University In The City Of New York | Systems and methods for image archaeology |
| WO2009155281A1 (en) * | 2008-06-17 | 2009-12-23 | The Trustees Of Columbia University In The City Of New York | System and method for dynamically and interactively searching media data |
| US8514265B2 (en) | 2008-10-02 | 2013-08-20 | Lifesize Communications, Inc. | Systems and methods for selecting videoconferencing endpoints for display in a composite video image |
| US20100110160A1 (en) * | 2008-10-30 | 2010-05-06 | Brandt Matthew K | Videoconferencing Community with Live Images |
| US8671069B2 (en) | 2008-12-22 | 2014-03-11 | The Trustees Of Columbia University, In The City Of New York | Rapid image annotation via brain state decoding and visual pattern mining |
| US8396114B2 (en) * | 2009-01-29 | 2013-03-12 | Microsoft Corporation | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming |
| US8311115B2 (en) * | 2009-01-29 | 2012-11-13 | Microsoft Corporation | Video encoding using previously calculated motion information |
| US8456510B2 (en) * | 2009-03-04 | 2013-06-04 | Lifesize Communications, Inc. | Virtual distributed multipoint control unit |
| US8643695B2 (en) * | 2009-03-04 | 2014-02-04 | Lifesize Communications, Inc. | Videoconferencing endpoint extension |
| WO2010134079A1 (en) * | 2009-05-20 | 2010-11-25 | Nissimyan, Nissim | Video encoding |
| US8270473B2 (en) * | 2009-06-12 | 2012-09-18 | Microsoft Corporation | Motion based dynamic resolution multiple bit rate video encoding |
| US8350891B2 (en) * | 2009-11-16 | 2013-01-08 | Lifesize Communications, Inc. | Determining a videoconference layout based on numbers of participants |
| US8705616B2 (en) | 2010-06-11 | 2014-04-22 | Microsoft Corporation | Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures |
| RU2434358C1 (ru) * | 2010-07-07 | 2011-11-20 | Государственное образовательное учреждение высшего профессионального образования "Военная академия связи имени С.М. Буденного" Министерства обороны Российской Федерации | Способ сжатия и восстановления подвижных цветных видеоизображений |
| US20120069895A1 (en) * | 2010-09-17 | 2012-03-22 | David Frederique Blum | High Quality Video Encoder |
| US20120114046A1 (en) * | 2010-11-10 | 2012-05-10 | Iouri Gordon | Transcode video verifier device and method for verifying a quality of a transcoded video file |
| EA030776B9 (ru) | 2011-03-28 | 2019-01-31 | Долби Лабораторис Лайсэнзин Корпорейшн | Преобразование пониженной сложности для канала низкочастотных эффектов |
| EP2509315B1 (en) * | 2011-04-04 | 2016-08-17 | Nxp B.V. | Video decoding switchable between two modes of inverse motion compensation |
| US9071841B2 (en) * | 2011-05-17 | 2015-06-30 | Microsoft Technology Licensing, Llc | Video transcoding with dynamically modifiable spatial resolution |
| US9591318B2 (en) | 2011-09-16 | 2017-03-07 | Microsoft Technology Licensing, Llc | Multi-layer encoding and decoding |
| US11089343B2 (en) | 2012-01-11 | 2021-08-10 | Microsoft Technology Licensing, Llc | Capability advertisement, configuration and control for video coding and decoding |
| US9532080B2 (en) * | 2012-05-31 | 2016-12-27 | Sonic Ip, Inc. | Systems and methods for the reuse of encoding information in encoding alternative streams of video data |
| US9357210B2 (en) | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
| US9350990B2 (en) | 2013-02-28 | 2016-05-24 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming |
| FR3016764B1 (fr) * | 2014-01-17 | 2016-02-26 | Sagemcom Broadband Sas | Procede et dispositif de transcodage de donnees video de h.264 vers h.265 |
| US9306987B2 (en) | 2014-04-29 | 2016-04-05 | Cisco Technology, Inc. | Content message for video conferencing |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5477397A (en) * | 1993-02-23 | 1995-12-19 | Matsushita Electric Corporation Of America | Digital high definition television receiver with features that facilitate trick-play modes on a digital VCR |
| DE4413217A1 (de) | 1994-04-15 | 1995-10-19 | Bosch Gmbh Robert | Kraftstoffeinspritzdüse für Brennkraftmaschinen |
| SG43051A1 (en) * | 1994-04-21 | 1997-10-17 | British Telecomm | A transcoder |
| EP1701552B1 (en) * | 1994-06-08 | 2008-07-30 | Matsushita Electric Industrial Co., Ltd. | Image conversion apparatus |
| US5828421A (en) * | 1994-10-11 | 1998-10-27 | Hitachi America, Ltd. | Implementation efficient digital picture-in-picture decoding methods and apparatus |
| US5889561A (en) * | 1994-11-04 | 1999-03-30 | Rca Thomson Licensing Corporation | Method and apparatus for scaling a compressed video bitstream |
| US5617142A (en) * | 1994-11-08 | 1997-04-01 | General Instrument Corporation Of Delaware | Method and apparatus for changing the compression level of a compressed digital signal |
-
1996
- 1996-10-25 SE SE9603909A patent/SE515535C2/sv not_active IP Right Cessation
-
1997
- 1997-10-22 JP JP10520354A patent/JP2001503225A/ja not_active Ceased
- 1997-10-22 WO PCT/SE1997/001766 patent/WO1998019460A1/en not_active Ceased
- 1997-10-22 EP EP97910678A patent/EP0934661A1/en not_active Withdrawn
- 1997-10-22 CN CN97199152.9A patent/CN1234943A/zh active Pending
- 1997-10-22 AU AU47980/97A patent/AU4798097A/en not_active Abandoned
-
1999
- 1999-04-20 US US09/294,548 patent/US6526099B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US6526099B1 (en) | 2003-02-25 |
| SE9603909D0 (sv) | 1996-10-25 |
| SE9603909L (sv) | 1998-04-26 |
| CN1234943A (zh) | 1999-11-10 |
| WO1998019460A1 (en) | 1998-05-07 |
| AU4798097A (en) | 1998-05-22 |
| EP0934661A1 (en) | 1999-08-11 |
| JP2001503225A (ja) | 2001-03-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| SE515535C2 (sv) | En transkoder | |
| CN108848376B (zh) | 视频编码、解码方法、装置和计算机设备 | |
| Xin et al. | Digital video transcoding | |
| KR100563756B1 (ko) | 디지탈 신호 변환 방법 및 디지탈 신호 변환 장치 | |
| US5870146A (en) | Device and method for digital video transcoding | |
| US6549575B1 (en) | Efficient, flexible motion estimation architecture for real time MPEG2 compliant encoding | |
| US8155211B2 (en) | Digital stream transcoder | |
| US20070285500A1 (en) | Method and Apparatus for Video Mixing | |
| WO2001095633A2 (en) | Video size conversion and transcoding from mpeg-2 to mpeg-4 | |
| JPH10200895A (ja) | ビデオの映像コード化およびイントラ・コード化のための固定型または適応型デインターリーブドトランスフォームコード化方法及び装置 | |
| EP0756803B1 (en) | A transcoder | |
| WO1998027733A1 (en) | Progressive still frame mode | |
| Yuh-Reuy et al. | A DCT-domain video transcoder for spatial resolution downconversion | |
| CN101356821A (zh) | 用于对图像或图像序列进行编码和解码的方法、对应的设备、计算机程序和信号 | |
| JP2004511978A (ja) | 動きベクトルの圧縮 | |
| Tan et al. | On the methods and performances of rational downsizing video transcoding | |
| Shanableh et al. | Transcoding of video into different encoding formats | |
| Lee et al. | Low-complexity DCT-domain video transcoders for arbitrary-size downscaling | |
| Lee et al. | Computation reduction in cascaded DCT-domain video downscaling transcoding | |
| JPH0723395A (ja) | 画像処理装置 | |
| Hashemi et al. | Macroblock type selection for compressed domain down-sampling of MPEG video | |
| AU2007237319B2 (en) | Method for sub-pixel value interpolation | |
| Zhou et al. | The motion vector reuse algorithm to improve dual-stream video encoder | |
| Chen et al. | An new coefficients transform matrix for the transform domain MPEG-2 to H. 264/AVC transcoding | |
| JP2002077912A (ja) | 画像符号化装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NUG | Patent has lapsed |