KR102099485B1 - 시간적 예측을 위한 시간적 모션 벡터 예측기(mvp) 플래그의 시그널링 - Google Patents

시간적 예측을 위한 시간적 모션 벡터 예측기(mvp) 플래그의 시그널링 Download PDF

Info

Publication number
KR102099485B1
KR102099485B1 KR1020147031667A KR20147031667A KR102099485B1 KR 102099485 B1 KR102099485 B1 KR 102099485B1 KR 1020147031667 A KR1020147031667 A KR 1020147031667A KR 20147031667 A KR20147031667 A KR 20147031667A KR 102099485 B1 KR102099485 B1 KR 102099485B1
Authority
KR
South Korea
Prior art keywords
flag
value
slice
temporal
motion vector
Prior art date
Application number
KR1020147031667A
Other languages
English (en)
Other versions
KR20150040791A (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 KR20150040791A publication Critical patent/KR20150040791A/ko
Application granted granted Critical
Publication of KR102099485B1 publication Critical patent/KR102099485B1/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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

Landscapes

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

Abstract

일 실시형태에 있어서, 방법은 시간적 모션 벡터가 슬라이스에 대하여 사용되는 것을 제어하는 플래그가 암호화 비트스트림에 존재하는지 결정한다. 만일 플래그가 존재하면, 상기 방법은 그 플래그에 대한 값을 결정하고, 만일 플래그가 존재하지 않으면, 상기 방법은 플래그의 값이 디폴트 값이라고 추론한다. 그 다음에, 상기 방법은 플래그의 값에 기초하여 상기 암호화 비트스트림으로부터 슬라이스를 복호함에 있어서 연결형 참조 화상을 결정해야 하는지를 평가한다.

Description

시간적 예측을 위한 시간적 모션 벡터 예측기(MVP) 플래그의 시그널링{SIGNALING OF TEMPORAL MOTION VECTOR PREDICTOR(MVP) FLAG FOR TEMPORAL PREDICTION}
관련 출원에 대한 교차 참조
본 출원은 "HEVC의 연결형 화상을 신호하기 위한 수정"의 명칭으로 2012년 4월 30일자 출원한 미국 가특허 출원 제61/640,538호, 및 "HEVC의 연결형 화상을 신호하기 위한 수정"의 명칭으로 2012년 4월 11일자 출원한 미국 가특허 출원 제61/623,036호를 우선권 주장하며, 상기 우선권 출원들의 내용은 여기에서의 인용에 의해 그 전부가 본원에 통합된다.
영상 압축 시스템은 대부분의 압축 동작에 대하여 블록 처리를 이용한다. 블록은 이웃하는 화소들의 그룹이고, 압축 동작과 관련해서 하나의 부호화 단위로서 취급될 수 있다. 이론상으로, 부호화 단위가 더 클수록 바로 이웃하는 화소들 간에 상관의 이익을 취하기가 더 좋다. 각종의 영상 압축 표준, 예를 들면 동영상 전문가 그룹(MPEG)-1, MPEG-2 및 MPEG-4는 4×4, 8×8 및 16×16의 블록 크기(이하, 매크로블록(MB)이라 함)를 이용한다.
고효율 영상 부호화(high efficiency video coding, HEVC)도 또한 블록 기반형의 하이브리드 공간 및 시간 예측 부호화 방식이다. HEVC는 입력 화상(picture)을 도 1에 도시한 것처럼 부호화 트리 단위(CTU)라고 부르는 사각형 블록으로 분할한다. 종래의 부호화 표준과는 달리, CTU는 128×128 화소만큼 클 수 있다. 각각의 CTU는 부호화 단위(CU)라고 부르는 더 작은 사각형 블록으로 분할될 수 있다. 도 2는 CTU를 CU로 분할한 예를 보인 것이다. CTU(100)는 먼저 4개의 CU(102)로 분할된다. 각 CU(102)는 또한 CU(102) 크기의 1/4인 더 작은 4개의 CU(102)로 추가로 분할될 수 있다. 이러한 분할 처리는 예를 들면, CU를 분할할 수 있는 횟수의 제한이 주어지는 것과 같은 소정의 기준에 따라 반복될 수 있다. 도시한 것처럼, CU(102-1, 102-3, 102-4)는 CTU(100) 크기의 1/4이다. 또한 CU(102-2)는 4개의 CU(102-5, 102-6, 102-7, 102-8)로 분할되었다.
각각의 CU(102)는 예측 단위(prediction unit, PU)라고 부르는 하나 이상의 블록을 포함할 수 있다. 도 3은 CU를 PU로 분할한 예를 보인 것이다. PU는 공간적 예측 또는 시간적 예측을 수행하기 위해 사용될 수 있다. CU는 공간적으로 또는 시간적으로 예측 부호화될 수 있다. 만일 CU가 인트라(intra) 모드에서 부호화되면, CU의 각 PU는 그 자신의 공간 예측 방향을 가질 수 있다. 만일 CU가 인터(inter) 모드에서 부호화되면, CU의 각 PU는 그 자신의 모션 벡터 및 관련된 참조 화상을 가질 수 있다.
HEVC에 있어서, 모션 벡터(motion vector, MV)는 공간/시간 예측 처리에서 예측적으로 부호화된다. 하나의 현재 모션 벡터 및 관련된 참조 인덱스(index)를 가진 현재의 PU에 대하여, 모션 벡터 예측기(MVP)는 현재 PU의 공간적으로 이웃하거나 시간적으로 연결된 PU의 모션 벡터로부터 도출된다. 현재의 모션 벡터와 MVP 간의 차가 그 다음에 결정되고 부호화된다. 이것은 현재 모션 벡터의 정보 대신에 상기 차만이 전송되기 때문에 오버헤드를 감소시킨다. 또한, 합병(merge) 모드에서는 단일의 모션 벡터가 공간적으로 이웃하거나 시간적으로 연결된 PU의 그룹에 적용될 수 있다.
현재 화상 내의 현재 PU를 가정하면, 관련된 연결형(collocated) PU는 관련된 연결형 참조 화상 내에 존재한다. 연결형 PU는 MVP에 대한 후보 중의 하나로서 또는 현재 PU에 대한 합병/스킵 모드에서 사용된다. 인코더는 전형적으로 복호 처리에서 시간적 모션 벡터를 사용해야 하는지를 표시하기 위해 플래그에 대한 정보를 암호화(encode)한다. 플래그에 대한 정보의 암호화는 암호화된 비트스트림에서 오버헤드를 야기한다.
일 실시형태에 있어서, 방법은 시간적 모션 벡터가 슬라이스에 대하여 사용되는 것을 제어하는 플래그가 암호화 비트스트림에 존재하는지 결정한다. 만일 플래그가 존재하면, 상기 방법은 그 플래그에 대한 값을 결정하고, 만일 플래그가 존재하지 않으면, 상기 방법은 플래그의 값이 디폴트 값이라고 추론한다. 그 다음에, 상기 방법은 플래그의 값에 기초하여 상기 암호화 비트스트림으로부터 슬라이스를 복호함에 있어서 연결형 참조 화상을 결정해야 하는지를 평가한다.
도 1은 입력 화상이 부호화 트리 단위(CTU)라고 부르는 복수의 사각형 블록으로 분할된 것을 보인 도이다.
도 2는 CTU를 CU로 분할한 예를 보인 도이다.
도 3은 CU를 PU로 분할한 예를 보인 도이다.
도 4는 일 실시형태에 따른, 영상 콘텐츠를 암호화 및 복호하는 시스템의 예를 보인 도이다.
도 5a는 일 실시형태에 따른, 플래그 enable_temporal_mvp_flag가 존재하지 않을 때 부호화 처리의 예를 보인 도이다.
도 5b는 일 실시형태에 따른, 플래그 enable_temporal_mvp_flag를 이용한 부호화 처리의 제2 예를 보인 도이다.
도 6a는 일 실시형태에 따른, 영상을 암호화하기 위한 방법의 단순화한 흐름도이다.
도 6b는 일 실시형태에 따른, 영상을 복호하기 위한 방법의 단순화한 흐름도이다.
도 7a는 일 실시형태에 따른, 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 이용해야 하는지를 평가하기 위한 신택스의 예를 보인 도이다.
도 7b는 일 실시형태에 따른 인코더 및 디코더의 예를 보인 도이다.
도 7c는 일 실시형태에 따른 인코더 및 디코더의 제2 예를 보인 도이다.
도 8은 일 실시형태에 따른, 현재 블록을 암호화 또는 복호하기 위한 방법의 단순화한 흐름도이다.
도 9는 일 실시형태에 따른 암호화 처리의 더 구체적인 흐름도이다.
도 10은 일 실시형태에 따른, 현재 블록을 복호하기 위한 방법의 단순화한 흐름도이다.
도 11a는 일 실시형태에 따른 인코더의 예를 보인 도이다.
도 11b는 일 실시형태에 따른 디코더의 예를 보인 도이다.
여기에서는 영상 압축 시스템의 기술들이 개시된다. 이하의 설명에서, 설명의 목적으로 제공되는 많은 예 및 특정의 세부는 특수한 실시형태의 완전한 이해를 제공하기 위해 제시된다. 특허 청구범위에 의해 규정되는 특수한 실시형태는 여기에서 설명하는 예의 일부 또는 모든 특징들을 단독으로 또는 뒤에서 설명하는 다른 특징들과 함께 포함할 수 있고, 여기에서 설명하는 특징 및 개념의 수정 및 균등물을 또한 포함할 수 있다.
일 실시형태에 있어서, 방법은 시간적 모션 벡터가 슬라이스에 대하여 사용되는 것을 제어하는 플래그가 암호화 비트스트림에 존재하는지 결정한다. 만일 플래그가 존재하면, 상기 방법은 그 플래그에 대한 값을 결정하고, 만일 플래그가 존재하지 않으면, 상기 방법은 플래그의 값이 디폴트 값이라고 추론한다. 그 다음에, 상기 방법은 플래그의 값에 기초하여 상기 암호화 비트스트림으로부터 슬라이스를 복호함에 있어서 연결형 참조 화상을 결정해야 하는지를 평가한다.
일 실시형태에 있어서, 디코더는 하나 이상의 컴퓨터 프로세서와; 실행되었을 때, 시간적 모션 벡터가 슬라이스에 대하여 사용되는 것을 제어하는 플래그가 암호화 비트스트림에 존재하는지 결정하고; 만일 플래그가 존재하면 그 플래그에 대한 값을 결정하고; 만일 플래그가 존재하지 않으면 플래그의 값이 디폴트 값이라고 추론하고; 상기 플래그의 값에 기초하여 상기 암호화 비트스트림으로부터 슬라이스를 복호함에 있어서 연결형 참조 화상을 결정해야 하는지를 평가하도록 구성된 상기 하나 이상의 컴퓨터 프로세서를 제어하는 명령어를 포함한 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
일 실시형태에 있어서, 방법은 슬라이스를 암호화하기 위해 시간적 모션 벡터를 이용해야 하는지를 컴퓨팅 장치에 의해 결정하는 단계와; 슬라이스를 암호화하기 위해 시간적 모션 벡터를 제어하는 플래그가 사용되어야 하는지를 컴퓨팅 장치에 의해 결정하는 단계와; 플래그가 사용되어야 하는 경우에, 상기 슬라이스에 대한 암호화 비트스트림 내의 플래그의 값을 컴퓨팅 장치에 의해 암호화하는 단계와; 플래그가 사용되지 않아야 하는 경우에, 상기 암호화 비트스트림 내의 플래그의 값을 컴퓨팅 장치에 의해 암호화하지 않는 단계와; 상기 암호화 비트스트림을 컴퓨팅 장치에 의해 디코더- 이 디코더는 상기 플래그의 값이 상기 암호화 비트스트림에 존재하지 않을 때 상기 플래그의 값이 디폴트 값이라고 추론하는 것임 -에 전송하는 단계를 포함한다.
일 실시형태에 있어서, 인코더는 하나 이상의 컴퓨터 프로세서와; 실행되었을 때, 슬라이스를 암호화하기 위해 시간적 모션 벡터를 이용해야 하는지를 결정하고; 슬라이스를 암호화하기 위해 시간적 모션 벡터를 제어하는 플래그가 사용되어야 하는지를 결정하고; 플래그가 사용되어야 하는 경우에, 상기 슬라이스에 대한 암호화 비트스트림 내의 플래그의 값을 암호화하고; 플래그가 사용되지 않아야 하는 경우에, 상기 암호화 비트스트림 내의 플래그의 값을 암호화하지 않으며; 상기 암호화 비트스트림을 디코더- 이 디코더는 상기 플래그의 값이 상기 암호화 비트스트림에 존재하지 않을 때 상기 플래그의 값이 디폴트 값이라고 추론하는 것임 -에 전송하도록 구성된 상기 하나 이상의 컴퓨터 프로세서를 제어하는 명령어를 포함한 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
개관
도 4는 일 실시형태에 따른, 영상 콘텐츠를 암호화 및 복호하는 시스템(400)의 예를 보인 것이다. 인코더(402) 및 디코더(403)는 HEVC를 이용하여 비트스트림을 암호화 및 복호하지만, 다른 영상 압축 표준이 또한 사용될 수 있다.
인코더(402)는 연결형(collocated) 참조 화상 관리자(404-1)를 포함하고 디코더(403)는 연결형 참조 화상 관리자(404-2)를 포함한다. 연결형 참조 화상 관리자(404)는 현재 화상에 대한 연결형 참조 화상으로서 사용할 참조 화상을 결정한다. 연결형 참조 화상은 시간 예측 처리에서 사용될 수 있는 모션 벡터(MV) 정보를 포함한다. 예를 들면, 연결형 참조 화상 내의 구획에 대한 시간적 모션 벡터는 진보형 모션 벡터 예측(AMVP)에서의 시간적 모션 벡터 예측기(MVP)로서 또는 합병 처리에서 시간적 합병/스킵 후보 모션 벡터로서 사용될 수 있다. 연결형 블록의 모션 벡터가 시간적 MVP로서 사용될 때는 연결형 블록의 모션 벡터와 현재 블록의 현재 모션 벡터 간의 차가 부호화되고 인코더(402)로부터 디코더(403)로 전송된다. 연결형 블록의 모션 벡터가 합병/스킵 처리에서 사용될 때는 현재 블록과 연결형 블록이 합병되고 연결형 블록의 동일한 모션 벡터를 이용한다.
시간적 MVP 또는 시간적 합병/스킵 후보 MV는 선택된 연결형 블록의 MV로서 규정되고, 이 MV는 참조 화상 내에 존재하고 현재 화상의 현재 블록과 동일한 기하학적 위치를 갖는다. 일례로 현재 화상 내의 PU를 가정하면, 관련된 연결형 PU는 시간적으로 선행하는 또는 후행하는 PU에 존재할 수 있다. 연결형 PU는 현재 PU에 대한 MVP 및 합병/스킵 모드를 인에이블하기 위한 후보로서 사용될 수 있다. PU와 마찬가지로, 연결형 블록은 변환 유닛(TU), CU 또는 화상 자체에 대하여 제공될 수 있다. 이하의 설명에서는 화상을 참조하지만, 이 설명은 화상 또는 슬라이스의 리스트된 서브컴포넌트 중 임의의 것에도 적용할 수 있다. 또한, PU인 블록을 참조하지만, TU, CU, 화상 또는 슬라이스의 경우에도 마찬가지이다.
플래그 collocated_from_10_flag는 리스트(예를 들면, 리스트0 및 리스트1)가 연결형 참조 화상을 포함하는 것을 특정하기 위해 사용된다. 예를 들어서, 플래그 collocated_from_10_flag가 1과 같을 때는 연결형 참조 화상이 리스트0으로부터 도출될 것이다. 그렇지 않고 플래그 collocated_from_10_flag가 0으로 설정된 때와 같은 다른 경우에는 연결형 참조 화상이 리스트1로부터 도출될 것이다. 플래그 collocated_from_10_flag가 암호화 비트스트림에 존재하지 않으면, 디코더(403)는 플래그 collocated_from_10_flag가 1과 같다고 추론하거나, 플래그 collocated_from_10_flag를 1로 설정할 수 있다.
신택스 collocated_ref_idx는 리스트0 또는 리스트1(또는 결합형 리스트) 내의 연결형 참조 화상에 대한 인덱스를 특정한다. 예를 들면, 신택스 collocated_ref_idx는 리스트0 또는 리스트1 내의 위치를 표시할 수 있다. 플래그 collocated_from_10_flag의 값에 따라서, 신택스 collocated_ref_idx는 만일 플래그 collocated_from_10_flag가 1과 같으면 리스트0을 참조하고; 그렇지 않으면 신택스 collocated_ref_idx는 리스트1을 참조한다. 일 실시형태에 있어서, 인코더(402)는 만일 소정의 조건이 부합되면 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx에 대한 정보를 암호화 비트스트림으로 디코더(403)에게 명시적으로 신호한다. 그러나, 만일 다른 조건이 부합되면 인코더(402)는 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx에 대한 정보를 암호화 비트스트림으로 디코더(403)에게 명시적으로 신호하지 않을 수 있고, 이것은 비트를 절약하고 오버헤드를 감소시킨다. 상기 조건에 대해서는 뒤에서 자세히 설명한다.
enable_temporal_mvp_flag로서 인용되는 플래그는 현재 블록(또는 현재 슬라이스 또는 화상)을 암호화(또는 복호)할 때 시간적 모션 벡터가 사용되는지 아닌지를 제어하기 위해 사용된다. 예를 들어서, 만일 플래그 enable_temporal_mvp_flag가 인에이블되면(예컨대 1과 같으면), 현재 블록(또는 슬라이스 또는 화상 내의 블록)을 암호화(또는 복호)하기 위해 시간적 모션 벡터 예측기를 사용할 수 있다. 시간적 MVP를 사용하는 경우에는 연결형 블록으로부터의 모션 벡터가 후보 모션 벡터의 그룹에 포함될 수 있고, 상기 그룹은 공간적으로 위치된 블록으로부터의 모션 벡터를 또한 포함할 수 있다. 모션 벡터는 현재 블록의 암호화 또는 복호시에 사용하기 위해 후보 그룹으로부터 선택된다. 다른 경우에, 합병/스킵 모드에서는 시간적 모션 벡터가 블록들의 그룹에 대한 모션 벡터로서 사용될 수 있다. 그렇지 않고 만일 플래그 enable_temporal_mvp_flag가 인에이블되지 않으면(예컨대 0과 같으면), 현재 블록(또는 블록/화상의 슬라이스)을 암호화(또는 복호)할 때 시간적 모션 벡터가 사용되지 않는다.
플래그 enable_temporal_mvp_flag는 슬라이스, 화상, 일련의 화상 또는 단일 블록에 대하여 설정될 수 있다. 예를 들어서 플래그 enable_temporal_mvp_flag가 슬라이스에 대하여 설정되는 경우에, 이 플래그는 그 슬라이스 내에서 암호화되는 모든 블록에 적용된다.
이하에서는 플래그의 값이 암호화 비트스트림 내에 존재하지 않을 때 플래그에 대하여 디폴트 값이 추론되는 경우의 처리에 대하여 설명한다. 그 다음에, 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx의 신택스 요소를 사용하는 것에 대하여 평가하는 처리를 설명한다.
시간적 예측을 위한 시간적 모션 벡터 예측기( MVP ) 플래그의 시그널링
특정 실시형태는 암호화 비트스트림의 플래그 enable_temporal_mvp_flag의 값을 암호화하지 않을 수 있다. 플래그 enable_temporal_mvp_flag가 암호화 비트스트림에 존재하지 않는다고 디코더(403)가 결정하면, 디코더(403)는 플래그 enable_temporal_mvp_flag의 값이 디폴트 값과 같다고 추론한다. 예를 들면, 디코더(403)는 플래그 enable_temporal_mvp_flag가 인에이블되거나 1과 같다고 결정할 수 있다. 플래그 enable_temporal_mvp_flag가 디스에이블되거나 0과 같이 되는 것처럼 다른 값들이 또한 추론될 수 있다.
도 5a는 일 실시형태에 따른, 플래그 enable_temporal_mvp_flag가 존재하지 않을 때의 부호화 처리의 예를 보인 것이다. 인코더(402)는 영상을 디코더(403)에 전송되는 암호화 비트스트림으로 암호화한다. 이 예에서, 암호화 비트스트림은 플래그 enable_temporal_mvp_flag를 포함하지 않는다.
디코더(403)가 암호화 비트스트림을 수신한 때, 디코더(403)의 연결형 참조 화상 관리자(404-2)는 플래그 enable_temporal_mvp_flag가 암호화 비트스트림에 존재하지 않는다고 결정한다. 예를 들어서, 만일 플래그 enable_temporal_mvp_flag가 복호 대상의 하나 이상의 블록(예를 들면, 현재 블록, 블록들의 슬라이스, 화상, 또는 일련의 화상)과 연관되면, 연결형 참조 화상 관리자(404-2)는 헤더(예를 들면, 슬라이스 헤더, 화상 파라미터 집합(PPS) 헤더, 또는 다른 헤더)에서 플래그 enable_temporal_mvp_flag를 찾을 수 있다. 만일 플래그 enable_temporal_mvp_flag가 적용가능한 헤더에 존재하지 않으면, 연결형 참조 화상 관리자(404-2)는 플래그 enable_temporal_mvp_flag의 값이 디폴트 값이라고 추론한다. 예를 들면, 연결형 참조 화상 관리자(404-2)는 플래그 enable_temporal_mvp_flag의 값이 1과 같다고 추론한다. 이 경우에, 디코더(403)는 플래그 enable_temporal_mvp_flag의 값을 1로 설정할 수 있다. 그 다음에, 현재 블록(또는 블록들의 슬라이스와 같이 플래그 enable_temporal_mvp_flag와 연관된 임의의 블록)에 대한 합병/스킵 모드의 MVP 또는 MV를 결정하는데 시간적 모션 벡터가 이용된다.
도 5b는 일 실시형태에 따른, 플래그 enable_temporal_mvp_flag를 이용한 부호화 처리의 제2 예를 보인 것이다. 도시된 것처럼, 인코더(402)는 플래그 enable_temporal_mvp_flag를 포함한 암호화 비트스트림을 전송한다. 예를 들면, 인코더(402)는 화상 내 블록들의 슬라이스에 대하여 슬라이스 헤더의 플래그 enable_temporal_mvp_flag를 전송한다. 그러나, 플래그 enable_temporal_mvp_flag는 일련의 화상에 대하여 화상 파라미터 집합(PPS) 레벨 또는 블록 레벨과 같이 다른 레벨로 전송될 수 있다.
디코더(403)의 연결형 참조 화상 관리자(404-2)가 암호화 비트스트림을 수신하고 플래그 enable_temporal_mvp_flag가 존재한다(예를 들면, 슬라이스 헤더에 존재한다)고 결정하면, 연결형 참조 화상 관리자(404-2)는 그 다음에 플래그 enable_temporal_mvp_flag의 값을 결정한다. 예를 들면, 플래그의 값은 시간적 모션 벡터의 사용이 인에이블 또는 디스에이블(예를 들면, 0 또는 1)되어야 한다는 것을 표시할 수 있다. 연결형 참조 화상 관리자(404-2)는 그 다음에 플래그 enable_temporal_mvp_flag의 값을 설정하고, 그 값을 암호화 비트스트림의 복호에 이용한다. 예를 들면, 상기 값에 따라서, 시간적 모션 벡터는 현재 블록의 복호에 사용될 수도 있고 사용되지 않을 수도 있다. 이 경우에, 플래그 enable_temporal_mvp_flag는 암호화 비트스트림에서 0으로 설정되고, 연결형 참조 화상 관리자(404-2)는 상기 값을 0으로 설정한다.
이하에서는 암호화 처리 및 복호 처리를 더 자세히 설명한다. 도 6a는 일 실시형태에 따른 영상 암호화 방법의 단순화한 흐름도(600)이다. 602에서, 인코더(402)는 현재 블록을 암호화한다. 예를 들면, 현재 블록은 화상 내의 블록들의 슬라이스에서 암호화될 수 있다. 604에서, 인코더(402)는 플래그 enable_temporal_mvp_flag의 값을 결정한다. 예를 들면, 영상의 특성에 따라서, 연결형 참조 화상 관리자(404-1)는 시간적 모션 벡터가 사용되어야 하는지 또는 사용되지 않아야 하는지를 결정할 수 있다. 가끔, 시간적 모션 벡터는 화상들 간의 시간적 유사성이 크지 않기 때문에 사용되지 않는다. 에러 복원 능력을 증가시키기 위해, 일부 디코더는 또한 일부 화상에 대한 시간적 모션 벡터의 사용을 원하지 않는다.
606에서, 인코더(402)는 플래그 enable_temporal_mvp_flag의 값을 암호화해야 하는지 결정한다. 예를 들어서, 인코더(402)가 플래그 enable_temporal_mvp_flag의 값이 디폴트 값에 대응한다고 결정하면, 인코더(402)는 플래그의 값을 암호화하지 않는다.
608에서, 플래그 enable_temporal_mvp_flag의 값이 암호화되지 않아야 한다고 인코더(402)가 결정하면, 인코더(402)는 암호화 비트스트림에서 플래그 enable_temporal_mvp_flag의 값을 암호화하지 않는다. 예를 들면, 플래그 enable_temporal_mvp_flag의 값은 슬라이스 헤더에(또는 임의의 다른 레벨로) 포함되지 않는다. 610에서, 만일 상기 값이 암호화되어야 한다고 인코더(402)가 결정하면, 인코더(402)는 암호화 비트스트림에서 플래그 enable_temporal_mvp_flag의 값을 암호화한다. 전술한 바와 같이, 플래그 enable_temporal_mvp_flag의 값은 슬라이스 헤더에서(또는 임의의 다른 레벨로) 암호화될 수 있다. 612에서, 인코더(402)는 암호화 비트스트림을 디코더(403)에게 전송한다.
도 6b는 일 실시형태에 따른 영상 복호 방법의 단순화한 흐름도(650)를 보인 것이다. 652에서, 디코더(403)는 인코더(402)로부터 암호화 비트스트림을 수신한다. 654에서, 디코더(403)는 플래그 enable_temporal_mvp_flag가 암호화 비트스트림에 존재하는지를 결정한다. 예를 들면, 디코더(403)는 슬라이스 헤더에서 플래그 enable_temporal_mvp_flag의 값을 찾을 수 있다. 656에서, 만일 플래그 enable_temporal_mvp_flag가 존재하지 않으면, 디코더(403)는 플래그 enable_temporal_mvp_flag의 값이 디폴트 값과 같게 된다고 추론한다. 예를 들면, 디코더(403)는 플래그 enable_temporal_mvp_flag가 존재하지 않을 때 플래그 enable_temporal_mvp_flag의 값을 1과 같게 되도록 설정하게끔 프로그램될 수 있다. 658에서, 만일 플래그 enable_temporal_mvp_flag가 존재하면, 디코더(403)는 암호화 비트스트림으로부터 플래그의 값을 결정하고, 플래그 enable_temporal_mvp_flag의 값을 설정한다.
660에서, 디코더(403)는 플래그 enable_temporal_mvp_flag의 값에 기초하여 암호화 비트스트림을 복호한다. 예를 들어서, 만일 플래그의 값이 0이면, 현재 블록을 복호하는데 시간적 모션 벡터를 사용하지 않는다. 그러나, 만일 플래그 enable_temporal_mvp_flag의 값이 1이면, 현재 블록을 복호하기 위해 시간적 모션 벡터가 사용된다.
따라서, 플래그 enable_temporal_mvp_flag의 값이 디폴트 값과 같다고 추론함으로써, 암호화 비트스트림에서 비트들이 절약될 수 있다. 예를 들어서, 플래그 enable_temporal_mvp_flag의 값이 디폴트 값과 같다고 인코더(402)가 결정하면, 인코더(402)는 암호화 비트스트림으로 플래그 enable_temporal_mvp_flag에 대한 비트를 전송할 필요가 없다. 그 이유는 플래그 enable_temporal_mvp_flag가 암호화 비트스트림 내에 존재하지 않을 때 플래그 enable_temporal_mvp_flag의 값이 디폴트 값이라고 추론하도록 디코더(403)가 구성되기 때문이다. 이 경우에, 디코더(403)는 인코더(402)와의 통신 없이 플래그 enable_temporal_mvp_flag의 값을 암묵적으로 결정한다.
특정 실시형태는 바람직한 부호화 특성에 기초하여 디폴트 값을 설정할 수 있다. 예를 들면, 디폴트 값을 1과 같게 설정한다는 것은 플래그 enable_temporal_mvp_flag가 암호화 비트스트림에 존재하지 않을 때 시간적 모션 벡터가 사용될 것임을 의미한다. 이것은 현재 블록의 복호를 위한 연산 복잡성을 증가시킬 수 있다. 그러나, 현재 블록의 복호는 더 효율적일 수 있다. 그러나, 디폴트 값을 0으로 설정함으로써, 플래그 enable_temporal_mvp_flag가 암호화 비트스트림에 존재하지 않을 때 시간적 MVP가 디폴트에 의해 사용되지 않는다. 이로써 현재 블록의 복호시의 복잡성이 감소될 수 있다. 추가로, 영상 압축의 효율이 감소될 수 있다.
일 실시형태에 있어서, 하기의 신택스는 플래그 enable_temporal_mvp_flag가 디폴트 값이라고 추론하는 전술한 처리를 이용하여 평가될 수 잇다. 예를 들어서, 만일 플래그 enable_temporal_mvp_flag가 암호화 비트스트림에 존재한다고 디코더(403)가 결정하면, 상기 플래그 enable_temporal_mvp_flag의 값의 설정에 기초하여 아래와 같이 신택스를 평가한다.
시간적 예측을 위한 연결형 참조 화상의 시그널링의 평가
일 실시형태에 있어서, 만일 플래그 enable_temporal_mvp_flag가 0과 같으면, 연결형 참조 화상과 관련된 신택스 요소는 무시될 수 있다. 그 이유는 슬라이스 내의 블록 또는 플래그 enable_temporal_mvp_flag와 연관된 화상 내의 블록과 같이, 플래그 enable_temporal_mvp_flag와 연관된 임의의 블록을 암호화 또는 복호할 때 시간적 모션 벡터 예측기를 사용하지 않을 것이기 때문이다. 따라서, 일 실시형태에 있어서, 플래그 collocated_from_10_flag의 신택스 요소 및 신택스 collocated_ref_idx는 필요 없다. 이 경우에, 인코더(402)는 암호화 비트스트림의 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx에 대한 어떠한 정보도 암호화하지 않을 수 있다. 또한, 디코더(403)는 플래그 enable_temporal_mvp_flag가 0인 것을 연결형 참조 화상 관리자(404-2)가 검출한 경우 암호화 비트스트림의 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx에 대한 임의의 정보를 복호할 것으로 기대하지 않는다. 종래에는 플래그 enable_temporal_mvp_flag가 0인 경우에도 디코더(403)는 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx의 정보를 복호하였다.
특정의 실시형태는 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 이용해야 하는지 결정하기 위한 조건들을 평가하기 위해 신택스를 이용할 수 있다. 도 7a는 일 실시형태에 따른, 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 이용해야 하는지 평가하기 위한 신택스(700)의 예를 보인 것이다. 702에서, 신택스는 704에 나타낸 플래그 collocated_from_10_flag를 이용할 것인지 테스트한다. 신택스는 예측 유형(예를 들면, 신택스 slice_type)이 B 유형과 같고 플래그 enable_temporal_mvp_flag가 예컨대 "1"과 같이 인에이블되는지를 테스트한다. 이 경우에, 예측 유형은 슬라이스 유형이다. "1"의 값은 시간적 모션 벡터가 사용되어야 함을 표시할 수 있다. 비록 "1"의 값을 설명하지만, 다른 값을 사용하여도 좋다. 신택스 slice_type는 화상 내의 일련의 블록(예를 들면, 슬라이스)에 지정된 예측 유형일 수 있다. 비록 슬라이스 유형을 설명하지만, 신택스 slice_type는 블록, 화상 또는 일련의 화상에 대한 예측 유형을 인용할 수 있다.
화상 내 블록의 슬라이스에 대한 신택스 slice_type은 I형, P형 또는 B형의 슬라이스의 예측 유형(예를 들면, 슬라이스 유형)일 수 있다. I 슬라이스는 인트라 예측만을 이용하고 시간적 MVP를 이용하지 않는다. I 슬라이스는 인트라 예측을 이용하는 블록만을 포함한다. 또한 P 슬라이스는 I형 블록 및 P형 블록을 포함할 수 있다. P 슬라이스 내의 블록들은 하나의 모션 벡터만을 이용한다. B 슬라이스는 B형, P형 및 I형 블록을 포함할 수 있다. B형 블록은 2개의 모션 벡터를 이용할 수 있다. 따라서, 702에서의 신택스는 신택스 slice_type이 B형인지를 테스트하고, 이것은 슬라이스 내의 일부 블록이 리스트0과 리스트1 중의 하나를 이용하여 연결형 참조 화상을 결정할 수 있다는 것을 의미한다. 이 경우에, 인코더(402)는 어떤 리스트가 플래그 collocated_from_10_flag를 이용해야 하는지 신호할 필요가 있다. 추가로, 702에서의 신택스는 플래그 enable_temporal_mvp_flag가 인에이블되었는지(예를 들면, 1로 설정되었는지)를 테스트한다. 상기 2가지의 조건이 모두 참이면, 인코더(402)는 암호화 비트스트림의 플래그 collocated_from_10_flag의 값을 암호화할 수 있다. 예를 들면, 인코더(402)는 리스트0 또는 리스트1의 어떤 리스트가 사용되는지를 표시하는 값으로 플래그 collocated_from_10_flag를 설정할 수 있다. 또한, 디코더(403)는 암호화 비트스트림의 플래그 collocated_from_10_flag를 복호하여 현재 블록을 복호할 때 리스트0 및 리스트1 중 어떤 리스트를 사용해야 하는지 결정할 수 있다.
702의 신택스에서, 플래그 collocated_from_10_flag는 플래그 collocated_from_10_flag가 필요할 때만 설정된다. 즉, 만일 slice_type이 I형 또는 P형이면, 슬라이스 내의 블록들은 연결형 참조 화상(예를 들면, I형)을 이용하지 않거나 또는 리스트0만으로부터의 연결형 참조 화상(예를 들면, P형)을 이용할 것이다. 예측 유형이 P형이고 플래그 collocated_from_10_flag가 암호화 비트스트림에 포함되지 않은 때, 디코더(403)는 플래그 collocated_from_10_flag의 값이 1이라고 가정하고 플래그 collocated_from_10_flag의 값을 디폴트에 의해 1로 설정할 수 있다. 추가로, 플래그 enable_temporal_mvp_flag가 인에이블되지 않은 경우(이것은 시간적 MVP를 이용하지 않는다는 것을 의미함)에는, 디코더(403)가 시간적 MVP의 비사용에 기인하여 리스트0 또는 리스트1로부터의 참조 화상을 결정할 필요가 없기 때문에, 리스트0 및 리스트1 중 어떤 리스트를 사용해야 하는지 표시하는 플래그가 필요 없다.
706에서, 신택스는 708에 나타낸 신택스 collocated_ref_idx를 사용해야 하는지를 테스트한다. 706의 신택스에 있어서, 연결형 참조 화상 관리자(404)는 현재 블록과 연관된 신택스 slice_type이 I형과 같지 않은지(즉, 신택스 slice_type이 B형 또는 P형과 같은지)를 결정한다. 또한 연결형 참조 화상 관리자(404)는 플래그 enable_temporal_mvp_flag가 인에이블되는지(예를 들면, 1과 같은지)를 결정한다. 706의 상기 신택스에 있어서, 연결형 참조 화상 관리자(404)는 암호화 처리 또는 복호 처리시에 리스트0 또는 리스트1 중의 하나를 이용할 것인지를 결정한다. 즉, slice_type이 P형 또는 B형이고 시간적 MVP가 사용될 예정이면, 리스트0 또는 리스트1의 연결형 참조 화상이 사용될 것이다. 그 다음에, 연결형 참조 화상 관리자(404)는 리스트0 또는 리스트1의 참조 화상을 식별하기 위해 신택스 collocated_ref_idx를 사용해야 하는지를 결정한다. 예를 들면, 리스트0 또는 리스트1(즉, 플래그 collocated_from_10_flag에 기초하여 사용되는 리스트)에 있어서, 만일 리스트0 또는 리스트1에서 단지 1개의 참조 화상이 발견되면, 신택스 collocated_ref_idx는 사용할 필요가 없다. 오히려, 리스트0 또는 리스트1에서 인코더(402) 또는 디코더(403)는 리스트0 또는 리스트1에서 유일하게 이용가능한 참조 화상을 이용할 줄 안다. 그러나, 만일 리스트0 또는 리스트1에서 2개 이상의 참조 화상이 발견되면, 특정 실시형태는 신택스 collocated_ref_idx를 이용하여 리스트0 또는 리스트1에서 사용할 참조 화상을 식별할 수 있다.
따라서, 일 실시형태에 있어서, 연결형 참조 화상 관리자(404)는 플래그 collocated_from_list0_flag가 1과 같은지(예를 들면, 리스트0이 사용되어야 한다) 및 신택스 num_ref_idx_10_active_minus1 > 0이 참인지를 체크한다. 이것은 리스트0이 사용되고 또한 현재 블록에 적용하는 리스트0의 참조 화상의 수가 1보다 크다는 것(또는 리스트0의 참조 화상의 수로부터 1을 뺀 값이 0보다 크다는 것)을 의미한다. 만일 이것이 참이라고 평가하면, 연결형 참조 화상 관리자(404)는 신택스 collocated_ref_idx를 이용한다. 예를 들면, 인코더(402)는 신택스 collocated_ref_idx를 리스트0 내의 소정 위치에 설정하고 디코더(403)는 신택스 collocated_ref_idx를 복호하여 리스트0 내의 상기 위치를 결정한다. 전술한 바와 같이, 상기 위치는 연결형 참조 화상으로서 사용할 참조 화상을 식별한다.
또한, 연결형 참조 화상 관리자(404)는 플래그 collocated_from_10_flag가 1과 같지 않은지(예를 들면, 0과 같은지 및 리스트1이 사용되어야 한다고 표시하는지) 및 신택스 num_ref_idx_l1_active_minus1이 0보다 큰지를 결정한다. 이 경우에, 연결형 참조 화상 관리자(404)는 리스트1이 사용되어야 하는지 및 또한 현재 블록에 적용하는 리스트1의 참조 화상의 수가 1보다 큰지(또는 리스트1의 참조 화상의 수로부터 1을 뺀 값이 0보다 큰지)를 평가한다. 만일 상기 진술이 참이라고 평가하면, 신택스 collocated_ref_idx가 사용되고, 이때 신택스는 리스트1 내의 소정 위치를 표시한다. 예를 들면, 인코더(402)는 신택스 collocated_ref_idx를 리스트1 내의 소정 위치에 설정하고 디코더(403)는 신택스 collocated_ref_idx를 복호하여 리스트1 내의 상기 위치를 결정한다. 전술한 바와 같이, 상기 위치는 연결형 참조 화상으로서 사용할 참조 화상을 식별한다.
따라서, 706의 신택스로 나타낸 바와 같이, 신택스 collocated_ref_idx는 슬라이스 유형이 I형과 같지 않을 때, 및 리스트0이 사용되고 리스트0의 참조 화상의 수가 1보다 큰 때마다 또는 리스트1이 사용되고 리스트1의 참조 화상의 수가 1보다 큰 때 사용된다.
도 7b는 일 실시형태에 따른 인코더(402) 및 디코더(403)의 예를 보인 것이다. 플래그 enable_temporal_mvp_flag가 인에이블되고(1과 같음) 다른 조건들이 전술한 것처럼 적용되면, 암호화 비트스트림은 플래그 enable_temporal_mvp_flag, 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 포함한다. 이 경우에, 인코더(402)는 플래그 enable_temporal_mvp_flag, 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 포함한 암호화 비트스트림을 디코더(403)에게 전송한다. 일 실시형태에 있어서, 인코더(402)는 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 암호화 비트스트림의 슬라이스 헤더로 디코더(403)에게 전송한다. 다른 실시형태에 있어서, 인코더(402)는 화상 파리미터 집합(예를 들면, 일련의 화상인 경우)으로 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 전송한다. 상기의 설명은 단순한 예를 든 것이고, 전술한 것처럼 및 뒤에서 또한 설명하는 것처럼 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 포함해야 하는지를 결정하기 위해 다른 조건들을 적용할 수 있다.
도 7c는 일 실시형태에 따른 인코더(402) 및 디코더(403)의 제2 예를 보인 것이다. 도시된 것처럼, 플래그 enable_temporal_mvp_flag는 인에이블되지 않는다(0과 같음). 이것은 시간적 MVP가 현재 블록의 암호화 처리에 사용되지 않는다는 것을 의미한다. 이 경우에, 인코더(402)는 플래그 enable_temporal_mvp_flag를 포함하지만 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 포함하지 않는 암호화 비트스트림을 전송한다. 디코더(403)는 암호화 비트스트림을 수신하고, 플래그 enable_temporal_mvp_flag가 인에이블되지 않았다고 결정하며, 그에 따라서 플래그 collocated_from_10_flag 및 신택스 연결형 신택스 collocated_ref_idx가 암호화 비트스트림에 포함되지 않았고 현재 블록의 복호에 사용되지 않는다는 것을 안다.
이제, 현재 블록을 암호화 또는 복호하는 일반적인 방법을 설명하고, 그 다음에 현재 블록을 암호화하는 방법 및 복호하는 방법을 별도로 설명한다. 도 8은 일 실시형태에 따른, 현재 블록을 암호화 또는 복호하는 방법의 단순화한 흐름도(800)이다. 비록 현재 블록에 대하여 설명하지만, 이 처리는 복수의 블록에 대하여 수행될 수 있다. 예를 들면, 플래그 enable_temporal_mvp_flag는 슬라이스 내의 복수의 블록과 연관될 수 있다. 802에서, 연결형 참조 화상 관리자(404)는 암호화 대상 또는 복호 대상의 현재 블록을 결정한다. 예를 들면, 현재 화상 내의 블록들이 암호화 또는 복호될 수 있다.
804에서, 연결형 참조 화상 관리자(404)는 현재 블록의 암호화 또는 복호를 위해 시간적 모션 벡터가 사용되는 것을 제어하는 플래그 enable_temporal_mvp_flag의 값을 결정한다. 예를 들면, 연결형 참조 화상 관리자(404)는 현재 블록과 연관된 플래그 enable_temporal_mvp_flag의 값을 결정한다. 일 실시형태에 있어서, 현재 블록은 슬라이스와 연관되고, 슬라이스가 플래그 enable_temporal_mvp_flag의 값과 연관될 수 있다.
806에서, 연결형 참조 화상 관리자(404)는 플래그 enable_temporal_mvp_flag가 제1 값인지 또는 제2 값인지를 결정한다. 제1 값은 1의 값일 수 있고 이 경우에는 시간적 모션 벡터가 현재 블록에 대하여 사용된다. 제2 값은 0의 값일 수 있고 이것은 시간적 모션 벡터가 현재 블록에 대하여 사용되지 않는다는 것을 의미한다.
808에서, 연결형 참조 화상 관리자(404)는 플래그 collocated_from_10_flag를 사용할 것인지 결정한다. 예를 들어서, 만일 플래그 enable_temporal_mvp_flag가 0과 같으면, 연결형 참조 화상 관리자(404)는 플래그 collocated_from_10_flag를 사용하지 않는다. 또한, 암호화 또는 복호 대상의 현재 블록과 연관된 신택스 slice_type이 P형 또는 I형이면, 플래그 collocated_from_10_flag를 사용하지 않아도 된다. 그러나, 만일 암호화 또는 복호 대상의 현재 블록과 연관된 신택스 slice_type이 B형이고 플래그 enable_temporal_mvp_flag가 1이면, 연결형 참조 화상 관리자(404)는 플래그 collocated_from_10_flag를 사용한다.
810에서, 연결형 참조 화상 관리자(404)는 그 다음에 신택스 collocated_ref_idx를 사용해야 하는지를 결정한다. 일 실시형태에 있어서, 만일 신택스 slice_type이 I형과 같지 않고, 사용되는 리스트0 또는 리스트1이 그 리스트 내에 2개 이상의 참조 화상을 갖고 있으면, 연결형 참조 화상 관리자(404)는 신택스 collocated_ref_idx를 사용한다.
도 9는 일 실시형태에 따른 암호화 처리의 더 구체화한 흐름도(900)이다. 902에서, 인코더(402)는 슬라이스 유형 및 플래그 enable_temporal_mvp_flag의 값을 결정한다. 904에서, 인코더(402)는 "if(slice_type = = B && enable_temporal_mvp_flag)"의 조건을 평가한다. 만일 이 조건이 참이면, 906에서, 인코더(402)는 현재 블록을 암호화하기 위해 리스트0을 사용해야 하는지 또는 리스트1을 사용해야 하는지에 따르는 값으로 플래그 collocated_from_10_flag를 설정한다. 만일 904에서 평가된 조건이 참이 아니면, 908에서 인코더(402)는 플래그 collocated_from_10_flag을 1과 같은 디폴트 값으로 설정한다. 그러나, 인코더(402)는 아직 암호화 비트스트림 내의 플래그의 값을 암호화하지 않을 수 있다.
910에서, 인코더(402)는 플래그 collocated_from_10_flag의 값 및 리스트0 또는 리스트1 내의 화상의 수를 결정한다. 그 다음에, 912에서, 인코더(402)는 "if(slice_type! = I && enable_temporal_mvp_flag && ((collocated_from_10_flag && num_ref_idx_10_active_minus1 > 0) || (!collocated_from_10_flag && num_ref_idx_l1_active_minus1 > 0)"의 조건을 평가한다. 만일 이 조건이 참이라고 평가되면, 914에서, 인코더(402)는 신택스 collocated_ref_idx를 소정의 값으로 설정한다. 예를 들면, 신택스 collocated_ref_idx는 사용되는 리스트0 또는 리스트1 내의 소정 위치로 설정된다. 만일 상기 조건이 참이 아니라고 평가되면, 916에서 인코더(402)는 신택스 collocated_ref_idx를 0과 같은 디폴트 값으로 설정한다. 그러나, 인코더(402)는 아직 암호화 비트스트림 내의 신택스 collocated_ref_idx의 값을 암호화하지 않을 수 있다.
918에서, 인코더(402)는 상기 평가에 기초하여 현재 블록을 암호화한다. 예를 들면, 상기 평가에 따라서, 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx는 암호화 블록과 함께 비트스트림에서 암호화될 수도 있고 암호화되지 않을 수도 있다.
도 10은 일 실시형태에 따른 복호 방법의 단순화한 흐름도(1000)이다. 1002에서, 디코더(403)는 인코더(402)로부터 수신된 암호화 비트스트림의 복호 대상의 현재 블록에 대한 슬라이스 유형 및 플래그 enable_temporal_mvp_flag의 값을 결정한다.
1004에서, 디코더(403)는 제1 조건인 "if(slice_type = = B && enable_temporal_mvp_flag)"를 평가한다. 만일 이 제1 조건이 참이라고 평가되면, 1006에서, 디코더(403)는 암호화 비트스트림의 플래그 collocated_from_10_flag를 복호한다. 만일 상기 조건이 참이 아니라고 평가되면, 1008에서 디코더(403)는 플래그 collocated_from_10_flag가 암호화 비트스트림에 존재하지 않는다고 결정한다. 이 경우에 디코더(403)는 플래그 collocated_from_10_flag를 1과 같은 디폴트 값으로 설정하거나, 또는 플래그 collocated_from_10_flag를 사용하지 않을 수 있다.
1010에서, 디코더(403)는 플래그 collocated_from_10_flag의 값 및 리스트0 또는 리스트1 내의 화상의 수를 결정한다. 1012에서, 디코더(403)는 제2 조건인 "if(slice_type! = I && enable_temporal_mvp_flag && ((collocated_from_10_flag && num_ref_idx_10_active_minus1 > 0) || (!collocated_from_10_flag && num_ref_idx_l1_active_minus1 > 0)"을 평가한다. 만일 상기 제2 조건이 참이면, 1014에서, 디코더(403)는 암호화 비트스트림의 신택스 collocated_ref_idx를 복호한다. 만일 상기 제2 조건이 참이 아니면, 1016에서 디코더(403)는 신택스 collocated_ref_idx가 암호화 비트스트림에서 암호화되지 않았다고 결정한다. 이 경우에, 디코더(403)는 인덱스가 제1 위치라고(예를 들면, 위치가 0이라고) 가정할 수 있다.
1018에서, 디코더(403)는 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx를 이용하여 현재 블록을 복호한다(만일 적용가능하다면).
따라서, 특정 실시형태는 소정의 조건을 적용하는 경우 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx에 대한 정보를 전송하지 않음으로써 오버헤드를 절약한다. 예를 들어서, 만일 시간적 MVP가 사용될 예정이 아니면, 플래그 collocated_from_10_flag 및 신택스 collocated_ref_idx는 사용할 필요가 없다.
인코더 및 디코더 예
각종 실시형태에 있어서, 여기에서 설명하는 인코더(402)는 헤드엔드(headend)의 트랜스코더 또는 암호화 장치와 통합되거나 다른 방식으로 연합될 수 있고, 디코더(403)는 모바일 장치, 셋톱박스 또는 트랜스코더와 같은 하류 장치와 통합되거나 다른 방식으로 연합될 수 있다. 도 11a는 일 실시형태에 따른 인코더(402)의 예를 보인 것이다. 인코더(402)의 일반적인 동작을 이하에서 설명하지만, 이 기술에 숙련된 사람이라면 여기에서 설명하는 암호화 처리의 변형예가 본 명세서에서의 설명 및 교시에 기초하여 가능하다는 것을 이해할 것이다.
현재의 PU(x)에 대하여, 예측 PU(x')가 공간 예측 또는 시간 예측을 통하여 획득된다. 예측 PU는 그 다음에 현재 PU로부터 감산되어 잔여 PU(e)를 발생한다. 공간 예측은 인트라 모드 화상과 관련이 있다. 인트라 모드 부호화는 다른 이미지를 참조하지 않고 현재 입력 이미지로부터의 데이터를 이용하여 I 화상을 부호화할 수 있다. 공간 예측 블록(1104)은 수평, 수직, 45도 대각선, 135도 대각선, DC(평평한 평균), 및 평면 또는 임의의 다른 방향과 같이, PU마다 상이한 공간 예측 방향을 포함할 수 있다. PU의 공간 예측 방향은 신택스 요소로서 부호화될 수 있다. 일부 실시형태에 있어서, PU의 명도 정보(루마) 및 색 정보(크로마)는 별도로 예측될 수 있다. 일 실시형태에 있어서, 모든 블록 크기에 대한 루마 인트라 예측 모드의 수는 35이다. 크로마 인트라 예측 모드의 경우에는 추가의 모드를 사용할 수 있다. 일부 실시형태에 있어서, 크로마 예측 모드는 "인트라프롬루마"(IntraFromLuma)라고 부를 수 있다.
시간 예측 블록(1106)은 시간 예측을 수행한다. 인터 모드 부호화는 현재 입력 이미지 및 하나 이상의 참조 이미지로부터의 데이터를 이용하여 "P" 화상 및/또는 "B" 화상을 부호화할 수 있다. 일부 상황 및/또는 실시형태에 있어서, 인터 모드 부호화는 인트라 모드 부호화보다 더 높은 압축을 야기할 수 있다. 인터 모드에 있어서, PU(204)들은, CU(202)의 각 PU(204)가 하나 이상의 모션 벡터 및 하나 이상의 관련 참조 이미지를 가질 수 있도록 시간적으로 예측 부호화될 수 있다. 시간 예측은 관련 참조 이미지를 통해 PU에 대한 최상 정합 예측을 검색하는 모션 추정 동작을 통하여 수행될 수 있다. 최상 정합 예측은 모션 벡터 및 관련 참조 이미지에 의해 설명될 수 있다. P 화상은 현재 입력 이미지 및 하나 이상의 참조 이미지로부터의 데이터를 이용하고, 최대 1개의 모션 벡터를 가질 수 있다. B 화상은 현재 입력 이미지 및 하나 이상의 참조 이미지로부터의 데이터를 이용하고, 최대 2개의 모션 벡터를 가질 수 있다. 모션 벡터와 참조 화상은 암호화 비트스트림에서 부호화될 수 있다. 일부 실시형태에 있어서, 모션 벡터는 신택스 요소 "MV"일 수 있고, 참조 화상은 신택스 요소 "refIdx"일 수 있다. 일부 실시형태에 있어서, 인터 모드는 공간 예측 부호화 및 시간 예측 부호화 둘 다를 가능하게 한다. 최상 정합 예측은 모션 벡터(MV) 및 관련 참조 화상 인덱스(refIdx)에 의해 묘사된다. 모션 벡터 및 관련 참조 화상 인덱스는 부호화 비트스트림에 포함된다.
변환 블록(1107)은 잔여 PU(e)에 의한 변환 동작을 수행한다. 상이한 사이즈의 일련의 블록 변환은, 일부 PU가 더 작은 TU로 나누어지고 다른 PU가 PU와 동일 사이즈의 TU를 가질 수 있도록, CU에서 수행될 수 있다. CU 및 PU를 TU(20)로 나누는 것은 쿼드트리(quadtree) 표시로 나타낼 수 있다. 변환 블록(1107)은 변환 도메인(E)으로 잔여 PU를 출력한다.
그 다음에, 양자화기(1108)가 잔여 PU(E)의 변환 계수를 양자화한다. 양자화기(1108)는 변환 계수를 유한 수의 가능한 값으로 변환한다. 일부 실시형태에 있어서, 이것은 양자화에 의해 손실된 데이터를 복구할 수 없는 손실성 동작이다. 변환 계수가 양자화된 후에, 엔트로피 부호화 블록(1110)은 양자화 계수를 엔트로피 암호화하여 최종의 압축 비트가 송신되게 한다. 콘텍스트 적응형 가변 길이 부호화(context-adaptive variable length coding, CAVLC) 또는 콘텍스트 적응형 이진 산술 부호화(context-adaptive binary arithmetic coding, CABAC)와 같은 다른 엔트로피 부호화 방법을 사용하여도 좋다.
또한, 인코더(402) 내에서의 복호 처리에 있어서, 역양자화기(1112)는 잔여 PU의 양자화된 변환 계수를 역양자화한다. 역양자화기(1112)는 그 다음에 잔여 PU의 역양자화 변환 계수(E')를 출력한다. 역변환 블록(1114)은 역양자화 변환 계수를 수신하고, 그 다음에 역변환 처리하여 재구성된 잔여 PU(e')를 출력한다. 재구성된 PU(e')는 그 다음에 공간 예측 또는 시간 예측일 수 있는 대응하는 예측(x')에 가산되어 새로운 재구성된 PU(x")를 형성한다. 특정 실시형태는 예측을 결정할 때 사용될 수 있다. 예를 들면, 연결형 참조 화상 관리자(404)가 사용할 연결형 참조 화상을 결정하기 위해 예측 처리에서 사용된다. 루프 필터(1116)는 재구성된 PU(x")에 대하여 디블로킹(de-blocking)을 수행하여 블로킹 현상(blocking artifact)을 감소시킨다. 추가로, 루프 필터(1116)는 복호 화상에 대한 디블로킹 필터 처리를 완료한 후에 샘플 적응 오프셋 처리를 수행할 수 있고, 이것에 의해 재구성 화소와 원래 화소 간의 화소 값 오프셋을 보상한다. 또한, 루프 필터(1116)는 재구성 PU에 대하여 적응 루프 필터링을 수행하여 입력 화상과 출력 화상 간의 부호화 왜곡을 최소화할 수 있다. 추가로, 만일 재구성 화상이 참조 화상이면, 참조 화상은 나중의 시간 예측을 위해 참조 버퍼(1118)에 저장된다. 인트라 모드 부호화 이미지는 추가의 재구성 이미지를 필요로 하지 않고 복호를 시작할 수 있는 가능한 포인트일 수 있다.
도 11b는 일 실시형태에 따른 디코더(403)의 예를 보인 것이다. 디코더(403)의 일반적인 동작을 이하에서 설명하지만, 이 기술에 숙련된 사람이라면 여기에서 설명하는 복호 처리의 변형예가 본 명세서에서의 설명 및 교시에 기초하여 가능하다는 것을 이해할 것이다. 디코더(403)는 암호화 영상 콘텐츠에 대한 인코더(402)로부터의 입력 비트를 수신한다.
엔트로피 복호 블록(1130)은 입력 비트 스트림에 대하여 엔트로피 복호를 수행하여 잔여 PU의 양자화 변환 계수를 발생한다. 역양자화기(1132)는 잔여 PU의 양자화된 변환 계수를 역양자화한다. 역양자화기(1132)는 그 다음에 잔여 PU의 역양자화 변환 계수(E')를 출력한다. 역변환 블록(1134)은 역양자화 변환 계수를 수신하고, 그 다음에 역변환 처리하여 재구성된 잔여 PU(e')를 출력한다.
재구성된 PU(e')는 그 다음에 공간 예측 또는 시간 예측일 수 있는 대응하는 예측(x')에 가산되어 새로운 재구성된 PU(x")를 형성한다. 루프 필터(1136)는 재구성된 PU(x")에 대하여 디블로킹을 수행하여 블로킹 현상을 감소시킨다. 추가로, 루프 필터(1136)는 복호 화상에 대한 디블로킹 필터 처리를 완료한 후에 샘플 적응 오프셋 처리를 수행할 수 있고, 이것에 의해 재구성 화소와 원래 화소 간의 화소 값 오프셋을 보상한다. 또한, 루프 필터(1116)는 재구성 PU에 대하여 적응 루프 필터링을 수행하여 입력 화상과 출력 화상 간의 부호화 왜곡을 최소화할 수 있다. 추가로, 만일 재구성 화상이 참조 화상이면, 참조 화상은 나중의 시간 예측을 위해 참조 버퍼(1118)에 저장된다.
예측 PU(x')는 공간 예측 또는 시간 예측을 통하여 획득된다. 공간 예측 블록(1104)은 수평, 수직, 45도 대각선, 135도 대각선, DC(평평한 평균), 및 평면과 같이, PU마다의 복호된 공간 예측 방향을 수신할 수 있다. 공간 예측 방향은 예측 PU(x')를 결정하기 위해 사용된다.
시간 예측 블록(1142)은 모션 추정 동작을 통하여 시간 예측을 수행한다. 특정의 실시형태가 예측을 결정하기 위해 사용된다. 예를 들면, 연결형 참조 화상 관리자(404)가 사용할 연결형 참조 화상을 결정하기 위해 예측 처리에서 사용된다. 복호된 모션 벡터는 예측 PU(x')를 결정하기 위해 사용된다. 모션 추정 동작에서 보간법을 사용하여도 좋다.
특정 실시형태는 명령어 실행 시스템, 장치, 시스템 또는 머신에 의해 또는 이들과 함께 사용하는 비일시적 컴퓨터 판독가능 저장 매체로 구현될 수 있다. 컴퓨터 판독가능 저장 매체는 특정 실시형태에 의해 설명된 방법을 수행하도록 컴퓨터 시스템을 제어하는 명령어를 포함한다. 명령어는 하나 이상의 컴퓨터 프로세서에 의해 실행될 때 특정 실시형태로 설명한 처리를 수행하도록 동작할 수 있다.
여기에서의 설명 및 이어지는 특허 청구범위 전반에 걸쳐서 사용되는 단수 형태의 표현은 문맥에서 명백히 다르게 구술하지 않는 한 복수의 의미를 포함한다. 또한, 여기에서의 설명 및 이어지는 특허 청구범위 전반에 걸쳐서 사용되는 "내"(in)의 의미는 문맥에서 명백히 다르게 구술하지 않는 한 "내"(in) 및 "위"(on)의 의미를 포함한다.
전술한 설명은 특정 실시형태의 양태가 구현되는 법의 예와 함께 각종 실시형태를 예시한다. 전술한 예 및 실시형태는 유일한 실시형태라고 생각해서는 안되고, 이어지는 특허 청구범위에 의해 규정되는 특정 실시형태의 융통성 및 장점을 예시하기 위해 제시된 것이다. 전술한 설명 및 이어지는 특허 청구범위에 기초하여, 특허 청구범위에 의해 규정되는 본 발명의 범위로부터 벗어나지 않고 다른 배열, 실시형태, 구현 및 균등물이 사용될 수 있다.
402: 인코더 403: 디코더
404-1: 연결형 화상 관리자 404-2: 연결형 화상 관리자
1104: 공간 예측 블록 1106: 시간 예측 블록
1107: 변환 블록 1108: 양자화기
1110: 엔트로피 부호화 블록 1112: 역양자화기
1114: 역변환 블록 1116: 루프 필터
1118: 참조 버퍼 1130: 엔트로피 복호 블록
1132: 역양자화기 1134: 역변환
1136: 루프 필터 1138: 참조 버퍼
1140: 공간 예측 블록 1142: 시간 예측 블록

Claims (20)

  1. 방법에 있어서,
    시간적 모션 벡터가 슬라이스에 대하여 사용되는지의 여부를 제어하는 플래그가 암호화 비트스트림에 존재하는지의 여부를 컴퓨팅 장치에 의해 결정하는 단계;
    상기 플래그가 존재하는 경우, 상기 플래그에 대한 값을 컴퓨팅 장치에 의해 결정하는 단계;
    상기 플래그가 존재하지 않는 경우, 상기 플래그의 값이 디폴트 값이라고 상기 컴퓨팅 장치에 의해 추론하는 단계; 및
    상기 플래그의 값에 기초하여 상기 암호화 비트스트림으로부터 슬라이스를 복호함에 있어서 연결형 참조 화상을 결정해야 하는지의 여부를 상기 컴퓨팅 장치에 의해 평가하는 단계를
    포함하는, 방법.
  2. 제1항에 있어서, 상기 디폴트 값은 상기 슬라이스에 대한 시간적 모션 벡터의 사용을 가능하게 하는 것인 것인, 방법.
  3. 제2항에 있어서, 상기 디폴트 값은 "1"인 것인, 방법.
  4. 제1항에 있어서,
    상기 방법은 인코더로부터 상기 암호화 비트스트림을 수신하는 단계를 더 포함하고,
    상기 인코더는 상기 암호화 비트스트림의 플래그의 값을 암호화해야 하는지의 여부를 결정하는 것인, 방법.
  5. 제1항에 있어서, 상기 플래그의 값이 상기 시간적 모션 벡터의 사용을 가능하게 한 경우, 상기 방법은 참조 화상의 리스트로부터 상기 연결형(collocated) 참조 화상을 결정하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 플래그는 제1 플래그를 포함하고, 상기 방법은,
    상기 제1 플래그의 값을 컴퓨팅 장치에 의해 결정하는 단계;
    상기 제1 플래그의 값이 제1 값인 경우,
    연결형 참조 화상을 결정하기 위해 참조 화상의 제1 리스트를 포함한 제1 리스트를 사용해야 하는지 또는 참조 화상의 제2 리스트를 포함한 제2 리스트를 사용해야 하는지를 표시하는 제2 플래그를 복호할 것인지의 여부를 결정하기 위해 상기 컴퓨팅 장치에 의해 제1 조건을 평가하고;
    상기 제2 플래그가 복호되어야 한다고 상기 제1 조건이 표시하는 경우, 하나 이상의 블록을 복호할 때 상기 제2 플래그를 상기 컴퓨팅 장치에 의해 복호하고;
    상기 제1 리스트 또는 상기 제2 리스트 중의 하나에서 상기 연결형 참조 화상의 위치를 표시하는 위치 정보를 복호할 것인지의 여부를 결정하기 위해 상기 컴퓨팅 장치에 의해 제2 조건을 평가하고;
    상기 위치 정보가 복호되어야 한다고 상기 제2 조건이 표시하는 경우, 상기 슬라이스를 복호할 때 상기 위치 정보를 상기 컴퓨팅 장치에 의해 복호하는 단계; 및
    상기 제1 플래그가 제2 값인 경우, 상기 슬라이스를 복호할 때 상기 제2 플래그 및 상기 위치 정보를 상기 컴퓨팅 장치에 의해 복호하지 않는 단계를
    더 포함하는 것인, 방법.
  7. 제6항에 있어서, 상기 제1 조건을 평가하는 단계는,
    상기 슬라이스와 연관된 슬라이스 유형을 결정하는 단계; 및
    상기 슬라이스 유형이 B형과 같은 경우, 상기 슬라이스를 복호할 때 상기 제2 플래그를 복호하는 단계를
    포함하는 것인, 방법.
  8. 제7항에 있어서, 상기 슬라이스 유형이 상기 B형과 같지 않은 경우, 상기 슬라이스를 복호할 때 상기 제2 플래그를 복호하지 않는 단계를 더 포함하는, 방법.
  9. 제6항에 있어서, 상기 제2 조건을 평가하는 단계는,
    상기 슬라이스와 연관된 슬라이스 유형을 결정하는 단계;
    상기 슬라이스 유형이 I형과 같지 않은 경우, 상기 위치 정보를 복호해야 하는지의 여부를 결정하기 위해 제3 조건을 평가하는 단계; 및
    상기 위치 정보가 복호되어야 한다고 상기 제3 조건이 표시하는 경우, 상기 슬라이스를 복호할 때 상기 위치 정보를 복호하는 단계를
    포함하는 것인, 방법.
  10. 제1항에 있어서,
    제1 값은 상기 슬라이스를 암호화 또는 복호할 때 시간적 예측 처리에서 상기 시간적 모션 벡터가 사용되어야 함을 표시하고;
    제2 값은 상기 슬라이스를 복호할 때 상기 시간적 예측 처리에서 상기 시간적 모션 벡터가 사용되지 않아야 함을 표시하는 것인, 방법.
  11. 제1항에 있어서, 상기 슬라이스는 적어도 하나의 블록을 포함하는 것인, 방법.
  12. 디코더에 있어서,
    하나 이상의 컴퓨터 프로세서; 및
    명령어를 포함한 비일시적 컴퓨터 판독가능 저장 매체를
    포함하고,
    상기 명령어는 실행될 때,
    시간적 모션 벡터가 슬라이스에 대하여 사용되는지의 여부를 제어하는 플래그가 암호화 비트스트림에 존재하는지의 여부를 결정하고;
    상기 플래그가 존재하는 경우 상기 플래그에 대한 값을 결정하고;
    상기 플래그가 존재하지 않은 경우 상기 플래그의 값이 디폴트 값이라고 추론하며;
    상기 플래그의 값에 기초하여 상기 암호화 비트스트림으로부터 상기 슬라이스를 복호할 때 연결형 참조 화상을 결정해야 하는지의 여부를 평가하기 위해
    구성되도록 상기 하나 이상의 컴퓨터 프로세서를 제어하는 것인, 디코더.
  13. 제12항에 있어서, 상기 디폴트 값은 상기 슬라이스에 대한 상기 시간적 모션 벡터의 사용을 가능하게 하는 것인, 디코더.
  14. 방법에 있어서,
    슬라이스를 암호화하기 위해 시간적 모션 벡터를 사용해야 하는지의 여부를 컴퓨팅 장치에 의해 결정하는 단계;
    슬라이스를 암호화하기 위해 시간적 모션 벡터를 제어하는 플래그가 사용되어야 하는지의 여부를 상기 컴퓨팅 장치에 의해 결정하는 단계;
    상기 플래그가 사용되어야 하는 경우에, 상기 슬라이스에 대한 암호화 비트스트림 내의 상기 플래그의 값을 상기 컴퓨팅 장치에 의해 암호화하는 단계;
    상기 플래그가 사용되지 않아야 하는 경우에, 상기 암호화 비트스트림 내의 플래그의 값을 상기 컴퓨팅 장치에 의해 암호화하지 않는 단계; 및
    상기 암호화 비트스트림을 상기 컴퓨팅 장치에 의해 디코더에 전송하는 단계를
    포함하고,
    상기 디코더는 상기 플래그의 값이 상기 암호화 비트스트림에 존재하지 않을 때 상기 플래그의 값이 디폴트 값이라고 추론하는 것인, 방법.
  15. 제14항에 있어서, 상기 디폴트 값은 상기 슬라이스에 대한 시간적 모션 벡터의 사용을 가능하게 하는 것인, 방법.
  16. 제15항에 있어서, 상기 디폴트 값은 "1"인 것인, 방법.
  17. 제14항에 있어서, 상기 플래그의 값이 상기 시간적 모션 벡터의 사용을 가능하게 하는 제1 값인 경우, 상기 방법은 참조 화상의 리스트로부터 연결형 참조 화상을 결정하는 단계를 더 포함하는, 방법.
  18. 제14항에 있어서,
    상기 플래그는 제1 플래그를 포함한 것이고, 상기 방법은,
    상기 제1 플래그의 값을 상기 컴퓨팅 장치에 의해 결정하는 단계;
    상기 제1 플래그의 값이 제1 값인 경우,
    연결형 참조 화상을 결정하기 위해 참조 화상의 제1 리스트를 포함한 제1 리스트를 사용해야 하는지 또는 참조 화상의 제2 리스트를 포함한 제2 리스트를 사용해야 하는지를 표시하는 제2 플래그를 복호할 것인지의 여부를 결정하기 위해 상기 컴퓨팅 장치에 의해 제1 조건을 평가하고;
    상기 제2 플래그가 암호화되어야 한다고 상기 제1 조건이 표시하는 경우, 하나 이상의 블록을 암호화할 때 상기 제2 플래그를 상기 컴퓨팅 장치에 의해 암호화하고;
    상기 제1 리스트 또는 상기 제2 리스트 중의 하나에서 상기 연결형 참조 화상의 위치를 표시하는 위치 정보를 암호화할 것인지의 여부를 결정하기 위해 상기 컴퓨팅 장치에 의해 제2 조건을 평가하며;
    상기 위치 정보가 암호화되어야 한다고 상기 제2 조건이 표시하는 경우, 상기 슬라이스를 암호화할 때 상기 위치 정보를 상기 컴퓨팅 장치에 의해 암호화하는 단계; 및
    상기 제1 플래그가 제2 값인 경우, 상기 슬라이스를 암호화할 때 상기 제2 플래그 및 상기 위치 정보를 상기 컴퓨팅 장치에 의해 암호화하지 않는 단계를
    더 포함하는 것인, 방법.
  19. 인코더에 있어서,
    하나 이상의 컴퓨터 프로세서; 및
    명령어를 포함하는 비일시적 컴퓨터 판독가능 저장 매체를
    포함하고,
    상기 명령어는 실행될 때,
    슬라이스를 암호화하기 위해 시간적 모션 벡터를 사용해야 하는지의 여부를 결정하고;
    슬라이스를 암호화하기 위해 시간적 모션 벡터를 제어하는 플래그가 사용되어야 하는지의 여부를 결정하고;
    상기 플래그가 사용되어야 하는 경우에, 상기 슬라이스에 대한 암호화 비트스트림 내의 플래그의 값을 암호화하고;
    상기 플래그가 사용되지 않아야 하는 경우에, 상기 암호화 비트스트림 내의 플래그의 값을 암호화하지 않으며;
    상기 암호화 비트스트림을 디코더에 전송하기 위해
    구성되도록 상기 하나 이상의 컴퓨터 프로세서를 제어하고,
    상기 디코더는 상기 플래그의 값이 상기 암호화 비트스트림에 존재하지 않을 때 상기 플래그의 값이 디폴트 값이라고 추론하는 것인, 인코더.
  20. 제19항에 있어서, 상기 디폴트 값은 상기 슬라이스에 대한 상기 시간적 모션 벡터의 사용을 가능하게 하는 것인, 인코더.
KR1020147031667A 2012-04-11 2013-02-13 시간적 예측을 위한 시간적 모션 벡터 예측기(mvp) 플래그의 시그널링 KR102099485B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261623036P 2012-04-11 2012-04-11
US61/623,036 2012-04-11
US201261640538P 2012-04-30 2012-04-30
US61/640,538 2012-04-30
PCT/US2013/025988 WO2013154673A1 (en) 2012-04-11 2013-02-13 Signaling of temporal motion vector predictor (mvp) flag for temporal prediction
US13/766,691 US9210425B2 (en) 2012-04-11 2013-02-13 Signaling of temporal motion vector predictor (MVP) flag for temporal prediction
US13/766,691 2013-02-13

Publications (2)

Publication Number Publication Date
KR20150040791A KR20150040791A (ko) 2015-04-15
KR102099485B1 true KR102099485B1 (ko) 2020-04-09

Family

ID=49325064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147031667A KR102099485B1 (ko) 2012-04-11 2013-02-13 시간적 예측을 위한 시간적 모션 벡터 예측기(mvp) 플래그의 시그널링

Country Status (6)

Country Link
US (1) US9210425B2 (ko)
EP (1) EP2837190A1 (ko)
JP (1) JP6144754B2 (ko)
KR (1) KR102099485B1 (ko)
CN (1) CN104937939B (ko)
WO (1) WO2013154673A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592528B (zh) 2011-09-09 2020-05-12 株式会社Kt 用于解码视频信号的方法
KR101606661B1 (ko) 2011-11-18 2016-03-25 모토로라 모빌리티 엘엘씨 고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법
US9392235B2 (en) 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
CN103959774B (zh) 2011-11-18 2017-11-24 谷歌技术控股有限责任公司 用于高效视频编码的运动信息的有效存储
CN104137547B (zh) 2011-11-21 2018-02-23 谷歌技术控股有限责任公司 用于时间预测的共位图片的隐式确定以及组合隐式和显式确定
WO2013101643A1 (en) 2011-12-26 2013-07-04 General Instrument Corporation Implicit determination of collocated picture for temporal prediction
US9591328B2 (en) 2012-01-20 2017-03-07 Sun Patent Trust Methods and apparatuses for encoding and decoding video using temporal motion vector prediction
EP3829177A1 (en) 2012-02-03 2021-06-02 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
WO2013132792A1 (ja) 2012-03-06 2013-09-12 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
WO2013154674A1 (en) 2012-04-11 2013-10-17 Motorola Mobility Llc Evaluation of signaling of collocated reference picture for temporal prediction
US9319681B2 (en) 2012-07-18 2016-04-19 Google Technology Holdings LLC Signaling of temporal motion vector predictor (MVP) enable flag
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
WO2015139205A1 (en) * 2014-03-18 2015-09-24 Mediatek Singapore Pte. Ltd. An improved method for collocated picture in video coding
WO2018128228A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
GB2618721B (en) * 2019-03-20 2024-03-13 V Nova Int Ltd Low complexity enhancement video coding
US11601666B2 (en) * 2019-06-25 2023-03-07 Qualcomm Incorporated Derivation of temporal motion vector prediction candidates in video coding
US20220394301A1 (en) * 2019-10-25 2022-12-08 Sharp Kabushiki Kaisha Systems and methods for signaling picture information in video coding
BR112022016125A2 (pt) 2020-02-14 2022-10-04 Beijing Bytedance Network Tech Co Ltd Métodos de processamento de vídeo e para armazenar fluxo de bits, aparelhos de decodificação e codificação de vídeo, produto de programa de computador, meio de gravação legível por computador não transitório, e, método, aparelho, fluxo de bits
KR20220160575A (ko) * 2020-03-30 2022-12-06 바이트댄스 아이엔씨 비디오 코딩에서의 동일 위치 픽처에 대한 제약
WO2021207423A1 (en) * 2020-04-08 2021-10-14 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for signaling of syntax elements in video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013132792A1 (ja) 2012-03-06 2013-09-12 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
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
CN101039427B (zh) 2002-07-15 2010-06-16 株式会社日立制作所 动态图像的解码方法
EP1422946A4 (en) 2002-07-26 2008-04-02 Matsushita Electric Ind Co Ltd MOVING IMAGE PROCEDURE, MOVABLE IMAGE DECODING METHOD AND RECORD MEDIUM
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US7755620B2 (en) 2003-05-20 2010-07-13 Interlego Ag 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 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
EP1751986A1 (en) 2004-04-08 2007-02-14 Koninklijke Philips Electronics N.V. Coding method applied to multimedia data
EP1589763A2 (en) 2004-04-20 2005-10-26 Sony Corporation Image processing apparatus, method and program
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
US8270492B2 (en) 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
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
US9078007B2 (en) 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
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
US20120230405A1 (en) 2009-10-28 2012-09-13 Media Tek 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
CN103959774B (zh) 2011-11-18 2017-11-24 谷歌技术控股有限责任公司 用于高效视频编码的运动信息的有效存储
KR101606661B1 (ko) 2011-11-18 2016-03-25 모토로라 모빌리티 엘엘씨 고효율 비디오 코딩(hevc)을 위한 병치된 화상을 시그널링하기 위한 명시적 방법
US9392235B2 (en) 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
CN104137547B (zh) 2011-11-21 2018-02-23 谷歌技术控股有限责任公司 用于时间预测的共位图片的隐式确定以及组合隐式和显式确定
WO2013101643A1 (en) 2011-12-26 2013-07-04 General Instrument Corporation Implicit determination of collocated picture for temporal prediction
EP3829177A1 (en) * 2012-02-03 2021-06-02 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
WO2013154674A1 (en) 2012-04-11 2013-10-17 Motorola Mobility Llc Evaluation of signaling of collocated reference picture 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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013132792A1 (ja) 2012-03-06 2013-09-12 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross et al., "High efficiency video coding (HEVC) text specification draft 6", JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th Meeting: San Jose, CA, USA, 1-10 February, 2012, JCTVC-
Bin Li et al., "High-level Syntax: Marking process for non-TMVP pictures", JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva, CH, 21-30 November, 2011, JCTVC-G398(version 2)
Viktor Wahadaniah et al., "AHG14/AHG15/non-CE9: Loss robustness issue in TMVP disabling", JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th Meeting: San Jose, CA, USA, 1-10 February, 2012, JCTVC
Yue Yu et al., "Modifications on signaling collocated picture", JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 April - 7 May 2012, JCTVC-I0266(version 1)

Also Published As

Publication number Publication date
WO2013154673A1 (en) 2013-10-17
US9210425B2 (en) 2015-12-08
CN104937939B (zh) 2018-10-23
EP2837190A1 (en) 2015-02-18
JP2015516758A (ja) 2015-06-11
JP6144754B2 (ja) 2017-06-07
US20130272406A1 (en) 2013-10-17
CN104937939A (zh) 2015-09-23
KR20150040791A (ko) 2015-04-15

Similar Documents

Publication Publication Date Title
KR102099485B1 (ko) 시간적 예측을 위한 시간적 모션 벡터 예측기(mvp) 플래그의 시그널링
US9549177B2 (en) Evaluation of signaling of collocated reference picture for temporal prediction
US11575900B2 (en) Video coding device, video decoding device, video coding method, video decoding method and program
KR102389348B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
KR101623507B1 (ko) 시간적 예측을 위해 병치된 화상의 암묵적 결정
CA2951569C (en) Determining application of deblocking filtering to palette coded blocks in video coding
CA2950168C (en) Determining quantization parameter (qp) values and delta qp values for palette coded blocks in video coding
KR101607038B1 (ko) 시간 예측을 위한 병치된 픽처의 암시적 결정 및 결합된 암시적 및 명시적 결정
US9253483B2 (en) Signaling of scaling list
KR20200058445A (ko) Fruc 를 위한 저 복잡도 설계
US20140023142A1 (en) Signaling of temporal motion vector predictor (mvp) enable flag
KR20170129750A (ko) 선형 모델 예측 모드를 위한 다운샘플링 프로세스
US20140078394A1 (en) Selective use of chroma interpolation filters in luma interpolation process
EP2920971B1 (en) Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc)
WO2018129539A1 (en) Encoding optimization with illumination compensation and integer motion vector restriction
KR20130067280A (ko) 인터 예측 부호화된 동영상 복호화 방법
KR20230150284A (ko) 효율적인 비디오 인코더 아키텍처
US12010662B2 (en) Time domain orthogonal base sequence based PUCCH transmission
WO2014028631A1 (en) Signaling of temporal motion vector predictor (mvp) enable flag
WO2014051962A1 (en) Signaling of scaling list

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