KR101888375B1 - 화상 부호화 장치, 화상 부호화 방법 및 기록 매체, 화상 복호장치, 화상 복호방법 및 기록 매체 - Google Patents

화상 부호화 장치, 화상 부호화 방법 및 기록 매체, 화상 복호장치, 화상 복호방법 및 기록 매체 Download PDF

Info

Publication number
KR101888375B1
KR101888375B1 KR1020177030580A KR20177030580A KR101888375B1 KR 101888375 B1 KR101888375 B1 KR 101888375B1 KR 1020177030580 A KR1020177030580 A KR 1020177030580A KR 20177030580 A KR20177030580 A KR 20177030580A KR 101888375 B1 KR101888375 B1 KR 101888375B1
Authority
KR
South Korea
Prior art keywords
tile
block
decoding
head position
image
Prior art date
Application number
KR1020177030580A
Other languages
English (en)
Other versions
KR20170122841A (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 KR20170122841A publication Critical patent/KR20170122841A/ko
Application granted granted Critical
Publication of KR101888375B1 publication Critical patent/KR101888375B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/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/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/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/46Embedding additional information in the video signal during the compression process

Abstract

부호화 데이터는, 타일 데이터 분할 정보, 타일 데이터 위치 정보, 블록 라인 데이터 분할 정보, 및 블록 라인 데이터 위치 정보에 의거하여 복호된다. 상기 타일 데이터 분할 정보는, 상기 부호화 데이터가, 상기 타일의 부호화 데이터 항목들인 타일 데이터 항목들로 구성되었는가 아닌가를 나타낸다. 상기 타일 데이터 위치 정보는, 상기 타일 데이터 항목들의 위치를 나타낸다. 상기 블록 라인 데이터 분할 정보는, 각 타일 데이터 항목이 제1블록 라인 데이터와 제2블록 라인 데이터로 구성되었는가를 아닌가를 나타낸다. 상기 제1블록 라인 데이터는 선형으로 배치된 블록의 집합인 제1 블록 라인의 부호화 데이터다. 상기 제2블록 라인 데이터는 상기 제1 블록 라인에 인접하는 제2블록 라인의 부호화 데이터다. 상기 블록 라인 데이터 위치 정보는, 상기 제2블록 라인 데이터의 위치를 나타낸다.

Description

화상 부호화 장치, 화상 부호화 방법 및 기록 매체, 화상 복호장치, 화상 복호방법 및 기록 매체{IMAGE ENCODING APPARATUS, METHOD OF IMAGE ENCODING, AND RECORDING MEDIUM, IMAGE DECODING APPARATUS, METHOD OF IMAGE DECODING, AND RECORDING MEDIUM}
본 발명은 화상 부호화 장치, 화상 부호화 방법 및 기록 매체, 화상 복호장치, 화상 복호방법 및 기록 매체에 관한 것이다. 특히, 본 발명은, 각 픽처가 사각형의 타일로 분할된 화상의 병렬처리에 의거한 부호화 및 복호에 관한 것이다.
동화상의 압축 기록에 사용된 공지된 부호화방법 중 하나는, H.264/MPEG-4 AVC(이하, "H.264")가 있다((ITU-T H.264(03/2010) Advanced video coding for generic audio visual services). H.264에 있어서는, 각 픽처를 복수의 슬라이스로 분할해서 슬라이스 단위로 화상 데이터를 부호화하는 것이 가능하다. 슬라이스들은 서로 의존성이 거의 없다. 따라서, 그 슬라이스들은, 병렬로 부호화 또는 복호화될 수 있다. 멀티 코어의 CPU 등에 의해 병렬 처리를 실행하여서 처리 시간을 단축할 수 있는 것이, 슬라이스 분할의 상당한 이점 중 하나다.
또한, 각 슬라이스는 H.264에 사용되어 있는 종래의 2값 산술부호화의 수법에 의해, 부호화된다. 구체적으로, 각 신택스(syntax) 요소가 2치화 되어, 2값 신호를 생성한다. 각 신택스 요소에는, 미리 발생 확률이 테이블(이하, "확률 테이블")로서 주어진다. 상기 2값 신호는 상기 확률 테이블에 의거하여 산술 부호화된다. 이 확률 테이블은, 복호시에는 복호정보로서, 계속되는 부호의 복호에 사용되고, 부호화시에는 부호화정보로서, 계속되는 부호화에 사용된다. 부호화가 행해질 때마다, 부호화된 2값 신호가 보다 높은 확률이 주어진 부호인 것인가 아닌가를 나타내는 통계 정보에 의거하여 상기 테이블이 갱신된다.
최근, H.264의 후계로서 보다 고효율 부호화방식의 국제표준화의 활동이 개시되어서, 비디오 부호화 연합팀(JCT-VC)이 ISO/IEC와 ITU-T에 의해 설립되었다. JCT-VC에서는, 고효율 비디오 코딩(HEVC)의 표준화가 진척되고 있다.
고효율 비디오 코딩(HEVC)의 표준화에 대해서는, 여러 가지의 부호화 툴이, 부호화 효율 향상뿐만 아니라 설치의 용이성과 처리 시간의 단축의 관점으로부터 폭넓게 검토되고 있다. 처리 시간의 단축을 위해, 병렬성을 개선하기 위한 수법도 검토되고 있다. 그 수법들 중 하나는, 엔트로피 부호화/복호화를 병렬로 처리하기 위한, Wavefront라고 불리는 수법이다(JCT-VC 문서 JCTVC-I1003.doc, 인터넷<http://phenix.int-evry.fr/jct/doc). 부호화 대상의 2값 신호는, 항상 갱신된 확률 테이블을 사용해서 부호화되어야 하기 때문에, 통계 정보를 리셋트하지 않으면 병렬 처리를 행할 수 없다. 그러나, 그 통계 정보를 리셋트하면, 부호화 효율이 저하된다. 한편, Wavefront는, 복수의, 미리 지정된 위치의 블록을 부호화 처리할 때의 상기 확률 테이블을, 다음 라인의 좌측 블록에 사용됨에 따라서, 부호화 효율의 저하를 억제하면서 라인 단위로 블록의 병렬 부호화를 달성한다. 상기 Wavefront에 관해서는 주로 부호화에 관해서 설명했지만, 복호에 관해서도 마찬가지다.
HEVC에 의하면, 병렬성을 개선하는 수법은 타일링(tiling)을 포함한다. 이 기술에 의하면, 타일들에 의해 픽처가 독립적으로 처리될 수 있는 사각형 영역으로 분할할 수 있다. 이에 따라, 병렬 부호화/복호에 의한 높은 스루풋을 달성할 수 있고, 부호화장치 및 복호장치 각각이 구비하는 메모리의 용량을 삭감할 수 있다.
종래, HEVC에서는, tiles_or_entropy_coding_sync_idc부호를 사용하여, 타일링 또는 Wavefront 등의 처리를 배타적으로 행하고 있었다. 그 부호의 값이 0이면, 이것은, 픽처가 1개의 타일로 이루어지고, Wavefront병렬처리가 행해지지 않는다는 것을 의미한다. 그 부호의 값이 1이면, 이것은 픽처가 복수의 타일로 이루어지지만, Wavefront병렬처리가 행해지지 않는다는 것을 의미한다. 그 부호의 값이 2이면, 이것은, 픽처가 1개의 타일로 이루어지고, Wavefront 등의 병렬처리가 행해진다는 것을 의미한다. 그 부호의 값이 3이면, 이것은, 픽처가 1개의 타일로 이루어지고, Wavefront 병렬처리가 행해지지 않고, 독립적으로 복호 가능한 엔트로피 슬라이스가 사용된다는 것을 의미한다. 이외의 값은 사용될 수 없다. 그 이유는 다음과 같다. 충분히 낮은 해상도 화상에 관해 복수의 처리를 병렬로 행하면, 이러한 병렬처리의 제어가 복잡해질 것이다. 복잡도가 픽처 사이즈에 대해 너무 높기 때문에, 배타적인 처리를 행한다. 특히, 8K 또는 4K 화상 등의 화상이 대단히 큰 실시간 복호는, 높은 병렬성을 필요로 한다. 그 화상을 매우 작은 타일로 분할해서 병렬성을 개선할 수 있지만, 타일간 경계에서는 예측에 이용가능한 정보가 한정되기 때문에 부호화 효율이 저하된다. 블록 라인들로 분할된 매우 큰 화상에 행해진 Wavefront 병렬처리는, 대용량 라인 버퍼를 필요로 하지만, 블록 라인들이 확률 테이블을 포함하는 서로에 의존 관계를 갖기 때문에 타일들을 사용하는 것보다는 병렬성을 개선할 수 없다. 이러한 큰 화상에 대하여, 화상을 특정한 크기의 세그먼트로 분할하고, 그 세그먼트들을 컴퓨터의 노드에 할당하고, 노드마다 복수의 프로세서를 동작시키는 것이 필요하다. 예를 들면, 노드 단위로 타일을 노드에 할당해서 처리를 행할 경우, 불행하게도, 타일내에서 Wavefront 등의 병렬 처리를 행할 수 없다.
본 발명은, 화상 데이터의 프레임을 사각형 타일로 분할해서 그 화상 데이터를 타일 단위로 부호화하여서 얻어진 부호화 데이터를 복호하는 화상복호장치를 제공하고, 이 장치는 아래의 구성요소를 포함한다. 이 취득부는, 상기 부호화 데이터로부터, 타일 데이터 분할 정보, 타일 데이터 위치 정보, 블록 라인 데이터 분할 정보, 및 블록 라인 데이터 위치 정보를 취득한다. 상기 타일 데이터 분할 정보는, 상기 부호화 데이터가, 상기 타일의 부호화 데이터 항목들인 타일 데이터 항목들로 구성되었는가 아닌가를 나타낸다. 상기 타일 데이터 위치 정보는, 상기 타일 데이터 항목들의 위치를 나타낸다. 상기 블록 라인 데이터 분할 정보는, 각 타일 데이터 항목이 제1블록 라인 데이터와 제2블록 라인 데이터로 구성되었는가를 아닌가를 나타내고, 상기 제1블록 라인 데이터는 선형으로 배치된 블록의 집합인 제1블록 라인의 부호화 데이터이고 상기 제2블록 라인 데이터는 상기 제1블록 라인에 인접하는 제2블록 라인의 부호화 데이터다. 상기 블록 라인 데이터 위치 정보는, 상기 제2블록 라인 데이터의 위치를 나타낸다. 제1 복호부는, 상기 취득부에 의해 취득된 상기 정보에 의거하여 상기 제1 블록 라인 데이터를 복호한다. 제2 복호부는, 상기 취득부에 의해 취득된 상기 정보와, 상기 제1 블록 라인에 속하는 소정의 위치에서의 블록의 부호화 데이터를 복호하여서 얻어진 복호정보에 의거하여, 상기 제2블록 라인 데이터를 복호한다.
본 발명에 의하면, 다단계의 병렬처리를 가능하게 하는 부호화 포맷을 제공함으로써, 처리의 병렬성을 향상시키고, 고속 부호화 및 복호를 달성한다.
본 발명의 또 다른 특징들은, 첨부도면을 참조하여 이하의 예시적 실시예들의 설명으로부터 명백해질 것이다.
본원발명에 따르면, 사각형의 타일-복수의 블록 열을 포함-을 포함하는 화상을 부호화하여 취득된 데이터를 포함하는 비트 스트림을 복호할 수 있는, 화상 복호장치로서, 상기 비트 스트림으로부터, 상기 타일의 높이 방향에 있어서의 블록의 수를 나타내는 정보를 취득하는 블록 수 취득 수단과, 상기 비트 스트림으로부터, 상기 타일에 포함된 블록 열의 선두 위치를 나타내는 선두 위치 정보를 취득하는 선두 위치 정보 취득 수단과, 상기 비트 스트림으로부터, 상기 화상이 복수의 타일을 포함하는가를 나타내는 플래그를 취득하는 플래그 취득 수단과, 특정 복호 처리가 실행되고, 상기 플래그가 상기 화상이 복수의 타일을 포함하는 것을 나타내는 경우에, 상기 블록 수 취득 수단에 의해 취득된 상기 정보 및 상기 선두 위치 정보 취득 수단에 의해 취득된 상기 선두 위치 정보에 의거하여 상기 타일을 포함하는 상기 화상을 복호하는 복호 수단을 포함하고, 상기 특정 복호 처리는, 산술 복호를 위한 정보를, 제 1 블록 열의 다음의 제 2 블록 열에 있어서의 제 1 블록의 복호에서 참조하는 것을 포함하고, 상기 산술 복호를 위한 정보는 상기 제 1 블록 열에 있어서의 블록의 복호에서 갱신된 정보인, 화상 복호장치를 제공한다.
본 발명은, 다단계의 병렬처리를 가능하게 하는 부호화 포맷을 제공하여 처리의 병렬성을 개선하고, 고속 부호화 및 복호를 달성한다.
도 1은 제1 실시예에 따른 화상 복호장치가 복호하는 화상 부호화 포맷을 나타낸 도면이다.
도 2는 화상의 타일 분할을 나타낸 도면이다.
도 3은 타일의 블록 라인 분할을 나타낸 도면이다.
도 4는 제1 실시예에 따른 화상복호장치와 제2 실시예에 따른 화상복호장치 각각의 구성을 나타내는 블록도다.
도 5는 제1 실시예 및 제2 실시예 각각에 따른 화상복호장치의 동작을 나타내는 흐름도다.
도 6은 제1 실시예 및 제2 실시예 각각에서의 상단(top)의 블록 라인의 복호 처리를 나타내는 흐름도다.
도 7은 제1 실시예 및 제2 실시예에서의 비상단(non-top)의 블록 라인의 복호 처리를 나타내는 흐름도다.
도 8은 제1 실시예 및 제2 실시예에서의 블록의 복호 처리를 나타내는 흐름도다.
도 9는 제1 실시예에서 타일 데이터의 사이즈의 결정 처리를 나타내는 흐름도다.
도 10은 제2 실시예에 따른 화상복호장치가 복호하는 화상 부호화 포맷을 나타낸 도면이다.
도 11은 제2 실시예에 따른 타일 데이터의 사이즈의 결정 방법을 나타내는 흐름도다.
도 12는 제2 실시예에서의 블록 라인 데이터의 사이즈의 결정 방법을 나타내는 흐름도다.
도 13은 제3 실시예 및 제4 실시예 각각에 따른 화상 부호화장치의 구성을 나타내는 블록도다.
도 14는 제3 실시예에 따른 화상 부호화장치의 동작을 나타내는 흐름도다.
도 15는 제3 실시예의 상단의 블록 라인의 부호화 처리를 나타내는 흐름도다.
도 16은 제3 실시예의 블록의 부호화 처리를 나타내는 흐름도다.
도 17은 제3 실시예의 비상단의 블록 라인의 부호화 처리를 나타내는 흐름도다.
도 18은 제3 실시예의 위치 정보의 계산 처리를 나타내는 흐름도다.
도 19는 제1 실시예 및 제2 실시예의 각 타일 복호부의 구성을 나타내는 블록도다.
도 20은 제1 실시예 및 제2 실시예의 타일 복호 처리를 나타내는 흐름도다.
도 21은 제1 실시예의 블록 라인 데이터의 사이즈의 결정 처리를 나타내는 흐름도다.
도 22는 제4 실시예의 위치 정보의 계산 처리를 나타내는 흐름도다.
도 23은 제3 실시예 및 제4 실시예의 각 타일 부호화부의 구성을 나타내는 블록도다.
도 24는 제3 실시예 및 제4 실시예의 타일 부호화 처리를 나타내는 흐름도다.
도 25는 본 발명에 따른 각 복호장치에 적용가능한 컴퓨터의 하드웨어의 구성 예를 나타내는 블록도다.
이하, 첨부도면을 참조하여, 본 발명의 바람직한 실시예들을 상세하게 설명한다. 이하의 실시예들에 나타낸 구성은, 단지 예시에 지나지 않고, 본 발명은 예시된 구성에 한정되는 것은 아니다.
제1 실시예
본 발명의 제1 실시예에 따른 화상복호장치가 복호하는 화상 부호화 포맷에 있어서는 1프레임이 복수의 사각형 영역인 복수의 타일로 분할된다. 도 2에 제1 실시예에 있어서의 타일 구조를 나타낸다. 도 2를 참조하면, 수평 7680화소×수직 4320화소의 프레임이, 수평 2타일×수직 2타일의 어레이로 배치된 4개의 타일로 분할되어 있다. 본 발명의 부호화 포맷에서는, 각 블록은 수평 16화소×수직 16화소로 구성되어, 블록 단위로 부호화 또는 복호가 행해진다. 본 실시예에서는 각 블록을 16×16화소로 구성되지만, 본 발명은 이것에 한정되는 것은 아니다. 각 블록은 32×32화소로 구성되어도 좋거나, 64×64화소로 구성되어도 좋다. 각 타일 사이즈는 블록 사이즈의 체배이다. 도 2에 있어서, 각 타일은 수평 240개×수직 135개의 블록으로 구성된다. 상기 타일은 더욱 복수의 블록 라인으로 분할된다. 각 블록 라인은, 도 3에 나타나 있는 바와 같이 타일내의 블록을 라인 모양으로 집합시킨 것이다. 도 3을 참조하면, 세선으로 정의된 각 정방형은 블록(301)을 의미하고, 굵은선으로 정의된 각 장방형은 블록 라인(302)을 의미하고 있다.
본 실시예에 있어서의 HEVC 부호화 데이터의 포맷을 도 1에 나타낸다. 도 1에서, 상기 부호화 데이터는, 시퀀스의 부호화에 대한 정보가 포함된 헤더 정보인 시퀀스 파라미터 세트를 포함한다. 상기 부호화 데이터는, 한층 더, 픽처의 부호화에 대한 정보가 포함된 헤더 정보인 픽처 파라미터 세트, 슬라이스의 부호화에 대한 정보가 포함된 헤더 정보인 슬라이스 헤더 및 타일들의 다수의 부호화 데이터 항목을 포함한다. 픽처 파라미터 세트는, 타일 데이터 분할 정보 및 블록 라인 데이터 분할 정보를 포함한다. 슬라이스 헤더는 타일 데이터 위치 정보 및 블록 라인 데이터 위치 정보를 포함한다.
픽처 파라미터 세트는, 타일 데이터 분할 정보로서, 프레임이 타일들로 분할되고 각 타일의 화상 데이터가 부호화되어 있는 것인가 아닌가를 나타내는 TileFlag 플래그를 포함한다. TileFlag 플래그가 1의 값인 경우, 이것은 프레임이 타일들로 분할되고 각 타일의 화상 데이터가 부호화되어 있는 것을 나타낸다. TileFlag 플래그가 1의 값이 아닌 경우에, 이것은 프레임이 타일들로 분할되지 않은 것을 나타낸다. 그 TileFlag 플래그가 1의 값일 경우에, 프레임내의 수평 타일 수를 의미하는 num_tile_columns_minus1, 수직 타일 수를 의미하는 num_tile_rows_minus1, 및 타일 형상을 나타내는 uniform_spacing_flag의 정보가 배치된다. num_tile_columns_minus1정보는 프레임내의 실제의 수평 타일 수로부터 1을 감하여 얻어진 값이다. num_tile_rows_minus1정보는 프레임내의 실제의 수직 타일수로부터 1을 감하여 얻어진 값이다. 도 1을 참조하면, N은 슬라이스 중의 타일 수이며, 그 타일 수는 (num_tile_columns_minus1+1)×(num_tile_rows_minus1+1)에 의해 유일하게 결정된다. uniform_spacing_flag플래그는, 프레임내의 타일들이 같은 크기인지의 여부를 나타낸다. 이 플래그의 값이 1이면, 이것은 그 타일들이 같은 크기인 것을 나타낸다. 도 2는 같은 사이즈의 타일들이 사용된다, 즉 uniform_spacing_flag 플래그=1인 경우를 나타낸다. 이 플래그의 값이 0이면, 이것은 타일들의 크기가 다른 것을 나타낸다. 이에 따라, 그 다른 크기는, 신택스 요소로서 부호화되어야 한다.
픽처 파라미터 세트는, 블록 라인 데이터 분할 정보로서, WPPFlag 플래그를 포함한다. WPPFlag 플래그의 값이 1이면, 이것은 각 타일이 블록 라인들로 분할되고 각 블록 라인의 화상 데이터가 부호화되어 있는 것을 나타낸다. 본 실시예에서는 블록 라인 데이터 분할 정보 및 타일 데이터 분할 정보가 다른 플래그를 포함하지만, 본 발명은 이것에 한정되지 않는다. 타일 데이터 분할과 블록 라인 데이터 분할이 병용되는 것을 아는데 필요할 뿐이다. 예를 들면, 두개의 플래그의 조합을 나타내는 신택스 요소를 준비해서 아래와 같이 정의해도 좋다.
이 신택스 요소의 값이 0이면, 이것은, 타일 데이터 분할과 블록 라인 데이터 분할이 없는 것을 의미한다. 그 신택스 요소의 값이 1이면, 이것은, 타일 데이터 분할이 있고, 블록 라인 데이터 분할이 없는 것을 의미한다. 신택스 요소의 값이 2이면, 이것은 타일 데이터 분할이 없고, 블록 라인 데이터 분할이 있는 것을 의미한다. 신택스 요소의 값이 3이면, 이것은 타일 데이터 분할과 블록 라인 데이터 분할이 있는 것을 의미한다.
슬라이스 헤더는, TileFlag 플래그의 값이 1이면 타일 데이터 위치 정보를 포함하고, WPPFlag 플래그의 값이 1이면 블록 라인 데이터 위치 정보를 더 포함한다. 타일 데이터 위치 정보는, num_tile_entry_point_offsets신택스 요소와 tile_entry_point_offset신택스 요소를 포함한다. 블록 라인 데이터 위치 정보는, 타일의 수만큼 num_wpp_entry_point_offsets 신택스 요소 및 wpp_entry_point_offset신택스 요소의 세트를 포함한다. num_tile_entry_point_offsets신택스 요소의 값은, 슬라이스 중의 타일 수를 의미하는 N으로부터 1을 감한 값이 된다. num_wpp_entry_point_offsets신택스 요소의 값은, 타일내의 블록 라인수를 의미하는 M으로부터 1을 감한 값이 된다. TileFlag 플래그의 값이 0이면, num_tile_entry_point_offsets신택스 요소의 값은 0으로서 취급된다. WPPFlag 플래그의 값이 0이면, num_wpp_entry_point_offsets신택스 요소에 대응한 부호는 생략되고, num_wpp_entry_point_offsets신택스 요소의 값은 0으로서 취급된다.
num_tile_entry_point_offsets신택스 요소는, 해당 슬라이스에 존재하는 타일들의 부호화 데이터 항목의 엔트리 포인트 수를 나타낸다. 타일들의 부호화 데이터 항목의 엔트리 포인트수는, 슬라이스에 포함된 타일 수에 의해 유일하게 결정된다. 타일 수가 2의 경우에는, 엔트리 포인트 수가 1이다. 타일 수가 4의 경우에는, 엔트리 포인트 수는 3이 된다. 본 실시예에서는, 프레임이 타일을 4개 포함하는 단일의 슬라이스로 구성되어 있는 것으로 가정한다. 즉, num_tile_entry_point_offsets신택스 요소의 값은 3이다. tile_entry_point_offset신택스 요소 각각은 타일의 부호화 데이터의 엔트리 포인트, 즉 타일의 부호화 데이터의 선두위치를 의미한다. tile_entry_point_offset신택스 요소의 수는, num_tile_entry_point_offsets로 나타낸 값과 같다. tile_entry_point_offset[i]신택스 요소는 i번째의 타일의 부호화 데이터의 엔트리 포인트를 나타낸다. 0번째의 타일(Tile 0)의 부호화 데이터가 슬라이스 헤더의 직후에 존재하는 것을 알고 있기 때문에, 0번째의 타일의 엔트리 포인트는 생략된다. (i-1)번째의 타일의 부호화 데이터의 크기가 tile_entry_point_offset[i]신택스 요소로서 부호화되어 있다. num_tile_entry_point_offsets신택스 요소의 값이 0이면, tile_entry_point_offset신택스 요소는 필요하지 않기 때문에, 언급하지 않는다.
num_wpp_entry_point_offsets신택스 요소는 타일에 속하는 블록 라인의 부호화 데이터 항목의 엔트리 포인트 수를 의미한다. 본 실시예에서는 각 타일에서 수직 블록 수가 135이므로, num_wpp_entry_point_offsets신택스 요소의 값은 134다. wpp_entry_point_offset신택스 요소 각각은, 블록 라인의 부호화 데이터의 엔트리 포인트, 즉 블록 라인의 부호화 데이터의 선두위치를 나타낸다. wpp_entry_point_offset[j]신택스 요소는, j번째의 블록 라인의 부호화 데이터의 엔트리 포인트를 나타낸다. 0번째의 블록 라인의 부호화 데이터의 선두위치가 상기 블록 라인이 속하는 타일의 부호화 데이터의 선두위치와 같기 때문에, wpp_entry_point_offset신택스 요소는 생략된다. 그리고, (j-1)번째의 블록 라인의 부호화 데이터의 크기가 wpp_entry_point_offsets[j]신택스 요소로서 부호화된다. num_wpp_entry_point_offsets신택스 요소의 값이 0이면, wpp_entry_point_offset신택스 요소는 필요하지 않기 때문에 언급하지 않는다.
도 4는 상기 화상 부호화 포맷으로 부호화 데이터를 복호하는 화상 복호장치의 구성을 나타낸다.
도 4에 있어서, 비트 스트림 해석부(401)는, 입력된 부호화 데이터의, 시퀀스 파라미터 세트, 픽처 파라미터 세트 및 슬라이스 헤더를 포함하는 헤더를 해석한다. 복호부 402 및 403은, 입력된 부호화 데이터를, 입력된 부호화 파라미터에 의거하여 타일 단위로 복호한다. 본 실시예에 있어서, 타일 복호부가 2개 배치되었지만, 본 발명은 이것에 한정되지 않는다. 타일 화상 데이터 통합부(404)는, 제1 타일 복호부(402)로 생성된 화상 데이터와 제2 타일 복호부(403)로 생성된 화상 데이터를 통합하여 그 결과로 얻어진 데이터를 출력한다.
상기 구성에 있어서, 비트 스트림 해석부(401)는, 픽처 파라미터 세트 및 슬라이스 헤더를 해석하여, 타일 데이터 분할 정보, 블록 라인 데이터 분할 정보, 타일 데이터 위치 정보 및 블록 라인 데이터 위치 정보를 취득한다. 비트 스트림 해석부(401)는, 헤더에 계속되는 부호화 데이터를 이것들의 정보에 의거하여 후단의 제1 타일 복호부(402) 또는 제2 타일 복호부(403)에 공급한다. 이때, 선두의 타일은 0번째 타일이다. 대상의 블록이 짝수 번째의 타일에 속하면, 그 타일의 부호화 데이터는 제1 타일 복호부(402)에 공급된다. 대상의 블록이 홀수 번째의 타일에 속하면, 그 타일의 부호화 데이터는 제2 타일 복호부(403)에 공급된다. 도 2에 있어서, 타일 0과 타일 2의 부호화 데이터 항목이 제1 타일 복호부(402)로 복호되고, 타일 1과 타일 3의 부호화 데이터 항목이 제2 타일 복호부(403)로 복호된다.
이하, 제1 타일 복호부(402) 및 제2 타일 복호부(403)를 복호부의 블록도인 도 19를 참조하여 상세히 설명한다.
셀렉터(1901)는, 대상의 블록이 타일내에서 짝수 번째의 블록 라인에 속하는지를 판정한다. 셀렉터(1901)에는, 타일 단위의 부호화 데이터가 공급된다. 상기 블록이 짝수 번째의 블록 라인에 속하면, 셀렉터(1901)는, 제1 블록 라인 복호부(1902)에 상기 블록 라인의 부호화 데이터를 출력한다. 상기 블록이 짝수 번째의 블록 라인에 속하지 않으면, 셀렉터(1901)는, 제2 블록 라인 복호부(1903)에 상기 블록 라인의 부호화 데이터를 출력한다. 제1 블록 라인 복호부(1902) 및 제2 블록 라인 복호부(1903)는 입력된 블록 라인의 부호화 데이터를 블록 단위로 복호한다. 복호에 대해서는, 산술 복호가 행해진다. 산술복호는 확률 테이블을 생성하여 갱신한다. 제1확률 테이블 기억부(1904)는, 제1 블록 라인 복호부(1902)로 생성된 확률 테이블을 복호정보로서 기억한다. 제2확률 테이블 기억부(1905)는, 제2 블록 라인 복호부(1903)로 생성된 확률 테이블을 복호정보로서 기억한다. 블록 라인 화상 데이터 통합부(1906)는, 제1 블록 라인 복호부(1902)로 생성된 화상 데이터와 제2 블록 라인 복호부(1903)로 생성된 화상 데이터를 통합하여, 그 결과로 얻어진 화상 데이터를 출력한다.
도 3에 있어서, 상단의 블록 라인(0번째 라인)을 포함하는 짝수 번째의 블록 라인에 속하는 백색의 블록의 부호화 데이터는, 제1 블록 라인 복호부(1902)에서 복호되고, 홀수 번째의 블록 라인에 속하는 사선의 블록의 부호화 데이터는 제2 블록 라인 복호부(1903)에서 복호된다. 달리 말하면, 제1 블록 라인과 제2 블록 라인은 서로 인접하게 배치되어 있다.
각 블록 라인 복호부에 있어서는, 우선, 복호대상의 부호화 데이터의 2값 신호에 대하여 확률 테이블이 선택되고, 상기 확률 테이블을 기초로 산술복호가 행해지고, 양자화 계수가 생성된다. 다음에, 상기 양자화 계수는, 양자화 파라미터에 의거하여 역양자화가 행해지고, 변환 계수가 생성된다. 그리고, 그 변환 계수는 역직교 변환이 행해져, 예측 오차가 생성된다. 최후에, 대상의 블록 주변의 화소의 참조에 의한 프레임내 예측, 또는 다른 프레임의 참조에 의한 프레임간 예측이 행해져, 대상의 블록의 화상 데이터가 생성된다.
본 실시예에 따른 화상복호장치의 동작을, 도 5의 흐름도를 참조하여 상세하게 설명한다. 본 실시예에서는 부호화 데이터는 프레임 단위로 공급된다. 각 프레임은 복수의 타일로 구성되어 있고, 각 타일은 블록들로 분할되고, 블록 단위로 부호화 데이터가 복호된다. 본 실시예에서는 데이터가 프레임 단위로 입력되지만, 데이터는 슬라이스 단위로 입력되어도 좋고, 그 슬라이스는 그 프레임을 분할하여서 얻어진다. 본 실시예에서는 설명을 쉽게 하기 위해서, 인트라 예측 복호만을 설명하겠지만, 복호는 이것에 한정되지 않는다. 본 실시예는, 인터 예측 복호에 적용되어도 된다.
우선, 단계 S501에서는, 비트 스트림 해석부(401)는, 입력된 비트 스트림의 헤더를 해석한다. 이 경우에, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 및 슬라이스 헤더가 해석된다. 특히, 픽처 파라미터 세트에서의 TileFlag플래그 및 WPPFlag플래그가 해석되고, 슬라이스 헤더로부터 타일 데이터 위치 정보 및 블록 라인 데이터 위치 정보가 취득된다.
단계 S502에서는, 변수 CurTile이 0으로 초기화된다. 그 변수 CurTile은 대상 타일의 번호를 나타낸다. 단계 S503에 있어서, 비트 스트림 해석부(401)는, 제1 타일 복호부(402) 혹은 제2 타일 복호부(403)에 송신하는 송신 데이터량(또는 대상 타일의 부호화 데이터의 사이즈)을 결정한다.
비트 스트림 해석부(401)에서의 타일 데이터 사이즈의 결정 처리에 관해서 도 9의 흐름도를 참조하여 설명한다. 도 9를 참조하면, 단계 S901에서는, 대상의 타일이 프레임내의 최후의 타일인지의 여부가 판정된다. 그 대상의 타일이 최후의 타일이면(단계S901에서 YES), 단계 S902의 처리로 진행된다. 단계 S901에서 NO이면, 단계 S903의 처리로 진행된다.
단계 S902에서는, 대상 타일의 부호화 데이터의 선두로부터 다음 NAL유닛까지의 데이터 사이즈가, 송신 데이터량으로서 설정된다. NAL유닛은, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 부호화된 슬라이스 등을 격납하는 상자(container)다. NAL유닛의 데이터의 선두에는, 0x000001등의 특정한 비트 시퀀스가 포함되어 있기 때문에, 데이터의 선두를 정확하게 식별할 수 있다. 단계 S903에서는, (CurTile)번째의 타일의 부호화 데이터 사이즈를 나타내는 tile_entry_point_offset [CurTile+1]신택스 요소의 값이 판독되어, 송신 데이터량이 결정된다.
다시 도 5를 참조하면, 단계 S504에서는, 제1 타일 복호부(402) 또는 제2 타일 복호부(403)에 있어서 타일 복호가 행해진다. 이 경우, 비트 스트림 해석부(401)는, 단계 S503에서 결정된 사이즈만큼 데이터가 송신되도록, 짝수 번째의 타일의 부호화 데이터를 제1 타일 복호부(402)에 출력하고, 홀수 번째의 타일의 부호화 데이터를 제2 타일 복호부(403)에 출력한다. 타일 복호는 상세히 후술한다.
단계 S505에서는, 타일 화상 데이터 통합부(404)는, 제1 타일 복호부(402)로부터 출력된 타일 화상 데이터와 제2 타일 복호부(403)로부터 출력된 타일 화상 데이터를 통합하여, 복호 화상 데이터를 생성하여 출력한다. 단계 S506에서는, 프레임내의 모든 타일의 부호화 데이터의 복호가 완료된 것인가 아닌가가 판정된다. 1프레임의 복호가 완료되면(단계 S506에서 YES), 1프레임의 복호는 종료된다. 그 복호가 완료되지 않으면, 단계 S507의 처리로 진행된다. 단계 S507에서는, 변수 CurTile이 1씩 증분된다. 이것은, 다음 타일이 대상 타일이 되는 것을 의미한다.
이제, 단계 S504의 타일 복호에 관해서 도 20의 흐름도를 참조하여 상세하게 설명한다. 도 20을 참조하면, 단계 S2001에서는, 변수 CurBL이 0으로 초기화된다. 변수 CurBL은 대상 블록 라인의 번호를 나타낸다.
단계 S2002에서는, 셀렉터(1901)가 제1 블록 라인 복호부(1902) 혹은 제2 블록 라인 복호부(1903)에 송신하는 송신 데이터량(또는 대상 블록 라인의 부호화 데이터의 사이즈)이 결정된다. 송신 데이터량의 결정 처리를 나중에 상세히 설명한다. 단계 S2003에서, 대상 블록 라인이 타일의 상단의 블록 라인인지의 여부가 판정된다. 상단의 블록 라인이면(단계 S2003에서 YES), 단계 S2004의 처리로 진행된다. 단계 S2003에서 NO이면, 단계 S2005의 처리로 진행된다.
단계 S2004에서는, 타일의 상단의 블록 라인의 부호화 데이터를 복호하여, 블록 라인의 화상 데이터를 생성한다. 단계 S2004에서 처리의 상세 내용을 후술한다. 단계 S2005에서는, 상단 이외의 블록 라인의 부호화 데이터를 복호하여, 블록 라인의 화상 데이터를 생성한다. 블록 라인의 복호에 관해서는, 셀렉터(1901)에 있어서, 변수CurBL에 의거해, 대상 블록 라인이 짝수 번째 블록 라인인지 홀수 번째 블록 라인인지가 판정된다. 그 대상 블록 라인이 짝수 번째이면, 제1 블록 라인 복호부(1902)로 대상 블록 라인의 부호화 데이터를 복호한다. 그 대상 블록 라인이 홀수 번째이면, 제2 블록 라인 복호부(1903)로 대상 블록 라인의 부호화 데이터를 복호한다. 블록 라인의 부호화 데이터 항목은, 제1 블록 라인 복호부(1902)와 제2 블록 라인 복호부(1903)에 의해 블록 라인 단위로 병렬로 복호된다. 또한, 그 복호의 상세내용도 후술한다.
단계 S2006에서는, 블록 라인 화상 데이터 통합부(1906)는, 제1 블록 라인 복호부(1902)로부터 출력된 블록 라인의 화상 데이터와, 제2 블록 라인 복호부(1903)로부터 출력된 블록 라인의 화상 데이터를 통합하여, 타일 화상 데이터를 생성하여 출력한다. 단계 S2007에서는, 타일내의 모든 블록 라인의 부호화 데이터의 복호가 완료한 것인가 아닌가가 판정된다. 그 복호가 완료되면(단계 S2007에서 YES), 타일 복호를 종료한다. 단계 S2007에서 NO이면, 단계 S2008의 처리로 진행된다.
단계 S2008에서는, 변수CurBL이 1씩 증분된다. 이것은, 대상의 타일내의 다음 블록 라인이 대상 블록 라인이 되는 것을 의미한다. 단계 S2002에서는, 상기 처리 또는, 비트 스트림 해석부(401)에서의 블록 라인 데이터의 사이즈의 결정 처리에 관해서 도 21의 흐름도를 참조하여 상세하게 설명한다. 본 처리에서는, 대상의 블록 라인의 번호를 나타내는 변수CurBL 및 대상 타일의 번호를 나타내는 변수CurTile가 입력으로서 주어진다.
단계 S2101에서는, 대상 블록 라인이 타일내에서 최후의 블록 라인인지의 여부가 판정된다. 최후의 블록 라인이면(단계 S2101에서 YES), 단계 S2103의 처리로 진행된다. 단계 S2101에서 NO이면, 단계 S2102의 처리로 진행된다.
단계 S2102에서는, (CurTile)번째의 타일의 (CurBL)번째의 블록 라인의 부호화 데이터 사이즈를 나타내는 wpp_entry_point_offset[CurTile+1][CurBL+1]신택스 요소의 값이 판독되어 송신 데이터량이 결정된다. 단계 S2103에서는, 대상의 타일이 프레임내의 최종 타일인지의 여부가 판정된다. 최종 타일이면(단계 S2103에서 YES), 단계 S2104의 처리로 진행된다. 단계 S2103에서 NO이면, 단계 S2105의 처리로 진행된다.
단계 S2104에서는, 대상의 블록 라인의 부호화 데이터의 선두로부터 다음 NAL유닛까지의 데이터 사이즈가, 최종 타일의 최후의 블록 라인의 송신 데이터량으로서 설정된다. NAL유닛의 데이터의 선두에는, 0x000001등의 특정한 비트 시퀀스가 포함되어 있기 때문에, 데이터의 선두를 정확하게 식별할 수 있다.
단계 S2105에서는, 최종 타일 이외의 타일내의 최후의 블록 라인의 데이터 사이즈가 송신 데이터량으로서 결정된다. 타일내의 최후의 블록 라인의 데이터 사이즈는, wpp_entry_point_offset신택스 요소로서 주어지지 않고 있다. 그 때문에, 대상의 타일의 부호화 데이터 사이즈를 나타내는 tile_entry_point_offset[CurTile+1]신택스 요소의 값으로부터, 상기 처리한 타일의 데이터 사이즈를 감산함으로써 산출된다.
이하, 도 20에서 단계 S2004의 처리(상단의 블록 라인을 복호하는 처리)에 관해서, 도 6의 흐름도를 참조하여 상세하게 설명한다. 상단의 블록 라인이 짝수 번째의 블록 라인이므로, 대상의 블록 라인의 부호화 데이터는, 셀렉터(1901)에 의해 제1 블록 라인 복호부(1902)에 공급되어 복호된다. 이 경우에, 셀렉터(1901)는, 단계 S2002에서 결정된 데이터 송신량(또는 대상의 블록 라인의 부호화 데이터 사이즈)만큼 부호화 데이터를 제1 블록 라인 복호부(1902)에 출력한다.
도 6을 참조하면, 단계 S601에서는, 확률 테이블이 소정의 방법으로 초기화된다. 초기화된 확률 테이블은, 블록 라인의 왼쪽 블록의 최초의 2값 신호를 산술 복호하는데 사용되고, 후술하는 단계 S602에서 수시로 갱신된다. 이하의 설명에서는, 블록 라인의 최초의 블록의 2값 신호를 산술 복호하는데 사용된 확률 테이블을, "블록 라인 기준 확률 테이블"이라고 한다.
단계 S602에서는, 제1 블록 라인 복호부(1902)에 의해 부호화 데이터가 블록 단위로 복호되어서, 화소 데이터가 생성된다. 이제, 단계 S602의 블록 단위의 복호에 대해서, 도 8의 흐름도를 참조하여 상세하게 설명한다.
도 8을 참조하면, 단계 S801에서는, 부호화 데이터가 상기 확률 테이블에 의거하여 산술 복호되어, 2값 신호가 생성된다. 또한, H.264와 마찬가지로 신택스 요소마다, 유너리(unary) 바이너리제이션(binarization), 고정길이 바이너리제이션 등의 여러 가지의 2진수 방식으로 2치화된 상기 2값 신호를 복호하여, 양자화 계수를 포함하는 신택스 요소를 생성한다. 단계 S802에서는, 산술 복호된 2값 신호가, 확률이 높은 쪽의 부호인 것인가 아닌가에 의거하여 상기 확률 테이블이 갱신된다. 단계 S803에서는, 블록내의 신택스 요소 모두가 산술 복호된 것인가 아닌가가 판정된다. 신택스 요소 모두가 산술복호되면(단계 S803에서 YES), 단계 S804의 처리로 진행된다. 단계 S803에서 NO이면, 단계 S801의 처리로 되돌아간다. 다음 신택스 요소가 복호된다. 단계 S804에서는, 상기 양자화 계수가 역양자화되어, 변환 계수가 생성된다. 또한, 상기 변환 계수에는 역직교 변환이 실시되어, 예측 오차가 생성된다. 단계 S805에서는, 대상 블록의 주변의 화소에 의거하여 인트라 예측이 행해져, 예측 화상 데이터가 생성된다. 또한, 상기 예측 오차가 예측 화상에 추가되어, 블록 단위의 화상 데이터를 생성한다.
도 6의 흐름도를 다시 참조하면, 단계 S603에서는, 확률 테이블을 격납하는 조건을 충족시키고 있는 것인가 아닌가가 판정된다. 본 실시예에서는, 단계 S602에서 복호된 블록과 블록 라인의 좌단 사이에 소정수의 블록들이 위치된 것인가 아닌가에 관한 기준이 상기 확률 테이블을 격납하는 조건이다. 상기 조건을 충족시키면(단계 S603에서 YES), 단계 S604의 처리로 진행되고, 확률 테이블을 제1확률 테이블로서 제1확률 테이블 기억부(1904)에 격납한다. 그 조건을 충족시키지 않으면, 단계 S605의 처리로 진행된다. 제1확률 테이블은, 다음 블록 라인의 왼쪽 블록의 부호화 데이터를 복호하는데 사용된 블록 라인 기준 확률 테이블로서 사용된다.
단계 S605에서는, 대상 블록 라인의 모든 블록의 부호화 데이터의 복호가 완료되었는가 아닌가가 판정된다. 그 복호가 완료되었으면(단계 S605에서 YES), 상단의 블록 라인의 복호를 종료한다. 단계 S605에서 NO이면, 단계 S602의 처리로 되돌아가 래스터 순서로 다음 블록을 복호한다.
도 20의 단계 S2005의 처리(또는 비상단의 블록 라인을 복호하는 처리)에 관해서, 도 7의 흐름도를 참조해서 상세하게 설명한다. 대상 블록 라인이 짝수 번째의 블록 라인이면, 제1 블록 라인 복호부(1902)에 대상 블록 라인의 부호화 데이터가 입력되어 복호된다. 그 대상 블록 라인이 홀수번째의 블록 라인이면, 제2 블록 라인 복호부(1903)에 대상 블록 라인의 부호화 데이터가 입력되어 복호된다. 셀렉터(1901)는, 단계 S2002에서 결정된 송신 데이터량(또는 대상 블록 라인의 부호화 데이터 사이즈)만큼 부호화 데이터를 제1 블록 라인 복호부(1902) 또는 제2 블록 라인 복호부(1903)에 출력한다. 이하, 홀수 번째의 블록 라인의 부호화 데이터를 제2 블록 라인 복호부(1903)로 복호하는 처리에 관하여 설명한다.
도 7을 참조하면, 단계 S701에서는, 제1확률 테이블이, 제1확률 테이블 기억부(1904)로부터, 블록 라인 기준 확률 테이블로서 공급된다.
단계 S702, S703에서의 처리가 단계 S602, S603의 처리와 동일하기 때문에, 그 설명을 생략한다. 단계 S704에서는, 확률 테이블이, 제2확률 테이블로서, 제2확률 테이블 기억부(1905)에 기억된다. 제2확률 테이블은, 다음 블록 라인의 왼쪽의 블록의 부호화 데이터를 산술복호하기 위한 블록 라인 기준확률 테이블로서 사용된다. 단계 S705의 처리는 단계 S605와 같다. 단계 S705에서는, 홀수 번째의 블록 라인내의 모든 블록의 부호화 데이터의 복호가 완료했는지가 판정된다. 이하, 짝수 번째의 블록 라인의 부호화 데이트를 제1 블록 라인 복호부(1902)로 복호하는 처리를 설명한다. 단계 S701에서는, 제2확률 테이블이, 제2확률 테이블 기억부(1905)로부터 상기 블록 라인 기준확률 테이블로서 공급된다. 단계 S702∼S705의 처리가 단계 S602∼S605의 처리와 동일하기 때문에, 설명을 생략한다.
이상의 구성과 동작에 의해, 각 타일의 부호화 데이터의 선두와 각 블록 라인의 부호화 데이터의 선두를 정확하게 식별할 수 있다. 따라서, 타일 단위로 병렬로 그 데이터를 복호할 수 있고, 블록 라인 단위로 병렬로 각 타일의 데이터를 한층 더 복호할 수 있다. 이에 따라, 프레임을 타일들로 분할하고, 각 타일을 블록 라인으로 분할하는 것으로, 병렬성 및 부호화 효율의 양쪽을 개선할 수 있다.
본 실시예에서 2개의 타일 복호부와 2개의 블록 라인 복호부가 배치된 경우에 관하여 설명했지만, 예를 들면 제3 타일 복호부, 제3 블록 라인 복호부, 및 제3확률 테이블 기억부의 추가의 구성에 의해, 보다 많은 복호부에서의 병렬처리가 가능한 것은 명백하다.
제2 실시예
본 발명의 제2 실시예에 따른 화상복호장치가 복호하는 화상 부호화 포맷은, 제1 실시예와 마찬가지로 1프레임이 복수의 사각형 영역인 타일로 분할된다. 제2 실시예에서의 타일 구조는 제1 실시예의 도 2와 동일하기 때문에, 설명을 생략한다.
본 실시예에 있어서의 HEVC 부호화 데이터의 포맷을 도 10에 나타낸다. 도 10의 부호화 데이터는, 슬라이스 헤더이외는 제1 실시예와 같다. 따라서, 이하, 슬라이스 헤더만을 설명한다. 도 10에서, 슬라이스 헤더는, TileFlag플래그의 값이 1 또는 WPPFlag플래그의 값이 1일 때에는, 위치 정보로서 num_entry_point_offsets 및 entry_point_offset의 신택스 요소를 포함한다.
상기 TileFlag플래그의 값이 1이고 WPPFlag플래그의 값이 0이면, 이것은 프레임이 복수의 타일로 분할되고, 각 타일이 블록 라인들로 분할되지 않고, 각 타일의 화상 데이터가 부호화되어 있는 것을 의미한다. 이 경우에, num_entry_point_offsets신택스 요소는, 슬라이스내의 타일수를 나타내는 N으로부터 1을 감한 값이 된다. entry_point_offset[i]신택스 요소는, i번째의 타일의 부호화 데이터의 엔트리 포인트를 나타낸다. 슬라이스 헤더의 직후에, 0번째의 타일의 부호화 데이터가 존재하는 것을 알고 있기 때문에, 0번째의 타일의 엔트리 포인트는 생략된다. (i-1)번째의 타일의 부호화 데이터의 크기가 entry_point_offset[i]신택스 요소로서 부호화되어 있다.
TileFlag플래그의 값이 0이고 WPPFlag플래그의 값이 1이면, 이것은 프레임이 단일의 타일로 구성되고, 타일이 블록 라인들로 분할되고, 각 블록 라인의 화상 데이터가 부호화되어 있는 것을 의미한다. 이 경우에, num_entry_point_offsets신택스 요소는 슬라이스내의 블록 라인의 수로부터 1을 감한 값이 된다. entry_point_offset[i]신택스 요소는, i번째의 블록 라인의 부호화 데이터의 엔트리 포인트를 나타낸다. 슬라이스 헤더의 직후에, 0번째의 블록 라인의 부호화 데이터가 존재하는 것을 알고 있기 때문에, 0번째의 블록 라인의 엔트리 포인트는 생략된다. (i-1)번째의 블록 라인의 부호화 데이터의 크기가 entry_point_offset[i]신택스 요소로서 부호화되어 있다.
TileFlag플래그의 값이 1이고, WPPFlag플래그의 값이 1이면, 이것은, 프레임이 복수의 타일로 분할되고, 각 타일이 블록 라인들로 분할되고, 각 블록 라인의 화상 데이터가 부호화되어 있는 것을 의미한다. 이 경우에, num_entry_point_offsets신택스 요소의 값은, 슬라이스내의 타일수 N과 각 타일내의 블록 라인수 M의 적(product)으로부터 1을 감한 값이 된다. entry_point_offset[i]신택스 요소는, i번째의 블록 라인의 부호화 데이터의 엔트리 포인트를 나타낸다. 슬라이스 헤더의 직후에, 0번째의 블록 라인의 부호화 데이터가 존재하는 것을 알고 있기 때문에, 0번째의 블록 라인의 엔트리 포인트는 생략된다. (i-1)번째의 블록 라인의 부호화 데이터의 크기가 entry_point_offset[i]신택스 요소로서 부호화되어 있다.
TileFlag플래그의 값이 0이고 WPPFlag플래그의 값이 0이면, 즉 프레임이 단일의 타일로 구성되고, 그 타일이 블록 라인들로 분할되지 않고, 그 타일의 화상 데이터가 부호화되어 있는 경우에는, num_entry_point_offsets신택스 요소의 값은 0으로서 취급된다.
본 실시예에서는, TileFlag플래그 및 WPPFlag플래그 각각의 값은 1이다. 본 실시예에 있어서의 부호화 데이터의 슬라이스는 4개의 타일로 구성되어 있다. 각 타일에서 수직 블록의 수가 135이므로, num_entry_point_offsets신택스 요소의 값은 4×135-1=539가 된다.
상기 화상 부호화 포맷에서의 부호화 데이터를 복호한다. 본 실시예에 따른 화상복호장치의 구성은 제1 실시예의 도 4 및 도 19와 같기 때문에, 설명을 생략한다.
본 실시예에 따른 화상 복호장치의 동작을, 도 5의 흐름도를 참조하여 상세하게 설명한다. 도 5를 참조하면, 단계 S501에서는, 제1 실시예와 마찬가지로, 픽처 파라미터 세트에서의 TileFlag 플래그 및 WPPFlag 플래그가 해석되어, 슬라이스 헤더로부터 위치 정보가 취득된다. 단계 S502에서는, 변수CurTile가 0으로 초기화된다. 단계 S503에서는, 비트 스트림 해석부(401)에 있어서 제1 실시예와는 다른 처리로, 제1 타일 복호부(402) 혹은 제2 타일 복호부(403)에 송신하는 송신 데이터량이 결정된다.
본 실시예의 타일 데이터 사이즈의 결정 처리에 관해서 도 11의 흐름도를 참조하여 설명한다. 도 11에 있어서, 단계 S1101 및 단계 S1102의 처리는, 도 9의 단계 S901 및 단계 S902의 처리와 동일하기 때문에, 설명을 생략한다.
단계 S1103에서는, 타일의 수직 블록수에 의거하여 대상 타일내의 엔트리 포인트수를 판정하고, entry_point_offset신택스 요소의 값의 합계는 송신 데이터량으로서 설정된다. 본 실시예에서는, 타일내의 수직 블록수는 135로 고정이다. 그 때문에, entry_point_offset[CurTile*135+1]신택스 요소로부터 entry_point_offset[(CurTile+1)*135]신택스 요소까지의 값의 합계가, 송신 데이터량으로서 설정된다. 타일들의 수직 블록수가 다른 경우에는, 처리된 타일들의 블록 라인수를 가산하여, 가산을 시작하는 entry_point_offset[]신택스 요소의 위치를 결정한다.
다시 도 5를 참조하면, 단계 S504에서는, 제1 실시예와 마찬가지로, 제1 타일 복호부(402) 또는 제2 타일 복호부(403)에서 타일 복호가 행해진다. 단계 S504의 타일 복호에 관해서는, 제1 실시예와 마찬가지로 도 20의 흐름도를 참조하여 설명한다. 본 실시예에서의 도 20의 처리는, 단계 S2002의 블록 라인 데이터의 사이즈 결정 처리를 제외하고는 상기 제1 실시예와 동일하다. 이에 따라, 본 실시예에서는 단계 S2002에 대해서만 도 12를 참조하여 설명한다. 도 12를 참조하면, 단계 S1201에서는, 비트 스트림 해석부(401)에서 대상 블록 라인이 프레임내의 최후의 블록 라인인가 아닌가가 판정된다. 그 대상 블록 라인이 최후의 블록 라인이면(단계 S1201에서 YES), 단계 S1203의 처리로 진행된다. 단계 S1201에서 NO이면, 단계 S1202의 처리로 진행된다.
단계 S1202에서는, 대상 블록 라인의 부호화 데이터 사이즈를 나타내는 entry_point_offset신택스 요소의 값이 판독되어, 송신 데이터량이 결정된다. 이렇게 하여, 블록 라인 데이터의 사이즈 결정 처리가 종료된다. 본 실시예에서는, 각 타일의 수직 블록수가 135로 고정이기 때문에, entry_point_offset[CurTile×135+CurBL+1]신택스 요소가 판독된다. 타일들의 수직 블록수가 다른 경우에는, 처리된 타일들의 수직 블록수의 합계를, CurTile×135의 값으로 대체하여야 한다.
단계 S1203에서는, 대상 블록 라인의 부호화 데이터의 선두로부터 다음 NAL유닛까지의 데이터 사이즈가, 송신 데이터량으로서 설정된다. 블록 라인 데이터의 사이즈 결정 처리가 종료된다. NAL유닛의 데이터의 선두에는, 0x000001 등의 특정한 비트 시퀀스가 포함되어 있기 때문에, 데이터의 선두를 정확하게 식별할 수 있다.
도 5의 단계 S505 내지 단계 S507의 처리가 제1 실시예와 동일하기 때문에, 설명을 생략한다.
이상의 구성과 동작에 의해, 각 타일 및 각 블록 라인의 부호화 데이터의 선두를 정확하게 식별할 수 있다. 따라서, 타일 단위로 병렬로 데이터를 복호할 수 있고, 블록 라인 단위로 병렬로 각 타일에서의 데이터를 한층 더 복호할 수 있다. 제1 실시예에서는, 타일들의 엔트리 포인트수를 나타내는 신택스 요소와 타일들의 엔트리 포인트를 나타내는 신택스 요소를 제공하고, 추가로 타일의 수만큼 신택스 요소 세트를 제공하는 것이 필요하되, 각 신택스 요소 세트는 타일에서의 블록 라인의 엔트리 포인트수를 나타내는 신택스 요소와 블록 라인들의 엔트리 포인트를 나타내는 신택스 요소를 포함한다. 본 실시예에 의하면, 각 엔트리 포인트가 블록 라인의 부호화 데이터의 사이즈로 나타낸다. 따라서, 타일들의 엔트리 포인트에 관련된 정보와 블록 라인의 엔트리 포인트에 관련된 정보를, 따로따로 제공할 필요가 없다. 이 때문에, 보다 적은 정보량으로 병렬 복호가 달성될 수 있다.
본 실시예에서 2개의 타일 복호부와 2개의 블록 라인 복호부가 배치된 경우에 관하여 설명했지만, 예를 들면 제3 타일 복호부, 제3 블록 라인 복호부, 및 제3확률 테이블 기억부의 추가의 배치에 의해 보다 많은 복호부에서의 병렬처리가 가능한 것은 명백하다.
제3 실시예
본 발명의 제3 실시예에 따른 화상 부호화장치가 부호화하는 화상 부호화 포맷에 있어서는, 제1 실시예와 마찬가지로 1프레임이 복수의 사각형 영역인 타일들로 분할된다. 제3 실시예의 타일 구조는 상기 제1 실시예의 도 2와 동일하기 때문에, 설명을 생략한다. 이때, 그 타일 구조는, 도 2에 한정되지 않는다.
본 실시예에 있어서의 HEVC 부호화 스트림의 포맷을 도 1에 나타내지만, 상기 제1 실시예와 같기 때문에, 설명을 생략한다. 도 13에, 상기화상 부호화 포맷으로 부호화 스트림을 생성하는 화상 부호화장치의 구성을 나타낸다.
도 13을 참조하면, 타일 셀렉터(1301)는, 대상 블록이 짝수 번째의 타일에 속하는지를 판정한다. 타일 셀렉터(1301)는, 상기 블록이 짝수 번째의 타일에 속하면 제1 타일 부호화부(1302)에 상기 블록의 데이터를 출력한다. 상기 블록이 짝수번째의 타일에 속하지 않으면 제2 타일 부호화부(1303)에 상기 블록의 데이터를 출력한다.
제1 타일 부호화부(1302) 및 제2 타일 부호화부(1303)는, 블록들의 입력 화상 데이터를 타일 단위로 부호화하되, 각 블록이 n×n화소(n은 2이상의 양(positive)의 정수)로 구성된다. 본 실시예에서는 2개의 타일 부호화부의 구조에 관하여 설명하지만, 본 발명은 이것에 한정되지 않는다. 도 2에 있어서는, 타일 0과 타일 2의 화상 데이터 항목이 제1 타일 부호화부(1302)로 부호화되고, 타일 1과 타일 3의 화상 데이터 항목이 제2 타일 부호화부(1303)로 부호화된다.
제1 타일 부호화부(1302) 및 제2 타일 부호화부(1303)의 상세에 대해서 도 23의 블록도를 참조하여 설명한다.
블록 라인 셀렉터(2301)는, 대상 블록이 타일내에서 짝수 번째의 블록 라인에 속하는 것인가 아닌가를 판정하고, 그 판정 결과에 따라 출력처를 선택한다. 제1 블록 라인 부호화부(2302)는, 짝수 번째의 블록 라인에 속하는 블록의 화상 데이터를 부호화한다. 제2 블록 라인 부호화부(2303)는, 홀수 번째의 블록 라인에 속하는 블록의 화상 데이터를 부호화한다. 제1확률 테이블 기억부(2304)는 제1 블록 라인 부호화부(2302)로 생성된 확률 테이블을 부호화정보로서 기억한다. 이하의 설명에서는, 제1확률 테이블 기억부(2304)에 기억된 확률 테이블을, 제1확률 테이블이라고 한다. 제2확률 테이블 기억부(2305)는 제2 블록 라인 부호화부(2303)로 생성된 확률 테이블을 부호화정보로서 기억한다. 이하의 설명에서는, 제2확률 테이블 기억부(2305)에 기억된 확률 테이블을, 제2확률 테이블이라고 한다. 블록 라인 데이터 통합부(2306)는 제1 블록 라인 부호화부(2302)로 생성된 부호화 데이터와, 제2 블록 라인 부호화부(2303)로 생성된 부호화 데이터를 통합하고, 위치 정보를 포함하는 부호화 파라미터와 함께 출력한다.
블록 라인 셀렉터(2301)에는, 타일 단위의 화상 데이터가 공급된다. 대상 블록이 짝수번째의 블록 라인에 속하면, 블록 라인 셀렉터(2301)는 제1 블록 라인 부호화부(2302)에 상기 블록의 데이터를 출력한다. 그 대상 블록이 짝수 번째의 블록 라인에 속하지 않으면, 블록 라인 셀렉터(2301)는 제2 블록 라인 부호화부(2303)에 상기 블록의 데이터를 출력한다. 도 3을 참조하면, 짝수 번째의 블록 라인을 나타내는 백색의 블록의 화상 데이터는, 제1 블록 라인 부호화부(2302)에서 부호화되고, 홀수 번째의 블록 라인을 나타내는 사선의 블록의 화상 데이터는 제2 블록 라인 부호화부(2303)에서 부호화된다. 상단의 블록 라인이 0번째 라인이므로, 상단의 블록 라인의 화상 데이터는 제1 블록 라인 부호화부(2302)에서 부호화된다. 제1 블록 라인 부호화부(2302) 및 제2 블록 라인 부호화부(2303)를 사용한 부호화처리의 상세에 관해서는 후술한다.
다시 도 13을 참조하면, 통합부(1304)는, 제1 타일 부호화부(1302)로 생성된 부호화 데이터 및 부호화 파라미터와, 제2 타일 부호화부(1303)로 생성된 부호화 데이터 및 부호화 파라미터를 통합하여, 비트 스트림을 출력한다. 통합부(1304)는, TileFlag 플래그나 WPPFlag 플래그 등의 분할 정보를 픽처 파라미터 세트에 통합하고, 위치 정보를 슬라이스 헤더에 통합하여, 그 비트 스트림을 출력한다.
본 실시예에 따른 화상 부호화장치의 동작을, 도 14 내지 도 17의 흐름도를 참조하여 상세하게 설명한다. 본 실시예에서는 화상을 프레임 단위로 입력한다. 각 프레임은, 복수의 타일로 구성되어 있고, 각 타일은 복수의 블록으로 분할되고, 화상 데이터는 블록 단위로 부호화된다. 본 실시예에서는 화상을 프레임 단위로 입력하였지만, 프레임을 분할하여 얻어지는 슬라이스 단위로 화상을 입력해도 좋다. 또한, 본 실시예에서는 설명을 쉽게 하기 위해서, 인트라 예측 부호화만을 설명하지만, 부호화는 이것에 한정되지 않는다. 본 실시예는 인터 예측 부호화에 적용되어도 된다.
도 14를 참조하여, 1프레임의 부호화에 관하여 설명한다. 단계 S1401에서는, 대상 타일의 번호를 나타내는 변수CurTile가 0으로 초기화된다. 단계 S1402에서는, 제1 타일 부호화부(1302) 또는 제2 타일 부호화부(1303)에 있어서 타일의 부호화가 행해진다. 이 경우, 타일 셀렉터(1301)는, 짝수 번째의 타일의 데이터를 제1 타일 부호화부(1302)에 송신하고, 홀수 번째의 타일의 데이터를 제2 타일 부호화부(1303)에 송신한다. 타일 부호화의 상세에 대해서 도 24의 흐름도를 참조하여 설명한다.
도 24를 참조하면, 단계 S2401에는, 대상 블록 라인의 번호를 나타내는 변수CurBL이 0으로 초기화된다. 단계 S2402에서는, 대상 블록 라인이 타일의 상단의 블록 라인인지의 여부가 판정된다. 그 대상 블록 라인이 상단의 블록 라인이면(단계 S2402에서 YES), 단계 S2403의 처리로 진행된다. 단계 S2402에서 N0이면, 단계 S2404의 처리로 진행된다.
단계 S2403에서는, 타일의 상단의 블록 라인을 부호화한다. 단계 S2404에서는, 상단 이외의 블록 라인의 데이터를 부호화한다. 이들 단계의 부호화의 상세에 대해서는 후술한다. 단계 S2405에서는, 슬라이스 헤더에 포함된 위치 정보(tile_entry_point_offset 및 wpp_entry_point_offset의 신택스 요소)를 설정한다. 이 단계의 처리의 상세에 대해서도 후술한다.
단계 S2406에서는, 블록 라인 데이터 통합부(2306)에서, 상기 제1 블록 라인 부호화부(2302)로부터 출력된 부호화 데이터와 제2 블록 라인 부호화부(2303)로부터 출력된 부호화 데이터가 통합된다. 추가로, 그 통합된 부호화 데이터는 단계S2405에서 계산된 위치 정보를 포함하는 부호화 파라미터와 통합되고, 그 결과로 얻어진 부호화 데이터가 출력된다.
단계 S2407에서는, 타일내의 모든 블록 라인의 부호화가 완료한 것인가 아닌가가 판정된다. 그 부호화가 완료되면(단계 S2407에서 YES), 타일 부호화를 종료한다. 단계 S2407에서 NO이면, 단계 S2408의 처리로 진행된다.
단계 S2408에서는, 변수CurBL을 1씩 증분한다. 이것은, 대상 타일내의 다음 블록 라인이 대상 블록 라인이 되는 것을 의미한다.
다시 도 14를 참조하면, 단계 S1403에서는, 프레임내의 모든 타일의 데이터의 부호화가 완료한 것인가 아닌가가 판정된다. 그 부호화가 완료되면(단계 S1403에서 YES), 단계 S1405의 처리로 진행된다. 단계 S1403에서 NO이면, 단계 S1404의 처리로 진행된다. 단계 S1404에서는, 타일 번호를 의미하는 변수 CurTile가 1씩 증분된다. 이것은, 다음 타일이 대상 타일이 되는 것을 의미한다. 단계 S1405에서는, 통합부(1304)에서, 제1 타일 부호화부(1302)로부터 출력된 부호화 데이터와 제2 타일 부호화부(1303)로부터 출력된 부호화 데이터를 통합한다. 추가로, 그 통합된 부호화 데이터와 단계 S2405에서 계산된 위치 정보를 포함하는 부호화 파라미터를 비트 스트림으로 통합해서, 그 비트 스트림을 출력한다.
이하, 도 24의 타일 부호화 처리에 포함된 블록 라인의 부호화의 상세에 관하여 설명한다. 우선, 단계 S2403의 처리(또는 상단의 블록 라인을 부호화하는 처리)에 관해서, 도 15의 흐름도를 참조하여 상세하게 설명한다. 상단의 블록 라인이 짝수번째의 블록 라인이므로, 대상 블록 라인의 화상 데이터는 타일 셀렉터(1301)에 의해 제1 타일 부호화부(1302)에 입력되고, 그 화상 데이터는 제1 타일 부호화부(1302)에서 부호화된다.
도 15를 참조하면, 단계 S1501에서는, 확률 테이블이 소정의 방법으로 초기화된다. 초기화된 확률 테이블은, 블록 라인의 왼쪽의 블록의 최초의 2값 신호를 산술부호화하는데 사용되고, 후술하는 단계 S1502에서 수시로 갱신된다. 이하의 설명에서는, 블록 라인의 최초의 블록의 2값 신호를 산술부호화하는데 사용된 확률 테이블을, 블록 라인 기준 확률 테이블이라고 한다.
단계 S1502에서는, 제1 타일 부호화부(1302)에 의해 화상 데이터가 블록 단위로 부호화되어, 부호화 데이터가 생성된다. 단계 S1502의 블록 부호화에 대해서, 도 16의 흐름도를 참조해서 상세하게 설명한다.
도 16을 참조하면, 단계 S1601에서는, 입력된 상기 블록의 화상 데이터에 대하여 블록 주변의 화소를 이용한 인트라 예측이 행해지고, 예측 오차가 생성된다. 단계 S1602에서는, 상기 예측 오차에 대하여 직교변환이 행해져, 변환 계수가 생성된다. 또한, 화상의 특성이나 부호량 등에 의거하여 결정된 양자화 파라미터를 사용하여 상기 변환 계수가 양자화되어서, 양자화 계수가 생성된다. 단계 S1603에서는, 양자화 파라미터나 예측 모드 등을 나타내는 신택스 요소가 2치화 되어서, 2값 신호가 생성된다. 신택스 요소마다 H.264와 마찬가지로, 유너리 바이너리제이션, 고정길이 바이너리제이션 등 여러 가지의 2진수의 수법을 바꾸면서 사용한다. 또한, 상기 2값 신호는 상기 확률 테이블에 의거하여 산술부호화된다. 단계 S1604에서는, 산술부호화된 2값 신호가, 확률이 높은 쪽의 부호인가 아닌가에 의거하여 상기 확률 테이블이 갱신된다. 단계 S1605에서는, 블록내의 모든 신택스 요소가 산술부호화된 것인가 아닌가가 판정된다. 모든 신택스 요소가 산술부호화되면(단계 S1605에서 YES), 블록 부호화를 종료한다. 단계 S1605에서 NO이면, 단계 S1603의 처리로 되돌아가서, 다음 신택스 요소를 부호화한다.
다시 도 15의 흐름도를 참조하면, 단계 S1503에서는, 확률 테이블을 기억하는 조건을 충족시키고 있는 것인가 아닌가가 판정된다. 본 실시예에서는, 단계 S1502에서 부호화된 블록과 블록 라인의 좌단과의 사이에 소정수의 블록이 위치된 것인가에 관한 기준이, 상기 확률 테이블을 기억하는 조건이다. 상기 조건을 충족시키면(단계 S1503에서 YES), 단계 S1504의 처리로 진행된다. 그 확률 테이블은 제1확률 테이블로서 제1확률 테이블 기억부(2304)에 기억된다. 그 조건을 충족시키지 않으면, 단계 S1505의 처리로 진행된다. 제1확률 테이블은, 다음 블록 라인의 왼쪽의 블록의 화상 데이터를 부호화하는 블록 라인 기준 확률 테이블로서 사용된다.
단계 S1505에서는, 대상 블록 라인의 모든 블록의 데이터의 부호화가 완료된 것인가 아닌가가 판정된다. 그 부호화가 완료되면(단계 S1505에서 YES), 상단의 블록 라인의 부호화를 종료한다. 단계 S1505에서 NO이면, 단계 S1502의 처리로 되돌아가, 래스터 순서로 다음 블록의 화상 데이터를 부호화한다.
도 24의 단계 S2404의 처리(또는 비상단의 블록 라인을 부호화하는 처리)에 관해서, 도 17의 흐름도를 참조해서 상세하게 설명한다. 대상 블록 라인이 짝수 번째의 블록 라인이면, 제1 블록 라인 부호화부(2302)에 대상 블록의 화상 데이터가 공급되어 부호화된다. 그 대상 블록 라인이 홀수 번째의 블록 라인이면, 제2 블록 라인 부호화부(2303)에 대상 블록의 화상 데이터가 공급되어 부호화된다. 우선, 홀수번째의 블록 라인의 화상 데이터를 제2 블록 라인 부호화부(2303)에서 부호화하는 처리에 관하여 아래에서 설명한다.
단계 S1701에서는, 제1확률 테이블이 제1확률 테이블 기억부(2304)로부터, 블록 라인 기준 확률 테이블로서 공급된다. 단계 S1702, S1703에서의 처리가 단계 S1502, S1503의 처리와 동일하기 때문에, 설명을 생략한다. 단계 S1704에서는, 확률 테이블이 제2확률 테이블로서, 제2확률 테이블 기억부(2305)에 기억된다. 제2확률 테이블은, 다음 블록 라인의 왼쪽의 블록의 화상 데이터를 산술부호화하는 블록 라인 기준 확률 테이블로서 사용된다. 단계 S1705의 처리는 단계 S1505와 같다. 단계 S1705에서는, 홀수 번째의 블록 라인내의 모든 블록의 화상 데이터의 부호화가 판정된다.
다음에, 짝수 번째의 블록 라인의 화상 데이터를 제1 블록 라인 부호화부(2302)로 부호화하는 처리를 아래에서 설명한다. 단계 S1701에서는, 제2확률 테이블이 제2확률 테이블 기억부(2305)로부터 블록 라인 기준 확률 테이블로서 공급된다. 단계 S1702∼S1704의 처리가 단계 S1502∼S1504의 처리와 동일하기 때문에, 설명을 생략한다. 단계 S1705에서는, 짝수 번째의 블록 라인내의 모든 블록의 화상 데이터의 부호화가 완료되었는가가 판정된다.
도 24의 단계 S2405의 위치 정보의 계산 처리에 대해서, 도 18의 흐름도를 참조하여 상세하게 설명한다. 이 처리에서는, 입력으로서, 변수CurBL 및 변수CurTile이 주어진다.
도 18을 참조하면, 단계 S1801에서는, 대상 블록 라인이, 대상 타일내에서 최후의 블록 라인인지의 여부가 판정된다. 최후의 블록 라인이면(단계 S1801에서 YES), 단계 S1803의 처리로 진행된다. 단계 S1801에서 NO이면, 단계 S1802의 처리로 진행된다.
단계 S1802에서는, 대상 블록 라인의 부호화 데이터 사이즈가 wpp_entry_point_offset[CurTile+1][CurBL+1]신택스 요소로서 설정된다. wpp_entry_point_offset[CurTile][CurBL]신택스 요소는, (CurTile)번째의 타일내의 (CurBL)번째의 블록 라인의 부호화 데이터 사이즈를 나타낸다.
단계 S1803에서는, 상기 대상 타일이 프레임내의 최후의 타일인지의 여부가 판정된다. 최후의 타일이면, 위치 정보 계산의 처리를 종료한다. 최후의 타일이 아니면, 단계 S1804의 처리로 진행된다. 대상 타일이 최후의 타일이면, 이것은, 그 대상 블록 라인이 최후의 타일의 최후의 블록 라인인 것을 의미한다. 블록 라인의 엔트리 포인트의 정보는 신택스 요소로서 부호화되지 않는다.
단계 S1804에서는, 대상 타일의 부호화 데이터 사이즈가, (CurTile)번째의 타일의 부호화 데이터 사이즈를 나타내는 tile_entry_point_offset[CurTile+1]신택스 요소로서 설정된다. wpp_entry_point_offset신택스 요소 및 tile_entry_point_offset[]신택스 요소의 값은, 도 14의 단계 S1405에서 슬라이스 헤더에 통합된다.
이상의 구성과 동작에 의해, 화상을 타일로 분할하고, 블록 라인 단위로 병렬로 부호화를 행할 수 있게 된다. 따라서, 고속 부호화가 달성될 수 있다. 한층 더, 각 타일의 부호화 데이터의 선두와 각 블록 라인의 부호화 데이터의 선두를 정확하게 식별할 수 있으므로, 타일 단위로 병렬로 복호 가능하고, 각 타일내에 있어서 블록 라인 단위로 병렬로 복호 가능한 비트 스트림이, 부호화될 수 있다. 이에 따라, 프레임을 타일들로 분할하고 각 타일을 블록 라인들로 분할할 수 있으므로, 병렬성 및 부호화 효율의 양쪽을 개선할 수 있다.
본 실시예에서는 2개의 타일 부호화부와 2개의 블록 라인 부호화부가 배치되는 경우에 관하여 설명했지만, 예를 들면 제3 타일 부호화부, 제3 블록 라인 부호화부 및 제3확률 테이블 기억부의 추가의 배치에 의해, 보다 많은 부호화부에서의 병렬처리가 가능한 것은 명백하다.
제4 실시예
본 발명의 제4 실시예에 따른 화상 부호화장치가 부호화하는 화상 부호화 포맷에 있어서는, 제1 실시예와 마찬가지로 1프레임이 복수의 사각형 영역인 타일들로 분할된다. 제4 실시예의 타일 구조는 도 2에 나타낸 제1 실시예와 동일하기 때문에, 설명을 생략한다. 이때, 상기 타일 구조는 이것에 한정되지 않는다.
본 실시예에 있어서의 HEVC 부호화 스트림의 포맷을 도 10에 나타낸다. 도 10의 부호화 스트림은, 제2 실시예와 같다. 모든 엔트리 포인트가 블록 라인의 엔트리 포인트들로 나타낸다.
도 13 및 도 23에, 본 실시예에 따른 화상 부호화 포맷으로 부호화 스트림을 생성하는, 본 실시예에 따른 화상 부호화장치의 구성(구성요소)을 나타낸다. 본 실시예에 따른 화상 부호화장치의 구성은 제3 실시예와 같기 때문에, 설명을 생략한다.
본 실시예에 따른 화상 부호화장치의 동작은, 도 24의 단계 S2405의 위치 정보 계산 처리를 제외하고 제3 실시예와 동일하다. 이에 따라, 단계 S2405의 처리만을 도 22를 참조하여 설명한다.
도 22를 참조하면, 단계 S2201에서는, 대상 블록 라인이 프레임 내의 최후의 블록 라인인가 아닌가가 판정된다. 최후의 블록 라인이면(단계 S2201에서 YES), 위치 정보 계산 처리를 종료한다. 그 대상 블록 라인이 최후의 블록 라인이 아니면, 단계 S2202의 처리로 진행된다. 그 대상 블록 라인이 최후의 블록 라인이면, 블록 라인의 엔트리 포인트의 정보는 신택스 요소로서 부호화되지 않는다.
단계 S2202에서는, 대상 블록 라인의 부호화 데이터 사이즈가 entry_point_offset신택스 요소로서 설정된다. 본 실시예에서는, 각 타일의 수직 블록수가 135로 고정이기 때문에, (CurTile)번째의 타일의 (CurBL)번째의 블록 라인의 부호화 데이터 사이즈는, entry_point_offset[CurTile×135+CurBL+1]신택스 요소로서 설정된다. 타일들의 수직 블록수가 다른 경우에는, 처리된 타일의 수직 블록 수의 합을, CurTile×135의 값으로 대체하는 것이 필요하다.
도 24의 단계 S2405에서 얻어진 위치 정보entry_point_offset는, 제3 실시예와 마찬가지로, 단계 S1405에서 슬라이스 헤더로 신택스 요소로서 통합된다.
이상의 구성과 동작에 의해, 화상을 타일들로 분할하고, 블록 라인 단위로 병렬로 부호화를 행할 수 있게 된다. 이에 따라, 고속 부호화가 달성될 수 있다. 한층 더, 각 타일의 부호화 데이터의 선두와 각 블록 라인의 부호화 데이터의 선두를 정확하게 식별할 수 있으므로, 타일 단위로 병렬로 복호 가능하고, 각 타일 내에 있어서 블록 라인 단위로 병렬로 복호 가능한 비트 스트림이, 부호화될 수 있다.
제3 실시예에서는, 타일들의 엔트리 포인트수를 나타내는 신택스 요소와 그 타일들의 엔트리 포인트를 나타내는 신택스 요소를 제공하고, 한층 더, 타일들의 수만큼 신택스 요소 세트들을 제공하는 것이 필요하고, 각 신택스 요소 세트는, 각 타일내에서 블록 라인의 엔트리 포인트의 수를 나타내는 신택스 요소와 상기 블록 라인의 엔트리 포인트를 나타내는 신택스 요소를 포함한다. 본 실시예에 의하면, 각 엔트리 포인트가 블록 라인의 부호화 데이터의 사이즈로 나타낸다. 이에 따라, 그 타일들의 엔트리 포인트에 관련된 정보와 블록 라인의 엔트리 포인트에 관련된 정보를 따로따로 제공할 필요가 없다. 따라서, 보다 적은 정보량으로 병렬 복호가 가능한 스트림을 부호화할 수 있다.
본 실시예에서는 2개의 타일 부호화부와 2개의 블록 라인 부호화부가 배치되는 경우에 관하여 설명했지만, 예를 들면 제3 타일 부호화부, 제3 블록 라인 부호화부 및 제3확률 테이블 기억부의 추가의 배치에 의해, 보다 많은 부호화부에서의 병렬처리가 가능한 것은 명백하다.
제5 실시예
도 4, 도 13, 도 19, 도 23에 나타낸 처리부들은 하드웨어로 구성하고 있는 것으로 가정하여 상기 실시예에서는 설명했다. 도 4, 도 13, 도 19, 도 23에 나타낸 처리부들에서 행하는 처리를 컴퓨터 프로그램으로 실현하여도 된다.
도 25는, 상기 실시예들에 따른 화상처리(복호 및 부호화) 장치에 적용가능한 컴퓨터의 하드웨어의 구성 예를 나타내는 블록도다.
CPU(2501)는, RAM(2502)이나 ROM(2503)에 기억된 컴퓨터 프로그램과 데이터에 의거하여 컴퓨터 전체의 제어를 행함과 아울러, 상기 실시예들에 따른 화상처리장치가 행하는 상술한 처리들을 실행한다. 다시 말해, CPU(2501)는, 도 4, 도 13, 도 19, 도 23에 나타낸 처리부로서 기능한다.
RAM(2502)은, 외부기억장치(2506)로부터 로드된 컴퓨터 프로그램과 데이터, 인터페이스(I/F)(2507)를 통해 외부기기에서 취득한 데이터를 일시적으로 기억하기 위한 에어리어를 가진다. RAM(2502)은, CPU(2501)가 각종의 처리를 실행하는데 사용된 워크 에어리어를 더 가진다. 다시 말해, RAM(2502)은, 프레임 메모리로서 기능하거나, 각종의 에어리어를 적당하게 제공할 수 있다.
ROM(2503)에는, 본 컴퓨터의 설정 데이터나, 부트 프로그램 등이 격납되어 있다. 조작부(2504)는, 키보드와 마우스를 구비한다. 본 컴퓨터의 유저가 조작할 때, 조작부(2504)는, 각종의 지시를 CPU(2501)에 입력할 수 있다. 출력부(2505)는, CPU(2501)에 의한 처리 결과를 출력한다. 출력부(2505)는 예를 들면 액정 디스플레이와 같은 표시장치로 구성되어서 그 처리 결과를 표시할 수 있다.
외부 기억장치(2506)는, 하드디스크 드라이브 등의 대용량 기억장치로서 기능한다. 외부 기억장치(2506)에는, 오퍼레이팅 시스템(OS)과, 도 4, 도 13, 도 19, 도 23에 나타낸 부들의 기능을 CPU(2501)에 실현시키기 위한 컴퓨터 프로그램이 기억되어 있다. 한층 더, 외부기억장치(2506)에는, 처리 대상의 화상들이 기억되어도 된다.
외부 기억장치(2506)에 기억된 컴퓨터 프로그램과 데이터는, CPU(2501)의 제어하에 적당하게 RAM(2502)에 로드되어, CPU(2501)에 의한 처리 대상이 된다. I/F(2507)에는, 근거리 통신망(LAN)과 인터넷 등의 네트워크, 투영 장치와 표시장치등의 다른 기기를 접속할 수 있다. 본 컴퓨터는 이 I/F(2507)을 통해서 여러가지 정보를 수신하여 송신할 수 있다. 버스(2508)는, 상기의 구성요소를 접속한다.
상기의 흐름도를 참조하여 설명한 동작을 CPU(2501)가 주로 제어한다.
기타의 실시예
또한, 본 발명의 국면들은, 메모리 디바이스에 기록된 프로그램을 판독 및 실행하여 상기 실시예(들)의 기능들을 수행하는 시스템 또는 장치(또는 CPU 또는 MPU 등의 디바이스들)의 컴퓨터에 의해서, 또한, 시스템 또는 장치의 컴퓨터에 의해 수행된 단계들, 예를 들면, 메모리 디바이스에 기록된 프로그램을 판독 및 실행하여 상기 실시예(들)의 기능들을 수행하는 방법에 의해, 실현될 수도 있다. 이를 위해, 상기 프로그램은, 예를 들면, 네트워크를 통해 또는, 여러 가지 형태의 메모리 디바이스의 기록매체(예를 들면, 컴퓨터 판독 가능한 매체)로부터, 상기 컴퓨터에 제공된다.
본 발명을 예시적 실시예들을 참조하여 기재하였지만, 본 발명은 상기 개시된 예시적 실시예들에 한정되지 않는다는 것을 알 것이다. 아래의 청구항의 범위는, 모든 변형예, 동등한 구조 및 기능을 포함하도록 폭 넓게 해석해야 한다.
본 출원은, 여기서 전체적으로 참고로 포함된, 2012년 6월 29일에 제출된 일본국 특허출원번호 2012-147153의 이점을 청구한다.
301: 블록 302: 블록 라인
401: 비트 스트림 해석부 402,403: 복호부
404 : 타일 화상 데이터 통합부 1901: 셀렉터
1902: 제1 블록 라인 복호부 903: 제2 블록 라인 복호부
904: 제1확률 테이블 기억부 905: 제2확률 테이블 기억부
1906: 블록 라인 화상 데이터 통합부 2301: 블록 라인 셀렉터
2302: 제1 블록 라인 부호화부 2303: 제2 블록 라인 부호화부
2304: 제1확률 테이블 기억부 2305: 제2확률 테이블 기억부
2306: 블록 라인 데이터 통합부

Claims (20)

  1. 사각형의 타일-복수의 블록 열을 포함-을 포함하는 화상을 부호화하여 취득된 데이터를 포함하는 비트 스트림을 복호할 수 있는, 화상 복호장치로서,
    상기 비트 스트림으로부터, 상기 타일의 높이 방향에 있어서의 블록의 수를 나타내는 정보를 취득하는 블록 수 취득 수단과,
    상기 비트 스트림으로부터, 상기 타일에 포함된 블록 열의 선두 위치를 나타내는 선두 위치 정보를 취득하는 선두 위치 정보 취득 수단과,
    상기 비트 스트림으로부터, 상기 화상이 복수의 타일을 포함하는가를 나타내는 플래그를 취득하는 플래그 취득 수단과,
    특정 복호 처리가 실행되고, 상기 플래그가 상기 화상이 복수의 타일을 포함하는 것을 나타내는 경우에, 상기 블록 수 취득 수단에 의해 취득된 상기 정보 및 상기 선두 위치 정보 취득 수단에 의해 취득된 상기 선두 위치 정보에 의거하여 상기 타일을 포함하는 상기 화상을 복호하는 복호 수단을 포함하고,
    상기 특정 복호 처리는, 산술 복호를 위한 정보를, 제 1 블록 열의 다음의 제 2 블록 열에 있어서의 제 1 블록의 복호에서 참조하는 것을 포함하고, 상기 산술 복호를 위한 정보는 상기 제 1 블록 열에 있어서의 블록의 복호에서 갱신된 정보인, 화상 복호장치.
  2. 제 1 항에 있어서,
    상기 복호 수단은, 상기 블록 수 취득 수단에 의해 취득된 상기 정보 및 상기 선두 위치 정보 취득 수단에 의해 취득된 상기 선두 위치 정보에 의거하여 타일 단위 및 블록 열 단위로 상기 비트 스트림을 복호하는, 화상 복호장치.
  3. 제 1 항에 있어서,
    상기 복호 수단은, 상기 선두 위치 정보 취득 수단에 의해 취득된 상기 선두 위치 정보에 의거하여 블록 열에 대응하는 데이터의 선두 위치를 특정하는, 화상 복호장치.
  4. 제 1 항에 있어서,
    상기 화상에 포함된 제 1 타일에 포함되는 j번째(j는 2이상의 자연수)의 블록 열에 대응하는 선두 위치 정보는, 상기 제 1 타일에 포함되는 (j-1) 번째의 블록 열에 대응하는 데이터의 크기를 나타내는 정보인, 화상 복호장치.
  5. 제 3 항에 있어서,
    상기 화상에 포함된 제 1 타일에 포함되는 j번째(j는 2이상의 자연수)의 블록 열에 대응하는 선두 위치 정보는, 상기 제 1 타일에 포함되는 (j-1) 번째의 블록 열에 대응하는 데이터의 크기를 나타내는 정보이고,
    상기 복호 수단은, 상기 제 1 타일에 포함되는 상기 블록 열에 각각 대응하는 데이터의 크기의 합을 더하여 상기 제 1 타일의 상기 높이 방향에 있어서의 블록의 수를 나타내는 정보에 의거하여, 상기 제 1 타일의 다음의 제 2 타일에 대응하는 데이터의 선두 위치를 특정하는, 화상 복호장치.
  6. 제 1 항에 있어서,
    상기 블록 수 취득 수단은, 상기 비트 스트림의 헤더 정보로부터 상기 타일의 상기 높이 방향에 있어서의 블록의 수를 나타내는 상기 정보를 취득하고,
    상기 선두 위치 정보 취득 수단은, 상기 비트 스트림의 헤더 정보로부터 상기 선두 위치 정보를 취득하는, 화상 복호장치.
  7. 제 1 항에 있어서,
    상기 특정 복호 처리는, WaveFront 병렬 처리를 이용하여 블록 열 단위로 상기 화상을 복호하는 처리인, 화상 복호장치.
  8. 제 1 항에 있어서,
    상기 블록 열은, 상기 타일에 있어서의 복수의 블록의 열 모양의 집합인, 화상 복호장치.
  9. 제 1 항에 있어서,
    상기 선두 위치 정보 취득 수단은, 상기 비트 스트림으로부터 선두 위치 정보의 수를 취득하는, 화상 복호장치.
  10. 제 1 항에 있어서,
    상기 화상이 상기 복수의 타일을 포함하고, 상기 특정 복호 처리가 실행되는 경우에, 상기 화상에 있어서의 상기 블록 열에 대응하는 선두 위치 정보의 수의 가능한 값은 타일의 수에 근거한 수로부터 1을 감하여 취득한 값인, 화상 복호장치.
  11. 제 1 항에 있어서,
    상기 화상이 상기 복수의 타일을 포함하고, 상기 특정 복호 처리가 실행되는 경우에, 상기 선두 위치 정보 취득 수단은 상기 화상에 포함된 제 1 타일에 있어서의 상기 제 1 블록 열을 제외한 상기 블록 열에 각각 대응하는 선두 위치 정보 및 상기 제 1 타일의 다음의 제 2 타일에 있어서의 상기 제 1 블록 열을 제외한 상기 블록 열에 각각 대응하는 선두 위치 정보를 순서대로 취득하는, 화상 복호장치.
  12. 사각형의 타일-복수의 블록 열을 포함-을 포함하는 화상을 부호화할 수 있는, 화상 부호화 장치로서,
    복수의 타일을 포함하는 화상에 대하여, 산술 부호화를 위한 정보를 제 1 블록 열의 다음의 제 2 블록 열에 있어서의 제 1 블록의 부호화에서 참조하는 것을 포함하는 특정 부호화 처리를 실행하는 부호화 수단으로서, 상기 산술 부호화를 위한 정보는 상기 제 1 블록 열에 있어서의 블록의 부호화에서 갱신된 정보인, 부호화 수단과,
    상기 화상이 복수의 타일을 포함하고, 상기 특정 부호화 처리가 상기 부호화 수단에 의해 실행되는 경우에, 상기 타일의 높이 방향에 있어서의 블록의 수에 의거하여, 상기 타일에 포함된 블록 열의 선두 위치를 나타내는 선두 위치 정보를 부호화하는 정보 부호화 수단을 포함하고,
    상기 정보 부호화 수단은, 상기 화상이 복수의 타일을 포함하는 경우에, 상기 화상이 복수의 타일을 포함하는 것을 나타내는 플래그를 부호화하는, 화상 부호화 장치.
  13. 제 12 항에 있어서,
    상기 화상에 포함된 제 1 타일에 포함되는 j번째(j는 2이상의 자연수)의 블록 열에 대응하는 선두 위치 정보는, 상기 제 1 타일에 포함되는 (j-1)번째의 블록 열에 대응하는 데이터의 크기를 나타내는 정보인, 화상 부호화 장치.
  14. 제 12 항에 있어서,
    상기 블록 열은, 상기 타일에 있어서의 복수의 블록의 열 모양의 집합인, 화상 부호화 장치.
  15. 제 12 항에 있어서,
    상기 부호화 수단은, 상기 화상에 포함된 제 1 타일에 있어서의 상기 제 1 블록 열을 제외한 상기 블록 열에 각각 대응하는 선두 위치 정보 및 상기 제 1 타일의 다음의 제 2 타일에 있어서의 상기 제 1 블록 열을 제외한 상기 블록 열에 각각 대응하는 선두 위치 정보를 순서대로 부호화하는, 화상 부호화 장치.
  16. 제 12 항에 있어서,
    상기 특정 부호화 처리는, WaveFront 병렬처리를 이용하여 상기 블록 열 단위로 부호화될 수 있는 비트 스트림을 생성하는 처리인, 화상 부호화 장치.
  17. 사각형의 타일-복수의 블록 열을 포함-을 포함하는 화상을 부호화하여 취득된 데이터를 포함하는 비트 스트림을 복호할 수 있는, 화상 복호방법으로서,
    상기 비트 스트림으로부터, 상기 타일의 높이 방향에 있어서의 블록의 수를 나타내는 정보를 취득하는 블록 수 취득 단계와,
    상기 비트 스트림으로부터, 상기 타일에 포함된 블록 열의 선두 위치를 나타내는 선두 위치 정보를 취득하는 선두 위치 정보 취득 단계와,
    상기 비트 스트림으로부터, 상기 화상이 복수의 타일을 포함하는가를 나타내는 플래그를 취득하는 플래그 취득 단계와,
    특정 복호 처리가 실행되고, 상기 플래그가 상기 화상이 복수의 타일을 포함하는 것을 나타내는 경우에, 상기 블록 수 취득 단계에서 취득된 상기 정보 및 상기 선두 위치 정보 취득 단계에서 취득된 상기 선두 위치 정보에 의거하여 상기 타일을 포함하는 상기 화상을 복호하는 복호 단계를 포함하고,
    상기 특정 복호 처리는, 산술 복호를 위한 정보를, 제 1 블록 열의 다음의 제 2 블록 열에 있어서의 제 1 블록의 복호에서 참조하는 것을 포함하고, 상기 산술 복호를 위한 정보는 상기 제 1 블록 열에 있어서의 블록의 복호에서 갱신된 정보인, 화상 복호방법.
  18. 사각형의 타일-복수의 블록 열을 포함-을 포함하는 화상을 부호화할 수 있는, 화상 부호화 방법으로서,
    복수의 타일을 포함하는 화상에 대하여, 산술 부호화를 위한 정보를 제 1 블록 열의 다음의 제 2 블록 열에 있어서의 제 1 블록의 부호화에서 참조하는 것을 포함하는 특정 부호화 처리를 실행하는 부호화 단계로서, 상기 산술 부호화를 위한 정보는 상기 제 1 블록 열에 있어서의 블록의 부호화에서 갱신된 정보인, 부호화 단계와,
    상기 화상이 복수의 타일을 포함하고, 상기 특정 부호화 처리가 상기 부호화 단계에서 실행되는 경우에, 상기 타일의 높이 방향에 있어서의 블록의 수에 의거하여, 상기 타일에 포함된 블록 열의 선두 위치를 나타내는 선두 위치 정보를 부호화하는 정보 부호화 단계를 포함하고,
    상기 정보 부호화 단계는, 상기 화상이 복수의 타일을 포함하는 경우에, 상기 화상이 복수의 타일을 포함하는 것을 나타내는 플래그를 부호화하는, 화상 부호화 방법.
  19. 컴퓨터가 판독하여 실행할 때, 상기 컴퓨터를 청구항 1에 따른 화상 복호장치로서 기능시키는 프로그램을 기억하는 기록매체.
  20. 컴퓨터가 판독하여 실행할 때, 상기 컴퓨터를 청구항 12에 따른 화상 부호화 장치로서 기능시키는 프로그램을 기억하는 기록매체.
KR1020177030580A 2012-06-29 2013-06-26 화상 부호화 장치, 화상 부호화 방법 및 기록 매체, 화상 복호장치, 화상 복호방법 및 기록 매체 KR101888375B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2012-147153 2012-06-29
JP2012147153A JP6080405B2 (ja) 2012-06-29 2012-06-29 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
PCT/JP2013/004003 WO2014002497A1 (en) 2012-06-29 2013-06-26 Image encoding apparatus, method of image encoding, and recording medium, image decoding apparatus, method of image decoding, and recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177004469A Division KR101791858B1 (ko) 2012-06-29 2013-06-26 화상 부호화장치, 화상 부호화방법 및 기록 매체, 화상복호장치, 화상복호방법 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20170122841A KR20170122841A (ko) 2017-11-06
KR101888375B1 true KR101888375B1 (ko) 2018-08-14

Family

ID=48874459

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020177030580A KR101888375B1 (ko) 2012-06-29 2013-06-26 화상 부호화 장치, 화상 부호화 방법 및 기록 매체, 화상 복호장치, 화상 복호방법 및 기록 매체
KR1020177004469A KR101791858B1 (ko) 2012-06-29 2013-06-26 화상 부호화장치, 화상 부호화방법 및 기록 매체, 화상복호장치, 화상복호방법 및 기록 매체
KR1020157002007A KR101710017B1 (ko) 2012-06-29 2013-06-26 화상 부호화장치, 화상 부호화방법 및 기록 매체, 화상복호장치, 화상복호방법 및 기록 매체

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020177004469A KR101791858B1 (ko) 2012-06-29 2013-06-26 화상 부호화장치, 화상 부호화방법 및 기록 매체, 화상복호장치, 화상복호방법 및 기록 매체
KR1020157002007A KR101710017B1 (ko) 2012-06-29 2013-06-26 화상 부호화장치, 화상 부호화방법 및 기록 매체, 화상복호장치, 화상복호방법 및 기록 매체

Country Status (6)

Country Link
US (3) US20150181218A1 (ko)
EP (2) EP3291555A1 (ko)
JP (1) JP6080405B2 (ko)
KR (3) KR101888375B1 (ko)
CN (7) CN107509082B (ko)
WO (1) WO2014002497A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8308363B2 (en) 2006-05-23 2012-11-13 Kraft Foods Global Brands Llc Package integrity indicator for container closure
US8408792B2 (en) 2007-03-30 2013-04-02 Kraft Foods Global Brands Llc Package integrity indicating closure
US20100018974A1 (en) 2008-07-24 2010-01-28 Deborah Lyzenga Package integrity indicating closure
GB0819200D0 (en) 2008-10-20 2008-11-26 Cadbury Holdings Ltd Packaging
US9708104B2 (en) 2010-05-18 2017-07-18 Intercontinental Great Brands Llc Reclosable flexible packaging and methods for manufacturing same
US9656783B2 (en) 2010-05-18 2017-05-23 Intercontinental Great Brands Llc Reclosable flexible packaging and methods for manufacturing same
AU2012228962A1 (en) 2011-03-17 2013-10-17 Intercontinental Great Brands Llc Reclosable flexible film packaging products and methods of manufacture
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2016002493A1 (ja) * 2014-06-30 2016-01-07 ソニー株式会社 ファイル生成装置および方法、並びにコンテンツ再生装置および方法
CN107005694B (zh) * 2014-09-30 2020-05-19 瑞典爱立信有限公司 在独立处理单元中编码和解码视频帧的方法、装置和计算机可读介质
GB2531993B (en) 2014-10-14 2018-04-25 Canon Kk Description of image composition with HEVC still image file format
JP6613618B2 (ja) * 2015-05-20 2019-12-04 株式会社ソシオネクスト 画像処理装置および画像処理方法
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10341561B2 (en) * 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US9794574B2 (en) * 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
CN117176966A (zh) * 2016-10-04 2023-12-05 有限公司B1影像技术研究所 图像编码/解码方法和传输比特流的方法
KR20190052128A (ko) * 2016-10-04 2019-05-15 김기백 영상 데이터 부호화/복호화 방법 및 장치
WO2018131813A1 (en) * 2017-01-10 2018-07-19 Samsung Electronics Co., Ltd. Method and apparatus for generating metadata for 3d images
KR102390413B1 (ko) * 2017-03-03 2022-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2019001734A1 (en) * 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. ENCODER, DECODER, COMPUTER PROGRAM, AND COMPUTER PROGRAM PRODUCT FOR PROCESSING A FRAME OF A VIDEO SEQUENCE
CN113228671B (zh) * 2018-12-28 2022-12-02 华为技术有限公司 通过将图像划分成包括图块的条带对图像进行译码的设备和方法及计算机可读存储介质
JP7403245B2 (ja) 2019-06-21 2023-12-22 キヤノン株式会社 画像復号装置、画像復号方法
JP2021002773A (ja) * 2019-06-21 2021-01-07 キヤノン株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法
JP7403246B2 (ja) 2019-06-21 2023-12-22 キヤノン株式会社 画像復号装置、画像復号方法
JP2021044708A (ja) 2019-09-11 2021-03-18 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2021101066A1 (ko) * 2019-11-22 2021-05-27 엘지전자 주식회사 비디오 또는 영상 코딩 시스템에서의 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법
JP7310022B2 (ja) 2019-11-28 2023-07-18 エルジー エレクトロニクス インコーポレイティド 映像/ビデオエンコーディング/デコーディングシステムにおけるスライスに関する情報のシグナリング方法及び装置
EP3975119A1 (en) 2020-08-27 2022-03-30 Canon Kabushiki Kaisha Device, information processing apparatus, control method therefor, and program

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4257503B2 (ja) * 2003-04-25 2009-04-22 富士ゼロックス株式会社 画像処理装置及び画像処理方法
DE102004038110B3 (de) * 2004-08-05 2005-12-29 Siemens Ag Verfahren zum Codieren und Decodieren, sowie Codier- und Decodiervorrichtung zur Videocodierung
US7813432B2 (en) * 2004-12-30 2010-10-12 Intel Corporation Offset buffer for intra-prediction of digital video
CN100584013C (zh) * 2005-01-07 2010-01-20 日本电信电话株式会社 视频编码方法及装置、视频解码方法及装置
US7606429B2 (en) * 2005-03-25 2009-10-20 Ati Technologies Ulc Block-based image compression method and apparatus
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US8665943B2 (en) * 2005-12-07 2014-03-04 Sony Corporation Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
WO2007066710A1 (ja) * 2005-12-07 2007-06-14 Sony Corporation 符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
JP2007189518A (ja) * 2006-01-13 2007-07-26 Matsushita Electric Ind Co Ltd 信号処理装置、撮像装置、ネットワークカメラシステム及び映像システム
US7831103B2 (en) * 2006-03-17 2010-11-09 Tata Consultancy Services Limited Digital images
EP2023637A4 (en) * 2006-05-24 2010-06-16 Panasonic Corp IMAGE DECODING DEVICE
JP2008219100A (ja) * 2007-02-28 2008-09-18 Oki Electric Ind Co Ltd 予測画像生成装置、方法及びプログラム、並びに、画像符号化装置、方法及びプログラム
CN101394559B (zh) * 2007-09-21 2010-10-27 扬智科技股份有限公司 动态图像处理方法、译码方法及其装置
US8432975B2 (en) * 2008-01-18 2013-04-30 Mediatek Inc. Apparatus and method for processing a picture frame
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US9042457B2 (en) * 2008-06-10 2015-05-26 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus and image coding apparatus wth parallel decoding
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
EP2346255B1 (en) * 2008-10-10 2015-04-08 Panasonic Corporation Image decoding apparatus and image decoding method
JP5340289B2 (ja) * 2008-11-10 2013-11-13 パナソニック株式会社 画像復号装置、画像復号方法、集積回路及びプログラム
JP5173873B2 (ja) * 2008-11-20 2013-04-03 キヤノン株式会社 画像符号化装置及びその制御方法
JP5343703B2 (ja) * 2009-05-22 2013-11-13 ソニー株式会社 復号処理装置、復号処理方法、およびプログラム
EP2449781B1 (en) * 2009-06-29 2016-12-28 Thomson Licensing Methods and apparatus for adaptive probability update for non-coded syntax
JP2011217082A (ja) 2010-03-31 2011-10-27 Jvc Kenwood Corp 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
US20110249735A1 (en) * 2010-04-09 2011-10-13 Jie Zhao Methods and Systems for Intra Prediction
JP5489845B2 (ja) * 2010-04-27 2014-05-14 キヤノン株式会社 画像符号化装置及びその制御方法、並びに、プログラム及び記憶媒体
US8681162B2 (en) * 2010-10-15 2014-03-25 Via Technologies, Inc. Systems and methods for video processing
CN102457725A (zh) * 2010-10-18 2012-05-16 曜鹏科技股份有限公司 影像编码资料暂存装置及其影像编码资料暂存方法
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
JP2012147153A (ja) 2011-01-11 2012-08-02 Renesas Electronics Corp 半導体集積回路およびその動作方法
KR20120084639A (ko) * 2011-01-20 2012-07-30 한국전자통신연구원 엔트로피 부호화를 위한 적응적 정렬 테이블
US9325999B2 (en) * 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
WO2013065673A1 (ja) * 2011-10-31 2013-05-10 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
IL310411A (en) * 2012-01-20 2024-03-01 Ge Video Compression Llc A coding concept that enables parallel processing, takes multiplexing and video bitstreaming
EP3174295B1 (en) * 2012-04-13 2018-12-12 GE Video Compression, LLC Low delay picture coding
JP6055080B2 (ja) * 2012-04-16 2016-12-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 圧縮動画のシーケンスにおける並列処理の可能性を示す固定タイル構造フラグ
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Chih-Wei Hsu, Chia-Yang Tsai, Yu-Wen Huang, Shawmin Lei, Wavefront Parallel Processing with Tiles, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22. July, 2011, JCTVC
Hendry, Byeong Moon Jeon, AHG4: Unified marker for Tiles and WPP's entry points, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27. April-7. May 2012, USA, JCTVC-I0080.
Hendry, Sangoh Jeong, Seung Wook Park, Byeong Moon Jeon, Andrew Segall, Kiran Misra, AHG4: Harmonized Method for Signalling Entry Points of tiles and WPP Substreams, JCT-VC of ITU-T SG16 WP3 and ISO/I*
Kiran Misra, Andrew Segall, Harmonization of Entry Points for Tiles and Wavefront Processing, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva, CH, 21-30. November, 2011. JCTVC-*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법
WO2021107651A1 (ko) * 2019-11-28 2021-06-03 주식회사 우경정보기술 병렬 포렌식 마킹 장치 및 방법

Also Published As

Publication number Publication date
CN104396259B (zh) 2017-10-31
CN107483951B (zh) 2020-03-17
CN107517389B (zh) 2020-03-17
CN107483966A (zh) 2017-12-15
CN107743241B (zh) 2020-05-05
KR20170021901A (ko) 2017-02-28
CN107743241A (zh) 2018-02-27
CN107509082B (zh) 2020-03-17
KR20150024922A (ko) 2015-03-09
KR20170122841A (ko) 2017-11-06
EP3291555A1 (en) 2018-03-07
EP2868087A1 (en) 2015-05-06
CN107172441B (zh) 2020-01-17
CN104396259A (zh) 2015-03-04
KR101710017B1 (ko) 2017-02-24
JP2014011638A (ja) 2014-01-20
CN107483951A (zh) 2017-12-15
CN107517389A (zh) 2017-12-26
US20170324970A1 (en) 2017-11-09
CN107483966B (zh) 2020-10-30
US9979978B2 (en) 2018-05-22
CN107509082A (zh) 2017-12-22
US20150181218A1 (en) 2015-06-25
KR101791858B1 (ko) 2017-10-31
US10218991B2 (en) 2019-02-26
US20180242009A1 (en) 2018-08-23
JP6080405B2 (ja) 2017-02-15
CN107172441A (zh) 2017-09-15
WO2014002497A1 (en) 2014-01-03

Similar Documents

Publication Publication Date Title
KR101888375B1 (ko) 화상 부호화 장치, 화상 부호화 방법 및 기록 매체, 화상 복호장치, 화상 복호방법 및 기록 매체
EP3061233B1 (en) Representing blocks with hash values in video and image coding and decoding
US9826241B2 (en) Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
KR20160075705A (ko) 비디오 및 이미지 코딩에서의 해시 기반 블록 매칭
KR102138368B1 (ko) 적응적 샘플링에 기초한 계층적 움직임 예측 방법 및 움직임 예측 장치
KR102413597B1 (ko) 복호 방법 및 장치
JP2013102297A (ja) 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
JP2014011726A (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
KR20140035408A (ko) 동화상 복호화 장치 및 동화상 복호화 방법
JP6505142B2 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant