KR102307283B1 - 화상 부호화 장치 및 방법과 화상 처리 장치 및 방법 - Google Patents

화상 부호화 장치 및 방법과 화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR102307283B1
KR102307283B1 KR1020167021257A KR20167021257A KR102307283B1 KR 102307283 B1 KR102307283 B1 KR 102307283B1 KR 1020167021257 A KR1020167021257 A KR 1020167021257A KR 20167021257 A KR20167021257 A KR 20167021257A KR 102307283 B1 KR102307283 B1 KR 102307283B1
Authority
KR
South Korea
Prior art keywords
unit
bit stream
picture
information indicating
stream
Prior art date
Application number
KR1020167021257A
Other languages
English (en)
Other versions
KR20160130990A (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 KR20160130990A publication Critical patent/KR20160130990A/ko
Application granted granted Critical
Publication of KR102307283B1 publication Critical patent/KR102307283B1/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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/172Methods 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 picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

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

Abstract

본 개시는, 비트 스트림을 보다 용이하게 결합할 수 있도록 하는 화상 부호화 장치 및 방법 및 화상 처리 장치 및 방법에 관한 것이다. 화상 데이터의 처리 대상인 커런트 픽처의, 위치에 관한 정보와 참조에 관한 정보에 기초하여, 가상 참조 디코더에 관한 헤더 정보를 설정하는 설정부와, 상기 화상 데이터를 부호화하고, 상기 화상 데이터의 부호화 데이터와, 상기 설정부에 의해 설정된 헤더 정보를 포함하는 비트 스트림을 생성하는 부호화부를 구비하도록 한다. 본 개시는, 예를 들어 화상 처리 장치 또는 화상 부호화 장치 등에 적용할 수 있다.

Description

화상 부호화 장치 및 방법과 화상 처리 장치 및 방법{IMAGE ENCODING DEVICE AND METHOD AND IMAGE PROCESSING DEVICE AND METHOD}
본 개시는, 화상 부호화 장치 및 방법과 화상 처리 장치 및 방법에 관한 것으로, 특히 비트 스트림을 보다 용이하게 결합할 수 있도록 한 화상 부호화 장치 및 방법과 화상 처리 장치 및 방법에 관한 것이다.
종래, 동화상의 편집에 있어서, 복수의 동화상끼리를 결합하는 편집이 있다. 일반적으로, 디지털 신호 처리에 있어서 동화상 데이터는 데이터 사이즈가 크므로, 부호화(압축)되어 이용되는 경우가 많다. 화상 데이터의 범용적인 부호화 방식으로서, 예를 들어 MPEG(Moving Picture Experts Group), AVC(Advanced Video Coding), HEVC(High Efficiency Video Coding) 등이 있다.
이와 같이 부호화된 동화상 데이터를 사용하여, 전술한 바와 같은 동화상끼리의 결합을 행하는 경우, 복수 개의 비트 스트림으로부터 1개의 비트 스트림을 생성하게 된다. 그 때, 각 비트 스트림을 모두 복호해서 비압축의 상태로 하고 나서 결합하고, 결합 후의 동화상을 부호화해서 1개의 비트 스트림을 생성하는 방법이 고려되지만, 그 경우, 비트 스트림의 데이터 사이즈가 커지면 커질수록, 처리의 부하가 크게 되어버릴 우려가 있다.
따라서, 이와 같이 부호화된 동화상 데이터를 프레임 정밀도로 잘라 내기 편집할 때, 인코드 시간을 단축하고 또한 화질을 열화시키지 않는 기술로서 스마트 렌더링 편집이 고려되었다(예를 들어, 특허문헌 1 및 특허문헌 2 참조).
그런데, AVC나 HEVC에 있어서는, 비트 스트림을 파탄 없이 전송하기 위해서, 가상 참조 디코더 HRD(Hypothetical reference decoder)라는 개념이 도입되어 있다. 인코더는, 가상 참조 디코더를 파탄시키지 않도록 비트 스트림을 생성할 필요가 있다. 전술한 스마트 렌더링 편집에 있어서의 부호화에 있어서도 마찬가지이다.
일본 특허공개 제2008-22361호 공보 일본 특허공개 제2008-131147호 공보
그러나, 스마트 렌더링 편집에 있어서, 단순하게, 동화상의 소정의 인코드 구간을 부호화한 것만으로는, 결합한 비트 스트림끼리의 관계가 고려되지 않기 때문에, 결합한 부분을 넘어서(결합 후의 비트 스트림 전체에 있어서) 가상 참조 디코더를 파탄시키지 않도록 하는 것을 보증할 수 없다. 즉, 결합 후의 비트 스트림을, 정확하게 복호할 수 없게 되어버릴 우려가 있었다.
결합 후의 비트 스트림을 정확하게 복호할 수 있도록 하기 위해서는, 비트 스트림에 포함되는 가상 참조 디코더에 관한 정보를 적절하게 재기입하는 등의 번잡한 작업이 필요하였다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것으로, 비트 스트림을 보다 용이하게 결합할 수 있도록 하는 것이다.
본 기술의 일 측면은, 화상 데이터의 처리 대상인 커런트 픽처의, 위치에 관한 정보와 참조에 관한 정보에 기초하여, 가상 참조 디코더에 관한 헤더 정보를 설정하는 설정부와, 상기 화상 데이터를 부호화하고, 상기 화상 데이터의 부호화 데이터와, 상기 설정부에 의해 설정된 헤더 정보를 포함하는 비트 스트림을 생성하는 부호화부를 구비하는 화상 부호화 장치이다.
상기 설정부는, 널 유닛 타입을 나타내는 정보를 설정할 수 있다.
상기 설정부는, 비트 스트림의 결합을 나타내는 정보를 더 설정할 수 있다.
상기 설정부는, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 더 설정할 수 있다.
상기 설정부는, 상기 커런트 픽처가 선두의 픽처인 경우, 상기 널 유닛 타입을 나타내는 정보를, IDR 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 참으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정할 수 있다.
상기 설정부는, 상기 커런트 픽처가 종단부의 픽처인 경우, 상기 널 유닛 타입을 나타내는 정보를, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정할 수 있다.
상기 설정부는, 상기 커런트 픽처가, 선두도 종단부도 아니며, 또한 참조 픽처인 경우, 상기 널 유닛 타입을 나타내는 정보를, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정할 수 있다.
상기 설정부는, 상기 커런트 픽처가, 선두도 종단부도 아니며, 또한 참조 픽처가 아닌 경우, 상기 널 유닛 타입을 나타내는 정보를, 템포럴 서브레이어가 아닌 비참조 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정할 수 있다.
상기 커런트 픽처의 위치에 관한 정보와, 상기 가상 참조 디코더의 조정을 행하는 구간인지를 나타내는 정보와, 발생 부호량을 나타내는 정보에 기초하여, 부호량의 목표값을 설정하는 레이트 제어부를 더 구비할 수 있다.
본 기술의 일 측면은, 또한 화상 데이터의 처리 대상인 커런트 픽처의, 위치에 관한 정보와 참조에 관한 정보에 기초하여, 가상 참조 디코더에 관한 헤더 정보를 설정하고, 상기 화상 데이터를 부호화하고, 상기 화상 데이터의 부호화 데이터와, 설정된 헤더 정보를 포함하는 비트 스트림을 생성하는 화상 부호화 방법이다.
본 기술의 다른 측면은, 화상 데이터가 부호화된 부호화 데이터를 포함하는 비트 스트림에 포함되는, 가상 참조 디코더에 관한 헤더 정보를, 상기 비트 스트림을 다른 상기 비트 스트림과 결합할 수 있도록 갱신하는 갱신부를 구비하는 화상 처리 장치이다.
상기 갱신부는, 결합되는 비트 스트림의 종단부의 부호화 완료 픽처 버퍼의 위치와, 결합하는 비트 스트림의 선두의 상기 부호화 완료 픽처 버퍼의 위치와의 관계가 적절해지도록, 상기 비트 스트림을 재부호화할 수 있다.
상기 갱신부는, 상기 비트 스트림의 종단부의 널 유닛 타입을 나타내는 정보를, 프레비어스 논디스카더블 픽처에 해당하는 값으로 갱신할 수 있다.
상기 갱신부는, 부호화 완료 픽처 버퍼로부터의 판독에 관한 정보를, 비트 스트림의 결합에 적합한 값으로 갱신할 수 있다.
상기 갱신부는, 상기 비트 스트림의 종단부의 프레비어스 논디스카더블 픽처를 탐색하고, 탐색 결과에 기초하여, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 갱신할 수 있다.
상기 갱신부는, 상기 비트 스트림의 종단부의, 부호화 완료 픽처 버퍼 및 복호 완료 픽처 버퍼로부터의 판독에 관한 정보를, 비트 스트림의 결합에 적합한 값으로 갱신할 수 있다.
상기 갱신부는, 상기 비트 스트림의 선두의, 부호화 완료 픽처 버퍼 및 복호 완료 픽처 버퍼로부터의 판독에 관한 정보를, 비트 스트림의 결합에 적합한 값으로 갱신할 수 있다.
상기 갱신부는, 결합하는 비트 스트림의 선두의 액세스 유닛의 부호화 완료 픽처 버퍼로부터의 판독 지연을 나타내는 정보를, 결합되는 비트 스트림의 종단부 의 부호화 완료 픽처 버퍼로부터의 판독 지연을 나타내는 정보에 기초하는 값으로 갱신할 수 있다.
상기 갱신부에 의해 갱신된 상기 비트 스트림을 다른 비트 스트림과 결합하는 결합부를 더 구비할 수 있다.
본 기술의 다른 측면은, 또한 화상 데이터가 부호화된 부호화 데이터를 포함하는 비트 스트림에 포함되는, 가상 참조 디코더에 관한 헤더 정보를, 상기 비트 스트림을 다른 상기 비트 스트림과 결합할 수 있도록 갱신하는 화상 처리 방법이다.
본 기술의 일 측면에 있어서는, 화상 데이터의 처리 대상인 커런트 픽처의, 위치에 관한 정보와 참조에 관한 정보에 기초하여, 가상 참조 디코더에 관한 헤더 정보가 설정되고, 화상 데이터가 부호화되어, 화상 데이터의 부호화 데이터와, 설정된 헤더 정보를 포함하는 비트 스트림이 생성된다.
본 기술의 다른 측면에 있어서는, 화상 데이터가 부호화된 부호화 데이터를 포함하는 비트 스트림에 포함되는, 가상 참조 디코더에 관한 헤더 정보가, 상기 비트 스트림을 다른 상기 비트 스트림과 결합할 수 있도록 갱신된다.
본 개시에 의하면, 화상 데이터를 부호화 혹은 처리할 수 있다. 특히, 비트 스트림을 보다 용이하게 결합할 수 있다.
도 1은, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 2는, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 3은, 가상 참조 디코더의 예를 설명하는 도면이다.
도 4는, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 5는, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 6은, 화상 부호화 장치의 주된 구성예를 나타내는 블록도이다.
도 7은, 레이트 제어부의 주된 구성예를 나타내는 블록도이다.
도 8은, 가상 참조 디코더에 관한 파라미터에 대하여 설명하는 도면이다.
도 9는, 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 10은, 널 유닛 타입 판정 처리의 흐름의 예를 설명하는 흐름도이다.
도 11은, 레이트 제어 처리의 흐름의 예를 설명하는 흐름도이다.
도 12는, HRD 트레이스 처리의 흐름의 예를 설명하는 흐름도이다.
도 13은, 타깃 비트 결정 처리의 흐름의 예를 설명하는 흐름도이다.
도 14는, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 15는, 비트 스트림 결합 장치의 주된 구성예를 나타내는 블록도이다.
도 16은, 비트 스트림 결합 처리의 흐름의 예를 설명하는 흐름도이다.
도 17은, 버퍼 판정 처리의 흐름의 예를 설명하는 흐름도이다.
도 18은, 널 유닛 타입 재기입 처리의 흐름의 예를 설명하는 흐름도이다.
도 19는, 버퍼링 피리어드 재기입 처리의 흐름의 예를 설명하는 흐름도이다.
도 20은, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 21은, 비트 스트림 결합 장치의 주된 구성예를 나타내는 블록도이다.
도 22는, 비트 스트림 결합 처리의 흐름의 예를 설명하는 흐름도이다.
도 23은, 프레비어스 논디스카더블 픽처 탐색 처리의 흐름의 예를 설명하는 흐름도이다.
도 24는, 버퍼링 피리어드 재기입 처리의 흐름의 예를 설명하는 흐름도이다.
도 25는, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 26은, 비트 스트림 결합 장치의 주된 구성예를 나타내는 블록도이다.
도 27은, 비트 스트림 결합 처리의 흐름의 예를 설명하는 흐름도이다.
도 28은, 프레비어스 Cpb 리무버블 딜레이 탐색 처리의 흐름의 예를 설명하는 흐름도이다.
도 29는, 버퍼링 피리어드 재기입 처리의 흐름의 예를 설명하는 흐름도이다.
도 30은, 픽처 타이밍 SEI 재기입 처리의 흐름의 예를 설명하는 흐름도이다.
도 31은, 스마트 렌더링 편집의 모습의 예를 설명하는 도면이다.
도 32는, 컴퓨터의 주된 구성예를 나타내는 블록도이다.
도 33은, 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 34는, 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 35는, 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 36은, 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 37은, 비디오 세트의 개략적인 구성의 일례를 나타내는 블록도이다.
도 38은, 비디오 프로세서의 개략적인 구성의 일례를 나타내는 블록도이다.
도 39는, 비디오 프로세서의 개략적인 구성의 다른 예를 나타내는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 '실시 형태'라 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 제1 실시 형태(화상 부호화 장치)
2. 제2 실시 형태(비트 스트림 결합 장치)
3. 제3 실시 형태(비트 스트림 결합 장치)
4. 제4 실시 형태(비트 스트림 결합 장치)
5. 제5 실시 형태(컴퓨터)
6. 제6 실시 형태(응용예)
7. 제7 실시 형태(세트·유닛·모듈·프로세서)
<1. 제1 실시 형태>
<스마트 렌더링 편집>
종래, 동화상의 편집에 있어서, 복수의 동화상끼리를 결합하는 편집이 있다. 일반적으로, 디지털 신호 처리에 있어서 동화상 데이터는 데이터 사이즈가 크므로, 부호화(압축)되어 이용되는 경우가 많다. 화상 데이터의 범용적인 부호화 방식으로서, 예를 들어 MPEG(Moving Picture Experts Group), AVC(Advanced Video Coding), HEVC(High Efficiency Video Coding) 등이 있다.
이와 같이 부호화된 동화상 데이터를 사용하여, 전술한 바와 같은 동화상끼리의 결합을 행하는 경우, 복수 개의 비트 스트림으로부터 1개의 비트 스트림을 생성하게 된다. 그 때, 각 비트 스트림을 모두 복호해서 비압축의 상태로 하고 나서 결합하고, 결합 후의 동화상을 부호화해서 1개의 비트 스트림을 생성하는 방법이 고려되지만, 그 경우, 비트 스트림의 데이터 사이즈가 커지면 커질수록, 처리의 부하가 크게 되어버릴 우려가 있다.
따라서, 예를 들어 특허문헌 1이나 특허문헌 2에 기재한 바와 같이, 이와 같이 부호화된 동화상 데이터를 프레임 정밀도로 잘라내기 편집할 때, 인코드 시간을 짧게 하고 또한 화질을 열화시키지 않는 기술로서 스마트 렌더링 편집이 고려되었다.
그런데, AVC나 HEVC에 있어서는, 비트 스트림을 파탄 없이 전송하기 위해서, 가상 참조 디코더(HRD(Hypothetical reference decoder))라는 개념이 도입되어 있다. 인코더는, 가상 참조 디코더를 파탄시키지 않도록 비트 스트림을 생성할 필요가 있다. 전술한 스마트 렌더링 편집에 있어서의 부호화에 있어서도 마찬가지이다.
그러나, 스마트 렌더링 편집에 있어서, 단순하게, 동화상의 소정의 인코드 구간을 부호화한 것만으로는, 결합한 비트 스트림끼리의 관계가 고려되어 있지 않기 때문에, 결합한 부분을 넘어서(결합 후의 비트 스트림 전체에 있어서) 가상 참조 디코더를 파탄시키지 않도록 하는 것을 보증할 수 없다. 결합 후의 비트 스트림을 정확하게 복호할 수 있도록 하기 위해서는, 비트 스트림에 포함되는 가상 참조 디코더에 관한 정보를 적절하게 재기입하는 등의 번잡한 작업이 필요하였다.
예를 들어, 도 1은, 화상 데이터가 AVC로 부호화된 비트 스트림끼리를 결합하는 경우의 예를 나타내고 있다. 도 1의 A는, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 1의 결합에 있어서는, 스트림 B의 선두가 스트림 A의 종단부에 접속된다. 도 1의 B는, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다.
이하에 있어서, 이와 같은 결합에 사용되는, 스트림 A를 결합되는 비트 스트림(스트림)이라고도 칭하고, 스트림 B를 결합하는 비트 스트림(스트림)이라고도 칭한다.
도 1의 B에 도시된 바와 같이, 이 예의 경우, 결합하는 비트 스트림인 스트림 B(StreamB)의 선두의 CpbRemovalDelay를, 결합되는 비트 스트림인 스트림 A(StreamA)의 종단부의 CpbRemovalDelay+ 1로 할 필요가 있다. 그를 위해서는, 유저가 스트림 A(StreamA)의 종단부의 CpbRemovalDelay를 조사하고, 스트림 B(StreamB)의 선두의 CpbRemovalDelay를 갱신해야만 해서, 번잡한 작업을 필요로 하였다.
도 2는, 화상 데이터가 HEVC로 부호화된 비트 스트림끼리를 결합하는 경우의 예를 나타내고 있다. 도 2의 A는, 도 1의 A와 마찬가지로, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 2의 결합도 도 1과 마찬가지로 행해진다. 즉, 스트림 B의 선두가 스트림 A의 종단부에 접속된다. 도 2의 B는, 도 1의 B와 마찬가지로, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 대한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다.
도 2에 도시된 바와 같이, HEVC에서는, 비트 스트림을 간단하게 결합시킬 목적으로, Buffering Period SEI(Supplemental Enhancement Information)에 concatenation_flag가 추가되었다. concatenation_flag=1의 경우에는, 비트 스트림이 결합된 것을 나타내고 있으며, Cpb(Coded Picture Buffer(부호화 완료 픽처 버퍼))의 인발 타이밍을 나타내는, AuNominalRemovalTime의 계산 방법이 변경된다. 이때, Picture Timing SEI에 나타내는 au_cpb_removal_delay_minus1을 계산에 사용하지 않는 것이 특징으로 된다.
HEVC의 비트 스트림의 경우, 이 concatenation_flag=1로 하는 것만으로 2개의 비트 스트림을 결합해도 HRD적으로 파탄이 없는 스트림을 생성할 수 있다.
도 3은, concatenation_flag=1일 때의 AuNominalRemovalTime의 실제의 계산 방법의 예를 나타낸 것이다. 이 계산을 보면 picture timing SEI의 au_cpb_removal_delay_minus1을 사용하지 않고 연속적인 결합이 가능하다는 것을 알 수 있다.
이와 같이 HEVC에서는, concatenation_flag를 사용함으로써 간단하게 비트 스트림을 결합할 수 있는 경우가 있다. 그러나, 항상 이와 같이 간단하게 비트 스트림을 결합할 수 있는 것은 아니다.
도 4는, AVC의 비트 스트림의 결합에 있어서 B 픽처(B-picture)를 포함하는 리오더가 발생하는 경우의 예이다. 도 4의 A는, 도 1의 A와 마찬가지로, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 4의 B는, 도 1의 B와 마찬가지로, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 이 경우, 도 1과 마찬가지의 처리로 비트 스트림을 결합할 수 있다.
이에 반하여, HEVC의 비트 스트림의 결합에 있어서 B 픽처(B-picture)를 포함하는 리오더가 발생하는 경우, AVC보다도 처리가 복잡해질 우려가 있었다. 도 5는, 그 경우의 예를 나타내고 있다. 도 5의 A는, 도 2의 A와 마찬가지로, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 5의 B는, 도 2의 B와 마찬가지로, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다.
도 5에 도시된 바와 같이, 이 예의 경우, 결합하는 비트 스트림인 스트림 B(StreamB)의 concatenation_flag=1로 하고, IDR(Instantaneous Decoding Refresh) 픽처에서 cpb_removal_delay=0으로서 운용하고, 유저는, 결합되는 비트 스트림인 스트림 A(StreamA)의 종단부의 prevNonDiscardablePic의 위치를 확인하여, 스트림 B(StreamB)의 auCpbRemovalDelayDeltaMinus1을 재기입할 필요가 있었다. 즉, 번잡한 작업을 필요로 하였다. 도 5의 예의 경우, 스트림 A(StreamA)의 종단부의 prevNonDiscardablePic는, (n+3)의 픽처(nal_unit_type가 TRAIL_R)이므로, 스트림 B(StreamB)의 auCpbRemovalDelayDeltaMinus1=2이다.
따라서, HEVC에 있어서 비트 스트림을 결합하기 전에 신택스(Syntax)를 적절하게 설정함으로써 보다 용이하게 비트 스트림끼리를 결합할 수 있도록 한다.
<화상 부호화 장치>
예를 들어, 화상 데이터의 부호화 시에, 그 화상 데이터의 처리 대상인 커런트 픽처의, 위치에 관한 정보와 참조에 관한 정보에 기초하여, 가상 참조 디코더에 관한 헤더 정보를 설정하고, 그 화상 데이터를 부호화한 부호화 데이터와, 그 설정된 헤더 정보를 포함하는 비트 스트림을 생성하도록 한다.
헤더 정보란, 각 계층(시퀀스/픽처/슬라이스/타일/최대 부호화 단위/부호화 단위 등)에 대하여, 각 계층에 설정된 데이터에 앞서 파싱된(참조하는) 정보 또는 각 계층에 설정된 데이터와는 독립적으로 파싱된(참조하는) 정보를 의미한다. 예를 들어, 비디오 파라미터 세트(VPS(Video Parameter Set)), 시퀀스 파라미터 세트(SPS(Sequence Parameter Set)), 픽처 파라미터 세트(PPS(Picture Parameter Set)), 슬라이스 헤더(Slice Header), 널 유닛 타입(nal_unit_typ), SEI(Supplemental Enhancement Information) 등의 정보가 헤더 정보에 해당한다. 헤더 정보는, 비트 스트림의 신택스로서 명시적으로 정의된 정보뿐만 아니라, 각 계층의 선두에 위치하는 정보도 포함한다.
도 6은, 본 기술을 적용한 화상 처리 장치의 일 형태인 화상 부호화 장치의 구성의 일례를 나타내는 블록도이다. 도 6에 도시된 화상 부호화 장치(100)는, 예를 들어 HEVC의 예측 처리, 또는 그에 준하는 방식의 예측 처리를 사용해서 동화상의 화상 데이터를 부호화한다.
도 6에 도시된 바와 같이 화상 부호화 장치(100)는, 화면 재배열 버퍼(111), 연산부(112), 직교 변환부(113), 양자화부(114), 가역 부호화부(115), 축적 버퍼(116), 역양자화부(117) 및 역직교 변환부(118)를 갖는다. 또한, 화상 부호화 장치(100)는, 연산부(119), 인트라 예측부(120), 루프 필터(121), 프레임 메모리(122), 인터 예측부(123) 및 예측 화상 선택부(124)를 갖는다.
또한, 화상 부호화 장치(100)는, 레이트 제어부(125) 및 nal_unit_type 판정부(126)를 갖는다.
화면 재배열 버퍼(111)는, 입력된 화상 데이터의 각 프레임의 화상을 그 표시순으로 기억하고, 기억한 표시의 순서의 프레임의 화상을, GOP(Group Of Picture)에 따라서, 부호화를 위한 프레임의 순서로 재배열하고, 프레임의 순서를 재배열한 화상을, 연산부(112)에 공급한다. 또한, 화면 재배열 버퍼(111)는, 프레임의 순서를 재배열한 화상을, 인트라 예측부(120) 및 인터 예측부(123)에도 공급한다.
연산부(112)는, 화면 재배열 버퍼(111)로부터 판독된 화상으로부터, 예측 화상 선택부(124)를 통해 인트라 예측부(120) 혹은 인터 예측부(123)로부터 공급되는 예측 화상을 감산하고, 그 차분 정보(잔차 데이터)를 직교 변환부(113)에 공급한다. 예를 들어, 인트라 부호화가 행해지는 화상의 경우, 연산부(112)는 화면 재배열 버퍼(111)로부터 판독된 화상으로부터, 인트라 예측부(120)로부터 공급되는 예측 화상을 감산한다. 또한, 예를 들어 인터 부호화가 행해지는 화상의 경우, 연산부(112)는, 화면 재배열 버퍼(111)로부터 판독된 화상으로부터, 인터 예측부(123)로부터 공급되는 예측 화상을 감산한다.
직교 변환부(113)는 연산부(112)로부터 공급되는 잔차 데이터에 대하여 이산 코사인 변환이나 카루넨 루베 변환 등의 직교 변환을 실시한다. 직교 변환부(113)는, 그 직교 변환에 의해 얻어진 변환 계수를 양자화부(114)에 공급한다.
양자화부(114)는, 직교 변환부(113)로부터 공급되는 변환 계수를 양자화한다. 양자화부(114)는 레이트 제어부(125)로부터 공급되는 부호량의 목표값에 관한 정보에 기초하여 양자화 파라미터를 설정하고, 그 양자화를 행한다. 양자화부(114)는, 양자화된 변환 계수를 가역 부호화부(115)에 공급한다.
가역 부호화부(115)는, 양자화부(114)에 있어서 양자화된 변환 계수를 임의의 부호화 방식으로 부호화한다. 또한, 가역 부호화부(115)는 인트라 예측의 모드를 나타내는 정보 등을 인트라 예측부(120)로부터 취득하고, 인터 예측의 모드를 나타내는 정보나 차분 움직임 벡터 정보 등을 인터 예측부(123)로부터 취득한다. 또한, 가역 부호화부(115)는, nal_unit_type 판정부(126)에 있어서 설정된 concatenation_flag나 nal_unit_type 등의 정보를 취득한다.
가역 부호화부(115)는, 이들 각종 정보를 임의의 부호화 방식으로 부호화하고, 부호화 데이터(부호화 스트림이라고도 칭함)의 헤더 정보의 일부로 한다(다중화함). 가역 부호화부(115)는, 부호화해서 얻어진 부호화 데이터를 축적 버퍼(116)에 공급하여 축적시킨다.
가역 부호화부(115)의 부호화 방식으로서는, 예를 들어 가변장 부호화 또는 산술 부호화 등을 들 수 있다. 가변장 부호화로서는, 예를 들어 H.264/AVC 방식으로 정해져 있는 CAVLC(Context-Adaptive Variable Length Coding) 등을 들 수 있다. 산술 부호화로서는, 예를 들어 CABAC(Context-Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
축적 버퍼(116)는, 가역 부호화부(115)로부터 공급된 부호화 데이터를, 일시적으로 유지한다. 축적 버퍼(116)는 소정의 타이밍에 있어서, 유지하고 있는 부호화 데이터를, 화상 부호화 장치(100)의 외부로 출력한다. 즉, 축적 버퍼(116)는, 부호화 데이터를 전송하는 전송부이기도 하다.
또한, 양자화부(114)에 있어서 양자화된 변환 계수는, 역양자화부(117)에도 공급된다. 역양자화부(117)는, 그 양자화된 변환 계수를, 양자화부(114)에 의한 양자화에 대응하는 방법으로 역양자화한다. 역양자화부(117)는, 그 역양자화에 의해 얻어진 변환 계수를, 역직교 변환부(118)에 공급한다.
역직교 변환부(118)는, 역양자화부(117)로부터 공급된 변환 계수를, 직교 변환부(113)에 의한 직교 변환 처리에 대응하는 방법으로 역직교 변환한다. 역직교 변환부(118)는, 역직교 변환된 출력(복원된 잔차 데이터)을 연산부(119)에 공급한다.
연산부(119)는, 역직교 변환부(118)로부터 공급된, 복원된 잔차 데이터에, 예측 화상 선택부(124)를 통해 인트라 예측부(120) 혹은 인터 예측부(123)로부터 공급되는 예측 화상을 가산하고, 국소적으로 재구성된 화상(이하, '재구성 화상'이라고 칭함)을 얻는다. 그 재구성 화상은, 인트라 예측부(120) 및 루프 필터(121)에 공급된다.
인트라 예측부(120)는, 연산부(119)로부터 참조 화상으로서 공급되는 재구성 화상인 처리 대상 픽처 내의 화소값을 사용해서 예측 화상을 생성하는 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(120)는, 미리 준비된 복수의 인트라 예측 모드에서 이 인트라 예측을 행한다.
인트라 예측부(120)는, 후보로 되는 모든 인트라 예측 모드에서 예측 화상을 생성하고, 화면 재배열 버퍼(111)로부터 공급되는 입력 화상을 사용해서 각 예측 화상의 비용 함수값을 평가하고, 최적의 모드를 선택한다. 인트라 예측부(120)는, 최적의 인트라 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을, 예측 화상 선택부(124)에 공급한다.
또한, 전술한 바와 같이, 인트라 예측부(120)는, 채용된 인트라 예측 모드를 나타내는 인트라 예측 모드 정보 등을, 적절히 가역 부호화부(115)에 공급하고, 부호화시킨다.
루프 필터(121)는, 디블록 필터나 적응 루프 필터 등을 포함하고, 연산부(119)로부터 공급되는 재구성 화상에 대하여 적절히 필터 처리를 행한다. 예를 들어, 루프 필터(121)는 재구성 화상에 대하여 디블록 필터 처리를 행함으로써 재구성 화상의 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(121)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 재구성 화상)에 대하여 위너 필터(Wiener Filter)를 사용해서 루프 필터 처리를 행함으로써 화질 개선을 행한다.
또한, 루프 필터(121)의 재구성 화상에 대하여 또한, 다른 임의의 필터 처리를 행하도록 해도 된다. 또한, 루프 필터(121)는 필요에 따라서, 필터 처리에 사용한 필터 계수 등의 정보를 가역 부호화부(115)에 공급하고, 그것을 부호화시키도록 할 수도 있다.
루프 필터(121)는, 필터 처리 결과(이하, '복호 화상'이라고 칭함)를 프레임 메모리(122)에 공급한다.
또한, 루프 필터(121)의 재구성 화상에 대하여 또한, 다른 임의의 필터 처리를 행하도록 해도 된다. 또한, 루프 필터(121)는 필요에 따라서, 필터 처리에 사용한 필터 계수 등의 정보를 가역 부호화부(115)에 공급하고, 그것을 부호화시키도록 할 수도 있다.
프레임 메모리(122)는, 공급되는 복호 화상을 기억하고, 소정의 타이밍에 있어서, 기억하고 있는 복호 화상을 참조 화상으로서, 인터 예측부(123)에 공급한다.
인터 예측부(123)는, 화면 재배열 버퍼(111)로부터 공급되는 입력 화상과, 프레임 메모리(122)로부터 판독한 참조 화상을 사용해서 인터 예측 처리를 행한다. 보다 구체적으로는, 인터 예측부(123)는 움직임 예측을 행해서 움직임 벡터를 검출하고, 그 움직임 벡터에 따라서 움직임 보상 처리를 행하고, 예측 화상(인터 예측 화상 정보)을 생성한다.
인터 예측부(123)는, 후보로 되는 모든 인터 예측 모드에서 예측 화상을 생성한다. 인터 예측부(123)는, 화면 재배열 버퍼(111)로부터 공급되는 입력 화상과, 생성한 차분 움직임 벡터의 정보 등을 사용하여, 각 예측 화상의 비용 함수값을 평가하고, 최적의 모드를 선택한다. 인터 예측부(123)는, 최적의 인터 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을, 예측 화상 선택부(124)에 공급한다.
인터 예측부(123)는, 채용된 인터 예측 모드를 나타내는 정보나, 부호화 데이터를 복호할 때 그 인터 예측 모드에서 처리를 행하기 위해 필요한 정보 등을 가역 부호화부(115)에 공급하고, 부호화시킨다. 필요한 정보로서는, 예를 들어 생성된 차분 움직임 벡터의 정보나, 예측 움직임 벡터 정보로서, 예측 움직임 벡터의 인덱스를 나타내는 플래그 등이 있다.
예측 화상 선택부(124)는, 연산부(112)나 연산부(119)에 공급하는 예측 화상의 공급원을 선택한다. 예를 들어, 인트라 부호화의 경우, 예측 화상 선택부(124)는, 예측 화상의 공급원으로서 인트라 예측부(120)를 선택하고, 그 인트라 예측부(120)로부터 공급되는 예측 화상을 연산부(112)나 연산부(119)에 공급한다. 또한, 예를 들어 인터 부호화의 경우, 예측 화상 선택부(124)는, 예측 화상의 공급원으로서 인터 예측부(123)를 선택하고, 그 인터 예측부(123)로부터 공급되는 예측 화상을 연산부(112)나 연산부(119)에 공급한다.
레이트 제어부(125)는, 축적 버퍼(116)에 축적된 부호화 데이터의 부호량에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(114)의 양자화 동작의 레이트를 제어한다.
nal_unit_type 판정부(126)는, 화면 재배열 버퍼(111)로부터, 당해 픽처가 스트림의 선두의 픽처인지 여부를 나타내는 정보(isFirstPicture), 당해 픽처가 스트림의 종단부의 픽처인지 여부를 나타내는 정보(isLastPicture)와, 당해 픽처가 참조되는지 여부(참조 픽처인지 여부)를 나타내는 정보(isReferencePicture)를 취득한다.
nal_unit_type 판정부(126)는, 비트 스트림의 결합을 나타내는 정보(concatenation_flag), 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보(auCpbRemovalDelayMinus1)와, 널 유닛 타입을 나타내는 정보(nal_unit_type)를 설정한다.
보다 구체적으로는, 예를 들어 처리 대상인 커런트 픽처가 스트림의 선두의 픽처인 경우, nal_unit_type 판정부(126)는, concatenation_flag를 「1(즉, 참)」으로 설정하고, auCpbRemovalDelayMinus1을 「0(즉, 최솟값)」으로 설정하고, nal_unit_type를 IDR_W_RADL 혹은 IDR_N_LP(즉, IDR 픽처임을 나타내는 값)로 설정한다.
또한, 예를 들어 처리 대상인 커런트 픽처가 스트림의 선두가 아니라 종단부의 픽처인 경우, nal_unit_type 판정부(126)는, concatenation_flag를 「0(즉, 거짓)」으로 설정하고, auCpbRemovalDelayMinus1을 「0(즉, 최솟값)」으로 설정하고, nal_unit_type를 TRAIL_R(즉, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값)로 설정한다.
또한, 예를 들어 처리 대상인 커런트 픽처가 스트림의 선두도 아니고 종단부도 아니며, 참조 픽처인 경우, nal_unit_type 판정부(126)는, concatenation_flag를 「0(즉, 거짓)」으로 설정하고, auCpbRemovalDelayMinus1을 「0(즉, 최솟값)」으로 설정하고, nal_unit_type를 TRAIL_R(즉, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값)로 설정한다.
또한, 예를 들어 처리 대상인 커런트 픽처가 스트림의 선두도 아니고 종단부도 아니며, 참조 픽처도 아닌 경우, nal_unit_type 판정부(126)는, concatenation_flag를 「0(즉, 거짓)」으로 설정하고, auCpbRemovalDelayMinus1을 「0(즉, 최솟값)」으로 설정하고, nal_unit_type를 TRAIL_N(템포럴 서브레이어가 아닌 비참조 픽처임을 나타내는 값)으로 설정한다.
nal_unit_type 판정부(126)는, 이상과 같이 설정한 이들 정보(concatenation_flag, auCpbRemovalDelayMinus1, nal_unit_type 등)를 가역 부호화부(115)에 공급하고, 그들 정보가, 가역 부호화부(115)에 있어서 생성되는 비트 스트림에 포함할 수 있도록 한다.
<레이트 제어부>
도 7은, 레이트 제어부(125)의 주된 구성예를 나타내는 블록도이다. 도 7에 도시된 바와 같이, 레이트 제어부(125)는, HRD 트레이스부(141) 및 Target Bit 결정부(142)를 갖는다.
HRD 트레이스부(141)는, 화면 재배열 버퍼(111)로부터, 처리 대상인 커런트 픽처의 위치에 관한 정보와, 가상 참조 디코더의 조정을 행하는 구간인지를 나타내는 정보를 취득한다. 보다 구체적으로는, HRD 트레이스부(141)는, 커런트 픽처의 위치에 관한 정보로서, 예를 들어 당해 픽처가 스트림의 종단부의 픽처인지 여부를 나타내는 정보(isLastPicture)를 취득한다. 또한, HRD 트레이스부(141)는, 가상 참조 디코더의 조정을 행하는 구간인지를 나타내는 정보로서, 예를 들어 부호화 완료 픽처 버퍼(CPB)의 트레이스 레이트(trace_rate), 프레임 레이트(frame_rate), 및 CPB 사이즈(cpb_size) 등을 취득한다. 이들 파라미터는, 도 8에 도시된 바와 같이, 부호화 완료 픽처 버퍼(CPB)에 관한 정보이다. 또한, HRD 트레이스부(141)는 축적 버퍼(116)로부터 발생 부호량(발생 비트량)을 나타내는 정보를 취득한다.
HRD 트레이스부(141)는, 이들 가상 참조 디코더(HRD)에 관한 제어 정보나 발생 부호량에 기초하여, 부호화 완료 픽처 버퍼(CPB) 위치를 나타내는 정보(cpb_pos)를 산출한다. HRD 트레이스부(141)는, 산출한 CPB 위치를 나타내는 정보(cpb_pos)를 Target Bit 결정부(142)에 공급한다.
Target Bit 결정부(142)는, HRD 트레이스부(141)로부터 CPB 위치를 나타내는 정보(cpb_pos)를 취득한다. 또한, Target Bit 결정부(142)는, 종단부에서 기대되는 CPB 위치를 나타내는 정보(target_cpb_pos)와, CPB의 종단부를 조정하는 기간인지 여부를 나타내는 정보(isAdjustPeriod)를, HRD 트레이스부(141)를 통해 화면 재배열 버퍼(111)로부터 취득한다.
Target Bit 결정부(142)는, 이들 정보에 기초하여, 발생 부호량의 목표값을 나타내는 정보인 타깃 비트(target bit)를 산출한다. Target Bit 결정부(142)는, 산출한 타깃 비트(target bit)를 양자화부(114)에 공급한다.
이상과 같이, 화상 부호화 장치(100)는, 각종 파라미터를 적절히 설정함으로써, 이하의 조건을 만족하도록 비트 스트림을 생성한다.
·결합되는 비트 스트림의 종단부의 nal_unit_type가 prevNonDiscardablePic의 조건을 만족한다(예를 들어, TRAIL_R 등).
·결합되는 비트 스트림의 종단부의 cpb 위치가 결합하는 비트 스트림 선두의 cpb 위치보다도 높다. 신택스적으로는, initial_cpb_removal_delay의 값이 높다.
·결합하는 비트 스트림의 선두가 concatenation_flag=1이다.
·결합하는 비트 스트림의 선두의 auCpbRemovalDelayDeltaMinus1이 적절하게 설정되어 있다(예를 들어, auCpbRemovalDelayDeltaMinus1=0).
이와 같은 조건을 만족함으로써, 비트 스트림은, 다른 비트 스트림과 단순하게 결합할 수 있다. 즉, 유저가 각 비트 스트림에 포함되는 가상 참조 디코더에 관한 정보를 적절하게 재기입하지 않아도, 결합 후의 비트 스트림이 가상 참조 디코더를 파탄시키지 않도록, 그들의 비트 스트림을 결합시킬 수 있다. 즉, 화상 부호화 장치(100)는, 인코딩할 때 결합하는 것을 사전에 고려해서 부호화를 행하므로, 다른 비트 스트림과 보다 용이하게 결합할 수 있는 상태의 비트 스트림을 생성할 수 있다.
<부호화 처리의 흐름>
다음으로, 화상 부호화 장치(100)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 처음에, 부호화 처리의 흐름의 예를, 도 9의 흐름도를 참조하여 설명한다.
부호화 처리가 개시되면, 화면 재배열 버퍼(111)는, 스텝 S101에 있어서, 입력된 동화상의 각 프레임(픽처)의 화상을 그 표시하는 순서로 기억하고, 각 픽처의 표시하는 순서로부터 부호화하는 순서로의 재배열을 행한다.
스텝 S102에 있어서, 화면 재배열 버퍼(111)는, 비디오 파라미터 세트(VPS(Video Parameter Set)), 시퀀스 파라미터 세트(SPS(Sequence Parameter Set)), 픽처 파라미터 세트(PPS(Picture Parameter Set)), 슬라이스 헤더, SEI 등의, 각종 헤더 정보를 생성한다.
스텝 S103에 있어서, 인트라 예측부(120)는, 인트라 예측 처리를 행하고, 예측 화상을 생성한다. 또한, 스텝 S104에 있어서, 인터 예측부(123)는, 인터 예측 처리를 행하고, 예측 화상을 생성한다.
스텝 S105에 있어서, 예측 화상 선택부(124)는, 비용 함수값 등에 기초하여, 스텝 S103의 인트라 예측 처리에 의해 생성된 예측 화상과, 스텝 S104의 인터 예측 처리에 의해 생성된 예측 화상 중 어느 한쪽을 선택한다.
스텝 S106에 있어서, 연산부(112)는, 스텝 S101의 처리에 의해 프레임순으로 재배열된 입력 화상과, 스텝 S105의 처리에 의해 선택된 예측 화상과의 차분을 연산한다. 즉, 연산부(112)는, 입력 화상과 예측 화상과의 잔차 데이터를 생성한다. 이와 같이 하여 구해진 잔차 데이터는, 원래의 화상 데이터에 비하여 데이터량이 저감된다. 따라서, 화상을 그대로 부호화하는 경우에 비하여, 데이터량을 압축할 수 있다.
스텝 S107에 있어서, 직교 변환부(113)는, 스텝 S106의 처리에 의해 생성된 잔차 데이터를 직교 변환한다.
스텝 S108에 있어서, 양자화부(114)는, 스텝 S107의 처리에 의해 얻어진 직교 변환 계수를 양자화한다.
스텝 S109에 있어서, 역양자화부(117)는, 스텝 S108의 처리에 의해 생성된 양자화된 계수('양자화 계수'라고도 칭함)를, 그 양자화의 특성에 대응하는 특성으로 역양자화한다.
스텝 S110에 있어서, 역직교 변환부(118)는, 스텝 S109의 처리에 의해 얻어진 직교 변환 계수를 역직교 변환한다.
스텝 S111에 있어서, 연산부(119)는, 스텝 S110의 처리에 의해 복원된 잔차 데이터에, 스텝 S105의 처리에 의해 선택된 예측 화상을 가산함으로써, 재구성 화상의 화상 데이터를 생성한다.
스텝 S112에 있어서 루프 필터(121)는, 스텝 S111의 처리에 의해 생성된 재구성 화상의 화상 데이터에 루프 필터 처리를 행한다. 이에 의해, 재구성 화상의 블록 왜곡 등이 제거된다.
스텝 S113에 있어서, 프레임 메모리(122)는, 스텝 S112의 처리에 의해 얻어진 복호 화상 데이터를 기억한다.
스텝 S114에 있어서, nal_unit_type 판정부(126)는, 널 유닛 타입(nal_unit_type) 판정 처리를 행하고, 비트 스트림의 결합을 나타내는 정보(concatenation_flag), 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보(auCpbRemovalDelayMinus1)와, 널 유닛 타입을 나타내는 정보(nal_unit_type)를 설정한다.
스텝 S115에 있어서, 가역 부호화부(115)는, 스텝 S108의 처리에 의해 얻어진, 양자화된 계수를 부호화한다. 즉, 잔차 데이터에 대응하는 데이터에 대하여, 가변장 부호화나 산술 부호화 등의 가역 부호화가 행해진다.
또한, 이때, 가역 부호화부(115)는, 스텝 S105의 처리에 의해 선택된 예측 화상의 예측 모드에 관한 정보를 부호화하고, 차분 화상을 부호화해서 얻어지는 부호화 데이터에 부가한다. 즉, 가역 부호화부(115), 인트라 예측부(120)로부터 공급되는 최적 인트라 예측 모드 정보, 또는 인터 예측부(123)로부터 공급되는 최적 인터 예측 모드에 따른 정보 등도 부호화하고, 부호화 데이터에 부가한다(비트 스트림에 포함하도록 함).
또한, 가역 부호화부(115)는, 스텝 S114에 있어서 설정된, 비트 스트림의 결합을 나타내는 정보(concatenation_flag), 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보(auCpbRemovalDelayMinus1)와, 널 유닛 타입을 나타내는 정보(nal_unit_type)를 부호화하고, 부호화 데이터에 부가한다(비트 스트림에 포함하도록 함).
스텝 S116에 있어서 축적 버퍼(116)는, 스텝 S115의 처리에 의해 얻어진 부호화 데이터 등을 축적한다. 축적 버퍼(116)에 축적된 부호화 데이터 등은, 비트 스트림으로서 적절히 판독되고, 전송로나 기록 매체를 통해 복호측으로 전송된다.
스텝 S117에 있어서, 레이트 제어부(125)는, 스텝 S116의 처리에 의해 축적 버퍼(116)에 축적된 부호화 데이터의 부호량(발생 부호량)에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(114)의 양자화 동작의 레이트를 제어한다. 또한, 레이트 제어부(125)는, 양자화 파라미터에 관한 정보를, 양자화부(114)에 공급한다.
스텝 S117의 처리가 종료되면, 부호화 처리가 종료된다.
<널 유닛 타입 판정 처리의 흐름>
다음으로, 도 9의 스텝 S114에 있어서 실행되는 널 유닛 타입 판정 처리의 흐름의 예를, 도 10의 흐름도를 참조하여 설명한다.
널 유닛 타입 판정 처리가 개시되면, nal_unit_type 판정부(126)는, 스텝 S131에 있어서, 스텝 S102에 있어서 생성된 헤더 정보 중에서 isFirstPicture를 취득한다. 스텝 S132에 있어서, nal_unit_type 판정부(126)는, 스텝 S102에 있어서 생성된 헤더 정보 중에서 isLastPicture를 취득한다. 스텝 S133에 있어서, nal_unit_type 판정부(126)는, 스텝 S102에 있어서 생성된 헤더 정보 중에서 isReferencePicture를 취득한다.
스텝 S134에 있어서, nal_unit_type 판정부(126)는, concatenation_flag를 「0(거짓)」으로 설정한다. 스텝 S135에 있어서, nal_unit_type 판정부(126)는, auCpbRemovalDelayMinus1을 「0(최솟값)」으로 설정한다.
스텝 S136에 있어서, nal_unit_type 판정부(126)는, isFirstPicture의 값이 참(true)인지 여부를 판정한다. isFirstPicture의 값이 참(true), 즉, 처리 대상인 커런트 픽처가 스트림의 선두의 픽처라고 판정된 경우, 처리는, 스텝 S137로 진행한다.
스텝 S137에 있어서, nal_unit_type 판정부(126)는, concatenation_flag를 「1(참)」으로 설정한다. 또한, 스텝 S138에 있어서, nal_unit_type 판정부(126)는, 커런트 픽처의 널 유닛 타입(nal_unit_type)을 IDR_W_RADL 혹은 IDR_N_LP(즉, IDR 픽처임을 나타내는 값)로 설정한다. 스텝 S138의 처리가 종료되면, 널 유닛 타입 판정 처리가 종료되고, 처리는 도 9로 되돌아간다.
또한, 스텝 S136에 있어서, isFirstPicture의 값이 거짓(false)이며, 처리 대상인 커런트 픽처가 스트림의 선두의 픽처가 아니라고 판정된 경우, 처리는, 스텝 S139로 진행한다.
스텝 S139에 있어서, nal_unit_type 판정부(126)는, isLastPicture의 값이 참(true)인지 여부를 판정한다. isLastPicture의 값이 참(true), 즉, 처리 대상인 커런트 픽처가 스트림의 종단부의 픽처라고 판정된 경우, 처리는, 스텝 S140으로 진행한다.
스텝 S140에 있어서, nal_unit_type 판정부(126)는, 커런트 픽처의 널 유닛 타입(nal_unit_type)을, TRAIL_R(즉, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값)로 설정한다. 스텝 S140의 처리가 종료되면, 널 유닛 타입 판정 처리가 종료되고, 처리는 도 9로 되돌아간다.
또한, 스텝 S139에 있어서, isLastPicture의 값이 거짓(false)이며, 처리 대상인 커런트 픽처가 스트림의 종단부의 픽처가 아니라고 판정된 경우, 처리는, 스텝 S141로 진행한다.
스텝 S141에 있어서, nal_unit_type 판정부(126)는, isReferencePicture의 값이 참(true)인지 여부를 판정한다. isReferencePicture의 값이 참(true), 즉, 처리 대상인 커런트 픽처가 참조 픽처라고 판정된 경우, 처리는, 스텝 S142로 진행한다.
스텝 S142에 있어서, nal_unit_type 판정부(126)는, 커런트 픽처의 널 유닛 타입(nal_unit_type)을 TRAIL_R(즉, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값)로 설정한다. 스텝 S142의 처리가 종료되면, 널 유닛 타입 판정 처리가 종료되고, 처리는 도 9로 되돌아간다.
또한, 스텝 S141에 있어서, isReferencePicture의 값이 거짓(false)이며, 처리 대상인 커런트 픽처가 참조 픽처가 아니라고 판정된 경우, 처리는, 스텝 S143으로 진행한다.
스텝 S143에 있어서, nal_unit_type 판정부(126)는, 커런트 픽처의 널 유닛 타입(nal_unit_type)을, TRAIL_N(템포럴 서브레이어가 아닌 비참조 픽처임을 나타내는 값)으로 설정한다. 스텝 S143의 처리가 종료되면, 널 유닛 타입 판정 처리가 종료되고, 처리는 도 9로 되돌아간다.
<레이트 제어 처리의 흐름>
다음으로, 도 11의 흐름도를 참조하여, 도 9의 스텝 S117에 있어서 실행되는 레이트 제어 처리의 흐름의 예를 설명한다.
레이트 제어 처리가 개시되면, HRD 트레이스부(141)는, 스텝 S151에 있어서, HRD 트레이스 처리를 행하고, CPB 위치를 산출한다. 스텝 S152에 있어서, Target Bit 결정부(142)는, 타깃 비트 결정 처리를 행하고, 타깃 비트(Target Bit)를 산출한다.
스텝 S152의 처리가 종료되면, 레이트 제어 처리가 종료되고, 처리는 도 9로 되돌아간다.
<HRD 트레이스 처리의 흐름>
다음으로, 도 11의 스텝 S151에 있어서 실행되는 HRD 트레이스 처리의 흐름의 예를, 도 12의 흐름도를 참조하여 설명한다.
HRD 트레이스 처리가 개시되면, HRD 트레이스부(141)는, 스텝 S161에 있어서, 스텝 S102에 있어서 생성된 헤더 정보 중에서 trace_rate를 취득한다. 스텝 S162에 있어서, HRD 트레이스부(141)는, 스텝 S102에 있어서 생성된 헤더 정보 중에서 frame_rate를 취득한다. 스텝 S163에 있어서, HRD 트레이스부(141)는, 스텝 S102에 있어서 생성된 헤더 정보 중에서 cpb_size를 취득한다.
스텝 S164에 있어서, HRD 트레이스부(141)는, trace_rate와 부호화 완료 픽처 버퍼(CPB)의 초기 인발 지연(CBP로의 비트 스트림의 입력 개시부터, 최초의 액세스 유닛(AU)의 인발 시각까지의 시간)에 기초하여, CPB 위치를 이하의 식 (1)과 같이 초기화한다.
(식 1)
Figure 112016075444397-pct00001
스텝 S165에 있어서, HRD 트레이스부(141)는, 각 화상에서 발생하는 부호량(generated_bits)을 취득한다. 스텝 S166에 있어서, HRD 트레이스부(141)는, 스텝 S102에 있어서 생성된 헤더 정보 중에서 isLastPicture를 취득한다.
스텝 S167에 있어서, HRD 트레이스부(141)는, 스텝 S165에 있어서 generated_bits를 사용하여, 이하의 식 (2)와 같이 CPB 위치(cpb_pos)를 갱신한다(인발분을 감산함).
(식 2)
Figure 112016075444397-pct00002
스텝 S168에 있어서, HRD 트레이스부(141)는, trace_rate 및 frame_rate에 기초하여, 이하의 식 (3)과 같이 CPB 위치(cpb_pos)를 갱신한다(버퍼 유입분을 추가함).
(식 3)
Figure 112016075444397-pct00003
스텝 S169에 있어서, HRD 트레이스부(141)는, cpb_size를 사용하여, 이하의 식 (4)와 같이, 클립 처리를 행한다.
(식 4)
Figure 112016075444397-pct00004
스텝 S170에 있어서, HRD 트레이스부(141)는, isLastPicture가 참(true)인지 여부를 판정한다. isLastPicture가 거짓(false)이며, 커런트 픽처가 스트림의 종단부의 픽처가 아니라고 판정된 경우, 처리는, 스텝 S165로 되돌아가고, 그 이후의 처리가 반복된다. 즉, 각 픽처에 대하여, 스텝 S165 내지 스텝 S170의 각 처리가 실행된다.
스텝 S170에 있어서, isLastPicture가 참(true)이며, 커런트 픽처가 스트림의 종단부의 픽처라고 판정된 경우, HRD 트레이스 처리가 종료되고, 처리는 도 11로 되돌아간다.
<타깃 비트 결정 처리의 흐름>
다음으로, 도 13의 흐름도를 참조하여, 도 11의 스텝 S152에 있어서 실행되는 타깃 비트 결정 처리의 흐름의 예를 설명한다.
타깃 비트 결정 처리가 개시되면, Target Bit 결정부(142)는, 스텝 S181에 있어서, HRD 트레이스 처리(도 12)에 있어서 산출된 CPB 위치를 나타내는 정보(cpb_pos)를 취득한다. 또한, 스텝 S182에 있어서, Target Bit 결정부(142)는, 스텝 S102에 있어서 생성된 헤더 정보 중에서, 종단부에서 기대되는 CPB 위치를 나타내는 정보(target_cpb_pos)를 취득한다. 또한, 스텝 S183에 있어서, Target Bit 결정부(142)는, 스텝 S102에 있어서 생성된 헤더 정보 중에서, CPB의 종단부를 조정하는 기간인지 여부를 나타내는 정보(isAdjustPeriod)를 취득한다.
스텝 S184에 있어서, Target Bit 결정부(142)는, 발생 부호량의 목표값을 나타내는 정보인 타깃 비트(target bit)를 산출한다. 이 target bit 산출 방법은, 임의이다.
스텝 S185에 있어서, Target Bit 결정부(142)는, isAdjustPeriod가 참이며, 또한 cpb_pos가 target_cpb_pos보다도 낮은 위치에 있는지 여부(isAdjustPeriod && cpb_pos < target_cpb_pos)를 판정한다.
isAdjustPeriod가 참이며, 또한 cpb_pos가 target_cpb_pos보다도 낮은 위치에 있다고 판정된 경우, 처리는 스텝 S186으로 진행한다.
스텝 S186에 있어서, Target Bit 결정부(142)는, 종단부에서 기대되는 CPB의 위치에 수렴시키도록, target bit를 이하의 식 (5)를 이용하여 산출한다.
(식 5)
Figure 112016075444397-pct00005
또한, 여기서, gain에는, 화상 종단부에 근접함에 따라 큰 값을 사용하면 된다. 여기서 산출된 타깃 비트(target bit)는, 양자화부(114)에 공급되어 이용된다. 즉, 양자화부(114)는, 이 타깃 비트(target bit)를 사용해서 양자화를 행한다. 스텝 S186의 처리가 종료되면, 타깃 비트 결정 처리가 종료되고, 처리는 도 11로 되돌아간다.
또한, 스텝 S185에 있어서, isAdjustPeriod가 거짓이거나, 혹은 cpb_pos가 target_cpb_pos보다도 높은 위치에 있다(cpb_pos ≥target_cpb_pos)라고 판정된 경우, 스텝 S186의 처리가 생략되어, 타깃 비트 결정 처리가 종료되고, 처리는 도 11로 되돌아간다.
<비트 스트림의 결합>
도 14는, 전술한 각 처리를 실행하는 화상 부호화 장치(100)가 생성하는 비트 스트림을 결합하는 경우의 예를 나타내고 있다. 도 14의 A는, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 대한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 14의 결합에 있어서는, 스트림 B의 선두가 스트림 A의 종단부에 접속된다. 도 14의 B는, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다.
도 14에 도시된 바와 같이, 이 경우, Stream B concatenation_flag=1로 하고, IDR에서 cpb_removal_delay=0으로서 운용한다. 또한, Stream A의 종단부의 픽처는, prevNonDiscardablePic로 하기 때문에, 그 nal_unit_type가 TRAIL_R로 된다. 이와 같이 함으로써, Initial_cpb_removal_delay가 올바른 값이면, 비트 스트림끼리를 단순하게 접속할 수 있다. 즉, 화상 부호화 장치(100)는, 전술한 각 처리를 실행함으로써, 다른 비트 스트림보다 용이하게 결합할 수 있는 상태의 비트 스트림을 생성할 수 있다.
<2. 제2 실시 형태>
<비트 스트림 결합 장치>
이상에 있어서는, 화상 데이터를 부호화해서 비트 스트림을 생성할 때, 그 비트 스트림을, 보다 용이하게 다른 비트 스트림과 결합할 수 있는 상태로 하도록 설명하였지만, 이와 같이, 보다 용이하게 다른 비트 스트림과 결합할 수 있는 상태로 하는 것은, 비트 스트림을 결합하기 전이면, 어떠한 타이밍이어도 가능하다.
예를 들어, 비트 스트림을 결합하기 직전에 행하도록 해도 된다. 이하에 그 예를 설명한다. 도 15는, 비트 스트림 결합 장치의 주된 구성예를 나타내는 도면이다. 도 15에 도시된 비트 스트림 결합 장치(200)는, 스마트 렌더링 편집에 의해, 비트 스트림끼리를 결합하는 처리를 행하는 장치이다. 예를 들어, 비트 스트림 결합 장치(200)는, 스트림 A 및 스트림 B를 입력하고, 스트림 A의 종단부에 스트림 B의 선두를 접속해서 스트림 A+B를 생성하고, 출력한다.
도 15에 도시된 바와 같이, 비트 스트림 결합 장치(200)는, 버퍼 판정부(211), nal_unit_type 재기입부(212), Buffering Period 재기입부(213), 및 비트 스트림 결합부(214)를 갖는다.
버퍼 판정부(211)는, 버퍼 판정 처리를 행하고, 스트림 A+B에 있어서 CPB가 파탄하지 않도록 적절히 재인코딩을 행한다. nal_unit_type 재기입부(212)는, 스트림 A의 종단부의 nal_unit_type를 prevNonDiscardablePic에 해당하는 값으로 재기입한다. Buffering Period 재기입부(213)는, Buffering Period SEI의 신택스를 재기입한다. 예를 들어, Buffering Period 재기입부(213)는, 스트림 B의 선두의 concatenation_flag를 「1(참)」으로 재기입하고, 스트림 B의 선두의 auCpbRemovalDelayMinus1을 「0(최솟값)」으로 재기입한다. 비트 스트림 결합부(214)는, 이상과 같이 가상 참조 디코더에 관한 각종 정보를 갱신한 비트 스트림끼리(예를 들어 스트림 A와 스트림 B)를 결합한다.
이와 같이 함으로써, 비트 스트림 결합 장치(200)는, 결합 전에, 각종 파라미터를 적절히 설정함으로써, 이하의 조건을 만족하도록 비트 스트림을 생성한다.
·결합되는 비트 스트림의 종단부의 nal_unit_type가 prevNonDiscardablePic의 조건을 만족한다(예를 들어, TRAIL_R 등).
·결합되는 비트 스트림의 종단부의 cpb 위치가 결합하는 비트 스트림 선두의 cpb 위치보다도 높다. 신택스에서는, initial_cpb_removal_delay의 값이 높다.
·결합하는 비트 스트림의 선두가 concatenation_flag=1이다.
·결합하는 비트 스트림의 선두의 auCpbRemovalDelayDeltaMinus1이 적절하게 설정되어 있다(예를 들어, auCpbRemovalDelayDeltaMinus1=0).
이들 조건을 만족함으로써, 비트 스트림은, 다른 비트 스트림과 단순하게 결합할 수 있게 된다. 즉, 유저가 각 비트 스트림에 포함되는 가상 참조 디코더에 관한 정보를 적절하게 재기입하지 않아도, 결합 후의 비트 스트림이 가상 참조 디코더를 파탄시키지 않도록, 그들 비트 스트림을 결합시킬 수 있다. 즉, 비트 스트림 결합 장치(200)는, 결합하는 각 비트 스트림을, 보다 용이하게 비트 스트림끼리를 결합할 수 있는 상태로 하고 나서, 그들을 결합하므로, 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
<비트 스트림 결합 처리의 흐름>
다음으로, 비트 스트림 결합 장치(200)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 처음에, 비트 스트림 결합 처리의 흐름의 예를, 도 16의 흐름도를 참조하여 설명한다.
비트 스트림 결합 처리가 개시되면, 비트 스트림 결합 장치(200)의 버퍼 판정부(211)는, 스텝 S201에 있어서 스트림 A를 취득하고, 스텝 S202에 있어서 스트림 B를 취득한다.
스텝 S203에 있어서, 버퍼 판정부(211)는, 버퍼 판정 처리를 행하고, 각 스트림의 CPB 위치의 조정을 행한다.
스텝 S204에 있어서, nal_unit_type 재기입부(212)는, 널 유닛 재기입 처리를 행하고, 결합되는 스트림 A의 종단부의 nal_unit_type를 prevNonDiscardablePic에 해당하는 값으로 재기입한다.
스텝 S205에 있어서, Buffering Period 재기입부(213)는, 버퍼링 피리어드 재기입 처리를 행하고, 스트림 B의 선두의 concatenation_flag를 「1(참)」으로 재기입하고, 스트림 B의 선두의 auCpbRemovalDelayMinus1을 「0(최솟값)」으로 재기입한다.
스텝 S206에 있어서, 비트 스트림 결합부(214)는, 이상과 같이 가상 참조 디코더에 관한 각종 정보를 갱신한 비트 스트림끼리를 결합한다. 예를 들어, 비트 스트림 결합부(214)는, 스트림 A의 종단부에 스트림 B의 선두를 접속한다.
스텝 S207에 있어서, 비트 스트림 결합부(214)는, 결합한 비트 스트림(스트림 A+B)을 비트 스트림 결합 장치(200)의 외부로 출력한다.
스텝 S207의 처리가 종료되면, 비트 스트림 결합 처리가 종료된다.
<버퍼 판정 처리의 흐름>
다음으로, 도 17의 흐름도를 참조하여, 도 16의 스텝 S203에 있어서 실행되는 버퍼 판정 처리의 흐름의 예를 설명한다. 버퍼 판정 처리가 개시되면, 스텝 S221에 있어서, 버퍼 판정부(211)는, 스트림 A의 종단부의 CPB 위치(cpb_pos_A)를 산출한다. 스텝 S222에 있어서, 버퍼 판정부(211)는, 스트림 B의 종단부의 CPB 위치(cpb_pos_B)를 산출한다.
스텝 S223에 있어서, 버퍼 판정부(211)는, cpb_pos_A < cpb_pos_B가 참인지 여부를 판정한다. cpb_pos_A < cpb_pos_B가 참이라고 판정된 경우, 처리는, 스텝 S224로 진행한다.
스텝 S224에 있어서, 버퍼 판정부(211)는, 가상 참조 디코더가 파탄하지 않도록, cpb_pos_A가 cpb_pos_B보다 커지도록 재인코딩한다. 이 재인코딩의 방법은 임의이다. 예를 들어, 버퍼 판정부(211)가 스트림 A를 재인코딩하도록 해도 된다. 또한, 재인코딩하는 픽처의 범위는 임의이다. 예를 들어, 스트림 A의 종단부의 픽처만을 재인코딩하도록 해도 되고, 스트림 A의 종단부로부터 수 픽처를 재인코딩하도록 해도 된다. 또한 그 때, 각 픽처의 압축률을, 종단부를 향해 서서히 커지도록 해도 된다. 반대로 스트림 B를 재인코딩하도록 해도 된다.
스텝 S224의 처리가 종료되면, 처리는, 도 16으로 되돌아간다. 또한, 스텝 S223에 있어서, cpb_pos_A < cpb_pos_B가 거짓이라고 판정된 경우, 스텝 S224의 처리가 생략되어, 버퍼 판정 처리가 종료되고, 처리는 도 16으로 되돌아간다.
<널 유닛 타입 재기입 처리의 흐름>
다음으로, 도 18의 흐름도를 참조하여, 도 16의 스텝 S204에 있어서 실행되는 널 유닛 타입 재기입 처리의 흐름의 예를 설명한다. 널 유닛 타입 재기입 처리가 개시되면, nal_unit_type 재기입부(212)는, 스텝 S241에 있어서, 스트림 A의 종단부의 nal_unit_type인 nal_unit_type_A를 조사한다(참조함).
스텝 S242에 있어서, nal_unit_type 재기입부(212)는, 스텝 S241의 조사 결과에 기초하여, nal_unit_type_A가 prevNonDisCardablePic에 해당하는지 여부를 판정한다. 해당하지 않는다고 판정된 경우, 처리는 스텝 S243으로 진행한다.
스텝 S243에 있어서, nal_unit_type 재기입부(212)는, nal_unit_type_A를 prevNonDsicardable에 해당하는 nal_unit_type에 재기입한다. 스텝 S243의 처리가 종료되면, 널 유닛 타입 재기입 처리가 종료되고, 처리는 도 16으로 되돌아간다.
또한, 스텝 S242에 있어서, nal_unit_type_A가 prevNonDisCardablePic에 해당하면 판정된 경우, 스텝 S243의 처리가 생략되어, 널 유닛 타입 재기입 처리가 종료되고, 처리는 도 16으로 되돌아간다.
<버퍼링 피리어드 재기입 처리의 흐름>
다음으로, 도 19의 흐름도를 참조하여, 도 16의 스텝 S205에 있어서 실행되는 버퍼링 피리어드 재기입 처리의 흐름의 예를 설명한다.
버퍼링 피리어드 재기입 처리가 개시되면, Buffering Period 재기입부(213)는, 스트림 B의 선두의 Buffering Period SEI를 조사한다. 스텝 S261에 있어서, Buffering Period 재기입부(213)는, 스트림 B의 선두의 Buffering Period SEI의 concatenation_flag가 「1(참)」인지 여부를 판정한다. concatenation_flag가 「0(거짓)」이라고 반영된 경우, 처리는 스텝 S262로 진행한다.
스텝 S262에 있어서, Buffering Period 재기입부(213)는 concatenation_flag를 「1(참)」으로 재기입한다. 스텝 S262의 처리가 종료되면, 처리는, 스텝 S263으로 진행한다.
또한, 스텝 S261에 있어서, concatenation_flag가 「1(참)」이라고 반영된 경우, 스텝 S262의 처리가 생략되어, 처리는 스텝 S263으로 진행한다.
스텝 S263에 있어서, Buffering Period 재기입부(213)는, 스트림 B의 선두의 Buffering Period SEI의 auCpbRemovalDelayDeltaMinus1이 「0(최솟값)」인지 여부를 판정한다. auCpbRemovalDelayDeltaMinus1이 「0(최솟값)」이 아니라고 반영된 경우, 처리는 스텝 S264로 진행한다.
스텝 S264에 있어서, Buffering Period 재기입부(213)는, 그 auCpbRemovalDelayDeltaMinus1을 「0(최솟값)」으로 설정한다. 스텝 S264의 처리가 종료되면, 버퍼링 피리어드 재기입 처리가 종료되고, 처리는 도 16으로 되돌아간다.
또한, 스텝 S263에 있어서, 스트림 B의 선두의 Buffering Period SEI의 auCpbRemovalDelayDeltaMinus1이 「0(최솟값)」이라고 판정된 경우, 스텝 S264의 처리가 생략되어, 버퍼링 피리어드 재기입 처리가 종료되고, 처리는 도 16으로 되돌아간다.
<비트 스트림의 결합>
도 20은, 전술한 각 처리를 실행하는 비트 스트림 결합 장치(200)가 비트 스트림을 결합하는 경우의 예를 나타내고 있다. 도 20의 A는, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 대한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 20의 결합에 있어서는, 스트림 B의 선두가 스트림 A의 종단부에 접속된다. 도 20의 B는, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 관한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다.
도 20에 도시된 바와 같이, 이 경우, Stream B의 concatenation_flag=1로 하고, IDR에서 cpb_removal_delay=0으로서 운용한다. 또한, Stream A의 종단부의 픽처는, prevNonDiscardablePic로 하기 때문에, 그 nal_unit_type가 TRAIL_R로 된다. 이와 같이 함으로써, 비트 스트림끼리를 단순하게 접속할 수 있다. 즉, 비트 스트림 결합 장치(200)는, 전술한 각 처리를 실행함으로써, 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
<3. 제3 실시 형태>
<비트 스트림 결합 장치>
도 21은, 비트 스트림 결합 장치의 다른 구성예를 나타내는 도면이다. 도 21에 도시한 비트 스트림 결합 장치(300)는, 비트 스트림 결합 장치(200)(도 15)의 경우와 마찬가지로, 스마트 렌더링 편집에 의해, 비트 스트림끼리를 결합하는 처리를 행하는 장치이다. 예를 들어, 비트 스트림 결합 장치(300)는, 스트림 A 및 스트림 B를 입력하고, 스트림 A의 종단부에 스트림 B의 선두를 접속해서 스트림 A+B를 생성하고, 출력한다.
도 21에 도시된 바와 같이, 비트 스트림 결합 장치(300)는, 버퍼 판정부(211), prevNonDiscardablePic 탐색부(312), Buffering Period 재기입부(213), 및 비트 스트림 결합부(214)를 갖는다.
prevNonDiscardablePic 탐색부(312)는, prevNonDiscardablePic의 위치를 탐색한다. 또한, Buffering Period 재기입부(213)는, 이 경우, 스트림 B의 선두의 concatenation_flag를 「1(참)」으로 재기입하고, 스트림 B의 auCpbRemovalDelayDeltaMinus1을 (auCpbRemovalDelayDelta-1)로 재기입한다.
이와 같이 함으로써, 비트 스트림 결합 장치(300)는, 결합 전에, 각종 파라미터를 적절히 설정함으로써, 이하의 조건을 만족하도록 비트 스트림을 생성한다.
·결합되는 비트 스트림의 종단부의 cpb 위치가 결합하는 비트 스트림의 선두의 cpb 위치보다도 높다. 신택스로서는 initial_cpb_removal_delay의 값이 높다.
·결합하는 비트 스트림의 선두가 concatenation_flag=1이다.
·결합하는 비트 스트림의 선두의 auCpbRemovalDelayDeltaMinus1이 적절하게 설정되어 있다(예를 들어 auCpbRemovalDelayDeltaMinus1=2)
이들 조건을 만족함으로써, 비트 스트림은, 다른 비트 스트림과 단순하게 결합할 수 있다. 즉, 유저가 각 비트 스트림에 포함되는 가상 참조 디코더에 관한 정보를 적절하게 재기입하지 않아도, 결합 후의 비트 스트림이 가상 참조 디코더를 파탄시키지 않도록, 그들 비트 스트림을 결합시킬 수 있다. 즉, 비트 스트림 결합 장치(300)는, 결합하는 각 비트 스트림을, 보다 용이하게 비트 스트림끼리를 결합할 수 있는 상태로 하고 나서, 그들을 결합하므로, 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
<비트 스트림 결합 처리의 흐름>
다음으로, 비트 스트림 결합 장치(300)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 처음에, 비트 스트림 결합 처리의 흐름의 예를, 도 22의 흐름도를 참조하여 설명한다.
비트 스트림 결합 처리가 개시되면, 비트 스트림 결합 장치(300)의 버퍼 판정부(211)는, 스텝 S301에 있어서 스트림 A를 취득하고, 스텝 S302에 있어서 스트림 B를 취득한다.
스텝 S303에 있어서, 버퍼 판정부(211)는, 도 16의 스텝 S203의 경우와 마찬가지로 버퍼 판정 처리(도 17)를 행하고, 각 스트림의 CPB 위치의 조정을 행한다.
스텝 S304에 있어서, prevNonDiscardablePic 탐색부(312)는, 프레비어스 논디스카더블 픽처 탐색 처리를 행하고, prevNonDiscardablePic의 위치를 탐색한다.
스텝 S305에 있어서, Buffering Period 재기입부(213)는, 버퍼링 피리어드 재기입 처리를 행하고, 스트림 B의 선두의 concatenation_flag를 「1(참)」으로 재기입하는 등의 처리를 행한다.
스텝 S306에 있어서, 비트 스트림 결합부(214)는, 도 16의 스텝 S206의 경우와 마찬가지로, 이상과 같이 가상 참조 디코더에 관한 각종 정보를 갱신한 비트 스트림끼리를 결합한다. 예를 들어, 비트 스트림 결합부(214)는, 스트림 A의 종단부에 스트림 B의 선두를 접속한다.
스텝 S307에 있어서, 비트 스트림 결합부(214)는, 도 16의 스텝 S206의 경우와 마찬가지로, 결합한 비트 스트림(스트림 A+B)을 비트 스트림 결합 장치(200)의 외부로 출력한다.
스텝 S307의 처리가 종료되면, 비트 스트림 결합 처리가 종료된다.
<프레비어스 논디스카더블 픽처 탐색 처리의 흐름>
다음으로, 도 23의 흐름도를 참조하여, 도 22의 스텝 S304에 있어서 실행되는 프레비어스 논디스카더블 픽처 탐색 처리의 흐름의 예를 설명한다.
프레비어스 논디스카더블 픽처 탐색 처리가 개시되면, prevNonDiscardablePic 탐색부(312)는, 스텝 S321에 있어서, 스트림 A의 종단부의 prevNonDiscardablePic의 위치를 조사한다.
스텝 S322에 있어서, prevNonDiscardablePic 탐색부(312)는, 비트 스트림 종단부의 액세스 유닛(AU)의 위치와, prevNonDiscardablePic의 차분 auCpbRemovalDelayDelta를 산출한다.
스텝 S322가 종료되면, 프레비어스 논디스카더블 픽처 탐색 처리가 종료되고, 처리는 도 22로 되돌아간다.
<버퍼링 피리어드 재기입 처리의 흐름>
다음으로, 도 22의 스텝 S305에 있어서 실행되는 버퍼링 피리어드 재기입 처리의 흐름의 예를, 도 24의 흐름도를 참조하여 설명한다.
버퍼링 피리어드 재기입 처리가 개시되면, Buffering Period 재기입부(213)는, 스트림 B의 선두의 Buffering Period SEI를 조사한다. 스텝 S341에 있어서, Buffering Period 재기입부(213)는, 스트림 B의 선두의 Buffering Period SEI의 concatenation_flag가 「1(참)」인지 여부를 판정한다. concatenation_flag가 「0(거짓)」이라고 반영된 경우, 처리는 스텝 S342로 진행한다.
스텝 S342에 있어서, Buffering Period 재기입부(213)는, concatenation_flag를 「1(참)」으로 재기입한다. 스텝 S342의 처리가 종료되면, 처리는, 스텝 S343으로 진행한다.
또한, 스텝 S341에 있어서, concatenation_flag가 「1(참)」이라고 반영된 경우, 스텝 S342의 처리가 생략되어, 처리는 스텝 S343으로 진행한다.
스텝 S343에 있어서, Buffering Period 재기입부(213)는, 스트림 B의 선두의 Buffering Period SEI의 auCpbRemovalDelayDeltaMinus1을 「auCpbRemovalDelayDelta -1」로 재기입한다. 스텝 S343의 처리가 종료되면, 버퍼링 피리어드 재기입 처리가 종료되고, 처리는 도 22로 되돌아간다.
<비트 스트림의 결합>
도 25는, 전술한 각 처리를 실행하는 비트 스트림 결합 장치(300)가 비트 스트림을 결합하는 경우의 예를 나타내고 있다. 도 25의 A는, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 대한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 25의 결합에 있어서는, 스트림 B의 선두가 스트림 A의 종단부에 접속된다. 도 25의 B는, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 대한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다.
도 25에 도시된 바와 같이, 이 경우, Stream B의 concatenation_flag=1로 하고, IDR에서 cpb_removal_delay=0으로서 운용한다. 또한, Stream A의 종단부의 prevNonDiscardablePic의 위치를 확인해서 auCpbRemovalDelayDeltaMinus1이 재기입된다. 이와 같이 함으로써, 비트 스트림끼리를 단순하게 접속할 수 있다. 즉, 비트 스트림 결합 장치(300)는, 전술한 각 처리를 실행함으로써, 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
<4. 제4 실시 형태>
<비트 스트림 결합 장치>
도 26은, 비트 스트림 결합 장치의 다른 구성예를 나타내는 도면이다. 도 26에 도시한 비트 스트림 결합 장치(400)는, 비트 스트림 결합 장치(200)(도 15)의 경우와 마찬가지로, 스마트 렌더링 편집에 의해, 비트 스트림끼리를 결합하는 처리를 행하는 장치이다. 예를 들어, 비트 스트림 결합 장치(400)는, 스트림 A 및 스트림 B를 입력하고, 스트림 A의 종단부에 스트림 B의 선두를 접속해서 스트림 A+B를 생성하고, 출력한다.
도 26에 도시된 바와 같이, 비트 스트림 결합 장치(300)는, 버퍼 판정부(211), prevNonDiscardablePic 탐색부(312), prevCpbRemovalDelay 탐색부(413), Buffering Period 재기입부(414), Picture Timing SEI 재기입부(415), 및 비트 스트림 결합부(214)를 갖는다.
prevCpbRemovalDelay 탐색부(413)는, prevCpbRemovalDelay를 탐색한다. Buffering Period 재기입부(414)는, Buffering Period SEI의 신택스를 재기입한다. Picture Timing SEI 재기입부(415)는, Picture Timing SEI의 신택스를 재기입한다.
이와 같이 함으로써, 비트 스트림 결합 장치(400)는, 결합 전에, 각종 파라미터를 적절히 설정함으로써, 이하의 조건을 만족하도록 비트 스트림을 생성한다.
·결합되는 비트 스트림의 종단부의 cpb 위치가 결합하는 비트 스트림의 선두 cpb 위치보다도 높은 것. 신택스로서는, initial_cpb_removal_delay의 값이 높다.
·결합하는 비트 스트림의 선두가 concatenation_flag=0이다.
·결합하는 비트 스트림의 선두의 auCpbRemovalDelayDeltaMinus1이 적절하게 설정되어 있다(예를 들어, auCpbRemovalDelayDeltaMinus1=2).
·결합하는 비트 스트림의 선두의 au_cpb_removal_delay_minus1이, 결합되는 비트 스트림의 종단부의 au_cpb_removal_delay_minus1+ 1이다.
이와 같은 조건을 만족함으로써, 비트 스트림은, 다른 비트 스트림과 단순하게 결합할 수 있게 된다. 즉, 유저가 각 비트 스트림에 포함되는 가상 참조 디코더에 관한 정보를 적절하게 재기입하지 않아도, 결합 후의 비트 스트림이 가상 참조 디코더를 파탄시키지 않도록, 그들 비트 스트림을 결합시킬 수 있다. 즉, 비트 스트림 결합 장치(400)는, 결합하는 각 비트 스트림을, 보다 용이하게 비트 스트림끼리를 결합할 수 있는 상태로 하고 나서, 그들을 결합하므로, 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
<비트 스트림 결합 처리의 흐름>
다음으로, 비트 스트림 결합 장치(400)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 처음에, 비트 스트림 결합 처리의 흐름의 예를, 도 27의 흐름도를 참조하여 설명한다.
비트 스트림 결합 처리가 개시되면, 비트 스트림 결합 장치(200)의 버퍼 판정부(211)는, 스텝 S401에 있어서 스트림 A를 취득하고, 스텝 S402에 있어서 스트림 B를 취득한다.
스텝 S403에 있어서, 버퍼 판정부(211)는, 도 16의 스텝 S203의 경우와 마찬가지로, 버퍼 판정 처리(도 17)를 행하고, 각 스트림의 CPB 위치의 조정을 행한다.
스텝 S404에 있어서, prevNonDiscardablePic 탐색부(312)는, 도 22의 스텝 S304의 경우와 마찬가지로, 프레비어스 논디스카더블 픽처 탐색 처리를 행하고, prevNonDiscardablePic의 위치를 탐색한다.
스텝 S405에 있어서, prevCpbRemovalDelay 탐색부(413)는, 프레비어스 Cpb 리무벌 딜레이 탐색 처리를 행하고, prevCpbRemovalDelay의 위치를 탐색한다.
스텝 S406에 있어서, Buffering Period 재기입부(414)는, 버퍼링 피리어드 재기입 처리를 행하고, 스트림 B의 선두의 concatenation_flag를 「0(참)」으로 재기입하고, 스트림 B의 선두의 auCpbRemovalDelayDeltaMinus1을 auCpbRemovalDelayDelta - 1로 재기입한다.
스텝 S407에 있어서, Picture Timing SEI 재기입부(415)는, 픽처 타이밍 SEI 재기입 처리를 행하고, Picture Timing SEI의 신택스를 재기입한다.
스텝 S408에 있어서, 비트 스트림 결합부(214)는, 이상과 같이 가상 참조 디코더에 관한 각종 정보를 갱신한 비트 스트림끼리를 결합한다. 예를 들어, 비트 스트림 결합부(214)는, 스트림 A의 종단부에 스트림 B의 선두를 접속한다.
스텝 S409에 있어서, 비트 스트림 결합부(214)는, 결합한 비트 스트림(스트림 A+B)을 비트 스트림 결합 장치(200)의 외부로 출력한다.
스텝 S409의 처리가 종료되면, 비트 스트림 결합 처리가 종료된다.
<프레비어스 Cpb 리무벌 딜레이 탐색 처리의 흐름>
다음으로, 도 27의 스텝 S405에 있어서 실행되는 프레비어스 Cpb 리무벌 딜레이 탐색 처리의 흐름의 예를, 도 28의 흐름도를 참조하여 설명한다.
프레비어스 Cpb 리무벌 딜레이 탐색 처리가 개시되면, prevCpbRemovalDelay 탐색부(413)는, 스텝 S421에 있어서, 결합되는 스트림 A의 종단부의 Picture Timing SEI의 au_cpb_removal_delay_minus1을 prevCpbRemovalDelay로 한다.
스텝 S421의 처리가 종료되면, 프레비어스 Cpb 리무벌 딜레이 탐색 처리가 종료되고, 처리는 도 27로 되돌아간다.
<버퍼링 피리어드 재기입 처리의 흐름>
다음으로, 도 27의 스텝 S406에 있어서 실행되는 버퍼링 피리어드 재기입 처리의 흐름의 예를, 도 29의 흐름도를 참조하여 설명한다.
버퍼링 피리어드 재기입 처리가 개시되면, Buffering Period 재기입부(414)는, 스텝 S441에 있어서, 결합하는 스트림 B의 선두의 Buffering Period SEI의 concatenation_flag의 값이 「1(참)」인지 여부를 판정한다. concatenation_flag == 1이라고 판정된 경우, 처리는 스텝 S442로 진행한다.
스텝 S442에 있어서, Buffering Period 재기입부(414)는, concatenation_flag의 값을 「0(거짓)」으로 재기입한다. 스텝 S442의 처리가 종료되면, 처리는 스텝 S443으로 진행한다. 또한, 스텝 S441에 있어서, concatenation_flag == 1이 아니라고(concatenation_flag == 0이라고) 판정된 경우, 스텝 S442의 처리는 생략되어, 처리는 스텝 S443으로 진행한다.
스텝 S443에 있어서, Buffering Period 재기입부(414)는, auCpbRemovalDelayDeltaMinus1의 값을(auCpbRemovalDelayDelta - 1)로 재기입한다(즉, auCpbRemovalDelayDeltaMinus1=auCpbRemovalDelayDelta - 1로 함).
스텝 S443의 처리가 종료되면, 버퍼링 피리어드 재기입 처리가 종료되고, 처리는 도 27로 되돌아간다.
<픽처 타이밍 SEI 재기입 처리의 흐름>
다음으로, 도 27의 스텝 S407에 있어서 실행되는 픽처 타이밍 SEI 재기입 처리의 흐름의 예를, 도 30의 흐름도를 참조하여 설명한다.
픽처 타이밍 SEI 재기입 처리가 개시되면, Picture Timing SEI 재기입부(415)는, 스텝 S461에 있어서, 결합하는 스트림 B의 선두의 Picture Timing SEI의 au_cpb_removal_delay_minus1을 prevCpbRemovalDelay + 1로 재기입한다.
스텝 S461의 처리가 종료되면, 픽처 타이밍 SEI 재기입 처리가 종료되고, 처리는 도 27로 되돌아간다.
<비트 스트림의 결합>
도 31은, 전술한 각 처리를 실행하는 비트 스트림 결합 장치(400)가 비트 스트림을 결합하는 경우의 예를 나타내고 있다. 도 31의 A는, 결합 전의 각 비트 스트림(스트림 A, 스트림 B)의 일부(접속되는 부분의 근방)의 프레임에 대한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다. 도 31의 결합에 있어서는, 스트림 B의 선두가 스트림 A의 종단부에 접속된다. 도 31의 B는, 그 결합 후의 비트 스트림인 스트림 A+B의 일부(접속되는 부분의 근방)의 프레임에 대한 파라미터(예를 들어 가상 참조 디코더에 관한 파라미터 등)의 예를 나타내고 있다.
도 31에 도시된 바와 같이, 이 경우, Stream B의 concatenation_flag=0으로 하고, IDR에서 au_cpb_removal_delay_minus1=0으로서 운용한다. 또한, stream B의 선두의 au_cpb_removal_delay_minus1은, Stream A의 종단부의 prevCpbRemovalDelay + 1로 한다. 그리고, Stream A의 종단부의 prevNonDiscardablePic의 위치를 확인해서 auCpbRemovalDelayDeltaMinus1이 재기입된다.
이와 같이 함으로써, 비트 스트림끼리를 단순하게 접속할 수 있다. 즉, 비트 스트림 결합 장치(400)는, 전술한 각 처리를 실행함으로써, 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
<부가 정보>
또한, 비트 스트림에는, 전술한 바와 같은 결합 시에 행해지는 처리에 사용되는 정보를 부가하도록 해도 된다. 예를 들어, prevNonDiscardablePic는, 비트 스트림 중의 어디에 있는지 알 수 없기 때문에, 전술한 바와 같이 탐색해야만 하지만, 그를 위해서는, 비트 스트림의 종단부로부터 각 픽처의 정보를 참조하지 않으면 안 되어, 처리의 부하가 증대될 우려가 있다.
따라서, 어느 픽처가 prevNonDiscardablePic인지를 나타내는 정보를 미리 비트 스트림 중에 포함하도록 해도 된다. 이와 같이 함으로써, 그 정보에 기초하여 prevNonDiscardablePic를 보다 용이하게 탐색할 수 있어, 처리의 부하 증대를 억제할 수 있다.
이와 같은 prevNonDiscardablePic를 나타내는 정보는, 비트 스트림의 어떤 위치에 부가하도록 해도 된다. 예를 들어, 액세스 유닛(AU)의 선두에 배치하도록 해도 된다. 또한, GOP의 선두에 배치하도록 해도 된다. 또한, 예를 들어 AU의 선두와 GOP의 선두와 같이, 동일한 정보를 복수의 위치에 배치하도록 해도 된다. 비트 스트림은, 편집에 의해, 그 일부가 커트되거나 할 우려가 있기 때문에, 이와 같이 동일한 정보를 복수의 위치에 배치함으로써, 그와 같은 편집에 의해 정보가 누락되는 것을 억제할 수 있다.
또한, 이와 같은 부가 정보로서, 예를 들어 prevNonDiscardablePic를 탐색하는 범위를 지정하는 정보를 비트 스트림에 부가하도록 해도 된다. 이와 같은 정보에 기초하여 탐색 범위를 한정함으로써, 처리의 부하가 불필요하게 증대되는 것을 억제할 수 있다.
물론, 비트 스트림에 부가하는 정보는 임의이며, 전술한 예로 한정되지 않는다.
본 기술의 적용 범위는, 화상 데이터를 부호화 가능한 모든 화상 부호화 장치와 화상 데이터의 비트 스트림을 결합 가능한 모든 화상 처리 장치에 적용할 수 있다.
또한, 본 기술은, 예를 들어 MPEG, H.26x 등과 같이, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축된 화상 정보(비트 스트림)를 위성 방송, 케이블 텔레비전, 인터넷 또는 휴대 전화기 등의 네트워크 미디어를 통해 수신할 때 사용되는 장치에 적용할 수 있다. 또한, 본 기술은, 광, 자기디스크, 및 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 사용되는 장치에 적용할 수 있다.
<5. 제5 실시 형태>
<컴퓨터>
전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용의 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 32는, 전술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 나타내는 블록도이다.
도 32에 도시된 컴퓨터(800)에 있어서, CPU(Central Processing Unit)(801), ROM(Read Only Memory)(802), RAM(Random Access Memory)(803)은, 버스(804)를 통해 서로 접속되어 있다.
버스(804)에는 또한, 입출력 인터페이스(810)도 접속되어 있다. 입출력 인터페이스(810)에는, 입력부(811), 출력부(812), 기억부(813), 통신부(814), 및 드라이브(815)가 접속되어 있다.
입력부(811)는, 예를 들어 키보드, 마우스, 마이크로폰, 터치 패널, 입력 단자 등을 포함한다. 출력부(812)는, 예를 들어 디스플레이, 스피커, 출력 단자 등을 포함한다. 기억부(813)는, 예를 들어 하드디스크, RAM 디스크, 불휘발성이 메모리 등을 포함한다. 통신부(814)는, 예를 들어 네트워크 인터페이스를 포함한다. 드라이브(815)는, 자기디스크, 광디스크, 광자기디스크, 또는 반도체 메모리 등의 리무버블 미디어(821)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(801)가, 예를 들어 기억부(813)에 기억되고 있는 프로그램을, 입출력 인터페이스(810) 및 버스(804)를 통하여, RAM(803)에 로드해서 실행함으로써, 전술한 일련의 처리가 행해진다. RAM(803)에는 또한, CPU(801)가 각종 처리를 실행하는 데 있어서 필요한 데이터 등도 적절히 기억된다.
컴퓨터(CPU(801))가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(821)에 기록해서 적용할 수 있다. 그 경우, 프로그램은, 리무버블 미디어(821)를 드라이브(815)에 장착함으로써, 입출력 인터페이스(810)를 통하여, 기억부(813)에 인스톨할 수 있다.
또한, 이 프로그램은, 로컬 에리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통해 제공할 수도 있다. 그 경우, 프로그램은, 통신부(814)에 의해 수신하고, 기억부(813)에 인스톨할 수 있다.
그 밖에, 이 프로그램은, ROM(802)이나 기억부(813)에, 미리 인스톨해 둘 수도 있다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서를 따라서 시계열로 처리가 행해지는 프로그램이어도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 된다.
또한, 본 명세서에 있어서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은, 기재된 순서를 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않고도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하고, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 묻지 않는다. 따라서, 별개의 하우징에 수납되고, 네트워크를 통해 접속되어 있는 복수의 장치, 및 1개의 하우징 내에 복수의 모듈이 수납되어 있는 1개의 장치는, 모두 시스템이다.
또한, 이상에 있어서, 1개의 장치(또는 처리부)로서 설명한 구성을 분할하고, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합해서 1개의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 전술한 이외의 구성을 부가하도록 해도 물론 된다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함하도록 해도 된다.
이상, 첨부 도면을 참조하면서 본 개시의 바람직한 실시 형태에 대하여 상세히 설명하였지만, 본 개시의 기술적 범위는 이러한 예로 한정되지 않는다. 본 개시의 기술 분야에 있어서의 통상의 지식을 갖는 사람이면, 청구범위에 기재된 기술적 사상의 범주 내에서, 각종 변경예 또는 수정예에 상도할 수 있는 것은 명백하며, 이들에 대해서도, 당연히 본 개시의 기술적 범위에 속하는 것이라고 이해된다.
예를 들어, 본 기술은, 1개의 기능을, 네트워크를 통해 복수의 장치에 의해 분담, 공동하여 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 전술한 흐름도에서 설명한 각 스텝은, 1개의 장치로 실행하는 외에, 복수의 장치에서 분담하여 실행할 수 있다.
또한, 1개의 스텝에 복수의 처리가 포함되는 경우에는, 그 1개의 스텝에 포함되는 복수의 처리는, 1개의 장치로 실행하는 외에, 복수의 장치에서 분담하여 실행할 수 있다.
전술한 실시 형태에 따른 화상 부호화 장치 및 비트 스트림 결합 장치는, 예를 들어 위성 방송, 케이블 TV 등의 유선 방송, 인터넷상에서의 배신 및 셀룰러 통신에 의한 단말기로의 배신 등에 있어서의 송신기 혹은 수신기, 광디스크, 자기디스크 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치, 또는 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의 다양한 전자 기기에 응용될 수 있다. 이하, 4개의 응용예에 대하여 설명한다.
<6. 제6 실시 형태>
<제1 응용예: 텔레비전 수상기>
도 33은, 전술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 나타내고 있다. 텔레비전 장치(900)는 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 표시부(906), 음성 신호 처리부(907), 스피커(908), 외부 인터페이스(I/F)부(909), 제어부(910), 유저 인터페이스(I/F)부(911), 및 버스(912)를 구비한다.
튜너(902)는, 안테나(901)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출된 신호를 복조한다. 그리고, 튜너(902)는 복조에 의해 얻어진 부호화 비트 스트림을 디멀티플렉서(903)로 출력한다. 즉, 튜너(902)는, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
디멀티플렉서(903)는, 부호화 비트 스트림으로부터 시청 대상의 프로그램 영상 스트림 및 음성 스트림을 분리하고, 분리한 각 스트림을 디코더(904)로 출력한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림으로부터 EPG(Electronic Program Guide) 등의 보조적인 데이터를 추출하고, 추출된 데이터를 제어부(910)에 공급한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림이 스크램블되어 있는 경우에는, 디스크램블을 행해도 된다.
디코더(904)는, 디멀티플렉서(903)로부터 입력되는 영상 스트림 및 음성 스트림을 복호한다. 그리고, 디코더(904)는, 복호 처리에 의해 생성되는 영상 데이터를 영상 신호 처리부(905)로 출력한다. 또한, 디코더(904)는, 복호 처리에 의해 생성되는 음성 데이터를 음성 신호 처리부(907)로 출력한다.
영상 신호 처리부(905)는, 디코더(904)로부터 입력되는 영상 데이터를 재생하고, 표시부(906)에 영상을 표시시킨다. 또한, 영상 신호 처리부(905)는, 네트워크를 통해서 공급되는 애플리케이션 화면을 표시부(906)에 표시시켜도 된다. 또한, 영상 신호 처리부(905)는 영상 데이터에 대하여, 설정에 따라서, 예를 들어 노이즈 제거 등의 추가적인 처리를 행하여도 된다. 또한, 영상 신호 처리부(905)는 예를 들어 메뉴, 버튼 또는 커서 등의 GUI(Graphical User Interface)의 화상을 생성하고, 생성된 화상을 출력 화상에 중첩해도 된다.
표시부(906)는, 영상 신호 처리부(905)로부터 공급되는 구동 신호에 의해 구동되고, 표시 디바이스(예를 들어, 액정 디스플레이, 플라즈마 디스플레이 또는 OELD(Organic ElectroLuminescence Display)(유기 EL 디스플레이) 등)의 영상면 위에 영상 또는 화상을 표시한다.
음성 신호 처리부(907)는, 디코더(904)로부터 입력되는 음성 데이터에 대하여 D/A 변환 및 증폭 등의 재생 처리를 행하고, 스피커(908)로부터 음성을 출력시킨다. 또한, 음성 신호 처리부(907)는, 음성 데이터에 대하여 노이즈 제거 등의 추가적인 처리를 행해도 된다.
외부 인터페이스부(909)는, 텔레비전 장치(900)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스부(909)를 통해 수신되는 영상 스트림 또는 음성 스트림이, 디코더(904)에 의해 복호되어도 된다. 즉, 외부 인터페이스부(909)도 또한, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
제어부(910)는, CPU 등의 프로세서와, RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터, EPG 데이터, 및 네트워크를 통해서 취득되는 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 텔레비전 장치(900)의 기동 시에 CPU에 의해 읽어들이고, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(911)로부터 입력되는 조작 신호에 따라서, 텔레비전 장치(900)의 동작을 제어한다.
유저 인터페이스부(911)는, 제어부(910)와 접속된다. 유저 인터페이스부(911)는, 예를 들어 유저가 텔레비전 장치(900)를 조작하기 위한 버튼, 및 스위치와, 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(911)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출해서 조작 신호를 생성하고, 생성된 조작 신호를 제어부(910)로 출력한다.
버스(912)는, 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 음성 신호 처리부(907), 외부 인터페이스부(909) 및 제어부(910)를 서로 접속한다.
이와 같이 구성된 텔레비전 장치(900)에 있어서, 예를 들어 영상 신호 처리부(905)가 전술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 예를 들어, 영상 신호 처리부(905)가, 디코더(904)로부터 공급되는 화상 데이터를 전술한 방법에 의해 부호화하도록 해도 된다. 영상 신호 처리부(905)는, 그 부호화에 의해 얻어진 부호화 데이터(비트 스트림)를, 예를 들어 외부 인터페이스부(909)에 공급하고, 외부 인터페이스부(909)로부터 텔레비전 장치(900)의 외부로 출력시킨다. 따라서, 텔레비전 장치(900)는, 처리 대상으로 되는 화상을 부호화한 비트 스트림을, 보다 용이하게 다른 비트 스트림과 결합 가능한 상태로서 출력할 수 있다.
또한, 예를 들어 영상 신호 처리부(905)가, 전술한 비트 스트림 결합 장치(비트 스트림 결합 장치(200) 내지 비트 스트림 결합 장치(400) 중 어느 하나)의 기능을 갖도록 해도 된다. 예를 들어, 영상 신호 처리부(905)가 제2 실시 형태 내지 제4 실시 형태에 있어서 설명한 방법에 의해 스마트 렌더링 편집을 행하여, 비트 스트림끼리를 결합할 수 있도록 해도 된다. 이와 같이 함으로써, 텔레비전 장치(900)(영상 신호 처리부(905))는, 보다 용이하게 비트 스트림끼리를 결합할 수 있다. 영상 신호 처리부(905)는, 예를 들어 이와 같이 하여 얻어진 부호화 데이터(비트 스트림)를 외부 인터페이스부(909)에 공급하고, 외부 인터페이스부(909)로부터 텔레비전 장치(900)의 외부로 출력시키거나 할 수 있다.
<제2 응용예: 휴대 전화기>
도 34는, 전술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 나타내고 있다. 휴대 전화기(920)는, 안테나(921), 통신부(922), 음성 코덱(923), 스피커(924), 마이크로폰(925), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930), 제어부(931), 조작부(932), 및 버스(933)를 구비한다.
안테나(921)는, 통신부(922)에 접속된다. 스피커(924) 및 마이크로폰(925)은, 음성 코덱(923)에 접속된다. 조작부(932)는, 제어부(931)에 접속된다. 버스(933)는, 통신부(922), 음성 코덱(923), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930), 및 제어부(931)를 서로 접속한다.
휴대 전화기(920)는, 음성 통화 모드, 데이터 통신 모드, 촬영 모드 및 텔레비전 전화 모드를 포함하는 다양한 동작 모드에서, 음성 신호의 송수신, 전자 메일 또는 화상 데이터의 송수신, 화상의 촬상, 및 데이터의 기록 등의 동작을 행한다.
음성 통화 모드에 있어서, 마이크로폰(925)에 의해 생성되는 아날로그 음성 신호는, 음성 코덱(923)에 공급된다. 음성 코덱(923)은, 아날로그 음성 신호를 음성 데이터로 변환하고, 변환된 음성 데이터를 A/D 변환하여 압축한다. 그리고, 음성 코덱(923)은 압축 후의 음성 데이터를 통신부(922)로 출력한다. 통신부(922)는, 음성 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성된 송신 신호를, 안테나(921)를 통해 기지국(도시생략)으로 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호해서 음성 데이터를 생성하고, 생성한 음성 데이터를 음성 코덱(923)으로 출력한다. 음성 코덱(923)은, 음성 데이터를 신장 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은, 생성된 음성 신호를 스피커(924)에 공급해서 음성을 출력시킨다.
또한, 데이터 통신 모드에 있어서, 예를 들어 제어부(931)는, 조작부(932)를 통하는 유저에 의한 조작에 따라서, 전자 메일을 구성하는 문자 데이터를 생성한다. 또한, 제어부(931)는 문자를 표시부(930)에 표시시킨다. 또한, 제어부(931)는 조작부(932)를 통하는 유저로부터의 송신 지시에 따라서 전자 메일 데이터를 생성하고, 생성된 전자 메일 데이터를 통신부(922)로 출력한다. 통신부(922)는, 전자 메일 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성된 송신 신호를, 안테나(921)를 통해 기지국(도시생략)으로 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호하여 전자 메일 데이터를 복원하고, 복원한 전자 메일 데이터를 제어부(931)로 출력한다. 제어부(931)는, 표시부(930)에 전자 메일의 내용을 표시시킴과 함께, 전자 메일 데이터를 기록 재생부(929)에 공급하고, 그 기억 매체에 기입시킨다.
기록 재생부(929)는, 판독 기입 가능한 임의의 기억 매체를 갖는다. 예를 들어, 기억 매체는, RAM 또는 플래시 메모리 등의 내장형 기억 매체여도 되며, 하드디스크, 자기디스크, 광자기디스크, 광디스크, USB(Universal Serial Bus) 메모리, 또는 메모리 카드 등의 외부 장착형 기억 매체여도 된다.
또한, 촬영 모드에 있어서, 예를 들어 카메라부(926)는, 피사체를 촬상해서 화상 데이터를 생성하고, 생성된 화상 데이터를 화상 처리부(927)로 출력한다. 화상 처리부(927)는, 카메라부(926)로부터 입력되는 화상 데이터를 부호화하고, 부호화 스트림을 기록 재생부(929)에 공급하고, 그 기억 매체에 기입시킨다.
또한, 화상 표시 모드에 있어서, 기록 재생부(929)는, 기억 매체에 기록되어 있는 부호화 스트림을 판독해서 화상 처리부(927)로 출력한다. 화상 처리부(927)는, 기록 재생부(929)로부터 입력되는 부호화 스트림을 복호하여, 화상 데이터를 표시부(930)에 공급하고, 그 화상을 표시시킨다.
또한, 텔레비전 전화 모드에 있어서, 예를 들어 다중 분리부(928)는, 화상 처리부(927)에 의해 부호화된 영상 스트림과, 음성 코덱(923)으로부터 입력되는 음성 스트림을 다중화하고, 다중화한 스트림을 통신부(922)로 출력한다. 통신부(922)는, 스트림을 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성된 송신 신호를, 안테나(921)를 통해 기지국(도시생략)으로 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭 및 주파수 변환하고, 수신 신호를 취득한다. 이들 송신 신호 및 수신 신호에는, 부호화 비트 스트림이 포함될 수 있다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호해서 스트림을 복원하고, 복원한 스트림을 다중 분리부(928)로 출력한다. 다중 분리부(928)는, 입력되는 스트림으로부터 영상 스트림 및 음성 스트림을 분리하고, 영상 스트림을 화상 처리부(927), 음성 스트림을 음성 코덱(923)으로 출력한다. 화상 처리부(927)는, 영상 스트림을 복호하고, 영상 데이터를 생성한다. 영상 데이터는, 표시부(930)에 공급되어, 표시부(930)에 의해 일련의 화상이 표시된다. 음성 코덱(923)은 음성 스트림을 신장 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은, 생성된 음성 신호를 스피커(924)에 공급해서 음성을 출력시킨다.
이와 같이 구성된 휴대 전화기(920)에 있어서, 예를 들어 화상 처리부(927)가 전술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(927)가, 화상 데이터를 전술한 방법에 의해 부호화하도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(920)는, 화상 데이터를 부호화해서, 보다 용이하게 다른 비트 스트림과 결합 가능한 상태로 한 비트 스트림을 출력하거나, 기록하거나 할 수 있다.
또한, 예를 들어 화상 처리부(927)가, 전술한 비트 스트림 결합 장치(비트 스트림 결합 장치(200) 내지 비트 스트림 결합 장치(400) 중 어느 하나)의 기능을 갖도록 해도 된다. 예를 들어, 화상 처리부(927)가, 제2 실시 형태 내지 제4 실시 형태에 있어서 설명한 방법에 의해 스마트 렌더링 편집을 행하여, 비트 스트림끼리를 결합할 수 있도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(920)(화상 처리부(927))는, 보다 용이하게 비트 스트림끼리를 결합할 수 있다. 화상 처리부(927)는, 예를 들어 이와 같이 하여 얻어진 부호화 데이터(비트 스트림)를 기록 재생부(929)에 공급하여 그 기억 매체에 기입시키거나, 통신부(922)를 통해 송신시키거나 할 수 있다.
<제3 응용예: 기록 재생 장치>
도 35는, 전술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 나타내고 있다. 기록 재생 장치(940)는, 예를 들어 수신한 방송 프로그램의 음성 데이터 및 영상 데이터를 부호화해서 기록 매체에 기록한다. 또한, 기록 재생 장치(940)는, 예를 들어 다른 장치로부터 취득되는 음성 데이터 및 영상 데이터를 부호화해서 기록 매체에 기록하여도 된다. 또한, 기록 재생 장치(940)는, 예를 들어 유저의 지시에 따라서, 기록 매체에 기록되어 있는 데이터를 모니터 및 스피커 상에서 재생한다. 이때, 기록 재생 장치(940)는, 음성 데이터 및 영상 데이터를 복호한다.
기록 재생 장치(940)는, 튜너(941), 외부 인터페이스(I/F)부(942), 인코더(943), HDD(Hard Disk Drive)부(944), 디스크 드라이브(945), 셀렉터(946), 디코더(947), OSD(On-Screen Display)부(948), 제어부(949), 및 유저 인터페이스(I/F)부(950)를 구비한다.
튜너(941)는, 안테나(도시생략)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출된 신호를 복조한다. 그리고, 튜너(941)는, 복조에 의해 얻어진 부호화 비트 스트림을 셀렉터(946)로 출력한다. 즉, 튜너(941)는, 기록 재생 장치(940)에 있어서의 전송부로서의 역할을 갖는다.
외부 인터페이스부(942)는, 기록 재생 장치(940)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 외부 인터페이스부(942)는, 예를 들어 IEEE(Institute of Electrical and Electronic Engineers) 1394 인터페이스, 네트워크 인터페이스, USB 인터페이스, 또는 플래시 메모리 인터페이스 등이어도 된다. 예를 들어, 외부 인터페이스부(942)를 통해 수신되는 영상 데이터 및 음성 데이터는, 인코더(943)에 입력된다. 즉, 외부 인터페이스부(942)는, 기록 재생 장치(940)에 있어서의 전송부로서의 역할을 갖는다.
인코더(943)는, 외부 인터페이스부(942)로부터 입력되는 영상 데이터 및 음성 데이터가 부호화되지 않는 경우에, 영상 데이터 및 음성 데이터를 부호화한다. 그리고, 인코더(943)는, 부호화 비트 스트림을 셀렉터(946)로 출력한다.
HDD부(944)는, 영상 및 음성 등의 콘텐츠 데이터가 압축된 부호화 비트 스트림, 각종 프로그램 및 그 밖의 데이터를 내부의 하드디스크에 기록한다. 또한, HDD부(944)는, 영상 및 음성의 재생 시에, 이들 데이터를 하드디스크로부터 판독한다.
디스크 드라이브(945)는, 장착되어 있는 기록 매체로의 데이터의 기록 및 판독을 행한다. 디스크 드라이브(945)에 장착되는 기록 매체는, 예를 들어 DVD(Digital Versatile Disc) 디스크(DVD-Video, DVD-RAM(DVD-Random Access Memory), DVD-R(DVD-Recordable), DVD-RW(DVD-Rewritable), DVD+R(DVD +Recordable), DVD+RW(DVD+Rewritable) 등) 또는 Blu-ray(등록상표) 디스크 등이어도 된다.
셀렉터(946)는, 영상 및 음성의 기록 시에는, 튜너(941) 또는 인코더(943)로부터 입력되는 부호화 비트 스트림을 선택하고, 선택한 부호화 비트 스트림을 HDD부(944) 또는 디스크 드라이브(945)로 출력한다. 또한, 셀렉터(946)는, 영상 및 음성의 재생 시에는, HDD부(944) 또는 디스크 드라이브(945)로부터 입력되는 부호화 비트 스트림을 디코더(947)로 출력한다.
디코더(947)는, 부호화 비트 스트림을 복호하고, 영상 데이터 및 음성 데이터를 생성한다. 그리고, 디코더(947)는, 생성된 영상 데이터를 OSD부(948)로 출력한다. 또한, 디코더(947)는, 생성된 음성 데이터를 외부의 스피커로 출력한다.
OSD부(948)는, 디코더(947)로부터 입력되는 영상 데이터를 재생하고, 영상을 표시한다. 또한, OSD부(948)는, 표시하는 영상에, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 중첩하여도 된다.
제어부(949)는, CPU 등의 프로세서와, RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 기록 재생 장치(940)의 기동 시에 CPU에 의해 읽어들이고, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(950)로부터 입력되는 조작 신호에 따라서, 기록 재생 장치(940)의 동작을 제어한다.
유저 인터페이스부(950)는, 제어부(949)와 접속된다. 유저 인터페이스부(950)는, 예를 들어 유저가 기록 재생 장치(940)를 조작하기 위한 버튼 및 스위치와, 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(950)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성된 조작 신호를 제어부(949)로 출력한다.
이와 같이 구성된 기록 재생 장치(940)에 있어서, 인코더(943)는, 전술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 즉, 인코더(943)가, 화상 데이터를 전술한 방법에 의해 부호화하도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(940)는, 화상 데이터를 부호화하여, 보다 용이하게 다른 비트 스트림과 결합 가능한 상태로 한 비트 스트림을 출력하거나, 기록하거나 할 수 있다.
또한, 예를 들어 인코더(943)가, 전술한 비트 스트림 결합 장치(비트 스트림 결합 장치(200) 내지 비트 스트림 결합 장치(400) 중 어느 하나)의 기능을 갖도록 해도 된다. 예를 들어, 인코더(943)가, 화상 데이터의 부호화뿐만 아니라, 제2 실시 형태 내지 제4 실시 형태에 있어서 설명한 방법에 의해 스마트 렌더링 편집을 행하여, 비트 스트림끼리를 결합할 수 있도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(940)(인코더(943))는, 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
<제4 응용예: 촬상 장치>
도 36은, 전술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 나타내고 있다. 촬상 장치(960)는, 피사체를 촬상해서 화상을 생성하고, 화상 데이터를 부호화해서 기록 매체에 기록한다.
촬상 장치(960)는, 광학 블록(961), 촬상부(962), 신호 처리부(963), 화상 처리부(964), 표시부(965), 외부 인터페이스(I/F)부(966), 메모리부(967), 미디어 드라이브(968), OSD부(969), 제어부(970), 유저 인터페이스(I/F)부(971), 및 버스(972)를 구비한다.
광학 블록(961)은, 촬상부(962)에 접속된다. 촬상부(962)는, 신호 처리부(963)에 접속된다. 표시부(965)는, 화상 처리부(964)에 접속된다. 유저 인터페이스부(971)는, 제어부(970)에 접속된다. 버스(972)는, 화상 처리부(964), 외부 인터페이스부(966), 메모리부(967), 미디어 드라이브(968), OSD부(969), 및 제어부(970)를 서로 접속한다.
광학 블록(961)은, 포커스 렌즈 및 조리개 기구 등을 갖는다. 광학 블록(961)은, 피사체의 광학 상을 촬상부(962)의 촬상면에 결상시킨다. 촬상부(962)는, CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서를 갖고, 촬상면에 결상한 광학 상을 광전 변환에 의해 전기 신호로서의 화상 신호로 변환한다. 그리고, 촬상부(962)는, 화상 신호를 신호 처리부(963)로 출력한다.
신호 처리부(963)는, 촬상부(962)로부터 입력되는 화상 신호에 대하여 니 보정, 감마 보정, 색 보정 등의 다양한 카메라 신호 처리를 행한다. 신호 처리부(963)는, 카메라 신호 처리 후의 화상 데이터를 화상 처리부(964)로 출력한다.
화상 처리부(964)는, 신호 처리부(963)로부터 입력되는 화상 데이터를 부호화하고, 부호화 데이터를 생성한다. 그리고, 화상 처리부(964)는, 생성된 부호화 데이터를 외부 인터페이스부(966) 또는 미디어 드라이브(968)로 출력한다. 또한, 화상 처리부(964)는, 외부 인터페이스부(966) 또는 미디어 드라이브(968)로부터 입력되는 부호화 데이터를 복호하고, 화상 데이터를 생성한다. 그리고, 화상 처리부(964)는, 생성된 화상 데이터를 표시부(965)로 출력한다. 또한, 화상 처리부(964)는, 신호 처리부(963)로부터 입력되는 화상 데이터를 표시부(965)로 출력해서 화상을 표시시켜도 된다. 또한, 화상 처리부(964)는 OSD부(969)로부터 취득되는 표시용 데이터를, 표시부(965)로 출력하는 화상에 중첩해도 된다.
OSD부(969)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 생성하여, 생성한 화상을 화상 처리부(964)로 출력한다.
외부 인터페이스부(966)는, 예를 들어 USB 입출력 단자로서 구성된다. 외부 인터페이스부(966)는, 예를 들어 화상의 인쇄 시에, 촬상 장치(960)와 프린터를 접속한다. 또한, 외부 인터페이스부(966)에는, 필요에 따라서 드라이브가 접속된다. 드라이브에는, 예를 들어 자기디스크 또는 광디스크 등의 리무버블 미디어가 장착되고, 리무버블 미디어로부터 판독되는 프로그램이, 촬상 장치(960)에 인스톨될 수 있다. 또한, 외부 인터페이스부(966)는, LAN 또는 인터넷 등의 네트워크에 접속되는 네트워크 인터페이스로서 구성되어도 된다. 즉, 외부 인터페이스부(966)는, 촬상 장치(960)에 있어서의 전송부로서의 역할을 갖는다.
미디어 드라이브(968)에 장착되는 기록 매체는, 예를 들어 자기디스크, 광자기디스크, 광디스크, 또는 반도체 메모리 등의, 판독 기입 가능한 임의의 리무버블 미디어이어도 된다. 또한, 미디어 드라이브(968)에 기록 매체가 고정적으로 장착되고, 예를 들어 내장형 하드디스크 드라이브 또는 SSD(Solid State Drive)와 같은 비가반성의 기억부가 구성되어도 된다.
제어부(970)는, CPU 등의 프로세서와, RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 촬상 장치(960)의 기동 시에 CPU에 의해 읽어들이고, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(971)로부터 입력되는 조작 신호에 따라서, 촬상 장치(960)의 동작을 제어한다.
유저 인터페이스부(971)는, 제어부(970)와 접속된다. 유저 인터페이스부(971)는, 예를 들어 유저가 촬상 장치(960)를 조작하기 위한 버튼 및 스위치와 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(971)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출해서 조작 신호를 생성하고, 생성된 조작 신호를 제어부(970)로 출력한다.
이와 같이 구성된 촬상 장치(960)에 있어서, 화상 처리부(964)는, 전술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(964)가, 화상 데이터를 전술한 방법에 의해 부호화하도록 해도 된다. 이와 같이 함으로써, 촬상 장치(960)는 화상 데이터를 부호화하여, 보다 용이하게 다른 비트 스트림과 결합 가능한 상태로 한 비트 스트림을 출력하거나, 기록하거나 할 수 있다.
또한, 예를 들어 화상 처리부(964)가, 전술한 비트 스트림 결합 장치(비트 스트림 결합 장치(200) 내지 비트 스트림 결합 장치(400) 중 어느 하나)의 기능을 갖도록 해도 된다. 예를 들어, 화상 처리부(964)가, 제2 실시 형태 내지 제4 실시 형태에 있어서 설명한 방법에 의해 스마트 렌더링 편집을 행하여, 비트 스트림끼리를 결합할 수 있도록 해도 된다. 이와 같이 함으로써, 촬상 장치(960)(화상 처리부(964))는 보다 용이하게 비트 스트림끼리를 결합할 수 있다.
또한, 본 기술은, 미리 준비된 해상도 등이 서로 상이한 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택해서 사용하는, 예를 들어 MPEG DASH 등과 같은 HTTP 스트리밍에도 적용할 수 있다. 즉, 이와 같은 복수의 부호화 데이터 간에서, 부호화나 복호에 관한 정보를 공유할 수도 있다.
<7. 제7 실시 형태>
<실시의 그 밖의 예>
이상에 있어서 본 기술을 적용하는 장치나 시스템 등의 예를 설명하였지만, 본 기술은, 이것으로 한정되지 않고, 이와 같은 장치 또는 시스템을 구성하는 장치에 탑재되는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 그 밖의 기능을 더 부가한 세트 등(즉, 장치의 일부 구성)으로서 실시할 수도 있다.
<비디오 세트>
본 기술을 세트로서 실시하는 경우의 예에 대하여, 도 37을 참조하여 설명한다. 도 37은, 본 기술을 적용한 비디오 세트의 개략적인 구성의 일례를 나타내고 있다.
최근 들어, 전자 기기의 다기능화가 진행되고 있으며, 그 개발이나 제조에 있어서, 그 일부의 구성을 판매나 제공 등으로서 실시하는 경우, 하나의 기능을 갖는 구성으로서 실시를 행하는 경우뿐만 아니라, 관련된 기능을 갖는 복수의 구성을 조합하고, 복수의 기능을 갖는 하나의 세트로서 실시를 행하는 경우도 많이 볼 수 있게 되었다.
도 37에 도시된 비디오 세트(1300)는, 이와 같은 다기능화된 구성이며, 화상의 부호화나 복호(어느 한쪽이어도 되고, 양쪽이어도 됨)에 관한 기능을 갖는 디바이스에, 그 기능에 관련된 그 밖의 기능을 갖는 디바이스를 조합한 것이다.
도 37에 도시된 바와 같이, 비디오 세트(1300)는, 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313), 및 프론트엔드 모듈(1314) 등의 모듈 군과, 커넥티비티(1321), 카메라(1322), 및 센서(1323) 등의 관련된 기능을 갖는 디바이스를 갖는다.
모듈은, 서로 관련된 몇 가지 부품적 기능을 통합하고, 통합된 기능을 갖는 부품으로 한 것이다. 구체적인 물리적 구성은 임의이지만, 예를 들어 각각 기능을 갖는 복수의 프로세서, 저항이나 콘덴서 등의 전자 회로 소자, 그 밖의 디바이스 등을 배선 기판 등에 배치해서 일체화한 것이 고려된다. 또한, 모듈에 다른 모듈이나 프로세서 등을 조합해서 새로운 모듈로 하는 것도 고려된다.
도 37의 예의 경우, 비디오 모듈(1311)은, 화상 처리에 관한 기능을 갖는 구성을 조합한 것이며, 애플리케이션 프로세서, 비디오 프로세서, 브로드밴드 모뎀(1333), 및 RF 모듈(1334)을 갖는다.
프로세서는, 소정의 기능을 갖는 구성을 SoC(System On a Chip)에 의해 반도체 칩에 집적한 것이며, 예를 들어 시스템 LSI(Large Scale Integration) 등이라 칭해지는 것도 있다. 이 소정의 기능을 갖는 구성은, 논리 회로(하드웨어 구성)여도 되고, CPU, ROM, RAM 등과, 그들을 사용해서 실행되는 프로그램(소프트웨어 구성)이어도 되고, 그 양쪽을 조합한 것이어도 된다. 예를 들어, 프로세서가, 논리 회로와 CPU, ROM, RAM 등을 갖고, 기능의 일부를 논리 회로(하드웨어 구성)에 의해 실현하고, 그 밖의 기능을 CPU에 있어서 실행되는 프로그램(소프트웨어 구성)에 의해 실현하도록 해도 된다.
도 37의 애플리케이션 프로세서(1331)는, 화상 처리에 관한 애플리케이션을 실행하는 프로세서이다. 이 애플리케이션 프로세서(1331)에 있어서 실행되는 애플리케이션은, 소정의 기능을 실현하기 위해서, 연산 처리를 행할 뿐만 아니라, 예를 들어 비디오 프로세서(1332) 등, 비디오 모듈(1311) 내외의 구성을 필요에 따라서 제어할 수도 있다.
비디오 프로세서(1332)는, 화상의 부호화·복호(그 한쪽 혹은 양쪽)에 관한 기능을 갖는 프로세서이다.
브로드밴드 모뎀(1333)은, 인터넷이나 공중전화 회선망 등의 광대역의 회선을 통해 행해지는 유선 또는 무선(또는 그 양쪽)의 광대역 통신에 의해 송신하는 데이터(디지털 신호)를 디지털 변조하는 등으로 아날로그 신호로 변환하거나, 그 광대역 통신에 의해 수신한 아날로그 신호를 복조해서 데이터(디지털 신호)로 변환하거나 한다. 브로드밴드 모뎀(1333)은, 예를 들어 비디오 프로세서(1332)가 처리하는 화상 데이터, 화상 데이터가 부호화된 스트림, 애플리케이션 프로그램, 설정 데이터 등, 임의의 정보를 처리한다.
RF 모듈(1334)은, 안테나를 통해 송수신되는 RF(Radio Frequency) 신호에 대하여 주파수 변환, 변복조, 증폭, 필터 처리 등을 행하는 모듈이다. 예를 들어, RF 모듈(1334)은, 브로드밴드 모뎀(1333)에 의해 생성된 기저 대역 신호에 대하여 주파수 변환 등을 행해서 RF 신호를 생성한다. 또한, 예를 들어 RF 모듈(1334)은, 프론트엔드 모듈(1314)을 통해 수신된 RF 신호에 대하여 주파수 변환 등을 행하여 기저 대역 신호를 생성한다.
또한, 도 37에 있어서 점선(1341)으로 나타낸 바와 같이, 애플리케이션 프로세서(1331)와 비디오 프로세서(1332)를 일체화하고, 하나의 프로세서로서 구성되도록 해도 된다.
외부 메모리(1312)는 비디오 모듈(1311)의 외부에 설치된, 비디오 모듈(1311)에 의해 이용되는 기억 디바이스를 갖는 모듈이다. 이 외부 메모리(1312)의 기억 디바이스는, 어떠한 물리 구성에 의해 실현하도록 해도 되지만, 일반적으로 프레임 단위의 화상 데이터와 같은 대용량의 데이터의 저장에 이용되는 경우가 많으므로, 예를 들어 DRAM(Dynamic Random Access Memory)과 같은 비교적 저렴하고 대용량의 반도체 메모리에 의해 실현하는 것이 바람직하다.
파워 매니지먼트 모듈(1313)은, 비디오 모듈(1311)(비디오 모듈(1311) 내의 각 구성)로의 전력 공급을 관리하고, 제어한다.
프론트엔드 모듈(1314)은, RF 모듈(1334)에 대하여 프론트엔드 기능(안테나측의 송수신 단부의 회로)을 제공하는 모듈이다. 도 37에 도시된 바와 같이, 프론트엔드 모듈(1314)은, 예를 들어 안테나부(1351), 필터(1352), 및 증폭부(1353)를 갖는다.
안테나부(1351)는, 무선 신호를 송수신하는 안테나 및 그 주변의 구성을 갖는다. 안테나부(1351)는, 증폭부(1353)로부터 공급되는 신호를 무선 신호로서 송신하고, 수신한 무선 신호를 전기 신호(RF 신호)로서 필터(1352)에 공급한다. 필터(1352)는, 안테나부(1351)를 통해 수신된 RF 신호에 대하여 필터 처리 등을 행하고, 처리 후의 RF 신호를 RF 모듈(1334)에 공급한다. 증폭부(1353)는, RF 모듈(1334)로부터 공급되는 RF 신호를 증폭하고, 안테나부(1351)에 공급한다.
커넥티비티(1321)는, 외부와의 접속에 관한 기능을 갖는 모듈이다. 커넥티비티(1321)의 물리 구성은, 임의이다. 예를 들어, 커넥티비티(1321)는, 브로드밴드 모뎀(1333)이 대응하는 통신 규격 이외의 통신 기능을 갖는 구성이나, 외부 입출력 단자 등을 갖는다.
예를 들어, 커넥티비티(1321)가 Bluetooth(등록상표), IEEE 802.11(예를 들어 Wi-Fi(Wireless Fidelity, 등록상표)), NFC(Near Field Communication), IrDA(InfraRed Data Association) 등의 무선 통신 규격에 준거하는 통신 기능을 갖는 모듈이나, 그 규격에 준거한 신호를 송수신하는 안테나 등을 갖도록 해도 된다. 또한, 예를 들어 커넥티비티(1321)가, USB(Universal Serial Bus), HDMI(등록상표) (High-Definition Multimedia Interface) 등의 유선 통신 규격에 준거하는 통신 기능을 갖는 모듈이나, 그 규격에 준거한 단자를 갖도록 해도 된다. 또한, 예를 들어 커넥티비티(1321)가, 아날로그 입출력 단자 등의 그 밖의 데이터(신호) 전송 기능 등을 갖도록 해도 된다.
또한, 커넥티비티(1321)가 데이터(신호)의 전송처의 디바이스를 포함하도록 해도 된다. 예를 들어, 커넥티비티(1321)가 자기디스크, 광디스크, 광자기디스크, 또는 반도체 메모리 등의 기록 매체에 대하여 데이터의 판독이나 기입을 행하는 드라이브(리무버블 미디어의 드라이브뿐만 아니라, 하드디스크, SSD(Solid State Drive), NAS(Network Attached Storage) 등도 포함함)를 갖도록 해도 된다. 또한, 커넥티비티(1321)가 화상이나 음성의 출력 디바이스(모니터나 스피커 등)를 갖도록 해도 된다.
카메라(1322)는 피사체를 촬상하고, 피사체의 화상 데이터를 얻는 기능을 갖는 모듈이다. 카메라(1322)의 촬상에 의해 얻어진 화상 데이터는, 예를 들어 비디오 프로세서(1332)에 공급되어 부호화된다.
센서(1323)는, 예를 들어 음성 센서, 초음파 센서, 광 센서, 조도 센서, 적외선 센서, 이미지 센서, 회전 센서, 각도 센서, 각속도 센서, 속도 센서, 가속도 센서, 경사 센서, 자기 식별 센서, 충격 센서, 온도 센서 등, 임의의 센서 기능을 갖는 모듈이다. 센서(1323)에 의해 검출된 데이터는, 예를 들어 애플리케이션 프로세서(1331)에 공급되어 애플리케이션 등에 의해 이용된다.
이상에 있어서 모듈로서 설명한 구성을 프로세서로서 실현하도록 해도 되고, 반대로 프로세서로서 설명한 구성을 모듈로서 실현하도록 해도 된다.
이상과 같은 구성의 비디오 세트(1300)에 있어서, 후술하는 바와 같이 비디오 프로세서(1332)에 본 기술을 적용할 수 있다. 따라서, 비디오 세트(1300)는, 본 기술을 적용한 세트로서 실시할 수 있다.
<비디오 프로세서의 구성예>
도 38은, 본 기술을 적용한 비디오 프로세서(1332)(도 37)의 개략적인 구성의 일례를 나타내고 있다.
도 38의 예의 경우, 비디오 프로세서(1332)는, 비디오 신호 및 오디오 신호의 입력을 받아서 이들을 소정의 방식으로 부호화하는 기능과, 부호화된 비디오 데이터 및 오디오 데이터를 복호하고, 비디오 신호 및 오디오 신호를 재생 출력하는 기능을 갖는다.
도 38에 도시된 바와 같이, 비디오 프로세서(1332)는, 비디오 입력 처리부(1401), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403), 비디오 출력 처리부(1404), 프레임 메모리(1405) 및 메모리 제어부(1406)를 갖는다. 또한, 비디오 프로세서(1332)는 인코드·디코드 엔진(1407), 비디오 ES(Elementary Stream) 버퍼(1408A 및 1408B)와, 오디오 ES 버퍼(1409A) 및 (1409B)를 갖는다. 또한, 비디오 프로세서(1332)는, 오디오 인코더(1410), 오디오 디코더(1411), 다중화부(MUX(Multiplexer))(1412), 역다중화부(DMUX(Demultiplexer))(1413), 및 스트림 버퍼(1414)를 갖는다.
비디오 입력 처리부(1401)는, 예를 들어 커넥티비티(1321)(도 37) 등으로부터 입력된 비디오 신호를 취득하고, 디지털 화상 데이터로 변환한다. 제1 화상 확대 축소부(1402)는, 화상 데이터에 대하여 포맷 변환이나 화상의 확대 축소 처리 등을 행한다. 제2 화상 확대 축소부(1403)는, 화상 데이터에 대하여 비디오 출력 처리부(1404)를 통해 출력할 곳에서의 포맷에 따라서 화상의 확대 축소 처리를 행하거나, 제1 화상 확대 축소부(1402)와 마찬가지의 포맷 변환이나 화상의 확대 축소 처리 등을 행하거나 한다. 비디오 출력 처리부(1404)는, 화상 데이터에 대하여 포맷 변환이나 아날로그 신호로의 변환 등을 행하여, 재생된 비디오 신호로서 예를 들어 커넥티비티(1321) 등으로 출력한다.
프레임 메모리(1405)는, 비디오 입력 처리부(1401), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403), 비디오 출력 처리부(1404) 및 인코드·디코드 엔진(1407)에 의해 공용되는 화상 데이터용 메모리이다. 프레임 메모리(1405)는 예를 들어 DRAM 등의 반도체 메모리로서 실현된다.
메모리 제어부(1406)는, 인코드·디코드 엔진(1407)로부터의 동기 신호를 받아서, 액세스 관리 테이블(1406A)에 기입된 프레임 메모리(1405)로의 액세스 스케줄에 따라 프레임 메모리(1405)에 대한 기입·판독의 액세스를 제어한다. 액세스 관리 테이블(1406A)은, 인코드·디코드 엔진(1407), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403) 등에서 실행되는 처리에 따라서, 메모리 제어부(1406)에 의해 갱신된다.
인코드·디코드 엔진(1407)은, 화상 데이터의 인코드 처리와, 화상 데이터가 부호화된 데이터인 비디오 스트림의 디코드 처리를 행한다. 예를 들어, 인코드·디코드 엔진(1407)은, 프레임 메모리(1405)로부터 판독한 화상 데이터를 부호화하고, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 순차 기입한다. 또한, 예를 들어 비디오 ES 버퍼(1408B)로부터 비디오 스트림을 순차 판독해서 복호하고, 화상 데이터로서 프레임 메모리(1405)에 순차 기입한다. 인코드·디코드 엔진(1407)은, 이들 부호화나 복호에 있어서, 프레임 메모리(1405)를 작업 영역으로서 사용한다. 또한, 인코드·디코드 엔진(1407)은, 예를 들어 매크로 블록마다의 처리를 개시하는 타이밍에, 메모리 제어부(1406)에 대하여 동기 신호를 출력한다.
비디오 ES 버퍼(1408A)는, 인코드·디코드 엔진(1407)에 의해 생성된 비디오 스트림을 버퍼링하여, 다중화부(MUX)(1412)에 공급한다. 비디오 ES 버퍼(1408B)는, 역다중화부(DMUX)(1413)로부터 공급된 비디오 스트림을 버퍼링하여, 인코드·디코드 엔진(1407)에 공급한다.
오디오 ES 버퍼(1409A)는, 오디오 인코더(1410)에 의해 생성된 오디오 스트림을 버퍼링하고, 다중화부(MUX)(1412)에 공급한다. 오디오 ES 버퍼(1409B)는 역다중화부(DMUX)(1413)로부터 공급된 오디오 스트림을 버퍼링하여, 오디오 디코더(1411)에 공급한다.
오디오 인코더(1410)는, 예를 들어 커넥티비티(1321) 등으로부터 입력된 오디오 신호를 예를 들어 디지털 변환하고, 예를 들어 MPEG 오디오 방식이나 AC3(AudioCode number 3) 방식 등의 소정의 방식으로 부호화한다. 오디오 인코더(1410)는, 오디오 신호가 부호화된 데이터인 오디오 스트림을 오디오 ES 버퍼(1409A)에 순차 기입한다. 오디오 디코더(1411)는, 오디오 ES 버퍼(1409B)로부터 공급된 오디오 스트림을 복호하고, 예를 들어 아날로그 신호로의 변환 등을 행하여, 재생된 오디오 신호로서 예를 들어 커넥티비티(1321) 등에 공급한다.
다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화한다. 이 다중화의 방법(즉, 다중화에 의해 생성되는 비트 스트림의 포맷)은 임의이다. 또한, 이 다중화 시에, 다중화부(MUX)(1412)는, 소정의 헤더 정보 등을 비트 스트림에 부가할 수도 있다. 즉, 다중화부(MUX)(1412)는, 다중화에 의해 스트림의 포맷을 변환할 수 있다. 예를 들어, 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 전송용 포맷의 비트 스트림인 트랜스포트 스트림으로 변환한다. 또한, 예를 들어 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 기록용 파일 포맷의 데이터(파일 데이터)로 변환한다.
역다중화부(DMUX)(1413)는, 다중화부(MUX)(1412)에 의한 다중화에 대응하는 방법에 의해, 비디오 스트림과 오디오 스트림이 다중화된 비트 스트림을 역다중화한다. 즉, 역다중화부(DMUX)(1413)는, 스트림 버퍼(1414)로부터 판독된 비트 스트림으로부터 비디오 스트림과 오디오 스트림을 추출한다(비디오 스트림과 오디오 스트림을 분리함). 즉, 역다중화부(DMUX)(1413)는, 역다중화에 의해 스트림의 포맷을 변환(다중화부(MUX)(1412)에 의한 변환의 역변환)할 수 있다. 예를 들어, 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등으로부터 공급된 트랜스포트 스트림을, 스트림 버퍼(1414)를 통해 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다. 또한, 예를 들어 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)에 의해 각종 기록 매체로부터 판독된 파일 데이터를, 스트림 버퍼(1414)를 통해 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다.
스트림 버퍼(1414)는, 비트 스트림을 버퍼링한다. 예를 들어, 스트림 버퍼(1414)는, 다중화부(MUX)(1412)로부터 공급된 트랜스포트 스트림을 버퍼링하고, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급한다.
또한, 예를 들어 스트림 버퍼(1414)는, 다중화부(MUX)(1412)로부터 공급된 파일 데이터를 버퍼링하여, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321) 등에 공급하고, 각종 기록 매체에 기록시킨다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 취득한 트랜스포트 스트림을 버퍼링하여, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독된 파일 데이터를 버퍼링하여, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
다음으로, 이와 같은 구성의 비디오 프로세서(1332)의 동작 예에 대하여 설명한다. 예를 들어, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 비디오 신호는, 비디오 입력 처리부(1401)에 있어서 4:2:2Y/Cb/Cr 방식 등의 소정의 방식의 디지털 화상 데이터로 변환되고, 프레임 메모리(1405)에 순차 기입된다. 이 디지털 화상 데이터는, 제1 화상 확대 축소부(1402) 또는 제2 화상 확대 축소부(1403)로 판독되어, 4:2:0Y/Cb/Cr 방식 등의 소정의 방식으로의 포맷 변환 및 확대 축소 처리가 행해지고, 다시 프레임 메모리(1405)에 기입된다. 이 화상 데이터는, 인코드·디코드 엔진(1407)에 의해 부호화되고, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 기입된다.
또한, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 오디오 신호는, 오디오 인코더(1410)에 의해 부호화되고, 오디오 스트림으로서, 오디오 ES 버퍼(1409A)에 기입된다.
비디오 ES 버퍼(1408A)의 비디오 스트림과, 오디오 ES 버퍼(1409A)의 오디오 스트림은, 다중화부(MUX)(1412)에 판독되어 다중화되고, 트랜스포트 스트림 혹은 파일 데이터 등으로 변환된다. 다중화부(MUX)(1412)에 의해 생성된 트랜스포트 스트림은, 스트림 버퍼(1414)로 버퍼된 후, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로 출력된다. 또한, 다중화부(MUX)(1412)에 의해 생성된 파일 데이터는, 스트림 버퍼(1414)로 버퍼된 후, 예를 들어 커넥티비티(1321) 등으로 출력되고, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로부터 비디오 프로세서(1332)에 입력된 트랜스포트 스트림은, 스트림 버퍼(1414)로 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 또한, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독되고, 비디오 프로세서(1332)에 입력된 파일 데이터는, 스트림 버퍼(1414)로 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 즉, 비디오 프로세서(1332)에 입력된 트랜스포트 스트림 또는 파일 데이터는, 역다중화부(DMUX)(1413)에 의해 비디오 스트림과 오디오 스트림으로 분리된다.
오디오 스트림은, 오디오 ES 버퍼(1409B)를 통해 오디오 디코더(1411)에 공급되고, 복호되어 오디오 신호가 재생된다. 또한, 비디오 스트림은, 비디오 ES 버퍼(1408B)에 기입된 후, 인코드·디코드 엔진(1407)에 의해 순차 판독되어 복호되어 프레임 메모리(1405)에 기입된다. 복호된 화상 데이터는, 제2 화상 확대 축소부(1403)에 의해 확대 축소 처리되어, 프레임 메모리(1405)에 기입된다. 그리고, 복호된 화상 데이터는, 비디오 출력 처리부(1404)에 판독되어, 4:2:2Y/Cb/Cr 방식 등의 소정의 방식으로 포맷 변환되고, 또한 아날로그 신호로 변환되어, 비디오 신호가 재생 출력된다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 인코드·디코드 엔진(1407)에, 전술한 각 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 인코드·디코드 엔진(1407)이, 전술한 각 실시 형태에 따른 화상 부호화 장치의 기능을 갖도록 하면 된다. 또한, 예를 들어 인코드·디코드 엔진(1407)이, 전술한 각 실시 형태에 따른 비트 스트림 결합 장치의 기능을 갖도록 해도 된다. 예를 들어, 인코드·디코드 엔진(1407)이, 제2 실시 형태 내지 제4 실시 형태에 있어서 설명한 방법에 의해 스마트 렌더링 편집을 행하여, 비트 스트림끼리를 결합할 수 있도록 해도 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 도 1 내지 도 31을 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 인코드·디코드 엔진(1407)에 있어서, 본 기술(즉, 전술한 각 실시 형태에 따른 화상 부호화 장치나 비트 스트림 결합 장치의 기능)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되며, 그들 양쪽에 의해 실현하도록 해도 된다.
<비디오 프로세서의 다른 구성예>
도 39는, 본 기술을 적용한 비디오 프로세서(1332)의 개략적인 구성의 다른 예를 나타내고 있다. 도 39의 예의 경우, 비디오 프로세서(1332)는, 비디오 데이터를 소정의 방식으로 부호화·복호하는 기능을 갖는다.
보다 구체적으로는, 도 39에 도시된 바와 같이, 비디오 프로세서(1332)는, 제어부(1511), 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 내부 메모리(1515)를 갖는다. 또한, 비디오 프로세서(1332)는, 코덱 엔진(1516), 메모리 인터페이스(1517), 다중화·역다중화부(MUX DMUX)(1518), 네트워크 인터페이스(1519), 및 비디오 인터페이스(1520)를 갖는다.
제어부(1511)는, 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 코덱 엔진(1516) 등, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어한다.
도 39에 도시된 바와 같이, 제어부(1511)는, 예를 들어 메인 CPU(1531), 서브 CPU(1532) 및 시스템 컨트롤러(1533)를 갖는다. 메인 CPU(1531)는, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어하기 위한 프로그램 등을 실행한다. 메인 CPU(1531)는, 그 프로그램 등에 따라서 제어 신호를 생성하고, 각 처리부에 공급한다(즉, 각 처리부의 동작을 제어함). 서브 CPU(1532)는, 메인 CPU(1531)의 보조적인 역할을 한다. 예를 들어, 서브 CPU(1532)는, 메인 CPU(1531)가 실행하는 프로그램 등의 자 프로세스나 서브루틴 등을 실행한다. 시스템 컨트롤러(1533)는, 메인 CPU(1531) 및 서브 CPU(1532)가 실행하는 프로그램을 지정하는 등, 메인 CPU(1531) 및 서브 CPU(1532)의 동작을 제어한다.
디스플레이 인터페이스(1512)는, 제어부(1511)의 제어 하에, 화상 데이터를 예를 들어 커넥티비티(1321) 등으로 출력한다. 예를 들어, 디스플레이 인터페이스(1512)는, 디지털 데이터의 화상 데이터를 아날로그 신호로 변환하고, 재생된 비디오 신호로서 또는 디지털 데이터의 화상 데이터인 채로, 커넥티비티(1321)의 모니터 장치 등으로 출력한다.
디스플레이 엔진(1513)은, 제어부(1511)의 제어 하에, 화상 데이터에 대하여 그 화상을 표시시키는 모니터 장치 등의 하드웨어 스펙에 맞추도록, 포맷 변환, 사이즈 변환, 색 영역 변환 등의 각종 변환 처리를 행한다.
화상 처리 엔진(1514)은, 제어부(1511)의 제어 하에, 화상 데이터에 대하여 예를 들어 화질 개선을 위한 필터 처리 등, 소정의 화상 처리를 실시한다.
내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 코덱 엔진(1516)에 의해 공용되는, 비디오 프로세서(1332)의 내부에 설치된 메모리이다. 내부 메모리(1515)는, 예를 들어 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 코덱 엔진(1516)의 사이에서 행해지는 데이터의 수수에 이용된다. 예를 들어, 내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 또는 코덱 엔진(1516)로부터 공급되는 데이터를 저장하고, 필요에 따라서(예를 들어, 요구에 따라), 그 데이터를, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 또는 코덱 엔진(1516)에 공급한다. 이 내부 메모리(1515)는, 어떠한 기억 디바이스에 의해 실현하도록 해도 되지만, 일반적으로 블록 단위의 화상 데이터나 파라미터 등과 같은 소용량의 데이터 저장에 이용하는 경우가 많으므로, 예를 들어 SRAM(Static Random Access Memory)과 같은 비교적(예를 들어 외부 메모리(1312)와 비교하여) 소용량이지만 응답 속도가 고속의 반도체 메모리에 의해 실현하는 것이 바람직하다.
코덱 엔진(1516)은, 화상 데이터의 부호화나 복호에 관한 처리를 행한다. 이 코덱 엔진(1516)이 대응하는 부호화· 복호의 방식은 임의이며, 그 수는 1개여도 되고, 복수여도 된다. 예를 들어, 코덱 엔진(1516)은 복수의 부호화·복호 방식의 코덱 기능을 구비하고, 그 중에서 선택된 것으로 화상 데이터의 부호화 혹은 부호화 데이터의 복호를 행하도록 해도 된다.
도 39에 도시된 예에 있어서, 코덱 엔진(1516)은, 코덱에 관한 처리의 기능 블록으로서, 예를 들어 MPEG-2 Video(1541), AVC/H.264(1542), HEVC/H. 265(1543), HEVC/H.265(Scalable)(1544), HEVC/H.265(Multi-view)(1545), 및 MPEG-DASH(1551)를 갖는다.
MPEG-2 Video(1541)는, 화상 데이터를 MPEG-2 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. AVC/H.264(1542)는, 화상 데이터를 AVC 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. HEVC/H.265(1543)는, 화상 데이터를 HEVC 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. HEVC/H.265(Scalable)(1544)는, 화상 데이터를 HEVC 방식으로 스케일러블 부호화하거나 스케일러블 복호하거나 하는 기능 블록이다. HEVC/H.265(Multi-view) (1545)는, 화상 데이터를 HEVC 방식으로 다시점 부호화하거나 다시점 복호하거나 하는 기능 블록이다.
MPEG-DASH(1551)는, 화상 데이터를 MPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP) 방식으로 송수신하는 기능 블록이다. MPEG-DASH는, HTTP(HyperText Transfer Protocol)를 사용해서 비디오의 스트리밍을 행하는 기술이며, 미리 준비된 해상도 등이 서로 상이한 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택하여 전송하는 것을 특징의 하나로 한다. MPEG-DASH(1551)는, 규격에 준거하는 스트림의 생성이나 그 스트림의 전송 제어 등을 행하고, 화상 데이터의 부호화·복호에 대해서는, 전술한 MPEG-2 Video(1541) 내지 HEVC/H.265(Multi-view)(1545)를 이용한다.
메모리 인터페이스(1517)는, 외부 메모리(1312)용 인터페이스이다. 화상 처리 엔진(1514)이나 코덱 엔진(1516)으로부터 공급되는 데이터는, 메모리 인터페이스(1517)를 통해 외부 메모리(1312)에 공급된다. 또한, 외부 메모리(1312)로부터 판독된 데이터는, 메모리 인터페이스(1517)를 통해 비디오 프로세서(1332)(화상 처리 엔진(1514) 또는 코덱 엔진(1516))에 공급된다.
다중화·역다중화부(MUX DMUX)(1518)는, 부호화 데이터의 비트 스트림, 화상 데이터, 비디오 신호 등, 화상에 관한 각종 데이터의 다중화나 역다중화를 행한다. 이 다중화·역다중화의 방법은 임의이다. 예를 들어, 다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 복수의 데이터를 하나로 통합할 뿐만 아니라, 소정의 헤더 정보 등을 그 데이터에 부가할 수도 있다. 또한, 역다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 1개의 데이터를 복수로 분할할 뿐만 아니라, 분할한 각 데이터에 소정의 헤더 정보 등을 부가할 수도 있다. 즉, 다중화·역다중화부(MUX DMUX)(1518)는, 다중화·역다중화에 의해 데이터의 포맷을 변환할 수 있다. 예를 들어, 다중화·역다중화부(MUX DMUX)(1518)는, 비트 스트림을 다중화함으로써, 전송용의 포맷의 비트 스트림인 트랜스포트 스트림이나, 기록용 파일 포맷의 데이터(파일 데이터)로 변환할 수 있다. 물론, 역다중화에 의해 그 역변환도 가능하다.
네트워크 인터페이스(1519)는, 예를 들어 브로드밴드 모뎀(1333)이나 커넥티비티(1321) 등을 위한 인터페이스이다. 비디오 인터페이스(1520)는, 예를 들어 커넥티비티(1321)나 카메라(1322) 등을 위한 인터페이스이다.
다음으로, 이와 같은 비디오 프로세서(1332)의 동작 예에 대하여 설명한다. 예를 들어, 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로부터 트랜스포트 스트림을 수신하면, 그 트랜스포트 스트림은, 네트워크 인터페이스(1519)를 통해 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 예를 들어 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되고, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해져서, 디스플레이 인터페이스(1512)를 통해 예를 들어 커넥티비티(1321) 등에 공급되고, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되고, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 파일 데이터로 변환되고, 비디오 인터페이스(1520)를 통해 예를 들어 커넥티비티(1321) 등으로 출력되어, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321) 등에 의해 도시하지 않은 기록 매체로부터 판독된, 화상 데이터가 부호화된 부호화 데이터의 파일 데이터는, 비디오 인터페이스(1520)를 통해 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되고, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해져서, 디스플레이 인터페이스(1512)를 통해 예를 들어 커넥티비티(1321) 등에 공급되고, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되고, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 트랜스포트 스트림으로 변환되고, 네트워크 인터페이스(1519)를 통해 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급되어 도시하지 않은 다른 장치로 전송된다.
또한, 비디오 프로세서(1332) 내의 각 처리부의 사이에서의 화상 데이터나 그 밖의 데이터의 수수는, 예를 들어 내부 메모리(1515)나 외부 메모리(1312)를 이용해서 행해진다. 또한, 파워 매니지먼트 모듈(1313)은 예를 들어 제어부(1511)에의 전력 공급을 제어한다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 코덱 엔진(1516)에, 전술한 각 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 코덱 엔진(1516)이, 전술한 각 실시 형태에 따른 화상 부호화 장치를 실현하는 기능 블록을 갖도록 하면 된다. 또한, 예를 들어 코덱 엔진(1516)이, 전술한 각 실시 형태에 따른 비트 스트림 결합 장치의 기능을 갖도록 해도 된다. 예를 들어, 코덱 엔진(1516)이, 제2 실시 형태 내지 제4 실시 형태에 있어서 설명한 방법으로 스마트 렌더링 편집을 행하여, 비트 스트림끼리를 결합할 수 있도록 해도 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는 도 1 내지 도 31을 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 코덱 엔진(1516)에 있어서, 본 기술(즉, 전술한 각 실시 형태에 따른 화상 부호화 장치나 비트 스트림 결합 장치의 기능)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되며, 그들 양쪽에 의해 실현하도록 해도 된다.
이상으로 비디오 프로세서(1332)의 구성을 2가지 예시하였지만, 비디오 프로세서(1332)의 구성은 임의이며, 전술한 2가지 예 이외의 것이어도 된다. 또한, 이 비디오 프로세서(1332)는, 1개의 반도체 칩으로서 구성되도록 해도 되지만, 복수의 반도체 칩으로서 구성되도록 해도 된다. 예를 들어, 복수의 반도체를 적층하는 3차원 적층 LSI로 하여도 된다. 또한, 복수의 LSI에 의해 실현되도록 해도 된다.
<장치에의 적용예>
비디오 세트(1300)는, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 세트(1300)는 텔레비전 장치(900)(도 33), 휴대 전화기(920)(도 34), 기록 재생 장치(940)(도 35), 촬상 장치(960)(도 36) 등에 내장할 수 있다. 비디오 세트(1300)를 내장함으로써, 그 장치는, 도 1 내지 도 31을 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 전술한 비디오 세트(1300)의 각 구성의 일부이더라도, 비디오 프로세서(1332)를 포함하는 것이면, 본 기술을 적용한 구성으로서 실시할 수 있다. 예를 들어, 비디오 프로세서(1332)만을 본 기술을 적용한 비디오 프로세서로서 실시할 수 있다. 또한, 예를 들어 전술한 바와 같이 점선(1341)에 의해 나타내는 프로세서나 비디오 모듈(1311) 등을, 본 기술을 적용한 프로세서나 모듈 등으로서 실시할 수 있다. 또한, 예를 들어 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313) 및 프론트엔드 모듈(1314)을 조합하고, 본 기술을 적용한 비디오 유닛(1361)으로서 실시할 수도 있다. 어느 쪽의 구성의 경우에도, 도 1 내지 도 31을 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
즉, 비디오 프로세서(1332)를 포함하는 것이면 어떠한 구성이더라도, 비디오 세트(1300)의 경우와 마찬가지로, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 프로세서(1332), 점선(1341)에 의해 나타내는 프로세서, 비디오 모듈(1311), 또는 비디오 유닛(1361)을 텔레비전 장치(900)(도 33), 휴대 전화기(920)(도 34), 기록 재생 장치(940)(도 35), 촬상 장치(960)(도 36) 등에 내장할 수 있다. 그리고, 본 기술을 적용한 어느 한쪽의 구성을 내장함으로써, 그 장치는, 비디오 세트(1300)의 경우와 마찬가지로, 도 1 내지 도 31을 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 본 명세서에서는, 각종 정보가, 부호화 스트림에 다중화되어, 부호화측으로부터 복호측으로 전송되는 예에 대하여 설명하였다. 그러나, 이들 정보를 전송하는 방법은 이러한 예에 한정되지 않는다. 예를 들어, 이들 정보는, 부호화 비트 스트림에 다중화되지 않고, 부호화 비트 스트림과 관련지어진 별개의 데이터로서 전송되거나 또는 기록되어도 된다. 여기서, 「관련짓는다」라는 용어는, 비트 스트림에 포함되는 화상(슬라이스 혹은 블록 등, 화상의 일부이어도 됨)과 당해 화상에 대응하는 정보를 복호 시에 링크시킬 수 있도록 함을 의미한다. 즉, 정보는, 화상(또는 비트 스트림)과는 다른 전송로 상에서 전송되어도 된다. 또한, 정보는, 화상(또는 비트 스트림)과는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에리어)에 기록되어도 된다. 또한, 정보와 화상(또는 비트 스트림)은, 예를 들어 복수 프레임, 1프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어져도 된다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 화상 데이터의 처리 대상인 커런트 픽처의, 위치에 관한 정보와 참조에 관한 정보에 기초하여, 가상 참조 디코더에 관한 헤더 정보를 설정하는 설정부와,
상기 화상 데이터를 부호화하고, 상기 화상 데이터의 부호화 데이터와, 상기 설정부에 의해 설정된 헤더 정보를 포함하는 비트 스트림을 생성하는 부호화부
를 구비하는 화상 부호화 장치.
(2) 상기 설정부는, 널 유닛 타입을 나타내는 정보를 설정하는, (1), (3) 내지 (9) 중 어느 하나에 기재된 화상 부호화 장치.
(3) 상기 설정부는, 비트 스트림의 결합을 나타내는 정보를 더 설정하는, (1), (2), (4) 내지 (9) 중 어느 하나에 기재된 화상 부호화 장치.
(4) 상기 설정부는, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 더 설정하는, (1) 내지 (3), (5) 내지 (9) 중 어느 하나에 기재된 화상 부호화 장치.
(5) 상기 설정부는, 상기 커런트 픽처가 선두의 픽처인 경우, 상기 널 유닛 타입을 나타내는 정보를, IDR 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 참으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는, (1) 내지 (4), (6) 내지 (9) 중 어느 하나에 기재된 화상 부호화 장치.
(6) 상기 설정부는, 상기 커런트 픽처가 종단부의 픽처인 경우, 상기 널 유닛 타입을 나타내는 정보를, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는, (1) 내지 (5), (7) 내지 (9) 중 어느 하나에 기재된 화상 부호화 장치.
(7) 상기 설정부는, 상기 커런트 픽처가, 선두도 종단부도 아니며, 또한 참조 픽처인 경우, 상기 널 유닛 타입을 나타내는 정보를, 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는, (1) 내지 (6), (8), (9) 중 어느 하나에 기재된 화상 부호화 장치.
(8) 상기 설정부는, 상기 커런트 픽처가, 선두도 종단부도 아니며, 또한 참조 픽처가 아닌 경우, 상기 널 유닛 타입을 나타내는 정보를, 템포럴 서브레이어가 아닌 비참조 픽처임을 나타내는 값으로 설정하고, 상기 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는, (1) 내지 (7), (9) 중 어느 하나에 기재된 화상 부호화 장치.
(9) 상기 커런트 픽처의 위치에 관한 정보와, 상기 가상 참조 디코더의 조정을 행하는 구간인지를 나타내는 정보와, 발생 부호량을 나타내는 정보에 기초하여, 부호량의 목표값을 설정하는 레이트 제어부를 더 구비하는, (1) 내지 (8) 중 어느 하나에 기재된 화상 부호화 장치.
(10) 화상 데이터의 처리 대상인 커런트 픽처의, 위치에 관한 정보와 참조에 관한 정보에 기초하여, 가상 참조 디코더에 관한 헤더 정보를 설정하고,
상기 화상 데이터를 부호화하고, 상기 화상 데이터의 부호화 데이터와, 설정된 헤더 정보를 포함하는 비트 스트림을 생성하는, 화상 부호화 방법.
(11) 화상 데이터가 부호화된 부호화 데이터를 포함하는 비트 스트림에 포함되는, 가상 참조 디코더에 관한 헤더 정보를, 상기 비트 스트림을 다른 상기 비트 스트림과 결합할 수 있도록 갱신하는 갱신부
를 구비하는 화상 처리 장치.
(12) 상기 갱신부는, 결합되는 비트 스트림의 종단부의 부호화 완료 픽처 버퍼의 위치와, 결합하는 비트 스트림의 선두의 상기 부호화 완료 픽처 버퍼의 위치와의 관계가 적절해지도록, 상기 비트 스트림을 재부호화하는, (11), (13) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(13) 상기 갱신부는, 상기 비트 스트림의 종단부의 널 유닛 타입을 나타내는 정보를, 프레비어스 논디스카더블 픽처에 해당하는 값으로 갱신하는, (11), (12), (14) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(14) 상기 갱신부는, 부호화 완료 픽처 버퍼로부터의 판독에 관한 정보를, 비트 스트림의 결합에 적합한 값으로 갱신하는, (11) 내지 (13), (15) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(15) 상기 갱신부는, 상기 비트 스트림의 종단부의 프레비어스 논디스카더블 픽처를 탐색하고, 탐색 결과에 기초하여, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 갱신하는, (11) 내지 (14), (16) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(16) 상기 갱신부는, 상기 비트 스트림의 종단부의, 부호화 완료 픽처 버퍼 및 복호 완료 픽처 버퍼로부터의 판독에 관한 정보를, 비트 스트림의 결합에 적합한 값으로 갱신하는, (11) 내지 (15), (17) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(17) 상기 갱신부는, 상기 비트 스트림의 선두의, 부호화 완료 픽처 버퍼 및 복호 완료 픽처 버퍼로부터의 판독에 관한 정보를, 비트 스트림의 결합에 적합한 값으로 갱신하는, (11) 내지 (16), (18), (19) 중 어느 하나에 기재된 화상 처리 장치.
(18) 상기 갱신부는, 결합하는 비트 스트림의 선두의 액세스 유닛의 부호화 완료 픽처 버퍼로부터의 판독 지연을 나타내는 정보를, 결합되는 비트 스트림의 종단부의 부호화 완료 픽처 버퍼로부터의 판독 지연을 나타내는 정보에 기초하는 값으로 갱신하는, (11) 내지 (17), (19) 중 어느 하나에 기재된 화상 처리 장치.
(19) 상기 갱신부에 의해 갱신된 상기 비트 스트림을 다른 비트 스트림과 결합하는 결합부를 더 구비하는, (11) 내지 (18) 중 어느 하나에 기재된 화상 처리 장치.
(20) 화상 데이터가 부호화된 부호화 데이터를 포함하는 비트 스트림에 포함되는, 가상 참조 디코더에 관한 헤더 정보를, 상기 비트 스트림을 다른 상기 비트 스트림과 결합할 수 있도록 갱신하는
화상 처리 방법.
100: 화상 부호화 장치
125: 레이트 제어부
126: nal_unit_type 판정부
141: HRD 트레이스부
142: Target Bit 결정부
200: 비트 스트림 결합 장치
211: 버퍼 판정부
212: nal_unit_type 재기입부
213: Buffering Period 재기입부
214: 비트 스트림 결합부
300: 비트 스트림 결합 장치
312: prevNonDiscardablePic 탐색부
400: 비트 스트림 결합 장치
413: prevCpbRemovalDelay 탐색부
414: Buffering Period 재기입부
415: Picture Timing SEI 재기입부

