KR101649284B1 - 압축 화상 시퀀스를 위해 병렬 프로세싱 가능성을 나타내는 고정 타일 구조 플래그 - Google Patents

압축 화상 시퀀스를 위해 병렬 프로세싱 가능성을 나타내는 고정 타일 구조 플래그 Download PDF

Info

Publication number
KR101649284B1
KR101649284B1 KR1020147028621A KR20147028621A KR101649284B1 KR 101649284 B1 KR101649284 B1 KR 101649284B1 KR 1020147028621 A KR1020147028621 A KR 1020147028621A KR 20147028621 A KR20147028621 A KR 20147028621A KR 101649284 B1 KR101649284 B1 KR 101649284B1
Authority
KR
South Korea
Prior art keywords
sequence
tile structure
tile
video stream
encoder
Prior art date
Application number
KR1020147028621A
Other languages
English (en)
Other versions
KR20150042145A (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 KR20150042145A publication Critical patent/KR20150042145A/ko
Application granted granted Critical
Publication of KR101649284B1 publication Critical patent/KR101649284B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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
    • 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

Landscapes

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

Abstract

본 발명의 일 구체예에 따른 방법은 시퀀스를 위하여 타일 정보가 동일한 지를 나타내는데 사용되는 구문 엘리먼트에 관한 것이다. 일반적으로, 상기 시퀀스는 비트스트림을 위한 하나의 유효한 SPS이다. 상기 구문 엘리먼트는 SPS의 일부분일 수 있거나, VUI에서 또는 SEI 메시지에서 시그널링 될 수 있다. 또한, 상기 구문 엘리먼트는 플래그일 수 있는데, 예를 들어 ‘tiles_fixed_structure_flag’일 수 있다.
상기 인코더는 인코딩과 디코딩을 동시에 가능케 하는 타일 구조에 의해 어떻게 화상을 분할할지를 결정한다. 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우, 상기 비디오 스트림 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보가 본 발명에 따른 디코더에 발송된다.

Description

압축 화상 시퀀스를 위해 병렬 프로세싱 가능성을 나타내는 고정 타일 구조 플래그{FIXED TILE STRUCTURE FLAG INDICATING PARALLEL PROCESSING POSSIBILITY FOR A SEQUENCE OF COMPRESSED VIDEO}
본 발명은 인코더(encoder), 엘리먼트(element), 수신기(receiver), 송신기(transmitter), 장치(device), 컴퓨터 프로그램 산물(computer program products) 및 컴퓨터 프로그램(computer programs) 등에 관한 장치와 이들의 비디오 처리를 위한 방법에 관한 것이다. 특히, 본 발명은 병렬 디코딩(parallel decoding)을 가능하게 하는 솔루션에 관한 것이다.
HEVC(High Efficiency Video Coding)는 JCT-VC(Joint Collaborative Team - Video Coding)에서 개발된 비디오 코딩 표준이다. JCT-VC란 MPEG(Moving Picture Experts Group)와 ITU-T(International Telecommunication Union - Telecommunication Strandardization Sector) 간의 합동 프로젝트이다. 현재, HM(HEVC Model)은 다수의 툴을 포함하도록 정의되어 있고, H.264/AVC(Advanced Video Coding) 보다 훨씬 효율적이다.
HEVC 및 H.264 모두는 CABAC(context adaptive binary arithmetic coder)를 사용하지만, HEVC는 16x16 픽셀인 H.264의 매크로블록 대신에 64x64 크기까지의 트리블록(treeblocks)을 사용한다. 즉, HEVC에서, 화상은 64x64 픽셀까지의 크기를 갖는 트리블록으로 분할된다.
HEVC 및 H.264 모두 VUI(video usability information) 구문 구조(syntax structure)를 정의하고, 상기 구문 구조는 시퀀스 파라미터 세트(sequence parameter set)로 표현될 수 있고 디코딩 프로세스에 영향을 주지 않는 파라미터들을 포함한다. 즉, 픽셀 값에 영향을 주지 않는다. SEI(Supplemental Enhancement Information)는 어느 액세스 유닛에서도 존재할 수 있는 또 다른 구조인데, 디코딩 프로세스에 영향을 두지 않는 정보를 포함한다.
H.264/AVC와 비교할 때, HEVC는 좀 더 나은 병렬화(parallelization)의 가능성을 제공한다. 병렬화는 단일 화상의 인코딩과 디코딩이 동시에 이뤄지는 것을 말한다. 특히 타일(tiles) 및 WPP(Wavefront Parallel Process)는 병렬화를 목적으로 개발된 툴(tool)이다. 양자 모두는 본래 인코더 병렬화를 위해 설계되었던 것이지만, 디코더 병렬화를 위해서도 사용될 수 있다.
화상 프레임(이하 ‘프레임’)은 HEVC 표준안에서 복수의 타일로 분할될 수 있는데, 상기 복수의 타일은 동일 개수의 스레드로 하여금 프레임을 동시에 인코딩/디코딩할 수 있게 한다. 그 일례를 제1도에 도시하였는데, 제1도를 보면 프레임이 6개의 타일로 분할되고 그로 인해 6개의 스레드가 프레임을 동시에 인코딩/디코딩 하는 것을 볼 수 있다.
따라서, 이러한 경우 복수의 스레드가 사용될 수 있는데, 이는 인코딩/디코딩 프로세스의 실제 업무량이 개별적인 ‘프로세스들(processes)’로 분할될 수 있고, 상기 ‘프로세스들’ 각각이 독립적으로 수행될 수 있는 즉, 개별 스레드에서 동시에 수행될 수 있음을 의미한다.
HEVC 내 타일은 정의된 너비와 높이(width and height)를 구비한 영역(area)으로 화상을 분할한다. 각 영역은 래스터 스캔 순서(raster scan order)에서 처리되는 정수개의 트리블록으로 구성된다. 상기 타일들 스스로는 화상 전체에 걸쳐서 래스터 스캔 순서 내에서 처리된다. 정확한 타일 구성(tile configuration)이나 타일 정보(tile info)(타일의 수, 각 타일의 높이와 너비 등)는 SPS(sequence parameter set) 및 PPS(picture parameter set)에서 시그널링 될 수 있다. 타일 정보는 화상 내에서 각 타일의 너비, 높이 및 위치를 포함한다(하기 구문 테이블을 참고). 이는 블록의 좌표가 알려져 있는 경우 그 블록이 어느 타일에 속하는지를 알 수 있다는 것을 의미한다. 타일 정보가 PPS 및 SPS 모두에서 나타난다면 PPS로부터의 정보가 사용될 수 있다.
[표 1] - 타일 정보 구문 표(tile info syntax table)
Figure 112014097052811-pct00001

단일 비트로 구성된 코드 워드(codeword) 또는 구문 엘리먼트(syntax element)는 플래그(flag)로 언급된다.
HEVC는 병렬 디코딩을 위해 2개 유형의 엔트리 포인트(entry points)를 정의한다. 상기 엔트리 포인트는, 타일 또는 서브 스트림(substream)을 위한 비트(bits)가 시작되는 비트스트림(bitstream)에서 위치(position)를 찾기 위하여 디코더에 의해 사용될 수 있다. 제1 유형은 엔트리 포인트 오프셋(entry points offset)이다. 상기 엔트리 포인트 오프셋은 슬라이스 헤더(slice header)에서 나열(list)되고, 상기 슬라이스에 포함된 하나 이상의 타일 출발점(starting points)을 지시한다. 제2 유형은 상기 비트스트림에서 타일들을 분리시키는 엔트리 포인트 마커(entry point marker)이다. 상기 엔트리 포인트 마커는 특정 코드 워드(출발 코드)로서, 상기 비트스트림 내 어디에도 발생할 수 없다.
타일들은 인코더 병렬화(encoder parallelism)를 위해 사용될 수 있다. 이 경우, 우선 상기 인코더는 타일 분할(tile partitioning)을 선택한다. 타일 경계(tile boundaries)는 타일들 사이의 모든 예측(predictions)을 깨기 때문에, 상기 인코더는 다중 타일들의 인코딩을 다중 스레드로 할당할 수 있다. 최소 2개의 타일이 존재하자는 경우, 다중 스레드 인코딩이 완료될 수 있다.
작동을 위한 디코더 병렬화(decoder parallelism)의 경우, 비트스트림에서 엔트리 포인트가 요구된다. 병렬 인코딩의 경우, 엔트리 포인트에 대한 요구가 없고, 타일들/서브스트림들의 인코딩이 완료된 후에 상기 인코더는 상기 비트스트림을 함께 봉합(stitch)하기만 하면 된다. 그러나, 디코더는 디코딩 병렬화를 위해, 비트스트림 내에서 각 타일이 어디에서 출발하는지를 알아야할 필요가 있다. 인코더가 동시에 인코딩하기를 원할 뿐 동시 디코딩을 원하지 않는 경우라면, 엔트리 포인트를 생략할 수도 있으나, 동시 디코딩 역시 원하는 경우라면 엔트리 포인트를 삽입해야만 한다.
본 발명의 목적은 디코더 병렬화를 위한 대안 메커니즘(alternative mechanism)을 제공하는 것이다.
상기 본 발명의 목적은 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송함으로써 달성된다.
본 발명의 일 구체예에 따르면, 인코더 내에서 다중 화상 비디오 스트림(video stream of multiple pictures)의 화상 시퀀스(sequence of pictures)를 인코딩하는 방법이 제공된다. 본 발명의 상기 방법에서, 타일 구조를 사용하는 타일들에 의해 상기 시퀀스에서 모든 화상이 동일한 방법으로 분할되는지 여부가 결정되고, 나아가, 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일구조가 사용됨을 나타내는 정보가 발송된다.
본 발명의 다른 구체예에 따르면, 다중화상 비디오 스트림의 화상 시퀀스를 파싱(parsing)하는 방법이 제공된다. 상기 방법에서, 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 지를 나타내는 정보가 수신되고, 상기 타일구조의 정부가 수신된다. 나아가, 상기 비디오 스트림 시퀀스의 디코딩을 결정하는 경우에 상기 수신된 정보가 사용된다.
본 발명의 또 다른 구체예에 따르면, 다중화상 비디오 스트림의 화상 시퀀스를 인코딩하기 위한 인코더가 제공된다. 상기 인코더는 결정 유닛과 출력 유닛을 포함하는데, 상기 결정 유닛은 상기 시퀀스 내에서 모든 화상이 타일 구조를 사용하는 타일들에 의해 동일한 방법으로 분할되는지 여부를 결정하고, 그리고 상기 출력 유닛은 현재 화상이 분할되어 있는 타일구조의 정보를 발송하고, 그리고 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에 상기 비디오 스트림 시퀀스 전체에 걸쳐 동일한 타일구조가 사용됨을 나타내는 정보를 발송한다.
본 발명의 또 다른 구체예에 따르면, 다중 화상 비디오 스트림의 화상 시퀀스를 파싱하기 위한 엘리먼트(650)가 제공된다. 상기 엘리먼트(650)는 입력 유닛(630) 및 파싱 유닛(640)을 포함하는데, 상기 입력 유닛(630)은 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는지에 관한 정보를 수신하기 위해 현재의 화상이 분할되어 있는 상기 타일 구조의 정보를 수신하고, 그리고 상기 파싱 유닛(640)은 상기 비디오 스트림의 시퀀스 디코딩을 결정하는 경우에 상기 수신된 정보를 사용하고 파싱한다.
본 발명의 또 다른 구체예에 따르면, 상기 구체예에 기재된 인코더를 포함하는 송신기가 제공된다.
본 발명의 또 다른 구체예에 따르면, 상기 구체예에 기재된 엘리먼트를 포함하는 수신기가 제공된다.
본 발명의 또 다른 구체예에 따르면, 상기 구체예에 따른 송신기 및/또는 송신기를 포함하는 장치가 제공된다.
본 발명의 또 다른 구체예에 다르면, 컴퓨터 프로그램이 제공된다. 상기 컴퓨터 프로그램은 프로세서 상에서 작동하는 경우 상기 프로세서가,
- 타일 구조를 사용하는 타일들에 의해 상기 시퀀스 내의 모든 화상이 동일한 방법으로 분할되는지 여부를 결정하고; 그리고,
- 상기 비디오 스트림 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에, 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일구조가 사용됨을 나타내는 정보를 발송하도록;
작동시킨다.
본 발명의 또 다른 구체예에 따르면, 컴퓨터 프로그램 산물이 제공되는데, 상기 컴퓨터 프로그램 산물은 컴퓨터 가독 매체, 및 상기 컴퓨터 가독 매체 상에 저장된 컴퓨터 프로그램을 포함한다.
본 발명의 또 다른 구체예에 따르면, 컴퓨터 프로그램이 제공되는데, 상기 컴퓨터 프로그램은 프로세서 상에서 작동하는 경우 상기 프로세서가,
- 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 지에 관한 정보를 수신하고;
- 현재의 화상이 분할되어 있는 타일 구조의 정보를 수신하고; 그리고,
- 상기 비디오 스트림 시퀀스의 디코딩을 결정하는 경우에 상기 수신된 정보를 사용하도록;
작동시키는 컴퓨터 가독 코드 유닛을 포함한다.
본 발명의 또 다른 구체예에 따르면, 컴퓨터 프로그램 산물이 제공된다. 상기 컴퓨터 프로그램 산물은 컴퓨터 가독 매체 및 상기 컴퓨터 가독 매체 상에 저장되는 컴퓨터 프로그램을 포함한다.
상기 언급된 본 발명의 구체예는 상기 디코더가 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용될 수 있음을 보장하는 정보를 수신할 수 있는 경우에 디코더 복잡성에 관한 요구를 감소시키는 장점을 갖는다.
제1도는 6개의 타일로 나누어진 프레임에 관한 것으로, 상기 6개의 타일은 6개의 스레드가 프레임의 인코딩 및 디코딩을 동시에 할 수 있게 하는 것을 나타낸다.
제2도는 본 발명의 일 구체예를 따르는 인코더 내에서 수행되는 방법에 관한 플로우 차트를 도시한다.
제3도는 본 발명의 다른 구체예를 따르는 디코더 내에서 수행되는 방법에 관한 플로우 차트를 도시한다.
제4도는 본 발명의 또 다른 구체예를 따르는 인코더 및 디코더를 개략적으로 도시한다.
제5도는 본 발명의 또 다른 구체예를 따르는 인코더 및 디코드를 구비하는 송신기를 도시한다.
제6도는 본 발명의 또 다른 구체예를 따르는 컴퓨터 프로그램과 컴퓨터 프로그램 산물을 개략적으로 도시한다.
본 발명은 화상 프레임을 동시에 디코딩할 수 있게 하는 비디오 코딩 프로세스에 관한 것이다.
HEVC에서, 인코딩된 비디오 시퀀스의 각 화상은 타일들 또는 그와 유사한 수단을 사용하여 화상 프레임의 서로 다른 부분을 디코딩하기 위한 수단을 포함할 수 있다.
그러므로, 적어도 2 개의 타일이 존재하자마자, 제2 타일의 시작점, 즉 제2 타일을 위한 엔트리 포인트인 비트스트림이 알려지는 경우, 다중 스레드가 디코딩을 위해 사용될 수 있다.
파라미터 ‘tiles_or_entropy_sync_idc=1’은 타일 정보가 사용가능함을 나타낸다. 타일 정보의 예시로는, 타일의 수, 위치 및 크기, 그리고 다음과 같은 SPS 내에서의 구문을 들 수 있다:
Figure 112014097052811-pct00002

‘tiles_or_entropy_sync_idc=1’은 다중 스레드가 인코더에서 항상 사용될 수 있음을 의미하고, 디코더에서는 엔트리 포인트가 존재할 경우에 사용될 수 있음을 의미한다.
이러한 상황정보(context)에서 다중 스레드가 사용될 수 있다고 하는데, 이는 디코딩 프로세스(precess)의 실제 업무량이 ‘프로세스들(processes)’로 나누어질 수 있고, 상기 ‘프로세스들’은 서로에 대해 독립적으로 즉, 동시에(서로 분리된 스레드에서) 진행될 수 있음을 의미하는 것이다.
일례에서, 구문 엘리먼트는 타일 정보가 시퀀스에 대하여 동일한지를 나타내는데 사용된다. 상기 시퀀스는 하나의 시퀀스 파라미터 세트(sequence parameter set: SPS)가 유효한 비트스트림이다. 상기 구문 엘리먼트는 SPS의 일부일 수 있고, 또는 VUI나 SEI 메시지 내에서와 같이 시그널링 될 수 있다. 또한, 상기 구문 엘리먼트는 'tiles_fixed_structure_flag'처럼 표현되는 플래그일 수 있다.
상기 인코더는 인코딩과 디코딩을 동시에 할 수 있는 타일 구조에 의해 화상 분할 방법을 결정한다. 동일한 타일 구조가 시퀀스 전체에 걸쳐 사용되는 경우, 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일구조가 사용됨을 나타내는 정보가 본 발명의 일례에 따라 디코더에 발송된다. 또한, 상기 인코더는 (예를 들어, 제4도에서 유닛(610)을 분할하는 것과 같이) 인코딩과 디코딩을 동시에 할 수 있는 타일구조에 따라 화상을 분할하고, 현재의 화상이 하나 이상의 PPS(예를 들어 밴드에 속해서)에 속해있는 타일 구조의 정보를 발송할 수 있다.
따라서, 시퀀스를 위하여 타일 정보가 동일할 것임을 구문 엘리먼트가 나타내는 경우, 상기 타일 구조는 시퀀스 내에서 모든 화상에 대하여 동일하고, 상기 구문 엘리먼트로부터 디코더, 수신기 또는 다른 데이터 발송 또는 프로세싱 엘리먼트는 시퀀스 내의 모든 화상이 동일한 타일 파티션(partitions)을 갖는지와 어느 파티션이 동일한지를 알 수 있는 것이다. 실제 타일 구조의 정보는 SPS 또는 PPS 내에서 발송될 수 있다. 이로써, 디코더, 수신기 또는 다른 데이터 발송 또는 프로세싱 엘리먼트의 복잡성(complexity)이 감소될 수 있다.
결과적으로, 네트워크 엘리먼트 또는 디코더 엘리먼트가 될 수 있는 하나의 엘리먼트는 본 발명 일례에 따라 다음을 실행하도록 구성된다:
1. 상기 엘리먼트(element)는 슬라이스를 수신하고, 그리고 시퀀스에서 모든 화상을 위하여 상기 타일 구조가 동일한지를 추론하기 위해 상기 슬라이스 헤더에서 구문 엘리먼트들을 파싱(parse)한다. 상기 슬라이스 헤더는 타일 정보가 발견될 수 있는 PPS에 관한 PPS 인덱스(PPS index)를 포함할 수 있다. 또 다른 옵션은 상기 엘리먼트가 직접적으로 SPS, 플래그를 위한 PPS 및 타일 정보 각각을 고려하는 것이다.
2. 시퀀스에서의 모든 화상을 위해 타일 구조가 동일하다는 것을 구문 엘리먼트가 나타내는 경우, 상기 엘리먼트는 상기 시퀀스의 디코딩을 결정하기 위해 이러한 정보를 사용한다. 이러한 방법의 장점은 상기 정보가 사용 가능한 경우에 수신된 시퀀스를 디코딩할 수 있는지에 대해 좀 더 나은 결정을 디코더가 할 수 있다는 점이다. 만일 디코더가 시퀀스에서의 모든 화상을 위해 타일 구조가 동일한지에 관하여 모르는 경우에는, 예를 들어 디코더 프로세서의 제한으로 인해 시퀀스의 디코딩 여부를 보장할 수 없다.
인코더에 의해 수행되는 상기의 제안된 방법은 제2도의 플로우 차트로 도시된다. 상기 방법은 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하기 위해 적용된다. 상기 방법에서, 상기 시퀀스 내의 모든 화상이 타일 구조를 사용하는 타일들에 의해 동일한 방법으로 분할되는지가 결정되고(302), 그리고 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에(303) 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보가 발송된다(304). 사용되는 타일 구조의 정보 역시 예를 들어 밴드에 속한 것과 같이(in-band) 하나 이상의 PPS 내에서 발송된다(305).
다중 화상 비디오 스트림의 화상 시퀀스를 파싱하는 방법에 관한 본 발명의 다른 일례가 제3도에 도시된다. 상기 방법에서, 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 지에 관한 정보가 수신되고(321), 그리고 상기 타일 구조의 정보가 수신된다(322). 나아가, 상기 수신된 정보는 상기 비디오 스트림의 시퀀스 디코딩을 결정하는 경우에 사용될 수 있다(323).
본 발명의 또 다른 일례에 따르면, 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보가 구문 엘리먼트 ‘tiles_fixed_structure_flag’로 예시되는 플래그 내에서 발송된다. 상기 플래그는 인코더로부터 디코더까지 SPS 내에서 발송될 수 있다.
본 발명에 따라 상기 방법에는 3가지 가능성이 존재한다. 즉, 1) 상기 플래그는 현재의 것이 아니고, 동일한 타일구조가 시퀀스 전체에 걸쳐 제공되는지에 관한 정보가 제공되지 않을 가능성. 2) 상기 플래그는 현재의 것이고 그리고 예를 들어 1과 같은 특정 값에 대해 설정되고, 동일한 타일 구조가 시퀀스 전체에 걸쳐 사용될 가능성. 3) 상기 플래그는 현재의 것이고 그리고 예를 들어 0과 같은 특정 값에 대해 설정되고, 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 지에 관한 정보가 제공되지 않을 가능성.
(예를 들어 상기 SPS에서 'tiles_fixed_structure_flag'에 의해) 전체 시퀀스에 걸쳐 타일 구조가 변함없는지를 나타내는 정보가 하기 대안 5 내지 13 중 어느 하나 이상과 함께 사용될 수 있다.
대안 5 내지 13(하기 내용 참조)과 함께 전체 시퀀스에 걸쳐 타일 구조가 변함없는지를 나타내는 정보의 사용과 관련된 일례는, 각 타일을 위해 사용되는 엔트리 포인트를 나타내고 상기 시퀀스 전체에 걸쳐 변하지 않는 타일구조를 나타내기 위한 오직 하나의 구문 엘리먼트를 갖는 것이다. 또한, 오프셋(offset) 또는 마커(marker)와 같은 엔트리 포인트 유형을 나타내는 다른 하나의 구문 엘리먼트도 존재할 수 있는데, 상기 구문 엘리먼트는 제1 위치에 설정되는 것이 좋다.
또는, 각 타일을 위해 사용되는 엔트리 포인트 오프셋을 나타내고 시퀀스 전체에 걸쳐 타일 구조가 변하지 않음을 나타내기 위한 하나의 구문 엘리먼트가 존재할 수 있다. 추가적으로, 시퀀스 전체에 걸쳐 타일 구조가 변하지 않음을 나타내고 그리고 각 타일을 위해 사용되는 엔트리 포인트 마커를 나타내기 위한 하나의 구문 엘리먼트가 존재할 수 있다.
제4도와 관련된 본 발명의 일례에 따르면, 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하기 위한 인코더(600)가 제공된다. 상기 인코더는 결정 유닛(617), 및 출력 유닛(620)을 포함하는데, 상기 결정 유닛(617)은 타일 구조를 사용하는 타일에 의하여 상기 시퀀스 내의 모든 화상이 동일한 방법으로 분할되는지를 결정하고, 상기 출력 유닛(620)은 현재의 화상이 분할되어 있는 타일 구조에 관한 정보를 발송하고, 그리고 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송한다.
본 발명의 일례에 따르면, 구문 엘리먼트 ‘tiles_fixed_structure_flag’와 같은 플래그 내에서 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 상기 인코더의 출력 유닛이 발송한다.
상기 인코더의 출력 유닛은 시퀀스 파라미터 세트(SPS)에서 상기 구문 엘리먼트를 발송한다.
본 발명의 또 다른 일실시예에 따르면, 상기 출력 유닛(620)은 세션 셋-업(session set-up) 동안에 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송할 수 있도록 추가 구성된다.
또한, 상기 인코더의 종류는 제한되지 않으나, HEVC 인코더일 수 있다.
본 발명의 또 다른 실시예에 따르면, 다중 화상 비디오 스트림의 화상 시퀀스를 파싱하기 위한 엘리먼트(650)가 제공된다. 상기 엘리먼트(650)는 입력 유닛(630)과 파싱 유닛(640)을 포함하는데, 상기 입력 유닛(630)은 비디오 스트림 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되고 있는지에 관한 정보를 수신하기 위하여 현재의 화상이 분할되어 있는 타일 구조의 정보를 발송하고, 그리고 상기 파싱 유닛(640)은 비디오 스트림 시퀀스의 디코딩을 결정하는 경우에 상기 수신된 정보를 사용하고 파싱하도록 구성된다.
본 발명의 일 실시예에 따라, 상기 엘리먼트의 입력 유닛(630)은 구문 엘리먼트 ‘tiles_fixed_structure_flag' 와 같은 플래그로부터 비디오 스트림 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 수신하도록 구성된다.
본 발명의 또 다른 일 실시예에 따르면, 상기 입력 유닛(630)은 세션 셋-업 동안 상기 비디오 스트림 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하도록 추가 구성된다.
상기 엘리먼트의 입력 유닛(630)은 시퀀스 파라미터 세트(SPS) 내에서 구문 엘리먼트를 수신하도록 구성될 수 있다.
또한, 상기 엘리먼트는 네트워크 엘리먼트 또는 HEVC와 같은 디코더 내에서 실행될 수 있다. 상기 디코더 엘리먼트는 HEVC로 제한되지 않는다.
제5도는 상기 언급된 본 발명의 일례에 따른 인코더(600)를 포함하는 송신기(401), 및 상기 언급된 본 발명의 일례에 따른 엘리먼트(650)를 포함하는 수신기(402)를 개략적으로 도시한다. 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 지를 나타내는 구문 엘리먼트(400)가 상기 송신기로부터 상기 수신기에 전달되는 것을 도면에서 확인할 수 있다. 이미 언급한 바와 같이, 상기 구문 엘리먼트는 헤더(410)의 SPS에서 발송될 수 있다.
예를 들어, 상기 인코더는 모바일 기기와 같은 비디오 카메라(403) 내의 송신기에 위치할 수 있다. 상기 엘리먼트는 비디오 카메라(403)나 비디오 스트림을 재생하기 위한 다른 장치 내의 수신기에 위치할 수 있다.
상기 언급한 바와 같이, 본 발명의 실시예는 인코더, 디코더와 같이 비트스트림 상에서 작동하는 모든 엘리먼트, 또는 네트워크-노드나 미디어 인식 엘리먼트(media aware element)와 같은 네트워크 엘리먼트에서 실행될 수 있다. 따라서, 상기 디코더 및 네트워크 엘리먼트(예를 들어 네트워크-노드나 미디어 인식 엘리먼트)는 하나의 시퀀스가 상기 시퀀스 전체에 걸쳐 동일한 타일 구조를 갖는지 여부를 나타내는 구문 엘리먼트를 수신 및 파싱하도록 구성된다. 상기 구문 엘리먼트는 슬라이스 헤더에 위치할 수 있다. 또한, 인코더, 디코더와 같이 비트스트림 상에서 작동하는 모든 엘리먼트, 네트워크-노드 또는 미디어 인식 엘리먼트는 하나의 시퀀스가 상기 시퀀스 전체에 걸쳐 동일한 타일 구조를 갖는지를 나타내기 위한 구문(syntax)을 추가하도록 구성된다. 상기 구문 엘리먼트는 SPS 내의 SUI에 삽입되고, 그리고 상기 출력 유닛에 의해 발송된다.
또한, 상기 인코더 및 상기 엘리먼트의 기능은 프로세서와 메모리를 각각 구비하고 있는 각 컴퓨터에 의해 구현될 수 있는데, 상기 메모리는 상기 기능들을 수행하기 위한 프로세서에 의해 실행되는 소프트웨어 코드 부분(software code portions)에 의해 실행된다.
또한 제6도의 컴퓨터(690, 692) 각각은 적어도 하나의 컴퓨터 프로그램 산물(675, 680)을 비휘발성 메모리(non-volatile memory) 또는 휘발성 메모리(volatile memory)의 형태로 포함하는데, EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬 메모리, 디스크 드라이브 또는 램(random-acess memory: RAM)을 그 예로 들 수 있다. 상기 컴퓨터 프로그램 산물(756, 685) 각각은 컴퓨터 프로그램(670, 680)을 포함한다.
프로세서(615) 상에서 작동하는 컴퓨터 가독성 코드 유닛을 포함하는 상기 인코더의 컴퓨터 프로그램(670)은 상기 프로세서(615)가,
- 타일 구조를 사용하는 타일들에 의해 상기 시퀀스 내의 모든 화상이 동일한 방법으로 분할되는지 여부를 결정하게 하고; 그리고,
- 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에 상기 비디오 스트림의 시퀀스 전체에서 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하게 한다.
상기 언급한 바와 같이, 컴퓨터 가독성 매체 및 컴퓨터 프로그램(670)을 포함하는 상기 컴퓨터 프로그램 산물(675)은 상기 컴퓨터 가독성 매체에 저장된다.
프로세서(660)상에서 작동하는 경우 컴퓨터 가독성 코드 유닛을 포함하는 상기 엘리먼트의 컴퓨터 프로그램(680)은 상기 프로세서(660)가,
- 상기 비디오 스트림 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는지에 관한 정보를 수신하고,
- 현재 화상이 분할되어 있는 상기 타일 구조의 정보를 수신하고, 그리고
- 상기 비디오 스트림 시퀀스의 디코딩을 결정하는 경우에 상기 수신된 정보를 사용하게 한다.
상기 언급한 바와 같이, 컴퓨터 가독성 매체 및 컴퓨터 프로그램(680)을 포함하는 상기 컴퓨터 프로그램 산물(685)은 상기 컴퓨터 가독성 매체에 저장된다.
본 발명의 또 다른 일례에 따라, 상기 엔트리 포인트는 서로에 대하여 시그널링 된다. 예를 들어, ‘entry_point_offset’ 구문 엘리먼트는 ‘entry_point_delta_offset_minus1(대안 명칭 substream_length_minus1)’로 대체된다.
이는 상기 (인코더의) 출력유닛(620)이 엔트리 포인트를 서로에 대하여 시그널링 하도록 추가 구성될 수 있음을 의미하는데, 상기 엔트리 포인트는 각 타일의 제1 바이트를 나타낸다. 또한, 상기 엘리먼트(650)의 입력 유닛(630)은 서로에 대하여 엔트리 포인트의 정보를 수신하도록 구성되는데, 상기 엔트리 포인트는 각 타일의 제1 바이트를 나타낸다.
그러므로, ‘entry_point_delta_offset_minus1[0] plus 1’은 상기 슬라이스 헤더의 출발에 관한 제1 엔트리 포인트를 나타내는 것으로 정의될 수 있다(EntryPoint[0] = entry_point_delta_offset_minus1[0] + 1). ‘EntryPoint[i] = EntryPoint[i-1] + entry_point_delta_offset_minus1[i] + 1’인 것과 마찬가지로, i>0인 경우에 대하여 ‘ entry_point_delta_offset_minus1[i]’ 각각은 상기 슬라이스 헤더의 출발에 대한 i 번째 엔트리 포인트를 계산하기 위해 사용된다.
또는 마찬가지로, ‘entry_point_delta_offset_minus1[0] plus 1’이 상기 슬라이스 헤더의 출발에 대한 제1 엔트리 포인트를 나타내는 것으로 정의된다. i > 0 경우, ‘entry_point_delta_offset_minus1[i]’ 각각은 이전 ‘엔트리 포인트 + 1‘ 에 대한 i 번째 엔트리 포인트를 계산하기 위해 사용된다.
상기 대안에 있어서, 디코더는 하기 단계를 수행한다:
1. 디코더는 슬라이스를 수신하고, 그리고 어느 PPS와 어나 SPS가 활성화되었는지, 그리고 어느 타일이 사용되었는지 여부를 추론하기 위하여 상기 슬라이스 내의 구문 엘리먼트들을 파싱한다:
2. 타일들이 사용되고, ‘num_entry_point_offsets’ > 0 인 경우에 하기 연산이 수행된다:
‘EntryPoint[0] = entry_point_delta_offset_minus1[i] + 1’로서 엔트리 포인트가 계산되고:
‘1 부터 entry_point_offset -1 까지’ 범위에서의 각 i 에 대하여, i 번째 엔트리 포인트를 포함하여 ‘EntryPoint[i] = EntryPoint[i-1] + entry_point_delta_offset_minus1[i] + 1’로 계산된다.
4. 상기 단계 2에서 추론된 타일 구성을 사용하여 상기 슬라이스가 추론된다. 선택적으로, 상기 디코더는 다중 코어들(스레드) 상의 디코딩 업무량을 분할하기 위해 단계 2에서 디코딩된 엔트리 포인트를 사용한다.
상기 구문의 일례는 다음과 같다:
Figure 112014097052811-pct00003
예를 들어, 시맨틱(semantics)은 다음과 같다:
‘entry_point_offset[ i ]’ 는 i 번째 엔트리 포인트 오프셋(entry point offset)을 명시하고, 바이트에서 ‘offset_len_minus1 plus 1 bits’로 표현된다.
변수 ‘EntryPoint[ i ]’는 다음과 같이 얻을 수 있다.
if(i = = 0)
‘EntryPoint[ i ] = entry_point_offset[ i ] + 1’
또는,
‘EntryPoint[ i ] = EntryPoint[ i - 1 ] + (entry_point_offset[ i ] + 1 )’
일반적으로 이전 오프셋에 관한 엔트리 포인트 오프셋이 상기 슬라이스의 출발에 관한 엔트리 포인트 오프셋보다 수(number)가 적기 때문에 더 적은 비트(bits)에 의해 표현될 수 있고, 따라서 상기 실시예는 엔트리 포인트의 시그널 링을 위해 더 적은 비트가 사용될 수 있는 장점을 갖는다. 상기 실시 예의 또 다른 장점은 (네거티브 오프셋이 허용되지 않기 때문에) 오름차순에서 상기 엔트리 포인트 오프셋이 시그널링 될 수 있는 고유 요건( )이 존재한다는 점이다. 만일 엔트리 포인트 오프셋이 슬라이스 헤더에 대하여 시그널링 되는 경우, 엔트리 포인트 오프셋의 순서상에 고유 요건은 존재하지 않는데, 그렇기 때문에 디코더가 취급하기 까다로군 엔트리 포인트의 무질서한 시그널링을 방지하기 위해 상기와 같은 요건()은 반드시 명시적으로 규정되어야 한다.
대안( Alternative ) 2
또 다른 대안에서는, SPS 또는 그 밖의 다른 데이터 구조에서 비디오 시퀀스를 위해 타일이 사용될 수 있다. 이러한 데이터 구조는 예를 들어 비디오 컨퍼런그(video conference) 또는 통화( ) 또는 스트리밍 세션( session)의 경우와 같은 세션 셋-업 동안에, 밴드 외부로(-of-band) 보내지거나 보내지지 않을 수 있다. 상기 데이터 구조는 상기 비디오 시퀀스 범위에서 타일이 어떻게 사용되는지에 관한 양식()의 개수를 포함한다.
상기 대안에서, 제1 양식은 타일들이 사용되고 있고 오직 하나의 특정 타일 구조가 시퀀스 전체에 걸쳐 사용되고 있음을 나타내거나 이에 관해 신호를 보낼 수 있다.
또한, 제2 양식은 타일들이 사용되지 않음을 나타내거나 이에 관해 신호를 보낼 수 있고, 제1 양식에 더하여 제3 양식은 사용하기 위한 실제 타일 구조가 상기 양식과 함께 표시되고 세션 셋-업 동안에 전달되는 것을 나타낸다. 제4 양식은 상기 시퀀스 내에 타일들이 존재하지만 그 구조는 고정되거나 고정되지 않을 수도 있다는 것을 나타낼 수 있고, 상기 제2, 제3 또는 제4 양식에 더하여 제5 양식은 상기 시퀀스 내에 엔트리 포인트가 존재하지 않음을 나타낼 수 있다.
제1, 제2 또는 제4 모드에 더하여 제6 모드는 상기 시퀀스 내 (그 슬라이스에서의 첫 번째 타일을 제외하고) 모든 타일에 대하여 엔트리 포인트 오프셋이 존재함을 나타내고, 제1, 제3 또는 제4 모드에 더하여 제7 모드는 상기 시퀀스 내 (그 슬라이스에서의 첫 번째 타일을 제외하고) 모든 타일에 대하여 엔트리 포인트 마커가 존재함을 나타낸다.
제1, 제3 또는 제4 모드에 더하여 제8 모드는 상기 시퀀스 내 (슬라이스에서의 첫 번째 타일을 제외하고) 모든 타일들에 대하여 엔트리 포인트 마커들 또는 엔트리 포인트 오프셋들이 존재함을 나타낸다.
상기 모드들은 대안 3 내지 14에 나타나고, 상기 기술된 내용과 함께 결합된다. 상기 구문(syntax)은 시그널링 되는 상기 모드(mode)들의 부분집합을 허용한다. 인코더는 상기 모드들의 부분집합을 시그널링하고, 디코더는 상기 모드들의 부분집합을 (부분집합으로부터 얻은 정보를 사용하여)디코딩한다.
대안( Alternative ) 3
또 다른 대안에 따르면, 상기 SPS 내의 구문 엘리먼트는 시퀀스 내의 각 화상이 동일한 수의 WPP 서브 스트림을 사용함을 나타낸다. 바람직하게, WPP 서브 스트림의 수(number)는 상기 SPS에서 표시되고 그리고 상기 WPP 서브 스트림은 (PPS, 슬라이스 헤더 또는 다른 곳에서의 값에 의해) 오버리드 되지(overridden) 않는다. 그렇지 않으면, (예를 들어 PPS에서) WPP 서브 스트림의 개수에 관한 모든 표시가 동일한 값을 가져야만 하는 제한이 있다.
대안( Alternative ) 4
또 다른 대안에서, 대안 1 및 대안 2로부터의 타일 구성(tile configuration)에 관한 제한(restriction)이 실시예 3으로부터의 WPP 서브 스트림 상에 제한과 결합되고, 바람직하게 상기 제한은 병렬화 툴(parallelization tool)(타일들 또는 웨이브 프론트)을 위한 구성이 상기 시퀀스 전체에 걸쳐 일정하다는 것을 나타내는 단일 구문 엘리먼트에 결합된다.
대안( Alternative ) 5
본 대안에 있어서, 상기 인코더는 예를 들어 출력유닛을 사용함으로써, 새로운 슬라이스를 출발시키지 않는 모든 타일이 슬라이스 헤더 내의 엔트리 포인트 오프셋에 의해 표시되는지에 관해서 시그널링 한다.
상기와 같은 시그널링은 SPS, VUI, PPS, SEI 또는 다른 적절한 데이터 구조(예를 들어, SPS 및/또는 PPS에서 나타날 수 있는 타일 정보 구조) 내에서 플래그에 의해 실현될 수 있다. 상기 플래그가 나타나는 경우, 상기 플래그는 데이터 구조가 활성화된 모든 슬라이스에 대해 유효하다. 예를 들어, 플래그가 SPS에 존재하는 경우 시퀀스 내 모든 화상에서 슬라이스에 대해 유효하고, 또는 플래그가 상기 PPS 등에 나타나는 경우 상기 PPS를 참조하는 모든 화상 내의 슬라이스에 대해 유효하다.
따라서, 상기 디코더는 디코딩 실행을 위해 병렬 디코딩 스레드의 수를 결정하도록 추가 구성될 수 있다. 상기 디코더는 (슬라이스의 출발점을 포함하는) 엔트리 포인트의 수가 상기 화상의 타일 수와 동일하도록 보장된다.
플래그가 설정된 경우, 슬라이스를 위하여 데이터 구조가 활성화 플래그를 갖는 모든 슬라이스(예를 들어, SPS에서 플래그가 존재하는 경우에서 시퀀스 내 모든 화상의 모든 슬라이스들, 또는 플래그가 PPS 등에서 존재하는 경우에서 PPS를 참조하는 모든 화상에서의 모든 슬라이스들)에서, 인코더는 새로운 슬라이스를 시작하지 않는 타일 각각을 위한 엔트리 포인트 오프셋을 포함해야만 한다. 플래그가 설정되지 않은 경우, 상기 인코더는 새로운 슬라이스를 시작하지 않는 각 타일에 대하여 엔트리 포인트 오프셋을 포함할 수도, 그렇지 않을 수도 있다. 또는, 상기 플래그가 설정되지 않은 경우, 엔트리 포인트 오프셋은 존재하지 않고, 상기 인코더는 상기 플래그 범위 내의 타일에 대하여 엔트리 포인트 오프셋을 포함하지 않는다.
상기 대안의 일례에서, 상기 디코더는 사용가능한 프로세싱 코어의 개수에 관한 업무로드를 분할함으로써 각 코어가 대략 동일 수의 타일로 분할되도록 한다. 또는, 상기 디코더는 각 타일을 위해 새로운 스레드를 시작한다.
예를 들어, 상기 플래그는 ‘entry_point_offsets_for_all_tiles_flag’로 네이밍(named)될 수 있다.
대안( Alternative ) 6
본 대안에서, 상기 인코더는 예를 들어 출력유닛을 사용함으로써, 새로운 슬라이스를 출발시키지 않는 모든 타일이 비트스트림 내의 엔트리 포인트 마커에 의해 표시되는 지에 관해 시그널링 한다. 상기 엔트리 포인트 마커는 비트스트림 내에서, 각 슬라이스에서의 제1 타일을 제외한 타일 각각에 앞서 존재한다.
슬라이스 내 제1 타일을 제외한 모든 타일에 대해 현재 존재하는 엔트리 포인트 마커를 시그널링하는 것은 SPS, VUI, PPS, SEI 또는 다른 적절한 데이터 구조(예를 들어, SPS 및/또는 PPS 내에 존재할 수 있는 타일 정보 구조)에서 플래그에 의해 실현될 수 있다.
플래그가 존재하는 경우, (예를 들어, 상기 플래그가 SPS에 존재하는 경우, 시퀀스 내의 모든 화상처럼) 상기 플래그는 슬라이스를 위해 데이터 구조가 활성화된 모든 슬라이스에 대해 유효하다.
따라서, 상기 디코더는 디코딩 수행을 위하여 병렬 디코딩 스레드의 수를 결정하도록 추가 구성된다. 상기 디코더는 (슬라이스의 출발점을 포함하는) 엔트리 포인트의 수가 상기 화상의 타일 수와 같음을 보장한다.
플래그가 설정된 경우, 슬라이스를 위하여 데이터 구조가 활성화 플래그를 갖는 모든 슬라이스(예를 들어, SPS에서 플래그가 존재하는 경우에서 시퀀스 내 모든 화상의 모든 슬라이스들, 또는 플래그가 PPS 등에서 존재하는 경우에서 PPS를 참조하는 모든 화상에서의 모든 슬라이스들)에서, 슬라이스 내 제1 타일을 제외한 각 타일에 대하여 인코더는 슬라이스 내 제1 타일을 제외한 타일 각각을 위하여 엔트리 포인트 마커를 포함해야만 한다. 플래그가 설정되지 않은 경우, 인코더는 새로운 슬라이스를 시작하지 않는 각 타일에 대하여 엔트리 포인트 마커를 포함하거나 포함하지 않을 수 있다. 또는, 상기 플래그가 설정되지 않은 경우, 마커는 존재하지 않고 그리고 상기 인코더는 상기 플래그 범위 내에 존재하는 타일을 위해 엔트리 포인트 마커를 포함하지 않는다.
상기 대안의 일례에서, 상기 디코더는 사용가능한 프로세싱 코어의 개수에 관한 업무로드를 분할함으로써 코어 각각이 대략 동일 타일의 수로 할당되도록 한다. 그렇지 않으면, 상기 디코더는 타일 각각을 위해 새로운 스레드를 시작한다.
예를 들어, 상기 플래그는 ‘entry_point_markers_for_all_tiles_flag’로 네이밍된다.
대안( Alternative ) 7
또 다른 대안에서, 상기 언급된 플래그들은 예를 들어 'entry_points_for_all_tiles_flag'로 표현되는 하나의 단일 플래그로 통합된다. 상기 플래그와 함께 상기 인코더는 새로운 슬라이스를 시작하지 않는 모든 타일들이 상기 비트스트림에서의 엔트리 포인트 마커에 의해 나타나는지 또는 상기 슬라이스 헤더에서의 엔트리 포인트 오프셋에 의해 나타나는지에 관해 시그널링한다. 그렇지 않으면, 상기 플래그는 모든 출발점이 표시되는 지를 나타내고, 그 표시는 엔트리 포인트 마커 또는 엔트리 포인트 오프셋 또는 이들 모두(엔트리 포인트 마커 및 엔트리 포인트 오프셋)와 함께 처리된다.
상기 시그널링은 SPS, VUI, PPS, SEI 또는 (예를 들어 SPS 및/또는 PPS에 존재할 수 있는 타일 정보 구조와 같은) 다른 적당한 데이터 구조에 의해 실현될 수 있다.
상기 플래그가 존재하는 경우, (예를 들어, 상기 SPS에 존재하는 경우에서의 시퀀스 내 모든 화상과 같이) 상기 플래그는 슬라이스를 위해 데이터 구조가 활성화된 모든 슬라이스에 대해 유효하다.
따라서, 상기 디코더는 디코딩의 수행을 위하여 병렬 디코딩 스레드의 수를 결정하도록 추가 구성될 수 있다. 상기 디코더는 (슬라이스의 출발점을 포함하는) 엔트리 포인트의 수가 상기 화상의 타일 수와 동일한 것을 보장한다.
플래그가 설정되는 경우, 슬라이스를 위하여 데이터 구조가 활성화 플래그를 갖는 모든 슬라이스(예를 들어 SPS에 존재하는 경우에서 시퀀스 내 모든 화상의 모든 슬라이스들, PPS 등에 존재하는 경우에 PPS를 참조하는 모든 화상에서의 모든 슬라이스들)에서, 슬라이스 내 제1 타일을 제외한 타일 각각을 위해 인코더는 엔트리 포인트 마커 또는 엔트리 포인트 오프셋을 포함해야만 한다. 플래그가 설정되지 않은 경우, 인코더는 새로운 슬라이스를 시작하지 않는 타일 각각을 위하여 엔트리 포인트 마커 또는 엔트리 포인트 오프셋을 포함하거나 포함하지 않을 수 있다. 또는, 상기 플래그가 설정되지 않은 경우, 마커와 오프셋 모두가 존재하지 않고 그리고 상기 인코더는 상기 플래그 범위 내에 존재하는 타일을 위하여 엔트리 포인트 마커와 오프셋 모두를 포함하지 않는다.
대안의 한 일례로서, 상기 디코더는 사용가능한 프로세싱 코어의 수에 관한 업무 로드를 분할함으로써 각 코어가 대략 동일한 수의 타일로 할당되도록 한다. 그렇지 않으면, 상기 디코더는 타일 각각을 위해 새로운 스레드를 시작한다.
대안( Alternative ) 8
하나의 대안으로서, 대안 7로부터의 플래그가 추가적인 플래그인 'entry_point_type_flag'와 함께 사용될 수 있다.
'entry_point_type_flag'가 새로운 슬라이스를 시작하지 않는 모든 타일이 비트스트림 내에서 엔트리 포인트 마커에 의해 또는 슬라이스 헤더 내에서 엔트리 포인트 오프셋에 의해 표시됨을 나타내는 경우, 이러한 제2 플래그(entry_point_type_flag)는 상기 엔트리 포인트가 오프셋으로서 또는 마커로서 시그널링 되는지를 나타낸다.
디코더 및 인코더 각각은 상기와 같은 정보를 대안 7에 기술된 것처럼 사용할 수 있다.
대안( Alternative ) 9
또 다른 대안에 따라, 타일의 ID를 나타내는 구문 엘리먼트(tile_id_offset)가 엔트리 포인트 오프셋 각각을 위해 전송됨으로써, 디코더는 어느 엔트리 포인트 오프셋이 대응되는 지에 관해 알 수 있게 된다. 따라서, 상기 인코더는 슬라이스 헤더 내 구문 엘리먼트를 삽입하도록 그리고 상기 디코더에 이를 전송할 수 있도록 구성된다.
그러므로 상기 디코더는 다중 스레드(코어들)에 대한 디코딩 업무량을 분할하도록 구성된다. 스레드 각각은 상기 엔트리 포인트가 어떠한 타일에 대응하는지를 알기 때문에 상기 타일의 올바른 디코딩을 수행할 수 있다.
해당 대안에서, 상기 디코더는 하기 단계를 수행할 수 있도록 추가 구성된다.
1. 상기 디코더는 슬라이스를 수신하고, 어느 PPS와 SPS가 활성화되었는지를 추론하기 위해 상기 슬라이스 헤더 내 구문 엘리먼트를 파싱한다:
2. 상기 디코더는 상기 비트스트림을 파싱하고 그리고 상기 슬라이스에서 얼마나 많은 엔트리 포인트 오프셋이 존재하는지를 알아낸다. 엔트리 포인트 각각을 위하여 하기 단계가 수행된다:
상기 타일 ID 구문 엘리먼트가 파싱되고, 그리고 상기 타일 ID 구문 엘리먼트는 선택적으로 상기 엔트리 포인트에 대하여 타일 ID를 계산하기 위해 사용된다. 상기 타일 ID는 화상 내에서 상기 타일의 위치를 결정하기 위하여 선택적으로 상기 타일 정보와 함께 사용되고, 이로써 독립적으로 상기 타일이 디코딩될 수 있다.
3. 상기 슬라이스는 상기 단계 2에서 추론된 타일 구성을 사용하여 디코딩된다. 선택적으로, 다중 코어 (스레드) 상에서의 디코딩 업무량을 분할하기 위하여, 상기 디코더는 단계 2에서 디코딩된 타일 ID 들을 사용한다.
상기 대안의 한 일례에서, (화상 내에서 새로운 슬라이스를 항상 시작하는 제1 타일이고 따라서 엔트리 포인트를 필요로 하지 않는) ‘tile ID 0’을 전송할 필요가 없기 때문에, 전송되는 상기 값은 상기 타일 ID에서 1을 뺀 값이다. 그리하여 상기 구문 엘리먼트(코드 워드)는 ‘tile_id_offset_minus1’로 네이밍될 수 있다. 상기 구문 엘리먼트는 고정된 길이의 코드 워드 또는 UVLC에 의해 코딩될 수 있다.
대안( Alternative ) 10
또 다른 대안의 경우, 상기 구문 엘리먼트 ‘tile_id_delta_offset_minus1’를 사용하여 상기 리스트 내 이전 타일 ID에 대한 차이점으로 상기 대안 9로부터의 타일 ID가 인코딩된다. 제1 오프셋은 상기 슬라이스 내 제1 타일의 타일 ID에 대해 시그널링된다.
본 대안에 따라 상기 디코더는 하기 단계를 수행한다:
1. 상기 디코더는 슬라이스를 수신하고, 그리고 상기 디코더는 어느 PPS와 어느 SPS가 활성화되었는지를 추론하기 위하여 슬라이스 헤더 내 구문 엘리먼트들을 파싱한다:
2. 상기 디코더는 상기 비트스트림을 파싱하고, 그리고 상기 디코더는 슬라이스 내에 얼마나 많은 엔트리 포인트 오프셋이 존재하는지를 알아낸다. 엔트리 포인트 각각에 대해서는 다음이 수행된다:
상기 'tile ID delta' 구문 엘리먼트가 파싱된다. 상기 제1 타일 ID는 제1 델타(delta) 구문 엘리먼트의 값과 상기 슬라이스 내 제1 타일의 타일 ID를 결합시킴으로써 결정된다. 다른 모든 타일 ID는 상기 델타 구문 엘리먼트의 값과 이전 타일의 타일 ID를 결합시킴으로써 결정된다. 또는, 상기 제1 타일 ID는 제1 델타 구문 엘리먼트의 값과 상기 슬라이스 내 제1 타일에 1을 더한 타일 ID를 결합시킴으로써 결정된다. 다른 모든 타일 ID는 상기 델타 구문 엘리먼트의 값과 이전 타일에 1을 더한 타일 ID를 결합시킴으로써 결정된다:
상기 화상 내의 타일 위치를 결정하기 위하여 상기 타일 ID는 선택적으로 상기 타일 정보와 함께 사용되기 때문에, 상기 타일이 독립적으로 디코딩될 수 있다.
3. 상기 슬라이스는 스텝 2에서 추론된 타일 구성을 사용하여 디코딩된다. 선택적으로, 다중 코어 (스레드) 상에서 디코딩의 업무량을 분할하도록 상기 디코더는 상기 타일 ID들을 사용한다.
대안( Alternative ) 11
또 다른 대안으로서, 상기 대안 9 또는 10으로부터의 타일 ID가 상기 대안 5로부터의 ‘entry_point_offsets_for_all_tiles_flag’ 상에서 설정된다. 모든 엔트리 포인트가 시그널링 되는 경우, ‘이전 엔트리 포인트 오프셋+1’의 타일 ID로 정확히 계산되기 때문에 상기 타일 ID를 시그널링 할 필요가 없어진다.
이러한 경우에, 상기 디코더는 하기 단계를 수행하도록 구성된다:
1. 상기 디코더는 슬라이스를 수신하고, 그리고 상기 디코더는 어느 PPS 및 어느 SPS가 활성화되었는지를 추론하기 위해 상기 슬라이스 헤더 내에서 구문 엘리먼트를 파싱한다:
2. (예를 들어, 코드 워드 ‘tiles_or_entropy_sync_idc’에 의해 시그널링되는 것처럼) 다중 타일이 사용됨을 상기 SPS가 나타내는 경우, 하기 단계가 수행된다:
a. 슬라이스 헤더 내에서 ‘num_entry_point_offsets’이 0보다 큰 경우, 0부터 ‘num_entry_point_offsets - 1’ 범위 내에서 각 i 에 대하여 하기 단계가 수행된다:
i. 상기 SPS 내에서 ‘entry_point_offsets_for_all_tiles_flag’가 0인 경우 ‘tile_id_offset_minus1’ 구문 엘리먼트는 파싱되고, 그리고 선택적으로 엔트리 포인트 각각에 대하여 타일 ID를 계산한다.
ii. 또한, 선택적으로, 엔트리 포인트 I를 위한 타일 ID가 엔트리 포인트(i-1)에 1을 더한 것의 타일 ID로 계산된다.(타일 ID가 슬라이스에서의 제1 타일에 1을 더한 타일 ID로 계산되는 i=0인 경우 제외)
3. 또한, 타일들은 사용되지 않는다:
4. 상기 슬라이스는 스텝 2 또는 3에서 추론된 타일 구성을 사용하여 디코딩된다. 선택적으로, 다중 코어 (스레드) 상의 디코딩 업무량을 분할하기 위해 상기 디코더는 스텝 i 및 ii에서 디코딩된 타일 ID들을 사용한다.
대안( Alternative ) 12
또 다른 대안으로서, 엔트리 포인트 마커의 뒤를 따르는 슬라이스 데이터에 존재하는 타일 ID 구문 엘리먼트(tile_id_marker_minus1)가 상기 대안 6으로부터의 ‘entry_point_marker_for_all_tiles_flag’ 상에서 설정된다. 모든 엔트리 포인트가 시그널링 되는 경우, ‘이전 엔트리 포인트 마커+1’의 타일 ID로 정확하게 계산되기 때문에 타일 ID를 시그널링 할 필요가 없다.
이러한 경우, 상기 디코더는 하기 단계를 수행하도록 구성된다:
1. 상기 디코더는 슬라이스를 수신하고, 그리고 상기 디코더는 어느 PPS와 SPS가 활성화되었는지를 추론하기 위하여 슬라이스 헤더에서 구문 엘리먼트들을 파싱한다:
2. (예를 들어 코드 워드 ‘tiles_or_entropy_sync_idc’에 의해 시그널링 되는 경우처럼) 다중 타일들이 사용되고 있음을 SPS가 나타내는 경우, 하기 단계가 수행된다:
a. 엔트리 포인트 마커(출발코드, ‘entry_point_marker_two_3bytes’)의 발생을 찾기 위하여, 상기 디코더가 NAL 데이터를 통해 스캔한다:
b. SPS에서의 ‘entry_point_offsets_for_all_tiles_flag’가 0과 동일한 경우, ‘tile_id_marker_minus1’ 구문 엘리먼트가 파싱되고 그리고 선택적으로 엔트리 포인트의 타일 ID를 계산하기 위해 사용된다:
c. 또한, 선택적으로, 카운터가 슬라이스 내 엔트리 포인트 마커의 수를 카운트(count)하기 위해 사용되고, 그리고 엔트리 포인트 각각을 위한 타일 ID는 (스캐닝 동안) 엔트리 포인트에 도달한 후에 슬라이스 내 제1 타일의 타일 ID에 카운터 값을 더하여 계산된다.
3. 또한, 타일들은 사용되지 않는다:
4. 스텝 2 또는 스텝 3에서 추론된 타일 구성을 사용하여 상기 슬라이스가 디코딩된다. 다중 코어 (스레드) 상에서의 디코딩 업무량을 분할하기 위해, 선택적으로 상기 디코더는 스텝 b 또는 스텝 c에서 추론된 타일 ID를 사용한다.
대안( Alternative ) 13
또 다른 대안으로서, 대안 9 또는 대안 10 으로부터의 타일 ID가 대안 7로부터의 ‘entry_points_for_all_tiles_flag’ 상에서 설정된다. 모든 엔트리 포인트가 시그널링되면, ‘이전 엔트리 포인트+1’의 타일 ID로 정확히 계산될 수 있기 때문에 타일 ID를 시그널링할 필요가 없다.
이러한 경우, 상기 디코더는 하기 단계를 수행하도록 구성된다:
1. 상기 디코더는 슬라이스를 수신하고, 그리고 상기 디코더는 어느 PPS와 SPS가 활성화되었는지를 추론하기 위해 상기 슬라이스 헤더 내의 구문 엘리먼트들을 파싱한다:
2. (예를 들어 코드 워드 ‘tiles_or_entropy_sync_idc’에 의해 시그널링되는 경우처럼) 다중 타일들이 사용되고 있음을 상기 SPS가 나타내는 경우, 하기 단계가 수행된다:
a. 상기 슬라이스 헤더에서의 ‘num_entry_point_offsets’이 0 보다 큰 경우, ‘0 부터 num_entry_point_offsets-1’의 범위에 있는 i 각각을 위하여 다음 단계가 수행된다:
i. 상기 SPS 내 ‘entry_point_for_all_tiles_flag’가 0인 경우, ‘tile_id_offset_minus1’ 구문 엘리먼트가 파싱되고, 그리고 선택적으로 상기 엔트리 포인트를 위하여 타일 ID를 계산하도록 사용된다.
ii. 또한, 선택적으로, 엔트리 포인트 i를 위한 타일 ID가 엔트리 포인트(i-1)에 1을 더한 것의 타일 ID로 계산된다(타일 ID가 슬라이스 내 제1 타일에 1을 더하는 것의 타일 ID로 계산되는 i=0인 경우 제외).
3. 또한 타일들은 사용되지 않는다.
4. 상기 슬라이스는 스텝 2 또는 스텝 3에서 추론된 타일 구성을 사용하여 디코딩된다. 다중 코어 (스레드) 상에서의 디코딩 업무량을 분할하기 위해, 선택적으로 상기 디코더는 스텝 i 및 ii 에서 추론된 타일 ID들을 사용한다.
상기와 같은 본 발명의 실시예는 타일에 중점을 둔 것이지만, 본 발명 실시예의 범위 내에서 상기 타일이 웨이브 프런트로 대체되거나 상기 타일 ID가 서브 스트림 ID로도 대체될 수도 있다.
나아가, ‘tiles_fixed_structure_flag’는 디코더에 대하여 시퀀스 전체에 걸쳐 일정하게 유지되는 타일 구조를 표시하기 위하여 사양 전반에 걸쳐 사용된다. 그러나, 이러한 플래그는 타일 구조가 일정하게 유지되도록 시그널링 하는 방법의 일례일 뿐이다. 그러므로, ‘tiles_fixed_structured_flag’와 그 값 및 비트스트림 내에서의 위치는 예시적인 것이다. 또한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명에 소개된 일례를 타일 구조가 일정하게 유지시키는 시그널링 수단에 대하여 적용할 수 있을 것임이 분명하다.

Claims (29)

  1. 인코더 내에서 실행되는 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩 하는 방법으로서,
    - 상기 시퀀스 내의 모든 화상이 타일 구조를 사용하는 타일들에 의해 같은 방법으로 분할되는지 여부를 결정하는 단계(302); 및,
    - 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용(303)되는 경우에, 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하는 단계(304);
    를 포함하는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하는 방법.
  2. 제1항에 있어서, 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보는 플래그에 의해 발송되는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하는 방법.
  3. 제1항 또는 제2항 중 어느 한 항에 있어서, 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보는 구문 엘리먼트 ‘tiles_fixed_structure_flag’에서 발송되는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하는 방법.
  4. 제3항에 있어서, 상기 구문 엘리먼트는 SPS (sequence parameter set)에서 발송되는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하는 방법.
  5. 제1항에 있어서, 상기 인코더는 HEVC(High Efficiency Video Coding) 인코더인 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하는 방법.
  6. 엘리먼트 내에서 실행되는 다중 화상 비디오 스트림의 화상 시퀀스를 파싱(parsing)하는 방법으로서,
    - 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되지를 나타내는 정보를 수신하는 단계(321);
    - 상기 타일 구조의 정보를 수신하는 단계(322); 및,
    - 상기 비디오 스트림 시퀀스의 디코딩을 결정할 때, 상기 수신된 정보를 사용하는 단계(323);
    를 포함하는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 파싱(parsing)하는 방법.
  7. 제6항에 있어서, 상기 비디오 스트림 시퀀스 전체에 결쳐 동일한 타일 구조가 사용됨을 나타내는 정보는 플래그에 의해 수신되는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 파싱(parsing)하는 방법.
  8. 제6항 또는 제7항 중 어느 한 항에 있어서, 상기 비디오 스트림 시퀀스 전체에 걸쳐 동일 타일 구조가 사용됨을 나타내는 정보는 구문 엘리먼트 ‘tiles_fixed_structure_flag’에서 수신되는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 파싱(parsing)하는 방법.
  9. 제8항에 있어서, 상기 구문 엘리먼트는 SPS에서 수신되는 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 파싱(parsing)하는 방법.
  10. 제6항에 있어서, 상기 엘리먼트는 네트워크 엘리먼트이거나 또는 디코더 즉, HEVC 디코더인 것을 특징으로 하는 다중 화상 비디오 스트림의 화상 시퀀스를 파싱(parsing)하는 방법.
  11. 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하기 위한 인코더(600)로서,
    타일 구조를 사용하는 타일들에 의해 동일한 방법으로 상기 시퀀스 내의 모든 화상이 분할되는 지를 결정하는 결정 유닛(617); 및,
    현재의 화상이 분할되어 있는 상기 타일 구조의 정보를 발송하고, 그리고 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하는 출력 유닛(620);
    을 포함하는 것을 특징으로 하는 인코더.
  12. 제11항에 있어서, 상기 인코더의 출력 유닛(620)은 구문 엘리먼트 ‘tiles_fixed_structure_flag’ 내 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하도록 구성된 것을 특징으로 하는 인코더.
  13. 제12항에 있어서, 상기 인코더의 출력 유닛(620)은 SPS에서 상기 구문 엘리먼트를 발송하는 것을 특징으로 하는 인코더.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 출력 유닛(620)은 세션 셋-업 동안 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하는 것을 특징으로 하는 인코더.
  15. 제11항에 있어서, 상기 출력 유닛(620)은 서로에 대하여 엔트리 포인트를 시그널링 하고, 상기 엔트리 포인트는 타일 각각의 제1 바이트를 나타내는 것을 특징으로 하는 인코더.
  16. 제11항에 있어서, 상기 인코더는 HEVC 인코더인 것을 특징으로 하는 인코더.
  17. 다중 화상 비디오 스트림의 화상 시퀀스를 파싱하기 위한 엘리먼트(650)로서, 상기 엘리먼트는
    상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 지를 나타내는 정보를 수신하기 위하여, 현재의 화상이 분할되어 있는 상기 타일 구조의 정보를 수신하는 입력 유닛(630); 및,
    상기 비디오 스트림의 시퀀스 디코딩을 결정하는 경우 상기 수신된 정보를 사용하고 파싱하는 파싱 유닛(640);
    을 포함하는 것을 특징으로 하는 엘리먼트.
  18. 제17항에 있어서, 상기 엘리먼트(650)의 입력 유닛(630)은 구문 엘리먼트 ‘tiles_fixed_structure_flag’에서 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 수신하는 것을 특징으로 하는 엘리먼트.
  19. 제18항에 있어서, 상기 엘리먼트(650)의 입력 유닛(630)은 SPS에서 상기 구문 엘리먼트를 수신하는 것을 특징으로 하는 엘리먼트.
  20. 제17항에 있어서, 상기 입력 유닛(630)은 세션 셋-업 동안 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 수신하는 것을 특징으로 하는 엘리먼트.
  21. 제17항에 있어서, 상기 입력 유닛(630)은 서로에 대하여 엔트리 포인트의 정보를 수신하고, 상기 엔트리 포인트는 타일 각각의 제1 바이트를 나타내는 것을 특징으로 하는 엘리먼트.
  22. 제17항에 있어서, 상기 엘리먼트는 네트워크 엘리먼트 또는 디코더, 즉 HEVC 디코더인 것을 특징으로 하는 엘리먼트.
  23. 다중 화상 비디오 스트림의 화상 시퀀스를 인코딩하기 위한 인코더 (600), 및 출력 유닛(620)을 포함하는 송신기(401)로서,
    상기 인코더 (600)는 타일 구조를 사용하는 타일들에 의해 동일한 방법으로 상기 시퀀스 내의 모든 화상이 분할되는지 여부를 결정하는 결정 유닛(617)을 포함하고, 그리고,
    상기 출력 유닛(620)은 현재의 화상이 분할되어 있는 상기 타일 구조의 정보를 발송하고, 그리고 상기 비디오 스트림의 상기 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우에 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하는 것을 특징으로 하는 송신기(401).
  24. 다중 화상 비디오 스트림의 화상 시퀀스를 파싱하기 위한 엘리먼트(650)를 포함하는 수신기(402)로서, 상기 엘리먼트는
    상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 지를 나타내는 정보를 수신하기 위하여, 현재의 화상이 분할되어 있는 타일 구조의 정보를 수신하는 입력 유닛(630); 및,
    상기 비디오 스트림의 시퀀스 디코딩을 결정하는 때에 상기 수신된 정보를 사용하고 파싱하는 파싱 유닛(640);
    을 포함하는 것을 특징으로 하는 수신기(402).
  25. 제24항에 따른 수신기(402) 및/또는 제23항에 따른 송신기(401)를 포함하는 장치(403).
  26. 컴퓨터 프로그램(670)이 저장된 비일시적 컴퓨터 판독가능한 기억매체(non-transitory computer readable medium)로서 프로세서(615) 상에서 작동하는 컴퓨터 가독성 코드 유닛(computer readable code units)을 포함하고, 상기 컴퓨터 가독성 코드 유닛은 상기 프로세서(615)가,
    - 타일 구조를 사용하는 타일들에 의해 다중 화상 비디오 스트림의 화상 시퀀스 내의 모든 화상이 동일한 방법으로 분할되는지 여부를 결정하고; 그리고
    - 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용되는 경우, 상기 비디오 스트림의 시퀀스 전체에 걸쳐 동일한 타일 구조가 사용됨을 나타내는 정보를 발송하도록;
    작동시키는 것을 특징으로 하는 컴퓨터 프로그램(670)이 저장된 비일시적 컴퓨터 판독가능한 기억매체(non-transitory computer readable medium).

  27. 삭제
  28. 컴퓨터 프로그램(680)이 저장된 비일시적 컴퓨터 판독가능한 기억매체(non-transitory computer readable medium)로서 프로세서(660) 상에서 작동하는 컴퓨터 가독성 코드 유닛을 포함하고, 상기 컴퓨터 가독성 코드 유닛은 상기 프로세서(660)가,
    - 비디오 스트림의 시퀀스 전체에 걸쳐 타일 구조가 사용되는 지를 나타내는 정보를 수신하고;
    - 현재의 화상이 분할되어 있는 타일 구조의 정보를 수신하고; 그리고,
    - 상기 비디오 스트림 시퀀스의 디코딩을 결정하는 경우에 상기 수신된 정보를 사용하도록;
    작동시키는 것을 특징으로 하는 컴퓨터 프로그램(680)이 저장된 비일시적 컴퓨터 판독가능한 기억매체(non-transitory computer readable medium).
  29. 삭제
