KR20080108457A - 비디오 신호 전송 방법 및 비디오 코더 - Google Patents

비디오 신호 전송 방법 및 비디오 코더 Download PDF

Info

Publication number
KR20080108457A
KR20080108457A KR1020087022390A KR20087022390A KR20080108457A KR 20080108457 A KR20080108457 A KR 20080108457A KR 1020087022390 A KR1020087022390 A KR 1020087022390A KR 20087022390 A KR20087022390 A KR 20087022390A KR 20080108457 A KR20080108457 A KR 20080108457A
Authority
KR
South Korea
Prior art keywords
frame
picture
window
message
storage
Prior art date
Application number
KR1020087022390A
Other languages
English (en)
Other versions
KR101335214B1 (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 KR20080108457A publication Critical patent/KR20080108457A/ko
Application granted granted Critical
Publication of KR101335214B1 publication Critical patent/KR101335214B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 의한 프레임 간 차분 코딩을 이용하는 비디오 인코더는 복수의 기준 픽쳐를 포함하기 위하여 저장소(3)를 구비한다. 각각의 입력 픽쳐에 대하여 사용할 저장된 기준 픽쳐 중 하나(또는 그 이상)을 선택한다. 제어 수단(10)은 어느 로컬 디코디드 픽쳐가 입력되고 삭제될 지 선택해서, 저장소는 언제나 한정된 시간 윈도우 안에 있는 하나 이상의 비교적 오래된 픽쳐와 상기 시간 윈도우보다 최근에 있는 하나 이상의 비교적 최근의 픽쳐를 포함한다. 수신기로부터 에러 메시지를 수신하면, 코더를 정상 상태(예측기로 임의의 픽쳐를 선택하는 것이 허용되는)에서 상기 비교적 오래된 픽쳐만 예측을 위해 선택하도록 허락되는 상태로 스위칭한다. 타임 윈도우의 개시는 바람직하게 예측된 인코더와 디코더 사이에서 왕복 시간에 따라 설정되어 하나 이상의 비교적 오래된 픽쳐가 언제나 에러 메시지보다 선행한다.

Description

비디오 신호 전송 방법 및 비디오 코더{VIDEO CODING}
본 발명은 비디오 코딩에 관한 것으로, 특히 프레임간 차분 코딩을 사용하는 비디오 인코더에 관한 것이다.
본 발명은 청구범위에 한정된다.
본 발명의 일부 실시예는 첨부 도면을 참조로 예를 들어 설명될 것이다.
도 1 은 본 발명의 실시예에 따른 비디오 전송 시스템을 구체화한 장치의 블럭도;
도 2A 는 도 1의 코더의 블럭도;
도 2B 는 도 1의 디코더의 블럭도; 및
도 3,4, 및 5는 코더와 디코더의 동작을 도시한 흐름도이다.
실시간 다중-기준 H.264 인코더 및 디코더의 일반 구조가 도 1에 도시된다. 상기 구성은 다음 기능을 실행한다.
- 비디오 프레임 캡처 및 H.264 실시간 인코딩.
- H.264 실시간 디코딩 및 디스플레이.
- RFC 3984를 사용하여 H.264/RTP 패킷화.
- UDP/IP를 통해 전송.
- H.264/RTP 디패킷화.
- RTCP/AVPF 클라이언트 스레드(thread)(RTP 손실의 생성, 지터 통계).
- RTCP/AVPF 서버 스레드(RTCP 피드백 폴링)
이 특정 코딩 표준과 이들 특정 전송 프로토콜의 사용은 단지 예일 뿐이고, 필요한 경우 다른 것이 선택될 수 있다. RTCP는 정규 수신 리포트를 제공하고 AVPF 프로파일은 패킷 손실 에러의 즉시(또는 피드백 대역폭 한계가 허용하는 한 즉시)피드백을 이제 허용한다.
도 2A는 비디오 인코더를 도시한다. 비디오 신호(일반적으로 디지털 형태)는 입력(1)에 수신된다. 감산기(2)는 박스(4)에서 그 다음에 추가 코딩되는 예측기 버퍼(3)로부터의 예측된 신호와 입력 사이에서 차를 생성한다. 여기서 실행된 코딩이 본 발명의 요소는 아니지만, 예를 들어 양자화('0' 또는 작은 차의 전송 억제를 위해) 임계치화, 변환 코딩 및/또는 가변 길이 코딩을 포함한다. 예측기 버퍼(3)로의 입력은 디코더(6)에서 디코딩되는 코딩된 차이 신호와 예측의 가산기(5)에서 형성되는 합이다(코딩 및 디코딩 프로세스에서 정보 손실이 예측기 루프에 포함되도록). 디코더(6)와 가산기(5)는 버퍼(3)와 모션 보상(8)과 함께 로컬 디코더를 형성한다.
도 2B는 디코더를 도시한다. 먼저, 박스(4)에서 실행된 임의의 코딩 동작은 프레임 간 차이 신호를 생성하도록 박스(6')(도 1의 박스(6)과 동일)에서 역전된 다. 이것은 그 다음 인코더로부터 모션 벡터를 수신하는 모션 보상 유닛(8')에서 모션 보상 후에 프레임 저장소(3)에서 예측에 가산된다. 가산기(5')의 출력은 디코더 출력을 형성하고, 프레임 저장소(3')의 입력에도 공급된다. 그러므로, 도 2의 원격 디코더는 도 1의 로컬 디코더와 같은 구조를 가지지만 뒤에 도시되는 바와 같이 컨트롤 기능 일부가 상이하다.
도시되지는 않았지만, 일정한 비트-속도 채널을 통한 전송을 허용하도록 버퍼링이 종래와 같이 인코더 출력과 디코더 입력에 제공된다.
차분 코딩은 기본적으로 프레임간이지만 프레임간 코딩은 전송 에러의 확대를 제한하도록 가끔 사용된다(전체 프레임에 대해 또는 프레임의 선택된 블럭에 대하여). 예측은 예측 버퍼(3)로부터의 이전(또는 일부 시스템에서, 이후) 디코디드(decoded) 프레임으로 간단히 구성되고; 그러나 도시되는 바와 같이 모션 예측기(7) 또한 포함된다. 이것은 코딩된 픽쳐의 프레임을 버퍼로부터의 프레임과 비교한다: 현재 프레임(그 안으로 픽쳐가 분할된 것으로 간주되는)의 각각의 블럭에 대하여, 블럭이 가장 근접하게 유사한 이전 프레임의 영역을 확인하다. 확인된 영역과 문제의 블럭 사이의 위치에서의 벡터 차이를 모션 벡터라 칭하고(보통 텔레비전 픽쳐로 묘사된 씬 내의 대상의 모션을 나타내므로), 이전 프레임의 확인된 영역을 현재의 프레임 내의 관련 블럭의 위치로 시프트하도록 하는 모션 보상 유닛(8)에 적용하여, 예측을 개선한다. 이것은 평균적으로 감산기(2)에 의해 형성되는 차를 더 작게 하고 코더(4)가 그렇지 않은 경우보다 더 낮은 비트 속도를 사용하는 픽쳐를 인코딩하는 것을 허용한다..
예측기 버퍼(3,3')는 본 실시예에서 많은 프레임-4,을 포함할 수 있다. 원칙적으로 인코더는 예측기로 임의의 저장된 프레임을 사용할 수 있고, 또는, 하나 이상: 예를 들어, H.264, 및 H.263은 8x8 블럭 기초 위에 기준 프레임이 선택되는 것을 허용한다.
도 3 은 인코더의 동작을 도시한다. 단계 100에서, 프레임-여기서 프레임 n이라 칭함-은 입력에서 수신된다. 단계 101에서, 8x8 블럭 각각에 대하여, 인코더는 버퍼(3) 내의 모든 후보 프레임을(또는 시간이 있는 한 많이) 어떤 것이 최상의 압축을 제공하는지 결정하도록 시험한다. 그 다음 단계 102에서, 프레임이 인코딩된다; 그리고 단계 103에서, 전송된다. 단계 104에서도 로컬 디코더(5,6) 등에 의해 디코딩된다. 자연스럽게 전송된 정보는 디코더가 디코딩을 위해 정확한 것을 이용할 수 있도록 사용되는 예측기의 기준 인덱스 또는 모든 예측기를 포함한다. 단계 101 ~ 104의 프로세스는 알려져 있으므로 상세히 설명하지는 않는다.
단계 105에서, 컨트롤 유닛(10)은 예측기 버퍼에 새로운 디코디드 프레임을 준비할 공간이 있는 지를 판단하고, 없으면 존재하는 프레임 중 하나를 단계 106에서 삭제한다. 프레임 삭제에 대한 알고리즘이 곧 설명된다. 그 다음 단계 107에서 새로운 디코디드 프레임은 버퍼(3)에 저장되고 프로세스는 다음 n의 값에 대해 반복된다.
H.264 인코더의 경우, 인코더가 표준에 정의된 바와 같이 "단기 프레임"으로 그 기준 프레임 모두를 저장하는 것이 바람직하다; 장기 기준 프레임이 사용될 수 있지만 단기 프레임보다 "메모리 관리 컨트롤 동작"의 손실에 덜 탄력적인 것으로 간주된다.
단계 106에서, 인코더는 버퍼(3)로부터 프레임을 삭제하기만 하면, 단계 103의 송신은 디코더로 그 프레임도 삭제하도록 명령하는 메시지를 포함한다. 이 실시예에서, 그러한 메시지는 H.264에서 정의된 "메모리 관리 제어 동작"을 사용하여 전송된다. 디코더 버퍼는 인코더가 비트스트림에 삽입한 이들 메모리 관리 제어 동작에 따라 작용하는 것으로 인코더 버퍼를 따른다.
이 메시지는 각 슬라이스(slice)(NAL 유닛)에서 전송되는 것이 바람직하고 그럴 경우 예를 들어 픽쳐는 4 슬라이스로 인코딩되고, "메모리 관리 제어 동작"(MMCO 명령)의 이 세트들은 각각 4번 전송된다. MMCO 명령은 버퍼에서 단기 또는 장기 픽쳐를 제거하는 데 사용될 수 있고, 단기를 장기로 맵핑하는 데 사용될 수 있고, 버퍼 등을 비우는 데 사용될 수 있다. 다중 MMCO 명령은 동일 슬라이스(NAL 유닛)에 전송될 수 있다.
디코더가 한 세트의 MMCO 명령을 잃으면, 인코더의 콘텐츠와 디코더 버퍼 사이에 미스 매치할 것이다. 이를 완화하기 위하여, 모든 슬라이스가 정확하게 어느 프레임이 그 시간에 디코더 버퍼에 있어야 하는 지를 디코더에 알리는 메시지를 포함하는 수정된 버전을 제공한다. 이를 행하는 한가지 방법은 H.264에 의해 정의된 "기준 픽쳐 리스트 재정렬" 명령을 사용하는 것이다. 이 기능의 방식은 다음과 같다. 인코더는 한 세트의 기준 프레임을 구비한다. 프레임 인코딩 시 이들 중 하나, 몇몇, 또는 전부를 사용하는 것을 선택하게 된다. 개념적으로, 이들 프레임은 가장 최근(가장 큰 프레임 숫자)부터 시작하여, 랩 이슈를 무시하고, 장기 인덱스 가 증가하는 순서로 가장 오래된 단기 프레임으로 진행하여 장기 프레임(있다면)으로 뒤를 잇는다. 인코더는 선택적으로 재맵핑된 순서로 알려진 몇몇 다른 순서로 이 디폴트 순서를 변경하는 한 세트의 재맵핑 명령을 비트 스트림에 포함한다. 표준에서, 이 순서의 주 목적은 사용될 기준 프레임을 확인하기 위한 엔트로피 코딩의 사용을 용이하게 하는 것이다. 재맵핑 명령은 프레임 숫자에서 재맵핑된 인덱스로의 명시적인 맵핑으로 정의된다(효율을 위해 프레임 숫자 예측 사용). 인코더는 또한 얼마나 많은 기준이 사용되는 지를 나타낸다. 기준 프레임을 언급하기 위해 사용되는 가변 길이 코드는 사용될 것으로 선언된 기준 프레임의 숫자에 좌우된다(하나면 0비트, 2이면 단일 비트, 그렇지 않으면 가변 코드표); 코드워드(codeword)의 길이는 인덱스 0 등에 대하여 짧은 코드(1비트)를 가지는 재맵핑된 인덱스에 좌우된다. 재맵핑은 디폴트 순서가 엔트로피 코딩의 효율에 최선이 아닌 경우 유용하다. 이 재맵핑 명령은 프레임(그 프레임 숫자로)이 그 버퍼에 있어야 하는 디코더로 밝히기 위하여 현재 콘텍스트(context)에서 이용될 수 있다.
이를 실행하는 방법은 인코더가 그 버퍼 내의 모든 프레임을 기준으로 하는 모든 슬라이스(NAL 유닛)에 재맵핑 명령을 삽입하고(디폴트 순서에 임의의 변경이 있을 필요 없음), 디코더가 필요한 지식이 없는 경우-아마도 MMCO 제거 명령이 없기 때문, 인코더가 그 버퍼에 보다 소수의 프레임을 가지기 때문, 또는 MMCO 제거 명령이 디코더가 가지지 않은 프레임을 참조하기 때문에, 그 버퍼에서 제거될 프레임을 결정하는 데 이들을 이용하는 것이다.
그러므로 이들 재맵핑 명령은 코더로부터 추가 메시지를 수신 가능한 에러 회복 수단으로 사용되고, 상기 추가 메시지는 어느 픽쳐가 저장소에 있어야 하고 디코딩된 픽쳐가 저장소에 있고 삭제 메시지가 수신되지 않는 경우에, 추가 메시지 중 하나를 참조로 저장소에서 삭제될 픽쳐를 선택하도록 구성된다. 한편, 디코더는 디코디드 픽쳐가 저장되고 삭제 명령이 수신되지 않은 경우에, 삭제될 픽쳐를 사용하기 위한 코더에서 사용된 것과 동일한 알고리즘을 사용하여, 삭제될 픽쳐를 저장소로부터 선택 동작 가능한 동작 가능한 에러 회복 수단으로 맞춰질 수 있다.
도 4 는 원격 수신기의 동작을 도시한다. 단계 200에서 슬라이스가 수신된다. NALU는 RTP 패킷에서 캡슐화에 적절한 네트워크 적응 레이어 유닛(Network Adaption Layer Unit)이다. NALU는 전체 픽쳐 또는 일부 픽쳐에 대한 데이터인 코딩된 H.264 슬라이스 데이터를 포함한다. 본 실시예에서는, 픽쳐의 마크로 블럭이 슬라이스 그룹으로 분할되고 이들 슬라이스 그룹 각각이 하나 이상의 슬라이스로 인코딩되는 경우, FMO(Flexible Macroblock Ordering)로 일반적으로 알려진 기술을 사용한다. FN은 현재 슬라이스 헤더 내의 프레임 숫자이고, 이전FN은 이전의 FN을 나타낸다. 슬라이스가 주기 경과하기 전에 수신되지 않은 경우(201)에 에러 메시지는 단계 202에서 인코더로 송신된다. 그 다음 단계 203에서 각 패킷이 그 다음 기대치인지를 확인되고, 아니면 그 다음 단계 204에서 에러 메시지가 인코더로 되돌려 전송된다. 단계 202와 204에서 에러 메시지의 기능은 놓친 프레임, 또는 그렇지 않으면, 본 실시예에서는, 수신되었던 마지막 양호한 프레임을 확인하는 것이다. 이것은 프레임 숫자가 되지만, 본 실시예에서, 데이터는 RTP 프로토콜을 사용하여 전송하고 에러 메시지는 RTP 패킷 숫자를 전송한다고 가정한다. 사실 본 실 시예에서, 단계 200~204는 RTP 수신기에서 실행된다. 단계 207에서, 디코더는 현재 슬라이스가 선행하는 슬라이스와 동일한 프레임에 대한 것인지 여부를 체크한다. 그렇지 않으면, 선행하는 프레임이 완전히 디코딩되었는 지 또한 체크한다(단계 208). 그렇지 않으면,(즉 하나 이상의 슬라이스 누락) 단계 209에서 종래의 은폐 기술이 디스플레이를 위한 대체 슬라이스를 생성하는 데 사용된다(예를 들어 이전 프레임으로부터 픽셀 카피). 그 다음, 단계 210~212에서(인코더에서 단계 105~107과 동일), 은폐된 프레임이 버퍼 안으로 삽입되고 필요하면 존재하는 프레임은 삭제한다.
단계 213에서, 수신된 프레임이 이전 프레임의 다음 것인지 여부를 체크한다. 그렇지 않으면(즉, 하나 이상의 전체 프레임 누락이 있음),적절한 은폐 단계가 디스플레이를 위한 프레임 또는 대체 프레임을 생성하기 위해 실행된다. 대체된 프레임의 수는 FN-이전FN-1이다. 여기서, 대체 프레임(들)은 예측기 버퍼(3')에 저장된다.
현재 슬라이스는 그 다음 단계 215에서 디코디드된다. 에러가 있으면, 은폐 기술이 필요한 경우 그들을 경감하기 위하여 사용된다. 프레임이 아직 완전하지 않으면(단계 216), 프로세스는 다른 슬라이스를 위해 단계 200으로 리턴한다. 완전하면, 그 다음 단계 217~219(인코더에서 단계 105~107과 동일)에서, 새로운 디코디드 프레임이 버퍼에 삽입되고, 필요한 경우 존재하는 프레임을 삭제한다. 이전 프레임 숫자를 가리키는 가변 이전FN은 단계 220에서 FN으로 설정된다.
에러 없이 프레임이 수신되는 것은 가능하지만 그 기준 프레임이 버퍼에서 상실되기 때문에 직접적으로 디코딩될 수는 없다. 이는 215 블럭에서 디코더 내에 있는 다른 프레임을 이용하여 NAL 유닛을 디코딩하는 것으로 처리된다. 일부 마크로 블럭은 그들의 기준이 존재하고 정확한 바와 같이 정확하게 디코딩되지만, 마크로 블럭 일부만 분실 또는 손상된 기준 탓으로 한다.
한편, 이 조건은 인식되고 프레임이 수신되지 않은 경우와 같이 단계 214로 패스되도록 제어할 수 있다.
일부 시스템에서는 모든 프레임이 다른 프레임의 코딩을 위해 예측기로 사용되는 것은 아니다: 예를 들어 MPEG-2 표준에서, B-프레임은, 프레임 간 차분 코딩 기술을 이용하여 코딩되지만, 다른 프레임의 코딩을 위해 기준 프레임으로 그 자체가 사용될 수는 없다. 그러한 상황에서는, 인코더도 디코더도 디코디드 프레임을 저장할 필요가 없다.
사용된 에러 은폐 기술은 종래에 사용되던 것이다. 예를 들어 디코더는 이전 프레임으로부터 프레임의 부정확한 부분을 복제하는 것, 또는, 더 복잡한 에러 은폐 기술(예를 들어 FMO(Flexible Macroblock Ordering)와 같은 인코더 도구를 사용)을 사용하는 것으로 에러를 은폐한다. FMO는 마크로 블럭이 래스터 스캔 순서와 상이한 순서로 인코딩되는 것을 허용하고, 이것은 차례로 일부 데이터가 전송 중 상실되면 정확하게 수신된 데이터로 둘러싸인 데이터가 있다는 것을 의미하고, 이는 상실된 정보의 은폐를 위해 사용될 수 있다.
도 5 는 원격 디코더에서 에러 메시지의 수신(단계 300에서)에 따라 인코더에서 제어 유닛에 의해 이루어진 동작을 도시한 흐름도이다. 단계 301에서, 메시 지 안의 RTP 패킷 숫자를 상응하는 마지막으로 알려진 양호한 프레임의 프레임 숫자NL KG로 번역한다. 상세하게, RTCP AVPF 전송 피드백 표지는 상실된 RTP 페이로드의 RTP 시퀀스 숫자를 식별하기 위하여 전송된다. 인코더에서의 RTP 패킷화와 RTCP 핸들러는 시퀀스 숫자와 프레임 숫자의 표를 저장하여 정확하게 수신된 최후의 기준을 추론할 수 있다.
그 다음 단계 302에서, 프레임 NLKG후에 전송되는 임의의 프레임이(버퍼(3)에 있다면) 버퍼로부터 삭제된다. 이것의 효과는 인코더가, 원격 디코더에 의해 신뢰할 수 있게 디코디드된 것으로 알려져 있고(또는, 적어도 신뢰할 수 있게 디코딩되었다고 알려져 있지 않은)-임의의 추가 코딩된 프레임의 예측기로서 이 프레임 또는 프레임들의 사용을 방해하는 것이다. 단계 303에서, 디코더가 그 자신의 버퍼로부터 상응하는 프레임을 삭제할 수 있도록 MMCO 메시지가 디코더로 전송된다(물론 그들이 실제로 있는 경우). 다른 실시예에서, 프레임 NLKG 다음에 전송된 프레임(들)은 버퍼(3)로부터 삭제되는 대신에 단순히 "사용금지"로 표시될 수 있고, 그 경우 디코더로 메시지를 전송할 필요가 없어진다.
통상 그렇듯이 예측기로 사용되어야 하는 프레임들은 캡쳐 앤드 디스플레이 차례로 코딩 및 전송되고, 그 다음 에러 메시지에 따라 삭제될 프레임이 NLKG와 동일하거나 더 큰 프레임 숫자를 갖는다. 다른 케이스에서, 예측 패턴이 프레임 n-1로부터 프레임 n을 단순히 예측하는 것보다는, 예를 들어 비디오 과잉 코딩에서 각각의 짝수 번호 프레임은 이전 짝수 번호 프레임으로부터 예측되고, 홀수 번호 프 레임에-즉, 프레임 n이 프레임 n-1로부터 예측됨, 대해서도 유사하다. 일반 케이스에서, 삭제될 프레임은 에러 상태인 프레임을 예측기(직접적 또는 간접적으로) 사용한 후에 코딩되는 프레임이다.
이 점에서, 새롭게 입력되는 프레임을 위한 길을 만들기 위해 버퍼로부터 프레임의 루틴 제거의 문제로 돌아간다. 목적은 피드백 채널이 있는 경우 패킷 손실 환경에서 에러 회복 목적과 코딩 효율 모두를 위하여, 이전에 설명된 복합 기준 프레임 워크에서 기준의 선택을 용이하게 하는 버퍼 콘텐츠와, 특히 시간 초과 기준의 확장을 관리하는 것이다. 이것은 ADSL 또는 RTP/RTCP를 사용하는 이동통신망을 통한 영상 통화(또는 낮은 버퍼링 비디오 스트리밍) 애플리케이션과 같은 높은 지연 환경(>100ms RTT)에서 특히 중요할 수 있다. 버퍼 사이즈가 왕복 시간 동안 전송된 모든 프레임을 준비하기 위하여 필요한 것보다 작은--즉, 버퍼 용량이 데이터 속도에 의해 분할된 RTT보다 작은 것이 구상된다. 목적은 지정 시간(예를 들어 프레임 n-1, 프레임 n-2) 및 범위가 채널의 왕복 시간에 의해 결정되는 임의의 정의된 더 오래된 시간 주기에 가까운 기준 조합을 선택하는 것이다. 프레임이 코딩되듯이 이들 기준은 양호한 압축 효율을 위한 가장 최근의 기준과 높은 지연 피드백을 가진 에러 회복에 적절한 오래된 기준 모두가 항상 있도록 관리될 수 있다.
본 실시예에서, 현재 프레임 n을 선행하는 2개의 프레임(n-1, n-2)이 어떠한 패킷도 손실 상황에서도 복수의 최근 기준이 여전히 가능하도록 항상 유지되어, 압축 효율은 유효하게 남는다. 또한, 왕복 시간보다 크거나 같은 양만큼 현재 프레임보다 이른 하나 이상의 프레임이 유지되어서, 패킷 손실 상황에서 인코더가 디코 더로부터 에러 메시지를 수신하는 경우, 인코더는 디코더가 정확하게 수신한 프레임을 내부 업데이트로 송신하는 대신 잠재적 예측기로 사용가능하게 한다. 이 유지는 그러나 상한을 따르고, 이 상한보다 오래된 임의의 프레임은 무시된다. 이 조건을 유지하는 것이 가능하도록 정상 상태에서 일반적으로 연령이 최근 2개와 왕복 시간보다 오래된 것 사이의 중간에 있는 하나 이상의 프레임을 유지할 필요가 있다. 본 실시예에서, 프레임의 연령을 나타내는 것은 편리하다: 즉, 현재 프레임이 프레임 n이면, 프레임(j)의 연령은 n-j이다.
기본적으로 3개의 윈도우- 최근 프레임, 중간 프레임, 및 오래된 프레임을 정의한다. 본 실시예에서, 중간 프레임과 오래된 프레임은 윈도우 크기가 m이다. 즉:
"최근" 제 1 윈도우는 연령 1 ~ 2 이고;
"중간" 윈도우는 연령 3 ~ 연령 m+2
"오래된" 윈도우는 연령 m+3 ~ 2m+2 이다.
m+3이 프레임 주기로 분할된 왕복 시간보다 크거나 같을 경우, 예를 들어 프레임 주기로 분할된 왕복 시간보다 크거나 같은 가장 작은 정수이면, "오래된" 윈도우 내의 프레임은 언제나 왕복 시간 이상 현재 프레임보다 더 오래될 것이다.
기준 버퍼 관리 규칙은 다음과 같다:
1) 버퍼가 차지 않으면 프레임 제거하지 않는다
2) 가장 최근 프레임 2 개는 언제나 유지, 예를 들어 연령 1 및 2
3) 2m+2 제한에 따라, 항상 가장 오래된 프레임 유지
4) 가장 오래된 프레임이 "오래된" 윈도우 이전 것일 경우, 이 "오래된" 윈도우 안에 여전히 프레임이 있도록 충분한 프레임을 유지한다. 이것은 버퍼 내에서 다음 오래된 프레임과 버퍼 내에서 다음 최근 프레임 사이의 시간 차가 "오래된" 윈도우의 크기(즉, m)를 초과하는 경우, 프레임이 버퍼로부터 제거되지 않는다는 것을 의미한다. 이와 같이, 중간 및 "오래된" 윈도우가 동일 사이즈인 경우, 하나 이상의 프레임이 중간 윈도우에 항상 필요하다.
이상적인 시나리오는 안정 상태 구성에서 지정 시간에 기준 확장으로 끝나는 것이다. 이를 확실하게 하는 한 방법은 가장 오래된 프레임으로부터 돌아가 작업하고 남은 기준을 고르게 확장하는 것이다. (가장 오래된 것-m), (가장 오래된 것-2m) 등, 또는 이들이 가능하지 않은 경우 가장 가까운 것.
4개의 프레임의 버퍼 용량을 예로 그렇게 작업하고, m=3이면, 범위는 1,2,[3~5],[6~8]이다.
빈 것에서 시작한 버퍼의 콘텐츠의 진행은 다음과 같은데, 각 숫자가 버퍼에서 프레임의 연령을 표시하고, 보유 기준은 nmax가 버퍼에서 가장 오래된 프레임의 연령이고 m은 이전과 같이 "오래된" 윈도우의 길이인 경우, 연령이 nmax-m에 가까운 프레임을 유지하는 것이다.
1
1,2
1,2,3
1,2,3,4
1,2,3,4,5 가능([3~5]범위에서 5-m에 가장 가까운 것은 3) => 1,2,3,5 유지
1,2,3,4,6 가능(6-m에 가장 가까운 것은 3) => 1,2,3,6 유지
1,2,3,4,7 가능(7-m에 가장 가까운 것은 4) => 1,2,4,7 유지
1,2,3,5,8 가능([8-m에 가장 가까운 것은 5) => 1,2,5,8 유지
1,2,3,6,9 가능(9는 범위 이탈) => 1,2,3,6 안정 상태로 돌아감.
이 특정 알고리즘 또한 m=5의 경우(1,2,3,8이 여기서 정상 상태)와 동일 길이를 가지고 중첩되지 않는 범위를 가진 m의 임의의 값으로 작업한다.
발생할 수 있는 다른 문제는 피드백 패킷(단계 202 또는 단계 204에서 송신됨) 그 자체가 손실되는 것이다. 디코더는, 그 에러 메시지 전송 다음에, 프레임이 인코더에서 받은 교정 작용의 증거(즉, (피드백 시간 + RTT)에 도착한 것들)를 보이는지 여부를 검출하도록 그렇게 구성될 수 있다. 최근 프레임을 제거하거나 그것들을 리스트의 끝으로 이동시키거나 리스트에서 완전히 빼버리도록 명령(사용되었다면)을 재맵핑하는 MMCO 명령을 기대할 수도 있다. 반대로, 삭제되어야할 프레임을 기준 프레임으로 사용하여 예측된 프레임을 수신하는 것은 기대되지 않는다. 이 명령의 비출연 또는 틀린 기준의 사용에 대한 응답은 다른 에러 메시지를 송신하는 것이다. 이 경우에 범위가 RTT에 직접적으로 관련되면, 범위의 개수와 동일한 시도의 개수로 회복을 위한 하나 이상의 시도를 가질 수 있다.
인코더가 오래된 프레임의 제 3(또는 그 이상)의 윈도우를 구비하면, 반복된 피드백 메시지 수신에 여전히 회복할 수 있고, 너무 늦게 오더라도, 프레임을 내부 코딩할 수 있고 그 버퍼를 소거(clear)할 수 있다.
도 4에 도시된 디코더 동작에는, 수신기로 돌아갈 에러 메시지가 패킷 손실에 따라 RTP 레벨에서만 생성된다. 그러나, 필요한 경우, 단계 215의 디코딩 프로세스 동안 인식되는 에러는 에러 메시지 트리거하는 데 이용될 수도 있다.
전술된 설명에서, 바람직한 목적은 버퍼가 왕복 시간보다 크거나 같은 마진만큼 현재 프레임보다 오래된 프레임을 항상 포함하도록 하는 것이 설명되었다. 작업된 실시예는 m+3이 프레임 주기로 분할된 왕복 시간보다 크거나 같은 가장 작은 정수와 동일하게 설정될 수 있는 것이 제안되었다.
이것을 실제 달성하는 몇 가지 방법이 있다. 인코더는 되거나 사용되는 채널의 기대되는 RTT에 대하여 수동으로 설정될 수 있다. 범위의 위와 같은 접근은 가장 오래된 기준의 연령이 범위[m+3 ... 2m+2]에서 변할 것을 의미하므로 RTT는 m+3 프레임 주기 이하여야 한다; 그러나, (예를 들어, m이 너무 낮게 설정되거나, RTT가 바람직하지 않게 변화하기 때문에) 가능성-그러나 보장하지는 않음-이 있으면, 2m+2 프레임 주기까지의 RTT가 준비된다. 원하는 프레임이 없는 경우, 이 이유 또는 복수의 에러 때문에, 인코더는 내부의 프레임을 코딩하고 모든 더 이른 프레임의 버퍼를 소거하여 회복할 수 있다.
한편, 보다 복잡한 접근에서, 실제 RTT는 예를 들어 RTCP 수신기 리포트 프로세싱에 의해 측정될 수 있고, 상기 확장 파라미터 수정에 사용될 수 있다.
디코더는 어느 프레임이 정확하게 디코딩되고 어느 프레임이 수신된 데이터의 패킷 내의 RTP 시퀀스 숫자의 시험에 의해 정확하게 디코딩될 수 없는 지를 판 단할 수 있어야 한다. 그러나, 모든 경우 완벽하게 동작하지 않을 수도 있다: 예를 들어, 디코더는 기준 프레임이 정확할 것으로 가정하지만 인코더는 디코더가 전혀 수신되지 않은 상이한 기준 프레임을 사용하였다. 이 측정의 한가지 목적은 내부 리프레쉬 프레임에 대한 필요를 피하는 것이 듯이, 그러한 검출되지 않은 미스 매치는 디코디드 픽쳐에 불명확하게 지속될 수 있다. 이 가능성을 피하기 위하여, 우리의 함께 진행중인 2005년 6월8일자 유럽 특허 출원 05253512.7(대리인 참조 번호 A30778)에 설명된 바와 같이, 코더와 디코더는 필요한 경우 에러 검출 구성으로 피팅될 수 있다.
예를 들어, m=5-연령{[1-2],[3-7],[8-12],[13-17]}인 4개의 기준 프레임 윈도우를 사용하는 5개의 기준 25 fps H.264 스트림이 (RTP/AVPF를 사용하여) 발생하 자마자 디코더에서 손실을 표시할 수 있는 피드백 메커니즘으로 위에서 설명된 시스템의 사용은 480ms까지 채널 RTT로 도착하는 피드백을 구비할 수 있다.
이 구성없이 동일한 보호를 달성하기 위하여 인코더는 12개의 단기 기준 프레임의 슬라이딩 윈도우를 사용하여 코딩하여야 한다. 실시간 인코더에서 12개의 기준을 통해 서치하는데 필요한 시간은 금지되고 그러한 큰 숫자의 기준은 프로필과 인코더와 디코더의 레벨 용량에 따라서도 허용되지 않는다.
여러 네트워크를 위한 일부 대표적인 RTT 지연이 이하에 인용된다:
GSM RTT 시간 920ms로 보고됨.
GPRS 일반적으로 6-700ms의 지연이 있음.
EDGE/UMTS는 더 낫지만 2-500ms의 지연이 있음.
ADSL(단일 링크 ~40ms)
그러므로, 설명된 구성은 에러가 없는 경우 코딩 효율에서 작은 잠재적 손실을 위하여 동일한 복잡성에 대한 종래 기술에 대한 기준 이력 윈도우를 확장하거나 동일 RTT 윈도우에 대한 복잡성을 상당히 감소시킬 수 있다. 복잡성 감소는 복합 기준 모션 추정과 이진 트리 모델링 모두에 대한 기준의 감소된 서브셋을 가지고 위에 인용된 에러 모델링 접근의 저장소 요건을 구비하는 것에서 얻어진다.
추가 정보는 여기에서 찾을 수 있다:
"H.264/AVC over IP", Wenger, S, IEEE Transactions on Circuits and Systems for Video Technology, vol.13, no.7 2003년 7월, http://ieeexplore.ieee.org/iel5/76/27384/01218197.pdf
"Overview of the H.264/AVC video coding standard", Wiegand, T., Sullivan, GJ. , Bjontegaard, G., Luthra, A., IEEE Transactions on Circuits and Systems for Video Technology, vol.13, no.7 2003년 7월, http://ieeexplore.ieee.org/iel5/76/27384/01218189.pdf

Claims (14)

  1. 비디오 신호를 송신하는 방법에 있어서,
    복수의 기준 픽쳐를 저장하는 단계;
    입력된 비디오 신호를 코딩하고 디코더로 전송하는 단계; 및
    상기 코딩된 신호를 로컬 디코딩하여 상기 기준 픽쳐로 저장하기 위한 로컬 디코디드 픽쳐를 생성하는 단계;를 포함하고,
    상기 코딩은, 적어도 일부 픽쳐에 대하여 하나 이상의 상기 저장된 기준 픽쳐를 선택하는 단계와 그에 관련한 프레임 간 차분 코딩을 사용하여 적어도 일부의 픽쳐를 코딩하는 단계로 수행되며,
    상기 방법은 에러 메시지 수신하는 단계를 포함하고 그에 따라 비교적 새로운 기준 픽쳐를 예측기로 사용하는 것을 억제하고 상기 비교적 더 오래된 픽쳐만 예측을 위해 선택하고;
    상기 기준 픽쳐는 상기 프레임 주기로 분할된 상기 디코더로의 왕복 시간보다 작은 저장 용량을 가진 버퍼에 저장되며;
    상기 방법은 새롭게 디코디드 픽쳐가 대체하도록 저장소로부터 삭제될 기준 픽쳐를 선택하는 단계를 포함하고,
    상기 선택은 복수의 프레임 주기의 지속 시간을 가지는 한정된 타임 윈도우에 따라 이루어지고 상기 윈도우에서 가장 최근 프레임이 상기 프레임 주기로 분할된 왕복 시간 이상의 시간 간격 정도 현재 프레임보다 오래되도록 시간이 지정되 고,
    상기 삭제는,
    (a) 상기 정의된 윈도우에 단 하나의 프레임이 포함되면, 상기 프레임은 삭제되는 규칙; 및
    (b) 버퍼 내의 상기 이전 프레임과 이후 프레임 사이의 시간 차가 상기 윈도우 길이를 초과하는 경우 어떠한 프레임도 삭제되지 않는 규칙;을 따르는 것을 특징으로 하는 비디오 신호를 전송하는 방법.
  2. 제 1 항에 있어서,
    상기 에러 메시지는 어느 프레임이 수신기에서 에러인지와 같은 표시를 포함하고, 상기 에러 메시지 수신 수단은 에러로 표시되는 프레임과 그로부터 직접적으로 또는 간접적으로 예측된 임의의 다음 코딩되는 프레임의 예측기로서의 사용을 억제하도록 작동할 수 있는 것을 특징으로 하는 비디오 신호를 전송하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 왕복 시간을 측정하는 단계와 그에 따라 상기 타임 윈도우를 수정하는 단계를 포함하는 것을 특징으로 하는 비디오 신호를 전송하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    삭제되도록 선택되는 상기 기준 픽쳐를 식별하는 메시지를 디코더에 전송하 는 단계를 포함하는 것을 특징으로 하는 비디오 신호를 전송하는 방법.
  5. 비디오 코더에 있어서,
    복수의 기준 픽쳐를 저장하는 저장소;
    입력된 비디오 신호를 코딩하고, 각 픽쳐에 대하여 하나 이상의 상기 저장된 기준 픽쳐를 선택하고 그에 관련된 프레임 간 차분 코딩을 이용하여 코딩할 수 있는 차분 코딩 수단;
    상기 저장소로 입력을 위해 로컬 디코딩되는 픽쳐를 생성하는 로컬 디코딩 수단;
    수신기로부터 에러 메시지를 수신하고, 그에 따라, 상기 비교적 최근 픽쳐를 예측기로 선택하는 것이 허용되는 상태에서 상기 비교적 더 오래된 픽쳐만 예측을 위하여 선택하도록 허용된 상태로 상기 코더를 스위칭하도록 하는 수단; 및
    로컬 디코디드 픽쳐 중 어느 것이 상기 저장소로 입력되고 제거되는 지를 선택하는 제어 수단;을 포함하고,
    상기 제어 수단은 복수의 프레임 주기의 지속 시간을 가지는 한정된 타임 윈도우에 따라 동작 가능하고, 상기 윈도우 내의 가장 최근 프레임이 상기 프레임 주기로 분할된 적어도 왕복 시간 이상의 시간 간격만큼 상기 현재 프레임보다 더 오래되도록 시간 설정되며, 또한, (a) 상기 정의된 윈도우에 단 하나의 프레임이 포함되면, 상기 프레임은 삭제되고, (b) 버퍼 내의 상기 이전 프레임과 이후 프레임 사이의 시간 차가 상기 윈도우 길이를 초과하는 경우 어떠한 프레임도 삭제되지 않 는 규칙을 따르고:
    상기 제어 수단은 왕복 시간의 측정치를 수신하고 그에 따라 상기 타임 윈도우를 수정하도록 추가로 동작 가능한 것을 특징으로 하는 비디오 코더.
  6. 비디오 코더에 있어서,
    복수의 기준 픽쳐를 저장하는 저장소;
    입력된 비디오 신호를 코딩하고, 각 픽쳐에 대하여 하나 이상의 상기 저장된 기준 픽쳐를 선택하고 그에 관련된 프레임 간 차분 코딩을 이용하여 코딩할 수 있는 차분 코딩 수단;
    상기 저장소로 입력을 위해 로컬 디코딩되는 픽쳐를 생성하는 로컬 디코딩 수단;
    수신기로부터 에러 메시지를 수신하고, 그에 따라, 상기 비교적 최근 픽쳐를 예측기로 선택하는 것이 허용되는 상태에서 상기 비교적 더 오래된 픽쳐만 예측을 위하여 선택하도록 허용된 상태로 상기 코더를 스위칭하도록 하는 수단; 및
    로컬 디코디드 픽쳐 중 어느 것이 상기 저장소로 입력되고 제거되는 지를 선택하는 제어 수단;을 포함하고,
    상기 제어 수단은 복수의 프레임 주기의 지속 시간을 가지는 한정된 타임 윈도우에 따라 동작 가능하고, 상기 윈도우 내의 가장 최근 프레임이 상기 프레임 주기로 분할된 적어도 왕복 시간 이상의 시간 간격만큼 상기 현재 프레임보다 더 오래되도록 시간 설정되며, 또한, (a) 상기 정의된 윈도우에 단 하나의 프레임이 포 함되면, 상기 프레임은 삭제되고, (b) 버퍼 내의 상기 이전 프레임과 이후 프레임 사이의 시간 차가 상기 윈도우 길이를 초과하는 경우 어떠한 프레임도 삭제되지 않는 규칙을 따르고:
    상기 제어 수단은 왕복 시간의 측정치를 수신하고 그에 따라 상기 타임 윈도우를 수정하도록 추가로 동작 가능한 것을 특징으로 하는 비디오 코더.
  7. 제 6 항에 있어서,
    상기 에러 메시지는 상기 수신기에서 상기 프레임이 에러 상태에 있는 지에 대한 표시를 포함하고, 에러 메시지를 수신하는 상기 수단은 에러 상태로 표시된 상기 프레임과 그로부터 직접적으로 또는 간접적으로 예측된 임의의 다음 코딩된 프레임이 예측기로서 사용되는 것을 억제하는 것을 특징으로 하는 비디오 코더.
  8. 제 6 항 또는 제 7 항에 따른 방법에 있어서,
    상기 제어 수단은 상기 기준 픽쳐를 식별하는 메시지를 상기 수신기로 전송하도록, 삭제될 상기 기준 픽쳐의 선택에 따라 구성되는 것을 특징으로 하는 비디오 코더.
  9. 비디오 링크에 있어서,
    제 6 항 내지 제 8 항 중 어느 한 항에 따른 비디오 인코더를 포함하는 송신기;
    상기 송신기에 에러 메시지를 송신할 수 있는 수신기; 및
    상기 송신기와 수신기 사이의 왕복 시간을 측정하고 상기 제어 수단에 이 측정치를 상기 제어 수단에 전달하는 수단을 포함하는 것을 특징으로 하는 비디오 링크.
  10. 비디오 디코더에 있어서,
    복수의 기준 픽쳐를 포함하는 저장소;
    상기 메시지에 특정된 픽쳐를 상기 저장소로부터 제거하도록 코더로부터 제거 메시지의 수신에 응답하는 저장소 제어 수단;
    프레임 간 코딩된 입력 비디오 신호를 디코딩하고, 상기 저장소로 새롭게 디코디드 픽쳐를 입력하도록 작동 가능한 차분 디코딩 수단; 및
    코더로부터 어느 픽쳐가 상기 저장소에 있어야 하는 지를 지정하는 추가 메시지를 수신하도록 동작 가능하고, 디코디드 픽쳐는 저장되고 삭제 메시지는 수신되지 않은 경우에 상기 추가 메시지 중 하나에 따라 상기 저장소로부터 삭제될 픽쳐를 선택하는 에러 회복 수단;을 포함하는 것을 특징으로 하는 비디오 디코더.
  11. 비디오 디코더에 있어서,
    복수의 기준 픽쳐를 포함하는 저장소;
    코더로부터의 삭제 메시지의 수신에 따라 상기 메시지에 기재된 픽쳐를 상기 저장소로부터 삭제하는 저장소 제어 수단;
    프레임 간 코딩된 입력 비디오 신호를 디코딩하고 상기 저장소로 새롭게 디코디드 픽쳐를 입력하는 차분 디코딩 수단; 및
    디코디드 픽쳐가 저장되고 삭제 메시지가 수신되지 않은 경우, 상기 저장소로부터 삭제될 픽쳐를 선택하는 에러 회복수단;을 포함하고,
    상기 에러 회복 수단은 어느 픽쳐가 상기 코더에서 삭제될 것인지 추정하는 수단을 포함하고, 상기 추정은 복수의 프레임 주기의 지속 시간을 가지는 한정된 타임 윈도우에 따라 이루어지고 상기 윈도우 내의 가장 최근 프레임은 상기 프레임 주기로 분할된 적어도 왕복 시간의 타임 인터벌만큼 상기 현재 프레임보다 더 오래되도록 시간 설정되고,
    상기 삭제는, (a) 상기 한정된 윈도우 내에 프레임 하나만 있는 경우, 상기 프레임은 삭제될 것으로 고려되지 않고, (b) 상기 버퍼 안에서 그 이전의 프레임과 이후의 프레임 사이의 기간 차이가 상기 윈도우 길이를 초과하는 경우 어떠한 프레임도 삭제될 것으로 고려되지 않도록 하는 규칙을 따르는 것을 특징으로 하는 비디오 디코더.
  12. 제 10 항 또는 제 11 항에 있어서,
    에러 검출 수단 및 에러의 경우에 성공적으로 디코딩 된 가장 최근 픽쳐를 확인하는 에러 메시지를 상기 코더에 전송하는 수단을 포함하는 것을 특징으로 하는 디코더.
  13. 제 12 항에 있어서,
    에러 메시지의 전송에 이어서, 및 상응하는 삭제 메시지의 비수신에 따라 추가 에러 메시지를 전송하는 수단을 포함하는 것을 특징으로 하는 디코더.
  14. 제 12 항 또는 제 13 항에 있어서,
    에러 메시지의 송신에 이어서, 및 왕복 시간의 경과 후 에러 메시지가 삭제 메시지를 트리거 해야한다는 것에 관한 픽쳐를 기준 픽쳐로서 지정하는 코딩된 픽쳐의 수신에 따라 추가 에러 메시지를 송신하는 것을 특징으로 하는 디코더.
KR1020087022390A 2006-03-15 2007-02-27 비디오 신호 전송 방법 및 비디오 코더 KR101335214B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06251368 2006-03-15
EP06251368.4 2006-03-15
PCT/GB2007/000669 WO2007104919A1 (en) 2006-03-15 2007-02-27 Video coding

Publications (2)

Publication Number Publication Date
KR20080108457A true KR20080108457A (ko) 2008-12-15
KR101335214B1 KR101335214B1 (ko) 2013-11-29

Family

ID=36570798

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087022390A KR101335214B1 (ko) 2006-03-15 2007-02-27 비디오 신호 전송 방법 및 비디오 코더

Country Status (5)

Country Link
US (1) US8259802B2 (ko)
EP (1) EP1994764B1 (ko)
KR (1) KR101335214B1 (ko)
CN (1) CN101401438B (ko)
WO (1) WO2007104919A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200936131A (en) * 2008-02-04 2009-09-01 Idenix Pharmaceuticals Inc Macrocyclic serine protease inhibitors
US8886022B2 (en) * 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US9609341B1 (en) * 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
US10595025B2 (en) 2015-09-08 2020-03-17 Microsoft Technology Licensing, Llc Video coding
US10313685B2 (en) * 2015-09-08 2019-06-04 Microsoft Technology Licensing, Llc Video coding
US11595652B2 (en) * 2019-01-28 2023-02-28 Op Solutions, Llc Explicit signaling of extended long term reference picture retention
US20170295099A1 (en) * 2016-04-11 2017-10-12 Arista Networks, Inc. System and method of load balancing across a multi-link group
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
CN108282541A (zh) * 2018-02-12 2018-07-13 安徽千云度信息技术有限公司 基于大数据的信息推送方法及其推送系统
KR20210118155A (ko) * 2019-01-28 2021-09-29 오피 솔루션즈, 엘엘씨 연장된 장기 참조 픽처 보유의 명시적 시그널링
CA3142319A1 (en) * 2019-06-03 2020-12-10 Nokia Technologies Oy An apparatus and a method for video partitioning

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
JPH10191356A (ja) * 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd 画像符号化装置
US20060083298A1 (en) * 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
US20060188025A1 (en) * 2005-02-18 2006-08-24 Nokia Corporation Error concealment

Also Published As

Publication number Publication date
EP1994764A1 (en) 2008-11-26
US20090052531A1 (en) 2009-02-26
KR101335214B1 (ko) 2013-11-29
CN101401438A (zh) 2009-04-01
WO2007104919A1 (en) 2007-09-20
CN101401438B (zh) 2013-03-27
EP1994764B1 (en) 2016-01-13
US8259802B2 (en) 2012-09-04

Similar Documents

Publication Publication Date Title
KR101335214B1 (ko) 비디오 신호 전송 방법 및 비디오 코더
KR102146583B1 (ko) 오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법
EP2737703B1 (en) Video refresh using error-free reference frames
KR101344207B1 (ko) 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용
RU2310290C2 (ru) Буферизация изображений для эталонов для предсказания и отображения
US6611561B1 (en) Video coding
US8929443B2 (en) Recovering from dropped frames in real-time transmission of video over IP networks
JP2005033556A (ja) データ送信装置、データ送信方法、データ受信装置、データ受信方法
JP4211873B2 (ja) デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
JPH0993592A (ja) 画像符号化装置
TW202416716A (zh) 使用編碼圖片緩存器的視頻編碼

Legal Events

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

Payment date: 20161117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171116

Year of fee payment: 5