KR101639965B1 - 복호 장치 및 복호 방법 - Google Patents

복호 장치 및 복호 방법 Download PDF

Info

Publication number
KR101639965B1
KR101639965B1 KR1020157031715A KR20157031715A KR101639965B1 KR 101639965 B1 KR101639965 B1 KR 101639965B1 KR 1020157031715 A KR1020157031715 A KR 1020157031715A KR 20157031715 A KR20157031715 A KR 20157031715A KR 101639965 B1 KR101639965 B1 KR 101639965B1
Authority
KR
South Korea
Prior art keywords
value
unit
weighting coefficient
range
prediction
Prior art date
Application number
KR1020157031715A
Other languages
English (en)
Other versions
KR20150129065A (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 KR20150129065A publication Critical patent/KR20150129065A/ko
Application granted granted Critical
Publication of KR101639965B1 publication Critical patent/KR101639965B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/00587
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/547Motion estimation performed in a transform domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

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

Abstract

실시형태에 따른 암호화 방법은 도출 단계와 암호화 단계를 포함한다. 도출 단계는 참조 화상에 가중 계수를 승산하여 화소치 변화의 모션 보상 예측을 행하기 위해 사용되는 가중 계수의 거칠기를 표시하는 고정 소수점 정밀도에 기초하여 가중 계수의 기준치인 제1 기준치를 도출한다. 암호화 단계는 가중 계수와 상기 제1 기준치 간의 차분치인 제1 차분치를 암호화한다. 상기 가중 계수는 상기 제1 기준치를 대략 중심으로 한 미리 정해진 비트 정밀도의 범위에 포함된다.

Description

복호 장치 및 복호 방법{DECODING DEVICE AND DECODING METHOD}
본 발명은 암호화 방법, 복호 방법, 암호화 장치 및 복호 장치에 관한 것이다.
최근, 부호화 효율을 현저하게 개선한 화상 암호화 방법이 ITU-T(International Telecommunication Union Telecommunication Standardization Sector, 국제 전기통신 연합 전기통신 표준화 부문) 및 ISO(International Organization for Standardization, 국제 표준화 기구)/IEC(International Electrotechnical Commission, 국제 전기기술 위원회)의 공동으로 ITU-T REC. H.264 및 ISO/IEC 14496-10(이하, "H.264"라고 부른다)으로서 권고되고 있다.
H.264에는 부호화 화상을 참조 화상으로서 이용하여 분수 정밀도의 모션(motion) 보상 예측을 행함으로써 시간 방향의 용장성을 제거하여 높은 부호화 효율을 달성하는 인터 예측(inter-prediction) 부호화 방식이 개시되어 있다.
또한, 페이드(fading) 또는 디졸브(dissolving) 효과를 포함한 동화상이 ISO/IEC MPEG(Moving Picture Experts Group, 동영상 전문가 그룹)-1, 2, 4에 따른 인터 예측 부호화 방식의 효율보다 더 높은 효율로 암호화되는 방식이 제안되고 있다. 이 방식에서는 시간 방향으로 명도의 변화를 예측하기 위한 프레임으로서 휘도 및 2개의 색차를 가진 입력 동화상에 대하여 분수 정밀도의 모션 보상 예측이 행하여진다. 그 다음에, 참조 화상, 휘도, 각각의 휘도 및 2개의 색차에 대한 가중 계수, 각각의 휘도 및 2개의 색차에 대한 오프셋 등을 이용함으로써, 예측 화상이 가중 계수와 승산되고 오프셋이 그 결과치에 가산된다. 가중 계수는 고정 소수점 정밀도를 나타내는 파라미터를 이용하여 미리 정해진 정밀도를 가진 분수를 나타낼 수 있고, 화상들 간의 화소치 변화에 대한 가중된 모션 보상 예측이 더욱 정교한 정밀도로 행하여질 수 있다.
특허 문헌 1 : 일본 특허 공개 제2004-7377호 공보
전술한 종래 기술에서는 참조 화상, 가중 계수, 오프셋 등이 인덱스로서 암호화되지만, 인덱스는 미리 정해진 비트 정밀도로 표시되도록 규정되고, 따라서 가중 계수가 표시되지 못하는 경우가 있다. 본 발명의 목적은 가중 계수를 미리 정해진 비트 정밀도로 표시하면서 부호화 효율을 개선할 수 있는 암호화 방법, 복호 방법, 암호화 장치 및 복호 장치를 제공하는 데에 있다.
실시형태에 따른 암호화 장치(encoding device)는 도출부와 암호화부를 포함한다. 도출부는 참조 화상에 가중 계수를 승산함으로써 화소치의 모션 보상 예측을 행하기 위해 사용되는 가중 계수의 거칠기(roughness)를 표시하는 고정 소수점 정밀도에 기초하여 제1 기준치를 도출한다. 암호화부는 가중 계수와 상기 제1 기준치 간의 차분치인 제1 차분치, 및고정 소수점 정밀도를 암호화한다. 상기 제1 차분치는 미리 정해진 제1 값을 대략 중심으로 한 미리 정해진 비트 정밀도의 제1 범위에 포함된다.
도 1은 제1 실시형태에 따른 암호화 장치의 예를 보인 블록도이다.
도 2a는 제1 실시형태에 따른 화소 블록의 예측 부호화 순서의 예를 보인 설명도이다.
도 2b는 제1 실시형태에 따른 화소 블록의 예측 부호화 순서의 다른 예를 보인 설명도이다.
도 3a는 제1 실시형태에 따른 부호화 트리 블록의 사이즈 예를 보인 도이다.
도 3b는 제1 실시형태에 따른 부호화 트리 블록의 구체적인 예를 보인 도이다.
도 3c는 제1 실시형태에 따른 부호화 트리 블록의 다른 구체적인 예를 보인 도이다.
도 3d는 제1 실시형태에 따른 부호화 트리 블록의 다른 구체적인 예를 보인 도이다.
도 4는 제1 실시형태에 따른 예측 화상 생성부의 예를 보인 블록도이다.
도 5는 제1 실시형태에 따른 양방향 예측에 있어서 모션 보상 예측을 위한 모션 벡터들 간의 관계의 예를 보인 도이다.
도 6은 제1 실시형태에 따른 복수 프레임 모션 보상부의 예를 보인 블록도이다.
도 7은 가중 계수를 보인 참고도이다.
도 8은 H.264의 가중 계수의 선택 범위를 보인 참고도이다.
도 9는 제1 실시형태에 따른 가중 계수의 선택 범위의 예를 보인 설명도이다.
도 10a는 제1 실시형태에 따른 가중 계수의 선택 범위의 구체적인 예를 보인 설명도이다.
도 10b는 제1 실시형태에 따른 가중 계수의 선택 범위의 다른 구체적인 예를 보인 설명도이다.
도 11은 H.264의 가중 계수의 최소치 및 최대치를 보인 참고도이다.
도 12는 제1 실시형태에 따른 가중 계수의 최소치 및 최대치의 예를 보인 설명도이다.
도 13a는 제1 실시형태에 따른 WP 파라미터 정보의 예를 보인 도이다.
도 13b는 제1 실시형태에 따른 WP 파라미터 정보의 예를 보인 도이다.
도 14는 제1 실시형태에 따른 가중 계수의 선택 범위를 도출하는 처리의 예를 보인 흐름도이다.
도 15는 제1 실시형태에 따른 신택스의 예를 보인 도이다.
도 16은 제1 실시형태에 따른 픽쳐 파라미터 세트 신택스의 예를 보인 도이다.
도 17은 제1 실시형태에 따른 슬라이스 헤더 신택스의 예를 보인 도이다.
도 18은 제1 실시형태에 따른 프레드 웨이트 테이블 신택스의 예를 보인 도이다.
도 19는 제1 실시형태에 따른 신택스 요소의 값들의 관계 예를 보인 설명도이다.
도 20은 제2 실시형태에 따른 복호 장치의 구성 예를 보인 블록도이다.
도 21은 변형예 1에 따른 오프셋의 선택 범위의 예를 보인 설명도이다.
도 22는 변형예 1에 따른 오프셋의 선택 범위를 도출하는 처리의 예를 보인 흐름도이다.
도 23은 변형예 2에 따른 가중 계수의 선택 범위의 예를 보인 설명도이다.
도 24는 변형예 2에 따른 가중 계수의 선택 범위를 도출하는 처리의 예를 보인 흐름도이다.
도 25는 변형예 3에 따른 암호화 대상의 가중 계수들 간의 차분치의 범위의 예를 보인 설명도이다.
도 26은 변형예 3에 따른 신택스 요소의 값들 간의 관계 예를 보인 설명도이다.
도 27은 변형예 4에 따른 가중 계수들 간의 차분치의 범위의 예를 보인 설명도이다.
도 28은 변형예 4에 따른 복호 후 가중 계수의 선택 범위의 예를 보인 설명도이다.
도 29는 변형예 5에 따른 가중 계수들 간의 차분치의 래핑 처리의 예를 보인 흐름도이다.
도 30은 변형예 5에 따른 가중 계수의 복원 처리의 예를 보인 흐름도이다.
이하에서는 첨부 도면을 참조하여 실시형태들을 구체적으로 설명한다. 이하에서 제시하는 각 실시형태에 따른 암호화 장치 및 복호 장치는 LSI(대규모 집적) 칩, DSP(디지털 신호 프로세서), 또는 FPGA(필드 프로그래머블 게이트 어레이)와 같은 하드웨어에 의해 구현될 수 있다. 또한, 이하에서 제시하는 각 실시형태에 따른 암호화 장치 및 복호 장치는 컴퓨터가 프로그램을 실행하게 함으로써, 다시 말하면 소프트웨어에 의해 구현될 수 있다. 이하에서 제시하는 설명에서, 용어 "화상"(image)은 "영상", "화소", "화상 신호", "픽쳐"(picture) 또는 "화상 데이터" 등의 용어로 적절히 교체될 수 있다.
제1 실시형태
제1 실시형태에서는 동화상을 암호화하는 암호화 장치를 설명한다.
도 1은 제1 실시형태에 따른 암호화 장치(100)의 구성 예를 보인 블록도이다.
암호화 장치(100)는 입력 화상을 구성하는 각 프레임 또는 각 필드를 복수의 화소 블록으로 분할하고, 암호화 제어부(111)로부터 입력된 암호화 파라미터를 이용하여 상기 분할된 화소 블록의 예측 암호화를 수행하여 예측 화상을 생성한다. 그 다음에, 암호화 장치(100)는 복수의 화소 블록으로 분할된 입력 화상으로부터 예측 화상을 감산하여 예측 오차를 생성하고, 생성된 예측 오차에 대하여 직교 변환 및 양자화를 수행하고 그 다음에 엔트로피 암호화를 행함으로써 암호화 데이터를 생성하며, 생성된 암호화 데이터를 출력한다.
암호화 장치(100)는 화소 블록의 블록 사이즈와 예측 화상 생성 방법 중의 적어도 하나에 있어서 서로 다른 복수의 예측 모드를 선택적으로 적용함으로써 예측 암호화를 수행한다. 예측 화상 생성 방법은 암호화 대상 프레임 내에서 예측을 행하는 인트라 예측(intra-prediction)과 상이한 시점의 하나 이상의 참조 프레임을 이용하여 모션 보상 예측을 행하는 인터 예측(inter-prediction)을 포함한 2가지 유형으로 크게 나누어질 수 있다. 인트라 예측은 화면 내 예측, 프레임 내 예측 등으로도 부르고, 인터 예측은 화면 간 예측, 프레임 간 예측, 모션 보상 예측 등으로도 부른다.
도 2a는 제1 실시형태에 따른 화소 블록의 예측 부호화 순서의 예를 보인 설명도이다. 도 2a에 도시된 예에서, 암호화 장치(100)는 화소 블록의 상부 좌측으로부터 하부 우측을 향하여 예측 암호화를 수행한다. 따라서, 암호화 처리 대상 프레임(f)에 있어서, 암호화 대상 화소 블록(c)의 좌측 및 상측에 암호화된 화소 블록(p)들이 위치된다.
도 2b는 제1 실시형태에 따른 화소 블록의 예측 부호화 순서의 다른 예를 보인 설명도이다. 도 2b에 도시된 예에서, 암호화 장치(100)는 화면을 복수의 타일형 또는 슬라이스형으로 분할하고, 그 다음에 각 타일 또는 각 슬라이스 내의 화소 블록의 상부 좌측으로부터 하부 우측을 향하여 예측 암호화를 수행한다. 따라서, 따라서, 암호화 처리 대상 프레임(f)에 있어서, 암호화 대상 화소 블록(c)의 좌측 및 상측에 암호화된 화소 블록(p)들이 위치된다. 여기에서, 타일은 화면을 임의의 직사각형 영역으로 절단함으로써 획득된 영역을 표시하고, 슬라이스는 예측 부호화 순으로 뒤에서 설명하는 임의 수의 큰 부호화 트리 블록으로 화면을 절단함으로써 획득된 영역을 표시한다.
도 2b에 도시된 예에서, 화면이 복수의 타일형 또는 복수의 슬라이스로 분할된 후에, 각 타일마다 또는 각 슬라이스마다 암호화 처리를 수행하고, 그에 따라서 각 타일마다 또는 각 슬라이스마다 복호 처리를 수행할 수 있다. 따라서, 고해상도 영상의 복호 처리를 병렬 방식으로 수행함으로써, 복호에 필요한 연산량이 나누어질 수 있다. 다시 말해서, 도 2b에 도시된 예에 있어서, 암호화 처리 및 복호 처리는 고속으로 수행될 수 있다.
이하에서는 설명의 간편성을 위해, 암호화 장치(100)가 도 2a에 도시된 순으로 예측 암호화를 수행하는 것으로 가정하지만, 예측 암호화의 순서는 이것으로 제한되지 않는다.
화소 블록은 화상을 처리하는 단위를 나타내는 것이고, 예를 들면 M×N 사이즈를 가진 블록(여기에서, M과 N은 자연수이다), 부호화 트리 블록, 매크로 블록, 서브 블록, 1 화소 등이 상기 화소 블록에 대응한다. 이하에서 제시하는 설명에서는 기본적으로, 화소 블록이 부호화 트리 블록의 의미로서 사용되지만, 다른 의미로도 사용될 수 있다. 예를 들면, 예측 유닛의 설명에서, 화소 블록은 예측 유닛의 화소 블록의 의미로서 사용된다. 블록을 유닛 등으로 부르기도 한다. 예를 들면, 부호화 블록을 부호화 유닛이라고 부르기도 한다.
도 3a는 제1 실시형태에 따른 부호화 트리 블록의 사이즈의 예를 보인 도이다. 부호화 트리 블록은 전형적으로 도 3a에 도시한 것처럼 64×64의 화소 블록이다. 그러나, 부호화 트리 블록은 이것으로 제한되지 않고 32×32의 화소 블록, 16×16의 화소 블록, 8×8의 화소 블록, 4×4의 화소 블록 등으로 될 수 있다. 여기에서 부호화 트리 블록은 정사각형으로 되지 않고, 예를 들면 M×N 사이즈(여기에서 M≠N)의 화소 블록으로 될 수 있다.
도 3b 내지 도 3d는 제1 실시형태에 따른 부호화 트리 블록의 구체적인 예를 보인 도이다. 도 3b는 64×64(N=32)의 사이즈를 가진 부호화 트리 블록을 보인 것이다. 여기에서 N은 기준 부호화 트리 블록의 사이즈를 나타낸다. 부호화 트리 블록이 분할된 경우의 사이즈는 N으로서 규정되고, 부호화 트리 블록이 분할되지 않은 경우의 사이즈는 2N으로서 규정된다. 도 3c는 도 3b에 도시된 부호화 트리 블록을 사분목(quadtree)으로 분할함으로써 획득된 부호화 트리 블록을 보인 것이다. 도 3c에 도시된 바와 같이 부호화 트리 블록은 사분목 구조를 갖는다. 부호화 트리 블록이 분할된 경우에는, 도 3c에 도시된 것처럼, 분할 후의 4개의 화소 블록에 대하여 Z 스캔 순으로 번호가 부여된다.
또한, 각 번호의 사분목 내에서, 부호화 트리 블록은 다시 사분목으로 분할될 수 있다. 따라서, 부호화 트리 블록은 계층 방식으로 분할될 수 있다. 그러한 경우에, 분할의 깊이는 "깊이"(Depth)로서 규정된다. 도 3d는 도 3b에 도시된 부호화 트리 블록을 사분목으로 분할함으로써 획득된 부호화 트리 블록 중의 하나를 보인 것이고, 그 블록 사이즈는 32×32(N=16)이다. 도 3b에 도시된 부호화 트리 블록의 깊이는 "0"이고, 도 3d에 도시된 부호화 트리 블록의 깊이는 "1"이다. 또한, 최대 유닛을 가진 부호화 트리 블록은 큰 부호화 트리 블록이라고 부르고, 입력 화상 신호는 그러한 단위로 라스터 스캔 순으로 암호화된다.
이하에서 제시하는 설명에서는 입력 화상의 암호화 대상 블록 또는 부호화 트리 블록을 예측 대상 블록 또는 예측 화소 블록이라고 부를 수 있다. 또한, 암호화 단위는 화소 블록으로 제한되지 않고, 프레임, 필드, 슬라이스, 라인, 및 화소 중의 적어도 하나가 암호화 단위로서 사용될 수 있다.
암호화 장치(100)는, 도 1에 도시된 것처럼, 감산부(101), 직교 변환부(102), 양자화부(103), 역 양자화부(104), 역 직교 변환부(105), 가산부(106), 예측 화상 생성부(107), 인덱스 설정부(108), 모션 평가부(109) 및 암호화부(110)를 포함한다. 또한 도 1에 도시된 암호화 제어부(111)는 암호화 장치(100)를 제어하고, 예를 들면, CPU(중앙 처리 장치) 등을 이용하여 구현될 수 있다.
감산부(101)는 대응하는 예측 화상을 화소 블록으로 분할된 입력 화상으로부터 감산하여 예측 오차를 획득한다. 감산부(101)는 상기 예측 오차를 출력하여 직교 변환부(102)에 입력한다.
직교 변환부(102)는 감산부(101)로부터 입력된 예측 오차에 대하여 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST) 등의 직교 변환을 수행하여 변환 계수를 획득한다. 직교 변환부(102)는 상기 변환 계수를 출력하여 양자화부(103)에 입력한다.
양자화부(103)는 직교 변환부(102)로부터 입력된 변환 계수에 대하여 양자화 처리를 수행하여 양자화 변환 계수를 획득한다. 더 구체적으로, 양자화부(103)는 암호화 제어부(111)에 의해 지정된 양자화 파라미터, 및 양자화 매트릭스 등의 양자화 정보에 기초하여 양자화를 수행한다. 더 자세히 설명하면, 양자화부(103)는 변환 계수를 양자화 정보에 따라 도출된 양자화 스텝 사이즈로 나눔으로써 양자화 변환 계수를 획득한다. 양자화 파라미터는 양자화의 미세도(fineness)를 나타낸다. 양자화 매트릭스는 변환 계수의 각 성분에 대하여 양자화의 미세도를 가중(weighting)하기 위해 사용된다. 양자화부(103)는 양자화 변환 계수를 출력하여 역 양자화부(104) 및 암호화부(110)에 입력한다.
역 양자화부(104)는 양자화부(103)로부터 입력된 양자화 변환 계수에 대하여 역 양자화 처리를 수행하여 복원 변환 계수를 획득한다. 더 구체적으로, 역 양자화부(104)는 양자화부(103)에서 사용된 양자화 정보에 따라 역 양자화를 수행한다. 더 자세히 설명하면, 역 양자화부(104)는 양자화 변환 계수에 양자화 정보에 따라 도출된 양자화 스텝 사이즈를 승산함으로써 복원 변환 계수를 획득한다. 또한, 양자화부(103)에서 사용된 양자화 정보는 암호화 제어 유닛(111)의 내부 메모리(도시 생략됨)로부터 로드되어 사용된다. 역 양자화부(104)는 복원 변환 계수를 출력하여 역 직교 변환부(105)에 입력한다.
역 직교 변환부(105)는 역 양자화부(104)로부터 입력된 복원 변환 계수에 대하여 역 이산 코사인 변환(IDCT) 또는 역 이산 사인 변환(IDST) 등의 역 직교 변환을 수행하여 복원 예측 오차를 획득한다. 여기에서 역 직교 변환부(105)에 의해 수행되는 역 직교 변환은 직교 변환부(102)에 의해 수행된 직교 변환에 대응한다. 역 직교 변환부(105)는 복원 예측 오차를 출력하여 가산부(106)에 입력한다.
가산부(106)는 역 직교 변환부(105)로부터 입력된 복원 예측 오차와 대응하는 예측 화상을 가산하여 국소 복호 화상을 생성한다. 가산부(106)는 국소 복호 화상을 출력하여 예측 화상 생성부(107)에 입력한다.
예측 화상 생성부(107)는 가산부(106)로부터 입력된 국소 복호 화상을 참조 화상으로서 메모리(도 1에서는 도시 생략됨)에 저장하고, 메모리에 저장된 참조 화상을 출력하여 모션 평가부(109)에 입력한다. 또한, 예측 화상 생성부(107)는 모션 평가부(109)로부터 입력된 모션 정보 및 WP 파라미터 정보에 기초하여 가중 모션 보상 예측을 수행함으로써 예측 화상을 생성한다. 예측 화상 생성부(107)는 예측 화상을 출력하여 감산부(101) 및 가산부(106)에 입력한다.
도 4는 제1 실시형태에 따른 예측 화상 생성부(107)의 구성 예를 보인 블록도이다. 예측 화상 생성부(107)는, 도 4에 도시된 것처럼, 복수 프레임 모션 보상부(201), 메모리(202), 단방향 모션 보상부(203), 예측 파라미터 제어부(204), 참조 화상 선택기(205), 프레임 메모리(206), 및 참조 화상 제어부(207)를 포함한다.
프레임 메모리(206)는 참조 화상 제어부(207)의 제어하에 상기 가산부(106)로부터 입력된 국소 복호 화상을 참조 화상으로서 저장한다. 프레임 메모리(206)는 참조 화상을 임시로 저장하기 위해 사용되는 복수의 메모리 집합(FM1~FMN(여기에서, N≥1))을 포함한다.
예측 파라미터 제어부(204)는 모션 평가부(109)로부터 입력된 모션 정보에 기초하여, 참조 화상 번호와 예측 파라미터의 복수의 조합을 테이블로서 준비한다. 여기에서, 상기 모션 정보는 모션 보상 예측용으로 사용되는 모션의 편차를 나타내는 모션 벡터, 참조 화상 번호, 및 단방향/양방향 예측과 같은 예측 모드에 관한 정보를 나타낸다. 예측 파라미터는 모션 벡터 및 예측 모드에 관한 정보를 나타낸다. 그 다음에, 예측 파라미터 제어부(204)는 입력 화상에 기초하여 예측 화상을 생성하기 위해 사용된 참조 화상 번호 및 예측 파라미터의 조합을 선택하여, 참조 화상 번호가 참조 화상 선택기(205)에 입력되고 예측 파라미터가 단방향 모션 보상부(203)에 입력되도록 상기 선택된 조합을 출력한다.
참조 화상 선택기(205)는 예측 파라미터 제어부(204)로부터 입력된 참조 화상 번호에 기초하여, 프레임 메모리(206)에 포함된 프레임 메모리(FM1~FMN)를 전환하기 위해 그 출력 단자 중의 하나를 변경하는 스위치이다. 예를 들면, 참조 화상 번호가 "0"일 때 참조 화상 선택기(205)는 프레임 메모리(FM1)의 출력 단자를 참조 화상 선택기(205)의 출력 단자에 접속하고, 참조 화상 번호가 N-1일 때 참조 화상 선택기(205)는 프레임 메모리(FMN)의 출력 단자를 참조 화상 선택기(205)의 출력 단자에 접속한다. 참조 화상 선택기(205)는 프레임 메모리(206)에 포함된 프레임 메모리(FM1~FMN) 중에서 출력 단자가 접속되어진 프레임 메모리에 저장된 참조 화상을 출력하여 단방향 모션 보상부(203) 및 모션 평가부(109)에 입력한다.
단방향 모션 보상부(203)는 예측 파라미터 제어부(204)로부터 입력된 예측 파라미터 및 참조 화상 선택기(205)로부터 입력된 참조 화상에 기초하여 모션 보상 예측 처리를 수행하여 단방향 예측 화상을 생성한다.
도 5는 제1 실시형태에 따른 양방향 예측의 모션 보상 예측을 위한 모션 벡터들 간의 관계 예를 보인 도이다. 모션 보상 예측에서는 참조 화상을 이용하여 보간 처리가 수행되고, 생성된 보간 화상의 모션과 암호화 대상 위치에 위치된 화소 블록으로부터의 입력 화상의 편차에 기초하여 단방향 예측 화상이 생성된다. 여기에서, 상기 편차는 모션 벡터이다. 도 5에 도시된 것처럼, 양방향 예측 슬라이스(B-슬라이스)에서는 참조 화상과 모션 벡터 집합의 2 종류를 이용하여 예측 화상이 생성된다. 보간 처리로는 1/2 화소 정밀도의 보간 처리, 1/4 화소 정밀도의 보간 처리 등의 보간 처리가 사용되고, 참조 화상에 대하여 필터링 처리를 수행함으로써 보간 화상의 값이 생성된다. 예를 들면, 휘도 신호에 대하여 최대 1/4 화소 정밀도의 보간이 수행될 수 있는 H.264에서는 상기 편차가 정수 화소 정밀도의 4배로서 표시된다.
단방향 모션 보상부(203)는 단방향 예측 화상을 출력하여 그 단방향 예측 화상을 메모리(202)에 임시로 저장한다. 여기에서, 모션 정보(예측 파라미터)가 양방향 예측을 표시하는 경우에, 복수 프레임 모션 보상부(201)는 2가지 유형의 단방향 예측 화상을 이용하여 가중 예측을 행한다. 따라서, 단방향 모션 보상부(203)는 제1 유형의 단방향 예측 화상에 대응하는 단방향 예측 화상을 메모리(202)에 저장하고, 제2 유형에 대응하는 단방향 예측 화상을 복수 프레임 모션 보상부(201)에 직접 출력한다. 여기에서, 상기 제1 유형에 대응하는 단방향 예측 화상은 제1 예측 화상이라고 부르고, 상기 제2 유형에 대응하는 단방향 예측 화상은 제2 예측 화상이라고 부른다.
또한, 2개의 단방향 모션 보상부(203)를 구비하여 2개의 단방향 예측 화상을 생성할 수 있다. 그 경우에, 모션 정보(예측 파라미터)가 단방향 예측을 표시하면, 단방향 모션 보상부(203)는 제1의 단방향 예측 화상을 제1 예측 화상으로서 복수 프레임 모션 보상부(201)에 직접 출력할 수 있다.
복수 프레임 모션 보상부(201)는 메모리(202)로부터 입력된 제1 예측 화상, 단방향 모션 보상부(203)로부터 입력된 제2 예측 화상, 및 모션 평가부(109)로부터 입력된 WP 파라미터 정보를 이용하여 가중 예측을 행하고, 이것에 의해 예측 화상을 생성한다. 복수 프레임 모션 보상부(201)는 예측 화상을 출력하여 감산부(101) 및 가산부(106)에 입력한다.
도 6은 제1 실시형태에 따른 복수 프레임 모션 보상부(201)의 구성 예를 보인 블록도이다. 도 6에 도시된 것처럼, 복수 프레임 모션 보상부(201)는 디폴트 모션 보상부(301), 가중 모션 보상부(302), WP 파라미터 제어부(303), 및 WP 선택기(304, 305)를 포함한다.
WP 파라미터 제어부(303)는 모션 평가부(109)로부터 입력된 WP 파라미터 정보에 기초하여 WP 적용 플래그 및 가중 정보를 출력하여, WP 적용 플래그를 WP 선택기(304, 305)에 입력하고 가중 정보를 가중 모션 보상부(302)에 입력한다.
여기에서, WP 파라미터 정보는 제1 WP 적용 플래그(더 자세히는 제1 WP 적용 플래그의 플래그 정보), 제2 WP 적용 플래그(더 자세히는 제2 WP 적용 플래그의 플래그 정보), 및 가중 정보의 정보를 포함한다. 제1 WP 적용 플래그 및 제2 WP 적용 플래그는 각각의 참조 화상과 각각의 신호 성분에 대하여 설정될 수 있는 파라미터이고, 제1 예측 화상 및 제2 예측 화상에 대하여 디폴트 모션 보상 예측이 이루어졌는지 또는 가중 모션 보상 예측이 이루어졌는지의 정보를 포함한다. 여기에서 제1 WP 적용 플래그 및 제2 WP 적용 플래그가 각각 "0"인 경우에, 이것은 디폴트 모션 보상 예측이 이루어졌음을 표시한다. 반면에, 제1 WP 적용 플래그 및 제2 WP 적용 플래그가 각각 "1"인 경우에, 이것은 가중 모션 보상 예측이 이루어졌음을 표시한다.
가중 정보는 제1 가중 계수의 값(w0C), 제2 가중 계수의 값(w1C), 제1 및 제2 가중 계수의 고정 소수점 정밀도를 표시하는 파라미터(LWD)(여기에서, 이 파라미터는 "고정 소수점 정밀도(LWD)"라고 부를 수 있다), 제1 오프셋(o0C) 및 제2 오프셋(o1C)의 정보를 포함한다. 여기에서, 변수(C)는 신호 성분을 표시한다. 예를 들면, YUV 공간 신호의 경우에, 휘도 신호는 C=Y에 의해 표시되고, Cr 색차 신호는 C=Cr에 의해 표시되며, Cb 색차 성분은 C=Cb에 의해 표시된다.
제1 가중 계수는 제1 예측 화상에 대응하는 가중 계수이고 고정 소수점 정밀도(LWD)에 따라 결정된(변경된) 값을 가진 파라미터이다. 제2 가중 계수는 제2 예측 화상에 대응하는 가중 계수이고 고정 소수점 정밀도(LWD)에 따라 결정된(변경된) 값을 가진 파라미터이다. 고정 소수점 정밀도(LWD)는 제2 가중 계수의 분수 정밀도에 대응하는 간격 폭을 제어하는 파라미터이다. 휘도 및 색차에 따라서 상이한 값의 고정 소수점 정밀도(LWD)를 사용할 수 있지만, 여기에서는 설명의 간편성을 위해, 고정 소수점 정밀도를 각각의 색 신호에 대하여 명시적으로 나누지 않고 설명할 것이다. 예를 들면, 실수치로 표시해서 w0C가 1.0(이진수 표기법으로는 1)이고 LWD가 5인 경우에, 제1 가중 계수는 32(이진수 표기법으로는 100000)이다. 또한, 실수치로 표시해서 w1C가 2.0(이진수 표기법으로는 10)이고 LWD가 5인 경우에, 제2 가중 계수는 64(이진수 표기법으로는 1000000)이다. 제1 오프셋(o0C)은 제1 예측 화상에 대응하는 오프셋이고, 제2 오프셋(o1C)은 제2 예측 화상에 대응하는 오프셋이다.
또한, WP 파라미터 정보가 입력된 때, WP 파라미터 제어부(303)는 가중 정보의 값이 규정된 범위 내에 있는지를 체크하고, 범위 외에 있는 값을 범위 내에 있는 값으로 재설정하거나 WP 적용 플래그의 값을 변경한다. 예를 들면, 실수치로 표시해서 w0C가 3.0이고 LWD가 7인 경우에, 제1 가중 계수는 384이다. 여기에서 384는 제1 가중 계수의 범위 외에 있고 사용될 수 없지만, 96은 제1 가중 계수의 범위 내에 있고 사용될 수 있는 것으로 추정된다. 이러한 경우에, WP 파라미터 제어부(303)는 LWD를 5로 설정하고 제1 가중 계수를 96으로 설정하며 w0C를 실수치로 표시해서 3.0으로 유지되게 함으로써 제1 가중 계수를 제1 가중 계수의 범위 내에 있도록 재설정할 수 있다. 또한, 그때에, WP 파라미터 제어부(303)는 양자화 처리를 수행할 수 있다. 예를 들면, LWD가 7이고 제1 가중 계수가 385인 경우에, WP 파라미터 제어부(303)는 양자화 처리를 수행하여 제1 가중 계수를 384로 설정하고, 그 다음에 LWD를 5로 설정하고 w0C를 실수치로 표시해서 3.0으로 설정함으로써 제1 가중 계수를 96으로 재설정할 수 있다. 또한, WP 파라미터 제어부(303)는 제1 WP 적용 플래그의 값을 1로부터 0으로 변경할 수 있고, 이것에 의해 가중 모션 보상 예측이 사용되지 않는다. 이러한 기술로 제한되는 것은 아니지만, WP 파라미터 제어부(303)는 가중 정보의 값이 사양 등에 따라 정해진 규정된 범위를 초과하지 않도록 제어한다.
WP 선택기(304, 305)는 WP 파라미터 제어부(303)로부터 입력된 WP 적용 플래그에 기초하여 예측 화상의 접속단을 변경한다. 대응하는 WP 적용 플래그가 "0"인 경우, 각각의 WP 선택기(304, 305)는 그 출력단을 디폴트 모션 보상부(301)에 접속한다. 그 다음에, WP 선택기(304, 305)는 제1 및 제2 예측 화상을 출력하여 디폴트 모션 보상부(301)에 입력한다. 반면에, 대응하는 WP 적용 플래그가 "1"인 경우, 각각의 WP 선택기(304, 305)는 그 출력단을 가중 모션 보상부(302)에 접속한다. 그 다음에, WP 선택기(304, 305)는 제1 및 제2 예측 화상을 출력하여 가중 모션 보상부(302)에 입력한다.
디폴트 모션 보상부(301)는 WP 선택기(304, 305)로부터 입력된 2개의 단방향 예측 화상(제1 및 제2 예측 화상)에 따라 평균치 처리(디폴트 모션 보상 예측)를 수행하여 예측 화상을 생성한다. 더 구체적으로, 제1 및 제2 WP 적용 플래그가 "0"인 경우에, 디폴트 모션 보상부(301)는 수학식 1에 기초하여 평균치 처리를 수행한다.
[수학식 1]
P[x, y] = Clip1((PL0[x, y] + PL1[x, y] + offset2) >> (shift2))
여기에서, P[x, y]는 예측 화상이고, PL0[x, y]는 제1 예측 화상이며, PL1[x, y]는 제2 예측 화상이다. 또한, offset2와 shift2는 평균치 처리에 있어서 라운딩 처리의 파라미터이고 제1 및 제2 예측 화상의 내부 연산 정밀도에 기초하여 결정된다. Clip1(X)는 변수 X를 특정 비트 정밀도로 클리핑하는 함수이고, 여기에서는 예측 화상의 비트 정밀도 내에서 변수 X를 클리핑한다. 예를 들면, 예측 화상의 비트 정밀도(L)가 8일 때, 0~255의 범위 외의 값은 0~255로 크리핑된다. 더 자세히 설명하면, 0 이하의 값은 0으로 설정되고, 255보다 큰 값은 255로 설정된다.
예측 화상의 비트 정밀도가 L이고 제1 및 제2 예측 화상의 비트 정밀도가 M(L≤M)일 때, shift2는 수학식 2로 공식화되고, offset2는 수학식 3으로 공식화된다.
[수학식 2]
shift2 = (M - L + 1)
[수학식 3]
offset2 = (1 << (shift2 - 1))
예를 들면, 예측 화상의 비트 정밀도가 "8"이고 제1 및 제2 예측 화상의 비트 정밀도가 "14"일 때, 수학식 2에 의해 shift2 = 7, 및 수학식 3에 의해 offset2 = (1 << 6)으로 된다.
또한, 모션 정보(예측 파라미터)에 의해 표시되는 예측 모드가 단방향 예측인 경우에, 디폴트 모션 보상부(301)는 수학식 4에 따라 제1 예측 화상만을 이용하여 최종 예측 화상을 산출한다.
[수학식 4]
P[x, y] = Clip1((PLX[x, y] + offset1) >> (shift1))
여기에서, PLX[x, y]는 단방향 예측 화상(제1 예측 화상)을 나타내고, X는 참조 리스트로서 "0" 또는 "1"을 나타내는 식별자이다. 예를 들면, PLX[x, y]는 참조 리스트가 "0"인 경우에는 PL0[x, y]이고, 참조 리스트가 "1"인 경우에는 PL1[x, y]이다. 또한, offset1 및 shift1은 라운딩 처리를 위한 파라미터이고, 제1 예측 화상의 내부 연산 정밀도에 기초하여 결정된다. 예측 화상의 비트 정밀도가 L이고 제1 예측 화상의 비트 정밀도가 M일 때, shift1은 수학식 5로 공식화되고, offset1은 수학식 6으로 공식화된다.
[수학식 5]
shift1 = (M - L)
[수학식 6]
offset1 = (1 << (shift1 - 1))
예를 들면, 예측 화상의 비트 정밀도가 "8"이고 제1 예측 화상의 비트 정밀도가 "14"일 때, 수학식 5에 의해 shift1 = 6, 및 수학식 6에 의해 offset1 = (1 << 5)로 된다.
가중 모션 보상부(302)는 WP 선택기(304, 305)로부터 입력된 2개의 단방향 예측 화상(제1 및 제2 예측 화상) 및 WP 파라미터 제어부(303)로부터 입력된 가중 정보에 기초하여 가중 모션 보상(가중 모션 보상 예측)을 수행한다.
여기에서, 가중 계수를 좀 더 설명한다. 도 7은 가중 계수를 설명하기 위한 참고도이고, 시간 방향으로 화소치 변화가 있는 동화상의 계조치(gray scale) 변화의 예를 보인 것이다. 도 7에 도시된 예에서, 암호화 대상 프레임은 프레임 (t)이고, 시간적으로 암호화 대상 프레임의 1 프레임 전의 프레임은 프레임 (t-1)이며, 시간적으로 암호화 대상 프레임의 1 프레임 후의 프레임은 프레임 (t+1)이다. 도 7에 도시된 것처럼, 백색으로부터 흑색으로 변하는 페이드 화상에 있어서, 화상의 명도(계조치)는 시간의 경과에 따라 감소한다. 가중 계수의 값은 도 7을 참조하여 설명한 것처럼 화소치의 변화 정도를 표시하고, 화소치에 변화가 없는 경우(화소치의 변화가 "0"인 경우)에는 실수치로 표시해서 "1.0"의 값을 취한다.
여기에서, 화소치의 변화가 없는 경우에 대하여 설명한다. 예를 들면, 동일한 정지 화상이 시간적으로 연속되는 동화상을 상정한 경우에, 화면 간의 휘도 변화는 0이다. 그 경우에, 화소치의 변화는 가중 모션 보상 예측이 이루어진 때에도 0이기 때문에, 이 경우는 가중 모션 보상부(302)가 디폴트 모션 보상 예측을 행하는 경우와 등가이다. 그 경우에, 다시 말하면 화소치의 변화가 없는 경우에, 가중 모션 보상부(302)는 가중 계수의 기준치를 선택하고, 이것에 의해 디폴트 모션 보상 예측이 가중 모션 보상 예측으로서 실현된다. 여기에서, 가중 계수의 기준치는 고정 소수점 정밀도에 따라 도출될 수 있다(1 << LWD).
일반적으로, 페이드 효과, 디졸브 효과 등과 같은 동화상의 화소치의 변화는 각 프레임마다 그다지 크지 않고, 따라서 가중 계수의 값은 실수치로 표시했을 때 1.0을 향하여 기울어진다. 또한, 제1 실시형태에서는 가중 계수의 값이 2의 멱승(power)으로 표시되는 고정 소수점 정밀도에 의해 양자화되기 때문에, 2개의 화상 간에 평균적인 화소치의 변화만이 있는 때에도, 그 변화가 1/128 정밀도 이하인 경우에는 가중 계수의 값이 실수치로 표시했을 때 1.0으로 양자화된다. 따라서, 제1 실시형태에서는 화소치의 변화가 발생한 경우에도, 그 경우는 화소치의 변화가 실질적으로 없는 경우처럼 취급될 수 있다. 이하에서는 설명의 간편성을 위해, 화소치의 변화가 없는 경우, 다시 말해서 가중 계수의 값이 실수치로 표시했을 때 1.0인 경우를 가정하여 설명할 것이다. 또한, 화소치의 변화가 없는 경우는 화소치의 변화가 미리 정해진 값(가중 계수의 정밀도보다 충분히 더 작은 값) 이하인 경우에 대응한다.
따라서, 제1 WP 적용 플래그 및 제2 WP 적용 플래그가 "1"인 경우에, 가중 모션 보상부(302)는 수학식 7에 기초하여 가중 처리를 수행한다.
[수학식 7]
P[x, y] = Clip1(((PL0[x, y]*w0C + PL1[x, y]*w1C + ((o0C + o1C + 1) << LWD)) >> (LWD +1)))
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 수학식 8에서처럼 LWD를 제어함으로써 라운딩 처리를 실현한다.
[수학식 8]
LWD' = LWD + offset1
라운딩 처리는 수학식 7에 표시된 LWD를 수학식 8에 표시된 LWD'로 치환함으로써 실현될 수 있다. 예를 들면, 예측 화상의 비트 정밀도가 8이고 제1 및 제2 예측 화상의 비트 정밀도가 14인 경우에는, LWD를 재설정함으로써, 수학식 1로 표시되는 shift2의 연산 정밀도와 동일한 연산 정밀도를 가진 일괄 라운딩 처리가 실현될 수 있다.
또한, 모션 정보(예측 파라미터)에 의해 표시되는 예측 모드가 단방향 예측인 경우에, 가중 모션 보상부(302)는 수학식 9에 따라 제1 예측 화상만을 이용하여 최종 예측 화상을 산출한다.
[수학식 9]
P[x, y] = Clip1((PLX[x, y]*wXC + (1 << (LWD - 1))) >> (LWD) + oXC)
여기에서, PLX[x, y]는 단방향 예측 화상(제1 예측 화상)을 나타내고, wXC는 단방향 예측에 대응하는 가중 계수를 나타내며, X는 참조 리스트로서 "0" 또는 "1"을 나타내는 식별자이고, oXC는 단방향 예측에 대응하는 오프셋을 나타낸다. 예를 들면, PLX[x, y], wXC, 및 오프셋은 참조 리스트가 "0"인 경우에는 PL0[x, y], w0C 및 o0C이고, 참조 리스트가 "1"인 경우에는 PL1[x, y], w1C 및 o1C이다.
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 양방향 예측의 경우와 유사하게, 수학식 8에서처럼 LWD를 제어함으로써 라운딩 처리를 실현한다.
라운딩 처리는 수학식 9에 표시된 LWD를 수학식 8에 표시된 LWD'로 치환함으로써 실현될 수 있다. 예를 들면, 예측 화상의 비트 정밀도가 "8"이고 제1 예측 화상의 비트 정밀도가 "14"인 경우에는, LWD를 재설정함으로써, 수학식 4에 표시된 shift1의 연산 정밀도와 유사한 연산 정밀도에 대하여 일괄 라운딩 처리를 실현할 수 있다.
또한, 단방향 예측의 경우에, 제2 예측 화상에 대응하는 각종 파라미터(제2 WP 적용 플래그, 제2 가중 계수, 및 제2 오프셋 정보)는 사용되지 않고 미리 결정된 초기치로 설정될 수 있다.
다시 도 1을 참조하면, 모션 평가부(109)는 입력 화상 및 예측 화상 생성부(107)로부터 입력된 참조 화상에 기초하여 복수의 프레임 간의 모션 평가를 수행하여 모션 정보 및 WP 파라미터 정보를 출력하고, 이것에 의해 모션 정보를 예측 화상 생성부(107) 및 암호화부(110)에 입력하고, WP 파라미터 정보를 예측 화상 생성부(107) 및 인덱스 설정부(108)에 입력한다.
모션 평가부(109)는 예를 들면 예측 대상 화소 블록의 입력 화상과 기점과 동일 위치에 대응하는 복수의 참조 화상 간의 차를 계산함으로써 오차를 산출하고, 상기 위치를 분수 정밀도에 의해 시프트시키고, 최소 오차 블록을 찾기 위한 블록 매칭 등과 같은 기술을 이용하여 최적의 모션 정보를 산출한다. 양방향 예측의 경우에, 모션 평가부(109)는 단방향 예측으로부터 도출된 모션 정보를 이용하여 수학식 1 및 수학식 4에 표시한 것과 같은 디폴트 모션 보상 예측을 포함한 블록 매칭을 수행하여 양방향 예측의 모션 정보를 산출한다.
이때, 모션 평가부(109)는 수학식 7 및 수학식 9에 표시한 것과 같은 가중 모션 보상 예측을 포함한 블록 매칭을 수행함으로써 WP 파라미터 정보를 산출할 수 있다. 또한, WP 파라미터 정보의 산출을 위하여, 입력 화상의 화소 경사도를 이용하여 가중 계수 또는 오프셋을 산출하는 방법, 암호화시에 예측 오차의 누적에 따라 가중 계수 또는 오프셋을 산출하는 방법 등을 이용할 수 있다. 또한, WP 파라미터 정보로서, 각 암호화 장치에 대해 미리 결정된 고정 값을 사용할 수 있다.
여기에서, 가중 계수, 가중 계수의 고정 소수점 정밀도, 및 오프셋을 시간적으로 화소치 변화가 있는 동화상으로부터 산출하는 방법을 도 7을 참조하면서 설명한다. 전술한 바와 같이, 도 7에 도시된 것처럼 백색으로부터 흑색으로 변화하는 페이드 화상에서는 화소치(계조치)가 시간의 경과에 따라 감소한다. 모션 평가부(109)는 그 기울기를 계산함으로써 가중 계수를 산출할 수 있다.
가중 계수의 고정 소수점 정밀도는 기울기의 정밀도를 나타내는 정보이고, 모션 평가부(109)는 참조 화상까지의 시간적 거리와 화상치의 변화도에 기초하여 최적치를 계산할 수 있다. 예를 들면, 도 7에서, 프레임 (t-1)과 프레임 (t+1) 간의 가중 계수의 값이 실수치 정밀도로 표시할 때 0.75인 경우에, 3/4이 1/4 정밀도의 경우에 표시될 수 있고, 따라서 모션 평가부(109)는 고정 소수점 정밀도를 2(1 << 2)로 설정한다. 고정 소수점 정밀도의 값은 가중 계수를 암호화하는 경우의 부호량에 영향을 주기 때문에, 고정 소수점 정밀도의 값으로서 부호량과 예측 정밀도를 고려하여 최적치가 선택될 수 있다. 또한, 고정 소수점 정밀도의 값은 미리 정해진 고정 값일 수 있다.
또한, 기울기가 일치하지 않는 경우에, 모션 평가부(109)는 1차 함수의 절편(intercept)에 대응하는 보정치(편차량)를 획득함으로써 오프셋의 값을 산출할 수 있다. 예를 들면, 도 7에 있어서, 프레임 (t-1)과 프레임 (t+1) 간의 가중 계수가 실수 정밀도로 표시할 때 0.60이고, 고정 소수점 정밀도가 "1"(1<<1)인 경우에, 가중 계수가 "1"(가중 계수의 값을 실수 정밀도로 표현하였을 때의 0.50에 대응함)로 설정될 가능성이 높다. 그 경우에, 가중 계수의 분수 정밀도는 최적치인 0.60으로부터 0.10만큼 벗어나므로, 모션 평가부(109)는 화소의 최대치에 기초하여 상기 편차에 대응하는 보정치를 계산하고 그 보정치를 오프셋의 값으로서 설정한다. 화소의 최대치가 255인 경우에, 모션 보상부(109)는 25(255×0.1)와 같은 값을 설정할 수 있다.
제1 실시형태에서는 비록 모션 평가부(109)가 암호화 장치(100)의 1 기능으로서 예시되었지만, 모션 평가부(109)는 암호화 장치(100)의 필수 구성이 아니고, 예를 들면, 모션 평가부(109)는 암호화 장치(100) 이외의 장치일 수 있다. 그러한 경우에, 모션 평가부(109)에 의해 산출되는 모션 정보 및 WP 파라미터 정보는 암호화 장치(100)에 로드될 수 있다.
인덱스 설정부(108)는 모션 평가부(109)로부터 입력된 WP 파라미터 정보를 수신하고, 참조 리스트(리스트 번호) 및 참조 화상(참조 번호)을 체크하고, 인덱스 정보를 출력하여 암호화부(110)에 입력한다. 인덱스 설정부(108)는 모션 평가부(109)로부터 입력된 WP 파라미터 정보를 뒤에서 설명하는 신택스 요소에 맵핑함으로써 인덱스 정보를 생성한다. 이때, 인덱스 설정부(108)는 가중 계수의 선택 범위를 도출하고, 가중 계수가 그 선택 범위에 포함되는지를 체크한다.
여기에서, 가중 계수의 선택 범위의 도출에 대하여 설명한다.
제1 실시형태에서는, 전술한 바와 같이, 화소치의 변화가 없고 가중 계수의 값이 실수치로 표시해서 1.0인 경우를 가정하였다. 그 경우에는 가중 계수/가중 계수의 기준치 = 1이 성립된다. 전술한 바와 같이, 가중 계수의 기준치는 (1<<LWD)이기 때문에, 제1 실시형태에 있어서 가중 계수는 (1<<LWD)이고 가중 계수의 기준치와 동일한 값을 갖는다.
그런데, H.264 등에서는 가중 계수, 오프셋 등의 각 인덱스가 -128 내지 127의 부호붙은(signed) 8 비트의 값을 취하도록 규정되고, 고정 소수점 정밀도가 0 내지 7의 값을 취하도록 규정된다. 따라서, 제1 실시형태에 따르면, 가중 계수가 규정된 범위 외로 되는 경우가 있다.
도 8은 H.264의 가중 계수의 선택 범위를 보인 참고도이고, 고정 소수점 정밀도(LWD)가 0~7의 값을 취하는 경우의 가중 계수 (1<<LWD)를 보인 것이다. 도 8로부터 명백한 바와 같이, 가중 계수는 고정 소수점 정밀도(LWD)의 값이 감소함에 따라 0에 가까운 양의 값을 취한다. 그러나, 고정 소수점 정밀도(LWD)의 값이 7일 때, 가중 계수는 128이고, 이것은 H.264에서 규정된 범위 외의 것이다.
상기와 같이, H.264의 규정에서는 사용하고자 하는 가중 계수의 범위가 규정 범위 외의 것이고, 이것은 실제 응용에 따르지 않는다. 또한, 단방향 예측에서는 음의 방향에 대응하는 가중 계수가 선택되더라도, 단방향 예측에 의해 출력된 예측 화소치가 입력 화상의 클리핑 범위에 기초하여 0으로 클리핑될 가능성이 높고, 음의 방향에 대응하는 가중 계수가 실질적으로 선택될 수 없다. 반면에, 양방향 예측에서는 외부 삽입 예측을 실현하기 위해, 일측에서 단방향 예측의 가중 계수를 음의 값으로 설정하고 타측에서의 가중 계수는 양의 값으로 설정하는 사용 방법을 이용할 수 있다. 그러나, 음의 쪽의 값은 가중 계수의 범위로서 양의 쪽의 값의 정밀도와 동일한 정밀도를 요구하지 않는 경우가 많다.
이 때문에, 제1 실시형태에 따르면, 인덱스 설정부(108)는 가중 계수의 기준치를 대략 중심으로서 설정하여 음의 방향과 양의 방향에서 값들을 지정함으로써 가중 계수의 선택 범위를 도출하고, 가중 계수가 상기 도출된 가중 계수의 선택 범위에 포함되는지를 체크한다.
도 9는 제1 실시형태에 따른 가중 계수의 선택 범위의 예를 보인 설명도이다. 도 9에 도시된 예에서는, 도 8을 참조하여 설명한 가중 계수의 선택 범위와는 다르게, 가중 계수의 기준치(1<<LWD)가 선택 범위의 대략 중심에 위치되도록 배치되고, 가중 계수의 기준치로부터 128을 감산하여 얻어진 값(-128 + (1<<LWD)이 선택 범위의 최소치로 되며, 가중 계수의 기준치에 127을 가산하여 얻어진 값(127 + (1<<LWD)이 선택 범위의 최대치로 된다.
인덱스 설정부(108)는 수학식 10 및 수학식 11을 이용하여 가중 계수의 선택 범위를 설정한다. 선택 범위의 최소치는 수학식 10에 의해 공식화되고, 선택 범위의 최대치는 수학식 11에 의해 공식화된다.
[수학식 10]
min_wXC = -128 + (1 << LWD)
[수학식 11]
max_wXC = 127 + (1 << LWD)
도 10a 및 도 10b는 제1 실시형태에 따른 가중 계수의 선택 범위의 구체적인 예를 보인 설명도이다. 도 10a는 고정 소수점 정밀도(LWD)의 값이 7인 경우의 가중 계수의 선택 범위를 보인 것이고, 도 10b는 고정 소수점 정밀도(LWD)의 값이 5인 경우의 가중 계수의 선택 범위를 보인 것이다. 도 10a에 도시된 예에서는 "128"인 가중 계수의 기준치가 선택 범위의 대략 중심에 위치되도록 배치되고, 선택 범위의 최소치는 0이며, 선택 범위의 최대치는 255이다. 도 10b에 도시된 예에서는 "32"인 가중 계수의 기준치가 선택 범위의 대략 중심에 위치되도록 배치되고, 선택 범위의 최소치는 -96이며, 선택 범위의 최대치는 159이다.
도 11은 H.264의 가중 계수의 선택 범위의 최소치 및 최대치를 보인 참고도이다. 도 12는 제1 실시형태에 따른 가중 계수의 선택 범위의 최소치 및 최대치의 예를 보인 설명도이다. 도 11에 도시된 바와 같이, H.264에서는 가중 계수의 선택 범위의 최소치와 최대치가 가중 계수의 기준치와 관계없이 일정하다. 반면에, 도 12에 도시된 바와 같이, 제1 실시형태에 따르면, 가중 계수의 선택 범위의 최소치와 최대치는 가중 계수의 기준치에 의존하여 변한다.
도 12에 도시된 것처럼, 가중 계수의 선택 범위가 가중 계수의 기준치를 대략 그 중심으로 하여 설정된 경우, 가중 계수에 의해 취해지는 범위는 -127~255이고, 부호붙은 9 비트의 정밀도가 필요하다. 이 때문에, 제1 실시형태에서는 뒤에서 설명하는 암호화부(110)가 인덱스로서 설정된 가중 계수, 다시 말하면, 암호화 대상의 값을 가중 계수와 가중 계수의 기준치 간의 차분치로 갱신한다. 도 9에 도시된 바와 같이, 가중 계수의 기준치를 상기 유도된 가중 계수의 선택 범위로부터 감산함으로써, 가중 계수들 간의 차분치의 범위는 -128~127의 부호붙은 8-비트 값을 취한다는 것을 이해할 수 있다. 다시 말하면, 가중 계수의 선택 범위는 가중 계수의 선택 범위가 가중 계수의 기준치를 대략 그 중심으로 하여 설정된 경우에 가중 계수의 기준치에 의존하여 변하지만, 가중 계수의 기준치를 가중 계수의 선택 범위로부터 감산함으로써, 가중 계수들 간의 차분치의 범위는 가중 계수의 기준치와 관계없이 일정하다. 상기와 같이, 제1 실시형태에 따르면, 가중 계수가 가중 계수들 간의 차분치로 교체되기 때문에, 가중 계수의 선택 범위가 확장되고, 부호붙은 8-비트 정밀도를 가진 선택 범위가 규정될 수 있다.
또한, 도출된 가중 계수의 선택 범위에 가중 계수가 포함되어 있지 않다고 확인된 경우에는 인덱스 설정부(108)가 가중 계수의 선택 범위의 최대치 또는 최소치를 이용하여 클리핑 처리를 수행할 수 있다. 그 경우에, 인덱스 설정부(108)는 가중 계수가 선택 범위의 최소치 미만인 경우 가중 계수를 그 최소치로 클리핑하고, 가중 계수가 선택 범위의 최대치보다 큰 경우 가중 계수를 그 최대치로 클리핑할 수 있다. 이러한 클리핑 처리를 도입함으로써, 가중 계수들 간의 차분치와 같은 암호화 대상의 값은 특정의 범위 제약을 설치하지 않고 미리 정해진 비트 정밀도 내의 값을 취할 수 있고, 따라서 하드웨어에 의해 사용되는 회로 규모의 구성을 명확히 할 수 있다.
또한, 제1 실시형태에서는 가중 계수의 선택 범위가 부호붙은 8-비트 정밀도를 가진 경우를 가정하였지만, 가중 계수의 선택 범위의 정밀도는 이것으로 한정되지 않고, 예를 들면 부호붙은 9-비트 정밀도를 가질 수도 있다. 그 경우에는 가중 계수의 선택 범위가 -256~255이지만, 수학식 10에 표시된 -128을 -256으로 교체하고, 수학식 11에 표시된 127을 255로 교체할 수 있다.
또한, 제1 실시형태에서는 가중 계수의 선택 범위가 인덱스 설정부(108)에 의해 도출되는 예를 설명하였지만, 선택 범위의 도출은 이것으로 한정되지 않고 암호화부(110)에 의해 수행될 수도 있다. 인덱스 설정부(108)와 암호화부(110)의 각각은 도출부로 지칭될 수 있다.
도 13a 및 도 13b는 제1 실시형태에 따른 인덱스 설정부(108)에 입력되는 WP 파라미터 정보의 예를 보인 도이다. P-슬라이스시의 WP 파라미터 정보의 예는 도 13a에 도시된 것과 같고, B-슬라이스시의 WP 파라미터 정보의 예는 도 13a 및 도 13b에 도시된 것과 같다. 리스트 번호는 예측 방향을 나타내는 식별자이다. 리스트 번호는 단방향 예측의 경우에 "0"의 값을 갖는다. 반면에, 양방향 예측의 경우에는 2가지 유형의 예측을 사용할 수 있고, 따라서 리스트 번호는 2개의 값, 즉 "0"과 "1"을 갖는다. 참조 번호는 프레임 메모리(206)에서 표시된 1~N 중의 임의의 하나에 대응하는 값이다. WP 파라미터 정보가 각각의 참조 리스트와 참조 화상마다 유지되기 때문에, N개의 참조 화상이 있는 경우에는 B-슬라이스시에 2N개의 정보가 필요하다.
도 14는 제1 실시형태에 따른 가중 계수의 선택 범위를 도출하는 처리의 예를 보인 흐름도이다. 여기에서는 설명을 위해 인덱스 설정부(108)가 가중 계수의 선택 범위 도출 처리를 수행하는 경우를 가정하지만, 전술한 바와 같이 이 처리는 암호화부(110)에 의해 수행될 수도 있다.
먼저, 인덱스 설정부(108)가 가중 계수의 고정 소수점 정밀도(LWD)를 도출한다(단계 S02). 여기에서, 인덱스 설정부(108)는 WP 파라미터 정보 또는 인덱스 정보로부터 가중 계수의 고정 소수점 정밀도(LWD)를 도출할 수 있다.
이어서, 인덱스 설정부(108)는 도출된 고정 소수점 정밀도(LWD)를 이용하여 가중 계수의 기준치(1<<LWD)를 도출한다(단계 S03).
이어서, 인덱스 설정부(108)는 도출된 가중 계수의 기준치(1<<LWD)로부터 128을 감산하여 가중 계수의 선택 범위의 최소치를 도출한다(단계 S04).
이어서, 인덱스 설정부(108)는 도출된 가중 계수의 기준치(1<<LWD)에 127을 가산하여 가중 계수의 선택 범위의 최대치를 도출한다(단계 S05).
그 다음에, 인덱스 설정부(108)는 가중 계수가 도출된 가중 계수의 선택 범위 내에 포함되는지를 체크한다.
다시 도 1을 참조하면, 암호화부(110)는 양자화부(103)로부터 입력된 양자화 변환 계수, 모션 평가부(109)로부터 입력된 모션 정보, 인덱스 설정부(108)로부터 입력된 인덱스 정보와 가중 계수의 선택 범위, 및 암호화 제어부(111)에 의해 지정된 양자화 정보와 같은 각종 암호화 파라미터의 암호화 처리를 수행하여 암호화 데이터를 생성한다. 암호화 처리로는, 예를 들면, 허프만 암호화 또는 산술 부호화가 있다.
여기에서, 암호화 파라미터는 예측 방법 등을 나타내는 예측 정보, 양자화 변환 계수에 관한 정보, 및 양자화에 관한 정보와 같은, 복호 처리에 필요한 파라미터이다. 예를 들면, 도시를 생략한 내부 메모리를 암호화 제어부(111)에 포함시키고, 암호화 파라미터를 내부 메모리에 저장하며, 암호화가 완료된 인접 화소 블록의 암호화 파라미터를 화소 블록의 암호화시에 사용하도록 구성할 수 있다. 예를 들면, H.264의 인트라 예측에서는 화소 블록의 예측 정보가 이미 암호화된 인접 블록의 예측 정보로부터 도출될 수 있다.
암호화부(110)는 생성된 암호화 데이터를 암호화 제어부(111)에 의해 관리되는 적당한 출력 타이밍에 출력한다. 예를 들면 출력된 암호화 데이터인 각종의 정보는 도시를 생략한 다중화부 등에 의해 다중화되어 도시를 생략한 출력 버퍼 등에 임시로 저장되고, 그 다음에, 예를 들면 저장 시스템(기억 매체) 또는 전송 시스템(통신 회선)에 출력된다.
암호화부(110)는 엔트로피 암호화부(110A)와 인덱스 재구성부(110B)를 포함한다.
엔트로피 암호화부(110A)는 입력된 정보에 대하여 가변 길이 부호화 또는 산술 부호화 처리 등의 암호화 처리를 수행한다. 예를 들면, H.264에서는 콘텍스트 기반 적응형 가변 길이 부호화(context based adaptive variable length coding, CAVLC) 또는 콘텍스트 기반 적응형 이진수 산술 부호화(context based adaptive binary arithmetic coding, CABAC) 등이 사용된다.
인덱스 설정부(108)로부터 입력되는 인덱스 정보의 신택스 요소의 부호 길이를 줄이기 위해, 인덱스 재구성부(110B)는 신택스 요소의 파라미터의 특성에 기초하여 예측 처리를 수행하고, 신택스 요소의 값(직접 값)과 예측치 간의 차분치를 계산하고, 상기 차분치를 엔트로피 암호화부(110A)에 출력한다. 예측 처리의 구체적인 예는 뒤에서 설명한다. 또한, 가중 계수의 선택 범위가 암호화부(110)에 의해 도출된 경우에는 예측 처리가 인덱스 재구성부(110B)에 의해 수행된다.
도 15는 제1 실시형태에 따른 암호화 장치(100)에 의해 사용되는 신택스(500)의 예를 보인 도이다. 신택스(500)는 암호화 장치(100)를 이용하여 입력 화상(동화상 데이터)을 암호화함으로써 생성된 암호화 데이터의 구조를 나타낸다. 암호화 데이터를 복호할 때, 후술하는 복호 장치는 신택스(500)의 구조와 동일한 신택스 구조를 참조하여 동화상 데이터의 신택스 분석을 수행한다.
신택스(500)는 3개의 부분, 즉 하이 레벨 신택스(501), 슬라이스 레벨 신택스(502), 및 부호화(coding) 트리 레벨 신택스(503)를 포함한다. 하이 레벨 신택스(501)는 슬라이스보다 더 높은 레벨을 가진 상위층의 신택스 정보를 포함한다. 신택스 정보는 예를 들면 도 2b에 도시된 예에서 설명한 타일형 분할에 관한 정보를 포함한다. 여기에서, 슬라이스는 프레임 또는 필드에 포함된 직사각형 영역 또는 연속 영역을 나타낸다. 슬라이스 레벨 신택스(502)는 각 슬라이스를 복호하는 데 필요한 정보를 포함한다. 부호화 트리 레벨 신택스(503)는 각 부호화 트리(다시 말하면, 각 부호화 트리 블록)을 디코딩하는 데 필요한 정보를 포함한다. 상기 부분들은 각각 더 상세한 신택스를 포함한다.
하이 레벨 신택스(501)는 시퀀스 파라미터 세트 신택스(504), 픽쳐 파라미터 세트 신택스(505) 및 적응 파라미터 세트 신택스(506)와 같은 시퀀스 및 픽쳐 레벨의 신택스를 포함한다.
슬라이스 레벨 신택스(502)는 슬라이스 헤더 신택스(507), 프레드 웨이트 테이블 신택스(508), 슬라이스 데이터 신택스(509) 등을 포함한다. 프레드 웨이트 테이블 신택스(508)는 슬라이스 헤더 신택스(507)로부터 호출된다.
부호화 트리 레벨 신택스(503)는 부호화 트리 유닛 신택스(510), 변환 유닛 신택스(511), 예측 유닛 신택스(512) 등을 포함한다. 부호화 트리 유닛 신택스(510)는 사분목 구조를 가질 수 있다. 더 구체적으로, 부호화 트리 유닛 신택스(510)는 부호화 트리 유닛 신택스(510)의 신택스 요소로서 다시 재귀 호출될 수 있다. 다시 말해서, 하나의 부호화 트리 블록은 사분목으로 세분화될 수 있다. 또한, 변환 유닛 신택스(511)는 부호화 트리 유닛 신택스(510)에 포함된다. 변환 유닛 신택스(511)는 사분목의 최말단에 위치된 각각의 부호화 트리 유닛 신택스(510)로부터 호출된다. 변환 유닛 신택스(511)에는 역 직교 변환, 양자화 등에 관한 정보가 기술된다. 신택스에는 가중 모션 보상 예측에 관한 정보가 기술될 수 있다.
도 16은 제1 실시형태에 따른 픽쳐 파라미터 세트 신택스(505)의 예를 보인 도이다. 여기에서, weighted_pred_flag는 예를 들면 P-슬라이스에 대한 제1 실시형태에 따른 가중 보상 예측의 유효 또는 무효를 나타내는 신택스 요소이다. weighted_pred_flag가 "0"인 경우, P-슬라이스 내에서 제1 실시형태에 따른 가중 모션 보상 예측은 무효이다. 따라서, WP 파라미터 정보에 포함된 WP 적용 플래그는 항상 "0"으로 설정되고, WP 선택기(304, 305)의 출력단은 디폴트 모션 보상부(301)에 접속된다. 반면에, weighted_pred_flag가 "1"인 경우, P-슬라이스 내에서 제1 실시형태에 따른 가중 모션 보상 예측은 유효이다.
다른 예로서, weighted_pred_flag가 "1"인 경우, 제1 실시형태에 따른 가중 모션 보상 예측의 유효 또는 무효는 하위층(슬라이스 헤더, 부호화 트리 블록, 변환 유닛, 예측 유닛 등)의 신택스에 있어서 슬라이스 내의 각 국소 영역마다 규정될 수 있다.
또한, weighted_bipred_idc는 예를 들면 B-슬라이스에 대한 제1 실시형태에 따른 가중 보상 예측의 유효 또는 무효를 나타내는 신택스 요소이다. weighted_bipred_idc가 "0"인 경우, B-슬라이스 내에서 제1 실시형태에 따른 가중 모션 보상 예측은 무효이다. 따라서, WP 파라미터 정보에 포함된 WP 적용 플래그는 항상 "0"으로 설정되고, WP 선택기(304, 305)의 출력단은 디폴트 모션 보상부(301)에 접속된다. 반면에, weighted_bipred_idc가 "1"인 경우, B-슬라이스 내에서 제1 실시형태에 따른 가중 모션 보상 예측은 유효이다.
다른 예로서, weighted_bipred_idc가 "1"인 경우, 제1 실시형태에 따른 가중 모션 보상 예측의 유효 또는 무효는 하위층(슬라이스 헤더, 부호화 트리 블록, 변환 유닛, 예측 유닛 등)의 신택스에 있어서 슬라이스 내의 각 국소 영역마다 규정될 수 있다.
도 17은 제1 실시형태에 따른 슬라이스 헤더 신택스(507)의 예를 보인 도이다. 여기에서, slice_type은 슬라이스의 유형(I-슬라이스, P-슬라이스, B-슬라이스 등)을 나타낸다. 또한, pic_parameter_set_id는 505로 인용되는 픽쳐 파라미터 세트 신택스를 나타내는 식별자이다. num_ref_idx_active_override_flag는 유효 참조 화상의 수를 갱신해야 하는지 여부를 나타내는 플래그이고, 이 플래그가 "1"인 경우에는 참조 리스트의 참조 화상의 수를 규정하는 num_ref_idx_10_active_minus1 및 num_ref_idx_11_active_minus1을 사용할 수 있다. 또한, pred_weight_table()은 가중 모션 보상 예측을 위하여 사용되는 프레드 웨이트 테이블 신택스를 나타내는 함수이고, 이 함수는 weighted_pred_flag가 "1"이고 P-슬라이스인 경우 및 weighted_bipred_idc가 "1"이고 B-슬라이스인 경우에 호출된다.
도 18은 제1 실시형태에 따른 프레드 웨이트 테이블 신택스(508)의 예를 보인 도이다. 여기에서, luma_log2_weight_denom은 슬라이스에 있어서 휘도 신호의 가중 계수의 고정 소수점 정밀도(LWD)를 나타내고, 수학식 7 또는 수학식 9에 표시된 LWD에 대응하는 값이다. 또한, delta_chroma_log2_weight_denom은 슬라이스에 있어서 색차 신호의 고정 소수점 정밀도를 나타내고, 그 도출 방법은 뒤에서 설명한다. chroma_format_idc는 색 공간을 나타내는 식별자이고, MONO_IDX는 단색 영상을 나타내는 값이다. 또한, num_ref_common_active_minus1은 슬라이스의 공통 리스트에 포함된 참조 화상의 수에서 1을 감산함으로써 획득된 값을 나타낸다.
luma_weight_10_flag 및 luma_weight_11_flag는 리스트 0 및 1에 대응하는 휘도 신호의 WP 적용 플래그를 나타낸다. 이 플래그가 "1"인 경우에는 제1 실시형태에 따른 휘도 신호의 가중 모션 보상 예측이 슬라이스 내의 모든 영역에 대하여 유효이다. 또한, chroma_weight_10_flag 및 chroma_weight_11_flag는 리스트 0 및 1에 대응하는 색차 신호의 WP 적용 플래그를 나타낸다. 이 플래그가 "1"인 경우에는 제1 실시형태에 따른 색차 신호의 가중 모션 보상 예측이 슬라이스 내의 모든 영역에 대하여 유효이다. luma_weight_10[i] 및 luma_weight_11[i]는 리스트 0 및 1에 의해 관리되는 i번째 참조 번호에 대응하는 휘도 신호의 가중 계수이다. 또한, luma_offset_10[i] 및 luma_offset_11[i]는 리스트 0 및 1에 의해 관리되는 i번째 참조 번호에 대응하는 휘도 신호의 오프셋이다. 이들은 수학식 7 또는 수학식 9에서 표시된 w0C, w1C, o0C, o1C에 대응하는 값이다. 여기에서 C=Y이다.
chroma_weight_10[i][j] 및 chroma_weight_11[i][j]는 리스트 0 및 1에 의해 관리되는 i번째 참조 번호에 대응하는 색차 신호의 가중 계수이다. 또한, chroma_offset_10[i][j] 및 chroma_offset_11[i][j]는 리스트 0 및 1에 의해 관리되는 i번째 참조 번호에 대응하는 색차 신호의 오프셋이다. 이들은 수학식 7 또는 수학식 9에서 표시된 w0C, w1C, o0C, o1C에 대응하는 값이다. 여기에서 C=Cr 또는 Cb이다. 또한, j는 색차의 성분을 나타내고, 예를 들어서 YUV 4:2:0인 신호의 경우에, j=0은 Cr 성분을 나타내고, j=1은 Cb 성분을 나타낸다. 또한 이 표시는 j=0이 Cb 성분을 나타내고, j=1이 Cr 성분을 나타내도록 사용될 수도 있다.
여기에서, 신택스 구성에 있어서 가중 예측에 관한 각 신택스 요소를 예측하는 방법에 대하여 구체적으로 설명한다. 신택스 요소의 예측은 인덱스 재구성부(110B)에 의해 수행된다. 도 18에 도시된 예에서, 예측이 도입된 각 신택스 요소는 접두어 "delta"를 붙여서 표시되어 있다.
먼저, 가중 계수의 고정 소수점 정밀도를 나타내는 luma_log2_weight_denom 및 chroma_log2_weight_denom의 신호간 예측 방법에 대하여 설명한다. 인덱스 재구성부(110B)는 수학식 12를 이용하여 luma_log2_weight_denom 및 chroma_log2_weight_denom의 신호간 예측 방법을 수행하고, 수학식 13을 이용하여 복원 처리를 수행한다. 여기에서는, 도 18에 도시된 것처럼, luma_log2_weight_denom이 먼저 규정되기 때문에, chroma_log2_weight_denom은 luma_log2_weight_denom의 값에 기초하여 예측된다.
[수학식 12]
delta_chroma_log2_weight_denom = (chroma_log2_weight_denom - luma_log2_weight_denom)
[수학식 13]
chroma_log2_weight_denom = (luma_log2_weight_denom + delta_chroma_log2_weight_denom)
페이드 효과에 있어서는, 일반적으로, 각각의 색 공간에 대하여 시간적 변화가 다르게 되는 경우가 적기 때문에, 각각의 신호 성분에 대한 고정 소수점 정밀도는 휘도 성분 및 색차 성분과 강한 상관을 갖는다. 따라서, 전술한 바와 같이 색 공간 내에서 예측을 행함으로써, 고정 소수점 정밀도를 나타내는 정보의 양을 감소시킬 수 있다.
수학식 12에서는 휘도 성분이 색차 성분으로부터 감산되지만, 색차 성분이 휘도 성분으로부터 감산될 수도 있다. 그 경우에, 수학식 13은 수학식 12에 따라서 변경될 수 있다.
다음에, 휘도 신호 및 색차 신호의 가중 계수를 나타내는 luma_weight_lx[i] 및 chroma_weight_lx[i][j]를 예측하는 방법에 대하여 설명한다. 여기에서 x는 "0" 또는 "1"을 나타내는 식별자이다. luma_weight_lx[i] 및 chroma_weight_lx[i][j]의 값은 luma_log2_weight_denom 및 chroma_log2_weight_denom의 값에 따라서 변한다. 예를 들면, luma_log2_weight_denom의 값이 "3"인 경우에, luma_weight_lx[i]는 화소치의 변화가 없다고 가정할 때 (1<<3)이다. 반면에, luma_log2_weight_denom의 값이 "5"인 경우에, luma_weight_lx[i]는 명도의 변화가 없다고 가정할 때 (1<<5)이다.
따라서, 인덱스 재구성부(110B)는 화소치의 변화가 없는 경우의 가중 계수를 기준 계수(디폴트 값)로서 사용하여 예측 처리를 수행한다. 더 구체적으로, 인덱스 재구성부(110B)는 수학식 14 및 수학식 15를 이용하여 luma_weight_lx[i]의 예측 처리를 수행하고, 수학식 16을 이용하여 복원 처리를 수행한다. 유사하게, 인덱스 재구성부(110B)는 수학식 17 및 수학식 18을 이용하여 chroma_weight_lx[i]의 예측 처리를 수행하고, 수학식 19를 이용하여 복원 처리를 수행한다.
[수학식 14]
delta_luma_weight_lx[i] = (luma_weight_lx[i] - default_luma_weight_lx)
[수학식 15]
default_luma_weight_lx = (1 << luma_log2_weight_denom)
[수학식 16]
luma_weight_lx[i] = (default_luma_weight_lx + delta_luma_weight_lx[i])
[수학식 17]
delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j] - default_chroma_weight_lx)
[수학식 18]
default_chroma_weight_lx = (1 << chroma_log2_weight_denom)
[수학식 19]
chroma_weight_lx[i][j] = (default_chroma_weight_lx + delta_chroma_weight_lx[i][j])
여기에서, default_luma_weight_lx, default_chroma_weight_lx는 휘도 성분 및 색차 성분에 있어서 화소치 변화가 없은 경우의 기준치(디폴트 값)이다.
페이드 효과를 포함한 화상은 특정의 페이딩 변화점에서 페이드를 행하고, 다른 화상들은 통상의 자연 화상 또는 페이드 효과가 없는 화상인 경우가 많다. 그러한 경우에, 가중 계수는 화소치의 변화가 없는 경우를 취하는 경우가 많다. 따라서, 화소치의 변화가 없는 경우의 초기치는 고정 소수점 정밀도에 기초하여 도출되고 예측치로서 사용되어 가중 계수의 부호량이 감소될 수 있다.
다음에, 색차 신호의 오프셋을 나타내는 chroma_offset_lx[i][j]의 예측 방법에 대하여 설명한다. YUV의 색 공간에서, 색차 성분은 중간치로부터의 편차량을 이용하여 색을 표시한다. 따라서, 중간치를 고려한 화소치의 변화에 기초한 변화량을 가중 계수를 이용한 예측치로서 설정할 수 있다. 더 구체적으로, 인덱스 재구성부(110B)는 수학식 20 및 수학식 21을 이용하여 chroma_offset_lx[i][j]의 예측 처리를 수행하고, 수학식 22를 이용하여 복원 처리를 수행한다.
[수학식 20]
delta_chroma_offset_lx[i][j] = (chroma_offset_lx[i][j] + ((MED*chroma_weight_lx[i][j]) >> chroma_log2_weight_denom) - MED)
[수학식 21]
MED = (MaxChromaValue >> 1)
여기에서, MaxChromaValue는 색차 신호가 획득되는 최대 화소치를 나타낸다. 예를 들면, 8-비트 신호의 경우에, MaxChromaValue는 255이고, MED는 128이다.
[수학식 22]
chroma_offset_lx[i][j] = (delta_chroma_offset_lx[i][j] - ((MED*chroma_weight_lx[i][j]) >> chroma_log2_weight_denom) + MED)
색차 신호의 특성을 이용하여 중간치로부터의 편차량을 고려함으로써 획득된 예측치를 도입함으로써, 색차 신호의 오프셋 값의 부호량은 오프셋 값을 직접 암호화하는 경우보다 더 작아진다.
도 19는 제1 실시형태에 따른 신택스 요소의 값들의 관계 예를 보인 설명도이고, luma_log2_weight_denom, default_luma_weight_lx, luma_weight_lx[i], 및 delta_luma_weight_lx[i]의 값들의 관계를 보인 것이다. 도 19에 도시된 것처럼, 엔트로피 암호화부(110A)에 의해 암호화되는 신택스 요소인 delta_luma_weight_lx[i]의 범위, 다시 말하면 가중 계수들 간의 차분치는 -128 내지 127의 범위로 고정되고, 부호붙은 8-비트 정밀도를 갖는다.
상기와 같이, 제1 실시형태에서는 화소치의 변화가 0으로 되는 가중 계수의 기준점을 대략 중심으로 설정하여 음의 방향 및 양의 방향으로 값들을 지정함으로써 가중 계수의 선택 범위가 도출되고, 가중 계수가 가중 계수의 도출된 선택 범위 내에 포함되는지가 체크된다. 그러므로, 제1 실시형태에 따르면, H.264 등의 경우에 비하여 가중 계수의 선택 범위가 확장되고, 선택 빈도가 높은 양의 측의 값을 쉽게 취할 수 있다. 또한, 제1 실시형태에 따르면, 암호화 대상의 가중 계수들 간의 차분치가 -128~127의 부호붙은 8-비트 값을 고정 값으로서 취하기 때문에, 가중 계수의 선택 범위가 확장되는 동안 부호붙은 8-비트 정밀도의 선택 범위가 규정될 수 있다.
상기와 같이, 제1 실시형태에서는 암호화되는 신택스(가중 계수들 간의 차분치)의 범위를 고정 값으로 할 수 있기 때문에, 인코더가 그러한 범위를 동적으로 변화시키는 구성에 비하여 사양이 단순화될 수 있다. 예를 들면, 암호화할 신택스가 가중 계수로서 설정되고 가중 계수의 선택 범위가 가중 계수의 기준치에 따라 변하는 경우에, 가중 계수의 기준치 및 가중 계수 선택 범위의 최소치 및 최대치에 관한 테이블이 준비되고 그 테이블을 가중 계수의 선택 범위가 도출될 때마다 참조하는 구성, 또는 가중 계수의 선택 범위를 매번 산출하여 도출하는 구성이 필요하다. 그러한 경우에, 테이블이 메모리에 로드될 때마다 테이블을 참조하는 구성 또는 가중 계수의 선택 범위를 매번 계산하기 위해 사용되는 연산 회로가 필요하고, 따라서 하드웨어 규모가 증가한다. 이와 대조적으로, 제1 실시형태에 따르면, 암호화되는 신택스(가중 계수들 간의 차분치)의 범위를 고정 값으로 구성할 수 있기 때문에, 전술한 하드웨어 구성 등의 제약 없이 하드웨어 규모가 감소될 수 있다.
또한, 제1 실시형태에서는 범위가 부호붙은 8-비트 정밀도로 고정되는 가중 계수들 간의 차분치가 암호화되지만, 가중 계수들 간의 차분치는 범위의 중앙 부근(0 부근)의 값을 취하기 때문에 암호화시의 부호 길이를 줄일 수 있고, 부호화 효율을 개선할 수 있다. H.264 등에 있어서는 가중 계수가 부호붙은 지수 골롬 부호(Golomb coding)(se(v))에 의해 암호화되지만, 이 부호는 암호화되는 값이 0을 기준으로 하여 지수적으로 증가하는 심벌에 대하여 효과적이기 때문에, 일반적으로 이용 빈도가 가장 높은 기준치가 범위의 중심에 설정된다. 제1 실시형태에서는 일반적인 동화상의 픽쳐들 간의 화소치 변화가 0인 경우를 가중 계수의 기준치로서 사용하고, 또한 가중 계수 선택 범위의 예측에 있어서 기준치로부터의 예측이 도입된다. 이로부터, 지수 골롬 부호화 예측 및 가중 계수의 선택 범위가 서로 일치하고, 부호량 감소 효과가 높다. 또한, 중심으로 설정된 기준치에 의해 계수 범위가 결정되기 때문에, 큰 값을 취하는 경우에도 기준치로부터 양의 값 및 음의 값의 거리의 정도가 동일하고, 따라서 종래 기술의 경우보다 더 짧은 부호 길이를 이용하여 데이터를 암호화할 수 있는 장점이 있다.
또한, 제1 실시형태에 따라 도 16 내지 도 18에 예로서 도시된 신택스 테이블의 행들 간에 이 실시형태에서 규정하지 않은 신택스 요소가 삽입될 수 있고, 또는 다른 조건 분기에 관한 설명이 포함될 수 있다. 또한, 신택스 테이블이 복수의 테이블로 분할될 수 있고, 또는 복수의 신택스 테이블이 통합될 수 있다. 또한, 예시된 각 신택스 요소의 용어는 임의로 변경할 수 있다.
제2 실시형태
제2 실시형태에서는 제1 실시형태에 따른 암호화 장치에 의해 암호화된 암호화 데이터를 복호하는 복호 장치를 설명한다. 또한, 제2 실시형태에서는, 제1 실시형태와 유사하게, 화소치의 변화가 없는 경우, 다시 말하면 가중 계수의 값이 실수치로 표시해서 1.0인 경우를 가정하여 설명한다.
도 20은 제2 실시형태에 따른 복호 장치(800)의 구성 예를 보인 블록도이다.
복호 장치(800)는 도시를 생략한 입력 버퍼 등에 저장된 암호화 데이터를 복호 화상으로 복호하고, 복호 화상을 도시 생략한 출력 버퍼에 출력 화상으로서 출력한다. 암호화 데이터는 예를 들면 도 1에 도시된 암호화 장치(100) 등으로부터 출력되고, 도시 생략한 저장 시스템, 전송 시스템, 버퍼 등을 통하여 복호 장치(800)에 입력된다.
복호 장치(800)는 도 20에 도시된 것처럼 복호부(801), 역 양자화부(802), 역 직교 변환부(803), 가산부(804), 예측 화상 생성부(805), 및 인덱스 설정부(806)를 포함한다. 역 양자화부(802), 역 직교 변환부(803), 가산부(804), 및 예측 화상 생성부(805)는 도 1에 도시된 역 양자화부(104), 역 직교 변환부(105), 가산부(106), 및 예측 화상 생성부(107)와 실질적으로 동일하거나 유사한 요소이다. 또한, 도 20에 도시된 복호 제어부(807)는 복호 장치(800)를 제어하며, 예를 들면 CPU 등에 의해 실현된다.
암호화 데이터를 복호하기 위해, 복호부(801)는 각 프레임 또는 각 필드마다의 신택스에 기초하여 복호를 수행한다. 복호부(801)는 엔트로피 복호부(801A)와 인덱스 재구성부(801B)를 포함한다.
엔트로피 복호부(801A)는 각 신택스의 부호열의 엔트로피 복호를 순차적으로 수행하여 예측 모드, 모션 벡터 및 참조 번호를 포함한 모션 정보, 가중 모션 보상 예측을 예측하기 위해 사용하는 인덱스 정보, 및 양자화 변환 계수 등과 같은 암호화 대상 블록의 암호화 파라미터를 재생성한다. 또한, 엔트로피 복호는 파싱(parsing) 처리 등으로도 부른다. 여기에서, 암호화 파라미터는 위에서 설명한 것 외에 변환 계수에 관한 정보, 양자화에 관한 정보 등을 복호하는 데 필요한 모든 파라미터이다.
더 구체적으로, 엔트로피 복호부(801A)는 입력 암호화 데이터에 대하여 가변 길이 복호 처리 또는 산술 복호 처리와 같은 복호 처리를 수행하는 기능을 갖는다. 예를 들면, H.264에서는 콘텍스트 기반 적응형 가변 길이 부호화(CAVLC), 콘텍스트 기반 적응형 이진수 산술 부호화(CABAC) 등을 사용하고, 입력 암호화 데이터는 의미를 가진 신택스 요소로 복호된다. 그러한 처리는 복호 처리라고도 부른다.
인덱스 재구성부(801B)는 복호된 인덱스 정보를 복원함으로써 인덱스 정보를 재구성한다. 더 구체적으로, 복호된 인덱스 정보의 신택스 요소의 부호 길이를 줄이기 위해, 인덱스 재구성부(801B)는 신택스 요소의 파라미터 특성에 따라 예측 처리를 수행하고, 신택스 요소를 복원하며, 인덱스 정보를 재구성한다. 예측 처리의 구체적인 예는 뒤에서 설명한다.
복호부(801)는 모션 정보, 인덱스 정보 및 양자화 변환 계수를 출력하여 양자화 변환 계수를 역 양자화부(802)에 입력하고 인덱스 정보를 인덱스 설정부(806)에 입력하며 모션 정보를 예측 화상 생성부(805)에 입력한다.
역 양자화부(802)는 복호부(801)로부터 입력된 양자화 변환 계수의 역 양자화 처리를 수행하여 복원 변환 계수를 획득한다. 더 구체적으로, 역 양자화부(802)는 복호부(801)에서 사용된 양자화 정보에 기초하여 역 양자화를 수행한다. 더 자세히 설명하면, 역 양자화부(802)는 양자화 변환 계수에 양자화 정보에 기초하여 도출된 양자화 스텝 사이즈를 승산하여 복원 변환 계수를 획득한다. 역 양자화부(802)는 복원 변환 계수를 출력하여 역 직교 변환부(803)에 입력한다.
역 직교 변환부(803)는 역 양자화부(802)로부터 입력된 복원 변환 계수에 대하여 암호화 측에서 수행된 직교 변환에 대응하는 역 직교 변환을 수행하여 복원 예측 오차를 획득한다. 역 직교 변환부(803)는 복원 예측 오차를 출력하여 가산부(804)에 입력한다.
가산부(804)는 역 직교 변환부(803)로부터 입력된 복원 예측 오차와 대응하는 예측 화상을 가산하여 복호 화상을 생성한다. 가산부(804)는 복호 화상을 출력하여 예측 화상 생성부(805)에 입력한다. 또한, 가산부(804)는 복호 화상을 출력 화상으로서 외부에 출력한다. 그 다음에, 출력 이미지는 도시 생략된 외부 출력 버퍼 등에 임시로 저장되고, 예를 들면 복호 제어부(807)에 의해 관리되는 출력 타이밍에서 도시 생략된 디스플레이 또는 모니터와 같은 디스플레이 장치 시스템 또는 영상 장치 시스템에 출력된다.
인덱스 설정부(806)는 복호부(801)로부터 입력된 인덱스 정보를 수신하여 인덱스 정보를 WP 파라미터 정보로 변환하고, WP 파라미터 정보를 출력하여 예측 화상 생성부(805)에 입력한다. 더 구체적으로, 인덱스 설정부(806)는 엔트로피 복호부(801A)에 의해 복호 처리되고 인덱스 재구성부(801B)에 의해 재구성된 인덱스 정보를 수신한다. 그 다음에, 인덱스 설정부(806)는 참조 화상 및 참조 번호의 리스트를 체크하고, 인덱스 정보를 WP 파라미터 정보로 변환하고, 변환된 WP 파라미터 정보를 예측 화상 생성부(805)에 출력한다. 인덱스 정보를 WP 파라미터 정보로 변환한 때, 인덱스 설정부(806)는 가중 계수의 선택 범위를 도출하고, 가중 계수가 선택 범위 내에 포함되는지를 체크한다. 여기에서, 가중 계수 선택 범위의 도출은 제1 실시형태에서와 동일하고, 따라서 그 상세한 설명은 생략한다. 또한, 선택 범위의 도출은 인덱스 설정부(806)가 아닌 인덱스 재구성부(801B)에 의해 수행될 수 있다. 인덱스 설정부(806)와 인덱스 재구성부(801B)(복호부(801))의 각각은 도출부로 지칭될 수 있다.
또한, 제1 실시형태와 유사하게, WP 파라미터 정보는 제1 WP 적용 플래그, 제2 WP 적용 플래그, 및 가중 정보의 정보를 포함한다. 또한, 제1 실시형태와 유사하게, 가중 정보는 제1 가중 계수의 값(w0C), 제2 가중 계수의 값(w1C), 제1 및 제2 가중 계수의 고정 소수점 정밀도(LWD), 제1 오프셋(o0C) 및 제2 오프셋(o1C)의 정보를 포함한다.
예측 화상 생성부(805)는 복호부(801)로부터 입력된 모션 정보, 인덱스 설정부(806)로부터 입력된 WP 파라미터 정보, 및 가산부(804)로부터 입력된 복호 화상을 이용하여 예측 화상을 생성한다.
여기에서, 예측 화상 생성부(805)를 도 4를 참조하여 자세히 설명한다. 예측 화상 생성부(805)는, 예측 화상 생성부(107)와 유사하게, 복수 프레임 모션 보상부(201), 메모리(202), 단방향 모션 보상부(203), 예측 파라미터 제어부(204), 참조 화상 선택기(205), 프레임 메모리(206), 및 참조 화상 제어부(207)를 포함한다.
프레임 메모리(206)는 참조 화상 제어부(207)의 제어하에 상기 가산부(106)로부터 입력된 복호 화상을 참조 화상으로서 저장한다. 프레임 메모리(206)는 참조 화상을 임시로 저장하기 위해 사용되는 복수의 메모리 집합(FM1~FMN(여기에서, N≥1))을 포함한다.
예측 파라미터 제어부(204)는 복호부(801)로부터 입력된 모션 정보에 기초하여, 참조 화상 번호와 예측 파라미터의 복수의 조합을 테이블로서 준비한다. 여기에서, 상기 모션 정보는 모션 보상 예측용으로 사용되는 모션의 편차를 나타내는 모션 벡터, 참조 화상 번호, 및 단방향/양방향 예측과 같은 예측 모드에 관한 정보를 나타낸다. 예측 파라미터는 모션 벡터 및 예측 모드에 관한 정보를 나타낸다. 그 다음에, 예측 파라미터 제어부(204)는 모션 정보에 기초하여 예측 화상을 생성하기 위해 사용된 참조 화상 번호 및 예측 파라미터의 조합을 선택하여, 참조 화상 번호가 참조 화상 선택기(205)에 입력되고 예측 파라미터가 단방향 모션 보상부(203)에 입력되도록 상기 선택된 조합을 출력한다.
참조 화상 선택기(205)는 예측 파라미터 제어부(204)로부터 입력된 참조 화상 번호에 기초하여, 프레임 메모리(206)에 포함된 프레임 메모리(FM1~FMN)를 전환하기 위해 그 출력 단자 중의 하나를 변경하는 스위치이다. 예를 들면, 참조 화상 번호가 "0"일 때 참조 화상 선택기(205)는 프레임 메모리(FM1)의 출력 단자를 참조 화상 선택기(205)의 출력 단자에 접속하고, 참조 화상 번호가 N-1일 때 참조 화상 선택기(205)는 프레임 메모리(FMN)의 출력 단자를 참조 화상 선택기(205)의 출력 단자에 접속한다. 참조 화상 선택기(205)는 프레임 메모리(206)에 포함된 프레임 메모리(FM1~FMN) 중에서 출력 단자가 접속되어진 프레임 메모리에 저장된 참조 화상을 출력하여 단방향 모션 보상부(203)에 입력한다. 복호 장치(800)에서는 참조 화상이 예측 화상 생성부(805) 이외의 어떠한 유닛에서도 사용되지 않기 때문에, 참조 화상은 예측 화상 생성부(805)의 외부로 출력될 필요가 없다.
단방향 모션 보상부(203)는 예측 파라미터 제어부(204)로부터 입력된 예측 파라미터 및 참조 화상 선택기(205)로부터 입력된 참조 화상에 기초하여 모션 보상 예측 처리를 수행하여 단방향 예측 화상을 생성한다. 모션 보상 예측에 대해서는 도 5를 참조하여 이미 설명하였고, 따라서 그 설명은 생략한다.
단방향 모션 보상부(203)는 단방향 예측 화상을 출력하여 그 단방향 예측 화상을 메모리(202)에 임시로 저장한다. 여기에서, 모션 정보(예측 파라미터)가 양방향 예측을 표시하는 경우에는 복수 프레임 모션 보상부(201)가 2가지 유형의 단방향 예측 화상을 이용하여 가중 예측을 행한다. 따라서, 단방향 모션 보상부(203)는 제1 유형의 단방향 예측 화상에 대응하는 단방향 예측 화상을 메모리(202)에 저장하고, 제2 유형에 대응하는 단방향 예측 화상을 복수 프레임 모션 보상부(201)에 직접 출력한다. 여기에서, 상기 제1 유형에 대응하는 단방향 예측 화상은 제1 예측 화상이라고 부르고, 상기 제2 유형에 대응하는 단방향 예측 화상은 제2 예측 화상이라고 부른다.
또한, 2개의 단방향 모션 보상부(203)를 구비하여 2개의 단방향 예측 화상을 생성할 수 있다. 그 경우에, 모션 정보(예측 파라미터)가 단방향 예측을 표시하면, 단방향 모션 보상부(203)는 제1의 단방향 예측 화상을 제1 예측 화상으로서 복수 프레임 모션 보상부(201)에 직접 출력할 수 있다.
복수 프레임 모션 보상부(201)는 메모리(202)로부터 입력된 제1 예측 화상, 단방향 모션 보상부(203)로부터 입력된 제2 예측 화상, 및 모션 평가부(109)로부터 입력된 WP 파라미터 정보를 이용하여 가중 예측을 행하고, 이것에 의해 예측 화상을 생성한다. 복수 프레임 모션 보상부(201)는 예측 화상을 출력하여 가산부(804)에 입력한다.
여기에서, 복수 프레임 모션 보상부(201)에 대하여 도 6을 참조하여 자세히 설명한다. 예측 화상 생성부(107)와 유사하게, 복수 프레임 모션 보상부(201)는 디폴트 모션 보상부(301), 가중 모션 보상부(302), WP 파라미터 제어부(303), 및 WP 선택기(304, 305)를 포함한다.
WP 파라미터 제어부(303)는 인덱스 설정부(806)로부터 입력된 WP 파라미터 정보에 기초하여 WP 적용 플래그 및 가중 정보를 출력하여, WP 적용 플래그를 WP 선택기(304, 305)에 입력하고 가중 정보를 가중 모션 보상부(302)에 입력한다.
더 자세히 설명하면, WP 파라미터 정보가 인덱스 설정부(806)로부터 입력된 때, WP 파라미터 제어부(303)는 제1 WP 적용 플래그, 제2 WP 적용 플래그 및 가중 정보로 분할되는 WP 파라미터 정보를 출력하여, 제1 WP 적용 플래그를 WP 선택기(304)에, 제2 WP 적용 플래그를 WP 선택기(305)에, 및 가중 정보를 가중 모션 보상부(302)에 각각 입력한다.
또한, WP 파라미터 정보가 입력된 때, WP 파라미터 제어부(303)는 가중 정보의 값이 규정 범위 내에 있는지를 체크한다. 예를 들면, w0C가 실수치로 표시할 때 3.0이고 LWD가 7인 경우에, 제1 가중 계수는 384이다. 여기에서, 384는 제1 가중 계수의 범위 외이고 사용될 수 없는 것으로 추정된다. 그 경우에, 데이터는 규격을 위반하게 되고, 따라서 WP 파라미터 제어부(303)는 규격 위반을 표시하는 정보를 복호 제어부(807)에 통지하고 복호 처리를 중지할 수 있다. 또한, WP 파라미터 제어부(303)는 제1 가중 계수의 범위 내에서 클리핑 처리를 수행하고 복호 처리를 진행할 수 있다. 더 나아가, WP 파라미터 제어부(303)는 제1 WP 적용 플래그의 값을 1로부터 0으로 변경하고 디폴트 모션 보상 예측을 수행할 수 있다.
WP 선택기(304, 305)는 WP 파라미터 제어부(303)로부터 입력된 WP 적용 플래그에 기초하여 예측 화상의 접속단을 변경한다. 대응하는 WP 적용 플래그가 "0"인 경우, 각각의 WP 선택기(304, 305)는 그 출력단을 디폴트 모션 보상부(301)에 접속한다. 그 다음에, WP 선택기(304, 305)는 제1 및 제2 예측 화상을 출력하여 디폴트 모션 보상부(301)에 입력한다. 반면에, 대응하는 WP 적용 플래그가 "1"인 경우, 각각의 WP 선택기(304, 305)는 그 출력단을 가중 모션 보상부(302)에 접속한다. 그 다음에, WP 선택기(304, 305)는 제1 및 제2 예측 화상을 출력하여 가중 모션 보상부(302)에 입력한다.
디폴트 모션 보상부(301)는 WP 선택기(304, 305)로부터 입력된 2개의 단방향 예측 화상(제1 및 제2 예측 화상)에 기초한 평균치 처리를 수행하여 예측 화상을 생성한다. 더 구체적으로, 제1 및 제2 WP 적용 플래그가 "0"인 경우에, 디폴트 모션 보상부(301)는 수학식 1에 기초하여 평균치 처리를 수행한다.
또한, 모션 정보(예측 파라미터)에 의해 표시되는 예측 모드가 단방향 예측인 경우에, 디폴트 모션 보상부(301)는 수학식 4에 기초하여 제1 예측 화상만을 이용하여 최종 예측 화상을 산출한다.
가중 모션 보상부(302)는 WP 선택기(304, 305)로부터 입력된 2개의 단방향 예측 화상(제1 및 제2 예측 화상) 및 WP 파라미터 제어부(303)로부터 입력된 가중 정보에 기초하여 가중 모션 보상을 수행한다. 더 구체적으로, 제1 및 제2 WP 적용 플래그가 "1"인 경우에, 가중 모션 보상부(302)는 수학식 7에 기초하여 가중 처리를 수행한다.
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 수학식 8에서처럼 고정 소수점 정밀도인 LWD를 제어함으로써 라운딩 처리를 실현한다.
또한, 모션 정보(예측 파라미터)에 의해 표시되는 예측 모드가 단방향 예측인 경우에, 가중 모션 보상부(302)는 수학식 9에 따라 제1 예측 화상만을 이용하여 최종 예측 화상을 산출한다.
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 양방향 예측의 경우와 유사하게, 수학식 8에서처럼 고정 소수점 정밀도인 LWD를 제어함으로써 라운딩 처리를 실현한다.
가중 계수의 고정 소수점 정밀도는 도 7을 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 단방향 예측의 경우에는 제2 예측 화상에 대응하는 각종 파라미터(제2 WP 적용 플래그, 제2 가중 계수, 및 제2 오프셋 정보)가 사용되지 않고, 미리 정해진 초기치로 설정될 수 있다.
복호부(801)는 도 15에 도시된 신택스(500)를 이용한다. 신택스(500)는 복호부(801)의 복호 대상인 암호화 데이터의 구조를 나타낸다. 신택스(500)는 도 15를 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 픽쳐 파라미터 세트 신택스(505)는 암호화 대신에 복호가 사용된다는 점을 제외하고 도 16을 참조하여 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 슬라이스 헤더 신택스(507)는 암호화 대신에 복호가 사용된다는 점을 제외하고 도 17을 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 프레드 웨이트 테이블 신택스(508)는 암호화 대신에 복호가 사용된다는 점을 제외하고 도 18을 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다.
여기에서는 신택스 구성에 있어서 가중 예측에 관련한 각 신택스 요소를 예측하는 방법에 대하여 자세히 설명한다. 신택스 요소의 예측은 인덱스 재구성부(801B)에 의해 수행된다. 제2 실시형태에 따른 예측 방법을 명시적으로 나타내는 신택스 구성은 제1 실시형태의 것과 동일하다.
가중 계수의 고정 소수점 정밀도를 나타내는 luma_log2_weight_denom 및 chroma_log2_weight_denom의 신호 간 예측 방법에서는 복원 처리가 수학식 13을 이용하여 수행된다.
휘도 및 색차 신호의 가중 계수를 나타내는 luma_weight_lx[i] 및 chroma_weight_lx[i][j]의 예측 방법에서는 복원 처리가 수학식 16 및 수학식 19를 이용하여 수행된다.
전술한 복수의 예측 방법은 독립적으로 사용될 수 있을 뿐만 아니라 조합 방식으로도 사용될 수 있다. 예를 들면, 수학식 13, 15 및 19 등을 조합함으로써, 인덱스 정보의 신택스 요소의 부호량을 효과적으로 줄일 수 있다.
상기와 같이, 제2 실시형태에서는 화소치의 변화가 0으로 되는 가중 계수의 기준점을 대략 중심으로 설정하여 음의 방향 및 양의 방향으로 값들을 지정함으로써 가중 계수의 선택 범위가 도출되고, 가중 계수가 가중 계수의 도출된 선택 범위에 포함되는지가 체크된다. 그러므로, 제2 실시형태에 따르면, H.264 등의 경우에 비하여 가중 계수의 선택 범위가 확장되고, 선택 빈도가 높은 양의 측의 값을 쉽게 취할 수 있다. 또한, 제2 실시형태에 따르면, 복호 대상의 가중 계수들 간의 차분치가 -128~127의 부호붙은 8-비트 값을 고정 값으로서 취하기 때문에, 가중 계수의 선택 범위가 확장되는 동안 부호붙은 8-비트 정밀도의 선택 범위가 규정될 수 있다.
상기와 같이, 제2 실시형태에서는 복호되는 신택스(가중 계수들 간의 차분치)의 범위를 고정 값으로 할 수 있기 때문에, 디코더는 복호된 암호화 데이터가 미리 정해진 사양의 범위 내에 있는지를 간단한 방식으로 체크할 수 있고, 사양이 단순화될 수 있다. 예를 들면, 복호할 신택스가 가중 계수로서 설정되고 가중 계수의 선택 범위가 가중 계수의 기준치에 따라 변하는 경우에, 가중 계수의 기준치 및 가중 계수 선택 범위의 최소치 및 최대치에 관한 테이블이 준비되고 그 테이블을 가중 계수의 선택 범위가 도출될 때마다 참조하는 구성이 필요하다. 그러한 경우에, 테이블이 메모리에 로드될 때마다 테이블을 참조하는 구성이 필요하고, 따라서 하드웨어 규모가 증가한다. 이와 대조적으로, 제2 실시형태에 따르면, 복호되는 신택스(가중 계수들 간의 차분치)의 범위를 고정 값을 갖도록 구성할 수 있기 때문에, 전술한 하드웨어 구성 등의 제약 없이 하드웨어 규모가 감소될 수 있다.
또한, 제2 실시형태에서는 범위가 부호붙은 8-비트 정밀도로 고정되는 가중 계수들 간의 차분치가 복호되지만, 가중 계수들 간의 차분치는 범위의 중앙 부근(0 부근)의 값을 취하기 때문에 복호시의 부호 길이를 줄일 수 있고, 부호화 효율을 개선할 수 있다. H.264 등에 있어서는 가중 계수가 부호붙은 지수 골롬 부호(se(v))에 의해 복호되지만, 이 부호는 복호되는 값이 0을 기준으로 하여 지수적으로 증가하는 심벌에 대하여 효과적이기 때문에, 일반적으로 이용 빈도가 가장 높은 기준치가 범위의 중심에 설정된다. 제2 실시형태에서는 일반적인 동화상의 픽쳐들 간의 화소치 변화가 0인 경우를 가중 계수의 기준치로서 사용하고, 또한 가중 계수 선택 범위의 예측에 있어서 기준치로부터의 예측이 도입된다. 이로부터, 지수 골롬 부호 예측 및 가중 계수의 선택 범위가 서로 일치하고, 부호량 감소 효과가 높다. 또한, 중심으로 설정된 기준치에 의해 계수 범위가 결정되기 때문에, 큰 값을 취하는 경우에도 기준치로부터 양의 값 및 음의 값의 거리의 정도가 동일하고, 따라서 종래 기술의 경우보다 더 짧은 부호 길이를 이용하여 데이터를 복호할 수 있는 장점이 있다.
제1 실시형태의 변형예 1
제1 실시형태에서는 암호화 장치(100)에서 가중 계수의 선택 범위의 도출을 설명하였지만, 변형예 1에서는 암호화 장치(100)에서 오프셋의 선택 범위의 도출을 설명할 것이다.
수학식 20 내지 수학식 22를 참조하여 설명한 것처럼, YUV의 색 공간에 있어서 색차 성분은 중간치로부터의 편차량을 이용하여 색을 표시한다. 따라서, 따라서, 가중 계수를 이용하여 중간치를 고려한 화소치의 변화로부터의 변화량을 예측치로서 설정할 수 있다. 이 예측치는 가중 계수의 영향이 배제된 경우에 오프셋의 기준치를 나타낸다. 다시 말해서, 인덱스 설정부(108)는 예측치(오프셋의 기준치)를 대략 중심으로 한 값에 의해 취해지는 범위를 지정함으로써 오프셋의 선택 범위를 도출할 수 있고, 오프셋이 오프셋의 도출된 선택 범위에 포함되는지를 체크할 수 있다.
예를 들면, LWD가 2이고 가중 계수의 값이 5인 경우에, 가중 계수의 기준치는 (1<<2), 다시 말하면 4이다. 반면에, 가중 계수의 값이 5이기 때문에, 화소치의 변화가 발생한다. 색차 신호는 중간치로부터의 편차량을 이용하여 색을 표시하기 때문에, 인덱스 설정부(108)는 가중 계수의 영향을 배제함으로써 오프셋의 기준치를 획득한다. 오프셋의 기준치는 수학식 23을 이용하여 공식화된다.
[수학식 23]
Pred = (MED - ((MED*chroma_weight_lx[i][j]) >> chroma_log2_weight_denom))
여기에서 Pred는 색차 신호의 오프셋의 기준치를 나타내고, MED는 색차 신호의 중간치(8 비트의 경우에는 128)를 나타내며, 우측 항은 가중 계수의 영향에 기인하는 중간치로부터의 편차량을 나타낸다. 또한, 수학식 23은 수학식 20의 우측 끝 항의 부호를 반대로 하여 얻어진 값에 대응한다. 수학식 23에 표시된 것처럼, 색차 신호의 오프셋의 기준치는 색차 신호의 가중 계수 및 고정 정밀도에 기초하여 결정된다.
또한, 수학식 23은 수학식 24와 같이 변환될 수 있다.
[수학식 24]
Pred = ((1 << (BitDepth - 1)) - ((chroma_weight_lx[i][j]) << (BitDepth - 1 - chroma_log2_weight_denom))
여기에서 BitDepth는 색차 신호의 화소 깊이를 나타내고, BitDepth는 8-비트 신호의 경우에 8이다. 수학식 23에 표시된 MED가 2의 멱승으로서 표시된 값이기 때문에, 우측의 시프트의 내측을 BitDepth를 이용하여 고쳐씀으로써 수학식 24와 같이 표현될 수 있다.
도 21은 변형예 1에 따른 색차 신호의 오프셋의 선택 범위의 예를 보인 설명도이다. 도 21에 도시된 예에 있어서, Pred는 선택 범위의 대략 중심에 위치하도록 배치되고, (Pred)-(1<<OR)는 선택 범위의 최소치이며, (Pred)+(1<<OR)-1은 선택 범위의 최대치이다. 또한, OR는 오프셋의 비트 정밀도를 나타내고, 예를 들면 H.264 등에서는 8이다. 도 21에 도시된 것처럼, 색차 신호의 오프셋의 선택 범위는 색차 신호의 오프셋의 기준치를 대략 중심으로 해서 미리 정해진 비트 정밀도 내에서 규정된다. 비록 구체적인 설명은 생략하지만, 암호화 대상의 색차 신호의 오프셋들 간의 차분치(색차 신호의 오프셋의 차분치 및 색차 신호의 오프셋의 기준치)는 오프셋의 비트 정밀도의 고정 값으로서 규정될 수 있다. 예를 들면, 8-비트 정밀도의 경우에, 색차 신호의 오프셋들 간의 차분치는 -128~127의 8-비트 고정 값이다. 또한, 예를 들면, 9-비트 정밀도의 경우에, 색차 신호의 오프셋들 간의 차분치는 -256~255의 9-비트 고정 값이다.
이로부터, 기준치의 복원이 없으면 암호화할 값의 범위가 정해지지 않는 문제점을 해결할 수 있다. 또한, 변형예 1에서는 색차 신호의 오프셋의 선택 범위가 인덱스 설정부(108)에 의해 도출되는 예를 설명하였지만, 선택 범위의 도출은 이것에 한정되지 않고 암호화부(110)에 의해 수행될 수도 있다.
도 22는 변형예 1에 따른 색차 신호의 오프셋의 선택 범위를 도출하는 처리의 예를 보인 흐름도이다. 여기에서는 인덱스 설정부(108)가 색차 신호의 오프셋의 선택 범위를 도출하는 처리를 수행하는 경우로서 설명하겠지만, 전술한 바와 같이, 이 처리는 암호화부(110)에 의해 수행될 수도 있다.
먼저, 인덱스 설정부(108)가 가중 계수의 고정 소수점 정밀도(LWD)를 도출한다(단계 S12). 여기에서, 인덱스 설정부(108)는 WP 파라미터 정보 또는 인덱스 정보로부터 가중 계수의 고정 소수점 정밀도(LWD)를 도출할 수 있다.
이어서, 인덱스 설정부(108)는 가중 계수(WXC)를 도출한다(단계 S13). 여기에서, 인덱스 설정부(108)는 WP 파라미터 정보 또는 인덱스 정보로부터 가중 계수(WXC)를 도출할 수 있다.
이어서, 인덱스 설정부(108)는 도출된 가중 계수의 고정 소수점 정밀도(LWD) 및 가중 계수(WXC)를 이용하여 수학식 23에 의해 색차 신호의 오프셋의 기준치를 도출한다(단계 S14).
이어서, 인덱스 설정부(108)는 색차 신호의 오프셋의 도출된 기준치로부터 (1<<OR)를 감산하여 색차 신호의 오프셋의 선택 범위의 최소치를 도출한다(단계 S15).
이어서, 인덱스 설정부(108)는 색차 신호의 오프셋의 도출된 기준치에 (1<<OR)-1을 가산하여 색차 신호의 오프셋의 선택 범위의 최대치를 도출한다(단계 S16).
그 다음에, 인덱스 설정부(108)는 색차 신호의 오프셋이 색차 신호의 오프셋의 도출된 선택 범위 내에 포함되는지를 체크한다. 또한, 색차 신호의 오프셋의 선택 범위에 색차 신호의 오프셋이 포함되어 있지 않다고 확인된 경우에는 인덱스 설정부(108)가 색차 신호의 오프셋의 선택 범위의 최대치 또는 최소치를 이용하여 클리핑 처리를 수행할 수 있다. 그 경우에, 인덱스 설정부(108)는 색차 신호의 오프셋이 선택 범위의 최소치 미만인 경우 색차 신호의 오프셋을 그 최소치로 클리핑하고, 색차 신호의 오프셋이 선택 범위의 최대치보다 큰 경우 색차 신호의 오프셋을 그 최대치로 클리핑할 수 있다. 이러한 클리핑 처리를 도입함으로써, 색차 신호의 오프셋 간의 차분치와 같은 암호화 대상의 값은 특정의 범위 제약을 설치하지 않고 미리 정해진 비트 정밀도 내의 값을 취할 수 있고, 따라서 하드웨어에 의해 사용되는 회로 규모의 구성을 명확히 할 수 있다.
또한, 도 18을 참조하여 설명한 것처럼, 가중 계수의 값 및 고정 소수점 정밀도의 정보는 오프셋의 정보 전에 먼저 암호화되고, 오프셋의 기준치가 도출된 때 가중 계수의 값을 도출할 수 있다.
또한, 변형예 1에서 설명한 색차 신호에 대한 제1 및 제2 오프셋의 선택 범위는 제1 실시형태에서 설명한 제1 및 제2 가중 계수의 선택 범위와는 별도로 적용될 수 있다. 예를 들면, 제1 및 제2 가중 계수의 선택 범위는 H.264에서와 동일하게 하고, 제1 및 제2 오프셋의 선택 범위는 변형예 1에서와 동일하게 되도록 구성할 수 있다.
변형예 1에 따르면, 암호화되는 신택스(오프셋들 간의 차분치)의 범위를 고정 값으로 할 수 있기 때문에, 인코더가 그러한 범위를 동적으로 변화시키는 구성에 비하여 사양이 단순화될 수 있다. 또한, 암호화할 신택스가 오프셋으로서 설정되고 오프셋의 선택 범위가 오프셋의 기준치에 따라 변하는 경우에, 오프셋의 기준치 및 오프셋 선택 범위의 최소치 및 최대치에 관한 테이블이 준비되고 오프셋의 선택 범위가 도출될 때마다 상기 테이블을 참조하는 구성, 또는 오프셋의 선택 범위를 매번 산출하여 도출하는 구성이 필요하다. 그러한 경우에, 테이블이 메모리에 로드될 때마다 테이블을 참조하는 구성 또는 오프셋의 선택 범위를 매번 계산하기 위해 사용되는 연산 회로가 필요하고, 따라서 하드웨어 규모가 증가한다. 이와 대조적으로, 암호화되는 신택스(오프셋들 간의 차분치)의 범위가 변형예 1에서와 같이 고정된 경우에는, 전술한 하드웨어 구성 등의 제약 없이 하드웨어 규모가 감소될 수 있다.
제2 실시형태의 변형예 1
제2 실시형태에서는 복호 장치(800)에서 가중 계수의 선택 범위의 도출을 설명하였지만, 제2 실시형태의 변형예 1에서는 복호 장치(800)에서 오프셋의 선택 범위의 도출을 설명할 것이다. 제2 실시형태의 변형예 1에 있어서, 인덱스 설정부(806)는 예측치(오프셋의 기준치)를 대략 중심으로 설정한 값에 의해 취해지는 범위를 지정함으로써 오프셋의 선택 범위를 도출할 수 있고, 오프셋이 오프셋의 도출된 선택 범위에 포함되는지를 체크할 수 있다. 오프셋의 선택 범위의 도출은 제1 실시형태의 변형예 1에서와 동일하고, 따라서 그 상세한 설명은 생략한다. 또한, 오프셋의 선택 범위의 도출은 인덱스 설정부(806)에 의해 수행되지 않고 인덱스 재구성부(801B)에 의해 수행될 수도 있다.
제2 실시형태의 변형예 1에 따르면, 암호화되는 신택스(오프셋들 간의 차분치)의 범위가 고정 값을 가질 수 있기 때문에, 인코더가 그러한 범위를 동적으로 변화시키는 구성에 비하여 사양이 단순화될 수 있다. 또한, 암호화할 신택스가 오프셋으로서 설정되고 오프셋의 선택 범위가 오프셋의 기준치에 따라 변하는 경우에, 오프셋의 기준치 및 오프셋 선택 범위의 최소치 및 최대치에 관한 테이블이 준비되고 오프셋의 선택 범위가 도출될 때마다 상기 테이블을 참조하는 구성, 또는 오프셋의 선택 범위를 매번 산출하여 도출하는 구성이 필요하다. 그러한 경우에, 테이블이 메모리에 로드될 때마다 테이블을 참조하는 구성 또는 오프셋의 선택 범위를 매번 계산하기 위해 사용되는 연산 회로가 필요하고, 따라서 하드웨어 규모가 증가한다. 이와 대조적으로, 암호화되는 신택스(오프셋들 간의 차분치)의 범위가 변형예 1에서와 같이 고정된 경우에는, 전술한 하드웨어 구성 등의 제약 없이 하드웨어 규모가 감소될 수 있다.
제1 실시형태의 변형예 2
제1 실시형태에서는 암호화 장치(100)에서 가중 계수의 선택 범위의 도출을 설명하였지만, 변형예 2에서는 가중 계수의 선택 범위가 암호화 장치(100)에서 도출될 때 가중 계수의 선택 범위가 시프트되는 예를 설명할 것이다.
제1 실시형태에서는, 도 9를 참조하여 설명한 것처럼, 가중 계수의 선택 범위의 대략 중앙이 가중 계수의 기준치로서 설정된다. 또한, 도 7 등을 참조하여 설명한 것처럼, 화상들 간에 평균적인 화소치 변화가 없는 경우에, 가중 계수의 값은 실수치로 표시했을 때 1.0이고, 가중 계수가 음으로 되는 범위는 단방향 가중 예측시에 선택되지 않는다. 이로부터, 실용적으로 동작하는 가중 계수의 선택 범위에 있어서, 기준치 부근에서의 선택 빈도가 가장 높고, 음의 범위는 많이 사용되지 않는다. 따라서, 변형예 2에서는 가중 계수의 선택 범위를 도출할 때 인덱스 설정부(108)가 가중 계수의 선택 범위를 양의 측으로 시프트시킨다.
도 23은 변형예 2에 따른 가중 계수의 선택 범위의 예를 보인 설명도이다. 도 23에 도시된 예에서는, 도 9를 참조하여 설명한 가중 계수의 선택 범위와는 다르게, 가중 계수의 기준치(1<<LWD)에 시프트치(SHIFT)를 가산하여 얻어진 새로운 기준치((1<<LWD) + SHIFT)가 선택 범위의 대략 중앙에 위치하도록 배치되고, 이 값으로부터 128을 감산하여 얻어진 값(-128 + (1<<LWD) + SHIFT)이 선택 범위의 최소치로 되며, 이 값에 127을 가산하여 얻어진 값(127 + (1<<LWD) + SHIFT)이 선택 범위의 최대치로 된다. 이때, 상기 최대치가 고정 소수점 정밀도(LWD)의 값에 기초하여 255보다 크게 되는 경우가 있지만, 인덱스 설정부(108)는 상기 최대치를 255로 설정하는 클리핑 처리를 수행하거나, 또는 각각의 고정 소수점에 대하여 취해질 수 있는 SHIFT의 값을 변경할 수 있다. 또한, 변형예 2에서는 가중 계수의 선택 범위를 인덱스 설정부(108)에 의해 도출하는 예를 설명하였지만, 선택 범위의 도출은 이것으로 한정되지 않고 암호화부(110)에 의해 수행될 수도 있다.
도 24는 변형예 2에 따른 가중 계수의 선택 범위를 도출하는 처리의 예를 보인 흐름도이다. 여기에서는 인덱스 설정부(108)가 가중 계수의 선택 범위를 도출하는 처리를 수행하는 경우를 상정하여 설명하지만, 전술한 바와 같이, 선택 범위는 암호화부(110)에 의해 도출될 수도 있다.
먼저, 인덱스 설정부(108)가 가중 계수의 고정 소수점 정밀도(LWD)를 도출한다(단계 S22). 여기에서, 인덱스 설정부(108)는 WP 파라미터 정보 또는 인덱스 정보로부터 가중 계수의 고정 소수점 정밀도(LWD)를 도출할 수 있다.
*이어서, 인덱스 설정부(108)는 도출된 고정 소수점 정밀도(LWD) 및 시프트치(SHIFT)를 이용하여 가중 계수의 기준치((1<<LWD) + SHIFT)를 도출한다(단계 S23).
이어서, 인덱스 설정부(108)는 가중 계수의 도출된 기준치((1<<LWD) + SHIFT)로부터 128을 감산하여 가중 계수의 선택 범위의 최소치를 도출한다(단계 S24).
이어서, 인덱스 설정부(108)는 가중 계수의 도출된 기준치((1<<LWD) + SHIFT)에 127을 가산하여 가중 계수의 선택 범위의 최대치를 도출한다(단계 S25).
그 다음에, 인덱스 설정부(108)는 가중 계수가 가중 계수의 도출된 선택 범위 내에 포함되는지를 체크한다. 또한, 도출된 가중 계수의 선택 범위에 가중 계수가 포함되어 있지 않다고 확인된 경우에는 인덱스 설정부(108)가 가중 계수의 선택 범위의 최대치 또는 최소치를 이용하여 클리핑 처리를 수행할 수 있다. 그 경우에, 인덱스 설정부(108)는 가중 계수가 선택 범위의 최소치 미만인 경우 가중 계수를 그 최소치로 클리핑하고, 가중 계수가 선택 범위의 최대치보다 큰 경우 가중 계수를 그 최대치로 클리핑할 수 있다. 이러한 클리핑 처리를 도입함으로써, 가중 계수들 간의 차분치와 같은 암호화 대상의 값은 특정의 범위 제약을 설치하지 않고 미리 정해진 비트 정밀도 내의 값을 취할 수 있고, 따라서 하드웨어에 의해 사용되는 회로 규모의 구성을 명확히 할 수 있다.
상기와 같이, 변형예 2에서는, 가중 계수의 선택 범위에 있어서, 가중 계수의 변화를 고려하여 소정치만큼 시프트된 기준치를 중심으로 설정하여 값들이 음의 방향 및 양의 방향으로 지정되고, 암호화되는 값들의 범위가 고정될 수 있다.
제2 실시형태의 변형예 2
제2 실시형태에서는 가중 계수의 선택 범위가 복호 장치(800)에서 도출되는 것으로 설명하였지만, 제2 실시형태의 변형예 2에서는 가중 계수의 선택 범위가 복호 장치(800)에서 도출될 때 가중 계수의 선택 범위가 시프트되는 예를 설명할 것이다. 제2 실시형태의 변형예 2에서는 가중 계수의 선택 범위가 도출될 때 인덱스 설정부(806)가 가중 계수의 선택 범위를 시프트시킨다. 가중 계수의 선택 범위의 도출은 제1 실시형태의 변형예 2의 경우와 동일하고, 따라서 그 상세한 설명은 생략한다. 또한, 가중 계수의 선택 범위는 인덱스 설정부(806)에 의해 도출되지 않고 인덱스 재구성부(801B)에 의해 도출될 수도 있다.
상기와 같이, 제2 실시형태의 변형예 2에서는, 가중 계수의 선택 범위에 있어서, 가중 계수의 변화를 고려하여 소정치만큼 시프트된 기준치를 중심으로 설정하여 값들이 음의 방향 및 양의 방향으로 지정되고, 복호되는 값들의 범위가 고정될 수 있다.
제1 실시형태의 변형예 3
변형예 3에서는 제1 실시형태에 따라 암호화 장치(100)에서 가중 계수의 선택 범위를 도출하는 기술 이외의 다른 도출 기술에 대하여 설명한다.
변형예 3에서는 수학식 14 내지 수학식 16으로 표시되는 luma_weight_lx[i]가 고정 선택 범위를 갖고, delta_luma_weight_lx[i]가 LWD에 따라 동적 선택 범위를 갖는다. 또한, 변형예 5의 가중 계수 luma_weight_lx[i]의 선택 범위는 도 9에 도시된 것과 같다.
도 25는 변형예 3에 따른 암호화 대상의 가중 계수들 간의 차분치의 범위의 예를 보인 설명도이다. 도 25에 도시된 예에서는 가중 계수의 차분치 delta_luma_weight_lx[i]가 부호붙은 8-비트 신호의 가산 또는 감산을 수행하기 위해 부호붙은 9-비트 값을 취한다. 반면에, 가중 계수의 기준치는 고정 소수점 정밀도에 따라 증가하는 값을 취하고, 가중 계수들 간의 차분치는 고정 소수점 정밀도의 값이 증가함에 따라 음의 측으로 기울어지는 경향이 있다.
도 26은 변형예 3에 따른 신택스 요소의 값들 간의 관계 예를 보인 설명도이고, luma_log2_weight_denom, default_luma_weight_lx, luma_weight_lx[i], 및 delta_luma_weight_lx[i]의 값들 간의 관계를 보인 것이다. 엔트로피 암호화부(110A)에 의해 암호화된 신택스 요소인 delta_luma_weight_lx[i], 다시 말해서, 가중 계수들 간의 차분치에 의해 취해지는 범위는, 도 19에 도시된 것처럼, 고정 소수점 정밀도를 나타내는 luma_log2_weight_denom의 값이 증가함에 따라 음의 측으로 기울어지는 경향이 있는 것으로 이해된다. 또한, 복호된 가중 계수의 값 luma_weight_lx[i]는 -128~127의 고정 범위를 갖는 것으로 이해된다.
상기와 같이, 변형예 3에 따르면, 암호화되는 차분치의 범위는 복호된 가중 계수의 값이 고정 선택 범위를 갖도록 설정되기 때문에, 예측 방법이 바뀌는 경우에도 H.264에서와 동일한 선택 범위가 설정될 수 있다.
제2 실시형태의 변형예 3
제2 실시형태의 변형예 3에서는 제2 실시형태에 따라 복호 장치(800)에서 가중 계수의 선택 범위를 도출하는 기술 이외의 다른 도출 기술에 대하여 설명한다. 그러나, 제2 실시형태의 변형예 3에 따른 가중 계수의 선택 범위의 도출 기술은 제1 실시형태의 변형예 3에서와 동일하고, 따라서 그 상세한 설명은 생략한다.
상기와 같이, 제2 실시형태의 변형예 3에 따르면, 복호되는 차분치의 범위는 가중 계수의 값이 고정 선택 범위를 갖도록 설정되기 때문에, 예측 방법이 바뀌는 경우에도 H.264에서와 동일한 선택 범위가 설정될 수 있다.
제1 실시형태의 변형예 4
변형예 4에서는 제1 실시형태의 변형예 3에 따른 가중 계수의 선택 범위가 도출될 때 가중 계수의 선택 범위가 시프트되는 예를 설명한다.
변형예 4에서는 인덱스 설정부(108)가 가중 계수들 간의 차분치의 범위를 양의 측으로 시프트시키지만, 이것은 복호 후의 가중 계수의 선택 범위를 양의 측으로 시프트시키는 것과 실질적으로 등가이다.
도 27은 변형예 4에 따른 가중 계수들 간의 차분치의 범위의 예를 보인 설명도이다. 제1 실시형태의 변형예 3과 비교해서, -128~127의 8-비트 범위에서 값을 취하는 가중 계수들 간의 차분치의 범위는 SHIFT만큼 양의 측으로 시프트된다.
도 28은 변형예 4에 따른 복호 후의 가중 계수의 선택 범위를 보인 것이다. 도 28로부터, 변형예 4에서는 가중 계수의 범위가 차분치의 시프트 양만큼 양의 측으로 시프트된 것을 이해할 수 있다. 그러한 구성 하에서도, 종래에는 선택될 수 없었던 LWD가 7인 경우의 기준치가 선택될 수 있다.
제2 실시형태의 변형예 4
제2 실시형태의 변형예 4에서는 제2 실시형태의 변형예 3에 따라 가중 계수의 선택 범위가 도출될 때 가중 계수의 선택 범위가 시프트되는 예를 설명한다. 그러나, 제2 실시형태의 변형예 4에 따라 가중 계수의 선택 범위를 시프트시키는 기술은 제1 실시형태의 변형예 4에서와 동일하고, 따라서 그 상세한 설명은 생략한다. 그러한 구성 하에서도, 종래에는 선택될 수 없었던 LWD가 7인 경우의 기준치가 선택될 수 있다.
제1 실시형태의 변형예 5
변형예 5에서는 제1 실시형태의 변형예 3 및 4에 따라 가중 계수들 간의 차분치에 대하여 래핑(wrapping) 처리를 수행하는 예를 설명한다.
도 25를 참조하여 설명한 것처럼, 가중 계수들 간의 차분치는 부호붙은 9-비트 신호(-256~126)이고 고정 소수점 정밀도가 증가함에 따라 음의 측으로 기울어진다. 일반적으로, 가중 계수는 지수 골롬 부호 등을 이용하여 엔트로피 암호화되고, 따라서 균형이 양/음의 측으로 기울어진 경우에는 부호화 효율이 저하되는 경우가 있다. 비록 가중 계수들 간의 차분치의 범위가 고정 소수점 정밀도에 따라 달라지지만, 고정 소수점 정밀도가 결정된 경우의 범위는 8 비트 내에 있다. 예를 들면, LWD가 7인 경우에 차분치의 범위는 -256~-1이고, 기준 0에 대하여 범위가 시프트된 경우에는 그 범위가 0~255의 8 비트의 값에 대응한다. 따라서, 인덱스 재구성부(110B)는 고정 소수점 정밀도에 따라서 부호붙은 9 비트를 부호없는 8 비트로 래핑 처리를 수행한다. 그 경우에, 양의 방향의 값은 종래의 값을 취하고, 음의 방향의 값은 양의 값의 말단부에 접속된다.
도 29는 변형예 5에 따른 가중 계수들 간의 차분치의 래핑 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)가 인덱스 정보로부터 가중 계수의 고정 소수점 정밀도(LWD)를 도출한다(단계 S32).
이어서, 인덱스 재구성부(110B)는 인덱스 정보로부터 가중 계수를 도출한다(단계 S33).
이어서, 인덱스 재구성부(110B)는 도출된 고정 소수점 정밀도(LWD)를 이용하여 가중 계수의 기준치(1<<LWD)를 도출한다(단계 S34).
이어서, 인덱스 재구성부(110B)는 수학식 14를 이용하여 가중 계수들 간의 차분치를 도출한다(단계 S35).
이어서, 인덱스 재구성부(110B)는 가중 계수의 기준치(1<<LWD)에 기초하여 래핑 처리를 수행하고, 양의 값은 그대로 유지하고 음의 값을 양의 최대치의 뒤에 접속하여 부호없는 8-비트 코드를 생성한다(단계 S36).
그 다음에, 인덱스 재구성부(110B)에 의해 생성된 코드에 대하여 엔트로피 부호화부(110A)에 의한 엔트로피 부호화가 수행된다.
상기와 같이, 변형예 5에서는 부호붙은 9 비트의 값에 대하여 래핑 처리를 수행함으로써 값들이 부호없는 8 비트로 일정하게 암호화될 수 있기 때문에, 부호붙은 9 비트의 지수 골롬 암호화부와 같은 하드웨어가 배치될 필요가 없다.
제2 실시형태의 변형예 5
제2 실시형태의 변형예 5에서는 제2 실시형태의 변형예 3 및 4에 따라 가중 계수들 간의 차분치에 대하여 래핑 처리를 수행하는 예를 설명한다.
도 25를 참조하여 설명한 것처럼, 가중 계수들 간의 차분치는 부호붙은 9-비트 신호(-256~126)이고 고정 소수점 정밀도가 증가함에 따라 음의 측으로 기울어진다. 일반적으로, 가중 계수는 지수 골롬 부호 등을 이용하여 엔트로피 암호화되고, 따라서 균형이 양/음의 측으로 기울어진 경우에는 부호화 효율이 저하되는 경우가 있다. 비록 가중 계수들 간의 차분치의 범위가 고정 소수점 정밀도에 따라 달라지지만, 고정 소수점 정밀도가 결정된 경우의 범위는 8 비트 내에 있다. 예를 들면, LWD가 7인 경우에 차분치의 범위는 -256~-1이고, 기준 0에 대하여 범위가 시프트된 경우에는 그 범위가 0~255의 8 비트의 값에 대응한다. 따라서, 인덱스 재구성부(110B)는 고정 소수점 정밀도에 따라서 부호붙은 9 비트를 부호없는 8 비트로 래핑 처리를 수행한다. 그 경우에, 양의 방향의 값은 종래의 값을 취하고, 음의 방향의 값은 양의 값의 말단부에 접속된다.
도 30은 제2 실시형태의 변형예 5에 따른 가중 계수의 복원 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(801A)가 암호화 데이터를 복호하여 가중 계수의 고정 소수점 정밀도(LWD)를 도출한다(단계 S42).
이어서, 인덱스 재구성부(801A)는 다음에 암호화 데이터를 복호하여 가중 계수들 간의 차분치를 나타내는 부호없는 8-비트 코드를 복호한다(단계 S43).
이어서, 인덱스 재구성부(801B)는 도출된 고정 소수점 정밀도(LWD)를 이용하여 가중 계수의 기준치(1<<LWD)를 도출한다(단계 S44).
이어서, 인덱스 재구성부(801B)는 도출된 가중 계수의 기준치(1<<LWD)를 이용하여 부호없는 8-비트 코드를 부호붙은 9 비트들 간의 차분치로 복원한다(단계 S45). 여기에서, 기준치 미만의 값들은 복호 데이터에 기초하여 유지되고, 기준치 이상의 코드들은 음의 측에 접속되어 차분치가 복원된다. 상기와 같이 가중 계수들 간의 복원된 차분치가 도출되고, 가중 계수는 수학식 15를 이용하여 복원된다.
전술한 바와 같이, 제2 실시형태의 변형예 5에서는 부호붙은 9 비트의 값에 대하여 래핑 처리를 수행함으로써 값들이 부호없는 8 비트로 일정하게 암호화될 수 있기 때문에, 부호붙은 9 비트의 지수 골롬 암호화부와 같은 하드웨어가 배치될 필요가 없다.
변형예 6
전술한 제1 및 제2 실시형태에서는 프레임이 16×16 화소 등의 사이즈를 각각 가진 직사각형 블록으로 분할되고 화면의 상부 좌측 블록으로부터 하부 우측 블록을 향하는 순으로 암호화/복호되는 예를 설명하였다(도 2a 참조). 그러나, 암호화 순서 및 복호 순서는 이 예에서 설명한 것으로 제한되지 않는다. 예를 들면, 암호화 및 복호는 하부 우측으로부터 상부 좌측을 향하는 순으로 수행될 수 있고, 또는 암호화 및 복호는 화면의 중앙으로부터 화면의 단부를 향하여 소용돌이를 그리도록 수행될 수도 있다. 또한, 암호화 및 복호는 상부 우측으로부터 하부 좌측을 향하는 순으로 수행될 수 있고, 또는 암호화 및 복호는 화면의 단부로부터 화면의 중앙을 향하여 소용돌이를 그리도록 수행될 수도 있다. 그 경우에는 암호화 순서에 따라 참조될 수 있는 인접 화소 블록의 위치가 변하기 때문에, 그 위치를 적절히 이용할 수 있는 위치로 변경할 수 있다.
전술한 제1 및 제2 실시형태에서는 4×4 화소 블록, 8×8 화소 블록, 16×16 화소 블록 등과 같은 예측 대상 블록 사이즈를 예로 하여 설명하였지만, 예측 대상 블록은 균일한 블록 형상을 가질 필요가 없다. 예를 들면, 예측 대상 블록의 사이즈는 16×8 화소 블록, 8×16 화소 블록, 8×4 화소 블록, 4×8 화소 블록 등으로 할 수 있다. 또한, 하나의 부호화 트리 블록 내의 모든 블록 사이즈를 균일화할 필요가 없고, 서로 다른 복수의 블록 사이즈가 혼합되어 있을 수도 있다. 하나의 부호화 트리 블록 내에 서로 다른 복수의 블록 사이즈가 혼합되어 있는 경우에는 분할 정보를 암호화 또는 복호하기 위한 부호량이 분할 수의 증가에 따라서 증가한다. 그러므로, 분할 정보의 부호량과 국소 암호화 화상 또는 복호 화상의 품질 간의 균형을 고려하여 블록 사이즈를 선택하는 것이 바람직하다.
전술한 제1 및 제2 실시형태에서는, 간편성을 위해, 일부 부분의 설명을 휘도 신호와 색차 신호의 예측 처리 또는 선택 범위 도출 방법을 서로 구별하지 않고 색 신호 성분에 대하여 포괄적으로 제시하였다. 그러나, 예측 처리 또는 선택 범위 도출 방법이 휘도 신호와 색차 신호 간에 다른 경우에는 동일한 예측 방법 또는 서로 다른 예측 방법이 사용될 수 있다. 휘도 신호와 색차 신호에 대하여 서로 다른 예측 방법을 사용하는 경우에는 휘도 신호의 경우와 유사하게 색차 신호에 대하여 선택된 예측 방법을 이용하여 암호화 또는 복호를 수행할 수 있다.
전술한 제1 및 제2 실시형태에서는, 간편성을 위해, 휘도 신호와 색차 신호의 가중 모션 보상 예측 처리를 서로 구별하지 않고 색 신호 성분에 대하여 포괄적인 설명을 제시하였다. 그러나, 휘도 신호와 색차 신호의 가중 예측 처리가 서로 다른 경우에는 동일한 가중 예측 방법 또는 서로 다른 가중 예측 방법이 사용될 수 있다. 휘도 신호와 색차 신호에 대하여 서로 다른 가중 예측 방법을 사용하는 경우에는 휘도 신호의 경우와 유사하게 색차 신호에 대하여 선택된 가중 예측 방법을 이용하여 암호화 또는 복호를 수행할 수 있다.
전술한 제1 및 제2 실시형태에서는, 신택스 구성으로 표시한 테이블의 행들 간에, 이 실시형태에서 규정하지 않은 신택스 요소가 삽입될 수 있고, 다른 조건 분기에 관한 기술이 포함될 수 있다. 대안적으로, 신택스 테이블을 복수의 테이블로 분할할 수 있고, 또는 신택스 테이블을 함께 통합할 수도 있다. 또한, 동일한 용어가 사용될 필요가 없고, 사용되는 형태에 따라서 용어를 임의로 변경할 수 있다.
전술한 바와 같이, 각각의 실시형태 및 각각의 변형예에 따르면, 신택스 요소에 의해 취해지는 값의 범위가 가중 모션 보상 예측이 이루어질 때 규정되는 구성을 이용함으로써, 그에 따른 값들의 범위가 비트 예측의 범위 내에서 설정되고, 실제로 높은 사용 빈도를 가진 값에 대하여 짧은 부호 길이가 주어지고, 신택스 요소의 용장 정보를 암호화하는 문제점이 해결되며, 고효율의 가중 모션 보상 예측 처리가 실현된다. 그러므로, 각각의 실시형태 및 각각의 변형예에 따르면, 부호화 효율이 개선되고 주관 화질이 개선된다.
본 발명의 몇 가지 실시형태를 설명하였지만, 그러한 실시형태는 예로서 제시된 것이고 본 발명의 범위를 제한하는 것이 아니다. 이들 신규의 실시형태는 각종의 다른 형태로 수행될 수 있고, 각종의 생략, 치환 및 변경이 본 발명의 개념으로부터 벗어나지 않는 범위 내에서 이루어질 수 있다. 상기 실시형태 및 그 변형예들은 본 발명의 범위 또는 개념에 속하는 것이고, 특허 청구범위에 기술된 본 발명 및 그 균등 범위에 속하는 것이다.
예를 들면, 전술한 각 실시형태의 처리를 실현하는 프로그램이 컴퓨터 판독가능 기억 매체에 저장되어 제공될 수 있다. 기억 매체로서는 프로그램을 저장할 수 있고 컴퓨터에 의해 판독가능한 자기 디스크, 광학 디스크(CD-ROM, CD-R, DVD 등), 자기-광학 디스크(MO 등) 또는 반도체 메모리와 같은 기억 매체가 기억 형태에 관계없이 사용될 수 있다.
또한, 각 실시형태의 처리를 실현하는 프로그램이 인터넷과 같은 네트워크에 접속된 컴퓨터(서버)에 저장되어 네트워크를 통하여 컴퓨터(클라이언트)에 다운로드될 수도 있다.
100: 암호화 장치 101: 감산부
102: 직교 변환부 103: 양자화부
104: 역 양자화부 105: 역 직교 변환부
106: 가산부 107: 예측 화상 생성부
108: 인덱스 설정부 109: 모션 평가부
110: 암호화부 110A: 엔트로피 암호화부
110B: 인덱스 재구성부 111: 암호화 제어부
201: 복수 프레임 모션 보상부 202: 메모리
203: 단방향 모션 보상부 204: 예측 파라미터 제어부
205: 참조 화상 선택기 206: 프레임 메모리
207: 참조 화상 제어부 301: 디폴트 모션 보상부
302: 가중 모션 보상부 303: WP 파라미터 제어부
304, 305: WP 선택기 800: 복호 장치
801: 복호부 801A: 엔트로피 복호부
801B: 인덱스 재구성부 802: 역 양자화부
803: 역 직교 변환부 804: 가산부
805: 예측 화상 생성부 806: 인덱스 설정부
807: 복호 제어부

