системы и способы обеспечения управления цветом

Классы МПК:G05D25/00 Регулирование света, например интенсивности, цвета, фазы
Автор(ы):,
Патентообладатель(и):МАЙКРОСОФТ КОРПОРЕЙШН (US)
Приоритеты:
подача заявки:
2003-04-11
публикация патента:

Изобретение относится к технике управления цветом, в частности, в устройствах с цветными дисплеями, которые имеют различные характеристики цветового отображения. Согласно изобретению принимают не зависящие от устройства цветовые данные, по меньшей мере, от одного исходного устройства для передачи, по меньшей мере, одному конечному устройству; генерируют профиль связи устройств; имитируют, по меньшей мере, одну функцию интерфейса прикладного программирования в системе управления цветом и вызывают упомянутую функцию интерфейса прикладного программирования для генерирования зависящих от конечного устройства цветовых значений для упомянутого, по меньшей мере, одного конечного устройства. Благодаря изобретению графическая платформа X11 расширяется для поддержки систем управления цветом, таких как МЦК, sRGB и scRGB, которые начинаются и заканчиваются зависящими от устройств цветами. Цветовое пространство CMYK, как и расширенные цветовые пространства RGB в X11R6, тоже поддерживается, расширяя тем самым графическую платформу X11R6 для поддержки любого современного стандарта управления цветом. 9 н. и 43 з.п. ф-лы, 12 ил. системы и способы обеспечения управления цветом, патент № 2337392

системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392 системы и способы обеспечения управления цветом, патент № 2337392

Формула изобретения

1. Способ обеспечения управления цветом, включающий:

прием не зависящих от устройства цветовых данных, по меньшей мере, от одного исходного устройства для передачи, по меньшей мере, одному конечному устройству;

генерирование профиля связи устройств, представляющего, по меньшей мере, одну разность цветовых характеристик между упомянутым, по меньшей мере, одним исходным устройством и упомянутым, по меньшей мере, одним конечным устройством;

имитацию, по меньшей мере, одной функции интерфейса прикладного программирования в системе управления цветом и

вызов упомянутой, по меньшей мере, одной функции интерфейса прикладного программирования для генерирования зависящих от конечного устройства цветовых значений для упомянутого, по меньшей мере, одного конечного устройства.

2. Способ по п.1, в котором упомянутая имитация включает имитацию, по меньшей мере, одной функции интерфейса X11 прикладного программирования.

3. Способ по п.2, в котором упомянутая имитация включает имитацию, по меньшей мере, одной из функции кCIEXYZ и функции изCIEXYZ.

4. Способ по п.1, в котором упомянутая имитация включает обеспечение профиля связи устройств, по меньшей мере, для одной функции интерфейса прикладного программирования.

5. Способ по п.1, в котором упомянутое, по меньшей мере, одно исходное устройство и упомянутое, по меньшей мере, одно конечное устройство включают в себя, по меньшей мере, одно из вычислительного устройства и программного объекта.

6. Способ по п.1, дополнительно включающий вызов, по меньшей мере, одной функции второй системы управления цветом.

7. Способ по п.6, в котором упомянутый вызов, по меньшей мере, одной функции второй системы управления цветом включает вызов модулей управления цветом (МУЦ).

8. Способ по п.1, в котором упомянутые не зависящие от устройства цветовые данные включают, по меньшей мере, одни из данных стандартного цветового пространства (sRGB), данных расширенного стандартного цветового пространства (scRGB), данных профиля Международного цветового консорциума (МЦК) и данных CMYK (бирюзовый, пурпурный, желтый и черный).

9. Способ по п.1, в котором упомянутые не зависящие от устройства цветовые данные включают в себя, по меньшей мере, одни из цветовых данных scRGB, RIMM RGB (EK/PIMA), ROMM RGB (EK/PIMA) и esRGB (HP/PIMA).

10. Способ по п.9, дополнительно включающий преобразование знаковых чисел с плавающей запятой в беззнаковые усечения.

11. Способ по п.9, в котором упомянутый вызов включает обеспечение тонального сжатия посредством трех одномерных просмотровых таблиц (ПСТ) в профиле связи устройств.

12. Способ по п.1, в котором упомянутая имитация включает

имитацию, по меньшей мере, одной функции интерфейса прикладного программирования для преобразования из зависящих от устройства цветовых значений в значения CIEXYZ и

одну из следующих операций: (1) использование матрицы 3×3 и одномерных просмотровых таблиц (ПСТ) в профиле связи устройств, чтобы характеризовать конкретное устройство вывода, (2) установку матрицы 3×3 профиля связи устройств на матрицу тождественности и установку одномерных ПСТ профиля связи устройств на ПСТ тождественности.

13. Способ по п.1, в котором упомянутая имитация включает замещение указателя на поддерживаемый по умолчанию протокол для упомянутой, по меньшей мере, одной функции интерфейса прикладного программирования заказной функцией, которая вызывает совместимый с МЦК модуль управления цветом.

14. Машиночитаемый носитель, содержащий исполняемые компьютером команды, при исполнении которых выполняются этапы способа по п.1.

15. Модулированный данными сигнал, переносящий исполняемые компьютером команды для выполнения способа по п.1.

16. Вычислительное устройство, содержащее средство для выполнения способа по п.1.

17. Машиночитаемый носитель для обеспечения управления цветом с хранящимися на нем исполняемыми компьютером командами для выполнения способа, содержащего следующие операции:

прием не зависящих от устройства цветовых данных, по меньшей мере, от одного исходного устройства для передачи, по меньшей мере, одному конечному устройству;

генерирование профиля связи устройств, представляющего, по меньшей мере, одну разность цветовых характеристик между упомянутым, по меньшей мере, одним исходным устройством и упомянутым, по меньшей мере, одним конечным устройством;

имитацию, по меньшей мере, одной функции интерфейса прикладного программирования в системе управления цветом и

вызов упомянутой, по меньшей мере, одной функции интерфейса прикладного программирования для генерирования зависящих от конечного устройства цветовых значений для упомянутого, по меньшей мере, одного конечного устройства.

18. Машиночитаемый носитель по п.17, в котором упомянутая имитация включает имитацию, по меньшей мере, одной функции интерфейса X11 прикладного программирования.

19. Машиночитаемый носитель по п.18, в котором упомянутая имитация включает имитацию, по меньшей мере, одной из функции кCIEXYZ и функции изCIEXYZ.

20. Машиночитаемый носитель по п.17, в котором упомянутая имитация включает в себя получение профиля связи устройств, по меньшей мере, для одной функции интерфейса прикладного программирования.

21. Машиночитаемый носитель по п.17, в котором упомянутое, по меньшей мере, одно исходное устройство и упомянутое, по меньшей мере, одно конечное устройство включают в себя, по меньшей мере, одно из вычислительного устройства и программного объекта.

22. Машиночитаемый носитель по п.17, дополнительно включающий вызов, по меньшей мере, одной функции второй системы управления цветом.

23. Машиночитаемый носитель по п.22, в котором упомянутый вызов, по меньшей мере, одной функции второй системы управления цветом включает вызов модулей управления цветом (МУЦ).

24. Машиночитаемый носитель по п.17, в котором упомянутые не зависящие от устройства цветовые данные включают, по меньшей мере, одни из данных стандартного цветового пространства (sRGB), данных расширенного стандартного цветового пространства (scRGB), данных профиля Международного цветового консорциума (МЦК) и данных CMYK (бирюзовый, пурпурный, желтый и черный).

25. Машиночитаемый носитель по п.17, в котором упомянутые не зависящие от устройства цветовые данные включают, по меньшей мере, одни из цветовых данных scRGB, RIMM RGB (EK/PIMA), ROMM RGB (EK/PIMA) и esRGB (HP/PIMA).

26. Машиночитаемый носитель по п.25, дополнительно включающий преобразование знаковых чисел с плавающей запятой в беззнаковые усечения.

27. Машиночитаемый носитель по п.25, в котором упомянутый вызов включает обеспечение тонального сжатия посредством трех одномерных просмотровых таблиц (ПСТ) в профиле связи устройств.

28. Машиночитаемый носитель по п.17, в котором упомянутая имитация включает:

имитацию, по меньшей мере, одной функции интерфейса прикладного программирования для преобразования из зависящих от устройства цветовых значений в значения CIEXYZ и

одну из следующих операций: (1) использование матрицы 3×3 и одномерных просмотровых таблиц (ПСТ) в профиле связи устройств, чтобы характеризовать конкретное устройство вывода, и (2) установку матрицы 3×3 профиля связи устройств на матрицу тождественности и установку одномерных ПСТ профиля связи устройств на ПСТ тождественности.

29. Машиночитаемый носитель по п.17, в котором упомянутая имитация включает замещение указателя на поддерживаемый по умолчанию протокол для упомянутой, по меньшей мере, одной функции интерфейса прикладного программирования заказной функцией, которая вызывает совместимый с МЦК модуль управления цветом.

30. Вычислительное устройство для использования в связи с управлением цветом, содержащее:

компонент ввода, который принимает не зависящие от устройства цветовые данные, по меньшей мере, из одного исходного устройства для передачи, по меньшей мере, в одно конечное устройство;

компонент обработки, который генерирует профиль связи устройств, представляющий, по меньшей мере, одну разность цветовых характеристик между упомянутым, по меньшей мере, одним исходным устройством и упомянутым, по меньшей мере, одним конечным устройством;

компонент имитации, который имитирует, по меньшей мере, одну функцию интерфейса прикладного программирования в системе управления цветом; и

компонент вывода, который вызывает упомянутую, по меньшей мере, одну функцию интерфейса прикладного программирования для генерирования зависящих от конечного устройства цветовых значений для упомянутого, по меньшей мере, одного конечного устройства.

31. Вычислительное устройство по п.30, в котором упомянутый компонент имитации имитирует, по меньшей мере, одну функцию интерфейса X11 прикладного программирования.

32. Вычислительное устройство по п.31, в котором упомянутый компонент имитации имитирует, по меньшей мере, одну из функции кCIEXYZ и функции изCIEXYZ.

33. Вычислительное устройство по п.30, в котором упомянутый компонент имитации обеспечивает профиль связи устройств, по меньшей мере, для одной функции интерфейса прикладного программирования.

34. Вычислительное устройство по п.30, в котором упомянутое, по меньшей мере, одно исходное устройство и упомянутое, по меньшей мере, одно конечное устройство включают в себя, по меньшей мере, одно из вычислительного устройства и программного объекта.

35. Вычислительное устройство по п.30, дополнительно содержащее компонент вызова, который вызывает, по меньшей мере, одну функцию второй системы управления цветом.

36. Вычислительное устройство по п.35, в котором упомянутый компонент вызова вызывает, по меньшей мере, одну функцию второй системы управления цветом, включающую вызов модулей управления цветом (МУЦ).

37. Вычислительное устройство по п.30, в котором упомянутые не зависящие от устройства цветовые данные включают, по меньшей мере, одни из данных стандартного цветового пространства (sRGB), данных расширенного стандартного цветового пространства (scRGB), данных профиля Международного цветового консорциума (МЦК) и данных CMYK (бирюзовый, пурпурный, желтый и черный).

38. Вычислительное устройство по п.30, в котором упомянутые не зависящие от устройства цветовые данные включают, по меньшей мере, одни из цветовых данных scRGB, RIMM RGB (EK/PIMA), ROMM RGB (EK/PIMA) и esRGB (HP/PIMA).

39. Вычислительное устройство по п.38, дополнительно содержащее компонент преобразования, который преобразует знаковые числа с плавающей запятой в беззнаковые усечения.

40. Вычислительное устройство по п.38, в котором упомянутый компонент вызова обеспечивает тональное сжатие посредством трех одномерных просмотровых таблиц (ПСТ) в профиле связи устройств.

41. Вычислительное устройство по п.30, в котором упомянутый компонент имитации имитирует, по меньшей мере, одну функцию интерфейса прикладного программирования для преобразования из зависящих от устройства цветовых значений в значения CIEXYZ и одно из следующего: (1) использует матрицу 3×3 и одномерные просмотровые таблицы (ПСТ) в профиле связи устройств, чтобы характеризовать конкретное устройство вывода, и (2) устанавливает матрицу 3×3 профиля связи устройств на матрицу тождественности и устанавливает одномерные ПСТ профиля связи устройств на ПСТ тождественности.

42. Вычислительное устройство по п.30, в котором упомянутый компонент имитации замещает указатель на поддерживаемый по умолчанию протокол для упомянутой, по меньшей мере, одной функции интерфейса прикладного программирования заказной функцией, которая вызывает совместимый с МЦК модуль управления цветом.

43. Способ обеспечения управления цветом, содержащий следующие операции:

прием не зависящих от устройства цветовых данных, по меньшей мере, от одного исходного устройства для передачи, по меньшей мере, одному конечному устройству;

генерирование профиля связи устройств, представляющего, по меньшей мере, одну разность цветовых характеристик между упомянутым, по меньшей мере, одним исходным устройством и упомянутым, по меньшей мере, одним конечным устройством;

имитацию, по меньшей мере, одной функции интерфейса X11 прикладного программирования и

вызов упомянутой, по меньшей мере, одной функции интерфейса X11 прикладного программирования для генерирования зависящих от конечного устройства цветовых значений для упомянутого, по меньшей мере, одного конечного устройства.

44. Способ по п.43, в котором упомянутая имитация включает имитацию, по меньшей мере, одной из функции кCIEXYZ и функции изCIEXYZ.

45. Способ по п.43, в котором упомянутая имитация включает получение профиля связи устройств, по меньшей мере, для одной функции интерфейса X11 прикладного программирования.

46. Способ по п.43, дополнительно включающий вызов, по меньшей мере, одной функции в системе модулей управления цветом (МУЦ).

47. Способ по п.43, в котором упомянутая имитация включает:

имитацию, по меньшей мере, одной функции интерфейса X11 прикладного программирования для преобразования из зависящих от устройства цветовых значений в значения CIEXYZ и

одну из следующих операций: (1) использование матрицы 3×3 и одномерных просмотровых таблиц (ПСТ) в профиле связи устройств, чтобы характеризовать конкретное устройство вывода, (2) установку матрицы 3×3 профиля связи устройств на матрицу тождественности и установку одномерных ПСТ профиля связи устройств на ПСТ тождественности.

48. Способ по п.43, в котором упомянутая имитация включает замещение указателя на поддерживаемый по умолчанию протокол для упомянутой, по меньшей мере, одной функции интерфейса X11 прикладного программирования заказной функцией.

49. Машиночитаемый носитель для обеспечения управления цветом с хранящимся на нем множеством исполняемых компьютером модулей, содержащих исполняемые компьютером команды, причем эти модули содержат:

средство для приема не зависящих от устройства цветовых данных, по меньшей мере, от одного исходного устройства для передачи, по меньшей мере, одному конечному устройству;

средство для генерирования профиля связи устройств, представляющего, по меньшей мере, одну разность цветовых характеристик между упомянутым, по меньшей мере, одним исходным устройством и упомянутым, по меньшей мере, одним конечным устройством;

средство для имитации, по меньшей мере, одной функции интерфейса прикладного программирования в системе управления цветом и

средство для вызова упомянутой, по меньшей мере, одной функции интерфейса прикладного программирования для генерирования зависящих от конечного устройства цветовых значений для упомянутого, по меньшей мере, одного конечного устройства.

50. Машиночитаемый носитель по п.49, в котором упомянутое средство для имитации имитирует, по меньшей мере, одну функцию интерфейса X11 прикладного программирования.

51. Вычислительное устройство для использования в связи с управлением цветом, содержащее:

средство для приема не зависящих от устройства цветовых данных, по меньшей мере, от одного исходного устройства для передачи, по меньшей мере, одному конечному устройству;

средство для генерирования профиля связи устройств, представляющего, по меньшей мере, одну разность цветовых характеристик между упомянутым, по меньшей мере, одним исходным устройством и упомянутым, по меньшей мере, одним конечным устройством;

средство для имитации, по меньшей мере, одной функции интерфейса прикладного программирования в системе управления цветом и

средство для вызова упомянутой, по меньшей мере, одной функции интерфейса прикладного программирования для генерирования зависящих от конечного устройства цветовых значений для упомянутого, по меньшей мере, одного конечного устройства.

52. Вычислительное устройство по п.51, в котором упомянутое средство для имитации имитирует, по меньшей мере, одну функцию интерфейса X11 прикладного программирования.

Описание изобретения к патенту

Уведомление об авторском праве и разрешение копирования

Часть описания данного патентного документа может содержать материал, который является предметом защиты по авторскому праву. Обладатель авторского права не имеет возражений против факсимильного воспроизведения кем бы то ни было этого патентного документа или патентного описания, как оно явствует из дел или записей Ведомства по патентам и товарным знакам, но во всех остальных случаях оставляет за собой все права на копирование. К данному документу должна прикладываться следующая метка: Авторское право © 2001, Microsoft Corp.

Область изобретения

Настоящее изобретение направлено на системы и способы обеспечения управления цветом. В частности, настоящее изобретение направлено на системы и способы обеспечения управления цветом в связи со множеством устройств, имеющих различные характеристики цветных дисплеев.

Существующий уровень техники

Цветовое пространство является моделью для числового представления цвета в терминах трех или более координат, например цветовое пространство RGB представляет цвета в терминах координат Красный (R), Зеленый (G) и Синий (B).

Для того чтобы цвет воспроизводился предсказуемым образом на различных устройствах и материалах, он должен описываться способом, который не зависит от конкретного поведения механизмов и материалов, используемых для получения цвета. К примеру, цветные электронно-лучевые трубки (ЭЛТ) (CRT) и цветные принтеры используют в высшей степени разные механизмы для получения цвета. Для решения этой проблемы существующие способы требуют, чтобы цвет описывался с помощью не зависящих от устройства цветовых координат, которые затем для каждого устройства переводятся в зависящие от устройства цветовые координаты. В настоящее время устройство само обеспечивает механизм для перевода в зависящую от устройства систему.

В этом отношении управление цветом представляет собой выражение, описывающее технологию или систему, которая переводит цвета объекта, например изображений, графики или текста, из их текущего цветового пространства в цветовое пространство выходных устройств наподобие мониторов, принтеров и т.п.

Вначале операционные системы поддерживали цвет, обеспечивая поддержку конкретного цветового пространства, например RGB; поскольку, однако, RGB изменяется от устройства к устройству, цвет на различных устройствах не воспроизводился надежным образом.

В связи с неадекватностью таких традиционных средств обеспечения цветов различные операционные системы добавляли поддержку для использования набора цветовых характеристик (профиля) Международного цветового консорциума (МЦК) (ICC), чтобы независимым образом характеризовать в устройстве зависящие от устройства цвета. Описание профиля для характеризации устройств МЦК является общедоступным и может быть получено, к примеру, на веб-сайте МЦК, т.е. www.color.org. МЦК использует профили входного устройства, которое создавало изображение, и выходного устройства, которое отображало изображение, и создает преобразование, которое переносит изображение из цветового пространства входного устройства в цветовое пространство выходного устройства. Хотя это дает очень точный цвет, это также связано с непроизводственными расходами на транспортировку профиля входного устройства вместе с изображением и прогон изображения через преобразование.

