KR20170002611A - 팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비 - Google Patents

팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비 Download PDF

Info

Publication number
KR20170002611A
KR20170002611A KR1020167034523A KR20167034523A KR20170002611A KR 20170002611 A KR20170002611 A KR 20170002611A KR 1020167034523 A KR1020167034523 A KR 1020167034523A KR 20167034523 A KR20167034523 A KR 20167034523A KR 20170002611 A KR20170002611 A KR 20170002611A
Authority
KR
South Korea
Prior art keywords
coding
escape
sample
coding unit
indication
Prior art date
Application number
KR1020167034523A
Other languages
English (en)
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 KR20170002611A publication Critical patent/KR20170002611A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

출원은, 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과, 이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 것과, 어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 것과, 디코딩된 팔레트 인덱스를, 이스케이프 코딩을 표시하는 상기 팔레트 인덱스와 비교하고 그 인덱스들이 매칭되는 경우, 샘플 값 정보를 디코딩하는 것과, 디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 포함하는, 팔레트 모드로 코딩된 코딩 유닛을 디코딩하기 위한 방법 및 기술 장비에 관련된다. 추가로, 출원은 인코딩을 위한 방법 및 기술 장비에 관련된다.

Description

팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비{METHOD AND TECHNICAL EQUIPMENT FOR VIDEO ENCODING AND DECODING USING PALETTE CODING}
본 출원은 일반적으로 디지털 자료의 코딩(coding) 및 디코딩(decoding)에 관련된다. 특히, 본 출원은 스케일가능(scalable) 및 고충실도(high fidelity) 코딩에 관련된다.
이 부분은 청구항에 기재된 발명에 배경 또는 맥락을 제공하도록 의도된다. 본 문서 내의 설명은 추구될 수 있는, 다만 반드시 이전에 안출되거나 추구된 것은 아닌 개념을 포함할 수 있다. 따라서, 본 문서에서 달리 표시되지 않는 한, 이 부분에 기술된 것은 이 출원 내의 설명 및 청구항에 대한 선행 기술이 아니며 이 부분 내의 포함에 의해 선행 기술이라고 자인되는 것이 아니다.
비디오 코딩 시스템(video coding system)은 입력 비디오를 저장/송신에 적합한 압축된 표현으로 변환하는 인코더(encoder) 및 압축된 비디오 표현을 도로 가시적 형태로 압축 해제할 수 있는 디코더(decoder)를 포함할 수 있다. 인코더는 원래의 비디오 시퀀스(video sequence) 내의 어떤 정보를 폐기할(discard) 수 있으니 이는 비디오를 더욱 조밀한 형태로 나타내기 위함, 예컨대, 그렇지 않으면 필요할 수 있는 것보다 더 낮은 비트율(bitrate)에서의 비디오 정보의 저장/송신을 가능하게 하기 위함이다.
몇몇 실시예는 비디오 정보를 인코딩(encoding)하고 디코딩하기 위한 방법을 제공한다. 몇몇 실시예에서 그 방법을 구현하기 위한 장치, 컴퓨터 프로그램 제품, 컴퓨터 판독가능 매체가 제공된다.
발명의 예들의 다양한 양상이 상세한 설명 내에 제공된다.
제1 양상에 따라, 방법이 제공되는데, 위 방법은:
팔레트 모드(palette mode)로 코딩된 코딩 유닛(coding unit)을 디코딩하는 단계를 포함하되, 위 단계는
위 코딩 유닛 내 이스케이프 코딩(escape coding)의 존재(presence)의 표시(indication)를 디코딩하는 것과,
이스케이프 코딩된 샘플 값을 표시하는(indicating) 플래그(flag)가 디코딩될 것인지를 결정하는 것(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 상기 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 픽셀 값을 표시하는 경우, 샘플 값 정보를 디코딩하는 것과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 포함한다.
일 실시예에 따라, 위 방법은 코딩 유닛 내 이스케이프 코딩의 존재의 위 표시를 위 코딩 유닛 내 모든 샘플에 적용하는 단계를 포함한다.
일 실시예에 따라, 위 방법은 코딩 유닛 내 이스케이프 코딩의 존재의 위 표시를 위 코딩 유닛 내 샘플의 서브세트(subset of samples)에 적용하는 단계를 포함한다.
일 실시예에 따라, 위 표시는 더 높은 레벨의 표시(higher level indication) 및 샘플 레벨 표시(sample level indication)의 조합이다.
일 실시예에 따라, 위 방법은 코딩 유닛에 대해, 이스케이프 코딩된 샘플이 있는지를 표시하는 단계를 더 포함하고, 만약 그렇다면, 위 방법은 적어도 하나의 이스케이프 코딩된 샘플에 대해, 해당 샘플이 위 코딩 유닛 내 마지막 이스케이프 코딩된 샘플인지를 표시하는 단계를 포함한다.
일 실시예에 따라, 위 방법은 시퀀스 파라미터 세트(sequence parameter set), 픽처 파라미터 세트(picture parameter set), 슬라이스 헤더(slice header), 코딩 트리 단위 레벨(coding tree unit level), 예측 단위 레벨(prediction unit level), 변환 단위 레벨(transform unit level)이라는 계층들 중 적어도 하나 내에 위 표시를 포함시키는 단계를 더 포함한다.
일 실시예에 따라, 위 방법은 이스케이프 코딩된 샘플을 식별하기 위해 팔레트 내에 특정 인덱스를 표시함으로써 이스케이프 정보를 표시하는 단계를 더 포함한다.
제2 양상에 따라, 적어도 하나의 프로세서; 그리고 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되는데 위 적어도 하나의 메모리 및 위 컴퓨터 프로그램 코드는, 위 적어도 하나의 프로세서로써, 위 장치로 하여금 적어도: 팔레트 코딩으로 코딩된 코딩 유닛을 디코딩하는 것을 수행하게 하도록 구성되되, 위 디코딩하는 것은
위 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 것(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 상기 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보를 디코딩하는 것과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 포함한다.
일 실시예에 따라, 위 장치는 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 위 코딩 유닛 내 모든 샘플에 적용하도록 구성된다.
일 실시예에 따라, 위 장치는 코딩 유닛 내 이스케이프 코딩의 존재의 위 표시를 위 코딩 유닛 내 샘플의 서브세트에 적용하도록 구성된다.
일 실시예에 따라, 위 표시는 더 높은 레벨의 표시 및 샘플 레벨 표시의 조합이다.
일 실시예에 따라, 위 장치는 코딩 유닛에 대해, 이스케이프 코딩된 샘플이 있는지를 표시하도록 구성되고, 만약 그렇다면, 위 장치는 적어도 하나의 이스케이프 코딩된 샘플에 대해, 해당 샘플이 위 코딩 유닛 내 마지막 이스케이프 코딩된 샘플인지를 표시하도록 구성된다.
일 실시예에 따라, 위 장치는 시퀀스 파라미터 세트, 픽처 파라미터 세트, 슬라이스 헤더, 코딩 트리 단위 레벨, 예측 단위 레벨, 변환 단위 레벨이라는 계층들 중 적어도 하나 내에 위 표시를 포함시키도록 구성된다.
일 실시예에 따라, 위 장치는 이스케이프 코딩된 샘플을 식별하기 위해 팔레트 내에 특정 인덱스를 표시함으로써 이스케이프 정보를 표시하도록 구성된다.
제3 양상에 따라, 장치가 제공되는데, 위 장치는
처리 수단(means for processing)과,
코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 수단과,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 수단(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 위 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보를 디코딩하는 수단과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 수단을 포함한다.
제4 양상에 따라, 컴퓨터와의 사용을 위해 내부에 구현된(embodied) 컴퓨터 프로그램 코드를 보유한(bearing) 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품이 제공되는데, 위 컴퓨터 프로그램 코드는:
코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 코드와,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 코드(그 결정은 상기 표시에 기반함)와,
만약 위 플래그가 디코딩될 것인 경우, 위 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우 샘플 값 정보를 디코딩하는 코드와,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 코드를 포함한다.
제5 양상에 따라, 명령어로써 인코딩된 비일시적 컴퓨터 판독가능 매체(non-transitory computer-readable medium)가 제공되는데, 위 명령어는, 컴퓨터에 의해 실행되는 경우,
코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 것(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 상기 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보를 디코딩하는 것과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 수행한다.
본 발명의 예시적 실시예의 더욱 완벽한 이해를 위하여, 이제 첨부된 도면과 관련하여 취해진 이하의 설명에 대한 참조가 행해지는데,
도 1은 일 실시예에 따른 비디오 코딩 시스템의 블록도를 예시하고,
도 2는 일 실시예에 따른 장치의 레이아웃(layout)을 예시하며,
도 3은 일 실시예에 따라 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 구성을 예시하고,
도 4는 일 실시예에 따른 비디오 인코더의 블록도를 예시하며,
도 5는 일 실시예에 따른 비디오 디코더의 블록도를 예시하고,
도 6은 일 실시예에 따른 방법을 흐름도로서 예시하며,
도 7은 일 실시예에 따른 방법을 흐름도로서 예시한다.
도 1은 일 실시예에 따른 장치 또는 전자 디바이스(50)의 개략적인 블록도로서 비디오 코딩 시스템을 도시한다. 전자 디바이스(50)는 일 실시예에 따른 코덱(codec)을 포함할 수 있다. 도 2는 일 실시예에 따른 장치의 레이아웃을 도시한다. 도 1 및 도 2의 구성요소들이 다음에서 설명될 것이다.
전자 디바이스(50)는 예컨대 무선 통신 시스템의 모바일 단말(mobile terminal) 또는 사용자 장비(user equipment)일 수 있다. 그러나, 발명의 실시예들은 비디오 이미지를 인코딩하고 디코딩하는 것, 또는 인코딩하는 것 또는 디코딩하는 것을 요구할 수 있는 임의의 전자 디바이스 또는 장치 내에 구현될 수 있음이 인식된다.
장치(50)는 디바이스를 포함하고 보호하기 위한 하우징(housing)(30)을 포함할 수 있다. 장치(50)는 또한 액정 디스플레이(liquid crystal display)의 형태로 된 디스플레이(32)를 포함할 수 있다. 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 디스플레이하기에 적합한 임의의 적합한 디스플레이 기술일 수 있다. 장치(50)는 키패드(keypad)(34)를 더 포함할 수 있다. 일 실시예에 따라, 임의의 적합한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예컨대, 사용자 인터페이스는 터치 감응 디스플레이(touch-sensitive display)의 일부로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치는 마이크(microphone)(36) 또는 임의의 적합한 오디오 입력부(audio input)(디지털 또는 아날로그 신호 입력부일 수 있음)을 포함할 수 있다. 장치(50)는 오디오 출력 디바이스(audio output device)를 더 포함할 수 있는데, 이는 - 일 실시예에 따르면 - 수화기(earpiece)(38), 스피커(speaker), 또는 아날로그 오디오 또는 디지털 오디오 출력 연결부 중의 임의의 것일 수 있다. 장치(50)는 또한 배터리(40)를 포함할 수 있(거나 일 실시예에서, 디바이스에는 임의의 적합한 모바일 에너지 디바이스(mobile energy device), 예를 들어 태양광 전지(solar cell), 연료 전지(fuel cell) 또는 태엽 발전기(clock generator)에 의해 전력이 공급될 수 있)다. 장치는 이미지 및/또는 비디오를 기록하거나 포착하는 것이 가능한 카메라(42)를 더 포함할 수 있다. 일 실시예에 따라, 장치(50)는 다른 디바이스로의 단거리 가시선 통신(short range line of sight communication)을 위한 적외선 포트(infrared port)를 더 포함할 수 있다. 일 실시예에 따라, 장치(50)는 예컨대 블루투스(Bluetooth) 무선 연결 또는 USB/파이어와이어(firewire) 유선 연결과 같은 임의의 적합한 단거리 통신 방안을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 제어기(56) 또는 프로세서를 포함할 수 있다. 제어기(56)는, 일 실시예에 따라 이미지 및 오디오 데이터의 형태로 양 데이터 모두를 저장할 수 있고/있거나 제어기(56) 상의 구현을 위한 명령어를 또한 저장할 수 있는 메모리(58)에 연결될 수 있다. 제어기(56)는, 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하거나 제어기(56)에 의해 수행되는 코딩 및 디코딩을 돕는 데에 적합한 코덱 회로(codec circuitry)(54)에 또한 연결될 수 있다.
장치(56)는 카드 판독기(card reader)(48) 및 스마트 카드(smart card)(46), 예컨대 사용자 정보를 제공하는, 그리고 네트워크에서 사용자의 인증(authentication) 및 인가(authorization)를 위한 인증 정보를 제공하는 데에 적합한 UICC 및 UICC 판독기를 더 포함할 수 있다.
장치(50)는 제어기에 연결된, 그리고 예컨대 셀룰러 통신 네트워크(cellular communications network), 무선 통신 시스템 또는 무선 로컬 영역 네트워크(wireless local area network)와의 통신을 위한 무선 통신 신호를 생성하는 데 적합한 무선 인터페이스 회로(radio interface circuitry)(52)를 더 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에서 생성된 무선 주파수(radio frequency) 신호를 다른 장치(들)에 송신하기 위해 그리고 무선 주파수 신호를 다른 장치(들)로부터 수신하기 위해 무선 인터페이스 회로(52)에 연결된 안테나(44)를 더 포함할 수 있다.
일 실시예에 따라, 장치(50)는 이후에 처리를 위해 코덱(54) 또는 제어기에 전달되는 개별 프레임을 기록하거나 검출하는 것이 가능한 카메라를 포함한다. 일 실시예에 따라, 장치는 송신 및/또는 저장 전에 다른 디바이스로부터 처리를 위해 비디오 이미지 데이터를 수신할 수 있다. 일 실시예에 따라, 장치(50)는 코딩/디코딩을 위해 이미지를 무선으로든 또는 유선 연결에 의해서든 수신할 수 있다.
도 3은 일 실시예에 따라 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 구성을 도시한다. 도 3에 관하여, 내부에서 발명의 실시예가 활용될 수 있는 시스템의 일례가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 여러 통신 디바이스를 포함한다. 시스템(10)은 (GSM, UMTS, CDMA 네트워크 등등과 같은) 무선 셀룰러 전화 네트워크, IEEE 802.x 표준 중 임의의 것에 의해 정의된 바와 같은 무선 로컬 영역 네트워크(Wireless Local Area Network: WLAN), 블루투스 개인 영역 네트워크(Bluetooth personal area network), 이더넷 로컬 영역 네트워크(Ethernet local area network), 토큰 링 로컬 영역 네트워크(token ring local area network), 광역 네트워크(wide area network) 및 인터넷을 포함하나 이에 한정되지 않는 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있다.
시스템(10)은 실시예를 구현하는 데 적합한 유선 및 무선 양자 모두의 통신 디바이스 또는 장치(50)를 포함할 수 있다. 예컨대, 도 3에 도시된 시스템은 인터넷(28)의 표현 및 모바일 전화 네트워크(mobile telephone network)(11)를 도시한다. 인터넷(28)으로의 연결성(connectivity)은 장거리 무선 연결과, 단거리 무선 연결과, 전화선, 케이블 선, 전력선 및 유사한 통신 경로를 포함하나 이에 한정되지 않는 다양한 유선 연결을 포함할 수 있으나, 이에 한정되지 않는다.
시스템(10) 내에 도시된 예시적 통신 디바이스는 전자 디바이스 또는 장치(50), 개인용 디지털 보조기기(Personal Digital Assistant: PDA)와 모바일 전화의 임의의 조합(14), PDA(16), 통합 메시징 디바이스(Integrated Messaging Device: IMD)(18), 데스크톱 컴퓨터(desktop computer)(20), 노트북 컴퓨터(notebook computer)(22)를 포함할 수 있으나, 이에 한정되지 않는다. 장치(50)는 움직이고 있는 개인에 의해 휴대될 때인 이동식(mobile)이거나 고정식(stationary)일 수 있다. 장치(50)는, 차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 오토바이 또는 임의의 유사한 적합한 운송수단(mode of transport)을 포함하나 이에 한정되지 않는 운송수단 내에 또한 위치될 수 있다.
몇몇 또는 추가의 장치는 호출(call) 및 메시지를 발신하고 수신하고 무선 연결(25)을 통해 기지국(base station)(24)으로 서비스 제공자와의 통신을 할 수 있다. 기지국(24)은 모바일 전화 네트워크(11) 및 인터넷(28) 간의 통신을 가능하게 하는 네트워크 서버(26)에 연결될 수 있다. 시스템은 추가적인 통신 디바이스 및 다양한 유형의 통신 디바이스를 포함할 수 있다.
통신 디바이스는, 코드 분할 다중 액세스(Code Division Multiple Access: CDMA), 모바일 통신용 전역 시스템(Global Systems for Mobile communications: GSM), 범용 모바일 전기통신 시스템(Universal Mobile Telecommunications System: UMTS), 시분할 다중 액세스(Time Divisional Multiple Access: TDMA), 주파수 분할 다중 액세스(Frequency Division Multiple Access: FDMA) 송신 제어 프로토콜-인터넷 프로토콜(Transmission Control Protocol-Internet Protocol: TCP-IP), 단문 서비스(Short Messaging Service: SMS), 멀티미디어 메시징 서비스(Multimedia Messaging Service: MMS) 이메일, 인스턴트 메시징 서비스(Instant Messaging Service: IMS), 블루투스, IEEE 802.11 및 임의의 유사한 무선 통신 기술을 포함하나 이에 한정되지 않는 다양한 송신 기술을 사용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는 데에 수반되는 통신 디바이스는, 무선 연결, 적외선 연결, 레이저 연결, 케이블 연결 및 임의의 적합한 연결을 포함하나 이에 한정되지 않는 다양한 매체를 사용하여 통신할 수 있다.
비디오 코더(video coder)는 입력 비디오를 저장/송신에 적합한 압축된 표현으로 변환하는 인코더를 포함할 수 있고, 디코더는 압축된 비디오 표현을 도로 가시적 형태로 압축을 푸는 것이 가능하다. 인코더는 비디오를 더욱 조밀한 형태로(즉 더 낮은 비트율로) 나타내기 위해서 원래의 비디오 시퀀스 내의 어떤 정보를 폐기할 수 있다.
복합(hybrid) 비디오 코덱, 예컨대 ITU-T H.263 및 H.264는, 두 단계로 비디오 정보를 인코딩한다. 먼저, 어떤 픽처(picture) 내의 픽셀 값들(또는 "블록"(block))이 예컨대 움직임 보상(motion compensation) 수단(코딩되는 블록에 밀접히 대응하는, 이전에 코딩된 비디오 프레임 중의 하나 내의 영역을 찾아내고 표시함)에 의해 또는 공간적(spatial) 수단(지정된 방식으로 코딩될 블록 주위의 픽셀 값을 사용함)에 의해 예측된다. 다음으로, 예측 오차(prediction error), 즉 예측된 픽셀 블록(block of pixels) 및 원래의 픽셀 블록 간의 차이가 코딩된다. 이것은 지정된 변환(가령, 이산 코사인 변환(Discrete Cosine Transform: DCT) 또는 그것의 변형)을 사용하여 픽셀 값들에서의 차이를 변환하고, 계수들을 양자화하며, 양자화된 계수들을 엔트로피 코딩함(entropy coding)으로써 행해질 수 있다. 양자화 프로세스의 충실도(fidelity)를 바꿈으로써, 인코더는 픽셀 표현의 정확도(픽처 품질) 및 결과적인 코딩된 비디오 표현의 크기(송신 비트율의 파일 크기) 간의 균형을 제어할 수 있다. 인코딩 프로세스는 도 4에 예시된다. 도 4는 비디오 인코더의 일례를 예시하는데, 여기서 I n : 인코딩될 이미지; P' n : 이미지 블록의 예측된 표현; D n : 예측 오차 신호(Prediction error signal); D' n : 재구성된 예측 오차 신호(Reconstructed prediction error signal); I' n : 예비적인 재구성된 이미지(Preliminary reconstructed image); R' n : 최종적인 재구성된 이미지(Final reconstructed image); T, T -1 : 변환(transform) 및 역변환(inverse transform); Q, Q -1 : 양자화(quantization) 및 역양자화(inverse quantization); E: 엔트로피 인코딩(Entropy encoding); RFM: 참조 프레임 메모리(Reference frame memory); P inter : 인터 예측(Inter prediction); P intra : 인트라 예측(Intra prediction); MS: 모드 선택(Mode selection); F: 필터링(Filtering)이다.
몇몇 비디오 코덱, 예를 들어 HEVC에서, 비디오 픽처들은 그 픽처의 영역을 커버하는(covering) 코딩 유닛(Coding Unit: CU)들로 나뉜다. CU는 CU 내의 샘플들을 위한 예측 프로세스를 정의하는 하나 이상의 예측 단위(Prediction Unit: PU) 및 상기 CU 내의 샘플들을 위한 예측 오차 코딩 프로세스를 정의하는 하나 이상의 변환 단위(Transform Unit: TU)로 이루어진다. CU는 가능한 CU 크기들의 사전정의된 세트로부터 선택가능한 크기를 갖는 샘플들의 정방형 블록(square block)으로 이루어질 수 있다. 최대 허용 크기(maximum allowed size)를 갖는 CU는 CTU(코딩 트리 단위(coding tree unit))로 명명될 수 있고 비디오 픽처는 비중첩(non-overlapping) CTU들로 나뉜다. CTU는, 가령 CTU 및 이에 따른 CU들로 재귀적으로 분할함(recursively splitting)으로써, 더 작은 CU들의 조합으로 더 분할될 수 있다. 각각의 결과적인 CU는 그것과 연관된 적어도 하나의 PU 및 적어도 하나의 TU를 가질 수 있다. 각각의 PU 및 TU는 각각 예측 및 예측 오차 코딩 프로세스들의 입도(granularity)를 증가시키기 위해서 더 작은 PU들과 TU들로 더 분할될 수 있다. 각각의 PU는 어떤 종류의 예측이 그 PU 내의 픽셀을 위해 적용될 것인지를 정의하는 그것과 연관된 예측 정보를 가진다(가령, 인터 예측된(inter-predicted) PU들을 위해 움직임 벡터(motion vector) 정보 및 인트라 예측된(intra predicted) PU들을 위해 인트라 예측 방향성 정보). 유사하게, 각각의 TU는 (가령 DCT 계수 정보를 포함하여) 상기 TU 내의 샘플들을 위한 예측 오차 디코딩 프로세스를 기술하는 정보와 연관된다. 각각의 CU에 대해 예측 오차 코딩이 적용되는지 여부는 CU 레벨에서 시그널링될(signaled) 수 있다. CU와 연관된 예측 오차 잔차(prediction errors residual)가 전혀 없는 경우에, 상기 CU를 위한 TU가 전혀 없다고 간주될 수 있다. 이미지를 CU들로 나누는 것과, CU들을 PU들 및 TU들로 나누는 것은 디코더가 이 단위들의 의도된 구조를 재현할 수 있게 비트스트림(bitstream) 내에 시그널링될 수 있다.
디코더는 (인코더에 의해 생성되고, 압축된 표현으로 저장된 움직임 또는 공간 정보를 사용하여) 픽셀 블록들의 예측된 표현을 형성하기 위해 인코더와 유사한 예측 수단과, 예측 오차 디코딩(공간 픽셀 도메인(spatial pixel domain) 내의 양자화된 예측 오차 신호를 복구하는 예측 오차 코딩의 역연산(inverse operation))을 적용함으로써 출력 비디오를 재구성한다. 예측 및 예측 오차 디코딩 수단을 적용한 후, 디코더는 출력 비디오 프레임을 형성하기 위해 예측 및 예측 오차 신호들(픽셀 값들)을 총합한다(sum up). 디코더(그리고 인코더)는 또한 추가적인 필터링 수단을, 출력 비디오의 품질을 개선하고자, 디스플레이를 위해 그것을 전달하고/하거나 비디오 시퀀스 내의 도래하는(forthcoming) 프레임들을 위한 예측 참조(prediction reference)로서 그것을 저장하기 전에 적용할 수 있다. 디코딩 프로세스는 도 5에 예시된다. 도 5는 비디오 디코더의 블록도를 예시하는데 여기서 P' n : 이미지 블록의 예측된 표현; D' n : 재구성된 예측 오차 신호; I' n : 예비적인 재구성된 이미지; R' n : 최종적인 재구성된 이미지; T -1 : 역변환; Q -1 : 역양자화; E -1 : 엔트로피 디코딩(Entropy decoding); RFM: 참조 프레임 메모리; P: 예측(인터든 또는 인트라든); F: 필터링이다.
코딩된 샘플 값들을 표시하기 위해 샘플 값 예측(sample value prediction) 및 변환 코딩(transform coding)을 활용하는 접근법들에 추가하여, 또는 대신에, 색상 팔레트 기반 코딩(color palette based coding)이 사용될 수 있다. 팔레트 기반 코딩은 일군의 접근법들을 나타내는데, 이에 있어서 팔레트, 즉 색상들 및 연관된 인덱스(index)들의 세트가 정의되고 코딩 유닛 내 각각의 샘플을 위한 값은 팔레트 내에 그것의 인덱스를 표시함으로써 표현된다. 팔레트 기반 코딩은 (텍스트 또는 간단한 그래픽처럼, 컴퓨터 스크린 내용을 나타내고 있는 이미지 영역과 같이) 상대적으로 적은 수의 색상을 갖는 코딩 유닛 내에서 우수한 코딩 효율을 달성할 수 있다. 팔레트 코딩의 코딩 효율을 개선하기 위해서 상이한 종류의 팔레트 인덱스 예측 접근법이 활용될 수 있거나, 팔레트 인덱스가 진행길이 코딩될(run-length coded) 수 있어 더 큰 동질의(homogenous) 이미지 영역을 효율적으로 나타낼 수가 있다. 또한, CU가 CU 내에서 되풀이되고 있지 않은 샘플 값을 포함하는 경우에, 이스케이프 코딩(escape coding)이 활용될 수 있다. 이스케이프 코딩된(escape coded) 샘플은 팔레트 인덱스 중 어느 것도 참조하지 않고서 송신된다. 대신에 그것의 값은 각각의 이스케이프 코딩된 샘플에 대해 개별적으로 표시된다.
디코딩된 픽처 버퍼(Decoded Picture Buffer: DPB)가 인코더 내에서 그리고/또는 디코더 내에서 사용될 수 있다. 디코딩된 픽처를 버퍼링하는(buffer) 두 가지 이유가 있는데, 인터 예측에서의 참조를 위한 것이고 디코딩된 픽처들을 출력 순서(output order)로 재순서화하기 위한 것이다. H.264/AVC 및 HEVC가 참조 픽처 마킹(reference picture marking) 및 출력 재순서화(output reordering) 양자 모두를 위해 상당량의 유연성(flexibility)을 제공하므로, 참조 픽처 버퍼링 및 출력 픽처 버퍼링을 위한 별개의 버퍼들은 메모리 리소스를 낭비할 수 있다. 그러므로, DPB는 참조 픽처들과 출력 재순서화를 위한 단일화된 디코딩된 픽처 버퍼링 프로세스를 포함할 수 있다. 디코딩된 픽처는 그것이 참조로서 더 이상 사용되지 않고 출력을 위해 필요하지 않은 경우 DPB로부터 제거될 수 있다.
움직임 정보는 각각의 움직임 보상된 이미지 블록과 연관된 움직임 벡터로써 비디오 코덱 내에 표시될 수 있다. 이들 움직임 벡터 각각은 (인코더 측에서) 코딩되거나 (디코더 측에서) 디코딩될 픽처 내의 이미지 블록 및 이전에 코딩된 또는 디코딩된 픽처 중 하나 내의 예측 소스 블록(prediction source block)의 변위(displacement)를 나타낸다. 효율적으로 움직임 벡터를 나타내기 위해서, 그 벡터들은 블록별 예측된 움직임 벡터(block specific predicted motion vector)들에 대해서 차동적으로(differentially) 코딩될 수 있다. 비디오 코덱에서, 예측된 움직임 벡터는 사전정의된 방식으로, 가령 인접한 블록 또는 인코딩된 또는 디코딩된 움직임 벡터의 중간값(median)을 계산함으로써 생성될 수 있다. 움직임 벡터 예측을 생성하는 다른 방식은 시간적 참조 픽처 내의 코로케이팅된(co-located) 블록 및/또는 인접한 블록으로부터 후보 예측들의 리스트(list)를 생성하고, 선택된 후보를 움직임 벡터 예측으로서 시그널링하는 것이다. 움직임 벡터 값을 예측하는 것에 더하여, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 보통 시간적 참조 픽처 내의 인접 블록 및/또는 코로케이팅된 블록으로부터 예측된다. 더욱이, 고효율 비디오 코덱은 "병합하기/병합 모드"(merging/merge mode)로 불리는 추가 움직임 정보 코딩/디코딩 메커니즘을 이용할 수 있는데, 여기서 각각의 이용가능한 참조 픽처 리스트에 대해 움직임 벡터 및 대응하는 참조 픽처 인덱스를 포함하는 움직임 필드 정보(motion field information) 전부가, 어떤 수정/정정도 없이 예측되고 사용된다. 유사하게, 움직임 필드 정보를 예측하는 것은 시간적 참조 픽처 내의 인접한 블록 및/또는 코로케이팅된 블록 또는 움직임 필드 정보를 사용하여 수행되고 사용자 움직임 필드 정보는 이용가능한 인접한/코로케이팅된 블록의 움직임 필드 정보로써 채워진 움직임 필드 후보 리스트의 리스트 중에 시그널링된다.
인터 픽처 예측을 위해 움직임 보상을 적용하는 것에 더하여, 유사한 접근법이 인트라 픽처 예측에 적용될 수 있다. 이 경우에 변위 벡터는 코딩되거나 디코딩될 블록의 예측을 형성하기 위해 동일한 픽처로부터 샘플들의 블록이 복사될(copied) 수 있는 곳을 표시한다. 이 종류의 인트라 블록 복사 방법은 텍스트 또는 다른 그래픽과 같은 프레임 내의 구조들을 반복하는 것이 있는 데에서 실질적으로 코딩 효율을 개선할 수 있다.
비디오 코덱에서, 움직임 보상 후의 예측 잔차는 변환 커널(transform kernel)(가령, DCT)로써 우선 변환되고 이후에 코딩될 수 있다. 이러한 것의 이유는 잔치 간에 어떤 상관(correlation)이 여전히 존재할 수 있고 변환은 많은 경우에 이 상관을 감소시키고 더 효율적인 코딩을 제공하는 데 도움이 될 수 있다는 것이다.
비디오 인코더는 최적의 코딩 모드, 가령 원하는 매크로블록(macroblock) 모드 및 연관된 움직임 벡터를 찾아내기 위해 라그랑주 비용 함수(Lagrangian cost function)를 활용할 수 있다. 이 종류의 비용 함수는 손실 코딩(lossy coding) 방법으로 인한 (정확한 또는 추정된) 이미지 왜곡 및 이미지 영역 내의 픽셀 값들을 나타내는 데에 요구되는 정보의 (정확한 또는 추정된) 양을 함께 결부시키기(tie) 위해 가중 인자(weighting factor) λ를 사용한다:
Figure pct00001
여기서 C는 최소화될 라그랑주 비용(Lagrangian cost)이고, D는 모드 및 움직임 벡터가 고려된 이미지 왜곡(가령, 평균 제곱 오차(Mean Squared Error))이며, R은 (후보 움직임 벡터를 나타내기 위한 데이터의 양을 포함하여) 디코더에서 이미지 블록을 재구성하기 위해 요구되는 데이터를 나타내는 데에 필요한 비트(bit)의 개수이다.
스케일가능 비디오 코딩(scalable video coding)은 하나의 비트스트림이 상이한 비트율, 해상도 또는 프레임율(frame rate)로 콘텐트(content)의 여러 표현을 포함할 수 있는 코딩 구조를 나타낸다. 이들 경우에 수신기는 원하는 표현을 그것의 특성(가령 디스플레이 디바이스와 가장 잘 매칭되는(match) 해상도)에 따라서 추출할 수 있다. 대안적으로, 서버 또는 네트워크 요소는 수신기에 송신될 비트스트림의 부분을 가령 네트워크 특성 또는 수신기의 처리 능력에 따라서 추출할 수 있다. 스케일가능 비트스트림(scalable bitstream)은 최저 품질의 가용 비디오를 제공하는 "기반 계층"(base layer) 및 수신되어 더 낮은 계층과 함께 디코딩되는 경우 비디오 품질을 향상시키는 하나 이상의 향상 계층(enhancement layer)으로 이루어질 수 있다. 향상 계층을 위한 코딩 효율을 개선하기 위해서, 그 계층의 코딩된 표현은 더 낮은 계층에 의존할 수 있다. 가령 향상 계층의 움직임 및 모드 정보는 더 낮은 계층으로부터 예측될 수 있다. 유사하게 더 낮은 계층의 픽셀 데이터는 향상 계층을 위한 예측을 생성하는 데에 사용될 수 있다.
(신호 대 잡음(Signal-to-Noise) 또는 SNR로도 알려진) 품질 스케일가능성(quality scalability) 및/또는 공간 스케일가능성(spatial scalability)을 위한 스케일가능 비디오 코덱(scalable video code)이 다음과 같이 구현될 수 있다. 기반 계층을 위해, 종래의 비-스케일가능(non-scalable) 비디오 인코더 및 디코더가 사용된다. 기반 계층의 재구성된/디코딩된 픽처는 향상 계층을 위한 참조 픽처 버퍼 내에 포함된다. H.264/AVC, HEVC, 그리고 인터 예측을 위해 참조 픽처 리스트(들)를 사용하는 유사한 코덱에서, 기반 계층 디코딩된 픽처는 향상 계층의 디코딩된 참조 픽처와 유사하게 향상 계층 픽처의 코딩/디코딩을 위해 참조 픽처 리스트(들) 내로 삽입될 수 있다. 따라서, 인코더는 기반 계층 참조 픽처를 인터 예측 참조로서 선택하고 코딩된 비트스트림 내에 참조 픽처 인덱스로써 그것의 사용을 표시할 수 있다. 디코더는 기반 계층 픽처가 향상 계층을 위한 인터 예측 참조로서 사용됨을 비트스트림으로부터, 예컨대 참조 픽처 인덱스로부터 디코딩한다. 디코딩된 기반 계층 픽처가 향상 계층을 위한 예측 참조로서 사용되는 경우, 그것은 계층간 참조 픽처(inter-layer reference picture)로서 지칭된다.
품질 스케일가능성에 추가하여, 다른 스케일가능성 모드가 또 있다: 공간 스케일가능성, 비트깊이 스케일가능성(bit-depth scalability) 및 크로마 포맷 스케일가능성(chroma format scalability). 공간 스케일가능성에서 기반 계층 픽처는 향상 계층 픽처보다 더 높은 해상도로 코딩된다. 비트깊이 스케일가능성에서 기반 계층 픽처는 향상 계층 픽처(가령 10 또는 12 비트)보다 더 낮은 비트깊이(가령 8비트)로 코딩된다. 크로마 포맷 스케일가능성에서 기반 계층 픽처는 향상 계층 픽처(가령 4:2:0 포맷)보다 크로마에서의 더 높은 충실도(가령 4:4:4 크로마 포맷으로 코딩됨)를 제공한다.
위의 스케일가능성 사례들에서, 기반 계층 정보는 추가적인 비트율 오버헤드(bitrate overhead)를 최소화하기 위해 향상 계층을 코딩하는 데에 사용될 수 있다.
스케일가능성은 두 방식으로 가능화될(enabled) 수 있다. 스케일가능 표현의 더 낮은 계층으로부터 픽셀 값 또는 구문(syntax)의 예측을 수행하기 위해 새로운 코딩 모드를 도입하는 것에 의하거나 아니면 더 높은 계층의 참조 픽처 버퍼(디코딩된 픽처 버퍼, DPB)에 더 낮은 계층 픽처를 두는 것에 의한다. 첫 번째 접근법은 더욱 유연하며 따라서 대부분의 경우에 더 나은 코딩 효율을 제공할 수 있다. 그러나, 두 번째인, 참조 프레임 기반 스케일가능성 접근법은 단일 계층 코덱에 대한 최소한의 변경으로써 매우 효율적으로 구현될 수 있으면서 여전히 가용 코딩 효율 이득의 대부분을 달성한다. 근본적으로 참조 프레임 기반 스케일가능성 코덱은, DPB 관리를 외부 수단에 의해 처리할 뿐, 모든 계층을 위해 동일한 하드웨어 또는 소프트웨어 구현을 활용함으로써 구현될 수 있다.
팔레트 인덱스의 이스케이프 코딩은 활성(active) 팔레트 내에 양호한 표현을 가지지 않는 팔레트 코딩된(palette coded) 코딩 유닛 내 어떤 샘플을 위한 값을 표시하는 프로세스를 나타낸다. 팔레트 코딩 유닛 내 이스케이프 코딩된 샘플을 표시하기 위한 두 개의 기본적인 접근법이 있다. 이 접근법들 중 하나는 팔레트 코딩 유닛 내 특정한 샘플이 이스케이프 코딩된 것인지 또는 샘플 값을 나타내는 데에 사용될 수 있는 팔레트 내의 표상 인덱스(representative index)가 있는지를 하나의 빈(bin)에 의해 표시한다. 다른 접근법에서, 이스케이프 코딩 정보는 팔레트 인덱스 구문 요소(palette index syntax element) 내에 임베딩된다(embedded). 이 접근법에서, 팔레트 크기는 팔레트 내의 항목들 중 하나가 이스케이프 모드 지시자(escape mode indicator)로서 사용됨에 따라 하나의 항목만큼 증가된다.
이하에서 몇몇 예가 제공될 것이다. 실시예에 따라, 이스케이프 사용이 적용가능한 때 및 샘플들의 세트가 이스케이프 코딩의 필요 없이 디코딩될 수 있는 때를 식별하는 지시자가 비트스트림에 삽입된다. 이것은 팔레트 코딩을 활용하여 코딩 유닛 내에 이스케이프 코딩 정보를 나타내는 것의 유효성을 증가시키는 효과를 가진다.
일 실시예에 따라, 팔레트 모드에서 압축된 코딩 유닛(Coding Unit: CU)이 다음과 같이 디코딩된다:
먼저, 이스케이프 코딩의 존재에 대한 표시(indication)가 코딩 유닛 내에서 디코딩된다. 그러면, 상기 표시에 기반하여, 이스케이프 코딩된 픽셀 값을 표시하는 플래그(flag)가 디코딩될 것인지 결정된다. 만약 이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것이고 상기 플래그가 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보가 디코딩된다. 디코딩된 샘플 값은 이후 상기 코딩 유닛 내 샘플을 위해 할당된다(assigned).
이것은 도 6 및 아래의 의사코드(pseudo-code)에 예시된, 일 실시예에 따른 방법에 의해 구현될 수 있다. 행의 끝에 있는 숫자는 도 6에 대한 참조 번호이다.
Figure pct00002
대안적인 구현이 도 7에 예시된다. 이 구현에서, 구문 요소 esc_left로써 코딩 유닛의 마지막 이스케이프 코딩된 샘플을 식별하기 위해 또한 샘플 레벨 지시자가 사용된다. 이 실시예를 위한 의사코드가 아래에 주어진다. 행의 끝에 있는 숫자는 도 7에 대한 참조 번호이다.
Figure pct00003
실시예들을 구현하기 위한 대안들이 있다.
예컨대, 그 표시는 CU 내의 샘플들의 서브세트에 적용될 수 있다. 예컨대, 각각의 코딩된 샘플을 위한 표시가 있을 수 있는데 그 샘플이 CU 내의 마지막 이스케이프 코딩된 샘플인지를 식별하는 것이다.
다른 예로서, 그 표시는 더 높은 레벨의 표시(higher level indication) 및 샘플 레벨 표시(sample level indication)의 조합일 수 있다. 예컨대, CU에 대해, 임의의 이스케이프 코딩된 샘플이 있는지가 표시될 수 있고, 만약 그렇다면, 적어도 하나의 각각의 이스케이프 코딩된 샘플에 대해, 그것이 CU 내의 마지막 이스케이프 코딩된 샘플인지가 또한 표시될 수 있다. 일 실시예에 따라, 각각의 이스케이프 코딩된 샘플에 대해, 그것이 CU 내의 마지막 이스케이프 코딩된 샘플인지가 표시될 수 있다.
다른 예로서, 그 표시는 상이한 계층들에서 일어날 수 있다. 예컨대, 그것은 시퀀스 파라미터 세트(sequence parameter set), 픽처 파라미터 세트(picture parameter set), 슬라이스 헤더(slice header), 코딩 트리 단위 레벨(coding tree unit level), 코딩 유닛 레벨(coding unit level), 예측 단위 레벨(prediction unit level) 또는 변환 단위 레벨(transform unit level) 상에 포함될 수 있다.
추가의 예로서, 이스케이프 정보(escape information)는 상이한 방식으로 표시될 수 있다. 예컨대, 팔레트 내에 어떤 인덱스를 표시함으로써 이스케이프 코딩된 샘플이 식별될 수 있다. 이 경우에 팔레트 크기는 이스케이프 코딩이 적용되지 않은 샘플들의 세트의 표시를 수신한 후 1만큼 감소될 수 있다(그리고 후속 팔레트 인덱스들을 표시하는 경우 비트들을 세이브).
비-이스케이프 코딩된(non-escape coded) 샘플은 상이한 방식으로 코딩될 수 있다. 예컨대, 하나의 CU 내의 샘플들은 사전결정된 방식으로 스캐닝될(scanned) 수 있고 이하의 코딩 모드들 중 하나가 특정한 샘플에 적용되는지가 시그널링될 수 있다:
o 위에서 복사 모드(copy from above mode): 샘플 값이 샘플 바로 위의 샘플의 값과 같도록 설정된다. 추가로, 유사한 방식으로 얼마나 많은 결과적인 샘플(consequent sample)이 예측되는지가 시그널링될 수 있다;
o 진행길이 모드(run-length mode): 샘플 값이 다수의 결과적인 샘플을 위한 팔레트 인덱스로서 시그널링되는 값과 같도록 설정된다.
실시예들은 이점들을 제공한다. 예컨대, 팔레트 기반 이미지/비디오 코딩의 코딩 효율은 인코딩 또는 디코딩 복잡도에 대해 사실상 어떤 영향도 없이 개선된다.
발명의 다양한 실시예는, 메모리 내에 상주하고(reside) 관련 장치, 예를 들어 인코더 또는 디코더로 하여금 발명을 수행하게 하는 컴퓨터 프로그램 코드의 도움으로 구현될 수 있다. 예컨대, 디바이스는 메모리 내의 컴퓨터 프로그램 코드, 데이터를 취급하고 수신하며 송신하기 위한 회로와 전자기기, 그리고 컴퓨터 프로그램 코드를 구동하는 경우 그 디바이스로 하여금 일 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다. 또 나아가, 서버와 같은 네트워크 디바이스는 메모리 내의 컴퓨터 프로그램 코드, 데이터를 취급하고 수신하며 송신하기 위한 회로와 전자기기, 그리고 컴퓨터 프로그램 코드를 구동하는 경우 그 네트워크 디바이스로 하여금 일 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다.
다양한 실시예는, 컴퓨터에 의해 실행되는 경우 다양한 실시예를 수행하는 명령어로써 인코딩된 비일시적 컴퓨터 판독가능 매체(non-transitory computer-readable medium)의 도움으로 구현될 수 있다.
만약 원하는 경우, 본 문서에서 논의된 상이한 기능들은 서로 동시에 그리고/또는 상이한 순서로 수행될 수 있다. 나아가, 만약 원하는 경우, 전술된 기능들 중 하나 이상은 선택적일 수 있거나 조합될 수 있다. 나아가, 본 실시예들은 디코딩을 위한 방법에 그리고 디코더에 관해 개시된다. 그러나, 본 개시의 교시는 코딩 유닛의 인코딩 및 코딩 유닛 내 이스케이프 코딩의 존재 표시를 코딩하는 것을 수행하도록 구성된 인코더 내에 적용될 수 있다.
발명의 다양한 양상이 독립 청구항 내에 표명되나, 발명의 다른 양상은 기술된 실시예 및/또는 종속 청구항으로부터의 특징과 독립항의 특징과의 다른 조합을 포함하며, 오로지 청구항 내에 명시적으로 표명된 조합만은 아니다.
이상은 발명의 예시적 실시예들을 기술하나, 이 설명들은 한정적인 의미로 보아서는 안 된다는 점에 또한 본 문서에서 유의한다. 오히려, 부기된 청구항 내에 정의된 바와 같은 본 발명의 범주로부터 벗어나지 않고서 행해질 수 있는 몇 개의 변형 및 수정이 있다.
제1 예에 따라, 방법이 제공되는데, 위 방법은:
팔레트 모드로 코딩된 코딩 유닛을 디코딩하는 단계를 포함하되, 위 단계는
위 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과,
이스케이프 코딩된 샘플 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 것(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 상기 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보를 디코딩하는 것과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 포함한다.
일 실시예에 따라, 위 방법은 코딩 유닛 내 이스케이프 코딩의 존재의 위 표시를 위 코딩 유닛 내 모든 샘플에 적용하는 단계를 포함한다.
일 실시예에 따라, 위 방법은 코딩 유닛 내 이스케이프 코딩의 존재의 위 표시를 위 코딩 유닛 내 샘플의 서브세트에 적용하는 단계를 포함한다.
일 실시예에 따라, 위 표시는 더 높은 레벨의 표시 및 샘플 레벨 표시의 조합이다.
일 실시예에 따라, 위 방법은 코딩 유닛에 대해, 이스케이프 코딩된 샘플이 있는지를 표시하는 단계를 더 포함하고, 만약 그렇다면, 위 방법은 적어도 하나의 이스케이프 코딩된 샘플에 대해, 해당 샘플이 위 코딩 유닛 내 마지막 이스케이프 코딩된 샘플인지를 표시하는 단계를 포함한다.
일 실시예에 따라, 위 방법은 시퀀스 파라미터 세트, 픽처 파라미터 세트, 슬라이스 헤더, 코딩 트리 단위 레벨, 예측 단위 레벨, 변환 단위 레벨이라는 계층들 중 적어도 하나 내에 위 표시를 포함시키는 단계를 더 포함한다.
일 실시예에 따라, 위 방법은 이스케이프 코딩된 샘플을 식별하기 위해 팔레트 내에 특정 인덱스를 표시함으로써 이스케이프 정보를 표시하는 단계를 더 포함한다.
제2 예에 따라, 적어도 하나의 프로세서; 그리고 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되는데 위 적어도 하나의 메모리 및 위 컴퓨터 프로그램 코드는, 위 적어도 하나의 프로세서로써, 위 장치로 하여금 적어도: 팔레트 코딩으로 코딩된 코딩 유닛을 디코딩하는 것을 수행하게 하도록 구성되되, 위 디코딩하는 것은
위 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 것(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 상기 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보를 디코딩하는 것과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 포함한다.
일 실시예에 따라, 위 장치는 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 위 코딩 유닛 내 모든 샘플에 적용하도록 구성된다.
일 실시예에 따라, 위 장치는 코딩 유닛 내 이스케이프 코딩의 존재의 위 표시를 위 코딩 유닛 내 샘플의 서브세트에 적용하도록 구성된다.
일 실시예에 따라, 위 표시는 더 높은 레벨의 표시 및 샘플 레벨 표시의 조합이다.
일 실시예에 따라, 위 장치는 코딩 유닛에 대해, 이스케이프 코딩된 샘플이 있는지를 표시하도록 구성되고, 만약 그렇다면, 위 장치는 적어도 하나의 이스케이프 코딩된 샘플에 대해, 해당 샘플이 위 코딩 유닛 내 마지막 이스케이프 코딩된 샘플인지를 표시하도록 구성된다.
일 실시예에 따라, 위 장치는 시퀀스 파라미터 세트, 픽처 파라미터 세트, 슬라이스 헤더, 코딩 트리 단위 레벨, 예측 단위 레벨, 변환 단위 레벨이라는 계층들 중 적어도 하나 내에 위 표시를 포함시키도록 구성된다.
일 실시예에 따라, 위 장치는 이스케이프 코딩된 샘플을 식별하기 위해 팔레트 내에 특정 인덱스를 표시함으로써 이스케이프 정보를 표시하도록 구성된다.
제3 예에 따라, 장치가 제공되는데, 위 장치는
처리 수단과,
코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 수단과,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 수단(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 위 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보를 디코딩하도록 구성되는 수단과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 수단을 포함한다.
제4 예에 따라, 컴퓨터와의 사용을 위해 내부에 구현된 컴퓨터 프로그램 코드를 보유한 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품이 제공되는데, 위 컴퓨터 프로그램 코드는:
코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 코드와,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 코드(그 결정은 상기 표시에 기반함)와,
만약 위 플래그가 디코딩될 것인 경우, 위 플래그의 값을 디코딩하는 코드와, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우 샘플 값 정보를 디코딩하는 코드와,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 코드를 포함한다.
제5 예에 따라, 명령어로써 인코딩된 비일시적 컴퓨터 판독가능 매체가 제공되는데, 위 명령어는, 컴퓨터에 의해 실행되는 경우,
코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과,
이스케이프 코딩된 픽셀 값을 표시하는 플래그가 디코딩될 것인지를 결정하는 것(그 결정은 상기 표시에 기반함)과,
만약 위 플래그가 디코딩될 것인 경우, 상기 플래그의 값을 디코딩하고, 만약 상기 플래그의 위 값이 이스케이프 코딩된 샘플을 표시하는 경우, 샘플 값 정보를 디코딩하는 것과,
디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 수행한다.

Claims (20)

  1. 팔레트 모드(palette mode)로 코딩된 코딩 유닛(coding unit)을 디코딩하는 단계를 포함하되,
    상기 단계는,
    상기 코딩 유닛 내 이스케이프 코딩(escape coding)의 존재의 표시(indication)를 디코딩하는 것과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 것과,
    어느 팔레트 인덱스(palette index)가 샘플(sample)을 위한 이스케이프 코딩을 표시하는지를 결정하는 것과,
    디코딩된 팔레트 인덱스를, 이스케이프 코딩을 표시하는 상기 팔레트 인덱스와 비교하고, 상기 인덱스들이 매칭되는(match) 경우에, 샘플 값 정보를 디코딩하는 것과,
    디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 포함하는
    방법.
  2. 제1항에 있어서,
    코딩 유닛 내 이스케이프 코딩의 존재의 상기 표시를 상기 코딩 유닛 내 모든 샘플에 또는 샘플의 서브세트(subset of samples)에 적용하는 단계를 더 포함하는
    방법.
  3. 제1항에 있어서,
    상기 표시는 더 높은 레벨의 표시(higher level indication) 및 샘플 레벨 표시(sample level indication)의 조합인
    방법.
  4. 제1항에 있어서,
    코딩 유닛에 대해, 이스케이프 코딩된 샘플이 있는지를 표시하는 단계를 더 포함하고, 만약 그렇다면, 상기 방법은 적어도 하나의 이스케이프 코딩된 샘플에 대해, 해당 샘플이 상기 코딩 유닛 내 마지막 이스케이프 코딩된 샘플인지를 표시하는 단계를 포함하는
    방법.
  5. 제1항에 있어서,
    시퀀스 파라미터 세트(sequence parameter set), 픽처 파라미터 세트(picture parameter set), 슬라이스 헤더(slice header), 코딩 트리 단위 레벨(coding tree unit level), 예측 단위 레벨(prediction unit level), 변환 단위 레벨(transform unit level)이라는 계층들 중 적어도 하나 내에 상기 표시를 포함시키는 단계를 더 포함하는
    방법.
  6. 제1항에 있어서,
    특정 샘플이 이스케이프 코딩된 샘플임을 표시하도록 비트스트림(bitstream) 내의 이진 구문 요소(binary syntax element)에 의해 이스케이프 정보를 표시하는 단계를 더 포함하는
    방법.
  7. 팔레트 모드로 코딩 유닛을 인코딩하는 단계를 포함하되,
    상기 단계는,
    코딩 유닛 내 적어도 하나의 샘플이 이스케이프 코딩될 것인지를 결정하는 것과,
    상기 코딩 유닛 내 이스케이프 코딩의 존재를 표시하는 플래그(flag)를 인코딩하는 것과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 것과,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 것과,
    샘플을 위한 이스케이프 코딩을 표시하는 상기 팔레트 인덱스의 값을 인코딩함으로써 상기 코딩 유닛 내 적어도 하나의 샘플을 위한 이스케이프 코딩을 표시하는 것을 포함하는
    방법.
  8. 장치로서,
    적어도 하나의 프로세서와,
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하되,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 적어도, 팔레트 코딩으로 코딩된 코딩 유닛을 디코딩하는 것을 수행하게 하도록 구성되되,
    상기 디코딩하는 것은,
    상기 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 것과,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 것과,
    디코딩된 팔레트 인덱스를, 이스케이프 코딩을 표시하는 상기 팔레트 인덱스와 비교하고, 상기 인덱스들이 매칭되는 경우에, 샘플 값 정보를 디코딩하는 것과,
    디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 포함하는
    장치.
  9. 제8항에 있어서,
    상기 장치로 하여금 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 상기 코딩 유닛 내 모든 샘플에 또는 샘플의 서브세트에 적용하게 하는 컴퓨터 프로그램 코드를 더 포함하는
    장치.
  10. 제8항에 있어서,
    상기 표시는 더 높은 레벨의 표시 및 샘플 레벨 표시의 조합인
    장치.
  11. 제8항에 있어서,
    상기 장치로 하여금 코딩 유닛에 대해, 이스케이프 코딩된 샘플이 있는지를 표시하게 하는 컴퓨터 프로그램 코드를 더 포함하고, 만약 그렇다면, 상기 장치는 적어도 하나의 이스케이프 코딩된 샘플에 대해, 해당 샘플이 상기 코딩 유닛 내 마지막 이스케이프 코딩된 샘플인지를 표시하도록 구성된
    장치.
  12. 제8항에 있어서,
    상기 장치로 하여금 시퀀스 파라미터 세트, 픽처 파라미터 세트, 슬라이스 헤더, 코딩 트리 단위 레벨, 예측 단위 레벨, 변환 단위 레벨이라는 계층들 중 적어도 하나 내에 상기 표시를 포함시키게 하는 컴퓨터 프로그램 코드를 더 포함하는
    장치.
  13. 제8항에 있어서,
    상기 장치로 하여금 특정 샘플이 이스케이프 코딩된 샘플임을 표시하는 비트스트림 내의 이진 구문 요소에 의해 이스케이프 정보를 표시하게 하는 컴퓨터 프로그램 코드를 더 포함하는
    장치.
  14. 장치로서,
    적어도 하나의 프로세서와,
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하되,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 적어도, 팔레트 코딩으로 코딩 유닛을 인코딩하는 것을 수행하게 하도록 구성되되,
    상기 인코딩하는 것은,
    코딩 유닛 내 적어도 하나의 샘플이 이스케이프 코딩될 것인지를 결정하는 것과,
    상기 코딩 유닛 내 이스케이프 코딩의 존재를 표시하는 플래그를 인코딩하는 것과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 것과,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 것과,
    샘플을 위한 이스케이프 코딩을 표시하는 상기 팔레트 인덱스의 값을 인코딩함으로써 상기 코딩 유닛 내 적어도 하나의 샘플을 위한 이스케이프 코딩을 표시하는 것을 포함하는
    장치.
  15. 장치로서, 적어도,
    처리 수단 및 메모리 수단과,
    팔레트 코딩으로 코딩된 코딩 유닛을 디코딩하는 수단과,
    상기 코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 수단과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 수단과,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 수단과,
    디코딩된 팔레트 인덱스를, 이스케이프 코딩을 표시하는 상기 팔레트 인덱스와 비교하고, 상기 인덱스들이 매칭되는 경우에, 샘플 값 정보를 디코딩하는 수단과,
    디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 수단을 포함하는
    장치.

  16. 장치로서,
    처리 수단 및 메모리 수단과,
    팔레트 코딩으로 코딩 유닛을 인코딩하는 수단과,
    코딩 유닛 내 적어도 하나의 샘플이 이스케이프 코딩될 것인지를 결정하는 수단과,
    상기 코딩 유닛 내 이스케이프 코딩의 존재를 표시하는 플래그를 인코딩하는 수단과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 수단과,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 수단과,
    샘플을 위한 이스케이프 코딩을 표시하는 상기 팔레트 인덱스의 값을 인코딩함으로써 상기 코딩 유닛 내 적어도 하나의 샘플을 위한 이스케이프 코딩을 표시하는 수단을 포함하는
    장치.
  17. 컴퓨터에 의해 실행되는 경우,
    코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 것과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 것과,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 것과,
    디코딩된 팔레트 인덱스를, 이스케이프 코딩을 표시하는 상기 팔레트 인덱스와 비교하고, 상기 인덱스들이 매칭되는 경우에, 샘플 값 정보를 디코딩하는 것과,
    디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 것을 수행하는 명령어가 인코딩된
    비일시적 컴퓨터 판독가능 저장 매체.
  18. 컴퓨터에 의해 실행되는 경우,
    코딩 유닛 내 적어도 하나의 샘플이 이스케이프 코딩될 것인지를 결정하는 것과,
    상기 코딩 유닛 내 이스케이프 코딩의 존재를 표시하는 플래그를 인코딩하는 것과,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 것과,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 것과,
    샘플을 위한 이스케이프 코딩을 표시하는 상기 팔레트 인덱스의 값을 인코딩함으로써 상기 코딩 유닛 내 적어도 하나의 샘플을 위한 이스케이프 코딩을 표시하는 것을 수행하는 명령어가 인코딩된
    비일시적 컴퓨터 판독가능 저장 매체.
  19. 컴퓨터와의 사용을 위해 내부에 구현된(embodied) 컴퓨터 프로그램 코드를 보유한(bearing) 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 코드는
    코딩 유닛 내 이스케이프 코딩의 존재의 표시를 디코딩하는 코드와,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 코드와,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 코드와,
    디코딩된 팔레트 인덱스를, 이스케이프 코딩을 표시하는 상기 팔레트 인덱스와 비교하고, 상기 인덱스들이 매칭되는 경우에, 샘플 값 정보를 디코딩하는 코드와,
    디코딩된 샘플 값을 상기 코딩 유닛 내 샘플을 위해 할당하는 코드를 포함하는
    컴퓨터 프로그램 제품.
  20. 컴퓨터와의 사용을 위해 내부에 구현된 컴퓨터 프로그램 코드를 보유한 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 코드는
    코딩 유닛 내 적어도 하나의 샘플이 이스케이프 코딩될 것인지를 결정하는 코드와,
    상기 코딩 유닛 내 이스케이프 코딩의 존재를 표시하는 플래그를 인코딩하는 코드와,
    이스케이프 코딩의 존재의 상기 표시에 기반하여 팔레트의 크기를 결정하는 코드와,
    어느 팔레트 인덱스가 샘플을 위한 이스케이프 코딩을 표시하는지를 결정하는 코드와,
    샘플을 위한 이스케이프 코딩을 표시하는 상기 팔레트 인덱스의 값을 인코딩함으로써 상기 코딩 유닛 내 적어도 하나의 샘플을 위한 이스케이프 코딩을 표시하는 코드를 포함하는
    컴퓨터 프로그램 제품.
KR1020167034523A 2014-05-09 2015-05-04 팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비 KR20170002611A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461991442P 2014-05-09 2014-05-09
US61/991,442 2014-05-09
PCT/IB2015/053252 WO2015170243A1 (en) 2014-05-09 2015-05-04 Method and technical equipment for video encoding and decoding using palette coding

Publications (1)

Publication Number Publication Date
KR20170002611A true KR20170002611A (ko) 2017-01-06

Family

ID=54368967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034523A KR20170002611A (ko) 2014-05-09 2015-05-04 팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비

Country Status (9)

Country Link
US (1) US20150326864A1 (ko)
EP (1) EP3140987A4 (ko)
JP (1) JP6272630B2 (ko)
KR (1) KR20170002611A (ko)
CN (1) CN106471805A (ko)
CA (1) CA2948105A1 (ko)
PH (1) PH12016502216A1 (ko)
RU (1) RU2016145610A (ko)
WO (1) WO2015170243A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2925183C (en) 2013-10-14 2020-03-10 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US10264285B2 (en) 2014-05-22 2019-04-16 Qualcomm Incorporated Coding runs in palette-based video coding
US10750198B2 (en) 2014-05-22 2020-08-18 Qualcomm Incorporated Maximum palette parameters in palette-based video coding
US10038915B2 (en) * 2014-05-22 2018-07-31 Qualcomm Incorporated Escape sample coding in palette-based video coding
WO2015176685A1 (en) * 2014-05-23 2015-11-26 Mediatek Inc. Methods for palette size signaling and conditional palette escape flag signaling
EP3917146A1 (en) 2014-09-30 2021-12-01 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10057587B2 (en) * 2015-01-31 2018-08-21 Qualcomm Incorporated Coding escape pixels for palette mode coding
US10659783B2 (en) * 2015-06-09 2020-05-19 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US10356432B2 (en) 2015-09-14 2019-07-16 Qualcomm Incorporated Palette predictor initialization and merge for video coding
US20190089759A1 (en) * 2017-09-18 2019-03-21 Novatek Microelectronics Corp. Video encoding circuit and wireless video transmission apparatus and method
CN111630571A (zh) * 2018-01-19 2020-09-04 交互数字Vc控股公司 处理点云
CN115023952A (zh) * 2019-11-01 2022-09-06 北京达佳互联信息技术有限公司 残差和系数编解码的方法和装置
KR20230154113A (ko) * 2020-01-11 2023-11-07 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 팔레트 모드를 이용한 비디오 코딩 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6037982A (en) * 1996-03-28 2000-03-14 Intel Corporation Multi-pass video compression
US5930390A (en) * 1996-03-28 1999-07-27 Intel Corporation Encoding/decoding signals using a remap table
CN1251492C (zh) * 2002-04-19 2006-04-12 精工爱普生株式会社 利用基数近似或利用差分码和转义码的帧压缩
KR101117871B1 (ko) * 2004-04-30 2012-04-13 마이크로소프트 코포레이션 비디오 제공 네트워크 관리 방법
RU2679566C1 (ru) * 2013-12-10 2019-02-11 Кэнон Кабусики Кайся Улучшенный палитровый режим в hevc
US10362333B2 (en) * 2014-01-02 2019-07-23 Qualcomm Incorporated Color index coding for palette-based video coding
PL3117617T3 (pl) * 2014-03-14 2022-08-22 Vid Scale, Inc. Kodowanie palety przeznaczone do kodowania zawartości ekranu

Also Published As

Publication number Publication date
CA2948105A1 (en) 2015-11-12
CN106471805A (zh) 2017-03-01
EP3140987A4 (en) 2017-12-06
WO2015170243A1 (en) 2015-11-12
PH12016502216A1 (en) 2017-02-06
RU2016145610A3 (ko) 2018-06-09
US20150326864A1 (en) 2015-11-12
JP2017520961A (ja) 2017-07-27
JP6272630B2 (ja) 2018-01-31
EP3140987A1 (en) 2017-03-15
RU2016145610A (ru) 2018-06-09

Similar Documents

Publication Publication Date Title
KR101854066B1 (ko) 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비
JP6272630B2 (ja) ビデオ符号化及び復号の方法及び技術装置
US11570467B2 (en) Method for coding and an apparatus
US20150312568A1 (en) Method and technical equipment for video encoding and decoding
US20160227211A1 (en) Method and device for encoding or decoding an image comprising encoding of decoding information representing prediction modes
US20240187594A1 (en) Method And An Apparatus for Encoding and Decoding of Digital Image/Video Material
KR20130070644A (ko) 비디오 코딩 방법, 장치 및 컴퓨터 프로그램
US10349052B2 (en) Method for coding and an apparatus
WO2016051362A1 (en) Method and equipment for encoding and decoding an intra block copy vector
WO2017093604A1 (en) A method, an apparatus and a computer program product for encoding and decoding video
WO2018229327A1 (en) A method and an apparatus and a computer program product for video encoding and decoding
WO2017178696A1 (en) An apparatus and a computer program product for video encoding and decoding, and a method for the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application