Claims (8)

  1. 복호 장치에 있어서,
    참조 화상을 승산하는데 사용되는 가중 계수의 거칠기를 나타내는 고정 소수점 정밀도를 복호하도록 구성되는 제1 복호부로서, 상기 가중 계수는 제1 범위 내에 있는 것인, 상기 제1 복호부와,
    상기 고정 소수점 정밀도에 기초하여 제1 기준치를 도출하도록 구성되는 도출부와,
    상기 가중 계수와 상기 제1 기준치 간의 차분치인 제1 차분치에 상기 제1 기준치를 가산하여 상기 가중 계수를 복호하도록 구성되는 제2 복호부로서, 상기 제1 차분치는 제1 미리 정해진 범위 내에 있는 것인, 상기 제2 복호부
    를 포함하며,
    상기 제1 범위는 상기 고정 소수점 정밀도에 따라 변하여, 상기 제1 차분치가 상기 제1 미리 정해진 범위 내에 있는 것인 복호 장치.
  2. 제1항에 있어서, 상기 제1 미리 정해진 범위는 -128 내지 127인 것인 복호 장치.
  3. 제1항에 있어서, 상기 제1 기준치는, 참조 화상과 암호화될 대상 화상 사이의 화소치의 차가 특정치 이하이면, 설정될 계수를 나타내는 것인 복호 장치.
  4. 제1항에 있어서, 상기 도출부는, 상기 참조 화상에 가산됨으로써 화소치를 보정하기 위해 사용되는 오프셋의 기준치인 제2 기준치를, 최대 화소치의 중간치에 상기 가중 계수를 승산하여 얻어진 값을 상기 중간치로부터 감산함으로써, 추가로 도출하도록 구성되며, 상기 오프셋은 제2 범위 내에 있고, 상기 오프셋과 상기 제2 기준치 사이의 제2 차분치는 제2 미리 정해진 범위 내에 있으며,
    상기 제2 복호부는, 상기 제2 차분치에 상기 제2 기준치를 가산함으로써 상기 오프셋을 추가로 복호하도록 구성되며,
    상기 제2 범위는 상기 고정 소수점 정밀도에 따라 변하여 상기 제2 차분치가 상기 제2 미리 정해진 범위 내에 있는 것인 복호 장치.
  5. 제4항에 있어서, 상기 제2 미리 정해진 범위는 미리 정해진 비트 정밀도의 고정 범위인 것인 복호 장치.
  6. 제4항에 있어서, 상기 도출부는, 상기 오프셋이 상기 제2 범위에 포함되지 않을 때 상기 오프셋이 상기 제2 범위에 포함되도록 클리핑 처리를 수행하도록 구성되는 것인 복호 장치.
  7. 제1항에 있어서, 상기 도출부는, 상기 고정 소수점 정밀도의 2의 멱승인 제1 기준치를 도출하는 것인 복호 장치.
  8. 복호 방법에 있어서,
    참조 화상을 승산하는데 사용되는 가중 계수의 거칠기를 나타내는 고정 소수점 정밀도를 복호하는 단계로서, 상기 가중 계수는 범위 내에 있는 것인, 상기 고정 소수점 정밀도를 복호하는 단계와,
    상기 고정 소수점 정밀도에 기초하여 기준치를 도출하는 단계와,
    상기 가중 계수와 상기 기준치 간의 차분치에 상기 기준치를 가산하여 상기 가중 계수를 복호하는 단계로서, 상기 차분치는 미리 정해진 범위 내에 있는 것인, 상기 가중 계수를 복호하는 단계
    를 포함하며,
    상기 범위는 상기 고정 소수점 정밀도에 따라 변하여 상기 차분치가 상기 미리 정해진 범위 내에 있는 것인 복호 방법.
KR1020157031715A 2012-06-27 2012-06-27 복호 장치 및 복호 방법 KR101639965B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/066410 WO2014002217A1 (ja) 2012-06-27 2012-06-27 符号化方法、復号方法、符号化装置、及び復号装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147005650A Division KR101624059B1 (ko) 2012-06-27 2012-06-27 암호화 장치 및 암호화 방법

Publications (2)

Publication Number Publication Date
KR20150129065A KR20150129065A (ko) 2015-11-18
KR101639965B1 true KR101639965B1 (ko) 2016-07-14

Family

ID=49782448

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147005650A KR101624059B1 (ko) 2012-06-27 2012-06-27 암호화 장치 및 암호화 방법
KR1020157031715A KR101639965B1 (ko) 2012-06-27 2012-06-27 복호 장치 및 복호 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147005650A KR101624059B1 (ko) 2012-06-27 2012-06-27 암호화 장치 및 암호화 방법

Country Status (12)

Country Link
US (9) US9462291B2 (ko)
EP (5) EP3506639B1 (ko)
JP (1) JP5925801B2 (ko)
KR (2) KR101624059B1 (ko)
CN (3) CN106791833B (ko)
AU (1) AU2012383769B2 (ko)
BR (1) BR112014004652B1 (ko)
CA (4) CA3070902C (ko)
MX (2) MX336158B (ko)
RU (1) RU2609063C2 (ko)
SG (1) SG11201400296RA (ko)
WO (1) WO2014002217A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013057783A1 (ja) 2011-10-17 2013-04-25 株式会社東芝 符号化方法及び復号方法
US9473769B2 (en) 2012-06-08 2016-10-18 Texas Instruments Incorporated Method and system for reducing slice header parsing overhead in video coding
MX336158B (es) 2012-06-27 2016-01-11 Toshiba Kk Dispositivo de codificacion, dispositivo de decodificacion, metodo de codificacion, y metodo de decodificacion.
CA2929400A1 (en) * 2013-11-05 2015-05-14 Arris Enterprises, Inc. Simplified processing of weighted prediction syntax and semantics using a bit depth variable for high precision data
WO2015069734A1 (en) * 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics
GB2554167B (en) * 2014-05-01 2019-06-26 Imagination Tech Ltd Approximating functions
GB2547052B (en) * 2016-02-08 2020-09-16 Canon Kk Methods, devices and computer programs for encoding and/or decoding images in video bit-streams using weighted predictions
WO2018037919A1 (ja) * 2016-08-26 2018-03-01 シャープ株式会社 画像復号装置、画像符号化装置、画像復号方法、および画像符号化方法
CN117579826A (zh) * 2018-01-09 2024-02-20 夏普株式会社 运动矢量推导装置、运动图像解码装置以及运动图像编码装置
EP3550834A1 (en) * 2018-04-06 2019-10-09 Comcast Cable Communications LLC Encoding of video cross-fades using weighted inter-prediction
CN111083489B (zh) 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
WO2020103870A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
JP7241870B2 (ja) 2018-11-20 2023-03-17 北京字節跳動網絡技術有限公司 部分的な位置に基づく差分計算
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
US20220174277A1 (en) * 2019-03-11 2022-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Video coding involving gop-based temporal filtering
CN113647099B (zh) 2019-04-02 2022-10-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导
WO2020224613A1 (en) * 2019-05-07 2020-11-12 Beijing Bytedance Network Technology Co., Ltd. Unified calculation method for inter prediction with refinement
CN114402610A (zh) * 2019-09-13 2022-04-26 北京字节跳动网络技术有限公司 视频编解码中的加权样点双向预测
US20220360769A1 (en) * 2021-04-26 2022-11-10 Tencent America LLC Bi-prediction without signaling cu-level weights

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738423B1 (en) * 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
ES2661697T3 (es) * 2001-11-06 2018-04-03 Panasonic Intellectual Property Corporation Of America Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
US7295609B2 (en) * 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
KR100628489B1 (ko) 2002-01-18 2006-09-26 가부시끼가이샤 도시바 동화상 부호화방법 및 장치와 컴퓨터 독출가능 매체
JP2004007379A (ja) 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
MXPA05003463A (es) * 2002-10-01 2005-07-05 Thomson Licensing Sa Ponderacion implicita de imagenes de referencia en un decodificador de video.
JP2004179687A (ja) 2002-11-22 2004-06-24 Toshiba Corp 動画像符号化/復号化方法及び装置
WO2004054225A2 (en) 2002-12-04 2004-06-24 Thomson Licensing S.A. Encoding of video cross-fades using weighted prediction
JP2007525072A (ja) * 2003-06-25 2007-08-30 トムソン ライセンシング 置換されたフレーム差を使用する重み付き予測推定の方法と装置
JP2005318297A (ja) 2004-04-28 2005-11-10 Toshiba Corp 動画像符号化・復号方法及び装置
JP5062833B2 (ja) 2004-09-16 2012-10-31 トムソン ライセンシング 局在的な輝度変動を利用した重み付き予測ビデオ・コーデックのための方法および装置
US20060137843A1 (en) 2004-12-29 2006-06-29 Sutman Frank J Retention and drainage in the manufacture of paper
US8638862B2 (en) * 2005-03-18 2014-01-28 Sharp Laboratories Of America, Inc. Methods and systems for upsampling filter design
US8457203B2 (en) 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2007061518A (ja) 2005-09-02 2007-03-15 Nippon Hanekku:Kk 温熱浴用の天然鉱石粉砕粒物
JP2007081518A (ja) 2005-09-12 2007-03-29 Victor Co Of Japan Ltd 動画像符号化装置および動画像符号化方法
US20070097903A1 (en) 2005-11-03 2007-05-03 Interdigital Technology Corporation Method and apparatus of exchanging messages via a wireless distribution system between groups operating in different frequencies
US7831434B2 (en) 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
JP5224459B2 (ja) 2006-02-02 2013-07-03 トムソン ライセンシング 動き補償予測のための適応重み選択を行う方法および装置
GB2444992A (en) * 2006-12-21 2008-06-25 Tandberg Television Asa Video encoding using picture division and weighting by luminance difference data
US8630346B2 (en) * 2007-02-20 2014-01-14 Samsung Electronics Co., Ltd System and method for introducing virtual zero motion vector candidates in areas of a video sequence involving overlays
CN101335902B (zh) * 2007-06-25 2010-06-02 华为技术有限公司 视频编解码中的加权预测方法和装置
US20110007893A1 (en) * 2009-07-08 2011-01-13 Berk Sunar Method and apparatus for fingerprinting and copy protecting optical recording media
CN101631242A (zh) * 2009-07-30 2010-01-20 上海交通大学 视频加权预测系统及其编码解码方法
EP2302933A1 (en) 2009-09-17 2011-03-30 Mitsubishi Electric R&D Centre Europe B.V. Weighted motion compensation of video
US9083984B2 (en) * 2010-03-19 2015-07-14 Texas Instruments Incorporated Adaptive coding structure and adaptive FCode determination in video coding
WO2011126288A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
EP2375754A1 (en) 2010-04-09 2011-10-12 Mitsubishi Electric R&D Centre Europe B.V. Weighted motion compensation of video
CN102223527B (zh) * 2010-04-13 2013-04-17 华为技术有限公司 频带加权量化编解码方法和装置
US20110261885A1 (en) * 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
RU2422967C1 (ru) 2010-05-17 2011-06-27 Государственное образовательное учреждение высшего профессионального образования "Пермский государственный технический университет" Способ уменьшения реактивного намагничивающего тока в элементах систем электроснабжения и устройство для его осуществления
CA2847296C (en) 2011-10-17 2017-09-19 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
WO2013057783A1 (ja) 2011-10-17 2013-04-25 株式会社東芝 符号化方法及び復号方法
MX336158B (es) 2012-06-27 2016-01-11 Toshiba Kk Dispositivo de codificacion, dispositivo de decodificacion, metodo de codificacion, y metodo de decodificacion.

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Akiyuki Tanizawa ET. AL., Redundancy removal of explicit weighted prediction syntax, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva*

