문맥 (context)
본 발명은, 동화상 시퀀스의 부호화 레이트를 제어하는 부호화 레이트 제어 장치 및 그 방법, 및 프로그램 및 기록 매체에 관한 것이다.
동화상 시퀀스를 비트 플레인 부호화 방식에 따라 부호화하는 경우, 일반적으로 이용되는 레이트 제어 방법으로서, 부호화 후에 목표 비트 레이트로 되도록 부호화 패스를 잘라 버리는 트랜케이션에 의한 레이트 제어와, 부호화 전에 부여하는 양자화 스텝 사이즈만으로 레이트 제어를 행하는 멀티 루프 레이트 제어가 알려져 있다.
전자의 방법은, 1회의 부호화로 정확한 레이트 제어가 가능하기 때문에 처리 시간이 짧다고 하는 특징이 있다. 그 반면, 각 프레임의 부호량의 배분이 일정하기 때문에, 프레임간의 부호화 난이도가 상이한 경우에는 화질의 변동이 커져, 화질이 나빠져 버린다. 한편, 후자의 방법은, 각 프레임의 부호량의 배분이 가변이며, 부호화 난이도가 높은 프레임에는 많은 부호량을 할당하고, 부호화 난이도가 낮은 프레임에는 적은 부호량을 할당할 수 있기 때문에, 화질의 변동이 작아, 양호한 화질을 얻을 수 있다고 하는 특징이 있다. 그 반면, 부호화 전에 양자화 스텝 사이즈와 발생 비트 레이트와의 관계를 알 수 없기 때문에, 정확하게 레이트 제어를 행하기 위해서는 모든 프레임을 반복해서 부호화하여 최적의 양자화 스텝 사이즈를 서치할 필요가 있어, 처리 시간이 길게 걸린다.
이와 같이, 어떠한 방법도 일장일단이 있지만, 예를 들면 디지털 시네마와 같은 논리니어로 화질을 추구하는 용도에는, 멀티 루프 레이트 제어가 바람직하다.
그런데,멀티 루프 레이트 제어에 있어서의 최적의 양자화 스텝 사이즈의 서치 방법으로서는, 바이너리·서치(이분 트리 탐색)가 일반적이다(특허 문헌 1 참조). 바이너리·서치는, 소트되어 있는 데이터 중에서 목표치를 찾아내는 알고리즘이다. 이 바이너리·서치에서는, 서치 범위를 중간점에서 2개로 나누어 목표치가 어느 쪽에 존재하는지를 판정하고, 목표치가 존재하는 쪽의 범위를 중간점에서 반복해서 2개로 나눔으로써, 목표치를 발견한다. 양자화 스텝 사이즈와 발생 비트 레이트는 양자화 스텝 사이즈가 커짐에 따라 발생 비트 레이트가 감소하는 관계를 갖기 때문에, 소트되어 있는 데이터로 간주할 수 있어, 바이너리·서치를 사용할 수 있다.
바이너리·서치를 이용해서 최적의 양자화 스텝 사이즈를 서치하는 순서를 도 11의 플로우차트를 이용해서 설명한다. 여기에서는, 양자화 스텝 사이즈의 서치 범위의 최대값을 △max, 최소값을 △min, 양자화 스텝 사이즈가 △일 때의 발생 비트 레이트를 R(△), 목표 비트 레이트를 R, 루프 중단의 판정에 사용하는 임계값을 Th라고 한다.
우선 스텝 S21에서, 서치 범위의 최대값 △max과 최소값 △min의 평균값을 양자화 스텝 사이즈 △라고 하고, 스텝 S22에서, 동화상 시퀀스의 모든 프레임을 양자화 스텝 사이즈 △로 부호화하고, 발생 비트 레이트 R(△)을 구한다.
계속해서 스텝 S23에서, 목표 비트 레이트 R과 발생 비트 레이트 R(△)의 차의 절대값이 임계값(Th) 미만인지의 여부를 판별하고, 임계값(Th) 이상인 경우에는, 스텝 S24에서, 목표 비트 레이트 R이 발생 비트 레이트 R(△) 미만인지의 여부를 판별한다. 목표 비트 레이트 R이 발생 비트 레이트 R(△) 미만인 경우에는, 스텝 S25에 있어서 △min에 △를 세트해서 스텝 S21로 되돌아가고, 목표 비트 레이트 R이 발생 비트 레이트 R(△) 이상인 경우에는, 스텝 S26에 있어서 △max에 △를 세트해서 스텝 S21로 되돌아간다.
한편, 스텝 S23에서, 목표 비트 레이트 R과 발생 비트 레이트 R(△)의 차의 절대값이 임계값(Th) 미만인 경우에는, 처리를 종료한다.
지시문 (instruction)
문맥을 바탕으로 사용된 방법이나 수행 과정을 순서와 관계에 맞게 설명하라.
질문 (question)
바이너리·서치를 이용하여 최적의 양자화 스텝 사이즈를 찾는 과정에서, 목표 비트 레이트 R이 발생 비트 레이트 R(△)보다 미만일 경우 서치 범위는 어떻게 조정되는가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation바이너리·서치 알고리즘을 통한 최적 양자화 스텝 사이즈 결정 과정 중, 특정 조건(R < R(△))에서의 서치 범위 업데이트 방식을 묻는 질문이다.
-
2정보 추출
information_extraction목표 비트 레이트 R과 발생 비트 레이트 R(△)의 관계에 따른 분기 조건과 그에 따른 스텝(S24, S25)을 추출한다.
- 목표 비트 레이트 R이 발생 비트 레이트 R(△) 미만인 경우에는, 스텝 S25에 있어서 △min에 △를 세트해서 스텝 S21로 되돌아가고
-
3근거 선택
evidence_selection질문에서 제시한 'R이 R(△) 미만인 경우'에 해당하는 직접적인 동작 구절을 선택한다.
- 목표 비트 레이트 R이 발생 비트 레이트 R(△) 미만인 경우에는, 스텝 S25에 있어서 △min에 △를 세트해서 스텝 S21로 되돌아가고
-
4논리 통합
logical_integrationR < R(△) 조건이 만족되면, 현재의 양자화 스텝 △를 새로운 최소값(△min)으로 설정하여 서치 범위를 좁히는 과정을 연결한다.
- △min에 △를 세트해서 스텝 S21로 되돌아가고
-
5결론 도출
conclusion_formulation최소값인 △min을 현재의 양자화 스텝 △로 업데이트하여 서치 범위를 재설정한다는 결론을 도출한다.
- △min에 △를 세트해서 스텝 S21로 되돌아가고
-
6답변 생성
answer_generation질문에 대해 명확한 동작 방식을 기술한다.
- △min에 △를 세트해서 스텝 S21로 되돌아가고
최종 답변 (final_answer)
목표 비트 레이트 R이 발생 비트 레이트 R(△) 미만인 경우에는, 양자화 스텝 사이즈의 최소값인 △min에 현재의 양자화 스텝 △를 세트하여 서치 범위를 조정하고 스텝 S21로 되돌아간다.
핵심 해석 (core_interpretation)
바이너리·서치 알고리즘에서 목표값과 현재값의 비교를 통해 서치 범위의 경계값(최대값 또는 최소값)을 업데이트하는 조건부 작동 방식이다.