KR1020147028621A 2012-04-16 2013-04-15 압축 화상 시퀀스를 위해 병렬 프로세싱 가능성을 나타내는 고정 타일 구조 플래그 KR101649284B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261624480P 2012-04-16 2012-04-16
US61/624,480 2012-04-16
PCT/SE2013/050407 WO2013158019A1 (en) 2012-04-16 2013-04-15 Fixed tile structure flag indicating parallel processing possibility for a sequence of compressed video

Publications (2)

Publication Number Publication Date
KR20150042145A KR20150042145A (ko) 2015-04-20
KR101649284B1 true KR101649284B1 (ko) 2016-08-18

Family

ID=48446580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147028621A KR101649284B1 (ko) 2012-04-16 2013-04-15 압축 화상 시퀀스를 위해 병렬 프로세싱 가능성을 나타내는 고정 타일 구조 플래그

Country Status (9)

Country Link
US (1) US20150117538A1 (ko)
EP (2) EP3024243B1 (ko)
JP (1) JP6055080B2 (ko)
KR (1) KR101649284B1 (ko)
CN (1) CN104221388B (ko)
ES (1) ES2568493T3 (ko)
IN (1) IN2014DN07859A (ko)
PL (1) PL3024243T3 (ko)
WO (1) WO2013158019A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009590A1 (ko) * 2017-07-03 2019-01-10 김기백 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치
US10986351B2 (en) 2017-07-03 2021-04-20 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Method and device for decoding image by using partition unit including additional region

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111593A1 (ja) 2012-01-27 2013-08-01 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
EP2846543A4 (en) * 2012-04-30 2015-05-06 Panasonic Ip Corp America BILDCODE PROCESS, PICTURE DECODING METHOD, BILDCODE DEVICE, IMAGE DECODING DEVICE, AND BILDCODE AND DECODER DEVICE
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US20140092987A1 (en) * 2012-09-28 2014-04-03 Apple Inc. Entropy coding techniques and protocol to support parallel processing with low latency
US10205950B2 (en) 2014-02-21 2019-02-12 Panasonic Corporation Image decoding method, image encoding method, image decoding apparatus, and image encoding apparatus
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
CN104574265B (zh) * 2014-12-30 2018-04-17 中科九度(北京)空间信息技术有限责任公司 卫星遥感图像数据的处理方法及装置
CN105554513A (zh) * 2015-12-10 2016-05-04 Tcl集团股份有限公司 一种基于h.264的全景视频传输方法及系统
KR102424421B1 (ko) * 2017-01-02 2022-07-22 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2019243539A1 (en) * 2018-06-21 2019-12-26 Telefonaktiebolaget Lm Ericsson (Publ) Tile partitions with sub-tiles in video coding
KR20240027873A (ko) * 2018-07-02 2024-03-04 노키아 테크놀로지스 오와이 비디오 코딩에서 타일 관련 어드레싱을 위한 방법 및 장치
WO2020127110A1 (en) * 2018-12-20 2020-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Signaling segment partitions in a parameter set
US11606555B2 (en) * 2018-12-20 2023-03-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for video coding using uniform segment split in pictures
HUE062613T2 (hu) * 2019-01-09 2023-11-28 Huawei Tech Co Ltd Az alkép pozíciójára vonatkozó korlátozások a videokódolásban
US20230032673A1 (en) * 2019-11-22 2023-02-02 Lg Electronics Inc. Image coding method based on entry point-related information in video or image coding system
KR20220005274A (ko) * 2020-07-06 2022-01-13 삼성전자주식회사 전자 장치에서 무선 통신 효율을 개선하기 위한 방법 및 그 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
CN101267564B (zh) * 2008-04-16 2011-06-15 中国科学院计算技术研究所 一种多处理器视频编码芯片装置和方法
WO2009150808A1 (ja) * 2008-06-10 2009-12-17 パナソニック株式会社 画像復号装置および画像符号化装置
US9300976B2 (en) * 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
JP2015507899A (ja) * 2012-01-20 2015-03-12 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 並列処理を許容している符号化概念、トランスポートデマルチプレクサおよびビデオビットストリーム
BR112014024270B1 (pt) * 2012-04-06 2023-01-17 Sony Corporation Dispositivo e método de decodificação

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HOROWITZ M: "JCT-VC BoG report: tiles and wavefront parallel processing" , JCT-VC MEETING; H0727. MPEG MEETING; 1-2-2012 - 10-2-2012 ; SAN JOSE;
NAKAGAMI 0 ET AL: "AHG4: Bitstream restriction flag to enable tile split ", JCT-VC MEETING; I0056. MPEG MEETING; 27-4-2012 - 7-5-2012 ; GENEVA;
SASAI H ET AL: "Constrained Tile for parallel decoding", JCT-VC MEETING; MPEG MEETING; H0345. 1-2-2012 - 10-2-2012 ; SAN JOSE;
SJABERG R ET AL: "AHG4: Enabling decoder parallel with tiles", JCT-VC MEETING; I0118. MPEG MEETING; 27-4-2012 - 7-5-2012 ; GENEVA;

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009590A1 (ko) * 2017-07-03 2019-01-10 김기백 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치
US10986351B2 (en) 2017-07-03 2021-04-20 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Method and device for decoding image by using partition unit including additional region
US11509914B2 (en) 2017-07-03 2022-11-22 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Method and device for decoding image by using partition unit including additional region

Also Published As

Publication number Publication date
WO2013158019A1 (en) 2013-10-24
US20150117538A1 (en) 2015-04-30
PL3024243T3 (pl) 2018-01-31
JP2015516756A (ja) 2015-06-11
EP3024243A1 (en) 2016-05-25
IN2014DN07859A (ko) 2015-04-24
EP3024243B1 (en) 2017-08-02
EP2839652B1 (en) 2016-03-09
JP6055080B2 (ja) 2016-12-27
KR20150042145A (ko) 2015-04-20
EP2839652A1 (en) 2015-02-25
CN104221388A (zh) 2014-12-17
ES2568493T3 (es) 2016-04-29
CN104221388B (zh) 2018-01-23

Similar Documents

Publication Publication Date Title
KR101649284B1 (ko) 압축 화상 시퀀스를 위해 병렬 프로세싱 가능성을 나타내는 고정 타일 구조 플래그
US10701401B2 (en) Syntax structures indicating completion of coded regions
JP6983654B2 (ja) 並列処理のためのイントラブロックコピー予測制限
JP6246180B2 (ja) 基準画像リストの取り扱い
KR101809591B1 (ko) 저지연 화상 코딩
CN107105295B (zh) 用于高效视频译码(hevc)和扩展的视频参数集
US20220329792A1 (en) Method and apparatus for encoding and decoding a video stream with subpictures
KR101729425B1 (ko) 비디오 시퀀스의 픽처의 디코딩 및 인코딩
US11356667B2 (en) Methods providing encoding and/or decoding of video using a syntax indicator and picture header
KR20160105510A (ko) 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
TWI824207B (zh) 視頻編碼及解碼

Legal Events

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