МАСКИРОВАНИЕ ОШИБОК В ОБЛАСТИ MDCT
MASKING ERRORS IN MDCT AREA

Область техники, к которой относится изобретение
Раскрываемое в настоящем документе изобретение в целом относится к кодированию и декодированию звуковых сигналов и, в частности, к способу и устройству для маскирования ошибок.
Уровень техники
Модифицированные дискретные косинусные преобразования (Modified discrete cosine transforms, MDCT) и соответствующие обратные модифицированные дискретные косинусные преобразования (Inverse modified discrete cosine transforms, IMDCT) используют, например, в таких способах кодирования и декодирования звука как MPEG-2 и MPEG-4 Audio Layer, перспективное звуковое кодирование (Advanced Audio Coding, AAC), MPEG-4 HE-AAC, MPEG-D USAC, Dolby Digital (Plus) и другие закрытые форматы.
При применении этих способов, до или после приема пакетов системой декодирования, иногда возникают ошибки из-за потери пакетов или ошибок в пакетах, относящихся к преобразованию звукового сигнала. Такие ошибки включают, например, потерю или искажение пакетов и могут приводить к слышимому искажению декодированного звукового сигнала.
Поэтому для случаев возникновения ошибок в пакетах были созданы способы маскирования ошибок. Способы маскирования ошибок в целом делят на оценочные способы маскирования, в которых ошибочные кадры замещают оценками, и способы маскирования, не являющиеся оценочными, в которых используют, например, приглушение ошибочных кадров, повторение кадров или замену шума.
Оценочные способы маскирования включают способы, в которых используют оценки в частотной области, как, например, способы, раскрытые в патенте США № 8620644, и способы, в которых используют оценки во временной области, такие как способы, раскрытые в опубликованной международной патентной публикации № WO 2014/052746.
Все способы маскирования ошибок обладают недостатками, связанными с поиском компромисса между качеством маскирования и требуемой сложностью оценок. Таким образом, существует потребность в дополнительных способах маскирования ошибок.
Краткое описание графических материалов
Далее приводится описание примерных вариантов осуществления со ссылками на прилагаемые графические материалы, на которых:
на фиг. 1А и 1В для примера представлены обобщенные блок-схемы, соответственно, MDCT и IMDCT,
на фиг. 2 представлена обобщенная блок-схема первой системы декодирования,
на фиг. 3 представлена обобщенная блок-схема второй системы декодирования, и
на фиг. 4 представлена обобщенная блок-схема третьей системы декодирования.
Все фигуры являются схематическими и на них, как правило, изображены лишь те части, которые необходимы для разъяснения раскрытия, тогда как другие части могут быть опущены или просто подразумеваются. Если не указано иное, подобные части на разных фигурах обозначены подобными ссылочными позициями.
Подробное описание
В виду вышесказанного целью является создание систем декодера и связанных способов, нацеленных на обеспечение желаемого маскирования ошибок без значительной сложности.
I. Обзор – первый аспект
Согласно первому аспекту примерные варианты осуществления предлагают способы декодирования, системы декодирования и компьютерные программные продукты для декодирования. Предлагаемые способы, системы декодирования и компьютерные программные продукты, как правило, могут иметь одни и те же признаки и преимущества.
Согласно примерным вариантам осуществления предусмотрен способ маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров. Способ включает прием из аудиокодера на основе MDCT, предназначенного для кодирования звукового сигнала, пакета, содержащего множество коэффициентов MDCT, связанных с кадром, содержащим дискретные значения звукового сигнала во временной области, и идентификацию принятого пакета как являющегося ошибочным пакетом по причине того, что принятый пакет содержит одну или более ошибок. Способ дополнительно включает генерирование оценочных коэффициентов MDCT для замены множества коэффициентов MDCT ошибочного пакета, при этом оценочные коэффициенты MDCT основываются на соответствующих коэффициентах MDCT, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов. Способ дополнительно включает присваивание первому подмножеству коэффициентов MDCT из оценочных коэффициентов MDCT, причем первое подмножество содержит те коэффициенты MDCT, которые связаны со спектральными элементами разрешения тонального типа в пакете, знаков таким образом, чтобы они были равны соответствующим знакам соответствующих коэффициентов MDCT принятого пакета, непосредственно предшествующего ошибочному пакету в последовательности пакетов, и присваивание случайным образом знаков второму подмножеству коэффициентов MDCT из оценочных коэффициентов MDCT, причем второе подмножество содержит те коэффициенты MDCT, которые связаны со спектральными элементами разрешения шумового типа; генерирование маскирующего пакета на основе оценочных коэффициентов MDCT и выбранных знаков пакета; и замену ошибочного пакета маскирующим пакетом.
В рамках настоящего документа термин «ошибочный пакет» представляет пакет, содержащий коэффициенты MDCT, каким-либо образом отличающиеся от коэффициентов MDCT правильного MDCT, состоящего из правильных дискретных значений звукового сигнала. Это может означать, что часть пакета или весь пакет отсутствует в последовательности пакетов, или что часть пакета или весь пакет содержит искажения.
Идентификацию спектральных элементов разрешения тонального типа и спектральных элементов разрешения шумового типа из пакета можно выполнить с использованием любого подходящего способа. Порядок идентификации спектральных элементов разрешения тонального типа и спектральных элементов разрешения шумового типа является произвольным и может зависеть, например, от используемого способа.
Следует отметить, что термины «первое подмножество» и «второе подмножество» используются лишь для проведения в тексте различия между двумя подмножествами, а не для указания порядка обработки в отношении двух разных подмножеств. Порядок, в котором выполняют присваивание, является произвольным. Присваивание может быть выполнено для коэффициентов MDCT первого подмножества в первую очередь, а для второго подмножества — в последнюю очередь, или наоборот. Кроме того, в некоторых примерных вариантах осуществления присваивание может не быть выполнено для коэффициентов MDCT таким образом, что для всех коэффициентов MDCT, связанных с первым подмножеством, присваивание проводят последовательно, и для всех коэффициентов MDCT, связанных со вторым подмножеством, присваивание проводят последовательно. В некоторых примерных вариантах осуществления присваивание может быть выполнено сначала для первых одного или более коэффициентов MDCT одного из подмножеств, затем для одного или более коэффициентов MDCT другого подмножества, затем одного или более из указанного одного из подмножеств и т.д. Кроме того, пакет необязательно содержит коэффициенты MDCT, связанные как со спектральными элементами разрешения шумового типа, так и со спектральными элементами разрешения тонального типа. В некоторых примерных вариантах осуществления пакет может содержать все коэффициенты MDCT, связанные со спектральными элементами разрешения шумового типа, или все коэффициенты MDCT, связанные со спектральными элементами разрешения тонального типа, таким что одно из подмножеств является пустым. Наконец, коэффициент MDCT, как правило, идентифицируют как принадлежащий либо к первому подмножеству, либо принадлежащий ко второму подмножеству.
Необходимо отметить, что определение оценок на основе коэффициентов MDCT и знаков коэффициентов MDCT, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов, не исключает того, что оценки могут дополнительно быть основаны на коэффициентах MDCT и знаках коэффициентов MDCT, связанных с пакетами, принятыми в последовательности пакетов раньше пакета, непосредственно предшествующего ошибочному пакету.
В рамках настоящего документа выражение «генерирование оценочных коэффициентов MDCT» относится к присваиванию коэффициентам MDCT значений, которые необязательно являются наилучшей аппроксимацией значений, которые коэффициенты MDCT имели, если бы в ошибочном пакете не было никаких ошибок, а которые позволяют добиться желаемых свойств маскирования ошибок таким образом, чтобы избегать нежелательного искажения декодированного звукового сигнала или уменьшать его.
В рамках настоящего документа термин «оценочные коэффициенты MDCT» относится к абсолютному значению оценочных коэффициентов MDCT.
Согласно примерным вариантам осуществления способ дополнительно включает определение для каждого из оценочных коэффициентов MDCT того, связан ли коэффициент MDCT со спектральным элементом разрешения тонального типа или спектральным элементом разрешения шумового типа, на основании обнаружения спектрального пика аппроксимации энергетического спектра, связанного с ошибочным пакетом, при этом аппроксимированный энергетический спектр основан на энергетическом спектре, связанном с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов.
В соответствии с некоторыми вариантами осуществления способ дополнительно включает определение для каждого из оценочных коэффициентов MDCT того, связан ли коэффициент MDCT со спектральным элементом разрешения тонального типа или со спектральным элементом разрешения шумового типа, на основании метаданных, связанных с пакетом, причем метаданные принимают в битовом потоке, содержащем последовательность пакетов и метаданные.
В рамках настоящего документа термин «метаданные» относится к параметрам битового потока, используемым для управления обработкой данных в аудиодекодере.
Метаданные могут быть отправлены в пакетах последовательности пакетов и вне пакетов в битовом потоке, содержащем последовательность пакетов и метаданные.
Метаданные, которые могут быть использованы для определения того, связаны ли коэффициенты MDCT со спектральными элементами разрешения тонального типа или шумового типа, представляют собой метаданные, используемые для управления определенной обработкой данных в аудиодекодере на основании типа звукового содержимого. Одним примером таких метаданных являются метаданные, связанный с инструментальным средством компандирования, используемым в AC-4. В некоторых вариантах осуществления инструментальное средство компандирования может быть выключено для тональных сигналов, и, следовательно, если компандирование выключено, то сигнал полагают тональным. В другом примере, если используется более длинное MDCT, то звуковое содержимое с большой долей вероятности представляет собой тональный сигнал.
Согласно некоторым вариантам осуществления оценочные коэффициенты MDCT выбирают равными соответствующим коэффициентам MDCT принятого пакета, непосредственно предшествующего ошибочному пакету в последовательности пакетов.
Согласно некоторым вариантам осуществления оценочные коэффициенты MDCT выбирают равными соответствующим коэффициентам MDCT принятого пакета, непосредственно предшествующего ошибочному пакету в последовательности пакетов, при этом энергию регулируют в разрешении полосы коэффициентов масштаба посредством коэффициента масштабирования энергии. Для подробного описания разрешения полосы коэффициентов масштаба следует обратиться к стандарту ETSI TS 103 190 V1.1.1 «Digital Audio Compression» (AC-4), 2014-04, содержание которого включается в настоящий документ посредством ссылки.
Согласно некоторым вариантам осуществления принятый пакет содержит N/2 коэффициентов MDCT, связанных с N обработанными методом окна дискретными значениями звукового сигнала во временной области, при этом способ дополнительно включает: генерирование промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области из маскирующего кадра посредством IMDCT; модификацию обработанных методом окна смешанных дискретных значений во временной области из промежуточного кадра на основании отношений симметрии между обработанными методом окна смешанными дискретными значениями во временной области из промежуточного кадра.
В рамках настоящего документа «N» представляет собой четное целое число.
В рамках настоящего документа выражение «промежуточный кадр, содержащий N обработанных методом окна смешанных дискретных значений во временной области» представляет кадр дискретных значений, полученных в результате IMDCT в системе декодера из коэффициентов MDCT, принятых из кодера. В некоторых примерных вариантах осуществления промежуточный кадр представляет собой кадр перед выполнением в системе декодирования перекрытия с суммированием с целью получения декодированных кадров в последовательности декодированных кадров.
Согласно некоторым вариантам осуществления при модификации используют отношения симметрии между первой половиной первой половины промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, и второй половиной первой половины промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, и отношения симметрии между первой половиной второй половины промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, и второй половиной второй половины промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области.
В рамках настоящего документа выражение «первая половина промежуточного кадра» представляет первые N/2 дискретных значений промежуточного кадра. Если дискретные значения промежуточного кадра пронумерованы последовательно от 0 до N-1, то первая половина будет представлять собой дискретные значения от 0 до N/2-1. Кроме того, выражение «вторая половина промежуточного кадра» представляет последние N/2 дискретных значений промежуточного кадра. Если дискретные значения промежуточного кадра пронумерованы последовательно от 0 до N-1, то вторая половина будет представлять собой дискретные значения от N/2 до N-1.
В рамках настоящего документа выражение «первая половина первой половины промежуточного кадра» представляет подмножество, содержащее первые N/4 дискретных значений первой половины промежуточного кадра, выражение «вторая половина первой половины промежуточного кадра» представляет подмножество, содержащее последние N/4 дискретных значений первой половины промежуточного кадра, выражение «первая половина второй половины промежуточного кадра» представляет подмножество, содержащее первые N/4 дискретных значений второй половины промежуточного кадра, и выражение «вторая половина второй половины промежуточного кадра» представляет подмножество, содержащее последние N/4 дискретных значений второй половины промежуточного кадра.
Согласно некоторым вариантам осуществления принятый пакет содержит N/2 коэффициентов MDCT, связанных с N обработанными методом окна дискретными значениями звукового сигнала во временной области, при этом способ дополнительно включает: генерирование промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, из маскирующего кадра посредством IMDCT; модификацию обработанных методом окна смешанных дискретных значений во временной области из промежуточного кадра на основании отношений между обработанными методом окна смешанными дискретными значениями во временной области из промежуточного кадра и обработанными методом окна дискретными значениями во временной области из N дискретных значений звукового сигнала во временной области.
Примерные варианты осуществления предусматривают, что предыдущий декодированный кадр, связанный с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов, может быть использован в качестве аппроксимации в отношениях между обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества и обработанными методом окна дискретными значениями во временной области из N обработанных методом окна дискретных значений звукового сигнала во временной области. Эти отношения могут затем быть использованы для модификации генерируемого промежуточного кадра с целью улучшения свойств маскирования ошибок.
Согласно примерным вариантам осуществления предусмотрена система декодирования для маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, выполненном с возможностью декодирования последовательности пакетов в последовательность декодированных кадров, при этом система содержит: блок приемника, выполненный с возможностью приема из аудиокодера на основе MDCT, предназначенного для кодирования звукового сигнала, пакета, содержащего множество коэффициентов MDCT, связанных с кадром, содержащим дискретные значения звукового сигнала во временной области; блок обнаружения ошибок, выполненный с возможностью идентификации принятого пакета как являющегося ошибочным пакетом на основании того, что принятый пакет содержит одну или более ошибок; блок маскирования ошибок, выполненный с возможностью генерирования оценочных коэффициентов MDCT для замены набора коэффициентов MDCT ошибочного пакета, при этом оценочные коэффициенты MDCT основываются на соответствующих коэффициентах MDCT, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов; присваивания первому подмножеству коэффициентов MDCT из оценочных коэффициентов MDCT, причем первое подмножество содержит те коэффициенты MDCT, которые связаны со спектральными элементами разрешения тонального типа из пакета, знаков, равных соответствующим знакам соответствующих коэффициентов MDCT из принятого пакета, непосредственно предшествующего ошибочному пакету в последовательности пакетов; присваивания случайным образом знаков второму подмножеству коэффициентов MDCT из оценочных коэффициентов MDCT, причем второе подмножество содержит те коэффициенты MDCT, которые связаны со спектральными элементами разрешения шумового типа из пакета; генерирования маскирующего пакета на основе оценочных коэффициентов MDCT и выбранных знаков пакета; и замены ошибочного пакета маскирующим пакетом.
Обзор – второй аспект
II.
Согласно второму аспекту примерные варианты осуществления предлагают способы декодирования, системы декодирования и компьютерные программные продукты для декодирования. Предлагаемые способы, системы декодирования и компьютерные программные продукты, как правило, могут иметь одни и те же признаки и преимущества.
Согласно примерным вариантам осуществления предусмотрен способ маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров. Способ включает прием из аудиокодера на основе MDCT, предназначенного для кодирования звукового сигнала, пакета, содержащего N/2 коэффициентов MDCT, связанных с N обработанными методом окна дискретными значениями звукового сигнала во временной области, и идентификацию пакета как являющегося ошибочным пакетом на основании того, что пакет содержит одну или более ошибок. Способ дополнительно включает оценивание первого подмножества, содержащего N/4 обработанных методом окна смешанных дискретных значений во временной области из первой половины промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, связанных с ошибочным пакетом, при этом оценку производят на основе отношений между обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества и обработанными методом окна дискретными значениями во временной области из N обработанных методом окна дискретных значений звукового сигнала во временной области, и оценивание второго подмножества, содержащего остальные N/4 обработанных методом окна смешанных дискретных значений во временной области из первой половины промежуточного кадра, на основании отношений симметрии между обработанными методом окна смешанными дискретными значениями во временной области из второго подмножества и обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества.
В рамках настоящего документа «N» представляет собой четное целое число.
В рамках настоящего документа термин «ошибочный пакет» представляет пакет, содержащий коэффициенты MDCT, каким-либо образом отличающиеся от коэффициентов MDCT правильного MDCT, состоящего из правильных дискретных значений звукового сигнала. Это может означать, что часть пакета или весь пакет отсутствует в последовательности пакетов, или что часть пакета или весь пакет содержит искажения.
В рамках настоящего документа выражение «промежуточный кадр, содержащий N обработанных методом окна смешанных дискретных значений во временной области» представляет кадр дискретных значений, полученных в результате обратного MDCT в системе декодера из коэффициентов MDCT, принятых из кодера. Промежуточный кадр, таким образом, представляет собой кадр обработанных методом окна смешанных дискретных значений во временной области перед выполнением в системе декодирования перекрытия с суммированием с целью получения декодированного кадра в последовательности декодированных кадров.
В рамках настоящего документа выражение «первая половина промежуточного кадра» представляет первые N/2 дискретных значений промежуточного кадра. Если дискретные значения промежуточного кадра пронумерованы последовательно от 0 до N-1, то первая половина будет представлять собой дискретные значения от 0 до N/2-1.
В рамках настоящего документа выражение «первое подмножество, содержащее N/4 обработанных методом окна смешанных дискретных значений» представляет подмножество, содержащее N/4 дискретных значений из первой половины промежуточного кадра, которые не обязательно представляют собой последовательные дискретные значения в первой половине промежуточного кадра, но должны быть выбраны без создания избыточной информации что касается информации из отношений симметрии между дискретными значениями второго подмножества и дискретными значениями первого подмножества.
В рамках настоящего документа выражения «оценивание первого подмножества» и «оценивание второго подмножества» относятся к присваиванию обработанным методом окна смешанным значениям во временной области из первого подмножества и из второго подмножества значений, которые не обязательно являются наилучшими аппроксимациями значений, которые они бы имели, если бы в ошибочном пакете не было никаких ошибок, но которые позволяют добиться желаемых свойств маскирования ошибок таким образом, чтобы избегать нежелательного искажения декодированного звукового сигнала или уменьшать его.
Согласно примерным вариантам осуществления оценка первого подмножества основана на предыдущем декодированном кадре, связанном с предыдущим пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов.
Необходимо отметить, что определение оценок на основе предыдущего декодированного кадра, связанного с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов, не исключает того, что оценки могут дополнительно быть основаны на более ранних декодированных кадрах, связанных с пакетами, принятыми в последовательности пакетов раньше пакета, непосредственно предшествующего ошибочному пакету.
Оценка первого подмножества на основании предыдущего декодированного кадра в некоторых примерных вариантах осуществления может быть скомбинирована с первым подмножеством, содержащим N/4 обработанных методом окна смешанных дискретных значений, представляющих собой первую половину первой половины промежуточного кадра, при этом дискретное значение под номером n из первого подмножества оценивают как обработанную методом окна версию дискретного значения под номером n из предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n из предыдущего декодированного кадра для n, равного 0, 1, ..., N/4-1.
Примерные варианты осуществления предусматривают, что отношения между обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества и обработанными методом окна дискретными значениями во временной области из N обработанных методом окна дискретных значений звукового сигнала во временной области могут быть переформулированы с использованием свойств перекрытия N обработанных методом окна дискретных значений во временной области, связанных с ошибочным пакетом, и предыдущих N обработанных методом окна дискретных значений во временной области, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов. Таким образом получают отношение между обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества и обработанными методом окна дискретными значениями во временной области из предыдущих N обработанных методом окна дискретных значений звукового сигнала во временной области. Примерные варианты осуществления дополнительно предусматривают, что обработанные методом окна дискретные значения во временной области из предыдущих N обработанных методом окна дискретных значений звукового сигнала во временной области могут быть аппроксимированы обработанными методом окна версиями дискретных значений из предыдущего декодированного кадра.
Оценка первого подмножества на основе предыдущего декодированного кадра, генерирование оценочного декодированного кадра, оценивание третьего подмножества и оценивание четвертого подмножества в примерных вариантах осуществления могут быть скомбинированы с первым подмножеством, содержащим N/4 обработанных методом окна смешанных дискретных значений во временной области, представляющих собой первую половину первой половины промежуточного кадра, третьим подмножеством, содержащим N/4 обработанных методом окна смешанных дискретных значений во временной области, представляющих собой первую половину второй половины промежуточного кадра, и при этом дискретное значение под номером n из первого подмножества оценивают как обработанную методом окна версию дискретного значения под номером n из предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n из предыдущего декодированного кадра для n, равного 0, 1, ..., N/4-1, и при этом дискретное значение под номером n из третьего подмножества оценивают как обработанную методом окна версию дискретного значения под номером n из оценочного декодированного кадра с добавлением обработанной методом окна версии дискретного значения под номером N/2-1-n из оценочного декодированного кадра для n, равного 0, 1, ..., N/4-1.
Необходимо отметить, что определение оценок на основе оценочного декодированного кадра, связанного с ошибочным пакетом, не исключает того, что оценки могут дополнительно быть основаны на более ранних декодированных кадрах, связанных с пакетами, принятыми в последовательности пакетов раньше ошибочного пакета.
Примерные варианты осуществления предусматривают, что обработанные методом окна дискретные значения во временной области из предыдущих N обработанных методом окна дискретных значений звукового сигнала во временной области могут быть аппроксимированы обработанными методом окна версиями дискретных значений из предыдущего декодированного кадра и из оценочного декодированного кадра.
В некоторых примерных вариантах осуществления оценка первого подмножества основана на смещенном множестве, содержащем N/2 дискретных значений предыдущего декодированного кадра, связанного с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов, и дополнительного предыдущего декодированного кадра, связанного с принятым пакетом, непосредственно предшествующим пакету, связанному с предыдущим декодированным кадром в последовательности кадров, при этом смещенное множество содержит k последних дискретных значений из дополнительного предыдущего декодированного кадра и все дискретные значения, за исключением k последних дискретных значений, из предыдущего декодированного кадра, где k<N/2. В настоящих примерных вариантах осуществления k может быть задано на основании максимизации самоподобия кадра, подлежащего оценке предыдущими кадрами, и k может, например, зависеть от N.
Вместо использования только N/2 дискретных значений из предыдущего декодированного кадра, N-k дискретных значений из предыдущего декодированного кадра используют вместе с k дискретными значениями из дополнительного предыдущего декодированного кадра. Более конкретно, используют k последних дискретных значений из дополнительного предыдущего декодированного кадра и все дискретные значения, за исключением k последних дискретных значений, из предыдущего декодированного кадра. Это требует, чтобы k<N/2.
Оценка первого подмножества на основании предыдущего декодированного кадра, генерирование оценочного декодированного кадра, оценивание третьего подмножества и оценивание четвертого подмножества в примерных вариантах осуществления могут быть скомбинированы с оценкой первого подмножества, дополнительно основанной на дополнительном предыдущем декодированном кадре, связанном с принятым пакетом, непосредственно предшествующим пакету в последовательности пакетов, связанной с предыдущим декодированным кадром, при этом первое подмножество содержит N/4 обработанных методом окна смешанных дискретных значений во временной области, представляющих собой первую половину первой половины промежуточного кадра, при этом третье подмножество содержит N/4 обработанных методом окна смешанных дискретных значений во временной области, представляющих собой первую половину второй половины промежуточного кадра, причем дискретное значение под номером n из первого подмножества оценивают как обработанную методом окна версию дискретного значения под номером N/2-1+n-k из дополнительного предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n-k из предыдущего декодированного кадра для n, равного 0, 1,..., k, и оценивают как обработанную методом окна версию дискретного значения под номером n-k-1 из предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n-k из предыдущего декодированного кадра для n, равного k+1, ..., N/4-1, и дискретное значение под номером n из третьего подмножества оценивают как обработанную методом окна версию дискретного значения N/2-1+n-k из предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n-k из оценочного декодированного кадра для n, равного 0, 1, ..., k, и при этом дискретное значение под номером n из третьего подмножества оценивают как обработанную методом окна версию дискретного значения под номером n-k-1 из оценочного декодированного кадра с добавлением обработанной методом окна версии дискретного значения под номером N/2-1-n-k из оценочного декодированного кадра для n, равного k+1, ..., N/4-1, где k≤N/4-1.
В примерных вариантах осуществления предусмотрена система декодирования для маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров, причем система содержит: блок приемника, выполненный с возможностью приема из аудиокодера на основе MDCT, предназначенного для кодирования звукового сигнала, пакета, содержащего N/2 коэффициентов MDCT, связанных с N обработанными методом окна дискретными значениями звукового сигнала во временной области; блок обнаружения ошибок, выполненный с возможностью идентификации пакета как являющегося ошибочным пакетом на основании того, что пакет содержит одну или более ошибок; блок маскирования ошибок, выполненный с возможностью: оценивания первого подмножества, содержащего N/4 обработанных методом окна смешанных дискретных значений во временной области из первой половины промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, связанных с ошибочным пакетом, при этом оценка основывается на отношениях между обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества и обработанными методом окна дискретными значениями во временной области из N обработанных методом окна дискретных значений звукового сигнала во временной области, и оценивания второго подмножества, содержащего остальные N/4 обработанных методом окна смешанных дискретных значений во временной области из первой половины промежуточного кадра на основании отношений симметрии между обработанными методом окна смешанными дискретными значениями во временной области из второго подмножества и обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества.
Обзор – третий аспект
III.
Согласно третьему аспекту примерные варианты осуществления предлагают способы декодирования, системы декодирования и компьютерные программные продукты для декодирования. Предлагаемые способы, системы декодирования и компьютерные программные продукты, как правило, могут иметь одни и те же признаки и преимущества.
В некоторых примерных вариантах осуществления предусмотрен способ маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров. Способ включает прием из аудиокодера на основе MDCT, предназначенного для кодирования звукового сигнала, пакета, содержащего N/2 коэффициентов MDCT, связанных с N обработанными методом окна дискретными значениями звукового сигнала во временной области, и идентификацию пакета как являющегося ошибочным пакетом на основании того, что пакет содержит одну или более ошибок. Способ дополнительно включает оценивание декодированного кадра, содержащего N/2 дискретных значений, связанных с ошибочным пакетом, как равного второй половине предыдущего промежуточного кадра, содержащего N не обработанных методом окна дискретных значений во временной области, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов.
В рамках настоящего документа «N» представляет собой четное целое число.
В рамках настоящего документа термин «ошибочный пакет» представляет пакет, содержащий коэффициенты MDCT, каким-либо образом отличающиеся от коэффициентов MDCT правильного MDCT, состоящего из правильных дискретных значений звукового сигнала. Это может означать, что часть пакета или весь пакет отсутствует в последовательности пакетов, или что часть пакета или весь пакет содержит искажения.
В рамках настоящего документа выражение «оценивание декодированного кадра» относится к присваиванию дискретным значениям декодированного кадра значений, которые не обязательно являются аппроксимациями значений, которые они бы имели, если бы в ошибочном пакете не было никаких ошибок, но которые позволяют добиться желаемых свойств маскирования ошибок таким образом, чтобы избегать нежелательного искажения декодированного звукового сигнала или уменьшать его.
В рамках настоящего документа выражение «вторая половина предыдущего промежуточного кадра» представляет последние N/2 дискретных значений предыдущего промежуточного кадра. Если дискретные значения промежуточного кадра пронумерованы последовательно от 0 до N-1, то вторая половина будет представлять собой дискретные значения от N/2 до N-1.
В некоторых примерных вариантах осуществления предусмотрено оценивание последующего декодированного кадра, содержащего N/2 дискретных значений, связанных с принятым пакетом, следующим непосредственно за ошибочным пакетом в последовательности пакетов, как равного первой половине последующего промежуточного кадра, содержащего не обработанные методом окна дискретные значения во временной области, связанные с принятым пакетом, следующим непосредственно за ошибочным пакетом в последовательности пакетов.
В некоторых примерных вариантах осуществления предусмотрена система декодирования для маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров, при этом система содержит: блок приемника, выполненный с возможностью приема из аудиокодера на основе MDCT, предназначенного для кодирования звукового сигнала, пакета, содержащего N/2 коэффициентов MDCT, связанных с N обработанных методом окна дискретных значений звукового сигнала во временной области; блок обнаружения ошибок, выполненный с возможностью идентификации пакета как являющегося ошибочным на основании того, что пакет содержит одну или более ошибок; блок маскирования ошибок, выполненный с возможностью оценивания декодированного кадра, содержащего N/2 дискретных значений, связанных с ошибочным пакетом, как равных второй половине предыдущего промежуточного кадра, содержащего не обработанные методом окна дискретные значения во временной области, связанные с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов.
В некоторых примерных вариантах осуществления способ дополнительно включает: определение доступных ресурсов сложности и определение способа применения маскирования ошибок на основании этих доступных ресурсов сложности.
IV. Примерные варианты осуществления
На фиг. 1А и 1В на примере представлены, соответственно, MDCT и обратное преобразование, совместно вместе с которыми могут быть реализованы примерные варианты осуществления. В системе кодирования/декодирования звука звуковой сигнал, как правило, подвергают дискретизации и разделению на последовательность кадров 101—105 на стороне кодера, причем каждый кадр последовательности относится к соответствующему промежутку времени t-2, t-1, t, t+1, t+2. Каждый из кадров 101—105 содержит N/2 дискретных значений, где N может составлять 2048, 1920, 1536 и т. п. в зависимости от типа кодера и выбранного разрешения по времени и частоте. Вместо применения MDCT к кадрам 101—105, MDCT применяют к комбинациям из двух соседних кадров. Таким образом, в MDCT используется перекрытие, и оно представляет собой пример так называемого преобразования с перекрытием. Из последовательности кадров 101—105, каждый из которых содержит N/2 дискретных значений звукового сигнала во временной области, кадры комбинируют попарно в последовательном порядке с перекрытием, так что, например, первый кадр 101 и второй кадр 102 из последовательности кадров 101—105 комбинируют в первый комбинированный кадр 110, второй кадр 102 и третий кадр 103 комбинируют во второй комбинированный кадр 111, и т. д., что означает, что первый комбинированный кадр 110 и второй комбинированный кадр 111 имеют перекрытие таким образом, что оба они содержат второй кадр 102. Для сглаживания перехода между последовательными кадрами, к каждой комбинации из двух кадров из последовательности кадров применяют оконную функцию w[n] (n=0, ..., N-1) с целью генерирования комбинированных кадров 110—113 из N обработанных методом окна дискретных значений во временной области. Как представлено на фиг. 1А, комбинируют первый и второй кадры 101 и 102, относящиеся к промежуткам времени t-2 и t-1 соответственно, и к комбинации применяют оконную функцию с целью генерирования первого комбинированного кадра 110, содержащего N обработанных методом окна дискретных значений  (n=0, ..., N-1) во временной области, комбинируют второй и третий кадры 102 и 103, относящиеся к промежуткам времени t-1 и t, и к комбинации применяют оконную функцию с целью генерирования второго комбинированного кадра 111, содержащего N обработанных методом окна дискретных значений  (n=0, ..., N-1) во временной области, комбинируют третий и четвертый кадры 103 и 104, относящиеся к промежуткам времени t и t+1, и к комбинации применяют оконную функцию с целью генерирования третьего комбинированного кадра 112, содержащего N обработанных методом окна дискретных значений  (n=0, ..., N-1) во временной области, и комбинируют четвертый и пятый кадры 104 и 105, относящиеся к промежуткам времени t+1 и t+2, и к комбинации применяют оконную функцию с целью генерирования четвертого комбинированного кадра 113, содержащего N обработанных методом окна дискретных значений  (n=0, ..., N-1) во временной области.
Затем к комбинированным кадрам 110—113 применяют MDCT, что в результате дает последовательность пакетов 120—123, каждый из которых содержит N/2 коэффициентов MDCT. Как представлено на фиг. 1А, MDCT применяют к первому комбинированному кадру 110 для генерирования первого пакета 120, содержащего N/2 коэффициентов MDCT  (k=0, ..., N/2-1), MDCT применяют ко второму комбинированному кадру 111 для генерирования второго пакета 121, содержащего N/2 коэффициентов MDCT  (k=0, ..., N/2-1), MDCT применяют к третьему комбинированному кадру 112 для генерирования третьего пакета 122, содержащего N/2 коэффициентов MDCT  (k=0, ..., N/2-1), и MDCT применяют к четвертому комбинированному кадру 113 для генерирования четвертого пакета 123, содержащего N/2 коэффициентов MDCT  (k=0, ..., N/2-1).
На стороне декодера к пакетам 120—123, каждый из которых содержит N/2 коэффициентов MDCT, применяют IMDCT для генерирования промежуточных кадров 130—133, каждый из которых содержит N смешанных дискретных значений во временной области. Как представлено на фиг. 1В, IMDCT применяют к первому пакету 120 для генерирования первого промежуточного кадра 130, содержащего N обработанных методом окна смешанных дискретных значений  (n=0, ..., N-1) во временной области, IMDCT применяют ко второму пакету 121 для генерирования второго промежуточного кадра 131, содержащего N обработанных методом окна смешанных дискретных значений  (n=0, ..., N-1) во временной области, IMDCT применяют к третьему пакету 122 для генерирования третьего промежуточного кадра 132, содержащего N обработанных методом окна смешанных дискретных значений  (n=0, ..., N-1) во временной области, и IMDCT применяют к четвертому пакету 123 для генерирования четвертого промежуточного кадра 133, содержащего N обработанных методом окна смешанных дискретных значений  (n=0, ..., N-1) во временной области.
Для генерирования декодированных кадров 150—152, состоящих из декодированных дискретных значений, к промежуточным кадрам 130—133 применяют операции 140—142 перекрытия с суммированием с учетом оконной функции w[n]. Как представлено на фиг. 1В, первую операцию 140 перекрытия с суммированием выполняют между первой половиной второго промежуточного кадра 131 и второй половиной первого промежуточного кадра 130 для генерирования первого декодированного кадра 150, содержащего N/2 декодированных дискретных значений, соответствующих промежутку времени t-1, вторую операцию 141 перекрытия с суммированием выполняют между первой половиной третьего промежуточного кадра 132 и второй половиной второго промежуточного кадра 131 для генерирования второго декодированного кадра 151, содержащего N/2 декодированных дискретных значений, соответствующих промежутку времени t, третью операцию 142 перекрытия с суммированием выполняют между первой половиной четвертого промежуточного кадра 133 и второй половиной третьего промежуточного кадра 132 для генерирования третьего декодированного кадра 152, содержащего N/2 декодированных дискретных значений, соответствующих промежутку времени t+1.
В пакете, содержащем коэффициенты MDCT, могут возникать ошибки, или пакет или часть пакета могут быть потеряны. Если не исправить ошибки или не восстановить потерянные пакеты, такие ошибки или потери могут оказать негативное влияние на декодированный кадр таким образом, что декодированный звуковой сигнал будет поврежден, так что информация будет потеряна или в декодированном звуковом сигнале будут возникать нежелательные явления. Например, и со ссылкой на фиг. 1В, если ошибки обнаруживают в третьем пакете 122 на стороне декодера, то ошибочный третий пакет 122, как правило, будет негативно воздействовать на третий промежуточный кадр 132. В настоящем документе пакет, содержащий ошибки, будет называться «ошибочным пакетом», а промежуточный кадр, соответствующий тому же промежутку времени, что и ошибочный пакет, будет называться «промежуточным кадром, связанным с ошибочным пакетом», или «промежуточным кадром, содержащим N смешанных дискретных значений во временной области, связанных с ошибочным пакетом». Кроме того, поскольку третий промежуточный кадр 132 используют в операции перекрытия с суммированием 141 для получения второго декодированного кадра 151, ошибочный пакет, как правило, будет негативно воздействовать на второй декодированный кадр 151. В настоящем документе декодированный кадр, соответствующий тому же промежутку времени, что и ошибочный пакет, будет называться «декодированным кадром, связанным с ошибочным пакетом». Кроме того, поскольку третий промежуточный кадр 132 также используют в операции 142 перекрытия с суммированием для получения третьего декодированного кадра 152, ошибочный пакет, как правило, также будет отрицательно воздействовать и на третий декодированный кадр 152.
По причине свойств перекрытия комбинированных кадров, согласно уравнению (1) можно вывести соотношение между первыми N/2 дискретными значениями комбинированного кадра, связанными с промежутком времени t, и последними N/2 дискретными значениями комбинированного кадра, связанными с промежутком времени t-1:
(1)
Кроме того, декодированный кадр генерируют с использованием операции перекрытия с суммированием между первой половиной промежуточного кадра и второй половиной предыдущего промежуточного кадра. Следовательно, декодированный кадр, связанный с промежутком времени t, генерируют в соответствии с уравнением:
(2)
При оценивании промежуточных кадров, на которые негативно воздействует ошибочный пакет, можно использовать особые свойства, существующие между обработанными методом окна дискретными значениями во временной области из промежуточных кадров. Более конкретно, можно доказать, что каждый из промежуточных кадров обладает нечетными и четными симметриями между обработанными методом окна дискретными значениями во временной области из первой и второй его половин. Для промежутка времени t можно доказать следующие отношения:
(3)
Кроме того, можно доказать, что обработанные методом окна смешанные дискретные значения во временной области можно в явном виде получить, исходя из первоначальных обработанных методом окна дискретных значений звукового сигнала согласно следующему уравнению (см. публикацию V. Britanak и др., “Fast computational structures for an efficient implementation of the complete TDAC analysis/synthesis MDCT/MDST filter banks”, Signal Processing, т. 89, выпуск 7 (июль 2009), стр. 1379–1394, содержимое которой включено в настоящий документ посредством ссылки):
(4)
Подставляя уравнение (1) в уравнение (4), получают следующее отношение:
(5)
В другой аппроксимации декодированные кадры, на которые оказывает негативное воздействие ошибочный пакет, могут быть оценены с использованием кадров необработанного методом окна смешанного сигнала  во временной области согласно следующим уравнениям:
(6)
(7)
В уравнениях (6) и (7) обозначение  указывает на то, что переменной  присвоено значение .
На фиг. 2 представлена обобщенная блок-схема первой системы 200 декодирования. Система 200 декодирования предназначена для маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров.
Система содержит блок 201 приемника, выполненный с возможностью приема последовательности пакетов, в которой каждый пакет содержит множество коэффициентов MDCT, связанных с кадром, содержащим дискретные значения звукового сигнала во временной области. Последовательность пакетов, как правило, генерируют так, как описано в отношении фиг. 1А, путем применения MDCT к комбинированным кадрам, состоящим из N обработанных методом окна дискретных значений во временной области. Каждый пакет последовательности пакетов содержит N/2 коэффициентов MDCT.
Система 200 декодирования дополнительно содержит блок обнаружения ошибок (не показан), выполненный с возможностью идентификации того, является ли принятый пакет ошибочным пакетом на основании того, что принятый пакет содержит одну или более ошибок. Способ, которым ошибки обнаруживают в блоке обнаружения ошибок, является произвольным, и расположение блока обнаружения ошибок также является произвольным, при условии, что ошибочные пакеты, требующие маскирования ошибок, обнаруживаются, и обнаруженные ошибочные пакеты могут быть идентифицированы при маскировании ошибок в системе 200 декодирования.
Система 200 декодирования дополнительно содержит блок 202 маскирования ошибок, выполненный с возможностью оценивания коэффициентов MDCT из ошибочных пакетов, присваивания знаков оценочным коэффициентам MDCT, генерирования маскирующих пакетов и замены ошибочных пакетов маскирующими пакетами в последовательности пакетов. Маскирующий пакет генерируют в виде оценочных коэффициентов MDCT с соответствующими выбранными знаками ошибочного пакета.
Система 200 декодирования дополнительно содержит блок 203 IMDCT для применения IMDCT к каждому из пакетов последовательности пакетов, содержащей маскирующие пакеты, заменяющие ошибочные пакеты в последовательности пакетов. Вывод блока 203 IMDCT представляет собой последовательность промежуточных кадров, состоящих из N обработанных методом окна смешанных дискретных значений во временной области.
Система 200 декодирования дополнительно содержит блок 204 перекрытия с суммированием для выполнения операции перекрытия с суммированием между перекрывающимися частями последовательных промежуточных кадров в последовательности промежуточных кадров с целью генерирования декодированных кадров, состоящих из N/2 дискретных значений.
В одном из вариантов осуществления оценочные коэффициенты MDCT основаны на соответствующих коэффициентах MDCT, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов. В одном из дополнительных вариантов осуществления оценочные коэффициенты MDCT выбирают равными соответствующим коэффициентам MDCT принятого пакета, непосредственно предшествующего ошибочному пакету в последовательности пакетов. Кроме того, знаки первого подмножества коэффициентов MDCT из оценочных коэффициентов MDCT присваивают равными соответствующим знакам соответствующих коэффициентов MDCT принятого пакета, непосредственно предшествующего ошибочному пакету в последовательности пакетов. Первое подмножество содержит те коэффициенты MDCT, которые связаны со спектральными элементами разрешения тонального типа из пакета. Знаки второго подмножества коэффициентов MDCT из оценочных коэффициентов MDCT присваивают случайным образом. Второе подмножество содержит те коэффициенты MDCT, которые связаны со спектральными элементами разрешения шумового типа из пакета. Блок 202 маскирования ошибок непрерывно принимает коэффициенты MDCT каждого пакета из последовательности пакетов из принимающего блока 201 вместе со знаками для каждого из коэффициентов MDCT. Блок 202 маскирования ошибок дополнительно принимает идентификаторы ошибочных кадров из принимающей блока. При приеме ошибочного кадра блок 202 маскирования ошибок может извлекать коэффициенты MDCT и соответствующие знаки из предыдущего пакета, принятого непосредственно перед ошибочным пакетом в последовательности пакетов, и генерировать оценочные коэффициенты MDCT ошибочного пакета, и присваивать знаки с совместным использованием коэффициентов и знаков из предыдущего пакета. После того, как коэффициенты и знаки были оценены и присвоены, генерируют маскирующий пакет, основанный на оценочных коэффициентах MDCT и выбранных знаках пакета, и блок маскирования ошибок заменяет ошибочный пакет маскирующим пакетом в принимающем блоке 201, и маскирующий пакет направляют из принимающего блока 201 в блок 203 IMDCT.
Необходимо отметить, что, когда оценочные коэффициенты MDCT упоминаются в связи с оценкой вместе с присваиванием знака каждому из оценочных коэффициентов MDCT, это неявным образом относится к абсолютному значению оценочных коэффициентов MDCT. И хотя присваивание знака коэффициентам MDCT раскрыто сначала для первого подмножества, а затем для второго подмножества, присваивание знака может быть выполнено и в обратном порядке. Таким образом, в примерном варианте осуществления присваивание может быть выполнено для второго подмножества в первую очередь, а для первого подмножества — в последнюю. Фактически, присваивание может быть выполнено для коэффициентов MDCT в любом порядке. В примерном варианте осуществления присваивание не обязательно может быть выполнено последовательно для всех коэффициентов MDCT, связанных со спектральными элементами разрешения тонального типа, и последовательно для всех коэффициентов MDCT, связанных со спектральными элементами разрешения шумового типа. Например, присваивание может сначала быть выполнено для одного или более коэффициентов MDCT, связанных с первым подмножеством, затем — для одного или более коэффициентов MDCT, связанных со вторым подмножеством, затем — для одного или более коэффициентов MDCT, связанных с первым подмножеством, и т. д. Кроме того, пакет не обязательно содержит коэффициенты MDCT, связанные как со спектральными элементами разрешения шумового типа, так и со спектральными элементами разрешения тонального типа. Вместо этого пакет может содержать все коэффициенты MDCT, связанные со спектральными элементами разрешения шумового типа или все связанные со спектральными элементами разрешения тонального типа, так что одно из первого подмножества и второго подмножества является пустым. Наконец, коэффициент MDCT, как правило, идентифицируют как принадлежащий либо к первому подмножеству, либо принадлежащий ко второму подмножеству.
Оценивание знаков коэффициентов MDCT на основании типа содержимого может обеспечивать улучшенный результат в отношении свойств маскирования ошибок, чем оценка с использованием только случайного присваивания или оценки, основанные только на знаках коэффициентов MDCT из ранее принятых пакетов в последовательности пакетов. Коэффициенты MDCT, связанные со спектральными элементами разрешения шумового типа, могут быть достаточно точными, если оценивать их посредством случайного присваивания, тогда как коэффициенты MDCT, связанные со спектральными элементами разрешения тонального типа, могут обеспечивать улучшенные результаты в отношении свойств маскирования ошибок посредством присваивания на основании соответствующих коэффициентов MDCT принятого пакета, непосредственно предшествующего ошибочному пакету в последовательности пакетов. Кроме того, поскольку коэффициенты MDCT оценивают на основании соответствующих коэффициентов MDCT, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов, маскирование ошибок может быть достигнуто с использованием данных только из предыдущих принятых пакетов.
В некоторых вариантах известного уровня техники используются более сложные способы, включающие оценку знаков для всех коэффициентов MDCT и не использующие случайное присваивание. В других вариантах известного уровня техники были предусмотрены дополнительные метаданные для использования при оценивании знака, что добавляет дополнительную сложность способу и требует изменения потоков данных из кодера в декодер. Кроме того, такие метаданные необходимо передавать в пакетах, следующих за ошибочным пакетом, что вносит задержку за счет времени, в течение которого в системе декодирования может быть произведена оценка знаков.
Выбирая оценочные коэффициенты MDCT равными соответствующим коэффициентам MDCT предшествующего пакета, сложность можно поддерживать на низком уровне и при этом можно получать маскирующий пакет, обеспечивающий желаемое маскирование ошибок, если это сочетают с оценкой знаков коэффициентов MDCT на основании типа содержимого согласно примерным вариантам осуществления.
В одном из дополнительных вариантов осуществления коэффициенты MDCT из предыдущего пакета подвергают регулировке энергии в разрешении полосы коэффициентов масштаба посредством коэффициента масштабирования энергии перед их выбором в качестве оценки коэффициентов MDCT ошибочного пакета.
При выборе оценочных коэффициентов MDCT равными соответствующим коэффициентам MDCT предшествующего пакета с регулированием энергии в разрешении полосы коэффициентов масштаба посредством коэффициента масштабирования энергии, свойства маскирования ошибок, достигаемые маскирующим пакетом, можно улучшить с лишь незначительным повышением сложности.
Имеется несколько альтернативных способов определения того, связан коэффициент MDCT из пакета (например, ошибочного пакета) в последовательности пакетов со спектральным элементом разрешения тонального типа или спектральным элементом разрешения шумового типа. В одном примере определение основано на обнаружении спектральных пиков аппроксимации энергетического спектра, связанного с ошибочным пакетом, при этом аппроксимированный энергетический спектр основан на энергетическом спектре, связанном с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов. В другом примере используют меру неравномерности спектральной характеристики подполосы. Если значение неравномерности спектральной характеристики подполосы MDCT превышает определенный порог, то спектр этой подполосы является плоским, что подразумевает, что она является зашумленной. Иначе спектр является содержащим пики, что подразумевает, что он является тональным. Неравномерность подполосы MDCT оценивают как отношение между геометрическим средним и арифметическим средним амплитуды коэффициентов MDCT. Она выражает отклонение энергетического спектра сигнала от плоской формы. Эту меру вычисляют по полосам, где термин «полоса» относится к множеству коэффициентов MDCT, и ширина этих полос находится в согласии со значимым для восприятия разрешением полосы коэффициентов масштаба. За описанием меры неравномерности спектральной характеристики следует обратиться к публикации N. Jayant и P. Noll «Digital Coding of Waveforms, Principles and Applications to Speech and Video», Englewood Cliffs, NJ: Prentice-Hall (1984). В дополнительном примере определение основано на метаданных, принимаемых в пакетах или в битовом потоке, содержащем последовательность пакетов и метаданные. Метаданные, подлежащие использованию, могут, например, представлять собой метаданные, используемые для управления определенной обработкой аудиодекодера на основании типа звукового содержимого. В AC-4, например, имеется инструментальное средство компандирования, которое необходимо отключать для тональных сигналов. Таким образом, если принимают метаданные, указывающие, что компандирование выключено, то можно полагать, что сигнал является тональным. Также, если, например, используется более длинное MDCT, то звуковое содержимое с большой долей вероятности представляет собой тональный сигнал.
В одном из вариантов осуществления для модификации обработанных методом окна смешанных дискретных значений во временной области из промежуточного кадра, связанного с ошибочным кадром, используют отношения симметрии согласно уравнению (3) между обработанными методом окна смешанными дискретными значениями во временной области из промежуточного кадра, связанного с ошибочным кадром. Если ошибочный кадр был идентифицирован как связанный с промежутком времени t, то в блоке 202 маскирования ошибок генерируется маскирующий пакет, и маскирующий пакет заменяет ошибочный пакет. В блоке 203 IMDCT к маскирующему пакету применяется IMDCT, генерирующее промежуточный кадр, связанный с ошибочным пакетом. Сгенерированный промежуточный кадр, связанный с ошибочным пакетом, направляют из блока 203 IMDCT в блок 202 маскирования ошибок. Блок 202 маскирования ошибок затем модифицирует обработанные методом окна смешанные дискретные значения во временной области из сгенерированного промежуточного кадра так, чтобы были лучше удовлетворены отношения согласно уравнению (3).
Отношения симметрии, которые, как можно доказать, существуют между обработанными методом окна смешанными дискретными значениями во временной области из промежуточного кадра, могут быть использованы для модификации обработанных методом окна смешанных дискретных значений во временной области из промежуточного кадра с целью улучшения свойств маскирования ошибок. Тогда можно добиться улучшения свойств маскирования ошибок при лишь незначительном увеличении сложности.
В одном из дополнительных вариантов осуществления для модификации обработанных методом окна смешанных дискретных значений во временной области из промежуточного кадра, связанного с ошибочным кадром, используют отношения согласно уравнению (5) между обработанными методом окна смешанными дискретными значениями во временной области из промежуточного кадра, связанного с ошибочным кадром, и оригинальными дискретными значениями данных. Если ошибочный кадр был идентифицирован как связанный с промежутком времени t, то в блоке 202 маскирования ошибок генерируется маскирующий пакет, и маскирующий пакет заменяет ошибочный пакет. В блоке 203 IMDCT к маскирующему пакету применяется IMDCT, генерирующее промежуточный кадр, связанный с ошибочным пакетом. Сгенерированный промежуточный кадр, связанный с ошибочным пакетом, направляют из блока 203 IMDCT в блок 202 маскирования ошибок. Блок 202 маскирования ошибок затем модифицирует обработанные методом окна смешанные дискретные значения во временной области из сгенерированного промежуточного кадра так, чтобы были лучше удовлетворены отношения согласно уравнению (5). Например, правая сторона первого отношения из уравнения (5), относящаяся к первой половине промежуточного кадра, связанного с ошибочным пакетом, аппроксимируется прошлым декодированным кадром, связанным с промежутком времени t-1, принятым блоком 202 оценивания ошибок из блока 204 перекрытия с суммированием. Результат представляет собой альтернативную оценку первой половины промежуточного кадра, связанного с ошибочным пакетом, которую можно использовать для модификации первой половины промежуточного кадра, связанного с ошибочным пакетом и сгенерированного путем применения IMDCT к маскирующему пакету, сгенерированному в блоке 202 маскирования. Кроме того, правая сторона второго отношения из уравнения (5), относящаяся ко второй половине промежуточного кадра, связанного с ошибочным пакетом, аппроксимируется декодированным кадром, связанным с промежутком времени t, т. е. декодированным кадром, основанным на модифицированной первой половине промежуточного кадра, связанного с ошибочным пакетом. Декодированный кадр, связанный с промежутком времени t, принимается блоком 202 оценивания ошибок из блока 204 перекрытия с суммированием. Результат представляет собой альтернативную оценку второй половины промежуточного кадра, связанного с ошибочным пакетом, которую можно использовать для модификации второй половины промежуточного кадра, связанного с ошибочным пакетом и сгенерированного путем применения IMDCT к маскирующему пакету, сгенерированному в блоке 202 маскирования.
На фиг. 3 на примере представлена обобщенная блок-схема второй системы 300 декодирования. Система 300 декодирования предназначена для маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров.
Система содержит блок 301 приемника, выполненный с возможностью приема последовательности пакетов, в которой каждый пакет содержит множество коэффициентов MDCT, связанных с кадром, содержащим дискретные значения звукового сигнала во временной области. Последовательность пакетов, как правило, генерируют так, как описано в отношении фиг. 1А, путем применения MDCT к комбинированным кадрам, состоящим из N обработанных методом окна дискретных значений во временной области. Каждый пакет последовательности пакетов содержит N/2 коэффициентов MDCT.
Система 300 декодирования дополнительно содержит блок обнаружения ошибок (не показан), выполненный с возможностью идентификации того, является ли принятый пакет ошибочным пакетом на основании того, что принятый пакет содержит одну или более ошибок. Способ, которым ошибки обнаруживают в блоке обнаружения ошибок, является произвольным, и расположение блока обнаружения ошибок также является произвольным, при условии, что обнаруживаются ошибочные пакеты, требующие маскирования ошибок, и что обнаруженные ошибочные пакеты могут быть идентифицированы при маскировании ошибок в системе 300 декодирования.
Система 300 декодирования дополнительно содержит блок 302 маскирования ошибок, выполненный с возможностью оценивания обработанных методом окна смешанных дискретных значений во временной области из промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, связанного с ошибочным пакетом.
Система 300 декодирования дополнительно содержит блок 303 IMDCT для применения IMDCT к каждому из пакетов последовательности пакетов. Вывод блока 303 IMDCT представляет собой последовательность промежуточных кадров, состоящих из N обработанных методом окна смешанных дискретных значений во временной области.
Блок 302 маскирования ошибок дополнительно выполнен с возможностью замены промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, связанных с ошибочным пакетом, оценочным промежуточным кадром.
Система 300 декодирования дополнительно содержит блок 304 перекрытия с суммированием для выполнения операции перекрытия с суммированием между перекрывающимися частями последовательных промежуточных кадров в последовательности промежуточных кадров с целью генерирования декодированных кадров, состоящих из N/2 дискретных значений.
В одном из вариантов осуществления, когда ошибочный пакет идентифицируют в промежутке времени t, может быть оценен промежуточный кадр, связанный с ошибочным пакетом. Оценку выполняют с использованием отношения между обработанными методом окна смешанными дискретными значениями во временной области из промежуточного кадра, связанного с промежутком времени t, и исходя из оригинальных обработанных методом окна дискретных значений звукового сигнала согласно уравнению (5) и отношений симметрии согласно уравнению (3). Оценивают первое подмножество, содержащее первые N/4 обработанных методом окна смешанных дискретных значений во временной области из первой половины промежуточного кадра, содержащего N обработанных методом окна смешанных дискретных значений во временной области, связанных с ошибочным пакетом, который связан с промежутком времени t. Оценку выполняют посредством первого отношения из уравнения (5), где дискретные значения справа аппроксимируют дискретными значениями из предыдущего декодированного кадра, и где предыдущий декодированный кадр связан с промежутком времени t-1. Декодированный кадр, связанный с промежутком времени t-1, принимается блоком 302 оценивания ошибок из блока 304 перекрытия с суммированием. Более конкретно, дискретное значение под номером n из первого подмножества оценивают как обработанную методом окна версию дискретного значения под номером n из предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n из предыдущего декодированного кадра, где n = 0, 1..., N/4-1. Второе подмножество, содержащее остальные, т. е. последние, N/4 обработанных методом окна смешанных дискретных значений во временной области из первой половины промежуточного кадра, оценивают посредством отношений симметрии согласно уравнению (3). Оценочный декодированный кадр, связанный с ошибочным пакетом, который связан с промежутком времени t, генерируется в блоке 304 перекрытия с суммированием путем сложения первой половины оценочного промежуточного кадра со второй половиной предыдущего промежуточного кадра, связанного с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов, то есть связанным с промежутком времени t-1.
За счет использования отношений симметрии между обработанными методом окна смешанными дискретными значениями во временной области из второго подмножества и обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества для оценки второго подмножества можно добиться снижения сложности оценки, при этом сохраняя полученные свойства маскирования ошибок.
За счет использования предыдущего декодированного кадра в качестве аппроксимации в отношениях между обработанными методом окна смешанными дискретными значениями во временной области из первого подмножества и обработанными методом окна дискретными значениями во временной области из N обработанных методом окна дискретных значений звукового сигнала во временной области для генерирования оценки первого подмножества можно добиться низкой сложности оценки, при этом добиваясь желаемых свойств маскирования ошибок.
Оценивают третье подмножество, содержащее первые N/4 обработанных методом окна смешанных дискретных значений во временной области из второй половины промежуточного кадра, связанного с ошибочным пакетом. Оценку выполняют посредством второго отношения из уравнения (5), где дискретные значения справа аппроксимируются дискретными значениями из оценочного декодированного кадра, и где оценочный декодированный кадр связан с ошибочным пакетом, т. е. с промежутком времени t. Оценочный декодированный кадр, связанный с промежутком времени t, принимается блоком 302 оценивания ошибок из блока 304 перекрытия с суммированием. Более конкретно, дискретное значение под номером n из третьего подмножества оценивают как обработанную методом окна версию дискретного значения n из оценочного декодированного кадра с добавлением обработанной методом окна версии дискретного значения под номером N/2-1-n из оценочного декодированного кадра, где n = 0, 1, ..., N/4-1. Четвертое подмножество, содержащее остальные, т. е. последние, N/4, обработанных методом окна смешанных дискретных значений во временной области из второй половины промежуточного кадра оценивают посредством отношений симметрии согласно уравнению (3). Необходимо отметить, что, поскольку третье подмножество представляет собой первую половину второй половины промежуточного кадра, то дискретное значение под номером n из третьего подмножества представляет собой дискретное значение под номером N/2+n из промежуточного кадра, где n = 0, 1, ..., N. Последующий оценочный декодированный кадр, связанный с принятым пакетом, непосредственно следующим за ошибочным пакетом, то есть связанный с промежутком времени t+1, генерируется в блоке 304 перекрытия с суммированием путем сложения второй половины оценочного промежуточного кадра, связанного с промежутком времени t, с первой половиной последующего оценочного промежуточного кадра.
В одном из альтернативных вариантов осуществления оценка первого подмножества основана на смещенном множестве, содержащем N/2 дискретных значений из предыдущего декодированного кадра, связанного с промежутком времени t-1, и дополнительного предыдущего декодированного кадра, связанного с промежутком времени t-2 (не показан), а оценка третьего подмножества основана на смещенном множестве, содержащем N/2 дискретных значений оценочного декодированного кадра, связанного с промежутком времени t, и предыдущего декодированного кадра, связанного с промежутком времени t-1. Смещенное множество содержит k последних дискретных значений из дополнительного предыдущего декодированного кадра и все дискретные значения, за исключением k последних дискретных значений, из предыдущего декодированного кадра, где k<N/2. Более конкретно, для k≤N/4-1, дискретное значение под номером n из первого подмножества оценивают как обработанную методом окна версию дискретного значения под номером N/2-1+n-k из дополнительного предыдущего декодированного кадра (не показан) за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n-k из предыдущего декодированного кадра, где n = 0, 1, ..., k. Дискретное значение под номером n из первого подмножества оценивают как обработанную методом окна версию дискретного значения под номером n-k-1 из предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n-k из предыдущего декодированного кадра для n, равного k+1, ..., N/4-1. Дискретное значение под номером n из третьего подмножества оценивают как обработанную методом окна версию дискретного значения N/2-1+n-k из предыдущего декодированного кадра за вычетом обработанной методом окна версии дискретного значения под номером N/2-1-n-k из оценочного декодированного кадра, где n = 0, 1, ..., k. Дискретное значение под номером n из третьего подмножества оценивают как обработанную методом окна версию дискретного значения под номером n-k-1 из оценочного декодированного кадра с добавлением обработанной методом окна версии дискретного значения под номером N/2-1-n-k из оценочного декодированного кадра, где n = k+1, ..., N/4-1.
Значение k может быть вычислено для максимизации самоподобия кадра, подлежащего оцениванию, с предыдущими кадрами, или оно может быть вычислено предварительно для избегания сложности. Кроме того, k, как правило, зависит от N.
Свойства маскирования ошибок можно улучшить относительно того, когда только обработанные методом окна версии дискретных значений из предыдущего декодированного кадра используют для оценивания обработанных методом окна смешанных дискретных значений во временной области из первого подмножества. Более конкретно, улучшенные свойства маскирования ошибок могут являться результатом использования смещения на некоторое количество дискретных значений или смещения во времени при оценке обработанных методом окна смешанных дискретных значений во временной области из первого подмножества.
На фиг. 4 на примере представлена обобщенная блок-схема третьей системы 400 декодирования. Система 400 декодирования предназначена для маскирования ошибок в пакетах данных, подлежащих декодированию в аудиодекодере на основе MDCT, предназначенном для декодирования последовательности пакетов в последовательность декодированных кадров.
Система содержит блок 401 приемника, выполненный с возможностью приема последовательности пакетов, в которой каждый пакет содержит множество коэффициентов MDCT, связанных с кадром, содержащим дискретные значения звукового сигнала во временной области. Последовательность пакетов, как правило, генерируют так, как описано в отношении фиг. 1А, путем применения MDCT к комбинированным кадрам, состоящим из N обработанных методом окна дискретных значений во временной области. Каждый пакет последовательности пакетов содержит N/2 коэффициентов MDCT.
Система 400 декодирования дополнительно содержит блок обнаружения ошибок (не показан), выполненный с возможностью идентификации того, является ли принятый пакет ошибочным пакетом на основании того, что принятый пакет содержит одну или более ошибок. Способ, которым ошибки обнаруживают в блоке обнаружения ошибок, является произвольным, и расположение блока обнаружения ошибок также является произвольным, при условии, что обнаруживаются ошибочные пакеты, требующие маскирования ошибок, и что обнаруженные ошибочные пакеты могут быть идентифицированы при маскировании ошибок в системе 400 декодирования.
Система 400 декодирования дополнительно содержит блок 402 маскирования ошибок, выполненный с возможностью оценивания декодированного кадра, содержащего N/2 дискретных значений, связанных с ошибочным пакетом, для генерирования оценочного декодированного кадра. Декодированный кадр оценивают как равный второй половине предыдущего промежуточного кадра, содержащего N не обработанных методом окна дискретных значений во временной области, связанных с принятым пакетом, непосредственно предшествующим ошибочному пакету в последовательности пакетов.
Система 400 декодирования дополнительно содержит блок 403 IMDCT для применения IMDCT к каждому из пакетов последовательности пакетов. Вывод блока 403 IMDCT представляет собой последовательность промежуточных кадров, состоящих из N обработанных методом окна смешанных дискретных значений во временной области.
Система 400 декодирования дополнительно содержит блок 404 перекрытия с суммированием для выполнения операции перекрытия с суммированием между перекрывающимися частями последовательных промежуточных кадров в последовательности промежуточных кадров с целью генерирования декодированных кадров, состоящих из N/2 дискретных значений.
Блок 402 маскирования ошибок дополнительно выполнен с возможностью оценивания последующего декодированного кадра, содержащего N/2 дискретных значений, связанных с принятым пакетом, следующим непосредственно за ошибочным пакетом в последовательности пакетов, как равного первой половине последующего промежуточного кадра, содержащего не обработанные методом окна дискретные значения во временной области, связанные с принятым пакетом, следующим непосредственно за ошибочным пакетом в последовательности пакетов. Блок 402 маскирования ошибок дополнительно выполнен с возможностью замены декодированного кадра, связанного с ошибочным пакетом из блока 404 перекрытия с суммированием, оценочным декодированным пакетом и замены последующего декодированного кадра, связанного с ошибочным пакетом из блока 404 перекрытия с суммированием, оценочным декодированным пакетом.
Система 400 декодирования использует аппроксимации согласно уравнениям (6) и (7).
Оценка дискретных значений декодированного кадра из дискретных значений, связанных с ошибочным пакетом, при помощи не обработанных методом окна дискретных значений во временной области из предыдущего промежуточного кадра может предоставить способ обеспечения маскирования ошибок низкой сложности.
Кроме того, может быть предоставлен адаптивные способ, когда определены доступные ресурсы сложности, например, способ непрерывно определяет уровень сложности, допустимый для маскирования ошибок. Например, когда идентифицируют ошибочный пакет, определяют доступные ресурсы сложности, и способ маскирования ошибок выбирают в соответствии с определенными доступными ресурсами.
V. Эквиваленты, расширения, альтернативы и прочее
Дополнительные варианты осуществления настоящего раскрытия будут очевидны для специалиста в данной области техники после изучения описания, приведенного выше. Несмотря на то, что настоящее описание и графические материалы раскрывают варианты осуществления и примеры, раскрытие не ограничивается данными конкретными примерами. Возможны многочисленные модификации и изменения в пределах объема настоящего раскрытия, определенного прилагаемой формулой изобретения. Любые ссылочные позиции, встречающиеся в пунктах формулы изобретения, не должны рассматриваться как ограничивающие их объем.
Кроме того, после изучения графических материалов, описания и прилагаемой формулы изобретения специалисту могут быть понятными изменения раскрытых вариантов осуществления и могут быть использованы им при практической реализации раскрытия. В формуле изобретения слово «содержащий» не исключает другие элементы или этапы, и единственное число не исключает множественное. Сам факт того, что некоторые признаки упоминаются во взаимно отличных зависимых пунктах формулы изобретения, не говорит о том, что не может быть использована с выгодой комбинация этих признаков.
Раскрытые выше в настоящем документе устройства и способы могут быть реализованы как программное обеспечение, программно-аппаратное обеспечение, аппаратное обеспечение или их комбинация. При осуществлении в виде аппаратного обеспечения разделение задач между функциональными узлами, о которых говорилось в вышеприведенном описании, не обязательно соответствует разделению на физические узлы; наоборот, один физический компонент может выполнять несколько функций, и одно задание может быть выполнено несколькими физическими компонентами во взаимодействии. Некоторые компоненты или все компоненты могут быть осуществлены в виде программного обеспечения, выполняемого процессором цифровых сигналов или микропроцессором, или быть осуществлены в виде аппаратного обеспечения или в виде зависимой от приложения интегральной микросхемы. Такое программное обеспечение может распространяться на машиночитаемых носителях, которые могут содержать компьютерные носители информации (или постоянные носители) и средства коммуникации (или временные носители). Программное обеспечение может распространяться на специально запрограммированных устройствах, которые в настоящем документе могут обобщенно называться «модулями». Составные части программного обеспечения модулей могут быть написаны на любом компьютерном языке и могут составлять часть монолитной базы кода или могут являться разработанными в более дискретных частях кода, что является типичным в объектно-ориентированных языках программирования. В дополнение, модули могут распространяться по множеству компьютерных платформ, серверов, терминалов, мобильных устройств и т. п. Любой данный модуль может быть реализован даже так, что описанные функции выполняются отдельными процессорами и/или вычислительными аппаратными платформами. Как хорошо известно специалисту в данной области техники, термин «компьютерные носители информации» включает энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Компьютерные носители информации включают, но не ограничиваются этим, ОЗУ, ПЗУ, ЭСППЗУ, флеш-память или другую технологию памяти, компакт-диски, универсальные цифровые диски (DVD) или другие оптические диски для хранения информации, магнитные кассеты, магнитную ленту, магнитный диск для хранения информации или другие магнитные устройства для хранения информации, или любой другой носитель, который может быть использован для хранения желаемой информации и который может быть доступным с помощью компьютера. В рамках настоящей заявки термин «блок» относится ко всему из следующего: (a) только к аппаратным реализациям схем (таким как реализации только в аналоговой и/или цифровой схемотехнике) и (b) к комбинациям схем и программного обеспечения (и/или программно-аппаратного обеспечения), таким как (в зависимости от обстоятельств): (i) к комбинации процессора (-ов) или (ii) к частям процессора (-ов)/программного обеспечения (включая процессор (-ы) цифровой обработки сигналов), программного обеспечения и запоминающего устройства (устройств), действующих совместно, для того чтобы вызвать выполнение устройством, таким как мобильный телефон или сервер, различных функций, и (с) к схемам, таким как микропроцессор (-ы) или часть микропроцессора (-ов), требующим для работы программного или программно-аппаратного обеспечения, даже если программное или программно-аппаратное обеспечение не присутствует физически. Кроме того, специалисту в данной области техники хорошо известно, что средства связи, как правило, воплощают машиночитаемые команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой механизм передачи данных, и включают любые средства доставки информации.