KR20140085492A - 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링 - Google Patents

디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링 Download PDF

Info

Publication number
KR20140085492A
KR20140085492A KR1020147012129A KR20147012129A KR20140085492A KR 20140085492 A KR20140085492 A KR 20140085492A KR 1020147012129 A KR1020147012129 A KR 1020147012129A KR 20147012129 A KR20147012129 A KR 20147012129A KR 20140085492 A KR20140085492 A KR 20140085492A
Authority
KR
South Korea
Prior art keywords
pictures
quot
ltrp
picture
poc
Prior art date
Application number
KR1020147012129A
Other languages
English (en)
Other versions
KR102058759B1 (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 KR20140085492A publication Critical patent/KR20140085492A/ko
Application granted granted Critical
Publication of KR102058759B1 publication Critical patent/KR102058759B1/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

디코딩된 픽쳐 버퍼(“DPB”) 및 참조 픽쳐 목록들("RPLs")의 상태를 시그널링하는 혁신들이 제공된다. 예시적인 구현에서, DPB와 RPL들을 관리하고 업데이트하기 위해 디코더의 내부 상태에 의존하기보다는, DPB와 RPL들에 관한 상태 정보를 명확하게 시그널링한다. 이에 의해 디코더는, 시그널링된 상태 정보로부터 DPB에서 참조로서 이용 가능할 것으로 예상되는 픽쳐들을 결정할 수 있다. 예를 들어, 인코더는 어떤 픽쳐들이 비디오 디코더에서 참조로서 이용 가능한지를 식별하는 상태 정보를 (어떤 픽쳐들이 이용 가능한지에 대한, 디코더로부터의 피드백 정보를 선택적으로 고려하여) 결정한다. 인코더는 상태 정보를 나타내는 문법 요소들을 설정한다. 그렇게 해서, 인코더는 장기 참조 픽쳐("LTRP")에 관한 식별 정보를 설정하고, 여기서 식별 정보는 LTRP에 대한 픽쳐 순서 카운트 최하위 비트들의 값이다. 다음으로 인코더는 비트스트림의 일부로서 문법 요소들을 출력한다.

Description

디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링{SIGNALING OF STATE INFORMATION FOR A DECODED PICTURE BUFFER AND REFERENCE PICTURE LISTS}
엔지니어들은 디지털 비디오의 비트 레이트(bit rate)를 낮추기 위해 압축(소스 코딩 또는 소스 인코딩이라고도 함)을 이용한다. 압축은 비디오 정보를 보다 낮은 비트 레이트 형태로 변환함으로써 비디오 정보를 저장 및 전송하는 비용을 절감시킨다. 압축 해제(디코딩이라고도 함)는 압축된 형태로부터 원래 정보의 버전을 복원한다. 하나의 "코덱(codec)"은 하나의 인코더/디코더 시스템이다.
지난 20여년에 걸쳐, H.261, H.262(MPEG-2 또는 ISO/IEC 13818-2), H.263 및 H.264(AVC 또는 ISO/IEC 14496-10) 표준 및 MPEG-1(ISO/IEC 11172-2), MPEG-4 Visual(ISO/IEC 14496-2) 및 SMPTE 421M 표준을 포함하는 다양한 비디오 코덱 표준이 채택되고 있다. 최근 들어, HEVC 표준의 개발이 진행되고 있다. 비디오 코덱 표준은 인코딩 및 디코딩 시에 특정한 특징들을 사용할 때 비트스트림에 파라미터들을 열거하는 인코딩된 비디오 비트스트림의 문법(syntax)에 대한 옵션들을 규정하는 것이 일반적이다. 많은 경우에, 비디오 코덱 표준은 정확한 디코딩을 달성하기 위해 디코더가 수행해야 하는 디코딩 작업들에 대한 세부 사항들도 제공한다.
압축의 기본적인 목표는 양호한 레이트-디스토션(rate-distortion) 성능을 제공하는 것이다. 그래서, 특정 비트 레이트에 대하여, 인코더는 최고 품질의 비디오를 제공하려고 한다. 또는, 원래의 비디오에 대한 특정 레벨의 품질/충실도(fidelity)에 대하여, 인코더는 최저 비트 레이트로 인코딩된 비디오를 제공하려고 한다. 실제로, 사용 시나리오에 따라, 인코딩 시간, 인코딩 복잡도, 인코딩 리소스들, 디코딩 시간, 디코딩 복잡도, 디코딩 리소스들, 전체 지연, 손실 복구 기능 및/또는 재생 시의 순조로움 등의 고려사항들도 인코딩 및 디코딩 도중에 이루어지는 결정들에 영향을 미친다.
일반적으로, 비디오 인코더나 디코더가 다른 픽쳐들을 인코딩하거나 디코딩할 때 사용할 수 있는 이전에 디코딩된 픽쳐들을 비디오 인코더 또는 디코더에서 버퍼링한다. 이렇게 복원되고 버퍼링된 픽쳐들을 보통 참조 픽쳐들(reference pictures)이라고 한다. 일부 비디오 코덱 표준에서 어떤 참조 픽쳐들이 버퍼링되고 어떤 참조 픽쳐들이 참조로 더 이상 사용되지 않는지를 관리하고 업데이트하는 자세한 규칙들이 기술된다. 이에 의해 인코더는 어떤 참조 픽쳐들을 사용할지에 관해 올바른 결정을 내림으로써 압축 효율을 향상시킬 수 있지만, 참조 픽쳐들을 관리하고 업데이트하는 프로세스가 인코더 및 디코더에서 복잡해질 수 있다. 또한, 디코더는 인코딩된 비디오 데이터의 비트스트림에서 다양한 정보를 사용하여, 그 참조 픽쳐 버퍼의 상태와 참조 픽쳐들의 목록들을 추적하고 업데이트한다. 그 참조 픽쳐 버퍼의 상태 및/또는 참조 픽쳐들의 목록들에 대한 디코더의 내부 상태가 예상 상태에서 벗어나고, 디코더가 적절한 참조 픽쳐들을 더 이상 사용하지 않는 경우, (예컨대, 패킷 손실이나 변형으로 인한) 비트스트림의 정보 손실이 상당한 기간 동안 디코딩에 영향을 줄 수 있다.
요약하면, 발명의 상세한 설명은 디코딩된 픽쳐 버퍼(“DPB”) 및 참조 픽쳐 목록의 상태를 시그널링하는 혁신들을 제공한다. 혁신들은 상태에 영향을 미치는 정보의 손실에 대한 강건성(robustness)을 여전히 지원하면서, DPB 및 참조 픽쳐 목록(“RPL”) 관리를 위한 상태 정보의 시그널링에 관련된 비트레이트를 낮추고, 그 밖의 다양한 면에서 DPB 관리 및/또는 RPL 관리를 개선할 수 있다.
DPB와 RPL들을 관리하고 업데이트하기 위해 디코더의 내부 상태에 의존하기보다는 DPB와 RPL들에 관한 상태 정보를 명확하게 시그널링한다. 이에 의해 디코더는, 참조로서 현재 이용 가능한 픽쳐들을 식별하는 시그널링된 상태 정보로부터 DPB에서 참조로서 이용 가능할 것으로 예상되는 픽쳐들을 결정할 수 있다. 이러한 상태 정보는, DPB 및/또는 RPL들의 상태를 명확하게 나타내는 임의의 형태의 정보를 일반적으로 나타내는 버퍼 설명 목록(buffer description list)(“BDL”) 정보라고 부를 수 있다.
본원에 설명된 혁신들은 다음을 포함하지만, 이에 한정되는 것은 아니다.
ㆍ BDL 정보의 참조 픽쳐마다 미래 참조 플래그를 사용하기, 여기서 미래 참조 플래그는 참조 픽쳐가 (BDL 정보와 관련된) 현재 픽쳐의 디코딩에만 사용되는지, 또는 그 대신에, 코딩된 순서로 적어도 하나의 다음 픽쳐의 디코딩에도 사용되는지 여부를 나타낸다. 이런 플래그의 사용으로 DPB에 추가 참조 픽쳐를 저장할 수 있다.
ㆍ 미래 참조 플래그의 사용에 관한 온/오프 결정 플래그를 사용하기, 예를 들어, 시퀀스 파라미터 집합(“SPS”)의 일부로서 온/오프 결정 플래그가 시그널링될 수 있고, 온/오프 결정 플래그는 BDL 정보의 미래 참조 플래그들의 존재/부재를 나타낸다. 이에 의해 인코더는 BDL 정보에서 미래 참조 플래그들의 사용 여부를 결정할 수 있다.
ㆍ 상위 시간 레이어(higher temporal level)에 관련된 픽쳐에 대한 BDL 정보에서, 하위 시간 레이어의 하나 이상의 픽쳐를 참조로서 사용되지 않았다고 마킹하도록 참조 픽쳐 마킹 정보를 허용하기. 이러한 행위가 실제로 드물지만, 몇몇 시나리오에서, 상위 시간 레이어에서 픽쳐들에 대한 참조 픽쳐 관리를 위해 이런 옵션들을 허용하는 것이 유용할 수 있다. 또한, 나중의 BDL 정보에 상위 시간 레이어의 픽쳐에 대한 BDL 정보와 함께 미리 제거된 참조 픽쳐들에 관한 상태 정보가 없을 때, 디코더는 이런 참조 픽쳐들의 제거를 추론할 수 있다.
ㆍ BDL 정보에서 상위 시간 레이어의 픽쳐마다 상위 레이어 픽쳐 지정 플래그를 사용하기, 여기서 상위 레이어 픽쳐 지정 플래그는 BDL 정보를 위해 상위 시간 레이어에 관련된 것으로서 픽쳐를 지정한다. 많은 시나리오에서, 상위 시간 레이어의 픽쳐들이 참조 픽쳐들로서 거의 사용되지 않거나 전혀 사용되지 않고, 이런 픽쳐들에서 DPB의 관리 및 업데이트 프로세스가 간략해질 수 있다. 상위 시간 레이어의 픽쳐들에 대해 BDL 정보가 사용되었다면, BDL 정보의 픽쳐마다 간단한 플래그로 충분히 상위 시간 레이어와 관련된 것으로서 픽쳐를 지정할 수 있고, DPB의 관리 및 업데이트 동작들이 포함된다.
ㆍ BDL 정보의 상위 시간 레이어의 픽쳐들에 관한 상태 정보를 포함하는 것에 관한 온/오프 결정 플래그를 사용하기, 예를 들어, SPS의 일부로서 온/오프 결정 플래그가 시그널링될 수 있고, 온/오프 결정 플래그는 BDL 정보의 상위 시간 레이어의 픽쳐들에 관한 상태 정보의 존재/부재를 나타낸다.
ㆍ BDL 정보는 적응 슬라이스 파라미터 집합(adaptive slice parameter set)(“APS”) 레벨에서 시그널링될 수 있다. BDL 정보의 단일 집합이 APS와 관련된다.
ㆍ BDL 정보에서의 장기(long-term) 참조 픽쳐(“LTRP”)에 관한 상태 정보의 시그널링을 간단하게 하기, LTRP들은 비디오 인코딩 및 디코딩에 유용한 설계 요소를 제공하지만, BDL 정보의 LTRP들의 관리 및 업데이트를 처리하는 것은 쉽지가 않다. 특히, 오랫동안 DPB에 남아 있는 LTRP의 경우, LTRP에 관한 식별 정보의 시그널링은 많은 비트를 소모하고 비트스트림에서 파싱과 디코딩을 처리하기 위한 특별한 경우들이 생길 수 있다. BDL 정보의 LTRP들에 대한 간략화된 문법의 다양한 버전들이 본원에 제시되며, 이는 LTRP 상태 정보에 대한 비트레이트를 낮추고 DPB 관리를 간단하게 한다. 예를 들어, BDL 정보에서의 픽쳐에 대한 LTRP 플래그는 DPB 관리를 위한 LTRP라고 픽쳐를 마킹한다.
ㆍ BDL 정보에서 LTRP들에 관한 상태 정보를 포함하는 것에 관한 플래그의 온/오프 결정을 사용하기. 예를 들어, SPS의 일부로서 온/오프 결정 플래그가 시그널링될 수 있고, 온/오프 결정 플래그는 BDL 정보에서 LTRP들에 관한 상태 정보의 존재/부재를 나타내며, 이는 인코더가 LTRP들을 사용하지 않기로 결정하였을 때 BDL 정보의 시그널링을 간단하게 한다.
ㆍ BDL 정보에서 LTRP들을 식별하기 위해 사용되는 비트 수를 줄이기. 많은 사용 시나리오에서, 참조 픽쳐들(및 LTRP들)의 개수는 적고, 적은 수의 비트들로 충분히 LTRP를 식별한다. 인코더는 다른 사용 시나리오들에서 LTRP들을 식별하기 위해 사용되는 비트 수를 늘릴 수 있다.
ㆍ RPL 구성에 사용된 순서대로 BDL 정보를 배열하기(organizing). 이는 RPL 구성을 위한 문법을 간단하게 한다.
ㆍ 픽쳐 순서 카운트(“POC”) 값들의 차이(gap)의 허용 여부를 시그널링하기. 예를 들어, SPS의 플래그는 POC 값들에 차이가 허용되는지 여부를 나타낸다. 차이가 허용되지 않으면, 디코더는 POC 값들이 누락되었다고 결정할 때 픽쳐 손실을 인식할 수 있고, 디코더는 POC 값들에 기반하여 출력용으로 배열 중인 픽쳐들에 대한 결정을 내릴 수 있다.
ㆍ BDL 정보의 문법 요소들은 비부호 지수 골룸(unsigned Exp-Golomb) 코딩 대신에 절삭된(truncated) 지수 골룸 코딩(즉, te(v))을 사용하여 인코딩될 수 있다. 이는 가능한 값들이 적은 문법 요소들에서 더욱 효율적이다.
본원에 설명된 혁신들의 일 양태에 따르면, 컴퓨팅 시스템은 어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지를 식별하는 상태 정보를 결정한다. 컴퓨팅 시스템은 상태 정보를 나타내는 문법 요소들을 설정한다. 특히, 그렇게 해서, 컴퓨팅 시스템은 LTRP에 관한 식별 정보를 설정하고, 여기서 식별 정보는 LTRP에 대한 POC 최하위 비트들(least significant bits)(“POC LSBs”)의 값이다. 다음으로 컴퓨팅 시스템은 비트스트림의 일부로서 문법 요소들을 출력한다.
본원에 설명된 혁신들의 또 다른 양태에 따르면, 컴퓨팅 시스템은 비트스트림의 적어도 일부를 수신한다. 비트스트림으로부터, 컴퓨팅 시스템은 수단은 어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지를 식별하는 상태 정보를 나타내는 문법 요소들을 파싱한다. 특히, 문법 요소들은 LTRP에 관한 식별 정보를 포함하고, 식별 정보는 LTRP에 대한 POC LSB들의 값이다. 컴퓨팅 시스템은 디코딩 중에 식별 정보를 사용한다.
본 발명의 상기 및 다른 목적들, 특징들, 및 장점들은 첨부 도면들을 참조하여 전개되는 이하 발명의 상세한 설명으로부터 더욱 분명해질 것이다.
도 1은 몇몇 설명된 실시예를 구현할 수 있는 예시적인 컴퓨팅 시스템의 다이어그램이다.
도 2a 및 도 2b는 몇몇 설명된 실시예를 구현할 수 있는 예시적인 네트워크 환경들의 다이어그램이다.
도 3은 몇몇 설명된 실시예를 함께 구현할 수 있는 예시적인 인코더 시스템의 다이어그램이다.
도 4a는 본원에서 설명된 바와 같은 문법 요소를 출력하는 일반적인 기법의 순서도이고, 도 4b는 비트스트림에서 LTRP들에 관한 식별 정보를 시그널링하는 예시적인 기법의 순서도이다.
도 5는 몇몇 설명된 실시예를 함께 구현할 수 있는 예시적인 디코더 시스템의 다이어그램이다.
도 6a는 본원에서 설명된 바와 같은 문법 요소를 파싱하는 일반적인 기법의 순서도이고, 도 6b는 비트스트림으로부터 LTRP들에 관한 식별 정보를 파싱하는 예시적인 기법의 순서도이다.
도 7a는 변수 PicOrderCntMsb를 얻기 위한 유사 코드(pseudo-code) 목록이고, 도 7b는 변수 PicOrderCntVal을 얻기 위한 유사 코드 목록이다.
발명의 상세한 설명은 DPB와 RPL들의 상태를 시그널링 하는 혁신들을 제공한다. 혁신들은 손실 복구를 여전히 지원하면서, BDL 정보와 관련된 비트레이트를 낮추도록 돕고 및/또는 DPB 관리 프로세스 또는 RPL 구축 프로세스를 단순화시킬 수 있다.
본원에 설명된 혁신들 중 일부는 H.264 및/또는 HEVC 표준에 특정된 문법 요소들 및 작업들을 참조하여 예시된다. 이와 같은 혁신들은 다른 표준들 또는 포맷들에 대하여 구현될 수도 있다.
보다 일반적으로는, 본원에 설명된 예시들에 대한 다양한 대안이 가능하다. 순서도들을 참조하여 설명된 특정 기법들은, 특정 단계들을 분할, 반복 또는 생략하는 등에 의해, 순서도들에 도시된 단계들의 배열을 변경함으로써 바뀔 수 있다. DPB 및 RPL의 상태의 시그널링의 다양한 양태는 조합하여 또는 개별적으로 사용될 수 있다. 상이한 실시예들은 본원에 설명된 혁신들의 하나 이상을 사용한다. 본원에 설명된 혁신들의 일부는 배경기술에서 언급된 하나 이상의 문제점을 다룬다. 통상적으로, 주어진 기법/수단이 이와 같은 모든 문제점을 해결하는 것은 아니다.
I. 예시적인 컴퓨팅 시스템( Example Computing Systems )
도 1은 설명된 몇몇 혁신들이 구현될 수 있는 적절한 컴퓨팅 시스템(100)의 일반화된 예시를 도시한다. 이들 혁신들은 다양한 범용 또는 특수 목적 컴퓨팅 시스템에서 구현될 수 있는 것이기 때문에, 컴퓨팅 시스템(100)은 용도 또는 기능의 범위를 한정하려는 것이 아니다.
도 1을 참조하면, 컴퓨팅 시스템(100)은 하나 이상의 처리 장치(110, 115) 및 메모리(120, 125)를 포함한다. 도 1에서, 이 가장 기본적인 구성(130)은 점선 내에 포함된다. 처리 장치들(110, 115)은 컴퓨터-실행 가능 명령어들을 실행한다. 처리 장치는 범용 중앙 처리 장치(CPU), 주문형 집적 회로(ASIC) 내의 프로세서 또는 임의의 다른 유형의 프로세서일 수 있다. 다중처리 시스템에 있어서는, 다수의 처리 장치가 컴퓨터-실행 가능 명령어들을 실행해서 처리 능력을 증가시킨다. 예를 들어, 도 1은 중앙 처리 장치(110)뿐만 아니라 그래픽 처리 장치 또는 보조-처리 장치(co-processing unit)(115)를 도시한다. 유형의(tangible) 메모리(120, 125)는 처리 장치(들)에 의해 액세스 가능한 휘발성 메모리(예컨대, 레지스터, 캐시, RAM), 비-휘발성 메모리(예컨대, ROM, EEPROM, 플래시 메모리 등), 또는 이들 두 메모리의 몇몇 조합일 수 있다. 메모리(120, 125)는 BDL 정보를 시그널링하는 하나 이상의 혁신을 구현하는 소프트웨어(180)를 처리 장치(들)에 의해 실행하기에 적합한 컴퓨터-실행 가능 명령어들의 형태로 저장한다.
컴퓨팅 시스템은 추가적인 특징들을 가질 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 스토리지(140), 하나 이상의 입력 장치(150), 하나 이상의 출력 장치(160), 및 하나 이상의 통신 접속부(170)를 포함한다. 버스, 컨트롤러, 또는 네트워크와 같은 상호접속 메커니즘(도시되지 않음)은 컴퓨팅 시스템(100)의 구성 요소들을 상호 접속한다. 통상적으로, 운영 체계 소프트웨어(도시되지 않음)는 컴퓨팅 시스템(100)에서 실행하는 다른 소프트웨어에 운영 환경을 제공하고, 컴퓨팅 시스템(100)의 구성 요소들의 활동들을 조정한다.
유형의 스토리지(140)는 이동식 또는 비이동식일 수 있으며, 컴퓨팅 시스템(100) 내에서 액세스될 수 있는 정보를 저장하는 데 사용될 수 있는 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 임의의 그 밖의 매체를 포함한다. 스토리지(140)는 BDL 정보를 시그널링하기 위한 하나 이상의 혁신을 구현하는 소프트웨어(180)의 명령어들을 저장한다.
입력 장치(들)(150)는 키보드, 마우스, 펜, 또는 트랙볼과 같은 터치 입력 장치, 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 시스템(100)에 입력을 제공하는 다른 장치일 수 있다. 비디오 인코딩을 위해서는, 입력 장치(들)(150)는 비디오 입력을 아날로그 또는 디지털 형태로 받아들이는 카메라, 비디오 카드, TV 튜너 카드 또는 유사한 장치와 같은 비디오 캡쳐 구성 요소거나, 비디오처럼 컴퓨터로 생성되는 스크린 이미지를 캡쳐하는 스크린 캡쳐 모듈과 같은 비디오 캡쳐 구성 요소나 또는 컴퓨터로 생성되는 이미지 컨텐츠를 캡쳐하는 유사한 구성 요소, 또는 비디오 샘플들을 컴퓨팅 시스템(100)에 읽어들이는 CD-ROM 또는 CD-RW일 수 있다. 출력 장치(들)(160)는 디스플레이, 프린터, 스피커, CD-라이터(writer), 또는 컴퓨팅 시스템(100)으로부터 출력을 제공하는 다른 장치일 수 있다.
통신 접속부(들)(170)는 통신 매체를 통한 다른 컴퓨팅 엔티티와의 통신을 가능하게 한다. 통신 매체는 컴퓨터-실행 가능 명령어들, 오디오 또는 비디오 입력 또는 출력, 또는 변조된 데이터 신호 내의 다른 데이터와 같은 정보를 운반한다. 변조된 데이터 신호는 신호 내의 정보를 인코딩하도록 그 특성들 중 하나 이상이 설정되거나 변경되어 있는 신호이다. 예를 들어, 그러나 제한 없이, 통신 매체는 전기, 광, RF, 또는 다른 캐리어를 사용할 수 있다.
컴퓨터-판독 가능 매체의 일반적인 맥락에서 이들 혁신들을 기술할 수 있다. 컴퓨터-판독 가능 매체는 컴퓨팅 환경 내에서 액세스될 수 있는 이용 가능한 임의의 유형의 매체이다. 예를 들어, 그러나 제한 없이, 컴퓨팅 시스템(100)에 의하면, 컴퓨터-판독 가능 매체는 메모리(120, 125), 스토리지(140), 및 상기의 임의의 조합들을 포함한다.
실제 또는 가상의 타겟 프로세서 상의 컴퓨팅 시스템에서 실행되는, 프로그램 모듈들에 포함된 것들과 같은, 컴퓨터-실행 가능 명령어들의 일반적인 맥락에서 이들 혁신들을 기술할 수 있다. 일반적으로, 프로그램 모듈들은, 특정 작업들을 수행하거나 또는 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 라이브러리들, 객체들, 클래스들, 구성 요소들, 데이터 구조들 등을 포함한다. 프로그램 모듈들의 기능은 다양한 실시예에서 원하는 대로 프로그램 모듈들 사이에서 결합 또는 분할될 수 있다. 프로그램 모듈들의 컴퓨터- 실행 가능 명령어들은 국소 또는 분산 컴퓨팅 환경 내에서 실행될 수 있다.
"시스템(system)" 및 "장치(device)"라는 용어는 본원에서 호환 가능하게 사용된다. 맥락에서 명확하게 달리 지시하지 않는 한, 어떠한 용어도 컴퓨팅 시스템 또는 컴퓨팅 장치의 유형에 대한 한정을 내포하는 것은 아니다. 일반적으로, 컴퓨팅 시스템 또는 컴퓨팅 장치는 국소형 또는 분산형일 수 있으며, 본원에 설명된 기능을 구현하는 소프트웨어와 함께 특수 목적 하드웨어 및/또는 범용 하드웨어의 임의의 조합을 포함할 수 있다.
설명을 위해, 발명의 상세한 설명은 컴퓨팅 시스템에서 컴퓨터 작업들을 기술하기 위해 "결정(determine)" 및 "사용(use)"과 같은 용어들을 사용한다. 이들 용어는 컴퓨터에 의해 수행된 작업들에 대한 상위 레벨의 추상적 개념이며, 인간에 의해 수행된 행위와 혼동되지 않아야 한다. 이들 용어에 대응하는 실제 컴퓨터 작업들은 구현에 따라 달라진다.
II . 예시적인 네트워크 환경( Example Network Environments )
도 2a 및 도 2b는 비디오 인코더들(220) 및 비디오 디코더들(270)을 포함하는 예시적인 네트워크 환경들(201, 202)을 도시한다. 인코더들(220) 및 디코더들(270)은 적절한 통신 프로토콜을 사용하여 네트워크(250)를 통해 접속된다. 네트워크(250)는 인터넷 또는 다른 컴퓨터 네트워크를 포함할 수 있다.
도 2a에 도시된 네트워크 환경(201)에 있어서, 각 실시간 통신("RTC") 수단(210)은 양방향 통신을 위해 인코더(220) 및 디코더(270)를 모두 포함한다. 주어진 인코더(220)는, 상응하는 디코더(270)가 인코더(220)로부터 인코딩된 데이터를 받아들일 수 있게, SMPTE 421M 표준, ISO-IEC 14496-10 표준(H.264 또는 AVC로도 알려짐), HEVC 표준, 다른 표준, 또는 독점적(proprietary) 포맷에 부합하는 출력을 생성할 수 있다. 양방향 통신은 화상 회의, 화상 통화, 또는 그 밖의 양자간 통신 시나리오의 일부일 수 있다. 도 2a에서의 네트워크 환경(201)이 2 개의 실시간 통신 수단(210)을 포함하고 있지만, 네트워크 환경(201)은 그 대신에 다자간 통신에 참여하는 3 개 이상의 실시간 통신 수단(210)을 포함할 수 있다.
실시간 통신 수단(210)은 인코더(220)에 의한 인코딩을 관리한다. 도 3은 실시간 통신 수단(210)에 포함될 수 있는 예시적인 인코더 시스템(300)을 도시한다. 대안적으로, 실시간 통신 수단(210)은 다른 인코더 시스템을 사용한다. 실시간 통신 수단(210)은 디코더(270)에 의한 디코딩도 관리한다. 도 5는 실시간 통신 수단(210)에 포함될 수 있는 예시적인 디코더 시스템(500)을 도시한다. 대안적으로, 실시간 통신 수단(210)은 다른 디코더 시스템을 사용한다.
도 2b에 도시된 네트워크 환경(202)에 있어서, 인코딩 수단(212)은 디코더들(270)을 포함하는 다수의 재생 수단(214)에 전달하기 위한 비디오를 인코딩하는 인코더(220)를 포함한다. 단방향 통신은, 비디오 감시 시스템, 웹 카메라 모니터링 시스템, 원격 데스크탑 회의 프레젠테이션 또는 비디오가 인코딩되어 하나의 장소에서 하나 이상의 다른 장소로 송신되는 다른 시나리오에 제공될 수 있다. 도 2b에서의 네트워크 환경(202)이 2 개의 재생 수단(214)을 포함하고 있지만, 네트워크 환경(202)은 더 많거나 적은 재생 수단(214)을 포함할 수 있다. 일반적으로, 재생 수단(214)은 수신할 재생 수단(214)으로 비디오의 스트림을 결정하기 위해 인코딩 수단(212)과 통신한다. 재생 수단(214)은 스트림을 수신하고, 수신된 인코딩된 데이터를 적정한 기간 동안 버퍼링하고, 디코딩과 재생을 개시한다.
도 3은 인코딩 수단(212)에 포함될 수 있는 예시적인 인코더 시스템(300)을 도시한다. 대안적으로, 인코딩 수단(212)은 다른 인코더 시스템을 사용한다. 인코딩 수단(212)은 하나 이상의 재생 수단(214) 및/또는 네트워크 비디오 전송 수단들과의 접속을 관리하는 서버측 컨트롤러 로직도 포함할 수 있다. 도 5는 재생 수단(214)에 포함될 수 있는 예시적인 디코더 시스템(500)을 도시한다. 대안적으로, 재생 수단(214)은 다른 디코더 시스템을 사용한다. 재생 수단(214)은 인코딩 수단(212)과의 접속을 관리하는 클라이언트측 컨트롤러 로직도 포함할 수 있다.
III . 예시적인 인코더 시스템( Example Encoder Systems )
도 3은 몇몇 설명된 실시예를 함께 구현할 수 있는 예시적인 인코더 시스템(300)의 블록도이다. 인코더 시스템(300)은 실시간 통신을 위한 저(low)-레이턴시 인코딩 모드, 트랜스코딩 모드, 및 파일 또는 스트림으로부터 미디어 재생을 위한 정규 인코딩 모드와 같은 다수의 인코딩 모드 중 어느 하나에서 작동할 수 있는 범용 인코딩 수단일 수 있고, 또는 하나의 이와 같은 인코딩 모드에 맞춰진 특수 목적 인코딩 수단일 수 있다. 인코더 시스템(300)은 운영 체계 모듈로서, 애플리케이션 라이브러리의 일부로서 또는 독립형 애플리케이션으로서 구현될 수 있다. 전체적으로, 인코더 시스템(300)은 비디오 소스(310)로부터 일련의 소스 비디오 프레임들(311)을 수신하고, 채널(390)의 출력으로서 인코딩된 데이터를 생성한다. 채널에 출력된 인코딩된 데이터는 섹션 V에서 설명되는 바와 같이 하나 이상의 문법 요소를 포함할 수 있다.
비디오 소스(310)는 카메라, 튜너 카드, 스토리지 매체, 또는 그 밖의 디지털 비디오 소스일 수 있다. 비디오 소스(310)는, 예컨대, 초당 30 프레임의 프레임 레이트로 일련의 비디오 프레임들을 생성한다. 본원에 사용된 "프레임(frame)"이라는 용어는 일반적으로 소스, 코딩된 또는 복원된 이미지 데이터를 의미한다. 프로그레시브 비디오(progressive video)에 대해서는, 프레임이 프로그레시브 비디오 프레임이다. 예시적인 실시예에 있어서, 인터레이스드 비디오(interlaced video)에 대해서는, 인터레이스드 비디오 프레임이 인코딩에 앞서 디-인터레이싱된다. 대안적으로, 2 개의 상보적인 인터레이스드 비디오 필드가 인터레이스드 비디오 프레임으로서 또는 별도의 필드들로서 인코딩된다. "프레임"이라는 용어는, 프로그레시브 비디오 프레임을 가리키는 것 외에, 쌍을 이루지 않는 단일의 비디오 필드, 상보적인 쌍의 비디오 필드들, 정해진 시간에 비디오 객체를 표현하는 비디오 객체 평면, 또는 보다 큰 이미지에서의 관심 영역을 가리킬 수 있다. 비디오 객체 평면 또는 영역은 장면의 다수의 객체 또는 영역을 포함하는 보다 큰 이미지의 일부일 수 있다.
도달하는 소스 프레임(311)은 다수의 프레임 버퍼 스토리지 영역들(321, 322, ..., 32n)을 포함하는 소스 프레임 임시 메모리 스토리지 영역(320)에 저장된다. 프레임 버퍼(321, 322 등)는 소스 프레임 스토리지 영역(320)에 하나의 소스 프레임을 유지한다. 하나 이상의 소스 프레임(311)이 프레임 버퍼들(321, 322 등)에 저장된 후에, 프레임 선택기(330)가 소스 프레임 스토리지 영역(320)으로부터 개개의 소스 프레임을 주기적으로 선택한다. 인코더(340)로의 입력을 위해 프레임 선택기(330)에 의해 프레임들이 선택되는 순서는 비디오 소스(310)에 의해 프레임들이 생성되는 순서와는 다를 수 있고, 예를 들어, 시간적으로 역방향 예측을 가능하게 하는 프레임이 순서상 앞에 있을 수 있다. 인코더 시스템(300)은, 인코더(340) 앞에, 인코딩하기 전에 선택된 프레임(331)의 사전-처리(예컨대, 필터링)를 수행하는 프리-프로세서(pre-processor)(도시되지 않음)를 포함할 수 있다.
인코더(340)는 선택된 프레임(331)을 인코딩해서, 코딩된 프레임(341)을 생성하는 한편, 메모리 관리 제어 신호들(342)도 생성한다. 현재의 프레임이 인코딩되어 있는 제 1 프레임이 아니면, 그 인코딩 프로세스 수행 시에, 인코더(340)는 디코딩된 프레임 임시 메모리 스토리지 영역(360)에 저장되어 있는 하나 이상의 미리 인코딩/디코딩된 프레임들(369)을 사용할 수 있다. 이와 같이 저장되어 있는 디코딩된 프레임들(369)이 현재의 소스 프레임(331)의 콘텐트의 프레임간(inter-frame) 예측을 위한 참조 프레임들로서 사용된다. 일반적으로, 인코더(340)는 모션 추정 및 보상, 주파수 변환, 양자화 및 엔트로피 코딩과 같은 인코딩 작업들을 수행하는 다수의 인코딩 모듈들을 포함한다. 인코더(340)에 의해 수행된 정확한 작업들은 압축 포맷에 따라 달라질 수 있다. 출력된 인코딩된 데이터의 포맷은 Windows Media Video 포맷, VC-1 포맷, MPEG-x 포맷(예컨대, MPEG-1, MPEG-2, 또는 MPEG-4), H.26x 포맷(예컨대, H.261, H.262, H.263, H.264), HEVC 포맷 또는 그 밖의 포맷일 수 있다.
코딩된 프레임들(341) 및 BDL 정보(342)는 디코딩 프로세스 에뮬레이터(350)에 의해 처리된다. 디코딩 프로세스 에뮬레이터(350)는 디코더의 일부 기능, 예를 들어, 모션 추정 및 보상에서 인코더(340)에 의해 사용되는 참조 프레임들을 복원하는 디코딩 작업들을 구현한다. 디코딩 프로세서 에뮬레이터(350)는, 정해진 코딩된 프레임(341)이 인코딩될 후속 프레임들의 프레임간 예측에서 참조 프레임으로서의 사용을 위해 복원 및 저장될 필요가 있는지의 여부를 결정하기 위해, BDL 정보(342)를 사용한다. BDL 정보(342)가, 코딩된 프레임(341)이 저장될 필요가 있음을 지시하면, 디코딩 프로세스 에뮬레이터(350)는, 코딩된 프레임(341)을 수신하고 상응하는 디코딩된 프레임(351)을 생성하는 디코더에 의해 수행되는 디코딩 프로세스를 모델링한다. 그렇게 함에 있어서, 인코더(340)가 디코딩된 프레임 스토리지 영역(360)에 저장되어 있는 디코딩된 프레임(들)(369)을 사용했을 때, 디코딩 프로세스 에뮬레이터(350)도 스토리지 영역(360)으로부터의 디코딩된 프레임(들)(369)을 디코딩 프로세스의 일부로서 사용한다.
디코딩된 프레임 임시 메모리 스토리지 영역(360)은 다수의 프레임 버퍼 스토리지 영역(361, 362, ..., 36n)을 포함한다. 디코딩 프로세스 에뮬레이터(350)는 참조 프레임들로서의 사용을 위해 인코더(340)가 더 이상 필요로 하지 않는 프레임들을 가지고 임의의 프레임 버퍼들(361, 362 등)을 식별하기 위해 스토리지 영역(360)의 컨텐츠를 관리하는 BDL 정보(342)를 사용한다. 디코딩 프로세스를 모델링한 후에, 디코딩 프로세스 에뮬레이터(350)는 이런 방식으로 식별된 프레임 버퍼(361, 362 등)에 새롭게 디코딩된 프레임(351)을 저장한다.
또한 코딩된 프레임들(341) 및 BDL 정보(342)는 임시 코딩된 데이터 영역(370)에서 버퍼링된다. 코딩된 데이터 영역(370)에 집합되는 코딩된 데이터는 섹션 V에서 설명되는 바와 같이 하나 이상의 문법 요소를 기본 코딩된 비디오 비트스트림의 문법의 일부로서 내포할 수 있다. 대안적으로, 코딩된 데이터 영역(370)에 집합되는 코딩된 데이터는 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 코딩된 비디오 데이터에 관한 미디어 메타데이터의 일부로서(예컨대, 하나 이상의 추가적 개선 정보("SEI") 메시지 또는 비디오 사용성 정보("VUI") 메시지 내의 하나 이상의 파라미터로서) 포함할 수 있다.
임시 코딩된 데이터 영역(370)으로부터의 집합된 데이터(371)는 채널 인코더(380)에 의해 처리된다. 채널 인코더(380)는 미디어 스트림으로서 전송하기 위해 집합된 데이터를 패킷화할 수 있고, 이 경우에, 채널 인코더(380)는 경우에 따라서 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 미디어 전송 스트림의 문법의 일부로서 추가할 수 있다. 또는, 채널 인코더(380)는 파일로서 저장하기 위해 집합된 데이터를 편성할 수 있고, 이 경우에, 채널 인코더(380)는 경우에 따라서 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 미디어 스토리지 파일의 문법의 일부로서 추가할 수 있다. 또는, 보다 일반적으로, 채널 인코더(380)는 하나 이상의 미디어 시스템 다중화 프로토콜 또는 전송 프로토콜을 구현할 수 있고, 이 경우에, 채널 인코더(380)는 경우에 따라서 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 프로토콜(들)의 문법의 일부로서 추가할 수 있다. 채널 인코더(380)는 스토리지, 통신 접속부, 또는 다른 출력용 채널을 표현하는 채널(390)에 출력을 제공한다.
도 4a는 섹션 V에서 설명되는 바와 같이 하나 이상의 문법 요소를 설정하고 출력하는 예시적인 기법(400)을 도시한다. 예를 들어, 도 2a 및 2b와 관련해서 설명된 실시간 통신 수단이나 인코딩 수단에서 기법(400)을 실행한다. 대안적으로, 다른 수단으로 기법(400)을 실행하기도 한다. 우선, 수단은 섹션 V에서 설명되는 바와 같이 하나 이상의 문법 요소를 설정한다(410). 그리고 나서 수단은 하나 이상의 문법 요소(들)를 출력한다(420).
도 4b는 장기 참조 픽쳐들(“LTRPs”)에 관한 식별 정보의 시그널링에 중점을 두어, 기법(400)의 구체적인 예시(401)를 도시한다. 예를 들어, 도 2a 및 도 2b와 관련하여 설명된 실시간 통신 수단 또는 인코딩 수단에서 기법(401)을 실행한다. 대안적으로, 다른 수단으로 기법(401)을 실행하기도 한다.
우선, 수단은 어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지(즉, 비디오 인코더에서 참조 픽쳐들로서 현재 이용 가능하거나, 디코딩 시에 그 시점에서 참조 픽쳐들로서 비디오 디코더에서 이용 가능할 것으로 예상됨)를 식별하는 상태 정보를 결정한다(405). 그 후에 수단은 상태 정보를 나타내는 문법 요소들을 설정한다(411). 특히, 수단은 LTRP에 관한 식별 정보를 설정한다. LTRP에 관한 식별 정보는 LTRP에 대한 픽쳐 순서 카운트 최하위 비트(“POC LSB”)의 값이다. 참조 픽쳐들로서 사용 가능한 픽쳐들로 단기(short term) 참조 픽쳐(“STRP”)를 포함할 수 있다. 이 경우에, 수단은 LTRP에 대한 POC LSB들의 값을 STRP에 대한 POC LSB들의 값으로서 재사용할 수 있으며, 다만 LTRP와 STRP를 구별하기 위해 장기 참조로서 사용되는 것이라고 LTRP를 마킹할 수 있다.
비트스트림에서 시그널링된 문법 요소들은 다른 및/또는 추가적인 문법 요소들을 포함할 수 있다. 예를 들어, 수단은 시퀀스의 픽쳐들에 대한 비트스트림에서 LTRP에 관한 상태 정보를 포함하는지 여부를 결정하고, 시퀀스 파라미터 집합의 일부로서, LTRP에 관한 상태 정보가 시퀀스의 픽쳐들에 대한 비트 스트림에 존재하는지 여부를 나타내는 플래그를 출력한다. 또는, 수단은 LTRP들에 대한 POC LSB들의 값들로 사용하기 위한 POC LSB들에 대한 비트 수를 설정한 후, POC LSB에 대한 비트 수를 나타내는 문법 요소(예컨대, log2_max_pic_order_cnt_lsb_minus4 문법 요소와 같이 하나의 상수에 상대적인 POC LSB들에 관한 래핑 포인트(wrapping point)의 밑이 2인 로그를 나타내는 문법 요소)를 출력한다. 또는, 수단은 섹션 V에서 설명된 다른 문법 요소들을 사용 및 시그널링할 수 있다.
그 이후에 수단은 문법 요소들을 비트스트림의 일부로서 출력한다(421). 예를 들어, 수단은 현재 픽쳐에 대한 기본 코딩된 비디오 비트스트림으로 문법 요소들을 시그널링한다. 대안적으로, 문법 요소들은 다른 레벨의 비트스트림 문법으로 시그널링된다.
IV . 예시적인 디코더 시스템( Example Decoder Systems )
도 5는 몇몇 설명된 실시예를 함께 구현할 수 있는 예시적인 디코더 시스템(500)의 블록도이다. 디코더 시스템(500)은 실시간 통신을 위한 저-레이턴시 디코딩 모드 및 파일 또는 스트림으로부터 미디어 재생을 위한 정규 디코딩 모드와 같은 다수의 디코딩 모드 중 어느 하나에서 작동할 수 있는 범용 인코딩 수단일 수 있고, 또는 하나의 이와 같은 디코딩 모드에 맞춰진 특수 목적 디코딩 수단일 수 있다. 디코더 시스템(500)은 운영 체계 모듈로서, 애플리케이션 라이브러리의 일부로서 또는 독립형 애플리케이션으로서 구현될 수 있다. 전체적으로, 디코더 시스템(500)은 채널(510)로부터 코딩된 데이터를 수신하고, 출력처(590)에 대한 출력으로서 복원된 데이터를 생성한다. 코딩된 데이터는 섹션 5에서 설명되는 바와 같이 하나 이상의 문법 요소를 포함할 수 있다.
디코더 시스템(500)은 스토리지, 통신 접속부, 또는 입력으로서의 코딩된 데이터를 위한 다른 채널을 표현할 수 있는 채널(510)을 포함한다. 채널(510)은 채널 코딩되어 있는 코딩된 데이터를 생성한다. 채널 디코더(520)는 코딩된 데이터를 처리할 수 있다. 예를 들어, 채널 디코더(520)는 미디어 스트림으로서 전송하기 위해 집합되어 있는 데이터를 디-패킷화(de-packetize)하고, 이 경우에, 채널 디코더(520)는 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 미디어 전송 스트림의 문법의 일부로서 파싱할 수 있다. 또는, 채널 디코더(520)는 파일로서 저장하기 위해 집합되어 있는 코딩된 비디오 데이터를 분리하고, 이 경우에, 채널 디코더(520)는 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 미디어 스토리지 파일의 문법의 일부로서 파싱할 수 있다. 또한, 보다 일반적으로, 채널 디코더(520)는 하나 이상의 미디어 시스템 역다중화 프로토콜 또는 전송 프로토콜을 구현할 수 있으며, 이 경우에, 채널 디코더(520)는 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 프로토콜(들)의 문법의 일부로서 파싱할 수 있다.
채널 디코더(520)로부터 출력되는 코딩된 데이터(521)는 충분한 양의 데이터가 수신될 때까지 임시 코딩된 데이터 영역(530)에 저장된다. 코딩된 데이터(521)는 코딩된 프레임들(531) 및 BDL 정보(532)를 포함한다. 코딩된 데이터 영역(530) 내의 코딩된 데이터(521)는 섹션 V에서 설명되는 바와 같이 하나 이상의 문법 요소를 기본 코딩된 비디오 비트스트림의 문법의 일부로서 내포할 수 있다. 또는, 코딩된 데이터 영역(530) 내의 코딩된 데이터(521)는 섹션 V에서 설명되는 바와 같이 문법 요소(들)를 인코딩된 비디오 데이터에 관한 미디어 메타데이터의 일부로서(예컨대, 하나 이상의 SEI 메시지 또는 VUI 메시지 내의 하나 이상의 파라미터로서) 포함할 수 있다. 일반적으로, 코딩된 데이터 영역(530)은 이와 같은 코딩된 데이터(521)가 디코더(550)에 의해 사용될 때까지 코딩된 데이터(521)를 임시로 저장한다. 그 시점에, 코딩된 프레임(531)의 코딩된 데이터 및 BDL 정보(532)가 코딩된 데이터 영역(530)에서 디코더(550)로 전송된다. 디코딩이 계속됨에 따라, 코딩된 데이터 영역(530)에 새로운 코딩된 데이터가 추가되고, 코딩된 데이터 영역(530)에 남아 있는 가장 오래된 코딩된 데이터가 디코더(550)로 전송된다.
디코더(550)는 코딩된 프레임(531)을 주기적으로 디코딩해서 상응하는 디코딩된 프레임(551)을 생성한다. 적합하게는, 그 디코딩 프로세스를 수행할 때, 디코더(550)는 하나 이상의 미리 디코딩된 프레임(569)을 프레임간 예측을 위한 참조 프레임들로서 사용할 수 있다. 디코더(550)는 디코딩된 프레임 임시 메모리 스토리지 영역(560)으로부터 이와 같이 미리 디코딩된 프레임들(569)을 판독한다. 일반적으로, 디코더(550)는 엔트로피 디코딩, 역양자화, 역주파수 변환 및 모션 보상과 같은 디코딩 작업들을 수행하는 다수의 디코딩 모듈을 포함한다. 디코더(550)에 의해 수행된 정확한 작업들은 압축 포맷에 따라 달라질 수 있다.
디코딩된 프레임 임시 메모리 스토리지 영역(560)은 다수의 프레임 버퍼 스토리지 영역(561, 562, ..., 56n)을 포함한다. 디코딩된 프레임 스토리지 영역(560)은 DPB의 일례이다. 디코더(550)는 디코딩된 프레임(551)을 저장할 수 있는 프레임 버퍼(561, 562 등)를 식별하기 위해 BDL 정보(532)를 사용한다. 디코더(550)는 그 프레임 버퍼에 디코딩된 프레임(551)을 저장한다.
출력 시퀀서(580)는 출력 순서상 생성될 다음 프레임이 디코딩된 프레임 스토리지 영역(560)에서 이용 가능해지는 시기를 식별하기 위해 BDL 정보(532)를 사용한다. 출력 순서상 생성될 다음 프레임(581)이 디코딩된 프레임 스토리지 영역(560)에서 이용 가능해지면, 출력 시퀀서(580)에 의해 판독되어 출력처(590)(예컨대, 디스플레이)에 출력된다. 일반적으로, 디코딩된 프레임 스토리지 영역(560)으로부터 출력 시퀀서(580)에 의해 프레임들이 출력되는 순서는 디코더(550)에 의해 프레임들이 디코딩되는 순서와 다를 수 있다.
도 6a는 섹션 V에서 설명되는 바와 같이 문법 요소들을 수신하고 파싱하는 예시적인 기법(600)을 도시한다. 예를 들어, 도 2a 및 2b와 관련해서 설명된 실시간 통신 수단이나 재생 수단에서 기법(600)을 실행한다. 대안적으로, 다른 수단으로 기법(600)을 실행하기도 한다. 우선, 수단은 섹션 V에서 설명되는 바와 같이 하나 이상의 문법 요소를 수신한다(610). 그리고 나서 수단은 하나 이상의 문법을 파싱한다(620). 그 후에 수단은 섹션 V에서 설명되는 바와 같이 문법 요소들을 사용할 수 있다.
도 6b는 LTRP들에 관한 식별 정보의 파싱에 중점을 두어, 기법(600)의 구체적인 예시(601)를 도시한다. 예를 들어, 도 2a 및 도 2b와 관련하여 설명된 실시간 통신 수단 또는 재생 수단에서 기법(601)을 실행한다. 대안적으로, 다른 수단으로 기법(601)을 실행하기도 한다.
우선, 수단은 비트스트림의 적어도 일부를 수신한다(611). 예를 들어, 비트스트림은 기본 코딩된 비디오 비트스트림이다. 수단은 비트스트림으로부터의 문법 요소들을 파싱한다(621). 문법 요소들은 어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지(즉, 비디오 인코더에서 참조 픽쳐들로서 현재 이용 가능하거나, 디코딩 시에 그 시점에서 참조 픽쳐들로서 비디오 디코더에서 이용 가능할 것으로 예상됨)를 식별하는 상태 정보를 나타낸다. 예를 들어, 상태 정보를 나타내는 문법 요소들이 현재 픽쳐에 대한 비트스트림에서 시그널링된다. 대안적으로, 문법 요소들은 다른 레벨의 비트스트림 문법으로 시그널링된다.
특히, 문법 요소들은 LTRP에 관한 식별 정보를 포함한다. LTRP에 관한 식별 정보는 LTRP에 대한 POC LSB들의 값이다. 참조 픽쳐들로서 사용 가능한 픽쳐들로 STRP를 더 포함할 수 있다. 이 경우에, 수단은 LTRP에 대한 POC LSB들의 값을 STRP에 대한 POC LSB들의 값으로서 재사용할 수 있으며, 다만 LTRP와 STRP를 구별하기 위해 장기 참조로서 사용되는 것이라고 LTRP를 마킹할 수 있다.
비트스트림에서 시그널링된 문법 요소들은 다른 및/또는 추가적인 문법 요소들을 포함할 수 있다. 예를 들어, 수단은 LTRP들에 관한 상태 정보가 시퀀스의 픽쳐들에 대한 비트 스트림에 존재하는지 여부를 나타내는 플래그를 시퀀스 파라미터 집합으로부터 파싱한다. 또는, 수단은 LTRP들에 대한 POC LSB의 값들로 사용하기 위해 POC LSB들에 대한 비트 수를 나타내는 문법 요소를 파싱하고, LTRP에 관한 식별 정보를 파싱할 때 POC LSB들에 대해 그 만큼의 비트 수를 사용한다.
수단은 디코딩 중에 식별 정보를 사용한다(631). 예를 들어, 수단은 상태 정보를 사용하여, 디코딩의 일부로서 비디오 디코더의 디코딩된 픽쳐 저장 영역을 관리한다.
V. DBP RPL 들의 상태의 시그널링에서의 혁신( Innovations in Signaling State of a DBP and RPLs )
HEVC 표준과 함께 BDL 정보를 사용하는 다양한 접근 방법들이 제시되었다. “Absolute Signaling of Reference Pictures"라는 제목으로 "Proposed Changes to the HEVC Working Draft"을 포함하는 문서 JCTVC-F493에 하나의 접근 방법이 설명되어 있다."WD4: Working Draft 4 of High-Efficiency Video Coding"이라는 제목으로 JCTVC-F803_dl_Buffer_Descriptions_r0에 그리고 "WD4: Working Draft 4 of High-Efficiency Video Coding"이라는 제목으로 JCTVC- F803_dl_Buffer_Descriptions_display_process_suggestion_rl에 다른 접근 방법들이 설명되어 있다. 이번 섹션에서는 JCTVC-F803_dl에 관한 문서에서 제시된 접근 방법들에 관련된 구체적인 변경을 설명한다. 이들 변경은 JCTVC-F493에서 제안된 개념들의 일부를 확장한다. 이번 섹션에서 설명되는 상이한 혁신들을 조합하여 또는 개별적으로 사용할 수 있다.
A. 미래 참조 플래그( Future Reference Flag )
본원에 설명된 하나의 혁신에 따르면, 인코더와 디코더는 BDL 정보의 참조 픽쳐마다 미래 참조 플래그를 사용하고, 여기서 미래 참조 플래그는 참조 픽쳐가 현재 픽쳐의 디코딩에만 사용되는지, 또는 코딩된 순서로 적어도 하나의 미래 픽쳐의 디코딩에도 사용되는지 여부를 나타낸다. 따라서 미래 참조 플래그는 현재 픽쳐가 디코딩된 후에 참조 픽쳐가 유지되는지 여부를 나타낸다. 예시적인 구현에서, 미래 참조 플래그는 BDL의 각각의 픽쳐에 추가되는 mark_unused_after_decoding_flag라고 하는 새로운 문법 요소이다. 이런 문법 요소는 BDL 정보와 함께 전체 DPB 크기의 이용을 허용한다.
디코딩 프로세스에서 참조 픽쳐 마킹 동작의 위치가 미리 이동한 경우, 버퍼에 저장될 수 있는 참조 픽쳐들의 개수가 줄어들 수 있다. DPB 용량이 N 개의 픽쳐이고 현재 픽쳐가 참조 픽쳐인 경우, BDL의 전체 크기가 N - 1 개의 픽쳐를 초과하면 버퍼에 현재 픽쳐를 저장할 공간이 없을 것이다. AVC 문법에서는, (1) 먼저 버퍼에 있는 픽쳐들이 디코딩 프로세스에서 참조되고 (2) 그 다음에 더 이상 필요하지 않는 임의의 픽쳐들이 폐기되고(즉, “참조로 사용되지 않음”으로 마킹되어, 새로운 픽쳐를 위해 버퍼에 공간을 만들고), 및 (3) 다음 픽쳐들의 디코딩 프로세스에서의 잠재적 사용을 위해 현재 픽쳐가 버퍼에 저장되기 때문에, 이는 AVC 문법을 사용하여 가능한 것보다 한 개의 픽쳐가 적어진다. 참조로서의 픽쳐들의 사용 전으로 마킹 프로세스를 이동시킴으로써, 주어진 전체 버퍼 용량에 대해 참조될 수 있는 픽쳐들의 개수가 1만큼 줄어든다. 전체 버퍼 용량을 줄이는 것은 매우 바람직하지 않다.
DPB 용량의 사용에 대한 이와 같은 제약을 다루기 위해 미래 참조 플래그를 사용할 수 있다. 예시적인 구현에서, mark_unused_after_decoding_flag라고 불리는 단일-비트 플래그는 BDL에서 리스팅된 각각의 픽쳐에 대해 시그널링된다. mark_unused_after_decoding_flag는 참조 픽쳐가 (BDL 정보와 관련된) 현재 픽쳐의 디코딩에만 사용되는지, 또는 코딩된 순서로 적어도 하나의 나중의 픽쳐의 디코딩에도 사용되는지 여부를 나타낸다. 참조 픽쳐가 현재 픽쳐의 디코딩에만 사용되면, 디코딩된 현재 픽쳐로 참조 픽쳐를 덮어쓸 수 있다. 현재 픽쳐의 디코딩 프로세스 이후에 그리고 DPB에서의 현재 픽쳐의 저장 이전에, 값이 1인 mark_unused_after_decoding_flag를 가지고 “참조로서 사용되지 않은” 것이라고 픽쳐들의 마킹을 실행한다. 예를 들어, DPB가 최대 다섯 개의 참조 픽쳐들을 저장하고 있어서 가득 찬 경우, 다섯 개의 참조 픽쳐들 중 하나가 (mark_unused_after_decoding_flag로 표시된 바와 같이) 미래 픽쳐들의 디코딩에 사용되지 않으면, 디코딩된 현재 픽쳐로 그 참조 픽쳐를 덮어쓸 수 있다. 이와 같은 방식으로, DPB의 전체 버퍼 용량을 사용할 수 있다 - 인코더와 디코더는 디코딩된 현재 픽쳐를 위해 빈 자리를 남겨둘 필요가 없다.
B. 미래 참조 플래그들에 대한 온/ 오프 결정 플래그( On / Off Decision Flag for Future Reference Flags )
본원에 설명된 다른 혁신에 따르면, 미래 참조 플래그들에 대한 온/오프 결정 플래그가 시그널링된다. 인코더가 미래 참조 플래그들의 이용을 원하지 않을 수 있다. 불필요한 비트들의 전송을 피하기 위해서, 인코더는 미래 참조 플래그들에 대한 온/오프 결정 플래그를 사용할 수 있다. 온/오프 결정 플래그가 “온”이면, 미래 참조 플래그들이 사용된다. 반대로, 온/오프 결정 플래그가 “오프”이면, 미래 참조 플래그들이 사용되지 않는다.
예를 들어, 예시적인 구현에서, 일부 인코더들은 mark_unused_after_decoding_flag의 이용을 원하지 않을 수 있다. 이런 인코더들에 의한 불필요한 비트들의 전송을 피하기 위해, no_final_referencing_flag라고 불리는 플래그가 SPS 레벨에서 추가된다. no_final_referencing_flag가 1일 때, mark_unused_after_decoding_flag 문법 요소가 비트스트림에서 생략된다. 이 경우에, 디코더는 mark_unused_after_decoding_flag 문법 요소들의 수신, 파싱, 사용 등을 하지 않는다. 그 밖의 경우, 디코더는 mark_unused_after_decoding_flag 문법 요소들의 수신, 파싱, 사용 등을 한다.
C. 하위 시간 레이어들의 픽쳐들의 마킹( Marking Pictures of Lower Temporal Layers )
본원에 설명된 다른 혁신에 따르면, 상위 시간 레이어에 관련된 픽쳐에 관한 BDL 정보에서, 참조 픽쳐 마킹 정보는 참조로서 사용되지 않은 것으로 하위 시간 레이어의 하나 이상의 픽쳐를 마킹할 수 있다. 몇몇 시나리오에서, 상위 시간 레이어의 픽쳐들에 대한 참조 픽쳐 관리를 위해 이런 옵션들을 허용하는 것이 유용할 수 있다. 또한, 나중의 BDL 정보가 상위 시간 레이어의 픽쳐에 관한 BDL 정보와 함께 미리 제거된 참조 픽쳐들에 관한 상태 정보가 없을 때, 디코더는 이런 참조 픽쳐들의 제거를 추론할 수 있다.
DPB의 상태 시그널링에 대한 몇몇 접근 방법에서, 상위 시간 레이어의 픽쳐들이 하위 시간 레이어의 픽쳐들을 “참조로서 사용되지 않은” 것으로서 마킹하는 것을 금지한다. 본원에 설명된 바와 같은 BLD-타입 문법을 사용할 때, 이러한 금지는 말이 되지 않는다. BDL에서 픽쳐가 생략되면, 그 픽쳐는 다음의 어떤 BDL에서도 나오지 않으므로, 디코더가 픽쳐를 “참조로서 사용되지 않은” 것으로 마킹하기 위한 통지를 놓칠 위험이 없다.
D. 상위 레이어 픽쳐 지정 플래그( Higher Layer Picture Designation Flag )
본원에 설명된 다른 혁신에 따르면, 인코더와 디코더는 BDL 정보에서 상위 시간 레이어의 픽쳐마다 상위 레이어 픽쳐 지정 플래그를 사용하고, 여기서 상위 레이어 픽쳐 지정 플래그는 픽쳐를 BDL 정보를 위해 상위 시간 레이어에 관련된 것이라고 지정한다. 많은 시나리오에서, 상위 시간 레이어의 픽쳐들이 참조 픽쳐들로서 사용되지 않는다. 이런 픽쳐들에 대해서 DPB의 관리 및 업데이트 프로세스가 간략해질 수 있다. 상위 시간 레이어의 픽쳐들에 대해 BDL 정보가 사용되었다면, BDL 정보의 픽쳐마다 간단한 플래그로 충분히 픽쳐를 상위 시간 레이어와 관련된 것이라고 지정할 수 있고, 여기에 DPB의 관리 및 업데이트 동작들이 포함된다.
예시적인 구현에서, 픽쳐가 상위 시간 레이어에 있는지 여부를 나타내기 위해 BDL의 각각의 픽쳐에 대해 간단한 higher_layer_picture_flag가 전송될 수 있다. 몇몇 시나리오에서, 몇몇 이런 픽쳐들이 “참조로서 사용되지 않은” 것으로 마킹되어야 함을 명시적으로 나타낼 수 있도록, BDL 정보에서 상위 시간 레이어의 픽쳐들에 대한 정보를 포함하는 것이 바람직할 수 있다. 이 픽쳐들이 BDL 정보에 리스팅되었다 하더라도, 실제 레이어 개수와 같은 세부 사항을 전송하는 것이 필요하지는 않다. 대신에, 픽쳐가 상위 시간 레이어에 있는지 여부를 나타내기 위해 간단한 higher_layer_picture_flag가 BDL의 각각의 정보에 대해 전송된다. higher_layers_not_listed_flag가 1일 때, 상위 시간 레이어에서 임의의 픽쳐들은 현재 픽쳐의 디코딩 프로세스에 의해 영향을 받지 않는 것으로 - 단지 그들의 기존 마킹 상태를 유지하는 것으로 의도된다.
E. 상위 레이어 픽쳐 지정 플래그들에 대한 온/ 오프 결정 플래그( On / Off Decision Flag for Higher Layer Picture Designation Flags )
본원에 설명된 다른 혁신에 따르면, 인코더와 디코더는 BDL 정보의 상위 시간 레이어의 픽쳐들에 관한 상태 정보를 포함하는 것에 관한 온/오프 결정 플래그를 사용한다. 예를 들어, SPS의 일부로서 온/오프 결정 플래그가 시그널링될 수 있고, 온/오프 결정 플래그는 BDL 정보의 상위 시간 레이어의 픽쳐들에 관한 상태 정보의 존재/부재를 나타낸다.
예시적인 구현에서, higher_layers_not_listed_flag라고 불리는 플래그가 SPS 레벨에서 추가된다. 플래그가 1일 때, 상위 시간 레이어들의 픽쳐들이 CVS의 BDL들에 포함되지 않는다. 이전 제안에서, 상위 시간 레이어들의 픽쳐들이 BDL들에 포함되어 있다. 이 픽쳐들은 현재 픽쳐의 디코딩 프로세스에서 실제로 참조되지 않고, 디코더는 이 사실을 알고 있다. 이 픽쳐들은 현재 픽쳐, 및 현재 시간 레이어와 하위 시간 레이어의 임의의 다음 픽쳐들의 디코딩과 무관하기 때문에, 많은 이용 사례에서 BDL에 이들을 포함시키는 것의 가치가 의문스럽고, 따라서 디코딩되고 있는 레이어들의 디코딩 과정에 무관한 이런 추가 데이터로 문법에 부담을 주는 것을 피하는 것이 바람직하다.
F. APS 레벨에서의 BDL 정보( BDL Information at APS Level )
본원에 설명된 다른 혁신에 따르면, BDL 정보는 적응 슬라이스 파라미터 집합(adaptive slice parameter set)(“APS”) 레벨에서 시그널링된다. BDL 정보의 단일 집합이 APS와 관련된다.
파라미터 집합에 다수의 버퍼 목록들을 갖는 방안은 우아하지도 않고 필요하지도 않다. 선택된 BDL을 식별하기 위해 인덱스를 갖는 다수-목록 개념은 불필요하게 복잡하게 보이는 문법의 새로운 혼합 레벨인 것으로, 불필요한 방식으로 미리 그 BDL 구조를 사전 계획하는 인코더 디자인이 예상된다. 또한, BDL이 APS에 있으므로, 슬라이스 헤더 레벨에서 APS-레벨 BDL을 덮어쓰는 기능이 필요하지 않을 수 있다. 따라서, 적절한 타당성이 없이는, BDL 정보는 APS 레벨 또는 그 상위 레벨에서만 시그널링된다.
G. BDL 정보의 LTRP 들에 대한 간략화된 문법( Simplified Syntax for LTRPs in BDL Information )
본원에 설명된 다른 혁신에 따르면, 인코더와 디코더는 BDL 정보의 LTRP들에 관한 상태 정보를 사용한다. LTRP들은 비디오 인코딩 및 디코딩에 유용한 설계 요소를 제공한다. 그러나, BDL 정보의 LTRP들의 관리 및 업데이트가 쉽지 않다. BDL 정보의 LTRP들에 대한 간략화된 문법의 다양한 버전들이 본원에 제시되며, 이는 LTRP 상태 정보에 대한 비트레이트를 낮추고 DPB 관리를 간단하게 한다.
LTRP들은 몇몇 제품에서, 특히 강건한 실시간 통신을 위해, 실제로 사용되는 유용한 설계 요소이다. AVC에서 발견되는 바와 같은 LTRP들의 양태들은 DPB에 오랫동안 픽쳐를 보관하는 기능은 물론, 모션 벡터 스케일링 및 가중 예측 계산에 관한 다른 처리법의 사용도 포함한다.
예시적인 구현에서, LTRP 기능이 유지되고, BDL 정보가 LTRP 관리를 설명한다. BDL 정보에서 LTRP 상태 정보를 시그널링하는 기존의 일부 접근 방법들은 완전히 분리된 LTRP 리스팅과 전체 POC 차이의 시그널링을 포함하므로 지나치게 상세하며, 이는 적절하지 않다. 예를 들어, LTRP는 그 전체 POC 차이에 의해 식별된다. DPB에 오랫동안 남아 있는 LTRP의 경우, 그 POC 차이를 전송하는 데 필요한 코드워드의 길이가 아주 길고 - 이는 비트를 낭비하며 디코더 파싱 문제를 일으켜, 결국 문법을 사용할 때 LTRP가 유지될 수 있는 기간을 제한하게 된다.
반면, 예시적인 구현에서, 인코더와 디코더는 LTRP 상태 정보에 대한 간략화된 문법을 갖는 BDL 정보를 사용하고, LTRP를 식별하기 위해, 완전한 POC 차이 대신에 POC 값들의 최하위 비트들(“LSBs”) 간의 차이, 모듈로(modulo) 최상위 비트(“MSB”) 래핑 포인트만이 전송된다. POC 값들의 MSB 값들을 추적할 실질적인 이유가 없고 - 단지 상대적인 순서가 반드시 설정될 필요가 있으며, MSB 추적의 특정화를 피하는 것이 랜덤-액세스 디코딩과 같이 의도된 기능에 대한 해석을 용이하게 할 수 있다. 또한, 차이의 MSB들의 표현을 피함으로써, LTRP를 식별하기 위해 전송된 POC 차이가 시간이 지남에 따라 점점 더 커질 필요가 없게 된다. 적절한 설계 선택들을 통해, 인코더는 기존의 LTRP에서 사용되는 동일한 POC LSB들을 재사용하는 새로운 픽쳐를 전송하는 경우에 대한 걱정조차 할 필요가 없다.
아래는 본 사상 내에서 가능한 두 개의 접근 방법들이다. 이 방법들은 BDL 정보의 각각의 픽쳐에 대한 long_term_reference_flag 문법 요소의 전송을 포함한다. 두 번째 접근 방법(아래에서 Scheme B)이 다소 더 간단하다. 첫 번째 접근 방법(Scheme A)은 더 많은 인코더 유연성을 가능하게 한다.
Scheme A에 따르면, 특정 값의 POC LSB에 대해 long_term_reference_flag 문법 요소의 값이 0에서 1로 변경될 때, 이는 AVC에서처럼 “장기 참조로 사용되는” 것으로서 픽쳐를 마킹하게 된다. 동일한 POC LSB 값이 나중에 혼동 없이 단기 참조 픽쳐로 사용될 수 있다. 동일한 POC LSB에서, long_term_reference_flag의 값이 1인 픽쳐는 long_term_reference_flag의 값이 0인 픽쳐와 비교해서 뚜렷하게 식별된 채로 유지된다. LTRP를 “참조로 사용되지 않은” 것으로 마킹한 후에만, 인코더(또는 디코더)는 그 LTRP를 동일한 POC LSB 값을 갖는 다른 LTRP로 대체할 수 있다.
Scheme A에서, LTRP들 및 단기 참조 픽쳐들(STRPs)을 포함하는 병리학적인 과도기의 경우는 다음과 같이 처리된다.
ㆍ 새로운 픽쳐를 디코딩하기 전에, 버퍼가 POC LSB들의 일부 값에 대한 STRP만을 포함하고, 이후에 그 값에 대한 LTRP만을 포함하는 BDL 정보가 수신되면, STRP는 현재 픽쳐의 디코딩 이전에 “장기 참조로 사용되는” 것으로 마킹된다.
ㆍ 새로운 픽쳐를 디코딩하기 전에, 버퍼가 POC LSB들의 일부 값에 대한 LTRP만을 포함하고, 이후에 그 값에 대한 STRP만을 포함하는 BDL 정보가 수신되면, 비트스트림은 적법하지 않다.
ㆍ 새로운 픽쳐를 디코딩하기 전에, 버퍼가 동일한 POC LSB 값들에 대한 LTRP 및 STRP를 모두 포함하고, 이후에 그 값에 대한 STRP만을 포함하는 BDL 정보가 수신되면, LTRP는 “참조로 사용되지 않은” 것으로 마킹된다.
ㆍ 새로운 픽쳐를 디코딩하기 전에, 버퍼가 동일한 POC LSB 값들에 대한 LTRP 및 STRP를 모두 포함하고, 이후에 그 값에 대한 LTRP만을 포함하는 BDL 정보가 수신되면, STRP는 “참조로 사용되지 않은” 것으로 마킹된다.
Scheme B에 따르면, 디코딩될 때 전송되는 플래그(예컨대, used_for_long_term_flag라고 하는 플래그)를 설정하는 것에 의해서만 픽쳐가 “장기 참조로 사용된” 것으로 마킹된다. BDL 정보에서 그 픽쳐를 포함하는 추후의 모든 경우에 long_term_reference_flag의 값이 1이며, LTRP와, 동일한 POC LSB 값을 갖는 가상의 임의의 단기 참조 픽쳐를 구별하기 위해 long_term_reference_flag의 값이 사용된다.
H. LTRP 플래그들에 대한 온/ 오프 결정 플래그( On / Off Decision Flag for LTRP Flags )
본원에 설명된 다른 혁신에 따르면, 인코더와 디코더는 BDL 정보에서 LTRP들에 관한 상태 정보를 포함하는 것에 관한 온/오프 결정 플래그를 사용한다. 예를 들어, SPS의 일부로서 온/오프 결정 플래그가 시그널링될 수 있고, 온/오프 결정 플래그는 BDL 정보에서 LTRP들에 관한 상태 정보의 존재/부재를 나타낸다.
일부 인코더들은 LTRP들을 이용하지 않으므로, 예시적인 구현에서, no_long_term_pictures_flag라고 불리는 플래그가 SPS 레벨에서 전송된다. 플래그가 0일 때, long_term_reference_flag 값들(및, 상기의 Scheme B의 경우에는, used_for_long_term_flag)은 문법에 존재하지 않는다.
I. LTRP 식별 정보를 위해 사용되는 비트들의 감소( Reducing Bits Used for LTRP Identifying Information )
본원에 설명된 다른 혁신에 따르면, BDL 정보에서 LTRP들을 식별하기 위해 사용되는 비트 수가 감소된다. 많은 사용 시나리오에서, LTRP들의 개수는 적고, 적은 수의 비트들로 충분히 LTRP들을 식별한다. 인코더는 다른 사용 시나리오들에서 LTRP들을 식별하기 위해 사용되는 비트 수를 증가시킬 수 있다.
예시적인 구현으로, Scheme A 또는 B에서, 전송되는 POC LSB들의 개수가 적은 경우에 문법이 훨씬 더 효율적일 수 있다. 예를 들어, 전송될 POC LSB들의 비트 수가 8과 같이 큰 수가 아니라 4라면(AVC POC 타입 0의 log2_max_pic_order_cnt_lsb_minus4에서와 같이), BDL 정보의 LTRP-식별 정보와 관련된 비트레이트가 감소될 수 있다. 많은 사용 시나리오에서 4보다 더 큰 비트 수의 사용은 불필요한 부담이 될 수 있다. 한편, 더 큰 비트 수가 적절한 시나리오에서는, 간단하게 인코더가 더 큰 값의 log2_max_pic_order_cnt_lsb_minus4(혹은 그것과 동등한 것)를 사용할 수 있다.
J. BDL 정보의 효율적인 배열( Efficient Organization of BDL information )
본원에 설명된 다른 혁신에 따르면, BDL 정보는 RPL 구성에 사용된 순서대로 배열되어 전송된다. 이는 RPL 구성을 위한 문법을 간단하게 한다.
예시적인 구현에서, BDL 정보 자체가 픽쳐들의 목록이므로, BDL 정보는 전송 목록의 첫 번째로 리스팅된 픽쳐들로부터 목록 0의 직접적인 구성에 필요한 순서대로 전송 가능할 수 있다. 픽쳐들이 목록 0의 순서로 리스팅되면, 목록 0에 대한 참조 픽쳐 목록 수정 문법이 실제로 필요하지 않다.
K. POC 값들에 대한 차이 허용 여부의 시그널링( Signaling Whether Gaps Allowed for POC Values )
본원에 설명된 다른 혁신에 따르면, 인코더는 POC 값들의 차이의 허용 여부를 시그널링한다. 차이가 허용되지 않으면, 디코더는 POC 값들이 누락되었다고 결정할 때 픽쳐 손실을 인식할 수 있고, 디코더는 POC 값들에 기반하여 출력용으로 배열 중인 픽쳐들에 대한 결정을 내릴 수 있다.
예시적인 구현에서, poc_gaps_allowed_flag라고 불리는 플래그가 SPS 레벨에서 전송된다. 이 플래그의 값이 0일 때, 출력 순서에서의 모든 연속 픽쳐들이 차이 없이 연속 POC LSB 값들을 갖는다. 따라서, 디코더는 누락된 POC 값들을 인식함으로써 픽쳐 손실을 알아챌 수 있다. 또한, 인코더에서의 poc_gaps_allowed_flag 문법 요소들의 사용으로 인해 출력-순서 순응 디코더로부터 출력용으로 배열된 픽쳐들의 스트링을 디코더들이 인식하게 된다. POC 값이 K인 픽쳐가 이미 출력되었고, POC 값이 K + 1인 픽쳐가 DPB에 존재하면, 디코더는 이 POC 값이 K + 1인 픽쳐가 출력될 다음 픽쳐일 것임을 탐지할 수 있을 것이다. 또한, POC 값이 K + 1인 이런 픽쳐가 DPB에 존재하지 않으면, 디코더는 무언가 잘못되지 않는 한 그 POC LSB 값을 갖는 픽쳐가 나중에 도착할 것임을 알 것이다.
L. BDL 정보에 대한 문법 요소들의 엔트로피 코딩 및 디코딩( Entropy Coding and Decoding of Syntax Elements for BDL Information )
본원에 설명된 다른 혁신에 따르면, BDL 정보의 문법 요소들은 비부호 지수 골룸 코딩 대신에 절삭된 지수 골룸 코딩(즉, te(v))을 사용하여 인코딩될 수 있다. BDL 정보의 다양한 문법 요소들이 ue(v) 인코딩된 값들로서 전송되도록 제안되었다. 보통, 이들 문법 요소로 이용 가능한 선택의 수가 적다. 따라서, te(v) 값들로서 이런 문법 요소들을 인코딩하는 것이 효율을 향상시킬 수 있다. 디코더는 상응하는 엔트로피 디코딩을 실행한다.
VI . DBP RPL 들의 상태 시그널링에서의 추가적인 혁신들( Additional Innovations in Signaling State of a DBP and RPLs )
몇몇 구현에서, 비디오 인코더와 비디오 디코더는 POC 계산을 간단하게 하고 POC 계산의 강건성을 향상시키기 위해 추가적인 제약을 따를 수 있다. 이런 제약이 있든 없든, 다양한 사용 시나리오에서, 비디오 인코더와 비디오 디코더는 참조 픽쳐들로서의 사용을 위해 이용 가능한 픽쳐들을 식별하는 시그널링된 상태 정보를 사용할 수 있다.
A. POC 계산의 강건성을 향상시키는 첫 번째 접근 방법들( First Approaches to Improving Robustness of POC Computation )
예시적인 접근 방법들의 첫 번째 집합에서, 참조들로서 사용되거나 출력 대기 중인 모든 픽쳐들이 현재 픽쳐의 POC에 대해 명료하게 계산될 수 있는 상대적인 POC 위치들을 갖고 있는 제약이 소개된다. 이는 POC 값들의 MSB들의 추적을 방해하는 잠재적인 강건성 문제들을 다룬다.
예를 들어, POC 랩(wrap) 값이 16이라고(또한 DPB 크기가 픽쳐 출력이 지연될 정도로 충분히 크고, 모든 픽쳐들이 참조 픽쳐들이라고) 가정하자. 디코딩 순서에서 연속하는 픽쳐들의 POC LSB 값들이 5, 11, 2인 경우, POC LSB 값이 2인 픽쳐가 디코딩될 때, POC LSB 값이 5인 픽쳐의 위치가 POC LSB 값이 2인 현재 픽쳐에 대해 애매해진다. POC LSB 값이 11인 픽쳐가 손실되면, 다른 두 픽쳐들이 상대 순서가 틀리게 출력될 것이다(또한, 모션 벡터들의 시간적인 스케일링이 틀릴 것이고, 참조 픽쳐 목록 구성도 틀릴 것이며, 시간적 가중 예측(temporal weighted prediction)도 틀리게 될 것이다).
제약을 부과하고 현재 픽쳐의 POC 값에 대해 상대적인 모든 POC 값들을 참조함으로써, 버퍼의 픽쳐들에 대한 실제 POC MSB들을 추적할 필요가 사라진다. 이와 같은 접근 방법에서, 상대적인 POC 위치들은 픽쳐들이 버퍼에 머무는 동안 옳은 것으로 남아 있다. 이는 POC에 대해 적은 수의 LSB들을 사용할 때 발생할 수 있는 문제들에 대한 우려를 덜어주고, 더 큰 최소 개수의 POC LSB들을 강제하는 방식보다 더 완벽하게 문제를 해결한다.
B. POC 계산의 강건성을 향상시키는 두 번째 접근 방법들( Second Approaches to Improving Robustness of POC Computation )
디코더가 각각의 디코딩된 픽쳐와 관련된 POC의 MSB 값들을 추론할 때, 몇몇 문제점들이 있을 수 있다. 전체 코딩된 비디오 시퀀스에 걸쳐, 매 픽쳐마다 디코딩 프로세스의 히스토리로부터 MSB 값들이 추론되고, 비트스트림으로부터의 하나 이상의 픽쳐의 제거의 결과로 인해 MSB 값들이 부정확해질 수 있다. 이는 결국 남아 있는 픽쳐들의 순서가 뒤바뀐 재생, 잘못된 참조 픽쳐 목록 구성, 및 잘못된 시간적 가중 예측을 하게 한다. 비트스트림에 랜덤 액세스를 하는 디코더는 코딩된 비디오 시퀀스의 이전 픽쳐들에 액세스하지 못하므로, 추론에 의한 MSB 값들의 특정화가 랜덤 액세스를 어렵게 할 수 있다.
예시적인 접근 방법들의 두 번째 집합에서는, 예시적인 접근 방법들의 첫 번째 집합에 유사하게, 상대적인 POC 계산에 대한 제약이 (POC LSB 값들이 pic_order_cnt_lsb 문법 요소로 표현되는) 비트스트림에서 픽쳐들의 POC LSB들의 값에 소개된다. 이러한 제약을 따르는 것은 코딩 효율에 무시해도 될 정도의 영향을 미치고, 상대적인 POC 순서를 구축하기 위한 디코딩 프로세스를 간단하게 하며, POC MSB 값들의 추론의 필요성을 제거하고, 픽쳐 손실에 대한 강건성을 향상시킬 수 있다. 따라서, 강건성 문제를 다루고 실제 POC MSB 값들을 추적할 필요를 없애기 위해, 참조로서 사용되거나 출력 대기 중인 모든 픽쳐들이 현재 픽쳐의 POC에 대해 명료하게 계산될 수 있는 상대적인 POC 위치들을 갖는 제약이 소개된다.
예를 들어, 전송된 POC LSB들의 개수가 4이며, 따라서 POC 랩 값이 16이라고(또한 DPB 크기가 픽쳐 출력이 지연될 정도로 충분히 크고, 모든 픽쳐들이 참조 픽쳐들이라고) 가정하자. 디코딩 순서에서 연속하는 픽쳐들의 POC LSB 값들이 5, 11, 2인 경우, POC LSB 값이 2인 픽쳐가 디코딩될 때, POC LSB 값이 5인 픽쳐의 위치가 POC LSB 값이 2인 현재 픽쳐에 대해 애매해진다. POC LSB 값이 11인 픽쳐가 손실되면, 다른 두 픽쳐들이 상대 순서가 틀리게 출력될 것이고, 모션 벡터들의 시간적인 스케일링이 틀릴 것이고, 참조 픽쳐 목록 구성도 틀릴 것이며, 시간적 가중 예측도 틀리게 될 것이다.
제약을 부과하고 현재 픽쳐의 POC 값에 대해 상대적인 모든 POC 값들을 참조함으로써, 버퍼의 픽쳐들에 대한 실제 POC MSB들을 추적할 필요가 사라진다. 이와 같은 접근 방법에서, 상대적인 POC 위치들은, 픽쳐들이 단기 참조 또는 출력 순서를 위해 버퍼에 머무는 동안 옳은 것으로 남아 있다. 이는 POC에 대해 적은 수의 LSB들을 사용할 때 발생할 수 있는 문제들에 대한 우려를 덜어주고, 더 큰 최소 개수의 POC LSB들을 강제하는 방식보다 더 완벽하게 문제를 해결한다.
상대적인 POC 계산에 대한 이와 같은 제약과 함께, 또는 POC 값들 계산에 대한 다른 접근 방법과 함께, 인코더는 POC 값들의 범위에 제약을 적용할 수 있다. 예를 들어, 인코더는 POC 값들의 범위(특정 픽쳐 및 그 참조 픽쳐들에 대한 최대와 최소 사이의 차이)가 POC LSB들에서 가능한 최대 값에 따른 임계치에 의해 제한되도록 인코딩 중에 POC 값들을 설정한다. 이런 제약의 예시들이 아래에서 설명된다.
도 2a 및 2b와 관련하여 설명된 실시간 통신 수단이나 인코딩 수단은 POC 값들에 대한 이들 제약 중에 어느 한쪽 또는 양쪽의 제약에 따라 인코딩을 실행할 수 있다. 대안적으로, 다른 수단이 본 기법을 실행한다. 먼저, 수단은 제약(들)에 따라 픽쳐들에 대한 POC 값들을 설정한다. 예를 들어, 제약은 현재 픽쳐 및 그 참조 픽쳐들에 대한 POC LSB 값들의 범위를 제한하고, 이는 아래에서 설명된다. 다음으로 수단은 픽쳐들에 대한 비디오를 인코딩하여, 그에 따르는 비트스트림을 생성한다. 이 비트스트림에서, 수단은 적용된 제약(들)에 일치하는 POC 값들을 (예컨대, POC LSB들을 나타내는 문법 요소들을 사용하여) 시그널링할 수 있다.
1. 상대적인 POC 계산이 없는 예시적인 접근 방법( Example Approach Without Relative POC Computation )
상대적인 POC 계산이 없는 예시적인 접근 방법에서, POC 값들은 다음과 같이 디코딩된다. 본 프로세스의 출력은 PicOrderCntVal, 현재 픽쳐의 POC이다. POC들은, 시간 또는 공간 디렉트 모드에서 모션 파라미터들을 도출하기 위해 픽쳐들을 식별하고, 모션 벡터 도출을 위해, B 슬라이스에서 내포 모드 가중 예측을 위해, 또한 디코더 순응(conformance) 확인을 위해 프레임들 간의 픽쳐 순서 차이를 나타내는 데에 사용된다. 코딩된 각각의 픽쳐는 PicOrderCntVal이라고 불리는 하나의 POC와 관련이 있고, 이는 디코딩 순서에서 이전 IDR 픽쳐에 관한 대응 픽쳐의 픽쳐 순서를 나타낸다.
변수들 prevPicOrderCntLsb 및 prevPicOrderCntMsb는 다음과 같이 도출된다. 현재 픽쳐가 IDR 픽쳐이면, prevPicOrderCntLsb 및 prevPicOrderCntMsb 양쪽 모두의 값이 0으로 설정된다. 그 밖에는(현재 픽쳐가 IDR 픽쳐가 아니면), (a) temporal_id가 0인 디코딩 순서에서 prevRefPic를 이전 참조 픽쳐가 되게 하고, (b) 변수 prevPicOrderCntLsb가 prevRefPic의 pic_order_cnt_lsb와 같도록 설정되고, 변수 prevPicOrderCntMsb가 prevRefPic의 PicOrderCntMsb와 같도록 설정된다.
현재 픽쳐의 PicOrderCntMsb는 도 7a에 도시된 유사 코드 목록(700)에 명시된 것처럼 도출된다. 대안적으로, 현재 픽쳐의 PicOrderCntMsb를 결정하기 위해 동등한 논리가 사용될 수 있다. 그 후에, PicOrderCntVal의 값이 다음과 같이 도출된다
PicOrderCntVal = PicOrderCntMsb + pic_order_cnt_lsb.
예시적인 접근 방법에서, pic_order_cnt_lsb가 IDR 픽쳐들에 대해 0으로 추론되고, prevPicOrderCntLsb 및 prevPicOrderCntMsb가 모두 0으로 설정되었으므로, IDR 픽쳐들은 값이 0인 PicOrderCntVal을 갖게 된다. 주어진 코딩된 비디오 시퀀스에서, 임의의 코딩된 두 픽쳐들에 대한 PicOrderCntVal 값들이 서로 다를 수 있다.
예시적인 접근 방법과 결합하여, 인코더는 POC 값들의 범위에 제약을 가할 수 있다. 예를 들어, 인코더는 POC 값들의 범위(특정 픽쳐 및 그 참조 픽쳐들에 대한 최대와 최소 사이의 차이)가 POC LSB들에서 가능한 최대 값에 따른 임계치에 의해 제한되도록 인코딩 중에 POC 값들을 설정한다.
2. 상대적인 POC 계산이 있는 예시적인 접근 방법( Example Approach With Relative POC Computation )
다른 예시적인 접근 방법에서, POC 값들이 다음과 같이 디코딩된다. 프로세스 출력은 현재 픽쳐 및 “단기 참조로서 사용된” 또는 “출력에 필요한” 것으로 마킹된 DPB의 각각의 픽쳐에 대한 PicOrderCntVal이다. POC들은, 시간 또는 공간 디렉트 모드에서 모션 파라미터들을 도출하기 위해 픽쳐들을 식별하고, 모션 벡터 도출을 위해, B 슬라이스에서 내포 모드 가중 예측을 위해, 또한 디코더 순응 확인을 위해 프레임들 간의 픽쳐 순서 차이를 나타내는 데에 사용된다.
변수 currPicOrderCntLsb는 현재 픽쳐에 관련된 pic_order_cnt_lsb 문법 요소의 값으로 설정된다. 현재 픽쳐 및 “단기 참조로서 사용된” 또는 “출력에 필요한” 것으로 현재 마킹된 DPB의 각각의 픽쳐에서, 관련 변수 thatPicOrderCntLsb는 그 픽쳐에 관련된 pic_order_cnt_lsb 문법 요소의 값으로 설정되고, 관련 변수 PicOrderCntVal은 도 7b에 도시된 유사 코드 목록(701)에 표시된 대로 설정된다.
변수 maxPicOrderCnt는 현재 픽쳐 및 “단기 참조로서 사용된” 또는 “출력에 필요한” 것으로 현재 마킹된 DPB의 모든 픽쳐들에 대한 관련 값들 중에서 PicOrderCntVal의 최대값과 동일하게 설정된다. 변수 minPicOrderCnt는 현재 픽쳐 및 “단기 참조로서 사용된” 또는 “출력에 필요한” 것으로 현재 마킹된 DPB의 모든 픽쳐들에 대한 관련 값들 중에서 PicOrderCntVal의 최소값과 동일하게 설정된다. 본 접근 방법의 제약은 POC LSB들로 가능한 최대값을 고려하여, 변수들 maxPicOrderCnt 및 minPicOrderCnt에 의해 결정된다. 예를 들어, 제약은 maxPicOrderCnt - minPicOrderCnt의 값이 MaxPicOrderCntLsb / 2보다 작아야 하는 비트스트림 순응 요건이다. 대안적으로, POC 값들의 범위(최대와 최소 사이의 차이)가 POC LSB들에서 가능한 최대 값에 따른 임계치에 의해 제한되는 다른 형태로 제약이 구현된다.
함수 PicOrderCnt( picX )는 PicOrderCnt( picX ) = 픽쳐 picX의 PicOrderCntVal로 특정된다. 함수 DiffPicOrderCnt( picA, picB )는 DiffPicOrderCnt( picA, picB ) = PicOrderCnt( picA ) - PicOrderCnt( picB )로 특정된다. 예를 들어, picX를 현재 픽쳐로 하고, picY 및 picZ를 동일한 시퀀스의 다른 두 픽쳐들이라고 하면, DiffPicOrderCnt( picX, picY ) 및 DiffPicOrderCnt( picX, picZ )가 모두 양이거나 모두 음일 때, picY 및 picZ는 picX에 대해 동일한 출력 순서 방향에 있는 것으로 여겨진다. 많은 인코더들이, 디코딩 프로세스에서 사용되는 DiffPicOrderCnt( picA, picB )의 값들이 (정확하게 또는 대략적으로) 관련 픽쳐들 picA 및 picB의 샘플링 시간들 간의 시차에 비례하도록 pic_order_cnt_lsb 문법 요소 값들을 부여한다.
이런 예시적인 접근 방법에서, PicOrderCntVal의 값은, 현재 픽쳐의 pic_order_cnt_lsb 및 PicOrderCntVal 변수(들)에 관련된 각각의 픽쳐(들)의 pic_order_cnt_lsb 외에는, SPS 레벨 아래의 비트스트림의 임의의 데이터의 문법 또는 디코딩 프로세스에 아무런 종속성이 없다. 또한, (-MaxPicOrderCntLsb에서 2 * MaxPicOrderCntLsb 범위 내인) 제한된 범위를 원래부터 갖고 있기 때문에, PicOrderCntVal의 범위에 제약을 부과할 필요가 없다.
C. 사용 시나리오들( Use Scenarios )
다양한 사용 시나리오에서, 비디오 인코더와 비디오 디코더는 참조 픽쳐들로서 어떤 픽쳐들이 사용 가능한지를 식별하는 시그널링된 상태 정보를 사용할 수 있다. 단방향 통신의 경우, 도 2b와 관련하여 일반적으로 설명한 바와 같이, 비디오 인코더는 비디오 감시 시스템, 웹 카메라 모니터링 시스템, 원격 데스크탑 회의 프레젠테이션 또는 기타 시나리오에서 인코딩된 비디오를 제공할 수 있다. 양방향 통신의 경우, 도 2a와 관련하여 일반적으로 설명한 바와 같이, 비디오 인코더는 화상 회의, 화상 통화, 또는 기타 양자간 통신 시나리오에서 인코딩된 비디오를 제공할 수 있다.
비디오 인코더는 비디오 시퀀스에서 반복되는 장면의 요소들을 묘사하는 하나 이상의 LTRP를 선택할 수 있다. 예를 들어, 비디오 감시 시스템이나 웹 카메라 모니터링 시스템의 경우, 비디오 인코더는 시퀀스에 걸쳐 지속적으로 등장하는 장면의 배경 요소들을 묘사하는 하나 이상의 LTRP를 선택한다. 또는, 원격 데스크탑 회의 프레젠테이션의 경우, 비디오 인코더는 데스크탑 사용자 인터페이스 또는 애플리케이션 소프트웨어의 요소들을 묘사하는 하나 이상의 LTRP를 선택한다. 또는, 화상 회의나 화상 통화의 경우, 비디오 인코더는 장면의 배경 요소들 또는 참가자의 상대적으로 정적인 요소들(예컨대, 앉아 있는 사람의 특징들)을 묘사하는 하나 이상의 LTRP를 선택한다. 인코딩 중에, 비디오 인코더는, 모션 보상을 위해 LTRP들이 사용되는 빈도에 기반하여 어떤 LTRP들을 이용 가능한 참조 픽쳐들로 유지할 수 있는지와, 비디오 디코더 및/또는 다른 팩터들에 의해 어떤 LTRP들이 성공적으로 복원되었는지를 결정할 수 있다.
비디오 인코더는 클라이언트 컴퓨팅 장치가 스트림을 전환하는 경우(예컨대, 다른 스트림으로의 채널 변경 후에, 또는 다른 비트레이트/품질로 동일한 시퀀스의 스트림으로의 전환 후에) 재생을 용이하게 하기 위해 LTRP들을 주기적으로 리셋할 수 있다. 이러한 주기적인 LTRP 리셋은 비디오 디코더가 올바른 디코딩을 위해 가지고 있어야 하는 참조 픽쳐들을 갖지 못하게 방해하는 패킷 손실이나 깨짐(corruption)으로부터 클라이언트 컴퓨팅 장치가 복구되도록 도울 수 있다. LTRP들을 리셋할 때, 비디오 인코더는 인트라-코딩된(intra-coded) 픽쳐들을 사용할 수 있고, 이는 랜덤 액세스 및 복구 기능을 제공하도록 도와주지만 모션-보상된 픽쳐들보다 더 높은 비트레이트를 갖는 경향이 있다.
실시간 비디오 통신 시나리오에서(예컨대, 화상 회의, 화상 통화, 원격 데스크탑 회의 프레젠테이션), 비디오 인코더와 비디오 디코더는 더 빨리 복구되는 오류 복구 및 오류 은닉과 향상된 코딩 효율을 용이하게 하도록 상호작용할 수 있다. 예를 들어, 서버 컴퓨팅 장치에서, 비디오 인코더는 어떤 픽쳐들이 비디오 인코더에서 참조 픽쳐들로서 사용 가능한지를 식별하는 상태 정보를 결정한다. (패킷 손실이나 깨짐이 그 어떤 참조 픽쳐들에 대한 복원에도 부정적으로 영향을 주지 않는다고 가정하고, 디코딩이 이 시점에 도달했을 때, 이러한 픽쳐들은 비디오 인코더에 의해 참조 픽쳐들로서 사용 가능할 것으로 예상된다.) 그 후에, 서버 컴퓨팅 장치는 상태 정보를 나타내는 문법 요소들을 설정하고 문법 요소들을 출력한다.
클라이언트 컴퓨팅 장치에서, 비디오 디코더는 어떤 픽쳐들이 비디오 인코더에서 참조 픽쳐들로서 사용 가능한지를 식별하는 상태 정보를 나타내는 문법 요소들을 수신하고 파싱한다(디코딩이 이 시점에 도달했을 때, 또한 픽쳐들은 비디오 인코더에 의해 참조 픽쳐들로서 사용 가능할 것으로 예상된다). 디코더는 참조 픽쳐 집합들을 결정하기 위해 디코딩 중에 상태 정보를 사용할 수 있다. 또는, 디코더는 오류 복구 또는 은닉 동작을 개시하기 위해 상태 정보를 사용할 수 있다. 패킷 손실이나 깨짐이 비디오 인코더에 의한, 표시된 참조 픽쳐들 중 하나 이상의 올바른 복원을 방해했을 수 있다. 비디오 인코더는 어떤 픽쳐들이 비디오 인코더에 의해 참조 픽쳐들로서 실제로 사용 가능할 것인지를 식별하는 상태 정보(새로운 상태 정보, 디코더 상태 정보 등으로 불릴 수 있음)를 결정한다. 비디오 디코더는 디코더 상태 정보를 나타내는 피드백 정보에 대한 문법 요소들을 설정한다. 비디오 디코더는 다음 인코딩에서 비디오 인코더가 사용하도록 피드백 정보를 전송한다. 이는 비디오 디코더로부터 피드백 정보는 물론 이전에 시그널링된 상태 정보도 사용하여, 어떤 픽쳐들이 비디오 디코더에서 참조로서 실제로 이용 가능한지를 비디오 인코더가 결정할 수 있게 한다.
서버 컴퓨팅 장치에서, 비디오 인코더는 디코더 상태 정보를 나타내는 피드백 정보를 수신하고, 인코딩 중에 피드백 정보를 사용한다. 예를 들어, 비디오 인코더는 비디오 디코더가 올바르게 복원하지 않은 하나 이상의 LTRP를 제거하기 위해 피드백 정보를 사용한다. 또는, 비디오 인코더는, 피드백 정보가 비디오 디코더에서 이용 가능하다고 확인해준 LTRP들에 관한 하나 이상의 다음 픽쳐를 인코딩하는 방법을 결정할 때 피드백 정보를 사용한다. 비디오 인코더는 피드백 정보와 일치하는 상태 정보를 결정하고, 상태 정보를 나타내는 문법 요소들을 설정하며, 이들 문법 요소들을 비트스트림으로 출력한다. 이렇게 하여, 비디오 인코더는 LTRP들의 사용으로 인한 높은 코딩 효율을 갖고, 기본 인코딩 및 디코딩 특징들에 따르는 방식으로, 비디오 디코더가 패킷 손실이나 깨짐으로부터 좀 더 빨리 복구되도록 도울 수 있다.
비디오 디코더는 비디오 인코더에 주기적으로 피드백 정보를 제공할 수 있다(예컨대, 각각의 픽쳐, x 픽쳐들의 각각의 그룹). 또는, 비디오 디코더는 요청 시에(예컨대, 비디오 디코더가 수신된 상태 정보와, 비디오 인코더에서 실제로 이용 가능한 참조 픽쳐들 간의 차이(discrepancy)를 식별할 때) 피드백 정보를 제공할 수 있다. 비디오 디코더는 별개의 피드백 채널로 피드백 정보를 제공하거나, 또는, 양방향 통신에서는, 발신 미디어 스트림으로 인코딩된 비디오 데이터로 다중화된 피드백 정보를 제공할 수 있다.
개시된 본 발명의 원리들을 적용할 수 있는 다수의 가능한 실시예의 관점에서는, 예시된 실시예가 본 발명의 바람직한 예일 뿐이고 발명의 범위를 한정하는 것으로서 취급되어서는 안 된다는 점이 인식되어야 한다. 오히려, 본 발명의 범위는 다음의 청구항들에 의해 규정된다. 따라서, 이들 청구항의 범위 및 사상에 속하는 모든 것을 본 발명으로서 청구한다.

Claims (10)

  1. 비디오 인코더를 구현하는 컴퓨팅 시스템에 있어서,
    상기 컴퓨팅 시스템은
    어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지를 식별하는 상태 정보를 결정하는 단계,
    장기 참조 픽쳐(“LTRP”)에 관한 식별 정보의 설정을 포함하여, 상기 상태 정보를 나타내는 문법 요소들을 설정하는 단계 - 상기 LTRP에 관한 상기 식별 정보는 상기 LTRP에 대한 픽쳐 순서 카운트 최하위 비트들(“POC LSBs”)의 값임 -, 및
    상기 문법 요소들을 비트스트림의 일부로서 출력하는 단계를 포함하는 방법을 실행하도록 구성되는 컴퓨팅 시스템.
  2. 제 1 항에 있어서,
    상기 방법은
    시퀀스의 픽쳐들에 대한 상기 비트스트림에 LTRP들에 관한 상태 정보를 포함하는지 여부를 결정하는 단계, 및
    시퀀스 파라미터 집합의 일부로서, 상기 LTRP들에 대한 상태 정보가 상기 시퀀스의 상기 픽쳐들에 대한 상기 비트스트림에 존재하는지 여부를 나타내는 플래그를 출력하는 단계를 더 포함하는 컴퓨팅 시스템.
  3. 제 1 항에 있어서,
    참조 픽쳐들로서 사용 가능한 상기 픽쳐들이 단기 참조 픽쳐(“STRP”)를 포함하고, 상기 방법은
    상기 LTRP에 대한 POC LSB들의 상기 값을 상기 STRP에 대한 POC LSB들의 값으로서 재사용하는 단계, 및
    상기 LTRP와 상기 STRP를 구별하기 위해 장기 참조로서 사용되는 것으로서 상기 LTRP들에 마킹하는 단계를 더 포함하는 컴퓨팅 시스템.
  4. 제 1 항에 있어서,
    상기 방법은
    LTRP들에 대한 POC LSB들의 값들로 사용하기 위한 POC LSB들에 대한 비트 수를 설정하는 단계, 및
    POC LSB들에 대한 상기 비트 수를 나타내는 문법 요소를 출력하는 단계를 더 포함하는 컴퓨팅 시스템.
  5. 비디오 디코더를 구현하는 컴퓨팅 시스템에서 수행되는 방법으로서,
    비트스트림의 적어도 일부를 수신하는 단계,
    상기 비트스트림으로부터 문법 요소들을 파싱하는 단계 - 상기 문법 요소들은 어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지를 식별하는 상태 정보를 나타내고, 상기 문법 요소들은 장기 참조 픽쳐(“LTRP”)에 관한 식별 정보를 포함하며, 상기 LTRP에 관한 식별 정보는 LTRP에 대한 픽쳐 순서 카운트 최하위 비트들(“POC LSBs”)의 값임 -, 및
    디코딩 중에 상기 식별 정보를 사용하는 단계를 포함하는 방법.
  6. 제 5 항에 있어서,
    시퀀스 파라미터 집합으로부터, LTRP들에 관한 상태 정보가 시퀀스의 픽쳐들에 대한 비트스트림에 존재하는지 여부를 나타내는 플래그를 파싱하는 단계를 더 포함하는 방법.
  7. 제 5 항에 있어서,
    참조 픽쳐들로서 사용 가능한 상기 픽쳐들은 단기 참조 픽쳐(“STRP”)를 포함하고, 상기 방법은
    상기 LTRP에 대한 POC LSB들의 상기 값을 상기 STRP에 대한 POC LSB들의 값으로서 재사용하는 단계, 및
    상기 LTRP와 상기 STRP를 구별하기 위해 장기 참조로서 사용되는 것으로서 상기 LTRP들에 마킹하는 단계를 더 포함하는 방법.
  8. 제 5 항에 있어서,
    LTRP들에 대한 POC LSB들의 값들로 사용하기 위한 POC LSB들에 대한 비트 수를 나타내는 문법 요소를 파싱하는 단계, 및
    상기 LTRP에 대한 상기 식별 정보를 파싱할 때 POC LSB들에 대한 상기 비트 수를 사용하는 단계를 더 포함하는 방법.
  9. 비트스트림의 적어도 일부를 수신하는 단계,
    상기 비트스트림으로부터 문법 요소들을 파싱하는 단계 - 상기 문법 요소들은 어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지를 식별하는 상태 정보를 나타내고, 상기 문법 요소들은 장기 참조 픽쳐(“LTRP”)에 관한 식별 정보를 포함하며, 상기 LTRP에 관한 식별 정보는 LTRP에 대한 픽쳐 순서 카운트 최하위 비트들(“POC LSBs”)의 값임 -, 및
    디코딩 중에 상기 식별 정보를 사용하는 단계
    를 포함하는 방법을 실행하도록 컴퓨팅 시스템을 프로그래밍하는 컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 컴퓨터 판독 가능 저장 매체.
  10. 비디오 인코더, 비디오 디코더, 음성 입력 장치, 스피커, 비디오 캡쳐 구성 요소, 디스플레이, 및 통신 접속부를 포함하는 실시간 통신 수단에 있어서,
    상기 실시간 통신 수단은 비트스트림에서 상태 정보를 나타내는 문법 요소들을 처리하도록 구성되고, 상기 상태 정보는 어떤 픽쳐들이 참조 픽쳐들로서 사용 가능한지를 식별하고, 상기 문법 요소들은 장기 참조 픽쳐(“LTRP”)에 관한 식별 정보를 포함하며, 상기 LTRP에 관한 식별 정보는 상기 LTRP에 대한 픽쳐 순서 카운트 최하위 비트들(“POC LSBs”)의 값인 실시간 통신 수단.
KR1020147012129A 2011-11-07 2012-11-06 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링 기법 KR102058759B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161556813P 2011-11-07 2011-11-07
US61/556,813 2011-11-07
US13/669,380 2012-11-05
US13/669,380 US10003817B2 (en) 2011-11-07 2012-11-05 Signaling of state information for a decoded picture buffer and reference picture lists
PCT/US2012/063748 WO2013070630A1 (en) 2011-11-07 2012-11-06 Signaling of state information for a decoded picture buffer and reference picture lists

Publications (2)

Publication Number Publication Date
KR20140085492A true KR20140085492A (ko) 2014-07-07
KR102058759B1 KR102058759B1 (ko) 2019-12-23

Family

ID=48223702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012129A KR102058759B1 (ko) 2011-11-07 2012-11-06 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링 기법

Country Status (12)

Country Link
US (6) US10003817B2 (ko)
EP (1) EP2777251B1 (ko)
JP (1) JP6087940B2 (ko)
KR (1) KR102058759B1 (ko)
CN (1) CN103918268B (ko)
AU (1) AU2012336043B2 (ko)
BR (3) BR122022001670B1 (ko)
CA (1) CA2854331C (ko)
IN (1) IN2014CN03320A (ko)
MX (1) MX353889B (ko)
RU (1) RU2613738C2 (ko)
WO (1) WO2013070630A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016048035A1 (ko) * 2014-09-23 2016-03-31 삼성전자 주식회사 참조 빈도에 따라 참조 영상 데이터를 제어하는 비디오 부복호화 방법 및 장치
WO2020141889A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
WO2013070028A1 (ko) * 2011-11-11 2013-05-16 엘지전자 주식회사 영상 정보 전송 방법 및 장치와 이를 이용한 복호화 방법 및 장치
US9584832B2 (en) * 2011-12-16 2017-02-28 Apple Inc. High quality seamless playback for video decoder clients
US9609341B1 (en) * 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9319679B2 (en) * 2012-06-07 2016-04-19 Qualcomm Incorporated Signaling data for long term reference pictures for video coding
RU2624578C2 (ru) * 2012-07-02 2017-07-04 Самсунг Электроникс Ко., Лтд. Способ и устройство для прогнозирования вектора движения для кодирования видео или декодирования видео
US9313500B2 (en) 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
CN104919803B (zh) * 2013-01-15 2017-09-12 华为技术有限公司 一种用于解码视频比特流的方法
PL2946556T3 (pl) * 2013-01-16 2017-04-28 Telefonaktiebolaget Lm Ericsson (Publ) Koder i dekoder oraz metoda kodowania sekwencji filmowej
EP2804375A1 (en) 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
EP2804374A1 (en) * 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
CN104243988B (zh) * 2013-06-14 2019-11-12 浙江大学 视频编解码方法及装置、传输视频码流的方法
US9794579B2 (en) * 2013-07-15 2017-10-17 Qualcomm Incorporated Decoded picture buffer operations for video coding
KR20150009468A (ko) * 2013-07-15 2015-01-26 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
WO2015053596A1 (ko) 2013-10-12 2015-04-16 삼성전자 주식회사 멀티 레이어 비디오의 복호화 및 부호화를 위한 버퍼 관리 방법 및 장치
US9900605B2 (en) 2013-10-14 2018-02-20 Qualcomm Incorporated Device and method for scalable coding of video information
KR102294092B1 (ko) 2014-01-02 2021-08-27 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치
WO2015102271A1 (ko) * 2014-01-02 2015-07-09 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치
US9756355B2 (en) * 2014-06-20 2017-09-05 Qualcomm Incorporated Value ranges for syntax elements in video coding
US10158867B2 (en) * 2014-06-20 2018-12-18 Qualcomm Incorporated Picture order count reset for multi-layer codecs
US10091532B2 (en) * 2014-06-26 2018-10-02 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
CN104159118A (zh) * 2014-07-30 2014-11-19 天津大学 一种基于伪随机序列和lsb算法的图像字节异或算法
US9549188B2 (en) * 2014-07-30 2017-01-17 Intel Corporation Golden frame selection in video coding
EP3416386B1 (en) 2014-09-30 2021-01-13 Microsoft Technology Licensing, LLC Hash-based encoder decisions for video coding
KR20160071569A (ko) 2014-12-11 2016-06-22 삼성전자주식회사 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치
US10531111B2 (en) 2015-11-06 2020-01-07 Microsoft Technology Licensing, Llc Flexible reference picture management for video encoding and decoding
US10555002B2 (en) * 2016-01-21 2020-02-04 Intel Corporation Long term reference picture coding
GB2547053B (en) * 2016-02-08 2020-07-08 Canon Kk Methods, devices, and computer programs for combining the use of intra-layer prediction and inter-layer prediction with scalability & screen content features
WO2019124191A1 (ja) * 2017-12-18 2019-06-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
MX2021001743A (es) 2018-08-17 2021-06-23 Huawei Tech Co Ltd Gestión de imágenes de referencia en codificación de video.
KR102585975B1 (ko) * 2018-09-12 2023-10-05 후아웨이 테크놀러지 컴퍼니 리미티드 참조 화상 리스트 구조를 위한 인덱스 시그널링
US11375184B2 (en) * 2018-12-10 2022-06-28 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
CN111416981B (zh) * 2019-01-07 2023-06-02 浙江大学 视频图像解码、编码方法及装置
WO2020159993A1 (en) * 2019-01-28 2020-08-06 Op Solutions, Llc Explicit signaling of extended long term reference picture retention
JP2023518441A (ja) 2020-03-20 2023-05-01 バイトダンス インコーポレイテッド 映像コーディングにおけるサブピクチャ情報の使用
BR112022021342A2 (pt) * 2020-04-20 2022-12-13 Bytedance Inc Método de processamento de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
KR20230017819A (ko) * 2020-05-22 2023-02-06 엘지전자 주식회사 영상 코딩 방법 및 그 장치
EP4154523A4 (en) 2020-06-08 2023-11-22 ByteDance Inc. NUMBER OF SLICES CONSTRAINTS IN A CODED VIDEO IMAGE
US20220232256A1 (en) * 2021-01-08 2022-07-21 Lemon Inc. Video Decoder Initialization Information Signaling

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6956545B2 (en) * 2001-10-08 2005-10-18 Imagearray, Ltd. Digital playback device
US7369709B2 (en) 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
US20060083298A1 (en) 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
EP1915870B1 (en) 2005-07-21 2017-03-08 Thomson Licensing Method and apparatus for weighted prediction for scalable video coding
EP1806930A1 (en) 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
KR100949982B1 (ko) 2006-03-30 2010-03-29 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
EP2039169A2 (en) 2006-07-06 2009-03-25 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (poc) for multi-view video encoding and decoding
TWI375469B (en) 2006-08-25 2012-10-21 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
CN101653000B (zh) 2006-10-13 2013-01-02 汤姆逊许可公司 用于包含多视点视频编码的参考图像管理的方法
WO2008048499A2 (en) * 2006-10-13 2008-04-24 Thomson Licensing Reference picture list management syntax for multiple view video coding
CA2666452C (en) 2006-10-16 2014-12-16 Nokia Corporation System and method for implementing efficient decoded buffer management in multi-view video coding
KR20100014552A (ko) 2007-03-23 2010-02-10 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
EP2177036A2 (en) 2007-08-15 2010-04-21 Thomson Licensing Methods and apparatus for motion skip mode in multi-view coded video using regional disparity vectors
BRPI0818444A2 (pt) 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
EP2213097A2 (en) 2007-10-16 2010-08-04 Cisco Technology, Inc. Conveyance of concatenation properties and picture orderness in a video stream
US8855199B2 (en) 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
WO2010086500A1 (en) * 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
US8189666B2 (en) * 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8693539B2 (en) 2009-03-26 2014-04-08 Panasonic Corporation Coding method, error detecting method, decoding method, coding apparatus, error detecting apparatus, and decoding apparatus
US20100246683A1 (en) 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
KR20120027194A (ko) 2009-04-21 2012-03-21 엘지전자 주식회사 다시점 비디오 신호 처리 방법 및 장치
US8933989B2 (en) 2009-04-22 2015-01-13 Lg Electronics Inc. Reference picture list changing method of multi-view video
KR101621907B1 (ko) 2010-02-02 2016-05-17 삼성전자주식회사 디스플레이 장치, 3d 영상 제공 방법 및 3d 영상 제공 시스템
US20110222837A1 (en) 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
WO2012031628A1 (en) 2010-09-09 2012-03-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy encoding and decoding scheme
EP2630799A4 (en) 2010-10-20 2014-07-02 Nokia Corp METHOD AND DEVICE FOR VIDEO CODING AND DECODING
US9008176B2 (en) 2011-01-22 2015-04-14 Qualcomm Incorporated Combined reference picture list construction for video coding
US20120195364A1 (en) 2011-01-31 2012-08-02 Apple Inc. Dynamic mode search order control for a video encoder
US20120294366A1 (en) * 2011-05-17 2012-11-22 Avi Eliyahu Video pre-encoding analyzing method for multiple bit rate encoding system
EP2727342B1 (en) * 2011-06-30 2016-06-29 Telefonaktiebolaget LM Ericsson (publ) Reference picture signaling
KR101631774B1 (ko) * 2011-06-30 2016-06-24 텔레폰악티에볼라겟엘엠에릭슨(펍) 절대 또는 명확한 레퍼러스 픽처 시그널링
US20130003823A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
WO2013042995A2 (ko) 2011-09-22 2013-03-28 엘지전자 주식회사 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치
US9131245B2 (en) * 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US8855433B2 (en) * 2011-10-13 2014-10-07 Sharp Kabushiki Kaisha Tracking a reference picture based on a designated picture on an electronic device
US8768079B2 (en) * 2011-10-13 2014-07-01 Sharp Laboratories Of America, Inc. Tracking a reference picture on an electronic device
US20130094774A1 (en) 2011-10-13 2013-04-18 Sharp Laboratories Of America, Inc. Tracking a reference picture based on a designated picture on an electronic device
US9277219B2 (en) 2011-10-24 2016-03-01 Telefonaktiebolaget L M Ericsson (Publ) Encoder and decoder and methods thereof for encoding/decoding a picture of a video sequence
SG10201606572RA (en) 2011-10-28 2016-10-28 Samsung Electronics Co Ltd Method for inter prediction and device therefor, and method for motion compensation and device therefor
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US11445172B2 (en) 2012-01-31 2022-09-13 Vid Scale, Inc. Reference picture set (RPS) signaling for scalable high efficiency video coding (HEVC)
US9369710B2 (en) 2012-02-06 2016-06-14 Qualcomm Incorporated Reference picture list modification for video coding
WO2013157783A1 (ko) 2012-04-15 2013-10-24 삼성전자 주식회사 참조픽처리스트 변경이 가능한 인터 예측 방법과 그 장치
US20130343465A1 (en) 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US9167248B2 (en) 2012-07-13 2015-10-20 Qualcomm Incorporated Reference picture list modification for video coding
US9398284B2 (en) 2012-08-16 2016-07-19 Qualcomm Incorporated Constructing reference picture lists for multi-view or 3DV video coding
US9438898B2 (en) 2012-09-07 2016-09-06 Vid Scale, Inc. Reference picture lists modification
JP6345594B2 (ja) 2012-09-28 2018-06-20 ドルビー・インターナショナル・アーベー 画像を復号する方法
US9313500B2 (en) 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016048035A1 (ko) * 2014-09-23 2016-03-31 삼성전자 주식회사 참조 빈도에 따라 참조 영상 데이터를 제어하는 비디오 부복호화 방법 및 장치
US11032554B2 (en) 2014-09-23 2021-06-08 Samsung Electronics Co., Ltd. Video encoding/decoding method and device for controlling reference image data according to reference frequency
WO2020141889A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
KR20200085848A (ko) * 2019-01-02 2020-07-15 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN111903134A (zh) * 2019-01-02 2020-11-06 Lg电子株式会社 通过使用帧间预测来处理视频信号的方法和装置
US11044468B2 (en) 2019-01-02 2021-06-22 Lg Electronics Inc. Method and device for processing video signal by using inter prediction
US11570429B2 (en) 2019-01-02 2023-01-31 Lg Electronics Inc. Method and device for processing video signal by using inter prediction
US20230118101A1 (en) 2019-01-02 2023-04-20 Lg Electronics Inc. Method and device for processing video signal by using inter prediction
CN111903134B (zh) * 2019-01-02 2023-09-12 Lg电子株式会社 通过使用帧间预测来处理视频信号的方法和装置
US11805246B2 (en) 2019-01-02 2023-10-31 Lg Electronics Inc. Method and device for processing video signal by using inter prediction

Also Published As

Publication number Publication date
EP2777251A4 (en) 2015-07-08
US11418809B2 (en) 2022-08-16
BR112014010947A8 (pt) 2017-12-12
EP2777251B1 (en) 2018-09-19
US10003817B2 (en) 2018-06-19
BR122022001681B1 (pt) 2022-06-28
CN103918268B (zh) 2018-03-30
RU2613738C2 (ru) 2017-03-21
BR112014010947A2 (pt) 2017-06-06
KR102058759B1 (ko) 2019-12-23
EP2777251A1 (en) 2014-09-17
US10432964B2 (en) 2019-10-01
CA2854331A1 (en) 2013-05-16
US10924760B2 (en) 2021-02-16
US20240080475A1 (en) 2024-03-07
BR122022001670B1 (pt) 2022-06-28
AU2012336043B2 (en) 2016-06-16
US20220329852A1 (en) 2022-10-13
MX2014005582A (es) 2015-04-08
CA2854331C (en) 2020-07-07
US20130114741A1 (en) 2013-05-09
US20180234698A1 (en) 2018-08-16
US11849144B2 (en) 2023-12-19
JP2015501098A (ja) 2015-01-08
US20210092441A1 (en) 2021-03-25
MX353889B (es) 2018-02-01
WO2013070630A1 (en) 2013-05-16
RU2014118460A (ru) 2015-11-27
IN2014CN03320A (ko) 2015-07-03
CN103918268A (zh) 2014-07-09
BR112014010947B1 (pt) 2022-07-12
JP6087940B2 (ja) 2017-03-01
US20190379903A1 (en) 2019-12-12
AU2012336043A1 (en) 2014-05-29

Similar Documents

Publication Publication Date Title
US11418809B2 (en) Signaling of state information for a decoded picture buffer and reference picture lists
US11770553B2 (en) Conditional signalling of reference picture list modification information
US20200029094A1 (en) Constraints and unit types to simplify video random access
KR101944565B1 (ko) 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법
US9380313B2 (en) Techniques for describing temporal coding structure
JP2015501098A5 (ko)
US20130034156A1 (en) Inter-prediction method and video encoding/decoding method using the inter-prediction method
JP2007507128A (ja) 参照ピクチャのリフレッシュを遅延させて行うビデオ画像の符号化および復号化
US20140233653A1 (en) Decoder and encoder for picture outputting and methods thereof

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant