KR20140098798A - 고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법 - Google Patents
고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법 Download PDFInfo
- Publication number
- KR20140098798A KR20140098798A KR1020147016679A KR20147016679A KR20140098798A KR 20140098798 A KR20140098798 A KR 20140098798A KR 1020147016679 A KR1020147016679 A KR 1020147016679A KR 20147016679 A KR20147016679 A KR 20147016679A KR 20140098798 A KR20140098798 A KR 20140098798A
- Authority
- KR
- South Korea
- Prior art keywords
- juxtaposed
- image
- list
- reference picture
- picture
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
고효율 비디오 코딩(HEVC)을 위한 현재 화상의 인코딩 및 디코딩을 가능케 하는 병치된 참조 화상을 결정하기 위한 시스템이 제공된다. 병치된 화상은 리스트0 및 리스트1에 대한 인덱스, 리스트0 및 리스트1 내의 화상수를 나타내는 참조 화상 세트수, 및 병치된 화상이 리스트0 또는 리스트1에 있는지를 나타내는 플래그를 포함할 수 있는 신택스에 액세스함으로써 식별된다. 시스템은 리스트0 및 리스트1 양쪽 모두가 액세스되어야 하는지를 결정하기 위해 슬라이스 타입을 더 이용할 수 있다.
Description
관련 출원의 상호참조
본 출원은, 그 전체를 참조에 의해 본 명세서에 포함하는, 2011년 11월 18일자로 선행 출원된 미국 가출원 제61/561,270호로부터 35 U.S.C. §119(e) 하에서 우선권을 주장한다.
기술 분야
본 개시는 비디오 압축 분야에 관한 것으로, 특히 블록 처리를 채용하는 고효율 비디오 코딩(HEVC; High Efficiency Video Coding)을 이용한 비디오 압축에 관한 것이다.
도 1은, HEVC 데이터를 전송 및 수신하는데 이용될 수 있는 코딩 시스템(110) 및 디코딩 시스템(140)을 포함하는 콘텐츠 배포 시스템(100)을 도시한다. 일부 실시예에서, 코딩 시스템(110)은, 입력 인터페이스(130), 제어기(111), 카운터(112), 프레임 메모리(113), 인코딩 유닛(114), 전송기 버퍼(115) 및 출력 인터페이스(135)를 포함할 수 있다. 디코딩 시스템(140)은, 수신기 버퍼(150), 디코딩 유닛(151), 프레임 메모리(152) 및 제어기(153)를 포함할 수 있다. 코딩 시스템(110) 및 디코딩 시스템(140)은 압축된 비트스트림(105)을 운반할 수 있는 전송 경로를 통해 서로 결합될 수 있다. 코딩 시스템(110)의 제어기(111)는 수신기 버퍼(150)의 용량에 기초하여 전송될 데이터량을 제어할 수 있고 시간 단위마다의 데이터량 등의 다른 파라미터들을 포함할 수 있다. 제어기(111)는 디코딩 시스템(140)의 수신 신호 디코딩 동작의 고장의 발생을 방지하도록 인코딩 유닛(114)을 제어할 수 있다. 제어기(111)는 프로세서이거나, 비제한적 예로서, 프로세서, 랜덤 액세스 메모리 및 판독 전용 메모리를 갖는 마이크로컴퓨터를 포함할 수 있다.
비제한적 예로서, 콘텐츠 제공자로부터 공급되는 소스 화상(120)은 비디오 시퀀스 내의 소스 화상을 포함하는 프레임들의 비디오 시퀀스를 포함할 수 있다. 소스 화상(120)은 비압축(uncompressed)되거나 압축될 수 있다. 소스 화상(120)이 비압축된다면, 코딩 시스템(110)은 인코딩 기능을 가질 수 있다. 소스 화상(120)이 압축된다면, 코딩 시스템(110)은 트랜스코딩(transcoding) 기능을 가질 수 있다. 코딩 유닛은 제어기(111)를 이용하여 소스 화상으로부터 유도될 수 있다. 프레임 메모리(113)는, 소스 화상(120)으로부터의 인입 프레임들을 저장하는데 이용될 수 있는 제1 영역과 프레임들을 판독하여 이들을 인코딩 유닛(114)에 출력하는데 이용될 수 있는 제2 영역을 가질 수 있다. 제어기(111)는 영역 스위칭 제어 신호(area switching control signal)(123)를 프레임 메모리(113)에 출력할 수 있다. 영역 스위칭 제어 신호(123)는 제1 영역 또는 제2 영역이 이용될 것인지를 나타낼 수 있다.
제어기(111)는 인코딩 제어 신호(124)를 인코딩 유닛(114)에 출력할 수 있다. 인코딩 제어 신호(124)는, 인코딩 유닛(114)으로 하여금 소스 화상에 기초하여 코딩 유닛들을 준비하는 등의, 인코딩 동작을 개시하게 할 수 있다. 제어기(111)로부터의 인코딩 제어 신호(124)에 응답하여, 인코딩 유닛(114)은, 코딩 유닛과 연관된 소스 화상에 기초하여 비디오 압축 데이터를 생성하는 준비된 코딩 유닛을 처리하는 변환 코딩 프로세스 또는 예측 코딩 프로세스 등의, 고효율 인코딩 프로세스에 대한 준비된 코딩 유닛을 판독하기 시작할 수 있다.
인코딩 유닛(114)은 생성된 비디오 압축 데이터를 비디오 패킷을 포함하는 PES(packetized elementary stream)로 팩키징(package)할 수 있다. 인코딩 유닛(114)은 제어 정보 및 프로그램 타임 스탬프(PTS; program time stamp)를 이용하여 비디오 패킷을 인코딩된 비디오 신호(122)로 맵핑할 수 있고 인코딩된 비디오 신호(122)는 전송기 버퍼(115)에 전송될 수 있다.
생성된 비디오 압축 데이터를 포함한 인코딩된 비디오 신호(122)는 전송기 버퍼(115)에 저장될 수 있다. 정보량 카운터(112)는 전송기 버퍼(115) 내의 총 데이터량을 나타내기 위해 증가될 수 있다. 버퍼로부터 데이터가 회수되고 제거됨에 따라, 카운터(112)는 전송기 버퍼(115) 내의 데이터량을 반영하도록 감소될 수 있다. 점유 영역 정보 신호(126)가 카운터(112)에 전송되어 인코딩 유닛(114)으로부터의 데이터가 전송기 버퍼(115)로부터 추가 또는 제거되었는지의 여부를 나타내어, 카운터(112)가 증가 또는 감소될 수 있다. 제어기(111)는, 전송기 버퍼(115)에서 오버플로우(overflow) 또는 언더플로우(underflow)가 발생하는 것을 예상, 회피, 방지, 및/또는 검출하기 위하여 통신될 수 있는 점유 영역 정보(126)에 기초하여 인코딩 유닛(114)에 의해 생성되는 비디오 패킷들의 생성을 제어할 수 있다.
정보량 카운터(112)는, 제어기(111)에 의해 생성되고 출력되는 프리셋(preset) 신호(128)에 응답하여 리셋될 수 있다. 정보 카운터(112)가 리셋된 후에, 이 카운터는 인코딩 유닛(114)에 의해 출력된 데이터를 카운트하고 생성된 비디오 압축 데이터 및/또는 비디오 패킷의 양을 얻을 수 있다. 정보량 카운터(112)는 얻어진 정보량을 나타내는 정보량 신호(129)를 제어기(111)에 공급할 수 있다. 제어기(111)는, 전송기 버퍼(115)에서 오버플로우가 없도록 인코딩 유닛(114)을 제어할 수 있다.
일부 실시예에서, 디코딩 시스템(140)은, 입력 인터페이스(170), 수신기 버퍼(150), 제어기(153), 프레임 메모리(152), 디코딩 유닛(151), 및 출력 인터페이스(175)를 포함할 수 있다. 디코딩 시스템(140)의 수신기 버퍼(150)는, 소스 화상(120)으로부터의 소스 화상에 기초한 수신된 비디오 압축 데이터와 비디오 패킷을 포함한 압축된 비트스트림(105)을 임시로 저장할 수 있다. 디코딩 시스템(140)은 수신된 데이터 내의 비디오 패킷과 연관된 제어 정보와 프리젠테이션 타임 스탬프(presentation time stamp) 정보를 판독하고 제어기(153)에 인가될 수 있는 프레임수 신호(163)를 출력할 수 있다. 제어기(153)는 미리결정된 간격으로 카운트된 프레임수를 감독할 수 있다. 비제한적 예로서, 제어기(153)는 디코딩 유닛(151)이 디코딩 동작을 완료하는 때마다 카운트된 프레임수를 감독할 수 있다.
일부 실시예에서, 프레임수 신호(163)에 의해 수신기 버퍼(150)가 미리결정된 용량에 도달했다는 것이 표시되면, 제어기(153)는 디코딩 시작 신호(164)를 디코딩 유닛(151)에 출력할 수 있다. 프레임수 신호(163)에 의해 수신기 버퍼(150)가 미리결정된 용량 미만임이 표시되면, 제어기(153)는 카운트된 프레임수가 미리결정된 양과 같아지는 상황의 발생을 기다릴 수 있다. 제어기(153)는 그 상황이 발생할 때 디코딩 시작 신호(164)를 출력할 수 있다. 비제한적인 예로서, 제어기(153)는 프레임수 신호(163)에 의해 수신기 버퍼(150)가 미리결정된 용량에 있음이 표시될 때 디코딩 시작 신호(164)를 출력할 수 있다. 인코딩된 비디오 패킷 및 비디오 압축 데이터는, 인코딩된 비디오 패킷과 연관된 프리젠테이션 타임 스탬프에 기초하여 단조 순서(monotonic order)(즉, 증가순 또는 감소순)로 디코딩될 수 있다.
디코딩 시작 신호(164)에 응답하여, 디코딩 유닛(151)은 수신기 버퍼(150)로부터의 비디오 패킷들과 연관된 화상과 연관된 압축된 비디오 데이터 및 프레임과 연관된 한 화상분에 달하는 데이터를 디코딩할 수 있다. 디코딩 유닛(151)은 디코딩된 비디오 신호(162)를 프레임 메모리(152) 내에 기입할 수 있다. 프레임 메모리(152)는, 디코딩된 비디오 신호가 기입되는 제1 영역과, 디코딩된 화상(160)을 출력 인터페이스(175)에 판독해 내는 데 이용되는 제2 영역을 가질 수 있다.
다양한 실시예에서, 코딩 시스템(110)은 헤드엔드(headend)의 트랜스코더 또는 인코딩 장치에 병합되거나 기타의 방식으로 연관될 수 있고 디코딩 시스템(140)은, 모바일 장치, 셋톱 박스 또는 트랜스코더 등의 다운스트림 장치에 병합되거나 기타의 방식으로 연관될 수 있다.
코딩 시스템(110) 및 디코딩 시스템(140)은, 고효율 비디오 코딩(HEVC)을 포함한 다양한 코딩 포맷에 따라 비디오 데이터를 인코딩 및 디코딩하기 위해 별개로 또는 함께 이용될 수 있다. HEVC는 블록 기반의 하이브리드 공간 및 시간 예측 코딩 방식이다. HEVC에서, 비디오 프레임 등의 입력 영상은, 도 2에 도시된 바와 같은, 코딩 트리 유닛(CTU; Coding Tree Unit)(200)이라 불리는 정사각형 블록으로 분할될 수 있다. CTU(200)들은, 입력 영상을 16x16 화소의 매크로블록들로 분할하는 다른 코딩 방식들과는 달리, 각각 128x128 화소 정도로 클 수 있다. 도 3에 도시된 바와 같이, 각각의 CTU(200)는 CTU(200)를 4개의 코딩 유닛(CU)(202)으로 분할함으로써 파티션화(partitioned)될 수 있다. CU(202)들은 정사각형 블록들로서 각각이 CTU(200)의 1/4 크기이다. 각 CU(202)는 4개의 더 작은 CU(202)들로 추가로 분할될 수 있고, 이들 각각은 더 큰 CU(202)의 1/4 크기이다. 비제한적 예로서, 도 3에 도시된 CTU(200)의 우측 상부 코너에 있는 CU(202)는 4개의 더 작은 CU(202)들로 분할될 수 있다. 일부 실시예에서, 이들 더 작은 CU(202)들은 훨씬 더 작은 크기의 4등분으로 더 분할될 수 있고, CU(202)를 더 작은 CU(202)들로 분할하는 이러한 프로세스는 복수회에 걸쳐 완료될 수 있다.
비디오 데이터 밀도가 점점 더 높아질수록, HEVC를 위한 화상 그룹에서 개개의 화상을 더욱 효율적으로, 신속하게, 및 정확하게 인코딩 및 디코딩하는 방법이 필요하다.
본 발명의 실시예들은 병치된 화상(collocated picture)을 이용하여 HEVC에서 화상 그룹 내의 현재 화상을 인코딩 및 디코딩하기 위한 개선된 시스템을 제공한다. 이 시스템을 위한 실시예에서, 병치된 화상은 현재 화상의 인코딩 및 디코딩을 가능케 하는 비디오 스트림 내의 한 그룹의 참조 화상들 중 하나이다. 병치된 화상은, 현재 화상에 대한 움직임 벡터 화상(MVP; Motion Vector Picture) 및 병합/스킵 모드에 대한 후보들 중 하나로서 이용되는 움직임 벡터(MV; Motion Vector)를 제공할 수 있다. 병치된 화상은 현재 화상에 비교적 근접해 있는 한 그룹의 참조 화상들 내에 위치하고, 제1 리스트인 리스트0과 제2 리스트인 리스트1을 포함하는 참조 화상 인덱스를 이용하여 식별될 수 있으며, 여기서, 리스트0과 리스트1은 현재 화상에 관한 참조 화상들의 위치를 파악하기 위해 화상 순서 카운트(POC; picture order count)를 이용한다. 일부 실시예들은 리스트0과 리스트1 중 어느 것이 병치된 화상을 식별하기 위해 필요한지를 식별하는 플래그를 이용한다. 일부 실시예는 병치된 화상의 식별을 보조하는 슬라이스-타입의 표시를 이용한다. 수 개의 상이한 실시예들이 이하에서 요약된다.
제1 실시예에서, 리스트0과 리스트1 양쪽 모두는 병치된 화상을 식별하기 위해 별개로 액세스된다. 이 실시예에서, 리스트0과 리스트1에 의해 참조되는 각 세트 내의 화상수가 먼저 평가된다. 리스트0과 리스트1은 collocated_picture_idx_list0와 collocated_picture_idx_list1로 라벨링된 신택스를 가진다. 이들 참조 화상 세트수는 NumRpsCurr0과 NumRpsCurr1로 라벨링된 신택스에 의해 식별된다. 리스트0 또는 리스트1에 대한 수가 1보다 크다면, 리스트0 또는 리스트1은 병치된 화상의 식별을 위해 참고될 수 있다. 그 수가 1과 같다면, 참조 화상 세트 내에 단 하나의 화상만이 있고, 그것이 병치된 화상을 제공한다. 그 수가 0이면, 참조 화상 세트는 비어 있다. 한 실시예에서 리스트0 또는 리스트1 중 어느 것이 병치된 화상을 포함하는지를 나타내는 플래그가 액세스될 수 있고, 이 플래그는 collocated_from_10_flag로 라벨링된 신택스를 가진다. 또한, 리스트0과 리스트1 양쪽 모두의 액세스가 필요한지를 결정하기 위해 슬라이스 타입이 액세스될 수 있다. B-타입 슬라이스의 경우, 리스트0과 리스트1 양쪽 모두가 필요할 것이다.
제2 실시예에서는, 제1 실시예와는 상이한 프로시져가 제공되어 병치된 화상을 더욱 효율적으로 식별한다. 이 실시예에서, 슬라이스 타입이 먼저 평가되어 그것이 B-타입인지 또는 아닌지를 결정하여 리스트0과 리스트1 양쪽 모두를 액세스할 필요성을 잠재적으로 제거한다. 마찬가지로, 슬라이스 타입이 B-타입으로 식별된다면 병치된 화상이 리스트0 또는 리스트1에서 발견될 것인지를 결정하고, 슬라이스 타입이 P-타입으로 식별된다면 병치된 화상이 리스트0에서 발견될 것인지를 결정하기 위해 플래그가 다음으로 액세스된다. 마지막으로, 식별된 리스트에 대해서만 참조 화상 세트가 평가되어, 그 세트가 비어 있는지, 디폴트로 병치된 화상이 되는 단 하나의 수만 포함하는지, 또는 병치된 화상을 식별하기 위해 리스트0과 리스트1을 결합하는 신택스 collocated_picture_idx의 참고를 요구하는 하나보다 많은 수를 포함하는지를 결정한다.
제3 실시예는 전술된 제1 및 제2 실시예를 포괄하는 병치된 화상을 식별하는 일반적 방법을 제공한다. 이 제3 실시예의 특징들은 일반적으로: (1) 디코딩 또는 인코딩을 위해 한 그룹의 화상에서 현재 화상을 식별하는 것; (2) 이 화상 그룹에서 병치된 참조 화상을 식별하기 위한 신택스를 제공하는 것; 및 (3) 현재 화상을 디코딩 또는 인코딩하기 위해 식별된 병치된 화상을 이용하는 것을 포함한다.
첨부된 도면의 도움에 의해 본 발명의 추가 상세사항이 설명된다:
도 1은 콘텐츠 배포 시스템의 실시예를 도시한다;
도 2는 코딩 트리 유닛들로 분할되는 입력 영상의 실시예를 도시한다;
도 3은 코딩 유닛들로 분할되는 코딩 트리 유닛의 실시예를 도시한다;
도 4는 코딩 유닛들로 분할되는 코딩 트리 유닛의 쿼드트리 표현(quadtree representation)을 도시한다;
도 5는 코딩 유닛 내의 예측 유닛들의 가능한 예시적 배열을 도시한다;
도 6은 예측 유닛을 인코딩 및/또는 디코딩하기 위한 방법의 실시예의 블록도를 도시한다;
도 7은 예측 유닛들과 변환 유닛들로 분할되는 코딩 유닛의 예시적 실시예를 도시한다;
도 8은 변환 유닛들로 분할되는 코딩 유닛의 쿼드트리 표현의 예시적 실시예를 도시한다;
도 9는 2개의 참조 화상 리스트, 리스트0 및 리스트1을 이용하여 현재 화상을 디코딩하는데 이용하기 위한 병치된 참조 화상을 식별하기 위한 본 발명의 한 실시예를 나타내는 신택스 리스트를 제공한다;
도 10은 현재 화상과 참조 화상 사이의 화상 순서 카운트에서의 차이가 어떻게 결정되는지의 설명을 위한 한 그룹의 화상을 나타낸다;
도 11은 현재 화상의 디코딩과 인코딩을 가능케하기 위해 병치된 화상을 식별하는데 이용될 수 있는 신택스 단계들의 모음(compilation syntax steps)을 나타내는 플로차트를 제공한다;
도 12는 공통의 참조 화상 리스트를 이용하여 현재 화상을 디코딩하는데 이용하기 위한 병치된 화상을 식별하기 위한 또 다른 실시예를 나타내는 신택스 리스트를 제공한다;
도 13은 본 발명의 실시예를 구현하는데 이용될 수 있는 컴퓨터 하드웨어의 예시적 실시예를 도시한다.
도 1은 콘텐츠 배포 시스템의 실시예를 도시한다;
도 2는 코딩 트리 유닛들로 분할되는 입력 영상의 실시예를 도시한다;
도 3은 코딩 유닛들로 분할되는 코딩 트리 유닛의 실시예를 도시한다;
도 4는 코딩 유닛들로 분할되는 코딩 트리 유닛의 쿼드트리 표현(quadtree representation)을 도시한다;
도 5는 코딩 유닛 내의 예측 유닛들의 가능한 예시적 배열을 도시한다;
도 6은 예측 유닛을 인코딩 및/또는 디코딩하기 위한 방법의 실시예의 블록도를 도시한다;
도 7은 예측 유닛들과 변환 유닛들로 분할되는 코딩 유닛의 예시적 실시예를 도시한다;
도 8은 변환 유닛들로 분할되는 코딩 유닛의 쿼드트리 표현의 예시적 실시예를 도시한다;
도 9는 2개의 참조 화상 리스트, 리스트0 및 리스트1을 이용하여 현재 화상을 디코딩하는데 이용하기 위한 병치된 참조 화상을 식별하기 위한 본 발명의 한 실시예를 나타내는 신택스 리스트를 제공한다;
도 10은 현재 화상과 참조 화상 사이의 화상 순서 카운트에서의 차이가 어떻게 결정되는지의 설명을 위한 한 그룹의 화상을 나타낸다;
도 11은 현재 화상의 디코딩과 인코딩을 가능케하기 위해 병치된 화상을 식별하는데 이용될 수 있는 신택스 단계들의 모음(compilation syntax steps)을 나타내는 플로차트를 제공한다;
도 12는 공통의 참조 화상 리스트를 이용하여 현재 화상을 디코딩하는데 이용하기 위한 병치된 화상을 식별하기 위한 또 다른 실시예를 나타내는 신택스 리스트를 제공한다;
도 13은 본 발명의 실시예를 구현하는데 이용될 수 있는 컴퓨터 하드웨어의 예시적 실시예를 도시한다.
HEVC에서, 비디오 프레임 등의 입력 영상은 CU들로 분할된 다음 코드로 식별된다. 그 다음, CU들은 후속해서 설명되는 바와 같이 코딩되는 서브유닛들로 더 분할된다.
처음에 코딩을 위해 쿼드트리 데이터 표현이 CTU(200)의 파티션을 기술하는데 이용될 수 있다. 쿼드트리 표현은 CTU(200)와 CU(202)에 대응하는 노드들을 가질 수 있다. 쿼드트리 표현의 각 노드에서, CTU(200) 또는 CU(202)가 4개의 CU(202)로 분할된다면 플래그 "1"이 할당될 수 있다. 노드가 CU(202)들로 분할되지 않는다면, 플래그 "0"이 할당될 수 있다. 비제한적 예로서, 도 4에 도시된 쿼드트리 표현은, CTU(200)가 4개의 CU(202)들로 분할되고 제2 CU(202)가 4개의 더 작은 CU(202)들로 분할되는 도 3에 도시된 CTU 파티션을 기술할 수 있다. 쿼드트리의 2진 데이터 표현은, 후속 설명되는 스킵 모드 플래그, 병합 모드 플래그, 및 PU 코딩 모드 등의 다른 데이터와 함께, 오버헤드로서 코딩되어 전송될 수 있는 CU 분할 플래그일 수 있다. 비제한적 예로서, 도 4에 도시된 CU 분할 플래그 쿼드트리 표현은 2진 데이터 표현 "10100"으로서 코딩될 수 있다.
쿼드트리의 각 리프(leaf)에서, 최종 CU(202)는 예측 유닛(PU)(204)이라 불리는 하나 이상의 블록들로 분할될 수 있다. PU(204)는 정사각형 또는 직사각형일 수 있다. 크기 2Nx2N의 CU(202)는 도 5에 도시된 PU(204)들의 4개의 예시적 배열들 중 하나를 가질 수 있고, PU(204)는 2Nx2N, 2NxN, Nx2N, 또는 NxN의 크기를 가진다.
PU는 공간 또는 시간 예측을 통해 얻어질 수 있다. 시간 예측은 인터 모드(inter mode) 화상과 관련된다. 공간 예측은 인트라 모드(intra mode) 화상과 관련된다. 따라서 각각의 CU(202)의 PU(204)들은 인트라 모드 또는 인터 모드에서 코딩될 수 있다. 인트라 모드 및 인터 모드 화상과 관련된 코딩의 특징들이 이하의 문단에서 설명된다.
인트라 모드 코딩은, 다른 영상을 참조하지 않고 현재의 입력 영상으로부터의 데이터를 이용하여 I 화상을 코딩할 수 있다. 인트라 모드에서 PU(204)는 공간적으로 예측 코딩될 수 있다. CU(202)의 각 PU(204)는 그 자신의 공간 예측 방향을 가질 수 있다. 공간 예측 방향은, 수평, 수직, 45도 대각, 135도 대각, DC, 평면, 또는 기타 임의의 방향일 수 있다. PU(204)에 대한 공간 예측 방향은 신택스 요소로서 코딩될 수 있다. 일부 실시예에서, PU(204)에 대한 휘도 정보(루마(Luma)) 및 색상 정보(크로마(Chroma))는 별개로 예측될 수 있다. HEVC에서, 모든 블록 크기에 대한 루마 인트라 예측 모드수는 35이다. 대안적 실시예에서, 임의의 크기의 블록에 대한 루마 인트라 예측 모드수는 35일 수 있다. 크로마 인트라 예측 모드에 대해 추가의 모드가 이용될 수 있다. 일부 실시예에서, 크로마 예측 모드는 "IntraFromLuma"라 불릴 수 있다.
인터 모드 코딩은 현재의 입력 영상과 하나 이상의 참조 영상으로부터의 데이터를 이용하여 "P" 화상 및/또는 "B" 화상을 코딩할 수 있다. 일부 상황 및/또는 실시예에서, 인터 모드 코딩은 인트라 모드 코딩보다 높은 압축으로 이어질 수 있다. 인터 모드에서 PU(204)는, CU(202)의 각각의 PU(204)가 하나 이상의 움직임 벡터와 하나 이상의 연관된 참조 영상을 가질 수 있도록, 시간적으로 예측 코딩될 수 있다. 시간 예측은, 연관된 참조 영상들에 걸쳐 PU(204)에 대한 최상 정합 예측(best match prediction)을 탐색하는 움직임 추정 연산을 통해 수행될 수 있다. 최상 정합 예측은 움직임 벡터 및 연관된 참조 영상들에 의해 기술될 수 있다. P 화상은 현재의 입력 영상과 하나 이상의 이전 참조 영상으로부터의 데이터를 이용한다. B 화상은 현재의 입력 영상과 이전 및 후속 참조 영상 모두로부터의 데이터를 이용하고, 2개까지의 움직임 벡터를 가질 수 있다. 움직임 벡터와 참조 화상은 HEVC 비트스트림으로 코딩될 수 있다. 일부 실시예에서, 움직임 벡터들은 신택스 요소 "MV"일 수 있고, 참조 화상은 신택스 요소 "refIdx"일 수 있다. 일부 실시예에서, 인터 모드는 공간 및 시간 예측 코딩 양쪽 모두를 허용할 수 있다.
도 6은 PU(204) x가 어떻게 인코딩 및/또는 디코딩될 수 있는지의 블록도를 도시한다. 606에서, 전술된 바와 같이 인트라 모드(602) 또는 인터 모드(604)에 의해 예측되는 예측된 PU(206) x'가 현재의 PU(204) x로부터 감산되어 잔차 PU(208) e를 얻을 수 있다. 608에서, 잔차 PU(208) e는 블록 변환에 의해 하나 이상의 변환 유닛(TU)(210) E로 변환될 수 있다. 각각의 TU(210)는 하나 이상의 변환 계수(212)를 포함할 수 있다. 일부 실시예에서, 블록 변환은 정사각형일 수 있다. 대안적 실시예에서, 블록 변환은 비-정사각형일 수 있다.
도 7에 도시된 바와 같이, HEVC에서, 상이한 크기의 한 세트의 블록 변환이 CU(202)에 관해 수행되어, 일부 PU(204)들은 더 작은 TU(210)들로 분할될 수 있고, 다른 PU(204)들은 PU(204)와 동일한 크기의 TU(210)를 가질 수 있다. CU(202)와 PU(204)의 TU(210)들로의 분할은 쿼드트리 표현으로 나타낼 수 있다. 비제한적 예로서, 도 8에 도시된 쿼드트리 표현은 도 7에 도시된 CU(202) 내의 TU(210)들의 배열을 도시한다.
다시 도 6을 참조하면, 610에서, TU(210) E의 변환 계수(212)는 유한 개수의 가능한 값들 중 하나로 양자화될 수 있다. 일부 실시예에서, 이것은 양자화에 의해 손실된 데이터가 회복 불가능할 수 있는 손실 연산(lossy operation)이다. 변환 계수(212)가 양자화된 후에, 612에서, 양자화된 변환 계수(212)는 엔트로피 코딩되어 최종 압축 비트(214)를 얻을 수 있다. 단계 612 동안에 적용될 수 있는 엔트로피 코딩 방식들로는, 컨텍스트-기반의 적응형 2진 산술 코딩(CABAC; context-based adaptive binary arithmetic coding) 및 컨텍스트-적응형 가변 길이 코딩(CAVLC; context-adaptive variable-length coding)이 포함될 수 있다.
614에서, 양자화된 변환 계수(212)는 역양자화된(dequantized) 변환 계수(216) E'로 역양자화될 수 있다. 그 다음, 616에서, 역양자화된 변환 계수(216) E'는 역 변환되어 잔차 PU(218) e'를 재구성할 수 있다. 618에서, 재구성된 잔차 PU(218) e'는, 602에서의 공간 예측이나 604에서의 시간 예측을 통해 얻어진 대응하는 예측 PU(206) x'에 추가되어 재구성된 PU(220) x"를 얻을 수 있다. 620에서, 재구성된 PU(220) x"에 디블록킹 필터(deblocking filter)가 이용되어 블록킹 아티팩트(blocking artifacts)를 감소시킬 수 있다. 620에서, 재구성된 화소와 원래의 화소 사이의 화소값 오프셋을 보상하기 위해 조건적으로 수행될 수 있는 샘플 적응형 오프셋 프로세스가 역시 제공된다. 또한, 620에서, 재구성된 PU(220) x"에 적응형 루프 필터가 조건적으로 이용되어 입력 영상과 출력 영상 사이의 코딩 왜곡을 감소시키거나 최소화할 수 있다.
재구성된 영상이 인터 모드 코딩에서 향후의 시간 예측에 이용될 참조 영상이라면, 재구성된 영상은 참조 버퍼(622)에 저장될 수 있다. 인트라 모드 코딩된 영상은, 디코딩이 추가의 재구성된 영상을 필요로 하지 않고 시작할 수 있는 가능한 지점이 될 수 있다.
본 발명의 실시예들은 현재 화상의 인코딩 및 디코딩을 보조하는 참조 영상의 식별에서 진보를 제공한다. 특히, 병치된 참조 화상의 식별이 제공되어 연관된 현재 화상의 더 효율적인 인코딩과 디코딩을 가능케 한다. 병치된 화상은, 현재 화상에 대한 움직임 벡터 화상(MVP) 및 병합/스킵 모드에 대한 후보들 중 하나로서 이용될 수 있다. 현재 화상에 대해 병치된 화상이 어떻게 식별되는지에 관한 정보가 이하의 본 발명의 실시예에 대해 설명된다.
I. 개요 - HEVC에서의 병치된 화상 식별
HEVC에서, 현재 화상에 대한 연관된 병치된 참조 화상은 디코딩 또는 인코딩 중인 선행 또는 후속 화상에 존재할 수 있다. 병치된 참조 화상은, 현재 화상에 대한 MVP 및 병합/스킵 모드를 가능케 하는 후보로서 이용될 수 있다.
병치된 화상은 참조 화상을 제공하고 B 타입 화상이 이용될 때 병치된 화상을 식별하기 위한 한 방법에서는 리스트0 또는 리스트1이라 불리는 2개의 리스트중 하나에서 명시될 수 있다. collocated_from_l0_flag로 라벨링된 플래그가 이용되어 2개의 리스트, 리스트0 또는 리스트1 중 어느 것이 병치된 화상을 식별하는지를 지정할 수 있다. 이 플래그는 1로 설정되어 그 화상이 리스트0으로부터 유도될 것임을 나타내고, 그 외의 경우에는 그 화상이 리스트1로부터 유도될 것임을 나타낸다. collocated_from_l0_flag의 디폴트 값은, 이 플래그가 인코딩 또는 디코딩을 위한 화상 그룹을 포함하는 비트스트림에 존재하지 않는다면 1이다.
구체적으로는, 병치된 화상을 식별하기 위한 더욱 관례적인 방법에서 이용될 수 있는 단계들이 이하에서 제공된다. 이 단계들에서, 플래그 collocated_from_10_flag는, 앞서 식별된 바와 같이, RefPicList0[] 및 RefPicList1[]로 라벨링된, 리스트0 및 리스트1을 식별하는 변수와 함께 이용된다. 추가의 변수 colPic은 병치된 화상을 식별한다. 이 프로시져에 대한 2개 단계 (A)와 (B)는 다음과 같다:
(A) slice_type이 B이고 collocated_from_l0_flag가 0과 같다면, 변수 colPic은 리스트1 내의 첫 번째 엔트리가 병치된 화상으로서 취급된다는 것을 의미하는 RefPicList1[0]에 의해 명시된 병치된 파티션을 포함하는 화상을 명시한다.
(B) 그렇지 않고 slice_type이 B이고 collocated_from_l0_flag가 1과 같거나 slice_type이 P와 같다면, 변수 colPic은 리스트0 내의 첫 번째 엔트리가 병치된 화상으로서 취급된다는 것을 의미하는 RefPicList0[0]에 의해 명시된 병치된 파티션을 포함하는 화상을 명시한다.
병치된 화상은 이 제1 "묵시적(implicit)" 방법을 이용하여 플래그 collocated_from_l0_flag의 값에 따라, 리스트0 또는 리스트1 내의 첫 번째 참조 화상으로서 식별된다. 그러나, 병치된 화상을 정의하기 위한 이 묵시적 프로시져는 최적이 아닐 수도 있다. 이상적으로는, 병치된 화상은 현재 화상에 가장 가까운 참조 화상이어야 한다. 그러나, 리스트0 또는 리스트1 내의 첫 번째 참조 화상은 반드시 현재 화상에 가장 가까운 것이 아닐 수도 있다. 게다가, 동일한 화상 내의 상이한 슬라이스들에 대한 RefPicList0[0] 또는 RefPicList1[0]은 하드웨어 구현의 곤란을 야기하는 동일한 병치된 화상을 가리키지 않을 수도 있다. 따라서, 병치된 화상을 시그널링하는 대안적 방법을 제공하는 것이 유용할 수 있다.
II. HEVC를 위한 개선된 명시적 병치된 화상 식별
최적의 병치된 화상을 선택하기 위한 융통성을 갖기 위하여, 병치된 화상은 묵시적이 아니라 명시적으로 시그널링될 수 있다. 명시적 시그널링의 경우, 리스트0 또는 리스트1 내의 첫 번째 엔트리 참조 화상을 이용하지 않을 수 있거나, 대안으로서 2개의 별개의 리스트 대신에 단일의 리스트로부터 병치된 참조 화상을 식별하는 화상을 참조하는 실시예를 포함하는 프로시져를 이용함으로써 병치된 화상을 명시적으로 표현하는 신택스 요소가 이용된다. 병치된 화상을 명시적으로 표현하기 위해 새로운 신택스 요소가 배치되는 장소에 따라, 리스트0 및 리스트1에 대해 1개 또는 2개의 신택스 요소가 필요하거나, 더욱 효율적인 코딩에서 리스트0 및 리스트1 양쪽 모두를 참조할 필요성을 효과적으로 제거하는 단일 리스트가 대안으로서 이용될 수 있다.
A. 리스트0 및 리스트1을 이용한 명시적 신택스
병치된 화상을 명시적으로 식별하는 한 실시예의 방법에서, 절대 화상 순서 카운트(POC) 차이가 참조 화상을 표현하는데 이용된다. 이 방법은 현재 화상 POC와 참조 화상 POC간의 차이와 POC를 이용함으로써 구현된다. POC와 델타 POC는 참조 화상 세트(RPS; reference picture set)를 재구성하는데 이용된다. 그 다음, RPS는, 현재 화상을 인코딩 및 디코딩하는데 이용될 수 있는 병치된 화상을 식별하는 2개의 리스트 리스트0 및 리스트1을 생성하는데 이용된다. 병치된 화상을 식별하기 위한 이 실시예의 방법은 도 9의 신택스를 이용하여 수행될 수 있다.
도 9는, 참조 화상 세트 인덱스 ref_pic_set(idx)를 식별하고, 이 참조 화상 세트에 대한 다수의 음화(negative picture) 및 양화(positive picture)를 식별함으로써 시작한다. 리스트0 및 리스트1 내의 화상들의 개수와 같은 음화 및 양화 변수들의 개수를 식별하기 위한 신택스 변수들은 num_negaive_pics와 num_pos_pics이다. 음화 및 양화는 도 10을 참조하여 설명될 수 있는 바와 같이 리스트0 및 리스트1 내의 화상들의 결정을 돕는다. 도 10은 0 내지 6 범위의 화상들에 대한 화상 순서 카운트(POC)를 갖는 7개 화상들의 그룹에서의 현재 화상 3을 나타낸다. 음화, 즉, 현재 화상 3에 선행하는 화상은 화상 0 내지 2를 포함한다. 양화, 즉, 현재 화상 3에 후속하는 화상은 화상 4 내지 6을 포함한다. 화상 표시자들 위에 도시된 바와 같이, 리스트0 내의 음화들은 현재 화상 3 이후의 순서로 L0[2, 1, 0]으로서 표현되고, 여기서, 브라켓 내의 숫자들은 리스트0 내의 참조 화상들의 POC 번호들로서, 예를 들어, 리스트0의 첫 번째 엔트리는 POC 2이고, 리스트0의 두 번째 엔트리는 POC 1, 등등이다. 마찬가지로, 리스트1 내의 양화들은 현재 화상 3 이후의 순서로 L1[4, 5, 6]으로서 표현된다. POC 0, 1, 2, 4, 5 및 6을 갖는 화상들은 화상 3 이전에 인코딩 또는 디코딩된다는 것을 유념해야 한다.
도 9의 신택스는, POC의 현재 화상과 참조 화상간의 차이를 결정함으로써 계속된다. 이것은, 차이 코딩(difference coding)을 이용함으로써 도 10에 도시된 바와 같은 L0 및 L1에 대한 리스트 값들이 더욱 합리적인 값으로 변환될 수 있게 한다. 예를 들어, 하기 신택스 단계들:
for(I = 0; I <num_negative_pics; i++)
delta_poc_s0_minus1[i]
used_by_current_pic_s0_flag[i]
에서, 이들 단계들은 POC의 현재 화상으로부터 열거된 화상들을 감산하여 리스트 L0[2, 1, 0]을 새로운 델타 POC 리스트 L0[1, 2, 3]으로 변환하여 POC 자체 대신에 델타 POC를 코딩하기가 더욱 용이하게 한다. 한편, 추가 단계는 참조 리스트0 내의 화상이 이용되는지의 여부를 나타내기 위해 used_by_current_pic_s0_flag를 이용함으로써 현재 화상을 설정한다. 유사하게, 하기 신택스 단계들:
for(I = 0; I <num_positive_pics; i++)
delta_poc_s1_minus1[i]
used_by_current_pic_s1_flag[i]
에서, 이들 단계들은 POC의 현재 화상으로부터 열거된 화상들을 감산하여 리스트 L1[4, 5, 6]을 새로운 델타 리스트 L1[-1, -2, -3]로 변환하고, 참조 리스트1 내의 화상이 이용되는지의 여부를 나타내기 위해 used_by_current_pic_s1_flag를 이용함으로써 현재 화상을 설정한다.
도 9는 “*”로 라벨링된 유의미 신택스(significant syntax)를 더 포함한다. 이 신택스에서, 참조 화상 세트 내의 리스트0 및 리스트1에 대한 인덱스들 ref_pic_set(idx)를 위한 2개의 변수가 제공되고, 이들 변수들은 collocated_picture_idx_list0 및 collocated_picture_idx_list1로 라벨링되어 있고, 각각 리스트0 및 리스트1 내의 병치된 화상에 대한 인덱스를 명시한다. 또한 이 유의미 신택스에서, 현재 참조 화상 세트수를 위한 2개의 변수가 제공되고 NumRpsCurr0, 및 NumRpsCurr1로 라벨링되며, 각각 리스트0 및 리스트1에 대한 화상수라고도 알려져 있다. 변수들 NumRpsCurr0과 NumRpsCurr1은 각각 현재 참조 화상 세트 RefPicSetCurr0과 RefPicSetCurr1 내의 엔트리수를 식별한다.
도 9의 이 유의미 신택스와 함께, 병치된 화상은 각각 collocated_picture_idx_list0과 collocated_picture_idx_list1에 의해 리스트0 및 리스트1 중 하나에서 명시적으로 시그널링된다. 먼저 유의미 신택스에서, 리스트0에 대한 현재 참조 화상 세트 내의 화상수 NumRpsCurr0이 검사되어 1보다 큰지를 결정한다. NumRpsCurr0이 제로이면, 리스트0에는 아무것도 없고, NumRpsCurr0이 1이면, 리스트0 내에 열거된 하나의 참조 화상은 반드시 병치된 화상이 되어야 한다. 그러나 NumRpsCurr0이 1보다 크다면, 신택스 collocated_picture_idx_list0이 검토되어 어느 참조 화상이 병치된 화상으로서 지정되어 있는지를 결정한다. collocated_picture_idx_list0이 존재하지 않으면, 이것은 0인 것으로 유추된다.
도 9의 유의미 신택스에서 두 번째로, 리스트1에 대한 현재 참조 화상 세트 내의 화상수 NumRpsCurr1이 검사되어 1보다 큰지를 결정한다. NumRpsCurr1이 제로이면, 리스트1에는 아무것도 없고, NumRpsCurr1이 1이면, 리스트1 내에 열거된 하나의 참조 화상은 반드시 병치된 화상이 되어야 한다. 그러나 NumRpsCurr1이 1보다 크다면, 신택스 collocated_picture_idx_list1이 검토되어 어느 참조 화상이 병치된 화상으로서 지정되어 있는지를 결정한다. collocated_picture_idx_list1이 존재하지 않으면, 이것은 0인 것으로 유추된다.
도 9의 신택스에는 도시되어 있지 않지만, 별도의 플래그가 제공되어 2개의 리스트 리스트0과 리스트1 중 어느 것이 병치된 화상을 식별하는지를 식별할 수 있다. 2개의 상태 1 또는 0을 갖는 이 플래그를 위한 변수는 collocated_from_l0_flag이다. collocated_from_l0_flag가 1과 같으면, collocated_picture_idx_list0에 의해 표시되는 리스트0 내의 참조 화상이 병치된 화상으로서 이용될 것이고, 그렇지 않다면, collocated_picture_idx_list1에 의해 표시되는 리스트1 내의 참조 화상이 병치된 화상으로서 이용될 것이다.
B-타입 이외의 슬라이스/화상 타입의 경우, collocated_from_10_flag가 존재하지 않을 것이고 리스트0이 디폴트로 이용될 것임을 나타내기 위해 디폴트 값으로서 1로 설정될 것이다. B 슬라이스 화상의 경우, collocated_from_10_flag는 리스트0 또는 리스트1 중 어느 것이 이용될 것인지를 나타내기 위해 0 또는 1 값을 가질 수 있다.
사실상, 도 9의 신택스에 의해 나타낸 방법은 현재 화상에 대한 병치된 화상 참조로서 한 세트의 화상으로부터 소정 화상을 선택하도록 구현될 수 있다. 수 개의 예들이 이하에 제공된다.
도 9의 신택스를 이용하는 제1 예에서, collocated_from_l0_flag는 1이고 NumRpsCurr0은 5이다. RefPicSetCurr0으로 라벨링된 참조 화상 세트의 참조 화상들의 델타 POC들은 {2, 5, 1, 4, 3}이다. collocated_picture_idx_list0이 2이면, 리스트0으로부터의 1로서 델타 POC를 갖는 참조 화상이 현재 화상/슬라이스에 대한 병치된 화상으로서 이용될 것이다.
제2 예에서, collocated_from_l0_flag는 0이고 NumRpsCurr1은 5이다. RefPicSetCurr1 내의 참조 화상들의 델타 POC는 {3, 1, 2, 4, 5}이다. collocated_picture_idx_list1이 1이면, 리스트1으로부터의 1로서 델타 POC를 갖는 참조 화상이 현재 화상/슬라이스에 대한 병치된 화상으로서 이용될 것이다.
도 11은 현재 화상의 디코딩과 인코딩을 가능케하기 위해 병치된 화상을 식별하는데 이용될 수 있는 신택스 단계들의 모음(compilation of syntax step)을 나타내는 플로차트를 제공한다. 먼저, 단계(300)에서, 인코딩 또는 디코딩을 위해 식별된 한 그룹의 화상들 내의 현재 화상이 제공된다. 단계(302)에서, 현재 화상의 슬라이스 타입이 식별되어 B-타입인지를 결정한다. 만일 그렇다면, 리스트0 또는 리스트1에서 병치된 화상이 식별되는지를 결정하기 위해 단계(304)에서 플래그가 액세스되어야 한다. 화상이 B-타입 이외의 것이라면, 이 방법은 단계(306)로 바로 진행하여 병치된 화상을 갖는 리스트가 리스트0이라고 가정한다. 결정 단계(304)가 이용되고, 플래그 상태는 이 방법이 단계(306)로 진행하여 병치된 화상에 대해 리스트0을 검사할 것인지, 또는 단계(308)로 진행하여 리스트1을 검사할 것인지를 결정한다.
리스트0이 검사된다면, 단계(306)는 리스트0 내의 현재의 화상수가 1보다 큰지를 알아보려고 한다. 만일 그렇다면, 제어는 단계(310)로 진행하여 리스트0으로부터 병치된 화상을 식별한다. 만일 단계(306)에서, 화상수가 1과 같다면, 프로세스는 단계(312)로 진행하여 리스트0 내의 유일한 화상으로서의 병치된 화상을 식별한다.
리스트1이 검사된다면, 단계(308)는 리스트1 내의 현재의 화상수가 1보다 큰지를 알아보려고 한다. 만일 그렇다면, 제어는 단계(314)로 진행하여 리스트1로부터 병치된 화상을 식별한다. 만일 단계(308)에서, 화상수가 1과 같다면, 프로세스는 단계(316)로 진행하여 리스트1 내의 유일한 화상으로서의 병치된 화상을 식별한다.
마지막으로서, 일단 병치된 화상이 식별되고 나면, 이 방법은 단계(318)로 진행한다. 단계(318)는 현재 화상의 인코딩 또는 디코딩을 가능케 하는 병치된 화상을 제공한다.
B. 단일 참조 리스트를 이용한 명시적 신택스
도 9의 신택스에 의해 도시한 프로세스에 대한 대안으로서, 슬라이스 헤더에서 리스트0 또는 리스트1에서의 병치된 화상에 대한 인덱스를 명시하는 하나의 신택스 collocated_picture_idx를 이용하여, 도 12의 신택스 리스트에 도시된 바와 같이 현재의 슬라이스에 대한 병치된 화상을 명시적으로 시그널링할 수 있다. 이 방식은 참조 화상 리스트에 액세스하기 전에 리스트0 또는 리스트1 중 어느 것이 이용되어야 하는지를 결정하기 위해 collocated_from_10_flag를 이용한다. 그러나, 신택스 collocated_picture_idx는 collocated_from_10_flag 이후에 둘 수도 있다. 이 순서에 의해, 2개의 신택스를 가질 필요가 없을 것이다. 따라서, 도 12의 신택스는 도 9의 것보다 더 효율적인 시스템을 제공할 수 있다.
도 12의 신택스의 경우, 초기에 신택스 변수 slice_type에 의해 슬라이스 타입이 식별된다. 슬라이스 타입이 B이면, 플래그 collocated_from_10_flag가 참조되어 병치된 화상이 리스트0으로부터 오는지 리스트1로부터 오는지를 결정한다. 다른 슬라이스 타입의 경우, collocated_from_10_flag는 존재하지 않고 collocated_from_10_flag의 값은 1인 것으로 유추되어 병치된 화상이 항상 리스트0으로부터 오는 것을 의미하고 "else" 문장은 검사될 필요가 없다. 마찬가지로, collocated_from_10_flag가 0이면, "if" 문장은 검사될 필요가 없다.
도 9의 실시예와는 달리, 도 12에서는, 병치된 화상을 식별할 수 있는 단일의 collocated_picture_idx가 참조된다. 플래그는 1로 설정되어 병치된 파티션을 포함하는 화상이 리스트0으로부터의 collocated_picture_idx를 이용함으로써 화상을 검사하는 "if" 신택스로부터 유도될 것임을 나타낼 수 있고, 그렇지 않다면, 병치된 화상은 리스트1로부터의 "else" 문장 이후에 유도될 것이다.
도 9의 실시예와 유사하게, 도 12에서는, 현재 참조 화상 세트수를 위한 2개의 변수가 제공되며 NumRpsCurr0, 및 NumRpsCurr1로 라벨링되어 있다. 변수들 NumRpsCurr0 및 NumRpsCurr1, 즉, 리스트0 및 리스트1 내의 참조 화상수는 각각 현재의 참조 화상 세트 내의 엔트리들의 수를 식별한다. 따라서, 신택스에서, 1보다 큰지를 결정하는데 이용되는 "if"와 "else" 조건에 따라, NumRpsCurr0과 NumRpsCurr1이 검사된다. 어느 한 쪽이 0이면, 그 세트는 비어 있고 평가될 필요가 없다. 어느 한 쪽이 1이면, 하나의 인덱스 값은 병치된 화상을 식별하는데, 이것은, 그 인덱스 값이 세트 내의 유일한 값이고, collocated_picture_idx의 디폴트 값은 0이어야 하고 병치된 화상은 대응하는 참조 리스트 내의 첫 번째이자 유일한 화상임을 의미하기 때문이다. 어느 한 쪽이 1보다 크면, 병치된 참조 화상을 식별하기 위해 collocated_picture_idx 신택스가 이용될 수 있다.
C. 효율적인 신택스를 이용한 명시적 병치된 화상
상기 섹션 A와 B에 대한 신택스 모두에 공통되는 특징은 병치된 화상을 식별하는 명시적 방법이 어떻게 수행될 수 있는지를 나타낸다. 섹션 A에 대한 신택스는 병치된 화상을 식별하기 위해 더 많은 자원을 요구한다. 예를 들어, 병치된 화상을 식별하기 위해 2개의 별개의 리스트 collocated_picture_idx_list0과 collocated_picture_idx_list1의 검색이 수행되어야 한다. 처음에 플래그 collocated_from_l0_flag를 참조함으로써 리스트들 중 하나를 탐색할 필요를 제거하는 진전된(advance) 단계들을 섹션 B의 시스템에서 취함으로써, 섹션 B의 신택스는 요구되는 자원들을 제거한다. 또한, 섹션 B에서, 슬라이스 타입은 심지어 플래그를 참조하기 이전에 검토되는데, 이것은 슬라이스 타입이 I-타입 또는 P-타입이고 B-타입이 아니라면, 플래그 상태가 미리 알려질 것이기 때문이다.
섹션 A로부터 섹션 B로의 신택스의 변화와 유사하게, 병치된 화상의 식별을 더 효율적으로 하기 위해 신택스의 다른 수정들이 수행될 수 있다. 섹션 A와 B의 신택스의 공통된 특징은 다음을 포함한다: (1) 디코딩 또는 인코딩을 위해 한 그룹의 화상에서 현재 화상을 식별하는 것; (2) 이 화상 그룹에서 병치된 참조 화상을 식별하기 위한 신택스를 제공하는 것; 및 (3) 현재 화상을 디코딩 또는 인코딩하기 위해 식별된 병치된 화상을 이용하는 것.
도 9와 도 12의 제안된 신택스를 이용한 코딩 및 인코딩은 수 개의 방법으로 수행될 수 있다. collocated_picture_idx_list0, collocated_picture_idx_list1, 또는 collocated_picture_idx를 코딩하는 하나의 가능한 방식은 고정 길이 코딩을 이용하는 것이다. 이들 신택스에 이용되는 최대 비트는 변수 Ceil(Log2(max_num_ref_frames)로서 지정되고, 여기서, max_num_ref_frames는 시퀀스 내의 임의의 화상의 인터 예측(inter prediction)을 위해 디코딩 프로세스에 의해 이용될 수 있는 참조 프레임의 최대수, 상보형 참조 필드쌍, 및 쌍을 이루지 않는 참조 필드를 명시한다.
실제 인코딩의 경우, 다양한 조건들이 적용된다. 예를 들어, collocated_from_l0_flag가 1이고 NumRpsCurr0도 1이면, collocated_picture_idx_list0도 collocated_picture_idx도 코딩되지 않는다. 마찬가지로, collocated_from_l0_flag가 0이고 NumRpsCurr1이 1이면, collocated_picture_idx_list1도 collocated_picture_idx도 코딩되지 않는다. 코딩 프로시져에 따라, 인코딩을 위한 신택스 코딩 규칙을 따르는 프로세스가 디코딩에 이용될 수 있다.
본 발명의 실시예를 실시하는데 요구되는 명령어들의 시퀀스의 실행은 도 1의 시스템의 하나 이상의 컴퓨터에 의해 수행될 수 있다. 이용될 수 있는 컴퓨터 시스템(400)이 도 13을 참조하여 설명될 것이고, 도 13은 컴퓨터 시스템(400)의 기능 컴포넌트들의 블록도이다. 여기서 사용될 때, 용어 컴퓨터 시스템(400)은 하나 이상의 프로그램을 저장하고 독립적으로 실행할 수 있는 임의의 컴퓨팅 장치를 기술하기 위해 광범위하게 이용된다.
컴퓨터 시스템(400)은 버스(406)에 결합된 통신 인터페이스(414)를 포함할 수 있다. 통신 인터페이스(414)는 컴퓨터 시스템(400)들 사이의 양방향 통신을 제공한다. 각각의 컴퓨터 시스템(400)의 통신 인터페이스(414)는, 다양한 타입의 신호 정보, 예를 들어, 명령어, 메시지 및 데이터를 나타내는 데이터 스트림을 포함하는 전기, 전자기 또는 광 신호를 전송 및 수신한다. 통신 링크(415)는 하나의 컴퓨터 시스템(400)을 또 다른 컴퓨터 시스템(400)에 링크한다. 예를 들어, 통신 링크(415)는, LAN, 종합정보 통신망(ISDN; integrated services digital network) 카드, 모뎀, 또는 인터넷일 수 있다.
컴퓨터 시스템(400)은, 프로그램, 즉, 애플리케이션, 코드를 포함하는 메시지, 데이터, 및 명령어를 그의 각자의 통신 링크(415) 및 통신 인터페이스(414)를 통해 전송 및 수신할 수 있다. 수신된 프로그램 코드는 수신시에 각각의 프로세서(들)(407)에 의해 실행되거나, 및/또는 이후의 실행을 위해 스토리지 장치(410) 또는 기타의 연관된 비휘발성 매체에 저장될 수도 있다.
실시예에서, 컴퓨터 시스템(400)은 데이터 스토리지 시스템(431), 예를 들어, 컴퓨터 시스템(400)에 의해 용이하게 액세스가능한 데이터베이스(432)를 포함하는 데이터 스토리지 시스템(431)과 연계하여 동작한다. 컴퓨터 시스템(400)은 데이터 인터페이스(433)를 통해 데이터 스토리지 시스템(431)과 통신한다.
컴퓨터 시스템(400)은, 명령어, 메시지 및 데이터, 집합적으로는 정보를 전달하기 위한 버스(406) 또는 기타의 통신 메커니즘, 및 버스(406)와 결합되어 정보를 처리하기 위한 하나 이상의 프로세서(407)를 포함할 수 있다. 컴퓨터 시스템(400)은 또한, 버스(406)에 결합되어 프로세서(들)(407)에 의해 실행되는 동적 데이터 및 명령어를 저장하기 위한 RAM(random access memory) 또는 기타의 동적 스토리지 장치 등의, 메인 메모리(408)를 포함한다. 컴퓨터 시스템(400)은, 버스(406)에 결합되어 프로세서(들)(407)를 위한 정적 데이터 및 명령어를 저장하기 위한 판독 전용 메모리(ROM; read only memory)(409) 또는 기타의 정적 스토리지 장치를 더 포함할 수 있다. 자기 디스크 또는 광 디스크 등의 스토리지 장치(410)도 역시 제공되고 버스(406)에 결합되어 프로세서(들)(407)에 대한 데이터 및 명령어를 저장할 수 있다.
컴퓨터 시스템(400)은, 버스(406)를 통해 LCD 스크린 등의 디스플레이 장치(411)에 결합될 수 있다. 입력 장치(412), 예를 들어, 영숫자 및 기타의 키들이 버스(406)에 결합되어 프로세서(들)(407)에 정보 및 명령어 선택을 전달할 수 있다.
한 실시예에 따르면, 개개의 컴퓨터 시스템(400)은 메인 메모리(408)에 포함된 하나 이상의 명령어들의 하나 이상의 시퀀스를 실행하는 그들 각각의 프로세서(들)(407)에 의해 특정한 동작을 수행한다. 이러한 명령어는, ROM(409) 또는 스토리지 장치(410) 등의 또 다른 컴퓨터-이용가능한 매체로부터 메인 메모리(408) 내로 판독될 수 있다. 메인 메모리(408)에 포함된 명령어들의 시퀀스의 실행은 프로세서(들)(407)로 하여금 여기서 설명된 프로세스들을 수행하게 한다. 대안적 실시예에서, 소프트웨어 명령어를 대신하여 또는 이와 조합하여 물리적으로 결선된 회로(hard-wired circuitry)가 이용될 수 있다. 따라서, 실시예들은 하드웨어 회로 및/또는 소프트웨어의 임의의 특정한 조합으로 제한되지 않는다.
본 발명은 상기에서 특정적으로 설명되었지만, 이것은 본 발명을 행하고 이용하는 방법을 당업자에게 교시하기 위함일 뿐이다. 많은 추가적인 수정들이 본 발명의 범위 내에 들며, 이 범위는 이하의 청구항들에 의해 정의된다.
Claims (20)
- 비디오 스트림에서 한 그룹의 화상을 인코딩 및 디코딩하는데 이용하기 위한 방법으로서,
인코딩 또는 디코딩을 위한 화상 그룹에서 현재 화상을 식별하는 단계;
병치된 화상(collocated picture)을 식별하도록 병치된 화상 인덱스(collocated picture index)가 액세스되어야 하는지를 결정하기 위해 신택스(syntax)를 이용하여 상기 화상 그룹에서 상기 병치된 화상을 식별하는 단계;
상기 병치된 화상을 이용하여 상기 현재 화상을 인코딩 또는 디코딩하는 단계
를 포함하는, 화상 코딩 방법. - 제1항에 있어서, 상기 신택스는:
참조 화상 세트수가 1보다 큰지를 결정하기 위한, 디코딩 순서에서 상기 현재 화상 이전의 화상들을 포함하는 참조 화상 세트 내의 화상수인 참조 화상 세트수; 및
상기 병치된 화상이 제1 병치된 화상 인덱스 리스트 또는 제2 병치된 화상 인덱스 리스트를 이용하여 위치파악(locate)될 수 있는지를 결정하는 플래그
중 적어도 하나를 포함하는, 화상 코딩 방법. - 제1항에 있어서, 상기 병치된 화상을 식별하는 단계는,
디코딩 순서에서 상기 현재 화상 이전에 있는 모든 참조 화상을 포함하고 상기 현재 화상의 인터 예측(inter prediction)에 이용될 수 있는 참조 화상 세트에 대한 제1 참조 화상 세트수를 제공하는 단계;
상기 제1 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 상기 참조 화상 세트에 대한 제1 병치된 화상 인덱스 리스트를 제공하는 단계;
디코딩 순서에서 상기 현재 화상 이전에 있는 모든 참조 화상을 포함하고 상기 현재 화상의 인터 예측에 이용될 수 있는 참조 화상 세트에 대한 제2 참조 화상 세트수를 제공하는 단계; 및
상기 제2 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 상기 참조 화상 세트의 제2 병치된 화상 인덱스 리스트를 제공하는 단계
를 포함하고, 상기 제1 및 제2 인덱스 리스트 중 적어도 하나는 상기 병치된 화상을 식별하는, 화상 코딩 방법. - 제3항에 있어서,
플래그의 상태로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트를 이용하여 위치파악될 수 있는지를 결정하는 단계를 더 포함하는, 화상 코딩 방법. - 제3항에 있어서,
슬라이스 타입으로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트 중 어느 하나를 이용하여 위치파악될 수 있는지를 결정하는 단계를 더 포함하는, 화상 코딩 방법. - 제5항에 있어서, 상기 슬라이스 타입이 B-타입이면, 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트 중 어느 하나를 이용하여 위치파악될 수 있지만, 상기 슬라이스 타입이 B-타입 이외의 또 다른 타입이면, 상기 병치된 화상은 상기 제1 병치된 화상 인덱스 리스트만을 이용하여 위치파악될 수 있는, 화상 코딩 방법.
- 제3항에 있어서,
슬라이스 타입으로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트 중 어느 하나를 이용하여 위치파악될 수 있는지를 결정하는 단계; 및
상기 슬라이스 타입이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트를 이용하여 잠재적으로 위치파악될 것으로 결정된다면, 플래그의 상태로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트를 이용하여 위치파악될 수 있는지를 결정하는 단계
를 더 포함하는, 화상 코딩 방법. - 제1항에 있어서, 상기 병치된 화상을 식별하는 단계는,
플래그의 상태에 따라, 제1 리스트 및 제2 리스트 내의 어느 참조 영상이 상기 병치된 화상을 제공하는지를 나타내는 단계;
상기 플래그가 제1 상태에 있다면:
디코딩 순서에서 현재 화상 이전에 있는 상기 제1 리스트 내의 모든 참조 화상을 카운트하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제1 참조 화상 세트수를 제공하는 단계; 및
상기 제1 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 결정된 참조 화상 세트로부터 병치된 화상 인덱스 신택스를 이용하여 식별된 병치된 화상을 식별하는 단계;
상기 플래그가 제2 상태에 있다면:
디코딩 순서에서 상기 현재 화상 이전에 있는 상기 제2 리스트 내의 모든 참조 화상을 카운트하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제2 참조 화상 세트수를 제공하는 단계; 및
상기 제2 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 결정된 참조 화상 세트로부터 병치된 화상 인덱스 신택스를 이용하여 식별된 병치된 화상을 식별하는 단계
를 포함하는, 화상 코딩 방법. - 화상 그룹을 포함하는 코딩된 비디오 스트림을 처리하기 위한 디코더로서;
프로세서;
상기 프로세서에 통신가능하게 결합되는 메모리
를 포함하고, 상기 메모리는, 상기 프로세서로 하여금,
디코딩을 위한 상기 화상 그룹에서 현재 화상을 결정하게 하고;
신택스를 이용하여 상기 화상 그룹에서 병치된 화상을 결정하게 하고;
상기 병치된 화상을 이용하여 상기 현재 화상을 디코딩하게 하는
명령어들을 포함하는 복수의 명령어를 저장하는 디코더. - 제9항에 있어서, 상기 신택스는:
참조 화상 세트수가 1보다 큰지를 결정하기 위한, 디코딩 순서에서 상기 현재 화상 이전의 화상들을 포함하는 참조 화상 세트 내의 화상수인 참조 화상 세트수; 및
상기 병치된 화상이 제1 병치된 화상 인덱스 리스트 또는 제2 병치된 화상 인덱스 리스트를 이용하여 위치파악될 수 있는지를 결정하는 플래그
중 적어도 하나를 포함하는, 디코더. - 제9항에 있어서, 상기 병치된 화상을 식별하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
디코딩 순서에서 상기 현재 화상 이전에 있는 모든 참조 화상을 포함하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제1 참조 화상 세트수를 제공하게 하고;
상기 제1 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 참조 화상 세트의 제1 병치된 화상 인덱스 리스트를 제공하게 하고;
디코딩 순서에서 상기 현재 화상 이전에 있는 모든 참조 화상을 포함하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제2 참조 화상 세트수를 제공하게 하고; 및
상기 제2 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 상기 참조 화상 세트의 제2 병치된 화상 인덱스 리스트를 제공하게 하며, 상기 제1 및 제2 인덱스 리스트 중 적어도 하나는 상기 병치된 화상을 식별하게 하는, 디코더. - 제11항에 있어서, 상기 병치된 화상을 결정하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
플래그의 상태로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트 중 어느 하나를 이용하여 위치파악될 수 있는지를 결정하게 하는, 디코더. - 제11항에 있어서, 상기 병치된 화상을 결정하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
슬라이스 타입으로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트를 이용하여 위치파악될 수 있는지를 결정하게 하는, 디코더. - 제9항에 있어서, 상기 병치된 화상을 결정하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
플래그의 상태에 따라, 제1 리스트 및 제2 리스트 내의 어느 참조 영상이 상기 병치된 화상을 제공하는지를 나타내게 하고;
상기 플래그가 제1 상태에 있다면:
디코딩 순서에서 현재 화상 이전에 있는 상기 제1 리스트 내의 모든 참조 화상을 카운트하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제1 참조 화상 세트수를 제공하게 하고; 및
상기 제1 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 결정된 참조 화상 세트로부터 병치된 화상 인덱스 신택스를 이용하여 식별된 병치된 화상을 식별하게 하며;
상기 플래그가 제2 상태에 있다면:
디코딩 순서에서 상기 현재 화상 이전에 있는 상기 제2 리스트 내의 모든 참조 화상을 카운트하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제2 참조 화상 세트수를 제공하게 하고; 및
상기 제2 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 결정된 참조 화상 세트로부터 병치된 화상 인덱스 신택스를 이용하여 식별된 병치된 화상을 식별하게 하는, 디코더. - 화상 그룹을 포함하는 비디오 스트림을 인코딩하기 위한 인코더로서;
프로세서;
상기 프로세서에 통신가능하게 결합되는 메모리
를 포함하고, 상기 메모리는, 상기 프로세서로 하여금,
인코딩을 위한 상기 화상 그룹에서 현재 화상을 식별하게 하고;
신택스를 이용하여 상기 화상 그룹에서 병치된 화상을 식별하게 하고;
상기 병치된 화상을 이용하여 상기 현재 화상을 인코딩하게 하는
명령어들을 포함하는 복수의 명령어를 저장하는 인코더. - 제15항에 있어서, 상기 신택스는:
참조 화상 세트수가 1보다 큰지를 결정하기 위한, 디코딩 순서에서 상기 현재 화상 이전의 화상들을 포함하는 참조 화상 세트 내의 화상수인 참조 화상 세트수; 및
상기 병치된 화상이 제1 병치된 화상 인덱스 리스트 또는 제2 병치된 화상 인덱스 리스트를 이용하여 위치파악될 수 있는지를 결정하는 플래그
중 적어도 하나를 포함하는, 인코더. - 제15항에 있어서, 상기 병치된 화상을 식별하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
디코딩 순서에서 상기 현재 화상 이전에 있는 모든 참조 화상을 포함하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제1 참조 화상 세트수를 제공하게 하고;
상기 제1 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 참조 화상 세트의 제1 병치된 화상 인덱스 리스트를 제공하게 하고;
디코딩 순서에서 상기 현재 화상 이전에 있는 모든 참조 화상을 포함하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제2 참조 화상 세트수를 제공하게 하고; 및
상기 제2 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 상기 참조 화상 세트의 제2 병치된 화상 인덱스 리스트를 제공하게 하며, 상기 제1 및 제2 인덱스 리스트 중 적어도 하나는 상기 병치된 화상을 식별하는, 인코더. - 제17항에 있어서, 상기 병치된 화상을 식별하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
플래그의 상태로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트를 이용하여 위치파악될 수 있는지를 결정하게 하는, 인코더. - 제17항에 있어서, 상기 병치된 화상을 식별하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
슬라이스 타입으로부터 상기 병치된 화상이 상기 제1 병치된 화상 인덱스 리스트 또는 상기 제2 병치된 화상 인덱스 리스트 중 어느 하나를 이용하여 위치파악될 수 있는지를 결정하게 하는, 인코더. - 제17항에 있어서, 상기 병치된 화상을 식별하기 위해, 상기 명령어들은 또한, 상기 프로세서로 하여금:
플래그의 상태에 따라, 제1 리스트 및 제2 리스트 내의 어느 참조 영상이 상기 병치된 화상을 제공하는지를 나타내게 하고;
상기 플래그가 제1 상태에 있다면:
디코딩 순서에서 현재 화상 이전에 있는 상기 제1 리스트 내의 모든 참조 화상을 카운트하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제1 참조 화상 세트수를 제공하게 하고; 및
상기 제1 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 결정된 참조 화상 세트로부터 병치된 화상 인덱스 신택스를 이용하여 식별된 병치된 화상을 식별하게 하며;
상기 플래그가 제2 상태에 있다면:
디코딩 순서에서 상기 현재 화상 이전에 있는 상기 제2 리스트 내의 모든 참조 화상을 카운트하고 상기 현재 화상의 인터 예측에 이용될 수 있는 제2 참조 화상 세트수를 제공하게 하고; 및
상기 제2 참조 화상 세트수가 1보다 큰지를 결정하고, 만일 크다면 결정된 참조 화상 세트로부터 병치된 화상 인덱스 신택스를 이용하여 식별된 병치된 화상을 식별하게 하는, 인코더.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161561270P | 2011-11-18 | 2011-11-18 | |
US61/561,270 | 2011-11-18 | ||
US13/680,531 | 2012-11-19 | ||
US13/680,531 US9350992B2 (en) | 2011-11-18 | 2012-11-19 | Explicit way for signaling a collocated picture for high efficiency video coding |
PCT/US2012/065850 WO2013075101A1 (en) | 2011-11-18 | 2012-11-19 | An explicit way for signaling a collocated picture for high efficicency video coding (hevc) |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140098798A true KR20140098798A (ko) | 2014-08-08 |
KR101606661B1 KR101606661B1 (ko) | 2016-03-25 |
Family
ID=47258128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147016679A KR101606661B1 (ko) | 2011-11-18 | 2012-11-19 | 고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9386309B2 (ko) |
EP (2) | EP2781098B1 (ko) |
KR (1) | KR101606661B1 (ko) |
CN (2) | CN107347160B (ko) |
BR (1) | BR112014012006A2 (ko) |
WO (1) | WO2013075101A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101522850B1 (ko) * | 2010-01-14 | 2015-05-26 | 삼성전자주식회사 | 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
US9955195B2 (en) | 2011-08-30 | 2018-04-24 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
CN107483925B (zh) * | 2011-09-09 | 2020-06-19 | 株式会社Kt | 用于解码视频信号的方法 |
BR112014012038A2 (pt) | 2011-11-18 | 2017-05-30 | Motorola Mobility Llc | armazenamento eficiente de informação de movimento para codificação de vídeo de alta eficiência |
US9392235B2 (en) * | 2011-11-18 | 2016-07-12 | Google Technology Holdings LLC | Explicit way for signaling a collocated reference picture for video coding |
BR112014012006A2 (pt) | 2011-11-18 | 2017-05-30 | Motorola Mobility Llc | uma forma explícita para sinalizar uma imagem colocalizada para codificação de vídeo de alta eficiência (hevc) |
US9467694B2 (en) | 2011-11-21 | 2016-10-11 | Google Technology Holdings LLC | Implicit determination and combined implicit and explicit determination of collocated picture for temporal prediction |
BR112014015790A2 (pt) | 2011-12-26 | 2018-05-22 | Motorola Mobility Llc | determinação implícita de figura colocalizada para predição temporal |
WO2013154674A1 (en) | 2012-04-11 | 2013-10-17 | Motorola Mobility Llc | Evaluation of signaling of collocated reference picture for temporal prediction |
US9210425B2 (en) | 2012-04-11 | 2015-12-08 | Google Technology Holdings LLC | Signaling of temporal motion vector predictor (MVP) flag for temporal prediction |
US9532080B2 (en) | 2012-05-31 | 2016-12-27 | Sonic Ip, Inc. | Systems and methods for the reuse of encoding information in encoding alternative streams of video data |
US9319681B2 (en) | 2012-07-18 | 2016-04-19 | Google Technology Holdings LLC | Signaling of temporal motion vector predictor (MVP) enable flag |
US9350990B2 (en) | 2013-02-28 | 2016-05-24 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming |
US9357210B2 (en) | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
JP6491195B2 (ja) | 2013-05-03 | 2019-03-27 | ベクトン・ディキンソン・アンド・カンパニーBecton, Dickinson And Company | 流体経路サブアセンブリ |
WO2014190308A1 (en) * | 2013-05-24 | 2014-11-27 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming |
CN103491334B (zh) * | 2013-09-11 | 2017-05-10 | 浙江大学 | 一种基于区域特征分析的由h264到hevc的视频转码方法 |
US20180249176A1 (en) * | 2015-03-11 | 2018-08-30 | Lg Electronics Inc. | Method and apparatus for encoding and decoding video signal |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
BR112020018716A2 (pt) * | 2018-03-19 | 2020-12-29 | Qualcomm Incorporated | Aperfeiçoamentos em predição de vetor de movimento temporal avançado |
EP3777179A1 (en) * | 2018-04-12 | 2021-02-17 | ARRIS Enterprises LLC | Motion information storage for video coding and signaling |
GB2588004B (en) * | 2018-06-05 | 2023-03-01 | Beijing Bytedance Network Tech Co Ltd | Interaction between IBC and affine |
CN114501018B (zh) * | 2018-08-17 | 2024-01-09 | 华为技术有限公司 | 参考图像管理的解码方法、设备和系统 |
CN113242432B (zh) * | 2018-08-29 | 2022-01-25 | 北京达佳互联信息技术有限公司 | 视频解码的方法、计算设备和存储介质 |
EP3854099A4 (en) * | 2018-09-21 | 2022-06-29 | Sharp Kabushiki Kaisha | Systems and methods for signaling reference pictures in video coding |
CA3163912A1 (en) * | 2019-12-06 | 2021-06-10 | Lg Electronics Inc. | Method and apparatus for encoding/decoding image on basis of picture header including information relating to co-located picture, and method for transmitting bitstream |
CN111263159A (zh) * | 2020-01-16 | 2020-06-09 | 杭州慧川智能科技有限公司 | 一种基于h.264压缩标准的逐帧剪辑优化方法 |
EP4088462A4 (en) | 2020-02-14 | 2023-05-24 | Beijing Bytedance Network Technology Co., Ltd. | SUBPICTURE INFORMATION SIGNALING IN VIDEO BITSTREAM |
CN118337987A (zh) * | 2020-03-26 | 2024-07-12 | 阿里巴巴(中国)有限公司 | 一种非暂时性计算机可读介质 |
CN115362479A (zh) * | 2020-03-30 | 2022-11-18 | 字节跳动有限公司 | 图片中的条带类型 |
WO2024027802A1 (en) * | 2022-08-05 | 2024-02-08 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7466843B2 (en) * | 2000-07-07 | 2008-12-16 | Pryor Timothy R | Multi-functional control and entertainment systems |
AU2001290670A1 (en) | 2000-09-20 | 2002-04-02 | Dataplay, Inc. | Etched micro lens and method and apparatus for fabricating |
US6961055B2 (en) | 2001-05-09 | 2005-11-01 | Free Radical Design Limited | Methods and apparatus for constructing virtual environments |
AU2003281133A1 (en) * | 2002-07-15 | 2004-02-02 | Hitachi, Ltd. | Moving picture encoding method and decoding method |
US7822120B2 (en) | 2002-07-26 | 2010-10-26 | Panasonic Corporation | Moving picture encoding method, moving picture decoding method, and recording medium |
US7227901B2 (en) | 2002-11-21 | 2007-06-05 | Ub Video Inc. | Low-complexity deblocking filter |
EP1625488A2 (en) | 2003-05-20 | 2006-02-15 | Lego A/S | Method and system for manipulating a digital representation of a three-dimensional object |
US7609763B2 (en) | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
JP4262014B2 (ja) * | 2003-07-31 | 2009-05-13 | キヤノン株式会社 | 画像撮影装置および画像処理方法 |
US7567617B2 (en) | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7400681B2 (en) | 2003-11-28 | 2008-07-15 | Scientific-Atlanta, Inc. | Low-complexity motion vector prediction for video codec with two lists of reference pictures |
JP3879741B2 (ja) | 2004-02-25 | 2007-02-14 | ソニー株式会社 | 画像情報符号化装置および画像情報符号化方法 |
KR20070032633A (ko) * | 2004-04-08 | 2007-03-22 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 멀티미디어 데이터에 적용되는 코딩 방법 |
EP1589763A2 (en) * | 2004-04-20 | 2005-10-26 | Sony Corporation | Image processing apparatus, method and program |
US8503530B2 (en) | 2004-05-27 | 2013-08-06 | Zhourong Miao | Temporal classified filtering for video compression |
IL165190A (en) | 2004-11-14 | 2012-05-31 | Elbit Systems Ltd | System and method for stabilizing an image |
US7261266B2 (en) * | 2005-03-31 | 2007-08-28 | Satterfield Johnny A | Deployable video arm |
US8385427B2 (en) | 2005-04-15 | 2013-02-26 | Apple Inc. | Reduced resolution video decode |
KR101299848B1 (ko) | 2005-07-21 | 2013-08-23 | 톰슨 라이센싱 | 스케일러블 비디오 코딩용 가중 예측을 위한 방법 및 장치 |
US20100232506A1 (en) * | 2006-02-17 | 2010-09-16 | Peng Yin | Method for handling local brightness variations in video |
WO2007116551A1 (ja) | 2006-03-30 | 2007-10-18 | Kabushiki Kaisha Toshiba | 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法 |
JP5155157B2 (ja) * | 2006-05-12 | 2013-02-27 | パナソニック株式会社 | 動画像復号化装置 |
JP4182994B2 (ja) | 2006-07-14 | 2008-11-19 | ソニー株式会社 | データ処理システム、情報処理装置及び情報処理方法、記録再生装置、並びにコンピュータ・プログラム |
US8509313B2 (en) * | 2006-10-10 | 2013-08-13 | Texas Instruments Incorporated | Video error concealment |
US8254455B2 (en) * | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8896712B2 (en) | 2007-07-20 | 2014-11-25 | Omnivision Technologies, Inc. | Determining and correcting for imaging device motion during an exposure |
US8908765B2 (en) | 2007-11-15 | 2014-12-09 | General Instrument Corporation | Method and apparatus for performing motion estimation |
EP2081386A1 (en) | 2008-01-18 | 2009-07-22 | Panasonic Corporation | High precision edge prediction for intracoding |
US9078007B2 (en) | 2008-10-03 | 2015-07-07 | Qualcomm Incorporated | Digital video coding with interpolation filters and offsets |
US8406297B2 (en) | 2008-10-17 | 2013-03-26 | Futurewei Technologies, Inc. | System and method for bit-allocation in video coding |
US8917769B2 (en) | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US20120213288A1 (en) * | 2009-10-20 | 2012-08-23 | Yoshihiro Kitaura | Video encoding device, video decoding device, and data structure |
WO2011050641A1 (en) | 2009-10-28 | 2011-05-05 | Mediatek Singapore Pte. Ltd. | Video coding methods and video encoders and decoders with localized weighted prediction |
US8594200B2 (en) | 2009-11-11 | 2013-11-26 | Mediatek Inc. | Method of storing motion vector information and video decoding apparatus |
US9083984B2 (en) | 2010-03-19 | 2015-07-14 | Texas Instruments Incorporated | Adaptive coding structure and adaptive FCode determination in video coding |
US10104391B2 (en) | 2010-10-01 | 2018-10-16 | Dolby International Ab | System for nested entropy encoding |
US9049447B2 (en) | 2010-12-30 | 2015-06-02 | Pelco, Inc. | Video coding |
KR101532665B1 (ko) | 2011-03-14 | 2015-07-09 | 미디어텍 인크. | 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치 |
US8934552B2 (en) | 2011-03-31 | 2015-01-13 | Qualcomm Incorporated | Combined reference picture list construction and mapping |
JP2014523708A (ja) | 2011-07-01 | 2014-09-11 | モトローラ モビリティ エルエルシー | 動きベクトル予測設計の簡易化 |
US9392235B2 (en) | 2011-11-18 | 2016-07-12 | Google Technology Holdings LLC | Explicit way for signaling a collocated reference picture for video coding |
BR112014012038A2 (pt) | 2011-11-18 | 2017-05-30 | Motorola Mobility Llc | armazenamento eficiente de informação de movimento para codificação de vídeo de alta eficiência |
BR112014012006A2 (pt) * | 2011-11-18 | 2017-05-30 | Motorola Mobility Llc | uma forma explícita para sinalizar uma imagem colocalizada para codificação de vídeo de alta eficiência (hevc) |
US9467694B2 (en) | 2011-11-21 | 2016-10-11 | Google Technology Holdings LLC | Implicit determination and combined implicit and explicit determination of collocated picture for temporal prediction |
BR112014015790A2 (pt) | 2011-12-26 | 2018-05-22 | Motorola Mobility Llc | determinação implícita de figura colocalizada para predição temporal |
US9525861B2 (en) * | 2012-03-14 | 2016-12-20 | Qualcomm Incorporated | Disparity vector prediction in video coding |
WO2013154674A1 (en) | 2012-04-11 | 2013-10-17 | Motorola Mobility Llc | Evaluation of signaling of collocated reference picture for temporal prediction |
US9210425B2 (en) | 2012-04-11 | 2015-12-08 | Google Technology Holdings LLC | Signaling of temporal motion vector predictor (MVP) flag for temporal prediction |
US9319681B2 (en) | 2012-07-18 | 2016-04-19 | Google Technology Holdings LLC | Signaling of temporal motion vector predictor (MVP) enable flag |
US20140056356A1 (en) * | 2012-08-21 | 2014-02-27 | Motorola Mobility Llc | Method and apparatus for efficient signaling of weighted prediction in advanced coding schemes |
-
2012
- 2012-11-19 BR BR112014012006A patent/BR112014012006A2/pt not_active Application Discontinuation
- 2012-11-19 KR KR1020147016679A patent/KR101606661B1/ko active IP Right Grant
- 2012-11-19 EP EP12791941.3A patent/EP2781098B1/en active Active
- 2012-11-19 EP EP18208419.4A patent/EP3471420B1/en active Active
- 2012-11-19 CN CN201710377465.2A patent/CN107347160B/zh active Active
- 2012-11-19 WO PCT/US2012/065850 patent/WO2013075101A1/en active Application Filing
- 2012-11-19 US US13/681,254 patent/US9386309B2/en active Active
- 2012-11-19 US US13/680,531 patent/US9350992B2/en active Active
- 2012-11-19 CN CN201280056828.8A patent/CN103959791B/zh active Active
- 2012-11-19 US US13/681,237 patent/US9445090B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN103959791B (zh) | 2017-07-04 |
WO2013075101A1 (en) | 2013-05-23 |
EP2781098A1 (en) | 2014-09-24 |
US20130128967A1 (en) | 2013-05-23 |
US9445090B2 (en) | 2016-09-13 |
CN103959791A (zh) | 2014-07-30 |
CN107347160A (zh) | 2017-11-14 |
US20130128969A1 (en) | 2013-05-23 |
EP2781098B1 (en) | 2019-02-06 |
EP3471420B1 (en) | 2020-05-13 |
KR101606661B1 (ko) | 2016-03-25 |
EP3471420A1 (en) | 2019-04-17 |
BR112014012006A2 (pt) | 2017-05-30 |
CN107347160B (zh) | 2020-04-28 |
US9386309B2 (en) | 2016-07-05 |
US20130128970A1 (en) | 2013-05-23 |
US9350992B2 (en) | 2016-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101606661B1 (ko) | 고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법 | |
EP2810439B1 (en) | Explicit way for signaling a collocated reference picture for video coding | |
US11949883B2 (en) | Inter prediction method and apparatus therefor | |
KR101607038B1 (ko) | 시간 예측을 위한 병치된 픽처의 암시적 결정 및 결합된 암시적 및 명시적 결정 | |
KR101350597B1 (ko) | 멀티 뷰 비디오 코딩을 위한 방법 및 장치 | |
US9554141B2 (en) | Intra block copy for intra slices in high efficiency video coding (HEVC) | |
KR101623507B1 (ko) | 시간적 예측을 위해 병치된 화상의 암묵적 결정 | |
US20140023142A1 (en) | Signaling of temporal motion vector predictor (mvp) enable flag | |
CN111543055A (zh) | 视频编码设备、视频解码设备、视频编码方法、视频解码方法、程序和视频系统 | |
CN111183641A (zh) | 视频编码设备、视频解码设备、视频编码方法、视频解码方法和程序 | |
US11477445B2 (en) | Methods and apparatuses of video data coding with tile grouping | |
CN111586419B (zh) | 视频解码方法、视频编码方法及装置 | |
WO2014028631A1 (en) | Signaling of temporal motion vector predictor (mvp) enable flag |
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: 20190312 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200311 Year of fee payment: 5 |