KR20140059218A - 암호화 장치, 복호 장치, 암호화 방법 및 복호 방법 - Google Patents

암호화 장치, 복호 장치, 암호화 방법 및 복호 방법 Download PDF

Info

Publication number
KR20140059218A
KR20140059218A KR1020147005644A KR20147005644A KR20140059218A KR 20140059218 A KR20140059218 A KR 20140059218A KR 1020147005644 A KR1020147005644 A KR 1020147005644A KR 20147005644 A KR20147005644 A KR 20147005644A KR 20140059218 A KR20140059218 A KR 20140059218A
Authority
KR
South Korea
Prior art keywords
value
image
prediction
weighting coefficient
unit
Prior art date
Application number
KR1020147005644A
Other languages
English (en)
Other versions
KR101624058B1 (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 KR20140059218A publication Critical patent/KR20140059218A/ko
Application granted granted Critical
Publication of KR101624058B1 publication Critical patent/KR101624058B1/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/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/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/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/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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • 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
    • 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
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)
  • Error Detection And Correction (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

실시형태에 따른 암호화 방법은 인덱스 설정 단계, 예측 단계, 및 암호화 단계를 포함한다. 인덱스 설정 단계는 참조 화상 및 가중 계수의 정보를 나타내는 인덱스를 설정한다. 예측 단계는 적어도 하나의 참조 화상과 암호화될 대상 화상 간의 화소치 변화가 특정의 기준 이하일 때의 가중 계수의 기준치가 예측치로서 도출되도록 예측을 행한다. 암호화 단계는 상기 가중 계수와 상기 예측치 간의 차분치를 암호화한다.

Description

암호화 방법 및 복호 방법{ENCODING METHOD 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호 공보
그러나, 전술한 종래 기술에서는 인덱스가 직접 값으로 유지되면서 부호화되기 때문에 부호화 효율이 저하된다. 본 발명에 의해 해결하고자 하는 과제는 부호화 효율을 개선할 수 있는 암호화 방법 및 복호 방법을 제공하는 데에 있다.
실시형태에 따른 암호화 방법은 인덱스 설정 단계, 예측 단계, 및 암호화 단계를 포함한다. 인덱스 설정 단계는 참조 화상 및 가중 계수의 정보를 나타내는 인덱스를 설정한다. 예측 단계는 적어도 하나의 참조 화상과 암호화될 대상 화상 간의 화소치 변화가 특정의 기준 이하일 때의 가중 계수의 기준치가 예측치로서 도출되도록 예측을 행한다. 암호화 단계는 상기 가중 계수와 상기 예측치 간의 차분치를 암호화한다.
도 1은 제1 실시형태에 따른 암호화 장치의 예를 보인 블록도이다.
도 2는 제1 실시형태에 따른 화소 블록의 예측 부호화 순서의 예를 보인 설명도이다.
도 3a는 제1 실시형태에 따른 부호화 트리 블록의 블록 사이즈 예를 보인 도이다.
도 3b는 제1 실시형태에 따른 부호화 트리 블록의 구체적인 예를 보인 도이다.
도 3c는 제1 실시형태에 따른 부호화 트리 블록의 구체적인 예를 보인 도이다.
도 3d는 제1 실시형태에 따른 부호화 트리 블록의 구체적인 예를 보인 도이다.
도 4는 제1 실시형태에 따른 예측 화상 생성부의 예를 보인 블록도이다.
도 5는 제1 실시형태에 따른 양방향 예측에 있어서 모션 보상 예측을 위한 모션 벡터들 간의 관계의 예를 보인 도이다.
도 6은 제1 실시형태에 따른 복수 프레임 모션 보상부의 예를 보인 블록도이다.
도 7은 제1 실시형태에 따른 가중 계수의 고정 소수점 정밀도의 예를 보인 설명도이다.
도 8a는 제1 실시형태에 따른 WP 파라미터 정보의 예를 보인 도이다.
도 8b는 제1 실시형태에 따른 WP 파라미터 정보의 예를 보인 도이다.
도 9는 제1 실시형태에 따른 신택스의 예를 보인 도이다.
도 10은 제1 실시형태에 따른 픽쳐 파라미터 세트 신택스의 예를 보인 도이다.
도 11은 제1 실시형태에 따른 슬라이스 헤더 신택스의 예를 보인 도이다.
도 12는 제1 실시형태에 따른 프레드 웨이트 테이블 신택스의 예를 보인 도이다.
도 13은 제1 실시형태에 따른 예측 방법을 명시적으로 나타내는 신택스 구성의 예를 보인 도이다.
도 14는 제1 실시형태에 따른 고정 소수점 정밀도를 예측하는 처리의 예를 보인 흐름도이다.
도 15는 제1 실시형태에 따른 고정 소수점 정밀도를 복원하는 처리의 예를 보인 흐름도이다.
도 16은 제1 실시형태에 따른 가중 계수 예측 처리의 예를 보인 흐름도이다.
도 17은 제1 실시형태에 따른 가중 계수 복원 처리의 예를 보인 흐름도이다.
도 18은 제1 실시형태에 따른 가중 계수 예측 처리의 다른 예를 보인 흐름도이다.
도 19는 제1 실시형태에 따른 가중 계수 복원 처리의 다른 예를 보인 흐름도이다.
도 20은 제1 실시형태에 따른 색차 신호의 예측 처리의 예를 보인 흐름도이다.
도 21은 제1 실시형태에 따른 색차 신호의 복원 처리의 예를 보인 흐름도이다.
도 22는 제1 실시형태에 따른 가중 계수 예측 처리의 다른 예를 보인 흐름도이다.
도 23은 제1 실시형태에 따른 가중 계수 복원 처리의 다른 예를 보인 흐름도이다.
도 24는 제2 실시형태에 따른 복호 장치의 구성 예를 보인 블록도이다.
이하에서는 첨부 도면을 참조하여 실시형태들을 구체적으로 설명한다. 이하에서 제시하는 각 실시형태에 따른 암호화 장치 및 복호 장치는 LSI(대규모 집적) 칩, DSP(디지털 신호 프로세서), 또는 FPGA(필드 프로그래머블 게이트 어레이)와 같은 하드웨어에 의해 구현될 수 있다. 또한, 이하에서 제시하는 각 실시형태에 따른 암호화 장치 및 복호 장치는 컴퓨터가 프로그램을 실행하게 함으로써, 다시 말하면 소프트웨어에 의해 구현될 수 있다. 이하에서 제시하는 설명에서, 용어 "화상"(image)은 "영상", "화소", "화상 신호", "픽쳐"(picture) 또는 "화상 데이터" 등의 용어로 적절히 교체될 수 있다.
제1 실시형태
제1 실시형태에서는 동화상을 암호화하는 암호화 장치를 설명한다.
도 1은 제1 실시형태에 따른 암호화 장치(100)의 구성 예를 보인 블록도이다.
암호화 장치(100)는 입력 화상을 구성하는 각 프레임 또는 각 필드를 복수의 화소 블록으로 분할하고, 암호화 제어부(111)로부터 입력된 암호화 파라미터를 이용하여 상기 분할된 화소 블록의 예측 암호화를 수행하여 예측 화상을 생성한다. 그 다음에, 암호화 장치(100)는 복수의 화소로 분할된 입력 화상으로부터 예측 화상을 감산하여 예측 오차를 생성하고, 생성된 예측 오차에 대하여 직교 변환 및 양자화를 수행하고 그 다음에 엔트로피 암호화를 행함으로써 암호화 데이터를 생성하며, 생성된 암호화 데이터를 출력한다.
암호화 장치(100)는 화소 블록의 블록 사이즈와 예측 화상 생성 방법 중의 적어도 하나에 있어서 서로 다른 복수의 예측 모드를 선택적으로 적용함으로써 예측 암호화를 수행한다. 예측 화상 생성 방법은 암호화 대상 프레임 내에서 예측을 행하는 인트라 예측(intra-prediction)과 상이한 시점의 하나 이상의 참조 프레임을 이용하여 모션 보상 예측을 행하는 인터 예측(inter-prediction)을 포함한 2가지 유형으로 크게 나누어질 수 있다. 인트라 예측은 화면 내 예측, 프레임 내 예측 등으로도 부르고, 인터 예측은 화면 간 예측, 프레임 간 예측, 모션 보상 예측 등으로도 부른다.
도 2는 제1 실시형태에 따른 화소 블록의 예측 부호화 순서의 예를 보인 설명도이다. 도 2에 도시된 예에서, 암호화 장치(100)는 화소 블록의 상부 좌측으로부터 하부 우측을 향하여 예측 암호화를 수행한다. 따라서, 암호화 처리 대상 프레임(f)에 있어서, 암호화 대상 화소 블록(c)의 좌측 및 상측에 암호화가 완료된 화소 블록(p)들이 위치된다. 이하에서는 설명의 간편성을 위해, 암호화 장치(100)가 도 2에 도시된 순으로 예측 암호화를 수행하는 것으로 가정하지만, 예측 암호화의 순서는 이것으로 제한되지 않는다.
화소 블록은 화상을 처리하는 단위를 나타내는 것이고, 예를 들면 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≥2))을 포함한다.
예측 파라미터 제어부(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 가중 계수, 및 제1 예측 화상에 대응하는 제1 오프셋, 및 제2 WP 적용 플래그, 제2 가중 계수, 및 제2 예측 화상에 대응하는 제2 오프셋의 정보를 포함한다. WP 적용 플래그는 각각의 대응하는 참조 화상과 신호 성분에 대하여 설정될 수 있는 파라미터이고, 가중 모션 보상 예측이 이루어졌는지 여부를 표시한다. 가중 정보는 가중 계수의 고정 소수점 정밀도, 제1 가중 계수, 제1 오프셋, 제2 가중 계수, 및 제2 오프셋의 정보를 포함한다.
더 자세히 설명하면, WP 파라미터 정보가 모션 평가부(109)로부터 입력된 때, WP 파라미터 제어부(303)는 WP 파라미터 정보를 제1 WP 적용 플래그, 제2 WP 적용 플래그 및 가중 정보로 분리하여 출력하고, 이것에 의해 제1 WP 적용 플래그를 WP 선택기(304)에, 제2 WP 적용 플래그를 WP 선택기(305)에, 및 가중 정보를 가중 모션 보상부(302)에 각각 입력한다.
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 예측 화상의 내부 연산 정밀도에 기초하여 결정된다. 예측 화상의 비트 정밀도가 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)로부터 입력된 가중 정보에 기초하여 가중 모션 보상을 수행한다. 더 구체적으로, 가중 모션 보상부(302)는 제1 및 제2 WP 적용 플래그가 "1"인 경우에 수학식 7에 기초하여 가중 처리를 수행한다.
[수학식 7]
P[x, y] = Clip1(((PL0[x, y]*w0C + PL1[x, y]*w1C + (1 << logWDC)) >> (logWDC + 1)) + ((o0C + o1C + 1) >> 1))
여기에서, w0C는 제1 예측 화상에 대응하는 가중 계수를 나타내고, w1C는 제2 예측 화상에 대응하는 가중 계수를 나타내며, o0C는 제1 예측 화상에 대응하는 오프셋을 나타내고, o1C는 제2 예측 화상에 대응하는 오프셋을 나타낸다. 이후, 이들은 각각 제1 가중 계수, 제2 가중 계수, 제1 오프셋, 및 제2 오프셋이라고 부를 것이다. logWDC는 각 가중 계수의 고정 소수점 정밀도를 나타내는 파라미터이다. 또한, 변수(C)는 신호 성분을 표시한다. 예를 들면, YUV 공간 신호의 경우에, 휘도 신호는 C=Y에 의해 표시되고, Cr 색차 신호는 C=Cr에 의해 표시되며, Cb 색차 성분은 C=Cb에 의해 표시된다.
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 수학식 8에서처럼 고정 소수점 정밀도인 logWDC를 제어함으로써 라운딩 처리를 실현한다.
[수학식 8]
logWD'C = logWDC + offset1
라운딩 처리는 수학식 7에 표시된 logWDC를 수학식 8에 표시된 logWD'C로 교체함으로써 실현될 수 있다. 예를 들면, 예측 화상의 비트 정밀도가 "8"이고 제1 및 제2 예측 화상의 비트 정밀도가 "14"인 경우에는, logWDC를 재설정함으로써, 수학식 1에 표시된 shift2의 경우와 유사한 연산 정밀도에 대하여 일괄 라운딩 처리를 실현할 수 있다.
또한, 모션 정보(예측 파라미터)에 의해 표시되는 예측 모드가 단방향 예측인 경우에, 가중 모션 보상부(302)는 수학식 9에 따라 제1 예측 화상만을 이용하여 최종 예측 화상을 산출한다.
[수학식 9]
P[x, y] = Clip1((PLX[x, y]*wXC + (1 << logWDC - 1)) >> (logWDC))
여기에서, PLX[x, y]는 단방향 예측 화상(제1 예측 화상)을 나타내고, wXC는 단방향 예측에 대응하는 가중 계수를 나타내며, X는 참조 리스트로서 "0" 또는 "1"을 나타내는 식별자이다. 예를 들면, PLX[x, y]와 wXC는 참조 리스트가 "0"인 경우에는 PL0[x, y]와 w0C이고, 참조 리스트가 "1"인 경우에는 PL1[x, y]와 w1C이다.
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 양방향 예측의 경우와 유사하게, 수학식 8에서처럼 고정 소수점 정밀도인 logWDC를 제어함으로써 라운딩 처리를 실현한다.
라운딩 처리는 수학식 7에 표시된 logWDC를 수학식 8에 표시된 logWD'C로 교체함으로써 실현될 수 있다. 예를 들면, 예측 화상의 비트 정밀도가 "8"이고 제1 예측 화상의 비트 정밀도가 "14"인 경우에는, logWDC를 재설정함으로써, 수학식 4에 표시된 shift1의 경우와 유사한 연산 정밀도에 대하여 일괄 라운딩 처리를 실현할 수 있다.
도 7은 제1 실시형태에 따른 가중 계수의 고정 소수점 정밀도의 예를 보인 설명도이고, 시간 방향으로 명도 변화가 있는 동화상 및 계조치(gray scale value)에 있어서의 변화의 예를 보인 도이다. 도 7에 도시된 예에서, 암호화 대상 프레임은 프레임 (t)이고, 시간적으로 암호화 대상 프레임의 1 프레임 전의 프레임은 프레임 (t-1)이며, 시간적으로 암호화 대상 프레임의 1 프레임 후의 프레임은 프레임 (t+1)이다. 도 7에 도시된 것처럼, 백색으로부터 흑색으로 변하는 페이드 화상에 있어서, 화상의 명도(계조치)는 시간의 경과에 따라 감소한다. 가중 계수는 도 7에서 변화의 정도를 표시하고, 수학식 7 및 수학식 9에서 명백한 바와 같이, 명도에 변화가 없는 경우에는 "1.0"의 값을 취한다. 고정 소수점 정밀도는 가중 계수의 소수점에 대응하는 간격 폭을 제어하는 파라미터이고, 가중 계수는 명도 변화가 없는 경우에 1<<logWDC이다.
또한, 단방향 예측의 경우에, 제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 파라미터 정보를 뒤에서 설명하는 신택스 요소에 맵핑함으로써 인덱스 정보를 생성한다.
도 8a 및 도 8b는 제1 실시형태에 따른 WP 파라미터 정보의 예를 보인 도이다. P-슬라이스시의 WP 파라미터 정보의 예는 도 8a에 도시된 것과 같고, B-슬라이스시의 WP 파라미터 정보의 예는 도 8a 및 도 8b에 도시된 것과 같다. 리스트 번호는 예측 방향을 나타내는 식별자이다. 리스트 번호는 단방향 예측의 경우에 "0"의 값을 갖는다. 반면에, 양방향 예측의 경우에는 2가지 유형의 예측을 사용할 수 있고, 따라서 리스트 번호는 2개의 값, 즉 "0"과 "1"을 갖는다. 참조 번호는 프레임 메모리(206)에서 표시된 1~N 중의 임의의 하나에 대응하는 값이다. WP 파라미터 정보가 각각의 참조 리스트와 참조 화상마다 유지되기 때문에, N개의 참조 화상이 있는 경우에는 B-슬라이스시에 2N개의 정보가 필요하다.
다시 도 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)에 출력한다. 예측 처리의 구체적인 예는 뒤에서 설명한다.
도 9는 제1 실시형태에 따른 암호화 장치(100)에 의해 사용되는 신택스(500)의 예를 보인 도이다. 신택스(500)는 암호화 장치(100)를 이용하여 입력 화상(동화상 데이터)을 암호화함으로써 생성된 암호화 데이터의 구조를 나타낸다. 암호화 데이터를 복호할 때, 후술하는 복호 장치는 신택스(500)의 구조와 동일한 신택스 구조를 참조하여 동화상의 신택스 분석을 수행한다.
신택스(500)는 3개의 부분, 즉 하이 레벨 신택스(501), 슬라이스 레벨 신택스(502), 및 부호화(coding) 트리 레벨 신택스(503)를 포함한다. 하이 레벨 신택스(501)는 슬라이스보다 더 높은 레벨을 가진 상위층의 신택스 정보를 포함한다. 여기에서, 슬라이스는 프레임 또는 필드에 포함된 직사각형 영역 또는 연속 영역을 나타낸다. 슬라이스 레벨 신택스(502)는 각 슬라이스를 복호하는 데 필요한 정보를 포함한다. 부호화 트리 레벨 신택스(503)는 각 부호화 트리(다시 말하면, 각 부호화 트리 블록)을 디코딩하는 데 필요한 정보를 포함한다. 상기 부분들은 각각 더 상세한 신택스를 포함한다.
하이 레벨 신택스(501)는 시퀀스 파라미터 세트 신택스(504), 픽쳐 파라미터 세트 신택스(505) 및 적응 파라미터 세트 신택스(506)와 같은 시퀀스 및 픽쳐 레벨의 신택스들을 포함한다.
슬라이스 레벨 신택스(502)는 슬라이스 헤더 신택스(507), 플랫 웨이트 테이블 신택스(508), 슬라이스 데이터 신택스(509) 등을 포함한다. 플랫 웨이트 테이블 신택스(508)는 슬라이스 헤더 신택스(507)로부터 호출된다.
부호화 트리 레벨 신택스(503)는 부호화 트리 유닛 신택스(510), 변환 유닛 신택스(511), 예측 유닛 신택스(512) 등을 포함한다. 부호화 트리 유닛 신택스(510)는 사분목 구조를 가질 수 있다. 더 구체적으로, 부호화 트리 유닛 신택스(510)는 부호화 트리 유닛 신택스(510)의 신택스 요소로서 다시 재귀 호출될 수 있다. 다시 말해서, 하나의 부호화 트리 블록은 사분목으로 세분화될 수 있다. 또한, 변환 유닛 신택스(511)는 부호화 트리 유닛 신택스(510)에 포함된다. 변환 유닛 신택스(511)는 사분목의 최말단에 위치된 각각의 부호화 트리 유닛 신택스(510)로부터 호출된다. 변환 유닛 신택스(511)에는 역 직교 변환, 양자화 등에 관한 정보가 기술된다. 신택스에는 가중 모션 보상 예측에 관한 정보가 기술될 수 있다.
도 10은 제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 실시형태에 따른 가중 모션 보상 예측의 유효 또는 무효는 하위층(슬라이스 헤더, 부호화 트리 블록, 변환 유닛 등)의 신택스에 있어서 슬라이스 내의 각 국소 영역마다 규정될 수 있다.
도 11은 제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-슬라이스인 경우에 호출된다.
도 12는 제1 실시형태에 따른 프레드 웨이트 테이블 신택스(508)의 예를 보인 도이다. 여기에서, luma_log2_weight_denom은 슬라이스에 있어서 휘도 신호의 가중 계수의 고정 소수점 정밀도를 나타내고, 수학식 7 또는 수학식 9에 표시된 logWDC에 대응하는 값이다. 또한, chroma_log2_weight_denom은 슬라이스에 있어서 색차 신호의 가중 계수의 고정 소수점 정밀도를 나타내고, 수학식 7 또는 수학식 9에 표시된 logWDC에 대응하는 값이다. 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 성분을 나타낸다.
여기에서, 신택스 구성에 있어서 가중 예측에 관한 각 신택스 요소를 예측하는 방법에 대하여 구체적으로 설명한다. 신택스 요소의 예측은 인덱스 재구성부(110B)에 의해 수행된다. 도 13은 제1 실시형태에 따른 예측 방법을 명시적으로 나타내는 신택스 구성의 예를 보인 도이다. 도 13에 도시된 예에서, 예측이 도입된 각 신택스 요소는 접두어 "delta"를 붙여서 표시되어 있지만, 신택스 구성은 기본적으로 도 12에 도시된 신택스 구성과 동일한 구성 요소들을 갖는다.
먼저, 가중 계수의 고정 소수점 정밀도를 나타내는 luma_log2_weight_denom 및 chroma_log2_weight_denom의 신호간 예측 방법에 대하여 설명한다. 인덱스 재구성부(110B)는 수학식 10을 이용하여 luma_log2_weight_denom 및 chroma_log2_weight_denom의 신호간 예측 처리를 수행하고, 수학식 11을 이용하여 복원 처리를 수행한다. 여기에서는, 도 12 및 도 13에 도시된 것처럼, luma_log2_weight_denom이 먼저 규정되기 때문에, chroma_log2_weight_denom은 luma_log2_weight_denom의 값에 기초하여 예측된다.
[수학식 10]
delta_chroma_log2_weight_denom = (chroma_log2_weight_denom - luma_log2_weight_denom)
[수학식 11]
chroma_log2_weight_denom = (luma_log2_weight_denom + delta_chroma_log2_weight_denom)
도 14는 제1 실시형태에 따른 chroma_log2_weight_denom을 예측하는 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 설정된 luma_log2_weight_denom을 예측치로서 도출한다(단계 S101).
이어서, 인덱스 재구성부(110B)는 chroma_log2_weight_denom으로부터 luma_log2_weight_denom을 감산하고(단계 S102) 그 차분치를 인덱스 정보에 delta_chroma_log2_weight_denom으로서 설정한다(단계 S103).
도 15는 제1 실시형태에 따른 chroma_log2_weight_denom을 복원하는 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 이미 설정된 luma_log2_weight_denom을 예측치로서 도출한다(단계 S201).
이어서, 인덱스 재구성부(110B)는 delta_chroma_log2_weight_denom에 luma_log2_weight_denom을 가산하고(단계 S202) 가산치를 인덱스 정보에 chroma_log2_weight_denom으로서 설정한다(단계 S203).
페이드 효과에 있어서는, 일반적으로, 각각의 색 공간에 대하여 시간적 변화가 다르게 되는 경우가 적기 때문에, 각각의 신호 성분에 대한 고정 소수점 정밀도는 휘도 성분 및 색차 성분과 강한 상관을 갖는다. 따라서, 전술한 바와 같이 색 공간 내에서 예측을 행함으로써, 고정 소수점 정밀도를 나타내는 정보의 양을 감소시킬 수 있다.
수학식 10에서는 휘도 성분이 색차 성분으로부터 감산되지만, 색차 성분이 휘도 성분으로부터 감산될 수도 있다. 그 경우에, 수학식 11은 수학식 10에 따라서 변경될 수 있다.
다음에, 휘도 신호 및 색차 신호의 가중 계수를 나타내는 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)는 수학식 12 및 수학식 13을 이용하여 luma_weight_lx[i]의 예측 처리를 수행하고, 수학식 14를 이용하여 복원 처리를 수행한다. 유사하게, 인덱스 재구성부(110B)는 수학식 15 및 수학식 16을 이용하여 chroma_weight_lx[i]의 예측 처리를 수행하고, 수학식 17을 이용하여 복원 처리를 수행한다.
[수학식 12]
delta_luma_weight_lx[i] = (luma_weight_lx[i] - default_luma_weight_lx)
[수학식 13]
default_luma_weight_lx = (1 << luma_log2_weight_denom)
[수학식 14]
luma_weight_lx[i] = (default_luma_weight_lx + delta_luma_weight_lx[i])
[수학식 15]
delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j] - default_chroma_weight_lx)
[수학식 16]
default_chroma_weight_lx = (1 << chroma_log2_weight_denom)
[수학식 17]
chroma_weight_lx[i][j] = (default_chroma_weight_lx + delta_chroma_weight_lx[i][j])
여기에서, default_luma_weight_lx, default_chroma_weight_lx는 휘도 성분 및 색차 성분에 있어서 명도 변화가 없은 경우의 디폴트 값이다.
도 16은 제1 실시형태에 따른 luma_weight_lx[i]를 예측하는 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 설정된 luma_log2_weight_denom을 도출하고(단계 S301) default_luma_weight_lx를 예측치로서 산출한다(단계 S302).
이어서, 인덱스 재구성부(110B)는 luma_weight_lx[i]로부터 default_luma_weight_lx를 감산하고(단계 S303) 그 차분치를 인덱스 정보에 delta_luma_weight_lx[i]로서 설정한다(단계 S304).
이 처리를 참조 화상의 수와 대응하게 반복함으로써 예측 처리를 luma_weight_lx[i]에 적용할 수 있다.
도 17은 제1 실시형태에 따른 luma_weight_lx[i]를 복원하는 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 이미 설정된 delta_luma_weight_lx[i]를 도출하고(단계 S401) default_luma_weight_lx를 예측치로서 산출한다(단계 S402).
이어서, 인덱스 재구성부(110B)는 default_luma_weight_lx에 delta_luma_weight_lx[i]를 가산하고(단계 S403) 그 가산치를 인덱스 정보에 luma_weight_lx[i]로서 설정한다(단계 S404).
여기에서는 휘도 성분에 대한 흐름도를 설명하였지만, 예측 처리 및 복원 처리는 색차 성분(chorma_weight_lx[i][j])에 대해서도 유사하게 실현될 수 있다.
페이드 효과를 포함한 화상은 특정의 페이딩 변화점에서 페이드를 행하고, 다른 화상들은 통상의 자연 화상 또는 페이드 효과가 없는 화상인 경우가 많다. 그러한 경우에, 가중 계수는 명도의 변화가 없는 경우를 취하는 경우가 많다. 따라서, 명도의 변화가 없는 경우의 초기치는 고정 소수점 정밀도에 기초하여 도출되고 예측치로서 사용되어 가중 계수의 부호량이 감소될 수 있다.
또한, 휘도 및 색차 신호의 가중 계수(luma_weight_lx[i] 및 chorma_weight_lx[i][j])의 예측치는 다른 참조 번호 또는 다른 POC 번호에 기초하여 도출될 수 있다. 그 경우에, 암호화 대상 슬라이스에 가장 가까운 참조 번호가 base_idx인 경우, 인덱스 재구성부(110B)는 수학식 18을 이용하여 luma_weight_lx[i]의 예측 처리를 수행하고 수학식 19를 이용하여 그 복원 처리를 수행한다. 유사하게, 인덱스 재구성부(110B)는 수학식 20을 이용하여 chroma_weight_lx[i][j]의 예측 처리를 수행하고 수학식 21을 이용하여 그 복원 처리를 수행한다.
[수학식 18]
delta_luma_weight_lx[i] = (luma_weight_lx[i] - luma_weight_lx[base_idx])
[수학식 19]
luma_weight_lx[i] = (delta_luma_weight_lx[i] + luma_weight_lx[base_idx])
[수학식 20]
delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j] - chroma_weight_lx[base_idx][j])
[수학식 21]
chroma_weight_lx[i][j] = (delta_chroma_weight_lx[i][j] + chroma_weight_lx[base_idx][j])
여기에서, 수학식 18과 수학식 20에서, i≠base_idx이다. base_idx에 의해 표시되는 참조 번호의 가중 계수에 대해서는 수학식 18과 수학식 20이 사용될 수 없고, 따라서, 수학식 12, 13, 15 및 16을 사용할 수 있다.
도 18은 제1 실시형태에 따른 luma_weight_lx[i]의 예측 처리의 다른 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 기준이 되는 참조 번호를 나타내는 baseidx를 설정한다(단계 S501). 여기에서, baseidx의 값은 잠정적으로 "0"이라고 가정한다.
이어서, 인덱스 재구성부(110B)는 baseidx에 기초하여 인덱스 정보로부터 luma_weight_lx[baseidx]를 예측치로서 도출한다(단계 S502). 또한, baseidx에 의해 표시되는 인덱스 정보의 luma_weight_lx[baseidx]는 예를 들면 예측되지 않고 직접 값으로서 암호화된다.
이어서, 인덱스 재구성부(110B)는 luma_weight_lx[i]로부터 luma_weight_lx[baseidx]를 감산하고(단계 S503), 그 차분치를 인덱스 정보에 delta_luma_weight_lx[i]로서 설정한다(단계 S504).
이 처리를 참조 화상의 수와 대응하게 반복함으로써 예측 처리를 luma_weight_lx[i]에 적용할 수 있다.
도 19는 제1 실시형태에 따른 luma_weight_lx[i]의 복원 처리의 다른 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 기준이 되는 참조 번호를 나타내는 baseidx를 설정한다(단계 S601). 여기에서, baseidx의 값은 잠정적으로 "0"이라고 가정한다.
이어서, 인덱스 재구성부(110B)는 baseidx에 기초하여 인덱스 정보로부터 luma_weight_lx[baseidx]를 예측치로서 도출한다(단계 S602). 또한, baseidx에 의해 표시되는 인덱스 정보의 luma_weight_lx[baseidx]는 예를 들면 예측되지 않고 직접 값으로서 암호화된다.
이어서, 인덱스 재구성부(110B)는 delta_luma_weight_lx[i]를 luma_weight_lx[baseidx]에 가산하고(단계 S603), 그 가산치를 인덱스 정보에 luma_weight_lx[i]로서 설정한다(단계 S604).
여기에서는 휘도 성분에 대한 흐름도를 설명하였지만, 예측 처리 및 복원 처리는 색차 성분(chorma_weight_lx[i][j])에 대해서도 유사하게 실현될 수 있다. 또한, luma_weight_lx[i]의 예측 처리 및 복원 처리를 예로 하여 설명하였지만, luma_offset_lx[i]가 유사하게 예측 및 복원될 수 있다.
또한, 휘도 및 색차 신호의 가중 계수(luma_weight_lx[i] 및 chorma_weight_lx[i][j])의 예측치는 참조 대상과 참조 슬라이스 간의 거리를 이용하여 도출될 수 있다. 그 경우에, 인덱스 재구성부(110B)는 수학식 22를 이용하여 luma_weight_lx[i]의 예측 처리를 수행하고 수학식 23을 이용하여 그 복원 처리를 수행한다. 유사하게, 인덱스 재구성부(110B)는 수학식 24를 이용하여 chroma_weight_lx[i][j]의 예측 처리를 수행하고 수학식 25를 이용하여 그 복원 처리를 수행한다.
[수학식 22]
delta_luma_weight_lx[i] = (luma_weight_lx[i] - luma_weight_lx[i-1])
[수학식 23]
luma_weight_lx[i] = (delta_luma_weight_lx[i] + luma_weight_lx[i-1])
[수학식 24]
delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j] - chroma_weight_lx[i-1][j])
[수학식 25]
chroma_weight_lx[i][j] = (delta_chroma_weight_lx[i][j] + chroma_weight_lx[i-1][j])
여기에서, 수학식 22와 수학식 24에서, i≠0이다.
또한, 상기 예측 및 복원 처리는 baseidx에 (i-1)번째 값(i≠0)을 도입함으로써 도 18 및 도 19에 도시된 흐름도와 동일하게 되므로, 그에 대한 설명은 생략한다. 비록 여기에서는 휘도 성분에 대한 흐름도를 설명하였지만, 예측 처리 및 복원 처리는 색차 성분(chorma_weight_lx[i][j])에 대해서도 유사하게 실현될 수 있다. 또한, luma_weight_lx[i]의 예측 처리 및 복원 처리를 예로서 설명하였지만, luma_offset_lx[i]가 또한 유사하게 예측 및 복원될 수 있다.
암호화 대상 슬라이스에 의해 참조될 수 있는 참조 슬라이스로서, 암호화 효율의 관점에서, 시간적 또는 공간적 거리로 암호화 대상 슬라이스에 가까운 슬라이스가 설정되는 경우가 많이 있다. 여기에서, 시간 거리적으로 연속적인 슬라이스들은 높은 상관성을 갖기 때문에, 가중 계수와 오프셋 간의 시간 거리에 관한 상관성도 또한 높다. 따라서, 기준으로 소용되는 참조 슬라이스의 가중 계수 및 오프셋 값을 이용함으로써, 시간적으로 다른 참조 슬라이스의 가중 계수 및 오프셋 값이 가중되고, 이것에 의해 부호량이 효율적으로 감소될 수 있다. 또한, 공간적으로 동일한 참조 슬라이스들이 동일한 가중 계수 및 오프셋 값을 취하는 경우가 많이 있기 때문에, 동일한 이유로 예측을 도입함으로써 부호량이 감소될 수 있다.
다음에, 색차 신호의 오프셋을 나타내는 chroma_offset_lx[i][j]의 예측 방법에 대하여 설명한다. YUV의 색 공간에서, 색차 성분은 중간치로부터의 편차량을 이용하여 색을 표시한다. 따라서, 중간치를 고려한 명도의 변화에 기초한 변화량을 가중 계수를 이용한 예측치로서 설정할 수 있다. 더 구체적으로, 인덱스 재구성부(110B)는 수학식 26 및 수학식 27을 이용하여 chroma_offset_lx[i][j]의 예측 처리를 수행하고, 수학식 28을 이용하여 복원 처리를 수행한다.
[수학식 26]
delta_chroma_offset_lx[i][j] = (chroma_offset_lx[i][j] + ((MED*chroma_weight_lx[i][j]) >> chroma_log2_weight_denom) - MED)
[수학식 27]
MED = (MaxChromaValue >> 1)
여기에서, MaxChromaValue는 색차 신호가 획득되는 최대 명도를 나타낸다. 예를 들면, 8-비트 신호의 경우에, MaxChromaValue는 255이고, MED는 128이다.
[수학식 28]
chroma_offset_lx[i][j] = (delta_chroma_offset_lx[i][j] - ((MED*chroma_weight_lx[i][j]) >> chroma_log2_weight_denom) + MED)
도 20은 제1 실시형태에 따른 chroma_offset_lx[i][j]의 예측 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 설정되어 있는 chroma_log2_weight_denom을 도출한다(단계 S701).
이어서, 인덱스 재구성부(110B)는 인덱스 정보에 설정되어 있는 chroma_offset_lx[i][j]를 도출한다(단계 S702).
이어서, 인덱스 재구성부(110B)는 색차 신호의 최대치(최대 신호)의 중간치를 도출한다(단계 S703).
이어서, 인덱스 재구성부(110B)는 delta_chroma_offset_lx[i][j]를 도출하고 delta_chroma_offset_lx[i][j]를 인덱스 정보에 설정한다(단계 S704).
도 21은 제1 실시형태에 따른 chroma_offset_lx[i][j]의 복원 처리의 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 이미 설정되어 있는 chroma_log2_weight_denom을 도출한다(단계 S801).
이어서, 인덱스 재구성부(110B)는 인덱스 정보에 설정되어 있는 chroma_offset_lx[i][j]를 도출한다(단계 S802).
이어서, 인덱스 재구성부(110B)는 색차 신호의 최대치(최대 신호)의 중간치를 도출한다(단계 S803).
이어서, 인덱스 재구성부(110B)는 chroma_offset_lx[i][j]를 도출하고 chroma_offset_lx[i][j]를 인덱스 정보에 설정한다(단계 S804).
색차 신호의 신호 특성을 이용하여 중간치로부터의 편차량을 고려함으로써 획득된 예측치를 도입함으로써, 색차 신호의 오프셋 값의 부호량은 오프셋 값을 직접 암호화하는 경우보다 더 작아질 수 있다.
다음에, H.264 등에서 규정된 가중 예측에 있어서 암묵적 가중 예측의 WP 파라미터 도출 방법을 이용하여 가중 계수 및 고정 소수점 정밀도의 예측치를 도출하는 기술을 설명한다. H.264의 암묵적 가중 예측에서는 가중 계수가 참조 슬라이스들 간의 시간적 거리(POC 번호의 시간 비율)에 따라서 도출된다(오프셋은 0으로 된다). 참조 슬라이스들 간의 시간적 거리는 POC 번호에 기초하여 암호화 대상 슬라이스와 참조 슬라이스 간의 거리를 도출함으로써 획득되고, 가중 계수는 상기 거리의 비율에 기초하여 결정된다. 이때, 고정 소수점 정밀도는 "5"의 고정 값으로 설정된다.
예를 들면, H.264에서는 가중 계수가 수학식 29에 표시된 의사 부호에 따라서 도출된다.
[수학식 29]
td = Clip3(-128, 127, POCA - POCB)
tb = Clip3(-128, 127, POCT - POCA)
tx = (td ! = 0)?((16384 + abs(td/2))/td):(0)
DistScaleFactor = Clip3(-1024, 1023, (tb*tx + 32) >> 6)
implicit_luma_weight_10[i] = 64 - (DistScaleFactor >> 2)
implicit_luma_weight_11[i] = DistScaleFactor >> 2
여기에서, POCA는 리스트 1에 대응하는 참조 화상 A의 POC 번호를 나타내고, POCB는 리스트 0에 대응하는 참조 화상 B의 POC 번호를 나타내며, POCT는 예측 대상 화상의 POC 번호를 나타낸다. 또한, Clip3(L, M, N)은 최후의 독립변수(N)가 최초 2개의 독립변수에 의해 표시된 최소치(L)와 최대치(M)의 범위를 초과하지 않도록 클리핑 처리를 수행하는 함수이다. abs() 함수는 독립변수의 절대치를 되돌리는 함수이다. 또한, td 및 tb는 시간 비율을 나타내고, td는 리스트 1에 대응하는 참조 화상의 POC 번호와 리스트 0에 대응하는 참조 화상의 POC 번호 간의 차를 나타내고, tb는 예측 대상 화상의 POC 번호와 리스트 0에 대응하는 참조 화상의 POC 번호 간의 차를 나타낸다. 상기 값들에 기초해서, 가중 계수의 거리에 있어서의 스케일링 변수 DistScaleFactor가 도출된다. DistScaleFactor에 기초해서, 리스트 0 및 리스트 1에 대응하는 가중 계수(implicit_luma_weight_10[i] 및 implicit_luma_weight_11[i])가 도출된다. 또한, 색차 신호가 유사하게 설정된다. 인덱스 재구성부(110B)는 여기에서 도출된 고정 소수점 정밀도 implicit_log2_weight_denom을 이용하여 수학식 30에 기초해서 고정 소수점 정밀도를 예측한다.
[수학식 30]
delta_luma_log2_weight_denom = (luma_log2_weight_denom - implicit_log2_weight_denom)
또한, 색차 신호의 고정 소수점 정밀도도 수학식 30을 이용하여 예측될 수 있다. 이 값은 수학식 31을 이용하여 복원된다.
[수학식 31]
luma_log2_weight_denom = (delta_luma_log2_weight_denom + implicit_log2_weight_denom)
또한, 색차 신호의 고정 소수점 정밀도도 수학식 31에 표시된 동일한 방법을 이용하여 복원될 수 있다.
다음에, 가중 계수를 예측하기 위한 방정식을 설명한다. 암묵적 가중 계수가 implicit_luma_weight_1x[i]일 때, 인덱스 재구성부(110B)는 수학식 32를 이용하여 가중 계수 luma_weight_1x[i]를 예측하고 수학식 33을 이용하여 가중 계수를 복원한다.
[수학식 32]
if(luma_log2_weight_denom >= implicit_log2_weight_denom){
norm_denom = (luma_log2_weight_denom - implicit_log2_weight_denom)
delta_luma_weight_1x[i] = (luma_weight_1x[i] - (implicit_luma_weight_1x[i] << norm_denom))
}
else{
norm_denom = (implicit_log2_weight_denom - luma_log2_weight_denom)
delta_luma_weight_1x[i] = (luma_weight_1x[i] - (implicit_luma_weight_1x[i] >> norm_denom))
}
여기에서, 인덱스 재구성부(110B)는 암묵적 가중 예측이 고정 소수점 정밀도보다 큰지 작은지에 기초하여 가중 계수를 보정하고, 보정된 가중 계수를 예측용으로 사용한다.
[수학식 33]
if(luma_log2_weight_denom >= implicit_log2_weight_denom){
norm_denom = (luma_log2_weight_denom - implicit_log2_weight_denom)
luma_weight_1x[i] = (delta_luma_weight_1x[i] + (implicit_luma_weight_1x[i] << norm_denom))
}
else{
norm_denom = (implicit_log2_weight_denom - luma_log2_weight_denom)
luma_weight_1x[i] = (delta_luma_weight_1x[i] + (implicit_luma_weight_1x[i] >> norm_denom))
}
수학식 32에서는 휘도 성분의 가중 계수의 예를 표시하였지만, 색차 성분에 대해서도 동일한 방법을 이용하여 예측치를 도출할 수 있다.
도 22는 제1 실시형태에 따른 luma_weight_lx[i]의 예측 처리의 다른 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 설정되어 있는 luma_log2_weight_denom을 도출한다(단계 S901).
이어서, 인덱스 재구성부(110B)는 H.264의 암묵적 가중 예측 도출 방법에 따라서 implicit_log2_weight_denom 및 implicit_luma_weight_1x[i]를 도출한다(단계 S902 및 S903).
이어서, 인덱스 재구성부(110B)는 luma_log2_weight_denom이 implicit_log2_weight_denom 이상인지를 결정한다(단계 S904).
luma_log2_weight_denom이 implicit_log2_weight_denom 이상인 경우(단계 S904에서 "예"), 인덱스 재구성부(110B)는 luma_log2_weight_denom으로부터 implicit_log2_weight_denom을 감산하고(단계 S905), 그 감산치에 대응하는 양만큼 implicit_luma_weight_1x[i]를 좌측으로 시프트시켜서 예측치를 도출한다(단계 S906).
반면에, luma_log2_weight_denom이 implicit_log2_weight_denom 이상이 아닌 경우(단계 S904에서 "아니오"), 인덱스 재구성부(110B)는 luma_log2_weight_denom을 implicit_log2_weight_denom으로부터 감산하고(단계 S907), 그 감산치에 대응하는 양만큼 implicit_luma_weight_1x[i]를 우측으로 시프트시켜서 예측치를 도출한다(단계 S908).
이어서, 인덱스 재구성부(110B)는 상기 도출된 예측치를 luma_weight_1x[i]로부터 감산하고(단계 S909), 감산치(차분치)를 인덱스 정보에 설정한다(단계 S910).
도 23은 제1 실시형태에 따른 luma_weight_lx[i]의 복원 처리의 다른 예를 보인 흐름도이다.
먼저, 인덱스 재구성부(110B)는 인덱스 정보에 이미 설정되어 있는 luma_log2_weight_denom을 도출한다(단계 S1001).
이어서, 인덱스 재구성부(110B)는 H.264의 암묵적 가중 예측 도출 방법에 따라서 implicit_log2_weight_denom 및 implicit_luma_weight_1x[i]를 도출한다(단계 S1002 및 S1003).
이어서, 인덱스 재구성부(110B)는 luma_log2_weight_denom이 implicit_log2_weight_denom 이상인지를 결정한다(단계 S1004).
luma_log2_weight_denom이 implicit_log2_weight_denom 이상인 경우(단계 S1004에서 "예"), 인덱스 재구성부(110B)는 luma_log2_weight_denom으로부터 implicit_log2_weight_denom을 감산하고(단계 S1005), 그 감산치에 대응하는 양만큼 implicit_luma_weight_1x[i]를 좌측으로 시프트시켜서 예측치를 도출한다(단계 S1006).
반면에, luma_log2_weight_denom이 implicit_log2_weight_denom 이상이 아닌 경우(단계 S1004에서 "아니오"), 인덱스 재구성부(110B)는 luma_log2_weight_denom을 implicit_log2_weight_denom으로부터 감산하고(단계 S1007), 그 감산치에 대응하는 양만큼 implicit_luma_weight_1x[i]를 우측으로 시프트시켜서 예측치를 도출한다(단계 S1008).
이어서, 인덱스 재구성부(110B)는 상기 도출된 예측치를 delta_luma_weight_1x[i]에 가산하고(단계 S1009), 그 가산치를 인덱스 정보에 설정한다(단계 S1010).
전술한 복수의 예측 방법은 독립적으로 사용될 수 있을 뿐만 아니라 조합 방식으로도 사용될 수 있다. 예를 들면, 수학식 10, 12 및 13과, 15 및 16과, 26 및 27 등을 조합함으로써, 인덱스 정보의 신택스 요소의 부호량을 효과적으로 감소시킬 수 있다.
상기와 같이, 제1 실시형태에 따르면, 인덱스 설정부(108)는 WP 파라미터 정보가 대응하는 신택스 구성에 맵된 인덱스 정보를 출력하고, 인덱스 재구성부(110B)는 신택스 요소의 용장 표현을 슬라이스 내에서 암호화된 정보에 기초하여 예측한다. 그러므로, 제1 실시형태에 따르면, 신택스 요소가 직접(직접 값으로) 암호화되는 경우에 비하여 부호량을 더 작게 할 수 있다.
여기에서, 암호화 대상 슬라이스에서 사용되는 신택스 요소의 규정 순서(암호화 순서)에 기초하여, 암호화가 완료된 신택스 요소로부터의 화면 간 상관으로서 예측치를 도출하거나, 또는 명도의 변화가 없는 것을 가정하여 획득된 디폴트 값으로부터 예측치를 도출함으로써, 신택스 요소의 특성들의 장점을 가진 예측이 이루어질 수 있다. 그 결과, 신택스 요소를 암호화하기 위해 필요한 오버헤드를 감소시키는 장점이 획득된다.
또한, 제1 실시형태에 따라 도 10 내지 도 13에 예로서 도시된 신택스 테이블의 행들 간에 이 실시형태에서 규정하지 않은 신택스 요소가 삽입될 수 있고, 또는 다른 조건 분기에 관한 설명이 포함될 수 있다. 또한, 신택스 테이블이 복수의 테이블로 분할될 수 있고, 또는 복수의 신택스 테이블이 통합될 수 있다. 또한, 예시된 각 신택스 요소의 용어는 임의로 변경할 수 있다.
전술한 바와 같이, 제1 실시형태에 따른 암호화 장치(100)는 암호화되는 정보의 파라미터들 간의 상관성을 이용하여 공간 용장성을 제거함으로써 암호화 효율의 감소 문제를 해결한다. 암호화 장치(100)는 가중 모션 보상 예측시에 사용되는 신택스 요소를 직접(직접 값으로) 암호화하는 종래의 구성에 비하여 부호량을 감소시킬 수 있다.
제2 실시형태
제2 실시형태에서는 제1 실시형태에 따른 암호화 장치에 의해 암호화된 암호화 데이터를 복호하는 복호 장치를 설명한다.
도 24는 제2 실시형태에 따른 복호 장치(800)의 구성 예를 보인 블록도이다.
복호 장치(800)는 도시를 생략한 입력 버퍼 등에 저장된 암호화 데이터를 복호 화상으로 복호하고, 복호 화상을 도시 생략한 출력 버퍼에 출력 화상으로서 출력한다. 암호화 데이터는 예를 들면 도 1에 도시된 암호화 장치(100) 등으로부터 출력되고, 도시 생략한 저장 시스템, 전송 시스템, 버퍼 등을 통하여 복호 장치(800)에 입력된다.
복호 장치(800)는 도 24에 도시된 것처럼 복호부(801), 역 양자화부(802), 역 직교 변환부(803), 가산부(804), 예측 화상 생성부(805), 및 인덱스 설정부(806)를 포함한다. 역 양자화부(802), 역 직교 변환부(803), 가산부(804), 및 예측 화상 생성부(805)는 도 1에 도시된 역 양자화부(104), 역 직교 변환부(105), 가산부(106), 및 예측 화상 생성부(107)와 실질적으로 동일하거나 유사한 요소이다. 또한, 도 24에 도시된 복호 제어부(807)는 복호 장치(800)를 제어하며, 예를 들면 CPU 등에 의해 실현된다.
암호화 데이터를 복호하기 위해, 복호부(801)는 각 프레임 또는 각 필드마다의 신택스에 기초하여 복호를 수행한다. 복호부(801)는 엔트로피 복호부(801A)와 인덱스 재구성부(801B)를 포함한다.
엔트로피 복호부(801A)는 각 신택스의 부호열의 엔트로피 복호를 순차적으로 수행하여 예측 모드, 모션 벡터 및 참조 번호를 포함한 모션 정보, 가중 모션 보상 예측을 예측하기 위해 사용하는 인덱스 정보, 및 양자화 변환 계수 등과 같은 암호화 대상 블록의 암호화 파라미터를 재생성한다. 여기에서, 암호화 파라미터는 위에서 설명한 것 외에 변환 계수에 관한 정보, 양자화에 관한 정보 등을 복호하는 데 필요한 모든 파라미터이다.
더 구체적으로, 엔트로피 복호부(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 파라미터 정보는 도 8a를 참조하여 이미 설명하였으므로 그 설명은 생략한다.
예측 화상 생성부(805)는 복호부(801)로부터 입력된 모션 정보, 인덱스 설정부(806)로부터 입력된 WP 파라미터 정보, 및 가산부(804)로부터 입력된 복호 화상을 이용하여 예측 화상(815)을 생성한다.
여기에서, 예측 화상 생성부(805)를 도 4를 참조하여 자세히 설명한다. 예측 화상 생성부(805)는, 예측 화상 생성부(107)와 유사하게, 복수 프레임 모션 보상부(201), 메모리(202), 단방향 모션 보상부(203), 예측 파라미터 제어부(204), 참조 화상 선택기(205), 프레임 메모리(206), 및 참조 화상 제어부(207)를 포함한다.
프레임 메모리(206)는 참조 화상 제어부(207)의 제어하에 상기 가산부(106)로부터 입력된 복호 화상을 참조 화상으로서 저장한다. 프레임 메모리(206)는 참조 화상을 임시로 저장하기 위해 사용되는 복수의 메모리 집합(FM1~FMN(여기에서, N≥2))을 포함한다.
예측 파라미터 제어부(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 파라미터 정보는 가중 계수의 고정 소수점 정밀도, 제1 WP 적용 플래그, 제1 가중 계수, 및 제1 예측 화상에 대응하는 제1 오프셋, 및 제2 WP 적용 플래그, 제2 가중 계수, 및 제2 예측 화상에 대응하는 제2 오프셋의 정보를 포함한다. WP 적용 플래그는 각각의 대응하는 참조 화상과 신호 성분에 대하여 설정될 수 있는 파라미터이고, 가중 모션 보상 예측이 이루어졌는지 여부를 표시한다. 가중 정보는 가중 계수의 고정 소수점 정밀도, 제1 가중 계수, 제1 오프셋, 제2 가중 계수, 및 제2 오프셋의 정보를 포함한다. 여기에서, WP 파라미터 정보는 제1 실시형태에서의 것과 동일한 정보를 나타낸다.
더 자세히 설명하면, WP 파라미터 정보가 인덱스 설정부(806)로부터 입력된 때, WP 파라미터 제어부(303)는 제1 WP 적용 플래그, 제2 WP 적용 플래그 및 가중 정보로 분할되는 WP 파라미터 정보를 출력하여, 제1 WP 적용 플래그를 WP 선택기(304)에, 제2 WP 적용 플래그를 WP 선택기(305)에, 및 가중 정보를 가중 모션 보상부(302)에 각각 입력한다.
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)로부터 입력된 가중 정보에 기초하여 가중 모션 보상을 수행한다. 더 구체적으로, 가중 모션 보상부(302)는 제1 및 제2 WP 적용 플래그가 "1"인 경우에, 수학식 7에 기초하여 가중 처리를 수행한다.
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 수학식 8에서처럼 고정 소수점 정밀도인 logWDC를 제어함으로써 라운딩 처리를 실현한다.
또한, 모션 정보(예측 파라미터)에 의해 표시되는 예측 모드가 단방향 예측인 경우에, 가중 모션 보상부(302)는 수학식 9에 따라 제1 예측 화상만을 이용하여 최종 예측 화상을 산출한다.
또한, 제1 및 제2 예측 화상의 연산 정밀도와 예측 화상의 연산 정밀도가 서로 다른 경우에, 가중 모션 보상부(302)는 양방향 예측의 경우와 유사하게, 수학식 8에서처럼 고정 소수점 정밀도인 logWDC를 제어함으로써 라운딩 처리를 실현한다.
가중 계수의 고정 소수점 정밀도는 도 7을 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 단방향 예측의 경우에는 제2 예측 화상에 대응하는 각종 파라미터(제2 WP 적용 플래그, 제2 가중 계수, 및 제2 오프셋 정보)가 사용되지 않고, 미리 정해진 초기치로 설정될 수 있다.
복호부(801)는 도 9에 도시된 신택스(500)를 이용한다. 신택스(500)는 복호부(801)의 복호 대상인 암호화 데이터의 구조를 나타낸다. 신택스(500)는 도 9를 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 픽쳐 파라미터 세트 신택스(505)는 암호화 대신에 복호가 사용된다는 점을 제외하고 도 10을 참조하여 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 슬라이스 헤더 신택스(507)는 암호화 대신에 복호가 사용된다는 점을 제외하고 도 11을 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다. 또한, 프레드 웨이트 테이블 신택스(508)는 암호화 대신에 복호가 사용된다는 점을 제외하고 도 12를 참조하여 이미 설명하였으므로, 여기에서는 그 설명을 생략한다.
여기에서는 신택스 구성에 있어서 가중 예측에 관련한 각 신택스 요소를 예측하는 방법에 대하여 자세히 설명한다. 신택스 요소의 예측은 인덱스 재구성부(801B)에 의해 수행된다. 제2 실시형태에 따른 예측 방법을 명시적으로 나타내는 신택스 구성은 제1 실시형태의 것과 동일하고, 도 13에 도시된 것과 같다.
가중 계수의 고정 소수점 정밀도를 나타내는 luma_log2_weight_denom 및 chroma_log2_weight_denom의 신호 간 예측 방법에서는 복원 처리가 수학식 11을 이용하여 수행된다. 복원 처리의 상세는 도 15에 도시된 것과 같다.
휘도 및 색차 신호의 가중 계수를 나타내는 luma_weight_lx[i] 및 chroma_weight_lx[i][j]의 예측 방법에서는 복원 처리가 수학식 14 및 수학식 17을 이용하여 수행된다. 복원 처리의 상세는 도 17에 도시된 것과 같다.
휘도 및 색차 신호의 가중 계수(luma_weight_lx[i] 및 chorma_weight_lx[i][j])의 예측치가 다른 참조 번호 또는 다른 POC 번호에 의해 도출되는 예측 방법에서는 복원 처리가 수학식 19 및 수학식 21을 이용하여 수행된다. 복원 처리의 상세는 도 19에 도시된 것과 같다.
휘도 및 색차 신호의 가중 계수(luma_weight_lx[i] 및 chorma_weight_lx[i][j])의 예측치가 암호화 대상과 참조 슬라이스 간의 거리를 이용하여 도출되는 예측 방법에서는 복원 처리가 수학식 23 및 수학식 25를 이용하여 수행된다. 복원 처리의 상세는 도 19에 도시된 흐름도에서 baseidx에 (i-1)번째 값(i≠0)을 도입한 것과 같다.
H.264 등에서 규정된 암묵적 가중 예측의 WP 파라미터 도출 방법을 이용하여 가중 계수 및 고정 소수점 정밀도의 예측치를 도출하는 기술에 있어서, 복원 처리는 수학식 31 및 수학식 33을 이용하여 수행된다. 복원 처리의 상세는 도 23에 도시된 것과 같다.
전술한 복수의 예측 기술은 독립적으로 사용될 수 있을 뿐만 아니라 조합 방식으로도 사용될 수 있다. 예를 들면, 수학식 11, 14, 17 및 28을 조합함으로써, 인덱스 정보의 신택스 요소의 부호량을 효과적으로 줄일 수 있다.
전술한 바와 같이, 제2 실시형태에 따르면, 복호 장치(800)는 암호화되는 정보의 파라미터들 간의 상관성을 이용하여 공간 용장성을 제거함으로써 부호화 효율의 감소 문제를 해결한다. 복호 장치(800)는 가중 모션 보상 예측시에 사용되는 신택스 요소를 직접(직접 값으로) 암호화하는 종래의 구성에 비하여 부호량을 감소시킬 수 있다.
변형예
전술한 제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 (16)

  1. 암호화 방법에 있어서,
    참조 화상 및 가중 계수의 정보를 나타내는 인덱스를 설정하는 단계와,
    적어도 하나의 참조 화상과 암호화될 대상 화상 간의 화소치 변화가 특정의 기준 이하일 때의 가중 계수의 기준치가 예측치로서 도출되도록 예측하는 단계와,
    상기 가중 계수와 상기 예측치 간의 차분치를 암호화하는 단계를 포함하는 암호화 방법.
  2. 제1항에 있어서, 상기 인덱스는 상기 가중 계수 및 상기 가중 계수의 고정 소수점 정밀도를 포함한 조합을 나타내며,
    상기 예측하는 단계는, 상기 고정 소수점 정밀도에 기초하여 상기 대상 화상으로부터의 화소치 변화가 없을 때 상기 가중 계수의 기준치를 예측치로서 도출하는 단계를 포함하는 것인 암호화 방법.
  3. 제2항에 있어서, 상기 인덱스는 참조 화상을 포함하고,
    상기 암호화 방법은,
    입력 화상이 분할되는 복수의 블록 중의 대상 블록에 의해 참조되는 참조 화상 및 모션 벡터에 기초하여 얻어진 모션 보상 예측치에 상기 가중 계수를 승산함으로써 상기 대상 블록의 예측 화상을 생성하는 단계와,
    상기 입력 화상 및 상기 예측 화상에 기초하여 상기 대상 블록의 양자화 변환 계수를 생성하는 단계를 더 포함하고,
    상기 차분치를 암호화하는 단계는 상기 양자화 변환 계수 및 상기 모션 벡터를 암호화하는 단계를 더 포함하는 것인 암호화 방법.
  4. 제3항에 있어서, 상기 인덱스는 오프셋을 포함하고,
    상기 예측 화상을 생성하는 단계는, 상기 대상 블록의 상기 예측 화상을 생성하기 위해,
    상기 입력 화상이 분할되는 복수의 블록 중의 상기 대상 블록에 의해 참조되는 참조 화상 및 상기 모션 벡터에 기초하여 모션 보상 예측을 행함으로써 모션 보상 예측 화상을 생성하는 단계와,
    상기 생성된 모션 보상 예측 화상에 상기 가중 계수를 승산하는 단계와,
    결과치에 상기 오프셋을 가산하는 단계를 포함하는 것인 암호화 방법.
  5. 제4항에 있어서, 상기 인덱스는, 휘도의 가중 계수, 상기 휘도의 가중 계수의 제1 고정 소수점 정밀도, 색차의 가중 계수, 및 상기 색차의 가중 계수의 제2 고정 소수점 정밀도를 포함하고,
    상기 예측하는 단계는, 상기 제1 고정 소수점 정밀도와 상기 제2 고정 소수점 정밀도 간의 차분치를 상기 예측치로서 도출하는 단계를 포함하며,
    상기 차분치를 암호화하는 단계는, 상기 제1 고정 소수점 정밀도와 상기 제2 고정 소수점 정밀도 중 하나와 상기 예측치 간의 차분치를 암호화하는 단계를 포함하는 것인 암호화 방법.
  6. 제4항에 있어서, 상기 인덱스는 색차의 가중 계수와 색차의 오프셋을 포함하고,
    상기 예측하는 단계는, 상기 색차의 최대 명도치의 중간치에 상기 색차의 가중 계수를 승산하는 단계와,
    상기 색차의 중간치의 감산에 의해 획득된 값을 상기 예측치로서 도출하는 단계를 포함하며,
    상기 차분치를 암호화하는 단계는, 상기 색차의 오프셋과 상기 예측치 간의 차분치를 암호화하는 단계를 포함하는 것인 암호화 방법.
  7. 제6항에 있어서, 상기 예측하는 단계는, 상기 색차의 가중 계수 및 상기 색차의 오프셋에 대하여, 상기 대상 블록과 상기 참조 화상 간의 시간 거리 비에 따라 설정된 기준 가중 계수 및 기준 오프셋과, 상기 기준 가중 계수 및 상기 기준 오프셋 이외의 시간 거리를 나타내는 상기 색차의 가중 계수와, 상기 차분치를 예측치로서 도출하는 단계를 포함하고,
    상기 차분치를 암호화하는 단계는, 상기 색차의 가중 계수 및 상기 색차의 오프셋과 상기 예측치 간의 차분치를 암호화하는 단계를 포함하는 것인 암호화 방법.
  8. 제7항에 있어서, 상기 기준치를 도출하는 단계는, 상기 대상 블록과 상기 참조 화상 간의 시간 거리 비를 이용하여 암묵적으로 도출된 가중 계수를, 상기 색차의 가중 계수의 고정 소수점 정밀도와 동일한 정밀도를 갖도록 보정하는 단계와,
    상기 보정된 가중 계수와 상기 색차의 가중 계수 간의 차분치를 상기 예측치로서 도출하는 단계를 포함하고,
    상기 차분치를 암호화하는 단계는, 상기 보정된 가중 계수와 상기 예측치 간의 차분치를 암호화하는 단계를 포함하는 것인 암호화 방법.
  9. 복호 방법에 있어서,
    적어도 하나의 참조 화상과 암호화될 대상 화상 간의 화소치 변화가 특정의 기준 이하일 때의 가중 계수의 기준치가 예측치로서 도출되도록 예측하는 단계와,
    암호화 데이터를 해독하여 획득된 차분치와 상기 예측치를 가산함으로써 상기 가중 계수를 복호하는 단계와,
    상기 참조 화상 및 상기 복호된 가중 계수의 정보를 나타내는 인덱스를 설정하는 단계를 포함하는 복호 방법.
  10. 제9항에 있어서, 상기 예측하는 단계는, 상기 가중 계수의 고정 소수점 정밀도에 기초하여 상기 대상 화상으로부터의 화소치 변화가 없을 때 상기 가중 계수의 기준치를 예측치로서 도출하는 단계를 포함하고,
    상기 인덱스는 상기 가중 계수 및 상기 가중 계수의 고정 소수점 정밀도를 포함한 조합을 나타내는 것인 복호 방법.
  11. 제10항에 있어서, 상기 인덱스는 참조 화상을 포함하고,
    상기 가중 계수를 복호하는 단계는, 상기 암호화 데이터를 해독하여 양자화 변환 계수 및 상기 모션 벡터를 복호하는 단계를 포함하며,
    상기 복호 방법은,
    상기 양자화 변환 계수에 기초한 복호 화상이 분할되는 복수의 블록 중의 대상 블록에 의해 참조되는 참조 화상 및 상기 모션 벡터에 기초하여 얻어진 모션 보상 예측치에 상기 가중 계수를 승산함으로써 상기 대상 블록의 예측 화상을 생성하는 단계와,
    상기 복호 화상 및 상기 예측 화상에 기초하여 출력 화상을 생성하는 단계를 더 포함하는 복호 방법.
  12. 제11항에 있어서, 상기 인덱스는 오프셋을 포함하고,
    상기 예측 화상을 생성하는 단계는, 상기 대상 블록의 상기 예측 화상을 생성하기 위해,
    상기 복호 화상이 분할되는 상기 복수의 블록 중의 상기 대상 블록에 의해 참조되는 참조 화상 및 상기 모션 벡터에 기초하여 모션 보상 예측을 행함으로써 모션 보상 예측 화상을 생성하는 단계와,
    상기 생성된 모션 보상 예측 화상에 상기 가중 계수를 승산하는 단계와,
    결과치에 상기 오프셋을 가산하는 단계를 포함하는 것인 복호 방법.
  13. 제12항에 있어서, 상기 예측하는 단계는, 휘도의 가중 계수의 제1 고정 소수점 정밀도와 색차의 가중 계수의 제2 고정 소수점 정밀도 간의 차분치를 상기 예측치로서 도출하는 단계를 포함하고,
    상기 가중 계수를 복호하는 단계는, 상기 암호화 데이터를 해독하여 획득된 상기 제1 고정 소수점 정밀도와 상기 제2 고정 소수점 정밀도 중 하나의 차분치와 상기 예측치를 가산하는 단계와,
    상기 제1 고정 소수점 정밀도와 상기 제2 고정 소수점 정밀도 중 하나를 복호하는 단계를 포함하며,
    상기 인덱스는 휘도의 가중 계수, 상기 제1 고정 소수점 정밀도, 색차의 가중 계수, 및 상기 제2 고정 소수점 정밀도를 포함하는 것인 복호 방법.
  14. 제12항에 있어서, 상기 기준치를 도출하는 단계는, 상기 색차의 최대 명도치의 중간치에 상기 색차의 가중 계수를 승산하는 단계와,
    상기 색차의 중간치의 감산에 의해 획득된 값을 상기 예측치로서 도출하는 단계를 포함하고,
    상기 가중 계수를 복호하는 단계는, 상기 암호화 데이터를 해독하여 획득된 상기 색차의 오프셋의 차분치와 상기 예측치를 가산하는 단계와,
    상기 색차의 오프셋을 복호하는 단계를 포함하며,
    상기 인덱스는 상기 색차의 가중 계수와 상기 색차의 오프셋을 포함하는 것인 복호 방법.
  15. 제14항에 있어서, 상기 예측하는 단계는, 상기 색차의 가중 계수 및 상기 색차의 오프셋에 대하여, 상기 대상 블록과 상기 참조 화상 간의 시간 거리 비에 따라 설정된 기준 가중 계수 및 기준 오프셋과, 상기 기준 가중 계수 및 상기 기준 오프셋 이외의 시간 거리를 나타내는 상기 색차의 가중 계수와, 상기 차분치를 예측치로서 도출하는 단계를 포함하고,
    상기 가중 계수를 복호하는 단계는, 상기 암호화 데이터를 해독하여 획득된 상기 색차의 가중 계수와 상기 색차의 오프셋 간의 차분치와 상기 예측치를 가산하는 단계와,
    상기 색차의 가중 계수와 상기 색차의 오프셋을 복호하는 단계를 포함하는 것인 복호 방법.
  16. 제15항에 있어서, 상기 기준치를 도출하는 단계는, 상기 대상 블록과 상기 참조 화상 간의 시간 거리 비를 이용하여 암묵적으로 도출된 가중 계수를, 상기 색차의 가중 계수의 고정 소수점 정밀도와 동일한 정밀도를 갖도록 보정하는 단계와,
    상기 보정된 가중 계수와 상기 색차의 가중 계수 간의 차분치를 상기 예측치로서 도출하는 단계를 포함하고,
    상기 가중 계수를 복호하는 단계는, 상기 암호화 데이터를 해독하여 획득된 상기 보정된 가중 계수의 차분치와 상기 예측치를 가산하는 단계와,
    상기 보정된 가중 계수를 복호하는 단계를 포함하는 것인 복호 방법.
KR1020147005644A 2011-10-17 2011-10-17 암호화 장치 및 암호화 방법 KR101624058B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/073852 WO2013057783A1 (ja) 2011-10-17 2011-10-17 符号化方法及び復号方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020157030535A Division KR101738289B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법

Publications (2)

Publication Number Publication Date
KR20140059218A true KR20140059218A (ko) 2014-05-15
KR101624058B1 KR101624058B1 (ko) 2016-05-24

Family

ID=48140461

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020147005644A KR101624058B1 (ko) 2011-10-17 2011-10-17 암호화 장치 및 암호화 방법
KR1020177010940A KR101829179B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법
KR1020157030535A KR101738289B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법
KR1020177012202A KR101822346B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법
KR1020187032784A KR102003180B1 (ko) 2011-10-17 2011-10-17 암호화 방법 및 복호 방법
KR1020187003530A KR101920601B1 (ko) 2011-10-17 2011-10-17 암호화 장치 및 암호화 방법

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020177010940A KR101829179B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법
KR1020157030535A KR101738289B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법
KR1020177012202A KR101822346B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법
KR1020187032784A KR102003180B1 (ko) 2011-10-17 2011-10-17 암호화 방법 및 복호 방법
KR1020187003530A KR101920601B1 (ko) 2011-10-17 2011-10-17 암호화 장치 및 암호화 방법

Country Status (23)

Country Link
US (7) US9521422B2 (ko)
EP (6) EP3197164B1 (ko)
KR (6) KR101624058B1 (ko)
CN (5) CN107027026B (ko)
AU (5) AU2011379259B2 (ko)
BR (5) BR112014004805B1 (ko)
CA (1) CA2847299C (ko)
CY (2) CY1123691T1 (ko)
DK (2) DK3217667T3 (ko)
ES (2) ES2848525T3 (ko)
HR (2) HRP20201778T1 (ko)
HU (2) HUE052527T2 (ko)
LT (2) LT3217667T (ko)
MX (3) MX336659B (ko)
PL (2) PL3217667T3 (ko)
PT (2) PT3217667T (ko)
RS (2) RS61338B1 (ko)
RU (3) RU2586876C2 (ko)
SG (1) SG11201400294SA (ko)
SI (2) SI3197164T1 (ko)
TW (2) TWI569630B (ko)
WO (1) WO2013057783A1 (ko)
ZA (1) ZA201401563B (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589388B1 (ko) * 2011-06-20 2016-01-27 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 또한 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
BR112014004805B1 (pt) 2011-10-17 2022-05-17 Kabushiki Kaisha Toshiba Método de codificação e método de decodificação
SG11201400296RA (en) 2012-06-27 2014-09-26 Toshiba Kk Encoding device, decoding device, encoding method, and decoding method
US10368072B2 (en) 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder
WO2017086738A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
KR20170058838A (ko) * 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
CN113473122A (zh) * 2016-07-05 2021-10-01 株式会社Kt 对视频进行解码或编码的方法和计算机可读介质
US10805631B2 (en) 2016-09-23 2020-10-13 Lg Electronics Inc. Method and apparatus for performing prediction using template-based weight
MX2019003549A (es) * 2016-09-30 2019-08-12 Huawei Tech Co Ltd Metodo y aparato para codificacion y decodificacion de imagenes a traves de inter-prediccion.
EP3565249A4 (en) * 2016-12-28 2019-12-18 Sony Corporation IMAGE PROCESSING DEVICE AND METHOD
CN107995490A (zh) * 2017-12-14 2018-05-04 清华大学 信号获取方法及装置
CN112075078B (zh) * 2018-02-28 2024-03-15 弗劳恩霍夫应用研究促进协会 合成式预测及限制性合并
CN108366242B (zh) * 2018-03-07 2019-12-31 绍兴文理学院 按视频内容自适应调整色度失真权重因子的视频压缩方法
EP3550834A1 (en) * 2018-04-06 2019-10-09 Comcast Cable Communications LLC Encoding of video cross-fades using weighted inter-prediction
CN108614778B (zh) * 2018-05-10 2022-08-16 天津大学 基于高斯过程回归的安卓App程序演化变更预测方法
CN118200534A (zh) 2018-09-21 2024-06-14 夏普株式会社 图像解码装置
USD944065S1 (en) * 2019-08-30 2022-02-22 American Torch Tip, Co. Push button for releasing a gooseneck in a welding torch
KR20220123717A (ko) * 2020-01-12 2022-09-08 후아웨이 테크놀러지 컴퍼니 리미티드 비-직사각형 병합 모드로 가중 예측을 하모나이징하는 방법 및 장치
US20230401501A1 (en) * 2022-06-08 2023-12-14 Procore Technologies, Inc. Determination of Insights for Construction Projects
US20230401500A1 (en) * 2022-06-08 2023-12-14 Procore Technologies, Inc. Determination of Insights for Construction Projects

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69718951T2 (de) * 1996-05-17 2003-10-02 Matsushita Electric Ind Co Ltd Bewegungskompensierter Videodekoder
DE19952982B4 (de) 1999-11-03 2004-01-29 Acgt Progenomics Ag Verfahren zur gerichteten Verpackung von molekularen Substanzen in Proteinhüllen
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
WO2003063502A1 (en) * 2002-01-18 2003-07-31 Kabushiki Kaisha Toshiba Moving picture coding method and apparatus and decoding method and apparatus
JP2004007379A (ja) 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
EP1547381A4 (en) 2002-10-01 2010-11-03 Thomson Licensing IMPLIED WEIGHTING OF REFERENCE IMAGES IN A VIDEO PROCESSOR
JP2004179687A (ja) 2002-11-22 2004-06-24 Toshiba Corp 動画像符号化/復号化方法及び装置
JP4756573B2 (ja) 2002-12-04 2011-08-24 トムソン ライセンシング 重み付け予測を用いたビデオ・クロス・フェードの符号器および符号化方法
MXPA05013727A (es) 2003-06-25 2006-07-06 Thomson Licensing Metodo y aparato para el calculo de prediccion ponderada con el uso de diferencial de cuadro desplazado.
JP2005318297A (ja) 2004-04-28 2005-11-10 Toshiba Corp 動画像符号化・復号方法及び装置
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
EP3133813B1 (en) * 2004-09-16 2020-06-17 InterDigital VC Holdings, Inc. Method and apparatus for weighted prediction video codec utilizing local brightness variation
TW200612385A (en) * 2004-10-08 2006-04-16 Mstar Semiconductor Inc Image contrast enhancing device and method thereof
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
US20060293038A1 (en) 2005-06-23 2006-12-28 Sbc Knowledge Ventures L.P. Home cellular system
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2007081518A (ja) * 2005-09-12 2007-03-29 Victor Co Of Japan Ltd 動画像符号化装置および動画像符号化方法
BRPI0619193A2 (pt) * 2005-11-30 2011-09-20 Toshiba Kk Toshiba Corp método de codificação de imagem / decodificação de imagem, aparelho de codificação de imagem / decodificação de imagem
US7831434B2 (en) * 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
CN101371583B (zh) * 2006-01-23 2012-03-21 马普科技促进协会 编码/解码高动态范围图像的方法和设备
CN101379829B (zh) 2006-02-02 2016-05-18 汤姆逊许可公司 用于运动补偿预测的自适应加权选择的方法和设备
CN101072355B (zh) * 2006-05-12 2010-07-28 中国科学院计算技术研究所 一种加权预测运动补偿方法
EP2136564A1 (en) * 2007-01-09 2009-12-23 Kabushiki Kaisha Toshiba Image encoding and decoding method and device
US8619853B2 (en) * 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
CN101335902B (zh) * 2007-06-25 2010-06-02 华为技术有限公司 视频编解码中的加权预测方法和装置
US8750378B2 (en) * 2008-09-23 2014-06-10 Qualcomm Incorporated Offset calculation in switched interpolation filters
US20110007893A1 (en) 2009-07-08 2011-01-13 Berk Sunar Method and apparatus for fingerprinting and copy protecting optical recording media
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
US20110243220A1 (en) 2010-04-05 2011-10-06 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
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
MX2014002534A (es) 2011-10-17 2014-04-16 Toshiba Kk Dispositivo de codificacion, dispositivo de decodificacion, metodo de codificacion, y metodo de decodificacion.
BR112014004805B1 (pt) 2011-10-17 2022-05-17 Kabushiki Kaisha Toshiba Método de codificação e método de decodificação
SG11201400296RA (en) 2012-06-27 2014-09-26 Toshiba Kk Encoding device, decoding device, encoding method, and decoding method

Also Published As

Publication number Publication date
US20200177905A1 (en) 2020-06-04
RU2681359C1 (ru) 2019-03-06
US20140056357A1 (en) 2014-02-27
US11153593B2 (en) 2021-10-19
HUE052527T2 (hu) 2021-05-28
EP3217667B1 (en) 2020-08-12
SI3197164T1 (sl) 2021-03-31
HRP20201778T1 (hr) 2021-02-05
RU2681379C1 (ru) 2019-03-06
BR122020003071B1 (pt) 2021-11-09
EP3675497A1 (en) 2020-07-01
AU2015243067B2 (en) 2017-06-08
LT3217667T (lt) 2020-11-10
US11140405B2 (en) 2021-10-05
LT3197164T (lt) 2021-02-10
KR101822346B1 (ko) 2018-01-25
US10602173B2 (en) 2020-03-24
MX336659B (es) 2016-01-27
KR101738289B1 (ko) 2017-05-19
AU2017202582B2 (en) 2018-09-27
TWI492635B (zh) 2015-07-11
RS61338B1 (sr) 2021-02-26
TW201540051A (zh) 2015-10-16
EP3217667A1 (en) 2017-09-13
KR101624058B1 (ko) 2016-05-24
KR20170046197A (ko) 2017-04-28
CN106899847A (zh) 2017-06-27
BR112014004805B1 (pt) 2022-05-17
CA2847299C (en) 2016-10-11
ES2828048T3 (es) 2021-05-25
EP3675499B1 (en) 2021-12-29
PT3217667T (pt) 2020-11-03
EP2770736A4 (en) 2015-06-03
US10271061B2 (en) 2019-04-23
KR20170051549A (ko) 2017-05-11
US20200177903A1 (en) 2020-06-04
CN106791832A (zh) 2017-05-31
EP3197164A1 (en) 2017-07-26
AU2017202570B2 (en) 2018-09-27
US20160050428A1 (en) 2016-02-18
US9826247B2 (en) 2017-11-21
KR20150123970A (ko) 2015-11-04
KR101920601B1 (ko) 2018-11-20
US20200177904A1 (en) 2020-06-04
CN107027026A (zh) 2017-08-08
KR101829179B1 (ko) 2018-03-29
PT3197164T (pt) 2021-02-03
EP3197164B1 (en) 2020-12-09
AU2015243067A1 (en) 2015-11-05
BR122020003032B1 (pt) 2021-11-09
US9521422B2 (en) 2016-12-13
AU2017202570A1 (en) 2017-06-01
AU2011379259B2 (en) 2015-07-16
BR112014004805A2 (pt) 2017-03-28
HRP20210129T1 (hr) 2021-03-19
CN103843345B (zh) 2017-05-10
PL3217667T3 (pl) 2020-12-14
ES2848525T3 (es) 2021-08-10
CN106899847B (zh) 2019-12-27
KR102003180B1 (ko) 2019-07-23
EP3675499A1 (en) 2020-07-01
MX2014002392A (es) 2014-06-05
ZA201401563B (en) 2015-08-26
AU2017202582A1 (en) 2017-05-11
CN106791832B (zh) 2020-06-09
CN107071415B (zh) 2020-07-07
KR20180017225A (ko) 2018-02-20
PL3197164T3 (pl) 2021-04-19
DK3197164T3 (da) 2021-01-25
CA2847299A1 (en) 2013-04-25
EP3675498A1 (en) 2020-07-01
EP2770736B1 (en) 2019-06-19
HUE053615T2 (hu) 2021-07-28
CY1123691T1 (el) 2022-03-24
DK3217667T3 (da) 2020-11-16
RU2586876C2 (ru) 2016-06-10
BR122020003041B1 (pt) 2021-11-09
RU2014107490A (ru) 2015-11-27
WO2013057783A1 (ja) 2013-04-25
TW201318435A (zh) 2013-05-01
CY1123835T1 (el) 2022-05-27
CN107027026B (zh) 2020-04-24
US20190191175A1 (en) 2019-06-20
SI3217667T1 (sl) 2020-12-31
AU2018286602B2 (en) 2020-05-07
BR122020003031B1 (pt) 2021-11-09
RS61015B1 (sr) 2020-11-30
TWI569630B (zh) 2017-02-01
EP3675497B1 (en) 2021-12-29
US20170164006A1 (en) 2017-06-08
SG11201400294SA (en) 2014-09-26
CN103843345A (zh) 2014-06-04
EP2770736A1 (en) 2014-08-27
US11039159B2 (en) 2021-06-15
AU2018286602A1 (en) 2019-02-21
CN107071415A (zh) 2017-08-18
MX348004B (es) 2017-05-23
AU2011379259A1 (en) 2014-03-27
KR20180124162A (ko) 2018-11-20

Similar Documents

Publication Publication Date Title
KR101624058B1 (ko) 암호화 장치 및 암호화 방법
KR101624059B1 (ko) 암호화 장치 및 암호화 방법
KR101694664B1 (ko) 복호 장치 및 복호 방법
JP6088036B2 (ja) 復号方法、復号装置及びプログラム
JP5702011B2 (ja) 符号化方法、符号化装置及びプログラム
JP6744507B2 (ja) 符号化方法および復号方法
JP6396566B2 (ja) 電子機器、符号化方法及びプログラム
JP6235742B2 (ja) 電子機器、復号方法及びプログラム
JP6235745B2 (ja) 電子機器、復号方法及びプログラム
JP5869160B2 (ja) 復号方法、復号装置及びプログラム
JP2020129848A (ja) 符号化データのデータ構造、記憶装置、送信装置および符号化方法
JP2019009792A (ja) 符号化方法、復号方法及び符号化データ
JPWO2013057783A1 (ja) 符号化方法及び復号方法

Legal Events

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

Payment date: 20190417

Year of fee payment: 4