Дальнейшие методы разрабатывались в попытке обеспечить промежуточные не зависящие от устройства стандартизованные цветовые пространства. Некоторые из этих методов управления цветом уже существуют в настоящее время в операционных системах и программных приложениях, таких как операционные системы MICROSOFT® WINDOWS® и платформы MICROSOFT® OFFICE®. Цветовые пространства иные, нежели цветовое пространство МЦК, включают в себя стандартное цветовое пространство или, для краткости, sRGB (спецификация №61966-2-1 Международного инженерного консорциума (МИК) (IEC)), которое поддерживается в качестве основной технологии, начиная с WINDOWS98® и OFFICE2000®. Методы управления цветом продолжали развиваться через создание стандартного расширенного цветового пространства или, для краткости, scRGB (спецификация №61966-2-2 МИК).

При интеграции МЦК, sRGB и scRGB имеется ряд проблем, которые требуют разрешения, когда используются различные типы входных и выходных вычислительных устройств, которые поддерживают цвет. В настоящее время sRGB является цветовым пространством в Windows по умолчанию на основании стандарта МИК 61966-2-1. sRGB-совместимое устройство, для надлежащего функционирования, не должно обеспечивать профиль (набор цветовых характеристик) или иную поддержку для управления цветом.

В этом отношении структуры цветовых пространств sRGB, scRGB и МЦК имеют фиксированный и определенный смысл и являются уровнем техники для изобретения. Хотя ссылка на эти цветовые пространства имеет то значение, что дает достаточное определение для специалиста, тем не менее, ниже приведено обобщенное описание, которое может быть дополнено любым из общедоступных спецификаций стандартов для соответствующих цветовых пространств.

Стандартное цветовое пространство RGB или sRGB включает в себя одномерные просмотровые таблицы (таблицы перекодировки), описывающие нелинейные соотношения между тональным откликом пространства восприятия RGB и физического яркостного пространства, такого как CIEXYZ, матрица 3×3, описывающая красный, зеленый и синий первичные цвета в их отношении к значениям CIEXYZ, значение белой точки в терминах восприятия, такое как D65 для стандарта CIEXYZ, соотносящееся с дневным светом как с цветовой температурой 6500К, и дополнительные условия просмотра, такие как обрамление, фон, яркость, которые воздействуют на восприятие конечного пользователя цветов целевого устройства.

Стандартное расширенное цветовое пространство scRGB является тем же самым, что и sRGB, но значения могут выходить за визуальный диапазон цветов.

Профиль МЦК является типичной структурой метаданных, которая включает в себя информацию, относящуюся к зависящим от устройства цветам для их эквивалентных зрительно воспринимаемых человеком цветов. Некоторые элементы профиля МЦК могут также обеспечивать перевод информации между любыми двумя цветовыми пространствами, как зависящими, так и не зависящими от устройства.

Протокол Х разрабатывался в середине 1980-х годов в ответ на необходимость обеспечить прозрачный для сети графический пользовательский интерфейс (ГПИ) (GUI) первоначально для операционной системы UNIX. Протокол Х обеспечивает отображение и управление графической информацией во многом так же, как MICROSOFT® WINDOWS® и программа управления представлением IBM®.

Ключевое различие между архитектурой Х и методами цветового управления иных платформ состоит в структуре Протокола Х. В то время, как WINDOWS® и иные платформы, такие как программа управления представлением IBM®, просто отображают графические приложения, локальные для ПК, Протокол Х распределяет обработку приложений, конкретизируя отношение клиент-сервер на прикладном уровне. Часть «что сделать» приложения называется «клиент Х» и отделяется от части «как сделать» - дисплея, - называемой «сервер Х». Клиенты Х обычно исполняются на удаленной машине, которая имеет избыточную вычислительную мощность и отображается на сервере Х. Преимуществом является истинная обработка типа «клиент-сервер» и распределенная обработка.

Как иллюстрируется на фиг.1А, Протокол Х определяет отношение клиент-сервер между приложением 210а, 210b и его отображением 240. Чтобы удовлетворить этому, приложение 210а, 210b, названное клиент Х, отделяется от дисплея, известного как сервер 240 Х. Клиенты 210а, 210b включают в себя библиотеку 220 Х и, дополнительно, набор 230 инструментальных средств. Сервер 240 Х включает в себя драйверы 250 устройства для запуска устройства 260. Как показано на фиг.1В, Протокол Х далее обеспечивает обычную оконную систему для конкретизации как зависящего 200b, так и не зависящего 200а от устройства уровня и базирования протокола на асинхронном сетевом протоколе для связи между клиентом 210 Х и сервером 240 Х. Фактически Протокол Х скрывает особенности операционной системы и используемого оборудования. Эта маскировка архитектурных и инженерных различий упрощает разработку клиента Х и обеспечивает трамплин для высокой переносимости оконной системы Х.

Преимущества подхода Х включают в себя: (1) локальное и основанное на сети вычисления выглядят и ощущаются одинаково как для пользователя, так и для разработчика, (2) сервер Х является в высокой степени переносимым, обеспечивая поддержку для множества языков и операционных систем, (3) клиенты Х также имеют высокую степень переносимости, (4) Протокол Х может поддерживать любой ориентированный на байтовый поток сетевой протокол, локальный или удаленный, и (5) приложения не ухудшают характеристики.

Таким образом, разработка Протокола Х конкретизирует отношение клиент-сервер между приложением и его отображением. В Протоколе Х программное обеспечение, которое управляет единственным экраном, клавиатурой и мышью, известно как сервер Х. Клиентом Х является приложение, которое отображается на сервере Х и иногда называется «приложением». Клиент Х посылает запросы, например графический или информационный запрос, на сервер Х. Сервер Х принимает запросы от множества клиентов и возвращает отклики клиенту Х в ответ на информационные запросы, пользовательский ввод и ошибки.

Сервер Х исполняется на локальной машине и принимает и демультиплексирует запросы клиентов Х на основании основанных на сети или локальных межпроцессных связей (МПС) (IPC) и действует по ним. Сервер Х (1) отображает графические запросы на экране, (2) отвечает на информационные запросы, (3) сообщает об ошибке(ах) в запросе, (4) управляет клавиатурой, мышью и устройством отображения, (5) мультиплексирует вводы с клавиатуры и мыши в сеть или через МПС к соответствующим клиентам Х, (6) создает, преобразует и разрушает окна и (7) записывает и рисует в окнах.

Клиент Х является, по существу, приложением, записанным с помощью библиотек, например, Xlib или Xt, которые получают преимущества от Протокола Х. Клиент Х (1) посылает запросы на сервер, (2) принимает события от сервера и (3) принимает ошибки от сервера.

Что касается запросов, то клиенты Х делают запросы к серверу Х на определенное действие, которое должно иметь место, например создать окно. Чтобы улучшить характеристики, клиент Х обычно не рассчитывает и не ожидает ответа. Вместо этого запрос, как правило, оставляется на надежном сетевом уровне для доставки. Запросами Х являются любые группы из 4 байтов.

Что касается откликов, то сервер Х отвечает на определенный запрос клиента Х, который требует отклика. Отметим, что не все запросы требуют отклика. Откликами Х являются любые группы из 4 байтов с минимумом 32 байта.

Что касается событий, то сервер Х направляет клиенту Х событие, которое ожидается приложением, в том числе ввод с клавиатуры или мыши. Чтобы минимизировать сетевой трафик, клиентам Х посылаются только ожидаемые события. События Х составляют 32 байта.

Что касается ошибок, то сервер Х сообщает клиенту Х об ошибках в запросах. Ошибки подобны событию, но обращаются с ними иным образом. Ошибки Х имеют тот же размер, что и события, чтобы облегчить обращение с ними. Они посылаются на обрабатывающую ошибки подпрограмму клиента Х в виде 32 байтов.

Структура сервера Х в значительной степени зависит от базового аппаратного обеспечения и операционной системы, на которых он реализуется. По мере того, как возможности базовых технологий возрастают, возрастают также производительность и возможности сервера Х.

Как отмечалось, фиг.1А иллюстрирует, что имеется зависящий от устройства уровень 200b Протокола Х и не зависящий от устройства уровень 200а. Зависящий от устройства уровень 200b отвечает за локализацию сервера Х в собственном окружении, будь то WINDOWS или Solaris, и за подкачку байтов данных из машин с отличающимся порядком байтов, а порядок байтов отмечается в каждом запросе Х. Уровень 200b скрывает архитектурные различия в аппаратном обеспечении и операционных системах, а также поддерживает зависимости драйверов устройства для клавиатуры, мыши и видео.

Для архитектуры единого потока сервер Х представляет собой процесс с единственной последовательностью, использующий естественную архитектуру с квантованным временем для планирования, демультиплексирования запросов, мультиплексирования откликов, событий и ошибок среди клиентов Х.

Для архитектуры множества потоков сервер Х представляет собой процесс множества потоков, способный использовать природу операционной системы путем разбиения задач на множество потоков для выполнения операционной системой и аппаратным обеспечением. Истинные многозадачные с вытеснением среды множества потоков предоставляют высокую степень производительности для сервера Х.

Современные серверы Х включают в себя рабочие станции, терминалы Х и серверы Х ПК. Рабочие станции достаточно производительны для обработки требований комплексных вычислений и обычно отображают локальных клиентов Х и малую часть сетевых (удаленных) клиентов Х. Терминалы Х представляют собой терминалы ввода-вывода с графическими возможностями. Программное обеспечение сервера Х загружается из главного компьютера. Терминалы Х менее дороги, чем рабочие станции, и проще для обслуживания. Серверы Х ПК объединяют ПК и удаленный доступ к прикладному серверу в один общий рабочий стол, с выгодой используют инвестиции в существующие ПК и умения пользователей (манипулирование и доступ с рабочего стола), обеспечивают локальное или удаленное управление окнами по пользовательскому предпочтению и легки для использования.

Консорциум Х установил графическую архитектуру Х11. За несколько последних лет рабочий стол развился от полезной или сконцентрированной на пользователе среды до среды, сфокусированной на централизованном администрировании, окруженном адаптацией веб-протоколов и основанном на поисковых средствах (браузерах), пользовательском интерфейсе. Последняя публикация оконной системы Х от Консорциума Х - Х11R6.5.1 или для краткости Х11R6 обращается к проблемам объединяющих приложений и поисковых средств Х, обеспечивающих быстрое развертывание без перекодирования и защищенность.

Последняя публикация о графической архитектуре Х11 общедоступна во Всемирной паутине, по меньшей мере, от Консорциума Х, www.x.org. Вкратце, система X11R6 управления цветом представляет собой графический протокол, который посредством операций, в том числе адаптация белой точки, отражение не входящих в цветовую гамму цветов, матричные преобразования и одномерные просмотровые таблицы (ПСТ), (1) поддерживает функции управления цветом, имеющие возможности подключаемых расширений, и (2) поддерживает перевод содержимого не зависящего от устройства приложения в зависящие от устройства цветовые значения.

Когда Консорциум Х устанавливал Х11, Х11 поддерживал очень простой механизм управления цветом для преобразования стандартных цветов RGB в цвета RGB конкретного отображающего устройства с помощью матрицы 3×3 и трех одномерных ПСТ. С появлением X11R6 архитектура систем Х управления цветом (Xcms) была реализована на основании работ фирмы Tektronix, которая расширила предыдущее простое решение, чтобы обеспечить способ преобразований из множества не зависящих от устройства цветовых пространств в зависящий от устройства отображения цвет. Это решение фокусировалось на добавлении поддержки хроматической адаптации белой точки и поддержки сжатия цветовой гаммы. Управление цветом X11R6, таким образом, предполагает рабочий процесс, который начинается с трехканальных не зависящих от устройства цветов и преобразуется в зависящие от устройства отображения цвета.

Архитектура X11R6 имеет, таким образом, два решения по управлению цветом. Первое решение представляет собой простую матрицу 3×3 и трехмерные ПСТ, которые обычно используются для характеризации простых устройств отображения, таких как ЭЛТ. Второе решение представляет собой Xcms, которое состоит первоначально из преобразования белой точки и сжатия цветовой гаммы. Начиная с введения Xcms, управление цветом усовершенствовалось и было найдено, что решения, ограниченные этими двумя методами, неадекватны, потому что большинство предполагают исходные и конечные устройства, где Х11 поддерживает только конечное устройство и предполагает, что исходное устройство является не зависимым от устройства.

Помимо этого, современные решения по управлению цветом, основанные на таких профилях для характеризации устройств метаданных, как МЦК, предполагают, что рабочий процесс начинается и заканчивается тремя, четырьмя или более каналами зависящих от устройства цветов. В настоящее время Х11 лишь обеспечивает рабочий процесс с управлением цветом, который начинается с трех не зависящих от устройства цветов и заканчивается зависящими от RGB устройства отображения цветами. Современные решения по управлению цветом, основанные на стандартных цветовых пространствах, такие как sRGB и scRGB, аналогичны современным решениям с метаданными за исключением того, что метаданные содержатся в самом устройстве, так что рабочий процесс представляется происходящим полностью независимо от устройств вне исходного и конечного устройств. По существу, преобразование метаданных между цветами устройства и стандартным цветовым пространством существует только в самих исходном и конечном устройствах. Это обеспечивает намного более простой пользовательский опыт и обмен цветовым содержимым в открытых сетях, а также обеспечивает сложные рабочие процессы, состоящие из множества приложений или пользователей.

Другие известные решения, которые существуют сегодня, не объединяются в настоящее время с X11R6 и, таким образом, ограничены единственным приложением. Соответственно урезанные и склеенные межпрограммные связи и сложные рабочие процессы весьма ограничены нынешними решениями. Кроме того, нынешние решения весьма ограничены по отношению к поддерживающим CMYK (бирюзовый, пурпурный, желтый и черный) и другие цветовые пространства. Таким образом, имеется необходимость в механизме, который позволяет графической платформе по стандарту X11R6 поддерживать фактически промышленный стандарт управления цветом, построенный на системах МЦК, sRGB и scRGB управления цветом соответственно. Имеется также необходимость в механизме, который позволяет поддерживать современные стандарты управления цветом, такие как МЦК, sRGB и scRGB, которые начинаются и заканчиваются зависящими от устройства цветами.

Сущность изобретения

С точки зрения вышеизложенного, настоящее изобретение предлагает системы и способы обеспечения управления цветом в связи со множеством вычислительных устройств, имеющих различные характеристики отображения цветов. В частности, изобретение предлагает средство, позволяющее графической платформе Х11 поддерживать системы управления цветом, такие как МЦК, sRGB и scRGB, которые начинаются и заканчиваются зависящими от устройства цветами. Изобретение также предлагает средство для поддержания цветовых пространств CMYK, равно как и расширенных RGB цветовых пространств в Х11R6, тем самым расширяя графическую платформу X11R6 для поддержки любого современного стандарта управления цветом.

В различных вариантах выполнения изобретения способы, машиночитаемые носители и вычислительные устройства предлагаются в связи с системами управления цветом. Эти варианты выполнения включают в себя прием не зависящих от устройства цветовых данных из исходного устройства (устройств) для перевода в конечное устройство (устройства), генерирование связанного с устройством профиля, представляющего разность(и) цветовых характеристик между исходным устройством(ами) и конечным устройством(ами), имитацию, по меньшей мере, одной функции интерфейса программного приложения в системе управления цветом и вызов функции для генерирования зависящих от конечного устройства цветовых значений для конечного устройства (устройств).

Другие признаки и варианты выполнения по настоящему изобретению описываются ниже.

Краткое описание чертежей

Система и способы обеспечения управления цветом в соответствии с настоящим изобретением описываются далее со ссылкой на чертежи, на которых представлено следующее:

фиг.1А и 1В - иллюстрация отдельных аспектов Протокола Х от Консорциума Х;

фиг.2А - блок-схема, представляющая примерную сетевую среду, имеющую множество вычислительных устройств, в которой может быть реализовано настоящее изобретение;

фиг.2В - блок-схема, представляющая примерное неограничивающее вычислительное устройство, в котором может быть реализовано настоящее изобретение;

фиг.3А - пример функционирования архитектуры X11R5 управления цветом;

фиг.3В - пример функционирования архитектуры X11R6 управления цветом;

фиг.4А - иллюстрация других приведенных для примера аспектов архитектуры X11R6 управления цветом;

фиг.4В - пример функционирования модуля управления цветом (МУЦ) (СММ) в архитектуре управления цветом;

фиг.4С - архитектура управления цветом, предложенная настоящим изобретением; и

фиг.5А-5С - пример использования настоящего изобретения в связи со множеством цветовых пространств.

Подробное описание изобретения

Обзор

Изобретение, таким образом, предлагает способы и системы для реализации современного управления цветом с помощью множества принятых в настоящее время решений в архитектурных ограничениях графической платформы X11R6. Как упоминалось, Х11 предполагает архитектуру рабочего процесса по управлению цветом, которая начинается с трех не зависящих от устройства цветов и заканчивается зависящими от устройства отображения RGB цветами. Изобретение, таким образом, предлагает механизм, который разрешает поддерживать современное управление цветом, такое как МЦК, sRGB и scRGB, которое начинается и заканчивается зависящими от устройства цветами. Изобретение может также использоваться для поддержки цветовых пространств CMYK, равно как и расширенных RGB цветовых пространств в X11R6, тем самым расширяя графическую платформу для поддержки всех современных методов управления цветом.

Примерные сетевые и распределенные среды

Специалист может оценить, что компьютер или иное клиентское или серверное устройство может применяться как часть компьютерной сети либо в распределенной вычислительной сети. С этой точки зрения настоящее изобретение подходит к любой компьютерной системе с любым числом блоков памяти или хранения и любым числом приложений и процессов, происходящих в любом числе блоков или объемов хранения, которые могут использоваться в связи с процессом управления цветом. Настоящее изобретение может применяться к среде с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевой среде или распределенной вычислительной среде, имеющей удаленное или местное хранение. Настоящее изобретение может быть также применено к автономным вычислительным устройствам с функциональными возможностями языков программирования, способностями интерпретации и исполнения для генерирования, приема и передачи информации в связи с удаленными или локальными услугами управления цветом.

Распределенное вычисление облегчает совместное использование компьютерных ресурсов и услуг путем прямого обмена между вычислительными устройствами и системами. Эти ресурсы и услуги включают в себя обмен информацией, сверхоперативную память и дисковую память для файлов. Распределенное вычисление имеет преимущество сетевой связности, позволяющей клиентам усиливать свою совместную мощность, чтобы получить выигрыш от всего предприятия. В этом отношении множество устройств могут иметь приложения, объекты и ресурсы, использующие процесс управления цветом, который может использовать методы настоящего изобретения.

Фиг.2А показывает условную схему примерной сетевой или распределенной вычислительной среды. Эта распределенная вычислительная среда содержит вычислительные объекты 10а, 10b и т.д. и вычислительные объекты или устройства 110а, 110b, 110с и т.д. Эти объекты могут содержать программы, способы, банки данных, программируемую логику и т.п. Эти объекты могут содержать части одних и тех же или различных устройств, таких как персональные цифровые ассистенты (ПЦА) (PDA), телевизоры, звуковые проигрыватели уровня-3 (МР3) Экспертной группы по кинематографии (MPEG-1), персональные компьютеры и т.п. Каждый объект может осуществлять связь с другим объектом с помощью сети 14 связи. Эта сеть сама может содержать другие объекты и вычислительные устройства, которые обеспечивают услуги для системы по фиг.2А. В соответствии с аспектом данного изобретения каждый объект 10а, 10b и т.д. или 110а, 110b, 110с и т.д. может содержать приложение, которое способно запрашивать услуги по управлению цветом.

В распределенной вычислительной архитектуре компьютеры, которые могут традиционно использоваться только как клиенты, осуществляют связь непосредственно между собой и могут действовать и как клиенты, и как серверы, принимая на себя ту роль, которая наиболее эффективна для сети. Это снижает нагрузку на серверы и позволяет всем клиентам обращаться к ресурсам, доступным на других клиентах, благодаря чему увеличивается пропускная способность и эффективность всей сети. Услуги по управлению цветом в соответствии с настоящим изобретением могут, таким образом, распределяться среди клиентов и серверов, действующих тем способом, который эффективен для всей сети.

Распределенное вычисление может помочь коммерческим структурам предоставлять услуги и возможности более эффективно через разные географические границы. Кроме того, распределенное вычисление может перемещать данные ближе к тому пункту, где данные потребляются, действуя как сетевой механизм сверхоперативной памяти. Распределенное вычисление также позволяет вычислительным сетям динамически сотрудничать с помощью интеллектуальных агентов. Агенты постоянно находятся на одноранговых компьютерах и передают различные виды информации туда и обратно. Агенты могут также инициировать задачи от имени других одноранговых систем. К примеру, интеллектуальные агенты могут использоваться, чтобы устанавливать приоритеты задач в сети, изменять поток трафика, искать файлы на месте или определять аномальное поведение, такое как вирусы, и останавливать его до того, как оно окажет воздействие на работу. Могут подразумеваться также все типы других услуг. Поскольку графический объект(ы) или другие цветовые данные могут на практике физически располагаться в одном или более местоположений, способность распределять услуги по управлению цветом является очень полезной в такой системе.

Можно также отметить, что объект, такой как 110 с, может управляться с другого вычислительного устройства 10а, 10b и т.д. или 110а, 110b и т.д. Таким образом, хотя изображенная физическая среда может показывать соединенные устройства, такие как компьютеры, такая иллюстрация является просто примером, а физическая среда может быть альтернативно изображена или описана как содержащая различные цифровые устройства, такие как ПЦА, телевизоры, проигрыватели МР3 и т.п., программные объекты, такие как интерфейсы, объекты СОМ и т.п.

Имеется множество систем, компонентов и сетевых конфигураций, которые поддерживают распределенную вычислительную среду. Например, вычислительные системы могут соединяться вместе проводными или беспроводными системами, локальными сетями или глобальными сетями. В настоящее время многие из этих сетей связаны с Интернетом, который обеспечивает инфраструктуру для широко распределенного вычисления и охватывает множество разных сетей.

В домашних сетевых средах имеется, по меньшей мере, четыре в корне отличных носителя сетевого переноса, каждый из которых может поддерживать уникальный протокол, такой как сеть питания, данные (как беспроводные, так и проводные), речь (например, телефон) и средства для развлечений. Большую часть домашних управляющих устройств, таких как выключатели света и бытовые приборы, могут использовать для соединения сети питания. Услуги данных могут вводиться в дом как широкополосные (например, либо цифровая абонентская линия (DSL), либо кабельный модем) и доступны в доме с помощью беспроводного, например домашней радиочастоты (HomeRF) или 802.11b, либо проводного, например домашнего сетевого оборудования телефонной линии (PNA), Cat 5, и даже силового линейного соединения. Речевой трафик может вводиться в дом либо как проводной, например Cat 3, либо как беспроводной, например сотовые телефоны, и может распределяться внутри дома с помощью проводки Cat 3. Средства для развлечений или другие графические данные могут вводиться в дом либо через спутник, либо по кабелю и обычно распределяются в доме с помощью коаксиального кабеля. IEEE 1394 и DVI также могут проявляться как цифровые межсоединения для кластеров медиа-устройств. Все эти сетевые среды и другие, которые могут проявляться в качестве стандартов протоколов, могут соединяться между собой, чтобы образовать внутреннюю сеть (интранет), которая может соединяться с внешним миром посредством Интернета. Вкратце, существует множество отличающихся источников для хранения и передачи данных, а следовательно, в перспективе, вычислительные устройства потребуют способов совместного использования данных, таких как данные, к которым обращаются или которые используют смежно с управлением цветом графического объекта(ов), или иные цветовые данные в соответствии с настоящим изобретением.

Кроме того, цвет является эффективным средством для представления множества физических и иных явлений и, независимо от того, являются ли данные данными изображения магнитного резонанса, данными ультразвукового исследования, данными графического выравнивания и т.д., цвет часто является подходящим способом представлять данные человеку для быстрого перцепционного анализа. Соответственно источник цветовых данных, как подразумевается здесь, является неограниченным и может подвергаться ряду преобразований перед тем, как рассматривать «цветовые» данные.

На Интернет обычно ссылаются как на совокупность сетей и шлюзов, которые используют комплект протоколов TCP/IP (протокол управления переносом/интерфейсная программа), которые общеизвестны в области компьютерных сетей. Интернет может быть описан как система географически распределенных удаленных компьютерных сетей, соединенных между собой компьютерами, исполняющими сетевые протоколы, которые позволяют пользователям взаимодействовать и совместно пользоваться информацией по сетям. Из-за такого широко распространенного совместного пользования информацией удаленные сети, такие как Интернет, тем самым в большинстве случаев вовлекаются в открытую систему, для которой разработчики могут конструировать программные приложения для выполнения специализированных операций или услуг практически без ограничений.

Таким образом, сетевая инфраструктура создает возможность главного компьютера (хоста) сетевых топологий, таких как клиент-сервер, одноранговых или гибридных архитектур. «Клиент» является членом класса или группы, которая использует услуги другого класса или группы, к которой он не относится. Тем самым в вычислениях клиент является процессом, т.е., грубо говоря, набором команд или задач, который запрашивает услугу, предоставляемую другой программой. Клиентский процесс использует запрошенную услугу без «знания» каких-либо подробностей работы о другой программе или услуге. В архитектуре клиент-сервер, в частности, в сетевой системе клиент обычно представляет собой компьютер, который обращается к совместно используемым сетевым ресурсам, предоставленным другим компьютером, например сервером. В примере по фиг.2А компьютеры 110а, 110b и т.д. могут считаться клиентами, компьютер 10а, 10b и т.д. может считаться сервером, где сервер 10а, 10b и т.д. поддерживает данные, которые затем копируются в клиентских компьютерах 110а, 110b и т.д.

Сервер обычно является удаленной компьютерной системой, доступной по удаленной сети, такой как Интернет. Клиентский процесс может активироваться в первой компьютерной системе, а серверный процесс может активироваться во второй компьютерной системе, осуществляющих связь друг с другом по среде передачи данных, тем самым обеспечивая распределенные функциональные возможности и позволяя множеству клиентов получать выгоды от способностей сервера собирать информацию.

Клиент и сервер осуществляют связь друг с другом, используя функциональные возможности, предоставляемые уровнем протокола. К примеру, гипертекстовый транспортный протокол (ГТТП) (НТТР) является общим протоколом, который используется в связи с всемирной паутиной (WWW). Как правило, компьютерный сетевой адрес, такой как унифицированный указатель ресурсов (УУР) (URL), или адрес межсетевого протокола (IP) используется, чтобы идентифицировать серверный или клиентский компьютеры друг для друга. Сетевой адрес можно называть адресом УУР. Например, связь может обеспечиваться по среде передачи данных. В частности, клиент и сервер могут соединяться друг с другом через соединения TCP/IP для связи с высокой пропускной способностью.

Таким образом, фиг.2А иллюстрирует примерную сетевую или распределенную среду с сервером, осуществляющим связь с клиентскими компьютерами через сеть/шину, в каковой среде может применяться настоящее изобретение. Подробнее, серверы 10а, 10b и т.д. соединяются друг с другом через сеть/шину 14, которая может быть локальной сетью, глобальной сетью, корпоративной сетью, Интернетом и т.п. с несколькими клиентскими или удаленными вычислительными устройствами 110а, 110b, 110c, 110d, 110е и т.д., такими как портативный компьютер, карманный компьютер, тонкий клиент, сетевое приложение или иным устройством, таким как видеомагнитофон (VCR), телевизор, печь, светильник, нагреватель и т.п. в соответствии с настоящим изобретением. Тем самым подразумевается, что настоящее изобретение можно применить к любому вычислительному устройству, в связи с которым желательно обрабатывать или отображать графический объект(ы) или любые другие цветовые данные.

В сетевой среде, в которой сеть/шина 14 передачи данных является Интернетом, к примеру, серверы 10а, 10b и т.д. могут быть веб-серверами, с которыми клиенты 110а, 110b, 110c, 110d, 110е и т.д. осуществляют связь посредством любого числа известных протоколов, таких как НТТР. Серверы 10а, 10b и т.д. тоже могут обслуживать клиентов 110а, 110b, 110c, 110d, 110е и т.д., что может быть характеристикой распределенной вычислительной среды. Связи могут быть проводными или беспроводными, как удобнее. Клиентские устройства 110а, 110b, 110c, 110d, 110е и т.д. могут или не могут осуществлять связь по сети/шине 14 связи и могут иметь связанные с ними независимые связи. Например, в случае телевизора или видеомагнитофона может быть или не быть сетевой аспект для управления им. Каждый клиентский компьютер 110а, 110b, 110c, 110d, 110е и т.д. и серверный компьютер 10а, 10b и т.д. может быть снабжен разными прикладными программными модулями или объектами 135 и со связями или доступом к различным типам элементов или объектов хранения, в которых могут сохраняться файлы или в которые можно загрузить или переместить части файлов. Любой компьютер 10а, 10b, 110а, 110b и т.д. может отвечать за поддержание и обновление базы 20 данных или иного элемента хранения в соответствии с настоящим изобретением, такой как база или память 20 данных для сохранения цветового объекта(ов) или данных, обработанных в соответствии с изобретением. Таким образом, настоящее изобретение можно использовать в компьютерной сетевой среде, имеющей клиентские компьютеры 110а, 110b и т.д., которые могут обращаться и взаимодействовать с компьютерной сетью/шиной 14, и серверные компьютеры 110а, 110b и т.д., которые могут взаимодействовать с клиентскими компьютерами 110а, 110b и т.д. и другими подобными устройствами, и базы 20 данных.

Примерное вычислительное устройство

Фиг.2В и последующее обсуждение представляют краткое общее описание подходящей вычислительной среды, в которой может быть реализовано изобретение. Следует иметь ввиду, однако, что карманные, портативные и другие вычислительные устройства и вычислительные объекты всех видов могут быть использованы в связи с настоящим изобретением, как описано выше. Таким образом, хотя ниже описывается универсальный компьютер, это отнюдь не единственный пример, и настоящее изобретение может быть реализовано с другими вычислительными устройствами, такими как тонкий клиент с возможностью сетевой/шинной совместной работы и взаимодействия. Таким образом, настоящее изобретение может быть реализовано в среде сетевых услуг, выполняемых под управлением главной программы, с использованием малых или минимальных клиентских ресурсов, например сетевой среды, в которой клиентское устройство служит всего лишь как интерфейс с сетью/шиной, такое как объект, помещенный в приложение, или с другими вычислительными устройствами и объектами. В сущности, что угодно, где могут сохраняться или откуда могут извлекаться данные, является желательной или пригодной средой для осуществления способов управления цветом согласно изобретению.

Хотя это и не требуется, изобретение может быть реализовано посредством операционной системы для использования разработчиком услуг для устройства или объекта и/или включено в прикладное программное обеспечение, которое работает в связи со способами управления цветом согласно изобретению. Программное обеспечение может быть описано в общем контексте исполняемых компьютером команд, таких как программные модули, исполняемые одним или более компьютерами, такими как клиентские рабочие станции, серверы или другие устройства. В общем, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные типы абстрактных данных. Как правило, функциональные возможности программных модулей могут комбинироваться или распределяться, как это желательно в различных вариантах осуществления. Кроме того, специалистам должно быть понятно, что изобретение может работать с другими конфигурациями компьютерных систем. Другие общеизвестные вычислительные системы, среды и/или конфигурации, которые могут быть пригодны для использования с настоящим изобретением, включают в себя - но ограничиваются ими - персональные компьютеры (ПК) (РС), банковские автоматы, серверные компьютеры, карманные или компактные устройства, многопроцессорные системы, основанные на микропроцессорах системы, программируемую пользовательскую электронику, сетевые ПК, бытовую технику, светильники, элементы контроля за окружающей средой, мини-компьютеры, большие ЭВМ (мейнфреймы) и т.п. Изобретение можно также реализовать в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть/шину передачи данных или иную среду передачи данных. В распределенной вычислительной системе программные модули могут располагаться как в локальных, так и в удаленных компьютерных запоминающих носителях, в том числе в устройствах памяти/хранения, а клиентские узлы могут, в свою очередь, вести себя как серверные узлы.

Фиг.2В, таким образом, иллюстрирует пример подходящей среды 100 вычислительной системы, в которой может быть реализовано это изобретение, хотя, как пояснено выше, среда 100 вычислительной системы является всего лишь одним примером подходящей вычислительной среды и не предназначена для ограничения на объем или функциональные возможности изобретения. Не следует и интерпретировать вычислительную среду 100 как имеющую какую бы то ни было зависимость или требование, относящиеся к любому компоненту или комбинации компонентов, проиллюстрированных в примерной операционной среде 100.

На фиг.2В примерная система для реализации изобретения включает в себя универсальное вычислительное устройство в виде компьютера 110. Компоненты компьютера 110 могут включать в себя - но не ограничиваться ими - блок 120 обработки, системную память 130 и системную шину 121, которая связывает разные системные компоненты, в том числе системную память с блоком 120 обработки. Системная шина 121 может быть любой из нескольких типов шинных структур, в том числе контроллером шины или памяти, периферийной шиной и локальной шиной, при помощи любой из множества шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину промышленной стандартной архитектуры (ISA), шину микроканальной архитектуры (МСА), шину усовершенствованного ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину интерфейса периферийных устройств (PCI) (известную так же, как шина расширения).

Компьютер 110, как правило, включает в себя множество машиночитаемых носителей. Машиночитаемый носитель может быть любым доступным носителем, к которому может обращаться компьютер 110, и включает в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители. В качестве примера, а не ограничения, машиночитаемый носитель может содержать компьютерную запоминающую среду и среду связи. Компьютерная запоминающая среда включает в себя как энергозависимую, так и энергонезависимую съемную и несъемную среду, воплощенную в любом способе или технологии для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули и другие данные. Компьютерная запоминающая среда включает в себя - но не ограничивается ими - оперативно запоминающее устройство (ОЗУ) (RAM), постоянно запоминающее устройство (ПЗУ) (ROM), электрически стираемое программируемое постоянно запоминающее устройство (ЭСППЗУ) (EEPROM), технологию флэш-памяти или другой памяти, постоянно запоминающее устройство на компакт-диске (ПЗУ-КД) (CDROM), многоцелевой цифровой диск (МЦД) (DVD) или любую другую память на оптическом диске, магнитные кассеты, магнитную ленту, память на магнитном диске или другие устройства магнитной памяти, либо любой иной носитель, который можно использовать для хранения желательной информации и к которому может обращаться компьютер 110. Среда связи, как правило, воплощает в себе машиночитаемые команды, структуры данных, программные модули или иные данные в модулированном данными сигнале, таком как несущее колебание или другой транспортный механизм, и включает в себя любую среду доставки информации. Выражение «модулированный данными сигнал» означает сигнал, который имеет одну или более характеристик, установленных или измененных так, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная, инфракрасная и другие беспроводные среды. Комбинации любых из вышеуказанных сред следует также включить в объем машиночитаемых сред.

Системная память 130 включает в себя машиночитаемую среду в виде энергозависимой и/или энергонезависимой памяти, такой как постоянно запоминающее устройство (ПЗУ) 131 и оперативно запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода-вывода (БСВВ) (BIOS), содержащая базовые подпрограммы, которые помогают переносить информацию между элементами внутри компьютера 110, как во время запуска, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые сразу же доступны для работы и/или используются в данный момент в блоке 120 обработки. В качестве примера, а не ограничения, фиг.2В иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.

Компьютер 110 может также включать в себя другие съемные/несъемные энергозависимые/энергонезависимые компьютерные запоминающие среды. Только в качестве примера, фиг.2В иллюстрирует дисковод 141 жесткого диска, который считывает или записывает несъемный энергонезависимый магнитный носитель, дисковод 151 магнитного диска, который считывает или записывает съемный энергонезависимый магнитный диск 152, и дисковод 155 оптического диска, который считывает или записывает съемный энергонезависимый оптический диск 156, такой как ПЗУ-КД или иной оптический носитель. Другие съемные/несъемные энергозависимые/энергонезависимые компьютерные запоминающие среды, которые можно использовать в примерной рабочей среде, включают в себя - но не ограничиваются ими - магнитные кассеты, карты флэш-памяти, цифровые многоцелевые диски, цифровые видеоленты, твердотельные ОЗУ, твердотельные ПЗУ и т.п. Дисковод 141 жесткого диска, как правило, соединяется с системной шиной 121 через интерфейс несъемной памяти, такой как интерфейс 140, а дисковод 151 магнитного диска и дисковод 155 оптического диска, как правило, соединяются с системной шиной 121 посредством интерфейса съемной памяти, такого как интерфейс 150.

Дисководы и связанные с ними компьютерные запоминающие среды, обсуждавшиеся выше и проиллюстрированные на фиг.2В, обеспечивают хранение машиночитаемых команд, структур данных, программных модулей и других данных для компьютера 110. На фиг.2В, к примеру, дисковод 141 жесткого диска иллюстрируется как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Отметим, что эти компоненты могут быть либо одними и теми же, либо отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и программным данным 147 даны другие ссылочные позиции здесь для иллюстрации того, что они, как минимум, являются разными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и координатно-указательное устройство 161, обычно называемое мышью, трэкболом или сенсорной панелью. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто соединяются с блоком 120 обработки через интерфейс 160 пользовательского ввода, который связан с системной шиной 121, но может подключаться и иными интерфейсными и шинными структурами, такими как параллельный порт, игровой порт или универсальная последовательная шина (УПШ) (USB). Графический интерфейс 182, такой как Northbridge, может также подключаться к системной шине 121. Northbridge является самым дешевым интерфейсом, который осуществляет связь с блоком обработки или главным блоком 120 обработки и принимает на себя ответственность за осуществление связи ускоренного графического порта (УГП) (AGP). Один или более блоков 184 графической обработки (БГО) (GPU) могут осуществлять связь с графическим интерфейсом 182. С этой точки зрения, БГО 184 в общем случае включают в себя встроенную память, такую как регистровая память, и БГО 184 осуществляют связь с видеопамятью 186. БГО 184, однако, является не единственным примером сопроцессора, и, таким образом, множество сопроцессорных устройств могут быть включены в компьютер 110. Монитор 191 или другой тип отображающего устройства также соединяется с системной шиной 121 посредством интерфейса, такого как видеоинтерфейс 190, который, в свою очередь, может осуществлять связь с видеопамятью 186. В дополнение к монитору 191 компьютеры могут также включать в себя другие периферийные устройства вывода, такие как громкоговорители 197 и принтер 196, которые могут соединяться через интерфейс 195 периферийных устройств вывода.

Компьютер 110 может работать в сетевой или распределенной среде, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Этот удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим сетевым узлом и, как правило, включает в себя многие или все элементы, описанные выше по отношению к компьютеру 110, хотя на фиг.2В проиллюстрировано только запоминающее устройство 181. Логические соединения, представленные на фиг.2В, включают в себя локальную сеть (ЛС) (LAN) 171 и глобальную сеть (ГС) (WAN) 173, но могут также включать в себя и другие сети/шины. Такие сетевые среды распространены в домах, офисах, компьютерных сетях предприятий, корпоративных сетях и Интернете.

При использовании в сетевой среде ЛС компьютер 110 соединяется с ЛС 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде ГС компьютер 110 обычно включает в себя модем 172 или другое средство для установления связи по ГС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может соединяться с системной шиной 121 посредством интерфейса 160 пользовательского ввода или другим подходящим механизмом. В сетевой среде программные модули, показанные отнесенными к компьютеру 110, или их части могут храниться в удаленном запоминающем устройстве. В качестве примера, а не ограничения, фиг.2В иллюстрирует удаленные прикладные программы 185 как находящиеся в запоминающем устройстве 181. Понятно, что показанные сетевые соединения являются примерными, и что можно использовать другие средства установления линии связи между компьютерами.

Примерные распределенные вычислительные оболочки или архитектуры

Различные распределенные вычислительные оболочки разработаны и разрабатываются в свете сближения персональных компьютеров и Интернета. Индивидуальные, а равным образом и деловые пользователи снабжены интерфейсом, обеспечивающим одновременно как взаимодействие, так и доступ к Интернету, для приложений и вычислительных устройств, делая вычислительные действия во все возрастающей мере ориентированными на веб-браузеры и сети.

К примеру, платформа MICROSOFT®'s.NET включает в себя серверы, услуги стандартных блоков, такие как программное обеспечение хранения данных и загружаемых устройств на базе всемирной паутины. Вообще говоря, платформа.NET обеспечивает (1) возможность совместной работы всего диапазона вычислительных устройств и автоматического обновления и синхронизации пользовательской информации, (2) увеличенные интерактивные возможности для веб-сайтов, обеспеченные более широким использованием XML, а не HTML, (3) услуги в реальном времени, которые отличаются ориентированным на пользователя доступом и доставкой продуктов и услуг пользователю из центрального начального пункта для управления множеством приложений, таких как электронная почта, к примеру, или программное обеспечение, такое как Office.NET, (4) централизованное хранение данных, что увеличивает эффективность и легкость доступа к информации, равно как и синхронизацию информации среди пользователей и устройств, (5) возможность объединения различных сред передачи данных, таких как электронная почта, факсы и телефоны, (6) для разработчиков - способность создавать повторно используемые модули для повышения производительности и снижения числа программных ошибок, и (7) многие другие характеристики межплатформенной интеграции.

Хотя примерные варианты осуществления описываются здесь в связи с программным обеспечением, находящимся в вычислительном устройстве, одна или более частей изобретения могут быть также реализованы посредством операционной системы, интерфейса программирования приложений (ИПП) (API) или объектом-«посредником» между сопроцессором и запрашивающим объектом, так что услуги по управлению цветом могут выполняться посредством всех языков или услуг.NET, поддерживаться ими или быть доступными через них, равно как и других распределенных вычислительных оболочек.

Управление цветом в Х11

В связи с существующим уровнем техники система X11R6 управления цветом представляет собой графический протокол, который посредством операций, включающих в себя адаптацию белой точки, отражение не входящих в цветовую гамму цветов, матричные преобразования и одномерные ПСТ, поддерживает функции управления цветом, которые могут заменяться, и поддерживает перевод содержимого не зависящего от устройства приложения в зависящие от устройства цветовые значения.

Архитектура X11R6 имеет два решения по управлению цветом. Первое решение представляет собой простую матрицу 3×3 и трехмерные ПСТ, которые обычно используются для характеризации простых устройств отображения, таких как ЭЛТ. Второе представляет собой Xcms, которая состоит первоначально из преобразования белой точки и сжатия цветовой гаммы. Начиная с введения Xcms, управление цветом усовершенствовалось, и было найдено, что решения, ограниченные этими двумя методами, неадекватны потому что большинство из них предполагают исходные и конечные устройства, где Х11 лишь поддерживает конечное устройство и предполагает, что источник является не зависящим от устройства. К счастью, Xcms обеспечивает более гибкие варианты реализации в пределах этой архитектуры.

CIELAB является системой, принятой CIE (Международным комитетом по цветоведению) в 1976 году в качестве модели, которая лучше показывала однородное цветовое пространство в своих значениях, нежели предыдущая CIELUV в терминах представления системы человеческого зрения (СЧЗ) (HVS). CIELAB является конкурентной цветовой системой, основанной на более ранней (1942 г.) системе Ричарда Хантера, названной L, a, b. Цветовой контраст коррелирует с открытиями в середине 1960-х годов, что где-то между зрительным нервом и мозгом стимулы цветовой сетчатки глаза переводятся в различия между светлым и темным, красным и зеленым и синим и желтым. CIELAB указывает эти значения тремя осями: L*, a* и b*. Полным наименованием является Пространство 1976 CIE L*a*b*.

Центральная вертикальная ось представляет освещенность, обозначенную L*, а значения освещенности лежат от 0 (черное) до 100 (белое). Цветовые оси основаны на том факте, что цвет не может быть одновременно красным и зеленым либо одновременно синим и желтым, потому что эти цвета противоположны друг другу. На каждой оси значения меняются от положительных до отрицательных. На оси a-a' положительные значения указывают количества красного, тогда как отрицательные значения указывают количества зеленого. На оси b-b' положительным является желтый, а отрицательным - синий. Для обеих осей ноль есть нейтральный серый. Структура CIEXYZ данных является структурой, используемой в Х11, которая содержит координаты x, y и z конкретного цвета в конкретном цветовом пространстве.

Пример того, как работает X11R5, иллюстрируется на фиг.3А, в которой принимаются поверхности непосредственного цвета или истинного цвета в Х11. Из не зависящих от устройства значений RGB с помощью матрицы 300 3×3 получаются зависящие от отображающего устройства линейные по отношению к яркости значения RGB. Затем зависящие от отображающего устройства нелинейные значения RGB получаются с помощью трех одномерных ПСТ 310 для данного значения гамма (системы и способы обеспечения управления цветом, патент № 2337392 ), например системы и способы обеспечения управления цветом, патент № 2337392 =1,0. Эти зависящие от устройства значения воспроизводятся затем посредством отображающего устройства 320. С этой точки зрения, устройство 320 обеспечивает матрицу 3×3 и одномерные ПСТ, специфичные для этого отображающего устройства 320.

Более конкретно, контекст преобразования цветового пространства Х (ХССС) поддерживает два характерных указателя на функции: toCIEXYZ (кCIEXYZ) и fromCIEXYZ (изCIEXYZ). Пример того, как работает X11R6, иллюстрируется на фиг.3В. Из не зависящих от устройства цветовых значений, например CIELAB, CIELUV, CIEYxy, CIEXYZ, TekHVC, cmdPad, значения CIEXYZ получаются посредством стандартных механизмов преобразования цветового пространства в библиотеке Х11, Xlib. Затем значения CIEXYZ белой точки устройства получаются с помощью компонента 330 преобразования белой точки Xcms. Затем значения CIEXYZ цветовой гаммы устройства получаются с помощью компонента 340 преобразования сжатия цветовой гаммы Xcms. Зависящие от устройства значения RGB получаются затем либо через механизмы ZX11R5, частично обсуждавшиеся выше, либо с помощью механизма изCIEXYZ из ХССС.

Таким образом, как иллюстрируется на фиг.4А, управление цветом в платформе Х совершается посредством функций кCIEXYZ и изCIEXYZ, которые действуют, чтобы выработать структуры данных Х11 или преобразовать структуры данных Х11 в зависящие от устройства значения.

Работа стандартного модуля управления цветом (МУЦ) (СММ) WINDOWS® иллюстрируется на фиг.4В. Из любого из множества пространств зависящих от исходного устройства цветов и профилей устройств МУЦ может преобразовать в пространство зависящих от устройства цветов, например МЦК, sRGB и scRGB, посредством стандартных функций МУЦ. Затем с помощью профиля конечного устройства значения пространства независимых цветов преобразуются в цветовое пространство, подходящее для конечного устройства.

Как иллюстрируется на фиг.4С, изобретение обеспечивает механизм, который усиливает функции кCIEXYZ и изCIEXYZ из ХССС поддержкой, предоставляемой стандартными профилями МУЦ и способами управления цветом.

Чтобы достичь этого, во-первых, либо явно с помощью пользовательского интерфейса, либо неявно через связи устройства определяют соответствующие исходные и конечные профили. Из этих двух профилей устройств при использовании стандартных функций МУЦ WINDOWS® можно создать профиль связи устройств, который осуществляет преобразование непосредственно из исходного устройства в конечное устройство, что учитывает окончательное отношение разностей цветовых характеристик исходного устройства и конечного устройства. Архитектура Х11 вносится в процесс, чтобы реализовать прохождение значений от исходного устройства к конечному устройству, обеспечивая указание указателем функции изCIEXYZ из Х11 указывать на стандартную функцию преобразования цветов на основе МУЦ, которая преобразует исходные цвета или изображения в конечные с помощью профиля связи устройств. Поддержка стандартного МУЦ может переноситься на Х11 из интерфейса сопряжения цветов изображений (СЦИ) (ICM) WINDOWS® или других интерфейсов систем управления цветом МУЦ.

Фиг.5А-5С иллюстрируют несколько примеров, соответствующих изобретению. В этих примерах белая точка, сжатие гаммы цветов и другие функции для простоты описания по умолчанию установлены на нулевые операции.

На фиг.5А на исходном устройстве представлен цвет RGB или sRGB исходного устройства. После вычисления профиля связи устройств между исходным устройством и конечным устройством изобретение функционирует, обеспечивая имитацию системы Х в предположении, что RGB исходного устройства есть CIEXYZ. Затем не зависящий от устройства конечный цвет получается с помощью функции изCIEXYZ, которая включает в качестве аргумента профиль связи устройств.

На фиг.5В на исходном устройстве представлен цвет CMYK исходного устройства. После вычисления профиля связи устройств между исходным устройством и конечным устройством изобретение обеспечивает имитацию системы Х в предположении, что RGB исходного устройства является типом cmsPad XcmsColor. Затем не зависящий от устройства конечный цвет получается с помощью функции изCIEXYZ, которая включает в качестве аргумента профиль связи устройств.

На фиг.5С на исходном устройстве представлен цвет scRGB исходного устройства. После вычисления профиля связи устройств между исходным устройством и конечным устройством зависящий от устройства конечный цвет получается с помощью функции изCIEXYZ, которая содержит профиль связи устройств. Альтернативно, расширенный зависящий от устройства конечный цвет получается с помощью функции изCIEXYZ, которая содержит профиль связи устройств. В таком преобразовании обеспечивается компенсация того факта, что XcmsColors представляют собой беззнаковые усечения, а scRGB являются знаковыми объектами с плавающей запятой. Как дополнительный вариант, тональное сжатие может раздельно достигаться с помощью дополнительных одномерных ПСТ.

Другие решения по управлению цветом, такие как RIMM RGB (EK/PIMA), ROMM RGB (EK/PIMA), esRGB (HP/PIMA), могут поддерживаться с помощью вышеприведенного примера по фиг.5С. В каждом из приведенных выше примеров изобретения функции Х изCIEXYZ и кCIEXYZ имитируются или подставляются в принимаемые данные из современных систем управления цветом.

Что касается более подробного рассмотрения имитации ИПП, здесь предлагаются две неограничивающих альтернативы. Во-первых, при переходе от зависящего от устройства прикладного содержимого к зависящим от устройства цветовым значениям изобретение обеспечивает имитацию функции изCIEXYZ, чтобы осуществить действительное преобразование из зависящих от устройства цветовых значений в CIEXYZ, а затем использовать матрицу 3×3 и одномерные ПСТ, чтобы характеризовать конкретное устройство. Чтобы осуществить преобразование из зависящих от устройства (dd) значений в не зависящие от устройства (di) значения, этот процесс инвертируется, и имитируется уже функция МУЦ кCIEXYZ.

Альтернативно, при переходе от зависящего от устройства прикладного содержимого к зависящим от устройства цветовым значениям изобретение обеспечивает имитацию функции МУЦ изCIEXYZ, чтобы осуществить действительное преобразование из зависящих от устройства цветовых значений в CIEXYZ, а затем устанавливает матрицу 3×3 на матрицу тождественности и устанавливает одномерные ПСТ на ПСТ тождественности, чтобы поддерживать сложные конечные устройства, которые не могут быть охарактеризованы матрицами и ПСТ. Чтобы осуществить преобразование из зависящих от устройства (dd) значений в не зависящие от устройства (di) значения, этот процесс инвертируется, и имитируется уже функция МУЦ кCIEXYZ.

Используемые здесь выражения «имитировать изCIEXYZ», «имитировать кCIEXYZ» означают заменить указатель на предоставляемую по умолчанию протокольную функцию заказной функцией, которая действительно вызывает совместимый с МЦК модуль управления цветом и преобразует цвета из dd в di или из di в dd.

Как упомянуто выше, хотя примерные варианты осуществления настоящего изобретения описаны в связи с различными вычислительными устройствами и сетевыми архитектурами, основополагающие принципы могут применяться к любым вычислительным устройству или системе, в которых желательно управлять цветом. Таким образом, методы обеспечения улучшенной обработки сигналов в соответствии с настоящим изобретением могут применяться ко множеству приложений и устройств. Например, алгоритм(ы), соответствующие изобретению, могут применяться к операционной системе вычислительного устройства, предусмотренной в качестве отдельного объекта в устройстве, в качестве другого объекта, в качестве загружаемого с сервера объекта, в качестве «посредника» между устройством или объектом и сетью, в качестве распределенного объекта и т.д., хотя примерные языки программирования, названия и примеры выбраны здесь как представители различных выборов, эти языки, названия и примеры не предназначены для ограничения. Специалисту должно быть понятно, что имеется множество путей обеспечить объектный код, который достигает того же самого, подобного или эквивалентного управления цветом, достигнутого в изобретении.

Вышеописанные методы могут быть реализованы в связи с аппаратным или программным обеспечением или, если удобно, с комбинацией их обоих. Таким образом, способы и устройства по настоящему изобретению либо их определенные аспекты или части могут иметь вид программного кода (т.е. команд), воплощенных в материальных средах, таких как гибкие дискеты, ПЗУ-КД, накопители жестких дисков или любой иной машиночитаемый носитель, при этом когда программный код загружается в машину, такую как компьютер, и исполняется ею, эта машина становится устройством для осуществления изобретения. В случае исполнения программного кода в программируемых компьютерах вычислительное устройство будет в общем случае включать в себя процессор, считываемую процессором запоминающую среду (в том числе энергозависимые и энергонезависимые элементы памяти и/или хранения), по меньшей мере, одно устройство ввода и, по меньшей мере, одно устройство вывода. Одна или более программ, которые могут использовать услуги по обработке сигналов по настоящему изобретению, например, через использование ИПП обработки данных или тому подобное, предпочтительно реализуются на высокоуровневом процедурно- или объектно-ориентированном языке программирования, чтобы осуществлять связь с компьютерной системой. Однако программа(ы) может быть реализована и в ассемблере или на машинном языке, если это желательно. В любом случае язык может быть компилированным или интерпретированным языком и комбинироваться с аппаратными реализациями.

Способы и устройства по настоящему изобретению могут также осуществляться посредством передач данных, реализованных в виде программного кода, который передается по некоторой среде передачи, такой как электрическая проводка или кабели, через волоконную оптику или посредством любого иного вида передачи, при этом когда программный код принимается и загружается или исполняется в машине, такой как СППЗУ, вентильная матрица, устройство программируемой логики (УПЛ) (PLD), клиентский компьютер, видеомагнитофон или тому подобное, либо в приемной машине, имеющей возможности обработки сигналов, как описано в приведенных для примера вариантах осуществления, эта машина становится устройством для осуществления изобретения. При реализации на универсальном компьютере программный код объединяется с процессором для получения уникального устройства, которое функционирует для реализации функциональных возможностей настоящего изобретения. В дополнение к этому, любые методы хранения, используемые в связи с настоящим изобретением, могут в неизменном виде быть комбинацией аппаратного и программного обеспечения.

Хотя настоящее изобретение описано в связи с предпочтительными вариантами осуществление, как показано на чертежах, следует иметь ввиду, что могут использоваться и другие подобные варианты осуществления либо в описанном варианте осуществления могут быть сделаны модификации и добавления для выполнения той же самой функции по настоящему изобретению без отклонения от него. К примеру, хотя приведенные для примера сетевые среды по изобретению описываются в контексте сетевой среды, такой как одноранговая сетевая среда, специалисту должно быть понятно, что настоящее изобретение не ограничивается этим, и что способы, как описано в настоящей заявке, могут применяться к любому вычислительному устройству или среде, такому как игровая консоль, карманный компьютер, портативный компьютер и т.д., проводному или беспроводному и могут применяться к любому числу таких вычислительных устройств, соединенных сетью связи и взаимодействующих по этой сети. Далее следует подчеркнуть, что в объем изобретения входят разнообразные компьютерные платформы, включая операционные системы портативных устройств и другие специфичные для приложений операционные системы, в особенности с учетом того, как число беспроводных сетевых устройств продолжает расти. Более того, настоящее изобретение может быть реализовано во множестве микросхем или устройств обработки, а хранение может аналогично выполняться на множестве устройств. Поэтому настоящее изобретение не следует ограничивать любым единственным вариантом осуществления, но следует истолковывать в широте и объеме согласно приложенной формуле изобретения.

Наверх