최근 디지털 방송기술의 비약적인 발전과 함께 초 고해상도 및 초 고화질 영상서비스에 관심이 높아지고 영상 서비스에 관한 수요가 늘어나고 있다. 따라서 기존의 Full HD 보다 4배 혹은 16배의 해상도가 크게 개선된 UHD나 Full HD를 지원하는 모바일 기기 등 영상기기의 보급이 이루어지고 있다. 이러한 큰 해상도의 콘텐츠가 보급이 됨에 따라 그에 해당하는 고효율의 비디오 압축 방법이 제시되고 있다. 따라서 새로운 압축방법에 적용할 수 있는 소유권/지적재산권 보호를 위한 워터마킹 기술 또한 필요하다. 본 논문에서는 새로운 압축 방법인 HEVC 기반의 재인코딩 과정시 인트라 프레임의 예측모드들을 분석하여 경향성을 분석해 HEVC 기반의 워터마킹 가능성 검토에 목적을 둔다. 인트라 프레임에서의 예측모드의 변화를 분석하고 나타나는 경향성의 분석을 통해 변화하지 않는 블록을 찾는 알고리즘을 제안한다.
Recently, with rapid development of digital broadcasting technology, high-definition video service increased interest and demand. supplied mobile and image device support that improve 4~16 time existing Full HD. Such as high-definition contents supply, proposed compression for high-efficiency video codec (HEVC). Therefore, watermarking technology is necessary applying HEVC for protecting ownership and intellectual property. In this paper, analysis of prediction mode in intra frame and study feasibility of watermarking in re-encoding based HEVC. Proposed detect un-changed blocks in intra frame, using the result of analysis prediction mode.
최근 디지털 방송기술의 비약적인 발전과 함께 초고해상도 및 초고화질 영상 서비스에 대한 관심이 매우 높아지고 영상 서비스에 관한 수요가 늘어나게 되었다. 그러면서 기존의 Full HD 보다 4배 혹은 16배나 해상도가 크게 개선된 UHD나 Full HD를 지원하는 모바일 기기 등 영상기기의 보급이 이루어지고 있다. 이러한 고화질/고해상도의 비디오 콘텐츠들은 기존의 영상에 비해 수배 혹은 수십 배에 달하는 데이터량을 가지고 있기 때문에 초고화질 서비스 구현을 위해서는 데이터 통신 트래픽 증가 및 저장 공간의 문제가 개선되어야 한다.
그러나 현재 기기에 사용되는 H.264/AVC 표준은 고해상도 및 고화질 영상서비스를 지원하기에는 한계가 있다. 이에 ITU-T VCEG(Video Coding Experts Group) 와 ISO/IEC MPEG(Moving Picture Experts Group)는 H.264/AVC보다 더 높은 압축률과 더 낮은 복잡도의 새로운 차세대 동영상압축 표준의 필요성에 의해, 2010년 초 HEVC(High Efficiency Video Coding)라는 표준화 활동을 시작했으며, 2013년 1월 스위스 제네바 회의에서 HEVC 최종 표준안(FDIS: Final Draft International Standard)을 완성하였다[1].
HEVC는 H.264/AVC에 비해 약 35%의 부호화 효율을 보이는 차세대 영상 압축 표준으로 HD급이나 UHD급 영상의 방대한 데이터를 효과적으로 압축하기 위한 핵심 기술로 주목받고 있다. 전세계적으로 HEVC 기술의 상용화 노력을 통해 최적화된 HEVC 소프트웨어 및 하드웨어 표준이 시장에 등장할 것으로 전망되고 있다[2].
모든 콘텐츠가 디지털화됨에 따라 저작자의 의도와는 상관없이 얼마든지 원본의 콘텐츠가 쉽게 조작될 수 있는 위험에 노출될 수 있기 때문에 소유권 또는 지적재산권을 보호해주어야 한다. 이들 매체 또는 콘텐츠를 보호하는 방법으로는 정보보호/보안과 소유권/지적재산권 보호로 크게 구분된다. 정보보안/보호는 매체 또는 콘텐츠의 내용을 암호화하여 특별한 허가정보(키, key)를 득한 경우에만 복호화하여 원 콘텐츠를 확인/사용할 수 있는 기술이다. 소유권/지적재산권 보호방법으로 가장 많이 사용되는 것은 워터마킹(watermarking) 방법으로, 저작권자의 정보(워터마크)를 디지털 콘텐츠에 디지털로 삽입/추출하는 디지털 워터마킹이 현재로서는 가장 널리 사용되고 꾸준히 연구되어지고 있다[3]. 디지털 워터마킹 기술은 그 적용 대상 영상/ 비디오를 획득하고 저장하는 경우에는 압축하는 기술을 고려할 필요가 없으나, 획득된 데이터를 곧바로 전송하여야 하는 등 여러 가지 경우에는 압축기술을 기반으로 수행되어야 한다. 따라서 새로운 압축 또는 데이터처리기술이 개발되면 그 기술을 기반으로 하는 워터마킹기술이 개발 되어야 한다. HEVC 뿐만 아니라 H.264의 경우 압축방법에 따라 인트라 프레임과 인터프레임으로 나눌 수가 있다. 그러나 기존에 제안된 대부분의 방법의 경우 인터 프레임은 움직임벡터를 이용하는데 이 경우 화질 열화가 심하고 인터 프레임 간의 차가 작아 워터마킹에 어려움이 있기 때문에 워터마킹기술은 인트라 프레임을 대상으로 하는 것이 바람직하다[4].
HEVC는 국제표준으로 제정된 지 얼마 되지 않았기 때문에 워터마킹에 대한 연구는 매우 부족한 상황이다. 그러나 앞으로 HEVC의 활용범위가 넓어지고 다양한 분야에서 HEVC를 사용할 계획에 있기 때문에 HEVC 로 코딩된 영상에 대한 워터마킹은 매우 중요한 이슈가 될 것으로 보인다. 최근까지 HEVC를 위한 워터마킹 연구가 많지는 않지만 최근 들어서 몇몇 연구가 시작되고 있다[3,5-8]. 그러나 아직까지 그 수는 절대적으로 부족한 상황이다. HEVC가 국제표준으로 제정되지 얼마 되지 않았고, 아직까지는 HEVC의 코딩을 효율성을 높이기 위한 연구와 이를 소프트웨어 및 하드웨어로 구현하고자 하는 연구에 주로 치우쳐져 있기 때문인 것으로 사료된다. Lin[3]의 연구에서는 HEVC의 인트라 프레임을 대상으로 에러를 전파하지 않는 DCT 및 DST 기반의 데이터 은닉 알고리즘을 연구하였고, Wong[5]의 연구에서는 CTU에서 코드 블록의 크기를 결정하는 단계를 이용하여 정보를 은닉하는 방법을 연구하였다. Potapov[6]은 HEVC 코딩, 예측 및 변환에서 계층적 구조를 갖는 특성을 활용하여 워터마킹을 시도하였고, Chang[7]은 인트라 프레임의 예측 모드의 방향성과 차분 계수를 정합을 위한 텍스쳐 특성으로 사용하여 양자화 파라미터 및 영상의 크기에 강인한 복제 검출 기법을 제안하였다. 또한 Ohtake[8]는 엔트로피 코딩 단계에서 치환을 통해서 워터마크를 삽입하는 다소 제한적인 방법을 제시하였다. 이러한 몇몇 연구가 진행되고 있으나 아직까지 초기 단계의 수준이고 앞으로 더 많은 연구가 수행되어야 할 것이다.
본 논문에서는 HEVC기반으로 재인코딩 과정 시 인트라 프레임의 예측모드들을 분석하여 경향성을 분석해 HEVC기반의 워터마킹 가능성 검토에 목적을 둔다. 즉, 본 논문은 HEVC기반 인트라 프레임을 대상으로 하는 디지털 워터마킹을 제안하고자 하는 것이 아닌 인트라 프레임에서의 예측모드의 변화를 분석하고 나타나는 경향성의 분석을 통해 변화하지 않는 블록을 찾는 알고리즘을 제안하고 그 결과로 HEVC 인트라 예측에서의 워터마킹에 대한 가능성을 보이고자 한다.
앞서 언급한 것과 같이 HEVC에서는 인트라 예측을 수행하는데, 그림 1은 인코딩과정을 나타내었다. HEVC 인코더에서는 부호화 성능 향상을 위해서 35가지 방향성을 고려한 화면 내 예측과 화면 간 예측을 하며, 변환에 있어서는 DCT(discrete cosine transform)를 수행하며 화면 내 예측에 있어서 4 × 4블록에 있어서는 DST(discrete sine transform)를 수행한다[9]. 또한 양자화 성능을 높이기 위해 RDOQ (Rate-distortion optimized quantization)가 포함되며, 엔트로피 부호화 방법으로 CABAC (Contextbased Adaptive Binary Arithmetic Coding)이 사용을 사용하여 비트스트림으로 만들어 진다.
화면 내 예측은 인-루프 필링이 수행되기 전 예측과 변환을 거쳐 재구성된 샘플을 참조하여 현재 블록을 예측하는 방법이며 33개의 방향성과 2가지의 DC, Planer 모드를 포함해서 35가지의 모드를 사용하여 기존의 H.264보다 더 세분화되어졌다.
인트라 예측모드를 결정에 사용되는 함수는
이며 여기서, SATD(Sum of Absolute Transformed Differences)란 하다마드 변환된 원본블록과 예측블록 간의 SAD(Sum of Absolute Differencs)를 의미하며
그림 1의 양자화과정에서 양자화계수가 클수록 양자화 에러가 크게 발생하여 복원된 영상에 블록킹 열화현상이 발생할 수 있고, 이로 인해 주관적인 화질이 저하 될 우려가 있다. 그리하여 이러한 문제를 개선하기위해 복원된 영상에 필터링을 수행함으로써 주관적 화질을 향상시킬 수가 있는데 HEVC에서는 디블록킹 필터와 적응적 샘플 오프셋(Sample Adaptive Offset)라는 두 가지의 인루프 필터를 수행한다.
디블록킹 필터는 실제로 블록킹 현상이 발생할 수 있는 모든 예측블록과 변환블록의 경계에 대해 필터링을 수행하지 않고, 8 × 8 블록 경계에 위치하는 예측블록과 변환블록의 경계에 대해서만 수행한다. HEVC의 디블록킹 필터의 경우 특히, 수직 에지들에 대해 우선적으로 수평필터링을 적용한 후 그 다음에 수평 에지들에 대해 수직 필터링을 수행하게 된다[12].
적응적 샘플 오프셋은 각 영역에 적합한 오프셋 값을 계산하고 이를 이용해 주관적 화질을 향상 시킨다. 적응적 샘플 오프셋에서는 현재 부호화 단위 내 화소 값의 특징에 따라 표 1과 같은 3개의 필터 유형 중 한 가지 유형을 사용하게 된다.
SAO 필터 유형
적응적 샘플 오프셋 필터링이 불필요한 경우 0번 유형이 선택되어 필터링이 수행되지 않는다. 1번 유형은 적응적 샘플 오프셋 계산 방법 중 BO(Band Offset)를 사용하고 2번 유형의 경우 적응적 샘플 오프셋 계산 방법 중 EO(Edge Offset)를 사용한다. EO는 경계 정보를 포함한 영역에서 더 효율적인 오프셋 계산 방법이고, BO는 특정 밝기 대역에서 원본 화소들과 값의 차이가 발생하는 경우에 사용하는 것이 효율적인 방법이다[13].
본 장에서는 HEVC 인트라 프레임을 대상으로 재인코딩 된다 했을 때 나타나는 특성을 분석하고자 한다.
본 논문에서는 다음의 방법으로 HEVC 인트라 프레임의 재인코딩 과정을 수행하였다.
이 방법에 따라 그림 2의 1,920 × 1,080 Kimono1, Park scene, Cactus의 세 개의 테스트 비디오를 각각 100프레임씩 적용하였으며, 각 비디오는 QP 22, 27, 32로 수행하였다.
이때 실험은 HEVC의 참조소프트웨어인 HM10.0을 사용하였다. 실험 결과를 먼저 표 2에 나타냈다. 표에서는 단위를 예측블록(prediction unit, PU)크기 별로 하여 QP당 예측모드가 변화하지 않을 확률을 나타낸 것이다. 표에서 보듯이 PU의 사이즈가 작아질수록 점점 예측모드가 변화할 확률이 작아지며, 또한 QP가 증가할수록, 즉 양자화 강도가 강할수록 예측모드의 변화율이 높다. 영상 별로 보면 다른 영상에 비해 Cactus에서 예측모드가 변화하지 않을 확률이 작을 것으로 보아 고주파가 많은 영상일수록 예측모드가 변화할 가능성이 높다는 사실을 알 수 있다. 그림 3에서는 예측모드가 변화한 PU에 대해 한 프레임의 예를 보인 것으로, 1,920 × 1,080 Basketball driver란 비디오 중 한 장으로 그림에서 붉은 색으로 표시된 부분이 재인코딩시 예측모드가 변화한 블록들이다. 그림을 보면 배경부분인 영역보다 경계 부분 영역의 PU가 붉은 색인 경우가 많은 것을 볼 수가 있다.
[표 2.] 재인코딩 과정에 의해 인트라 예측 모드가 변화하지 않을 예측 블록별 확률
재인코딩 과정에 의해 인트라 예측 모드가 변화하지 않을 예측 블록별 확률
표 2는 QP 32에 대해 모드별로 예측모드의 변화율을 분석해 놓은 것이다. 표 3에서 DC(모드 0)와 Vertical(모드 26)의 경우 3개의 시퀀스 모두에서 재인코딩시 모드의 변화가 거의 없는 것을 볼 수 있고 그 외의 나머지는 시퀀스별로 차이는 나지만 어느 정도 변화가 나타나는 것을 볼 수가 있다.
모드에 따른 예측 에러의 평균
표 3에는 예측 에러에 대한 결과를 나타내었다. QP를 32로 할 경우에 4×4 블록을 기준으로 예측 에러를 나타낸 것이다. 따라서 이 결과에는 4×4 이외에 상위 블록크기의 결과를 모두 포함하는 예측에러라 할 수 있다.
그림 4는 1,920 × 1,080 Basketball driver의 한 frame에 대해 인코딩과 재인코딩 했을 때 PU의 인트라 예측모드를 나타낸 것이다. 그림 4에서 예측블록 PU의 크기 및 예측모드가 같은 것도 있고, 사이즈와 예측모드가 다른 것도 있고, 그림의 우측 상단(모드 11)과 같이 한번 인코딩 된 경우와 재인코딩된 경우 모드는 동일하지만 PU의 사이즈가 다른 것도 있다. 이 세 가지 경우에서 먼저 예측 모드만 변하는 블록들의 모드들을 살펴보면 크기만 변하는 블록과 모드와 크기 둘 다 변하지 않는 경우보다 모드들이 평균과 크게 차이가 나는 것을 알 수가 있다. 또한 TU(trainsform unit) 분할이란 것은 PU에서 TU를 결정할 때 현재 PU사이즈에서 분할이 되었는지 되지 않았는지를 결정하는 것으로써, 재인코딩시 모드가 같고 PU사이즈가 변화하는 것만 블록 크기가 분할되는 것을 알 수 있다. 인트라 예측은 RD-cost값이 가장 작은 예측모드를 선택하고, 그 모드에 해당하는 예측값을 각 PU당 화소의 값으로 예측한 후, 원영상과의 차이값에 대해 DCT/DST와 양자화를 거친다.
[표 4.] Race horse에 대한 재인코딩시 나올 수 있는 PU 3가지 경우
Race horse에 대한 재인코딩시 나올 수 있는 PU 3가지 경우
따라서 예측모드가 변화하게 되면, 차영상부터 양자화 결과가 변화한다. 따라서 워터마킹을 수행한 후 재 인코딩시 예측모드가 달라지는 것으로 인하여 워터마크 데이터 손실이 일어날 수가 있기 때문에 변화하지 않는 모드를 선택하는 것이 중요하다. 재인코딩시 모드가 같고 PU사이즈가 변화하고 인코딩시보다 재인코딩 시 블록의 사이즈가 작은 경우에는 예측모드가 같기 때문에 인코딩 시 원영상과 예측영상의 차이나 재인코딩시 원영상과 예측영상의 차이가 거의 같을 것으로 예상된다. 그러나 인코딩시보다 재인코딩시 PU크기가 커진 경우에는 차이가 달라질 수 있다.
물론 재인코딩시 모드가 같고 PU사이즈가 변화하는 경우를 무시할 수도 있지만 그림 5와 같이 시퀀스의 사이즈가 커질수록 많은 비율을 차지하는 것을 알 수 있다. 그렇기 때문에 본 논문에서는 모드가 변화하지 않고 PU사이즈가 변화하는 경우도 모드가 변화하지 않는 경우라 간주하였다.
앞 장에서 재인코딩시 예측모드의 변화율을 보면 평균적으로 모드가 변화하지 않을 확률이 더 높다는 것을 알 수 있다. 그러나 임의의 PU선택 시 모드가 달라진 PU를 선택할 확률을 줄이기 위해 재인코딩시 예측모드는 같으나 PU가 변하는 것 역시 예측모드가 변하지 않는 것으로 간주하여 재인코딩시 변화하지 않는 PU를 선택하는 알고리즘을 제안한다.
제안한 알고리즘은 그림 6과 같다. 앞장에서 실험한 것과 같이 먼저 시퀀스에 대해 64×64 PU부터 4×4 PU에 대한 최적의 RD(rate distortion)-cost와 예측 모드 그리고 TU가 되기 전 분할 유무를 구한다. 먼저 RD-cost 의 경우 구한 모든 값들에 대해 시퀀스별로 먼저 한 장씩 인코딩과 재인코딩시 나오는 변화하지 않는 경우와 변화하는 경우에 대해 PU별로 예측모드를 구한 후, 변화하지 않는 경우를 Mode_Same으로 변화하는 경우를 Mode_Dff로 정의한다. 그리고 Mode_Same과 Mode_Dff별로 최대값과 최소값, 중간값 및 가장 많이 나오는 값을 구한다. 그리고 각각 구한 8개의 값을 내림차순으로 정렬하여, 가장 많은 Mode_Same을 찾는 범위의 값을 선택한다.
두 번째 예측모드를 이용하여 분산을 구한다. 2.2에서 설명한대로. Mode_same의경우를 보면 모드들이 평균에서 값이 많이 차이나지 않지만, Mode_Diff인 경우 모드들이 평균에서 많은 차이를 보인다. 이를 이용해서 최적의 PU에 대한 모드 하나와 결정되기 전의 4개의 PU들의 모드중 후자의 4개의 PU의 모드를 이용해 분산을 구하고 조건 값을 정해주어 Mode_same을 찾아낸다.
세 번째는 4.1에 설명했던 대로 모드별로 변화하지 않을 확률이 나오는 경향이 다르기 때문에 방향성이 있는 모드(2~34)와 그렇지 않은 모드(0, 1)에 대해 구별한다. 마지막으로 TU의 분할 유무로 현재 PU가 TU로 결정되는 과정에서 분할이 되었는지 아닌지 찾는다.
그리하여 정해준 4가지 조건으로 만들 수 있는 조합인 14가지에 대해 변화하지 않는 PU와 그렇지 않은 PU를 구별해준다. 이 실험은 PU가 32×32부터 8×8까지인 경우만 구별하였다. 그 이유는 2장의 실험결과에서 보여주었듯이 예측 블록의 크기가 클수록 변화하지 않는 블록을 찾기가 힘들다. 그렇기 때문에 64×64 크기의 블록을 사용하지 않았고, 6×4 경우에는 PU의 크기가 작기 때문에 제안한 알고리즘에 대해 적용할 수 있는 조건(모드분산, TU분할)이 적기 때문이다.
제안한 알고리즘을 위한 실험은 2장에서 실험했던 시퀀스 3장과 1,920×1,080 Basketball driver를 포함해서 총 4개를 사용하였다. Full HD의 영상으로 실험을 하였으며, 각각의 시퀀스를 100장씩 실험하였다. 3장에서 제안한 알고리즘을 수행하였을 경우 결과를 그림 7에 보이고 있다.
그림 7의 실험은 인루프 필터에서 디블록킹 필터를 수행하였을 경우와 수행하지 않을 경우로 나누어서 Mode_Same이 나올 확률에 관해 예측모드 블록별로 계산을 수행하였다. 14가지 조건에서 디블록킹필터를 수행하지 않은 것이 전반적으로 대부분의 조건에 확률이 높은 것을 확인 할 수 있다. 이는 디블록킹시 영상의 주관적 화질을 높이기 위해 영상을 변형하기 때문에 예측모드에 영향을 미친다는 것을 알 수 있다. 또한 14가지 조건 중 RD-cost와 Mode를 거친 조건에서 가장 확률이 높다는 것을 확인할 수 있다.
그림 8은 조건 중 가장 확률이 높은 RD-cost와 Mode에서의 모드별 나올 개수를 나타낸 것이다. 모드가 10(Horizental), 11 및 26(Vertical)일 때 개수가 월등히 높은 것을 확인 할 수 있다. 워터마킹에서는 대상영상에 많은 워터마크 데이터를 삽입할수록 공격에는 강하지만, 화질은 열화되고 상보적(Trade-off)관계를 갖는 다. 그만큼 워터마킹을 할 때에는 적절한 량의 데이터를 삽입해야한다. 영상의 크기를 1,920 × 1,080으로 실험한 만큼 1,920 × 1,080= 2,073,600개의 화소가 존재한다. 이 중 변화하지 않은 모드를 찾아낸 개수 중에서 가장 많은 경우는 방향성 모드와 모드분산이다.
이때 약 2000개 정도의 개수는 찾을 수 있고, 이는 영상의 크기에 비해 1/100에 해당하는 수치이다. 또한 그림 7에서 나온 실험결과에서 가장 높은 확률를 가진 RD-cost와 Mode(2~34)조건일 경우 약 250개 정도를 찾아낼 수 있다.
재인코딩과정이 일반적인 워터마킹의 효용성을 감소시키기 때문에 워터마킹을 위해서는 인트라 예측모드를 변화를 막을 수 있는 방법을 찾아야한다. 따라서 본 논문에서는 변화하지 않을 PU를 찾는 알고리즘을 제안하였다.
먼저 HEVC기반의 인트라 예측에서 재인코딩 과정시 PU별 변화량을 살펴보고 재인코딩시 나타나는 모드는 변화하지 않고 PU의 크기만 변하는 블록에 대해 경향성을 분석하였다. 블록의 사이즈가 다른 블록도변화하지 않는 블록으로 간주하는 것이 옳다고 판단하였고, 이에 따라 변화하지 않는 모드를 제안하는 알고리즘을 제안하였다. 제안한 방법은 변화하지 않는 모드를 찾아내는 것에 우수한 성능을 보였다. 재인코딩 시 변화하지 않는 모드를 찾아냄으로써, HEVC를 기반으로 한 인트라프레임의 워터마킹에 대한 가능성을 제안하였다. 그러나 HEVC를 기반으로한 워터마킹을 할 때에는 고려되는 조건(공격에 대한 강인성 등)이 몇 가지가 있고 그에 대한 더 많은 연구가 필요하다.