СПОСОБ И УСТРОЙСТВО ДЛЯ ИЗМЕНЕНИЯ ФОРМЫ ГУБ И ПОЛУЧЕНИЯ АНИМАЦИИ ГУБ В УПРАВЛЯЕМОЙ ГОЛОСОМ АНИМАЦИИ

1. Способ изменения формы губ в управляемой голосом анимации, включающий:
получение аудиосигналов и получение пропорциональной величины изменения формы губ на основе характеристик этих аудиосигналов;
получение введенной пользователем модели исходной формы губ, а также генерацию величины изменения формы губ согласно модели исходной формы губ и полученной пропорциональной величине изменения формы губ;
и генерацию набора сеточных моделей формы губ согласно сгенерированной величине изменения формы губ и предварительно сконфигурированной библиотеке моделей артикуляции губ.
2. Способ по п.1, в котором этап получения пропорциональной величины изменения формы губ на основе характеристик этих аудиосигналов включает:
прослеживание аудиосигналов и получение максимального значения дискретных данных аудиосигналов;
разделение аудиосигналов по окнам, разделение каждого окна на группы, получение среднего значения дискретных данных в каждой группе, получение среднего значения avgGroup группы в каждом окне, причем это среднее значение avgGroup группы состоит из средних значений, соответствующих группам в окне; получение максимального значения из средних значений avgGroup групп в каждом окне, получение максимального значения windowPeak по группам, содержащего максимальные значения, соответствующие всем окнам;
получение максимальной величины изменения формы губ, соответствующей текущему окну i, согласно полученному максимальному значению windowPeak по группам и полученному максимальному значению дискретных данных;
и получение пропорциональной величины изменения формы губ в текущем видеокадре, соответствующем текущему окну i, согласно максимальной величине изменения формы губ, соответствующей текущему окну i, где i>=0.
3. Способ по п.2, в котором
этап получения максимальной величины изменения формы губ, соответствующей текущему окну i, согласно полученному максимальному значению windowPeak по группам и полученному максимальному значению дискретных данных, включает:
получение среднего значения дискретных данных в каждой группе в текущем окне i;
получение максимального значения windowPeak[i] из средних значений, соответствующих группам в текущем окне i;
вычисление отношения scale[i] максимального значения windowPeak[i] к максимальному значению дискретных аудиоданных maxSampleValue,
вычисление максимальной величины extent[i] изменения формы губ, соответствующей текущему окну i, причем extent[i]=scale[i]*maxLen,
где maxLen является максимальной величиной изменения формы губ по всем окнам.
4. Способ по п.2, в котором
этап получения пропорциональной величины изменения формы губ в текущем видеокадре, соответствующем текущему окну i, согласно максимальной величине изменения формы губ, соответствующей текущему окну i, включает:
получение пропорциональной величины scaleForFrame[k] изменения формы губ в j-ом видеокадре, соответствующем текущему окну i, причем scaleForFrame[k]=j*(scale[i]/(frameNumber/2));
где k=frameNumber*i+j, 0=<k< общее количество видеокадров, frameNumber является количеством видеокадров, соответствующих каждому окну, frameNumber=x * частота дискретизации видеосигнала, x является продолжительностью произнесения каждого слога, значение j увеличивается от 0 до frameNumber/2 и затем уменьшается от frameNumber/2 до 0, значение j является целым числом.
5. Способ по п.4, в котором
этап генерации величины изменения формы губ согласно модели исходной формы губ и полученной пропорциональной величине изменения формы губ включает:
вычисление величины Length*scaleForFrame[k] изменения формы губ в горизонтальном направлении и вычисление величины Width*scaleForFrame[k] изменения формы губ в вертикальном направлении, где Length и Width являются, соответственно, длиной и шириной в модели исходной формы губ.
6. Способ по любому из пп.1-5, в котором этап генерации набора сеточных моделей формы губ, согласно сгенерированной величине изменения формы губ и предварительно сконфигурированной библиотеке моделей артикуляции губ, включает:
произвольный выбор одной модели артикуляции губ из предварительно сконфигурированной библиотеки моделей артикуляции губ, а также принятие этой модели в качестве исходной модели артикуляции для текущей формы губ;
получение вершин исходной модели артикуляции и модели исходной формы губ в библиотеке моделей артикуляции губ, а также вычисление пропорциональной величины смещения каждой вершины в исходной модели артикуляции;
получение смещений вершин в текущем видеокадре путем умножения пропорциональной величины смещения каждой вершины в исходной модели артикуляции на величину изменения формы губ в текущем видеокадре, соответствующем этой вершине;
получение модели формы губ в текущем видеокадре путем наложения соответствующих смещений вершин в текущем видеокадре на полученную введенную пользователем модель исходной формы губ;
упорядочивание моделей формы губ по всем видеокадрам и генерацию набора сеточных моделей формы губ.
7. Способ по п.6, в котором этап вычисления пропорциональной величины смещения каждой вершины в исходной модели артикуляции включает:
вычисление пропорциональной величины x_hor/modelLength смещения вершины z в исходной модели артикуляции в горизонтальном направлении и вычисление пропорциональной величины y_ver/modelWidth смещения вершины z в вертикальном направлении;
причем modelLength и modelWidth являются, соответственно, длиной и шириной в модели исходной формы губ в библиотеке моделей артикуляции губ, x_hor является смещением в горизонтальном направлении между вершиной z в исходной модели артикуляции и вершиной z в модели исходной формы губ в библиотеке моделей артикуляции губ, y_ver является смещением в вертикальном направлении между вершиной z в исходной модели артикуляции и вершиной z в модели исходной формы губ в библиотеке моделей артикуляции губ; при этом 0=<z< количество вершин в исходном модуле артикуляции.
8. Способ по п.6, дополнительно содержащий этап обработки аудиосигналов для подавления шумов в них.
9. Способ получения анимации губ, включающий:
получение аудиосигналов и получение пропорциональной величины изменения формы губ на основе характеристик этих аудиосигналов;
получение введенной пользователем модели исходной формы губ, а также генерацию величины изменения формы губ согласно модели исходной формы губ и полученной пропорциональной величине изменения формы губ;
генерацию набора сеточных моделей формы губ согласно сгенерированной величине изменения формы губ и предварительно сконфигурированной библиотеке моделей артикуляции губ;
и генерацию анимации губ согласно набору сеточных моделей формы губ.
10. Устройство для изменения формы губ в управляемой голосом анимации, содержащее:
модуль получения, выполненный с возможностью получения аудиосигналов и получения пропорциональной величины изменения формы губ на основе характеристик этих аудиосигналов;
первый модуль генерации, выполненный с возможностью получения введенной пользователем модели исходной формы губ, а также с возможностью генерации величины изменения формы губ согласно модели исходной формы губ и полученной пропорциональной величине изменения формы губ;
и второй модуль генерации, выполненный с возможностью генерации набора сеточных моделей формы губ согласно сгенерированной величине изменения формы губ и предварительно сконфигурированной библиотеке моделей артикуляции губ.
11. Устройство по п.10, в котором модуль получения содержит:
первый блок получения, выполненный с возможностью прослеживания аудиосигналов и получения максимального значения дискретных данных;
второй блок получения, выполненный с возможностью разделения аудиосигналов по окнам, разделения каждого окна на группы, получения среднего значения дискретных данных в каждой группе, получения среднего значения avgGroup группы в каждом окне, причем это среднее значение avgGroup группы состоит из средних значений, соответствующих группам в окне, получения максимального значения из средних значений avgGroup групп в каждом окне, получения максимального значения windowPeak по группам, содержащего максимальные значения, соответствующие всем окнам;
третий блок получения, выполненный с возможностью получения максимальной величины изменения формы губ, соответствующей текущему окну i, согласно полученному максимальному значению windowPeak по группам и полученному максимальному значению дискретных данных;
и четвертый блок получения, выполненный с возможностью получения пропорциональной величины изменения формы губ в текущем видеокадре, соответствующем текущему окну i, согласно максимальной величине изменения формы губ, соответствующей текущему окну i.
12. Устройство по п.11, в котором второй блок получения содержит:
пятый блок получения, выполненный с возможностью получения среднего значения дискретных данных в каждой группе в текущем окне i;
шестой блок получения, выполненный с возможностью получения максимального значения windowPeak[i] из средних значений, соответствующих группам в текущем окне i;
седьмой блок получения, выполненный с возможностью вычисления отношения scale[i] максимального значения windowPeak[i] к максимальному значению maxSampleValue дискретных аудиоданных;
восьмой блок получения, выполненный с возможностью вычисления максимальной величины extent[i] изменения формы губ, соответствующей текущему окну i, причем extent[i]=scale[i]*maxLen,
где i>=0, a maxLen является максимальной величиной изменения формы губ по всем окнам.
13. Устройство по п.11, в котором четвертый блок получения выполнен с возможностью получения пропорциональной величины scaleForFrame[k] изменения формы губ в j-м видеокадре, соответствующем текущему окну i, причем scaleForFrame[k]=j*(scale[i]/(frameNumber/2)), где k=frameNumber*i+j, 0=<k< общее количество видеокадров; frameNumber является количеством видеокадров, соответствующих каждому окну, frameNumber=x * частота дискретизации видеосигнала, x является продолжительностью произнесения каждого слога; значение j увеличивается от 0 до frameNumber/2 и затем уменьшается от frameNumber/2 до 0, значение j является целым числом.
14. Устройство по п.13, в котором первый модуль генерации выполнен с возможностью вычисления величины Length*scaleForFrame[k] изменения формы губ в горизонтальном направлении и с возможностью вычисления величины Width*scaleForFrame[k] изменения формы губ в вертикальном направлении, где Length и Width являются, соответственно, длиной и шириной в модели исходной формы губ.
15. Устройство по любому из пп.10-14, в котором второй модуль генерации содержит:
блок выбора, выполненный с возможностью произвольного выбора одной модели артикуляции губ из предварительно сконфигурированной библиотеки моделей артикуляции губ, а также с возможностью принятия этой модели в качестве исходной модели артикуляции для текущей формы губ;
девятый блок получения, выполненный с возможностью получения вершин исходной модели артикуляции и модели исходной формы губ в библиотеке моделей артикуляции губ, а также с возможностью вычисления пропорциональной величины смещения каждой вершины в исходной модели артикуляции;
десятый блок получения, выполненный с возможностью получения смещений вершин в текущем видеокадре путем умножения пропорциональной величины смещения каждой вершины в исходной модели артикуляции на величину изменения формы губ в текущем видеокадре, соответствующем этой вершине;
одиннадцатый блок получения, выполненный с возможностью получения модели формы губ в текущем видеокадре путем наложения соответствующих смещений вершин в текущем видеокадре на введенную пользователем полученную модель исходной формы губ;
блок генерации набора моделей, выполненный с возможностью упорядочивания моделей формы губ по всем видеокадрам и с возможностью генерации набора сеточных моделей формы губ.
16. Устройство по п.15, в котором девятый блок получения выполнен с возможностью вычисления пропорциональной величины x_hor/modelLength смещения вершины z в исходной модели артикуляции в горизонтальном направлении и с возможностью вычисления пропорциональной величины y_ver/modelWidth смещения вершины z в вертикальном направлении, причем modelLength и modelWidth являются, соответственно, длиной и шириной в модели исходной формы губ в библиотеке моделей артикуляции губ, x_hor является смещением в горизонтальном направлении между вершиной z в исходной модели артикуляции и вершиной z в модели исходной формы губ в библиотеке моделей артикуляции губ, y_ver является смещением в вертикальном направлении между вершиной z в исходной модели артикуляции и вершиной z в модели исходной формы губ в библиотеке моделей артикуляции губ, 0=<z< количество вершин в исходной модели артикуляции.
17. Устройство по п.16, в котором указанный модуль получения также выполнен с возможностью обработки аудиосигналов для подавления шумов в них.
18. Устройство для получения анимации губ, содержащее:
модуль получения, выполненный с возможностью получения аудиосигналов и получения пропорциональной величины изменения формы губ на основе характеристик этих аудиосигналов;
первый модуль генерации, выполненный с возможностью получения введенной пользователем модели исходной формы губ, а также с возможностью генерации величины изменения формы губ согласно модели исходной формы губ и полученной пропорциональной величине изменения формы губ;
второй модуль генерации, выполненный с возможностью генерации набора сеточных моделей формы губ согласно сгенерированной величине изменения формы губ и предварительно сконфигурированной библиотеке моделей артикуляции губ;
и третий модуль генерации, выполненный с возможностью генерации анимации губ согласно набору сеточных моделей формы губ.