Also Published As

Publication number Publication date
EP3700215B1 (en) 2021-10-27
JP5925801B2 (ja) 2016-05-25
US20190200019A1 (en) 2019-06-27
EP2869574B1 (en) 2018-08-29
AU2012383769B2 (en) 2015-08-06
CA2971911C (en) 2020-03-24
US20200244964A1 (en) 2020-07-30
CN106899849B (zh) 2019-08-13
KR20140057311A (ko) 2014-05-12
EP3193506A1 (en) 2017-07-19
MX353824B (es) 2018-01-31
CN103765897A (zh) 2014-04-30
CA2971911A1 (en) 2014-01-03
EP3506639A1 (en) 2019-07-03
CN103765897B (zh) 2017-09-26
US20140079125A1 (en) 2014-03-20
KR101624059B1 (ko) 2016-05-24
CA3070902C (en) 2022-08-02
US20170163984A1 (en) 2017-06-08
CN106791833B (zh) 2019-10-11
BR112014004652A2 (pt) 2017-03-28
RU2014107491A (ru) 2016-08-10
US9621914B2 (en) 2017-04-11
MX2014002541A (es) 2014-04-16
EP3203745A1 (en) 2017-08-09
CN106899849A (zh) 2017-06-27
US20150264388A1 (en) 2015-09-17
CA2847304A1 (en) 2014-01-03
US20170163998A1 (en) 2017-06-08
KR20150129065A (ko) 2015-11-18
US10257516B2 (en) 2019-04-09
CA2847304C (en) 2017-08-22
US11363270B2 (en) 2022-06-14
EP2869574A4 (en) 2016-05-18
BR112014004652B1 (pt) 2022-05-10
US10277900B2 (en) 2019-04-30
SG11201400296RA (en) 2014-09-26
CA3160230A1 (en) 2014-01-03
CN106791833A (zh) 2017-05-31
WO2014002217A1 (ja) 2014-01-03
JPWO2014002217A1 (ja) 2016-05-26
US9462291B2 (en) 2016-10-04
US20220256158A1 (en) 2022-08-11
RU2609063C2 (ru) 2017-01-30
US11202075B2 (en) 2021-12-14
EP2869574A1 (en) 2015-05-06
US11800111B2 (en) 2023-10-24
EP3700215A1 (en) 2020-08-26
EP3203745B1 (en) 2021-12-01
CA3070902A1 (en) 2014-01-03
US20200186804A1 (en) 2020-06-11
US10609376B2 (en) 2020-03-31
EP3506639B1 (en) 2021-12-29
US20240007638A1 (en) 2024-01-04
AU2012383769A1 (en) 2014-03-20
MX336158B (es) 2016-01-11

Similar Documents

Publication Publication Date Title
KR101639965B1 (ko) 복호 장치 및 복호 방법
KR102003180B1 (ko) 암호화 방법 및 복호 방법
KR101694664B1 (ko) 복호 장치 및 복호 방법
JP6419934B2 (ja) 電子機器、符号化方法及びプログラム
JP6262381B2 (ja) 電子機器、復号方法及びプログラム
JP6682594B2 (ja) 符号化方法および復号方法
JP6262380B2 (ja) 電子機器、復号方法及びプログラム
JP6132950B2 (ja) 符号化方法、復号方法、符号化装置、及び復号装置
JP5916906B2 (ja) 符号化方法、復号方法、符号化装置、及び復号装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190617

Year of fee payment: 4