KR101213906B1 - 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 - Google Patents
패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 Download PDFInfo
- Publication number
- KR101213906B1 KR101213906B1 KR1020110047061A KR20110047061A KR101213906B1 KR 101213906 B1 KR101213906 B1 KR 101213906B1 KR 1020110047061 A KR1020110047061 A KR 1020110047061A KR 20110047061 A KR20110047061 A KR 20110047061A KR 101213906 B1 KR101213906 B1 KR 101213906B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- decoder
- frames
- cached
- packet loss
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/164—Feedback from the receiver or from the transmission channel
- H04N19/166—Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/188—Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
패킷 손실 복구 향상을 위하여 프레임 캐싱을 이용하는 다양한 신규 및 불명한 장치 및 방법이 개시된다. 개시된 실시예들중 하나는 인코더 및 그 대응하는 디코더 내에서 주기적이고 동기화된 프레임 캐싱을 이용하는 방법이다. 디코더가 패킷 손실을 발견하는 경우, 그 후에 인코더 및 디코더 모두에 저장되어 있는 공유 프레임들중 하나에 기초하여 프레임을 생성하는 인코더에 통지한다. 디코더가 이 생성된 프레임을 수신하는 경우 그것을 그 로컬 캐시된 프레임을 이용하여 디코드할 수 있다.
Description
저작권 승인
본 발명 문서의 개시의 일부는 저작권 보호를 받는 내용을 포함한다. 저작권 소유자는 특허 및 상표청 특허 파일 또는 기록에서 나타나는 바와 같이, 특허의 개시중 어느 하나에 의한 팩시밀리 재생에 대하여는 반대가 없지만, 그 이외에는 모든 저작권은 보유한다.
본 발명은 일반적으로 비디오, 이미지 및 다른 디지털 미디어 컨텐츠에 대한 디지털 인코딩, 디코딩 및 프로세싱을 위한 기술에 관한 것이다. 본 발명은 특히 프레임 캐싱(frame caching)에 의하여 패킷 손실 복구를 개선하는 것에 관한 것이다.
디지털 비디오는 많은 양의 저장 및 송신 용량을 소모한다. 전형적인 미가공(raw) 디지털 비디오 시퀀스는 초당 15 또는 30 프레임을 포함한다. 각각의 프레임은 수만 또는 수십만의 픽셀(펠(pels)로도 호칭함)을 포함할 수 있다. 각각의 픽셀은 픽쳐의 작은 요소를 나타낸다. 미가공 형태에서, 컴퓨터는 통상적으로 전체 24비트인 세 개의 샘플들의 한 세트로서 하나의 픽셀을 나타낸다. 예를 들면, 하나의 픽셀은 픽셀의 그레이 스케일 성분을 정의하는 하나의 8 비트 루미넌스(luminance) 샘플(루마(luma) 샘플로도 호칭함) 및 픽셀의 컬러 성분을 정의하는 두개의 8 비트 크로미넌스(chrominance) 샘플 값들(크로마(chroma) 샘플로도 호칭함)을 포함할 수 있다. 따라서, 전형적인 미가공 디지털 비디오 시퀀스의 초당 비트수, 또는 비트레이트(bitrate)는 초당 5백만 비트 또는 그 이상일 수 있다.
많은 컴퓨터들 및 컴퓨터 네트워크들은 미가공 디지털 비디오를 프로세스하기 위한 리소스들이 부족하다. 이러한 이유로, 엔지니어들은 디지털 비디오의 비트레이트를 감소하기 위하여 압축(코딩 또는 인코딩으로도 호칭함)을 이용한다. 압축은 비디오를 더 낮은 비트레이트 형태로 변환함으로써 비디오를 저장하고 송신하는 비용을 감소시킨다. 압축해제(decompression)(디코딩으로도 호칭함)는 압축된 형태로부터 오리지날 비디오의 버전을 재구성한다. "코덱"은 인코더/디코더 시스템이다. 압축은 무손실일 수 있으며, 이 경우 비디오의 품질은 손상되지 않지만, 비트레이트의 감소는 비디오 데이터의 변화도(variability)의 고유의 양(엔트로피로도 호칭함)에 의하여 제한된다. 또는, 압축은 손실이 있을 수 있으며, 이 경우 비디오의 품질은 손상되지만, 비트레이트의 달성 가능한 감소는 더욱 극적이다. 손실이 있는(lossy) 압축은 종종 무손실 압축과 함께 이용된다 - 손실 있는 압축이 정보의 근사화를 구축하고 무손실 압축 기술들은 상기 근사화를 나타내기 위하여 적용되는 시스템 설계에서.
일반적으로, 비디오 압축 기술은 "인트라픽쳐(intrapicture)" 압축 및 "인터픽쳐(interpicture)" 압축을 포함하며, 이 경우 하나의 픽쳐는 예를 들면, 순차 스캐닝된 비디오 프레임, 인터레이스된 비디오 프레임(비디오 필드들에 대하여 교호하는(alternating) 라인을 가짐), 또는 인터레이스된 비디오 필드이다. 일반적으로, 비디오 시퀀스들은 주어진 하나의 프레임 내에, 그리고 시퀀셜 프레임들 사이에 상당한 양의 리던던시를 포함한다. 예를 들면, 인간의 눈은 일반적으로는 연속적인 비디오 프레임들에서 다른 유사한 배경들에서의 근소한 차이들을 알지 못한다. 압축은 송신되는 비트스트림 내의 리던던트 자료(redundant material)의 특정한 부분을 제거하고, 그 후 그들을 픽쳐가 압축해제되는 경우에 다시 수신단에서 부가함으로써 이 리던던시들을 이용한다. 비디오 프레임들로부터 추출되는 두개의 공통 리던던시들은 공간적 및 시간적이다. 공간적 리던던시들은 단일의 프레임 내에서 인접하는 픽셀들 사이에서 발생한다. 인트라프레임, 또는 I-프레임으로 알려진, 공간적 리던던시들을 이용하여 압축되는 프레임들은 프레임 자체 내에서 이미지를 재구성하는데 필요한 정보를 모두 포함한다 - 그들은 자기포함된다(self-contained). P-프레임 및 B-프레임과 같은, 시간적(temporal) 리던던시들을 이용하는 프레임들은 다른 프레임들로부터의 정보가 디코드되는 것을 요구한다. P-프레임들(예측 인코드된 프레임들)은 인코드되며, 이전의 I- 및/또는 P-프레임들로부터의 정보를 이용하여 디코드되어야 한다. B-프레임들(양방향으로 예측 인코드된 프레임들)은 이전의 및 후속하는 I- 및 P- 프레임들 모두로부터의 정보를 이용하여 인코드된다. 모션 추정(motion estimation)은 기준 프레임으로서 알려진 이전에 인코드된 이미지로부터 생성된 모션 예측 이미지와 함께 고유의 성분(matter)을 인코딩함으로써 계속되는 비디오 프레임들(인터프레임들)에서 시간적 리던던시를 제거한다. 기준 프레임이 손실되면, 그 다음의 예측 프레임들이 해독될 수 없다 - 송신 에러는 계속되는 프레임들로 전파함.
연속하는(progressive) 프레임들의 경우, 인트라픽쳐 압축 기술들은 개별 프레임들(통상적으로 I-프레임 또는 키 프레임으로 호칭함)을 압축하고, 인터픽쳐 압축 기술들은 이전의 및/또는 다음의 프레임들(통상적으로 기준 또는 앵커 프레임들로 호칭함)에 대하여 프레임들(통상적으로 예측 프레임, P-프레임, 또는 B-프레임으로 호칭함)을 압축한다. I-프레임(자기 포함됨) 및 P-프레임(일반적으로 이전 프레임을 의미함)은 스스로 기준 프레임이 될 수 있는 한편, 이전 및 다음의 프레임들 모두를 의미하는 B-프레임들은 통상적으로는 스스로 기준으로서 이용될 수 없다.
결과적인 비디오가 디스플레이되기 전에 데이터가 압축해제되는 경우, 디코더는 통상적으로 압축 동작의 역(inverse)을 수행한다. 예를 들면, 디코더는 데이터를 압축해제하는 동안 엔트로피 디코딩(entropy decoding), 역양자화(inverse quantization), 및 역변환을 수행할 수 있다. 모션 보상이 이용되는 경우, 디코더(및 인코더)는 하나 이상의 이전에 재구성된 프레임들(이제는 기준 프레임들로서 이용됨)로부터 하나의 프레임을 재구성하고, 상기 새로 재구성된 프레임은 그 후 후속하는 프레임들에 대한 모션 보상을 위한 기준 프레임으로서 이용될 수 있다.
네트워크를 통하여 송신된 패킷들은 손실이 있는 경향이 있다 - 패킷들이 드롭됨. 이러한 손실은 랜덤 및 예측불가로 발생한다. 더욱이, 비디오 압축 스트림 데이터는 지연에 매우 민감하며, 패킷들은 그들이 송신된 것과 동일한 순서로 리어셈블될 필요가 있으므로, 너무 많이 지연된 패킷들은 급변하는(jumpy), 인터럽트된 신호를 야기시킨다. 송신 지연 문제는 또한 새로운 I-프레임을 재송신하는 경우에 발생할 수 있으며, 새로운 프레임은 손실된 기준 프레임을 손상시킨 동일한 문제들 모두에 대하여 민감하다. 더욱이, 손실이 많은 코딩 스킴에서, 압축은 저장 및 송신을 위한 타겟 비트레이트(bit-rate)를 만족하도록 설계된다. 높은 압축은 재구성된 이미지의 품질을 저하시킴으로써 성취된다. 따라서, 드롭된 또는 지연된 패킷들에 의하여 야기된 임의의 여분의 손실은 허용 가능한 레이트보다 낮게 이미지를 저하시킬 수 있다.
패킷 손실에 대처하는 능력은 실시간 비디오 코덱(RTC)이 잡음성 네트워크-손실에 민감함-에서 잘 동작하는데 중요하다. 기존의 비디오 코덱의 대부분은 기준 프레임이 손실되는 경우 새로운 I-프레임을 요청함으로써 패킷 손실에 대처한다. 다른 것들은 슬라이스 기반(slice-based) 코딩을 이용하며, 이것은 시그널링 오버헤드(signaling overhead)를 더한다. 도 1은 새로운 I-프레임 요청에 의한 전통적인 패킷 손실 복구를 도시한다.
이 종래의 방법에서, I-프레임(104)은 디코더(102)에서 수신된다. 그 후 그것은 후속하는 종속 P-프레임(106)을 해석/재구성하는데 이용된다. 충분한 패킷들이 부적절하게 수신되거나 손실되므로, 다음의 종속 프레임, P-프레임(108)은 손상된다. 후속하는 P-프레임(110) 및 임의의 후속하는 프레임은 더 이상 재구성될 수 없다. 목적지(destination) 노드에서(여기에서는 디코더(102)에 의하여 표시됨) I-프레임 요청이 생성되며 소스 노드(여기에서는 인코더(114)에 의하여 표시됨)에 송신된다. 각각의 후속하는 P-프레임 또는 B-프레임은 새로운 I-프레임(112)이 수신될 때까지 재구성될 수 없다. 소스 노드(114)가 요청을 수신하면, 새로운 I-프레임(112)을 어셈블하며 그것을 통신 채널을 이용하여 목적지 노드(102)에 송신한다. 새로운 I-프레임(112)을 수신한 후 목적 채널은 후속하는 P-프레임들을 성공적으로 디코드할 수 있다. 그러나, 이것은 초기 요청을 송신하는데 필요한 시간, 더하기 I-프레임을 인코드하는 시간, 더하기 I-프레임을 목적지 노드(102)에 송신하는 시간에 해당하는 지연(116)을 야기시킨다. 더욱이, 송신기와 수신기는 물리적으로 매우 먼 거리만큼 이격될 수 있으며, 롱 트립은 비디오의 품질의 대응하는 저하를 갖는 상당한 래그 시간(lag-time)을 생성한다.
다른 종래의 방법에서는, I-프레임(104, 112)은 규칙적인 간격으로 송신된다. 손상(corruption) 또는 지연으로 인하여 I-프레임(112)이 손실되는 경우, 디코더는 다음의 I-프레임이 수신될 때까지 대기하며, 후속하는 P-프레임(110, 108, 106)을 부정확하게 디코딩한다.
따라서, 손실이 있는 패킷 기반의 네트워크를 통하여 압축된 비디오를 송신하기 위한 향상된 방법 및 시스템에 대한 필요가 존재한다.
발명의 개요
여기에 개시된 비디오 코덱은 인코더에서의 프레임 캐시 및 디코더에서의 대응하는 프레임 캐시를 포함하며, 그 각각은 동기하여 동작할 수 있다. 디코더 캐시에서의 프레임은 디코더에서의 프레임을 해석하는 것을 돕는데 이용된다. 해석될 프레임은 인코더 캐시에 저장된 동일한 프레임의 카피를 이용하여 생성되었을 수 있다.
시스템 구현이 또한 제공된다. 그것은 데이터 패킷을 프레임으로 인코드하는 인코더, 및 프레임 또는 프레임의 일부를 저장할 수 있는 인코더 캐시를 포함한다. 그것은 프레임 또는 그 일부를 저장할 수도 있는, 디코더 캐시를 구비하는, 디코더를 더 포함한다. 디코더는 패킷 손실을 검출하도록 동작 가능하다. 일부 실시예들에서, 그러한 손실이 검출되는 경우, 인코더는 인코더 캐시에 저장된 프레임을 이용하여 프레임을 인코드하며, 그것은 그 후에 디코더 캐시에 저장된 프레임을 이용하여 디코더에서 디코드된다.
캐싱 메커니즘은 다음의 주요 특징을 제공한다:
a) 패킷 손실 복구 동안 더욱 효율적인 대역폭 이용, 및
b) 슬라이스 기반 코딩과 연관된 시그널링 오버헤드 제거.
본 발명의 추가적인 특징 및 장점은 첨부도면들을 참조하여 진행하는 실시예들에 대한 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 프레임 레벨 패킷 손실 복구의 종래 도면.
도 2는 여기에 개시된 프레임 캐싱을 이용하는 비디오의 블럭도.
도 3은 여기에 개시된 프레임 캐싱을 이용하는 비디오 디코더의 블럭도.
도 4는 프레임 캐싱을 이용하는 패킷 손실로부터의 복구를 위한 예시적인 방법의 흐름도.
도 5a는 프레임을 캐싱하는 인코더 및 동일한 프레임을 캐싱하는 디코더의 프레임 레벨 도면.
도 5b는 디코더에 도달하는 손상된 P-프레임의 프레임 레벨 도면.
도 5c는 P-프레임을 해석하기 위하여 캐시된 프레임을 이용하는 디코더를 설명하는 프레임 레벨 도면.
도 5d는 피드백 채널을 통한 패킷 손실의 리포팅의 블럭도.
도 6은 비디오 인코더/디코더 캐싱을 구현하는 적절한 방법의 흐름도.
도 7은 도 2 및 3의 비디오 인코더/디코더를 위한 적절한 컴퓨팅 환경의 블럭도.
도 2는 여기에 개시된 프레임 캐싱을 이용하는 비디오의 블럭도.
도 3은 여기에 개시된 프레임 캐싱을 이용하는 비디오 디코더의 블럭도.
도 4는 프레임 캐싱을 이용하는 패킷 손실로부터의 복구를 위한 예시적인 방법의 흐름도.
도 5a는 프레임을 캐싱하는 인코더 및 동일한 프레임을 캐싱하는 디코더의 프레임 레벨 도면.
도 5b는 디코더에 도달하는 손상된 P-프레임의 프레임 레벨 도면.
도 5c는 P-프레임을 해석하기 위하여 캐시된 프레임을 이용하는 디코더를 설명하는 프레임 레벨 도면.
도 5d는 피드백 채널을 통한 패킷 손실의 리포팅의 블럭도.
도 6은 비디오 인코더/디코더 캐싱을 구현하는 적절한 방법의 흐름도.
도 7은 도 2 및 3의 비디오 인코더/디코더를 위한 적절한 컴퓨팅 환경의 블럭도.
이하의 설명은 비디오 인코더 및 비디오 디코더 모두에서 프레임 캐시의 구현을 위한 것이며, 이것은 적절한 패킷 손실 복구 및 효율적인 대역폭 이용의 효과적인 결합을 제공하도록 설계된다. 프레임 캐시의 예시적인 응용은 이미지 또는 비디오 인코더 및 디코더에 있다. 따라서, 프레임 캐시는 일반화된 이미지 또는 비디오 인코더 및 디코더에 관하여 기술되지만, 대안적으로, 이하에서 기술된 본 예시적인 장치로부터 세부적으로 다를 수 있는 다양한 다른 이미지 및 비디오 코덱들의 인코더 및 디코더에 통합될 수 있다.
1. 일반화된 비디오 인코더 및 디코더
도 2는 일반화된 비디오 인코더(200)의 블럭도이고 도 3은 일반화된 비디오 디코더(300)의 블럭도이며, 여기에서 프레임 캐시들은 통합될 수 있다.
인코더 및 디코더 내의 모듈들 사이에서 도시된 관계들은 인코더 및 디코더에서의 정보의 주요 흐름을 나타내며, 다른 관계들은 간략성을 위하여 도시되지 않는다. 특히, 도 2 및 3은 통상적으로 비디오 시퀀스, 프레임, 매크로블럭, 블럭, 등을 위하여 이용된 인코더 세팅, 모드, 테이블, 등을 나타내는 사이드 정보를 도시하지 않는 것이 보통이다. 그러한 사이드 정보는, 전형적으로는 사이드 정보의 엔트로피 인코딩 후에, 출력 비트 스트림 내에서 송신된다. 출력 비트 스트림의 포맷은 윈도우즈 미디어 비디오 포맷 또는 다른 포맷일 수 있다.
원하는 압축의 실시 및 유형에 따라, 인코더(200) 또는 디코더(300)의 모듈들은 추가되고, 생략되고, 복수의 모듈들로 스플릿되고, 다른 모듈들과 결합되고, 및/또는 동일한 모듈들로 대체될 수 있다. 대안의 실시예에서, 상이한 모듈 및/또는 모듈의 다른 구성들을 갖는 인코더 또는 디코더들은 하나 이상의 원하는 기술들을 수행한다.
A. 비디오 인코더
도 2는 일반적인 비디오 인코더 시스템(200)의 블럭도이다.
인코더 시스템(200)은 현재 프레임(205)을 포함하는 비디오 프레임의 시퀀스를 수신하고, 출력으로서 압축된 비디오 정보(295)를 생성한다. 비디오 인코더의 특별한 실시예들은 통상적으로 일반화된 인코더(200)의 변형 또는 보충된 버전을 이용한다.
인코더 시스템(200)은 예측된 프레임 및 키 프레임을 압축한다. 프리젠테이션을 위하여, 도 2는 인코더 시스템(200)을 통한 키 프레임의 경로 및 포워드 예측(forward-predicted) 프레임들의 경로를 도시한다. 인코더 시스템(200)의 다수의 구성요소들은 키 프레임 및 예측 프레임 모두를 압축하는데 이용된다. 그 구성요소들에 의하여 수행된 정확한 동작들은 압축되는 정보의 유형에 따라 가변할 수 있다.
예측 프레임[P-프레임, B-프레임(양방향 예측), 또는 인터코드된(inter-coded) 프레임일 수 있음]은 하나 이상의 다른 프레임들로부터의 예측(또는 차이)의 관점에서 표현된다. 예측 잔존물은 예측된 것과 오리지날 프레임 사이의 차이이다. 반대로, 키 프레임[I-프레임, 또는 인트라코드된(intra-coded) 프레임으로도 호칭함]은 다른 프레임에 대한 참조 없이 압축된다.
현재 프레임(205)이 포워드 예측된 프레임이라면, 모션 추정기(210)는, 프레임 저장장치(220)에 버퍼된 재구성된 이전의 프레임인, 기준 프레임(225)에 대하여 현재 프레임(205)의 픽셀들의 다른 세트 또는 매크로 블럭들의 모션을 추정한다. 대안의 실시예에서, 기준 프레임은 더 나중의 프레임일 수 있으며 현재 프레임은 양방향으로 예측될 수 있다. 모션 추정기(210)는 사이드 정보로서 모션벡터와 같은 모션 정보(215)를 출력한다. 모션 보상기(230)는 모션 정보(215)를 재구성된 이전의 프레임(225)으로 인가하여 모션 보상된 현재 프레임(235)을 형성한다. 예측은 거의 완벽할 수 없지만, 모션 보상된 현재 프레임(235)과 오리지날 현재 프레임(205) 사이의 차이가 예측 잔존물(245)이다. 또는, 모션 추정기(210) 및 모션 보상기(230)는 모션 추정/보상의 다른 유형을 적용한다.
주파수 변환기(frequency transformer, 260)는 공간 도메인 비디오 정보를 주파수 도메인(즉, 스펙트럴) 데이터로 변환한다. 블럭 기반 비디오 프레임의 경우, 주파수 변환기(260)는 이산 코사인 변환["DCT"]과 유사한 속성을 갖는 다음의 부분들에서 기술된 변환을 적용한다. 일부 실시예에서, 주파수 변환기(260)는 키 프레임들에 대한 공간 예측 잔존물의 블럭들에 주파수 변환을 적용한다. 주파수 변환기(260)는 8x8, 8x4, 4x8, 또는 다른 사이즈 주파수 변환을 적용할 수 있다.
양자화기(270)는 그 후 스펙트럴 데이터 계수의 블럭을 양자화한다. 양자화기(270)는 한 프레임씩(frame-by-frame)을 기초로 또는 다른 기초로 변화하는 스텝사이즈를 갖는 스펙트럴 데이터로의 균일한 스칼라 양자화를 적용한다. 대안적으로 양자화기(270)는 스펙트럴 데이터 계수에 다른 유형의 양자화(예를 들면, 비균일, 벡터, 또는 비적응 양자화)를 적용하거나, 주파수 변환을 이용하지 않는 인코더 시스템의 공간 도메인 데이터를 직접 양자화한다. 적응 양자화(adaptive quantization) 이외에, 인코더(200)는 프레임 드롭핑, 적응 필터링, 또는 레이트 제어(rate control)를 위한 다른 기술들을 이용할 수 있다.
후속하는 모션 추정/보상을 위하여 재구성된 현재 프레임이 필요한 경우, 역양자화기(inverse quantizer, 276)는 양자화된 스펙트럴 데이터 계수들에 대하여 역양자화를 수행한다. 역주파수 변환기(266)는 그 후 주파수 변환기(260)의 동작의 역을 수행하여, 재구성된 예측 잔존물(예측된 프레임에 대하여) 또는 재구성된 키 프레임을 생성한다. 현재 프레임(205)이 키 프레임이었다면, 재구성된 키 프레임은 재구성된 현재 프레임(도시하지 않음)으로서 간주된다. 현재 프레임(205)이 예측된 프레임이었다면, 재구성된 예측 잔존물은 모션 보상된 현재 프레임(235)에 부가되어 재구성된 현재 프레임을 형성한다. 프레임 저장장치(220)는 다음 프레임을 예측하는데 이용하기 위하여 재구성된 현재 프레임을 버퍼한다. 일부 실시예들에서, 인코더(200)는 재구성된 프레임에 디블럭킹 필터(deblocking filter)를 적용하여 프레임의 블럭들에서의 불연속을 적응적으로 완화시킨다.
엔트로피 코더(280)는 어떤 사이드 정보(예를 들면, 모션 정보(215), 양자화 스텝 사이즈)뿐만 아니라, 양자화기(270)의 출력을 압축한다. 전형적인 엔트로피 코딩 기술들은 산술 코딩, 미분 코딩(differential coding), 후프만 코딩(Huffman coding), 런 길이 코딩(run length coding), LZ 코딩, 딕셔너리 코딩, 및 그 조합들을 포함한다. 엔트로피 코더(280)는 통상적으로 상이한 종류의 정보(예를 들면, DC 계수(coefficients), AC 계수, 등)에 대하여 상이한 코딩 기술들을 이용하며, 특정한 코딩 기술 내의 복수의 코드 테이블들 가운데 선택할 수 있다.
엔트로피 코더(280)는 버퍼(290)에 압축된 비디오 정보(295)를 넣는다. 버퍼 레벨 표시자(buffer level indicator)는 비트레이트 적응 모듈로 다시 공급된다. 압축된 비디오 정보(295)는 일정한 또는 비교적 일정한 비트레이트에서 버퍼(290)로부터 비워지며 그 비트레이트에서 후속하는 스트리밍을 위해 저장된다. 대안적으로, 인코더 시스템(200)은 압축 직후에 압축된 비디오 정보(295)를 스트림한다.
버퍼(290) 이전 또는 이후에, 압축된 비디오 정보(295)는 네트워크를 통한 송신을 위하여 채널 코드될 수 있다. 채널 코딩은 에러 검출 및 정정 데이터를 압축된 비디오 정보(295)에 적용할 수 있다.
B. 비디오 디코더
도 3은 일반적인 비디오 디코더 시스템(300)의 블럭도이다. 디코더 시스템(300)은 비디오 프레임의 압축된 시퀀스를 위한 정보(395)를 수신하고, 재구성된 프레임(305)을 포함하여, 출력을 생성한다. 비디오 디코더의 특정한 실시예들은 통상적으로 일반화된 디코더(300)의 변형 또는 보충된 버전을 이용한다.
디코더 시스템(300)은 예측된 프레임 및 키 프레임을 압축해제한다. 프리젠테이션을 위하여, 도 3은 디코더 시스템(300)을 통한 키 프레임들의 경로 및 포워드 예측된 프레임들의 경로를 도시한다. 디코더 시스템(300)의 다수의 구성요소들은 키 프레임 및 예측 프레임 모두를 압축하는데 이용된다. 그 구성요소들에 의하여 수행된 정확한 동작들은 압축되는 정보의 유형에 따라 가변할 수 있다.
버퍼(390)는 압축된 비디오 시퀀스에 대한 정보(395)를 수신하고 수신된 정보를 엔트로피 디코더(380)가 이용 가능하게 한다. 버퍼(390)는 통상적으로 시간에 대하여 매우 일정한 레이트에서 상기 정보를 수신하고, 대역폭 또는 송신에서의 단기 변화를 완화하기 위한 지터 버퍼를 포함한다. 버퍼(390)는 플레이백 버퍼 및 다른 버퍼를 또한 포함할 수 있다. 또는, 버퍼(390)는 변화하는 레이트에서 정보를 수신한다. 압축된 비디오 정보(395)는, 버퍼(390)에 도달하기 전이나, 버퍼(390)를 떠난 후, 또는 모두의 경우에 에러 검출 및 정정에 대하여 디코드되고 프로세스될 수 있다.
엔트로피 디코더(380)는 엔트로피 코드된 양자화된 데이터뿐만 아니라 엔트로피 코드된 사이드 정보(예를 들면, 모션 정보, 양자화 스텝 사이즈)를 디코드하며, 통상적으로 인코더(200)에서 수행된 엔트로피 인코딩의 역을 적용한다. 엔트로피 디코딩 기술들은 산술 디코딩, 미분 디코딩, 후프만 디코딩, 런 길이 디코딩, LZ 디코딩, 딕셔너리 디코딩, 및 그 조합들을 포함한다. 엔트로피 디코더(380)는 자주 상이한 종류의 정보(예를 들면, DC 계수(coefficients), AC 계수, 상이한 종류의 사이드 정보)에 대한 상이한 디코딩 기술들을 이용하고, 특정한 디코딩 기술 내에서 복수의 코드 테이블 가운데 선택할 수 있다.
재구성되는 프레임(305)이 포워드 예측된 프레임이면, 모션 보상기(330)는 기준 프레임(325)에 모션 정보(315)를 적용하여 재구성되는 프레임(305)의 예측(335)을 형성한다. 예를 들면, 모션 보상기(330)는 매크로 블럭 모션 벡터를 이용하여 기준 프레임(325)에서 매크로 블럭을 찾는다. 프레임 버퍼(320)는 기준 프레임으로서 이용하기 위하여 이전에 재구성된 프레임들을 저장한다. 대안적으로, 모션 보상기는 모션 보상의 다른 유형을 적용한다. 모션 보상기(330)에 의한 예측은 거의 완벽하지 않아서, 디코더(300)는 또한 예측 잔존물(345)을 재구성한다.
디코더(300)가 후속하는 모션 보상을 위하여 재구성된 프레임을 필요로 하는 경우, 프레임 저장 장치(320)는 다음 프레임을 예측하는데 이용하기 위하여 재구성된 프레임(305)을 버퍼한다. 일부 실시예에서, 인코더(200)는 재구성된 프레임(305)에 디블럭킹 필터를 적용하여 프레임의 블럭에서의 불연속을 적응적으로 완화한다.
역양자화기(370)는 엔트로피 디코드된 데이터를 역양자화한다. 일반적으로, 역양자화기(370)는 한 프레임씩을 기초로 또는 다른 기초로 변화하는 스텝 사이즈를 갖는 엔트로피 디코드된 데이터로의 균일한, 스칼라 역양자화를 적용한다. 대안적으로, 역양자화기(370)는 데이터에, 예를 들면, 비균일, 벡터, 또는 비적응 양자화와 같은 다른 종류의 역양자화를 적용하거나, 역주파수 변환을 이용하지 않는 디코더 시스템에서의 공간 도메인 데이터를 직접 역양자화한다.
역주파수 변환기(360)는 양자화된, 주파수 도메인 데이터를 공간 도메인 비디오 정보로 변환한다. 블럭 기반의 비디오 프레임들에 대하여, 역주파수 변환기(360)는 이하의 부분에서 기술된 역변환을 적용한다. 일부 실시예들에서, 역주파수 변환기(360)는 키 프레임들에 대한 공간 예측 잔존물들(spatial prediction residuals)의 블럭에 역주파수 변환을 적용한다. 역주파수 변환기(360)는 8x8, 8x4, 4x8, 또는 다른 사이즈 역주파수 변환을 적용할 수 있다.
C. 프레임 캐싱
여기에 기술된 비디오 코덱 아키텍쳐 내에서 프레임 캐싱을 이용하는 구현에서, 기준 프레임들은 인코더 및 디코더 모두에서 순차적으로 캐시되는 것이 바람직하다. 기준 프레임이 손실되는 경우, 후속하는 종속 프레임들은 디코더에서 캐시된 적절한 기준 프레임을 이용하여 디코드될 수 있다. 이것은 다음의 장점을 발생시킨다:
A) 더욱 효율적인 대역폭 이용: 종래기술 방법은 I-프레임이 생성되어 인코더로 송신되는 것을 요구한다. 본 방법은 프레임의 특별한 유형(SP-프레임)이 디코더로 송신되고, 그 후 필요할 때까지 캐시되는 것을 고려한다. SP-프레임은 일반적으로 동일 품질의 I-프레임보다 더 적은 비트로 코드될 수 있으므로, 동등한 I-프레임을 이용하여 더 적은 대역폭을 이용할 수 있다.
B) 더 빠른 에러 복구: 바람직하게는 패킷 손실이 발생할 때 SP-프레임은 이미 디코더에서 캐시되며, 이것은 스트림 내의 다음 P-프레임이 래그 시간이 거의 없이 해석되는 것을 허용한다.
2. 예시적인 방법의 개요
기술된 실시예들은 디코더에서 프레임을 캐싱하고, 그 후 상기 캐시된 프레임들을 이용하여, 손상되거나 손실된 기준 프레임들에 따르는 P-프레임 및 B-프레임을 재구성하기 위한 기술들 및 툴들을 포함한다. 캐시는 비디오 디코더(300)(도 3)의 일부, 비디오 인코더(200)(도 2)의 일부, 또는 바람직하게는, 모두로서 통합될 수 있다. 디코더에 의하여 패킷 손실이 검출되는 경우, 인코더(300)에 메시지를 송신하고, 그 후 공유된 캐시된 프레임들중 하나에 기초하여 새로운 기준 프레임을 생성한다. 생성된 기준 프레임은 그 후 디코더에 송신된다. 캐시된 프레임은 디코더에서 이용되어 다른 기준 프레임이 디코더에 도달할 때까지 상기 생성된 프레임 및 후속하는 종속 프레임들을 디코드한다. 여기에 기술된 흐름도 요소들은 오직 예시적인 것이며, 다른 흐름도 요소들이 상기 설명된 기술들에 따라서 이용될 수 있다. 더욱이, 흐름도 요소들은 상이한 순서로 발생할 수 있거나, 또는 특정한 프로세스 블럭들은 설명된 기술 및 툴에 따라 스킵될 수 있다.
상기 설명된 기술들 및 툴들은 서로 또는 다른 기술 및 툴과 결합하여 이용될 수 있거나, 독립적으로 이용될 수 있다.
도 4를 참조하면, 흐름도(400)는 여기에 기술된 방법들의 개요를 도시한다. 프로세스 블럭 402에서, 네트워크를 통하여 송신될 비디오 신호의 일부가 패킷에 할당된다. 프로세스 블럭 404에서, 인코더는 패킷의 일부 이상을 프레임으로 인코드한다. 이 프레임들은 I-프레임 및 P-프레임과 같은 기준 프레임들(325)로 구성될 수 있고, 또한 임의의 다른 프레임 유형들에 대하여 기준으로서 이용되지 않는 B-프레임으로 구성될 수있다. 스킵 프레임과 같은, 프레임의 다른 유형들이 또한 프레임으로 인코드될 수 있다. 옵션적인 프로세스 블럭 406에서, 일반적으로는 기준 프레임인 프레임이 인코더에서 캐시될 수 있다. 프레임이 캐시되면, 그 프레임 헤더에 유형 "캐시된 프레임"(CF)이 할당된다. 다른 프레임들과 함께, 캐시된 프레임은 그 후 프로세스 블럭 408에서 디코더에 송신된다. 프레임이 디코더에 있으면, 프로세스 블럭 410 에서 디코더 캐시에 캐시된다. 전형적인 캐시된 프레임 유형들은 P-프레임 및 I-프레임이다.
후속하는 기준 프레임이 손실되면, 그 후 상기 캐시된 프레임은, 프로세스 블럭 412에서 도시된 바와 같이, 다음의 종속 프레임을 압축해제하는데 이용될 수 있다. 흐름도(400)는 오직 일 실시예만을 도시하는 것이며 어떤 식으로든 제한으로서 해석되어서는 안된다. 예를 들면, 결정 블럭 406에서 인코더와 연관된 캐시는 옵션적이다. 방법(400)은 도 2 및 3에서 도시된 바와 같이 비디오 코덱에서 구현될 수 있으며, 이것은 소프트웨어, 하드웨어, 또는 그 조합으로 구현될 수 있다.
3. 캐싱 프레임을 위한 예시적인 방법
도 5a 내지 5d는 잡음성 네트워크에서 비디오 코덱의 최적의 성능을 가능하게 하는 캐싱 프레임들의 예시적인 방법을 도시한다. 도 5d를 참조하여, 일 실시예에서, 프레임들은 인코더(502D)로부터 디코더(506D)로, RTP(real time transport protocol)(508D)와 같은, 메인 채널을 통하여 송신된다. 인터넷은 종종 패킷을 손실하거나, 부적절하게 패킷을 전달한다. 패킷들은 또한 랜덤한 시간의 양에 의하여 지연될 수 있으며, 이것은 또한 그들을 사용 불능으로 만들 수 있다. 패킷 손실 이벤트는 디코더(506D)에 의하여 검출되며 디코더로부터 인코더(502D)로 피드백 채널을 통하여 시그널된다. 메시지를 정확히 재구성하기 위하여, 일부 실시예들에서는, RTP(508D) 헤더는 수신기가 패킷을 정확하게 재정렬하고 손실되는 패킷의 수를 결정하는 것을 허용하는 시퀀스 번호 및 정보를 포함한다. RTP(508D)는 데이터 전달을 모니터하는데 이용될 수 있는 피드백 채널을 제공하는데 이용되는 제어 프로토콜(RTPC)(504D)에 의하여 증대된다. 각각의 데이터 패킷은 시퀀스 번호를 가지며, 이것은 통상적으로 각각의 후속하는 데이터 패킷에 대하여 하나씩 증분된다. 일 실시예에서, 시퀀스 번호가 수신되지 않는 경우 디코더(506D)에 의하여 패킷 손실이 검출된다. 디코더(506D)가 손실된 패킷을 발견하면, 피드백 채널(504D)을 통하여 어느 패킷(또는 패킷들)이 손실되었는지를 인코더(502D)에 알리는 메시지를 송신한다. 일부 실시예들에서는, 손실된 초기 패킷에 관한 정보만 제공된다. 다른 실시예들에서, 드롭된 패킷의 수, 또는 손실된 특정 패킷들의 리스트와 같은 추가적인 정보가 또한 제공된다. 패킷 손실의 위치는 바람직하게는 리포팅 윈도우의 최초 패킷 손실의 시간 스탬프를 이용하여 송신된다. 이 정보는 인코더(502D)가 어느 캐시된 기준을 이용할 것인지를 결정하는 것을 가능하게 한다.
도 5a를 참조하여, 인코더(502A)는 프레임 캐시(504A)에 프레임들을 주기적으로 캐시한다. 어느 프레임을 캐시하는지, 얼마나 자주 캐싱이 발생하여야 하는지, 및 한 번에 캐시될 수 있어야 하는 프레임의 수는 매우 실시예 종속적이다. 일부 실시예들에서, 캐시된 프레임들은 기준 프레임, 즉 P-프레임 및 I-프레임이다. 다른 프레임 유형이 또한 캐시될 수 있다. 캐시된 프레임(506A)(또는 그 카피)이 또한 디코더(512A)에 송신된다. 인코더 캐시(504A)에 또한 저장되는 그런 프레임은 프레임 유형 CF(캐시된 프레임)에 대하여 그 헤더에 정의된다. 일부 실시예들에서, 이 헤더는 이 특정한 프레임은 나중의 사용을 위하여 디코더 캐시(510A)에 캐시되어야 하는 것을 디코더(512A)에 알림으로써 인코더(502A) 및 디코더(512A)의 동기화를 허용한다. 아래의 표 1은 캐시된 프레임(CF) 유형을 포함하여, 프레임 유형 코드들의 실시예를 도시한다.
프레임 유형 | 코드 워드(바이너리) |
I | 110 |
P | 0 |
B | 10 |
BI | 1110 |
SKIP | 11111 |
SP | 111100 |
CF | 111101 |
유형 CF(508A)의 프레임이 디코더(512A)에 도달하는 경우, 디코더 프레임 캐시(510A)에 저장된다. 디코더(512A)에서 유형 CF의 각각의 프레임을 저장하는 것은 인코더 및 디코더 프레임 캐시들(504A 및 510A)을 동기화하는 한 방법이다. 그러나, 이 프레임 캐시들을 동기화하는 다른 방법들도 고려된다.
패킷 손실(502B)이 디코더(504B)에서 검출되는 경우, 피드백 채널(504D)을 이용하여 다시 인코더(502A)로 리포트된다. 이 리포트는, 바람직하게는, 인코더(502A)가 참조하는 정확한 캐시된 프레임(504A)을 선택하도록 하는 시간 스탬프 정보를 포함한다. 다른 실시예에서는 최종 캐시된 프레임이 이용된다. 캐시된 프레임이 선택되면(504C), 다음의 프레임(506C), 바람직하게는 P-프레임을 인코드하기 위하여 인코더(502C)에 의하여 이용되지만, I- 프레임 및 다른 프레임 유형들도 인코드될 수 있다. 캐시된 프레임(506C)을 이용하여 인코드된 이 프레임은 "수퍼-P" 프레임(SP-프레임)으로 알려져 있으며 그 헤더에 있는 것으로서 시그널된다. SP-프레임에 대한 예시적인 프레임 유형 워드는 상기 표 1에 도시된다.
디코더(512C)가 SP-프레임(508C)을 수신하는 경우, 그것을 로컬 캐시된 프레임(510C)을 이용하여 압축해제된 프레임(U-프레임)(514C)으로 디코드한다. 이 방법을 이용하여, 디코더(512C)에서의 복구 시간은 패킷 손실 이벤트와 SP-프레임의 도달 사이의 간격이다. 이 생성된 SP-프레임(508C)이 송신 동안 손실되면, 디코더(512C)는 새로운 기준 프레임(일반적으로 유형 P, SP, 또는 I)이 도달할 때까지 패킷 손실 리포트를 계속 송신할 것이다. 패킷 손실로부터의 실제 복구 시간은 주로 패킷 손실 리포팅 간격의 펑션(function)이다.
일부 실시에서, 인코더(502A)는 프레임(504A)을 캐시하고 캐시된 프레임(506A)의 카피를 디코더로 주기적으로 송신한다. 송신되는 캐시된 프레임들 사이의 시간의 길이는 매우 실시 종속적(implementation-dependent)이다. 일부 실시들은 균등한 간격에서 프레임을 캐시할 수 있다. 다른 실시들은 스스로가 네트워크 속도 또는 네트워크가 경험하고 있는 손실의 양과 같은 시스템 변수들에 의존하는 간격들에서 프레임을 캐시할 수 있다.
4. 예시적인 시스템 구현
도 6은 디코더- 및 인코더-기반 프레임 캐싱을 실시하기 위하여 이용될 수 있는 비디오 시스템(600)의 다른 예시적인 구현을 도시한다. 본 발명은 다양한 일반적- 또는 특수-목적 비디오 시스템에서 실시될 수 있으므로, 비디오 시스템(600)은 본 발명의 기능 또는 사용의 범위에 대한 어떠한 제한을 제시하는 것은 아니다.
비디오 시스템은 하나 이상의 인코더(602)를 포함한다. 이 인코더는 인코더 캐시(604)를 더 포함한다. 상기 실시예에서, 캐시는 인코더(602) 내에 존재하지만, 다른 실시예들에서는 비디오 시스템 내부 이외에 존재할 수 있다. 인코더 캐시(604)는 비디오 프레임(606)의 하나 이상의 부분들을 저장하도록 인에이블된다. 제한이 아닌 제안으로, 프레임의 이 부분들은 다수의 블럭, 매크로 블럭, 다수의 슬라이스, 전체 프레임, 프레임의 그룹, 또는 당업자가 생각할 수 있는 프레임의 임의의 다른 분할로 구성될 수 있다. 인코더 캐시(604)는 오직 하나의 프레임 부분만을 캐시할 수 있거나, 두개의 부분, 또는 주어진 실시에 바람직할 수 있는 임의의 수의 부분들을 캐시할 수 있다. 비디오 시스템(600)은 또한 디코더(608)를 포함한다. 인코더(602)와 유사하게, 디코더(608)는 디코더 캐시(610)를 포함하며, 이것은 비디오 프레임(612)의 하나 이상의 부분들을 저장하는데 이용된다. 이 비디오 프레임 부분들은 하나 이상의 블럭, 매크로 블럭, 슬라이스를 포함할 수 있거나, 전체 프레임, 프레임의 그룹, 또는 당업자가 생각할 수 있는 프레임의 다른 분할을 포함할 수 있다. 디코더 캐시(610)는 하나의 프레임 부분, 두개의 프레임 부분, 또는 임의의 다른 수의 프레임 부분들을 저장하도록 셋업될 수 있다.
비디오 시스템(600)은 또한 동기화기(synchronizer, 614)를 포함하며, 이것은 인코더 캐시(604) 및 디코더 캐시(610)가 실질적으로 유사한 정보를 포함하는 것을 확실히 하기 위하여 이용된다. 전술된 바와 같이, 동기화기는, 특정한 프레임 또는 프레임의 일부가 캐시되는 것을 디코더(608)에 알리는, 인코더(602)에 의하여 인가된, 특정 프레임들 또는 프레임들의 일부에 부가된 고유 프레임 헤더를 포함할 수 있다. 예를 들면, 프레임이 인코더 캐시(604)에 저장되고 또한 디코더(608)에 송신될 수 있다. 그 프레임은 그 카피가 인코더 캐시(604)에 저장된 것을 알리는 특유의 CF(Cached Frame) 헤더를 가질 수 있다. 디코더(608)가 패킷 손실 또는 프레임을 디코딩하는 것을 어렵게 또는 불가능하게 만드는 다른 손상을 검출하는 경우, 인코더 캐시(604)에 저장된 프레임으로부터 인코더(602)에 의하여 인코드되는 후속 프레임은 이 프레임이 디코더 캐시(610)의 프레임으로부터 디코드될 수 있는 것을 알리도록 마크될 수 있다. 일부 실시들은 디코더 캐시(610)에 저장된 복수의 프레임들을 가질 수 있으며, 그러한 경우, 헤더는 또한 어느 캐시된 프레임이 이용되어야 하는지를 결정하기 위하여 충분한 다른 정보를 옵션으로 포함할 수 있다. 동기화의 다른 방법들이 또한 고찰된다. 송신기(616)는 인코더(602)로부터 디코더(608)로 프레임들을 송신한다.
5. 컴퓨팅 환경
전술된 프레임 캐싱의 실시는, 다른 예들 가운데, 컴퓨터, 이미지 및 비디오 리코딩, 송신 및 수신 장치, 포터블 비디오 플레이어 비디오 컨퍼런싱, 웹 비디오 스트리밍 애플리케이션, 등을 포함하는, 이미지 및 비디오 신호 프로세싱이 수행되는 다양한 장치들 중 어느 하나에서 수행될 수 있다. 이미지 및 비디오 코딩 기술들은, 도 7에 도시된 바와 같이, 컴퓨터 또는 다른 컴퓨터 환경에서 실행하는 이미지 및 비디오 프로세싱 소프트웨어(CPU, 또는 전용 그래픽 프로세서, 비디오 카드 등에서 실행)에서 뿐만 아니라, 하드웨어 회로(예를 들면, ASIC, FPGA, 등의 회로에서)에서 실시될 수 있다.
도 7은 전술된 프레임 캐싱이 실시될 수 있는 적절한 컴퓨팅 환경(700)의 일반화된 예를 도시한다. 본 발명은 다양한 일반적- 또는 특수한- 목적의 컴퓨팅 환경에서 실시될 수 있으므로, 컴퓨팅 환경(700)은 본 발명의 이용 또는 기능의 범위에 대하여 제한을 하려는 것이 아니다.
컴퓨팅 환경(700)은 하나 이상의 프로세싱 유니트(710) 및 메모리(720)를 포함한다. 이 가장 기본적인 구성(730)은 점선 내에 포함된다. 프로세싱 유니트(710)는 컴퓨터 실행 가능 명령을 실행하며 실제 또는 가상 프로세서일 수 있다. 멀티 프로세싱 시스템에서, 멀티플 프로세싱 유니트는 컴퓨터 실행가능 명령을 이용하여 프로세싱 파워를 증가시킨다. 메모리(720)는 휘발성 메모리(예를 들면, 레지스터, 캐시, RAM, 등), 비휘발성 메모리(예를 들면, ROM, EEPROM, 플래시 메모리, 등), 또는 둘의 어떤 조합일 수 있다. 메모리(720)는 전술된 인코더/디코더 캐싱을 실시하는 소프트웨어(780)를 저장한다.
컴퓨팅 환경은 추가적인 특징을 가질 수 있다. 예를 들면, 컴퓨팅 환경(700)은 저장장치(740), 하나 이상의 입력장치(750), 하나 이상의 출력장치(760), 및 하나 이상의 통신 접속(770)을 포함한다. 버스, 제어기, 또는 네트워크 상호접속과 같은 상호접속 메커니즘(도시하지 않음)은 컴퓨팅 환경(700)의 구성요소들을 상호접속한다. 통상적으로, 오퍼레이팅 시스템 소프트웨어(도시하지 않음)는 컴퓨팅 환경(700)에서 실행하는 다른 소프트웨어를 위한 오퍼레이팅 환경을 제공하며, 컴퓨팅 환경(700)의 구성요소들의 액티비티(activities)를 조정한다.
저장장치(740)는 분리성 또는 비분리성일 수 있으며, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, CD-RW, DVD, 또는 정보를 저장하는데 이용될 수 있고 컴퓨팅 환경(700) 내에서 액세스될 수 있는 임의의 다른 매체를 포함한다. 저장장치(740)는 인코더/디코더 캐싱 스킴을 실시하는 소프트웨어(780)를 위한 명령들을 저장한다.
입력장치(들)(750)는 키보드, 마우스, 펜, 또는 트랙볼, 음성 입력장치, 스캐닝 장치, 또는 컴퓨팅 환경(700)에 입력을 제공하는 다른 장치일 수 있다. 오디오의 경우, 입력장치(들)(750)는 사운드 카드 또는 아날로그 또는 디지털 형태로 오디오 입력을 받는 유사한 장치, 또는 컴퓨팅 환경(700)에 오디오 샘플들을 제공하는 CD-ROM 리더일 수 있다. 출력장치(들)(760)는 디스플레이, 프린터, 스피커, CD-라이터, 또는 컴퓨팅 환경(700)으로부터 출력을 제공하는 다른 장치일 수 있다.
통신접속(들)(770)은 통신매체를 통한 다른 컴퓨팅 엔티티로의 통신을 가능하게 한다. 통신매체는 컴퓨터 실행가능한 명령, 압축된 오디오 또는 비디오 정보, 또는 변조된 데이터 신호의 다른 데이터와 같은 정보를 운반한다. 변조된 데이터 신호는 신호에 정보를 인코드하는 것과 같은 방식으로 설정 또는 변경된 하나 이상의 그 특성을 갖는 신호이다. 제한이 아닌, 예로서, 통신매체는 전기적, 광학적, RF, 적외선, 음향, 또는 다른 캐리어로 실시된 유선 또는 무선 기술들을 포함한다.
여기에서의 인코더/디코더 프레임 캐싱 기술은 컴퓨터 판독가능 매체의 일반적인 관점에서 기술될 수 있다. 컴퓨터 판독가능 매체는 컴퓨팅 환경(700) 내에서 액세스될 수 있는 임의의 이용 가능한 매체이다. 제한이 아닌, 예로서, 컴퓨팅 환경(700)으로, 컴퓨터 판독가능 매체는 메모리(720), 저장장치(740), 통신매체, 및 그 임의의 조합을 포함한다.
여기에서의 인코더/디코더 프레임 캐싱은, 프로그램 모듈에 포함된 것들과 같은, 타겟 실제 또는 가상의 프로세서의 컴퓨팅 환경에서 실행되는 컴퓨터 실행가능 명령들의 일반적인 관점에서 기술될 수 있다. 일반적으로, 프로그램 모듈은, 특정한 태스크를 수행하거나 특정한 추상 데이터형을 실행하는 루틴, 프로그램, 라이브러리, 오브젝트, 클래스, 구성요소, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시에서 원하는 바대로 프로그램 모듈들 사이에서 결합 또는 분리될 수 있다. 프로그램 모듈에 대한 컴퓨터 실행가능 명령들은 로컬 또는 분산 컴퓨팅 환경 내에서 실행될 수 있다.
프리젠테이션을 위하여, 상세한 설명은 "결정하다", "송신하다", "인코드하다", "디코드하다", 및, "적용(인가)하다"와 같은 용어들을 이용하여 컴퓨팅 환경에서의 컴퓨터 오퍼레이션들을 기술한다. 이 용어들은 컴퓨터에 의하여 수행되는 오퍼레이션에 대한 하이 레벨 추상화(high level abstraction)이며, 인간에 의해 수행되는 행위와 혼동되어서는 안된다. 이 용어들에 대응하는 실제 컴퓨터 오퍼레이션들은 실시에 따라 다르다.
본 발명의 원리가 적용될 수 있는 많은 가능한 실시예들의 관점에서, 상기 상세한 실시예들은 단지 예시인 것이 인식되어야 하며 본 발명의 범위를 제한하는 것으로 간주되어서는 안된다. 오히려, 우리는 우리의 발명으로서 다음의 청구범위 및 그 균등물의 범위 및 사상 내에 포함될 수 있는 모든 실시예들을 청구한다.
Claims (19)
- 디코딩 방법으로서,
키 프레임들 및 예측 프레임들을 포함하는 일련의 인코딩된 프레임들을 디코더에서 수신하는 단계;
수신된 인코딩된 프레임을 기준 프레임으로서 캐싱하는 단계;
패킷 손실이 검출되면, 패킷 손실 검출 신호를 생성하는 단계;
상기 패킷 손실 검출 신호에 응답하여, 생성된 프레임을 수신하는 단계; 및
상기 디코더에서 캐시된 상기 기준 프레임에 기초하여 상기 생성된 프레임을 재구성하는(reconstruct) 단계를 포함하는 디코딩 방법. - 제1항에 있어서,
상기 생성된 프레임을 재구성한 것에 기초하여 압축되지 않은(uncompressed) 프레임을 생성하는 단계를 더 포함하는 디코딩 방법. - 제1항에 있어서,
상기 패킷 손실은 그와 연관된 시간을 가지며 패킷 손실 시간을 나타내는 타임스탬프가 인코더에 송신되는 디코딩 방법. - 제1항에 있어서,
수신된 인코딩된 프레임은 주기적으로 기준 프레임으로서 캐시되고, 캐시하는 주기(period between caching)는 설정된 간격(set interval)일 수 있거나 가변 간격일 수 있는 디코딩 방법. - 제4항에 있어서,
상기 수신된 인코딩된 프레임은 프레임 헤더에서 제공된 프레임 코드에 의해 캐시된 프레임인 것으로 정의되는 디코딩 방법. - 제1항에 있어서,
상기 패킷 손실 검출 신호는 새로운 키 프레임이 도착할 때까지 상기 디코더에 의해 주기적으로 송신되는 디코딩 방법. - 제1항에 있어서,
캐시된 프레임이 될 것으로 지정된 다음 프레임을 수신할 때까지 캐시된 프레임을 이용하여 생성된 키 프레임들로서 지정된 임의의 프레임들을 디코딩하는 단계를 더 포함하는 디코딩 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 캐시된 프레임은 키 프레임인 디코딩 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 캐시된 프레임은 예측 프레임인 디코딩 방법. - 컴퓨터 시스템으로 하여금 제1항 내지 제7항 중 어느 한 항의 방법을 수행하도록 하기 위한 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 기록 매체.
- 컴퓨터 시스템으로 하여금 제8항의 방법을 수행하도록 하기 위한 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 기록 매체.
- 컴퓨터 시스템으로 하여금 제9항의 방법을 수행하도록 하기 위한 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 기록 매체.
- 손실이 있는(lossy) 네트워크 내의 비디오를 디코딩하기 위한 시스템으로서,
기준 프레임의 사본을 저장하기 위한 디코더에서의 프레임 캐시를 포함하고,
상기 디코더는
일련의 인코딩된 프레임을 수신하고 인코딩된 프레임을 기준 프레임으로서 캐시하고;
패킷 손실이 검출되면, 패킷 손실 검출 신호를 생성하고;
상기 패킷 손실 검출 신호에 응답하여, 생성된 프레임을 수신하고;
상기 프레임 캐시에 저장된 상기 기준 프레임을 이용하여 상기 생성된 프레임을 디코딩하도록 동작하는 디코딩 시스템. - 제13항에 있어서,
상기 디코더는 또한 주기적으로 상기 프레임 캐시에 기준 프레임을 캐시하도록 더 동작하고, 캐시하는 주기는 설정된 간격일 수 있거나 가변 간격일 수 있는 디코딩 시스템. - 제13항에 있어서,
인코더에서 캐시된 프레임을 상기 프레임 캐시에 저장된 상기 기준 프레임과 동기화시키는 동기화기를 더 포함하는 디코딩 시스템. - 제13항에 있어서,
상기 디코더는 프레임 헤더에서 제공된 프레임 코드에 기초하여 인코딩된 프레임을 캐시하도록 동작하는 디코딩 시스템. - 제13항에 있어서,
상기 패킷 손실 검출 신호는 새로운 I-프레임이 도착할 때까지 상기 디코더에 의해 주기적으로 송신되는 디코딩 시스템. - 제13항에 있어서,
상기 디코더는 또한 캐시된 프레임이 될 것으로 지정된 다음 프레임을 수신할 때까지 캐시된 프레임을 이용하여 생성된 키 프레임들로서 지정된 임의의 프레임들을 디코딩하도록 동작하는 디코딩 시스템. - 제13항 내지 제18항 중 어느 한 항에 있어서,
상기 캐시된 프레임은 P-프레임 또는 I-프레임인 디코딩 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/027,294 US8634413B2 (en) | 2004-12-30 | 2004-12-30 | Use of frame caching to improve packet loss recovery |
US11/027,294 | 2004-12-30 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050112878A Division KR101114129B1 (ko) | 2004-12-30 | 2005-11-24 | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120078971A Division KR101344207B1 (ko) | 2004-12-30 | 2012-07-19 | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110079579A KR20110079579A (ko) | 2011-07-07 |
KR101213906B1 true KR101213906B1 (ko) | 2012-12-18 |
Family
ID=35789232
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050112878A KR101114129B1 (ko) | 2004-12-30 | 2005-11-24 | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 |
KR1020110047061A KR101213906B1 (ko) | 2004-12-30 | 2011-05-18 | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 |
KR1020120078971A KR101344207B1 (ko) | 2004-12-30 | 2012-07-19 | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050112878A KR101114129B1 (ko) | 2004-12-30 | 2005-11-24 | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120078971A KR101344207B1 (ko) | 2004-12-30 | 2012-07-19 | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 |
Country Status (9)
Country | Link |
---|---|
US (4) | US8634413B2 (ko) |
EP (2) | EP2247111A1 (ko) |
JP (3) | JP5047497B2 (ko) |
KR (3) | KR101114129B1 (ko) |
CN (2) | CN102158713B (ko) |
AT (1) | ATE473599T1 (ko) |
DE (1) | DE602005022158D1 (ko) |
ES (1) | ES2348730T3 (ko) |
HK (1) | HK1159386A1 (ko) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6499060B1 (en) | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US20100166056A1 (en) * | 2002-12-10 | 2010-07-01 | Steve Perlman | System and method for encoding video using a selected tile and tile rotation pattern |
US9138644B2 (en) * | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US10201760B2 (en) | 2002-12-10 | 2019-02-12 | Sony Interactive Entertainment America Llc | System and method for compressing video based on detected intraframe motion |
US9446305B2 (en) | 2002-12-10 | 2016-09-20 | Sony Interactive Entertainment America Llc | System and method for improving the graphics performance of hosted applications |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9227139B2 (en) | 2002-12-10 | 2016-01-05 | Sony Computer Entertainment America Llc | Virtualization system and method for hosting applications |
US9192859B2 (en) | 2002-12-10 | 2015-11-24 | Sony Computer Entertainment America Llc | System and method for compressing video based on latency measurements and other feedback |
US8526490B2 (en) * | 2002-12-10 | 2013-09-03 | Ol2, Inc. | System and method for video compression using feedback including data related to the successful receipt of video content |
US8549574B2 (en) * | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
US9314691B2 (en) * | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
US8964830B2 (en) * | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
US8366552B2 (en) | 2002-12-10 | 2013-02-05 | Ol2, Inc. | System and method for multi-stream video compression |
US9108107B2 (en) | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
US9061207B2 (en) * | 2002-12-10 | 2015-06-23 | Sony Computer Entertainment America Llc | Temporary decoder apparatus and method |
US8711923B2 (en) | 2002-12-10 | 2014-04-29 | Ol2, Inc. | System and method for selecting a video encoding format based on feedback data |
US8979655B2 (en) | 2002-12-10 | 2015-03-17 | Ol2, Inc. | System and method for securely hosting applications |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
CN100459717C (zh) * | 2005-04-20 | 2009-02-04 | 华为技术有限公司 | 基于h.264的压缩视频传输误码消除方法 |
EP1941661A4 (en) * | 2005-10-06 | 2009-03-11 | Egc & C Co Ltd | SYSTEM AND METHOD FOR MANAGING THE TRANSMISSION OF IMAGES LIVED ON A NETWORK |
US20070107011A1 (en) * | 2005-11-10 | 2007-05-10 | Zhi Li | System and method for differentiated service levels in an internet protocol television network |
US7716551B2 (en) | 2005-12-07 | 2010-05-11 | Microsoft Corporation | Feedback and frame synchronization between media encoders and decoders |
CN101087438A (zh) * | 2006-06-06 | 2007-12-12 | 安捷伦科技有限公司 | 计算无参考视频质量评估的分组丢失度量的系统和方法 |
US8578228B2 (en) | 2006-08-17 | 2013-11-05 | Telefonaktiebolaget Lm Ericcson | Error recovery for rich media |
EP2105019A2 (en) * | 2006-09-29 | 2009-09-30 | Avinity Systems B.V. | Method for streaming parallel user sessions, system and computer software |
US7957307B2 (en) * | 2007-03-14 | 2011-06-07 | Microsoft Corporation | Reducing effects of packet loss in video transmissions |
KR101487771B1 (ko) * | 2007-08-10 | 2015-01-30 | 삼성전자주식회사 | 이동통신 시스템에서 영상 정보를 복구하기 위한 방법 및장치 |
US9168457B2 (en) | 2010-09-14 | 2015-10-27 | Sony Computer Entertainment America Llc | System and method for retaining system state |
US8406296B2 (en) * | 2008-04-07 | 2013-03-26 | Qualcomm Incorporated | Video refresh adaptation algorithms responsive to error feedback |
US8385404B2 (en) * | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
JP5574346B2 (ja) * | 2009-05-22 | 2014-08-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、およびこれらの方法 |
US20110249729A1 (en) * | 2010-04-07 | 2011-10-13 | Apple Inc. | Error resilient hierarchical long term reference frames |
US8731152B2 (en) * | 2010-06-18 | 2014-05-20 | Microsoft Corporation | Reducing use of periodic key frames in video conferencing |
CN102223539A (zh) * | 2011-06-24 | 2011-10-19 | 武汉长江通信产业集团股份有限公司 | 图像编码丢帧花屏的处理方法 |
GB2495469B (en) | 2011-09-02 | 2017-12-13 | Skype | Video coding |
GB2495467B (en) * | 2011-09-02 | 2017-12-13 | Skype | Video coding |
GB2495468B (en) | 2011-09-02 | 2017-12-13 | Skype | Video coding |
US9203755B1 (en) * | 2011-09-27 | 2015-12-01 | Cisco Technology, Inc. | Error message monitoring in a network environment |
US9160687B2 (en) * | 2012-02-15 | 2015-10-13 | Massachusetts Institute Of Technology | Method and apparatus for performing finite memory network coding in an arbitrary network |
US20130223524A1 (en) * | 2012-02-29 | 2013-08-29 | Microsoft Corporation | Dynamic insertion of synchronization predicted video frames |
CN102611894B (zh) * | 2012-03-02 | 2015-01-07 | 华为技术有限公司 | 检测视频传输丢包的方法、装置和系统 |
KR101358886B1 (ko) * | 2012-04-12 | 2014-02-06 | 고려대학교 산학협력단 | 송신장치 및 수신장치, 송신장치의 동작 방법 |
CN103389879B (zh) * | 2012-05-10 | 2016-08-17 | 慧荣科技股份有限公司 | 电子装置以及由电子装置传送数据至显示设备的方法 |
US20140307808A1 (en) * | 2012-12-14 | 2014-10-16 | Boris Kudryashov | Protection against packet loss during transmitting video information |
CN103051434A (zh) * | 2012-12-20 | 2013-04-17 | 中兴通讯股份有限公司 | 数据的解压缩、解压缩处理方法及装置 |
US9407923B2 (en) * | 2013-05-20 | 2016-08-02 | Gamefly Israel Ltd. | Overconing lost IP packets in streaming video in IP networks |
FR3024582A1 (fr) | 2014-07-29 | 2016-02-05 | Orange | Gestion de la perte de trame dans un contexte de transition fd/lpd |
US10462477B2 (en) | 2015-02-25 | 2019-10-29 | Cinova Media | Partial evaluator system and method |
US10313685B2 (en) | 2015-09-08 | 2019-06-04 | Microsoft Technology Licensing, Llc | Video coding |
US10595025B2 (en) | 2015-09-08 | 2020-03-17 | Microsoft Technology Licensing, Llc | Video coding |
US10460700B1 (en) | 2015-10-12 | 2019-10-29 | Cinova Media | Method and apparatus for improving quality of experience and bandwidth in virtual reality streaming systems |
US20170103577A1 (en) * | 2015-10-12 | 2017-04-13 | Cinova Media | Method and apparatus for optimizing video streaming for virtual reality |
US10516891B2 (en) * | 2015-11-20 | 2019-12-24 | Intel Corporation | Method and system of reference frame caching for video coding |
US10841621B2 (en) * | 2017-03-01 | 2020-11-17 | Wyse Technology L.L.C. | Fault recovery of video bitstream in remote sessions |
CN110574375B (zh) * | 2017-04-28 | 2023-06-02 | 苹果公司 | 视频流水线 |
US10944971B1 (en) | 2017-05-22 | 2021-03-09 | Cinova Media | Method and apparatus for frame accurate field of view switching for virtual reality |
US10291936B2 (en) | 2017-08-15 | 2019-05-14 | Electronic Arts Inc. | Overcoming lost or corrupted slices in video streaming |
KR102392888B1 (ko) * | 2017-10-26 | 2022-04-29 | 에스케이텔레콤 주식회사 | 패킷 손실 복구를 개선하기 위한 장치 및 방법 |
US10567781B2 (en) * | 2018-05-01 | 2020-02-18 | Agora Lab, Inc. | Progressive I-slice reference for packet loss resilient video coding |
CN112740631B (zh) * | 2018-07-20 | 2024-09-20 | 诺基亚技术有限公司 | 通过接收算法中的参数的更新来在通信系统中学习 |
CN109714558A (zh) * | 2018-11-28 | 2019-05-03 | 视联动力信息技术股份有限公司 | 一种基于视联网的通信连接检测方法及系统 |
CN109862400B (zh) * | 2019-02-18 | 2021-08-31 | 苏州长风航空电子有限公司 | 一种流媒体传输方法、装置及其系统 |
CN110602507A (zh) * | 2019-08-19 | 2019-12-20 | 西安万像电子科技有限公司 | 丢帧处理方法、设备及系统 |
CN110636333A (zh) * | 2019-08-19 | 2019-12-31 | 西安万像电子科技有限公司 | 丢帧处理方法及装置 |
CN113132807B (zh) * | 2019-12-30 | 2023-04-07 | 成都鼎桥通信技术有限公司 | 基于视频的关键帧请求方法、装置、设备及存储介质 |
CN118525539A (zh) * | 2022-01-21 | 2024-08-20 | 高通股份有限公司 | 参考信号安全性 |
US12101458B2 (en) * | 2022-02-17 | 2024-09-24 | Agora Lab, Inc. | System and method for determining video codec performance in real-time communication over internet |
CN117295207B (zh) * | 2023-11-24 | 2024-03-01 | 深圳市千岩科技有限公司 | 氛围灯设备及其指令传输、应用方法和相应的装置、介质 |
Family Cites Families (194)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5130595A (ja) | 1974-09-10 | 1976-03-15 | Mitsubishi Heavy Ind Ltd | Ozonhatsuseisochi |
JPS6030394A (ja) | 1983-07-28 | 1985-02-15 | Mitsubishi Chem Ind Ltd | 感熱転写記録用チアジアゾ−ル系色素 |
JPS6078298A (ja) | 1983-10-02 | 1985-05-02 | 小山 金一 | 矢羽根用鳥羽加工自動装置 |
US4838685A (en) | 1987-04-03 | 1989-06-13 | Massachusetts Institute Of Technology | Methods and apparatus for motion estimation in motion picture processing |
FR2624997B1 (fr) | 1987-12-16 | 1990-06-01 | France Etat | Procede d'estimation multi predictif du mouvement des points d'une image electronique |
JP2521145B2 (ja) | 1989-02-20 | 1996-07-31 | 日本ビクター株式会社 | 動き補償予測符号化復号化方式 |
DE3943879B4 (de) | 1989-04-17 | 2008-07-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Digitales Codierverfahren |
GB9001468D0 (en) | 1990-01-23 | 1990-03-21 | Sarnoff David Res Center | Computing multiple motions within an image region |
JP2569219B2 (ja) | 1990-01-31 | 1997-01-08 | 富士通株式会社 | 動画像予測方式 |
NL9000424A (nl) | 1990-02-22 | 1991-09-16 | Philips Nv | Overdrachtsysteem voor gedigitaliseerde televisiebeelden. |
US5150209A (en) | 1990-05-11 | 1992-09-22 | Picturetel Corporation | Hierarchical entropy coded lattice threshold quantization encoding method and apparatus for image and video compression |
CA2043670C (en) | 1990-06-05 | 2002-01-08 | Wiebe De Haan | Method of transmitting a picture sequence of a full-motion video scene, and a medium for said transmission |
US5093720A (en) | 1990-08-20 | 1992-03-03 | General Instrument Corporation | Motion compensation for interlaced digital television signals |
JP3173508B2 (ja) | 1990-10-01 | 2001-06-04 | 株式会社日立製作所 | 動画像復号化方法、及び、動画像復号化装置 |
US5175618A (en) | 1990-10-31 | 1992-12-29 | Victor Company Of Japan, Ltd. | Compression method for interlace moving image signals |
USRE35093E (en) | 1990-12-03 | 1995-11-21 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
JP2924430B2 (ja) | 1991-04-12 | 1999-07-26 | 三菱電機株式会社 | 動き補償予測符号化装置及び動き補償予測復号装置 |
AU657510B2 (en) | 1991-05-24 | 1995-03-16 | Apple Inc. | Improved image encoding/decoding method and apparatus |
GB2256341B (en) | 1991-05-24 | 1995-02-15 | British Broadcasting Corp | Video image processing |
US5467136A (en) | 1991-05-31 | 1995-11-14 | Kabushiki Kaisha Toshiba | Video decoder for determining a motion vector from a scaled vector and a difference vector |
US5986713A (en) | 1991-05-31 | 1999-11-16 | Kabushiki Kaisha Toshiba | Video coding apparatus using inter-field prediction |
US5317397A (en) | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
US5784107A (en) | 1991-06-17 | 1998-07-21 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for picture coding and method and apparatus for picture decoding |
JP2699703B2 (ja) | 1991-07-31 | 1998-01-19 | 松下電器産業株式会社 | 動き補償予測方法とそれを用いた画像信号符号化方法 |
JP3115651B2 (ja) | 1991-08-29 | 2000-12-11 | シャープ株式会社 | 画像符号化装置 |
JP2586260B2 (ja) | 1991-10-22 | 1997-02-26 | 三菱電機株式会社 | 適応的ブロッキング画像符号化装置 |
US5227878A (en) | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
US5255090A (en) | 1991-11-19 | 1993-10-19 | Scientific-Atlanta, Inc. | Progressive transmission of vector quantized data |
US7006881B1 (en) | 1991-12-23 | 2006-02-28 | Steven Hoffberg | Media recording device with remote graphic user interface |
US6400996B1 (en) | 1999-02-01 | 2002-06-04 | Steven M. Hoffberg | Adaptive pattern recognition based control system and method |
US5293229A (en) | 1992-03-27 | 1994-03-08 | Matsushita Electric Corporation Of America | Apparatus and method for processing groups of fields in a video data compression system |
GB2266023B (en) | 1992-03-31 | 1995-09-06 | Sony Broadcast & Communication | Motion dependent video signal processing |
JP2899478B2 (ja) | 1992-06-25 | 1999-06-02 | 松下電器産業株式会社 | 画像符号化方法及び画像符号化装置 |
US6226327B1 (en) | 1992-06-29 | 2001-05-01 | Sony Corporation | Video coding method and apparatus which select between frame-based and field-based predictive modes |
US5412435A (en) | 1992-07-03 | 1995-05-02 | Kokusai Denshin Denwa Kabushiki Kaisha | Interlaced video signal motion compensation prediction system |
JP3201079B2 (ja) | 1992-07-03 | 2001-08-20 | ケイディーディーアイ株式会社 | インターレース動画像信号の動き補償予測方法、符号化方法及び装置 |
GB9215102D0 (en) | 1992-07-16 | 1992-08-26 | Philips Electronics Uk Ltd | Tracking moving objects |
JP3358835B2 (ja) | 1992-12-14 | 2002-12-24 | ソニー株式会社 | 画像符号化方法及び装置 |
US5737022A (en) | 1993-02-26 | 1998-04-07 | Kabushiki Kaisha Toshiba | Motion picture error concealment using simplified motion compensation |
US5592228A (en) | 1993-03-04 | 1997-01-07 | Kabushiki Kaisha Toshiba | Video encoder using global motion estimation and polygonal patch motion estimation |
US5376968A (en) | 1993-03-11 | 1994-12-27 | General Instrument Corporation | Adaptive compression of digital video data using different modes such as PCM and DPCM |
JP3679426B2 (ja) | 1993-03-15 | 2005-08-03 | マサチューセッツ・インスティチュート・オブ・テクノロジー | 画像データを符号化して夫々がコヒーレントな動きの領域を表わす複数の層とそれら層に付随する動きパラメータとにするシステム |
ES2431289T3 (es) | 1993-03-24 | 2013-11-25 | Sony Corporation | Método de decodificación de señal de imagen y aparato asociado |
DE69416717T2 (de) | 1993-05-21 | 1999-10-07 | Nippon Telegraph And Telephone Corp., Tokio/Tokyo | Bewegtbildkoder und -dekoder |
US5477272A (en) | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
US5493513A (en) | 1993-11-24 | 1996-02-20 | Intel Corporation | Process, apparatus and system for encoding video signals using motion estimation |
US5539663A (en) | 1993-11-24 | 1996-07-23 | Intel Corporation | Process, apparatus and system for encoding and decoding video signals using temporal filtering |
JPH07202820A (ja) | 1993-12-28 | 1995-08-04 | Matsushita Electric Ind Co Ltd | ビットレート制御システム |
KR970003799B1 (ko) | 1993-12-29 | 1997-03-21 | 양승택 | 영상 프레임차를 이용한 영상신호 전송장치 |
US5592226A (en) | 1994-01-26 | 1997-01-07 | Btg Usa Inc. | Method and apparatus for video data compression using temporally adaptive motion interpolation |
US5541594A (en) | 1994-03-28 | 1996-07-30 | Utah State University Foundation | Fixed quality source coder with fixed threshold |
US5579183A (en) | 1994-04-08 | 1996-11-26 | U.S. Philips Corporation | Recording and reproducing an MPEG information signal on/from a record carrier |
US5594504A (en) | 1994-07-06 | 1997-01-14 | Lucent Technologies Inc. | Predictive video coding using a motion vector updating routine |
JP2970417B2 (ja) | 1994-08-22 | 1999-11-02 | 日本電気株式会社 | 動画像符号化方式 |
KR100287211B1 (ko) | 1994-08-30 | 2001-04-16 | 윤종용 | 양방향 움직임 추정방법 및 장치 |
JP3474005B2 (ja) | 1994-10-13 | 2003-12-08 | 沖電気工業株式会社 | 動画像符号化方法及び動画像復号方法 |
JPH08223577A (ja) | 1994-12-12 | 1996-08-30 | Sony Corp | 動画像符号化方法及び装置、並びに動画像復号方法及び装置 |
JP3534465B2 (ja) | 1994-12-28 | 2004-06-07 | パイオニア株式会社 | サブバンド符号化方法 |
US5619281A (en) | 1994-12-30 | 1997-04-08 | Daewoo Electronics Co., Ltd | Method and apparatus for detecting motion vectors in a frame decimating video encoder |
JP3518700B2 (ja) | 1995-01-25 | 2004-04-12 | ソニー株式会社 | デイジタル信号復号装置 |
US5731840A (en) | 1995-03-10 | 1998-03-24 | Kabushiki Kaisha Toshiba | Video coding/decoding apparatus which transmits different accuracy prediction levels |
US6104754A (en) | 1995-03-15 | 2000-08-15 | Kabushiki Kaisha Toshiba | Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system |
KR0171143B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 육각그리드에서의 삼각구조 형성 장치 |
KR0181027B1 (ko) | 1995-03-20 | 1999-05-01 | 배순훈 | 화소 단위 움직임 추정을 이용하는 영상처리 시스템 |
KR0171118B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 비디오신호 부호화 장치 |
US5903313A (en) | 1995-04-18 | 1999-05-11 | Advanced Micro Devices, Inc. | Method and apparatus for adaptively performing motion compensation in a video processing apparatus |
US5621660A (en) | 1995-04-18 | 1997-04-15 | Sun Microsystems, Inc. | Software-based encoder for a software-implemented end-to-end scalable video delivery system |
KR0181063B1 (ko) | 1995-04-29 | 1999-05-01 | 배순훈 | 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치 |
KR0171154B1 (ko) | 1995-04-29 | 1999-03-20 | 배순훈 | 특징점 기반 움직임 추정을 이용하여 비디오 신호를 부호화하는 방법 및 장치 |
US5835149A (en) | 1995-06-06 | 1998-11-10 | Intel Corporation | Bit allocation in a coded video sequence |
US5731850A (en) | 1995-06-07 | 1998-03-24 | Maturi; Gregory V. | Hybrid hierarchial/full-search MPEG encoder motion estimation |
US5852664A (en) | 1995-07-10 | 1998-12-22 | Intel Corporation | Decode access control for encoded multimedia signals |
US7512698B1 (en) | 1995-07-14 | 2009-03-31 | Broadband Royalty Corporation | Dynamic quality adjustment based on changing streaming constraints |
JP2795223B2 (ja) | 1995-07-18 | 1998-09-10 | 日本電気株式会社 | 画像信号の符号化方法 |
US5668608A (en) | 1995-07-26 | 1997-09-16 | Daewoo Electronics Co., Ltd. | Motion vector estimation method and apparatus for use in an image signal encoding system |
EP0783820B1 (en) | 1995-08-02 | 2001-10-10 | Koninklijke Philips Electronics N.V. | Method and system for coding an image sequence |
KR0178229B1 (ko) | 1995-08-08 | 1999-05-01 | 배순훈 | 특징점에 근거한 화소단위 움직임 추정을 이용한 영상 처리 장치 |
JPH0974566A (ja) | 1995-09-04 | 1997-03-18 | Sony Corp | 圧縮符号化装置及び圧縮符号化データの記録装置 |
JP3068002B2 (ja) * | 1995-09-18 | 2000-07-24 | 沖電気工業株式会社 | 画像符号化装置、画像復号化装置及び画像伝送システム |
SG80607A1 (en) | 1995-09-29 | 2001-05-22 | Matsushita Electric Ind Co Ltd | Method and device for recording and reproducing interleaved bitstream on and from medium |
US6026182A (en) | 1995-10-05 | 2000-02-15 | Microsoft Corporation | Feature segmentation |
JPH09107547A (ja) | 1995-10-09 | 1997-04-22 | Hitachi Ltd | 既圧縮動画データ量削減装置および既圧縮動画データ量削減システムならびに既圧縮動画データ量削減方法 |
JP3788823B2 (ja) | 1995-10-27 | 2006-06-21 | 株式会社東芝 | 動画像符号化装置および動画像復号化装置 |
GB2306831B (en) | 1995-10-30 | 2000-05-24 | Sony Uk Ltd | Video data compression |
US5748121A (en) | 1995-12-06 | 1998-05-05 | Intel Corporation | Generation of huffman tables for signal encoding |
US5861919A (en) | 1995-12-18 | 1999-01-19 | Divicom | Dynamic rate optimization for an ensemble of video encoders |
JPH09182083A (ja) | 1995-12-27 | 1997-07-11 | Matsushita Electric Ind Co Ltd | ビデオ画像符号化方法及び復号化方法とその装置 |
US5692063A (en) | 1996-01-19 | 1997-11-25 | Microsoft Corporation | Method and system for unrestricted motion estimation for video |
US5982438A (en) | 1996-03-22 | 1999-11-09 | Microsoft Corporation | Overlapped motion compensation for object coding |
US6101276A (en) | 1996-06-21 | 2000-08-08 | Compaq Computer Corporation | Method and apparatus for performing two pass quality video compression through pipelining and buffer management |
US6011864A (en) | 1996-07-03 | 2000-01-04 | Apple Computer, Inc. | Digital image coding system having self-adjusting selection criteria for selecting a transform function |
JPH1079949A (ja) * | 1996-09-04 | 1998-03-24 | Oki Electric Ind Co Ltd | 画像符号化装置、画像復号化装置及び画像伝送システム |
US5867230A (en) | 1996-09-06 | 1999-02-02 | Motorola Inc. | System, device, and method for streaming a multimedia file encoded at a variable bitrate |
JP3263807B2 (ja) | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
US6614847B1 (en) | 1996-10-25 | 2003-09-02 | Texas Instruments Incorporated | Content-based video compression |
US5905542A (en) | 1996-12-04 | 1999-05-18 | C-Cube Microsystems, Inc. | Simplified dual prime video motion estimation |
CN1207921C (zh) | 1996-12-10 | 2005-06-22 | 英国电讯有限公司 | 视频编码 |
US6535558B1 (en) | 1997-01-24 | 2003-03-18 | Sony Corporation | Picture signal encoding method and apparatus, picture signal decoding method and apparatus and recording medium |
EP0960532B1 (en) | 1997-02-12 | 2007-01-31 | MediaTek Inc. | Apparatus and method for optimizing the rate control in a coding system |
EP2173103A3 (en) | 1997-02-13 | 2010-09-08 | Mitsubishi Denki Kabushiki Kaisha | Moving picture prediction system |
WO1998036577A1 (en) | 1997-02-14 | 1998-08-20 | Nippon Telegraph And Telephone Corporation | Predictive coding method and decoding method for dynamic image |
US5910827A (en) * | 1997-02-26 | 1999-06-08 | Kwan; Katherine W. | Video signal decoding arrangement and method for improved error concealment |
US5991447A (en) | 1997-03-07 | 1999-11-23 | General Instrument Corporation | Prediction and coding of bi-directionally predicted video object planes for interlaced digital video |
US6005980A (en) | 1997-03-07 | 1999-12-21 | General Instrument Corporation | Motion estimation and compensation of video object planes for interlaced digital video |
US6304607B1 (en) | 1997-03-18 | 2001-10-16 | Texas Instruments Incorporated | Error resilient video coding using reversible variable length codes (RVLCS) |
US6212236B1 (en) | 1997-03-26 | 2001-04-03 | Matsushita Electric Industrial Co., Ltd. | Image decoding apparatus |
US6404813B1 (en) | 1997-03-27 | 2002-06-11 | At&T Corp. | Bidirectionally predicted pictures or video object planes for efficient and flexible video coding |
AU732452B2 (en) | 1997-04-01 | 2001-04-26 | Sony Corporation | Image encoder, image encoding method, image decoder, image decoding method, and distribution media |
SG65064A1 (en) | 1997-04-09 | 1999-05-25 | Matsushita Electric Ind Co Ltd | Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media |
JPH10290391A (ja) | 1997-04-14 | 1998-10-27 | Sony Corp | 画像処理装置および画像処理方法、並びに記録媒体 |
JP3604864B2 (ja) | 1997-04-25 | 2004-12-22 | シャープ株式会社 | 動画像符号化装置 |
US6057884A (en) | 1997-06-05 | 2000-05-02 | General Instrument Corporation | Temporal and spatial scaleable coding for video object planes |
US5880784A (en) | 1997-06-17 | 1999-03-09 | Intel Corporation | Method and apparatus for adaptively switching on and off advanced prediction mode in an H.263 video coder |
US5870148A (en) | 1997-06-17 | 1999-02-09 | Intel Corporation | Method and apparatus for adaptively enabling and disabling PB frames in an H.263 video coder |
JP3045108B2 (ja) * | 1997-06-30 | 2000-05-29 | 日本電気株式会社 | テレビ電話装置 |
US6359929B1 (en) | 1997-07-04 | 2002-03-19 | Matsushita Electric Industrial Co., Ltd. | Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium |
US6282240B1 (en) | 1997-09-03 | 2001-08-28 | Oki Electric Industry Co., Ltd. | Picture coder, picture decoder, and transmission system |
US6249318B1 (en) | 1997-09-12 | 2001-06-19 | 8×8, Inc. | Video coding/decoding arrangement and method therefor |
US6807231B1 (en) | 1997-09-12 | 2004-10-19 | 8×8, Inc. | Multi-hypothesis motion-compensated video image predictor |
US5933195A (en) | 1997-09-26 | 1999-08-03 | Sarnoff Corporation | Method and apparatus memory requirements for storing reference frames in a video decoder |
US6057832A (en) | 1997-12-02 | 2000-05-02 | V Soft Ltd. | Method and apparatus for video-on-demand with fast play capability |
US5946043A (en) | 1997-12-31 | 1999-08-31 | Microsoft Corporation | Video coding using adaptive coding of block parameters for coded/uncoded blocks |
JP3186685B2 (ja) | 1998-01-12 | 2001-07-11 | 松下電器産業株式会社 | 動き補償予測方法 |
EP0935396A3 (en) | 1998-02-09 | 2004-08-11 | Matsushita Electric Industrial Co., Ltd. | Video coding method and apparatus |
JP3130512B2 (ja) * | 1998-03-02 | 2001-01-31 | 日本電信電話株式会社 | 画像通信方法、画像通信システム、および、画像通信プログラムを記録した記録媒体 |
US7263127B1 (en) | 1998-04-02 | 2007-08-28 | Intel Corporation | Method and apparatus for simplifying frame-based motion estimation |
US5991464A (en) | 1998-04-03 | 1999-11-23 | Odyssey Technologies | Method and system for adaptive video image resolution enhancement |
US6122321A (en) | 1998-05-12 | 2000-09-19 | Hitachi America, Ltd. | Methods and apparatus for reducing the complexity of inverse quantization operations |
US6289054B1 (en) | 1998-05-15 | 2001-09-11 | North Carolina University | Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network |
US6104757A (en) | 1998-05-15 | 2000-08-15 | North Carolina State University | System and method of error control for interactive low-bit rate video transmission |
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 |
US6029126A (en) | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
JP3085289B2 (ja) | 1998-09-03 | 2000-09-04 | 株式会社日立製作所 | 動画像符号化方法、及び、動画像符号化装置 |
US6415326B1 (en) | 1998-09-15 | 2002-07-02 | Microsoft Corporation | Timeline correlation between multiple timeline-altered media streams |
US6629318B1 (en) * | 1998-11-18 | 2003-09-30 | Koninklijke Philips Electronics N.V. | Decoder buffer for streaming video receiver and method of operation |
US7046910B2 (en) * | 1998-11-20 | 2006-05-16 | General Instrument Corporation | Methods and apparatus for transcoding progressive I-slice refreshed MPEG data streams to enable trick play mode features on a television appliance |
US6418166B1 (en) | 1998-11-30 | 2002-07-09 | Microsoft Corporation | Motion estimation and block matching pattern |
DE69938094T2 (de) * | 1998-11-30 | 2009-02-05 | Matsushita Electric Industries Co. Ltd., Kadoma | Paketwiederübertragungskontrolle mit Prioritätsinformationen |
US6563953B2 (en) | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
WO2000054512A1 (en) * | 1999-03-05 | 2000-09-14 | Kabushiki Kaisha Toshiba | Method and apparatus for coding moving picture image |
JP2001148853A (ja) | 1999-03-12 | 2001-05-29 | Toshiba Corp | 動画像符号化装置および復号化装置 |
US6499060B1 (en) | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US6625215B1 (en) | 1999-06-07 | 2003-09-23 | Lucent Technologies Inc. | Methods and apparatus for context-based inter/intra coding mode selection |
US6441754B1 (en) | 1999-08-17 | 2002-08-27 | General Instrument Corporation | Apparatus and methods for transcoder-based adaptive quantization |
KR100669896B1 (ko) | 1999-11-10 | 2007-01-18 | 톰슨 라이센싱 | Dvd 레코더를 위한 페이딩 특징 |
US6400990B1 (en) | 2000-02-18 | 2002-06-04 | Pacesetter, Inc. | Patient activated telemetry control unit using bidirectional asymmetric dual-mode telemetry link to communicate with an implanted device |
JP2002010265A (ja) | 2000-06-20 | 2002-01-11 | Sony Corp | 送信装置およびその方法と受信装置およびその方法 |
JP3348080B1 (ja) * | 2000-07-07 | 2002-11-20 | 松下電器産業株式会社 | データ送信装置とデータ受信装置及びデータ送受信方法 |
JP2004515132A (ja) | 2000-11-23 | 2004-05-20 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化方法及び対応するエンコーダ |
JP3917363B2 (ja) | 2000-12-12 | 2007-05-23 | 株式会社東芝 | 画像復号化装置及び画像復号化方法 |
US6765963B2 (en) * | 2001-01-03 | 2004-07-20 | Nokia Corporation | Video decoder architecture and method for using same |
US6920175B2 (en) * | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
US6907460B2 (en) * | 2001-01-18 | 2005-06-14 | Koninklijke Philips Electronics N.V. | Method for efficient retransmission timeout estimation in NACK-based protocols |
US7230919B2 (en) * | 2001-02-07 | 2007-06-12 | Siemens Communications, Inc. | Quality-of-service monitor for voice-over-Internet-protocol calls |
US6700932B2 (en) | 2001-03-06 | 2004-03-02 | Sony Corporation | MPEG video editing-cut and paste |
US6996838B2 (en) | 2001-06-12 | 2006-02-07 | Scientific Atlanta, Inc. | System and method for media processing with adaptive resource access priority assignment |
US7012893B2 (en) * | 2001-06-12 | 2006-03-14 | Smartpackets, Inc. | Adaptive control of data packet size in networks |
JP2003032689A (ja) * | 2001-07-18 | 2003-01-31 | Sharp Corp | 画像符号化装置、画像復号化装置及び動画像伝送システム |
US7542482B2 (en) | 2001-08-16 | 2009-06-02 | Qualcomm Incorporated | Method and apparatus for message segmentation in a wireless communication system |
US7218635B2 (en) | 2001-08-31 | 2007-05-15 | Stmicroelectronics, Inc. | Apparatus and method for indexing MPEG video data to perform special mode playback in a digital video recorder and indexed signal associated therewith |
DE10218541A1 (de) | 2001-09-14 | 2003-04-24 | Siemens Ag | Verfahren zur Videocodierung und Computerprogrammprodukt |
JP2003152544A (ja) | 2001-11-12 | 2003-05-23 | Sony Corp | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
US6980596B2 (en) | 2001-11-27 | 2005-12-27 | General Instrument Corporation | Macroblock level adaptive frame/field coding for digital video content |
JP3912091B2 (ja) * | 2001-12-04 | 2007-05-09 | ソニー株式会社 | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
JP3923898B2 (ja) | 2002-01-18 | 2007-06-06 | 株式会社東芝 | 画像符号化方法及び装置 |
JP2004007379A (ja) | 2002-04-10 | 2004-01-08 | Toshiba Corp | 動画像符号化方法及び動画像復号化方法 |
CN1288915C (zh) * | 2002-01-23 | 2006-12-06 | 诺基亚有限公司 | 视频序列的编码和解码方法及相关的视频编码器和解码器 |
JP4081745B2 (ja) | 2002-03-07 | 2008-04-30 | ソニー株式会社 | 復号装置および復号方法、学習装置および学習方法、並びにプログラムおよび記録媒体 |
KR100434384B1 (ko) * | 2002-03-21 | 2004-06-04 | 엘지전자 주식회사 | 선택적 흐름제어를 통한 데이터 신뢰성 보장장치 및 방법 |
JP3821740B2 (ja) * | 2002-03-22 | 2006-09-13 | Necインフロンティア株式会社 | 音声データ送受信装置 |
KR100508798B1 (ko) | 2002-04-09 | 2005-08-19 | 엘지전자 주식회사 | 쌍방향 예측 블록 예측 방법 |
KR100865034B1 (ko) | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | 모션 벡터 예측 방법 |
KR100506864B1 (ko) | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
JP2004215201A (ja) * | 2003-01-09 | 2004-07-29 | Sony Corp | 情報処理装置および情報処理方法、データ通信システム、記録媒体、並びにプログラム |
JP2004254195A (ja) | 2003-02-21 | 2004-09-09 | Matsushita Electric Ind Co Ltd | 動画像符号化装置及び動画像符号化方法並びに動画像伝送システム及び動画像符号化プログラム |
US7827458B1 (en) * | 2003-03-03 | 2010-11-02 | Apple Inc. | Packet loss error recovery |
US8824553B2 (en) | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
US20080221080A1 (en) | 2003-08-25 | 2008-09-11 | James Douglas Griffin | Method of Treating Mixed Lineage Leukemia Gene-Rearranged Acute Lymphoblastic Leukemias |
US7924921B2 (en) | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Signaling coding and display options in entry point headers |
US7577198B2 (en) | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US7142537B2 (en) * | 2003-12-18 | 2006-11-28 | Motorola, Inc. | Interface call signaling protocol |
KR20050061762A (ko) | 2003-12-18 | 2005-06-23 | 학교법인 대양학원 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
US7889792B2 (en) | 2003-12-24 | 2011-02-15 | Apple Inc. | Method and system for video encoding using a variable number of B frames |
US7643480B2 (en) * | 2004-01-22 | 2010-01-05 | Hain-Ching Liu | Method and system for reliably and efficiently transporting data over a network |
US7746927B1 (en) * | 2004-03-26 | 2010-06-29 | Apple Inc. | Robust single-pass variable bit rate encoding |
US8085846B2 (en) | 2004-08-24 | 2011-12-27 | Thomson Licensing | Method and apparatus for decoding hybrid intra-inter coded blocks |
JP4405875B2 (ja) * | 2004-08-25 | 2010-01-27 | 富士通株式会社 | エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体 |
US7302159B2 (en) * | 2004-11-12 | 2007-11-27 | Pelco | Apparatus and method of storing video data |
US7609895B2 (en) | 2004-11-16 | 2009-10-27 | Pegasus Imaging Corporation | Methods and apparatus for performing MQ-decoding operations |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
JP5130595B2 (ja) | 2006-12-01 | 2013-01-30 | ライオン株式会社 | 台所用液体洗浄剤組成物 |
JP6030394B2 (ja) | 2012-09-26 | 2016-11-24 | 住友電工プリントサーキット株式会社 | プリント配線板 |
JP6078298B2 (ja) | 2012-11-01 | 2017-02-08 | 武蔵エンジニアリング株式会社 | 位置補正機能を有する作業装置および作業方法 |
-
2004
- 2004-12-30 US US11/027,294 patent/US8634413B2/en active Active
-
2005
- 2005-11-24 KR KR1020050112878A patent/KR101114129B1/ko active IP Right Grant
- 2005-11-30 AT AT05026119T patent/ATE473599T1/de not_active IP Right Cessation
- 2005-11-30 EP EP10168516A patent/EP2247111A1/en not_active Ceased
- 2005-11-30 EP EP05026119A patent/EP1677547B1/en active Active
- 2005-11-30 CN CN2011101203762A patent/CN102158713B/zh active Active
- 2005-11-30 ES ES05026119T patent/ES2348730T3/es active Active
- 2005-11-30 DE DE602005022158T patent/DE602005022158D1/de active Active
- 2005-11-30 CN CN2005101287508A patent/CN1816150B/zh active Active
- 2005-12-27 JP JP2005375508A patent/JP5047497B2/ja active Active
-
2011
- 2011-05-18 KR KR1020110047061A patent/KR101213906B1/ko active IP Right Grant
- 2011-12-16 HK HK11113627.1A patent/HK1159386A1/xx unknown
- 2011-12-27 JP JP2011285905A patent/JP5687183B2/ja active Active
-
2012
- 2012-07-19 KR KR1020120078971A patent/KR101344207B1/ko active IP Right Grant
- 2012-09-13 US US13/614,453 patent/US9313501B2/en not_active Expired - Fee Related
- 2012-09-26 JP JP2012212607A patent/JP5620448B2/ja active Active
-
2014
- 2014-01-17 US US14/158,720 patent/US9866871B2/en active Active
-
2016
- 2016-04-11 US US15/096,076 patent/US10341688B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP1677547A1 (en) | 2006-07-05 |
DE602005022158D1 (de) | 2010-08-19 |
JP5687183B2 (ja) | 2015-03-18 |
EP1677547B1 (en) | 2010-07-07 |
EP2247111A1 (en) | 2010-11-03 |
KR101114129B1 (ko) | 2012-02-20 |
US10341688B2 (en) | 2019-07-02 |
US8634413B2 (en) | 2014-01-21 |
CN102158713A (zh) | 2011-08-17 |
JP2012090329A (ja) | 2012-05-10 |
KR20060079085A (ko) | 2006-07-05 |
US9866871B2 (en) | 2018-01-09 |
JP5620448B2 (ja) | 2014-11-05 |
US20060146830A1 (en) | 2006-07-06 |
ATE473599T1 (de) | 2010-07-15 |
KR20120100851A (ko) | 2012-09-12 |
US20130010861A1 (en) | 2013-01-10 |
ES2348730T3 (es) | 2010-12-13 |
US20160366445A1 (en) | 2016-12-15 |
JP2012253831A (ja) | 2012-12-20 |
JP5047497B2 (ja) | 2012-10-10 |
HK1159386A1 (en) | 2012-07-27 |
KR101344207B1 (ko) | 2013-12-20 |
CN1816150B (zh) | 2011-07-06 |
JP2006191599A (ja) | 2006-07-20 |
US9313501B2 (en) | 2016-04-12 |
CN102158713B (zh) | 2013-09-04 |
CN1816150A (zh) | 2006-08-09 |
KR20110079579A (ko) | 2011-07-07 |
US20140133583A1 (en) | 2014-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101213906B1 (ko) | 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용 | |
KR100628494B1 (ko) | 화상복호화방법 및 장치와 기록매체 | |
US9584832B2 (en) | High quality seamless playback for video decoder clients | |
JP2004507178A (ja) | ビデオ信号符号化方法 | |
US7577200B2 (en) | Extended range variable length coding/decoding of differential motion vector information | |
JPH10136386A (ja) | 符号化ビデオ信号処理方式 | |
JP2016519887A (ja) | 改善されたrtpペイロードフォーマット設計 | |
US6961377B2 (en) | Transcoder system for compressed digital video bitstreams | |
JP2005151570A (ja) | ビデオストリーム中の有効エントリポイントの指示 | |
JP2006507745A (ja) | 可変長コード化されたデータ・ストリーム用のトランスコーダ | |
US6804299B2 (en) | Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation | |
US8358694B2 (en) | Effective error concealment in real-world transmission environment | |
JPH05160745A (ja) | 量子化装置 | |
JPH05160743A (ja) | 量子化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
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: 20151118 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161123 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20171117 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20181115 Year of fee payment: 7 |