NO341315B1 - Dynamisk allokering av enkodere - Google Patents

Dynamisk allokering av enkodere Download PDF

Info

Publication number
NO341315B1
NO341315B1 NO20130531A NO20130531A NO341315B1 NO 341315 B1 NO341315 B1 NO 341315B1 NO 20130531 A NO20130531 A NO 20130531A NO 20130531 A NO20130531 A NO 20130531A NO 341315 B1 NO341315 B1 NO 341315B1
Authority
NO
Norway
Prior art keywords
new
encoders
pad
endpoints
encoder
Prior art date
Application number
NO20130531A
Other languages
English (en)
Other versions
NO20130531A1 (no
Inventor
Håvard Graff
Original Assignee
Pexip AS
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 Pexip AS filed Critical Pexip AS
Priority to NO20130531A priority Critical patent/NO341315B1/no
Priority to US14/192,492 priority patent/US9118808B2/en
Priority to CN201480022106.XA priority patent/CN105340215B/zh
Priority to EP14723005.6A priority patent/EP2987273B1/en
Priority to PCT/EP2014/057657 priority patent/WO2014170341A1/en
Publication of NO20130531A1 publication Critical patent/NO20130531A1/no
Publication of NO341315B1 publication Critical patent/NO341315B1/no

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Character Spaces And Line Spaces In Printers (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Description

Dynamisk allokering av enkodere
Teknikkens område
Den foreliggende oppfinnelse vedrører en fremgangsmåte, datamaskinprogram og et system for dynamisk å gi allokering av enkodere.
Oppfinnelsens bakgrunn
Overføring av levende bilder i sanntid benyttes i flere anvendelser som for eksempel i videokonferanser, nettmøter og videotelefoni.
Videokonferansesystemer tillater simultan utveksling av lyd, video og data mellom flere konferanselokasjoner. Systemer kjent som multilokasjonskontrollenheter (MCU) utfører svitsjefunksjoner for å tillate endepunkter på flere lokasjoner å kommunisere seg i mellom i en konferanse. Et endepunkt refererer konvensjonelt til en videokonferanseterminal, enten en frittstående terminal utstyrt med minst ett kamera, en skjerm, en høyttaler eller hodetelefoner og en prosessor eller en programvareklient for videokonferanser installert på en generell datamaskin med tilsvarende evner.
MCUen linker lokasjonene sammen ved å motta enkeltbilder av konferansesignaler fra lokasjonene, behandle de mottatte signaler, og på nytt transmittere de bearbeidede signaler til de aktuelle lokasjonene. Konferansesignaler inkluderer lyd, video, data og kontrollinformasjon. I en "svitsjet" (switched) konferanse, blir videosignalet fra en av konferansens lokasjoner, vanligvis av den som snakker høyest, kringkastet til hver av de andre deltakerne. I en "kontinuerlig tilstedeværende" (continuous presence) konferanse, er videosignaler fra to eller flere lokasjoner romlig mikset sammen for å danne et samlet videosignal til visning for konferansedeltakerne. Når de ulike videostrømmene har blitt mikset sammen til en enkelt videostrøm, blir den sammensatte videostrømmen transmittert til de forskjellige deltakerne i videokonferansen, hvor hver transmitterte videostrøm helst følger et satt system som indikerer hvem som skal motta hvilken videostrøm. Generelt vil de ulike brukerne foretrekke å motta ulike videostrømmer. Det kontinuerlig tilstedeværende-, eller sammensatte, bildet er et kombinert bilde som kan inkludere direktetransmittert videostrøm, stillbilder, menyer eller andre visuelle bilder fra deltakerne i konferansen. Det kombinerte bildet kan for eksempel være sammensatt av flere like store bilder, eller ett hovedbilde i tillegg til ett eller flere mindre bilder i innfelte vinduer, ofte referert til som "bilde-i-bilde" (picture-in-picture - PIP). PIPer krever vanligvis en mye lavere oppløsning enn hovedbildet på grunn av størrelsesforskjellen innenfor skjermen.
"Video-MCUer" basert på en transkodingsarkitektur (transcoding architecture) bruker én dedikert enkoder for hver tilkoblede deltaker (videoterminal). Fordelen med dette er at hver deltaker kan ha en personlig tilpasset visning av konferansen, men et viktigere faktum er at det med tanke på nettverksfleksibilitet sikrer at dersom en deltaker er koblet til via et dårlig nettverk vil ikke dette påvirke den opplevde videokvaliteten som mottas av de andre deltakerne.
Eksisterende video-MCUer som bruker en tilnærming med en delt enkoder lider av kvalitetsproblemer dersom ett av endepunktene som er koblet til den delte enkoderen har en dårlig nettverksforbindelse. Det spesifikke endepunktet kan da be MCUen for og (1) kontinuerlig sende komplette "inter-bilder" (inter frames - I-frames) for å "rydde opp" eventuelt mottatte videofeil, eller (2) be MCUen om å redusere sin overføringshastighet og sende videoen i en lavere oppløsning eller en videostrøm med lavere bildefrekvens for å redusere den anvendte båndbredden i det håp om å redusere antallet pakker som går tapt. Siden enkoderen i MCUen er fordelt mellom flere endepunkter, så er det klart at disse to problemstillingene vil forverre opplevelsen for disse andre endepunktene.
Det er derfor et behov for en fremgangsmåte for å dele koderressursene i en MCU uten å gå på kompromiss med bildekvaliteten og båndbreddetilpasningen.
US20122284409 beskriver en framgangsmåte som kan brukes i forskjellige nettverks- og ressursmiljøer for lyd-/videokonferansesystemer som omfatter et antall noder. Ressurser allokeres på en dynamisk måte ved å lage prioritetsnivåer og ved optimalisering.
EP2227013 beskriver en virtuell distribuert flerpunktskontrollenhet som støtter videokonferanser med flere endepunkter. Enheten implementeres ved å bruke et hovedendepunkt og flere underendepunkter. Endepunktressursene kan utvides når et endepunkt mottar en forespørsel fra en lokal deltaker om å etablere en videokonferanse. Hovedendepunktet kan ta en avgjørelse om svitsjing, for eksempel dersom antallet underendepunkter er i ferd med å overstige prosesseringskapasiteten, og dermed svitsje en eller flere undereendepunkter til sekundære endepunkter som har kapasitet.
US 6731605 beskriver en framgangsmåte for multimediesesjoner i nettverk der båndbredde allokeres til de enkelte kodere i en samling av videokodere. Datautgangsstrømmene fra disse deler en enkelt kommunikasjonskanal.
WO 2010138913 beskriver statisk multipleksing av video for tilpasning til IP-nettverk der båndbredde fordeles mellom flere kodeenheter slik at forsinkelser minimaliseres mens optimal videokvalitet opprettholdes.
Oppsummering av oppfinnelsen
Et formål ved anvendelser av oppfinnelsen presenterte heri, er å eliminere eller i det minste forminske ulempene nevnt ovenfor. Dette formålet og andre formål oppnås ved de uavhengige kravene presentert i det følgende. I henhold til anvendelse av oppfinnelsen presentert heri, er en fremgangsmåte for dynamisk allokering av enkodere i en videokonferanse med flere deltakere med ett antall endepunkter gitt. Videokonferanseendepunktene er tilpasset til å kode og transmittere en mediestrøm som omfatter i det minste videodata. Metoden omfatter å forespørre om en ny "pad", å opprette en ny enkoder ved forespørsel om en ny "pad", å bestemme hvorvidt et maksimalt antall enkodere er nådd. Dersom det maksimale antallet enkodere ikke er nådd, å linke den nye "paden" til den nye enkoderen, dersom det maksimale antallet enkodere er nådd, å linke alle eksisterende "pader" til den nye enkoderen, å frigi alle ubrukte enkodere.
I andre fremgangsmåter presentert heri, er overvåking for pakketapsindikasjoner (Packet Loss Indication - PLI) videre omfattet. Hvis en PLI er mottatt innenfor en forhåndsdefinert tidsperiode siden sist mottatte PLI, å forespørre om en ny "pad".
I andre fremgangsmåter presentert heri, er å forespørre om en ny "pad" når et nytt endepunkt kommer inn i videokonferansen omfattet.
I andre fremgangsmåter presentert heri, er en "pad" en virtuell enhet i en transenkoder på et bakplan mellom svitsjenoder (switching nodes).
I andre fremgangsmåter presentert heri, er en "pad" en virtuell enhet i et virtuelt endepunkt (Virtual Endpoint - VE) som deler koderressurser på en multilokasjonskontrollenhet (Multipoint Control Unit - MCU) mellom er antall endepunkter.
I andre anvendelser av oppfinnelsen presentert heri, er et dynamiskt allokeringssystem for en videokonferanse med flere deltakere gitt. Systemet gir dynamisk allokering av enkodere i videokonferansen med flere deltakere med et antall endepunkter. Videokonferanseendepunktene er tilpasset til å kode og transmittere en mediestrøm som i det minste omfatter videodata. Systemet er tilpasset til å forespørre om en ny "pad", å opprette en ny enkoder ved nevnte forespørsel om en ny "pad", å bestemme hvorvidt et maksimalt antall enkodere er nådd. Dersom det maksimale antall enkodere ikke er nådd, er systemet tilpasset til å linke den nye "paden" til den nye enkoderen. Dersom det maksimale antall enkodere er nådd, er systemet tilpasset til å linke alle eksisterende "pader" til den nye enkoderen. Systemet er tilpasset til å frigi all ubrukte enkodere.
I andre anvendelser av et system presentert her, er en "pad" en virtuell enhet i en transenkoder på et bakplan mellom svitsjenoder.
I fortsatt andre anvendelser av et system presentert her, er en "pad" en virtuell enhet i et virtuelt endepunkt (Virtual Endpoint - VE) som deler koderressurser på en multilokasjonskontrollenhet (Multipoint Control Unit - MCU) mellom er antall endepunkter.
I andre anvendelser av oppfinnelsen presentert heri, er et datamaskinprogramprodukt for dynamisk allokering av enkodere i en videokonferanse med flere deltakere med ett antall endepunkter gitt. Videokonferanseendepunktene er tilpasset til å kode og å transmittere en mediestrøm som i det minste omfatter videodata. Datamaskinprogramproduktet omfatter et datamaskinlesbart lagringsmedium som har en datamaskinlesbar programkode innlemmet i mediet. Den datamaskinlesbare programkoden omfatter datamaskinlesbarprogramkode som er konfigurert til å utføre alle trinnene i fremgangsmåten av oppfinnelsen presentert heri.
Kort beskrivelse av te<g>nin<g>ene
Figur 1 viser et eksempel på en oppbygning av hvordan videodata fra et endepunkt med den gjeldende taler kan bli behandlet og svitsjet i en videokonferanse som involverer virtuelle endepunkter og strømsvitsjenoder,
Figur 2 er et eksempel på en distribuert videokonferanse,
Figur 3 er et flytskjema som illustrerer en eksempelvis anvendelse av oppfinnelsen presentert heri, Figur 4 er en illustrasjon av et øyeblikksbilde i et virtuelt endepunkt eller en transenkoder som har fire ikke-delte enkodere som hver er koblet til en "pad", vist med heltrukne linjer.
Detaljert beskrivelse av en eksempelutførelsesform
Store konferanser, som typisk involverer flere titalls deltakere, vil typisk ha mange deltakere som ser det nøyaktig samme bildet (nåværende taler i tillegg til de 4 eller 9
siste talerne) i motsetning til små konferanser, som typisk involverer opptil 11 deltakere, der alle vil se et forskjellig bilde, for eksempel den nåværende taler i stor visning i tillegg til de ni andre deltakere i "levende" miniatyrbildevisninger (thumbnails), også kjent som bilde-i-bilde (PIP). En deltaker vil aldri se seg selv.
Hvis det er pakketap til stede, er det en sjanse for at noen av deltakere (spesielt hvis de er eksterne deltakerne på én felles lokasjon, slik at de vil se den samme kvaliteten over sitt lokale WAN) vil ha samme grad av pakketap eller de samme
båndbreddebegrensningene.
Derfor er det fornuftig å gruppere endepunkter som deler samme båndbredde, pakketap, oppløsning, etc. og bruke det samme virtuelle endepunktet (VE) for å generere denne bestemte strømmen. I henhold til anvendelser av oppfinnelsen presentert heri, er en kontinuerlig overvåkning av pakketapskarakteristikkene til tilkoblingene mellom VEen og det virkelige endepunktet gitt, og kan til en hver tid flytte et endepunkt til en annen VE.
Figur 1 viser en mulig oppbygning av hvordan videodata fra et endepunkt med den gjeldende taler kan bli behandlet og svitsjet i en videokonferanse som involverer virtuelle endepunkter og strømsvitsjenoder. Komponentene som inngår i MCUen er vist innenfor den stiplede linjen. Et endepunkt består blant annet av; typisk en dekoder og en enkoder, hvor enkoderen koder videodata som blir transmittert til en MCU for videre transkoding og svitsjing. I noen anvendelser av oppfinnelsen presentert her, er virtuelle endepunkter implementert i MCUen, som også omfatter en dekoder og en enkoder for blant annet å frigjøre de respektive endepunktene fra å måtte generere og transmittere videodata i ulike formater og oppløsninger.
Merk at VEen er enheten som komponerer det utgående bildet, og gjør kodingen av det levende bildet i henhold til for eksempel H.264 -standarden.
Når videodata fra et endepunkt er blitt behandlet av sitt dedikerte virtuelle endepunkt, blir det videresendt til en svitsjenode som svitsjer de bearbeidede videodata til andre virtuelle endepunkter som respektivt betjener de endepunktene i videokonferansen som skal motta videodata fra endepunktet til den nåværende taler eller en tidligere taler. Den øvre delen av figur 1 viser et tilfelle med ett dedikert virtuelt endepunkt for hvert endepunkt som mottar videodata, den nedre delen av figur 1 viser et tilfelle hvor tre endepunkter mottar de samme videodataene og deler det samme virtuelle endepunktet. Dermed deler de abonnerende endepunktene enkodere på linjesiden mellom MCUen og endepunktene. Delte enkodere på linjesiden er relevant for ekstra store møter (enten de er distribuert eller ikke), da det i stor grad øker antallet deltakere som kan kobles til én enkelt svitsjenode.
På den andre siden, å dele enkodere i bakplanet er relevant for distribuert anvendelse av en MCU. I anvendelse av en distribuert MCU, der flere svitsjenoder befinner seg på forskjellige lokasjoner, transmitteres mediastrømmen mellom svitsjenoder over en logisk enhet kalt "bakplanet" (backplane). Som eksemplifisert i figur 2, Lokasjon A, B, C og D og bakplanet tilhører en distribuert MCU. Dette gir mulighet for å optimalisere ressursbruken i distribuerte konferanser der flere noder er involvert. Transkoderenhetene angitt på Lokasjon A omfatter blant annet en enkoder for å kode videodata fra respektive VEer på Lokasjon A svitsjet av lokasjonens strømsvitsjenode for å bli videresendt gjennom bakplanet til andre lokasjoner som skal motta videodata fra en eller flere endepunkter som er assosiert med Lokasjon A. Som indikert av pilene som krysser bakplanet, gjelder dette også i motsatt retning.
Som et eksempel, hvis den nåværende taler befinner seg i Lokasjon A, bør alle de andre deltakerne i Lokasjon A, B, C og D motta det transmitterte bildet til den nåværende taleren. Strømsvitsjenoden i Lokasjon A vil derfor sende en strøm til Lokasjon B, en strøm til Lokasjon C og en strøm til Lokasjon D. Hver strøm blir separat kodet i transkoderenheten for å kunne håndtere pakketap og andre nettverkssvekkelser over bakplanet. Figur 2 viser det naive tilfellet med én transkoderenhet per strøm. Dette fungerer og er robust, men krever store ressurser, da transkoding av en videostrøm i High Definition (HD) er ganske CPU intensivt. I tilfeller med lav båndbredde eller pakketap mellom Lokasjon A og Lokasjon B, kan strømmen fra A til B separat transkodes til et format med lavere oppløsning som bruker mindre båndbredde (sammenlignet med strømmene fra A til C og A til D), som dermed gjør systemet mer robust.
Imidlertid er det mulig å redusere behovet for CPU-ressurser ved å dele enkodere.
Anvendelser av oppfinnelsen presentert heri, lærer en generell prosess som ikke starter med noen enkoder i VEen eller transenkoder i det hele tatt. Hver strøm over bakplanet eller på linjesiden overvåkes for pakketap, indikert av en pakketapsindikasjon (Packet Loss Indication - PLI) og forespør etter nye deltakere og nye lokasjoner av den distribuerte MCUen. I tilfelle en anmodning om en ny deltaker eller påvisning av en PLI innenfor en gitt tidsramme, er en enkoder allokert til den spesifikke strømmen. Hvis andre strømmer har tilsvarende pakketapsproblemer, er disse strømmene gruppert sammen og vil da dele en felles enkoder.
Figur 3 er et flytskjema som illustrerer en eksempelvis anvendelsen av oppfinnelsen presentert heri. En "pad" betegner en virtuell enhet innenfor en transkoderenhet eller en VE når koderressursene er delt. "Ny "pad" forespurt" - oppstår når et nytt endepunkt eller en ny lokasjon kommer inn i samtalen, eller når en PLI har blitt oppdaget innenfor en gitt tidsramme. Når en ny "pad" er forespurt, vil en ny enkoder bli opprettet for å generere strømmen som skal sendes ut gjennom "paden" og til det virkelige endepunktet, eller til en annen lokasjon gjennom bakplanet.
I henhold til én anvendelse av oppfinnelsen presentert heri, er en "pad" tilpasset til å overvåke pakketapsindikasjoner (Packet Loss Indication - PLI) av datapakkene mottatt fra det assosierte endepunktet på linjesiden eller fra en assosiert lokasjon på bakplanet.
Når et endepunkt mottar videodata, blir en ny "pad" forespurt i en VE 1. Tilsvarende, når en lokasjon mottar videodata fra en annen lokasjon, blir en ny "pad" forespurt i en transkoderenhet på denne lokasjonen.
I begge tilfeller blir et trinn for å opprette en ny enkoder utført 2. Det blir deretter undersøkt om det maksimale antallet enkodere er nådd 3. Maksimalt antall enkodere er det forhåndsdefinerte tillatte antallet enkodere som ikke deles av et flertall "pader".
Hvis det maksimale antall enkodere er nådd, blir alle eksisterende "pader", i tillegg til den nye opprettede "paden", koblet til den nylig opprettede enkoderen 4, det vil si at alle "pader" deler den nylig opprettede enkoderen.
Hvis det maksimale antallet enkodere ikke er nådd, vil bare nye "pader" bli koblet til den nylig opprettede enkoderen 5. Deretter blir de nå ubrukte enkoderene frigjort 6, og gjort tilgjengelig for påfølgende opprettelse av nye enkodere.
Prosessen venter deretter på en PLI 7, og når en PLI er oppdaget 8 innenfor en forhåndsdefinert tidsavbruddsperiode 9 siden sist PLI, går prosessen tilbake til trinnet med å opprette en ny enkoder 2, og går videre i henhold til prosessen slik det er beskrevet ovenfor. Hvis en PLI ikke er oppdaget innenfor den forhåndsdefinerte tidsavbruddsperioden, er prosessen følgelig i påvente av en PLI i en annen forhåndsdefinert tidsavbruddsperiode.
Figur 4 er en illustrasjon av et øyeblikksbilde i en VE eller en transkoderenhet som har fire ikke-delte enkodere, hver linket til en "pad" vist med heltrukne linjer. Her er det forhåndsdefinerte maksimale antallet enkodere fire. Den stiplede linjen indikerer hva som skjer når en ny enkoder introduseres, enten på grunn av en forespørsel om en ny "pad", eller fordi en PLI er oppdaget innenfor den forhåndsdefinerte tidsperioden. Som det kan sees, er alle eksisterende "pader" i tillegg til den nylig opprettede "paden" linket til den nylig opprettede enkoderen. Som en konsekvens blir de andre enkoderene frigjort som tilgjengelig koderressurser for påfølgende "pad"-forespørsler.
Ettersom strømmene overvåkes for pakketap og båndbreddekarakteristikk, kan de flyttes fra én delt enkoder til en annen delt enkoder. I beste fall kan en strøm fullstendig slutte å anvende en transkoderenhet.
Anvendelse av oppfinnelsen som beskrevet ovenfor har vist at flere hundre endepunkter kan betjenes av flere titalls VEer, noe som resulterer i en betydelig besparelse i CPU bruk.

Claims (9)

1. En fremgangsmåte for dynamisk allokering av enkodere i en videokonferanse med flere deltaker med et antall endepunkter, hvor videokonferansens endepunkter er tilpasset til å kode og transmittere en mediastrøm som omfatter i det minste videodata, fremgangsmåten omfatter: - å forespørre (1) om en ny "pad", - å opprette (2) en ny enkoder ved nevnte forespørsel om en ny "pad",karakterisert ved- å bestemme (3) hvorvidt et maksimalt antall enkodere er nådd, hvis det maksimale antallet enkodere ikke er nådd, - å linke (5) den nye "paden" til den nye enkoderen, hvis det maksimale antallet enkodere er nådd, - å linke (4) alle eksisterende "pader" til den nye enkoderen, - å frigjøre (6) alle ubrukte enkodere.
2. En fremgangsmåte som angitt i krav 1, og som videre omfatter: - å overvåke (7) for pakketapsindikasjoner (PLI), og hvis en PLI er mottatt i løpet av en forhåndsdefinert tidsperiode (9) siden sist mottatt PLI, - å be (1) om en ny "pad".
3. En fremgangsmåte som angitt i krav 1 eller 2, og som videre omfatter: - å forespørre om (1) en ny "pad" når et nytt endepunkt kommer inn i videokonferansen.
4. En fremgangsmåte som angitt i ett av kravene 1 til 3,karakterisert vedat en "pad" er en virtuell enhet i en transkoderenhet på et bakplan mellom svitsj ingsnoder.
5. En fremgangsmåte som angitt i et av kravene 1 til 3,karakterisert vedat en "pad" er en virtuell enhet i et virtuelt endepunkt (Virtual Endpoint - VE) som deler koderressurser på en multilokasjonskontrollenhet (Multipoint Control Unit - MCU) mellom flere endepunkter.
6. Et dynamiskt allokeringssystem for en videokonferanse med flere deltaker, systemet gir dynamisk allokering av enkodere i videokonferansen med flere deltakere med et antall endepunkter,karakterisert vedat videokonferanseendepunktene er tilpasset til å kode og transmittere en mediastrøm som omfatter i det minste videodata, systemet er tilpasset til: - å forespørre (1) om en ny "pad", - å opprette (2) en ny enkoder ved nevnte forespørsel om en ny "pad",karakterisert ved- å bestemme (3) hvorvidt et maksimalt antall enkodere er nådd, hvis det maksimale antallet enkodere ikke er nådd, - å linke (5) den nye "paden" til den nye enkoderen, hvis det maksimale antall enkodere er nådd, - å linke (4) alle eksisterende "pader" til den nye enkoderen, - å frigjøre (6) alle ubrukte enkodere.
7. Et system i henhold til krav 6,karakterisert vedat en "pad" er en virtuell enhet i en transkoderenhet på et bakplan mellom svitsjingsnoder.
8. Et system i henhold til krav 6,karakterisert vedat en "pad" er en virtuell enhet i et virtuelt endepunkt (Virtual Endpoint - VE) som deler koderressurser på en multilokasjonskontrollenhet (Multipoint Control Unit - MCU) mellom flere endepunkter.
9. Et datamaskinprogramprodukt for dynamisk allokering av enkodere i en videokonferanse med flere deltakere med ett antall endepunkter, hvor videokonferanseendepunktene er tilpasset til å kode og transmittere en mediestrøm som i det minste omfatter videodata, datamaskinprogramproduktet omfatter et datamaskinlesbart lagringsmedium som har en datamaskinlesbar programkode innlemmet i det nevnte mediet, den nevnte datamaskinlesbare koden omfatter datamaskinlesbarprogramkode konfigurert til å utføre alle trinnene i fremgangsmåten i henhold til krav 1.
NO20130531A 2013-04-17 2013-04-17 Dynamisk allokering av enkodere NO341315B1 (no)

Priority Applications (5)

Application Number Priority Date Filing Date Title
NO20130531A NO341315B1 (no) 2013-04-17 2013-04-17 Dynamisk allokering av enkodere
US14/192,492 US9118808B2 (en) 2013-04-17 2014-03-26 Dynamic allocation of encoders
CN201480022106.XA CN105340215B (zh) 2013-04-17 2014-04-15 编码器的动态分配的方法和系统
EP14723005.6A EP2987273B1 (en) 2013-04-17 2014-04-15 Dynamic allocation of encoders
PCT/EP2014/057657 WO2014170341A1 (en) 2013-04-17 2014-04-15 Dynamic allocation of encoders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20130531A NO341315B1 (no) 2013-04-17 2013-04-17 Dynamisk allokering av enkodere

Publications (2)

Publication Number Publication Date
NO20130531A1 NO20130531A1 (no) 2014-10-20
NO341315B1 true NO341315B1 (no) 2017-10-09

Family

ID=48539363

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20130531A NO341315B1 (no) 2013-04-17 2013-04-17 Dynamisk allokering av enkodere

Country Status (5)

Country Link
US (1) US9118808B2 (no)
EP (1) EP2987273B1 (no)
CN (1) CN105340215B (no)
NO (1) NO341315B1 (no)
WO (1) WO2014170341A1 (no)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210381B2 (en) * 2013-06-24 2015-12-08 Dialogic Corporation Resource-adaptive video encoder sharing in multipoint control unit
US10474618B2 (en) * 2014-09-04 2019-11-12 Western Digital Technologies, Inc. Debug data saving in host memory on PCIE solid state drive
AU2016245350B2 (en) 2015-04-09 2019-10-24 Dejero Labs Inc. Systems, devices and methods for distributing data with multi-tiered encoding
EP3282669B1 (en) * 2016-08-10 2020-01-01 Dolby Laboratories Licensing Corporation Private communications in virtual meetings
KR20190033849A (ko) * 2017-09-22 2019-04-01 삼성에스디에스 주식회사 다자간 회의 제공 장치 및 상기 장치에서의 인코더 할당 방법
US10250921B1 (en) * 2017-12-22 2019-04-02 Dialogic Corporation Systems and methods of video forwarding with adaptive video transcoding capabilities
US10911539B2 (en) * 2019-01-08 2021-02-02 Box, Inc. Managing shared content directory structure metadata
CN111541941B (zh) * 2020-05-07 2021-10-29 杭州小影创新科技股份有限公司 一种移动端多编码器加速编码的方法
US11290680B1 (en) * 2020-09-28 2022-03-29 Cisco Technology, Inc. High-fidelity freeze-frame for precision video communication applications
CN112817913B (zh) * 2021-04-19 2021-07-09 浙江华创视讯科技有限公司 数据传输方法、装置、电子设备及存储介质
US11900677B2 (en) 2022-02-25 2024-02-13 Cisco Technology, Inc. User-selected multi-view videoconferencing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731605B1 (en) * 2000-06-19 2004-05-04 Sharp Laboratories Of America, Inc. Prioritized optimal server side bandwidth allocation in a multimedia session with push and pull sources
EP2227013A2 (en) * 2009-03-04 2010-09-08 Lifesize Communications Inc. Virtual distributed multipoint control unit
WO2010138913A1 (en) * 2009-05-29 2010-12-02 Harmonic, Inc. Systems and methods for video statistical multiplexing adapting to internet protocol networks
US20120284409A1 (en) * 2010-10-07 2012-11-08 Panasonic Corporation Path constructing device and path constructing method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO318911B1 (no) * 2003-11-14 2005-05-23 Tandberg Telecom As Distribuert sammensetting av sanntids-media
CN101827244B (zh) * 2009-03-04 2015-07-01 原声通信公司 虚拟分布式多点控制单元
US9398257B2 (en) * 2013-03-15 2016-07-19 Blue Jeans Network Methods and systems for sharing a plurality of encoders between a plurality of endpoints
US9215413B2 (en) * 2013-03-15 2015-12-15 Cisco Technology, Inc. Split frame multistream encode

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731605B1 (en) * 2000-06-19 2004-05-04 Sharp Laboratories Of America, Inc. Prioritized optimal server side bandwidth allocation in a multimedia session with push and pull sources
EP2227013A2 (en) * 2009-03-04 2010-09-08 Lifesize Communications Inc. Virtual distributed multipoint control unit
WO2010138913A1 (en) * 2009-05-29 2010-12-02 Harmonic, Inc. Systems and methods for video statistical multiplexing adapting to internet protocol networks
US20120284409A1 (en) * 2010-10-07 2012-11-08 Panasonic Corporation Path constructing device and path constructing method

Also Published As

Publication number Publication date
EP2987273B1 (en) 2018-11-21
CN105340215A (zh) 2016-02-17
EP2987273A1 (en) 2016-02-24
US20140313281A1 (en) 2014-10-23
NO20130531A1 (no) 2014-10-20
CN105340215B (zh) 2018-05-25
WO2014170341A1 (en) 2014-10-23
US9118808B2 (en) 2015-08-25

Similar Documents

Publication Publication Date Title
NO341315B1 (no) Dynamisk allokering av enkodere
JP5345081B2 (ja) 常駐会議を行うための方法およびシステム
US9241133B2 (en) Distributed recording of a video based on available disk space
US7373379B2 (en) Media role management in a video conferencing network
US9596433B2 (en) System and method for a hybrid topology media conferencing system
KR101555855B1 (ko) 다양한 참가 디바이스의 화상회의 방법 및 시스템
JP2015080210A (ja) 会議セッションの現在状況に対する、会議システムのリアルタイム適合システム及び方法
NO318911B1 (no) Distribuert sammensetting av sanntids-media
US9743043B2 (en) Method and system for handling content in videoconferencing
NO20130330A1 (no) Virtuelle endepunkter i videokonferanser
WO2016184001A1 (zh) 视频监控处理方法及装置
US9338402B2 (en) Method and system for using mesh control for video conferencing bridges and cascading conferences
US9232192B2 (en) Method and system for video conference snapshot presence
US8976225B2 (en) Method, computer program and device for managing media stream in video conferencing
US11102451B2 (en) Videoconferencing server for providing multi-screen videoconferencing by using a plurality of videoconferencing terminals and method therefor

Legal Events

Date Code Title Description
CREP Change of representative

Representative=s name: ONSAGERS AS, POSTBOKS 1813, VIKA, 0123 OSLO, NORGE