KR100552343B1 - 세그먼트프레임을사용하는비디오코딩및채널에러를극복하기위한재전송 - Google Patents

세그먼트프레임을사용하는비디오코딩및채널에러를극복하기위한재전송 Download PDF

Info

Publication number
KR100552343B1
KR100552343B1 KR1019960037397A KR19960037397A KR100552343B1 KR 100552343 B1 KR100552343 B1 KR 100552343B1 KR 1019960037397 A KR1019960037397 A KR 1019960037397A KR 19960037397 A KR19960037397 A KR 19960037397A KR 100552343 B1 KR100552343 B1 KR 100552343B1
Authority
KR
South Korea
Prior art keywords
frame
data packet
receiver
buffer
packet
Prior art date
Application number
KR1019960037397A
Other languages
English (en)
Other versions
KR970019219A (ko
Inventor
란 키아오농
Original Assignee
내셔널 세미콘덕터 코포레이션
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 내셔널 세미콘덕터 코포레이션 filed Critical 내셔널 세미콘덕터 코포레이션
Publication of KR970019219A publication Critical patent/KR970019219A/ko
Application granted granted Critical
Publication of KR100552343B1 publication Critical patent/KR100552343B1/ko

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/148Interfacing a video terminal to a particular transmission medium, e.g. ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

통신 시스템 및 프로토콜은 휴대용/무선 채널의 비디오 전송용 재전송 기술을 사용한다. 시스템은 동영상의 프레임을 프레임 세그먼트로 분할하고, 동영상의 서브 시퀀스를 형성하기 위해 프레임 세그먼트의 시퀀스를 결합시킨다. 서브 시퀀스는 단독으로 엔코딩되고 수신기에 전송된 화상을 분리함으로써 처리된 다음, 동영상을 재조합하기 위해 결합된다. 송신기는 수신기 데이타 패킷을 전송하고, 각 데이타 패킷은 프레임 세그먼트용 모든 디지탈 코드 또는 디지탈 코드 일부를 나타낸다. 수신기는 검출가능한 에러를 포함하는 데이타 패킷의 재전송을 요청하고, 디지탈 코드가 수신되고 디지탈 코드가 인트라 코딩되는지 인터 코딩되는지 여부를 스테이터스 버퍼 내에 표시하며, 모든 필요한 데이타 패킷이 검출가능한 에러없이 수신된 후에만 프레임을 표시한다. 세그먼트된 프레임은 개별적으로 서브 시퀀스에 대한 데이타를 정확하게 재전송하기 위한 시간실패를 제한하기 때문에, 데이타를 정확하게 전송하는 것에 대한 전송실패는 프레임 세그먼트의 인트라 코딩된 디지탈 코드를 계속해서 전송함으로써 보상된다.

Description

세그먼트 프레임을 사용하는 비디오 코딩 및 채널 에러를 극복하기 위한 재전송
본 발명은 버스트(burst)한 채널 에러를 갖는 원거리 통신에서 비디오를 코딩, 전송 및 디스플레이하는 것에 관한 것으로, 특히 휴대용/무선 비디오폰 시스템에 관한 것이다.
디지탈 휴대용/무선 전화기는 오디오를 나타내는 디지탈 신호를 전송하기 위해 휴대용/무선 채널을 사용한다. 일반적으로 이러한 신호는 패킷 형태이다. 특히, 송신기는 각 패킷이 30 ms의 오디오를 표시하는 디지탈 오디오 데이타의 패킷을 나타내는 신호를 전송하고; 수신기는 30 ms마다 하나의 패킷을 디코드하여 연속적인 오디오 출력을 유지한다. 그러나, 데이타 패킷 내의 채널(또는 전송) 에러는 디코딩 프로세스를 간섭할 수 있는, 103 내지 102내의 한 비트와 동수가 될 수 있다. 전형적으로, 휴대용/무선 전화 채널의 채널 에러는 버스트하게 되는 경향이 있고, 서로 응집된 버스트 또는 그룹에 발생된 에러이다. 이러한 에러 버스트는 송신기와 수신기 사이에 일시적으로 물체가 삽입되어 간섭하는 경우에 대응할 수 있다. 채널 에러를 보정하기 위해, 패킷은 수신기가 에러를 보정하도록 시도하는 에러 보정 코드(ECC)를 포함한다.
데이타 전송 시스템의 어떤 다른 형태에서, 송신기로부터 데이타 패킷의 에러를 검출하는 수신기는 송신기가 데이타 패킷을 재전송하는 것을 요청한다. 다양한 재전송 전략은 사용가능하고, 기본 자동 반복 요청(ARQ) 및 하이브리드 ARQ 프로토콜을 포함한다. ARQ 시스템의 예는 전체로서 여기에 참조 문헌으로서 설명된 Prentice-Hall, Inc.(1983)에 저작권으로 보호된 Shu Lin 및 Daniel J. Costello, Jr.,에 의한 "Error Control Coding: Fundamentals and Applications"에 기술되어 있다.
재전송이 받아들일 수 없는 지연 지터를 오디오 내에 삽입하기 때문에, 재전송은 전형적으로 휴대용/무선 전화기용으로 사용될 수 없다. 예를 들면, 수신기는 30 ms당 한 레이트로 30 ms의 오디오를 나타내는 패킷을 수신해야 한다. 만약 그렇지 않으면, 스킵 및 브레이크가 오디오에 나타난다. 수신기에서 데이터 패킷을 버퍼링 또는 임시로 저장하면 데이타 패킷의 타이밍에서 어느 정도 유연성을 허용하지만, 버퍼링하면 패킷으로부터의 오디오 발생을 지연시킨다. 지연이 너무 많은 경우는 사용자가 인식이 가능하게 되어, 전화 통신의 패턴을 변경시킨다. 지연이 작아서 인식이 가능하지 않은 경우, 특히 데이타 패킷이 에러없이 수신되기 전에 여러번에 걸쳐 재전송되어야 할 경우, 데이타가 오디오 발생용으로 필요하기 전에 수신기에서 요청되고, 재전송된 데이타 패킷을 수신하기에 시간이 불충분하다.
따라서, 재전송 대신에, 휴대용/무선 전화기는 많은 임계 데이터에 대해 더 많은 에러 보정 코딩을 제공하기 위해 채널 에러의 보정용 대수학적 에러 제어 코딩 및 동일/비동일 에러 보호 코딩과 같은 기술을 사용한다. 에러 보정 코딩으로 인해, 재전송은 필요하지 않고, 재전송에 의해 발생된 지연 지터는 피해진다. 에러 보정 코드로부터 보정될 수 없는 에러는, 대부분의 통신에서 받아들일 수 있는 전파장해(static)의 원인이 된다.
최근에, 시스템은 송신기가 오디오 및 비디오를 표시하는 신호를 전송하는 디지탈 휴대용/무선 비디오폰용으로 제안되고 있다. 이 시스템은 휴대용/무선 전화기에 사용된 에러 보정 코딩과 유사한 비디오용 에러 보정 코딩을 포함한다. 그러나, 대수학 에러 보정에 의해 보정될 수 없는 비디오 데이터 내의 에러는 부정확 색상 및/또는 명도(intensity)를 포함하는 결합있는 영역이 표시된 비디오에 발생한다. 이들 결함있는 영역은 인지될 수 있어 주의를 흩어지게 한다. 추가로, 많은 가장 효과적인 비디오 압축 프로세스는 일반적으로 "인터" 코딩이라 칭해진 엔코딩을 사용한다. 인터 코딩은 동영상의 연속하는 프레임 사이에서 그 변화를 엔코딩하고, 수신기는 인터 코딩된 데이타를 이전 프레임으로부터의 데이타에 추가하여, 동영상의 현재 프레임을 결정한다. 불행하게도, 인터 코딩으로 인해, 새롭게 인터 코딩된 데이타는 결함을 포함하는 프레임에 의해서 새로운 프레임을 만들게 되고, 수신기는 부정확한 에러에 의해 발생된 결함을 보유하고 반복할 수 있다. 또, 부정확한 에러는 몇 개의 프레임을 축적할 수 있어, 결과적으로 화질이 열화된다. 인터 코딩을 피하면, 결함의 축적을 방지할 수 있지만, 전형적으로 최대 프레임 레이트를 감소시키는 압축 효율을 감소시키고/또는 화질을 감소시킨다. 따라서, 시스템은 비디오 폰에 의해 표시된 결함있는 영역을 제거하고 인터 코딩을 사용하는 것이 필요해진다.
본 발명에 따르면, 비디오폰 시스템과 같은 통신 시스템은 동영상을 나타내는 신호의 채널 에러를 보정하기 위해 재전송을 사용한다. 동영상의 각 프레임은 프레임용으로 필요한 모든 데이타가 수신기에 의해 검출가능한 에러없이 수신된 후에만 표시된다. 따라서, 동영상의 각 프레임은 일반적으로 대수학 에러 보정을 사용하는 시스템에서 나타나는 결함이 없이 표시된다.
본 발명에 따르면, 동영상은 프레임 세그먼트의 시퀀스인 서브 시퀀스로 공간적으로 분할되고, 각 프레임 세그먼트는 동영상의 프레임의 일부이다. 서브 시퀀스는 하나의 서브 시퀀스 내의 채널 에러가 다른 서브 시퀀스에 영향을 미치지 못하도록 각각 엔코딩된다. 전형적으로, 송신기는 서브 시퀀스의 프레임 세그먼트를 인터 코딩하고, 프레임 세그먼트를 나타내는 디지탈 코드를 수신기에 전송한다. 수신기는 프레임 세그먼트를 나타내는 디지탈 코드에서 에러가 검출될 때 재전송을 요청한다. 그러나, 재전송이 디코딩 시간안에 프레임 세그먼트의 에러없는 데이타를 제공하는데 실패한 경우, 서브 시퀀스 내의 다음 프레임 세그먼트는 정확하게 전송될 수 없는 데이타가 더이상 필요하지 않도록 인트라 코딩된다. 동영상을 서브 시퀀스로 분할하면, 전체 프레임으로부터 필요한 인트라 코딩 데이타를 프레임 세그먼트에서 필요하도록 감소시키므로, 평균 압축 효율은 향상한다.
채널 에러의 버스트에 의해 영향을 받는 데이타량을 감소시키기 위해, 서브 시퀀스내의 프레임 세그먼트를 나타내는 각 디지탈 코드는 전송 채널의 에러 레이트에 따라 동적으로 설정된 길이를 갖는 데이타 패킷으로 분할된다. 전형적으로, 길이는 에러없는 패킷을 전송하는 가능성이 충분히 높도록 설정된다. 채널의 에러 패턴에 따라 패킷 길이를 동적으로 설정하는 것에 추가하여, 동영상을 엔코딩하는데 사용된 프레임 레이트 및 양자화 단계 크기는 채널의 효과적인 성능을 갖는 최대 프레임 레이트 및 화질을 제공하기 위해 동적으로 조정될 수 있다.
프레임이 표시될 준비가 되었는지를 결정하기 위해, 수신기는 몇개의 연속 프레임의 프레임 세그먼트에 대응하는 엔트리를 포함하는 스테이터스 버퍼를 포함한다. 각 엔트리는 프레임 세그먼트의 디지탈 코드가 에러없이 수신되는지 여부를 표시하고, 프레임 세그먼트가 인터 코딩되었는지 또는 인트라 코딩되었는지 여부를 표시한다. 프레임 세그먼트가 인트라 코딩되고 프레임 세그먼트의 코드가 에러없이 수신되거나, 프레임 세그먼트가 인터 코딩이고, 프레임 세그먼트의 코드가 에러없이 수신될 경우에 프레임 세그먼트는 표시가능하게 되고, 동일 서브 시퀀스 내의 선행하는 프레임 세그먼트는 표시가능하게 된다. 프레임 내의 모든 프레임 세그먼트가 표시 가능할 경우, 프레임은 표시가능하다. 수신기는 가장 최근에 표시가능한 프레임만을 표시한다. 따라서, 어떤 프레임은 스킵될 수 있어, 동영상의 프레임 레이트를 감소시킨다. 그러나, 프레임 레이트 변형은 다른 시스템의 프레임 특성 열화 공동보다 덜 현저하다.
본 발명의 다른 특징에 따르면, 송신기는 서브 시퀀스에 대응하는 스테이터스 카운터를 포함한다. 스테이터스 카운터는 서브 시퀀스 내의 프레임 세그먼트가 인터 코딩된 시간의 수를 표시하는 카운트를 포함한다. 어느 카운트가 임계값을 초과할 경우, 카운트에 대응하는 서브 시퀀스의 다음 프레임 세그먼트는 인트라 코딩된다. 이것은 수신기의 데이타를 갱신하고, 이전에 검출되지 않은 채널 에러에 의해 발생된 동영상 내의 어떤 결함을 제거한다.
본 발명의 실시예에 따르면, 통신 시스템은 일련의 비디오 데이타 패킷을 수신기에 전송하는 송신기를 포함한다. 패킷은 동영상을 형성하는 프레임의 시퀀스를 나타낸다. 수신기는 송신기로부터 패킷을 모아, 에러용 패킷을 체크한다. 패킷이 에러없이 수신될 때, 수신기는 비디오 스테이터스 버퍼에 엔트리를 설정하여, 프레임의 특정 부분의 패킷이 준비되어 있는 것을 나타낸다. 수신기가 에러를 검출할 때, 수신기는 송신기가 에러를 포함하는 패킷을 재전송하는 것을 요청한다.
재전송 요청에 응답하여, 송신기는 재전송된 비디오 데이타 패킷을 수신기에 전송한 일련의 패킷에 즉시 삽입한다. 따라서, 일련의 데이타 패킷은 다른 프레임으로부터의 비디오 데이타를 혼합할 수 있고, 수신기 내의 비디오 스테이터스 버퍼는 다른 프레임의 데이타 패킷을 트랙하기 위해, 몇 개의 프레임의 엔트리를 포함한다. 프레임용으로 필요한 모든 데이타가 에러없이 수신된 것을 비디오 스테이터스 버퍼 내의 엔트리가 나타낼 때, 프레임은 "표시가능", 즉 이미 디코딩 및/또는 표시될 준비가 된 것이다. 수신기는 어떤 프레임이 표시가능하게 되었는지 결정하기 위해서 비디오 스테이터스 버퍼를 주기적으로 체크한다. 하나 이상이 표시가능하게 될 경우, 수신기는 가장 새로운 표시가능한 프레임을 디코딩하여 표시한다.
일반적으로, 표시된 각 프레임용으로 필요한 각 데이타 패킷이 검출가능한 에러가 없기 때문에, 프레임은 에러없이 표시된다. 따라서, 표시된 동영상 내에 결함이 있는 영역은 피해진다. 또, 인터 코딩은 표시된 화상에 축적되는 결함없이 사용될 수 있다. 전체 프레임을 나타내는데 필요한 데이타와 비교할 때, 비디오 데이타 패킷은 상대적으로 작고, 일반적으로 재전송된 패킷은 프레임 레이트에 지연 또는 변경없이 프레임을 표시할 수 있는 시간내에 수신된다. 경우에 따라서, 프레임의 표시는 스킵되거나 지연될 수 있어, 표시된 동영상의 프레임 레이트로 지터를 줄이거나 발생시킨다. 그러나, 프레임 레이트의 변경은 아직 빠른 움직임 및 높은 프레임 레이트가 필요하지 않은 대부분의 비디오폰 응용용으로 적용가능한 동영상을 제공한다. 추가로, 인터 코딩의 사용은 비디오 압축 효율을 향상시키고, 덜 효과적인 비디오 압축을 사용하는 가능한 시스템보다 높은 최대 프레임 레이트를 허용한다. 높은 최대 프레임 레이트는 적어도 부분적으로 프레임 손실을 보상한다.
제1도는 채널(145)를 통해 통신하는 송신기(150) 및 수신기(100)의 블럭도를 도시한다. 본 발명의 한 실시예에서, 송신기(150) 및 수신기(100) 중 하나는 휴대용/무선 비디오폰 내에 있고, 수신기(100) 및 송신기(150) 중 다른 하나는 전화 네트워크(PSTN) 비디오폰 내에 있다. 본 발명의 다른 실시예에서, 송신기(150) 및 수신기(100)은 둘다 휴대용/무선 비디오폰 또는 PSTN 비디오폰 내에 있다. 제1도는 일방향 비디오 전송용으로 필요한 2개의 비디오폰의 일부분을 도시한다. 채널(145) 상에 양방향 비디오 전송을 허용하기 위해, 각 비디오폰은 송신기(150)과 유사하거나 아주 동일한 전송 부분 및 수신기(100)과 유사하거나 아주 동일한 수신 부분을 포함한다.
송신기(150)은 비디오 소스(155)로부터 입력 비디오 신호를 수신한다. 입력 비디오 신호는 각 프레임이 정지 화상인 프레임의 시퀀스를 나타낸다. 시간 인덱스는 프레임을 정렬하고; 시퀀스 내에 표시될 때, 프레임은 움직임 물체를 포함하는 화상의 환영을 제공한다. 따라서, 프레임의 시퀀스는 여기에서 동영상이라 칭해진다. 송신기(150)은 동영상을 엔코딩하여 동영상을 나타내는 신호를 채널(145)를 통해 전송한다.
휴대용/무선 또는 PSTN 비디오폰에서, 비디오 소스(155)는 비디오 카메라 및 동영상을 나타내는 디지탈 신호를 제공할 수 있는 아날로그-디지탈 변환기를 포함한다. 입력 버퍼(160)은 비디오 소스(155)로부터의 디지탈 신호를 나타내는 데이타를 저장한다. 비디오를 나타내는 데이타는 다양한 포맷을 가질 수 있다. 본 발명의 한 실시예에서, 동영상의 각 프레임은 입력 버퍼(160)에 저장된 화소(pixel)값의 하나 이상의 2차원 어레이에 의해 표시된다. 2차원 어레이의 각 화소값은, 2차원 어레이의 화소값의 위치에 대응하는 프레임의 위치를 갖는 작은 영역 또는 화면 요소에 대해서 명도, 색 또는 색성분을 나타낸다. 예를 들면, 프레임은 화소값의 단일 2차원 어레이에 의해 표현될 수 있고, 각 화소값은 대응하는 화면요소의 색을 확인하는 3개의 RGB 또는 YUV 색성분 세트를 나타낸다. 선택적으로, 프레임은 3개의 색 성분 RGB 또는 YUV 각각에 대응하는 3개의 어레이에 의해 표시될 수 있다.
제2도는 동영상의 화상 영역(200)을 나타낸다. 화상 영역(200)은 대응하는 화소값의 2차원 어레이에 의해 표시된 화면요소(또는 화소)의 2차원 어레이를 포함한다. 예를 들면, QCIF와 같은 종래 기술에 언급된 포맷에서, 화상 영역(200)은 x 좌표가 0에서 175까지의 영역에 해당하고, y 좌표가 0에서 143까지의 영역에 해당하는 176 x 144로 분할된다.
시간 인덱스 t는 제3도에 도시한 바와 같이 동영상의 프레임을 시퀀스로 정렬한다. 종래의 비디오 카메라에서는 동영상의 프레임 레이트가 초당 30 프레임이다. 그러나, 전송용으로 사용가능한 대역폭이 비교적 작은 비디오폰에서는 전형적으로 초당 약 7 프레임의 낮은 프레임 레이트가 사용된다. 일반적으로, 빠른 움직임의 표시가 비디오폰용에 필요하지 않기 때문에, 7 프레임/초는 합리적으로 평탄한 움직임을 갖는 동영상을 제공한다. 송신기(150)은 원하는 프레임 레이트를 갖는 동영상을 제공하기에 충분한 프레임을 입력 비디오 신호[또는, 입력 버퍼(160)에서 선택한다. 예를 들면, 비디오 소스(155)가 초당 30 프레임을 제공할 경우, 비디오 엔코더(170)은 4번째 프레임마다 엔코딩하여, 초당 7.5 프레임의 프레임 레이트를 제공한다.
본 발명의 실시예에 따르면, 동영상은 동영상의 화상 영역을 구역으로 구분함으로써 서브 시퀀스로 구분된다. 제2도는 화상 영역(200)이 9개의 구역(210 내지 218)로 분할되고, 구역(210 내지 218)에 대응하는 동영상의 부분은 동영상의 서브 시퀀스인 예시적인 실시예를 도시한다. 예시적인 실시예에서, 각 구역(210 내지 218)은 X축을 따라 화상 영역(200)만큼 넓고, y 방향을 따라 면적(200)의 1/9 높이인 조각이기 때문에, QCIF 표맷용으로 각 구역은 176 × 16 화소이다. 선택적으로, 임의의 수 또는 형태를, 동영상을 서브 시퀀스로 분할하는 구역용으로 사용될 수 있다. 제3도는 서브 시퀀스의 일부인 각각 프레임 세그먼트(310 내지 314)를 포함하는 프레임(300 내지 304)를 도시한다.
비디오 엔코더(170)은 각 프레임 세그먼트에 대해 분리 디지탈 코드를 발생한다. 코딩 프로세스는, 다른 서브 시퀀스로부터의 정보를 사용하지 않고 각 서브 시퀀스의 디코딩을 할 수 있도록, 서로 분리하여 프레임 세그먼트를 엔코딩한다. 사실상, 각 서브 시퀀스는 원하는 어떠한 비디오 압축 프로세스라도 사용될 수 있는 분리 동영상이다. 한 실시예에서, 비디오 엔코더(170)은 여기에 참조 문헌으로 사용된 1995년, 7월 5일 "Video Coding For Low Bitrate Communication"이란 제목으로 Draft ITU-T Recommendation H.263에 기술된 H.263이라 칭해진 표준 비디오 엔코딩 프로토콜을 사용한다.
프레임 세그먼트를 엔코딩할 때, 비디오 엔코더(170)은 스테이터스 카운터(165)를 체크하여, 프레임 세그먼트가 "인트라" 코딩될 경우를 결정한다. 카운터(165)는 서브 시퀀스 및 프레임 세그먼트를 한정하는 구역과 1 대 1 대응하고 있다. 높은 카운터의 값은 수신기(100)가 에러를 포함하는 데이터에 의존되지 않도록 보장하기 위해 대응하는 프레임 세그먼트가 인트라 코딩 되어야 함을 나타낸다. 또, 카운터(165)에 관련된 각 카운터는 최근에 엔코딩된 프레임 세그먼트 용으로 사용된 코딩 형태를 나타내는 스테이터스 필드의 세트이다.
프레임 세그먼트를 인트라 코딩하기 위해, 비디오 엔코더(170)은 정지 화상 엔코딩 프로세스를 사용하여, 프레임 세그먼트를 표시하는 디지탈 코드를 형성한다. 예시적인 실시예에서,비디오 엔코더(170)은 프레임 세그먼트를 각각이 8 × 8 또는 16 × 16 화소와 같이 동일 크기를 갖는 매크로블럭으로 분할한 다음, 매크로블럭을 압축한다. 예를 들면, 양자화에 의해 발생되고 전형적으로 길이 코딩을 실행한 매크로블럭의 화소값의 이산 코사인 변형(DCT)은, 매크로블럭 내의 모든 화소값을 전송하는 것보다 낮은 대역폭을 전송하는데 필요로 하는 비트 스트림을 제공한다. 매크로블럭으로부터 압축된 데이타는 엔코딩 구문에 따라 결합되어, 프레임 세그먼트용 디지탈 코드를 형성한다. 인트라 코딩된 프레임 세그먼트용 디지탈 코드는 프레임 세그먼트를 디코딩하는데 필요한 모든 정보를 나타낸다. 따라서, 인트라 코딩된 프레임 세그먼트용 디지탈 코드는 서브 시퀀스용 수신기(100)에 의해 사용된 데이타를 갱신하고, 이전 프레임 내의 어느 채널 에러는 다음 디코딩에 영향을 받지 않는다.
전형적으로, 인터 코딩은 인트라 코딩보다 나은 압축을 제공한다. 프레임 세그먼트를 인터 코딩하기 위해, 비디오 엔코더(170)은 프레임 세그먼트를 매크로블럭으로 분할한 다음, 각 매크로블럭의 움직임 추정을 행한다. 매크로블럭의 움직임 추정은 매크로블럭의 위치에서 선행하는 프레임의 대응하는 프레임 세그먼트 내에 있는 최적블록( best fit block)의 위치까지 표시하는 움직임 벡터를 발견한다. 서브 시퀀스의 경계 외부로 연장하는 움직임 벡터 및 최적블럭을 허용하기 위해, 선행하는 프레임 세그먼트의 에지에서의 화소의 화소값은 프레임 외부 또는 다른 서브 시퀀스 내에 있는 최적블럭의 영역을 채우기 위해 반복된다. 따라서, 최적블럭은 단일 서브 시퀀스로부터의 데이타만을 포함하고, 다른 서브 시퀀스로부터의 데이타는 움직임 추정 프로세스에 사용되지 않는다.
우수한 최적블럭이 발견된 경우, 최적블럭의 화소값은 차이블럭(different block)을 형성하기 위해 매크로블럭의 대응하는 화소값을 뺀다. 그 다음, 차이블럭은, 예를 들면 양자화에 의해 발생되고 길이 코딩을 실행한 DCT에 의해 압축된다. 프레임 세그먼트용 최종 디지탈 코드는 매크로블럭의 움직임 벡터 및 다른 블럭으로부터의 정보를 나타한다. 우수한 최적블럭이 매크로블럭용으로 발견되지 않은 경우, 매크로블럭은 인트라 코딩된 프레임 세그먼트의 매크로블럭과 동일 방식으로 인트라 코딩된다. 따라서, 인터 코딩된 프레임 세그먼트는 인터 코딩된 매크로블럭 및 인트라 코딩된 매크로블럭을 포함할 수 있다. 프레임 세그먼트의 모든 매크로블럭이 인트라 코딩될 경우, 프레임 세그먼트는 인트라 코딩된다.
프레임 세그먼트가 인터 코딩될 때마다, 비디오 엔코더(170)은, 프레임 세그먼트에 대응하는 카운터(165) 중 하나를, 연속하는 엔코딩 프레임의 시간 인덱스의 차와 동일한 양만큼 증가시킨다. 예를 들면, 비디오 소스(155)로부터의 4번째 프레임마다 엔코딩될 경우, 카운터(165) 중 하나는 프레임 세그먼트가 인터 코딩될 때마다 4만큼 증가된다. 비디오 엔코더(170)은 프레임 세그먼트가 인트라 코딩될 때마다 대응하는 카운터를 재설정한다. 서브 시퀀스에 대응하는 카운트가 임계값 TINTRA를 초과할 경우, 서브 시퀀스의 다음 프레임 세그먼트는 수신기(100)에 의해 사용된 데이타를 갱신할 수 있도록 인트라 코딩 된다. 엔코딩된 프레임의 다른 시간 인덱스와 비례하는 양만큼 증가하면, 송신기(150)가 프레임 레이트를 변경시킬 경우, 정규 간격으로 갱신되는 것을 보장한다.
전형적으로, 인트라 코딩은 비디오 압축 효율을 감소시키고, 프레임 내의 몇개의 프레임 세그먼크가 인트라 코딩될 경우, 프레임을 표시하는 비트 스트림의 전송이 허용한 것보다 길기 때문에, 프레임의 표시는 지연될 수 있다. 따라서, 프레임의 몇개의 프레임 세그먼트가 인트라 코딩될 경우, 비디오 엔코더(170)은 인트라 코딩용으로 하나 또는 약간의 프레임 세그먼트를 선택할 수 있다. 다른 프레임 세그먼트는 다음 프레임 내에 인트라 코딩될 수 있다.
프레임 세그먼트를 표시하는 디지탈 코드는 수신기(100)에 전송되는 비트 스트림의 부분이다. 비디오 엔코더(170)은 엔코딩시 형성된 비트를 카운트하고, 임계 길이 TPACKET보다 더 짧은 데이타 패킷으로 프레임 세그먼트용 비트 스트림을 분할한다. 패킷 길이는 채널 에러가 전송시 발생될 수 있는 가능성에 영향을 미치므로, 본 발명의 한 실시예에서, 임계 패킷 길이 TPACKET는 채널(145)의 에러 레이트에 따라 동적으로 선택된다. 에러 레이트가 높을 때, 임계 길이 TPACKET는 에러없이 전송되는 패킷의 가능성이 높게 유지되도록 감소되고, 수신기(100)에서의 출력 비디오 프레임 레이트는 수백 밀리초 이하의 프레임 지연을 갖는 최소 레벨(약 3 프레임/초)이상 유지한다. 에러 레이트가 낮을 때, 임계 길이 TPACKET는 프레임 세그먼트당 하나의 비디오 데이타 패킷인 제한까지 상승된다.
단일 데이타 패킷으로 표시된 프레임 세그먼트의 부분은 서브 세그먼트로서 여기에서 칭해진다. 전형적으로, 각 서브 세그먼트는 매크로블럭의 정수(integral numher)를 포함한다. 데이타 패킷당 매크로블럭의 정수를 사용하면, 데이타 패킷을 관련시켜, 화상 영역을 한정하고, 수신기(100)에서 정확하게 수신되는 데이타 패킷을 추적할 수 있도록 허용한다. 매크로블럭의 수는 서브 세그먼트에 따라 변할 수 있고, 서브 세그먼트로 표시된 동영상의 면적은 프레임에 따라 변할수 있다.
비디오 엔코더(170)은 각 데이타 패킷에 대해 비디오 헤더 및 주기적 용장 코드(CRC)를 추가한다. 헤더는 패킷에 의해 기술된 프레임, 서브 시퀀스 및 서브 세그먼트를 확인한다. 예시적인 실시예에서, 비디오 헤더는 데이타 패킷의 개시를 형성하는 독특흔 패턴을 포함하는 개시 필드; 프레임을 확인하는 시간 인덱스 필드(4 비트); 시간 인덱스 및 시퀀스 넘버 필드의 결합이 프레임 세그먼트를 확인하도록 서브 시퀀스를 확인하는 시퀀스 넘버 필드(4 비트): 데이타 패킷에 의해 기술된 처음 및 마지막 매크로블럭의 넘버에 의해 서브 세그먼트를 확인하는 서브 세그먼트 개시 및 종료 필드(8 비트); 및 프레임 세그먼트가 어떻게 엔코딩(인트라 또는 인터 코딩)되는지를 표시하는 코딩 프로세스 필드(1 비트)를 포함한다. 비디오 헤더에 추가하여, TX 헤더가 채널(145)에서의 전송에 있어 위해 추가될 수 있고, 비디오 헤더 및 TX 헤더 내에 있는 정보는 비디오 헤더로부터 제거될 수 있다. 비디오 헤더 다음에는 디지탈 코드로, 비디오 엔코더(170)에서 비디오 헤더에 의해 확인된 서브 세그먼트를 기술하도록 형성안, 디지털코드가 위치한다. 수신기(100)에서 비디오 데이타 패킷 내의 채널 에러를 검출하는데 사용하는 CRC는 디지탈 코드로부터 형성된다. CRC에 추가하여, 에러 보정 코드는 각 데이타 패킷에 추가될 수 있어, 수신기(100)에서 에러 검출 및 에러 보정을 할 수 있도록 한다.
비디오 엔코더(170)으로부터의 데이타 패킷은 전송 버퍼(180) 및 FIFO 버퍼(190)에 기록된다. FIFO 버퍼(190)이 오버플로우할 때, FIFO 버퍼(190) 내의 가장 오래된 데이타 패킷은 밀어내어져, 새롭게 엔코딩된 데이타 패킷용 공간을 형성한다. 후술하는 바와 같이, 재전송 콘트롤러(185)는 전송 버퍼(180) 또는 FIFO 버퍼(190)이 채널(145)를 통해 수신기(100)에 전송된 비트 스트림용 데이타를 제공하는지 여부를 결정한다. 채널(145)는 송신기(150)에서 수신기(100)까지 흐르는 데이타용 서브 채널(145B) 및 수신기(100)에서 송신기(150)까지 흐르는 데이타용 서브 채널(145A)를 포함하는 양방향 채널이다. 예시적인 실시예에서, 채널(145)는 휴대용/무선 채널이고, 서브 채널(l45A 및 l45B)는 비디오 및 오디오 데이타용으로 시간다중화 된 것이다. 많은 시스템은 경제적으로 사용가능한 것으로, 디지탈 비디오 전송용으로 적합한 DECT, GSM, TETRA 및 PDC와 같은 무선/휴대용 채널을 형성할 수 있다. 그러나, 본 발명의 실시예는 어떠한 형태의 통신 채널에서도 사용할 수 있고, 휴대용/무선 채널에 한정되지 않는다.
수신기(100)은 송신기(150)으로부터 데이타 패킷을 유지하고, 에러를 검출하기 위해 데이타 패킷의 CRC를 체크하는 수신 버퍼(130)을 포함한다. CRC 체킹의 결과는 요구 콘트롤러(125) 및 스테이터스 버퍼(115)로 전송된다. 또, 에러는 비디오 엔코더(120)가 구문 에러를 확인하기 위해 모든 데이타 패킷 또는 데이타 패킷 부분을 분석하거나 디코딩할 때 데이타 패킷에서 검출될 수 있다. 구문 에러가 발생할 때, 비디오 디코더(120)는 스테이터스 버퍼(115)에 엔트리를 설정하고, 요구 콘트롤러(125)에 전달된다. 예시적인 실시예에서, 요구 콘트롤러(125)는 데이타 패킷이 에러를 포함할 경우에만 재전송 요청을 송신기(150)에 송신하고, 데이타 패킷이 에러없이 수신될 때에는 어떠한 메시지 또는 확인도 송신기(150)에 송신하지 못한다. 이 재전송 전략은 일반적으로 네가티브 확인(HAK)이라 칭해진다. 본 발명의 다른 실시예에서, 하이브리드 자동 반복 요청과 같은 더 복잡한 재전송 전략은 사용될 수 있다.
재전송 요청을 송신하기 전에, 요구콘트롤러(125)는 스테이터스 버퍼(115)를 체크하여, 에러를 포함한 데이타 패킷이 필요한지 여부를 결정한다. 표시가능한 프레임의 시간 인덱스 이전의 시간 인덱스를 갖는 데이타 패킷은 스킵된 프레임에 대응하므로, 필요하지 않다. 인트라 코딩된 프레임 세그먼트가 정확하게 수신될 때, 서브 시퀀스가 공급되고, 이전 데이타 패킷이 필요하지 않기 때문에, 정확하게 수신되거나 되지 않거나, 인트라 코딩된 프레임 세그먼트의 시간 인덱스 이전의 시간 인덱스를 갖는 데이타 패킷은 필요하지 않다. 데이타 패킷이 필요하지 않은 경우, 요구콘트롤러(125)는 무의미하다. 그렇지 않으면, 요구 콘트롤러(125)는 데이타 패킷의 재전송 요청을 송신기(150)에 전송한다.
재전송 요청은 에러를 포함하는 데이타 패킷에 의해 기술된 프레임, 서브 시퀀스 및 서브 세그먼트를 확인하고, 예를 들면 에러를 포함하는 데이타 패킷용 비디오 헤더와 동일 형태를 취할 수 있다. 상술한 바와 같이, 전형적으로 서브 채널(145A)는 비디오 및 오디오 데이타용으로 시간 다중화된것이고, 요구 콘트롤러(125)는 억세스용 오디오 시스템(도시하지 않음) 및 비디오 전송기(도시하지 않음)를 채널(145A)과 필적시킨다. 재전송 요청는 전송을 기다리는 비디오 데이타 패킷이 우선권을 갖는다.
송신기(150)가 재전송 요청를 수신할 때, 재전송 콘트롤러(185)는 요청된 데이타 패킷용 FIFO 버퍼(190)을 검색한다. 요청된 데이타 패킷이 발견된 경우, 재전송 콘트를러(185)는 에러를 포함하는 데이타 패킷의 전송 후, 서브 시퀀스 내의 프레임 세그먼트가 인트라 코딩되었는지를 결정하기 위해 데이타 패킷에 의해 기술된 서브 시퀀스의 스테이터스 필드를 체크한다. 그런 경우, 재전송 콘트롤러(185)는 요청을 무시한다. 그렇지 않으면, 요청된 데이타 패킷은 FIFO 버퍼(190)에서 수신기(100)까지 재전송된다. 재전송된 데이타 패킷은 전송이 최근에 전송된 데이타 패킷에 즉시 이어 시작하도록 전송 버퍼(180)으로부터 새롭게 엔코딩된 데이타 패킷보다 우선권을 갖는다. 또, 재전송 콘트롤러(185)는 스테이터스 카운터(165)에 스테이터스 플래그를 설정하여, 요청된 데이타 패킷이 재전송된 것을 표시한다. 재전송이 요청된 데이타 패킷이 첫 번째 재전송이 아닌 것을 재전송 콘트롤러(185)가 발견한 경우, 재전송 콘트롤러(185)는 비디오 엔코더(170)가 요청된 데이타 패킷에 의해 표시된 서브 시퀀스의 다음 프레임 세그먼트를 인트라 코딩하는 것을 요청한다. 요청된 데이타 패킷이 FIFO 버퍼(190)에서 사용가능하지 않은 경우, 데이타 패킷의 재전송은 더이상 발생하지 않는다. 재전송 콘트롤러(185)는 요청된 데이타 패킷에 의해 표시된 서브 시퀀스의 다음 프레임 세그먼트의 인트라 코딩을 요청한다.
재전송된 데이타 패킷의 요청와 수신 사이의 라운드 트립 지연은 진행하는 지연, 대기 지연, 전송 지연 및 전파 지연으로 구성된다. 수신기(100)에서의 최대 대기 지연은 재전송이 요청되기 전에 시작된 패킷의 전송을 완성하는데 필요한 시간과 거의 동일하다. 유사하게, 송신기(150)에서의 최대 대기 지연은 요청된 재전송전에 개시된 데이타 패킷의 전송 시간과 거의 동일하다. 또, 요청된 데이타 패킷의 전송 지연은 데이타 패킷을 전송하는데 필요한 시간과 거의 동일하다. 처리하는 지연, 재전송 요청용 전송 지연(재전송 요청의 지속성) 및 전파 지연[신호가 채널(145)를 따라 전파하기 위한 시간)과 같은 다른 지연은 데이타 패킷의 전송 시간과 비교할 때 작다. 따라서, 최대 라운드 트립 지연은 데이타 패킷용 전송 시간의 약 3배이다. 데이타 패킷의 최대 길이가 300 비트이고, 채널(145)가 32,000 비트/초의 전송 레이트를 가질 경우, 최대 지연은 약 28 ms이다. 최대 데이타 패킷 길이가 800 비트이고, 전송 레이트가 32,000 비트/초이면, 최대 지연은 약 75 ms이다. 비교하면, 초당 7 프레임에서 프레임간의 간격은 약 143 ms이고, 초당 10 프레임에서 프레임간 간격은 약 100 ms이다. 따라서, 제공된 예에서, 라운드 트립 지연은 프레임간 간격과 비교가능하다.
요구 콘트롤러(125)는 스테이터스 버퍼(115)에 엔트리를 설정하여, 데이타 패킷이 에러없이 수신된 것을 표시한다. 스테이터스 버퍼(115)는 논리적으로 프레임 세그먼트의 엔트리의 행과 열로 구성된다. 각 행은 프레임 내의 프레임 세그먼트에 대응하고, 즉 동영상에서 시간 인덱스에 대응하는 엔트리를 포함한다. 각 열은 동영상의 서브 시퀀스에서의 프레임 세그먼트에 대응하는 엔트리를 포함한다. 예시적인 실시예에서, 스테이터스 버퍼(115)는 4개의 프레임용 4개의 행 및 9개의 서브 시퀀스의 9개의 열을 포함한다.
각 개별 엔트리는 4개의 가능한 값, 즉 ; (1) 이 프레임 세그먼크용으로 수신되지 않음, (2) 정확하게 수시된 모든 패킷 및 프레임 세그먼트는 인트라 코딩됨, (3) 정확하게 수신된 모든 패킷 및 프레임 세그먼트는 인터 코딩됨, 및 (4) 다른 경우;의 상태를 갖는 세그먼트 스테이터스 필드를 포함한다. 또, 각 엔트리는 패킷 스테이터스 필드를 포함할 수 있으므로, 데이타 패킷 또는 매크로블럭이 정확하게 수신되고, 여전히 필요하다라는 것을 표시한다. 예를 들면, 세그먼트 스테이터스 필드가 값(4)를 가질 경우, 수신된 데이타 패킷용 패킷 스테이터스 필드는 "에러없음", "에러", "요청된 재전송"값을 갖는다. 프레임 세그먼트용 모든 패킷 스테이터스 필드가 에러 없음을 표시할 때, 세그먼트 스테이터스 필드는 값 (2) 또는 (3)으로 설정된다.
프레임 세그먼트에 대응하는 엔트리가 세그먼트 스테이터스 값(3)을 가질 경우 또는 프레임 세그먼트에 대응하는 엔트리가 세그먼트 스테이터스 값 (2)를 가질 경우, 프레임 세그먼트는 표시가능하고, 선행 프레임 내이지만 동일 서브 시퀀스에서 프레임 세그먼트에 대응하는 엔트리는 표시가능하다. 프래임 내의 모든 프레임 세그먼트가 표시가능한 경우, 프레임은 표시가능하다. 비디오 디코더(120)은 주기적으로 스테이터스 버퍼(115)를 체크하여, 어느 프레임이 새롭게 표시가능한 지를 결정한다. 비디오 디코더(120)가 최종적으로 스테이터스 버퍼(115)를 체크한 후 하나 이상의 프레임이 표시가능해질 경우, 비디오 디코더(120)은 가장 새로운 표시가능한 프레임을 디코딩하여, 현재 프레임을 표시하는 화소값의 어레이를 형성한다. 디코딩은 수신 버퍼(130)으로부터의 데이타 패킷을 필요로 하고, 출력 버퍼(110) 또는 수신 버퍼(130) 중 하나에 저장된 이전 데이타를 필요로 할 수 있다.
프레임의 디코딩에서, 비디오 디코더(120)은 프레임 내의 각 프레임 세그먼트를 체크하여, 프레임 세그먼트가 인트라 코딩되는지 인터 코딩되는지를 결정한다. 인트라 코딩된 프레임 세그먼트는 현재 프레임의 시간 인덱스에 대응하는 데이타 패킷으로부터 디코딩된다. 인터 코딩 된 프레임 세그먼트는 이전 데이타 및 이전 데이터를 구하는 시간 인덱스에서 현재 프레임의 시간 인덱스까지의 영역인 시간 인덱스에 대응하는 데이타 패킷으로부터 디코딩된다.
인터 코딩된 프레임 세그먼트를 디코딩하기 위해, 비디오 디코더(120)은 프레임 세그먼트를 포함하는 서브 시퀀스에 대응하는 스테이터스 엔트리를 체크한다. 현재 프레임의 시간 인덱스와 이전 데이타의 시간 인덱스 사이의 시간 인덱스의 엔트리에서, 비디오 섹터가 인트라 코딩된 것을표시할 경우, 비디오 디코더는 인트라 코딩된 프레임 세그먼트를 디코딩한 다음, 프레임 세그먼트의 인트라 코딩과 현재 프레임의 시간 인덱스 사이의 시간 인덱스에 대한 서브 시퀀스의 연속된 변화를 디코딩한다. 서브 시퀀스에 대응하는 모든 엔트리가 프레임 세그먼트의 인터 코딩을 표시할 경우, 비디오 디코더(120)은 서브 시퀀스의 이전 데이타를 개시한 다음, 이전 데이타의 시간 인덱스와 현재 프레임의 시간 인덱스 사이의 시간 인덱스에 대응하는 데이타 패킷으로부터 서브 시퀀스의 연속 변경을 디코딩한다. 일반적으로, 이전 데이타는 출력 버퍼(110) 내에 저장된 화소값의 2차원 어레이이고, 이전 디코딩된 프레임을 표시한다. 디코딩의 결과는 출력 버퍼(110) 내에 저장되고, 현재 프레임을 표시한다.
새로운 프레임용 어떤 데이타 패킷이 수신된 경우, 가장 오래된 프레임에 대응하는 스테이터스 버퍼(115)의 행에서의 세그먼트 스테이터스 필드는 클리어되고, 즉 스테이터스(1)을 설정하고, 행은 새로운 프레임용으로 사용된다. 정보의 가능한 손실은, 가장 오래된 프레임이 적어도 하나의 데이타 패킷이 정확하기 수신되지 않는 하나 이상의 서브 시퀀스를 포함할 경우에 발생하고, 스테이터스 버퍼(115)의 엔트리를 갖는 다음 프레임은 표시가능하지 않게 된다. 제거된 프레임은 프레임 내의 적어도 하나의 프레임 세그먼트가 표시될 수 없기 때문에 현재 프레임을 형성하도록 디코딩될 수 없다. 스테이터스 엔트리가 제거될 때, 프레임의 데이타 패킷이 버려질 경우, 다음 프레임 내에 인터 코팅된 프레임 세그먼트용으로 필요한 정보는 손실될 수 있다. 데이타 손실을 피하기 위해, 가장 오래된 프레임의 표시가능한 프레임 세그먼트용 데이타 패킷은 데이타 패킷보다 더 큰 시간 인덱스를 갖는 프레임이 디코딩될 때까지 수신 버퍼(130) 내에 보유될 수 있다.
선택적으로, 스테이터스 버퍼(115)에 더이상 표시되지 않은 가장 오래된 프레임의 데이타 패킷은 가장 오래된 프레임의 표시가능한 프레임 세그먼트의 중간 데이타를 형성하기 위해 디코딩될 수 있다. 중간 데이타는 비디오 변환기(105)를 통해 출력되지 않지만, 인터 코팅된 프레임 세그먼트의 차후 디코딩은 이전 프레임으로부터의 데이타 대신에 중간 데이터로 시작할 수 있다. 가장 오래된 프레임에 표시될 수 없는 프레임 세그먼트와 동일한 서브 시퀀스 내의 프레임 세그먼트는 필요한 데이타가 정확하기 수신되지 않기 때문에 정확하게 인터 디코딩될 수 없다. 그러나, 예시적인 실시예에 따르면, 데이타 패킷의 재전송용으로 필요한 두 번째요청은 잃어버린(missing) 데이타 패킷에 의해 표시된 서브 시퀀스 내의 프레임 세그먼트를 인트라 코딩되게 한다. 인트라 코딩된 프레임 세그먼트는 이전 프레임 또는 중간 데이타로부터 데이타없이 디코딩 될 수 있기 때문에, 표시가능하다. 따라서, 인트라 코딩된 프레임 세그먼트를 포함하는 프레임은 현재 프레임을 표시하는 화소값의 어레이를 형성하도록 디코딩될 수 있다.
현재 프레임을 표시하는 화소값의 디코딩된 어레이는 화소값의 어레이를 사용가능한 형태로 변환한 비디오 출력 변환기(105)로부터 출력 버퍼(110) 내에 저장된다. 비디오폰에서, 비디오 변환기(105)는 어레이를 음극선관 또는 액정 디스플레이와 같은 디스플레이를 구동하는 신호로 변환한다.
송신기(150) 내의 버퍼 콘트롤러(175)는 수신기(100)으로부터의 재전송 요청을 모니터하고, 채널(145)의 현재 에러 패턴에 의해 송신기(150)의 파라메터를 조정한다. 동적으로 제어된 3개의 파라메터는 최대 패킷 길이 TPACKET, 비디오 엔코더(170)를 통한 프레임 레이트 및 비디오 엔코더(170)가 DCT 계수를 양자화하기 위해 사용된 양자화 스텝 사이즈이다. 에러 레이트가 높은 경우, 최대 패킷 길이 TPACKET는 에러없음에 도달하는 데이타 패킷의 기회를 증가시키도록 감소될 수 있고, 양자화 단계 사이즈는 압축 효율(화질의 희생으로)을 증가시키도록 증가될 수 있으며, 프레임 레이트는 채널(145)의 효과적인 성능의 감소를 정합하기 위해 감소될 수 있다. 예를들면, 비디오 소스(150)이 30 프레임/초를 제공할 경우, 비디오 엔코더(170)은 4번째 프레임마다의 엔코딩(초당 7.5 프레임)에서 5번째 프레임마다의 엔코딩(초당 6 프레임)까지 스위치할 수 있다. 에러 레이트가 낮은 경우, 최대 패킷 길이 TPACKET는 데이타 전송용 오버헤드를 감소시키도록 증가될 수 있고, 양자화 스텝 사이즈는 화질을 향상시키기 위해 감소될 수 있으며. 프레임 레이트는 증가될 수 있다. 예를 들면, 비디오 엔코더(170)은 4번째 프레임마다의 엔코딩(초당 7.5 프레임)에서 3번째 프레임마다의 엔코딩(초당 10 프레임)까지 스위치할 수 있다.
대수학 에러 보정을 사용하는 이전 시스템에서, 휴대용/무선 채널에서 상당히 보편적으로 가지는 에러의 버스트는 보정할 수 없는 에러를 형성하고, 결함이 있는 화상의 표시를 발생한다. 제1도의 시스템의 경우, 버스트 에러 패턴은 작은 데이타 패킷 내에 에러를 집중시키기 때문에, 비교적 작은 재전송은 비교적 높은 에러 레이트로 요구된다. 따라서, 제1도의 시스템은 에러의 버스트를 쉽게 축적할 수 있다.
제1도에 도시한 동작 블럭은 본 발명의 특정 응용에 따라 변하는 다양한 방식으로 충족될 수 있다. 독립형의 비디오폰에서, 수신기(100) 및 송신기(150)은 이산 또는 통합 부품을 사용하여 형성될 수 있다. 한 실시예에서, 하나 이상의 응용 특정 통합 회로(ASIC)는 제1도에 참조하여 기술된 동작 블럭을 충족한다. 선택적으로, 비디오 디코더(120) 및 비디오 엔코더(170)과 같은 동작 블럭은 디코딩 및 엔코딩 소프트웨어를 실행하는 디지탈 신호 프로세서(DSP)를 사용하여 충족될 수 있다.
또, 비디오폰은 비디오 소스(155)로부터의 비디오 캡쳐용 입력 인터페이스 및 채널(145)를 통한 전송의 출력 인터페이스를 갖는 퍼스널 컴퓨터의 일부로서 구현될 수 있다. 이러한 인터페이스는 퍼스널 컴퓨터의 로칼버스 상의 슬롯에 부착하는 카드에 제공될 수 있다. 퍼스널 컴퓨터에 구현된 비디오폰에 대해, 비디오 디코더(120), 요구 콘트롤러(125), 비디오 엔코더(170), 버퍼 콘트롤러(175) 및 재전송 콘트롤러(185)와 같은 동작 블럭은 컴퓨터의 메인 CPU에 의해 실행된 소프트웨어에 충족될 수 있고; 및 출력 버퍼(110), 스테이터스 버퍼(115), 수신 버퍼(130), 입력 버퍼(160), 스테이터스 카운터(165), 전송 버퍼(180) 및 FIFO 버퍼(190)과 같은 동작 블럭은 컴퓨터의 메인 메모리 내에 형성될 수 있다. 선택적으로, 입력 및/또는 출력 인터페이스는 수신기(100) 및/또는 송신기(150) 내에 어떤 또는 모든 동작 블럭을 제공할 수 있다. 발명의 상세한 설명의 항에서 없는 구체적인 실시 상태 또는 실시예는 어디까지나 본 발명의 기술 내용을 명백하게 하는 것으로, 그와 같은 구체 예에서만 한정하여 협의로 해석되어야 하는 것은 아니고, 본 발명의 정신과 다음에 기재하는 특허 청구 사항의 범위 내에서 여러가지로 변경하여 실시할 수 있는 것이다.
제1도는 본 발명의 실시예에 따른 통신 시스템을 도시하는 도면.
제2도는 본 발명의 실시예에 따라 구분된 화상 면적을 갖는 동영상을 도시하는 도면.
제3도는 동영상의 프레임 내의 프레임 세그먼트를 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
100 : 수신기 105 : 비디오 변환기
110 : 출력 버퍼 115 : 스테이터스 버퍼
120 : 비디오 디코더 125 : 요구 콘트롤러
130 : 수신 버퍼 145 :채널
150 : 송신기 155 : 비디오 소스
160 : 입력 버퍼 170 : 비디오 엔코더
175 : 버퍼 콘트롤러 180 : 전송 버퍼
185 : 재전송 콘트롤러 190 : 재전송 FIFO

Claims (9)

  1. 송신기를 수신기에 접속하는 채널에 전송된 패킷의 임계 길이를 결정하는 단계를 포함하되, 상기 임계 길이는 상기 채널에 에러 패턴에 따라 변하고;
    동영상의 프레임의 제1 시퀀스를 형성하는 단계;
    일련의 디지탈 값으로서 각 프레임을 엔코딩하는 단계;
    상기 채널을 통해 상기 송신기에서 상기 수신기까지 신호를 전송하는 단계;
    상기 신호는 패킷 세트를 나타내고;
    각 패킷 세트는 프레임에 대응하며;
    각 패킷은 상기 대응하는 일련의 프레임으로부터의 디지탈 값을 포함하고; 및
    각 패킷은 상기 임계 길이보다 짧은 길이를 가지며;
    상기 전송된 패킷 중 어느 것이 상기 수신기에 의해 수신될 때 에러를 포함하는지를 결정하는 단계;
    에러를 포함하는 패킷의 재전송용 요청을 상기 수신기에서 상기 송신기까지 송신하는 단계;
    상기 송신기에서 상기 수신기까지 상기 패킷을 재전송하는 단계; 및
    에러없이 상기 수신기에 의해 수신된 패킷을 프레임의 제2 시퀀스를 나타내는 디지탈 값으로 변환하는 단계
    를 포함하는 것을 특징으로 하는 통신 방법.
  2. 제1항에 있어서, 상기 임계 길이를 결정하는 단계는 재전송용으로 자주 일어나는 요청을 송신하는 상기 수신기에 따라 상기 임계 길이를 감소시키는 단계를 포함하는 것을 특징으로 하는 통신 방법.
  3. 제1항에 있어서, 패킷을 변환하는 단계는 제1 시퀀스 내에 있고, 상기 수신기에 의해 수신될 때 에러를 포함한 데이타 패킷에 의해 부분적으로 나타나는 프레임에 대응하는 데이타 패킷을 스킵하는 단계를 포함하는 것을 특징으로 하는 통신 방법.
  4. 동영상의 구역에 대응하는 카운터를 포함하되, 각 카운터는 카운터에 대응하는 상기 구역의 내용을 표시하는 프레임 세그먼트에 대응하고;
    상기 동영상의 프레임을 상기 구역에 대응하는 프레임 세그먼트로 분할하고, 각 프레임 세그먼트용 코딩 프로세스로서 인터 코딩 또는 인트라 코딩을 선택하며, 프레임용 디지탈 코드를 형성하기 위해 프레임 세그먼트용으로 상기 선택된 코딩 프로세스를 사용하는데 적용되는 엔코딩 회로를 포함하되, 상기 엔코딩 회로는 상기 프레임 세그먼트에 대응하는 상기 카운터 중 하나의 카운트에 따라 각 프레임 세그먼트용 상기 코딩 프로세스를 선택하고;
    디지탈 코드를 나타내는 데이타 패킷을 저장하기 위해 상기 엔코딩 회로에 결합된 버퍼를 포함하고;
    전송용 현재 데이타 패킷 또는 재전송용으로 이전에 전송된 데이타 패킷 중 하나를 버퍼로부터 선택하기 위해 상기 버퍼에 결합된 재전송 콘트롤러를 포함하는 것을 특징으로 하는 비디오 엔코더.
  5. 제4항에 있어서, 상기 엔코딩 회로는 대응하는 프레임 세그먼트가 인터 코딩될 때마다 카운트를 증가시키고, 상기 대응하는 프레임 세그먼트가 인트라 코딩될 때마다 상기 카운트를 재설정하는 수단을 더 포함하는 것을 특징으로 하는 비디오 엔코더.
  6. 제4항에 있어서, 상기 버퍼는 전송 퍼버 및 재전송 버퍼를 포함하는 것을 특징으로 하는 비디오 엔코더.
  7. 프레임 세그먼트의 부분을 나타내는 데이타 패킷용 수신 버퍼;
    프레임 세그먼트에 대응하고, 상기 프레임 세그먼트의 하나 이상의 데이타 패킷이 에러없이 수신되었는지 여부를 표시하는 엔트리의 어레이를 포함하는 스테이터스 버퍼; 및
    수신 버퍼 및 스테이터스 버퍼에 결합되고, 상기 스테이터스 내의 상기 엔트리를 체킹하고, 디코딩용으로 필요한 모든 디지탈 패킷이 에러없이 수신되는 프레임이 가장 최근의 프레임인 것을 결정한 후 프레임을 디코딩하는 디코딩 회로를 포함하는 것을 특징으로 하는 비디오 디코더.
  8. 제7항에 있어서, 상기 수신 버퍼 및 상기 스테이터스 버퍼에 결합된 요구 콘트롤러를 더 포함하고, 상기 요구 콘트롤러는 에러를 갖고 수신된 데이타 패킷의 재전송을 요청하는 것을 특징으로 하는 비디오 디코더.
  9. 제7항에 있어서, 모든 데이타 패킷이 에러없이 수신된 프레임 세그먼트는 상기 프레임 세그먼트용 상기 데이타 패킷이 인터 코딩 또는 인트라 코딩을 나타내는지를 표시하는 대응하는 엔트리를 갖는 것을 특징으로 하는 비디오 디코더.
KR1019960037397A 1995-09-01 1996-08-31 세그먼트프레임을사용하는비디오코딩및채널에러를극복하기위한재전송 KR100552343B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/522,688 US5768533A (en) 1995-09-01 1995-09-01 Video coding using segmented frames and retransmission to overcome channel errors
US95-08/522,688 1995-09-01

Publications (2)

Publication Number Publication Date
KR970019219A KR970019219A (ko) 1997-04-30
KR100552343B1 true KR100552343B1 (ko) 2006-06-08

Family

ID=24081911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960037397A KR100552343B1 (ko) 1995-09-01 1996-08-31 세그먼트프레임을사용하는비디오코딩및채널에러를극복하기위한재전송

Country Status (3)

Country Link
US (1) US5768533A (ko)
KR (1) KR100552343B1 (ko)
DE (1) DE19635116C2 (ko)

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404923B1 (en) 1996-03-29 2002-06-11 Microsoft Corporation Table-based low-level image classification and compression system
US6014706A (en) * 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
WO1998034405A1 (en) 1997-01-30 1998-08-06 Microsoft Corporation Vcr-like functions rendering video on demand
US6639945B2 (en) 1997-03-14 2003-10-28 Microsoft Corporation Method and apparatus for implementing motion detection in video compression
US6173317B1 (en) 1997-03-14 2001-01-09 Microsoft Corporation Streaming and displaying a video stream with synchronized annotations over a computer network
US6728775B1 (en) 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
US7321783B2 (en) * 1997-04-25 2008-01-22 Minerva Industries, Inc. Mobile entertainment and communication device
US6178448B1 (en) * 1997-06-18 2001-01-23 International Business Machines Corporation Optimal link scheduling for multiple links by obtaining and utilizing link quality information
GB2328125B (en) * 1997-08-08 2002-04-10 Ericsson Telefon Ab L M Network control system
US6546405B2 (en) 1997-10-23 2003-04-08 Microsoft Corporation Annotating temporally-dimensioned multimedia content
US9118387B2 (en) * 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
US7184426B2 (en) * 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
DE69938025T2 (de) * 1998-09-01 2009-01-15 Alcatel Lucent Verfahren zur Fehlerschätzung in Informationsdatenübertragung
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US6622171B2 (en) 1998-09-15 2003-09-16 Microsoft Corporation Multimedia timeline modification in networked client/server systems
US6304295B1 (en) * 1998-09-18 2001-10-16 Sarnoff Corporation Region-based refresh strategy for video compression
KR100418874B1 (ko) * 1998-10-10 2004-04-17 엘지전자 주식회사 영상압축시스템에서영상데이터버퍼링방법
KR100418875B1 (ko) * 1998-10-10 2004-04-17 엘지전자 주식회사 영상데이터재전송방법
KR100363162B1 (ko) * 1998-11-02 2003-01-24 삼성전자 주식회사 영상신호의전송/복원방법및장치
US6629318B1 (en) * 1998-11-18 2003-09-30 Koninklijke Philips Electronics N.V. Decoder buffer for streaming video receiver and method of operation
EP1006689B1 (en) 1998-11-30 2008-02-06 Matsushita Electric Industries Co., Ltd. Packet retransmission control using priority information
GB2347038A (en) 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US6345375B1 (en) * 1999-02-24 2002-02-05 California Amplifier, Inc. Packet-based communication methods and systems having improved data throughput
US6973069B1 (en) * 1999-03-23 2005-12-06 Motorola, Inc. Method for transporting multimedia information in a communication system
US6574795B1 (en) * 1999-05-28 2003-06-03 Intel Corporation Reliable communication of data by supplementing a unidirectional communications protocol
KR100580158B1 (ko) * 1999-06-12 2006-05-15 삼성전자주식회사 화상 패킷 전송을 위한 무선통신 시스템
US7293280B1 (en) 1999-07-08 2007-11-06 Microsoft Corporation Skimming continuous multimedia content
US7313808B1 (en) 1999-07-08 2007-12-25 Microsoft Corporation Browsing continuous multimedia content
US6400724B1 (en) * 1999-07-16 2002-06-04 Qualcomm Inc. Method and apparatus for efficient data transmission in a voice-over-data communication system
US6792148B1 (en) * 1999-10-18 2004-09-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for providing a camera accessory with compression
US6683986B1 (en) * 1999-10-28 2004-01-27 Sharp Laboratories Of America, Inc. Efficient transmission of quarter-VGA images using DVC codecs
JP3403683B2 (ja) * 1999-11-26 2003-05-06 沖電気工業株式会社 画像符号化装置および方法
US7149359B1 (en) 1999-12-16 2006-12-12 Microsoft Corporation Searching and recording media streams
US6928655B1 (en) * 1999-12-16 2005-08-09 Microsoft Corporation Live presentation searching
US6868440B1 (en) 2000-02-04 2005-03-15 Microsoft Corporation Multi-level skimming of multimedia content using playlists
US6414938B1 (en) * 2000-02-14 2002-07-02 Motorola, Inc. Method and system for retransmitting data packets in a communication system having variable data rates
DE60020672T2 (de) * 2000-03-02 2005-11-10 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zur Wiederholung der Videodatenrahmen mit Prioritätsstufen
US6985966B1 (en) 2000-03-29 2006-01-10 Microsoft Corporation Resynchronizing globally unsynchronized multimedia streams
US7237254B1 (en) 2000-03-29 2007-06-26 Microsoft Corporation Seamless switching between different playback speeds of time-scale modified data streams
US6581183B1 (en) * 2000-03-30 2003-06-17 International Business Machines Corporation System and method for resynchronization of transmit and receive compression dictionaries
US7302490B1 (en) * 2000-05-03 2007-11-27 Microsoft Corporation Media file format to support switching between multiple timeline-altered media streams
US7079582B2 (en) * 2000-07-07 2006-07-18 Matsushita Electric Industrial Co., Ltd. Image coding apparatus and image coding method
JP2002027463A (ja) * 2000-07-07 2002-01-25 Matsushita Electric Ind Co Ltd 画像符号化装置及び方法
JP2002034021A (ja) * 2000-07-14 2002-01-31 Mitsubishi Electric Corp 画像信号蓄積再生装置および画像信号送信装置
EP1323308B1 (en) * 2000-08-15 2014-08-20 Polycom Israel Ltd. Delay reduction for transmission and processing of video data
JP3590949B2 (ja) * 2000-08-17 2004-11-17 松下電器産業株式会社 データ伝送装置およびデータ伝送方法
US7224702B2 (en) * 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
US7013346B1 (en) * 2000-10-06 2006-03-14 Apple Computer, Inc. Connectionless protocol
RU2236091C2 (ru) * 2000-10-21 2004-09-10 Самсунг Электроникс Ко., Лтд. Способ передачи/приема данных в системе передачи данных с гибридным запросом автоматического повторения
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
EP1211899A1 (en) * 2000-11-29 2002-06-05 TELEFONAKTIEBOLAGET L M ERICSSON (publ) A portable communications device
KR20040028648A (ko) * 2000-11-29 2004-04-03 텔레폰악티에볼라겟엘엠에릭슨(펍) 휴대용 통신 장치
US7024609B2 (en) * 2001-04-20 2006-04-04 Kencast, Inc. System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files
US7164680B2 (en) * 2001-06-04 2007-01-16 Koninklijke Philips Electronics N.V. Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
WO2003013004A2 (en) * 2001-07-27 2003-02-13 Koninklijke Philips Electronics N.V. Signal coding
US6693910B2 (en) * 2002-06-28 2004-02-17 Interdigital Technology Corporation System and method for avoiding stall of an H-ARQ reordering buffer in a receiver
GB0218961D0 (en) * 2002-08-15 2002-09-25 Koninkl Philips Electronics Nv Transmission method and system
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US20040252761A1 (en) * 2003-06-16 2004-12-16 Dilithium Networks Pty Limited (An Australian Corporation) Method and apparatus for handling video communication errors
US20050013589A1 (en) * 2003-07-14 2005-01-20 Microsoft Corporation Adding recording functionality to a media player
US7463646B2 (en) 2003-07-16 2008-12-09 Qlogic Corporation Method and system for fibre channel arbitrated loop acceleration
US7471635B2 (en) 2003-07-16 2008-12-30 Qlogic, Corporation Method and apparatus for test pattern generation
US7620059B2 (en) 2003-07-16 2009-11-17 Qlogic, Corporation Method and apparatus for accelerating receive-modify-send frames in a fibre channel network
US7525910B2 (en) 2003-07-16 2009-04-28 Qlogic, Corporation Method and system for non-disruptive data capture in networks
US7453802B2 (en) 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7558281B2 (en) 2003-07-21 2009-07-07 Qlogic, Corporation Method and system for configuring fibre channel ports
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7573909B2 (en) 2003-07-21 2009-08-11 Qlogic, Corporation Method and system for programmable data dependant network routing
US7630384B2 (en) 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7512067B2 (en) 2003-07-21 2009-03-31 Qlogic, Corporation Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7580354B2 (en) * 2003-07-21 2009-08-25 Qlogic, Corporation Multi-speed cut through operation in fibre channel switches
US7522522B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for reducing latency and congestion in fibre channel switches
US7522529B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for detecting congestion and over subscription in a fibre channel network
US7583597B2 (en) 2003-07-21 2009-09-01 Qlogic Corporation Method and system for improving bandwidth and reducing idles in fibre channel switches
US7525983B2 (en) 2003-07-21 2009-04-28 Qlogic, Corporation Method and system for selecting virtual lanes in fibre channel switches
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7466700B2 (en) 2003-07-21 2008-12-16 Qlogic, Corporation LUN based hard zoning in fibre channel switches
US7447224B2 (en) 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US7477655B2 (en) 2003-07-21 2009-01-13 Qlogic, Corporation Method and system for power control of fibre channel switches
US7796499B2 (en) * 2003-12-05 2010-09-14 Telefonaktiebolaget L M Ericsson (Publ) Method of and system for video fast update
US7564789B2 (en) 2004-02-05 2009-07-21 Qlogic, Corporation Method and system for reducing deadlock in fibre channel fabrics using virtual lanes
US7480293B2 (en) 2004-02-05 2009-01-20 Qlogic, Corporation Method and system for preventing deadlock in fibre channel fabrics using frame priorities
US7340167B2 (en) 2004-04-23 2008-03-04 Qlogic, Corporation Fibre channel transparent switch for mixed switch fabrics
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7498961B2 (en) * 2004-09-14 2009-03-03 Hewlett-Packard Development Company, L.P. Context identification using a denoised signal
US7271749B2 (en) * 2004-09-14 2007-09-18 Hewlett-Packard Development Company, L.P. Context-based denoiser that simultaneously updates probabilities for multiple contexts
US8259565B2 (en) * 2004-09-16 2012-09-04 Qualcomm Inc. Call setup in a video telephony network
US7533324B2 (en) * 2004-09-22 2009-05-12 Kencast, Inc. System, method and apparatus for FEC encoding and decoding
US7593997B2 (en) 2004-10-01 2009-09-22 Qlogic, Corporation Method and system for LUN remapping in fibre channel networks
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7411958B2 (en) 2004-10-01 2008-08-12 Qlogic, Corporation Method and system for transferring data directly between storage devices in a storage area network
CN100393133C (zh) * 2004-12-30 2008-06-04 中兴通讯股份有限公司 一种视频序列中运动物体的分割方法
US7519058B2 (en) 2005-01-18 2009-04-14 Qlogic, Corporation Address translation in fibre channel switches
US7739580B1 (en) 2005-02-17 2010-06-15 Kencast, Inc. System, method and apparatus for reducing blockage losses on information distribution networks
US9237347B2 (en) * 2005-03-21 2016-01-12 The Regents Of The University Of California Systems and methods for video compression for low bit rate and low latency video communications
US8560753B1 (en) 2005-03-30 2013-10-15 Teradici Corporation Method and apparatus for remote input/output in a computer system
US7516255B1 (en) 2005-03-30 2009-04-07 Teradici Corporation Method and apparatus for providing a low-latency connection between a data processor and a remote graphical user interface over a network
KR100686157B1 (ko) * 2005-05-04 2007-02-26 엘지전자 주식회사 디지털 멀티미디어 데이터 녹화기능을 갖는 이동 단말기 및 이를 이용한 디지털 멀티미디어 데이터 녹화방법
US7592936B2 (en) * 2005-07-12 2009-09-22 Hewlett-Packard Development Company, L.P. Input distribution determination for denoising
US7747921B2 (en) * 2005-08-05 2010-06-29 Sony Corporation Systems and methods for transmitting data over lossy networks
US8223643B1 (en) 2005-09-06 2012-07-17 Kencast, Inc. Method for packet-level FEC encoding a stream of source packets using shifted interleaving
KR100640487B1 (ko) * 2005-09-08 2006-11-01 삼성전자주식회사 이동 통신 단말기의 화상 통화 서비스 수행 방법
US8102878B2 (en) * 2005-09-29 2012-01-24 Qualcomm Incorporated Video packet shaping for video telephony
US8842555B2 (en) * 2005-10-21 2014-09-23 Qualcomm Incorporated Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
US8406309B2 (en) * 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
US8514711B2 (en) * 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control
US8548048B2 (en) * 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US7548560B1 (en) 2006-02-27 2009-06-16 Qlogic, Corporation Method and system for checking frame-length in fibre channel frames
US7656410B2 (en) * 2006-03-31 2010-02-02 Intel Corporation Image buffering techniques
EP2039107A1 (en) * 2006-06-29 2009-03-25 Telecom Italia S.p.A. Method and apparatus for improving bandwith exploitation in real-time audio/video communications
US8707139B2 (en) 2006-10-18 2014-04-22 Kencast, Inc. Systems, methods, apparatus, and computer program products for providing forward error correction with low latency
KR20120034084A (ko) * 2007-01-10 2012-04-09 콸콤 인코포레이티드 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조
US8553757B2 (en) * 2007-02-14 2013-10-08 Microsoft Corporation Forward error correction for media transmission
US7949778B2 (en) * 2007-03-27 2011-05-24 Kencast, Inc. Systems, methods, apparatus and computer program products for providing packet-level FEC with higher throughput using user datagram protocol (UDP)
US8055779B1 (en) 2007-05-10 2011-11-08 Adobe Systems Incorporated System and method using data keyframes
US9979931B2 (en) * 2007-05-30 2018-05-22 Adobe Systems Incorporated Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device
JP2008311831A (ja) * 2007-06-13 2008-12-25 Panasonic Corp 動画像通信装置、動画像通信システムおよび動画像通信用の半導体集積回路
CN101689959A (zh) * 2007-07-10 2010-03-31 三菱电机株式会社 发送装置及通信系统
PL2183867T3 (pl) * 2007-08-14 2014-10-31 Lg Electronics Inc Sposób transmisji danych
KR101531503B1 (ko) * 2007-09-10 2015-06-26 엘지전자 주식회사 다중 harq를 이용한 신호 전송 방법
US8797850B2 (en) * 2008-01-10 2014-08-05 Qualcomm Incorporated System and method to adapt to network congestion
US8418034B2 (en) * 2008-02-08 2013-04-09 Kencast, Inc. Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
JP5207895B2 (ja) * 2008-09-17 2013-06-12 キヤノン株式会社 送信装置、受信装置、及び方法、プログラム
EP2247154B1 (en) * 2009-04-27 2012-05-16 Telefonaktiebolaget L M Ericsson (PUBL) Technique for coordinated RLC and PDCP processing
ATE540498T1 (de) * 2009-04-27 2012-01-15 Ericsson Telefon Ab L M Verfahren zur durchführung einer schicht 2 verarbeitung unter verwendung einer verteilten speicherarchitektur
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
KR101345098B1 (ko) * 2009-12-18 2013-12-26 한국전자통신연구원 실시간 영상품질 측정 장치 및 방법
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
KR20130058962A (ko) * 2011-11-28 2013-06-05 한국전자통신연구원 지그비 네트워크 표준 프로토콜 기반의 무선 영상 통신 장치 및 방법
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
US9369724B2 (en) * 2014-03-31 2016-06-14 Microsoft Technology Licensing, Llc Decoding and synthesizing frames for incomplete video data
DE112015001607T5 (de) * 2014-04-01 2017-01-05 Lattice Semiconductor Corporation Orthogonale Datenorganisation für Fehlerdetektion und -korrektur in seriellen Videoschnittstellen
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US10284877B2 (en) * 2015-01-16 2019-05-07 Hewlett Packard Enterprise Development Lp Video encoder
CN105141876B (zh) * 2015-09-24 2019-02-22 京东方科技集团股份有限公司 视频信号转换方法、视频信号转换装置以及显示系统
FR3041850B1 (fr) * 2015-09-30 2018-05-25 Vogo Procede d'encodage de flux de donnees video basees sur des groupements d'images (gop)
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
US11252429B2 (en) * 2018-04-27 2022-02-15 Ati Technologies Ulc Low-latency consumption of an encoded video bitstream
US11843772B2 (en) 2019-12-06 2023-12-12 Ati Technologies Ulc Video encode pre-analysis bit budgeting based on context and features
US11070829B2 (en) 2019-12-16 2021-07-20 Ati Technologies Ulc Reducing latency in wireless virtual and augmented reality systems
CN115314157B (zh) * 2022-07-19 2023-10-24 烽火通信科技股份有限公司 一种以太网成帧方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4774587A (en) * 1987-06-02 1988-09-27 Eastman Kodak Company Still video transceiver processor
US4829524A (en) * 1985-02-28 1989-05-09 Canon Kabushiki Kaisha Data communication apparatus
US4908828A (en) * 1987-12-29 1990-03-13 Indesys, Inc. Method for error free message reception
JPH03135182A (ja) * 1989-10-20 1991-06-10 Hitachi Ltd 映像伝送方式
US5077742A (en) * 1988-01-11 1991-12-31 Ricoh Company, Ltd. Error-corrected facsimile communication control system
US5105423A (en) * 1988-05-17 1992-04-14 Ricoh Company, Ltd. Digital transmission device having an error correction mode and method for shifting down a data transmission rate

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE31182E (en) * 1976-11-10 1983-03-15 International Telephone And Telegraph Corporation Packet-switched data communication system
US5128776A (en) * 1989-06-16 1992-07-07 Harris Corporation Prioritized image transmission system and method
KR100238133B1 (ko) * 1993-05-31 2000-01-15 윤종용 영상전화기의 화상 복구 장치 및 방법
JPH07162830A (ja) * 1993-12-10 1995-06-23 Ricoh Co Ltd テレビ会議通信装置の制御方法
US5481566A (en) * 1993-12-29 1996-01-02 At&T Corp. Method and apparatus to increase efficiency of systematic codes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829524A (en) * 1985-02-28 1989-05-09 Canon Kabushiki Kaisha Data communication apparatus
US4774587A (en) * 1987-06-02 1988-09-27 Eastman Kodak Company Still video transceiver processor
US4908828A (en) * 1987-12-29 1990-03-13 Indesys, Inc. Method for error free message reception
US5077742A (en) * 1988-01-11 1991-12-31 Ricoh Company, Ltd. Error-corrected facsimile communication control system
US5105423A (en) * 1988-05-17 1992-04-14 Ricoh Company, Ltd. Digital transmission device having an error correction mode and method for shifting down a data transmission rate
JPH03135182A (ja) * 1989-10-20 1991-06-10 Hitachi Ltd 映像伝送方式

Also Published As

Publication number Publication date
US5768533A (en) 1998-06-16
DE19635116C2 (de) 2001-05-10
DE19635116A1 (de) 1997-03-06
KR970019219A (ko) 1997-04-30

Similar Documents

Publication Publication Date Title
KR100552343B1 (ko) 세그먼트프레임을사용하는비디오코딩및채널에러를극복하기위한재전송
US7006576B1 (en) Video coding
EP1157562B1 (en) Video coding
US6744924B1 (en) Error concealment in a video signal
JP2006524948A (ja) ピクチャをビットストリームにて符号化する方法、ビットストリームからピクチャを復号化する方法、ピクチャをビットストリームにて符号化するエンコーダ、ピクチャをビットストリームにて符号化するエンコーダを備える送信装置およびシステム、ビットストリームからピクチャを復号化するデコーダ、ならびに、ビットストリームからピクチャを復号化するデコーダを備える受信装置およびクライアント
EP3300378B1 (en) Method for transmitting video and data transmitter
US6697425B1 (en) Dynamic image encoding apparatus and method for encoding a dynamic image
US6993079B2 (en) Variable length coding method
KR100363550B1 (ko) 동영상 인코딩 장치 및 무선 단말기의 동영상 디코딩 장치
EP0814612A2 (en) Method and apparatus of moving picture transmission
US20050123047A1 (en) Video processing
JP2007166479A (ja) 動画像表示装置および動画像表示方法
EP1648171A1 (en) A method of encoding and decoding of data packets using length field
EP1349398A1 (en) Video processing
JP2002223448A (ja) 画像データ送信機、画像データ受信機および画像データ通信システム
JPH11205787A (ja) 画像通信方法および画像通信装置
JP2002027476A (ja) 画像送受信方法及び画像通信システム
JPH09312846A (ja) 動画像の符号化方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090205

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee