KR101477315B1 - 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘 - Google Patents

프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘 Download PDF

Info

Publication number
KR101477315B1
KR101477315B1 KR1020097025960A KR20097025960A KR101477315B1 KR 101477315 B1 KR101477315 B1 KR 101477315B1 KR 1020097025960 A KR1020097025960 A KR 1020097025960A KR 20097025960 A KR20097025960 A KR 20097025960A KR 101477315 B1 KR101477315 B1 KR 101477315B1
Authority
KR
South Korea
Prior art keywords
frame
frames
dependency
component
sequence number
Prior art date
Application number
KR1020097025960A
Other languages
English (en)
Other versions
KR20100031672A (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 KR20100031672A publication Critical patent/KR20100031672A/ko
Application granted granted Critical
Publication of KR101477315B1 publication Critical patent/KR101477315B1/ko

Links

Images

Classifications

    • 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
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

청구된 주제는 실시간 비디오 통신과 관련하여 프레임 종속성 구조의 설명, 통신, 이용 등을 용이하게 하는 시스템 및/또는 방법을 제공한다. 예를 들어, 프로토콜은 송신기에서 수신기로 종속성 구조를 통신하기 위해 이용될 수 있다. 더구나, 수신기 측에서의 메커니즘은 이전의 프레임 손실로 인해 표시된 경우에 아티팩트를 갖고 렌더링될 프레임(들)을 검출할 수 있고; 이 메커니즘은 프레임의 종속성 구조에 관한 수신기 측의 지식을 잘 활용할 수 있다.
Figure R1020097025960
실시간 비디오 통신, 프레임 종속성 구조, 아티팩트, 프레임 유형, 순서 번호, 참조 프레임 번호

Description

프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘{MECHANISMS TO CONCEAL REAL TIME VIDEO ARTIFACTS CAUSED BY FRAME LOSS}
본 발명은 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘에 관한 것이다.
유사 이래, 기술의 발전은 일반적인 작업의 단순화를 가능하게 했고, 및/또는 이러한 작업을, 증가된 효율, 처리량 등을 제공할 수 있는 더욱 정교한 방식으로 처리하는 것을 가능하게 했다. 예를 들어, 기술의 발전은 종종 수동으로 실행된 작업의 자동화, 정보의 광범위한 보급의 용이성 증가, 및 대면(face to face) 미팅이나 편지 보내기와 대조적으로 통신하는 여러 가지 방식을 초래했다. 다른 예에 따르면, 비디오 통신은 통신이 발생할 수 있는 더욱 보편적인 방식이 되었는데, 여기에서 비디오 데이터(예를 들어, 대응하는 오디오 데이터가 있거나 없음)는 캡처되어, 뷰잉하기 위한 다른 위치로 전송될 수 있다. 이와 같이, 비디오 데이터는 실시간으로 통신되고, 메모리에 저장되며, 나중에 전송되는 등등으로 될 수 있다.
비디오 데이터가 실시간으로 획득되어 전송되는 비디오 통신은, 예를 들어 원격 회의를 위해 잘 활용될 수 있다. 원격 회의(예를 들어, 음성 및/또는 영상 회의...)는 다양한 지리적 위치에 있는 다수의 참가자가 이동을 하지 않고도 함께 회의를 할 수 있게 한다. 원격 회의 기술의 이용은 예를 들어, 원격 회의에 의해 미팅을 하는 것이 실제로 사람을 만나는 미팅에 비해 참석하는데 필요한 시간, 비용 등을 줄일 수 있기 때문에, 기업이 비용을 절감시키는 동시에 효율을 증가시킬 수 있게 할 수 있다.
그러나, 종래의 비디오 통신 기술은 프레임 손실에 의해 야기된 임의의 인식된 비디오 왜곡일 수 있는 아티팩트(artifact)가 렌더링되기 쉽다. 프레임 손실의 발생을 줄이기 위해 수많은 기술이 개발되었을 지라도, 통신 채널(예를 들어, 인터넷 또는 임의의 다른 유형의 네트워크를 통해 전송된 데이터...)의 고유 손실률은 실시간 비디오 통신에 대해 어느 정도의 프레임 손실을 계속 일으킨다. 예를 들어, 프레임 손실은 네트워크 패킷 손실, 비순차 패킷 등에 의해 야기될 수 있다. 더구나, 일반적인 비디오 인코딩 및 전송(예를 들어, MPEG 비디오...)에서, 이전 프레임 손실은 프레임들 사이의 종속성으로 인해 다음 프레임들에서 왜곡된 이미지를 초래할 수 있다. 프레임 손실이, 예를 들어 최대 10초의 비디오 아티팩트를 일으키는 것은 보기 드문 일이 아니다. 지금까지, 디코더는 통상적으로 어느 프레임이 프레임 손실로 인한 아티팩트를 갖는지 식별할 수 없었다. 따라서, 실시간 비디오 통신 시스템은 어느 프레임이 아티팩트를 갖는지에 관한 이해가 부족하기 때문에, 종종, 아티팩트가 있는 이들 프레임을 은폐, 폐기 등을 하기보다는 오히려 손상된 프레임을 표시한다.
다음은 여기에 설명된 몇몇 실시양상의 기본적인 이해를 제공하기 위해 단순화되 요약을 제시한다. 이 요약은 청구된 주제의 광범위한 개요가 아니다. 이것은 청구된 주제의 핵심적이거나 중대한 요소를 식별하고자 하는 것도 아니고 청구된 주제의 범위를 나타내고자 하는 것도 아니다. 그 유일한 목적은 나중에 설명되는 더욱 상세한 설명 부분의 서론으로서 단순화된 형태로 몇몇 개념을 제시하기 위한 것이다.
청구된 주제는 실시간 비디오 통신과 관련하여 프레임 종속성 구조의 설명, 통신, 이용 등을 용이하게 하는 시스템 및/또는 방법에 관한 것이다. 예를 들어, 프로토콜은 종속성 구조를 송신기에서 수신기로 통신하기 위해 이용될 수 있다. 더구나, 수신기 측에서의 메커니즘은 이전의 프레임 손실로 인해 표시된 경우에 아티팩트를 갖고 렌더링될 프레임(들)을 검출할 수 있고; 이 메커니즘은 프레임의 종속성 구조에 관한 수신기 측의 지식을 잘 활용할 수 있다.
청구된 주제의 다양한 실시양상에 따르면, 송신 컴포넌트는 인코딩된 비디오 프레임의 스트림을 수신 컴포넌트에 전송할 수 있다. 각각의 프레임은 다수의 패킷으로서 통신될 수 있다. 더구나, 각 패킷은 특정 프레임이 의존하는 프레임(들)에 대응하는 참조 프레임 번호(들)뿐만 아니라, 관련된 특정 프레임을 식별하는 순서 번호를 포함할 수 있다. 그러므로, 각 패킷은 프레임들 사이의 종속성을 재구성하고, 프레임 손실을 식별하며, 및/또는 이전 프레임의 손실에 기초하여 아티팩트를 갖는 프레임의 표시를 줄이기 위해, 수신 컴포넌트에 의해 해석되고 이용될 수 있는 종속성 구조의 일부를 통신할 수 있다. 오히려, 비디오는 아티팩트를 포함하는 프레임과 관련된 기간 동안 정지될 수 있다. 따라서, 인식된 비디오 품질은 개선될 수 있다. 다른 예시에 따르면, 아티팩트로 인해 스킵된 프레임이 기록(log)될 수 있고, 및/또는 보고서가 질적 모델에 기초하여 생성될 수 있는데, 이러한 질적 모델은 얼마나 많은 수의 프레임이 아티팩트를 포함하는지 측정하고, 에러 은폐로 인해 정지된(frozen) 비디오의 퍼센트를 측정한다.
다음의 상세한 설명 및 첨부 도면은 청구된 주제의 소정의 예시적인 실시양상을 상세하게 설명한다. 그러나, 이들 실시양상은 청구된 주제의 원리가 이용될 수 있는 여러 방식 중의 일부만을 나타내고, 청구된 주제는 그러한 모든 실시양상 및 그 등가물을 포함하고자 한다. 그외 다른 장점 및 새로운 특징은 도면과 함께 고려할 때 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 실시간 비디오 통신을 위해 프레임들 사이의 종속성에 관련된 정보를 제공하고 이용하는 예시적인 시스템을 도시한 블록도.
도 2는 다양한 실시양상에 따라 실시간 비디오 통신에서 이용된 예시적인 비디오 스트림 프레이밍 패턴을 도시한 도면.
도 3은 I 프레임, B 프레임, P 프레임 및 SP 프레임을 포함하는 예시적인 비디오 스트림 패턴을 도시한 표.
도 4는 실시간 비디오 프레임의 손실을 관리하는 예시적인 시스템의 블록도.
도 5 및 6은 예시적인 페이로드 헤더를 도시한 도면.
도 7은 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐할 것인지 의 여부를 추론하는 예시적인 시스템의 블록도.
도 8은 실시간 비디오 통신 프레임들 사이의 종속성 구조의 설명을 용이하게 하는 예시적인 방법을 나타낸 도면.
도 9는 프레임 손실에 기초한 아티팩트의 은폐를 용이하게 하는 예시적인 방법을 나타낸 도면.
도 10은 청구된 주제의 새로운 실시양상이 이용될 수 있는 예시적인 네트워킹 환경을 도시한 도면.
도 11은 청구된 주제에 따라 이용될 수 있는 예시적인 운영 환경을 도시한 도면.
청구된 주제는 도면과 관련하여 설명되는데, 도면 전반을 통해서 유사한 참조 번호는 유사한 구성요소를 나타내기 위해 사용된다. 설명을 위한 다음의 상세한 설명 부분에서, 다양한 특정 상세는 본 발명의 충분한 이해를 제공하기 위해 설명된다. 그러나, 청구된 주제가 이들 특정 상세 없이도 실시될 수 있다는 것을 분명히 알 수 있을 것이다. 그외 다른 경우에, 잘 알려진 구조 및 장치는 본 발명의 설명을 용이하게 하기 위해 블록도 형태로 도시된다.
여기에서 사용된 바와 같이, "컴포넌트", "시스템" 등의 용어는 하드웨어, 소프트웨어(예를 들어, 실행중) 및/또는 펌웨어와 같은 컴퓨터 관련 엔티티를 나타내고자 하는 것이다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 프로세스, 프로세서, 개체, 실행 파일, 프로그램 및/또는 컴퓨터일 수 있다. 예시적으로, 서 버상에서 실행되는 애플리케이션 및 서버는 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 내에 존재할 수 있고, 하나의 컴포넌트는 하나의 컴퓨터상에 국한될 수 있고, 및/또는 2개 이상의 컴퓨터들 사이에 분산될 수 있다.
더욱이, 청구된 주제는 개시된 주제를 구현하도록 컴퓨터를 제어하기 위한 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기술을 사용하는 방법, 장치 또는 제조품(article of manufacture)으로서 구현될 수 있다. 여기에서 사용된 "제조품"이라는 용어는 임의의 컴퓨터 판독가능 장치, 반송파 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하고자 하는 것이다. 예를 들어, 컴퓨터 판독가능 매체는 자기 저장 장치(예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립...), 광 디스크(예를 들어, CD(compact disk), DVD(digital versatile disk)...), 스마트 카드, 및 플래시 메모리 장치(예를 들어, 카드, 스틱, 키 드라이브...)를 포함할 수 있지만, 이에 제한되는 것은 아니다. 부수적으로, 반송파는 전자 메일을 송수신할 때 또는 인터넷 또는 LAN(local area network)과 같은 네트워크를 액세스할 때 사용된 것들과 같은 컴퓨터 판독가능 전자 데이터를 전달하기 위해 이용될 수 있다는 것을 알 수 있을 것이다. 물론, 본 분야에 숙련된 기술자들은 청구된 주제의 범위 또는 정신을 벗어나지 않고서 이 구성에 많은 변경이 행해질 수 있다는 것을 인식할 것이다. 더구나, "예시적"이라는 단어는 예, 보기 또는 예시로서 쓰인다는 것을 나타내기 위해 여기에서 사용된다. "예시적"으로 여기에서 설명된 임의의 양상 또는 디자인은 반드시 그외 다른 양상 또는 디자인보다 양호하거나 유리한 것으로 해석될 필요 는 없다.
이제, 도면을 참조하면, 도 1은 실시간 비디오 통신을 위해 프레임들 사이의 종속성에 관련된 정보를 제공하고 이용하는 시스템(100)을 도시한 것이다. 시스템(100)은 임의의 유형의 접속을 통해 임의의 유형의 데이터(예를 들어, 비디오, 오디오, 이미지, 텍스트, 문서 등에 관련됨)를 통신할 수 있는 송신 컴포넌트(102) 및 수신 컴포넌트(104)를 포함한다. 예를 들어, 송신 컴포넌트(102)는 수신 컴포넌트(104)에 실시간으로(예를 들어, 실시간 전송 프로토콜(RTP)을 이용하여) 비디오 데이터(예를 들어, 및/또는 오디오 데이터)를 인코딩하여 전송할 수 있고; 따라서, 비디오 프레임의 스트림이 전송될 수 있다. 하나의 송신 컴포넌트(102) 및 하나의 수신 컴포넌트(104)가 도시되지만, 시스템(100)은 사실상 송신 컴포넌트(102)와 유사한 임의 수의 송신 컴포넌트 및/또는 수신 컴포넌트(104)와 유사한 임의 수의 수신 컴포넌트를 포함할 수 있다는 것을 알 수 있을 것이다. 더구나, 시스템(100)은 서로 다른 시간에, 송신 컴포넌트(102)가 수신 컴포넌트로 바뀌고, 및/또는 수신 컴포넌트(104)가 송신 컴포넌트로 바뀌도록 하는 스위칭(예를 들어, 특정 시간에 액티브 스피커와 관련된 컴포넌트(들)(102-104)의 동일성에 기초한 스위칭, 수동 스위칭...)을 가능하게 할 수 있다. 송신 컴포넌트(102) 및/또는 수신 컴포넌트(104)는 퍼스널 컴퓨터, 휴대폰, 스마트 폰, 랩톱, 핸드헬드 통신 장치, 핸드헬드 컴퓨팅 장치, 게이밍 장치, 개인용 정보 단말기(PDA), 전용 원격회의 시스템, 소비자 제품, 자동차 및/또는 임의의 다른 적합한 장치일 수 있다.
시스템(100)은 임의의 유형의 네트워크 아키텍처를 이용할 수 있다는 것을 알 수 있을 것이다. 그러므로, 예를 들어, 송신 컴포넌트(102) 및 수신 컴포넌트(104)는 피어 투 피어 아키텍처를 이용하여 그들 사이에서 데이터를 전송할 수 있다(예를 들어, 송신 컴포넌트(102) 및 수신 컴포넌트(104)는 점 대 점 비디오 통신 등을 위한 네트워크 접속을 통해 서로 직접 통신하는 종점일 수 있다). 다른 예시에 따르면, 송신 컴포넌트(102)와 수신 컴포넌트(104) 사이에서 전송된 데이터는 다른 컴포넌트(들)(도시 생략)(예를 들어, 송신 컴포넌트(102) 및 수신 컴포넌트(104)와 같은 몇 개의 종점을 상호접속하여, 그들 사이의 데이터 라우팅을 가능하게 하는 하는 브리지일 수 있는 오디오/비디오 다지점 제어 유닛(audio/video multi-point control unit: AVMCU)...)를 포함하는 네트워크를 통해 이동할 수 있다. 한 예에 따르면, 다자간(multi-party) 원격 회의는 AVMCU를 포함하는 네트워크 아키텍처를 잘 활용할 수 있다(예를 들어, 다자간 비디오 통신은 AVMCU 서버의 프레임 재계수(recount) 및 종속성 재계산/재분포(recalculation/repopulation)를 초래하지 않고 시스템(100)을 이용할 수 있다).
송신 컴포넌트(102)는 프레임 식별 컴포넌트(106) 및 프레임 종속성 컴포넌트(108)를 포함할 수 있다. 프레임 식별 컴포넌트(106)는 송신 컴포넌트(102)에 의해 전송될 프레임의 유형(예를 들어, 아래의 도 2에서 설명된 것과 같은 I 프레임, SP 프레임, P 프레임, B 프레임 등)을 판정할 수 있다. 한 예에 따르면, 프레임 식별 컴포넌트(106)는 (예를 들어, 프레임의 시간적 순서 등에 기초하여) 프레임에 유형을 할당할 수 있는 종속성 구조를 이용할 수 있다. 더구나, 프레임 식별 컴포넌트(106)는 전송될 프레임에 고유 순서 번호를 할당할 수 있다. 그러므로, 프레임 식별 컴포넌트(106)는 프레임에 포함된 각 패킷의 페이로드 헤더 내에 고유 순서 번호(예를 들어, 프레임 계수)를 인코딩할 수 있게 할 수 있다.
프레임 종속성 컴포넌트(108)는 송신 컴포넌트(102)에 의해 전송될 프레임의 종속성을 평가할 수 있다. 종속성은 프레임의 유형에 기초할 수 있고; 따라서, 프레임 종속성 컴포넌트(108)는 그 프레임의 종속성을 해독하기 위해 프레임 식별 컴포넌트(108)에 의해 판정된 프레임의 유형을 이용할 수 있다. 프레임 종속성 컴포넌트(108)는 또한 프레임의 종속성을 평가하기 위해 종속성 구조를 이용할 수 있다. 한 예에 따르면, 프레임 종속성 컴포넌트(108)는 프레임의 각 패킷의 페이로드 헤더 내에 프레임 종속성 정보(예를 들어, 참조 프레임 번호(들)...)를 인코딩할 수 있게 할 수 있다.
프레임 식별 컴포넌트(106) 및 프레임 종속성 컴포넌트(108)를 이용함으로써, 송신 컴포넌트(102)는 프레임 종속성 구조를 설명하는 메커니즘을 제공할 수 있다. 더구나, 이 프레임 종속성 구조는 (예를 들어, 여기에 설명된 프로토콜을 통해) 수신 컴포넌트(104)에 통신될 수 있다. 이에 반해, 종래의 기술은 종종, 수신 컴포넌트(104)가 프레임 종속성 구조를 이해하고, 해석하며, 이용하는 등등을 할 수 있는 방식을 제공하지 못한다).
수신 컴포넌트(104)는 종속성 재구성 컴포넌트(110), 손실 평가 컴포넌트(112) 및 아티팩트 은폐 컴포넌트(114)를 더 포함할 수 있다. 종속성 재구성 컴포넌트(110)는 다수의 프레임 사이의 종속성 구조를 재조립하기 위해 (예를 들어, 페이로드 헤더 내의) 획득된 프레임에 포함되어 있는 데이터를 평가할 수 있다. 예를 들어, 프레임 순서 번호, 및 수신된 프레임과 관련된 참조 프레임 번호는 종속성 재구성 컴포넌트(110)가 프레임들 사이의 종속성을 분석할 수 있게 할 수 있다.
게다가, 손실 평가 컴포넌트(112)는 송신 컴포넌트(102)에 의해 전송된 프레임의 누락을 식별할 수 있다. 한 예에 따르면, 손실 평가 컴포넌트(112)는 프레임 도착, 수신된 프레임 내의 손상 등을 추적할 수 있다. 다른 예시로서, 송신 컴포넌트(102)의 프레임 식별 컴포넌트(106)에 의해 포함된 프레임의 순서 번호는 각 프레임이 성공적으로 수신되었는 지의 여부를 판정하기 위해 손실 평가 컴포넌트(112)에 의해 평가될 수 있다. 그러므로, 손실 평가 컴포넌트(112)는 예를 들어, 송신 컴포넌트(102)에서 할당된 프레임 1, 2 및 4가 수신 컴포넌트(104)에 의해 적절하게 획득되었지만, 프레임 3이 수신되지 않았다(예를 들어, 프레임 3으로부터의 하나 이상의 패킷이 손실되고, 순서가 맞지 않으며, 손상되는 등등으로 됨)는 것을 식별할 수 있다.
더구나, 아티팩트 은폐 컴포넌트(114)는 손실된 프레임의 유형 및 순서 내의 위치에 기초하여 프레임 손실의 영향을 분석한다. 더욱이, 아티팩트 은폐 컴포넌트(114)는 아티팩트를 표시하기보다는 오히려 렌더링된 출력을 멈출 수 있게 할 수 있으므로; 손상된 프레임은 비디오 아티팩트가 인식 품질(예를 들어, 심리적으로 느끼는 시각적 품질)에 상당히 부정적인 영향을 미칠 수 있기 때문에, 아티팩트를 갖고 표시되기보다는 오히려 은폐되고, 폐기되는 등등으로 될 수 있다. 아티팩트 은폐 컴포넌트(114)는 어느 프레임이 프레임 손실로 인해 아티팩트를 나타낼 수 있 는지 판정하기 위해, 종속성 재구성 컴포넌트(110)에 의해 판별된 종속성 구조 및/또는 손실 평가 컴포넌트(112)에 의해 식별된 손실 프레임을 이용할 수 있다. 더구나, 아티팩트 은폐 컴포넌트(114)는 표시된 경우에 아티팩트를 포함하는 것으로 식별된 프레임을 숨길 수 있다. 그러므로, 아티팩트 은폐 컴포넌트(114)는 아티팩트를 포함하는 프레임을 표시하기보다는 오히려 (예를 들어, 렌더링된 표시의 정지를 통해) 연장된 시간 동안 아티팩트가 없는 프레임을 계속 표시할 수 있게 할 수 있다. 송신 컴포넌트(102)로부터 통신된 종속성 구조를 잘 활용함으로써, 아티팩트 은폐 컴포넌트(114)는 비디오를 정지시키기 위한 대응하는 시간량을 결정할 수 있는 반면; 종래의 기술은 통상적으로 프레임 손실 효과의 한도를 식별할 수 없다.
송신 컴포넌트(102) 및/또는 수신 컴포넌트(104)는 각각의 인터페이스 컴포넌트(도시 생략)를 포함할 수 있다는 것을 알 수 있을 것이다. 인터페이스 컴포넌트들은 그들 사이의 상호작용을 가능하게 하기 위해 다양한 어댑터, 커넥터, 채널, 통신 경로 등을 잘 활용할 수 있다.
이제, 도 2를 참조하면, 다양한 실시양상에 따라 실시간 비디오 통신에서 이용된 예시적인 비디오 스트림 프레이밍 패턴(200)이 도시된다. 다양한 유형의 프레임은 비디오 인코딩을 위해 지원될 수 있다. 더구나, 도 2에 도시된 화살표는 각각의 프레임의 종속성(예를 들어, 참조 프레임)을 나타낸다. 예를 들어, 프레이밍 패턴(200)에 나타낸 바와 같이, 프레임은 I 프레임(intra frame), P 프레임(prediction frame), B 프레임(bidirectional frame) 또는 SP 프레임(super prediction frame)일 수 있다. 프레이밍 패턴(200)은 한 예로서 제공되고, 청구된 주제는 이에 제한되지 않는다는 것을 알 수 있을 것이다(예를 들어, 임의의 수의 프레임이 I 프레임 사이에 포함될 수 있고, 더 많거나 적은 프레임 유형이 이용될 수 있으며, 다른 종속성이 이용될 수 있는 등등으로 될 수 있다).
I 프레임은 임의의 다른 프레임에 의존하지 않는 독립된 프레임이다. I 프레임은 정적으로 인코딩되고, (예를 들어, 다른 유형의 프레임에 비해) 상당한 양의 세부 정보 및 내용을 가지며, 통상적으로 다른 유형의 프레임에 비해 크기가 크다. SP 프레임은 이전의 I 프레임 또는 SP 프레임과의 비교에 기초하여 인코딩된 차 정보(예를 들어, 델타)를 포함하므로; 프레이밍 패턴(200)에 나타낸 바와 같이, 특정 SP 프레임은 특정 SP 프레임에 마침 가장 가깝게 있는 이전의 I 프레임 또는 이전의 SP 프레임에 의존한다(예를 들어, SP5는 I1을 참조하고, SP9는 SP5를 참조하는 등등으로 된다). 근접성은 할당된 순서 번호(예를 들어, 프레임 계수)에 기초하여 평가될 수 있다. P 프레임은 이전의 I 프레임, SP 프레임 또는 P 프레임과의 비교에 기초하여 인코딩된 차 정보(예를 들어, 델타)를 포함한다. 더구나, B 프레임은 이전의 I 프레임, SP 프레임 또는 P 프레임 및 다음의 P 프레임 또는 SP 프레임과의 양방향 비교에 기초하여 인코딩된 차 정보(예를 들어, 델타)를 포함한다. 따라서, B 프레임은 2개의 다른 프레임을 참조한다.
I 프레임은 다음 I 프레임까지 계속되는 GOP(group of pictures)를 시작한다. GOP는 임의의 수의 프레임(예를 들어, 약 150개...)을 포함할 수 있다는 것이 고려된다. GOP 내의 I 프레임만이 GOP 내의 다른 프레임으로부터 독립적이고; 예를 들어, I1 및 I13은 임의의 다른 프레임을 참조하지 않는다. 더구나, 나머지 프 레임(예를 들어, SP 프레임, P 프레임, B 프레임...)은 전체 데이터보다는 오히려 델타가 인코딩될 수 있도록 다른 프레임에 의존한다. 더욱이, 각 GOP는 다른 GOP와 관계없다.
프레이밍 패턴(200) 내의 각 프레임은 1 내지 N개의 패킷을 포함할 수 있는데, N은 사실상 임의의 정수일 수 있다. 더욱이, 패킷의 수는 (예를 들어, 비디오의 콘텐츠에 기초할 수 있는) 프레임 크기의 함수일 수 있다. (예를 들어, 도 1의 손실 평가 컴포넌트(112)에 의해 판정된) 임의의 패킷의 손실은 전체 프레임이 빠지게 할 수 있다.
더구나, 프레임 손실의 영향은 손실된 프레임의 유형 및 위치에 의존한다. 특히, 손실된 프레임을 참조하는 프레임은 아티팩트를 포함할 것이다. 그러므로, I 프레임이 손실되는 경우에, 현재의 GOP 내의 모든 다음 프레임이 아티팩트를 가질 것이고; 다음 I 프레임만이 보정을 제공할 것이다. 다른 예에 따르면, SP 프레임이 손실되는 경우에, 그 SP 프레임 다음의 모든 프레임은 현재의 GOP의 끝까지 아티팩트를 가질 것이다(예를 들어, 다음 I 프레임이 SP 프레임의 손실을 보정할 것이다). 다른 예시에 따르면, P 프레임이 손실되는 경우에, 항상 공교롭게도 더욱 빨리 나타나는 다음 SP 프레임 또는 I 프레임 이전의 모든 프레임이 아티팩트를 나타낼 것이다. 더욱이, B 프레임만은 하나의 프레임(예를 들어, 다른 유형의 프레임이 B 프레임을 조금도 참조하지 않기 때문에 B 프레임 자체)의 손실을 야기하므로; 이러한 손실의 영향은 전파되지 않고, 어떤 아티팩트도 생기지 않는다.
이제, 도 3을 참조하면, I 프레임, B 프레임, P 프레임 및 SP 프레임을 포함 하는 예시적인 비디오 스트림 패턴을 나타낸 표(300)가 도시된다. 표(300)는 종속성 구조에 관한 전체적인 뷰를 제공할 수 있다. 표(300)는 도 2의 비디오 스트림 프레이밍 패턴(200)에 대응할 수 있는 것으로 생각된다. 더구나, 표(300)는 프레임들 사이의 종속성의 예를 나타내기 위해 제공되고, 청구된 주제는 이러한 예에 제한되지 않는다는 것을 알 수 있을 것이다.
표(300)의 행 1은 시간적 순서로 비디오 캡처 장치로부터 얻어진 프레임의 순서를 포함한다. 표의 행 2는 인코더로의 입력을 나타내고; 인코더 입력은 비디오 캡처 장치로부터 얻어진 프레임의 순서와 대체로 유사할 수 있다. 행 3은 각 프레임에 대해 인코더에 의해 실행된 내부 인코딩 뷰를 나타낸다. 특히, 각 프레임은 시간적 순서화에서의 프레임의 위치에 기초하여 유형(예를 들어, I 프레임, B 프레임, P 프레임, SP 프레임...)과 관련된다. 행 4는 인코더로부터의 출력을 나타낸다. 예를 들어, B2 프레임은 P3 프레임 후에 출력될 수 있다. 또한, 인코더는 P 프레임에 의존하는 B 프레임(예를 들어, B4) 이전에 2개의 P 프레임(예를 들어, P3 및 P5)을 보낼 수 있는데, 이들은 수신 측에서 P 프레임(예를 들어, P3) - B 프레임(예를 들어, B4) - P 프레임(예를 들어, P5)으로 재순서화될 수 있다. 그러나, 청구된 주제는 유선 접속을 통해 전송된 인코딩된 프레임을 순서화하는 이러한 방식에 제한되지 않는다는 것을 알 수 있을 것이다. 행 5는 행 4에 나타낸 것과 같은 인코더로부터 출력된 각 프레임에 할당된 순서 번호(예를 들어, 프레임 계수)를 나타낸다. 예를 들어, 행 5의 순서 번호는 도 1의 프레임 식별 컴포넌트(106)에 의해 할당될 수 있다. 행 6 및 7은 행 4의 각 출력 프레임에 대한 참조 프레임 번호를 나타낸다. 참조 프레임 번호는 각각의 특정 프레임이 의존하는 프레임의 행 4에 할당된 순서 번호에 관련된다. 이들 참조 번호는 도 1의 프레임 종속성 컴포넌트(108)에 의해 생성될 수 있다. 더구나, 각각의 B 프레임은 2개의 참조 번호와 관련될 수 있는 반면에, SP 프레임 및 P 프레임은 각각 하나의 참조 번호와 관련될 수 있고; 또한, I 프레임은 독립적이기 때문에, 그 참조 번호는 그 자신을 가리킬 수 있다. 행 8은 디코더 입력 프레임을 나타낸다. 더욱이, 행 9는 디코더 출력 프레임을 나타내고; 예를 들어, B2 및 P3은 디코더로부터의 출력의 일부로서 재순서화될 수 있다.
도 4를 참조하면, 실시간 비디오 프레임의 손실을 관리하는 시스템(400)이 도시된다. 시스템(400)은 서로 통신할 수 있는 송신 컴포넌트(102)와 수신 컴포넌트(104)를 포함한다. 송신 컴포넌트(102)는 프레임 식별 컴포넌트(106) 및/또는 프레임 종속성 컴포넌트(108)를 더 포함할 수 있다. 또한, 수신 컴포넌트(104)는 종속성 재구성 컴포넌트(110), 손실 평가 컴포넌트(112), 및/또는 아티팩트 은폐 컴포넌트(114)를 포함할 수 있다.
송신 컴포넌트(102)는 데이터 캡처 컴포넌트(402), 인코더(404) 및 피드백 컴포넌트(406)를 추가로 더 포함할 수 있다. 데이터 캡처 컴포넌트(402)는 비디오, 이미지, 사운드, 텍스트 등과 같은 외부 데이터를 얻을 수 있다. 한 예에 따르면, 데이터 캡처 컴포넌트(402)는 카메라(예를 들어, 비디오 카메라), 마이크, 이들의 조합 등등일 수 있다. 더구나, 데이터 캡처 컴포넌트(402)는 일련의 프레임(예를 들어, 비디오 프레임)을 수집할 수 있다. 더욱이, 데이터 캡처 컴포넌 트(402)는 수신 컴포넌트(104)로의 전송을 위해 메모리로부터 이전에 얻은 데이터를 검색가능하게 할 수 있는 것으로 생각된다.
인코더(404)는 수신 컴포넌트(104)로의 전송을 위해 데이터 캡처 컴포넌트(402)에 의해 수집된 신호(예를 들어, 비디오 프레임)를 인코딩할 수 있다. 한 예시에 따르면, 인코더(404)는 수집된 데이터를 압축할 수 있다. 이 예에 덧붙여 말하자면, 인코더(404)는 독립적으로 프레임들의 부분집합(예를 들어, I 프레임)을 압축하고, (예를 들어, 종속성 구조에 따른) 참조 프레임으로부터의 델타에 기초하여 나머지 프레임을 압축할 수 있다. 더구나, 다수의 종속성 계층은 인코더(404)에 의해 이용될 수 있다. 추가로 또는 대안적으로, 인코더(404)는 비디오 프레임을 암호화하고, 중복성(redundancy)을 추가하는 등등을 할 수 있다. 다른 예에 따르면, 인코더(404)는 수신 컴포넌트(104)에 보내진 스트림으로부터 하나 이상의 프레임 유형을 제거할 수 있고(예를 들어, B 프레임이 제거될 수 있고, B 프레임과 P 프레임이 제거될 수 있고...); 또한, 수신 컴포넌트(104)는 하나 이상의 프레임 유형의 처리를 그만둘 수 있고, AVMCU는 하나 이상의 프레임 유형의 라우팅을 정지할 수 있는 등등을 하는 것이 고려된다.
도시된 바와 같이, 인코더(404)는 프레임 식별 컴포넌트(106) 및 프레임 종속성 컴포넌트(108)를 포함할 수 있지만; 프레임 식별 컴포넌트(106) 및/또는 프레임 종속성 컴포넌트(108)는 인코더(404)에서 분리될 수 있다는 것이 고려된다. 프레임 식별 컴포넌트(106)는 인코더(404)가 각 프레임(예를 들어, I 프레임, B 프레임, P 프레임, SP 프레임...)에 유형을 할당할 수 있게 하고; 유형 할당은 종속성 구조에 기초할 수 있다. 또한, 프레임 식별 컴포넌트(106)는 프레임 순서 번호(예를 들어, 프레임 계수)를 각 프레임에 할당할 수 있다. 예를 들어, 인코더(404)에 의해 출력된 모든 프레임에는 바로 전에 출력된 프레임의 프레임 계수에서 1씩 증가된 프레임 계수가 할당될 수 있다. 더구나, 인코더(404)에 의해 출력된 프레임에 대한 프레임 계수 및 대응하는 유형은 송신 컴포넌트(102)와 관련된 데이터 저장소(도시 생략)에 보유될 수 있다. 이전의 프레임에 대해 저장된 프레임 계수 및 유형은 인코더(404)에 의해 생성된 각 출력 프레임에 대한 참조 프레임 번호를 계산하기 위해 프레임 종속성 컴포넌트(108)에 의해 이용될 수 있다.
예를 들어, 데이터 저장소는 휘발성 메모리 또는 비휘발성 메모리일 수 있고, 또는 휘발성 및 비휘발성 메모리를 둘 다 포함할 수 있다. 예시적으로, 비휘발성 메모리는 ROM, PROM(programmable ROM), EPROM(electrically programmable ROM), EEPROM(electrically erasable programmable ROM) 또는 플래시 메모리를 포함할 수 있는데, 이에 제한되는 것은 아니다. 휘발성 메모리는 외부 캐시 메모리로서 동작하는 RAM을 포함할 수 있다. 예시적으로(이에 제한되지 않음), RAM은 SRAM(static RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(double data rate SDRAM), ESDRAM(enhanced SDRAM), SLDRAM(Synchlink DRAM), RDRAM(Rambus direct RAM), DRDRAM(direct Rambus dynamic RAM) 및 RDRAM(Rambus dynamic RAM)과 같은 메모리 형태로 이용가능하다. 본 시스템 및 방법의 데이터 저장소는 이들 및 임의의 다른 유형의 메모리를 포함하고자 하는 것으로 이에 제한되는 것은 아니다. 게다가, 데이터 저장소는 서버, 데이터베이스, 하 드 드라이브 등일 수 있다는 것을 알 수 있을 것이다.
예를 들어, 인코더(404)는 각 프레임에 대해 N개의 패킷을 생성할 수 있고, 이들 N개의 패킷은 송신 컴포넌트(102)에서 수신 컴포넌트(104)로 전송될 수 있다. 인코더(404)에 의해 생성된 각 패킷은 페이로드 헤더(아래의 도 5 및 6에서 설명됨) 및 페이로드를 포함할 수 있다. 페이로드 헤더는 종속성 구조에 관한 정보를 포함할 수 있다. 더욱이, 페이로드는 패킷에 대응하는 프레임의 내용의 최소한 일부를 포함할 수 있다.
피드백 컴포넌트(406)는 성능 보고, 채널 대역폭 분석, 재전송 요청 등을 수신 컴포넌트(104)(및/또는 데이터가 이동하는 네트워크 내의 임의의 다른 컴포넌트(들)(도시 생략))로부터 얻을 수 있다. 더구나, 피드백 컴포넌트(406)는 수신된 피드백에 기초하여 인코더(404)의 출력 변경을 실행할 수 있다.
수신 컴포넌트(104)는 렌더 컴포넌트(408), 디코더(410), 성능 추적 컴포넌트(412) 및 재전송 요청 컴포넌트(414)를 추가로 더 포함할 수 있다. 렌더 컴포넌트(408)는 수신된 데이터에 기초하여 출력을 생성할 수 있다. 예시적으로, 렌더 컴포넌트(408)는 수신 컴포넌트(104)에 의해 얻어진 실시간 비디오가 표시될 수 있는 디스플레이일 수 있다. 렌더 컴포넌트(408)는 수신 컴포넌트(104)에 의해 얻어진 데이터에 응답하여 임의의 유형의 출력(예를 들어, 청각정보, 시각정보, 물리적 움직임...)을 생성할 수 있는 것이 고려된다. 다른 예에 따르면, 렌더 컴포넌트(408)는 수신 컴포넌트(104)와 관련된 데이터 저장소(도시 생략) 내에 생성된 출력을 저장할 수 있게 할 수 있다.
디코더(410)는 도시된 바와 같이 종속성 재구성 컴포넌트(110), 손실 평가 컴포넌트(112) 및/또는 아티팩트 은폐 컴포넌트(114)를 포함할 수 있지만; 이들 컴포넌트(110-114)의 하나 이상이 디코더(410)에서 분리될 수 있다는 것이 고려된다. 디코더(410)는 인코더(404)에 의해 실행된 인코딩을 반대로 할 수 있다. 예를 들어, 디코더(410)는 각 프레임에 대응하는 패킷을 얻을 수 있고, 렌더 컴포넌트(408)에 제공될 수 있는 출력을 생성하기 위해 이러한 패킷을 처리할 수 있다. 디코더(410)는 아티팩트가 없는 프레임을 렌더링할 수 있게 하는 반면, 아티팩트가 있는 프레임을 렌더링하지 못하게 할 수 있다. 더구나, 디코더(410)(및/또는 종속성 재구성 컴포넌트(110) 및/또는 손실 평가 컴포넌트(112))는 프레임이 성공적으로 도착하여 성공적으로 디코딩될 수 있는 지의 여부를 추적하는데 이용된 프레임 종속성 표를 생성할 수 있다. 다음은 이러한 프레임 종속성 표의 한 예를 제공한다.
프레임 계수 0 1 2 3 4 5 6 7
도착 1 0 1 1 1 0 1 1
디코드 1 0 0 1 1 0 1 1
도시된 바와 같이, 프레임이 성공적으로 도착한 경우에(예를 들어, 손실 평가 컴포넌트(112)에 의해 판정됨), 표 내의 대응하는 슬롯은 도착=참("1")으로 표시될 수 있다. 프레임이 도착하지 않은 경우에, 대응하는 슬롯은 도착=거짓("0"), 디코드=거짓("0)으로 설정될 수 있다. 더구나, 특정 프레임의 참조 프레임(들)(예를 들어, 종속성 재구성 컴포넌트(110)에 의해 판정됨)이 성공적으로 디코딩될 수 있으면, 특정 프레임도 또한 성공적으로 디코딩될 수 있고, 대응하는 슬롯은 디코 드=참("1")으로 표시될 수 있다. 더욱이, 특정 프레임의 참조 프레임의 디코드 값=거짓("0")이면, 특정 프레임의 디코드 값도 거짓이다. 그 후, 아티팩트 은폐 컴포넌트(114)는 어느 프레임(들)이 아티팩트를 나타내 보일지 판정할 수 있게 하므로, 렌더 컴포넌트(408) 상에 표시된 출력을 정지 및/또는 정지해제하는 때를 식별할 수 있다. 그러나, 청구된 주제는 여기에서 설명된 프레임 종속성 표의 이용에 제한되지 않는다는 것을 알 수 있을 것이다.
수신 컴포넌트(104)는 또한 아티팩트/프레임 손실로 인한 비디오 품질 저하의 표시자일 수 있는 아티팩트로 인해 스킵된 프레임을 기록 및/또는 보고하는 성능 추적 컴포넌트(412)를 포함할 수 있다. 성능 추적 컴포넌트(412)는 아티팩트를 포함하는 프레임의 수, (예를 들어, 아티팩트 은폐 컴포넌트(114)에 의한) 에러 은폐로 인해 정지된 비디오의 퍼센트 등을 측정하는 질적 모델에 기초하여 보고서를 생성할 수 있다. 성능 추적 컴포넌트(412)는 프레임 손실로 인한 비디오 품질 저하를 정확하게 측정할 수 있는데, 프레임 손실은 네트워크 패킷 손실, 레이트 매칭(rate matching) 등에 의해 야기될 수 있다. 한 예에 따르면, 성능 추적 컴포넌트(412)는 보고서를 생성하기 위해 프레임 종속성 표를 이용할 수 있다. 더구나, 성능 추적 컴포넌트(412)는 (예를 들어, 인코더(404)의 동작 변경을 실행하기 위해 등등) 송신 컴포넌트(102)의 피드백 컴포넌트(406)에 보고서를 전송하고, 수신 컴포넌트(104)와 관련된 데이터 저장소 내에 보고서를 보유하는 등등을 할 수 있다.
더욱이, 수신 컴포넌트(104)는 새로운 I 프레임(및/또는 P 프레임 손실의 경우에 I 프레임 또는 SP 프레임)이 수신 컴포넌트(104)에 전송되도록 하는 요청을 송신 컴포넌트(102)(예를 들어, 피드백 컴포넌트(406)...)에 전송하는 재전송 요청 컴포넌트(414)를 포함할 수 있다. 예를 들어, 재전송 요청 컴포넌트(414)(및/또는 디코더(410))는 임계 시간량(예를 들어, 1초...)을 초과하여 아티팩트가 있다는 것을 알아차리면, 새로운 프레임에 대한 요청이 보내질 수 있다. 다른 예시에 따르면, I 프레임, SP 프레임 또는 P 프레임의 손실이 검출될 때, 재전송 요청 컴포넌트(414)는 요청을 보낼 수 있다. 예를 들어, 피드백 컴포넌트(406)는 요청을 처리할 수 있고, 1 왕복 시간(RTT) 내에, 새로운 I 또는 SP 프레임이 비디오 아티팩트를 보정하기 위해 수신 컴포넌트(104)에 도달할 수 있다.
게다가, 도시되지는 않았지만, 송신 컴포넌트(102) 및/또는 수신 컴포넌트(104)는 여기에서 설명된 프레임 종속성 메커니즘의 이용을 활성화 및 비활성화할 수 있게 하는 스위칭 컴포넌트를 포함할 수 있는 것으로 생각된다. 예를 들어, 스위칭 컴포넌트는 송신 컴포넌트(102)와 수신 컴포넌트(104) 사이의 상호 운용성 문제를 완화하면서 프레임 종속성 메커니즘을 온 또는 오프시킬 수 있게 할 수 있다.
이제, 도 5 및 6을 참조하면, 예시적인 페이로드 헤더(500 및 600)가 도시된다. (예를 들어, 송신 컴포넌트(102)와 수신 컴포넌트(104) 사이에서) 통신된 각각의 패킷은 페이로드 헤더(500 및 600) 중의 하나를 포함할 수 있다. 더욱이, 도 5의 페이로드 헤더(500)는 I 프레임, P 프레임 또는 SP 프레임에서 이용될 수 있는 반면에, 도 6의 페이로드 헤더(600)는 B 프레임에 대해 이용될 수 있다.
페이로드 헤더(500 및 600)는 프레임 콘텐트를 포함하는 페이로드와 함께, 실시간 비디오 패킷의 일부이다. 페이로드 헤더(500 및 600)는 각각, 참조 프레임 번호(들)(예를 들어, 페이로드 헤더(500)는 하나의 참조 프레임 번호를 포함하는 반면, 페이로드 헤더(600)는 2개의 참조 프레임 번호를 포함할 수 있음)(및 하이 참조 프레임 번호(들)(H-RF))뿐만 아니라 대응하는 프레임과 관련된 프레임 계수(및 하이 프레임 카운트(H-FC))를 포함한다. B 프레임에 대한 페이로드 헤더(600)에서, 참조 프레임 번호 필드는 다음 및 이전 참조 프레임 번호로 분할될 수 있다. 게다가, 페이로드 헤더(500 및 600)는 다음을 포함할 수 있는데: F는 첫 번째 패킷(FirstPacket)일 수 있음; H는 시퀀스 헤더(Sequence Header)가 존재하는 것일 수 있음; K는 키(Key) 프레임일 수 있음; O는 1(One)로 고정될 수 있음; L; S는 SP 프레임일 수 있음; C는 캐시된(Cached) 프레임일 수 있음; M은 모드(Mode)일 수 있음. 페이로드 헤더(500 및 600)는 1로 설정된 모드를 가질 수 있다. 게다가, 패킷화 헤더의 추가 확장은 다른 4 바이트를 얻기 위해 확장 구역 내의 모드 비트(0으로 표시됨)를 1로 설정함으로써 고려된다.
도 7을 참조하면, 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐할 것인 지의 여부를 추론하는 시스템(700)이 도시된다. 시스템(700)은 위에서 설명된 송신 컴포넌트(102) 또는 수신 컴포넌트(104)와 대체로 유사할 수 있는 실시간 통신 컴포넌트(702)를 포함할 수 있다. 실시간 통신 컴포넌트(702)는 지능 컴포넌트(704) 및/또는 프레젠테이션 컴포넌트(706)를 더 포함할 수 있다. 지능 컴포넌트(704)는 렌더링된 비디오 출력을 정지할 것인지 정지해제할 것인지에 대해 판단을 내리기 위해 실시간 통신 컴포넌트(702)에 의해 이용될 수 있다. 더욱이, 지능 컴포넌트(704)는 아티팩트가 존재하는 지의 여부, 아티팩트를 은폐할 것인 지의 여부, 프레임의 재전송을 요청할 것인 지의 여부, 프레임들 사이의 종속성 등등을 추론하기 위해 실시간 통신 컴포넌트(702)와 관련된 컨텍스트, 상태, 상황 등을 평가할 수 있다.
지능 컴포넌트(704)는 이벤트 및/또는 데이터를 통해 캡처된 관측 집합으로부터 시스템, 환경 및/또는 사용자의 상태에 대해 판단을 내리거나 그러한 상태를 추론하기 위해 제공할 수 있다는 것을 이해할 것이다. 추론은 특정 상황 또는 동작을 식별하기 위해 이용될 수 있고, 또는 예를 들어, 상태들에 관한 확률 분포를 생성할 수 있다. 추론은 확률적일 수 있다 - 즉, 데이터 및 이벤트의 고려에 기초하여 관심 있는 상태들에 관한 확률 분포의 계산일 수 있다. 추론은 또한 이벤트 및/또는 데이터 집합으로부터 더 높은 레벨의 이벤트를 구성하기 위해 이용된 기술을 일컬을 수 있다. 이러한 추론은 이벤트들이 시간적으로 근접하게 상관되는 안 되든, 그리고 이벤트 및 데이터가 하나의 이벤트 및 데이터 소스로부터 온 것이든 몇 개의 이벤트 및 데이터 소스로부터 온 것이든, 관측된 이벤트 및/또는 저장된 이벤트 데이터의 집합으로부터 새로운 이벤트 또는 동작을 구성하게 한다. (명시적으로 및/또는 암시적으로 훈련된) 다양한 분류 방식 및/또는 시스템(예를 들어, 지원 벡터 기계, 신경망, 전문가 시스템, 베이지안 믿음 네트워크, 퍼지 로직, 데이터 융합 엔진...)은 자동 및/또는 청구된 주제와 관련하여 추론된 동작의 실행과 관련하여 이용될 수 있다.
분류자는 입력 특성 벡터 x=(x1, x2, x3, x4, xn)을, 입력이 클래스에 속하 는 신뢰도, 즉 f(x)=confidence(class)에 매핑하는 함수이다. 이러한 분류는 사용자가 자동으로 실행되기를 원하는 동작을 예지하거나 추론하기 위해 (예를 들어, 분석 유용성 및 비용을 고려하여) 확률 및/또는 통계 기반의 분석을 이용할 수 있다. 지원 벡터 기계(SVM)는 이용될 수 있는 분류자의 한 예이다. SVM은 가능한 입력의 공간 내에서 하이퍼 표면(hypersurface)을 찾아냄으로써 동작하는데, 하이퍼 표면은 비트리거링(non-triggering) 이벤트로부터 트리거링 기준을 분리하고자 시도한다. 직관적으로, 이것은 트레이닝 데이터와 동일하지는 않지만 거의 비슷한 테스팅 데이터를 위해 정확한 분류를 한다. 그외 다른 지시된 및 지시되지 않은 모델 분류 방법은 예를 들어, 나이브 베이즈(naive Bayes), 베이지안 네트워크, 의사 결정 트리, 신경망, 퍼지 로직 모델을 포함하고, 상이한 독립 패턴을 제공하는 확률적 분류 모델이 이용될 수 있다. 여기에서 사용된 분류는 또한 우선순위의 모델을 개발하기 위해 이용된 통계적 회귀를 포함한다.
프레젠테이션 컴포넌트(706)는 실시간 통신 컴포넌트(702)에 결합된 컴포넌트와 사용자 사이의 상호작용을 용이하게 하기 위해 다양한 유형의 사용자 인터페이스를 제공할 수 있다. 도시된 바와 같이, 프레젠테이션 컴포넌트(706)는 실시간 통신 컴포넌트(702) 내에 통합된다. 그러나, 프레젠테이션 컴포넌트(706) 및/또는 이와 유사한 뷰 컴포넌트는 실시간 통신 컴포넌트(702)로부터 분리될 수 있고, 및/또는 독립형 유닛일 수 있다는 것을 알 수 있을 것이다. 프레젠테이션 컴포넌트(706)는 하나 이상의 그래픽 사용자 인터페이스(GUI), 명령줄 인터페이스 등을 제공할 수 있다. 예를 들어, GUI는 렌더링되어, 데이터를 로드하고, 가져오고, 판 독하는 등등을 하기 위한 영역 또는 수단을 사용자에게 제공할 수 있고, 이러한 결과를 제시하기 위한 영역을 포함할 수 있다. 이들 영역은 대화 상자, 정적 컨트롤, 드롭다운 메뉴, 목록 상자, 팝업 메뉴, 편집 컨트롤, 콤보 상자, 라디오 단추, 확인란, 푸시 단추 및 그래픽 단추를 포함하는 공지된 텍스트 및/또는 그래픽 영역을 포함할 수 있다. 게다가, 영역이 뷰 가능하게 될지 판정하기 위한 도구 모음 단추 및 탐색을 위한 수직 및/또는 수평 스크롤 바의 프레젠테이션을 용이하게 하기 위한 유틸리티가 이용될 수 있다. 예를 들어, 사용자는 실시간 통신 컴포넌트(702)에 결합된 하나 이상의 컴포넌트와 상호작용할 수 있다.
사용자는 또한, 예를 들어 마우스, 롤러 볼, 키패드, 키보드, 펜 및/또는 음성 활성화와 같은 다양한 장치를 통해 정보를 선택하고 제공하기 위해 영역과 상호작용할 수 있다. 통상적으로, 키보드 상의 엔터 키 또는 푸시 단추와 같은 메커니즘은 검색을 시작하기 위해 정보를 입력한 다음에 이용될 수 있다. 그러나, 청구된 주제는 이에 제한되지 않는다는 것을 알 수 있을 것이다. 예를 들어, 확인란의 단순한 강조는 정보 전달을 시작할 수 있다. 다른 예에서, 명령줄 인터페이스가 이용될 수 있다. 예를 들어, 명령줄 인터페이스는 텍스트 메시지의 제공을 통해 사용자에게 정보를 제공해달라고 (예를 들어, 디스플레이 상의 텍스트 메시지 및 오디오 톤을 통해) 프롬프팅(prompt)할 수 있다. 그 다음, 사용자는 프롬프트 내에 배치된 질문에 대한 응답 또는 인터페이스 프롬프트 내에 제공된 옵션에 대응하는 영숫자 입력과 같은 적합한 정보를 제공할 수 있다. 명령줄 인터페이스는 GUI 및/또는 API와 관련하여 이용될 수 있다는 것을 알 수 있을 것이다. 게다가, 명령 줄 인터페이스는 제한된 그래픽 지원 및/또는 저 대역폭 통신 채널을 갖는 디스플레이(예를 들어, 흑백 및 EGA) 및/또는 하드웨어(예를 들어, 비디오 카드)와 관련하여 이용될 수 있다.
도 8-9는 청구된 주제에 따른 방법을 도시한 것이다. 설명을 간략하게 하기 위해, 방법은 일련의 동작으로 도시되고 설명된다. 본 발명은 도시된 동작 및/또는 동작의 순서에 의해 제한되지 않고, 예를 들어 동작들은 다양한 순서로 및/또는 동시에 발생할 수 있고, 여기에서 제시되고 설명되지 않은 다른 동작과 함께 발생할 수 있다는 것을 이해하고 알 수 있을 것이다. 더욱이, 청구된 주제에 따른 방법을 구현하기 위해 요구될 수 있는 동작이 모두 도시된 것은 아니다. 게다가, 본 분야에 숙련된 기술자들은 방법이 대안적으로 상태도 또는 이벤트를 통해 일련의 상관된 상태로서 나타내질 수 있다는 것을 이해하고 알 수 있을 것이다.
도 8을 참조하면, 실시간 비디오 통신 프레임들 사이의 종속성 구조의 설명을 용이하게 하는 방법(800)이 도시된다. 단계(802)에서, 전송을 위해 인코딩되는 프레임의 유형이 식별될 수 있다. 예를 들어, 프레임은 I 프레임, B 프레임, P 프레임, SP 프레임 등일 수 있다. 더구나, 유형은 공지된 종속성 구조에 기초할 수 있다. 단계(804)에서, 순서 번호가 프레임에 할당될 수 있다. 게다가, 이 프레임 및 이전에 인코딩된 프레임의 순서 번호는 (예를 들어, 메모리 내에) 보유될 수 있다. 단계(806)에서, 프레임이 의존하는 최소한 하나의 참조 프레임이 최소한 부분적으로 유형에 기초하여 판정될 수 있다. 더구나, 종속성 구조는 각 프레임 유형에 대한 종속성을 지정할 수 있다. 단계(808)에서, 프레임의 순서 번호 및 최소한 하나의 참조 프레임에 대응하는 최소한 하나의 참조 프레임 번호를 포함하는 패킷이 전송될 수 있다. 예를 들어, 프레임은 임의의 수의 패킷을 포함할 수 있고, 각각의 패킷은 순서 번호 및 최소한 하나의 참조 프레임 번호를 포함할 수 있다. 더구나, 각 패킷은 페이로드 헤더 및 페이로드를 포함할 수 있고; 페이로드 헤더는 순서 번호 및 최소한 하나의 참조 프레임 번호를 포함할 수 있는 반면, 페이로드는 프레임 계수를 포함할 수 있다.
이제, 도 9를 참조하면, 프레임 손실에 기초한 아티팩트의 은폐를 용이하게 하는 방법(900)이 도시된다. 단계(902)에서, 프레임 손실은 실시간 비디오 통신을 위해 추적될 수 있다. 예를 들어, 프레임의 수신된 패킷은 각각 고유한 프레임 특정 순서 번호를 포함할 수 있으므로; (예를 들어, 패킷 손실, 비순차 패킷 등으로 인해) 성공적으로 수신되지 못한 프레임은 순서 번호에 기초하여 식별될 수 있다. 단계(904)에서, 프레임이 아트팩트를 갖는지의 여부는 이전의 프레임 손실 및 수신된 종속성 정보에 기초하여 식별될 수 있다. 한 예시에 따르면, 종속성 정보(예를 들어, 프레임이 의존하는 프레임(들))는 프레임에 대응하는 수신된 패킷에 포함될 수 있다. 단계(906)에서, 프레임은 프레임이 아티팩트를 가질 때 은폐될 수 있다. 따라서, 아티팩트의 디코딩이 금지될 수 있고, 및/또는 비디오는 (아티팩트를 갖는 비디오를 렌더링하기보다는 오히려) 아티팩트를 갖는 프레임과 관련된 기간동안 정지될 수 있다. 더구나, 은폐된 프레임은 인코더에 통신될 수 있는 보고서를 생성하기 위해 추적될 수 있다. 더욱이, 아티팩트를 갖는 프레임 수가 미리 결정된 임계치를 초과할 때, I 프레임(및/또는 SP 프레임)을 재송신하라는 요청이 인코더에 전송될 수 있다.
청구된 주제의 다양한 실시양상을 구현하는 추가 설명을 제공하기 위해, 도 10-11 및 다음 설명은 본 발명의 다양한 실시양상이 구현될 수 있는 적합한 컴퓨팅 환경의 간단한 일반 설명을 제공하고자 한다. 예를 들어, 도 10-11은 실시간 회의와 관련된 선택 캡션을 위한 텍스트 데이터의 생성 및/또는 이러한 데이터의 출력과 관련하여 이용될 수 있는 적합한 컴퓨팅 환경을 설명한다. 청구된 주제가 로컬 컴퓨터 및/또는 원격 컴퓨터상에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행가능 명령어와 일반적으로 관련하여 위에서 설명되었지만, 본 분야에 숙련된 기술자들은 본 발명이 또한 그외 다른 프로그램 모듈과 조합하여 구현될 수 있다는 것을 인식할 것이다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하고 및/또는 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다.
더구나, 본 분야에 숙련된 기술자들은 각각이 하나 이상의 관련된 장치와 동작가능하게 통신할 수 있는 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서 기반 및/또는 프로그램가능 소비자 전자제품 등등뿐만 아니라 단일 프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니 컴퓨터, 메인프레임 컴퓨터를 포함하는 기타 컴퓨터 시스템 구성으로 본 방법이 실시될 수 있다는 것을 이해할 것이다. 청구된 주제의 도시된 실시양상은 또한 통신 네트워크를 통해 연결되는 원격 처리 장치에 의해 소정의 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 그러나, 본 발명의 모든 실시양상이 독립형 컴퓨터상에서 실시될 수 있는 것이 아닌 경우에는 그 일부가 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및/또는 원격 메모리 저장 장치에 위치할 수 있다.
도 10은 청구된 주제가 상호작용할 수 있는 샘플-컴퓨팅 환경(1000)의 개략적인 블록도이다. 시스템(1000)은 하나 이상의 클라이언트(들)(1010)를 포함한다. 클라이언트(들)(1010)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 시스템(1000)은 또한 하나 이상의 서버(들)(1020)를 포함한다. 서버(들)(1020)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 서버(1020)는 예를 들어, 본 발명을 이용함으로써 변환을 실행하기 위한 스레드를 수용할 수 있다.
클라이언트(1010)와 서버(1020) 사이의 한 가지 가능한 통신은 2개 이상의 컴퓨터 프로세스 사이에서 전송되도록 적응된 데이터 패킷의 형태로 될 수 있다. 시스템(1000)은 클라이언트(들)(1010)와 서버(들)(1020) 사이의 통신을 용이하게 하기 위해 이용될 수 있는 통신 프레임워크(1040)를 포함한다. 클라이언트(들)(1010)는 클라이언트(들)(1010)에 국한된 정보를 저장하기 위해 이용될 수 있는 하나 이상의 클라이언트 데이터 저장소(들)(1050)에 동작가능하게 접속된다. 이와 유사하게, 서버(들)(1020)는 서버(1020)에 국한된 정보를 저장하기 위해 이용될 수 있는 하나 이상의 서버 데이터 저장소(들)(1030)에 동작가능하게 접속된다.
도 11과 관련하여, 청구된 주제의 다양한 실시양상을 구현하는 예시적인 환경(1100)은 컴퓨터(1112)를 포함한다. 컴퓨터(1112)는 처리 장치(1114), 시스템 메모리(1116) 및 시스템 버스(1118)를 포함한다. 시스템 버스(1118)는 시스템 메 모리(1116)를 포함하는(이에 제한되지는 않음) 시스템 컴포넌트들을 처리 장치(1114)에 연결한다. 처리 장치(1114)는 각종 시판중인 마이크로프로세서들 중의 어느 것이라도 될 수 있다. 듀얼 마이크로프로세서 및 기타 멀티프로세서 아키텍처가 또한 처리 장치(1114)로서 이용될 수 있다.
시스템 버스(1118)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스 또는 외부 버스, 및/또는 각종 이용가능 버스 아키텍처 중의 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조(들) 중 어느 것이라도 될 수 있는데, 이러한 버스 아키텍처는 ISA(Industrial Standard Architecture), MCA(Micro Channel Architecture), EISA(Extended ISA), IDE(Intelligent Drive Electronics), VLB(VESA Local Bus), PCI(Peripheral Component Interconnect), 카드 버스, USB(Universal Serial Bus), AGP(Advanced Graphics Port), PCMCIA(Personal Computer Memory Card International Association bus), Firewire(IEEE 1394) 및 SCSI(Small Computer Systems Interface)를 포함하지만 이에 제한되는 것은 아니다.
시스템 메모리(1116)는 휘발성 메모리(1120) 및 비휘발성 메모리(1122)를 포함한다. 시동 중과 같은 때에, 컴퓨터(1112) 내의 구성요소들 사이의 정보를 전송하는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)은 비휘발성 메모리(1122) 내에 저장되어 있다. 예시적으로, 비휘발성 메모리(1122)는 판독 전용 메모리(ROM), 프로그램가능 ROM(PROM), 전기적으로 프로그램가능 ROM(EPROM), 전기적으로 소거가능 프로그램가능 ROM(EEPROM) 또는 플래시 메모리를 포함할 수 있지만 이 에 제한되는 것은 아니다. 휘발성 메모리(1120)는 외부 캐시 메모리로서 동작하는 랜덤 액세스 메모리(RAM)를 포함한다. 예시적으로, RAM은 정적 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 2배속 SDRAM(DDR SDRAM), 인핸스드 SDRAM(ESDRAM), 싱크링크 DRAM(SLDRAM), 램버스 다이렉트 RAM(RDRAM), 다이렉트 램버스 동적 RAM(DRDRAM) 및 램버스 동적 RAM(RDRAM)과 같은 많은 형태로 이용가능한데, 이에 제한되는 것은 아니다.
컴퓨터(1112)는 또한 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 11은, 예를 들어 디스크 저장 장치(1124)를 도시하고 있다. 디스크 저장 장치(1124)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈(Jaz) 드라이브, 지프(Zip) 드라이브, LS-100 드라이브, 플래시 메모리 카드 또는 메모리 스틱과 같은 장치를 포함하는데, 이에 제한되는 것은 아니다. 또한, 디스크 저장 장치(1124)는 컴팩트 디스크 ROM 장치(CD-ROM), CD 기록가능 드라이브(CD-R Drive), CD 재기입가능 드라이브(CD-RW Drive) 또는 DVD-ROM 드라이브(digital versatile disk ROM)와 같은 광 디스크 드라이브를 포함하는(이것에 제한되지 않음) 기타 저장 매체와 결합하여 또는 분리하여 저장 매체를 포함할 수 있다. 시스템 버스(1118)로의 디스크 저장 장치(1124)의 접속을 용이하게 하기 위해, 인터페이스(1126)와 같은 이동식 또는 비이동식 인터페이스가 통상적으로 사용된다.
도 11은 적합한 운영 환경(1100)에서 설명된 기본 컴퓨터 자원들과 사용자들 사이의 중간자로서 동작하는 소프트웨어를 설명하고 있다는 것을 알 수 있을 것이 다. 그러한 소프트웨어는 운영 체제(1128)를 포함한다. 디스크 저장 장치(1124) 상에 저장될 수 있는 운영 체제(1128)는 컴퓨터 시스템(1112)의 자원을 제어하고 할당하는 동작을 한다. 시스템 애플리케이션(1130)은 시스템 메모리(1116) 내에 또는 디스크 저장 장치(1124) 상에 저장된 프로그램 모듈(1132) 및 프로그램 데이터(1134)를 통해 운영 체제(1128)에 의한 자원 관리를 이용한다. 본 발명은 다양한 운영 체제들, 또는 운영 체제들의 조합으로 구현될 수 있다는 것을 알 수 있을 것이다.
사용자는 입력 장치(들)(1136)를 통해 명령 또는 정보를 컴퓨터(1112)에 입력한다. 입력 장치(1136)는 마우스, 트랙볼, 스타일러스, 터치패드와 같은 포인팅 장치, 키보드, 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등을 포함하는데 이에 제한되는 것은 아니다. 이들 및 기타 입력 장치는 인터페이스 포트(들)(1138)를 경유하여 시스템 버스(1118)를 통해 처리 장치(1114)에 접속한다. 인터페이스 포트(들)(1138)는 예를 들어, 직렬 포트, 병렬 포트, 게임 포트 및 USB(universal serial bus)를 포함한다. 출력 장치(들)(1140)는 입력 장치(들)(1136)와 동일한 유형의 포트들 중의 소정의 것을 사용한다. 그러므로, 예를 들어, USB 포트는 컴퓨터(1112)에 입력을 제공하고, 컴퓨터(1112)로부터의 정보를 출력 장치(1140)에 출력하기 위해 사용될 수 있다. 출력 어댑터(1142)는 기타 출력 장치(1140) 중에서 특히, 특정 어댑터를 필요로 하는 모니터, 스피커 및 프린터와 같은 몇몇 출력 장치(1140)가 있다는 것을 나타내기 위해 제공된다. 출력 어댑터(1142)는 출력 장 치(1140)와 시스템 버스(1118) 사이에 접속 수단을 제공하는 비디오 및 사운드 카드를 예시적으로 포함하는데, 이에 제한되는 것은 아니다. 원격 컴퓨터(들)(1144)과 같은 기타 장치 및/또는 장치의 시스템은 입력 및 출력 능력을 모두 제공한다는 것을 알 수 있을 것이다.
컴퓨터(1112)는 원격 컴퓨터(들)(1144)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1144)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 가전제품, 피어 장치 또는 기타 공통 네트워크 노드 등일 수 있고, 통상적으로 컴퓨터(1112)와 관련하여 설명된 구성요소들의 대부분 또는 그 전부를 포함한다. 간결하게 하기 위해, 하나의 메모리 저장 장치(1146)만이 원격 컴퓨터(들)(1144)와 함께 도시되어 있다. 원격 컴퓨터(들)(1144)는 네트워크 인터페이스(1148)를 통해 컴퓨터(1112)에 논리적으로 접속된 다음에, 통신 접속(1150)을 통해 물리적으로 접속된다. 네트워크 인터페이스(1148)는 LAN 및 WAN과 같은 유선 및/또는 무선 통신 네트워크를 포함한다. LAN 기술은 FDDI(Fiber Distributed Data Interface), CDDI(Copper Distributed Data Interface), 이더넷(Ethernet), 토큰 링(Token Ring) 등을 포함한다. WAN 기술은 점 대 점 링크, ISDN(Integrated Services Digital Networks) 및 그 변형과 같은 회선 교환망, 패킷 교환망 및 DSL(Digital Subscriber Lines)을 포함하는데 이에 제한되는 것은 아니다.
통신 접속(들)(1150)은 네트워크 인터페이스(1148)를 버스(1118)에 접속하기 위해 이용된 하드웨어/소프트웨어를 나타낸다. 통신 접속(1150)은 명확하게 도시 하기 위해 컴퓨터(1112) 내부에 도시되었지만, 컴퓨터(1112)의 외부에도 있을 수 있다. 네트워크 인터페이스(1148)에 접속하기 위해 필요한 하드웨어/소프트웨어는 단지 예시적인 목적을 위해, 일반 전화 등급 모뎀, 케이블 모뎀 및 DSL 모뎀을 포함하는 모뎀, ISDN 어댑터 및 이더넷 카드와 같은 내부 및 외부 기술을 포함한다.
앞에서 설명된 것은 본 발명의 예를 포함한다. 물론, 청구된 주제를 설명하기 위해 컴포넌트 또는 방법의 모든 가능한 조합을 설명할 수는 없지만, 본 분야에 숙련된 기술자는 본 발명의 더 많은 조합 및 변경이 가능하다는 것을 알 수 있을 것이다. 따라서, 청구된 주제는 첨부된 청구범위의 정신 및 범위 내에 속하는 그러한 모든 변경, 변형 및 변화를 포함하고자 한다.
특히, 상기 설명된 컴포넌트, 장치, 회로, 시스템 등에 의해 실행된 다양한 기능과 관련하여, 이러한 컴포넌트를 설명하기 위해 사용된 용어("수단"에 대한 참조를 포함함)는 달리 나타내지 않는 한, 청구된 주제의 여기에 도시된 예시적인 실시양상에서의 기능을 실행하는 개시된 구조에 구조적으로 대등하지는 않더라도, 설명된 컴포넌트의 지정된 기능을 실행하는 임의의 컴포넌트(예를 들어, 기능적 등가물)에 상응하고자 하는 것이다. 이와 관련하여, 본 발명은 청구된 주제의 다양한 방법의 동작 및/또는 이벤트를 실행하는 컴퓨터 실행가능 명령어를 갖는 컴퓨터 판독가능 매체뿐만 아니라 시스템을 포함한다는 것을 또한 인식할 것이다.
게다가, 본 발명의 특별한 특징이 몇몇 구현 중의 단지 한 구현과 관련하여 개시되었지만, 이러한 특징은 임의의 주어진 또는 특정의 애플리케이션에 바람직하고 유리할 수 있는 그외 다른 구현의 하나 이상의 다른 특징과 결합될 수 있다. 더욱이, 용어 "포함하다(includes)"와 "포함하는(including)" 및 그 변형이 상세한 설명 또는 청구범위에서 사용되는 한도까지, 이들 용어는 "포함하는(comprising)"이라는 용어와 유사한 방식으로 포괄적인 의미로 사용하고자 한다.

Claims (25)

  1. 실시간 비디오 통신을 위한 시스템에 있어서,
    컴퓨터 실행가능 컴포넌트들을 실행하기 위한 프로세서; 및
    컴퓨터 실행가능 컴포넌트들을 저장하는 메모리
    를 포함하고,
    상기 컴퓨터 실행가능 컴포넌트들은,
    다수의 프레임에 대한 종속성 구조를 재조립하기 위해 상기 다수의 프레임 중 각각의 프레임 내에 포함되어 있는 종속성 데이터를 평가하는 종속성 재구성 컴포넌트 - 상기 종속성 재구성 컴포넌트는 상기 다수의 프레임 각각을 송신하는 송신 컴포넌트로부터 상기 다수의 프레임을 수신하고,
    상기 송신 컴포넌트는 상기 다수의 프레임에 대해 순서 번호(sequence number)를 할당하고 프레임 유형 및 상기 순서 번호에 따른 상기 종속성 구조에 기초하여 상기 다수의 프레임 내에 종속성 데이터를 임베딩하도록 구성되고,
    상기 다수의 프레임 내의 프레임 각각은 상기 프레임의 프레임 카운트를 식별하기 위한 고유의 순서 번호를 포함하고,
    상기 종속성 구조는 특정 프레임이 디코딩을 위해 하나 이상의 이전 프레임들과 종속성을 가짐을 지정하고,
    상기 특정 프레임에 대한 상기 종속성 데이터는 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각에 대한 참조 프레임 번호를 포함함 - ;
    상기 다수의 프레임에 대한 상기 순서 번호에 기초하여 프레임 손실을 추적하고 손실된 프레임들을 식별하는 손실 평가 컴포넌트; 및
    상기 종속성 구조 및 프레임 손실에 기초하여 아티팩트(artifact)가 있는 프레임들의 렌더링을 금지하는 아티팩트 은폐 컴포넌트 - 상기 아티팩트 은폐 컴포넌트는 특정 프레임에 대한 상기 종속성 데이터가 손실 프레임에 대응하는 참조 프레임 번호를 포함하는 경우 상기 특정 프레임을 은폐함 -
    를 포함하는, 실시간 비디오 통신 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 송신 컴포넌트는 수신된 성능 보고서, 채널 대역폭 분석 또는 재전송 요청에 기초하여 인코더의 동작을 변경하도록 구성되는, 실시간 비디오 통신 시스템.
  5. 제1항에 있어서, 상기 다수의 프레임의 각각은 점 대 점(point to point) 비디오 통신 환경 또는 오디오/비디오 다지점 제어 유닛(AVMCU)을 포함하는 다자간 비디오 통신 환경을 통해 수신되는, 실시간 비디오 통신 시스템.
  6. 제1항에 있어서, 상기 종속성 구조는 다수의 프레임 유형의 각각의 종속성을 지정하는, 실시간 비디오 통신 시스템.
  7. 제6항에 있어서, 상기 프레임 유형은 I(intra) 프레임들, P(prediction) 프레임들, B(bidirectional) 프레임들, 및 SP(super prediction) 프레임들을 포함하는, 실시간 비디오 통신 시스템.
  8. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은, 상기 아티팩트 은폐 컴포넌트에 의해 아티팩트들을 포함하는 것으로 판정되어 스킵(skip)된 프레임들을 기록하고 보고하는 성능 추적 컴포넌트를 더 포함하는, 실시간 비디오 통신 시스템.
  9. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은, 아티팩트를 가지는 프레임의 수가 미리 지정된 임계값을 초과하면 새로운 I 프레임을 다시 보내달라는 요청을 전송하는 재전송 요청 컴포넌트를 더 포함하는, 실시간 비디오 통신 시스템.
  10. 제1항에 있어서, 상기 특정 프레임은 다수의 패킷을 포함하고, 상기 다수의 패킷의 각각은 상기 특정 프레임의 순서 번호, 및 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각의 참조 프레임 번호 각각을 포함하는 페이로드(payload) 헤더를 포함하는, 실시간 비디오 통신 시스템.
  11. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은, 상기 송신 컴포넌트와 수신 컴포넌트 사이의 상호 운용성 문제를 완화시키면서 프레임 종속성 메커니즘을 활성화하고 비활성화하는 스위칭 컴포넌트를 더 포함하는, 실시간 비디오 통신 시스템.
  12. 제1항에 있어서, 상기 아티팩트 은폐 컴포넌트는 아티팩트가 없는 프레임들을 렌더링할 수 있게 하는, 실시간 비디오 통신 시스템.
  13. 제1항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은,
    인코딩된 프레임들을 디코딩하는 디코더; 및
    실시간 비디오를 표시하기 위해 상기 디코딩된 프레임들을 렌더링하는 렌더 컴포넌트
    를 더 포함하는, 실시간 비디오 통신 시스템.
  14. 실시간 비디오 통신을 위한 방법으로서, 상기 방법은 컴퓨팅 장치에 의해 실행되고, 상기 방법은
    전송을 위해 인코딩될 다수의 프레임의 유형을 식별하는 단계;
    상기 다수의 프레임에 순서 번호를 할당하는 단계 - 프레임 각각의 순서 번호 각각은 상기 다수의 프레임 내의 각각의 프레임의 프레임 카운트를 식별함 - ;
    프레임 유형들 및 상기 순서 번호에 따른 상기 다수의 프레임에 대한 종속성 구조에 기초하여 상기 다수의 프레임 내에 종속성 데이터를 임베딩하는 단계 - 상기 종속성 구조는 디코딩을 위해 특정 프레임이 하나 이상의 이전 프레임들과 종속성을 가짐을 지정하고, 상기 특정 프레임의 상기 종속성 데이터는 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각의 참조 프레임 번호를 포함함 - ;
    상기 다수의 프레임을 수신 컴포넌트로 송신하는 단계
    를 포함하고,
    상기 수신 컴포넌트는,
    상기 다수의 프레임의 각각의 프레임 내에 포함된 상기 종속성 데이터를 평가하여 상기 다수의 프레임에 대한 상기 종속성 구조를 재조립하고,
    상기 다수의 프레임에 대한 상기 순서 번호에 기초하여 프레임 손실을 추적하고 손실 프레임을 식별하며,
    상기 종속성 구조 및 프레임 손실에 기초하여 아티팩트를 가지는 프레임들의 렌더링을 금지하되, 상기 특정 프레임에 대한 상기 종속성 데이터가 손실 프레임에 대응하는 참조 프레임 번호를 포함하는 경우 상기 특정 프레임을 은폐하도록 구성되는
    실시간 비디오 통신 방법.
  15. 제14항에 있어서, 상기 종속성 구조는 다수의 프레임 유형에 대한 종속성을 지정하는, 실시간 비디오 통신 방법.
  16. 제14항에 있어서,
    상기 특정 프레임은 다수의 패킷을 포함하고, 상기 다수의 패킷 각각은 상기 특정 프레임의 순서 번호 및 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각의 참조 프레임 번호 각각을 포함하는 페이로드 헤더를 포함하는, 실시간 비디오 통신 방법.
  17. 제14항에 있어서, 얼마나 많은 수의 프레임이 아티팩트들을 포함하는지를 나타내는 보고를 수신하는 단계를 더 포함하는, 실시간 비디오 통신 방법.
  18. 제14항에 있어서,
    I 프레임의 재전송 요청을 수신하는 단계; 및
    상기 요청에 기초하여 상기 I 프레임을 재전송하는 단계
    를 더 포함하는, 실시간 비디오 통신 방법.
  19. 실시간 비디오 통신을 위한 방법으로서, 상기 방법은 컴퓨팅 장치에 의해 실행되고, 상기 방법은
    다수의 프레임에 대한 종속성 구조를 재조립하기 위해 상기 다수의 프레임 중 각각의 프레임 내에 포함되어 있는 종속성 데이터를 평가하는 단계 - 상기 다수의 프레임 각각을 송신하는 송신 컴포넌트로부터 상기 다수의 프레임을 수신하고,
    상기 송신 컴포넌트는 상기 다수의 프레임에 대해 순서 번호를 할당하고 프레임 유형 및 상기 순서 번호에 따른 상기 종속성 구조에 기초하여 상기 다수의 프레임 내에 종속성 데이터를 임베딩하도록 구성되고,
    상기 다수의 프레임 내의 프레임 각각은 상기 프레임의 프레임 카운트를 식별하기 위한 고유의 순서 번호를 포함하고,
    상기 종속성 구조는 특정 프레임이 디코딩을 위해 하나 이상의 이전 프레임들과 종속성을 가짐을 지정하고,
    상기 특정 프레임에 대한 상기 종속성 데이터는 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각에 대한 참조 프레임 번호를 포함함 - ;
    상기 다수의 프레임에 대한 상기 순서 번호에 기초하여 손실된 프레임들을 식별하는 것에 의해 프레임 손실을 추적하는 단계; 및
    상기 종속성 구조 및 프레임 손실에 기초하여 아티팩트가 있는 프레임들의 렌더링을 금지하는 단계 - 상기 특정 프레임에 대한 상기 종속성 데이터가 손실 프레임에 대응하는 참조 프레임 번호를 포함하는 경우 상기 특정 프레임을 은폐함 -
    를 포함하는, 실시간 비디오 통신 방법.
  20. 제19항에 있어서, 네트워크 패킷 손실 또는 레이트 매칭(rate matching)에 의해 야기된 프레임 손실로 인한 비디오 품질 저하를 측정하는 단계를 더 포함하는, 실시간 비디오 통신 방법.
  21. 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 실행가능 명령어들은 컴퓨팅 장치에 의해 실행되었을 때,
    다수의 프레임에 대한 종속성 구조를 재조립하기 위해 상기 다수의 프레임 중 각각의 프레임 내에 포함되어 있는 종속성 데이터를 평가하는 단계 - 상기 다수의 프레임 각각을 송신하는 송신 컴포넌트로부터 상기 다수의 프레임을 수신하고,
    상기 송신 컴포넌트는 상기 다수의 프레임에 대해 순서 번호를 할당하고 프레임 유형 및 상기 순서 번호에 따른 상기 종속성 구조에 기초하여 상기 다수의 프레임 내에 종속성 데이터를 임베딩하도록 구성되고,
    상기 다수의 프레임 내의 프레임 각각은 상기 프레임의 프레임 카운트를 식별하기 위한 고유의 순서 번호를 포함하고,
    상기 종속성 구조는 특정 프레임이 디코딩을 위해 하나 이상의 이전 프레임들과 종속성을 가짐을 지정하고,
    상기 특정 프레임에 대한 상기 종속성 데이터는 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각에 대한 참조 프레임 번호를 포함함 - ;
    상기 다수의 프레임에 대한 상기 순서 번호에 기초하여 손실된 프레임들을 식별하는 것에 의해 프레임 손실을 추적하는 단계; 및
    상기 종속성 구조 및 프레임 손실에 기초하여 아티팩트가 있는 프레임들의 렌더링을 금지하는 단계 - 상기 특정 프레임에 대한 상기 종속성 데이터가 손실 프레임에 대응하는 참조 프레임 번호를 포함하는 경우 상기 특정 프레임을 은폐함 -
    를 포함하는 방법을 수행하는, 컴퓨터 판독가능 저장 매체.
  22. 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 실행가능 명령어들은 컴퓨팅 장치에 의해 실행되었을 때,
    전송을 위해 인코딩될 다수의 프레임의 유형을 식별하는 단계;
    상기 다수의 프레임에 순서 번호를 할당하는 단계 - 프레임 각각의 순서 번호 각각은 상기 다수의 프레임 내의 각각의 프레임의 프레임 카운트를 식별함 - ;
    프레임 유형들 및 상기 순서 번호에 따른 상기 다수의 프레임에 대한 종속성 구조에 기초하여 상기 다수의 프레임 내에 종속성 데이터를 임베딩하는 단계 - 상기 종속성 구조는 디코딩을 위해 특정 프레임이 하나 이상의 이전 프레임들과 종속성을 가짐을 지정하고, 상기 특정 프레임의 상기 종속성 데이터는 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각의 참조 프레임 번호를 포함함 - ;
    상기 다수의 프레임을 수신 컴포넌트로 송신하는 단계
    를 포함하는 방법을 수행하고,
    상기 수신 컴포넌트는,
    상기 다수의 프레임의 각각의 프레임 내에 포함된 상기 종속성 데이터를 평가하여 상기 다수의 프레임에 대한 상기 종속성 구조를 재조립하고,
    상기 다수의 프레임에 대한 상기 순서 번호에 기초하여 프레임 손실을 추적하고 손실 프레임을 식별하며,
    상기 종속성 구조 및 프레임 손실에 기초하여 아티팩트를 가지는 프레임들의 렌더링을 금지하되, 상기 특정 프레임에 대한 상기 종속성 데이터가 손실 프레임에 대응하는 참조 프레임 번호를 포함하는 경우 상기 특정 프레임을 은폐하도록 구성되는
    컴퓨터 판독가능 저장 매체.
  23. 제1항에 있어서,
    상기 아티팩트 은폐 컴포넌트는 아티팩트를 포함하는 것으로 판정된 프레임들을 스킵하고, 상기 특정 프레임은 상기 아티팩트 은폐 컴포넌트에 의해 아티팩트를 포함한다고 판정되며, 상기 특정 프레임에 대응하는 참조 프레임 번호를 포함하는 종속성 데이터를 가지는 하나 이상의 프레임들이 상기 아티팩트 은폐 컴포넌트에 의해 아티팩트를 가지는 것으로 판정되는, 실시간 비디오 통신 시스템.
  24. 제21항에 있어서,
    상기 특정 프레임은 다수의 패킷을 포함하고, 상기 다수의 패킷 각각은 상기 특정 프레임의 순서 번호 및 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각의 참조 프레임 번호 각각을 포함하는 페이로드 헤더를 포함하는, 컴퓨터 판독가능 저장 매체.
  25. 제22항에 있어서,
    상기 특정 프레임은 다수의 패킷을 포함하고, 상기 다수의 패킷 각각은 상기 특정 프레임의 순서 번호 및 상기 특정 프레임이 종속성을 가지는 이전 프레임 각각의 참조 프레임 번호 각각을 포함하는 페이로드 헤더를 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020097025960A 2007-06-20 2008-05-24 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘 KR101477315B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/765,836 2007-06-20
US11/765,836 US8605779B2 (en) 2007-06-20 2007-06-20 Mechanisms to conceal real time video artifacts caused by frame loss
PCT/US2008/064805 WO2008156968A2 (en) 2007-06-20 2008-05-24 Mechanisms to conceal real time video artifacts caused by frame loss

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020147013199A Division KR101505377B1 (ko) 2007-06-20 2008-05-24 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘

Publications (2)

Publication Number Publication Date
KR20100031672A KR20100031672A (ko) 2010-03-24
KR101477315B1 true KR101477315B1 (ko) 2015-01-27

Family

ID=40136077

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147013199A KR101505377B1 (ko) 2007-06-20 2008-05-24 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘
KR1020097025960A KR101477315B1 (ko) 2007-06-20 2008-05-24 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147013199A KR101505377B1 (ko) 2007-06-20 2008-05-24 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘

Country Status (6)

Country Link
US (2) US8605779B2 (ko)
EP (1) EP2160897B1 (ko)
JP (1) JP5384488B2 (ko)
KR (2) KR101505377B1 (ko)
CN (1) CN101690204B (ko)
WO (1) WO2008156968A2 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7957307B2 (en) * 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
US8605779B2 (en) 2007-06-20 2013-12-10 Microsoft Corporation Mechanisms to conceal real time video artifacts caused by frame loss
JP2009130786A (ja) * 2007-11-27 2009-06-11 Nec Corp 通信装置、通信システム、および、通信装置間の通信品質監視方法
JP5207895B2 (ja) * 2008-09-17 2013-06-12 キヤノン株式会社 送信装置、受信装置、及び方法、プログラム
US7974233B2 (en) * 2009-07-29 2011-07-05 Wiviu Technology Inc. Systems and methods for transmitting and receiving data streams with feedback information over a lossy network
US8599932B2 (en) * 2009-12-18 2013-12-03 General Instrument Corporation Carriage systems encoding or decoding JPEG 2000 video
US9405975B2 (en) 2010-03-26 2016-08-02 Brain Corporation Apparatus and methods for pulse-code invariant object recognition
US9621930B2 (en) * 2010-05-07 2017-04-11 Deutsche Telekom Ag Distributed transcoding of video frames for transmission in a communication network
EP2647199B1 (en) * 2010-11-30 2017-01-11 Thomson Licensing Method and apparatus for measuring quality of video based on frame loss pattern
CN102256130B (zh) * 2011-07-27 2013-04-24 武汉大学 一种基于插入宏块亮度特殊值标记视频帧图像序号的方法
US9412041B1 (en) * 2012-06-29 2016-08-09 Brain Corporation Retinal apparatus and methods
US9510022B2 (en) * 2012-12-12 2016-11-29 Intel Corporation Multi-layer approach for frame-missing concealment in a video decoder
US9436909B2 (en) 2013-06-19 2016-09-06 Brain Corporation Increased dynamic range artificial neuron network apparatus and methods
US9232177B2 (en) 2013-07-12 2016-01-05 Intel Corporation Video chat data processing
US9552546B1 (en) 2013-07-30 2017-01-24 Brain Corporation Apparatus and methods for efficacy balancing in a spiking neuron network
EP2960864B1 (en) * 2014-06-23 2018-12-05 Harman Becker Automotive Systems GmbH Device and method for processing a stream of video data
US9881349B1 (en) 2014-10-24 2018-01-30 Gopro, Inc. Apparatus and methods for computerized object identification
WO2017000117A1 (zh) * 2015-06-29 2017-01-05 华为技术有限公司 数据处理的方法及接收设备
US10116576B2 (en) * 2015-10-19 2018-10-30 Samsung Electronics Co., Ltd. Methods and apparatus for random access of HEVC bitstream for MMT
US10243691B2 (en) * 2016-09-06 2019-03-26 Mediatek Singapore Pte. Ltd. Apparatuses and methods for avoiding video artifacts introduced by a handover or out-of-service (OOS) condition during a video call
JP2019083488A (ja) * 2017-10-31 2019-05-30 キヤノン株式会社 撮像装置、支持装置、及びそれらの制御方法、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06237451A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd 動画通信方式および端末装置
WO2006075302A1 (en) * 2005-01-17 2006-07-20 Koninklijke Philips Electronics N.V. System, transmitter, receiver, method and software for transmitting and receiving ordered sets of video frames
WO2006112139A1 (ja) * 2005-04-13 2006-10-26 Sharp Kabushiki Kaisha 動画像再生装置
KR20070003502A (ko) * 2005-06-30 2007-01-05 삼성전자주식회사 에러 은닉 방법 및 장치

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2750717B2 (ja) 1988-12-15 1998-05-13 国際電信電話 株式会社 画像伝送誤り訂正方式
JPH10191356A (ja) 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd 画像符号化装置
US5910827A (en) 1997-02-26 1999-06-08 Kwan; Katherine W. Video signal decoding arrangement and method for improved error concealment
US6421387B1 (en) 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6195393B1 (en) 1998-07-06 2001-02-27 General Instrument Corporation HDTV video frame synchronizer that provides clean digital video without variable delay
US6526097B1 (en) * 1999-02-03 2003-02-25 Sarnoff Corporation Frame-level rate control for plug-in video codecs
US7085285B2 (en) * 2000-03-01 2006-08-01 Realtek Semiconductor Corp. xDSL communications systems using shared/multi-function task blocks
US7110452B2 (en) * 2001-03-05 2006-09-19 Intervideo, Inc. Systems and methods for detecting scene changes in a video data stream
US7239662B2 (en) 2001-08-23 2007-07-03 Polycom, Inc. System and method for video error concealment
WO2003084234A2 (en) 2002-03-22 2003-10-09 Realnetworks, Inc. Video picture compression artifacts reduction via filtering and dithering
KR20030080136A (ko) 2002-04-04 2003-10-11 엘지전자 주식회사 전화통신망에서 동영상 재생 시의 오류 은닉 방법
JP2004193780A (ja) * 2002-12-09 2004-07-08 Sony Corp 画像信号出力装置及び画像信号出力方法
US7463688B2 (en) 2003-01-16 2008-12-09 Samsung Electronics Co., Ltd. Methods and apparatus for removing blocking artifacts of MPEG signals in real-time video reception
CN100568964C (zh) * 2003-02-18 2009-12-09 诺基亚有限公司 图像解码方法
US7606313B2 (en) 2004-01-15 2009-10-20 Ittiam Systems (P) Ltd. System, method, and apparatus for error concealment in coded video signals
EP1558033A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for controlling the insertion of additional fields or frames into a picture sequence to change its format
KR20050089457A (ko) 2004-03-05 2005-09-08 엘지전자 주식회사 동영상 복호화 시 에러 은닉 방법
KR100701032B1 (ko) 2004-09-10 2007-03-29 주식회사 이지씨앤씨 네트워크 상의 동영상 데이터 전송 조절 시스템과 그 방법
US20060062312A1 (en) 2004-09-22 2006-03-23 Yen-Chi Lee Video demultiplexer and decoder with efficient data recovery
CN100463528C (zh) * 2004-09-28 2009-02-18 乐金电子(惠州)有限公司 无线图像通信系统的错误帧跳跃方法及装置
US7650031B2 (en) * 2004-11-23 2010-01-19 Microsoft Corporation Method and system for detecting black frames in a sequence of frames
JP2006237451A (ja) 2005-02-28 2006-09-07 Jettech Ltd レーザを用いた異方導電性フィルムのボンディング装置およびその方法
EP1739974B1 (en) 2005-06-30 2010-08-11 Samsung Electronics Co., Ltd. Error concealment method and apparatus
WO2007018709A2 (en) 2005-07-25 2007-02-15 Thomson Licensing Method and apparatus for the concealment of missing video frames
CN1929618A (zh) * 2005-09-07 2007-03-14 上海乐金广电电子有限公司 对动态影像进行解码时的错误隐藏方法
US8229983B2 (en) * 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
US8693538B2 (en) * 2006-03-03 2014-04-08 Vidyo, Inc. System and method for providing error resilience, random access and rate control in scalable video communications
US20080115185A1 (en) * 2006-10-31 2008-05-15 Microsoft Corporation Dynamic modification of video properties
US20080141091A1 (en) * 2006-12-06 2008-06-12 General Instrument Corporation Method and Apparatus for Recovering From Errors in Transmission of Encoded Video Over a Local Area Network
US8605779B2 (en) 2007-06-20 2013-12-10 Microsoft Corporation Mechanisms to conceal real time video artifacts caused by frame loss

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06237451A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd 動画通信方式および端末装置
WO2006075302A1 (en) * 2005-01-17 2006-07-20 Koninklijke Philips Electronics N.V. System, transmitter, receiver, method and software for transmitting and receiving ordered sets of video frames
WO2006112139A1 (ja) * 2005-04-13 2006-10-26 Sharp Kabushiki Kaisha 動画像再生装置
KR20070003502A (ko) * 2005-06-30 2007-01-05 삼성전자주식회사 에러 은닉 방법 및 장치

Also Published As

Publication number Publication date
KR20140070668A (ko) 2014-06-10
KR20100031672A (ko) 2010-03-24
US8605779B2 (en) 2013-12-10
WO2008156968A3 (en) 2009-02-19
EP2160897A2 (en) 2010-03-10
KR101505377B1 (ko) 2015-03-23
CN101690204A (zh) 2010-03-31
US9876986B2 (en) 2018-01-23
US20140092205A1 (en) 2014-04-03
CN101690204B (zh) 2012-07-18
US20080316362A1 (en) 2008-12-25
WO2008156968A2 (en) 2008-12-24
JP2010530719A (ja) 2010-09-09
EP2160897B1 (en) 2018-12-19
EP2160897A4 (en) 2012-10-03
JP5384488B2 (ja) 2014-01-08

Similar Documents

Publication Publication Date Title
KR101477315B1 (ko) 프레임 손실에 의해 야기된 실시간 비디오 아티팩트를 은폐하는 메커니즘
CN113542655B (zh) 视频通信中的视频标注技术
TWI483597B (zh) 視訊會議速率匹配
US7242715B2 (en) Systems and methods for encoding redundant motion vectors in compressed video bitstreams
KR101617906B1 (ko) 다중 비트 전송률 스트림을 사용한 영상 회의 구독
US20220255666A1 (en) Adaptive Screen Encoding Control
US10609420B2 (en) Reducing visible artifacts during playback of a video file for recorded real-time video communications
US20100083060A1 (en) System and method for mpeg crc error based video network fault detection
US20120170654A1 (en) Video coding system using implied reference frames
US9277208B2 (en) System and method for estimating quality of video with frame freezing artifacts
Chen et al. A Markov decision model for adaptive scheduling of stored scalable videos
CN104137543B (zh) 同步预测的视频帧的动态插入
CN110248192A (zh) 编码器切换、解码器切换、屏幕分享方法和屏幕分享系统
CN113965751A (zh) 屏幕内容编码方法、装置、设备及存储介质
US7403566B2 (en) System, computer program product, and method for transmitting compressed screen images from one computer to another or many computers
WO2008077160A1 (en) Method and system for video quality estimation
US20200382745A1 (en) Gesture and prominence in video conferencing
CN113573004A (zh) 视频会议处理方法、装置、计算机设备及存储介质
WO2021143678A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
CN117294805A (zh) 一种视频会议云录制的方法、装置、电子设备和存储介质
Huang et al. Human-centric multi-layer synchronization scheme with inter-sender synchronization skewcontrol

Legal Events

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

Payment date: 20171117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 5