SE523417C2 - A method and apparatus for transmitting data packets in communication networks - Google Patents

A method and apparatus for transmitting data packets in communication networks

Info

Publication number
SE523417C2
SE523417C2 SE0102667A SE0102667A SE523417C2 SE 523417 C2 SE523417 C2 SE 523417C2 SE 0102667 A SE0102667 A SE 0102667A SE 0102667 A SE0102667 A SE 0102667A SE 523417 C2 SE523417 C2 SE 523417C2
Authority
SE
Sweden
Prior art keywords
data
coding
format
received
new
Prior art date
Application number
SE0102667A
Other languages
Swedish (sv)
Other versions
SE0102667L (en
SE0102667D0 (en
Inventor
Jan Berglund
Peter Lindeberg
Original Assignee
Operax Ab
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
Priority claimed from SE0101193A external-priority patent/SE0101193D0/en
Application filed by Operax Ab filed Critical Operax Ab
Priority to SE0102667A priority Critical patent/SE523417C2/en
Publication of SE0102667D0 publication Critical patent/SE0102667D0/en
Priority to JP2002580586A priority patent/JP4043952B2/en
Priority to CA002443079A priority patent/CA2443079A1/en
Priority to PCT/SE2002/000590 priority patent/WO2002082755A1/en
Priority to KR10-2003-7013042A priority patent/KR20040014483A/en
Priority to EP02718728A priority patent/EP1391091A1/en
Publication of SE0102667L publication Critical patent/SE0102667L/en
Publication of SE523417C2 publication Critical patent/SE523417C2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method and a transcoder for transcoding data communicated between a sender (100) and a receiver (102). Data units (202, 208) comprising information in a first format (F, IF) are received and coded into new data units (208, 210) in a second format (IF, F'), based on a current coding state (302, 502, 706) extracted from a previous coding of data. A new current coding state is extracted each time a data unit (202, 500, 700) is coded. If a received data unit is in an erroneous sequence order, the current coding state is saved and a new pseudo coding state (DS2', ES2', CS2') is eytracted for codng a next received data unit. Eventually received missing data (F2, S4) is coded into the second format (IF, F') based on the saved coding sate, and may then be used as valid data. In this way, delays are minimised and jitter buffers are not necessary, while still maintaining a high quality.

Description

30 35 523 417 n n u n nn n . n. nn n nn I r I- n nn nu nn n n n nnnn. . -nnnnn nn I ann nn n n O n n n n . »nn H n 11A dess destination för att bli presenterad eller uppspelad för en användare vid den mottagande änden. På grund av skillnader i standarder är emellertid den avsändande och mottagande utrustningen ofta bara utrustad att använda specifika kodningsscheman som är olika jämfört med varandra, vilket kräver att informationen som är kodad av avsändaren omkodas någonstans innan den når den mottagande parten. Denna operation benämns ofta ”transkodning”. Därutöver kan också olika nätverk och/eller växelnoder längs transmissionsbanan använda format och kodningsscheman enligt olika standarder, vilket resulterar i ytterligare behov av transkodning. Den överförda datan kan således behöva bli omkodad flera gånger innan den när den slutliga mottagaren. För realtidstjänster, och till viss utsträckning också mediaströmtjänster, är det önskvärt att minimera fördröjningar på grund av transkodnings- aktiviteter i noder i den totala transmissionsbanan. Om exempelvis en fördröjning på mer än 200 millisekunder introduceras i ett röstsamtal mellan två parter, störs dialogflödet avsevärt. 30 35 523 417 n n u n nn n. n. nn n nn I r I- n nn nu nn n n n nnnn. . -nnnnn nn I ann nn n n O n n n n. »Nn H n 11A its destination to be presented or played to a user at the receiving end. However, due to differences in standards, the sending and receiving equipment is often only equipped to use specific coding schemes that are different from each other, requiring the information encoded by the sender to be recoded somewhere before it reaches the receiving party. This operation is often referred to as "transcoding". In addition, different networks and / or switching nodes along the transmission path can also use formats and coding schemes according to different standards, which results in an additional need for transcoding. Thus, the transmitted data may need to be recoded several times before it reaches the final receiver. For real-time services, and to some extent also media streaming services, it is desirable to minimize delays due to transcoding activities in nodes in the total transmission path. For example, if a delay of more than 200 milliseconds is introduced in a voice call between two parties, the flow of dialogue is significantly disrupted.

Figur 1 illustrerar ett exempel på ett kommunikations- scenario för överföring av data mellan en avsändare 100 och mottagare 102. I detta förenklade exempel beaktas endast asymmetrisk transmission i en riktning vid en speciell tidpunkt. För symmetriska transmissioner kan givetvis varje part 100 och 102 agera=som både avsändare och mottagare, såsom för röstsamtal. Avsändaren 100 är förbunden med ett accessnätverk 104 vilket kan vara ett lokalt nätverk (Local Area Network LAN), ett trådlöst nätverk eller liknande.Figure 1 illustrates an example of a communication scenario for transmitting data between a sender 100 and a receiver 102. In this simplified example, only asymmetric transmission in one direction at a particular time is considered. For symmetrical transmissions, of course, each party 100 and 102 can act = as both sender and receiver, as for voice calls. The transmitter 100 is connected to an access network 104 which may be a local area network (LAN), a wireless network or the like.

Mottagaren är likaledes förbunden med ett annat accessnätverk 106. Varje accessnätverk 104, 106 är vidare förbundet med respektive nätportsväxel (gateway switch) 108, 110 för kommunikation över ett mellanliggande kommunikationssystem 112, vilket kan innefatta ett eller flera publika nätverk, såsom Internet eller det allmänna fasta telefonnätet (Public Switched Telephony Network) PSTN. 10 15 20 25 30 35 523 417 1 » v v u.The receiver is likewise connected to another access network 106. Each access network 104, 106 is further connected to respective gateway switches 108, 110 for communication over an intermediate communication system 112, which may include one or more public networks, such as the Internet or the public network. fixed switched telephone network (Public Switched Telephony Network) PSTN. 10 15 20 25 30 35 523 417 1 »v v u.

Avsändaren 100 är utrustad att använda ett första kodningsschema för att ”ankoda" (encoding) data som skall skickas. Mottagaren 102 är à andra sidan kapabel att använda ett andra kodningsschema för avkodning av mottagen data, där den andra kodningsschemat är annorlunda en det första.The sender 100 is equipped to use a first encoding scheme to "encode" data to be sent.The receiver 102, on the other hand, is capable of using a second encoding scheme for decoding received data, the second encoding scheme being different from the first.

Därutöver kan det mellanliggande kommunikationssystemet 112 använda ett eller flera ytterligare kodningsscheman i olika delar därav, för överföring av den kommunicerade datan. Det är således uppenbart att den kommunicerade datan måste omkodas varje gäng den kommer in i ett nytt område som använder ett kodningsschema som är annorlunda än det som användes innan.In addition, the intermediate communication system 112 may use one or more additional coding schemes in different parts thereof, for transmitting the communicated data. Thus, it is obvious that the communicated data must be recoded each time it enters a new area using a coding scheme that is different from that used before.

Transkodning mäste till exempel göras mellan paketkopplade nätverk och kretskopplade nätverk som använder exempelvis tidsmultiplexing (Time Division Multiplexing TDM). Datan överföres således över en eller flera omkodare (transkoders) för att skapa nya dataenheter ur de tidigare mottagna, innan _de skickas vidare i transmissionsbanan. Nätportarna 108, 110, såväl som andra växlingsnoder inom det intermediära kommunikationssystemet 112 i figur 1, kan vanligtvis innefatta sådana omkodare.Transcoding must, for example, be done between packet-switched networks and circuit-switched networks that use, for example, Time Division Multiplexing TDM. The data is thus transmitted over one or more transcoders (transcoders) to create new data units from the previously received ones, before they are forwarded in the transmission path. The network ports 108, 110, as well as other switching nodes within the intermediate communication system 112 of Figure 1, may typically include such encoders.

Dessutom, om ett eller flera av nätverken 104, 112, 106 använder paketbaserad transmission finns det en potentiell risk att datapaketen mottages av omkodarna i fel ordning. Vid paketbaserat transmission behandlas varje datapaket individuellt och kan färdas separata transmissionsvägar och/eller bli utsatta för olika fördröjningar i mellanliggande noder. Därför anordnas ofta en buffert i omkodare och mottagare, ofta benämnt "jitterbuffer”, för att kompensera för paket som mottagits med olika fördröjningar. Bufferten möjliggör mottagning av ett flertal datapaket som arrangeras i en kö innan de blir omkodade eller avkodade. Paketen kan dä byta plats i kön om så är nödvändigt. En annan metod är att helt enkelt kassera paket som är mottagna i fel ordning, vilket dock resulterar i en kvalitetsförsämring. Den mottagande sidan av en mellanliggande nod mellan ett 10 15 20 25 30 525 417 . 4 - - l i paketområde och ett TDM-område innefattar vanligtvis en jitterbuffer.In addition, if one or more of the networks 104, 112, 106 use packet-based transmission, there is a potential risk that the data packets will be received by the encoders in the wrong order. In packet-based transmission, each data packet is processed individually and can travel separate transmission paths and / or be exposed to different delays in intermediate nodes. Therefore, a buffer is often provided in encoders and receivers, often referred to as a "jitter buffer", to compensate for packets received with different delays. place in the queue if necessary.Another method is to simply discard packets received in the wrong order, which, however, results in a deterioration in quality.The receiving side of an intermediate node between a 10 15 20 25 30 525 417. in packet area and a TDM area usually includes a jitter buffer.

Tekniker för jitterbuffring medför nackdelen att oönskad fördröjning introduceras i transmissionen. Det krävs också en klocktidsreferens när TDM-baserad transmission är inblandad.Techniques for jitter buffering entail the disadvantage that unwanted delay is introduced in the transmission. A clock reference is also required when TDM-based transmission is involved.

Den slutliga mottagaren 102 innehåller vidare vanligtvis en jitterbuffer eller liknande funktion vid avkodning, vilket ytterligare bidrar till den totala väntetiden för Överförd data. En funktion för omkodning borde inte bidra med mer väntetid än den tid som krävs för att behandla data och för att utföra själva transkodningen. Om däremot varje datapaket omkodas sekventiellt som de inkommer, blir den resulterande kvalitén försämrad när de inkommer i fel ordning. I synnerhet beror många kodningsscheman på historisk data när ett speciellt stycke data skall avkodas, dvs information från tidigare avkodad data används för att avkoda nästa data. All data måste därför avkodas i samma sekvensordning som de var utgivna frän den avsändande ankodaren för att uppnå hög kvalité vid den mottagande änden.Furthermore, the final receiver 102 usually contains a jitter buffer or similar function during decoding, which further contributes to the total waiting time for transmitted data. A transcoding function should not contribute more waiting time than the time required to process the data and to perform the transcoding itself. If, on the other hand, each data packet is recoded sequentially as they arrive, the resulting quality will deteriorate when they arrive in the wrong order. In particular, many coding schemes depend on historical data when a particular piece of data is to be decoded, ie information from previously decoded data is used to decode the next data. All data must therefore be decoded in the same sequence order as those issued by the sending encoder in order to achieve high quality at the receiving end.

Det är ett syfte med föreliggande uppfinning att övervinna dessa nackdelar som beskrivits ovan och att uppnå hög kvalité på mottagen ankodad data när den avkodas vid den mottagande änden, samtidigt som transmissionsfördröjningar minimeras i mellanliggande omkodare.It is an object of the present invention to overcome these drawbacks as described above and to achieve high quality of received encoded data when it is decoded at the receiving end, while minimizing transmission delays in intermediate encoders.

REDOGÖRELSE FÖR UPPFINNINGEN Dessa och andra syften uppnås genom en enkel lösning för att minimera fördröjningar i omkodare eliminera behovet av jitterbuffers, varvid det kompenseras för dataenheter som anländer i en felaktig sekvensordning genom att återställa sent inkommen data.DISCLOSURE OF THE INVENTION These and other objects are achieved by a simple solution to minimize delays in encoders eliminating the need for jitter buffers, compensating for data units arriving in an incorrect sequence order by restoring late received data.

En metod och en omkodningsenhet tillhandahålles för omkodning av kommunicerad data i en transmissionsväg mellan en avsändare och en slutlig mottagare. Dataenheter som innefattar kodad information i ett första format mottages och kodas till 10 15 20 25 30 523 417. 5 u ~. - » o nos- nu one- u . once v o . u nya dataenheter i ett andra format, baserat på ett aktuellt kodningstillstánd framtaget från en tidigare kodning av data.A method and a transcoding unit are provided for transcoding communicated data in a transmission path between a sender and a final receiver. Data units comprising coded information in a first format are received and coded to 523 417. 5 u ~. - »o nos- nu one- u. once v o. u new data units in a second format, based on a current coding state obtained from a previous coding of data.

Ett nytt aktuellt kodningstillstand framtages varje gång en dataenhet kodas.A new current coding state is generated each time a data unit is coded.

När en dataenhet mottages, detekteras om den mottagna datan är i en felaktig sekvensordning. Om så år fallet sparas det kodningstillstánd som är framtaget från den föregående kodningen av data och ett nytt pseudokodningstillstând framtages för kodning av en nästa mottagen dataenhet. Om saknad data slutligen mottages, kodas denna till det andra formatet baserat pà det sparade kodningstillståndet, och den kodade saknande datan kan användas som giltig data.When a data unit is received, it is detected if the received data is in an incorrect sequence order. If so, the encoding state generated from the previous encoding of data is saved and a new pseudo-encoding state is generated for encoding a next received data unit. If missing data is finally received, it is encoded to the second format based on the saved encoding state, and the encoded missing data can be used as valid data.

KORTFATTAD BESKRIVNING AV FIGURERNA Föreliggande uppfinning kommer nu att beskrivas mer i detalj och med hänvisning till de bifogade ritningarna, i Vilka: Figur 1 är en schematisk vy av ett exempel på ett kommunikationssystem för överföring av data.BRIEF DESCRIPTION OF THE DRAWINGS The present invention will now be described in more detail and with reference to the accompanying drawings, in which: Figure 1 is a schematic view of an example of a communication system for transmitting data.

Figur 2 är en schematisk vy av dataflödet i en omkodare.Figure 2 is a schematic view of the data flow in an encoder.

Figur 3 är ett logiskt schema som illustrerar avkodning av datapaket som inkommer i korrekt ordning.Figure 3 is a logic diagram illustrating decoding of data packets received in the correct order.

Figur 4 är ett logiskt schema som illustrerar avkodning av data när ett datapaket inkommer i fel ordning.Figure 4 is a logic diagram illustrating decoding of data when a data packet arrives in the wrong order.

Figur 5 är ett logiskt schema som illustrerar ankodning av intermediär data.Figure 5 is a logic diagram illustrating encoding of intermediate data.

Figur 6a är ett logiskt schema som illustrerar ankodning av data när en dataenhet är förlorad.Figure 6a is a logic diagram illustrating encoding of data when a data unit is lost.

Figur 6b är ett logiskt schema som illustrerar ankodning av data när saknad data inkommer sent.Figure 6b is a logic diagram illustrating encoding of data when missing data arrives late.

Figur 7 är ett logiskt schema som generellt illustrerar omkodning av data när en dataenhet inkommer i fel ordning. 10 15 20 25 30 523 417 6 BESKRIVNING Av FÖREDRAGNA UTFÖRINGSFORMER Figur 1 illustrerar ett exempel pá ett kommunikations- system, beskrivet ovan, för överföring av data mellan en avsändare 100 och en mottagare 102, i vilket föreliggande uppfinning kan implementeras. Naturligtvis kan uppfinningen också användas i en stor mängd andra typer av kommunikations- system.Figure 7 is a logic diagram generally illustrating recoding of data when a data unit arrives in the wrong order. DESCRIPTION OF PREFERRED EMBODIMENTS Figure 1 illustrates an example of a communication system, described above, for transmitting data between a sender 100 and a receiver 102, in which the present invention may be implemented. Of course, the invention can also be used in a wide variety of other types of communication systems.

Figur 2 âr en schematisk vy av dataflödet i ett exempel pà en omkodningsenhet 200 för omkodning av data enligt uppfinningen. Data 202 som är ankodad enligt ett första kodningsschema och som har ett första format F, mottages av omkodningsenheten 200 för omkodning av datan till ett andra kodningsschema som har ett andra format F'. Omkodnings- processen âr i detta exempel uppdelat i två operationer, en avkodningsoperation 204 och en "ankodningsoperation” (encoding operation) 206. Mellan de båda operationerna befinner sig datan i ett intermediàrt avkodat format IF 208. Det är emellertid möjligt inom ramen för uppfinningen att koda om eller omkoda (transcode) den inkommande datan 202 i det första formatet F direkt till det andra formatet F', utan att använda något intermediàrt format. Efter att ha blivit kodat till det andra formatet F' överförs datan 210 vidare till nästa nod, ej visad, i transmissionsbanan. Omkodningsenheten innefattar vidare ett minne 212 för lagring av kodningstillstånd, vilket kommer att beskrivas mer i detalj nedan.Figure 2 is a schematic view of the data flow in an example of a transcoding unit 200 for recoding data according to the invention. Data 202 encoded according to a first encoding scheme and having a first format F is received by the recoding unit 200 for recoding the data into a second encoding scheme having a second format F '. The transcoding process in this example is divided into two operations, a decoding operation 204 and an "encoding operation" 206. Between the two operations, the data is in an intermediate decoded format IF 208. However, it is possible within the scope of the invention to transcoding or transcoding the incoming data 202 in the first format F directly to the second format F ', without using any intermediate format.After being encoded to the second format F', the data 210 is passed on to the next node, The recoding unit further comprises a memory 212 for storing coding states, which will be described in more detail below.

Den inkommande datan är vanligtvis indelad i dataenheter, exempelvis paket eller ramar, som är ankodade enligt det första formatet F. Den inkommande datan kan vara paketkopplad eller kretskopplad. Varje inkommande dataenhet inkluderar ett fält eller liknande med information som indikerar en sekvensordning, såsom ett sekvensnummer eller en tidståmpel, vilket avläses av den mottagande omkodningsenheten 200. I normalfallet avkodas de mottagna dataenheterna sekventiellt i operation 204 till nästa format IF eller F', om dataenheterna 10 15 20 25 30 35 523 417 ø - - f a; I u :oss n är mottagna i korrekt ordning såsom de ursprungligen avsändes och utan att någon data har förlorats.The incoming data is usually divided into data units, for example packets or frames, which are encoded according to the first format F. The incoming data can be packet-switched or circuit-switched. Each incoming data unit includes a field or the like with information indicating a sequence order, such as a sequence number or a time stamp, which is read by the receiving transcoding unit 200. Normally, the received data units are sequentially decoded in operation 204 to the next format IF or F ', if the data units 10 15 20 25 30 35 523 417 ø - - fa; I u: us n are received in the correct order as they were originally sent and without any data being lost.

Ett exempel på detta illustreras i figur 3, med vidare hänvisning till figur 2, där Fl, F2, F3m är datapaket 202 av det första formatet F som mottages i korrekt ordning vid omkodningsenheten 200. Datapaketen 202 avkodas separat i operation 204 till intermediära dataenheter 300 som har det intermediära formatet IF. Vid avkodning av varje datapaket 202 används information från det tidigare avkodningsresultatet, vilket representeras i figur 3 såsom en serie av aktuella historiska avkodningstillstànd DS 302. Ett avkodningstillstánd innefattar variabler eller parametrar, utöver själva datan, som är framtagna ur den utförda avkodningsoperationen och vilka avspeglar viss karaktâristika hos datan.An example of this is illustrated in Figure 3, with further reference to Figure 2, where F1, F2, F3m are data packets 202 of the first format F received in the correct order at the recoding unit 200. The data packets 202 are decoded separately in operation 204 to intermediate data units 300 which has the intermediate format IF. When decoding each data packet 202, information from the previous decoding result is used, which is represented in Figure 3 as a series of current historical decoding states DS 302. A decoding state includes variables or parameters, in addition to the data itself, which are extracted from the performed decoding operation and which reflect certain characteristics of the data.

Ett mottaget datapaket Fl avkodas 204 således till en intermediär dataenhet IFl, baserat på ett aktuellt avkodningstillstånd DSO som är framtaget ur avkodnings- resultatet för ett tidigare avkodat datapaket, ej visat. Efter att avkodningstillståndet DSO har använts, framtages ett nytt avkodningstillstånd DSl ur den senaste avkodningen av Fl.A received data packet F1 is thus decoded 204 to an intermediate data unit IF1, based on a current decoding state DSO which is derived from the decoding result for a previously decoded data packet, not shown. After the decoding state DSO has been used, a new decoding state DS1 is produced from the most recent decoding of F1.

Nästa datapaket F2 avkodas 204 sedan till IF2, baserat på det senaste avkodningstillståndet DS1, osv.The next data packet F2 is then decoded 204 to IF2, based on the most recent decoding state DS1, and so on.

I denna beskrivning antages generellt att alla inkomna datapaket är av samma storlek, fast i verkligheten kan paketstorleken varierax I så fall kan datan omarrangeras till lika stora enheter, men omkodningsprocessen kan hanteras genom att använda samma principer såsom i det förenklade fallet med lika stora paket.In this description, it is generally assumed that all incoming data packets are of the same size, although in reality the packet size may vary.

Avkodningsproceduren som illustreras i figur 3 involverar datapaket mottagna i korrekt sekvensordning. Om emellertid ett datapaket är mottaget vars sekvensnummer är högre än det tidigare sekvensnumret ökat med 1, kan det antagas att det saknade paketet är förlorat eller försenat. Paketordningen kan alternativt indikeras genom en tidstämpel eller någon annan ordningsindikerande information. Om ett datapaket således 10 15 20 25 30 F35 523 417 ø . ~ ~ o» o -~~ un: saknas, kan en feldöljande mekanism framkallas för att minimera resulterande kvalitetsförsämring vid den mottagande änden. Den feldöljande mekanismen kan härleda feldöljande data, baserat på föregående datapaket samt den senaste avkodningstillstàndet framtaget ur avkodningen av det tidigare datapaketet. Feldöljning är en välkänd procedur som avser att skapa den mest sannolika datan när ingen riktig data finns tillgänglig. Feldöljningen utföres vanligtvis enligt en föreskriven standard för dataformatet, eller om ingen standard finns kan en enskild intern mekanism (proprietary mechanism) användas.The decoding procedure illustrated in Figure 3 involves data packets received in the correct sequence order. However, if a data packet is received whose sequence number is higher than the previous sequence number increased by 1, it can be assumed that the missing packet is lost or delayed. The package order can alternatively be indicated by a timestamp or some other order indicating information. If a data packet thus 10 15 20 25 30 F35 523 417 ø. ~ ~ o »o - ~~ un: missing, a fault concealment mechanism can be developed to minimize the resulting quality deterioration at the receiving end. The error-concealing mechanism can derive error-concealing data, based on the previous data packet and the most recent decoding state obtained from the decoding of the previous data packet. Error concealment is a well-known procedure that aims to create the most probable data when no real data is available. Error concealment is usually performed according to a prescribed standard for the data format, or if no standard exists, a single proprietary mechanism can be used.

Enligt en aspekt av uppfinningen framkallas en feldöljande mekanism när data mottages i fel sekvensordning, varvid det innan feldöljningen senaste avkodningstillstàndet sparas för senare användning om det saknade datapaketet slutligen dyker upp, dock i fel ordning. I så fall avkodas det saknade datapaketet baserat på det sparade avkodnings- tillstàndet enligt uppfinningen.According to one aspect of the invention, an error concealment mechanism is elicited when data is received in the wrong sequence order, whereby before the error concealment the most recent decoding state is saved for later use if the missing data packet finally appears, but in the wrong order. In that case, the missing data packet is decoded based on the saved decoding state according to the invention.

Figur 4 illustrerar ett exempel på en avkodningsprocedur enligt uppfinningen när ett datapaket mottages i fel sekvensordning. Först avkodas 204 ett datapaket Fl till en intermediär dataenhet IFl, baserat på det senaste avkodningstillstàndet DSO, såsom i det föregående exemplet i figur 3. Därefter kommer emellertid ett datapaket F3 som har ett sekvensnummer 3 vilket är högre än det tidigare sekvensnumret 1 ökat med ett. När det detekteras att sekvensnumret för det mottagna datapaketet F3 är felaktigt dvs. högre än väntat, framkallas en feldöljande mekanism 400 för att härleda feldöljande data 402 och för framtagning av ett nytt pseudoavkodningstillstånd DS2', baserat på det tidigare avkodningstillstàndet DS1. Pseudoavkodnings- tillständet DS2' kan framtagas på samma sätt som de andra avkodningstillstånden, eftersom feldöljningen är en avkodningsfunktion i vilken ett avkodningstillstànd kan framtagas oberoende av om riktig data finns tillgänglig. 10 15 20 25 30 35 523 417 v ~ . | nu Datapaketet F3 avkodas 204 sedan till den intermediära dataenheten IF3 baserat pá det nya pseudoavkodningstillståndet DS2'. Vidare sparas det föregående avkodningstillståndet DSl i minnet 212 i omkodningsenheten 200. Ett nytt avkodnings- tillstànd DS3 framtages också ur avkodningen 204 av datapaketet F3 för senare användning när ett datapaket i nästa sekvensordning avkodas, ej visat.Figure 4 illustrates an example of a decoding procedure according to the invention when a data packet is received in the wrong sequence order. First, a data packet F1 is decoded to an intermediate data unit IF1, based on the most recent decoding state DSO, as in the previous example in Fig. 3. Then, however, comes a data packet F3 having a sequence number 3 which is higher than the previous sequence number 1 increased by a . When it is detected that the sequence number of the received data packet F3 is incorrect, ie. higher than expected, an error concealing mechanism 400 is developed to derive error concealing data 402 and to generate a new pseudo-decoding state DS2 ', based on the previous decoding state DS1. The pseudo-decoding state DS2 'can be generated in the same way as the other decoding states, since the error concealment is a decoding function in which a decoding state can be generated regardless of whether correct data is available. 10 15 20 25 30 35 523 417 v ~. | now the data packet F3 is then decoded 204 to the intermediate data unit IF3 based on the new pseudo-decoding state DS2 '. Furthermore, the previous decoding state DS1 is stored in the memory 212 in the decoding unit 200. A new decoding state DS3 is also extracted from the decoding 204 of the data packet F3 for later use when a data packet in the next sequence order is decoded, not shown.

I detta exempel mottages därefter det saknade datapaketet F2, vilket kan avkodas 204 till den intermediära dataenheten IF2, baserat pà det sparade föregående avkodningstillståndet DS1. Det använda sparade avkodningstillståndet DSl kan därefter tas bort från minnet 212 i omkodningsenheten 200.In this example, the missing data packet F2 is then received, which can be decoded 204 to the intermediate data unit IF2, based on the saved previous decoding state DS1. The used saved decoding state DS1 can then be removed from the memory 212 in the decoding unit 200.

Slutligen infogas den återställda intermediära dataenheten IF2 i rätt sekvensordning mellan IFl och IF3, vilken ersätter den tidigare härledda feldolda datan 402. Om emellertid det saknade datapaketet F2 inte mottages, exempelvis inom en förinstâlld tidsperiod, kan den feldolda datan 402 kvarstå som giltig när datan av det intermediära formatet 208 ankodas 206 till det andra formatet F' i omkodningsenheten 200.Finally, the restored intermediate data unit IF2 is inserted in the correct sequence order between IF1 and IF3, which replaces the previously derived erroneous data 402. However, if the missing data packet F2 is not received, for example within a preset time period, the erroneous data 402 may remain valid when the data of the intermediate format 208 is encoded 206 to the second format F 'in the recoding unit 200.

På detta sätt kan giltiga och avkodade intermediära dataenheter 300 arrangeras i en korrekt sekvensordning innan de blir ankodade igen till det andra formatet F', även om en eller flera dataenheter av det första formatet F mottogs i omkodaren i en felaktig ordning. Vidare utförs denna procedur med ett minimum av fördröjning och med bibehållen högsta möjliga kvalité.In this way, valid and decoded intermediate data units 300 can be arranged in a correct sequence order before being encoded again into the second format F ', even if one or more data units of the first format F were received in the encoder in an incorrect order. Furthermore, this procedure is performed with a minimum of delay and while maintaining the highest possible quality.

Det ovan beskrivna exemplet i figur 4 var inriktat på ett datapaket som mottagits utanför sekvensen. En motsvarande procedur kan utföras om ett flertal datapaket mottages utanför sekvensen, genom användning av flera sparade avkodnings- tillstånd. Vidare kan ett sparat avkodningstillstånd tas bort från minnet 212 om det har förblivit oanvänt under en förinstâlld tidsperiod. Den förinställda tidsperioden för borttagning kan vidare vara konfigurerbar eller adaptiv beroende på karaktäristika hos dataflödet, såsom antal 10 15 20 25 30 35 523 417 10 u ø . . .n datapaket i felaktig sekvensordning som varierar över tiden.The example described above in Figure 4 was focused on a data packet received outside the sequence. A corresponding procedure can be performed if a plurality of data packets are received outside the sequence, using several saved decoding states. Furthermore, a stored decoding state can be removed from the memory 212 if it has remained unused for a preset period of time. Furthermore, the preset time period for deletion may be configurable or adaptive depending on the characteristics of the data flow, such as the number. . .n data packets in incorrect sequence order that vary over time.

Alternativt kan antalet samtidigt sparade avkodningstillstánd vara maximerat genom ett förinställt tröskelvärde, vilket likaledes kan vara konfigurerbart eller adaptivt beroende på karaktäristika hos ett dataflöde. Om antalet sparade avkodningstillstànd när det förinställda tröskelvârdet kan en mekanism utlösas för att avlägsna individuella sparade avkodningstillstånd från minnet 212.Alternatively, the number of simultaneously saved decoding states may be maximized by a preset threshold value, which may also be configurable or adaptive depending on the characteristics of a data stream. If the number of stored decoding states reaches the preset threshold value, a mechanism can be triggered to remove individual saved decoding states from the memory 212.

Efter avkodningsoperationen 204 arrangeras de intermediära dataenheterna 300 till en kontinuerlig ström av data 208, vilken matas till ankodningsoperationen 206, se figur 2. Omkodningsenheten 200 ankodar då den intermediära datan 208 till nya dataenheter såsom paket, ramar eller block, dvs. dataavsnitt av en förutbestämd storlek i enlighet med det nya andra kodningsschemat eller formatet F', beroende pä tillgänglighet av data. Om ingen intermediär data 208 är tillgänglig för närvarande kan ankodningsprocessen helt enkelt vänta tills det sä finns. De nya dataenheterna i det andra formatet F' överförs slutligen till nästa nod i transmissionsbanan.After the decoding operation 204, the intermediate data units 300 are arranged into a continuous stream of data 208, which is fed to the decoding operation 206, see Figure 2. The decoding unit 200 then encodes the intermediate data 208 into new data units such as packets, frames or blocks, i.e. data sections of a predetermined size in accordance with the new second coding scheme or format F ', depending on the availability of data. If no intermediate data 208 is currently available, the encoding process can simply wait until it exists. The new data units in the second format F 'are finally transferred to the next node in the transmission path.

Figur 5 illustrerar en ankodningsprocedur enligt uppfinningen för den intermediära dataströmmen 208 som innefattar de intermediära dataenheterna IF1, IF2, IF3m frän den föregående avkodningsoperationen. Först mottages den intermediära datan som=kan arrangeras till nya intermediära datasegment S1, S2, S3m 500, om så är nödvändigt, för att ankodas till det andra formatet F'. Storleken på de nya intermediära datasegmenten 500, vilka är indikerade med vertikala streckade linjer i figuren, är i detta exempel annorlunda än storleken pá de intermediära dataenheterna 300 som kommer från avkodningsoperationen 204. Varje nytt intermediärt datasegment eller enhet 500 ankodas 206 sedan till en ny dataenhet 506 i det andra formatet F', baserat på ett aktuellt ankodningstillständ ES 502 framtaget från en tidigare ankodningsoperation. Ett ankodningstillständ 10 15 20 25 30 35 523 417 ~ « u | u ll , v ~ « . . n | | o u innefattar variabler eller parametrar, utöver själva datan, framtagna från den utförda ankodningsoperationen och vilken används för att ankoda data.Figure 5 illustrates a decoding procedure according to the invention for the intermediate data stream 208 comprising the intermediate data units IF1, IF2, IF3m from the previous decoding operation. First, the intermediate data which can be arranged into new intermediate data segments S1, S2, S3m 500 is received, if necessary, to be encoded to the second format F '. The size of the new intermediate data segments 500, which are indicated by vertical dashed lines in the figure, in this example is different from the size of the intermediate data units 300 coming from the decoding operation 204. Each new intermediate data segment or unit 500 is then encoded 206 into a new data unit 506 in the second format F ', based on a current encoding state ES 502 obtained from a previous encoding operation. An encryption permission 10 15 20 25 30 35 523 417 ~ «u | u ll, v ~ «. . n | | o u includes variables or parameters, in addition to the data itself, derived from the performed encoding operation and which is used to encode data.

Ett intermediårt datasegment S1 ankodas 206 således till en ny dataenhet F'l, baserat på ett sista ankodningstillstånd ESO som är framtaget från det tidigare ankodade nya datapaketet, ej visat. Efter att ha använt ankodnings- tillståndet ESO framtages ett nytt ankodningstillstånd ES1 ur den senaste ankodningen av F'1. Nästa intermediära datasegment eller enhet S2 ankodas 206 sedan till F'2, baserat på det sista ankodningstillståndet ESl, och så vidare.An intermediate data segment S1 is thus encoded 206 to a new data unit F'1, based on a last encoding state ESO which is obtained from the previously encoded new data packet, not shown. After using the ESO encryption permission, a new ES1 encryption permission is generated from the most recent encoding of F'1. The next intermediate data segment or unit S2 is then encoded 206 to F'2, based on the last encoding state ES1, and so on.

De intermediära dataenheterna 300 kan klassificeras efter egenskaper hos deras innehåll så att ”bra data” har skapats direkt från nyttodata i ett inkommande datapaket eller enhet och feldold data har härletts från det senaste avkodnings- tillståndet, genom att använda feldöljningsmekanismen 400 när inget inkommande datapaket eller enhet i en korrekt sekvensordning fanns tillgängligt. I exemplet i figur 5 innehåller IF1 och IF2 "bra data" medan IF3 innehåller “feldold data", vilket i figuren indikeras med snedstreckning.The intermediate data units 300 can be classified according to properties of their contents so that "good data" has been created directly from utility data in an incoming data packet or unit and erroneously hidden data has been derived from the last decoding state, by using the error concealment mechanism 400 when no incoming data packet or device in a correct sequence order was available. In the example in Figure 5, IF1 and IF2 contain "good data" while IF3 contains "erroneous data", which in the figure is indicated by a slash.

Följaktligen innehåller segmenten S1 och S2 enbart "bra data", men segmenten S3 och S4 innehåller både "bra data" och "feldold data" som ett resultat av olikheten i storlek mellan de intermediära dataenheterna 300 och de intermediära datasegmenten S00.Accordingly, segments S1 and S2 contain only "good data", but segments S3 and S4 contain both "good data" and "erroneous data" as a result of the difference in size between the intermediate data units 300 and the intermediate data segments S00.

Enligt en aspekt av uppfinningen behandlas de intermediära datasegmenten 500 olika beroende på klassificeringen av datan. Om ett segment 500 således innehåller åtminstone någon ”bra data", ankodas segmentet och ett nytt ankodningstillstånd framtages i enlighet med detta.According to one aspect of the invention, the intermediate data segments 500 are processed differently depending on the classification of the data. Thus, if a segment 500 contains at least some "good data", the segment is encoded and a new encoding state is generated accordingly.

Detta år fallet för alla segment S1 - S4 visade i figur 5.This year the case for all segments S1 - S4 is shown in Figure 5.

Om emellertid ett fullständigt segment innehåller ingen “bra data", dvs. enbart “feldold data", kan segmentet helt enkelt kasseras, och det senaste ankodningstillståndet som är framtaget åtminstone delvis från "bra data” sparas. Detta 10 15 20 25 30 35 523 417 12 c ~ » . nu x « » > ~ n n o n illustreras i figur 6a, där ett segment S1 innehållande "bra data" ankodas till en ny dataenhet F'l, varvid ett nytt ankodningstillstánd ES1 framtages. Det nya segmentet S2 indikerat med innehåller "feldold data" och ingen "bra data", snedstreckning i figuren, vilket därmed kasseras 600. En ny dataenhet anses därigenom vara förlorad. Det senaste ankodningstillståndet ESI sparas för senare användning för det fall att den saknade datan slutligen anländer.However, if an entire segment contains no "good data", i.e. only "erroneous data", the segment can simply be discarded, and the latest encryption state obtained at least in part from "good data" is saved. 417 12 c ~ ». Now x« »> ~ nonon is illustrated in Figure 6a, where a segment S1 containing" good data "is encoded to a new data unit F'1, whereby a new encoding state ES1 is generated.The new segment S2 indicated by contains "erroneous data" and no "good data", slash in the figure, which is thus discarded 600. A new data unit is thereby considered lost, the latest encryption state ESI is saved for later use in the event that the missing data finally arrives.

Med hänvisning till figur 6b ankodas ett segment S1 innehållande “bra data" till en ny dataenhet F'l, varvid ett nytt ankodningstillstánd ES1 framtages, precis som i exemplet i figur 6a. Nästa anländande segment S2 innehåller "feldold data" och ingen "god data", återigen indikerat med snedstreckning i figuren. Enligt en alternativ utföringsform ankodas först segmentet S2 till en pseudodataenhet 602, baserat på den tillgängliga feldolda datan, vilken sedan kasseras 600. I detta fall kan ett nytt pseudoankodnings- tillstànd ES2' framtagas från kodningen av S2, för att användas vid ankodning av nästa segment, ej visat. I detta exempel anländer slutligen den saknade datan senare i segment S4, vilket kan ankodas till en ny giltig dataenhet F'2, baserat på det tidigare sparade ankodningtillståndet ESI. Det bör noteras att sekvensordningen för segmenten S1 - S4 är vald genom uppdelningen av den intermediära dataströmmen för illustrativt syfte, vilket inte skall förväxlas med sekvensordningen av den verkliga datan. Således innehåller i detta exempel S4 data som skulle ha ingått i segment S2.Referring to Figure 6b, a segment S1 containing "good data" is encoded to a new data unit F'1, whereby a new encoding state ES1 is generated, just as in the example in Figure 6a. data ", again indicated by a slash in the figure. According to an alternative embodiment, the segment S2 is first encoded to a pseudo-data unit 602, based on the available erroneous data, which is then discarded 600. In this case, a new pseudo-coding state ES2 'can be obtained from the coding of S2, for use in encoding the next segment, not shown, in this example, the missing data finally arrives later in segment S4, which can be encoded into a new valid data unit F'2, based on the previously saved encoding state ESI. that the sequence order of the segments S1 - S4 is selected by the division of the intermediate data stream for illustrative purposes, which should not be confused with the sequence order of the actual data. Thus, in this example, S4 contains data that would have been included in segment S2.

Den äterställda nya dataenheten F'2 kan sedan översändas till nästa nod i transmissionsbanan. Det är vidare möjligt att översända F'2 i en felaktig sekvensposition, i detta fall efter F'3, eftersom den slutgiltiga mottagaren är ofta kapabel att återställa den korrekta dataenhetsordningen innan avkodning.The restored new data unit F'2 can then be transmitted to the next node in the transmission path. It is further possible to transmit F'2 in an incorrect sequence position, in this case after F'3, since the final receiver is often capable of restoring the correct data unit order before decoding.

Den i samband med figur 6b ovan beskrivna proceduren kan också utföras för ett flertal segment som anländer utanför 10 15 20 25 30 35 525 417 13 uu .;.. sekvensen, genom att använda ett flertal sparade ankodnings- tillstånd. Samma mekanismer som beskrivits ovan för att spara ett flertal avkodningstillstànd kan därutöver generellt också tillämpas för att spara ett flertal ankodningstillstånd.The procedure described in connection with Figure 6b above can also be performed for a plurality of segments arriving outside the sequence, using a plurality of saved encoding states. In addition, the same mechanisms as described above for saving a plurality of decoding states can generally also be applied to save a plurality of decoding states.

Ovan beskrivna exempel inkluderar de tvâ separata operationerna att först avkoda mottagen data från ett första format till ett intermediârt format, och sedan ankoda den intermediära datan till ett andra format för avsändning.The examples described above include the two separate operations of first decoding received data from a first format to an intermediate format, and then encoding the intermediate data into a second format for transmission.

Uppfinningen kan emellertid också användas för att omkoda inkommande data i det första formatet direkt till det andra formatet utan att använda ett intermediârt format.However, the invention can also be used to encode incoming data in the first format directly to the second format without using an intermediate format.

Figur 7 illustrerar det mest generella fallet enligt uppfinningen för en omkodning eller transkodningsprocedur när en dataenhet mottages i fel sekvensordning. Generellt betecknar Fl, F2, F3m inkommande dataenheter 700 som har ett första format F. Dataenheterna 700 kodas separat i operation 702 till nya dataenheter 704, i figuren generellt betecknade med F'l, F'2, F'3* som har ett andra format F'. Uttrycket "kodning" används här för att beteckna endera avkodning, omkodning eller ankodning. När varje inkommande dataenhet 700 kodas används information frán ett tidigare kodningsresultat, vilket representeras i figur 7 som en serie av aktuella historiska kodningstillstånd CS 706.Figure 7 illustrates the most general case of the invention for a transcoding or transcoding procedure when a data unit is received in the wrong sequence order. In general, F1, F2, F3m denote incoming data units 700 having a first format F. The data units 700 are coded separately in operation 702 into new data units 704, in the figure generally denoted by F'1, F'2, F'3 * having a second format F '. The term "encoding" is used herein to denote either decoding, decoding or decoding. When each incoming data unit 700 is encoded, information from a previous encoding result is used, which is represented in Figure 7 as a series of current historical encoding states CS 706.

En dataenhet Fl i det första formatet F kodas 702 således till en ny dataenhet Ffll i det andra formatet F' baserat pä ett aktuellt kodningstillstånd CSO, varvid ett nytt kodningstillstånd CSl framtages. Nästa mottagna dataenhet F3 inkluderar ett sekvensnummer 3 som är högre än det tidigare sekvensnumret 1 ökat med ett. När det detekteras att sekvensnumret hos den mottagna dataenheten F3 är högre än väntat, skapas pseudodata 708 i det andra formatet F' baserat på det aktuella kodningstillstândet CS1 för att ta fram ett nytt pseudokodningstillstànd CS2'. Dataenheten F3 kodas sedan 702 till en ny dataenhet F'3 baserat pà pseudokodnings- tillståndet CS2'. Dessutom sparas det tidigare kodnings- 10 15 20 25 30 523 417 14 o a u | a. u tillståndet CS1 i minnet 212. Ett nytt kodningstillstànd CS3 framtages också från kodningen 702 av dataenhet F3 till den nya dataenheten F'3.A data unit F1 in the first format F is thus encoded 702 into a new data unit F1 in the second format F 'based on a current coding state CSO, whereby a new coding state CS1 is generated. The next received data unit F3 includes a sequence number 3 which is higher than the previous sequence number 1 increased by one. When it is detected that the sequence number of the received data unit F3 is higher than expected, pseudo data 708 is created in the second format F 'based on the current coding state CS1 to produce a new pseudo coding state CS2'. The data unit F3 is then encoded 702 into a new data unit F'3 based on the pseudo-coding state CS2 '. In addition, the previous coding 10 15 20 25 30 523 417 14 o a u | is saved a. u state CS1 in memory 212. A new coding state CS3 is also generated from the coding 702 of data unit F3 to the new data unit F'3.

Den saknade dataenheten F2 mottages härnàst, vilken kan kodas 702 till en ny dataenhet F'2 baserat på det sparade tidigare kodningstillståndet CS1. Det använda sparade kodningstillstàndet C51 kan därefter avlägsnas från minnet 212. Slutligen används den återställda dataenheten F'2 som giltig data, och den tidigare skapade pseudodatan 708 kasseras. Däremot, om den saknade dataenheten F2 aldrig mottages inom en förinställd tidsperiod, kan pseudodatan 708 användas som giltig data eller kasseras, beroende på implementationen.The missing data unit F2 is next received, which can be coded 702 to a new data unit F'2 based on the saved previous coding state CS1. The used saved coding state C51 can then be removed from the memory 212. Finally, the restored data unit F'2 is used as valid data, and the previously created pseudo data 708 is discarded. However, if the missing data unit F2 is never received within a preset time period, the pseudo data 708 can be used as valid data or discarded, depending on the implementation.

Genom att använda uppfinningen såsom beskrivits ovan minimeras fördröjningar i omkodare eller transkodrar, och behovet av jitterbuffertar elimineras, medan ändå hög kvalité bibehålles hos överförd data. I synnerhet kompenseras för dataenheter som anländer i en felaktig sekvensordning, genom att återställa sent inkommande data enligt uppfinningen.By using the invention as described above, delays in encoders or transcoders are minimized, and the need for jitter buffers is eliminated, while still maintaining high quality of transmitted data. In particular, data units arriving in an incorrect sequence order are compensated for by restoring late incoming data according to the invention.

Uppfinningen är i första hand avsedd att användas för omkodning av tal, men kan också användas för exempelvis omkodning av fax, modemdata eller paketbaserade videosignaler.The invention is primarily intended to be used for transcoding speech, but can also be used for, for example, transcoding faxes, modem data or packet-based video signals.

Den uppfinningsmässiga metoden kan implementeras i en mjukvarukod i en dataprogramprodukt, som är direkt inladdningsbar i en dator i omkodningsenheten 200 eller lagrad pä ett medium som kan användas i en dator.The inventive method can be implemented in a software code in a computer software product, which is directly loadable into a computer in the recoding unit 200 or stored on a medium that can be used in a computer.

Medan uppfinningen har beskrivits med hänvisning till speciella på utformningsexempel, är beskrivningen endast avsedd att illustrera uppfinningstanken och skall inte ses som begränsande för uppfinningens omfång. Diverse alternativ, modifikationer och ekvivalenter kan användas utan att avvika från uppfinningstanken, vilken definieras av de bifogade kraven.While the invention has been described with reference to particular design examples, the description is intended only to illustrate the inventive concept and should not be construed as limiting the scope of the invention. Various alternatives, modifications and equivalents may be used without departing from the spirit of the invention, which is defined by the appended claims.

Claims (18)

20 25 30 523 4 1 7 NYA PATENT KRAV20 25 30 523 4 1 7 NEW PATENT REQUIREMENTS 1. En metod för omkodning av kommunicerad data i en transmissionsbana mellan en avsändare (100) och en slutlig mottagare (102), innefattande följande steg att: - A) mottaga dataenheter (202,500,700) som innehåller information i ett första kodningsformat (F,IF), - B) till nya dataenheter (300,506,704) i ett andra kodningsformat koda (204, 206, 702) de mottaga dataenheterna (202,500,700) (IF,F'), baserat på ett aktuellt kodningstillstånd (302,502,706) framtaget ur en tidigare kodning av data, samt - C) framtaga ett nytt aktuellt kodningstillstånd (302,502,706) varje gång en dataenhet (202,500,700) kodas, kânnetecknad av de ytterligare stegen att: - D) detektera om den mottagna datan är i en felaktig sekvensordning, och då så är fallet: - E) spara kodningstillstándet (302,502,706) framtaget ur den tidigare kodningen av data och framtaga ett nytt pseudo- kodningstillstànd (DS2',ES2',CS2') för kodning av en nästa mottagen dataenhet (202,500,700), varvid det sparade kodningstillstándet används för kodning av saknad data till det andra formatet, om sådan saknad data inkommer senare.A method of recoding communicated data in a transmission path between a sender (100) and a final receiver (102), comprising the steps of: - A) receiving data units (202,500,700) containing information in a first coding format (F, IF ), - B) to new data units (300,506,704) in a second coding format code (204, 206, 702) the received data units (202,500,700) (IF, F '), based on a current coding state (302,502,706) obtained from a previous coding of data, and - C) generating a new current coding state (302,502,706) each time a data unit (202,500,700) is coded, characterized by the further steps of: - D) detecting if the received data is in an incorrect sequence order, and if so: - E) save the coding state (302,502,706) generated from the previous coding of data and generate a new pseudo-coding state (DS2 ', ES2', CS2 ') for coding a next received data unit (202,500,700), using the saved coding state ds for encoding missing data to the second format, if such missing data is received later. 2. En metod enligt krav 1, kånnetecknad av att vid mottagning av saknad data (F2, S4) kodas den saknade datan till det andra formatet (IF, F'), baserat pá det sparade kodningstillstándet (302, varvid den kodade saknade datan (IF, F'2) 502, 706), används som giltig data.A method according to claim 1, characterized in that upon receipt of missing data (F2, S4) the missing data is coded to the second format (IF, F '), based on the saved coding state (302, wherein the coded missing data ( IF, F'2) 502, 706), is used as valid data. 3. En metod enligt krav 2, kânnetecknad av att det sparade kodningstillstándet (302, 502, 706) borttages efter kodning av den saknade datan (IF, F'2). 20 25 30 35 .u n.. ,u n. un: uA method according to claim 2, characterized in that the saved coding state (302, 502, 706) is removed after coding the missing data (IF, F'2). 20 25 30 35 .u n .., u n. Un: u 4. En metod enligt krav 1, kånnetecknad av att det sparade kodningstillstàndet (302, 502, 706) borttages om motsvarande saknad data inte mottages inom en förinställd tidsperiod.A method according to claim 1, characterized in that the saved coding state (302, 502, 706) is deleted if the corresponding missing data is not received within a preset time period. 5. En metod enligt krav 4, kånnetecknad av att den förinställda tidsperioden är baserad pá karaktäristika hos dataflödet. kånnetecknad av att det sparade 502,A method according to claim 4, characterized in that the preset time period is based on characteristics of the data flow. characterized by the fact that it saved 502, 6. En metod enligt krav 1, kodningstillstándet (302, 706) borttages om antalet sparade kodningstillstànd uppnår ett förinstâllt tröskelvärde.A method according to claim 1, the coding state (302, 706) is removed if the number of saved coding states reaches a preset threshold value. 7. En metod enligt krav 6, kânnetecknad av att det förinställda tröskelvàrdet är baserat på karaktäristika hos dataflödet.A method according to claim 6, characterized in that the preset threshold value is based on characteristics of the data flow. 8. En metod enligt något av kraven 1 - 7, kânnetecknad av att de mottagna dataenheterna (202,) avkodas i steg B), att de kodade tillstànden âr avkodningstillstànd (302), samt att det andra formatet âr ett intermediârt format (IF).A method according to any one of claims 1 to 7, characterized in that the received data units (202,) are decoded in step B), that the coded states are decoding states (302), and that the second format is an intermediate format (IF) . 9. En metod enligt krav 8, kännetecknad av att de mottagna dataenheterna (202) avkodas i steg B) till en ström av intermediär data (208) uppdelad i intermediära datasegment (soo).A method according to claim 8, characterized in that the received data units (202) are decoded in step B) into a stream of intermediate data (208) divided into intermediate data segments (soo). 10. En metod enligt krav 9, kånnetecknad av att de intermediära datasegmenten (500) ankodas till nya dataenheter (506).A method according to claim 9, characterized in that the intermediate data segments (500) are encoded into new data units (506). 11. En metod enligt något av kraven 1 - 7, kånnetecknad av att de mottagna dataenheterna (202) ankodas i steg B), att de kodade tillstànden är ankodningstillstánd (502), samt att det första formatet âr ett intermediârt avkodat format (IF).A method according to any one of claims 1 to 7, characterized in that the received data units (202) are encoded in step B), that the encoded states are encryption states (502), and that the first format is an intermediate decoded format (IF) . 12. En metod enligt krav 11, kännetecknad av att de mottagna dataenheterna (500) innefattar avkodad intermediär data (208) vilken kodas i steg B) till nya dataenheter (506). 10 20 25 h. u. . n » . . . ' _ ' z _ . a ...i .u x.. u: - ~ v v | - . ø u v o n" . . n. n . I n | n . . . , , , , , _ z : z n - u o u n n u u . . - . u.. u n n.. .A method according to claim 11, characterized in that the received data units (500) comprise decoded intermediate data (208) which is encoded in step B) into new data units (506). 10 20 25 h. U. n ». . . '_' z _. a ... i .u x .. u: - ~ v v | -. ø u v o n ".. n. n. I n | n...,,,, _ _: z n - u o u n n u u.. -. u .. u n n ... 13. En metod enligt något av kraven 1 - 12, kännetecknad av att det nya pseudokodningstillståndet (DS2', ES2*, CS2') framtaget i steg E) används för kodning av en nästa mottagen dataenhet (F3, S3).A method according to any one of claims 1 to 12, characterized in that the new pseudo-coding state (DS2 ', ES2 *, CS2') developed in step E) is used for coding a next received data unit (F3, S3). 14. En metod enligt något av kraven 1 - 13, kânnetecknad av att läses information som indikerar en sekvensordning hos (202, i steg A) den mottagna datan 500, 700, F2, S4).A method according to any one of claims 1 to 13, characterized by reading information indicating a sequence order of (202, in step A) the received data 500, 700, F2, S4). 15. En metod enligt något av kraven 1 - 14, kânnetecknad av att om den mottagna datan år i en felaktig sekvensordning, hàrleds feldöljande data (402) från den tidigare mottagna dataenheten och det aktuella avkodningstillståndet (302, DS1), varvid det nya pseudokodningstillstàndet (DS2', ES2', CS2') framtages i steg E) baserat på den hàrledda feldöljande datan (402).A method according to any one of claims 1 to 14, characterized in that if the received data is in an incorrect sequence order, error-concealing data (402) is derived from the previously received data unit and the current decoding state (302, DS1), wherein the new pseudo-coding state (DS2 ', ES2', CS2 ') is generated in step E) based on the derived error concealing data (402). 16. En omkodningsenhet (200) belägen i transmissionsbanan mellan avsàndaren (100) och den slutliga mottagaren (102) för utförande av metoden i något av kraven 1 - 15.A transcoding unit (200) located in the transmission path between the sender (100) and the final receiver (102) for performing the method of any of claims 1 - 15. 17. En dataprogramprodukt direkt laddningsbar i en dator i en omkodningsenhet (200), innefattande mjukvarukodmedel för att utföra metoden i något av kraven 1 - 15.A computer program product directly loadable in a computer in a transcoding unit (200), comprising software coding means for performing the method in any of claims 1 - 15. 18. En dataprogramprodukt lagrad i en dator användbart medium, innefattande làsbart program för att få en dator i en omkodningsenhet (200) att utföra metoden något av kraven 1 - 15.A computer program product stored in a computer usable medium, comprising lockable software for causing a computer in a transcoding unit (200) to perform the method any of claims 1 - 15.
SE0102667A 2001-04-03 2001-08-07 A method and apparatus for transmitting data packets in communication networks SE523417C2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
SE0102667A SE523417C2 (en) 2001-04-03 2001-08-07 A method and apparatus for transmitting data packets in communication networks
JP2002580586A JP4043952B2 (en) 2001-04-03 2002-03-25 Method and apparatus for transferring data packet in communication network
CA002443079A CA2443079A1 (en) 2001-04-03 2002-03-25 A method and apparatus for transferring data packets in communication networks
PCT/SE2002/000590 WO2002082755A1 (en) 2001-04-03 2002-03-25 A method and apparatus for transferring data packets in communicaiton networks
KR10-2003-7013042A KR20040014483A (en) 2001-04-03 2002-03-25 A method and apparatus for transferring data packets in communication networks
EP02718728A EP1391091A1 (en) 2001-04-03 2002-03-25 A method and apparatus for transferring data packets in communicaiton networks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0101193A SE0101193D0 (en) 2001-04-03 2001-04-03 A method to compensate for disordered media packets in a packet-to-packet based media transcoder system
SE0102667A SE523417C2 (en) 2001-04-03 2001-08-07 A method and apparatus for transmitting data packets in communication networks

Publications (3)

Publication Number Publication Date
SE0102667D0 SE0102667D0 (en) 2001-08-07
SE0102667L SE0102667L (en) 2002-10-04
SE523417C2 true SE523417C2 (en) 2004-04-20

Family

ID=26655434

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0102667A SE523417C2 (en) 2001-04-03 2001-08-07 A method and apparatus for transmitting data packets in communication networks

Country Status (6)

Country Link
EP (1) EP1391091A1 (en)
JP (1) JP4043952B2 (en)
KR (1) KR20040014483A (en)
CA (1) CA2443079A1 (en)
SE (1) SE523417C2 (en)
WO (1) WO2002082755A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006066632A1 (en) * 2004-12-24 2006-06-29 Telecom Italia S.P.A. Media transcoding in multimedia delivery services

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745524A (en) * 1996-01-26 1998-04-28 Motorola, Inc. Self-initialized coder and method thereof
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals

Also Published As

Publication number Publication date
KR20040014483A (en) 2004-02-14
SE0102667L (en) 2002-10-04
CA2443079A1 (en) 2002-10-17
JP2004530357A (en) 2004-09-30
EP1391091A1 (en) 2004-02-25
WO2002082755A1 (en) 2002-10-17
JP4043952B2 (en) 2008-02-06
SE0102667D0 (en) 2001-08-07

Similar Documents

Publication Publication Date Title
US6175871B1 (en) Method and apparatus for real time communication over packet networks
US7817783B2 (en) System and method for communicating text teletype (TTY) information in a communication network
US7035210B2 (en) Media stream delay monitoring for node
US8750316B2 (en) Systems and methods for providing distributed packet loss concealment in packet switching communications networks
US6434606B1 (en) System for real time communication buffer management
EP1769610B1 (en) Processing of packets forwarded in communication networks
US7450601B2 (en) Method and communication apparatus for controlling a jitter buffer
Hoberecht A layered network protocol for packet voice and data integration
CN1981492A (en) Buffer level signaling for rate adaptation in multimedia streaming
US7773633B2 (en) Apparatus and method of processing bitstream of embedded codec which is received in units of packets
EP1726142A1 (en) Improvements in or relating to a telecommunications network
CN101554007A (en) Media transmission/reception method, media transmission method, media reception method, media transmission/reception device, media transmission device, media reception device, gateway device, and medi
JP2004266378A (en) Packet transmitting device
SE523417C2 (en) A method and apparatus for transmitting data packets in communication networks
JP2010153955A (en) Switching exchange
US7903688B2 (en) VoIP encoded packet prioritization done per packet in an IP communications network
US7729332B2 (en) Technique for transferring data from a time division multiplexing network onto a packet network
US20070136494A1 (en) Method for connection between communication networks of different types and gateway apparatus
CN100359504C (en) Backplane architecture for a media server
EP1813045B1 (en) Methods and devices for providing protection in packet switched communication networks
JPH0120822B2 (en)
JPH02262742A (en) System and device for voice packet communication
JP2009111838A (en) Voice data transmission apparatus
JP2569493B2 (en) Transfer fluctuation absorption processing method in packet communication
JPS6268350A (en) Voice packet communication system