Claims (20)

  1. 화상 데이터의 처리 대상인 커런트 픽처가 선두의 픽처인 경우, 널 유닛 타입을 나타내는 정보를 IDR 픽처임을 나타내는 값으로 설정하고, 상기 화상 데이터를 부호화한 비트 스트림의 결합을 나타내는 정보를 참으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는 설정부와,
    상기 화상 데이터를 부호화하고, 상기 설정부에 의해 설정된 상기 널 유닛 타입을 나타내는 정보와 상기 비트 스트림의 결합을 나타내는 정보와 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 포함하는 상기 비트 스트림을 생성하는 부호화부
    를 구비하는 화상 부호화 장치.
  2. 제1항에 있어서, 상기 커런트 픽처의 위치에 관한 정보와, 가상 참조 디코더의 조정을 행하는 구간인지를 나타내는 정보와, 발생 부호량을 나타내는 정보에 기초하여, 부호량의 목표값을 설정하는 레이트 제어부를 더 구비하는
    화상 부호화 장치.
  3. 화상 데이터의 처리 대상인 커런트 픽처가 선두의 픽처인 경우, 널 유닛 타입을 나타내는 정보를 IDR 픽처임을 나타내는 값으로 설정하고, 상기 화상 데이터를 부호화한 비트 스트림의 결합을 나타내는 정보를 참으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하고,
    상기 화상 데이터를 부호화하고, 설정된 상기 널 유닛 타입을 나타내는 정보와 상기 비트 스트림의 결합을 나타내는 정보와 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 포함하는 비트 스트림을 생성하는
    화상 부호화 방법.
  4. 컴퓨터를,
    화상 데이터의 처리 대상인 커런트 픽처가 선두의 픽처인 경우, 널 유닛 타입을 나타내는 정보를 IDR 픽처임을 나타내는 값으로 설정하고, 상기 화상 데이터를 부호화한 비트 스트림의 결합을 나타내는 정보를 참으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는 설정부와,
    상기 화상 데이터를 부호화하고, 상기 설정부에 의해 설정된 상기 널 유닛 타입을 나타내는 정보와 상기 비트 스트림의 결합을 나타내는 정보와 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 포함하는 상기 비트 스트림을 생성하는 부호화부로서
    기능시키는 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체.
  5. 화상 데이터의 처리 대상인 커런트 픽처가 종단부의 픽처인 경우, 널 유닛 타입을 나타내는 정보를 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값으로 설정하고, 상기 화상 데이터를 부호화한 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는 설정부와,
    상기 화상 데이터를 부호화하고, 상기 설정부에 의해 설정된 상기 널 유닛 타입을 나타내는 정보와 상기 비트 스트림의 결합을 나타내는 정보와 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보 헤더 정보를 포함하는 상기 비트 스트림을 생성하는 부호화부
    를 구비하는 화상 부호화 장치.
  6. 화상 데이터의 처리 대상인 커런트 픽처가 종단부의 픽처인 경우, 널 유닛 타입을 나타내는 정보를 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값으로 설정하고, 상기 화상 데이터를 부호화한 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하고,
    상기 화상 데이터를 부호화하고, 설정된 상기 널 유닛 타입을 나타내는 정보와 상기 비트 스트림의 결합을 나타내는 정보와 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보 헤더 정보를 포함하는 상기 비트 스트림을 생성하는
    화상 부호화 방법.
  7. 컴퓨터를,
    화상 데이터의 처리 대상인 커런트 픽처가 종단부의 픽처인 경우, 널 유닛 타입을 나타내는 정보를 템포럴 서브레이어가 아닌, 참조되는 트레일링 픽처임을 나타내는 값으로 설정하고, 상기 화상 데이터를 부호화한 비트 스트림의 결합을 나타내는 정보를 거짓으로 설정하고, 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보를 최솟값으로 설정하는 설정부와,
    상기 화상 데이터를 부호화하고, 상기 설정부에 의해 설정된 상기 널 유닛 타입을 나타내는 정보와 상기 비트 스트림의 결합을 나타내는 정보와 상기 비트 스트림의 종단부의 액세스 유닛과 프레비어스 논디스카더블 픽처와의 위치의 차를 나타내는 정보 헤더 정보를 포함하는 상기 비트 스트림을 생성하는 부호화부로서 기능시키는 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020167021257A 2014-03-07 2015-02-24 화상 부호화 장치 및 방법과 화상 처리 장치 및 방법 KR102307283B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014045741 2014-03-07
JPJP-P-2014-045741 2014-03-07
PCT/JP2015/055142 WO2015133325A1 (ja) 2014-03-07 2015-02-24 画像符号化装置および方法、並びに、画像処理装置および方法

Publications (2)

Publication Number Publication Date
KR20160130990A KR20160130990A (ko) 2016-11-15
KR102307283B1 true KR102307283B1 (ko) 2021-09-30

Family

ID=54055134

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021257A KR102307283B1 (ko) 2014-03-07 2015-02-24 화상 부호화 장치 및 방법과 화상 처리 장치 및 방법

Country Status (6)

Country Link
US (2) US10375406B2 (ko)
EP (2) EP3518541B1 (ko)
JP (3) JP6468279B2 (ko)
KR (1) KR102307283B1 (ko)
CN (2) CN111432209A (ko)
WO (1) WO2015133325A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015133325A1 (ja) * 2014-03-07 2015-09-11 ソニー株式会社 画像符号化装置および方法、並びに、画像処理装置および方法
MX2022003561A (es) * 2019-09-24 2022-06-14 Huawei Tech Co Ltd Gestión de mensajes de sei de anidamiento escalable.
CN112839226B (zh) * 2019-11-25 2024-02-23 深信服科技股份有限公司 一种图像编码、解码方法、相关装置及存储介质
US20220408098A1 (en) * 2021-06-18 2022-12-22 Tencent America LLC Block-wise entropy coding method in neural image compression

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003052010A (ja) * 2001-05-30 2003-02-21 Victor Co Of Japan Ltd Mpegデータ記録方法
US20130243080A1 (en) * 2012-03-13 2013-09-19 Dolby Laboratories Licensing Corporation Overlapped Rate Control For Video Splicing Applications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3668556B2 (ja) * 1996-06-13 2005-07-06 ソニー株式会社 ディジタル信号符号化方法
US8615038B2 (en) * 2004-12-06 2013-12-24 Nokia Corporation Video coding, decoding and hypothetical reference decoder
JP4229149B2 (ja) 2006-07-13 2009-02-25 ソニー株式会社 ビデオ信号処理装置およびビデオ信号処理方法、ビデオ信号符号化装置およびビデオ信号符号化方法、並びにプログラム
JP2008131147A (ja) 2006-11-17 2008-06-05 Sony Corp 画像処理装置および方法、並びにプログラム
KR101455161B1 (ko) 2007-01-08 2014-10-28 톰슨 라이센싱 비디오 스트림 스플라이싱을 위한 방법 및 장치
JP5686594B2 (ja) * 2007-04-12 2015-03-18 トムソン ライセンシングThomson Licensing スケーラブル・ビデオ符号化のためのビデオ・ユーザビリティ情報(vui)用の方法及び装置
EP2392138A4 (en) * 2009-01-28 2012-08-29 Nokia Corp METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING
US9661341B2 (en) * 2013-01-07 2017-05-23 Microsoft Technology Licensing, Llc Syntax and semantics for buffering information to simplify video splicing
WO2015133325A1 (ja) * 2014-03-07 2015-09-11 ソニー株式会社 画像符号化装置および方法、並びに、画像処理装置および方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003052010A (ja) * 2001-05-30 2003-02-21 Victor Co Of Japan Ltd Mpegデータ記録方法
US20130243080A1 (en) * 2012-03-13 2013-09-19 Dolby Laboratories Licensing Corporation Overlapped Rate Control For Video Splicing Applications

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Adarsh K. Ramasubramonian et al., "HEVC version 1 (corrigendum): Derivation of CPB removal time", (JCTVC-N0094 version 2), JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 14th Meeting: Vienna, AT,
Gary J. Sullivan et al., "HRD issue for bitstream splicing", (JCTVC-L0328 v6), JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG1112th Meeting: Geneva, CH, (2013.01.20.)*
ITU-T, "SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video", TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU H.265
Ye-Kui Wang et al., "High Efficiency Video Coding (HEVC) Defect Report 3", (JCTVC-P1003), JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 16th Meeting: San Jose, US, (2014.02.08.)*

Also Published As

Publication number Publication date
EP3116230A1 (en) 2017-01-11
EP3116230A4 (en) 2017-10-18
CN106063275A (zh) 2016-10-26
US20190281314A1 (en) 2019-09-12
JP2019071666A (ja) 2019-05-09
KR20160130990A (ko) 2016-11-15
JPWO2015133325A1 (ja) 2017-04-06
CN111432209A (zh) 2020-07-17
JP6646883B2 (ja) 2020-02-14
JP2019071665A (ja) 2019-05-09
JP6468279B2 (ja) 2019-02-13
US20170013267A1 (en) 2017-01-12
US10375406B2 (en) 2019-08-06
CN106063275B (zh) 2020-05-19
EP3116230B1 (en) 2019-05-08
EP3518541A1 (en) 2019-07-31
WO2015133325A1 (ja) 2015-09-11
EP3518541B1 (en) 2021-01-20
US10764594B2 (en) 2020-09-01
JP6690741B2 (ja) 2020-04-28

Similar Documents

Publication Publication Date Title
US11095879B2 (en) Image encoding device and method, and image decoding device and method
US10779009B2 (en) Image decoding device and method
JP6646883B2 (ja) 画像符号化装置および方法、並びに、プログラム
RU2653308C2 (ru) Устройство и способ обработки изображений
US20170295369A1 (en) Image processing device and method
US20180098069A1 (en) Image processing device and method
US10893269B2 (en) Image processing device and method
AU2019246907B2 (en) Image coding apparatus and method, and image decoding apparatus and method

Legal Events

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