문맥 (context)
종래로부터, 기록 가능하고 기록 재생 장치로부터 떼어냄이 가능하게 됨과 함께, 기록 용량이 비교적 크고, 비디오 데이터와 오디오 데이터로 이루어지는 AV(Audio/Video) 데이터를 기록하는데 적합한 기록 매체로서, 4.7GB(Giga Byte) 이상의 기록 용량을 갖는 DVD(Digital Versatile Disc)가 보급되어 있다. 특허 문헌 「특개2004-350251」에는, 기록 가능한 타입의 DVD에 대해 DVD-Video 포맷으로 기록하는 촬상 장치가 기재되어 있다.
이 기록 가능한 타입의 DVD는, 파일 시스템에 UDF(Universal Disk Format)가 사용되고 있고, UDF에 대응하는 컴퓨터 장치로 액세스가 가능하도록 되어 있다. UDF는, ISO(International Organization for Standarization)9660에 의한 포맷을 포함하고 있고, 컴퓨터 장치에 사용되는 다양한 파일 시스템에서 액세스 가능하도록 되어 있다. 이 기록 가능한 타입의 DVD에 대해, 예를 들면 촬상 장치로 촬상된 비디오 데이터와 촬상에 수반하여 얻어진 오디오 데이터를 파일로서 기록함으로써, 촬상 장치와 컴퓨터 장치 등의 다른 장치와의 친화성이 늘고, 기록된 데이터를 보다 유효하게 활용하는 것이 가능해진다.
그런데, 비디오 데이터는, 데이터 용량이 방대해지기 때문에, 소정의 방식으로 압축 부호화되어 기록 매체에 기록되는 것이 일반적이다. 비디오 데이터의 압축 부호화 방식으로서는, MPEG2(Moving Picture Experts Group 2) 방식이 표준적인 방식으로서 알려져 있다. 또한, 근래에는, MPEG2의 압축 부호화 방식을 더욱 추진하여 효율적인 부호화를 행할 수 있도록 한, ITU-T(International Telecommunication Union-Telecommunication Standarization Sector) 권고 H.264 또는 ISO(International Organization for Standarization)/IEC(International Electrotechnical Commission) 국제표준 14496-10(MPEG-4 파트 10) Advanced Video Coding(이하, H.264|AVC라고 약칭한다)도, 보급되어 오고 있다.
이들 MPEG2 및 H.264|AVC에서는, 직교 변환 등을 이용한 프레임 내 부호화를 행함과 함께, 움직임 보상을 이용한 예측 부호화에 의한 프레임간 부호화를 또한 행하여, 압축률을 높이고 있다. 이하, MPEG2 방식을 예로 들어, 예측 부호화에 의한 프레임간 압축에 관해 설명한다.
우선, MPEG2에 의한 데이터 스트림 구조에 관해, 개략적으로 설명한다. MPEG2는, 움직임 보상을 이용한 예측 부호화와, DCT에 의한 압축 부호화를 조합시킨 것이다. MPEG2의 데이터 구조는, 계층 구조를 하고 있고, 하위로부터, 블록층, 매크로 블록층, 슬라이스층, 픽처층, GOP층 및 시퀀스층으로 되어 있다. 블록층은, DCT를 행하는 단위인 DCT 블록으로 이루어진다. 매크로 블록층은, 복수의 DCT 블록으로 구성된다. 슬라이스층은, 헤더부와, 1 이상의 매크로 블록으로 구성된다. 픽처층은, 헤더부와, 1 이상의 슬라이스로 구성된다. 픽처는, 1화면에 대응한다. 각 층의 경계는, 각각 소정의 식별 부호로 식별 가능하도록 되어 있다.
GOP층은, 헤더부와, 프레임 내 부호화에 의거하는 픽처인 I(Intra-coded)픽처와, 예측 부호화에 의거한 픽처인 P(Predictive-coded)픽처 B(Bi-directionally predictive coded)픽처로 구성된다. I픽처는, 그 자신의 정보만으로 디코드가 가능하고, P 및 B픽처는, 기준 화상으로서 전(前) 또는 전후의 화상이 필요하게 되고, 단독으로는 디코드되지 않는다. 예를 들면 P픽처는, 자신보다 시간적으로 전의 I픽처 또는 P픽처를 기준 화상으로서 이용하여 디코드된다. 또한, B픽처는, 자신의 전후의 I픽처 또는 P픽처의 2장의 픽처를 기준 화상으로서 이용하여 디코드된다. 최저 1장의 I픽처를 포함하는 그 자신으로 완결된 그룹을 GOP(Group Of Picture)라고 부르고, MPEG의 스트림에서 독립하여 액세스 가능한 최소의 단위가 된다.
GOP는, 하나 또는 복수의 픽처로 구성된다. 이하에서는, GOP는, 복수의 픽처로 구성되는 것으로 한다. GOP에서, GOP 내에서 완전히 디코드가 가능한, GOP로 닫은 구조를 갖는 클로즈드 GOP와, 디코드할 때에 부호화순으로 하나 전의 GOP의 정보를 이용할 수 있는 오픈 GOP의 2종류가 있다. 오픈 GOP는, 클로즈드 GOP와 비교하여, 보다 많은 정보를 이용하여 디코드할 수 있기 때문에 고화질을 얻을 수 있고, 일반적으로 사용되고 있다.
도 1A, 도 1B 및 도 1C를 이용하여, 프레임간 압축을 행하는 데이터의 디코드 처리에 관해 설명한다. 여기서는, 1GOP가 1장의 I픽처, 4장의 P픽처 및 10장의 B픽처의, 합계 15장의 픽처로 구성되는 것으로 하고, GOP의 타입은, 오픈 GOP인 것으로 한다. GOP 내의 I, P 및 B픽처의 표시순은, 도 1A에 한 예가 도시되는 바와 같이, 「B0 B1 I2 B3 B4 P5 B6 B7 P8 B9 B10 P11 B12 B13 P14」와 같이 된다. 또한, 첨자는 표시순을 나타낸다.*****
이 예에서는, 최초의 2장의 B0픽처 및 B1픽처는, 하나 전의 GOP에서의 최후미의 P14픽처와, 이 GOP 내의 I2픽처를 이용하여 예측되고 디코드된 픽처이다. GOP 내의 최초의 P5픽처는, I2픽처로부터 예측되고 디코드된 픽처이다. 다른 P8픽처, P11픽처 및 P14는, 각각 하나 전의 P픽처를 이용하여 예측되고 디코드된 픽처이다. 또한, I픽처 이후의 각 B픽처는, 각각 전후의 I 및/또는 P픽처로부터 예측되고 디코드된 픽처이다.
한편, B픽처는, 시간적으로 전후의 I 또는 P픽처를 이용하여 예측되고 디코드되기 때문에, 스트림이나 기록 매체상에 있어서의 I, P 및 B픽처의 나열 순서는, 디코더에서의 디코드의 순서를 고려하여 정할 필요가 있다. 즉, B픽처를 디코드하기 위한I 및/또는 P픽처는, 해당 B픽처보다도 항상 먼저 디코드되어 있어야 한다.
상술한 예에서는, 스트림이나 기록 매체상의 각 픽처의 배열은, 도 1B에 예시되는 바와 같이, 「I2 B0 B1 P5 B3 B4 P8 B6 B7 P11 B9 B10 P14 B12 B13」와 같이 되고, 이 순서로 디코더에 입력된다. 또한, 첨자는, 도 1A에 대응하고, 표시순을 나타낸다.
디코더에서의 디코드 처리는, 도 1C에 도시되는 바와 같이, 우선 I2픽처를 디코드하고, 디코드된 이 I2픽처와 하나 전의 GOP에서의 최후미(표시순)의 P14픽처에 의해 B0픽처 및 B1픽처를 예측하고 디코드한다. 그리고, B0픽처 및 B1픽처를 디코드된 순서로 디코더로부터 출력하고, 다음에 I2픽처를 출력한다. B1픽처가 출력되면, 다음에 P5픽처가 I2픽처를 이용하여 예측되고 디코드된다. 그리고, I2픽처 및 P5픽처를 이용하여 B3픽처 및 B4픽처가 예측되고 디코드된다. 그리고, 디코드된 B3픽처 및 B4픽처를 디코드된 순서로 디코더로부터 출력하고, 다음에 P5픽처를 출력한다.
이하, 마찬가지로 하고, B픽처의 예측에 이용하는 P 또는 I픽처를 B픽처보다 먼저 디코드하고, 이 디코드된 P 또는 I픽처를 이용하여 B픽처를 예측하여 디코드하고, 디코드된 B픽처를 출력하고 나서, 해당 B픽처를 디코드하기 위해 이용한 P 또는 I픽처를 출력하는 처리가 반복된다. 기록 매체상이나 스트림에서의 도 1B와 같은 픽처 배열은, 일반적으로 사용되는 것이다.
또한, H.264|AVC 방식에서도, 비디오 데이터의 인코드 및 디코드 처리는, 개략적으로는, MPEG2 방식에서의 처리와 개략 마찬가지로 하여 행하여진다. H.264|AVC 방식에서는, 보다 유연하게 픽처를 이용하여 프레임 사이 예측을 행할 수 있도록 되어 있다. 또한, H.264|AVC 방식에서는, MPEG2 방식에서의 I픽처에 상당하는, 랜덤 액세스 가능한 픽처를 IDR(Instantaneous Decoding Refresh)픽처라고 부른다. 이하에서는, 부호화 방식을 MPEG2 방식에 대표시켜서 설명한다.
여기서, MPEG2 방식과 같이 프레임간 압축을 이용하는 부호화 방식에 의해 압축 부호화된 비디오 데이터를 편집하는 경우에 관해 생각한다. 편집 처리의 한 예로서, 비디오 영상에서의 중간부의 장면을 삭제하고, 삭제한 구간의 전후를 결합하는 경우에 관해 설명한다. 예를 들면, 도 2A에 한 예가 도시되는 바와 같이, GOP#1, GOP#2, …, GOP#9, …와 같이 GOP 구조가 연결된 비디오 스트림에 대해, 삭제하는 장면에 대응하는 구간(A-B)을 지정한다. 여기서, 구간(A-B)의 전단(前端)의 편집점(A)과, 후단의 편집점(B)은, 각각 GOP#3 및 GOP#7의 중간부분의 픽처인 것으로 한다. 편집에 의해 해당 구간(A-B)의 픽처를 삭제하여, 편집점(A) 및 편집점(B)을 결합하고, 편집된 1개의 비디오 스트림을 얻는다(도 2 B).
이와 같은 편집을 행하는 경우, 단순히 구간(A-B) 내의 픽처를 삭제한 것에서는, 결합 후에 결합부분을 포함하는 GOP#3+7에서 GOP 구조가 파괴되어 버리고, 정상적으로 재생할 수 없게 된다는 부적합함이 생긴다. 그 때문에, 프레임 정밀도로의 편집을 행할 수 없고, 편집이 GOP 단위로의 처리로 되어 버린다.
또한, GOP 단위로 편집 처리를 행하는 예로서, 삭제 대상의 구간(A-B)에 포함되는 GOP#4 내지 GOP#6을 삭제하고, GOP#3의 후단과 GOP#7의 선두를 결합하는 방법이 고려된다. 그러나, GOP가 오픈 GOP 구조를 취하는 경우, 앞측의 GOP가 삭제되는 GOP#7에서, 선두측의 B픽처군(群)(도 1A, 도 1B 및 도 1C의 예에서는 B0픽처 및 B1픽처)이 디코드될 수 없게 되어 버린다는 부적합함이 생긴다.
상술한 부적합함을 해결하기 위해, 편집 대상의 비디오 스트림을 일단 디코드하고, 그리고 나서 프레임 정밀도로의 편집을 행하고, 재차 인코드하는 방법이 고려된다. 그러나, 대상이 되는 비디오 스트림의 전체를 디코드하고, 재인코드하는 처리를 편집할 때마다 행하는 것으로는, 처리시간이 방대하게 된다. 또한, 일단 인코드된 비디오 스트림의 전체를 디코드하고 재인코드하는 것으로는, 비디오 스트림의 전체에 걸쳐서 화질 열화를 초래하게 된다.
또한, 이러한 부적합함은, 복수의 비디오 스트림을 결합할 때에도 발생하는 것이다.
그래서, 종래로부터, 편집점 부근의 필요한 최소 구간만을 디코드하고 재인코드하는 수법이 알려져 있다. 즉, 삭제나 결합을 행하는 부분의 GOP 및 해당 GOP가 변화함에 의해 영향을 받는 GOP만을 디코드 및 재인코드하고, 그 이외의 GOP에 대해서는, GOP 단위로 카피를 행한다. 이 편집점 부근의 필요한 최소 구간만을 디코드하고 재인코드하는 수법의 대표적인 예로서는, 스마트 렌더링이라고 불리는 수법이 일반적으로 알려져 있다.
상술한 도 2A 및 도 2B를 이용하여, 편집점 부근의 필요한 최소 구간만을 디코드하고 재인코드하는 한 예의 처리에 관해, 개략적으로 설명한다. 편집점(A) 및 편집점(B)에 의한 구간(A-B)을 삭제하는 경우, 편집점(A)측에서 디코드가 필요한 부분은, 편집점(A)을 포함하는 GOP#3과, GOP#3의 직전의 GOP#2가 된다. GOP가 오픈 GOP인 경우, 편집점(A)을 포함하는 GOP#3의 직전의 GOP#2는, GOP#3의 표시순으로 선두의 B0픽처 및 B1픽처를 디코드하기 위해 필요하다. 또한, 편집점(B)측에서 디코드가 필요한 부분은, 편집점(B)을 포함하는 GOP#7과, GOP#7의 직후의 GOP#8이 된다. 오픈 GOP에서는, GOP#8의 표시순으로 선두의 B픽처군을 디코드하기 위해서는, GOP#7의 데이터를 이용할 필요가 있다.
도 2A의 상태에서, 예를 들면 우선 GOP#4 내지 GOP#6을 삭제하고, 다음에 GOP#2 및 GOP#3, 및, GOP#7 및 GOP#8을 각각 디코드한다. 그리고, GOP#3에서는, 디코드된 픽처중 편집점(A) 이후의 픽처를 삭제한다. 마찬가지로, GOP#7에서는, 디코드된 픽처중 편집점(B) 이전의 픽처를 삭제한다. 그리고, 편집점(A) 및 편집점(B)을 결합하고, 새롭게 작성된 GOP#3+7을, 전후의 GOP#2 및 GOP#8의 부호량을 참조하면서 재인코드한다(도 2B). GOP#3+7의 선두의 B0픽처 및 B1픽처는, 디코드된 GOP#2의 최후의 P15픽처와, 디코드된 GOP#3의 I3픽처를 이용하여 인코드한다. GOP#2 및 GOP#8에 관해서는, 디코드 전의 GOP#2 및 GOP#8을 메모리에 기억하여 두고, 이것을 이용할 수 있다.
이와 같은 처리는, 복수의 비디오 스트림을 결합하는 편집할 때에도, 마찬가지로 하여 적용 가능하다.
그런데, 상술한 바와 같은 재인코드를 이용한 편집을 행하기 위해서는, 결합하는 비디오 스트림은, 몇개의 제약을 만족하고 있을 필요가 있다. 상술한 바와 같이, 비디오 스트림은, 파일에 격납되어 기록 매체에 기록된다. 이때, 하나의 파일에 기록되는 비디오 스트림에 관한 소정의 파라미터에 관해서는, 1파일중에서 값이 고정적일 필요가 있다.
예를 들면, 어떤 파라미터에 관해 다른 값을 갖는 비디오 스트림을, 편집에 의해 하나의 비디오 스트림에 결합하여 하나의 파일에 격납하고, 이 파일에 격납된 비디오 스트림을 재생기에서 재생할 때에, 이 속성의 값이 재생중에 변화한 경우, 재생기의 디코더가 이 파라미터의 값의 변화에 대응할 수 없을 가능성이 있다.
값이 고정적이라는 것이 필요한 파라미터의 예로서는, 수직 및 수평 방향 각각의 그림(畵)테두리 사이즈, 애스펙트비(16 : 9 또는 4 : 3 등), 프레임 레이트(29.97HZ, 59.94HZ 등), 프레임의 구조, 클로스드 캡션의 데이터의 유무 등이 있다. 편집에 의해 재인코드를 행할 때에는, 재인코드 구간에서 결합되는 전후의 비디오 스트림에서, 이들의 파라미터의 값이 모두 일치하고 있을 필요가 있다.
편집 장치에서, 이들의 파라미터의 모두에 대응하는 인코드가 가능하면, 이들의 속성에 맞추어서 소정의 값을 설정하여 인코드하면 좋다. 그러나 이 경우, 편집 장치는, 비디오 스트림의 포맷에 규정되는 각 파라미터에 관해, 파라미터가 취할 수 있는 값의 전부의 조합에 대응하고 있을 필요가 있어서, 인코더의 규모의 증대나, 비용의 증대를 초래하게 된다는 문제점이 있다.
이것을 피하기 위해, 편집 장치측에서, 어느 특정한 기록 장치에서 기록된 비디오 스트림에 대해서만, 편집이 가능하다고 하는 것도 고려된다. 이와 같이 편집 대상의 비디오 스트림을 제한함으로써, 편집 장치측에서는, 그 기록 장치가 대응하고 있는 파라미터만에 대응하고 있으면 된다. 그런데 이 경우, 이 편집 장치에 대해 다른 기록 장치에서 기록된 비디오 스트림을 공급한 경우에, 편집 장치가 오동작하여 버릴 가능성이 있다는 문제점이 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
오픈 GOP 구조를 사용하는 비디오 스트림에서 편집점(B)을 포함하는 GOP#7의 선두측 B픽처군을 디코드하기 위해 어떤 데이터가 이용되어야 하는가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation오픈 GOP 구조에서 특정 GOP(GOP#7)의 선두 B픽처군을 디코드하는 데 필요한 데이터의 기능을 묻는 질문이다.
-
2정보 추출
information_extraction오픈 GOP의 특성과 편집 시 필요한 데이터 관계를 추출한다.
- 오픈 GOP는, 클로즈드 GOP와 비교하여, 보다 많은 정보를 이용하여 디코드할 수 있기 때문에
- 오픈 GOP에서는, GOP#8의 표시순으로 선두의 B픽처군을 디코드하기 위해서는, GOP#7의 데이터를 이용할 필요가 있다.
-
3근거 선택
evidence_selection편집점(B)을 포함하는 GOP#7의 선두 B픽처군 디코드와 관련된 구체적 근거를 선택한다.
- 오픈 GOP에서는, GOP#8의 표시순으로 선두의 B픽처군을 디코드하기 위해서는, GOP#7의 데이터를 이용할 필요가 있다.
-
4논리 통합
logical_integration질문에서 요구하는 편집점(B) 상황은 GOP#7의 후단과 GOP#8의 선두를 결합하는 상황이므로, GOP#7의 데이터가 GOP#8의 B픽처군 디코드에 기여함을 파악한다.
- 편집점(B)측에서 디코드가 필요한 부분은, 편집점(B)을 포함하는 GOP#7과, GOP#7의 직후의 GOP#8이 된다.
-
5결론 도출
conclusion_formulation오픈 GOP 구조의 특성상, GOP#7의 데이터가 그 직후 GOP인 GOP#8의 선두 B픽처군을 디코드하는 데 이용됨을 도출한다.
- GOP#7의 데이터를 이용할 필요가 있다.
-
6답변 생성
answer_generation문맥에 명시된 대로 GOP#7의 데이터를 이용해야 한다는 결론을 작성한다.
- GOP#7의 데이터를 이용할 필요가 있다.
최종 답변 (final_answer)
GOP#7의 데이터를 이용해야 한다.
핵심 해석 (core_interpretation)
오픈 GOP 구조에서 편집점(B)을 포함하는 GOP#7의 선두측 B픽처군을 디코드하기 위해서는 GOP#7의 데이터를 이용해야 한다.